JP2006504195A - 不揮発性記憶システムにおける摩耗一様化 - Google Patents
不揮発性記憶システムにおける摩耗一様化 Download PDFInfo
- Publication number
- JP2006504195A JP2006504195A JP2004548308A JP2004548308A JP2006504195A JP 2006504195 A JP2006504195 A JP 2006504195A JP 2004548308 A JP2004548308 A JP 2004548308A JP 2004548308 A JP2004548308 A JP 2004548308A JP 2006504195 A JP2006504195 A JP 2006504195A
- Authority
- JP
- Japan
- Prior art keywords
- group
- storage element
- data structure
- erase count
- storage
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 240
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000000926 separation method Methods 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 23
- 230000003068 static effect Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 210000004027 cell Anatomy 0.000 description 12
- 230000005055 memory storage Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000004193 electrokinetic chromatography Methods 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
-
- 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
- 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
-
- 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
- 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)
Abstract
Description
本発明は、添付の図面に関連して取り入れられた以下の記述を参照することによって、最適に理解されることが可能である。
Claims (64)
- 不揮発性メモリを割り付ける方法であって、前記不揮発性メモリが、実質的に要素に分割され、前記方法が、
前記要素を、少なくとも第1グループ、第2グループ、および第3グループにグループ分けし、前記第1グループが、比較的軽度の摩耗を有する消去要素を含み、前記第2グループが、比較的重度の摩耗を有する消去要素を含むステップと、
前記第3グループに含まれる第1要素が、前記第1グループに含まれる第2要素によって実質的に置き換えられるべきであるときを判定するステップと、
前記第1要素が前記第2要素によって実質的に置き換えられるべきであると判定されるとき、前記第1要素に関連付けられた内容を前記第1グループから得られた前記第2要素にコピーするステップと、
前記第1要素の内容を前記第1要素から消去するステップと、
前記第2要素を前記第3グループに関連付け、前記第2要素を前記第3グループに関連付けるステップが、前記第2要素を前記第1グループから実質的に分離するステップを含むステップとを含む、方法。 - 前記要素を、前記第1グループ、前記第2グループ、および前記第3グループにグループ分けするステップが、各要素に関連付けられた消去カウントに基づいて前記要素をグループ分けするステップを含む、請求項1に記載の方法。
- 前記第1要素が、消去カウントを含み、前記方法が、
前記第1要素の前記内容を消去した後、前記第1要素の前記消去カウントを増分させるステップをさらに含む、請求項1に記載の方法。 - 前記第1要素を前記第1グループに関連付けるかを判定するために、前記第1要素の前記消去カウントを使用するステップと、
前記第1要素の前記消去カウントが、前記第1要素が前記第1グループに関連付けられるべきであることを示すとき、前記第1要素を前記第1グループに関連付け、前記第1要素を前記第1グループに関連付けるステップが、前記第1要素を前記第3グループから分離するステップを含むステップとをさらに含む、請求項3に記載の方法。 - 前記第1要素を前記第2グループに関連付けるかを判定するために、前記第1要素の前記消去カウントを使用するステップと、
前記第1要素の前記消去カウントが、前記第1要素が前記第2グループに関連付けられるべきであることを示すとき、前記第1要素を前記第2グループに関連付け、前記第1要素を前記第2グループに関連付けるステップが、前記第1要素を前記第3グループから分離するステップを含むステップとをさらに含む、請求項3に記載の方法。 - 前記第2グループの前記要素が、消去カウントを含み、前記第2グループの前記消去カウントが、最低消去カウントを含み、前記最低消去カウントが、前記第2グループの前記要素に含まれる第3要素に関連付けられ、前記第1要素を前記第2グループに関連付けるかを判定するために前記第1要素の前記消去カウントを使用するステップが、前記第1要素の前記消去カウントが前記最低消去カウントより大きいときを判定するステップを含む、請求項5に記載の方法。
- 前記第1要素の前記消去カウントが、前記第1要素が前記第2グループに関連付けられるべきであることを示すとき、前記第3要素を前記第1グループに関連付け、前記第3要素を前記第1グループに関連付けるステップが、前記第3要素を前記第2グループから分離するステップを含むステップをさらに含む、請求項6に記載の方法。
- 前記不揮発性メモリが、NANDフラッシュメモリであり、前記要素が、ブロックである、請求項1に記載の方法。
- 前記第1要素に関連付けられた前記内容が、前記第1要素の前記内容、および前記第1要素の前記内容の少なくともいくつかと置き換わるように構成された実質的に新しい内容の一方である、請求項1に記載の方法。
- 不揮発性メモリを割り付ける方法であって、前記不揮発性メモリが、要素に実質的に分割され、前記方法が、
要素を、少なくとも第1グループ、第2グループ、および第3グループにグループ分けし、前記第1グループが、平均消去カウントより近似的に小さい消去カウントを有する消去要素を含み、前記第2グループが、前記平均消去カウントより近似的に大きい消去カウントを有する消去要素を含むステップと、
前記第3グループに含まれる第1要素が、前記第2グループに含まれる第2要素によって実質的に置き換えられるべきであるときを判定するステップと、
前記第1要素が前記第2要素によって実質的に置き換えられるべきであると判定されるとき、前記第1要素に関連付けられた内容を前記第2グループから得られた前記第2要素にコピーするステップと、
前記第1要素の内容を前記第1要素から消去するステップと、
前記第2要素を前記第3グループに関連付け、前記第2要素を前記第3グループに関連付けるステップが、前記第2要素を前記第2グループから実質的に分離するステップを含むステップとを含む、方法。 - 前記第1要素が静止要素であり、前記第3グループに含まれる前記第1要素が、前記第2グループに含まれる前記第2要素によって実質的に置き換えられるときを判定するステップが、
前記第1要素に関連付けられた消去カウントを前記平均消去カウントと比較するステップが、前記第3グループに含まれる前記第1要素が前記第2グループに含まれる前記第2要素によって実質的に置き換えられるべきであることを示すときを判定するステップを含む、請求項10に記載の方法。 - 前記第1要素に関連付けられた前記消去カウントを前記平均消去カウントと比較するステップが、前記第3グループに含まれる前記第1要素が、前記第2グループに含まれる前記第2要素によって実質的に置き換えられるべきであることを示すときを判定するステップが、前記第1要素に関連付けられた前記消去カウントが、前記平均消去カウントより実質的に小さいときを判定するステップを含む、請求項11に記載の方法。
- 前記第1要素を前記第1グループに関連付け、前記第1要素を前記第1グループに関連付けるステップが、前記第1要素を前記第3グループから分離するステップをさらに含む、請求項10に記載の方法。
- 前記不揮発性メモリが、NANDフラッシュメモリであり、前記要素が、ブロックである、請求項10に記載の方法。
- 前記第1要素に関連付けられた前記内容が、前記第1要素の前記内容、および前記第1要素の前記内容の少なくともいくつかと置き換わるように構成された実質的に新しい内容の一方である、請求項10に記載の方法。
- メモリ管理システムであって、前記メモリ管理システムが、不揮発性メモリに構成され、前記不揮発性メモリが、要素に実質的に分割され、前記メモリ管理システムが、
第1マネージャであって、前記第1マネージャが、少なくとも第1グループ、第2グループ、および第3グループに要素をグループ分けするように構成され、前記第1グループが、比較的軽度の摩耗を有する要素を含み、前記第2グループが、比較的重度の摩耗を有する要素を含む、該第1マネージャと、
第2マネージャであって、前記第2マネージャが、前記第3グループに含まれる第1要素が、前記第1グループに含まれる第2要素によって実質的に置き換えられるべきであるときを判定するように構成され、前記第2マネージャが、前記第1要素に関連付けられた内容を、前記第1グループから得られた前記第2要素にコピーし、前記第1要素の内容を前記第1要素から消去するように構成され、前記第2マネージャが、前記第2要素を前記第3グループに関連付け、かつ前記第2要素を前記第1グループから実質的に分離するようにさらに構成される、第2マネージャとを備える、メモリ管理システム。 - 前記第1マネージャが、各要素に関連付けられた消去カウントに基づいて前記要素をグループ分けすることによって、前記要素を、前記第1グループ、前記第2グループ、および前記第3グループにグループ分けするように構成される、請求項16に記載のメモリ管理システム。
- 前記第1要素が、消去カウントを含み、前記第2マネージャが、前記第1要素の前記内容を前記第1要素から消去した後、前記第1要素の前記消去カウントを増分させるようにさらに構成される、請求項16に記載のメモリ管理システム。
- 前記第2マネージャが、前記第1要素を前記第1グループに関連付けるかを判定するために、前記第1要素の前記消去カウントを使用し、前記第1要素の前記消去カウントが、前記第1要素が前記第1グループに関連付けられるべきであると示すとき、前記第1要素を前記第1グループに関連付ける、請求項18に記載のメモリ管理システム。
- 前記第2マネージャが、前記第1要素を前記第2グループに関連付けるかを判定するために、前記第1要素の前記消去カウントを使用し、前記第1要素の前記消去カウントが、前記第1要素が前記第2グループに関連付けられるべきであると示すとき、前記第1要素を前記第2グループに関連付けるようにさらに構成される、請求項18に記載のメモリ管理システム。
- 前記第2グループの前記要素が、消去カウントを有し、前記第2グループの前記消去カウントが、最低消去カウントを有し、前記最低消去カウントが、前記第2グループの前記要素に含まれる第3要素に関連付けられ、前記第2マネージャが、前記第1要素の前記消去カウントが前記最低消去カウントより大きいときを判定することによって、前記第1要素を前記第2グループに関連付けるかを判定するために、前記第1要素の前記消去カウントを使用するように構成される、請求項20に記載のメモリ管理システム。
- 前記不揮発性メモリが、NANDフラッシュメモリであり、前記要素が、ブロックである、請求項16に記載のメモリ管理システム。
- 前記第1要素に関連付けられた前記内容が、前記第1要素の前記内容、および前記第1要素の前記内容の少なくともいくつかと置き換わるように構成された実質的に新しい内容の一方である、請求項16に記載のメモリ管理システム。
- 不揮発性メモリを割り付けるためのメモリ管理システムであって、前記不揮発性メモリが、要素に実質的に分割され、前記メモリ管理システムが、
第1マネージャであって、前記第1マネージャが、前記消去要素を、少なくとも第1グループ、第2グループ、および第3グループにグループ分けするように構成され、前記第1グループが、平均消去カウントより近似的に小さい消去カウントを有する要素を含み、前記第2グループが、前記平均消去カウントより近似的に大きい消去カウントを有する消去要素を含む、該第1マネージャと、
第2マネージャであって、前記第2マネージャが、前記第3グループに含まれる第1要素が、前記第2グループに含まれる第2要素によって実質的に置き換えられるべきであるときを判定するように構成され、前記第2マネージャが、前記第1要素に関連付けられた内容を前記第2グループから得られた前記第2要素にコピーし、前記第1要素の内容を前記第1要素から消去するようにさらに構成され、前記第2マネージャが、前記第2要素を前記第3グループに関連付け、かつ前記第2要素を前記第2グループから分離するようにさらに構成される、該第2マネージャとを備える、メモリ管理システム。 - 前記第2マネージャが、前記第1要素に関連付けられた消去カウントを前記平均消去カウントと比較するステップが、前記第3グループに含まれる前記第1要素が、前記第2グループに含まれる前記第2要素によって実質的に置き換えられるべきであることを示すときを判定することによって、前記第3グループに含まれる前記第1要素が、前記第2グループに含まれる前記第2要素によって実質的に置き換えられるべきであるときを判定するように構成される、請求項24に記載のメモリ管理システム。
- 前記第2マネージャが、前記第1要素を前記第2グループに関連付け、かつ前記第1要素を前記第3グループから分離するように構成される、請求項24に記載のメモリ管理システム。
- 前記不揮発性メモリが、NANDフラッシュメモリであり、前記要素が、ブロックである、請求項24に記載のメモリ管理システム。
- 前記第1要素に関連付けられた前記内容が、前記第1要素の前記内容、および前記第1要素の前記内容の少なくともいくつかと置き換わるように構成された実質的に新しい内容の一方である、請求項24に記載のメモリ管理システム。
- 不揮発性メモリを含むシステムにおいて摩耗一様化を実施する方法であって、前記方法が、
第1記憶要素に関連付けられた内容、および前記第1記憶要素に関連付けられた前記内容と置き換わるように構成された新しい内容の一方を第2記憶要素にコピーし、前記第2記憶要素が、前記第1記憶要素に関連付けられた消去カウントより小さい消去カウントを有し、前記第2記憶要素が、第1データ構造に関連付けられ、前記第1データ構造が、第1セットの記憶要素を含むように構成されるステップと、
前記第2記憶要素を第2データ構造に関連付け、前記第2データ構造が、第2セットの記憶要素を含むように構成され、前記第2記憶要素を前記第2データ構造に関連付けるステップが、前記第2記憶要素を前記第1データ構造から分離するステップを含むステップと、
前記第1記憶要素に関連付けられた前記内容を前記第1記憶要素から消去するステップと、
前記第1記憶要素を前記第1データ構造に関連付けるときを判定するステップと、
前記第1記憶要素が前記第1データ構造に関連付けられるべきであると判定されるとき、前記第1記憶要素を前記第1データ構造に関連付け、前記第1記憶要素を前記第1データ構造に関連付けるステップが、前記第1記憶要素を前記第2データ構造から分離するステップを含むステップと、
前記第1記憶要素が前記第1データ構造に関連付けられるべきではないと判定されるとき、前記第1記憶要素を第3データ構造に関連付け、前記第3データ構造が、第3セットの記憶要素を含むように構成されるステップとを含む、該方法。 - 前記記憶要素に関連付けられた平均消去カウントを判定し、前記第1セットの記憶要素に含まれる前記記憶要素に関連付けられた消去カウントが、前記平均消去カウントより実質的に小さく、前記第3セットの記憶要素に含まれる前記記憶要素に関連付けられた消去カウントが、前記平均消去カウントより実質的に大きいステップをさらに含む、請求項29に記載の方法。
- 前記第1記憶要素の前記内容が消去された後、前記第1記憶要素の前記消去カウントを増分させるステップをさらに含む、請求項29に記載の方法。
- 前記第1記憶要素を前記第1データ構造に関連付けるときを判定するステップが、
前記第1記憶要素の前記消去カウントを前記第3セットの記憶要素に関連付けられた記憶要素の消去カウントと比較するステップを含む、請求項31に記載の方法。 - 前記第1記憶要素の前記消去カウントが、前記第3セットの記憶要素に関連付けられた記憶要素の消去カウントより小さいと判定されるとき、前記第1記憶要素が、前記第1データ構造に関連付けられるべきであると判定される、請求項32に記載の方法。
- 前記第1記憶要素の前記消去カウントが、前記第3セットの記憶要素に関連付けられた記憶要素の少なくとも1つの消去カウントより大きいと判定されるとき、前記第1記憶要素が、前記第1データ構造に関連付けられるべきではないと判定される、請求項32に記載の方法。
- 前記第1記憶要素を前記第3データ構造に関連付けるステップが、
第3記憶要素を得て、前記第3記憶要素が、前記第3セットの記憶要素に関連付けられ、前記第3要素が、前記第1記憶要素の前記消去カウントより小さい消去カウントを有するステップと、
前記第3記憶要素を前記第1データ構造に関連付け、前記第3記憶要素を前記第1データ構造に関連付けるステップが、前記第3記憶要素を前記第3データ構造から分離するステップを含むステップとを含む、請求項34に記載の方法。 - 前記第1記憶要素を前記第2データ構造から得るステップをさらに含む、請求項29に記載の方法。
- 前記不揮発性メモリが、NANDフラッシュメモリである、請求項29に記載の方法。
- 不揮発性メモリを含むシステムにおいて摩耗一様化を実施する方法であって、前記方法が、
第1記憶要素に関連付けられた内容、および前記第1記憶要素に関連付けられた前記内容と実質的に置き換わるように構成された新しい内容の一方を、第2記憶要素にコピーし、前記第2記憶要素が、前記第1記憶要素に関連付けられた消去カウントより大きい消去カウントを有し、前記第2記憶要素が、第1データ構造に関連付けられ、前記第1データ構造が、第1セットの記憶要素を含むように構成されるステップと、
前記第2記憶要素を第2データ構造に関連付け、前記第2データ構造が、第2セットの記憶要素を含むように構成され、前記第2記憶要素を前記第1データ構造に関連付けるステップが、前記第2記憶要素を前記第1データ構造から分離するステップを含むステップと、
前記第1記憶要素に関連付けられた前記内容を前記第1記憶要素から消去するステップと、
前記第1記憶要素を第3データ構造に関連付け、前記第3データ構造が、第3セットの記憶要素を含むように構成されるステップと、
前記第3データ構造から第3記憶要素を得るステップと、
前記第3記憶要素を前記第1データ構造に関連付け、前記第3記憶要素を前記第1データ構造に関連付けるステップが、前記第3記憶要素を前記第3データ構造から分離するステップを含むステップとを含む、該方法。 - 前記第1セットの記憶要素が、平均消去カウントより大きい消去カウントをそれぞれが有する記憶要素を含み、前記第3セットの記憶要素が、前記平均消去カウントより小さい消去カウントをそれぞれが有する記憶要素を含み、前記第1記憶要素に関連付けられた前記内容が、実質的に静止である、請求項38に記載の方法。
- 前記第1記憶要素に関連付けられた前記消去カウントを、前記不揮発性メモリに関連付けられた平均消去カウントと比較するステップと、
前記第1記憶要素に関連付けられた前記消去カウントが、前記平均消去カウントより実質的に小さいときを判定し、前記第1記憶要素に関連付けられた内容を前記第2記憶要素にコピーするステップが、前記第1記憶要素に関連付けられた前記消去カウントが、前記平均消去カウントより実質的に小さいと判定されるときに行われるステップとをさらに含む、請求項38に記載の方法。 - 前記不揮発性メモリが、NANDフラッシュメモリである、請求項38に記載の方法。
- メモリ管理システムであって、前記メモリ管理システムが、不揮発性記憶要素の割付けを管理するように構成され、前記メモリ管理システムが、
第1データ構造を維持する手段であって、前記第1データ構造が、特定の量より実質的に小さくそれぞれが消去された記憶要素に関連付けられる、第1データ構造を維持する手段と、
第2データ構造を維持する手段であって、前記第2データ構造が、特定の量より実質的に大きくそれぞれが消去された記憶要素に関連付けられる、第2データ構造を維持する手段と、
第3データ構造を維持する手段であって、前記第3データ構造が、前記第1データ構造または前記第2データ構造に関連付けられていない記憶要素に関連付けられ、前記第3データ構造に関連付けられた少なくとも複数の前記記憶要素が、データを含む、該第3データ構造を維持する手段と、
前記第3データ構造の第1記憶要素が置き換えられるべきときを判定する手段と、
前記第3データ構造の前記第1記憶要素が置き換えられるべきであると判定されるとき、前記第1データ構造および前記第2データ構造の一方から選択された第2記憶要素を前記第3データ構造に関連付ける手段とを備える、メモリ管理システム。 - 前記特定の量を判定する手段であって、前記特定の量が、前記第1データ構造の記憶要素、前記第2データ構造の記憶要素、および前記第3データ構造の記憶要素に関連付けられた平均消去カウントである、前記特定の量を判定する手段をさらに含む、請求項42に記載のメモリ管理システム。
- 前記平均消去カウントを維持する手段をさらに含む、請求項43に記載のメモリ管理システム。
- 前記第1データ構造を初期化する手段と、
前記第2データ構造を初期化する手段と、
前記第3データ構造を初期化する手段とをさらに含む、請求項44に記載のメモリ管理システム。 - 前記第1データ構造から特定の量より実質的に小さくそれぞれが消去された前記記憶要素の第3記憶要素を前記第2データ構造に移動させる手段をさらに含む、請求項44に記載のメモリ管理システム。
- 前記第2データ構造からの特定の量より実質的に大きくそれぞれが消去された前記記憶要素の第3記憶要素を前記第1データ構造に移動させる手段をさらに含む、請求項44に記載のメモリ管理システム。
- 前記第1記憶要素の内容、および前記第1記憶要素に関連付けられた前記内容の少なくともいくつかと置き換わるように構成された新しい内容の一方を前記第2記憶要素にコピーする手段と、
前記第1記憶要素を消去する手段と、
前記第1記憶要素に関連付けられた消去カウントを増分させる手段とをさらに含む、請求項42に記載のメモリ管理システム。 - 前記記憶要素が、前記不揮発性メモリにおけるブロックである、請求項44に記載のメモリ管理システム。
- 前記不揮発性メモリが、NANDフラッシュメモリである、請求項49に記載のメモリ管理システム。
- メモリ管理システムであって、前記メモリ管理システムが、不揮発性記憶要素の割付けを管理するように構成され、前記メモリ管理システムが、
第1記憶要素に関連付けられた内容、および前記第1記憶要素に関連付けられた前記内容と置き換わるように構成された新しい内容の一方を第2記憶要素にコピーするためのコード装置であって、前記第2記憶要素が、前記第1記憶要素に関連付けられた消去カウントより小さい消去カウントを有し、前記第2記憶要素が、第1データ構造に関連付けられ、前記第1データ構造が、第1セットの記憶要素を含むように構成される、コード装置と、
前記第2記憶要素を第2データ構造に関連付けるためのコード装置であって、前記第2データ構造が、第2セットの記憶要素を含むように構成され、前記第2記憶要素を前記第1データ構造に関連付けるための前記コード装置が、前記第2記憶要素を前記第1データ構造から分離するためのコード装置を含む、コード装置と、
前記第1記憶要素に関連付けられた前記内容を前記第1記憶要素から消去するためのコード装置と、
前記第1記憶要素を前記第1データ構造に関連付けるときを判定するためのコード装置と、
前記第1記憶要素が前記第1データ構造に関連付けられるべきであると判定されるとき、前記第1記憶要素を前記第1データ構造に関連付けるためのコード装置であって、前記第1記憶要素を前記第1データ構造に関連付けるための前記コード装置が、前記第1記憶要素を前記第2データ構造から分離するためのコード装置を含む、コード装置と、
前記第1記憶要素が前記第1データ構造に関連付けられるべきではないと判定されるとき、前記第1記憶要素を第3データ構造に関連付けるためのコード装置であって、前記第3データ構造が、第3セットの記憶要素を含むように構成される、コード装置と、
前記コード装置を記憶するメモリと、
前記コード装置にアクセスするように構成されるプロセッサとを備える、メモリ管理システム。 - 前記記憶要素に関連付けられた平均消去カウントを判定するためのコード装置であって、前記第1セットの記憶要素に含まれる前記記憶要素に関連付けられた消去カウントが、前記平均消去カウントより実質的に小さく、前記第3セットの記憶要素に含まれる前記記憶要素に関連付けられた消去カウントが、前記平均消去カウントより実質的に大きい、コード装置をさらに含む、請求項51に記載のメモリ管理システム。
- 前記第1記憶要素の前記内容が消去された後、前記第1記憶要素の前記消去カウントを増分させるためのコード装置をさらに含む、請求項51に記載のメモリ管理システム。
- 前記第1記憶要素を前記第1データ構造に関連付けるときを判定するための前記コード装置が、
前記第1記憶要素の前記消去カウントを前記第3セットの記憶要素に関連付けられた記憶要素の消去カウントと比較するためのコード装置をさらに含む、請求項53に記載のメモリ管理システム。 - 前記第1記憶要素の前記消去カウントが、前記第3セットの記憶要素に関連付けられた記憶要素の消去カウントより小さいと判定されるとき、前記第1記憶要素が、前記第1データ構造に関連付けられるべきであると判定される、請求項54に記載のメモリ管理システム。
- 前記第1記憶要素の前記消去カウントが、前記第3セットの記憶要素に関連付けられた記憶要素の少なくとも1つの消去カウントより大きいと判定されるとき、前記第1記憶要素が、前記第1データ構造に関連付けられるべきではないと判定される、請求項54に記載のメモリ管理システム。
- 前記第1記憶要素を前記第3データ構造に関連付けるための前記コード装置が、
第3記憶要素を得るためのコード装置であって、前記第3記憶要素が、前記第3セットの記憶要素に関連付けられ、前記第3要素が、前記第1記憶要素の前記消去カウントより小さい消去カウントを有する、コード装置と、
前記第3記憶要素を前記第3データ構造から分離するためのコード装置を含む前記第3記憶要素を前記第1データ構造に関連付けるためのコード装置と、を含む、請求項56に記載のメモリ管理システム。 - 前記第1記憶要素を前記第2データ構造から得るためのコード装置をさらに含む、請求項51に記載のメモリ管理システム。
- 前記不揮発性メモリが、NANDフラッシュメモリである、請求項51に記載のメモリ管理システム。
- メモリ管理システムであって、前記メモリ管理システムが、不揮発性記憶要素の割付けを管理するように構成され、前記メモリ管理システムが、
第1記憶要素に関連付けられた内容を第2記憶要素にコピーするためのコード装置であって、前記第2記憶要素が、前記第1記憶要素に関連付けられた消去カウントより大きい消去カウントを有し、前記第2記憶要素が、第1データ構造に関連付けられ、前記第1データ構造が、第1セットの記憶要素を含むように構成される、コード装置と、
前記第2記憶要素を第2データ構造に関連付けるためのコード装置であって、前記第2データ構造が、第2セットの記憶要素を含むように構成され、前記第2記憶要素を前記第1データ構造に関連付けるための前記コード装置が、前記第2記憶要素を前記第1データ構造から分離するためのコード装置を含む、コード装置と、
前記第1記憶要素に関連付けられた前記内容を前記第1記憶要素から消去するためのコード装置と、
前記第1記憶要素を第3データ構造に関連付けるためのコード装置であって、前記第3データ構造が、第3セットの記憶要素を含むように構成される、コード装置と、
第3記憶要素を前記第3データ構造から得るためのコード装置と、
前記第3記憶要素を前記第1データ構造に関連付けるためのコード装置であって、前記第3記憶要素を前記第1データ構造に関連付けるための前記コード装置が、前記第3記憶要素を前記第3データ構造から分離するためのコード装置を含むコード装置と、
前記コード装置を記憶するための記憶領域と、
前記コード装置にアクセスするためのプロセッサとを備える、メモリ管理システム。 - 前記第1セットの記憶要素が、平均消去カウントより大きい消去カウントをそれぞれが有する記憶要素を含み、前記第3セットの記憶要素が、前記平均消去カウントより小さい消去カウントをそれぞれが有する記憶要素を含み、前記第1記憶要素に関連付けられた前記内容が実質的に静止である、請求項60に記載のメモリ管理システム。
- 前記第1記憶要素に関連付けられた前記消去カウントを前記不揮発性メモリに関連付けられた平均消去カウントと比較するためのコード装置と、
前記第1記憶要素に関連付けられた前記消去カウントが、前記平均消去カウントより実質的に小さいときを判定するためのコード装置であって、前記第1記憶要素に関連付けられた内容をコピーするための前記コード装置が、前記第1記憶要素に関連付けられた前記消去カウントが前記平均消去カウントより実質的に小さいと判定されるとき、前記第1記憶要素に関連付けられた前記内容を前記第2記憶要素にコピーするためのコード装置を含む、コード装置とをさらに含む、請求項60に記載のメモリ管理システム。 - 前記不揮発性メモリが、NANDフラッシュメモリである、請求項60に記載のメモリ管理システム。
- 前記第1要素に関連付けられた前記内容が、前記第1要素の前記内容、および前記第1要素の前記内容の少なくともいくつかと置き換わるように構成された実質的に新しい内容の一方である、請求項60に記載のメモリ管理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/281,739 US6985992B1 (en) | 2002-10-28 | 2002-10-28 | Wear-leveling in non-volatile storage systems |
PCT/US2003/028194 WO2004040578A2 (en) | 2002-10-28 | 2003-09-10 | Wear leveling in non-volatile storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006504195A true JP2006504195A (ja) | 2006-02-02 |
JP4456486B2 JP4456486B2 (ja) | 2010-04-28 |
Family
ID=32228772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004548308A Expired - Fee Related JP4456486B2 (ja) | 2002-10-28 | 2003-09-10 | 不揮発性記憶システムにおける摩耗一様化 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6985992B1 (ja) |
EP (1) | EP1559018B1 (ja) |
JP (1) | JP4456486B2 (ja) |
KR (2) | KR20110056424A (ja) |
CN (1) | CN100492322C (ja) |
AU (1) | AU2003266007A1 (ja) |
TW (1) | TWI236019B (ja) |
WO (1) | WO2004040578A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2012523045A (ja) * | 2009-03-31 | 2012-09-27 | クゥアルコム・インコーポレイテッド | ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法 |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100483552C (zh) * | 2002-10-28 | 2009-04-29 | 桑迪士克股份有限公司 | 在非易失性存储系统中执行自动磨损平衡的方法 |
US7328301B2 (en) * | 2003-04-07 | 2008-02-05 | Intel Corporation | Dynamically mapping block-alterable memories |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR20070007265A (ko) * | 2003-12-30 | 2007-01-15 | 쌘디스크 코포레이션 | 제어 데이터 관리를 구비한 비휘발성 메모리 및 방법 |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
US20090172269A1 (en) * | 2005-02-04 | 2009-07-02 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and associated data merge method |
US8122193B2 (en) * | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US8108691B2 (en) | 2005-02-07 | 2012-01-31 | Sandisk Technologies Inc. | Methods used in a secure memory card with life cycle phases |
US8423788B2 (en) | 2005-02-07 | 2013-04-16 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8321686B2 (en) | 2005-02-07 | 2012-11-27 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US7224604B2 (en) * | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US20060236025A1 (en) * | 2005-04-18 | 2006-10-19 | Intel Corporation | Method and apparatus to control number of erasures of nonvolatile memory |
US20060282610A1 (en) * | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US8966284B2 (en) | 2005-09-14 | 2015-02-24 | Sandisk Technologies Inc. | Hardware driver integrity check of memory card controller firmware |
US20070061597A1 (en) | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
KR101185617B1 (ko) * | 2006-04-04 | 2012-09-24 | 삼성전자주식회사 | 외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법 |
EP2024839B1 (en) | 2006-05-15 | 2014-07-02 | SanDisk Technologies Inc. | Non-volatile memory system with end of life calculation |
US8060718B2 (en) * | 2006-06-20 | 2011-11-15 | International Business Machines | Updating a memory to maintain even wear |
TW200814088A (en) * | 2006-09-05 | 2008-03-16 | Genesys Logic Inc | Method for increasing read/write lifespan of flash memory |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
KR100843543B1 (ko) * | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
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 |
US7904764B2 (en) * | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | Memory lifetime gauging system, method and computer program product |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
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 |
US7904672B2 (en) | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
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 |
TW200828320A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method for performing static wear leveling on flash memory |
US8423794B2 (en) | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
US20080172519A1 (en) * | 2007-01-11 | 2008-07-17 | Sandisk Il Ltd. | Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device |
US7731365B2 (en) * | 2007-03-19 | 2010-06-08 | Johnson&Johnson Vision Care, Inc. | Method of fitting contact lenses |
TWI368224B (en) * | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
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 |
JP4444314B2 (ja) * | 2007-07-13 | 2010-03-31 | 株式会社東芝 | 半導体メモリ情報蓄積装置とその書き込み制御方法 |
KR100857761B1 (ko) | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
CN100538662C (zh) * | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
US8239612B2 (en) * | 2007-09-27 | 2012-08-07 | Tdk Corporation | Memory controller, flash memory system with memory controller, and control method of flash memory |
US7876616B2 (en) * | 2007-11-12 | 2011-01-25 | Cadence Design Systems, Inc. | System and method for wear leveling utilizing a relative wear counter |
US8296498B2 (en) * | 2007-11-13 | 2012-10-23 | Sandisk Technologies Inc. | Method and system for virtual fast access non-volatile RAM |
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 |
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 |
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 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 마모도 관리 방법 |
KR100982591B1 (ko) * | 2008-03-17 | 2010-09-15 | 한양대학교 산학협력단 | 단계적 인덱싱을 위한 파일 시스템, 메인 기억장치 및플래시 기억장치 그리고 상기 단계적 인덱싱을 통한 데이터관리 방법 |
US20090254729A1 (en) * | 2008-04-07 | 2009-10-08 | Skymedi Corporation | Method of wear leveling for a non-volatile memory |
US20090259819A1 (en) * | 2008-04-09 | 2009-10-15 | Skymedi Corporation | Method of wear leveling for non-volatile memory |
JP4439569B2 (ja) * | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
JP2009266349A (ja) | 2008-04-28 | 2009-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR20110050404A (ko) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
KR101466585B1 (ko) | 2008-07-10 | 2014-11-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
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 |
TWI385669B (zh) * | 2008-07-23 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的平均磨損方法、儲存系統與控制器 |
KR101103061B1 (ko) * | 2008-07-28 | 2012-01-06 | 주식회사 팍스디스크 | 반도체 스토리지 시스템 및 그 제어 방법 |
KR20100013485A (ko) | 2008-07-31 | 2010-02-10 | 삼성전자주식회사 | 메모리 장치 및 웨어 레벨링 방법 |
CN101640069B (zh) * | 2008-08-01 | 2013-12-18 | 群联电子股份有限公司 | 用于闪速存储器的平均磨损方法与平均磨损系统 |
JP2010055247A (ja) * | 2008-08-27 | 2010-03-11 | Hitachi Ltd | ストレージシステム及び構成管理方法 |
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 |
KR100974215B1 (ko) * | 2008-10-02 | 2010-08-06 | 주식회사 하이닉스반도체 | 반도체 스토리지 시스템 및 그 제어 방법 |
CN101419842B (zh) * | 2008-11-07 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 硬盘的损耗均衡方法、装置及系统 |
US20100125696A1 (en) * | 2008-11-17 | 2010-05-20 | Prasanth Kumar | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor |
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 |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
TWI379194B (en) * | 2009-01-15 | 2012-12-11 | Phison Electronics Corp | Block management method for flash memory, and storage system and controller using the same |
JP4666081B2 (ja) * | 2009-02-09 | 2011-04-06 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4844639B2 (ja) * | 2009-02-19 | 2011-12-28 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
KR101038991B1 (ko) * | 2009-03-10 | 2011-06-03 | 주식회사 하이닉스반도체 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
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 |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
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 |
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 |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
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 |
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 |
KR101097438B1 (ko) * | 2009-10-29 | 2011-12-23 | 주식회사 하이닉스반도체 | 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법 |
US8285946B2 (en) | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
KR101090394B1 (ko) * | 2009-12-24 | 2011-12-07 | 주식회사 하이닉스반도체 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
US8621141B2 (en) * | 2010-04-01 | 2013-12-31 | Intel Corporations | Method and system for wear leveling in a solid state drive |
KR20120001405A (ko) * | 2010-06-29 | 2012-01-04 | 삼성전자주식회사 | 메모리 시스템 및 그것의 웨어 레벨링 방법 |
JP5296763B2 (ja) * | 2010-11-11 | 2013-09-25 | 株式会社バッファロー | 記憶装置、記憶プログラム及び制御方法 |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
TWI443512B (zh) * | 2011-07-13 | 2014-07-01 | Phison Electronics Corp | 區塊管理方法、記憶體控制器與記憶體儲存裝置 |
TWI585586B (zh) * | 2011-10-31 | 2017-06-01 | Data acquisition device and method thereof | |
JP5299493B2 (ja) * | 2011-11-04 | 2013-09-25 | ソニー株式会社 | メモリシステム |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
US8750045B2 (en) | 2012-07-27 | 2014-06-10 | Sandisk Technologies Inc. | Experience count dependent program algorithm for flash memory |
US9032137B2 (en) | 2012-11-21 | 2015-05-12 | Intel Corporation | Flexible wear management for non-volatile memory |
US20140181368A1 (en) * | 2012-12-26 | 2014-06-26 | Unisys Corporation | Equalizing wear on storage devices with write counters |
US9298608B2 (en) * | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
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 |
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 |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
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 |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
KR20180045091A (ko) | 2016-10-24 | 2018-05-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
US10976936B2 (en) * | 2017-08-23 | 2021-04-13 | Micron Technology, Inc. | Sensing operations in memory |
US10552145B2 (en) * | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
CN108089994B (zh) * | 2018-01-04 | 2021-06-01 | 威盛电子股份有限公司 | 存储装置以及数据保存方法 |
CN108763099B (zh) | 2018-04-18 | 2020-05-08 | 华为技术有限公司 | 系统的启动方法、装置、电子设备和存储介质 |
US11842062B2 (en) | 2022-02-09 | 2023-12-12 | Western Digital Technologies, Inc. | Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07109717B2 (ja) | 1986-05-31 | 1995-11-22 | キヤノン株式会社 | メモリ書き込み制御方法 |
JP2685173B2 (ja) | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
EP0675502B1 (en) | 1989-04-13 | 2005-05-25 | SanDisk Corporation | Multiple sector erase flash EEPROM system |
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 |
TW261687B (ja) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
JP3507132B2 (ja) | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5568423A (en) | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
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 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
US6226759B1 (en) * | 1998-09-28 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for immediate data backup by duplicating pointers and freezing pointer/data counterparts |
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,739 patent/US6985992B1/en not_active Expired - Lifetime
-
2003
- 2003-09-10 CN CNB038247860A patent/CN100492322C/zh not_active Expired - Fee Related
- 2003-09-10 EP EP03809932.1A patent/EP1559018B1/en not_active Expired - Lifetime
- 2003-09-10 WO PCT/US2003/028194 patent/WO2004040578A2/en active Application Filing
- 2003-09-10 JP JP2004548308A patent/JP4456486B2/ja not_active Expired - Fee Related
- 2003-09-10 KR KR1020117009002A patent/KR20110056424A/ko not_active Application Discontinuation
- 2003-09-10 AU AU2003266007A patent/AU2003266007A1/en not_active Abandoned
- 2003-09-10 KR KR1020057007337A patent/KR101110901B1/ko active IP Right Grant
- 2003-09-18 TW TW092125794A patent/TWI236019B/zh not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4666080B2 (ja) * | 2009-02-09 | 2011-04-06 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2012523045A (ja) * | 2009-03-31 | 2012-09-27 | クゥアルコム・インコーポレイテッド | ウェアレベリングを有する記憶デバイス上でセンシティブデータを保護するための方法 |
JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20110056424A (ko) | 2011-05-27 |
TW200406771A (en) | 2004-05-01 |
KR20050050148A (ko) | 2005-05-27 |
AU2003266007A8 (en) | 2004-05-25 |
CN1701309A (zh) | 2005-11-23 |
KR101110901B1 (ko) | 2012-04-06 |
AU2003266007A1 (en) | 2004-05-25 |
WO2004040578A3 (en) | 2004-07-15 |
EP1559018B1 (en) | 2016-01-06 |
EP1559018A2 (en) | 2005-08-03 |
CN100492322C (zh) | 2009-05-27 |
US6985992B1 (en) | 2006-01-10 |
JP4456486B2 (ja) | 2010-04-28 |
WO2004040578A2 (en) | 2004-05-13 |
TWI236019B (en) | 2005-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4456486B2 (ja) | 不揮発性記憶システムにおける摩耗一様化 | |
JP4445394B2 (ja) | 消去カウントブロックを管理する方法および装置 | |
JP4372013B2 (ja) | 不揮発性記憶システムにおける消去カウントの維持 | |
JP4758648B2 (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: 20090226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090304 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090603 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090610 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090706 |
|
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: 20100108 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4456486 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: 20130212 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |