專利名稱:固態(tài)儲(chǔ)存裝置及其高速緩存的控制方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于ー種固態(tài)儲(chǔ)存裝置及其控制方法,且特別是有關(guān)于ー種固態(tài)儲(chǔ)存裝置及其高速緩存(cache memory)的控制方法。
背景技術(shù):
眾所周知,固態(tài)儲(chǔ)存裝置(Solid State Drive, SSD)使用與非門閃存(NAND flashmemory)為主要存儲(chǔ)元件,而此類的儲(chǔ)存裝置為ー種非揮發(fā)性(non-volatile)的存儲(chǔ)器元件。也就是說,當(dāng)資料寫入閃存后,一旦系統(tǒng)電源關(guān)閉,資料仍保存在固態(tài)儲(chǔ)存裝置中。請(qǐng)參照?qǐng)D1,其所繪示為固態(tài)儲(chǔ)存裝置的示意圖。固態(tài)儲(chǔ)存裝置10中包括ー控制單元101、高速緩存(cache memory) 107與ー閃存105。在固態(tài)儲(chǔ)存裝置10內(nèi)部,控制單元101連接至與閃存105與高速緩存107,以控制閃存105與高速緩存107的資料存取。而在固態(tài)儲(chǔ)存裝置10外部,控制單元101利用一外部總線20與主機(jī)(host) 12之間進(jìn)行指令與資料的傳遞。其中,外部總線20可為USB總線、IEEE 1394總線或SATA總線等等。再者,高速緩存107為ー個(gè)緩沖單元(buffering unit)用以暫時(shí)地儲(chǔ)存寫入資料以及讀取資料。當(dāng)固態(tài)儲(chǔ)存裝置10未接受電源時(shí),高速緩存107中的資料將被刪除,高速緩存107可為靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。一般來說,閃存105中包括許多區(qū)塊(block),而每個(gè)區(qū)塊中又包括多個(gè)頁(page)或稱為段(sector)。例如,一個(gè)區(qū)塊中有64頁,而姆個(gè)頁的容量為8K bytes。再者,由于閃存105的特性,每次資料寫入時(shí)是以頁為最小単位,而每次擦除(erase)時(shí)則是以區(qū)塊為単位進(jìn)行資料擦除。由于閃存105的特性,當(dāng)區(qū)塊中某一特定頁的資料需要被更改吋,控制單元101將無法直接修改該特定頁中的資料,因此控制単元101需要將修改后的資料寫在另一空白頁,而將原來的特定頁標(biāo)示為無效頁(invalid page),里面的資料則被視為無效資料(invalid data)。請(qǐng)參照?qǐng)D2,其所繪示為已知固態(tài)儲(chǔ)裝置進(jìn)行資料更新時(shí)高速緩存的控制方法。其中,高速緩存中包括多個(gè)快取單元。當(dāng)主機(jī)12需要更新閃存105中一特定頁里的部分資料時(shí),主機(jī)12會(huì)將更新資料傳遞至固態(tài)儲(chǔ)存裝置10,而控制單元101將更新資料暫存于高速緩存的第一快取單元中(步驟S210),其中更新資料對(duì)應(yīng)于上述特定頁里的部分原始資料。接著,控制單元101由閃存105中將儲(chǔ)存于特定頁里的原始資料暫存于高速緩存的第二快取単元(步驟S220)。接著,控制單元101組合第一快取單元內(nèi)的更新資料以及第ニ快取單元內(nèi)未被更新的原始資料,并將組合后的資料儲(chǔ)存于閃存105中的一空白頁(步驟S230)。接著,將第一快取單元與第二快取單元設(shè)定為無效快取單元(步驟S240)。以下以圖3A至圖3D的資料搬移范例來解釋圖2的控制流程。如圖3A所示,假設(shè)閃存中第一區(qū)塊(Block_l)中包括四個(gè)頁?1、?2、?3、?4,第ー頁?1中的資料包括D1、D2、D3,而第二頁P(yáng)2、第三頁P(yáng)3、第四頁P(yáng)4為空白頁。再者,高速緩存107中至少包括ニ個(gè)空白的快取單元Cm、Cn。當(dāng)主機(jī)12需要更新第一區(qū)塊(Block_l)中第一頁P(yáng)l里的部分資料(例如D2)吋,主機(jī)12會(huì)將更新資料D2’傳遞至固態(tài)儲(chǔ)存裝置10。如圖3B的路徑I所示,控制單元101將更新資料D2’暫存于第m快取単元Cm,其中更新資料D2’對(duì)應(yīng)于第一頁P(yáng)l里的部分資料D2。接著,如圖3B的路徑II所示,控制單元101由第一區(qū)塊(Block_l)中將儲(chǔ)存于第一頁P(yáng)l中的原始資料D1、D2、D3暫存于第n快取單元Cn。接著,如圖3C的路徑III所示,控制單元101組合第m快取單元Cm內(nèi)的更新資料D2’以及第n快取單元Cn內(nèi)未被更新的資料01、03,并將組合后的資料01、02’、03儲(chǔ)存于第ー區(qū)塊(Block_l)中的一空白頁(例如P3)。接著,控制單元將第m快取單元Cm與第n快取單元Cn設(shè)定為無效快取單元(斜線部分)。當(dāng)然,控制單元101并不一定要寫入第一區(qū)塊(Block_l)中的第三頁P(yáng)3,也可以寫到其它區(qū)塊的空白頁中。再者原第一頁P(yáng)l也被設(shè)定成無效頁(斜線部分)。由圖3D可知,當(dāng)控制單元101將組合后的資料Dl、D2’、D3寫入第一區(qū)塊(Block_l)的第三頁P(yáng)3后,第m快取單元Cm與第n快取單元Cn中的資料與第三頁P(yáng)3的資料并不相同,所以第m快取単元Cm與第n快取単元Cn中的資料無法再次被利用,因此將會(huì)被設(shè)定為無效資料。而控制単元101可適時(shí)地刪除第m快取単元Cm與第n快取単元Cn中的資料。之后,假設(shè)主機(jī)12發(fā)出讀取指令,欲讀取第一區(qū)塊(Block_l)的第三頁P(yáng)3吋,由于快取未命中(cache miss),所以控制單元101會(huì)讀取第一區(qū)塊(Block_l)的第三頁P(yáng)3資料D1、D2’、D3并暫存于快取單元中的另一空白快取單元(例如第p快取單元)中,接著將該第P快取單元中的資料D1、D2’、D3由快取單元傳遞至主機(jī)12。
發(fā)明內(nèi)容
本發(fā)明提出ー種固態(tài)儲(chǔ)存裝置及其高速緩存的控制方法,可在更新閃存中的ー特定頁時(shí),控制高速緩存的資料配置方式,達(dá)成簡(jiǎn)化已知高速緩存的控制方法并增加快取命中(cache hit)率。本發(fā)明提出ー種固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中固態(tài)儲(chǔ)存裝置具有ー閃存,閃存具有多個(gè)區(qū)塊,每一區(qū)塊中具有多個(gè)頁,其特征在于,包括下列步驟:接收一更新資料,并儲(chǔ)存于ー第一快取単元,其中更新資料對(duì)應(yīng)于閃存中ー特定頁的部分原始資料;讀取儲(chǔ)存于特定頁內(nèi)的原始資料,并將未被更新的原始資料儲(chǔ)存于第一快取單元,將欲被更新的原始資料儲(chǔ)存于ー第二快取單元;以及將第一快取單元內(nèi)的更新資料及未更新的原始資料儲(chǔ)存于閃存中的一空白頁。本發(fā)明提出ー種固態(tài)儲(chǔ)存裝置,其特征在于,該固態(tài)儲(chǔ)存裝置包含:ー閃存,該閃存中具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁;一高速緩存,包括多個(gè)快取単元,每個(gè)快取単元的大小等于閃存中的一個(gè)頁的大?。灰约癌`控制單元,連接至該閃存與該高速緩存;其中,該控制單元接收一更新資料,該更新資料對(duì)應(yīng)于儲(chǔ)存于該閃存中的一特定頁內(nèi)的部分原始資料,并儲(chǔ)存該更新資料于一第一快取単元;該控制單元讀取該特定頁內(nèi)的該原始資料,并儲(chǔ)存未被更新的該原始資料于該第一快取単元,儲(chǔ)存欲被更新的該原始資料于一第二快取單元;以及該控制單元將該第一快取單元內(nèi)的該更新資料及該未被更新的原始資料儲(chǔ)存于該閃存中的一空白頁,作為該特定頁的一更新頁。本發(fā)明提出ー種固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中該固態(tài)儲(chǔ)存裝置具有一閃存,且該閃存具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁,該高速緩存具有多個(gè)快取単元,其特征在于,包括下列步驟:接收一更新資料,并儲(chǔ)存該更新資料于該高速緩存的一第一1決取単元;讀取儲(chǔ)存于該閃存中的一特定頁內(nèi)的一第一資料及一第二資料,其中該更新資料對(duì)應(yīng)于該第二資料;儲(chǔ)存該第一資料于該高速緩存中的該第一快取単元,且儲(chǔ)存該第二資料于該高速緩存中的一第二快取単元;以及將該第一快取単元內(nèi)的該更新資料及該第一資料儲(chǔ)存于該閃存的一空白頁。
為了對(duì)本發(fā)明的上述及其它方面有更佳的了解,下文特舉較佳實(shí)施例并配合附圖,作詳細(xì)說明如下,其中:圖1所繪示為固態(tài)儲(chǔ)存裝置的示意圖。圖2所繪示為已知固態(tài)儲(chǔ)裝置進(jìn)行資料更新時(shí)高速緩存的控制方法。圖3A至圖3D所繪示為根據(jù)圖2的控制流程的資料搬移范例。圖4所繪示為本發(fā)明固態(tài)儲(chǔ)裝置進(jìn)行資料更新時(shí)高速緩存的控制方法。圖5A至圖5E所繪示為根據(jù)圖4的控制流程的資料搬移范例。
具體實(shí)施例方式請(qǐng)參照?qǐng)D4,其所繪示為本發(fā)明固態(tài)儲(chǔ)裝置中進(jìn)行資料更新時(shí)的高速緩存控制方法。固態(tài)儲(chǔ)存裝置中包括一控制單元、一高速緩存與ー閃存,其中,閃存具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁,而高速緩存具有多個(gè)快取単元。由于固態(tài)儲(chǔ)存裝置的構(gòu)造與第I圖相同,因而不再贅述。當(dāng)主機(jī)需要更新儲(chǔ)存于閃存中一個(gè)頁里的部分資料時(shí),主機(jī)會(huì)將更新資料傳遞至固態(tài)儲(chǔ)存裝置,而控制単元?jiǎng)t將更新資料暫存于高速緩存中的第一快取単元中,其中更新資料對(duì)應(yīng)于閃存中ー特定頁里的部分資料(步驟S410)。接著,控制單元由閃存中讀取儲(chǔ)存于特定頁中的原始資料,并將未被更新的原始資料儲(chǔ)存于第一快取單元中,而將欲被更新的原始資料儲(chǔ)存于第二快取單元(步驟S420)。接著,將第一快取單元內(nèi)的更新資料及未被更新的原始資料儲(chǔ)存于閃存中的一空白頁(步驟S430)。接著,將第二快取単元設(shè)定為無效快取単元,將第一快取単元設(shè)定為有效快取単元(步驟S440)。以下以圖5A至圖5E的資料搬移范例來解釋圖4的控制流程。如圖5A所示,假設(shè)閃存中第一區(qū)塊(Block_l)中包括四個(gè)頁?1、?2、?3、?4,第ー頁?1中的資料包括D1、D2、D3,而第二頁P(yáng)2、第三頁P(yáng)3、第四頁P(yáng)4為空白頁。再者,高速緩存中至少包括ニ個(gè)空白的快取單元Cm、Cn。當(dāng)主機(jī)需要更新第一區(qū)塊(Block_l)中第一頁P(yáng)l里的部分資料(例如D2)時(shí),主機(jī)會(huì)將更新資料D2’傳遞至固態(tài)儲(chǔ)存裝置。如圖5B的路徑I所示,控制單元將更新資料D2’暫存于第m快取単元Cm中。更新資料D2’對(duì)應(yīng)于第一頁P(yáng)l里的部分資料D2。接著,如圖5C的路徑II所示,控制單元由第一區(qū)塊(Block_l)中讀取儲(chǔ)存于第一頁P(yáng)l的原始資料D1、D2、D3,并將未被更新的原始資料D1、D3儲(chǔ)存于該第m快取單元Cm,將欲被更新的原始資料D2儲(chǔ)存于第n快取単元Cn。接著,如圖的路徑III所示,控制單元將第m快取單元Cm內(nèi)的更新資料D2’及未被更新的原始資料Dl、D3儲(chǔ)存于第一區(qū)塊(Block_l)中的一空白頁(例如P3)。接著,控制單元將第n快取單元Cn設(shè)定為無效快取單元(斜線部分),將第m快取単元Cm設(shè)定為有效快取単元。當(dāng)然,控制單元并不一定要將更新后的一頁資料寫入第一區(qū)塊(Block_l)中的第三頁,也可以寫到其它區(qū)塊的空白頁中,再者原第一頁P(yáng)l也被設(shè)定成無效頁(斜線部分)。由圖5E可知,當(dāng)控制單元將更新后的資料Dl、D2’、D3再次寫入第一區(qū)塊(Block_l)的第三頁P(yáng)3后,第n快取単元Cn中的資料會(huì)被設(shè)定為無效資料,并且控制単元101可適時(shí)地刪除第n快取単元Cn中的資料。而由于第m快取単元Cm中的資料與第一區(qū)塊(Block_l)第三頁P(yáng)3的內(nèi)容完全相同,因此第m快取単元Cm會(huì)被設(shè)定為有效資料。之后,當(dāng)主機(jī)發(fā)出讀取指令,欲讀取第一區(qū)塊(Block_l)的第三頁P(yáng)3時(shí),高速緩存即可發(fā)出快取命中(cache hit),并直接將該第m快取單元Cm中的資料Dl、D2’、D3由快取単元傳遞至主機(jī),所以控制單元不需讀取第一區(qū)塊(Block_l)的第三頁P(yáng)3資料D1、D2’、D3。也就是說,根據(jù)本發(fā)明的高速緩存控制方法,控制單元不需再次由閃存中讀取資料所以可以提聞系統(tǒng)的效率。由以上的說明可知,本發(fā)明的高速緩存的控制方法,其在更新閃存的一特定頁時(shí),將有效的資料(包含更新資料及未被更新的原始資料)集中儲(chǔ)存在同一個(gè)快取單元,并將無效的資料(包含欲被更新的原始資料)集中儲(chǔ)存在另ー快取單元中,因此可增加快取命中率,并提高系統(tǒng)的讀取速度。綜上所述,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤(rùn)飾。因此,本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求范圍所界定的為準(zhǔn)。
權(quán)利要求
1.一種固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中該固態(tài)儲(chǔ)存裝置具有一閃存,該閃存具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁,包括下列步驟: 接收一更新資料,并儲(chǔ)存于ー第一快取単元,其中該更新資料對(duì)應(yīng)于該閃存中一特定頁的部分原始資料; 讀取儲(chǔ)存于該特定頁內(nèi)的該原始資料,并將未被更新的該原始資料儲(chǔ)存于該第一快取單元,將欲被更新的該原始資料儲(chǔ)存于ー第二快取單元;以及 將該第一快取単元內(nèi)的該更新資料及該未更新的原始資料儲(chǔ)存于該閃存中的一空白頁。
2.按權(quán)利要求1所述的固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中還包括將該閃存中的該特定頁設(shè)定為ー無效頁。
3.按權(quán)利要求1所述的固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中還包括將該第二快取単元設(shè)定為一無效快取単元,且將該第一快取単元設(shè)定為一有效快取単元。
4.一種固態(tài)儲(chǔ)存裝置,該固態(tài)儲(chǔ)存裝置包含: ー閃存,該閃存中具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁; 一高速緩存,包括多個(gè)快取単元;以及 一控制單元,連接至該閃存與該高速緩存; 其中,該控制單元接收一更新資料,該更新資料對(duì)應(yīng)于儲(chǔ)存于該閃存中的一特定頁內(nèi)的部分原始資料,并儲(chǔ)存該更新資料于一第一1決取單元;該控制單元讀取該特定頁內(nèi)的該原始資料,并儲(chǔ)存未被更新的該原始資料于該第一快取単元,儲(chǔ)存欲被更新的該原始資料于ー第二快取單元;以及該控制單元將該第一快取單元內(nèi)的該更新資料及該未被更新的原始資料儲(chǔ)存于該閃存中的一空白頁,作為該特定頁的一更新頁。
5.按權(quán)利要求4所述的固態(tài)儲(chǔ)存裝置,其中還包括:該控制單元將該閃存中的該特定頁設(shè)定為ー無效頁。
6.按權(quán)利要求4所述的固態(tài)儲(chǔ)存裝置,其中還包括:該控制単元將該第二快取單元設(shè)定為ー無效快取單元,且將該第一快取單元設(shè)定為一有效快取單元。
7.一種固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中該固態(tài)儲(chǔ)存裝置具有一閃存,且該閃存具有多個(gè)區(qū)塊,每ー該區(qū)塊中具有多個(gè)頁,該高速緩存具有多個(gè)快取単元,包括下列步驟: 接收一更新資料,并儲(chǔ)存該更新資料于該高速緩存的一第一1決取單元; 讀取儲(chǔ)存于該閃存中的一特定頁內(nèi)的一第一資料及一第二資料,其中該更新資料對(duì)應(yīng)于該第二資料; 儲(chǔ)存該第一資料于該高速緩存中的該第一快取単元,且儲(chǔ)存該第二資料于該高速緩存中的一第二快取單元;以及 將該第一快取単元內(nèi)的該更新資料及該第一資料儲(chǔ)存于該閃存的一空白頁。
8.按權(quán)利要求7所述的固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中還包括將該閃存中的該特定頁設(shè)定為ー無效頁。
9.按權(quán)利要求7所述的固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中還包括將該第二快取単元設(shè)定為一無效快取単元,且 將該第一快取単元設(shè)定為一有效快取単元。
10.按權(quán)利要求7所述的固態(tài)儲(chǔ)存裝置的高速緩存控制方法,其中該第一資料為儲(chǔ)存于該特定頁中未被更 新的原始資料,且該第二資料為儲(chǔ)存于該特定頁中欲被更新的資料。
全文摘要
本發(fā)明為一種固態(tài)儲(chǔ)存裝置及其高速緩存的控制方法,其中固態(tài)儲(chǔ)存裝置具有一閃存,閃存具有多個(gè)區(qū)塊,每一區(qū)塊中具有多個(gè)頁。此控制方法包括下列步驟接收一更新資料,并儲(chǔ)存于一第一快取單元,其中更新資料對(duì)應(yīng)于閃存中一特定頁的部分原始資料;讀取儲(chǔ)存于特定頁內(nèi)的原始資料,并將未被更新的原始資料儲(chǔ)存于第一快取單元,將欲被更新的原始資料儲(chǔ)存于一第二快取單元;以及將第一快取單元內(nèi)的更新資料及未更新的原始資料儲(chǔ)存于閃存中的一空白頁。
文檔編號(hào)G06F12/08GK103092771SQ20111033655
公開日2013年5月8日 申請(qǐng)日期2011年10月31日 優(yōu)先權(quán)日2011年10月31日
發(fā)明者陳奕任, 莊吉賢, 陳彥仲, 賴昀佐 申請(qǐng)人:建興電子科技股份有限公司