專利名稱:快閃存儲(chǔ)裝置與快閃存儲(chǔ)裝置管理方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于一種快閃存儲(chǔ)器控制器與快閃存儲(chǔ)器存取方法,特別關(guān)于一種可提升快閃存儲(chǔ)器的讀寫速率并降低錯(cuò)誤率的快閃存儲(chǔ)器控制器與快閃存儲(chǔ)器存取方法。
背景技術(shù):
NAND快閃存儲(chǔ)器為非揮發(fā)性存儲(chǔ)器,因此不需電力來維持?jǐn)?shù)據(jù)的儲(chǔ)存。此外,NAND 快閃存儲(chǔ)器具有較快的編程(program)與清除(erase)時(shí)間。在NAND快閃存儲(chǔ)器內(nèi),每個(gè)存儲(chǔ)單元(cell)所占的芯片面積較小,因此具有較高的儲(chǔ)存密度。傳統(tǒng)的NAND快閃存儲(chǔ)器大致可分為單層單元(Single Level Cell,SLC)以及多層單元(Multi Level Cell,MLC),其中單層單元(SLC)快閃存儲(chǔ)器的單一存儲(chǔ)單元僅能儲(chǔ)存一位數(shù)據(jù),多層單元(MLC)快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存兩位(或以上)的數(shù)據(jù)。隨著工藝的進(jìn)化,為了更進(jìn)一步提升存儲(chǔ)器單元的儲(chǔ)存密度,現(xiàn)今已更發(fā)展出三層單元 (Triple level cell,TLC)以及四層單元(Quad level cell,QLC)的 NAND 快閃存儲(chǔ)器,其中三層單元(TLC)快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存三位數(shù)據(jù),而四層單元(QLC)快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存四位數(shù)據(jù)??扉W存儲(chǔ)器通常以頁(page,或稱物理頁,physical page)為單位進(jìn)行數(shù)據(jù)寫入或讀取,以三層單元快閃存儲(chǔ)器為例,一個(gè)物理頁由一組快閃存儲(chǔ)器單元組成,該組存儲(chǔ)器中各存儲(chǔ)單元分別可儲(chǔ)存三位的數(shù)據(jù),包含最高有效位(Most SignificantBit,MSB)、中央有效位(Central Significant Bit, CSB),以及最低有效位(LeastSignificant Bit, LSB), 并且各三個(gè)位分別對應(yīng)于三個(gè)不同的邏輯頁(Logical page),即有不同的邏輯地址供主機(jī) (Host)尋址。換言之,一個(gè)物理頁對應(yīng)到三個(gè)邏輯頁。因此,以三層單元快閃存儲(chǔ)器為例, 各物理頁也可視為更包含三分頁(sub-page),各分頁分別對應(yīng)該組存儲(chǔ)單元中各存儲(chǔ)單元的最高有效位(MSB)、中央有效位(CSB),以及最低有效位(LSB)。請注意到,各物理頁所包含的各分頁可為邏輯上的概念,快閃存儲(chǔ)器單元不一定要有此物理上的分頁存在。然而,隨著各存儲(chǔ)單元的儲(chǔ)存密度被提升,快閃存儲(chǔ)器的讀取與寫入時(shí)間也隨的增加,另一方面,數(shù)據(jù)錯(cuò)誤率也會(huì)隨著存儲(chǔ)單元可儲(chǔ)存的位數(shù)量增加而提高。因此,需要一種全新的快閃存儲(chǔ)器存取方法與快閃存儲(chǔ)器控制器,可有效提升快閃存儲(chǔ)器的讀寫速率, 并且進(jìn)一步降低錯(cuò)誤率。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一實(shí)施例,一種快閃存儲(chǔ)裝置,耦接至一主機(jī),用以儲(chǔ)存數(shù)據(jù),包括一快閃存儲(chǔ)器以及一控制器??扉W存儲(chǔ)器包括一單層存儲(chǔ)器模塊與一多層存儲(chǔ)器模塊。單層存儲(chǔ)器模塊包括一第一數(shù)據(jù)總線與至少一單層單元快閃存儲(chǔ)器,各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存一位的數(shù)據(jù)。多層存儲(chǔ)器模塊包括一第二數(shù)據(jù)總線與至少一多層單元快閃存儲(chǔ)器,各多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù),并且該第一數(shù)據(jù)總線耦接至該第二數(shù)據(jù)總線。控制器用以管理該快閃存儲(chǔ)器的數(shù)據(jù)存取,其中于一寫入操作時(shí),該控制器自該主機(jī)接收數(shù)據(jù),再將該數(shù)據(jù)寫入該快閃存儲(chǔ)器的該單層存儲(chǔ)器模塊的該(等)單層單元快閃存儲(chǔ)器,并且其中該單層存儲(chǔ)器模塊通過相互耦接的該第一數(shù)據(jù)總線與該第二數(shù)據(jù)總線將儲(chǔ)存于該(等)單層單元快閃存儲(chǔ)器的該數(shù)據(jù)傳送至該多層存儲(chǔ)器模塊而不需通過控制器。根據(jù)本發(fā)明的另一實(shí)施例,一種快閃存儲(chǔ)裝置管理方法,用以管理耦接至一主機(jī)的一快閃存儲(chǔ)裝置,其中該快閃存儲(chǔ)裝置包括用以儲(chǔ)存數(shù)據(jù)的一快閃存儲(chǔ)器以及用以管理該快閃存儲(chǔ)器的數(shù)據(jù)存取的一控制器,該方法包括于一寫入操作時(shí),自該主機(jī)接收數(shù)據(jù)并將該數(shù)據(jù)寫入該快閃存儲(chǔ)器的一單層存儲(chǔ)器模塊內(nèi),其中該單層存儲(chǔ)器模塊包括一第一數(shù)據(jù)總線與至少一單層單元快閃存儲(chǔ)器,各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存一位的數(shù)據(jù),并且其中該快閃存儲(chǔ)器更包括一多層存儲(chǔ)器模塊,包括與該第一數(shù)據(jù)總線耦接的一第二數(shù)據(jù)總線與至少一多層單元快閃存儲(chǔ)器,各多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù);以及通過相互耦接的該第一數(shù)據(jù)總線與該第二數(shù)據(jù)總線將儲(chǔ)存于該 (等)單層單元快閃存儲(chǔ)器的該數(shù)據(jù)不通過該控制器而直接寫入該多層存儲(chǔ)器模塊,用以將該數(shù)據(jù)儲(chǔ)存于該(等)多層單元快閃存儲(chǔ)器。
圖1為根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)裝置的方塊圖。圖2顯示三層單元快閃存儲(chǔ)器進(jìn)行編程時(shí)的臨界電壓的分布示意圖。圖3顯示一種防干擾順序?qū)嵤├D4顯示根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)器裝置方塊圖。圖5顯示根據(jù)本發(fā)明的一實(shí)施例所述的數(shù)據(jù)寫入與讀取順序。圖6顯示快閃存儲(chǔ)器裝置于一般寫入與讀取操作時(shí)控制信號與數(shù)據(jù)的流向。圖7顯示快閃存儲(chǔ)器裝置于背景操作時(shí)控制信號與數(shù)據(jù)的流向。圖8顯示根據(jù)本發(fā)明的所述的因相鄰的侵略者而造成存儲(chǔ)單元產(chǎn)生電壓偏移示意圖。圖9顯示根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)裝置管理方法流程圖。圖10顯示根據(jù)本發(fā)明的另一實(shí)施例所述的快閃存儲(chǔ)裝置管理方法流程圖。主要組件符號說明102 主機(jī);104 快閃存儲(chǔ)裝置;106 控制器;108 快閃存儲(chǔ)器;110 錯(cuò)誤修正碼編碼/譯碼器;412 單層存儲(chǔ)器;414 多層存儲(chǔ)器;416 數(shù)據(jù)閘門EV、PVl、PV2、PV3、PV4、PV5、PV6、PV7、Vth 電壓;RE、WE 信號。
具體實(shí)施例方式為使本發(fā)明的制造、操作方法、目標(biāo)和優(yōu)點(diǎn)能更明顯易懂,下文特舉幾個(gè)較佳實(shí)施例,并配合所附圖式,詳細(xì)說明如下實(shí)施例圖1為根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)裝置104的方塊圖??扉W存儲(chǔ)裝置 104耦接至主機(jī)102,用以供主機(jī)102存取數(shù)據(jù)。于一實(shí)施例中,快閃存儲(chǔ)裝置104包括一控制器106及一快閃存儲(chǔ)器108。控制器106管理快閃存儲(chǔ)器108的數(shù)據(jù)存取。當(dāng)主機(jī)102 欲儲(chǔ)存數(shù)據(jù)至快閃存儲(chǔ)裝置104時(shí),耦接于主機(jī)102的控制器106自主機(jī)102接收數(shù)據(jù),再將數(shù)據(jù)寫入快閃存儲(chǔ)器108。當(dāng)主機(jī)102欲自快閃存儲(chǔ)裝置104提取數(shù)據(jù)時(shí),控制器106自快閃存儲(chǔ)器108讀取數(shù)據(jù),再將數(shù)據(jù)傳遞至主機(jī)102。圖2顯示三層單元快閃存儲(chǔ)器進(jìn)行編程時(shí)的臨界電壓(Threshold voltage, Vth) 的分布示意圖。請注意到,本發(fā)明不以三層單元快閃存儲(chǔ)器為限,本實(shí)施例僅為說明之用。 如圖所示,自對應(yīng)于抹除電壓(Erase Voltage,EV)、編程電壓1 (ProgramVoItage 1, PV 1、 編程電壓2(PV 2)...至編程電壓7(PV 7)等的八個(gè)狀態(tài)所儲(chǔ)存的位數(shù)據(jù)可分別代表,例如,邏輯狀態(tài) ‘111,、‘110,、‘100,、‘101,、‘001,、‘000,、‘010,與 ‘011,。一般而言,為了避免一次施加過大的電壓至存儲(chǔ)單元,在寫入數(shù)據(jù)的過程中,控制器106通常會(huì)將數(shù)據(jù)以漸進(jìn)的方式寫入欲編程的存儲(chǔ)單元中。例如,以三層單元快閃存儲(chǔ)器為例,控制器106可先寫入數(shù)據(jù)的最低有效位(LSB),再寫入中央有效位(CSB),最后寫入最高有效位(MSB)。如此一來,可提高編程的準(zhǔn)確度亦可增加編程的速度。然而,由于在編程多層單元快閃存儲(chǔ)器時(shí),上述漸進(jìn)的寫入方式仍然無法避免反復(fù)施加電壓于同一存儲(chǔ)器單元上(值注意的是,在本說明書中,以下所述的多層單元快閃存儲(chǔ)器為代表單一存儲(chǔ)單元可儲(chǔ)存多于一元數(shù)據(jù)的快閃存儲(chǔ)器的總稱,因此所述的多層單元快閃存儲(chǔ)器可包括上述的MLC、TLC、QLC或其它)。例如,在寫入TLC時(shí)會(huì)施加至少3次電壓,用以分別寫入LSB、CSB與MSB。因此,在寫入數(shù)據(jù)的過程中,反復(fù)施加于同一存儲(chǔ)器單元上的編程操作可能導(dǎo)致相鄰的存儲(chǔ)器單元產(chǎn)生耦合效應(yīng),進(jìn)而造成電壓偏移。因此,實(shí)際上在將數(shù)據(jù)寫入多層單元快閃存儲(chǔ)器時(shí),并不會(huì)依照各物理頁的各分頁的順序一一寫入, 而是需要依照一種特定的分頁順序(以下稱為防干擾順序(anti-disturbance order))編程存儲(chǔ)器單元圖3顯示一種防干擾順序?qū)嵤├T诖藢?shí)施例中以編程三層單元快閃存儲(chǔ)器為范例,圖中的編號代表各分頁的編程順序。如圖所示,在此實(shí)施例中,物理頁第0頁的LSB首先被編程,接著編程物理頁第1頁的LSB,接著再回到物理頁第0頁編程CSB,接著繼續(xù)編程物理頁第2頁的LSB,再回到物理頁第1頁編程CSB,...以此類推。由于根據(jù)所述的防干擾順序?qū)嵤├晃锢眄摰母鞣猪摬粫?huì)連續(xù)地被編程,而是將相鄰物理頁的各分頁交錯(cuò)編程, 如此的交錯(cuò)編程可產(chǎn)生校正的效果,用以避免連續(xù)施加于同一存儲(chǔ)器單元上的編程操作對相鄰存儲(chǔ)器單元產(chǎn)生的電壓偏移。然而,由于快閃存儲(chǔ)器的讀取順序最好與寫入順序相同,否則控制器需要做額外的重新排序(reorder)動(dòng)作,因此這樣的交錯(cuò)編程會(huì)增加快閃存儲(chǔ)器的讀取時(shí)間。更具體的說,當(dāng)數(shù)據(jù)依照如圖3所示的防干擾順序?qū)懭霑r(shí),控制器將無法在連續(xù)3次的邏輯頁讀取操作中取得同一物理頁的三個(gè)分頁的所有內(nèi)容。例如,控制器必須等到第6次邏輯頁讀取時(shí)才可以收集到第0頁的LSB、CSB與MSB的內(nèi)容,亦即,控制器必須控制快閃存儲(chǔ)器讀取數(shù)個(gè)物理頁,才可取得單一物理頁的各分頁所儲(chǔ)存的數(shù)據(jù),導(dǎo)致讀取時(shí)間大幅增加。因此,本發(fā)明提出一種新的混合式快閃存儲(chǔ)器架構(gòu),結(jié)合新的快閃存儲(chǔ)器存取方法以及執(zhí)行該方法的快閃存儲(chǔ)器控制器,用以大幅提升快閃存儲(chǔ)器的讀寫速率。圖4顯示根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)器裝置方塊圖。如圖所示,快閃存儲(chǔ)器108可為一混合式快閃存儲(chǔ)器,包含單層存儲(chǔ)器模塊412與多層存儲(chǔ)器模塊414,其中單層存儲(chǔ)器模塊412可包含數(shù)個(gè)或至少一個(gè)單層單元快閃存儲(chǔ)器,多層存儲(chǔ)器模塊414 可包含數(shù)個(gè)或至少一個(gè)多層單元快閃存儲(chǔ)器。各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存單一位的數(shù)據(jù),因此在本發(fā)明的實(shí)施例中,單層單元快閃存儲(chǔ)器可為上述的SLC,而各多層單元快閃存儲(chǔ)器可包括數(shù)個(gè)物理頁,各物理頁分別包括數(shù)個(gè)分頁,各分頁用以儲(chǔ)存一位的數(shù)據(jù)。在本發(fā)明的實(shí)施例中,由于多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù),因此這些多層單元快閃存儲(chǔ)器可以是上述的MLC、TLC、QLC或其它可儲(chǔ)存兩位以上的數(shù)據(jù)的快閃存儲(chǔ)器。根據(jù)本發(fā)明的一實(shí)施例,單層存儲(chǔ)器模塊412的數(shù)據(jù)總線DJ0] D0[η]與多層存儲(chǔ)器模塊414的數(shù)據(jù)總線D1 W] D1 [η]互相耦接,用以直接于兩者間傳送數(shù)據(jù)(以下將有更詳細(xì)的介紹)。根據(jù)本發(fā)明的一實(shí)施例,于一寫入操作時(shí),控制器106可自主機(jī)102接收數(shù)據(jù),并且首先將該數(shù)據(jù)寫入快閃存儲(chǔ)器108的單層存儲(chǔ)器模塊412。由于單層存儲(chǔ)器模塊412包括數(shù)個(gè)SLC快閃存儲(chǔ)器,其具有極快的寫入速度,因此控制器106可快速地將數(shù)據(jù)寫入快閃存儲(chǔ)器108,用以提升寫入速度。待單層存儲(chǔ)器模塊412接收到一既定數(shù)量的數(shù)據(jù)位時(shí),單層存儲(chǔ)器模塊412可開始通過相互耦接的數(shù)據(jù)總線DJ0] DJn]與D1
D1 [η],將儲(chǔ)存于這些單層單元快閃存儲(chǔ)器的數(shù)據(jù)于背景直接傳送至多層存儲(chǔ)器模塊414。亦即,可在無需控制器106的控制之下,將儲(chǔ)存于這些單層單元快閃存儲(chǔ)器的數(shù)據(jù)于直接傳送至多層存儲(chǔ)器模塊414,如此一來,控制器106的運(yùn)算資源將不會(huì)被占用。圖5顯示根據(jù)本發(fā)明的一實(shí)施例所述的數(shù)據(jù)寫入與讀取順序。結(jié)合圖3所示的防干擾順序?qū)嵤├?,以下將對本發(fā)明的精神做詳細(xì)的介紹。值得注意的是,為了清楚闡述本發(fā)明的概念,圖3與圖5以三層單元(TLC)快閃存儲(chǔ)器為例顯示的各分頁的寫入與讀取順序, 然而本發(fā)明當(dāng)可應(yīng)用于任何單一存儲(chǔ)單元可儲(chǔ)存多位的數(shù)據(jù)的快閃存儲(chǔ)器,并不限于應(yīng)用在 TLC。如上所述,為了減低在編程過程中對相鄰的物理頁產(chǎn)生干擾,同一物理頁的各分頁以不連續(xù)地被編程,而是依照如圖3所示的防干擾順序?qū)⑾噜徫锢眄摰母鞣猪摻诲e(cuò)編程為較佳。然而,若控制器106依照此防干擾順序自快閃存儲(chǔ)器讀取數(shù)據(jù),則會(huì)因?yàn)闊o法在連續(xù)的讀取操作中取得同一物理頁的各分頁的所有內(nèi)容,而大幅降低讀取速率。因此,根據(jù)本發(fā)明的一實(shí)施例,如圖5所示,于寫入操作時(shí),控制器106將數(shù)據(jù)根據(jù)一第一數(shù)據(jù)順序?qū)懭雴螌哟鎯?chǔ)器模塊412,而單層存儲(chǔ)器模塊412根據(jù)一第二數(shù)據(jù)順序?qū)?shù)據(jù)于背景傳送至多層存儲(chǔ)器模塊414,并且于一讀取操作時(shí),控制器106再根據(jù)第一數(shù)據(jù)順序自多層存儲(chǔ)器模塊414讀取數(shù)據(jù)。參考至圖5,圖中的數(shù)據(jù)Al、A3與Α6分別對應(yīng)于圖3中的第0頁的分頁LSB、CSB 與MSB,其中英文字母A代表第0個(gè)物理頁。同樣地,圖中的數(shù)據(jù)B2、B5與B9分別對應(yīng)于圖3中的第1頁的分頁LSB、CSB與MSB,其中英文字母B代表第1個(gè)物理頁,并依此類推。CN 102346652 A
說明書
5/7頁
如圖5的第一行所示,控制器106將數(shù)據(jù)根據(jù)第一數(shù)據(jù)順序(A1、A3、A6、B2、B5、B9、C4、C8、 C12...)寫入單層存儲(chǔ)器模塊412。根據(jù)第一數(shù)據(jù)順序,即將被儲(chǔ)存于TLC的同一物理頁的各分頁的數(shù)據(jù)會(huì)先被連續(xù)寫入SLC。接著,如圖5的第二行所示,單層存儲(chǔ)器模塊412根據(jù)第二數(shù)據(jù)順序(A1、B2、A3、C4、B5、A6、D7、C8、B9...)將數(shù)據(jù)于背景傳送至多層存儲(chǔ)器模塊 414。在此實(shí)施例中,多層存儲(chǔ)器模塊414以所述的第二數(shù)據(jù)順序自單層存儲(chǔ)器模塊412接收數(shù)據(jù),并依據(jù)圖3所示的防干擾順序?qū)⒃撔?shù)據(jù)存入多層存儲(chǔ)器模塊414中,用以將相鄰的物理頁的數(shù)個(gè)分頁以交錯(cuò)的順序被編程。如此的交錯(cuò)順序的編程可產(chǎn)生校正的效果,用以減低連續(xù)施加于同一存儲(chǔ)器單元上的編程操作對相鄰存儲(chǔ)器單元產(chǎn)生的電壓偏移。值得注意的是,圖3用以顯示多種防干擾順序的其中一種范例,并非用以限定本發(fā)明的范圍,本發(fā)明的概念當(dāng)可應(yīng)用于其它不同的防干擾順序。如上述,由于SLC快閃存儲(chǔ)器具有極快的寫入速度,因此控制器106可快速地將數(shù)據(jù)寫入快閃存儲(chǔ)器108內(nèi)。待單層存儲(chǔ)器模塊412接收到一既定數(shù)量的數(shù)據(jù)位時(shí),例如在此實(shí)施例中,待單層存儲(chǔ)器模塊412 接收到分頁B2的數(shù)據(jù)時(shí),單層存儲(chǔ)器模塊412可開始根據(jù)第二順序,通過相互耦接的數(shù)據(jù)總線DJ0] DQ[n]與DJ0] DJn],將儲(chǔ)存于這些單層單元快閃存儲(chǔ)器的數(shù)據(jù)于背景直接傳送至多層存儲(chǔ)器模塊414,其中所述的背景寫入操作為數(shù)據(jù)不經(jīng)過控制器106,而是由單層存儲(chǔ)器模塊412直接傳送至多層存儲(chǔ)器模塊414。由于對于控制器106而言,數(shù)據(jù)根據(jù)第一數(shù)據(jù)順序被寫入快閃存儲(chǔ)器108內(nèi)。因此在讀取數(shù)據(jù)時(shí),如圖5的第三行所示,控制器106同樣根據(jù)該第一數(shù)據(jù)順序(Al、A3、A6、 B2、B5、B9、C4、C8、C12...)自多層存儲(chǔ)器模塊414讀取數(shù)據(jù)。可以注意到的是,根據(jù)第一順序,儲(chǔ)存于同一物理頁的各分頁的數(shù)據(jù)可連續(xù)被讀取,亦即,控制器僅控制多層存儲(chǔ)器模塊414讀取單一物理頁,即可取得該物理頁的各分頁所儲(chǔ)存的數(shù)據(jù),如此一來,可大幅加快讀取速度。因此,結(jié)合上述的混合式架構(gòu)以及讀取與寫入方法,本發(fā)明所提出的快閃存儲(chǔ)器裝置不僅可提供很快的寫入與讀取速度,同時(shí)也因?yàn)閷?shù)據(jù)儲(chǔ)存于多層單元快閃存儲(chǔ)器中,進(jìn)而可提供很高的儲(chǔ)存容量。根據(jù)本發(fā)明的一實(shí)施例,控制器106可傳送控制信號至單層存儲(chǔ)器模塊412與多層存儲(chǔ)器模塊414,用以管理快閃存儲(chǔ)器的數(shù)據(jù)存取。圖6顯示快閃存儲(chǔ)器裝置于一般寫入與讀取操作時(shí)控制信號與數(shù)據(jù)的流向。如圖6所示,在寫入操作時(shí),控制器106傳送一寫入致能信號WE與頻率信號(圖未示)至單層存儲(chǔ)器模塊412,用以將數(shù)據(jù)寫入單層存儲(chǔ)器模塊412。而在讀取操作時(shí),控制器106傳送一讀取致能信號RE與頻率信號(圖未示)至多層存儲(chǔ)器模塊414,用以將數(shù)據(jù)自多層存儲(chǔ)器模塊414讀取出來。值得注意的是,在一般的寫入與讀取操作時(shí),控制器106會(huì)控制數(shù)據(jù)總線DJ0] ~D0[η]與DjO] -D1Ln]之間的數(shù)據(jù)閘門416(例如一緩沖器)使其失能,避免多層存儲(chǔ)器模塊414受到干擾。圖7顯示快閃存儲(chǔ)器裝置于背景操作時(shí)控制信號與數(shù)據(jù)的流向??刂破?06會(huì)控制數(shù)據(jù)總線DJ0] -D0[η]與DJO] -D1Ln]之間的數(shù)據(jù)閘門416使其開啟,如圖7所示,控制器106傳送一讀取致能信號RE與頻率信號(圖未示)至單層存儲(chǔ)器模塊412,并且同時(shí)傳送一寫入致能信號WE與頻率信號(圖未示)至多層存儲(chǔ)器模塊414,用以致使數(shù)據(jù)不通過控制器106,而直接自單層存儲(chǔ)器模塊通過數(shù)據(jù)總線Dtl
Dtl [η]與D1
D1 [η]傳送至多層存儲(chǔ)器模塊。如此一來,可大幅提升數(shù)據(jù)傳輸?shù)乃俾?,減少控制器的運(yùn)算與傳輸資源消耗。
此外,如圖1所示,控制器106可更包括一錯(cuò)誤修正碼編碼/譯碼器110,用以編碼寫入快閃存儲(chǔ)器108的數(shù)據(jù),以及譯碼自快閃存儲(chǔ)器108讀取的數(shù)據(jù)。根據(jù)本發(fā)明的另一實(shí)施例,當(dāng)相鄰物理頁的數(shù)據(jù)依序自快閃存儲(chǔ)器108的多層存儲(chǔ)器模塊414讀出后,錯(cuò)誤修正碼編碼/譯碼器110會(huì)譯碼該讀取的數(shù)據(jù),偵測數(shù)據(jù)內(nèi)容是否有錯(cuò)誤,并且當(dāng)偵測到的錯(cuò)誤位數(shù)過多而無法根據(jù)錯(cuò)誤修正碼進(jìn)行修正時(shí),進(jìn)一步根據(jù)相鄰存儲(chǔ)器單元所儲(chǔ)存的內(nèi)容推測發(fā)生錯(cuò)誤的位,并進(jìn)行錯(cuò)誤修正,以還原正確的數(shù)據(jù)內(nèi)容。一般而言,控制器會(huì)定義出一個(gè)可修正的錯(cuò)誤位數(shù),當(dāng)于一分頁中偵測出發(fā)生錯(cuò)誤的位數(shù)量小于可修正的錯(cuò)誤位數(shù)時(shí),傳統(tǒng)的錯(cuò)誤修正碼編碼/譯碼器才會(huì)進(jìn)行錯(cuò)誤修正。否則,傳統(tǒng)的錯(cuò)誤修正碼編碼/譯碼器會(huì)視為無法修正,而放棄該分頁。然而,根據(jù)本發(fā)明的一實(shí)施例,由于相鄰物理頁的內(nèi)容可依序快速地自多層存儲(chǔ)器模塊414中讀出,因此當(dāng)偵測出發(fā)生錯(cuò)誤的位數(shù)量大于可修正的錯(cuò)誤位數(shù)時(shí),本發(fā)明的錯(cuò)誤修正碼編碼/譯碼器110可進(jìn)一步根據(jù)相鄰存儲(chǔ)單元所儲(chǔ)存的內(nèi)容找出可能發(fā)生錯(cuò)誤的存儲(chǔ)單元,并根據(jù)相鄰存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測出該存儲(chǔ)器單元所儲(chǔ)存的原始數(shù)據(jù), 根據(jù)該推測的原始數(shù)據(jù)重新進(jìn)行錯(cuò)誤修正碼譯碼,用以企圖還原存儲(chǔ)器單元的原始數(shù)據(jù), 并修正錯(cuò)誤位。根據(jù)本發(fā)明的一實(shí)施例,控制器106可先定義出容易對其它被儲(chǔ)存的邏輯狀態(tài)產(chǎn)生影響的邏輯狀態(tài),以下稱之為侵略者(aggressor)。以三層單元快閃存儲(chǔ)器為例,圖8顯示根據(jù)本發(fā)明的所述的因相鄰的侵略者而造成存儲(chǔ)單元產(chǎn)生電壓偏移示意圖。如圖所示, 由于物理頁第i頁的某存儲(chǔ)單元的編程狀態(tài)為PV7,其具有最高的電壓,換言之,在編程到此狀態(tài)時(shí),需施加最大的電壓至存儲(chǔ)單元,導(dǎo)致在編程的過程中,施加的大電壓對相鄰(或鄰近)的物理頁第i+Ι頁(或第i_l頁、間隔一物理頁的第i+2頁、第i-2頁等)的存儲(chǔ)單元產(chǎn)生電壓偏移的影響,例如,導(dǎo)致其編程狀態(tài)由EV偏移到接近PV1,進(jìn)而產(chǎn)生錯(cuò)誤。因此, 被編程到狀態(tài)PV7的存儲(chǔ)單元即可被定義為侵略者。在本發(fā)明的實(shí)施例中,當(dāng)錯(cuò)誤修正碼編碼/譯碼器110偵測出一邏輯頁(對應(yīng)至一分頁)發(fā)生錯(cuò)誤的位數(shù)量大于可修正的錯(cuò)誤位數(shù)時(shí),會(huì)先找出該邏輯頁相對應(yīng)的分頁所相鄰的物理頁的內(nèi)容是否存在侵略者,若有,則可推測錯(cuò)誤位發(fā)生于與侵略者相鄰(例如物理位置上相鄰)的存儲(chǔ)單元。接著,錯(cuò)誤修正碼編碼/譯碼器110根據(jù)侵略者所儲(chǔ)存的內(nèi)容推測出與侵略者相鄰的存儲(chǔ)單元的原始內(nèi)容,根據(jù)該推測的原始內(nèi)容予以修正該分頁的讀取信息后重新進(jìn)行錯(cuò)誤修正碼譯碼,用以企圖還原存儲(chǔ)器單元的原始內(nèi)容,并修正錯(cuò)誤位。在一實(shí)施例中,錯(cuò)誤修正碼編碼/譯碼器110先找出該相鄰的物理頁中被編程為最高電壓狀態(tài)(例如PV7)的各個(gè)存儲(chǔ)單元,例如物理頁第K頁中一分頁(例如MSB)發(fā)生錯(cuò)誤修正碼譯碼錯(cuò)誤。而錯(cuò)誤修正碼編碼/譯碼器110于物理頁第K+1頁中找到第1、3、5存儲(chǔ)單元被編程為最高電壓狀態(tài),且于物理頁第K-I頁中找到第7、9存儲(chǔ)單元被編程為最高電壓狀態(tài)。錯(cuò)誤修正碼編碼/譯碼器110將上述被編程為最高電壓狀態(tài)的存儲(chǔ)單元視為侵略者,而且由于該些侵略者被編程為最高電壓狀態(tài)的存儲(chǔ)單元,故錯(cuò)誤修正碼編碼/譯碼器110依據(jù)侵略者所儲(chǔ)存的內(nèi)容修改物理頁第K頁的第1、3、5、7、9存儲(chǔ)單元的讀取內(nèi)容。 例如,在修改前,控制器106讀取到第K頁的第1、3、5、7、9存儲(chǔ)單元的電壓狀態(tài)分別為PV1、 PV2、PV1、PV1、PV1。錯(cuò)誤修正碼編碼/譯碼器110根據(jù)侵略者推測該些存儲(chǔ)單元受到侵略者影響而造成電壓向上偏移,并推測該些存儲(chǔ)單元的原始狀態(tài)分別為PVO、PVU PVO、PV0、PV0,并相對應(yīng)的修改MSB的讀取信息,再重新進(jìn)行錯(cuò)誤修正碼譯碼,以確認(rèn)其推測(修正) 是否正確。在另一實(shí)施例中,針對一分頁控制器106所定義的可修正的錯(cuò)誤位數(shù)為68位,而錯(cuò)誤修正碼編碼/譯碼器Iio在譯碼某MSB分頁時(shí),偵測出100個(gè)錯(cuò)誤位,由于發(fā)生的錯(cuò)誤位大于可修正的錯(cuò)誤位數(shù),錯(cuò)誤修正碼編碼/譯碼器110無法根據(jù)錯(cuò)誤修正碼進(jìn)行修正,于是錯(cuò)誤修正碼編碼/譯碼器110開始尋找相鄰的物理頁的內(nèi)容是否存在侵略者。若錯(cuò)誤修正碼編碼/譯碼器110可找出32個(gè)以上的與侵略者相鄰的存儲(chǔ)單元,則可根據(jù)如圖8所示的概念,根據(jù)侵略者所儲(chǔ)存的內(nèi)容推測出與侵略者相鄰的存儲(chǔ)單元的原始內(nèi)容,根據(jù)該推測的原始內(nèi)容予以修正后重新進(jìn)行錯(cuò)誤修正碼譯碼。當(dāng)這些與侵略者的存儲(chǔ)單元確實(shí)為發(fā)生錯(cuò)誤的位時(shí),修正后的錯(cuò)誤位數(shù)可小于控制器106所定義的可修正的錯(cuò)誤位數(shù),如此一來,錯(cuò)誤修正碼編碼/譯碼器110可根據(jù)修正后的內(nèi)容重新進(jìn)行錯(cuò)誤修正碼譯碼,以修正所有的錯(cuò)誤位,并正確還原出該物理頁的原始數(shù)據(jù)。若錯(cuò)誤修正碼編碼/譯碼器110無法找出32個(gè)以上的與侵略者相鄰的存儲(chǔ)單元,則可放寬侵略者的定義,例如將相鄰的物理頁中被編程為次高電壓狀態(tài)(例如PV6)的各個(gè)存儲(chǔ)單元亦定義為侵略者,再次尋找與放寬定義后的侵略者相鄰的存儲(chǔ)單元,再進(jìn)行修正與確認(rèn)。如果放寬侵略者的定義后,錯(cuò)誤修正碼編碼/譯碼器110仍然無法找出32個(gè)以上的與侵略者相鄰的存儲(chǔ)單元,則可再度放寬侵略者的定義,例如將鄰近物理頁(例如與該分頁所屬物理頁間隔一物理頁的物理頁)中編程為最高電壓狀態(tài)的各個(gè)存儲(chǔ)單元亦定義為侵略者,再進(jìn)行修正與確認(rèn)?;蛘咴黾忧致哉叩挠绊懛秶?,將同一物理頁中與侵略者相鄰的該些存儲(chǔ)單元所相鄰的存儲(chǔ)單元亦納入修正范圍,再次進(jìn)行修正與確認(rèn)。反復(fù)修改侵略者定義與侵略者影響范圍,以期正確還原出該物理頁的原始數(shù)據(jù)。請注意到,并不需依照特定次序進(jìn)行修改侵略者定義與影響范圍,使用者當(dāng)可在本發(fā)明的教導(dǎo)之下任意搭配進(jìn)行。綜上所述,圖9顯示根據(jù)本發(fā)明的一實(shí)施例所述的快閃存儲(chǔ)裝置管理方法流程圖。首先,于一寫入操作時(shí),自主機(jī)接收數(shù)據(jù)并根據(jù)第一數(shù)據(jù)順序?qū)?shù)據(jù)寫入快閃存儲(chǔ)器的單層存儲(chǔ)器模塊內(nèi)(步驟S901)。接著,傳送一讀取致能信號至單層存儲(chǔ)器模塊,并且傳送一寫入致能信號至多層存儲(chǔ)器模塊,并且通過相互耦接的數(shù)據(jù)總線將儲(chǔ)存于單層單元快閃存儲(chǔ)器的數(shù)據(jù)根據(jù)第二數(shù)據(jù)順序直接寫入多層存儲(chǔ)器模塊(步驟S902),用以在不通過控制器的情況下將該數(shù)據(jù)儲(chǔ)存于這些多層單元快閃存儲(chǔ)器。最后,于一讀取操作時(shí),根據(jù)第一數(shù)據(jù)順序自多層存儲(chǔ)器模塊讀取數(shù)據(jù),再將數(shù)據(jù)傳遞至主機(jī)(步驟S903)。圖10顯示根據(jù)本發(fā)明的另一實(shí)施例所述的快閃存儲(chǔ)裝置管理方法流程圖。根據(jù)本發(fā)明的實(shí)施例,當(dāng)在自快閃存儲(chǔ)裝置讀取數(shù)據(jù)并譯碼的過程中偵測出一分頁發(fā)生錯(cuò)誤的位數(shù)量大于一可修正的錯(cuò)誤位數(shù)時(shí),首先根據(jù)該分頁所屬的物理頁所相鄰的物理頁的數(shù)個(gè)存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該分頁中可能發(fā)生錯(cuò)誤的一或多個(gè)存儲(chǔ)單元(步驟S1001)。接著,根據(jù)相鄰的這些存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該(等)可能發(fā)生錯(cuò)誤的存儲(chǔ)單元的原始內(nèi)容(步驟S1002)。最后,根據(jù)該(等)推測的原始內(nèi)容重新進(jìn)行錯(cuò)誤修正碼譯碼(步驟 S1003)。本發(fā)明雖以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何熟習(xí)此項(xiàng)技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。
權(quán)利要求
1.一種快閃存儲(chǔ)裝置,耦接至一主機(jī),用以儲(chǔ)存數(shù)據(jù),包括一快閃存儲(chǔ)器,包括一單層存儲(chǔ)器模塊,包括一第一數(shù)據(jù)總線與至少一單層單元快閃存儲(chǔ)器,各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存一位的數(shù)據(jù);以及一多層存儲(chǔ)器模塊,包括一第二數(shù)據(jù)總線與至少一多層單元快閃存儲(chǔ)器,各多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù),并且該第一數(shù)據(jù)總線耦接至該第二數(shù)據(jù)總線;以及一控制器,用以管理該快閃存儲(chǔ)器的數(shù)據(jù)存取,其中于一寫入操作時(shí),該控制器自該主機(jī)接收數(shù)據(jù),再將該數(shù)據(jù)寫入該快閃存儲(chǔ)器的該單層存儲(chǔ)器模塊的該單層單元快閃存儲(chǔ)器,并且其中該單層存儲(chǔ)器模塊通過相互耦接的該第一數(shù)據(jù)總線與該第二數(shù)據(jù)總線將儲(chǔ)存于該單層單元快閃存儲(chǔ)器的該數(shù)據(jù)傳送至該多層存儲(chǔ)器模塊而不需通過該控制器。
2.如權(quán)利要求1所述的快閃存儲(chǔ)裝置,其中該控制器傳送一讀取致能信號至該單層存儲(chǔ)器模塊,并且傳送一寫入致能信號至該多層存儲(chǔ)器模塊,用以致使該數(shù)據(jù)不通過該控制器,而直接自該單層存儲(chǔ)器模塊傳送至該多層存儲(chǔ)器模塊。
3.如權(quán)利要求1所述的快閃存儲(chǔ)裝置,其中于一讀取操作時(shí),該控制器自該多層存儲(chǔ)器模塊讀取數(shù)據(jù),再將該數(shù)據(jù)傳遞至該主機(jī)。
4.如權(quán)利要求1所述的快閃存儲(chǔ)裝置,其中該控制器根據(jù)一第一數(shù)據(jù)順序?qū)⒃摂?shù)據(jù)寫入該單層單元快閃存儲(chǔ)器,該單層存儲(chǔ)器模塊根據(jù)一第二數(shù)據(jù)順序?qū)⒃摂?shù)據(jù)傳送至該多層存儲(chǔ)器模塊,并且于一讀取操作時(shí),該控制器根據(jù)該第一數(shù)據(jù)順序自該多層存儲(chǔ)器模塊讀取該數(shù)據(jù),其中該第一數(shù)據(jù)順序不等于該第二數(shù)據(jù)順序。
5.如權(quán)利要求4所述的快閃存儲(chǔ)裝置,其中該多層單元快閃存儲(chǔ)器各包括數(shù)個(gè)物理頁,各物理頁分別包括數(shù)個(gè)分頁,根據(jù)該第一數(shù)據(jù)順序,儲(chǔ)存于同一物理頁的這些分頁的該數(shù)據(jù)連續(xù)被讀取。
6.如權(quán)利要求5所述的快閃存儲(chǔ)裝置,其中根據(jù)該第二數(shù)據(jù)順序,相鄰的這些物理頁的這些分頁以交錯(cuò)的順序被編程,用以避免連續(xù)編程同一物理頁而對相鄰的物理頁產(chǎn)生干擾。
7.如權(quán)利要求1所述的快閃存儲(chǔ)裝置,其中該控制器更包括一錯(cuò)誤修正碼編碼/譯碼器,用以編碼寫入該快閃存儲(chǔ)器的該數(shù)據(jù),以及譯碼自該快閃存儲(chǔ)器讀取的該數(shù)據(jù),其中當(dāng)該錯(cuò)誤修正碼編碼/譯碼器在譯碼的過程中,偵測出一物理頁所屬的一分頁發(fā)生錯(cuò)誤的位數(shù)量大于一可修正的錯(cuò)誤位數(shù)時(shí),該錯(cuò)誤修正碼編碼/譯碼器進(jìn)一步根據(jù)與該物理頁鄰近的物理頁的數(shù)個(gè)存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該物理頁中可能發(fā)生錯(cuò)誤的一或多個(gè)存儲(chǔ)單元,根據(jù)鄰近的該存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該可能發(fā)生錯(cuò)誤的存儲(chǔ)單元的原始內(nèi)容,并根據(jù)該推測的原始內(nèi)容重新進(jìn)行錯(cuò)誤修正碼譯碼。
8.一種快閃存儲(chǔ)裝置管理方法,用以管理耦接至一主機(jī)的一快閃存儲(chǔ)裝置,其中該快閃存儲(chǔ)裝置包括用以儲(chǔ)存數(shù)據(jù)的一快閃存儲(chǔ)器以及用以管理該快閃存儲(chǔ)器的數(shù)據(jù)存取的一控制器,該方法包括于一寫入操作時(shí),自該主機(jī)接收數(shù)據(jù)并將該數(shù)據(jù)寫入該快閃存儲(chǔ)器的一單層存儲(chǔ)器模塊內(nèi),其中該單層存儲(chǔ)器模塊包括一第一數(shù)據(jù)總線與至少一單層單元快閃存儲(chǔ)器,各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存一位的數(shù)據(jù),并且其中該快閃存儲(chǔ)器更包括一多層存儲(chǔ)器模塊,包括與該第一數(shù)據(jù)總線耦接的一第二數(shù)據(jù)總線與至少一多層單元快閃存儲(chǔ)器,各多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù);以及通過相互耦接的該第一數(shù)據(jù)總線與該第二數(shù)據(jù)總線將儲(chǔ)存于該單層單元快閃存儲(chǔ)器的該數(shù)據(jù)不通過該控制器而寫入該多層存儲(chǔ)器模塊,用以將該數(shù)據(jù)儲(chǔ)存于該多層單元快閃存儲(chǔ)器。
9.如權(quán)利要求8所述的方法,更包括 傳送一讀取致能信號至該單層存儲(chǔ)器模塊; 傳送一寫入致能信號至該多層存儲(chǔ)器模塊;以及根據(jù)該讀取致能信號與該寫入致能信號將該數(shù)據(jù)直接自該單層存儲(chǔ)器模塊傳送至該多層存儲(chǔ)器模塊。
10.如權(quán)利要求8所述的方法,更包括于一讀取操作時(shí),自該多層存儲(chǔ)器模塊讀取數(shù)據(jù),再將該數(shù)據(jù)傳遞至該主機(jī)。
11.如權(quán)利要求8所述的方法,其中將該數(shù)據(jù)寫入該單層存儲(chǔ)器模塊的步驟更包括 根據(jù)一第一數(shù)據(jù)順序?qū)⒃摂?shù)據(jù)寫入該單層單元快閃存儲(chǔ)器;并且直接將該數(shù)據(jù)寫入該多層存儲(chǔ)器模塊的步驟更包括根據(jù)一第二數(shù)據(jù)順序?qū)⒃摂?shù)據(jù)寫入該多層存儲(chǔ)器模塊,其中該第一數(shù)據(jù)順序不等于該第二數(shù)據(jù)順序。
12.如權(quán)利要求11所述的方法,更包括于一讀取操作時(shí),根據(jù)該第一數(shù)據(jù)順序自該多層存儲(chǔ)器模塊讀取該數(shù)據(jù)。
13.如權(quán)利要求11所述的方法,其中根據(jù)該第一數(shù)據(jù)順序,儲(chǔ)存于該多層單元快閃存儲(chǔ)器的同一物理頁的數(shù)個(gè)分頁的數(shù)據(jù)連續(xù)被讀取。
14.如權(quán)利要求11所述的方法,其中根據(jù)該第二數(shù)據(jù)順序,該多層單元快閃存儲(chǔ)器的相鄰的物理頁的數(shù)個(gè)分頁以交錯(cuò)的順序被編程。
15.如權(quán)利要求10所述的方法,其中將該數(shù)據(jù)寫入該單層存儲(chǔ)器模塊的步驟更包括 根據(jù)一錯(cuò)誤修正碼編碼寫入該快閃存儲(chǔ)器的該數(shù)據(jù);并且自該多層存儲(chǔ)器模塊讀取數(shù)據(jù)的步驟更包括 根據(jù)該錯(cuò)誤修正碼編碼譯碼被讀取的該數(shù)據(jù);當(dāng)在譯碼的過程中偵測出一物理頁所屬的一分頁發(fā)生錯(cuò)誤的位數(shù)量大于一可修正的錯(cuò)誤位數(shù)時(shí),根據(jù)與該物理頁鄰近的物理頁的數(shù)個(gè)存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該物理頁中可能發(fā)生錯(cuò)誤的一或多個(gè)存儲(chǔ)單元;根據(jù)鄰近的該存儲(chǔ)單元所儲(chǔ)存的內(nèi)容推測該可能發(fā)生錯(cuò)誤的存儲(chǔ)單元的原始內(nèi)容;以及根據(jù)該推測的原始內(nèi)容重新進(jìn)行錯(cuò)誤修正碼譯碼。
全文摘要
一種快閃存儲(chǔ)裝置,包括快閃存儲(chǔ)器以及控制器??扉W存儲(chǔ)器包括單層存儲(chǔ)器模塊與多層存儲(chǔ)器模塊。單層存儲(chǔ)器模塊包括第一數(shù)據(jù)總線與至少一單層單元快閃存儲(chǔ)器,各單層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存一位的數(shù)據(jù)。多層存儲(chǔ)器模塊包括第二數(shù)據(jù)總線與至少一多層單元快閃存儲(chǔ)器,各多層單元快閃存儲(chǔ)器的單一存儲(chǔ)單元可儲(chǔ)存多于一位的數(shù)據(jù),并且第一數(shù)據(jù)總線耦接至第二數(shù)據(jù)總線。于一寫入操作時(shí),控制器將數(shù)據(jù)寫入單層存儲(chǔ)器模塊,并且單層存儲(chǔ)器模塊通過相互耦接的第一數(shù)據(jù)總線與第二數(shù)據(jù)總線將數(shù)據(jù)傳送至多層存儲(chǔ)器模塊而不需通過控制器。
文檔編號G06F3/06GK102346652SQ20111015210
公開日2012年2月8日 申請日期2011年5月27日 優(yōu)先權(quán)日2010年7月21日
發(fā)明者楊宗杰 申請人:慧榮科技股份有限公司