JP2019049922A - Memory access device and memory access method - Google Patents

Memory access device and memory access method Download PDF

Info

Publication number
JP2019049922A
JP2019049922A JP2017174615A JP2017174615A JP2019049922A JP 2019049922 A JP2019049922 A JP 2019049922A JP 2017174615 A JP2017174615 A JP 2017174615A JP 2017174615 A JP2017174615 A JP 2017174615A JP 2019049922 A JP2019049922 A JP 2019049922A
Authority
JP
Japan
Prior art keywords
memory
access
instruction
volatile memory
unit
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.)
Granted
Application number
JP2017174615A
Other languages
Japanese (ja)
Other versions
JP6950383B2 (en
Inventor
裕崇 川島
Hirotaka Kawashima
裕崇 川島
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.)
Toyota Industries Corp
Original Assignee
Toyota Industries Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Industries Corp filed Critical Toyota Industries Corp
Priority to JP2017174615A priority Critical patent/JP6950383B2/en
Publication of JP2019049922A publication Critical patent/JP2019049922A/en
Application granted granted Critical
Publication of JP6950383B2 publication Critical patent/JP6950383B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

To provide a memory access device where a memory manager efficiently accesses a volatile memory by the same processing operation as a non-volatile memory without changing an operation of an application program.SOLUTION: A memory access device (1) includes memory driving units (113 and 114) for executing access to memories (12 and 13), and a memory management unit (112) for providing data assurance to the memories. When receiving an access request from an application execution unit (111), the memory management unit sets an access flag indicating that the device is accessing the memories, when receiving an instruction success notification of transmitting an access instruction to the memory driving units and responding to the access instruction from the memory driving units, the memory management unit resets the access flag and notifies the application execution unit of completion of the access.SELECTED DRAWING: Figure 1

Description

本発明は、メモリアクセス装置及びメモリアクセス方法に関する。   The present invention relates to a memory access device and a memory access method.

車載用ソフトウェアのプラットフォームの仕様として、例えば、AUTOSAR(Automotive Open System Architecture)が知られている。例えば、車両に搭載されたECU(Electronic Control Unit)の動作に必要なパラメータ値等は、仮にECUがリセットされても不揮発性メモリに確実に記憶されていることが望まれる。そこで、AUTOSARでは、NvM(Non-volatile Random Access Memory Manager)は、不揮発性メモリに対するデータ保証を提供する。データ保証としては、例えば、不揮発性メモリ内の複数箇所での同一データの保持、CRC(Cyclic Redundancy Check)、及びデータの書き込み/読み込みのリトライ等が挙げられる。   For example, AUTOSAR (Automotive Open System Architecture) is known as a specification of a platform for automotive software. For example, it is desirable that parameter values and the like necessary for the operation of an ECU (Electronic Control Unit) mounted on a vehicle be stored in a non-volatile memory with certainty even if the ECU is reset. Therefore, in AUTOSAR, NvM (Non-Volatile Random Access Memory Manager) provides data guarantee for nonvolatile memory. The data guarantee includes, for example, retention of the same data at multiple locations in the non-volatile memory, cyclic redundancy check (CRC), and data write / read retry.

なお、関連する技術として、特許文献1〜3に記載の技術が知られている。   In addition, the technique of patent document 1-3 is known as a related technique.

特開2009−110150号公報JP, 2009-110150, A 特開2014−194682号公報JP, 2014-194682, A 特開2014−203405号公報JP, 2014-203405, A

揮発性メモリにおいても、少なくとも一部のデータを記憶し続ける省電力モードからの復帰時に、不揮発性メモリと同様のデータ保証が望まれることがある。そこで、不揮発性メモリへのアクセス(データの書き込み/読み込み)を前提としたNvMを揮発性メモリへのアクセスにも利用することが考えらえる。しかしながら、NvMを揮発性メモリへのアクセスに適用すると、NvMが適切に動作しない虞がある。具体的には、不揮発性メモリでは、データの書き込み/読み出しに時間がかかるため、NvMは、不揮発性メモリへのアクセス要求をアプリケーションプログラムから受信すると、メモリドライバに対して非同期アクセス処理を行う。一方、揮発性メモリでは、データの書き込み/読み出しに時間がかからないため、NvMは、メモリドライバに対して同期アクセス処理を行うことが望ましいが、同期アクセス処理を行うことを想定していない。   Even in volatile memory, when returning from a power saving mode in which at least a part of data is continuously stored, it may be desirable to guarantee the same data as non-volatile memory. Therefore, it can be considered to use NvM for access to volatile memory on the premise of access to nonvolatile memory (data write / read). However, when NvM is applied to access to volatile memory, NvM may not operate properly. Specifically, in the non-volatile memory, since it takes time to write / read data, the NvM performs an asynchronous access process on the memory driver when an access request to the non-volatile memory is received from the application program. On the other hand, in the volatile memory, since it does not take time to write / read data, it is desirable for NvM to perform synchronous access processing to the memory driver, but it is not assumed to perform synchronous access processing.

本発明の一側面に係る目的は、アプリケーションプログラムの動作に変更を加えずに、メモリマネージャが不揮発性メモリと同じ処理動作によって揮発性メモリに効率よくアクセスするメモリアクセス装置を提供することである。   An object according to one aspect of the present invention is to provide a memory access device in which a memory manager efficiently accesses volatile memory by the same processing operation as nonvolatile memory without changing the operation of an application program.

