JP6180398B2 - Memory access device - Google Patents
Memory access device Download PDFInfo
- Publication number
- JP6180398B2 JP6180398B2 JP2014219479A JP2014219479A JP6180398B2 JP 6180398 B2 JP6180398 B2 JP 6180398B2 JP 2014219479 A JP2014219479 A JP 2014219479A JP 2014219479 A JP2014219479 A JP 2014219479A JP 6180398 B2 JP6180398 B2 JP 6180398B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- unit
- queue
- read
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Memory System (AREA)
Description
本発明は、メモリーアクセス装置に関する。 The present invention relates to a memory access device.
一般に、SDRAM(Synchronous Dynamic Random Access Memory)のデータ記憶領域は、複数のバンクに区分されており、前記バンク各々は複数のページに区分されている。前記SDRAMは、前記メモリーアクセス装置によって前記ページ単位で活性化され、活性化された前記ページがアクセス可能になる。 In general, a data storage area of an SDRAM (Synchronous Dynamic Random Access Memory) is divided into a plurality of banks, and each of the banks is divided into a plurality of pages. The SDRAM is activated in units of pages by the memory access device, and the activated pages can be accessed.
また、前記SDRAMにおいて、異なる前記バンク各々の前記ページを独立して活性化することが可能である。そのため、異なる前記バンクへのアクセスが続く場合、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能である。 In the SDRAM, it is possible to independently activate the pages of the different banks. Therefore, when access to different banks continues, a large overhead does not occur, and continuous high-speed access is possible.
一方、1つの前記バンク内における異なる前記ページへのアクセスが続く場合、バンク競合による比較的大きなオーバーヘッドが生じる。即ち、1つの前記バンク内でのアクセスにおいては、先に活性化された前記ページのクローズ処理が終了した後に次の前記ページを活性化するステップが必要であり、このステップが前記バンク競合によるオーバーヘッドとなる。 On the other hand, if access to different pages in one bank continues, a relatively large overhead due to bank contention occurs. That is, in the access within one bank, a step of activating the next page after completion of the closing process of the previously activated page is necessary, and this step is an overhead due to the bank contention. It becomes.
一般に、前記SDRAMのようなメモリーに対するデータの書き込みおよび読み出しのためのアクセスは、メモリーアクセス装置によって制御される。また、前記メモリーアクセス装置が、マスターから入力されたメモリーへのアクセス要求の列を含むアクセス要求トランザクションを前記バンク単位のアクセス要求に分割し、分割された前記アクセス要求の順序を入れ替えた上で、前記アクセス要求に対応するコマンドを前記SDRAMに発行することが知られている(例えば、特許文献1参照)。この場合、前記コマンドの発行順序の最適化により、前記バンク競合によるオーバーヘッドの一部が隠蔽される。 In general, access for writing and reading data to and from a memory such as the SDRAM is controlled by a memory access device. Further, the memory access device divides an access request transaction including a sequence of access requests to the memory input from the master into access requests in units of banks, and after changing the order of the divided access requests, It is known to issue a command corresponding to the access request to the SDRAM (see, for example, Patent Document 1). In this case, a part of the overhead due to the bank contention is concealed by optimizing the order of issuing the commands.
ところで、前記メモリーアクセス装置において、前記マスターからのリードアクセスの要求順序と、前記マスターへのリードデータの出力順序との整合性が求められる場合がある。また、複数のリードアクセスコマンドが発行された場合、前記リードアクセスコマンドの発行順序に対応して各データが並ぶリードデータ列が得られる。 By the way, in the memory access device, consistency between the read access request order from the master and the read data output order to the master may be required. Further, when a plurality of read access commands are issued, a read data string in which each data is arranged corresponding to the issuing order of the read access commands is obtained.
従って、前記メモリーアクセス装置は、前記リードアクセス要求の入力順序と異なる順序で複数の前記リードアクセスコマンドを発行する場合、前記リードアクセスコマンドの発行順序に対応した第1のリードデータ列と、本来の順序に並べ替えられた後の第2のリードデータ列とを保持する必要がある。この場合、前記メモリーアクセス装置において、データバッファーなどの追加のリソースが必要になる。さらに、前記リードデータ列の並べ替えのために、前記アクセス要求の入力から前記リードデータ列の出力までのレイテンシが増大する。 Accordingly, when the memory access device issues a plurality of the read access commands in an order different from the input order of the read access requests, the memory access device includes a first read data string corresponding to the issue order of the read access commands, It is necessary to hold the second read data string after being rearranged in the order. In this case, an additional resource such as a data buffer is required in the memory access device. Further, due to the rearrangement of the read data sequence, the latency from the input of the access request to the output of the read data sequence increases.
本発明の目的は、SDRAMなどのメモリーへのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、リソースの追加およびレイテンシの増大を回避しつつ、バンク競合によるオーバーヘッドを隠蔽することができるメモリーアクセス装置を提供することにある。 The object of the present invention is to avoid the addition of resources and increase in latency while avoiding the addition of resources and the increase in latency even when the consistency between the read access request order and the read data output order is required when accessing a memory such as SDRAM. An object of the present invention is to provide a memory access device that can conceal the overhead caused by the above.
本発明の一の局面に係るメモリーアクセス装置は、メモリーに対してアクセスコマンドを発行するメモリーアクセス装置である。前記メモリーは、複数のバンクに区分されているとともに前記バンク各々が複数のページに区分されたデータ記憶領域を有する。前記メモリーアクセス装置は、アクセス要求分別部と、第1キューイングバッファーと、第2キューイングバッファーと、リードキュー区分部と、ライトキュー区分部と、コマンド発行部とを備える。前記アクセス要求列分別部は、外部から入力される前記メモリーへのアクセス要求の列を含むアクセス要求トランザクションをリードアクセス要求が並ぶリードアクセスキューとライトアクセス要求が並ぶライトアクセスキューとに分別する。前記第1キューイングバッファーは、前記リードアクセスキューを一時記憶する。前記第2キューイングバッファーは、前記ライトアクセスキューを一時記憶する。前記リードキュー区分部は、前記リードアクセスキューをそれぞれ1つ以上の前記リードアクセス要求を含む複数の単位リードキューに区分する。前記リードキュー区分部は、前記リードアクセスキューを前記メモリーにおける同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記リードアクセス要求の間で区分する。前記ライトキュー区分部は、前記ライトアクセスキューをそれぞれ1つ以上の前記ライトアクセス要求を含む複数の単位ライトキューに区分する。前記ライトキュー区分部は、前記ライトアクセスキューを前記メモリーにおける同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記ライトアクセス要求の間で区分する。前記コマンド発行部は、前記単位リードキュー各々を前記アクセス要求トランザクション内での前記リードアクセス要求の順序に従って順次選択する。さらに、前記コマンド発行部は、前記単位ライトキュー各々を順次選択する。さらに、前記コマンド発行部は、少なくとも前記第1キューイングバッファー内の全ての前記単位リードキューに対応するコマンドまたは前記第2キューイングバッファー内の全ての前記単位ライトキューに対応するコマンドが発行されるまで選択した前記単位リードキューと前記単位ライトキューとを交互に前記メモリーに発行する。 A memory access device according to one aspect of the present invention is a memory access device that issues an access command to a memory. The memory has a data storage area which is divided into a plurality of banks and each bank is divided into a plurality of pages. The memory access device includes an access request sorting unit, a first queuing buffer, a second queuing buffer, a read queue sorting unit, a write queue sorting unit, and a command issuing unit. The access request sequence sorting unit sorts an access request transaction including a sequence of access requests to the memory input from the outside into a read access queue in which read access requests are arranged and a write access queue in which write access requests are arranged. The first queuing buffer temporarily stores the read access queue. The second queuing buffer temporarily stores the write access queue. The read queue sorting unit sorts the read access queue into a plurality of unit read queues each including one or more read access requests. The read queue sorting unit sorts the read access queue between two consecutive read access requests that have different pages in the same bank in the memory as access destinations. The write queue sorting unit sorts the write access queue into a plurality of unit write queues each including one or more write access requests. The write queue sorting unit sorts the write access queue between two consecutive write access requests that have different pages in the same bank in the memory as access destinations. The command issuing unit sequentially selects each unit read queue according to the order of the read access requests in the access request transaction. Further, the command issuing unit sequentially selects each of the unit write queues. Further, the command issuing unit issues at least a command corresponding to all the unit read queues in the first queuing buffer or a command corresponding to all the unit write queues in the second queuing buffer. The unit read queue and the unit write queue selected up to are issued to the memory alternately.
本発明によればSDRAMなどのメモリーへのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、リソースの追加およびレイテンシの増大を回避しつつ、バンク競合によるオーバーヘッドを隠蔽することができるメモリーアクセス装置を提供することが可能になる。 According to the present invention, even when the consistency between the read access request order and the read data output order is required in access to a memory such as an SDRAM, it is possible to avoid the addition of resources and increase in latency while avoiding the increase in latency. It becomes possible to provide a memory access device capable of concealing overhead.
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, the following embodiment is an example which actualized this invention, Comprising: It does not have the character which limits the technical scope of this invention.
[第1実施形態]
まず、図1を参照しつつ、本発明の第1実施形態に係るメモリーアクセス装置10を備える画像処理装置100の概略構成について説明する。画像処理装置100は、メモリーアクセス装置10の適用例の1つである。
[First Embodiment]
First, a schematic configuration of an
図1が示す画像処理装置100は、原稿から画像を読み取る画像読取装置の機能および記録シートへ画像を形成する画像形成装置の機能を兼ね備えた複合機である。なお、画像処理装置100が、前記画像形成装置、前記画像読取装置、前記画像形成装置および前記画像読取装置の機能を備える複写機または前記画像読取装置の機能および画像送信機能を備えるファクシミリ装置などであることも考えられる。
An
画像処理装置100は、SDRAM9、メモリーアクセス装置10、スキャン部20、スキャン制御部30、プリント部40、プリント制御部50、通信制御部60および画像処理部70などを備える。メモリーアクセス装置10、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70は、それぞれバス80に接続されおり、バス80を通じて相互にデータの受け渡しが可能である。
The
スキャン部20は、前記原稿に光を走査する不図示の光学系、および原稿からの反射光の光量を画素ごとに検出して原稿画像データを出力する不図示のイメージセンサーなどを備える。
The
スキャン制御部30は、スキャン部20を制御して前記原稿画像データを取得する。さらに、スキャン制御部30は、メモリーアクセス装置10を通じて前記原稿画像データをSDRAM9に書き込む処理なども実行する。例えば、スキャン制御部30は、SDRAM9を介して前記原稿画像データを画像処理部70、プリント制御部50または通信制御部60などの他の機器に引き渡す場合がある。
The
プリント部40は、周知の電子写真方式の画像形成処理によって前記記録シートに画像を形成する。プリント部40は、不図示の像担持体およびその周辺機器を備え、前記像担持体から前記記録シートに現像剤の画像を転写するとともにその画像を前記記録シートに定着させる。
The
プリント制御部50は、プリント部40を制御する。プリント制御部50は、他の機器から記録用画像データを取得し、その記録用画像データ基づく画像を前記記録シートに形成する処理をプリント部40に実行させる。
The
通信制御部60は、パーソナルコンピューターなどの外部装置との間でデータの送受信を行うとともに、バス80を通じて他の機器とデータの受け渡しを行う。例えば、通信制御部60は、前記外部機器から画像データを受信し、その画像データを前記記録用画像データとして前記プリント制御部50に引き渡す。
The
また、通信制御部60は、スキャン制御部30から前記原稿画像データを取得し、その原稿画像データを含むデータを前記外部装置へ送信する。
Further, the
画像処理部70は、バス80を通じて他の機器から得た画像データに対する画像処理を実行する。画像処理部70による画像処理の対象は、例えば、スキャン制御部30から前記通信制御部60を通じて前記外部装置へ送信される画像データまたは前記スキャン制御部30から前記プリント制御部50へ引き渡される前記原稿画像データなどである。例えば、画像処理部70は、他の機器から得た前記画像データに対し、画像回転処理、ハーフトーン処理またはサイズカット処理などの画像処理を施す。
The
SDRAM9は、高速でデータの書き込みおよび読み出しが可能なメモリーである。SDRAM9は、バス80に接続された機器から発行されるアクセスコマンドの内容に従ってそのデータ領域へのデータの記録および前記データ領域に記録されているデータの出力を行う。
The
SDRAM9の前記データ記憶領域は、複数のバンクに区分されており、前記バンク各々が複数のページに区分されている。SDRAM9は、メモリーアクセス装置10によって前記ページ単位で活性化され、活性化された前記ページがアクセス可能になる。
The data storage area of the
SDRAM9において、1つの前記バンク内の前記ページと他の前記バンク内の前記ページとを独立して活性化することが可能である。そのため、異なる前記バンクへのアクセスが続く場合、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能である。
In the
一方、1つの前記バンク内における異なる前記ページへのアクセスが続く場合、バンク競合による比較的大きなオーバーヘッドが生じる。 On the other hand, if access to different pages in one bank continues, a relatively large overhead due to bank contention occurs.
例えば、同一の前記バンクにおける第1ページおよび第2ページ各々へのリードアクセスコマンドが連続して発行される場合を考える。この場合、先に活性化された前記第1ページのクローズ処理が終了した後に前記第2ページを活性化するステップが必要である。このステップにおいて、前記第1ページの前記クローズ処理に要する時間が比較的長いため、前記第2ページの活性化コマンドの発行までの待ち時間が、前記バンク競合によるオーバーヘッドとなる。 For example, consider a case where read access commands to the first page and the second page in the same bank are issued successively. In this case, a step of activating the second page after the closing process of the previously activated first page is necessary. In this step, since the time required for the closing process of the first page is relatively long, the waiting time until the activation command for the second page becomes an overhead due to the bank contention.
また、一般的なSDRAM9において、アクセス先に関わらず、リードアクセスおよびライトアクセスの一方と他方とが連続する場合、アクセスの種類の切り替わりによるオーバーヘッドが生じる。このオーバーヘッドは、前記バンク競合によるオーバーヘッドと同程度に比較的大きなオーバーヘッドである。
Further, in the
本実施形態では、主としてメモリーアクセス装置10がSDRAM9に対して前記アクセスコマンドを発行する。この場合、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70の各々が、バス80を通じてメモリーアクセス装置10に向けてSDRAM9へのアクセス要求の列を含むアクセス要求トランザクションを出力する。一般に、メモリーアクセス装置10は、DMAC(Direct Memory Access Controller)などと称される。前記アクセス要求の1つはリードアクセス要求であり、これに対応する前記アクセスコマンドはリードアクセスコマンドである。前記アクセス要求の他の1つはライトアクセス要求であり、これに対応する前記アクセスコマンドはライトアクセスコマンドである。
In the present embodiment, the
以下の説明において、メモリーアクセス装置10に対して前記アクセス要求トランザクションを出力する機器のことを、メモリーアクセス装置10に対してマスターと称する。本実施形態における前記マスターは、スキャン制御部30、プリント制御部50、通信制御部60および画像処理部70の各々である。なお、前記マスターがクライアントと称される場合もある。
In the following description, a device that outputs the access request transaction to the
メモリーアクセス装置10は、SDRAM9に対して前記アクセスコマンドを発行する装置である。メモリーアクセス装置10は、前記マスターから入力されるアクセス要求トランザクションに含まれるアクセス要求キューを前記オーバーヘッドが減少するように並べ替え、並べ替え後の順序で前記アクセスコマンドをSDRAM9へ発行する。前記アクセス要求キューは、SDRAM9に対する前記アクセス要求の列である。
The
ところで、前記マスターからのリードアクセスの要求順序と、前記マスターへのリードデータの出力順序との整合性が求められる場合がある。また、複数のリードアクセスコマンドが発行された場合、前記リードアクセスコマンドの発行順序に対応して各データが並ぶリードデータ列が得られる。 Incidentally, there is a case where consistency between the read access request order from the master and the read data output order to the master is required. Further, when a plurality of read access commands are issued, a read data string in which each data is arranged corresponding to the issuing order of the read access commands is obtained.
従って、前記アクセス要求トランザクション内のリードアクセス要求の順序と異なる順序で複数の前記リードアクセスコマンドが発行される場合、前記リードアクセスコマンドの発行順序で並ぶ第1のリードデータ列と、本来の順序に並べ替えられた後の第2のリードデータ列とを保持することが必要になる。この場合、データバッファーなどの追加のリソースが必要になる。さらに、前記リードデータ列の並べ替えのために、前記アクセス要求の入力から前記リードデータ列の出力までのレイテンシが増大する。 Therefore, when a plurality of the read access commands are issued in an order different from the order of the read access requests in the access request transaction, the first read data string arranged in the order of issuing the read access commands and the original order It is necessary to hold the second read data string after the rearrangement. In this case, additional resources such as a data buffer are required. Further, due to the rearrangement of the read data sequence, the latency from the input of the access request to the output of the read data sequence increases.
メモリーアクセス装置10は、後述する構成を備えることにより、SDRAM9へのアクセスにおいて、リードアクセスの要求順序とリードデータの出力順序との整合性が求められる場合でも、前記リソースの追加および前記レイテンシの増大を回避しつつ、前記バンク競合による前記オーバーヘッドを隠蔽することができる。
The
[メモリーアクセス装置]
次に、図2を参照しつつ、メモリーアクセス装置10について説明する。メモリーアクセス装置10は、要求トランザクション入力部1と、アクセス要求分別部2と、第1キューイングバッファー3と、第2キューイングバッファー4と、アクセスキュー区分部5と、コマンド発行部6と、メモリーアクセス部7とを備える。
[Memory access device]
Next, the
アクセスキュー区分部5は、リードキュー区分部51およびライトキュー区分部52を含む。コマンド発行部6は、単位リードキュー選択部61と、単位ライトキュー選択部62と、コマンド交互発行部63とを含む。
The access
メモリーアクセス部7は、コマンド発行調整部71と、リードデータバッファー72と、データ出力部73と、ライトデータバッファー74と、データ入力部75とを含む。
The
メモリーアクセス装置10は、例えばASIC(Application Specific Integrated Circuit)またはDSP(digital Signal Processor)などによって構成されている。
The
要求トランザクション入力部1は、SDRAM9への前記アクセス要求の列を含むアクセス要求トランザクションを前記マスターから取得する処理を実行する。前記アクセス要求トランザクションは、バス80を通じて前記マスターから要求トランザクション入力部1へ入力される。
The request
前記アクセス要求トランザクションは、SDRAM9に対して前記データ記憶領域に記憶されているデータを読み出す処理を要求する前記リードアクセス要求と、SDRAM9に対して前記データ記憶領域にデータを記録する処理を要求する前記ライトアクセスとを含む。前記リードアクセス要求および前記ライトアクセス要求は、その要求の種類の情報と、前記データ記憶領域におけるアドレスを指定する行アドレス情報および列アドレス情報とを含む。
The access request transaction requests the
アクセス要求分別部2は、前記マスターから入力されるメモリーアクセスの前記アクセス要求トランザクションをリードアクセスキューとライトアクセスキューとに分別する。前記リードアクセスキューは、前記リードアクセス要求が並ぶキューであり、前記ライトアクセス要求が並ぶキューである。
The access
アクセス要求分別部2は、前記アクセス要求トランザクションにおける複数の前記リードアクセス要求相互の順番を変更することなく前記リードアクセスキューを生成する。また、アクセス要求分別部2は、前記アクセス要求トランザクションにおける複数の前記ライトアクセス要求相互の順番を変更することなく前記ライトアクセスキューを生成する。
The access
即ち、アクセス要求分別部2は、前記アクセス要求トランザクションを連続する前記リードアクセス要求と前記ライトアクセス要求との間において分割する。さらに、アクセス要求分別部2は、分割により得られる複数の前記リードアクセス要求を前記アクセス要求トランザクション内での順序のまま前記リードアクセスキューとして編成する。また、アクセス要求分別部2は、分割により得られる複数の前記ライトアクセス要求を前記アクセス要求トランザクション内での順序のまま前記ライトアクセスキューとして編成する。
In other words, the access
前述したように、前記リードアクセス要求および前記ライトアクセス要求の一方と他方とが連続する場合、即ち、前記リードアクセスコマンドおよび前記ライトアクセスコマンドの一方と他方とが連続する場合、アクセスの種類の切り替わりによるオーバーヘッドが発生する。以下、このオーバーヘッドのことをアクセス切替オーバーヘッドと称する。アクセス要求分別部2は、前記アクセス要求トランザクションを前記アクセス切替オーバーヘッドが生じる位置で分割する。
As described above, when one and the other of the read access request and the write access request are continuous, that is, when one and the other of the read access command and the write access command are continuous, the type of access is switched. Causes overhead. Hereinafter, this overhead is referred to as access switching overhead. The access
第1キューイングバッファー3は、前記リードアクセスキューを一時記憶するバッファーである。第2キューイングバッファー4は、前記ライトアクセスキューを一時記憶するバッファーである。即ち、アクセス要求分別部2は、前記リードアクセスキューを第1キューイングバッファー3に記録し、前記ライトアクセスキューを第2キューイングバッファー4に記録する。
The
アクセスキュー区分部5は、前記リードアクセスキューおよび前記ライトアクセスキューの各々を、SDRAM9に対して発行されるそれぞれ1まとまりの前記アクセス要求の列である複数の単位アクセスキューに区分する処理を実行する。
The access
リードキュー区分部51は、前記リードアクセスキューをそれぞれ1つ以上の前記リードアクセス要求を含む複数の単位リードキューに区分する。ライトキュー区分部52は、前記ライトアクセスキューをそれぞれ1つ以上の前記ライトアクセス要求を含む複数の単位リードキューに区分する。
The read
リードキュー区分部51は、前記リードアクセスキューをSDRAM9における同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記リードアクセス要求の間で区分する。前述したように、同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記リードアクセス要求の間においては、それらに対応するコマンドが発行されるときに前記バンク競合によるオーバーヘッドが発生する。
The read
同様に、ライトキュー区分部52は、前記ライトアクセスキューを前記メモリーにおける同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記ライトアクセス要求の間で区分する。同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記ライトアクセス要求の間においては、それらに対応するコマンドが発行されるときに前記バンク競合によるオーバーヘッドが発生する。
Similarly, the write
以下、前記バンク競合によるオーバーヘッドのことをバンク競合オーバーヘッドと称する。アクセスキュー区分部5は、前記リードアクセスキューおよび前記ライトアクセスキューの各々を、前記バンク競合オーバーヘッドが生じる位置で区分する。
Hereinafter, the overhead due to bank contention is referred to as bank contention overhead. The access
アクセスキュー区分部5は、予め定められた計算ルールに従って、前記アクセス要求トランザクション内の複数の前記アクセス要求各々に対応するコマンドが発行された場合に生じるオーバーヘッドの時間を計算することができる。
The access
例えば、リードキュー区分部51は、前記リードアクセスキューにおける前記リードアクセス要求各々に対応するコマンドが、先頭側から順に連続して発行された場合に生じる前記バンク競合オーバーヘッドの時間を積算する。そして、リードキュー区分部51は、前記バンク競合オーバーヘッドの時間の積算結果が予め定められた許容範囲に収まる前記リードアクセス要求の列ごとに、そのリードアクセス要求の列を前記単位リードキューとして区分する。
For example, the read
同様に、ライトキュー区分部52は、前記ライトアクセスキューにおける前記ライト要求各々に対応するコマンドが、先頭側から順に連続して発行された場合に生じる前記バンク競合オーバーヘッドの時間を積算する。そして、ライトキュー区分部52は、前記バンク競合オーバーヘッドの時間の積算結果が予め定められた許容範囲に収まる前記ライトアクセス要求の列ごとに、そのライトアクセス要求の列を前記単位ライトキューとして区分する。
Similarly, the write
前記リードアクセスキューにおける前記単位リードキュー各々の区分位置の情報は、リードキュー区分部51から単位リードキュー選択部61へ通知される。同様に、前記ライトアクセスキューにおける前記単位ライトキュー各々の区分位置の情報は、ライトキュー区分部52から単位ライトキュー選択部62へ通知される。
Information about the division position of each unit read queue in the read access queue is notified from the read
コマンド発行部6の単位リードキュー選択部61は、第1キューイングバッファー3に記憶されている前記単位リードキューを1つずつ選択する処理を実行する。その際、単位リードキュー選択部61は、前記アクセス要求トランザクション内での前記リードアクセス要求の順序に従って前記単位リードキュー各々を順次選択する。
The unit read
コマンド発行部6の単位ライトキュー選択部62は、第2キューイングバッファー4に記憶されている前記単位ライトキューを1つずつ選択する処理を実行する。その際、単位ライトキュー選択部62は、単位リードキュー選択部61が順次選択する前記単位リードキューと単位ライトキュー選択部62が順次選択する前記単位ライトキューとが交互に発行された場合に、キャッシュコヒーレンシが維持されることを制約条件として前記単位ライトキューを順次選択する。
The unit write
コマンド発行部6のコマンド交互発行部63は、単位リードキュー選択部61が順次選択する前記単位リードキューに対応するコマンドと、単位ライトキュー選択部62が順次選択する前記単位ライトキューに対応するコマンドとを交互にSDRAM9に発行する。本実施形態では、コマンド交互発行部63は、少なくとも第1キューイングバッファー3内の全ての前記単位リードキューに対応するコマンドまたは第2キューイングバッファー4内の全ての前記単位ライトキューに対応するコマンドが発行されるまで、前記単位リードキューに対応するコマンドおよび前記単位ライトキューに対応するコマンドを交互にSDRAM9に発行する。その際、コマンド交互発行部63は、後述するコマンド発行調整部71を介して前記単位リードキューおよび前記単位ライトキューの各々に対応するコマンドをSDRAM9に発行する。
The command
前記単位リードキューおよび前記単位ライトキューの一方の全てについて選択および対向コマンドの発行が行われた後、コマンド交互発行部63は、第1キューイングバッファー3または第2キューイングバッファー4において未選択のまま残っている前記単位リードキューまたは前記単位ライトキューを順次選択し、選択したキューに対応するコマンドを順次発行する。
After selection and issuance of the opposite command are performed for all of one of the unit read queue and the unit write queue, the command
前記制約条件は、SDRAM9の前記データ記憶領域の同一アドレスをアクセス対象とする前記単位リードキューおよび前記単位ライトキューが存在する場合に、前記要求トランザクションにおけるそれらの前後の関係を維持することである。
The constraint condition is to maintain the relationship before and after the request transaction when the unit read queue and the unit write queue that access the same address of the data storage area of the
以下の説明において、最後に発行された前記単位リードキューのコマンドにおける最後の前記リードアクセスコマンドのことを直近リードアクセスコマンドと称する。 In the following description, the last read access command in the last issued unit read queue command is referred to as the latest read access command.
例えば、単位ライトキュー選択部62が、前記キャッシュコヒーレンシが維持されることを制約条件として、以下に示されるようなオーバーヘッド時間の比較に基づく選択ルールに従って前記単位ライトキューを選択することが考えられる。
For example, it is conceivable that the unit write
前記選択ルールは、前記直近リードアクセスコマンドとの間で生じる前記アクセス切替オーバーヘッドの時間が、前記直近リードアクセスコマンドと次の次に発行予定の前記単位リードキューにおける最初の前記リードアクセス要求に対応するコマンドとの間で生じる前記バンク競合オーバーヘッドの時間に最も近い前記単位ライトキューを選択するというルールである。 In the selection rule, the time of the access switching overhead occurring between the most recent read access command corresponds to the first read access request in the unit read queue to be issued next and the most recent read access command. The rule is to select the unit write queue closest to the time of the bank contention overhead occurring between commands.
コマンド発行調整部71は、コマンド発行部6から順次発行される前記単位リードキューおよび前記単位ライトキュー各々に対応する前記リードアクセスコマンドおよび前記ライトアクセスコマンドを、コマンド発行部6からの発行順序のままSDRAM9に発行する。その際、コマンド発行調整部71は、前記リードアクセスコマンドおよび前記ライトアクセスコマンドに付随して必要な活性化コマンドおよびプリチャージコマンドもSDRAM9に発行する。
The command
より具体的には、コマンド発行調整部71は、前記行アドレス情報を含む前記活性化コマンドを発行した後に、前記列アドレス情報を含む前記リードアクセスコマンドまたは前記ライトアクセスコマンドを発行し、さらに前記プリチャージコマンドを発行する。コマンド発行調整部71は、SDRAM9の仕様によって予め定められたタイミングで各コマンドを発行する。
More specifically, the command
コマンド発行部6によって発行された前記単位リードキューおよび前記単位ライトキューの各々は、第1キューイングバッファー3および第2キューイングバッファー4の各々から消去される。
Each of the unit read queue and the unit write queue issued by the
リードデータバッファー72は、前記リードアクセスコマンドの発行に応じてSDRAM9から読み出されたリードデータを一時記憶するバッファーである。データ出力部73は、リードデータバッファー72内の前記リードデータを、バス80を通じて前記マスターへ転送するインターフェイスである。
The read
前記リードデータの転送先は、コマンド発行部6からコマンド発行調整部71を通じてSDRAM9に発行された前記リードアクセスコマンドを含む前記アクセス要求トランザクションを出力した前記マスターである。前記マスターへ転送された前記リードデータは、リードデータバッファー72から消去される。
The transfer destination of the read data is the master that has output the access request transaction including the read access command issued from the
データ入力部75は、前記マスターから前記ライトアクセス要求を含む前記アクセス要求トランザクションとともに出力されるライトデータを、バス80を通じて取得するインターフェイスである。ライトデータバッファー74は、データ入力部75が取得した前記ライトデータを一時記憶するバッファーである。
The
SDRAM9は、前記ライトアクセスコマンドを受けた際に指定された前記データ記憶領域の前記アドレスに前記ライトデータを記録する。SDRAM9に記録された前記ライトデータは、ライトデータバッファー74から消去される。
The
[アクセスコマンド発行順序の具体例]
続いて、図3,4を参照しつつ、前記アクセス要求トランザクションにおける各アクセス要求に対応するコマンドの発行順序の具体例について説明する。図3は、前記アクセス要求トランザクションにおける前記アクセス要求に対応するコマンドの実行状況の一例を模式的に示すタイムチャートである。
[Specific example of access command issue order]
Next, a specific example of a command issue order corresponding to each access request in the access request transaction will be described with reference to FIGS. FIG. 3 is a time chart schematically showing an example of the execution status of the command corresponding to the access request in the access request transaction.
図3に示される第1タイムチャートTc1は、前記アクセス要求トランザクションの各アクセス要求に対応するコマンドが元の順序のまま発行された場合におけるコマンド実行状況の一例を模式的に示すタイムチャートである。第2タイムチャートTc2は、前記要求トランザクションを受けたメモリーアクセス装置10が前記アクセスコマンドを発行した場合におけるコマンド実行状況の一例を模式的に示すタイムチャートである。
A first time chart Tc1 shown in FIG. 3 is a time chart schematically showing an example of a command execution situation when commands corresponding to each access request of the access request transaction are issued in the original order. The second time chart Tc2 is a time chart schematically showing an example of a command execution situation when the
第1タイムチャートTc1および第2タイムチャートTc2各々の元になる前記アクセス要求トランザクションは同じである。以下の説明において、そのアクセス要求トランザクションのことをサンプル要求トランザクションと称する。 The access request transaction that is the basis of each of the first time chart Tc1 and the second time chart Tc2 is the same. In the following description, the access request transaction is referred to as a sample request transaction.
図3において、R1〜R6は前記リードアクセス要求を表し、WI〜W3は前記ライトアクセス要求を表し、X1〜X8は前記オーバーヘッドを表す。 In FIG. 3, R1 to R6 represent the read access request, WI to W3 represent the write access request, and X1 to X8 represent the overhead.
第1タイムチャートTc1において、第1リードアクセス要求R1および第2リードアクセス要求R2は、それぞれ同一の前記バンクにおける異なる前記ページへの前記アクセス要求である。そのため、第1リードアクセス要求R1および第2リードアクセス要求R2の各コマンドが連続して発行されることにより、前記バンク競合オーバーヘッドである第1オーバーヘッドX1が生じている。第4リードアクセス要求R4のコマンドと第5リードアクセス要求R5のコマンドとの間においても生じている第4オーバーヘッドX4も前記バンク競合オーバーヘッドである。 In the first time chart Tc1, the first read access request R1 and the second read access request R2 are access requests to different pages in the same bank. Therefore, the first overhead X1, which is the bank contention overhead, is generated by sequentially issuing the commands of the first read access request R1 and the second read access request R2. The fourth overhead X4 occurring between the command of the fourth read access request R4 and the command of the fifth read access request R5 is also the bank contention overhead.
第1タイムチャートTc1において、第2リードアクセス要求R2および第3リードアクセス要求R3は、それぞれ異なる前記バンクへの前記アクセス要求である。そのため、第2リードアクセス要求R2および第3リードアクセス要求R3の各コマンドが連続して発行されることにより、大きなオーバーヘッドが生じず、連続して高速なアクセスが可能となる。 In the first time chart Tc1, the second read access request R2 and the third read access request R3 are the access requests to the different banks. For this reason, the commands of the second read access request R2 and the third read access request R3 are issued in succession, so that a large overhead does not occur and continuous high speed access is possible.
第1タイムチャートTc1において、種類が異なる第3リードアクセス要求R3および第1ライトアクセス要求W1の各コマンドが連続して発行されている。そのため、前記アクセス切替オーバーヘッドである第2オーバーヘッドX2が生じる。 In the first time chart Tc1, the different commands of the third read access request R3 and the first write access request W1 are successively issued. Therefore, the second overhead X2 that is the access switching overhead occurs.
第1ライトアクセス要求W1のコマンドと第4リードアクセス要求R4のコマンドとの間と、第5リードアクセス要求R5、第2ライトアクセス要求W2、第6リードアクセス要求R6および第3ライトアクセス要求W3の各々のコマンドの間と、第3ライトアクセス要求W3のコマンドの実行後とにおいて生じている第2オーバーヘッドX2、第3オーバーヘッドX3、第5オーバーヘッドX5、第6オーバーヘッドX6および第7オーバーヘッドX7および第8オーバーヘッドも、前記アクセス切替オーバーヘッドである。 Between the command of the first write access request W1 and the command of the fourth read access request R4, the fifth read access request R5, the second write access request W2, the sixth read access request R6, and the third write access request W3. The second overhead X2, the third overhead X3, the fifth overhead X5, the sixth overhead X6, the seventh overhead X7, and the eighth generated between the respective commands and after the execution of the command of the third write access request W3. The overhead is also the access switching overhead.
一方、メモリーアクセス装置10は、前記マスターから入力される前記サンプル要求トランザクションに含まれる複数の前記アクセス要求のキューを、前記オーバーヘッドが減少するように並べ替え、並べ替え後の順序で前記アクセス要求各々に対応するコマンドをSDRAM9へ発行する。
On the other hand, the
図4は、前記サンプル要求トランザクションを受けたメモリーアクセス装置10が一時記憶する前記リードアクセスキューRqおよびライトアクセスキューWqの一例を模式的に示す図である。
FIG. 4 is a diagram schematically illustrating an example of the read access queue Rq and the write access queue Wq that are temporarily stored in the
メモリーアクセス装置10において、アクセス要求分別部2は、前記サンプル要求トランザクションを、リードアクセス要求R1〜R6が並ぶ前記リードアクセスキューRqと、前記ライトアクセス要求W1〜W3が並ぶ前記ライトアクセスキューWqとに分別する。
In the
また、図4は、リードキュー区分部51が前記リードアクセスキューRqを複数の前記単位リードキューRu1〜Ru5に区分し、ライトキュー区分部52が前記ライトアクセスキューWqを複数の前記単位ライトキューWu1〜Wu3に区分した例を示す。
In FIG. 4, the read
便宜上、図4が示す例は、前記リードアクセスキューRqが、SDRAM9における同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記リードアクセス要求の間の全てが区分位置である場合の例である。
For convenience, FIG. 4 shows an example in which the read access queue Rq is all divided between two consecutive read access requests to which different pages in the same bank in the
同様に、図4が示す例は、前記ライトアクセスキューWqが、SDRAM9における同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記ライトアクセス要求の間の全てが区分位置である場合の例である。
Similarly, in the example shown in FIG. 4, the write access queue Wq is all divided between two consecutive write access requests to which different pages in the same bank in the
そして、図3の第2タイムチャートTc2が示すように、コマンド発行部6が、前記単位リードキューRu1〜Ru6に対応するコマンドと前記単位ライトキューWu1〜Wu3に対応するコマンドとを交互に発行する。その際、前記単位リードキューRu1〜Ru6に対応するコマンドの発行順序は、前記サンプル要求トランザクション内での前記リードアクセス要求R1〜R6の順序に従った順序である。
As shown in the second time chart Tc2 of FIG. 3, the
なお、便宜上、図3の第2タイムチャートTc2が示す例では、前記単位ライトキューWu1〜Wu3に対応するコマンドの発行順序も、前記サンプル要求トランザクション内での前記ライトアクセス要求W1〜W3の順序に従った順序になっている。 For convenience, in the example shown by the second time chart Tc2 in FIG. 3, the command issue order corresponding to the unit write queues Wu1 to Wu3 is also in the order of the write access requests W1 to W3 in the sample request transaction. It is in order.
前記サンプル要求トランザクションが処理される場合、前記アクセス切替オーバーヘッド(X2,X3,X5,X6,X7,X8)は必ず生じるオーバーヘッドである。 When the sample request transaction is processed, the access switching overhead (X2, X3, X5, X6, X7, X8) is necessarily generated overhead.
そして、メモリーアクセス装置10においては、前記リードアクセスキューRqが、前記バンク競合オーバーヘッド(X1,X4)が生じる前記アクセス要求の間の位置で前記単位リードキューRu1〜Ru6に区分される。
In the
さらに、メモリーアクセス装置10においては、前記単位リードキューRu1〜Ru6と前記単位ライトキューWu1〜Wu3とが交互に発行される。そのため、前記バンク競合オーバーヘッド(X1,X4)が、前記アクセス切替オーバーヘッド(X2,X3,X5,X6,X7,X8)の一部と重なる。
Further, in the
図3の第2タイムチャートTc2が示す例では、第1オーバーヘッドX1が第2オーバーヘッドX2と重なり、第4オーバーヘッドX4が第7オーバーヘッドX7と重なっている。そのため、前記バンク競合オーバーヘッドにおける前記アクセス切替オーバーヘッドと重なる部分が隠蔽される。その結果、SDRAM9へのアクセス効率が向上する。
In the example shown by the second time chart Tc2 of FIG. 3, the first overhead X1 overlaps with the second overhead X2, and the fourth overhead X4 overlaps with the seventh overhead X7. Therefore, a portion of the bank conflict overhead that overlaps with the access switching overhead is hidden. As a result, the access efficiency to the
ここで、第1リードアクセス要求R1に対応するコマンドが前記直近リードアクセスコマンドである場合に、コマンド発行部6の単位ライトキュー選択部62が次の前記単位ライトキューを選択する状況の例について説明する。この状況において、単位ライトキュー選択部62が、前記キャッシュコヒーレンシの維持を制約条件として、前述したようにオーバーヘッド時間の比較に基づく前記選択ルールに従って前記単位ライトキュー(Wu1)を選択することが考えられる。
Here, an example of a situation where the unit write
前記選択ルールに従って前記単位ライトキュー(Wu1)が選択されれば、前記アクセス切替オーバーヘッド(X2)と重なる時間が最も長い前記バンク競合オーバーヘッド(X1)が選択される。その結果、前記バンク競合オーバーヘッドの隠蔽時間がより長くなり、SDRAM9へのアクセス効率がより向上する。
If the unit write queue (Wu1) is selected according to the selection rule, the bank contention overhead (X1) having the longest overlap time with the access switching overhead (X2) is selected. As a result, the concealing time of the bank conflict overhead becomes longer, and the access efficiency to the
また、前記アクセス要求トランザクション内の前記リードアクセス要求各々に対応する前記リードアクセスコマンドは、メモリーアクセス装置10に入力される順序に従った順序で、即ち、前後関係が変更されることなく発行される。この場合、本来の順序の前記リードデータの列が、リードデータバッファー72に記録される。
Further, the read access command corresponding to each of the read access requests in the access request transaction is issued in an order according to the order inputted to the
従って、メモリーアクセス装置10が採用されれば、SDRAM9に対するリードアクセスの要求順序と前記リードデータの出力順序との整合性が求められる場合でも、前記リードデータの並べ替えは不要である。その結果、前記リードデータの並べ替えのためにリードデータバッファー72などのリソースを追加する必要がない。さらに、前記リードデータの並べ替えに伴う前記レイテンシの増大が生じることもない。
Therefore, if the
また、前記単位リードキューおよび前記単位ライトキューが、前記バンク競合オーバーヘッドが予め定められた許容範囲に収まる1つ以上の前記アクセス要求ごとに区分されれば、前記アクセス切替オーバーヘッドの発生回数を抑制することができる。 Further, if the unit read queue and the unit write queue are classified for each of the one or more access requests in which the bank contention overhead falls within a predetermined allowable range, the number of times of occurrence of the access switching overhead is suppressed. be able to.
[第2実施形態]
次に、図5を参照しつつ、本発明の第2実施形態に係るメモリーアクセス装置10Aについて説明する。図5はメモリーアクセス装置10Aの概略構成を示すブロック図である。図5において、図1〜4に示される構成要素と同じ構成要素は、同じ参照符号が付されている。
[Second Embodiment]
Next, a
メモリーアクセス装置10Aは、図2が示すメモリーアクセス装置10と比較して、一部の構成要素が追加された構成を有している。以下、メモリーアクセス装置10Aにおけるメモリーアクセス装置10と異なる点について説明する。
The
メモリーアクセス装置10Aは、メモリーアクセス装置10の構成に優先度判定部8が追加された構成を備える。さらに、メモリーアクセス装置10Aは、複数の第1キューイングバッファー3および複数の第2キューイングバッファー4を備える。図5が示す例では、アクセス要求分別部2が優先度判定部8を含む。
The
本実施形態において、要求トランザクション入力部1に入力される前記要求トランザクションは、優先度の情報を含む。前記優先度の情報は、例えば、前記マスターによって前記要求トランザクションに含められた情報である。また、優先度判定部8が、前記マスター各々と前記優先度との対応関係の情報を予め記憶していることも考えられる。この場合、前記優先度の情報は、前記要求トランザクションの要求元の前記マスターを識別する情報である。
In the present embodiment, the request transaction input to the request
また、第1キューイングバッファー3および第2キューイングバッファー4は、前記優先度の候補ごとに設けられている。例えば、前記優先度の候補が、第1優先度およびそれより優先度合の低い第2優先度の2種類である場合、メモリーアクセス装置10は、2つの第1キューイングバッファー3および2つの第2キューイングバッファー4を備える。図5が示す例は、第1キューイングバッファー3および第2キューイングバッファー4が2つずつ設けられた例である。
A
優先度判定部8は、入力される前記要求トランザクションに含まれる前記優先度の情報を参照することによって前記要求トランザクションごとの前記優先度を判定する。 The priority determination unit 8 determines the priority for each request transaction by referring to the priority information included in the input request transaction.
そして、アクセス要求分別部2は、優先度判定部8により判定される前記優先度が同じ前記アクセス要求トランザクションごとに前記リードアクセスキューと前記ライトアクセスキューとの分別を行う。
Then, the access
また、第1キューイングバッファー3各々は、前記優先度が同じ前記アクセス要求トランザクションについて分別された前記リードアクセスキューのみを一時記憶する。同様に、第2キューイングバッファー4各々は、前記優先度が同じ前記アクセス要求トランザクションについて分別された前記ライトアクセスキューのみを一時記憶する。
Each of the
即ち、メモリーアクセス装置10Aは、前記優先度が同じ前記アクセス要求トランザクションごとに、前記リードアクセスキューを記憶する複数の前記第1キューイングバッファー3および前記ライトアクセスキューを記憶する複数の前記第2キューイングバッファー4を備える。
That is, the
メモリーアクセス装置10Aにおいて、リードキュー区分部51およびライトキュー区分部52は、前記優先度ごとに前記単位リードキューの区分および前記単位ライトキューの区分を行う。同様に、コマンド発行部6は、前記優先度の高いものから順に前記単位リードキューおよび前記単位ライトキューの選択およびコマンド発行の処理を行う。
In the
メモリーアクセス装置10Aが採用されれば、前記要求トランザクションごとに前記リートアクセスコマンドの発行順序が本来の前後関係に維持されつつ、前記優先度の高い前記アクセス要求トランザクションから順に処理される。
If the
従って、前記優先度の異なる前記要求トランザクションが混在して入力される場合でも、前記リソースの追加および前記レイテンシの増大を回避しつつ、前記要求トランザクションごとに前記リードアクセスの要求順序と前記リードデータの出力順序との整合性を確保することができる。 Therefore, even when the request transactions having different priorities are input in a mixed manner, the read access request order and the read data for each request transaction are avoided for each request transaction while avoiding the addition of the resource and the increase in the latency. Consistency with the output order can be ensured.
<応用例>
メモリーアクセス装置10,10Aが、例えば携帯情報端末などの画像処理装置100以外の情報処理装置に適用されることも考えられる。
<Application example>
It is also conceivable that the
なお、本発明に係るメモリーアクセス装置は、各請求項に記載された発明の範囲において、以上に示された実施形態および応用例を自由に組み合わせること、或いは実施形態および応用例を適宜、変形するまたは一部を省略することによって構成されることも可能である。 The memory access device according to the present invention can be freely combined with the above-described embodiments and application examples within the scope of the invention described in each claim, or can be modified as appropriate. Alternatively, it may be configured by omitting a part.
1 :要求トランザクション入力部
2 :アクセス要求分別部
3 :第1キューイングバッファー
4 :第2キューイングバッファー
5 :アクセスキュー区分部
6 :コマンド発行部
7 :メモリーアクセス部
8 :優先度判定部
9 :SDRAM
10,10A:メモリーアクセス装置
20 :スキャン部
30 :スキャン制御部
40 :プリント部
50 :プリント制御部
51 :リードキュー区分部
52 :ライトキュー区分部
60 :通信制御部
61 :単位リードキュー選択部
62 :単位ライトキュー選択部
63 :コマンド交互発行部
70 :画像処理部
71 :コマンド発行調整部
72 :リードデータバッファー
73 :データ出力部
74 :ライトデータバッファー
75 :データ入力部
80 :バス
100 :画像処理装置
R1〜R6:リードアクセス要求
Rq :リードアクセスキュー
Ru1〜Ru6:単位リードキュー
Tc1 :第1タイムチャート
Tc2 :第2タイムチャート
W1〜W3:ライトアクセス要求
Wq :ライトアクセスキュー
Wu1〜Wu3:単位ライトキュー
X1〜X7:オーバーヘッド
1: Request transaction input unit 2: Access request sorting unit 3: First queuing buffer 4: Second queuing buffer 5: Access queue sorting unit 6: Command issuing unit 7: Memory access unit 8: Priority determining unit 9: SDRAM
10, 10A: Memory access device 20: Scan unit 30: Scan control unit 40: Print unit 50: Print control unit 51: Read queue classification unit 52: Write queue classification unit 60: Communication control unit 61: Unit read queue selection unit 62 : Unit write queue selection unit 63: Command alternate issue unit 70: Image processing unit 71: Command issue adjustment unit 72: Read data buffer 73: Data output unit 74: Write data buffer 75: Data input unit 80: Bus 100: Image processing Devices R1 to R6: Read access request Rq: Read access queue Ru1 to Ru6: Unit read queue Tc1: First time chart Tc2: Second time chart W1 to W3: Write access request Wq: Write access queue Wu1 to Wu3: Unit write Queues X1-X7: overhead
Claims (4)
外部から入力される前記メモリーへのアクセス要求の列を含むアクセス要求トランザクションをリードアクセス要求が並ぶリードアクセスキューとライトアクセス要求が並ぶライトアクセスキューとに分別するアクセス要求分別部と、
前記リードアクセスキューを一時記憶する第1キューイングバッファーと、
前記ライトアクセスキューを一時記憶する第2キューイングバッファーと、
前記リードアクセスキューを、前記メモリーにおける同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記リードアクセス要求の間で区分することによってそれぞれ1つ以上の前記リードアクセス要求を含む複数の単位リードキューに区分するリードキュー区分部と、
前記ライトアクセスキューを、前記メモリーにおける同一の前記バンク内の異なる前記ページをアクセス先とする連続する2つの前記ライトアクセス要求の間で区分することによってそれぞれ1つ以上の前記ライトアクセス要求を含む複数の単位ライトキューに区分するライトキュー区分部と、
前記単位リードキュー各々を前記アクセス要求トランザクション内での前記リードアクセス要求の順序に従って順次選択するとともに、前記単位ライトキュー各々を順次選択し、少なくとも前記第1キューイングバッファー内の全ての前記単位リードキューに対応するコマンドまたは前記第2キューイングバッファー内の全ての前記単位ライトキューに対応するコマンドが発行されるまで、選択した前記単位リードキューに対応するコマンドと前記単位ライトキューに対応するコマンドとを交互に前記メモリーに発行するコマンド発行部と、を備えるメモリーアクセス装置。 A memory access device for issuing an access command to a memory having a data storage area divided into a plurality of banks and each of the banks being divided into a plurality of pages,
An access request sorting unit for sorting an access request transaction including a column of access requests to the memory input from the outside into a read access queue in which read access requests are arranged and a write access queue in which write access requests are arranged;
A first queuing buffer for temporarily storing the read access queue;
A second queuing buffer for temporarily storing the write access queue;
A plurality of read access requests each including one or more read access requests by partitioning the read access queue between two consecutive read access requests that are accessed by different pages in the same bank in the memory; A read queue sorting section that divides the unit read queue into
A plurality of write access requests each including one or more write access requests by partitioning the write access queue between two consecutive write access requests to which different pages in the same bank in the memory are accessed A light queue sorting section for sorting into unit light queues of
Each of the unit read queues is sequentially selected according to the order of the read access requests in the access request transaction, and each of the unit write queues is sequentially selected, and at least all the unit read queues in the first queuing buffer are selected. Or a command corresponding to the selected unit read queue and a command corresponding to the unit write queue until a command corresponding to the unit write queue or a command corresponding to all the unit write queues in the second queuing buffer is issued. A memory access device comprising: a command issuing unit that alternately issues to the memory.
前記ライトキュー区分部は、対応するコマンドが前記メモリーに連続して発行された場合にバンク競合によるオーバーヘッドが予め定められた許容範囲に収まる前記ライトアクセス要求の列ごとに、当該ライトアクセス要求の列を前記単位ライトキューとして区分する、請求項1または請求項2に記載のメモリーアクセス装置。 The read queue sorting unit includes a column of the read access request for each column of the read access request in which the overhead due to bank competition falls within a predetermined allowable range when corresponding commands are continuously issued to the memory. As the unit read queue,
The write queue sorting unit includes a write access request column for each write access request column in which overhead due to bank competition falls within a predetermined allowable range when corresponding commands are continuously issued to the memory. The memory access device according to claim 1, wherein the memory access device is classified as the unit write queue.
前記アクセス要求分別部は、前記判定部により判定される前記優先度が同じ前記アクセス要求トランザクションごとに前記リードアクセスキューと前記ライトアクセスキューとの分別を行い、
前記優先度が同じ前記アクセス要求トランザクションごとに、前記リードアクセスキューを記憶する複数の前記第1キューイングバッファーおよび前記ライトアクセスキューを記憶する複数の前記第2キューイングバッファーを備え、
前記リードキュー区分部および前記ライトキュー区分部は、前記優先度ごとに前記単位リードキューの区分および前記単位ライトキューの区分を行い、
前記コマンド発行部は、前記優先度の高いものから順に前記単位リードキューおよび前記単位ライトキューの選択およびコマンド発行の処理を行う、請求項1から請求項3のいずれか1項に記載のメモリーアクセス装置。 A determination unit for determining a priority of the access request transaction;
The access request classification unit classifies the read access queue and the write access queue for each access request transaction having the same priority determined by the determination unit,
A plurality of first queuing buffers for storing the read access queue and a plurality of second queuing buffers for storing the write access queue for each access request transaction having the same priority;
The read queue sorting unit and the write queue sorting unit perform the unit read queue sorting and the unit write queue sorting for each priority,
4. The memory access according to claim 1, wherein the command issuing unit selects the unit read queue and the unit write queue and issues a command in order from the highest priority. 5. apparatus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014219479A JP6180398B2 (en) | 2014-10-28 | 2014-10-28 | Memory access device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014219479A JP6180398B2 (en) | 2014-10-28 | 2014-10-28 | Memory access device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016085684A JP2016085684A (en) | 2016-05-19 |
| JP6180398B2 true JP6180398B2 (en) | 2017-08-16 |
Family
ID=55973074
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014219479A Active JP6180398B2 (en) | 2014-10-28 | 2014-10-28 | Memory access device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6180398B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10198369B2 (en) * | 2017-03-24 | 2019-02-05 | Advanced Micro Devices, Inc. | Dynamic memory remapping to reduce row-buffer conflicts |
| CN109426520A (en) * | 2017-09-04 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | A kind of method and device for realizing consistency checking |
| JP2020170315A (en) * | 2019-04-02 | 2020-10-15 | キヤノン株式会社 | Access control device |
| CN113377277B (en) * | 2020-03-09 | 2024-08-16 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing memory |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006154910A (en) * | 2004-11-25 | 2006-06-15 | Canon Inc | Memory control device |
| JP4786209B2 (en) * | 2005-03-18 | 2011-10-05 | パナソニック株式会社 | Memory access device |
| JP2009193107A (en) * | 2008-02-12 | 2009-08-27 | Panasonic Corp | Memory access device |
| JP5754273B2 (en) * | 2011-07-11 | 2015-07-29 | 株式会社リコー | MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD |
-
2014
- 2014-10-28 JP JP2014219479A patent/JP6180398B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016085684A (en) | 2016-05-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4356765B2 (en) | Information processing apparatus and method, and program | |
| US8661209B2 (en) | Data processing apparatus, data processing method, and computer-readable recording medium for writing and reading data to and from a storage | |
| US10409746B2 (en) | Memory access control device and control method of memory access | |
| JP6180398B2 (en) | Memory access device | |
| JP5911548B1 (en) | Apparatus, method, and computer program for scheduling access request to shared memory | |
| JP6233287B2 (en) | Memory access device, image processing device | |
| US8928927B2 (en) | Image forming apparatus that buffers data in a storage device and reduces delays in process | |
| JP2016103112A (en) | Data transfer control device, information processing device, and image forming apparatus | |
| JP2015158894A (en) | Image forming apparatus, data transfer control method for image forming processing, and data transfer control program for image forming processing | |
| JP5340058B2 (en) | Image processing apparatus, control method thereof, and program | |
| US9667531B2 (en) | Image processing apparatus and control method | |
| US9858204B2 (en) | Cache device, cache system, and cache method | |
| JP4754531B2 (en) | Device access control method and processing apparatus | |
| JP2007094649A (en) | Access arbitration circuit | |
| JP2012038065A (en) | Semiconductor integrated circuit and information storage method | |
| JP4446968B2 (en) | Data processing device | |
| JP6180397B2 (en) | Memory access device and memory access control method | |
| JP4804803B2 (en) | Memory access control device and computer program | |
| JP2000099391A (en) | Printer, printer controlling method and storage medium | |
| JP2003323335A (en) | Memory device and control method thereof | |
| JP2007264751A (en) | Data transfer control device | |
| JP2000148576A (en) | File management system | |
| JP2006277363A (en) | Information transfer system, and image forming device | |
| JP2007281576A (en) | Image processing device | |
| JP5602109B2 (en) | Image forming apparatus and image forming program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161026 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170609 |
|
| 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: 20170620 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170718 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6180398 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |