本發(fā)明是有關(guān)于一種非易失性存儲(chǔ)器,且特別是有關(guān)于一種非易失性存儲(chǔ)器裝置及其空頁(yè)檢測(cè)方法。
背景技術(shù):
與傳統(tǒng)的硬盤設(shè)備相比,配置了快閃存儲(chǔ)器(FLASH memory)的固態(tài)硬盤(Solid State Drive,SSD)具有快速讀/寫性能和低功耗等特性。固態(tài)硬盤是一種常用的數(shù)據(jù)儲(chǔ)存設(shè)備。在固態(tài)硬盤的操作過程中,固態(tài)硬盤的系統(tǒng)(固件與硬件)需要維持許多經(jīng)更新的管理信息,例如位址映射信息、快閃存儲(chǔ)器條件信息(conditions information)與其他信息。所述快閃存儲(chǔ)器條件信息包含程序化/擦除計(jì)數(shù)值(programing/erasing count)、有效頁(yè)計(jì)數(shù)值(valid page count)與其他條件信息。這些經(jīng)更新的管理信息會(huì)在非預(yù)期的斷電事件中消失。在系統(tǒng)復(fù)電時(shí),固態(tài)硬盤的系統(tǒng)須把斷電前的狀態(tài)(經(jīng)更新的管理信息)恢復(fù)回來。其中,固態(tài)硬盤的系統(tǒng)需要去判斷在快閃存儲(chǔ)器中哪些存儲(chǔ)頁(yè)被寫過,或是哪些存儲(chǔ)頁(yè)未曾寫過(空頁(yè))。
對(duì)于一些快閃存儲(chǔ)器產(chǎn)品類型而言,經(jīng)擦除的存儲(chǔ)單元的每一個(gè)位的邏輯值是1。因此,經(jīng)擦除的存儲(chǔ)頁(yè)(沒有數(shù)據(jù)的存儲(chǔ)頁(yè),即空頁(yè))的每一個(gè)位應(yīng)該全為1。于是,現(xiàn)有空頁(yè)檢測(cè)方法可以去計(jì)數(shù)某一目標(biāo)存儲(chǔ)頁(yè)的內(nèi)容中位為1的位數(shù)量。若此目標(biāo)存儲(chǔ)頁(yè)的內(nèi)容中所有位均為1,則表示此目標(biāo)存儲(chǔ)頁(yè)為空頁(yè)。
在另一些快閃存儲(chǔ)器產(chǎn)品類型中,快閃存儲(chǔ)器裝置內(nèi)配置有擾亂器(scrambler)。通過擾亂器的操作,存儲(chǔ)頁(yè)的內(nèi)容是近似隨機(jī)(random)的。因此,空頁(yè)的每一個(gè)位不是全為1。可以想見,上述現(xiàn)有空頁(yè)檢測(cè)方法無法適用于具有擾亂器的快閃存儲(chǔ)器裝置,因?yàn)楝F(xiàn)有空頁(yè)檢測(cè)方法無法依據(jù)所讀出的目標(biāo)存儲(chǔ)頁(yè)的內(nèi)容來正確判斷此目標(biāo)存儲(chǔ)頁(yè)是否為空頁(yè)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種非易失性存儲(chǔ)器裝置及其空頁(yè)檢測(cè)方法,其可以正確判斷存儲(chǔ)頁(yè)是否為空頁(yè)。
本發(fā)明的實(shí)施例提供一種非易失性存儲(chǔ)器裝置。非易失性存儲(chǔ)器裝置包括非易失性存儲(chǔ)器以及控制器??刂破黢罱又练且资源鎯?chǔ)器??刂破饔靡赃M(jìn)行空頁(yè)檢測(cè)方法,來檢查非易失性存儲(chǔ)器的存儲(chǔ)頁(yè)是否為空頁(yè)。其中,所述空頁(yè)檢測(cè)方法包括:由控制器讀取存儲(chǔ)頁(yè)的內(nèi)容;由控制器對(duì)存儲(chǔ)頁(yè)的至少一碼字進(jìn)行低密度奇偶檢查(Low-Density Parity-Check,以下稱LDPC)解碼而獲得經(jīng)解碼碼字與檢查結(jié)果向量;當(dāng)所述至少一碼字的LDPC解碼為成功時(shí),由控制器判定該存儲(chǔ)頁(yè)不是空頁(yè);當(dāng)所述至少一碼字的LDPC解碼為失敗時(shí),由控制器計(jì)數(shù)在所述檢查結(jié)果向量中位為1的位數(shù)量,或計(jì)數(shù)在所述檢查結(jié)果向量中位為0的位數(shù)量;以及依據(jù)在所述檢查結(jié)果向量中位為1的位數(shù)量,或依據(jù)在所述檢查結(jié)果向量中位為0的位數(shù)量,由控制器判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。
本發(fā)明的實(shí)施例提供一種非易失性存儲(chǔ)器裝置的空頁(yè)檢測(cè)方法,用以檢查該非易失性存儲(chǔ)器的存儲(chǔ)頁(yè)是否為空頁(yè)。此非易失性存儲(chǔ)器裝置包括非易失性存儲(chǔ)器以及控制器。所述空頁(yè)檢測(cè)方法包括:由控制器讀取存儲(chǔ)頁(yè)的內(nèi)容;由控制器對(duì)存儲(chǔ)頁(yè)的至少一碼字進(jìn)行LDPC解碼而獲得經(jīng)解碼碼字與檢查結(jié)果向量;當(dāng)所述至少一碼字的LDPC解碼為成功時(shí),由控制器判定所述存儲(chǔ)頁(yè)不是空頁(yè);當(dāng)所述至少一碼字的LDPC解碼為失敗時(shí),由控制器計(jì)數(shù)在所述檢查結(jié)果向量中位為1的位數(shù)量,或計(jì)數(shù)在所述檢查結(jié)果向量中位為0的位數(shù)量;以及依據(jù)在所述檢查結(jié)果向量中位為1的位數(shù)量,或依據(jù)在所述檢查結(jié)果向量中位為0的位數(shù)量,由控制器判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。
基于上述,本發(fā)明的實(shí)施例所提供非易失性存儲(chǔ)器裝置與空頁(yè)檢測(cè)方法利用了LDPC解碼過程中的檢查結(jié)果向量。當(dāng)存儲(chǔ)頁(yè)的所述至少一碼字的LDPC解碼為失敗時(shí),控制器可以計(jì)數(shù)在所述檢查結(jié)果向量中位為1(或0)的位數(shù)量。依據(jù)在所述檢查結(jié)果向量中位為1(或0)的位數(shù)量,控制器可以正確判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。
為使本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并結(jié)合附圖詳細(xì)說明如下。
附圖說明
圖1是依照本發(fā)明實(shí)施例所繪示一種非易失性存儲(chǔ)器裝置的電路方塊示意圖。
圖2是依照本發(fā)明一實(shí)施例說明一種非易失性存儲(chǔ)器裝置的空頁(yè)檢測(cè)方法的流程示意圖。
圖3是依照本發(fā)明實(shí)施例說明圖1所示LDPC解碼器的范例電路方塊圖。
圖4是依照本發(fā)明一實(shí)施例說明圖2所示空頁(yè)檢測(cè)方法的范例流程示意圖。
圖5是依照本發(fā)明另一實(shí)施例說明圖2所示空頁(yè)檢測(cè)方法的范例流程示意圖。
圖6是依照本發(fā)明另一實(shí)施例說明一種空頁(yè)檢測(cè)方法的流程示意圖。
圖7是依照本發(fā)明又一實(shí)施例說明一種空頁(yè)檢測(cè)方法的流程示意圖。
附圖符號(hào)說明
10:主機(jī)
100:非易失性存儲(chǔ)器裝置
110:非易失性存儲(chǔ)器
111:碼字
120:控制器
121:中央處理單元
122:隨機(jī)存取存儲(chǔ)器
123:LDPC解碼器
124:經(jīng)解碼碼字
310:計(jì)數(shù)器
320:檢查器
330:解碼器
S210~S253、S630:步驟
具體實(shí)施方式
在本發(fā)明說明書全文(包括權(quán)利要求書)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)于第二裝置,則應(yīng)該被解釋成該第一裝置可以直接連接于該第二裝置,或者該第一裝置可以通過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在附圖及實(shí)施方式中使用相同標(biāo)號(hào)的元件/構(gòu)件/步驟代表相同或類似部分。不同實(shí)施例中使用相同標(biāo)號(hào)或使用相同用語(yǔ)的元件/構(gòu)件/步驟可以相互參照相關(guān)說明。
圖1是依照本發(fā)明實(shí)施例所繪示一種非易失性存儲(chǔ)器裝置100的電路方塊示意圖。依照設(shè)計(jì)需求,非易失性存儲(chǔ)器裝置100可以是隨身盤、固態(tài)硬盤(solid state disc,SSD)或是其他儲(chǔ)存裝置。非易失性存儲(chǔ)器裝置100可以耦接至主機(jī)(host)10。此主機(jī)10可以是電腦、掌上型電話、多媒體播放機(jī)、相機(jī)或是其他電子裝置。當(dāng)主機(jī)10發(fā)出一個(gè)讀取命令(read command)給非易失性存儲(chǔ)器裝置100時(shí),非易失性存儲(chǔ)器裝置100可以依據(jù)此讀取命令的尋址來回傳對(duì)應(yīng)數(shù)據(jù)給主機(jī)10。
在圖1所示實(shí)施例中,非易失性存儲(chǔ)器裝置100包括非易失性存儲(chǔ)器110以及控制器120。依照設(shè)計(jì)需求,非易失性存儲(chǔ)器110可以是反及快閃存儲(chǔ)器(NAND flash memory)或是其他非易失性儲(chǔ)存電路/元件??刂破?20耦接至非易失性存儲(chǔ)器110。在主機(jī)10發(fā)出一個(gè)讀取命令后,控制器120可以依據(jù)該讀取命令來尋址非易失性存儲(chǔ)器110,以便從非易失性存儲(chǔ)器110中讀取一筆對(duì)應(yīng)碼字111,然后對(duì)此對(duì)應(yīng)碼字111進(jìn)行低密度奇偶檢查(Low-Density Parity-Check,以下稱LDPC)解碼,以獲得經(jīng)解碼碼字。LDPC解碼可以更正傳輸過程中發(fā)生的錯(cuò)誤。LDPC解碼為現(xiàn)有技術(shù),故不再贅述。
一次LDPC解碼完成后,控制器120可以獲得一個(gè)經(jīng)解碼碼字v??刂破?20可以使用等式1來檢查此經(jīng)解碼碼字v,而獲得檢查結(jié)果向量[c0 c1…cm-1]。等式1中的H為具有稀疏矩陣性質(zhì)的奇偶檢查矩陣。奇偶檢查矩陣H內(nèi)的元素為1或0,且1的元素?cái)?shù)量遠(yuǎn)少于0的元素?cái)?shù)量。奇偶檢查矩陣H為現(xiàn)有技術(shù),故不再贅述。若檢查結(jié)果向量[c0 c1…cm-1]不為0向量(0矩陣,即矩陣中所有元素c0~cm-1均為0),則控制器120可以對(duì)此經(jīng)解碼碼字v進(jìn)行迭代運(yùn)算(再一次進(jìn)行LDPC解碼),以獲得新的經(jīng)解碼碼字v??刂破?20可以再一次使用等式1來檢查所述新的經(jīng)解碼碼字v,而獲得新的檢查結(jié)果向量[c0 c1…cm-1]。如此進(jìn)行多次迭代運(yùn)算,直到檢查結(jié)果向量[c0 c1…cm-1]為0向量(0矩陣),即終止迭代運(yùn)算(也即所述對(duì)應(yīng)碼字111的LDPC解碼為成功)。當(dāng)所述對(duì)應(yīng)碼字111的LDPC解碼為成功時(shí),經(jīng)解碼碼字124(最后一次進(jìn)行LDPC解碼所獲得的經(jīng)解碼碼字v)可以被回傳給主機(jī)10。
當(dāng)所述多次迭代運(yùn)算的次數(shù)已達(dá)預(yù)設(shè)的閾值次數(shù)時(shí),檢查結(jié)果向量[c0 c1…cm-1]仍為不為0向量,則控制器120可以決定所述對(duì)應(yīng)碼字111的LDPC解碼為失敗。所述閾值次數(shù)可以依照設(shè)計(jì)需求來決定。
圖2是依照本發(fā)明一實(shí)施例說明一種非易失性存儲(chǔ)器裝置的空頁(yè)檢測(cè)方法的流程示意圖。此空頁(yè)檢測(cè)方法可以檢查非易失性存儲(chǔ)器110的一個(gè)存儲(chǔ)頁(yè)是否為空頁(yè)。請(qǐng)參照?qǐng)D1與圖2,控制器120在步驟S210中可以讀取非易失性存儲(chǔ)器110的一個(gè)存儲(chǔ)頁(yè)的內(nèi)容。一般而言,一個(gè)存儲(chǔ)頁(yè)包含一個(gè)或多個(gè)碼字(codeword)??刂破?20在步驟S220中可以對(duì)所述存儲(chǔ)頁(yè)的至少一個(gè)碼字進(jìn)行LDPC解碼,而獲得經(jīng)解碼碼字v與檢查結(jié)果向量[c0 c1…cm-1]??刂破?20在步驟S230中可以檢查所述碼字的LDPC解碼是否成功。當(dāng)所述存儲(chǔ)頁(yè)的一個(gè)或多個(gè)碼字的LDPC解碼為成功時(shí),控制器120可以判定所述存儲(chǔ)頁(yè)不是空頁(yè)(步驟S240)。
當(dāng)步驟S230判定所述碼字的LDPC解碼為失敗時(shí),控制器120可以在步驟S250中計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量,也即計(jì)數(shù)元素c0~cm-1中有幾個(gè)元素(位)的值為1(或0)。舉例來說(以8位為范例,但不限于此),假設(shè)檢查結(jié)果向量[c0 c1…cm-1]為[10011111],則在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量為6個(gè)(或0的位數(shù)量為2個(gè))。假設(shè)檢查結(jié)果向量[c0 c1…cm-1]為[00001000],則在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量為1個(gè)(或位為0的位數(shù)量為7個(gè))。依據(jù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量,控制器120可以判定所述存儲(chǔ)頁(yè)是否為空頁(yè)(步驟S250)。舉例來說,在一些實(shí)施例中,當(dāng)在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量大于第一閾值Th1時(shí),控制器120在步驟S250中可以判定所述存儲(chǔ)頁(yè)為空頁(yè)。所述第一閾值Th1可以依照設(shè)計(jì)需求來決定。在另一些實(shí)施例中,當(dāng)在檢查結(jié)果向量[c0 c1…cm-1]中位為0的位數(shù)量小于第二閾值Th2時(shí),控制器120在步驟S250中可以判定所述存儲(chǔ)頁(yè)為空頁(yè)。所述第二閾值Th2可以依照設(shè)計(jì)需求來決定。
在圖1所示實(shí)施例中,控制器120可以包括中央處理單元121、隨機(jī)存取存儲(chǔ)器122與LDPC解碼器123。在主機(jī)10發(fā)出一個(gè)讀取命令后,中央處理單元121可以依據(jù)該讀取命令來尋址非易失性存儲(chǔ)器110,以便從非易失性存儲(chǔ)器110中讀取一筆對(duì)應(yīng)碼字111。LDPC解碼器123耦接至非易失性存儲(chǔ)器110,以接收非易失性存儲(chǔ)器110的存儲(chǔ)頁(yè)的內(nèi)容(例如碼字111)。LDPC解碼器123可以對(duì)所述存儲(chǔ)頁(yè)的碼字111進(jìn)行LDPC解碼,而獲得經(jīng)解碼碼字v與該檢查結(jié)果向量[c0 c1…cm-1]。
在一些實(shí)施例中,隨機(jī)存取存儲(chǔ)器122耦接至LDPC解碼器123以儲(chǔ)存檢查結(jié)果向量[c0 c1…cm-1]。中央處理單元121耦接至隨機(jī)存取存儲(chǔ)器122以讀取檢查結(jié)果向量[c0 c1…cm-1]。當(dāng)所述碼字的LDPC解碼為成功時(shí),中央處理單元121可以判定所述存儲(chǔ)頁(yè)不是空頁(yè)。當(dāng)所述碼字的LDPC解碼為失敗時(shí),中央處理單元121可以計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量。依據(jù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量,中央處理單元121可以判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。舉例來說,當(dāng)在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量大于第一閾值Th1時(shí),中央處理單元121可以判定所述存儲(chǔ)頁(yè)為空頁(yè)?;蛘?,當(dāng)在檢查結(jié)果向量[c0 c1…cm-1]中位為0的位數(shù)量小于第二閾值Th2時(shí),中央處理單元121也可以判定所述存儲(chǔ)頁(yè)為空頁(yè)。
在另一些實(shí)施例中,當(dāng)所述碼字的LDPC解碼為失敗時(shí),LDPC解碼器123可以計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量。隨機(jī)存取存儲(chǔ)器122耦接至LDPC解碼器123,以儲(chǔ)存在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量。舉例來說(以8位為范例,但不限于此),假設(shè)檢查結(jié)果向量[c0 c1…cm-1]為[10011111],則在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量為6個(gè)(或0的位數(shù)量為2個(gè))。檢查結(jié)果向量[10011111]不會(huì)被存放于隨機(jī)存取存儲(chǔ)器122,而位為1的位數(shù)量「6」(或位為0的位數(shù)量「2」)會(huì)被存放于隨機(jī)存取存儲(chǔ)器122。中央處理單元121耦接至隨機(jī)存取存儲(chǔ)器122,以讀取在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量。當(dāng)所述碼字的LDPC解碼為成功時(shí),中央處理單元121可以判定所述存儲(chǔ)頁(yè)不是空頁(yè)。當(dāng)所述碼字的LDPC解碼為失敗時(shí),依據(jù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量,中央處理單元121可以判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。
圖3是依照本發(fā)明實(shí)施例說明圖1所示LDPC解碼器123的范例電路方塊圖。在圖3所示實(shí)施例中,LDPC解碼器123包括計(jì)數(shù)器310、檢查器320以及解碼器330。解碼器330耦接至非易失性存儲(chǔ)器110,以接收所述存儲(chǔ)頁(yè)的內(nèi)容。解碼器330可以對(duì)所述存儲(chǔ)頁(yè)的碼字進(jìn)行LDPC解碼,而獲得經(jīng)解碼碼字v。LDPC解碼為現(xiàn)有技術(shù),故不再贅述。
檢查器320耦接至解碼器330,以接收經(jīng)解碼碼字v。檢查器320可以使用等式1對(duì)經(jīng)解碼碼字v進(jìn)行檢查運(yùn)算,而產(chǎn)生檢查結(jié)果向量[c0 c1…cm-1]。計(jì)數(shù)器310耦接至檢查器320,以接收檢查結(jié)果向量[c0 c1…cm-1]。計(jì)數(shù)器310可以計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1(或0)的位數(shù)量。所述位為1(或0)的位數(shù)量會(huì)被存放于隨機(jī)存取存儲(chǔ)器122,以供中央處理單元121取用。
圖4是依照本發(fā)明一實(shí)施例說明圖2所示空頁(yè)檢測(cè)方法的范例流程示意圖。在圖4所示實(shí)施例中,步驟S250包括子步驟S251與S252。當(dāng)步驟S230判定所述碼字的LDPC解碼為失敗時(shí),控制器120可以在步驟S251中計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量,也即計(jì)數(shù)元素c0~cm-1中有幾個(gè)元素(位)的值為1。當(dāng)步驟S251判定在檢查結(jié)果向量[c0c1…cm-1]中位為1的位數(shù)量不大于第一閾值Th1時(shí),控制器120可以執(zhí)行步驟S240以判定所述存儲(chǔ)頁(yè)不是空頁(yè)。所述第一閾值Th1可以依照設(shè)計(jì)需求來決定。當(dāng)步驟S251判定在檢查結(jié)果向量[c0 c1…cm-1]中位為1的位數(shù)量大于第一閾值Th1時(shí),控制器120可以執(zhí)行步驟S252以判定所述存儲(chǔ)頁(yè)為空頁(yè)。
圖5是依照本發(fā)明另一實(shí)施例說明圖2所示空頁(yè)檢測(cè)方法的范例流程示意圖。在圖5所示實(shí)施例中,步驟S250包括子步驟S253與S252。當(dāng)步驟S230判定所述碼字的LDPC解碼為失敗時(shí),控制器120可以在步驟S253中計(jì)數(shù)在檢查結(jié)果向量[c0 c1…cm-1]中位為0的位數(shù)量,也即計(jì)數(shù)元素c0~cm-1中有幾個(gè)元素(位)的值為0。當(dāng)步驟S253判定在檢查結(jié)果向量[c0c1…cm-1]中位為0的位數(shù)量不小于第二閾值Th2時(shí),控制器120可以執(zhí)行步驟S240以判定所述存儲(chǔ)頁(yè)不是空頁(yè)。所述第二閾值Th2可以依照設(shè)計(jì)需求來決定。當(dāng)步驟S253判定在檢查結(jié)果向量[c0 c1…cm-1]中位為0的位數(shù)量小于第二閾值Th2時(shí),控制器120可以執(zhí)行步驟S252以判定所述存儲(chǔ)頁(yè)為空頁(yè)。
圖6是依照本發(fā)明另一實(shí)施例說明一種空頁(yè)檢測(cè)方法的流程示意圖。圖6所示步驟S210、步驟S220、步驟S240與步驟S250可以參照?qǐng)D2所示步驟S210、步驟S220、步驟S240與步驟S250的相關(guān)說明,故不再贅述??刂破?20在步驟S220中可以對(duì)所述存儲(chǔ)頁(yè)的所有碼字進(jìn)行LDPC解碼??刂破?20在步驟S630中可以檢查所述存儲(chǔ)頁(yè)的所有碼字的LDPC解碼是否成功。當(dāng)步驟S630判定所述存儲(chǔ)頁(yè)的這些碼字中有一個(gè)或多個(gè)碼字的LDPC解碼為成功時(shí),控制器120可以判定所述存儲(chǔ)頁(yè)不是空頁(yè)(步驟S240)。當(dāng)步驟S630判定所述存儲(chǔ)頁(yè)的所有碼字的LDPC解碼均為失敗時(shí),控制器120可以執(zhí)行步驟S250以判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。在圖6所示實(shí)施例中,步驟S250包括子步驟S251與S252。步驟S250的子步驟S251與S252可以參照?qǐng)D4所示子步驟S251與S252的相關(guān)說明,故不再贅述。
圖7是依照本發(fā)明又一實(shí)施例說明一種空頁(yè)檢測(cè)方法的流程示意圖。圖7所示步驟S210、步驟S220、步驟S240與步驟S250可以參照?qǐng)D2所示步驟S210、步驟S220、步驟S240與步驟S250的相關(guān)說明,圖7所示步驟S220與步驟S630可以參照?qǐng)D6所示步驟S220與步驟S630的相關(guān)說明,故不再贅述。當(dāng)步驟S630判定所述存儲(chǔ)頁(yè)的所有碼字的LDPC解碼均為失敗時(shí),控制器120可以執(zhí)行步驟S250以判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。在圖7所示實(shí)施例中,步驟S250包括子步驟S253與S252。步驟S250的子步驟S253與S252可以參照?qǐng)D5所示子步驟S253與S252的相關(guān)說明,故不再贅述。
值得注意的是,在不同的應(yīng)用情境中,控制器120、中央處理單元121、LDPC解碼器123、計(jì)數(shù)器310、檢查器320及/或解碼器330的相關(guān)功能可以利用一般的編程語(yǔ)言(programming languages,例如C或C++)、硬件描述語(yǔ)言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語(yǔ)言來實(shí)現(xiàn)為軟件、固件或硬件。可執(zhí)行所述相關(guān)功能的軟件(或固件)可以被布置為任何已知的計(jì)算機(jī)可存取媒體(computer-accessible medias),例如磁帶(magnetic tapes)、半導(dǎo)體(semiconductors)存儲(chǔ)器、磁盤(magnetic disks)或光盤(compact disks,例如CD-ROM或DVD-ROM),或者可通過互聯(lián)網(wǎng)(Internet)、有線通信(wired communication)、無線通信(wireless communication)或其它通信介質(zhì)傳送所述軟件(或固件)。所述軟件(或固件)可以被存放在計(jì)算機(jī)的可存取媒體中,以便于由計(jì)算機(jī)的處理器來存取/執(zhí)行所述軟件(或固件)的編程碼(programming codes)。另外,本發(fā)明的裝置和方法可以通過硬件和軟件的組合來實(shí)現(xiàn)。
綜上所述,本發(fā)明諸實(shí)施例所述非易失性存儲(chǔ)器裝置與空頁(yè)檢測(cè)方法利用了LDPC解碼過程中的檢查結(jié)果向量。當(dāng)存儲(chǔ)頁(yè)的所述至少一碼字的LDPC解碼為失敗時(shí),控制器可以計(jì)數(shù)在所述檢查結(jié)果向量中位為1(或0)的位數(shù)量。依據(jù)在所述檢查結(jié)果向量中位為1(或0)的位數(shù)量,控制器可以正確判定所述存儲(chǔ)頁(yè)是否為空頁(yè)。在配置有擾亂器(scrambler)的非易失性存儲(chǔ)器裝置中,通過擾亂器的操作,空頁(yè)的每一個(gè)位不是全為1。本發(fā)明諸實(shí)施例所述空頁(yè)檢測(cè)方法可以適用于具有擾亂器的非易失性存儲(chǔ)器裝置。
雖然本發(fā)明已以實(shí)施例揭露如上,然而其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),應(yīng)當(dāng)可作些許的更動(dòng)與潤(rùn)飾,故本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以所附權(quán)利要求書所界定的為準(zhǔn)。