本発明に係る一つの形態であるメモリアクセス装置は、メモリ駆動部及びメモリ管理部を備える。メモリ駆動部は、メモリへのアクセスを実行する。メモリ管理部は、メモリに対するデータ保証を提供する。メモリ管理部は、アクセス要求をアプリケーション実行部から受信すると、メモリへのアクセス中であることを示すアクセスフラグを立て、アクセス指示をメモリ駆動部へ送信する。また、メモリ管理部は、アクセス指示に応答する指示成功通知をメモリ駆動部から受信すると、アクセス要求に応答するアクセス要求指示完了をアプリケーション実行部へ通知する。さらに、メモリ管理部は、アクセス完了通知をメモリ駆動部から受信すると、アクセスフラグを倒し、アクセスの完了をアプリケーション実行部へ通知する。   A memory access device according to one aspect of the present invention includes a memory driver and a memory manager. The memory driver performs access to the memory. The memory manager provides data assurance for the memory. When the memory management unit receives an access request from the application execution unit, the memory management unit sets an access flag indicating that the memory is being accessed, and transmits an access instruction to the memory drive unit. When the memory management unit receives an instruction success notification in response to the access instruction from the memory drive unit, the memory management unit notifies the application execution unit of access request instruction completion in response to the access request. Furthermore, when the memory management unit receives an access completion notification from the memory drive unit, the memory management unit turns off the access flag and notifies the application execution unit of the completion of the access.

一実施形態に従ったメモリアクセス装置によれば、アプリケーションプログラムの動作に変更を加えずに、メモリマネージャが不揮発性メモリと同じ処理動作によって揮発性メモリに効率よくアクセスすることができる。   According to the memory access device according to one embodiment, the memory manager can efficiently access the volatile memory by the same processing operation as the nonvolatile memory without changing the operation of the application program.

実施形態に従ったメモリアクセス装置の構成例を示す図である。It is a figure showing an example of composition of a memory access device according to an embodiment. 実施形態に従ったメモリアクセス装置が行うメモリへのアクセス処理の一連の動作の一例を説明する図である。It is a figure explaining an example of a series of operations of access processing to a memory which a memory access device according to an embodiment performs.

以下図面に基づいて実施形態について詳細を説明する。
図1は、実施形態に従ったメモリアクセス装置の構成例を示す図である。図1に示すメモリアクセス装置1は、例えば、車両に搭載されるECU(図示せず)が備えるコンピュータ(例えば、マイクロコンピュータ)であってもよい。図1に示す一例では、メモリアクセス装置1は、制御部11、不揮発性メモリ12、及び揮発性メモリ13を含む。不揮発性メモリ12は、例えば、フラッシュメモリであり、揮発性メモリ13は、例えば、RAM(Random Access Memory)である。
Hereinafter, embodiments will be described in detail based on the drawings.
FIG. 1 is a diagram showing a configuration example of a memory access device according to the embodiment. The memory access device 1 illustrated in FIG. 1 may be, for example, a computer (for example, a microcomputer) included in an ECU (not shown) mounted on a vehicle. In the example illustrated in FIG. 1, the memory access device 1 includes a control unit 11, a non-volatile memory 12, and a volatile memory 13. The non-volatile memory 12 is, for example, a flash memory, and the volatile memory 13 is, for example, a random access memory (RAM).

なお、以下の説明において、不揮発性メモリ12及び揮発性メモリ13を特に区別しない場合にはメモリと記載することがある。また、メモリへのデータの書き込みと、メモリからのデータの読み出しとを特に区別しない場合には、メモリへのアクセスと記載することがある。   In the following description, the non-volatile memory 12 and the volatile memory 13 may be described as a memory when they are not particularly distinguished. In addition, in the case where writing of data to the memory and reading of data from the memory are not particularly distinguished, it may be described as access to the memory.

制御部11は、例えば、CPU(Central Processing Unit)、マルチコアCPU、又はプログラマブルなデバイス(FPGA(Field Programmable Gate Array)やPLD(Programmable Logic Device)等)により構成される。制御部11は、アプリケーション実行部111、メモリ管理部112、不揮発性メモリ駆動部113、及び揮発性メモリ駆動部114を含む。不揮発性メモリ駆動部113及び揮発性メモリ駆動部114は、実施形態に従ったメモリ駆動部の一例である。なお、以下の説明において不揮発性メモリ駆動部113及び揮発性メモリ駆動部114を特に区別しない場合には、メモリ駆動部と記載することがある。   The control unit 11 is configured of, for example, a central processing unit (CPU), a multi-core CPU, or a programmable device (such as a field programmable gate array (FPGA) or a programmable logic device (PLD)). The control unit 11 includes an application execution unit 111, a memory management unit 112, a non-volatile memory drive unit 113, and a volatile memory drive unit 114. The non-volatile memory drive unit 113 and the volatile memory drive unit 114 are an example of a memory drive unit according to the embodiment. In the following description, the non-volatile memory drive unit 113 and the volatile memory drive unit 114 may be described as a memory drive unit when they are not particularly distinguished.

なお、実施形態によっては、制御部11を構成する各部111〜114は、ハードウェアである制御部11が実行するソフトウェアであってもよい。こうした実施形態では、例えば、制御部11は、不揮発性メモリ12に記憶された各部111〜114を揮発性メモリ13に読み出して実行するように構成されてもよい。   Note that, depending on the embodiment, the units 111 to 114 configuring the control unit 11 may be software that is executed by the control unit 11 that is hardware. In such an embodiment, for example, the control unit 11 may be configured to read out the units 111 to 114 stored in the non-volatile memory 12 to the volatile memory 13 and execute them.

アプリケーション実行部111は、例えば、センサからのデータ取得や、アクチュエータへの制御データの出力等の所定目的の動作を実行する。アプリケーション実行部111がソフトウェアで実装される場合、アプリケーション実行部111は、例えば、AUTOSARのアプリケーションレイヤに含まれるアプリケーションプログラムであってもよい。   The application execution unit 111 executes, for example, an operation of a predetermined purpose such as data acquisition from a sensor and output of control data to an actuator. When the application execution unit 111 is implemented by software, the application execution unit 111 may be, for example, an application program included in an application layer of AUTOSAR.

メモリ管理部112は、データの記憶及び維持を保証するためのサービス、すなわちデータ保証を不揮発性メモリ12及び揮発性メモリ13に対して提供する。提供するデータ保証としては、例えば、メモリ内の複数箇所での同一データの保持、CRC、及びデータの書き込み/読み込みのリトライ等が挙げられる。メモリ管理部112がソフトウェアで実装される実施形態では、メモリ管理部112は、例えば、AUTOSARのサービスレイヤに含まれるNvMであってもよい。   The memory management unit 112 provides a service for guaranteeing storage and maintenance of data, that is, a data guarantee to the non-volatile memory 12 and the volatile memory 13. The data guarantee to be provided includes, for example, retention of the same data at a plurality of locations in the memory, CRC, and retry of writing / reading data. In an embodiment in which the memory management unit 112 is implemented by software, the memory management unit 112 may be, for example, NvM included in the service layer of AUTOSAR.

また、メモリ管理部112は、アプリケーション実行部111から受信したメモリへのアクセス要求に従って、不揮発性メモリ駆動部113及び揮発性メモリ駆動部114の何れか一方へアクセス指示を送信する。すなわち、不揮発性メモリ12へのアクセスをアプリケーション実行部111が要求する場合には、メモリ管理部112は、不揮発性メモリ12へのアクセス指示を不揮発性メモリ駆動部113へ送信する。また、揮発性メモリ13へのアクセスをアプリケーション実行部111が要求する場合には、メモリ管理部112は、揮発性メモリ13へのアクセス指示を揮発性メモリ駆動部114へ送信する。メモリ管理部112がソフトウェアで実装される実施形態では、メモリ管理部112は、例えば、上述したNvMであると共に、AUTOSARのECU抽象化レイヤに含まれるMemlf(Memory Abstraction Interface)であってもよい。なお、実施形態によっては、メモリ管理部112は、NvMの機能を有する構成要素と、Memlfの機能を有する構成要素とに分けられてもよい。   Also, the memory management unit 112 transmits an access instruction to one of the non-volatile memory drive unit 113 and the volatile memory drive unit 114 according to the access request to the memory received from the application execution unit 111. That is, when the application execution unit 111 requests access to the nonvolatile memory 12, the memory management unit 112 transmits an access instruction to the nonvolatile memory 12 to the nonvolatile memory drive unit 113. When the application execution unit 111 requests access to the volatile memory 13, the memory management unit 112 transmits an access instruction to the volatile memory 13 to the volatile memory drive unit 114. In an embodiment in which the memory management unit 112 is implemented by software, the memory management unit 112 may be, for example, a Memory Abstraction Interface (Memlf) included in the AUTOSAR ECU abstraction layer as well as the NvM described above. Note that, depending on the embodiment, the memory management unit 112 may be divided into a component having the NvM function and a component having the Memlf function.

不揮発性メモリ駆動部113は、不揮発性メモリ12へのアクセスを実行する。具体的には、例えば、不揮発性メモリ駆動部113は、メモリ管理部112から受信したアクセス指示に従ってアクセス命令を不揮発性メモリ12へ送信する。アクセス命令は、アクセス対象のデータとアクセス先のアドレスとを含んでもよい。また、例えば、不揮発性メモリ12がアクセス命令に従ったアクセスを完了すると、不揮発性メモリ駆動部113は、アクセス完了通知をメモリ管理部112へ送信する。不揮発性メモリ駆動部113がソフトウェアで実装される実施形態では、不揮発性メモリ駆動部113は、例えば、AUTOSARのECU抽象化レイヤに含まれるFee(Flash EEPROM Emulation)やマイコン抽象化レイヤに含まれるFls(Flash Driver)であってもよい。   The non-volatile memory drive unit 113 executes access to the non-volatile memory 12. Specifically, for example, the non-volatile memory drive unit 113 transmits an access instruction to the non-volatile memory 12 in accordance with the access instruction received from the memory management unit 112. The access instruction may include data to be accessed and an address of the access destination. Also, for example, when the non-volatile memory 12 completes the access according to the access command, the non-volatile memory drive unit 113 transmits an access completion notification to the memory management unit 112. In the embodiment in which the non-volatile memory drive unit 113 is implemented by software, the non-volatile memory drive unit 113 is, for example, a Flash (EEPROM Emulation) included in the ECU abstraction layer of AUTOSAR or Fls included in the microcomputer abstraction layer. (Flash Driver) may be used.

揮発性メモリ駆動部114は、揮発性メモリ13へのアクセスを実行する。具体的には、例えば、揮発性メモリ駆動部114は、メモリ管理部112から受信したアクセス指示に従ってアクセス命令を揮発性メモリ13へ送信する。また、例えば、揮発性メモリ駆動部114は、揮発性メモリ13へアクセス命令を送信すると、アクセス完了通知をメモリ管理部112へ送信する。揮発性メモリ駆動部114がソフトウェアで実装される実施形態では、揮発性メモリ駆動部114は、例えば、AUTOSARのECU抽象化レイヤやマイコン抽象化レイヤに含まれ得る揮発性メモリ用のドライバソフトウェアであってもよい。   The volatile memory driver 114 executes access to the volatile memory 13. Specifically, for example, the volatile memory drive unit 114 transmits an access instruction to the volatile memory 13 in accordance with the access instruction received from the memory management unit 112. Also, for example, when the volatile memory drive unit 114 transmits an access command to the volatile memory 13, the volatile memory drive unit 114 transmits an access completion notification to the memory management unit 112. In the embodiment where the volatile memory driver 114 is implemented by software, the volatile memory driver 114 is, for example, driver software for volatile memory that may be included in the AUTOSAR ECU abstraction layer or the microcomputer abstraction layer. May be

メモリアクセス装置1が実行するメモリへのアクセス処理動作の具体例を図2を更に参照しながら説明する。
図2(A)は、実施形態に従ったメモリアクセス装置が行う不揮発性メモリへのアクセス処理の一連の動作の一例を説明する図である。
A specific example of the memory access processing operation executed by the memory access device 1 will be described with further reference to FIG.
FIG. 2A is a view for explaining an example of a series of operations of access processing to nonvolatile memory performed by the memory access device according to the embodiment.

メモリ管理部112は、不揮発性メモリ12へのアクセス要求をアプリケーション実行部111から受信すると、アクセスフラグを立てる(動作A)。アクセスフラグは、メモリへのアクセス中であることを示すフラグである。例えば、メモリへのアクセスがメモリへのデータの書き込みである場合には、アクセスフラグはメモリへのデータの書き込み中であることを示すフラグである。また、メモリへのアクセスがメモリからのデータの読み出しである場合には、アクセスフラグはメモリからのデータの読み出し中であることを示すフラグである。   When the memory management unit 112 receives an access request to the non-volatile memory 12 from the application execution unit 111, the memory management unit 112 sets an access flag (operation A). The access flag is a flag indicating that the memory is being accessed. For example, when the access to the memory is the writing of data to the memory, the access flag is a flag indicating that the data is being written to the memory. When the access to the memory is reading of data from the memory, the access flag is a flag indicating that data is being read from the memory.

メモリ管理部112は、アプリケーション実行部111から受信したアクセス要求に従って、不揮発性メモリ駆動部113及び揮発性メモリ駆動部114の何れか一方へメモリへのアクセス指示を送信する(動作B)。図2(A)に示す一例では、受信したアクセス要求は不揮発性メモリ12へのアクセス要求であるため、メモリ管理部112は、不揮発性メモリ12へのアクセス指示を不揮発性メモリ駆動部113へ送信する。   The memory management unit 112 transmits a memory access instruction to one of the non-volatile memory drive unit 113 and the volatile memory drive unit 114 according to the access request received from the application execution unit 111 (operation B). In the example shown in FIG. 2A, since the received access request is an access request to the non-volatile memory 12, the memory management unit 112 transmits an access instruction to the non-volatile memory 12 to the non-volatile memory drive unit 113. Do.

不揮発性メモリ駆動部113は、メモリ管理部112から受信したアクセス指示に従ってアクセス命令を不揮発性メモリ12へ送信する。前述したように、アクセス命令は、アクセス対象のデータとアクセス先のアドレスとを含んでもよい。アクセス命令を不揮発性メモリ12へ送信すると、不揮発性メモリ駆動部113は、メモリ管理部112から受信したアクセス指示に応答する指示成功通知をメモリ管理部112へ送信する。   The non-volatile memory drive unit 113 transmits an access command to the non-volatile memory 12 in accordance with the access instruction received from the memory management unit 112. As described above, the access instruction may include data to be accessed and an address of the access destination. When the access command is transmitted to the non-volatile memory 12, the non-volatile memory drive unit 113 transmits, to the memory management unit 112, an instruction success notification in response to the access instruction received from the memory management unit 112.

メモリ管理部112は、送信したアクセス指示に応答する指示成功通知を不揮発性メモリ駆動部113から受信すると、受信したアクセス要求に応答するアクセス要求指示完了をアプリケーション実行部111へ通知する(動作C)。そして、アクセス要求指示完了を通知してから、メモリへのアクセス完了を示すアクセス完了通知を不揮発性メモリ駆動部113から受信するまでの間、メモリ管理部112は、受信したアクセス要求に従った処理とは別の処理を実行してもよい。このように、メモリ管理部112は、不揮発性メモリ駆動部113への非同期アクセス処理を行い得る。   When the memory management unit 112 receives from the non-volatile memory drive unit 113 an instruction success notification in response to the transmitted access instruction, the memory management unit 112 notifies the application execution unit 111 of access request instruction completion in response to the received access request (operation C). . Then, after notifying the completion of the access request instruction, the memory management unit 112 performs processing in accordance with the received access request until the access completion notification indicating the access completion to the memory is received from the non-volatile memory drive unit 113. Other processes may be executed. Thus, the memory management unit 112 can perform asynchronous access processing to the non-volatile memory drive unit 113.

アプリケーション実行部111は、アクセス要求指示完了をメモリ管理部112から受信すると、送信したアクセス要求に従った不揮発性メモリ12へのアクセスが受け付けられたと判定する。   When receiving the access request instruction completion from the memory management unit 112, the application execution unit 111 determines that the access to the nonvolatile memory 12 according to the transmitted access request has been accepted.

その後、不揮発性メモリ12がアクセス命令に従ったアクセスを完了すると、不揮発性メモリ駆動部113は、アクセス完了通知をメモリ管理部112へ送信する。メモリ管理部112は、アクセス完了通知を不揮発性メモリ駆動部113から受信すると、アクセスフラグを倒す(動作D)。そして、メモリ管理部112は、不揮発性メモリ12へのアクセス完了をアプリケーション実行部111へ通知する(動作E)。   Thereafter, when the non-volatile memory 12 completes the access according to the access command, the non-volatile memory drive unit 113 transmits an access completion notification to the memory management unit 112. When receiving the access completion notification from the non-volatile memory drive unit 113, the memory management unit 112 turns off the access flag (operation D). Then, the memory management unit 112 notifies the application execution unit 111 that access to the non-volatile memory 12 is completed (operation E).

アプリケーション実行部111は、不揮発性メモリ12へのアクセス完了をメモリ管理部112から受信すると、送信したアクセス要求に従った不揮発性メモリ12へのアクセスが完了したと判定する。   When the application execution unit 111 receives the access completion to the nonvolatile memory 12 from the memory management unit 112, it determines that the access to the nonvolatile memory 12 according to the transmitted access request is completed.

図2(B)は、実施形態に従ったメモリアクセス装置が行う揮発性メモリへのアクセス処理の一連の動作の一例を説明する図である。
メモリ管理部112は、揮発性メモリ13へのアクセス要求をアプリケーション実行部111から受信すると、アクセスフラグを立てる(動作A)。そして、メモリ管理部112は、アプリケーション実行部111から受信したアクセス要求に従って、不揮発性メモリ駆動部113及び揮発性メモリ駆動部114の何れか一方へメモリへのアクセス指示を送信する(動作B)。図2(B)に示す一例では、受信したアクセス要求は揮発性メモリ13へのアクセス要求であるため、メモリ管理部112は、揮発性メモリ13へのアクセス指示を揮発性メモリ駆動部114へ送信する。
FIG. 2B is a view for explaining an example of a series of operations of access processing to volatile memory performed by the memory access device according to the embodiment.
When the memory management unit 112 receives an access request for the volatile memory 13 from the application execution unit 111, the memory management unit 112 sets an access flag (operation A). Then, in accordance with the access request received from the application execution unit 111, the memory management unit 112 transmits a memory access instruction to one of the non-volatile memory drive unit 113 and the volatile memory drive unit 114 (operation B). In the example shown in FIG. 2B, since the received access request is an access request to the volatile memory 13, the memory management unit 112 transmits an access instruction to the volatile memory 13 to the volatile memory drive unit 114. Do.

揮発性メモリ駆動部114は、メモリ管理部112から受信したアクセス指示に従ってアクセス命令を揮発性メモリ13へ送信する。前述したように、揮発性メモリ13が行うアクセスには時間がかからない。そこで、揮発性メモリ駆動部114は、アクセス命令を揮発性メモリ13へ送信すると、アクセス完了通知をメモリ管理部112へ送信する。   The volatile memory drive unit 114 transmits an access instruction to the volatile memory 13 in accordance with the access instruction received from the memory management unit 112. As described above, the access performed by the volatile memory 13 does not take time. Therefore, when the volatile memory drive unit 114 transmits the access command to the volatile memory 13, the volatile memory drive unit 114 transmits an access completion notification to the memory management unit 112.

メモリ管理部112は、アクセス完了通知を揮発性メモリ駆動部114から受信すると、アクセスフラグを倒す(動作D)。そして、メモリ管理部112は、揮発性メモリ13へのアクセス完了をアプリケーション実行部111へ通知する(動作E)。このように、揮発性メモリ13が行うアクセスには時間がかからないため、メモリ管理部112は、揮発性メモリ駆動部114への同期アクセス処理を行う。   When the memory management unit 112 receives an access completion notification from the volatile memory drive unit 114, the memory management unit 112 turns off the access flag (operation D). Then, the memory management unit 112 notifies the application execution unit 111 that the access to the volatile memory 13 is completed (operation E). As described above, since the access performed by the volatile memory 13 does not take time, the memory management unit 112 performs synchronous access processing to the volatile memory drive unit 114.

アプリケーション実行部111は、不揮発性メモリ12へのアクセス完了をメモリ管理部112から受信すると、送信したアクセス要求に従った不揮発性メモリ12へのアクセスが完了したと判定する。   When the application execution unit 111 receives the access completion to the nonvolatile memory 12 from the memory management unit 112, it determines that the access to the nonvolatile memory 12 according to the transmitted access request is completed.

また、揮発性メモリ駆動部114は、アクセス完了通知をメモリ管理部112へ送信した後、メモリ管理部112から受信したアクセス指示に応答する指示成功通知をメモリ管理部112へ送信する。メモリ管理部112は、送信したアクセス指示に応答する指示成功通知を揮発性メモリ駆動部114から受信すると、受信したアクセス要求に応答するアクセス要求指示完了をアプリケーション実行部111へ通知する(動作C)。   Further, after transmitting the access completion notification to the memory management unit 112, the volatile memory drive unit 114 transmits, to the memory management unit 112, an instruction success notification in response to the access instruction received from the memory management unit 112. When the memory management unit 112 receives from the volatile memory drive unit 114 an instruction success notification in response to the transmitted access instruction, the memory management unit 112 notifies the application execution unit 111 that access request instruction completion in response to the received access request (operation C). .

アプリケーション実行部111は、アクセス要求指示完了をメモリ管理部112から受信すると、送信したアクセス要求に従った不揮発性メモリ12へのアクセスが受け付けられたと判定する。   When receiving the access request instruction completion from the memory management unit 112, the application execution unit 111 determines that the access to the nonvolatile memory 12 according to the transmitted access request has been accepted.

このように、メモリアクセス装置1によれば、メモリ管理部112が有するメモリ保証機能を不揮発性メモリ12のみならず揮発性メモリ13にも提供できる。
また、メモリ管理部112は、アプリケーション実行部111及びメモリ駆動部と連携して上述した動作A〜動作Eを行うことで、不揮発性メモリ12への非同期アクセス処理(図2(A))及び揮発性メモリ13への同期アクセス処理(図2(B))を行う。
As described above, according to the memory access device 1, the memory assurance function of the memory management unit 112 can be provided not only to the nonvolatile memory 12 but also to the volatile memory 13.
In addition, the memory management unit 112 performs the above-described operations A to E in cooperation with the application execution unit 111 and the memory drive unit, thereby performing asynchronous access processing (FIG. 2A) and volatilization to the nonvolatile memory 12. The synchronous access processing (FIG. 2B) to the sex memory 13 is performed.

すなわち、メモリ管理部112は、メモリ(不揮発性メモリ12又は揮発性メモリ13)へのアクセス要求をアプリケーション実行部111から受信すると、アクセスフラグを立てる(動作A)。そして、メモリ管理部112は、アプリケーション実行部111から受信したアクセス要求に従って、不揮発性メモリ駆動部113及び揮発性メモリ駆動部114の何れか一方へメモリへのアクセス指示を送信する(動作B)。   That is, when the memory management unit 112 receives an access request to the memory (the nonvolatile memory 12 or the volatile memory 13) from the application execution unit 111, the memory management unit 112 sets an access flag (operation A). Then, in accordance with the access request received from the application execution unit 111, the memory management unit 112 transmits a memory access instruction to one of the non-volatile memory drive unit 113 and the volatile memory drive unit 114 (operation B).

メモリ管理部112は、送信したアクセス指示に応答する指示成功通知をメモリ駆動部から受信すると、受信したアクセス要求に応答するアクセス要求指示完了をアプリケーション実行部111へ通知する(動作C)。   When the memory management unit 112 receives, from the memory drive unit, an instruction success notification in response to the transmitted access instruction, the memory management unit 112 notifies the application execution unit 111 of access request instruction completion in response to the received access request (operation C).

メモリ管理部112は、アクセス完了通知を揮発性メモリ駆動部から受信すると、アクセスフラグを倒す(動作D)。そして、メモリ管理部112は、メモリへのアクセスの完了をアプリケーション実行部111へ通知する(動作E)。   When the memory management unit 112 receives the access completion notification from the volatile memory drive unit, it turns off the access flag (operation D). Then, the memory management unit 112 notifies the application execution unit 111 of the completion of the access to the memory (operation E).

このように、メモリアクセス装置1によれば、メモリ管理部112は、不揮発性メモリ12への非同期アクセス処理とは順序が異なるだけで同様の動作によって、揮発性メモリ13への同期アクセス処理を行うことができる。   As described above, according to the memory access device 1, the memory management unit 112 performs synchronous access processing to the volatile memory 13 by the same operation except that the order is different from the asynchronous access processing to the nonvolatile memory 12. be able to.

さらに、メモリ管理部112は、メモリへのアクセス要求をアプリケーション実行部111から受信してからアクセス完了通知をメモリ駆動部から受信するまでの間、アクセスフラグを立てる。そこで、メモリ管理部112は、アクセスフラグが立っているときにアプリケーション実行部111からアクセス要求を新たに受信した場合には、該アクセス要求に対する処理を保留する。そして、メモリ管理部112は、アクセス完了通知をメモリ駆動部から受信してアクセスフラグを倒した後に、新たに受信したアクセス要求に対する処理を行う。すなわち、メモリ管理部112は、新たに受信したアクセス要求に従ったアクセス指示をメモリ駆動部へ送信する。   Furthermore, the memory management unit 112 sets an access flag during the period from the reception of the access request to the memory from the application execution unit 111 to the reception of the access completion notification from the memory drive unit. Therefore, when the memory management unit 112 newly receives an access request from the application execution unit 111 while the access flag is set, the memory management unit 112 suspends processing for the access request. Then, the memory management unit 112 receives an access completion notification from the memory drive unit and turns off the access flag, and then performs processing for the newly received access request. That is, the memory management unit 112 transmits an access instruction according to the newly received access request to the memory drive unit.

これに対し、アプリケーション実行部111は、送信したアクセス要求に応答するアクセス要求指示完了をメモリ管理部112から受信するまでは、新たなアクセス要求をメモリ管理部112へ送信しない。そこで、不揮発性メモリ12へのアクセス処理(図2(A))では、上述とは異なり、メモリ管理部112は、アクセス要求指示完了をアプリケーション実行部111へ送信する前提となる指示成功通知を不揮発性メモリ駆動部113から受信したときからアクセスフラグを立ててもよいはずである。しかしながら、揮発性メモリ13へのアクセス処理(図2(B))では、メモリ管理部112は、アクセス完了通知を揮発性メモリ駆動部114から受信する前に指示成功通知を揮発性メモリ駆動部114から受信する。このため、指示成功通知を揮発性メモリ駆動部114から受信したときからアクセスフラグを立てると、メモリ管理部112は、アクセス完了通知の受信を契機としてアクセスフラグを倒すことができない。アクセスフラグを倒すことができないと、メモリ管理部112は、アプリケーション実行部111から受信した新たなアクセス要求を実行できなくなる。   On the other hand, the application execution unit 111 does not transmit a new access request to the memory management unit 112 until it receives an access request instruction completion in response to the transmitted access request from the memory management unit 112. Therefore, in the process of accessing the non-volatile memory 12 (FIG. 2A), unlike the above, the memory management unit 112 nonvolatilely issues an instruction success notification that is a premise of transmitting the access request instruction completion to the application execution unit 111. The access flag may be set from the time of reception from the sex memory drive unit 113. However, in the process of accessing the volatile memory 13 (FIG. 2B), the memory management unit 112 transmits the instruction success notification to the volatile memory driver 114 before receiving the access completion notification from the volatile memory driver 114. Receive from Therefore, when the access flag is set from the time when the instruction success notification is received from the volatile memory drive unit 114, the memory management unit 112 can not turn down the access flag upon receiving the access completion notification. If the access flag can not be turned down, the memory management unit 112 can not execute the new access request received from the application execution unit 111.

そこで、前述したように、メモリ管理部112は、不揮発性メモリ12へのアクセス処理か揮発性メモリ13へのアクセス処理かを問わず、メモリへのアクセス要求をアプリケーション実行部111から受信したときからアクセスフラグを立てるように構成される。前述したように、アプリケーション実行部111は、送信したアクセス要求に応答するアクセス要求指示完了をメモリ管理部112から受信するまでは、新たなアクセス要求をメモリ管理部112へ送信しない。このため、不揮発性メモリ12へのアクセス処理(図2(A))において、アクセス要求をアプリケーション実行部111から受信したときからアクセスフラグを立てたとしても、アプリケーション実行部111の動作に変更を及ぼさない。   Therefore, as described above, the memory management unit 112 receives the access request to the memory from the application execution unit 111 regardless of whether the access processing to the nonvolatile memory 12 or the access processing to the volatile memory 13 is performed. It is configured to set an access flag. As described above, the application execution unit 111 does not transmit a new access request to the memory management unit 112 until it receives an access request instruction completion in response to the transmitted access request from the memory management unit 112. Therefore, even if the access flag is set after the access request is received from the application execution unit 111 in the process of accessing the nonvolatile memory 12 (FIG. 2A), the operation of the application execution unit 111 is changed. Absent.

したがって、実施形態に従ったメモリアクセス装置によれば、アプリケーションプログラムの動作に変更を加えずに、メモリマネージャが不揮発性メモリと同じ処理動作によって揮発性メモリに効率よくアクセスすることができる。   Therefore, according to the memory access device according to the embodiment, the memory manager can efficiently access the volatile memory by the same processing operation as the nonvolatile memory without changing the operation of the application program.

本発明は、以上の実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。   The present invention is not limited to the above embodiments, and various improvements and modifications can be made without departing from the scope of the present invention.

1 メモリアクセス装置
11 制御部
12 不揮発性メモリ
13 揮発性メモリ
111 アプリケーション実行部
112 メモリ管理部
113 不揮発性メモリ駆動部
114 揮発性メモリ駆動部
DESCRIPTION OF SYMBOLS 1 Memory access device 11 Control unit 12 Nonvolatile memory 13 Volatile memory 111 Application execution unit 112 Memory management unit 113 Nonvolatile memory drive unit 114 Volatile memory drive unit

Claims (7)

メモリへのアクセスを実行するメモリ駆動部と、
前記メモリに対するデータ保証を提供するメモリ管理部であって、
アクセス要求をアプリケーション実行部から受信すると、前記メモリへのアクセス中であることを示すアクセスフラグを立て、アクセス指示を前記メモリ駆動部へ送信し、
前記アクセス指示に応答する指示成功通知を前記メモリ駆動部から受信すると、前記アクセス要求に応答するアクセス要求指示完了を前記アプリケーション実行部へ通知し、
アクセス完了通知を前記メモリ駆動部から受信すると、前記アクセスフラグを倒し、前記アクセスの完了を前記アプリケーション実行部へ通知する
前記メモリ管理部と
を備えることを特徴とするメモリアクセス装置。
A memory driver for accessing the memory;
A memory management unit that provides data assurance for the memory, wherein
When an access request is received from an application execution unit, an access flag indicating that the memory is being accessed is set, and an access instruction is transmitted to the memory drive unit.
When an instruction success notification responsive to the access instruction is received from the memory driver, the application execution unit is notified of the completion of the access request instruction responsive to the access request,
A memory management unit which, when receiving an access completion notification from the memory drive unit, turns off the access flag and notifies the application execution unit of the completion of the access.
請求項1に記載のメモリアクセス装置であって、
前記メモリ駆動部は、不揮発性メモリに対する前記アクセスを実行する不揮発性メモリ駆動部と、揮発性メモリに対する前記アクセスを実行する揮発性メモリ駆動部とを含み、
前記メモリ管理部は、前記アプリケーション実行部から受信した前記アクセス要求に従って、前記不揮発性メモリ駆動部及び前記揮発性メモリ駆動部の何れか一方へ前記アクセス指示を送信する
ことを特徴とするメモリアクセス装置。
The memory access device according to claim 1,
The memory driver includes a non-volatile memory driver performing the access to the non-volatile memory, and a volatile memory driver performing the access to the volatile memory.
The memory access unit transmits the access instruction to any one of the non-volatile memory drive unit and the volatile memory drive unit according to the access request received from the application execution unit. .
請求項2に記載のメモリアクセス装置であって、
前記不揮発性メモリ駆動部は、前記アクセス指示に従ってアクセス命令を前記不揮発性メモリへ送信し、前記不揮発性メモリが前記アクセス命令に従った前記アクセスを完了すると前記アクセス完了通知を前記メモリ管理部へ送信し、
前記揮発性メモリ駆動部は、前記アクセス指示に従って前記アクセス命令を前記揮発性メモリへ送信し、前記アクセス命令を送信すると前記アクセス完了通知を前記メモリ管理部へ送信する
ことを特徴とするメモリアクセス装置。
The memory access device according to claim 2,
The non-volatile memory drive unit transmits an access instruction to the non-volatile memory according to the access instruction, and transmits the access completion notification to the memory management unit when the non-volatile memory completes the access according to the access instruction. And
The volatile memory driving unit transmits the access instruction to the volatile memory according to the access instruction, and transmits the access completion notification to the memory management unit when the access instruction is transmitted. .
請求項3に記載のメモリアクセス装置であって、
前記不揮発性メモリ駆動部は、前記アクセス命令を前記不揮発性メモリへ送信すると前記指示成功通知を前記メモリ管理部へ送信し、
前記揮発性メモリ駆動部は、前記アクセス完了通知を前記メモリ管理部へ送信した後に前記指示成功通知を前記メモリ管理部へ送信する
ことを特徴とするメモリアクセス装置。
The memory access device according to claim 3,
The non-volatile memory driver transmits the instruction success notification to the memory manager when the access command is transmitted to the non-volatile memory.
The memory access device, wherein the volatile memory drive unit transmits the instruction success notification to the memory management unit after transmitting the access completion notification to the memory management unit.
請求項4に記載のメモリアクセス装置であって、
前記メモリ管理部は、前記アクセスフラグが立っているときに前記アプリケーション実行部から前記アクセス要求を新たに受信した場合、前記アクセス完了通知を前記不揮発性メモリ駆動部又は前記揮発性メモリ駆動部から受信して前記アクセスフラグを倒した後に、新たに受信した前記アクセス要求に従った前記アクセス指示を前記不揮発性メモリ駆動部又は前記揮発性メモリ駆動部へ送信する
ことを特徴とするメモリアクセス装置。
The memory access device according to claim 4,
The memory management unit receives the access completion notification from the nonvolatile memory drive unit or the volatile memory drive unit when the access request is newly received from the application execution unit when the access flag is set. A memory access device characterized by transmitting the access instruction according to the newly received access request to the non-volatile memory drive unit or the volatile memory drive unit after turning over the access flag.
請求項1〜6の何れか一項に記載のメモリアクセス装置であって。
前記アクセスは、前記メモリへのデータの書き込み又は前記メモリからのデータの読み出しである
ことを特徴とするメモリアクセス装置。
The memory access device according to any one of claims 1 to 6.
The memory access device, wherein the access is writing of data to the memory or reading of data from the memory.
メモリへのアクセス要求をアプリケーション実行部から受信すると、前記メモリに対するデータ保証を提供するメモリ管理部は、前記メモリへのアクセス中であることを示すアクセスフラグを立て、アクセス指示をメモリ駆動部へ送信することと、
前記メモリ駆動部は、前記アクセス指示に従って前記メモリへのアクセスを実行することと、
前記アクセス指示に応答する指示成功通知を前記メモリ駆動部から受信すると、前記メモリ管理部は、前記アクセス要求に応答するアクセス要求指示完了を前記アプリケーション実行部へ通知することと、
アクセス完了通知を前記メモリ駆動部から受信すると、前記メモリ管理部は、前記アクセスフラグを倒し、前記アクセスの完了を前記アプリケーション実行部へ通知することと
を含むメモリアクセス方法。
When receiving an access request to the memory from the application execution unit, the memory management unit providing data guarantee to the memory sets an access flag indicating that the memory is being accessed, and transmits an access instruction to the memory drive unit And
The memory driving unit executes an access to the memory according to the access instruction;
Receiving an instruction success notification in response to the access instruction from the memory driver, the memory management unit notifying the application execution unit of the completion of the access request instruction in response to the access request;
The memory management unit, upon receiving an access completion notification from the memory drive unit, turning off the access flag, and notifying the application execution unit of the completion of the access.
JP2017174615A 2017-09-12 2017-09-12 Memory access device and memory access method Active JP6950383B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017174615A JP6950383B2 (en) 2017-09-12 2017-09-12 Memory access device and memory access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017174615A JP6950383B2 (en) 2017-09-12 2017-09-12 Memory access device and memory access method

Publications (2)

Publication Number Publication Date
JP2019049922A true JP2019049922A (en) 2019-03-28
JP6950383B2 JP6950383B2 (en) 2021-10-13

Family

ID=65905546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017174615A Active JP6950383B2 (en) 2017-09-12 2017-09-12 Memory access device and memory access method

Country Status (1)

Country Link
JP (1) JP6950383B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6045863A (en) * 1983-08-24 1985-03-12 Nec Corp Memory access controller
JPH1173379A (en) * 1997-06-20 1999-03-16 Sony Corp Data management device, data management method and storage device
JP2001242751A (en) * 1999-12-22 2001-09-07 Canon Inc Image forming device
JP2003150574A (en) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp Microcomputer
JP2006092077A (en) * 2004-09-22 2006-04-06 Kyocera Mita Corp Bus system
JP2008198098A (en) * 2007-02-15 2008-08-28 Oki Data Corp Information processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6045863A (en) * 1983-08-24 1985-03-12 Nec Corp Memory access controller
JPH1173379A (en) * 1997-06-20 1999-03-16 Sony Corp Data management device, data management method and storage device
JP2001242751A (en) * 1999-12-22 2001-09-07 Canon Inc Image forming device
JP2003150574A (en) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp Microcomputer
JP2006092077A (en) * 2004-09-22 2006-04-06 Kyocera Mita Corp Bus system
JP2008198098A (en) * 2007-02-15 2008-08-28 Oki Data Corp Information processor

Also Published As

Publication number Publication date
JP6950383B2 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
US10866797B2 (en) Data storage device and method for reducing firmware update time and data processing system including the device
EP3436922B1 (en) Methods and apparatus to perform erase-suspend operations in memory devices
US11347429B2 (en) Live firmware activation in a memory system
US10310810B2 (en) Memory system and method for controlling nonvolatile memory
US10108372B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
US10338846B2 (en) Method for reducing read buffer size requirements in NVMe based solid state drives
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
CN112131031A (en) Techniques for handling errors in persistent memory
US9311235B2 (en) Method of erasing information stored in a nonvolatile rewritable memory, storage medium and motor vehicle computer
US10579300B2 (en) Information handling system firmware persistent memory runtime reclaim
US20100169546A1 (en) Flash memory access circuit
JP2005071303A (en) Program starting device
JP2013225208A (en) Information processing apparatus, information processing method and program
KR102219759B1 (en) Storage device, data storage system having the same, and operation method thereof
US11194507B2 (en) Controller and operation method thereof
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
US11099778B2 (en) Controller command scheduling in a memory system to increase command bus utilization
JP2019049922A (en) Memory access device and memory access method
JP5644380B2 (en) Information processing device
US11113007B2 (en) Partial execution of a write command from a host system
JP2007172096A (en) Information processor and start control method
JP2019016086A (en) Automobile electronic control device
CN109147847B (en) Semiconductor device and flash memory control method
JP2016057817A (en) Information processing device
JP6596455B2 (en) Electronic control unit for automobile

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210128

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210802

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: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210906

R151 Written notification of patent or utility model registration

Ref document number: 6950383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151