JP2018181374A - 不揮発性メモリの制御方法 - Google Patents

不揮発性メモリの制御方法 Download PDF

Info

Publication number
JP2018181374A
JP2018181374A JP2018138742A JP2018138742A JP2018181374A JP 2018181374 A JP2018181374 A JP 2018181374A JP 2018138742 A JP2018138742 A JP 2018138742A JP 2018138742 A JP2018138742 A JP 2018138742A JP 2018181374 A JP2018181374 A JP 2018181374A
Authority
JP
Japan
Prior art keywords
memory
data
controller
write
memory area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018138742A
Other languages
English (en)
Other versions
JP6538940B2 (ja
Inventor
菅野 伸一
Shinichi Sugano
伸一 菅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of JP2018181374A publication Critical patent/JP2018181374A/ja
Application granted granted Critical
Publication of JP6538940B2 publication Critical patent/JP6538940B2/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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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
    • 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/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
    • 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
    • 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/7205Cleaning, compaction, garbage collection, erase control

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

Abstract

【課題】メモリシステムのメモリ寿命を延ばす。
【解決手段】本実施形態に係る不揮発性メモリの制御方法は、不揮発性メモリを制御するコントローラが、不揮発性メモリに含まれる複数のメモリ領域ごとの有効データのデータ量を検出することと、コントローラが、複数のメモリ領域ごとに、複数のメモリ領域の書き込み順序又は書き込みからの経過時間に応じて変化するしきい値を設定することと、コントローラが、複数のメモリ領域ごとのデータ量と前記しきい値とに基づいて、データ量がしきい値より小さいメモリ領域を選択することと、コントローラが、選択されたメモリ領域の有効データを他のメモリ領域に移動し、選択されたメモリ領域を消去することと、を含む。
【選択図】 図1

Description

実施形態は、不揮発性メモリの制御方法に関する。
ソリッドステートドライブ(SSD)は、不揮発性半導体メモリを備え、ハードディスクドライブ(HDD)と同様のインタフェースを持つ。例えば、SSDは、データ書き込み時に、書き込みコマンド、書き込み先のLogical Block Addressing(LBA)、書き込みデータを情報処理装置から受け、Look Up Table(LUT)に基づいて、LBAをPhysical Block Addressing(PBA)に変換し、PBAの示す位置に書き込みデータを書き込む。
米国特許第8285946号明細書 米国特許出願公開第2007/0033324号明細書 米国特許出願公開第2014/0095775号明細書 特表2013−513881号公報
実施形態は、不揮発性メモリのメモリ寿命を延ばす制御方法を提案する。
実施形態によれば、不揮発性メモリの制御方法は、不揮発性メモリを制御するコントローラが、不揮発性メモリに含まれる複数のメモリ領域ごとの有効データのデータ量を検出することと、コントローラが、複数のメモリ領域ごとに、複数のメモリ領域の書き込み順序又は書き込みからの経過時間に応じて変化するしきい値を設定することと、コントローラが、複数のメモリ領域ごとのデータ量と前記しきい値とに基づいて、データ量がしきい値より小さいメモリ領域を選択することと、コントローラが、選択されたメモリ領域の有効データを他のメモリ領域に移動し、選択されたメモリ領域を消去することと、を含む。
第1の実施形態に係る情報処理システムの構成の一例を示すブロック図。 第1の実施形態に係る順序情報の一例を示すデータ構造図。 第1の実施形態に係るデータ量情報の一例を示すデータ構造図。 第1の実施形態に係るしきい値情報の一例を示すデータ構造図。 第1の実施形態に係る書き込み順序と有効データ量としきい値との関係の例を示すグラフ。 第1の実施形態に係るメモリシステムで実行されるガベージコレクション処理の一例を示すフローチャート。 第2の実施形態に係る情報処理システムの具体的構成の一例を示すブロック図。 第2の実施形態に係るストレージシステムの一例を示す斜視図。
以下、図面を参照して実施形態について説明する。以下の説明において、略同一の機能及び構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
[第1の実施形態]
本実施形態においては、ガベージコレクションを実行するメモリ領域を選択するメモリシステムについて説明する。
本実施形態に係るメモリシステムは、例えばSSDなどのようなメモリ装置であるとする。しかしながら、本実施形態に係るメモリシステムと同様の構成は、メモリカード、HDD、HDDとSSDとを含むハイブリッド型メモリ装置、光ディスクなどの各種メモリ装置に適用可能である。
メモリシステムは、不揮発性メモリを含む。本実施形態では、不揮発性メモリがNAND型フラッシュメモリを含む場合について説明する。しかしながら、不揮発性メモリは、例えば、NOR型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistive Random Access Memory)、又は、FeRAM(Ferroelectric Random Access Memory)などNAND型フラッシュメモリではない他の種別のメモリを含むとしてもよい。
本実施形態において、不揮発性メモリは、消去単位領域ごとに、データが一括して消去される。消去単位領域は、複数の書き込み単位領域及び複数の読み出し単位領域を含む。不揮発性メモリがNAND型フラッシュメモリの場合、消去単位領域はブロックに相当する。書き込み単位領域及び読み出し単位領域はページに相当する。
本実施形態において、アクセスとは、メモリへデータを書き込むこと、及び、メモリからデータを読み出すことの双方を意味する。
本実施形態において、メモリ領域は、例えば、ガベージコレクションの実行単位で区分けされた領域である。例えば、ガベージコレクションの実行単位とは、ガベージコレクションの実行対象となるメモリの範囲である。より具体的には、ガベージコレクションの実行単位とは、1回のガベージコレクションで不要な領域の解放が実行される対象となる範囲である。例えば、ガベージコレクションの実行単位は、複数の書き込み単位領域を含む1つ又は複数の消去単位領域としてもよい。本実施形態においては、メモリ領域がブロックであるとして説明する。しかしながら、メモリ領域は、例えば2以上のブロックを含むなど、他の単位としてもよい。例えば、不揮発性メモリ5が複数のネームスペースに分割されている場合、各メモリ領域は、各ネームスペースに対応するとしてもよい。本実施形態において、ネームスペースとは、不揮発性メモリ5に含まれる複数のブロックを任意に区分けすることによって得られるメモリのスペースである。コントローラ4は、ネームスペースIDを用いて不揮発性メモリ5に対する各種の制御を行うことにより、不揮発性メモリ5における特定のスペースのみを制御可能である。
図1は、本実施形態に係る情報処理システムの一例を示すブロック図である。
情報処理システム1は、情報処理装置2とメモリシステム3とを含む。本実施形態において、情報処理装置2は、メモリシステム3に対応するホスト装置として動作する。
メモリシステム3は、情報処理装置2に内蔵されてもよく、情報処理装置2とメモリシステム3とは、ネットワークなどにより通信可能に接続されるとしてもよい。メモリシステム3は、複数の情報処理装置2と通信可能に接続されてもよい。また、複数のメモリシステム3が、1以上の情報処理装置2と通信可能に接続されてもよい。
メモリシステム3は、コントローラ4と不揮発性メモリ5とを含む。
不揮発性メモリ5は、複数のブロックB0〜BNを含む。
コントローラ4は、インタフェース部6、記憶部7A、7B、プロセッサ8、メモリコントローラ9を含む。コントローラ4は、例えば、情報処理装置2との間でデータ、情報、信号、コマンド、アドレスなどを送受信するためのインタフェースに依存する部分であるフロントエンドと、当該インタフェースに依存しないバックエンドとに分けられるとしてもよい。この場合、例えば、フロントエンドは、インタフェース部6を含む。例えば、バックエンドは、記憶部7A,7B、プロセッサ8、メモリコントローラ9を含む。
インタフェース部6は、例えば情報処理装置2などのような外部装置との間で、データ、情報、信号、コマンド、アドレスなどの送信及び受信を行う。
記憶部7Aは、プロセッサ8が実行するプログラム71、アドレス変換データ72、順序情報73、データ量情報74、しきい値情報75を格納する。なお、プログラム71、アドレス変換データ72、順序情報73、データ量情報74、しきい値情報75の一部又は全部は、プロセッサ8内のメモリなどのような他のメモリに格納されてもよく、不揮発性メモリ5に書き込まれていてもよい。プログラム71は、例えば、ファームウェア、アプリケーションプログラム、又は、オペレーティングシステムとしてもよい。アドレス変換データ72は、情報処理装置2から受信された書き込みデータの論理アドレスと記憶部7B又は不揮発性メモリ5の物理アドレスとを関係付けている。アドレス変換データ72は、例えばLUT(Look Up Table)である。アドレス変換データ72は、テーブル形式のデータ構造を持つとしてもよく、リスト構造により論理アドレスと物理アドレスとを関連付けてもよい。
記憶部7Aは、例えば不揮発性メモリとする。しかしながら、記憶部7Aの一部又は全部は、例えばDRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などのような揮発性メモリでもよい。記憶部7Aが揮発性メモリを含む場合、メモリシステム3の電源切断時に、揮発性メモリに格納されているプログラム又はデータは、例えば不揮発性メモリ5などのような不揮発性メモリに書き込まれるとしてもよい。
記憶部7Bは、例えば作業用メモリとして使用される。記憶部7Bは、ライトバッファメモリWB、ガベージコレクションバッファメモリGBを含む。
ライトバッファメモリWBは、情報処理装置2から受信された書き込みデータを一時的に格納する。ガベージコレクションバッファメモリGBは、後述するガベージコレクションの際にデータ(有効データ)を一時的に格納する。
記憶部7Bは、揮発性メモリでもよく、不揮発性メモリでもよく、不揮発性メモリと揮発性メモリとの組み合わせでもよい。
メモリコントローラ9は、例えばプロセッサ8、記憶部7Bなどの各種のモジュールから、データ、情報、信号、コマンド、アドレスなどを受信し、不揮発性メモリ5に対する書き込み、読み出し、消去を実行する。
プロセッサ8は、メモリシステム3を全体的に制御する。プロセッサ8は、プログラム71を実行することにより、書き込み部81、アドレス変換部82、順序管理部83、検出部84、しきい値管理部85、選択部86、ガベージコレクション部87として機能する。本実施形態において、書き込み部81、アドレス変換部82、順序管理部83、検出部84、しきい値管理部85、選択部86、ガベージコレクション部87のうちの一部又は全部は、ハードウェアとしてメモリシステム3に実装されてもよい。
プロセッサ8は、情報処理装置2からインタフェース部6経由で、コマンド、論理アドレス、データサイズ、書き込みデータ、を受ける。
書き込み部81は、書き込みコマンドが受け付けられた場合に、ライトバッファメモリWBへ書き込みデータを格納する。
また、書き込み部81は、不揮発性メモリ5への書き込みに適したデータ量の書き込みデータがライトバッファメモリWBに格納されると、ライトバッファメモリWBのデータをメモリコントローラ9経由で不揮発性メモリ5へ書き込む。
アドレス変換部82は、書き込みデータがライトバッファメモリWBへ格納された場合に、書き込みデータの論理アドレスと、書き込みデータが格納されたライトバッファメモリWBの物理アドレスとを関係付けて、アドレス変換データ72を更新する。
また、アドレス変換部82は、ライトバッファメモリWBのデータが不揮発性メモリ5に書き込まれた場合に、当該データの論理アドレスと、当該データが書き込まれた不揮発性メモリ5の物理アドレスとを関係付けて、アドレス変換データ72を更新する。
さらに、アドレス変換部82は、ガベージコレクションによって不揮発性メモリ5のデータが移動した場合に、移動したデータの論理アドレスと、ガベージコレクションによる移動先の物理アドレスとを関係付けて、アドレス変換データ72を更新する。
順序管理部83は、ブロックB0〜BNの書き込み順序を示す順序情報73を管理する。例えば、順序管理部83は、ブロックB0〜BNの識別情報に、書き込み順序を示す昇順のシーケンシャル番号を割り当てた順序情報73を記憶部7Aに格納する。
検出部84は、ブロックB0〜BNごとの有効データのデータ量(以下、有効データ量という)を検出し、ブロックB0〜BNの識別情報に、有効データ量を割り当てたデータ量情報74を記憶部7Aに格納する。
有効データとは、少なくとも利用可能性のあるデータであるとする。本実施形態において、有効データは、例えば、不揮発性メモリ5に含まれている複数のブロックのうちのあるブロックに対するガベージコレクションが実行された場合に当該ガベージコレクションが実行されたブロックではない複数のブロックのうちの他のブロックに書き込まれるデータであるとする。
より具体的に説明すると、有効データとは、例えば、アドレス変換データ72によって参照されるデータである。有効データの一例としては、書き込みコマンドとともに論理アドレス及び当該論理アドレスに対応する書き込みデータが情報処理装置2からメモリシステム3に受信された後、情報処理装置2から同一の論理アドレスを指定した上書きコマンドが受信されていないデータがある。換言すると、例えば、同じ論理アドレスに対応するデータが複数位置に格納又は書き込まれている場合に、最新のデータが有効データであるとする。
これに対して、無効データとは、少なくとも利用可能性のないデータであるとする。本実施形態において、無効データは、例えば、あるブロックに対するガベージコレションが実行された場合に当該ガベージコレクションが実行されたブロックではない他のブロックに書き込まれる必要がなく、そのまま消去されてもよいデータであるとする。無効データの一例としては、更新が発生した場合の更新前のデータがある。
本実施形態において、ブロックB0〜BNごとの有効データ量は、例えば、ブロックB0〜BN内の有効データの合計のサイズである。例えば、複数の有効データが同じサイズを持つ場合、ブロックB0〜BNごとの有効データの数により、ブロックB0〜BNごとの有効データ量が管理されてもよい。
しきい値管理部85は、ブロックB0〜BNごとに設定されているしきい値を管理する。しきい値は、ガベージコレクションを実行するか否かを判断する基準として用いられる値である。本実施形態では、ガベージコレクションを実行した方がよいほど有効データのデータ量が少ないか否かを判断する観点から、しきい値が設定される。例えば、しきい値管理部85は、ブロックB0〜BNの識別情報に、しきい値を割り当てたしきい値情報75を記憶部7Aに格納する。例えば、しきい値管理部85は、ブロックB0〜BNに対する書き込み順序に応じて、ブロックB0〜BNに対するしきい値を変化させる。より具体的には、しきい値管理部85は、順序情報73に基づいて、書き込み順序が前のブロック(書き込みが古いブロック)のしきい値が、書き込み順序が後のブロック(書き込みが新しいブロック)のしきい値より大きくなるように、ブロックB0〜BNごとにしきい値を設定する。複数のしきい値のうちの一部は、等しい値でもよい。
選択部86は、データ量情報74としきい値情報75とに基づいて、ブロックB0〜BNごとに有効データ量がしきい値より小さいか判断し、有効データ量がしきい値より小さいブロックをガベージコレクション対象のブロックとして選択する。
例えば、選択部86は、各ブロックB0〜BNのしきい値から各ブロックB0〜BNの有効データ量を引いた値を計算し、ブロックB0〜BNごとに計算された値のうち最も大きい値に対応するブロックをガベージコレクション対象のブロックとして選択してもよい。
例えば、選択部86は、各ブロックB0〜BNのしきい値から各ブロックB0〜BNの有効データ量を引いた値を計算し、ブロックB0〜BNごとに計算された値の大きさによってグループ分けし、値が大きいグループの中からガベージコレクション対象のブロックを選択してもよい。より具体的には、選択部86は、各ブロックB0〜BNのしきい値から各ブロックB0〜BNの有効データ量を引いた値を計算し、ブロックB0〜BNごとに計算された値のうちガベージコレクションの実行を許可する設定値以上の値に対応するブロックを選択してもよい。
選択部86は、1つのブロックを選択してもよく、複数のブロックを選択してもよい。
ガベージコレクション部87は、選択部86によって選択されたブロックに対してガベージコレクションを実行する。本実施形態において、ガベージコレクションとは、メモリの不要な領域を解放する処理とする。より具体的に説明すると、ガベージコレクション部87は、不揮発性メモリ5から選択部86によって選択されたブロックの有効データをガベージコレクションバッファメモリGBに一時的に格納し、選択されたブロックを消去し、不揮発性メモリ5から有効データの移動先として空き領域を選択し、ガベージコレクションバッファメモリGBの有効データを選択された空き領域に書き込む。ここで、空き領域とは、データを書き込み可能な領域とする。空き領域の一例としては、フローブロックがある。フリーブロックとは、データが消去されており、有効データが書き込まれていないブロックである。
不揮発性メモリ5がNAND型フラッシュメモリの場合には、メモリの不要な領域を解放するために、ガベージコレクション対象のブロックの有効データは他のブロックに移動され、ガベージコレクション対象のブロックは消去される。このため、不揮発性メモリ5がNAND型フラッシュメモリの場合には、ガベージコレクションとともにコンパクションが実行されてもよい。したがって、本実施形態においては、ガベージコレクション部87に代えて、コンパクションを実行するコンパクション部を備えるとしてもよい。コンパクションとは、メモリの不要な領域を集めて、連続した書き込み可能な領域を増やす処理とする。コンパクション部は、選択部86によって選択された複数のブロックの有効データを記憶部7Bに一時的に格納し、記憶部7Bに一時的に格納された有効データを選択された空き領域に書き込む。
図2は、本実施形態に係る順序情報73の一例を示すデータ構造図である。
順序情報73は、ブロックB0〜BNの識別情報と、書き込み順序を示す昇順のシーケンシャルな番号とを関連付けている。
この図2では、ブロックB0〜BNの順で書き込みが実行され、ブロックB0に番号Kが関連付けられており、ブロックB1に番号K+1が関連付けられており、ブロックBNに番号K+Nが関連付けられている。
この順序情報73により、最大の番号K+Nと関連付けられているブロックBNに対して、最新の書き込みが実行されたことを認識可能である。
また、最大の番号K+NとブロックB0に関連付けられている番号Kとの差はNであり、最大の番号K+NとブロックB1に関連付けられている番号K+1との差はN−1であり、差の大きいブロックB0が、差の小さいブロックB1の前に書き込まれたことを認識可能である。
なお、順序情報73は、書き込みの順序を昇順の番号ではない他の情報により管理してもよい。例えば、順序情報73は、ブロックB0〜BNの識別情報と、書き込みの発生した時間情報とを関連付けてもよい。
図3は、本実施形態に係るデータ量情報74の一例を示すデータ構造図である。
データ量情報74は、各ブロックB0〜BNの識別情報と、各ブロックB0〜BNの有効データ量(有効データの合計サイズ)Z0〜ZNとを関連付けている。書き込み順序が前のブロックほど、有効データ量は小さくなる傾向にある。
図4は、本実施形態に係るしきい値情報75の一例を示すデータ構造図である。
しきい値情報75は、各ブロックB0〜BNの識別情報と、有効データ量Z0〜ZNと比較されるしきい値TH0〜THNとを関連付けている。しきい値TH0〜THNは、書き込み順序が前のブロックに関連付けられるしきい値ほど大きく、書き込み順序が後のブロックに関連付けられるしきい値ほど小さくなるように、設定される。本実施形態においては、ブロックB0〜BNの順で書き込みが実行されているため、ブロックB0〜BNに対応するしきい値は、TH0>TH1>TH2>…>THNの関係を持つ。しかしながら、しきい値TH0〜THNのうちの一部は、等しい値でもよい。
図5は、本実施形態に係る書き込み順序と有効データ量としきい値との関係の例を示すグラフである。
この図5においては、ブロックB0〜BNの順に書き込みが実行されている。書き込み順序が後のブロックほど書き込み順序が前のブロックよりも有効データ量が多い傾向にあるが、有効データ量はメモリシステム3の使用状況に影響される。したがって、部分的には、書き込み順序が前のブロックであっても書き込み順序が後のブロックよりも有効データ量が多い場合もある。
書き込み順序が前のブロックのしきい値は、書き込み順序が後のブロックのしきい値より大きく設定される。しかしながら、部分的には、書き込み順序が前のブロックのしきい値は、書き込み順序が後のブロックのしきい値と同じでもよい。
この図5では、ブロックB0〜B3において、有効データ量Z0〜Z3がしきい値TH0〜TH3よりも小さい。そこで、ブロックB0〜B3に対して、各ブロックB0〜B3のしきい値TH0〜TH3から各ブロックB0〜B3の有効データ量Z0〜Z3を引き算した値(差)D0〜D3を計算する。
計算の結果、ブロックB1の値D1が他のブロックB0,B2,B3の値D0,D2,D3よりも大きい。
したがって、図5のような関係を持つ場合には、ブロックB1がガベージコレクション対象のブロックとして選択される。
図6は、本実施形態に係るメモリシステム3で実行されるガベージコレクション処理の一例を示すフローチャートである。
ステップ601において、選択部86は、記憶部7Aの順序情報73、データ量情報74、しきい値情報75を読み出す。
ステップ602において、選択部86は、各ブロックB0〜BNのしきい値TH0〜THNと各ブロックB0〜BNの有効データ量Z0〜ZNとを比較する
ステップS603において、選択部86は、有効データ量がしきい値よりも小さいブロックがあるか否か判断する。
有効データ量がしきい値よりも小さいブロックがない場合には、処理が終了する。
有効データ量がしきい値よりも小さいブロックがある場合、ステップ604において、選択部86は、有効データ量がしきい値よりも小さいブロックに対して、有効データ量からしきい値を引き算した値を計算する。
ステップ605において、選択部86は、計算された値のうちで最も大きい値に対応するブロックをガベージコレクション対象のブロックとして選択する。
ステップ606において、ガベージコレクション部87は、選択されたブロックの有効データを、メモリコントローラ9経由で読み出し、読み出された有効データをガベージコレクションバッファメモリGBに格納する。
ステップ607において、ガベージコレクション部87は、メモリコントローラ9経由で選択されたブロックを消去する。
ステップ608において、ガベージコレクション部87は、メモリコントローラ9経由で、不揮発性メモリ5のいずれかのブロックに、ガベージコレクションバッファメモリGBのデータを、書き込む。
ステップ609において、アドレス変換部82は、ガベージコレクション部87によって不揮発性メモリ5に書き込まれた有効データの論理アドレスと物理アドレスとを関連付けてアドレス変換データ72を更新する。
以上説明した本実施形態においては、ある程度の期間書き込みが発生しておらず、かつ、有効データの少ないブロックに対して、ガベージコレクションを実行することができる。
例えば、書き込み順序が前であっても有効データの多いブロックに対してガベージコレクションを実行すると、移動が必要なデータ量が多くなり、ガベージコレクションが効率的に実行されない場合がある。
しかしながら、本実施形態においては、書き込み順序がある程度前であり、かつ、有効データ量の少ないブロックに対して、ガベージコレクションを実行することができ、メモリシステム3の使用状態に応じてガベージコレクションの効率化を図ることができる。
上記のように、本実施形態においては、ブロックB0〜BNごとの、しきい値TH0〜THNから有効データ量Z0〜ZNをそれぞれ引き算した値に基づいて、ガベージコレクション対象のブロックが選択される。しかしながら、有効データ量Z0〜ZNに代えて、例えば、ブロックB0〜BNごとの、書き込まれたデータの量に対する有効データ量の割合(以下、有効データ率という)を用いてもよい。この場合、例えば、ブロックB0〜BNごとの、しきい値から有効データ率を引き算した値に基づいて、ガベージコレクション対象のブロックが選択される。
本実施形態では、ブロックB0〜BNに対する書き込み順序に応じてしきい値が設定される場合を説明したが、例えば、ブロックB0〜BNごとの最後の書き込みが発生してからの経過時間に応じてしきい値が設定されるとしてもよい。この場合、書き込みが発生してからの経過時間が長いほど、しきい値が大きくなる。
[第2の実施形態]
本実施形態においては、上記第1の実施形態で説明した情報処理システム1の具体的構成の例について説明する。
図7は、本実施形態に係る情報処理システム1の具体的構成の一例を示すブロック図である。
情報処理システム1は、情報処理装置2とメモリシステム3とを含む。
上記第1の実施形態に係るメモリシステム3のプロセッサ8は、例えば、CPU(Central Processing Unit)43F,43Bに対応する。
インタフェース部6は、ホストインタフェース41に対応する。
記憶部7Aは、DRAM47に対応する。
アドレス変換データ72は、LUT45に対応する。
メモリコントローラ9は、NANDC(NAND Controller)50に対応する。
情報処理装置2は、メモリシステム3のホスト装置として機能する。
メモリシステム3のコントローラ4は、フロントエンドFEと、バックエンドBEとを備える。
フロントエンド(ホスト通信部)FEは、ホストインタフェース41、ホストインタフェースコントローラ42、暗号化/復号化部(Advanced Encryption Standard (AES))44、及びCPU43Fを備える。
ホストインタフェース41は、情報処理装置2との間で、要求(書き込みコマンド、読み出しコマンド、消去コマンドなど)、LBA、データなどを通信する。
ホストインタフェースコントローラ(制御部)42は、CPU43Fの制御に基づいて、上記ホストインタフェース41の通信を制御する。
暗号化/復号化部44は、データ書き込み動作において、ホストインタフェースコントローラ42から送信される書き込みデータ(平文)を暗号化する。暗号化/復号化部44は、データ読み出し動作において、バックエンドBEのリードバッファメモリRBから送信される暗号化された読み出しデータを復号化する。なお、この暗号化/復号化部44を介さずに、書き込みデータ及び読み出しデータを送信することも、必要に応じて可能である。
CPU43Fは、フロントエンドFEの上記各構成41,42,44を制御し、フロントエンドFEの全体の動作を制御する。
バックエンド(メモリ通信部)BEは、ライトバッファメモリWB、ガベージコレクションバッファメモリGB、リードバッファメモリRB、LUT45、DDRC46、DRAM47、DMAC48、ECC49、ランダマイザRZ、NANDC50、及びCPU43Bを備える。
ライトバッファメモリ(ライトデータ転送部)WBは、情報処理装置2から送信された書き込みデータを一時的に格納する。具体的には、ライトバッファメモリWBは、当該書き込みデータが不揮発性メモリ5に適した所定のデータサイズになるまで、一時的にデータを格納する。
リードバッファメモリ(リードデータ転送部)RBは、不揮発性メモリ5から読み出された読み出しデータを一時的に格納する。具体的には、リードバッファメモリRBにおいて、読み出しデータは、情報処理装置2に適した順序(情報処理装置2が指定した論理アドレスLBAの順序)になるように並び替えられる。
ガベージコレクションバッファメモリGBは、ガベージコレクションの際にデータを一時的に格納する。
LUT45は、論理アドレスLBAを物理アドレスPBAに変換するためのテーブルである。
DDRC46は、DRAM47におけるDDR(Double Data Rate)を制御する。
DRAM47は、例えば、LUT45を格納する揮発性のメモリである。
DMAC(Direct Memory Access Controller)48は、内部バスIBを介して、書き込みデータや読み出しデータなどを転送する。図7においては1つのDMAC48が図示されているが、コントローラ4は、2以上のDMAC48を備えるとしてもよい。DMAC48は、必要に応じて、コントローラ4内の様々な位置に設定される。
ECC49は、ライトバッファメモリWBから送信される書き込みデータにECC(Error Correcting Code)を付加する。ECC49は、リードバッファメモリRBに送信する際に、付加したECCを用いて、不揮発性メモリ5から読み出した読み出しデータを必要に応じて訂正する。
ランダマイザRZ(又はスクランブラ)は、データ書き込み動作の際に、書き込みデータが不揮発性メモリ5の特定のページ又はワード線方向などに偏らないように、書き込みデータを分散させる。このように、書き込みデータを分散させることで、書き込み回数を平準化でき、不揮発性メモリ5のメモリセルのセル寿命を長期化できる。そのため、不揮発性メモリ5の信頼性を向上できる。また、ランダマイザRZは、データ読み出し動作の際に、書き込み時のランダマイズ処理の逆処理を実行し、元のデータを復元する。
NANDC50は、所定の速度の要求を満たすため、複数のチャンネル(ここでは、4つのチャンネルCH0〜CH3)を用いて、並列に不揮発性メモリ5にアクセスする。
CPU43Bは、バックエンドBEの上記各構成(45〜50,RZ)を制御し、バックエンドBEの全体の動作を制御する。
メモリシステム3と情報処理装置2との間の通信で用いられるプロトコルは、例えば、SAS(Serial Attached SCSI)、PCIe(PCI Express)、NVMe(NVM Express)、又は、AHCI(Advanced Host Controller Interface)等であってもよい。例えば、NVMeインタフェースにしたがってメモリシステム3の内部でデータが送受信されるとしてもよい。
なお、図7に示したコントローラ4の構成は例示であり、この構成に限定されることはない。
図8は、本実施形態に係るストレージシステムの一例を示す斜視図である。
ストレージシステム100は、SSDとしてのメモリシステム3を備える。
メモリシステム3は、例えば比較的小型のモジュールである。なお、メモリシステム3の大きさ及び寸法は、種々の大きさのものに適宜変更可能である。
また、メモリシステム3は、例えば、企業(エンタープライズ)で運用されるデータセンター又はクラウドコンピューティングシステムにおいて、サーバのような情報処理装置2に装着されて使用可能である。そのため、メモリシステム3は、エンタープライズ用SSD(eSSD)であってもよい。
メモリシステム3は、例えば上方に開口した複数のコネクタ(例えばスロット)101を備える。例えば、複数のコネクタ101は、SASコネクタとしてもよい。複数のコネクタ101がSASコネクタの場合には、情報処理装置2と各メモリシステム3とが互いに高速通信を行うことが可能である。
複数のメモリシステム3は、情報処理装置2のコネクタ101にそれぞれ装着され、略垂直方向に起立した姿勢で互いに並べて支持される。このような構成によれば、複数のメモリシステム3をコンパクトに纏めて実装可能であり、メモリシステム3の小型化を図ることができる。さらに、本実施形態に係るメモリシステム3の各形状は、2.5型のSFF(Small Form Factor)である。このような形状により、メモリシステム3は、エンタープライズ用HDD(eHDD)と互換形状(コンパチ形状)を図ることができ、eHDDとの容易なシステム互換性を実現することができる。
なお、メモリシステム3は、エンタープライズ用に限られない。例えば、メモリシステム3は、ノートブック型ポータブルコンピュータ又はタブレット型端末のようなコンシューマ用の電子機器の記憶媒体としても適用可能である。
以上説明したように、本実施形態で説明した構成を持つ情報処理システム1及びストレージシステム100においては、大容量の記憶に、上記第1の実施形態と同様の効果を得ることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1:情報処理システム、2:情報処理装置、3:メモリシステム、4:コントローラ、5:不揮発性メモリ、B0〜BN:ブロック、6:インタフェース部、7A/7B:記憶部、WB:ライトバッファメモリ、GB:GCバッファメモリ、8:プロセッサ、83:順序管理部、84:検出部、85:しきい値管理部、86:選択部、87:ガベージコレクション部、9:メモリコントローラ、GC:ガベージコレクション

