JP2012137944A - Memory access device - Google Patents
Memory access device Download PDFInfo
- Publication number
- JP2012137944A JP2012137944A JP2010289965A JP2010289965A JP2012137944A JP 2012137944 A JP2012137944 A JP 2012137944A JP 2010289965 A JP2010289965 A JP 2010289965A JP 2010289965 A JP2010289965 A JP 2010289965A JP 2012137944 A JP2012137944 A JP 2012137944A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- read
- address
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、メモリからのデータの読み出しを高速化する技術に関する。 The present invention relates to a technique for speeding up reading of data from a memory.
従来のECC(Error Correcting Code)制御機能付メモリ制御装置は、ECC制御機能のないメモリ制御装置と比較して、データをメモリからリードする際にECCの検査および訂正の処理が余分に必要であり性能上不利である。
このため、従来のECC制御機能付メモリ制御装置は、リード要求の来ていない必要以上の先のアドレスのデータをある一定の量分あらかじめリードしてメモリ制御装置内のバッファに保持しておき、後にバッファ内にデータが記憶されているメモリのアドレスに対してリード要求が来た場合には、あらたにメモリに対するリード処理を行うことはせず、あらかじめリードして保持しておいたバッファ内のデータをリード要求元に送信することによって高速化を行っていた(例えば、特許文献1)。
Compared with a memory control device without an ECC control function, a conventional memory control device with an ECC (Error Correcting Code) control function requires extra ECC inspection and correction processing when reading data from the memory. It is disadvantageous in performance.
For this reason, the conventional memory control device with an ECC control function reads in advance a certain amount of data at an address beyond the necessity of a read request and holds it in a buffer in the memory control device, If a read request is made later for the memory address where the data is stored in the buffer, the memory is not read again, and the contents in the buffer that has been read and held in advance are not read. Speeding up is performed by transmitting data to the read request source (for example, Patent Document 1).
従来のメモリ制御装置は、水平ECC方式を採用し、データの幅方向にECC用のビット、またはECC用のメモリ素子を用意し(例えば図4で4の列をECC用ビット、またはデータとは別の素子とした場合)、なおかつ1回のメモリアクセスに必要となるサイズがリード要求元の要求するデータのサイズと同一か、いずれかがもう一方の整数倍である場合には効果があるが、その場合はメモリの素子にコストがかかるという課題がある。 The conventional memory control device adopts a horizontal ECC method, and prepares ECC bits or ECC memory elements in the width direction of data (for example, in FIG. 4, 4 columns are ECC bits or data). This is effective when the size required for one memory access is the same as the size of the data requested by the read request source, or one of them is an integer multiple of the other. In this case, there is a problem that the cost of the memory element is high.
また、近年の組込み機器などでは、メモリの容量自体はさほど大きなものが必要ではなく、ECC用にデータ幅の広いメモリ素子の使用、またはECC用にメモリ素子を別途用意するなどのコストをかけないで製品の信頼性を向上することが求められている。
そのためデータの深さ方向にECCを付加する垂直ECC方式の採用も必要となってきているが、メモリ上のデータの配置が深さ方向にずれていくため、従来のメモリ制御装置ではデータをあらかじめ余分にリードしてバッファに保持しておくために、リード要求のあったアドレスがメモリ上の、メモリのアクセス単位に対して途中のアドレスであった場合には余分なリードアクセスが発生してしまうという課題がある。
In recent embedded devices and the like, the memory capacity itself does not need to be so large, and there is no cost for using a memory element having a wide data width for ECC or preparing a memory element for ECC separately. Therefore, it is required to improve the reliability of products.
For this reason, it has become necessary to adopt a vertical ECC method in which ECC is added in the depth direction of data. However, since the arrangement of data on the memory is shifted in the depth direction, the conventional memory control device stores data in advance. In order to read extra data and keep it in the buffer, an extra read access will occur if the address requested to be read is an intermediate address for the memory access unit on the memory. There is a problem.
例えば、メモリでは垂直ECC方式を採用した図3のようなデータの配置がなされているが、リード要求元では図2のようなECCのないデータの配置でメモリのアドレスを認識している場合を想定する。
この場合に、ECCのないリード要求元のデータの配置(図2)上の10番地から16バイト(メモリのアクセス単位で1BANK分)をリードしようとすると、図3のメモリのアクセス単位(1BANKごと)ではBANK1とBANK2のリードが必要である。
このため、リード要求元のデータ配置(図2)上の次のBANKである20番地から1BANK分のリードを行うには、メモリのデータ配置(図3)ではBANK2とBANK3のリードが必要である。
このように、リード要求元のデータ配置(図2)上の10番地と20番地をリードするためには、BANK2(図3)を2回リードしなければならない。
あらかじめ先のアドレスまでバッファに先読みする従来の技術であっても、半端分が残るBANKまでリードした場合は、データとECCバイトが全て揃っている範囲内で、ECC検査、訂正を行い、バッファに入れるため、半端分を読み捨てる必要がある。
そして半端分のBANKのメモリリードが必要になった場合、再度同一のBANKをメモリから読み出す必要があり、効率的ではなかった。
For example, the memory is arranged with the data as shown in FIG. 3 adopting the vertical ECC method, but the read request source recognizes the memory address with the data arrangement without the ECC as shown in FIG. Suppose.
In this case, if an attempt is made to read 16 bytes from the
Therefore, in order to read 1 BANK from
Thus, in order to read
Even in the conventional technique of pre-reading the buffer up to the previous address in advance, when reading to BANK where half of the data is left, ECC check and correction are performed within the range where all the data and ECC bytes are prepared, and the buffer is stored. It is necessary to read and discard the half-length part to enter.
When the BANK memory read for half-end becomes necessary, it is necessary to read the same BANK from the memory again, which is not efficient.
この発明は上記のような課題を解決することを主な目的としており、リード要求のデータサイズとメモリ装置のアクセス単位が一致していない場合でも高速にデータを読み出せる方式を実現することを主な目的とする。 The main object of the present invention is to solve the above-described problems, and to realize a method capable of reading data at high speed even when the data size of the read request does not match the access unit of the memory device. With a purpose.
本発明に係るメモリアクセス装置は、
アドレス空間を特定サイズのアクセス単位で区切ってデータを記憶しているメモリ装置に接続され、
前記メモリ装置を用いるプロセッサ装置から前記メモリ装置内のデータに対するリード要求があった場合に、リード要求で要求されているデータが含まれるように前記メモリ装置からアクセス単位に従ってデータを読み出し、前記メモリ装置から読み出したデータを前記プロセッサ装置に対して出力するメモリアクセス部と、
前記メモリアクセス部により読み出されたデータのうち最後尾のアクセス単位のデータを選択して記憶するデータ記憶部とを有することを特徴とする。
A memory access device according to the present invention includes:
It is connected to a memory device that stores data by dividing the address space by an access unit of a specific size,
When there is a read request for data in the memory device from a processor device using the memory device, data is read from the memory device according to an access unit so that the data requested by the read request is included, and the memory device A memory access unit for outputting data read from the processor device;
And a data storage unit for selecting and storing data of the last access unit among the data read by the memory access unit.
本発明によれば、メモリ装置から読み出されたデータのうち最後尾のアクセス単位のデータをデータ記憶部にて保持するため、次のリード要求では、データ記憶部で保持されているアクセス単位以外のアクセス単位のみをメモリ装置から読み出せばよいので、リード要求のデータサイズとメモリ装置のアクセス単位が一致していない場合でも、同一のアクセス単位を再度メモリ装置から読み出す必要がなく、これにより高速なデータ読み出しが可能となる。 According to the present invention, the data in the last access unit among the data read from the memory device is held in the data storage unit. Therefore, in the next read request, other than the access unit held in the data storage unit Since it is only necessary to read the access unit from the memory device, even if the data size of the read request and the access unit of the memory device do not match, there is no need to read the same access unit from the memory device again. Data can be read.
実施の形態1.
本実施の形態では、リード要求のデータサイズに対してメモリ装置のアクセス単位が半端な場合におけるデータ読み出しの高速化を実現する方式を説明する。
図1は、本実施の形態に係るこの発明のメモリ制御システムの構成例を示す。
In this embodiment, a method for realizing high-speed data reading when the memory device access unit is odd with respect to the data size of the read request will be described.
FIG. 1 shows a configuration example of the memory control system of the present invention according to the present embodiment.
図1において、10は、プロセッサ装置たるCPU(Central Processing Unit)である。
11は、CPUコマンドバスである。
12は、CPUデータバスである。
In FIG. 1,
30は、メモリ装置(以下、単にメモリ30とも表記する)である。
メモリ装置30は、図4に示すように、アドレス空間を特定サイズのアクセス単位(図4の場合は16バイト)で区切ってデータを記憶している。
As shown in FIG. 4, the
20は、ECC制御機能付メモリリード/ライト制御部である。
ECC制御機能付メモリリード/ライト制御部20は、CPU10からメモリ30に対するCPUコマンドバス11を通じて受信したアドレス情報を含むライト要求について、CPUデータバス12を通じて受信したデータに対しECCを付加する。
また、CPUコマンドバス11を通じて受信したアドレスをメモリ30上のアドレスに変換して、メモリ30に対してメモリコマンドバス100を通じてアドレス情報を含むライト要求を発行し、ライト対象データをメモリデータバス500を通じて送信する。
また、CPU10からメモリ30に対するCPUコマンドバス11を通じて受信したアドレス情報を含むリード要求について、CPUコマンドバス11を通じて受信したアドレスをメモリ30上のアドレスに変換して、メモリ30に対してメモリコマンドバス100を通じてアドレス情報を含むリード要求を発行し、メモリ30から受信したリードデータをメモリデータバス500を通じて受信する。
なお、CPU10とECC制御機能付メモリリード/ライト制御部20との接続方法は、本構成のように1対1での接続でもよいし、I/Oバスとのブリッジやその他の機能手段が接続される汎用バスであってもよい。
The memory read / write
Also, the address received via the
Further, for a read request including address information received from the
The connection method between the
70は、データ選択制御部である。
データ選択制御部70は、CPU10からメモリ装置30内のデータに対するリード要求があった場合に、リード要求で要求されているデータが含まれるようにメモリ装置30からアクセス単位に従ってデータを読み出し、メモリ装置30から読み出したデータをECC制御機能付メモリリード/ライト制御部20を介してCPU10に対して出力する。
より具体的には、データ選択制御部70はECC制御機能付メモリリード/ライト制御部20からメモリ30に対して発行されたメモリコマンドをメモリコマンドバス100を介して入力し、メモリコマンドがメモリ30へのリード要求であった場合、リード予備データ保持部60に保持されているデータのメモリ30上に格納されているアドレスをリード予備データアドレス保持部50から入力して両者を比較し、比較した結果が一致した場合はリード予備データバス300から入力したリード予備データ保持部60のデータを選択してメモリデータバス500に出力し、比較した結果が一致しなかった場合はメモリ30からリードし、メモリデータインターフェースバス200を介して入力したデータを選択してメモリデータバス500に出力する。
また、ECC制御機能付メモリリード/ライト制御部20からメモリ30に対して発行されたメモリコマンドをメモリコマンドバス100を介して入力し、メモリコマンドがメモリ30へのライト要求であった場合、ECC制御機能付メモリリード/ライト制御部20からメモリデータバス500を介して入力したライトデータをそのままメモリ30へ出力する。
データ選択制御部70は、メモリコマンド出力制御部90とともに、メモリアクセス部を構成する。
When there is a read request for data in the
More specifically, the data
When a memory command issued from the memory read / write
The data
90は、メモリコマンド出力制御部である。
メモリコマンド出力制御部90は、ECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100を介して発行したメモリリードコマンドのアドレスがリード予備データアドレス保持部50に格納しているアドレスと一致した場合に、その情報をデータ選択制御部70からリード予備データアドレスヒット制御バス900によって受信し、メモリ30へはリードアクセスを出力しないようにする。
また、ECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100を介して発行したメモリリードコマンドのアドレスがリード予備データアドレス保持部50に格納しているアドレスと一致しなかった場合に、メモリ30に対してメモリリードアクセスを行う。
メモリコマンド出力制御部90は、データ選択制御部70とともにメモリアクセス部を構成する。
The memory command
In addition, when the address of the memory read command issued by the memory read /
The memory command
60は、リード予備データ保持部である。
リード予備データ保持部60は、データ選択制御部70及びメモリコマンド出力制御部90により読み出されたデータのうち最後尾のアクセス単位(BANK)のデータを選択して記憶する。
リード予備データ保持部60は、データ記憶部の例である。
The read spare
The read spare
50は、リード予備データアドレス保持部である。
リード予備データアドレス保持部50は、リード予備データ保持部60にデータが記憶される最後尾のアクセス単位のアドレス範囲を記憶する。
リード予備データアドレス保持部50は、アドレス記憶部の例である。
The read spare data address holding
The read spare data address holding
また、100はメモリコマンドバスであり、200はメモリデータインターフェースバスであり、300はリード予備データバスである。
500はメモリデータバスであり、600はメモリデバイスコマンドバスであり、700はメモリコマンドデータ同期信号であり、900はリード予備データアドレスヒット制御バスである。
Also, 100 is a memory command bus, 200 is a memory data interface bus, and 300 is a read spare data bus.
500 is a memory data bus, 600 is a memory device command bus, 700 is a memory command data synchronization signal, and 900 is a read spare data address hit control bus.
なお、図1において、一点鎖線にて囲んでいる範囲が、本願のメモリアクセス装置に相当する。 In FIG. 1, the range surrounded by the alternate long and short dash line corresponds to the memory access device of the present application.
次に動作について説明する。
最初に、CPU10からメモリ30へのリード動作を説明する。
Next, the operation will be described.
First, a read operation from the
CPU10は、メモリ30へのリード要求をCPUコマンドバス11を介してECC制御機能付メモリリード/ライト制御部20に発行する。
ECC制御機能付メモリリード/ライト制御部20は、CPU10からのメモリ30へのリード要求を受信すると、メモリコマンド出力制御部90に対してメモリコマンドバス100を介してメモリ30へのリード要求を発行する。
The
When the memory read /
リード時は、データ選択制御部70はリード予備データアドレス保持部50に格納しているアドレスとECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100に出力したアドレスを比較し、一致した場合はデータ選択制御部70はリード予備データアドレスヒット制御バス900により、メモリコマンド出力制御部90に通知され、メモリコマンド出力制御部90はメモリ30に対してリードアクセスは発行しない。
この場合、データ選択制御部70はリード予備データ保持部60からリード予備データバス300を介して入力したデータをメモリデータバス500に出力する。
At the time of reading, the data
In this case, the data
一方、アドレスが一致しなかった場合、すなわち、データ選択制御部70がリード予備データアドレス保持部50に格納しているアドレスとECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100に出力したアドレスを比較した結果、両アドレスが一致しなかった場合は、メモリコマンド出力制御部90がメモリ30に対してリードアクセスを行う。
リードしたデータはメモリデータインターフェースバス200を介してデータ選択制御部70に入力する。
データ選択制御部70は、メモリデータインターフェースバス200から受信したデータをメモリデータバス500を介してECC制御機能付メモリリード/ライト制御部20に出力する。
ECC制御機能付メモリリード/ライト制御部20は、メモリデータバス500から入力したデータについてECC検査、訂正処理を行ったあとCPU10にCPUデータバス12を介してデータを送信する。
また、データ選択制御部70はメモリデータインターフェースバス200から受信中のデータについて、次に受信するデータがメモリにアクセスする単位(1BANK)で最後のBANKであった場合にリード予備データアドレスヒット制御バス900を介してリード予備データ保持部60と、リード予備データアドレス保持部50に通知する。
次に受信するBANK単位のデータがリード中の最後のBANKの場合、リード予備データ保持部60はそのデータを格納し、リード予備データアドレス保持部50はそのアドレスを格納する。
On the other hand, if the addresses do not match, that is, the address stored in the read spare data address holding
The read data is input to the data
The data
The memory read / write control unit with
Further, the data
When the next received BANK data is the last BANK being read, the read spare
例えば、図3のメモリ上に配置されたデータについて、CPU10からはECCバイト分を除いた図2のように認識されている。
ここで、CPU10が0番地から1回のメモリアクセス単位であるf番地までをリードしようとすると、実際にはECCバイトを含めたメモリ30上の13番地まで必要となるため、ECC制御機能付メモリリード/ライト制御部20は図3のBANK0とBANK1のリードをメモリ30に要求する。
ここで、リード予備データ保持部60にてBANK1のデータを保持しないと、次にCPU10が図2の10番地から1回のメモリアクセス単位である1f番地までをリードしようとすると、図3のメモリ30上ではBANK1とBANK2のリードが必要であり、もう一度BANK1をリードしなければならず効率的ではない。
しかし、本実施の形態では、メモリアクセスの最後のBANKをリード予備データ保持部60に格納している。
このため、上記の例において、図3のBANK0とBANK1のデータをメモリ30から読み出した際に、最後のBANKのデータであるBANK1のデータをリード予備データ保持部60に格納する。
このため、次に、図2の10番地から1f番地までのリード要求(図3のBANK1とBANK2のリード要求)がきた場合は、BANK1はリード予備データ保持部60からデータを読み出し、BANK2のみメモリ30に対してリードアクセスすることで、CPU10より要求されたデータを返送することができる。
For example, the data arranged on the memory in FIG. 3 is recognized by the
Here, if the
Here, if the BANK1 data is not held in the read spare
However, in the present embodiment, the last BANK of the memory access is stored in the read spare
Therefore, in the above example, when the BANK0 and BANK1 data of FIG. 3 is read from the
Therefore, when there is a read request from
特許文献1のように、例えばECC制御機能付メモリリード/ライト制御部20の中で、あらかじめ先のアドレスまでリードしたデータをバッファに保持しておく場合でも、図2の0番地から1f番地までをリードして保持した場合は、メモリ30に対しては図3のBANK0、BANK1、BANK2のリードを発行しており、さらに先のアドレス20番地から2f番地をリードしようとすると、もう一度BANK2のリードが必要となり効率的ではない。
また、図3のメモリ上で、きりのよいアドレス(例えば4f番地)までをあらかじめリードしようとした場合には、バッファの容量を大きくしなければならず、またその先のリードが発行されなかったときは無駄となる。
さらにCPU10が汎用バスに接続されている場合は、CPU10以外のメモリリードを要求する手段が有った場合はCPU10が長時間メモリを占有することになり、システムの性能が犠牲になることもある。
As in
In addition, when trying to read up to a well-defined address (for example, address 4f) in advance in the memory of FIG. 3, the capacity of the buffer has to be increased, and no further read is issued. When it becomes useless.
Further, when the
このように、本実施の形態では、垂直ECCを採用したメモリ構成において、アドレスがずれることによりメモリアクセス単位(BANK)について半端なメモリアクセスが発生する場合でも、その半端分のBANKのデータを保持することができ、半端分のBANKのデータについて重複してメモリアクセスを行う必要がなく、無駄なメモリアクセスを排除することができる。 As described above, in the present embodiment, even in the case where a memory access with respect to the memory access unit (BANK) occurs due to a shift in the address in the memory configuration employing the vertical ECC, the BANK data corresponding to the half end is retained. Therefore, it is not necessary to perform redundant memory access for the half-length BANK data, and useless memory access can be eliminated.
次に、CPU10からメモリ30へのライト動作について説明する。
Next, a write operation from the
CPU10は、メモリ30へのライト要求をCPUコマンドバス11を介し、書き込みするデータはCPUデータバス12を介してECC制御機能付メモリリード/ライト制御部20に発行する。
ECC制御機能付メモリリード/ライト制御部20は、CPU10からのメモリ30へのライト要求を受信すると、メモリコマンド出力制御部90に対してメモリコマンドバス100を介してメモリ30へのライト要求を発行する。
The
When the memory read /
ライトするデータはECC制御機能付メモリリード/ライト制御部20によりECCを付加され、メモリデータバス500を介して送信するが、データ選択制御部70は、ライト時はメモリデータバス500から入力したデータをメモリデータインターフェースバス200に出力する。
ライト時は、データ選択制御部70はリード予備データアドレス保持部50に格納しているアドレスとECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100に出力したアドレスを比較し、一致した場合はリード予備データ保持部60は、リード予備データアドレスヒット制御バス900を受信してメモリデータインターフェースバスのデータを読み込んで格納し、リード予備データアドレス保持部50はメモリコマンドバス100から入力したアドレスを格納する。
Data to be written is added with ECC by the memory read /
At the time of writing, the data
一方、アドレスが一致しない場合、すなわち、リード予備データアドレス保持部50に格納しているアドレスとECC制御機能付メモリリード/ライト制御部20がメモリコマンドバス100に出力したアドレスを比較した結果、両アドレスが一致しなかった場合は、リード予備データ保持部60とリード予備データアドレス保持部50は格納しているデータ、アドレスを更新しない。
また、メモリコマンド出力制御部90はメモリコマンドバス100から受信したECC制御機能付メモリリード/ライト制御部20からのライト要求に対し、メモリデバイスコマンドバス600を介してメモリ30に対しメモリライトコマンドを発行する。
ライトするデータはメモリデータインターフェースバス200を介してデータ選択制御部からメモリ30に転送されるが、メモリコマンドとの同期はメモリコマンドデータ同期信号700によって行う。
例えばメモリコマンドを発行したタイミングをメモリコマンドデータ同期信号700によってメモリコマンド出力制御部90からデータ選択制御部70に通知し、メモリコマンド出力制御部90はその情報からデータを出力するタイミングを計って出力するなどといった方法でよい。
ここは接続するメモリ30の種類によりタイミングは異なる。
On the other hand, if the addresses do not match, that is, as a result of comparing the address stored in the read spare data address holding
In response to a write request from the memory read /
Data to be written is transferred from the data selection control unit to the
For example, the memory command
Here, the timing differs depending on the type of the
以上、本実施の形態では、
CPUとECC制御機能を備えメモリへのリードおよびライトアクセスを制御する手段を備えたシステムであって、
CPUがECCつきのデータをメモリからリードした際に、最後にアクセスしたメモリアクセスの単位分のデータを保持するリード予備データ保持部と、
リード予備データ保持部に格納されたデータのメモリ上のアドレスを保持するリード予備データアドレス保持部と、
リード予備データアドレス保持部とメモリアクセス要求のアドレスを比較する機能と比較した結果が一致した場合にリード予備データ保持部のデータを選択する手段と、
リード予備データアドレス保持部とメモリアクセス要求のアドレスを比較する機能と比較した結果が一致しなかった場合にメモリからリードしたデータを選択する部を備えたデータ選択制御部と、
リード予備データアドレス保持部とメモリアクセス要求のアドレスを比較する機能と比較した結果が一致した場合にメモリへのアクセス要求を出さない機能を備えたメモリコマンド出力制御部を備えるメモリ制御システムを説明した。
As described above, in the present embodiment,
A system having a CPU and an ECC control function and means for controlling read and write access to a memory,
When the CPU reads data with ECC from the memory, a read spare data holding unit that holds data for the unit of memory access accessed last;
A read spare data address holding unit that holds an address on a memory of data stored in the read spare data holding unit;
Means for selecting data of the read spare data holding unit when the comparison result matches the function of comparing the read spare data address holding unit and the address of the memory access request;
A data selection control unit having a unit that selects data read from the memory when the comparison result does not match the function of comparing the read spare data address holding unit and the address of the memory access request;
Described a memory control system including a memory command output control unit having a function of not issuing a memory access request when a result of comparison between a read spare data address holding unit and a function of comparing a memory access request address matches .
実施の形態2.
以上の実施の形態1では、CPUがメモリからリードしたときに最後にアクセスしたBANKのみを保持するようにしたものであるが、次にマルチタスクや、複数のリード要求元があるような場合に、複数のアドレスについて最後にアクセスしたBANKを保持する実施形態を示す。
図5は、このような場合のメモリ制御システムの一例を示す。
In the first embodiment described above, only the last accessed BANK is held when the CPU reads from the memory. Next, when there is a multitask or a plurality of read request sources. FIG. 4 shows an embodiment in which BANK accessed last for a plurality of addresses is held. FIG.
FIG. 5 shows an example of a memory control system in such a case.
基本的な構成は実施の形態1と同様であるが、リード予備データ保持部51、リード予備データアドレス保持部61を追加し、複数のBANKデータを保持するため、データ選択制御部70は複数のリード予備データアドレス保持部とメモリコマンドバス100から入力するアドレスとの比較を行う。
また、複数のリード予備データ保持部とリード予備データアドレス保持部があるため、リードした最後のBANKをどのリード予備データ保持部に格納するかを選択するリード予備データ選択部1100と、そのアドレスをどのリード予備データアドレス保持部に格納するかを選択するリード予備データアドレス選択部1000を備える。
Although the basic configuration is the same as that of the first embodiment, a read spare
Further, since there are a plurality of read spare data holding units and read spare data address holding units, a read spare data selecting unit 1100 for selecting which read spare data holding unit stores the last read BANK, and its address. A read spare data
次に、動作について説明する。 Next, the operation will be described.
基本的な動作は実施の形態1と同様であるが、リード予備データアドレス選択部1000はメモリからリードしたデータのアドレスをどのリード予備データアドレス保持部に格納するかを選択する。
例えば、リード予備データアドレス保持部51に格納されているアドレスの次のアドレスについてのリードだった場合は、そのリード予備データアドレス保持部51に格納する。
または最近使用されたリード予備データアドレス保持部に格納する。
または複数あるリード予備データアドレス保持部について順番に格納する。
これらの格納方法については、システムにとって都合のよい方法を選択すればよい。
The basic operation is the same as in the first embodiment, but the read spare data
For example, if the read is for the next address after the address stored in the read spare data address holding
Alternatively, it is stored in a read spare data address holding unit that has been used recently.
Alternatively, a plurality of read spare data address holding units are stored in order.
For these storage methods, a method convenient for the system may be selected.
データ選択制御部70は、複数あるリード予備データアドレスとメモリコマンドバス100から入力するアドレスとの比較を行い、一致したアドレスがあるかないかの判断を行う。
一致したアドレスがあった場合は、リード予備データアドレスヒット制御バス900を介してメモリコマンド出力制御部90に通知し、メモリ30へのリードアクセスが発行されないようにする。
そして、一致したリード予備データアドレス保持部に対応するリード予備データ保持部のデータをデータ選択制御部70はメモリデータバス500を介してECC制御機能付メモリリード/ライト制御部20に出力する。
また、データ選択制御部70は、リード予備データ保持部に保持されていないデータについては、実施の形態1と同様に、メモリ装置30から対象となるデータを読み出し、CPU10に返す。
このとき、メモリ装置30から読み出したデータのうちの最後のBANKのデータは、いずれかのリード予備データ保持部に保持される。
The data
If there is a matching address, the memory command
Then, the data
The data
At this time, the last BANK data among the data read from the
以上のように、複数のアドレスに対するメモリへの最後のBANKデータを保持するようにしているので、マルチタスクなどで発生する複数のアドレス系統へのアクセスに対応することができる。
また、CPU10だけでなくメモリへのアクセス要求元が複数ある場合にも複数のアドレス系統へのアクセスに対応することができる。
As described above, since the last BANK data to the memory for a plurality of addresses is held, it is possible to cope with access to a plurality of address systems generated by multitasking or the like.
Further, when there are a plurality of access request sources for not only the
以上、本実施の形態では、リード予備データ保持部と、リード予備データアドレス保持部を複数備えるメモリ制御システムを説明した。 As described above, in the present embodiment, the memory control system including a plurality of read spare data holding units and read spare data address holding units has been described.
10 CPU、11 CPUコマンドバス、12 CPUデータバス、20 ECC制御機能付メモリリード/ライト制御部、30 メモリ装置、50 リード予備データアドレス保持部、51 リード予備データアドレス保持部、60 リード予備データ保持部、61 リード予備データ保持部、70 データ選択制御部、90 メモリコマンド出力制御部、100 メモリコマンドバス、200 メモリデータインターフェースバス、300 リード予備データバス、500 メモリデータバス、600 メモリデバイスコマンドバス、700 メモリコマンドデータ同期信号、900 リード予備データアドレスヒット制御バス、1000 リード予備データアドレス選択部、1100 リード予備データ選択部。 10 CPU, 11 CPU command bus, 12 CPU data bus, 20 memory read / write control unit with ECC control function, 30 memory device, 50 read spare data address holding unit, 51 read spare data address holding unit, 60 read spare data holding 61, spare read data holding unit, 70 data selection control unit, 90 memory command output control unit, 100 memory command bus, 200 memory data interface bus, 300 read spare data bus, 500 memory data bus, 600 memory device command bus, 700 memory command data synchronization signal, 900 read spare data address hit control bus, 1000 read spare data address selector, 1100 read spare data selector.
Claims (6)
前記メモリ装置を用いるプロセッサ装置から前記メモリ装置内のデータに対するリード要求があった場合に、リード要求で要求されているデータが含まれるように前記メモリ装置からアクセス単位に従ってデータを読み出し、前記メモリ装置から読み出したデータを前記プロセッサ装置に対して出力するメモリアクセス部と、
前記メモリアクセス部により読み出されたデータのうち最後尾のアクセス単位のデータを選択して記憶するデータ記憶部とを有することを特徴とするメモリアクセス装置。 It is connected to a memory device that stores data by dividing the address space by an access unit of a specific size,
When there is a read request for data in the memory device from a processor device using the memory device, data is read from the memory device according to an access unit so that the data requested by the read request is included, and the memory device A memory access unit for outputting data read from the processor device;
A memory access device comprising: a data storage unit for selecting and storing data in the last access unit among the data read by the memory access unit.
リード要求があった場合に、リード要求で要求されているデータの一部が前記データ記憶部に記憶されていれば、前記データ記憶部に記憶されているデータを読み出すとともに、前記リード要求で要求されているデータのうち前記データ記憶部に記憶されているデータを除く部分が含まれるように前記メモリ装置からアクセス単位に従ってデータを読み出し、前記データ記憶部及び前記メモリ装置から読み出したデータを前記プロセッサ装置に対して出力することを特徴とする請求項1に記載のメモリアクセス装置。 The memory access unit
When there is a read request, if a part of the data requested by the read request is stored in the data storage unit, the data stored in the data storage unit is read and requested by the read request. The data is read from the memory device according to the access unit so that a portion excluding the data stored in the data storage unit is included in the stored data, and the data read from the data storage unit and the memory device is read from the processor The memory access device according to claim 1, wherein the memory access device outputs to the device.
前記データ記憶部にデータが記憶される最後尾のアクセス単位のアドレス範囲を記憶するアドレス記憶部を有し、
前記メモリアクセス部は、
前記アドレス記憶部に記憶されているアドレス範囲を参照して、前記リード要求で要求されているデータの一部が前記データ記憶部に記憶されているか否かを判断することを特徴とする請求項2に記載のメモリアクセス装置。 The memory access device further includes:
An address storage unit that stores an address range of the last access unit in which data is stored in the data storage unit;
The memory access unit
The address range stored in the address storage unit is referred to, and it is determined whether or not a part of the data requested by the read request is stored in the data storage unit. 3. The memory access device according to 2.
複数組のデータ記憶部とアドレス記憶部とを有することを特徴とする請求項3に記載のメモリアクセス装置。 The memory access device is:
4. The memory access device according to claim 3, further comprising a plurality of sets of data storage units and address storage units.
リード要求があった場合に、複数のアドレス記憶部に記憶されているアドレス範囲を参照して、前記リード要求で要求されているデータの一部が記憶されているデータ記憶部を特定し、特定したデータ記憶部に記憶されているデータを読み出すとともに、前記リード要求で要求されているデータのうち前記データ記憶部に記憶されているデータを除く部分が含まれるように前記メモリ装置からアクセス単位に従ってデータを読み出し、前記データ記憶部及び前記メモリ装置から読み出したデータを前記プロセッサ装置に対して出力することを特徴とする請求項4に記載のメモリアクセス装置。 The memory access unit
When there is a read request, refer to address ranges stored in a plurality of address storage units to identify and specify a data storage unit in which a part of the data requested in the read request is stored The data stored in the data storage unit is read out, and the memory device includes a portion excluding the data stored in the data storage unit in the data requested by the read request according to the access unit. 5. The memory access device according to claim 4, wherein data is read, and data read from the data storage unit and the memory device is output to the processor device.
垂直ECC(Error Correcting Code)方式によりECCビットが配置されているメモリ装置に接続されていることを特徴とする請求項1〜5のいずれかに記載のメモリアクセス装置。 The memory access device is:
6. The memory access device according to claim 1, wherein the memory access device is connected to a memory device in which ECC bits are arranged by a vertical ECC (Error Correcting Code) method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010289965A JP2012137944A (en) | 2010-12-27 | 2010-12-27 | Memory access device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010289965A JP2012137944A (en) | 2010-12-27 | 2010-12-27 | Memory access device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012137944A true JP2012137944A (en) | 2012-07-19 |
Family
ID=46675305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010289965A Pending JP2012137944A (en) | 2010-12-27 | 2010-12-27 | Memory access device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012137944A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068789A1 (en) * | 2012-11-05 | 2014-05-08 | 三菱電機株式会社 | Memory control device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234461A (en) * | 2003-01-31 | 2004-08-19 | Sony Corp | Information processing device and method, and program |
JP2005032035A (en) * | 2003-07-07 | 2005-02-03 | Nec Engineering Ltd | Memory data storage method, memory access circuit, and integrated circuit |
WO2009116115A1 (en) * | 2008-03-18 | 2009-09-24 | 富士通株式会社 | Memory controller and memory system using the same |
JP2010191511A (en) * | 2009-02-16 | 2010-09-02 | Toshiba Corp | Microprocessor |
-
2010
- 2010-12-27 JP JP2010289965A patent/JP2012137944A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234461A (en) * | 2003-01-31 | 2004-08-19 | Sony Corp | Information processing device and method, and program |
JP2005032035A (en) * | 2003-07-07 | 2005-02-03 | Nec Engineering Ltd | Memory data storage method, memory access circuit, and integrated circuit |
WO2009116115A1 (en) * | 2008-03-18 | 2009-09-24 | 富士通株式会社 | Memory controller and memory system using the same |
JP2010191511A (en) * | 2009-02-16 | 2010-09-02 | Toshiba Corp | Microprocessor |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068789A1 (en) * | 2012-11-05 | 2014-05-08 | 三菱電機株式会社 | Memory control device |
TWI475383B (en) * | 2012-11-05 | 2015-03-01 | Mitsubishi Electric Corp | Memory control device |
CN104769558A (en) * | 2012-11-05 | 2015-07-08 | 三菱电机株式会社 | Memory control device |
JP5797342B2 (en) * | 2012-11-05 | 2015-10-21 | 三菱電機株式会社 | Memory control device |
US9715427B2 (en) | 2012-11-05 | 2017-07-25 | Mitsubishi Electric Corporation | Memory control apparatus |
DE112012007102B4 (en) | 2012-11-05 | 2022-04-28 | Mitsubishi Electric Corporation | memory controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10684793B2 (en) | Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices | |
US10572164B2 (en) | Systems and methods for improving efficiencies of a memory system | |
JP6983313B2 (en) | Non-volatile memory write credit management | |
JP5715644B2 (en) | System and method for storing data in a high speed virtual memory system | |
US9176673B2 (en) | Memory device | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
US20050055493A1 (en) | [method for accessing large block flash memory] | |
US9627092B2 (en) | Semiconductor device performing error correction operation | |
JP4966404B2 (en) | MEMORY CONTROL DEVICE, STORAGE DEVICE, AND MEMORY CONTROL METHOD | |
US11113145B2 (en) | Memory device, semiconductor device, and semiconductor system | |
US20130117632A1 (en) | Storage control apparatus | |
US9858146B2 (en) | Reducing latency for raid destage operations | |
US20170068452A1 (en) | Data operating method, device, and system | |
JP6159478B2 (en) | Data writing method and memory system | |
WO2016017321A1 (en) | Memory controller, storage device, information processing system, and method of controlling memory controller | |
JP5623677B2 (en) | Read request processing device | |
CN105335296B (en) | A kind of data processing method, apparatus and system | |
JP2012137944A (en) | Memory access device | |
US11348658B2 (en) | Memory controller and storage device including the same | |
US11262936B2 (en) | Memory controller, storage device, information processing system, and memory control method | |
CN115016981A (en) | Setting method of storage area, data reading and writing method and related device | |
JP2016143409A (en) | Memory system | |
US9921779B2 (en) | Memory apparatus, memory system and memory controlling method | |
KR101734623B1 (en) | Apparatus for controling memory and method thereof | |
US10719440B2 (en) | Semiconductor device and memory access method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140819 |