TW201342812A - 用於結合錯誤編碼與調變方案之裝置及方法 - Google Patents

用於結合錯誤編碼與調變方案之裝置及方法 Download PDF

Info

Publication number
TW201342812A
TW201342812A TW102107431A TW102107431A TW201342812A TW 201342812 A TW201342812 A TW 201342812A TW 102107431 A TW102107431 A TW 102107431A TW 102107431 A TW102107431 A TW 102107431A TW 201342812 A TW201342812 A TW 201342812A
Authority
TW
Taiwan
Prior art keywords
data
memory
encoded
soft
ldpc
Prior art date
Application number
TW102107431A
Other languages
English (en)
Other versions
TWI510000B (zh
Inventor
Chandra C Varanasi
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 TW201342812A publication Critical patent/TW201342812A/zh
Application granted granted Critical
Publication of TWI510000B publication Critical patent/TWI510000B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • 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/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文中闡述用於結合錯誤編碼與調變方案之方法及裝置。一或多個方法包含:使用線性錯誤校正碼來編碼資料;調變該經編碼資料;將該經調變資料寫入至記憶體;及使用一維特比(Viterbi)演算法及一線性錯誤校正碼解碼器來解碼該經寫入資料。

Description

用於結合錯誤編碼與調變方案之裝置及方法
本發明大體而言係關於半導體記憶體裝置及方法,且更特定而言,係關於用於結合錯誤編碼與調變方案之裝置及方法。
通常將記憶體器件提供為電腦或其他電子器件中之內部半導體積體電路。除其他外,亦存在諸多不同類型之記憶體,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(SDRAM)、電阻式記憶體(例如,RRAM)及快閃記憶體。
記憶體器件針對一廣泛範圍之電子應用用作揮發性及非揮發性資料儲存器件。快閃記憶體僅係一種類型之記憶體,其通常包括允許高記憶體密度、高可靠性及低電力消耗之若干個記憶體胞陣列。非揮發性記憶體可用於(舉例而言)個人電腦、可攜式記憶體條、固態磁碟機(SSD)、數位相機、蜂巢式電話、諸如MP3播放器之可攜式音樂播放器、電影播放器及其他電子器件中。
100‧‧‧計算系統
102‧‧‧主機
104‧‧‧記憶體系統/系統
106‧‧‧主機介面/介面
107‧‧‧錯誤編碼組件
108‧‧‧控制器
109‧‧‧調變組件
110-1至110-N‧‧‧記憶體器件
210‧‧‧快閃記憶體/記憶體
212-1‧‧‧主機資料
212-2‧‧‧經編碼主機資料Hk/經編碼主機資料/主機資料Hk
214‧‧‧線性錯誤校正碼編碼器/低密度同位檢查編碼器
216-1‧‧‧經編碼資料Uk/經編碼資料/二進制編碼資料/Uk/Uk資料
216-2‧‧‧Uk/資料
218‧‧‧預編碼器/組件
220‧‧‧功能方塊圖
222‧‧‧經預編碼資料
224‧‧‧運算子/組件
226‧‧‧多位階資料/三階資料Xk/資料
232‧‧‧所讀取資料
234‧‧‧維特比組件/組件
236‧‧‧低密度同位檢查解碼器
310‧‧‧記憶體
314‧‧‧低密度同位檢查編碼器
330‧‧‧格子/雙態格子
338-1‧‧‧狀態
338-2‧‧‧狀態
338-3‧‧‧狀態
342-1‧‧‧狀態
342-2‧‧‧狀態
342-3‧‧‧狀態
344-1‧‧‧路徑
344-2‧‧‧路徑
346-1‧‧‧路徑
346-2‧‧‧路徑
346-3‧‧‧路徑
346-4‧‧‧路徑
348-1‧‧‧路徑
348-2‧‧‧路徑
圖1係根據本發明之若干實施例呈包含至少一個記憶體系統之一計算系統之形式之一裝置之一方塊圖。
圖2係根據本發明之若干實施例圖解說明結合信號集擴展與低密 度同位檢查(LDPC)碼之一功能方塊圖。
圖3圖解說明根據本發明之若干實施例產生之一格子。
提供用於結合錯誤編碼與調變方案之裝置及方法。一種實例性方法可包含:使用線性錯誤校正碼來編碼資料;調變該經編碼資料;將該經調變資料寫入至記憶體;及使用一維特比演算法及一線性錯誤校正碼解碼器來解碼該經寫入資料。
可使用諸如博斯-查德胡里-霍昆格姆(BCH)碼之代數錯誤校正碼來校正快閃資料中之固定數目個錯誤。低密度同位檢查(LDPC)碼可勝過此等BCH碼。舉例而言,可藉助軟資料(例如,可靠性資訊)解碼LDPC碼。
隨著儲存密度增加,與讀取操作相關聯之信雜比(SNR)可減少,此可導致需要較強錯誤校正碼以(例如)防止讀取錯誤。用以增加SNR之一種方法包含(例如)經由格子編碼調變(TCM)的一信號集之擴展。舉例而言,該信號集之擴展可包含將二進制資料轉換為多位階資料。
本發明之實施例可藉由結合LDPC與TCM而提供增加之SNR。實施例亦可連同由一維特比組件產生之軟資料一起有效地使用由一解碼器產生之軟資料來增加SNR增益。
在本發明之以下詳細說明中,參考形成本發明之一部分之隨附圖式,且圖式中藉由圖解說明之方式展示可如何實踐本發明之一或多項實施例。充分詳細地闡述此等實施例以使熟習此項技術者能夠實踐本發明之該等實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下做出程序、電及/或結構變化。如本文中所使用,指定符「N」指示,如此指定之特定特徵中之一或多者可與本發明之一或多項實施例包含在一起。
本文中之圖遵循此一編號慣例,其中第一個數字或前幾個數字 對應於圖式圖編號,且剩餘數字識別該圖式中之一元件或組件。不同圖式之間之類似元件或組件可藉由使用類似數字來識別。如將瞭解,本文中可添加、交換及/或去除該等各種實施例中所顯示之元件以便提供本發明之若干額外實施例。另外,圖中所提供之該等元件之比例及相對標度意欲圖解說明本發明之各種實施例且並非用於一限制意義。
圖1係根據本發明之若干實施例呈包含至少一個記憶體系統104之一計算系統100之形式之一裝置之一方塊圖。如本文中所使用,亦可將一記憶體系統104、一控制器108或一記憶體器件110單獨地視為一「裝置」。記憶體系統104可係(例如)一固態磁碟機(SSD)且可包含一主機(例如,實體)介面106、一控制器108(例如,一處理器及/或其他控制電路)及為記憶體系統104提供一儲存磁碟區之若干記憶體器件110-1、...、110-N(例如,諸如NAND快閃器件之固態記憶體器件)。在另一實施例中,記憶體系統104可簡單地係一單個記憶體器件。
如圖1中所圖解說明,控制器108可經由複數個通道耦合至主機介面106以及記憶體器件110-1、...、110-N,且可用以在記憶體系統104與一主機102之間傳送資料。介面106可呈一標準化介面之形式。舉例而言,當將記憶體系統104用於在一計算系統100中之資料儲存時,除其他連接器及介面外,介面106亦可係一串列進階技術附接(SATA)、高速周邊組件互連(PCIe)或一通用串列匯流排(USB)。然而,一般而言,介面106可提供用於在記憶體系統104與具有用於介面106之相容接收器之一主機102之間傳遞控制、位址、資料及其他信號之一介面。
除各種其他類型之主機外,主機102亦可係一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一行動電話或一記憶體卡讀取器。主機102可包含一系統母板及/或底板且可包含若干記憶 體存取器件(例如,若干處理器)。主機102亦可係一記憶體控制器,諸如其中記憶體系統104係一記憶體器件(例如,具有一晶粒上控制器)。
控制器108可與該若干個記憶體器件110-1、...、110-N(在某些實施例中其可係一單個晶粒上之若干記憶體陣列)通信以除其他操作外控制資料讀取、寫入及擦除操作。在某些實施例中,控制器108可與該若干記憶體器件110中之任一者或全部在同一晶粒或一不同晶粒上。
雖然未具體地圖解說明,但在某些實施例中,針對將控制器108耦合至記憶體器件110-1、...、110-N之每一通道,控制器108可包含一離散記憶體通道控制器。控制器108可包含(舉例而言)呈硬體及/或韌體(例如,一或多個積體電路)及/或軟體之形式之若干組件用於控制對該若干記憶體器件110-1、...、110-N之存取及/或用於促進主機102與記憶體器件110-1、...、110-N之間的資料傳送。
如圖1之所圖解說明,控制器108可包含一錯誤編碼組件107(例如,諸如一錯誤校正碼(ECC)引擎之一編碼器)及一調變組件109(例如,供用於TCM中)。錯誤編碼組件107及調變組件109中之每一者可係諸如一特殊應用積體電路(ASIC)之離散組件或該等組件可反映藉由未必具有與控制器108之其他部分分離之一離散實體形式的控制器108內之電路提供之功能性。雖然在圖1中經圖解說明為控制器108內之組件,但錯誤編碼組件107及調變組件109中之每一者可在控制器108外部或具有位於控制器108內之若干組件及位於控制器108外部之若干組件。
錯誤編碼組件107可經組態以編碼自主機102接收且欲儲存於(例如,寫入至)諸如記憶體器件110-1、...、110-N之一記憶體上之資料(例如,使用者資料)。例如,可使用諸如一LDPC碼之一線性錯誤校 正碼來編碼使用者資料,如本文中更詳細地闡述。
經編碼資料可具有與之對應之一碼率。碼率可係指非冗餘之經編碼資料之比例。在本發明之若干實施例中,可將二進制編碼資料轉換為一多位階信號(例如,一個三階信號)。例如,可使用自兩個至三個之一信號集擴展,此可在無碼率損失之情況下增加三階域中之最靠近信號序列對之間的歐幾里德距離。
在若干實施例中,控制器108可經組態以:使用一線性錯誤校正碼編碼器來編碼二進制資料;使用一調變方案來將二進制資料轉換為多位階資料;將多位階資料寫入至記憶體;自記憶體讀取資料;及使用一維特比演算法來解碼所讀取資料;以及經由一線性錯誤校正碼解碼器來解碼藉由維特比演算法產生之硬資料及軟資料。可使用LDPC碼來編碼二進制資料,且用以轉換二進制資料之調變方案可包含TCM。維特比演算法可包含一軟式輸出維特比演算法(SOVA),且線性錯誤校正碼解碼器可包含一LDPC解碼器。在若干實施例中,控制器108可經組態以在SOVA與LDPC解碼器之間反覆地互換軟資料。一SOVA可不同於一典型維特比演算法之處在於:其使用考量輸入符號之前機率之一經修改路徑度量,且產生指示一決策之一可靠性之一軟式輸出。本文中更詳細地闡述與控制器108相關聯之額外功能性。
該若干記憶體器件110-1、...、110-N可包含若干記憶體胞(例如,非揮發性記憶體胞)陣列。舉例而言,該等陣列可係具有一NAND架構之快閃陣列。然而,實施例並不限於一特定類型之記憶體陣列或陣列架構。可將該等記憶體胞分組(舉例而言)成包含若干實體頁之若干區塊。若干區塊可包含於一記憶體胞平面中且一陣列可包含若干平面。一項實例為,一記憶體器件可經組態以每頁儲存8 KB(千位元組)之使用者資料,每區塊128頁之使用者資料,每平面2048個區塊及每器件16個平面。
舉例而言,在操作中,可將資料作為一資料頁寫入至記憶體(例如,系統104之記憶體器件110-1、...、110-N)及/或將其自記憶體(例如,系統104之記憶體器件110-1、...、110-N)讀取。因此,可將一資料頁稱為記憶體系統之一資料傳送大小。sector可以稱為扇區(例如,主機扇區)之資料段將資料傳送至一主機(例如,主機102)/自一主機(例如,主機102)傳送資料。因此,可將一資料扇區稱為主機之一資料傳送大小。
雖然一資料頁可包含若干使用者資料位元組(例如,包含若干資料扇區之一資料有效負載)以及與其對應之後設資料,但一資料頁之一大小通常可僅指代使用者資料之位元組數目。作為一實例,具有4 KB之一頁大小之一資料頁可包含4 KB之使用者資料(例如,呈512 B之一扇區大小之8個扇區)以及若干位元組(例如,32 B、54 B、224 B等)之對應於使用者資料之後設資料。除對應於使用者資料之後設資料外,後設資料亦可包含完整性資料,諸如錯誤資料(例如,錯誤偵測及/或校正碼資料)及/或位址資料(例如,邏輯位址資料)。
圖2係根據本發明之若干實施例與結合信號集擴展(例如,TCM)與LDPC碼相關聯之一功能方塊圖220。與代數錯誤校正碼(例如,BCH碼)相比,LDPC碼可提供增加之錯誤校正能力且亦可連同(例如)軟資料一起予以解碼。
在若干實施例中,與使用僅LDPC或僅信號集擴展達成之SNR相比,結合LDPC碼與信號集擴展可導致SNR增益。舉例而言,在不經受信號集擴展之情況下以一給定速率之一單位階胞上之二進制LDPC碼可使SNR增加達約7倍而具有一給定碼率損失。類似地,已經受信號集擴展之以一相同或類似給定速率之非LDPC碼可使SNR增加達9倍而具有一相同或類似給定碼率損失。然而,在若干實施例中,已經受信號集擴展(例如,自二階至三階)之以一相同或類似給定速率之二進 制LDPC碼可使SNR增加達約18倍而具有一相同或類似給定碼率損失。
圖2圖解說明由一線性錯誤校正碼編碼器214(例如,一LDPC編碼器)接收之主機資料212-1(例如,二進制主機資料)Hk。經由LDPC編碼器214編碼主機資料212-1且將經編碼資料Uk 216-1提供至218。預編碼器218對經編碼資料216-1執行一預編碼操作。
作為一實例,該預編碼操作可係將二進制編碼資料(例如,Uk216-1)轉換為經預編碼資料222(例如,Vk)之一(1/(1 xor D)運算。由預編碼器218輸出之經預編碼資料Vk由一運算子224接收。運算子224可經由一(1+D)運算將二進制經預編碼資料Vk轉換為多位階資料226(例如,Xk)。因此,將信號集自二進制域(例如,二階)擴展至一多位階域(例如,三階)。作為一實例,可將Xk資料226(其可係Uk資料216-1之一個三階等效形式)寫入至記憶體(例如,快閃記憶體210)。
在實例性操作中,D可對應於一個單位之一延遲。舉例而言,在一操作中,yn=xn+x(n-1),將一當前樣本xn添加至一先前樣本x(n-1)。此可由表達式(1+D)表示:彼「1」代表當下即時之樣本(xn),且D代表一個單位之一延遲(例如,x(n-1))。
在圖2中所圖解說明之實例中,與TCM相關聯地利用(1/(1 xor D))預編碼操作與(1+D)運算之結合,此導致信號集擴展(例如,將二進制資料轉換為多位階資料)。信號集擴展可(例如)增加三階域中之最靠近信號序列對之間的一歐幾里德距離。在若干實施例中,可在無與LDPC相關聯之碼率損失之情況下達成信號集擴展。在信號集擴展(例如,TCM)期間,可產生可包含若干狀態(例如,一雙態三階格子)之一多位階格子,關於圖3進一步詳細地論述其一實例。
與多位階資料Xk相關聯之信號雜訊nk(例如,Xk+nk)可係自記憶體210讀取且經由一維特比組件234解碼。在若干實施例中,且如圖2 中所圖解說明,維特比組件234可係能夠產生對應於所讀取資料232之軟資料(例如,對數似然比(LLR))之一SOVA(例如,一雙態SOVA)。由維特比組件234產生之軟資料可包括LDPC碼位元連同對應於彼等LDPC碼位元之可靠性度量。可使用LLR來比較兩個模型(例如,一碼序列中之一「0」及一「1」)之一擬合。舉例而言,若一位元係一「0」之機率係0.7且一位元係「1」之機率係0.3,則LLR等於log(0.7/0.3)。
經解碼硬及軟資料Uk係自維特比組件234讀取且可使用一LDPC解碼器236予以進一步解碼。可將所得經解碼主機資料Hk 212-2提供至一請求實體(例如,諸如圖1中所展示之主機102之一主機)。在若干實施例中,與先前LDPC方法相比,例如,經解碼主機資料212-2包含一增加之SNR增益。
在若干實施例中,可引入將在維特比組件234與LDPC解碼器236之間的反覆軟資料互換以進一步精簡與Uk 216-2相關聯之軟資料。例如,LDPC解碼器236亦可產生軟資料(例如,LLR)。舉例而言,LDPC解碼器236可輸出具有主機資料Hk 212-2之軟資料,且可將此軟資料發送至維特比組件234供用於進一步解碼且然後發送回至LDPC解碼器236(例如,在一反覆程序中)。在若干實施例中,此反覆程序可持續直至與資料216-2相關聯之雜訊減小至(例如)一所要臨限位準。
圖3圖解說明可根據本發明之若干實施例中之一者產生之一格子330。作為一實例,格子330可係經由由諸如圖2中所展示之組件218及224之組件執行之操作產生。格子330係可用於一TCM調變方案(亦稱為格子調變)中之一雙態維特比格子(例如,狀態1及狀態0)。與其他調變方案相比,TCM可導致增加之傳輸效率。
在圖3中所圖解說明之實例中,可使用一LDPC編碼器314來編碼資料(例如,主機資料212-1)。經編碼資料可經受TCM以使得信號集 得以擴展(例如,自一個二進制域擴展至一個三階域)。例如,如連同圖2所闡述,可對自314輸出之資料執行一(1/(1 xor D))運算與一(1+D)運算之一結合,此可導致信號擴展及諸如格子330之一格子之產生。因此,雙態格子330中之兩個最靠近三階信號序列之間的一平方歐幾里德距離可係未經編碼三階信號序列之間的平方歐幾里德距離之兩倍。在若干實施例中,格子330之位階可包含約-4伏特至3伏特之電壓值。
格子330包含兩個狀態,包含「狀態0」(例如,狀態338-1、338-2及338-3)及「狀態1」(例如,狀態342-1、342-2及342-3)。如圖3中所圖解說明,狀態之間的每一線表示一序列路徑,且每一路徑標記有一位元(例如,一LDPC編碼器輸出位元)及一對應三階信號。舉例而言,路徑344-1及344-2指示具有一對應三階信號「0」之一位元「0」。類似地,舉例而言,路徑348-1及348-2指示位元「0」及對應三階信號「2」,而路徑346-1至346-4指示具有對應三階信號「1」之位元「1」。
由一狀態序列0-0-0形成之路徑邊緣上之一個三階標記序列可由0-0(例如,路徑344-1及344-2)給出,而由一狀態序列0-1-0形成之路徑邊緣上之一個三階標記序列可由1-1(例如,路徑346-1及346-2)給出。在此一實例中,兩個路徑之間的一平方歐幾里德距離等於2。舉例而言,(1-0)2+(1-0)2=2。其他路徑對在其間將總是具有更大距離。
格子330可包含與格子中之至少一個其他位階具有一特定關係之格子中之一位階。舉例而言,圖2之二進制使用者資料Uk 216可基於經由圖2之預編碼器218執行之一(1/(1 xor D))運算及由圖2之運算子224執行之一(1+D)運算而與三階資料Xk 226相關。與對應於彼此獨立之位階之未擴展信號集(例如,二階、三階或四階資料)相比,經由 此等運算達成之關係可導致對雜訊之穩健性(例如,SNR增益)。
在圖3中,路徑344-1、344-2、346-1、346-2、346-3、346-4、348-1及348-2之值表示Uk/Xk,其中Uk係諸如圖2中所展示之216-1之二進制資料且Xk係諸如圖2中所展示之資料226之經調變資料(例如,三階資料)。舉例而言,如本文中將進一步論述,路徑348-1具有一Uk值0、一Xk值2且標記為0/2。此等路徑可對應於由一位階序列採取之可能路徑,且與不具有路徑資訊之組件相比,此路徑資訊可由一維特比組件(例如,圖2中所展示之組件234)利用以識別由多位階資料在其通過格子330時使用之一路徑,從而導致維特比組件之增加之效能。
作為一實例,考量二進制使用者資料Uk={1 0 0 1 0 1 0 1 1...}由諸如圖2中所展示之預編碼器218之一預編碼器接收。藉由對Uk執行一特定運算(例如,一1/(1 xor D)運算),可判定經預編碼資料Vk。舉例而言,Vk=xor(Uk,Vk-1)導致Vk={1 1 1 0 0 1 1 0 1...}。
對Vk利用一(1+D)運算子可導致3階資料Xk之產生。舉例而言,Xk=Vk+Vk-1以使得Xk={1 2 2 1 0 1 2 1 1...}。因此,在格子330之位階0、1與2之間(尤其在Uk與Xk之間)存在一關係,其中若Uk=1,則Xk=1。與具有彼此獨立之位階之記憶體胞相比,此關係導致增加之SNR增益。
在上文之實例中,若1之一偶數在Uk序列中於序列中之一特定點處經過,則0之一Uk值產生Xk=0,如在路徑344-1及344-2中。此可稱為一狀態0(例如,狀態338-1、338-2及338-3)。若1之一奇數在Uk序列中於序列中之一特定點處經過,則0之一Uk值產生Xk=2,如在路徑348-1及348-2中。此可稱為一狀態1(例如,狀態342-1、342-2及342-3)。
可將自TCM輸出之資料(例如,多位階資料)寫入至記憶體(例如,快閃記憶體)310且發送至一SOVA供用於解碼,如圖2之232處所 圖解說明。在若干實施例中,SNR增益可藉由對一格子(例如,格子330)使用一維特比演算法來依據自記憶體(例如,記憶體310)讀取之軟資料復原二進制LDPC碼而實現。該軟資料可包含對關於圖3所論述之三階信號(例如,Xk)之近似值。
雖然本文中已圖解說明及闡述特定實施例,但熟習此項技術者將瞭解,可以經計算以達成相同結果之一配置來替代所展示之特定實施例。本發明意欲涵蓋對本發明各種實施例之更改或變化。應理解,上文說明係以一說明性方式而非一限制性方式做出。在審閱上文說明後,熟習此項技術者旋即將明瞭上文實施例之組合與本文中未具體地闡述之其他實施例。本發明之各種實施例之範疇包含其中使用上文結構及方法之其他應用。因此,本發明之各種實施例之範疇應參考隨附申請專利範圍連同授權此等申請專利範圍之等效形式之全部範圍一起來判定。
在前述詳細說明中,出於簡化本發明之目的,將各種特徵一起分組於一單個實施例中。不應將本發明之此方法視為反映本發明之所揭示實施例必須使用比每一請求項中明確陳述之特徵多的特徵之一意圖。而是,如以下申請專利範圍反映,發明標的物在於少於一單個所揭示實施例之所有特徵。因此,以下申請專利範圍藉此併入詳細說明中,其中每一請求項獨立地作為一單獨實施例。
210‧‧‧快閃記憶體/記憶體
212-1‧‧‧主機資料
212-2‧‧‧經編碼主機資料Hk/經編碼主機資料/主機資料Hk
214‧‧‧線性錯誤校正碼編碼器/低密度同位檢查編碼器
216-1‧‧‧經編碼資料Uk/經編碼資料/二進制編碼資料/Uk/Uk資料
216-2‧‧‧Uk/資料
218‧‧‧預編碼器/組件
220‧‧‧功能方塊圖
222‧‧‧經預編碼資料
224‧‧‧運算子/組件
226‧‧‧多位階資料/三階資料Xk/資料
232‧‧‧所讀取資料
234‧‧‧維特比組件/組件
236‧‧‧低密度同位檢查解碼器

Claims (30)

  1. 一種用於操作一記憶體之方法,該方法包括:使用線性錯誤校正碼來編碼資料;調變該經編碼資料;將該經調變資料寫入至記憶體;及使用一維特比演算法及一線性錯誤校正碼解碼器來解碼該經寫入資料。
  2. 如請求項1之方法,其中編碼資料包含使用低密度同位檢查(LDPC)碼來進行錯誤編碼資料。
  3. 如請求項1之方法,其中調變該經編碼資料包含對該經編碼資料執行格子編碼調變(TCM)。
  4. 如請求項1之方法,其中執行一調變方案包含擴展該經編碼資料之一信號集。
  5. 如請求項3之方法,其中執行TCM包含產生一多位階格子。
  6. 如請求項5之方法,其中產生該多位階格子包含:使用一(1/(1 xor D))預編碼器操作來預編碼該經編碼資料;及對該經預編碼錯誤編碼資料執行一(1+D)運算,其中D對應於一個單位之一延遲。
  7. 如請求項3之方法,其中執行TCM包含將該經編碼資料自二進制資料轉換為多位階資料。
  8. 一種用於操作一記憶體之方法,該方法包括:自記憶體讀取資料;及使用一維特比演算法及一線性錯誤校正碼解碼器來解碼該所讀取資料,其中該所讀取資料係經調變資料且包含使用線性錯誤校正 碼編碼之資料。
  9. 如請求項8之方法,其中解碼該所讀取資料包含使用一軟式輸出維特比演算法(SOVA)及一LDPC解碼器來解碼該所讀取資料。
  10. 如請求項8之方法,其中解碼該所讀取資料包含產生軟資料及硬資料,且其中該軟資料包含對數似然比(LLR)。
  11. 如請求項9之方法,其中使用一SOVA及一LDPC解碼器來解碼該所讀取資料包含使用一雙態SOVA。
  12. 如請求項9之方法,其中使用一SOVA及一LDPC解碼器來解碼該所讀取資料包含使用該SOVA產生LLR。
  13. 一種用於操作一記憶體之方法,該方法包括:接收經低密度同位檢查(LDPC)編碼之二進制資料;經由格子編碼調變(TCM)將該經編碼二進制資料轉換為多位階資料;及將該多位階資料寫入至記憶體。
  14. 如請求項13之方法,其中轉換該經編碼二進制資料包含增加與該經編碼二進制資料相關聯之兩個最靠近之多位階序列之間的一平方歐幾里德距離。
  15. 如請求項13之方法,其中經由TCM將該經編碼二進制資料轉換為多位階資料包含產生一雙態三階格子。
  16. 如請求項15之方法,其中產生該雙態三階格子包含使用彼此相依之位階產生該三階格子。
  17. 如請求項13之方法,其中將該經編碼二進制資料轉換為多位階資料包含在無一LDPC碼率損失之情況下轉換該經編碼二進制資料。
  18. 如請求項13之方法,其中操作該記憶體包含自該記憶體讀取資料及將所讀取資料提供至一維特比組件及一LDPC解碼器。
  19. 一種用於操作一記憶體之方法,該方法包括:使用低密度同位檢查(LDPC)碼來編碼二進制資料;經由格子編碼調變(TCM)將該經編碼二進制資料轉換為三階資料;將該三階資料寫入至一記憶體;將自該記憶體讀取之資料提供至一維特比組件;及將由該維特比組件產生之軟資料及硬資料輸出提供至一LDPC解碼器。
  20. 如請求項19之方法,其中操作一記憶體包含自該LDPC解碼器產生軟資料且在該維特比組件與該LDPC解碼器之間反覆地互換該軟資料。
  21. 如請求項19之方法,其中在該維特比組件與該LDPC解碼器之間反覆地互換該軟資料包含反覆地互換對數似然比(LLR)。
  22. 如請求項19之方法,其中經由TCM轉換該經編碼二進制資料包含增加該經編碼二進制資料中之兩個最靠近之信號序列之間的一歐幾里德距離。
  23. 一種裝置,其包括:記憶體;一控制器,其耦合至該記憶體;一錯誤校正碼編碼器,其耦合至該控制器且經組態以編碼二進制資料;及一調變組件,其耦合至該控制器且經組態以藉由擴展該經編碼二進制資料之一信號集而調變該經編碼二進制資料;其中該控制器經組態以控制:將該經調變資料寫入至該記憶體;自該記憶體讀取該經調變資料;及 使用一維特比演算法來解碼該所讀取經調變資料。
  24. 如請求項23之裝置,其進一步包括耦合至該控制器且經組態以解碼藉由該維特比演算法產生之硬資料及軟資料之一線性錯誤校正碼解碼器。
  25. 如請求項23之裝置,其中該錯誤校正碼編碼器經進一步組態以使用低密度同位檢查(LDPC)碼來編碼二進制資料。
  26. 如請求項23之裝置,其中該調變組件經進一步組態以使用格子編碼調變(TCM)來擴展該信號集。
  27. 如請求項24之裝置,經組態以控制解碼硬資料及軟資料之該控制器包括經組態以控制使用一軟式輸出維特比演算法(SOVA)及一LDPC解碼器來解碼硬資料及軟資料之該控制器。
  28. 一種裝置,其包括:記憶體;及一控制器,其耦合至該記憶體且經組態以控制:使用一低密度同位檢查(LDPC)解碼器來編碼自一主機接收之二進制資料;及對該經編碼二進制資料執行格子編碼調變(TCM)。
  29. 如請求項28之裝置,其中該控制器經組態以控制使用一軟式輸出維特比演算法(SOVA)來解碼自該記憶體讀取之資料。
  30. 如請求項29之裝置,其中該控制器經進一步組態以:控制使用一LDPC解碼器來解碼藉由該SOVA產生之硬資料及軟資料;且控制在該SOVA與該LDPC解碼器之間反覆地互換該軟資料。
TW102107431A 2012-03-08 2013-03-01 用於結合錯誤編碼與調變方案之裝置及方法 TWI510000B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/415,422 US8892986B2 (en) 2012-03-08 2012-03-08 Apparatuses and methods for combining error coding and modulation schemes

Publications (2)

Publication Number Publication Date
TW201342812A true TW201342812A (zh) 2013-10-16
TWI510000B TWI510000B (zh) 2015-11-21

Family

ID=49115167

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102107431A TWI510000B (zh) 2012-03-08 2013-03-01 用於結合錯誤編碼與調變方案之裝置及方法

Country Status (7)

Country Link
US (2) US8892986B2 (zh)
EP (1) EP2823399B1 (zh)
JP (1) JP6016952B2 (zh)
KR (1) KR101645837B1 (zh)
CN (1) CN104303155B (zh)
TW (1) TWI510000B (zh)
WO (1) WO2013134071A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892986B2 (en) * 2012-03-08 2014-11-18 Micron Technology, Inc. Apparatuses and methods for combining error coding and modulation schemes
RU2573243C2 (ru) 2013-10-28 2016-01-20 Общество с ограниченной ответственностью "Топкон Позишионинг Системс" Способ и устройство для измерения текущего отношения сигнал/шум при декодировании ldpc-кодов (варианты)
US9582361B2 (en) 2014-05-20 2017-02-28 Seagate Technology Llc Fixed point conversion of LLR values based on correlation
US9904591B2 (en) 2014-10-22 2018-02-27 Intel Corporation Device, system and method to restrict access to data error information
CN106169312B (zh) * 2015-05-18 2021-05-07 爱思开海力士有限公司 用于快闪存储的广义乘积码
US9740558B2 (en) 2015-05-31 2017-08-22 Intel Corporation On-die ECC with error counter and internal address generation
US9842021B2 (en) 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
EP3639411B1 (en) * 2017-06-07 2021-02-24 Huawei Technologies Co., Ltd. Transmission systems with controlled bit probabilities
US10886947B2 (en) * 2018-12-20 2021-01-05 Toshiba Memory Corporation Efficient decoding of n-dimensional error correction codes
CN110008054B (zh) * 2019-02-25 2023-05-12 西南交通大学 一种用于存储器差错控制的多级读取译码的方法和装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2668455B2 (ja) * 1990-12-20 1997-10-27 富士通株式会社 ビタビ復調制御方式
US5550683A (en) 1992-12-11 1996-08-27 Eastman Kodak Company Magnetic recording channel employing a non-ideal d.c.-free equalizer and a d.c.-free modulation code
JPH08235593A (ja) * 1994-10-31 1996-09-13 Hitachi Maxell Ltd 光記録媒体並びにその記録・再生方法及び装置
US5968198A (en) 1996-08-16 1999-10-19 Ericsson, Inc. Decoder utilizing soft information output to minimize error rates
JP2000312234A (ja) * 1999-04-27 2000-11-07 Sony Corp ブランチメトリックおよびセクター算出方法とその装置、および、その装置を用いた復号装置
JP4198904B2 (ja) * 2001-06-11 2008-12-17 富士通株式会社 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
JP3578736B2 (ja) * 2001-08-07 2004-10-20 Necマイクロシステム株式会社 ブランチメトリック算出装置およびその算出方法
JP2006500714A (ja) * 2002-09-26 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビタビビット検出方法および装置
US7401283B2 (en) 2004-09-28 2008-07-15 Broadcom Corporation Amplifying magnitude metric of received signals during iterative decoding of LDPC (Low Density Parity Check) code and LDPC coded modulation
US7486456B2 (en) * 2004-12-17 2009-02-03 Stmicroelectronics, Inc. Finite field based short error propagation modulation codes
TWI255608B (en) 2005-04-01 2006-05-21 Univ Nat Chiao Tung Transmission method combining trellis coded modulation code (TCM) and low-density parity check code (LDPC), and structure thereof
KR100860504B1 (ko) 2005-06-09 2008-09-26 삼성전자주식회사 이동통신 시스템에서 송수신 장치 및 방법
US7971130B2 (en) 2006-03-31 2011-06-28 Marvell International Ltd. Multi-level signal memory with LDPC and interleaving
US7848465B2 (en) * 2007-04-02 2010-12-07 Broadcom Corporation Joint decoding of ISI (inter-symbol interference) channel and modulation codes
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US7752531B2 (en) 2007-09-12 2010-07-06 Seagate Technology Llc Defect sensing Viterbi based detector
JP5397367B2 (ja) * 2008-02-26 2014-01-22 日本電気株式会社 復号装置、復号方法及びプログラム
US8238454B2 (en) 2008-04-01 2012-08-07 Harris Corporation System and method for communicating data using efficient fast fourier transform (FFT) for orthogonal frequency division multiplexing (OFDM) demodulation
CN101567752B (zh) 2008-04-23 2012-08-08 中国科学院微电子研究所 一种基于低密度奇偶校验码的自适应编解码方法
WO2009150707A1 (ja) * 2008-06-09 2009-12-17 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
KR20090130808A (ko) 2008-06-16 2009-12-24 한국전자통신연구원 디지털 케이블 송수신 시스템에서 적응/가변형 변복조 장치
US8413029B2 (en) * 2009-01-16 2013-04-02 Lsi Corporation Error correction capability adjustment of LDPC codes for storage device testing
WO2011059166A1 (ko) 2009-11-13 2011-05-19 한국전자통신연구원 통신 시스템에서 데이터 수신 장치 및 방법
US8566683B2 (en) * 2009-12-28 2013-10-22 Nxp, B.V. Power-reduced preliminary decoded bits in viterbi decoders
US8516331B2 (en) * 2010-01-29 2013-08-20 Broadcom Corporation Systems for high-speed backplane applications using FEC encoding
EP2383949B1 (en) 2010-04-29 2016-01-06 Xieon Networks S.à r.l. Method and arrangement for signal processing in a communication system
US8892986B2 (en) * 2012-03-08 2014-11-18 Micron Technology, Inc. Apparatuses and methods for combining error coding and modulation schemes

Also Published As

Publication number Publication date
JP6016952B2 (ja) 2016-10-26
EP2823399A4 (en) 2015-12-09
TWI510000B (zh) 2015-11-21
EP2823399B1 (en) 2017-10-18
EP2823399A1 (en) 2015-01-14
US20130238952A1 (en) 2013-09-12
US8892986B2 (en) 2014-11-18
CN104303155B (zh) 2018-12-11
KR20140139537A (ko) 2014-12-05
US20150074498A1 (en) 2015-03-12
KR101645837B1 (ko) 2016-08-04
US9251000B2 (en) 2016-02-02
CN104303155A (zh) 2015-01-21
JP2015513866A (ja) 2015-05-14
WO2013134071A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
TWI510000B (zh) 用於結合錯誤編碼與調變方案之裝置及方法
US10191804B2 (en) Updating reliability data
US9734012B2 (en) Data encoding in solid-state storage devices
US8713411B2 (en) Encoding and/or decoding memory devices and methods thereof
CN113032178B (zh) 存储器控制器及快闪存储器的存取方法
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
KR20170056407A (ko) 데이터의 인코딩과 디코딩을 위한 메모리 시스템
US11243838B2 (en) Methods and apparatuses for error correction
JP2014150528A (ja) 選択的なバイナリ復号および非バイナリ復号を用いるフラッシュ・メモリ内の検出および復号
TW201546815A (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
KR20160090054A (ko) 플래시 메모리 시스템 및 그의 동작 방법
KR20150129325A (ko) 솔리드 스테이트 메모리에 저장된 데이터 디코딩
US9304851B2 (en) Decoding with log likelihood ratios stored in a controller
KR102314481B1 (ko) Siso 복호 방법, 디코더 및 반도체 메모리 시스템
US10326473B2 (en) Symbol-based coding for NAND flash devices
US10855314B2 (en) Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords
US9639421B2 (en) Operating method of flash memory system
Achala et al. On the design of SSRS and RS codes for enhancing the integrity of information storage in NAND flash memories
Kaynak et al. Classification codes for soft information generation from hard flash reads
Xu Data reliability and error correction for NAND Flash Memory System
Huang et al. Flash Coding Scheme Based on Error-Correcting Codes