JP2014203381A - 記憶装置とその制御方法、および、プログラム - Google Patents

記憶装置とその制御方法、および、プログラム Download PDF

Info

Publication number
JP2014203381A
JP2014203381A JP2013081183A JP2013081183A JP2014203381A JP 2014203381 A JP2014203381 A JP 2014203381A JP 2013081183 A JP2013081183 A JP 2013081183A JP 2013081183 A JP2013081183 A JP 2013081183A JP 2014203381 A JP2014203381 A JP 2014203381A
Authority
JP
Japan
Prior art keywords
memory
address
data
storage device
flash 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
JP2013081183A
Other languages
English (en)
Inventor
猛 北村
Takeshi Kitamura
猛 北村
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.)
NEC Casio Mobile Communications Ltd
Original Assignee
NEC Casio Mobile Communications Ltd
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 NEC Casio Mobile Communications Ltd filed Critical NEC Casio Mobile Communications Ltd
Priority to JP2013081183A priority Critical patent/JP2014203381A/ja
Publication of JP2014203381A publication Critical patent/JP2014203381A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】記憶装置の長寿命化を図ることができる
【解決手段】本発明の記憶装置は、第1のメモリと、第2のメモリと、前記第1のメモリおよび前記第2のメモリへのデータの読み書きを行う入出力部と、前記第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記第2のメモリに書き込むアドレスであるキャッシュアドレスを決定する制御部と、を有し、前記入出力部は、前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込む。
【選択図】図2

Description

本発明は、データを記憶する記憶装置とその制御方法、および、プログラムに関する。
携帯電話、スマートフォンなどの情報処理装置の多くには、データを記憶する記憶手段として不揮発性メモリであるフラッシュメモリを備えた記憶装置が搭載されている。このような記憶装置の一例が、特許文献1(特開2012−84127号公報)に開示されている。
特許文献1には、記憶手段として不揮発性メモリ(フラッシュメモリ)および揮発性メモリ(DRAM(Dynamic Random Access Memory))を備え、書き込み対象のデータの特性(データが書き換えられる頻度やデータの重要度)に応じて、データの書き込み先を揮発性メモリとするか、不揮発性メモリとするかを決定する記憶装置が開示されている。
一般に、不揮発性メモリは、揮発性メモリと比較して、データ保持の信頼性は高いが、データへのアクセス時間が長いという特性がある。特許文献1に開示されている記憶装置によれば、データの特性に合ったメモリにデータを記憶させることができる。
フラッシュメモリでは、記憶素子であるトランジスタの制御ゲートと酸化膜との間に設けられた浮遊ゲートに酸化膜を通過した電子が保持されることでデータが書き込まれ、浮遊ゲートに保持されている電子が酸化膜を通過して外部に引き抜かれることでデータが消去される。
電子が酸化膜の通過を繰り返すことに起因して酸化膜が劣化すると、浮遊ゲートで保持されるべき電子が外部へ流出しやすくなり、データを正しく記憶できなくなってしまう。そのため、フラッシュメモリにおいては、データの正しい書き込み・消去が可能な回数が限られている。
特許文献1に開示されている記憶装置は、CPU(Central Processing Unit)からフラッシュメモリへのアクセスに用いられるアドレス(CPU物理アドレス)と、フラッシュメモリ内においてCPU物理アドレスに対応するアドレス(NAND物理アドレス)とが対応付けられた変換テーブルを有しており、CPUからのデータの書き込み要求において指定されたCPU物理アドレスに対応するNAND物理アドレスにデータが書き込まれる。そのため、特許文献1に開示されている記憶装置においては、書き込み対象のデータの特性によっては、フラッシュメモリの特定のアドレスへのデータの書き込み、消去が集中することで、その特定のアドレスにおいてデータの正しい書き込み・消去が可能な回数の上限に達してしまい、フラッシュメモリの寿命が短くなってしまうことがある。
そこで、特許文献2には、記憶手段としてフラッシュメモリを備え、フラッシュメモリのアドレス毎にデータの書き込みおよび消去の回数を記憶し、その回数がアドレス間で平均化されるようにデータの書き込みを行う記憶装置が開示されている。
特許文献2に開示されている記憶装置によれば、フラッシュメモリ内のアドレス間でデータの書き込みおよび消去の回数が平均化されるので、特定のアドレスにデータの書き込み・消去が集中することに起因してフラッシュメモリの寿命が短くなることを防ぐことができる。
特開2012−84127号公報 特開2011−203916号公報
特許文献2に開示されている記憶装置によれば、フラッシュメモリ内の特定のアドレスへのデータの書き込み・消去回数が多い場合には、同じフラッシュメモリ内で、その特定のアドレスとは別のアドレスに書き込みが行われるため、フラッシュメモリへのデータの書き込み回数自体は減っていない。そのため、特許文献2に開示されている記憶装置でも、長寿命化を十分に図ることができない。
本発明の目的は、長寿命化を図ることができる記憶装置とその制御方法、および、プログラムを提供することにある。
上記目的を達成するために本発明の記憶装置は、
第1のメモリと、
第2のメモリと、
前記第1のメモリおよび前記第2のメモリへのデータの読み書きを行う入出力部と、
前記第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記第2のメモリに書き込むアドレスであるキャッシュアドレスを決定する制御部と、を有し、
前記入出力部は、前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込む。
上記目的を達成するために本発明の記憶装置の制御方法は、
前記記憶装置が備える第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記記憶装置が備える第2のメモリに書き込むアドレスであるキャッシュアドレスを決定し、
前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込む。
上記目的を達成するために本発明のプログラムは、
記憶装置に、
前記記憶装置が備える第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記記憶装置が備える第2のメモリに書き込むアドレスであるキャッシュアドレスを決定する処理と、
前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込む処理と、を実行させる。
本発明によれば、記憶装置の長寿命化を図ることができる。
本発明の第1の実施形態の記憶装置が組み込まれた情報処理装置のハードウェア構成の一例を示すブロック図である。 図1に示す情報処理装置の機能ブロック図である。 図2に示す情報処理装置の、フラッシュメモリへのデータの書き込みが要求された際の動作の一例を示すフローチャートである。 図2に示す情報処理装置の、新たなアプリケーションの起動が要求された際の動作の一例を示すフローチャートである。 図2に示す情報処理装置の、アプリケーションの終了が要求された際の動作の一例を示すフローチャートである。 図2に示す情報処理装置の、キャッシュ動作の要否を決定する際の動作を示すフローチャートである。 図2に示す情報処理装置の、新たなアプリケーションの起動が要求された際の動作の他の一例を示すフローチャートである。 図2に示すフラッシュメモリの論理アドレス毎の書き込み回数の一例を示す図である。 図2に示す情報処理装置の、アプリケーションの終了が要求された際の動作の他の一例を示すフローチャートである。 図2に示す情報処理装置の、フラッシュメモリへのデータの書き込みが要求された際の動作を示すフローチャートである。 図2に示す情報処理装置の、フラッシュメモリからのデータの読み出しが要求された際の動作を示すフローチャートである。 本発明の第1の実施形態の記憶装置が組み込まれた情報処理装置の機能ブロック図の他の例である。 本発明の第2の実施形態の記憶装置の構成を示すブロック図である。
以下に、本発明を実施するための形態について図面を参照して説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態の記憶装置100が組み込まれた情報処理装置10のハードウェア構成の一例を示す図である。なお、情報処理装置10の具体例としては、携帯電話、スマートフォン、パーソナルコンピュータ、PDA(Personal Data Assitants)、ゲーム機などがある。
図1に示す情報処理装置10は、CPU11と、RTC(Real Time Clock)12と、通信ユニット13と、フラッシュメモリ110と、RAM(Random Access Memory)120と、を有する。上述した各部は、バス14を介して接続されている。フラッシュメモリ110は、第1のメモリの一例であり、RAM120は、第2のメモリの一例である。
CPU11は、情報処理装置10全体の動作を制御する。
RTC12は、現在時刻を示す現在時刻データを出力するクロックである。RTC12は、情報処理装置10の電源がオフのときにも時刻を刻み続けることができる。
通信ユニット13は、情報処理装置10外部の他の装置と通信を行う。
フラッシュメモリ110は、CPU11が実行する各種制御用プログラムや固定データなどを記憶する不揮発性メモリである。
RAM120は、CPU11がアプリケーションを実行する際に必要となるデータや、アプリケーションの実行に応じた画像を図1においては不図示の表示部に表示させるためのデータなどを記憶する揮発性メモリである。また、RAM120は、ワークメモリとしても使用される。
フラッシュメモリ110およびRAM120は、記憶装置100の一部を構成する。
次に、情報処理装置10の構成のうち、本発明に特に関連する部分の構成について、図2に示す機能ブロック図を参照して説明する。なお、図2において、図1と同様の構成については同じ符号を付し、説明を省略する。また、図2においては、通信ユニット13の記載を省略する。
図2に示す情報処理装置10は、RTC12と、フラッシュメモリ110と、RAM120と、アプリケーション管理モジュール130と、アクセス管理部140と、メモリドライバ150と、信頼性管理モジュール160とを有する。メモリドライバ150は、入出力部の一例であり、信頼性管理モジュール160は、制御部の一例である。フラッシュメモリ110、RAM120、メモリドライバ150、および、信頼性管理モジュール160は、記憶装置100を構成する。
アプリケーション管理モジュール130、アクセス管理部140、メモリドライバ150、および、信頼性管理モジュール160は、通常、CPU11上で動作する機能ブロックであるが、これに限られるものではない。
アプリケーション管理モジュール130は、情報処理装置10に搭載されている複数のアプリケーション(アプリケーション170a,170b,・・・,170n)の起動および終了を管理しており、アプリケーションの起動および終了時のシステムリソースの割り当てを行う。また、アプリケーション管理モジュール130は、信頼性管理モジュール160からの要求に応じて、動作中のアプリケーションを示す動作アプリケーション情報を出力する。なお、アプリケーション管理モジュール130は、複数のアプリケーションを並列的に実行させることが可能である。
アクセス管理部140は、フラッシュメモリ110へのデータの書き込みやフラッシュメモリ110からのデータの読み出しを要求する旨を示すアクセス要求がアプリケーションから入力されると、そのアクセス要求において指定されているフラッシュメモリ110の論理アドレスへのデータの書き込み要求や読み出し要求をメモリドライバ150に出力する。
メモリドライバ150は、書き込み要求や読み出し要求のアクセス管理部140からの入力に応じて、フラッシュメモリ110あるいはRAM120へのデータの書き込みや読み出しを行う。
なお、上述したように、書き込み要求や読み出し要求においては、フラッシュメモリ110の論理アドレスが指定されている。メモリドライバ150は、フラッシュメモリ110の論理アドレスと、その論理アドレスに対応する物理アドレスとを対応付けた論物変換テーブルを有しており、書き込み要求や読み出し要求において指定された論理アドレスに対応する物理アドレスを論物変換テーブルを参照して特定し、特定した物理アドレスにデータの書き込みや読み出しを行う。
なお、以下では、説明の簡略化のため、論理アドレスを用いて説明を行い、論理アドレスと物理アドレスとの変換については記載を省略する。
フラッシュメモリ110は、上述したような、CPU11が実行する各種制御用プログラムや固定データなどに加えて、フラッシュメモリ書き込みログ111、および、キャッシュアドレス情報112を記憶する。
フラッシュメモリ書き込みログ111は、データが書込まれたフラッシュメモリ110の論理アドレスを示す情報が蓄積されたログである。フラッシュメモリ書き込みログからフラッシュメモリ110のアドレス毎の書き込み頻度を得ることができる。
フラッシュメモリ書き込みログ111は、アプリケーションの実行状態(実行中のアプリケーション)を示す複数のパターン(パターン1〜パターンX)毎に蓄積される。なお、例えば、パターン1は、アプリケーション170aのみが実行中である状態を示し、パターン2は、アプリケーション170bのみが実行中である状態を示し、パターン3は、アプリケーション170aおよびアプリケーション170bが実行中である状態を示す。このようなアプリケーションの実行状態毎に、フラッシュメモリ書き込みログ111が蓄積される。
キャッシュアドレス情報112は、フラッシュメモリ110の論理アドレスのうち、フラッシュメモリ110を書き込み先とするデータを、フラッシュメモリ110ではなく、RAM120に書き込むキャッシュ動作の対象となる論理アドレス(以下、キャッシュアドレスと称する)を示す情報である。キャッシュアドレス情報112は、パターン(パターン1〜パターンX)毎に記憶される。
RAM120は、上述したような、CPU11がアプリケーションを実行する際に必要となるデータや、アプリケーションの実行に応じた画像を表示部に表示させるためのデータなどに加えて、フラッシュメモリ書き込みログ121、および、キャッシュデータ122を記憶する。
フラッシュメモリ書き込みログ121は、データが書込まれたフラッシュメモリ110の論理アドレスを示す情報が蓄積されたログである。なお、RAM120は、フラッシュメモリ110と同様に、アプリケーションの実行状態を示すパターン毎に、フラッシュメモリ書き込みログ121を蓄積する。
キャッシュデータ122は、キャッシュ動作が行われることで、RAM120に書き込まれたデータである。
信頼性管理モジュール160は、フラッシュメモリ110の論理アドレス毎のデータの書き込み頻度を監視し、その監視の結果に応じて、キャッシュアドレスを決定する。ここで、信頼性管理モジュール160は、アプリケーション管理モジュール130から取得した動作アプリケーション情報に示されるアプリケーションに対応するパターンにおけるフラッシュメモリ書き込みログ111を、メモリドライバ150を介して取得する。そして、信頼性管理モジュール160は、取得したフラッシュメモリ書き込みログ111に応じてキャッシュアドレスを決定する。また、信頼性管理モジュール160は、決定したキャッシャアドレスをメモリドライバ150に通知する。
次に、本実施形態の情報処理装置10の動作について、記憶装置100の動作を中心に説明する。
まず、情報処理装置10の電源投入時の動作について説明する。
情報処理装置10の電源が投入され、アプリケーション170aを起動する旨が入力されたとする。
アプリケーション170aを起動する旨が入力されると、アプリケーション管理モジュール130は、アプリケーション170aを起動させる。なお、アプリケーション170aの起動前には情報処理装置10の電源が投入されておらず、アプリケーションが実行されていないため、フラッシュメモリ書き込みログは蓄積されていない。
次に、信頼性管理モジュール160は、メモリドライバ150に対して、RAM120に蓄積されているフラッシュメモリ書き込みログ121の初期化を要求する。その要求に応じて、メモリドライバ150は、RAM120に蓄積されているフラッシュメモリ書き込みログ121を初期化する。
次に、アプリケーションからフラッシュメモリ110へのデータの書き込みが要求された際の動作について、図3に示すフローチャート参照して説明する。なお、図3においては、キャッシュメモリは決定されていないものとする。
アプリケーションからフラッシュメモリ110へのデータの書き込みを要求する旨を示すアクセス要求が出力されると(ステップS31)、アクセス管理部140は、アクセス要求において指定された論理アドレスへのデータの書き込み要求をメモリドライバ150に出力する(ステップS32)。
メモリドライバ150は、アクセス管理部140から入力された書き込み要求において指定された論理アドレスへのデータの書き込みを行う(ステップS33)。
次に、メモリドライバ150は、データを書き込んだ論理アドレスを示す情報をフラッシュメモリ書き込みログ121としてRAM120に蓄積する(ステップS34)。このようにして、情報処理装置100の電源投入後、フラッシュメモリ110にデータが書き込まれる毎に、フラッシュメモリ書き込みログ121が蓄積される。なお、情報処理装置100の電源を切る旨が入力された場合には、RAM120への電力供給を停止する前に、RAM120に蓄積されたフラッシュメモリ書き込みログ121を、フラッシュメモリ110にフラッシュメモリ111として記憶させることで、情報処理装置100の電源が切られた場合にも、フラッシュメモリ110の各論理アドレスへの書き込み頻度を保持しておくことができる。
次に、新たなアプリケーションの起動が要求された際の動作について、図4に示すフローチャートを参照して説明する。なお、以下では、アプリケーション170a,170bが実行されている状態において、新たにアプリケーション170nを起動させる旨の要求が入力されたものとする。
アプリケーション170nを起動させる旨の要求が入力されると、アプリケーション管理モジュール130は、アプリケーション170nを起動させる。また、アプリケーション管理モジュール130は、新たにアプリケーションを起動させた旨を信頼性管理モジュール160に通知する。
アプリケーション管理モジュール130からの通知を受けて、信頼性管理モジュール160は、アプリケーション170nの起動前に動作していたアプリケーションを示す動作アプリケーション情報の出力をアプリケーション管理モジュール130に要求する。また、信頼性管理モジュール160は、その要求に応じてアプリケーション管理モジュール130から出力された動作アプリケーション情報を取得する(ステップS41)。
次に、信頼性管理モジュール160は、RAM120に記憶されているフラッシュメモリ書き込みログ121をフラッシュメモリ110に記憶させるようにメモリドライバ150に要求する。ここで、信頼性管理モジュール160は、動作アプリケーション情報に示されるアプリケーションに対応するパターンがフラッシュメモリ110上に存在する場合には、そのパターンにおけるフラッシュメモリ書き込みログ121を、そのパターンにおけるフラッシュメモリ書き込みログ111に追記するように要求する。
信頼性管理モジュール160からの要求に応じて、メモリドライバ150は、RAM120に記憶されているフラッシュメモリ書き込みログ121をフラッシュメモリ110に記憶させる(ステップS42)。
次に、信頼性管理モジュール160は、RAM120に記憶されているフラッシュメモリ書き込みログ121の初期化をメモリドライバ150に要求する。その要求に応じて、メモリドライバ150は、フラッシュメモリ書き込みログ121を初期化する(ステップS43)。なお、ここでの初期化とは、フラッシュメモリ110の各論理アドレスへの書き込み頻度を0に戻すことを意味する。ステップS42において、RAM120に記憶されているフラッシュメモリ書き込みログ121がフラッシュメモリ110に記憶されたため、その時点までのフラッシュメモリ110の各論理アドレスへの書き込み頻度は、フラッシュメモリ110に記憶されたことになる。ここで、RAM120に記憶されているフラッシュメモリ書き込みログ121を初期化せずに、再び、RAM120に記憶されているフラッシュメモリ書き込みログ121がフラッシュメモリ110に記憶されてしまうと、ステップS42までのフラッシュメモリ110の各論理アドレスへの書き込み頻度が、重複してフラッシュメモリ110に記憶されてしまうことになる。その結果、フラッシュメモリ110の各論理アドレスへの書き込み頻度を正確に把握できなくなってしまう。
そこで、RAM120に記憶されているフラッシュメモリ書き込みログ121をフラッシュメモリ110に記憶させた後、フラッシュメモリ書き込みログ121を初期化することで、フラッシュメモリ110の各論理アドレスへの書き込み頻度が、重複してフラッシュメモリ110に記憶されてしまうことがなくなり、フラッシュメモリ110の各論理アドレスへの書き込み頻度を正確に把握できるようになる。
次に、アプリケーションの終了が要求された際の動作について、図5に示すフローチャートを参照して説明する。なお、以下では、アプリケーション170a,170bが実行されている状態において、アプリケーション170aを終了させる旨の要求が入力されたものとする。
アプリケーション170aを終了させる旨の要求が入力されると、アプリケーション管理モジュール130は、アプリケーション170aを終了させる。また、アプリケーション管理モジュール130は、アプリケーション170を終了させた旨を信頼性管理モジュール160に通知する。
アプリケーション管理モジュール130からの通知を受けて、信頼性管理モジュール160は、アプリケーションを終了させる前に動作していたアプリケーションを示す動作アプリケーション情報の出力をアプリケーション管理モジュール130に要求する。また、信頼性管理モジュール160は、その要求に応じてアプリケーション管理モジュール130から出力された動作アプリケーション情報を取得する(ステップS51)。
次に、信頼性管理モジュール160は、RAM120に記憶されているフラッシュメモリ書き込みログ121をフラッシュメモリ110に記憶させるようにメモリドライバ150に要求する。ここで、信頼性管理モジュール160は、動作アプリケーション情報に示されるアプリケーションに対応するパターンがフラッシュメモリ110上に存在する場合には、そのパターンにおけるフラッシュメモリ書き込みログ121を、そのパターンにおけるフラッシュメモリ書き込みログ111に追記するように要求する。
信頼性管理モジュール160からの要求に応じて、メモリドライバ150は、RAM120に記憶されているフラッシュメモリ書き込みログ121をフラッシュメモリ110に記憶させる(ステップS52)。
次に、信頼性管理モジュール160は、RAM120に記憶されているフラッシュメモリ書き込みログ121の初期化をメモリドライバ150に要求する。その要求に応じて、メモリドライバ150は、フラッシュメモリ書き込みログ121を初期化する(ステップS53)。なお、ここでの初期化を行う目的は、ステップS43での初期化を行う目的と同様である。
次に、キャッシュ動作の要否を決定する際の動作について、図6に示すフローチャートを参照して説明する。
フラッシュメモリ110内部では、通常、データ書き換え回数(図2においては不図示)が保持されている。このデータ書き換え回数に基づいて、フラッシュメモリ110の寿命(データの正しい書き込み・消去が可能な回数の上限値に達するまでの期間)を予測することができる。
まず、信頼性管理モジュール160は、フラッシュメモリ110で保持されているデータ書き換え回数を、メモリドライバ150を介して取得する(ステップS61)。
次に、信頼性管理モジュール160は、RTC12から現在時刻を取得し、情報処理装置10の動作開示時刻からの経過時間を算出する(ステップS62)。なお、信頼性管理モジュール160は、最初に情報処理装置100の電源が投入された際に、RTC13から現在時刻データを取得しておき、その現在時刻データに示される時刻を情報処理装置10の動作開示時刻として、経過時間を算出する。
次に、信頼性管理モジュール160は、ステップS61で取得したデータ書き換え回数と、ステップS62で算出した経過時間とに基づいてフラッシュメモリ110の単位時間当たりの書き換え回数を算出する。さらに、信頼性管理モジュール160は、所定の閾値(例えば、データの正しい書き込み・消去が可能な回数)と書き換え回数との差分を、算出した単位時間当たりの書き換え回数で除算することで、フラッシュメモリ110の寿命を予測する(ステップS63)。
次に、信頼性管理モジュール160は、予測したフラッシュメモリ110の寿命が、現在時刻から予め設定された情報処理装置10の耐用期限までの残存期間以上であるか否かを判定する(ステップS64)。
フラッシュメモリ110の寿命が情報処理装置10の耐用期限までの残存期間以上であると判定した場合には(ステップS64:Yes)、信頼性管理モジュール160は、キャッシュ動作が不要であると判定し(ステップS65)、処理を終了する。
フラッシュメモリ110の寿命が情報処理装置10の耐用期限までの残存期間未満であると判定した場合には(ステップS64:No)、信頼性管理モジュール160は、キャッシュ動作が必要であると判定する(ステップS66)。この場合、信頼性管理モジュール160は、キャッシュ動作を行うようにメモリドライバ150に要求する。
なお、信頼性管理モジュール160は、上述したステップS61からステップS66までの処理を、例えば、所定の時間間隔で行う。
次に、キャッシュ動作が必要と判定された場合の、新たなアプリケーションの起動が要求された際の動作について、図7に示すフローチャートを参照して説明する。なお、図7においては、アプリケーション170a,170bが実行されている状態において、新たにアプリケーション170nを起動させる旨の要求が入力されたものとする。また、図7において、図4と同様の処理については同じ符号を付し、説明を省略する。
アプリケーション170nを起動させる旨の要求が入力されると、アプリケーション管理モジュール130は、アプリケーション170nを起動させ、新たにアプリケーションを起動させた旨を信頼性管理モジュール160に通知する。
アプリケーション管理モジュール130からの通知を受けて、信頼性管理モジュール160は、RAM120に記憶されているキャッシュデータ122のフラッシュメモリ110への書き込みをメモリドライバ150に要求する(ステップS71)。その要求に応じて、メモリドライバ150は、RAM120に一時的に書き込まれていたキャッシュデータ122を、フラッシュメモリ110の本来の書込み先の論理アドレスに書き込む。
次に、信頼性管理モジュール160は、ステップS41、ステップS42の処理を行う。
次に、信頼性管理モジュール160は、動作中のアプリケーションを示す動作アプリケーション情報の出力をアプリケーション管理モジュール130に要求する。また、信頼性管理モジュール160は、その要求に応じてアプリケーション管理モジュール130から出力された動作アプリケーション情報を取得する(ステップS72)。
次に、信頼性管理モジュール160は、フラッシュメモリ110に記憶されているフラッシュメモリ書き込みログ111を、メモリドライバ150を介して取得する。ここで、信頼性管理モジュール160は、ステップS72で取得した動作アプリケーション情報に示されるアプリケーションに対応するパターンにおけるフラッシュメモリ書き込みログ111が記憶されている場合には、そのパターンにおけるフラッシュメモリ書き込みログ111を、メモリドライバ150を介して取得する(ステップS73)。
信頼性管理モジュール160は、ステップS73で取得したフラッシュメモリ書き込みログ111に基づいて書き込み頻度が高いフラッシュメモリ110の論理アドレスを特定し、その特定した論理アドレスをキャッシュアドレスとして決定する。
上述したように、フラッシュメモリ書き込みログは、データが書込まれた論理アドレスを示す情報が蓄積されたものである。したがって、フラッシュメモリ書き込みログから、図8に示すように、フラッシュメモリ110の各論理アドレスへの書き込み回数を得ることができる。なお、図8において、横軸はフラッシュメモリ110の論理アドレスを示し、縦軸は書き込み回数を示す。
信頼性管理モジュール160は、書き込み回数が所定の閾値T以上の論理アドレスを特定する。ここで、本実施形態においては、図8に示す領域A1,A2,A3に含まれる論理アドレスの書き込み回数が閾値T以上であったとする。信頼性管理モジュール160は、領域A1,A2,A3に含まれる論理アドレスをキャッシュアドレスとして決定する。
図7を再び参照すると、信頼性管理モジュール160は、キャッシュ動作を行う必要があると判定した旨とともに、決定したキャッシュアドレスをメモリドライバ150に通知する(ステップS74)。メモリドライバ150は、通知されたキャッシュアドレスを示すキャッシュアドレス情報をフラッシュメモリ110に記憶させる。
次に、信頼性管理モジュール160は、ステップS43の処理に進む。
上述したように、本実施形態においては、実行中のアプリケーションに応じてキャッシュメモリを決定している。
一般に、アプリケーションの実行状態に応じて頻繁にデータの読み書きが行われる論理アドレスが異なることが多い。そのため、アプリケーションの実行状態を示すパターン毎に、フラッシュメモリ書き込みログを蓄積し、そのフラッシュメモリ書き込みログに応じて、アプリケーションの実行状態に応じてキャッシュアドレスを決定することで、アプリケーションの実行状態に応じて、動的にキャッシュアドレスを変更することができる。
次に、キャッシュ動作が必要と判定された場合の、アプリケーションの終了が要求された際の動作について、図9に示すフローチャートを参照して説明する。なお、図9においては、アプリケーション170a,170bが実行されている状態において、アプリケーション170aを終了させる旨の要求が入力されたものとする。また、図9において、図5と同様の処理については同じ符号を付し、説明を省略する。
アプリケーション170aを起動させる旨の要求が入力されると、アプリケーション管理モジュール130は、アプリケーション170aを終了させ、アプリケーションを終了させた旨を信頼性管理モジュール160に通知する。
アプリケーション管理モジュール130からの通知を受けて、信頼性管理モジュール160は、RAM120に記憶されているキャッシュデータ122のフラッシュメモリ110への書き込みをメモリドライバ150に要求する(ステップS91)。その要求に応じて、メモリドライバ150は、RAM120に一時的に書き込まれていたキャッシュデータ122を、フラッシュメモリ110の本来の書込み先の論理アドレスに書き込む。
次に、信頼性管理モジュール160は、ステップS51、ステップS52の処理を行う。
次に、信頼性管理モジュール160は、動作中のアプリケーションを示す動作アプリケーション情報の出力をアプリケーション管理モジュール130に要求する。また、信頼性管理モジュール160は、その要求に応じてアプリケーション管理モジュール130から出力された動作アプリケーション情報を取得する(ステップS92)。
次に、信頼性管理モジュール160は、フラッシュメモリ110に記憶されているフラッシュメモリ書き込みログ111を、メモリドライバ150を介して取得する。ここで、信頼性管理モジュール160は、ステップS92で取得した動作アプリケーション情報に示されるアプリケーションに対応するパターンにおけるフラッシュメモリ書き込みログ111が記憶されている場合には、そのパターンにおけるフラッシュメモリ書き込みログ111を、メモリドライバ150を介して取得する(ステップS93)。
信頼性管理モジュール160は、ステップS93で取得したフラッシュメモリ書き込みログ111に基づいて書き込み頻度が高いフラッシュメモリ110の論理アドレスを特定し、その特定した論理アドレスをキャッシュアドレスとして決定する。
次に、信頼性管理モジュール160は、キャッシュ動作を行う必要があると判定した旨とともに、決定したキャッシュアドレスをメモリドライバ150に通知する(ステップS94)。メモリドライバ150は、通知されたキャッシュアドレスを示すキャッシュアドレス情報をフラッシュメモリ110に記憶させる。
次に、信頼性管理モジュール160は、ステップS53の処理に進む。
次に、キャッシュ動作が必要と判定された場合の、アプリケーションからフラッシュメモリ110へのデータの書き込みが要求された際の動作について、図10に示すフローチャートを参照して説明する。
アプリケーションからフラッシュメモリ110へのデータの書き込みを要求する旨を示すアクセス要求が出力されると(ステップS101)、アクセス管理部140は、アクセス要求において指定された論理アドレスへのデータの書き込み要求をメモリドライバ150に出力する(ステップS102)。
メモリドライバ150は、信頼性管理ドライバ160からキャッシュ動作が必要であると判定された旨が通知されているため、キャッシュアドレス情報112をフラッシュメモリ110から取得する。また、メモリドライバ150は、アクセス管理部140から入力された書き込み要求において指定された論理アドレスが、取得したキャッシュアドレス情報112に示されるキャッシュアドレスであるか否かを判定する(ステップS103)。すなわち、メモリドライバ150は、キャッシュアドレスの中に、書き込み要求において指定された論理アドレスと一致するものがあるか否かを判定する。
データの書き込み要求において指定された論理アドレスがキャッシュアドレスでないと判定した場合には(ステップS103:No)、メモリドライバ150は、指定されたフラッシュメモリ110の論理アドレスにデータを書き込む(ステップS104)。
次に、メモリドライバ150は、データを書き込んだ論理アドレスを示す情報を、フラッシュメモリ書き込みログ121としてRAM120に蓄積する(ステップS105)。
一方、データの書き込み要求において指定された論理アドレスがキャッシュアドレスであると判定した場合には(ステップS103:No)、メモリドライバ150は、RAM120にキャッシュデータ122として書き込む(ステップS106)。
なお、メモリドライバ150は、フラッシュメモリ110の同一の論理アドレスを指定した書き込み要求が複数回入力された場合には、書き込み要求が入力されるたびに、前回の書き込み要求に応じてRAM120に書き込んだデータを、今回の書き込み要求において要求されたデータに書き換える。
こうすることで、キャッシュデータ122をフラッシュメモリ110に書き込む際には、最新のデータをフラッシュメモリ110に書き込むことができる。
なお、メモリドライバ150は、フラッシュメモリ110の同一の論理アドレスを指定した書き込み要求が複数回入力された場合に、各書き込み要求に応じたデータをRAM120のそれぞれ異なるアドレスに書き込むとともに、書き込み要求において指定されたフラッシュメモリ110の論理アドレスと、データを書き込んだRAM120のアドレスとを対応付けて、RAM120などに記憶させておき、キャッシュデータ122をフラッシュメモリ110に書き込む際には、最新のデータをフラッシュメモリ110に書き込むようにしてもよい。
次に、キャッシュ動作が必要と判定された場合の、アプリケーションからフラッシュメモリ110に記憶されたデータの読み出しが要求された際の動作について、図11に示すフローチャートを参照して説明する。
アプリケーションからフラッシュメモリ110に記憶されているデータの読み出しを要求する旨を示すアクセス要求が出力されると(ステップS111)、アクセス管理部140は、そのアクセス要求において指定された論理アドレスからのデータの読み出し要求をメモリドライバ150に出力する(ステップS112)。
メモリドライバ150は、信頼性管理ドライバ160からキャッシュ動作が必要であると判定された旨が通知されているため、キャッシュアドレス情報112をフラッシュメモリ110から取得する。また、メモリドライバ150は、アクセス管理部140から入力された読み出し要求において指定された論理アドレスが、取得したキャッシュアドレス情報112に示されるキャッシュアドレスであるか否かを判定する(ステップS113)。すなわち、メモリドライバ150は、キャッシュアドレスの中に、読み出し要求において指定された論理アドレスと一致するものがあるか否かを判定する。
読み出し要求において指定された論理アドレスがキャッシュアドレスでないと判定した場合には(ステップS113:No)、メモリドライバ150は、指定されたフラッシュメモリ110の論理アドレスからデータを読み出す(ステップS114)。
一方、読み出し要求において指定された論理アドレスがキャッシュアドレスであると判定した場合には(ステップS113:Yes)、メモリドライバ150は、指定されたフラッシュメモリ110の論理アドレスに対応付けられたRAM120のアドレスからデータを読み出す(ステップS115)。
アクセス管理部140は、メモリドライバ150が読み出したデータをアクセス要求の出力元のアプリケーション(アプリケーション170a)に出力する。
このように、本実施形態によれば、記憶装置100は、記憶手段としてフラッシュメモリ110およびRAM120を有し、フラッシュメモリ110の論理アドレス毎の書き込み頻度に応じて、フラッシュメモリ110のアドレスからキャッシュアドレスを決定する。また、記憶装置100は、フラッシュメモリ110のアドレスを指定したデータの書き込み要求が入力されると、指定されたアドレスがキャッシュアドレスであるか否かを判定し、指定されたアドレスがキャッシュアドレスであると判定した場合には、データをRAM120に書き込む。
フラッシュメモリ110を書き込み先とするデータをRAM120に書き込む(退避させる)ことで、フラッシュメモリ110へのデータの書き込み回数を減らすことができるので、フラッシュメモリ110の長寿命化を図ることができる。
なお、本実施形態においては、データの正しい書き込み・消去が可能な回数が限られる記憶手段がフラッシュメモリである例を用いて説明したが、これに限られるものではない。データの正しい書き込み・消去が可能な回数が限られる記憶手段としては、EEPROM(Electrically Erasable Programmable Read Only Memory)などがある。
また、本実施形態においては、フラッシュメモリ110を書き込み先とするデータを退避させるための記憶手段(キャッシュ側の記憶手段)として、揮発性メモリであるRAMを用いる例を用いて説明したが、これに限られるものではない。キャッシュ側の記憶手段としては、フラッシュメモリやEEPROMなどと比べて、データの正しい書き込み・消去が可能な回数の制限が問題とならない記憶手段、例えば、SRAM(Static Random Access Memory)、磁気抵抗メモリ(MRAM:Magnetoresistive Random Access Memory)、抵抗変化型メモリ(ReRAM:Resistance Random Access Memory)、強誘電体メモリ(FeRAM:Ferroeletric Random Access Memory)、磁気ディスクなど、種々の記憶手段を用いることができる。
また、本実施形態においては、新たなアプリケーションの起動時、あるいは、アプリケーションの終了時にキャッシュデータをフラッシュメモリ110に書き込む例を用いて説明したが、これに限られるものではない。例えば、キャッシュ動作の開始後、所定時間ごとに、キャッシュデータをフラッシュメモリ110に書き込むようにしてもよい。
また、本実施形態においては、予測したフラッシュメモリ110の寿命が、情報処理装置10の耐用期限までの残存期間未満である場合にキャッシュ動作を行う例を用いて説明したが、これに限られるものではない。例えば、書き込み頻度に応じたキャッシュアドレスを決定する処理を記憶装置100の起動開示時から行うようにしてもよい。
なお、書き込み頻度が高いフラッシュメモリ130の論理アドレスは予測することができる。例えば、頻繁に書き換えられるデータ(ファイル)が書込まれる論理アドレスの書き込み頻度(書き込み回数)は高くなると考えられる。したがって、フラッシュメモリ書き込みログを用いなくても、書き込み頻度が高い論理アドレスを予測し、キャッシュメモリとして決定することが可能である。このような動作を行う情報処理装置10Aの構成を、図10に示す機能ブロック図を参照して説明する。なお、図10において、図2と同様の構成については同じ符号を付し、説明を省略する。
図10に示す情報処理装置10Aは、図2に示す情報処理装置10比較して、アクセス管理部140をアクセス管理部220に変更した点と、メモリドライバ150をメモリドライバ220に変更した点と、信頼性管理モジュール160を信頼性管理モジュール230に変更した点とが異なる。また、情報処理装置10Aにおいては、情報処理装置10と比較して、フラッシュメモリ110が、フラッシィメモリ書き込みログ111およびキャッシュアドレス情報112を記憶していない点と、RAM120が、フラッシュメモリ書き込みログ121およびキャッシュデータ122を記憶しておらず、ファイルデータ123およびファイル書き込みログ124を記憶している点と、が異なる。なお、図10においては、図2においては記載を省略した通信ユニット13も記載している。
ファイルデータ123は、アプリケーションがアクセスするファイルであり、本来、フラッシュメモリ110に記憶されるデータであるが、キャッシュ動作のために、RAM120に書き込まれたファイルである。ファイルデータ123は、図2におけるキャッシュデータに相当する。
ファイル書き込みログ124は、アプリケーションがアクセスしたファイルを示す情報が蓄積されたログである。ファイル書き込みログ124は、アプリケーション毎に蓄積される。
アクセス管理部210は、アプリケーションからファイルの書き込み要求する旨を示すアクセス要求が出力されると、RAM120に記憶されている、そのアプリケーションに対応するファイル書き込みログ124に書込みが要求されたファイルを示す情報を蓄積する。
また、アクセス管理部210は、アクセス要求において指定されたファイルの書き込み要求をメモリドライバ220に出力する。
メモリドライバ220は、ファイルの書き込み要求がアクセス管理部210から出力されると、そのファイルがキャッシュ動作の対象であるか否かを判定する。また、メモリドライバ220は、書き込みが要求されたファイルがキャッシュ動作の対象でないと判定した場合には、そのファイルをフラッシュメモリ110に書き込む。一方、メモリドライバ220は、書き込みが要求されたファイルがキャッシュ動作の対象でないと判定した場合には、そのファイルをファイルデータ123としてRAM120に書き込む。
信頼性管理モジュール230は、RAM120に記憶されているファイル書き込みログ124を、アクセス管理部230を介して取得し、取得したファイル書き込みログ124に基づいて、キャッシュ動作の対象とするファイルを決定する。ここで、信頼性管理モジュール230は、書き込み頻度が高いファイルをキャッシュ動作の対象として決定する。また、信頼性管理モジュール230は、キャッシュ動作の対象として決定したファイルをメモリドライバ220に通知し、キャッシュ動作を行わせる。
なお、ファイル書き込みログ124に基づいてキャッシュ動作の対象とするファイルを信頼性管理モジュール230が決定する例を用いて説明したが、これに限られるものではない。
例えば、情報処理装置10Aの外部で、アプリケーション毎にファイルへのアクセスを解析して書き込み頻度が高いファイルを特定し、その特定したファイルを示す情報を、通信ユニット13を介して、信頼性管理モジュール230に送信するようにしてもよい。この場合、信頼性管理モジュール230は、通信ユニット13を介して送信されてきた情報に示されるファイルをキャッシュ動作の対象として決定する。
(第2の実施形態)
図13は、本発明の第2の実施形態の記憶装置300の構成を示すブロック図である。
図13に示す記憶装置300は、第1のメモリ310と、第2のメモリ320と、入出力部330と、制御部340と、を有する。
第1のメモリ310は、記憶装置300が組み込まれた情報処理装置が有するCPUが実行する各種制御用プログラムや固定データなどを記憶する。
なお、第1のメモリ310の具体例としては、フラッシュメモリ、EEPROMなどがある。これらのメモリでは、一般に、データの正しい書き込み・消去が可能な回数が限られている。
第2のメモリ320は、記憶装置300が組み込まれた情報処理装置が有するCPUがアプリケーションを実行する際に必要となるデータや、アプリケーションの実行に応じた画像を情報処理装置が有する表示部に表示させるためのデータなどを記憶する。また、第2のメモリ320は、ワークメモリとしても使用される。
なお、第2のメモリ320の具体例としては、DRAM、SRAM、磁気抵抗メモリ、抵抗変化型メモリ、強誘電体メモリ、磁気ディスクなどがある。これらのメモリでは、一般に、フラッシュメモリやEEPROMと比べて、データの正しい書き込み・消去が可能な回数の制限が問題とならない。
入出力部330は、第1のメモリ310あるいは第2のメモリ320へのデータの書き込みや読み出しを行う。
制御部340は、第1のメモリ310のアドレス毎のデータの書き込み頻度を監視し、監視の結果に応じて、第1のメモリ310のアドレスのうち、キャッシュ動作の対象となるアドレスであるキャッシュアドレスを決定する。
なお、入出力部330は、第1のメモリ310へのデータの書き込みを行うごとに、データの書き込みを行った第1のメモリ310の論理アドレスを示す情報を、例えば、第2のメモリ320に蓄積させている。制御部340は、この蓄積された情報を入出力部330を介して取得することで、第1のメモリ310のアドレス毎のデータの書き込み頻度を監視することができる。
次に、本実施形態の記憶装置200の動作について説明する。
まず、制御部340は、第1のメモリ310のアドレス毎のデータの書き込み頻度の監視結果に応じて、第1のメモリ310のアドレスのうち、キャッシュ動作の対象となるアドレスであるキャッシュアドレスを決定する。なお、制御部340は、例えば、書き込み頻度が所定の閾値以上である論理アドレスをキャッシュアドレスとして決定する。
入出力部330は、制御部340がキャッシュアドレスを決定した後に、第1のメモリの論理アドレスを指定したデータの書き込み要求が入力されると、その指定された論理アドレスがキャッシュアドレスであるか否かを判定する。
データの書き込み要求において指定された論理アドレスがキャッシュアドレスであると判定した場合には、入出力部330は、そのデータを第2のメモリ320に書き込む。一方、データの書き込み要求において指定された論理アドレスがキャッシュアドレスでないと判定した場合には、入出力部330は、そのデータを第1のメモリ310の指定されたアドレスに書き込む。
このように、本実施形態によれば、記憶装置200は、記憶手段として第1のメモリ310および第2のメモリ320を有し、第1のメモリ310のアドレス毎の書き込み頻度に応じて、第1のメモリ310のアドレスからキャッシュアドレスを決定する。また、記憶装置200は、第1のメモリ310のアドレスを指定したデータの書き込み要求が入力されると、指定されたアドレスがキャッシュアドレスであるか否かを判定し、指定されたアドレスがキャッシュアドレスであると判定した場合には、データを第2のメモリ320に書き込む。
第1のメモリ310を書き込み先とするデータを第2のメモリ320に書き込む(退避させる)ことで、第1のメモリ310へのデータの書き込み回数を減らすことができるので、第1のメモリ310の長寿命化を図ることができる。
本発明に係る記憶装置にて行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
10,10A 情報処理装置
11 CPU
12 RTC
13 通信ユニット
14 バス
100,300 記憶装置
110 フラッシュメモリ
120 RAM
130 アプリケーション管理モジュール
14,2100 アクセス管理部
150,220 メモリドライバ
160,230 信頼性管理モジュール
310 第1のメモリ
320 第2のメモリ
330 入出力部
340 制御部

Claims (8)

  1. 第1のメモリと、
    第2のメモリと、
    前記第1のメモリおよび前記第2のメモリへのデータの読み書きを行う入出力部と、
    前記第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記第2のメモリに書き込むアドレスであるキャッシュアドレスを決定する制御部と、を有し、
    前記入出力部は、前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込むことを特徴とする記憶装置。
  2. 請求項1記載の記憶装置において、
    前記第1のメモリおよび前記第2のメモリには、複数のアプリケーションの実行に応じたデータが書き込まれ、
    前記制御部は、前記アプリケーションの実行状態毎に、該実行状態における前記第1のメモリのアドレス毎のデータの書き込み頻度を監視し、前記キャッシュアドレスを決定する際には、その時点でのアプリケーションの実行状態における前記第1のメモリのアドレス毎のデータの書き込み頻度の監視の結果に応じて、前記キャッシュアドレスを決定することを特徴とする記憶装置。
  3. 請求項2記載の記憶装置において、
    前記入出力部は、前記アプリケーションの起動時あるいは終了時に、前記第1のメモリの同一のアドレスを書き込み先とし、前記第2のメモリに書き込まれたデータのうち最新のデータを前記アドレスへ書き込むことを特徴とする記憶装置。
  4. 請求項1または2記載の記憶装置において、
    前記入出力部は、前記第1のメモリの同一のアドレスを書き込み先とし、所定期間内に前記第2のメモリに書き込まれたデータのうち最新のデータを、前記所定期間の経過後に、前記アドレスへ書き込むことを特徴とする記憶装置。
  5. 請求項1から4のいずれか1項に記載の記憶装置において、
    前記制御部は、前記書き込み頻度が所定の閾値以上のアドレスを前記キャッシュアドレスと決定することを特徴とする記憶装置。
  6. 請求項1から5のいずれか1項に記載の記憶装置において、
    前記制御部は、前記第1のメモリへの単位時間当たりのデータの書き込み回数に基づいて前記第1のメモリの寿命を推測し、該推測した寿命が予め定められた期限までの残存期間に満たない場合に、前記キャッシュアドレスを決定することを特徴とする記憶装置。
  7. 記憶装置の制御方法であって、
    前記記憶装置が備える第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記記憶装置が備える第2のメモリに書き込むアドレスであるキャッシュアドレスを決定し、 前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込むことを特徴とする記憶装置の制御方法。
  8. 記憶装置に、
    前記記憶装置が備える第1のメモリのアドレス毎のデータの書き込み頻度を監視し、該監視の結果に応じて、前記第1のメモリのアドレスであって、該アドレスを書き込み先とするデータを前記記憶装置が備える第2のメモリに書き込むアドレスであるキャッシュアドレスを決定する処理と、
    前記第1のメモリのアドレスを指定したデータの書き込み要求が入力されると、前記指定されたアドレスが前記キャッシュアドレスである場合には、前記データを前記第2のメモリに書き込む処理と、を実行させるプログラム。
JP2013081183A 2013-04-09 2013-04-09 記憶装置とその制御方法、および、プログラム Pending JP2014203381A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013081183A JP2014203381A (ja) 2013-04-09 2013-04-09 記憶装置とその制御方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013081183A JP2014203381A (ja) 2013-04-09 2013-04-09 記憶装置とその制御方法、および、プログラム

Publications (1)

Publication Number Publication Date
JP2014203381A true JP2014203381A (ja) 2014-10-27

Family

ID=52353739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013081183A Pending JP2014203381A (ja) 2013-04-09 2013-04-09 記憶装置とその制御方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP2014203381A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326138A (zh) * 2015-07-03 2017-01-11 比亚迪股份有限公司 闪存及闪存内部数据的存取控制方法
US9703496B2 (en) 2015-01-27 2017-07-11 Nec Corporation Information processing device, information processing method, and medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703496B2 (en) 2015-01-27 2017-07-11 Nec Corporation Information processing device, information processing method, and medium
CN106326138A (zh) * 2015-07-03 2017-01-11 比亚迪股份有限公司 闪存及闪存内部数据的存取控制方法
CN106326138B (zh) * 2015-07-03 2019-11-05 比亚迪股份有限公司 闪存及闪存内部数据的存取控制方法

Similar Documents

Publication Publication Date Title
JP6521692B2 (ja) 不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法
US20100125696A1 (en) Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
US8347024B2 (en) Memory system monitoring data erasing time or writing time
US20140078344A1 (en) Device and method processing continuous shooting image data
KR102188628B1 (ko) 수명 종료 상태에 도달할 경우, 솔리드 스테이트 메모리로의 기록들을 제한하기 위한 방법 및 장치
US11132143B2 (en) Universal flash storage (UFS) device and computing device and computing device including storage UFS device for reporting buffer size based on reuse time after erase
US11144225B2 (en) Memory system, memory controller, and operation method thereof utilizing at least first and second operational modes
KR20100133710A (ko) 메모리 시스템 및 그것의 코드 데이터 로딩 방법
TW201918885A (zh) 記憶體系統及非揮發性記憶體之控制方法
JP4017178B2 (ja) フラッシュメモリ及びメモリ制御方法
TW201915754A (zh) 資料儲存裝置及其操作方法
KR20160007988A (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
CN112749101A (zh) 控制器和存储器系统
CN108958643B (zh) 数据存储装置及其操作方法
CN107958690B (zh) 数据存储装置及其操作方法
JP2015118423A (ja) リフレッシュ装置及び電子機器
JP4701807B2 (ja) メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム
JP6150669B2 (ja) 情報処理装置、画像形成装置、及びその制御方法
JP2014203381A (ja) 記憶装置とその制御方法、および、プログラム
KR20170139730A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN107919152B (zh) 数据存储装置及其操作方法
CN113535078B (zh) 控制器、控制器的操作方法以及存储器系统
JP6636930B2 (ja) フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム
JP4710056B2 (ja) 情報処理装置、フラッシュメモリ管理方法およびフラッシュメモリ管理プログラム
TW201409468A (zh) 記憶體資料處理系統及方法