Nothing Special   »   [go: up one dir, main page]

JP2010511968A - マルチレベルセルメモリ装置および方法 - Google Patents

マルチレベルセルメモリ装置および方法 Download PDF

Info

Publication number
JP2010511968A
JP2010511968A JP2009540123A JP2009540123A JP2010511968A JP 2010511968 A JP2010511968 A JP 2010511968A JP 2009540123 A JP2009540123 A JP 2009540123A JP 2009540123 A JP2009540123 A JP 2009540123A JP 2010511968 A JP2010511968 A JP 2010511968A
Authority
JP
Japan
Prior art keywords
bit string
function
coding
memory device
decoding
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.)
Granted
Application number
JP2009540123A
Other languages
English (en)
Other versions
JP5399916B2 (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 JP2010511968A publication Critical patent/JP2010511968A/ja
Application granted granted Critical
Publication of JP5399916B2 publication Critical patent/JP5399916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

マルチレベルセル(MLC)メモリ装置および方法を提供する。一実施形態のMLCメモリ装置は、データ動作を実行するように構成され、MLCメモリセル、エンコーディング関数、およびデコーディング関数のうちの1つである第1コーディング関数を実行する第1コーディング装置と、エンコーディング関数およびデコーディング関数のうちの1つの第2コーディング関数を実行する第2コーディング装置と、第1コーディング関数および第2コーディング関数がエンコーディング関数である場合、第2コーディング装置によって出力されたデータを格納するようにMLCメモリに指示し、第1コーディング関数および第2コーディング関数がデコーディング関数である場合、MLCメモリから探索されたデータに基づいてデマッピングビット列を生成する動作を実行するように設定された信号モジュールと、を備える。

Description

本発明の実施形態は、マルチレベルセル(MLC:Multi−level Cell)メモリ装置および方法に関し、より詳細には、データ動作を実行するマルチレベルメモリ装置およびその方法に関する。
シングルレベルセル(SLC:single−level cell)メモリは、1つのメモリセルに1ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル(SBC:single−bit cell)メモリとも呼ばれる。
図1は、従来技術に係るシングルレベルセルメモリのセル閾値電圧を示す図である。図1に示すように、シングルレベルセルメモリでは、1ビットのデータは互いに異なる電圧または散布(distribution)で格納され、読み取られる。図1を参照すれば、図1の垂直点線で示された閾値電圧(threshold voltage)によって2つの散布が区分される。例えば、メモリセルから読み取られた電圧が0.5〜1.5ボルトである場合には、メモリセルに格納されたデータは第1ロジックレベル(例えば、高いロジックレベルまたはロジック「1」)となり、メモリセルから読み取られた電圧が2.5〜3.5ボルトである場合には、メモリセルに格納されたデータは第2ロジックレベル(例えば、低いロジックレベルまたはロジック「0」)と解釈される。メモリセルに格納されたデータは、読取動作時にセル電流/電圧の差によって区分される。
現在のMLCメモリは、SLCメモリよりもさらに高く集積される。マルチレベルセルメモリは、マルチビットセル(MBC:multi−bit cell)メモリとも呼ばれる。しかしながら、1つのメモリセルに格納するビットの数が増加するほど信頼性が低下し、読取失敗率(read failure rate)が増加するようになる。1つのメモリセルにm個のビットを格納しようとすれば、2m個の散布(例えば、各関連したビットに対する分離した電圧領域)を形成しなければならない。しかしながら、各散布に関連する電圧ウィンドウ(voltage window)は制限されているため、mの増加によって隣接したビット間の閾値電圧の差は減少するようになり、これによって読取失敗率が増加する。このような理由により、従来技術によれば、マルチレベルセルメモリを用いた格納密度の向上が容易ではなかった。
本発明の実施形態は、マルチレベルセルメモリに新しいエラー訂正方法を適用することで、マルチレベルセルメモリにおいて、1つのメモリセルに格納するビットの数を安定的に増加させることに関する。
また、本発明の実施形態は、マルチレベルセルメモリにエラー訂正方法を適用しながらも、エラー訂正方法によるオーバーヘッドの大きさを調節できるようにすることに関する。
また、本発明の実施形態は、マルチレベルセルメモリにおいて、1つのメモリセルに4ビット以上を格納することができる高い低密度のマルチレベルセルメモリを提供することに関する。
さらに、本発明の実施形態は、マルチレベルセルメモリにおいて、ランダムエラーおよびバーストエラーすべてに強いエラー訂正方法を提供することに関する。
本発明の一実施形態は、データ動作を実行するマルチレベルセルメモリ装置に関し、前記マルチレベルセルメモリ装置は、MLCメモリセル、エンコーディング関数(encoding function)、およびデコーディング関数(decoding function)のうちの1つである第1コーディング関数(coding function)を実行する第1コーディング装置と、エンコーディング関数およびデコーディング関数のうちの1つである第2コーディング関数を実行する第2コーディング装置と、前記第1コーディング関数および前記第2コーディング関数がエンコーディング関数である場合、前記第2コーディング装置によって出力されたデータを格納するように前記MLCメモリに指示し、前記第1コーディング関数および前記第2コーディング関数がデコーディング関数である場合、前記MLCメモリから探索されたデータに基づいてデマッピングビット列(demapped bit stream)を生成する動作を実行するように設定された信号モジュール(signal module)と、を備える。
本発明のさらに他の一実施形態は、マルチレベルセルメモリ装置でデータ動作を実行する方法に関し、前記データ動作実行方法は、エンコーディング関数およびデコーディング関数のうちの1つである第1コーディング関数を実行する動作と、エンコーディング関数およびデコーディング関数のうちの1つの第2コーディング関数を実行する動作と、前記第1コーディング関数および前記第2コーディング関数がエンコーディング関数である場合、前記第2コーディング装置によって出力されたデータを格納するように前記MLCメモリに指示し、前記第1コーディング関数および前記第2コーディング関数がデコーディング関数である場合、前記MLCメモリから探索されたデータに基づいてデマッピングビット列を生成する動作と、を実行する動作を含む。
本発明の理解のために添付の図面が提供される。この図面は本発明の実施形態を説明し、詳細な説明と共に本発明を説明する。
シングルレベルセルメモリのセル閾値電圧を示す図である。 本発明の一実施形態に係るマルチレベルセルメモリ装置200を示すブロック図である。 本発明のさらに他の一実施形態に係る内部エンコーダを示すブロック図である。 本発明のさらに他の一実施形態に係る畳み込み符号エンコーディングを実行する親コードエンコーダ(mother code encoder)を示す図である。 本発明のさらに他の一実施形態に係る穿孔部の動作を説明するための図である。 本発明のさらに他の一実施形態に係るMLCメモリセルアレイを示す図である。 本発明のさらに他の一実施形態に係る信号マッピング部および信号デマッピング部の動作を説明するための図である。 本発明のさらに他の一実施形態に係る信号マッピング部および信号デマッピング部の動作を説明するための図である。 本発明のさらに他の一実施形態によって軟判定を実行する信号デマッピング部の動作を説明するための図である。 本発明のさらに他の一実施形態に係る内部デコーダを示すブロック図である。 本発明のさらに他の一実施形態に係る非穿孔部および親コードデコーダの動作を説明するための図である。
以下、本発明の実施形態に関する詳細な説明が開示される。しかしながら、開示された具体的な構造および動作の詳細は、単に本発明の実施形態を説明するための目的としてのみ理解されなければならない。本発明の実施形態は他の多くの代案的な形態でも実現することができ、ここに開示された実施形態に限定されるものとして解釈されてはならない。
したがって、本発明の実施形態に対して多様な変形および代案的な形態が可能であり、本発明の実施形態の具体的な実施形態が図面に例示的な形態で示されており、ここで詳細に説明される。しかしながら、本発明の実施形態をここに開示された具体的な形態で制限しようという意図はなく、むしろ本発明の実施形態は、本発明の思想の範囲に含まれるすべての変形例、均等例、および代案を含むものである。図中、同じ参照符号は同じ部材を示す。
ここで、多様な構成要素を示すために「第1」、「第2」などの用語が用いられているが、このような構成要素がこのような用語に制限されることはない。このような用語は、1つの構成要素を他の構成要素と区分するために用いられたものに過ぎない。例えば、本発明の技術思想の範囲内において、第1構成要素が第2構成要素として命名されることもあるし、第2構成要素が第1構成要素として命名されることもある。ここで用いられる「および/または」という用語は、関連してリストされる項目の1つまたはそれ以上のあらゆる、またはいかなる組み合わせも含む。
構成要素が異なる構成要素に「連結した(connected)」または「繋がった(coupled)」と表現されたとき、この構成要素は他の構成要素に直接連結したり繋がったりする場合もあるし、他の構成要素を介して連結したり繋がったりする場合もある。逆に、構成要素が異なる構成要素に「直接連結した(directly connected)」または「直接繋がった(directly coupled)」と表現された場合、構成要素の間には他の構成要素は介入しない。構成要素間の関係を表現するために用いられる他の用語(例えば、「間(between)」と「間に直接(directly between)」、「隣接した(adjacent)」と「直接隣接した(directly adjacent)」など)もこのような形式として解釈されなければならない。
ここで用いられた用語は、具体的な実施形態を説明するための目的として用いられており、本発明の実施形態を制限するためのものではない。ここで用いられたような単数形態(例えば、「a」、「an」、および「the」)は、異なって記述されていない限り複数の形態も含む。「含む」という用語は記述された特徴、数字、段階、動作、構成要素、および/または構成を指定するが、1つ以上の他の特徴、数字、段階、動作、構成要素、構成、および/またはこれらのグループの追加または存在を除外しない。
異なって定義されていなければ、ここに用いられたすべての用語(技術的、科学的用語を含む)は、本発明が属する技術分野において通常の知識を有する者によって通常的に理解されるものと同じ意味を有する。通常的に用いられる辞書に定義されたものと同じ用語は、関連技術の文脈においてそれらの意味と一致する意味を有するものとして解釈されなければならず、ここにそのように表現した場合を除いては、異常化されたり過度に形式的な意味で解釈されたりしてはならない。
図2は、本発明の一実施形態に係るマルチレベルセルメモリ装置200を示すブロック図である。
本実施形態に係るマルチレベルセルメモリ装置200は、外部エンコーダ(outer encoder)210と、内部エンコーダ(inner encoder)220と、信号マッピング部(signal mapping module)230と、MLCメモリセルアレイ(MLC memory cell array)240と、信号デマッピング部(signal demapping module)270と、内部デコーダ(inner decoder)280と、外部デコーダ(outer decoder)290とを備える。
図2に示すように、本実施形態は、MLCメモリ装置に受信されたソースデータを格納し、読み取るために外部エンコーディング(outer coding)および内部エンコーディング(inner coding)の2段階を連結接続した連接エンコーディング(concatenated coding)を用いる。外部エンコーディングにはブロックエンコーディング(block coding)を用い、内部エンコーディングには畳み込み符号化(convolutional coding)用いる。ブロックエンコーディングは、データを複数のブロック単位でエンコーディング(encoding)およびデコーディング(decoding)する方法である。畳み込み符号化は、以前データと現在データを用いてエンコーディングする方法である。畳み込み符号化は、エンコーディングに以前データを用いるため、以前データを格納する格納装置を必要とする。ブロックエンコーディングはバーストエラー(burst error)の検出および訂正に強く、畳み込み符号化はランダムエラー(random error)の検出および訂正に強い。したがって、本実施形態において、MLCメモリ装置200にデータを記録するとき、外部エンコーディングとしてブロックエンコーディングを用い、内部エンコーディングとして畳み込み符号化を用いることで、本実施形態はバーストエラーおよびランダムエラーすべてに強い高性能のエラー訂正性能を有するようになる。
図2の実施形態において、外部エンコーダ210は、マルチレベルセルメモリ装置に格納するソースデータを受信し、このソースデータを第1エンコーディング方法でエンコーディングして、外部エンコーディングされたビット列(outer encoded bit stream)215を生成する。第1エンコーディング方法としては、線形ブロックエンコーディング(linear block encoding)を用いることができる。線形ブロックエンコーディングには、Hammingコーディング、BCHコーディング、Reed−Solomon(RS)コーディング、Golayコーディングなどの方法がある。線形ブロックエンコーディングは、まず、ソースデータをkビット単位でブロック化する(例えば、kはプラスの整数)。例えば、受信されたソースデータをkビット単位で分割する。外部エンコーダ210は、このようにブロック化されたkビットのビット列205にr1ビットのオーバーヘッドを付加して、k+r1ビットの外部エンコーディングされたビット列215を生成する。したがって、外部エンコーダ210の符号化率はk/(k+r1)となる。このように追加されたr1はパリティビット(parity bit)であり、kビットのビット列205に付加することができる。この場合、MLCメモリ装置200からデータを読み取るとき、内部デコーダ280は、r1ビットを参照してkビットのデータに対するエラー検出および訂正を実行する。
図2の実施形態において、内部エンコーダ(inner encoder)220は、外部エンコーディングされたビット列215を第2エンコーディング方法でエンコーディングして、内部エンコーディングされたビット列(inner encoded bit stream)225を生成する。第2エンコーディング方法としては、畳み込み符号エンコーディングを用いることができる。畳み込み符号エンコーディングは、現在のデータと以前のデータとの間の相互関連性(convolutional relation)を用いてエラーを検出および訂正するエンコーディングである。内部エンコーダ220は、k+r1ビットの外部エンコーディングされたビット列215をエンコーディングして、k+r1+r2ビットの内部エンコーディングされたビット列225を生成する。したがって、内部エンコーダ220によって追加されるオーバーヘッドはr2ビットであり、内部エンコーダ220の符号化率は(k+r1)/(k+r1+r2)となる。k+r1+r2をnとすれば、外部エンコーダ210および内部エンコーダ220全体を介した符号化率はk/nとなる。畳み込み符号エンコーディングは、ランダムエラー(random error)の検出および訂正に強い。
図2の実施形態において、内部エンコーダ220によって生成された内部エンコーディングされたビット列225は、信号マッピング部230によってMLCメモリセル250に格納されるようになる。したがって、内部エンコーディングされたビット列225は、MLCメモリセル250に格納される最終デジタルデータとなる。内部エンコーディングされたビット列225はnビットで構成されるが、そのうちの一部であるkビットがkビットのビット列205の値をそのまま維持している場合、内部エンコーディングされたビット列225は系統的コード(systematic code)と呼ばれる。もし、nビットの内部エンコーディングされたビット列225のうちのいずれの一部もkビットのビット列205の値をそのまま維持していない場合、内部エンコーディングされたビット列225は非系統的コード(nonsystematic code)と呼ばれる。本実施形態は、内部エンコーディングされたビット列225を系統的コードまたは非系統的コードで生成することができる。本実施形態において、内部エンコーディングされたビット列225を系統的コードで生成する場合、MLCメモリセル250に格納されるデータも本来のkビットのビット列205の値をそのまま維持したまま格納されるようになるという長所がある。
図2の実施形態において、信号マッピング部(signal mapping module)230は、内部エンコーディングされたビット列(bit stream)225によるプログラムパルス(program pulse)235をMLCメモリセル250に印加(apply)して、MLCメモリセル250にデータを記録する。MLCメモリセル250がmビットのMLCメモリセルであれば、プログラムパルス235は、2mPAM(Pulse Amplitude Modulation)によって生成が可能な2m個のレベルのうちの1つとなる。
図2の実施形態において、MLCメモリセルアレイ240は、複数のMLCメモリセル250および感知増幅器(SA;sense amplifier)260を含む。感知増幅器260は、MLCメモリセル250に格納されたデータに関する信号を受信し、これを感知増幅する。MLCメモリセル250は、MLCフラッシュメモリのメモリセルとすることができる。
図2の実施形態において、信号デマッピング部(signal demapping module)270は、読取信号(read signal)の印加に回答してMLCメモリセル250から出力された出力パルス(output pulse)245からデマッピングされたビット列(demapped bit stream)275を生成する。MLCメモリセル250がNビットのMLCメモリセルである場合、信号デマッピング部270は、2N個の散布の閾値電圧と出力パルス245とを比較して、出力パルス245に対応したデマッピングされたビット列275を生成する。
図2の実施形態において、信号デマッピング部270は、出力パルス245から硬判定(hard decision)または軟判定(soft decision)して、デマッピングされたビット列275を生成することができる。硬判定は、信号デマッピング部270が出力パルス245からデマッピングされたビット列275のビットのロジックレベルを決定する方法(例えば、ロジックレベルがロジック「1」のような第1ロジックレベルであるか、ロジック「0」のような第2ロジックレベルであるか)である。硬判定と類似するように、軟判定も、信号デマッピング部270によって出力パルス245からデマッピングされたビット列275の各ビットのロジックレベルを決定する(例えば、ロジックレベルがロジック「1」のような第1ロジックレベルであるか、ロジック「0」のような第2ロジックレベルであるか)。しかしながら、軟判定は、ロジックレベルの決定が「どれほど確かであるか」を示す指示子(indicator)を含む。例えば、軟判定は、「確かな0」、「0であるが確かではない」などのような形態で決定することができる。
図2の実施形態において、信号デマッピング部270が軟判定をする場合、内部デコーダ280などで信号デマッピング部270から受信した情報に基づいて各ビットのロジックレベル(logic level)を決定するようになる。信号デマッピング部270が軟判定をする場合、信号デマッピング部270によって生成されたデマッピングされたビット列275は、通常、内部エンコーディングされたビット列225のn(=k+r1+r2)ビットよりもさらに多くのビット数を有するようになる。追加のビットは、各ビットの決定された値の正確度に関する情報または決定されたロジックレベル(例えば、軟判定結果)を含む。信号デマッピング部270が硬判定をする場合、信号デマッピング部270によって生成されたデマッピングされたビット列275は、内部エンコーディングされたビット列225に対応してn(=k+r1+r2)ビットを有するようになる(例えば、確実さのレベルを示す追加の軟判定なし)。
図2の実施形態において、内部デコーダ280は、デマッピングされたビット列275を第2デコーディング方法でデコーディングして、内部デコーディングされたビット列(inner decoded bit stream)285を生成する。第2デコーディング方法としては、畳み込み符号デコーディングを用いることができる。内部デコーダ280は、k+r1+r2ビットのデマッピングされたビット列275をデコーディングして、k+r1ビットの内部デコーディングされたビット列285を生成する。内部デコーダは、第2デコーディング方法に基づいてデマッピングされたビット列275に含まれたエラーを検出し、検出されたエラーを訂正する。第2デコーディング方法として畳み込み符号デコーディングを用いる場合、ランダムエラーの検出および訂正に有利である。
図2の実施形態において、外部デコーダ290は、内部デコーディングされたビット列285を第1デコーディング方法でデコーディングして、外部デコーディングされたビット列(outer decoded bit stream)295を生成する。外部デコーダ290は、第1デコーディング方法に基づいて内部デコーディングされたビット列285に含まれたエラーを検出し、検出されたエラーを訂正する。第1デコーディング方法は、第1エンコーディング方法に対応するデコーディング方法が用いられる。第1エンコーディング方法としてHammingコーディング、BCHコーディング、Reed−Solomon(RS)コーディング、Golayコーディングなどの線形ブロックエンコーディングが用いられた場合、第1デコーディング方法もこれに対応した線形ブロックデコーディングが用いられる。例えば、第1エンコーディング方法としてRSコーディングによるエンコーディングを用いた場合、第1デコーディング方法もRSコーディングによるデコーディングを用いる。線形ブロックコーディングを用いる場合、外部デコーダ290は、バーストエラーの検出および訂正に有利である。
図2の実施形態において、内部デコーダ280は、デマッピングされたビット列275から検出されたエラーを訂正して、内部デコーディングされたビット列285を生成する。外部デコーダ290は、内部デコーディングされたビット列285から検出されたエラーを訂正して、外部デコーディングされたビット列295を生成する。例えば、エラー検出および訂正は、上述した2つの分離した動作を含んで実行することができる。したがって、MLCメモリ装置200の読取時に読み取られたデータは、従来のMLCメモリ装置から読み取られたデータよりもさらに正確であり(例えば、追加のエラーが検出/訂正されるため)、したがって高密度のMLCメモリ装置200を実現できるようになる。
図2の実施形態において、デコーディング方法によってエラーの検出およびエラーの訂正能力に差がある場合がある。例えば、エラーの検出は4ビットまで可能であるが、エラーの訂正は3ビットまでのみが可能な場合である。この場合、エラーが4ビット発生した場合、外部デコーダ290は、エラーの発生は検出することはできるが、エラーの訂正は不可能である。この場合、外部デコーダ290は、外部デコーディングされたビット列295を受信するオブジェクト(例えば、運営体制、メモリ管理プログラムなど)にエラーとして検出されたが訂正されなかったエラーに対して報告することができる。これにより、このオブジェクトは、この報告に基づいて追加的な動作を実行することによって、メモリ使用をより効率的に実行できるようになる。
図3は、本発明のさらに他の実施形態に係る内部エンコーダ220を示すブロック図である。
図3に示す実施形態において、内部エンコーダ220は、親コードエンコーダ222および穿孔部(puncturing module)224を含む。親コードエンコーダ222は、外部エンコーディングされたビット列215を畳み込み符号エンコーディングでエンコーディングして、畳み込み符号223を生成する。畳み込み符号エンコーディングは、現在のデータと以前のデータとの間の相互関連性を用いてエラーを検出および訂正するエンコーディングである。
図4は、本発明のさらに他の実施形態によって畳み込み符号エンコーディングを実行する親コードエンコーダを示す図である。本実施形態において、図4の親コードエンコーダは、図3の親コードエンコーダ222に対応することができる。
図4の実施形態において、各ブロックTb421、422、423、424、245、426は、フリップフロップ(例えば、D−flipflop)を示すことができる。入力データ430は、1クロックごとに1ビットずつDフリップフロップ421にシフト(shift)され、同じように、Dフリップフロップ421、422、423、424、245のデータもそれぞれ右側のDフリップフロップ422、423、424、245、426にシフトされる。
図4の実施形態において、入力データ430は、外部エンコーディングされたビット列215とすることができる。演算ユニット411は、入力データ430、Dフリップフロップ422の出力、Dフリップフロップ423の出力、Dフリップフロップ425の出力、Dフリップフロップ426の出力をエクスクルーシブOR(XOR:exclusive OR)して出力データA440を生成する演算ユニット(operation unit)である。演算ユニット412は、入力データ430、Dフリップフロップ421の出力、Dフリップフロップ422の出力、Dフリップフロップ423の出力、Dフリップフロップ426の出力をエクスクルーシブORして出力データB450を生成する。例えば、図4の実施形態に示す親コードエンコーダは、1ビットの入力に対して2ビットの畳み込み符号エンコーディングされたコードを生成することができる。
実施形態において、図4の実施形態の親コードエンコーダ(例えば、畳み込み符号化エンコーダ)は、K=7の拘束長(constraint length)を有する。拘束長は、親コードエンコーダの出力に関与する入力の総個数であるが、言い換えれば、親コードエンコーダの出力に影響を及ぼすデータが格納されたメモリの長さ(例えば、全長)である。拘束長Kは、レジスタの個数をmとするとき、K=m+1となる。例えば、拘束長が7であれば、6ビットのレジスタと1ビットの入力データで畳み込み符号化を実行する。図4に示す実施形態において、Dフリップフロップの数が6個であり、この6個のDフリップフロップおよび1ビットの入力データが出力データに影響を及ぼすため、図4の畳み込み符号化エンコーダはm=6となり、K=6+1=7の拘束長を有することができる。
図5は、本発明のさらに他の実施形態に係る穿孔部の動作を示す図である。
図5に示す実施形態において、図4の親コードエンコーダを用いて、7ビットの入力データ510が14ビットの畳み込み符号520で生成される。例えば、図4の親コードエンコーダは、1/2の符号化率を有する畳み込み符号化エンコーダである。図3の親コードエンコーダ222として図4の畳み込み符号化エンコーダが用いられれば、外部エンコーディングされたビット列215は入力データ430および入力データ510であり、畳み込み符号223は畳み込み符号520となる。
図5に示す実施形態において、穿孔部224は、畳み込み符号223の一部ビットを穿孔して、内部エンコーディングされたビット列225を生成する。穿孔とは、入力されたデータのうちの一部ビットを減らしたり除去したりすることを言う。例えば、穿孔部224は、予め定められた規則に応じて畳み込み符号223の一部ビットを減らしたり除去したりして、内部エンコーディングされたビット列225を生成する。図5に示すビット列が図3によって生成された場合、外部エンコーディングされたビット列510は、親コードエンコーダ222によって1/2の符号化率で畳み込み符号520としてエンコーディングされる。外部エンコーディングされたビット列510が7ビットであれば、畳み込み符号520は14ビットで構成される。畳み込み符号520のうちで予め定められた規則に応じてA4、A6、B1、B2、B3、B5の6つのビットを減らしたり除去したりして、8ビットの内部エンコーディングされたビット列530を生成する。したがって、図5に係る内部エンコーダは、7/8の符号化率を有するようになる。
図5の実施形態の穿孔部(puncturing module)224の動作は、6つのビットを減らしたり除去したりしたが、本発明の他の実施形態では、他の個数のビットを減らしたり除去したりできるものとして理解される。このように、本発明の実施形態は、穿孔部224を含んで内部エンコーディングの符号化率を調節することができる。例えば、本発明の実施形態によれば、穿孔を用いてマルチレベルセルメモリにエラー訂正方法を適用しながらも、このようなエラー訂正方法によるオーバーヘッドの大きさを調節することができる。したがって、本発明の実施形態によれば、1セルあたりに格納するビットの数とは関係なく、所望する符号化率を得ることができる。
本発明のさらに他の実施形態によれば、図2を参照しながら、内部エンコーダ220は、穿孔部224を除外することができる(例えば、内部親コードエンコーダ222は含むが、穿孔部224は含まれない場合がある)。この場合、親コードエンコーダ222は、外部エンコーディングされたビット列215を畳み込み符号エンコーディングでエンコーディングして畳み込み符号223を生成するだけで、穿孔は実行しない。
図6は、本発明のさらに他の実施形態に係るメモリセルアレイを示す図である。実施形態において、図6のメモリセルアレイは、フラッシュメモリのMLCメモリセルアレイとすることができる。図6において、B/L0〜B/L511はビットラインを示し、W/L0〜W/L1023はワードラインを示す。S/Lはソースラインを示し、MCはメモリセルを示す。図6に示すメモリセルアレイのメモリセルは、1つのメモリセルに2ビット以上のデータを格納することができるマルチレベルセル(MLC)メモリセルである。
図7および図8は、本発明のさらに他の実施形態に係る信号マッピング部230および信号デマッピング部270の動作を説明するための図である。具体的に、図7は、1つのメモリセルが2ビットのデータを格納するための信号マッピングを説明するための図であり、図8は、1つのメモリセルに4ビットのデータを格納するための信号マッピングを説明するための図である。
図7の実施形態において、信号デマッピング部270は、MLCメモリセル250から得られた電圧が第1範囲(例えば、0.5〜1.0ボルト)であれば、第1ロジックシーケンス(例えば、ロジック「11」)と判断する。MLCメモリセル250から得られた電圧が第2範囲(例えば、1.5〜2.0ボルト)であれば、信号デマッピング部270は、第2ロジックシーケンス(例えば、ロジック「10」)と判断する。MLCメモリセル250から得られた電圧が第3範囲(例えば、2.5〜3.0ボルト)であれば、信号デマッピング部270は、第3ロジックシーケンス(logic sequence)(例えば、ロジック「01」)と判断する。MLCメモリセル250から得られた電圧が第4範囲(例えば、3.5〜4.0ボルト)であれば、信号デマッピング部270は、第4ロジックシーケンス(ロジック「00」)と判断する。MLCメモリセル250に格納されたデータは、読取(read)動作時にセル電流またはセル電圧の差によって区分される。
図7の実施形態において、信号マッピング部230は、内部エンコーディングされたビット列225のビットが第1ロジックシーケンス(例えば、ロジック「11」)であれば、MLCメモリセル250が格納する電圧レベルが第1範囲(例えば、0.5〜1.0ボルト)となるようにプログラムパルスをMLCメモリセル250に印加する。このとき、プログラムパルスは、PAM(pulse amplitude modulation)によって生成する。信号マッピング部230は、内部エンコーディングされたビット列225のビットが第2ロジックシーケンス(例えば、ロジック「10」)であれば、MLCメモリセル250が格納する電圧レベルが第2範囲(例えば、1.5−2.0ボルト)となるようにプログラムパルスをMLCメモリセル250に印加する。信号マッピング部230は、内部エンコーディングされたビット列225のビットが第3ロジックシーケンス(例えば、ロジック「01」)であれば、MLCメモリセル250が格納する電圧レベルが第3範囲(例えば、2.5〜3.0ボルト)となるようにプログラムパルスをMLCメモリセル250に印加する。信号マッピング部230は、内部エンコーディングされたビット列225のビットが第4ロジックシーケンス(例えば、ロジック「00」)であれば、MLCメモリセル250が格納する電圧レベルが第4範囲(例えば、3.5〜4.0ボルト)となるようにプログラムパルスをMLCメモリセル250に印加する。
図7の実施形態において、MLCメモリセル250がMLCフラッシュメモリセルである場合、第3ロジックシーケンス(例えば、ロジック「01」)をMLCメモリセル250に記録する場合について説明する。信号マッピング部230は、記録するMLCメモリセル250を消去させた状態でワードライン電圧を少しずつ増加させながらMLCメモリセル250の電圧を陽の方向に少しずつ増加させ、メモリセルの閾値電圧が第3範囲(例えば、2.5〜3.0ボルト)に到達したか否かを検証(verify)する。したがって、第3ロジックシーケンス(例えば、ロジック「01」)をMLCメモリセル250に記録するために、MLCメモリセル250は、第1ロジックシーケンス(例えば、ロジック「11」)および第2ロジックシーケンス(例えば、ロジック「10」)の状態を順に経てロジック「01」の状態となる。
さらに他の実施形態において、図8は、信号マッピング部230がグレイコーディングによってMLCメモリセル250にデータを記録する動作を説明するための図である。グレイコーディングは、隣接する符号間のハミング距離(Hamming distance)を1とする符号化(coding)方法である。図8に示すように、隣接した2つの符号、例えば符号「1100」と符号「1101」には1ビットだけの差がある。信号デマッピング部270において、MLCメモリセル250から得られた電圧レベルで符号を得るとき、電圧レベルが符号「1100」と符号「1101」の中間値である場合、信号デマッピング部270は、これを符号「1100」と符号「1101」のうちの1つの値として決定するが、最悪の場合には1ビットのみが異なるようになる。もし隣接した符号のビット差が2ビット以上になれば、2ビット以上が異なるようになる。したがって、もしグレイコーディングが用いられれば、信号デマッピング部270で誤った符号として決定されたとしても、そのエラーは最小化されたり減少したりする。
図8の実施形態において、信号マッピング部230は、1つのメモリセルに4ビットのデータを格納する。MLCメモリセル250がmビットメモリセルである場合、信号マッピング部230は、内部エンコーディングされたビット列225によって2mPAM(Pulse Amplitude Modulation)に基づいて生成が可能な2m個のレベルのうちの1つを決定し、このように決定されたレベルのプログラムパルスをMLCメモリセル250に印加する。
図7および図8の実施形態に示すように、1つのメモリセルに対する電圧ウィンドウは相対的に制限されている。図7および図8の場合、MLCメモリセルの電圧ウィンドウが−2.5ボルト(マイナス2.5ボルト)から4ボルトまでである。このように制限された電圧ウィンドウ内において、図7は1つのMLCメモリセルに2つのビットを格納しなければならないため4つの散布を形成し、図8は1つのMLCメモリセルに4つのビットを格納しなければならないため16個の散布を形成する。このように、1つのメモリセルにm個のビットを格納するために2m個の散布を形成するが、電圧ウィンドウ(voltage window)は制限されているため、mの増加によって隣接したビット間の閾値電圧の差は減少するようになる。したがって、MLCメモリセルへの記録および読取時のエラー発生の可能性が高くなるが、本発明の一実施形態は、内部エンコーディングと外部エンコーディングの2段階を連結接続した連接エンコーディングを用いてこのようなエラーを検出および訂正することで、1つのメモリセルに4ビット以上を格納する高密度MLCセルメモリ装置を可能にする。
図9は、本発明のさらに他の実施形態によって軟判定を実行する図2の信号デマッピング部270の動作を説明するための図である。
図9の実施形態において、信号マッピング部230がグレイコーディングを用いた場合、信号デマッピング部270もグレイコーディングを用いる。信号デマッピング部270が軟判定を実行する場合、信号デマッピング部270によって生成されるデマッピングされたビット列275は、グレイコーディングによって生成されたビット列および数式1によって追加で生成されたビット列を含んで生成することができる。
Figure 2010511968
図9の実施形態において、数式1を参照すれば、α(1)(χ)は、MLCメモリセル250から出力された出力パルスが図9に示す散布に含まれる場合、図9に示す値を有する関数である。例えば、MLCメモリセル250から出力された出力パルスが1.75ボルト以上の値を有すれば、α(1)(χ)の値は1.75となる。もし、MLCメモリセル250から出力された出力パルスが0.5ボルトの値を有すれば、α(1)(χ)の値は0.5となる。χは出力パルスの電圧値である。α(2)(χ)は、MLCメモリセル250から出力された出力パルスが図9に示す散布に含まれる場合、図9に示す値を有する関数である。例えば、MLCメモリセル250から出力された出力パルスが2.0ボルト以下の値を有すれば、α(2)(χ)の値は2.0となる。他の実施形態において、MLCメモリセル250から出力された出力パルスが3.0ボルトの値を有すれば、α(2)(χ)の値は3.0となる。
実施形態において、数式1による値は、信号デマッピング部270によって決定されたビット値の正確度に関する付加情報となる。このように、信号デマッピング部270が出力パルス245から軟判定されたデマッピングされたビット列275を生成すれば、内部デコーダ280は、このような付加情報および自身によって得られた他の情報を用いて、軟判定されたデマッピングされたビット列275のうちからグレイコーディングによって生成されたビット列を明確に決定する。
図10は、本発明のさらに他の実施形態に係る図2の内部デコーダ280を示すブロック図である。
図10の実施形態において、内部デコーダ280は、非穿孔部(depuncturing module)282および親コードデコーダ(mother code decoder)284を含む。非穿孔部282は、デマッピングされたビット列275に穿孔されたビットを付加して、非穿孔されたビット列(depunctured bit stream)283を生成する。非穿孔部282の非穿孔(depuncturing)は、穿孔部224の穿孔に対応する。非穿孔とは、穿孔によって除去されたビットを付加して本来のビット列を復旧することをいう。例えば、穿孔部224が予め定められた規則に応じて畳み込み符号223の一部ビットを除去して内部エンコーディングされたビット列225を生成した場合、非穿孔部282は、この規則に対応してデマッピングされたビット列275に穿孔されたビットを付加して、非穿孔されたビット列283を生成する。
図10の実施形態において、親コードデコーダ284は、非穿孔されたビット列283をビタビデコーディング(Viterbi decoding)でデコーディングして、内部デコーディングされたビット列285を生成する。本実施形態において、ビタビデコーディングは、親コードエンコーダ222の畳み込み符号エンコーディングに対応する。
図11は、本発明の一実施形態に係る図10の非穿孔部282および親コードデコーダ284の動作を説明するための図である。
図11の実施形態を参照すれば、信号デマッピング部270から出力されたデマッピングされたビット列1110は7ビットを有する。デマッピングされたビット列1110は、非穿孔部282によって非穿孔されたビット列1120として生成される。図11の実施形態に示すように、非穿孔されたビット列1120は、穿孔されたビット列(例えば、図5を参照)が復旧され、14ビットを有する。例えば、図5で穿孔されたA4、A6、B1、B2、B3、B5の6つのビットが付加された。親コードデコーダ284は、非穿孔されたビット列1120をデコーディングして、7ビットの内部デコーディングされたビット列1130を生成する。
本発明のさらに他の実施形態によれば、内部デコーダ280は、非穿孔部282なく親コードデコーダ284のみで構成することができる。この場合、内部デコーダ280は、デマッピングされたビット列275をデコーディング(例えば、ビタビデコーディング)して内部デコーディングされたビット列285を生成するだけで、非穿孔は実行しない。
なお、本発明に係る実施形態は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。
例えば、外部エンコーダ210、内部エンコーダ220、信号マッピング部230、信号デマッピング部270、内部デコーダ280、および外部デコーダ290のうちの一部をコンピュータプログラムによって実現することができる。したがって、このような機能を含むコンピュータプログラムも、本発明のさらに他の実施形態に含まれる。
本発明のさらに他の実施形態において、メモリセルのビット密度(bit desity)は、向上した安全性を有して増加することができる。例えば、従来のメモリ装置は、与えられたセルに含まれるビットの数の増加によって増大する信頼性の問題およびエラーのために、1つのメモリに4ビット以上を格納することができなかった。しかしながら、本発明の実施形態に係るメモリセルは、4ビットメモリセルのような低密度の実現に制限されない。他の実施形態において、本発明の実施形態によって提供されるメモリ密度の増加による利益は、実施形態の実現と関連したオーバーヘッド(例えば、追加的な回路)よりもさらに大きい。
他の実施形態において、マルチレベルメモリに適用された従来のエラー訂正方法は、低エラー率(raw error rate)が高い場合、例えばビットエラー率(BER:bit error rate)が0.01よりも大きい場合には適用が不可能であった。しかしながら、本発明の実施形態に係るエラー訂正方法は、低エラー率が高い場合(例えば、BERが0.01よりも大きい場合)にも有効である。また、従来技術において、MLCメモリセルの1つのメモリセルにあるビットの数を増加させれば、隣接したビット間の閾値電圧の差は減少するようになり、これによって読取失敗率は増加するが、本発明の実施形態によればこのような問題は解決される。
また、本発明のさらに他の実施形態において、穿孔を用いてマルチレベルセルメモリにエラー訂正方法を適用しながらも、このエラー訂正方法によるオーバーヘッドの大きさを調節することができる。したがって、1セルあたりに格納されるビットの数とは関係なく、所望する符号化率を得ることができる。例えば、1つのメモリセルに格納されるビット数を収容するために符号化率が調整されたり微細調整(fine−tuned)されたりする(例えば、適当なエラー訂正対性能率(performance ratio)を達成することができる)。
本発明のさらに他の実施形態において、マルチレベルセルメモリで読み取られた信号に含まれたエラーが訂正されることにより、フラッシュメモリの性能特徴(例えば、信頼性、量産性(productivity)など)が高まる。
本発明のさらに他の実施形態において、マルチレベルセルメモリにおいて、ランダムエラーおよびバーストエラーすべてに強いエラー訂正方法を実現することができる。
以上、本発明の実施形態について説明した。このような実施形態は、多様な方法に変形が可能であることが明白である。例えば、実施形態に係る方法は、ハードウェアおよび/またはソフトウェアで実現することができる。ハードウェア/ソフトウェア実現は、プロセッサ、製造部品の組み合わせを含むことができる。製造部品は、格納媒体、実行コンピュータプログラム(例えば、コンピュータ読取可能な媒体に格納されたコンピュータプログラム製品)を含むことができる。実行可能なコンピュータプログラムは、上述した動作や機能を実行する命令語を含むことができる。実行可能なコンピュータプログラムは、外部から供給される信号で実現することもできる。
また、上述した第1ロジックレベルおよび第2ロジックレベルは、本発明の実施形態において、それぞれさらに高いロジックレベルおよびさらに低いロジックレベルに対応するものとして理解することができる。代案的に、本発明のさらに他の実施形態において、第1ロジックレベル/状態および第2ロジックレベル/状態は、さらに低いロジックレベルおよびさらに高いロジックレベルにそれぞれ対応することができる。同じように、本発明のさらに他の実施形態において、第1ロジックシーケンスおよび第2ロジックシーケンスは、第1ロジックレベルおよび第2ロジックレベル(例えば、1000、1010など)のあらゆる組み合わせに対応することができ、上述した実施形態に制限されない。
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
200 マルチレベルセルメモリ装置
210 外部エンコーダ(outer encoder)
220 内部エンコーダ(inner encoder)
230 信号マッピング部(signal mapping module)
240 MLCメモリセルアレイ(MLC memory cell array)
270 信号デマッピング部(signal demapping module)
280 内部デコーダ(inner decoder)
290 外部デコーダ(outer decoder)

Claims (28)

  1. データ動作を実行するマルチレベルセルメモリ装置であって、
    MLCメモリセルと、
    エンコーディング関数およびデコーディング関数のうちの1つである第1コーディング関数を実行する第1コーディング装置と、
    エンコーディング関数およびデコーディング関数のうちの1つである第2コーディング関数を実行する第2コーディング装置と、
    前記第1コーディング関数および前記第2コーディング関数がエンコーディング関数である場合、前記第2コーディング装置によって出力されたデータを格納するように前記MLCメモリに指示し、前記第1コーディング関数および前記第2コーディング関数がデコーディング関数である場合、前記MLCメモリから探索されたデータに基づいてデマッピングビット列を生成する動作を実行するように設定された信号モジュールと、
    を備えることを特徴とするマルチレベルセルメモリ装置。
  2. 前記第1コーディング関数は第1エンコーディング方法であり、前記第2コーディング関数は第2エンコーディング方法であり、
    前記第1コーディング装置は、データを前記第1エンコーディング方法に基づいてエンコーディングして、外部エンコーディングされたビット列を生成する外部エンコーダであり、
    前記第2コーディング装置は、前記外部エンコーディングされたビット列を前記第2エンコーディング方法に基づいてエンコーディングして、内部エンコーディングされたビット列を生成する内部エンコーダであり、
    前記信号モジュールは、前記内部エンコーディングされたビット列を前記MLCメモリセルに前記格納されたデータで格納するように命令する信号マッピング部であることを特徴とする請求項1に記載のマルチレベルセルメモリ装置。
  3. 前記MLCメモリセルはmビットMLCメモリセルであり(前記mは、プラスの整数)、前記信号マッピングモジュールは2mPAMによって生成される2m個の電圧散布のうちの1つであるプログラムパルスを介して前記MLCメモリセルに命令することを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  4. 前記第1エンコーディング方法は、線形ブロックエンコーディングを含むことを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  5. 前記第2エンコーディング方法は、畳み込み符号エンコーディングを含むことを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  6. 前記内部エンコーダは、
    前記外部エンコーディングされたビット列を畳み込み符号エンコーディングでエンコーディングして、畳み込み符号を生成する親コードエンコーダと、
    前記畳み込み符号の少なくとも1ビットを穿孔して、前記内部エンコーディングされたビット列を生成する穿孔部と、
    を備えることを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  7. 前記内部エンコーダによって生成された前記内部エンコーディングされたビット列は、系統的コードであることを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  8. 前記内部エンコーダによって生成された前記内部エンコーディングされたビット列は、非系統的コードを含むことを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  9. 前記信号マッピング部は、グレイコーディングによって前記プログラムパルスを生成することを特徴とする請求項1に記載のマルチレベルセルメモリ装置。
  10. 読取信号に回答して前記MLCメモリセルから出力された出力パルスからデマッピングされたビット列を生成する信号デマッピング部、
    をさらに備えることを特徴とする請求項2に記載のマルチレベルセルメモリ装置。
  11. 前記信号デマッピング部は、前記出力パルスに基づいて硬判定された前記デマッピングされたビット列を生成することを特徴とする請求項10に記載のマルチレベルセルメモリ装置。
  12. 前記デマッピングされたビット列を第1デコーディング関数(前記第1デコーディング関数は前記第2エンコーディング方法に対応)によってデコーディングして、内部デコーディングされたビット列を生成する内部デコーダ、
    をさらに備えることを特徴とする請求項10に記載のマルチレベルセルメモリ装置。
  13. 前記信号デマッピング部は、前記出力パルスに基づいて軟判定された前記デマッピングされたビット列を生成することを特徴とする請求項12に記載のマルチレベルセルメモリ装置。
  14. 前記第1デコーディング関数は、畳み込み符号デコーディングを含むことを特徴とする請求項12に記載のマルチレベルセルメモリ装置。
  15. 前記内部デコーダは、
    前記デマッピングされたビット列に穿孔されたビットを付加して、非穿孔されたビット列を生成する非穿孔部と、
    前記非穿孔されたビット列をビタビデコーディングでデコーディングして、前記内部デコーディングされたビット列を生成する親コードデコーダと、
    を備えることを特徴とする請求項12に記載のマルチレベルセルメモリ装置。
  16. 前記内部デコーディングされたビット列を第2デコーディング関数(前記第2デコーディング関数は前記第1エンコーディング関数に対応)にデコーディングして、外部デコーディングされたビット列を生成する外部デコーダ、
    をさらに備えることを特徴とする請求項12に記載のマルチレベルセルメモリ装置。
  17. 前記MLCメモリセルは、MLCフラッシュメモリのメモリセルであることを特徴とする請求項11に記載のマルチレベルセルメモリ装置。
  18. 前記第1コーディング関数は第1デコーディング方法であり、前記第2コーディング関数は第2デコーディング方法であり、
    前記信号モジュールは、前記MLCメモリセルから探索されたデータに基づいて前記デマッピングされたビット列を生成する信号デマッピング部であり、
    前記第1コーディング装置は、前記デマッピングされたビット列を前記第2デコーディング方法に基づいてデコーディングして、内部デコーディングされたビット列を生成する内部デコーダであり、
    前記第2コーディング装置は、前記内部デコーディングされたビット列を第1デコーディング方法に基づいてデコーディングして、外部デコーディングされたビット列を生成する外部デコーダであることを特徴とする請求項1に記載のマルチレベルセルメモリ装置。
  19. 前記内部デコーダは、前記デマッピングされたビット列から検出されたエラーを訂正して、前記内部デコーディングされたビット列を生成し、
    前記外部デコーダは、前記内部デコーディングされたビット列から検出されたエラーを訂正して、前記外部デコーディングされたビット列を生成することを特徴とする請求項18に記載のマルチレベルセルメモリ装置。
  20. 前記外部デコーダは、前記内部デコーディングされたビット列でエラーとして検出されたが訂正されなかったエラーを報告することを特徴とする請求項19に記載のマルチレベルセルメモリ装置。
  21. 前記信号デマッピング部は、前記MLCメモリセルから受信した出力パルスに基づいて軟判定された前記デマッピングされたビット列を生成することを特徴とする請求項18に記載のマルチレベルセルメモリ装置。
  22. 前記MLCメモリセルは、mビットMLCメモリセルであり(前記mはプラスの整数)、
    前記信号デマッピング部は、前記MLCメモリセルから受信した出力パルスおよび前記MLCメモリセルと関連した2m個の散布の閾値電圧を比較して、前記出力パルスに対応した前記デマッピングされたビット列を生成することを特徴とする請求項18に記載のマルチレベルセルメモリ装置。
  23. 前記MLCメモリセルは、MBCフラッシュメモリのメモリセルを含むことを特徴とする請求項18に記載のマルチレベルセルメモリ装置。
  24. マルチレベルセルメモリ装置でデータ動作を実行する方法であって、
    エンコーディング関数およびデコーディング関数のうちの1つである第1コーディング関数を実行する動作と、
    エンコーディング関数およびデコーディング関数のうちの1つの第2コーディング関数を実行する動作と、
    前記第1コーディング関数および前記第2コーディング関数がエンコーディング関数である場合、前記第2コーディング装置によって出力されたデータを格納するように前記MLCメモリに指示したり、前記第1コーディング関数および前記第2コーディング関数がデコーディング関数である場合、前記MLCメモリから探索されたデータに基づいてデマッピングビット列を生成したりする動作を実行する動作と、
    を含むことを特徴とするマルチレベルセルメモリ装置におけるデータ動作実行方法。
  25. 前記第1コーディング関数は第1エンコーディング方法であり、前記第2コーディング関数は第2エンコーディング方法であることを特徴とする請求項24に記載のマルチレベルセルメモリ装置でのデータ動作実行方法。
  26. データを前記第1エンコーディング方法に基づいてエンコーディングして、外部エンコーディングされたビット列を生成する動作と、
    前記外部エンコーディングされたビット列を前記第2エンコーディング方法に基づいてエンコーディングして、内部エンコーディングされたビット列を生成する動作と、
    前記内部エンコーディングされたビット列を前記MLCメモリセルに前記格納されたデータとして格納するように命令する動作と、
    をさらに含むことを特徴とする請求項25に記載のマルチレベルセルメモリ装置でのデータ動作実行方法。
  27. 前記第1コーディング関数は第1デコーディング方法であり、前記第2コーディング関数は第2デコーディング方法であることを特徴とする請求項24に記載のマルチレベルセルメモリ装置でのデータ動作実行方法。
  28. 前記MLCメモリセルから探索されたデータに基づいて前記デマッピングされたビット列を生成する動作と、
    前記デマッピングされたビット列を前記第2デコーディング方法に基づいてデコーディングして、内部デコーディングされたビット列を生成する動作と、
    前記内部デコーディングされたビット列を第1デコーディング方法に基づいてデコーディングして、外部デコーディングされたビット列を生成する動作と、
    をさらに含むことを特徴とする請求項27に記載のマルチレベルセルメモリ装置でのデータ動作実行方法。
JP2009540123A 2006-12-06 2007-06-21 マルチレベルセルメモリ装置および方法 Active JP5399916B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2006-0123339 2006-12-06
KR1020060123339A KR100766042B1 (ko) 2006-12-06 2006-12-06 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
PCT/KR2007/003001 WO2008069385A1 (en) 2006-12-06 2007-06-21 A multi-level cell memory device and method thereof

Publications (2)

Publication Number Publication Date
JP2010511968A true JP2010511968A (ja) 2010-04-15
JP5399916B2 JP5399916B2 (ja) 2014-01-29

Family

ID=39419994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009540123A Active JP5399916B2 (ja) 2006-12-06 2007-06-21 マルチレベルセルメモリ装置および方法

Country Status (4)

Country Link
US (2) US7962831B2 (ja)
JP (1) JP5399916B2 (ja)
KR (1) KR100766042B1 (ja)
WO (1) WO2008069385A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123236A (ja) * 2008-08-08 2010-06-03 Marvell World Trade Ltd 部分参照電圧を利用するメモリアクセス
JP2012514819A (ja) * 2008-09-30 2012-06-28 エルエスアイ コーポレーション デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8065583B2 (en) 2007-07-06 2011-11-22 Micron Technology, Inc. Data storage with an outer block code and a stream-based inner code
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8046542B2 (en) 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8499229B2 (en) 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
KR101436505B1 (ko) 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
KR20090097673A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치
KR101425020B1 (ko) 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8418021B2 (en) 2009-03-27 2013-04-09 Mediatek Inc. Storage controller with encoding/decoding circuit programmable to support different ECC requirements and related method thereof
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8473809B2 (en) * 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8516274B2 (en) * 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) * 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8386895B2 (en) 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
US8615703B2 (en) * 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US11336303B2 (en) 2010-06-04 2022-05-17 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8880977B2 (en) * 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8694855B1 (en) 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
US8656257B1 (en) 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
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
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
KR101991911B1 (ko) 2012-05-22 2019-06-24 삼성전자주식회사 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템
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
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
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
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9053047B2 (en) 2012-08-27 2015-06-09 Apple Inc. Parameter estimation using partial ECC decoding
US9577673B2 (en) 2012-11-08 2017-02-21 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data 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
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
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
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9123411B2 (en) 2013-10-11 2015-09-01 Kabushiki Kaisha Toshiba Memory device, method of controlling memory device, and memory system
US9171624B2 (en) 2013-12-20 2015-10-27 Apple Inc. Management of data storage in analog memory cells using a non-integer number of bits per cell
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9286158B2 (en) * 2014-02-06 2016-03-15 Macronix International Co., Ltd. Programming method, reading method and operating system for memory
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
US11403241B2 (en) * 2017-10-02 2022-08-02 Micron Technology, Inc. Communicating data with stacked memory dies
US10490245B2 (en) 2017-10-02 2019-11-26 Micron Technology, Inc. Memory system that supports dual-mode modulation
US10446198B2 (en) 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US10725913B2 (en) 2017-10-02 2020-07-28 Micron Technology, Inc. Variable modulation scheme for memory device access or operation
US10355893B2 (en) 2017-10-02 2019-07-16 Micron Technology, Inc. Multiplexing distinct signals on a single pin of a memory device
US10846172B2 (en) 2018-01-08 2020-11-24 SK Hynix Inc. Encoding method and system for memory device including QLC cells

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107761A (ja) * 1996-10-01 1998-04-24 Jisedai Digital Television Hoso Syst Kenkyusho:Kk 符号化伝送方式とその送受信装置
JPH1188198A (ja) * 1997-06-25 1999-03-30 Samsung Electron Co Ltd 構造的な穿孔畳み込み符号の符号器及びその符号化方法
JP2000013356A (ja) * 1998-06-19 2000-01-14 Jisedai Digital Television Hoso System Kenkyusho:Kk Ofdm受信装置
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
JP2009524152A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド 符号化及び信号処理機能を有するフラッシュメモリ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0763241B1 (en) 1994-06-02 2001-10-17 Intel Corporation Dynamic single to multiple bit per cell memory
US5515317A (en) 1994-06-02 1996-05-07 Intel Corporation Addressing modes for a dynamic single bit per cell to multiple bit per cell memory
US6279133B1 (en) 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
JP4437519B2 (ja) * 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
KR100512181B1 (ko) * 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
JP2005092923A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体記憶装置
US7356755B2 (en) * 2003-10-16 2008-04-08 Intel Corporation Error correction for multi-level cell memory with overwrite capability
US7366462B2 (en) * 2003-10-24 2008-04-29 Qualcomm Incorporated Method and apparatus for seamlessly switching reception between multimedia streams in a wireless communication system
KR100630710B1 (ko) * 2004-11-04 2006-10-02 삼성전자주식회사 다수개의 페일 비트를 검출할 수 있는 반도체 메모리의페일 비트 검출 장치
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107761A (ja) * 1996-10-01 1998-04-24 Jisedai Digital Television Hoso Syst Kenkyusho:Kk 符号化伝送方式とその送受信装置
JPH1188198A (ja) * 1997-06-25 1999-03-30 Samsung Electron Co Ltd 構造的な穿孔畳み込み符号の符号器及びその符号化方法
JP2000013356A (ja) * 1998-06-19 2000-01-14 Jisedai Digital Television Hoso System Kenkyusho:Kk Ofdm受信装置
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
JP2009524152A (ja) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド 符号化及び信号処理機能を有するフラッシュメモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123236A (ja) * 2008-08-08 2010-06-03 Marvell World Trade Ltd 部分参照電圧を利用するメモリアクセス
JP2012514819A (ja) * 2008-09-30 2012-06-28 エルエスアイ コーポレーション デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置

