本申請為申請日為2013年12月27日、申請?zhí)枮?01310753090.7的發(fā)明名稱為“數(shù)據(jù)儲存裝置及其數(shù)據(jù)寫入方法”的申請案的分案申請。
本發(fā)明涉及數(shù)據(jù)儲存技術,特別是涉及一種數(shù)據(jù)儲存裝置及其數(shù)據(jù)寫入方法。
背景技術:
隨著半導體技術的進步,存儲器的容量已大幅提升,其單價則相對降低。其中,快閃存儲器(flashmemory)因具有非易失性、省電、體積小與無機械結構等的特性,特別適合使用于便攜式電子產(chǎn)品,因此近年來也發(fā)展出一種使用與非門(nand)快閃存儲器做為數(shù)據(jù)儲存媒介的固態(tài)儲存裝置(solidstatedisk,ssd)。固態(tài)儲存裝置的特別之處在于利用快閃存儲器的特性來取代傳統(tǒng)儲存裝置的機械結構,藉由區(qū)塊寫入和擦除的方式進行數(shù)據(jù)存取,因此可大幅提升儲存裝置的讀寫效率,與傳統(tǒng)的儲存裝置相較,具有低耗電、耐震、穩(wěn)定性高、耐低溫等優(yōu)點。
nand快閃存儲器可分為單層存儲單元(singlelevelcell,slc)nand快閃存儲器與多層存儲單元(multilevelcell,mlc)nand快閃存儲器。其中,slcnand快閃存儲器使用一組高低電壓以區(qū)分出兩種電荷值(包括0、1),而mlcnand快閃存儲器則采用較高的電壓驅(qū)動,并通過不同級別的電壓記錄兩位的信息(包括00、01、11、10),因此mlcnand快閃存儲器數(shù)據(jù)記錄的密度會比slcnand快閃存儲器多一倍。
在slcnand快閃存儲器中,每次寫入數(shù)據(jù)至頁面時能對此頁面進行多次的編程,因此在slcnand快閃存儲器中每次編程的數(shù)據(jù)量可小于一個頁面。然而,在mlcnand快閃存儲器中每次寫入數(shù)據(jù)至頁時僅能對此頁編程1次,因此在mlcnand型快閃存儲器中會以一個頁的數(shù)據(jù)量為單位進行編程。
此外,mlcnand快閃存儲器包括多個實體區(qū)塊(block),每個實體區(qū)塊又包括多個實體頁(page)。在mlc區(qū)塊中寫入數(shù)據(jù)需依照其頁面順序依序?qū)懭搿?個mlc實體頁可以寫入2個頁數(shù)據(jù),其中寫入同一個mlc實體頁的這二個頁數(shù)據(jù)被稱為配對頁。假設在配對頁中的第一個頁數(shù)據(jù)寫入mlc實體頁后,而且在配對頁中的第二個頁數(shù)據(jù)尚未完成寫入前,mlc快閃存儲器發(fā)生了斷電事件(或其他不可預期的干擾事件)而中斷了所述第二個頁數(shù)據(jù)的寫入操作。在重新上電后,配對頁中的所述第二個頁數(shù)據(jù)會再一次被寫入所述mlc實體頁。然而,重復對所述mlc實體頁寫入所述第二個頁數(shù)據(jù)除了會使所述第二個頁數(shù)據(jù)發(fā)生數(shù)據(jù)錯誤外,還會造成所述mlc實體頁中的所述第一個頁數(shù)據(jù)佚失。因此,傳統(tǒng)mlc快閃存儲器會因為發(fā)生斷電事件而可能造成數(shù)據(jù)錯誤/佚失。
技術實現(xiàn)要素:
本發(fā)明提供一種數(shù)據(jù)儲存裝置及其數(shù)據(jù)寫入方法,可在寫入數(shù)據(jù)時避免因斷電或其他事件而造成數(shù)據(jù)錯誤/佚失。
本發(fā)明的數(shù)據(jù)儲存裝置,包括非易失性存儲器單元以及控制單元。其中非易失性存儲器單元包括至少第一存儲器芯片及第二存儲器芯片,第一存儲器芯片包括至少第一存儲器區(qū)塊以及第二存儲器區(qū)塊,第二存儲器芯片包括至少第三存儲器區(qū)塊以及第四存儲器區(qū)塊。控制單元耦接非易失性存儲器單元,其中控制單元將來自數(shù)據(jù)儲存裝置外部的主機的第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)并行地分別儲存至第一存儲器區(qū)塊及第三存儲器區(qū)塊,以及將第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)并行地分別復制至第二存儲器區(qū)塊及第四存儲器區(qū)塊。其中該第一及該第二儲存數(shù)據(jù)包括一最低有效位頁數(shù)據(jù)與一最高有效位頁數(shù)據(jù),而該最低有效位頁數(shù)據(jù)與該最高有效位頁數(shù)據(jù)互為配對頁;該控制單元還判斷該第一及該第二儲存數(shù)據(jù)是否為該最低有效位頁數(shù)據(jù),且判斷隨后來自該主機的一第三儲存數(shù)據(jù)及一第四儲存數(shù)據(jù)是否分別與該第一及第二儲存數(shù)據(jù)配對的該最高有效位頁數(shù)據(jù);若該第一及該第二儲存數(shù)據(jù)為該最低有效位頁數(shù)據(jù)且該第三及該第四儲存數(shù)據(jù)是分別與該第一及第二儲存數(shù)據(jù)配對的該最高有效位頁數(shù)據(jù),該控制單元將該第一及該第二儲存數(shù)據(jù)分別并行地復制至該第二及該第四存儲器區(qū)塊。
本發(fā)明的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法包括下列步驟。將來自數(shù)據(jù)儲存裝置外部的主機的第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)并行地分別儲存至第一存儲器區(qū)塊及第三存儲器區(qū)塊。將第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)并行地分別復制至第二存儲器區(qū)塊及第四存儲器區(qū)塊。其中該第一及該第二儲存數(shù)據(jù)包括一最低有效位頁數(shù)據(jù)與一最高有效位頁數(shù)據(jù),而該最低有效位頁數(shù)據(jù)與該最高有效位頁數(shù)據(jù)互為配對頁,以及所述將該第一及第二儲存數(shù)據(jù)并行地分別復制至該第二及該第四存儲器區(qū)塊的步驟包括:判斷該第一及該第二儲存數(shù)據(jù)是否為該最低有效位頁數(shù)據(jù),且判斷隨后來自該主機的一第三儲存數(shù)據(jù)及一第四儲存數(shù)據(jù)是否分別是與該第一及第二儲存數(shù)據(jù)配對的該最高有效位頁數(shù)據(jù);以及若該第一及該第二儲存數(shù)據(jù)為該最低有效位頁數(shù)據(jù)且該第三及該第四儲存數(shù)據(jù)是分別與該第一及第二儲存數(shù)據(jù)配對的該最高有效位頁數(shù)據(jù),將該第一及該第二儲存數(shù)據(jù)分別并行地復制至該第二及該第四存儲器區(qū)塊。
基于上述,藉由將來自主機的多筆儲存數(shù)據(jù)并行地儲存至不同的存儲器芯片(第一/第三存儲器區(qū)塊),并將這些儲存數(shù)據(jù)于各個存儲器芯片內(nèi)并行地做復制(第二/第四存儲器區(qū)塊),以達到避免數(shù)據(jù)寫入多層存儲單元快閃存儲器區(qū)塊時因斷電造成數(shù)據(jù)錯誤/佚失的情形。籍由同時地存取多通道的數(shù)據(jù)儲存裝置中各存儲器芯片中性質(zhì)相同的存儲器區(qū)塊(slc區(qū)塊或mlc區(qū)塊),以加快儲存數(shù)據(jù)的儲存速度。
為使本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并結合附圖詳細說明如下。
附圖說明
圖1~圖5示出了本發(fā)明實施例的數(shù)據(jù)儲存裝置的示意圖。
圖6~圖9示出了本發(fā)明實施例的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法的步驟示意圖。
附圖符號說明
100:數(shù)據(jù)儲存裝置
102:非易失性存儲器單元
104:控制單元
d1~dn:存儲器芯片
b1~b2n:存儲器區(qū)塊
slc:單層存儲單元快閃存儲器區(qū)塊
mlc:多層存儲單元快閃存儲器區(qū)塊
a1~a4:地址區(qū)段
a~h、a'~d':頁數(shù)據(jù)
s602~s604、s702~s706、s802~s810、s902~s910:數(shù)據(jù)寫入
具體實施方式
〔第一實施例〕
圖1示出了本發(fā)明一實施例的數(shù)據(jù)儲存裝置的示意圖。請參照圖1,數(shù)據(jù)儲存裝置100包括非易失性存儲器單元102與控制單元104,非易失性存儲器單元102耦接控制單元104。如圖1所示,非易失性存儲器單元102可例如包括多個存儲器芯片d1~dn,其中n為正整數(shù)。控制單元104可以對存儲器芯片d1~dn進行多通道(multi-channel)存取。各個存儲器芯片d1~dn中的第一存儲器芯片d1包括但不限于第一存儲器區(qū)塊b1與第二存儲器區(qū)塊b2,第二存儲器芯片d2包括第三存儲器區(qū)塊b3與第四存儲器區(qū)塊b4……,第n存儲器芯片dn包括第(2n-1)存儲器區(qū)塊b(2n-1)與第2n存儲器區(qū)塊b2n。以下以非易失性存儲器單元102包括2個存儲器芯片d1和d2來說明,但本發(fā)明不限于此。控制單元104可先將來自該數(shù)據(jù)儲存裝置100外部的主機(未繪示)的第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)分別儲存至第一存儲器區(qū)塊b1及第三存儲器區(qū)塊b3,然后再將第一儲存數(shù)據(jù)和該第二儲存數(shù)據(jù)分別復制至第二存儲器區(qū)塊b2及該第四存儲器區(qū)塊b4。第一和第二儲存數(shù)據(jù)的存儲和復制操作可并行地在第一和第二存儲器芯片d1和d2中進行,也可按照主機發(fā)送第一和第二儲存數(shù)據(jù)的順序依序地在第一和第二存儲器芯片d1和d2中進行。藉由重復寫入儲存數(shù)據(jù)至非易失性存儲器單元102的各存儲器芯片的不同性質(zhì)的存儲器區(qū)塊,即可避免儲存數(shù)據(jù)寫入時發(fā)生斷電而造成數(shù)據(jù)錯誤/佚失的情形。
詳細來說,在本實施例中,第一存儲器區(qū)塊b1、第三存儲器區(qū)塊b3…第(2n-1)存儲器區(qū)塊b(2n-1)均為單層存儲單元(singlelevelcell,slc)快閃存儲器區(qū)塊,第二存儲器區(qū)塊b2、第四存儲器區(qū)塊b4…第2n存儲器區(qū)塊b2n均為多層存儲單元(multi-levelcell,mlc)快閃存儲器區(qū)塊。控制單元104于接收到主機的多筆儲存數(shù)據(jù)(例如前述的第一及第二儲存數(shù)據(jù))后,可先將多筆儲存數(shù)據(jù)儲存至各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊中(亦即第一存儲器區(qū)塊b1、第三存儲器區(qū)塊b3…第(2n-1)存儲器區(qū)塊b(2n-1)),然后再將這些多筆儲存數(shù)據(jù)復制至多層存儲單元快閃存儲器區(qū)塊中(亦即第二存儲器區(qū)塊b2、第四存儲器區(qū)塊b4…第2n存儲器區(qū)塊b2n)。此多筆儲存數(shù)據(jù)的存儲和復制操作可并行地在各個存儲器芯片中進行,也可按照主機發(fā)送這些儲存數(shù)據(jù)的順序依序地在各個存儲器芯片中進行。在一實施例中,如圖1所示,控制單元104可在將第一儲存數(shù)據(jù)和該第二儲存數(shù)據(jù)分別儲存至第一存儲器區(qū)塊b1的第一地址區(qū)段a1及第三存儲器區(qū)塊b3的第二地址區(qū)段a2后,再將來自該主機的一第三儲存數(shù)據(jù)和一第四儲存數(shù)據(jù)分別儲存至該第一存儲器區(qū)塊b1的第三地址區(qū)段a3及第三存儲器區(qū)塊b3的第四地址區(qū)段a4,之后控制單元104再將位于第一地址區(qū)段a1的第一儲存數(shù)據(jù)與位于第三地址區(qū)段a3的第三儲存數(shù)據(jù)復制至第二存儲器區(qū)塊b2中,同時控制單元104也將位于第二地址區(qū)段a2的第二儲存數(shù)據(jù)與位于第四地址區(qū)段a4的第四儲存數(shù)據(jù)復制至第四存儲器區(qū)塊b4中。在本實施例中,前述「復制」操作可于當前被存取的slc存儲器區(qū)塊(亦即第一存儲器區(qū)塊b1、第三存儲器區(qū)塊b3…第(2n-1)存儲器區(qū)塊b(2n-1))被寫入固定數(shù)據(jù)量(如述的2個地址區(qū)段的數(shù)據(jù)量)后進行,在其它實施例中,「復制」操作也可于當前被存取的slc存儲器區(qū)塊寫滿或者一定數(shù)量的slc存儲器區(qū)塊被寫滿后進行。前述「復制」操作可以是數(shù)據(jù)的合并(merge)操作。
在本實施例中,多筆儲存數(shù)據(jù)先寫入各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊(如第一存儲器區(qū)塊b1和第三存儲器區(qū)塊b3)中,由于單層存儲單元快閃存儲器區(qū)塊的存取速度快于多層存儲單元快閃存儲器區(qū)塊,因此數(shù)據(jù)的寫入速度得以加快。同時,由于本發(fā)明籍由對多個存儲器芯片d1~dn進行多通道(multi-channel)存取,進一步加快了寫入速度。
圖2示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的示意圖,請參照圖2。圖2示出圖1的數(shù)據(jù)儲存裝置100將儲存在各存儲器芯片d1~dn的各單層存儲單元快閃存儲器區(qū)塊中的儲存數(shù)據(jù)復制至多層存儲單元快閃存儲器區(qū)塊中的情形。同樣以非易失性存儲器單元102包括2個存儲器芯片d1和d2為例來說明,控制單元104于進行「復制」操作時,將位于第一地址區(qū)段a1的第一儲存數(shù)據(jù)與位于第三地址區(qū)段a3的該第三儲存數(shù)據(jù)合并至第二存儲器區(qū)塊b2的第五地址區(qū)段a5中,同時控制單元104也將位于第二地址區(qū)段a2的第二儲存數(shù)據(jù)與位于第四地址區(qū)段a4的第四儲存數(shù)據(jù)合并至第四存儲器區(qū)塊b4的第六地址區(qū)段a6中。由于多層存儲單元快閃存儲器區(qū)塊(亦即第二存儲器區(qū)塊b2、第四存儲器區(qū)塊b4…第2n存儲器區(qū)塊b2n)可儲存的數(shù)據(jù)密度會比單層存儲單元快閃存儲器區(qū)塊(亦即第一存儲器區(qū)塊b1、第三存儲器區(qū)塊b3…第(2n-1)存儲器區(qū)塊b(2n-1))多一倍,因此第二存儲器區(qū)塊b2和第四存儲器區(qū)塊b4復制儲存數(shù)據(jù)所需使用到的頁數(shù)僅需第一存儲器區(qū)塊b1和第三存儲器區(qū)塊b3所使用的頁數(shù)的一半。
在位于第一地址區(qū)段a1與第三地址區(qū)段a3的儲存數(shù)據(jù)復制至第二存儲器區(qū)塊b2后,以及位于第二地址區(qū)段a2與第四地址區(qū)段a4的儲存數(shù)據(jù)復制至第四存儲器區(qū)塊b4后,位于第一地址區(qū)段a1與第三地址區(qū)段a3的儲存數(shù)據(jù)以及位于第二地址區(qū)段a2與第四地址區(qū)段a4的儲存數(shù)據(jù)成為無效(invalid)數(shù)據(jù)(如圖2所示的斜線部份),控制單元104可擦除第一存儲器區(qū)塊b1中位于第一地址區(qū)段a1與第三地址區(qū)段a3的儲存數(shù)據(jù)以及第三存儲器區(qū)塊b3中位于第二地址區(qū)段a2與第四地址區(qū)段a4的儲存數(shù)據(jù)。在部分實施例中,亦可等到第一/三存儲器區(qū)塊b1/b3所儲存的數(shù)據(jù)達到預設數(shù)據(jù)量時才擦除第一/三存儲器區(qū)塊b1/b3中已被復制的數(shù)據(jù)。
值得注意的是,本實施例雖以多通道的方式同時對多個存儲器芯片進行寫入動作為例進行說明,然在部分實施例中,非易失性存儲器單元102亦可僅包括一個存儲器芯片,此外,各個存儲器芯片亦不限于僅包括一個第一存儲器區(qū)塊b1與一個第二存儲器區(qū)塊b2。此外,上述第一地址區(qū)段a1與第二地址區(qū)段a2所儲存的數(shù)據(jù)量可依實際應用情形設定,在部分實施例中第一地址區(qū)段a1與第二地址區(qū)段a2所儲存的數(shù)據(jù)量亦可對應到多個slc存儲器區(qū)塊。
由于單層存儲單元快閃存儲器的物理特性,對單層存儲單元快閃存儲器區(qū)塊進行寫入時并不會有因斷電而產(chǎn)生數(shù)據(jù)錯誤/佚失的情形,因此藉由在存儲器芯片中劃分出少部分的存儲器做為單層存儲單元快閃存儲器區(qū)塊,并先將欲儲存至多層存儲單元快閃存儲器區(qū)塊的儲存數(shù)據(jù)先儲存至單層存儲單元快閃存儲器區(qū)塊中,然后再儲存至多層存儲單元快閃存儲器區(qū)塊,如此即使在對多層存儲單元快閃存儲器區(qū)塊進行寫入時發(fā)生斷電的情形,復電后仍可自單層存儲單元快閃存儲器區(qū)塊中再取得未寫入完成的儲存數(shù)據(jù),因此可避免儲存數(shù)據(jù)因斷電而發(fā)生數(shù)據(jù)錯誤/佚失的情形。
〔第二實施例〕
圖3示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的示意圖,請參照圖3。數(shù)據(jù)儲存裝置300與圖1的數(shù)據(jù)儲存裝置100相同標號的元件的名稱與功能均相同,在此不再贅述。圖3與圖1實施例的不同之處在于,在本實施例中,假設第一存儲器區(qū)塊b1、第三存儲器區(qū)塊b3…第(2n-1)存儲器區(qū)塊b(2n-1)均為多層存儲單元快閃存儲器區(qū)塊,第二存儲器區(qū)塊b2、第四存儲器區(qū)塊b4…第2n存儲器區(qū)塊b2n均為單層存儲單元快閃存儲器區(qū)塊。如前所述,多層存儲單元快閃存儲器區(qū)塊中的數(shù)據(jù)是以配對頁(pairedpages)的形式儲存,即一最低有效位(leastsignificantbit,lsb)頁數(shù)據(jù)會與一最高有效位(mostsignificantbit,msb)頁數(shù)據(jù)對應儲存。上述的多筆儲存數(shù)據(jù)(以下以前述的第一及第二儲存數(shù)據(jù)為例說明)可能是lsb頁數(shù)據(jù)也可能是msb頁數(shù)據(jù)??刂茊卧?04接收到主機的第一及第二儲存數(shù)據(jù)后將判斷寫入非易失性存儲器單元102的第一及第二儲存數(shù)據(jù)是否為lsb頁數(shù)據(jù),若第一及第二儲存數(shù)據(jù)為lsb頁數(shù)據(jù),控制單元104并行地將各lsb頁數(shù)據(jù)的儲存數(shù)據(jù)分別寫入不同的存儲器芯片(如d1和d2)的多層存儲單元快閃存儲器區(qū)塊(亦即第一存儲器區(qū)塊b1和第三存儲器區(qū)塊b3)中,并且將各lsb頁數(shù)據(jù)分別復制至存儲器芯片d1和d2的單層存儲單元快閃存儲器區(qū)塊(亦即第二存儲器區(qū)塊b2和第四存儲器區(qū)塊b4)中。相反地,若第一及第二儲存數(shù)據(jù)為msb頁數(shù)據(jù),則控制單元104并行地將各msb頁數(shù)據(jù)的儲存數(shù)據(jù)分別寫入不同的存儲器芯片(如d1和d2)中而不進行復制的動作。
舉例來說,圖4示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的示意圖。假設在圖3實施例中有4個存儲器芯片(亦即n=4),主機先依序發(fā)送lsb頁數(shù)據(jù)的儲存數(shù)據(jù),包括頁數(shù)據(jù)a~d,后來主機又依序發(fā)送與頁數(shù)據(jù)a~d配對的msb頁數(shù)據(jù),包括頁數(shù)據(jù)e~h。此外在本實施例中頁數(shù)據(jù)a'、b'、c'、d'為頁數(shù)據(jù)a、b、c、d的復制數(shù)據(jù),控制單元104可先并行地將頁數(shù)據(jù)a、b、c、d儲存至各存儲器芯片d1~d4的多層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b1、b3、b5和b7)中,當控制單元104判斷出儲存數(shù)據(jù)為lsb頁數(shù)據(jù)(亦即頁數(shù)據(jù)a~d)時,隨即還將頁數(shù)據(jù)a'、b'、c'、d'復制至各存儲器芯片d1~d4的單層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b2、b4、b6和b8)中,即是說,當判斷到一儲存數(shù)據(jù)為lsb頁數(shù)據(jù)時,控制單元104會將該儲存數(shù)據(jù)在mlc區(qū)域和slc區(qū)域各寫一次以做備份。隨后當主機依序發(fā)送與頁數(shù)據(jù)a~d配對的msb頁數(shù)據(jù)e~h時,控制單元104判斷出儲存數(shù)據(jù)為msb頁數(shù)據(jù)(亦即頁數(shù)據(jù)e~h),則控制單元104分別將msb頁數(shù)據(jù)的頁數(shù)據(jù)e~h分別儲存至具有與頁數(shù)據(jù)e~h配對的頁數(shù)據(jù)(亦即頁數(shù)據(jù)a~d)的各存儲器芯片中,其中頁數(shù)據(jù)e~h為儲存至多層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b1、b3、b5和b7)中。此外,當與單層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b2、b4、b6和b8)中的lsb頁數(shù)據(jù)配對的msb頁數(shù)據(jù)(頁數(shù)據(jù)e~h)都被儲存至多層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b1、b3、b5和b7)中之后,單層存儲單元快閃存儲器區(qū)塊中的數(shù)據(jù)(頁數(shù)據(jù)a'~d')即成為無效(invalid)數(shù)據(jù)而可以擦除。在某些實施例中,控制單元104還每隔一預設時間擦除各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b2、b4、b6和b8)中的無效數(shù)據(jù),或當存儲器芯片的單層存儲單元快閃存儲器區(qū)塊中的數(shù)據(jù)達到預設數(shù)據(jù)量時再擦除。
如此藉由將lsb頁數(shù)據(jù)的儲存數(shù)據(jù)復制至單層存儲單元快閃存儲器區(qū)塊中,利用單層存儲單元快閃存儲器區(qū)塊的寫入不受斷電影響而產(chǎn)生寫入數(shù)據(jù)錯誤/佚失的特性,即可避免儲存數(shù)據(jù)因斷電而發(fā)生數(shù)據(jù)錯誤/佚失的情形。且由于單層存儲單元快閃存儲器區(qū)塊的寫入速度較多層存儲單元快閃存儲器區(qū)塊的寫入速度快,本實施例藉由先同時寫入lsb頁數(shù)據(jù)的儲存數(shù)據(jù)至多層存儲單元快閃存儲器區(qū)塊,然后再同時備份lsb頁數(shù)據(jù)的儲存數(shù)據(jù)至單層存儲單元快閃存儲器區(qū)塊。如此可避免同時對多層存儲單元快閃存儲器區(qū)塊與單層存儲單元快閃存儲器區(qū)塊進行寫入,而使單層存儲單元快閃存儲器區(qū)塊的存儲器芯片須等待多層存儲單元快閃存儲器區(qū)塊的存儲器芯片完成寫入后才能進行下一次的寫入動作的情形發(fā)生,因而可提高儲存數(shù)據(jù)的儲存速度。
〔第三實施例〕
請參照圖5,本實施例假設第一和第三存儲器區(qū)塊b1和b3為單層存儲單元快閃存儲器區(qū)塊,第二和第四存儲器區(qū)塊b2和b4為多層存儲單元快閃存儲器區(qū)塊,且儲存數(shù)據(jù)亦包括lsb頁數(shù)據(jù)與msb頁數(shù)據(jù),lsb頁數(shù)據(jù)與msb頁數(shù)據(jù)構成配對頁儲存于多層存儲單元快閃存儲器區(qū)塊區(qū)域??刂茊卧?04先將第一及第二儲存數(shù)據(jù)并行地分別儲存至各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊(如第一及第三存儲器區(qū)塊b1、b3)中,本實施例與第二實施例的不同之處在于,在本實施例中,控制單元104在判斷寫入非易失性存儲器單元102的第一及第二儲存數(shù)據(jù)為lsb頁數(shù)據(jù),且控制單元104又判斷出隨后來自主機的第三及第四儲存數(shù)據(jù)為與lsb頁數(shù)據(jù)(第一及第二儲存數(shù)據(jù))配對的msb頁數(shù)據(jù)時,控制單元104首先將原先儲存在各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊(如第一及第三存儲器區(qū)塊b1、b3)中對應該msb頁數(shù)據(jù)的lsb頁數(shù)據(jù)復制至多層存儲單元快閃存儲器區(qū)塊(如第二及第四存儲器區(qū)塊b2、b4),再將msb頁數(shù)據(jù)(第三及第四儲存數(shù)據(jù))也儲存至多層存儲單元快閃存儲器區(qū)塊(如第二及第四存儲器區(qū)塊b2、b4)中。此外,當單層存儲單元快閃存儲器區(qū)塊(如第一及第三存儲器區(qū)塊b1、b3)中的數(shù)據(jù)都被復制到多層存儲單元快閃存儲器區(qū)塊(如第二及第四存儲器區(qū)塊b2、b4)中之后,單層存儲單元快閃存儲器區(qū)塊中的數(shù)據(jù)即成為無效(invalid)數(shù)據(jù)而可以擦除。在某些實施例中,控制單元104還每隔一預設時間擦除各存儲器芯片的單層存儲單元快閃存儲器區(qū)塊(如第一及第三存儲器區(qū)塊b1、b3)中的無效數(shù)據(jù),或當存儲器芯片的單層存儲單元快閃存儲器區(qū)塊中的數(shù)據(jù)達到預設數(shù)據(jù)量時再擦除,以確保單層存儲單元快閃存儲器區(qū)塊有足夠的空間進行儲存數(shù)據(jù)的備份。
舉例來說,圖5示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的示意圖。假設在圖5實施例中有4個存儲器芯片(亦即n=4),主機先依序發(fā)送lsb頁數(shù)據(jù)的儲存數(shù)據(jù),包括頁數(shù)據(jù)a~d,后來主機又依序發(fā)送與頁數(shù)據(jù)a~d配對的msb頁數(shù)據(jù)為頁數(shù)據(jù)e~h。在本實施例中頁數(shù)據(jù)a'、b'、c'、d'為頁數(shù)據(jù)a、b、c、d的復制數(shù)據(jù),控制單元104可先并行地將頁數(shù)據(jù)a、b、c、d儲存至各存儲器芯片d1~d4的單層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b1、b3、b5和b7)中。圖5的實施例與圖4的不同之處在于,控制單元104先將lsb頁數(shù)據(jù)儲存于單層而非多層存儲單元快閃存儲器區(qū)塊,且并不會隨即復制頁數(shù)據(jù)a'、b'、c'、d',而是隨后當主機依序發(fā)送與頁數(shù)據(jù)a~d配對的msb頁數(shù)據(jù)e~h時才做復制,即當控制單元104判斷出儲存數(shù)據(jù)為與lsb頁數(shù)據(jù)配對的msb頁數(shù)據(jù)后,控制單元104可先將lsb頁數(shù)據(jù)a'、b'、c'、d'并行地分別寫入存儲器芯片d1~d4的多層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b2、b4、b6和b8)中,然后再將msb頁數(shù)據(jù)e、f、g、h也并行地分別存儲至具有與頁數(shù)據(jù)e~h配對的頁數(shù)據(jù)(亦即頁數(shù)據(jù)a~d)的存儲器芯片中,即各存儲器芯片d1~d4的多層存儲單元快閃存儲器區(qū)塊(亦即存儲器區(qū)塊b2、b4、b6和b8)中。
如此藉由并行地將各lsb頁數(shù)據(jù)的儲存數(shù)據(jù)先儲存至單層存儲單元快閃存儲器區(qū)塊中,利用單層存儲單元快閃存儲器區(qū)塊的寫入不受斷電影響而產(chǎn)生寫入數(shù)據(jù)錯誤/佚失的特性,即可避免儲存數(shù)據(jù)因斷電而發(fā)生數(shù)據(jù)錯誤/佚失的情形。而只有在寫入lsb頁數(shù)據(jù)對應的msb頁數(shù)據(jù)時,才會將原本儲存在單層存儲單元快閃存儲器區(qū)塊中的lsb頁數(shù)據(jù)復制到多層存儲單元快閃存儲器區(qū)塊中,隨后再儲存對應的msb頁數(shù)據(jù),由于lsb頁數(shù)據(jù)因斷電而發(fā)生數(shù)據(jù)錯誤/佚失的情形只會出現(xiàn)在寫入與之配對的msb頁數(shù)據(jù)時,因此若不寫入配對的msb頁數(shù)據(jù),則無需將lsb頁數(shù)據(jù)復制至多層存儲單元快閃存儲器區(qū)塊,本實施例籍由將其保留在單層存儲單元快閃存儲器區(qū)塊中,可進一步節(jié)省儲存空間并減少存取次數(shù)。
〔第四實施例〕
圖6示出了本發(fā)明一實施例的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法的步驟示意圖,請參照圖6。歸納上述數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法可包括下列步驟。首先,將來自數(shù)據(jù)儲存裝置外部的主機的第一儲存數(shù)據(jù)和第二儲存數(shù)據(jù)并行地分別儲存至非易失性存儲器單元中的第一存儲器區(qū)塊及第三存儲器區(qū)塊(步驟s602)。接著,將第一儲存數(shù)據(jù)和該第二儲存數(shù)據(jù)分別復制至非易失性存儲器單元中的第二存儲器區(qū)塊及該第四存儲器區(qū)塊(步驟s604)。其中第一存儲器區(qū)塊與第二存儲器區(qū)塊同屬于第一存儲器芯片,第三存儲器區(qū)塊與第四存儲器區(qū)塊同屬于第二存儲器芯片。如此藉由重復寫入儲存數(shù)據(jù)至非易失性存儲器單元的各存儲器芯片的不同性質(zhì)的存儲器區(qū)塊,即可避免儲存數(shù)據(jù)寫入時發(fā)生斷電而造成數(shù)據(jù)錯誤/佚失的情形。
〔第五實施例〕
圖7示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法的步驟示意圖,請參照圖7。在本實施例中,上述的第一存儲器區(qū)塊及第三存儲器區(qū)塊可例如為單層存儲單元快閃存儲器區(qū)塊,而第二存儲器區(qū)塊及第四存儲器區(qū)塊可例如為多層存儲單元快閃存儲器區(qū)塊。詳細來說,上述第一及第二儲存數(shù)據(jù)分別復制至非易失性存儲器單元中的第二及第四存儲器區(qū)塊的步驟可如圖7所示,將來自主機的第三儲存數(shù)據(jù)和第四儲存數(shù)據(jù)并行地分別儲存至非易失性存儲器單元中的第一存儲器區(qū)塊及第三存儲器區(qū)塊(步驟s701)。判斷第一存儲器區(qū)塊中的第一地址區(qū)段與第三地址區(qū)段,以及第三存儲器區(qū)塊中的第二地址區(qū)段與第四地址區(qū)段是否被寫入數(shù)據(jù)(步驟s702)。若第一存儲器區(qū)塊中的第一地址區(qū)段與第二地址區(qū)段以及第三存儲器區(qū)塊中的第二地址區(qū)段與第四地址區(qū)段未皆被寫入數(shù)據(jù),則回到步驟s701,繼續(xù)將儲存數(shù)據(jù)儲存至非易失性存儲器單元中的第一及第三存儲器區(qū)塊。而若第一存儲器區(qū)塊中的第一地址區(qū)段與第二地址區(qū)段及第三存儲器區(qū)塊中的第二地址區(qū)段與第四地址區(qū)段皆被寫入數(shù)據(jù),將位于第一地址區(qū)段與第三地址區(qū)段的儲存數(shù)據(jù)復制至第二存儲器區(qū)塊,并將位于第二地址區(qū)段與第四地址區(qū)段的儲存數(shù)據(jù)復制至第四存儲器區(qū)塊(步驟s704)。然后,擦除第一存儲器區(qū)塊的第一地址區(qū)段與第二地址區(qū)段,并擦除第三存儲器區(qū)塊的第二地址區(qū)段與第四地址區(qū)段(步驟s706),以確保非易失性存儲器單元中的第一及第三存儲器區(qū)塊有足夠的空間繼續(xù)寫入儲存數(shù)據(jù)。
〔第六實施例〕
圖8示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法的步驟示意圖,請參照圖8。在本實施例中上述的第一存儲器區(qū)塊及第三存儲器區(qū)塊可例如為多層存儲單元快閃存儲器區(qū)塊,而第二存儲器區(qū)塊及第四存儲器區(qū)塊可例如為單層存儲單元快閃存儲器區(qū)塊,且儲存數(shù)據(jù)包括lsb頁數(shù)據(jù)與msb頁數(shù)據(jù),其中l(wèi)sb頁數(shù)據(jù)與msb頁數(shù)據(jù)為配對頁。在本實施例中,上述將第一及第二儲存數(shù)據(jù)并行地分別復制至非易失性存儲器單元中的第二及第四存儲器區(qū)塊的步驟可如圖8所示,其包括,判斷儲存至第一及第三存儲器區(qū)塊的第一及第二儲存數(shù)據(jù)是否為lsb頁數(shù)據(jù)(步驟s802)。若儲存數(shù)據(jù)為lsb頁數(shù)據(jù),將lsb頁數(shù)據(jù)(即第一及第二儲存數(shù)據(jù))分別復制至第二及第四存儲器區(qū)塊(步驟s804)。相反地,若儲存數(shù)據(jù)為msb頁數(shù)據(jù),則結束(步驟s806)。
在執(zhí)行步驟s804后,可繼續(xù)判斷與第一及第二儲存數(shù)據(jù)配對的msb頁數(shù)據(jù)是否已經(jīng)分別儲存至第一及第三存儲器區(qū)塊(步驟s808)。若否則回到步驟s402。若是,將第二及第四存儲器區(qū)塊中的第一及第二儲存數(shù)據(jù)的復制數(shù)據(jù)(如圖4的復制數(shù)據(jù)a'、b'、c'、d')標識為無效(invalid)(步驟s810)。在某些實施例中,當?shù)诙虻谒拇鎯ζ鲄^(qū)塊中的數(shù)據(jù)已經(jīng)過一段預設時間未被擦除,或第二或第四存儲器區(qū)塊中的數(shù)據(jù)已達到預設數(shù)據(jù)量,則將第二或第四存儲器區(qū)塊擦除。
〔第七實施例〕
圖9示出了本發(fā)明另一實施例的數(shù)據(jù)儲存裝置的數(shù)據(jù)寫入方法的步驟示意圖,請參照圖9。在本實施例中上述的第一存儲器區(qū)塊及第三存儲器區(qū)塊可例如為單層存儲單元快閃存儲器區(qū)塊,而第二存儲器區(qū)塊及第四存儲器區(qū)塊可例如為多層存儲單元快閃存儲器區(qū)塊,且儲存數(shù)據(jù)包括lsb頁數(shù)據(jù)與msb頁數(shù)據(jù),其中l(wèi)sb頁數(shù)據(jù)與msb頁數(shù)據(jù)為配對頁。在本實施例中,上述將第一及第二儲存數(shù)據(jù)并行地分別復制至非易失性存儲器單元中的第二及第四存儲器區(qū)塊的步驟可如圖9所示,其包括,判斷儲存至第一及第三存儲器區(qū)塊的第一及第二儲存數(shù)據(jù)是否為lsb頁數(shù)據(jù),且判斷隨后來自主機的第三及第四儲存數(shù)據(jù)是否是與第一及第二儲存數(shù)據(jù)配對的msb頁數(shù)據(jù)(步驟s902)。若是,則首先將原先儲存在第一及第三存儲器區(qū)塊中的第一及第二儲存數(shù)據(jù)(lsb頁數(shù)據(jù))分別并行地復制至第二及第四存儲器區(qū)塊(步驟s904)。再將第三及第四儲存數(shù)據(jù)(msb頁數(shù)據(jù))分別并行地儲存至第二及第四存儲器區(qū)塊(步驟s908)。當將第一及第二儲存數(shù)據(jù)(lsb頁數(shù)據(jù))分別并行地復制至該第二及該第四存儲器區(qū)塊之后,可將原先儲存在第一及第三存儲器區(qū)塊中的第一及第二儲存數(shù)據(jù)(lsb頁數(shù)據(jù))標識為無效(invalid)數(shù)據(jù)而可以擦除(步驟s910)。在某些實施例中,每隔一預設時間擦除第一及第三存儲器區(qū)塊中的無效數(shù)據(jù),或當?shù)谝患暗谌鎯ζ鲄^(qū)塊中的數(shù)據(jù)達到預設數(shù)據(jù)量時再擦除。
綜上所述,本發(fā)明藉由將來自主機的多筆儲存數(shù)據(jù)儲存至各存儲器芯片的mlc或slc區(qū)塊中,并將儲存數(shù)據(jù)復制至各存儲器芯片的slc或mlc區(qū)塊中,以達到避免數(shù)據(jù)寫入時因斷電造成數(shù)據(jù)錯誤/佚失的情形。籍由同時地存取多通道的數(shù)據(jù)儲存裝置中各存儲器芯片性質(zhì)相同的存儲器區(qū)塊(slc區(qū)塊或mlc區(qū)塊),以加快儲存數(shù)據(jù)的儲存速度。