相關申請的交叉引用
本申請要求于2016年2月26日提交的申請號為10-2016-0023622的韓國申請的優先權,其全部內容通過引用并入本文。
各個實施例總體涉及一種錯誤校正電路,且更特別地涉及一種利用迭代解碼技術的錯誤校正電路。
背景技術:
數據存儲裝置響應于寫入請求存儲由外部裝置提供的數據。數據存儲裝置也可響應于讀取請求將存儲的數據提供至外部裝置。使用數據存儲裝置的外部裝置的示例包括計算機、數碼相機、移動電話等。數據存儲裝置可被嵌入在外部裝置中或被單獨地制造并隨后連接。
數據存儲裝置可包括校正發生在存儲的數據中的錯誤位的錯誤校正電路。
技術實現要素:
在實施例中,一種錯誤校正方法可包括:執行第一錯誤校正操作,第一錯誤校正操作包括通過基于奇偶校驗矩陣計算對應于碼字的校正子(syndrome)矩陣來執行校正子檢查操作、根據校正子檢查操作的結果對碼字執行解碼操作、以及迭代解碼操作直到在執行解碼操作時獲得的碼字通過校正子檢查操作或解碼操作的迭代計數達到閾值計數;將在解碼操作被迭代時計算的校正子矩陣累加至累加矩陣;以及當迭代計數達到閾值計數時,基于累加矩陣對通過迭代對碼字的解碼操作獲得的最后碼字執行第二錯誤校正操作。
在實施例中,一種錯誤校正方法可包括:當解碼操作被迭代至閾值計數時,基于奇偶校驗矩陣對碼字的各自位組(bitgroup)計算校正子值;基于校正子值將不滿足計數計數為各自位組尚未滿足校正子檢查的計數;基于位組的不滿足計數,在通過解碼操作獲得的最后碼字的位組中選擇預定數量的位組;選擇共同包括在所有選擇的位組中的一個或多個位;選擇性地位翻轉選擇的位;以及對位翻轉的碼字執行校正子檢查操作。
在實施例中,根據校正子檢查操作的結果,在解碼操作被迭代至閾值計數時獲得碼字,校正子檢查操作包括計算分別對應于碼字的校正子矩陣;將校正子矩陣累加至累加矩陣;以及基于累加矩陣對碼字中的最后碼字執行位翻轉操作。
在實施例中,一種錯誤校正電路可包括:校正子檢查單元,其被配置成通過基于奇偶校驗矩陣計算對應于碼字的校正子矩陣來執行校正子檢查操作;解碼器,其被配置成根據校正子檢查操作的結果對碼字執行解碼操作,以及迭代解碼操作直到在執行解碼操作時獲得的碼字通過校正子檢查操作或解碼操作的迭代計數達到閾值計數;累加單元,其被配置成將當解碼操作被迭代時從校正子檢查單元計算的校正子矩陣累加至累加矩陣;以及位翻轉單元,其被配置成當迭代計數達到閾值計數時基于累加矩陣對通過對碼字的解碼操作獲得的最后碼字執行位翻轉操作。
在實施例中,位翻轉單元在累加矩陣中選擇預定數量的累加值,基于選擇的累加值選擇最后碼字中的一個或多個位以及選擇性地位翻轉選擇的位,以及校正子檢查單元對位翻轉的碼字執行校正子檢查操作。
在實施例中,位翻轉單元通過以降序排列累加矩陣的累加值來選擇預定數量的累加值。
在實施例中,位翻轉單元通過以降序排列累加矩陣的部分累加值來選擇預定數量的累加值,各自部分累加值具有在對應于最后碼字的最后校正子矩陣中的不滿足校正子檢查的相應校正子值。
在實施例中,位翻轉單元在奇偶校驗矩陣的行中選擇對應于選擇的累加值的一個或多個行,搜索在選擇的行中共同放置預定值的一個或多個位置,以及在最后碼字中選擇對應于搜索位置的一個或多個位。
在實施例中,位翻轉單元在最后碼字的位組中選擇分別對應于選擇的累加值的位組,并選擇包括在所有選擇的位組中的一個或多個位。
在實施例中,位翻轉單元對選擇的位的子集合的位翻轉進行迭代直到位翻轉的碼字通過校正子檢查操作。
附圖說明
圖1是說明根據實施例的錯誤校正電路的框圖。
圖2是說明圖1所示的校正子檢查單元的校正子檢查操作和累加單元的操作的簡圖。
圖3是說明圖1所示的位翻轉單元的操作的簡圖。
圖4是說明圖1所示的位翻轉單元的操作的簡圖。
圖5是說明圖1所示的位翻轉單元的操作的簡圖。
圖6是說明圖1的錯誤校正電路的操作方法的流程圖。
圖7是說明圖1的錯誤校正電路執行第二錯誤校正操作的方法的流程圖。
圖8是說明圖1的錯誤校正電路執行第二錯誤校正操作的方法的流程圖。
圖9是說明應用根據實施例的錯誤校正電路的數據存儲裝置的框圖。
圖10是說明應用圖9的數據存儲裝置的數據處理系統的框圖。
具體實施方式
在下文中,將通過本發明的示例性實施例參照附圖描述根據本發明的數據存儲裝置及其操作方法。然而,本發明可以不同的形式呈現且不應被解釋為限于本文所闡述的實施例。相反,提供這些實施例以詳細地描述本發明以達到在本發明所屬領域的技術人員能夠實施本發明的技術概念的程度。
將理解的是,本發明的實施例不限于附圖中所示的細節,附圖不一定按比例繪制,并且在一些情況下,可以夸大比例以便更清楚地描述本發明的某些特征。雖然使用了特定術語,但是將理解的是,所使用的術語僅用于描述特定實施例,并且不旨在限制本發明的范圍。
圖1是說明根據實施例的錯誤校正電路100的框圖。
錯誤校正電路100可執行第一錯誤校正操作和第二錯誤校正操作。當通過第一錯誤校正操作沒有校正所有錯誤位時,錯誤校正電路100可執行第二錯誤校正操作。在圖1中,由虛線表示的信息傳輸可與第一錯誤校正操作相關聯,由實線表示的信息傳輸可與第二錯誤校正操作相關聯。
詳細地,錯誤校正電路100可通過根據校正子檢查操作的結果將解碼操作迭代至閾值計數m來執行第一錯誤校正操作。錯誤校正電路100可將在第一錯誤校正操作中每當迭代解碼操作時計算的校正子矩陣s(i)累加至累加矩陣t(i)。錯誤校正電路100可通過基于累加矩陣t(m)選擇性地位翻轉來自當第一錯誤校正操作的迭代計數達到閾值計數m時最后生成的最后碼字c(m)的具有高可能性為錯誤位的位來執行第二錯誤校正操作。
錯誤校正電路100可包括校正子檢查單元110、解碼器120、累加單元130和位翻轉單元140。
校正子檢查單元110可通過基于奇偶校驗矩陣計算對應于碼字c(i)的校正子矩陣s(i)來執行校正子檢查操作。校正子檢查單元110可執行校正子檢查操作以確定碼字c(i)是否包括錯誤位。
解碼器120可根據校正子檢查單元110的校正子檢查操作的結果對碼字c(i)執行解碼操作。當對碼字c(i)執行解碼操作時獲得的碼字c(i+1)可被輸入至校正子檢查單元110,可通過校正子檢查單元110再次執行校正子檢查操作。解碼器120可根據對碼字c(i+1)的校正子檢查操作的結果,即碼字c(i+1)是否包括錯誤位來迭代對碼字c(i+1)的解碼操作。解碼器120可迭代解碼操作直到在執行解碼操作時獲得的碼字通過校正子檢查操作。此外,解碼器120可迭代解碼操作直到解碼操作的迭代計數達到閾值計數m。
累加單元130可將當迭代解碼操作時從校正子檢查單元110計算的校正子矩陣s(i)累加至累加矩陣t(i)。
目前為止描述的、其中校正子檢查單元110的校正子檢查操作和解碼器120的解碼操作被迭代的進程可被包括在第一錯誤校正操作中。如果直到解碼操作的迭代計數達到閾值計數m時沒有通過校正子檢查操作,則可結束第一錯誤校正操作,并且可開始下面將描述的第二錯誤校正操作。
首先,累加單元130可將累加矩陣t(m)傳輸至位翻轉單元140。累加矩陣t(m)可以是其中校正子矩陣s(i)被累加直到解碼操作的迭代計數達到閾值計數m的矩陣。
位翻轉單元140可基于累加矩陣t(m)對當解碼操作的迭代計數達到閾值計數m時通過解碼操作獲得的最后碼字c(m)執行位翻轉操作。位翻轉單元140可通過對最后碼字c(m)的位翻轉操作生成位翻轉的碼字cbf。位翻轉單元140可將位翻轉的碼字cbf傳輸至校正子檢查單元110。位翻轉單元140可通過選擇性地位翻轉最后碼字c(m)的位來迭代位翻轉操作直到位翻轉的碼字cbf通過校正子檢查操作。
詳細地,位翻轉單元140可從累加矩陣t(m)中選擇預定數量的累加值。位翻轉單元140可基于選擇的累加值在最后碼字c(m)中標記或選擇一個或多個位。位翻轉單元140可通過選擇性地位翻轉標記位而生成位翻轉的碼字cbf。位翻轉單元140可對標記位的子集合迭代位翻轉直到位翻轉的碼字cbf通過校正子檢查單元110的校正子檢查操作。
位翻轉單元140從累加矩陣t(m)選擇累加值的方法如下。例如,位翻轉單元140可通過以降序排列累加矩陣t(m)的累加值來選擇預定數量的累加值。根據實施例,位翻轉單元140可通過以降序排列累加矩陣t(m)的部分累加值來選擇預定數量的累加值,各自部分累加值可以是其在對應于最后碼字c(m)的最后校正子矩陣中的相應校正子值不滿足校正子檢查的累加值。
位翻轉單元140基于選擇的累加值標記最后碼字c(m)中的一個或多個位的方法如下。位翻轉單元140可在奇偶校驗矩陣的行中選擇與選擇的累加值對應的一個或多個行。位翻轉單元140可搜索在選擇的行中共同放置預定值“1”的一個或多個位置。位翻轉單元140可在最后碼字c(m)中標記對應于搜索位置的一個或多個位。
根據實施例,位翻轉單元140可在最后碼字c(m)的位組中選擇分別對應于選擇的累加值的位組,并且可標記共同包括在所有選擇的位組中的一個或多個位。最后碼字c(m)的位組可分別對應于與最后碼字c(m)相對應的最后校正子矩陣的校正子值。
根據實施例,解碼器120可根據對位翻轉的碼字cbf的校正子檢查操作的結果對位翻轉的碼字cbf執行解碼操作。解碼器120可以與執行第一錯誤校正操作的情況相同的方式將對位翻轉的碼字cbf的解碼操作迭代至預定計數。
校正子檢查單元110和解碼器120可基于迭代解碼方案的錯誤校正算法來操作。例如,校正子檢查單元110和解碼器120可基于低密度奇偶校驗(ldpc)算法來操作。然而,將注意的是,實施例不限于此。
綜上,錯誤校正電路100可通過在迭代解碼操作中生成的校正子矩陣s(i)的累加矩陣t(m)標記最后碼字c(m)中具有高可能性為錯誤位的位并且通過選擇性地位翻轉標記位而提供改善的錯誤校正能力。
圖2是說明圖1所示的校正子檢查單元110的校正子檢查操作以及圖1所示的累加單元130的操作的簡圖。
校正子檢查單元110可通過基于奇偶校驗矩陣h計算對應于碼字c(i)的校正子矩陣s(i)來執行校正子檢查操作。
詳細地,校正子檢查單元110可通過將奇偶校驗矩陣h和碼字c(i)的列向量相乘來計算校正子矩陣s(i)。奇偶校驗矩陣h的行可定義碼字c(i)的各自位組,并且位組可分別對應于校正子矩陣s(i)的校正子值s0至s4。即,可以使用奇偶校驗矩陣h的各自行使得生成對應于碼字c(i)中的各自位組的校正子值。例如,奇偶校驗矩陣h的第一行可定義由碼字c(i)的第一位c0、第四位c3、第五位c4和第六位c5構成的第一位組,并且可使用奇偶校驗矩陣h的第一行使得生成作為第一位組的校正子值的第一校正子值s0。
當碼字c(i)不包括錯誤位時,校正子矩陣s(i)可被計算為“0”矩陣。然而,當碼字c(i)包括錯誤位時,校正子矩陣s(i)可以不是“0”矩陣。因此,解碼器120可迭代解碼操作直到通過對碼字c(i)的校正子檢查操作,即,對應于碼字c(i)的校正子矩陣s(i)變為“0”。然而,解碼器120可不無限地迭代解碼操作并且可迭代解碼操作直到解碼操作的迭代計數達到閾值計數m。
當在第一錯誤校正操作中解碼操作被迭代至閾值計數m時,“m”個碼字c(i)可從解碼器120中生成,對應于生成的“m”個碼字c(i)的“m”個校正子矩陣也可被計算。“m”個校正子矩陣可被累加至累加矩陣t(i)。
綜上所述,累加矩陣t(i)的累加值t0到t4可以是當解碼操作被迭代至閾值計數m時碼字c(i)的位組不滿足校正子檢查的計數。因此,由于最后累加矩陣t(m)的累加值大,所以對應的位組可具有與錯誤位相關的高可能性。
圖3是說明圖1所示的位翻轉單元140的操作的簡圖。在下面的描述中,第一次錯誤校正操作中的解碼操作的閾值迭代計數m是“15”,然而,閾值迭代計數m不限于“15”,并且可以具有其它值。
參照圖3,其示出通過解碼器120獲得的最后碼字c(14),對應于最后碼字c(14)、未通過校正子檢查操作即不是“0”矩陣的最后校正子矩陣s(14)以及將針對最后校正子矩陣s(14)的校正子矩陣累加至其的累加矩陣t(14)。
首先,位翻轉單元140可通過以降序排列累加矩陣t(14)的累加值來選擇預定數量的累加值。例如,位翻轉單元140可在包括在累加矩陣t(14)中的5個累加值中選擇兩個最大累加值,即“12”和“10”。
位翻轉單元140可基于選擇的累加值標記最后碼字c(14)中具有高可能性為錯誤位的位。詳細地,位翻轉單元140可在奇偶校驗矩陣h的行中選擇對應于選擇的累加值的第一行和第二行。
在這方面,對應于選擇的第一行和第二行的第一位組和第二位組可具有與錯誤位相關的高可能性。因此,共同包括在第一位組和第二位組中的位可具有高可能性為錯誤位。
為了發現具有高可能性為錯誤位的位,位翻轉單元140可搜索在奇偶校驗矩陣h的第一行和第二行中共同放置“1”的位置。位翻轉單元140可標記對應于搜索位置的第一位c0和第六位c5,即最后碼字c(14)中的第一位置和第六位置。
位翻轉單元140可通過選擇性地位翻轉標記的位c0和c5而生成位翻轉的碼字cbf。位翻轉單元140可迭代對標記的位c0和c5的子集合{c0}、{c5}和{c0,c5}的位翻轉直到位翻轉的碼字cbf通過校正子檢查操作。在圖3中,由于針對其中標記的位c0和c5兩者都被位翻轉的碼字cbf(c0,c5)的校正子矩陣s被計算為“0”矩陣,所以可通過校正子檢查操作。
綜上,錯誤校正電路100可通過基于累加矩陣t(m)的第二錯誤校正操作有效地校正在第一錯誤校正操作中未被校正的錯誤位。
根據實施例,位翻轉單元140從累加矩陣t(m)選擇累加值的預定數量可以是“1”。即,位翻轉單元140可從累加矩陣t(m)僅選擇最大累加值。在這種情況下,位翻轉單元140可通過選擇性地位翻轉最后碼字c(m)中對應于選擇的最大累加值的位組的位來執行第二錯誤校正操作。例如,在圖3中,位翻轉單元140可迭代對在最后碼字c(14)中對應于最大累加值“12”的第一位c0、第四位c3、第五位c4和第六位c5的“24-1”個子集合的位翻轉。
圖4是說明圖1所示的位翻轉單元140的操作的簡圖。
根據實施例,位翻轉單元140可以在累加矩陣t(14)中選擇預定數量的累加值的方法中與圖3不同地操作。位翻轉單元140可確定在第二錯誤校正操作開始前一刻未滿足校正子檢查的位組可與錯誤位進一步相關。
參照圖4,位翻轉單元140可通過以降序排列累加矩陣t(14)的部分累加值選擇預定數量的累加值。例如,位翻轉單元140可選擇包括在累加矩陣t(14)中的3個部分累加值(諸如“12”、“3”和“8”)中的2個最大累加值(諸如“12”和“8”)。部分累加值“12”、“3”和“8”中的每個可具有在最后校正子矩陣s(14)中不滿足校正子檢查的對應校正子值(諸如“1”)。
位翻轉單元140可基于選擇的累加值選擇性地位翻轉最后碼字c(14)中具有高可能性為錯誤位的位。即,位翻轉單元140可基于選擇的累加值“12”和“8”選擇性地位翻轉最后碼字c(14)中的第一位c0和第五位c4。由于對此的操作方法與上述參照圖3的操作方法基本上類似,所以本文將省略其詳細的說明。
圖5是說明圖1所示的位翻轉單元140的操作的簡圖。
與以上參照圖3和圖4描述的方法不同,根據實施例,位翻轉單元140可記憶關于分別對應于奇偶校驗矩陣h的行的位組(例如包括在各自位組中的位)的信息。在這種情況下,位翻轉操作可通過比以上參照圖3和圖4描述的方法更簡單的方法來執行。
在當在累加矩陣t(m)中選擇第一累加值t0和第二累加值t1的情況下,位翻轉單元140可選擇對應于累加值t0和t1的第一位組和第二位組,并可立即標記共同包括在第一位組和第二位組中的位c0和c5。位翻轉單元140可對在最后碼字c(m)中標記的位c0和c5執行位翻轉操作。
圖6是說明圖1的錯誤校正電路100的操作方法的流程圖。
在步驟s10處,錯誤校正電路100可接收初始碼字。
在步驟s100處,錯誤校正電路100可對碼字執行第一錯誤校正操作。步驟s100可包括步驟s110至s150。
在步驟s110處,校正子檢查單元110可通過基于奇偶校驗矩陣計算對應于碼字的校正子矩陣來執行校正子檢查操作。
在步驟s120處,校正子檢查單元110可基于校正子矩陣確定碼字是否已經通過校正子檢查操作。當校正子矩陣為“0”時,校正子檢查單元110可確定碼字已經通過校正子檢查操作,并且進程可作為校正成功被結束。當校正子矩陣不為“0”時,校正子檢查單元110可確定碼字尚未通過校正子檢查操作,并且進程可繼續至步驟s130。
在步驟s130處,累加單元130可將校正子矩陣累加至累加矩陣。初始累加矩陣可以是“0”矩陣。
在步驟s140處,解碼器120可確定解碼操作的迭代計數是否已經達到閾值計數。當迭代計數尚未達到閾值計數時,進程可繼續至步驟s150。
在步驟s150處,解碼器120可對碼字執行解碼操作并且可增加迭代計數。然后,進程可繼續至步驟s110。
在步驟s110處,校正子檢查單元110可對當執行解碼操作時獲得的碼字執行校正子檢查操作。即,解碼器120可迭代解碼操作直到當解碼操作被執行時獲得的碼字通過校正子檢查操作或迭代計數達到閾值計數。
在步驟s140處,當迭代計數已經達到閾值計數時,進程可繼續至步驟s200。
在步驟s200處,錯誤校正電路100可基于累加矩陣對通過解碼操作獲得的最后碼字執行第二錯誤校正操作。下面將參照圖7和圖8詳細地描述用于執行第二錯誤校正操作的方法。
圖7是說明圖1的錯誤校正電路100執行第二錯誤校正操作的方法的流程圖。圖7所示的方法可對應于以上參照圖3和圖4描述的方法。
在步驟s210處,位翻轉單元140可從累加矩陣中選擇預定數量的累加值。例如,位翻轉單元140可通過以降序排列累加矩陣的累加值來選擇預定數量的累加值。根據實施例,位翻轉單元140可通過以降序排列累加矩陣的部分累加值來選擇預定數量的累加值,各自部分累加值可以是具有在對應于最后碼字的最后校正子矩陣中的不滿足校正子檢查的相應校正子值的累加值。
在步驟s220處,位翻轉單元140可在奇偶校驗矩陣的行中選擇對應于選擇的累加值的一個或多個行。
在步驟s230處,位翻轉單元140可搜索在選擇的行中共同放置“1”的一個或多個位置。
在步驟s240處,位翻轉單元140可標記或選擇最后碼字中對應于搜索位置的一個或多個位。
在步驟s250處,位翻轉單元140可選擇性地位翻轉最后碼字中的標記位。位翻轉單元140可位翻轉標記位的子集合。
在步驟s260處,校正子檢查單元110可對位翻轉的碼字執行校正子檢查操作。
在步驟s270處,校正子檢查單元110可基于對應于位翻轉的碼字的校正子矩陣確定位翻轉的碼字是否已經通過校正子檢查操作。當校正子矩陣為“0”時,校正子檢查單元110可確定位翻轉的碼字已經通過校正子檢查操作,并且進程可作為校正成功被結束。當校正子矩陣不為“0”時,校正子檢查單元110可確定位翻轉的碼字尚未通過校正子檢查操作,進程可繼續至步驟s280。
在步驟s280處,位翻轉單元140可確定標記位的所有子集合是否被位翻轉。當所有子集合被位翻轉時,進程可作為校正失敗被結束。當子集合沒有被全部位翻轉時,進程可繼續至步驟s250。
綜上,位翻轉單元140可迭代位翻轉操作直到位翻轉的碼字通過校正子檢查操作或者標記位的所有子集合都被位翻轉。
圖8是說明圖1的錯誤校正電路100執行第二錯誤校正操作的方法的流程圖。圖8所示的方法可對應于以上參照圖5描述的方法。
在圖8所示的進程中,步驟s310和s340至s370可分別與圖7的步驟s210和s250至s280基本上類似。因此,下面將描述與圖7的進程的主要區別。
在步驟s320處,位翻轉單元140可在最后碼字的位組中選擇分別對應于選擇的累加值的位組。最后碼字的位組可分別對應于與最后碼字對應的最后校正子矩陣的校正子值。
在步驟s330處,位翻轉單元140可標記共同包括在所有選擇的位組中的一個或多個位。
圖9是說明應用根據實施例的錯誤校正電路100的數據存儲裝置1000的框圖。
數據存儲裝置1000可被配置成響應于來自外部裝置的寫入請求存儲從外部裝置提供的數據。而且,數據存儲裝置1000可被配置成響應于來自外部裝置的讀取請求向外部裝置提供存儲的數據。
數據存儲裝置1000可通過個人計算機存儲卡國際協會(pcmcia)卡、標準閃存(cf)卡、智能媒體卡、記憶棒、各種多媒體卡(mmc、emmc、rs-mmc和微型-mmc)、各種安全數字卡(sd、迷你-sd和微型-sd)、通用閃速存儲器(ufs)、固態驅動器(ssd)等來配置。
數據存儲裝置1000可包括控制器1100以及存儲介質1200。
控制器1100可控制主機裝置1500和存儲介質1200之間的數據交換。控制器1100可包括處理器1110、隨機存取存儲器(ram)1120、只讀存儲器(rom)1130、錯誤校正碼(ecc)單元1140、主機接口1150和存儲介質接口1160。
處理器1110可以控制控制器1100的一般操作。處理器1110可根據來自主機裝置1500的數據處理請求將數據存儲在存儲介質1200中并且從存儲介質1200讀取存儲的數據。為了高效地管理存儲介質1200,處理器1110可控制數據存儲裝置1000的內部操作,諸如合并操作、磨損均衡操作等。
ram1120可存儲通過處理器1110使用的程序和程序數據。ram1120可在將從主機接口1150接收的數據傳送至存儲介質1200之前臨時地存儲從主機接口1150接收的數據,并可在將從存儲介質1200接收的數據傳送至主機裝置1500之前臨時地存儲從存儲介質1200接收的數據。
rom1130可存儲通過處理器1110讀取的程序代碼。程序代碼可包括待被處理器1110處理的命令,使得處理器1110可控制控制器1100的內部單元。
ecc單元1140可編碼存儲在存儲介質1200中的數據并可解碼從存儲介質1200中讀取的數據。ecc單元1140可根據ecc算法檢測并校正發生在數據中的錯誤。
ecc單元1140可包括圖1的錯誤校正電路100。ecc單元1140可通過根據校正子檢查操作的結果對從存儲介質1200讀取的碼字迭代解碼操作至閾值計數來執行第一錯誤校正操作。ecc單元1140可將當在第一錯誤校正操作中迭代解碼操作時計算的校正子矩陣累加至累加矩陣。當第一錯誤校正操作的迭代計數達到閾值計數m時,ecc單元1140可通過基于累加矩陣選擇性地位翻轉來自最后碼字的具有高可能性為錯誤位的位來執行第二錯誤校正操作。
主機接口1150可與主機裝置1500交換數據處理請求、數據等。
存儲介質接口1160可向存儲介質1200傳輸控制信號和數據。存儲介質接口1160可接收來自存儲介質1200的數據。存儲介質接口1160可通過多個通道ch0至chn與存儲介質1200聯接。
存儲介質1200可包括多個非易失性存儲器裝置nvm0至nvmn。多個非易失性存儲器裝置nvm0至nvmn中的每個可根據控制器1100的控制執行寫入操作和讀取操作。
非易失性存儲器裝置可包括諸如以下的閃速存儲器中的一個:nand閃存或nor閃存、鐵電隨機存取存儲器(feram)、相變隨機存取存儲器(pcram)、磁阻隨機存取存儲器(mram)、電阻式隨機存取存儲器(reram)等。
圖10是說明其中將圖9的數據存儲裝置1000應用為數據存儲裝置2300的數據處理系統2000的框圖。圖9的數據存儲裝置1000可被實現為圖10中的數據存儲裝置2300。
數據處理系統2000可包括計算機、筆記本電腦、上網本、智能電話、數字tv、數字照相機、導航儀等。數據處理系統2000可包括主處理器2100、主存儲器裝置2200、數據存儲裝置2300和輸入/輸出裝置2400。數據處理系統2000的內部單元可通過系統總線2500交換數據、控制信號等。
主處理器2100可控制數據處理系統2000的一般操作。主處理器2100可以是諸如微處理器的中央處理單元。主處理器2100可在主存儲器裝置2200上執行操作系統、應用、裝置驅動程序等的軟件。
主存儲器裝置2200可存儲被主處理器2100使用的程序和程序數據。主存儲器裝置2200可臨時地存儲被傳輸至數據存儲裝置2300和輸入/輸出裝置2400的數據。
數據存儲裝置2300可包括控制器2310和存儲介質2320。數據存儲裝置2300可以與圖9所示的數據存儲裝置1000基本上相似的方式被配置和操作。
輸入/輸出裝置2400可包括能夠與用戶交換數據,諸如從用戶接收用于控制數據處理系統2000的命令或向用戶提供處理結果的鍵盤、掃描儀、觸摸屏、屏幕監視器、打印機、鼠標等。
根據實施例,數據處理系統2000可通過諸如局域網(lan)、廣域網(wan)、無線網絡等的網絡2600與至少一個服務器2700通信。數據處理系統2000可包括訪問網絡2600的網絡接口(未示出)。
雖然上文已經描述了各種實施例,但是本領域技術人員將理解的是,所描述的實施例僅是示例。因此,本文所描述的數據存儲裝置及其操作方法不應基于所描述的實施例被限制。在不脫離如所附權利要求限定的本發明的精神和/或范圍的情況下,相關領域的技術人員可想到許多其它實施例和/或其變型。