JP2008508632A - データ記憶及び再生装置 - Google Patents

データ記憶及び再生装置 Download PDF

Info

Publication number
JP2008508632A
JP2008508632A JP2007524441A JP2007524441A JP2008508632A JP 2008508632 A JP2008508632 A JP 2008508632A JP 2007524441 A JP2007524441 A JP 2007524441A JP 2007524441 A JP2007524441 A JP 2007524441A JP 2008508632 A JP2008508632 A JP 2008508632A
Authority
JP
Japan
Prior art keywords
data
ecc
storage medium
error rate
information
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.)
Pending
Application number
JP2007524441A
Other languages
English (en)
Other versions
JP2008508632A5 (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008508632A publication Critical patent/JP2008508632A/ja
Publication of JP2008508632A5 publication Critical patent/JP2008508632A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; 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/1068Adding 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 sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics

Landscapes

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

Abstract

データ記憶及び再生装置は、記憶媒体(通常はフラッシュメモリ回路)の性能の進化の測定値を使用して、記憶媒体のある領域からの取り出しの誤り率を予測する。予測は、データの格納に先立ちデータを符号化するECCを動的に選択するための基礎として使用される。前記情報が与えられると、所定の復号後誤り率しか生成しないと予測される最速の符号化可能なECCが選択されるように、使用可能な複数のECCからそのECCが選択される。このように、データを装置に送信する速度が最大にされ得ると同時に、復号後の予測される将来に、許容レベルを下回る誤り率を保持することができる。復号時、通常は音声データまたはビデオデータであるデータは、所定の速度で復号され、再生される。別の実施形態では、データは、複数のECCを使用して一緒に格納され、ECCは、出力データ転送速度が最大にされ、または再生時の消費電力が最低限に抑えられ得るように、復号用に動的に選択される。

Description

本発明は、記憶媒体、特にフラッシュメモリなどにデータを格納し、そこからデータを再生する装置と方法とに関する。好ましくは、本発明は、音声ストリームやビデオストリームなど、リアルタイムに再生可能なデータの格納と再生とに関する。
米国特許出願第2003/0217323号明細書は、フラッシュメモリの劣化に関連する問題に対処している。よく知られているように、フラッシュメモリと他の記憶媒体とは、ビット誤りに苦慮することがある。これらのビット誤りを扱う従来の方法は、誤り訂正符号(ECC)を使用してデータを格納し、ECCを使用してデータの読み取り時のエラーを訂正することである。しかし、フラッシュメモリのビット誤り率は、メモリが摩耗するにつれて、時間とともに増える。その結果、誤り訂正は、最終的に不可能になることがある。米国特許出願第2003/0217323号明細書は、信頼できないものとして扱われるべきビットについての情報を誤り訂正回路に提供するのに、弱いセルの検出が最初にどのように使用され得るかについて記載している。最終的に、データブロックの書き換え、またはデータブロックのより良い記憶域への移動さえも引き起こすために、非常に多くの弱いビットの検出が使用される。同様に、米国特許第2003/0033567号明細書と第2003/0043647号明細書とは、非常に多くの誤りが検出されるとすぐ、データをフラッシュメモリのより良い記憶域に移動することを開示している。したがって、弱い記憶域は、効果的に破棄される。
記憶域が破棄されなければならなくなるより前の平均経過耐用年数(average elapsed service life)は、ECCの質によって決まる。ハミング符号のような単純なECCでは、リードソロモン符号のようなより複雑なECCより早く、記憶域が破棄されなければならない。したがって、できるだけ長い間、できるだけ有用なメモリを保持するために、できるだけ最強のECCを使用することが望ましい。しかし、強いECCは、符号化と復号とのためにかなりの計算オーバーヘッドを必要とする。一般のリアルタイムに再生可能なデータの場合、すなわち、例えば音声データやビデオデータ(MP3データなど)など、所定の読み取り速度しか必要ない場合、一般に、ECC復号速度のための読み取り速度制限は、再生速度に影響を与えない。したがって、この場合、強いECCを使用して、利用可能な記憶空間を最大にすることができる。同じことは、リアルタイムの記録中の符号化にも当てはまる。しかし、事前に記録されたデータのダウンロード中の符号化、またはダウンロードのための送信中の復号は、ダウンロード速度を制限するため、このタイプのデータの場合でさえ、ECCの選択の使用は、トレードオフを伴う。また、計算量が多いECCの使用は、消費電力を増やす。
こうしたトレードオフを使用して、記憶媒体の全耐用年数のために特定のECCを選択することは、媒体の寿命の早い時期の間、速度および/または消費電力を必要以上に犠牲にする。フラッシュメモリのような記憶媒体の誤り率は、その耐用年数中に悪化する。したがって、耐用年数中の1段階で所与の量のメモリを使用可能にするECCは、媒体の寿命の初期に同じ量のメモリを利用可能にすることは必要以上に複雑である。
数ある中でも、本発明の目的は、その耐用年数中にその誤り率が変わる記憶媒体、特にフラッシュメモリを効率的に使用すると同時に、媒体への高速アクセスを許可することである。
数ある中でも、本発明の目的は、特に、リアルタイムの再生可能な媒体データを格納する、効率的なメモリの使用の対象となるこうした記憶媒体のダウンロード速度を最大にすることである。
本発明の別の目的は、記憶及び再生(storage and replay)装置、特にバッテリ式装置(battery operated apparatus)における消費電力を低減することである。
本発明によるデータ記憶及び再生装置は、請求項1に記載されている。本発明によれば、装置は、記憶媒体(通常はフラッシュメモリ回路)の性能(performance)の評価(evolution)の測定値を使用して、記憶媒体のある領域からの取り出し(retrieval)の誤り率を予測する。この予測は、データの格納に先立ちデータを符号化するのに使用可能な複数のECCから1つのECCを選択するための基礎として使用される。留意され得ることは、「ECCへの符号化」は、通常、データがコピーされ、パリティ記号が追加される体系的な符号化を伴うことであり、この場合、書き込み前の符号化は、関与するメモリ領域から取り出されたデータからではなく、受信データからパリティ記号を決定することを意味する。このことは、他のECCを使用して取り出された(および必要に応じて訂正された)データの後の符号化を排除しない。しかし、符号化は、いつもデータをコードワードにコピーすることなく、データ単位がコードワードに変換される非体系的な符号化も含むことを理解されよう。望ましくは、前記情報が与えられると、所定の復号後誤り率しか生成しないと予測される最速の符号化可能なECCが選択されるように、使用可能な複数のECCから1つのECCが選択される。このように、データを装置に送信する速度が最大にされ得ると同時に、復号後の予測される将来に、許容レベルを下回る誤り率を保持することができる。さらに、最低限の計算を必要とするこうしたECCの使用は、計算に必要な消費電力も低減する。このことは全消費電力を低減し、全消費電力の低減は、バッテリ式機器において重要な要因となり得る。
好ましくは、前記領域からデータを読み出すとともに、その領域のために選択されたECCを示す情報を読み出し、示されたECCによってその領域からのデータを復号するように構成されているデコーダ回路が設けられる。したがって、これ以上の符号化は必要ない。しかし、別の実施形態では、データは、複数のECCによって後で符号化されても良い。符号化が起こり、いったんデータが記憶媒体に格納されると、これ以上の符号化が受信の速度を損なうことはない。この場合、デコーダは、例えば誤る傾向が最も少ないECC(the least error prone ECC)など、任意のECCによって復号することを選択することができる。この場合、復号されたデータがリアルタイムの信号レンダリング(音声および/またはビデオ信号レンダリングなど)に使用される場合、レンダリング速度を損なうことのないどんなECCが選択されても良い。
デコーダ回路は、複数のECCから、データが符号化された1つのECCを選択して、選択されたECCによってデータを復号するようにしても良い。このECCは、予測された誤り率についての情報によって選択されても良い。この場合、装置からのデータの送信の可変速度が最大にされると同時に、誤り率を許容レベル未満に保持することができる。これは、もともとデータが適応的に選択されたECCによって書き込まれていない場合、例えば、符号化の計算オーバーヘッドが重大ではなく、したがって強いECCが使用されても良いとき、データがリアルタイムの記録中に書き込まれていない場合に適用されても良い。次いで、異なるECCによる符号化情報(パリティ記号など)が記録中または後に追加されても良い。
好ましくは、予測された誤り率についてのそれぞれの情報は、記憶媒体のそれぞれの領域について決定され、ECCは、領域ごとに独立して適応的に選択される。このように、異なる領域の質の間の差は、例えばより集約的な、およびあまり集約的ではない前の使用に起因する可能性があり、より高速のアクセス速度を達成するために活用され得る。
これらの目的、他の目的、および有利な態様は、以降の図面を使用して、本発明の実施形態の例のために記載される。
図1は、入力/エンコーダ回路10、フラッシュメモリ回路12、誤り率評価回路14、読み取り/デコーダ回路16、および出力回路18を備える記憶及び再生装置を示している。入力/エンコーダ回路10は、例えばダウンロードデータを受信するためにインターネットに結合され得る入力11を有する。任意選択で、入力/エンコーダ回路10は、例えばマイクロフォンやカメラなどのリアルタイム音声および/またはビデオデータを受信するために、別の入力(図示せず)を有していても良い。入力/エンコーダ回路10は、フラッシュメモリ回路12に結合されている出力と、評価回路14に結合されているインターフェイスとを有する。読み取り/デコーダ回路16は、フラッシュメモリ回路12と評価回路14とに結合されているインターフェイスと、出力回路18に結合されている出力とを有する。出力回路18は、フラッシュメモリ回路12に格納されているデータによって符号化されるビデオおよび/または音声信号をレンダリングするために、例えば表示画面(別個には図示せず)および/または拡声器(別個には図示せず)を含む。任意選択で、読み取り/デコーダ回路16は、取り出されたデータを、出力回路18に送信するより速い速度で他の装置(図示せず)に送信するための出力(図示せず)をさらに有していても良い。フラッシュメモリ回路12は、メモリプロパ(memory proper)121と、入力/エンコーダ回路10、評価回路14、および読み取り/デコーダ回路16のすべてにメモリプロパ121へのアクセスを提供するマルチプレクサ120とを含んでいる。
操作中、読み取り/デコーダ回路16が使用されて、データをフラッシュメモリ回路12から読み取り、そのデータを、出力回路18によってレンダリングされる音声および/またはビデオ信号などを決定する信号に変換する。読み取り/デコーダ回路16は、ECC(誤り訂正符号)によって復号することによって、フラッシュメモリ回路12からのデータの誤りの訂正を実行する。通常、ECCで符号化されたデータは、実際のデータのコピーに加えて、追加のパリティ記号を備える。この場合、誤り訂正復号は、データとパリティ記号との組み合わせがECCのコードワードであるかどうかを決定し、そうでない場合、ECCから最も近いコードワードを決定することを伴い、この場合、その最も近いコードワードからのデータが使用される。この復号プロセスでは、最も近いコードワードは、例えば、データとパリティ記号との取り出された組み合わせからいくつかのシンドロームを計算し、計算されたシンドロームに応じて訂正を生成することによって決定される。しかし、本発明から逸脱することなく、他のタイプの復号が、例えばコードワードがデータのコピーを含んでいない非体系的コードの復号などに使用されても良い。
入力/エンコーダ回路10は、後で読み取るために、データをフラッシュメモリ回路12に書き込む。通常、データは、出力回路18で応答するのに必要とされるよりかなり速いデータ転送速度で、例えばインターネットを介して別の記憶装置からダウンロードされる。入力/エンコーダ回路10は、通常、受信データのパリティ記号を計算し、追加することによって、データをECCに符号化する。入力/エンコーダ回路10は、後で読み取るために、符号化されたデータ(例えば元のデータに加えてパリティ記号)をフラッシュメモリ回路12に書き込む。しかし、本発明から逸脱することなく、例えば、冗長パリティ記号を追加することに限定されず、データのコピーを必ずしも含まないコードワードにデータをマッピングすることを含む非体系的コードを使用する他のタイプの符号化が使用されても良い。
フラッシュメモリ回路12に書き込み、そこから読み取るために使用されるECCは、メモリの質に応じて動的に選択される。データのブロックを読み取る際のビット誤り数は、通常、メモリが摩耗するにつれて、時間に応じて増える。予測ビット誤り数は、使用可能な異なるいくつかのECCのうちのどれが使用されるかを選択するために使用される。予測される誤りが多ければ多いほど、選択されるECCはより「重く」なり、すなわち、ECCの訂正能力と必要な計算時間との間の比率が高くなる。
評価回路14は、誤り数の予測を提供する任意の便利な方法を使用しても良い。一実施形態では、例えば、評価回路14は、フラッシュメモリ回路12から定期的にデータを読み取り(または読み取り/デコーダ回路16によって読み取られたデータを監視し)、ECC復号の結果を使用して誤りを検出し、検出された誤りの頻度は、将来の誤り率の予測として使用される。別の実施形態では、評価ユニット14は、誤ったビット読み出しの可能性を決定するために、メモリセルからの出力信号のアナログレベルを、ビット読み出しに必要なものより高い精度で測定しても良い。これらの技術と他の技術との組み合わせが使用されても良い。通常、誤り率は、関連の各領域の前の使用に依存することがあるので、評価ユニット14は、メモリのそれぞれの異なる領域(本明細書では、領域は、例えばメモリマトリックスの行、または一緒にしか消去できないセルのブロックである)についてそれぞれ予測する。評価回路14は、度重なる品質評価を、通常は周期的に行うが、好ましくは特定の領域がダウンロードされたデータを書き込むことができるようにされる少なくとも前に、特定の領域ごとに行う。
入力/エンコーダ回路10は、通常、異なるいくつかのECCのうちの選択可能な1つによって符号化を行うように構成されている。例えば、いくつかのバージョンのハミング符号またはソロモン符号であって、おそらく相互に異なるワードサイズやパリティビット数を有するこれらのタイプの符号の複数のバージョンや、行と列とに任意のECCを使用する積符号を使用するものなど、既知のECCが使用されても良い。相互に異なるパラメータを含むリードソロモン符号の様々なバージョン間、および/またはハミングコードの様々なバージョン間で選択が行われても良く、それによって計算の量と誤りに対する頑強さとを変えることもできる。リードソロモン符号は、通常、ハミング符号より多くの誤りを訂正することができるが、データを符号化(パリティ記号を決定するため)し、かつ/またはデータを復号するため(シンドロームと関連の訂正とを決定するため)に、より多くの計算も必要とする。入力/エンコーダ回路10は、増加する計算要件に従って使用可能なECCをランク付けする(ランキングにおけるECCは、ランキングにおいてより高い計算要件を有する各ECCがより高い誤り訂正能力も有するように選択される)。読み取り前に、入力/エンコーダ回路10は、評価回路14から予測誤り率についての情報を取り出し、この情報に応じて符号に使用されるECCを選択する。事実上、考え得る予測誤り率の範囲は、連続する下位範囲に分割され、下位範囲はそれぞれ、ランキング中のそれぞれのECCに関連付けられ、したがってより高いランクの(より計算量が多い)ECCは、より高い予測誤り率に関連付けられる。入力/エンコーダ回路10は、予測誤り率に関連付けられているECCによって、入ってくるデータを符号化する。したがって、より計算量が多いECCは、予測誤り率がより高いときに使用される。入力/エンコーダ回路10は、復号中に後の使用のために使用されたECCを識別する情報を格納する。通常、この情報は、データ(例えば、何らかの所定の重さのあるECCの使用によって、誤りから保護されている)が格納されるメモリ領域に関連してメモリ回路12に格納されるか、別個のメモリ(図示せず)に格納される。
通常、メモリ回路12の異なる領域の異なる予測誤り率についての情報が使用可能である。この場合、入力/エンコーダ回路10は、好ましくは、領域ごとに許容された最も軽量のECC(本明細書では、領域は、例えば、メモリマトリックスのそれぞれの行、または一緒に消去されるメモリセルのブロックである)を選択して、ECCを領域ベースで適応させる。
データの高速ダウンロードの場合、選択されたECCは、ダウンロード速度に影響を与える。平均して、連続するデータブロックは、ECC符号化データの計算を考慮に入れた速度でしか送信できない。好ましくは、入力/デコーダ回路10は、次のデータブロックの符号化を実行するその準備によってデータのソースを減速する何らかの機構体を有する。例えば、リクエスト/アクノレッジハンドシェーク機構体(request/acknowledge handshake mechanism)、または再試行要求機構体(request for retry mechanism)が使用されても良い。ある範囲まで、ダウンロード速度を減速するこの必要性は、ECC符号化データを、より誤る傾向が大きいメモリ回路122に書き込む前に、入ってくるデータを低誤りバッファメモリ(low error buffer memory)(図示せず)にバッファリングすることによって軽減され得る。SRAMやDRAMメモリなどの別個のバッファ、または低い予測誤り率を有するメモリ122の一部が使用されても良い。しかし、音声データまたはビデオデータにはよくある、長いダウンロードファイルが伴うとき、この手法は、実行可能なバッファサイズによって制限される。入ってくるデータの平均速度は、ECC符号化速度に一致しなければならない。
(パリティ記号の計算など)選択されたECCによる符号化は、メモリ回路122のその最終的な領域に格納され、後で取り出されるデータに対しては実行できないことを理解されたい。取り出しの後、データは、誤りの傾向にある。したがって、符号化は、本質的にデータが受信されるときに行われなければならない。当然、開示された実施形態は、単に一例にすぎず、多くの代替が存在することも理解されたい。例えば、本発明から逸脱することなく、格納されているECC符号化データは、「より重い」ECCを使用して後で取り出され、符号化されても良い。これは、元のECCが予測された数の誤りを訂正できるほど強い限り、誤りの危険性があまり無く行われ得る。このように、より強いECCは、読み取りのために使用されても良く、メモリの後の摩耗から守る。使用されたすべてのECCがデータのコピーとパリティ記号とを提供する場合、いくつかのECCがこのように並列に使用されても良い。別の例として、評価回路14は、メモリ回路122のある領域をテストし、その領域に書き込む前に発行される入力/エンコーダ回路10からの要求に応じて、その誤り率を予測するように設計されていても良い。この場合、評価についての情報は、未確定時に後で使用するために格納される必要はない。誤り率についての情報は、誤り率に比例した数の形を取っても良いが、代わりに、評価ユニットは、必要なECCによって誤り率を分類する情報を使用することによって、ECCを効果的に選択しても良い。
さらに、高速ダウンロードのためのECCの選択の例が使用されているが、(例えば「生の」音声および/またはビデオデータなどの)より低速の記録時のECCを選択することも意味があり得ることを理解されたい。この場合、符号化のための計算時間は、関連がないかもしれないが、アップロードのためにメモリ回路122からの高速読み取りが容易にされるように、予測誤り率と一致するのと同じぐらい軽いECCを使用することが有用となることがある。計算量が最も少ないECCの使用は、消費電力を最低限に抑え、携帯用の音声および/またはビデオ機器の電池寿命を延ばすため、これは、データレート(data rate)が固定されている場合でさえ、有利となることがある。代替の実施形態において、そのデータは、同じデータに複数のECCを使用して格納され、したがって、読み取り/デコーダ回路16は、復号に最も便利なECCを選択することができる。好ましくは、入力/エンコーダ回路10は、データを所定のサイズのブロックに分割し、各データブロックを所定のサイズのメモリユニットに書き込み、そこでブロックは、任意のECCによる最大量の追加データ(パリティ記号など)のために十分な空間を残しており、したがって、メモリユニットサイズは、実際に使用されるECCに関係ない。このように、取り出し時のアドレス指定は、選択されたECCに関係なく行われることができ、任意選択で、データブロックを移動することなく、ECCが後で変更されても良い。
再生時、読み取り/デコーダ回路16は、符号化に使用されたECCを識別する情報を読み出し、メモリ回路12からデータを読み出し、識別されたECCによってデータを復号する。通常、再生速度が非常に遅いので、復号の計算オーバーヘッドは、再生速度についての問題を引き起こさない。別の実施形態では、格納されたデータが後でより重いECCで再符号化され、読み取り/デコーダ回路16は、より重いECCを使用する。この場合、再符号化が行われる前にデータが読み取られるときのみ、動的に選択されたECCが使用される。
いくつかの用途では、読み取り/デコーダ回路16は、例えば、メモリ回路122がデータのソースとして機能する別のダウンロード中に、データを高速で送信するために使用されても良い。この場合、復号に使用されるECCは、ダウンロード速度を制限することがある。1つの選択されたECC(好ましくはメモリ領域当たり1つのECC)により入力/エンコーダ回路によってデータが書き込まれ、符号化されたとき、読み取り/デコーダ回路16は、このECCを識別する情報にアクセスし、識別されたECCが使用される。この場合、このECCは、ダウンロード速度に影響を与えることがある。あるいは、データがメモリ回路122に格納され、複数のECCで符号化されたとき、読み取り/デコーダ回路16は、評価回路14に対してクエリを行って、最新の予測誤り率についての情報を取得し、この速度で誤りを訂正することができる計算量が最も少ないECCを選択しても良い。これは、領域ベースで1つの領域上で行われても良く、したがって、異なるECCが異なるメモリ領域に使用されるようにしても良い。選択されたECCは、データを復号するために使用される。このように、最大ダウンロード速度が実現され得る。
ECC復号は誤りのない復号を保証しないことを理解されたい。したがって、選択されたECCは、誤りが起こらないはずだという要件に従っては選択されない。むしろ、データが格納されるメモリ回路12の領域の予測誤り率が与えられた場合、所定の復号後誤り率しか生成しない最速の実施可能なECCが使用されるべきであるという基準が好ましい。例外的な状況下では、却下する速度の問題が重いECCの使用を防ぐ場合、デコーダまたはエンコーダは、より速いECCに切り替えることさえあり得る。
個々の入力/エンコーダ回路10、評価回路14、および読み取り/デコーダ回路16が示されているが、これらの機能は、実際には、1つの回路を使用して実施されても良く、または、異なる方法で異なる回路にわたって分散されていても良いことを理解されたい。適切にプログラムされたプログラム可能プロセッサは、符号化と復号とに使用されても良く、または、例えば、符号化と復号とのための適切にプログラムされた単一のプロセッサが使用されても良い。同様に、評価回路14は、おそらく符号化および/または復号に使用されるものと同じ、適切にプログラムされたプロセッサでも良い。プログラムは、固定的にプログラムされても良く、またはディスクやインターネット信号など、コンピュータプログラムを使用してロードされても良い。図2は、プログラムメモリ22から評価、ECCの選択、符号化および復号の機能を実行するプログラムを実行するためにプログラム可能プロセッサ20が設けられている回路の一例を示している。
記憶及び再生装置を示す図である。 別の記憶及び再生装置を示す図である。

Claims (15)

  1. データ記憶及び再生装置であって、
    ・記憶媒体(122)と、
    ・使用中の前記記憶媒体(122)の性能の測定値に基づいて、前記記憶媒体(122)のある領域からの取り出しの誤り率の予測についての情報を生成するように構成されている誤り率評価ユニット(14)と、
    ・受信データのECCへの符号化を行った後で前記符号化された受信データを前記領域に格納するエンコーダ(10)であって、前記誤り率評価ユニット(14)からの前記情報によって前記ECCを適応的に選択するエンコーダ(10)と
    を含むデータ記憶及び再生装置。
  2. 前記選択されたECCによって前記受信データの受信の速度を適応させるように構成されている入力回路(10)を有する請求項1に記載のデータ記憶及び再生装置。
  3. 前記情報が与えられると、所定の復号後誤り率しか生成しないと予測される、最速の符号化可能なECCが、選択されるように、使用可能な複数のECCから前記ECCが選択される請求項1に記載のデータ記憶及び再生装置。
  4. 前記領域から前記データを読み出すとともに、前記領域のために前記選択されたECCを示す情報を読み出し、且つ、前記示されたECCによって前記領域からの前記データを復号するように構成されているデコーダ回路(16)を備える請求項1に記載のデータ記憶及び再生装置。
  5. 音声および/またはビデオの再生に使用するために、復号されたデータを少なくとも所定の再生レートで出力する出力(18)を有する請求項4に記載のデータ記憶及び再生装置。
  6. 前記記憶媒体(122)が複数の領域を備え、前記誤り率評価ユニット(14)が、前記領域のうちのそれぞれの領域についてのそれぞれの情報を評価し、前記エンコーダ(10)が、特定の領域についての前記情報によって、特定の領域ごとに前記ECCを選択する請求項1に記載のデータ記憶及び再生装置。
  7. 前記記憶媒体がフラッシュメモリ回路(122)である請求項1に記載のデータ記憶及び再生装置。
  8. データ記憶及び送信装置であって、
    ・記憶媒体(122)と、
    ・使用中の前記記憶媒体(122)の性能の測定値に基づいて、前記記憶媒体(122)のある領域からの取り出しの誤り率の予測についての情報を生成するように構成されている、誤り率評価ユニット(14)と、
    ・前記記憶媒体(122)のある領域から取り出されるデータの復号を1つのECCによって行うデコーダ(16)であって、前記誤り率評価ユニット(14)からの前記情報によって複数の使用可能なECCから前記ECCを選択するデコーダ(16)と
    を備えるデータ記憶及び送信装置。
  9. 前記選択されたECCによって、前記取り出され、復号されたデータの送信の速度を適応させるように構成されている出力回路(16)を有する請求項8に記載のデータ記憶及び送信装置。
  10. 誤り率評価ユニット(14)からの前記情報によって適応的に選択される、前記ECCのうちの選択されたECCによって最初に符号化された前記データを格納するように構成されているエンコーダ回路(10)を備える請求項8に記載のデータ記憶及び送信装置。
  11. 取り出し、復号するための前記データを格納し、したがって前記データが前記複数のすべてのECCによって符号化されるように構成されているエンコーダ回路(10)を備える請求項8に記載のデータ記憶及び送信装置。
  12. 前記記憶媒体がフラッシュメモリ回路(122)である請求項8に記載のデータ記憶及び送信装置。
  13. データを記憶媒体(122)に書き込む方法であって、
    ・使用中に前記記憶媒体(122)の性能の測定値を収集することと、
    ・前記測定値に基づいて、前記記憶媒体(122)のある領域からの取り出しの誤り率の予測についての情報を生成することと、
    ・エンコーダ(10)によってサポートされている複数のECCから1つのECCを選択することであって、前記選択が前記生成された情報に応じて適応可能であることと、
    ・受信データを前記エンコーダ(10)により前記選択されたECCに符号化した後で前記符号化された受信データを前記領域に格納することと
    を備える方法。
  14. データを記憶媒体から読み出す方法であって、
    ・使用中に前記記憶媒体(122)の性能の測定値を収集することと、
    ・前記測定値に基づいて、前記記憶媒体(122)のある領域からの取り出しの誤り率の予測についての情報を生成することと、
    ・デコーダ(16)によってサポートされている複数のECCから1つのECCを選択することであって、前記選択が前記生成された情報に応じて適応可能であることと、
    ・受信データを前記選択されたECCによって前記デコーダ(16)により復号した後で前記符号化された受信データを前記領域に格納することと
    を備える方法。
  15. プログラム可能コンピュータ(20、22)にロードされると、前記コンピュータ(20、22)に、請求項13および/または14に記載の前記方法を実行させる機械命令を備えるコンピュータプログラム。
JP2007524441A 2004-08-02 2005-07-22 データ記憶及び再生装置 Pending JP2008508632A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04103711 2004-08-02
PCT/IB2005/052475 WO2006013529A1 (en) 2004-08-02 2005-07-22 Data storage and replay apparatus

Publications (2)

Publication Number Publication Date
JP2008508632A true JP2008508632A (ja) 2008-03-21
JP2008508632A5 JP2008508632A5 (ja) 2008-09-18

Family

ID=35395570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007524441A Pending JP2008508632A (ja) 2004-08-02 2005-07-22 データ記憶及び再生装置

Country Status (5)

Country Link
US (1) US8402325B2 (ja)
EP (1) EP1776699A1 (ja)
JP (1) JP2008508632A (ja)
CN (1) CN101031971A (ja)
WO (1) WO2006013529A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537055A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド 適応能力を有するメモリ素子
JP2009537904A (ja) * 2006-05-15 2009-10-29 サンディスク コーポレイション 最終期を計算する不揮発性メモリシステム
JP2010092574A (ja) * 2008-10-12 2010-04-22 Kyoto Software Research Inc フラッシュファイルシステムの誤り訂正機能
JP2011525655A (ja) * 2008-06-24 2011-09-22 サンディスク アイエル リミテッド ソリッドステートメモリの消去カウントにしたがってエラー修正をする方法および装置
JP2012118839A (ja) * 2010-12-02 2012-06-21 Fujitsu Ltd アクセス制御装置、誤り訂正制御方法およびストレージ装置
JP2013542533A (ja) * 2010-10-27 2013-11-21 エルエスアイ コーポレーション フラッシュメモリベースのデータ記憶のための順応ecc技術
US8707134B2 (en) 2010-12-24 2014-04-22 Kabushiki Kaisha Toshiba Data storage apparatus and apparatus and method for controlling nonvolatile memories
JP2014517970A (ja) * 2011-05-26 2014-07-24 メモライト (ウハン) カンパニー,リミテッド フラッシュメモリのエラー予測モジュール及びエラー予測方法
US9021183B2 (en) 2010-12-24 2015-04-28 Kabushiki Kaisha Toshiba Data storage apparatus and apparatus and method for controlling nonvolatile memories
WO2016051599A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 メモリコントローラ及びデータ制御方法
US9761326B2 (en) 2015-07-29 2017-09-12 Toshiba Memory Corporation Memory system and memory control method

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7810017B2 (en) * 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
US7778077B2 (en) 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
US7523013B2 (en) 2006-05-15 2009-04-21 Sandisk Corporation Methods of end of life calculation for non-volatile memories
US7844878B2 (en) 2006-08-09 2010-11-30 Microsoft Corporation Dynamic electronic correction code feedback to extend memory device lifetime
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
US8171380B2 (en) * 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
US7900118B2 (en) 2007-02-12 2011-03-01 Phison Electronics Corp. Flash memory system and method for controlling the same
US8122323B2 (en) * 2007-03-08 2012-02-21 Intel Corporation Method, apparatus, and system for dynamic ECC code rate adjustment
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
KR100852193B1 (ko) * 2007-05-02 2008-08-13 삼성전자주식회사 오류 제어 코드 장치 및 그 방법
US8006166B2 (en) 2007-06-12 2011-08-23 Micron Technology, Inc. Programming error correction code into a solid state memory device with varying bits per cell
US7747903B2 (en) * 2007-07-09 2010-06-29 Micron Technology, Inc. Error correction for memory
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
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
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8429492B2 (en) 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
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
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
CN101499325B (zh) * 2008-02-03 2012-10-03 深圳艾科创新微电子有限公司 一种具有可变纠错能力的非易失性存储***及方法
KR101497073B1 (ko) * 2008-02-29 2015-03-02 삼성전자주식회사 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치
US8724381B2 (en) 2008-03-11 2014-05-13 Agere Systems Llc Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
JP5141606B2 (ja) * 2008-03-26 2013-02-13 セイコーエプソン株式会社 印刷装置
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
KR101466695B1 (ko) * 2008-04-30 2014-12-01 삼성전자주식회사 멀티 비트 레벨 데이터의 부호화 및 복호화 방법
US8321757B2 (en) * 2008-06-22 2012-11-27 Sandisk Il Ltd. Method and apparatus for error correction
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
JP5544712B2 (ja) * 2008-12-26 2014-07-09 富士通株式会社 メモリの寿命検出装置及び方法
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
US8560918B1 (en) * 2009-04-21 2013-10-15 Marvell International Ltd. Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system
FR2945393B1 (fr) * 2009-05-07 2015-09-25 Commissariat Energie Atomique Procede de protection de circuits electroniques, dispositif et systeme mettant en oeuvre le procede
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8321727B2 (en) * 2009-06-29 2012-11-27 Sandisk Technologies Inc. System and method responsive to a rate of change of a performance parameter of a memory
US8615700B2 (en) 2009-08-18 2013-12-24 Viasat, Inc. Forward error correction with parallel error detection for flash memories
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
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
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
US8400854B2 (en) * 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
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
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
CN102098130A (zh) * 2009-12-15 2011-06-15 意法半导体研发(深圳)有限公司 具有高速度和高可靠性的高效动态传输
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8341502B2 (en) 2010-02-28 2012-12-25 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US9104610B2 (en) 2010-04-06 2015-08-11 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
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8799747B2 (en) * 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8533550B2 (en) * 2010-06-29 2013-09-10 Intel Corporation Method and system to improve the performance and/or reliability of a solid-state drive
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US8775868B2 (en) * 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8892809B2 (en) 2010-10-25 2014-11-18 Marvell World Trade Ltd. Data compression and encoding in a memory system
EP2447842A1 (en) * 2010-10-28 2012-05-02 Thomson Licensing Method and system for error correction in a memory array
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
WO2012074567A1 (en) * 2010-11-29 2012-06-07 Sandisk Il Ltd. Reduction of power consumption for data error analysis
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
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
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
EP2689332B1 (en) 2011-03-24 2017-01-04 SanDisk IL Ltd. Parallelization of error analysis circuitry for reduced power consumption
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
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
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
CN102231284A (zh) * 2011-06-02 2011-11-02 孙飞 一种降低闪存芯片数据写操作功耗的方法
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
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
US8862967B2 (en) * 2012-03-15 2014-10-14 Sandisk Technologies Inc. Statistical distribution based variable-bit error correction coding
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
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
JP2014035673A (ja) * 2012-08-09 2014-02-24 Renesas Electronics Corp 半導体記憶装置及び方法
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
JP5800287B2 (ja) * 2012-10-22 2015-10-28 カシオ計算機株式会社 電子機器、動画再生装置、動画デコード方法、及びプログラム
US8990641B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on history
US9384002B2 (en) 2012-11-16 2016-07-05 International Business Machines Corporation Speculative finish of instruction execution in a processor core
US8990640B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
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
US9058260B2 (en) 2013-04-04 2015-06-16 International Business Machines Corporation Transient condition management utilizing a posted error detection processing protocol
CN104182292A (zh) * 2013-05-21 2014-12-03 华为技术有限公司 一种数据存储方法及装置
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
CN105531768B (zh) * 2013-08-30 2019-12-31 英派尔科技开发有限公司 闪存中功率消耗的减小
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
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
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
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US20160041762A1 (en) * 2014-08-08 2016-02-11 Kabushiki Kaisha Toshiba Memory system, host device and information processing system
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9595979B2 (en) 2015-01-20 2017-03-14 International Business Machines Corporation Multiple erasure codes for distributed storage
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
US9378049B1 (en) 2015-02-12 2016-06-28 Amazon Technologies, Inc. Servicing I/O requests in an I/O adapter device
US10049001B1 (en) * 2015-03-27 2018-08-14 Amazon Technologies, Inc. Dynamic error correction configuration
US9886405B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Low latency write requests over a network using a pipelined I/O adapter device
US9940284B1 (en) 2015-03-30 2018-04-10 Amazon Technologies, Inc. Streaming interconnect architecture
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9864538B1 (en) 2015-06-25 2018-01-09 Amazon Technologies, Inc. Data size reduction
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
CN108683426B (zh) * 2018-05-18 2022-08-26 中国科学院微电子研究所 一种基于bch码的ecc***及存储器
US11880277B2 (en) 2019-09-25 2024-01-23 Advanced Micro Devices, Inc. Selecting an error correction code type for a memory device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61338U (ja) * 1984-06-06 1986-01-06 クラリオン株式会社 復号装置
JPH06187248A (ja) * 1992-12-16 1994-07-08 Nec Corp データエラー検出訂正制御回路
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
JP2001195844A (ja) * 2000-01-12 2001-07-19 Matsushita Electric Ind Co Ltd 磁気記録再生装置
JP2002091831A (ja) * 2000-09-12 2002-03-29 Hitachi Ltd データ処理システム及びデータ処理方法
JP2003131954A (ja) * 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法
JP2004164634A (ja) * 2002-10-28 2004-06-10 Sandisk Corp 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3934462A (en) * 1974-09-06 1976-01-27 American Hospital Supply Corporation Automatic computing ocular tonometer system
CA1235189A (en) * 1985-01-14 1988-04-12 Haruhiko Akiyama Error correction encoding system
JP2554743B2 (ja) * 1989-05-19 1996-11-13 シャープ株式会社 再生のための誤り訂正装置
US5887115A (en) * 1993-01-13 1999-03-23 Hitachi America, Ltd. Method and apparatus for implementing a video tape recorder for recording digital video signals having either a fixed or variable data transmission rate
SE502576C2 (sv) * 1993-11-26 1995-11-13 Ellemtel Utvecklings Ab Feltolerant kösystem
SE9601606D0 (sv) * 1996-04-26 1996-04-26 Ericsson Telefon Ab L M Sätt vid radiotelekommunikationssystem
US5983766A (en) * 1997-10-14 1999-11-16 Johnson; Michael J. Steel rule cutting die with removable cutting units and method for using same
US6405277B1 (en) * 1998-11-06 2002-06-11 International Business Machines Corporation Method and system for writing data to a magnetic storage device in a relatively cold or hot environment
US6651213B2 (en) * 2001-03-19 2003-11-18 International Business Machines Corporation Programmable multi-level track layout method and system for optimizing ECC redundancy in data storage devices
US6857097B2 (en) * 2001-05-16 2005-02-15 Mitsubishi Electric Research Laboratories, Inc. Evaluating and optimizing error-correcting codes using a renormalization group transformation
US7290184B2 (en) * 2001-08-23 2007-10-30 Seagate Technology Llc Emulation system for evaluating digital data channel configurations
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61338U (ja) * 1984-06-06 1986-01-06 クラリオン株式会社 復号装置
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JPH06187248A (ja) * 1992-12-16 1994-07-08 Nec Corp データエラー検出訂正制御回路
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
JP2001195844A (ja) * 2000-01-12 2001-07-19 Matsushita Electric Ind Co Ltd 磁気記録再生装置
JP2002091831A (ja) * 2000-09-12 2002-03-29 Hitachi Ltd データ処理システム及びデータ処理方法
JP2003131954A (ja) * 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
JP2004164634A (ja) * 2002-10-28 2004-06-10 Sandisk Corp 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537055A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド 適応能力を有するメモリ素子
JP2009537904A (ja) * 2006-05-15 2009-10-29 サンディスク コーポレイション 最終期を計算する不揮発性メモリシステム
JP2011525655A (ja) * 2008-06-24 2011-09-22 サンディスク アイエル リミテッド ソリッドステートメモリの消去カウントにしたがってエラー修正をする方法および装置
JP2010092574A (ja) * 2008-10-12 2010-04-22 Kyoto Software Research Inc フラッシュファイルシステムの誤り訂正機能
JP2013542533A (ja) * 2010-10-27 2013-11-21 エルエスアイ コーポレーション フラッシュメモリベースのデータ記憶のための順応ecc技術
JP2012118839A (ja) * 2010-12-02 2012-06-21 Fujitsu Ltd アクセス制御装置、誤り訂正制御方法およびストレージ装置
US8707134B2 (en) 2010-12-24 2014-04-22 Kabushiki Kaisha Toshiba Data storage apparatus and apparatus and method for controlling nonvolatile memories
US9021183B2 (en) 2010-12-24 2015-04-28 Kabushiki Kaisha Toshiba Data storage apparatus and apparatus and method for controlling nonvolatile memories
JP2014517970A (ja) * 2011-05-26 2014-07-24 メモライト (ウハン) カンパニー,リミテッド フラッシュメモリのエラー予測モジュール及びエラー予測方法
WO2016051599A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 メモリコントローラ及びデータ制御方法
US10067828B2 (en) 2014-10-03 2018-09-04 Hitachi, Ltd. Memory controller and data control method
US9761326B2 (en) 2015-07-29 2017-09-12 Toshiba Memory Corporation Memory system and memory control method

Also Published As

Publication number Publication date
US8402325B2 (en) 2013-03-19
EP1776699A1 (en) 2007-04-25
US20090150748A1 (en) 2009-06-11
WO2006013529A1 (en) 2006-02-09
CN101031971A (zh) 2007-09-05

Similar Documents

Publication Publication Date Title
JP2008508632A (ja) データ記憶及び再生装置
US8578246B2 (en) Data encoding in solid-state storage devices
JP2008508632A5 (ja)
US6662334B1 (en) Method and device for performing error correction on ECC data sectors
US20190079836A1 (en) Predictive memory maintenance
US8621328B2 (en) Wear-focusing of non-volatile memories for improved endurance
US8479062B2 (en) Program disturb error logging and correction for flash memory
US8024640B2 (en) Read/write channel coding and methods for use therewith
US10860420B2 (en) Method and system for mitigating read disturb impact on persistent memory
US10193579B2 (en) Storage control device, storage system, and storage control method
JP2011060217A (ja) データ蓄積装置及びデータ書込み/読出し方法
JP2005500730A (ja) 復号器に情報が与えられる場合の改良された符号化
JP4300462B2 (ja) 情報記録再生方法及び装置
JP4988418B2 (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
TW201419273A (zh) 用於硬式決定基礎的軌道間干擾消除之系統與方法
JP2003208360A (ja) 一時記憶のための不揮発性メモリを含むライトワンスメモリデバイス
US8937778B1 (en) Methods and apparatus for performing track-level based data coding
KR102479236B1 (ko) 공유 데이터 통계치를 사용한 콘텐츠 인식 디코딩
KR101460240B1 (ko) 메모리 기반 저장 장치 및 그것의 블록 관리 기법
TWI533296B (zh) 光學讀取器系統,解碼資料之方法及用於多個通道光學讀取器之解碼方法
KR100604934B1 (ko) 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
KR20210010807A (ko) 비휘발성 메모리의 불량 행 관리를 수행하는 메모리 시스템 및 이의 동작 방법
TWI541818B (zh) 於記憶體陣列編碼資料之技術
JP2003242728A5 (ja)
KR20150050332A (ko) 내부 디스크 드라이브 데이터 압축을 위한 시스템 및 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080718

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120706