在這節我們將測試市面上常見的硬碟與快閃記憶卡,建立其效能模型,
並且分析硬碟與快閃記憶體的效能模型,從中得出我們論文的方向與演算 法基礎。我們選擇的硬碟型號為 Maxtor STM380815AS、內建 8MB 的 Buffer 、硬碟轉速為 7200RPM、傳輸規格為 SATA、平均 seek time 為 9ms。
快閃記憶體方面我們選擇 Transcend 快閃記憶卡,記憶晶片規格是 SHDC class6,容量為 4GB。以程式將測試資料分別對硬碟以及快閃記憶卡作讀 寫動作,並測量其平均時間。讀寫的方法分為循序寫入資料、循序讀取資 料、隨機寫入資料以及隨機讀取資料。寫入的資料大小分別為 4k、 16k、
32k、64k、128k。
經過測試後我們得出結果如圖表 14、圖表 15、圖表 16、圖表 17、圖表 18、圖表 19、圖表 20、圖表 21、圖表 22。從這些數據可以得到一些結論。
第一個結論,我們可以所有圖表看出無論是硬碟或記憶體,無論讀取資料 或寫入資料,以循序的方式都會比隨機的方式來得快,但是由圖表 18 我們 可以知道快閃記憶體的隨機讀取資料跟循序讀取資料是一樣快的。第二個 結論,由圖表 19、圖表 21 可以發現隨機寫入快閃記憶體是最花時間的,第 三點,由圖表 17 我們可以看出循序讀取資料時,從硬碟讀取資料要比從快 閃記憶體讀取快,而且相差的程度非常明顯,但是若是在隨機讀取狀態下 可以可明顯的看出,快閃記憶體比硬碟快非常多(圖表 20)。第四點,在寫 入小量的資料下循續寫入快閃記憶體比隨機寫入硬碟要快很多(圖表 22)。
從第三點的結論,我們可以發現隨機讀取快閃記憶體資料比隨機讀取硬 碟資料快,而在循序讀取下結果卻相反。因為單以讀取速率來講硬碟要比 快閃記憶體快,因此在循序讀取資料時硬碟要較快閃記憶體快。但是在隨 機讀取的狀態下,硬碟的讀取速度需額外考慮一項因素,硬碟的 seek time。
由於隨機資料可能散布在硬碟的每個 Cylinder 中,因此隨著讀取資料的不 同,硬碟必須來回移動以取得正確的資料,因此 seek time 的平均時間會 加長,所以在隨機讀取狀態下,快閃記憶體要較硬碟快得多。由於在隨機 讀取狀態下,快閃記憶體較硬碟快非常多,而一般 PC 系統隨機讀取的機會 其實非常多,因此假如我們在隨機讀取資料的情況下,能以讀取快閃記憶 體的來取代讀取取硬碟,那麼我們有機會能改善我們的讀取效能。我們論 文的方向將朝這個方向進行。
0
access time(us)
block size(k bytes)
seq/random read flash
random_read_flash seq_read_flash
圖表 17 respond time of seq read Hd/flash
0
access time(us)
block size(k bytes)
seq/random write flash
random_write_flash
access time(us)
block size(k bytes)
seq/random read Hd
random_read_Hd seq_read_Hd
圖表 14 respond time of seq/random write Hd
access time(us)
block size(k bytes)
seq/random write Hd
random_write_Hd seq_write_Hd
圖表 15 respond time of seq/random read Hd
access time(us)
block size(k bytes)
seq read Hd/flash
seq_read_Hd seq_read_flash
20000 40006000 100008000 12000
0 100 200
access time(us)
block size(k bytes)
seq write Hd/flash
seq_write_Hd seq_write_flash
圖表 19 respond time of seq/random write flash
圖表 18 respond time of seq/random read flash
0 2000 4000 6000 100008000 12000
0 100 200
access time(us)
block size(k bytes)
random read Hd/flash
random_read_Hd
access time(us)
block size(K byte) random write Hd/flash
random_write _Hd random_write _flash
圖表 21 respond time of random write Hd/flash
圖表 22 respond time of random write Hd /seq write flash
access time
block size(k bytes)
random write Hd/seq write flash
random_writed _Hd
seq_write_flash
圖表 20 respond time of random read Hd/flash