扇區緩衝器

扇區緩衝器

在所有的讀寫操作中都會使用扇區緩衝器來對數據進行臨時保存。扇區緩衝器減少了與主機進行的數據交換及從介質中進行數據讀寫的速度。由於扇區總是作為一個整體進行讀寫的,所以速度的減少是不可避免的。 最簡單的情況是,扇區緩衝器就是IDE控制器上RAM(即隨機存儲器)中的一個區段。

概述

在所有的讀寫操作中都會使用扇區緩衝器來對數據進行臨時保存。扇區緩衝器減少了與主機進行的數據交換及從介質中進行數據讀寫的速度。由於扇區總是作為一個整體進行讀寫的,所以速度的減少是不可避免的。

扇區緩衝器 扇區緩衝器

最簡單的情況是,扇區緩衝器就是IDE控制器上RAM(即隨機存儲器)中的一個區段。如果扇區緩衝器僅僅能夠與介質或主機進行數據交換,我們稱之為單端緩衝器。如果扇區緩衝器能夠同時接收主機的數據並把數據寫入磁碟中,我們稱之為雙端緩衝器,如右圖所示。

雙端緩衝器必須包含多於一個扇區的容量。因為只有當整個扇區接收了數據之後,控制器才可以開始向介質中傳送數據。如果在向介質傳送數據的同時,扇區緩衝器還可以接收主機的數據信息,那么系統的吞吐量將會大大提高。

再舉一個比較深的例子,假設我們要讀取連續的多個扇區的數據,使用單端緩衝器的驅動器就不得不使用交叉的方法,否則當第一個扇區讀取完畢的時候,緊接著下一個扇區的數據將會丟失。因為對於雙端緩衝器來說,當緩衝器的第二個扇區從介質中讀取數據的同時,主機可以讀取緩衝器中的第一個扇區的數據,所以單端的吞吐量大約是雙端的一半左右。

一個雙端緩衝器對主機來說,就像是一個包含了當前扇區數據的扇區緩衝器。從某種意義上講,扇區緩衝器就像是主機和介質進行數據交換的門窗。只不過這個門窗必須不斷地移動,以使門窗中的數據和當前地址暫存器中的內容保持一致。

扇區緩衝器和主機之間的通信是通過控制器(PIO)中斷數據暫存器以位元組或字的方式進行的。另外,這種通信也可以通過DMA進行直接記憶體傳輸。

分類

單端緩衝器

單端緩衝器的基本結構並沒有隨著工藝尺寸的縮小而變化。主要的變化是每個工藝節點都必須支持的更高的信號速率。如果採用固定的接口,如1.8V STTL,性能問題將會減少。這使得輸出緩衝器可以採用更薄的柵氧器件進行設計,提供更好的性能和更低的電容。一個更典型的情況是要求核心晶片能適應3.3V和1.5V的I/O,需要採用多個不同的I/O標準。設計者只能從下述兩種方案中選用一種:使用可以支持更高電壓的氧化層厚度同時能容忍低電壓標準的性能問題,或使用較薄的氧化層器件同時採用複雜的結構以避免器件受到3.3V標準的過電壓條件。氧化層較厚的器件所具有的較高閾值電壓和接口電路要求的較低電源電壓會引起性能問題。

扇區緩衝器 扇區緩衝器
扇區緩衝器 扇區緩衝器

右圖是一種層疊輸出緩衝器的簡化電路圖。當時開發的這種結構是為了用1.8V的電晶體支持1.8V、2.5V和3.3V的I/0標準。層疊I/O結構可以採用較薄氧化層器件支持多1/O標準,具有改善I/O性能的潛能。通過給 與 提供適當的偏置,可以產生一個受控的阻抗,實現板級信號和負載的匹配,減少反射,改善信號完整性。利用層疊結構的優點並採用一組器件實現期望的阻抗,可以改善輸出阻抗控制。這種方式存在的問題包括熱插孔保護、ESD保護和不使用緩衝器時的三態輸出。

雙端緩衝器

如果扇區緩衝器能夠同時接收主機的數據並寫入磁碟,則稱為雙端緩衝器。雙端緩衝器必須包含多個扇區的容量。只有當整個扇區接收了數據之後,控制器才開始向介質中傳送數據。如果在向介質傳送數據的同時,扇區緩衝器還可以接收主機的數據信息,那么系統的吞吐率將大大提高。

扇區緩衝

任何檔案系統的一個關鍵問題是怎樣很好地執行。所有的應用程式的檔案I/O都是通過檔案系統來做的,因而常常更多地進行規模不大的性能加強。相對於計算機的速度,檔案操作慢多了。從磁碟讀一個扇區比在存儲器中複製同樣數量的數據慢100~200倍。PC上的一個典型磁碟存取操作用時在40~80ms的範圍內,這取決於磁碟上扇區的位置上、讀/寫磁頭的位置和磁碟的速度。一個512位元組的存儲器到存儲器的移動在8MHE的機器上大約用時是0.4ms。

一種常見的性能策略是用快速的存儲器到存儲器拷貝代替較慢的磁碟存取。通過在存儲器中保存磁碟扇區的一個“存儲池",檔案系統可以記住檔案的這些內容,當把場區寫進磁碟時,先修改這個存儲器里的拷貝。當一個程式請求檔案系統讀數時,首先檢查這個存儲池。扇區的讀請求在這個池中進行完全可以,實際上並未讀磁碟。數據被簡單地從系統存儲器拷到應用程式緩衝區中。這種技術叫扇區緩衝(sector bu ffering)。

扇區緩衝的最大值,一般設定為512。

扇區緩衝區

扇區緩衝區是讀寫運算元據臨時存放區,該緩衝區以極高的速度與處理器交換數據。一般情況下,扇區緩衝區由RAM構成,設定在驅動器內部。如果扇區緩衝區只能分時與處理器和磁碟交換數據,這種緩衝區稱為單連線埠扇區緩衝區;反之,如果一種扇區緩衝區住從處理器接收數據的同時,又可以將數據寫到磁碟上,這種緩衝區稱為雙連線埠扇區緩衝區。

雙連線埠緩衝Ⅸ可以保存多個扇區的數據,只有當一個完整的扇Ⅸ數據接收完時,磁碟控制器才將數據寫到磁碟上,如果在寫盤期間,緩衝區可以從處理器接收下一個扇區的數據,整個磁碟系統的性能將大大改善。

如果使用單連線埠緩衝區讀連續扇區,當第一個扇區讀入扇區緩衝區後,再由處理器從緩衝區內把數據讀入記憶體,由於磁頭的慣性,磁頭會滑過接下來的扇區,必須採用交錯技術。如果採用雙連線埠緩衝區,處理器在從緩衝區讀數據的同時,控制器可以從磁碟上讀下一個扇區,可以極大地提高了磁碟的數據速率。

相關詞條

熱門詞條

聯絡我們