JP6832116B2 - Memory control device, information processing device, and memory control method - Google Patents
Memory control device, information processing device, and memory control method Download PDFInfo
- Publication number
- JP6832116B2 JP6832116B2 JP2016196534A JP2016196534A JP6832116B2 JP 6832116 B2 JP6832116 B2 JP 6832116B2 JP 2016196534 A JP2016196534 A JP 2016196534A JP 2016196534 A JP2016196534 A JP 2016196534A JP 6832116 B2 JP6832116 B2 JP 6832116B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- value
- control unit
- performance
- writing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 50
- 230000010365 information processing Effects 0.000 title claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 46
- 230000007334 memory performance Effects 0.000 description 42
- 238000012544 monitoring process Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 8
- 230000006866 deterioration Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 230000004043 responsiveness Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Description
本発明は、メモリ制御装置、情報処理装置、およびメモリ制御方法に関する。 The present invention relates to a memory control device, an information processing device, and a memory control method.
近年、低価格の携帯情報機器、あるいは情報機器、例えば、スマートフォンやスマートウォッチが普及している。このような情報機器として、低容量・低性能のeMMC(Embedded Multi Media Card)を搭載したデバイスが普及している。しかし、eMMCは、残容量が少ないと記憶領域が断片化し、書き込み性能が劣化する状態に陥りやすい。書き込み性能が劣化すると、操作時に一定時間フリーズするなどの問題が発生してしまうこともある。eMMC以外にも、例えば、Secure Digital memory card(SDカード)等他の記憶装置においても、同様の問題が生じる可能性は否定できない。 In recent years, low-priced portable information devices or information devices such as smartphones and smart watches have become widespread. As such an information device, a device equipped with a low-capacity, low-performance eMMC (Embedded MultiMediaCard) has become widespread. However, when the remaining capacity of the eMMC is small, the storage area is fragmented and the writing performance is likely to deteriorate. When the writing performance deteriorates, problems such as freezing for a certain period of time may occur during operation. In addition to eMMC, it cannot be denied that the same problem may occur in other storage devices such as the Secure Digital memory card (SD card).
通常、eMMCなどの記憶装置への書き込みは時間がかかるため、ライトキャッシュと呼ばれる一時記憶装置が採用されている。ライトキャッシュでは、高速なSDRAMなどが使用され、書き込まれるデータが一旦ライトキャッシュに記憶されると、書き込み要求元へ完了の応答が返される。そして、ライトキャッシュで記憶されたデータが予め決めておいたデータ量を超えるなどの条件により記憶装置への書き込みがまとめて実行される。ライトキャッシュを採用する記憶装置は、このような処理によって、情報機器の動作効率・応答性を改善している。 Usually, writing to a storage device such as an eMMC takes time, so a temporary storage device called a write cache is adopted. In the write cache, a high-speed SDRAM or the like is used, and once the data to be written is stored in the write cache, a completion response is returned to the write request source. Then, writing to the storage device is collectively executed under conditions such as the data stored in the write cache exceeding a predetermined amount of data. A storage device that employs a write cache improves the operating efficiency and responsiveness of an information device by such processing.
ところで、eMMCなどのように、残容量等で例示される記憶装置の状態によって書き込み性能が変動する記憶装置の場合、記憶装置の状態を考慮しないで同じ条件で記憶装置への書き込みがなされると、記憶装置の状態によっては書き込みに長時間かかる場合がある。その結果として記憶装置を有する情報機器全体の動作効率、あるいは応答性が低下してしまう。このような動作効率あるいは応答性の低下が利用者の操作時に発生すると、その間情報機器がフリーズしたように見えてしまう問題があった。 By the way, in the case of a storage device such as eMMC whose writing performance varies depending on the state of the storage device exemplified by the remaining capacity or the like, if writing is performed to the storage device under the same conditions without considering the state of the storage device. , It may take a long time to write depending on the state of the storage device. As a result, the operating efficiency or responsiveness of the entire information device having the storage device is lowered. If such a decrease in operating efficiency or responsiveness occurs during the operation of the user, there is a problem that the information device appears to be frozen during that time.
1つの側面では、本発明の目的は、記憶装置の状態によっては書き込み性能が変動することがある記憶装置を採用する情報機器において、動作効率の変動、応答性の変動を抑制することにある。 On one aspect, an object of the present invention is to suppress fluctuations in operating efficiency and responsiveness in an information device that employs a storage device whose writing performance may fluctuate depending on the state of the storage device.
一つの側面では、本発明は、メモリにアクセスする制御部を備えるメモリ制御装置によって例示される。この制御部はメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータ量が基準値に達すると前記バッファ回路のデータを前記メモリへ書き込むことと、前記メモリへのデータの書込性能に応じて前記基準値を増減することとを実行する。 In one aspect, the invention is exemplified by a memory control device comprising a control unit that accesses the memory. This control unit stores the data written in the memory in the buffer circuit, writes the data in the buffer circuit to the memory when the amount of data stored in the buffer circuit reaches the reference value, and the data in the memory. The reference value is increased or decreased according to the writing performance of.
本メモリ制御装置によれば、記憶装置の状態によっては書き込み性能が変動することがある記憶装置を採用する情報機器において、動作効率の変動、応答性の変動を抑制できる。 According to this memory control device, it is possible to suppress fluctuations in operating efficiency and responsiveness in an information device that employs a storage device whose write performance may fluctuate depending on the state of the storage device.
以下、図面を参照して、一実施の形態に係るメモリ制御装置について説明する。以下の実施の形態の構成は例示であり、本メモリ制御装置は実施の形態の構成には限定されない。
[実施形態1]
Hereinafter, the memory control device according to the embodiment will be described with reference to the drawings. The configuration of the following embodiment is an example, and the memory control device is not limited to the configuration of the embodiment.
[Embodiment 1]
図1に、本実施形態のメモリ制御部102を含む携帯端末1の構成を例示する。なお、メモリ制御部102は携帯端末1に限定されず、様々な情報機器、情報処理装置等に適用可能である。図1のように、携帯端末1は、CPU101と、メモリ制御部102と、記憶部103と、タッチパネル104と、ディスプレイ105と、バッテリ106と、無線通信部107と、アンテナ111と、オーディオ入出力部108と、スピーカー109と、マイクロフォン110を有する。
FIG. 1 illustrates the configuration of the mobile terminal 1 including the
CPU101は、メモリ制御部102を介して記憶部103にアクセスする。CPU101は、記憶部103に実行可能に展開されたコンピュータプログラムにしたがって携帯端末1としての処理を実行する。CPU101はプロセッサの一例である。CPU101は制御部の一例でもある。
The
メモリ制御部102は、CPU101からの指令により、記憶部103にデータを書き込むとともに、記憶部103からデータを読み出す。メモリ制御部102は、メモリ制御装置の一例である。
The
記憶部103は、例えば、eMMC103AとSynchronous Dynamic Random Access Memory(SDRAM)103Bを含む。なお、記憶部103は、eMMC103Aを有するものに限定される訳ではない。例えば、記憶部103は、eMMC103Aの代わりに、SDカード規格の組み込み型のメモリカード、フラッシュメモリ等を備えるようにしてもよい。また、SDRAM103Bに代えて他のメモリ、例えば、Static RAM(SRAM)を設けてもよい。記憶部103のeMMC103A、あるいは、eMMC103Aに代わるSDカード等は、メモリの一例である。
The
タッチパネル104は、ディスプレイ105に搭載され、利用者によるディスプレイ上のグラフィックスオブジェクトへの操作を検知し、検知した操作をCPU101に通知する。ディスプレイ105は、CPU101の処理にしたがって生成されるグラフィックスオブジェクト、文字、画像その他の情報を表示する。
The
バッテリ106は、例えば二次電池であり、携帯端末1の各部に電力を供給する。オー
ディオ入出力部108は、CPU101の処理にしたがって生成されるディジタル音データから音を再生し、スピーカー109から出力する。また、オーディオ入出力部108は、マイクロフォン110から入力される音からディジタル音データを生成し、CPU101に供給する。
The
通信部107は、アンテナ111を通じて、無線通信網にアクセスし、無線通信網を介して授受される通信データを処理する。通信部107は、例えば、携帯電話網にアクセスする通信装置、無線Local Area Network(LAN)等にアクセスする通信装置である。
The
図2に、メモリ制御部102の構成を例示する。図2では、メモリ制御部102に接続されるCPU101および記憶部103も例示されている。図のように、メモリ制御部102は、制御部102Aと、Read Only Memory(ROM)102Bと、CPUインターフェース102Cと、メモリインターフェース102Dを有する。
FIG. 2 illustrates the configuration of the
制御部102Aは、CPU等を有し、ROM102Bに格納されたファームウェアにしたがって、メモリ制御部102の処理を実行する。制御部102Aは、制御部の一例である。ROM102Bはメモリ制御部102Aが実行するファームウェアを格納する。なお、メモリ制御部102内にRandom Access Memory(RAM)を設けてもよい。ROM102B内のファームウェアがRAMにロードされるようにしてもよい。また、ROM102Bがメモリ制御部102の外で携帯端末1内に設けられてもよい。例えば、携帯端末1の電源投入時に、CPU101がメモリ制御部102のRAMにファームウェアをロードするようにしてもよい。
The
CPUインターフェース102Cは、CPU101に接続されるバスとのインターフェースである。また、メモリインターフェース102Dは、記憶部103とのインターフェースである。メモリインターフェース102Dは、例えば、データバス、アドレスバス、および記憶部103との間の制御信号ラインを含む。図2では、1つのメモリインターフェース102DがeMMC103A、およびSDRAM103Bに接続されているが、eMMC103A、およびSDRAM103Bのそれぞれと接続される2つのメモリインターフェース102Dを設けてもよい。
The
図3は、メモリ制御部102内の制御部102Aの機能構成を示すブロック図である。図では、制御部102Aとともに、CPU101、eMMC103A、およびSDRAM103Bも例示されている。
FIG. 3 is a block diagram showing a functional configuration of the
図のように、制御部102Aは、例えば、メモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14としてファームウェアを実行する。メモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14は、ファームウェアに含まれるモジュールに対応する構成とすることもできる。
As shown in the figure, the
メモリ入出力部12は、CPU101からの要求にしたがって、eMMC103Aに対するデータの書き込みおよび読み出しを実行する。このとき、SDRAM103Bの一部は書込バッファであるライトキャッシュ17として使用される。SDRAM103Bのライトキャッシュ17はバッファ回路の一例である。メモリ入出力部12は、メモリ性能監視部13およびメモリ性能判定部14の処理にしたがって設定される閾値を用いて、ライトキャッシュ17に格納するデータ量を制御する。例えば、メモリ入出力部12は、eMMC103Aへの書き込み時にSDRAM103Bのライトキャッシュ17に一旦CPU101からの書込データを格納する。そして、ライトキャッシュ17に書き込み済みのデータ量が予め決めておいた閾値を超えた場合に、メモリ入出力部12は、ライトキャッシ
ュ17のデータをeMMCへ書き込む。したがって、閾値はライトキャッシュ17の記憶容量、すなわち、記憶データサイズを決定する。閾値は基準値の一例である。以下、各部の処理を説明する。
The memory input /
(1)メモリ性能監視部13により監視しているeMMC103Aの書き込み性能が特定の性能以下に劣化したとメモリ性能判定部14により判断された場合に、メモリ入出力部12はライトキャッシュ17の閾値を小さくする。
(1) When the memory
(2)メモリ性能監視部13により監視しているeMMC103Aの書き込み性能が特定の性能以上に改善したとメモリ性能判定部14により判断された場合に、メモリ入出力部12はライトキャッシュ17の閾値を大きくする。
(2) When the memory
(3)メモリ性能監視部13は、ライトキャッシュ17のデータをeMMC103Aへ書き込むときのスループットを測定する。ただし、メモリ性能監視部13は、eMMC103Aからのバックグラウンドオペレーション(BKOPS)の要求に含まれる情報(レベルという)によってメモリ性能の監視を行うようにしてもよい。BKOPSは、eMMC103Aが記憶領域の断片化等による性能劣化状態になった場合にeMMC103A自身が実行する記憶領域の整理処理である。
(3) The memory
eMMC103Aは、記憶領域の断片化が所定の限度まで進んだと判断した場合、上位装置、例えば、メモリ制御部102、CPU101等に対して、BKOPSの要求を通知する。BKOPSの要求は、例えば、eMMC103Aへの書き込み要求に対する応答とともに上位装置に通知される。BKOPSの要求には、記憶領域の断片化の程度を示すレベルと呼ばれる情報が含まれている。上位装置は、BKOPSの要求を受け取ると、レベルに応じて、BKOPSの実行指令をeMMC103Aに通知する。メモリ性能監視部13は、BKOPSの要求に含まれるレベルを取得すればよい。
When the eMMC103A determines that the fragmentation of the storage area has progressed to a predetermined limit, the eMMC103A notifies a higher-level device, for example, the
(4)メモリ性能判定部14は、ライトキャッシュ17からeMMC103Aへの書き込み時のスループット(以下、書き込みスループット)の良否を判断するための指標値を保持する。指標値の初期値は、eMMC103Aが初期化された状態に対応する、書き込みスループットの最良値に設定される。そして、メモリ性能判定部14は、メモリ性能監視部13から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上(例えば、10%以上)悪化した場合に、書き込みスループットが特定の性能以下に劣化したと判断する。また、このときの書き込みスループットで指標値を更新する。
(4) The memory
(5)一方、メモリ性能監視部13から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上(例えば、10%以上)改善した場合に、書き込みスループットが特定の性能以上に改善したと判断する。また、このときの書き込みスループットで指標値を更新する。
(5) On the other hand, when the write throughput notified from the memory
(6)以上のようにして、書き込みスループットの改善または劣化により、メモリ入出力部12がライトキャッシュ17の閾値を変更すると、書込みスループットの指標値が更新される。
(7)前記メモリ性能判定部14は、メモリ性能監視部13から通知されたBKOPSレベルが2または3の場合に、特定の性能以下に劣化したと判断する。
(6) When the memory input /
(7) When the BKOPS level notified from the memory
なお、本実施の形態において、CPU101、あるいはメモリ制御部102の制御部102Aが有するCPUは、MPU(Microprocessor)とも呼ばれる。CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一の
ソケットで接続される単一のCPUがマルチコア構成を有していても良い。
In the present embodiment, the
上記メモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14の各部の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、上記各部の少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であっても良い。また、上記各部の少なくとも一部にアナログ回路が含まれても良い。集積回路は、LSI,Application Specific Integrated Circuit(ASIC),プログラマブルロジックデバイス(PLD)を
含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記各部は、
プロセッサと集積回路との組み合わせであっても良い。組み合わせは、例えば、マイクロコントローラ(MCU),SoC(System-on-a-chip),システムLSI,チップセットなどと呼ばれる。したがって、本実施形態で、制御部という場合には、上記CPU、プロセッサ、ディジタル回路、アナログ回路、ASIC、PLD、FPGA、MCU、SoC等のいずれかまたはこれら2以上の組み合わせを含む。
At least a part of the processing of each part of the memory input /
It may be a combination of a processor and an integrated circuit. The combination is called, for example, a microcontroller (MCU), a SoC (System-on-a-chip), a system LSI, a chipset, or the like. Therefore, in the present embodiment, the term "control unit" includes any one of the above CPU, processor, digital circuit, analog circuit, ASIC, PLD, FPGA, MCU, SoC, or a combination of two or more thereof.
図4は、メモリ制御部102の処理を例示するフローチャートである。図4の処理は、メモリ制御方法ということもできる。メモリ制御部102の制御部102Aは、図3に例示したメモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14として、例えばROM102Bに格納されたファームウェアを実行する。図4で、S1からS4の処理は、メモリ入出力部12に対応する処理である。なお、図4の処理の開始前、S6、S7で参照される指標値は、最良値(例えば、eMMC13Aが初期化された状態であってスループットの最良値)に初期設定されている。
FIG. 4 is a flowchart illustrating the processing of the
制御部102Aは、CPUインターフェース102Cを介してCPU101のメモリ書き込みが発生するか否かを監視する(S1)。メモリ書き込みが発生すると、制御部102Aは、書き込みデータをSDRAM103Bのライトキャッシュ17へ格納する(S2)。S2の処理は、メモリに書込まれるデータをバッファ回路に記憶することの一例である。さらに、制御部102Aは、ライトキャッシュ17に格納されたデータ量が閾値以上か否かを判定する(S3)。そして、ライトキャッシュ17に格納されたデータ量が閾値以上でない場合、制御部102Aは、処理をS1に戻す。一方、ライトキャッシュ17に格納されたデータ量が閾値以上の場合、制御部102Aは、ライトキャッシュ17のデータをeMMC103Aに書き込む(S4)。S3の判定で、YESの場合は、バッファ回路に記憶されたデータの量が基準値に達することの一例である。S4の処理は、バッファ回路に記憶されたデータの量が基準値に達するとバッファ回路に記憶されたデータをメモリへ書き込むことの一例である。
図4で、S5の処理は、メモリ性能監視部13に対応する処理である。また、S6からS10の処理は、メモリ性能判定部14に対応する処理である。
The
In FIG. 4, the process of S5 is a process corresponding to the memory
S4でのeMMC103Aへの書き込み時、制御部102Aは、書き込みスループットを測定する(S5)。S5の処理は、バッファ回路のデータをメモリへ書き込むときに書込性能を測定することの一例でもある。
At the time of writing to the
次に、制御部102Aは、今回測定されたスループットが指標値から所定値以上(例えば、10%以上)劣化した値であるか否かを判定する(S6)。今回測定されたスループットが指標値から所定値以上劣化した値である場合に、制御部102Aは、ライトキャッシュ17の閾値を下げる(S9)。そして、制御部102Aは、今回測定されたスループットで指標値を更新する(S10)。S6でYESの場合は、書込性能が指標値から所定以上劣化したときの一例である。S9およびS10の処理は、基準値を減少させるとともに劣化した書込性能で指標値を更新することの一例である。S10の処理は、書込性能の
指標値を記憶することの一例でもある。S9の処理は、書込性能が所定限度を超えて劣化した場合に基準値を減少させることの一例でもある。
Next, the
一方、S6の判定で、今回測定されたスループットが指標値から所定値以上劣化した値でない場合、制御部102Aは、今回測定されたスループットが指標値から所定値以上(例えば、10%以上)改善した値であるか否かを判定する(S7)。今回測定されたスループットが指標値から所定値以上改善した値である場合に、制御部102Aは、ライトキャッシュ17の閾値を上げる(S8)。そして、制御部102Aは、今回測定されたスループットで指標値を更新する(S10)。そして、制御部102Aは、処理をS1に戻す。S7でYESの場合は、書込性能が指標値から所定以上改善したときの一例である。S8およびS10の処理は、基準値を増加させるとともに改善した書込性能で指標値を更新することの一例である。S6からS9の処理は、書込性能に応じて基準値を増減することの一例である。S8の処理は、書込性能が所定限度を超えて改善した場合に基準値を増加させることの一例である。S6、S7の判定は、指標値からの相対変化値によって、スループットの劣化あるいは改善を判断する処理といえる。
On the other hand, if the throughput measured this time is not a value deteriorated by a predetermined value or more from the index value in the determination of S6, the
以上述べたように、本実施の形態のメモリ制御部102は、eMMC103Aへの書き込み時、書き込みのスループットに応じて、ライトキャッシュ17の容量、つまり、閾値を増減する。したがって、メモリ制御部102は、eMMC103Aへの書き込みスループットに応じて、ライトキャッシュ17の容量を適正値に設定できる。
As described above, the
書き込みスループットが劣化し、eMMC103Aへの書き込みに時間を要する場合には、メモリ制御部102は、ライトキャッシュ17の容量を小さくし、ライトキャッシュ17からeMMC103Aへの書き込み時間が増大しないように調整する。その結果、ライトキャッシュ17からeMMC103Aへの書き込みが発生したときに、利用者に操作性の低化等を感じる可能性が抑制される。一方、書き込みスループットが改善し、eMMC103Aへの書き込みにそれほど時間を要しない場合には、メモリ制御部102は、ライトキャッシュ17の容量を大きくし、極力ライトキャッシュ17を活用する。
When the write throughput deteriorates and it takes time to write to the
本実施の形態のメモリ制御部102は、書き込みスループットが指標値から所定値以上劣化したときに、ライトキャッシュ17の閾値を下げ、かつ、現在の書き込みスループットで指標値を更新する。また、本実施の形態のメモリ制御部102は、書き込みスループットが指標値から所定値以上改善したときに、ライトキャッシュ17の閾値を上げ、かつ、現在の書き込みスループットで指標値を更新する。したがって、メモリ制御部102は、指標値にしたがって書き込みスループットの良否を相対的に判定できるとともに、指標値の変動を抑制し、安定した判定ができる。
When the write throughput deteriorates by a predetermined value or more from the index value, the
また、S5のように、メモリ制御部102は、ライトキャッシュ17からeMMC103Aへの書き込み時にスループットを測定する。したがって、メモリ制御部102は、実際のeMMC103Aへの書き込みのスループットにしたがって、ライトキャッシュ17の閾値を設定できる。
[実施形態2]
Further, as in S5, the
[Embodiment 2]
図5は、メモリ制御部102の実施形態2に係る処理を例示するフローチャートである。BKOPSは、eMMC103Aから制御部102Aに非同期に通知される。例えば、eMMC103Aは、データの書き込み処理を完了したときの応答データとして、BKOPSの要求を通知する。そこで、メモリ制御部102の制御部102Aは、BKOPSを要求する通知を受けたときに、非同期にライトキャッシュ17の閾値を変更するようにしてもよい。図5は、非同期にライトキャッシュ17の閾値を変更する処理例である。
FIG. 5 is a flowchart illustrating the process according to the second embodiment of the
この処理では、制御部102Aは、eMMC103AからのBKOPSの要求の有無を判定する(S21)。eMMC103AからのBKOPSの要求は、例えば、制御部102Aのレジスタに入力される。eMMC103AからのBKOPSの要求を受けると、制御部102Aは、BKOPSの要求からBKOPSのレベルを取得する(S22)。BKOPSのレベルは、eMMC103Aの規格にしたがって定められている。例えば、レベル0は、最高レベル、つまり、eMMC103Aに不連続領域がない状態である。また、レベル3は、最悪レベルである。
In this process, the
次に、制御部102Aは、BKOPSのレベルが特定値以上であるか否かを判定する(S23)。S23の判定は、絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。BKOPSのレベルが特定値未満の場合、制御部102Aは、ライトキャッシュ17の閾値を上げる(S24)。一方、BKOPSのレベルが特定値以上である場合、制御部102Aは、ライトキャッシュ17の閾値を下げる(S25)。ここで、特定値は、BKOPSのレベルで、値2、あるいは値3等であり、事前設定された値である。
Next, the
S23−S25の処理は、書込性能に応じて前記基準値を増減することの一例である。S24の処理は、書込性能が所定限度を超えて改善した場合に基準値を増加させることの一例でもある。S25の処理は、書込性能が所定限度を超えて劣化した場合に基準値を減少させることの一例でもある。S23でYESの場合は、BKOPSのレベルが特定値以上であるので、書込性能が所定値以下の範囲に劣化したときの一例である。S23でNOの場合は、BKOPSのレベルが特定値未満であるので、書込性能が所定値を超える範囲に改善したときの一例である。S24の処理は、基準値を増加させることの一例である。S25の処理は、基準値を減少させることの一例である。 The process of S23-S25 is an example of increasing or decreasing the reference value according to the writing performance. The process of S24 is also an example of increasing the reference value when the writing performance is improved beyond a predetermined limit. The process of S25 is also an example of reducing the reference value when the writing performance deteriorates beyond a predetermined limit. When YES in S23, since the level of BKOPS is equal to or higher than a specific value, it is an example when the writing performance deteriorates to a range of not less than a predetermined value. When NO in S23, the level of BKOPS is less than a specific value, which is an example when the writing performance is improved to a range exceeding a predetermined value. The process of S24 is an example of increasing the reference value. The processing of S25 is an example of reducing the reference value.
そして、制御部102Aは、ライトキャッシュ17に格納されたデータ量が閾値以上か否かを判定する(S26)。ライトキャッシュ17に格納されたデータ量が閾値以上の場合、制御部102Aは、ライトキャッシュ17のデータをeMMCに書き込む(S27)。その後、制御部102Aは、処理をS21に戻す。
Then, the
以上述べたように、本実施形態では、メモリ制御部102の制御部102Aは、書き込みスループットを測定する代わりに、BKOPSのレベルをeMMC103Aから取得できる。また、制御部102Aは、BKOPSのレベルにしたがって、書込性能が所定値以下の範囲に劣化したか、所定値を超える範囲に改善したかを判定できる。すなわち、制御部102Aは、いわば、絶対値で書き込みスループットを判定できる。
As described above, in the present embodiment, the
なお、実施形態2では、メモリ制御部102の制御部102Aは、BKOPSのレベルを基に、キャッシュ17の閾値を増減した。しかし、このような処理に代えて、実施形態1と同様、制御部102Aが、eMMC103Aへの書き込み時に、書き込みスループットを測定してもよい。そして、制御部102Aは、測定した書き込みスループットが所定値以下の範囲か、所定値を超える範囲かに応じて、キャッシュ17の閾値を増減してもよい。このような処理は、スループットの絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。
[実施形態3]
In the second embodiment, the
[Embodiment 3]
上記実施形態1および実施形態2では、CPU101と記憶部103との間に介在するメモリ制御部102がライトキャッシュ17の閾値、すなわち、容量を更新し、ライトキャッシュに格納されたデータをeMMC103Aに書き込む処理を例示した。実施形態3では、上記実施形態1、2におけるメモリ制御部102に代わって、CPU101がライトキャッシュ17の閾値を更新するとともに、ライトキャッシュ17に格納されたデータ
をeMMC103Aに書き込む処理を例示する。CPU101がライトキャッシュ17の閾値を更新するとともに、ライトキャッシュ17に格納されたデータをeMMC103Aに書き込むこと以外については、実施形態3の構成要素および作用は実施形態1、2と同様である。そこで、実施形態3の構成要素のうち、実施形態1、2と同一の構成要素については、実施形態1、2と同一の符号を付してその説明を省略する。なお、実施形態3においては、CPU101は制御部の一例である。CPU101はメモリ制御装置の一例でもある。携帯端末1は情報処理装置の一例である。
In the first and second embodiments, the
図6は、実施形態3に係る携帯端末1の構成を例示する図である。図6では、ハードウェアのCPU101が提供する処理部であるメモリ入出力部12A、メモリ性能監視部13A、メモリ性能判定部14Cの他、ハードウェアとしてメモリ制御部102、および記憶部103が例示されている。
FIG. 6 is a diagram illustrating the configuration of the mobile terminal 1 according to the third embodiment. In FIG. 6, in addition to the memory input / output unit 12A, the memory performance monitoring unit 13A, and the memory performance determination unit 14C, which are processing units provided by the
実施形態3のメモリ制御部102は、CPUメモリインターフェース102Eを有するが制御部102Aを有していない。つまり、実施形態3のメモリ制御部102は、CPUから記憶部103へのアクセス経路を提供するインターフェースである。なお、実施形態3の記憶部103の構成は、実施形態1、2と同一であるので、その説明を省略する。
The
実施形態3では、CPU101が記憶部103に実行可能に展開されたコンピュータプログラムにしたがって、メモリ入出力部12A、メモリ性能監視部13A、メモリ性能判定部14Aとして処理を実行する。メモリ入出力部12A、メモリ性能監視部13A、メモリ性能判定部14Aに対応するプログラムは、例えば、CPU101が実行するオペレーティングシステム(OS)のモジュールに含まれる。CPU101は、これらのモジュールを含むOSを例えば、eMMC103Aに保持している。なお、CPU101は、これらのモジュールを含むOSをeMMC103A以外のROM等に保持してもよい。電源投入によって、CPU101は、eMMC103A、あるいは、ROMからOSをSDRAM103Bにロードし、携帯端末1としての機能を提供する。
In the third embodiment, the
実施形態3のメモリ入出力部12A、メモリ性能監視部13A、メモリ性能判定部14Aの処理は、図3のメモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14と同様である。すなわち、CPU101は、図2のメモリ制御部102内の制御部102Aと同様、図4の処理、あるいは、図5の処理を実行する。
The processing of the memory input / output unit 12A, the memory performance monitoring unit 13A, and the memory performance determination unit 14A of the third embodiment is the same as that of the memory input /
すなわち、図4で、S1からS4の処理は、メモリ入出力部12Aに対応する処理である。また、S5の処理は、メモリ性能監視部13Aに対応する処理である。また、S6からS10の処理は、メモリ性能判定部14Aに対応する処理である。 That is, in FIG. 4, the processes S1 to S4 are processes corresponding to the memory input / output unit 12A. Further, the process of S5 is a process corresponding to the memory performance monitoring unit 13A. Further, the processes from S6 to S10 are processes corresponding to the memory performance determination unit 14A.
また、図5は、CPU101がBKOPS要求を受けたときに、非同期にライトキャッシュ17の閾値を変更する処理例ということができる。CPU101は、eMMC103Aへの書き込み要求に対する応答とともにBKOPSの要求を非同期に通知される。図5で、S21、S22は、メモリ性能監視部13Aに対応する処理である。S23からS25は、メモリ性能判定部14Aに対応する処理である。さらに、S26からS27は、メモリ入出力部12Aに対応する処理である。
Further, FIG. 5 can be said to be a processing example in which the threshold value of the
以上述べたように、図2に例示したメモリ制御部102の制御部102Aがない場合であっても、CPU101は、図4あるいは図5の処理を実行することで、eMMC103Aへの書き込み時、書き込みスループットに応じて、ライトキャッシュ17の容量、つまり、閾値を増減する。したがって、書き込みスループットが劣化し、eMMC103Aへの書き込みに時間を要する場合には、CPU101は、ライトキャッシュ17の容量を小さくし、ライトキャッシュ17からeMMC103Aへの書き込み時間が増大しないよう
に調整する。その結果、ライトキャッシュ17からeMMC103Aへの書き込みが発生したときに、利用者に操作性の劣化等を感じる可能性が抑制される。
As described above, even when the
なお、以上の実施形態1から3の構成は、携帯端末1に限定される訳ではなく、eMMC103A等のように、残容量等に例示されるeMMC103Aの状態によって書き込み性能が変動するメモリを有する情報機器であれば、どのような情報機器にも適用可能である。 The configurations of the above embodiments 1 to 3 are not limited to the mobile terminal 1, and information having a memory such as the eMMC103A whose writing performance varies depending on the state of the eMMC103A exemplified by the remaining capacity or the like. As long as it is a device, it can be applied to any information device.
12、12A メモリ入出力部
13、13A メモリ性能監視部
14、14A メモリ性能判定部
101 CPU
102 メモリ制御部
102A 制御部
102B ROM
103 記憶部
103A eMMC
103B SDRAM
12, 12A Memory input /
102
103
103B SDRAM
Claims (5)
前記制御部は、
前記メモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行し、
前記基準値を増減することは、
前記書込性能の指標値を記憶しておき、前記書込性能が前記指標値から所定以上劣化したときに前記基準値を減少させるとともに前記劣化した書込性能で前記指標値を更新することと、
前記書込性能が前記指標値から所定以上改善したときに前記基準値を増加させるとともに前記改善した書込性能で前記指標値を更新することと、を含むメモリ制御装置。 Equipped with a control unit to access memory
The control unit
The data written in the memory is stored in the buffer circuit, and when the amount of data stored in the buffer circuit reaches a reference value, the data stored in the buffer circuit is written to the memory.
The reference value is increased or decreased according to the performance of writing data to the memory, and
Increasing or decreasing the reference value
The index value of the writing performance is stored, and when the writing performance deteriorates from the index value by a predetermined value or more, the reference value is reduced and the index value is updated by the deteriorated writing performance. ,
A memory control device including increasing the reference value when the write performance is improved by a predetermined value or more from the index value and updating the index value with the improved write performance.
メモリと、を備え、
前記プロセッサは、
前記プロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行し、
前記基準値を増減することは、
前記書込性能の指標値を記憶しておき、前記書込性能が前記指標値から所定以上劣化
したときに前記基準値を減少させるとともに前記劣化した書込性能で前記指標値を更新することと、
前記書込性能が前記指標値から所定以上改善したときに前記基準値を増加させるとともに前記改善した書込性能で前記指標値を更新することと、を含む、情報処理装置。 With the processor
With memory,
The processor
The data written from the processor to the memory is stored in the buffer circuit, and when the amount of data stored in the buffer circuit reaches a reference value, the data stored in the buffer circuit is written to the memory.
The reference value is increased or decreased according to the performance of writing data to the memory, and
Increasing or decreasing the reference value
The index value of the writing performance is stored, and the writing performance deteriorates by a predetermined value or more from the index value.
When this is done , the reference value is reduced and the index value is updated with the deteriorated writing performance .
An information processing device including increasing the reference value when the writing performance is improved by a predetermined value or more from the index value and updating the index value with the improved writing performance.
前記プロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行し、
前記基準値を増減することは、
前記書込性能の指標値を記憶しておき、前記書込性能が前記指標値から所定以上劣化したときに前記基準値を減少させるとともに前記劣化した書込性能で前記指標値を更新することと、
前記書込性能が前記指標値から所定以上改善したときに前記基準値を増加させるとともに前記改善した書込性能で前記指標値を更新することと、を含む、メモリ制御方法。 The processor
The data written from the processor to the memory is stored in the buffer circuit, and when the amount of data stored in the buffer circuit reaches a reference value, the data stored in the buffer circuit is written to the memory.
The reference value is increased or decreased according to the performance of writing data to the memory, and
Increasing or decreasing the reference value
The index value of the writing performance is stored, and when the writing performance deteriorates from the index value by a predetermined value or more, the reference value is reduced and the index value is updated by the deteriorated writing performance. ,
A memory control method comprising increasing the reference value when the writing performance is improved by a predetermined value or more from the index value and updating the index value with the improved writing performance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016196534A JP6832116B2 (en) | 2016-10-04 | 2016-10-04 | Memory control device, information processing device, and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016196534A JP6832116B2 (en) | 2016-10-04 | 2016-10-04 | Memory control device, information processing device, and memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018060321A JP2018060321A (en) | 2018-04-12 |
JP6832116B2 true JP6832116B2 (en) | 2021-02-24 |
Family
ID=61908507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016196534A Active JP6832116B2 (en) | 2016-10-04 | 2016-10-04 | Memory control device, information processing device, and memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6832116B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809747B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for optimizing write-amplification factor, endurance, and latency during a defragmentation operation |
US11809736B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for quantifying storage fragmentation and predicting performance drop |
US11847343B2 (en) | 2021-12-22 | 2023-12-19 | Western Digital Technologies, Inc. | Storage system and method for non-blocking coherent re-writes |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728690A (en) * | 1993-07-14 | 1995-01-31 | Hitachi Ltd | Flash memory system |
US20050033875A1 (en) * | 2003-06-30 | 2005-02-10 | Cheung Frank Nam Go | System and method for selectively affecting data flow to or from a memory device |
JP4647492B2 (en) * | 2003-08-06 | 2011-03-09 | パナソニック株式会社 | Semiconductor memory card, access device and access method |
JP2014229131A (en) * | 2013-05-23 | 2014-12-08 | 株式会社日立エルジーデータストレージ | Data recording/reproduction system and data recording control method |
-
2016
- 2016-10-04 JP JP2016196534A patent/JP6832116B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018060321A (en) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370667B2 (en) | System context saving based on compression/decompression time | |
US9829961B2 (en) | Electronic device | |
US7779191B2 (en) | Platform-based idle-time processing | |
EP3692444B1 (en) | System and method for foveated compression of image frames in a system on a chip | |
CN107924225B (en) | System and method for dynamically adjusting memory state transition timers | |
JP6832116B2 (en) | Memory control device, information processing device, and memory control method | |
US20140310552A1 (en) | Reduced-power sleep state s3 | |
CN110583018B (en) | System and method for intelligent data/frame compression in a system-on-chip | |
US20130036426A1 (en) | Information processing device and task switching method | |
JP2019159802A (en) | Power control method of storage device and storage device | |
WO2017222739A1 (en) | Selective flash memory compression/decompression using a storage usage collar | |
US20160179668A1 (en) | Computing system with reduced data exchange overhead and related data exchange method thereof | |
KR20180066073A (en) | System and method for providing operating system independent error control in a computing device | |
US9659616B2 (en) | Configuration fuse data management in a partial power-on state | |
US20150162069A1 (en) | Information processing terminal and power control method | |
US9413353B2 (en) | Thermal voltage margin recovery | |
US20110185142A1 (en) | Information processing apparatus and data saving acceleration method of the information processing apparatus | |
US20150049571A1 (en) | Memory control device, control method of memory control device, information processing apparatus | |
US9354812B1 (en) | Dynamic memory utilization in a system on a chip | |
CN110809754B (en) | System and method for dynamic buffer size setting in a computing device | |
JP2013143075A (en) | Semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181019 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201201 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20201201 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20201209 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20201215 |
|
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: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6832116 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |