JP2017138636A - メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置 - Google Patents

メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置 Download PDF

Info

Publication number
JP2017138636A
JP2017138636A JP2014123473A JP2014123473A JP2017138636A JP 2017138636 A JP2017138636 A JP 2017138636A JP 2014123473 A JP2014123473 A JP 2014123473A JP 2014123473 A JP2014123473 A JP 2014123473A JP 2017138636 A JP2017138636 A JP 2017138636A
Authority
JP
Japan
Prior art keywords
bank
banks
data
invisible
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014123473A
Other languages
English (en)
Inventor
正名 村瀬
Masakata Murase
正名 村瀬
米谷 聡
Satoshi Yonetani
聡 米谷
了士 土山
Ryoji Tsuchiyama
了士 土山
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.)
FIXSTARS CORP
Original Assignee
FIXSTARS 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 FIXSTARS CORP filed Critical FIXSTARS CORP
Priority to JP2014123473A priority Critical patent/JP2017138636A/ja
Priority to PCT/JP2014/079826 priority patent/WO2015194063A1/ja
Publication of JP2017138636A publication Critical patent/JP2017138636A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】使用状況によってデータの書き込み速度が変化するメモリに対し所定のビットレートでデータを書き込む際のデータの欠落を防止する。
【解決手段】メモリ管理装置は、メモリの複数のバンクを外部の装置に認識されるビジブルバンクと認識されないインビジブルバンクに区分する。メモリ管理装置は、ビジブルバンクの1つをアクティブバンクとし、データの書き込み速度を向上させるための前処理の完了したインビジブルバンクの1つをシャドーバンクとする。アクティブバンクとシャドーバンクは論理アドレス空間を共有し、外部の装置からは区別されない。メモリ管理装置は、データの書き込み要求に応じてシャドーバンクにデータを書き込む間、インビジブルバンクに対する前処理を行う。シャドーバンクへのデータの書き込みが完了すると、メモリ管理装置はシャドーバンクをビジブルバンクに切り替え、アクティブバンクをインビジブルバンクに切り替える。
【選択図】図3D

Description

本発明は、メモリのパフォーマンスを向上するための技術に関する。
メモリに対するデータの書き込み速度を向上するために、様々な仕組みが提案されている。例えば特許文献1には、n個のページを含む2組のリングバッファのページを各々対応付けて、一方のリングバッファのページにログ情報を記録する間に、他方のリングバッファの対応するページに記録されているログ情報を消去しておくことで、ログ情報の記録時に古いログ情報の消去処理を要することなく速やかにログ情報の書き込みを可能とする仕組みが提案されている。
特開2009−003604号公報
メモリに対するデータの書き込み速度が常時、所定の速度以上に保たれなければならないケースがある。例えば、ビデオカメラで撮影される動画を記録する場合、メモリに対するデータの書き込み速度が動画データの入力される速度を下回ると、その間の動画データの一部がメモリに書き込まれず、データの欠落が生じる。
ある種のメモリは、メモリの使用状況に応じてデータの書き込み速度が変化する。例えば、フラッシュメモリは、既にデータが書き込まれている領域を新たなデータで書き替えるために要する時間が、何もデータが書き込まれていない領域に新たなデータを書き込むために要する時間より長い。従って、同じビットレートでデータを書き込んでいく場合であっても、何もデータが書き込まれていないメモリにデータを書き込んでいく場合にはデータの欠落が生じず、何らかのデータが書き込まれているメモリにデータを書き込んでいく場合にはデータの欠落が生じてしまう、という不都合が起こりうる。
上記の事情に鑑み、本発明は、使用状況によってデータの書き込み速度が変化するメモリに対し所定のビットレートでデータを書き込む際のデータの欠落を防止するための手段の提供を目的とする。
上述した課題を解決するために、本発明は、データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置が、前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとし、前記複数のインビジブルバンクの各々に前記前処理を行い、前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択し、データの書き込み要求に応じて前記シャドーバンクにデータを書き込み、新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとするメモリ管理方法を第1の実施態様として提案する。
また、本発明は、上記の第1の実施態様において、前記メモリ管理装置は、前記前処理が完了した1つのバンクに最大量のデータを書き込むために要する時間をaとし、1つのバンクに前記前処理を行うために要する時間をbとするとき、インビジブルバンクの数が(b/a+1)以上となるように、前記所定数のビジブルバンクの選択を行う、という構成を第2の実施態様として提案する。
また、本発明は、上記の第1または第2の実施態様において、前記メモリは、前記前処理が行われることなくデータの書き換えが行われる程、データの書き込み速度が低下し、前記メモリ管理装置は、前記複数のインビジブルバンクの各々に関し、前記前処理に先んじて当該インビジブルバンクのデータの書き込み速度を特定し、当該特定した書き込み速度が所定の閾値より速い場合、当該インビジブルバンクに関する前記前処理を行わない、という構成を第3の実施態様として提案する。
また、本発明は、上記の第1乃至第3のいずれかの実施態様において、前記前処理は、前記アクティブバンクに記憶されているデータを前記シャドーバンクへコピーする処理を含む、という構成を第4の実施態様として提案する
また、本発明は、上記の第1乃至第4のいずれかの実施態様において、前記メモリ管理装置は、前記シャドーバンクにデータを書き込むために要する第1の時間と、前記前処理に要する第2の時間とを推定し、前記第1の時間と前記第2の時間が所定の条件を満たす場合、通知装置に通知を指示する、という構成を第5の実施態様として提案する。
また、本発明は、データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置が備えるプロセッサに、前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとする処理と、前記複数のインビジブルバンクの各々に前記前処理を行う処理と、前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択する処理と、データの書き込み要求に応じて前記シャドーバンクにデータを書き込む処理と、新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとする処理とを実行させるためのプログラムを第6の実施態様として提案する。
また、本発明は、データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置であって、前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとする選択部と、前記複数のインビジブルバンクの各々に前記前処理を行う前処理部とを備え、前記選択部は、前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択し、データの書き込み要求に応じて前記シャドーバンクにデータを書き込む書込部を備え、前記選択部は、新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとするメモリ管理装置を第7の実施態様として提案する。
本発明によれば、データの書き込み要求に応じて、前処理が完了しているメモリ領域(シャドーバンク)にデータの書き込みが行われるため、データの書き込み速度が所定の速度を下回らないように維持される。その結果、所定のビットレートのデータの書き込みにおいて、データの欠落が生じない。その際、シャドーバンクと対をなすアクティブバンクからのデータの読み出しが行われても、シャドーバンクに対するデータの書き込み速度は影響を受けない。アクティブバンクとシャドーバンクは論理アドレス空間を共有しているので、データの読み書きの要求元からはアクティブバンクとシャドーバンクは同じメモリ領域として認識される。従って、データの書き込みが行われているメモリ領域に書き込まれているデータの読み出しの要求が生じた場合であっても、データの読み出し速度が犠牲となることなく、データの書き込み速度が所定の速度以上に維持される。
一実施形態にかかるデータ記憶システムの構成を示した図である。 一実施形態にかかるメモリ管理装置の機能構成を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一実施形態にかかるデータ記憶装置に記憶されているデータの状態を例示した図である。 一変形例におけるメモリ管理装置の構成を示した図である。 一変形例にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一変形例にかかるメモリ管理装置によりバンク間の切り替えが行われる様子を示した図である。 一変形例におけるメモリ管理装置の構成を示した図である。
[実施形態]
以下に本発明の一実施形態にかかるデータ記憶システム1を説明する。図1は、データ記憶システム1の構成を示した図である。データ記憶システム1は、データ処理装置11と、データ処理装置11の要求に応じてデータの読み書きを行うデータ記憶装置12を備える。
データ処理装置11は、例えば汎用のコンピュータであり、プログラムやユーザデータ等のデータを記憶するメモリ111と、メモリ111に記憶されているプログラムに従いデータ処理を行うプロセッサ112と、データ記憶装置12との間でデータの受け渡しを行うインタフェース113を備える。なお、データ処理装置11は汎用のコンピュータに限定されず、データ記憶装置12に対しデータの読み書きを要求する装置であればいずれの種別の装置であってもよい。例えば、ビデオカメラのような専ら特定のデータ処理を行うように設計された専用機であってもよい。
データ記憶装置12は、データ処理装置11との間でデータの受け渡しを行うインタフェース121と、データ記憶装置12から受け取ったデータを記憶するi個のメモリモジュール122−1〜122−i(iは任意に自然数)(以下、メモリモジュール122−1〜122−iを総称して「メモリモジュール122」という)と、メモリモジュール122によるデータの記憶を管理するためのプログラムを記憶するメモリ123と、メモリ123に記憶されているプログラムに従いメモリモジュール122によるデータの記憶を管理するための処理を行うプロセッサ124を備える。
メモリモジュール122の各々は、メモリチップ1221と、メモリチップ1221におけるデータの読み書きを制御するメモリコントローラ1222を備える。メモリチップ1221は1つのメモリチップで構成されても、複数のメモリチップの集合体として構成されてもよい。メモリチップ1221は、例えばNAND型フラッシュメモリであり、メモリコントローラ1222はウェアレベリング、ガーベッジコレクション、エラー訂正等の既知の処理を行いつつ、メモリチップ1221に対するデータの読み書きを行う。
以下の説明において、メモリチップ1221はNAND型フラッシュメモリであるものとするが、メモリチップ1221は過去にデータの書き込みが行われているメモリ領域に対し新たなデータの書き込みが行われる際に、当該新たなデータの書き込みに先んじて、当該メモリ領域のデータの消去等の前処理を行うことにより、当該新たなデータの書き込み速度を速めることができるメモリであれば、いずれの種別のメモリであってもよい。
NAND型フラッシュメモリは、データの書き換えが繰り返されるに伴い、新たなデータの書き込み速度が低下することが知られている。これは、消去可能なデータが記憶されているページ(本願においてページとは、メモリにおけるデータの書き込み単位をいう)に対しデータの書き込みが行われる際、当該ページを含むブロック(本願においてブロックとは、メモリにおけるデータの消去単位をいう)のデータをデータが記憶されていない未使用ブロックにコピーする、という処理を要するためである。従って、データの書き込み要求に先んじて、複数のブロックに散在するデータを1つのブロックに集めた後、全てのデータが消去可能となったブロックのデータを消去する、という処理(ガーベッジコレクション)を前処理として行っておくことで、新たなデータの書き込み要求が生じた際、当該要求に応じたデータの書き込み速度を速めることができる。
しかしながら、ガーベッジコレクションを行っても、メモリに何らかのデータが記憶されていると、新たなデータの書き込みにおいて、書き込み先のページを選択する処理等が伴うため、未使用のメモリにデータを書き込む場合と比べ、データの書き込み速度は遅くなる。これに対し、例えば1つのメモリコントローラにより管理されるメモリチップの全メモリ領域において、記憶されているデータを消去し、メモリチップを未使用の状態に戻す処理(サニタイズ)を前処理として行うことで、データ書き込み速度を最大化することができる。
データ記憶装置12が備えるプロセッサ124は、メモリ123に記憶されているプログラムに従いメモリモジュール122のメモリコントローラ1222に望ましいタイミングでサニタイズの指示を与え、メモリコントローラ1222がプロセッサ124からの指示に従いメモリチップ1221に対するサニタイズを前処理として行うことにより、データ記憶装置12がデータ処理装置11から新たなデータの書き込み要求を受け取った場合、当該書き込み要求に応じたデータの書き込みが常時、最大速度で行われる。
図2は、プロセッサ124とプロセッサ124からの指示に従い前処理を行うメモリコントローラ1222により実現されるメモリ管理装置120の機能構成を示した図である。すなわち、メモリ123に記憶されているプログラムに従いプロセッサ124がメモリコントローラ1222の処理を管理することにより、プロセッサ124およびメモリコントローラ1222は、図2に示す機能構成を備えるメモリ管理装置120として機能する。メモリ管理装置120は、メモリモジュール122が備えるメモリチップ1221を所定サイズに区分して得られる複数のバンクの中からデータの書き込み先のバンクの選択等を行う選択部1201と、選択部1201により前処理の対象として選択されたバンクに対し前処理(本実施形態においてはサニタイズ)を行う前処理部1202と、データ処理装置11からのデータの書き込み要求に応じて選択部1201によりデータの書き込み先として選択されたバンクにデータを書き込む書込部1203を備える。
続いて、メモリ管理装置120が行う処理を説明する。図3A〜図3Q(以下、図3A〜図3Qを総称して図3という)は、メモリ管理装置120により複数のバンクの役割がデータの書き込みの進行に伴い切り替えられていく様子を示した図である。まず、図3Aは、データ記憶装置12に何もデータが記憶されていない状態のメモリチップ1221の状態を示している。図3に示す例では、データ記憶装置12が備えるメモリチップ1221が、バンクA〜Lの計12のバンクに区分されている。これらのバンクのサイズは全て同じである。
以下の説明において、データ記憶装置12が12個のメモリモジュール122、すなわち、メモリモジュール122−1〜122−12を備え、メモリモジュール122−1が備えるメモリチップ1221をバンクA、メモリモジュール122−2が備えるメモリチップ1221をバンクB、・・・のように、各々のメモリモジュール122が備えるメモリチップ1221をバンクの単位とする。ただし、メモリコントローラ1222がメモリチップ1221よりも小さいメモリ領域の単位で前処理を行うことができる場合、1つのメモリチップ1221を複数に分割したメモリ領域の各々を1つのバンクとして扱う構成が採用されてもよい。また、複数のメモリチップ1221を1つのバンクとして扱う構成が採用されてもよい。
データ記憶装置12が未使用の状態において、メモリ管理装置120の選択部1201は、まず、12個のバンクのうち、任意に8個のバンクをビジブルバンクとして選択する。ビジブルバンクとして選択されなかったバンクはインビジブルバンクとなる。図3Aにおいて上段に示されるバンクがビジブルバンクであり、下段に示されるバンクがインビジブルバンクである。
1つのバンクの全領域にデータを書き込むために要する時間をaとし、1つのバンクに前処理を行うために要する時間をbとするとき、選択部1201は、インビジブルバンクの数が(b/a+1)以上の数となるようにビジブルバンク(2以上)の選択を行う。以下、例として、1つのバンクの全領域にデータを書き込むために要する時間aを10分とし、1つのバンクに前処理を行うために要する時間bを30分とする。この例の場合、(b/a+1)=4となり、選択部1201はインビジブルバンクの数が4以上となるように、ビジブルバンクとして8以下のバンクを選択する。従って、以下の説明において、選択部1201はビジブルバンクを8個選択するものとするが、選択部1201により選択されるビジブルバンクの数は1〜8個のいずれであってもよい。ただし、データ記憶装置12に記憶可能なデータ量の観点からは、ビジブルバンクの数は多い方が望ましい。
ビジブルバンクは、データ処理装置11から認識されるバンクである。8個のビジブルバンクのメモリ領域は、例えば連続する1つの論理アドレス空間に配置され、データ記憶装置12はデータ処理装置11からのデータの書き込み要求に応じてデータの書き込みを行った場合、当該データの書き込み先の論理アドレスおよびデータサイズをデータ処理装置11に通知する。なお、データ記憶装置12は論理アドレスと物理アドレスの変換を行い、データ処理装置11には論理アドレスが通知される。データ処理装置11はデータ記憶装置12から通知された論理アドレスとデータサイズを指定することで、データ記憶装置12に記憶されているデータの読み出し要求を行うことができる。
一方、インビジブルバンクは、データ処理装置11から認識されないバンクである。図3Aの状態(初期状態)において、4つのインビジブルバンクは全て、前処理が完了している状態である。すなわち、いずれのインビジブルバンクもサニタイズされ、データが全て消去されている。図3において、インビジブルバンク(以下に述べるシャドーバンクを除く)の各々の上の( )内の分数は、前処理の進行度を示す。例えば図3Aにおいて、バンクI〜バンクLの各々の上に示される(30/30)は、これらのバンクの前処理が、所要時間30分に対し、30分の分だけ終了している(すなわち、完了している)ことを意味する。
選択部1201は、8つのビジブルバンクのうち1つをアクティブバンクとして選択する。以下、選択部1201は8つのビジブルバンクの中から、バンクの記号(A〜L)の順番に従ってアクティブバンクを順次選択するものとする。この場合、バンクAがアクティブバンクとして選択される。なお、選択部1201がアクティブバンクを選択する規則はこれに限られず、例えばビジブルバンクの中からランダムに1つがアクティブバンクとして選択されてもよい。アクティブバンクは、データ記憶装置12がデータ処理装置11からデータの書き込み要求を受け取った場合、当該要求に応じてデータの書き込みを行う論理アドレス空間の割り当てられたバンクである。
続いて、選択部1201は、4つのインビジブルバンクのうち前処理が完了しているインビジブルバンクの中から1つをシャドーバンクとして選択する。図3Aの状態においてはバンクI〜Lの全てに関し前処理が完了している。このように複数のインビジブルバンクに関し前処理が完了している場合、選択部1201は、バンクの記号(A〜L)の順番に従ってシャドーバンクを選択するものとする。この場合、バンクIがシャドーバンクとして選択される。なお、選択部1201がシャドーバンクを選択する規則はこれに限られず、例えばインビジブルバンクの中からランダムに1つがシャドーバンクとして選択されてもよい。
シャドーバンクは、アクティブバンクと対をなし、アクティブバンクと論理アドレス空間を共有するバンクである。すなわち、アクティブバンクとシャドーバンクは、メモリ管理装置120において異なる物理アドレスにより区別されるメモリ領域であるが、同じ論理アドレスが割り当てられたメモリ領域であり、データ処理装置11からデータ記憶装置12に対し通知される論理アドレスにおいては、アクティブバンクとシャドーバンクは区別されない。
メモリ管理装置120は、データ記憶装置12からデータの書き込み要求を受け取った場合、当該要求に応じたデータの書き込みをシャドーバンクに対し行う。データ記憶装置12はデータ処理装置11に対しデータの書き込み先の論理アドレスを通知するが、データ処理装置11は通知されたアドレスからデータがアクティブバンク(ビジブルバンクの1つ)に書き込まれたのか、シャドーバンク(インビジブルバンクの1つ)に書き込まれたのかを感知しない。
図3Bは、選択部1201によるアクティブバンクとシャドーバンクの選択が完了した直後の状態を示している。図3B〜図3Qにおいて、太枠で示されるバンクがアクティブバンクであり、アクティブバンクの下に示されるバンクがシャドーバンクである。
図3Bの状態で、データ記憶装置12はデータ処理装置11からのデータの読み書きの要求に応じることができる。以下の説明において、データ処理装置11がデータ記憶装置12に対し、60分に渡る動画データの書き込みを連続して要求してくる場合を例として、データ記憶装置12において動画データが書き込まれる様子を説明する。
メモリ管理装置120は、動画データの書き込み要求に応じて、シャドーバンク(バンクI)に動画データを書き込んでゆく。図3Cは、動画データの書き込み開始から5分が経過した時点のデータ記憶装置12の状態を示している。既述のように、動画データはシャドーバンクに書き込まれてゆく。図3C(図3D〜図3Qにおいても同様)において、シャドーバンク(バンクI)の斜線の付された部分は、動画データが書き込まれているメモリ領域を模式的に示している。実際には、メモリコントローラ1222によるウェアレベリング等が行われ、動画データが書き込まれる位置は物理アドレスの順序に従わなくてもよい。また、図3C(図3D〜図3Qにおいても同様)において、アクティブバンク(バンクA)の網掛けの付された部分は、シャドーバンクの動画データが書き込まれた領域に対応する領域(同じ論理アドレス空間)である。この網掛けの付された部分は、データ処理装置11には動画データが新たに書き込まれた領域として認識される。
図3Cにおいて、アクティブバンク(バンクA)の斜線の付された部分は、シャドーバンク(バンクI)において動画データが書き込まれたメモリ領域と同じ論理アドレスで識別されるアクティブバンク(バンクA)メモリ領域を模式的に示している。アクティブバンクの斜線の付された部分には、実際には動画データの書き込みは行われていないが、データ処理装置11からは、データ記憶装置12からの通知により、斜線の付されたメモリ領域に動画データが記憶されていると認識される。
図3Dは、動画データの書き込み開始から10分が経過した時点のデータ記憶装置12の状態を示している。この時点で、バンクIにはこれ以上、動画データを書き込むことができなくなる。そこで、選択部1201は、ビジブルバンクの中から新たなアクティブバンクを選択する。この場合、バンクBが新たなアクティブバンクとなる。そして、選択部1201は、新たなアクティブバンクの選択に伴い、インビジブルバンクのうち前処理が完了しているものの中から新たなシャドーバックを選択する。この場合、バンクJが新たなシャドーバンクとなる。すなわち、選択部1201はバンクJにバンクBと同じ論理アドレスのアドレス空間を割り当てる。
同時に、選択部1201は、それまでシャドーバンクであったバンクIを対となるバンクAと入れ替えてビジブルバンクとし、それまでアクティブバンクであったバンクAをインビジブルバンクとする。すなわち、選択部1201はバンクAに対する論理アドレスのアドレス空間の割り当てを解除する。前処理部1202は、新たにインビジブルバンクとなったバンクAに対し前処理を開始する。図3Eは、選択部1201によるこれらのバンク間の切り替えが完了した状態を示している。
図3Eの状態で、新たなシャドーバンクであるバンクJに対し動画データの書き込みが開始される。同時に、バンクIに記憶されている動画データの読み出しや削除が許可される。動画データの書き込みはバンクJに対し行われているため、バンクIからデータの読み出しやバンクIに記憶されているデータの削除が行われても、動画データの書き込み速度は影響を受けないためである。
メモリ管理装置120は、その後、上述した手順に従い、順次、バンク間の切り替えを行いつつ、インビジブルバンクに対する前処理を行う。図3Fは、動画データの書き込み開始から15分が経過した時点のデータ記憶装置12の状態、図3Gは、動画データの書き込み開始から20分が経過しバンク間の切り替えが行われる前のデータ記憶装置12の状態、図3Hは、動画データの書き込み開始から20分が経過しバンク間の切り替えが行われた後のデータ記憶装置12の状態を示している。
図3Iは、動画データの書き込み開始から25分が経過した時点のデータ記憶装置12の状態、図3Jは、動画データの書き込み開始から30分が経過しバンク間の切り替えが行われる前のデータ記憶装置12の状態、図3Kは、動画データの書き込み開始から30分が経過しバンク間の切り替えが行われた後のデータ記憶装置12の状態を示している。
図3Lは、動画データの書き込み開始から35分が経過した時点のデータ記憶装置12の状態、図3Mは、動画データの書き込み開始から40分が経過しバンク間の切り替えが行われる前のデータ記憶装置12の状態、図3Nは、動画データの書き込み開始から40分が経過しバンク間の切り替えが行われた後のデータ記憶装置12の状態を示している。
図3Mに示されるように、動画データの書き込み開始から40分が経過した時点で、前処理部1202によるバンクAに対する前処理が完了する。そして、図3Nに示されるように、選択部1201により、前処理の完了したバンクAが新たなシャドーバンクとして選択される。
この例では、インビジブルバンク(シャドーバンクを含む)の数が4個であるため、バンク間の切り替えの時点において前処理の完了しているインビジブルバンクは1つしかなく、選択部1201はそのバンクを新たなシャドーバンクとして選択する。インビジブルバンク(シャドーバンクを含む)の数が5個以上である場合、バンク間の切り替えの時点において前処理の完了しているインビジブルバンクは2以上あるため、選択部1201はそれらのインビジブルバンクの中からバンクの記号(A〜L)の順番に従ってシャドーバンクを選択する。ただし、既述のように、前処理の完了しているインビジブルバンクの中からシャドーバンクが選択される規則はこれに限られず、例えばランダムにシャドーバンクの選択が行われてもよい。
図3Oは、動画データの書き込み開始から45分が経過した時点のデータ記憶装置12の状態、図3Pは、動画データの書き込み開始から50分が経過しバンク間の切り替えが行われる前のデータ記憶装置12の状態、図3Qは、動画データの書き込み開始から50分が経過しバンク間の切り替えが行われた後のデータ記憶装置12の状態を示している。メモリ管理装置120は、その後も、上述した手順に従い、順次、バンク間の切り替えを行いつつ、インビジブルバンクに対する前処理を行う。
図4は、データ処理装置11からの動画データの書き込み要求が複数回に渡り行われ、複数の動画データがデータ記憶装置12に記憶されている状態を例示している。図4の例では、バンクLからバンクBに動画データD1が記憶され、バンクBからバンクDに動画データD2が記憶され、バンクDからバンクEに動画データD3が記憶されている。そして、バンクEからバンクLに動画データD4が記憶され、現在、バンクLと対をなすシャドーバンクであるバンクHに対する動画データD4の書き込みが進行している。
図4の状態において、書き込み中でない動画データD1、D2、D3の読み出しや削除を行うことが許可される。従って、例えばデータ処理装置11のユーザは、動画データD4の記録中に動画データD1、D2、D3を他のデータ処理装置にコピーした後、それらのデータを削除する、という操作が可能となる。例えば、動画データD1が読み出されたり削除されたりする場合、バンクLに対するデータのアクセスが発生するが、データの書き込みはバンクHに対し行われているため、データの書き込み速度が影響を受けることはない。
また、図4の状態において、記録中の動画データD4のうち、データが書き込まれているバンクL以外のバンク(バンクEからバンクG)に記憶されている部分の読み出しも許可される。従って、例えばデータ処理装置11のユーザは、動画データD4の記録中に、動画データD4が示す動画を先頭や途中から再生する、といった操作も可能である。この場合、データのアクセスが発生するのはバンクEからバンクGであり、バンクHに対し行われているデータの書き込み速度が影響を受けることはない。
上述したように、データ記憶システム1において、書き込み要求に応じたデータの書き込みは常に前処理の完了したシャドーバンクに対し行われ、データの書き込みが行われている間、シャドーバンクに記憶されているデータの読み込みや削除等が行われることはない。従って、所定値以上のデータの書き込み速度が保証され、所定のビットレート以下で入力されるデータの欠落が生じることはない。
[変形例]
上述した実施形態は本発明の技術的思想の範囲内において様々に変形可能である。以下にそれらの変形の例を示す。なお、上述した実施形態および以下に示す変形例のうちの2以上が適宜組み合わせられてもよい。
(1)上述した実施形態において、データ記憶装置12の前処理部1202は、インビジブルバンクとなったバンクに対し常に前処理を行う。前処理を行わなくても所定速度以上の速度でデータの書き込みが可能なインビジブルバンクに関しては、前処理部1202が前処理を行わない構成が採用されてもよい。以下、この変形例を第1変形例という。
図5は、第1変形例におけるデータ記憶装置12のメモリ管理装置120の構成を示した図である。第1変形例において、メモリ管理装置120は選択部1201、前処理部1202、および書込部1203に加え、速度特定部1204を備える。速度特定部1204は、選択部1201により新たにインビジブルバンクとして選択されたバンクに関し、前処理部1202による前処理に先んじて、データの書き込み速度を特定する。
速度特定部1204がインビジブルバンクに対するデータの書き込み速度を特定する方法としては、例えば、ダミーデータをインビジブルバンクに書き込み、その際の書き込み速度を測定する方法や、インビジブルバンクに対し最後に前処理が行われた後にデータが書き換えられた回数を記録しておき、その回数に基づき所定の算定式等に従い書き込み速度を推定する方法など、いずれが採用されてもよい。
前処理部1202は、選択部1201により新たにインビジブルバンクとして選択されたバンクに関し、速度特定部1204により特定されたデータの書き込み速度が所定の閾値より速い場合、そのインビジブルバンクに関しては前処理を行わず、速度特定部1204により特定されたデータの書き込み速度が所定の閾値以下である場合に限り、前処理を行う。
メモリチップ1221が例えばNAND型フラッシュメモリである場合、メモリチップ1221に対するデータの書き換えが繰り返されるに伴い、メモリチップ1221に対するデータの書き込み速度が低下する。メモリチップ1221に対しサニタイズが行われると、メモリチップ1221に対するデータの書き込み速度は速くなる。ただし、メモリチップ1221のデータ書き換え回数には上限があり、サニタイズはデータ書き換え回数を増やすので、メモリチップ1221の寿命の観点からはサニタイズを行う回数は必要最低限であることが望ましい。また、サニタイズを行うためにメモリモジュール122は電力を消費する。従って、電力消費量の観点からもサニタイズを行う回数は必要最低限であることが望ましい。サニタイズに限らず、ガーベッジコレクション等の他の種別の前処理に関しても、多くの場合、同様の理由で実行回数は必要最低限であることが望ましい。
第1変形例によれば、データの書き込み速度の保証の観点から、インビジブルバンクに対する前処理が必要な場合に限り前処理が行われるため、メモリの寿命や電力消費量等の観点から望ましい。
(2)上述した実施形態においては、アクティブバンクに記憶されているデータは当該アクティブバンクと対をなすシャドーバンクに対するデータの書き込みが完了し、バンク間の切り替えが行われる際、破棄される。すなわち、アクティブバンクに記憶されているデータは、バンク間の切り替えに先んじて他のバンクにコピーされることはなく、アクティブバンクがバンク間の切り替えによってインビジブルバンクとなると、当該バンクに対する論理アドレス空間の割り当てが解除されるため、当該バンクに記憶されていたデータがその後、利用されることはない。従って、バンク単位で新たなデータにより古いデータが全て上書きされることになる。
上述した実施形態におけるデータ記憶システム1による場合、新たなバンクに対する新しいデータの書き込みに先んじて、同じバンクに記憶されている古いデータの削除が行われる必要がある。これに代えて、バンクに既に記憶されているデータを保持しつつ、新たなデータを同じバンクに書き込み可能な構成が採用されてもよい。以下、この変形例を第2変形例という。
図6Aおよび図6Bは、第2変形例においてデータ記憶装置12にデータが書き込まれていく様子を例示した図である。第2変形例において、前処理部1202は、インビジブルバンクに対するサニタイズと、将来、アクティブバンクとなる予定のビジブルバンクと対をなすシャドーバンクに対するアクティブバンクのデータのコピーとを前処理として行う。なお、アクティブバンクからシャドーバンクへのデータのコピーにおいて、ガーベッジコレクションが併せて行われる。
図6Aの状態において、バンクBがアクティブバンクである。アクティブバンクであるバンクBに加え、次にアクティブバンクとなる予定のバンクCと、さらにその次にアクティブバンクとなる予定のバンクDにも、既にシャドーバンクが選択されている。例えば、バンクDと対をなすシャドーバンク(バンクJ)は、バンクBが新たなアクティブバンクとして選択されたタイミングで、サニタイズが完了しているインビジブルバンクの中から選択されたものである。
図6Aの状態において、アクティブバンクであるバンクBと対をなすシャドーバンクのバンクHに新たなデータの書き込みが行われる間、前処理部1202は、サニタイズが完了していないインビジブルバンクであるバンクKとバンクAに対するサニタイズを行う。それと同時に、前処理部1202は、バンクCに記憶されているデータをバンクIに、バンクDに記憶されているデータをバンクJに、各々コピーする。
その後、バンクHに対するデータの書き込みが完了すると、選択部1201はアクティブバンクをバンクBからバンクCに切り替え、バンクBをインビジブルバンクにするとともにバンクHをバンクBに替わるビジブルバンクとし、その時点でサニタイズが完了しているバンクKをバンクEと対をなすシャドーバンクとして選択する。なお、バンクCからバンクIへのデータのコピーは、これらのバンク間の切り替え前に完了している。図6Bは、これらのバンク間の切り替えが完了した状態を示している。
図6Bの状態において、アクティブバンクであるバンクCと対をなすシャドーバンクのバンクIに新たなデータの書き込みが行われる間、前処理部1202は、サニタイズが完了していないインビジブルバンクであるバンクAとバンクBに対するサニタイズを行う。それと同時に、前処理部1202は、バンクDに記憶されているデータをバンクJに、バンクEに記憶されているデータをバンクKに、各々コピーする。
上記の手順に従い、選択部1201によるバンクの選択と前処理部1202による前処理が行われる結果、第2変形例においては、新たなデータの書き込み先のバンクに過去に記憶されたデータがバンク間の切り替えに伴い破棄されることがない。
第2変形例においては、上記のように、新たなデータがバンクに書き込まれる際に、既にそのバンクの一部領域には過去に記憶されているデータが記憶されている。従って、データ記憶装置12に記憶されているデータの量が増加するに伴い、アクティブバンクと対をなすシャドーバンクへ新たに書き込み可能なデータ量は減少し、アクティブバンクの切り替えの間隔が短くなる。また、データ記憶装置12に記憶されているデータの量が増加するに伴い、ビジブルバンクからシャドーバンクへのデータのコピーに要する時間が長くなる。
従って、データ記憶装置12に記憶されているデータの量がある程度の量に達すると、前処理部1202によるサニタイズやデータのコピーがバンク間の切り替えのタイミングまでに間に合わない状況が生じる。そこで、第2変形例において、データ記憶装置12は、前処理部1202による前処理が間に合わない状況に陥る前に、データ処理装置11に対しユーザに対する通知を指示する。
図7は、第2変形例におけるデータ記憶装置12のメモリ管理装置120の構成を示した図である。第2変形例において、メモリ管理装置120は選択部1201、前処理部1202、および書込部1203に加え、所要時間推定部1205と、通知指示部1206を備える。
所要時間推定部1205は、アクティブバンクと対をなすシャドーバンクに対するデータの書き込みに要する時間と、前処理部1202がインビジブルバンクに対し前処理を行うために要する時間を推定する。所要時間推定部1205がこれらの時間を推定する方法としては、例えば、過去にそれらのバンクに対しデータの書き込みや前処理を行った際の所要時間の時系列変化を記録しておき、その時系列変化に基づき将来の所要時間を推定する方法や、それらのバンクに記憶されているデータの量に基づき推定する方法など、いずれが採用されてもよい。
通知指示部1206は、所要時間推定部1205により推定された時間が、バンク間の切り替えまでに前処理が完了しない状況を示す所定の条件を満たす場合、データ処理装置11に対し、ユーザに対する通知を指示する指示データを出力する。データ処理装置11は、この指示データに従い、ユーザに対し、例えば不要なデータの削除を促すとともに、データの削除が行われなければデータの書き込み速度が保証されずデータの欠落が生じる可能性がある旨の警告メッセージを表示する。
通知指示部1206は、例えば、アクティブバンクと対をなすシャドーバンクに対するデータの書き込みに要する時間(所要時間推定部1205による推定値)をaとし、1つのインビジブルバンクにサニタイズを行うために要する時間をbとし、インビジブルバンクの数をxとするとき、b/(x−1)>a−αとなれば、サニタイズに要する時間が確保できなくなる危険性が高い、と判定して指示データの出力を行う。ただし、αはサニタイズに要する時間が確保できなくなる前に通知を行うためのマージン値である。
また、通知指示部1206は、例えば、アクティブバンクと対をなすシャドーバンクに対するデータの書き込みに要する時間(所要時間推定部1205による推定値)をaとし、アクティブバンクと対をなすシャドーバンクに対するデータの書き込み中にビジブルバンクからデータをコピーするシャドーバンクの数をyとし、これらのシャドーバンクの各々に対するデータのコピーに要する時間(所要時間推定部1205による推定値)をcとするとき、c/y>a−βとなれば、データのコピーに要する時間が確保できなくなる危険性が高い、と判定して指示データの出力を行う。ただし、βはデータのコピーに要する時間が確保できなくなる前に通知を行うためのマージン値である。
第2変形例によれば、新しいデータの書き込みに伴い同じバンクに記憶されている古いデータを削除しなくてもよい。ただし、既に記憶されているデータの量の増加に伴い、新たなデータの書き込み速度が保証されなくなる場合がある。そのような状況が生じる前にユーザに対し通知が行われるため、ユーザは通知に応じて不要なデータを削除する等の対応を行うことで、必要なデータの書き込み速度を確保することができる。
上述した第2変形例においては、近々アクティブバンクになるビジブルバンクに記憶されているデータは、それらのビジブルバンクと対をなすシャドーバンク(サニタイズを終えたインビジブルバンク)にコピーされる。これに代えて、もしくは加えて、当座はアクティブバンクにならない他のビジブルバンクに対しデータのコピーが行われてもよい。例えば、データのコピー先のバンクを複数に分散することで、データのコピーに要する時間を短縮することができる。
(3)上述した実施形態および変形例において示したバンクの数や判定の条件等はあくまで例示であって、他の数や判定の条件等が採用されてもよい。
(4)上述した実施形態および第1変形例においては前処理としてサニタイズが行われ、第2変形例においてはサニタイズとデータのコピーが行われるものとした。前処理部1202により行われる前処理はこれらに限られず、データの書き込みに先んじてメモリに対し行うことで当該メモリに対するデータの書き込み速度を向上することができる処理であれば、例えばガーベッジコレクション等の他の種別の処理が前処理部1202により前処理として行われてもよい。また、前処理の種別はメモリチップ1221の種別によっても異なり得る。
(5)上述した実施形態においては、データ記憶装置12がメモリ管理装置120の全ての構成部を備える。これに代えて、データ記憶装置12に接続される外部の装置、例えばデータ処理装置11がメモリ管理装置120の構成部の一部を備える構成が採用されてもよい。例えば、メモリ管理装置120が備える選択部1201をデータ処理装置11が備える構成が採用されてもよい。この場合、データ処理装置11はメモリ111に記憶されるプログラムに従い、データ記憶装置12に対しバンク間の切り替えを指示することになる。
(6)上述した実施形態においては、データ記憶装置12はメモリモジュール122の各々においてメモリチップ1221を制御するメモリコントローラ1222と、メモリ123に記憶されているプログラムに従い、複数のメモリモジュール122の各々のメモリコントローラ1222に対しバンク切り替え等の指示を行うプロセッサ124を備える。これに代えて、プロセッサ124がメモリモジュール122の役割を兼ねる構成が採用されてもよい。
(7)上述した実施形態においては、メモリ管理装置120はメモリ123に記憶されるプログラムに従うプロセッサ124の処理により実現される。これに代えて、例えば論理集積回路等の専用のハードウェアによりメモリ管理装置120が実現されてもよい。
1…データ記憶システム、11…データ処理装置、12…データ記憶装置、111…メモリ、112…プロセッサ、113…インタフェース、120…メモリ管理装置、121…インタフェース、122…メモリモジュール、123…メモリ、124…プロセッサ、1201…選択部、1202…前処理部、1203…書込部、1204…速度特定部、1205…所要時間推定部、1206…通知指示部、1221…メモリチップ、1222…メモリコントローラ

Claims (7)

  1. データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置が、
    前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとし、
    前記複数のインビジブルバンクの各々に前記前処理を行い、
    前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択し、
    データの書き込み要求に応じて前記シャドーバンクにデータを書き込み、
    新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとする
    メモリ管理方法。
  2. 前記メモリ管理装置は、前記前処理が完了した1つのバンクに最大量のデータを書き込むために要する時間をaとし、1つのバンクに前記前処理を行うために要する時間をbとするとき、インビジブルバンクの数が(b/a+1)以上となるように、前記所定数のビジブルバンクの選択を行う
    請求項1に記載のメモリ管理方法。
  3. 前記メモリは、前記前処理が行われることなくデータの書き換えが行われる程、データの書き込み速度が低下し、
    前記メモリ管理装置は、前記複数のインビジブルバンクの各々に関し、前記前処理に先んじて当該インビジブルバンクのデータの書き込み速度を特定し、当該特定した書き込み速度が所定の閾値より速い場合、当該インビジブルバンクに関する前記前処理を行わない
    請求項1または2に記載のメモリ管理方法。
  4. 前記前処理は、前記アクティブバンクに記憶されているデータを前記シャドーバンクへコピーする処理を含む
    請求項1乃至3のいずれか1項に記載のメモリ管理方法。
  5. 前記メモリ管理装置は、前記シャドーバンクにデータを書き込むために要する第1の時間と、前記前処理に要する第2の時間とを推定し、前記第1の時間と前記第2の時間が所定の条件を満たす場合、通知装置に通知を指示する
    請求項1乃至4のいずれか1項に記載のメモリ管理方法。
  6. データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置が備えるプロセッサに、
    前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとする処理と、
    前記複数のインビジブルバンクの各々に前記前処理を行う処理と、
    前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択する処理と、
    データの書き込み要求に応じて前記シャドーバンクにデータを書き込む処理と、
    新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとする処理と
    を実行させるためのプログラム。
  7. データの書き込みに先んじて前処理を行うことによりデータの書き込み速度を速めることができるメモリを管理するメモリ管理装置であって、
    前記メモリを構成する所定サイズの複数のバンクのうちの所定数の複数のバンクをビジブルバンクとして選択するとともに、前記複数のバンクのうちビジブルバンクとして選択されていない複数のバンクをインビジブルバンクとする選択部と、
    前記複数のインビジブルバンクの各々に前記前処理を行う前処理部と、
    を備え、
    前記選択部は、前記複数のビジブルバンクの中から1つのバンクをアクティブバンクとして選択するとともに、前記複数のインビジブルバンクのうち前記前処理が完了しているインビジブルバンクの中から1つのバンクを前記アクティブバンクと論理アドレス空間を共有するシャドーバンクとして選択し、
    データの書き込み要求に応じて前記シャドーバンクにデータを書き込む書込部を備え、
    前記選択部は、新たなアクティブバンクの選択に伴い、当該選択の時点までアクティブバンクであったバンクをインビジブルバンクとし、当該選択の時点までシャドーバンクであったバンクをビジブルバンクとする
    メモリ管理装置。
JP2014123473A 2014-06-16 2014-06-16 メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置 Pending JP2017138636A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014123473A JP2017138636A (ja) 2014-06-16 2014-06-16 メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置
PCT/JP2014/079826 WO2015194063A1 (ja) 2014-06-16 2014-11-11 メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014123473A JP2017138636A (ja) 2014-06-16 2014-06-16 メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置

Publications (1)

Publication Number Publication Date
JP2017138636A true JP2017138636A (ja) 2017-08-10

Family

ID=54935086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014123473A Pending JP2017138636A (ja) 2014-06-16 2014-06-16 メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置

Country Status (2)

Country Link
JP (1) JP2017138636A (ja)
WO (1) WO2015194063A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6838299B2 (ja) * 2016-06-22 2021-03-03 富士通株式会社 ストレージ装置、ストレージ制御装置、及びストレージ制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2971302B2 (ja) * 1993-06-30 1999-11-02 シャープ株式会社 Eepromを使用した記録装置
JP3308684B2 (ja) * 1993-11-15 2002-07-29 株式会社日立国際電気 ボイスフライトデータレコーダ

Also Published As

Publication number Publication date
WO2015194063A1 (ja) 2015-12-23

Similar Documents

Publication Publication Date Title
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
CN101673226B (zh) Nand错误管理
KR20080085574A (ko) 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법
JP2012033002A (ja) メモリ管理装置およびメモリ管理方法
JP2015001908A (ja) 情報処理装置、制御回路、制御プログラム、および制御方法
JP4910064B2 (ja) 記憶制御装置、記憶装置、及びデータ移動制御方法
TW201824010A (zh) 資訊處理裝置及記憶體存取方法
JP6167646B2 (ja) 情報処理装置、制御回路、制御プログラム、および制御方法
CN111159059B (zh) 一种垃圾回收方法、装置及非易失性的存储设备
US20130304972A1 (en) Control device, storage device, and storage control method
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
KR20200140534A (ko) 비휘발성 랜덤 액세스 메모리를 이용한 세그먼트 클리닝 방법 및 이를 구현하기 위한 메모리 관리 장치
JP2012128545A (ja) メモリコントローラ、及びデータ記録装置
US20120151166A1 (en) Nonvolatile storage device and memory controller
KR102220468B1 (ko) 트랜잭션 지원을 가진 선점형 캐시 후기록
JP4966418B1 (ja) 情報処理装置及び書き込み制御方法
US9304906B2 (en) Memory system, controller and control method of memory
JP2010237907A (ja) ストレージ装置および記録方法
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones
WO2015194063A1 (ja) メモリ管理方法、メモリ管理のためのプログラムおよびメモリ管理装置
TWI417889B (zh) 快閃記憶體之寫入逾時控制方法及其記憶裝置
CN103389943A (zh) 控制装置、存储装置及存储控制方法
JP2013206307A (ja) メモリ制御装置、データ記憶装置及びメモリ制御方法
JP2013196155A (ja) メモリシステム