Taking Serial ATA to the Next Level With Native Command Queuing
Seagate Technology continues to innovate SATA drives with enhanced performance and storage management capabilities. Seagate is the first vendor to demonstrate NCQ drives. Native Command Queuing (NCQ) is a command protocol for SATA that makes it possible to have several outstanding commands within a drive at the same time.
In simple terms, NCQ functioning is somewhat similar to an elevator. The elevator travels sequentially from floor to floor and lets people on and off. It does not follow the sequence in which users push the floor request buttons, because that would mean an excessive mechanical load and much longer times for waiting or riding.
A SATA drive that supports NCQ has an internal queue in which commands can be dynamically rescheduled and reordered. NCQ includes a tracking mechanism for both outstanding and completed portions of the drive workload. In addition, NCQ can let the host issue additional commands to the drive while the drive looks for another command.
NCQ technology papers explain NCQ technology
NCQ motherboards and controller cards from leading providers
Performance and Endurance
NCQ generates measurable benefits, especially in the area of performance, producing vastly improved performance with highly transactional workloads. The performance benefit can amount to an addition of as much as a 10K SATA drive's performance. NCQ is complementary to several performance-boosting features that are part of the SATA protocol. Additionally, as a result of its command and data handling, NCQ reduces the mechanical wear and tear on drives and improves their endurance.
How Does NCQ Work?
NCQ comprises three main components of functionality. Within each of them, Seagate includes capabilities that increase performance and durability of SATA drives.
Command queue building in the drive: A SATA NCQ drive can either queue commands or execute them immediately. The drive knows what protocol to apply to different commands. It assigns a unique tag to commands.
Transferring data for each command: NCQ lets the drive set up a direct memory access (DMA) operation for a data transfer without host software intervention. The drive controls the DMA engine, selects transfers to minimize latencies, and optimizes command ordering.
Returning status for completed commands: The drive returns a status for completed commands. Command status is race-free, which means a status for any command can be communicated at any time, without a handshake between device and host. Host and drive use a 32-bit register to communicate about outstanding commands, and keep this register always accurate.