(57)【要約】【課題】記憶装置の状態によっては書き込み性能が変動することがある記憶装置を採用する情報機器において、情報機器全体として動作効率の変動、応答性の変動を低減する。【解決手段】制御部はプロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともにバッファ回路に記憶されたデータ量が基準値に達するとそのバッファ回路のデータを前記メモリへ書き込む。そして、制御部はメモリへのデータの書込性能に応じて基準値を増減する。【選択図】図２
2018060321.tif 000002
【特許請求の範囲】
【請求項１】
メモリにアクセスする制御部を備え、
前記制御部は、
前記メモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行するメモリ制御装置。
【請求項２】
前記基準値を増減することは、前記書込性能が所定限度を超えて劣化した場合に前記基準値を減少させることと、
前記書込性能が所定限度を超えて改善した場合に前記基準値を増加させることと、を含む請求項１に記載のメモリ制御装置。
【請求項３】
前記基準値を増減することは、前記書込性能が所定値以下の範囲に劣化したときに前記基準値を減少させることと、
前記書込性能が所定値を超える範囲に改善したときに前記基準値を増加させることと、を含む請求項１または２に記載のメモリ制御装置。
【請求項４】
前記基準値を増減することは、前記書込性能の指標値を記憶することと、
前記書込性能が前記指標値から所定以上劣化したときに前記基準値を減少させるとともに前記劣化した書込性能で指標値を更新することと、
前記書込性能が前記指標値から所定以上改善したときに前記基準値を増加させるとともに前記改善した書込性能で指標値を更新することと、
を含む請求項１から３のいずれか１項に記載のメモリ制御装置。
【請求項５】
前記制御部は、前記バッファ回路のデータを前記メモリへ書き込むときに前記書込性能を測定する請求項１から４のいずれか１項に記載のメモリ制御装置。
【請求項６】
前記制御部は、前記メモリから前記書込性能を取得する請求項１から５のいずれか１項に記載のメモリ制御装置。
【請求項７】
プロセッサと、
メモリと、を備え、
前記プロセッサは、
前記プロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行する情報処理装置。
【請求項８】
制御部が、
前記プロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行するメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置、情報処理装置、およびメモリ制御方法に関する。
【背景技術】
【０００２】
近年、低価格の携帯情報機器、あるいは情報機器、例えば、スマートフォンやスマートウォッチが普及している。このような情報機器として、低容量・低性能のｅＭＭＣ（Ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉ  Ｍｅｄｉａ  Ｃａｒｄ）を搭載したデバイスが普及している。しかし、ｅＭＭＣは、残容量が少ないと記憶領域が断片化し、書き込み性能が劣化する状態に陥りやすい。書き込み性能が劣化すると、操作時に一定時間フリーズするなどの問題が発生してしまうこともある。ｅＭＭＣ以外にも、例えば、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ（ＳＤカード）等他の記憶装置においても、同様の問題が生じる可能性は否定できない。
【０００３】
通常、ｅＭＭＣなどの記憶装置への書き込みは時間がかかるため、ライトキャッシュと呼ばれる一時記憶装置が採用されている。ライトキャッシュでは、高速なＳＤＲＡＭなどが使用され、書き込まれるデータが一旦ライトキャッシュに記憶されると、書き込み要求元へ完了の応答が返される。そして、ライトキャッシュで記憶されたデータが予め決めておいたデータ量を超えるなどの条件により記憶装置への書き込みがまとめて実行される。ライトキャッシュを採用する記憶装置は、このような処理によって、情報機器の動作効率・応答性を改善している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２８６９０号公報
【特許文献２】特開２０１３−２０６３０７号公報
【特許文献３】特開２０１４−５９８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ｅＭＭＣなどのように、残容量等で例示される記憶装置の状態によって書き込み性能が変動する記憶装置の場合、記憶装置の状態を考慮しないで同じ条件で記憶装置への書き込みがなされると、記憶装置の状態によっては書き込みに長時間かかる場合がある。その結果として記憶装置を有する情報機器全体の動作効率、あるいは応答性が低下してしまう。このような動作効率あるいは応答性の低下が利用者の操作時に発生すると、その間情報機器がフリーズしたように見えてしまう問題があった。
【０００６】
１つの側面では、本発明の目的は、記憶装置の状態によっては書き込み性能が変動することがある記憶装置を採用する情報機器において、動作効率の変動、応答性の変動を抑制することにある。
【課題を解決するための手段】
【０００７】
一つの側面では、本発明は、メモリにアクセスする制御部を備えるメモリ制御装置によって例示される。この制御部はメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータ量が基準値に達すると前記バッファ回路のデータを前記メモリへ書き込むことと、前記メモリへのデータの書込性能に応じて前記基準値を増減することとを実行する。
【発明の効果】
【０００８】
本メモリ制御装置によれば、記憶装置の状態によっては書き込み性能が変動することがある記憶装置を採用する情報機器において、動作効率の変動、応答性の変動を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】携帯端末の構成を例示する図である。
【図２】メモリ制御部の構成を例示する図である。
【図３】制御部の機能構成を示すブロック図である。
【図４】実施形態１に係る処理を例示するフローチャートである。
【図５】実施形態２に係る処理を例示するフローチャートである。
【図６】実施形態３に係る機能構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施の形態に係るメモリ制御装置について説明する。以下の実施の形態の構成は例示であり、本メモリ制御装置は実施の形態の構成には限定されない。
［実施形態１］
【００１１】
図１に、本実施形態のメモリ制御部１０２を含む携帯端末１の構成を例示する。なお、メモリ制御部１０２は携帯端末１に限定されず、様々な情報機器、情報処理装置等に適用可能である。図１のように、携帯端末１は、ＣＰＵ１０１と、メモリ制御部１０２と、記憶部１０３と、タッチパネル１０４と、ディスプレイ１０５と、バッテリ１０６と、無線通信部１０７と、アンテナ１１１と、オーディオ入出力部１０８と、スピーカー１０９と、マイクロフォン１１０を有する。
【００１２】
ＣＰＵ１０１は、メモリ制御部１０２を介して記憶部１０３にアクセスする。ＣＰＵ１０１は、記憶部１０３に実行可能に展開されたコンピュータプログラムにしたがって携帯端末１としての処理を実行する。ＣＰＵ１０１はプロセッサの一例である。ＣＰＵ１０１は制御部の一例でもある。
【００１３】
メモリ制御部１０２は、ＣＰＵ１０１からの指令により、記憶部１０３にデータを書き込むとともに、記憶部１０３からデータを読み出す。メモリ制御部１０２は、メモリ制御装置の一例である。
【００１４】
記憶部１０３は、例えば、ｅＭＭＣ１０３ＡとＳｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＤＲＡＭ）１０３Ｂを含む。なお、記憶部１０３は、ｅＭＭＣ１０３Ａを有するものに限定される訳ではない。例えば、記憶部１０３は、ｅＭＭＣ１０３Ａの代わりに、ＳＤカード規格の組み込み型のメモリカード、フラッシュメモリ等を備えるようにしてもよい。また、ＳＤＲＡＭ１０３Ｂに代えて他のメモリ、例えば、Ｓｔａｔｉｃ  ＲＡＭ（ＳＲＡＭ）を設けてもよい。記憶部１０３のｅＭＭＣ１０３Ａ、あるいは、ｅＭＭＣ１０３Ａに代わるＳＤカード等は、メモリの一例である。
【００１５】
タッチパネル１０４は、ディスプレイ１０５に搭載され、利用者によるディスプレイ上のグラフィックスオブジェクトへの操作を検知し、検知した操作をＣＰＵ１０１に通知する。ディスプレイ１０５は、ＣＰＵ１０１の処理にしたがって生成されるグラフィックスオブジェクト、文字、画像その他の情報を表示する。
【００１６】
バッテリ１０６は、例えば二次電池であり、携帯端末１の各部に電力を供給する。オー
ディオ入出力部１０８は、ＣＰＵ１０１の処理にしたがって生成されるディジタル音データから音を再生し、スピーカー１０９から出力する。また、オーディオ入出力部１０８は、マイクロフォン１１０から入力される音からディジタル音データを生成し、ＣＰＵ１０１に供給する。
【００１７】
通信部１０７は、アンテナ１１１を通じて、無線通信網にアクセスし、無線通信網を介して授受される通信データを処理する。通信部１０７は、例えば、携帯電話網にアクセスする通信装置、無線Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等にアクセスする通信装置である。
【００１８】
図２に、メモリ制御部１０２の構成を例示する。図２では、メモリ制御部１０２に接続されるＣＰＵ１０１および記憶部１０３も例示されている。図のように、メモリ制御部１０２は、制御部１０２Ａと、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１０２Ｂと、ＣＰＵインターフェース１０２Ｃと、メモリインターフェース１０２Ｄを有する。
【００１９】
制御部１０２Ａは、ＣＰＵ等を有し、ＲＯＭ１０２Ｂに格納されたファームウェアにしたがって、メモリ制御部１０２の処理を実行する。制御部１０２Ａは、制御部の一例である。ＲＯＭ１０２Ｂはメモリ制御部１０２Ａが実行するファームウェアを格納する。なお、メモリ制御部１０２内にＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）を設けてもよい。ＲＯＭ１０２Ｂ内のファームウェアがＲＡＭにロードされるようにしてもよい。また、ＲＯＭ１０２Ｂがメモリ制御部１０２の外で携帯端末１内に設けられてもよい。例えば、携帯端末１の電源投入時に、ＣＰＵ１０１がメモリ制御部１０２のＲＡＭにファームウェアをロードするようにしてもよい。
【００２０】
ＣＰＵインターフェース１０２Ｃは、ＣＰＵ１０１に接続されるバスとのインターフェースである。また、メモリインターフェース１０２Ｄは、記憶部１０３とのインターフェースである。メモリインターフェース１０２Ｄは、例えば、データバス、アドレスバス、および記憶部１０３との間の制御信号ラインを含む。図２では、１つのメモリインターフェース１０２ＤがｅＭＭＣ１０３Ａ、およびＳＤＲＡＭ１０３Ｂに接続されているが、ｅＭＭＣ１０３Ａ、およびＳＤＲＡＭ１０３Ｂのそれぞれと接続される２つのメモリインターフェース１０２Ｄを設けてもよい。
【００２１】
図３は、メモリ制御部１０２内の制御部１０２Ａの機能構成を示すブロック図である。図では、制御部１０２Ａとともに、ＣＰＵ１０１、ｅＭＭＣ１０３Ａ、およびＳＤＲＡＭ１０３Ｂも例示されている。
【００２２】
図のように、制御部１０２Ａは、例えば、メモリ入出力部１２、メモリ性能監視部１３、メモリ性能判定部１４としてファームウェアを実行する。メモリ入出力部１２、メモリ性能監視部１３、メモリ性能判定部１４は、ファームウェアに含まれるモジュールに対応する構成とすることもできる。
【００２３】
メモリ入出力部１２は、ＣＰＵ１０１からの要求にしたがって、ｅＭＭＣ１０３Ａに対するデータの書き込みおよび読み出しを実行する。このとき、ＳＤＲＡＭ１０３Ｂの一部は書込バッファであるライトキャッシュ１７として使用される。ＳＤＲＡＭ１０３Ｂのライトキャッシュ１７はバッファ回路の一例である。メモリ入出力部１２は、メモリ性能監視部１３およびメモリ性能判定部１４の処理にしたがって設定される閾値を用いて、ライトキャッシュ１７に格納するデータ量を制御する。例えば、メモリ入出力部１２は、ｅＭＭＣ１０３Ａへの書き込み時にＳＤＲＡＭ１０３Ｂのライトキャッシュ１７に一旦ＣＰＵ１０１からの書込データを格納する。そして、ライトキャッシュ１７に書き込み済みのデータ量が予め決めておいた閾値を超えた場合に、メモリ入出力部１２は、ライトキャッシ
ュ１７のデータをｅＭＭＣへ書き込む。したがって、閾値はライトキャッシュ１７の記憶容量、すなわち、記憶データサイズを決定する。閾値は基準値の一例である。以下、各部の処理を説明する。
【００２４】
（１）メモリ性能監視部１３により監視しているｅＭＭＣ１０３Ａの書き込み性能が特定の性能以下に劣化したとメモリ性能判定部１４により判断された場合に、メモリ入出力部１２はライトキャッシュ１７の閾値を小さくする。
【００２５】
（２）メモリ性能監視部１３により監視しているｅＭＭＣ１０３Ａの書き込み性能が特定の性能以上に改善したとメモリ性能判定部１４により判断された場合に、メモリ入出力部１２はライトキャッシュ１７の閾値を大きくする。
【００２６】
（３）メモリ性能監視部１３は、ライトキャッシュ１７のデータをｅＭＭＣ１０３Ａへ書き込むときのスループットを測定する。ただし、メモリ性能監視部１３は、ｅＭＭＣ１０３Ａからのバックグラウンドオペレーション（ＢＫＯＰＳ）の要求に含まれる情報（レベルという）によってメモリ性能の監視を行うようにしてもよい。ＢＫＯＰＳは、ｅＭＭＣ１０３Ａが記憶領域の断片化等による性能劣化状態になった場合にｅＭＭＣ１０３Ａ自身が実行する記憶領域の整理処理である。
【００２７】
ｅＭＭＣ１０３Ａは、記憶領域の断片化が所定の限度まで進んだと判断した場合、上位装置、例えば、メモリ制御部１０２、ＣＰＵ１０１等に対して、ＢＫＯＰＳの要求を通知する。ＢＫＯＰＳの要求は、例えば、ｅＭＭＣ１０３Ａへの書き込み要求に対する応答とともに上位装置に通知される。ＢＫＯＰＳの要求には、記憶領域の断片化の程度を示すレベルと呼ばれる情報が含まれている。上位装置は、ＢＫＯＰＳの要求を受け取ると、レベルに応じて、ＢＫＯＰＳの実行指令をｅＭＭＣ１０３Ａに通知する。メモリ性能監視部１３は、ＢＫＯＰＳの要求に含まれるレベルを取得すればよい。
【００２８】
（４）メモリ性能判定部１４は、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込み時のスループット（以下、書き込みスループット）の良否を判断するための指標値を保持する。指標値の初期値は、ｅＭＭＣ１０３Ａが初期化された状態に対応する、書き込みスループットの最良値に設定される。そして、メモリ性能判定部１４は、メモリ性能監視部１３から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上（例えば、１０％以上）悪化した場合に、書き込みスループットが特定の性能以下に劣化したと判断する。また、このときの書き込みスループットで指標値を更新する。
【００２９】
（５）一方、メモリ性能監視部１３から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上（例えば、１０％以上）改善した場合に、書き込みスループットが特定の性能以上に改善したと判断する。また、このときの書き込みスループットで指標値を更新する。
【００３０】
（６）以上のようにして、書き込みスループットの改善または劣化により、メモリ入出力部１２がライトキャッシュ１７の閾値を変更すると、書込みスループットの指標値が更新される。
（７）前記メモリ性能判定部１４は、メモリ性能監視部１３から通知されたＢＫＯＰＳレベルが２または３の場合に、特定の性能以下に劣化したと判断する。
【００３１】
なお、本実施の形態において、ＣＰＵ１０１、あるいはメモリ制御部１０２の制御部１０２Ａが有するＣＰＵは、ＭＰＵ（Microprocessor）とも呼ばれる。ＣＰＵは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一の
ソケットで接続される単一のＣＰＵがマルチコア構成を有していても良い。
【００３２】
上記メモリ入出力部１２、メモリ性能監視部１３、メモリ性能判定部１４の各部の少なくとも一部の処理は、ＣＰＵ以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit（GPU）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、上記各部の少なくとも一部の処理は、集積回路（ＩＣ）、その他のディジタル回路であっても良い。また、上記各部の少なくとも一部にアナログ回路が含まれても良い。集積回路は、ＬＳＩ，Application Specific Integrated Circuit（ASIC），プログラマブルロジックデバイス（ＰＬＤ）を
含む。ＰＬＤは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記各部は、
プロセッサと集積回路との組み合わせであっても良い。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ），ＳｏＣ（System-on-a-chip），システムＬＳＩ，チップセットなどと呼ばれる。したがって、本実施形態で、制御部という場合には、上記ＣＰＵ、プロセッサ、ディジタル回路、アナログ回路、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ、ＭＣＵ、ＳｏＣ等のいずれかまたはこれら２以上の組み合わせを含む。
【００３３】
図４は、メモリ制御部１０２の処理を例示するフローチャートである。図４の処理は、メモリ制御方法ということもできる。メモリ制御部１０２の制御部１０２Ａは、図３に例示したメモリ入出力部１２、メモリ性能監視部１３、メモリ性能判定部１４として、例えばＲＯＭ１０２Ｂに格納されたファームウェアを実行する。図４で、Ｓ１からＳ４の処理は、メモリ入出力部１２に対応する処理である。なお、図４の処理の開始前、Ｓ６、Ｓ７で参照される指標値は、最良値（例えば、ｅＭＭＣ１３Ａが初期化された状態であってスループットの最良値）に初期設定されている。
【００３４】
制御部１０２Ａは、ＣＰＵインターフェース１０２Ｃを介してＣＰＵ１０１のメモリ書き込みが発生するか否かを監視する（Ｓ１）。メモリ書き込みが発生すると、制御部１０２Ａは、書き込みデータをＳＤＲＡＭ１０３Ｂのライトキャッシュ１７へ格納する（Ｓ２）。Ｓ２の処理は、メモリに書込まれるデータをバッファ回路に記憶することの一例である。さらに、制御部１０２Ａは、ライトキャッシュ１７に格納されたデータ量が閾値以上か否かを判定する（Ｓ３）。そして、ライトキャッシュ１７に格納されたデータ量が閾値以上でない場合、制御部１０２Ａは、処理をＳ１に戻す。一方、ライトキャッシュ１７に格納されたデータ量が閾値以上の場合、制御部１０２Ａは、ライトキャッシュ１７のデータをｅＭＭＣ１０３Ａに書き込む（Ｓ４）。Ｓ３の判定で、ＹＥＳの場合は、バッファ回路に記憶されたデータの量が基準値に達することの一例である。Ｓ４の処理は、バッファ回路に記憶されたデータの量が基準値に達するとバッファ回路に記憶されたデータをメモリへ書き込むことの一例である。
図４で、Ｓ５の処理は、メモリ性能監視部１３に対応する処理である。また、Ｓ６からＳ１０の処理は、メモリ性能判定部１４に対応する処理である。
【００３５】
Ｓ４でのｅＭＭＣ１０３Ａへの書き込み時、制御部１０２Ａは、書き込みスループットを測定する（Ｓ５）。Ｓ５の処理は、バッファ回路のデータをメモリへ書き込むときに書込性能を測定することの一例でもある。
【００３６】
次に、制御部１０２Ａは、今回測定されたスループットが指標値から所定値以上（例えば、１０％以上）劣化した値であるか否かを判定する（Ｓ６）。今回測定されたスループットが指標値から所定値以上劣化した値である場合に、制御部１０２Ａは、ライトキャッシュ１７の閾値を下げる（Ｓ９）。そして、制御部１０２Ａは、今回測定されたスループットで指標値を更新する（Ｓ１０）。Ｓ６でＹＥＳの場合は、書込性能が指標値から所定以上劣化したときの一例である。Ｓ９およびＳ１０の処理は、基準値を減少させるとともに劣化した書込性能で指標値を更新することの一例である。Ｓ１０の処理は、書込性能の
指標値を記憶することの一例でもある。Ｓ９の処理は、書込性能が所定限度を超えて劣化した場合に基準値を減少させることの一例でもある。
【００３７】
一方、Ｓ６の判定で、今回測定されたスループットが指標値から所定値以上劣化した値でない場合、制御部１０２Ａは、今回測定されたスループットが指標値から所定値以上（例えば、１０％以上）改善した値であるか否かを判定する（Ｓ７）。今回測定されたスループットが指標値から所定値以上改善した値である場合に、制御部１０２Ａは、ライトキャッシュ１７の閾値を上げる（Ｓ８）。そして、制御部１０２Ａは、今回測定されたスループットで指標値を更新する（Ｓ１０）。そして、制御部１０２Ａは、処理をＳ１に戻す。Ｓ７でＹＥＳの場合は、書込性能が指標値から所定以上改善したときの一例である。Ｓ８およびＳ１０の処理は、基準値を増加させるとともに改善した書込性能で指標値を更新することの一例である。Ｓ６からＳ９の処理は、書込性能に応じて基準値を増減することの一例である。Ｓ８の処理は、書込性能が所定限度を超えて改善した場合に基準値を増加させることの一例である。Ｓ６、Ｓ７の判定は、指標値からの相対変化値によって、スループットの劣化あるいは改善を判断する処理といえる。
【００３８】
以上述べたように、本実施の形態のメモリ制御部１０２は、ｅＭＭＣ１０３Ａへの書き込み時、書き込みのスループットに応じて、ライトキャッシュ１７の容量、つまり、閾値を増減する。したがって、メモリ制御部１０２は、ｅＭＭＣ１０３Ａへの書き込みスループットに応じて、ライトキャッシュ１７の容量を適正値に設定できる。
【００３９】
書き込みスループットが劣化し、ｅＭＭＣ１０３Ａへの書き込みに時間を要する場合には、メモリ制御部１０２は、ライトキャッシュ１７の容量を小さくし、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込み時間が増大しないように調整する。その結果、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込みが発生したときに、利用者に操作性の低化等を感じる可能性が抑制される。一方、書き込みスループットが改善し、ｅＭＭＣ１０３Ａへの書き込みにそれほど時間を要しない場合には、メモリ制御部１０２は、ライトキャッシュ１７の容量を大きくし、極力ライトキャッシュ１７を活用する。
【００４０】
本実施の形態のメモリ制御部１０２は、書き込みスループットが指標値から所定値以上劣化したときに、ライトキャッシュ１７の閾値を下げ、かつ、現在の書き込みスループットで指標値を更新する。また、本実施の形態のメモリ制御部１０２は、書き込みスループットが指標値から所定値以上改善したときに、ライトキャッシュ１７の閾値を上げ、かつ、現在の書き込みスループットで指標値を更新する。したがって、メモリ制御部１０２は、指標値にしたがって書き込みスループットの良否を相対的に判定できるとともに、指標値の変動を抑制し、安定した判定ができる。
【００４１】
また、Ｓ５のように、メモリ制御部１０２は、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込み時にスループットを測定する。したがって、メモリ制御部１０２は、実際のｅＭＭＣ１０３Ａへの書き込みのスループットにしたがって、ライトキャッシュ１７の閾値を設定できる。
［実施形態２］
【００４２】
図５は、メモリ制御部１０２の実施形態２に係る処理を例示するフローチャートである。ＢＫＯＰＳは、ｅＭＭＣ１０３Ａから制御部１０２Ａに非同期に通知される。例えば、ｅＭＭＣ１０３Ａは、データの書き込み処理を完了したときの応答データとして、ＢＫＯＰＳの要求を通知する。そこで、メモリ制御部１０２の制御部１０２Ａは、ＢＫＯＰＳを要求する通知を受けたときに、非同期にライトキャッシュ１７の閾値を変更するようにしてもよい。図５は、非同期にライトキャッシュ１７の閾値を変更する処理例である。
【００４３】
この処理では、制御部１０２Ａは、ｅＭＭＣ１０３ＡからのＢＫＯＰＳの要求の有無を判定する（Ｓ２１）。ｅＭＭＣ１０３ＡからのＢＫＯＰＳの要求は、例えば、制御部１０２Ａのレジスタに入力される。ｅＭＭＣ１０３ＡからのＢＫＯＰＳの要求を受けると、制御部１０２Ａは、ＢＫＯＰＳの要求からＢＫＯＰＳのレベルを取得する（Ｓ２２）。ＢＫＯＰＳのレベルは、ｅＭＭＣ１０３Ａの規格にしたがって定められている。例えば、レベル０は、最高レベル、つまり、ｅＭＭＣ１０３Ａに不連続領域がない状態である。また、レベル３は、最悪レベルである。
【００４４】
次に、制御部１０２Ａは、ＢＫＯＰＳのレベルが特定値以上であるか否かを判定する（Ｓ２３）。Ｓ２３の判定は、絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。ＢＫＯＰＳのレベルが特定値未満の場合、制御部１０２Ａは、ライトキャッシュ１７の閾値を上げる（Ｓ２４）。一方、ＢＫＯＰＳのレベルが特定値以上である場合、制御部１０２Ａは、ライトキャッシュ１７の閾値を下げる（Ｓ２５）。ここで、特定値は、ＢＫＯＰＳのレベルで、値２、あるいは値３等であり、事前設定された値である。
【００４５】
Ｓ２３−Ｓ２５の処理は、書込性能に応じて前記基準値を増減することの一例である。Ｓ２４の処理は、書込性能が所定限度を超えて改善した場合に基準値を増加させることの一例でもある。Ｓ２５の処理は、書込性能が所定限度を超えて劣化した場合に基準値を減少させることの一例でもある。Ｓ２３でＹＥＳの場合は、ＢＫＯＰＳのレベルが特定値以上であるので、書込性能が所定値以下の範囲に劣化したときの一例である。Ｓ２３でＮＯの場合は、ＢＫＯＰＳのレベルが特定値未満であるので、書込性能が所定値を超える範囲に改善したときの一例である。Ｓ２４の処理は、基準値を増加させることの一例である。Ｓ２５の処理は、基準値を減少させることの一例である。
【００４６】
そして、制御部１０２Ａは、ライトキャッシュ１７に格納されたデータ量が閾値以上か否かを判定する（Ｓ２６）。ライトキャッシュ１７に格納されたデータ量が閾値以上の場合、制御部１０２Ａは、ライトキャッシュ１７のデータをｅＭＭＣに書き込む（Ｓ２７）。その後、制御部１０２Ａは、処理をＳ２１に戻す。
【００４７】
以上述べたように、本実施形態では、メモリ制御部１０２の制御部１０２Ａは、書き込みスループットを測定する代わりに、ＢＫＯＰＳのレベルをｅＭＭＣ１０３Ａから取得できる。また、制御部１０２Ａは、ＢＫＯＰＳのレベルにしたがって、書込性能が所定値以下の範囲に劣化したか、所定値を超える範囲に改善したかを判定できる。すなわち、制御部１０２Ａは、いわば、絶対値で書き込みスループットを判定できる。
【００４８】
なお、実施形態２では、メモリ制御部１０２の制御部１０２Ａは、ＢＫＯＰＳのレベルを基に、キャッシュ１７の閾値を増減した。しかし、このような処理に代えて、実施形態１と同様、制御部１０２Ａが、ｅＭＭＣ１０３Ａへの書き込み時に、書き込みスループットを測定してもよい。そして、制御部１０２Ａは、測定した書き込みスループットが所定値以下の範囲か、所定値を超える範囲かに応じて、キャッシュ１７の閾値を増減してもよい。このような処理は、スループットの絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。
［実施形態３］
【００４９】
上記実施形態１および実施形態２では、ＣＰＵ１０１と記憶部１０３との間に介在するメモリ制御部１０２がライトキャッシュ１７の閾値、すなわち、容量を更新し、ライトキャッシュに格納されたデータをｅＭＭＣ１０３Ａに書き込む処理を例示した。実施形態３では、上記実施形態１、２におけるメモリ制御部１０２に代わって、ＣＰＵ１０１がライトキャッシュ１７の閾値を更新するとともに、ライトキャッシュ１７に格納されたデータ
をｅＭＭＣ１０３Ａに書き込む処理を例示する。ＣＰＵ１０１がライトキャッシュ１７の閾値を更新するとともに、ライトキャッシュ１７に格納されたデータをｅＭＭＣ１０３Ａに書き込むこと以外については、実施形態３の構成要素および作用は実施形態１、２と同様である。そこで、実施形態３の構成要素のうち、実施形態１、２と同一の構成要素については、実施形態１、２と同一の符号を付してその説明を省略する。なお、実施形態３においては、ＣＰＵ１０１は制御部の一例である。ＣＰＵ１０１はメモリ制御装置の一例でもある。携帯端末１は情報処理装置の一例である。
【００５０】
図６は、実施形態３に係る携帯端末１の構成を例示する図である。図６では、ハードウェアのＣＰＵ１０１が提供する処理部であるメモリ入出力部１２Ａ、メモリ性能監視部１３Ａ、メモリ性能判定部１４Ｃの他、ハードウェアとしてメモリ制御部１０２、および記憶部１０３が例示されている。
【００５１】
実施形態３のメモリ制御部１０２は、ＣＰＵメモリインターフェース１０２Ｅを有するが制御部１０２Ａを有していない。つまり、実施形態３のメモリ制御部１０２は、ＣＰＵから記憶部１０３へのアクセス経路を提供するインターフェースである。なお、実施形態３の記憶部１０３の構成は、実施形態１、２と同一であるので、その説明を省略する。
【００５２】
実施形態３では、ＣＰＵ１０１が記憶部１０３に実行可能に展開されたコンピュータプログラムにしたがって、メモリ入出力部１２Ａ、メモリ性能監視部１３Ａ、メモリ性能判定部１４Ａとして処理を実行する。メモリ入出力部１２Ａ、メモリ性能監視部１３Ａ、メモリ性能判定部１４Ａに対応するプログラムは、例えば、ＣＰＵ１０１が実行するオペレーティングシステム（ＯＳ）のモジュールに含まれる。ＣＰＵ１０１は、これらのモジュールを含むＯＳを例えば、ｅＭＭＣ１０３Ａに保持している。なお、ＣＰＵ１０１は、これらのモジュールを含むＯＳをｅＭＭＣ１０３Ａ以外のＲＯＭ等に保持してもよい。電源投入によって、ＣＰＵ１０１は、ｅＭＭＣ１０３Ａ、あるいは、ＲＯＭからＯＳをＳＤＲＡＭ１０３Ｂにロードし、携帯端末１としての機能を提供する。
【００５３】
実施形態３のメモリ入出力部１２Ａ、メモリ性能監視部１３Ａ、メモリ性能判定部１４Ａの処理は、図３のメモリ入出力部１２、メモリ性能監視部１３、メモリ性能判定部１４と同様である。すなわち、ＣＰＵ１０１は、図２のメモリ制御部１０２内の制御部１０２Ａと同様、図４の処理、あるいは、図５の処理を実行する。
【００５４】
すなわち、図４で、Ｓ１からＳ４の処理は、メモリ入出力部１２Ａに対応する処理である。また、Ｓ５の処理は、メモリ性能監視部１３Ａに対応する処理である。また、Ｓ６からＳ１０の処理は、メモリ性能判定部１４Ａに対応する処理である。
【００５５】
また、図５は、ＣＰＵ１０１がＢＫＯＰＳ要求を受けたときに、非同期にライトキャッシュ１７の閾値を変更する処理例ということができる。ＣＰＵ１０１は、ｅＭＭＣ１０３Ａへの書き込み要求に対する応答とともにＢＫＯＰＳの要求を非同期に通知される。図５で、Ｓ２１、Ｓ２２は、メモリ性能監視部１３Ａに対応する処理である。Ｓ２３からＳ２５は、メモリ性能判定部１４Ａに対応する処理である。さらに、Ｓ２６からＳ２７は、メモリ入出力部１２Ａに対応する処理である。
【００５６】
以上述べたように、図２に例示したメモリ制御部１０２の制御部１０２Ａがない場合であっても、ＣＰＵ１０１は、図４あるいは図５の処理を実行することで、ｅＭＭＣ１０３Ａへの書き込み時、書き込みスループットに応じて、ライトキャッシュ１７の容量、つまり、閾値を増減する。したがって、書き込みスループットが劣化し、ｅＭＭＣ１０３Ａへの書き込みに時間を要する場合には、ＣＰＵ１０１は、ライトキャッシュ１７の容量を小さくし、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込み時間が増大しないよう
に調整する。その結果、ライトキャッシュ１７からｅＭＭＣ１０３Ａへの書き込みが発生したときに、利用者に操作性の劣化等を感じる可能性が抑制される。
【００５７】
なお、以上の実施形態１から３の構成は、携帯端末１に限定される訳ではなく、ｅＭＭＣ１０３Ａ等のように、残容量等に例示されるｅＭＭＣ１０３Ａの状態によって書き込み性能が変動するメモリを有する情報機器であれば、どのような情報機器にも適用可能である。
【符号の説明】
【００５８】
１２、１２Ａ    メモリ入出力部
１３、１３Ａ    メモリ性能監視部
１４、１４Ａ    メモリ性能判定部
１０１    ＣＰＵ
１０２    メモリ制御部
１０２Ａ  制御部
１０２Ｂ  ＲＯＭ
１０３    記憶部
１０３Ａ  ｅＭＭＣ
１０３Ｂ  ＳＤＲＡＭ
【図１】
2018060321.tif 000003
【図２】
2018060321.tif 000004
【図３】
2018060321.tif 000005
【図４】
2018060321.tif 000006
【図５】
2018060321.tif 000007
【図６】
2018060321.tif 000008