什么是硬盤的NCQ
什么是硬盤的NCQ
NCQ(Native Command Queuing)是SATA規(guī)范支持的一種新的功能,它是一種使硬盤內部優(yōu)化工作負荷執(zhí)行順序,通過對內部隊列中的命令進行重新排序實現智能數據管理,改善硬盤因機械部件而受到的各種性能制約,以發(fā)揮硬盤最高的效率、使延遲最小化。
我們的硬盤是怎么寫數據的?其過程很簡單,從磁碟的最外圈開始往內圈寫,一個圈叫做一個磁道track,所有碟(platter,即平時說的單碟),面(一個碟可能有兩個面)上同一磁道組成一個柱面(cylinder),寫硬盤就是按照從外到里一點點順序寫的??上覀冏x取的時候肯定不是按照這樣的順序的,我們一般是隨機的讀取分散在盤片上的數據,我們需要在快速轉動的同時準確定位,可以想象這是多么不容易。
暗紅色的區(qū)域表示磁道,鮮紅色的區(qū)域表示簇,而黃色區(qū)域表示磁盤上的扇區(qū)。
要精確定位,我們會遇到兩個敵人:尋道延遲和轉動延遲。
尋道延遲是磁頭找到磁道的時間。我們可以想象一下磁頭反復地在一個個同心圓之間伸長,縮短,其延遲就是尋道延遲,或者在硬盤技術參數中稱為尋道時間。
我們可以將硬盤的存儲數據的邏輯塊地址(LBA,Logical Block Address)當作是一個地區(qū)內的不同的房子。如果要給這些房子送信,先送完第一間房子,然后再跑到2公里外的另一個房子,后再跑到第一個房子的鄰居送信,最后把信送到附近不遠的另一個房子,這是多么“愚蠢”的做法!顯然,這浪費了大量的時間。下面的兩個如分別表示了沒有采用NCQ技術(non-NCQ)和采用了NCQ技術的兩種不同的情況。
?
第一個圖為不支持NCQ技術的硬盤的工作情況。和前面提到的送信的“愚蠢”做法的一樣的,但是在剛開始的硬盤中確實是采用了這種做法
第二個圖是支持NCQ技術的硬盤的工作情況。這才是送信的最佳方式,它極大的提高了工作效率,節(jié)省了很多時間。
支持NCQ技術的硬盤對接收到的指令按照他們訪問的地址的距離進行了重排列,這樣對硬盤機械動作的執(zhí)行過程實施智能化的內部管理,大大地提高整個工作流程的效率:即取出隊列中的命令,然后重新排序,以便有效地獲取和發(fā)送主機請求的數據,在硬盤執(zhí)行某一命令的同時,隊列中可以加入新的命令并排在等待執(zhí)行的作業(yè)中。
轉動延遲是找到準確磁道后,那個正確的地址所在位置轉到磁頭下面的時間。這里我們可以想象轉得越快,這個時間就越短,對5400轉硬盤,轉一圈要11.1毫秒,7200轉要8.3毫秒,而萬轉硬盤只要6毫秒。
要減少轉動延遲,一般的辦法是提高轉速,但是我們知道提高轉速很難,否則我們不會到現在還在用7200轉的硬盤。除了這個辦法還有1.優(yōu)化排序2.亂序執(zhí)行。
兩個延遲加起來就是我們遇到的總延遲,我們希望總延遲越小越好。以前的做法是優(yōu)化排序任務從而減少尋道時間,但是后來發(fā)現追求最小尋道時間會導致轉動延遲變大,兩者相加不一定是最小的。所以提出了一種綜合考慮尋道和轉動的優(yōu)化方法,這種方法就稱為“tagged command queuing”,而在SATA 300標準中使用的特殊的優(yōu)化方法就叫做“Native Command Queuing”,就是NCQ。
非常好我支持^.^
(2) 66.7%
不好我反對
(1) 33.3%
相關閱讀:
- [電子說] 服務器硬盤通用基礎知識 2023-10-24
- [電子說] 拔掉你的硬盤,吵到我的藍牙了! 2023-10-24
- [存儲技術] 硬盤,是怎樣制造出來的? 2023-10-23
- [電子說] 服務器數據恢復-服務器多塊硬盤掉線導致上層應用崩潰的數據恢復案例 2023-10-20
- [電子說] SATA連接器的性能特點 2023-10-19
- [電子說] 虹科干貨 | Redis?Enterprise?自動分層技術:大數據集高性能解決方案 2023-10-19
- [電子說] NAND Flash合約價全面漲幅約8~13% 2023-10-17
- [存儲技術] 介紹幾款常見的存儲器及其應用 2023-10-17
( 發(fā)表人:admin )
