TW201214439A - Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory - Google Patents

Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory Download PDF

Info

Publication number
TW201214439A
TW201214439A TW100119653A TW100119653A TW201214439A TW 201214439 A TW201214439 A TW 201214439A TW 100119653 A TW100119653 A TW 100119653A TW 100119653 A TW100119653 A TW 100119653A TW 201214439 A TW201214439 A TW 201214439A
Authority
TW
Taiwan
Prior art keywords
stream
code
data
configuration
bit
Prior art date
Application number
TW100119653A
Other languages
English (en)
Other versions
TWI493551B (zh
Inventor
Robert B Eisenhuth
Aken Stephen P Van
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201214439A publication Critical patent/TW201214439A/zh
Application granted granted Critical
Publication of TWI493551B publication Critical patent/TWI493551B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Read Only Memory (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

201214439 六、發明說明: 【發明所屬之技術領域】 本申請案大體而言係關於多位階資訊系統,且更特定而 言係關於與一多位階系統中之逐位元操作有關之一裝置及 方法。 【先前技術】 2009年3月13日提出申請且標題為「BITWISE OPERATIONS IN A MULTI-LEVEL SYSTEM」之美國專利申請案第 12/403,546號與2009年9月24曰公佈之美國專利申請公開案 第2009/0241006 A1號(在下文中稱為’546申請案)與本申請 案為共同所有且因此以全文引用之方式併入本文中。由於 該1546申請案提供申請人視為優先於隨後存在之技術狀態 之徹底優勢,因此申請人認為本申請案提供更進一步之優 勢。 相關技術之前述實例及與其相關之限制意欲係例示性而 非窮盡性的。在讀取該說明書及研究該等繪圖之後,熟習 此項技術者將顯而易見相關技術之其他限制。 【發明内容】 結合意在實例性及例示性而非限制範疇之系統、工具及 方法闡述並圖解說明以下實施例及其態樣。在各種實施例 中,已減少或消除上述問題中之一或多者,而其他實施例 係旨在其他改良。 大體而S ’ 一數位系、统組態有用於儲存數位資料之非揮 發性記憶體。在本發明之一個態樣中 形成該數位系統之 156482.doc 201214439 部分之一裝置及一相關聯方法係組態用於使用一裏德所羅 門(Reed Solomon)編碼器接收包含透過該數位系統提供之 輸入資料之一輸入資料串流,以產生由一系列裏德所羅門 符號組成之一經裏德所羅門編碼之串流。使用一壓縮配置 接收5亥經裏德所羅門編碼之串流以用於產生一經區塊重組 之輸出資料串流,以使得該經區塊重組之輸出資料串流之 至少一個部分但非全部經組態以服從基於一迴旋碼之一碼 效率。該經區塊重組之輸出資料串流經該壓縮配置修改, 以基於改變提供至該壓縮配置之一或多個輸入參數之—或 多個值而支援與該輸入串流中之預定數目個裏德所羅門符 號相關聯之迴旋碼之碼效率改變。使用一映射配置接收該 經區塊重組之輸出資料串流以應用一格狀編碼調變(丁c⑷ 碼來產生-經TCM編碼之輸出資料串流。根據該迴旋碼之 碼效率使用形成該映射配置之部分之一迴旋編碼器迴旋編 碼該經TCM編碼之輸出串流之部分,以基於該等輸入參數 之該等值支援碼效率之改變,以產生—經映射之輸出資料 串流供?丨導至該非料性記憶體㈣域存於該非揮發性 δ己憶體中作為所館存資料。卢 ^存貧科。在-項特徵t,將該經丁 C_ 碼::出貧料之部分迴旋編碼為透過壓縮配置與映射配置 作組成該經TCM編碼之輸㈣流之複數個KM符 號中之母一者之-最低有效位元。在另一特徵中,每一 丁CM符號係由複數個位 号厂〒母 - 4•丨 '、且成’且將該經TCM編碼之輸出 貧料之部分迴旋編碼為透 的合作組成。。尾縮配置與該映射配置之間 、w CM編碼之輸出串流之複數個TCM符號中 156482.doc 201214439 之每一者之至少一最低有效位元但少於所有位元。在再一 特徵中,基於讀取所儲存資料,使用一解映射配置資料自 該非揮發性記憶體接收一記憶體輸出串流,並基於提供至 該映射配置之該等輸入參數之值中之對應者根據該碼效率 將其迴旋解碼,以將該經TCM編碼之輸出資料串流重現為 一經解映射之輸出串流。使用一解壓縮配置接收該經解映 射之輸出串流以便以回應於基於提供至該壓縮配置之一或 多個輸入參數之值中之對應者而改變與預定數目個裏德所 羅門符號相關聯之迴旋碼之碼效率之一方式基於該碼效率 自該經解映射之輸出串流重現該經裏德所羅門編碼之串 流。使用一裏德所羅門解碼器自該解壓縮配置接收該經裏 德所羅門編碼之串流以自該經裏德所羅門編碼之串流解碼 包含輸入資料之一讀取資料串流以供該數位系統用作讀取 資料。 在本發明之另一態樣中,形成該數位系統之部分之一裝 置及一相關聯方法係組態用於使用一區塊碼編碼器接收包 含透過該數位系統提供之輸入資料之一輸入資料串流,以 產生由一系列區塊碼符號組成之一經區塊碼編碼之串流。 使用一壓縮配置接收該經區塊碼編碼之串流以用於產生一 經區塊重組之輸出資料串流,以使得該經區塊重組之輸出 資料串流之至少一個部分但非全部經組態以服從基於一迴 方疋碼之一碼效率。該經區塊重組之輸出資料串流經該壓縮 配置修改,以基於改變提供至該壓縮配置之一或多個輸入 參數之一或多個值而支援與該輸入串流中之預定數目個區 156482.doc 201214439 塊碼符號相關聯之迴旋碼之碼效率之改變。使用一映射配 置來接收該經區塊重組之輸出資料串流以應用一 TCM石馬來 產生一經TCM編碼之輸出資料串流。根據該迴旋瑪之碼效 率使用形成該映射配置之部分之一迴旋編碼器迴旋編碼該 經TCM編碼之輸出串流之部分,以基於該等輸入參數之古亥 等值支援碼效率之改變,以產生一經映射之輸出資料串流 供引導至該非揮發性記憶體之用於儲存於其中作為所儲存 資料。 在本發明之另一態樣中,形成該數位系統之部分之—裝 置及一相關聯方法係組態用於使用一壓縮配置接收一經裏 德所羅門編碼之串流,以產生一經區塊重組之輸出資料串 流,以使得該經區塊重組之輸出資料串流之至少一個部分 經組態以服從基於一迴旋碼之一碼效率。該壓縮配置及相 關聯方法經調適以用於基於作為準備將輸入資料儲存於非 揮發性記憶體中之一中間步驟而提供至壓縮配置之一或多 個輸入參數之既定值而使與該輸入串流中之預定數目個裏 德所羅門符號相關聯之該迴旋碼之碼效率改變。 在本發明之再一態樣中,形成該數位系統之部分之一 置及一相關聯方法係組態用於使用包含用於儲存數位資 之複數個記憶體胞之一非揮發性記憶體。形成該裝置之 为之-壓縮配置及一相關聯方法經組態以用於接收由該 統提供之一輸入資料串流以用於產生一輸出資料串流( 係基於針對該等記憶體胞中之儲存之一區塊大小),且 擇性地可基於一或多個輸入參數而以一第一模式操作以 156482.doc
S 201214439 生針對該等記憶體胞令之儲存之一第一區塊大小,且可至 少回應於該等輸入參數之一改變而以一第二模式操作以產 生不同於該第-區塊大小之一第二區塊大小用於在其操作 期間選擇性地改變區塊大小。 在本發明之再一態樣中,形成該數位系統之部分之一裝 置及一相關聯方法係组態用於使用包含用於儲存數位資料 之複數個記憶體胞以使得該等記憶體财之至少$些可儲 子個以上位元之一非揮發性記憶體。形成該裝置之部分 之一編碼器配置及-相關聯方法經組態以接收由該系統提 供之-輸入資料串流以用於產生一輸出資料串流(其係基 於針對該等記憶體胞中之儲存之每胞編碼之-選定位元數 目)。,且選擇性地可基於—或多個輸人參數而以—第一模 式“作以產生針對該等記憶體胞中之儲存之一第一位元密 度作為母胞該選定位元齡 Η S I nte 心诅兀數目,且至少回應於該等輸入參數 之一改變而[第二模式操作以產生不同於該第一位元密 度之第一位兀密度用於在其操作期間選擇性地改變每胞 編碼之位元數目。 在本發明之再—態樣t,形成該數位系統之部分之一裝 置及—相關聯方法係組態用於使用包含用於儲存數位資料 之複數個記憶體胞以使得該等記憶體胞中之至少某些可儲 存一個以上位元之—韭 非揮發性記憶體。形成該裝置之部分 之一編碼器配置及—知_ 相關聯方法經組態以接收由該系統提 3 —系列輸入符號之—輸入資料串流以用於產生一輸出 串流(其係基於針對該等記憶體胞中之健存之每胞編 156482.doc 201214439 碼之一選定位元數目)且可基於一或多個輸入參數來重組 態以至少改變欲儲存於該非揮發性記憶體之記憶體胞中之 每胞編碼之該選定位元數目。 在本發明之一延續態樣中,形成該數位系統之部分之一 裝置及一相關聯方法係組態用於使用包含用於儲存數位資 料之複數個記憶體胞以使得該等記憶體胞中之至少某些可 儲存一個以上位元之一非揮發性記憶體。形成該裝置之部 勿之一解碼器配置及一相關聯方法經組態以用於接收回應 於讀取儲存於該非揮發性記憶體中之一資料結構而提供之 一璜取育料串流以提供含有一使用者資料串流之一系列讀 取符说’該使用者資料_流係在―寫人操作期間被原始編 碼為a玄資料結構之部分並儲存於一系列該等記憶體胞中用 於基於儲存於該系列記憶體胞中之若干個每胞編碼之不同 位70役度中之—選^ —者而重現該使用者資料_流。作為 重現該使用者資料串流之部分,輯碼H配置及相關聯方 法可基於一或多個輸入參數重組態以改變該等位元密度中 之至少選定—者來匹配儲存於料m㈣胞中之該等 位元密度。 / 在本發明之另-態樣中,形成該數位系統之部分之一裝 置及相關聯方法係組態用於使用包含用於儲存數位資料 之複數個記憶體胞以使得該等記憶體胞中之至少某些可儲 存一個以上位元之一非揮發性記憶體。形成該裝置之部分 之解映射配置及一相關聯方法係组態以用於基於自該非 揮發性記憶體讀取所儲存資料而接收_記憶體輸出串:, 156482.doc 201214439 ::ΓΓ輸出•流係呈一經TCM編碼之輪出資料•流 碼操作期間使該經TCM—❹ 分但非全部服從藉由-組參數之既定值建立之 碼效率,且用於基於在 既它估* Λ間挺供之輪入參數之 既疋值中之對應者而基於 之輸出資料串流,以_TC=:,TCM編碼 =解映射之輸出串流,該經解映射之輪出丄2 二=門編碼之串流一解麼縮配置及相關聯方法係 庙心用於接《解映射器輸出串流,及基於該碼效率並回 :於基於在該編碼操作期間提供之一或多個輸入參數之既 疋值十之對應者而改變輿箱 f文變與預疋數目個裏德所羅門符號相關 旋碼之碼效率而自該解映射器輸出串流重現經裏德 碼之率流。一襄德所羅門解碼器及相關聯方法係 4用於自該解壓縮配置接收經裏德所羅門編碼之串流以 :U德所羅門編碼之串流解碼包含輸入資料之一讀取 資料串流以供由該數位系統用作讀取資料。 在本發明之另-態樣中,形成該數位系統之部分之一裝 :及-相關聯方法係組態用於使用包含用於回應於一主機 °。件儲存數位資料之複數個記憶體胞之—非揮發性記憶 體形成》亥裝置之部分之一編碼器/解碼器配置及_相關 聯方法經組態以介接該主機裝置與該非揮發性記憶體,用 於以-系列瑪字在其間傳送讀取資料及寫入資料,其中每 馬子具有〶字大小以使得自該主機器件流動至該非揮 發性記憶體之-經編碼資料流及自該非揮發性記憶體至該 I56482.doc 201214439 幾器件之,經解碼資料流各自至少服從基於一迴旋瑪之 ;碼效率’且該編碼器/解碼器配置係組態用於接收-或 輸入參數’以使知可逐屬字地回應於該等輸入參數之 -改變而改變該碼效率。在—項特徵中,每一碼字係由組 成-碼字長度之複數個符號紐成,其中每—符號表示欲儲 存於該等記憶體胞中之_者中之—值,且結合相關聯方法 之該編碼器/解碼器配置係組態用於以—第—模式操作以 在一既定系列之碼字中之—第—碼字中產生—第一碼效 率’及用於以-第二模式操作以在該既定系列之碼字中之 第二碼字中產生一第二碼效率。 在本發明之再一態樣令’在組態有用於儲存數位資料之 非揮發性記憶體之—數钮备 數位“巾,將-資料結構儲存於該 非揮發性記憶體中。該資料結構包含錯存於該非揮發性纪 憶體中Γ系列而符號,其每-者表示至少兩個位元, 至少使母-TCM符號之最低有效位元服從—迴旋碼且每一 符號之至少一個其他位元未經迴旋編碼,且該等TCM符號 組成形成U碼字之-“彳裏德所羅門符號 υ 資料結構中之至少一個碼字—-妈效率不同:: 資料結構中之一晚鄰碼字之碼效率。 在本發明之再-態樣中,闡述—種用於與一 起使用之方法’該數位系統組態有用於將數位資料針— 該非揮發性記憶體中之-資料結構中之非揮發性i 該方法包含將-系列職符號寫人至該非揮發性記,=。 該等觀符號中之每—者表示至少兩個位元,至少^ •10· 156482.doc
201214439 TCM符號之最低有效位元服從一迴旋碼且每一符號之至少 個其他位元未經迴旋編碼,且該等TCM符號組成形成一 系列碼字之一系列裏德所羅門符號以使得該資料結構中之 至夕個碼予之迴旋碼之—碼效率不同於該資料結構中之 —®比鄰碼字之碼效率。 在本發明之一延續態樣中,在組態有用於儲存數位資料 ,非揮發性記憶體之—數位系統中,將—資料結構儲存於 及非揮發性記憶體中。該f料結構包含—系列τ⑽符號, 二諸存於4非揮發性⑦憶體巾形成該非揮發性記憶體之部 刀之一系列記憶體胞中,其中每一 TCM符號包含至少一個 位^0且組成先Μ寫人至該非揮發性記憶體之—資料傳送, 以使得該系列記憶體胞至少平均地儲存每胞分率數目個位 元以表示該資料傳送。 本發月之it步態樣中,闡述一種用於與組態有用 於錯存數位f料之非揮純記Μ之-數㈣統-起使用 之方法。該方法包含將-系㈣轉號作為—資料傳送寫 入至該非揮發性記憶體在形成該非揮發性記憶體之部分之 一系列記憶體胞中,其中每__TCM符號包含至少—個位元 :使得:該系列記憶體胞至少平均地儲存每胞分率數目個 :以表不姻傳送。在一項特徵中,豸資料傳送包含 :者資料且該方法進-步包含基於每胞該分率數目個位 :者=揮發性記憶體讀取該系列之咖符號以復原該使 在本發明之另一態樣中 裴置形成組態有用於儲存數 156482.doc 201214439 伯:資料之非揮發性記憶體之一數位系統之部分。該裝置包 含用於在一資料傳送操作中將一資料結構寫入至該非揮發 性記憶體作為形成該非揮發性記憶體之部分之一系列記憶 體胞中之一系列TCM符號之一寫入配置,其中每一 TCM符 號包含至少一個位元且該資料結構包含使用者資料以使得 由該系列之記憶體胞至少平均地儲存每胞分率數目個位 元。在一項特徵中’一讀取配置經組態以用於基於每胞該 分率數目個位元而自該非揮發性記憶體讀取該系列TCM符 號以復原該使用者資料。 除上述實例性態樣及實施例外,藉由參照繪圖及藉由研 究以下詳細闡述將更明瞭進一步之態樣及實施例。 【實施方式】 下述說明係提供用於使熟習此項技術者能夠製作及使用 本發明’且係以一專利申請案及其要求為上下文來提供。 熟習此項技術者將易於瞭解對所述實施例之各種修改,且 本文教示之大體原理可適用於其他實施例。因此,本發明 並不意欲限制至所展示之實施例,而是欲使本文所述之包 含修改及等效物之原理及特徵與最寬廣之範疇相一致,如 在隨附申請專利範圍之範疇内所界定。應注意,該等繪圖 並非按比例繪示,且本質上係以最佳地圖解說明所關注特 徵之方式概略。可參照該等圖表中提供之各種視圖出於加 強讀者理解之目的採用描述性術語,且該等描述性術語絕 不意欲限制。 本發明提供申請人相對於資料儲存及擷取系統基於非揮 -12- 156482.doc
S 201214439 發性記憶體之效能視為顯著之改良。本發明係關於如(舉 例而言)在上文併入之,546申請案t所述之一多位元編: 系統,其中兩個單獨位元群組係與形成一系列(舉例而古) 格狀編碼調變(TCM)符號中之每一者之不同部分之兩個°單 獨位元群組一起編碼。可稱為每— TCM符號之lsb之一個 位元群組至少包含最低有效位元,且可包含具有相繼增大 之有效性之額外位元,但並非TCM符號之所有位元。可稱 為MSB之另-位元群組包含除外之TCM符號之所有剩 餘位元,且可包含最高有效位元及可包含具有相繼減小有 效性之額外位元但並非TCM符號之所有位元。在一項實施 例中,針對每胞編碼3個位元存在兩個MSB。在另一實施 例中,針對每胞編碼4個位元存在三個MSB。熟習此項技 術者在獲知此總的揭示内容之情況下易於組態其他實施 例。 根據本發明之效能裨益包含針對既定量之非揮發性記憶 體增加之儲存容量,以及已應用本文所揭示之教示之資料 儲存系統之可靠性及壽命有關之增強。使用(舉例而 。)nand快閃記憶體之先前技術系統要求包含一機構以校 正在記憶體器件中自然出現之錯誤。本發明提供相對於採 用非揮發性記憶體之先前技術系統引起一效能增益之一強 大的錯誤偵測及校正機制。申請人認識到,此等記憶體器 件中之錯誤率可量化為可作為統計量,其可依據器件技術 以及藉由環境及使用統計針對特定記憶體器件而預測。知 曉此等錯誤率及其隨一記憶體器件之壽命而改變之方式可 156482.doc •13· 201214439 用:建構為每-記憶體器件提供最佳效能之錯誤偵測及校 / Ί jt外’申5t人認識到’可^計—種通用錯誤校正 糸統,其:經參數化以藉助各種特定記憶體器件中之每一 2最佳地刼作且藉助每—記憶體器件在彼記憶體器件之 命期間操作。 一本發月利用涉及代數錯誤校正及格狀編碼調變(TCM)之 、、且口的編碼及解碼方法以藉助應用程式將資料儲存至非 2發性記憶體器件及自非揮發性記憶體器件榻取。在一項 一幻中由具有對—主機電腦、編碼及解碼通道及資訊 儲存媒體的連接之資料儲存系統利用所述編碼及解碼技 =„亥儲存媒體係以_或多個非揮發性記憶體器件之形式 提供’該-或多個非揮發性記憶體器件可符合能夠進行資 :、非揮舍j•生保留之任一適合技術。今曰之可自本文所述 、技術又血之資料儲存系統可使用nand快閃作為儲存 媒體但此先進技術相對於基於當前可用或尚待開發之任 =他適合形式之非揮發性記憶體之器件亦同等地適用。 此等其他形式之非揮發性部件可實現類似於藉助Μ仙快 閃可見之彼等裨益之裨益。 、 ,文可使用之非揮發性記憶體器件係、基於胞之器件,其 中:;胞能夠儲存—單元之資訊。此單元可儲存一單個位 元或夕個位兀。一個位元在一非揮發性記憶體胞中之儲存 要求一資料儲存系統在該胞中之兩個可能狀態之間可靠地 轉變。更多位元之儲存要求額外狀態及在該等狀態之間解 析之旎力。在一胞中之資料量根據所感測電壓而轉變之情 156482.doc 201214439 況下,舉例而言,每胞儲存2個位元要求在四個相異電壓 之間轉變;每胞3個位元之儲存要求在八個相異電壓之間 轉變,且依此類推。提議先前技術系統僅在使用具有極高 可靠性及相對於所儲存之位元數目之轉變能力之記憶體: 在快閃記憶體中儲存兩個以上位元。換言之,先前技術已 採取嘗試消除任何錯誤之可能性以使得幾乎完全消除對校 正之任何需要之方法。然而,申請人已認識到,諸如(舉 例而言)NAND快閃器件之非揮發性器件係有缺陷之器件。 因此,在使用此等器件時難以使每胞多個電壓一貫地轉變 至使得本發明附帶之裨益係顯著的之程度。應瞭解,在每 胞之此多«壓之間轉變之能力與電壓及正轉變之位階之 數目成反比》本發明使得在先前技術系統中將不能可靠地 儲存及擷取每胞多個位元之記憶體裝置能_存每胞相同 數目個位7G。t請人關到’代數編碼及Tcm編碼之一組 合之應用涵蓋:針對每胞多個位元之儲存,在一既定胞中 具有較低有效性之位元比彼同„_胞中具有較高有效性之位 元更可能出現錯誤。本發明提供儲存每胞4個位元之一系 統之-實例性說明。然而,此說明不意欲作為限制。舉例 而言,藉由使參數發生變化,該等相同教示仍可應用於儲 存少達每胞3個位元或多於每胞4個位元。 現轉至該等圖表,其中相同元件符號可係指相同組件, 首先關注圖1,其係通常由元件符號10指示之一系統之一 方塊圖,m统組件提供用於每胞儲存多個位元及資料 擷m统ίο中,-主機電腦12使用組成_非揮發性記 156482.doc •15· 201214439 憶體14之儲存胞儲存及擷取資料。讀取及寫入係分別由一 編碼區段2〇及一解碼區段22啟用,該等區段可靠地將資料 自主機運送至非揮發性記憶體及自記憶體運送至主機。主 機以使得可在資料返回至主機之前藉由解碼過程識別在主 機讀取該資料時出現之位元錯誤並自該資料移除彼等位元 錯誤之一方式執行資料至記憶體内之儲存。 仍參照圖1 ’非揮發性記憶體14可由一或多個個別記憶 體器件組成,|亥等記憶體器件中之每一者可由可交替地稱 為一編碼咨之編碼區段20或可交替地稱為一解碼器之解碼 區段22存取。該非揮發性記憶體之器件技術可係能夠儲存 每胞一個以上位元之任一非揮發性媒體。νανι>^閃將係 典型的’但任-非揮發性技術亦將同等地應用如上文論 述。 主機12可係將3冑取及寫人命令發佈至資料儲存及擁取系 、·先之任σ裝置。其在正常情況下係__處理器,且 一電腦系統之部分,但亦可係—嵌人式系統之部分。編碼 器2 〇在自主機i 2至記憶體i 4之f料傳送過程期間進行操 作。編碼n之功能仙使得可在主機請求自記憶體14讀取 該主機時❹i及校正錯誤之—方式對主機提交之資料執行 一變換。解碼器22在自記憶體14至主機12之資料傳送過程 期間操作。該解碼器之功能係對以由該記憶體儲存該資料 之形式自記憶體擷取之資料執行—變換並將該資料轉換成 主機將其原始地提交至編碼器之形式。儲存於記憶體14中 之貧料之形式包含使得解碼器叫貞測及校正由於記憶體14 156482.doc 201214439 缺陷而出現的資料中之位元錯誤。 根據本發明產生之實施例可應用於編碼器、解碼器及 揮發性記恃體音 一,, 隐體之實轭,以及應用於其中主機藉由將導致 ‘ 貢=之傳送以儲存於記憶體中之命令及儲存於記憶體中 、 《貝料之傳送之彼結果發送至主機來引導操作之_系統環 境。 現在關注圖2,其概略地圖解說明通常由元件符號1〇〇指 不且根據本發明可儲存於非揮發性記憶體14(圖i)中之—資 料結構之—項實施例m言,圖2圖解說明指定為RS1 至RS13之複數個裏德所羅門(RS)符號,針對每胞*個位元 之密度及針對一特定削減(puncture)型樣將該等Rs符號分 配至一 TCM符f虎串流上,如下文將闡述。應瞭解,一裏德 所羅門碼係一種形式之一區塊碼。就此而言,可利用任一 適合形式之區塊碼,諸如(舉例而言)一逐位元BCH碼。在 獲知此總的揭示内容之情況下,熟習此項技術者可易於基 於諸如一逐位元BCH碼之一區塊碼實施其他系統、技術及 資料結構。該等TCM符號中之某些係個別地指定為(舉例 而言)TCM1、TCM2、TCM3 及 TCM15。每一TCM符號之位 元有效性係指定為b〇至b3 ’其中b〇係最低有效位元。在資 、 料傳送之一初始部分102中’襄德所羅門符號RS1、尺87及 RS 12(僅部分地展示)係排他地由自相關聯TCM符號獲取之 最低有效位元b〇組成。RS2至RS6、RS8至RSI 1及RS13(僅 部分地展示)係由MSB位元比至1)3組成。該資料結構係圖解 說明為具有初始部分102及一終止部分1〇4。TCM符號 156482.doc -17- 201214439 CM至TCM32組成該結構之初始部分1〇2,&含咖至 RSi3之所圖解說明部分。該資料結構之終止部 一 RS符號群組以,以RS(N)結束且具有—職符銳 TCM(N),如將進一步闡述。應瞭解’圖2之資料結構對應 =儲存於該非揮發性記憶體中之—特^但實例性結構。儘 官LSB之數目可大於1,但圖2圖解說明其中三個MSB(bj b3)與自每—4位元TCM符號獲取之-個LSB(b0)配對之」實 施例。如將看出,LSB位置中之「χ」符號以及lsb位置中 之非「x J符號表示在將該資料結構實際儲存於記憶體中 之則藉由迴$疋編碼而產生之碼位元。就此而言,在「X 位元位置中攜載之資料可稱為外加碼位元(extra code bit)。應注意,儘管本發明及隨附申請專利範圍可將記憶 體指定為儲存TCM符號,但應瞭解,實際上所儲存的係可 視為表示一 TCM符號之一記憶體目標或目標位階之一位 階。 繼續參照圖2,將N個RS符號[RSI、RS2、...、RS(N-1)、RS(N)]之串流壓縮於4位元TCM符號之一串流上。術 語「壓縮」係指將位元自一個符號格式重新編組成另一符 號格式。於此情形下,將包括(舉例而言)每符號丨〇個位元 之一 RS符號串流「壓縮」至一 4位元TCM符號争流上係自 第一TCM符號之LSB之第一RS符號擷取一個位元及自第一 TCM符號之MSB之第二RS符號擷取三個位元之一過程。該 第二TCM符號係由來自第二TCM符號之LSB之第一 RS符號 之一額外位元及來自第二TCM符號之MSB之第二RS符號之 I564S2.doc -18- 201214439 三個額外位元建構。為接收第一RS符號之所有10個位元, 創建15個TCM符號。在本實施例中,與此15個TCM符號相 關聯之LSB中之5個將係迴旋外加碼位元之X預留位置,而 該等LSB之10個係組成第一 rS符號之實際資料位元。應注 意,RS6超出RS1之末端。一旦一當前RS MSB符號超出一 完整LSB RS符號之末端,則下一RS符號係專用作一LSB RS符號。當在圖2中創建前30個TCM符號時,以RS2至 RS5、RSI、RS6、RS8至RS11及RS7之次序完成該等RS符 號,其中RS7及RS11係在創建TCM 30時同時完成。由於前 30個TCM符號之創建表示一完整壓縮型樣,因此以類似方 式建構額外TCM符號,根據需要自後續RS符號獲取位元直 至已將所有RS符號轉換成TCM符號。只要存在源符號(亦 即,RS符號)該壓縮過程就繼續。在由於來自rs符號串流 之所有位元已被用完而使得最後一 4位元TCM符號要求額 外位元來完成之情況下,則插入額外填充位元以填滿最後 一 4位元符號》該圖展示將該n個符號放置於該4位元串流 上之方式。每一4位元符號係由一經垂直陣列之四位元片 表示’如所展示。每一 RS符號之位元出於編碼目的在tcm 付號串流上之配置次序可係任一便利次序,只要一解碼器 可在一合作解碼功能期間完全地重建該符號之原始位元序 列。該 TCM輸出串流係序列[丁(:1^1、丁0^2、...、丁(:^〇^-1)、TCM(N’)]。應注意’長度為N之TS符號之一輸入串流 產生具有N個符號之一 TCM串流。N與Ν’之間的關係使得 針對可藉由非限制性實例包含位元密度、RS資料長度、 156482.doc -19· 201214439 RS奇偶長度、欲採用之一迴旋多項式及欲採用之一削減多 項式之一組既定參數,N之一特定值產生Ν’之一特定值, 以使得已知Ν會實現Ν'之判定。因此,相對於輸出位元數 目對輸入位元數目,RS至TCM變換係精確的。 應瞭解,一輸入串流中之第一 RS符號可合理地分配至 MSB或至LSB。只要一合作解碼功能能夠完全地重建該序 列,LSB或MSB之間的選擇就是任意的。在本實施例中, 基於在編碼操作期間比MSB符號更慢地消耗LSB符號而總 是將一串流中之第一 RS符號分配至該結構之LSB側。接續 該初始RS符號,由該特定實施例判定RS符號使用之序 列。在該圖中展示之組態下,將第一 RS符號(RS1)選擇為 一 LSB符號,且然後將第二RS符號(RS2)選擇為一 MSB符 號。基於使用率將後續RS符號分配至MSB或LSB。在圖2 中,在將第一RS符號(RS1)放置為LSB之後將五個RS符號 (RS2至RS6)分配至MSB。在將RS6分配至MSB使用之後, 將RS7分配為一第二LSB符號。該圖中第一 LSB符號與第二 LSB符號之間的邊界係TCM符號TCM15與TCM16之間的邊 界。該分配序列以此方式進行,直至已使用等於一 RS資料 長度(其中RS資料長度係組成完整輸入資料串流之RS符號 之數目)之若干符號。如將看出,根.據本發明產生之一系 統經組態以監測傳入RS資料串流並在LSB與MSB之間適當 地分配該等傳入RS符號。 應注意,在圖2中,用於填充MSB之每一 RS符號係由10 個方形組成,其中每一方形表示一位元(使用在每一 RS符
156482.doc -20- S 201214439 號内部之虛線分離)。在此符號之所提及組態下,此等位 兀對應於該RS符號長度之10個位元。然而,在LSB位置 中’繪示15個位元方形(替代10)。該擴充係藉由以尚待闡 述之-方式迴旋編碼該LSB位元串流而創建且已被添加至 LSB RS符號之額外或外加碼位元之結果。在圖2中,包含 一「X」之位70框指示外加碼位元。在本實施例中每一 LSB RS符號包含五個外加碼位元。該外加碼位元之特定值 係基於非預留位置位元之值(亦即,組成每一 lsb rs符號 之原始位元)。應注意,最初藉由將X指示項作為預留位置 (稍後由忒外加碼位元取代)插入而在LSB之迴旋編碼之前 產生圖2之資料結構。每一 RS LSB符號中之哪些位元係預 留位置及插入多少預留位置係界定該組態之系統參數之功 能;就此而言,最重要的參數係削減多項式,其指定被忽 略之某些位元及在迴旋編碼之後包含哪些額外或外加碼位 元,如將進一步闡述。然而,目前足以瞭解,要求LSB串 流中之圖2之資料結構容納比僅由饋送至LSB串流内之相 關聯RS符號所含有之位元數目更多之位元。 在具有L疋為一 RS碼字長度之一任意長度之一傳入rs 符號串流末端’可必需插入額外位元以便在僅使用所提交 RS碼字中之精確數目個RS符號時自一 tCm編碼及解碼立 場達成該序列之閉合《對此閉合存在兩個態樣,如將隨即 在下文中闡述。 於一第一態樣中,完成該資料結構要求在TCM符號 TCM(N )中之TCM符號串流末端添加兩個位元b丨及b2以彌 156482.doc -21 - 201214439 補最後的RS符號[RS(N)]僅填充於最後一 TCM符號之位元 b3中之事實。另一情況可係其中LSB位置中之最後一 RS符 號缺乏由最後一 MSB RS符號[RS(N)]之最後若干位元劃分 之邊界之一情況。於此情形下’可將額外位元填充於最後 一 LSB RS符號之末端外的LSB位置中以便為終止TCM符號 提供LSB位元。 在根據本實施例之一第二態樣中,LSB串流以一組連續 〇結束,該等0之數目等於該迴旋編碼器之一約束長度反或 超出比該約束長度K小1。在圖2之實施例中,可由於與最 後一 LSB符號中之若干最後預留位置混雜之五個最後〇而 給出該約束長度為6。當在編碼期間提供此等連續〇時, 其在解碼時提供一已知且無歧義終止序列,以使得避免在 解碼功能期間出現之相關聯錯誤。為此,圖2展示以 TCM(N,)結束之LSB之最後五個資料位元係〇。就此而言, 由於本實施例中要求最後K-丨個位元為〇而假設約束長度 K-6。應注意,該五個〇位元係連續的,意指其係連續資料 位7L。然而,此等連續資料或碼位元可藉由外加碼位元間 隔開’其每-者係使用一 X指定,乃因該等外加碼位元係 藉由回應於預編碼資料位元之迴旋編碼過程建立之額外位 :旨示之一迴旋編碼器
輸入位元產生兩個輸出位元; 圖3係圖解說明通常由元件符號3〇〇才丨 之—項 器之輸 充之一迴旋編碼器針 ;於此情形下,碼速率 對每一 I56482.doc
S •22- 201214439 二’乃因該碼速率之_個定義係針對每—輸出(經編 q位兀之輸入位元(未經編碼位元)之數目。期望相對於輸 2位兀之數目減少由一編碼器產生之輸出位元之數目以使 得碼速率増加。出於此目的,應用削減:此意味著自編石馬 器之輸出位元串流移除某些輸出位元以使得輸入位元對輪 出:兀之比率增加。此提高編碼器之效率,且在其可在無 過量位元校正效能損失之情況下實現之情況下,效率增I 可係一期望折衷。 3農 一圖3之編碼器300係一可程式化單位元迴旋編碼器之一項 實施例。該編碼器接收一循序輸入資料串流3〇2(由一波形 指示)作為根據-系列時間遞增量t提供之單位元輸入之_ 循序進展。此編瑪H可針對具有多達移位暫存器元件之數 目加1之一約束長度的任—迴旋碼來程式化。針對—既定 約束長度,該編碼器可容納任何迴旋多項式係數及削減多 項式係數。 一移位暫存器304(在-虛線内展示)在-#前時間遞增 =束時藉助-當前資料位元輸人更新,同時根據時間遞增 罝t以-習知方式移位先前儲存之資料位元。在該移位暫 存器更新之後,在對移位暫存器之輸人處提供該序列中之 下一資料輸入。該移位暫存器係由K-1個單位元寬之儲存 元件組成’其中K係迴旋編碼器之約束長度。將當前輸入 狀態指定為Dt(〇),而將該等移位暫存器元件指定為 Dt(l)、…以表示順序接收次序。該^ 個暫存器位元與當前輸入資料位元一起用於自編碼器產生 156482.doc •23· 201214439 下一輸出。 如所展示,指定為〇3(11)至(:13(〇)之所儲存位元表示兩 個迴旋多項式中之一第一者。如所展示,組合當前輸入資 料位兀Dt(0)與移位暫存器3〇4内容以針對每一輸入位元產 生兩個輸出值中之一者。應瞭解,圖3概述以使得表示係 數Cb(K-l)至Cb(0)之任一位元組合可被程式化為第一迴旋 多項式之一方式使用該迴旋多項式。將第一迴旋多項式之 母一位几提供至一對應「與」(AND)閘32〇以使得將一值丄 提供至「與」閘之一既定者致使彼「與」$將可係當前位 元Dt(〇)或每一延遲位元Dt(D至Dt(K-l)之一相關聯輸入資 料位70傳遞至一「互斥或」(X〇R)322。「互斥或」322之 —輸出324對應於該兩個輸出值中之一第一者。相反地, 在λ等與」閘之该既定者接收一 〇位元作為該迴旋多項 弋之4刀之凊况下,該對應輸入資料位元(當前或經延遲) 將不利於&「互斥或」322判定-輸出位元ϋ實施 例中’可將Cb(K-l)至Cb(0)儲存於一暫存器中。可在操作 »亥坦紅編碼@之前將此等暫存器值作為—總组態之部分寫 入。「互斥或」322組合來自邏輯「與」功能32〇之輸出。 而且,由邏輯「互斥或」功能322產生之值係針對每一 _)由迴旋編码器產生之兩個經編碼位元中之一者。是否 : /寻位元插入至輸出資料串流(Eoutb)中相依於該位元 疋由尚待闡述之_削減功能啟用還是禁止。 _類^地’如所展示,標記為Ca(K-l)至Ca(0)之所儲存位 ^表不第二迴旋多項式。如第一迴旋多項式之情形,表示 I56482.doc
S •24- 201214439 係數Ca(K-l)至Ca(〇)之任一位元組合可被程式化為第二迴 旋多項式。將該第二迴旋多項式之每一位元提供至一對應 「與」閘330以使得將一值】提供至「與」閘之—既定者致 使彼「與」閘將可係當前位元Dt(0)或每一延遲位元1^(1) 至Dt(K-l)之一相關聯輸入資料位元傳遞至一「互斥或」 332 » 「互斥或」332之一輸出334對應於該兩個輸出值之 一第二者。相反地,在「與」閘33〇之既定者接收一 〇位元 作為迴旋多項式之部分之情況下,對應輸入資料位元(當 前或經延遲)將不利於由「互斥或」332判定一輸出位元。 在一項實施例中,可將至Ca(〇)儲存於一暫存器 中。可在操作該迴旋編碼器之前將此等暫存器值作為一總 組態之部分寫入。當前輸入資料位元Dt(0)及移位暫存器 304内容與此等值(如所展示)組合在一起以針對每一輸入位 元Dt(0)使用「與」閘33〇及「互斥或」332產生第二輸出 值。「互斥或」332組合來自邏輯「與」功能33〇之該等輸 出。而且,由邏輯「互斥或」功能332產生之值係針對每 一 Dt(0)由迴旋編碼器產生之兩個經編碼位元中之第二者。 是否將此所得位元插入至輸出資料串流(E〇uta)中相依於尚 待闡述之削減功能。 在本實施例中,削減功能係由一削減型樣計數器區段 338使用一第一削減移位暫存器34〇(在一虛線矩形内展示) 及第二削減移位暫存器342(在一虛線矩形内展示)執行。第 一削減移位暫存器340含有指定為Pa(x)之一第一削減多項 式之係數。將Pa(x)表示為「x」之一函數說明構成pa(x)之 156482.doc -25- 201214439 值係相對於該資料串流來排序之事實。每一係數值係由一 單個位元組成,且組成Pa(x)之位元數目等於約束長度κ。 已i識到,約束長度與削減型樣長度之等效僅對圖3係實 例性的,實施例可選擇具有更大或更小長度之削減型樣。 不考I長度,削減型樣之循環應用係如所闡述。在該圖中 展π之可程式化貫施例中,針對移位暫存器使用之位 '"數目K之值相同,且因此係由迴旋編碼器之組態判 定。針對循序輸入資料串流3〇2之每一時間遞增量t更新移 位暫存S 34G。在接收第—循序資料輸人之前藉助⑻ 之值以使得—最左侧移位暫存器位置344載人有Pa⑻中之 最南有效位元且—最右側移位暫存器位置346載入有Pa⑻ 中之最低有效位元之一方式初始化移位暫存器州。在該 輸入資料串流開始之後,在每一時間遞增量之後遞增削減 移位暫存m存在移位暫存器之内容之—逐位元自左 至右移動’且同時’將最低有效移位暫存器位元之内容傳 送至孩移位暫存器之最高有效位元(此係最低有效移位暫 存器位元之—端迴移位)。以此方式,在-第-輸出切換 功月b 350之控制下—次—個位元地使用pa⑻之值。只要該 迴方疋編碼盗接收資才斗’ pa⑻之值就繼續循環。移位暫存器 州中之最高有效位元總是用作對提供至輸出切換350之削 減之控制。在最高有效移位暫存器位元係—邏輯「1」 古月兄下則將互斥或」功能332之輸出插入至輸出串 駐〇咖中。另―方面,在最高有效移位暫存器位元344係 一邏輯「〇」之情況下,則禁止(削減)「互斥或」輸出332 I56482.doc
S •26- 201214439 進入輸出串流Eouta。 以使得反映與第一削減移位暫存器34〇有關之操作之方 j使用第二削減移位元暫存器342進一步執行該削減功 此因此,可出於簡要之目的不整體地重複此等操作之說 明。第二削減移位暫存器342含有指定為pb(x)之一第二削 減夕項式之係數。如Pa(x)之情形,將pb(x)表示為「X」之 一函數說明構成Pb(X)之值係相對於該資料串流排序之事 實。每一係數值係由一單個位元組成,且組成pb(x)之位 元數目等於約束長度K。進一步地,在接收第一循序資料 輸入之則,藉助Pb(x)之值以使得一最左側移位暫存器位 置360載入有Pb(x)中之最高有效位元且一最右側移位暫存 器位置362載入有Pb(x)中之最低有效位元之一方式程式化 移位暫存器342。在該輸入資料串流開始之後,在每一時 間遞增量之後遞增削減移位暫存器3 4 2。以與參照第一削 減私位暫存器340所述之方式實質相同之方式進行移位以 使得一次一個位元地使用P b (x)之值控制一第二輸出切換 功能364。移位暫存器342中之最高有效位元總是用作對提 供至第二輸出切換364之削減之一控制。在該最高有效移 位暫存器位元係一邏輯「丨」之情況下,則將「互斥或」 功此322之輸出插入至輸出串流£〇11化中。另一方面,在最 高有效移位暫存器位元344係一邏輯「〇」之情況下,則禁 止(削減)「互斥或」輸出332進入輸出串流E〇utb。應瞭 解’第一輸出切換3 50及第二輸出切換364係由熟習此項技 術者在獲知此總的揭示内容之情況下可以任一適合方式 156482.doc -27- 201214439 (諸如(舉例而言)在淤 >>在軟體、硬體或其 之切換功能之概略表 適s組合令)實施 .:卜,與圖3有關之所述削減過程可 、 .增处產生之輸出之數目變化。舉 :時間 344及細中之最高有效位元皆係邏輯「: 置 將針對當前時間遞掸六 」之匱況下,則 之-者係邏輯「 J且者係一邏輯「〇」之情 僅針對當料„增4添加—個^ ,則將 邏輯「〇」之产7 ^ Η| ,在兩個位元皆係 … 則不針對當前時間遞增量添加任奸 出位…削減動作約束輸出串流相對於輸入串流之: 小,以使得針對其中Pa⑻及Pb(x)之所有位元皆係「丨^ 無則減情形該編瑪器之最大可能擴充係2:ι。該輸出二流 大小隨邮)及Pb⑻中之「〇」值之數目增加而減小。通 吊,迴旋編碼器之實施方案利用輸出串流相對於輸入串流 之某-擴充以使得在解碼期間出現—期望的錯誤校正行 為 個有利的擴充率係3 :2,且此係圖2中圖解說明之情 形,其中每一 RS LSB符號含有15個位元而非1〇個。圖^ 之LSB符號中添加之「χ」圖解說明TCM符號中之此擴 充。 , 圖4係圖解說明圖i之編碼器區段2〇之一項實施例之一方 塊圖。應注意,支援組件區塊之間的資料流動之線具有與 每一線所輸送之位元數目以及該圖表之約束内之數字指示 項成比例變化之線厚度。應瞭解,編碼器區段20實施圖2 之所儲存資料結構。就此而言,藉助非限制性實例,圖4 156482.doc ΛΟ -2〇 -
S 201214439 藉由在非揮發性記憶體14中實施每胞儲存4個位元而與圖2 係一致的。出於創建圖2之資料結構之目的,如將看出, 編碼器20自RS符號之一輸入串流產生預編碼TCM符號。通 书,在每胞4位元之組態下,每一預編碼TCM符號係由四 個位兀組成。此等位元又由一個LSB及三個MSB構成。在 某些情形下,LSB可係為稍後之迴旋編碼做準備而插入之 一預留位置X,以使得稍後由一外加碼位元填充該預留位 置。應注意,迴旋編碼過程分別藉助外加碼位元及碼位元 來取代預留位置及預編碼資料位元二者。如所提及,稱後 藉由針對MSB之一映射功能及針對LSB之迴旋編碼來對該 預編碼TCM符號編碼。在每一預編碼TCM符號令,藉由將 4 一位元欄位變換成其經編碼形式之一映射功能來編碼該 三個MSB位元《將該LSB位元添加至一迴旋編碼器輸入串 流並由來自該迴旋編碼器之輸出之下一位元取代其。在該 LSB位元創建功能期間,根據針對該組態選擇之削減型樣 插入預留位置欄位X。稍後在應用於預編碼LSB之迴旋編 碼過程期間用來自該迴旋編碼器之位元取代此等預留位置 欄位。 鑒於一編碼器區段與一解碼器區段之間的合作之需要, 應瞭解,一既定解碼器實施方案可對某些控制參數之範圍 應用限制以使得該既定解碼器能夠支援某些編碼組態(舉 例而言,每胞之位元數目)而非其他組態。在某些實施例 中,一特定解碼器可經設計以以特定組態為目標而捨棄其 他組態。舉例而言,一解碼器可支援每胞3個位元及每胞4 156482.doc -29- 201214439 個位元之密度設定’但不支援每胞5個或5個以上位元之密 度設定。以此方式使解碼器設計彼此不同之功能呈現皆被 視為在本發明範内之實施例,乃因每一實施例仍然包含 對錯誤校正之一共用方法。 參照圖1且在繼續圖4之詳細說明之前,應注意,自—個 糸統子£塊至另一系統子區塊之資訊移動通常被組織為符 號之串流。在自主機12至NV記憶體14及自NV記憶體14至 主機12之反方向之進展中,資料經歷各種表示:自使用者 資料形式通過襄德所羅門符號、然後在編碼器功能期間在 NV記憶體胞目標中達到頂峰之中間符號、及在解碼器功 能期間自NV記憶體胞目標返回至使用者資料形式。在編 碼器及解碼器功能兩者中,在每一步驟處之資料作為一經 排序之符號串流經歷其產生至其消耗,其中每一串流包括 特定數目個符號》 再次關注圖4之編碼器20…裏德所羅門(RS)編碼器4〇2 接收由主機12(見圖i)提供至編碼器之使用者資料4〇4。在 正常情況下’❹者資料彻可係彼此具有一經排序關係 之特疋數罝個8位元單元(位元組)。該使用者資料可根據其 他位元數量來組織,㈣容易地仍在本文已揭示之教示之 辜巳圍内0此’可在下文中將使用者資料論述為由位元組 冓成同時…哉到热習此項技術者對任何其他適合單元之 使用將對貫施方案益會哲卜4旦〃 4615 韦…、貫質性影響。用於任一編碼操作之使 用者資料單元之數量係出
係由、.扁碼使用之一參數且適用於RS 編碼器4 0 2之操作。尤_ TS ^ ., 在項貫妩例中’將使用者資料單元 156482.doc 201214439 之數量(使用者資料長度)程式化至如一參數暫存器區段4ι〇 所繪示之一暫存器中。在尺8符號單元與呈位元組形式之使 用者資料具有不同數目個位元組之情況下,在尺8編碼器可 對該等使用者資料位元組進行操作之前將該等使用者資料 位7G組轉換成一組RS符號。在本發明中提供之實例性形式 之RS單元(符號)係10位元,但其#RS單元大小亦係可能的 且在本文教示之範疇内。在本實例中,使用者資料至尺8符 號轉換係位元組至1 〇位元符號之一簡單轉換;實際上,轉 換後之結果針對每五個使用者資料位元組(5x8個位元)產生 四個RS符號(4x1 〇個位元)。由於任一既定數目個使用者資 料位元組必須可轉換成整數數目個RS符號,因此可將某些 「任意值(don't care)」位元插入至RS結果之最後符號中。 由使用者資料至RS轉換所導致之RS符號之數目(稱為「Rs 資料長度」)係由一微處理器或CPU 412程式化至參數暫存 器區^又410中之一額外參數。如所展示,執行階段資料 長度414係對編碼器之一執行階段輸入。特定而言,將Rs 資料長度414提供至一RS計數器420。在正常情況下,執行 階段RS資料長度414之值源自儲存於參數暫存器區段41〇中 之RS資料長度之值。執行階段RS資料長度與儲存於參數 暫存器區段410中之RS資料長度之間的連接可係直接或不 直接(經修改)的,其在一特定實施例中總是最適合的,如 將進一步闡述。 應注意’作為RS編碼器402及迴旋編碼器3〇〇兩者執行之 編碼功能之一必要部分,其皆擴充其編碼之資料大小。此 I56482.doc •31- 201214439 與由几餘資δί1之添加造成,隨後將使用該等冗餘資訊 過程移除可能已造成之錯誤。由職碼器4〇2進 會將二添加叫偶符號,而由迴旋編碼器_進行編碼 t外位元添加至所編碼之位元串流。本發明中使用之 =率係此騎㈣於所儲存及賴取之使用者資料量之 -罝測。碼效率可被解譯為通常針對較 對較高冗餘量較差之_ 里㈣而針 ,值。可將碼效率之一個經驗量 =為-使用者資料單元中之總位元數目與圖4之編碼器 在編碼彼使用者資料單_所產生之總位元數目之一比 率。作為一簡單實例,考量由一編碼功能編碼之512個位 ^组之—使用者資料單元,將該侧個輸人位元擴充6〇〇 個位元。該600個位元係添加至該儀個資訊位元之冗 餘。則碼效率係4096/(4096 + _)或87 2%。熟習此項 術者在實踐性領域中使用各種經驗量測來量測石馬效率。在 本發明中已先前論述之此等經驗量财之―者係碼速率。 進-步應瞭解’在至少某些實施例中,率可係變化 的。與-相對較低的媽效率相比,較佳碼效率之效應大體 分別係較低錯誤校正容量與較高錯誤校 ^ 令里〈是。編碼 組態係由隨後將闡述之一組可程式化參數界定,且此等可 程式化參數之值可經調整以產生相異的碼效率。參數暫存 器410中之值對一較大或較小程度之碼效率而言皆係決= 性的,因此碼效率係在必要時可逐碼字地調整之—纟^ 、、且悲屬 性。 RS資料長度係自長達使用者資料長度單元之一組使用者 156482.doc •32· 201214439 資料符號(通常為位元組)建構之RS符號之數目。圖4之使 用者資料符號可各自被視為8個位元寬,且每一 RS符號可 被視為10個位元寬。因此,使用者資料長度8位元符號至 各自10位元寬之RS資料長度RS符號之轉換係使用者資料 長度乘以8/10。當在執行此乘法之後剩餘一分率rs單元 (亦即,少於10個位元)之情況下,藉由添加使該最後一符 號長度達到1 0個位元之任意數目個位元來將該分率部分完 成為10個位元。因此’在某些實施例中,可自使用者資料 長度直接導出RS資料長度。在其他實施例中,rs資料長 度可實施為一獨立的暫存器值。任一形式之實施例皆可係 適合的。 RS編碼器20使用由使用者資料4〇4產生之RS符號並計算 稱為奇偶符號之L卜符號。料奇偶符㈣、長度為 「RS奇偶長度」之一組額外的經排序RS符號,其係附加 至自該使用者資料轉換獲得之RS符號。該RS奇偶長度之 值在正常情況下可自參數暫存器區段410獲得。使用者資 料符號及奇偶符號之所得組合稱為—Rs碼字。該碼字 之長度係-系統參數’其可在參數暫存器區段彻中獲得 亦可作為亦可在參數暫存器區段4丨Q中獲得之值資料 :度與RS奇偶長度之一簡單總和而獲得。術語「rs碼 子」在用於裏德所羅門編碼及解碼之上下文中時具有一特 定含義亦為相關學科之從業者所充分瞭解,且因此出 於簡要之目的將不再大體重複對裏德所羅門編碼之理論之 細節[舉例而言,見Wicker、StephenB.之「心⑽-⑽ 156482.doc •33- 201214439
Systems for Digital Communication and Storage (1995, Prentice-Hall,23 8至239頁)]。編碼器使用該碼字長度以 完成編碼操作。應注意,RS奇偶長度與RS編碼益所添加 之冗餘量成比例,且係由稱為「T」(其係一目標符號校正 容量)之一參數判定。大體而言,針對具有一既定符號校 正容量之一既定RS碼字,該系統能夠校正彼RS碼字中之 多達某一數目個RS符號。增加該T值導致校正該碼字中之 額外RS符號之能力。該RS碼字係來自RS編碼器402之輸 出。RS資料長度、RS奇偶長度及RS碼字長度之參數係由 隨後接收RS編碼器結果之組件使用。 結合圖4參照圖2,一多工器424將自RS編碼器402出現之 RS符號指示至兩個路徑中之一者:一 MSB路徑426或一 LSB路徑428。在已完成該RS編碼過程之後,編碼器20經 組態以隨之格式化該資料串流用於TCM及迴旋編碼。針對 不同編碼實施例,該RS符號輸入串流相對於TCM要求之配 置導致以不同比例將RS符號分配至LSB區段及MSB區段, 如在圖2之資料結構100中所見。亦即,與分配至LSB路徑 之數目相比,將多得多個RS符號分配至MSB路徑。在圖2 之實施例中,在一每胞4位元之情形中針對10位元RS符號 將RS符號分配至TCM編碼。兩個計數器(一 MSB計數器430 及一 LSB計數器432)判定每一傳入RS符號之目的地為在 MSB路徑426與LSB路徑428之間。大體而言,MSB計數器 及LSB計數器之狀態判定是否要求另一 RS符號,且在是的 情況下指示該符號所至之目的地(MSB側或LSB側)。在 156482.doc -34- 201214439 MSB及LSB計數器兩者之狀態指示要求另一RS符號之情況 下,首先針對LSB側獲取一 RS符號,且其次針對MSB側獲 取一 RS符號。更特定而言,一特定RS符號是變成MSB編 碼之部分還是LSB編碼之部分係由可自以下各項導出之一 MSB/LSB序列型樣判定:(i) 一組編碼參數,包含(舉例而 言)RS符號寬度’(ii)TCM迴旋編碼之態樣,(iii)削減多項 式,及(iv)位元密度,其將進一步闡述。基於該序列型 樣,在每一 RS符號值變得可用於供應一 MSB緩衝器440或 一 LSB緩衝器442時使用該MSB及LSB計數器。 MSB計數器430追蹤MSB緩衝器440中之位元數目。在自 RS編碼器402獲取第一 rs符號之前將MSB計數器初始化為 0。本實施例中之MSB計數器針對第一 rs符號及針對獲取 至MSB緩衝器中之每一額外rS符號遞增丨〇。該MSB計數器 針對在緩衝器外傳送之每一 3位元攔位遞減3以沿MSB路徑 426繼續。在該MSB緩衝器係在小於3之一計數處或邏輯偵 測到其將在下一使用週期上遞減至〇時,自輸入串流獲取 下一 RS符號以分配至MSB路徑且計數器值遞增丨〇。 LSB計數器432追蹤LSB緩衝器442中之位元數目。在自 RS編碼益402獲取第一rs符號之前將LSB計數器初始化為〇 且針對獲取至LSB緩衝器中之每一額外RS符號遞增1〇。該 LSB計數器針對在緩衝器外傳送之每—位元遞⑴以在m 路检428上繼續。當該LSB計數器遞減至〇,或邏輯偵測到 其將在下-使用週期上遞減至〇時,自輸入串流獲取下一 RS符號以刀配至lsb路徑且計數器值遞增1〇。在MSB計數 156482.doc -35- 201214439 器43 0及LSB計數器432兩者進入同時請求另一 RS符號之狀 態之情況下,優先將該下一RS符號獲取至LSB緩衝器中, 而將一後續RS符號分配至MSB緩衝器。 MSB緩衝器440自多工器424接收指示至此區段之RS符 號。將該等符號寫入至此緩衝器以用於在MSB編碼路徑 426中之後續使用。在一每胞4個位元組態之實例性實施例 中,如所繪示,MSB緩衝器440中之位元係一次3個位元地 消耗,亦即在每一使用週期上創建一額外預編碼TCM符 號,其中自MSB緩衝器獲取3個位元用作下一 TCM符號之3 個MSB同時自LSB緩衝器獲取一個LSB位元。然而,在其 中欲插入一預留位置之事件中,一位元並非自該LSB緩衝 器獲取。而且,此實施例僅係實例性的,乃因可藉由變更 控制參數而將其他組態應用於同一編碼器。舉例而言,可 程式化一每TCM符號3位元之實施例,其中MSB緩衝器消 耗係以每TCM符號2個位元替代3個位元之速率。 來自MSB緩衝器之一輸出446係針對每一 TCM符號之一 3 位元值。3個位元之MSB群組對此圖表係實例性的。某些 實施例可採用此值以及其他值。舉例而言,一每胞3位元 之位元密度設定可具有一 3位元TCM符號,其中存在每 TCM符號1個LSB位元及2個MSB位元。亦認識到MSB寬度 及LSB寬度兩者具有變化之其他TCM符號格式。MSB緩衝 器輸出446係進入尚待闡述之編碼邏輯之資料路徑之部 分。將該等MSB位元輸入至尚待闡述之一 MSB映射功能 450 ° 156482.doc -36- 201214439 LSB缓衝器442自多工器424接收RS符號並寫入至LSB緩 衝器用於在LSB編碼路徑428中之後續使用。在所繪示之 每胞4位元之實施例中,以每TCM符號小於1個位元之速率 消耗L S B缓衝器中之位元作為欲應用之迴旋編碼之一結 果。由於在使用MSB路徑426及LSB路徑428產生TCM符號 時尚未應用迴旋編碼,因此在此階段處之TCM符號可稱為 預編碼符號。某些預編碼TCM符號之創建要求自LSB缓衝 器提取一位元,且該等預編碼TCM符號之某些不要求額外 LSB緩衝器位元,乃因在此節點處係插入一預留位置位元 而非基於該使用者資料之一位元。讀者將回想起,作為資 料結構100之部分,此等預留位置位元可由圖2之LSB RS符 號中之符號X表示,且此等預留位置位元稍後係由藉由迴 旋編碼產生之外加碼位元取代。如下文將詳細闡述,削減 多項式型樣控制在一 TCM符號序列中之一 LSB缓衝器位元 或一預留位置位元之間的選擇。 如上文論述,一 LSB符號位元係每週期一個位元或0位 元地自LSB緩衝器獲取並被斷定至LSB路徑428。出於本論 述之目的,術語「區塊」對應於在414處儲存之值「TCM 符號之數目」。在0之一約束長度係一區塊之最後LSB之 區塊保證結束時,一限制比較器454及限制邏輯456迫使在 該區塊之最後K個位元期間之此等位元值為0,其中K係欲 應用之迴旋碼之約束長度,如上文參照圖2所論述。特定 而言,在圖2中將TCM符號TCM(N·)、TCM(N'-2)、 TCM(N'-3)、TCM(N,-4)及 TCM(N'-6)之 LSB 位元迫使至 156482.doc -37- 201214439 MSB映射功能45〇在蠢路徑426上接收該等議且可將 MSB位το型樣自-未經料之表示(如所接收)轉換成意欲 減少在回讀時出現錯誤之事件中可出現之位线障之數目 的-表示。在一項實施例中,該映射係自一格雷碼表示至 -二進制表示之一轉換。應注意’將該傳入資料處理為經 格雷編碼係可選的。進一步地,應瞭解,可採用任一適合 的可逆映射功能且藉由非限制性實例闡述格雷編碼之使 用。映射功能450成群組地接收MSB(在本實施例中三個 之群組)並針對由相同數目個位元組成之每一群組產生一 輸出462。輸出462與藉由前述迴旋編碼器3〇〇產生之一對 應LSB串連,並轉發至一位階轉數位轉類比轉換器 (DAC)472。該LSB可係回應於如圖2之rs LSB中所展示及 上文所闡述之使用者資料或一X位置中之一碼位元之一位 元。 結合圖4參照圖3 ’迴旋編碼器3 00可藉由限制邏輯456自 LSB緩衝器442接收一當前LSB位元。該迴旋編碼器在接收 到該等LSB時一次一個位元地對其起作用。編碼係服從輸 入至迴旋編碼器300之各種參數。此等參數包含其中約束 長度本身可係一參數之迴旋多項式及削減多項式。在具有 一單個LSB之一系統中,按照本實施例,在正常情況下存 在兩個迴旋多項式(見圖2中之Ca(0)至Ca(K-l)&Cb(0)至 Cb(K-l))及兩個削減多項式(舉例而言,儲存為圖2中之 Pa(x)及Pb(x))。此等多項式中之每一者之值可在一既定實 • 38 · 156482.doc
S 201214439 施例中發生變化。在併入有多於一個LSB之一系統中,存 在要求作為參數之額外迴旋多項式及削減多項式。在某些 實施例中’系統微處理器412可將此等參數程式化至與迴 旋編碼器相關聯之暫存器中,如該微處理器所執行之韌體 480所指示。 參照圖4,位階轉DAC轉換器472之一輸入482針對每一 TCM符號接收該MSB群組及一相關聯LSB。該等經編碼之 LSB及MSB串流可分別自迴旋編碼器3〇〇及msb映射器450 獲得。此兩個所得資料串流與現在在轉換器472之輸入482 處完成TCM符號之_流之效果合併^參照展示用於MSB之 3個位元及用於LSB之1個位元之事實,此圖表中之資料路 徑寬度係實例性的;參照MSB及LSB兩者之其他組態係可 能的。每一 TCM符號可包含多於或少於3個MSB,且每一 TCM符號可包含多於1個LSB位元。位階轉DAC之一輸出 484係指向圖1之NV記憶體14。位階轉DAC 472可根據不得 不處理於將寫入至每一 NV記憶體胞中之資料位元之類比 值有關之要求的參數對每一 TCM符號執行一最終調整。舉 例而言,該調整可涉及將一偏差值應用於TCM符號及/或 該調整亦可係㈣於一胞目標範圍壓缩或擴充TCM符號值 之一按比例變換。位階轉DAC 472可由參數暫存器41〇中 之由微處理器412結合系統韌體480來程式化之參數控制。 現關注參照RS計數器420之額外細節。此計數器可藉助 將自RS編碼器402提供之RS符號414之運行時間數目來初 始化。儲存為RS符號之執行階段數目之值可多達整個碼字 156482.doc •39- 201214439
或更長’其中該石馬字传_ p Q £ A 知“碼子或某—整數數目個RS碼 字。在採用交錯之情況下,兮献n 1〆 下3玄數目可係由儲存於參數暫存 器區段410中之交錯因數所 口数所暗不之碼字之—整數數目。Rs 符號計數器42〇針對由多芎 夕丄态接收之母一尺8符號遞減 1 〇出於本論述之目的,在P q斗杳 在RS计數益遞減至〇以傳訊該當前 傳送之結束時,指示Rs區塊之結束,其中術語「 塊」對應於RS符號之執行階段數目之值。特定而言,lsb 限制490係-常數,且係與以計數器42〇中之值相比較。該 RS計數器最初以作為大於LSB限制49〇之一值開始。由於 該RS計數器針對所傳送之每一 RS符號而遞減因此由rs 計數器儲存之值最終遞減至變得等於LSB限制計數之點 處,如RS/LSB限制比較器454所判定。在RS計數變得小於 LSB限制時插入零/補零。如上文所述,出於指示記憶體中 之資料結構之末端之目的,補該等〇作為預編碼TCM符號 串流之LSB以形成資料結構1 〇〇(圖2)之部分。 如上文所述’執行階段RS長度輸入414可係自參數暫存 器410提供。該執行階段汉8長度輸入之值可用於在藉助一 使用者資料輸入序列定序之前初始化rS符號計數器42〇。 該值標示RS編碼器402將藉由RS編碼該使用者資料串流而 產生之RS符號之數目。 在一使用者資料串流進入編碼器20之前藉助來自一執行 階段削減型樣輸入4 8 8之一值初始化削減型樣計數器4 8 6, 並由削減型樣計數器486實施圖3之削減型樣計數器區段 338。型樣輸入488可儲存自參數暫存器區段410獲得之第
156482.doc -40· S 201214439 一及第二削減多項式。削減型樣計數器486控制預留位置 位元產生(在圖2之RS LSB符號中之X位置),以產生組成預 編碼TCM符號之LSB串流。該削減型樣係具有在圖2中與 迴旋編碼器300之約束長度相同之一長度的一位元型樣, 然而,其他實施例可使用比該約束長度更大或更小之一削 減位元型樣長度。在處置一使用者資料符號串流之前藉助 削減型樣值來預設削減型樣計數器486。如上文關於圖3之 削減型樣計數器區段3 3 8所闡述’削減型樣計數器4 8 6針對 所創建之每一 TCM符號將削減型樣之值旋轉一個位元位置 以使得同一削減型樣計數器位元位置(亦即,圖3中之pa(x) 及Pb(x)之最左側位元)總是應用於當前編碼。在缺少削減 時,由於迴旋編碼器針對每一輸入位元產生兩個輸出位 元,因此添加削減型樣會將此比率減少至小於2 :丨之某一 值。该削減型樣計數器控制每一預編碼TCM符號之LSB是 一擴充位元(預留位置X)還是來自輸入LSB_流之一位元。 該削減型樣計數器將一輸出提供至迴旋編碼器3〇〇以及 LSB緩衝器486 ’以使得該削減型樣計數器及lsb緩衝器出 於在LSB緩衝器之輸出處產生LSB路徑中之預留位置之目 的而合作。 RS/LSB限制比較器454在TCM編碼之一 rs區塊之末端開 始起作用,其_必須將經預編瑪之職符㈣流之最後κ_ SB位元斷定為0(其中〖係迴旋編碼器之約束長度),如 藉由圖2中之實例及上文所述可見。該㈣限制計數係作 為-LS錄難49G獲得並基於逐時間遞增量地㈣符號 156482.doc -41- 201214439 計數器420之計數相比較以提供何時將預編碼LSB串流迫 使至0之一指示。此允許迴旋編碼器300將一已知閉合序列 編碼成經編碼TCM符號序列,其十結果係在解碼之後避免 RS區塊末端閉合位元解碼錯誤。Lsb限制值490可自(舉例 而言)參數暫存器區段410中之迴旋約束長度產生,且可在 使用RS/LSB限制比較器454處理一使用者資料串流之前作 為一初始值應用。 在編碼一使用者資料符號串流之前初始化一 TCM計數器 492 °此值對應於將由根據參數暫存器區段41〇所反映之該 組組態參數來編碼一完整使用者資料串流所致之Tcm符號 之數目。可自一TCM區塊計數輸入494初始化該TCM計數 器。該TCM計數器值控制該TCM編碼之定序並提供TCM區 塊準則之一末端用於終止TCM符號之每一序列。作為一參 數值,該TCM符號計數可自其它組態參數計算並表示根據 s亥組組態參數自具有特定長度之一使用者資料串流產生之 TCM符號之精確數目。舉例而言,該TCM計數器將序列準 則之末端提供至CPU 412 ^該TCM計數器提供將在一特定 傳送中傳遞之符號之精確數目之—量測。此計數器可藉助 彼數目來初始化並減序計數至G ’或該計數器可最初被清 零並增序計數至該翻值。該TCM計數器藉助任—方式^ 一序列信號之末端提供至該系統。 TCM區塊計數輸入例係自參數暫存器區段4附所提供 之TCM碼字長度之值導出,並在編碼—使用者資料符號串 流之前供應藉以初始化TCM計數器492之_tcm區塊 156482.doc
S -42- 201214439 值。 如上文所述’限制邏輯456係由RS/LSB限制比較器454 控制’且允許將預編碼lsb自LSB緩衝器不加修改地傳遞 至迴旋編碼器,或出於提供一序列結束指示以終止一總rs 寸°傳送之目的在上文所述之補零stuffing)程序中將 迴旋編碼器輸入LSB選擇性地迫使至〇。出於本文之目 的’應/主思’在裏德所羅門編碼器402之輸出所至之且包 3 MSB緩衝器440及限制邏輯456之組件與相關聯組件可稱 為C縮配置496。包含映射器45〇、迴旋編碼器3〇〇及相 關聯組件之組件可稱為—映射配置498。該壓縮配置可被 視為產生一經重新組塊之輸出資料串流以使得該經重新組 塊之輸出貝料串流之至少—個部分而非全部經組態以服從 基於旋碼之-碼效率。此外,該屋縮配置適於修改該 絰重新組塊之輸出資料串流,以基於改變提供至該壓縮配 置之或夕個輸入參數之—或多個值支援與該輸入串流中 之預定數目個裏德所羅門符號相關聯之迴旋碼之瑪效率之 改變。 參照圖1及圖4’微處理器/CPU 412可係以任一適合形式 提供,諸如(舉例而言)以-嵌入式控制件之形式,其中該 處理ϋ在來自主機12(圖υ之指令下專用於操作編碼器2〇、 解I器22(圖1)及NVS己憶體14(圖i),且該微處理器 412充當勃體480之一執行平臺。勃體係使用一嵌入式 控制器之一項實施例之軟體組件。該款體在來自主機 叫圖υ之指令下實施編碼器2G(圖υ、解碼器叫圖收财 156482.doc •43· 201214439 記憶體(圖1)之控制。 參照圖4 ’參數暫存器區段410可在韌體48〇控制下構成 微處理器412可存取之一暫存器群組。儲存於此等暫存器 中之值起到界定編瑪組態並經由CPU 20及韌體480或經由 可直接存取至該編碼器之某些組件之暫存器控制編碼器之 動作。應注意,已在上文論述之上下文令闡述某些該等暫 存器參數。然而,出於提供更進一步清晰度之目的,將在 接下來的部分中更詳細地闡述參數暫存器區段41 〇。 進一步闡述圖4之參數暫存器區段41〇中所展示之參數值 如下: 使用者資料長度:一使用者資料區塊之長度(以位元組 為單位)或使用者資料之單元長度。藉由非限制性實例, 適合的使用者資料長度包含512個位元組、1〇24個位元組 或由編碼器/解碼器之一特定實施例支援之任一其他適合 長度。 RS校正容量:亦稱為「τ」,界定rs錯誤校正碼在—單 個碼字中能夠校正之RS符號之一最大數目。此值乘以2界 定每一 RS碼字中之奇偶符號之數目。 ’ RS資料長度:—使用者資料區塊在已自位元組轉換成 RS符號之後的長度。因此,在使用者資料長度與^資料 長度之間存在-直接關係。,然而,由於在使用者資料串流 不映射至整數數目個RS符號之情況下必須將位元添加至: 轉換之RS符5虎串流’因此在正常情況下將該Rs資料長卢 作為一獨立值維持於該參數暫存器區段_。 、又 156482.doc 201214439 RS奇偶長度:附加至RS資料長度以建構一單個rs碼字 之RS奇偶符號之數目。RS奇偶長度之值係直接由尺§校正 容量(T)之值暗示。實施例可將此值維持於一獨立暫存器 中,或其值可自RS校正容量(T)導出。 RS交錯因數:在應、用RS編瑪中之f見做法係藉由交錯 來編碼及解碼每RS區塊一個以上RS碼字。舉例而言,在 上文併入之’546申請案之圖12及圖13中展示此交錯。當在 该組悲下呈現交錯之情況下,此參數之值係一簡單整數。 由於可藉由一特定實施例來約束交錯,因此可存在對交錯 數目之相對小的限制^在針對一特定實施例界定交錯之情 下’ RS貝料長度' RS奇偶長度及RS碼字長度之值可應 用於組合交錯之各別長度,或此等組合可反映單個交錯之 各別長度。關於交錯處置之此等變化形式係相依於實施例 的。 迴旋約束長度:在該迴旋編碼器可程式化(如圖3之實施 例300)之情況下’則迴旋約束長度之值(κ)可程式化及儲 存於 > 數暫存器區段中。另—方面,在迴旋編碼器組態用 於,固定为束長度之情況下,則可不需要登記該κ值。 第迴旋夕項式:由迴旋編碼器使用之兩個迴旋多項式 中之第。針對一迴旋編碼器如何使用迴旋多項式之圖 解說明及闡釋查看圖3。 第:α紅多項式:由迴旋編碼器使用之兩個迴旋多項式 中之第一者。針對一迴旋編碼器如何使用迴旋多項式之圖 解說明及闡釋查看圖3。 156482.doc -45· 201214439 第一削減多項式:由迴旋編碼器使用之兩個削減多項式 中之第一者。針對一迴旋編碼器如何使用削減多項式之圖 解說明及相關闡釋查看圖3。 第二削減多項式:由迴旋編碼器使用之兩個削減多項式 中之第二者。針對一迴旋編碼器如何使用削減多項式之圖 解說明及相關闡釋查看圖3。 位元密度設定:標示當前作業組態下之位元密度設定。 大體而言,該值係表示每記憶體胞儲存之資料位元數目之 一簡單整數。然而,在使用一分率的每胞位元設定(例 如,3.8)時,該值可不同於一簡單整數。於此一情形下, 基於由邏輯解譯之經編碼值提供該位元密度設定。舉例而 言,可藉由以每胞3個位元來程式化該等記憶體胞中之一 半並以每胞4個位元來程式化該等記憶體胞中之另一半而 達成每胞3.5個位元之一平均位元密度設定。諸如圖2中所 展示之TCM編碼之使用在正常情況下針對位元密度設定使 用每胞至少3個位元。在下文中之一適當點處將進一步詳 細論述分率位元編碼。 TCM中之MSB寬度:每一 TCM符號中之MSB位元之數 目。除其中提供至每一儲存胞之TCM值係自位元密度設定 調高之下一最高整數值之情形中之分率位元密度設定外, 位元密度設定之值給出整個TCM符號之寬度。則MSB位元 之數目係分配至該符號之MSB部分之TCM符號之彼部分。 TCM中之MSB寬度係TCM符號寬度與LSB數目之間的差。 舉例而言,在每TCM符號4個位元處,其中一單個位元係
156482.doc -46- S 201214439 針對該符號之LSB部分,作為TCM寬度之部分之MSB寬度 係 4-1=3 〇 TCM中之LSB寬度:每一TCM符號中之LSB位元之數 目。除其中提供給每一儲存胞之TCM值係自位元密度設定 調高之下一最高整數值之情形下之分率位元密度設定外, 該位元密度設定之值給出TCM符號本身之寬度。則LSB位 元之數目係分配至該符號之LSB部分之TCM符號之彼部 分。TCM中之LSB寬度係TCM符號寬度與MSB數目之間的 差。舉例而言’在每TCM符號4個位元處,其中3個位元係 針對該符號之LSB部分,則TCM值中之LSB寬度係4-3 = 1。 TCM碼字長度:根據上文所述參數之一特定組合而界定 之組態組成位元組之一經編碼使用者資料長度之TCM符號 之總數目。由於TCM碼字長度之值係尺8與迴旋碼參數之一 函數,因此其可作為參數暫存器區段之部分儲存於一獨立 暫存器中。 應瞭解,該碼效率係藉由參數暫存器區段41〇所給出之 ,數之組合值建立。因此,藉由修改參數暫存器區段中之 —或多個參數值,將回應於參數值之改變而改變碼效率。 申。月人不知曉用於與提供盡可能快地基於逐碼字地修改碼 . ⑭率之靈活性之非揮發性記憶體-起使用之任何系統。此 靈活性參照(舉例而言)音祖心 、牛Ί』叩。j貪枓輸送$、記憶體儲存容量及記 憶體隨時間降級之調適來增強該系統之操作。大體而言, β藉由添加几餘而達成較高的位元密度。後者趨於藉助較 高的RS容量設定及較少的削減而變得較大。較高密度通常 156482.doc -47- 201214439 與較高冗餘相關。記憶體降級之調適通常可藉助較高冗餘 但較少強調密度而達成,以使得較有力的編碼及解碼設定 可抵消對受降級影響之記憶體所展現的錯誤之較高趨向。 下文表1提供使用建立TCM碼字長度之參數值之模擬實 例。該等參數包含位元密度、使用者位元組數目、RS交錯 數目、T(RS校正容量)、RS資料符號之數目、RS奇偶符號 之數目、迴旋多項式及削減多項式、MSB及數目及TCM碼 字長度。應注意,該約束長度與迴旋多項式中之係數的數 目相同。於此等實例中,在迴旋多項式中存在6個係數(位 元),因此迴旋編碼器/解碼器之約束長度係6。 表1 參數名稱 實例1 實例2 位元密度 4 3 使用者資料長度 2048 2048 交錯數目 4 4 軟T 10 10 RS資料長度 1639 1639 RS奇偶長度 80 80 第一迴旋多項式 110101 110101 第二迴旋多項式 101111 101111 第一削減多項式 111111 111111 第二削減多項式 101010 101010 MSB之數目 3 2 TCM碼字長度 4690 6350 此等模擬實例係使用具有表1中指定之參數的編碼器及 解碼器組態之一模型來實施。鑒於本文提供之細節,考量
156482.doc -48- S 201214439 熟習此項技術者可易於就其對任何影響參數之相依性來判 定TCM碼字長度。 圖5圖解說明通常由元件符號5〇〇指示之一種方法之一項 實施例,該方法可在圖4之編碼器2〇上操作且同等地可應 用於其他實施例。舉例而言,方法5〇〇可應用於使用除每 胞4個位元外的位元密度之實施例。 方法500在開始步驟5〇2處開始,且進行至設定5〇4。在 步驟504中’可將各種參數载入至圖4之參數暫存器區段 410中以及任何其他期望的暫存器位置中。應瞭解,某些 該等參數可係使用者指定的,諸如(舉例而言)使用者資料 長度、RS校正容量,而其他參數(諸如,舉例而言,以奇 偶長度)可基於使用者指定參數來判定。資料流再由方法 500處置時以具有通常以8位元的位元組為單位之使用者資 料早το之使用者資料開始。如將所見,方法5〇〇之結果係 呈經TCM編碼之值的形式,其令此等值中之每一者表示該 儲存媒體之—個胞之目標值。輸出值係基於每胞3個位元 或更多之編碼器之組態之一函數。 在壓縮步驟506處,將具有長度『使用者資料長度』(見 圖4中之參數暫存器區段41())之使用者資料轉換成由飞^符 號組成之『RS資料長度3 (見圖4中之參數暫存器區段 410)。在該『使用者資料長度』的使用者資料符號不映射 至整數數目個『RS資料長度』的RS符號之情況下,將具 有已夫值(亦即,皆為〇或皆為丨)之位元插入至最後一符 號之-非映射部分。因此’產生一 RS符號串流。 I56482.doc •49- 201214439 步驟508藉由最初判定一RS奇偶值來起始該尺3符號串流 之處置。藉由計算『RS奇偶長度』(見圖4中之參數暫存器 區段410)來編碼自步驟506獲得之具有長度『尺^資料長 度』之RS符號。RS奇偶計算已為熟習此項技術者所熟 知。在該組態經由RS交錯因數(見圖4中之參數暫存器區段 410)指定一個以上交錯之情況下,針對該組態下給定之交 錯數目計算RS奇偶符號。由步驟508所致之輸出係具有長 度『RS資料長度』加『RS奇偶長度』之一組Rs符號。 步驟510將自步驟508所致之RS符號分離成一MSB子組及 一 LSB子組。然後藉由步驟5lla隨後處理該LSB子組,同 時藉由步驟511b隨後處理該MSB子組。在每胞4個位元之 位元密度之實例性情形下’以與圖2一致之一方式彼此成 比例地創建MSB及LSB符號。 步驟511a藉由計算提供用於將藉由步驟512處之迴旋編 碼對LSB位元串流做出之加法之預留位置來擴充LSB符 號。預留位置可如參照圖3所述來判定。該預留位置創建 操作創建除自LSB RS符號獲取之LSB資料外的空位元。 步驟51 lb將LSB RS符號壓縮成一組3位元之MSB攔位, 其中每一MSB攔位對應於一個TCM符號。此刻,尚未編碼 該等3位元欄位。在藉由步驟5 11 c結束壓縮時,所創建之3 位元欄位之總數目等於添加有該等預留位置之LSB位元之 總數目。 自步驟508所致之RS符號藉由步驟5 1 〇壓縮成一預編碼 TCM格式’其插入有在圖2之LSB中所見之X預留位置。此 156482.doc •50-
S 201214439 步驟將該組RS符號轉換成『ώ , TCM碼子長度』(見圖4中之參 數暫存器區段410)數目個絲子音说姐々下广以外上 U、、工預編碼之TCM符號。於此上下 文中,「預編碼」係指各白且亡 Μ \ τ <日合目具有一 MSB部分及_ LSB部分 但尚未由圖4之MSB映 耵+又450及迴旋編碼區段3〇〇格式 化之TCM符號之格式。因此,兮玺 口此,该4 LSB係呈與X預留位置 混雜之一系列未經迴旋編碼之資料位元之形式。 步驟512及步驟514回應於步驟51〇以合作方式操作。在 步驟5丨2中,對『TCM碼字長度』(見圖4中之參數暫存器 區段410)的LSB執行迴旋編碼(見圖3及圖4中之物項3〇〇), 以產生『TCM碼字長度』的經迴旋編碼LSB。亦即,由碼 位元取代圖2中之LSB之X指示項。在該組態經由『位元密 度a又疋』、TCM中之MSB寬度』及『tcm中之LSB寬 度』(見圖4中之參數暫存器區段410)指定每tCm符號一個 以上LSB之情況下,則可指定一適當的編碼器配置,藉助 其編碼每時序增量一個以上LSB。舉例而言,圖2之位元b〇 及h二者皆可經受迴旋編碼。步驟5 12產生具有數目 『TCM碼字長度』(見圖4中之參數暫存器區段41〇)作為該 串流中之LSB符號之數目之一 LSB符號串流。該等LSB符 號具有寬度『TCM中之LSB寬度』(見圖4中之參數暫存器 區段410)。應瞭解’針對一個LSB之情形(亦即,%係如圖 2中所展示之唯一 LSB) ’ LSB符號各自由一個位元組成。 在步驟514中,藉由將每一 MSB之值變換成以TCM編碼 為目標之經變換值來執行MSB映射。如上文所述,經由圖 2,3位元MSB係實例性’且可在本發明之範疇内使用任一 156482.doc • 51· 201214439 其他適合編組。在本實例中,該映射係自一個3位元值至 符合TCM編碼準則之另一3位元值,如熟習此項技術者在 獲知此總的揭示内容之後將瞭解。於此處,作為一可選步 驟,將傳入之3位元值視為經格雷碼之值並映射成二進制 值(見圖4中之映射器450)。在本發明範疇内之實施例中, 該映射功能可係經由邏輯閘或使用一查詢表實施。可針對 此映射功能實施其他變化形式。步驟514產生具有長度 『TCM碼字長度』之一 MSB符號串流(見圖4中之參數暫存 器區段41〇)。每一MSB符號具有對應於『TCM中之MSB寬 度』之一寬度(見圖4中之參數暫存器區段41〇)。 在步驟516中,將來自步驟5 12之經迴旋編碼之LSB及來 自步驟5 14之經映射MSB合併成一單個經編碼TCM符號串 流,其具有對應於『TCM碼字長度』(見圖4中之參數暫存 器區段410)之值的一長度。該等經編碼之TCM符號具有對 應於『位元密度設定』(見圖4中之參數暫存器區段41〇)之 值的一寬度。來自此步驟之輸出符號係欲應用於該記憶體 中之個別胞位置之目標位階。如上文參照圖4所述,可將 該位階之一額外比例縮放應用於經編碼符號。然而,此比 例縮放係可選的,且可應用或可不應用。 步驟5 18將該等目標位階轉換成類比值,寫入至該等記 憶體胞之個別一者,且該方法在52〇處結束,用於重新開 始經受一後續資料操作。 圖6係根據本發明產生之圖1之解碼器22之一項實施例之 一方塊圖。大體而言,解碼器22以使得不僅獲得原始使用 156482.doc •52·
S 201214439 者資料作為一結果亦偵測及消除在反向過程(解碼)期間遭 遇之錯誤的方式反轉圖4之編碼器20之變換。考量可鑒於 此總的揭示内容由熟習此項技術者產生其他實施例。 如圖6中展示之解碼器在一輸入6 〇 2上接收τ c %符號。 TCM符號係由感測為讀取該記憶體之結果的電壓之類比至 數位轉換所產生之值。輸入602接收該等ADC值,乃因此 等值係由回應於讀取一記憶體胞而產生每_ ADC值之一類 比至數位轉換器(未展示)產生。該類比至數位轉換功能通 常位於NV記憶體14中’如圖丨中展示,然而,某些實施例 可將該類比至數位轉換功能定位於解碼器22令。儘管圖6 不展示該記憶體本身,但該記憶體相對於解碼器之配置與 圖1中所展示之配置相同,其中相對於解碼器22存在來自 NVδ己憶體14之一輸入連接。此連接可被理解為包含用於 多工之佈建以使得可存取完全程度之該記憶體。應瞭解, 事實上該等ADC值係根據圖2之資料結構儲存之TCM符 號。因此,一系列ADC值表示欲經受解碼之一 TCM符號串 流,如自圖2之資料結構所讀取。在解碼後,在該圖之右 側上之一輸出604上出現一使用者資料符號串流。 以一特定方式組態用於將資料儲存於記憶體14中之一編 碼器之一實施例將在彼資料之讀回之後導致提供給該解碼 器各自具有特疋數目個位元之特定數目個TCM符號。因 此,該讀回之控制參數與相對於圖2及圖4所論述之彼等控 制參數相同。儘管圖6之實施例係實例性且繪示具有每胞4 位元之密度及每TCM符號1個LSB位元之一組態,但可在 156482.doc -53· 201214439 本文教不之範疇内組態其他解碼器實施例以藉助其他位元 密度設定(例如,每胞3個位元、或每胞5個位元)及藉助每 TCM符號一個以上LSB位元來操作人此外,根據本發明之 實施例可針對TCM符號之一輸入串流之長度容納諸多可能 性。藉由回應於諸如(舉例而言)由參數暫存器區段41〇提供 之 > 數之參數組態5亥解碼器文一特定實施例而至少部分地 提供此靈活性。就此而言,應瞭解,參數值可出於編碼或 解碼之目的至少逐碼字地回應於一傳入符號申流而即時改 變。 一既定解碼器實施例可對某些控制參數之範圍應用限制 以使得解碼器能夠支援某些資料組態但不支援其他資料組 態°因此’一特定解碼器實施例可經設計以以特定資料組 態為目標且可捨棄其他資料組態。舉例而言,一解碼器實 施例可支援每胞3位元及每胞4位元之密度設定但不支援每 胞5位元或更多位元之密度設定。然而,以此方式彼此區 分解碼器實施例之功能表明在本文教示之範疇内之對錯誤 校正之一常見方法且因此表明類似裨益。 參照圖6,一 Viterbi解碼器/偵測器61〇在一 [SB路徑012 上自傳入之TCM符號串流接收lsb,該TCM符號串流係由 自έ己憶體讀取之胞值之類比至數位轉換所致。熟習通信工 程技術者將熟悉此一 Viterbi偵測器,且因此將出於簡要之 目的不在本文中重複此等說明。自該類比至數位轉換接收 之TCM符號中之每一者與原始的經編碼_流具有相同結構 (見圖2) ’但可將額外位元附加至每一符號之最低有效部 麵2d0C -54-
S 201214439 分。此等額外位元係由高解析度類比至數位轉換所致,且 提供具有關於每一LSB之精確度之額外位元。換言之,可 藉助比寫入該等TCM符號之解析度更高之一位元解析度讀 回該等TCM符號。此等額外位元稱為「軟位元」且由 Vlterbl偵測器用於藉助比在沒有該等軟位元之情況下可能 的解析度更高的解析度來感測每一 LSB之值。使用軟位元 之Viterbi偵測器之某些實施例可使用三個或四個額外位 7C ’但亦可使用更多或更少。然而,應瞭解,並不要求使 用軟位元以達成本文所揭示之諸多裨益,但仍藉助此等軟 位7G之使用進一步增強錯誤校正效能。該%4比〖偵測器硬 體之一實施例可設計用於一個特定解碼組態,或可支援一 個以上解碼組態,於此情形下,該Viterbi债測器可在經由 韌體480由微處理器412程式化時透過參數暫存器區段々^ 中之各種暫存器來參數化。不考量是否參照組態而固定或 係可程式化的,一 Viterbi谓測器實施例包含第一及第二迴 旋夕項式與第一及第二削減多項式,其皆在參數暫存器區 奴410中可用。該等迴旋多項式判定實施於該Vherbi偵測 器中之-解碼晶格,且該等削減多項式識別該lsb串流中 相對t在不使用削減多項式之情況下將由一迴旋編碼器 (在本實例中’圖3及圖4之迴旋編碼器)產生之非削減位 元串机之位元子組。作為該Viterb偵測器之輸出,該 Viterb偵測器產生反映提供至編碼器之原始lsb串流之内 容之—經解碼位元串流。自一實踐立場’某些位元錯誤將 出現在TCM LSB串流中’且使得…如叫貞測器之行為保持 I56482.doc •55- 201214439 為一錯誤校正偵測器,此等位元中之某些將由該Viterbi偵 測器校正。然而,可通過其他位元錯誤,且偵測器中之後 續功能之任務係偵測及校正此等通過的錯誤。 一解映射器620將在一MSB路徑623上自類比至數位轉換 接收之MSB串流轉換回預編碼MSB形式。舉例而言,在該 編碼器應用格雷至二進制編碼之情況下,該解映射器轉換 回至格雷碼形式。該解映射器亦提供該編碼器之位階轉 DAC功能472(見圖4)之一反轉。應注意,來自Viterbi解碼 器6 1 0之經迴旋解碼之LSB係指向尚待闡述之一重編碼器 622及一 LSB缓衝器624。由於位階轉DAC 472可提供經解 碼TCM符號至胞目標值之比例縮放之選項,因此在使用盡 可能近地反映原始胞目標之讀回值時可增強解碼過程準確 度以便獲得一適當地無錯誤TCM解碼。來自ADC值及來自 重編碼器622之MSB之一組合將輸入值提供至允許此增強 準確度之解映射器。該解映射器之一輸出625係經解映射 之MSB。經解碼TCM符號之LSB係自一 Viterbi解碼器輸出 6 2 6獲取。 重編碼器622基於由Viterbi解碼器610提供之結果重建意 欲係一原始經編碼位元串流之串流。由於某些偶然錯誤可 出現在Viterbi偵測器輸出中,因此在630處之一經重編碼 之串流可係該原始經編碼位元串流之近似值。期望盡可能 接近地獲得經迴旋編碼LSB之LSB之原始編碼以針對由圖4 之位階轉DAC 472最初執行之正向變換找出一適當精確的 反向變換。以一稱微不同的方式陳述,Viterbi解碼器610
156482.doc -56- S 201214439 將錯誤校正應用於自ADC值獲取之傳入LSB,以使得 Viterbi解碼器之輸出626上之經解碼LSB更精確地反映編碼 器側上之原始無錯誤LSB。重編碼器622本質上係另一迴 旋編碼器300(見圖3及圖4),其重現包含由解映射器620使 用之碼位元之LSB以更精確地重現MSB。因此,重編碼器 622將包含碼位元之原始經迴旋編碼LSB至少在該等組件 之精確度限制範圍内提供至解映射器620。該解映射器基 於傳入MSB及來自重編碼器622之經迴旋編碼LSB在輸出 625上產生MSB。MSB及LSB資料路徑中之除解映射器 620、Viterbi解碼器610及重編碼器622外之組件可稱為一 解映射配置641。 一 MSB緩衝器640自解映射器620之輸出接收經解映射之 MSB。在回應於一 MSB計數器644請求該等MSB時此後一 缓衝器接收該等MSB位元並將其轉發至一 MSB FIFO 642。 每次MSB計數器644藉由將10個位元之累積報數至MSB緩 衝器時,MSB緩衝器640即將具有RS符號大小之位元群組 輸出至MSB FIFO 642。該RS符號大小之群組直接對應於 在圖4中之編碼功能期間原始創建之RS符號。在圖6中圖解 說明之每胞4位元組態將該MSB緩衝器利用為3個位元寬 (與圖2—致),但此係實例性且可相依於MSB寬度之參數設 定針對此缓衝器(及針對有關資料路徑之剩餘部分)建立其 他寬度。同樣地,RS符號寬度係10個位元(如圖2中所 見),但在自RS符號至TCM符號及自經解碼TCM符號返回 至RS符號之轉換中可使用其他RS符號寬度(及其他壓縮配 156482.doc -57- 201214439 置)。 LSB緩衝器624自Viterbi偵測器610接收經解碼LSB串 流。此緩衝器接收該等LSB位元並在一 LSB計數器648請求 額外LSB位元時將位元輸出至多工器646。LSB計數器648 控制多工器646之操作。在LSB計數器將10個位元之累積 計數至LSB緩衝器_時,該多工器將一LSB RS符號自LSB 緩衝器透過多工器646發送至RS解碼器650。在所有其他時 間處,將MSB RS符號累計至MSB FIFO中。在透過多工器 646將一 LSB RS符號傳送至RS解碼器650之後立即將]VISB FIFO之内容透過多工器646傳送至RS解碼器650。由於多 個MSB RS符號將包括此傳送,因此可每區塊間隔一個符 號地將MSB RS符號傳送出該MSB緩衝器直至已透過多工 器646將所有可用符號傳送至尺8解碼器65〇。儘管在圖6之 貫轭例中,该LSB緩衝器係一個位元寬,但可相依於lSB 寬度之參數設定針對此緩衝器(及針對有關資料路徑之剩 餘部分)建立一個以上位元之寬度之實施例。 在MSB计數器644之控制下,MSB FIF〇(先入先出)642自 MSB緩衝器640接收RS符號。此等符號當在MSB FIF〇中重 新累積時與在圖4之編碼器2〇中自使用者資料輸入串流及 藉助RS編碼器402(圖4)之動作原始創建之RS MSB符號相 同。该MSB FIFO確保由解碼器iTCM部分返回之所有^ 符號係以同-次序重新累積,藉以在編碼過程期間將其分 派至TCM編碼器。在某些實施例中,由於msb資料路徑以 一較快資料速率(每TCM符號3個MSB位元對在具有削減之 156482.doc -58-
S 201214439 情況下每一 LSB位元少於1位元)操作,因此該MSB FIFO提 供一 RS符號管理功能。在圖2之資料結構實施例中,在該 序列中存在其中LSB符號邊界與MSB符號邊界與TCM符號 邊界一致之點。在編碼模式下,可做出一任意決策:是將 一 LSB RS符號還是一MSB RS符號傳輸至TCM編碼器:可 先發送該MSB RS符號還是先發送該LSB符號。任一情形皆 可係有效的,但在解碼模式下,重建序列必須與該編碼模 式所產生之序列完全地相同。該MSB FIFO允許相對快速 移動的MSB符號之暫時儲存以使得可以正確次序選擇MSB RS符號。就此而言,應瞭解,該等MSB RS符號在完成時 不能簡單地傳送至RS解碼器,乃因MSB RS符號係以比 LSB RS符號更快之一速率完成,導致一不正確的重建序 列。舉例而言,如上文參照圖2所述,在完成RS 1之前完成 RS2至RS5。因此,該MSB FIFO將保留RS2至RS5直至RS1 完成。在將RS2至RS5傳送至解碼器650之前將RS1傳送至 RS解碼器650。每次該MSB缓衝器取得RS符號長度之若干 位元時,該MSB FIFO即自該MSB緩衝器接收一額外RS MSB符號,並在每次多工器646啟用自MSB FIFO至RS解碼 器650之路徑時將一RS MSB符號發送至多工器646,此發 生於MSB及LSB計數器之控制下以維持RS符號在RS解碼器 650處之正確序列。
MSB/LSB符號多工器646合併來自MSB FIFO 642及LSB 緩衝器624之分別表示由Viterbi解碼器610及解映射器620 產生之解碼後TCM符號之MSB及LSB部分兩者之經重建RS 156482.doc -59- 201214439 符號。經重建之RS符號係由MSB FIFO 642及LSB緩衝器 624產生,如上文所述。在MSB計數器644及LSB計數器 648之控制下,自MSB FIFO輸出及LSB緩衝器輸出選擇10 位元數量,並將其合併成意欲同樣地匹配由圖4之編碼器 20之RS編碼功能原始產生之序列之一 RS符號序列。 MSB計數器644係一增序計數器,其增序計數直至一完 整MSB RS符號可自MSB FIFO 642獲得。當一完整MSB RS 符號可用時,該MSB計數器傳訊多工器646且經由該多工 器將該十位元符號傳送至一 RS解碼器650。針對每一時間 遞增量t,三個MSB位元對多工器646可用。因此該MSB計 數器每一時間遞增量遞增一值3。在本實施例中,由於每 一 RS MSB符號係由十個位元組成,因此該MSB計數器將 要求4個時間遞增量以最初允許在MSB FIFO 642中累積一 完整RS符號。此刻,計數器係12。該計數器將一完整MSB RS符號之可用性傳訊至多工器646,並將其計數遞減10以 使得當前計數為2。由於4個時間遞增量累積總計12個MSB 位元’因此留下兩個位元用於分配至下一 MSB RS符號。 因此,3個時間遞增則提供額外9個位元以使得11個位元可 用’其中此等位元中之1個留下用於下一 MSB RS符號。此 刻’計數為11。該計數器將一完整MSB RS符號之可用性 傳訊至多工器646並將其計數遞減1 0以使得當前計數為1。 在留下1個位元之情況下,接下來的三個時間遞增將提供9 個位元以提供一完整MSB RS符號以及1個留下的位元。此 刻,計數為1 0。該計數器將一完整MSB RS符號之可用性
156482.doc .60- S 201214439 傳訊至多工器646並將其計數遞減丨〇以使得當前計數為〇。 因此,此過程繼續,其中每次該MSB計數器將一完整msb RS符號之可用性傳訊至多工器646時其將其計數遞減ι〇。 在其中存在每記憶體胞兩個MSB之一實施例中,每一時間 遞增該MSB計數器將遞增2。類似地,在其中存在每記憶 體胞四個MSB之一實施例中,每一時間遞增該MSB計數器 將遞增4 ^ LSB計數器648以除了經每一時間遞增該LSB計數器遞增 一值1外與MSB計數器之計數類似之一方式增序計數。因 此,该LSB計數器指示回應於每丨〇個時間遞增之一完整 LSB RS符號之可用性。該LSB計數器然後重設至〇並重新 計數至值ίο。在一完整]^沾RS符號可用時,該LSB計數器 傳訊多工器646且經由該多工器將1 〇位元符號傳送至RS解 碼器650。在3亥lSB計數器及該MSB計數器同時指示一 rs 符號之可用性時,多工器646將優先權賦予LSB RS符號並 首先獲取彼符號以重建原始RS符號串流。在其中存在每記 憶體胞兩個LSB之一實施例中,每一時間遞增該LSB計數 器將遞增2。類似地,在其中存在每記憶體胞三個^3之 一實施例中,每一時間遞增該LSB計數器將遞增一值3。 藉助等於TCM符號654之數目之值『TCM碼字長度』初 始化一 TCM計數器652,其中該值『TCM碼字長度』表示 組成將執行之傳送之TCM符號之精確數目。亦可在該解碼 開始接收—ADC值串流之前直接自參數暫存器區段41〇獲 得TCM符號之數目。該簡計數器之計數針對每一 tcm符 156482.doc •61- 201214439 號經解碼而遞減1。在該計數變為〇時,將該當前區塊之解 碼過程結束之一指示指示至CPU 412,以使得已達到該序 列之末端。相依於该實施例,此事件可實現cpu 412設定 可要求或可不要求重新載入參數暫存器區段41〇之另一編 碼序列之動作。應注意,TCM計數器之當前計數值以及改 變為0兩者皆由TCM計數器用作控制指示。舉例而言,大 於〇之值標示一序列相對於由『TCM碼字長度』標示之總 長度之進度,且改變為0指示序列完成。 藉助直接獲得或自儲存於參數暫存器區段41〇中之第一 削減多項式及第二削減多項式導出之一值661初始化一削 減型樣計數器660。出於解碼目的,該削減型樣計數器值 用於谶別Vi ter bi解碼器如何處置所接收lsb串流中之每一 位元。亦即,一既定位元是一資料位元還是一碼位元。該 削減型樣計數器計數亦由重編碼器622用於重建解映射器 620所使用之經重編碼LSB串流。 可在解碼器22開始接收一 ADC值串流之前藉助一 RS碼字 中之符號數目來初始化一 RS計數器662。符號數目可在一 RS符號數目暫存器664中初始化,其值係直接自參數暫存 器區段410獲得或自儲存於參數暫存器區段41〇中之值導 出。參數暫存器區段410中之判定欲載入於rs符號數目暫 存器664中之值的值包含『rs資料長度』及『RS奇偶長 度』’通常為此兩個值之總和。此等值係以rs符號為單 位。在解碼器22產生一 RS符號串流時,RS計數器在在 MSB FIFO 642及LSB緩衝器624之輸出處產生RS符號時對 156482.doc
S -62- 201214439 其減序計數。該RS計數器在已藉由在本實施例中遞減至〇 而計數最後一 RS符號之後產生標示序列結束之一信號。此 條件可用作RS解碼器之指示當前傳送結束之一終止控制。 在其他實施例中,MSB計數器、LSB計數器及RS符號計數 器可經組態以增序計數或以增序計數及減序計數之某一適 合組合。 在解碼上下文中,在接近一傳送序列之末端處使用 RS/LSB限制比較器454以確認組成若干最後LSB Rs符號之 最後位兀係若干〇 ^該比較器偵測該RS計數器自大於LSB 限制值之值至小於或等於LSB限制值之一轉變。此轉變又 致使多工器646合作以不再自LSB緩衝器624獲取位元及用 〇值位元完成所有剩餘LSB RS符號,如下文將參照LSB限 制490進一步闡述。該等LSB及MSB資料路徑中之組件及 自LSB緩衝器624及MSB緩衝器64〇達至多工器料6且包含 多工器646之支援組件可稱為一解壓縮配置668。 在多工器646及前置邏輯組成一 RS碼字之後,rs解碼器 650接收該碼字。一旦該尺8解碼器已擁有一完整rs碼字, 該R S解碼操料可進行。細解碼ϋ之功能係在接收該 等RS碼字後將其解碼並制隸正可出毅所接收^符 號中之任何錯誤。熟習此項技術者在獲知本揭示内容之情 況下將瞭解該RS解碼器之操作。目前,足以注意到調 解碼器能夠校正每—RS碼字内之某—數目個符號。如在本 發明中S前論述’-咖字係由料部分及—奇偶部分 組成。該職碼ϋ❹細碼字之奇偶部分㈣及移除 156482.doc • 63 - 201214439 該資料部分之錯誤。該以解碼器僅需返回對應於提交至圖 1 之編碼器20之原始使用者f料之該資料部分。細解石馬 益產生具有等於在參數暫存器區段410中識別之RS資料長 度之值之-長度的-RS符號技。在斷定該以解碼器伯 測到之任何錯誤係至輸出之前將其應用於該等輸出符號。 在藉助交錯來儲存該等傳入ADC值時,可以一交錯方式 將多個RS碼字提供㈣解碼器。在―單個碼字或交錯碼 字組態下,參數暫存器區段41〇中之RS交錯因數之值界定 -特定交錯組態。RS解瑪器㈣藉由將其接收之rs符號串 流解碼為非交錯式或交錯式來適當地回應。 在選擇一交錯組態時,如RS交錯因數值大於丨所證明, 參數暫存器區段410中之『Rs資料長度』及『Rs奇偶長 度』之值對應於交錯長度。舉例而言,在Rs交錯因數為4 之情況下,『RS資料長度』對應於四個交錯資料部分之長 度,且『RS奇偶長度』之值係四個奇偶部分之長度。應注 意,上述併入之,546申請案之圖12、圖13、圖15及圖“圖 解說明具有四個交錯之一資料結構。 LSB限制490指定LSB部分中在解碼序列末端處被迫使為 0之位元之數目。LSB限制490之值作為一計數值係以尺3符 號單元來命名,且在RS計數器遞減至〇時與Rs計數器值相 比較。该L S B限制之值通常係一小的整數,且對應於在最 後RS LSB符號之補零開始之時該序列中剩餘之RS符號之 數目。此一實例係在圖2中之其中RYNd)符號出現時展 示。RS(N-l)之出現對應於其中該等最後LSB符號位元[在 156482.doc -64 -
S 201214439 RS(N-7)中]為〇之時。 在RS計數器針對供應至RS解碼器650之每一尺8符號遞減 時’比較該LSB限制與RS計數器662中之值。在該RS計數 器遞減至小於或等於該LSB限制之一值時,如RS/LSB比較 器454所判定’將0插入至發送至RS解碼器之LSB RS符號 中。亦即,其中LSB限制與RS計數器之間的等式比較出現 之時標示藉由開始補零來建構LSB符號之方式之一模式改 變。儘管該RS計數大於LSB限制值,但用Viterbi解碼器 610所產生之位元來填充rs [SB符號中之位元。在該rs計 數器變得等於或小於限制計數時,如RS/LSB比較器454所 判疋,用0來填充額外LSB RS符號之資料位元。此繼續直 至最後LSB RS符號已被填充為止。 RS至使用者資料壓縮670係組成解碼裝置之最後區段。 將長度『RS資料長度』(見參數暫存器區段41〇)之該組RS 符號自RS格式轉換成使用者資料格式。在圖7之實施例 中,此轉換係自10位元符號至8位元符號之一轉換,如所 指示。當然,在RS格式不同於10位元或使用者資料格式不 =於8位元之情況下,則該轉換將係基於當前組態下此等 寬度之定義而自RS符號格式至使用者資料符號格式。 勃體480在由微處理器412執行時指示解碼器22之操作。 特定而言,該微處理器與參數暫存器區段41〇介接。該微 處理器可將值寫人至暫存以制定欲應用於供應至解碼器 之ADC值之當前串流之料可能解仙態巾之—者。微處 理器在執行勃體480指令時可被指示在該解竭器未積極: 156482.doc -65· 201214439 碼-ADC值串流時隨時修改值以改變該解碼器自一個組態 至另-組態之程式化。以此方式,可將參數暫存器區段 410中展tf之所有參數之諸多組合應用於解碼器之一特 疋實施例。作為一個實例,可改變該解碼器組態以反映傳 入ADC值之位元密度之—改變。 應注意,參數暫存器區段41〇參照所儲存之各種值係未 經改變的’不論是將執行—解碼資料操作還是―編碼資料 操作。然巾’自韌體480之觀點,可稍微不同地檢視各種 參數。因A ’該等參數將在下文中在一解碼操作之架構内 至少部分地立即論述M盡管可出於更進一步闡釋性目的而 提供額外細節。 使用者資料長度:在解碼之後必須施加至輸出之使用者 資料長度。此值之單位在正常情況下係位元組,因此使用 者資料長度意指-使用者資料單元中之位元組數目。 RS校正容量⑺:RS解碼器在—個rs碼字中能夠成功地 偵測及校正之符號錯誤之數目。在應用交錯之情況下,則 將此值應用於一單個交錯,且可茲山> w 乂筇且可藉由交錯而校正之符號之 總數目係此數目乘以RS交錯因數。
Rs資料長度:此係將一使用者 _ 〇 從用有貢科早儿變換成之RS符 號之數目。在一 R S符號中之位亓封n ^ Λ 數目不同於一使用者資料 符號中之位元數目之情況下,則此數目不同於『使用者資 料長度』。在圖6之上下文^ 你_ <上卜又t ,使用者資料符號單元係一 位元組且RS符號含有10個位元,因此於此情形下資 料長度』將小於『使用者資料長度』―因數8/1〇。 156482.doc -66 - 201214439 RS資料長度:在Rs交錯因數大於ι之情況下所有交錯之 組合長度。 奇偶長度.根據當前組態一 Rs碼字之奇偶部分所要 求之RS符號之數目。此值可係自rs校正容量導出,但可 作為一獨立暫存器值實施於某些實施例中。 『RS交錯因數:組成構成儲存於參數暫存器區段410中之 資料長度』及『RS奇偶長度』值之總和的符號長 度之交錯RS碼字之數目。交錯數目通常係—相對小的整 數。 >〇 、·束長度.接叉一迴旋編碼器中之資料之移位暫存 器(見圓3,移位暫存器綱)中之位元數目加卜來自該迴旋 ' ’’、Γ之每輸出位元係至該編碼器之當前輸入位元加上 移位暫存器中之最新近先前位元之某一組合。 第一迴旋多項式:兩個迴旋多項式中之-者。此多項式 中,係數數目與迴㈣束長度相同。在解瑪情形下,第一 、方疋多項式建立欲由Viterbi^測器61〇應用於相對於應用 、。疋多項式而出現之輸入串流中之彼等位元之解譯。 在某二實轭例中,可將此多項式應用於Viterbi解碼器中之 選擇對應於特定迴旋多項式之分支決策組態之實施方案特 徵—匕括一 Viterbi偵測器之特徵之實施方案係由熟習此項 技J者所熟知。舉例而言,見Wicker、B之 ntrol Systems for Digital Communications and #」(1995 ’ Prentice-HaU’ 第 12 章(290 至 332 頁)),其 以引用的方式併入本文中。 156482.doc -67· 201214439 第二迴旋多項式:兩個迴旋多項式中之第二者,其係數 用於使用當前輸入位元及移位暫存器計算兩個迴旋編崎器 輸出位元中之第二者。在解碼情形下,第二迴旋多項式建 立由Viterbi偵測器應用於相對於應用第二迴旋多項式而出 現之輸入串流令之彼等位元之解譯。在某些實施例中,可 將此多項式應用於Viterbi解碼器6 1 0中之選擇對應於該特 定迴旋多項式之一分支決策組態之實施特徵。包括— Viterbi價測器之特徵之實施係由熟習此項技術者所熟知。 舉例而言’再次見 Wicker、Stephen B之「Error
Systems for Digital Communications and Storage Λ (\995,
Prentice-HaU,第 12 章(290至 332 頁))。 第一削減多項式:參照削減與第一迴旋多項式合作地建 立對Viterbi偵測器610之每一輸入之解譯之兩個多項式中 之一者。作為自一個以上可能的第一削減多項式進行選擇 之一項實施例’可以使得將適當的解碼步驟應用於一經削 減輸入串流以重建適當的解碼序列之一方式參照來自多個 可此*削減多項式中之一者之選擇藉助組態viterbi解碼器操 作之此力實施5亥ViterbH貞測器。在viterbi偵測之上下文中 應用削減係由熟習此項技術者所熟知。舉例而言,再次見
Wicker、Stephen B之「五rror /or (1995,Prentice_Hal卜第 12 章(290至332頁))。針對如何參照一可程式化迴旋編碼器應 用上文之一圖解說明見圖3。 第一削減多項式:此係判定削減之兩個多項式中之第二 -68- 156482.doc
S 201214439 者。該值與該第二迴旋多項式一起建立對Viterbi该測器 610之每一輸入之解譯。作為自一個以上可能的第二削減 多項式進行選擇之一項實施例,可以使得將適當的解碼步 驟應用於一經削減輸入串流以重建適當的解碼序列之方式 參照來自多個可能的削減多項式中之一者之選擇藉助組賤
Viterbi解碼器操作之能力來實施該viterbi偵測器。在
Viterbi偵測之上下文中應用削減係由熟習此項技術者所熟 知。舉例而言,再次見Wicker、Stephen B之「五rr〇r
Control Systems for Digital Communications and Storage (1995,Prentice_Hall ’第 12章(29〇 至 332 頁))。針對如何參 照一可程式化迴旋編碼器來應用上文之一圖解說明見圖 3 ° 位元密度設定:NV記憶體中之每胞所儲存之位元數 目。至少部分地藉由位元密度設定之值判定該參數暫存器 區段中之諸多其他參數。應注意,伴隨使用本文已揭示之 教不之優勢參照在一記憶體胞所儲存之不同位階之間轉變 之準確度與將位元密度至少增加至某—實際限制成正比。 該位元密度設定係MSB、LSB與編碼器及解碼器中之組合 TCM符號資料路徑之寬度之主要決定因素。圖6之解碼: 及圖4之編碼器係參照位元密度設定係4個位元之事實的實 例f生貫施例。其他編碼器及解碼器實施方案可使用每胞3 個位7L,其中TCM符號寬度變成3個位元而非4個位元。亦 可應用大於4之位元密度設定。在選擇等於5之一位元密度 設定之情況下,分別地,每- TCM符號之MSB部分可由3 156482.doc -69- 201214439 個或4個位元組成且該LSB區段可由2個位元或1個位元組 成。該LSB部分中大於1位元則將要求能夠處置2位元寬之 編碼的一迴旋編碼器及Viterbi解碼器。迴旋多項式及削減 多項式之應用類比於單位元迴旋編碼器(見圖3之迴旋編碼 器 300)。 TCM中之MSB寬度:從屬於位元密度設定之一值(見上 文關於位元密度設定之論述)。圖6之解碼器22使用一位元 密度設定為4,其中每一TCM符號之MSB部分之寬度等於3 個位元,且每一 TCM符號之LSB部分之寬度等於1個位 元。如上文所述,可使用其他組合。 TCM中之LSB位元寬度:從屬於位元密度設定之另一 值。圖4之解碼器22使用一位元密度設定為4,其中每一 TCM符號之MSB部分之寬度等於3個位元且每一 TCM符號 之LSB部分之寬度等於1個位元。如文中所述,舉例而 言,參照上述位元密度設定之其他組合亦係適合的。其他 實施例及組態可包含在TCM符號之LSB部分中使用一個以 上LSB。在如此做之彼等組態下,LSB位元寬度值作為由 微處理器412程式化之一值指定每一 LSB部分大於1之一組 態。一特定實施例將能夠具有最大數目個LSB。某些實施 例可僅接受一值1 ;而其他實施例可接受值2或更大。應瞭 解,使用者指定資訊(舉例而言,見圖5之步驟504)可包 含:使用者資料長度、RS容量(T)、RS交錯因數、位元密 度設定及迴旋與削減參數。此等物項皆係變數,其可合作 以判定序列大小及一伴隨的錯誤控制附加項。可自此等基
156482.doc -70- S 201214439 長;^其他或次級參數。料切參數可包含Rs資料 能不約m使用者選擇可 而使用者本身’而是指可由與基於在(舉例 用:二7特定系統時做出之某些外部判定而建立之使 用模式有關的考量而判定之組態變數。應瞭解,可馨於此 r揭示内容以任-適合方式組織各種參數並使其相互關 聯0 CM馬子長度.發达至解記憶體及/或自㈣記憶體擷取 之貝料傳运早tl之總長度。在一既定儲存組態下,此值 係常數且不在儲存(亦即,寫入)操作與讀取操作之間變 化。其與包含以下各項之其他參^之多數參數有關: 『使用者資料長度』、『RS校正容量』、『Rs資料長 度』、『RS奇偶長度』、『Rs交錯因數』、『迴旋約束 長度』、『迴旋多項式』、『削減多項式』及『位元密度 設定』。其通常由微處理器412儲存為一獨立值,且將參 照恰好傳送TCM碼字中之若干TCM值而控制編碼器功能。 應瞭解,本文已揭示之解碼裝置及相關聯方法各自合作 以提供所有該等裨益’該等裨益中之至少某些係參照基於 逐碼字地改變碼效率之能力在上文闡述。 圖7圖解說明通常由元件符號700指示之一種方法之一項 貫施例,其可在圖6之編碼器22上操作且可同等地應用於 其他實施例。舉例而言,方法7〇〇可應用於使用除每胞4個 位元外之位元密度之實施例。 方法700在開始步驟702處開始並進行至設定。在步 156482.doc •71· 201214439 驟704中彳將各種參數載入至圖4之參數暫存器區段梢 中以及任何其他期望的暫存器位置中。應暸解,該等參數 中之某些可係使用者指定的,諸如(舉例而言)^^校正容量 及U疋夕項式而其他參數(諸如,舉例而言,Μ奇 偶長度及TCM碼字長度)可基於使用者指定參數來判定。
資料抓在由mGG處置時以自目i之記憶體丨4讀取之ADC 值開始。 在步驟706處,自至NV記憶體之介面接收ADC值(見圖 1,物項14)。接收總計『TCM碼字長度』(在圖6之參數暫 存器區段41〇中指定)個ADC值,其中每一 ADC值對應於一 個TCM符號。應瞭解,該等ADC值與圖5之編碼方法5〇〇所 產生之經編碼TCM符號不同之處為,該等ADC值反映由具 有附加『軟位元』之解碼器接收之符號。此一組態可反映 以比最初將該等ADC值寫入至記憶體中之解析度高之一解 析度讀取該等值。在支援軟解碼之情況下,軟位元之數目 可發生變化,但某些實施例可使用自〗個位元至4個位元中 之任一者。在使用軟位元進行解碼之情況下,可在本發明 之範疇内使用各種實施例。在圖6中(其係藉由舉例而提供 之一實施例),軟位元可計入所接收「與」值中之3個位元 中以使得總計接收7個位元《軟位元係表明為「次LSB」 值,其中其佔據比ADC串流中之最低有效LSB之有效性更 低之一算術有效性。Viterbi解碼器3〇〇在使用軟位元之情 況下辨識此等軟位元並在其解碼過程中使用該等軟位元。 軟位元增強該位元串流(若使用)中之LSB錯誤之谓測及校 -72- 156482.doc 3 201214439 正。軟Viterbi解碼器係由熟習此項技術者所熟知,且因此 將出於簡要之目的不在本文中重複關於其之細節。就此而 5向s賣者提及(舉例而言)wicker、Stephen B.之「
Control Systems for Digital Communications and Storage 2 (1995,Prentice_Hall,3〇1至3〇5頁),其以引用的方式併 入本文中以提供額外細節。 步驟706之結果係兩個符號串流:『TCM碼字長度』個 MSB之一串流’其中每一MSB具有由參數暫存器區段41〇 中指定之當前組態所界定之一寬度,及『TCM碼字長度』 個LSB之一串流,其中每一 LSB具有由當前組態類似地界 疋之寬度。在當前組態使用軟位元之情況下,該等軟位元 表現為LSB攔位之一『次LSB』擴充,如先前章節中所 述。 在步驟708中,在一項實施例中’ lSB串流係由viterbi 迴旋解碼器610解譯及解碼,如圖6之解碼器實施例22中所 展示。在本實施例中,該迴旋解碼器可藉由程式化而重組 態以便能夠解碼由『迴旋約束長度』值、第一及第二迴旋 ^項式與第一及第二削減多項式(其皆可在參數暫存器區 段中獲得)界定之不同迴旋碼組態。解碼導致產生『 碼字長度』之解碼後LSB之—串流。該等資料位元在其存 在於經解碼位元串流中時係Vitei^解碼器選擇為最可能組 成先前由圖5之RS至TCM壓縮前步驟51〇所接收之原始咖 位元_流之位元。由於藉由解碼來操作之串流已通過編碼 (圖5)且然後儲存於記憶體14(圖〇中,因此在與機值分 156482.doc -73· 201214439 離之後提交至Viterbi解碼步驟708之LSB位元可在由viterbi 解碼7 0 8解譯該串流時已取得錯誤。然而,該解碼器之行 為係意欲偵測及移除此等錯誤之某些部分以使得vjterb丨解 碼器輸出展現比出現於Viterbi解碼器輸入處之錯誤數目更 少比例之錯誤。在諸多情形下,Viterbi解碼器輸出將係無 錯誤的,且然後在此過程之剩餘部分期間不需要額外錯誤 校正。然而,在任一情形下,剩餘的處理步驟可用於移除 在708處之Viterbi解碼之後仍剩餘的錯誤。 在步驟708之後,將該rTCM碼字長度』之解碼後lsb 符號輸入至一重編碼步驟710,該重編碼步驟71〇使用經 Viterbi解碼之LSB嘗試重建一『編碼後』(亦即,經編 碼)LSB位元牟流。亦即,重編碼步驟71〇有效地操作為一 Viterbi編碼步驟以重現最初在圖5之編碼過程5〇〇期間插入 之碼位元。執行該重編碼步驟以出於重編碼串流與『預解 碼』$流相比錯誤更少之原因產生一重編碼串流供用於替 換進入Viterbi解碼步驟708之原始『預解碼』lsb串流。如 所提及,該重編碼步驟與一迴旋編碼步驟類似之處為,以 一迴旋編碼序列應用相同參數(參數暫存器區段4ι〇之迴旋 約束長度、第-及第二迴旋多項式與第—及第:削減多項 式)。來自重編碼步驟71〇之輸出係解碼器對『tcm碼字長 度』之LSB之原始『編碼後』LSB序列之最佳估計。 步驟712在由圖6之解映射器62〇執行㈣於由步驟川產 生之重編碼串流對步驟,所產生之咖進行操作。娜 在解碼過程中之此刻形成在參數暫存器區段4ig中指定之 156482.doc
S -74 - 201214439 『額碼字長度』之MSB部分 A …值自—經編碼形 式至未經編碼形式之一解映射 、 且具係圖5之步驟5 14 之反向變換《步驟712可如步驟514 _ 郑14之凊形依據邏輯閘或一 查s旬表來實施。應瞭解,在正向 向及反向例項之情形下,分 別參照映射器450(圖4)及解映射哭62〇rig^、、 听啊耵态δ20(圖6)以及映射步驟 514(圖5)及解映射步驟712(圖7) 、闕/)在輸入與輸出之間存在 一對一關係。每一輸入針對映射器及解映射器二者具有一 個且僅-個正轉輸出值。亦即,映射器與解映射器之間的 關係係彼此完全反向的。在本實施例中,該映射係可由熟 習此項技術者鑒於此揭示内容而易於實施之二進制至格雷 碼轉換。而且,僅在對編碼器側應用一反向的格雷碼轉二 進制轉換之情況下執行此轉換。該經重編碼LSB _流之使 用藉由致使解映射輸出更緊密地匹配在編碼期間由步驟 5 14產生之原始經編碼MSB串流之原始mSB來達成一改良 結果。來自步驟712之輸出係一組『TCM碼字長度』之 MSB符號》 在步驟714中’自步驟7〇8接收解碼LSB串流,且出於合 併成『TCM碼字長度』之解碼後TCM符號之一單個串流之 目的自步驟712接收該MSB串流。此刻’將該串流復原成 由圖2之一實例性情形中所呈現之同一格式,其中一 tcm 符號串流覆疊一RS符號配置。進一步地,多工器646與涉 及圖6之MSB緩衝器640、MSB FIFO 642、LSB緩衝器 624 ' MSB計數器644及LSB計數器648之有關操作容納該 兩個_流之合併。步驟714之結果係一 TCM符號串流,其 156482.doc •75- 201214439 係作為具有經由參數暫存器區段410之寬度『位元密度設 定』之一符號序列來輸出。 於此處’將『TCM碼字長度』之解碼後TCM符號轉換成 RS表示。該過程與圖2中展示之實例性情形相同。將msb 及LSB轉換成其各別RS符號表示,且在位元位置處將來自 MSB及LSB二者之對應位元取代成對應rS符號以使得至少 在系統能力内可獲得RS符號及其内之位元作為由編碼序列 創建之原始未經編碼序列(見圖6)之精確配置。 在步驟716處,將來自步驟714之經合併1^8/1^3串流壓 縮成預解碼RS符號之一經重建串流。應注意,此步驟係透 過圖6之多工器646自MSB路徑及LSB路徑選擇性地饋送至 RS解碼器650中之操作來實施。由步驟716所致之經重建串 流包含使用者資料(以RS符號格式)及RS奇偶符號兩者。輸 出串流之長度係經由參數暫存器區段4丨〇之『RS資料長 度』與『RS奇偶長度』之總和。此RS符號串流與原始的 TCM編碼前符號_流之間的差存在於當前串流之含有回應 於迄今為止之寫入及讀回過程而剩餘的錯誤之潛能中。涉 及RS解碼之後續步驟起到偵測及移除當前輸出符號中之錯 誤符號之作用。 RS解碼包含步驟718及720。最初’步驟718接收由步驟 716產生之RS符號串流以便計算稱為症狀碼之一組值。症 候碼計算以長度為『RS符號長度』加上『Rs奇偶長度』 之該組RS符號開始,並使用此等來計算症候碼。作為一 RS解碼步驟,症候碼計算係為熟fRS解碼技術者所熟 •76- 156482.doc
S 201214439 知。因此,將出於簡要的目的不再提供某些細節。出於此 目的,足以注意到症候碼之數目總是與相對於一既定大小 之RS碼子之奇偶符號之數目相同,因此參數『rs奇偶長 度』適用於症候碼之管理。在選擇交錯之情況下,奇偶符 號(及症候碼)之數目對應於由經由參數暫存器區段41〇之 『RS奇偶長度』除以『rs交錯因數』之值。 將在步驟718中判定之RS症候碼應用於步驟72〇中以偵測 及校正可出現於每一『RS資料長度』之尺8符號單元中之 任何錯誤符號。該等『RS奇偶長度』症候碼由一演算法程 序用於在任一症候碼具有非零值之情況下計算錯誤之位置 及值。在所有症候碼皆係零值之情況下,則跳過該代數校 正程序,乃因所有症候碼中之一零值係所有RS符號輸入之 正確性(無錯誤)之一指示。 在不滿足全零準則之情況下,在將每一『RS資料長度』 之串流作為步驟720之一輸出發佈之前應用校正過程。在 滿足全零準則之情況下,略過校正程序並將『RS資料長 度』之符號之相關聯串流作為步驟72〇之一輸出來發佈。 步驟722自步驟720接收『Rs資料長度』之尺3符號單元 並藉由將RS符號資料壓縮成㈣者f料符號之—輸出串流 而將經校正之RS符號轉換成使用者資料格式。應注意,步 驟722係圖5之步驟506之-反轉。於此處’將『RS資料長 度』之符號轉換成『使用者f料長度』之使用者資料符 號其中此等參數係經由參數暫存器區段指定。在圖$ 之v驟5〇6之正向轉換要求將額外位元插入至最後RS符號 156482.doc •77. 201214439 之情況下,則此步驟在將彼符號轉換回至使用者資料格式 時自最後RS符號移除相同數目個位元。可應用不同組態, 其中RS符號寬度及使用者資料符號寬度兩者皆可變化。圖 6之解碼器22展不一解碼器22之一實施例之一組態,其中 RS符號大小係1〇個位元(如離開Rs解碼器65〇所指示),且 使用者資料符號大小係8個位元(如針對離開RS至使用者資 料壓縮器670之使用者資料所指示p 一既定實施例之其他 組態或其他實施例可採用不同大小之尺8符號及使用者資料 符號。 如上文提及,在某些實施例中,參數可針對編碼及解碼 兩者而即時改變。為此,在圖8中展示參數暫存器區段之 一項實施例,且其通常由元件符號41〇,指示。該參數暫存 器區段之此實施例併入有展示為暫存器組〇至3之多個暫存 态記憶體庫。將該等暫存器組連接至一匯流排8〇〇 ,該匯 流排又連接至CPU 412。每一暫存器組與一多工器81〇介 接。分別由兀件符號812及814指示之模式選擇線〇及1提供 用於使用多工器810選擇該等暫存器組中之任一者。每一 暫存器組可由CPU 412獨立地程式化。每一暫存器組或記 憶體庫可出於基於模式選擇線8丨2及8丨4即時選擇該等記憶 體庫中之個別一者之目的由cpu 412選擇。因此,可藉由 停用一作用中記憶體庫並啟用另一記憶體庫來實現在最小 延遲(動態地)内之組態改變β只要已將必要的參數暫存器 載入至欲使用之暫存器記憶體庫,就可藉由改變模式選擇 線所指定之值來達成暫存器記憶體庫之間的切換。應瞭 156482.doc ^
S 201214439 解’可針對一特定實施例使用任意適合數目個暫存器記憶 體庫’且藉由舉例而不意欲限制地提供使用圖8之四個暫 存器記憶體庫之實施例。 藉助匯流排800,CPU 412可回應於所選擇之操作模式之 一改變而管理任何必要暫存器。舉例而言,該cpu可回應 於改變一參數(諸如,使用者資料長度及迴旋多項式及其 他)及回應於主機器件而改變該模式。應瞭解,可以此方 式盡可能快地逐碼字地反映參數之改變。在一項實施例 中,暫存器可用於產生記憶體庫選擇信號,且此等暫存器 可在判疋§己憶體庫中之一改變係必要的時由微處理器寫 入。舉例而言,可基於記憶體胞之一配置而發生模式改變 以使得意欲根據一組參數寫入及讀取該等記憶體胞之一個 子組,且意欲根據另一組參數寫入及讀取該等記憶體胞之 一不同子組。記憶體胞子組可被處置為藉由格式化一電腦 儲存器件而創建之分割區。 參照編碼器及解碼器功能,在記憶體庫選擇0與記憶體 庫選擇1狀態改變及f料序狀間的關係巾存在暫時考量 在使用5己憶體庫化架構(banked architectures)之實施例中 κ現即時組g改變。在—項實施例中,將僅在無資料定序 活動週期期間允許記憶體庫選擇改變。亦即,言亥系統係閒 置的’或可使該系統間置。此適用於受影響功能之外部信 號活動及内部狀態活動兩者。只要此兩者係處於—閒置條 件下’即可在不影響先前資料定序之情況下實現自一個暫 存器組態至另—個之—快速改變’且然後當前暫存器改變 156482.doc •79- 201214439 可將選疋組悲應用於下一資料序列。改變之潛在變化足夠 廣泛以至少涵蓋使用者資料長度、RS容量、τ(其亦暗示 RS奇偶長度)、尺5交錯因數、迴旋多項式、削減多項式、 位元密度設定及了(:]^碼字長度之改變,其係由前述參數之 一組合判定,但可被明確地程式化至參數暫存器區段中。 應瞭解,慮及為最先進技術提供決定性優勢之一靈活性程 度,可同時改變一或多個參數中之任意數目個參數。如上 文所述,#由改變參數值來以—直接方式影響瑪效率並藉 以作為暫存器組之間的切換之一結果。 現直接關注圖9,其係圖解說明一種用於包含圖8之記憶 體庫化參數暫存器配置之—系統之操作之方法之—項實施 例之-流程圖’該方法通常以元件符號_指示。在圖9 中,由編碼器及解碼器兩者共用該等暫存器記憶體庫中之 參數。然而,在其他實施例中,解碼器及編碼器可單獨地 由各別專用暫存器記憶體庫支援。該過㈣始於開始步驟 902處。針對欲支援之任—特H態,在9G4處,Cpu 412(圖4及圖6)及勒體彻建立是否已將—期望暫存器㈣ 程式化至該等暫;g ^ p I φ ' 寸节仔盗。己隐體庫中之一者中。在判定欲使用 一新組態之情況下,操作進行至步驟9G6,其中針對該新 組態選擇一暫存5| # ,障@庙 飞仔益。己隐蛆庫。可以任一適合方式做出此選 擇:首先’可選擇先前未藉助-級態程式化之一暫存器記 憶體庫;在不存在此種未佔用之暫存器記憶體庫可用之情 況下:則做出可藉助該新組態覆寫哪—暫存器記憶體庫二 決朿在已選擇~暫存器記憶體庫之後,在908處,確 156482.doc 201214439 遇選定暫存器記憶體庫是否是作用中記憶體庫。該「作用 中」記憶體庫係當前選擇用以控制編碑器及解碼器之記择 :庫。應瞭解’可僅存在一個「作用中」暫存器記憶體 按知定義,不是作用中的所有暫存器記憶體庫皆係非 ㈣中的。可期望僅自非作用中暫存器記憶體庫中間做出 一暫存器記憶體庫之選擇。但在做出該選擇以使得該選擇 係作用t暫存器記憶體庫之情況下,則該過程返回至鳩 以做出另一選擇。另一方面’在由9〇6選擇之暫存器記憶 體庫不是作用中的之情況下則操作前進至9ig。在91〇處, c卿各種參數暫存器程式化或寫人至所選記憶體庫中, ,、中每δ己憶體庫儲存一組針對前述參數暫存器區段彻 ,該等值中之每-者。-旦已將該組態寫入至所選暫存器 j It體庫’則其就緒以供編碼器或解碼器使用。在CPU判 定將在下一編碼器或解碼器序列期間使用新程式化之組態 之If況下,則CPU在912處判定該編碼器或解碼器當前是 、先4序列接合。在答案為是之情況下,則cpu必須 在914處等待當前活動完成。暫時返回至㈣9〇4,在· 一現有組態之事件中,操作進行至步驟912。 一判疋、’爲碼器及解碼器兩者皆係非作用中的,則自步 驟914或自步驟912之—「否」決策進入步驟州。步驟㈣ 可首先禁止編碼器及解碼器以―新資料序列接合。該方法 假設在啟動新暫存器記憶體庫組態或下—暫存器記憶體庫 組態之前不起始新序列。 結合圖8參照圖9 在CPU藉由使用圖8中之線812及814 156482.doc • 81 · 201214439 來改變記憶體庫選擇之值時在918處完成下一組態之啟 動。在應用步驟916以禁止編碼器或解碼器中之序列起始 之清況下,則步驟920針對新序列啟用編碼器及解碼器。 只要已啟用、編碼ϋ及解碼器二者,該過程便在處完 成。一後續組態改變可由該CPU回應於來自該主機之一請 求而觸發,以自其它組態設定所指定之胞讀取或寫入至該 等胞且將致使在步驟902處再入。 應瞭解,一旦已完成步驟9〇4至914,步驟916至92〇僅在 多達cpu執行一指令以更新記憶體庫選擇812及814(圖以斤 需之時間中完成組態改變。換言之,通常非常快速地做出 組態改變,而對接下來的實際資料定序幾乎或完全無影 響。 ’、’ 再次轉至圖1,鑒於上文,應瞭解,非揮發性記憶體μ 在稱為碼字之單元中儲存及擷取資料。每一碼字係由編碼 器20執行之編碼過程之結果。在自非揮發性記憶體μ擷取 一碼字時,由解碼器22執行之解碼過程將使用者資料返回 至主機電腦12。一碼字係具有一特定長度及_特定位元密 度設定之多位階符號之一集合,其每一者可在不同碼字之 間變化。位元密度設定判定儲存於每一記憶體胞中之位元 數目。在每記憶體胞儲存整數數目個位元之實施例中,一 個胞之内容構成來自該碼字之一個TCM符號。該碼字之長 度係組成該碼字之TCM符號之數目。舉例而言,在圖1中 概略地圖解說明三個碼字,其中一水平長度表示每—碼字 中之記憶體胞之數目,且一垂直寬度表示對應於位元密度 156482.doc
S • 82· 201214439 f每-記憶體胞中之位元數目。展示一第一碼字96〇、— 第馬子962及一第三碼字964。可看$,碼字含有比 石馬字_相對少個符號,但含有每符號相對多個位元。可 看出碼字964含有比碼字96〇或碼字962相對少個符號, 但含有每符號比碼字96〇或碼字962相對多個位元。因此, 明顯將具有不同TCM符號寬度及不同長度之碼字同時儲存 於非揮發性記憶體中。就此而言,記憶㈣可表示一單個 積體電路晶粒,其中号1 ^ T °玄日日拉之不同區域可儲存具有不同碼 效率(例如,在相異位元密度處)之資料。在另一實施例 中,可在複數個積體記憶體電路晶粒之間劃分記憶體Μ。 仍參照圖1 ’概略地展示寫入至記憶體14中之一完整資 料結構並由元件符號970指示。應瞭解,此資料結構係回 應於含有既定使用者資料之一單個寫入操作而產生,且僅 在Β賣取刼作中易於讀取以重現該既定使用者資料。在本 實例中,資料結構970係由元件符號972、974、976、978 及980各不之五個碼字組成。碼字972、及pa可 各自具有-不同長度。在本實例中’碼字972、976及978 ,有相同的第二長度’由相同數目個TCM符號組成,而碼 字974"冑不同的第二長度。終止碼字_比資料結構 970之其他碼字更短’具有-第三長度。就此而言,應瞭 解’馨於本文之教示,不必(舉例而言)藉由將最後一碼字 中之工位填充達至某一要求的碼字長度而使一傳送中之每 馬子八有相同長度,乃因最後碼字或終止碼字可透過如 上文所述t終止或補零序列而結束。進一步地,如資料 156482.doc -83 - 201214439 結構970所示範,資料 ”夕㈣·^ 射之後續碼字即使存在於記憶 體中之毗鄰記憶體胞組中 彳乃了以包含在不同位元密度處 之不同碼效率來儲存資 又处 ^舉例而s ’碼字972可以每記 碼字974可以每記 碼字9 7 6可以每記 碼子9 7 8可以每記 及碼字980可以每 憶體胞4個位元之—仞 位几密度儲存資料 # Μ 2餘% < _位元密度儲存資料 憶體胞3個位元之—位元密度儲存資料 憶體胞3個位兀之—位元密度儲存資料—q 〜$
記憶體胞1個位元之一伤;令*叫—, J 位疋在'度儲存資料。參照在不同碼 字之間改變碼效率所接徂夕傲 千所钕供之靈活性,基本上不引入任何限 制。 現參照分率位元編石馬來關注額外細冑。大體而言,可藉 由獲取B個輸入位元之一群組並將彼等位元組合映射至若 干◎胞之不同位階值中而交县从眘_ 丁印今易地貫施’该等胞各自具有L個 可能位階值。該映射之要求給出如下:
T ^ 〇 B ~ 2 (1) 舉例而S,藉由將7個輸入位元映射至兩個胞中,將每 一胞設定為12個可能位階中之一者,將產生每胞7+2=35 個位元。 此等教示可在本文已提供之架構内有效地實施。應注 意’ 一映射功能不能由圖4之映射器450結合一分率位元密 度之應用來應用。在位階L之期望數目係一偶數數字之情 況下,則可不加修改地處置LSB ’舉例而言在每胞3個位 元或4個位元之情形下,其中削減及預留位置不改變以使 得在僅具有MSB之情況下處置分率編碼。在每胞3 5個位
156482.doc -84- S 201214439 元之實例中,將5個MSB位元映射至兩個胞中之12 + 2=6個 可能位階中。應瞭解,上文所述之將傳入MSB值視為經格 雷編碼之可選步驟不應結合分率編碼來應用。 在壓縮期間,其中產生未經映射之TCM符號,壓縮配置 將在每TCM符號2個MSB位元(每胞3個位元之模式)與3個 MSB位元(每胞4個位元之模式)之間變化。藉由如此做,以 對C個胞之正確比例平均獲得期望之分率位元密度。而 且’藉助此實例,編碼區塊C係2個胞,因此壓縮器在每 TCM符號3個MSB位元與每TCM符號2個MSB位元之間交 替。針對該兩個胞,存在3+2個MSB位元+2個LSB位元=7 個使用者位元,產生每胞3.5個位元。 就MSB映射而言,共同獲取b個未經映射之TCM符號之 群組且將其作為整體映射成具有L+2個位階之C個組。在 本實例中,將3+2個MSB位元映射至2個胞中,每一胞具有 6個可能位階值。針對該5個MSB位元,可基於自二進制值 至C胞值之一映射由兩個記憶體胞之62=36個可能編碼表示 该2 =32個輸入值。針對此實施例,將存在該等胞位階值 之四個未使用組合’可將該等胞位階值映射至最近的有效 一進制輸入值。該等胞位階值之四個未使用組合係62=3 6 個可用位階對25=32個實際使用的位階之間的差。審於上 文’熟習此項技術者將易於實施各種各樣的分率位元配 置。 轉至圖1 0 ’概略地圖解說明通常由元件符號丨〇〇,指示之 資料結構之另一實施例,其可儲存於圖1之非揮發性記 156482,doc -85 - 201214439 憶體14中。資料結構100’包含一初始部分102'及一終止部 分104’。應瞭解,資料結構100’例示正上方之論述。舉例 而言,不同TCM符號之MSB在三個MSB與兩個MSB之間交 替。進—步地,資料結構100’與圖2之資料結構1〇〇之比較 揭示資料結構100’通常與資料結構100 一致,但資料結構 100'實施每胞3.5個位元之一分率位元密度。因此,鑒於本 發明已揭示之教示’熟習此項技術者可易於實施利用分率 位元編碼之各種各樣的系統及方法。 上文已出於圖解說明及闡述之目的提供對本發明之描 述。本發明並不意欲窮盡或將本發明限於所揭示之一或多 個精確形式,且其他修改及變化形式根據上述教示可係可 能的,其卡熟習此項技術者將辨識某些修改、排列、添加 及其子組合。 【圖式簡單說明】 在該等繪圖之參考圖表中圖解說明實例性實_。本文 揭示之實施例及圖表意欲為例示性而非限制性。 圖1係根據本發明產生之—系統之-方塊圖,其提供用 :一記憶财之每胞儲存多個位元且參照資料可儲存之方 式圖解說明某些細節。 w 圖2係可儲存於圖1之系統之記憶體中之-資料結構之一 項實施例之一概略圖解說 展不该資料結構之細節。 端f ^ 圖1之系統之部分來使用之—迴旋 編碼益之一項實施例之—方塊圖。 疋 圖4係圖解說明參照圖 之系統之編碼區段之細節之一方 I56482.doc
S • 86 - 201214439 塊圖。 圖5係圖解說明可由圖4之編碼區段操作之一編碼方法之 一項實施例之一流程圖。 圖6係圖解說明參照圖丨之系統之解碼區段之細節之一方 塊圖。 圖7係圖解說明可由圖6之解碼區段操作之一解碼方法之 一項實施例之一流程圖。 圖8係圖解說明一參數暫存器區段之一項實施例之一方 塊圖,該參數暫存器區段可形成圖丨之系統之部分且可由 圖4之編碼區段以及圖6之解碼區段使用,在本文中經展示 以圖解說明具有多個暫存器記憶體庫之一記憶體庫化組態 之細節。 圖9係圖解說明用於關於圖8之記憶體庫化參數區段實施 例之彳呆作之一方法之一項實施例之一流程圖。 圖1〇係可儲存於圖1之記憶體區段中之一資料結構之另 一實施例之一概略圖解說明,其在本文中經展示以圖解說 明參照分率位元密度之進一步細節。 【主要元件符號說明】 10 系統 12 主機 14 非揮發性記憶體 20 編碼區段 22 解碼區段 100 資料結構 156482.doc -87- 201214439 100, 資料結構 102 初始部分 102' 初始部分 104 終止部分 104' 終止部分 300 迴旋編碼器 302 資料串流 304 移位暫存器 320 「及」閘 322 「互斥或」功能 324 輸出 330 「及」閘 332 「互斥或」功能 334 輸出 338 削減型樣計數器區段 340 第一削減移位暫存器 342 第二削減移位暫存器 344 最左側移位暫存器位置 346 最右側移位暫存器位置 350 第一輸出切換功能 360 最左側移位暫存器位置 362 最右側移位暫存器位置 364 第二輸出切換功能 402 裏德所羅門編碼器 156482.doc • 88 · s 201214439 404 使用者資料 410 參數暫存器區段 410' 參數暫存器區段 412 微處理器 414 執行階段裏德所羅門資料長度 420 裏德所羅門計數器 424 多工器 426 MSB路徑 428 LSB路徑 430 MSB計數器 432 LSB計數器 440 MSB缓衝器 442 LSB緩衝器 446 輸出 450 MSB映射功能 454 限制比較器 456 限制邏輯 462 輸出 472 位階轉數位轉類比轉換器 480 韌體 482 輸入 484 輸出 486 削減型樣計數器 488 執行階段削減型樣輸入 156482.doc -89- 201214439 490 LSBP艮制值 492 格狀編碼調變計數器 494 格狀編碼調變區塊計數輸入 496 Μ縮配置 498 映射配置 602 輸入 604 輸出 610 Viterbi解碼器/伯測器 612 LSB路徑 620 解映射器 622 重編碼器 623 MSB路徑 624 LSB緩衝器 625 輸出 626 Viterbi解碼器輸出 640 MSB緩衝器 641 解映射配置 642 MSB先入先出 644 MSB計數器 646 多工器 648 LSB計數器 650 裏德所羅門解碼器 652 格狀編碼調變計數器 654 格狀編碼調變符號 156482.doc -90-
S 201214439 660 削減型樣計數器 661 值 662 裏德所羅門計數器 664 裏德所羅門符號數目暫存器 668 解壓縮配置 670 裏德所羅門至使用者資料壓縮 800 匯流排 810 多工器 812 模式選擇線0 814 模式選擇線1 960 第一碼字 962 第二碼字 964 第三碼字 970 資料結構 972 碼字 974 碼字 976 碼字 978 碼字 980 碼字 156482.doc •91 ·

Claims (1)

  1. 201214439 七、申請專利範圍: 1 · 一種在組態有用於儲存數位資料之一非揮發性記憶體之 一數位系統中之裝置,其包括: 一裏德所羅門編碼器,其用於接收包含透過該數位系 統提供之輸入資料之一輸入資料争流,以產生由一系列 裏德所羅門符號組成之一經裏德所羅門編碼之串流; 一壓縮配置,其接收該經裏德所羅門編碼之串流以用 於產生一經區塊重組之輸出資料串流,以使得該經區塊 重組之輸出資料串流之至少一個部分但非全部經組態以 服從基於一迴旋碼之一碼效率,且該壓縮配置經調適以 修改該經區塊重組之輸出資料串流,以基於改變提供至 該壓縮配置之-或多個輸人參數之—或多個值而支援與 該輸入串流中之預定數目個襄德所羅門符號相關聯之該 迴旋碼之該碼效率之改變;及 、、射配置,其用於接收該經區塊重組之輸出資料串 流並應用—格狀編碼調變(霞)碼,以產生—經職編 碼之輸出資料串流’該映射配置包含一迴旋編碼器,其 用於根據·^ 3Q紅碼之該碼效率迴旋編碼該經了㈣編碼之 輸出串W之該部分,以基於該等輸人參數之該等值而支 =碼效率之該等改變,以產生—經映射之輸出資料串 肌供引導至該非揮發性記憶體以用於儲存於該非揮發性 記憶體中作為所儲存資料。 2. :明求項1之裝置’其中該壓縮配置係組態用於至少部 刀地基於该碼效率而將一或多個預留位置位元插入至該 156482.doc 201214439 經區塊重組之輸出資料串流 器用该經映射輸出資料串流 留位置位元。 之該部分中,且該迴旋編碼 中之外加碼位元填充該等預 3 ·如請求項2之|番 廿丄 直’其令該壓縮配置與該映射配置合作 ^ d扁碼為TCM編碼之輸出資料之該部分作為組成 xlTCM編碼之輸出串流之複數個符號中之每—者 之一最低有效位元。 4·如。月求項2之裝置,其中每一 tcm符號係由複數個位元 d成i㈣縮置與該映射配置合作以迴旋編碼該經 扁馬之輸出資料之該部分作為組成該經TCM編碼之 輸出串流之複數個TCM符號中之每—者之至少一最低有 效位=但少於所有該等位元,以使得形成該部分之部分 的》玄取低有效位元及任何額外位元係呈自該最低有效位 元起之一升序有效性次序。 5. 如請求項2之裝置’丨中該裝置包含一削減型樣計數器 ,用於監測一削減型樣,該削減型樣係基於用於產生該 等預留位置位元之該等輸入參數中之至少一者。 6. 如凊求項2之裝置’其中該經裏德所羅門編碼之串流服 從一裏德所羅門區塊大小以使得該裏德所羅門碼之一或 夕個區塊組成具有一碼字長度之一碼字’且其中該壓縮 配置經、乡且態以基於該碼效率㈣一削減型樣在該經區塊 重組之輸出資料串流中提供定製數目個該等預留位置位 凡,且該壓縮配置可基於該一或多個輸入參數重組態以 至少用於在用於改變該碼效率之該壓縮配置之操作期間 156482.doc S 201214439 將該削減型樣自一當前碼字改變至下一碼字。 7. 如請求項2之裝置,其中該經TCM編碼之輸出資料串流 包含複數個TCM符號,且該複數個TCM符號之該等最低 有效位7C組成自該系列裏德所羅門符號獲取之一第—子 組裏德所羅門符號,且自該系列裏德所羅門符號獲取之 一第一子組裏德所羅門符號包含除該第一子組裏德所羅 門符號以外的所有裏德所羅門符號。 8. 如清求項7之裝置’其中該第一子組之該等裏德所羅門 符號至少部分地基於該碼效率而藉由該第二子組之該等 裏德所羅門符號中之| 仃观T t f者之一數目在該系列裏德所 羅門符號中各自彼此分離,以使得可回應於該碼效率之 -改變而改變該第二子組之分離該系列中之該第一子組 之該等裏德所羅門符號之裏德所羅門符號之該數目。 9. 如請求項2之裝置’其中每—TCM符號係由複數個位元 組成’且該壓縮配置與該映射配置經組態以合作從而將 該經職編碼之輸出資料之該部分迴旋編碼為複數個 TCM符號中之每一者之至少—-你女t 最低有效位元但少於組成 該經TCM編碼之輸出串流之所有 1负忒寺位兀,且該映射配 置包含用於將一格雷碼轉二進制 琨制馬轉換應用於該複數個 舰符號中之每-者之除經迴旋㈣之該等最低有效位 儿外的一子組剩餘位元之一映射器區段。 10. 如請求項1之裝置,其中該經 最所羅門編碼之串流服 從一區塊大小以使得該裏德所羅 ,θ . 门馬之—或多個區塊組 成具有一碼子長度之一碼字, 且再中该映射配置包含利 I56482.doc 201214439 用至少一組兩個迴旋多項式作為產生該迴旋編碼之部分 之一迴旋編碼器,且其中該映射器進一步經組態以使得 回應於用於改變下列各項中之至少一者之該等輸入參數 而改變該等迴旋多項式:(i)組成該組之迴旋多項式:一 總數目及(ii)該組中之該等迴旋多項式中之至少—者。 11.如請求項1之裝置,其令該非揮發性記憶體係由至少一 個記憶體晶粒所含有之複數個記憶體胞組成,且其中該 經裏德所羅門編碼之串流服從一區塊大小以使得該裏德 所羅門碼之一或多個區塊組成具有一碼字長度之一碼 字,且其中該壓縮配置經組態以與該映射配置合作以使 該經襄德所羅門編碼之串流服從該等記憶體胞中之至少 某些之—指定位元密度,且該壓縮配置可基於一或多個 輸入參數重組態以至少用於在該壓縮配置之操作期間將 该指定位元密度自一當前碼字改變至下一碼字。 12·如凊求項11之裝置,其中該壓縮配置經組態以與該映射 裔合作以便以一第一位元密度將至少一個碼字之資料儲 存於—單個記憶體晶粒中,且以不同於該第—位元密度 之—第二位元密度將至少一第二碼字之資料儲存於該單 個記憶體晶粒中。 青求員12之裝置,其中該第一位元密度係選擇為自每 個位元至3個位元,且該第二位元密度係選擇為每胞 4個位元。 月求項11之裝置,其中該選定位元密度係基於該非揮 發丨生浥憶體之一所要求壽命及與存取該非揮發性記憶體 156482.doc 201214439 者來判 —f取‘作相關聯之一輸出錯誤率中之至少 15·如請求項1之裝置,其進-步包括: 解映射配置’其用於基於自該非揮發性記憶體 “所儲存資料而接收一記憶體輸出串: 供至該映射配置之該等輸入參數之該等”之 TCM J 憶體輸出举流,以將該經 流;.、馬之輸出貢料串流重現為一經解映射之輸出串 -解壓縮配置,其用於接收該經解映射之輸出串流及 土於該碼效率而自該經解映射之輸出串流重現該經裏德 斤羅扁碼之串流,且該解壓縮配置係回應於基於提供 堅縮配置之该-或多個輸人參數之該等值中之對應 者而改變與該狀數目個裏德所羅門符號相關聯之該迴 旋碼之該碼效率;及 η:襄德所羅門解碼器,其用於自該解壓縮配置接收該 裏所羅Η編碼之串流以自該經裏德所羅門編碼之串 流解碼包含該輸入資料之一讀取資料串流以供該數位系 統用作讀取資料。 如明求項15之裝置,其中該讀取資料對應於作為該輸入 資料串流中之該輸入資料原始地含有之使用者資料。 17.如請求項!之裝置,其中該壓縮配置與該映射配置經組 心以合作從而產生該經映射之輸出資料串流,以使得當 在該非揮發性記憶體中儲存時將每胞分率數目個位元儲 156482.doc 201214439 存於連續記憶體胞之一選定群組中。 18. —種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之方法,其包括: 接收包含透過該數位系統提供之輸入資料之一輸入資 料串流,以產生由一系列裏德所羅門符號組成之一經裏 德所羅門編碼之争流; 自該經裏德所羅門編碼之串流產生一經區塊重組之輸 出資料串流’以使得該經區塊重組之輸出資料串流之至 少一個部分經組態以服從基於一迴旋碼之一碼效率; 基於一或多個輸入參數而改變與該輸入事流中之預定 數目個裏德所羅門符號相關聯之該迴旋碼之該碼效率;及 根據該碼纟率並基於1亥等輸入參數而迴旋編碼該經 TCM編碼之輸出串流之該部分,以產生一經映射之輸出 資料串流供引導至該非揮發性記憶體以用於儲存於該非 揮發性記憶體中作為所儲存資料。 19. -種在組態有用於健存數位資料之非揮發性記憶體之一 數位系統中之裝置,其包括: 一區塊碼編碼器,其用於接收包含透過該數位系統提 供之輸入資料之-輸人資料串流,以產生由—系列區塊 碼符號組成之一經區塊碼編碼之串流; -壓縮配置’其接收該經區塊碼編碼之串流以用於產 生-經區塊重組之輸出資料串流,以使得該經區塊重組 之輸出資料串流之至少—個部分但非全部經組態以服從 基於一迴旋碼之一碼效率,且該壓縮配置經調適以修改 156482.doc S 201214439 該經區塊重組之輸出資料串流,以基於改變提供至該壓 縮配置之-或多個輸人參數之—或多個值而支援與該輸 入串流中之預定數目個區塊碼符號相關聯之該迴旋碼之 該碼效率之改變;及 -映射配置’其用於接收該經區塊重組之輸出資料串 流並應用一 TCM碼,以產生一經TCM編碼之輸出資料串 流,該映射置包含_迴1料^,該迴旋編碼器用於 根據該迴旋碼之該碼效率迴旋編碼該經tcm編碼之輸出 串流之該料,絲於料輸人參數之料值而支援該 碼效率之該改變’以產生一經映射之輸出資料串流供引 導至該非揮發性記憶體以用於儲杨該非揮發性記憶體 中作為所儲存資料。 20. -種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之方法,其包括: 接收包含透過該數位系統提供之輸入資料之一輸入資 料串流’以m系列區塊碼符號組成之—經區塊碼 編碼之串流; 自該經區塊碼編碼之串流產生一經區塊重組之輸出資 料串流,以使得該經區塊重組之輸出資料串流之至少一 個部分經組態以服從基於一迴旋碼之一碼效率’· 基於一或多個輸入參數而改變與該輸入串流中之預定 數目個區塊碼符號相關聯之該迴旋碼之該石馬效率;及 根據該碼效率並基於該#輸人參數而迴旋編碼該經 TCM編碼之輸出串流之該部分, I刀以產生一經映射之輸出 156482.doc 201214439 資料串流供引導至該非揮發性記憶體以用於儲存於該非 揮發性記憶體中作為所儲存資料。 21. —種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之裝置,其包括: 一壓縮配置,其經組態以接收一經裏德所羅門編碼之 串流以用於產生一經區塊重組之輸出資料串流,以使得 該經區塊重組之輸出資料串流之至少一個部分經組態以 服從基於一迴旋碼之一碼效率,且該壓縮配置經調適以 用於基於作為準備將該輸入資料儲存於該非揮發性記憶 體中之一中間步驟而提供至該壓縮配置之一或多個輸入 參數之既定值而使與該輸入_流中之預定數目個裏德所 羅門符號相關聯之該迴旋碼之該碼效率改變。 22. —種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之方法,其包括: 組態一壓縮配置用於接收一經裏德所羅門編碼之串流 以用於產生一經區塊重組之輸出資料串流,以使得該經 區塊重組之輸出資料串流之至少一個部分經組態以服從 基於一迴旋碼之一碼效率,及調適該壓縮配置以用於基 於作為準備將該輸入資料儲存於該非揮發性記憶體中之 一中間步驟而提供至該壓縮配置之一或多個輸入參數之 既定值而使與該輸入串流中之預定數目個裏德所關符 號相關聯之該迴旋碼之該碼效率改變。 23. —種作為使用包含用於儲存數位資料之複數個記憶體胞 之非揮發性記憶體之一數位系統之部分之裝置,其包 156482.doc 201214439 括: t縮配置,其接收由該系統提供之—輸人資料串流 用於產生-輸出資料串流,該輸出f料串流係基於針對 該等記憶體胞中之儲存之-區塊大小,且該壓縮配置選 擇性地可基於-或多個輸人參數“ n式操作以 產生針對該等記憶體胞中之儲存之一第—區塊大小’且 可至少回應於該等輸人參數之—改變而以―第二模式操 作以產生不同於該第—區塊大小之一第二區塊大小用於 在其操作期間選擇性地改變該區塊大小。 24. 25. 如明长項23之裝置’其中該第—模式及該第二模式中之 至少一者致使每胞分率數目個位元至少每記憶體胞中平 均地儲存於該等記憶體胞中。 -種作為使用包含用於儲存數位資料之複數個記憶體胞 以使得該等記憶體胞中之至少某些可储存—個以上位元 之非揮發性記憶體之-數位系統之部分之裝置其包 括: ’、 —編碼器/解碼器配置,其接收由該“提供之一輸入 資料串流以用於產生一輸出資料串流,該輸出資料串流 係基於針對該等記憶體胞中之儲存之每胞編碼之一選定 位70數目’且該編碼器/解碼器配置選擇性地可基於一或 夕個輸入參數而以_第_模式操作以產生針對該等記憶體 胞中之儲存之-第—位元密度作為每胞該選定位元數目, 可至V回應於該等輸入參數之一改變而以一第二模式 操作以產生不同於該第一位元密度之一第二位元密:用 156482.doc 201214439 ' 在其操作期間選擇性地改變每胞編碼之該位元數目。 凊:項之裝置’其中該輸入資料串流係組態為一系 :馬子且二-碼字係由複數個符號組成以組成一碼字長 =2中母—符號表示欲儲存於該等記憶體胞令之一者 之一值,且該編碼器/解碼器配置經組態以用於以該第 一模式操作以在㈣列碼字之—第—碼字中產生該第一 位凡密f Μ於以該第二模式操作以在㈣列碼字之-第一碼字中產生該第二碼字密度。 27·如:求項26之襄置,其中該編碼器/解碼器配置包含一編 碼益配置以用於處置該寫人資料,該編碼器配置包括: 一裏德所羅門編碼器’其用於接收包含透過該數位系 統提供之該寫入資料之一輸入資料串流,以產生由一孕 列襄德所羅門符號組成之一經裏德所羅門編碼之串流;'、 -塵縮配置,其接收該經裏德所羅門編瑪之串流以用 於產生-經區塊重組之輪出資料串流’以使得該經區塊 重組之輸出資料串流之至少-個部分但非全部經组態以 服從基於-迴旋碼之_碼效率,且㈣縮配置經調適以 修改該經區塊重組之輸出資料串流,以基於改變提供至 該壓縮配置之-或多個輸人參數之—或多個值而支援盘 該輸入串流中之預定數目個裏德所羅門符號相關聯之該 迴旋碼之該碼效率之改變;及 -映射配置’其用於接收該經區塊重組之輪出資 流並應用-TCM碼,以產生—經觀編碼之輪出資 流’该映射器包含一迴旋編碼器’該迴旋編碼器用於根 156482.doc .丨Q_ S 201214439 據該迴旋碼之該碼效率迴旋編碼該經TCM編碼之輸出串 流之該部分,以基於該等輸入參數之該等值而支援該碼 效率之該等改變,以產生一經映射之輸出資料串流供寫 入至該非揮發性記憶體以用於儲存於該非揮發性記憶體 中作為所儲存資料。 28. —種在使用包含用於儲存數位資料之複數個記憶體胞以 使得該等記憶體胞中之至少某些可儲存一個以上位元之 非揮發性記憶體之一數位系統中之方法,其包括: 組態一編碼器配置以用於接收由該系統提供之一輸入 資料串流以用於產生一輪出資料串流,該輸出資料串流 係基於針對該等記憶體胞中之儲存之每胞編碼之一選定 位元數目,且選擇性地基於一或多個輸入參數而以一第 一杈式刼作該編碼器配置以產生針對該等記憶體胞中之 儲存之一第一位元密度作為每胞該選定位元數目,且至 少回應於料輸人參數之—改變而以H式操作該 、為馬器配置以產生不同於該第一位元密度之一第二位元 街度用於在其操作期間選擇性地改變每胞編碼之該位元 數目。 29. 、種作為使用包含用於儲存數位資料之複數個記憶體胞 以使付忒等§己憶體胞中之至少某些可儲存一個以上位元 之2揮發性。記憶體之一數位系統之部分之裝置,其包括: j碼益/解碼器配置,其接收由該系統提供為一系列 t :夺號之輪入資料串流以用於產生-輸出資料串 /;IL °亥輸出貝❹流係基於針對料記Μ胞中之儲存 156482.doc -11 · 201214439 之每胞編碼之—選定位元數目, 可基於—赤夕u 1’解媽配置 、/夕個輸入參數重組態以至少改 非揮發性崎M k <储存於該 位元數目》 r义母胞編碼之該選定 30.如請求項29之裝置,其令該編碼 碼器配置以用於飱要―* ’-配置包含-解 一解映射_ 料’該解碼器配置包括.· 包含Μ取w其用於基於自該非揮發性記憶體讀取 所儲存資_收-記憶體輸出串 定值中之對二該映射配置之該等輸入參數之既 流,以將二根據職率迴旋解碼該記憶體輸出串 ” ’ HTCM編碼之輸出資料 射之輸出串流; 马經解映 一解壓縮配置,直用於 其於接收㈣解映射之輸出串流並 羅門編碼之宰汽,且^ 輸出串流重現該經裏德所 夺屡缩配晉, 縮配置係回應於基於提供至 二縮配置之該一或多個輸入參數之該等既 旋瑪之碼效率i數目個裏德所羅門符號相關聯之- ,一:〜所羅門解碼斋’其用於自該解壓縮配置接收哕 經晨德所羅門編石馬,虫^ ,“以自該經襄德所羅門編碼之串 饥解碼包含該輸入資 ^ 統用作讀取資料。㈣取貧料串流以供該數位系 31 用包含用於儲存數位資料之複數個記憶體胞以 使㈣寺記憶體胞中之至少某些可儲存一個以上位元之 156482.doc 3 12 201214439 非揮發性記憶體之一數位系統中之方法,其包括: 組態一編碼器配置以用於接收由 輸入符號夕^ 糸列 水 虎之—輸入資料串流以用於產生一輸出資料串 —以輸出資料串流係基於針㈣等記憶體胞中之储存 之每:編碼之—選定位元數目,以使得該編碼器配置可 基於《多個輸入參數重組態以至少改變欲儲存於該非 揮發性記憶體之該等記憶體胞中之每胞編碼之該選定位 元數目。 乍為使用包含用於儲存數位資料之複數個記憶體胞 以使得該等記憶體胞中之至少某些可儲存—個以上位元 之非揮發性記憶體之一數位系統之部分之裝置, 括: ’、 一解碼器配置’纟接收回應於讀取儲存於該非揮發性 §己憶體中之一資料結構而提供之一讀取資料串流以提供 含有-使用者資料串流之一系列讀取符號,該使用者資 料串流在一寫入操作期間被原始編碼為該資料結構之部 分並儲存於一系列該等記憶體胞中用於基於儲存於該系 列記憶體胞中之若干個每胞編碼之不同位元密度中之一 選定一者而重現該使用者資料串流,且該解碼器配置可 基於一或多個輸入參數重組態以至少改變該等位元密度 中之該選定一者來匹配儲存於該系列記憶體胞中之該等 位元密度以作為重現該使用者資料串流之部分。 33. —種在使用包含用於儲存數位資料之複數個記憶體胞以 使得該等記憶體胞中之至少某些可儲存一個以上位元之 156482.doc -13- 201214439 非揮發性記憶體之一數位系統中之方法,其包括: 組態解碼器配置以用於接收回應於讀取儲存於該非 揮發丨生。己隐體中之—資料結構而提供之一讀取資料串流 以提供含有-使用者資料串流之—系列讀取符號,該使 用者資料串流在—寫人操作關被原始地編碼為該資料 結構之部分並儲存於一系列該等記憶體胞中用於基於儲 存於該系列記憶體胞中之若干個每胞編碼之不同位元密 度中之一選定一者重現該使用者資料串流,以使得該解 碼器配置可基於—或多個輸人參數重組態以至少改變該 等位元密度中之該選定—者來匹配儲存於該系列記憶體 胞中之該等位元密度以作為重現該使用者資料_流之部 分。 34 —種作為組態有I含用於儲存數位資料之複數個記憶體 胞以使得該等記憶體胞中之至少某些可儲存一個以上位 元之非揮發性記憶體之一數位系統之部分之裝置,其包 括: Ά -解映射配置,其用於基於自該非揮發性記憶體讀取 所儲存資料而接收一記憶體輸出串流,其中該記憶體輸 出串流係呈一經TCM編碼之輸出資料串流之形式,在^ 編碼操作期間使該經TCM編碼之輸出資料串流之—個部 分但非全部服從藉由一組參數之既定值建立之—碼效 率,且用於基於在該編碼操作期間提供之該等輸入參數 之該等既定值中之對應者而基於該碼效率迴旋解碼該經 TCM編碼之輸出資料串流,以將該經tcm編碼之輸出資 156482.doc • 14 - 201214439 料串流重現為一經解映射 耵之輪出串流,該經解映射之輸 出串流3有一經裏德所羅門編碼之串流; —解壓縮配置,其用於接此4 &丄 用於接收该解映射器輸出举流並基 於該碼效率自該解映射器輪 甲机重現该經晨德所羅門 、届馬之串流,且該解壓缩丙 ^ 置係回應於基於在該編碼操 作肩間提供之該一或多個輸 叛入參數之邊等既定值中之對 應者而改變與該預定數目侗宣 裏‘所羅門符號相關聯之迴 旋碼之碼效率;及 其用於自該解壓縮配置接收該 以自該經襄德所羅門編碼之串 一讀取資料串流以供該數位系 —裏德所羅門解碼器, 經裏德所羅門編碼之串流 流解碼包含該輸入資料之 統用作讀取資料。 3 5. —種在組態有包含用 存數位貧料之複數個記《胞 錢付以記憶體胞中之至少某些可儲存-個以上位元 之非揮發性記憶體之-數位系統中之方法,其包括. 組態-解映射配置以用於基於自該 取所儲存資料而接收—記情體輸…甘/體" 輪出电體輸出串流,其中該記憶體 〃-經TCM編碼之輸出資料串流之形式 :編碼操作期間使該經TCM編碼之輸出f料串流之一個 口P分但非全部服從藉由一 褙田、·且參數之既定值建立之_碼效 ^用於基於在該編碼操作期間提供之該等輸入來數 =既定值中之對應者而基於該碼效㈣ 之輸出資料串流,以將該―; 枓串現為-經解映射之輸出串流,該經解映射之輸 156482.doc 15 201214439 出串流含有—經裏德所羅門編碼之串流; 解I缩配置接收該解映射器輪出串流並基於該 二自該解映射器輸出串流重現該經裏德所羅門編碼 作期使㈣解壓縮配置係回應於基於在該編碼操 供之該—或多個輸人參數之該等既定対之對 :而改變與該預定數目個襄德所羅門符號相關聯之迴 旋碼之碼效率;及 :二裏德所羅門解碼器’該裏德所羅門解碼器用於 2解麼縮配置接收該經裏德所羅門編碼之串流以自該 Α褢德所羅門編碼之串流解碼包含 輸入貢料之一讀取 36 貪枓串流以供該數位系統用作讀取資料。 :種在組態有用於回應於-主機器件而储存數位資料之 与軍發性記憶體之—數位系統中之裝置,其包括. :編物解碼器配置’以於使該主機器^與該非揮 發性C憶體介接以在—㈣碼字中在其間傳送讀取資料 及寫入資料’其中每一碼字具有—碼字大小以使得自該 ;主機器件去往該非揮發性記憶體之—經編碼資料流及自 該非揮發性記憶體去技該主媳哭 A云仕3王機益件之一經解碼資料流各 自至少服從基於—迴旋碼之效率,且該編碼器/解碼 器配置經組態以用於接收一或多個輸入參數以使得可回 應於該等輸人參數之-改變而逐碼字地改變該碼效率。 37_如請求項36之裝置’其中每-碼字係由複數個符號組成 以組成一碼字長度,盆中备—饺 _ 沒〃τ母付戒表不欲儲存於該等記 隐體I中之者中之一值,且該編碼器,解碼器配置經組 156482.doc 16_ S 201214439 態以用於以一第—描:彳νΛ* . 、式操作以在一既定系列碼字中之一 第一碼字中產生一篦_ 第馬效率,且用於以一第二模式操 作以在該既定系列碼字中之一第二碼字中產生一第二碼 效率。 38· -種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之儲存於該非揮發性記憶體中之資料結構, 該資料結構包括: 儲存於該非揮發性記憶體中之一系列觀符號,該系 列TCM符號中之每一者表示至少兩個位元,使每一丁⑽ 符號之至少最低有效位元服從„_迴旋碼,且每一符號之 至/個八他位元未經迴旋編石馬,且該等符號組成 形成一系列碼字之-系列裏德所羅門符號,以使得針對 該資料結構中之至少-個碼字之該迴旋碼之—碼效率不 同於該資料結構中之-峨鄰碼字之該碼效率。 39. 一種供與組態有用於儲存數位資料之非揮發性記憶體之 數位系統-起使用之用於將—資料結構儲存於該非揮 發性記憶體中之方法,該方法包括·· 將一系列TCM符號寫入至該非揮發性記憶體,該系列 TCM符號中之每-者表示至少兩個位元,使每―職符 號之至少最低有效位元服從_迴旋瑪,且每一符號之至 少一個其他位元未經迴旋編碼,且該等TCM符號組成形 成一系列碼字之一系列裏德所羅門符號,以使得針對該 資料結構中之至少-個碼字之該迴旋碼之—碼效率不同 於該資料結構中之一毗鄰碼字之該碼效率。 156482.doc • 17· 201214439 40. —種在組態有用於儲存數位資料之非揮發性記憶體之 數位系統中之儲存於該非揮發性記憶體中之資料結構 §亥資料結構包括: 儲存於該非揮發性記憶體中形成該非揮發性記憶體之 部分之一系列記憶體胞中之—系列TCM符號,其令每— 職符號包含至少—個位元並組成先前寫人至該非揮發 性記憶體之-資料傳送’以使得該系列記憶體胞至少平 均地儲存每胞分率數目個位元以表示該資料傳送。 41. 一種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之方法包括: 將-系列TCM符號作為一資料傳送寫入至該非揮發性 記憶體中形成該非揮發性記憶體之部分之一系列記憶體 胞中,其中每一TCM符號包含至少一個位元以使得該系 列記憶體胞至少平均地儲存每胞分率數目個位元以表示 該資料傳送。 42. 如請求項41之方法,其中該資料傳送包含使用者資料且 該方法進一步包括: 基於每胞該分率數目個位元而自該非揮發性記憶體讀 取該系列TCM符號以復原該使用者資料。 43. 種在組態有用於儲存數位資料之非揮發性記憶體之一 數位系統中之裴置,其包括: 一寫入配置’其用於在一資料傳送操作中將一資料結 構寫入至該非揮發性記憶體作為形成該非揮發性記憶體 之部分之一系列記憶體胞中之一系列TCM符號,其中每 1564E2.doc •18* 201214439 一 TCM符號包含至少—個 個位tl且該資料結構包含使用者 貧料,以使得該系列9格μ J °己隐體胞至少平均地儲存每胞分率 數目個位元。 .44·如請求項43之裝置,其進—步包括: Λ取配置’其用於基於每胞該分率數目個位元而自 該非揮發性記憶體讀取該系列TCM符號以復原該使用者 資料。 156482.doc 19·
TW100119653A 2010-06-04 2011-06-03 在具有非揮發性記憶體之多層系統中的先進逐位元操作及裝置 TWI493551B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/794,706 US8615703B2 (en) 2010-06-04 2010-06-04 Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory

Publications (2)

Publication Number Publication Date
TW201214439A true TW201214439A (en) 2012-04-01
TWI493551B TWI493551B (zh) 2015-07-21

Family

ID=45065438

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100119653A TWI493551B (zh) 2010-06-04 2011-06-03 在具有非揮發性記憶體之多層系統中的先進逐位元操作及裝置

Country Status (6)

Country Link
US (3) US8615703B2 (zh)
EP (1) EP2577672B1 (zh)
KR (2) KR101482889B1 (zh)
CN (1) CN102934171B (zh)
TW (1) TWI493551B (zh)
WO (1) WO2011153000A2 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6369027B1 (en) 1995-12-22 2002-04-09 Amgen Inc. Osteoprotegerin
NZ583002A (en) 1999-02-03 2011-12-22 Amgen Inc Novel polypeptide B7RP-1 T cell ligand-receptor pair involved in immune response modulation
AU1796902A (en) 2000-11-28 2002-06-11 Amgen Inc Novel polypeptides involved in immune response
US8401105B2 (en) 2010-06-10 2013-03-19 Intel Mobile Communications GmbH Method for transmitting a data signal in a MIMO system
JP5525410B2 (ja) * 2010-10-14 2014-06-18 株式会社日立製作所 操作ログ格納システム、装置、およびプログラム
US9275720B2 (en) * 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
RU2011118108A (ru) * 2011-05-06 2012-11-20 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ параллельного декодирования для нескольких стандартов связи
WO2013093669A1 (en) * 2011-12-21 2013-06-27 International Business Machines Corporation Read/write operations in solid-state storage devices
US8737139B2 (en) 2012-04-11 2014-05-27 Micron Technology, Inc. Determining soft data for combinations of memory cells
US8788743B2 (en) * 2012-04-11 2014-07-22 Micron Technology, Inc. Mapping between program states and data patterns
US8717831B2 (en) * 2012-04-30 2014-05-06 Hewlett-Packard Development Company, L.P. Memory circuit
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
US8885410B2 (en) * 2012-08-29 2014-11-11 Sandisk Technologies Inc. Direct multi-level cell programming
US8902650B2 (en) * 2012-08-30 2014-12-02 Micron Technology, Inc. Memory devices and operating methods for a memory device
WO2014120193A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L. P. Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency
KR102007174B1 (ko) * 2013-04-22 2019-08-05 에스케이하이닉스 주식회사 인코더, 디코더 및 이를 포함하는 반도체 장치
KR20150020849A (ko) * 2013-08-19 2015-02-27 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 이를 이용하는 반도체 시스템 및 컴퓨터 장치
US9164837B2 (en) * 2013-09-12 2015-10-20 Seagate Technology Llc Transfer unit management
WO2015048037A1 (en) * 2013-09-24 2015-04-02 Rambus Inc. Memory component having internal read-modify-write operation
US9754682B2 (en) * 2013-11-19 2017-09-05 Western Digital Technologies, Inc. Implementing enhanced performance with read before write to phase change memory
TWI533305B (zh) * 2014-02-10 2016-05-11 慧榮科技股份有限公司 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體
CN106105123B (zh) 2014-02-28 2019-06-28 康杜实验室公司 用于发送时钟嵌入式向量信令码的方法和系统
KR102238650B1 (ko) 2014-04-30 2021-04-09 삼성전자주식회사 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법
CN105634654B (zh) * 2014-10-27 2019-12-17 中兴通讯股份有限公司 多用户信息传输的叠加编码、解调方法及装置
US9613664B2 (en) * 2015-01-20 2017-04-04 Samsung Electronics Co., Ltd. Method of operating memory device including multi-level memory cells
US11461010B2 (en) * 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device
US10509770B2 (en) 2015-07-13 2019-12-17 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
EP3442146B1 (en) * 2017-08-11 2022-12-28 Nxp B.V. Encoder input selector
US10725913B2 (en) 2017-10-02 2020-07-28 Micron Technology, Inc. Variable modulation scheme for memory device access or operation
US10446198B2 (en) 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US11403241B2 (en) 2017-10-02 2022-08-02 Micron Technology, Inc. Communicating data with stacked memory dies
US10355893B2 (en) 2017-10-02 2019-07-16 Micron Technology, Inc. Multiplexing distinct signals on a single pin of a memory device
US10490245B2 (en) 2017-10-02 2019-11-26 Micron Technology, Inc. Memory system that supports dual-mode modulation
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
KR20190074890A (ko) * 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10768896B2 (en) * 2017-12-21 2020-09-08 Intel Corporation Apparatus and method for processing fractional reciprocal operations
CN110213073B (zh) * 2018-04-20 2021-10-22 腾讯科技(深圳)有限公司 数据流向变更方法、电子设备、计算节点及存储介质
KR102616813B1 (ko) 2018-05-24 2023-12-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10361715B1 (en) * 2018-06-04 2019-07-23 Amazon Technologies, Inc. Decompression circuit
US11567831B2 (en) 2020-07-28 2023-01-31 Micron Technology, Inc. Generating a protected and balanced codeword
US11237906B1 (en) 2020-07-28 2022-02-01 Micron Technology, Inc. Generating a balanced codeword protected by an error correction code
US11494264B2 (en) 2020-07-28 2022-11-08 Micron Technology, Inc. Generating a protected and balanced codeword
US11757468B2 (en) * 2020-09-24 2023-09-12 Sandisk Technologies Llc Soft data compression for non-volatile memory
US12254931B2 (en) * 2022-06-21 2025-03-18 SanDisk Technologies, Inc. Three-bit-per-cell programming using a four-bit-per-cell programming algorithm
US12212413B2 (en) * 2022-12-22 2025-01-28 Qualcomm Incorporated Techniques for generating and using longer low-density parity check codewords

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8701996A (nl) * 1987-08-26 1989-03-16 Philips Nv Halfgeleidergeheugen voorzien van een medegeintegreerde foutkorrektie-inrichting, en geintegreerde schakeling voorzien van zo een halfgeleidergeheugen.
US5790570A (en) 1996-08-30 1998-08-04 Cornell Research Foundation, Inc. Concatenated trellis coded modulation and linear block codes
US6034996A (en) 1997-06-19 2000-03-07 Globespan, Inc. System and method for concatenating reed-solomon and trellis codes
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6034976A (en) * 1998-03-09 2000-03-07 State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon Method and apparatus for laser frequency stabilization
US6567475B1 (en) 1998-12-29 2003-05-20 Ericsson Inc. Method and system for the transmission, reception and processing of 4-level and 8-level signaling symbols
KR100401801B1 (ko) * 2001-03-27 2003-10-17 (주)텔레시스테크놀로지 데이터 전송 성능을 개선하기 위한 직교주파수 분할 다중통신 시스템 및 방법
US7142612B2 (en) 2001-11-16 2006-11-28 Rambus, Inc. Method and apparatus for multi-level signaling
GB0228434D0 (en) * 2002-12-05 2003-01-08 Scient Generics Ltd Error correction
FR2840477B1 (fr) 2002-06-03 2005-02-04 Nortel Networks Ltd Procede d'adaptation de liens radio et unite de controle mettant en oeuvre le procede
US7359313B2 (en) 2002-06-24 2008-04-15 Agere Systems Inc. Space-time bit-interleaved coded modulation for wideband transmission
US7379505B2 (en) 2003-02-13 2008-05-27 Broadcom Corporation Method and apparatus for performing trellis coded modulation of signals for transmission on a TDMA channel of a cable network
US7356755B2 (en) * 2003-10-16 2008-04-08 Intel Corporation Error correction for multi-level cell memory with overwrite capability
KR100924189B1 (ko) * 2004-12-02 2009-10-29 미쓰비시덴키 가부시키가이샤 복호 장치 및 통신 장치
US8055979B2 (en) 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
CN101405810B (zh) * 2006-01-20 2012-01-25 马维尔国际贸易有限公司 在闪存中用于纠错的方法和系统
US7844879B2 (en) 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US20070266296A1 (en) 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US8046660B2 (en) * 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
KR100766042B1 (ko) 2006-12-06 2007-10-12 삼성전자주식회사 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
KR100822030B1 (ko) 2006-12-26 2008-04-15 삼성전자주식회사 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
KR20090110310A (ko) * 2007-01-19 2009-10-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 병렬 인코딩 및 디코딩을 이용한 단일 캐리어 블럭 송신 방법 및 시스템
US7856067B2 (en) * 2007-04-04 2010-12-21 The Aerospace Corporation Unequal hierarchical communications modulation method
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
CN101499325B (zh) * 2008-02-03 2012-10-03 深圳艾科创新微电子有限公司 一种具有可变纠错能力的非易失性存储系统及方法
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8627165B2 (en) 2008-03-24 2014-01-07 Micron Technology, Inc. Bitwise operations and apparatus in a multi-level system
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods

Also Published As

Publication number Publication date
KR101482889B1 (ko) 2015-01-14
KR20140136059A (ko) 2014-11-27
EP2577672B1 (en) 2015-08-12
US20110302475A1 (en) 2011-12-08
WO2011153000A3 (en) 2012-02-23
KR20130050335A (ko) 2013-05-15
KR101504083B1 (ko) 2015-03-19
EP2577672A2 (en) 2013-04-10
US9411675B2 (en) 2016-08-09
TWI493551B (zh) 2015-07-21
CN102934171A (zh) 2013-02-13
WO2011153000A2 (en) 2011-12-08
US10740173B2 (en) 2020-08-11
US8615703B2 (en) 2013-12-24
EP2577672A4 (en) 2014-01-15
US20160314039A1 (en) 2016-10-27
CN102934171B (zh) 2016-05-11
US20140082454A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
TW201214439A (en) Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
CN102884511B (zh) 用于数据译码的存储器存取方法及计算装置
JP4723089B2 (ja) 線形合同シーケンスを使用するターボコードインタリーバ
KR101264476B1 (ko) 증가된 용량의 이종의 스토리지 엘리먼트들
JP4553330B2 (ja) 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体
JP4190658B2 (ja) 符号化のためのシステムおよび復号器
JP2002171173A (ja) 複数の復号化スキームのうちの1つに従って送信されたデータ通信信号を復号化する再構成可能なアーキテクチャと、畳み込み符号とターボ符号の一方を復号化する通信復号化デバイスのパスメトリックを取り扱う方法。
CN101090305A (zh) 一种无线物理层信道编码链路处理方法
JP4551445B2 (ja) サブ・ブロック・インターリーバおよびデインターリーバを有する多次元ブロック符号器
JP7047092B2 (ja) 階段コードの復号化方法、装置および記憶媒体
US11804856B2 (en) Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
TW548914B (en) A decoder for trellis-based channel encoding
TWI487293B (zh) 用於複數個碼類型可程式化解碼的方法及裝置
KR102528972B1 (ko) 연판정 디코딩 방법 및 시스템
TWI450501B (zh) 確定碼距之方法、裝置以及計算機程式產品
JP2004510380A (ja) 線形ブロック符号の符号化のための方法および装置
CN114731166B (zh) 空间耦合fec编码方法和使用gel码的分量码的设备
CN102057580A (zh) 针对多标准的可重新配置的Turbo交织器
WO2010053152A1 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
US10404282B2 (en) Apparatuses and methods for integrated interleaved Reed-Solomon encoding and decoding
CN115833848A (zh) 译码确定方法、装置、电子设备及存储介质
TW577211B (en) Turbo decoding method and apparatus for wireless communications
JP5510189B2 (ja) インタリーブ装置及びインタリーブ方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees