JP2017224112A - メモリシステムおよびメモリ管理装置 - Google Patents
メモリシステムおよびメモリ管理装置 Download PDFInfo
- Publication number
- JP2017224112A JP2017224112A JP2016118303A JP2016118303A JP2017224112A JP 2017224112 A JP2017224112 A JP 2017224112A JP 2016118303 A JP2016118303 A JP 2016118303A JP 2016118303 A JP2016118303 A JP 2016118303A JP 2017224112 A JP2017224112 A JP 2017224112A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- memory area
- area
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
用状況を把握して、データをどのメモリ領域に保存するかを制御するメモリシステムおよ
びメモリ管理装置を提供する。
【解決手段】実施形態のメモリシステムは、2ビット以上のデータを格納するメモリセル
を含む第1のメモリ領域と、2ビット以上のデータを格納するメモリセルを含む第2のメ
モリ領域とを含む不揮発性メモリと、制御部と、を備え、前記制御部は、前記第2のメモ
リ領域の読み出し可能回数が前記第1のメモリ領域の読み出し可能回数よりも少ない場合
であって、前記不揮発性メモリに第1のデータを格納する際に、前記第1のデータの情報
に基づいて、前記第1のデータを前記第1のメモリ領域および前記第2のメモリ領域のう
ちのいずれかに格納する。
【選択図】図2
Description
を繰り返すと、メモリセルの劣化が進行する。そのため、劣化したメモリセルに読み出し
頻度が高いデータを保存した場合、データの読み出しエラーが起こりやすくなる。
のメモリ領域に保存するかを制御する必要がある。
を把握して、データをどのメモリ領域に保存するかを制御するメモリシステムおよびメモ
リ管理装置を提供する。
のメモリ領域と、2ビット以上のデータを格納するメモリセルを含む第2のメモリ領域と
を含む不揮発性メモリと、制御部と、を備え、前記制御部は、前記第2のメモリ領域の読
み出し可能回数が前記第1のメモリ領域の読み出し可能回数よりも少ない場合であって、
前記不揮発性メモリに第1のデータを格納する際に、前記第1のデータの情報に基づいて
、前記第1のデータを前記第1のメモリ領域および前記第2のメモリ領域のうちのいずれ
かに格納する。
様のものを示す。なお、図面は模式的または概念的なものであり、各部分の厚みと幅との
関係、部分間の大きさの比係数などは、必ずしも現実のものと同一とは限らない。また、
同じ部分を表す場合であっても、図面により互いの寸法や比係数が異なって表される場合
もある。
ついて説明する。図1は、本実施形態に係るメモリ管理装置1及び情報処理装置100の
構成の一例を示すブロック図である。
セッサ3a,3b,3cとを備える。
Unit)又はGPU(Graphic Processor Unit)である。プロ
セッサ3a,3b,3cは、各々に1次キャッシュメモリ4a,4b,4cと、2次キャ
ッシュメモリ5a,5b,5cを備える。プロセッサ3a,3b,3cは、それぞれプロ
セス6a,6b,6cを実行し、種々のデータを処理する。プロセッサ3a,3b,3c
は、プロセス6a,6b,6cの実行においては、仮想アドレスによりデータを指定する
。
に書き込む場合には、書き込み要求を発生させる。また、プロセッサ3a,3b,3cは
、データ(読み出し対象データ)を混成メインメモリ2から読み出す場合には、読み出し
要求を発生させる。
ス(混成メインメモリ2に対する論理アドレス)に変換するページテーブル(図示せず)
を備える。プロセッサ3a,3b,3cは、1次キャッシュメモリ4a,4b,4c、2
次キャッシュメモリ5a,5b,5c、又は混成メインメモリ2にデータを書き込む場合
には、ページテーブルにより仮想アドレスを論理アドレスに変換し、論理アドレスにより
書き込み対象データを指定する。同様に、プロセッサ3a,3b,3cは、1次キャッシ
ュメモリ4a,4b,4c、2次キャッシュメモリ5a,5b,5c、又は混成メインメ
モリ2からデータを読み出す場合には、ページテーブルにより仮想アドレスを論理アドレ
スに変換し、論理アドレスにより読み出し対象データを指定する。
5a,5b,5c、又は混成メインメモリ2に対する書き込み、読み出しを総称して「ア
クセス」と表現する。
セス(書き込み、読み出し)を管理する。メモリ管理装置1は、処理部15と、作業メモ
リ16と、情報記憶部(記憶部)17とを備える。メモリ管理装置1は、後述するメモリ
使用情報11と、メモリ固有情報12と、アドレス変換情報13と、テーブル14とを情
報記憶部17に格納する。メモリ管理装置1の情報記憶部17に格納されるテーブル14
は、不揮発性半導体メモリ9,10に格納されているテーブル14の一部であってもよい
。例えば、不揮発性半導体メモリ9,10に格納されているテーブル14のうち、頻繁に
用いられるテーブル14のデータを、メモリ管理装置1の情報記憶部17に格納するとし
てもよい。メモリ管理装置1は、テーブル14等を参照し、プロセッサ3a,3b,3c
の混成メインメモリ2に対するアクセスを管理する。詳細については後述する。
。第1のメモリは、第2のメモリよりもアクセス可能上限回数が多い。第2のメモリは、
第3のメモリよりもアクセス可能上限回数が多い。ここでアクセス可能上限回数とは、統
計的に予想される期待値であって、常にこの関係が保証されることを意味してはいないこ
とに注意されたい。
モリ8としては、例えば、DRAM(Dynamic Random Access M
emory)、FPM−DRAM、EDO−DRAM、SDRAMなどのような、一般的
なコンピュータにおいてメインメモリとして利用されるメモリが用いられる。また、DR
AM程度の高速ランダムアクセスが可能であり、アクセス可能上限回数に実質的な制限が
無いのであれば、MRAM(Magnetoresistive Random Acc
ess Memory)、FeRAM(Ferroelectric Random A
ccess Memory)などの不揮発性ランダムアクセスメモリを採用してもよい。
は、例えば、SLC(Single Level Cell)タイプのNAND型フラッ
シュメモリが用いられる。SLCは、MLC(Multi Level Cell)と比
較して、読み出し及び書き込みが高速であり、信頼性が高い。しかしながら、SLCは、
MLCと比較して、ビットコストが高く、大容量化には向いていない。
しては、例えば、MLCタイプのNAND型フラッシュメモリが用いられる。MLCは、
SLCと比較して、読み出し及び書き込みが低速であり、信頼性が低い。しかしながら、
MLCは、SLCと比較して、ビットコストが低く、大容量化に向いている。
セルを含む第1のメモリ領域を有する。第1のメモリ領域はブロックである。またMLC
タイプの不揮発性半導体メモリ10は、2ビット以上のデータを格納するメモリセルを含
む第2のメモリ領域を有する。第2のメモリ領域はブロックである。たとえば、第2のメ
モリ領域は、第1のメモリ領域よりもデータの読み出し可能回数が少ない場合、第1のメ
モリ領域を“Good block”、第2のメモリ領域を“Worse block”
という。
含む第3のメモリ領域を有する。第3のメモリ領域はブロックである。第3のメモリ領域
は、上述した第1のメモリ領域および第2のメモリ領域よりもデータの読み出し回数が多
い。第3のメモリ領域は、第1のメモリ領域および第2のメモリ領域よりも信頼性が高い
。第3のメモリ領域に格納されたデータは、第1のメモリ領域および第2のメモリ領域に
格納されたデータよりもデータの欠陥が起こりにくい。
のメモリ領域は不揮発性半導体メモリ9に含まれているが、1つの不揮発性半導体メモリ
の中で、第1のメモリ領域、第2のメモリ領域、および第3のメモリ領域を含んでいても
よい。
れるメモリセルには素子特性のばらつきが生じる。メモリセルの素子特性のばらつきはラ
ンダムに生じるため、メモリセルごとに読み出し誤り率も異なる。したがって、不揮発性
半導体メモリ10において、第1のメモリ領域におけるデータの読み出し回数と第2のメ
モリ領域におけるデータの読み出し回数は異なる。
2のメモリ領域のデータの読み出し回数よりも多い場合であっても、第1のメモリ領域に
データを何度も書き込んでいくと、第1のメモリ領域のデータの読み出し回数が第2のメ
モリ領域のデータの読み出し回数よりも少なくなることもある。これは第1のメモリ領域
の読み出し誤り率が増大していくためである。このとき、第1のメモリ領域が“Wors
e block”、第2のメモリ領域が“Good block”となる。
ュメモリであり、不揮発性半導体メモリ10がMLCタイプのNAND型フラッシュメモ
リであるが、例えば、不揮発性半導体メモリ9が2bit/CellのMLCタイプのN
AND型フラッシュメモリであり、不揮発性半導体メモリ10が3bit/CellのM
LCタイプのNAND型フラッシュメモリであってもよい。
の程度(耐久性)を意味する。SLCの耐久性は、MLCの耐久性よりも高い。ここで、
耐久性が高いとは、アクセス可能上限回数が多く、耐久性が低いとは、アクセス可能上限
回数が少ないことを意味する。
メモリセルに2ビット以上の情報を記憶可能である。すなわち、本実施形態に係る混成メ
インメモリ2は、第1に、揮発性メモリ8、第2に、不揮発性半導体メモリ9、第3に、
不揮発性半導体メモリ10、の順で耐久性が高い。
モリ8と比較して、安価で大容量化が可能である。不揮発性半導体メモリ9,10として
は、NAND型フラッシュメモリに代えて、例えばNOR型フラッシュメモリなどのよう
な他の種類のフラッシュメモリ、PRAM(Phase Change memory)
、ReRAM(Resistive Random access memory)を用
いることもできる。
のみを使用してデータ書き込みを行う擬似SLCモードが利用可能なMLCを採用しても
よい。この場合、第2のメモリと第3のメモリとを共通のチップのみで構成することが可
能であり、製造コスト面で有利となる。
して不揮発性半導体メモリ9、10を利用する場合とを比較すると、メインメモリとして
不揮発性半導体メモリ9、10を使用した場合にはこの不揮発性半導体メモリ9、10へ
のアクセス頻度が高くなる。本実施形態においては、揮発性半導体メモリ8とSLCの不
揮発性半導体メモリ9とMLCの不揮発性半導体メモリ10とを混成してメインメモリと
する混成メインメモリ2を備えた情報処理装置を実現している。混成メインメモリ2は、
異機種混在型の主記憶装置であり、メモリ管理装置1によってデータの配置が管理される
。
報12、アドレス変換情報13、テーブル14が記憶されている。
回数及び読み出し発生回数と、各ブロック領域の消去回数と、使用中領域サイズを含む。
10のメモリサイズと、不揮発性半導体メモリ9、10のページサイズ及びブロックサイ
ズと、各領域のアクセス可能上限回数(書き込み可能上限回数、読み出し可能上限回数(
読み出し可能回数)、消去可能上限回数)と、を含む。ここで、ページサイズとは、不揮
発性半導体メモリ9、10の書き込み、読み出しのデータサイズの単位である。ブロック
サイズとは、不揮発性半導体メモリ9、10のデータ消去サイズの単位である。不揮発性
半導体メモリ9、10において、ブロックサイズはページサイズよりも大きい。
、論理アドレスに対応する物理アドレスに変換する情報である。アドレス変換情報13の
詳細については後述する。
る。
とについてさらに説明する。図2は、本実施形態に係るメモリ管理装置1及び情報処理装
置100の構成の一例を示すブロック図である。図2では、図1のプロセッサ3a、3b
、3cのうちプロセッサ3bを代表として説明するが、他のプロセッサ3a、3cについ
ても同様である。
グシステム27は、プロセッサ3bで実行され、情報記憶部17に格納されているテーブ
ル14にアクセスする権限を有する。
み管理部20、データ情報管理部21、メモリ使用情報管理部22、再配置部23を備え
る。さらに、データ情報管理部21は、アクセス頻度算出部24、カラー情報管理部25
を備える。
用しつつ各種処理を実行する。
として使用される。
えばオペレーティングシステム27、ファームウェア等)のいずれか一方、又は両者の組
み合わせとして実現することができる。これらの機能ブロックが、ハードウェアとして実
現されるか、又はソフトウェアとして実現されるかは、具体的な実施形態、又は情報処理
装置100全体に課せられた設計制約に依存する。当業者は、具体的な実施形態毎に、様
々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇
に含まれるものである。なお、以下の説明において用いられる機能ブロックについても同
様である。
情報13に記憶する。これにより、処理部15は、アドレス変換情報13を参照すること
により、論理アドレスに対応する物理アドレスを取得することができる。
、混成メインメモリ2に対して読み出し対象データの読み出し処理を管理する。
、混成メインメモリ2に対して書き込み対象データを書き込む処理を管理する。
れているカラーリング情報に基づき、任意の論理アドレスに対応する物理アドレスに配置
されているデータの再配置を行う。
のうち、読み出し頻度が高いデータを、定期的に、不揮発性半導体メモリ9に再配置して
もよい。また、再配置部23は、例えば、不揮発性半導体メモリ9に含まれるデータのう
ち、読み出し頻度が低いデータを、定期的に、不揮発性半導体メモリ10に再配置しても
よい。同様に、再配置部23は、揮発性半導体メモリ8、不揮発性半導体メモリ9、10
の間でもデータの再配置を行うことが可能である。
再配置部23は、例えば、新たなデータである第1のデータを不揮発性半導体メモリ10
に格納する場合に、第1のデータの情報に基づき、第1のデータを第1のメモリ領域およ
び第2のメモリ領域のいずれかに格納する。第1のデータの情報は、情報処理装置100
を製造した製造者が予め設定した第1のデータの読み出し頻度を含む。また第1のデータ
の情報は、情報処理装置100を使用するユーザが設定した第1のデータの読み出し頻度
でも良い。
タが格納されている場合に、第2のデータの読み出し頻度に基づき、第2のデータを第1
のメモリ領域に保持するか第2のメモリ領域に移動するかを制御する。
れている場合に、第3のデータの読み出し頻度に基づき、第3のデータを第2のメモリ領
域に保持するか第1のメモリ領域に移動するかを制御する。
する場合を考える。この場合、長期間にわたって、第4のデータの読み出し頻度が高いた
め、再配置部23は第4のデータを第1のメモリ領域に保持している。再配置部23は、
第4のデータを重要なデータとみなし、あるタイミングで第4のデータを不揮発性半導体
メモリ9の第3のメモリ領域にさらに移動する。
信頼性が高いため、第4のデータを読み出す際にデータの欠陥が起こりにくい。さらに、
SLCタイプの第3のメモリ領域はデータの読み出し回数が多いため、読み出し頻度の高
いデータを保存するのに適している。
の記憶容量は、MLCタイプの第1のメモリ領域の記憶容量の半分以下である。そのため
、再配置部23は、読み出し頻度の高い第4のデータをすぐにSLCタイプの第3のメモ
リ領域に移動させず、あるタイミングで第4のデータを第3のメモリ領域に移動させる。
ミングは、情報処理装置100の製造者が予め設定してもよいし、情報処理装置100を
使用するユーザが設定してもよい。
一のデータであってもよい。
および不揮発性半導体メモリ10にすでに格納されているデータの両方を制御するが、例
えば、不揮発性半導体メモリ10にすでに格納されているデータだけを制御してもよい。
第1のデータが格納されている場合に、第1のデータの読み出し頻度に基づき、第1のデ
ータを第1のメモリ領域に保持するか第2のメモリ領域に移動するかを制御する。また、
例えば、不揮発性半導体メモリ10の第2のメモリ領域に第2のデータが格納されている
場合に、第2のデータの読み出し頻度に基づき、第2のデータを第2のメモリ領域に保持
するか第1のメモリ領域に移動するかを制御する。
を考える。この場合、長期間にわたって、第3のデータの読み出し頻度が高いため、再配
置部23は第3のデータを第1のメモリ領域に保持している。再配置部23は、第3のデ
ータを重要なデータとみなし、あるタイミングで第3のデータを不揮発性半導体メモリ9
の第3のメモリ領域にさらに移動する。
ってもよい。
に基づいて、第1のメモリ領域および第2のメモリ領域を設定しているが、不揮発性半導
体メモリ10を使用するにつれて生じるメモリセルの素子特性のばらつきに基づいて、第
1のメモリ領域や第2のメモリ領域を設定してもよい。
書き込み先メモリ領域の判断処理と書き込み先ブロック領域の判断処理を行うことで再配
置を行う。これに対し、再配置部23はデータの再配置を定期的に行う。再配置部23が
データの再配置を行う場合、書き込み管理部20及び読み出し管理部19は再配置が終了
するまで動作しない。再配置部23の動作開始のトリガは、開発者によって設定された周
期や、ユーザインターフェースにて設定可能な周期としてもよい。また、情報処理装置1
00が休止状態になる時に再配置部23が動作してもよい。
データのアクセス頻度情報(読み出し頻度DR color)を算出する。
、本実施形態に係る混成メインメモリ2のメモリマップの一例を示す図である。
モリ9(SLC領域)と、不揮発性半導体メモリ10(2bit/Cell領域、3bi
t/Cell領域、4bit/Cell領域)とを備える。2bit/Cell領域、3
bit/Cell領域、4bit/Cell領域はMLC領域を構成する。DRAM領域
、SLC領域、2bit/Cell領域、3bit/Cell領域、4bit/Cell
領域を総称して、メモリ領域と称する。
長ブロック領域と、2GByteのC領域と128MByteのC冗長ブロック領域から
構成される。不揮発性半導体メモリ9の各メモリ領域は、SLCタイプのNAND型フラ
ッシュメモリである。
モリである。不揮発性半導体メモリ10は、例えば、4GByteのA領域と128MB
yteのA冗長ブロック領域から構成される2bit/Cell領域と、4GByteの
D領域と128MByteのD冗長ブロック領域から構成される3bit/Cellと、
4GByteのE領域と128MByteのE冗長ブロック領域から構成される4bit
/Cell領域とにより構成される。図3に示すように、メモリ領域には、物理アドレス
が割り付けられる。
ンメモリ2のメモリ空間内の揮発性半導体メモリ8(DRAM領域)のメモリサイズ、2
)混成メインメモリ2のメモリ空間内の不揮発性半導体メモリ9,10のメモリサイズ、
3)混成メインメモリ2のメモリ空間を構成するNAND型フラッシュメモリのブロック
サイズ、ページサイズ、4)不揮発性半導体メモリ9内のSLC領域(2値領域)として
割り付けられたメモリ空間情報(消去可能上限回数、読み出し可能上限回数(読み出し可
能回数)、書き込み可能上限回数を含む)、5)2bit/Cell領域に割り付けられ
たメモリ空間情報(消去可能上限回数、読み出し可能上限回数(読み出し可能回数)、書
き込み可能上限回数を含む)、6)3bit/Cell領域に割り付けられたメモリ空間
情報(消去可能上限回数、読み出し可能上限回数、書き込み可能上限回数を含む)、7)
4bit/Cell領域に割り付けられたメモリ空間情報(消去可能上限回数、読み出し
可能上限回数(読み出し可能回数)を含む)を含む。
13について説明する。図4は、本実施形態に係るアドレス変換情報13の一例を示す図
である。
揮発性半導体メモリ9,10の物理アドレス、有効/無効フラグが、テーブル形式で管理
される。
揮発性半導体メモリ8の物理アドレスと不揮発性半導体メモリ9,10の物理アドレスと
のうちの少なくとも一つ、有効/無効フラグが登録される。
ラグは、1のときに有効、0のときに無効を表す。エントリの有効/無効フラグの初期値
は0である。有効/無効フラグが0のエントリは、論理アドレスのマッピングされていな
いエントリ、又は、論理アドレスがマッピングされたが消去されたエントリである。有効
/無効フラグが1のエントリには、論理アドレスがマッピングされており、揮発性半導体
メモリ8と不揮発性半導体メモリ9,10とのうちの少なくとも一方に、論理アドレスに
対応する物理アドレスが存在する。
で論理アドレス、揮発性半導体メモリ8の物理アドレス、不揮発性半導体メモリ9,10
の物理アドレスを管理しているが、例えば、アドレス変換情報13では論理アドレスと不
揮発性半導体メモリ8の物理アドレスを管理し、論理アドレスと揮発性半導体メモリ9,
10の物理アドレスは、別のタグRAMで管理してもよい。この場合、論理アドレスから
物理アドレスへ変換する際には、まず、タグRAMが参照され、タグRAMに当該論理ア
ドレスに対応する物理アドレスがない場合に、アドレス変換情報13が参照される。
実施形態に係るテーブル14の一例を示す図である。
されるデータのデータサイズ単位は、例えば、読み出し、書き込みの最小の単位である。
イズである。以下において、テーブル14によりカラーリング情報が対応付けられるデー
タのデータサイズがページサイズであるとして説明するが、これに限定されるものではな
い。例えば、ブロックサイズでもよい。
グ情報を格納する。テーブル14の各エントリには、インデックスが付されている。イン
デックスとは、論理アドレスを基に生成される値である。メモリ管理装置1の読み出し管
理部19、書き込み管理部20、データ情報管理部21、再配置部23などは、データを
指定する論理アドレスが与えられると、論理アドレスに対応するインデックスにより管理
されているエントリを参照し、データのカラーリング情報を取得する。
リ10に新たに書き込まれる(格納される)データの場合、データの読み出し頻度は、デ
ータの種類等に基づいて、情報処理装置100の製造者により予め設定される。また、デ
ータの読み出し頻度は、情報処理装置100を使用するユーザが設定してもよい。例えば
、不揮発性半導体メモリ10にすでに書き込まれている(格納されている)データの場合
、データの読み出し頻度は、実際にメモリ管理装置1により調べられたものである。
性、又はプログラムに一次的に使用される領域の特性により推測される。
該データが含まれるファイルデータのファイルに付加されたデータ属性により判断される
特性である。ファイルに付加されたデータ属性には、ファイルのヘッダ情報、ファイル名
、ファイルの位置、ファイル管理データ(inoddに保持される情報)等が含まれる。
る場合には、当該ファイルに含まれるデータの特性は、重要性が低い、読み出しの頻度、
書き込みの頻度が低いと予測できる。この特性に基づき、当該データのカラーリング情報
は、書き込み頻度は低、読み出し頻度は低、と推測される。
よい。
み頻度と合わせて用いてもよい。さらに、他のカラーリング情報を別途定義して用いるこ
とも可能である。
ど、高い値が設定される。
る。
である。
イルが読み込まれる場合について説明する。このような拡張子を持つデータは、オペレー
ティングシステム27が様々な処理を実行する場合に読み出されるファイルである。この
ような拡張子を持つデータは、混成メインメモリ2上にオペレーティングシステム27が
インストールされる場合に、1度書き込まれるとその後更新されることはほとんどない。
したがって、オペレーティングシステム27は、これらの拡張子を持つデータの書き込み
頻度SR_colorを3に設定する。この設定は、データから予測される読み出しの頻
度は高いことを示している。すなわち、これらの拡張子を持つデータは、ほとんどリード
・オンリーとして扱われると予測される。
設定される。
設定される。
トファイルの読み出しの頻度は、高いと考えられる。したがって、テキストファイルの読
み出し頻度SR_colorは3に設定される。
み出しの頻度は、音楽データや動画データなどのメディアファイル以上であると考えられ
る。したがって、ブラウザキャッシュファイルの読み出し頻度SR_colorは3に設
定される。
イルの読み出し頻度SR_colorは1に設定される。
間の関係、図(b)に“Waraming data”または“Cooling dat
a”の読み出し頻度と時間の関係を示す。
。縦軸の読み出し頻度は、読み出し頻度の高いデータが入る領域である“Hot reg
ion”、読み出し頻度が低いデータが入る領域である“Cold region”に分
けられる。
し頻度が1日当たり100回と想定した場合を考える。データの読み出し頻度が1日に1
50回以上のとき、データの読み出し頻度は“Hot region”に入る。データの
読み出し頻度が1日に50回以下のときは、データの読み出し頻度は“Cold reg
ion”に入る。常にデータの読み出し頻度が1日に150回以上であるデータを“Ho
t data”とし、常にデータの読み出し頻度が1日に50回以下であるデータを“C
old data”を定義する。
。縦軸の読み出し頻度は、読み出し頻度の高いデータが入る領域である“Hot reg
ion”、読み出し頻度が低いデータが入る領域である“Cold region”に分
けられる。
たデータを“Waraming data”という。“Waraming data”は
読み出し頻度が低かったが、時間の経過に伴って読み出し頻度が高くなったデータである
。
たデータを“Cooling data”という。“Cooling data”は読み
出し頻度が高かったが、時間の経過に伴って読み出し頻度が低くなったデータである。
し頻度が1日当たり100回と想定した場合を考える。読み出し頻度が1日に150回以
上であったデータが時間の経過に伴い、読み出し頻度が1日に50回以下となった場合、
そのデータは“Cooling data”である。読み出し頻度が1日に50回以下で
あったデータが時間の経過に伴い、読み出し頻度が1日に150回以上となった場合、そ
のデータは“Warming data”である。
合の制御フローを示す。
7に格納される第1のデータの読み出し頻度に基づいて、第1のデータが“Hot da
ta”、“Normal data”、および“Cold data”のいずれかを判断
する。“Hot data”と判断された第1のデータは、“Good block”(
第1のメモリ領域)のアドレスが付与され“Good block” (第1のメモリ領
域)に格納される。
(第2のメモリ領域)のアドレスが付与され“Worse block” (第2のメモ
リ領域)に格納される。
ormal data”と判断され、“Normal block”のアドレスが付与さ
れる。“Normal data”は、“Normal block”に保存される。
制御する制御フローを示す。
出す。
不揮発性半導体メモリ10のブロックに格納されたデータを別のブロックに移動するかど
うかを制御する。
されていた第2のデータの読み出し頻度が低くなった場合は“Cooling data
”として、第2のデータを“Worse block”(第2のメモリ領域)に格納する
。また、メモリ管理装置1は、例えば、“Good block” (第1のメモリ領域
)に格納されていた第2のデータの読み出し頻度が高い場合は、“Hot data”と
して、第2のデータを“Good block” (第1のメモリ領域)に保持する。
納されていた第3のデータの読み出し頻度が高くなった場合は“Warming dat
a”として、データを“Good block”(第1のメモリ領域)に格納する。また
、メモリ管理装置1は、例えば、“Worse block”(第2のメモリ領域)に格
納されていた第3のデータの読み出し頻度が低い場合は、“Cold data”として
、第3のデータを“Worse block”(第2のメモリ)に保持する。
第1のメモリ領域)に保持する場合を考える。この場合、長期間にわたって、第4のデー
タの読み出し頻度が高いため、メモリ管理装置1は第4のデータを“Good bloc
k”に保持している。メモリ管理装置1は、第4のデータを重要なデータとみなし、ある
タイミングで第4のデータを不揮発性半導体メモリ9の“block”(第3のメモリ領
域)にさらに移動する。
一のデータであってもよい。
たに格納するデータおよび不揮発性半導体メモリ10にすでに格納されているデータの両
方を制御するが、例えば、不揮発性半導体メモリ10にすでに格納されているデータだけ
を制御してもよい。
されていた第1のデータの読み出し頻度が低くなった場合は“Cooling data
”として、第1のデータを“Worse block”(第2のメモリ領域)に格納する
。また、メモリ管理装置1は、例えば、“Good block” (第1のメモリ領域
)に格納されていた第1のデータの読み出し頻度が高い場合は、“Hot data”と
して、第1のデータを“Good block” (第1のメモリ領域)に保持する。
納されていた第2のデータの読み出し頻度が高くなった場合は“Warming dat
a”として、データを“Good block”(第1のメモリ領域)に格納する。また
、メモリ管理装置1は、例えば、“Worse block”(第2のメモリ領域)に格
納されていた第2のデータの読み出し頻度が低い場合は、“Cold data”として
、第2のデータを“Worse block”(第2のメモリ)に保持する。
第1のメモリ領域)に保持する場合を考える。この場合、長期間にわたって、第3のデー
タの読み出し頻度が高いため、メモリ管理装置1は第3のデータを“Good bloc
k”に保持している。メモリ管理装置1は、第3のデータを重要なデータとみなし、ある
タイミングで第3のデータを不揮発性半導体メモリ9の“block”(第3のメモリ領
域)にさらに移動する。
ってもよい。
のであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々
な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置
き換え、変更を行うことができる。この実施形態やその変形は、説明の範囲や要旨に含ま
れると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである
。
2 混成メインメモリ
3a〜3b プロセッサ
4a〜4c 1次キャッシュメモリ
5a〜5c 2次キャッシュメモリ
6a〜6c プロセス
7 バス
8 揮発性半導体メモリ
9、10、29 不揮発性半導体メモリ
11 メモリ使用情報
12 メモリ固有情報
13 アドレス変換情報
14 テーブル
15 処理部
16 作業メモリ
17 情報記憶部
18 アドレス管理部
19 読み出し管理部
20 書き込み管理部
21 データ情報管理部
22 メモリ使用情報管理部
23 再配置部
24 アクセス頻度算出部
25 カラー情報管理部
27 オペレーティングシステム
Claims (20)
- 2ビット以上のデータを格納するメモリセルを含む第1のメモリ領域と、2ビット以上
のデータを格納するメモリセルを含む第2のメモリ領域とを含む不揮発性メモリと、
制御部と、
を備え、
前記制御部は、前記第2のメモリ領域の読み出し可能回数が前記第1のメモリ領域の読
み出し可能回数よりも少ない場合であって、前記不揮発性メモリに第1のデータを格納す
る際に、前記第1のデータの情報に基づいて、前記第1のデータを前記第1のメモリ領域
および前記第2のメモリ領域のうちのいずれかに格納するメモリシステム。 - 前記第1のデータの前記情報は、予め設定された前記第1のデータの読み出し頻度を含
む請求項1に記載のメモリシステム。 - 前記第1のデータの前記情報は、ユーザが設定した前記第1のデータの読み出し頻度を
含む請求項1または請求項2に記載のメモリシステム。 - 前記制御部は、前記第1のメモリ領域に第2のデータが格納されている際に、前記第2
のデータの読み出し頻度に基づいて、前記第2のデータを前記第1のメモリ領域に保持す
るか前記第2のメモリ領域に移動するかのいずれかを制御する請求項1ないし請求項3の
いずれか1項に記載のメモリシステム。 - 前記制御部は、前記第2のメモリ領域に第3のデータが格納されている際に、前記第3
のデータの読み出し頻度に基づいて、前記第3のデータを前記第2のメモリ領域に保持す
るか前記第1のメモリ領域に移動するかのいずれかを制御する請求項1ないし請求項4の
いずれか1項に記載のメモリシステム。 - 前記不揮発性メモリは1ビットのデータを格納するメモリセルを含む第3のメモリ領域
をさらに備え、
前記制御部は、前記第1のメモリ領域に第4のデータが格納されている際に、前記第4
のデータの読み出し頻度に基づいて、前記第4のデータを前記第1のメモリ領域に保持す
るか前記第3のメモリ領域に移動するかのいずれかを制御する請求項5に記載のメモリシ
ステム。 - 2ビット以上のデータを格納するメモリセルを含む第1のメモリ領域と、2ビット以上
のデータを格納するメモリセルを含む第2のメモリ領域とを含む不揮発性メモリと、
制御部と、
を備え、
前記制御部は、前記第2のメモリ領域の読み出し可能回数が前記第1のメモリ領域の読
み出し可能回数よりも少ない場合であって、前記第1のメモリ領域に第1のデータが格納
されている際に、前記第1のデータの読み出し頻度に基づいて、前記第1のデータを前記
第1のメモリ領域に保持するか前記第2のメモリ領域に移動するかのいずれかを制御する
メモリシステム。 - 前記制御部は、前記第2のメモリ領域に第2のデータが格納されている際に、前記第2
のデータの読み出し頻度に基づいて、前記第2のデータを前記第2のメモリ領域に保持す
るか前記第1のメモリ領域に移動するかのいずれかを制御する請求項7に記載のメモリシ
ステム。 - 前記不揮発性メモリは1ビットのデータを格納するメモリセルを含む第3のメモリ領域
をさらに備え、
前記制御部は、前記第1のメモリ領域に第3のデータが格納されている際に、前記第3
のデータの読み出し頻度に基づいて、前記第3のデータを前記第1のメモリ領域に保持す
るか前記第3のメモリ領域に移動するかのいずれかを制御する請求項8に記載のメモリシ
ステム。 - 2ビット以上のデータを格納するメモリセルを含む第1のメモリ領域と、2ビット以上
のデータを格納するメモリセルを含む第2のメモリ領域とを含む不揮発性メモリにおいて
、前記第2のメモリ領域の読み出し可能回数が前記第1のメモリ領域の読み出し可能回数
よりも少ない場合であって、前記不揮発性メモリに第1のデータを格納する際に、前記第
1のデータの情報に基づいて、前記第1のデータを前記第1のメモリ領域および前記第2
のメモリ領域のうちのいずれかに格納する制御部を備えるメモリ管理装置。 - 前記第1のデータの前記情報は、予め設定された前記第1のデータの読み出し頻度を含
む請求項10に記載のメモリ管理装置。 - 前記第1のデータの前記情報は、ユーザが設定した前記第1のデータの読み出し頻度を
含む請求項10または請求項11に記載のメモリ管理装置。 - 前記制御部は、前記第1のメモリ領域に第2のデータが格納されている際に、前記第2
のデータの読み出し頻度に基づいて、前記第2のデータを前記第1のメモリ領域に保持す
るか前記第2のメモリ領域に移動するかのいずれかを制御する請求項10ないし請求項1
2のいずれか1項に記載のメモリ管理装置。 - 前記制御部は、前記第2のメモリ領域に第3のデータが格納されている際に、前記第3
のデータの読み出し頻度に基づいて、前記第3のデータを前記第2のメモリ領域に保持す
るか前記第1のメモリ領域に移動するかのいずれかを制御する請求項10ないし請求項1
3のいずれか1項に記載のメモリ管理装置。 - 前記不揮発性メモリは1ビットのデータを格納するメモリセルを含む第3のメモリ領域
をさらに備え、
前記制御部は、前記第1のメモリ領域に第4のデータが格納されている際に、前記第4
のデータの読み出し頻度に基づいて、前記第4のデータを前記第1のメモリ領域に保持す
るか前記第3のメモリ領域に移動するかのいずれかを制御する請求項14に記載のメモリ
管理装置。 - 前記第1のメモリ領域の読み出し可能回数、前記第2のメモリ領域の読み出し可能回数
、前記第1のデータの情報、前記第2のデータの読み出し頻度、前記第3のデータの読み
出し頻度、および前記第4のデータの読み出し頻度を記憶する記憶部をさらに備える請求
項15に記載のメモリ管理装置。 - 2ビット以上のデータを格納するメモリセルを含む第1のメモリ領域と、2ビット以上
のデータを格納するメモリセルを含む不揮発性メモリにおいて、前記第2のメモリ領域の
読み出し可能回数が前記第1のメモリ領域の読み出し可能回数よりも少ない場合であって
、前記第1のメモリ領域に第1のデータが格納されている際に、前記第1のデータの読み
出し頻度に基づいて、前記第1のデータを前記第1のメモリ領域に保持するか前記第2の
メモリ領域に移動するかのいずれかを制御する制御部を備えるメモリ管理装置。 - 前記制御部は、前記第2のメモリ領域に第2のデータが格納されている際に、前記第2
のデータの読み出し頻度に基づいて、前記第2のデータを前記第2のメモリ領域に保持す
るか前記第1のメモリ領域に移動するかのいずれかを制御する請求項17に記載のメモリ
管理装置。 - 前記不揮発性メモリは1ビットのデータを格納するメモリセルを含む第3のメモリ領域
をさらに備え、
前記制御部は、前記第1のメモリ領域に第3のデータが格納されている際に、前記第3
のデータの読み出し頻度に基づいて、前記第3のデータを前記第1のメモリ領域に保持す
るか前記第3のメモリ領域に移動するかのいずれかを制御する請求項18に記載のメモリ
管理装置。 - 前記第1のメモリ領域の読み出し可能回数、前記第2のメモリ領域の読み出し可能回数
、前記第1のデータの読み出し頻度、前記第2のデータの読み出し頻度、および前記第3
のデータの読み出し頻度を記憶する記憶部をさらに備える請求項19に記載のメモリ管理
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016118303A JP2017224112A (ja) | 2016-06-14 | 2016-06-14 | メモリシステムおよびメモリ管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016118303A JP2017224112A (ja) | 2016-06-14 | 2016-06-14 | メモリシステムおよびメモリ管理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017224112A true JP2017224112A (ja) | 2017-12-21 |
Family
ID=60688163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016118303A Pending JP2017224112A (ja) | 2016-06-14 | 2016-06-14 | メモリシステムおよびメモリ管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017224112A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956067B2 (en) | 2018-11-21 | 2021-03-23 | Tdk Corporation | Memory controller and flash memory system having the same |
-
2016
- 2016-06-14 JP JP2016118303A patent/JP2017224112A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956067B2 (en) | 2018-11-21 | 2021-03-23 | Tdk Corporation | Memory controller and flash memory system having the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230315294A1 (en) | Memory system and method for controlling nonvolatile memory | |
CN109726139B (zh) | 存储器系统及控制方法 | |
EP3217294B1 (en) | File access method and apparatus and storage device | |
KR101612922B1 (ko) | 메모리 시스템 및 메모리 시스템 관리 방법 | |
JP7358594B2 (ja) | メモリシステム | |
US10437738B2 (en) | Storage device performing hashing-based translation between logical address and physical address | |
JP2019057151A (ja) | メモリシステムおよび制御方法 | |
JP2019133391A (ja) | メモリシステムおよび制御方法 | |
JP2021034091A (ja) | メモリシステムおよび制御方法 | |
JP2020123040A (ja) | メモリシステムおよび制御方法 | |
US10013174B2 (en) | Mapping system selection for data storage device | |
JP2018160189A (ja) | メモリシステム | |
US10073851B2 (en) | Fast new file creation cache | |
CN109727629B (zh) | 使用利用多间隙进度字段的磨损均衡的方法和系统 | |
JP7178916B2 (ja) | メモリシステムおよび制御方法 | |
JP7077151B2 (ja) | メモリシステム | |
JP2017224112A (ja) | メモリシステムおよびメモリ管理装置 | |
KR101280181B1 (ko) | 메모리 시스템 및 메모리 시스템에서 플래쉬 변환 레이어의 예비 영역 관리 방법 | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
KR20150139383A (ko) | 반도체 장치 | |
US20210208808A1 (en) | Host Supported Partitions in Storage Device | |
US8341378B2 (en) | Data storage device and data access method | |
JP2021033945A (ja) | メモリシステムおよび制御方法 | |
US11188238B2 (en) | Information processing apparatus, memory control method, and computer program product | |
JP7167295B2 (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170220 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20170821 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180907 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20180907 |