JP2021525924A - データの2つの部分を有するメモリのデータの再配置 - Google Patents

データの2つの部分を有するメモリのデータの再配置 Download PDF

Info

Publication number
JP2021525924A
JP2021525924A JP2020567009A JP2020567009A JP2021525924A JP 2021525924 A JP2021525924 A JP 2021525924A JP 2020567009 A JP2020567009 A JP 2020567009A JP 2020567009 A JP2020567009 A JP 2020567009A JP 2021525924 A JP2021525924 A JP 2021525924A
Authority
JP
Japan
Prior art keywords
memory
data
logical block
physical
store
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
Application number
JP2020567009A
Other languages
English (en)
Inventor
パオロ アマート
パオロ アマート
ダニエーレ バルーチー
ダニエーレ バルーチー
Original Assignee
マイクロン テクノロジー,インク.
マイクロン テクノロジー,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロン テクノロジー,インク., マイクロン テクノロジー,インク. filed Critical マイクロン テクノロジー,インク.
Publication of JP2021525924A publication Critical patent/JP2021525924A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本開示は、データの2つの部分を有するメモリのデータ再配置のための装置、方法、及びシステムを含む。一実施形態はメモリを含み、メモリは、メモリセルの複数の物理ブロックと第1の部分のデータ及び第2の部分のデータとを有し、第1の部分のデータ及び第2の部分のデータは、それぞれに関連付けられる第1の数の論理ブロックアドレス及び第2の数の論理ブロックアドレスを有する。セルの複数の物理ブロックの2つはデータを記憶していない。回路が、第1の数の論理ブロックアドレスの1つに関連付けられた第1の部分のデータを、データを記憶していないセルの2つの物理ブロックの1つに再配置し、第2の数の論理ブロックアドレスの1つに関連付けられた第2の部分のデータを、データを記憶していないセルの2つの物理ブロックの他方に再配置するように構成される。

Description

本開示は、概して、半導体メモリ及びその方法に関し、より具体的には、データの2つの部分を有するメモリのデータ再配置に関する。
メモリデバイスは、通常、コンピュータまたは他の電子デバイスにおいて、内部の半導体集積回路として、及び/または外部の取り外し可能なデバイスとして提供される。揮発性メモリ及び不揮発性メモリを含む多くの様々なタイプのメモリが存在する。揮発性メモリは、そのデータを維持するために電力が必要であり得、とりわけ、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、及び同期ダイナミックランダムアクセスメモリ(SDRAM)を含み得る。不揮発性メモリは、電力が供給されないときに記憶されるデータを保持することによって永続的データを提供でき、とりわけ、NANDフラッシュメモリ、NORフラッシュメモリ、読取専用メモリ(ROM)、ならびに相変化ランダムアクセスメモリ(PCRAM)、抵抗ランダムアクセスメモリ(RRAM)、及び磁気ランダムアクセスメモリ(MRAM)等の抵抗可変メモリを含み得る。
メモリデバイスを一緒に組み合わせて、ソリッドステートドライブ(SSD)、組み込みマルチメディアカード(e.MMC)、及び/またはユニバーサルフラッシュストレージ(UFS)デバイスを形成できる。SSD、e.MMC、及び/またはUFSデバイスは、様々なタイプの不揮発性メモリ及び揮発性メモリの中でも、不揮発性メモリ(例えば、NANDフラッシュメモリ及び/もしくはNORフラッシュメモリ)を含み得る、ならびに/または、揮発性メモリ(例えば、DRAM及び/またはSDRAM)を含み得る。不揮発性メモリは、とりわけ、例えば、パーソナルコンピュータ、ポータブルメモリスティック、デジタルカメラ、携帯電話、MP3プレイヤー等のポータブルミュージックプレイヤー、ムービープレイヤー等の電子用途で使用され得る。
フラッシュメモリデバイスは、例えば、フローティングゲート等の電荷貯蔵構造にデータを記憶するメモリセルを含み得る。フラッシュメモリデバイスは、通常、高い記憶密度、高い信頼性、及び低消費電力を可能にする1トランジスタメモリセルを使用する。抵抗可変メモリデバイスは、記憶要素(例えば、可変抵抗を有する抵抗メモリ素子)の抵抗状態に基づいてデータを記憶できる抵抗メモリセルを含み得る。
メモリセルはアレイに配置でき、アレイアーキテクチャのメモリセルは標的状態(例えば、所望の状態)にプログラムできる。例えば、電荷をフラッシュメモリセルの電荷貯蔵構造(例えば、フローティングゲート)に置き、またはそこから除去して、セルを特定のデータ状態にプログラムすることができる。セルの電荷貯蔵構造に貯蔵された電荷は、セルの閾値電圧(Vt)を示すことができる。フラッシュメモリセルの状態は、セルの電荷貯蔵構造に貯蔵された電荷(例えば、Vt)を検知することによって決定できる。
追加例として、抵抗メモリセルは、抵抗メモリ素子の抵抗レベルを変化させることによって、標的データ状態に対応するデータを記憶するようにプログラムできる。特定の期間中に、正または負の電気パルス(例えば、正または負の電圧パルスまたは電流パルス)等の電界またはエネルギーの源を、セルに(例えば、セルの抵抗メモリ素子に)印加することによって、抵抗メモリセルを標的データ状態(例えば、特定の抵抗状態に対応する状態)にプログラムできる。抵抗メモリセルの状態は、例えば、印加されたインテロゲーション電圧に応答してセルを通る電流を検知することによって決定できる。検知電流は、セルの抵抗レベルに基づいて変化し、セルの状態を示すことができる。
シングルレベルメモリセル(SLC)は、2つの異なるデータ状態のうちの1つの標的状態にプログラムでき、そのデータ状態は、2進単位の1または0によって表すことができる。いくつかのフラッシュメモリセル及び抵抗メモリセルは、2つより多いデータ状態(例えば、1111、0111、0011、1011、1001、0001、0101、1101、1100、0100、0000、1000、1010、0010、0110、及び1110)の標的状態にプログラムできる。係るセルは、マルチステートメモリセル、マルチユニットセル、またはマルチレベルセル(MLC)と称され得る。MLCは、各セルが1桁よりも大きい桁(例えば、1ビットよりも大きいもの)を表すことができるため、メモリセルの数を増加させることなく、より高密度のメモリを提供できる。
本開示の実施形態による、いくつかの物理ブロックを有するメモリアレイの一部の図を示す。 本開示の実施形態による、ホストと、メモリデバイスの形態の装置とを含む、コンピューティングシステムのブロック図である。 本開示の実施形態による、メモリでデータ再配置動作を行うための回路のブロック図である。 本開示の実施形態による、メモリで行われるデータ再配置動作の概念例を示す。 本開示の実施形態によるメモリで行われる一連のデータ再配置動作の概念例を示す。 本開示の実施形態によるメモリで行われる一連のデータ再配置動作に関連付けられる値の表である。
本開示は、データの2つの部分を有するメモリのデータ再配置のための装置、方法、及びシステムを含む。一実施形態はメモリを含み、メモリは、メモリセルの複数の物理ブロックと第1の部分のデータ及び第2の部分のデータとを有し、第1の部分のデータ及び第2の部分のデータは、それぞれに関連付けられた第1の数の論理ブロックアドレス及び第2の数の論理ブロックアドレスを有する。セルの複数の物理ブロックの2つはデータを記憶していない。回路が、第1の数の論理ブロックアドレスの1つに関連付けられた第1の部分のデータを、データを記憶していないセルの2つの物理ブロックの1つに再配置し、第2の数の論理ブロックアドレスの1つに関連付けられる第2の部分のデータを、データを記憶していないセルの2つの物理ブロックの他方に再配置するように構成される。
ウェアレベリング動作は、現在メモリの1つの物理的場所に記憶されているデータを、メモリの別の物理的場所に再配置するための動作を含み得る及び/または指し得る。係るウェアレベリング動作を行うと、メモリの性能を向上させる(例えば、メモリの速度を速め、メモリの信頼性を高め、及び/またはメモリの消費電力を減少させる)ことができ、及び/またはメモリの耐久性(例えば、寿命)を長くすることができる。
以前のウェアレベリング動作では、表を使用して、メモリのデータを再配置し得る。しかしながら、係る表は大きくなり得(例えば、メモリで大量のスペースを使用し得)、ウェアレベリング動作を遅くし得る。対照的に、本開示に従ったデータを再配置するための動作(例えば、ウェアレベリング動作)は、データが再配置された物理的場所(例えば、物理ブロック)を識別するのに使用するための代数マッピング(例えば、論理アドレスと物理アドレスとの代数マッピング)を維持し得る。したがって、本開示に従ったデータを再配置するための動作は、メモリのより少ないスペースを使用し得、以前のウェアレベリング動作よりも速くなり得る。
さらに、本明細書でさらに説明するように、メモリは、データの2つの異なる部分(例えば、論理領域)を含み得る(例えば、データの2つの異なる部分に分離及び/または分割され得る)。係る場合、以前のウェアレベリング動作は、独立して、メモリのそれぞれの部分に適用する必要があり得(例えば、別の動作が、それぞれの部分に使用する必要があり得)、それぞれの部分のデータは、メモリの一部だけにわたって再配置され得る(例えば、それぞれの部分のデータは、メモリの別の物理領域にあるままであり得る)。しかしながら、係るアプローチは、メモリの性能及び/または耐久性の向上には非効率であり得る。例えば、2つの異なる論理領域のサイズ及び/またはワークロードが異なり得るため、1つの物理領域が、係るアプローチでは、他方の領域よりもストレスを受け得る。
対照的に、本開示に従ったデータを再配置するための動作(例えば、ウェアレベリング動作)は、以前のウェアレベリング動作よりも、異なる2つの部分を含むメモリでより効果的に機能し得る(例えば、性能及び/または耐久性を向上させ得る)。例えば、本開示に従ったデータを再配置するための動作は、メモリのそれぞれの部分に同時に適用され得る(例えば、同じ動作が両方の部分で使用できる)。さらに、それぞれの部分のデータは、メモリ全体にわたって再配置され得る(例えば、それぞれの部分のデータは、メモリの全ての異なる物理的場所にわたってスライドし得る)。したがって、本開示に従ったデータを再配置するための動作は、2つの部分のサイズ及び/またはワークロードの違いを考慮する(例えば、相殺する)ことが可能であり得る。
さらに、以前のウェアレベリング動作は、ハードウェアで実施可能でない場合がある。対照的に、本開示に従ったデータを再配置するための動作(例えば、ウェアレベリング動作)は、ハードウェアで実施可能(例えば、完全に実施可能)であり得る。例えば、本開示に従ったデータを再配置するための動作は、メモリのコントローラで、またはメモリ自体の内部で実施可能であり得る。したがって、本開示に従ったデータを再配置するための動作は、メモリの待ち時間に影響を与え得なく、メモリに追加のオーバーヘッドを追加し得ない。
実施形態は特定のタイプのメモリまたはメモリデバイスに限定されないが、本開示に従ったデータを再配置するための動作(例えば、ウェアレベリング動作)は、ハイブリッドメモリデバイスで行われる(例えば、実行される)ことができ、ハイブリッドメモリデバイスは、ストレージクラスメモリであり得る第1のメモリアレイと、NANDフラッシュメモリであり得るいくつかの第2のメモリアレイとを含む。例えば、動作は、第1のメモリアレイ及び/または第2の数のメモリアレイで行われ、ハイブリッドメモリの性能及び/または耐久性を向上できる。
本明細書で使用される「a」、「an」、または「いくつかの(a number of)」は、1つ以上のものを指し得、「複数の(a plurality of)」は、係る1つ以上のものを指し得る。例えば、1つのメモリデバイスは1つ以上のメモリデバイスを指し得、複数のメモリデバイスは2つ以上のメモリデバイスを指し得る。加えて、特に図面の参照番号に関して本明細書で使用される指示子「R」、「B」、「S」、及び「N」は、そのように指定された特定の特徴のいくつかが、本開示のいくつかの実施形態に含まれ得ることを示す。
本明細書の図は、最初の桁または複数桁が図面の図番に対応し、残りの桁が図面の要素または構成部分を識別する番号付けの慣習に従う。異なる図における同様の要素または構成部分は、同様の桁を使用することによって識別され得る。例えば、214は図2の要素「14」を参照し得、同様の要素を図3の314として参照し得る。
図1は、本開示の実施形態による、いくつかの物理ブロックを有するメモリアレイ101の一部の図を示す。メモリアレイ101は、例えば、NANDフラッシュメモリアレイであり得る。追加例として、メモリアレイ101は、とりわけ、例えば、3D Xpointメモリアレイ等のストレージクラスメモリ(SCM)アレイ、強誘電体RAM(FRAM)アレイ、またはPCRAM、RRAMもしくはスピントルク転送(STT)アレイ等の抵抗可変メモリアレイであり得る。(例えば、図2に関連して)本明細書でさらに説明するように、メモリアレイ101は、ハイブリッドメモリの一部であり得る。さらに、図1には示されないが、メモリアレイ101は、その動作に関連する様々な周辺回路と一緒に、特定の半導体ダイ上に位置し得る。
図1に示されるように、メモリアレイ101は、メモリセルのいくつかの物理ブロック107−0(ブロック0)、107−1(ブロック1)、…、107−B(ブロックB)を有する。メモリセルは、単一のレベルセル及び/または例えば、2レベルセル、3レベルセル(TLC)、4レベルセル(QLC)等のマルチレベルセルであり得る。例として、メモリアレイ101のいくつかの物理ブロックは、128ブロック、512ブロック、または1024ブロックであり得るが、複数の実施形態は、2の特定の指数またはメモリアレイ101のいずれの特定の数の物理ブロックにも限定されない。
メモリセルのいくつかの物理ブロック(例えば、ブロック107−0、107−1、…、107−B)をメモリセルの平面に含めることができ、メモリセルのいくつかの平面がダイに含まれ得る。例えば、図1に示される例では、物理ブロック107−0、107−1、…、107−Bのそれぞれは単一のダイの一部であり得る。すなわち、図1に示されるメモリアレイ101の一部は、メモリセルのダイであり得る。
図1に示されるように、物理ブロック107−0、107−1、…、107−Bのそれぞれは、アクセスライン(例えば、ワードライン)に結合されるメモリセルのいくつかの物理行(例えば、103−0、103−1、…、103−R)を含む。各物理ブロックの行数(例えば、ワードライン)は32であり得るが、複数の実施形態は、物理ブロック毎の特定の数の行103−0、103−1、…、103−Rに限定されない。さらに、図1には示されないが、メモリセルは、センスライン(例えば、データライン及び/またはデジットライン)に結合できる。
当業者が認識するように、行103−0、103−1、…、103−Rのそれぞれは、いくつかのメモリセルのページ(例えば、物理ページ)を含み得る。物理ページは、プログラミング及び/または検知の単位(例えば、機能上のグループとして一緒にプログラム及び/または検知されるメモリセルの数)を指す。図1に示される実施形態では、行103−0、103−1、…、103−Rのそれぞれは、メモリセルの1つの物理ページを含む。しかしながら、本開示の実施形態はそのように限定されるものではない。例えば、一実施形態では、各行は、メモリセルの複数の物理ページ(例えば、偶数のビットラインに結合されるメモリセルの1つ以上の偶数ページと、奇数のビットラインに結合されるメモリセルの1つ以上の奇数ページ)を含み得る。加えて、マルチレベルセルを含む実施形態について、メモリセルの物理ページは、データの複数のページ(例えば、論理ページ)を記憶できる(例えば、データの上位ページ及びデータの下位ページを記憶でき、物理ページの各セルは、データの上位ページに向いている(towards)1つ以上のビットと、データの下位ページに向いている1つ以上のビットとを記憶する)。
本開示の実施形態では、図1に示されるように、メモリセルのページは、いくつかの物理セクター105−0、105−1、…、105−S(例えば、メモリセルのサブセット)を含み得る。セルの物理セクター105−0、105−1、…、105−Sのそれぞれは、データのいくつかの論理セクターを記憶できる。加えて、データの各論理セクターは、データの特定のページの一部に対応し得る。例として、特定の物理セクターに記憶されるデータの第1の論理セクターはデータの第1ページに対応する論理セクターに対応し得、特定の物理セクターに記憶されるデータの第2の論理セクターはデータの第2のページに対応し得る。物理セクター105−0、105−1、…、105−Sのそれぞれは、システムデータ及び/もしくはユーザデータを記憶できる、ならびに/またはエラー訂正コード(ECC)データ、論理ブロックアドレス(LBA)データ、及びメタデータ等のオーバーヘッドデータを含み得る。
論理ブロックアドレッシングは、データの論理セクターを識別するためにホストによって使用できるスキームである。例えば、各論理セクターは一意の論理ブロックアドレス(LBA)に対応し得る。加えて、LBAは、また、メモリのデータのその論理セクターの物理的場所を示し得る物理ブロックアドレス(PBA)等の物理アドレスに対応し得る(例えば、動的にマッピングし得る)。データの論理セクターは、あるバイト数のデータ(例えば、256バイト、512バイト、1,024バイト、または4,096バイト)であり得る。しかしながら、実施形態はこれらの例に限定されない。さらに、本開示の実施形態では、(例えば、図2に関連して)本明細書でさらに説明するように、メモリアレイ101は、関連付けられる第1の数のLBAを有するデータの第1の論理領域と、関連付けられる第2の数のLBAを有するデータの第2の論理領域とに分離及び/または分割できる。
物理ブロック107−0、107−1、…、107−B、行103−0、103−1、…、103−R、セクター105−0、105−1、…、105−S、及びページの他の構成が可能であることに留意されたい。例えば、物理ブロック107−0、107−1、…、107−Bの行103−0、103−1、…、103−Rは、それぞれ、例えば512バイトよりも多いまたは少ないデータを含み得る単一の論理セクターに対応するデータを記憶できる。
図2は、本開示の実施形態による、ホスト202と、メモリデバイス206の形態の装置とを含む、コンピューティングシステム200のブロック図である。本明細書で使用される「装置」は、限定ではないが、例えば、回路もしくは複数の回路、ダイもしくは複数のダイ、モジュールもしくは複数のモジュール、デバイスもしくは複数のデバイス、またはシステムもしくは複数のシステム等の様々な構造のいずれかまたは構造の組み合わせを指し得る。さらに、一実施形態では、コンピューティングシステム200は、メモリデバイス206に類似するいくつかのメモリデバイスを含み得る。
図2に示される実施形態では、メモリデバイス206は、第1のタイプのメモリ(例えば、第1のメモリアレイ210)及び第2のタイプのメモリ(例えば、いくつかの第2のメモリアレイ212−1、…、212−N)を含み得る。メモリデバイス206はハイブリッドメモリデバイスであり得、メモリデバイス206は、いくつかの第2のメモリアレイ212−1、…、212−Nと異なるタイプのメモリである第1のメモリアレイ210を含む。第1のメモリアレイ210はストレージクラスメモリ(SCM)であり得、これが第2の数のメモリアレイ212−1、…、212−Nよりも速い時間でアクセスできるため、メモリデバイス206のメインメモリとして機能する不揮発性メモリであり得る。例えば、第1のメモリアレイ210は、とりわけ、3D Xpointメモリ、FRAM、またはPCRAM、RRAM、もしくはSTT等の抵抗可変メモリであり得る。第2の数のメモリアレイ212−1、…、212−Nは、メモリデバイス206のデータストア(例えば、ストレージメモリ)として機能でき、いくつかのタイプのメモリの中でも、NANDフラッシュメモリであり得る。
図2に示される実施形態は第1のタイプのメモリの1つのメモリアレイを含むが、本開示の実施形態はそのようには限定されない。例えば、一実施形態では、メモリデバイス206は、いくつかのSCMアレイを含み得る。しかしながら、メモリデバイス206は、第2のタイプのメモリよりも少ない第1のタイプのメモリを含み得る。例えば、メモリアレイ210は、メモリアレイ212−1、…、212−Nに記憶されるよりも少ないデータを記憶し得る。
メモリアレイ210及びメモリアレイ212−1、…、212−Nは、図1に関連して前述に説明したメモリアレイ101と類似する方法で、それぞれ、メモリセルの複数の物理ブロックを有することができる。さらに、メモリ(例えば、メモリアレイ210及び/またはメモリアレイ212−1、…、212−N)は、データの2つの異なる部分(例えば、論理領域)を含み得る(例えば、データの2つの異なる部分に分離及び/または分割できる)。例えば、メモリは、関連付けられる第1の数(例えば、第1の量)の論理ブロックアドレス(LBA)を有する第1の部分のデータと、関連付けられる第2の数(例えば、第2の量)のLBAを有する第2の部分のデータとを含み得る。第1の数のLBAは、例えば、LBAの第1のシーケンスを含み得、第2の数のLBAは、例えば、LBAの第2のシーケンスを含み得る。
例として、第1の部分のデータはユーザデータを含み得、第2の部分のデータはシステムデータを含み得る。追加例として、第1の部分のデータは、メモリで行われるプログラム動作及び/または検知動作の間に、特定の頻度でまたは特定の頻度よりも多くアクセスされているデータ(例えば、関連付けられたLBAがアクセスされているデータ)を含み得、第2の部分のデータは、メモリで行われるプログラム動作及び/または検知動作の間に特定の頻度よりも少なくアクセスされているデータ(例えば、関連付けられるLBAがアクセスされているデータ)を含み得る。係る例では、第1の部分のデータは「ホット」データとして分類されるデータを含み得、第2の部分のデータは「コールド」データとして分類されるデータを含み得る。追加例として、第1の部分のデータはオペレーティングシステムデータ(例えば、オペレーティングシステムファイル)を含み得、第2の部分のデータはマルチメディアデータ(例えば、マルチメディアファイル)を含み得る。係る例では、第1の部分のデータは、「クリティカル」データとして分類されるデータを含み得、第2の部分のデータは「非クリティカル」データとして分類されるデータを含み得る。
LBAの第1の数及び第2の数は同じであり得る(例えば、第1の部分及び第2の部分のデータは同じサイズであり得る)、またはLBAの第1の数はLBAの第2の数とは異なり得る(例えば、第1の部分及び第2の部分のデータのサイズは異なり得る)。例えば、LBAの第1の数は、LBAの第2の数よりも大きくなり得る(例えば、第1の部分のデータのサイズは、第2の部分のデータのサイズよりも大きくなり得る)。さらに、第1の数のLBAのそれぞれ1つのサイズは、第2の数のLBAのそれぞれ1つのサイズと同じであり得る、または第1の数のLBAのそれぞれ1つのサイズは、第2の数のLBAのそれぞれ1つのサイズと異なり得る。例えば、第1の数のLBAのそれぞれ1つのサイズは、第2の数のLBAのそれぞれ1つのサイズの倍数であり得る。さらに、メモリのそれぞれの部分に関連付けられるLBAをランダム化できる。例えば、LBAは静的ランダマイザーによって処理できる。
一実施形態では、メモリの複数の物理ブロックの少なくとも2つは、有効データを記憶し得ない。例えば、メモリの物理ブロックの2つがブランクであり得る。これらの物理ブロックは、メモリの第1の部分のデータ及び第2の部分のデータを分離し得る(例えば、第1の部分のデータと第2の部分との間にあり得る)。例えば、これらの2つの物理ブロックの第1の物理ブロックは、第1の部分のデータの後に及び第2の部分のデータの前にあり得、2つの物理ブロックの第2の物理ブロックは、第2の部分の後に及び第1の部分の前にあり得る。これらの物理ブロックは、本明細書では、分離ブロックと称され得る。係る2つの分離ブロックによって分離されるデータの2つの異なる部分を有するメモリを示す例が、(例えば、図4に関連して)本明細書でさらに説明される。
図2に示されるように、ホスト202は、インターフェース204を介してメモリデバイス206に結合できる。ホスト202及びメモリデバイス206は、インターフェース204において通信できる(例えば、コマンド及び/またはデータを送信できる)。ホスト202は、ホストシステムの中でも、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル記録及び再生デバイス、携帯電話、PDA、メモリカードリーダ、またはインターフェースハブであり得、メモリアクセスデバイス(例えば、プロセッサ)を含み得る。当業者は、「プロセッサ」が、並列処理システム等の1つ以上のプロセッサ、いくつかのコプロセッサを意図し得ることを認識する。
インターフェース204は、標準化された物理インターフェースの形態であり得る。例えば、メモリデバイス206がコンピューティングシステム200の情報ストレージに使用されるとき、インターフェース204は、他の物理コネクタ及び/または物理インターフェースの中でも、シリアルアドバンスドテクノロジアタッチメント(SATA)物理インターフェース、周辺機器相互接続エクスプレス(PCIe)物理インターフェース、ユニバーサルシリアルバス(USB)物理インターフェース、または小型コンピュータシステムインターフェース(SCSI)であり得る。しかしながら、概して、インターフェース204は、メモリデバイス206と、インターフェース204と互換性のあるレセプタを有するホスト(例えば、ホスト202)との間で、制御信号、アドレス信号、情報信号(例えば、データ)、及び他の信号を渡すためのインターフェースを提供できる。
メモリデバイス206はコントローラ208を含み、コントローラ208により、ホスト202と、ならびに第1のメモリアレイ210及びいくつかの第2のメモリアレイ212−1、…、212−Nと通信する。コントローラ208は、第1のメモリアレイ210及びいくつかの第2のメモリアレイ212−1、…、212−Nで動作を行うためのコマンドを送信できる。コントローラ208は、第1のメモリアレイ210及びいくつかの第2のメモリアレイ212−1、…、212−Nと通信して、いくつかの動作の中でも、データを検知(例えば、読み取り)、プログラム(例えば、書き込み)、移動、及び/または消去できる。
コントローラ208は、メモリ210及び212−1、…、212−Nと同じ物理デバイス(例えば、同じダイ)に含まれ得る。代替として、コントローラ208は、メモリ210及び212−1、…、212−Nを含む物理デバイスに通信可能に結合される別の物理デバイスに含まれ得る。一実施形態では、コントローラ208の構成部分は、分散コントローラとして、複数の物理デバイス(例えば、メモリと同じダイのいくつかの構成部分、及び異なるダイ、モジュール、またはボードのいくつかの構成部分)にわたって分散できる。
ホスト202は、メモリデバイス206と通信するためのホストコントローラを含み得る。ホストコントローラは、インターフェース204を介してメモリデバイス206にコマンドを送信できる。ホストコントローラは、メモリデバイス206及び/またはメモリデバイス206上のコントローラ208と通信し、いくつかの動作の中でも、データを読み取り、書き込み、及び/または消去できる。
メモリデバイス206のコントローラ208及び/またはホスト202のホストコントローラは、制御回路及び/または論理回路(例えば、ハードウェア及びファームウェア)を含み得る。一実施形態では、メモリデバイス206のコントローラ208及び/またはホスト202のホストコントローラは、物理インターフェースを含むプリント回路基板に結合される特定用途向け集積回路(ASIC)であり得る。また、メモリデバイス206及び/またはホスト202は、揮発性メモリ及び/または不揮発性メモリのバッファと、いくつかのレジスタとを含み得る。
例えば、図2に示されるように、メモリデバイスは回路214を含み得る。図2に示される実施形態では、回路214はコントローラ208に含まれる。しかしながら、本開示の実施形態はそのように限定されない。例えば、一実施形態では、回路214は、(例えば、コントローラ208にある代わりに)、メモリ210及び/またはメモリ212−1、…、212−Nに(例えば、それらと同じダイに)含まれ得る。
回路214は、例えば、ハードウェアを含み得、本開示に従って、メモリアレイ210及び/またはメモリアレイ212−1、…、212−Nに記憶されるデータを再配置するウェアレベリング動作を行うことができる。例えば、回路214は、第1の数のLBAの特定の1つに関連付けられる第1の部分のデータのデータを2つの分離ブロックの1つに再配置でき、第2の数のLBAの特定の1つに関連付けられる第2の部分のデータのデータを2つの分離ブロックの他方に再配置できる。
例えば、回路214は、第1の数のLBAの最後のもの(例えば、LBAの第1のシーケンスの最後のLBA)に関連付けられる第1の部分のデータを、第2の分離ブロック(例えば、第2の部分の後に及び第1の部分の前にある分離ブロック)に再配置でき、回路214は、第2の数のLBAの最後のもの(例えば、LBAの第2のシーケンスの最後のLBA)に関連付けられる第2の部分のデータを、第1の分離ブロック(例えば、第1の部分の後に及び第2の部分の前にある分離ブロック)に再配置できる。係るデータ再配置は、メモリの2つの異なる物理ブロックが有効データを記憶しないことをもたらし得る(例えば、メモリの2つの異なる物理ブロックが分離ブロックになることをもたらし得る)。例えば、第1の数のLBAの最後のものに関連付けられる第1の部分のデータを再配置すると、異なる物理ブロックが第2の部分の後に及び第1の部分の前にある分離ブロックになることをもたらし得、第2の数のLBAの最後のものに関連付けられる第2の部分のデータを再配置すると、異なる物理ブロックが第1の部分の後に及び第2の部分の前にある分離ブロックになることをもたらし得る。さらに、第1の数のLBAの最後のものに関連付けられる第1の部分のデータを再配置すると、第1の数のLBAの異なるもの(例えば、LBAの第1のシーケンスの最後から2番目のLBA)が第1の数のLBAの最後のものになることをもたらし得、第2の数のLBAの最後のものに関連付けられる第2の部分のデータを再配置すると、第2の数のLBAの異なるもの(例えば、LBAの第2のシーケンスの最後から2番目のLBA)が第2の数のLBAの最後のものになることをもたらし得る。係るデータ再配置動作を示す例が、(例えば、図3及び図4に関連して)本明細書でさらに説明される。
一実施形態では、回路214は、トリガーイベントに応答してデータを再配置するための動作を行い得る。トリガーイベントは、例えば、メモリで行われている(例えば、実行されている)100個のプログラム動作等の特定の数のプログラム動作であり得る。例えば、行われている特定の数のプログラム動作に応答して開始信号を送信するためにカウンタ(図2に示されない)を構成し得、回路214は、カウンターからの開始信号の受信に応答して、データを再配置するための動作を行い得る。追加例として、トリガーイベントは、例えば、メモリデバイス206がアクティブモードからスタンバイモード、アイドルモード、またはパワーダウンモードに移行する等の、メモリで発生する電力状態遷移であり得る。
一実施形態では、第2の部分のデータは、第1の部分のデータが再配置されるとすぐに再配置され得る。しかしながら、いくつかの場合、ホスト202によって要求されるプログラム動作または検知動作等の動作を行うために、データを再配置するための動作を一時停止する必要があり得る。係る場合、ホストによって要求された動作は、第1の部分のデータが再配置されると(例えば、データの再配置が完了すると)行われ得、第2の部分のデータは、要求された動作が行われると(例えば、動作が完了すると)再配置され得る。
いったんデータが再配置されると、回路214は、代数マッピングを使用して、データが再配置されているメモリの物理的場所を識別できる。例えば、回路214は、代数マッピング(例えば、代数による論理的から物理的へのマッピング)を使用して、第1の部分のデータが再配置されている物理ブロックのメモリの場所(例えば、PBA)(例えば、第2の分離ブロックの場所)と、メモリの第2の部分のデータが再配置されている物理ブロックのメモリの場所(例えば、PBA)(例えば、第1の分離ブロックの場所)とを識別(例えば、算出)できる。例えば、回路214は、代数マッピングを使用して、(例えば、ホスト202から、第1の数のLBAの1つを読み取る要求を受信すると)動作中に第1の部分のデータが再配置されている物理ブロックのメモリの場所を識別し、その再配置されたデータを検知でき、(例えば、ホスト202から、第2の数のLBAの1つを読み取る要求を受信すると)動作中に第2の部分のデータが再配置されている物理ブロックのメモリの場所を識別し、その再配置されたデータを検知できる。係る代数マッピングは、(例えば、図3に関連して)本明細書でさらに説明される。
回路214は、さらに、メモリの全存続期間にわたって、メモリアレイ210及び/またはメモリアレイ212−1、…、212−Nに記憶されるデータを再配置する追加の(例えば、後続の)ウェアレベリング動作を行うことができる。例えば、回路214は、追加の(例えば、後続の)動作を行い、追加の(例えば、後続の)トリガーイベントに応答してデータを再配置できる。
例えば、本明細書で前述に説明した例示的な動作に続いて行われるメモリのデータを再配置するための動作において、回路214は、第1の数のLBAの異なるもので、ここで最後のLBAになっているもの(例えば、以前はLBAの第1のシーケンスの最後から2番目のLBAであったもの)に関連付けられる第1の部分のデータを、ここで第2の部分の後に及び第1の部分の前にある分離ブロックになっている異なる物理ブロックに再配置でき、回路214は、第2の数のLBAの異なるもので、ここで最後のLBAになっているもの(例えば、以前はLBAの第2のシーケンスの最後から2番目のLBAであったもの)に関連付けられる第2の部分のデータを、ここで第1の部分の後に及び第2の部分の前にある分離ブロックになっている異なる物理ブロックに再配置できる。係るデータ再配置により、再度、メモリの2つの異なる物理ブロックが分離ブロックになり、第1の数のLBA及び第2の数のLBAの異なるものが、各々、第1の数のLBA及び第2の数のLBAの最後のものになり、後続のデータ再配置動作を類似の方法で継続して行うことができる。係る一連の後続のデータ再配置動作を示す例が、(例えば、図5A〜5Bに関連して)本明細書でさらに説明される。
図2に示される実施形態は、本開示の実施形態を不明瞭にしないように図示されていない、追加の回路、論理回路、及び/または構成部分を含み得る。例えば、メモリデバイス206は、I/O回路を経由してI/Oコネクタを通じて提供されるアドレス信号をラッチするアドレス回路を含み得る。アドレス信号をロウデコーダ及びカラムデコーダによって受信及び復号し、メモリアレイ210及び212−1、…、212−Nにアクセスできる。さらに、メモリデバイス206は、メモリアレイ210−1及び212−1、…、212−Nから分離している、及び/またはメモリアレイ210−1及び212−1、…、212−Nに加えて、例えば、DRAMまたはSDRAM等のメインメモリを含み得る。
図3は、本開示の実施形態による、メモリでデータ再配置動作を行うための回路314のブロック図である。回路314は、例えば、図2に関連して前述に説明した回路214であり得る。
図3に示されるように、回路314は、4つのレジスタ(例えば、第1のレジスタ320−1、第2のレジスタ320−2、第3のレジスタ320−3、及び第4のレジスタ320−4)を含み得る。レジスタ320−1は、第1の数のLBAの最初のLBA(例えば、LBAの第1のシーケンスの最初のLBA)に関連付けられるメモリの第1の部分のデータのPBAを示す(例えば、指す)値を記憶できる。この値は、本明細書では、「S」と称され得る。
レジスタ320−2は、データを記憶していないメモリの2つの物理ブロックの1つのPBAを示す値を記憶でき、レジスタ320−3は、データを記憶していない2つの物理ブロックの他方のPBAを示す値を記憶できる。例えば、レジスタ320−2は、第1の部分のデータの後に及び第2の部分のデータの前にある物理ブロック(例えば、第1の分離ブロック)のPBAを示す値を記憶でき、レジスタ320−3は第2の部分の後に及び第1の部分の前にある物理ブロック(例えば、第2の分離ブロック)のPBAを示す値を記憶できる。レジスタ320−2によって記憶される値は本明細書では「g」と称され得、レジスタ320−3によって記憶される値は本明細書では「g」と称され得る。
レジスタ320−4は、メモリの第2の部分のデータにおける第2の数のLBAの最初のLBA(例えば、LBAの第2のシーケンスにおける最初のLBA)の相対位置を示す値を記憶できる。この値は、本明細書では「r」と称され得る。
回路314は、レジスタ320−1、320−2、320−3、及び320−4に記憶される値(例えば、S、g、g、及びr)を使用して、メモリで本開示に従ったデータ再配置動作を行うことができる。例えば、回路314は、実行可能命令を表す下記のコードの例を使用して、本開示に従ったデータ再配置動作を行うことができる。下記の例では、「nPBA」はメモリのPBAの総数(例えば、総量)を表し、「n」は、第1の部分のデータに関連付けられるLBAの総数(例えば、LBAの第1の数)を表し、「n」は、第2の部分のデータに関連付けられるLBAの総数(例えば、第2の数のLBA)を表し、「sep」は、それぞれの分離ブロックごとのPBAの数を表す。
1:procedure STEP
2: Do StepB
3: Do StepA
4:end procedure
1:procedure StepB
2: PBA g−1(mod nPBA)の内容をg+sep−1(mod nPBA)に移動
3: g←g−1(mod nPBA
4: r←r+1(mod n
5:end procedure
1:procedure StepA
2: PBA g−1(mod nPBA)の内容をg+sep(mod nPBA)に移動
3: g←g−1(mod nPBA
4: if g=S then
5: S←S+n+2sep(mod nPBA
6: end if
7:end procedure
さらに、回路314は、レジスタ320−1、320−2、320−3、及び320−4に記憶される値(例えば、S、g、g、及びr)を使用して、代数マッピング(例えば、代数による論理的から物理的へのマッピング)を行い、(例えば、本明細書で前述に説明したように、検知動作中に)データが再配置されたメモリの物理的場所(例えば、PBA)を識別できる。例えば、回路314は、下記の「第1の部分のマッピング」を使用して、第1の部分のデータに関連付けられる、下記に「l」として表されるLBAのいずれかについて、下記に「p」として表されるPBAを算出でき、回路314は、下記の「第2の部分のマッピング」を使用して、第2の部分のデータに関連付けられるLBAのいずれかに対するPBAを算出できる。
第1の部分のマッピング
Figure 2021525924
ここで、l∈{0,…,n−1}
第2の部分のマッピング
p=((l+r)mod n+g+sep)mod nPBA
ここで、l∈{0,…,n−1}
図4は、本開示の実施形態による、メモリで行われるデータ再配置動作の概念例430を示す。メモリは、例えば、図2に関連して前述に説明したメモリアレイ210、及び/またはメモリアレイ212−1、…、212−Nであり得、例えば、図2及び図3に関連して各々前述に説明した回路214及び/または回路314によって、データ再配置動作を行うことができる。
図4に示される例では、メモリは、PBAの0〜9によって表されるメモリセルの10個の物理ブロックを含む(例えば、PBAの0は第1の物理ブロックに対応し、PBAの1は第2の物理ブロックに対応し、PBAの2は第3の物理ブロックに対応する等)。さらに、図4に示される例では、メモリは、部分A及び部分Bと称され得るデータの2つの異なる部分(例えば、論理領域)を含む(例えば、データの2つの異なる部分に分離及び/または分割される)。図4に示されるように、部分Aのデータは、それに関連付けられる5つのLBA(例えば、LBAのA0〜A4)を有し、部分Bのデータは、それに関連付けられる3つのLBA(例えば、LBAのB0〜B2)を有する。図4に示される例では、LBAサイズは部分A及び部分Bについて同じである。さらに、図4に示される「S」は、LBAのA0に関連付けられる部分AのデータのPBAを示し、図4に示される「r」は、部分BのLBAのB0の相対位置(例えば、部分Bに関連付けられるLBAのシーケンスにおけるLBAのB0の相対位置)を示す。
さらに、図4に示される例では、メモリの2つの物理ブロックは、有効データを記憶しておらず、部分A及び部分Bを分離する(例えば、部分Aと部分Bとの間にある)。これらのブロックは、(本明細書で前述に説明したように)分離ブロックと称され得、図4では「−−」記号によって表される。図4に示される例では、「g」は、部分Aの後に及び部分Bの前にある分離ブロックのPBAを示し、「g」は、部分Bの後に及び部分Aの前にある分離ブロックのPBAを示す。
図4に示される例では、それぞれの分離ブロックは、部分A及び部分BのLBAサイズと同じサイズである1つのPBAを含む。しかしながら、部分A及び部分BのLBAサイズが異なる例では、例えば、一方の部分のサイズが他方の倍数である場合、各分離ブロック内のPBAの数はその倍数に等しくなり得る。例えば、部分BのLBAサイズがPBAサイズと等しいが、部分AのLBAサイズが4つのPBAである場合、各分離ブロックのPBAの数は4になる。
図4の「ステップ0」のラベルが付いた列は、データ再配置動作が行われる前のメモリ内のデータ割り当てを示す。例えば、図4に示されるように、データ再配置動作が行われる前に、部分AのデータはPBAの0〜4に位置し、部分BのデータはPBAの6〜8に位置し、部分Aの後に及び部分Bの前にある分離ブロックはPBAの5(例えば、gによって示される)に位置し、部分Bの後に及び部分Aの前にある分離ブロックはPBAの9(例えば、gによって示される)に位置する。さらに、図4に示されるように、データ再配置動作が行われる前の部分BのLBAのB0の相対位置は最初の位置である(例えば、LBAのB0は、rの値によって示されるように、部分Bに関連付けられるLBAのシーケンスの最初である)。
データ再配置動作は、図4の「ステップ1B」列及び「ステップ1A」列で表される2つのサブステップに分割できる。図4に示されるように、第1のサブステップ(例えば、ステップ1B)の間、部分Bの最後のLBAに関連付けられる部分Bのデータ(例えば、LBAのB2に関連付けられるデータ)は、部分Aの後に及び部分Bの前にある分離ブロック(例えば、gによって示される分離ブロック)に再配置される。すなわち、第1のサブステップ(例えば、ステップ1B)では、部分Bの最後のLBAに関連付けられるデータが上に移動し、部分Bの最初のLBAの前に位置する(例えば、LBAのB2に関連付けられるデータが上に移動し、LBAのB0及びB1に関連付けられるデータの前に位置する)。図4に示されるように、第2のサブステップ(例えば、ステップ1A)の間、部分Aの最後のLBAに関連付けられる部分Aのデータ(例えば、LBAのA4に関連付けられるデータ)は、部分Bの後に及び部分Aの前にある分離ブロックに(例えば、gによって示される分離ブロックに)再配置される。すなわち、第2のサブステップでは、部分Aの最後のLBAに関連付けられるデータが下に移動し、部分BのLBAの後に位置する(例えば、LBAのA4に関連付けられるデータが下に移動し、LBAのB2、B0、及びB1に関連付けられるデータの後に位置する)。
図4に示されるように(例えば、各々、ステップ1Bの後に、g及びgによって示されるように)、データ再配置動作の結果として(例えば、ステップ1B及びステップ1Aが行われた後の結果として)、PBAの4は、部分Aの後に及び部分Bの前にある分離ブロックになり、PBAの8は、部分Bの後に及び部分Aの前にある分離ブロックになる。また、図4に示されるように、データ再配置動作の結果として、部分Aの最後から2番目のLBA(例えば、LBAのA3)は、部分Bの前にある部分Aの最後のLBAになり、部分BのLBAの最後から2番目のLBA(例えば、LBAのB1)は、部分Bの最後のLBAになる。また、データ再配置動作の結果として、図4に示されるように、部分AのデータはPBAの0〜3及びPBAの9に位置するようになり、部分BのデータはPBAの5〜7に位置するようになる。また、データ再配置動作の結果として、図4に示されるように、部分BのLBAのB0の相対位置が2番目になる(例えば、rの値によって示されるように、LBAのB0は、部分Bに関連付けられるLBAのシーケンスの2番目になる)。
図4に示される例では、各サブセットはデータ再配置動作中に1回実行する。しかしながら、例えば、一方の部分のサイズが他方の倍数である場合のように、部分A及び部分BのLBAサイズが異なる例では、ステップ1A及び/またはステップ1Bは複数回実行する必要があり得る。例えば、部分BのLBAサイズがPBAサイズと等しいが、部分AのLBAサイズが4つのPBAである例では、ステップ1Bを4回実行するであろう、そして、ステップ1Aを1回実行するであろう。
図5Aは、本開示の実施形態による、メモリで行われる一連のデータ再配置動作の概念例540を示す。メモリは、図4に関連して前述に説明したメモリに類似し、データ再配置動作は、例えば、図2及び図3に関連して各々前述に説明した回路214及び/また回路314によって行われ得る。図5Bは、一連のデータ再配置動作に関連するS、g、g、及びrの値の表545である。S、g、g、及びrは、各々、図4に関連して前述に説明したS、g、g、及びrに類似する。図5A及び図5Bの各「ステップ」の列は、サブステップB及びサブセットAの両方を行った結果を表す(例えば、「ステップ1」は、図4に関連して説明したサブステップ1B及びサブステップ1Aの組み合わせである)。
図5Aの「ステップ0」のラベルが付いた列は、シーケンスの第1のデータ再配置動作が行われる前のメモリ内のデータ割り当てを示し、図4に関連して説明した「ステップ0」の列に類似する。例えば、図5Bに示されるように、ステップ0の列(例えば、第1のデータ再配置動作が行われる前の状態のもの)のS、g、g、及びrの値は、各々、図4に関連して説明した0、5、9、及び0である。
図5Aの「ステップ1」〜「ステップ6」のラベルが付いた列は、一連のそれぞれのデータ再配置動作の実行後のメモリ内のデータ割り当てを示す。例えば、ステップ1の列は第1のデータ再配置動作の実行後のデータ割り当てを示し、図4に関連して説明したサブステップ1B及びサブステップ1Aの組み合わせ効果に類似する。ステップ2の列は第2のデータ再配置動作の実行後のデータ割り当てを示し、ステップ3の列は第3のデータ再配置動作の実行後のデータ割り当てを示す等である。さらに、図5Bの「ステップ1」〜「ステップ6」のラベルが付いた列は、一連のそれぞれのデータ再配置動作の実行後のS、g、g、及びrの値を示す。例えば、図5A及び図5Bのステップ1の列に各々示されるデータ割り当て及び値は、図4に関連して説明した、データ割り当てと、再配置動作の後のS、g、g、及びrの値に類似する。
図5Aのステップ2の列に示されるように、シーケンスの第2のデータ再配置動作の実行後、ステップ1の後に部分Bの最後のLBAに関連付けられていた部分Bのデータ(例えば、LBAのB1に関連付けられたデータ)は、ステップ1の後に部分Aの後に及び部分Bの前にあった分離ブロックに(例えば、PBAの4に)再配置され、ステップ1の後に部分Aの最後のLBAに関連付けられていた部分Aのデータ(例えば、LBAのA3に関連付けられたデータ)は、ステップ1の後に部分Bの後に及び部分Aの前にあった分離ブロックに(例えば、PBAの8に)再配置される。さらに、図5Aのステップ2の列に示されるように、PBAの3は部分Aの後に及び部分Bの前にある分離ブロックになっており、PBAの7は部分Bの後に及び部分Aの前にある分離ブロックになっている(図5Bのステップ2の列において、各々、g及びgの値によって示される)。さらに、図5Aのステップ2の列に示されるように、ステップ1の後に部分AのLBAの最後から2番目であったLBA(例えば、LBAのA2)は、部分Bの前にある部分AのLBAの最後になっており、ステップ1の後に部分BのLBAの最後から2番目であったLBA(例えば、LBAのB0)は、部分Bの最後のLBAになっている。さらに、図5Aのステップ2の列に示されるように、部分AのデータはPBAの0〜2及びPBAの8〜9に位置するようになっており、部分BのデータはPBAの4〜6に位置するようになっており、図5Bのステップ2の列のSの値によって示されるように、LBAのA0に関連付けられる部分AのデータのPBAはPBAの0にあるままである。さらに、図5Aのステップ2の列に示されるように、部分BにおけるLBAのB0の相対位置は、図5Bのステップ2の列のrの値によって示されるように3番目になっている。
図5Aのステップ3の列に示されるように、シーケンスの第3のデータ再配置動作の実行後、ステップ2の後に部分Bの最後のLBAに関連付けられていた部分Bのデータ(例えば、LBAのB0に関連付けられたデータ)は、ステップ2の後に部分Aの後に及び部分Bの前にあった分離ブロック(例えば、PBAの3)に再配置され、ステップ2の後に部分Aの最後のLBAに関連付けられていた部分Aのデータ(例えば、LBAのA2に関連付けられたデータ)は、ステップ2の後に部分Bの後に及び部分Aの前にあった分離ブロック(例えば、PBAの7)に再配置される。さらに、図5Aのステップ2の列に示されるように、PBAの2は部分Aの後に及び部分Bの前にある分離ブロックになっており、PBAの6は部分Bの後に及び部分Aの前にある分離ブロックになっている(図5Bのステップ3の列において、各々、g及びgの値によって示される)。さらに、図5Aのステップ3の列に示されるように、ステップ2の後に部分AのLBAの最後から2番目であったLBA(例えば、LBAのA1)は、部分AのLBAの最後になっており、ステップ2の後に部分BのLBAの最後から2番目であったLBA(例えば、LBAのB2)は、部分Bの最後のLBAになっている。さらに、図5Aのステップ3の列に示されるように、部分AのデータはPBAの0〜1及びPBAの7〜9に位置するようになっており、部分BのデータはPBAの3〜5に位置するようになっており、図5Bのステップ3の列のSの値によって示されるように、LBAのA0に関連付けられる部分AのデータのPBAはPBAの0にあるままである。さらに、図5Aのステップ3の列に示されるように、部分BのLBAのB0の相対位置は、図5Bのステップ3の列のrの値によって示されるように1番目になっている。
シーケンスの第4、第5、及び第6のデータ再配置動作は、各々、図5A及び図5Bのステップ4、ステップ5、及びステップ6の列に示されるように、類似の方法で継続できる。したがって、データ再配置動作の結果は、部分Bの最後のLBAに関連付けられていたデータが連続的に上に移動し、部分Bの最初のLBAの前に位置することと、部分Aの最後のLBAに関連付けられていたデータが連続的に下に移動し、部分BのLBAの後になるように位置することとをもたらし、それにより、メモリの動作全体にわたって、部分Bは上に移動し、部分Aは下に移動することが分かり得る。したがって、一連のデータ再配置動作により、メモリの動作全体にわたって、それぞれのLBAに関連付けられるデータを異なるPBAに移動するだけではなく、データの2つの異なる部分は静的ではなくなる(例えば、それぞれの部分のデータが位置するPBAは、メモリの動作全体にわたって継続して変化する)。すなわち、それぞれの部分のデータは、メモリの動作全体にわたって、メモリ全体にわたって再配置され得る。
(例えば、図2に関連して)本明細書で前述に説明したように、別のトリガーイベントに応答して、一連のそれぞれのデータ再配置動作を行なうことができる。図5A〜図5Bに示される例示的なシーケンスは6つのデータ再配置動作を含むが、本開示の実施形態はそのように限定されない。例えば、メモリの全存続期間にわたって類似の方法で、(例えば、後続のトリガーイベントに応答して)追加のデータ再配置動作を継続して行うことができる。
特定の実施形態が示され、本明細書で説明されたが、当業者は、同じ結果を達成するために想定された配列が、示される特定の実施形態と置き換えられることができることを認識する。本開示は、本発明の開示のいくつかの実施形態の適応または変形を網羅することを意図している。上記の説明は、例示的になされたものであり、限定的になされたものではないことを理解されたい。上記の実施形態の組み合わせ、及び本明細書で具体的に説明されていない他の実施形態は、上記の説明を考察するとき当業者に明らかになる。本開示のいくつかの実施形態の範囲は、上記の構造及び方法が使用される他の用途を含む。したがって、本開示のいくつかの実施形態の範囲は、添付の「特許請求の範囲」を、係る「特許請求の範囲」によって権利が与えられる均等物の全範囲と一緒に参照して決定されるべきである。
前述の「発明を実施するための形態」では、本開示を簡素化する目的のために、単一の実施形態にいくつかの特徴を一緒にまとめている。本開示の方法は、本開示の開示された実施形態が各請求項に明確に列挙されたものより多くの特徴を使用する必要があるという意図を反映するものとして解釈されるものではない。むしろ、以下の「特許請求の範囲」が反映するように、発明の主題は、単一の開示された実施形態の全ての特徴よりも少ないものに存在する。したがって、以下の「特許請求の範囲」は、各請求項が別の実施形態として独自に存在する状態で、本明細書によって「発明を実施するための形態」に組み込まれる。

Claims (23)

  1. メモリセルの複数の物理ブロックを有するメモリであって、
    前記メモリは、第1の部分のデータであって、それに関連付けられる第1の数の論理ブロックアドレスを有する前記第1の部分のデータと、第2の部分のデータであって、それに関連付けられる第2の数の論理ブロックアドレスを有する前記第2の部分のデータとを含み、
    前記メモリセルの複数の物理ブロックの2つは、データを記憶していない、
    前記メモリと、
    回路であって、
    前記第1の数の論理ブロックアドレスの1つに関連付けられる前記第1の部分の前記データを、データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの1つに再配置し、
    前記第2の数の論理ブロックアドレスの1つに関連付けられる前記第2の部分の前記データを、データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの他方に再配置する
    ように構成される、前記回路と、
    を備える、装置。
  2. データを記憶していない前記メモリセルの複数の物理ブロックの前記2つは、前記メモリの前記第1の部分のデータ及び前記第2の部分のデータを分離している、請求項1に記載の装置。
  3. 前記第1の数の論理ブロックアドレスの前記1つは、前記第1の数の論理ブロックアドレスの最後の1つであり、
    前記第2の数の論理ブロックアドレスの前記1つは、前記第2の数の論理ブロックアドレスの最後の1つである、
    請求項1に記載の装置。
  4. 前記第1の部分のデータはユーザデータを含み、
    前記第2の部分のデータはシステムデータを含む、
    請求項1に記載の装置。
  5. 前記第1の部分のデータは、前記メモリで行われるプログラム動作または検知動作の間に、特定の頻度でまたは特定の頻度よりも多くアクセスされているデータを含み、
    前記第2の部分のデータは、前記メモリで行われるプログラム動作または検知動作の間に、特定の頻度よりも少なくアクセスされているデータを含む、
    請求項1に記載の装置。
  6. 前記第1の部分のデータはオペレーティングシステムデータを含み、
    前記第2の部分のデータはマルチメディアデータを含む、
    請求項1に記載の装置。
  7. メモリを動作させる方法であって、
    前記メモリの第1の部分に含まれ、前記メモリの前記第1の部分のいくつかの論理ブロックアドレスのうちの1つに関連付けられるデータを、データを記憶していない前記メモリの物理ブロックに再配置することと、
    前記メモリの第2の部分に含まれ、前記メモリの前記第2の部分のいくつかの論理ブロックアドレスのうちの1つに関連付けられるデータを、データを記憶していない前記メモリの別の物理ブロックに再配置することと、
    を含む、
    前記方法。
  8. 前記方法は、
    代数マッピングを使用して、前記メモリの前記第1の部分の前記データが再配置されている物理ブロックの前記メモリにおける場所を識別することと、
    前記代数マッピングを使用して、前記メモリの前記第2の部分の前記データが再配置されている他方の物理ブロックの前記メモリにおける場所を識別することと、
    を含む、
    請求項7に記載の方法。
  9. 前記方法は、
    前記代数マッピングを使用して、前記メモリの前記第1の部分の前記データが再配置されている前記物理ブロックの前記メモリにおける前記場所を識別することを、その再配置されたデータを検知する動作中に行うことと、
    前記代数マッピングを使用して、前記メモリの前記第2の部分の前記データが再配置されている前記他の物理ブロックの前記メモリにおける前記場所を識別することを、その再配置されたデータを検知する動作中に行うことと、
    を含む、請求項8に記載の方法。
  10. 前記方法は、トリガーイベントに応答して、前記メモリの前記第1の部分に含まれる前記データを再配置することと、前記メモリの前記第2の部分に含まれる前記データを再配置することとを含む、請求項7に記載の方法。
  11. 前記トリガーイベントは、前記メモリで行われている特定の数のプログラム動作である、請求項10に記載の方法。
  12. 前記トリガーイベントは、前記メモリで発生する電力状態遷移である、請求項10に記載の方法。
  13. 前記メモリの前記第1の部分に含まれる前記データを前記メモリの前記物理ブロックに再配置することは、データを記憶していない前記メモリの第3の物理ブロックを生じ、
    前記メモリの前記第2の部分に含まれる前記データを前記メモリの前記他方の物理ブロックに再配置することは、データを記憶していない前記メモリの第4の物理ブロックを生じ、
    前記方法は、さらに、
    前記メモリの前記第1の部分に含まれ、前記メモリの前記第1の部分の前記いくつかの論理ブロックアドレスのうちの異なるものに関連付けられるデータを、前記メモリの前記第3の物理ブロックに再配置することと、
    前記メモリの前記第2の部分に含まれ、前記メモリの前記第2の部分の前記いくつかの論理ブロックアドレスのうちの異なるものに関連付けられるデータを、前記メモリの前記第4の物理ブロックに再配置することと、
    を含む、
    請求項7に記載の方法。
  14. メモリセルの複数の物理ブロックを有するメモリであって、
    前記メモリは、第1の部分のデータであって、それに関連付けられる第1の数の論理ブロックアドレスを有する前記第1の部分のデータと、第2の部分のデータであって、それに関連付けられる第2の数の論理ブロックアドレスを有する前記第2の部分のデータとを含み、
    前記メモリセルの複数の物理ブロックの2つは、データを記憶しておらず、前記メモリの前記第1の部分のデータ及び前記第2の部分のデータを分離している、
    前記メモリと、
    回路であって、
    前記第1の数の論理ブロックアドレスの最後の1つに関連付けられる前記第1の部分の前記データを、データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの1つに再配置し、
    前記第2の数の論理ブロックアドレスの最後の1つに関連付けられる前記第2の部分の前記データを、データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの他方に再配置するように構成される、
    前記回路と、
    を備える、装置。
  15. 前記第1の数の論理ブロックアドレスのそれぞれの1つのサイズは前記第2の数の論理ブロックアドレスのそれぞれの1つのサイズと異なる、請求項14に記載の装置。
  16. 前記回路は前記メモリに含まれる、請求項14に記載の装置。
  17. 前記回路は前記装置のコントローラに含まれる、請求項14に記載の装置。
  18. 前記回路は、
    前記第1の数の論理ブロックアドレスの最初の1つに関連付けられる前記第1の部分の前記データに対する物理ブロックアドレスを示す値を記憶するように構成される、第1のレジスタと、
    データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの1つに対する物理ブロックアドレスを示す値を記憶するように構成される、第2のレジスタと、
    データを記憶していない前記メモリセルの複数の物理ブロックの前記2つのうちの他方に対する物理ブロックアドレスを示す値を記憶するように構成される、第3のレジスと、
    前記第2の部分のデータの前記第2の数の論理ブロックアドレスの最初の論理ブロックアドレスの相対位置を示す値を記憶するように構成される、第4のレジスタと、を含む、
    請求項14に記載の装置。
  19. メモリを動作させる方法であって、
    前記メモリの第1の部分に含まれ、前記メモリの前記第1の部分のいくつかの論理ブロックアドレスのうちの最後の1つに関連付けられるデータを、データを記憶しておらず、前記メモリ内の前記メモリの前記第1の部分の前にある前記メモリの物理ブロックに再配置することと、
    前記メモリの第2の部分に含まれ、前記メモリの前記第2の部分のいくつかの論理ブロックアドレスのうちの最後の1つに関連付けられるデータを、データを記憶しておらず、前記メモリ内の前記メモリの前記第2の部分の後にある前記メモリの物理ブロックに再配置することと、
    を含む、前記方法。
  20. 前記方法は、
    代数マッピングを使用して、前記メモリの前記第1の部分の前記いくつかの論理ブロックアドレスの前記最後の1つに関連付けられる前記データが再配置されている前記物理ブロックに対する物理ブロックアドレスを識別することと、
    前記代数マッピングを使用して、前記メモリの前記第2の部分の前記いくつかの論理ブロックアドレスの前記最後の1つに関連付けられる前記データが再配置されている前記物理ブロックに対する物理ブロックアドレスを識別することと、
    を含む、請求項19に記載の方法。
  21. 前記メモリの前記第1の部分に関する前記いくつかの論理ブロックアドレス及び前記メモリの前記第2の部分に関する前記いくつかの論理ブロックアドレスはランダム化される、請求項19に記載の方法。
  22. 前記方法は、前記メモリの前記第1の部分に含まれる前記データを再配置してすぐに、前記メモリの前記第2の部分に含まれる前記データを再配置することを含む、請求項21に記載の方法。
  23. 前記方法は、
    前記メモリの前記第1の部分に含まれる前記データを再配置すると、前記メモリで動作を行うことと、
    前記メモリの前記動作を行うと、前記メモリの前記第2の部分に含まれる前記データを再配置することと、
    を含む、請求項19に記載の方法。
JP2020567009A 2018-05-31 2019-04-24 データの2つの部分を有するメモリのデータの再配置 Pending JP2021525924A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/994,477 2018-05-31
US15/994,477 US10585795B2 (en) 2018-05-31 2018-05-31 Data relocation in memory having two portions of data
PCT/US2019/028854 WO2019231584A1 (en) 2018-05-31 2019-04-24 Data relocation in memory having two portions of data

Publications (1)

Publication Number Publication Date
JP2021525924A true JP2021525924A (ja) 2021-09-27

Family

ID=68693947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567009A Pending JP2021525924A (ja) 2018-05-31 2019-04-24 データの2つの部分を有するメモリのデータの再配置

Country Status (6)

Country Link
US (2) US10585795B2 (ja)
EP (1) EP3803605A4 (ja)
JP (1) JP2021525924A (ja)
KR (1) KR20210003957A (ja)
CN (1) CN112204533A (ja)
WO (1) WO2019231584A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761739B2 (en) * 2018-08-23 2020-09-01 Micron Technology, Inc. Multi-level wear leveling for non-volatile memory

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285001A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 半導体フラッシュメモリ装置及びその制御方法
JP2003216506A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd フラッシュメモリを搭載した記憶装置及び計算機
JP2004296014A (ja) * 2003-03-27 2004-10-21 Mitsubishi Electric Corp 不揮発性メモリの消去回数平準化方法
JP2004326539A (ja) * 2003-04-25 2004-11-18 Fuji Photo Film Co Ltd 記録媒体の記録方法
JP2008217931A (ja) * 2007-03-06 2008-09-18 Yokogawa Electric Corp ディスク装置およびこれを用いた測定装置
JP2009503629A (ja) * 2005-06-08 2009-01-29 サンディスク アイエル リミテッド プログラム可能な耐久度を有するフラッシュメモリ
US20170024137A1 (en) * 2015-07-23 2017-01-26 Kabushiki Kaisha Toshiba Memory system for controlling nonvolatile memory
US20170024276A1 (en) * 2015-07-23 2017-01-26 Kabushiki Kaisha Toshiba Memory system and method of controlling nonvolatile memory
WO2018089085A1 (en) * 2016-11-08 2018-05-17 Micron Technology, Inc. Data relocation in hybrid memory

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
KR101122511B1 (ko) * 2002-10-28 2012-03-15 쌘디스크 코포레이션 비휘발성 저장 시스템들에서 자동 웨어 레벨링
EP1713085A1 (en) 2002-10-28 2006-10-18 SanDisk Corporation Automated wear leveling in non-volatile storage systems
JP2007133683A (ja) * 2005-11-10 2007-05-31 Sony Corp メモリシステム
US8140737B2 (en) * 2007-01-30 2012-03-20 Skymedi Corporation Method for enhancing life cycle of memory
US7791952B2 (en) 2007-01-30 2010-09-07 Micron Technology, Inc. Memory device architectures and operation
US8239611B2 (en) 2007-12-28 2012-08-07 Spansion Llc Relocating data in a memory device
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8255613B2 (en) * 2009-04-30 2012-08-28 International Business Machines Corporation Wear-leveling and bad block management of limited lifetime memory devices
CN102543177B (zh) * 2010-12-17 2016-01-06 西安奇维测控科技有限公司 一种固态盘静态磨损平衡算法
KR20130021026A (ko) 2011-08-22 2013-03-05 엘지이노텍 주식회사 웨이퍼 표면 처리 방법
US9081665B2 (en) * 2012-02-02 2015-07-14 OCZ Storage Solutions Inc. Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components
CN102789423B (zh) * 2012-07-11 2014-12-10 山东华芯半导体有限公司 四池闪存磨损均衡方法
US20140122774A1 (en) 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes
CN103902461A (zh) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 不同Nand闪存兼容方法及装置
JP2016170703A (ja) 2015-03-13 2016-09-23 富士通株式会社 記憶装置、記憶装置の制御方法、及び情報処理システム
US10102138B2 (en) 2015-10-22 2018-10-16 Western Digital Technologies, Inc. Division of data storage in single-storage device architecture
US10474370B1 (en) * 2016-05-20 2019-11-12 EMC IP Holding Company LLC Method and system for mitigating the effect of write and read disturbances in solid state memory regions
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
KR20180065075A (ko) * 2016-12-06 2018-06-18 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
KR20190019429A (ko) * 2017-08-17 2019-02-27 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US20190129627A1 (en) 2017-10-31 2019-05-02 EMC IP Holding Company LLC Method and system for wear-leveling using a multi-gap progress field

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285001A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 半導体フラッシュメモリ装置及びその制御方法
JP2003216506A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd フラッシュメモリを搭載した記憶装置及び計算機
JP2004296014A (ja) * 2003-03-27 2004-10-21 Mitsubishi Electric Corp 不揮発性メモリの消去回数平準化方法
JP2004326539A (ja) * 2003-04-25 2004-11-18 Fuji Photo Film Co Ltd 記録媒体の記録方法
JP2009503629A (ja) * 2005-06-08 2009-01-29 サンディスク アイエル リミテッド プログラム可能な耐久度を有するフラッシュメモリ
JP2008217931A (ja) * 2007-03-06 2008-09-18 Yokogawa Electric Corp ディスク装置およびこれを用いた測定装置
US20170024137A1 (en) * 2015-07-23 2017-01-26 Kabushiki Kaisha Toshiba Memory system for controlling nonvolatile memory
US20170024276A1 (en) * 2015-07-23 2017-01-26 Kabushiki Kaisha Toshiba Memory system and method of controlling nonvolatile memory
JP2017027388A (ja) * 2015-07-23 2017-02-02 株式会社東芝 メモリシステムおよび不揮発性メモリの制御方法
JP2017027387A (ja) * 2015-07-23 2017-02-02 株式会社東芝 メモリシステム
WO2018089085A1 (en) * 2016-11-08 2018-05-17 Micron Technology, Inc. Data relocation in hybrid memory

Also Published As

Publication number Publication date
KR20210003957A (ko) 2021-01-12
US11194708B2 (en) 2021-12-07
EP3803605A4 (en) 2022-03-09
US20200183828A1 (en) 2020-06-11
WO2019231584A1 (en) 2019-12-05
US10585795B2 (en) 2020-03-10
US20190370166A1 (en) 2019-12-05
EP3803605A1 (en) 2021-04-14
CN112204533A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
KR102271643B1 (ko) 하이브리드 메모리의 데이터 재배치
US11157417B2 (en) Memory having a static cache and a dynamic cache
KR102066062B1 (ko) 부분적으로 기록된 블록 처리
US20210232508A1 (en) Last written page searching
CN110678852B (zh) 控制对缓冲器的存储器操作的设备和方法
US20150098271A1 (en) System and method of storing data in a data storage device
US11983403B2 (en) Data relocation in memory
KR20200135549A (ko) 카운터 업데이트 동작을 위한 장치 및 방법
JP2021525924A (ja) データの2つの部分を有するメモリのデータの再配置
JP2022551627A (ja) 自己適応型ウェアレベリングの方法及びアルゴリズム
KR20240055692A (ko) 메모리 시스템 및 그 동작

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230606