JP6832116B2 - Memory control device, information processing device, and memory control method - Google Patents

Memory control device, information processing device, and memory control method Download PDF

Info

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
Application number
JP2016196534A
Other languages
Japanese (ja)
Other versions
JP2018060321A (en
Inventor
東作 棚田
東作 棚田
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.)
Fujitsu Connected Technologies Ltd
Original Assignee
Fujitsu Connected Technologies 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 Fujitsu Connected Technologies Ltd filed Critical Fujitsu Connected Technologies Ltd
Priority to JP2016196534A priority Critical patent/JP6832116B2/en
Publication of JP2018060321A publication Critical patent/JP2018060321A/en
Application granted granted Critical
Publication of JP6832116B2 publication Critical patent/JP6832116B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

特開平7−28690号公報Japanese Unexamined Patent Publication No. 7-28690 特開2013−206307号公報Japanese Unexamined Patent Publication No. 2013-206307 特開2014−59850号公報Japanese Unexamined Patent Publication No. 2014-59850

ところで、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.

携帯端末の構成を例示する図である。It is a figure which illustrates the structure of the mobile terminal. メモリ制御部の構成を例示する図である。It is a figure which illustrates the structure of the memory control part. 制御部の機能構成を示すブロック図である。It is a block diagram which shows the functional structure of a control part. 実施形態1に係る処理を例示するフローチャートである。It is a flowchart which illustrates the process which concerns on Embodiment 1. 実施形態2に係る処理を例示するフローチャートである。It is a flowchart which illustrates the process which concerns on Embodiment 2. 実施形態3に係る機能構成を示すブロック図である。It is a block diagram which shows the functional structure which concerns on Embodiment 3.

以下、図面を参照して、一実施の形態に係るメモリ制御装置について説明する。以下の実施の形態の構成は例示であり、本メモリ制御装置は実施の形態の構成には限定されない。
[実施形態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 memory control unit 102 of the present embodiment. The memory control unit 102 is not limited to the mobile terminal 1, and can be applied to various information devices, information processing devices, and the like. As shown in FIG. 1, the mobile terminal 1 includes a CPU 101, a memory control unit 102, a storage unit 103, a touch panel 104, a display 105, a battery 106, a wireless communication unit 107, an antenna 111, and audio input / output. It has a unit 108, a speaker 109, and a microphone 110.

CPU101は、メモリ制御部102を介して記憶部103にアクセスする。CPU101は、記憶部103に実行可能に展開されたコンピュータプログラムにしたがって携帯端末1としての処理を実行する。CPU101はプロセッサの一例である。CPU101は制御部の一例でもある。 The CPU 101 accesses the storage unit 103 via the memory control unit 102. The CPU 101 executes the process as the mobile terminal 1 according to a computer program executably expanded in the storage unit 103. The CPU 101 is an example of a processor. The CPU 101 is also an example of a control unit.

メモリ制御部102は、CPU101からの指令により、記憶部103にデータを書き込むとともに、記憶部103からデータを読み出す。メモリ制御部102は、メモリ制御装置の一例である。 The memory control unit 102 writes data to the storage unit 103 and reads data from the storage unit 103 in response to a command from the CPU 101. The memory control unit 102 is an example of a memory control device.

記憶部103は、例えば、eMMC103AとSynchronous Dynamic Random Access Memory(SDRAM)103Bを含む。なお、記憶部103は、eMMC103Aを有するものに限定される訳ではない。例えば、記憶部103は、eMMC103Aの代わりに、SDカード規格の組み込み型のメモリカード、フラッシュメモリ等を備えるようにしてもよい。また、SDRAM103Bに代えて他のメモリ、例えば、Static RAM(SRAM)を設けてもよい。記憶部103のeMMC103A、あるいは、eMMC103Aに代わるSDカード等は、メモリの一例である。 The storage unit 103 includes, for example, an eMMC 103A and a Synchronous Dynamic Random Access Memory (SDRAM) 103B. The storage unit 103 is not limited to the one having the eMMC 103A. For example, the storage unit 103 may include an SD card standard embedded memory card, a flash memory, or the like instead of the eMMC 103A. Further, another memory, for example, a Static RAM (SRAM) may be provided instead of the SRAM 103B. The eMMC103A of the storage unit 103, an SD card that replaces the eMMC103A, or the like is an example of the memory.

タッチパネル104は、ディスプレイ105に搭載され、利用者によるディスプレイ上のグラフィックスオブジェクトへの操作を検知し、検知した操作をCPU101に通知する。ディスプレイ105は、CPU101の処理にしたがって生成されるグラフィックスオブジェクト、文字、画像その他の情報を表示する。 The touch panel 104 is mounted on the display 105, detects an operation on the graphics object on the display by the user, and notifies the CPU 101 of the detected operation. The display 105 displays graphics objects, characters, images, and other information generated according to the processing of the CPU 101.

バッテリ106は、例えば二次電池であり、携帯端末1の各部に電力を供給する。オー
ディオ入出力部108は、CPU101の処理にしたがって生成されるディジタル音データから音を再生し、スピーカー109から出力する。また、オーディオ入出力部108は、マイクロフォン110から入力される音からディジタル音データを生成し、CPU101に供給する。
The battery 106 is, for example, a secondary battery, and supplies electric power to each part of the mobile terminal 1. The audio input / output unit 108 reproduces sound from the digital sound data generated according to the processing of the CPU 101, and outputs the sound from the speaker 109. Further, the audio input / output unit 108 generates digital sound data from the sound input from the microphone 110 and supplies it to the CPU 101.

通信部107は、アンテナ111を通じて、無線通信網にアクセスし、無線通信網を介して授受される通信データを処理する。通信部107は、例えば、携帯電話網にアクセスする通信装置、無線Local Area Network(LAN)等にアクセスする通信装置である。 The communication unit 107 accesses the wireless communication network through the antenna 111, and processes communication data sent and received via the wireless communication network. The communication unit 107 is, for example, a communication device that accesses a mobile phone network, a communication device that accesses a wireless Local Area Network (LAN), or the like.

図2に、メモリ制御部102の構成を例示する。図2では、メモリ制御部102に接続されるCPU101および記憶部103も例示されている。図のように、メモリ制御部102は、制御部102Aと、Read Only Memory(ROM)102Bと、CPUインターフェース102Cと、メモリインターフェース102Dを有する。 FIG. 2 illustrates the configuration of the memory control unit 102. In FIG. 2, the CPU 101 and the storage unit 103 connected to the memory control unit 102 are also illustrated. As shown in the figure, the memory control unit 102 includes a control unit 102A, a Read Only Memory (ROM) 102B, a CPU interface 102C, and a memory interface 102D.

制御部102Aは、CPU等を有し、ROM102Bに格納されたファームウェアにしたがって、メモリ制御部102の処理を実行する。制御部102Aは、制御部の一例である。ROM102Bはメモリ制御部102Aが実行するファームウェアを格納する。なお、メモリ制御部102内にRandom Access Memory(RAM)を設けてもよい。ROM102B内のファームウェアがRAMにロードされるようにしてもよい。また、ROM102Bがメモリ制御部102の外で携帯端末1内に設けられてもよい。例えば、携帯端末1の電源投入時に、CPU101がメモリ制御部102のRAMにファームウェアをロードするようにしてもよい。 The control unit 102A has a CPU or the like, and executes the processing of the memory control unit 102 according to the firmware stored in the ROM 102B. The control unit 102A is an example of the control unit. The ROM 102B stores the firmware executed by the memory control unit 102A. A Random Access Memory (RAM) may be provided in the memory control unit 102. The firmware in the ROM 102B may be loaded into the RAM. Further, the ROM 102B may be provided in the mobile terminal 1 outside the memory control unit 102. For example, when the power of the mobile terminal 1 is turned on, the CPU 101 may load the firmware into the RAM of the memory control unit 102.

CPUインターフェース102Cは、CPU101に接続されるバスとのインターフェースである。また、メモリインターフェース102Dは、記憶部103とのインターフェースである。メモリインターフェース102Dは、例えば、データバス、アドレスバス、および記憶部103との間の制御信号ラインを含む。図2では、1つのメモリインターフェース102DがeMMC103A、およびSDRAM103Bに接続されているが、eMMC103A、およびSDRAM103Bのそれぞれと接続される2つのメモリインターフェース102Dを設けてもよい。 The CPU interface 102C is an interface with a bus connected to the CPU 101. Further, the memory interface 102D is an interface with the storage unit 103. The memory interface 102D includes, for example, a control signal line between a data bus, an address bus, and a storage unit 103. In FIG. 2, one memory interface 102D is connected to the eMMC103A and the SDRAM 103B, but two memory interfaces 102D connected to each of the eMMC103A and the SDRAM 103B may be provided.

図3は、メモリ制御部102内の制御部102Aの機能構成を示すブロック図である。図では、制御部102Aとともに、CPU101、eMMC103A、およびSDRAM103Bも例示されている。 FIG. 3 is a block diagram showing a functional configuration of the control unit 102A in the memory control unit 102. In the figure, the CPU 101, the eMMC 103A, and the SDRAM 103B are illustrated together with the control unit 102A.

図のように、制御部102Aは、例えば、メモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14としてファームウェアを実行する。メモリ入出力部12、メモリ性能監視部13、メモリ性能判定部14は、ファームウェアに含まれるモジュールに対応する構成とすることもできる。 As shown in the figure, the control unit 102A executes the firmware as, for example, the memory input / output unit 12, the memory performance monitoring unit 13, and the memory performance determination unit 14. The memory input / output unit 12, the memory performance monitoring unit 13, and the memory performance determination unit 14 may be configured to correspond to the modules included in the firmware.

メモリ入出力部12は、CPU101からの要求にしたがって、eMMC103Aに対するデータの書き込みおよび読み出しを実行する。このとき、SDRAM103Bの一部は書込バッファであるライトキャッシュ17として使用される。SDRAM103Bのライトキャッシュ17はバッファ回路の一例である。メモリ入出力部12は、メモリ性能監視部13およびメモリ性能判定部14の処理にしたがって設定される閾値を用いて、ライトキャッシュ17に格納するデータ量を制御する。例えば、メモリ入出力部12は、eMMC103Aへの書き込み時にSDRAM103Bのライトキャッシュ17に一旦CPU101からの書込データを格納する。そして、ライトキャッシュ17に書き込み済みのデータ量が予め決めておいた閾値を超えた場合に、メモリ入出力部12は、ライトキャッシ
ュ17のデータをeMMCへ書き込む。したがって、閾値はライトキャッシュ17の記憶容量、すなわち、記憶データサイズを決定する。閾値は基準値の一例である。以下、各部の処理を説明する。
The memory input / output unit 12 executes data writing and reading to the eMMC 103A in response to a request from the CPU 101. At this time, a part of the SDRAM 103B is used as a write cache 17 which is a write buffer. The write cache 17 of the SDRAM 103B is an example of a buffer circuit. The memory input / output unit 12 controls the amount of data stored in the write cache 17 by using a threshold value set according to the processing of the memory performance monitoring unit 13 and the memory performance determination unit 14. For example, the memory input / output unit 12 temporarily stores the write data from the CPU 101 in the write cache 17 of the SDRAM 103B when writing to the eMMC 103A. Then, when the amount of data written to the write cache 17 exceeds a predetermined threshold value, the memory input / output unit 12 writes the data of the write cache 17 to the eMMC. Therefore, the threshold value determines the storage capacity of the write cache 17, that is, the storage data size. The threshold value is an example of a reference value. The processing of each part will be described below.

(1)メモリ性能監視部13により監視しているeMMC103Aの書き込み性能が特定の性能以下に劣化したとメモリ性能判定部14により判断された場合に、メモリ入出力部12はライトキャッシュ17の閾値を小さくする。 (1) When the memory performance determination unit 14 determines that the write performance of the eMMC 103A monitored by the memory performance monitoring unit 13 has deteriorated to a specific performance or less, the memory input / output unit 12 sets the threshold value of the write cache 17. Make it smaller.

(2)メモリ性能監視部13により監視しているeMMC103Aの書き込み性能が特定の性能以上に改善したとメモリ性能判定部14により判断された場合に、メモリ入出力部12はライトキャッシュ17の閾値を大きくする。 (2) When the memory performance determination unit 14 determines that the write performance of the eMMC 103A monitored by the memory performance monitoring unit 13 has improved beyond a specific performance, the memory input / output unit 12 sets the threshold value of the write cache 17. Enlarge.

(3)メモリ性能監視部13は、ライトキャッシュ17のデータをeMMC103Aへ書き込むときのスループットを測定する。ただし、メモリ性能監視部13は、eMMC103Aからのバックグラウンドオペレーション(BKOPS)の要求に含まれる情報(レベルという)によってメモリ性能の監視を行うようにしてもよい。BKOPSは、eMMC103Aが記憶領域の断片化等による性能劣化状態になった場合にeMMC103A自身が実行する記憶領域の整理処理である。 (3) The memory performance monitoring unit 13 measures the throughput when writing the data of the write cache 17 to the eMMC103A. However, the memory performance monitoring unit 13 may monitor the memory performance based on the information (referred to as the level) included in the background operation (BKOPS) request from the eMMC103A. BKOPS is a storage area rearranging process executed by the eMMC103A itself when the eMMC103A is in a performance deterioration state due to fragmentation of the storage area or the like.

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 memory control unit 102, the CPU 101, or the like of the BKOPS request. The BKOPS request is notified to the host device together with the response to the write request to the eMMC103A, for example. BKOPS requirements include information called levels that indicate the degree of storage fragmentation. When the host device receives the BKOPS request, it notifies the eMMC103A of the BKOPS execution command according to the level. The memory performance monitoring unit 13 may acquire the level included in the request of BKOPS.

(4)メモリ性能判定部14は、ライトキャッシュ17からeMMC103Aへの書き込み時のスループット(以下、書き込みスループット)の良否を判断するための指標値を保持する。指標値の初期値は、eMMC103Aが初期化された状態に対応する、書き込みスループットの最良値に設定される。そして、メモリ性能判定部14は、メモリ性能監視部13から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上(例えば、10%以上)悪化した場合に、書き込みスループットが特定の性能以下に劣化したと判断する。また、このときの書き込みスループットで指標値を更新する。 (4) The memory performance determination unit 14 holds an index value for determining the quality of the throughput at the time of writing from the write cache 17 to the eMMC103A (hereinafter, write throughput). The initial value of the index value is set to the best value of the write throughput corresponding to the state in which the eMMC103A is initialized. Then, the memory performance determination unit 14 specifies the write throughput when the write throughput notified from the memory performance monitoring unit 13 is worse than a predetermined value (for example, 10% or more) from the index value of the held write throughput. It is judged that the performance has deteriorated below the performance of. In addition, the index value is updated with the write throughput at this time.

(5)一方、メモリ性能監視部13から通知される書き込みスループットが、保持している書き込みスループットの指標値より所定以上(例えば、10%以上)改善した場合に、書き込みスループットが特定の性能以上に改善したと判断する。また、このときの書き込みスループットで指標値を更新する。 (5) On the other hand, when the write throughput notified from the memory performance monitoring unit 13 is improved by a predetermined value or more (for example, 10% or more) from the index value of the held write throughput, the write throughput becomes higher than the specific performance. Judge that it has improved. In addition, the index value is updated with the write throughput at this time.

(6)以上のようにして、書き込みスループットの改善または劣化により、メモリ入出力部12がライトキャッシュ17の閾値を変更すると、書込みスループットの指標値が更新される。
(7)前記メモリ性能判定部14は、メモリ性能監視部13から通知されたBKOPSレベルが2または3の場合に、特定の性能以下に劣化したと判断する。
(6) When the memory input / output unit 12 changes the threshold value of the write cache 17 due to the improvement or deterioration of the write throughput as described above, the index value of the write throughput is updated.
(7) When the BKOPS level notified from the memory performance monitoring unit 13 is 2 or 3, the memory performance determination unit 14 determines that the performance has deteriorated to a specific performance or less.

なお、本実施の形態において、CPU101、あるいはメモリ制御部102の制御部102Aが有するCPUは、MPU(Microprocessor)とも呼ばれる。CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一の
ソケットで接続される単一のCPUがマルチコア構成を有していても良い。
In the present embodiment, the CPU 101 or the CPU included in the control unit 102A of the memory control unit 102 is also called an MPU (Microprocessor). The CPU is not limited to a single processor, and may have a multiprocessor configuration. Further, a single CPU connected by a single socket may have a multi-core configuration.

上記メモリ入出力部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 / output unit 12, the memory performance monitoring unit 13, and the memory performance determination unit 14 is performed by a processor other than the CPU, for example, a Digital Signal Processor (DSP), a Graphics Processing Unit (GPU), or a numerical value. It may be performed by a dedicated processor such as an arithmetic processor, a vector processor, or an image processor. Further, at least a part of the processing of each of the above parts may be an integrated circuit (IC) or other digital circuit. Further, an analog circuit may be included in at least a part of each of the above parts. Integrated circuits include LSIs, application specific integrated circuits (ASICs), and programmable logic devices (PLDs). The PLD includes, for example, a Field-Programmable Gate Array (FPGA). Each of the above parts
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 memory control unit 102. The process of FIG. 4 can also be said to be a memory control method. The control unit 102A of the memory control unit 102 executes the firmware stored in the ROM 102B, for example, as the memory input / output unit 12, the memory performance monitoring unit 13, and the memory performance determination unit 14 illustrated in FIG. In FIG. 4, the processes S1 to S4 are processes corresponding to the memory input / output unit 12. Before the start of the process of FIG. 4, the index value referred to in S6 and S7 is initially set to the best value (for example, the best value of throughput in the initialized state of eMMC13A).

制御部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 control unit 102A monitors whether or not the memory write of the CPU 101 occurs via the CPU interface 102C (S1). When the memory write occurs, the control unit 102A stores the write data in the write cache 17 of the SDRAM 103B (S2). The process of S2 is an example of storing the data written in the memory in the buffer circuit. Further, the control unit 102A determines whether or not the amount of data stored in the write cache 17 is equal to or greater than the threshold value (S3). Then, when the amount of data stored in the write cache 17 is not equal to or greater than the threshold value, the control unit 102A returns the process to S1. On the other hand, when the amount of data stored in the write cache 17 is equal to or greater than the threshold value, the control unit 102A writes the data of the write cache 17 to the eMMC 103A (S4). If YES in the determination of S3, it is an example that the amount of data stored in the buffer circuit reaches the reference value. The process of S4 is an example of writing the data stored in the buffer circuit to the memory when the amount of data stored in the buffer circuit reaches the reference value.
In FIG. 4, the process of S5 is a process corresponding to the memory performance monitoring unit 13. Further, the processes from S6 to S10 are processes corresponding to the memory performance determination unit 14.

S4でのeMMC103Aへの書き込み時、制御部102Aは、書き込みスループットを測定する(S5)。S5の処理は、バッファ回路のデータをメモリへ書き込むときに書込性能を測定することの一例でもある。 At the time of writing to the eMMC 103A in S4, the control unit 102A measures the write throughput (S5). The process of S5 is also an example of measuring the write performance when writing the data of the buffer circuit to the memory.

次に、制御部102Aは、今回測定されたスループットが指標値から所定値以上(例えば、10%以上)劣化した値であるか否かを判定する(S6)。今回測定されたスループットが指標値から所定値以上劣化した値である場合に、制御部102Aは、ライトキャッシュ17の閾値を下げる(S9)。そして、制御部102Aは、今回測定されたスループットで指標値を更新する(S10)。S6でYESの場合は、書込性能が指標値から所定以上劣化したときの一例である。S9およびS10の処理は、基準値を減少させるとともに劣化した書込性能で指標値を更新することの一例である。S10の処理は、書込性能の
指標値を記憶することの一例でもある。S9の処理は、書込性能が所定限度を超えて劣化した場合に基準値を減少させることの一例でもある。
Next, the control unit 102A determines whether or not the throughput measured this time is a value deteriorated by a predetermined value or more (for example, 10% or more) from the index value (S6). When the throughput measured this time is a value deteriorated by a predetermined value or more from the index value, the control unit 102A lowers the threshold value of the write cache 17 (S9). Then, the control unit 102A updates the index value with the throughput measured this time (S10). When YES in S6, it is an example when the writing performance deteriorates from the index value by a predetermined value or more. The processing of S9 and S10 is an example of reducing the reference value and updating the index value with the deteriorated writing performance. The process of S10 is also an example of storing the index value of the writing performance. The process of S9 is also an example of reducing the reference value when the writing performance deteriorates beyond a predetermined limit.

一方、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 control unit 102A improves the throughput measured this time by a predetermined value or more (for example, 10% or more) from the index value. It is determined whether or not the value is the same (S7). When the throughput measured this time is a value improved from the index value by a predetermined value or more, the control unit 102A raises the threshold value of the write cache 17 (S8). Then, the control unit 102A updates the index value with the throughput measured this time (S10). Then, the control unit 102A returns the process to S1. When YES in S7, it is an example when the writing performance is improved by a predetermined value or more from the index value. The processing of S8 and S10 is an example of increasing the reference value and updating the index value with the improved writing performance. The processing of S6 to S9 is an example of increasing or decreasing the reference value according to the writing performance. The process of S8 is an example of increasing the reference value when the writing performance is improved beyond a predetermined limit. The determination of S6 and S7 can be said to be a process of determining the deterioration or improvement of the throughput based on the relative change value from the index value.

以上述べたように、本実施の形態のメモリ制御部102は、eMMC103Aへの書き込み時、書き込みのスループットに応じて、ライトキャッシュ17の容量、つまり、閾値を増減する。したがって、メモリ制御部102は、eMMC103Aへの書き込みスループットに応じて、ライトキャッシュ17の容量を適正値に設定できる。 As described above, the memory control unit 102 of the present embodiment increases or decreases the capacity of the write cache 17, that is, the threshold value, according to the write throughput at the time of writing to the eMMC 103A. Therefore, the memory control unit 102 can set the capacity of the write cache 17 to an appropriate value according to the write throughput to the eMMC 103A.

書き込みスループットが劣化し、eMMC103Aへの書き込みに時間を要する場合には、メモリ制御部102は、ライトキャッシュ17の容量を小さくし、ライトキャッシュ17からeMMC103Aへの書き込み時間が増大しないように調整する。その結果、ライトキャッシュ17からeMMC103Aへの書き込みが発生したときに、利用者に操作性の低化等を感じる可能性が抑制される。一方、書き込みスループットが改善し、eMMC103Aへの書き込みにそれほど時間を要しない場合には、メモリ制御部102は、ライトキャッシュ17の容量を大きくし、極力ライトキャッシュ17を活用する。 When the write throughput deteriorates and it takes time to write to the eMMC 103A, the memory control unit 102 reduces the capacity of the write cache 17 and adjusts so that the write time from the write cache 17 to the eMMC 103A does not increase. As a result, when writing from the write cache 17 to the eMMC103A occurs, the possibility that the user feels a decrease in operability is suppressed. On the other hand, when the write throughput is improved and it does not take much time to write to the eMMC 103A, the memory control unit 102 increases the capacity of the write cache 17 and utilizes the write cache 17 as much as possible.

本実施の形態のメモリ制御部102は、書き込みスループットが指標値から所定値以上劣化したときに、ライトキャッシュ17の閾値を下げ、かつ、現在の書き込みスループットで指標値を更新する。また、本実施の形態のメモリ制御部102は、書き込みスループットが指標値から所定値以上改善したときに、ライトキャッシュ17の閾値を上げ、かつ、現在の書き込みスループットで指標値を更新する。したがって、メモリ制御部102は、指標値にしたがって書き込みスループットの良否を相対的に判定できるとともに、指標値の変動を抑制し、安定した判定ができる。 When the write throughput deteriorates by a predetermined value or more from the index value, the memory control unit 102 of the present embodiment lowers the threshold value of the write cache 17 and updates the index value with the current write throughput. Further, the memory control unit 102 of the present embodiment raises the threshold value of the write cache 17 and updates the index value with the current write throughput when the write throughput improves from the index value by a predetermined value or more. Therefore, the memory control unit 102 can relatively determine the quality of the write throughput according to the index value, suppress the fluctuation of the index value, and make a stable determination.

また、S5のように、メモリ制御部102は、ライトキャッシュ17からeMMC103Aへの書き込み時にスループットを測定する。したがって、メモリ制御部102は、実際のeMMC103Aへの書き込みのスループットにしたがって、ライトキャッシュ17の閾値を設定できる。
[実施形態2]
Further, as in S5, the memory control unit 102 measures the throughput at the time of writing from the write cache 17 to the eMMC103A. Therefore, the memory control unit 102 can set the threshold value of the write cache 17 according to the actual throughput of writing to the eMMC 103A.
[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 memory control unit 102. BKOPS is notified asynchronously from the eMMC103A to the control unit 102A. For example, the eMMC103A notifies the request of BKOPS as the response data when the data writing process is completed. Therefore, the control unit 102A of the memory control unit 102 may change the threshold value of the write cache 17 asynchronously when receiving the notification requesting BKOPS. FIG. 5 is an example of processing for asynchronously changing the threshold value of the write cache 17.

この処理では、制御部102Aは、eMMC103AからのBKOPSの要求の有無を判定する(S21)。eMMC103AからのBKOPSの要求は、例えば、制御部102Aのレジスタに入力される。eMMC103AからのBKOPSの要求を受けると、制御部102Aは、BKOPSの要求からBKOPSのレベルを取得する(S22)。BKOPSのレベルは、eMMC103Aの規格にしたがって定められている。例えば、レベル0は、最高レベル、つまり、eMMC103Aに不連続領域がない状態である。また、レベル3は、最悪レベルである。 In this process, the control unit 102A determines whether or not there is a request for BKOPS from the eMMC103A (S21). The BKOPS request from the eMMC103A is input to, for example, the register of the control unit 102A. Upon receiving the request for BKOPS from the eMMC103A, the control unit 102A acquires the level of BKOPS from the request for BKOPS (S22). The level of BKOPS is defined according to the standard of eMMC103A. For example, level 0 is the highest level, that is, the eMMC103A has no discontinuous region. Level 3 is the worst level.

次に、制御部102Aは、BKOPSのレベルが特定値以上であるか否かを判定する(S23)。S23の判定は、絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。BKOPSのレベルが特定値未満の場合、制御部102Aは、ライトキャッシュ17の閾値を上げる(S24)。一方、BKOPSのレベルが特定値以上である場合、制御部102Aは、ライトキャッシュ17の閾値を下げる(S25)。ここで、特定値は、BKOPSのレベルで、値2、あるいは値3等であり、事前設定された値である。 Next, the control unit 102A determines whether or not the level of BKOPS is equal to or higher than a specific value (S23). The determination in S23 can be said to be a process of determining the deterioration or improvement of the throughput based on the absolute value. When the level of BKOPS is less than a specific value, the control unit 102A raises the threshold value of the write cache 17 (S24). On the other hand, when the level of BKOPS is equal to or higher than a specific value, the control unit 102A lowers the threshold value of the write cache 17 (S25). Here, the specific value is a value 2 or a value 3 or the like at the level of BKOPS, which is a preset value.

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 control unit 102A determines whether or not the amount of data stored in the write cache 17 is equal to or greater than the threshold value (S26). When the amount of data stored in the write cache 17 is equal to or greater than the threshold value, the control unit 102A writes the data in the write cache 17 to the eMMC (S27). After that, the control unit 102A returns the process to S21.

以上述べたように、本実施形態では、メモリ制御部102の制御部102Aは、書き込みスループットを測定する代わりに、BKOPSのレベルをeMMC103Aから取得できる。また、制御部102Aは、BKOPSのレベルにしたがって、書込性能が所定値以下の範囲に劣化したか、所定値を超える範囲に改善したかを判定できる。すなわち、制御部102Aは、いわば、絶対値で書き込みスループットを判定できる。 As described above, in the present embodiment, the control unit 102A of the memory control unit 102 can acquire the level of BKOPS from the eMMC 103A instead of measuring the write throughput. Further, the control unit 102A can determine whether the writing performance has deteriorated to a range below a predetermined value or improved to a range exceeding a predetermined value according to the level of BKOPS. That is, the control unit 102A can determine the write throughput by an absolute value, so to speak.

なお、実施形態2では、メモリ制御部102の制御部102Aは、BKOPSのレベルを基に、キャッシュ17の閾値を増減した。しかし、このような処理に代えて、実施形態1と同様、制御部102Aが、eMMC103Aへの書き込み時に、書き込みスループットを測定してもよい。そして、制御部102Aは、測定した書き込みスループットが所定値以下の範囲か、所定値を超える範囲かに応じて、キャッシュ17の閾値を増減してもよい。このような処理は、スループットの絶対値によって、スループットの劣化あるいは改善を判断する処理といえる。
[実施形態3]
In the second embodiment, the control unit 102A of the memory control unit 102 increases or decreases the threshold value of the cache 17 based on the level of BKOPS. However, instead of such processing, the control unit 102A may measure the write throughput at the time of writing to the eMMC103A, as in the first embodiment. Then, the control unit 102A may increase or decrease the threshold value of the cache 17 depending on whether the measured write throughput is in the range of the predetermined value or less or the range exceeding the predetermined value. It can be said that such a process is a process of determining the deterioration or improvement of the throughput based on the absolute value of the throughput.
[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 memory control unit 102 interposed between the CPU 101 and the storage unit 103 updates the threshold value of the write cache 17, that is, the capacity, and writes the data stored in the write cache to the eMMC 103A. The processing was illustrated. In the third embodiment, instead of the memory control unit 102 in the first and second embodiments, the CPU 101 updates the threshold value of the write cache 17 and writes the data stored in the write cache 17 to the eMMC 103A. The components and actions of the third embodiment are the same as those of the first and second embodiments, except that the CPU 101 updates the threshold value of the write cache 17 and writes the data stored in the write cache 17 to the eMMC 103A. Therefore, among the components of the third embodiment, the same components as those of the first and second embodiments are designated by the same reference numerals as those of the first and second embodiments, and the description thereof will be omitted. In the third embodiment, the CPU 101 is an example of the control unit. The CPU 101 is also an example of a memory control device. The mobile terminal 1 is an example of an information processing device.

図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 hardware CPU 101, the memory control unit 102 and the storage unit 103 are exemplified as hardware. ing.

実施形態3のメモリ制御部102は、CPUメモリインターフェース102Eを有するが制御部102Aを有していない。つまり、実施形態3のメモリ制御部102は、CPUから記憶部103へのアクセス経路を提供するインターフェースである。なお、実施形態3の記憶部103の構成は、実施形態1、2と同一であるので、その説明を省略する。 The memory control unit 102 of the third embodiment has the CPU memory interface 102E but does not have the control unit 102A. That is, the memory control unit 102 of the third embodiment is an interface that provides an access route from the CPU to the storage unit 103. Since the configuration of the storage unit 103 of the third embodiment is the same as that of the first and second embodiments, the description thereof will be omitted.

実施形態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 CPU 101 executes the process as the memory input / output unit 12A, the memory performance monitoring unit 13A, and the memory performance determination unit 14A according to the computer program executably deployed in the storage unit 103. The programs corresponding to the memory input / output unit 12A, the memory performance monitoring unit 13A, and the memory performance determination unit 14A are included in, for example, an operating system (OS) module executed by the CPU 101. The CPU 101 holds an OS including these modules in, for example, the eMMC103A. The CPU 101 may hold the OS including these modules in a ROM or the like other than the eMMC103A. When the power is turned on, the CPU 101 loads the OS from the eMMC103A or ROM into the SDRAM 103B to provide the function as the mobile terminal 1.

実施形態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 / output unit 12, the memory performance monitoring unit 13, and the memory performance determination unit 14 of FIG. That is, the CPU 101 executes the process of FIG. 4 or the process of FIG. 5 in the same manner as the control unit 102A in the memory control unit 102 of FIG.

すなわち、図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 write cache 17 is asynchronously changed when the CPU 101 receives a BKOPS request. The CPU 101 is asynchronously notified of the BKOPS request together with the response to the write request to the eMMC103A. In FIG. 5, S21 and S22 are processes corresponding to the memory performance monitoring unit 13A. S23 to S25 are processes corresponding to the memory performance determination unit 14A. Further, S26 to S27 are processes corresponding to the memory input / output unit 12A.

以上述べたように、図2に例示したメモリ制御部102の制御部102Aがない場合であっても、CPU101は、図4あるいは図5の処理を実行することで、eMMC103Aへの書き込み時、書き込みスループットに応じて、ライトキャッシュ17の容量、つまり、閾値を増減する。したがって、書き込みスループットが劣化し、eMMC103Aへの書き込みに時間を要する場合には、CPU101は、ライトキャッシュ17の容量を小さくし、ライトキャッシュ17からeMMC103Aへの書き込み時間が増大しないよう
に調整する。その結果、ライトキャッシュ17からeMMC103Aへの書き込みが発生したときに、利用者に操作性の劣化等を感じる可能性が抑制される。
As described above, even when the control unit 102A of the memory control unit 102 illustrated in FIG. 2 is not provided, the CPU 101 executes the process of FIG. 4 or 5 to write to the eMMC 103A at the time of writing. The capacity of the write cache 17, that is, the threshold value is increased or decreased according to the throughput. Therefore, when the write throughput deteriorates and it takes time to write to the eMMC103A, the CPU 101 adjusts the capacity of the write cache 17 so as not to increase the write time from the write cache 17 to the eMMC103A. As a result, when writing from the write cache 17 to the eMMC103A occurs, the possibility that the user feels deterioration in operability or the like is suppressed.

なお、以上の実施形態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 / output unit 13, 13A Memory performance monitoring unit 14, 14A Memory performance judgment unit 101 CPU
102 Memory control unit 102A Control unit 102B ROM
103 Storage unit 103A eMMC
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.
前記制御部は、前記バッファ回路のデータを前記メモリへ書き込むときに前記書込性能を測定する請求項1に記載のメモリ制御装置。 The memory control device according to claim 1, wherein the control unit measures the write performance when writing data of the buffer circuit to the memory. 前記制御部は、前記メモリから前記書込性能を取得する請求項1または2に記載のメモリ制御装置。 The memory control device according to claim 1 or 2 , wherein the control unit acquires the write performance from the memory. プロセッサと、
メモリと、を備え、
前記プロセッサは、
前記プロセッサからメモリに書込まれるデータをバッファ回路に記憶するとともに前記バッファ回路に記憶されたデータの量が基準値に達すると前記バッファ回路に記憶されたデータを前記メモリへ書き込むことと、
前記メモリへのデータの書込性能に応じて前記基準値を増減することと、を実行し、
前記基準値を増減することは、
前記書込性能の指標値を記憶しておき、前記書込性能が前記指標値から所定以上劣化
したときに前記基準値を減少させるとともに前記劣化した書込性能で前記指標値を更新することと、
前記書込性能が前記指標値から所定以上改善したときに前記基準値を増加させるとともに前記改善した書込性能で前記指標値を更新することと、を含む、情報処理装置。
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.
JP2016196534A 2016-10-04 2016-10-04 Memory control device, information processing device, and memory control method Active JP6832116B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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