JP5192587B2 - メモリシステムのコピーバック最適化 - Google Patents

メモリシステムのコピーバック最適化 Download PDF

Info

Publication number
JP5192587B2
JP5192587B2 JP2011507514A JP2011507514A JP5192587B2 JP 5192587 B2 JP5192587 B2 JP 5192587B2 JP 2011507514 A JP2011507514 A JP 2011507514A JP 2011507514 A JP2011507514 A JP 2011507514A JP 5192587 B2 JP5192587 B2 JP 5192587B2
Authority
JP
Japan
Prior art keywords
data
register
processed
metadata
ecc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011507514A
Other languages
English (en)
Other versions
JP2011520188A (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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2011520188A publication Critical patent/JP2011520188A/ja
Application granted granted Critical
Publication of JP5192587B2 publication Critical patent/JP5192587B2/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/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
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

本発明は、一般的に、メモリシステムに係る。
フラッシュメモリは、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)の一形式である。フラッシュメモリは、不揮発性で且つ比較的高密度であるために、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、及び他の記憶解決策(例えば、磁気ディスク)が適当でない他の多くの装置において、ファイル及び他の持続的オブジェクトを記憶するのに使用される。フラッシュメモリに記憶されたデータを処理するときには、データページがフラッシュメモリから読み出されて、レジスタに記憶される。レジスタのコンテンツは、不揮発性メモリの外部にあるコントローラへ処理のために転送される。処理されたデータページは、レジスタへ戻され、それをフラッシュメモリへ書き戻すことができる。
不揮発性メモリサブシステムのためのコピーバック又は読み取りオペレーションでは、不揮発性メモリ内のレジスタと不揮発性メモリの外部のコントローラとの間のデータページの転送を管理するためにデータ変化インジケータが使用される。
最適化コピーバックプロセスを実施するための規範的メモリシステムのブロック図である。 最適化コピーバックプロセスを実施するための別の規範的メモリシステムのブロック図である。 図1A及び1Bのメモリシステムにより使用されるデータ変化インジケータを計算し、記憶するための規範的な最適化コピーバックプロセス200のフローチャートである。 図1A及び1Bのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。 図1A及び1Bのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。 図1A及び1Bのメモリシステムにより実施される規範的な最適化コピーバックプロセスのフローチャートである。 図1A及び1Bのメモリシステムにより実施される規範的な最適化読み取りオペレーションのフローチャートである。 図3A−3Cのコピーバックプロセスにより使用される規範的なデータ構造を示す。
メモリサブシステムの例
図1Aは、最適化コピーバックプロセスを実施するための規範的メモリシステム100のブロック図である。ある実施形態において、このシステム100は、外部バス122(例えば、オープンNANDフラッシュインターフェイス(ONFI)、ATA)を経てホスト装置124に結合されたメモリサブシステム102を備えることができる。ホスト装置124は、スマートホン、メディアプレーヤ、テキストメッセージング装置、ポータブルコンピュータ、ソリッドステートドライブ、デジタルカメラ、等を含む電子装置であるが、これに限定されない。メモリサブシステム102は、不揮発性メモリサブシステム(例えば、管理型NAND)である。
ホスト装置124は、システムオンチップ(SoC)126及び揮発性メモリ128を備えることができる。SoC126は、ホスト装置124で実行されるアプリケーションによりなされる読み取り及び書き込み要求を送信する等の、メモリサブシステム102と対話するためのハードウェア及びソフトウェアを含むことができる。
メモリサブシステム102は、不揮発性メモリ104(「生のメモリ」とも称される)及び外部コントローラ116を備えることができる。メモリ104は、メモリセルアレイ106、内部状態マシン108、メモリレジスタ110及びデータ変化インジケータ(DCI)130を含むことができる。コントローラ116は、プロセッサ118、揮発性メモリ114、及びエラー修正コード(ECC)エンジン120を含むことができる。メモリサブシステム102のための他の構成も考えられる。例えば、内部状態マシンが、内部バス112を経てコントローラ116へ現在ページを転送しながら、メモリセルアレイ106から次のデータページを読み取りできるようにするために、メモリセルアレイ106とメモリレジスタ110との間のデータ経路にキャッシュレジスタを含ませることができる。
図1Bは、最適化コピーバックプロセスを実施するための別の規範的メモリシステム130のブロック図である。このシステム130は、メモリサブシステム102しか示しておらず、そのオペレーションは、図1Aを参照して説明した。
コピーバックオペレーション
コピーバックは、あるページから別のページへデータを移動するためのメモリサブシステムコマンドである。コピーバックは、摩耗平滑化(wear leveling)及び他の不揮発性メモリ管理オペレーションに使用することができる。典型的なコピーバックオペレーションでは、データページが内部状態マシンによりメモリセルアレイ106から読み取られて、メモリレジスタ110に記憶される。外部コントローラ116は、メモリレジスタ110からデータページを読み取り又はクロックし、プロセッサ118がそのデータページに対して希望のオペレーション(例えば、ECCオペレーション)を遂行できるようにする。処理されたデータページは、コントローラ116によってメモリレジスタ110へ書き戻すことができる。内部状態マシン108は、メモリレジスタ110のコンテンツをメモリセルアレイ106の新たなデータページへ書き込むことができる。レジスタ110の全コンテンツが外部コントローラ116へ転送されるのを回避することにより、処理時間及び電力消費を減少することができる。
新たなデータページを書き込むための規範的プロセス
図2は、図1A及び1Bのメモリシステムにより使用されるデータ変化インジケータを計算し、記憶するための規範的な最適化コピーバックプロセス200のフローチャートである。ある実施形態において、プロセス200は、新たなデータページがメモリサブシステムのメモリレジスタへ転送されたときに開始する(202)。データ及びそのデータに含まれるメタデータに対してDCIを計算し、メモリサブシステムに記憶することができる(204)。データ変化インジケータの幾つかの例は、チェック和、ハミングコード、パリティビット、繰り返し冗長チェック(CRC)、極性記号反転、ターボコード、等であるエラー検出コード(EDC)を含むが、これに限定されない。又、EDCは、ECCの一部分、例えば、リード・ソロモンコード、リード・ミューラコード、バイナリー・ゴレイコード、及び低密度パリティチェックコードである。DCIが計算されて記憶された後、レジスタコンテンツを不揮発性メモリへ書き込むことができる(206)。DCIは、図3A−3Cを参照して述べる最適化コピーバックプロセスに使用することができる。
規範的な最適化コピーバックプロセス
図3A−3Cは、図1A及び1Bのメモリシステムにより実施される規範的な最適化コピーバックプロセス300のフローチャートである。ある実施形態において、このプロセス300は、不揮発性メモリ(例えば、メモリセルアレイ106)からデータページを読み取りそしてそのデータページをメモリレジスタ(例えば、レジスタ110)に記憶することにより開始する(302)。DCI(例えば、DCI130)は、メモリレジスタ内のデータページに含まれるデータに対して検証することができる(304)。ある実施形態において、データページが最初に不揮発性メモリに書き込まれるときに、DCIを予め計算してメモリサブシステムに記憶することができる(例えば、プロセス200を使用して)。他の実施形態において、DCIは、読み取りオペレーションの一部分として又は個別のオペレーションとして「オンザフライ」で計算することができる。メモリサブシステムは、読み取りオペレーションが完了したことを外部コントローラ(例えば、外部コントローラ116)に報告することができる(306)。
レジスタ内のデータページに含まれるデータに対するDCIが、データページに含まれるデータが変化したことを指示する場合には(308)、データページに含まれるデータを外部コントローラへ転送することができ(310)、データページに含まれるデータに対してECCを計算することができ(312)、そしてデータページに含まれるデータに対するECC情報を外部コントローラにおいて修正することができる(314)。データページに含まれるデータ及び修正されたECCは、メモリレジスタへ返送することができる(316)。メモリレジスタにおけるデータページに含まれるデータに対して新たなDCIを計算することができる(318)。
レジスタ内のデータページに含まれるデータに対するDCIが、データページに含まれるデータが変化しないことを指示する場合には(308)、データページに含まれる新たなメタデータに対するECCを計算することができる(320)。新たなメタデータ及びそれに関連するECCは、メモリレジスタへ転送することができる(322)。メモリレジスタ内のメタデータに対して新たなDCIを計算することができる(324)。メモリレジスタのコンテンツは、不揮発性メモリ内の新たなデータページへ書き込むことができる(326)。
最適化読み取りオペレーション
図4は、図1A及び1Bのメモリシステムにより実施される規範的な最適化読み取りオペレーションのフローチャートである。ある実施形態において、プロセス400は、不揮発性メモリからデータページを読み取りそしてそのデータページをメモリレジスタに記憶することによって開始する(402)。データページに関連した予め計算されたDCIは、メモリサブシステムの記憶位置からメモリレジスタへクロックされ、そして検証される(404)。又、DCIは、「オンザフライ」で計算することもできる。DCIの状態を読み取って、データページが変化したかどうか決定することができる(406)。
データページに含まれるデータが変化した場合には(408)、データページに含まれる新たなメタデータに対するECCを計算して、新たなメタデータと一緒に、メモリレジスタへ転送することができる(412)。メモリレジスタ内のメタデータに対して新たなDCIを計算し、そしてレジスタのコンテンツを不揮発性メモリ内の新たな位置に書き込むことができる(414)。
データページに含まれるデータが変化しない場合には(408)、メモリレジスタのコンテンツを外部コントローラへ転送することができ、外部コントローラによってECCを計算することができる(410)。データページに含まれる新たなメタデータに対するECCを、外部コントローラにより計算して、新たなメタデータと共に、メモリレジスタへ転送することができる(412)。メモリレジスタ内のメタデータに対して新たなDCIを計算し、そしてレジスタのコンテンツを不揮発性メモリ内の新たな位置に書き込むことができる(414)。
規範的データ構造
図5は、図3A−3Cのコピーバックプロセスにより使用される規範的なデータ構造を示す。図示された例では、不揮発性メモリ内のデータページ500は、メタデータ502、メタデータECC504、データ506及びデータECC508を含む。データが変化しない場合には、メタデータ502及びメタデータECC504のみがレジスタから外部コントローラ510へ処理のために転送される。処理されたメタデータ502及びメタデータECC504は、メモリサブシステムへ転送されて戻され、メモリレジスタに記憶される。データページは、不揮発性メモリ(例えば、メモリセルアレイ)内の新たなデータページに書き込むことができる。
以上、幾つかの実施形態を説明した。しかしながら、種々の変更がなされ得ることが理解されよう。例えば、1つ以上の実施形態の要素を結合し、削除し、変更し、又は補足して、更に別の実施形態を形成することができる。更に別の例として、図示された論理的フローは、希望の結果を達成するのに、図示された特定の順序又は逐次の順序を必要としない。更に、他のステップを設けることもできるし、上述したフローからステップを削除することもできるし、上述したシステムに他のコンポーネントを追加したり又は除去したりすることもできる。従って、他の実施形態は、特許請求の範囲内に包含される。
100:メモリシステム
102:メモリサブシステム
104:不揮発性メモリ
106:メモリセルアレイ
108:内部状態マシン
110:メモリレジスタ
114:揮発性メモリ
116:外部コントローラ
118:プロセッサ
120:エラー修正コード(ECC)エンジン
122:外部バス
124:ホスト装置
126:システムオンチップ(SoC)
128:不揮発性メモリ
130:データ変化インジケータ(DCI)

Claims (8)

  1. データ、メタデータ、データエラー修正コード(ECC)及びメタデータECCを含むデータページを受信するステップと、
    前記受信されたデータページを、不揮発性メモリを含むメモリサブシステムのレジスタに記憶するステップと、
    前記データについてデータ変化インジケータを計算するステップと、
    前記データ変化インジケータを記憶するステップと、
    前記データページを前記不揮発性メモリへ転送するステップと、
    前記データページをコントローラに結合されたメモリサブシステムの不揮発性メモリから検索するステップと、
    前記検索されたデータページを前記メモリサブシステムのレジスタに記憶するステップと、
    前記検索されたデータページを前記レジスタから処理のためにコントローラへ送信するステップと、
    処理されたデータ、処理されたメタデータ、処理されたデータECC及び処理されたメタデータECCを含む処理されたデータページを、前記コントローラから受信するステップと、
    前記処理されたデータが変化したかどうか決定するステップと、
    前記処理されたデータが変化したと決定されたことに応じて、前記処理されたデータページを前記レジスタへ書き込むステップと、
    前記処理されたデータが変化していないと決定されたことに応じて、前記処理されたメタデータを前記レジスタへ書き込むステップと、
    前記レジスタのコンテンツを前記不揮発性メモリへ書き込むステップと、
    を備えた方法。
  2. 処理されたデータが変化したかどうか決定する前記ステップは、前記データ変化インジケータを読み取ることを更に含む、請求項1に記載の方法。
  3. 前記データ変化インジケータは、エラー検出コードに関連している、請求項2に記載の方法。
  4. 処理されたデータが変化したかどうか決定する前記ステップは、
    処理されたデータに対する新しいデータ変化インジケータを計算し、
    処理されたデータが変化したかどうかをその新しいデータ変化インジケータに応じて決定する、
    ことを更に含む請求項1に記載の方法。
  5. レジスタと、
    データ、メタデータ、データエラー修正コード(ECC)及びメタデータECCをそれぞれ含む複数のデータページを記憶するように構成された不揮発性メモリと、
    前記不揮発性メモリに結合されたコントローラであって、
    新しいデータ、新しいメタデータ、新しいデータエラー修正コード(ECC)及び新しいメタデータECCを含む新しいデータページを、前記レジスタに記憶し、
    前記新しいデータについてデータ変化インジケータを生成し、
    前記データ変化インジケータを記憶し、
    前記新しいデータページを前記レジスタから前記不揮発性メモリ内の前記複数のデータページの1つへ転送し、
    前記転送されたデータページを検索し、
    前記検索されたデータページを前記レジスタに記憶し、
    前記検索されたデータページを処理のためにプロセッサへ送信し、
    処理されたデータ、処理されたメタデータ、処理されたデータECC及び処理されたメタデータECCを含む処理されたデータページを、受信し、
    前記処理されたデータが変化したかどうか決定し、
    前記処理されたデータが変化したと決定されたことに応じて前記データページを前記レジスタへ転送し、
    前記処理されたデータが変化していないと決定されたことに応じて前記処理されたメタデータを前記レジスタへ転送し、
    前記レジスタのコンテンツを前記不揮発性メモリへ書き込む、
    ように構成されたコントローラと、
    を備えたシステム。
  6. 前記処理されたデータが変化した決定することは、前記データ変化インジケータを読み取ることを更に含む、請求項5に記載のシステム。
  7. 前記データ変化インジケータは、エラー検出コードに関連している、請求項6に記載のシステム。
  8. 前記処理されたデータが変化した決定することは、
    前記処理されたデータに対する新しいデータ変化インジケータを計算し、
    前記処理されたデータが変化したかどうかをその新しいデータ変化インジケータに応じて決定する、
    ことを更に含む請求項5に記載のシステム。
JP2011507514A 2008-04-30 2009-04-01 メモリシステムのコピーバック最適化 Expired - Fee Related JP5192587B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4933008P 2008-04-30 2008-04-30
US61/049,330 2008-04-30
US12/193,638 US8185706B2 (en) 2008-04-30 2008-08-18 Copyback optimization for memory system
US12/193,638 2008-08-18
PCT/US2009/039160 WO2009134576A1 (en) 2008-04-30 2009-04-01 Copyback optimization for memory system

Publications (2)

Publication Number Publication Date
JP2011520188A JP2011520188A (ja) 2011-07-14
JP5192587B2 true JP5192587B2 (ja) 2013-05-08

Family

ID=40801795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011507514A Expired - Fee Related JP5192587B2 (ja) 2008-04-30 2009-04-01 メモリシステムのコピーバック最適化

Country Status (9)

Country Link
US (2) US8185706B2 (ja)
EP (2) EP2297642B1 (ja)
JP (1) JP5192587B2 (ja)
KR (2) KR101471262B1 (ja)
CN (1) CN102077176B (ja)
AT (1) ATE535866T1 (ja)
ES (1) ES2378371T3 (ja)
HK (3) HK1155530A1 (ja)
WO (1) WO2009134576A1 (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
KR101844346B1 (ko) * 2010-11-05 2018-04-02 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
CN108600043A (zh) * 2018-04-02 2018-09-28 郑州云海信息技术有限公司 连接服务器和控制端的方法、服务器Memory功能模块测试方法
US11556267B2 (en) 2020-08-31 2023-01-17 Micron Technology, Inc. Data management during a copyback operation
US11436142B1 (en) * 2021-04-23 2022-09-06 EMC IP Holding Company, LLC System and method for moving metadata without updating references used by the metadata

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4020466A (en) 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
FR2292803A1 (fr) * 1974-11-29 1976-06-25 Nord Ressorts Dispositif elastique pour la fixation de rail et systeme de fixation de rail en comportant application
US5555379A (en) 1994-07-06 1996-09-10 Advanced Micro Devices, Inc. Cache controller index address generator
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
JPH11259357A (ja) * 1998-03-09 1999-09-24 Seiko Epson Corp 半導体集積装置及び不揮発性メモリ書き込み方式
JP3376331B2 (ja) * 1999-11-25 2003-02-10 エヌイーシーアクセステクニカ株式会社 フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体
US6601216B1 (en) 2000-03-31 2003-07-29 Microsoft Corporation Differential cyclic redundancy check
US6918007B2 (en) * 2002-09-09 2005-07-12 Hewlett-Packard Development Company, L.P. Memory controller interface with XOR operations on memory read to accelerate RAID operations
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7287209B2 (en) * 2004-06-03 2007-10-23 Cheertek, Inc. System and method for detecting codeword errors in error correction code or cyclic redundancy check code
US7466597B2 (en) 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
JP4218758B2 (ja) 2004-12-21 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 字幕生成装置、字幕生成方法、及びプログラム
TWI258074B (en) 2004-12-24 2006-07-11 Phison Electronics Corp Method for reducing data error when flash memory storage device executing copy back command
JP4688584B2 (ja) * 2005-06-21 2011-05-25 株式会社日立製作所 ストレージ装置
US7362611B2 (en) 2005-08-30 2008-04-22 Micron Technology, Inc. Non-volatile memory copy back
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
JP4956230B2 (ja) * 2006-04-10 2012-06-20 株式会社東芝 メモリコントローラ
US20070276863A1 (en) 2006-05-02 2007-11-29 Research In Motion Limited Plug in registration method and apparatus for push content delivery
JP2007310680A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのデータ転送方法
US20070268905A1 (en) * 2006-05-18 2007-11-22 Sigmatel, Inc. Non-volatile memory error correction system and method
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host

Also Published As

Publication number Publication date
KR101225924B1 (ko) 2013-01-24
US20120233387A1 (en) 2012-09-13
JP2011520188A (ja) 2011-07-14
EP2297642B1 (en) 2011-11-30
ES2378371T3 (es) 2012-04-11
HK1155530A1 (en) 2012-05-18
ATE535866T1 (de) 2011-12-15
KR101471262B1 (ko) 2014-12-10
HK1166390A1 (en) 2012-10-26
EP2297642A1 (en) 2011-03-23
HK1158344A1 (en) 2012-07-13
CN102077176A (zh) 2011-05-25
KR20120059658A (ko) 2012-06-08
CN102077176B (zh) 2013-06-19
KR20110008301A (ko) 2011-01-26
EP2407883B1 (en) 2013-08-21
US20090276560A1 (en) 2009-11-05
WO2009134576A1 (en) 2009-11-05
US8185706B2 (en) 2012-05-22
EP2407883A1 (en) 2012-01-18
US8572335B2 (en) 2013-10-29

Similar Documents

Publication Publication Date Title
JP5192587B2 (ja) メモリシステムのコピーバック最適化
US7765426B2 (en) Emerging bad block detection
JP5658128B2 (ja) Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム
US8694865B2 (en) Data storage device configured to reduce buffer traffic and related method of operation
KR101343262B1 (ko) 동시 판독 및 기록 메모리 동작을 수행하는 방법 및 장치
US10175892B1 (en) Adaptive read algorithm for a nonvolatile medium
US20130227346A1 (en) Controlling nonvolatile memory device and nonvolatile memory system
US10866889B2 (en) Memory system performing a garbage collection operation and a sudden power-off recovery operation and operating method thereof
CN110347530A (zh) 数据存储装置及其操作方法
CN106372011B (zh) 用于pcie ssd控制器的高性能主机队列监控器
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
US20150019904A1 (en) Data processing system and operating method thereof
US20130166991A1 (en) Non-Volatile Semiconductor Memory Device Using Mats with Error Detection and Correction and Methods of Managing the Same
CN109725850B (zh) 存储器系统和存储设备
CN107102953B (zh) 非易失性存储器装置及其迭代排序方法
CN101634938A (zh) 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘
US9946644B2 (en) Memory system and operating method thereof
US20170345456A1 (en) Programmable error-correcting code for a host device
US20230068089A1 (en) Memory system and operation method thereof
CN108664350B (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
CN112416298A (zh) 闪速存储器的基于原始读取的物理不可克隆功能
TWI436209B (zh) 記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置
CN108073469B (zh) 用于通用产品代码的数据映射方案
KR20210104408A (ko) 컨트롤러 및 컨트롤러의 동작방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130131

R150 Certificate of patent or registration of utility model

Ref document number: 5192587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees