JP7092865B2 - ウェアレベリング - Google Patents

ウェアレベリング Download PDF

Info

Publication number
JP7092865B2
JP7092865B2 JP2020505215A JP2020505215A JP7092865B2 JP 7092865 B2 JP7092865 B2 JP 7092865B2 JP 2020505215 A JP2020505215 A JP 2020505215A JP 2020505215 A JP2020505215 A JP 2020505215A JP 7092865 B2 JP7092865 B2 JP 7092865B2
Authority
JP
Japan
Prior art keywords
memory
accessed
address
register
wear
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.)
Active
Application number
JP2020505215A
Other languages
English (en)
Other versions
JP2020529665A (ja
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 JP2020529665A publication Critical patent/JP2020529665A/ja
Application granted granted Critical
Publication of JP7092865B2 publication Critical patent/JP7092865B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/221Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using ferroelectric capacitors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2253Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0027Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a ferroelectric element
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/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
    • 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/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

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 Hardware Design (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本開示は、全体として、コンピューティングシステム及び/またはメモリシステムなどの電子システムに関し、より詳細には、メモリなどにおけるウェアレベリングに関する。
メモリは、コンピュータ、携帯電話、携帯用デバイスなどの電子システムに多く実装される。揮発性メモリや不揮発性メモリなど、様々な種類のメモリがある。揮発性メモリは、データを維持するために電力が必要であり得、揮発性メモリとしては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、及び同期型ダイナミックランダムアクセスメモリ(SDRAM)が含まれ得る。不揮発性メモリは、電力が供給されていないときに、格納データを保持することによって、永続的データを提供することができ、不揮発性メモリとしては、NAND型フラッシュメモリ、NOR型フラッシュメモリ、窒化物リードオンリーメモリ(NROM)、相変化メモリ(例えば、相変化ランダムアクセスメモリ)、抵抗変化メモリ(例えば、抵抗変化ランダムアクセスメモリ)、クロスポイントメモリ、強誘電体ランダムアクセスメモリ(FeRAM)、またはその種の他のものが含まれ得る。ハードディスクドライブ(HDD)は、別種のメモリの例であり、HDDとしては、磁気テープ及び/または光ディスクが含まれ得る。
メモリの耐久性は、メモリがデータを確実に保存することができなくなる前(例えば、メモリが故障しそうになる前)に、メモリが持続し得る書き込み/消去(例えば、プログラムの書き込み/消去)サイクル数などの書き込み回数として定義され得る。例えば、不揮発性メモリはDRAMよりも耐久性が低い場合がある。
一部の例では、不揮発性メモリは、メモリセルのページ、メモリセルのブロックなど、メモリセルのグループに分割され得る。例えば、メモリセルの一部のグループは、別の一部よりも多い回数の書き込みを受け得、少ない回数の書き込みを受けるグループに比べて故障する可能性が高くなり得る。例えば、メモリは、そのメモリセルのグループの1つ以上の書き込み/消去サイクルカウントが高いが、他のグループの書き込み/消去サイクルカウントが低い場合には、故障する可能性が高いと考えられ得る。
一部の例では、ウェアレベリングを使用することによって、耐久性を改善することができる。ウェアレベリングにより、書き込みは、メモリセルのグループ全体にわたって分散され得る。例えば、ウェアレベリング中に、書き込み/消去サイクルカウントが高いグループは、書き込み/消去サイクルカウントが低いグループに置き換えられ得る。
本開示のいくつかの実施形態による装置の例を示すブロック図である。 本開示のいくつかの実施形態による装置の別の例を示すブロック図である。 本開示のいくつかの実施形態による装置の別の例を示すブロック図である。 本開示のいくつかの実施形態による装置の別の例を示すブロック図である。 本開示のいくつかの実施形態によるメモリアレイの例を示す図である。 本開示のいくつかの実施形態によるメモリセルの例を示す図である。
一例では、メモリアレイの部分は、その部分がアクセスされる頻度、またはアクセスされることになる頻度に基づいて、ウェアレベリングされるように選択され得る。その選択された部分は、ウェアレベリングされ得る。
本開示のいくつかの実施形態は、メモリシステムなどの従来の装置と比較して、ウェアレベリングによるバンド幅使用量の低減及び/または電力消費量の低減などの利益をもたらす。
以下の発明を実施するための形態では、本明細書の一部を構成する添付の図面を参照し、実例として具体例を示す。図面中で、同様の数字は、いくつかの図にわたって、実質的に同様の構成要素を表す。本開示の範囲から逸脱することなく、他の例を利用することができ、電気的変更を行うことができる。したがって、以下の発明を実施するための形態は、限定的な意味で解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲及びその均等物によってのみ定められる。
一部の既存のメモリでは、アレイの特定の部分の使用頻度に関係なく、メモリアレイ全体にウェアレベリングが適用され得る。例えば、ウェアレベリングが、それを必要としない可能性があるメモリアレイの部分に適用され、そのためにバンド幅及び電力が消費される場合がある。この問題は、記憶密度が増加するにつれて悪化し得る。
メモリアレイは、メモリセルのページ、メモリセルのブロックなど、メモリセルの複数のグループを含み得る。ラウンドロビン方式などの既存のウェアレベリング方式の例では、メモリセルのスペアグループが現行グループに取って代わり、この現行グループがスペアグループ化され得る。例えば、現行グループに割り当てられている論理アドレスが、アレイ内の現行グループのロケーションに代わって、アレイ内のスペアグループのロケーションに再マッピングされ得る。
図1は、本開示のいくつかの実施形態による電子システム100などの装置のブロック図である。電子システム100は、ホスト103(例えば、システムオンチップ(SOC))などの装置(例えば、コントローラ)に結合されたメモリ101(例えば、FeRAM)などのメモリシステムを含み得る。一部の例では、ホスト103は、パーソナルコンピュータ、携帯用デバイス、携帯電話などにおけるコンピューティングシステムの一部であってもよい。ホスト103は、例えば、コンピューティングシステムの中央処理装置(CPU)などのプロセッサとメモリ101との間のインターフェースとして機能することができる。
「結合された」という用語には、電気的に結合されたもの、直接に結合されたもの、及び/または介在要素なしで直接に(例えば、直接の物理的接触によって)接続されたもの、または介在要素を用いて間接的に結合され及び/または接続されたものが含まれる場合がある。さらに、結合されたという用語は、(例えば、因果関係において見られるような)互いに協働しまたは相互作用する2つ以上の要素を伴い得る。
メモリ101は、メモリデバイス102と、メモリコントローラなどのコントローラ104とを含み得る。コントローラ104は、例えばプロセッサを含んでもよい。コントローラ104は、ホスト103から接続105を介してコマンド信号(またはコマンド)、アドレス信号(またはアドレス)、及びデータ信号(またはデータ)を受け取ることができ、ホスト103に接続105を介してデータを出力することができる。
メモリデバイス102は、メモリセルのメモリアレイ106を含み得る。一部の例では、メモリアレイ106は、バンク(例えば、パーティション)などの部分に分割される場合がある。メモリアレイ106は、例えば、クロスポイントメモリアレイ(例えば、3次元クロスポイントメモリアレイ)、図5A中のアレイ506などの強誘電体メモリセルのアレイ、フラッシュメモリアレイ(例えば、NAND型フラッシュメモリアレイ)などを含んでもよい。
メモリデバイス102は、I/O接続110を介しI/O回路112を経由して供給されるアドレス信号をラッチするためのアドレス回路108を含み得る。アドレス信号は、メモリアレイ106にアクセスするために、行デコーダ114及び列デコーダ116によって受け取られ、デコードされ得る。
メモリデバイス102は、一部の例では読み出し/ラッチ回路120であり得るセンス/バッファ回路を使用して、メモリアレイ列の電圧及び/または電流の変化を検知することにより、メモリアレイ106内のデータを読み出すことができる。読み出し/ラッチ回路120は、メモリアレイ106からデータを読み出してラッチすることができる。I/O回路112は、コントローラ104とのI/O接続110を介した双方向データ通信のために含まれ得る。メモリアレイ106にデータを書き込むために、書き込み回路122が含まれ得る。
制御回路124は、コントローラ104から制御接続126によって供給される信号をデコードすることができる。これらの信号には、データ読み出し動作、データ書き込み動作、及びデータ消去動作を含むメモリアレイ106上の動作を制御するために使用されるチップイネーブル信号、書き込みイネーブル信号、及びアドレスラッチ信号が含まれ得る。
制御回路124は、例えば、コントローラ104に含まれてもよい。コントローラ104は、単独であるか組み合わせであるかを別にして、他の回路、ファームウェア、ソフトウェア、またはその種の他のものを含むことができる。コントローラ104は、(例えば、全体的であれ部分的であれ、メモリアレイ106とは別のダイにある)外部コントローラであっても、または(例えば、メモリアレイ106と同じダイに含まれる)内部コントローラであってもよい。例えば、内部コントローラが、状態マシンまたはメモリシーケンサであってもよい。コントローラ104が内部コントローラであり得る一部の例では、コントローラ104はメモリデバイス102の一部であってもよい。
コントローラ104は、1つ以上のレジスタ130(例えば、ラッチ)を含んでもよい。一部の例では、レジスタ130の状態(例えば、レジスタ130内の値)は、アレイ106の対応する部分が、ホスト103からコントローラ104の接続105を介して受け取られるウェアレベリングコマンドに応答して、ウェアレベリングされるように選択され、したがって、ウェアレベリングされることになるかどうかを指定し得る。例えば、レジスタ130の状態(例えば、論理ハイまたは論理ローのいずれか)は、ホスト103からコントローラ104の接続105を介して受け取られるウェアレベリング設定コマンドに応答して設定されて、アレイ106の対応する部分が、ホスト103からのウェアレベリングコマンドに応答して、ウェアレベリングのために選択され、したがって、ウェアレベリングされることになるかどうかを指定し得る。他の例では、アレイ106の最後にアクセスされた(書き込まれた、読み出された、及び/または消去された)部分のアドレスを、レジスタ130が記憶してもよい。例えば、アレイ106の最後にアクセスされた部分(例えば、最後にアクセスされた部分のみ)が、ウェアレベリングコマンドに応答して、ウェアレベリングのために選択されてもよく、結果としてウェアレベリングされてもよい。
一部の例では、ホスト103は、アレイ106の各部分がアクセスされた回数を追跡記録し得る。例えば、コントローラ104は、アレイ106の各部分が書き込まれる回数、またはアレイ106の各部分で実行される書き込み/消去サイクルの数を追跡記録することができる。コントローラ104は、アレイ106の一部分がアクセスされた回数、例えばその部分が書き込まれる回数、またはその部分で書き込み/消去サイクルが実行される回数(例えば、書き込み/消去サイクル数)などをカウントするために、1つ以上のカウンタ135を含み得る。例えば、アレイ106の部分ごとにカウンタ135があってもよい。カウンタ135のカウント数は、例えば、システム100の電源投入時に(例えば、ゼロに)リセットされ得る。
一部の例では、DRAM用に一般に使われ得るタイプのようなリフレッシュ信号(例えば、リフレッシュコマンド)が、接続105によって供給され得る。例えば、ウェアレベリングを開始する(例えば、トリガする)ために、ウェアレベリングコマンドの代わりにリフレッシュコマンドが用いられてもよい。例えば、標準的なDRAMリフレッシュの間に、データがメモリロケーションから読み出され得、読み出されたデータはそのメモリロケーションに書き戻され得る。
一部の例では、コントローラ104は、アドレス変換テーブル137などのアドレス変換器を含んでもよい。例えば、アドレス変換テーブル137は、ホスト103から受け取った論理アドレスを、メモリアレイ106内のメモリセルのグループのロケーション(例えば、ロケーションの物理アドレス)に変換することができる。一部の例では、メモリアレイ106の部分ごとに、その部分に対応するホスト103からの論理アドレスを、その部分の物理アドレスに変換することができる専用のアドレス変換テーブル137があってもよい。
図2は、本開示のいくつかの実施形態による電子システム100の一部であり得る電子システム200などの装置の一例のブロック図である。例えば、電子システム200は、ホスト103の一部分であり得るホスト203に結合された、メモリ101の一部分であり得るメモリ201を含み得る。例えば、メモリ201は、メモリデバイス102などのメモリデバイスに結合された、コントローラ104などのコントローラを含み得る。一部の例では、メモリ201のコントローラは、メモリ201のメモリデバイスの一部分であってもよい(例えば、メモリ201は、メモリデバイスと呼ばれることがある)。
メモリ201は、メモリアレイ106の一部分であってもよく、バンク(例えば、パーティション)などの複数の部分240に分割されてもよいメモリアレイ206を含み得る。例えば、メモリアレイ206は、部分240-1~240-4を含み得る。ただし、部分240の数は、4つの部分に限定されなくてもよい。各部分240は、個別にアドレス指定されてもよく、個別にアクセスされてもよい。例えば、各部分240は、個別に書き込まれ、読み出され、及び/または消去されてもよい。一部の例では、読み出しコマンド及び書き込みコマンドは、部分240-1~240-4のうちの特定の1つのアドレスを含み得る。さらに、各部分240は、個別に、かつ他の部分240から独立して、ウェアレベリングされ得る。各部分240は、例えば、メモリセルのページ、メモリセルのブロックなどのメモリセルの複数のグループを含み得る。
メモリ201は、本開示のいくつかの実施形態による図1のレジスタ130の一部分であり得る、モードレジスタ(例えば、ラッチ)などのレジスタ230-1~230-4を含み得る。レジスタ230-1~230-4のうちのそれぞれのレジスタが、部分240-1~240-4のうちの対応する部分にそれぞれ対応し得る。
カウンタ235-1~235-4は、本開示のいくつかの実施形態による図1のカウンタ135の一部分であってもよい。ただし、カウンタの数は4つに限定されなくてもよい。一部の例では、ホスト203のカウンタ235-1~235-4のうちのそれぞれのカウンタが、部分240-1~240-4のうちの対応する部分にそれぞれ対応し得る。カウンタ235は、部分240-1~240-4のうちの対応する部分がアクセスされた回数をカウントすることができる。例えば、対応する部分240がアクセスされるたびにカウントをインクリメントし得るカウンタ235に、信号241が送られ得る。例えば、カウントは、対応する部分240がアクセスされた回数を示すことができる。
ウェアレベリングは、ホスト203からのウェアレベリングコマンドまたはリフレッシュコマンドであり得るコマンド242に応答して、部分240-1~240-4のうちの特定の選択された部分に対して行われ得る。一部の例では、レジスタ230の状態は、部分240のうちの対応する部分が、コマンド242に応答して、ウェアレベリングされることになるかどうかを示すことができる。例えば、論理1などの論理ハイがレジスタ230内に格納されて、コマンド242に応答してウェアレベリングすべき、部分240のうちの対応する部分が選択され得、コマンド242に応答して、その対応する部分240が無視される(例えば、ウェアレベリングされるように選択されない)レジスタ230内に、論理ゼロ(0)などの論理ローが格納され得る。レジスタ230の論理ハイは、対応する部分240がウェアレベリングされることを示すため(例えば、ウェアレベリングすべき対応する部分240を選択するため)に使用され得、レジスタ230の論理ローは、対応する部分240がウェアレベリングされないことを示すため(例えば、ウェアレベリングすべき対応する部分240を選択しないため)に使用され得るが、他の例では、論理ハイと論理ローとの役割が逆であってもよい。
一部の例では、ホスト203は、どの部分240が最も頻繁にアクセスされ得るかを前もって知ることができる。例えば、最も頻繁にアクセスされる可能性のある部分240は、コマンド242に応答してウェアレベリングされ得るが、相対的に頻繁にアクセスされない可能性のある部分は、コマンド242に応答してウェアレベリングされ得ない。例えば、最も頻繁にアクセスされる可能性のある部分240は、ウェアレベリングされるように選択され得るが、相対的に頻繁にアクセスされない可能性のある部分は、ウェアレベリングされるように選択され得ない。
一部の例では、ホスト203は、どのレジスタ230が、対応する部分240がアクセスされる頻度に基づいて、それらの対応する部分240でウェアレベリングが実行されることを示す状態(例えば、論理ハイ)に設定されることになるか、及びどのレジスタ230が、対応する部分240がアクセスされる頻度に基づいて、それらの対応する部分240でウェアレベリングが実行されないことを示す状態(例えば、論理ロー)に設定されることになるかをメモリ201に指定し得るセットアップコマンド244をメモリ201に送ることができる。このコマンドに応答して、レジスタ230は、設定され得る。例えば、レジスタ230-1~130-4のそれぞれは、部分240-1~240-4のうちの対応する部分がそれぞれアクセスされる頻度に基づいて、部分240-1~240-4のうちの対応する部分がウェアレベリングされることになるかどうか(例えば、部分240-1~240-4のうちの対応する部分がウェアレベリングされるように選択されるかどうか)を、それぞれ示してもよい。一部の例では、実行されるアクセスの数(例えば、期待数)が特定の数以上であることに応答して、対応する部分240がウェアレベリングされることを示すように、レジスタ230を設定することができる。
例えば、システム200が電源を投入されるたびに(例えば、電源投入ごとに1回)、セットアップコマンド244がメモリ201に送られ得る。一部の例では、ホスト203は、対応する部分240でウェアレベリングが実行されることになるかどうかに基づいて、レジスタ230に状態を書き込むことができる。
一部の例では、レジスタ230の論理ローは、対応する部分240がウェアレベリングされるのを防ぐ(例えば、ロックアウトする)ように作用することができ、論理ハイを有するレジスタ230に対応する部分240のみが、コマンド242に応答してウェアレベリングされ得る(例えば、ウェアレベリングされるように選択され得る)ようにする。図2の例では、レジスタ230-1及び230-3での論理ゼロは、それぞれ、コマンド242に応答して、部分240-1及び240-3がウェアレベリングされるのを防ぐように作用することができ、論理1を有するレジスタ230-2及び230-4にそれぞれ対応する部分240-2及び240-4のみが、コマンド242に応答してウェアレベリングされ得るようにする。例えば、部分240-2及び240-4のみが、ウェアレベリングされるように選択され得る。
ホスト203は、カウンタ235のカウントを監視してもよい。カウンタ235のカウントが特定の値(例えば、対応する部分240への特定のアクセス回数を表す値)以上である場合に、ホスト203は、対応するレジスタ230に論理1を書き込むこと、または対応するレジスタ230内にメモリ201が論理1を格納するセットアップコマンド244を送ることなどによって、対応するレジスタ230を論理ハイに設定することができる。図2の例については、カウンタ235-1のカウントが特定の値以上になることに応答して、ホスト203により、(例えば、値を変更させるセットアップコマンド244をメモリ201に送ることによって、またはレジスタ230-1に論理1を書き込むことによって)対応するレジスタ230-1内の値が論理ゼロから論理1に変更されるようにすることができる。
一部の例では、ホスト203は、対応するカウンタ235のカウントから、各部分240の単位時間あたりのアクセス数(例えば、アクセス速度)を判定することができる。例えば、ホスト203は、対応する部分240へのアクセス速度に基づいて、レジスタ230を論理ローまたは論理ハイに設定することができる。図2の例については、部分240-1へのアクセス速度が特定の値以上になることに応答して、ホスト203は、対応するレジスタ230-1内の値を論理ゼロから論理1に変更することができ、部分240-2へのアクセス速度が特定の値未満であることに応答して、ホスト203は、対応するレジスタ230-2内の値を論理1から論理0に変更することができる。
図3は、本開示のいくつかの実施形態による電子システム100の一部分であり得る電子システム300などの装置の一例のブロック図である。例えば、電子システム300は、ホスト103の一部分であり得るホスト303に結合された、メモリ101の一部分であり得るメモリ301を含み得る。例えば、メモリ301は、メモリデバイス102などのメモリデバイスに結合された、コントローラ104などのコントローラを含み得る。一部の例では、メモリ301のコントローラは、メモリ301のメモリデバイスの一部分であってもよい(例えば、メモリ301は、メモリデバイスと呼ばれることがある)。
メモリ301は、メモリアレイ106の一部分であってもよく、バンク(例えば、パーティション)などの複数の部分340に分割されてもよいメモリアレイ306を含み得る。例えば、メモリアレイ306は、部分340-1~340-4を含み得る。ただし、部分340の数は、4つの部分に限定されなくてもよい。各部分340は、個別にアドレス指定されてもよく、個別にアクセスされてもよい。例えば、各部分340は、個別に書き込まれ、読み出され、及び/または消去されてもよい。一部の例では、読み出しコマンド及び書き込みコマンドは、部分340-1~340-4のうちの特定の1つのアドレスを含み得る。さらに、各部分340は、個別に、かつ他の部分340から独立して、ウェアレベリングされ得る。各部分340は、例えば、メモリセルのページ、メモリセルのブロックなどのメモリセルの複数のグループを含み得る。
カウンタ335-1~335-4は、本開示のいくつかの実施形態による図1のカウンタ135の一部分であってもよい。ただし、カウンタの数は4つに限定されなくてもよい。一部の例では、ホスト303のカウンタ335-1~335-4のうちのそれぞれのカウンタが、部分340-1~340-4のうちの対応する部分にそれぞれ対応し得る。カウンタ335は、部分340-1~340-4のうちの対応する部分がアクセスされた回数をカウントすることができる。例えば、対応する部分340がアクセスされるたびにカウントをインクリメントし得るカウンタ335に、信号341が送られ得る。例えば、カウントは、対応する部分340がアクセスされた回数を示すことができる。
ウェアレベリングコマンドまたはリフレッシュコマンドなどのコマンド342が、ホスト303からメモリ301に送られて、部分340がウェアレベリングされるようにする(例えば、ウェアレベリングすべき部分340を選択する)ことができる。例えば、コマンド342は、ウェアレベリングすべき(例えば、ウェアレベリングされるように選択された)特定の部分340のアドレスを含むことができる。そのため、コマンド342は、例えば、部分指向コマンドと呼ばれ得る。一部の例では、コマンド343は、部分340の全てよりも少ないアドレスを含むことができる。例えば、コマンド342は、最も頻繁にアクセスされる可能性のある部分340のアドレスを含み得る。なお、例えば、コマンド342中にアドレスがある部分340のみが、ウェアレベリングされ得る。例えば、コマンド342中にアドレスがある部分340のみが、ウェアレベリングのために選択される。
一部の例では、ホスト303は、どの部分340が最も頻繁にアクセスされ得るかを前もって知ることができ、それらの部分のアドレスをコマンド342中に含めることができる。例えば、アドレスは、そのアドレスを有する部分が、アクセスされることになる頻度(例えば、アクセスされると予想される頻度)に基づいて含まれ得る。他の例では、コマンド342中のアドレスには、ウェアレベリングから除外されることになる部分のアドレスを、それらの部分がアクセスされることになる頻度(例えば、アクセスされると予想される頻度)に基づいて含めることができ、アドレスが現れない部分は、コマンド342に応答してウェアレベリングされる。例えば、コマンドは、ウェアレベリングされる部分のみを、それらの部分のアドレスのみを明示的に含めることによって、直接指定することができ、または除外されたアドレスのみがウェアレベリングされるように、ウェアレベリングされない部分のみのアドレスを含めることによって、ウェアレベリングされる部分のみを間接的に指定することができる。このようにして、例えば、コマンドは、ウェアレベリングされることになる部分のみを直接的または間接的に選択することができる。
他の例では、ホスト303は、カウンタ335のカウントを監視してもよい。カウンタ335のカウントが特定の値(例えば、対応する部分340への特定のアクセス回数を表す値)以上になることに応答して、ホスト303は、対応する部分340のアドレスをコマンド342に追加することができる。
一部の例では、ホスト303は、対応するカウンタ335のカウントから、各部分340の単位時間あたりのアクセス数(例えば、アクセス速度)を判定することができる。例えば、部分340へのアクセス速度が特定の値以上になることに応答して、ホスト303は、その部分340のアドレスをコマンド342に追加することができ、部分340へのアクセス速度が特定の値よりも小さくなることに応答して、ホスト303は、コマンド342から、その部分340のアドレスを削除することができる。
図4は、本開示のいくつかの実施形態による電子システム100の一部分であり得る電子システム400などの装置の一例のブロック図である。例えば、電子システム400は、ホスト103の一部分であり得るホスト403に結合された、メモリ101の一部分であり得るメモリ401を含み得る。例えば、メモリ401は、メモリデバイス102などのメモリデバイスに結合された、コントローラ104などのコントローラを含み得る。一部の例では、メモリ401のコントローラは、メモリ401のメモリデバイスの一部分であってもよい(例えば、メモリ401は、メモリデバイスと呼ばれることがある)。
メモリ401は、メモリアレイ106の一部分であってもよく、バンク(例えば、パーティション)などの複数の部分440に分割されてもよいメモリアレイ406を含み得る。例えば、メモリアレイ406は、部分440-1~440-4を含み得る。ただし、部分440の数は、4つの部分に限定されなくてもよい。各部分440は、個別にアドレス指定されてもよく、個別にアクセスされてもよい。例えば、各部分440は、個別に書き込まれ、読み出され、及び/または消去されてもよい。一部の例では、読み出しコマンド及び書き込みコマンドは、部分440-1~440-4のうちの特定の1つのアドレスを含み得る。さらに、各部分440は、個別に、かつ他の部分440から独立して、ウェアレベリングされ得る。各部分440は、例えば、メモリセルのページ、メモリセルのブロックなどのメモリセルの複数のグループを含み得る。
ホスト403は、ウェアレベリングコマンドまたはリフレッシュコマンドなどのコマンド442を、メモリ401に送ることができる。メモリ401は、本開示のいくつかの実施形態による、例えば図1のレジスタ130の一部分であり得るレジスタ430(例えば、ラッチ)を含み得る。部分440の最後にアクセスされた部分440(例えば、部分440-1~440-4)のアドレスを、レジスタ430が記憶してもよい。メモリ401は、アドレスがレジスタ430内に格納された後に、次のコマンド442を受け取ることに応答して、アドレスがレジスタ430内にある部分440をウェアレベリングすることができる。例えば、メモリ401は、コマンド442に応答してレジスタ430内のアドレスを読み出すことができ、そのアドレスを有する部分440をウェアレベリングすることができる。例えば、レジスタ430内にある最後にアクセスされた部分440のアドレスは、ウェアレベリングのためにその部分を選択することができる。
例えば、特定の最後にアクセスされた部分440のアドレスがレジスタ430内に現れる回数(例えば、特定の最後にアクセスされた部分440のアドレスがレジスタ430に現れる頻度)は、その特定の部分440がアクセスされる頻度の(例えば、少なくとも統計的に)尺度であることが予想される。例えば、アドレスがレジスタ430内に最も頻繁に現れる部分440は、最も頻繁にアクセスされている可能性が最も高く、アドレスがレジスタ430内に最も少なく現れる部分440は、最も少なくアクセスされている可能性が最も高い。例えば、アドレスがレジスタ430内にある部分440を選択することは、その部分440へのアクセス回数が残りの部分440よりも多いことに基づいて、その部分440を選択することに類似し得る。例えば、アドレスがレジスタ430内にある部分440を選択することは、その部分がアクセスされる頻度、またはアクセスされることになる頻度に基づいて、その部分を選択することに類似し得る。
一部の例では、上に述べたウェアレベリングは、読み出しまたは書き込みの動作が実行されている間などに、バックグラウンド動作として実行されてもよい。例えば、ホストからのコマンドに応答して、メモリアレイの一部分で実行されるウェアレベリングは、読み出しまたは書き込みなどの優先度の高い(例えば、レイテンシがクリティカルな)動作を実行する必要があり得る場合には、延期されてもよい。
一部の例では、図2の各部分240、図3の各部分340、及び図4の各部分440など、メモリアレイの各部分は、例えば、使用中のブロックのグループの独自の(例えば、他の全てのグループ専用である)排他的セットと、スペアブロックの独自の排他的セットとを有し得る。一部の例では、メモリアレイの(例えば、各)部分におけるウェアレベリングは、現行グループなどの使用中のメモリセルのグループを、メモリセルの置き換え用スペアグループに置き換えることを含み得る。例えば、メモリアレイの一部分にある現行グループのロケーション(例えば、物理アドレス)にマッピングされ得る論理アドレスは、その部分にある置き換え用スペアグループのロケーションに再マッピングされ得る。例えば、メモリアレイの部分に関して、アドレス変換テーブル137などのアドレス変換テーブル内の既存グループの物理アドレスを、その部分の置き換え用スペアグループの物理アドレスに変更することにより、現行グループに対応する論理アドレスは、置き換え用スペアグループのアドレスに再マッピングされ得る。例えば、図1に関連して上で示したように、各部分240、340、及び440などの、メモリアレイ106の部分ごとに、専用のアドレス変換テーブル137が存在し得る。
メモリアレイの一部分(例えば、各部分)のウェアレベリングには、例えば、ラウンドロビン動作が含まれ得、この場合、(例えば、その部分専用の)スペアグループのキュー内の最初の位置にあるスペアグループが現行グループを置き換えることができ、現行グループはスペアグループのキュー内の最後の位置に配置され得る。後続のウェアレベリング動作では、キュー内の最後の位置から開始して、スペアグループは、これがキュー内の最初の位置に到達するまで移動し、最終的に既存のブロックを置き換えることができる。例えば、各ウェアレベリング中に、最後の位置にあるスペアグループは、交換された既存のブロックによって、最初の位置に向かって変位され得る。
図5Aは、本開示のいくつかの実施形態による、強誘電体メモリアレイなどのメモリアレイ506の例を示す。例えば、メモリアレイ506は、メモリアレイ106、206、306、及び/または406であり得る。
メモリアレイ506は、異なる状態を記憶するようにプログラム可能なメモリセル508を含むことができる。メモリセル508は、プログラム可能な状態を表す電荷を保存するために、コンデンサを含み得る。例えば、充電されたコンデンサと充電されていないコンデンサとは、それぞれ2つの論理状態を表すことができる。メモリセル508は、一部の例では、強誘電体材料を備えたコンデンサを含み得る。例えば、強誘電体材料は自発電気分極を有し得る(例えば、電場の非存在下で、強誘電体材料は非ゼロの分極を有し得る)。強誘電体コンデンサの様々なレベルの電荷が、例えば、様々な論理状態を表し得る。
メモリセル508は、アクセス線510-1~510-Mのうちのそれぞれのアクセス線などの、それぞれのアクセス線と、データ線515-1~515-Nのうちのデータ線などの、それぞれのデータ(例えばディジット)線とに結合され得る。例えば、メモリセル508は、アクセス線510とデータ線515との間に結合され得る。一部の例では、アクセス線510はまた、ワード線とも呼ばれ得、データ線515はまた、ビット線とも呼ばれ得る。アクセス線510及びデータ線515は、例えば、銅、アルミニウム、金、タングステンなど、金属合金、他の導電性材料、またはその種の他のものなどの導電性材料で作られ得る。
一部の例では、アクセス線510に共通に結合されたメモリセル508は、メモリセルの行と呼ばれることがある。例えば、アクセス線510は行デコーダ114に結合され得、データ線は列デコーダ116に結合され得る。適切なアクセス線510及びデータ線515の活性化または選択により(例えば、アクセス線に電圧を印加することにより)、メモリセル508上で読み出し及び書き込みなどの動作を実行することができる。アクセス線510を活性化することで、メモリセル508の対応する行を、それらのそれぞれのデータ線515に電気的に結合することができる。
図5Bは、本開示のいくつかの実施形態によるメモリセル508を含む回路520の例を示す。回路520は、図5Aに示すメモリセル508、アクセス線510、及びデータ線515の例であり得る強誘電体メモリセル508A、アクセス線510A、及びデータ線515Aを含み得る。
メモリセル508Aは、セルプレート530などの第1のプレートと、セルボトム535などの第2のプレートとを有することができるコンデンサ525などの論理記憶構成要素を含むことができる。セルプレート530及びセルボトム535は、それらの間に配置された強誘電体材料540を介して容量結合され得る。セルプレート530及びセルボトム535の向きは、メモリセル508Aの動作を変えることなく反転させることができる。
回路520は、選択トランジスタなどの選択デバイス550を含み得る。例えば、選択デバイス550の制御ゲート552は、アクセス線510Aに結合され得る。図5Bの例では、セルプレート530はプレート線555を介してアクセスされ得、セルボトム535はデータ線515Aを介してアクセスされ得る。例えば、選択デバイス550は、アクセス線510Aが選択デバイス550を活性化することに応答して、データ線515Aをセルボトム535に選択的に結合するものであり得る。例えば、選択デバイス550が非活性化されると、コンデンサ525はデータ線515Aから電気的に分離され得、選択デバイス550が活性化されると、コンデンサ525はデータ線515Aに電気的に結合され得る。選択デバイス550の活性化は、例えば、メモリセル508Aの選択と呼ばれることがある。上記の通り、コンデンサ525を充電または放電することによって、様々な状態を記憶させることができる。
本明細書では特定の例を図示し説明したが、当業者であれば、同じ結果を達成するために計算された構成を、提示した特定の実施形態に置き換えることができることを理解されるであろう。本開示は、本開示の1つ以上の実施形態の適応形態または変形形態を網羅することが意図されている。上記の説明は例示的なものであり、限定的なものではないことを理解されたい。本開示の1つ以上の例の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲が権利を与えられる均等物の全範囲と共に定められるべきである。

Claims (9)

  1. 装置の動作方法であって、
    ウェアレベリングされることになるメモリアレイの最後にアクセスされた部分を、前記部分がアクセスされる頻度、またはアクセスされることになる頻度に基づいて、レジスタにおいて指定されたアドレスに基づいて選択すること、及び
    前記最後にアクセスされた部分専用の個別のアドレス変換テーブルの論理アドレスを、使用中のメモリセルのグループの物理アドレスからスペアのメモリセルのグループの物理アドレスに再マッピングすることにより、前記最後にアクセスされた部分に排他的な複数の使用中のグループの内のメモリセルの使用中のグループを、前記最後にアクセスされた部分に排他的なスペアのメモリセルのグループに置き換えることによって前記最後にアクセスされた部分をウェアレベリングすること
    を含む前記方法。
  2. メモリセルのアレイの第1の部分と、
    メモリセルの前記アレイの第2の部分と、
    前記第1の部分に対応する、コントローラの第1のレジスタと、
    前記第2の部分に対応する、前記コントローラの第2のレジスタと、を備え、
    前記第1のレジスタは、前記第1の部分がアクセスされる頻度、またはアクセスされることになる頻度に基づいて、前記第1の部分がウェアレベリングされるために選択されたことを示す第1の状態に設定されるように構成され、
    前記第2のレジスタは、前記第1のレジスタが前記第1の状態に設定されている間に、前記第2の部分がアクセスされる頻度、またはアクセスされることになる頻度に基づいて、前記第2の部分がウェアレベリングされるために選択されたことを示す前記第1の状態に設定されるように構成され、
    前記コントローラは、2つの状態のうちの前記第1の状態に設定された、前記コントローラ内の前記第1のレジスタ及び前記第2のレジスタに少なくとも一部が基づいて、前記アレイのどの部分がウェアレベリングされるかを、メモリセルの前記アレイにアクセスする前に識別するように構成されている、
    メモリ装置。
  3. 前記第1のレジスタは、前記第1の部分が特定の回数以上アクセスされることに応答して、前記第1の状態に設定されるように構成されている、請求項2に記載のメモリ装置。
  4. 前記第1の部分と前記第2の部分とは、互いに独立してウェアレベリングされる、請求項2に記載のメモリ装置。
  5. 前記メモリ装置は、前記第1の部分が前記第1の状態に設定される場合にのみ、前記第1の部分をウェアレベリングする、請求項2に記載のメモリ装置。
  6. メモリ装置であって、
    複数の部分を備えるメモリアレイと、
    前記複数の部分のうちの最後にアクセスされた部分のアドレスを格納するレジスタと、
    各部分それぞれに専用のそれぞれのアドレス変換テーブルと、を備え、
    前記メモリ装置は、前記アドレスが前記レジスタ内に格納された後に受け取られたコマンドに応答して、前記最後にアクセスされた部分をウェアレベリングするように構成され、
    前記メモリ装置は、複数の使用中グループのうちの使用中メモリセルグループの物理アドレスからスペアメモリセルグループの物理アドレスに、それぞれの前記アドレス変換テーブルの論理アドレスを再マッピングすることにより、前記最後にアクセスされた部分に専用の前記使用中メモリセルグループを、前記最後にアクセスされた部分に専用の前記スペアメモリセルグループで置き換えることによって、前記最後にアクセスされた部分をウェアレベリングするように構成されている、
    メモリ装置。
  7. 前記最後にアクセスされた部分は、前記アドレスが前記レジスタに格納された後に受け取られるコマンドに応答して、前記複数の部分の他の部分に先立って最初にウェアレベリングされる前記複数の部分の部分であり、前記コマンドは、前記最後にアクセスされた部分の前記アドレスが格納された後に受け取られる次のウェアレベリングコマンドまたは次のリフレッシュコマンドである、請求項6に記載のメモリ装置。
  8. ホストと、
    前記ホストに結合され、メモリセルのアレイの複数の部分を備えるメモリと、を備え、
    前記メモリは、前記ホストからのコマンドに応答して、ウェアレベリングするために前記複数の部分のうちの最後にアクセスされた部分を選択すること、及び
    前記最後にアクセスされた部分専用の個別のアドレス変換テーブルの論理アドレスを、
    使用中のメモリセルのグループの物理アドレスからスペアのメモリセルのグループの物理アドレスに再マッピングすることにより、前記最後にアクセスされた部分に排他的な複数の使用中のグループの内のメモリセルの使用中のグループを、前記最後にアクセスされた部分に排他的なスペアのメモリセルのグループに置き換えることによって前記アレイの選択された前記最後にアクセスされた部分のウェアレベリングを実行すること
    をするように構成されている、
    メモリ装置。
  9. 前記コマンドは、ウェアレベリングコマンドまたはリフレッシュコマンドである、請求項8に記載のメモリ装置。
JP2020505215A 2017-08-04 2018-07-24 ウェアレベリング Active JP7092865B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/669,290 2017-08-04
US15/669,290 US10198195B1 (en) 2017-08-04 2017-08-04 Wear leveling
PCT/US2018/043414 WO2019027727A1 (en) 2017-08-04 2018-07-24 LEVEL OF WEAR

Publications (2)

Publication Number Publication Date
JP2020529665A JP2020529665A (ja) 2020-10-08
JP7092865B2 true JP7092865B2 (ja) 2022-06-28

Family

ID=65200314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020505215A Active JP7092865B2 (ja) 2017-08-04 2018-07-24 ウェアレベリング

Country Status (7)

Country Link
US (4) US10198195B1 (ja)
EP (1) EP3662374A4 (ja)
JP (1) JP7092865B2 (ja)
KR (1) KR20200012026A (ja)
CN (1) CN110998543B (ja)
TW (1) TWI672588B (ja)
WO (1) WO2019027727A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US20200081628A1 (en) * 2018-09-12 2020-03-12 Dell Products, Lp Apparatus and Method for Monitoring Insertion and Removal of Devices
US11422826B2 (en) 2020-05-19 2022-08-23 Micron Technology, Inc. Operational code storage for an on-die microprocessor
WO2022011683A1 (en) * 2020-07-17 2022-01-20 Micron Technology, Inc. Storage of video data and file system metadata
KR20220127067A (ko) * 2021-03-10 2022-09-19 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11875836B2 (en) * 2021-06-04 2024-01-16 Kepler Computing Inc. Apparatus and method for endurance of non-volatile memory banks via wear leveling with linear indexing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739350A (zh) 2008-11-26 2010-06-16 威刚科技股份有限公司 存储器储存装置及其控制方法
JP2012014400A (ja) 2010-06-30 2012-01-19 Toshiba Corp 半導体メモリ装置および半導体メモリシステム
JP2014056408A (ja) 2012-09-12 2014-03-27 Toshiba Corp メモリシステム、コンピュータシステム、およびメモリ管理方法
JP2014524609A (ja) 2011-08-03 2014-09-22 マイクロン テクノロジー, インク. メモリデバイスのためのウェアレベリング
US20150347038A1 (en) 2014-05-28 2015-12-03 Micron Technology, Inc. Apparatuses and methods for performing wear leveling operations
WO2018067230A1 (en) 2016-10-03 2018-04-12 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01147732A (ja) * 1987-12-04 1989-06-09 Nec Corp 情報処理装置
US6957308B1 (en) * 2002-07-11 2005-10-18 Advanced Micro Devices, Inc. DRAM supporting different burst-length accesses without changing the burst length setting in the mode register
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
JP4518951B2 (ja) 2002-10-28 2010-08-04 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP5016841B2 (ja) * 2006-04-26 2012-09-05 株式会社東芝 不揮発性半導体記憶装置
KR100794664B1 (ko) * 2006-09-01 2008-01-14 삼성전자주식회사 플래시 메모리 장치 및 그것의 리프레쉬 방법
US20100318719A1 (en) * 2009-06-12 2010-12-16 Micron Technology, Inc. Methods, memory controllers and devices for wear leveling a memory
CN101729350B (zh) 2009-12-11 2011-08-31 烽火通信科技股份有限公司 Ptn前向兼容mstp的环网业务通道保护实现方法
US20120110259A1 (en) * 2010-10-27 2012-05-03 Enmotus Inc. Tiered data storage system with data management and method of operation thereof
GB2490991B (en) 2011-05-19 2017-08-30 Ibm Wear leveling
US9158672B1 (en) * 2011-10-17 2015-10-13 Rambus Inc. Dynamic deterministic address translation for shuffled memory spaces
WO2013095641A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Sub-block based wear leveling
US9767032B2 (en) * 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
KR20160024962A (ko) * 2013-06-25 2016-03-07 마이크론 테크놀로지, 인크. 온-디맨드 블록 관리
US11030122B2 (en) * 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US10014060B2 (en) 2015-01-30 2018-07-03 Sandisk Technologies Llc Memory system and method for reducing read disturb errors
US9977606B2 (en) * 2015-10-16 2018-05-22 SK Hynix Inc. Memory system
US9697913B1 (en) 2016-06-10 2017-07-04 Micron Technology, Inc. Ferroelectric memory cell recovery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739350A (zh) 2008-11-26 2010-06-16 威刚科技股份有限公司 存储器储存装置及其控制方法
JP2012014400A (ja) 2010-06-30 2012-01-19 Toshiba Corp 半導体メモリ装置および半導体メモリシステム
JP2014524609A (ja) 2011-08-03 2014-09-22 マイクロン テクノロジー, インク. メモリデバイスのためのウェアレベリング
JP2014056408A (ja) 2012-09-12 2014-03-27 Toshiba Corp メモリシステム、コンピュータシステム、およびメモリ管理方法
US20150347038A1 (en) 2014-05-28 2015-12-03 Micron Technology, Inc. Apparatuses and methods for performing wear leveling operations
WO2018067230A1 (en) 2016-10-03 2018-04-12 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory

Also Published As

Publication number Publication date
KR20200012026A (ko) 2020-02-04
US20190332281A1 (en) 2019-10-31
US11003361B2 (en) 2021-05-11
US20190042107A1 (en) 2019-02-07
TW201911052A (zh) 2019-03-16
US10198195B1 (en) 2019-02-05
CN110998543A (zh) 2020-04-10
JP2020529665A (ja) 2020-10-08
US10416903B2 (en) 2019-09-17
CN110998543B (zh) 2023-11-10
US20200159420A1 (en) 2020-05-21
US10585597B2 (en) 2020-03-10
US20190042109A1 (en) 2019-02-07
TWI672588B (zh) 2019-09-21
EP3662374A4 (en) 2021-05-12
EP3662374A1 (en) 2020-06-10
WO2019027727A1 (en) 2019-02-07

Similar Documents

Publication Publication Date Title
JP7092865B2 (ja) ウェアレベリング
US11586357B2 (en) Memory management
US10372342B2 (en) Multi-level cell solid state device and method for transferring data between a host and the multi-level cell solid state device
US10114562B2 (en) Adaptive block allocation in nonvolatile memory
US20190108119A1 (en) Non-volatile memory with adaptive wear leveling
US20190108889A1 (en) Non-volatile memory with dynamic wear leveling group configuration
JP5728672B2 (ja) ハイブリッドメモリ管理
US20100318719A1 (en) Methods, memory controllers and devices for wear leveling a memory
JP2012519899A (ja) メモリブロックの選択
US11983403B2 (en) Data relocation in memory
CN113590023A (zh) 在多平面存储器装置的单独平面上存储区名称空间中的区
CN113946283B (zh) 存储器装置的分区命名空间中的部分区存储器单元处置
JP2018073240A (ja) 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法
US20230236765A1 (en) Storage controller performing active zone refresh, method of operating storage controller, and method of operating storage device having storage controller
CN108363548B (zh) 交叉点非易失性存储器装置的块擦除方案
US11397657B1 (en) Managing memory objects that are assigned a respective designation
US20230418482A1 (en) Storage device pool management based on storage device logical to physical (l2p) table information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220616

R150 Certificate of patent or registration of utility model

Ref document number: 7092865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150