[] Li-Pin Chang,Li-Chun Huang.A low-cost wear-leveling algorithm for block-mapping solid-state disks.ACM SIGPLAN Notices,2011,Vol.46(5):31~40算法
[1] LI-PIN CHANG,CHUN-DA DU. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Transactions on Design Automation of Electronic Systems.2010, Vol.15(1):1~36.app
[2] D. Jung, Y.-H. Chae, H. Jo, J.-S. Kim, and J. Lee. A group-based wearleveling algorithm for large-capacity flash memory storage systems.In CASES ’07: Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, pages 160–164. ACM, 2007.性能
摘要優化
1.介紹操作系統
固態硬盤是以flash爲存儲介質的存儲設備,因爲物理特性的緣由,SSD與HDD進行讀取的方式是不一樣的。SSD經過隱藏flash的特性來模擬HDD的方式以便於操做系統無需改變軟件或硬件來把一個SSD設備當作HDD來識別。固態硬盤是優於傳統的硬盤驅動器的,不管是耐衝擊性、節能、隨機訪問性能、散熱,這些都吸引供應商使用其做爲存儲設備普遍應用於筆記本電腦、智能手機和便攜式媒體播放器等。ci
flash是一種必須在寫以前擦除的存儲介質。每一個閃存單元只能承受有限次的擦寫次數,大約在100k次左右,頻繁地擦寫操做可能致使某些閃存顆粒比其他的閃存顆粒提早退休。特別是如今,隨着MLC和TLC的出現,單個閃存單元能夠保存二個或更多的電位,這下降的單位容量的成本,可是相比SLC來講,他們的壽命倒是大打折扣。資源
有數據訪問的地方就不可避免磨損的存在,一部分閃存顆粒的提早不能使用不只致使設備容量的下降,同時也會加重剩餘閃存顆粒的磨損程度。因此SSD須要磨損均衡的管理來保持SSD內全部閃存顆粒的總體擦除次數的平均,可是磨損管理不是沒有代價的,它會作一些額外的數據移動來保證磨損均衡的實現,這些額外的數據移動有利於總體的平衡。flash
磨損均衡操做包括數據移動的時機和數據移動的位置,這些操做監視整個flash的磨損狀況以及在磨損不均衡的時候進行一些操做來保持平衡。it
在資源緊張的狀況下,挑戰有三個:一是監視整個flash的磨損,須要至關多的時間和空間資源;二是算法優化須要根據flash的訪問模式和在線人員的訪問來決定;三是高複雜阻礙使用先進的WL算法io
通常的SSD主控沒有足夠的RAM空間來存放SSD盤內flash全部的磨損信息,chang等人提出只將部分信息保存在RAM中,然而週期性的RAM和flash之間磨損信息的交互會致使額外的寫操做[1];june提出了一種基於大範圍的平均擦寫次數的low-resolution磨損信息方法,可是這種方法在磨損差別比較大的時候沒法很好地工做[2];