JP5605238B2 - メモリシステムおよびその動作方法 - Google Patents
メモリシステムおよびその動作方法 Download PDFInfo
- Publication number
- JP5605238B2 JP5605238B2 JP2011012544A JP2011012544A JP5605238B2 JP 5605238 B2 JP5605238 B2 JP 5605238B2 JP 2011012544 A JP2011012544 A JP 2011012544A JP 2011012544 A JP2011012544 A JP 2011012544A JP 5605238 B2 JP5605238 B2 JP 5605238B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- correction code
- memory
- nonvolatile memory
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
1.実施の形態(第1の不揮発性メモリとしてNAND型フラッシュメモリを用いた例)
2.変形例
変形例1(NAND型フラッシュメモリにECC処理部を内蔵した例)
変形例2(第1の不揮発性メモリとしてMFDを用いた例)
その他の変形例
[データ記憶システム1の構成]
図1は、本発明の一実施の形態に係るメモリシステム(不揮発性メモリシステム2)を備えたデータ記憶システム(データ記憶システム1)のブロック構成を表すものである。このデータ記憶システム1は、CPU10、DRAM11およびDRAMコントローラ12と、本実施の形態の不揮発性メモリシステム2とを備えている。
不揮発性メモリシステム2は、不揮発性メモリ(NVM)であるNAND型フラッシュメモリ21(第1の不揮発性メモリ)およびNVRAM22(第2の不揮発性メモリ)と、NVMコントローラ23(制御部)とを備えている。ここでは、これらの不揮発性メモリのうち、NAND型フラッシュメモリ21がストレージとして機能すると共に、NVRAM22が、ワークメモリや不揮発性のキャッシュメモリとして機能するようになっている。これにより、この不揮発性メモリシステム2は、NAND型フラッシュメモリ21との組み合わせでSnD(Store and Download)モデルに対応すると共に、NVRAM22との組み合わせでXIP(eXecute In Plane)モデルにも対応することが可能となっている。
NAND型フラッシュメモリ21は、ブロック単位(ここでは、後述するページ211P,212P単位)でデータのアクセスが行われる不揮発性メモリ(フラッシュメモリ)である。このNAND型フラッシュメモリ21は、データブロック211およびECC2ブロック212を有している。
NVRAM22は、ワード単位でのデータ(データ22D)のランダムアクセスが行われる不揮発性メモリであり、上記したNAND型フラッシュメモリ21とは異なり、データ22Dのみが保持されている。すなわち、このNVRAM22内には、エラー訂正コードは保持されていない。このようなNVRAM22は、例えば、PCRAM,MRAM,ReRAMなどからなる。
NVMコントローラ23は、CPU10から指示に従って、NAND型フラッシュメモリ21およびNVRAM22の動作(データの書き込み動作や読み出し動作など)をそれぞれ制御するものであり、後述するECCバッファ230を含んで構成されている。本実施の形態では、このNVMコントローラ23は、NAND型フラッシュメモリ21内に保持されているエラー訂正コードECC1,ECC2を用いて、所定のビット誤りの検出および訂正処理(ビット誤り検出・訂正処理)を行う機能を有している。具体的には、NAND型フラッシュメモリ21へのデータ21Dの書き込み時に、エラー訂正コードECC1を付加して書込みを行い、NAND型フラッシュメモリ21からのデータ21Dの読み出し時またはシステムの起動時に、エラー訂正コードECC1を用いてこのデータ21Dに対するビット誤り検出・訂正処理を行う。また、エラー訂正コードECC2を用いて、NVRAM22へのデータ22Dの書き込み時に、このデータ22Dに対するエラー訂正コード生成処理を行い、NVRAM22からのデータ22Dの読み出し時またはシステムの起動時に、このデータ22Dに対するビット誤り検出・訂正処理を行う。また、NVMコントローラ23は、データ22Dのアクセス単位であるワード単位でエラー訂正コードECC2を計算するのと並行して、データ21Dのアクセス単位であるページ211P単位でエラー訂正コードECC1を計算するようになっている。なお、これらのエラー訂正コードECC1,ECC2を用いたビット誤り検出・訂正処理の詳細については、後述する(図6〜図8)。
(1.基本動作)
このデータ記憶システム1では、CPU10からの指示に応じたDRAMコントローラ12およびNVMコントローラ23の制御により、DRAM11およびNVRAM22がワークメモリとして機能すると共に、NAND型フラッシュメモリ21がストレージとして機能する。これにより、CPU10からの指示に従って、所定のプログラムの実行やデータ処理が行われる。この際、不揮発性メモリシステム2では、NAND型フラッシュメモリ21に対してブロック(ページ)単位でデータ21Dのアクセスが行われる一方、NVRAM22に対してワード単位でのデータ22Dのランダムアクセスが行われる。
次に、図4〜図8を参照して、本発明の特徴的部分の1つである、エラー訂正コードECC2を用いたビット誤り検出・訂正処理等について、比較例(比較例1,2)と比較しつつ詳細に説明する。
図4は、比較例1に係るメモリシステム(不揮発性メモリシステム102)を備えたデータ記憶システム(データ記憶システム101)のブロック構成を表したものである。この比較例1のデータ記憶システム101は、CPU10、DRAM11、DRAMコントローラ12および不揮発性メモリシステム102を備えている。すなわち、本実施の形態のデータ記憶システム1において、本実施の形態の不揮発性メモリシステム2の代わりに、比較例1の不揮発性メモリシステム102を設けたものであり、他の構成は同様となっている。
次いで、図5は、比較例2に係るメモリシステム(不揮発性メモリシステム202)を備えたデータ記憶システム(データ記憶システム201)のブロック構成を表したものである。この比較例2のデータ記憶システム201は、CPU10、DRAM11、DRAMコントローラ12および不揮発性メモリシステム202を備えている。すなわち、本実施の形態のデータ記憶システム1において、本実施の形態の不揮発性メモリシステム2の代わりに、比較例2の不揮発性メモリシステム202を設けたものであり、他の構成は同様となっている。
まず、1つ目の問題として、NVRAM202−2におけるアクセス速度が低下する(NVRAM202−2の帯域へ悪影響を及ぼす)という副作用が生じてしまい、不揮発性メモリシステム202全体としても動作速度が低下してしまうというものが挙げられる。ここで、比較例2のようにNVRAM202−2内にエラー訂正コードECC2が保持されている場合における、NVRAM202へのアクセス手法としては、以下の2つの手法が考えられる。
また、特に2つの不揮発性メモリとして、NAND型フラッシュメモリ102−1とNVRAM202−2とを用いた場合、比較例2の不揮発性メモリシステム202では、以下のようなコスト増加の問題も生じる。すなわち、一般に、NVRAMはNAND型フラッシュメモリと比べてビット単価が高いことから、比較例2のように、NVRAM202−2用のエラー訂正コードECC2をNVRAM202−2自身の内部に保持した場合、NVRAM202−2の実質のデータ容量が減少する。したがって、不揮発性メモリ202全体として、不揮発性メモリのコストが増大してしまうことになる。
これに対して、本実施の形態の不揮発性メモリシステム2では、図1〜図3に示したように、NVRAM22のデータ22Dに対してエラー訂正コードECC2が適用され、以下詳述するようにしてデータ22Dに対するビット誤り検出・訂正処理が行われる。これにより、上記比較例1の不揮発性メモリシステム102と比べ、NVRAM22におけるデータ保持特性が改善される。
図6は、エラー訂正コードECC2を用いた、NVRAM22からCPU10へのデータ読み出し処理の一例を流れ図で表したものである。
図7は、エラー訂正コードECC2を用いた、CPU10からNVRAM22へのデータ書き込み処理の一例を流れ図で表したものである。
図8は、エラー訂正コードECC2を用いた、不揮発性メモリシステム2の起動処理(システム起動処理)の一例を流れ図で表したものである。
続いて、上記実施の形態の変形例(変形例1,2)について説明する。なお、上記実施の形態における構成要素と同一のものには同一の符号を付し、適宜説明を省略する。
図9は、変形例1に係るメモリシステム(不揮発性メモリシステム2A)を備えたデータ記憶システム(データ記憶システム1A)のブロック構成を表したものである。本変形例のデータ記憶システム1Aは、CPU10、DRAM11、DRAMコントローラ12および不揮発性メモリシステム2Aを備えている。すなわち、上記実施の形態のデータ記憶システム1において、上記実施の形態の不揮発性メモリシステム2の代わりに、本変形例の不揮発性メモリシステム2Aを設けたものであり、他の構成は同様となっている。
図10は、変形例2に係るメモリシステム(不揮発性メモリシステム2B)を備えたデータ記憶システム(データ記憶システム1B)のブロック構成を表したものである。本変形例のデータ記憶システム1Bは、CPU10、DRAM11、DRAMコントローラ12および不揮発性メモリシステム2Bを備えている。すなわち、上記実施の形態のデータ記憶システム1において、上記実施の形態の不揮発性メモリシステム2の代わりに、本変形例の不揮発性メモリシステム2Bを設けたものであり、他の構成は同様となっている。
以上、実施の形態および変形例を挙げて本発明を説明したが、本発明はこれらの実施の形態等に限定されず、種々の変形が可能である。
Claims (12)
- ブロック単位でデータのアクセスが行われる第1の不揮発性メモリと、
ワード単位でデータのランダムアクセスが行われる第2の不揮発性メモリと、
前記第1および第2の不揮発性メモリの動作の制御を行う制御部と
を備え、
前記第2の不揮発性メモリのデータに適用されるエラー訂正コードを、前記第1の不揮発性メモリ内に保持すると共に、
前記制御部は、前記第2の不揮発性メモリのデータに適用されるエラー訂正コードを前記第1の不揮発性メモリ内から読み出して保持しておくためのバッファ領域を有する
メモリシステム。 - 前記制御部は、
前記第2の不揮発性メモリのデータへ前記エラー訂正コードを適用する際に、そのデータに対応するエラー訂正コードが前記バッファ領域内に保持されていない場合には、
その対応するエラー訂正コードを、前記第1の不揮発性メモリから前記バッファ領域へ読み出した後に用いる
請求項1に記載のメモリシステム。 - 前記制御部は、
前記対応するエラー訂正コードを前記バッファ領域へ読み出す際に、
前記バッファ領域内に空き領域があるのか否かを判断すると共に、
前記空き領域があると判断した場合には、その空き領域に対して読み出したエラー訂正コードを保持する一方、
前記空き領域がないと判断した場合には、使用頻度が相対的に低いと想定されるエラー訂正コードの保持領域を、前記空き領域に変更して用いる
請求項2に記載のメモリシステム。 - 前記制御部は、
前記エラー訂正コードの保持領域を前記空き領域に変更する際に、
そのエラー訂正コードに変更が発生していた場合には、そのエラー訂正コードを前記第1の不揮発性メモリ内に事前に書き込んでおく
請求項3に記載のメモリシステム。 - 前記制御部は、
前記第2の不揮発性メモリ内のデータへのアクセス履歴を用いて、前記第2の不揮発性メモリ内において今後アクセスが行われるデータを予想し、
その予想したデータに対応するエラー訂正コードを、前記第1の不揮発性メモリから前記バッファ領域へ予め読み出しておく
請求項2に記載のメモリシステム。 - 前記制御部は、
前記第2の不揮発性メモリへのデータの書き込み時に、前記エラー訂正コードを付加して書込みを行うと共に、
前記第2の不揮発性メモリからのデータの読み出し時およびシステムの起動時に、前記エラー訂正コードを用いて、前記第2の不揮発性メモリのデータに対するビット誤りの検出および訂正処理を行う
請求項1に記載のメモリシステム。 - 前記制御部は、
前記第2の不揮発性メモリに対してデータの書き込みを行う際に、そのデータに対応するエラー訂正コードを、前記バッファ領域上で更新する
請求項6に記載のメモリシステム。 - 前記制御部は、
前記第2の不揮発性メモリ内の各データのアドレスと、各データに対応するエラー訂正コードの前記第1の不揮発性メモリ内での保持アドレスとを、対応付けて管理している
請求項1ないし請求項7のいずれか1項に記載のメモリシステム。 - 複数のエラー訂正コードの束が、前記第1の不揮発性メモリ内において前記ブロック単位で保持されている
請求項1ないし請求項7のいずれか1項に記載のメモリシステム。 - 前記第1の不揮発性メモリ内に、この第1の不揮発性メモリのデータに適用される第1エラー訂正コードが、前記第2の不揮発性メモリのデータに適用されるエラー訂正コードとしての第2エラー訂正コードとともに保持されている
請求項1ないし請求項7のいずれか1項に記載のメモリシステム。 - 前記第1の不揮発性メモリが、前記ブロックとしてのページ単位でデータのアクセスが行われるフラッシュメモリ、または、前記ブロックとしてのセクタ単位でデータのアクセスが行われるハードディスクである
請求項1ないし請求項7のいずれか1項に記載のメモリシステム。 - 第1の不揮発性メモリに対して、ブロック単位でデータのアクセスを行うと共に、第2の不揮発性メモリに対して、ワード単位のデータのランダムアクセスを行い、
前記第1の不揮発性メモリ内に保持されているエラー訂正コードを用いて、前記第2の不揮発性メモリのデータに対するビット誤りの検出および訂正処理を行うと共に、
前記第2の不揮発性メモリのデータに適用されるエラー訂正コードを前記第1の不揮発性メモリ内から読み出して保持しておくためのバッファ領域を設けておく
メモリシステムの動作方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011012544A JP5605238B2 (ja) | 2011-01-25 | 2011-01-25 | メモリシステムおよびその動作方法 |
TW100145367A TWI457756B (zh) | 2011-01-25 | 2011-12-08 | 記憶體系統及其操作方法 |
US13/328,399 US8775905B2 (en) | 2011-01-25 | 2011-12-16 | Memory system and operation method thereof |
KR1020110138192A KR20120086239A (ko) | 2011-01-25 | 2011-12-20 | 메모리 시스템 및 그 동작 방법 |
CN201210015549.9A CN102623042B (zh) | 2011-01-25 | 2012-01-18 | 存储器系统及其操作方法 |
US14/273,757 US9189325B2 (en) | 2011-01-25 | 2014-05-09 | Memory system and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011012544A JP5605238B2 (ja) | 2011-01-25 | 2011-01-25 | メモリシステムおよびその動作方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012155430A JP2012155430A (ja) | 2012-08-16 |
JP2012155430A5 JP2012155430A5 (ja) | 2014-02-13 |
JP5605238B2 true JP5605238B2 (ja) | 2014-10-15 |
Family
ID=46545070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011012544A Expired - Fee Related JP5605238B2 (ja) | 2011-01-25 | 2011-01-25 | メモリシステムおよびその動作方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8775905B2 (ja) |
JP (1) | JP5605238B2 (ja) |
KR (1) | KR20120086239A (ja) |
CN (1) | CN102623042B (ja) |
TW (1) | TWI457756B (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5813450B2 (ja) * | 2011-10-17 | 2015-11-17 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
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 |
WO2014070200A1 (en) | 2012-11-02 | 2014-05-08 | Hewlett-Packard Development Company, L.P. | Selective error correcting code and memory access granularity switching |
JP2014092973A (ja) * | 2012-11-05 | 2014-05-19 | Toshiba Corp | メモリシステム |
US10338826B2 (en) * | 2013-10-15 | 2019-07-02 | Cypress Semiconductor Corporation | Managed-NAND with embedded random-access non-volatile memory |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
JP6140093B2 (ja) | 2014-03-18 | 2017-05-31 | 株式会社東芝 | キャッシュメモリ、誤り訂正回路およびプロセッサシステム |
US9105333B1 (en) * | 2014-07-03 | 2015-08-11 | Sandisk Technologies Inc. | On-chip copying of data between NAND flash memory and ReRAM of a memory die |
JP2016062463A (ja) | 2014-09-19 | 2016-04-25 | 株式会社東芝 | メモリシステム、誤り訂正装置、および誤り訂正方法 |
US10656992B2 (en) * | 2014-10-22 | 2020-05-19 | Cavium International | Apparatus and a method of detecting errors on registers |
US9768808B2 (en) * | 2015-04-08 | 2017-09-19 | Sandisk Technologies Llc | Method for modifying device-specific variable error correction settings |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US9606737B2 (en) | 2015-05-20 | 2017-03-28 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning |
US10013179B2 (en) | 2015-12-03 | 2018-07-03 | Sandisk Technologies Llc | Reading logical groups of data from physical locations in memory using headers |
US9830084B2 (en) | 2015-12-03 | 2017-11-28 | Sandisk Technologies Llc | Writing logical groups of data to physical locations in memory using headers |
KR102527992B1 (ko) * | 2016-03-14 | 2023-05-03 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10558525B2 (en) * | 2016-06-30 | 2020-02-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of correcting errors in a memory array and a system for implementing the same |
US10346268B2 (en) * | 2016-07-21 | 2019-07-09 | SK Hynix Inc. | Efficient data recovery for write path errors |
US10095417B1 (en) | 2016-12-13 | 2018-10-09 | EMC IP Holding Company LLC | Method and system for improving flash storage read performance in partially programmed blocks |
EP3553665B1 (en) * | 2016-12-28 | 2024-05-15 | Huawei Technologies Co., Ltd. | Non-volatile memory access method, device, and system |
US11069418B1 (en) * | 2016-12-30 | 2021-07-20 | EMC IP Holding Company LLC | Method and system for offline program/erase count estimation |
US10338983B2 (en) | 2016-12-30 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for online program/erase count estimation |
US10289550B1 (en) | 2016-12-30 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for dynamic write-back cache sizing in solid state memory storage |
US10290331B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for modulating read operations to support error correction in solid state memory |
US10403366B1 (en) | 2017-04-28 | 2019-09-03 | EMC IP Holding Company LLC | Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors |
US10719446B2 (en) * | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US10642695B2 (en) * | 2018-02-08 | 2020-05-05 | Micron Technology, Inc. | Storage backed memory package save trigger |
US12111724B2 (en) | 2021-03-17 | 2024-10-08 | Micron Technology, Inc. | Redundant array management techniques |
US12164376B2 (en) | 2022-01-03 | 2024-12-10 | Samsung Electronics Co., Ltd. | Storage device including mapping memory and method of operating the same |
CN114490172B (zh) * | 2022-04-02 | 2022-07-12 | 武汉杰开科技有限公司 | 数据存储系统及方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638227A (en) * | 1993-12-17 | 1997-06-10 | Matsushita Electric Industrial Co., Ltd. | Digital data recording and reproducing apparatus |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
JPH10111839A (ja) * | 1996-10-04 | 1998-04-28 | Fujitsu Ltd | 記憶回路モジュール |
EP1051027B1 (en) * | 1999-05-06 | 2006-05-24 | Sony Corporation | Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media |
JP4264575B2 (ja) * | 1999-05-06 | 2009-05-20 | ソニー株式会社 | データ処理装置および方法、データ再生装置および方法、並びに記録媒体 |
JP3527873B2 (ja) * | 1999-09-03 | 2004-05-17 | 松下電器産業株式会社 | 誤り訂正装置 |
GB2379538B (en) | 2000-06-23 | 2005-01-12 | Intel Corp | Non-volatile cache |
US7447950B2 (en) * | 2003-05-20 | 2008-11-04 | Nec Electronics Corporation | Memory device and memory error correction method |
JP4956922B2 (ja) | 2004-10-27 | 2012-06-20 | ソニー株式会社 | 記憶装置 |
US7409623B2 (en) * | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
US7635172B2 (en) * | 2005-09-30 | 2009-12-22 | Canon Kabushiki Kaisha | Recording apparatus and method for rearranging recording data in accordance with recording head tilt |
JP4528242B2 (ja) * | 2005-10-20 | 2010-08-18 | 富士通セミコンダクター株式会社 | メモリシステムおよびメモリシステムの動作方法 |
EP1990956A4 (en) * | 2006-03-01 | 2013-07-17 | Mitsubishi Electric Corp | GATEWAY DEVICE |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
JP2008191701A (ja) * | 2007-01-31 | 2008-08-21 | Toshiba Corp | エラー回復処理方法および情報処理装置 |
US8135935B2 (en) * | 2007-03-20 | 2012-03-13 | Advanced Micro Devices, Inc. | ECC implementation in non-ECC components |
US8276043B2 (en) * | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
US7961544B2 (en) | 2008-08-05 | 2011-06-14 | Sandisk Il Ltd. | Storage system and method for managing a plurality of storage devices |
US8161354B2 (en) * | 2008-10-16 | 2012-04-17 | Genesys Logic, Inc. | Flash memory controller having configuring unit for error correction code (ECC) capability and method thereof |
US8255774B2 (en) * | 2009-02-17 | 2012-08-28 | Seagate Technology | Data storage system with non-volatile memory for error correction |
KR101588293B1 (ko) * | 2009-02-17 | 2016-01-26 | 삼성전자주식회사 | 비휘발성 메모리 장치의 읽기 방법 |
US8468417B2 (en) | 2009-02-18 | 2013-06-18 | Micron Technology, Inc. | Data integrity in memory controllers and methods |
JP2010237822A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
US8386884B2 (en) | 2009-07-14 | 2013-02-26 | Macronix International Co., Ltd. | Memory apparatus with multi-level cells and operation method thereof |
US8572455B2 (en) * | 2009-08-24 | 2013-10-29 | International Business Machines Corporation | Systems and methods to respond to error detection |
KR101623730B1 (ko) * | 2009-11-23 | 2016-05-25 | 삼성전자주식회사 | 인터리버 장치 |
-
2011
- 2011-01-25 JP JP2011012544A patent/JP5605238B2/ja not_active Expired - Fee Related
- 2011-12-08 TW TW100145367A patent/TWI457756B/zh not_active IP Right Cessation
- 2011-12-16 US US13/328,399 patent/US8775905B2/en active Active
- 2011-12-20 KR KR1020110138192A patent/KR20120086239A/ko not_active Application Discontinuation
-
2012
- 2012-01-18 CN CN201210015549.9A patent/CN102623042B/zh not_active Expired - Fee Related
-
2014
- 2014-05-09 US US14/273,757 patent/US9189325B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8775905B2 (en) | 2014-07-08 |
US9189325B2 (en) | 2015-11-17 |
CN102623042B (zh) | 2016-12-28 |
US20140250346A1 (en) | 2014-09-04 |
TW201232258A (en) | 2012-08-01 |
TWI457756B (zh) | 2014-10-21 |
JP2012155430A (ja) | 2012-08-16 |
KR20120086239A (ko) | 2012-08-02 |
CN102623042A (zh) | 2012-08-01 |
US20120192035A1 (en) | 2012-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5605238B2 (ja) | メモリシステムおよびその動作方法 | |
US10031850B2 (en) | System and method to buffer data | |
KR101655306B1 (ko) | 메모리 시스템 및 그것의 액세스 방법 | |
JP5540969B2 (ja) | 不揮発性メモリ装置、メモリコントローラ、およびメモリシステム | |
US11336305B2 (en) | Memory system | |
KR102081588B1 (ko) | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 | |
JP5202130B2 (ja) | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 | |
KR101581859B1 (ko) | 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 | |
US8756398B2 (en) | Partitioning pages of an electronic memory | |
US9460816B2 (en) | Semiconductor memory devices and memory systems including the same | |
EP3874505A1 (en) | Read disturb scan consolidation | |
JP2012137994A (ja) | メモリシステムおよびその制御方法 | |
US20160224419A1 (en) | Device and method | |
US20150248316A1 (en) | System and method for dynamically selecting between memory error detection and error correction | |
US11294767B2 (en) | Deferred error-correction parity calculations | |
US20160132384A1 (en) | Data reading method, memory storage device and memory controlling circuit unit | |
US20210042220A1 (en) | Memory sub-system for managing flash translation layers table updates in response to unmap commands | |
JP2010079856A (ja) | 記憶装置およびメモリ制御方法 | |
WO2020041298A1 (en) | Tracking error-correction parity calculations | |
CN114270304B (zh) | 存储器组件的同一平面内的数据压缩 | |
KR20180087494A (ko) | 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US9213597B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
JP6438763B2 (ja) | エラー訂正装置 | |
CN112860182B (zh) | 用于写回合并的位屏蔽有效扇区 | |
JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140610 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140707 |
|
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: 20140729 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140811 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5605238 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |