用于解碼具有多個奇偶校驗段的碼字的系統(tǒng)、方法和設(shè)備的制作方法
【專利摘要】錯誤控制解碼系統(tǒng)解碼包括數(shù)據(jù)字以及兩個或更多奇偶校驗段的碼字。該系統(tǒng)包括:第一解碼器,通過利用在該碼字中包括的一個或多個第一奇偶校驗段以該數(shù)據(jù)字來解碼該碼字;以及第二解碼器,通過利用在該碼字中包括的一個或多個第二奇偶校驗段以該數(shù)據(jù)字來解碼該碼字,其中該一個或多個第一奇偶校驗段不同于該一個或多個第二奇偶校驗段。錯誤估計模塊估計該碼字中的錯誤的數(shù)量,并且控制器選擇第一解碼器和第二解碼器中的哪個來開始解碼該碼字,其中該選擇基于由該錯誤估計模塊提供的該碼字中的錯誤的數(shù)量的估計。
【專利說明】用于解碼具有多個奇偶校驗段的碼字的系統(tǒng)、方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本公開涉及在存儲器系統(tǒng)中使用錯誤控制碼,具體地,涉及不依賴于交織的數(shù)據(jù)的并行鏈接(concatenated)編碼。
【背景技術(shù)】
[0002]諸如閃存設(shè)備的非易失性存儲器已經(jīng)支持消費電子的增加的便攜性,并且已經(jīng)在適合于云計算和大量存儲的相對低功率企業(yè)存儲系統(tǒng)中使用。在這些區(qū)域中的一直存在的幾乎持續(xù)提升的需求經(jīng)常伴隨著改進(jìn)數(shù)據(jù)存儲容量的需求。更大存儲容量的需求又加劇了對更大存儲密度的需求,使得可以維持以及優(yōu)選地降低諸如功耗和外形尺寸的規(guī)格。這樣,正存在著增加非易失性存儲器的存儲密度的壓力以便進(jìn)一步改進(jìn)這些設(shè)備的有用的屬性。但是,增加存儲密度的缺點是,存儲的數(shù)據(jù)愈加易出現(xiàn)存儲和/或讀取錯誤。
[0003]已經(jīng)使用錯誤控制編碼來限制存儲器系統(tǒng)中的錯誤的增加的可能性。一個錯誤控制編碼選擇稱為鏈接編碼。鏈接編碼是特別有前途的,因為產(chǎn)生的碼字可以被交織地解碼,這又可以改進(jìn)系統(tǒng)的錯誤校正能力。鏈接編碼方案通常包括由交織器(interleaver)分離的兩個數(shù)據(jù)編碼器。交織器打亂(shuffle)數(shù)據(jù)使得兩個編碼器按彼此不同的順序接收數(shù)據(jù)。相反,解碼采用由去交織器分離的兩個解碼器,該去交織器顛倒編碼側(cè)交織器的打亂。打亂和顛倒打亂通過去集群(de-cluster)已集群的錯誤而幫助均一化(normalize)錯誤的分布。均一化的錯誤分布通常是所希望的,因為均一化的分布使能夠使用較低復(fù)雜度的編碼和/或解碼處理。
[0004]但是,源自于當(dāng)前對于交織的依賴的各種挑戰(zhàn)剝奪了對于鏈接碼的利用。例如,實現(xiàn)交織器和去交織器所需的復(fù)雜的電路通常是功率強度大的并且在單片實現(xiàn)方式占據(jù)了實質(zhì)上大的裸片區(qū)域。此外,采用交織的數(shù)字存儲系統(tǒng)的架構(gòu)通常被設(shè)計為容納多位符號交織。對于閃存設(shè)備,多位符號交織通常利用跨過多個端口的比特寬信道。如果這些端口由獨立的控制器控制,則將這些端口同步的復(fù)雜性變?yōu)閷ο到y(tǒng)實施的限制。另外,當(dāng)碼字的一部分相對容易校正時,交織的使用限制了將校正的信息從一個解碼器前饋(feed forward)到另一解碼器。先前難達(dá)到的的前饋校正的信息的能力將改進(jìn)校正具有非均勻錯誤分布的碼字的能力。因此,即使鏈接編碼可能能夠提供改進(jìn)的錯誤校正能力,但是依賴于交織的鏈接碼的使用由于這些以及其他物理限制也是不太希望的。
【發(fā)明內(nèi)容】
[0005]在所附權(quán)利要求的范圍內(nèi)的系統(tǒng)、方法和設(shè)備的各種實現(xiàn)方式每個具有幾個方面,其單獨一個方面不單獨負(fù)責(zé)在此所述的期望的屬性。不限制權(quán)利要求的范圍,描述了一些突出的特征。在考慮到此討論之后,特別是在閱讀了題為“【具體實施方式】”的部分之后,將理解如何使用各個實施方式的特征來使能:(i)無交織器的并行鏈接編碼和解碼;(ii)使用錯誤估計模塊來選擇使用兩個或更多解碼器中的哪個來開始并行鏈接解碼處理;以及
(iii)將在特定存儲器位置處的位錯誤的概率與錯誤校正碼的錯誤校正能力匹配。
[0006]一些實施方式包括使能夠使用并行鏈接碼編碼和解碼數(shù)據(jù)的系統(tǒng)、方法和/或設(shè)備,該并行鏈接碼不使用交織或者去交織(即無交織)。具體地,這樣的實現(xiàn)方式采用對由兩個或更多獨立的并且并行的編碼器編碼的數(shù)據(jù)的聯(lián)合(joint)迭代解碼,該兩個或更多獨立的并且并行的編碼器將數(shù)據(jù)編碼在數(shù)據(jù)的重疊的段中。使能聯(lián)合迭代解碼處理以將校正的信息從一個解碼器前饋到另一解碼器以改進(jìn)校正具有非均勻錯誤分布的碼字的能力。
[0007]—些實現(xiàn)方式包括被使能以基于碼字中的錯誤數(shù)量的估計選擇使用兩個或更多解碼器之一來開始并行鏈接解碼處理的系統(tǒng)、方法和/或設(shè)備。在一些實現(xiàn)方式中,錯誤控制解碼系統(tǒng)包括錯誤估計模塊和控制器。該錯誤估計模塊估計碼字中的錯誤的數(shù)量。該控制器基于由該錯誤估計模塊提供的錯誤估計來選擇使用第一解碼器和第二解碼器中的哪個來開始解碼該碼字。
[0008]一些實現(xiàn)方式包括被使能以將特定存儲器位置處的位錯誤的概率匹配到錯誤校正碼的錯誤校正能力和特性。在一些實現(xiàn)方式中,錯誤控制系統(tǒng)包括錯誤追蹤模塊和碼適配模塊。錯誤追蹤模塊產(chǎn)生被轉(zhuǎn)換為特征化存儲介質(zhì)的錯誤密度位置簡檔(profile)的錯誤位值統(tǒng)計。該碼適配模塊基于該錯誤密度位置簡檔產(chǎn)生對于(由編碼器使用的)可調(diào)整產(chǎn)生器矩陣和(由解碼器使用的)可調(diào)整奇偶校驗矩陣的調(diào)整。在一些實現(xiàn)方式中,從產(chǎn)生表示存儲介質(zhì)經(jīng)過該存儲介質(zhì)的意圖的壽命周期或者該存儲介質(zhì)的壽命周期的定義的部分的存儲介質(zhì)的錯誤位值統(tǒng)計的設(shè)備(例如產(chǎn)品線)特征化處理產(chǎn)生錯誤密度位置簡檔。使用該錯誤密度位置簡檔來產(chǎn)生錯誤控制碼產(chǎn)生器矩陣和互補的奇偶校驗矩陣,該奇偶校驗矩陣將在特定存儲器(即存儲介質(zhì))位置處的位錯誤概率匹配到由該產(chǎn)生器矩陣和該互補奇偶校驗矩陣定義的錯誤校正碼的錯誤校正能力和特性。
【專利附圖】
【附圖說明】
[0009]為了可以更詳細(xì)地理解本公開,通過參考各個實施方式的特征可以進(jìn)行更具體的描述,這些實施方式中的一些在附圖中例示。但是,附圖僅僅例示本公開的更突出的特征,因此不被認(rèn)為是限制性的,因為該描述可以允許其他有效特征。
[0010]圖1是數(shù)據(jù)存儲環(huán)境的示意圖。
[0011]圖2A是包括兩個組分(constituent)解碼器的并行鏈接碼編碼器的實現(xiàn)方式的示意圖。
[0012]圖2B是由圖2A中的組分解碼器中的第一個組分解碼器從數(shù)據(jù)字的三個分別的數(shù)據(jù)段產(chǎn)生的三個奇偶校驗段的圖。
[0013]圖2C是由圖2A中的組分解碼器中的第二個組分解碼器從數(shù)據(jù)字的兩個分別的數(shù)據(jù)段產(chǎn)生的兩個其他的奇偶校驗段的圖。
[0014]圖3A是并行鏈接碼編碼器的實現(xiàn)方式的示意圖。
[0015]圖3B是由圖3A的編碼器產(chǎn)生的碼字的圖。
[0016]圖4是并行鏈接碼解碼器的實現(xiàn)方式的示意圖。
[0017]圖5是并行鏈接碼解碼器的實現(xiàn)方式的示意圖。
[0018]圖6是并行鏈接碼解碼的方法的實現(xiàn)方式的流程圖表示。
[0019]圖7是并行鏈接碼解碼器的另一實現(xiàn)方式的示意圖。
[0020]圖8是并行鏈接碼解碼器的另一實現(xiàn)方式的示意圖。
[0021]圖9是示出由在此給出的并行鏈接編碼方案使能的各種性能范圍和決定點的圖。
[0022]圖10是并行鏈接碼解碼的方法的實現(xiàn)方式的流程圖表示。
[0023]圖11是適應(yīng)性錯誤控制編碼系統(tǒng)的實現(xiàn)方式的示意圖。
[0024]圖12是對于不規(guī)則低密度奇偶校驗(LDPC)碼的奇偶校驗矩陣的實現(xiàn)方式的示意圖。
[0025]圖13是利用已經(jīng)被匹配到存儲介質(zhì)的錯誤密度位置簡檔的錯誤控制碼的錯誤控制編碼系統(tǒng)的實現(xiàn)方式的示意圖。
[0026]根據(jù)一般實踐,附圖中所示的各種特征可以不按比例繪出。因而,為了清楚,各個特征的尺寸可以任意擴(kuò)大或減小。另外,某些圖可能沒有繪出給定系統(tǒng)、方法或設(shè)備的所有組件。最后,使用類似的參考標(biāo)記來表示說明書和附圖通篇的類似特征。
【具體實施方式】
[0027]在此所述的各種實施方式包括系統(tǒng)、方法和/或設(shè)備,其可以增強用于改進(jìn)在諸如閃存的存儲介質(zhì)中存儲和讀取數(shù)據(jù)的可靠性的錯誤控制碼的性能。
[0028]一些實施方式包括使能使用并行鏈接碼來編碼和解碼數(shù)據(jù)的系統(tǒng)、方法和/或設(shè)備,該并行鏈接碼不適用交織或去交織(即無交織的)。具體地,這樣的實施方式采用對通過兩個或更多獨立且并行的編碼器編碼的數(shù)據(jù)的聯(lián)合迭代解碼。使能聯(lián)合迭代解碼處理以將校正的信息從一個解碼器前饋到另一解碼器以改進(jìn)校正具有非均勻錯誤分布的碼字的能力。在一些實施方式中,通過由兩個或更多并行編碼器產(chǎn)生的碼字的結(jié)構(gòu)促進(jìn)前饋校正的信息的能力。更具體地,在一些實施方式中,錯誤控制編碼系統(tǒng)可操作以產(chǎn)生碼字,該碼字包括數(shù)據(jù)字和使用該數(shù)據(jù)字產(chǎn)生的三個或更多奇偶校驗段。第一編碼器將該數(shù)據(jù)字編碼為兩個或更多第一數(shù)據(jù)段以產(chǎn)生兩個或更多第一奇偶校驗段。該兩個或更多第一數(shù)據(jù)段的每個包括該數(shù)據(jù)字的各自的連續(xù)部分。第二編碼器將該數(shù)據(jù)字編碼為一個或多個第二數(shù)據(jù)段以產(chǎn)生對應(yīng)的一個或多個第二奇偶校驗段。該一個或多個第二數(shù)據(jù)段的每個包括該數(shù)據(jù)字的各自的連續(xù)部分。該一個或多個第二數(shù)據(jù)段的每個還包括橫跨該第一數(shù)據(jù)段中的兩個或更多的數(shù)據(jù)的連續(xù)部分。在一些實現(xiàn)方式中,控制器將該數(shù)據(jù)字的兩個或更多第一數(shù)據(jù)段提供給第一編碼器用于編碼,并且將該相同數(shù)據(jù)字的一個或多個第二數(shù)據(jù)段提供給第二編碼器用于編碼。
[0029]一些實施方式包括被使能以基于碼字中的錯誤數(shù)量的估計來選擇使用兩個或更多解碼器中的一個來開始并行鏈接解碼處理的系統(tǒng)、方法和/或設(shè)備。在一些實現(xiàn)方式中,錯誤控制解碼系統(tǒng)包括錯誤估計模塊和控制器。該錯誤估計模塊估計碼字中的錯誤的數(shù)量。該控制器基于該錯誤估計模塊提供的錯誤估計來選擇使用第一解碼器和第二解碼器中的哪個來開始對該碼字解碼。
[0030]一些實現(xiàn)方式包括被使能以將特定存儲器位置處的位錯誤的概率與錯誤校正碼的錯誤校正能力和特性匹配的系統(tǒng)、方法和/或設(shè)備。在一些實現(xiàn)方式中,錯誤控制系統(tǒng)包括錯誤跟蹤模塊和碼適配模塊。該錯誤跟蹤模塊產(chǎn)生錯誤位置統(tǒng)計,該錯誤位置統(tǒng)計被轉(zhuǎn)換為表示存儲介質(zhì)的特征的錯誤密度位置簡檔。在一些實現(xiàn)方式中,該碼適配模塊基于錯誤密度位置簡檔產(chǎn)生對于(由編碼器使用的)可調(diào)整的產(chǎn)生器矩陣和對于(由解碼其使用的)可調(diào)整的奇偶校驗矩陣的調(diào)整。更具體地,與具體存儲器位置相關(guān)聯(lián)的錯誤概率通過各自的矩陣被合并到錯誤控制碼中以更改碼字是否可校正的概率。具體地,一些錯誤控制碼特征在于其是不規(guī)則的,因為一些校驗位比其他校驗位更多地與數(shù)據(jù)位相互連接。當(dāng)校驗位更多地與可變位(即數(shù)據(jù)或消息位)相互連接時,該校驗位通常將更經(jīng)常地標(biāo)記(flag)錯誤。更少相互連接的校驗位趨向于比更多相互連接的校驗位收斂得更快,使得來自更少相互連接的校驗位的信息輔助更多相互連接的校驗位的解碼。在一些實現(xiàn)方式中,不規(guī)則的錯誤控制碼的這些和其他特性被用于選擇性地將存儲介質(zhì)的物理性能特性映射到校驗位的相互連接性。例如,在一些實現(xiàn)方式中,具有更高的位錯誤概率的存儲器位置被映射到碼的更多地相互連接的校驗位以允許在低缺陷環(huán)境中的快速錯誤檢測。在一些實現(xiàn)方式中,具有更高的位錯誤概率的存儲器位置被映射到碼的更少相互連接的校驗位以使能在高缺陷環(huán)境中的相對更快的解碼器收斂。
[0031]在一些實現(xiàn)方式中,從設(shè)備(例如生產(chǎn)線)特征化處理產(chǎn)生錯誤密度簡檔,該設(shè)備特征化處理產(chǎn)生存儲介質(zhì)的表示經(jīng)過該存儲介質(zhì)的意圖的壽命周期或者該存儲介質(zhì)的壽命周期的定義的部分的存儲介質(zhì)的錯誤位值統(tǒng)計。該錯誤密度位置簡檔用于產(chǎn)生錯誤控制碼產(chǎn)生器矩陣和互補(complementary)奇偶校驗矩陣,該互補奇偶校驗矩陣將在特定存儲器(即存儲介質(zhì))位置處的位錯誤的概率匹配到由該產(chǎn)生器矩陣和該互補奇偶校驗矩陣定義的錯誤校正碼的錯誤校正能力和特性。換句話說,使用錯誤密度位置簡檔產(chǎn)生對應(yīng)于該錯誤密度位置簡檔的錯誤控制碼產(chǎn)生器矩陣和互補奇偶校驗矩陣。因此,在這樣的實施方式中,具有明顯不同的錯誤密度位置簡檔的兩個存儲介質(zhì)將具有不同的錯誤控制碼產(chǎn)生器矩陣和不同的互補奇偶校驗矩陣。
[0032]一些實施方式包括利用不依賴于交織來均一化錯誤分布的并行鏈接碼結(jié)構(gòu)的系統(tǒng)、方法和/或設(shè)備。在此給出的并行鏈接編碼和解碼系統(tǒng)包括獨立地將數(shù)據(jù)字編碼為數(shù)據(jù)段的兩個或更多個各自的集合的兩個或更多編碼器。來自一個集合的數(shù)據(jù)段包括橫跨另一集合中的兩個或更多個連續(xù)的數(shù)據(jù)段的數(shù)據(jù)。一些實施方式適合于相對高的位錯誤率(BER)條件,并且利用相對低復(fù)雜性的硬件、相對短的碼字和與其他錯誤校正方法類似的奇偶校驗開銷。一些實施方式改進(jìn)了在錯誤發(fā)生在非均勻分布中或者類似于泊松(Poisson)分布的分布中一在此情況下平均BER近似等于BER的方差(variance)—的情況下的錯誤校正性能。
[0033]一些實現(xiàn)方式包括具有基于碼字中的錯誤數(shù)量的估計來選擇使用兩個或更多解碼器中的哪個來開始并行鏈接解碼處理的能力的解碼系統(tǒng)。在一些實施方式中,錯誤估計模塊包括解碼側(cè)編碼器以促進(jìn)錯誤估計的產(chǎn)生。
[0034]一些實施方式包括錯誤控制系統(tǒng),該錯誤控制系統(tǒng)具有將在特定存儲器位置處的位錯誤的概率匹配到錯誤校正碼的錯誤校正能力并且隨后基于存儲介質(zhì)的物理性質(zhì)的劣化和/或波動而調(diào)整數(shù)據(jù)的編碼的能力。
[0035]在此描述了許多細(xì)節(jié)以便提供對在附圖中例示的示例實現(xiàn)方式的透徹理解。但是,可以沒有這些特定細(xì)節(jié)中的許多而實踐本發(fā)明。并且,在詳盡的細(xì)節(jié)中沒有描述公知的方法、組件和電路以便不會不必要地模糊在此所述的實施方式的更突出的方面。
[0036]圖1是數(shù)據(jù)存儲環(huán)境即數(shù)據(jù)存儲環(huán)境100的實現(xiàn)的圖。盡管例示了某些具體特征,但是本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,為了簡短沒有例示各種其他特征以便不混淆在此公開的示例實現(xiàn)方式的更相關(guān)的方面。為此,作為非限制的例子,數(shù)據(jù)存儲環(huán)境100包括數(shù)據(jù)處理系統(tǒng)110、存儲控制器120和存儲介質(zhì)130 (例如閃存器件)。
[0037]數(shù)據(jù)處理系統(tǒng)110通過數(shù)據(jù)連接101耦接到存儲器控制器120。本領(lǐng)域技術(shù)人員從本公開將認(rèn)識到,在各種實現(xiàn)方式中,數(shù)據(jù)處理系統(tǒng)110包括存儲器控制器120作為組件。通常,數(shù)據(jù)處理系統(tǒng)110包括任何適當(dāng)?shù)挠嬎銠C設(shè)備,比如計算機、膝上型計算機、平板計算機、上網(wǎng)本、因特網(wǎng)信息站(internet k1sk)、個人數(shù)字助理、移動電話、智能電話、游戲設(shè)備、計算機服務(wù)器或任何其他計算設(shè)備。在一些實現(xiàn)方式中,數(shù)據(jù)處理系統(tǒng)110包括一個或多個處理器、一種或多種類型的存儲器、顯示器和/或其他用戶界面組件,比如鍵盤、觸摸屏、鼠標(biāo)、跟蹤板、數(shù)字相機和/或任意數(shù)量的補充(supplemental)設(shè)備以添加功能。
[0038]存儲介質(zhì)130通過數(shù)據(jù)連接130耦接到存儲器控制器120。本領(lǐng)域技術(shù)人員從本公開將認(rèn)識到,在各種實現(xiàn)方式中,存儲器控制器120和存儲介質(zhì)130被包括在相同的設(shè)備中作為其構(gòu)成組件。存儲介質(zhì)130包括任意數(shù)量(即一個或多個)的存儲器設(shè)備,非限制性地包括非易失性半導(dǎo)體存儲器設(shè)備,比如閃存。例如,閃存設(shè)備可以被配置用于適合于諸如云計算的應(yīng)用的企業(yè)存儲。另外和/或替換地,閃存設(shè)備還可以配置用于相對更小規(guī)模的應(yīng)用,比如個人閃存盤或者用于個人計算機、膝上型計算機和平板計算機的硬盤替換。在一些實現(xiàn)方式中,存儲介質(zhì)130包括一個或多個閃存設(shè)備。在一些實現(xiàn)方式中,存儲介質(zhì)130包括NAND型閃存和NOR型閃存的至少一個。
[0039]存儲介質(zhì)通常被劃分為多個可尋址的并且單獨可選的塊,比如可選部分131。在一些實現(xiàn)方式中,對于閃存,單獨可選塊是閃存設(shè)備中的最小可擦除單位。換句話說,每個塊包含可以同時被擦除的最少數(shù)量的存儲器單元。每塊通常還被劃分為多個頁,其中每頁通常是塊中的最小單獨可訪問的子塊的最小單位的實例。但是,在一些實現(xiàn)方式中(例如在某些類型的閃存中),單獨可訪問的數(shù)據(jù)的最小單位是扇區(qū),扇區(qū)是一頁的子集。也就是說,每頁包含多個扇區(qū),并且每個扇區(qū)是用于將數(shù)據(jù)寫到閃存設(shè)備或者從閃存設(shè)備讀取數(shù)據(jù)的單獨可訪問的數(shù)據(jù)的最小單位。
[0040]僅僅為了方便標(biāo)記,數(shù)據(jù)的塊包括多個頁,頁又包括多個扇區(qū)。例如,在一些實現(xiàn)方式中,一塊包括64頁、128頁、256頁或另一適當(dāng)數(shù)量的頁。塊、頁和扇區(qū)的相應(yīng)大小通常是設(shè)計選擇或者末端用戶選擇的問題,并且通常跨越企業(yè)和消費者設(shè)備的廣闊范圍而不同。但是,僅僅是舉例而非限制,在一些企業(yè)應(yīng)用中,扇區(qū)包括從256字節(jié)到544字節(jié)任意的字節(jié)。該范圍可以向上或向下延伸,和/或取決于特定應(yīng)用而收縮或擴(kuò)展。此外,塊通常被分組為多個區(qū)帶(zone),有時也稱為塊區(qū)帶。每個塊區(qū)帶可以被獨立管理達(dá)某種程度,這使能夠并行操作并簡化數(shù)據(jù)存儲管理。
[0041]在一些實現(xiàn)方式中,存儲器控制器120包括管理模塊121、輸入緩沖器123、輸出緩沖器124、錯誤控制模塊125和存儲介質(zhì)接口(1/0)128。本領(lǐng)域技術(shù)人員從本公開將認(rèn)識至IJ,存儲器控制器120包括為了簡短而沒有例示的各種另外的特征,以便不模糊在此公開的示例實現(xiàn)方式的更相關(guān)的特征,并且特征的不同布置是可能的。
[0042]輸入和輸出緩沖器123、124提供通過數(shù)據(jù)連接101到數(shù)據(jù)處理系統(tǒng)110的接口。類似地,存儲介質(zhì)1/0128提供通過數(shù)據(jù)連接103到存儲介質(zhì)130的接口。在一些實現(xiàn)方式中,存儲介質(zhì)1/0128包括讀和寫電路,這包括能夠向存儲介質(zhì)130提供讀比較信號值的電路。
[0043]在一些實現(xiàn)方式中,管理模塊121包括處理器122。但是,本領(lǐng)域技術(shù)人員從本公開將認(rèn)識到,在一些實現(xiàn)方式中,處理器122由在存儲器控制器120的功能內(nèi)的以及在某些情況下超出存儲器控制器120的功能的一個或多個組件共享。管理模塊121耦接到輸入和輸出緩沖器123、124、錯誤控制模塊125和存儲介質(zhì)1/0128以便協(xié)調(diào)這些組件的操作。
[0044]錯誤控制模塊125耦接在存儲介質(zhì)1/0128以及輸入和輸出緩沖器123、124之間。在一些實現(xiàn)方式中,提供錯誤控制模塊125以限制不經(jīng)意地引入到數(shù)據(jù)中的不可校正的錯誤的數(shù)量。為此,錯誤控制模塊125包括編碼器126和解碼器127。編碼器126對數(shù)據(jù)編碼以產(chǎn)生碼字,該碼字隨后被存儲在存儲介質(zhì)130中。當(dāng)從存儲介質(zhì)130讀取編碼的數(shù)據(jù)時,解碼器127應(yīng)用解碼處理以恢復(fù)數(shù)據(jù),并且校正在錯誤控制碼的錯誤校正能力內(nèi)的錯誤。本領(lǐng)域技術(shù)人員從本公開將認(rèn)識到,各種錯誤控制碼具有不同的錯誤檢測和校正能力,并且由于超出了本公開的范圍的原因,對各種應(yīng)用選擇特定碼。這樣,為了簡短沒有提供各種類型的錯誤控制碼的詳盡評述。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,每種類型或系列的錯誤控制碼可以具有對于該類型或系列的錯誤控制碼特定的編碼和解碼算法。另一方面,在多種不同類型或系列的錯誤控制碼的解碼中至少可以某種程度上利用諸如Viterbi算法的一些算法。因此,再次地,為了簡短,再次沒有提供本領(lǐng)域技術(shù)人員通??色@得以及已知的各種類型的編碼和解碼算法的詳盡描述。
[0045]在寫操作期間,輸入緩沖器123從數(shù)據(jù)處理系統(tǒng)110接收要存儲在存儲介質(zhì)130中的數(shù)據(jù)。使得輸入緩沖器123中的數(shù)據(jù)可用于編碼器126,編碼器126將該數(shù)據(jù)編碼以產(chǎn)生碼字。使得碼字可用于存儲介質(zhì)1/0128,存儲介質(zhì)1/0128以取決于所利用的存儲介質(zhì)的類型的方式將該碼字傳送到存儲介質(zhì)130。在對于相同數(shù)據(jù)的讀操作期間,存儲介質(zhì)I/0128訪問存儲介質(zhì)130的包括相應(yīng)的碼字的部分以讀取該碼字并將該碼字提供給解碼器127。當(dāng)解碼器127解碼成功時,得到的解碼的數(shù)據(jù)被提供給輸出緩沖器124,在該輸出緩沖器124處,使得解碼的數(shù)據(jù)可用于數(shù)據(jù)處理系統(tǒng)110。在一些實現(xiàn)方式中,當(dāng)解碼不成功時,存儲器控制器120使用不同的解碼或錯誤校正再次從存儲介質(zhì)讀取該碼字,如以下更詳細(xì)討論的。
[0046]利用鏈接的碼字的錯誤控制編碼特別有前途,因為產(chǎn)生的碼字可以被迭代地解碼。在一些實現(xiàn)方式中,迭代解碼改進(jìn)了系統(tǒng)的錯誤校正能力,并且降低了用于從存儲介質(zhì)成功地恢復(fù)正確的數(shù)據(jù)的讀取操作的數(shù)量。但是,如上所述,源自于當(dāng)前對于交織的依賴性的各種挑戰(zhàn)削減了對鏈接的碼字的利用。因此即使鏈接的碼字能夠提供改進(jìn)的錯誤校正能力,但是依賴于交織的鏈接碼的使用由于這些以及其他物理限制也是不太希望的。
[0047]相對照,在此所述的系統(tǒng)、方法和設(shè)備的各種實現(xiàn)方式采用并行鏈接的碼字,它們不使用交織或者去交織。具體地,這樣的實現(xiàn)方式采用對由兩個或更多獨立并且并行的編碼器編碼的數(shù)據(jù)的聯(lián)合迭代解碼。聯(lián)合迭代解碼自由地從一個解碼器向另一解碼器前饋校正信息以改進(jìn)校正具有非均勻錯誤分布的碼字的能力。在一些實現(xiàn)方式中,通過有兩個或更多并行編碼器產(chǎn)生的碼字的結(jié)構(gòu)來促進(jìn)前饋校正的信息的能力。
[0048]作為例子,圖2A是包括兩個構(gòu)成編碼器的并行鏈接碼編碼器125的實現(xiàn)方式的示意圖。盡管例示了某些具體特征,但是本領(lǐng)域技術(shù)人員從本公開將認(rèn)識到,為了簡短沒有例示各種其他特征,以便不模糊在此公開的示例實現(xiàn)方式的更相關(guān)的方面。為此,作為非限制性的例子,編碼器125包括多塊緩沖器210、復(fù)用器(MUX) 211、數(shù)據(jù)字緩沖器212、控制器220和第一以及第二(錯誤控制碼)編碼器221、223。
[0049]提供多塊緩沖器210以從數(shù)據(jù)處理系統(tǒng)等接收多個數(shù)據(jù)字或者數(shù)據(jù)字的塊用于編碼??刂破?20耦接到多塊緩沖器210、MUX211、數(shù)據(jù)字緩沖器212和第一以及第二編碼器221、223的每個以便協(xié)調(diào)編碼器125的操作。更具體地,連接控制器220以向多塊緩沖器210提供控制信號以將數(shù)據(jù)字指針前移到用于編碼的下一數(shù)據(jù)字。連接控制器220以向MUX211提供使得MUX211能夠?qū)?shù)據(jù)字從多塊緩沖器210傳遞到數(shù)據(jù)字緩沖器212的控制信號。連接控制器220以向數(shù)據(jù)字緩沖器212提供將其中包括的數(shù)據(jù)標(biāo)記為有效的控制信號。在一些實現(xiàn)方式中,控制器220將來自數(shù)據(jù)字緩沖器212的數(shù)據(jù)字的兩個或更多第一數(shù)據(jù)段提供給第一編碼器221用于編碼??刂破?20還將來自數(shù)據(jù)字緩沖器212的數(shù)據(jù)字的一個或多個第二數(shù)據(jù)段提供給第二編碼器223用于編碼。該一個或多個第二數(shù)據(jù)段的每個還包括橫跨第一數(shù)據(jù)段中的兩個或更多的數(shù)據(jù)的連續(xù)部分。在一些實現(xiàn)方式中,連接控制器220以為第一編碼器221提供使得第一編碼器221能夠從數(shù)據(jù)字緩沖器212接收或選擇兩個或更多第一數(shù)據(jù)段的控制信號。還連接控制器220以為第二編碼器223提供使得第二編碼器223能夠從數(shù)據(jù)字緩沖器223接收或選擇一個或多個第二數(shù)據(jù)段的控制信號。該一個或多個第二數(shù)據(jù)段的每個還包括橫跨該第一數(shù)據(jù)段中的兩個或更多的數(shù)據(jù)的連續(xù)部分。
[0050]在一些實現(xiàn)方式中,控制器220是可操作以將碼字寫到存儲介質(zhì)中的存儲器控制器的一部分。在一些實現(xiàn)方式中,存儲器控制器是閃存控制器。在一些實現(xiàn)方式中,存儲器控制器包括可操作以將碼字寫到存儲介質(zhì)中的存儲介質(zhì)接口。
[0051]第一編碼器221從數(shù)據(jù)字的兩個或更多第一數(shù)據(jù)段產(chǎn)生兩個或更多第一奇偶校驗段。該兩個或更多第一數(shù)據(jù)段的每個包括數(shù)據(jù)字的相應(yīng)的連續(xù)部分。例如,如圖2B所示,數(shù)據(jù)字200被劃分為三個連續(xù)數(shù)據(jù)段201、202、203。每個段由第一編碼器221獨立于其他段而編碼以產(chǎn)生三個相應(yīng)的奇偶校驗段201a、202a、203a之一。在一些實現(xiàn)方式中,數(shù)據(jù)字被劃分為更少或更多數(shù)量的時間段,因而由第一編碼器221產(chǎn)生更少或更多數(shù)量的相應(yīng)的奇偶校驗段。在一些實現(xiàn)方式中,第一編碼器221包括Bose Chaudhuri Hocquenghem(BCH)碼編碼器。
[0052]同時或者另外,第二編碼器223從相同數(shù)據(jù)字的一個或多個第二數(shù)據(jù)段產(chǎn)生一個或多個第二奇偶校驗段。一個或多個第二數(shù)據(jù)段的每個包括該數(shù)據(jù)字的相應(yīng)的連續(xù)部分。該一個或多個第二數(shù)據(jù)的每個還包括橫跨第一數(shù)據(jù)段的兩個或更多的數(shù)據(jù)的連續(xù)部分。例如,如圖2C所示,相同的數(shù)據(jù)字200被劃分為連續(xù)的數(shù)據(jù)段204、205,并且每個段由第二編碼器223獨立于其他段而編碼以產(chǎn)生兩個相應(yīng)的奇偶校驗段204a、205a之一。此外,參考圖2B和2C,兩個連續(xù)的數(shù)據(jù)段204、205的每個包括橫跨由第一編碼器221編碼的三個數(shù)據(jù)段201、202、203中的至少兩個的數(shù)據(jù)。在一些實現(xiàn)方式中,數(shù)據(jù)字被劃分為更少或更多數(shù)量的數(shù)據(jù)段,因而由第二編碼器223產(chǎn)生更少或更多數(shù)量的相應(yīng)奇偶校驗段。在一些實現(xiàn)方式中,第二編碼器223包括低密度奇偶校驗(LDPC)碼編碼器。
[0053]如以下更詳細(xì)描述的,在由第一和第二編碼器221、223編碼的數(shù)據(jù)段中的重疊的布置使得相應(yīng)對的解碼器能夠共享成功的解碼結(jié)果。在一些實現(xiàn)方式中,校正的信息從一個組分解碼器傳遞到另一個以便改進(jìn)校正非均勻錯誤分布的能力。例如,三個第一數(shù)據(jù)段201,202,203中的一個中的錯誤可以獨立于其他錯誤而被解碼。當(dāng)一個段201、202、203對于第一解碼器而言比另一個更容易校正時,從該段校正的數(shù)據(jù)可以被發(fā)送到第二解碼器用于在使用相應(yīng)的奇偶校驗段204a、205a解碼兩個第二數(shù)據(jù)段204、205時使用。從第一解碼器傳遞的校正的位改進(jìn)了兩個第二數(shù)據(jù)段204、205的至少一個將被成功校正以及又將把校正的數(shù)據(jù)提供回到第一解碼器以輔助對還未被校正的剩余的數(shù)據(jù)段的解碼的可能性。
[0054]圖3A是并行鏈接碼編碼器125a的另一實現(xiàn)方式的示意圖。圖3B是編碼器125a產(chǎn)生的碼字300的示意圖示。圖3A中所示的編碼器125a類似于圖2A中所示的編碼器125并且從該編碼器125適配。再次,盡管例示了某些具體特征,但是本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,為了簡短沒有例示其他特征以便不模糊在此公開的實現(xiàn)方式的更相關(guān)的方面。
[0055]編碼器125a包括多塊緩沖器310、BCH編碼器321、LDPC編碼器323、控制器320和可選的2D-X0R編碼器325,該2D-X0R編碼器325操作為多塊故障保護(hù)(failsafe)編碼器。BCH編碼器321和LDPC編碼器323被并行布置以獨立地對相同的數(shù)據(jù)字操作。
[0056]在操作中,BCH編碼器321和LDPC編碼器323對數(shù)據(jù)字的相同的兩個或更多段并行操作。也就是說,對于由編碼器125a產(chǎn)生的每個碼字300,BCH編碼器321和LDPC編碼器323每個從多塊緩沖器310接收相同數(shù)據(jù)字的兩個或更多段。多塊緩沖器310具有包括數(shù)據(jù)字的大集合的數(shù)據(jù)的容量。因而,BCH編碼器321和LDPC編碼器323被配置為接收對于產(chǎn)生的每個碼字300的兩個數(shù)據(jù)段301、302。這兩個數(shù)據(jù)段301、302是單個數(shù)據(jù)字的部分,并且一起包括該數(shù)據(jù)字的全部。BCH編碼器321產(chǎn)生分別對于數(shù)據(jù)段301、302的相應(yīng)的BCH奇偶校驗集303和304。LDPC編碼器323對于數(shù)據(jù)字整體(即兩個數(shù)據(jù)段301、302 —起)的一個LDPC奇偶校驗集305。在一些實現(xiàn)方式中,在所示的例子中LDPC編碼器323不考慮段輪廓(delineat1n)。這樣,LDPC編碼器323接收數(shù)據(jù)字作為整體而不涉及由BCH編碼器321使用的段輪廓。進(jìn)一步參考圖1,在操作中,通過存儲介質(zhì)I/O接口 128的操作將產(chǎn)生的每個碼字存儲在存儲介質(zhì)130中。
[0057]在一些實現(xiàn)方式中,2D-X0R編碼器325將數(shù)據(jù)字的集合一起編碼,使得該數(shù)據(jù)字的集合包括由第一編碼器(即BCH編碼器321)和第二編碼器(即LDPC編碼器323)編碼的數(shù)據(jù)字。
[0058]圖4是可操作以提供圖2A的編碼器125的互惠(reciprocal)功能的并行鏈接碼解碼器127的示意圖。盡管例示了某些具體特征,但是本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,為了簡短沒有例示各種其他特征,以便不模糊在此公開的示例實現(xiàn)方式的更相關(guān)的方面。為此,作為非限制性例子,解碼器127包括碼字緩沖器410、控制器420、驗證模塊422、軟信息產(chǎn)生模塊424、數(shù)據(jù)字緩沖器426和第一以及第二解碼器421、423。
[0059]提供碼字緩沖器410以接收從存儲介質(zhì)讀取的碼字。進(jìn)一步參考圖1,在一些實現(xiàn)方式中,通過存儲介質(zhì)1/0128從存儲介質(zhì)130讀取碼字。在一些實現(xiàn)方式中,其中在通信系統(tǒng)(例如無線網(wǎng)絡(luò))中使用解碼器,碼字被包括在接收的消息中。本領(lǐng)域技術(shù)人員將認(rèn)識到,從哪里接收碼字或者碼字的組取決于在其中實現(xiàn)錯誤控制系統(tǒng)的系統(tǒng)的類型。為了簡短,沒有提供用于錯誤控制的應(yīng)用的窮盡列表。
[0060]控制器420耦接到驗證模塊422、軟信息產(chǎn)生模塊424以及第一和第二解碼器421,423的每個以便協(xié)調(diào)解碼器127的操作。連接控制器420以從驗證模塊422接收驗證指示符并且作為響應(yīng)向驗證模塊422和軟信息產(chǎn)生模塊424產(chǎn)生控制信號。依次地,連接軟信息產(chǎn)生模塊424以從驗證模塊422接收控制信號??刂破?20還可操作以當(dāng)在第一解碼器421的解碼結(jié)果中檢測到第一相應(yīng)解碼缺陷(flaw)時將來自第一解碼器421的部分解碼結(jié)果傳遞到第二解碼器423。類似地,控制器420可操作以當(dāng)在第二解碼器423的解碼結(jié)果中檢測到第二相應(yīng)解碼缺陷時將來自第二解碼器423的部分解碼結(jié)果傳遞到第一解碼器421。
[0061]在一些實現(xiàn)方式中,控制器420是可操作以從存儲介質(zhì)讀取碼字的存儲器控制器的一部分。在一些實現(xiàn)方式中,存儲器控制器420是閃存控制器。在一些實現(xiàn)方式中,存儲器控制器420包括可操作以從存儲介質(zhì)讀取碼字的存儲介質(zhì)接口。
[0062]在一些實現(xiàn)方式中,驗證模塊422評估第一解碼器421和第二解碼器423的解碼結(jié)果,并當(dāng)在第一解碼器421和第二解碼器423的至少一個的解碼結(jié)果中檢測到一個或多個解碼缺陷時用信號通知控制器420。在一些實現(xiàn)方式中,驗證模塊422評估由第一解碼器421和第二解碼器423之一產(chǎn)生的解碼結(jié)果,并且當(dāng)在解碼結(jié)果中檢測到解碼缺陷時用信號通知控制器420。
[0063]還耦接軟信息產(chǎn)生模塊424以從第一和第二解碼器421、423的至少一個接收解碼信息并向第一和第二解碼器421、423的至少一個提供軟信息。更通常地,軟信息產(chǎn)生模塊將第一解碼器的解碼結(jié)果轉(zhuǎn)換為軟信息,該軟信息包括部分解碼結(jié)果的至少一部分。在一些實現(xiàn)方式中,軟信息包括與碼字相關(guān)聯(lián)的條件概率(即轉(zhuǎn)變概率)和與碼字相關(guān)聯(lián)的對數(shù)似然比(LLR)的至少一個。在一些實現(xiàn)方式中,第一解碼器可操作以在來自第二解碼器的部分解碼結(jié)果可用時利用該部分解碼結(jié)果。在一些實現(xiàn)方式中,來自第二解碼器的部分解碼結(jié)果包括由第二解碼器產(chǎn)生的軟信息。
[0064]如本領(lǐng)域技術(shù)人員將了解的,對于許多錯誤控制碼,經(jīng)??梢酝ㄟ^使用軟信息來改進(jìn)解碼處理。硬信息解碼通常意味著關(guān)于數(shù)據(jù)值(例如數(shù)據(jù)位或者碼位)是特定符號字母表中的一個符號還是另一個而做出確鑿的決定。例如,在二進(jìn)制系統(tǒng)中,特定數(shù)據(jù)值可以是“O”或“1”,即使從存儲位置讀取的原始電模擬值不表明表示該數(shù)據(jù)值的電值足以確定地決定該數(shù)據(jù)值是“O”或“I”。換句話說,對于特定數(shù)據(jù)值的硬決定是基于與從存儲介質(zhì)讀取的模擬電值對應(yīng)的最可能的符號,并且存在替換決定的概率被硬決定處理忽略。通常,硬決定是基于從模擬讀取值到定義符號的電水平的歐幾里得距離。相對照,在存儲器系統(tǒng)的上下文中,軟信息的使用是基于考慮到從存儲介質(zhì)讀取了什么而存在不同的結(jié)果的概率。
[0065]還連接控制器420以為第一解碼器420提供控制信號,該控制信號使得第一解碼器420能夠從碼字緩沖器410選擇兩個或更多第一數(shù)據(jù)段以及相應(yīng)的兩個或更多第一奇偶校驗段。類似地,還連接控制器420以為第二控制器423提供控制信號,該控制信號使得第二解碼器423能夠從碼字緩沖器410選擇一個或多個第二數(shù)據(jù)段以及相應(yīng)的兩個或更多第二奇偶校驗段。例如,參考圖2B,在一個實現(xiàn)方式中,碼字包括被劃分為三個數(shù)據(jù)段201、202、203和相應(yīng)的奇偶校驗段201a、202a、203a的數(shù)據(jù)字200。另外,參考圖2C,相同的碼字還包括與數(shù)據(jù)字200的段204、205對應(yīng)的奇偶校驗段204a、205a。
[0066]更一般地,控制器將兩個或更多第一數(shù)據(jù)段以及兩個或更多奇偶校驗段提供給第一解碼器用于解碼,并將來自數(shù)據(jù)字的一個或多個第二數(shù)據(jù)段提供給第二解碼器用于解碼。在一些實現(xiàn)方式中,該控制器進(jìn)一步可操作以當(dāng)該兩個或更多第一數(shù)據(jù)段中的至少一個未被成功解碼并且該兩個或更多第一數(shù)據(jù)段的至少另一個被成功解碼時將來自第一解碼器的與每個成功解碼的第一數(shù)據(jù)段相關(guān)聯(lián)的解碼的數(shù)據(jù)提供給第二解碼器。
[0067]第一解碼器421獨立地解碼三個第一數(shù)據(jù)段201、202、203和相應(yīng)的奇偶校驗段201a、202a、203a。更一般地,第一解碼器通過利用在碼字中包括的兩個或更多第一奇偶校驗段以及在該碼字中包括的該碼字的兩個或更多第一數(shù)據(jù)段來解碼該碼字。該兩個或更多第一奇偶校驗段的每個與該兩個或更多第一數(shù)據(jù)段中的相應(yīng)一個相關(guān)聯(lián)。該兩個或更多第一數(shù)據(jù)段的每個包括該數(shù)據(jù)字的相應(yīng)連續(xù)部分。在一些實現(xiàn)方式中,第一解碼器可操作以提供對于兩個或更多第一數(shù)據(jù)段的每個的解碼的數(shù)據(jù),該兩個或更多第一數(shù)據(jù)段獨立于未能成功解碼其他的兩個或更多第一數(shù)據(jù)段的任意一個而被成功地解碼。
[0068]參考圖2B和圖4,第一解碼器421獨立于數(shù)據(jù)段202、203以及奇偶校驗段202a、203a等等而解碼數(shù)據(jù)段201和奇偶校驗段201a的組合。如果一個段可以被校正(例如因為其具有比起奇偶校驗段的錯誤校正能力更少的錯誤,或者在段內(nèi)的錯誤的分布不超過其奇偶校驗段的錯誤校正能力),則從該特定段校正的數(shù)據(jù)可以被發(fā)送到第二解碼器423,而不管其他段是否可以被校正。此前饋機制改進(jìn)了兩個第二數(shù)據(jù)段204、205的至少一個將被第二解碼器423完全校正的可能性。
[0069]類似地,第二解碼器423獨立地解碼兩個第二數(shù)據(jù)段204、205以及相應(yīng)的奇偶校驗段204a、205a的每個,使得從這兩個數(shù)據(jù)段之一校正的信息可以被發(fā)送到第一解碼器421。更一般地,第二解碼器通過利用相同的碼字中包括的一個或多個第二奇偶校驗段以及該碼字中的數(shù)據(jù)字的一個或多個第二數(shù)據(jù)段來解碼該碼字。一個或多個第二奇偶校驗段的每個與一個或多個第二數(shù)據(jù)段的相應(yīng)一個相關(guān)聯(lián)。一個或多個第二數(shù)據(jù)段的每個包括在多個的該兩個或更多第一數(shù)據(jù)段中包括的數(shù)據(jù)的連續(xù)部分。
[0070]在一些實現(xiàn)方式中,在來自第一解碼器421的部分解碼結(jié)果可用時,第二解碼器423利用該部分解碼結(jié)果。在一些實現(xiàn)方式中,此前饋機制改進(jìn)了第一解碼器421將能夠完全校正剩余的未校正的數(shù)據(jù)段中的至少一個的可能性。該處理在第一解碼器421和第二解碼器423之間重復(fù),直到數(shù)據(jù)完全被校正或者基于固定數(shù)量的重復(fù)確定錯誤不可校正。
[0071]圖5是可操作以提供圖3A的編碼器125a的互惠功能的并行鏈接碼解碼器127a的實現(xiàn)方式的圖。圖5所示的解碼器127a類似于圖4所示的解碼器127并且從該解碼器127適配。再次,盡管例示了某些具體特征,但是本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,為了簡短沒有例示各種其他特征以便不模糊在此公開的實現(xiàn)方式的更相關(guān)的方面。為此,解碼器127a包括輸入多塊緩沖器510、數(shù)據(jù)選擇塊511 (例如MUX)、BCH解碼器521、LDPC解碼器523、解碼驗證模塊522、輸出多塊緩沖器550和可選的多塊故障保護(hù)解碼器560。
[0072]在此所述的實現(xiàn)方式是反轉(zhuǎn)鏈接的形式,其中BCH解碼器521和LDPC解碼器523能夠相互傳遞校正的信息。但是,不像使用交織器(并因此需要去交織器)的其他反轉(zhuǎn)鏈接方案,內(nèi)部碼和外部碼之間的傳統(tǒng)區(qū)別并不對在此所述的解碼方案帶來限制。隨后,BCH解碼器521或者LDPC解碼器523可以用于開始解碼處理。被選擇開始解碼處理的解碼器(例如BCH解碼器521)可以取決于限制具體信道容量的奇偶校驗和/或性能的系統(tǒng)要求而基于數(shù)據(jù)的硬決定或者軟決定?;诿總€解碼器的結(jié)果,信息流由控制器(例如控制器520)控制或者是應(yīng)用消息傳遞處理的嵌入邏輯。在一些實現(xiàn)方式中,消息傳遞處理控制被包括在解碼驗證模塊525中。
[0073]例如,在一些實現(xiàn)方式中,使用BCH解碼器521或者另一類似的低復(fù)雜度多項式解碼器來開始解碼處理。BCH解碼器521的輸出用于操縱解碼處理的接下來的步驟。更具體地,BCH解碼器521接收對于特定段501的BCH數(shù)據(jù)和奇偶校驗位,并且來自BCH解碼器521的解碼結(jié)果用于操縱解碼器127a的操作。如果BCH解碼器521產(chǎn)生完全校正的數(shù)據(jù),則提取的數(shù)據(jù)503直接被輸出到緩沖器(例如輸出緩沖器550)或者控制器。如果BCH解碼器521失敗,則以對數(shù)似然比(LLR)形式的信息被傳遞到LDPC解碼器523,其還接收對于被LDPC編碼在一起的至少兩個段的LDPC數(shù)據(jù)和奇偶校驗位502。
[0074]以LLR504形式的軟信息由軟信息產(chǎn)生模塊524使用由BCH解碼器521產(chǎn)生的解碼結(jié)果而產(chǎn)生。在一些實現(xiàn)方式中,被成功解碼的段的LLR504還被傳遞回到LDPC解碼器523,LLR504指示與該數(shù)據(jù)一起的段是正確的。在這些實現(xiàn)方式中,LDPC解碼器523使用成功解碼的段的LLR504來降低其余的解碼處理的復(fù)雜度。
[0075]在當(dāng)前的例子中,因為LDPC碼字由兩個或更多BCH數(shù)據(jù)段組成,如果BCH段中的一個或多個不可由BCH解碼器521校正,則LDPC解碼器523被啟用并操作以校正該LDPC碼字。另外,因為LDPC解碼是概率性的,LDPC解碼器523的輸出表示逐位判決(solut1n)。在一些實現(xiàn)方式中,逐位判決(即數(shù)據(jù)505)被前饋到BCH解碼器521以再一次解碼或者當(dāng)數(shù)據(jù)505被確認(rèn)為正確時作為提取的數(shù)據(jù)506被輸出到緩沖器550或控制器。如果BCH解碼器521再次未能解碼一個或多個段,則重復(fù)處理。在一些實現(xiàn)方式中,在閾值數(shù)量的存在通過或者指示失敗的選項。
[0076]在一些實現(xiàn)方式中,使用CRC(循環(huán)冗余檢驗)解碼器來校驗丟失的校正并選擇性地將數(shù)據(jù)引導(dǎo)到緩沖器550、控制器520或BCH解碼器521之一。取決于CRC碼的粒度(即碼進(jìn)行操作的最小消息長度),可以建立數(shù)據(jù)流和存儲介質(zhì)的點對點和端對端校驗。在一些實現(xiàn)方式中,相應(yīng)的CRC值被插入到每個數(shù)據(jù)段201、202和203中(見圖2B),并且在所附數(shù)據(jù)的整個傳輸和存儲期間可以保留。CRC值可以由解碼驗證模塊522在解碼處理期間的任意時間點校驗以校驗丟失的校正以及伴隨重試或其他處理而重新開始的算法,以便如果可以標(biāo)識錯誤的數(shù)據(jù)段則使用控制器520或BCH解碼器521增強原始信息的質(zhì)量。如果CRC解碼器檢測到錯誤,則數(shù)據(jù)被發(fā)送回到BCH解碼器然后如果被校正則返回。在一些實現(xiàn)方式中,如果未被校正,則該數(shù)據(jù)被發(fā)送到另外的外部碼解碼器,比如2-D XOR解碼器或者其他多塊故障保護(hù)錯誤控制解碼器560。得到的校正后的數(shù)據(jù)然后由控制器520返回到BCH解碼器521或者LDPC解碼器523,這取決于估計的剩余錯誤的數(shù)量。在此正向和反向操縱的處理中,碼字被求解直到所有解碼器(例如BCH解碼器521和LDPC解碼器523兩者)指示通過條件。在一些實現(xiàn)方式中,除非其他解碼器不能校正數(shù)據(jù),否則不涉及多塊故障保護(hù)解碼器560。
[0077]在一些企業(yè)存儲實現(xiàn)方式中,向存儲設(shè)備以及從存儲設(shè)備的傳輸包括CRC碼的利用。例如,在一些實現(xiàn)方式中,CRC碼提供被附到圖3B中所示的數(shù)據(jù)流300并與數(shù)據(jù)段和奇偶校驗位一起存儲在媒體中的校驗值。進(jìn)一步參考圖5,一些實現(xiàn)方式中,CRC碼被認(rèn)為是由多塊故障保護(hù)模塊560評估為操縱用于重新校驗錯誤的數(shù)據(jù)以防止最終的丟失校正的外部碼。
[0078]在一些實現(xiàn)方式中,包括故障保護(hù)外部碼(例如在圖5中的由多塊故障保護(hù)解碼器560評估的外部碼)通過提供對于可能不能由BCH解碼器521和LDPC解碼器523的組合校正的錯誤的至少一些的錯誤校正而使能夠?qū)崿F(xiàn)較低錯誤水平(floor)。例如,在一些實現(xiàn)方式中,如果內(nèi)部碼(例如BCH和LDPC)達(dá)到1E-6的錯誤水平,其中奇偶校驗位總數(shù)據(jù)的小于5%,則使用2-D XOR編碼器,1E-20的錯誤水平是可能的。在一些實現(xiàn)方式中,取決于在存儲介質(zhì)中發(fā)生的非線性數(shù)據(jù)缺陷的數(shù)量,解碼器可以被定制為實現(xiàn)寬范圍的錯誤水平。在一些實現(xiàn)方式中,錯誤水平的較低邊界由在存儲介質(zhì)中發(fā)生的非線性數(shù)據(jù)缺陷的數(shù)量而限制。非線性缺陷通常發(fā)生在由于隨機事件而存在嚴(yán)重的缺陷集群時。例如,在NAND閃存設(shè)備中由于引起嚴(yán)重的數(shù)據(jù)丟失的一些類型的設(shè)備惡化而遭遇非線性缺陷。非線性缺陷可以被建模為錯誤分布的混合物,這些錯誤分布是存儲器設(shè)備的預(yù)期的惡化的非典型者。例如,在NAND閃存設(shè)備中,當(dāng)在編程和擦除循環(huán)的不確定的時段之后兩條字線段路時發(fā)生非線性缺陷,導(dǎo)致幾千字節(jié)的數(shù)據(jù)錯誤。存在形成這些缺陷分布的一些因素,比如操作溫度、編程之間的時間、操作的模式和使用歷史。對存儲系統(tǒng)從在一些錯誤分布的尾部存在的非線性缺陷和其他缺陷恢復(fù)的能力的限制它呈現(xiàn)值了在存儲系統(tǒng)中可以實現(xiàn)的實際的不可校正位錯誤率(UBER)。
[0079]在一些實現(xiàn)方式中,多塊故障保護(hù)解碼器560可操作以解碼一組碼字,其中該組碼字至少包括由BCH解碼器521 (即第一解碼器)和LDPC解碼器523 (即第二解碼器)解碼的碼字的數(shù)據(jù)字。
[0080]圖6是適合于與圖5的解碼器127a —起使用的并行鏈接解碼的方法600的實現(xiàn)方式的流程圖表示。如由塊6-1所表示的,該方法600包括選擇解碼器以開始解碼處理。如由塊6-2所表示的,該方法600包括確定選擇了哪個解碼器。如果選擇了 BCH解碼器(來自塊6-2的“BCH”路徑),則如由塊6-3表示的,該方法600包括選擇對于數(shù)據(jù)字的第一數(shù)據(jù)段的BCH數(shù)據(jù)和奇偶校驗位。另一方面,如果選擇了 LDPC解碼器(例如來自塊6-2的“LDPC”路徑),則如由塊6-16所表示的,該方法600包括選擇對于數(shù)據(jù)字的多個數(shù)據(jù)段的LDPC數(shù)據(jù)和奇偶校驗位(例如將選擇兩個數(shù)據(jù)段用于圖5的解碼器127a)。
[0081]返回塊6-3,在選擇了第一段的BCH數(shù)據(jù)和奇偶校驗位之后,如由塊6-4所表示的,該方法包括對該第一段的BCH數(shù)據(jù)和奇偶校驗位進(jìn)行BCH解碼。如由塊6-5所表示的,該方法600包括確定解碼是否提供了對于第一段的正確數(shù)據(jù)。如果該數(shù)據(jù)正確(來自塊6-5的“是”路徑),則如由塊6-6所表示的,該方法600包括將正確的數(shù)據(jù)寫到輸出緩沖器和/或在前進(jìn)到由塊6-7表示的方法600的部分之前輸出該數(shù)據(jù)。另一方面,如果該數(shù)據(jù)不正確(來自塊6-5的“否”路徑),則如由塊6-7所表示的,該方法600包括選擇對于第二段的BCH數(shù)據(jù)和奇偶校驗位,該第二段將是與所選擇的第一段一起被LDPC編碼的段。
[0082]如由塊6-8所表示的,方法600包括對第二段的BCH數(shù)據(jù)和奇偶校驗位進(jìn)行BCH解碼。如由塊6-9所表示的,方法600包括確定該解碼處理是否提供了對于第二段的正確的數(shù)據(jù)。如果該數(shù)據(jù)正確(來自塊6-9的“是”路徑),則如由塊6-13所表示的,該方法600包括將正確的數(shù)據(jù)寫到輸出緩沖器或者在前進(jìn)到如由塊6-14表示的方法600的部分之前輸出該數(shù)據(jù)。如由塊6-14所表示的,該方法600包括確定該解碼是否提供了對于第一和第二段的正確的數(shù)據(jù)。如果對于這兩段的數(shù)據(jù)正確(來自塊6-14的“是”路徑),則如由塊6-15所表不的,該方法600包括選擇下一碼字用于解碼。另一方面,如果對于至少一個段的數(shù)據(jù)不正確(來自塊6-14的“否”路徑),則如由塊6-12所表示的,該方法600包括將LLR信息傳遞到LDPC解碼器用于所選的第一和第二段。
[0083]返回到塊6-9,另一方面,如果對于第二段的解碼的數(shù)據(jù)不正確(來自塊6-9的“否”路徑),則如由塊6-10所表示的,方法600包括確定是否進(jìn)一步迭代解碼處理。在一些實現(xiàn)方式中,進(jìn)一步重復(fù)的決定是基于多個因素,包括但不限于先前重復(fù)的數(shù)量、數(shù)據(jù)訛誤/錯誤的范圍和進(jìn)一步重復(fù)可用的時間。
[0084]如果準(zhǔn)許進(jìn)一步重復(fù)(來自塊6-10的“是”路徑),則如由塊6-12所表示的,方法600包括將LLR信息傳遞到LDPC解碼器用于所選的第一和第二段。另一方面,如果不準(zhǔn)許進(jìn)一步的重復(fù)(來自塊6-10的“否”路徑),則如由塊6-11所表示的,方法600包括提供解碼處理的至少此部分已經(jīng)失敗的指示。
[0085]返回到塊6-16,在選擇多個段的LDPC數(shù)據(jù)和奇偶校驗位之后,如由塊6_17所表示的,方法600包括解碼該LDPC數(shù)據(jù)和奇偶校驗位。如由塊6-18所表示的,方法600包括確定該解碼是否提供了對于第二段的正確的數(shù)據(jù)。如果數(shù)據(jù)正確(來自塊6-18的“是”路徑),則如由塊6-13所表示的,方法600包括將正確的數(shù)據(jù)寫到輸出緩沖器或者輸出該數(shù)據(jù)。另一方面,如果該數(shù)據(jù)不正確(來自塊6-18的“否”路徑),則如由塊6-19所表示的,方法600包括確定是否進(jìn)一步迭代解碼處理。
[0086]如果準(zhǔn)許進(jìn)一步的重復(fù)(來自塊6-19的“是”路徑),則如由塊6-20所表示的,方法600包括將LLR信息傳遞到BCH解碼器用于所選的第一和第二段。另一方面,如果不準(zhǔn)許進(jìn)一步的重復(fù)(來自塊6-20的“否”路徑),則如由塊6-11所表示的,方法600包括提供該解碼的至少此部分已經(jīng)失敗的指示。
[0087]圖7是并行鏈接碼解碼器727的另一實現(xiàn)方式的示意圖。圖7所示的解碼器727類似于圖4所示的解碼器127并且從該解碼器127來適配。其每個共同的元件包括共同的參考標(biāo)記,并且為了簡短在此僅描述了圖4和圖7之間的差別。與解碼器127比較,解碼器727包括用于基于碼字中的錯誤的數(shù)量的估計而選擇使用兩個解碼器421、423中的哪個來開始并行鏈接解碼處理(即開始解碼碼字)的另外的組件或邏輯。
[0088]為此,解碼器727包括耦接在碼字緩沖器410和控制器420之間的錯誤估計模塊730。更具體地,錯誤估計模塊730連接到碼字緩沖器410以接收該碼字的至少一部分。例如,進(jìn)一步參考圖2A-2C,在一些實現(xiàn)方式中,錯誤估計模塊730耦接到碼字緩沖器410以接收數(shù)據(jù)字200的數(shù)據(jù)段204、205和相應(yīng)的奇偶校驗段204a、205a。在一些實現(xiàn)方式中,錯誤估計模塊730耦接到碼字緩沖器410以接收數(shù)據(jù)值200的數(shù)據(jù)段201、202、203以及相應(yīng)的奇偶校驗段201a、202a、203a。
[0089]在一些實現(xiàn)方式中,錯誤估計模塊730包括編碼器731和比較器732。在一些實現(xiàn)方式中,編碼器731產(chǎn)生與第二解碼器423的相同類型的碼,并且從該碼字中的一個或多個第二數(shù)據(jù)段產(chǎn)生一個或多個第三奇偶校驗段。依次地,比較器732通過評估該一個或多個第二奇偶校驗段和由該編碼器731產(chǎn)生的一個或多個第三奇偶校驗段來估計該碼字的數(shù)據(jù)字中的錯誤的數(shù)量。在一些實現(xiàn)方式中,錯誤估計模塊730還包括用于選擇使用第一解碼器421和第二解碼器423中的哪個來開始解碼碼字(即開始用其來解碼該碼字)的決定模塊,其中該選擇至少基于估計的錯誤的數(shù)量。為此,在一些實現(xiàn)方式中,由比較器732比較編碼器731產(chǎn)生的一個或多個奇偶校驗段與接收的碼字的部分的一個或多個奇偶校驗段。例如,進(jìn)一步參考圖2A-2C,從存儲介質(zhì)讀取的奇偶校驗段204A、205a與由編碼器731使用從存儲介質(zhì)讀取的數(shù)據(jù)段204、205產(chǎn)生的奇偶校驗段相比較。
[0090]控制器420基于由錯誤估計模塊730提供的碼字中的錯誤數(shù)量的估計來選擇使用第一解碼器421和第二解碼器423中的哪個來開始解碼該碼字。在一些實現(xiàn)方式中,當(dāng)估計的錯誤數(shù)量滿足閾值時,控制器420選擇第一解碼器421來開始解碼碼字緩沖器410中的碼字。可替換地,當(dāng)估計的錯誤數(shù)量不滿足閾值時,控制器420選擇第二解碼器423來開始解碼該碼字。在一些實現(xiàn)方式中,如以下參考圖8和圖9詳細(xì)描述的,該閾值對應(yīng)于將導(dǎo)致第一解碼器421在被首先選擇時將失敗的錯誤數(shù)量。在一些實現(xiàn)方式中,該與之對應(yīng)于將導(dǎo)致第一解碼器421在被首先選擇時將失敗特定百分比的時間的錯誤數(shù)量。在一些實現(xiàn)方式中,該與之對應(yīng)于可以成功被第一解碼器421校正的錯誤的數(shù)量。
[0091]在一些實現(xiàn)方式中,當(dāng)估計的錯誤數(shù)量滿足第一閾值時(例如當(dāng)估計的錯誤數(shù)量大于第一閾值時),控制器420選擇第二解碼器423以使用軟決定解碼來開始解碼碼字。在一些實現(xiàn)方式中,當(dāng)估計的錯誤數(shù)量滿足第二閾值時(例如當(dāng)估計的錯誤數(shù)量大于諸如圖9所示的Eth的第二閾值但是小于第一閾值時),控制器420選擇第二解碼器423以使用硬決定解碼來開始解碼該碼字。
[0092]在一些實現(xiàn)方式中,當(dāng)估計的錯誤數(shù)量滿足第二閾值時(例如當(dāng)估計的錯誤數(shù)量小于第二閾值時,該第二閾值小于上述的第一閾值),控制器420選擇第一解碼器421以使用硬決定解碼開始解碼該碼字。
[0093]在一些實現(xiàn)方式中,控制器420可操作以選擇編碼器731來評估由第一解碼器421和第二解碼器423之一產(chǎn)生的解碼結(jié)果。在一些實現(xiàn)方式中,控制器420可操作以當(dāng)估計的錯誤數(shù)量滿足閾值時(例如當(dāng)估計的錯誤數(shù)量超過第三閾值時,該第三閾值大于該第一和第二閾值)選擇第三解碼器(未示出)用于解碼,其中該第三解碼器可操作以與多個其他的碼字組合地解碼該碼字。在一些實現(xiàn)方式中,控制器420可操作以當(dāng)估計的錯誤數(shù)量滿足第一、第二和第三閾值中的相應(yīng)一個時選擇第一、第二和第三解碼器。以下參考圖9說明解碼器選擇的這樣的閾值的例子。
[0094]圖8是并行鏈接碼錯誤控制解碼器127b的另一實現(xiàn)方式的示意圖。圖8所示的解碼器127b類似于圖5所示的解碼器127a并且從該解碼器127a來適配。因而,兩者共同的元件共享共同的參考標(biāo)記,并且為了簡短在此僅描述解碼器127a、127b之間的差別。為此,解碼器127b包括LDPC校驗編碼器810,其用于確定優(yōu)選BCH解碼器521還是LDPC解碼器523來開始解碼處理。換句話說,LDPC校驗編碼器810用于操縱碼字到BCH解碼器521或LDPC解碼器523來開始解碼處理。在一些實現(xiàn)方式中,LDPC校驗編碼器810配置為通過評估碼字的一個或多個LDPC奇偶校驗段以及由LDPC校驗編碼器810產(chǎn)生的一個或多個奇偶校驗段來估計位錯誤的數(shù)量。此外,盡管在圖8的解碼器127b中采用LDPC校驗編碼器,但是本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,在一些實現(xiàn)方式中,可以以類似的方式使用BCH校驗編碼器。更一般地,使用的校驗編碼器的類型取決于在用于產(chǎn)生碼字的相應(yīng)編碼器中使用的一個或多個錯誤控制碼的相應(yīng)類型。
[0095]在一些實現(xiàn)方式中,如以下參考圖9所述的,將錯誤的數(shù)量與一個或多個閾值比較以確定優(yōu)選BCH解碼器521和LDPC解碼器523中的哪個來開始解碼該碼字。
[0096]更一般地,一些實現(xiàn)方式包括基于碼字和/或碼字組中的估計的錯誤數(shù)量而單獨可選擇的硬解碼器和軟解碼器。例如,在一些實現(xiàn)方式中,在硬LDPC解碼器、軟LDPC解碼器和BCH解碼器之間的解碼期間的信息流由碼字中的估計的錯誤數(shù)量來支配。在一些實現(xiàn)方式中,消息傳遞處理操縱數(shù)據(jù)試圖通過嘗試解決較容易校正的錯誤而首先利用較不復(fù)雜的解碼,然后使用數(shù)據(jù)字的先前校正的部分和其余錯誤的本質(zhì)所要求的更加復(fù)雜的解碼而聚焦于更難的位錯誤。例如,一個策略是首先校正單獨的位錯誤,然后集中于更復(fù)雜的位錯誤集群。是用從較容易校正的位獲取的信息(即校正的數(shù)據(jù)段),可以恢復(fù)取回的具有集群的缺陷的數(shù)據(jù)。另外,此信息可以被傳遞回到之前的解碼器或者接下來的解碼器。相同的算法應(yīng)用于由BCH解碼器操作的LDPC解碼器的段,該BCH解碼器使用碼字的奇偶校驗位。換句話說,在嘗試用BCH解碼器解碼數(shù)據(jù)段之前,由LDPC解碼器輸出的與用于BCH解碼器的數(shù)據(jù)段重疊的校正的數(shù)據(jù)可以替換數(shù)據(jù)段的重疊的部分。這樣,并行鏈接解碼和以下討論的LDPC H-矩陣的重整的組合可以按均一化隨機和突發(fā)錯誤的方式而容納存儲介質(zhì)BER特性。
[0097]在此所述的并行鏈接編碼和解碼處理的實現(xiàn)方式在多種情況下并且特別是在(存儲介質(zhì)或者通信信道中的)錯誤分布是非均勻的情況下是有用的。在固態(tài)設(shè)備中,錯誤分布通常是非均勻的,并且位錯誤發(fā)生在具有多個對數(shù)線性分支(leg)的對數(shù)線性比率處,如以下參考圖9所述。數(shù)學(xué)上,準(zhǔn)備描述為具有長或粗尾部的泊松分布。這暗示著平均錯誤率近似等于方差(variance)。
[0098]圖9是示出由圖8所示的解碼器127b的一些實現(xiàn)方式使用的各種性能范圍和決定點的圖900。具體地,圖900示出了對于解碼器127b的測試實現(xiàn)方式的碼字解碼失敗的對數(shù)概率相對碼字中的位錯誤的數(shù)量的例子。另外,已經(jīng)注釋圖900以示出基于解碼復(fù)雜度和成功的可能性而進(jìn)行特定類型的解碼的區(qū)域。
[0099]例如,當(dāng)位錯誤的數(shù)量相對低時,比如在中等復(fù)雜度區(qū)域921中,優(yōu)選相對低或中等復(fù)雜的解碼方案。在一些實現(xiàn)方式中,存在朝向選擇較低復(fù)雜度解碼的偏向(bias),因為較低復(fù)雜度解碼通常更快并且通常使用比較高復(fù)雜度解碼更少得電力。并且通常存在可以用低復(fù)雜度解碼處理校正小數(shù)量的位錯誤的期望。繼續(xù)參考圖8,在一些實現(xiàn)方式中,BCH解碼器521比LDPC解碼器更不復(fù)雜,并且在一些實現(xiàn)方式中,BCH解碼器521被認(rèn)為是低或中等復(fù)雜的解碼器。在一些實現(xiàn)方式中,如果由LDPC校驗編碼器810產(chǎn)生的碼字中的估計的錯誤的數(shù)量低于位錯誤閾值Eth,則BCH解碼可以以低到中等復(fù)雜度有效地處理碼字的解碼,如由范圍920所示。在一些實現(xiàn)方式中,在Eth以下,期望BCH解碼器521在大于90%的時間產(chǎn)生正確的結(jié)果,其中Eth是在1.2E-2的范圍內(nèi)的BER。這樣,當(dāng)估計的錯誤數(shù)量在Eth以下時,控制器520選擇BCH解碼器521開始解碼處理。在一些實現(xiàn)方式中,如果錯誤的數(shù)量接近于閾值Eth或者甚至剛剛超過閾值Eth,在此情況下BCH解碼更可能失敗,則控制器520可以仍然選擇BCH解碼器521開始解碼處理。但是,如果位錯誤的數(shù)量實質(zhì)上超過了錯誤閾值Eth,則假設(shè)性能落入更高復(fù)雜度區(qū)域953中。
[0100]在較高復(fù)雜度區(qū)域953中,BCH解碼器521在首先被選擇時則高度可能失敗。因此用BCH解碼器521開始解碼處理可能僅僅是浪費電力并且對解碼處理添加了不必要的延遲。因而,控制器520選擇更有力并且計算上更復(fù)雜的錯誤控制碼解碼器、比如LDPC解碼器523或者故障保護(hù)解碼器560來開始解碼處理。在一些實現(xiàn)方式中,較高復(fù)雜度區(qū)域953被劃分為兩個或更多范圍。例如,如圖9所示,較高復(fù)雜度區(qū)域953被劃分為LDPC范圍950和故障保護(hù)范圍960。在一些實現(xiàn)方式中,LDPC范圍950和故障保護(hù)范圍960之間的閾值是近似為5.0E-2的BER。在故障保護(hù)范圍960中,LDPC解碼器523比在較低錯誤范圍中更可能失敗。因此在一些實現(xiàn)方式中,使用諸如2-DX0R校正方案(或者另一多塊故障保護(hù)錯誤控制方案)的故障保護(hù)解碼器來實現(xiàn)較低錯誤水平。
[0101]在一些實現(xiàn)方式中,LDPC范圍950被劃分為硬LDPC子范圍950和軟LDPC子范圍952。子范圍951、952是基于解碼復(fù)雜度和在可能時朝向使用較低復(fù)雜度解碼的偏向。硬LDPC子范圍951包括BER性能,該BER性能可能不能由BCH解碼可靠地實現(xiàn),但是不需要軟LDPC解碼的復(fù)雜度。因而,如果估計的錯誤數(shù)量落在硬LDPC子范圍951內(nèi),則控制器520選擇LDPC解碼器523來使用硬決定解碼開始解碼處理。如果估計的錯誤數(shù)量落在軟LDPC子范圍952內(nèi),則控制器520選擇LDPC解碼器523來使用軟決定解碼開始解碼處理。在一些實現(xiàn)方式中,硬LDPC子范圍951在1.2E-2和3.0E-2之間延伸,并且軟LDPC子范圍952在3.0E-2和5.0E-2之間延伸(即達(dá)到故障保護(hù)范圍960)。
[0102]進(jìn)一步參考圖8,在一些實現(xiàn)方式中,LDPC校驗編碼器810還可以用于評估LDPC解碼器523的輸出。例如,當(dāng)LDPC解碼器523未能產(chǎn)生校正的數(shù)據(jù)時,可以使用LDPC校驗編碼器810來產(chǎn)生關(guān)于剩余錯誤的信息。在一些實現(xiàn)方式中,關(guān)于錯誤的信息用于操縱BCH解碼器521和LDPC解碼器523之間的信息流或者宣告碼字包括不可解決的錯誤。
[0103]圖10是并行鏈接碼解碼的方法1000的實現(xiàn)方式的流程圖表示。圖10所示的流程圖類似于圖6所示的流程圖并且從該流程圖適配。這樣,兩者共同的預(yù)案將向共同的參考標(biāo)記,并且為了簡短在此僅描述了兩個流程圖之間的差別。如由塊10-1所表示的,方法1000包括選擇多個段的LDPC數(shù)據(jù)和奇偶校驗位(例如將選擇兩個段用于圖8的解碼器127b)。如由塊10-2所表示的,方法1000包括使用LDPC校驗編碼器來估計碼字中的位錯誤的數(shù)量。如由塊10-3所表示的,方法1000包括確定錯誤估計是否在錯誤閾值(例如圖9中的Eth)以下。
[0104]如果估計的錯誤數(shù)量在錯誤閾值Eth以下(來自塊10-3的“BCH”路徑),則方法1000從塊6-3繼續(xù),如以上參考圖6所述。另一方面,如果估計的錯誤數(shù)量不在錯誤閾值Eth以下(來自塊10-3的“ LDPC”路徑),則方法1000從塊6-16繼續(xù),如以上參考圖6所述。
[0105]另外,如上所述,使用各種實現(xiàn)方式來使得在特定存儲器位置處的位錯誤的概率能夠匹配于錯誤校正碼的錯誤校正能力和特性。更具體地,在一些實現(xiàn)方式中,錯誤控制系統(tǒng)包括錯誤追蹤模塊和碼適配模塊。錯誤追蹤模塊產(chǎn)生錯誤位置統(tǒng)計。碼適配模炔基于錯誤位值統(tǒng)計產(chǎn)生對于(由編碼器使用的)可調(diào)整的產(chǎn)生器矩陣和(由解碼器使用的)可調(diào)整的奇偶校驗矩陣的調(diào)整。換句話說,與具體存儲器位置相關(guān)聯(lián)的錯誤概率可以被合并到錯誤控制碼中以更改碼字是否可校正的概率。
[0106]為此,在一些實現(xiàn)方式中,使用不規(guī)則錯誤控制碼,因為校驗位中的一些比其他位更加與數(shù)據(jù)位相互聯(lián)系。例如,在一些實現(xiàn)方式中,LDPC編碼器和解碼器利用不規(guī)則碼。LDPC碼通常特征化為能力接近,這意味著存在以合理的復(fù)雜度校正在對于較不對稱存儲器的信道的非常接近香農(nóng)限制的噪聲條件下的錯誤的LDPC碼。因而,能力接近LDPC錯誤校正花費的時間與碼塊長度相關(guān)地線性變化。另外,本領(lǐng)域技術(shù)人員將認(rèn)識到,LDPC碼是可以使用偶圖G來設(shè)計的線性碼的系列,在該偶圖中一列節(jié)點包括消息節(jié)點n,另一列包括校驗節(jié)點k。圖G如下產(chǎn)生塊長度η和至少n-k的維度的線性碼。碼字的η坐標(biāo)與η個消息節(jié)點相關(guān)聯(lián)。碼字是使得對于所有校驗節(jié)點在消息節(jié)點之間的相鄰位置的和是零的那些向量(C1,…,cn)。
[0107]上述圖表示可以被轉(zhuǎn)換為如下的奇偶校驗矩陣。矩陣Η(即奇偶校驗矩陣)被定義為二進(jìn)制kxn矩陣,其中當(dāng)且僅當(dāng)在該圖G中第i校驗節(jié)點連接到第j消息節(jié)點時,每個項(i,j)是1(或者更一般地是預(yù)定值)。同等地,對于二進(jìn)制數(shù)據(jù),矩陣H的列表示可變位(即數(shù)據(jù)位或消息位),并且矩陣H的行表示校驗位。給出矩陣H的定義,由圖G定義的LDPC碼是向量的集合c= (C1,…,cn),使得H*cT =0。但是,本領(lǐng)域技術(shù)人員還將認(rèn)識到,不是每個二進(jìn)制線性碼都可以由稀疏偶圖(sparse bipartite graph)表示。稀疏性適用于矩陣的序列,并且如果k乘以η的乘積趨向于是無窮大并且在kxn矩陣的序列中的非零元素的數(shù)量小于k乘以η的乘積,則kxc矩陣的序列被稱為C-稀疏的。即,圖G中的連接(校驗位和可變位之間)隨著矩陣的維度粗略地線性而不是二次地(或指數(shù)地)縮放。具有作為稀疏偶圖的表示的二進(jìn)制線性碼可以是LDPC碼、turbo碼、重復(fù)(repeat)累積碼或者噴泉碼(fountain code)之一。滿足這些條件的LDPC奇偶校驗矩陣1200的例子示意性地例示在圖12中。如以下更詳細(xì)描述的,奇偶校驗矩陣1200是不規(guī)則矩陣(即,矩陣1200的一些行具有比其他行更多的具有非零值的元素)。
[0108]不像規(guī)則的LDPC解碼器,不規(guī)則的LDPC解碼器基于一些校驗位比其他位更加與可變位相互聯(lián)系的原理而工作。如果校驗位是更加相互聯(lián)系的,則該校驗位將通常更經(jīng)常地標(biāo)記錯誤。更少相互聯(lián)系的校驗位趨向于比更加相互聯(lián)系的校驗位收斂得更快。隨后,來自更少相互聯(lián)系的校驗位的信息幫助更加相互聯(lián)系的校驗位的解碼。在一些實現(xiàn)方式中,不規(guī)則碼的這些和其他特性被用于將存儲介質(zhì)的物理特性選擇性地映射到校驗位的互聯(lián)性。例如,在一些實現(xiàn)方式中,具有更高的位錯誤概率的存儲器位置被映射到碼的更加相互聯(lián)系的校驗位。替換地,在一些實現(xiàn)方式中,具有更高的位錯誤概率的存儲器位置被映射到碼的更少相互聯(lián)系的校驗位。
[0109]H-矩陣設(shè)計采用不規(guī)則LDPC解碼器的較高信道容量能力來校正更多具有類似量的奇偶校驗開銷的位。概念類似于以上給出的消息傳遞方案,但是在此使得概率性LDPC解碼器能夠使用貝葉斯概率而工作。也就是說,關(guān)于信道的先驗錯誤概率可以被合并到解碼器中以便更改LDPC碼字的段如果被發(fā)送回到BCH解碼器將是更可校正還是更不可校正的概率。
[0110]在一些實現(xiàn)方式中,當(dāng)將錯誤概率建模為位失敗的函數(shù)時,H-矩陣映射的實際效果改變了尾部的量值,如圖9所示??梢愿姆植嫉奈膊康奶匦?,允許LDPC碼字的一些段比其他段更容易校正。因此,當(dāng)來自LDPC解碼器的輸出被發(fā)送到BCH解碼器時,更可能BCH解碼器可以校正經(jīng)過重復(fù)仍然錯誤的一些段。這使得并行鏈接解碼器能夠以收斂于有效的碼字更有效地工作,使得在解碼器之間的消息傳遞更可能收斂于正確的數(shù)據(jù)字。
[0111]圖11是適應(yīng)性編解碼器(編碼器-解碼器)1100的實現(xiàn)方式的示意圖。在一些實現(xiàn)方式中,適應(yīng)性編解碼器1100可操作以確定在特定存儲器位置處的位錯誤的概率并將該位錯誤的概率匹配到不規(guī)則LDPC碼的錯誤校正能力和特性。為此,作為非限制性例子,適應(yīng)性編解碼器1100包括控制器1110、0^(:編碼器1123、0^(:解碼器1124、第一1瓜1115、第二 MUXl 117、存儲介質(zhì)1/01128、調(diào)整模塊1143和錯誤追蹤模塊1141。
[0112]存儲介質(zhì)1130通過數(shù)據(jù)連接903耦接到存儲介質(zhì)1/01128。在一些實現(xiàn)方式中,存儲介質(zhì)1130包括任意數(shù)量的存儲器設(shè)備,包括但不限于非易失性半導(dǎo)體存儲器設(shè)備,比如閃存。例如,閃存設(shè)備可以配置用于適合于諸如云計算的應(yīng)用的企業(yè)存儲??商鎿Q地,閃存設(shè)備還可以配置用于相對較小規(guī)模的應(yīng)用,比如個人快閃驅(qū)動器或者用于個人、膝上型或平板計算機的硬盤替換。如上所述,存儲介質(zhì)經(jīng)常被劃分為多個可尋址的并且可單獨選擇的塊,比如可選部分1131。在一些實現(xiàn)方式中,存儲介質(zhì)1/01128包括能夠?qū)⒅T如電壓的讀比較信號值施加到耦接于存儲介質(zhì)1130的部分的信號線的讀和寫電路。
[0113]第一 MUX1115提供與數(shù)據(jù)處理系統(tǒng)(等)的接口,從該數(shù)據(jù)處理系統(tǒng)接收數(shù)據(jù)1000用于編碼并存儲在存儲介質(zhì)1130中。第二 MUX1117(有時稱為解復(fù)用器)將LDPC編碼器1123選擇性地耦接到錯誤位值追蹤模塊1141和存儲介質(zhì)1/01128之一??刂破?110耦接到第一和第二 MUX1115U117以及調(diào)整模塊1143、錯誤位值追蹤模塊1141和存儲介質(zhì)I/01128中的一個或多個以便協(xié)調(diào)這些組件的操作。
[0114]耦接存儲介質(zhì)1/01128以將從存儲介質(zhì)1130讀取的數(shù)據(jù)和奇偶校驗位1002提供給LDPC解碼器1124。耦接LDPC解碼器1124以將該數(shù)據(jù)和奇偶校驗位1002提供給錯誤位值追蹤模塊1141。耦接錯誤位值追蹤模塊1141以將映射數(shù)據(jù)提供給調(diào)整模塊1143。耦接調(diào)整模塊1143以為LDPC編碼器1123提供對由LDPC編碼器使用來編碼數(shù)據(jù)的LDPC產(chǎn)生器矩陣的調(diào)整或者基于映射數(shù)據(jù)提供新的LDPC產(chǎn)生器矩陣。還耦接調(diào)整模塊1143以為LDPC解碼器1124提供對由LDPC解碼器1124使用來解碼的LDPC奇偶校驗矩陣的調(diào)整或者基于映射數(shù)據(jù)提供新的LDPC-奇偶校驗矩陣。
[0115]在寫操作期間,第一 MUX1115接收要存儲在存儲介質(zhì)1130中的數(shù)據(jù)1000。第一MUXl115將數(shù)據(jù)1000傳遞到LDPC編碼器1123,LDPC編碼器1123使用可調(diào)整的產(chǎn)生器矩陣來編碼數(shù)據(jù)1000以產(chǎn)生碼字(例如數(shù)據(jù)和奇偶校驗位1001)。使得該碼字可用于存儲介質(zhì)1/01128,存儲介質(zhì)1/01128以依賴于所使用的存儲介質(zhì)的類型的方式將該碼字傳送到存儲介質(zhì)1130。在讀取操作期間,對于相同的數(shù)據(jù),存儲介質(zhì)1/01128訪問存儲介質(zhì)1130的部分已讀取存儲的碼字(即數(shù)據(jù)和奇偶校驗位1002)。本領(lǐng)域技術(shù)人員將認(rèn)識到,被存儲介質(zhì)1/01128寫到存儲介質(zhì)1130中的碼字可能由于錯誤而不同于由存儲介質(zhì)1130存儲的碼字。換句話說,數(shù)據(jù)和奇偶校驗位1001可能與數(shù)據(jù)和奇偶校驗位1002不匹配。因而,讀取的數(shù)據(jù)和奇偶校驗位1002被提供給LDPC解碼器1124以使用可調(diào)整的奇偶校驗矩陣來解碼。如下所述,LDPC解碼器1123將讀取的數(shù)據(jù)和奇偶校驗位1002傳遞到錯誤位值追蹤模塊1141。LDPC解碼器1124嘗試解碼讀取的數(shù)據(jù)和奇偶校驗位1002以便校正該數(shù)據(jù)中的錯誤。當(dāng)解碼成功時,校正后的數(shù)據(jù)1006被傳輸?shù)秸埱笤O(shè)備或者系統(tǒng)(例如數(shù)據(jù)處理系統(tǒng))。
[0116]在接連的寫和讀操作期間,如下累積錯誤位置數(shù)據(jù)。LDPC解碼器1124將未校正的讀取數(shù)據(jù)1004傳輸?shù)降谝?MUX1115。第一 MUX1115基于由控制器1110提供的控制信號將未校正的讀取數(shù)據(jù)1004傳送到LDPC編碼器1123。LDPC編碼器使用未校正的讀取數(shù)據(jù)1004來產(chǎn)生校驗字(check-word)(即數(shù)據(jù)’ +奇偶校驗位”)1005,其包括未校正的讀取數(shù)據(jù)1004以及從未校正的讀取數(shù)據(jù)1004新生成的奇偶校驗位。校驗字1005被傳輸?shù)藉e誤位值追蹤模塊1141,該錯誤位值追蹤模塊1141將校驗字1005與讀取的數(shù)據(jù)和奇偶校驗位1002比較以確定未校正的讀取數(shù)據(jù)1004中的錯誤的數(shù)量。然后將錯誤與從其讀取該數(shù)據(jù)的存儲器位置相關(guān)聯(lián)以創(chuàng)建和/或更新映射信息和/或錯誤位置統(tǒng)計。在一些實現(xiàn)方式中,在接連的寫和讀循環(huán)期間映射信息和/或錯誤位置統(tǒng)計持續(xù)地被更新以便產(chǎn)生統(tǒng)計上有意義的結(jié)果。
[0117]然后映射信息被傳輸?shù)秸{(diào)整模塊1143。依次地,調(diào)整模塊1143產(chǎn)生對于(由編碼器1123使用的)可調(diào)整的產(chǎn)生器矩陣以及(由解碼器1124使用的)可調(diào)整的奇偶校驗矩陣的調(diào)整。在一些實現(xiàn)方式中,可調(diào)整的奇偶校驗矩陣是不規(guī)則的,如上所述。在一些實現(xiàn)方式中,一個或多個有錯誤傾向的存儲位置被映射到滿足互聯(lián)的閾值數(shù)量的可調(diào)整奇偶校驗矩陣的校驗位,其中這些有錯誤傾向的位置已經(jīng)產(chǎn)生了滿足閾值錯誤特征的錯誤。在一些實現(xiàn)方式中,閾值錯誤特征是最小值和最大值之一。在一些實現(xiàn)方式中,一個或多個沒有錯誤傾向的存儲位置被映射到滿足互聯(lián)的閾值數(shù)量的可調(diào)整奇偶校驗矩陣的校驗位,其中沒有錯誤傾向的位置已經(jīng)產(chǎn)生滿足閾值錯誤特征的錯誤。
[0118]如圖12所示,在一些實現(xiàn)方式中,H-矩陣1200至少包含子矩陣1201(子矩陣A)、1202(子矩陣Z)和1203(子矩陣B)。圖12示出要調(diào)整H-矩陣的哪些部分以將錯誤位置信息映射到碼。H-矩陣1200中的列表示可變位(即數(shù)據(jù)位或消息位)并且1200的行表示校驗位。具體地,通過添加I’來調(diào)整列和行的加權(quán)以更改可變位和校驗位之間(即數(shù)據(jù)和奇偶校驗位之間)的連接復(fù)雜度。通過向矩陣添加更多的I’而增加可變校驗位連接的數(shù)量。在一些實現(xiàn)方式中,可變校驗位連接的總體數(shù)量的增加降低了相關(guān)聯(lián)的數(shù)據(jù)(即可變)位和/或校驗位位置的解碼確定性。因而,在一些實現(xiàn)方式中,具有較高的位錯誤概率的存儲器位置被映射到碼的更少互聯(lián)的校驗位以使能夠?qū)崿F(xiàn)在高缺陷環(huán)境下的相對更快的解碼器收斂。
[0119]換句話說,在上述的實現(xiàn)方式中(例如用于在高缺陷環(huán)境下使用的實現(xiàn)方式中),可以稱為“低連接”校驗位的校驗位的子集平均比剩余的校驗位連接到更少的存儲器位置,包括具有較高的位錯誤概率(例如比存儲介質(zhì)的存儲器位置的平均錯誤概率更高的位錯誤概率)的存儲器位置,其可以被稱為“高錯誤概率存儲器位置”,而剩余校驗位連接到比低連接存儲器位置更多的存儲器位置,并且平均還連接到比低連接校驗位更少的高錯誤概率存儲器位置。在一些實現(xiàn)方式中,高錯誤概率存儲器位置達(dá)到了剩余的存儲器位置所不滿足的預(yù)定錯誤概率標(biāo)準(zhǔn)。在一些實現(xiàn)方式中,低連接校驗位每個具有少于預(yù)定數(shù)量的連接,并且其他的校驗位平均具有多于預(yù)定數(shù)量的連接。此外,在一些實現(xiàn)方式中,連接的閾值數(shù)量與高缺陷環(huán)境下的解碼器的收斂速度值相關(guān)聯(lián)。
[0120]在一些實現(xiàn)方式中(例如用于在高缺陷環(huán)境下使用的實現(xiàn)方式中),低連接校驗位與存儲介質(zhì)中的存儲介質(zhì)塊的初始和結(jié)尾字線上的存儲位置相關(guān)聯(lián)。換句話說,高錯誤概率存儲器位置包括在存儲介質(zhì)塊的開頭和結(jié)尾處的字線上的位置。在一些實現(xiàn)方式中,低連接校驗位與位于距離存儲介質(zhì)的感測放大器最遠(yuǎn)處的存儲位置集。換句話說,高錯誤概率存儲器位置包括距離存儲介質(zhì)的感測放大器最遠(yuǎn)的位置。
[0121]在一些實現(xiàn)方式中(例如用于在低缺陷環(huán)境下使用的實現(xiàn)方式中),在可變位和校驗位之間具有更少的總體連接得到在低缺陷環(huán)境下的改進(jìn)的性能,因為解碼器通常將收斂得更快。發(fā)生更快的解碼器收斂,因為更可靠的信息被迅速傳遞到更易受錯誤影響的那些可變位。具體可變位的此更快并且更可靠的解碼器收斂使得消息能夠隨著解碼器在可變位和校驗位之間重復(fù)而更有效地被解碼。因而,在一些實現(xiàn)方式中,具有較高的位錯誤概率的存儲器位置被映射到碼的更多互聯(lián)的校驗位以允許在低缺陷環(huán)境下的迅速錯誤檢測。
[0122]換句話說,在上述的用于在低缺陷環(huán)境下使用的實現(xiàn)方式中,可以稱為“高連接”校驗位的校驗位的子集連接到比剩余的校驗位平均更多的存儲器位置,包括具有較高的位錯誤概率(例如,比存儲介質(zhì)的存儲器位置的平均位錯誤概率更高的位錯誤概率)的存儲器位置,這可以稱為“高錯誤概率存儲器位置”,而剩余的校驗位連接到比高連接存儲器位置更少的存儲器位置,并且平均還連接到比高連接校驗位更少的高錯誤概率存儲器位置。在一些實現(xiàn)方式中,高錯誤概率存儲器位置達(dá)到了剩余的存儲器位置所不滿足的預(yù)定錯誤概率標(biāo)準(zhǔn)。在一些實現(xiàn)方式中,高連接校驗位每個具有多于預(yù)定數(shù)量的連接,并且其他的校驗位平均具有少于預(yù)定數(shù)量的連接。此外,在一些實現(xiàn)方式中,連接的閾值數(shù)量與低缺陷環(huán)境下的解碼器的收斂速度值相關(guān)聯(lián)。
[0123]在一些實現(xiàn)方式中(例如用于在低缺陷環(huán)境下使用的實現(xiàn)方式中),高連接校驗位與存儲介質(zhì)中的存儲介質(zhì)塊的初始和結(jié)尾字線上的存儲位置相關(guān)聯(lián)。換句話說,高錯誤概率存儲器位置包括在存儲介質(zhì)塊的開頭和結(jié)尾處的字線上的位置。在一些實現(xiàn)方式中,高連接校驗位與位于距離存儲介質(zhì)的感測放大器最遠(yuǎn)處的存儲位置集。換句話說,高錯誤概率存儲器位置包括距離存儲介質(zhì)的感測放大器最遠(yuǎn)的位置。
[0124]這樣,根據(jù)錯誤位置信息調(diào)整H-矩陣的處理包括嘗試將具體存儲器位置處的存儲介質(zhì)錯誤的概率映射到LDPC解碼器的能力以發(fā)現(xiàn)那些錯誤。
[0125]在一些實現(xiàn)方式中,在存儲介質(zhì)的上部和下部頁中發(fā)現(xiàn)的缺陷之間存在差別。此不均勻的行為被映射到圖12所示的H-矩陣1200的項。
[0126]圖13是利用與存儲介質(zhì)的錯誤密度位置簡檔對應(yīng)的(例如已經(jīng)與之匹配的)錯誤控制碼的錯誤控制編碼系統(tǒng)、下文稱為存儲介質(zhì)匹配的編解碼器1300的實現(xiàn)方式的示意圖。在一些實現(xiàn)方式中,存儲介質(zhì)匹配的編解碼器1300可操作以使用錯誤控制碼產(chǎn)生器矩陣編碼將被寫到存儲介質(zhì)1330的數(shù)據(jù),該錯誤控制碼產(chǎn)生器矩陣將在存儲介質(zhì)1330的特定存儲器位置處的位錯誤概率匹配到由該產(chǎn)生器矩陣所定義的錯誤校正碼的錯誤校正能力和特性。相反,存儲介質(zhì)匹配的編解碼器1300還可操作以使用與該產(chǎn)生器矩陣互補的錯誤控制碼奇偶校驗矩陣解碼從存儲介質(zhì)1330讀取的數(shù)據(jù)和奇偶校驗位,因此還依賴于在特定存儲器位置處的位錯誤概率和錯誤校正碼的錯誤校正能力和特性之間的匹配。
[0127]為此,作為非限制性的例子,存儲介質(zhì)匹配的編解碼器1300包括控制器1310、LDPC編碼器1323、LDPC解碼器1324、寫緩沖器1313、讀緩沖器1314和存儲介質(zhì)1/01328。LDPC編碼器1323包括并且利用存儲介質(zhì)匹配的產(chǎn)生器矩陣1323a,并且LDPC解碼器1324包括并利用與該產(chǎn)生器矩陣1323a互補的(并因此與之對應(yīng)的)存儲介質(zhì)匹配的奇偶校驗矩陣1324a。本領(lǐng)域技術(shù)人員將從本公開認(rèn)識到,產(chǎn)生器矩陣1323a和奇偶校驗矩陣1324a可以單獨地和/或相組合地用于定義LDPC錯誤控制碼的表示。此外,使用具有不同的錯誤密度位置簡檔的相應(yīng)存儲介質(zhì)的系統(tǒng)1300的不同實例使用彼此不同的產(chǎn)生器矩陣1323a和彼此不同的奇偶校驗矩陣1324a。
[0128]存儲介質(zhì)1330通過數(shù)據(jù)連接903耦接到存儲介質(zhì)1/01328。在一些實現(xiàn)方式中,存儲介質(zhì)1330包括任意數(shù)量的存儲器設(shè)備,包括但不限于非易失性半導(dǎo)體存儲器設(shè)備,比如閃存。例如,閃存設(shè)備可以被配置用于適合于諸如云計算的應(yīng)用的企業(yè)存儲。可替換地,閃存設(shè)備還可以配置用于相對小規(guī)模的應(yīng)用,比如個人閃存驅(qū)動或者用于個人計算機、膝上型計算機和平板計算機的硬盤替換。如上所述,存儲介質(zhì)通常被劃分為多個可尋址的并且單獨可選擇的塊和/或區(qū)域,比如可選部分1331。在一些實現(xiàn)方式中,存儲介質(zhì)1/01328包括能夠?qū)⒅T如電壓的讀比較信號值施加到耦接于存儲介質(zhì)1330的部分的信號線的讀和與電路。
[0129]在寫操作期間,寫緩沖器1313接收要存儲在存儲介質(zhì)1330中的數(shù)據(jù)。數(shù)據(jù)塊1301從寫緩沖器1313傳遞到LDPC編碼器1323。LDPC編碼器1323使用存儲介質(zhì)匹配的產(chǎn)生器矩陣1323a編碼數(shù)據(jù)塊1301以產(chǎn)生碼字(即數(shù)據(jù)和奇偶校驗位1302)。存儲介質(zhì)1/01328以取決于所利用的存儲介質(zhì)的類型的方式將碼字寫到存儲介質(zhì)1330。在讀操作期間,對于相同的數(shù)據(jù),存儲介質(zhì)1/01328訪問存儲介質(zhì)1330的相同部分以讀取存儲的碼字(即數(shù)據(jù)和奇偶校驗位1303)。本領(lǐng)域技術(shù)人員將認(rèn)識到,由存儲介質(zhì)1/01328寫到存儲介質(zhì)1330的碼字由于錯誤可能不同于由存儲介質(zhì)1330存儲的和/或從存儲介質(zhì)1330讀取的碼字。換句話說,數(shù)據(jù)和奇偶校驗位1302可能不匹配于數(shù)據(jù)和奇偶校驗位1303。因而,讀取的數(shù)據(jù)和奇偶校驗位1303被提供給LDPC解碼器1224以使用存儲介質(zhì)匹配的奇偶校驗矩陣1324a來解碼。當(dāng)解碼成功時,校正后的數(shù)據(jù)1304經(jīng)由讀緩沖器1314傳輸?shù)秸埱笤O(shè)備或系統(tǒng)(例如數(shù)據(jù)處理系統(tǒng))。
[0130]還將理解,盡管在此可以使用術(shù)語“第一”、“第二”等等以描述各種元件,但是這些元件不應(yīng)受這些術(shù)語的限制。這些術(shù)語僅用于彼此區(qū)分元件。例如,第一接觸可以表述為第二接觸,并且類似地,第二接觸可以表述為第一接觸,這改變了本描述的含義,只要所有“第一接觸”的出現(xiàn)都一致地被重新命名并且所有第二接觸的出現(xiàn)都一致地被重新命名。第一接觸和第二接觸兩者都是接觸,但是它們不是相同的接觸。
[0131]在此使用的術(shù)語僅僅是為了描述特定實施例的目的,并且不意圖限制權(quán)利要求。如在實施例的說明書以及所附權(quán)利要求書中所使用的,單數(shù)形式“一”、“一個”和“該”意圖也包括復(fù)數(shù)形式,除非上下文明確指示不是這樣。還將理解,在此使用的術(shù)語“和/或”指代并包括相關(guān)聯(lián)的列出項中的一個或多個的任意一個以及所有可能的組合。還將理解,屬于“包括”和/或“包含”當(dāng)用在本說明書中時指定所述特征、整體、步驟、操作、元素和/或組件的存在,但是不排除一個或多個其他特征、整體、步驟、操作、元素、組件和/或其組的存在或添加。
[0132]如在此使用的,取決于上下文,術(shù)語“如果”可以解釋為意味著“當(dāng)……時”或者“在……后”或者“響應(yīng)于確定”或“根據(jù)確定”或“響應(yīng)于檢測到”所述的條件先例為真。類似地,取決于上下文,短語“如果確定[所述條件先例為真]”或“如果[所述條件先例為真]”或者“當(dāng)[所述條件先例為真]時”可以解釋為意味著“在確定[所述條件先例為真]”或者“響應(yīng)于確定[所述條件先例為真]”或者“根據(jù)確定[所述條件先例為真]”或者“在檢測到[所述條件先例為真]后”或者“響應(yīng)于檢測到[所述條件先例為真]”。
[0133]為了說明的目的已經(jīng)參考具體實施例描述了以上描述。但是,以上所例示的討論不意圖窮盡或?qū)⒈景l(fā)明限制到所公開的精確形式??紤]到以上教導(dǎo),許多修改和變化是可能的。選擇和描述實施例以便最佳地說明本發(fā)明的原理及其實際應(yīng)用,由此使得本領(lǐng)域技術(shù)人員能夠利用適合于意圖的特定用途的各種修改最佳地利用本發(fā)明和各種實施例。
【權(quán)利要求】
1.一種錯誤控制解碼系統(tǒng),能夠操作以解碼包括數(shù)據(jù)字和兩個或更多奇偶校驗段的碼字,該系統(tǒng)包括: 第一解碼器,配置為通過利用在該碼字中包括的一個或多個第一奇偶校驗段以該數(shù)據(jù)字來解碼該碼字; 第二解碼器,配置為通過利用在該碼字中包括的一個或多個第二奇偶校驗段以該數(shù)據(jù)字來解碼該碼字,其中該一個或多個第一奇偶校驗段不同于該一個或多個第二奇偶校驗段; 錯誤估計模塊,配置為估計該碼字中的錯誤的數(shù)量;以及 控制器,配置為選擇第一解碼器和第二解碼器中的哪個來開始解碼該碼字,其中該選擇基于由該錯誤估計模塊提供的該碼字中的估計的錯誤的數(shù)量。
2.如權(quán)利要求1所述的解碼系統(tǒng),其中該錯誤估計模塊包括: 編碼器,對應(yīng)于該第二解碼器,配置為從在該碼字中包括的該數(shù)據(jù)字產(chǎn)生一個或多個第三奇偶校驗段,以及 其中該錯誤估 計模塊通過評估該一個或多個第二奇偶校驗段和該一個或多個第三奇偶校驗段來估計該碼字中的錯誤的數(shù)量。
3.如權(quán)利要求2所述的解碼系統(tǒng),其中該控制器配置為選擇該編碼器以評估由該第一解碼器和該第二解碼器之一產(chǎn)生的解碼結(jié)果。
4.如權(quán)利要求1所述的解碼系統(tǒng),其中該控制器配置為: 當(dāng)估計的錯誤的數(shù)量滿足閾值時選擇第一解碼器以開始解碼該碼字,以及 當(dāng)估計的錯誤的數(shù)量不滿足閾值時選擇第二解碼器以開始解碼該碼字。
5.如權(quán)利要求4所述的解碼系統(tǒng),其中該閾值對應(yīng)于當(dāng)?shù)谝唤獯a器首先被選擇時將導(dǎo)致該第一解碼器失敗的錯誤的數(shù)量。
6.如權(quán)利要求4所述的解碼系統(tǒng),其中該閾值對應(yīng)于當(dāng)該第一解碼器首先被選擇時將導(dǎo)致該第一解碼器在特定百分比的時間失敗的錯誤的數(shù)量。
7.如權(quán)利要求4所述的解碼系統(tǒng),其中該閾值對應(yīng)于能夠由該第一解碼器成功校正的錯誤的數(shù)量。
8.如權(quán)利要求1-2的任意一項所述的解碼系統(tǒng),其中該控制器配置為: 當(dāng)估計的錯誤的數(shù)量滿足第一閾值時選擇第一解碼器以使用軟決定解碼開始解碼該碼字, 當(dāng)估計的錯誤的數(shù)量滿足第二閾值時選擇第一解碼器以使用硬決定解碼開始解碼該碼字。
9.如權(quán)利要求1-2的任意一項所述的解碼系統(tǒng),其中該控制器配置為: 當(dāng)估計的錯誤的數(shù)量滿足第一閾值時選擇第二解碼器以使用軟決定解碼開始解碼該碼字, 當(dāng)估計的錯誤的數(shù)量滿足第二閾值時選擇第二解碼器以使用硬決定解碼開始解碼該碼字。
10.如權(quán)利要求1-2的任意一項所述的解碼系統(tǒng),還包括: 第三解碼器,配置為與多個其他碼字組合地解碼所述碼字,以及 其中該控制器配置為當(dāng)估計的錯誤的數(shù)量滿足閾值時選擇該第三解碼器用于解碼。
11.如權(quán)利要求10所述的解碼系統(tǒng),其中該控制器配置為當(dāng)估計的錯誤的數(shù)量滿足第一、第二和第三閾值時選擇該第一、第二和第三解碼器中的相應(yīng)一個。
12.如權(quán)利要求1-11的任意一項所述的解碼系統(tǒng),其中該第一解碼器包括BoseChaudhuri Hocquenghem(BCH)碼解碼器。
13.如權(quán)利要求1-11的任意一項所述的解碼系統(tǒng),其中該第二解碼器包括低密度奇偶校驗(LDPC)碼解碼器。
14.如權(quán)利要求1-11的任意一項所述的解碼系統(tǒng),包括存儲器控制器的部分。
15.如權(quán)利要求1-11的任意一項所述的解碼系統(tǒng),還包括配置為從存儲介質(zhì)取回該碼字的存儲介質(zhì)接口。
16.如權(quán)利要求1-15的任意一項所述的解碼系統(tǒng),其中該控制器還配置為將由該第一和第二解碼器中的所選一個產(chǎn)生的結(jié)果提供給該第一和第二解碼器中的另一個。
17.—種解碼包括數(shù)據(jù)字和兩個或更多奇偶校驗段的碼字的方法,包括: 接收碼的碼字,該碼字具有多個錯誤; 產(chǎn)生該碼字中的錯誤數(shù)量的估計;以及 選擇第一解碼器和第二解碼器中的一個來開始解碼該碼字,其中該選擇基于該碼字中的錯誤數(shù)量的該估計 ; 當(dāng)選擇第一解碼器時,利用第一解碼器以及該碼字中包括的一個或多個第一奇偶校驗段以及該數(shù)據(jù)字開始該碼字的解碼; 當(dāng)選擇第二解碼器時,利用該第二解碼器以及在該碼字中包括的一個或多個第二奇偶校驗段以及該數(shù)據(jù)字開始該碼字的解碼,其中該一個或多個第一奇偶校驗段不同于該一個或多個第二奇偶校驗段。
18.如權(quán)利要求17所述的方法,還包括將由該第一解碼器和該第二解碼器中的所選一個產(chǎn)生的結(jié)果發(fā)送到該第一解碼器和該第二解碼器中的另一個用于用在對該碼字的繼續(xù)的解碼中。
【文檔編號】G06F11/10GK104081358SQ201280067530
【公開日】2014年10月1日 申請日期:2012年11月19日 優(yōu)先權(quán)日:2011年11月18日
【發(fā)明者】J.E.弗拉耶, A.K.奧爾布里科 申請人:桑迪士克企業(yè)知識產(chǎn)權(quán)有限責(zé)任公司