NCQ stands for Native Command Queuing, a series of commands programmed to boost the performance of storage devices by optimizing the read and write executions. The NCQ re-organizes the random read and write command sequence within the storage device into a
NCQ stands for Native Command Queuing, a series of commands programmed to boost the performance of storage devices by optimizing the read and write executions. The NCQ re-organizes the random read and write command sequence within the storage device into a series of sequential commands, which improves the storage device’s performance up to 30%. NCQ also utilizes all available communication channels within the storage device to perform multiple commands simultaneously.
For instance, if each random command takes two units of the process time, without NCQ, 32 random commands take 64 units of the process time. With NCQ, if each sequential command takes one unit of the process time, 32 random commands can be re-organized into 50% of random commands (32 units of the process time) and 50% of sequential commands (16 units of the process time), which only take 48 units of process time and save up to 25% of the process time.
Data in flash memory or a solid-state drive (SSD), are written in units termed “pages” and data are deleted in larger units termed “blocks”, which are formed by multiple pages. If the system decides to erase some of the pages in one block, all of the other pages in the same block must be read and written onto a new block. The old block is then erased and labeled “available” for new data. This process is termed “garbage collection”. Garbage collection can be triggered when the system writes onto a block containing data that is supposed to be deleted. As a result, the multiple read and write executions of garbage collection gradually hinder the long-term performance of SSDs.
The trim command allows the SSD to perform two functions: a) finding a