專(zhuān)利名稱(chēng):糾錯(cuò)碼控制器和包括該糾錯(cuò)碼控制器的存儲(chǔ)器系統(tǒng)的制作方法
糾錯(cuò)碼控制器和包括該糾錯(cuò)碼控制器的存儲(chǔ)器系統(tǒng) 技術(shù)領(lǐng)域本公開(kāi)涉及一種存儲(chǔ)器系統(tǒng),并且更具體地涉及一種用于檢測(cè)和糾正存 儲(chǔ)在快閃存儲(chǔ)器裝置中的多比特?cái)?shù)據(jù)中的錯(cuò)誤的系統(tǒng)和方法。要求2007年1月3日提交的韓國(guó)專(zhuān)利申請(qǐng)No. 2007-732在35U. S. C. § 119下的優(yōu)先權(quán),在此通過(guò)引用將其全部?jī)?nèi)容并入這里。
背景技術(shù):
存儲(chǔ)器裝置通常被分為易失性存儲(chǔ)器裝置和非易失性存儲(chǔ)器裝置。在易 失性存儲(chǔ)器裝置和非易失性存儲(chǔ)器裝置之間有許多差異。例如,非易失性存 儲(chǔ)器裝置在該裝置斷電(powerloss)的情況下,保持所存儲(chǔ)的數(shù)據(jù)。然而, 當(dāng)斷電時(shí),易失性存儲(chǔ)器裝置釋放所存儲(chǔ)的數(shù)據(jù)。易失性存儲(chǔ)器裝置包括例 如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的存儲(chǔ)器裝置。非易失性存儲(chǔ)器裝置包括 例如快閃存儲(chǔ)器裝置、只讀存儲(chǔ)器(ROM)裝置、電可編程只讀存儲(chǔ)器裝置 (EPROM)以及電可纟察除可編程只讀(EEPROM)存儲(chǔ)器裝置。快閃存儲(chǔ)器裝置具有許多有益特征。例如,盡管不像動(dòng)態(tài)隨機(jī)存取存儲(chǔ) 器(DRAM)那樣快,快閃存儲(chǔ)器裝置也具有較快的讀取速度。此外,與硬 盤(pán)相比,快閃存儲(chǔ)器裝置可經(jīng)受對(duì)其自身的更強(qiáng)烈撞擊。盡管快閃存儲(chǔ)器裝 置可以通過(guò)電擦除和復(fù)寫(xiě)數(shù)據(jù),但是與EEPROM不同,快閃存儲(chǔ)器裝置可以 以塊為單位擦除和寫(xiě)入數(shù)據(jù)。此外,快閃存儲(chǔ)器裝置成本低于EEPROM。由 于這些和其它這種特征,快閃存儲(chǔ)器裝置可廣泛地用作大容量、非易失性、 固態(tài)存儲(chǔ)裝置。例如,快閃存儲(chǔ)器裝置一般用于蜂窩電話、數(shù)碼相機(jī)以及數(shù) 字錄音設(shè)備。通常,快閃存儲(chǔ)器裝置將數(shù)據(jù)存儲(chǔ)在包括浮置柵極晶體管的陣列中。這 些浮柵晶體管被稱(chēng)作單元并且存儲(chǔ)比特?cái)?shù)據(jù)。最初,快閃存儲(chǔ)器裝置在每個(gè) 單元中僅可存儲(chǔ)1比特?cái)?shù)據(jù)。然而,被稱(chēng)作多層單元(MLC)裝置的較新的 快閃存儲(chǔ)器裝置可以通過(guò)控制在一個(gè)單元的浮置柵極上累積的電荷量來(lái)在一 個(gè)單元中存儲(chǔ)1比特或更多比特。在本公開(kāi)中,在一個(gè)存儲(chǔ)器單元中存儲(chǔ)1比特?cái)?shù)據(jù)的快閃存儲(chǔ)器裝置被稱(chēng)作單層單元(SLC)快閃存儲(chǔ)器裝置,并且在一個(gè)存儲(chǔ)器單元中存儲(chǔ)M比 特?cái)?shù)據(jù)的快閃存儲(chǔ)器裝置稱(chēng)作多層單元(MLC)快閃存儲(chǔ)器裝置(M為等于 或大于2的正整數(shù))。使用參考電壓來(lái)讀取存儲(chǔ)在存儲(chǔ)器單元中的數(shù)據(jù)。具體地,將參考電壓 施加到存儲(chǔ)器單元的控制柵極,并且根據(jù)電流是否流經(jīng)該單元,確定存儲(chǔ)在 該單元中的數(shù)據(jù)。此外,對(duì)于不同層的數(shù)據(jù)而言,用于讀取數(shù)據(jù)的每個(gè)參考 電壓的閾電壓分布是不同的。例如,用于讀取數(shù)據(jù)'0,的閾電壓分布與用于 讀取數(shù)據(jù)'1,的閾電壓分布不同。類(lèi)似地,用于讀取數(shù)據(jù)'01'的閾電壓分 布是不同的,用于讀取數(shù)據(jù)'11,的閾電壓分布也是不同的,依此類(lèi)推。用于從快閃存儲(chǔ)器裝置讀取數(shù)據(jù)的參考閾電壓分布的數(shù)目取決于在存儲(chǔ) 器裝置中可存儲(chǔ)的數(shù)據(jù)的比特。即,閾電壓分布的數(shù)目取決于在存儲(chǔ)器裝置 中可存儲(chǔ)l比特?cái)?shù)據(jù)、2比特?cái)?shù)據(jù)、3比特?cái)?shù)據(jù)、還是4比特?cái)?shù)據(jù)等。作為例 子,參考圖1,兩個(gè)閾電壓分布將用于在一個(gè)存儲(chǔ)器單元中存儲(chǔ)l比特?cái)?shù)據(jù)。 另一方面,參考圖2至4, 2M個(gè)閾電壓分布將用于在一個(gè)存儲(chǔ)器單元中存儲(chǔ) M比特?cái)?shù)據(jù)。例如,4個(gè)閾電壓分布用于在一個(gè)存儲(chǔ)單元中存儲(chǔ)2比特?cái)?shù)據(jù), 8個(gè)閾電壓分布用于在一個(gè)存儲(chǔ)器單元中存儲(chǔ)3比特?cái)?shù)據(jù),以及16個(gè)閾電壓 分布用于在一個(gè)存儲(chǔ)單元中存儲(chǔ)4比特?cái)?shù)據(jù)。因而,隨著存儲(chǔ)在一個(gè)存儲(chǔ)器 單元中的數(shù)據(jù)比特的數(shù)目增加,將使用更多的閾電壓分布。接著隨著閾電壓分布的數(shù)目增加,用于從單元中讀取數(shù)據(jù)的總的閾電 壓增加。然而,如本領(lǐng)域公知的,在升高存儲(chǔ)器單元的閾電壓方面存在限制。 換句話說(shuō),存儲(chǔ)器單元的閾電壓應(yīng)該分布在預(yù)定電壓范圍之內(nèi)。這意味著, 與在一個(gè)存儲(chǔ)器單元中存儲(chǔ)的數(shù)據(jù)比特的數(shù)目無(wú)關(guān),電壓閾值分布應(yīng)當(dāng)分布 在預(yù)定電壓范圍之內(nèi)。由于這個(gè)原因,如圖2至圖4所示,鄰近的閾電壓可 能互相重疊。由于鄰近的閾電壓分布重疊,所讀取的數(shù)據(jù)可能包括許多錯(cuò)誤 比特(例如,幾個(gè)錯(cuò)誤比特或幾十個(gè)錯(cuò)誤比特)。隨著存儲(chǔ)在一個(gè)存儲(chǔ)器單元 中的數(shù)據(jù)比特的數(shù)目增加,這種現(xiàn)象將更棘手。另外,由于各種其它原因諸 如例如電荷損失(charge loss)、時(shí)間消逝、溫度增加、在對(duì)鄰近單元進(jìn)行 編程時(shí)產(chǎn)生的耦合、鄰近單元的讀取操作以及其它的單元缺陷,鄰近閾電壓 分布也可能重疊。發(fā)明內(nèi)容本公開(kāi)的一個(gè)方面包括一種快閃存儲(chǔ)器裝置的ECC (糾錯(cuò)碼)控制器, 該快閃存儲(chǔ)器裝置存儲(chǔ)M比特?cái)?shù)據(jù)(M為大于或等于2的正整數(shù))。該ECC 控制器包括第一 ECC塊以及第二 ECC塊,該第一 ECC塊根據(jù)第一糾錯(cuò)方法 從將要存儲(chǔ)在快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生第一 ECC數(shù)據(jù),該第二 ECC 塊根據(jù)第二糾錯(cuò)方法從自第一 ECC塊輸出的第一 ECC數(shù)據(jù)和程序數(shù)據(jù)產(chǎn)生 第二ECC數(shù)據(jù),程序數(shù)據(jù)、第一ECC數(shù)據(jù)以及第二ECC數(shù)據(jù)被存儲(chǔ)在快閃 存儲(chǔ)器裝置中。本公開(kāi)的另一方面包括存儲(chǔ)器系統(tǒng)。該存儲(chǔ)器系統(tǒng)包括存儲(chǔ)M比特?cái)?shù)據(jù) (M為大于或等于2的正整數(shù))的快閃存儲(chǔ)器裝置和控制該快閃存儲(chǔ)器裝置 的存儲(chǔ)器控制器,其中該存儲(chǔ)器控制器包括ECC控制器,該ECC控制器使 用第一糾錯(cuò)方法和第二糾錯(cuò)方法對(duì)將要存儲(chǔ)在快閃存儲(chǔ)器裝置中的數(shù)據(jù)進(jìn)行 編碼。本公開(kāi)的另 一方面包括存儲(chǔ)器系統(tǒng)。該系統(tǒng)包括存儲(chǔ)M比特?cái)?shù)據(jù)(M為 大于或等于2的正整數(shù))的快閃存儲(chǔ)器裝置和控制該快閃存儲(chǔ)器裝置的存儲(chǔ) 器控制器,其中該存儲(chǔ)器控制器包括第一ECC塊、第二ECC塊和第三ECC 塊,該第一 ECC塊從將要存儲(chǔ)在快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生CRC (循 環(huán)冗余校驗(yàn))值并且輸出第一數(shù)據(jù)樣式(datapattem),該第二ECC塊^4居第 一糾錯(cuò)方法從第 一數(shù)據(jù)樣式產(chǎn)生第一 ECC數(shù)據(jù)并且輸出第二數(shù)據(jù)樣式,以及 該第三ECC塊根據(jù)第二糾錯(cuò)方法從第二數(shù)據(jù)樣式產(chǎn)生第二 ECC數(shù)據(jù)并且輸 出第三數(shù)據(jù)樣式。本^^開(kāi)的又一方面包括一種用于糾正存儲(chǔ)在快閃存儲(chǔ)器裝置中的M比特 數(shù)據(jù)(M為大于或等于2的正整數(shù))的錯(cuò)誤的方法。該方法包括根據(jù)第一糾 錯(cuò)方法從將要存儲(chǔ)在快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生第一 ECC數(shù)據(jù),根據(jù) 第二糾錯(cuò)方法從自第一 ECC塊輸出的第一 ECC數(shù)據(jù)和程序數(shù)據(jù)產(chǎn)生第二 ECC數(shù)據(jù),該程序數(shù)據(jù)、第一 ECC數(shù)據(jù)以及第二 ECC數(shù)據(jù)被同時(shí)存儲(chǔ)在快 閃存儲(chǔ)器裝置中。本公開(kāi)的另 一方面包括一種用于糾正存儲(chǔ)在快閃存儲(chǔ)器裝置中的M比特 數(shù)據(jù)(M為大于或等于2的正整數(shù))的錯(cuò)誤的方法。該方法包括從將要存儲(chǔ) 在快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生CRC (循環(huán)冗余校驗(yàn))值并且輸出第一 數(shù)據(jù)樣式,根據(jù)第 一糾錯(cuò)方法從第 一數(shù)據(jù)樣式產(chǎn)生第一 ECC數(shù)據(jù)并且輸出第二數(shù)據(jù)樣式,以及根據(jù)第二糾錯(cuò)方法從第二數(shù)據(jù)樣式產(chǎn)生第二 ECC數(shù)據(jù)并且 輸出第三數(shù)據(jù)樣式,包括程序數(shù)據(jù)、CRC值、第一 ECC數(shù)據(jù)以及第二 ECC 數(shù)據(jù)的第三數(shù)據(jù)樣式被存儲(chǔ)在快閃存儲(chǔ)器裝置中。
為了提供本公開(kāi)的進(jìn)一步的理解而將附圖包括在內(nèi),并且附圖被并入并且構(gòu)成說(shuō)明書(shū)的一部分。附圖示出本公開(kāi)的示例性實(shí)施例,并且與說(shuō)明書(shū)一 起用于解釋本公開(kāi)的原理。在附圖中圖1為示出存儲(chǔ)l比特?cái)?shù)據(jù)的通用快閃存儲(chǔ)器單元的閾電壓分布的視圖; 圖2為示出存儲(chǔ)2比特?cái)?shù)據(jù)的通用快閃存儲(chǔ)器單元的閾電壓分布的視圖; 圖3為示出存儲(chǔ)3比特?cái)?shù)據(jù)的通用快閃存儲(chǔ)器單元的閾電壓分布的視圖; 圖4為示出存儲(chǔ)4比特?cái)?shù)據(jù)的通用快閃存儲(chǔ)器單元的閾電壓分布的視圖; 圖5為根據(jù)示例性公開(kāi)的實(shí)施例的存儲(chǔ)器系統(tǒng)的示意性框圖; 圖6為根據(jù)示例性公開(kāi)的實(shí)施例的在圖5中示出的ECC控制器的示意性 框圖;圖7為示出根據(jù)示例性公開(kāi)的實(shí)施例的由圖6中示出的ECC控制器處理 的數(shù)據(jù)改變的視圖;以及圖8為示出根據(jù)可替代的示例性公開(kāi)的實(shí)施例的ECC控制器的示意性框圖。具體實(shí)施例下面將參考附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。然而,本公開(kāi)可 以以不同形式實(shí)施,并且本公開(kāi)不應(yīng)被解釋為限于這里提出的實(shí)施例。更確 切的,提供這些實(shí)施例使得該公開(kāi)將是徹底的和完整的,并且使得該公開(kāi)將 把本公開(kāi)的范圍充分地傳達(dá)給本領(lǐng)域技術(shù)人員。貫穿全文,相同的參考數(shù)字 表示相同的元件。在描述中,將快閃存儲(chǔ)器裝置示例性地用作非易失性存儲(chǔ)器裝置以解釋 本公開(kāi)的特性和功能。本領(lǐng)域普通技術(shù)人員從這里作出的描述,將容易理解 其它優(yōu)勢(shì)和性能。本公開(kāi)可以通過(guò)其它實(shí)施例實(shí)現(xiàn)或應(yīng)用。圖5為根據(jù)示例性公開(kāi)的實(shí)施例的存儲(chǔ)器系統(tǒng)的示意性框圖。參考圖5, 該存儲(chǔ)器系統(tǒng)包括快閃存儲(chǔ)器裝置100以及存儲(chǔ)器控制器200。該快閃存儲(chǔ)器裝置100在存儲(chǔ)器控制器200的控制下操作以每單元存儲(chǔ)M比特?cái)?shù)據(jù)。這 里,該M比特?cái)?shù)據(jù)包括2比特?cái)?shù)據(jù)、3比特?cái)?shù)據(jù)以及4比特?cái)?shù)據(jù)。根據(jù)示例 性實(shí)施例,快閃存儲(chǔ)器裝置100可以是NAND快閃存儲(chǔ)器裝置。然而,本領(lǐng) 域普通技術(shù)人員將理解快閃存儲(chǔ)器裝置100不限于NAND快閃存儲(chǔ)器裝置。 例如,可使用諸如NOR快閃存儲(chǔ)器裝置、PRAM以及MRAM的非易失性存 儲(chǔ)器裝置來(lái)實(shí)現(xiàn)快閃存儲(chǔ)器裝置100。該存儲(chǔ)器控制器200基于主機(jī)300的請(qǐng)求而控制快閃存儲(chǔ)器裝置100。 此外,存儲(chǔ)器控制器200包括主機(jī)接口 210、快閃接口 220、處理單元230以 及ECC控制器240。該主機(jī)接口 210提供與主機(jī)300的接口 。該快閃接口 220 提供與快閃存儲(chǔ)器裝置100的接口 。處理單元230整體上控制存儲(chǔ)器控制器 200的操作。在示例性實(shí)施例中,主機(jī)300以及存儲(chǔ)器控制器200可經(jīng)由諸 如NOR接口、 NAND接口、外圍組件互連(PCI)、 ISO、通用串行總線(USB) 或任何其它這種接口的各種接口而進(jìn)行通信。此外,快閃存儲(chǔ)器裝置100以 及存儲(chǔ)器控制器200可經(jīng)由公知的NAND/NOR接口相互通信。此外,在示 例性公開(kāi)的實(shí)施例中,快閃存儲(chǔ)器裝置100以及存儲(chǔ)器控制器200可構(gòu)成諸 如快閃存儲(chǔ)器卡和智能卡的存儲(chǔ)器卡。而且,存儲(chǔ)器控制器200可以直接安 裝在個(gè)人計(jì)算機(jī)(PC)的主板上。同時(shí),在快閃存儲(chǔ)器裝置用作緩沖器存儲(chǔ) 器的情形中,存儲(chǔ)器控制器200可用作硬盤(pán)驅(qū)動(dòng)器(HDD)的緩沖器控制器。仍參考圖5, ECC控制器240產(chǎn)生將要存儲(chǔ)在快閃存儲(chǔ)器裝置100中的 糾錯(cuò)碼(ECC)數(shù)據(jù)。該ECC數(shù)據(jù)可用于許多用途。例如,ECC數(shù)據(jù)用于檢 測(cè)和/或糾正錯(cuò)誤。具體地,通過(guò)使用ECC數(shù)據(jù),ECC控制器240檢測(cè)和糾 正從快閃存儲(chǔ)器裝置IOO讀取的數(shù)據(jù)中的錯(cuò)誤。在示例性實(shí)施例中,ECC控 制器240使用兩級(jí)糾錯(cuò)方案。第一糾錯(cuò)方案可用于從將要存儲(chǔ)在快閃存儲(chǔ)器 裝置100中的數(shù)據(jù)產(chǎn)生作為ECC數(shù)據(jù)的線性塊碼。而且,該線性塊編碼可用 于檢測(cè)和糾正在從快閃存儲(chǔ)器裝置100讀取的數(shù)據(jù)中的錯(cuò)誤。該第一糾錯(cuò)方 案被稱(chēng)為線性塊編碼方法。然而,本領(lǐng)域技術(shù)人員將理解在不脫離本公開(kāi) 的范圍的情況下,可以使用除了該線性塊方法以外的其它糾錯(cuò)方案。此外, 第二糾錯(cuò)方案用作如,例如最大似然(ML)方法。該ML方法為一種具有低 錯(cuò)誤概率的讀取數(shù)據(jù)的編碼和解碼方法。在示例性實(shí)施例中,ECC控制器240包括第一ECC塊242。塊242執(zhí)行 線性塊編碼方法。ECC控制器240還包括第二ECC塊244,該第二 ECC塊244執(zhí)行ML方法。具體地,第一ECC塊242根據(jù)線性塊編碼方法從自主機(jī) 300傳輸?shù)臄?shù)據(jù)(被稱(chēng)作程序數(shù)據(jù))產(chǎn)生第一 ECC數(shù)據(jù)。而且,第二 ECC塊 244根據(jù)ML編碼方法從自第一ECC塊242輸出的數(shù)據(jù)(即,程序數(shù)據(jù)和第 一 ECC數(shù)據(jù))產(chǎn)生第二 ECC數(shù)據(jù)。從第二 ECC塊244輸出的數(shù)據(jù)(程序數(shù) 據(jù)、第一ECC數(shù)據(jù)以及第二ECC數(shù)據(jù))經(jīng)由快閃接口 220被存儲(chǔ)在快閃存 儲(chǔ)器裝置100中。在讀取操作期間,從快閃存儲(chǔ)器裝置IOO讀取的數(shù)據(jù)(包括程序數(shù)據(jù)、 第一ECC數(shù)據(jù)以及第二ECC數(shù)據(jù))經(jīng)由快閃接口 220被傳遞到第二ECC塊 244。第二 ECC塊244根據(jù)ML方法#:測(cè)和/或糾正所接收的數(shù)據(jù)(包括程序 數(shù)據(jù)、第一ECC數(shù)據(jù)以及第二ECC數(shù)據(jù))的錯(cuò)誤。然后,將通過(guò)ML方法 如此糾正的數(shù)據(jù)傳輸至第一 ECC塊242。該第一 ECC塊242根據(jù)線性塊解碼 方法檢測(cè)和/或糾正從第二 ECC塊240輸出的數(shù)據(jù)(包括程序數(shù)據(jù)和第一 ECC 數(shù)據(jù))的錯(cuò)誤。然后,從第一ECC塊242輸出的數(shù)據(jù)經(jīng)由主機(jī)接口 210被傳 專(zhuān)命至主才幾300。如上所述,所公開(kāi)的ECC控制器240根據(jù)ML方法具有低錯(cuò)誤概率地從 快閃存儲(chǔ)器裝置IOO讀取數(shù)據(jù),并且根據(jù)線性塊編碼方法具有低錯(cuò)誤概率地 檢測(cè)和糾正所讀取的數(shù)據(jù)的錯(cuò)誤。這兩級(jí)糾錯(cuò)方案可以使得更準(zhǔn)確地讀取多 比特?cái)?shù)據(jù)。圖6為根據(jù)示例性公開(kāi)的實(shí)施例的在圖5中示出的ECC控制器的示意性 框圖。參考圖6,該ECC控制器240包括第一 ECC塊242和第二 ECC塊244。 在示例性實(shí)施例中,第一ECC塊242根據(jù)線性塊編碼方法操作,并且包括線 性塊編碼器242a和線性塊解碼器242b。類(lèi)似地,第二 ECC塊244根據(jù)ML 編碼方法操作,并且包括ML編碼器244a和ML解碼器244b。第一 ECC塊242的線性塊編碼器242a根據(jù)線性塊編碼方法從自主機(jī)300 傳輸?shù)臄?shù)據(jù)(被稱(chēng)作程序數(shù)據(jù))產(chǎn)生第一 ECC數(shù)據(jù)。第二 ECC塊244的ML 編碼器244a根據(jù)ML編碼方法從自第一 ECC塊242的編碼器242a輸出的數(shù) 據(jù)(即,程序數(shù)據(jù)和第一ECC數(shù)據(jù)或數(shù)據(jù)樣式)產(chǎn)生第二ECC數(shù)據(jù)"ECC2"。 此外,從第二ECC塊244的ML編碼器244a輸出的數(shù)據(jù)(程序數(shù)據(jù)、第一 ECC數(shù)據(jù)以及第二ECC數(shù)據(jù))(或數(shù)據(jù)樣式)經(jīng)由快閃接口 220被存儲(chǔ)在快 閃存儲(chǔ)器裝置100中。任何本領(lǐng)域公知的方法可用于將如此編碼的數(shù)據(jù)傳輸 和存儲(chǔ)至快閃存儲(chǔ)器裝置中。在讀取操作中,從快閃存儲(chǔ)器裝置100讀取的數(shù)據(jù)(包括程序數(shù)據(jù)、第一 ECC數(shù)據(jù)以及第二 ECC數(shù)據(jù))經(jīng)由快閃接口 220被傳遞到第二 ECC塊240 的ML解碼器244b。第二 ECC塊240的ML解碼器244b根據(jù)ML方法檢測(cè) 和糾正所接收的數(shù)據(jù)(包括程序數(shù)據(jù)、第一 ECC數(shù)據(jù)以及第二 ECC數(shù)據(jù)) 的錯(cuò)誤。具體地,ML解碼器244b檢測(cè)低錯(cuò)誤概率的數(shù)據(jù)。即,通過(guò)ML解 碼器244b獲得具有低錯(cuò)誤概率的數(shù)據(jù)。以這樣方式獲得的數(shù)據(jù)的錯(cuò)誤可由 ML解碼器244b部分地糾正。同樣,因?yàn)閺目扉W存儲(chǔ)器IOO輸出的數(shù)據(jù)開(kāi)始 就具有低錯(cuò)誤概率,所以以這種方式獲得的數(shù)據(jù)在不需要糾錯(cuò)的情況下就可 以輸出。第一 ECC塊242的線性塊解碼器242b根據(jù)線性塊解碼方法檢測(cè)和 糾正/人第二 ECC塊240的ML解碼器244b輸出的數(shù)據(jù)(包括程序數(shù)據(jù)和第 一 ECC數(shù)據(jù))的錯(cuò)誤。從第一 ECC塊242的線性塊解碼器242b輸出的數(shù)據(jù) 經(jīng)由主才幾4妻口 210凈皮傳送至主片幾300。在示例性實(shí)施例中,可以糾正數(shù)十至數(shù)百比特的第一 ECC塊242產(chǎn)生線 性碼作為ECC碼。線性碼的一些例子包括重復(fù)碼、奇偶校驗(yàn)碼、循環(huán)碼、漢 明碼、格雷(Golay)碼、里德-所羅門(mén)(Reed-solomon)碼、博斯-喬赫里-雷克文黑 姆(Bose,Ray-Chaudhuri,Hocquenghem(BCH))碼以及里德-密勒(Reed-Muller) 碼。此外,第二ECC塊244的ML編碼器244a將奇偶校驗(yàn)數(shù)據(jù)添加到從第 一 ECC塊242的線性塊編碼器242a輸出的數(shù)據(jù)。當(dāng)添加奇偶校驗(yàn)數(shù)據(jù)時(shí), 準(zhǔn)確讀取原始數(shù)據(jù)的概率增加。例如,假設(shè)將要讀取的數(shù)據(jù)為'1011,,存在 很大的可能性將原始數(shù)據(jù)'1011,讀作數(shù)據(jù)'1010,或數(shù)據(jù)'1100,。然而, 當(dāng)ML編碼器244a將奇偶校驗(yàn)數(shù)據(jù)添加至數(shù)據(jù)'1011,時(shí),在讀取數(shù)據(jù)'1011, 的操作期間將原始數(shù)據(jù)'1011,錯(cuò)誤地讀作數(shù)據(jù)'1010,或'1100,的可能 性降低,而且在讀取數(shù)據(jù)'1011,的操作期間沒(méi)有改變地讀取原始數(shù)據(jù)'1011, 的可能性增加。在圖7中示出該現(xiàn)象。對(duì)于本領(lǐng)域普通技術(shù)人員而言顯而易 見(jiàn)的是第二ECC塊244不限于ML方法。例如,可使用諸如例如美國(guó)專(zhuān)利 No.7,023,735中描述的分段讀取方式(fractional read manner)的其它糾錯(cuò)方 法來(lái)實(shí)現(xiàn)第二ECC塊244。因此,如上所述,通過(guò)低錯(cuò)誤概率地讀取數(shù)據(jù)并 且糾正所讀取的數(shù)據(jù)的錯(cuò)誤,可以準(zhǔn)確地讀取原始多比特?cái)?shù)據(jù)。對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)顯而易見(jiàn)的是在不脫離本公開(kāi)的范圍的 情況下,可以以各種方式修改ECC控制器240。例如,可配置ECC控制器 240以經(jīng)由CRC檢測(cè)被傳輸至主機(jī)300的數(shù)據(jù)中的錯(cuò)誤的存在。參考圖8,根據(jù)另一示例性實(shí)施例的ECC控制器400包括第一 ECC塊410、第二 ECC 塊420以及第三ECC塊430。第一 ECC塊410包括編碼器411和解碼器412, 該編碼器411從所接收的數(shù)據(jù)產(chǎn)生CRC值(即,校驗(yàn)和值),以及該解碼器 412用于檢測(cè)從第二 ECC塊420輸出的數(shù)據(jù)中的錯(cuò)誤的存在。由于第二 ECC 塊420和第三ECC塊430對(duì)應(yīng)于在圖6中示出的塊242和244,所以將省略 對(duì)其的描述。在示例性實(shí)施例中,盡管未示出,快閃存儲(chǔ)器裝置100包括包含至少兩 個(gè)存儲(chǔ)區(qū)域的存儲(chǔ)器單元陣列。第一存儲(chǔ)區(qū)域(主單元區(qū)域)可用于存儲(chǔ)從 主機(jī)傳輸?shù)臄?shù)據(jù)。第二存儲(chǔ)區(qū)域(備用(spare)區(qū)域)可用于存儲(chǔ)與存儲(chǔ)在 主單元區(qū)i或中的凌丈據(jù)相關(guān)的ECC凄t據(jù)(ECC1+ECC2或CRC+ECC1+ECC2 )。 此外,屬于主單元區(qū)域的各個(gè)單元可存儲(chǔ)多比特?cái)?shù)據(jù)。另一方面,屬于備用 單元區(qū)域的各個(gè)單元可存儲(chǔ)單比特?cái)?shù)據(jù)。同樣,主單元區(qū)域可存儲(chǔ)數(shù)據(jù)和處 于多比特狀態(tài)的ECC數(shù)據(jù)。所公開(kāi)的存儲(chǔ)器控制器可用于讀取數(shù)據(jù)并將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器裝置的任 何系統(tǒng)中。此外,通過(guò)使用兩級(jí)糾錯(cuò)方案,所公開(kāi)的存儲(chǔ)器控制器可比其它 存儲(chǔ)器控制器更準(zhǔn)確地讀取多比特?cái)?shù)據(jù)。書(shū)意圖覆蓋落入本發(fā)明的真實(shí)精神和范圍之內(nèi)的所有這樣的修改、改進(jìn)以及 其它實(shí)施例。因而,在法律所許可的最大范圍內(nèi),本發(fā)明的范圍將由所附權(quán)利要求書(shū)和其等價(jià)物的最寬的容許解釋來(lái)確定,并且不應(yīng)受限于或限制于前 述詳細(xì)描述。
權(quán)利要求
1. 一種快閃存儲(chǔ)器裝置的糾錯(cuò)碼ECC控制器,該快閃存儲(chǔ)器裝置存儲(chǔ)M比特?cái)?shù)據(jù)(M為大于或等于2的整數(shù)),該ECC控制器包括第一ECC塊,其根據(jù)第一糾錯(cuò)方法從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生第一ECC數(shù)據(jù);以及第二ECC塊,其根據(jù)第二糾錯(cuò)方法從自該第一ECC塊輸出的該第一ECC數(shù)據(jù)和該程序數(shù)據(jù)產(chǎn)生第二ECC數(shù)據(jù),該程序數(shù)據(jù)、該第一ECC數(shù)據(jù)以及該第二ECC數(shù)據(jù)被存儲(chǔ)在該快閃存儲(chǔ)器裝置中。
2. 如權(quán)利要求1所述的控制器,其中,該第二ECC塊使用該第二糾錯(cuò)方 法對(duì)從該快閃存儲(chǔ)器讀取的數(shù)據(jù)進(jìn)行解碼,以及該第一 ECC塊使用該第一糾 錯(cuò)方法對(duì)從該快閃存儲(chǔ)器讀取的數(shù)據(jù)進(jìn)行解碼。
3. 如權(quán)利要求1所述的控制器,其中,該第一糾錯(cuò)方法為線性塊方法, 以及該第二糾錯(cuò)方法為最大似然ML方法。
4. 如權(quán)利要求1所述的控制器,其中,該第二ECC塊通過(guò)將奇偶校驗(yàn)數(shù) 據(jù)添加至該程序數(shù)據(jù)和該第一 ECC數(shù)據(jù)而產(chǎn)生該第二 ECC數(shù)據(jù)。
5. 如權(quán)利要求1所述的控制器,其中,該快閃存儲(chǔ)器裝置為NAND快閃 存儲(chǔ)器裝置、NOR快閃存儲(chǔ)器裝置、相變隨機(jī)存取存儲(chǔ)器PRAM裝置和磁阻隨 機(jī)存取存儲(chǔ)器MRAM裝置中的一個(gè)。
6. —種存儲(chǔ)器系統(tǒng),包括快閃存儲(chǔ)器裝置,其存儲(chǔ)M比特?cái)?shù)據(jù)(M為大于或等于2的正整數(shù));以及存儲(chǔ)器控制器,其控制該快閃存儲(chǔ)器裝置,其中,該存儲(chǔ)器控制器包括ECC控制器,該ECC控制器使用第一糾錯(cuò)方 法和第二糾錯(cuò)方法對(duì)將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的數(shù)據(jù)進(jìn)行編碼。
7. 如權(quán)利要求6所述的系統(tǒng),其中,該第一糾錯(cuò)方法為線性塊方法,以 及該第二糾錯(cuò)方法為最大似然ML方法。
8. 如權(quán)利要求7所述的系統(tǒng),其中,該ECC控制器包括第一 ECC塊,其根據(jù)該線性塊方法從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的 程序數(shù)據(jù)產(chǎn)生第一ECC數(shù)據(jù);以及第二 ECC塊,其根據(jù)該最大似然方法從自該第一 ECC塊輸出的該第一 ECC數(shù)據(jù)和該程序數(shù)據(jù)產(chǎn)生第二ECC數(shù)據(jù),該程序數(shù)據(jù)、該第一ECC數(shù)據(jù)以及該 第二 ECC數(shù)據(jù)被同時(shí)存儲(chǔ)在該快閃存儲(chǔ)器裝置中。
9. 如權(quán)利要求8所述的系統(tǒng),其中,該第二ECC塊通過(guò)使用在從該快閃 存儲(chǔ)器裝置讀取的數(shù)據(jù)中包括的該第二 ECC數(shù)據(jù)來(lái)糾正從該快閃存儲(chǔ)器裝置 讀取的數(shù)據(jù)的錯(cuò)誤,并且該第一 ECC塊使用在從該第二 ECC塊輸出的讀取數(shù) 據(jù)中包括的該第一 ECC數(shù)據(jù)來(lái)糾正該讀取數(shù)據(jù)的錯(cuò)誤。
10. 如權(quán)利要求8所述的系統(tǒng),其中,該第二ECC塊通過(guò)將奇偶校驗(yàn)數(shù) 據(jù)添加至該程序數(shù)據(jù)和該第一 ECC數(shù)據(jù)而產(chǎn)生該第二 ECC數(shù)據(jù)。
11. 如權(quán)利要求8所述的系統(tǒng),其中,該快閃存儲(chǔ)器裝置包括存儲(chǔ)該程 序數(shù)據(jù)的第一存儲(chǔ)區(qū)域、以及存儲(chǔ)該第一 ECC數(shù)據(jù)和該第二 ECC數(shù)據(jù)的第二 存儲(chǔ)區(qū)域。
12. 如權(quán)利要求11所述的系統(tǒng),其中,該第一存儲(chǔ)區(qū)域的各個(gè)存儲(chǔ)器單 元存儲(chǔ)M比特?cái)?shù)據(jù),并且該第二存儲(chǔ)區(qū)域的各個(gè)存儲(chǔ)器單元存儲(chǔ)1比特?cái)?shù)據(jù)。
13. 如權(quán)利要求6所述的系統(tǒng),其中,該存儲(chǔ)器控制器安裝在計(jì)算系統(tǒng) 的主板上。
14. 如權(quán)利要求6所述的系統(tǒng),其中,該快閃存儲(chǔ)器裝置和該存儲(chǔ)器控 制器構(gòu)成存儲(chǔ)器卡。
15. —種存儲(chǔ)器系統(tǒng),包括快閃存儲(chǔ)器裝置,其存儲(chǔ)M比特?cái)?shù)據(jù)(M為大于或等于2的正整數(shù));以及存儲(chǔ)器控制器,其控制該快閃存儲(chǔ)器裝置, 其中該存儲(chǔ)器控制器包括第一 ECC塊,其從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生 CRC (循環(huán)冗余校驗(yàn))值并且輸出第一數(shù)據(jù)樣式;以及第二ECC塊,其根據(jù)第一糾錯(cuò)方法從該第一數(shù)據(jù)樣式產(chǎn)生第一 ECC 數(shù)據(jù)并且輸出第二數(shù)據(jù)樣式;以及第三ECC塊,其根據(jù)第二糾錯(cuò)方法從該第二數(shù)據(jù)樣式產(chǎn)生第二 ECC 數(shù)據(jù)并且輸出第三數(shù)據(jù)樣式。
16. 如權(quán)利要求15所述的系統(tǒng),其中,該第一糾錯(cuò)方法為線性塊方法, 以及該第二糾錯(cuò)方法為最大似然ML方法。
17. 如權(quán)利要求15所述的系統(tǒng),其中,該第三ECC塊使用包括在從該快閃存儲(chǔ)器裝置讀取的數(shù)據(jù)中的該第二 ECC數(shù)據(jù)來(lái)糾正從該快閃存儲(chǔ)器裝置讀 取的數(shù)據(jù)的錯(cuò)誤,該第二 ECC塊使用包括在從該第三ECC塊輸出的讀取數(shù)據(jù) 中的該第一 ECC數(shù)據(jù)來(lái)糾正該讀取數(shù)據(jù)的錯(cuò)誤,并且該第一 ECC塊使用包括 在從該第二 ECC塊輸出的讀取數(shù)據(jù)中的CRC值來(lái)檢測(cè)該讀取數(shù)據(jù)是否具有錯(cuò) 誤。
18. 如權(quán)利要求17所述的系統(tǒng),其中,該第三ECC塊通過(guò)將奇偶校驗(yàn)數(shù) 據(jù)添加至該第二數(shù)據(jù)樣式來(lái)產(chǎn)生該第二 ECC數(shù)據(jù)。
19. 如權(quán)利要求17所述的系統(tǒng),其中,該快閃存儲(chǔ)器裝置包括存儲(chǔ)該 程序數(shù)據(jù)的第一存儲(chǔ)區(qū)域;以及存儲(chǔ)該CRC值、該第一 ECC數(shù)據(jù)以及該第二 ECC數(shù)據(jù)的第二存儲(chǔ)區(qū)域。
20. 如權(quán)利要求19所述的系統(tǒng),其中,該第一存儲(chǔ)區(qū)域的各個(gè)存儲(chǔ)器單 元存儲(chǔ)M比特?cái)?shù)據(jù),以及該第二存儲(chǔ)區(qū)域的各個(gè)存儲(chǔ)器單元存儲(chǔ)1比特?cái)?shù)據(jù)。
21. —種用于糾正存儲(chǔ)在快閃存儲(chǔ)器裝置中的M比特?cái)?shù)據(jù)(M為大于或 等于2的正整數(shù))的錯(cuò)誤的方法,該方法包括根據(jù)第一糾錯(cuò)方法,從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生 第一ECC數(shù)據(jù);以及根據(jù)第二糾錯(cuò)方法,從自第一 ECC塊輸出的該第一 ECC數(shù)據(jù)和該程序數(shù) 據(jù)產(chǎn)生第二ECC數(shù)據(jù),該程序數(shù)據(jù)、該第一ECC數(shù)據(jù)以及該第二ECC數(shù)據(jù)被 同時(shí)存儲(chǔ)在該快閃存儲(chǔ)器裝置中。
22. 如權(quán)利要求21所述的方法,還包括使用包括在從該快閃存儲(chǔ)器裝置讀取的數(shù)據(jù)中的該第二 ECC數(shù)據(jù)來(lái)糾正 從該快閃存儲(chǔ)器裝置讀取的數(shù)據(jù)的錯(cuò)誤;以及使用包括在從第二 ECC塊輸出的讀取數(shù)據(jù)中的該第一 ECC數(shù)據(jù)來(lái)糾正該 讀取數(shù)據(jù)的錯(cuò)誤。
23. 如權(quán)利要求21所述的方法,其中,該第一糾錯(cuò)方法為線性塊方法, 以及該第二糾錯(cuò)方法為最大似然ML方法。
24. 如權(quán)利要求21所述的方法,其中,該第二ECC數(shù)據(jù)是通過(guò)將奇偶校 驗(yàn)數(shù)據(jù)添加至該程序數(shù)據(jù)和該第一 ECC數(shù)據(jù)而產(chǎn)生的。
25. 如權(quán)利要求21所述的方法,其中,該快閃存儲(chǔ)器裝置是NAND快閃 存儲(chǔ)器裝置、NOR快閃存儲(chǔ)器裝置、PRAM以及匿AM中的一個(gè)。
26. 如權(quán)利要求21所述的方法,還包括將該程序數(shù)據(jù)存儲(chǔ)在該快閃存儲(chǔ)器裝置的第一存儲(chǔ)區(qū)域中,以及將該第一 ECC數(shù)據(jù)和該第二 ECC數(shù)據(jù)存儲(chǔ)在該快閃存儲(chǔ)器裝置的第二存儲(chǔ)區(qū)域中。
27. 如權(quán)利要求26所述的方法,還包括將M比特?cái)?shù)據(jù)存儲(chǔ)在該第一存儲(chǔ) 區(qū)域的各個(gè)存儲(chǔ)器單元中,以及將l比特?cái)?shù)據(jù)存儲(chǔ)在該第二存儲(chǔ)區(qū)域的各個(gè) 存儲(chǔ)器單元中。
28. —種用于糾正存儲(chǔ)在快閃存儲(chǔ)器裝置中的M比特?cái)?shù)據(jù)(M為大于或 等于2的正整數(shù))的錯(cuò)誤的方法,該方法包括從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生CRC (循環(huán)冗余校驗(yàn)) 值并且輸出第一數(shù)據(jù)樣式;根據(jù)第一糾錯(cuò)方法,從該第一數(shù)據(jù)樣式產(chǎn)生第一 ECC數(shù)據(jù)并輸出第二數(shù) 據(jù)樣式;以及根據(jù)第二糾錯(cuò)方法,從該第二數(shù)據(jù)樣式產(chǎn)生第二 ECC數(shù)據(jù)并輸出第三數(shù) 據(jù)樣式,包括該程序數(shù)據(jù)、該CRC值、該第一ECC數(shù)據(jù)以及該第二ECC數(shù)據(jù) 的該第三數(shù)據(jù)樣式^^皮存儲(chǔ)在快閃存儲(chǔ)器裝置中。
29. 如權(quán)利要求28所述的方法,還包括使用包括在從該快閃存儲(chǔ)器裝置中讀取的數(shù)據(jù)中的該第二 ECC數(shù)據(jù)來(lái)糾 正從該快閃存儲(chǔ)器存儲(chǔ)裝置讀取的數(shù)據(jù)中的錯(cuò)誤;使用包括在從第三ECC塊輸出的讀取數(shù)據(jù)中的該第一 ECC數(shù)據(jù)來(lái)糾正該 讀取數(shù)據(jù)的錯(cuò)誤;以及使用包括在從第二 ECC塊輸出的讀取數(shù)據(jù)中的該CRC值來(lái)檢測(cè)該讀取數(shù) 據(jù)是否具有錯(cuò)誤。
30. 如權(quán)利要求28所述的方法,其中,該第二ECC數(shù)據(jù)是通過(guò)將奇偶校 驗(yàn)數(shù)據(jù)添加至該第二數(shù)據(jù)樣式而產(chǎn)生的。
31. 如權(quán)利要求28所述的方法,還包括將該程序數(shù)據(jù)存儲(chǔ)在該快閃存儲(chǔ)器裝置的第一存儲(chǔ)區(qū)域中,以及將該 CRC值、該第一 ECC數(shù)據(jù)以及該第二 ECC數(shù)據(jù)存儲(chǔ)在該快閃存儲(chǔ)器裝置的第 二存儲(chǔ)區(qū)域中。
32. 如權(quán)利要求31所述的數(shù)據(jù),還包括將M比特?cái)?shù)據(jù)存儲(chǔ)在該第一存儲(chǔ) 區(qū)域的各個(gè)存儲(chǔ)器單元中,以及將l比特?cái)?shù)據(jù)存儲(chǔ)在該第二存儲(chǔ)區(qū)域的各個(gè) 存儲(chǔ)器單元中。
全文摘要
提供了一種快閃存儲(chǔ)器裝置的ECC(糾錯(cuò)碼)控制器,該快閃存儲(chǔ)器裝置存儲(chǔ)M比特?cái)?shù)據(jù)(M為大于或等于2的正整數(shù)),該ECC控制器包括第一ECC塊以及第二ECC塊,該第一ECC塊根據(jù)第一糾錯(cuò)方法從將要存儲(chǔ)在該快閃存儲(chǔ)器裝置中的程序數(shù)據(jù)產(chǎn)生第一ECC數(shù)據(jù),該第二ECC塊根據(jù)第二糾錯(cuò)方法從自第一ECC塊輸出的第一ECC數(shù)據(jù)和程序數(shù)據(jù)產(chǎn)生第二ECC數(shù)據(jù),程序數(shù)據(jù)、第一ECC數(shù)據(jù)以及第二ECC數(shù)據(jù)被存儲(chǔ)在該快閃存儲(chǔ)器裝置中。
文檔編號(hào)G11C29/42GK101256842SQ20081009200
公開(kāi)日2008年9月3日 申請(qǐng)日期2008年1月3日 優(yōu)先權(quán)日2007年1月3日
發(fā)明者孔駿鎮(zhèn), 李潤(rùn)泰, 洪始勛 申請(qǐng)人:三星電子株式會(huì)社