Also Published As

Publication number Publication date
JP5399916B2 (ja) 2014-01-29
US20080137414A1 (en) 2008-06-12
US7962831B2 (en) 2011-06-14
WO2008069385A1 (en) 2008-06-12
US20110213930A1 (en) 2011-09-01
KR100766042B1 (ko) 2007-10-12
US8255770B2 (en) 2012-08-28

Similar Documents

Publication Publication Date Title
JP5399916B2 (ja) マルチレベルセルメモリ装置および方法
KR100785925B1 (ko) Tcm을 이용한 멀티 레벨 셀 메모리 장치
US9032263B2 (en) Data recovery in solid state memory devices
US8499215B2 (en) Multi-level cell memory devices and methods of storing data in and reading data from the memory devices
US8392809B1 (en) Log-likelihood-ratio (LLR) table calibration
US8887032B1 (en) Defect detection and correction via monitoring of syndromes and bit flips in decoder
US20120096328A1 (en) Multi-write endurance and error control coding of non-volatile memories
US9582359B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
JP5524869B2 (ja) メモリセルに格納されるデータのビット数を決定する装置
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
KR20090035571A (ko) 멀티­비트­셀 플래시 메모리에서의 오류 보정 방법
US11563450B1 (en) System and method for high reliability fast RAID decoding for NAND flash memories
US8196011B2 (en) Error detection and correction circuit and semiconductor memory
US20230085730A1 (en) Hard decoding methods in data storage devices
US9831984B1 (en) Method and device for error decision
JP5284069B2 (ja) メモリシステム及びメモリアクセス方法
KR20080052288A (ko) 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
KR20160075001A (ko) 플래시 메모리 시스템 동작 방법
KR101480383B1 (ko) 코드 인코딩 장치
JP4663093B2 (ja) パリティ検査行列を発生するための装置、パリティ検査行列を発生する方法、およびパリティ検査行列を発生するためのコンピュータプログラムを記録するコンピュータ可読記録媒体
US8799737B1 (en) Soft-information modification in concatenated decoding systems
JP3743915B2 (ja) スポッティバイト誤り訂正・検出方法及び装置
US12119075B2 (en) Efficient soft decoding of error correction code via extrinsic bit information
US10628255B1 (en) Multi-dimensional decoding
Faraj ’Design Error Detection and Correction System based on Reed_Muller Matrix for Memory Protection’

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130718

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130828

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: 20130924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131024

R150 Certificate of patent or registration of utility model

Ref document number: 5399916

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