JP2022536056A - 不揮発性メモリにおける摩耗を意識したブロック・モード変換 - Google Patents
不揮発性メモリにおける摩耗を意識したブロック・モード変換 Download PDFInfo
- Publication number
- JP2022536056A JP2022536056A JP2021571287A JP2021571287A JP2022536056A JP 2022536056 A JP2022536056 A JP 2022536056A JP 2021571287 A JP2021571287 A JP 2021571287A JP 2021571287 A JP2021571287 A JP 2021571287A JP 2022536056 A JP2022536056 A JP 2022536056A
- Authority
- JP
- Japan
- Prior art keywords
- physical blocks
- write
- block
- physical
- stream
- 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 101
- 238000006243 chemical reaction Methods 0.000 title description 4
- 238000012546 transfer Methods 0.000 claims abstract description 33
- 230000036541 health Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 36
- 238000013500 data storage Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 6
- 230000036449 good health Effects 0.000 claims 6
- 230000006870 function Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000013519 translation Methods 0.000 description 10
- 230000014616 translation Effects 0.000 description 10
- 230000005055 memory storage Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000033590 base-excision repair Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/26—Sensing or reading circuits; Data output circuits
-
- 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/1016—Performance improvement
-
- 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
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
Claims (20)
- 不揮発性メモリを動作させる方法であって、前記不揮発性メモリは複数の物理記憶ブロックを含み、各物理記憶ブロックはそれぞれの複数のセルを含み、前記複数のセルのそれぞれは個々に複数ビットのデータを記憶することが可能であり、前記方法は、
コントローラが、前記複数の物理ブロックのうちの物理ブロックを、セルあたりより多くのビットを記憶するための第1のモードで動作する物理ブロックを含む第1のプールに割り当て、前記複数の物理ブロックのうちの他の物理ブロックを、セルあたりより少ないビットを記憶するための第2のモードで動作する物理ブロックを含む第2のプールに割り当てることと、
前記コントローラが、前記第1のプールおよび前記第2のプールの間で物理ブロックを転送することであって、前記転送される物理ブロックについて測定されたビット・エラー・レートに少なくとも基づいて行われる、前記転送することと、
を含む、方法。 - 前記転送することは、
前記第1のプールから前記第2のプールに、より高いビット・エラー・レートを有する物理ブロックを転送することと、
前記第2のプールから前記第1のプールに、より低いビット・エラー・レートを有する物理ブロックを転送することと、
を含む、請求項1に記載の方法。 - 前記第1および第2のプールのそれぞれについて、
異なる書き込みヒートの複数の書き込みストリームのそれぞれのデータを記憶するために割り当てられた物理ブロックの数と、前記複数の書き込みストリームのそれぞれにおけるプログラム/消去(P/E)サイクル数とを追跡することと、
前記複数の書き込みストリームのそれぞれについて、前記書き込みストリームに割り当てられた物理ブロックの数と、前記書き込みストリームに割り当てられた前記物理ブロックのP/Eサイクルの総数とに基づいて、それぞれのストリーム摩耗指標を計算することと、
をさらに含み、
前記転送することは、(1)前記複数の書き込みストリームの中から選択された書き込みストリームと、(2)前記選択された書き込みストリームの前記ストリーム摩耗指標と、(3)前記選択された書き込みストリームのデータを記憶するために割り当てられた物理ブロックのブロック・ヘルスとに基づいて、転送用に物理ブロックを選択することを含む、
請求項1に記載の方法。 - 前記コントローラが、前記複数の書き込みストリームの全てにおける物理ブロックのブロック・ヘルスを、前記物理ブロックをプログラミングした直後に測定されるビット・エラー・レートから決定することをさらに含む、請求項3に記載の方法。
- 前記選択することは、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最大の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も良好なヘルスの物理ブロックを転送用に選択することと、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最小の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も不良なヘルスの物理ブロックを転送用に選択することと、
を含む、請求項3に記載の方法。 - 前記第1のモードはクアッド・レベル・セル(QLC)モードであり、
前記第2のモードはシングル・レベル・セル(SLC)モードである、
請求項1に記載の方法。 - 前記転送することは、前記第1および第2のプールのうちの所与の1つから利用可能なプログラムされていない物理ブロックの数が閾値を満たさないことに基づいて、前記物理ブロックを転送することを含む、請求項1に記載の方法。
- 不揮発性メモリ用のコントローラを備えるデータ・ストレージ・システムであって、前記不揮発性メモリは複数の物理記憶ブロックを含み、各物理記憶ブロックはそれぞれの複数のセルを含み、前記複数のセルのそれぞれは個々に複数ビットのデータを記憶することが可能であり、前記コントローラは、
前記複数の物理ブロックのうちの物理ブロックを、セルあたりより多くのビットを記憶するための第1のモードで動作する物理ブロックを含む第1のプールに割り当て、前記複数の物理ブロックのうちの他の物理ブロックを、セルあたりより少ないビットを記憶するための第2のモードで動作する物理ブロックを含む第2のプールに割り当てることと、
前記第1のプールおよび前記第2のプールの間で物理ブロックを転送することであって、前記転送される物理ブロックについて測定されたビット・エラー・レートに少なくとも基づいて行われる、前記転送することと、
を実行するように構成される、データ・ストレージ・システム。 - 前記転送することは、
前記第1のプールから前記第2のプールに、より高いビット・エラー・レートを有する物理ブロックを転送することと、
前記第2のプールから前記第1のプールに、より低いビット・エラー・レートを有する物理ブロックを転送することと、
を含む、請求項8に記載のデータ・ストレージ・システム。 - 前記コントローラは、
前記第1および第2のプールのそれぞれについて、
異なる書き込みヒートの複数の書き込みストリームのそれぞれのデータを記憶するために割り当てられた物理ブロックの数と、前記複数の書き込みストリームのそれぞれにおけるプログラム/消去(P/E)サイクル数とを追跡することと、
前記複数の書き込みストリームのそれぞれについて、前記書き込みストリームに割り当てられた物理ブロックの数と、前記書き込みストリームに割り当てられた前記物理ブロックのP/Eサイクルの総数とに基づいて、それぞれのストリーム摩耗指標を計算することと、
を実行するようにさらに構成され、
前記転送することは、(1)前記複数の書き込みストリームの中から選択された書き込みストリームと、(2)前記選択された書き込みストリームの前記ストリーム摩耗指標と、(3)前記選択された書き込みストリームのデータを記憶するために割り当てられた物理ブロックのブロック・ヘルスとに基づいて、転送用に物理ブロックを選択することを含む、
請求項8に記載のデータ・ストレージ・システム。 - 前記コントローラは、
前記複数の書き込みストリームの全てにおける物理ブロックのブロック・ヘルスを、前記物理ブロックをプログラミングした直後に測定されるビット・エラー・レートから決定すること
を実行するようにさらに構成される、請求項10に記載のデータ・ストレージ・システム。 - 前記選択することは、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最大の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も良好なヘルスの物理ブロックを転送用に選択することと、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最小の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も不良なヘルスの物理ブロックを転送用に選択することと、
を含む、請求項10に記載のデータ・ストレージ・システム。 - 前記第1のモードはクアッド・レベル・セル(QLC)モードであり、
前記第2のモードはシングル・レベル・セル(SLC)モードである、
請求項8に記載のデータ・ストレージ・システム。 - 前記転送することは、前記第1および第2のプールのうちの所与の1つから利用可能なプログラムされていない物理ブロックの数が閾値を満たさないことに基づいて、前記物理ブロックを転送することを含む、請求項8に記載のデータ・ストレージ・システム。
- プログラム命令を具現化するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記プログラム命令は、不揮発性メモリのコントローラによって実行可能であり、前記不揮発性メモリは複数のセルを含み、前記複数のセルのそれぞれは個々に複数ビットのデータを記憶することが可能であり、前記プログラム命令は、実行された場合に、前記コントローラに、
前記複数の物理ブロックのうちの物理ブロックを、セルあたりより多くのビットを記憶するための第1のモードで動作する物理ブロックを含む第1のプールに割り当て、前記複数の物理ブロックのうちの他の物理ブロックを、セルあたりより少ないビットを記憶するための第2のモードで動作する物理ブロックを含む第2のプールに割り当てることと、
前記第1のプールおよび前記第2のプールの間で物理ブロックを転送することであって、前記転送される物理ブロックについて測定されたビット・エラー・レートに少なくとも基づいて行われる、前記転送することと、
を実行させる、コンピュータ・プログラム製品。 - 前記転送することは、
前記第1のプールから前記第2のプールに、より高いビット・エラー・レートを有する物理ブロックを転送することと、
前記第2のプールから前記第1のプールに、より低いビット・エラー・レートを有する物理ブロックを転送することと、
を含む、請求項15に記載のプログラム製品。 - 前記プログラム命令は、前記コントローラに、
前記第1および第2のプールのそれぞれについて、
異なる書き込みヒートの複数の書き込みストリームのそれぞれのデータを記憶するために割り当てられた物理ブロックの数と、前記複数の書き込みストリームのそれぞれにおけるプログラム/消去(P/E)サイクル数とを追跡することと、
前記複数の書き込みストリームのそれぞれについて、前記書き込みストリームに割り当てられた物理ブロックの数と、前記書き込みストリームに割り当てられた前記物理ブロックのP/Eサイクルの総数とに基づいて、それぞれのストリーム摩耗指標を計算することと、
をさらに実行させ、
前記転送することは、(1)前記複数の書き込みストリームの中から選択された書き込みストリームと、(2)前記選択された書き込みストリームの前記ストリーム摩耗指標と、(3)前記選択された書き込みストリームのデータを記憶するために割り当てられた物理ブロックのブロック・ヘルスとに基づいて、転送用に物理ブロックを選択することを含む、
請求項15に記載のプログラム製品。 - 前記プログラム命令は、前記コントローラに、
前記複数の書き込みストリームの全てにおける物理ブロックのブロック・ヘルスを、前記物理ブロックをプログラミングした直後に測定されるビット・エラー・レートから決定すること
をさらに実行させる、請求項17に記載のプログラム製品。 - 前記選択することは、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最大の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も良好なヘルスの物理ブロックを転送用に選択することと、
前記選択された書き込みストリームが前記複数の書き込みストリーム全ての中で最小の摩耗を反映するストリーム摩耗指標を有することに基づいて、前記選択された書き込みストリームに割り当てられた前記物理ブロックの中から最も不良なヘルスの物理ブロックを転送用に選択することと、
を含む、請求項17に記載のプログラム製品。 - 前記転送することは、前記第1および第2のプールのうちの所与の1つから利用可能なプログラムされていない物理ブロックの数が閾値を満たさないことに基づいて、前記物理ブロックを転送することを含む、請求項15に記載のプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/439,122 | 2019-06-12 | ||
US16/439,122 US10956049B2 (en) | 2019-06-12 | 2019-06-12 | Wear-aware block mode conversion in non-volatile memory |
PCT/IB2020/055061 WO2020250071A1 (en) | 2019-06-12 | 2020-05-28 | Wear-aware block mode conversion in non-volatile memory |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022536056A true JP2022536056A (ja) | 2022-08-12 |
JPWO2020250071A5 JPWO2020250071A5 (ja) | 2022-10-27 |
JP7513356B2 JP7513356B2 (ja) | 2024-07-09 |
Family
ID=73746202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021571287A Active JP7513356B2 (ja) | 2019-06-12 | 2020-05-28 | 不揮発性メモリにおける摩耗を意識したブロック・モード変換 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10956049B2 (ja) |
JP (1) | JP7513356B2 (ja) |
CN (1) | CN113924546A (ja) |
DE (1) | DE112020002792B4 (ja) |
GB (1) | GB2599529B (ja) |
WO (1) | WO2020250071A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762569B2 (en) * | 2019-10-29 | 2023-09-19 | International Business Machines Corporation | Workload based relief valve activation for hybrid controller architectures |
US11309052B2 (en) * | 2020-08-25 | 2022-04-19 | Micron Technology, Inc. | Read voltage calibration for copyback operation |
US11494114B1 (en) | 2021-04-26 | 2022-11-08 | Micron Technology, Inc. | Read threshold adjustment techniques for non-binary memory cells |
US12073107B2 (en) * | 2021-07-19 | 2024-08-27 | Micron Technology, Inc. | Memory sub-system for monitoring mixed mode blocks |
US11853602B2 (en) * | 2021-08-11 | 2023-12-26 | Micron Technology, Inc. | Techniques for adjusting a granularity associated with read disturb tracking |
US11755208B2 (en) * | 2021-10-12 | 2023-09-12 | Western Digital Technologies, Inc. | Hybrid memory management of non-volatile memory (NVM) devices for use with recurrent neural networks |
CN114115735B (zh) * | 2021-11-18 | 2024-02-09 | 北京奥星贝斯科技有限公司 | 写入数据的方法及装置 |
US20230367496A1 (en) * | 2022-05-12 | 2023-11-16 | Micron Technology, Inc. | Block repurposing based on health metrics |
US20240296085A1 (en) * | 2023-03-02 | 2024-09-05 | International Business Machines Corporation | Write and retire pages in qlc nand blocks |
US20240345768A1 (en) * | 2023-04-11 | 2024-10-17 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | System and methods for determining an optimal data relocation at an individual read disturb event using multiple write streams |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120240012A1 (en) * | 2010-07-07 | 2012-09-20 | Stec, Inc. | Apparatus and method for multi-mode operation of a flash memory device |
US20130124787A1 (en) * | 2011-09-09 | 2013-05-16 | Ocz Technology Group Inc. | Nand flash-based storage device and methods of using |
JP2013114679A (ja) * | 2011-11-30 | 2013-06-10 | Samsung Electronics Co Ltd | ウェアレベル制御ロジックを含むメモリシステム |
JP2015215678A (ja) * | 2014-05-08 | 2015-12-03 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP2018120439A (ja) * | 2017-01-25 | 2018-08-02 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US20190121725A1 (en) * | 2017-10-25 | 2019-04-25 | Western Digital Technologies, Inc. | Performance based memory block usage |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976B (zh) * | 2008-10-15 | 2012-09-19 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
US9021177B2 (en) * | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
CN103577111B (zh) * | 2012-07-23 | 2017-05-31 | 上海宝存信息科技有限公司 | 基于非易失性存储器的动态独立冗余阵列存储系统及方法 |
US9298534B2 (en) | 2013-09-05 | 2016-03-29 | Kabushiki Kaisha Toshiba | Memory system and constructing method of logical block |
US9886208B2 (en) | 2015-09-25 | 2018-02-06 | International Business Machines Corporation | Adaptive assignment of open logical erase blocks to data streams |
US10126958B2 (en) | 2015-10-05 | 2018-11-13 | Intel Corporation | Write suppression in non-volatile memory |
US10410738B2 (en) | 2016-03-15 | 2019-09-10 | Toshiba Memory Corporation | Memory system and control method |
TWI689930B (zh) | 2016-04-27 | 2020-04-01 | 慧榮科技股份有限公司 | 快閃記憶體裝置及快閃記憶體儲存管理方法 |
US9933963B1 (en) | 2017-03-01 | 2018-04-03 | Seagate Technology | Open block handling to reduce write errors |
US11188456B2 (en) | 2017-03-21 | 2021-11-30 | Western Digital Technologies Inc. | Storage system and method for predictive block allocation for efficient garbage collection |
US10325668B2 (en) | 2017-04-05 | 2019-06-18 | Micron Technology, Inc. | Operation of mixed mode blocks |
US10229751B2 (en) | 2017-05-01 | 2019-03-12 | Western Digital Technologies, Inc. | Storage system and method for bad block recycling |
US9905294B1 (en) * | 2017-05-03 | 2018-02-27 | Seagate Technology Llc | Writing logically offset pages of data to N-level memory cells coupled to a common word line |
US10101931B1 (en) * | 2017-06-04 | 2018-10-16 | International Business Machines Corporation | Mitigating read errors following programming in a multi-level non-volatile memory |
US10437734B2 (en) | 2017-08-31 | 2019-10-08 | Micron Technology, Inc. | Memory constrained translation table management |
CN107967121B (zh) | 2017-10-25 | 2020-04-14 | 华为技术有限公司 | 数据写入方法和存储设备 |
US20190042130A1 (en) * | 2017-12-18 | 2019-02-07 | Intel Corporation | Prefix opcode method for slc entry with auto-exit option |
-
2019
- 2019-06-12 US US16/439,122 patent/US10956049B2/en active Active
-
2020
- 2020-05-28 CN CN202080040193.7A patent/CN113924546A/zh active Pending
- 2020-05-28 GB GB2117864.5A patent/GB2599529B/en active Active
- 2020-05-28 WO PCT/IB2020/055061 patent/WO2020250071A1/en active Application Filing
- 2020-05-28 JP JP2021571287A patent/JP7513356B2/ja active Active
- 2020-05-28 DE DE112020002792.9T patent/DE112020002792B4/de active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120240012A1 (en) * | 2010-07-07 | 2012-09-20 | Stec, Inc. | Apparatus and method for multi-mode operation of a flash memory device |
US20130124787A1 (en) * | 2011-09-09 | 2013-05-16 | Ocz Technology Group Inc. | Nand flash-based storage device and methods of using |
JP2013114679A (ja) * | 2011-11-30 | 2013-06-10 | Samsung Electronics Co Ltd | ウェアレベル制御ロジックを含むメモリシステム |
JP2015215678A (ja) * | 2014-05-08 | 2015-12-03 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP2018120439A (ja) * | 2017-01-25 | 2018-08-02 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US20190121725A1 (en) * | 2017-10-25 | 2019-04-25 | Western Digital Technologies, Inc. | Performance based memory block usage |
Also Published As
Publication number | Publication date |
---|---|
GB2599529A (en) | 2022-04-06 |
US10956049B2 (en) | 2021-03-23 |
WO2020250071A1 (en) | 2020-12-17 |
CN113924546A (zh) | 2022-01-11 |
DE112020002792T5 (de) | 2022-03-31 |
DE112020002792B4 (de) | 2023-05-04 |
US20200393972A1 (en) | 2020-12-17 |
GB2599529B (en) | 2023-01-04 |
JP7513356B2 (ja) | 2024-07-09 |
GB202117864D0 (en) | 2022-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7513356B2 (ja) | 不揮発性メモリにおける摩耗を意識したブロック・モード変換 | |
JP7448569B2 (ja) | データ・ストレージ・システムにおけるブロック・モード・トグリング | |
US10459808B2 (en) | Data storage system employing a hot spare to store and service accesses to data having lower associated wear | |
US10236067B2 (en) | State-dependent read voltage threshold adaptation for nonvolatile memory | |
US10241877B2 (en) | Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event | |
US11138124B2 (en) | Migrating data between block pools in a storage system | |
US10956317B2 (en) | Garbage collection in non-volatile memory that fully programs dependent layers in a target block | |
US10170195B1 (en) | Threshold voltage shifting at a lower bit error rate by intelligently performing dummy configuration reads | |
US9496043B1 (en) | Dynamically optimizing flash data retention or endurance based on data write frequency | |
US10254981B2 (en) | Adaptive health grading for a non-volatile memory | |
US9898215B2 (en) | Efficient management of page retirement in non-volatile memory utilizing page retirement classes | |
US10997080B1 (en) | Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address | |
US9740609B1 (en) | Garbage collection techniques for a data storage system | |
JP7486534B2 (ja) | ストレージ・システムにおけるブロック・プール・サイズの適合 | |
US11656792B2 (en) | Mirroring data in write caches of a controller of a non-volatile memory | |
US11797199B2 (en) | Balancing utilization of memory pools of physical blocks of differing storage densities | |
CN112346658A (zh) | 在具有高速缓存体系结构的存储设备中提高数据热量跟踪分辨率 | |
US12093171B2 (en) | Proactive data placement in high density storage by a hybrid non-volatile storage controller | |
US11907123B2 (en) | Flash memory garbage collection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231025 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20231214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240322 |
|
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: 20240604 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20240606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7513356 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |