We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Hardware

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is Native Command Queuing?

M. McGee
By
Updated: May 17, 2024
Views: 6,521
Share

Native command queuing is a system that allows serial advanced technology attachment (SATA) hard drives to govern their own internal queue of read and write requests. In systems that don’t use native command queuing, the drive executes commands in the order they were received from the main system. Native command queuing allows the drive to reorder commands in order to make the retrieval process more efficient. This speeds up information recovery time and decreases physical wear on the drive.

The data on a hard drive is stored on paper-thin magnetic sheets called platters. Each drive has several platters, all containing information. To read and write on the platter, hard drives use an arm similar to the one on a record player. As the platter spins, the arm moves back and forth over the platter sections containing the data.

When observed by a human, the data on a hard drive appears totally random. Two related pieces of information may be widely spaced on the drive. To read both pieces, the arm finds the first and then moves in position to locate the second. If the drive receives one read or write command after another, the arm will need to constantly move in order to line up with the data. If each of the commands requires the arm to move to the opposite side of the same platter, a great deal of time is lost in the back-and-forth process.

By using native command queuing, the drive may choose the order in which it executes a given command set. In essence, it performs as many operations in one area as possible, then moves to a different area. This means that the drive has reduced seek time and waiting between commands. As an added side benefit, the drive spends less time making unnecessary motions. This will reduce the wear on the drive by a small amount.

Advanced systems may take advantage of another benefit of native command queuing. When a processor is busy and unable to accept commands, the drive can push all of the write requests to the front of the queue. Since the processor is too busy to accept read commands, the drive may choose not to resolve any. This may result in a huge performance improvement, especially in systems with multiple drives and multiple cores.

This technology is used on some forms of solid-state drives as well. These drives don’t use the arm-and-platter system of standard drives, so they generally work much faster. Since they are so fast, they will often work faster than the rest of the system and end up bottlenecked. By using native command queuing, they can reorder their commands to send reads whenever possible and write when the system falls behind.

Share
WiseGeek is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
M. McGee
By M. McGee
Mark McGee is a skilled writer and communicator who excels in crafting content that resonates with diverse audiences. With a background in communication-related fields, he brings strong organizational and interpersonal skills to his writing, ensuring that his work is both informative and engaging.

Editors' Picks

Discussion Comments
M. McGee
M. McGee
Mark McGee is a skilled writer and communicator who excels in crafting content that resonates with diverse audiences....
Learn more
Share
https://www.wisegeek.net/what-is-native-command-queuing.htm
Copy this link
WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.