專利名稱:一種基于Nand Flash的Cache加速方法
技術領域:
本發(fā)明涉及計算機存儲技術領域,具體地說是一種基于Nand Flash的Cache加速方法。
背景技術:
磁盤是目前使用廣泛的存儲設備,在磁盤中通過磁頭的尋道及盤片的選擇對數(shù)據(jù)進行訪問,主要缺點是依賴電機的機械轉動,隨即訪問性能較差,可靠性較低。
Nand-flash內(nèi)存是flash內(nèi)存的一種,其內(nèi)部采用非線性宏單元模式。Nand Flash的結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。Nand Flash具有存取速度快、功耗小、抗震等特點。
Cache—高速緩沖存儲器。高速緩沖存儲器是存在于主存與CPU之間的一級存儲器,容量比較小但速度比主存高得多,接近于CPU的速度。
現(xiàn)有計算機系統(tǒng)中采用的是“CPU-內(nèi)存-硬盤”三級存儲模式中,即CPU讀取數(shù)據(jù)時先從內(nèi)存中抓取,如果內(nèi)存中沒有再從硬盤中讀取,其中CPU和內(nèi)存之間的數(shù)據(jù)吞吐量已超過10GB/S,而硬盤(機械)的連續(xù)數(shù)據(jù)傳輸速率只有100MB左右,這使得硬盤在很多時候成為系統(tǒng)的瓶頸。如果使用固態(tài)硬盤做硬盤使用,雖然可以提高系統(tǒng)的存儲速度但是大大增加了系統(tǒng)的存儲成本并且容量小。
若能夠將Nand Flash組成作為Cache應用,則可解決現(xiàn)有技術中存在的缺點
發(fā)明內(nèi)容
本發(fā)明的技術任務是提供一種可以將系統(tǒng)的存儲速度提高到閃存的水平,而容量卻可以發(fā)揮傳統(tǒng)硬盤的優(yōu)勢的一種基于Nand Flash的Cache加速方法。
本發(fā)明的技術任務是按以下方式實現(xiàn)的,在計算機中,利用Nand Flash作為 Cache來提高計算機的系統(tǒng)存儲速率,即使用Nand Flash芯片作為Cache,采用的是 CPU-Nand Flash芯片-內(nèi)存-硬盤的存儲模式,Nand Flash芯片、內(nèi)存及硬盤均與CPU連接;在計算機的CPU總線上連接一組Nand Flash控制器和Nand Flash芯片,Nand Flash 控制器連接并控制Nand Flash芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash 芯片;通過計算機的算法軟件將計算機訪問頻率高的數(shù)據(jù)拷貝至Nand Flash芯片,當CPU 讀取數(shù)據(jù)時優(yōu)先從Nand Flash芯片中讀取,當Nand Flash芯片中沒有CPU所要讀取的數(shù)據(jù)時,CPU再從硬盤中讀取。
NAND Flash芯片的容量為20GB以內(nèi)。
CPU通過IO總線連接Nand Flash控制器,Nand Flash控制器通過IO總線連接 Nand Flash 芯片。
所述方法的具體步驟為(I)、計算機的CPU連接Nand Flash控制器,Nand Flash控制器連接并控制Nand Flash芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash芯片;(2)、按照塊的方式將NandFlash芯片的容量劃分為多個緩存塊,為每一個緩存塊進行編號;(3)、CPU從硬盤中讀取數(shù)據(jù)時,算法軟件會實時對數(shù)據(jù)塊的訪問頻率進行統(tǒng)計;每隔半小時就對數(shù)據(jù)塊按照訪問頻率進行排序;(4)、算法軟件根據(jù)該上述排序結果將訪問頻率高的數(shù)據(jù)拷貝至NandFlash芯片中,若 Nand Flash芯片中沒有空閑緩存塊,則將Nand Flash芯片中長期沒有使用的緩存塊內(nèi)的數(shù)據(jù)清理掉,以便拷貝訪問頻率高的數(shù)據(jù);(5)、CPU讀取數(shù)據(jù)時優(yōu)先從NandFlash芯片中讀取,若CPU所要讀取的數(shù)據(jù)全命中 Nand Flash芯片中的緩存塊,則CPU從Nand Flash芯片中讀取數(shù)據(jù);(6)、若CPU所要讀取的數(shù)據(jù)沒有全命中NandFlash芯片中的緩存塊時,則CPU從硬盤中讀取數(shù)據(jù);(7)、當CPU寫入數(shù)據(jù)時,優(yōu)先將數(shù)據(jù)寫入到NandFlash芯片中;當硬盤處于空閑的時候再將Nand Flash芯片中的數(shù)據(jù)寫入硬盤。
本發(fā)明的一種基于Nand Flash的Cache加速方法具有以下優(yōu)點1、具有存取速度快,掉電非易失性的特點;2、將NandFlash作為內(nèi)存和硬盤之間的緩存來使用,提高CPU對硬盤的讀取、寫入效率;3、NandFlash芯片通過IO總線連接在CPU上,通過算法軟件,CPU可以直接對Nand Flash芯片進行讀寫,降低系統(tǒng)延遲時間;4、如果單純使用固態(tài)硬盤做硬盤使用,一是價格高,二是容量??;使用NandFlash芯片作為Cache,具有價格低、高性價比等特點;5、提高硬盤的可靠性,因為減少從硬盤的讀寫次數(shù)使得硬盤的使用壽命增加;因而,具有很好的推廣使用價值。
下面結合附圖對本發(fā)明進一步說明。
附圖I為一種基于Nand Flash的Cache加速方法的硬件結構連接框圖。
具體實施方式
參照說明書附圖和具體實施例對本發(fā)明的一種基于Nand Flash的Cache加速方法作以下詳細地說明。
實施例本發(fā)明的一種基于Nand Flash的Cache加速方法,在計算機中,利用Nand Flash作為Cache來提高計算機的系統(tǒng)存儲速率,即使用Nand Flash芯片作為Cache,采用的是 CPU-Nand Flash芯片-內(nèi)存-硬盤的存儲模式,Nand Flash芯片、內(nèi)存及硬盤均與CPU連接;在計算機的CPU總線上連接一組Nand Flash控制器和Nand Flash芯片,Nand Flash 控制器連接并控制Nand Flash芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash 芯片;通過計算機的算法軟件將計算機訪問頻率高的數(shù)據(jù)拷貝至Nand Flash芯片,當CPU讀取數(shù)據(jù)時優(yōu)先從Nand Flash芯片中讀取,當Nand Flash芯片中沒有CPU所要讀取的數(shù)據(jù)時,CPU再從硬盤中讀取。
NAND Flash芯片的容量為20GB以內(nèi)。
CPU通過IO總線連接Nand Flash控制器,Nand Flash控制器通過IO總線連接 Nand Flash 芯片。
所述方法的具體步驟為(1)、計算機的CPU連接NandFlash控制器,Nand Flash控制器連接并控制Nand Flash 芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash芯片;(2)、按照塊的方式將NandFlash芯片的容量劃分為多個緩存塊,為每一個緩存塊進行編號;(3)、CPU從硬盤中讀取數(shù)據(jù)時,算法軟件會實時對數(shù)據(jù)塊的訪問頻率進行統(tǒng)計;每隔半小時就對數(shù)據(jù)塊按照訪問頻率進行排序;(4)、算法軟件根據(jù)該上述排序結果將訪問頻率高的數(shù)據(jù)拷貝至NandFlash芯片中,若 Nand Flash芯片中沒有空閑緩存塊,則將Nand Flash芯片中長期沒有使用的緩存塊內(nèi)的數(shù)據(jù)清理掉,以便拷貝訪問頻率高的數(shù)據(jù);(5)、CPU讀取數(shù)據(jù)時優(yōu)先從NandFlash芯片中讀取,若CPU所要讀取的數(shù)據(jù)全命中 Nand Flash芯片中的緩存塊,則CPU從Nand Flash芯片中讀取數(shù)據(jù);(6)、若CPU所要讀取的數(shù)據(jù)沒有全命中NandFlash芯片中的緩存塊時,則CPU從硬盤中讀取數(shù)據(jù);(7)、當CPU寫入數(shù)據(jù)時,優(yōu)先將數(shù)據(jù)寫入到NandFlash芯片中;當硬盤處于空閑的時候再將Nand Flash芯片中的數(shù)據(jù)寫入硬盤。
本發(fā)明的一種基于Nand Flash的Cache加速方法,除說明書所述的技術特征外, 均為本專業(yè)技術人員的已知技術。
權利要求
1.一種基于Nand Flash的Cache加速方法,其特征在于在計算機中,利用Nand Flash 作為Cache來提高計算機的系統(tǒng)存儲速率,即使用Nand Flash芯片作為Cache,采用的是 CPU-Nand Flash芯片-內(nèi)存-硬盤的存儲模式,Nand Flash芯片、內(nèi)存及硬盤均與CPU連接;在計算機的CPU總線上連接一組Nand Flash控制器和Nand Flash芯片,Nand Flash 控制器連接并控制Nand Flash芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash 芯片;通過計算機的算法軟件將計算機訪問頻率高的數(shù)據(jù)拷貝至Nand Flash芯片,當CPU 讀取數(shù)據(jù)時優(yōu)先從Nand Flash芯片中讀取,當Nand Flash芯片中沒有CPU所要讀取的數(shù)據(jù)時,CPU再從硬盤中讀取。
2.根據(jù)權利要求I所述的一種基于NandFlash的Cache加速方法,其特征在于NAND Flash芯片的容量為20GB以內(nèi)。
3.根據(jù)權利要求I所述的一種基于NandFlash的Cache加速方法,其特征在于CPU通過IO總線連接Nand Flash控制器,Nand Flash控制器通過IO總線連接Nand Flash芯片。
4.根據(jù)權利要求1、2或3所述的一種基于NandFlash的Cache加速方法,其特征在于所述方法的具體步驟為(1)、計算機的CPU連接NandFlash控制器,Nand Flash控制器連接并控制Nand Flash 芯片,CPU可通過Nand Flash控制器直接訪問Nand Flash芯片;(2)、按照塊的方式將NandFlash芯片的容量劃分為多個緩存塊,為每一個緩存塊進行編號;(3)、CPU從硬盤中讀取數(shù)據(jù)時,算法軟件會實時對數(shù)據(jù)塊的訪問頻率進行統(tǒng)計;每隔半小時就對數(shù)據(jù)塊按照訪問頻率進行排序;(4)、算法軟件根據(jù)該上述排序結果將訪問頻率高的數(shù)據(jù)拷貝至NandFlash芯片中,若 Nand Flash芯片中沒有空閑緩存塊,則將Nand Flash芯片中長期沒有使用的緩存塊內(nèi)的數(shù)據(jù)清理掉,以便拷貝訪問頻率高的數(shù)據(jù);(5)、CPU讀取數(shù)據(jù)時優(yōu)先從NandFlash芯片中讀取,若CPU所要讀取的數(shù)據(jù)全命中 Nand Flash芯片中的緩存塊,則CPU從Nand Flash芯片中讀取數(shù)據(jù);(6)、若CPU所要讀取的數(shù)據(jù)沒有全命中NandFlash芯片中的緩存塊時,則CPU從硬盤中讀取數(shù)據(jù);(7)、當CPU寫入數(shù)據(jù)時,優(yōu)先將數(shù)據(jù)寫入到NandFlash芯片中;當硬盤處于空閑的時候再將Nand Flash芯片中的數(shù)據(jù)寫入硬盤。
全文摘要
本發(fā)明公開了一種基于NandFlash的Cache加速方法,屬于計算機存儲領域,在計算機中使用NandFlash芯片作為Cache;在計算機的CPU總線上連接一組NandFlash控制器和NandFlash芯片,CPU可通過NandFlash控制器直接訪問NandFlash芯片;通過計算機的算法軟件將計算機訪問頻率高的數(shù)據(jù)拷貝至NandFlash芯片,當CPU讀取數(shù)據(jù)時優(yōu)先從NandFlash芯片中讀取,當NandFlash芯片中沒有所要讀取的數(shù)據(jù)時,再從硬盤中讀取。本發(fā)明將計算機系統(tǒng)的存儲速度提高到閃存的水平,并且同時發(fā)揮了傳統(tǒng)硬盤容量大的優(yōu)勢。
文檔編號G06F3/06GK102981783SQ20121049704
公開日2013年3月20日 申請日期2012年11月29日 優(yōu)先權日2012年11月29日
發(fā)明者貢維 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司