專利名稱:可提高數(shù)據(jù)校正能力的閃存裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種閃存裝置,特別是涉及一種可提高數(shù)據(jù)校正能力的閃存裝置。
背景技術(shù):
目前半導(dǎo)體制造技術(shù)的快速發(fā)展,閃存裝置的記憶容量相對(duì)地提高,而逐漸廣泛地使用在數(shù)據(jù)備份上。然而,隨著閃存裝置容量增加,數(shù)據(jù)產(chǎn)生錯(cuò)誤的可能性也跟著增加。就此,如何提高閃存裝置的數(shù)據(jù)可靠度一直是內(nèi)存制造廠商所要解決的關(guān)鍵問題。如圖IA所示,為現(xiàn)有閃存裝置的閃存的數(shù)據(jù)結(jié)構(gòu)示意圖。如圖所示,現(xiàn)有閃存裝 置的閃存10的數(shù)據(jù)結(jié)構(gòu)將以頁面(Page)為單位進(jìn)行解讀。閃存10的數(shù)據(jù)結(jié)構(gòu)包括一主區(qū)域(main area) 11及額外配置一保留區(qū)域(sparearea) 13。主區(qū)域11包括有多個(gè)數(shù)據(jù)扇區(qū)111,以一 8K字節(jié)的頁面為例,若每一數(shù)據(jù)扇區(qū)111設(shè)計(jì)成IK字節(jié)大小,則主區(qū)域11將會(huì)有八個(gè)數(shù)據(jù)扇區(qū)(I N ;N=8)111。保留區(qū)域13根據(jù)各數(shù)據(jù)扇區(qū)111的數(shù)量將其記憶容量均分成多個(gè)保留空間(spare space) 131,例如八個(gè)。進(jìn)一步參考圖1B,每一數(shù)據(jù)扇區(qū)111將會(huì)對(duì)應(yīng)分配到一保留空間131。就以IK字節(jié)數(shù)據(jù)扇區(qū)111為例,目前內(nèi)存制造廠商的規(guī)格設(shè)計(jì)一般會(huì)配置Lal長度(如32字節(jié))的保留空間131,而保留區(qū)域13的記憶空間將可為LI長度(如LalX8=256字節(jié))。該保留空間131主要用以存放錯(cuò)誤校正碼(Error correction codes ;ECC碼)。再者,可產(chǎn)生ECC碼的算法有多種,例如BCH編碼、里德.穆勒編碼(Reed-Muller code)、里德.所羅門編碼(Reed-Solomon code)等等。借由ECC碼進(jìn)行數(shù)據(jù)校驗(yàn),將可對(duì)于各數(shù)據(jù)扇區(qū)111所儲(chǔ)存的數(shù)據(jù)進(jìn)行容錯(cuò)更正,而增加數(shù)據(jù)的可靠度。早期閃存只能表示兩種狀態(tài)O與I的單層元件(single level cells ;SLC)技術(shù)。為了提高記憶容量或存取速度,目前閃存以發(fā)展至多層元件(multi level cells ;MLC)技術(shù),并可表示四種以上的狀態(tài)(如00、01、10、11)。然而,對(duì)于多層元件的閃存發(fā)生錯(cuò)誤數(shù)據(jù)的可能性比單層單元的閃存要高許多。在此,若要具備更多數(shù)據(jù)字節(jié)的校正能力,相對(duì)地也要增加ECC碼的編碼長度才能達(dá)成。以BCH編碼算法為例,對(duì)于IK字節(jié)的數(shù)據(jù)扇區(qū)111進(jìn)行16字節(jié)(BCH16)的數(shù)據(jù)校正,大約需要28字節(jié)的空間來記錄ECC碼,則目前配置Lal長度(如32字節(jié))的保留空間131是足夠存放的。然而,為了進(jìn)一步提高數(shù)據(jù)扇區(qū)111的數(shù)據(jù)可靠度,要求ECC算法具備更多數(shù)據(jù)字節(jié)的校正能力時(shí),如采用BCH 40,則目前配置Lal長度(如32字節(jié))的保留空間131將不足以應(yīng)對(duì),如執(zhí)行BCH 40大約需要70字節(jié)空間。由此可見,以往閃存的數(shù)據(jù)校正能力,將會(huì)因?yàn)楸A艨臻g131的空間大小而受到限制。再者,保留空間131的容量空間也會(huì)因?yàn)閮?nèi)存制造廠商的規(guī)格限制而無法自行加大,使得閃存的數(shù)據(jù)可靠度無法有效提高,其產(chǎn)品質(zhì)量一直受到消費(fèi)者的質(zhì)疑
發(fā)明內(nèi)容
本發(fā)明的一目的,在于提供一種閃存裝置,其包括至少一閃存,閃存中包括一用以儲(chǔ)存數(shù)據(jù)的主區(qū)域及一用以記錄校驗(yàn)數(shù)據(jù)的保留區(qū)域,閃存裝置可將部分的主區(qū)域空間移轉(zhuǎn)作為保留區(qū)域空間,則原本保留區(qū)域空間將可因此擴(kuò)增,如此,犧牲部分的主區(qū)域空間,將可提供更多的保留區(qū)域空間記錄編碼長度較長的錯(cuò)誤校正碼,借以提高數(shù)據(jù)的校正能力,增加閃存的數(shù)據(jù)可靠度。本發(fā)明的一目的,在于提供一種閃存裝置,其多通道的多個(gè)閃存整合在一單通道的閃存模塊中,以有效降低數(shù)據(jù)空間的損耗比例。為了達(dá)到上述目的,本發(fā)明提供一種閃存裝置,包括一控制器;及至少一閃存,包括一主區(qū)域,包括多個(gè)扇區(qū),控制器在多個(gè)扇區(qū)的中選擇設(shè)定至少一扇區(qū)為一輔助扇區(qū),其余各扇區(qū)分別設(shè)定為一數(shù)據(jù)扇區(qū),各數(shù)據(jù)扇區(qū)用以儲(chǔ)存數(shù)據(jù);及一保留區(qū)域,輔助扇區(qū)用以輔助擴(kuò)增保留區(qū)域的記憶空間,擴(kuò)增后的保留區(qū)域根據(jù)數(shù)據(jù)扇區(qū)的數(shù)量切分成多個(gè)保留空間,各保留空間分別配置于對(duì)應(yīng)的數(shù)據(jù)扇區(qū)以記錄一用以校驗(yàn)儲(chǔ)存數(shù)據(jù)的錯(cuò)誤校正碼。
·
本發(fā)明又提供一種閃存裝置,包括一控制器;及至少一閃存模塊,其整合有多個(gè)閃存,閃存模塊經(jīng)由一通道與控制器進(jìn)行溝通,閃存模塊包括一主區(qū)域,包括多個(gè)扇區(qū),其中控制器在多個(gè)扇區(qū)的中選擇設(shè)定至少一扇區(qū)為一輔助扇區(qū),其余各扇區(qū)分別設(shè)定為一數(shù)據(jù)扇區(qū),各數(shù)據(jù)扇區(qū)用以儲(chǔ)存數(shù)據(jù);及一保留區(qū)域,輔助扇區(qū)用以擴(kuò)增保留區(qū)域的記憶空間,擴(kuò)增后的保留區(qū)域相對(duì)于各數(shù)據(jù)扇區(qū)的數(shù)量均分成多個(gè)保留空間,各保留空間分別配置于對(duì)應(yīng)的數(shù)據(jù)扇區(qū)且用以記錄與一錯(cuò)誤校正碼。本發(fā)明一實(shí)施例中,其中控制器利用一 BCH編碼、一里德.穆勒編碼算法(Reed-Muller code)、一里德·所羅門編碼算法(Reed-Solomon code)或一可運(yùn)算錯(cuò)誤校正碼的算法執(zhí)行數(shù)據(jù)的容錯(cuò)校正。
圖IA為現(xiàn)有閃存裝置的閃存的數(shù)據(jù)結(jié)構(gòu)示意圖;圖IB為現(xiàn)有數(shù)據(jù)扇區(qū)與其配置的保留空間的數(shù)據(jù)結(jié)構(gòu)示意圖;圖2為本發(fā)明可提高數(shù)據(jù)校正能力的閃存裝置一較佳實(shí)施例的電路結(jié)構(gòu)示意圖;圖3A為本發(fā)明閃存一較佳實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖;圖3B為本發(fā)明數(shù)據(jù)扇區(qū)與其配置的保留空間一較佳實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖;圖4為本發(fā)明可提高數(shù)據(jù)校正能力的閃存裝置又一實(shí)施例的電路結(jié)構(gòu)示意圖;圖5A為本發(fā)明閃存模塊一實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖;圖5B為本發(fā)明數(shù)據(jù)扇區(qū)與其配置的保留空間一實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖。附圖標(biāo)記10:閃存11 :主區(qū)域111:數(shù)據(jù)扇區(qū)13:保留區(qū)域131 :保留空間20 :控制器300:閃存裝置30:閃存301 :通道31 :主區(qū)域310 :主區(qū)域311 :數(shù)據(jù)扇區(qū)
313:輔助扇區(qū)33 :保留區(qū)域330 :保留區(qū)域331 :保留空間35:閃存模塊351 :通道36 :主區(qū)域360 :主區(qū)域37 :保留區(qū)域370 :保留區(qū)域
371 :保留空間500 :閃存裝置
具體實(shí)施例方式請參考圖2為本發(fā)明可提高數(shù)據(jù)校正能力的閃存裝置一較佳實(shí)施例的電路結(jié)構(gòu)示意圖,并且一并參考圖3A及圖3B分別為本發(fā)明閃存一較佳實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖及數(shù)據(jù)扇區(qū)與其配置的保留空間的數(shù)據(jù)結(jié)構(gòu)示意圖。如圖所示,閃存裝置300包括一控制器20及至少一閃存30,各閃存30通過各自的通道301與控制器20進(jìn)行數(shù)據(jù)傳輸。再者,本發(fā)明閃存30以頁面(Page)為數(shù)據(jù)單位進(jìn)行解讀,其頁面大小也可為1K、2K、4K、8K或16Κ字節(jié)(Bytes)等尺寸。閃存的數(shù)據(jù)結(jié)構(gòu)30包括一主區(qū)域(main area)31及一保留區(qū)域(spare area)33。主區(qū)域31包括多個(gè)扇區(qū)(或稱為次頁面)311、313,本實(shí)施例以一 8K字節(jié)頁面為例,若每一扇區(qū)311、313設(shè)計(jì)成IK字節(jié)大小,則主區(qū)域31將會(huì)有八個(gè)扇區(qū)(I Ν;Ν=8)311、313。再者,接著說明8k字節(jié)頁面范例,一般內(nèi)存制造廠商會(huì)額外配置LI長度(如32字節(jié)X 8=256字節(jié))的保留區(qū)域33。此額外配置的保留區(qū)域33的空間大小也可隨著內(nèi)存制造廠商的生產(chǎn)成本或制作規(guī)格而不同。接著說明,本發(fā)明控制器20在這些扇區(qū)311、313之中選擇設(shè)定至少一扇區(qū)313為輔助扇區(qū),則其余各扇區(qū)311分別設(shè)定為數(shù)據(jù)扇區(qū)。數(shù)據(jù)扇區(qū)311用以儲(chǔ)存數(shù)據(jù),而輔助扇區(qū)313用以輔助擴(kuò)充原本保留區(qū)域33的記憶空間。以本實(shí)施例為例,若設(shè)定一個(gè)扇區(qū)313為輔助扇區(qū),其余七個(gè)扇區(qū)311將設(shè)定為數(shù)據(jù)扇區(qū)。輔助扇區(qū)313輔助擴(kuò)充原本保留區(qū)域33的記憶空間,則,保留區(qū)域330的記憶空間將從原本的LI長度擴(kuò)增為L2長度(如256字節(jié)擴(kuò)增為1280字節(jié);256 — 256+1024=1280)。擴(kuò)增后的保留區(qū)域330根據(jù)數(shù)據(jù)扇區(qū)311的數(shù)量均分成多個(gè)保留空間331,如七個(gè)。每一數(shù)據(jù)扇區(qū)311對(duì)應(yīng)配置的保留空間331為La2長度,其大約為182字節(jié)(如1280 + 7)。保留空間331主要用以存放用以校驗(yàn)儲(chǔ)存數(shù)據(jù)的錯(cuò)誤校正碼(Error correctioncodes ;ECC碼)。本發(fā)明實(shí)施例中,產(chǎn)生ECC碼的算法有很多種,例如一 BCH編碼算法、一里德·穆勒編碼算法(Reed-Muller code)、一里德·所羅門編碼算法(Reed-Solomon code)或其它可運(yùn)算ECC碼的算法等。如上所述,擴(kuò)增后的保留空間331將可以提供182字節(jié)空間來記錄ECC碼。若采用BCH編碼算法,并執(zhí)行BCH 40演算程序,則目前182字節(jié)的保留空間331是足夠存放數(shù)據(jù)校正必須記錄的ECC碼,如執(zhí)行BCH 40大約需要記錄70字節(jié)。則,本發(fā)明閃存裝置300相較于一般閃存裝置將可以具備有更多數(shù)據(jù)字節(jié)的校正能力。就此,本發(fā)明閃存裝置300可將部分的主區(qū)域310的數(shù)據(jù)空間移轉(zhuǎn)作為保留區(qū)域330的記憶空間,則保留區(qū)域330的記憶空間將可因此擴(kuò)增。如此,只要犧牲一些主區(qū)域310的數(shù)據(jù)空間,如犧牲1/8的扇區(qū),就可提供更多的保留空間331來記錄編碼長度較長的ECC碼,以提高數(shù)據(jù)的校正能力而增加閃存30的數(shù)據(jù)儲(chǔ)存上的質(zhì)量及可靠度。再者,在本發(fā)明的各實(shí)施例中,閃存30雖以8K字節(jié)頁面及其IK字節(jié)的次頁面(如扇區(qū)311/313)進(jìn)行解讀。然而,實(shí)際應(yīng)用時(shí),也可設(shè)計(jì)在其它不同尺寸的頁面(如1K、2K、4K或16Κ字節(jié))上,且每一次頁面(扇區(qū)311/313)也可設(shè)計(jì)成256字節(jié)或其它記憶容量大小等等。此外,本發(fā)明另一實(shí)施例中,為了具備更多數(shù)據(jù)字節(jié)的校正能力,也可選擇設(shè)定兩個(gè)數(shù)量以上的扇區(qū)313作為輔助扇區(qū),以進(jìn)一步擴(kuò)大記錄ECC碼的空間331來提高數(shù)據(jù)校正的效果。請參考圖4為本發(fā)明可提高數(shù)據(jù)校正能力的閃存裝置又一實(shí)施例的電路結(jié)構(gòu)示意圖,并且一并參考圖5Α及圖5Β分別為本發(fā)明閃存模塊一實(shí)施例的數(shù)據(jù)結(jié)構(gòu)示意圖及數(shù)據(jù)扇區(qū)與其配置的保留空間的數(shù)據(jù)結(jié)構(gòu)示意圖。上述實(shí)施例的閃存裝置300中,其各閃存30分別獨(dú)立且借由各自對(duì)應(yīng)的通道301 與控制器20進(jìn)行數(shù)據(jù)傳輸。而,本實(shí)施例的閃存裝置500中,可進(jìn)一步將多通道301的多個(gè)閃存30整合為一單通道351的閃存模塊35,例如兩個(gè)8位通道301的閃存30整合成一 16位通道351的閃存模塊35。延續(xù)上例,本實(shí)施例的閃存30仍以一 8Κ字節(jié)頁面作為數(shù)據(jù)結(jié)構(gòu)的基本單位,且每一扇區(qū)311、313設(shè)計(jì)成IK字節(jié)大小。閃存模塊35包括一主區(qū)域36及一保留區(qū)域37。若閃存模塊35由兩個(gè)閃存30所整合而成,則主區(qū)域36將會(huì)包括有十六個(gè)扇區(qū)(I 2ΧΝ ;Ν=8)311、313,而保留區(qū)域37的記憶空間為L3長度(如32字節(jié)X 16=512字節(jié))。同樣地,控制器20在這些扇區(qū)311、313之中選擇設(shè)定至少一扇區(qū)313為輔助扇區(qū),則其余各扇區(qū)311分別設(shè)定為數(shù)據(jù)扇區(qū)。數(shù)據(jù)扇區(qū)311用以儲(chǔ)存數(shù)據(jù),而輔助扇區(qū)313用以輔助擴(kuò)充原本保留區(qū)域37的記憶空間。以本實(shí)施例為例,若設(shè)定一個(gè)扇區(qū)313為輔助扇區(qū),其余十五個(gè)扇區(qū)311將設(shè)定為數(shù)據(jù)扇區(qū)。輔助扇區(qū)313輔助擴(kuò)充原本保留區(qū)域37的記憶空間,則,保留區(qū)域370的記憶空間將從原本的L3長度擴(kuò)增為L4長度(如512字節(jié)擴(kuò)增為1536字節(jié);512 — 512+1024=1536)。擴(kuò)增后的保留區(qū)域370根據(jù)數(shù)據(jù)扇區(qū)311的數(shù)量均分成多個(gè)保留空間371,如十五個(gè)。每一數(shù)據(jù)扇區(qū)311對(duì)應(yīng)配置的保留空間371為La3長度,其大約為102(1536 + 15)字節(jié)。擴(kuò)增后的保留空間371將可以提供102字節(jié)空間來記錄ECC碼。在此,102字節(jié)的保留空間371仍然足以應(yīng)付BCH 40演算程序必須記錄的ECC碼,如執(zhí)行BCH 40大約需要記錄70字節(jié)。由上所述,兩個(gè)通道301的兩個(gè)閃存30未合并之前分別會(huì)額外損失1/8的數(shù)據(jù)空間,其整合為一單通道351的閃存模塊35之后僅額外損失1/16的數(shù)據(jù)空間,相較之下可因此多出3/16的數(shù)據(jù)空間進(jìn)行利用。在此,將多通道301的多個(gè)閃存30進(jìn)一步整合在一單通道351的閃存模塊35中,將可有效降低閃存裝置500數(shù)據(jù)空間的損耗比例。如此據(jù)以實(shí)施,本實(shí)施例多通道整合的閃存裝置500不僅仍可具備較多數(shù)據(jù)字節(jié)的校正能力,且可避免為了提高數(shù)據(jù)校正的效果而犧牲太多的數(shù)據(jù)空間。以上所述僅為本發(fā)明的一較佳實(shí)施例,并非用來限定本發(fā)明實(shí)施的范圍,即凡依本發(fā)明申請專利范圍所述的形狀、構(gòu)造、特征及精神所為的均等變化與修改,均應(yīng)屬于本發(fā)明的申請專利范圍內(nèi) 。
權(quán)利要求
1.一種可提高數(shù)據(jù)校正能力的閃存裝置,其特征在于,包括 一控制器;及 至少ー閃存,包括 一主區(qū)域,包括多個(gè)扇區(qū),控制器在多個(gè)扇區(qū)的中選擇設(shè)定至少一扇區(qū)為ー輔助扇區(qū),其余各扇區(qū)分別設(shè)定為ー數(shù)據(jù)扇區(qū),各數(shù)據(jù)扇區(qū)用以儲(chǔ)存數(shù)據(jù) '及 一保留區(qū)域,輔助扇區(qū)用以輔助擴(kuò)增保留區(qū)域的記憶空間,擴(kuò)增后的保留區(qū)域根據(jù)數(shù)據(jù)扇區(qū)的數(shù)量切分成多個(gè)保留空間,各保留空間分別配置于對(duì)應(yīng)的數(shù)據(jù)扇區(qū)以記錄ー用以校驗(yàn)儲(chǔ)存數(shù)據(jù)的錯(cuò)誤校正碼。
2.根據(jù)權(quán)利要求I所述的閃存裝置,其特征在于,該控制器利用一BCH編碼算法、一里德.穆勒編碼算法、一里德.所羅門編碼算法或一可運(yùn)算錯(cuò)誤校正碼的算法執(zhí)行數(shù)據(jù)的容錯(cuò)校正。
3.一種可提高數(shù)據(jù)校正能力的閃存裝置,其特征在于,包括 一控制器;及 至少ー閃存模塊,其整合有多個(gè)閃存,閃存模塊通過一通道與控制器進(jìn)行溝通,閃存模塊包括 一主區(qū)域,包括多個(gè)扇區(qū),其中控制器在多個(gè)扇區(qū)的中選擇設(shè)定至少一扇區(qū)為ー輔助扇區(qū),其余各扇區(qū)分別設(shè)定為ー數(shù)據(jù)扇區(qū),各數(shù)據(jù)扇區(qū)用以儲(chǔ)存數(shù)據(jù);及 一保留區(qū)域,輔助扇區(qū)用以擴(kuò)增保留區(qū)域的記憶空間,擴(kuò)增后的保留區(qū)域相對(duì)于各數(shù)據(jù)扇區(qū)的數(shù)量均分成多個(gè)保留空間,各保留空間分別配置于對(duì)應(yīng)的數(shù)據(jù)扇區(qū)且用以記錄與ー錯(cuò)誤校正碼。
4.根據(jù)權(quán)利要求3所述的閃存裝置,其特征在于,該控制器利用一BCH編碼算法、一里德.穆勒編碼算法、一里德.所羅門編碼算法或一可運(yùn)算錯(cuò)誤校正碼的算法執(zhí)行數(shù)據(jù)的容錯(cuò)校正。
全文摘要
本發(fā)明提供一種可提高數(shù)據(jù)校正能力的閃存裝置,包括一控制器及至少一具有一主區(qū)域及一保留區(qū)域的閃存,主區(qū)域包括多個(gè)扇區(qū),控制器在這些扇區(qū)當(dāng)中設(shè)定至少一扇區(qū)為一輔助扇區(qū),其余各扇區(qū)分別設(shè)定為一用以儲(chǔ)存數(shù)據(jù)的數(shù)據(jù)扇區(qū),輔助扇區(qū)輔助擴(kuò)增保留區(qū)域的記憶空間,擴(kuò)增后的保留區(qū)域根據(jù)數(shù)據(jù)扇區(qū)的數(shù)量切分成多個(gè)保留空間,各保留空間分別配置于對(duì)應(yīng)的數(shù)據(jù)扇區(qū)以記錄一校驗(yàn)數(shù)據(jù)的錯(cuò)誤校正碼,由此,犧牲部分的主區(qū)域空間來擴(kuò)大保留區(qū)域空間,將可以記錄編碼長度較長的錯(cuò)誤校正碼,進(jìn)而提高數(shù)據(jù)的校正能力。
文檔編號(hào)G06F11/10GK102819467SQ20121028061
公開日2012年12月12日 申請日期2012年8月8日 優(yōu)先權(quán)日2012年3月6日
發(fā)明者吳錫熙 申請人:宜鼎國際股份有限公司