Claims (7)

  1. 不揮発性メモリの制御方法であって、
    前記不揮発性メモリを制御するコントローラが、前記不揮発性メモリに含まれる複数のメモリ領域ごとの有効データのデータ量を検出することと、
    前記コントローラが、前記複数のメモリ領域ごとに、前記複数のメモリ領域の書き込み順序又は書き込みからの経過時間に応じて変化するしきい値を設定することと、
    前記コントローラが、前記複数のメモリ領域ごとの前記データ量と前記しきい値とに基づいて、前記データ量が前記しきい値より小さいメモリ領域を選択することと、
    前記コントローラが、選択された前記メモリ領域の有効データを他のメモリ領域に移動し、選択された前記メモリ領域を消去することと、
    を具備する方法。
  2. 前記コントローラは、
    前記複数のメモリ領域の前記書き込み順序又は前記書き込みからの経過時間を示す順序情報を管理し、
    前記順序情報に基づいて、前記複数のメモリ領域のうちの第1のメモリ領域のしきい値を、前記第1のメモリ領域よりも後に書き込まれた前記複数のメモリ領域のうちの第2のメモリ領域のしきい値より大きくなるように設定する、
    請求項1の方法。
  3. 前記コントローラは、前記複数のメモリ領域ごとに前記しきい値から前記データ量を引いた値を計算し、前記値が最も大きいメモリ領域を選択する、
    請求項2の方法。
  4. 前記コントローラは、前記複数のメモリ領域ごとに前記しきい値から前記データ量を引いた値を計算し、前記値が設定値以上のメモリ領域を選択する、
    請求項2の方法。
  5. 前記順序情報は、前記複数のメモリ領域ごとに書き込み順序を示す昇順の番号を割り当てた情報である、
    請求項2の方法。
  6. 前記コントローラは、最新の番号と前記第1のメモリ領域に対応する第1の番号との差が、前記最新の番号と前記第2のメモリ領域に対応する第2の番号との差より大きいことに基づいて、前記第1のメモリ領域に対する書き込みが前記第2のメモリ領域に対する書き込みより前であることを識別する、
    請求項5の方法。
  7. 不揮発性メモリの制御方法であって、
    前記不揮発性メモリを制御するコントローラが、前記不揮発性メモリに含まれる複数のメモリ領域ごとの有効データのデータ量を検出することと、
    前記コントローラが、前記複数のメモリ領域ごとにしきい値を設定することと、
    前記コントローラが、前記複数のメモリ領域ごとの前記データ量と前記しきい値とに基づいて、前記データ量が前記しきい値より小さいメモリ領域を選択することと、
    前記コントローラが、選択された前記メモリ領域の有効データを他のメモリ領域に移動し、選択された前記メモリ領域を消去することと、
    を具備する方法。
JP2018138742A 2015-04-30 2018-07-24 不揮発性メモリの制御方法 Active JP6538940B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562155249P 2015-04-30 2015-04-30
US62/155,249 2015-04-30
US14/848,844 2015-09-09
US14/848,844 US9811462B2 (en) 2015-04-30 2015-09-09 Memory system executing garbage collection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016042477A Division JP6378226B2 (ja) 2015-04-30 2016-03-04 メモリシステム

Publications (2)

Publication Number Publication Date
JP2018181374A true JP2018181374A (ja) 2018-11-15
JP6538940B2 JP6538940B2 (ja) 2019-07-03

Family

ID=57204886

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016042477A Active JP6378226B2 (ja) 2015-04-30 2016-03-04 メモリシステム
JP2018138742A Active JP6538940B2 (ja) 2015-04-30 2018-07-24 不揮発性メモリの制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016042477A Active JP6378226B2 (ja) 2015-04-30 2016-03-04 メモリシステム

Country Status (2)

Country Link
US (2) US9811462B2 (ja)
JP (2) JP6378226B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11237769B2 (en) 2020-02-14 2022-02-01 Kioxia Corporation Memory system and method of controlling nonvolatile memory

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321172A1 (en) * 2015-05-01 2016-11-03 Kabushiki Kaisha Toshiba Memory device that performs garbage collection
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
KR102468992B1 (ko) * 2015-11-06 2022-11-22 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
JP6855704B2 (ja) * 2016-08-22 2021-04-07 富士通株式会社 ストレージシステム、ストレージ制御装置及びデータ格納方法
US10528462B2 (en) * 2016-09-26 2020-01-07 Intel Corporation Storage device having improved write uniformity stability
CN108475230B (zh) * 2016-11-11 2021-07-16 华为技术有限公司 一种存储系统和系统垃圾回收方法
JP6709180B2 (ja) * 2017-02-28 2020-06-10 キオクシア株式会社 メモリシステムおよび制御方法
US11176047B2 (en) * 2017-08-07 2021-11-16 International Business Machines Corporation Data storage system with physical storage and cache memory
TWI644207B (zh) * 2017-12-29 2018-12-11 國科美國研究實驗室 Method for garbage collection of data storage device
CN110058794B (zh) * 2018-01-19 2022-11-01 上海宝存信息科技有限公司 用于动态执行垃圾回收数据储存装置与操作方法
US20190303035A1 (en) * 2018-03-27 2019-10-03 EMC IP Holding Company LLC Copying garbage collector for geographically distributed data storage environment
US10966340B2 (en) * 2018-09-12 2021-03-30 Hewlett Packard Enterprise Development Lp Tray with memory modules
KR20210075175A (ko) * 2018-12-07 2021-06-22 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 시스템 프로그래밍 방법
KR20200123683A (ko) * 2019-04-22 2020-10-30 에스케이하이닉스 주식회사 데이터를 저장할 수 있는 복수의 영역을 포함하는 메모리 시스템 및 메모리 시스템의 동작방법
KR20210044564A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 스토리지 장치 및 그것의 가비지 컬렉션 방법
US11144450B2 (en) * 2019-12-19 2021-10-12 Micron Technology, Inc. Maintaining sequentiality for media management of a memory sub-system
US11275679B2 (en) * 2019-12-30 2022-03-15 Micron Technology, Inc. Separate cores for media management of a memory sub-system
TWI741779B (zh) * 2020-09-04 2021-10-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
TWI775268B (zh) * 2021-01-07 2022-08-21 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
US11972149B2 (en) 2022-07-27 2024-04-30 Western Digital Technologies, Inc. Storage system and method for optimizing host-activated defragmentation and proactive garbage collection processes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323212A (ja) * 2006-05-30 2007-12-13 Kyocera Corp フラッシュメモリシステム、電子機器、および携帯端末装置
US20110264843A1 (en) * 2010-04-22 2011-10-27 Seagate Technology Llc Data segregation in a storage device
JP2012141946A (ja) * 2010-12-16 2012-07-26 Toshiba Corp 半導体記憶装置
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
JP2016525249A (ja) * 2013-11-14 2016-08-22 華為技術有限公司Huawei Technologies Co.,Ltd. ガベージデータを収集するための方法及び記憶装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933840A (en) * 1997-05-19 1999-08-03 International Business Machines Corporation Garbage collection in log-structured information storage systems using age threshold selection of segments
US8131955B2 (en) * 2004-04-15 2012-03-06 Microsoft Corporation Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles
US7600223B2 (en) * 2004-10-25 2009-10-06 Microsoft Corporation Abstracted managed code execution
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
CN102696010B (zh) * 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
WO2011061724A1 (en) * 2009-11-23 2011-05-26 Amir Ban Memory controller and methods for enhancing write performance of a flash device
US8285946B2 (en) 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
US9141526B2 (en) * 2010-09-16 2015-09-22 International Business Machines Corporation Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit
US8627126B2 (en) * 2011-01-12 2014-01-07 International Business Machines Corporation Optimized power savings in a storage virtualization system
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9298608B2 (en) * 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9645924B2 (en) * 2013-12-16 2017-05-09 International Business Machines Corporation Garbage collection scaling
US10318414B2 (en) * 2014-10-29 2019-06-11 SK Hynix Inc. Memory system and memory management method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323212A (ja) * 2006-05-30 2007-12-13 Kyocera Corp フラッシュメモリシステム、電子機器、および携帯端末装置
US20110264843A1 (en) * 2010-04-22 2011-10-27 Seagate Technology Llc Data segregation in a storage device
JP2012141946A (ja) * 2010-12-16 2012-07-26 Toshiba Corp 半導体記憶装置
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
JP2016525249A (ja) * 2013-11-14 2016-08-22 華為技術有限公司Huawei Technologies Co.,Ltd. ガベージデータを収集するための方法及び記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11237769B2 (en) 2020-02-14 2022-02-01 Kioxia Corporation Memory system and method of controlling nonvolatile memory
US11768632B2 (en) 2020-02-14 2023-09-26 Kioxia Corporation Memory system and method of controlling nonvolatile memory

Also Published As

Publication number Publication date
US9811462B2 (en) 2017-11-07
JP2016212835A (ja) 2016-12-15
US20180024921A1 (en) 2018-01-25
JP6378226B2 (ja) 2018-08-22
US20160321171A1 (en) 2016-11-03
US10303599B2 (en) 2019-05-28
JP6538940B2 (ja) 2019-07-03

Similar Documents

Publication Publication Date Title
JP6538940B2 (ja) 不揮発性メモリの制御方法
US10761977B2 (en) Memory system and non-transitory computer readable recording medium
JP6479639B2 (ja) 情報処理装置、プログラム、及び、情報処理システム
US10824553B2 (en) Memory device that controls timing of receiving write data from a host
US9092336B2 (en) Write admittance policy for a memory cache
US20130205114A1 (en) Object-based memory storage
US11868246B2 (en) Memory system and non-transitory computer readable recording medium
US11726906B2 (en) Memory device and non-transitory computer readable recording medium
JP7030942B2 (ja) メモリ装置及びその制御方法
US20230281118A1 (en) Memory system and non-transitory computer readable recording medium
JP2018160189A (ja) メモリシステム
US20160266827A1 (en) Memory controller, memory device, data transfer system, data transfer method, and computer program product
CN109101186A (zh) 数据储存装置与数据储存方法
JP6689325B2 (ja) メモリ装置の制御方法
JP6313242B2 (ja) メモリシステム及びプログラム
JP6276208B2 (ja) メモリシステム及びプログラム
US20210334207A1 (en) Information processing device, non-transitory computer readable recording medium, and information processing system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R150 Certificate of patent or registration of utility model

Ref document number: 6538940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350