JP2013516000A - メモリ装置における制御データの誤り訂正システムおよび方法 - Google Patents

メモリ装置における制御データの誤り訂正システムおよび方法 Download PDF

Info

Publication number
JP2013516000A
JP2013516000A JP2012545985A JP2012545985A JP2013516000A JP 2013516000 A JP2013516000 A JP 2013516000A JP 2012545985 A JP2012545985 A JP 2012545985A JP 2012545985 A JP2012545985 A JP 2012545985A JP 2013516000 A JP2013516000 A JP 2013516000A
Authority
JP
Japan
Prior art keywords
data
control data
compressed
ecc
parity
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
JP2012545985A
Other languages
English (en)
Other versions
JP5698260B2 (ja
Inventor
パブロ ユーゾラ,ダミアン
ナーガビラバ,ラジーブ
カプール,アルジュン
ドロー,イタイ
チ−サン チャン,アニー
ホワン,ピーター
チェン,ジアン
Original Assignee
サンディスク テクノロジィース インコーポレイテッド
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 サンディスク テクノロジィース インコーポレイテッド filed Critical サンディスク テクノロジィース インコーポレイテッド
Publication of JP2013516000A publication Critical patent/JP2013516000A/ja
Application granted granted Critical
Publication of JP5698260B2 publication Critical patent/JP5698260B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/403Error protection encoding, e.g. using parity or ECC codes

Landscapes

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

Abstract

メモリアレイへ結合されたコントローラは、誤り訂正コード(ECC)エンジンと、ECCエンジンへ結合されたECC強化圧縮モジュールとを備える。ECC強化圧縮モジュールは、ECCエンジンへ提供されて符号化される制御データを受信しかつ圧縮するように構成される。ECCエンジンで生成された圧縮済み符号化済み制御データはコードワードとしてメモリアレイに蓄積される。

Description

本発明は、一般的にはメモリ装置における制御データの誤り訂正に関する。
多くの場合、データをメモリに書き込む過程では、コードワードを形成するためにデータが余分のビットにより符号化される。ノイズが存在するとコードワードを表すビットの一部が変化し、誤りによって元のコードワードが壊れることがある。メモリからコードワードを読み取るときには、復号器を使用し誤り訂正コード(ECC)により誤りを特定し訂正する。例えば、ビット誤りが無相関となりがちな用途ではボース・チョドーリ・オッケンジェム(BCH)、低密度パリティ検査(LDPC)、リード・ソロモン、およびターボ符号方式が一般的に使用される。
ECCアルゴリズムのハードウェアおよびソフトウェアの実施例は通常、一定の長さのデータにわたって一定量の誤りを訂正しうるように規定されている。記憶媒体から返されるデータの誤りがECCエンジンで訂正可能な誤りより多いと、復号化されたデータは当初蓄積されたデータと一致しなくなる。メモリ装置のECCエンジンの誤り訂正能力が向上すればメモリ装置の信頼性も向上しうる。
メモリ装置のECCエンジンの誤り訂正能力を向上させうる誤り訂正コード(ECC)強化圧縮モジュールが開示される。ECC強化圧縮モジュールは、制御データが符号化される前に制御データを圧縮することにより、ECCエンジンで符号化され復号化される必要がある制御データビット数を減らして制御データの誤り訂正を強化する。制御データに相当するビットの数が減ればECCエンジンで訂正すべきビットが減り、制御データが圧縮されない場合より多くの誤りを訂正できる。その結果、ECCエンジンの有効誤り訂正能力は向上する。
誤り訂正コード(ECC)強化圧縮モジュールを備えるメモリ装置を含むシステムの特定の例示的な実施形態のブロック図である。 ECC強化圧縮モジュールを備えるメモリ装置を含むシステムの第2の例示的な実施形態のブロック図である。 制御データ、および圧縮されかつ符号化された制御データを含むフォーマット済みデータワードの例示的な実施形態のブロック図である。 圧縮されかつ符号化された制御データを含むフォーマット済みデータワードの第2の例示的な実施形態のブロック図である。 メモリ装置で制御データの誤り訂正を強化する方法の例示的な実施形態の流れ図である。 メモリ装置で制御データの誤り訂正を強化する方法の第2の例示的な実施形態の流れ図である。
図1にはECC強化圧縮モジュール110を含むシステムの特定の一実施形態が描かれている。このシステムは全体的に100と呼ばれる。システム100は、メモリ装置104へ結合されたホスト装置102を含む。メモリ装置104は、メモリアレイ108へ結合されたコントローラ106を含む。コントローラ106は、ECCエンジン112へ結合されたECC強化圧縮モジュール110を含む。ECC強化圧縮モジュール110は、制御データ144を圧縮し、かつ圧縮済み制御データ140をECCエンジン112へ提供するように構成され、ECCエンジン112へ提供された圧縮済み制御データ140はコードワード160として符号化され、メモリアレイ108に蓄積される。符号化に先立ち制御データ144を圧縮することにより、ECCエンジン112の符号化による圧縮済み制御データ140の有効誤り訂正率は、圧縮されていない制御データ144の符号化に比べて向上する。
ECC強化圧縮モジュール110は、符号化のためにECCエンジン112へ提供される制御データ144を受信し、かつ圧縮するように構成される。例えば、ECC強化圧縮モジュール110は、制御データ144の圧縮を行うために圧縮ソフトウェアを実行するプロセッサを含み、このプロセッサは、例えば「zlib」圧縮アルゴリズムまたは1つ以上の他のアルゴリズムを実行する。圧縮モジュール110は専用のハードウェア圧縮回路によって加速できる。ECC強化圧縮モジュール110は、圧縮済み制御データ140をECCエンジン112へ提供するように構成されうる。加えて、ECC強化圧縮モジュール110は、ホスト装置102からユーザデータ145を受信するように構成されうる。ECC強化圧縮モジュール110は、ユーザデータ145の圧縮を遂行し、かつ圧縮済みユーザデータ141をECCエンジン112へ提供するように構成され、ECCエンジン112へ提供された圧縮済みユーザデータ141は符号化され、メモリアレイ108に蓄積される。
ECCエンジン112は、入力データ(例えば、圧縮済み制御データ140)を受信し、かつ入力データを符号化したものに相当する1つ以上のコードワード(例えば、コードワード160)を生成する回路を含みうる。例えば、ECCエンジン112は、リード・ソロモン符号、BCH符号、低密度パリティ検査(LDPC)符号、1つ以上の他の誤り検出訂正符号、またはこれらの任意の組み合わせを利用するように構成されうる。ECCエンジン112は専用のハードウェア回路によって実行されるものとして説明するが、ECCエンジン112は他の実施形態において1つ以上のプロセッサを含んでよく、このプロセッサは、符号化または復号化機能の少なくとも一部分を遂行するための実行可能な命令を実行する。
メモリアレイ108はコントローラ106に反応し、コントローラ106からの命令に応じてデータを蓄積し、かつ取り出しうる。例えば、メモリアレイ108は、コントローラ106に反応し、メモリアレイ108でデータ書き込み操作を遂行しうる。例えば、ECCエンジン112から受信されるコードワード160は、コントローラ106からのデータ書き込み操作としてメモリアレイ108へ提供されうる。コードワード160はメモリアレイ108に蓄積され、後ほどコントローラ106によって取り出されうる。メモリアレイ108はフラッシュメモリ等の不揮発性メモリであってよい。
ホスト装置102はメモリ装置104に対し外部の装置であってよい。例えば、ホスト装置102は携帯電話機等の可搬形電子装置であってよく、メモリ装置104はホスト装置102へ結合されたかまたはホスト装置102の中に設置されたフラッシュメモリカードであってよい。
ホスト装置102は作動中にメモリアレイ108に蓄積されるユーザデータ145をメモリ装置104へ提供しうる。ユーザデータ145はコントローラ106で受信され、ECC強化圧縮モジュール110へ提供されうる。また、コントローラ106はメモリ装置104の操作に役立つ制御データ(例えば、制御データ144)を生成しうる。例えば、コントローラ106は、論理−物理アドレスマッピングを遂行するか、消去回数を計算するか、メモリ装置104の状態情報を判断するか、またはこれらの任意の組み合わせのために、制御データ144を使用しうる。例えば、制御データ144は、メモリアレイ108の中で論理アドレスを物理アドレスにマッピングする論理ブロックアドレステーブルと物理ブロックアドレステーブルとを含みうる。制御データ144はまた、メモリアレイ108におけるデータ構造のインデックス、ポインタ、およびオフセット、メモリ装置104のウェアレベリングデータ、他の制御データ、またはこれらの任意の組み合わせを含む。制御データ144はユーザデータ145に対応する場合と対応しない場合とがあり、またユーザデータ145と時間的に同期する場合と同期しない場合とがある(つまり、ユーザデータ145の受信時間とは大幅に異なる時間に制御データ144が生成される場合もある)。制御データ144はユーザデータ145から独立している。あるいは、制御データ144はユーザデータ145と交互に配置され、あるいはユーザデータ145に付加され、ECC強化圧縮モジュール110で圧縮される。
ECC強化圧縮モジュール110で圧縮されたデータ(例えば、制御データ140とユーザデータ141)は符号化のためにECCエンジン112へ提供され、ECCエンジン112から出力される符号化済みデータ(例えば、コードワード160)はメモリアレイ108に蓄積されうる。ECCエンジン112は圧縮済み制御データ140を符号化するように動作しうる。符号化に先立つ圧縮によりサイズが減少したデータに対して完全な符号化操作を遂行するようにECCエンジン112を操作することにより、ECCエンジンの有効訂正能力が向上されうる。
例えば、ECC強化圧縮モジュール110は圧縮比(CR)に従って制御データ144を圧縮しうる。(CR)は、CR= SizeofCompressedControlData/SizeofControlData で定義される。
ECCエンジン112は、誤り訂正率(ECR)に従って誤りを検出し訂正しうる。(ECR)は、ECR=CorrectableBitsNumber/ 8* (SizeofControlData) で定義される。
(CorrectableBitsNumber)はバイト単位によるサイズ(SizeofControlData)を有するデータワードでECCエンジン112が訂正できるビットの数である。制御データ144の圧縮はECCエンジン112の(ECR)に影響をおよぼしうる。例えば、ECCエンジン112に圧縮済み制御データ140を適用した場合の(ECR’)は、ECR'=CorrectableBitsNumber/8* CompressionRatio* SizeofControlData で定義されうる。
例えば、ECCエンジン112は512バイトの制御データ144で最大12ビット(すなわち、(CorrectableBitsNumber))を訂正するように設計されうる。対応するECR(CorrectableBitsNumber=12)は約2.9E−3である。制御データ144に50%の圧縮比(CR)を適用すると圧縮済み制御データ140のサイズは256バイトとなり、対応するECR’は約5.9E−3となる。ECC強化圧縮モジュール110による圧縮比が向上(すなわち、減少)すると、ECCエンジン112の誤り訂正能力は高まりうる。
制御データ144を圧縮すれば、ECCエンジン112で非力な(例えば、(CorrectableBitsNumber)の値が低い)訂正アルゴリズムを使って同じ誤り訂正率を達成できる。例えば、前述したように、50%で圧縮された制御データに6ビット訂正を適用するECCエンジンのECR’は、ECR'(CorrectableBitsNumber=6; CR=.5)=ECR(CorrectableBitsNumber=12)で表されるように、圧縮されていない制御データに12ビット訂正を適用するECCエンジンのECRに等しくてよい。
ホスト装置102から受信されるユーザデータ145はメモリ装置104で受信される前に圧縮されるため、ECC強化圧縮モジュール110でユーザデータ145の圧縮を大幅に向上させることはできない。しかし、制御データ144はECC強化圧縮モジュール110で受信される前に圧縮されない。ECCエンジン112へ提供される制御データ144を圧縮することにより(つまり、圧縮済み制御データ140を生成することにより)、サイズは当初の制御データ144から大幅に縮小され、ECCエンジン112の有効誤り訂正率は向上しうる。
コードワード160はメモリアレイ108から取り出され、ECCエンジン112によって復号化されうる。ECCエンジン112は、メモリアレイ108における蓄積過程またはコントローラ106への伝送過程で生じた多数の誤りを検出し、訂正しうる。圧縮された制御データ140の符号化ではECCエンジン112のECC処理が縮小されたデータで行われるため、制御データ144の誤り訂正は向上しうる。復号化された圧縮済み制御データはECC強化圧縮モジュール110へ提供されうる。ECCエンジン112から受信された復号化済み圧縮済み制御データ146はECC強化圧縮モジュール110で展開され、制御データ144としてコントローラ106で使用されうる。さらに、ECCエンジン112はメモリアレイ108に蓄積された圧縮済みユーザデータを復号化し、復号化された圧縮済みユーザデータ148をECC強化圧縮モジュール110へ提供する。ECC強化圧縮モジュール110は復号化された圧縮済みユーザデータ148を展開してユーザデータ145を生成し、生成されたユーザデータ145はホスト装置102へ送信されうる。
制御データ144を圧縮すると、訂正作業の範囲が狭まってECCエンジン112の誤り訂正能力が高まる。ECCエンジン112における圧縮済み制御データ140の有効誤り訂正率は制御データ144の有効誤り訂正率を上回る。メモリアレイ108における誤り発生頻度がしだいに増加しても、ECCエンジン112の有効誤り訂正率の向上によりメモリ装置104の期待寿命は伸びうる。ECCエンジン112の有効誤り訂正率が向上するとメモリ装置104の信頼性は向上し、メモリ装置104の期待寿命は伸びる。
図2にはシステムの特定の一実施形態が描かれている。このシステムは全体的に200と呼ばれる。システム200はホスト装置等の外部装置202を含む。外部装置202はメモリ装置204へ結合される。メモリ装置204は、圧縮済み制御データ240を符号化データ(例えば、コードワード252)としてメモリアレイ208に蓄積するため、ECCエンジン254へ結合された誤り訂正コード(ECC)強化圧縮モジュール224を含む。例えば、メモリ装置204は図1のメモリ装置104であってよい。
メモリ装置204はメモリアレイ208へ結合されたコントローラ206を含む。コントローラ206はECC強化圧縮モジュール224へ結合された制御管理モジュール222を含む。ホストランダムアクセスメモリ(HRAM)220はECC強化圧縮モジュール224へ結合され、外部装置202とデータをやり取りするように構成される。コントローラ206はまた、ECC強化圧縮モジュール224とフラッシュインターフェイスモジュール(FIM)228との間でデータを格納するために結合されたバッファランダムアクセスメモリ(BRAM)226を含む。フラッシュインターフェイスモジュール228はメモリアレイ208とデータをやり取りするために結合される。
制御管理モジュール222はメモリ装置204に対する制御機能を提供するように構成されうる。制御管理モジュール222は、制御データ244と、制御データ244に関係しうるその他データ、例えば制御データ244のサイズ248と圧縮済み制御データのサイズ250とを生成するように構成されうる。制御管理モジュール222はECC強化圧縮モジュール224へ結合され、制御データ244をECC強化圧縮モジュール224へ提供するように構成され、ECC強化圧縮モジュール224へ提供された制御データ244は圧縮され、符号化され、メモリアレイ208に蓄積される。
ECC強化圧縮モジュール224は、データ、例えば外部装置202から提供されるユーザデータを、HRAM220から取り出し、かつ制御管理モジュール222から制御データ244を取り出すように構成されうる。ECC強化圧縮モジュール224は圧縮モジュール230と展開モジュール232とを含む。圧縮モジュール230は、受信データ、例えばユーザデータまたは制御データ244に対し圧縮操作を遂行するように構成されうる。例えば、圧縮モジュール230は、圧縮済み制御データ240を生成するため、制御データ244に対し圧縮操作を遂行するように構成されうる。
展開モジュール232は、BRAM226に蓄積されたデータ、例えばメモリアレイ208から読み取られた復号化済みデータを受信し、かつ受信データに対し展開操作を遂行するように構成されうる。例えば、展開モジュール232は、展開済み制御データ242を生成するため、BRAM226から復号化済み圧縮済み制御データを受信し、かつ展開操作を遂行するように構成されうる。
フラッシュインターフェイスモジュール228は、メモリアレイ208に蓄積されるデータをBRAM226から受信し、かつメモリアレイ208への蓄積、通信のためのデータ処理を遂行するように構成されうる。例えば、フラッシュインターフェイスモジュール228はECCエンジン254を含む。ECCエンジン254は誤り検出コード(EDC)回路234とECC回路236とを含みうる。メモリアレイ208への伝送過程とメモリアレイ208からの伝送過程とメモリアレイ208での蓄積過程で生じる誤りの検出および訂正を可能にするため、ECCエンジン254は、メモリアレイ208に蓄積されるデータを受信し、かつ符号化操作、例えばリード・ソロモン、BCH、またはLDPC符号化操作を遂行するように構成されうる。
ECC回路236は、1つ以上の誤りを含んでいる可能性があるデータをメモリアレイ208から受信し、かつ受信データで誤りを検出し訂正するための復号化操作を遂行するように構成されうる。データ書き込み操作のときにはEDC回路234がコードワード252を生成し、生成されたコードワード252はメモリアレイ208に蓄積される。例えば、EDC回路234は、圧縮済み制御データ240を符号化することでコードワード252を生成しうる。EDC回路234で符号化することは、圧縮済み制御データ240に対応するECCビット、例えばパリティビットを生成することを含みうる。ECCビットはコードワード252に含まれうる。
コードワード252はメモリアレイ208から読み取られ、復号化のためにECC回路236へ提供される。ECC回路236は、元のコードワード252を回復するために1つ以上の誤りを検出し、かつ復号化済みデータを生成するためにコードワード252を復号化するように構成されうる。ECCエンジン254によって回復された復号化済みデータはBRAM226へ提供されうる。
メモリアレイ208は1つ以上の蓄積素子構造配列を含みうる。例えば、メモリアレイ208はNORフラッシュメモリ配列のようにメモリセル列からなり、ビット線とソース線とを含みうる。別の例として、メモリアレイ208はNANDフラッシュメモリ配列のように直列のメモリセル列からなる。メモリアレイ208はマルチバンクメモリであってよく、NANDフラッシュメモリ、NORフラッシュメモリ、1つ以上の他のメモリ種別、またはこれらの任意の組み合わせを含みうる。
メモリアレイ208は、マルチレベルセル(MLC)モードかシングルレベルセル(SLC)モードで動作しうる。SLCモードでは、それぞれのメモリセルが「0」または「1」状態にプログラムされうる。このようなバイナリセルの読み取りにあたっては、対象となるメモリセルのコントロールゲートに単一の制御電圧を印加する。トランジスタは「1」状態までプログラムされると伝導するが、「0」状態ではオフに保たれる。MLCモードではセルのプログラミングをより細かく制御することにより、各メモリセルにつき3つ以上のデータ状態を可能としうる。MLCモードではメモリアレイ208の各メモリセルにつき4つ以上の状態が規定される。例えば、メモリセルの状態はバイナリ値00、01、10、および11に相当しうる。実際には、2つの中間状態は完全に消去された状態と完全にプログラムされた状態との間の部分的にプログラムされたセルの2つのレベルに相当しうる。それぞれのメモリセルで2ビット以上のデータを蓄積することで、メモリアレイ208のデータ容量は二倍、三倍、またはそれ以上に増加する。
制御管理モジュール222は作動中に制御データ244を生成し、生成された制御データ244は圧縮され、符号化され、メモリアレイ208に蓄積される。制御管理モジュール222はECC強化圧縮モジュール224に制御データ244を提供しうる。圧縮済み制御データ240を生成するため、制御データ244は圧縮モジュール230によって圧縮されうる。ECC強化圧縮モジュール224か制御管理モジュール222では、圧縮済み制御データ240のサイズ250が(圧縮されていない)制御データ244のサイズ248に比較される。圧縮済み制御データ240のサイズ250が制御データ244のサイズ248に満たなければ、圧縮済み制御データ240がBRAM226へ提供されうる。ただし、制御データ244のサイズ248が圧縮済み制御データ240のサイズ250を上回らなければ、圧縮モジュール230によって行われた圧縮操作は効果的ではなかったことになり、制御データ244のサイズ248は増えたか変わらなかったことになる。この場合、圧縮モジュール230は圧縮されていない制御データ244をBRAM226へ提供する。BRAM226に蓄積されたデータはECCエンジン254のEDC回路234へ提供される。EDC回路234は、例えば体系的符号化で1セットのパリティビットを生成するか、あるいは非体系的符号化でコードワードを生成するかにより、圧縮済み制御データ240を符号化しうる。EDC回路234で生成された圧縮済み符号化済み制御データはデータワードまたはページとしてフラッシュインターフェイスモジュール228へ提供され、さらにメモリアレイ208へ提供されてコードワード252として蓄積されうる。
コードワード252は、例えば図3および4に関して後述するフォーマット済みデータワードを取り出すデータ読み取り操作により、メモリアレイ208から取り出される。取り出されたコードワード252は誤り訂正コード(ECC)回路236へ提供されうる。ECC回路236はコードワード252を復号化し誤りを訂正することにより復号化済み圧縮済み制御データを生成し、生成された復号化済み圧縮済み制御データはBRAM226に蓄積される。
復号化済み圧縮済み制御データはBRAM226から展開モジュール232へ提供され、展開モジュール232は復号化済み圧縮済み制御データに働きかけて展開済み制御データ242を生成する。展開済み制御データ242は、メモリ装置204の制御管理のために制御管理モジュール222へ提供されうる。
加えて、ユーザデータが外部装置202から受信され、HRAM220に格納される。HRAM220に格納されたユーザデータはECC強化圧縮モジュール224へ提供され、ECC強化圧縮モジュール224へ提供されたユーザデータは制御データ244とほぼ同様に圧縮され、符号化され、メモリアレイ208に蓄積される。
コントローラ206は、ECC強化圧縮モジュール224の圧縮比(CR)に基づきECCエンジン254の動作モードを選択するように構成されうる。ECCエンジン254のモードの選択は圧縮比が判明するまで遅延されうる。例えば、ECCエンジン254は、2通りの動作モード、すなわち22バイト長パリティの12ビット訂正モードと28バイト長パリティの16ビット訂正モードとを有しうる。
一例として、メモリアレイ208の2,112バイトページは次のサイズの次の部分を含みうる。
Figure 2013516000
データ部分のサイズはコントローラ206によるECCエンジンのモード選択に影響をおよぼす。例えば、メモリアレイ208の2,112バイトページでデータ0部分とデータ1部分が2,048バイトのスペースを占め、ヘッダとヘッダパリティを合わせたサイズが20バイトなら、2,112バイトページのサイズによりデータ部分のパリティは22バイトずつになる。この場合、ECCエンジン254は16ビットモードの訂正機能を使用できない。
データ部分(例えば、データ0およびデータ1)を圧縮すれば、ECCエンジン254はより上位の16ビット訂正モードを使用できる。例えば、データ0部分とデータ1部分を6バイトずつ圧縮すれば、データ0とデータ1のパリティは6バイトずつ増え、データ部分のパリティは28バイトずつになる。パリティが増えればECCエンジン254の誤り訂正能力も上がりうる。2,112バイトページでデータ部分の圧縮が6バイト、パリティが28バイトの場合の例を次に示す。
Figure 2013516000
コントローラ206は、ECCエンジン254で所定のブロック誤り率(BLER)を達成するためにECC強化圧縮モジュール224の(CR)を制御するように構成されうる。例えば、BCH符号の場合、BLERは、BLER=Sum((p)i *C(n, i)*(l-p)n-i , i = k, n) で定義されうる。
特定の一実施形態において、(p)は最大入力ビット誤り率であり、(k)はECCエンジン254が(n)ビットのデータで訂正できるビット数+1である。C(n,k)関数はサイズ(n)のn要素を含むセットからのk組み合わせ(サイズ(k))の数の計算である。例えば、C(n,k)関数は、C(n, k)=n!/k!(n-k)! で定義されうる。
BLER計算に圧縮比(CR)を導入すると、BLER=Sum((p)i *C(n, i)*(l-p)n-i , i = k, n) となる。
例えば、ECCエンジン254は、(BLER)≦1011により2,048バイトのデータで122ビットを訂正するように構成されうる。この場合、(k)=122+1=123、(n)=2,048バイト*8ビット/バイト=16,384である。(p)について解くと次のようになる。
Figure 2013516000
コントローラ206はECC強化圧縮モジュール224の(CR)を制御するように構成されうる。例えば、コントローラ206は、ECCエンジン254からの所望の最大入力BER(p)が0.41ならば、ECC強化圧縮モジュール224に0.8の(CR)を使用するように指示しうる。例えば、0.001の一定最大ビット誤り率確率と1Kバイトブロックで16の誤りを訂正できるECCエンジンを仮定すると、(n)=8*1024バイト=8,192ビット、(k)=17、(p)=0.001である。
訂正不能誤り確率についてBLER式を解く場合は次のようになる。
Figure 2013516000
圧縮比(CR)が向上(すなわち、減少)すると、制御データにある全ての誤りをECCエンジン254で訂正できない確率は低下する。例えば、ECC強化圧縮モジュール224の圧縮が50%ならば、ECCエンジン254で訂正不能な誤りの確率は、圧縮比1を使う場合に比べて大幅に低下しうる。(CR)が向上するとECCエンジン254の有効誤り訂正能力は高まり、メモリ装置204の信頼性も向上する。
図3には制御データ320とフォーマット済みデータワード302が描かれている。これらは全体的に300と呼ばれる。制御データ320は、論理および物理ブロックアドレステーブル322と、ウェアレベリングデータ324と、インデックス、ポインタ、およびオフセット326等のデータ構造情報とを含みうる。
制御データ320は圧縮され、フォーマット済みデータワード302に符号化されうる(330)。フォーマット済みデータワード302は、ヘッダデータ306と、ヘッダパリティデータ308と、圧縮済み制御データ310と、追加データ312と、ECCビット等のパリティデータ314とを含みうる。フォーマット済みデータワード302のペイロードは、圧縮済み制御データ310と、追加データ312とを含みうる。
追加データ312は、フォーマット済みデータワード302の蓄積サイズを所定のサイズまで増やすため、圧縮済み制御データ310へ追加される。例えば、フォーマット済みデータワード302は2,112バイトページでありうる。追加データ312は圧縮済み制御データの符号化後に追加されうる。追加データ312は、データ依存プログラム障害を減らすために選択または生成されうる。例えば、追加データ312は、パリティデータ314に基づくパターン、例えばパリティデータ314の反復パターンを含みうる。
追加データ312は復号化段階で廃棄される。例えば、追加データ312は、圧縮済み制御データ310のサイズに基づいて特定されうる。圧縮済み制御データ310のサイズは、追加データ312を除いた圧縮済み制御データ310のサイズを表す。例えば、図2のECCエンジン254またはECC強化圧縮モジュール224は、追加データ312の追加に先立ち圧縮済み制御データ310のサイズ250を判断し、圧縮済み制御データのサイズ250を制御管理モジュール222に蓄積しうる。あるいは、圧縮済み制御データのサイズ250は、ヘッダデータ306、図2のコントローラ206、例えばログファイル(図示せず)、または別の場所に蓄積されうる。ECCエンジン254は、フォーマット済みデータワード302を復号化する前に、追加データ312を廃棄するため、圧縮済み制御データのサイズ250を取り出しうる。
図4の可変サイズフォーマット済みデータワード402は、ヘッダデータ406と、ヘッダパリティ408と、圧縮済み制御データ410と、パリティデータ414とを含みうる。圧縮済み制御データ410は可変サイズフォーマット済みデータワード402のペイロード404を含みうる。ペイロード404は、可変サイズフォーマット済みデータワード402を所定のサイズまで拡張するために図3の追加データ312のような追加データを含んでいない。
追加データを追加せずに圧縮済み制御データ410を蓄積する場合は、メモリアレイ、例えば図1〜2のメモリアレイ108または208に可変サイズフォーマット済みデータワード402が蓄積される。可変サイズフォーマット済みデータワードはメモリアレイのスペースを節約し、メモリアレイのデータ蓄積効率を向上させうる。
図5は、制御データを圧縮しかつ符号化する方法500の一実施形態の流れ図である。方法500は、メモリ装置のコントローラ、例えば非限定的な例として図1のコントローラ106または図2のコントローラ206で遂行される。方法500は、502で制御データを圧縮することを含む。例えば、図2の誤り訂正コード(ECC)強化圧縮モジュール224は制御データ244を圧縮する。方法500はまた、メモリ装置へ結合された外部装置からユーザデータを受信することを含む。外部装置はホスト装置であってよく、ユーザデータはメモリ装置のホストランダムアクセスメモリ(HRAM)で受信されてよい。例えば、図2のHRAM220は外部装置(例えば、ホスト装置)202からユーザデータを受信しうる。制御データはコントローラで生成される。制御データは、メモリ装置におけるメモリアレイの論理および物理ブロックアドレステーブル、メモリアレイにおけるデータ構造のインデックス、ポインタ、およびオフセット、およびメモリ装置のウェアレベリングデータからなるグループから選ばれるある種のデータを備えうる。例えば、図2のコントローラ206は制御データ244を生成しうる。
方法500はまた、圧縮済み制御データに相当するコードワードを生成するため、504で圧縮済み制御データを符号化することを含む。コードワードはメモリ装置の誤り訂正コード(ECC)エンジンにより復号化可能である。例えば、図2のECCエンジン254は圧縮済み制御データ240を符号化して、圧縮済み制御データ240に相当するコードワード252を生成する。圧縮済み制御データはバッファランダムアクセスメモリ(BRAM)に蓄積されうる。例えば、図2のBRAM226は圧縮済み制御データ240を蓄積する。ECCエンジンにおける圧縮済み制御データの有効誤り訂正率は、制御データの有効誤り訂正率を上回る可能性がある。例えば、図2のECCエンジン254で圧縮済み制御データ240の有効誤り訂正率は制御データ244の有効誤り訂正率を上回る。圧縮済み制御データを符号化することは、圧縮済み制御データに対応するECCビットを生成することを含みうる。符号化は、リード・ソロモン符号、ボース・レイ・チョドーリ・オッケンジェム(BCH)符号、または低密度パリティ検査(LDPC)符号に基づきうる。
方法500はまた、506でコントローラへ結合されたメモリアレイにコードワードを蓄積することを含む。例えば、図2のコントローラ206は、コントローラ206へ結合されたメモリアレイ208にコードワード252を蓄積する。コードワードを蓄積することは、ヘッダデータ部分と、ペイロード部分と、パリティ部分とを含むフォーマット済みデータワードを蓄積することを含みうる。フォーマット済みデータワードはさらにヘッダパリティ部分を含みうる。例えば、図3のフォーマット済みデータワード302は、ヘッダデータ306と、ペイロード304と、パリティデータ314と、ヘッダパリティデータ308とを含む。
方法500はまた、フォーマット済みデータワードの蓄積サイズを所定のサイズまで増やすため、圧縮済み制御データに追加データを追加することを含みうる。追加データは、圧縮済み制御データが符号化された後に圧縮済み制御データに追加されうる。例えば、図2のコントローラ206は、フォーマット済みデータワード302の圧縮済み制御データ310に図3の追加データ312を追加しうる。あるいは可変サイズフォーマット済みデータワード、例えば図4のフォーマット済みデータワード402を生成するため、圧縮済み制御データは追加データなしで符号化される場合もある。
方法500は圧縮済み制御データのサイズを蓄積することを含む。例えば、サイズはヘッダデータ部分、例えば図3のフォーマット済みデータワード302のヘッダデータ306に蓄積されうる。別の例として、圧縮済み制御データのサイズはメモリアレイに蓄積されうる。例えば、図2のコントローラ206は、圧縮済み制御データ240のサイズ250をメモリアレイ208に蓄積しうる。圧縮済み制御データのサイズはコントローラに蓄積される場合もある。例えば、圧縮済み制御データ240のサイズ250は図2のコントローラ206に蓄積される。方法500はまた、制御データの第1のサイズを圧縮済み制御データの第2のサイズに比較することと、第2のサイズが第1のサイズ以上なら制御データを符号化のためにECCエンジンへ提供することとを含みうる。例えば、図2のコントローラ206は、制御データ244のサイズ248を圧縮済み制御データ240のサイズ250に比較し、圧縮済み制御データのサイズ250が制御データのサイズ248以上なら、制御データ244を符号化のためにECCエンジン254へ提供しうる。別の例として、制御データのサイズ248が圧縮済み制御データのサイズ250を上回る場合は、圧縮済み制御データ240がECCエンジン254に提供されうる。
図6は、制御データを復号化しかつ展開する方法600の一実施形態の流れ図である。方法600は、メモリ装置のコントローラ、例えば非限定的な例として図1のコントローラ106、あるいは図2のコントローラ206にて遂行されうる。方法600は、602でメモリアレイからコードワードを読み取ることを含む。例えば、図2のコントローラ206は、メモリアレイ208からコードワード252を読み取る。方法600はまた、圧縮済み制御データを生成するため、604で誤り訂正コード(ECC)エンジンによりコードワードを復号化することを含む。例えば、図2のECCエンジン254は、圧縮済み制御データ240を生成するため、コードワード252を復号化する。方法600はまた、606で圧縮済み制御データを展開することを含む。例えば、図2のECC強化圧縮モジュール224は、圧縮済み制御データを展開することで展開済み制御データ242を生成する。
圧縮済み制御データは追加データを含む場合がある。追加データは、圧縮済み制御データのサイズに基づいて圧縮済み制御データから廃棄される。例えば、図2のコントローラ206は、圧縮済み制御データ240のサイズ250に基づいて図3の圧縮済み制御データ310から追加データ312を廃棄しうる。圧縮済み制御データのサイズは追加データを除いた圧縮済み制御データのサイズを表しうる。
方法600はまた、メモリアレイから圧縮済み制御データのサイズを取り出すことを含みうる。例えば、図2のコントローラ206は、メモリアレイ208から圧縮済み制御データ240のサイズ250を取り出す。あるいはまた、圧縮済み制御データのサイズはコントローラから返されうる。例えば、図2のコントローラ206は、コントローラ206から圧縮済み制御データ240のサイズ250を取り出しうる。
圧縮済み制御データから追加データを取り除いたら、コントローラは圧縮済み制御データをメモリ装置の操作に使用するために展開しうる。圧縮済み制御データに対して誤り訂正復号化を行うと、訂正作業の範囲が狭まってECCエンジンの誤り訂正能力が高まる。例えば、ECCエンジンにおける圧縮済み制御データの有効誤り訂正率は制御データの有効誤り訂正率を上回ってよい。
ここに記述された種々のコンポーネントはブロックコンポーネントとして描かれ、かつ一般的な用語で説明されているが、かかるコンポーネントは、図1のメモリ装置104または図2のメモリ装置204で、それらのコンポーネントによる特定の機能またはその任意の組み合わせを遂行することを可能にするように構成された1つ以上のマイクロプロセッサ、ステートマシン、または他の回路を含みうる。例えば、図1のECC強化圧縮モジュール110と図2のECC強化圧縮モジュール224は、図1のメモリ装置104で符号化され蓄積される制御データを圧縮することを可能にする物理的コンポーネント、例えばハードウェアコントローラ、ステートマシン、論理回路、または他の構造に相当しうる。
別の例として、図1のコントローラ106は、ECC強化圧縮モジュール110で制御データの圧縮および展開を遂行し、ECCエンジン112で圧縮済み制御データの符号化および復号化を遂行し、かつメモリアレイ108でコードワードの取り出しおよび蓄積を遂行するように構成された専用回路を使って、実装されうる。あるいはまた、コントローラ106またはコントローラ106の部分は、圧縮、展開、符号化、復号化、またはこれらの任意の組み合わせを遂行するようにプログラムされたマイクロプロセッサまたはマイクロコントローラを使って実装されうる。メモリ装置104はプロセッサによって実行される実行可能な命令を含み、その命令はメモリアレイ108、例えばフラッシュメモリアレイに蓄積される。あるいはまた、メモリ装置104に含まれうるプロセッサによって実行される実行可能な命令は、メモリアレイ108とは別の独立したメモリ位置、例えば独立したランダムアクセスメモリ(RAM)(図示せず)または読み取り専用メモリ(ROM)(図示せず)に蓄積されうる。
図1のメモリ装置104は、1つ以上の外部装置、例えばホスト装置に選択的に結合されるように構成された可搬形装置でありうる。ただし、別の実施形態では、メモリ装置104は、1つ以上のホスト装置の中、例えば可搬形通信装置の筐体の中に取り付けられるか、さもなくば組み込まれうる。例えば、メモリ装置104は、パッケージされた装置の中、例えば無線電話機、携帯用情報端末(PDA)、ゲーム装置またはコンソール、可搬形ナビゲーション装置、または内蔵不揮発性メモリを使用する他の装置の中にあってよい。メモリ装置104は、不揮発性メモリ、例えばフラッシュメモリ(例えば、NAND、NOR、マルチレベルセル(MLC)、ディバイディッドビットラインNOR(DINOR)、AND、高容量結合比(HiCR)、アシンメトリカルコンタクトレストランジスタ(ACT)、または他のフラッシュメモリ)、消去可能でプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、ワンタイムプログラマブルメモリ(OTP)、または他の何らかのタイプの不揮発性メモリを含みうる。
ここに記載された実施形態の説明は種々の実施形態を全般的に理解するためのものである。本開示から他の実施形態を導き出し利用することもでき、本開示の範囲から逸脱することなく構造的および論理的な代替および変更を行うことができる。本開示は種々の実施形態のあらゆる改作または変形例を対象として含む。
前に開示された主題は制限的ではなく例示的とみなすべきものであり、添付の特許請求の範囲は本開示の範囲内に該当するあらゆる修正、改良、および他の実施形態を対象として含む。法律で許される最大限の範囲において、本発明の範囲は添付の特許請求の範囲およびその同等物の最も広義な解釈によって決定され、前述した詳細な説明によって制限または限定されない。

Claims (30)

  1. 方法であって、
    メモリ装置のコントローラにて、
    制御データを圧縮するステップと、
    圧縮済み制御データに相当するコードワードを生成するために圧縮済み制御データを符号化するステップと、
    前記コントローラへ結合されたメモリアレイにコードワードを蓄積するステップと、を含み、
    コードワードは、前記メモリ装置の誤り訂正コード(ECC)エンジンにより復号化可能である方法。
  2. 請求項1記載の方法において、
    制御データは、前記コントローラで生成される方法。
  3. 請求項1記載の方法において、
    制御データは、メモリ装置におけるメモリアレイの論理および物理ブロックアドレステーブル、メモリアレイにおけるデータ構造のインデックス、ポインタ、およびオフセット、およびメモリ装置のウェアレベリングデータからなるグループから選ばれるある種のデータを備える方法。
  4. 請求項1記載の方法において、
    前記メモリ装置へ結合された外部装置からユーザデータを受信するステップをさらに含み、前記外部装置はホスト装置であり、ユーザデータは前記メモリ装置にあるホストランダムアクセスメモリ(HRAM)で受信される方法。
  5. 請求項1記載の方法において、
    圧縮済み制御データは、バッファランダムアクセスメモリ(BRAM)に蓄積される方法。
  6. 請求項1記載の方法において、
    前記ECCエンジンにおける圧縮済み制御データの有効誤り訂正率は、制御データの有効誤り訂正率を上回る方法。
  7. 請求項1記載の方法において、
    前記コードワードを蓄積するステップは、フォーマット済みデータワードを蓄積することを含み、
    フォーマット済みデータワードは、
    ヘッダデータ部分と、
    ペイロード部分と、
    パリティ部分と、を含む方法。
  8. 請求項7記載の方法において、
    フォーマット済みデータワードはヘッダパリティ部分をさらに含み、圧縮済み制御データのサイズをヘッダデータ部分に蓄積するステップと、フォーマット済みデータワードの蓄積サイズを所定のサイズまで増やすため圧縮済み制御データに追加データを追加するステップとをさらに含む方法。
  9. 請求項8記載の方法において、
    追加データは、圧縮済み制御データが符号化された後に圧縮済み制御データに追加される方法。
  10. 請求項1記載の方法において、
    圧縮済み制御データのサイズを前記メモリアレイに蓄積するステップをさらに含む方法。
  11. 請求項1記載の方法において、
    圧縮済み制御データのサイズを前記コントローラに蓄積するステップをさらに含む方法。
  12. 請求項1記載の方法において、
    前記符号化するステップは、圧縮済み制御データに対応するECCビットを生成することを含む方法。
  13. 請求項1記載の方法において、
    前記符号化するステップは、リード・ソロモン符号、ボース・レイ・チョドーリ・オッケンジェム(BCH)符号、および低密度パリティ検査(LDPC)符号のいずれか1つに基づく方法。
  14. 方法であって、
    メモリ装置のコントローラにて、
    メモリアレイからコードワードを読み取るステップと、
    圧縮済み制御データを生成するために誤り訂正コード(ECC)エンジンでコードワードを復号化するステップと、
    圧縮済み制御データを展開するステップと、
    を含む方法。
  15. 請求項14記載の方法において、
    圧縮済み制御データは追加データを含み、圧縮済み制御データのサイズに基づいて圧縮済み制御データから追加データを廃棄するステップをさらに含み、圧縮済み制御データのサイズは追加データを除いた圧縮済み制御データのサイズを表す方法。
  16. 請求項15記載の方法において、
    圧縮済み制御データのサイズを前記メモリアレイから取り出すステップをさらに含む方法。
  17. 請求項15記載の方法において、
    圧縮済み制御データのサイズを前記コントローラから取り出すステップをさらに含む方法。
  18. システムであって、
    メモリアレイと、
    前記メモリアレイへ結合されたコントローラと、を備え、
    前記コントローラは、
    誤り訂正コード(ECC)エンジンと、
    前記ECCエンジンへ結合されたECC強化圧縮モジュールと、を備え、
    前記ECC強化圧縮モジュールは前記ECCエンジンへ提供されて符号化される制御データを受信しかつ圧縮するように構成され、前記ECCエンジンで生成された圧縮済み符号化済み制御データはコードワードとして前記メモリアレイに蓄積されるシステム。
  19. 請求項18記載のシステムにおいて、
    前記ECC強化圧縮モジュールは、
    前記メモリアレイから圧縮済み符号化済み制御データを取り出し、かつ
    圧縮済み制御データを生成するため圧縮済み符号化済み制御データを復号化するようにさらに構成されるシステム。
  20. 請求項18記載のシステムにおいて、
    前記ECCエンジンは、
    圧縮済み制御データを符号化するように構成された誤り検出コード回路と、
    符号化済み圧縮済み制御データを復号化するように構成された誤り訂正コード回路と、
    をさらに備えるシステム。
  21. 方法であって、
    誤り訂正コード(ECC)エンジンと1群の蓄積素子を含む複数の蓄積素子とを含み、データ部分とパリティ部分とを含むページ形式に従って情報を前記蓄積素子に蓄積するように構成されたメモリ装置にて、
    1群の蓄積素子に蓄積されるデータを圧縮するために圧縮操作を開始し、
    データの圧縮範囲に基づき、第1のパリティビット数を生成するECCエンジンの第1のモードと、第2のパリティビット数を生成するECCエンジンの第2のモードのうちのいずれか一方を選択し、
    圧縮済みデータに対応するパリティビットを生成するために圧縮済みデータを符号化し、かつ
    ページ形式に従い1群の蓄積素子に圧縮済みデータとパリティビットとを蓄積することを遂行するステップを含み、
    圧縮済みデータはデータ部分に蓄積され、パリティビットの少なくとも一部はパリティ部分に蓄積される方法。
  22. 請求項21記載の方法において、
    第1のパリティビット数はパリティ部分のサイズに一致し、第2のパリティビット数はパリティ部分のサイズより大きい方法。
  23. 請求項22記載の方法において、
    第2のモードが選択される場合には、パリティビットの第1の部分はパリティ部分に蓄積され、パリティビットの第2の部分はデータ部分に蓄積される方法。
  24. 請求項23記載の方法において、
    第2のモードは、データ部分が圧縮済みデータとパリティビットの第2の部分とを含めるにあたって十分なスペースを有する場合に選択される方法。
  25. 方法であって、
    誤り訂正コード(ECC)エンジンと複数の蓄積素子とを含み、データ部分とパリティ部分とを含むページ形式に従って情報を前記蓄積素子に蓄積するように構成されたメモリ装置にて、
    ページ形式に従い前記蓄積素子から圧縮済みデータとパリティビットとを含む1ページのデータを読み取り、
    パリティビットを使用し前記ECCエンジンで圧縮済みデータを復号化し、かつ
    展開済みデータを生成するために圧縮済みデータを展開することを遂行するステップを含み、
    圧縮済みデータはページのデータ部分に含まれ、パリティビットの少なくとも一部はページのパリティ部分に含まれ、
    前記ECCエンジンは、パリティビットの全てがページのパリティ部分に含まれる場合には第1のモードに従って動作し、あるいはパリティビットの第1の部分がページのパリティ部分に含まれかつパリティビットの第2の部分がページのデータ部分に含まれる場合には第2のモードに従って動作するように構成可能である方法。
  26. 請求項25記載の方法において、
    前記メモリ装置はコントローラを備え、展開済みデータは前記コントローラで生成された制御データを含む方法。
  27. データ蓄積装置であって、
    複数の蓄積素子を含むメモリと、
    前記メモリへ結合され、データ部分とパリティ部分とを含むページ形式に従って前記蓄積素子に情報を蓄積するように構成されたコントローラと、を備え、
    前記コントローラは、
    誤り訂正コード(ECC)エンジンと、
    前記ECCエンジンへ結合され、符号化のため前記ECCエンジンへ提供されるデータを受信しかつ圧縮するように構成された圧縮モジュールと、を備え、
    前記ECCエンジンは、データの圧縮範囲に基づき、第1のパリティビット数を生成する第1のモードで動作し、あるいは第2のパリティビット数を生成する第2のモードで動作するように構成可能であり、
    前記コントローラはページ形式に従い前記蓄積素子に圧縮済みデータとパリティビットとを含むページを蓄積するように構成され、圧縮済みデータはページのデータ部分に蓄積され、パリティビットの少なくとも一部はページのパリティ部分に蓄積されるデータ蓄積装置。
  28. 請求項27記載のデータ蓄積装置において、
    前記コントローラは制御データを生成するようにさらに構成され、受信データは制御データを含み、制御データは、メモリの論理および物理ブロックアドレステーブル、メモリにおけるデータ構造のインデックス、ポインタ、およびオフセット、およびデータ蓄積装置のウェアレベリングデータからなるグループから選ばれるある種のデータを備えるデータ蓄積装置。
  29. データ蓄積装置であって、
    複数の蓄積素子を含むメモリと、
    前記メモリへ結合され、データ部分とパリティ部分とを含むページ形式に従って前記蓄積素子から情報を読み取るように構成されたコントローラと、を備え、
    前記コントローラは、
    誤り訂正コード(ECC)エンジンと、
    前記ECCエンジンへ結合され、前記ECCエンジンによって提供される復号化済みデータを受信しかつ展開するように構成された展開モジュールと、を備え、
    前記ECCエンジンは、ページ形式に従い前記メモリから読み取られた1ページの圧縮済みデータおよびパリティビットを復号化するように動作し、圧縮済みデータはページのデータ部分に含まれ、パリティビットの少なくとも一部はページのパリティ部分に含まれ、
    前記ECCエンジンは、パリティビットの全てがページのパリティ部分に含まれる場合には第1のモードに従って動作し、あるいはパリティビットの第1の部分がページのパリティ部分に含まれかつパリティビットの第2の部分がページのデータ部分に含まれる場合には第2のモードに従って動作するように構成されるデータ蓄積装置。
  30. 請求項29記載のデータ蓄積装置において、
    展開済み復号化済みデータは前記コントローラによって使用される制御データを含み、前記メモリはフラッシュメモリを含むデータ蓄積装置。
JP2012545985A 2009-12-23 2010-12-01 メモリ装置における制御データの誤り訂正システムおよび方法 Expired - Fee Related JP5698260B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/645,700 2009-12-23
US12/645,700 US8533564B2 (en) 2009-12-23 2009-12-23 System and method of error correction of control data at a memory device
US12/955,174 2010-11-29
US12/955,174 US8533558B2 (en) 2009-12-23 2010-11-29 System and method of error correction of control data at a memory device
PCT/US2010/058591 WO2011087602A1 (en) 2009-12-23 2010-12-01 System and method of error correction of control data at a memory device

Publications (2)

Publication Number Publication Date
JP2013516000A true JP2013516000A (ja) 2013-05-09
JP5698260B2 JP5698260B2 (ja) 2015-04-08

Family

ID=44152894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012545985A Expired - Fee Related JP5698260B2 (ja) 2009-12-23 2010-12-01 メモリ装置における制御データの誤り訂正システムおよび方法

Country Status (7)

Country Link
US (2) US8533564B2 (ja)
EP (2) EP2713274B1 (ja)
JP (1) JP5698260B2 (ja)
KR (1) KR101727267B1 (ja)
CN (2) CN104657231B (ja)
TW (1) TW201133501A (ja)
WO (1) WO2011087602A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170374A (ja) * 2014-03-06 2015-09-28 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
WO2016051599A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 メモリコントローラ及びデータ制御方法
JP2016161990A (ja) * 2015-02-26 2016-09-05 ファナック株式会社 誤り訂正機能による寿命予測を有する制御装置

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
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
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8463985B2 (en) * 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8495464B2 (en) * 2010-06-28 2013-07-23 Intel Corporation Reliability support in memory systems without error correcting code support
TWI455144B (zh) * 2010-07-22 2014-10-01 Silicon Motion Inc 使用於快閃記憶體的控制方法與控制器
US8892809B2 (en) 2010-10-25 2014-11-18 Marvell World Trade Ltd. Data compression and encoding in a memory system
US8879640B2 (en) * 2011-02-15 2014-11-04 Hong Kong Applied Science and Technology Research Institute Company Limited Memory efficient implementation of LDPC decoder
US8635514B2 (en) * 2011-02-28 2014-01-21 Micron Technology, Inc. Error control in memory storage systems
US8732538B2 (en) * 2011-03-10 2014-05-20 Icform, Inc. Programmable data storage management
KR101800445B1 (ko) * 2011-05-09 2017-12-21 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
KR20130012737A (ko) * 2011-07-26 2013-02-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
US20130117632A1 (en) * 2011-11-08 2013-05-09 Sony Corporation Storage control apparatus
KR101888074B1 (ko) * 2012-01-09 2018-08-13 삼성전자주식회사 저장 장치 및 불휘발성 메모리 장치, 그리고 그것의 동작 방법
US8862967B2 (en) * 2012-03-15 2014-10-14 Sandisk Technologies Inc. Statistical distribution based variable-bit error correction coding
US9246511B2 (en) * 2012-03-20 2016-01-26 Sandisk Technologies Inc. Method and apparatus to process data based upon estimated compressibility of the data
US9251060B2 (en) 2012-03-29 2016-02-02 Intel Corporation Compression-enabled blending of data in non-volatile memory
US8694862B2 (en) * 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
KR102081980B1 (ko) * 2012-10-08 2020-02-27 삼성전자 주식회사 메모리 시스템에서의 라이트 동작 또는 리드 동작 수행 방법
US9043674B2 (en) 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
US9495288B2 (en) 2013-01-22 2016-11-15 Seagate Technology Llc Variable-size flash translation layer
KR20140099689A (ko) 2013-02-04 2014-08-13 삼성전자주식회사 불휘발성 메모리 셀 어레이를 포함하는 반도체 메모리 장치
US9136873B2 (en) 2013-03-11 2015-09-15 Intel Corporation Reduced uncorrectable memory errors
JP2015022516A (ja) * 2013-07-19 2015-02-02 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
TWI609263B (zh) * 2013-08-16 2017-12-21 司固科技公司 可變大小快閃轉變層
TWI512732B (zh) * 2013-08-30 2015-12-11 Phison Electronics Corp 解碼方法、記憶體儲存裝置與非揮發性記憶體模組
US9213595B2 (en) * 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
US9959072B2 (en) * 2013-12-20 2018-05-01 Sandisk Technologies Llc Systems and methods of compressing data
US9927998B2 (en) * 2014-02-05 2018-03-27 Tidal Systems, Inc. Flash memory compression
US9350388B2 (en) * 2014-03-07 2016-05-24 Storart Technology Co. Ltd. Data format with ECC information for on-the-fly decoding during data transfer and method for forming the data format
US9391646B2 (en) * 2014-03-25 2016-07-12 Samsung Electronics Co., Ltd. Joint source-channel encoding and decoding for compressed and uncompressed data
US9442799B2 (en) * 2014-06-26 2016-09-13 Microsoft Technology Licensing, Llc Extended lifetime memory
CN105448334B (zh) * 2014-09-01 2019-08-23 华邦电子股份有限公司 半导体存储装置
GB2531756A (en) 2014-10-29 2016-05-04 Ibm Multi-chip device and method for storing data
EP3016432B1 (en) * 2014-10-30 2018-07-04 Vodafone IP Licensing limited Content compression in mobile network
US9710199B2 (en) 2014-11-07 2017-07-18 International Business Machines Corporation Non-volatile memory data storage with low read amplification
US10162700B2 (en) * 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
US9710324B2 (en) 2015-02-03 2017-07-18 Qualcomm Incorporated Dual in-line memory modules (DIMMs) supporting storage of a data indicator(s) in an error correcting code (ECC) storage unit dedicated to storing an ECC
US9858994B2 (en) 2015-06-18 2018-01-02 Samsung Electronics Co., Ltd. Memory system with MLC memory cells and partial page compression or reduction
US9712190B2 (en) 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
US20170126249A1 (en) * 2015-10-30 2017-05-04 Intel Corporation Temperature dependent multiple mode error correction
KR102435181B1 (ko) 2015-11-16 2022-08-23 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US10255004B2 (en) * 2015-11-16 2019-04-09 Marvell World Trade Ltd. Systems and methods for managing address-mapping data in memory devices
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
US10223198B2 (en) 2016-02-18 2019-03-05 Micron Technology, Inc. Error rate reduction
US10592336B1 (en) * 2016-03-24 2020-03-17 Amazon Technologies, Inc. Layered indexing for asynchronous retrieval of redundancy coded data
CN107239224B (zh) * 2016-03-29 2020-05-12 群联电子股份有限公司 数据保护方法、存储器控制电路单元与存储器存储装置
US10275541B2 (en) 2016-08-05 2019-04-30 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
KR102504178B1 (ko) 2016-08-23 2023-02-28 에스케이하이닉스 주식회사 반도체장치
US10236917B2 (en) * 2016-09-15 2019-03-19 Qualcomm Incorporated Providing memory bandwidth compression in chipkill-correct memory architectures
US10394648B2 (en) * 2016-11-07 2019-08-27 Samsung Electronics Co., Ltd. Method to deliver in-DRAM ECC information through DDR bus
US10284230B2 (en) * 2016-11-15 2019-05-07 Western Digital Technologies, Inc. Linked storage system and host system error correcting code
US10312944B2 (en) * 2017-03-17 2019-06-04 Micron Technology, Inc. Error correction code (ECC) operations in memory for providing redundant error correction
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
KR102468721B1 (ko) * 2017-12-20 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102432551B1 (ko) * 2018-02-13 2022-08-16 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10587284B2 (en) * 2018-04-09 2020-03-10 International Business Machines Corporation Multi-mode compression acceleration
US10747638B2 (en) * 2018-04-18 2020-08-18 Oracle International Corporation Computing memory health metrics
KR20200011655A (ko) * 2018-07-25 2020-02-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
TWI703438B (zh) * 2018-09-11 2020-09-01 慧榮科技股份有限公司 映射表更新方法
US20200127685A1 (en) * 2018-10-19 2020-04-23 Nyquist Semiconductor Limited Systems and methods for a hybrid non-volatile storage system
KR102645140B1 (ko) * 2018-12-06 2024-03-07 삼성전자주식회사 Fpga를 포함하는 메모리 시스템 및 이의 동작 방법
KR102139826B1 (ko) * 2018-12-27 2020-07-31 한양대학교 산학협력단 플래시 메모리 저장장치 저장 장치 및 그 구동 방법
US11200004B2 (en) * 2019-02-01 2021-12-14 EMC IP Holding Company LLC Compression of data for a file system
CN112540719A (zh) * 2019-09-23 2021-03-23 深圳宏芯宇电子股份有限公司 数据编码方法、存储器存储装置及存储器控制器
US11307804B2 (en) 2019-12-16 2022-04-19 Samsung Electronics Co., Ltd. Enhanced SSD reliability
TWI719880B (zh) * 2019-12-16 2021-02-21 慧榮科技股份有限公司 寫入頁面群組的資料到閃存模組的裝置及方法
KR20220018757A (ko) 2020-08-07 2022-02-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512800A (ja) * 1991-07-04 1993-01-22 Matsushita Electric Ind Co Ltd データ圧縮機能を備えた情報記録再生装置と情報記録媒体
JP2000326571A (ja) * 1999-05-24 2000-11-28 Canon Inc 印刷制御装置及びその印刷制御方法ならびに記録媒体
JP2001229073A (ja) * 2000-02-16 2001-08-24 Hitachi Ltd フラッシュメモリ
JP2003131954A (ja) * 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
JP2007094639A (ja) * 2005-09-28 2007-04-12 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
JP2008009943A (ja) * 2006-06-30 2008-01-17 Toshiba Corp メモリコントローラ
JP2008123160A (ja) * 2006-11-10 2008-05-29 Megachips Lsi Solutions Inc メモリ管理方法
WO2008070811A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data in a storage device with an empty data token directive
JP2009205411A (ja) * 2008-02-27 2009-09-10 Toshiba Corp メモリコントローラおよびメモリシステム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0661156B2 (ja) * 1983-05-21 1994-08-10 ソニー株式会社 エラ−訂正のための符号化方法
US5200962A (en) 1988-11-03 1993-04-06 Racal-Datacom, Inc. Data compression with error correction
US5394534A (en) 1992-09-11 1995-02-28 International Business Machines Corporation Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium
US5357614A (en) 1992-09-17 1994-10-18 Rexon/Tecmar, Inc. Data compression controller
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5771081A (en) 1994-02-28 1998-06-23 Korea Telecommunication Authority Bit system for transmitting digital video data
EP1336963B1 (en) 1994-03-19 2006-05-31 Sony Corporation Optical disk, method and apparatus for recording and reproducing information
GB2298078B (en) 1995-02-20 1998-09-16 Sony Uk Ltd Digital tape recorder
JPH10275417A (ja) 1997-03-31 1998-10-13 Sony Corp ディジタル情報信号記録再生装置およびその方法
EP0915413A1 (en) 1997-10-31 1999-05-12 Hewlett-Packard Company Data encoding scheme with switchable compression
JP2927282B2 (ja) 1997-11-06 1999-07-28 日本電気株式会社 ディスクアレイ装置
JP3809719B2 (ja) * 1998-01-05 2006-08-16 ソニー株式会社 ディジタルビデオ信号処理装置および方法、ディジタルビデオ信号再生装置、復号装置および方法、ならびに、再生装置および方法
US6754277B1 (en) * 1998-10-06 2004-06-22 Texas Instruments Incorporated Error protection for compressed video
US6470142B1 (en) 1998-11-09 2002-10-22 Sony Corporation Data recording apparatus, data recording method, data recording and reproducing apparatus, data recording and reproducing method, data reproducing apparatus, data reproducing method, data record medium, digital data reproducing apparatus, digital data reproducing method, synchronization detecting apparatus, and synchronization detecting method
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6862662B1 (en) 2000-03-03 2005-03-01 Micron Technology, Inc. High density storage scheme for semiconductor memory
JP2002024084A (ja) 2000-07-12 2002-01-25 Mitsubishi Electric Corp 半導体集積回路装置および電子システム
ATE350415T1 (de) * 2000-07-31 2007-01-15 Fuji Photo Film Co Ltd Fluoreszente lampenabdeckung und beleuchtungseinrichtung
US7113432B2 (en) 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
JP2002329367A (ja) * 2001-04-27 2002-11-15 Sony Corp データ記録方法および装置、データ再生方法および装置、並びにデータ記録媒体
US20030014716A1 (en) * 2001-07-16 2003-01-16 Cute Ltd. Universal lossless data compression
JP4112849B2 (ja) * 2001-11-21 2008-07-02 株式会社東芝 半導体記憶装置
US7051152B1 (en) 2002-08-07 2006-05-23 Nvidia Corporation Method and system of improving disk access time by compression
TWI228257B (en) * 2004-05-06 2005-02-21 Carry Computer Eng Co Ltd Silicon storage media, controller, and access method thereof
TWI248617B (en) 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US7340666B1 (en) * 2004-09-16 2008-03-04 Sun Microsystems, Inc. Method and apparatus for using memory compression to enhance error correction
US7673215B2 (en) 2004-12-17 2010-03-02 Samsung Electronics Co., Ltd. Apparatus and method for using an error correcting code to achieve data compression in a data communication network
US8473673B2 (en) * 2005-06-24 2013-06-25 Hewlett-Packard Development Company, L.P. Memory controller based (DE)compression
US7987514B2 (en) 2006-04-04 2011-07-26 Intertrust Technologies Corp. Systems and methods for retrofitting electronic appliances to accept different content formats
EP1885131A1 (en) * 2006-08-04 2008-02-06 STMicroelectronics (Research & Development) Limited Iterative image compression for limited file sizes
TW200820261A (en) 2006-09-08 2008-05-01 Samsung Electronics Co Ltd Fusion memory device and method
US7958331B2 (en) 2006-12-13 2011-06-07 Seagate Technology Llc Storage device with opportunistic address space
US7945842B2 (en) * 2007-06-19 2011-05-17 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information
US7941409B2 (en) * 2007-09-11 2011-05-10 Hitachi, Ltd. Method and apparatus for managing data compression and integrity in a computer storage system
US8131927B2 (en) * 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512800A (ja) * 1991-07-04 1993-01-22 Matsushita Electric Ind Co Ltd データ圧縮機能を備えた情報記録再生装置と情報記録媒体
JP2000326571A (ja) * 1999-05-24 2000-11-28 Canon Inc 印刷制御装置及びその印刷制御方法ならびに記録媒体
JP2001229073A (ja) * 2000-02-16 2001-08-24 Hitachi Ltd フラッシュメモリ
JP2003131954A (ja) * 2001-08-16 2003-05-09 Hewlett Packard Co <Hp> 動的可変長誤り訂正符号
JP2007094639A (ja) * 2005-09-28 2007-04-12 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
JP2008009943A (ja) * 2006-06-30 2008-01-17 Toshiba Corp メモリコントローラ
JP2008123160A (ja) * 2006-11-10 2008-05-29 Megachips Lsi Solutions Inc メモリ管理方法
WO2008070811A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data in a storage device with an empty data token directive
JP2009205411A (ja) * 2008-02-27 2009-09-10 Toshiba Corp メモリコントローラおよびメモリシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170374A (ja) * 2014-03-06 2015-09-28 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
WO2016051599A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 メモリコントローラ及びデータ制御方法
US10067828B2 (en) 2014-10-03 2018-09-04 Hitachi, Ltd. Memory controller and data control method
JP2016161990A (ja) * 2015-02-26 2016-09-05 ファナック株式会社 誤り訂正機能による寿命予測を有する制御装置
CN105929723A (zh) * 2015-02-26 2016-09-07 发那科株式会社 通过纠错功能进行寿命预测的控制装置
US9906242B2 (en) 2015-02-26 2018-02-27 Fanuc Corporation Control device performing lifetime prediction by error correction function
CN105929723B (zh) * 2015-02-26 2019-05-07 发那科株式会社 通过纠错功能进行寿命预测的控制装置

Also Published As

Publication number Publication date
WO2011087602A1 (en) 2011-07-21
US20110154160A1 (en) 2011-06-23
KR20120107495A (ko) 2012-10-02
EP2517107A1 (en) 2012-10-31
CN104657231A (zh) 2015-05-27
EP2713274A2 (en) 2014-04-02
JP5698260B2 (ja) 2015-04-08
US8533558B2 (en) 2013-09-10
US20110154158A1 (en) 2011-06-23
US8533564B2 (en) 2013-09-10
CN102713855A (zh) 2012-10-03
EP2517107B1 (en) 2014-01-22
KR101727267B1 (ko) 2017-05-02
CN102713855B (zh) 2015-04-08
EP2713274B1 (en) 2017-04-26
EP2713274A3 (en) 2014-04-30
CN104657231B (zh) 2017-11-17
TW201133501A (en) 2011-10-01

Similar Documents

Publication Publication Date Title
JP5698260B2 (ja) メモリ装置における制御データの誤り訂正システムおよび方法
US8499221B2 (en) Accessing coded data stored in a non-volatile memory
US8769374B2 (en) Multi-write endurance and error control coding of non-volatile memories
US8719677B2 (en) Using ECC encoding to verify an ECC decode operation
US8862967B2 (en) Statistical distribution based variable-bit error correction coding
KR101686980B1 (ko) 비휘발성 메모리 내의 데이터 저장 방법
US8949687B2 (en) Memory device and memory system
US8645789B2 (en) Multi-phase ECC encoding using algebraic codes
JP5687062B2 (ja) レートコンパチブルパンクチャドコードをサポートするメモリコントローラ
JP6975047B2 (ja) ライトワンスメモリコードのエラー訂正コード管理
US9071269B2 (en) Encoding data for storage in a data storage device
KR101367351B1 (ko) 분산형 ecc 프로세싱 시스템 및 방법
CN112837728B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150212

R150 Certificate of patent or registration of utility model

Ref document number: 5698260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees