JP2006504221A - 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 - Google Patents
不揮発性記憶システムにおける最高頻度消去ブロックの追跡 Download PDFInfo
- Publication number
- JP2006504221A JP2006504221A JP2004548320A JP2004548320A JP2006504221A JP 2006504221 A JP2006504221 A JP 2006504221A JP 2004548320 A JP2004548320 A JP 2004548320A JP 2004548320 A JP2004548320 A JP 2004548320A JP 2006504221 A JP2006504221 A JP 2006504221A
- Authority
- JP
- Japan
- Prior art keywords
- elements
- memory
- block
- erase
- count
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- 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
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Memory System (AREA)
- Filling Or Discharging Of Gas Storage Vessels (AREA)
- Radiation-Therapy Devices (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、添付の図面に関連して取り入れられた以下の記述を参照することによって、最適に理解されることが可能である。
Claims (46)
- メモリシステムの不揮発性メモリに含まれる要素を処理する方法であって、前記方法が、
複数の要素に関連付けられた消去カウントを得て、前記複数の要素に含まれる各要素が、関連付けられた消去カウントを有し、各要素の前記関連付けられた消去カウントが、前記要素が消去された回数を示すように構成されるステップと、
前記複数の要素に含まれるいくつかの要素を第1セットにグループ分けし、前記いくつかの要素を前記第1セットにグループ分けするステップが、前記複数の消去要素に関連付けられた前記消去カウントの最高の関連付けられた消去カウントを有する前記複数の消去要素に含まれる消去要素を選択するステップを含むステップと、
前記第1セットに関連付けられた前記消去カウントを、実質的に表内にあるメモリ構成要素に記憶し、前記メモリ要素が、前記メモリシステムに関連付けられるステップとを含む、方法。 - 前記いくつかの要素をグループ分けすることが、
前記複数の要素に関連付けられた前記消去カウントを比較するステップと、
所定の数の要素が、前記複数の消去要素に関連付けられた前記消去カウントの前記最高の関連付けられた消去カウントを有する前記複数の消去要素から選択された前記数の消去要素であると識別するステップとを含む、請求項1に記載の方法。 - 前記複数の要素に関連付けられた平均消去カウントを得るステップをさらに含む、請求項1に記載の方法。
- 前記いくつかの要素をグループ分けするステップが、
前記複数の要素に関連付けられた前記消去カウントを前記平均消去カウントと比較するステップと、
前記いくつかの要素が、所定の限界値より大きいことによって、前記平均消去カウントより大きい関連付けられた消去カウントを有する前記複数の消去要素から選択された前記要素であると識別するステップとを含む、請求項3に記載の方法。 - 各要素に関連付けられた前記消去カウントに従って、前記第1セットにおいて前記要素を分類するステップをさらに含む、請求項1に記載の方法。
- 前記第1セットにおいて前記要素を分類するステップが、前記表内において前記消去カウントを分類するステップを含む、請求項5に記載の方法。
- 前記第1セットに含まれる第1要素を識別し、前記第1要素が、前記第1セットに関連付けられた前記最低消去カウントを有するステップをさらに含む、請求項5に記載の方法。
- 前記第1要素を前記第1セットから分離するステップと、
前記複数の第2要素を前記第1セットに関連付け、前記第2要素に関連付けられた前記消去カウントが、前記第1要素に関連付けられた前記消去カウントより大きいステップとをさらに含む、請求項7に記載の方法。 - 前記第1セットに関連付けられた平均消去カウントを計算するステップと、
前記複数の要素に含まれる第2消去要素に関連付けられた前記消去カウントが、前記平均消去カウントより大きいときを判定するステップと、
前記第2要素に関連付けられた前記消去カウントが、前記平均消去カウントより大きいと判定されるとき、前記第1要素を前記第1セットから分離するステップと、
前記第2要素に関連付けられた前記消去カウントが、前記平均消去カウントより大きいと判定されるとき、前記第2要素を前記第1セットに関連付けるステップとをさらに含む、請求項7に記載の方法。 - 前記複数の要素に含まれる前記第2要素に関連付けられた前記消去カウントが、前記平均消去カウントより大きいときを判定するステップが、前記第2要素に関連付けられた前記消去カウントが、前記平均消去カウントより所定のパーセンテージより大きいときを判定するステップを含む、請求項9に記載の方法。
- 前記不揮発性メモリが、フラッシュメモリである、請求項1に記載の方法。
- 前記複数の要素が、ブロックであり、前記第1セットが、1セットの最高頻度消去ブロックである、請求項11に記載の方法。
- 前記消去カウントを得るステップが、前記消去カウントを前記消去カウントブロックから得ることを含む、請求項12に記載の方法。
- 前記フラッシュメモリが、NANDフラッシュメモリである、請求項11に記載の方法。
- メモリシステムの不揮発性メモリに含まれる要素を処理するメモリ管理システムであって、前記メモリ管理システムが、
複数の要素に関連付けられた消去カウントを得るためのコード装置であって、前記複数の要素に含まれる各要素が、関連付けられた消去カウントを有し、各要素の前記関連付けられた消去カウントが、前記要素が消去された回数を示すように構成される、コード装置と、
前記複数の要素に含まれるいくつかの消去要素を第1セットにグループ分けするためのコード装置であって、前記いくつかの要素を前記第1セットにグループ分けすることが、前記複数の消去要素に関連付けられた前記消去カウントの最高の関連付けられた消去カウントを有する前記複数の要素に含まれる消去要素を選択するステップを含む、コード装置と、
前記第1セットに関連付けられた前記消去カウントをデータ構造の一部としてメモリ構成要素に記憶するためのコード装置であって、前記メモリ構成要素が前記メモリシステムに関連付けられる、コード装置とを備える、メモリ管理システム。 - 前記いくつかの要素をグループ分けするための前記コード装置が、
前記複数の要素に関連付けられた前記消去カウントを比較するためのコード装置と、
所定の数の要素が、前記複数の要素に関連付けられた前記消去カウントの前記最高の関連付けられた消去カウントを有する前記複数の消去要素から選択された前記いくつかの要素であると識別するためのコード装置とを含む、請求項15に記載のメモリ管理システム。 - 前記複数の要素に関連付けられた平均消去カウントを得るためのコード装置であって、前記いくつかの要素をグループ分けするための前記コード装置が、前記複数の要素に関連付けられた前記消去カウントを前記平均消去カウントと比較するためのコード装置と、前記平均消去カウントより所定の限界値だけ大きい関連付けられた消去カウントを有する前記複数の要素から選択された前記要素であると識別するためのコード装置とを含む、コード装置をさらに含む、請求項15に記載のメモリ管理システム。
- 各要素に関連付けられた前記消去カウントに従って、前記第1セットにおいて前記要素を分類するためのコード装置と、
前記第1セットに含まれる第1要素を識別するためのコード装置であって、前記第1要素が前記第1セットに関連付けられた前記最低消去カウントを有する、コード装置と、
前記第1要素を前記第1セットから分離するためのコード装置と、
前記複数の要素の第2消去要素を前記第1セットと関連付けるためのコード装置であって、前記第2要素に関連付けられた前記消去カウントが、前記第1要素に関連付けられた前記消去カウントより大きい、コード装置とをさらに含む、請求項15に記載のメモリ管理システム。 - 前記不揮発性メモリが、フラッシュメモリである、請求項15に記載のメモリ管理システム。
- 前記複数の要素が、ブロックであり、前記第1セットが、最高頻度消去ブロック表である、請求項15に記載のメモリ管理システム。
- 前記フラッシュメモリが、NANDフラッシュメモリである、請求項15に記載のメモリ管理システム。
- メモリシステムであって、
第1メモリであって、前記第1メモリが、表を記憶するように構成され、前記表が、前記メモリシステムに関連付けられた平均消去カウントより大きい関連付けられた消去カウンタを有する第1セットの消去記憶要素に関連付けられたエントリを含み、前記第1セットの記憶要素の各記憶要素の前記関連付けられた消去カウントが、前記記憶要素が消去された回数を実質的に示すように構成される、第1メモリと、
第2メモリであって、前記第2メモリが、複数の消去記憶要素を含むように構成され、前記複数の記憶要素が、前記第1セットの記憶要素を含み、前記平均消去カウントが、前記複数の記憶要素に関連付けられた消去カウンタを使用して決定される、第2メモリと、
プロセッサであって、前記プロセッサが、前記第1メモリおよび前記第2メモリにアクセスするように構成される、プロセッサとを備える、メモリシステム。 - 前記第1セットの記憶要素が、前記表を使用して実質的に識別される、請求項22に記載の前記メモリシステム。
- 前記第2メモリが、フラッシュメモリであり、前記第1セットの記憶要素が、第1セットのブロックを含む、請求項22に記載の前記メモリシステム。
- メモリシステムの不揮発性メモリに含まれる要素を処理する方法であって、前記方法が、
第1セットの消去要素を識別し、前記第1セットの要素に含まれる前記要素が、前記第1セットの要素に含まれていない前記消去要素より重度に摩耗しているステップと、
前記第1セットの要素に関連付けられたエントリをデータ構造に配置するステップと、
前記エントリを前記データ構造内において分類するステップと、
前記分類されたエントリを使用して、前記第1セット要素内において第1要素を識別し、前記第1要素が、前記第1セットの要素に含まれる他の要素より軽度に摩耗しているステップとを含む、方法 - 各要素が、関連付けられた消去カウントを有し、前記第1セットの要素を識別することが、
前記関連付けられた消去カウントが比較的大きいいくつかの消去要素を識別するステップと、
前記関連付けられた消去カウントが比較的大きい前記いくつかの要素を前記第1セットにグループ分けするステップとを含む、請求項25に記載の方法。 - 前記エントリが、前記第1セットにおいて前記要素の前記関連付けられた消去カウントを含む、請求項26に記載の方法。
- 第1平均消去カウントを決定し、前記第1平均消去カウントが、前記第1セットの各要素の前記関連付けられた消去カウントを使用して決定されるステップをさらに含む、請求項26に記載の方法。
- 前記第1セットに含まれていない第2消去要素の関連付けられた消去カウントが、前記第1平均消去カウントを実質的に超えるときを判定するステップと、
前記第2要素の前記関連付けられた消去カウントが、前記第1平均消去カウントを実質的に超えると判定されるとき、前記第1要素を前記第1セットから除去するステップと、
前記第2要素の前記関連付けられた消去カウントが、前記第1平均消去カウントを実質的に超えると判定されるとき、前記第2要素を前記第1セットに追加するステップとをさらに含む、請求項28に記載の方法。 - 前記第1要素を前記第1セットから除去するステップが、前記第1要素に関連付けられたエントリを前記データ構造から除去することを含み、
前記第2要素を前記第1セットに追加するステップが、前記第1セットの要素に関連付けられたエントリをデータ構造に配置するステップを含む、請求項29に記載の方法。 - 前記エントリをデータ構造内において再分類するステップと、
前記分類されたエントリを使用して、前記第1セットの要素内において第3要素を識別し、前記第3要素が、前記第1セットの要素に含まれる他の要素より軽度に摩耗しているステップとをさらに含む、請求項30に記載の方法。 - 前記第1セットの要素に含まれる前記要素が、実質的に使用に利用不可能である、請求項25に記載の方法。
- 前記要素が、データを含むように構成されるセクションをそれぞれ含み、前記第1セットの要素に含まれる前記要素のそれぞれに含まれる前記セクションが、ほぼ空である、請求項25に記載の方法。
- 前記第1セットの要素に含まれる前記要素のそれぞれが、実質的に消去される、請求項25に記載の方法。
- 前記不揮発性メモリが、フラッシュメモリであり、前記要素が、ブロックである、請求項25に記載の方法。
- メモリ要素と、
システムメモリ構成要素と、
第1セットの前記消去メモリ要素を識別する手段であって、前記第1セットのメモリ要素に含まれる前記メモリ要素が、前記第1セットのメモリ要素に含まれていない前記消去メモリ要素より重度に摩耗している、手段と、
前記第1セットのメモリ要素に関連付けられたエントリを、前記システムメモリ構成要素に関連付けられたデータ構造に配置する手段と、
前記データ構造内において前記エントリを分類する手段と、
前記分類されたエントリを使用して、前記第1セットのメモリ要素内において第1メモリ要素を識別する手段であって、前記第1メモリ要素が、前記第1セットのメモリ要素に含まれる他のメモリ要素より軽度に摩耗している、手段とを備える、メモリシステム。 - 各メモリ要素が、関連付けられた消去カウントを有し、前記第1セットの要素を識別する前記手段が、
前記関連付けられた消去カウントが比較的大きいいくつかの要素を識別する手段と、
前記関連付けられた消去カウントが比較的大きい前記いくつかの要素を前記第1セットにグループ分けする手段とを含む、請求項36に記載の前記メモリシステム。 - 前記エントリが、前記メモリ要素の前記関連付けられた消去カウントを前記第1セットに含む、請求項37に記載の前記メモリシステム。
- 第1平均消去カウントを決定する手段であって、前記第1平均消去カウントが、前記第1セットの各要素の前記関連付けられた消去カウントを使用して決定される、手段と、
前記第1セットに含まれていない第2消去メモリ要素の関連付けられた消去カウントが、前記第1平均消去カウントを実質的に超えるときを判定する手段と、
第2消去メモリ要素の関連付けられた消去カウントが前記第1平均消去カウントを実質的に超えると判定されるとき、前記第1メモリ要素を前記第1セットから除去する手段と、
第2消去メモリ要素の関連付けられた消去カウントが前記第1平均消去カウントを実質的に超えると判定されるとき、前記第2メモリ要素を前記第1セットに追加する手段とをさらに含む、請求項37に記載の前記メモリシステム。 - 前記第1メモリ要素を前記第1セットから除去する前記手段が、前記第1メモリ要素に関連付けられたエントリを前記データ構造から除去する手段を含み、前記第2メモリ要素を前記第1セットに追加する前記手段が、前記第1セットのメモリ要素に関連付けられたエントリをデータ構造に配置する手段を含む、請求項39に記載の前記メモリシステム。
- 前記第1セットのメモリ要素に含まれる前記メモリ要素が、実質的に使用に利用不可能である、請求項36に記載の前記メモリシステム。
- 前記第1セットのメモリ要素に含まれる前記要素のそれぞれが、実質的に消去される、請求項36に記載の前記メモリシステム。
- 前記メモリ要素が、不揮発性メモリブロックである、請求項36に記載の前記メモリシステム。
- 不揮発性メモリシステムに関連付けられた1セットのメモリを処理する方法であって、前記方法が、
前記セットのメモリ要素の前記消去メモリ要素の少なくとも1つを第1グループにグループ分けし、前記メモリ要素の前記少なくとも1つが、前記第1グループにグループ分けされない前記セットの消去メモリ要素からのメモリ要素と少なくとも同程度に消去されているステップと、
前記第1グループにグループ分けされない前記メモリ要素が使用のために割り付けられることを可能にするステップと、
前記メモリ要素の前記少なくとも1つが、前記第1グループに含まれるとき、前記メモリ要素の前記少なくとも1つが、使用のために割り付けられるのを実質的に防止するステップとを含む、方法。 - 前記セットのメモリ要素の各メモリ要素が前記セットのメモリ要素の前記メモリ要素が消去された回数の関連付けられた表示を有し、前記メモリ要素の前記少なくとも1つを前記第1グループにグループ分けするステップが、前記メモリ要素の前記少なくとも1つの前記関連付けられた表示に基づいて、前記メモリ要素の前記少なくとも1つを前記第1グループにグループ分けするステップを含む、請求項44に記載の方法。
- 前記メモリ要素の前記少なくとも1つが、前記第1グループにグループ分けされない前記メモリ要素の前記関連付けられた表示より大きい関連付けられた表示を有する、請求項45に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/281,670 US6973531B1 (en) | 2002-10-28 | 2002-10-28 | Tracking the most frequently erased blocks in non-volatile memory systems |
PCT/US2003/028502 WO2004040585A1 (en) | 2002-10-28 | 2003-09-10 | Tracking the most frequently erased blocks in non-volatile storage systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009202432A Division JP2010015591A (ja) | 2002-10-28 | 2009-09-02 | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006504221A true JP2006504221A (ja) | 2006-02-02 |
Family
ID=32228770
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004548320A Pending JP2006504221A (ja) | 2002-10-28 | 2003-09-10 | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
JP2009202432A Pending JP2010015591A (ja) | 2002-10-28 | 2009-09-02 | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009202432A Pending JP2010015591A (ja) | 2002-10-28 | 2009-09-02 | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6973531B1 (ja) |
EP (1) | EP1559113B1 (ja) |
JP (2) | JP2006504221A (ja) |
KR (1) | KR20050059314A (ja) |
CN (1) | CN1701390A (ja) |
AT (1) | ATE387714T1 (ja) |
AU (1) | AU2003270545A1 (ja) |
DE (1) | DE60319407T2 (ja) |
TW (1) | TWI267866B (ja) |
WO (1) | WO2004040585A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217755A (ja) * | 2008-03-12 | 2009-09-24 | Toshiba Corp | メモリシステム |
JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
JP2012174331A (ja) * | 2011-02-22 | 2012-09-10 | Samsung Electronics Co Ltd | 不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法 |
JP2012533813A (ja) * | 2009-07-29 | 2012-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータのメモリ・デバイスに関するメモリ管理システム、コンピュータによって実装される方法、およびコンピュータ・プログラム |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
US7328301B2 (en) * | 2003-04-07 | 2008-02-05 | Intel Corporation | Dynamically mapping block-alterable memories |
US7139863B1 (en) * | 2003-09-26 | 2006-11-21 | Storage Technology Corporation | Method and system for improving usable life of memory devices using vector processing |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US7224604B2 (en) * | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US7516267B2 (en) * | 2005-11-03 | 2009-04-07 | Intel Corporation | Recovering from a non-volatile memory failure |
US7640389B2 (en) * | 2006-02-28 | 2009-12-29 | Freescale Semiconductor, Inc. | Non-volatile memory having a multiple block erase mode and method therefor |
US20080126685A1 (en) * | 2006-11-24 | 2008-05-29 | Radoslav Danilak | System, method, and computer program product for reducing memory write operations using an instruction set |
US7809900B2 (en) * | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
CN101578587B (zh) * | 2006-11-24 | 2015-02-25 | Lsi公司 | 延迟缩减存储器寿命的操作 |
US7904764B2 (en) * | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | Memory lifetime gauging system, method and computer program product |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
KR20090102789A (ko) | 2006-12-06 | 2009-09-30 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법 |
US8090980B2 (en) * | 2006-12-08 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
US7904672B2 (en) * | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
TW200828320A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method for performing static wear leveling on flash memory |
CN101211314B (zh) * | 2006-12-31 | 2010-07-14 | 创惟科技股份有限公司 | 闪存资料读写寿命提升方法 |
CN100504814C (zh) | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
US7731365B2 (en) * | 2007-03-19 | 2010-06-08 | Johnson&Johnson Vision Care, Inc. | Method of fitting contact lenses |
KR20080085574A (ko) * | 2007-03-20 | 2008-09-24 | 삼성전자주식회사 | 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법 |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
US7991942B2 (en) * | 2007-05-09 | 2011-08-02 | Stmicroelectronics S.R.L. | Memory block compaction method, circuit, and system in storage devices based on flash memories |
US8041883B2 (en) * | 2007-05-09 | 2011-10-18 | Stmicroelectronics S.R.L. | Restoring storage devices based on flash memories and related circuit, system, and method |
US7882301B2 (en) * | 2007-05-09 | 2011-02-01 | Stmicroelectronics S.R.L. | Wear leveling in storage devices based on flash memories and related circuit, system, and method |
US20080282024A1 (en) * | 2007-05-09 | 2008-11-13 | Sudeep Biswas | Management of erase operations in storage devices based on flash memories |
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
US20080294813A1 (en) * | 2007-05-24 | 2008-11-27 | Sergey Anatolievich Gorobets | Managing Housekeeping Operations in Flash Memory |
US20080294814A1 (en) * | 2007-05-24 | 2008-11-27 | Sergey Anatolievich Gorobets | Flash Memory System with Management of Housekeeping Operations |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
CN100538662C (zh) * | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
US8296498B2 (en) * | 2007-11-13 | 2012-10-23 | Sandisk Technologies Inc. | Method and system for virtual fast access non-volatile RAM |
US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US9183133B2 (en) | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
KR101401560B1 (ko) * | 2007-12-13 | 2014-06-03 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 마모도 관리 방법 |
US8656083B2 (en) * | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
JP2009266349A (ja) | 2008-04-28 | 2009-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US20100017566A1 (en) * | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer |
US20100017588A1 (en) * | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for providing an extended capability to a system |
KR20100013485A (ko) | 2008-07-31 | 2010-02-10 | 삼성전자주식회사 | 메모리 장치 및 웨어 레벨링 방법 |
US20100064093A1 (en) * | 2008-09-09 | 2010-03-11 | Radoslav Danilak | System, method, and computer program product for converting data in a binary representation to a non-power of two representation |
US20100146236A1 (en) * | 2008-12-08 | 2010-06-10 | Radoslav Danilak | System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8291152B2 (en) * | 2009-01-07 | 2012-10-16 | Silicon Motion, Inc. | Method for operating non-volatile memory and data storage system using the same |
TWI409819B (zh) | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US20100250830A1 (en) * | 2009-03-27 | 2010-09-30 | Ross John Stenfort | System, method, and computer program product for hardening data stored on a solid state disk |
US8090905B2 (en) * | 2009-03-27 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
US8230159B2 (en) | 2009-03-27 | 2012-07-24 | Lsi Corporation | System, method, and computer program product for sending logical block address de-allocation status information |
US20110004718A1 (en) * | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US9792074B2 (en) * | 2009-07-06 | 2017-10-17 | Seagate Technology Llc | System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips |
US8140712B2 (en) * | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
US8516166B2 (en) * | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
CN101989458B (zh) * | 2009-07-31 | 2013-10-30 | 慧帝科技(深圳)有限公司 | 平均地使用一闪存的多个区块的方法、记忆装置及控制器 |
KR20110024832A (ko) * | 2009-09-03 | 2011-03-09 | 주식회사 하이닉스반도체 | 데이터 머지 효율이 향상된 반도체 스토리지 시스템 및 그 제어 방법 |
KR101086876B1 (ko) * | 2009-09-30 | 2011-11-25 | 주식회사 하이닉스반도체 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
US8108737B2 (en) * | 2009-10-05 | 2012-01-31 | Sandforce, Inc. | System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device |
JP2011081561A (ja) * | 2009-10-06 | 2011-04-21 | Canon Inc | 情報処理装置 |
TW201120898A (en) * | 2009-12-07 | 2011-06-16 | Jmicron Technology Corp | Mehtod for wear-leveling and apparatus thereof |
US8677054B1 (en) * | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US9170933B2 (en) * | 2010-06-28 | 2015-10-27 | International Business Machines Corporation | Wear-level of cells/pages/sub-pages/blocks of a memory |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
GB2490991B (en) * | 2011-05-19 | 2017-08-30 | Ibm | Wear leveling |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
KR101989018B1 (ko) * | 2012-06-25 | 2019-06-13 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
US8750045B2 (en) | 2012-07-27 | 2014-06-10 | Sandisk Technologies Inc. | Experience count dependent program algorithm for flash memory |
CN102929794B (zh) * | 2012-09-26 | 2015-12-02 | 惠州市德赛西威汽车电子股份有限公司 | 一种eeprom的存储方法 |
KR20150044753A (ko) * | 2013-10-17 | 2015-04-27 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
TWI517165B (zh) * | 2014-03-31 | 2016-01-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US9875039B2 (en) | 2014-09-30 | 2018-01-23 | Sandisk Technologies Llc | Method and apparatus for wear-leveling non-volatile memory |
US9830087B2 (en) * | 2014-11-13 | 2017-11-28 | Micron Technology, Inc. | Memory wear leveling |
US10338817B2 (en) | 2014-12-30 | 2019-07-02 | Sandisk Technologies Llc | Systems and methods for storage recovery |
US9766819B2 (en) | 2014-12-30 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for managing storage endurance |
US10101939B2 (en) * | 2016-03-09 | 2018-10-16 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of a storage device |
ES2898395T3 (es) * | 2016-12-09 | 2022-03-07 | Roche Diabetes Care Gmbh | Dispositivo para realizar al menos una acción médica |
US10552145B2 (en) * | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
CN111261218B (zh) * | 2020-04-27 | 2020-08-21 | 深圳市芯天下技术有限公司 | 多颗Norflash样品同时测试的方法 |
DE102021116828A1 (de) | 2021-06-30 | 2023-01-05 | Harman Becker Automotive Systems Gmbh | Verfahren und Vorrichtung zur Überwachung einer Nutzlast eines Speichermediums |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5568423A (en) * | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
JP2002032256A (ja) * | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | 端末装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2685173B2 (ja) | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
JPH07109717B2 (ja) | 1986-05-31 | 1995-11-22 | キヤノン株式会社 | メモリ書き込み制御方法 |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
EP0617363B1 (en) | 1989-04-13 | 2000-01-26 | SanDisk Corporation | Defective cell substitution in EEprom array |
US5222109A (en) | 1990-12-28 | 1993-06-22 | Ibm Corporation | Endurance management for solid state files |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US5860082A (en) | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5715193A (en) * | 1996-05-23 | 1998-02-03 | Micron Quantum Devices, Inc. | Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks |
US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5832493A (en) | 1997-04-24 | 1998-11-03 | Trimble Navigation Limited | Flash file management system |
KR100297986B1 (ko) | 1998-03-13 | 2001-10-25 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
US6260156B1 (en) | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
-
2002
- 2002-10-28 US US10/281,670 patent/US6973531B1/en not_active Expired - Lifetime
-
2003
- 2003-09-10 EP EP03752244A patent/EP1559113B1/en not_active Expired - Lifetime
- 2003-09-10 JP JP2004548320A patent/JP2006504221A/ja active Pending
- 2003-09-10 AT AT03752244T patent/ATE387714T1/de not_active IP Right Cessation
- 2003-09-10 CN CNA038247844A patent/CN1701390A/zh active Pending
- 2003-09-10 AU AU2003270545A patent/AU2003270545A1/en not_active Abandoned
- 2003-09-10 DE DE60319407T patent/DE60319407T2/de not_active Expired - Fee Related
- 2003-09-10 WO PCT/US2003/028502 patent/WO2004040585A1/en active IP Right Grant
- 2003-09-10 KR KR1020057007323A patent/KR20050059314A/ko not_active Application Discontinuation
- 2003-09-18 TW TW092125804A patent/TWI267866B/zh not_active IP Right Cessation
-
2009
- 2009-09-02 JP JP2009202432A patent/JP2010015591A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5568423A (en) * | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
JP2002032256A (ja) * | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | 端末装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
JP2009217755A (ja) * | 2008-03-12 | 2009-09-24 | Toshiba Corp | メモリシステム |
US8601219B2 (en) | 2008-03-12 | 2013-12-03 | Kabushiki Kaisha Toshiba | Memory system |
US9015421B2 (en) | 2008-03-12 | 2015-04-21 | Kabushiki Kaisha Toshiba | Memory system |
JP2012533813A (ja) * | 2009-07-29 | 2012-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータのメモリ・デバイスに関するメモリ管理システム、コンピュータによって実装される方法、およびコンピュータ・プログラム |
JP2012174331A (ja) * | 2011-02-22 | 2012-09-10 | Samsung Electronics Co Ltd | 不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1701390A (zh) | 2005-11-23 |
DE60319407D1 (de) | 2008-04-10 |
US6973531B1 (en) | 2005-12-06 |
TW200418038A (en) | 2004-09-16 |
AU2003270545A1 (en) | 2004-05-25 |
EP1559113B1 (en) | 2008-02-27 |
ATE387714T1 (de) | 2008-03-15 |
KR20050059314A (ko) | 2005-06-17 |
WO2004040585A1 (en) | 2004-05-13 |
TWI267866B (en) | 2006-12-01 |
JP2010015591A (ja) | 2010-01-21 |
EP1559113A1 (en) | 2005-08-03 |
DE60319407T2 (de) | 2009-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4456486B2 (ja) | 不揮発性記憶システムにおける摩耗一様化 | |
JP4445394B2 (ja) | 消去カウントブロックを管理する方法および装置 | |
JP4758648B2 (ja) | 不揮発性記憶システムにおける平均消去カウントの維持 | |
JP4372013B2 (ja) | 不揮発性記憶システムにおける消去カウントの維持 | |
EP1559113B1 (en) | Tracking the most frequently erased blocks in non-volatile storage systems | |
US7096313B1 (en) | Tracking the least frequently erased blocks in non-volatile memory systems | |
JP5005171B2 (ja) | 論理ブロックをスプリットする方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090406 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090706 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090713 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090806 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090813 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100416 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100423 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100518 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100525 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100810 |