JP5345201B2 - 符号化および/または復号化メモリ装置および方法 - Google Patents

符号化および/または復号化メモリ装置および方法 Download PDF

Info

Publication number
JP5345201B2
JP5345201B2 JP2011500685A JP2011500685A JP5345201B2 JP 5345201 B2 JP5345201 B2 JP 5345201B2 JP 2011500685 A JP2011500685 A JP 2011500685A JP 2011500685 A JP2011500685 A JP 2011500685A JP 5345201 B2 JP5345201 B2 JP 5345201B2
Authority
JP
Japan
Prior art keywords
message
codeword
decoding
data
ecc
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2011500685A
Other languages
English (en)
Other versions
JP2011515784A (ja
Inventor
ジュン・ジン・コン
ヨン・ジュン・キム
ジェ・ホン・キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2011515784A publication Critical patent/JP2011515784A/ja
Application granted granted Critical
Publication of JP5345201B2 publication Critical patent/JP5345201B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

実施形態は、誤り制御コード(error control codes、ECC)に関し、特に、メモリ装置のためのECC符号化/復号化方法に関する。
一般的に情報を送信する経路をチャネル(channel)と呼ぶことができる。情報が有線通信を用いて送信されれば、チャネルは情報が送信される送信線(transmission line)であり、情報が無線通信を用いて送信されれば、チャネルは情報を含む電磁波が通過する大気である。
また、半導体記憶装置が情報を格納して、格納された情報を半導体記憶装置から読み出す過程もチャネルになり得る。チャネルは、半導体記憶装置が情報を格納した瞬間から格納された情報を半導体記憶装置から読み出すまでの時間的な経過であってもよく、半導体記憶装置が情報を格納して格納された情報を半導体記憶装置から読み出す物理的経路であってもよい。
チャネルを経由して情報が送信される間に情報が汚染される恐れがある。汚染された情報は誤りを含み、汚染された情報から誤りを検出し、検出された誤りを除去して最初の情報を復元するための装置および方法に関する研究が着実に進められている。
情報を送信する前に最初の情報に誤り制御コードまたは誤り訂正コード(error control codes or error correction codes、ECC)を付加して送信情報を生成する過程をECC符号化といい、送信情報を受信した後に受信された送信情報から付加された情報と最初の情報とを分離して最初の情報を復元する過程をECC復号化という。
チャネルの特性によっては、チャネルで発生する誤り率が非常に大きいこともある。誤り率が大きければ大きいほどこのような誤りを克服して所望する性能を達成するための符号率(code rate)が低くなり、ECC符号化および復号化方法を実現するためのハードウェアの複雑さは増加する。
本発明における実施形態の目的は、メモリ装置に新しいECC(error control codes or error correction codes)符号化法および/または復号化法を適用することによってメモリ装置のデータを読み出して書き込む時の誤りを減らすことにある。
また、本発明における実施形態の目的は、マルチレベルセル(multi−level cell、MLC)またはマルチビットセル(multi−bit cell、MBC)メモリ装置に新しいECC符号化および/または復号化法を適用することによってクリティカルなデータページの誤り率を減らすことにある。
実施形態に係るメモリ装置は、メモリセルアレイおよび少なくとも1つのデコーダおよびエンコーダを含むプロセッサを含む。前記プロセッサは、データが少なくとも1回格納されて読み出された前記メモリセルアレイの経路である各チャネルの冗長情報比率を調整してもよい。前記冗長情報比率は、以前コードワードからの情報に基づいて少なくとも1つのコードワードを生成することによって調整してもよい。
実施形態に係るメモリ装置は、メモリセルアレイおよびデコーダを含んでもよい。デコーダは、メモリセルアレイから読み出した第1データから生成された第1コードワードをECC復号化して第1メッセージを推定し、前記推定された第1メッセージおよびメモリセルアレイから読み出した第2データを結合して第2コードワードを生成し、第2コードワードをECC復号化して第2メッセージを推定してもよい。
実施形態に係るメモリ装置は、メモリセルアレイ、エンコーダおよびプログラミング部を含んでもよい。エンコーダは、第1メッセージをECC符号化して第1コードワードを生成し、第1メッセージおよび第2メッセージをECC符号化して第2コードワードを生成してもよい。プログラミング部は、第1コードワードおよび第2コードワードをメモリセルアレイに格納してもよい。
実施形態に係るコーディング方法は、データが少なくとも1回格納されて読み出されたメモリセルアレイの経路である各チャネルの冗長情報比率が調整されるように少なくとも1つの誤り制御コード(ECC)復号化および符号化を行うステップを含み、前記冗長情報比率は、前記以前コードワードからの情報に基づいて、少なくとも1つのコードワードを生成することによって調整してもよい。
実施形態に係る復号化方法は、受信された第1データから生成された第1コードワードを誤り制御コード(ECC)復号化して第1メッセージを推定するステップと、前記第1メッセージおよび受信された第2データを結合して第2コードワードを生成するステップと、前記第2コードワードを誤り制御コード(ECC)復号化して第2メッセージを推定するステップとを含んでもよい。
実施形態に係る符号化方法は、第1メッセージを誤り制御コード(ECC)符号化して第1コードワードを生成するステップと、前記第1メッセージおよび第2メッセージを誤り制御コード(ECC)符号化して第2コードワードを生成するステップとを含んでもよい。
本発明の一実施形態に係るメモリ装置を示す図である。 図1に示すデコーダの復号化過程の一例を示す図である。 本発明の他の実施形態に係るメモリ装置を示す図である。 図3に示すメモリ装置の符号化過程の一例を示す図である。 図4に示すECC符号化方法によって生成されたデータページを格納して形成されたマルチビットセルの閾値電圧の分布の一例を示す図である。 本発明の更なる実施形態に係る復号化方法を示す動作フローチャートである。 本発明の更なる実施形態に係る符号化方法を示す動作フローチャートである。
以下にて、本発明に係る好適な実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示する同一の参照符号は同一の部材を示す。
図1は、本発明の一実施形態に係るメモリ装置100を示す図である。
図1を参照すれば、メモリ装置100は、メモリセルアレイ110およびデコーダ120を含む。
メモリセルアレイ110は、複数のメモリセルを含む。メモリセルアレイ110に含まれるサブアレイ111は、デコーダ120によって同時に読み出されるメモリセルの集合であってもよい。デコーダ120は、サブアレイ111のメモリセルから同時にデータを読み出してもよい。
実施形態によれば、サブアレイ111は、1つのワード線(word line)(図示せず)に接続されたメモリセルの集合であってもよい。メモリ装置100は、サブアレイ111に接続されたワード線に特定電圧を印加することによってサブアレイ111内のメモリセルから同時にデータを読み出してもよい。本明細書では、1つのワード線に接続されたメモリセルの集合をメモリページと称して用いることにする。
デコーダ120は、サブアレイ111から読み出した第1データから生成された第1コードワード(codeword)をECC(error control codes or error control coding or error correction codes)復号化して第1メッセージを推定してもよい。デコーダ120は、サブアレイ111から第2データを読み出してもよい。デコーダ120は、前記推定された第1メッセージおよび前記読み出した第2データを結合して第2コードワードを生成してもよい。デコーダ120は、第2コードワードをECC復号化して第2メッセージを推定してもよい。
ECCの中のメッセージおよび冗長情報(redundant information)が明白に区分されるコードを体系的コード(systematic codes)とし、メッセージおよび冗長情報が明白に区分されないコードを非体系的コード(non−systematic codes)とすることもある。冗長情報の例としては、1つまたはそれ以上のパリティ(parity)ビットを含んでもよい。デコーダ120が体系的コードを用いるECC復号化法を用いる場合、第1コードワードは第1メッセージと第1パリティに区分してもよい。第1メッセージおよび第1パリティは、サブアレイ111にデータが格納される過程で発生した誤り、またはサブアレイ111から判定部120によってデータを読み出す過程で発生した誤りを含んでもよい。デコーダ120は、第1コードワードをECC復号化することによって第1コードワードに含まれ得る誤りを検出することができ、前記検出された誤りの第1コードワードの全体情報量に対する比率(ビット誤り率(BER、bit error rate))がデコーダ120によって訂正することのできる範囲以下であれば、前記検出された誤りをすべて訂正してもよい。例えば、全体1000ビットのコードワードの誤りビット数が10であれば、BERは10/1000=10(−2)で表すことができる。
実施形態によれば、第1コードワードの誤り率がデコーダ120の閾値誤り率以下であれば、デコーダ120は前記ECC復号化された第1コードワードの誤り率を目標誤り率以下に減らすことができる。
実施形態によれば、第1コードワードまたは第2コードワードの誤りの発生レベルは、シンボル誤り率(symbol error rate)によって表すことができる。
第1パリティは、誤りが発生する場合に備えた冗長情報であるため、デコーダ120は第1メッセージおよび第1パリティから第1メッセージがサブアレイ111に格納される前のデータを推定することができる。このとき、デコーダ120のECC復号化の結果は、推定された第1メッセージであり、第1パリティは除去してもよい。
デコーダ120は、サブアレイ111から第2データを読み出してもよい。第2データは、第1メッセージ、第2メッセージおよび第2パリティに区分してもよい。同様に、第2データにもデータがサブアレイ111に格納され、サブアレイ111から読み出す過程で発生した誤りが含まれることもある。デコーダ120は、推定された第1メッセージm1(1)および前記読み出した第2データを結合して第2コードワードを生成してもよい。デコーダ120は、第2コードワードをECC復号化して第2コードワードに含まれ得る誤りを検出し、前記検出された誤りを訂正してもよい。
実施形態によれば、デコーダ120は、第2データのうち第1メッセージの部分を前記推定された第1メッセージに代えてもよい。このとき、生成された第2コードワードは、前記推定された第1メッセージの少なくとも一部と、サブアレイ111から読み出された第2メッセージおよびサブアレイ111から読み出された第2パリティからなってもよい。デコーダ120は、第2コードワードをECC復号化して再推定された第1メッセージおよび推定された第2メッセージを生成してもよい。
第2パリティは第1メッセージおよび第2メッセージの誤りが発生する場合に備えた冗長情報であるため、デコーダ120は、推定された第1メッセージ、第2メッセージおよび第2パリティから第2メッセージがサブアレイ111に格納される前のデータを推定することができる。このとき、デコーダ120は推定された第1メッセージをもう1回推定してもよい。このとき、再推定された第1メッセージは、2回のECC復号化を経たため、前記再推定された第1メッセージのBERはサブアレイ111から読み出された第1メッセージのBERより非常に小さいこともある。サブアレイ111から読み出された第1メッセージのBERから前記再推定された第1メッセージのBERの減少比率は、サブアレイ111から読み出された第2メッセージのBERから前記推定された第2メッセージのBERの減少比率よりも大きくてもよい。
例えば、1回のECC復号化によってBERが1/10に減少すると仮定すれば、BER[m1]/BER[m1(2)]=100であり、BER[m2]/BER[m2(1)]=10であってもよく、「m1」は第1メッセージ、「m1(2)」は再推定された第1メッセージ、「m2」は第2メッセージ、そして「m2(1)」は推定された第2メッセージを意味する。
実施形態によれば、デコーダ120は、第1メッセージの部分を除いた残りデータすべてを第2データとして読み出してもよい。このとき、第2データは第2メッセージおよび第2パリティを含み、デコーダ120は前記推定された第1メッセージおよび第2データを結合して第2コードワードを生成してもよい。
データがサブアレイ111に格納され、前記格納されたデータがサブアレイ111から読み出される経路は、1つのチャネルと見なすことができる。データがチャネルを通過する過程で誤りが発生することがあり、デコーダ120はデータに含まれた誤りを検出し、検出された誤りを訂正してもよい。
誤り訂正能力が明らかに表れるコードとしては、ブロックコード(block codes)等がある。ブロックコードの例としては、BCH(Bose、Ray−Chaudhuri、Hocquenghem)コードまたはリードソロモン(Reed−Solomon、RS)コードなどがあり、これに対する復号化法としてメギット(Meggitt)復号化法、バーレカンプ・マッシィ(Berlekamp−Massey)復号化法、ユークリッド(Euclid)復号化法などがある。
第1データがサブアレイ111に格納され、前記格納された第1データがサブアレイ111から読み出される経路を第1チャネルとする。第2データがサブアレイ111に格納され、前記格納された第2データがサブアレイ111から読み出される経路を第2チャネルとすることができる。第1チャネルを通過した第1データに含まれる第1メッセージはデコーダ120によって2回のECC復号化を経るため、再推定された第1メッセージは非常に低いBERを有してもよい。第2チャネルを通過した第2データは1回ECC復号化を経て推定された第1メッセージと結合してECC復号化されるため、推定された第2メッセージは非常に低いBERを有してもよい。推定された第1メッセージは相対的に低いBERを有するため、第2メッセージおよび推定された第1メッセージが結合して生成された第2コードワードのBERは第2メッセージのBERより低くてもよい。第2メッセージのBERがデコーダ120によって訂正できる範囲よりも大きくても、前記生成された第2コードワードのBERはデコーダ120が訂正できる範囲以下であってもよい。デコーダ120は推定された第1メッセージおよび第2メッセージを結合して生成された第2コードワードをECC復号化することによって、第2メッセージの誤り訂正の可能性を高めることができる。
本発明の実施形態によれは、互いに異なるチャネルを介して受信されたデータを順次ECC復号化し、順次ECC復号化する過程で以前に推定されたメッセージを共にECC復号化することによって、ECC復号化されたデータのBERを減縮することができる。
もし、2回のECC復号化を経る過程でBERの減縮が推定された異なるメッセージと結合してECC復号化される過程のBERの減縮よりも大きければ、メモリ装置100は、BERが相対的に高いものと予測されるチャネルを第1チャネルに設定してBERが相対的に低いものと予測されるチャネルを第2チャネルに設定してBERの減縮を極大化してもよい。このとき、BERが相対的に高いものと予測される第1チャネルのBERは2回のECC復号化を経て減縮されるため、再推定された第1メッセージおよび推定された第2メッセージのBERは似たレベルになることができる。
もし、推定された異なるメッセージと結合してECC復号化される過程のBERの減縮が2回のECC復号化を経る過程のBERの減縮よりも大きければ、メモリ装置100は、BERが相対的に低いものと予測されるチャネルを第1チャネルに設定してBERが相対的に高いものと予測されるチャネルを第2チャネルに設定してBERの減縮を極大化してもよい。
実施形態によれば、デコーダ120はチャネルの特性に基づいて復号化法を選択して適用することもできる。デコーダ120は第1チャネルの特性に基づいて第1復号化法を選択し、選択された第1復号化法を第1コードワードのECC復号化過程に適用してもよい。デコーダ120は、第2チャネルの特性に基づいて第2復号化法を選択し、選択された第2復号化法を第2コードワードのECC復号化過程に適用してもよい。
実施形態に適用可能な復号化法は、例えば、LDPC(Low Density Parity Check)codesを用いてもよく、畳み込み符号(convolutional codes)を用いてもよい。実施形態に適用可能なECCは、LDPC codes(RA、zigzag)、Convolutional codes、RSC codes、Turbo codes、BCH codes、RS codes、Goppa codes、RM codesなどであってもよい。
実施形態によれば、ECC復号化過程の順序は、チャネルの互いに異なる特性に基づいて決められてもよい。ECC復号化されたデータは、決められた順序によって結合してECC復号化されたデータと関連したECC復号化を行うことができ、それによって劣る特性を有するチャネルの誤りを減少させることができる。また、実施形態によれば劣る特性を有するチャネルの誤りを減少させることによって誤り訂正の可能性を高めることができる。
シングルレベルセル(Single−Level Cell、SLC)メモリは、1つのメモリセルに1ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル(Single−Bit Cell、SBC)メモリとも呼ばれる。シングルレベルセルメモリのシングルレベルセルに1ビットのデータを格納する過程は、プログラム過程とも呼ばれ、シングルレベルセルの閾値電圧を変化させることができる。シングルレベルセルに格納される1ビットのデータが「0」であるか「1」であるかによって、シングルレベルセルのメモリは高い閾値電圧レベルまたは低い閾値電圧レベルを有してもよい。
シングルレベルセルに格納されたデータを読み出す過程は、シングルレベルセルの閾値電圧を検出し、検出された閾値電圧が基準電圧(または、読み出し電圧)レベルよりも高いかまたは低いかを判定することによって実行される。
メモリ装置100がサブアレイ111のメモリセルが接続されたワード線に読み出し電圧レベルと関連する特定電圧を印加すれば、サブアレイ111の各メモリセルの閾値電圧レベルが読み出し電圧レベルより高いか低いかに応じて各メモリセルに接続された各ビット線に流れる電流を決めてもよい。デコーダ120は、サブアレイ111の各メモリセルに接続された各ビット線に流れる電流を検出し、前記検出された電流のレベルによってサブアレイ111の各メモリセルの閾値電圧レベルの範囲を判定してもよい。
各シングルレベルセルの微細な電気的な特性の差によって各シングルレベルセルの閾値電圧は、一定の範囲の分布(distribution)を有してもよい。例えば、検出されたシングルビットセルの閾値電圧が0.5〜1.5ボルトである場合には、シングルビットセルに格納されたデータは論理「1」と判定され、検出されたシングルビットセルの閾値電圧が2.5〜3.5ボルトである場合には、シングルビットセルに格納されたデータは論理「0」と判定してもよい。
メモリの高集積化要求に対応し、1つのメモリセルに2ビット以上のデータを格納することのできるマルチレベルセル(MLC:multi−level cell)メモリを用いてもよい。また、マルチレベルセルメモリは、マルチビットセル(MBC:multi−bit cell)メモリとも呼ばれる。しかし、1つのメモリセルに格納されるビットの数が増加するほどセルの信頼性は落ち、読み出し失敗率は増加することになる。1つのメモリセルがmビットのデータを格納するのであれば、1つのメモリセルに形成される閾値電圧レベルは2個のうちのいずれか1つであってもよい。各メモリセルが有する微細な電気的特性の差によって、各メモリセルがmビットのデータを格納するのであれば、メモリセルの閾値電圧レベルは、2個の分布を形成してもよい。
電圧ウィンドウは制限されているため、mが増加するに従って隣接する分布間の間隔は減少するようになり、さらにmが増加すれば、隣接する分布は互いに重なることがある。隣接する分布が互いに重なれば、メモリセルから読み出されるデータの読み出し失敗率が増加し得る。
MLCメモリにデータを格納し、MLCメモリからデータを読み出す過程で発生する誤りを検出し、検出された誤りを訂正するためにECC符号化および/またはECC復号化法をMLCメモリに適用してもよい。
メモリセルアレイ110は、マルチビットデータを格納することのできる複数のマルチビットセルを含んでもよい。デコーダ120は、第1データが読み出されるマルチビットセルから第2データを読み出してもよい。
第1データおよび第2データは、サブアレイ111のマルチビットセルに格納されたデータであってもよい。第1データおよび第2データは、同一のマルチビットセルに格納されたデータであるが、互いに異なるビット階層を形成するデータであってもよい。例えば、デコーダ120は最上位ビット(most significant bit、MSB)のビット階層を形成する第1データをサブアレイ111のマルチビットセルから読み出し、最下位ビット(least significant bit、LSB)のビット階層を形成する第2データをサブアレイ111のマルチビットセルから読み出してもよい。
ビット階層を形成するデータは、ページを形成するものとして参照してもよい。1つのワード線に接続されるマルチビットセルの集合をメモリページとして、1つのメモリページのマルチビットセルに格納されて1つのビット階層を形成するデータをデータページと称してもよい。前記用語は、便宜のために用いられるものであり、前記用語を用いることでメインページおよびサブページが限定して解釈されてはならない。
もし、マルチビットセルが4ビットのデータを格納する場合に、4個のビット階層が存在することがある。MSBのビット階層を第1ビット階層といい、LSBのビット階層を第4ビット階層とすれば、デコーダ120は第1ビット階層を形成するデータを第1データとして読み出し、第2ビット階層を形成するデータを第2データとして読み出してもよい。デコーダ120は、第1チャネルの特性に基づいて第1データに対応する第1復号化法を選択し、第2チャネルの特性に基づいて第2データに対応する第2復号化法を選択してもよい。
実施形態によれば、デコーダ120は、第1ビット階層を形成するデータを第1データとして読み出し、第2ビット階層を形成するデータを第2データとして読み出し、第3ビット階層を形成するデータを第3データとして読み出し、第4ビット階層を形成するデータを第4データとして読み出してもよい。実施形態によれば、デコーダ120は、第1コードワードおよび第2コードワードのECC復号化のために第1復号化法を選択し、第3コードワードおよび第4コードワードのECC復号化のために第2復号化法を選択してもよい。
または、デコーダ120は、第1コードワードのECC復号化のために第1復号化法を選択し、第2コードワードのECC復号化のために第2復号化法を選択し、第3コードワードのECC復号化のために第3復号化法を選択し、第4コードワードのECC復号化のために第4復号化法を選択してもよい。
実施形態によれば、MSBに対応するビット階層は、マルチビットセルの閾値電圧の変化に対し1回の遷移を経験することができる。遷移はビット階層のデータの値が「1」から「0」に、または「0」から「1」に変化するイベントであってもよい。MSBに対応するビット階層では読み出し電圧レベルより低い閾値電圧を有するマルチビットセルには「1」が格納され、前記読み出し電圧レベルより高い閾値電圧を有するマルチビットセルには「0」が格納されてもよい。LSBに対応するビット階層はマルチビットセルの閾値電圧の変化に対して2(m−1)遷移を経験してもよい。LSBに対応するビット階層のデータを判定するためには2(m−1)個の読み出し電圧レベルが必要なこともある。
実施形態によれば、サブアレイ111は1つのデータページであり、第1データはMSBのビット階層を形成する第1データページであってもよい。第2データはLSBのビット階層を形成する第2データページであってもよい。第1チャネルは1つの読み出し電圧レベルを用いて第1データページを読み出す過程であり、第2チャネルは2(m−1)個の読み出し電圧レベルを用いて第2データページを読み出す過程であってもよい。ビット階層が経験する遷移回数が大きいほどビット階層に対応するチャネルで誤りが発生する確率が増加し得る。LSBのビット階層はMSBのビット階層より多い遷移を経験するために、第2チャネルで誤りが発生する確率は第1チャネルで誤りが発生する確率よりも大きくてもよい。ECC符号化および/または復号化法は複数の冗長情報を用いるほど複数の誤りを訂正してもよい。第2チャネルで誤りが発生する確率が第1チャネルで誤りが発生する確率よりも大きければ、デコーダ120は第1復号化法より誤り訂正能力が高い第2復号化法を選択してもよい。
実施形態によれば、マルチビットセルのビット階層によりチャネルのECC復号化順序を決定することができる。実施形態は、前記決められた順序によってデータをECC復号化する過程でECC復号化されるデータおよび先にECC復号化されたデータを結合して共にECC復号化することによって、マルチビットセルのビット階層により変化するチャネル特性に最適化されたECC復号化法の実現が可能である。実施形態によれば誤りが発生する確率が最も高いクリティカル1ページの誤り訂正の可能性(error correctability)を高めることができる。また、実施形態によれば全般的なページの誤り訂正の可能性を高めることができる。
実施形態によれば、デコーダ120は第1コードワードの復号化法に対応する第1内部復号化モジュール(図示せず)および第2コードワードの復号化法に対応する第2内部復号化モジュール(図示せず)を含んでもよい。第1内部復号化モジュールは第1コードワードをECC復号化して第1メッセージを推定し、第2内部復号化モジュールは第2コードワードをECC復号化して第2メッセージを推定してもよい。このとき、各内部復号化モジュールは単純なデータ経路を形成するためハードウェアの複雑さを低くすることができる。複数の復号化モジュールを用いる復号化過程は、図2において詳しく説明する。
図2は、図1のデコーダ120の復号化過程の一例を示す図である。
図2を参照すれば、デコーダ120は、第1復号化モジュール210、第2復号化モジュール220および第3復号化モジュール230を含む。第1復号化モジュール210は、第1ビット階層(または、レベル1)に対するECC復号化を行ってもよい。第2復号化モジュール220は、第2ビット階層(または、レベル2)に対するECC復号化を行ってもよい。第3復号化モジュール230は、第3ビット階層(または、レベル3)に対するECC復号化を行ってもよい。
第1復号化モジュール210は、第1コードワード213をECC復号化してもよい。第1コードワード213は、メモリセルアレイ110から読み出した第1メッセージm1(211)およびメモリセルアレイ110から読み出した第1パリティp1(212)を含んでもよい。第1復号化モジュール210は、第1コードワード213をECC復号化して推定された第1メッセージm1(1)(214)を生成してもよい。
第2復号化モジュール220は、第2コードワード223をECC復号化してもよい。第2コードワード223は、前記推定された第1メッセージm1(1)(214)、メモリセルアレイ110から読み出した第2メッセージm2(221)、およびメモリセルアレイ110から読み出した第2パリティp12(222)を含んでもよい。第2復号化モジュール220は、第2コードワード223をECC復号化して推定された第2メッセージm2(1)(226)および再推定された第1メッセージm1(2)225を生成してもよい。第2パリティp12(222)は、第1メッセージm1(211)、および第2メッセージm2(221)がメモリセルアレイ110に格納される前に行われたECC符号化過程の冗長情報であってもよい。
第3復号化モジュール230は、第3コードワード233をECC復号化してもよい。第3コードワード233は、第2復号化モジュール220のECC復号化の結果224、メモリセルアレイ110から読み出した第3メッセージm3(231)およびメモリセルアレイ110から読み出した第3パリティp13(232)を含んでもよい。第2復号化モジュール220のECC復号化の結果224は、推定された第2メッセージm2(1)(226)および再推定された第1メッセージm1(2)225を含んでもよい。第3パリティp13(232)は、第1メッセージm1(211)、第2メッセージm2(221)および第3メッセージm3(231)がメモリセルアレイ110に格納される前に行われたECC符号化過程の冗長情報であってもよい。第3復号化モジュール230は、第3コードワード233をECC復号化して推定された第3メッセージm3(1)237、再推定された第2メッセージm2(2)236および3回推定された第1メッセージm1(3)235を生成してもよい。
メモリ装置100は、第3復号化モジュール230のECC復号化の結果234を最終復号化の結果として出力してもよい。
メモリセルアレイ110から読み出した第1メッセージm1(211)は、3回ECC復号化され、前記3回推定された第1メッセージm1(3)235として出力されるため、BERの改善程度が第2メッセージm2(221)または第3メッセージm3(231)よりも大きくてもよい。
メモリセルアレイ110から読み出した第3メッセージm3(231)は、すでに1回以上ECC復号化されたメッセージ225,226と共にECC復号化されるため、第3メッセージm3(231)のBERが相対的に高くても第3復号化モジュール230によって第3メッセージm3(231)の誤りが訂正されてもよい。
図3は、本発明の他の実施形態に係るメモリ装置300を示す図である。
図3を参照すれば、メモリ装置300はメモリセルアレイ310、プログラミング部320およびエンコーダ330を含む。
メモリセルアレイ310はサブアレイ311を含む。サブアレイ311は、プログラミング部320によって同時にプログラミングされるメモリセルの集合であってもよい。サブアレイ311は、1つのワード線に接続されたメモリセルの集合であってもよい。
エンコーダ330は、第1メッセージをECC符号化して第1コードワードを生成し、第1メッセージおよび第2メッセージをECC符号化して第2コードワードを生成してもよい。
プログラミング部320は、前記生成された第1コードワードおよび前記生成された第2コードワードをサブアレイ311のメモリセルにプログラムすることができる。
エンコーダ330によってECC符号化されたコードワードは、エンコーダ330の符号化法に対応する復号化法によってECC復号化されてもよい。コードワードがメモリセルに格納され、前記格納されたコードワードがメモリセルから読み出される経路をチャネルといい、コードワードはチャネルを経ながら誤りを含んでもよい。
復号化法は、閾値訂正範囲以下のBERを有するコードワードをECC復号化することによってコードワードの誤りを訂正してもよい。メモリ装置300は、チャネルの特性に応じてチャネルを経たコードワードのBERを予測し、前記予測されたBERを超過する誤りを訂正することのできる性能を有する復号化法を設定し、前記設定された復号化法に対応する符号化法を設定してもよい。
ECC符号化過程は、メッセージに冗長情報を付加してコードワードを生成してもよい。メッセージは有効情報とすることができる。冗長情報は、メッセージがチャネルを経る過程で含むことができる誤りを訂正するための情報である。有効情報の大きさに対する冗長情報の大きさ比率が大きいほどECC復号化過程は多くの誤りを訂正することができる。冗長情報の例としては、パリティなどであってもよい。
BERが相対的に高いコードワードおよびBERが相対的に低いコードワードを結合して長いコードワードを生成すれば、前記生成された長いコードワードのBERは結合された2コードワードのBERの平均であってもよい。
実施形態によれば、メモリセルアレイ310は、マルチビットデータを格納することのできる複数のマルチビットセルを含んでもよい。プログラミング部320は、前記ECC符号化された第1コードワードが格納されるマルチビットセルに前記ECC符号化された第2コードワードを格納してもよい。
実施形態によれば、サブアレイ311は1つのワード線に接続されたマルチビットセルからなるメモリページであってもよい。プログラミング部320は、サブアレイ311のMSBのビット階層に前記ECC符号化された第1コードワードを格納してもよく、サブアレイ311のLSBのビット階層に前記ECC符号化された第2コードワードを格納してもよい。
実施形態によれば、メモリセルアレイ310の各マルチビットセルは、mビットのデータを格納してもよい。このとき、サブアレイ311のMSBのビット階層は第1ビット階層であり、サブアレイ311のLSBのビット階層は第mビット階層であってもよい。サブアレイ311の各マルチビットセルは、m個のビット階層を有してもよい。プログラミング部320は、サブアレイ311の第1ビット階層に前記ECC符号化された第1コードワードを格納し、サブアレイ311の第2ビット階層に前記ECC符号化された第2コードワードを格納してもよい。
実施形態によれば、メモリセルアレイ310の各マルチビットセルは、4ビットのデータを格納してもよい。このとき、サブアレイ311の各マルチビットセルは、4個のビット階層を有してもよい。
プログラミング部320は、サブアレイ311のMSBのビット階層の第1ビット階層に前記ECC符号化された第1コードワードを格納してもよく、サブアレイ311の第2ビット階層に前記ECC符号化された第2コードワードを格納してもよい。プログラミング部320は、サブアレイ311の第3ビット階層に前記ECC符号化された第3コードワードを格納してもよく、サブアレイ311のLSBのビット階層の第4ビット階層に前記ECC符号化された第4コードワードを格納してもよい。
第1チャネルは、前記ECC符号化された第1コードワードがサブアレイ311の第1ビット階層に格納される過程であり、第2チャネルは前記ECC符号化された第2コードワードがサブアレイ311の第2ビット階層に格納される過程であってもよい。第3チャネルは前記ECC符号化された第3コードワードがサブアレイ311の第3ビット階層に格納される過程であり、第4チャネルは前記ECC符号化された第4コードワードがサブアレイ311の第4ビット階層に格納される過程であってもよい。
エンコーダ330は、第1メッセージをECC符号化して第1コードワードを生成してもよい。第1コードワードは、ECC符号化された第1メッセージおよびECC符号化された第1パリティを含んでもよい。
エンコーダ330は、第1メッセージおよび第2メッセージをECC符号化して第2コードワードを生成してもよい。第2コードワードは、ECC符号化された第1メッセージ、ECC符号化された第2メッセージおよびECC符号化された第2パリティを含んでもよい。ECC符号化された第2パリティは、第1メッセージおよび第2メッセージに対する冗長情報を含んでもよい。
エンコーダ330は、第1メッセージ、第2メッセージおよび第3メッセージをECC符号化して第3コードワードを生成してもよい。第3コードワードは、ECC符号化された第1メッセージ、ECC符号化された第2メッセージ、ECC符号化された第3メッセージ、およびECC符号化された第3パリティを含んでもよい。前記ECC符号化された第3パリティは、第1メッセージ、第2メッセージ、および第3メッセージに対する冗長情報を含んでもよい。
エンコーダ330は、第1メッセージ、第2メッセージ、第3メッセージ、および第4メッセージをECC符号化して第4コードワードを生成してもよい。第4コードワードは、ECC符号化された第1メッセージ、ECC符号化された第2メッセージ、ECC符号化された第3メッセージ、ECC符号化された第4メッセージ、およびECC符号化された第4パリティを含んでもよい。前記ECC符号化された第4パリティは、第1メッセージ、第2メッセージ、第3メッセージ、および第4メッセージに対する冗長情報を含んでもよい。
第1ビット階層はMSBに対応するため、第1ビット階層は1回の遷移を経験し、第2ビット階層は2回の遷移を経験することができる。第3ビット階層は4度の遷移を経験し、第4ビット階層は8度の遷移を経験することができる。ビット階層が経験する遷移の回数が大きいほど、ビット階層に対応するチャネルの誤り発生の確率が増加する。例えば、第4チャネルは最も高い誤り発生の確率を有すると予測される。
エンコーダ330は、各ビット階層の遷移回数に基づいて各チャネルの誤り発生の確率を予測することができる。エンコーダ330は、コードワードがチャネルを経ながら含むことのできる誤り発生比率を低くするために、チャネルに対するメッセージおよび冗長情報の大きさ比率を調整してもよい。復号化法は、エンコーダ330の符号化法に対応する復号化法を意味する。大きいサイズの冗長情報がメッセージに付加されるほど誤り訂正能力が増加し得る。
実施形態によれば、エンコーダ330は、第1チャネルの特性に応じて第1コードワードの有効情報および冗長情報の大きさを設定してもよい。エンコーダ330は、設定された有効情報および冗長情報の大きさを用いて第1コードワードを生成してもよい。エンコーダ330は、第2チャネルの特性に応じて第2コードワードの有効情報および冗長情報の大きさを設定してもよい。エンコーダ330は、設定された有効情報および冗長情報の大きさを用いて第2コードワードを生成してもよい。実施形態によれば、エンコーダ330は1つの符号化経路を用いて第1コードワードおよび第2コードワードを生成することができるため、ハードウェアの実現に必要な回路の面積を減らすことができる。
エンコーダ330は、第4チャネルに最も高い冗長情報比率を設定し、第3チャネルには第4チャネルの冗長情報比率より低い冗長情報比率を設定してもよい。例えば、エンコーダ330は、第1チャネルに最も低い冗長情報比率を設定してもよい。
エンコーダ330は、最も誤り発生の可能性が高いビット階層であるLSBのビット階層に対応するチャネルを第4チャネルとして選択し、最も誤り発生の可能性が低いビット階層であるMSBのビット階層に対応するチャネルを第1チャネルとして選択してもよい。
第4チャネルを経るメッセージは、誤り発生の可能性が相対的に低い第1チャネル、第2チャネルおよび第3チャネルを経るメッセージと結合して第4コードワードを生成し、第4コードワードはECC符号化されてメモリセルアレイ310に格納することができる。ECC符号化された第4コードワードは、メモリセルアレイ310から読み出され、前記読み出された第4コードワードはECC復号化されて復元されてもよい。第4コードワードのECC復号化過程では、相対的に誤り発生の可能性が低い第1チャネル、第2チャネルおよび第3チャネルを経るメッセージのECC復号化の結果を用いてもよい。復号化過程は、第1チャネル、第2チャネル、および第3チャネルを経るメッセージのECC復号化の結果を用いて第4コードワードのBERを低くすることができる。メモリ装置300は、チャネルの特性が最も劣る第4チャネルを経たコードワードのBERを低くしてもよいため、クリティカルなデータページの誤り訂正の可能性を高めることができる。
実施形態によれば、エンコーダ330は、LSBのビット階層の第4ビット階層に対応するチャネルを第1チャネルとして選択し、MSBのビット階層に対応する第1ビット階層に対応するチャネルを第4チャネルとして選択してもよい。エンコーダ330によってECC符号化されたデータは、図1のデコーダ120によってECC復号化されてもよい。デコーダ120は、第1メッセージを複数回ECC復号化することによって第1メッセージに対する誤り改善を最大化することができる。したがって、エンコーダ330は、最も誤り発生の可能性が高いビット階層であるLSBのビット階層に対応するチャネルを第1チャネルとして選択してもよい。エンコーダ330は、最も誤り発生の可能性が低いビット階層であるMSBのビット階層に対応するチャネルを第4チャネルとして選択してもよい。この場合、最も劣る特性を有する第1チャネルを経るメッセージを繰り返し復号化してもよい。したがって、エンコーダ330およびデコーダ120は第1チャネルを経るメッセージの誤り訂正可能性が高いこともある。
実施形態によれば、互いに異なるチャネルを経るデータを順次結合してコードワードを生成し、前記生成されたコードワードをECC符号化することによってマルチビットセルメモリの各データページの誤り率を調整してもよい。
実施形態によれば、エンコーダ330はマルチビットセルメモリの各データページの誤り率を調整することができるため、誤り発生の確率が最も高いクリティカルなデータページの誤り訂正の可能性(error correctability)を高めることができる。
実施形態によれば、エンコーダ330は各チャネルの冗長情報の比率を調整して各データページの誤り訂正の可能性を高めることができる。
各チャネルの冗長情報の比率が調整される場合、各チャネルに互いに異なる符号化法が適用されてもよい。エンコーダ330は、第1チャネルには第1符号化法を適用し、第2チャネルには第2符号化法を適用してもよい。実施形態によれば、エンコーダ330は各チャネルに互いに異なる種類の符号化法を適用してもよい。
実施形態によれば、エンコーダ330はチャネル別に同一の種類のECC符号化法を適用してもよく、必要に応じて拡張(extending)技法、短縮(shortening)技法、パンクチャリング(puncturing)などを用いてコードの性能を調整してもよい。
エンコーダ330は、各チャネルに互いに異なる符号化法(互いに異なる符号化法は互いに異なる冗長情報の比率を含むことができる)を適用し、互いに異なる符号化経路を用いて各チャネルを経るデータをECC符号化してもよい。例えば、エンコーダ330は、第1符号化モジュールおよび第2符号化モジュールを含んでもよい。エンコーダ330は、第1チャネルに第1符号化法を適用してもよい。第1符号化モジュールは、第1符号化法に対応して第1メッセージをECC符号化して第1コードワードを生成してもよい。エンコーダ330は第2チャネルに第2符号化法を適用してもよい。第2符号化モジュールは、第2符号化法に対応して第1メッセージおよび第2メッセージをECC符号化して第2コードワードを生成してもよい。
実施形態によれば、エンコーダ330は1つの符号化経路を用いて各チャネルを経るデータをECC符号化してもよい。
実施形態によれば、エンコーダ330は第1チャネルおよび第2チャネルに第1符号化法を適用し、第3チャネルおよび第4チャネルに第2符号化法を適用することもできる。
実施形態によれば、エンコーダ330は各チャネルに互いに異なる種類のECC符号化法を適用することもできる。例えば、第1符号化法はBCH codesを用いるECC符号化法、第2符号化法はRS codesを用いるECC符号化法であってもよい。
図4は、図3のメモリ装置300の符号化過程の一例を示す図である。
図4を参照すれば、エンコーダ330は第1符号化モジュール410、第2符号化モジュール420および第3符号化モジュール430を含む。
第1符号化モジュール410は、第1ビット階層(または、レベル1)に対応するチャネルを経る第1メッセージm1(411)をECC符号化して第1コードワード414を生成してもよい。第1コードワード414は、ECC符号化された第1メッセージ412およびECC符号化された第1パリティp1(413)を含んでもよい。第1パリティp1(413)は、第1メッセージm1(411)の誤りを検出および訂正するための冗長情報であってもよい。
第2符号化モジュール420は、第2ビット階層(または、レベル2)に対応するチャネルを経る第1メッセージm1(411)および第2メッセージm2(421)をECC符号化して第2コードワード425を生成してもよい。第2コードワード425は、ECC符号化された第1メッセージ422、ECC符号化された第2メッセージ423およびECC符号化された第2パリティp12(424)を含んでもよい。第2パリティp12(424)は、第1メッセージm1(411)および第2メッセージm2(421)の誤りを検出および訂正するための冗長情報であってもよい。
第3符号化モジュール430は、第3ビット階層(または、レベル3)に対応するチャネルを経る第1メッセージm1(411)、第2メッセージm2(421)および第3メッセージm3(431)をECC符号化して第3コードワード436を生成してもよい。第3コードワード436は、ECC符号化された第1メッセージ432、ECC符号化された第2メッセージ433、ECC符号化された第3メッセージ434およびECC符号化された第3パリティp13(435)を含んでもよい。第3パリティp13(435)は、第1メッセージm1(411)、第2メッセージm2(421)および第3メッセージm3(431)の誤りを検出および訂正するための冗長情報であってもよい。
図5は、図4のECC符号化方法によって生成されたデータページを格納して形成されたマルチビットセルの閾値電圧の分布の一例を示す図である。
図5を参照すれば、横軸はマルチビットセルの閾値電圧を示し、縦軸は該当閾値電圧を有するマルチビットセルの個数を示す。
例えば、第1データページの格納過程で「0」が格納され、第2データページの格納過程で「1」が格納され、第3データページの格納過程で「0」が格納されたマルチビットセルは、データ「010」を格納するようになる。
分布510は、データ「111」を格納するマルチビットセルの閾値電圧の分布を示す。
分布520は、データ「110」を格納するマルチビットセルの閾値電圧の分布を示す。
分布530は、データ「100」を格納するマルチビットセルの閾値電圧の分布を示す。
分布540は、データ「101」を格納するマルチビットセルの閾値電圧の分布を示す。
分布550は、データ「001」を格納するマルチビットセルの閾値電圧の分布を示す。
分布560は、データ「000」を格納するマルチビットセルの閾値電圧の分布を示す。
分布570は、データ「010」を格納するマルチビットセルの閾値電圧の分布を示す。
分布580は、データ「011」を格納するマルチビットセルの閾値電圧の分布を示す。
MSB階層は、閾値電圧が増加するに伴って分布540および分布550の間で遷移(「1」→「0」)を経験する。第2ビット階層は、閾値電圧が増加するに伴って分布520および分布530の間で第1遷移(「1」→「0」)を経験し、分布560および分布570の間で第2遷移(「0」→「1」)を経験する。LSB階層は、閾値電圧が増加するに伴って分布510および分布520の間で第1遷移(「1」→「0」)をさらに経験し、分布530および分布540の間で第2遷移(「0」→「1」)を経験する。LSB階層は、分布550および分布560の間で第3遷移(「1」→「0」)を経験し、分布570および分布580の間で第4遷移(「0」→「1」)を経験する。
図6は、本発明の更なる実施形態に係る復号化方法を示す動作フローチャートである。
図6を参照すれば、復号化方法は第1コードワードをECC復号化して第1メッセージを推定する(S610)。第1コードワードは、受信された第1データから生成することができる。実施形態によれば、第1コードワードは第1データと同一または類似してもよい。
復号化方法は、前記推定された第1メッセージおよび受信された第2データを結合して第2コードワードを生成してもよい(S620)。
復号化方法は第2コードワードをECC復号化して第2メッセージを推定することができる(S630)。
前記推定された第2メッセージは、前記推定された第1メッセージの再推定値を含んでもよい。
ステップS620は、常時受信された第2データのうち前記推定された第1メッセージに対応する少なくとも一部分を前記推定された第1メッセージに置き換えてもよい。
図7は、本発明の更なる実施形態に係る符号化方法を示す動作フローチャートである。
図7を参照すれば、符号化方法は第1メッセージをECC符号化して第1コードワードを生成する(S710)。
符号化方法は第1メッセージおよび第2メッセージをECC符号化して第2コードワードを生成する(S720)。
符号化方法は、第1コードワードをマルチビットセルに格納してもよい。
符号化方法は、第1コードワードが格納されたマルチビットセルにマルチビットプログラミング技法を適用して第2コードワードを格納してもよい。マルチビットプログラミング技法は、図5によって先に説明したように行うことができる。
符号化方法は、特性が互いに異なるチャネルを経る第1コードワードおよび第2コードワードを結合して長いコードワードを生成してもよい。長いコードワードのBERは、第1コードワードおよび第2コードワードのBERの平均値であってもよい。したがって、符号化方法はマルチビットセルメモリのクリティカルなデータページの誤り訂正の可能性を高めることができる。
実施形態に係るECC符号化/復号化方法は、多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェア階層で作動するように構成され、その逆も同様である。
実施形態に係るフラッシュメモリ装置および/またはメモリコントローラは、多様な形態のパッケージを用いて実現することができる。例えば、実施形態に係るフラッシュメモリ装置および/またはメモリコントローラは、PoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In−Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In−Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline(TSOP)、Thin Quad Flatpack(TQFP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)などのようなパッケージを用いて実現することができる。
フラッシュメモリ装置とメモリコントローラは、メモリカードを構成することができる。このような場合、メモリコントローラは、USB、MMC、PCI−E、SATA、PATA、SCSI、ESDI、およびIDEなどのような多様なインタフェースプロトコルのうちの1つを介して外部(例えば、ホスト)と通信するように構成することができる。
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持することのできる非揮発性メモリ装置である。セルラーフォン、PDAデジタルカメラ、ポータブルゲームコンソール、そしてMP3Pのようなモバイル装置の使用増加に応じてフラッシュメモリ装置はデータストレージだけでなく、コードストレージとしてより広く用いられることができる。フラッシュメモリ装置は、さらにHDTV、DVD、ルータ、およびGPSのようなホームアプリケーションに用いられてもよい。
実施形態に係るコンピュータシステムは、バスに電気的に接続されたマイクロプロセッサ、ユーザインタフェース、ベースバンドチップセット(baseband chipset)のようなモデム、メモリコントローラ、およびフラッシュメモリ装置を含む。フラッシュメモリ装置には、マイクロプロセッサによって処理された/処理されるN−ビットデータ(Nは1またはそれよりも大きい整数)がメモリコントローラを介して格納されるであろう。実施形態に係るコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリが追加的に提供されるであろう。
実施形態に係るコンピュータシステムには応用チップセット、カメライメージプロセッサ(Camera Image Processor:CIS)、モバイルDRAMなどがさらに提供されることは、この分野の通常の知識を有する者であれば自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを格納するために非揮発性メモリを用いるSSD(Solid State Drive/Disk)を構成することができる。
上述したように、本発明は、限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような基材から多様な修正および変形が可能である。
したがって、本発明の範囲は説明された実施形態に限定されて決められてはならず、添付の特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定められなければならない。
100 メモリ装置
110 メモリセルアレイ
111 サブアレイ
120 デコーダ
210 第1復号化モジュール
220 第2復号化モジュール
230 第3復号化モジュール

Claims (19)

  1. メモリセルアレイと、
    少なくとも1つのデコーダおよびエンコーダを含む、プロセッサとを備え、
    前記プロセッサは、各チャネルの冗長情報比率を調整するように構成され、
    前記各チャネルは、データが少なくとも1回は格納または読み出された前記メモリセルアレイの経路であるとともに、
    前記冗長情報比率は、以前のコードワードからの情報に基づいて少なくとも1つのコードワードを生成することによって調整され
    前記プロセッサに含まれる前記デコーダは、前記メモリセルアレイから読み出した第1データから生成された第1コードワードに対して誤り制御コード(ECC)復号化を行って第1メッセージを推定し、前記推定された第1メッセージおよび前記メモリセルアレイから読み出した第2データを結合して第2コードワードを生成するとともに、前記第2コードワードに対して誤り制御コード復号化を行って第2メッセージを推定するように構成されたデコーダであるメモリ装置。
  2. 前記メモリセルアレイは、マルチビットデータを格納する複数のマルチビットセルを含むとともに、
    前記デコーダは、前記第1データが読み出されるマルチビットセルから前記第2データを読み出す請求項に記載のメモリ装置。
  3. 前記第2メッセージは、前記第1メッセージの再推定値を含む請求項に記載のメモリ装置。
  4. 前記デコーダは、前記第2データのうち前記第1メッセージの少なくとも一部分を前記推定された第1メッセージに置き換えて前記第2コードワードを生成する請求項に記載のメモリ装置。
  5. 前記デコーダは、第1チャネルを経由して前記メモリセルアレイから前記第1データを読み出し、前記第1チャネルの特性に基づいて第1復号化法を選択し、前記選択された第1復号化法に基づいて前記第1コードワードに対して誤り制御コード復号化を行うとともに、
    前記デコーダは、第2チャネルを経由して前記メモリセルアレイから前記第2データを読み出し、前記第2チャネルの特性に基づいて第2復号化法を選択し、前記選択された第2復号化法に基づいて前記第2コードワードに対して誤り制御コード復号化を行う請求項に記載のメモリ装置。
  6. 前記デコーダは、
    前記第1復号化法に対応し、かつ前記第1コードワードに対して誤り制御コード復号化を行って前記第1メッセージを推定するように構成された第1復号化モジュールと、
    前記第2復号化法に対応し、かつ前記第2コードワードに対して誤り制御コード復号化を行って前記第2メッセージを推定するように構成された第2復号化モジュールと、
    を含む請求項に記載のメモリ装置。
  7. 前記デコーダは、前記第1復号化法に基づいて前記第1コードワードのメッセージおよび冗長情報の大きさを設定して前記第1コードワードに対して誤り制御コード復号化を行うとともに、前記第2復号化法に基づいて前記第2コードワードのメッセージおよび冗長情報の大きさを設定して前記第2コードワードに対して誤り制御コード復号化を行う請求項に記載のメモリ装置。
  8. 前記メモリセルアレイに第1コードワードおよび第2コードワードを格納するプログラミング部をさらに含み、
    前記プロセッサに含まれる前記エンコーダは、第1メッセージに対して誤り制御コード
    (ECC)符号化を行って第1コードワードを生成するとともに、前記第1メッセージおよび第2メッセージに対して誤り制御コード(ECC)符号化を行って第2コードワードを生成するように構成されたエンコーダである請求項1に記載のメモリ装置。
  9. 前記メモリセルアレイは、マルチビットデータを格納する複数のマルチビットセルを含むとともに、
    前記プログラミング部は、前記第1コードワードを格納する前記複数のマルチビットセルに前記第2コードワードを格納する請求項に記載のメモリ装置。
  10. 前記エンコーダは、前記第1コードワードを格納する第1チャネルの特性に基づいて第1符号化法を選択し、前記選択された第1符号化法に基づいて前記第1メッセージに対して誤り制御コード符号化を行うとともに、
    前記エンコーダは、前記第2コードワードを格納する第2チャネルの特性に基づいて第2符号化法を選択し、前記選択された第2符号化法に基づいて前記第1メッセージおよび前記第2メッセージに対して誤り制御コード符号化を行う請求項に記載のメモリ装置。
  11. 前記エンコーダは、
    前記第1符号化法に対応し、かつ前記第1メッセージに対して誤り制御コード符号化を行って前記第1コードワードを生成するように構成された第1符号化モジュールと、
    前記第2符号化法に対応し、かつ前記第1メッセージおよび前記第2メッセージに対して誤り制御コード符号化を行って前記第2コードワードを生成するように構成された第2符号化モジュールと、
    を含む請求項10に記載のメモリ装置。
  12. 前記エンコーダは、前記第1符号化法に基づいて前記第1コードワードのメッセージおよび冗長情報の大きさを設定して前記第1メッセージに対して誤り制御コード符号化を行うとともに、前記第2符号化法に基づいて前記第2コードワードのメッセージおよび冗長情報の大きさを設定して前記第1メッセージおよび前記第2メッセージに対して誤り制御コード符号化を行う請求項10に記載のメモリ装置。
  13. 各チャネルの冗長情報比率が調整されるように、少なくとも1つの誤り制御コード(ECC)復号化および符号化を行うステップを備え、
    前記各チャネルは、データが少なくとも1回は格納または読み出されたメモリセルアレイの経路であるとともに、
    前記冗長情報比率は、以前のコードワードからの情報に基づいて少なくとも1つのコードワードを生成することによって調整され
    受信された第1データから生成された第1コードワードに対して誤り制御コード(ECC)復号化を行って第1メッセージを推定するステップと、
    前記推定された第1メッセージおよび受信された第2データを結合して第2コードワードを生成するステップと、
    前記第2コードワードに対して誤り制御コード(ECC)復号化を行って第2メッセージを推定するステップと、
    をさらに備えるコーディング方法。
  14. 前記第2メッセージは、前記推定された第1メッセージの再推定値を含む請求項13に記載のコーディング方法。
  15. 前記第2コードワードに対して誤り制御コード(ECC)復号化するステップは、前記第2データのうち前記第1メッセージの少なくとも一部分を前記推定された第1メッセージに置き換える請求項13に記載のコーディング方法。
  16. 請求項13に記載の方法を実行するためのコンピュータプログラムが符号化されたコンピュータ読み出し可能記録媒体。
  17. 第1メッセージに対して誤り制御コード(ECC)符号化を行って第1コードワードを生成するステップと、
    前記第1メッセージおよび第2メッセージに対して誤り制御コード(ECC)符号化を行って第2コードワードを生成するステップと、
    をさらに備える請求項13に記載のコーディング方法。
  18. 前記第1コードワードを前記メモリセルアレイのマルチビットセルに格納するステップと、
    マルチビットプログラミング技法に基づいて、前記第1コードワードを格納するマルチビットセルに前記第2コードワードを格納するステップと、
    をさらに備える請求項17に記載の符号化方法。
  19. 請求項17に記載の方法を実行するためのコンピュータプログラムが符号化されたコンピュータ読み出し可能記録媒体。
JP2011500685A 2008-03-18 2008-11-07 符号化および/または復号化メモリ装置および方法 Active JP5345201B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020080024929A KR101398212B1 (ko) 2008-03-18 2008-03-18 메모리 장치 및 인코딩/디코딩 방법
KR10-2008-0024929 2008-03-18
PCT/KR2008/006587 WO2009116716A1 (en) 2008-03-18 2008-11-07 Encoding and/or decoding memory devices and methods thereof

Publications (2)

Publication Number Publication Date
JP2011515784A JP2011515784A (ja) 2011-05-19
JP5345201B2 true JP5345201B2 (ja) 2013-11-20

Family

ID=41090075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011500685A Active JP5345201B2 (ja) 2008-03-18 2008-11-07 符号化および/または復号化メモリ装置および方法

Country Status (4)

Country Link
US (1) US8713411B2 (ja)
JP (1) JP5345201B2 (ja)
KR (1) KR101398212B1 (ja)
WO (1) WO2009116716A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010039869A1 (en) 2008-09-30 2010-04-08 Lsi Corporation Methods and apparatus for soft data generation for memory devices using reference cells
KR20100104623A (ko) * 2009-03-18 2010-09-29 삼성전자주식회사 데이터 처리 시스템 및 그것의 부호율 제어 스킴
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US8386895B2 (en) 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
TW201216288A (en) * 2010-06-21 2012-04-16 Univ Ramot Optimized flash memory without dedicated parity area and with reduced array size
US8578250B2 (en) * 2010-09-10 2013-11-05 Qualcomm Incorporated Data classification in a wireless communication system
US8612825B2 (en) 2010-09-10 2013-12-17 Qualcomm Incorporated Data classification based on cyclic redundancy check and decoder metric
JP2013542533A (ja) * 2010-10-27 2013-11-21 エルエスアイ コーポレーション フラッシュメモリベースのデータ記憶のための順応ecc技術
JP2012128660A (ja) * 2010-12-15 2012-07-05 Toshiba Corp 半導体記憶装置
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9106264B2 (en) * 2011-01-04 2015-08-11 Lsi Corporation Encoding and decoding in flash memories using convolutional-type low-density parity check codes
KR101712619B1 (ko) 2011-01-19 2017-03-06 삼성전자주식회사 에러 정정 코드의 인코딩 및 디코딩 방법
US9502117B2 (en) 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
KR101234373B1 (ko) * 2011-04-28 2013-02-22 한국과학기술원 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치
US9311969B2 (en) 2011-07-22 2016-04-12 Sandisk Technologies Inc. Systems and methods of storing data
US20130031431A1 (en) * 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
US8737133B2 (en) * 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US8954817B2 (en) 2012-07-31 2015-02-10 Kabushiki Kaisha Toshiba Storage apparatus and controller
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
US20140089561A1 (en) * 2012-09-26 2014-03-27 Kiran Pangal Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
KR102002925B1 (ko) 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US9577673B2 (en) * 2012-11-08 2017-02-21 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US9214963B1 (en) 2012-12-21 2015-12-15 Western Digital Technologies, Inc. Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
US9098425B2 (en) 2013-01-10 2015-08-04 International Business Machines Corporation Implementing user mode foreign device attachment to memory channel
US20140201599A1 (en) * 2013-01-15 2014-07-17 International Business Machines Corporation Error protection for integrated circuits in an insensitive direction
US9021328B2 (en) 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9043683B2 (en) 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
US9124300B2 (en) * 2013-02-28 2015-09-01 Sandisk Technologies Inc. Error correction coding in non-volatile memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9026867B1 (en) * 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
KR102157672B1 (ko) 2013-11-15 2020-09-21 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
WO2015163901A1 (en) * 2014-04-25 2015-10-29 Empire Technology Development Llc Storing data in storage devices
KR102392821B1 (ko) * 2015-03-16 2022-05-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9766976B2 (en) * 2015-06-08 2017-09-19 Sandisk Technologies Llc Data storage device and method for storing multiple codewords and redundancy information at a word line
SG11201700048PA (en) * 2015-10-13 2017-05-30 Huawei Tech Co Ltd Decoding device and method and signal transmission system
US9792175B2 (en) * 2015-10-21 2017-10-17 Sandisk Technologies Llc Bad column management in nonvolatile memory
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
US9910772B2 (en) * 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
TWI594255B (zh) * 2016-07-01 2017-08-01 群聯電子股份有限公司 解碼方法、記憶體控制電路單元及記憶體儲存裝置
CN107590018B (zh) * 2016-07-07 2020-12-01 群联电子股份有限公司 译码方法、存储器控制电路单元及存储器存储装置
TWI675374B (zh) * 2018-07-24 2019-10-21 群聯電子股份有限公司 位元判斷方法、記憶體控制電路單元以及記憶體儲存裝置
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
KR20200099438A (ko) * 2019-02-14 2020-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러
US11637657B2 (en) * 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer
US11546000B2 (en) * 2020-05-04 2023-01-03 Samsung Electronics Co., Ltd. Mobile data storage
KR20210147686A (ko) * 2020-05-29 2021-12-07 에스케이하이닉스 주식회사 오류 정정 회로 및 오류 정정 인코딩 방법
US11387848B1 (en) * 2021-03-11 2022-07-12 Samsung Electronics Co., Ltd. Hierarchical error correction code

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory
JPS5376637A (en) * 1976-12-17 1978-07-07 Nec Corp Diagnostic system of memory device only for reading
JPS5984141A (ja) 1982-11-05 1984-05-15 Nissan Motor Co Ltd 水滴検知装置
JPS61338U (ja) * 1984-06-06 1986-01-06 クラリオン株式会社 復号装置
JPS6356879A (ja) * 1986-08-28 1988-03-11 Canon Inc 情報記録再生装置
JPH01208029A (ja) 1988-02-15 1989-08-22 Hitachi Ltd 符号器及び復号器
JPH02131625A (ja) * 1988-11-11 1990-05-21 Matsushita Electric Ind Co Ltd 誤り訂正装置
JPH06161906A (ja) * 1992-11-19 1994-06-10 Toshiba Corp 半導体メモリー回路
US5600663A (en) * 1994-11-16 1997-02-04 Lucent Technologies Inc. Adaptive forward error correction system
JP3316414B2 (ja) 1996-03-28 2002-08-19 株式会社沖データ 画像符号化方法及び装置並びに画像復号化方法及び装置
JPH09115252A (ja) * 1996-10-21 1997-05-02 Canon Inc 情報記録媒体
DE19731021A1 (de) * 1997-07-18 1999-01-21 Meyer Joerg In vivo abbaubares metallisches Implantat
JPH1165944A (ja) 1997-08-13 1999-03-09 Fujitsu Ltd データ誤り検出装置
US6405338B1 (en) 1998-02-11 2002-06-11 Lucent Technologies Inc. Unequal error protection for perceptual audio coders
JP4759903B2 (ja) * 2000-01-21 2011-08-31 ソニー株式会社 光ディスク判別方法と光ディスク再生方法および光ディスク装置
US6580769B1 (en) 2000-02-14 2003-06-17 Motorola, Inc. Method and apparatus for backward recursion next state generation in recursive convolutional decoding
FR2810152A1 (fr) * 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
US6621871B2 (en) * 2001-03-30 2003-09-16 Nokia Corporation Incremental redundancy packet combiner and decoder
US7269781B2 (en) * 2004-06-25 2007-09-11 Hewlett-Packard Development Company, L.P. Discrete universal denoising with reliability information
JP2006260619A (ja) 2005-03-15 2006-09-28 Matsushita Electric Ind Co Ltd 誤り訂正装置、誤り訂正方法及びデジタルデータ記録再生装置
US7227797B2 (en) 2005-08-30 2007-06-05 Hewlett-Packard Development Company, L.P. Hierarchical memory correction system and method
KR100737912B1 (ko) * 2005-10-11 2007-07-10 삼성전자주식회사 반도체 메모리 장치의 에러 검출 및 정정 회로
US8792555B2 (en) * 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content
JP4953648B2 (ja) * 2006-02-03 2012-06-13 パナソニック株式会社 不揮発性記憶装置およびメモリコントローラ
JP2010092574A (ja) * 2008-10-12 2010-04-22 Kyoto Software Research Inc フラッシュファイルシステムの誤り訂正機能

Also Published As

Publication number Publication date
US20090241009A1 (en) 2009-09-24
KR20090099756A (ko) 2009-09-23
US8713411B2 (en) 2014-04-29
JP2011515784A (ja) 2011-05-19
KR101398212B1 (ko) 2014-05-26
WO2009116716A1 (en) 2009-09-24

Similar Documents

Publication Publication Date Title
JP5345201B2 (ja) 符号化および/または復号化メモリ装置および方法
KR101398200B1 (ko) 메모리 장치 및 인코딩/디코딩 방법
US10135465B2 (en) Error correction methods and apparatuses using first and second decoders
US8321760B2 (en) Semiconductor memory device and data processing method thereof
US8560901B2 (en) Apparatus, method and memory device for error correction by increasing or decreasing a read voltage and analyzing frequency information for a read error pattern
US9298546B2 (en) Semiconductor memory device
JP5324652B2 (ja) メモリ装置およびエラー制御コード復号化方法
TWI451430B (zh) 用於利用乘積碼糾正非揮發性記憶體中的錯誤的系統和方法
US8966347B2 (en) Forward error correction with parallel error detection for flash memories
JP5502064B2 (ja) メモリ装置およびデータ判定方法
US8301978B2 (en) Memory device and method of storing data with error correction using codewords
KR101386489B1 (ko) 메모리 장치 및 멀티 비트 프로그래밍 방법
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
US9654147B2 (en) Concatenated error correction device
JP2010287305A (ja) 多値レベルメモリデバイスにおける増大した記憶容量のための誤り訂正符号
JP2019057752A (ja) メモリシステム
US9639421B2 (en) Operating method of flash memory system
KR101480383B1 (ko) 코드 인코딩 장치
US12009840B2 (en) Systems and methods of decoding error correction code of a memory device with dynamic bit error estimation
KR102532611B1 (ko) 컨트롤러 및 그것의 동작 방법
US10673465B2 (en) Memory controller, memory system, and control method
Kousa et al. Error control coding for multi-level cell memories

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130813

R150 Certificate of patent or registration of utility model

Ref document number: 5345201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250