外置及共享硬盤的高速緩存
外置及共享硬盤的高速緩存??
??
???
??? 緩存(Cache memory)是硬盤控制器上的一塊內存芯片,具有極快的存取速度,它是硬盤內部存儲和外界接口之間的緩沖器。由于硬盤的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關系到硬盤的傳輸速度的重要因素,能夠大幅度地提高硬盤整體性能。當硬盤存取零碎數據時需要不斷地在硬盤與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。
硬盤的緩存主要起三種作用:一是預讀取。當硬盤受到CPU指令控制開始讀取數據時,硬盤上的控制芯片會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由于硬盤上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬盤則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由于緩存的速度遠遠高于磁頭讀寫的速度,所以能夠達到明顯改善性能的目的;二是對寫入動作進行緩存。當硬盤接到寫入數據的指令之后,并不會馬上將數據寫入到盤片上,而是先暫時存儲在緩存里,然后發送一個“數據已寫入”的信號給系統,這時系統就會認為數據已經寫入,并繼續執行下面的工作,而硬盤則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到盤片上。雖然對于寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那么這些數據就會丟失。對于這個問題,硬盤廠商們自然也有解決辦法:掉電時,磁頭會借助慣性將緩存中的數據寫入零磁道以外的暫存區域,等到下次啟動時再將這些數據寫入目的地;第三個作用就是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬盤內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。
緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬盤緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。2MB和8MB緩存是現今主流硬盤所采用,而在服務器或特殊應用領域中還有緩存容量更大的產品,甚至達到了16MB、64MB等。
大容量的緩存雖然可以在硬盤進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬盤的訪問速度,但并不意味著緩存越大就越出眾。緩存的應用存在一個算法的問題,即便緩存容量很大,而沒有一個高效率的算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的算法,否則性能會大大折扣,從技術角度上說,高容量緩存的算法是直接影響到硬盤性能發揮的重要因素。更大容量緩存是未來硬盤發展的必然趨勢。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
( 發表人:admin )