JP6055113B2 - メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化 - Google Patents

メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化 Download PDF

Info

Publication number
JP6055113B2
JP6055113B2 JP2015552740A JP2015552740A JP6055113B2 JP 6055113 B2 JP6055113 B2 JP 6055113B2 JP 2015552740 A JP2015552740 A JP 2015552740A JP 2015552740 A JP2015552740 A JP 2015552740A JP 6055113 B2 JP6055113 B2 JP 6055113B2
Authority
JP
Japan
Prior art keywords
memory device
host
background operation
automatic background
register
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
JP2015552740A
Other languages
English (en)
Other versions
JP2016507095A (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 JP2016507095A publication Critical patent/JP2016507095A/ja
Application granted granted Critical
Publication of JP6055113B2 publication Critical patent/JP6055113B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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/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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Software Systems (AREA)

Description

本実施形態は、概してメモリに関し、特定の実施形態は、メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化に関する。
メモリデバイスは、典型的には、コンピュータもしくは他の電子デバイスにおける内部、半導体集積回路として提供される。ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、同期式ダイナミックランダムアクセスメモリ(SDRAM)および不揮発性(例えば、フラッシュ)メモリを含む様々なタイプのメモリが存在する。
フラッシュメモリデバイスは、広範囲の電子アプリケーション用の不揮発性メモリの普及用ソースへと開発されてきた。フラッシュメモリデバイスは、典型的には、高メモリ密度、高信頼性および低電力消費を可能とする1トランジスタメモリセルを利用する。セルの閾値電圧における変化は、電荷格納構造(例えば、浮遊ゲートもしくは電荷捕捉層)のプログラミングもしくは他の物理的現象を介して、各セルのデータ状態を決定する。フラッシュメモリの慣例的な用途は、パーソナルコンピュータ、携帯情報端末(PDA)、デジタルカメラ、デジタルメディアプレイヤー、デジタルレコーダ、ゲーム、家電製品、自動車、無線デバイス、携帯電話およびリムーバブルメモリモジュールを含む。
読み出しおよび書き込みなどのアクセス動作を実施するのに加え、不揮発性メモリデバイスは、バックグランド動作も実施する。例えば、メモリデバイスは、メモリデバイスのメモリアレイ内の周囲でデータを移動させることによってウェアレベリング動作を実施することがある。別のバックグラウンド動作は、消去され、再利用されるべきメモリブロックを解放するために、使われないデータを除去するハウスキーピング動作であってもよい。これらの動作は、典型的にはホストが知ることなく、バックグラウンドにおいて実施され、幾つかの実施形態においては、メモリデバイスによって自動的に実施される(例えば、ホストによって命令されることなく開始される)。
ホストが知ることなくメモリデバイスによってこれらのバックグラウンド動作が実施されるときに問題が生じる可能性がある。ホストは、メモリデバイスに対してアクセスコマンドを送信すること、もしくは電源を切断することによって、バックグランド動作を中断する可能性がある。これによって、結果としてデータの欠損もしくは損傷を生じ、メモリデバイスがバックグラウンド動作をやり直すことを必要とするため、結果として性能の損失を引き起こすことになる。
NANDアーキテクチャメモリアレイの一部の一実施形態の概略図を示す。 自動バックグラウンド動作のホスト制御有効化用の方法を利用する、不揮発性メモリデバイスを組み込むことができるシステムの一実施形態のブロック図を示す。 自動バックグラウンド動作のホスト制御有効化用の方法の実施形態のフローチャートを示す。 自動バックグラウンド動作のホスト制御有効化用の方法の実施形態のフローチャートを示す。 自動バックグラウンド動作のホスト制御有効化用の方法の検査および構成段階の図を示す。 自動バックグラウンド動作のホスト制御有効化用の方法の実行段階の図を示す。
以下の詳細な説明においては、本明細書の一部を形成する添付の図面に対して参照がなされ、図面は、例示する目的のために特定の実施形態が示される。図面においては、類似の参照番号は、幾つかの図面を通して、実質的に類似の構成要素を記述する。他の実施形態が使用されてもよく、構造的、論理的および電気的変更が本開示の範囲を逸脱することなく加えられてもよい。したがって、以下の詳細な説明は、限定する意味で解釈されるべきではない。
不揮発性メモリは、NORおよびNANDを含む異なるアーキテクチャを利用することができる。アーキテクチャの指定は、デバイスを読み出すために使用される論理に由来する。NORアーキテクチャにおいては、メモリセルの論理列がデータ線に結合された各メモリセルと並列に結合され、データ線は、典型的にはビット線と称される。NANDアーキテクチャにおいては、メモリセルの列がビット線に結合された列の第一のメモリセルとのみ直列に結合される。
図1は、不揮発性メモリセルの直列ストリングを含むNANDアーキテクチャメモリアレイ101の一部の一実施形態の概略図を示す。この図は、メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化用の方法としてのみ典型的なメモリアレイを例示する目的のものであって、示されたNANDアーキテクチャに限定されることはない。
メモリアレイ101は、直列ストリング104、105などの列に配置された不揮発性メモリセル(例えば、浮遊ゲート)のアレイを含む。各セルは、各直列ストリング104、105におけるドレインをソースへと結合される。複数の直列ストリング104、105にわたって広がるアクセス線(例えば、ワード線)WL0−WL31は、行におけるメモリセルの制御ゲートをバイアスするために、行における各メモリセルの制御ゲートへと結合される。偶数/奇数ビット線BL_E、BL_Oなどのデータ線は、直列ストリングに結合され、選択されたビット線上の電流もしくは電圧を検知することによって各セルの状態を検出し、格納する検知回路およびページバッファに最終的に結合される。
メモリセルの各直列ストリング104、105は、ソース選択ゲート116、117(例えば、トランジスタ)によってソース線106へと結合され、ドレイン選択ゲート112、113(例えば、トランジスタ)によって個々のビット線BL_E、BL_Oへと結合される。ソース選択ゲート116、117は、その制御ゲートに結合されたソース選択ゲート制御線SG(S)118によって制御される。ドレイン選択ゲート112、113は、ドレイン選択ゲート制御線SG(D)114によって制御される。
典型的な従来技術のメモリアレイのプログラミングにおいては、各メモリセルは、単一レベルセル(SLC)もしくは複数レベルセル(MLC)のいずれかとして個々にプログラムされる。セルの閾値電圧(V)は、セル内に格納されるデータの指示として使用することができる。例えば、SLCメモリデバイスにおいては、2.5VのVtは、プログラムされたセルを示し、−0.5VのVtは、消去されたセルを示すことがある。MLCメモリセルにおいては、特定のVt範囲にビットパターンを割り当てることによって、複数のVt範囲は、異なる状態を各々示すことができる。
図2は、図1に示されたようなメモリアレイアーキテクチャを含むことができるメモリデバイス200の機能ブロック図を示す。メモリデバイス200は、幾つかのタイプのコントローラとして機能する外部ホスト210に結合される。ホスト210は、コマンド(例えば、書き込み、読み出し)、制御信号およびデータを、メモリデバイス200とホスト210とを接続するコマンドおよびデータバス262を介して、メモリデバイス200と通信するように構成することができる。メモリデバイス200およびホスト210は、システム220の一部を形成する。
メモリデバイス200は、メモリセルの一つ以上のアレイ230(例えば、NANDアーキテクチャ不揮発性メモリセル)を含む。メモリアレイ230は、ワード線行およびビット線列のバンクに配置される。一実施形態においては、メモリアレイ230の列は、メモリセルの直列ストリングを含む。当該アレイの一部の一例は、図1に示される。
ホストインターフェイス回路260は、メモリデバイス200とホスト210の間のインターフェイスを提供する。ホストインターフェイス回路260は、バッファおよびレジスタなどの回路を含んでもよい。
ホストインターフェイス260に結合される制御回路270は、ホスト210からの制御信号に応じて動作する。これらの信号は、データ検知(例えば、読み出し)、データ書き込み(例えば、プログラム)および消去動作を含む(複数の)メモリアレイ230の動作を制御するために使用される。制御回路270は、ステートマシン、シーケンサ、もしくはメモリ制御信号の生成を制御するように構成された幾つかの他のタイプの制御回路であってもよい。一実施形態においては、制御回路270は、バックグラウンド動作のホスト制御有効化用の方法の実行を制御するように構成される。
制御回路270と(複数の)メモリアレイ230との間に結合されたメモリインターフェイス回路275は、制御回路270と(複数の)メモリアレイ230との間の双方向データ通信を提供する。メモリインターフェイス回路275は、書き込み回路、読み出し回路、デコーダおよびバッファを含むことができる。
ホストインターフェイス260と制御回路270とに結合されたメモリデバイスレジスタ290は、制御回路270の一部であるか、または制御回路270から分離することができる。レジスタ290は、この後に記述されるように、バックグラウンド動作のホスト制御有効化用の方法の動作に対する制御データを格納するように使用することができる。一実施形態においては、制御回路270は、この後に記述されるように、コマンドおよびデータバス262を介して、ホスト210から制御信号によって指示されるように、メモリデバイスレジスタ290からの書き込みおよび読み出しを制御する。別の実施形態においては、ホスト210は、制御回路270の介在なしでレジスタ290へと直接書き込み、かつレジスタ290から直接読み出すことができる。
一実施形態においては、ホストインターフェイス260、制御回路270、メモリインターフェイス275、メモリデバイスレジスタ290は、メモリデバイスコントローラ201の一部である。コントローラ201の別の実施形態は、これらのブロックのサブセットのみを含むか、追加のメモリデバイス回路を含むことができる。
ホストは、メモリデバイスの状態および性能を決定するため(例えば、状態レジスタ)、メモリデバイスの自動バックグラウンド動作を有効化/無効化するため(例えば、有効化レジスタ)、および/もしくは、メモリデバイスが自動バックグラウンド動作を自動的に実施する(例えば、実行する)か、または有効化することができる前に、最小期間を設定する(例えば、時間レジスタ)ために、メモリデバイス内のレジスタを利用することができる。レジスタは、異なるバックグラウンド動作を有効化する(例えば、異なる自動バックグラウンド動作の選択的有効化を可能とする)ために、異なるレジスタもしくは一レジスタにおける異なるレジスタビットを含むことができる。メモリデバイスの自動バックグラウンド動作は、ホスト初期化を必要としない、メモリデバイスにおいて実施される任意のバックグラウンド動作である可能性がある。例えば、これらのバックグラウンド動作は、ウェアレベリング、不良データもしくは古いデータの収集、不使用メモリブロック消去および/もしくは他のメモリハウスキーピング動作を含むことができる。
動作においては、メモリデバイスレジスタは、メモリデバイスが自動バックグラウンド動作のホスト制御有効化をサポートしないことを示すための第一の状態(例えば、論理0)に設定し、ならびに、メモリデバイスが自動バックグラウンド動作のホスト制御有効化をサポートすることを示すための第二の状態(例えば、論理1)に設定することができる。メモリデバイスが自動バックグラウンド動作の有効化をサポートしないことを示す状態をホストが読み取る場合、これは、その後に記述されるレジスタ(例えば、有効化、時間)がアクティブ化されていないか、存在していないことを示す可能性がある。メモリデバイスが自動バックグラウンド動作の有効化をサポートすることを示す状態を読み出す場合には、これは、その後に記述されるレジスタもアクティブ化されるおよび/もしくは存在することを示す可能性がある。
一実施形態においては、メモリデバイスレジスタは、使用される前にプログラムされるリードオンリーレジスタである。例えば、メモリデバイスが製造されるとき、特定のメモリデバイスのメモリデバイスレジスタは、自動バックグラウンド動作の有効化をサポートするものとしてプログラムすることができる。別の一実施形態においては、状態レジスタは、システムの用途に依存して、製造後にプログラムすることができる。
メモリデバイスが自動バックグラウンド動作の有効化をサポートすることをホストが決定する場合、ホストは、メモリデバイスの自動バックグラウンド動作を有効化/無効化するために、特定のメモリデバイスレジスタ(例えば、有効化レジスタ)に制御データを書き込むことができる。例えば、メモリデバイスが自動バックグラウンド動作を開始することを許可されることをメモリデバイスに対して示すために、ホストは、有効化レジスタに対して第一の状態(例えば、論理0)を書き込むことができる。当該一実施形態においては、メモリデバイスは、あらゆるホストアイドル時間中および/もしくは、読み出し/書き込み動作の実行中および/もしくはホストによって開始される他の動作の実行中にバックグラウンド動作を自動的に実施することができる。
ホストは、ホストがバックグラウンド動作を周期的に有効化することをメモリデバイスに示すために、有効化レジスタに対して第二の状態(例えば、論理1)を書き込むことができる。これによって、メモリデバイスに対して、バックグラウンド動作を自動的に実施しないように示す。当該一構成においては、ホストだけがバックグラウンド動作を開始する。
一実施形態においては、有効化レジスタが書き込み/読み出しレジスタである。これは、メモリデバイスコントローラによってリセットされるか、書き込まれたかを判定するために、ホストがレジスタに書き込むだけでなく、レジスタをその後読み出すことも可能とする。
ホストは、自動バックグラウンド動作を自動的に実施する(例えば、開始するおよび/もしくは実行する)もしくは有効化する前に、最後に受信されたホストコマンドによって、命令される動作を完了した後に、待機するべき最小期間をメモリデバイス(例えば、コントローラ)に対して示す具体的な期間を設定するために、特定の制御レジスタ(例えば、時間レジスタ)に書き込むこともできる。メモリデバイスは、新しく到達するホストコマンドが、性能に対して如何なる影響もなく実行される前に、ホストによって設定された当該期間を考慮せずに、そのバックグラウンドアクティビティを開始するように決定することもできる。時間レジスタは、例えば、メモリデバイスが自動バックグラウンド動作を自動的に実施するか有効化する前に、最後に受信されたホストコマンドによって命令された動作を完了した後に待機すべき、実際の期間値でホストがワンタイムレジスタをロードすることができるような、書き込み/読み出しレジスタでありうる。第二の時間レジスタは、実際の期間値の測定単位(例えば、μ秒、m秒、秒)でロードすることができる。メモリコントローラは、その後、自動バックグラウンド動作を自動的に実施するか有効化する前に、どのくらいの期間待機するかを決定することと併せて時間レジスタの双方を利用することができる。別の実施形態においては、一つの期間レジスタのみが使用され、固定の測定単位(例えば、μ秒、m秒もしくは秒)を有すると仮定される。
別の代替的実施形態においては、メモリデバイスは時間レジスタを有さないことがある。当該一実施形態においては、メモリデバイスは、別の特定のレジスタ(例えば、開始レジスタ)を有する。自動バックグラウンド動作のホスト有効化がメモリデバイスによってサポートされる場合、ホストは、バックグラウンド動作を開始する(例えば、起動する)ことを望む場合には何時でも、開始レジスタに制御データ(例えば、開始データ)を書き込むことができる。このデータは、バックグラウンド動作が実行を開始した後、メモリコントローラによって自動的に消去することができる。
さらに他の代替的実施形態においては、メモリデバイスは、(複数の)時間レジスタおよび開始レジスタの双方を有することがある。当該一実施形態においては、バックグラウンド動作を自動的に実施する前にホストによって命令される最後の動作を完了した後、時間レジスタにおける期間、待機する代わりに、メモリデバイスは、バックグラウンド動作を自動的に実施する前に、ホストから開始データを受信した後、時間レジスタ内の期間、待機する。
別の代替的実施形態においては、メモリデバイスは、ホストからの明示的コマンドがなくても、自動バックグラウンド動作を自動的に実施する性能を有するが、ホストからの明示的コマンドに応じて自動バックグラウンド動作を実施することができる。さらに別の実施形態においては、(複数の)時間レジスタは、自動バックグラウンド動作の実施を何時開始するかではなく、自動バックグラウンド動作を何時有効化するかを決定するために使用することができる。
図3Aおよび図3Bは、メモリデバイスにおける自動バックグラウンド動作のホスト有効化用の方法の実施形態のフローチャートを示す。図3Aは、ホストによって実行される方法のフローチャートを示す。図3Bは、メモリデバイスによって実行される方法のフローチャートを示す。
図3Aに示されるように、メモリデバイスが自動バックグラウンド動作301のホスト制御有効化をサポートするか否かをホストが決定する。前述されたように、これは、メモリデバイスのレジスタを読み出すことによって達成することができる。メモリデバイスが自動バックグラウンド動作のホスト制御有効化をサポートする場合、ホストは、その後、自動バックグラウンド動作303を有効化することができる。これは、メモリデバイスの別のレジスタに制御データを書き込むことによって達成することができる。メモリデバイスが、期間値に対する一つ以上の制御レジスタを有する場合、ホストは、一実施形態においては、期間値に対する測定値の単位に従って、メモリデバイスに対して期間値を伝送する305ことができる。別の実施形態においては、ホストは、ホストが他のコマンドの送信を行い、メモリデバイスがバックグラウンド動作の開始を望むとき、メモリデバイスに開始コマンドを伝送する305ことができる。
図3Bに示されるように、メモリデバイスはホストからコマンドを受信する310。メモリデバイスは、その後、ホストからコマンドが受信されていない期間にそれ以上のコマンドが受信されたか否か、もしくはメモリデバイスがアイドル時間311を経験するか否かを判定する。別のコマンドが受信される310場合、メモリデバイスは、コマンドを実行して、アイドル時間311を再度検査する。メモリデバイスがアイドル時間311を経験する場合には、バックグラウンド動作315を自動的に実施する前に、(複数の)時間レジスタに格納される期間が終わる313のを、メモリデバイスは待機する。
別の実施形態においては、メモリデバイスは、ホストからの読み出し/書き込みコマンドを受信するのと同時に自動バックグラウンド動作を実行することができる。これは、読み出し/書き込み動作の性能に影響を与えることなく、達成することができる。当該メモリデバイスは、ホストからのコマンドを完了した後の任意の最小アイドル時間を考慮に入れないが、読み出し/書き込みが完了する前でさえも自動バックグラウンド動作を開始することができる。
メモリデバイスが、期間値レジスタをサポートしない(例えば、存在していないか、またはアクティブ化されていない)場合、メモリデバイスは、最後に受信されたコマンドが開始コマンド313であったか否かを決定することができる。このコマンドを受信することは、バックグランド動作を開始することをメモリデバイスに示す。
図4および図5は、メモリデバイスにおける自動バックグラウンド動作のホスト有効化用の方法の一部として、ホスト400とメモリデバイス401との間の相互作用の動作の例を示す。これらの図は、ホストとメモリデバイスとの間の相互作用が異なって生じるものとしてのみ、例示する目的で示すものである。
図4は、ホスト400とメモリデバイス401との間の動作の検査および構成段階を示す。自動バックグラウンド動作のホスト制御有効化をメモリデバイス401がサポートするか否かを決定するために、ホスト400は、メモリデバイス401の状態レジスタ410を読み出す。メモリデバイス401がこの機能をサポートする場合、メモリデバイスは、この機能がサポートされることを示すレジスタデータに応答411する。
機能がサポートされる場合、ホスト400は、その後、この機能を構成するために、有効化レジスタ420に制御データを書き込むことができる。メモリデバイス401は、その後、当該性能がアクティブ化されたことを承認する421ことができる。
自動バックグラウンド動作が有効化されると、ホスト400は、時間レジスタ内に格納されるべき期間値430をメモリデバイス401に伝送することができる。前述されたように、これは、メモリデバイス401がバックグランド動作を自動的に実施する前に待機すべき最小期間である可能性がある。メモリデバイスは、その後、受信確認メッセージ431とともに、この期間の受信および設定を承認する。
図5は、メモリデバイス401が自動バックグラウンド動作のホスト制御有効化をサポートする結果としての、ホスト400とメモリデバイス401との間の動作の実行段階を示す。この段階の動作は、メモリデバイス401が自動バックグラウンド動作のホスト制御有効化をサポートし、メモリデバイスがこの機能を有効化するように構成されたことをホスト400が決定したことを仮定する。例えば、図4の方法は、既に行われた後である。
ホスト400は、メモリデバイス401に対してCOMMAND1(例えば、読み出しもしくは書き込みコマンド)500を伝送することができる。メモリデバイス401は、受信されたCOMMAND1を実行して、完了したとき、ホスト400に受信確認501を伝送する。例えば、メモリデバイス401は、命令された動作が完了したときに、ホスト400に対して完了メッセージを送信することができる。
ホスト400は、別のコマンド、COMMAND2(例えば、読み出しもしくは書き込み)510をメモリデバイス401に伝送してもよい。メモリデバイス401は、受信されたCOMMAND2を実行して、完了したとき、ホスト400に対して、受信確認511を伝送する。例えば、メモリデバイス401は、命令された動作が完了したときに、ホスト400に対して完了メッセージを送信することができる。
その後、ホスト400がメモリデバイス401にコマンドを送信しない、ホスト400内のレイテンシー期間524が存在する可能性がある。メモリデバイス401は、特定の期間(例えば、期間値)の間、バックグラウンド動作を自動的に実施しないように命令されたため、メモリデバイス401は、この期間中にアイドル状態525にある。期間が終わった後、メモリデバイスは、バックグラウンド動作(例えば、ハウスキーピング動作)を自動的に実施530することができる。自動バックグラウンド動作は、完了されるまでか、メモリデバイスが電力を失うまでか、バックグランド動作を中断する別のコマンドがホストから受信されるまで、実施される。例えば、ホスト400は、メモリデバイス401に対して、別のコマンドCOMMAND3 520を伝送してもよい。当該コマンドは、中断を処理するために、メモリデバイス401にバックグラウンド動作の性能を停止させる。
時間レジスタが使用されない別の一実施形態においては、ホスト400は、メモリデバイス401に開始コマンドを送信する。メモリデバイス401は、開始コマンドを受信するまで、アイドル状態のままである。開始コマンドの受信によって、メモリデバイス401は、バックグラウンド動作を開始する。
[結論]
要約すると、メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化用の方法の一つ以上の実施形態は、バックグラウンド動作のより信頼性の高い実行を提供することができる。なぜなら、ホストは、メモリデバイスが何時ハウスキーピングタスクを実施するかを現時点で、知るからである。バックグラウンド動作を自動的に実施することができるときホストが機能を有効化して、メモリデバイスに知らせることができるため、ホストは、メモリデバイスをコマンドで中断するのに最良の時期を知ることができる。さらに、ホストは、バックグラウンド動作が実施されている間、何時メモリデバイスに対する電力を遮断しないようにすべきかを知る。
本明細書には特定の実施形態が示され、記述されてきたが、同一の目的を達成すると推定される任意の配置が示された特定の実施形態に対して置換されてもよいことを当業者には理解されたい。本発明の多くの適応は、当業者に対して明らかであろう。したがって、この適用は、本発明の任意の適応もしくは変形を包含することを意図される。

Claims (18)

  1. メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化用の方法であって、
    前記自動バックグラウンド動作のホスト制御有効化を前記メモリデバイスがサポートするか否かを決定するために前記ホストを利用することと、
    前記メモリデバイスが、前記自動バックグラウンド動作のホスト制御有効化をサポートすることを前記ホストが決定するのに応じて、前記メモリデバイスにおいて前記自動バックグラウンド動作を実施するように前記メモリデバイスを構成するために前記ホストを利用することと、
    を含む、ことを特徴とする方法。
  2. 前記メモリデバイスのレジスタに期間値を書き込むことをさらに含む、ことを特徴とする請求項1に記載の方法。
  3. 前記期間は、前記自動バックグラウンド動作を有効化する前に、前記メモリデバイスが待機すべき期間である、ことを特徴とする請求項2に記載の方法。
  4. 前記期間は、前記バックグラウンド動作を自動的に実施する前に前記メモリデバイスが待機すべき期間である、ことを特徴とする請求項2に記載の方法。
  5. 前記メモリデバイスの第一のレジスタに期間値を前記ホストが書き込むことと、
    前記メモリデバイスの第二のレジスタに、前記期間値に対する測定値の単位を前記ホストが書き込むことと、
    をさらに含む、ことを特徴とする請求項1に記載の方法。
  6. 前記ホストが書き込むことは、前記メモリデバイスのコントローラの介在なく、前記第一のレジスタに前記ホストが直接書き込むことを含む、ことを特徴とする請求項5に記載の方法。
  7. 前記ホストが書き込むことは、前記メモリデバイスのコントローラ介在させて、前記第一のレジスタに前記ホストが書き込むことを含む、ことを特徴とする請求項5に記載の方法。
  8. 前記自動バックグラウンド動作を開始するように前記メモリデバイスに指示するように構成された開始コマンドを前記メモリデバイスに送信することをさらに含む、ことを特徴とする請求項1に記載の方法。
  9. 前記メモリデバイスが前記自動バックグラウンド動作のホスト制御有効化をサポートするか否かを決定するために前記ホストを利用することは、前記メモリデバイスのレジスタを前記ホストが読み出すことを含む、ことを特徴とする請求項1に記載の方法。
  10. 前記ホストが前記レジスタから第一の状態を読み出すことは、前記メモリデバイスが、前記自動バックグラウンド動作のホスト制御有効化をサポートすることを示し、前記ホストが前記レジスタから第二の状態を読み出すことは、前記メモリデバイスが、前記自動バックグラウンド動作のホスト制御有効化をサポートしないことを示す、ことを特徴とする請求項9に記載の方法。
  11. 前記自動バックグラウンド動作を有効化することは、前記メモリデバイスに制御データを前記ホストが送信することを含む、ことを特徴とする請求項1に記載の方法。
  12. 前記メモリデバイスにおける前記自動バックグラウンド動作を実施するように前記メモリデバイスを構成するために前記ホストを利用することは、前記メモリデバイスのレジスタに前記ホストが制御データを書き込むことを含む、ことを特徴とする請求項1に記載の方法。
  13. メモリデバイスであって、
    複数のメモリセルのアレイと、
    自動バックグラウンド動作を実施することを前記メモリデバイスが許可されるか否かを示すホストからの制御データを受信するように構成されたレジスタと、
    前記レジスタおよび複数のメモリセルの前記アレイに結合されたコントローラであって、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されたことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化するように構成され、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されないことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化しないように構成される、コントローラと、
    前記自動バックグラウンド動作のホスト制御有効化をサポートするか否かを示すデータを格納するように構成された別のレジスタと、
    含む、ことを特徴とするメモリデバイス。
  14. 前記レジスタは、前記コントローラの一部である、ことを特徴とする請求項13に記載のメモリデバイス。
  15. 前記レジスタは、前記コントローラから分離される、ことを特徴とする請求項13に記載のメモリデバイス。
  16. メモリデバイスであって、
    複数のメモリセルのアレイと、
    自動バックグラウンド動作を実施することを前記メモリデバイスが許可されるか否かを示すホストからの制御データを受信するように構成された有効レジスタと、
    前記レジスタおよび複数のメモリセルの前記アレイに結合されたコントローラであって、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されたことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化するように構成され、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されないことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化しないように構成される、コントローラと、
    期間を示す期間値を格納するように構成された時間レジスタと、
    を含み、
    前記コントローラは、最後にホストに命令された動作の完了後に、終わる前記期間に応じて、前記バックグラウンド動作を自動的に実施するように構成される、ことを特徴とするメモリデバイス。
  17. メモリデバイスであって、
    複数のメモリセルのアレイと、
    自動バックグラウンド動作を実施することを前記メモリデバイスが許可されるか否かを示すホストからの制御データを受信するように構成されたレジスタと、
    前記レジスタおよび複数のメモリセルの前記アレイに結合されたコントローラであって、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されたことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化するように構成され、前記メモリデバイスが前記自動バックグラウンド動作を実施することを許可されないことを前記制御データが示すとき、前記自動バックグラウンド動作を有効化しないように構成される、コントローラと、
    前記自動バックグラウンド動作のホスト制御有効化をサポートするか否かを示すデータを格納するように構成された別のレジスタと、
    期間を示す期間値を格納するように構成された時間レジスタと、
    を含み、
    前記コントローラは、最後にホストに命令された動作の完了後に、終わる前記期間に応じて、前記バックグラウンド動作を自動的に実施するように構成される、ことを特徴とするメモリデバイス。
  18. 前記期間値を格納するように構成された前記時間レジスタは、第一の時間レジスタであり、前記期間値に関連付けられる測定値の単位を格納するように構成された第二の時間レジスタをさらに含む、ことを特徴とする請求項16または17に記載のメモリデバイス。
JP2015552740A 2013-01-11 2014-01-08 メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化 Active JP6055113B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/739,453 US9329990B2 (en) 2013-01-11 2013-01-11 Host controlled enablement of automatic background operations in a memory device
US13/739,453 2013-01-11
PCT/US2014/010646 WO2014110111A1 (en) 2013-01-11 2014-01-08 Host controlled enablement of automatic background operations in a memory device

Publications (2)

Publication Number Publication Date
JP2016507095A JP2016507095A (ja) 2016-03-07
JP6055113B2 true JP6055113B2 (ja) 2016-12-27

Family

ID=51166167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015552740A Active JP6055113B2 (ja) 2013-01-11 2014-01-08 メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化

Country Status (7)

Country Link
US (4) US9329990B2 (ja)
EP (1) EP2943887B1 (ja)
JP (1) JP6055113B2 (ja)
KR (1) KR101674338B1 (ja)
CN (1) CN104919438B (ja)
TW (1) TWI506424B (ja)
WO (1) WO2014110111A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015204073A (ja) * 2014-04-16 2015-11-16 キヤノン株式会社 情報処理装置、情報処理端末、情報処理方法およびプログラム
US9977603B2 (en) 2016-05-02 2018-05-22 Micron Technology, Inc. Memory devices for detecting known initial states and related methods and electronic systems
US10884656B2 (en) * 2017-06-16 2021-01-05 Microsoft Technology Licensing, Llc Performing background functions using logic integrated with a memory
US10521375B2 (en) 2017-06-22 2019-12-31 Macronix International Co., Ltd. Controller for a memory system
KR102505920B1 (ko) * 2018-02-01 2023-03-06 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
TWI688863B (zh) 2018-11-06 2020-03-21 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
KR20210001414A (ko) * 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법
US11152054B2 (en) * 2019-08-28 2021-10-19 Micron Technology, Inc. Apparatuses and methods for performing background operations in memory using sensing circuitry
US11194489B2 (en) 2020-04-27 2021-12-07 Western Digital Technologies, Inc. Zone-based device with control level selected by the host
CN117270790A (zh) 2020-04-30 2023-12-22 伊姆西Ip控股有限责任公司 用于处理数据的方法、电子设备和计算机程序产品

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453370B1 (en) * 1998-11-16 2002-09-17 Infineion Technologies Ag Using of bank tag registers to avoid a background operation collision in memory systems
US6618314B1 (en) * 2002-03-04 2003-09-09 Cypress Semiconductor Corp. Method and architecture for reducing the power consumption for memory devices in refresh operations
WO2005060575A2 (en) 2003-12-10 2005-07-07 X1 Technologies, Inc. Performing operations in response to detecting a computer idle condition
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7308565B2 (en) * 2005-06-15 2007-12-11 Seiko Epson Corporation Saving/restoring task state data from/to device controller host interface upon command from host processor to handle task interruptions
US7564721B2 (en) * 2006-05-25 2009-07-21 Micron Technology, Inc. Method and apparatus for improving storage performance using a background erase
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
US20080294813A1 (en) 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US8504784B2 (en) 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US7904673B2 (en) * 2007-11-20 2011-03-08 Seagate Technology Llc Data storage device with histogram of idle time and scheduling of background and foreground jobs
US8185903B2 (en) 2007-12-13 2012-05-22 International Business Machines Corporation Managing system resources
JP5106219B2 (ja) * 2008-03-19 2012-12-26 株式会社東芝 メモリデバイス、ホストデバイス、メモリシステム、メモリデバイスの制御方法、ホストデバイスの制御方法、およびメモリシステムの制御方法
JP2010123055A (ja) * 2008-11-21 2010-06-03 Fujitsu Ltd データ移行プログラム,データ移行方法及びデータ移行装置
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8504759B2 (en) * 2009-05-26 2013-08-06 Micron Technology, Inc. Method and devices for controlling power loss
WO2011013350A1 (ja) * 2009-07-29 2011-02-03 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
US8819328B2 (en) * 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US8886976B2 (en) 2011-04-11 2014-11-11 Microsoft Corporation Management of background tasks
JP5481453B2 (ja) * 2011-09-21 2014-04-23 株式会社東芝 メモリデバイス
JP2015507798A (ja) * 2011-12-29 2015-03-12 メモリー テクノロジーズ リミティド ライアビリティ カンパニー メモリ・モジュールにおいてデータ・エンティティを消去するための方法
US9773014B2 (en) * 2014-06-03 2017-09-26 Samsung Electronics Co., Ltd. Heterogeneous distributed file system using different types of storage mediums

Also Published As

Publication number Publication date
EP2943887A4 (en) 2016-11-16
US20220197504A1 (en) 2022-06-23
US11275508B2 (en) 2022-03-15
TW201439759A (zh) 2014-10-16
CN104919438B (zh) 2017-05-31
TWI506424B (zh) 2015-11-01
US20160231932A1 (en) 2016-08-11
JP2016507095A (ja) 2016-03-07
CN104919438A (zh) 2015-09-16
EP2943887B1 (en) 2019-10-30
EP2943887A1 (en) 2015-11-18
KR20150095854A (ko) 2015-08-21
US10282102B2 (en) 2019-05-07
KR101674338B1 (ko) 2016-11-08
US20190220192A1 (en) 2019-07-18
US9329990B2 (en) 2016-05-03
WO2014110111A1 (en) 2014-07-17
US20140201473A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
JP6055113B2 (ja) メモリデバイスにおける自動バックグラウンド動作のホスト制御有効化
JP7348325B2 (ja) フラッシュメモリのためのリフレッシュの管理
KR102198436B1 (ko) 비휘발성 메모리의 리텐션 로직
JP5529275B2 (ja) 物理nandフラッシュ・メモリ論理ユニット及び制御回路を動作させるための方法
KR101014405B1 (ko) 다중 nand 플래시 메모리 장치의 공통 동작 동안의 감소된 피크 전력 소비를 위한 장치 및 방법
JP2008502090A (ja) ユーザにより密度/動作性能を設定可能なメモリデバイス
JP6014777B2 (ja) データ経路整合性の照合
US20120155171A1 (en) Memory system
KR102137889B1 (ko) 반도체 기억장치 및 그 리셋 방법
CN112652346A (zh) 存储装置和控制存储装置的方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161201

R150 Certificate of patent or registration of utility model

Ref document number: 6055113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250