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

Memory access device and memory access method Download PDF

Info

Publication number
JP4890807B2
JP4890807B2 JP2005217919A JP2005217919A JP4890807B2 JP 4890807 B2 JP4890807 B2 JP 4890807B2 JP 2005217919 A JP2005217919 A JP 2005217919A JP 2005217919 A JP2005217919 A JP 2005217919A JP 4890807 B2 JP4890807 B2 JP 4890807B2
Authority
JP
Japan
Prior art keywords
address space
memory device
access
memory
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005217919A
Other languages
Japanese (ja)
Other versions
JP2007034740A (en
Inventor
隆史 山田
和秀 藤本
大輔 伊元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005217919A priority Critical patent/JP4890807B2/en
Publication of JP2007034740A publication Critical patent/JP2007034740A/en
Application granted granted Critical
Publication of JP4890807B2 publication Critical patent/JP4890807B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プロセッサ、画像処理装置などのようなマスタデバイスデバイスとメモリデバイスとの間のインターフェースを担うメモリアクセス装置に関する。   The present invention relates to a memory access apparatus that serves as an interface between a master device device such as a processor and an image processing apparatus and a memory device.

近年、半導体集積装置に内蔵されるプロセッサや画像処理装置が扱う対象が著しく広がり、MPEGやH.264等のHD(HighDensity)画像、ゲームやデジタル録画機等に代表される高画質・3Dグラフィックス等に及んでいる。そして、これに伴い、メモリ装置に対して、大容量化、高速化が要求されてきている。具体的には、データ転送の高速化、転送効率などのために、アクセスオーバーヘッドを軽減することが要求されている。   In recent years, the number of objects handled by processors and image processing apparatuses built in semiconductor integrated devices has increased significantly, and MPEG, It extends to HD (High Density) images such as H.264, high image quality and 3D graphics represented by games, digital recorders, and the like. Along with this, there has been a demand for larger capacity and higher speed for memory devices. Specifically, it is required to reduce access overhead in order to increase data transfer speed and transfer efficiency.

一般的に、データ転送の高速化を実現する方法として、(1)データの転送速度を上げる方法、(2)メモリのバス幅を広くとる方法、またはこれらの方法(1),(2)を併用する方法などが知られている。   Generally, as a method for realizing high-speed data transfer, (1) a method for increasing the data transfer speed, (2) a method for widening the memory bus width, or these methods (1) and (2) are used. The method of using it together is known.

これら以外にも、半導体装置の進歩により、画像の数フレーム分容量のメモリを半導体装置に内蔵し、半導体装置に外付けされたメモリ(以下、外付けメモリと呼称する。)と、内蔵されたメモリ(以下、内蔵メモリと呼称する。)とを併用する方法が知られている(例えば、特許文献1、または特許文献2参照。)。この方法によれば、内蔵メモリには、アクセス頻度の高いデータ(例えば、画像に関するデータなど。)が記憶され、外付けメモリには、アクセス頻度の低いデータが記憶されて、通常の画像処理において、メモリインタフェース回路により内蔵メモリが頻繁にアクセスされ、必要に応じて外付けメモリがアクセスされる。
特開2003−132347号公報 特開平10−222459号公報
In addition to these, due to the progress of the semiconductor device, a memory having a capacity for several frames of an image is built in the semiconductor device, and a memory externally attached to the semiconductor device (hereinafter referred to as an external memory). A method of using a memory (hereinafter referred to as a built-in memory) in combination is known (see, for example, Patent Document 1 or Patent Document 2). According to this method, data with high access frequency (for example, data related to images) is stored in the built-in memory, and data with low access frequency is stored in the external memory. The internal memory is frequently accessed by the memory interface circuit, and the external memory is accessed as necessary.
JP 2003-132347 A Japanese Patent Laid-Open No. 10-222459

しかしながら、上記に記した従来の技術において、(1)データの転送速度を上げる方法には、高速なメモリを採用する必要があるため、消費電力のアップと、基板設計などの難易度が高くなるなどという課題を有し、また一般的に高いクロック周波数のメモリは高価になりシステムコストが上昇するという課題も同時に有する。   However, in the conventional techniques described above, (1) the method for increasing the data transfer speed requires the use of a high-speed memory, which increases the power consumption and the difficulty in designing the board. In addition, a memory having a high clock frequency is generally expensive and has a problem that the system cost increases.

例えば、近年のデジタルTV放送などで用いられるMPEG2MP@HL規格、H.264−HD規格等に基づくエンコードやデコード、POSTフィルタ処理や出画処理、高画質グラフィックス処理、IP変換処理、プロセッサなどといった処理を同一の半導体装置に内蔵し共有化メモリで処理しようとすると、メモリに要求される性能は数G[Byte/s]にもなる。この性能に対応するためにクロック周波数が高く、バースト転送に向いたSDRAM、DDR−SDRAM、DDR2−SDRAM、RamBus社のXDRなどの高速なメモリを採用する必要がある。   For example, the MPEG2MP @ HL standard used in recent digital TV broadcasting, H.264, etc. When processing such as encoding / decoding based on the 264-HD standard, POST filter processing, image output processing, high-quality graphics processing, IP conversion processing, processor, etc. is built in the same semiconductor device, The performance required for the memory is several G [Byte / s]. In order to cope with this performance, it is necessary to employ a high-speed memory such as SDRAM, DDR-SDRAM, DDR2-SDRAM and RamBus XDR which have a high clock frequency and are suitable for burst transfer.

このため、(2)メモリのバス幅を広くとる方法を用いると、半導体装置の端子数が増大し、LSIの製造コストを押し上げ、また複数のメモリを使用するためにシステムコストが増大してしまうという別の課題を有することとなる。   For this reason, (2) using a method of widening the bus width of the memory increases the number of terminals of the semiconductor device, increases the manufacturing cost of the LSI, and increases the system cost due to the use of a plurality of memories. It will have another problem.

また、外付けメモリと内蔵メモリとを併用する方法(特許文献1、特許文献2)においては、グラフィックなどの特定処理に要するアクセス頻度の高いデータを内蔵メモリに記憶する必要があるため、データ転送量が極めて大きく、必要とするメモリ容量も大きい処理、例えば、MPEGのエンコード処理やデコード処理、高画質化処理、IP変換処理などが同時に重なる場合には、内蔵メモリの大容量化、周波数、バス幅などの拡大を招き、結果、チップ面積が増大し、半導体装置の製造コストが上がり、設計難易度が上がるという課題を有する。   Further, in the method using both the external memory and the built-in memory (Patent Document 1 and Patent Document 2), it is necessary to store frequently accessed data required for specific processing such as graphics in the built-in memory. When the amount of processing that is extremely large and requires a large amount of memory, for example, MPEG encoding and decoding, high image quality processing, IP conversion processing, etc., overlap at the same time, increase the capacity of the built-in memory, frequency, bus As a result, the width and the like are increased. As a result, the chip area increases, the manufacturing cost of the semiconductor device increases, and the design difficulty increases.

そこで、本発明は、前記課題に鑑みてなされたものであり、要求されるデータ転送レートと容量を確保しつつ、コストの削減が可能なメモリアクセス装置を提供することを目的とする。   Accordingly, the present invention has been made in view of the above problems, and an object of the present invention is to provide a memory access device capable of reducing cost while ensuring a required data transfer rate and capacity.

前記目的を達成するために、本発明に係るメモリアクセス装置は、(a)第1のアドレス空間が割り当てられた第1のメモリデバイスと、(b)アクセスに要するレイテンシが前記第1のメモリデバイスよりも短く、第2のアドレス空間が割り当てられた第2のメモリデバイスと、(c)前記第1のアドレス空間が複数の第1の部分アドレス空間に分かれ、前記第2のアドレス空間が複数の第2の部分アドレス空間に分かれ、各第1の部分アドレス空間と各第2の部分アドレス空間とが交互に配置されて論理的に連続する論理アドレス空間を第1の論理アドレス空間とした場合において、(d)前記第1の論理アドレス空間に対するアクセスを指示する第1のコマンドに応じて、前記第1のアドレス空間および前記第2のアドレス空間に対するアクセスを制御するメモリデバイス制御手段とを備え、前記メモリデバイス制御手段は、前記第1のコマンドに応じて、前記第1の部分アドレス空間にアクセスする場合には、前記第1の部分アドレス空間に対するアクセスが示される第1種制御信号群を前記第1のメモリデバイスに供給し、前記第2の部分アドレス空間にアクセスする場合には、前記第2の部分アドレス空間に対するアクセスが示される第2種制御信号群を前記第2のメモリデバイスに供給し、前記メモリデバイス制御手段は、前記第1の部分アドレス空間および前記第2の部分アドレス空間に跨がってアクセスする場合には、前記第1種制御信号群と前記第2種制御信号群とを並列供給する。メモリアクセス装置は、さらに、前記第2のアドレス空間に対するアクセスが終了してから前記第1のアドレス空間に対する次のアクセスが開始するまでの時間内に、前記第2のメモリデバイスのアドレス空間に対するアクセスが示される第3種制御信号群を前記第2のメモリデバイスに供給するアービタを備える。 To achieve the above object, a memory access device according to the present invention includes (a) a first memory device to which a first address space is allocated, and (b) latency required for access is the first memory device. A second memory device having a second address space shorter than the second memory device, and (c) the first address space is divided into a plurality of first partial address spaces, and the second address space is a plurality of In the case where the first partial address space is divided into the second partial address spaces, and the first partial address spaces and the second partial address spaces are alternately arranged and logically continuous logical address spaces are defined as the first logical address spaces. (D) in response to the first command for instructing access to the first logical address space, the first address space and the second address space. Memory device control means for controlling access, and when the memory device control means accesses the first partial address space in response to the first command, the memory device control means controls the first partial address space. When the first type control signal group indicating access is supplied to the first memory device and the second partial address space is accessed, the second type indicating access to the second partial address space is provided. When a control signal group is supplied to the second memory device, and the memory device control means accesses the first partial address space and the second partial address space, the first memory device controls the first memory device. The seed control signal group and the second kind control signal group are supplied in parallel. The memory access device further accesses the address space of the second memory device within a time period from the end of the access to the second address space to the start of the next access to the first address space. An arbiter is provided for supplying the second type of control signal group shown in FIG.

これによって、アクセスに要するレイテンシが第1のメモリデバイスよりも短い第2のメモリデバイスも併用することによって、容量を確保しながら、データ転送レートを向上させることができ、要求されるデータ転送レートを満たすことができる。また、転送レートの向上に伴い、周波数を下げることによって、設計を容易にし、高い周波数で動作する部品を用いることを回避し、コストを下げることができる。   As a result, the data transfer rate can be improved while securing the capacity by using the second memory device having a latency required for access shorter than that of the first memory device, and the required data transfer rate can be increased. Can be satisfied. Further, by reducing the frequency as the transfer rate increases, the design can be facilitated, the use of components operating at a high frequency can be avoided, and the cost can be reduced.

なお、本発明は、メモリアクセス装置として実現することができるだけではなく、マスタデバイスとメモリデバイスとの間におけるデータ転送を行うメモリアクセス方法としても実現することもできる。   Note that the present invention can be realized not only as a memory access device but also as a memory access method for transferring data between a master device and a memory device.

本発明に係るメモリアクセス装置によれば、例えば第1のメモリデバイス(外部のDRAM)と第2のメモリデバイス(内蔵のメモリ)とした構成において、MPEG2MP@HL規格、H.264−HD規格等に基づいたエンコード処理やデコード処理、POSTフィルタや出画処理、高画質グラフィックス処理、IP変換処理などに要求されるデータ転送レートと容量を確保しつつ、第1のメモリデバイス(外部のDRAM)のバス幅とチップ数を増やすことを抑止することができる。これに伴い、第1のメモリデバイス(外部のDRAM)の動作周波数と消費電力を低減し、半導体装置のコスト及びセットシステムコストの削減を同時に実現することができる。また、第2のメモリデバイス(内蔵のメモリ)に記憶されているデータのうち、不要になるデータを第1のメモリデバイス(外部のDRAM)に退避することにより、トータルの容量を大幅に増やせることはもとより、第2のメモリデバイス(内蔵のメモリ)の処理速度、反応速度の速い利点を十分に発揮することができ、転送効率やレイテンシを改善し、プロセッサの性能低下やLSIのコストを低減することができる。   According to the memory access apparatus of the present invention, for example, in a configuration including a first memory device (external DRAM) and a second memory device (built-in memory), the MPEG2MP @ HL standard, The first memory device while ensuring the data transfer rate and capacity required for encoding processing and decoding processing based on the 264-HD standard, POST filter, image output processing, high-quality graphics processing, IP conversion processing, etc. Increasing the bus width and the number of chips of (external DRAM) can be suppressed. Accordingly, the operating frequency and power consumption of the first memory device (external DRAM) can be reduced, and the cost of the semiconductor device and the set system cost can be simultaneously reduced. Also, by saving unnecessary data stored in the second memory device (built-in memory) to the first memory device (external DRAM), the total capacity can be greatly increased. Of course, the second memory device (built-in memory) can take full advantage of the high processing speed and response speed, improve transfer efficiency and latency, reduce processor performance and LSI cost. be able to.

すなわち、第1のメモリデバイス(外部のDRAM)と第2のメモリデバイス(内蔵のメモリ)とに並行してアクセスするため、第1のメモリデバイス(外部のDRAM)に占める1コマンド当たりの占有時間を短くすることができ、第1のメモリデバイス(外部のDRAM)のレートを削減することができる。結果的に、周波数を低減することができ、安価なメモリデバイスを使用することができる。さらに、周波数を低減することによって、設計の容易性が向上し、また、消費電力を低減することができる。   That is, since the first memory device (external DRAM) and the second memory device (built-in memory) are accessed in parallel, the occupied time per command in the first memory device (external DRAM) And the rate of the first memory device (external DRAM) can be reduced. As a result, the frequency can be reduced and an inexpensive memory device can be used. Further, by reducing the frequency, the ease of design can be improved and the power consumption can be reduced.

さらに、レートが高くアクセス頻度が高いデータを全て第2のメモリデバイス(内蔵のメモリ)に格納する場合と比べ、第1のメモリデバイス(外部のDRAM)および第2のメモリデバイス(内蔵のメモリ)を併用することで、ほぼ同等のレイテンシで、かつ第2のメモリデバイス(外部のDRAM)に必要とする容量を半減することが可能となる。   Further, the first memory device (external DRAM) and the second memory device (built-in memory) are compared with the case where all data having a high rate and high access frequency are stored in the second memory device (built-in memory). By using together, it is possible to halve the capacity required for the second memory device (external DRAM) with substantially the same latency.

(実施の形態1)
以下、本発明に係る実施の形態1について、図面を参照しながら説明する。
(Embodiment 1)
Embodiment 1 of the present invention will be described below with reference to the drawings.

本実施の形態におけるメモリアクセス装置は、(a)第1のアドレス空間が割り当てられた第1のメモリデバイスと、(b)アクセスに要するレイテンシが第1のメモリデバイスよりも短く、第2のアドレス空間が割り当てられた第2のメモリデバイスと、(c)第1のアドレス空間が複数の第1の部分アドレス空間に分かれ、第2のアドレス空間が複数の第2の部分アドレス空間に分かれ、各第1の部分アドレス空間と各第2の部分アドレス空間とが交互に配置されて論理的に連続する論理アドレス空間を第1の論理アドレス空間とした場合において、(d)第1の論理アドレス空間に対するアクセスを指示する第1のコマンドに応じて、第1のアドレス空間および第2のアドレス空間に対するアクセスを制御するメモリデバイス制御部とを備えることを特徴とする。   The memory access device according to the present embodiment includes (a) a first memory device to which a first address space is allocated, and (b) a latency required for access is shorter than that of the first memory device, and the second address A second memory device to which space is allocated; and (c) a first address space is divided into a plurality of first partial address spaces, a second address space is divided into a plurality of second partial address spaces, In the case where a logical address space in which the first partial address space and the second partial address spaces are alternately arranged and logically continuous is used as the first logical address space, (d) the first logical address space A memory device controller that controls access to the first address space and the second address space in response to a first command that instructs access to Characterized in that it comprises.

以上の点を踏まえて、本実施の形態におけるメモリアクセス装置について説明する。
まず、本実施の形態におけるメモリアクセス装置の構成について説明する。
Based on the above points, the memory access device in the present embodiment will be described.
First, the configuration of the memory access device in the present embodiment will be described.

図1に示されるように、メモリアクセス装置10は、例えば、プロセッサ、画像圧縮エンジン、グラフィックスエンジンなどのようなマスタデバイス(不図示)から論理アドレス空間に対するアクセス要求を受け、受けたアクセス要求に応じて、制御下にある各メモリデバイスにアクセスする装置である。   As shown in FIG. 1, the memory access device 10 receives an access request for a logical address space from a master device (not shown) such as a processor, an image compression engine, a graphics engine, etc. In response, the device accesses each memory device under control.

「論理アドレス空間」とは、論理アドレスによって、制御下にある各メモリデバイスのアドレス空間と対応づけられて管理されているアドレス空間である。   The “logical address space” is an address space managed in association with the address space of each memory device under control by a logical address.

なお、マスタデバイスは、メモリアクセス装置10と共に実装されているとしてもよいし、メモリアクセス装置10とは別に実装されているとしてもよい。   The master device may be mounted together with the memory access device 10 or may be mounted separately from the memory access device 10.

ここでは、一例として、メモリアクセス装置10は、メモリデバイス101、メモリデバイス102、内部バスIF140、内部バスIF141、アービタ142、メモリデバイス制御部143、バッファ144、およびバッファ145などを備える。また、メモリデバイス101は、コントローラ100に外付けされている。メモリデバイス102、内部バスIF140、内部バスIF141、アービタ142、メモリデバイス制御部143、バッファ144、およびバッファ145は、コントローラ100に内蔵されている。   Here, as an example, the memory access device 10 includes a memory device 101, a memory device 102, an internal bus IF 140, an internal bus IF 141, an arbiter 142, a memory device control unit 143, a buffer 144, a buffer 145, and the like. The memory device 101 is externally attached to the controller 100. The memory device 102, the internal bus IF 140, the internal bus IF 141, the arbiter 142, the memory device control unit 143, the buffer 144, and the buffer 145 are built in the controller 100.

メモリデバイス101は、バースト的にアクセスし連続した高速大容量のデータ転送が可能なメモリデバイスである。例えば、DRAMなどのように、バーストモードを利用したデータ転送が可能で高速にアクセス可能なメモリデバイスである。ここでは、一例として、DRAMとする。なお、DRAMとして、SDRAM、DDR−SDRAM、DDR2−SDRAM、RamBus社のXDRなどがある。   The memory device 101 is a memory device that can be accessed in bursts and can continuously transfer high-speed and large-capacity data. For example, a memory device such as a DRAM that can transfer data using a burst mode and can be accessed at high speed. Here, as an example, a DRAM is used. Examples of DRAM include SDRAM, DDR-SDRAM, DDR2-SDRAM, and RamBus XDR.

メモリデバイス102は、高速レイテンシ、ランダムアクセス、かつ設計時にバス幅を拡張・縮小可能なメモリデバイスである。例えば、SRAMのように、レイテンシが短く高速なランダムアクセスが可能なメモリデバイスである。ここでは、一例として、SRAMとする。なお、メモリデバイス102の種別は、SRAMに限らず、内蔵されるDRAMやフラッシュ、FeRAMなどでもよい。また、メモリデバイス102は、内蔵、外付けのどちらでもよい。   The memory device 102 is a memory device capable of high-speed latency, random access, and expansion / reduction of the bus width at the time of design. For example, it is a memory device such as an SRAM, which has a short latency and a high-speed random access. Here, as an example, an SRAM is used. Note that the type of the memory device 102 is not limited to the SRAM, but may be a built-in DRAM, flash, FeRAM, or the like. The memory device 102 may be either internal or external.

内部バスIF140、および内部バスIF141のそれぞれは、マスタデバイスから論理アドレス空間に対するアクセス要求を受け、受けたアクセス要求に応じたコマンドをアービタ142に発行する。   Each of the internal bus IF 140 and the internal bus IF 141 receives an access request for the logical address space from the master device, and issues a command corresponding to the received access request to the arbiter 142.

アービタ142は、内部バスIF140、または内部バスIF141から発行されたコマンドを受け取り、受け取ったコマンドに対して、アクセス優先順位、データレート保障などに基づいて、アクセス調停を行い、そのコマンドをメモリデバイス制御部143に転送する。   The arbiter 142 receives a command issued from the internal bus IF 140 or the internal bus IF 141, performs access arbitration on the received command based on access priority, data rate guarantee, etc., and controls the command to the memory device. Forward to the unit 143.

メモリデバイス制御部143は、アービタ142から転送されたコマンドを受け取り、受け取ったコマンドに基づいて、タイミングを制御しながら、制御下にある各メモリデバイスにアクセスするのに必要な制御信号群を各メモリデバイスに並列供給する。具体的には、メモリデバイス制御部143は、受け取ったコマンドに応じて、メモリデバイス101にアクセスする場合には、信号線146を介して、メモリデバイス101に対するアクセスが示される第1種制御信号群(DRAMの制御信号、アドレス信号など。)を供給する。メモリデバイス102にアクセスする場合には、信号線147を介して、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。   The memory device control unit 143 receives a command transferred from the arbiter 142, and controls a group of control signals necessary for accessing each memory device under control while controlling timing based on the received command. Supply to devices in parallel. Specifically, when the memory device control unit 143 accesses the memory device 101 according to the received command, the first type control signal group indicating access to the memory device 101 via the signal line 146. (DRAM control signals, address signals, etc.) are supplied. When accessing the memory device 102, a second type control signal group (SRAM control signal, address signal, etc.) indicating access to the memory device 102 is supplied via the signal line 147.

バッファ144は、内部バスIF140または内部バスIF141から、メモリデバイス101またはメモリデバイス102に転送されるデータが一時的に格納される緩衝記憶領域である。   The buffer 144 is a buffer storage area in which data transferred from the internal bus IF 140 or the internal bus IF 141 to the memory device 101 or the memory device 102 is temporarily stored.

ここで、メモリデバイス101は、メモリデバイス制御部143から読出し用の第1種制御信号群が供給されると、供給された読出し用の第1種制御信号群によって特定されるデータをバッファ144へ書込む。同様に、メモリデバイス102は、メモリデバイス制御部143から読出し用の第2種制御信号群が供給されると、供給された読出し用の第2種制御信号群によって特定されるデータをバッファ144へ書込む。   Here, when the memory device control unit 143 is supplied with the first type control signal group for reading, the memory device 101 supplies the data specified by the supplied first type control signal group to the buffer 144. Write. Similarly, when the memory device control unit 143 is supplied with the second type control signal group for reading, the memory device 102 sends the data specified by the supplied second type control signal group to the buffer 144. Write.

バッファ145は、メモリデバイス101またはメモリデバイス102から、内部バスIF140または内部バスIF141に転送されるデータが一時的に格納される緩衝記憶領域である。   The buffer 145 is a buffer storage area in which data transferred from the memory device 101 or the memory device 102 to the internal bus IF 140 or the internal bus IF 141 is temporarily stored.

ここで、メモリデバイス101は、メモリデバイス制御部143から書込み用の第1種制御信号群が供給されると、供給された書込み用の第1種制御信号群によって特定されるデータをバッファ145から読出しメモリデバイス101へ格納する。同様に、メモリデバイス102は、メモリデバイス制御部143から書込み用の第2種制御信号群が供給されると、供給された書込み用の第2種制御信号群によって特定されるデータをバッファ145から読出しメモリデバイス102へ格納する。   Here, when the memory device controller 143 receives the first type control signal group for writing from the memory device control unit 143, the memory device 101 transfers the data specified by the supplied first type control signal group from the buffer 145. Store in the read memory device 101. Similarly, when the second type control signal group for writing is supplied from the memory device control unit 143, the memory device 102 transfers data specified by the supplied second type control signal group from the buffer 145. Store in read memory device 102.

続いて、本実施の形態におけるメモリデバイス制御部143で管理される論理アドレス空間について説明する。   Next, a logical address space managed by the memory device control unit 143 in this embodiment will be described.

図2に示されるように、メモリデバイス制御部143は、論理アドレス空間110に応じて、メモリデバイス101のアドレス空間と、メモリデバイス102のアドレス空間とのそれぞれに対するアクセスを制御する。   As illustrated in FIG. 2, the memory device control unit 143 controls access to each of the address space of the memory device 101 and the address space of the memory device 102 according to the logical address space 110.

論理アドレス空間110には、論理アドレス空間103(サイズX)、論理アドレス空間104(サイズZ)、および論理アドレス空間105(サイズY)が含まれる。ここでは、少なくとも3つのアクセス形態をもつ論理アドレス空間が含まれる。   The logical address space 110 includes a logical address space 103 (size X), a logical address space 104 (size Z), and a logical address space 105 (size Y). Here, a logical address space having at least three access forms is included.

論理アドレス空間103(サイズX)は、メモリデバイス102のアドレス空間(サイズX)と対応づけられた論理アドレス空間である。すなわち、メモリデバイス102を連続空間としてアクセス可能な記憶領域である。そして、高速レイテンシ、ランダムアクセスが可能な論理アドレス空間でもある。   The logical address space 103 (size X) is a logical address space associated with the address space (size X) of the memory device 102. That is, it is a storage area that can be accessed using the memory device 102 as a continuous space. It is also a logical address space capable of high-speed latency and random access.

論理アドレス空間104(サイズZ)は、アドレス空間106(サイズL)とは別にメモリデバイス101に割り当てられたアドレス空間(サイズZ)と対応づけられた論理アドレス空間である。すなわち、メモリデバイス101のメモリマップでアクセス可能な記憶領域である。そして、バースト的にアクセスし、連続した高速大容量のデータ転送が可能な論理アドレス空間でもある。   The logical address space 104 (size Z) is a logical address space associated with an address space (size Z) assigned to the memory device 101 separately from the address space 106 (size L). That is, it is a storage area accessible by the memory map of the memory device 101. It is also a logical address space that can be accessed in bursts and enables continuous high-speed and large-capacity data transfer.

論理アドレス空間105(サイズY)は、アドレス空間106(サイズL)が複数の第1の部分アドレス空間に分かれ、アドレス空間107(サイズK)が複数の第2の部分アドレス空間に分かれ、各第1の部分アドレス空間と各第2の部分アドレス空間とが交互に配置されて論理的に連続する論理アドレス空間である。すなわち、メモリデバイス101に割り当てられたアドレス空間106(サイズL)およびメモリデバイス102に割り当てられたアドレス空間107(サイズK)を複合した論理アドレス空間である。また、メモリデバイス101およびメモリデバイス102の共有メモリマップでアクセス可能な記憶領域である。そして、高速レイテンシ、かつ高速大容量のデータ転送が可能な論理アドレス空間である。   In the logical address space 105 (size Y), the address space 106 (size L) is divided into a plurality of first partial address spaces, and the address space 107 (size K) is divided into a plurality of second partial address spaces. This is a logical address space in which one partial address space and each second partial address space are alternately arranged and logically continuous. That is, the logical address space is a composite of the address space 106 (size L) assigned to the memory device 101 and the address space 107 (size K) assigned to the memory device 102. In addition, the storage area can be accessed by a shared memory map of the memory device 101 and the memory device 102. The logical address space enables high-speed latency and high-speed and large-capacity data transfer.

ここで、論理アドレス空間105のサイズYは、メモリデバイス101から割り当てられたアドレス空間106のサイズL(0≦L≦メモリデバイス101の最大サイズ)およびメモリデバイス102から割り当てられたアドレス空間107のサイズK(0≦K≦メモリデバイス102の最大サイズ)を加算したサイズである。すなわち、論理アドレス空間105(サイズY)は、メモリデバイス101およびメモリデバイス102に跨がっている論理アドレス空間(サイズY=L+K)である。   Here, the size Y of the logical address space 105 is the size L of the address space 106 allocated from the memory device 101 (0 ≦ L ≦ maximum size of the memory device 101) and the size of the address space 107 allocated from the memory device 102. This is a size obtained by adding K (0 ≦ K ≦ maximum size of the memory device 102). That is, the logical address space 105 (size Y) is a logical address space (size Y = L + K) straddling the memory device 101 and the memory device 102.

続いて、メモリデバイス制御部143で管理されている論理アドレス空間105について説明する。ここでは、論理的に連続するデータ列を、論理アドレスマップに従って論理アドレス空間105に格納する場合を例に説明する。なお、一例として、メモリデバイス101をデータ入出力幅が4[Byte]のDRAMとし、メモリデバイス102をデータ入出力幅が16[Byte]のSRAMとし、M=N=16[Byte]とする。   Next, the logical address space 105 managed by the memory device control unit 143 will be described. Here, a case where a logically continuous data string is stored in the logical address space 105 according to the logical address map will be described as an example. As an example, the memory device 101 is a DRAM with a data input / output width of 4 [Bytes], the memory device 102 is an SRAM with a data input / output width of 16 [Bytes], and M = N = 16 [Bytes].

図3(a)に示されるように、メモリデバイス制御部143は、論理的に連続するデータ列(以下、一連のデータと呼称する。)を論理アドレス空間105に格納する場合には、先頭から16[Byte]のデータ(第1のデータ列)が第1の部分アドレス空間111(サイズM)に格納され、続く16[Byte]のデータ(第2のデータ列)が第2の部分アドレス空間112(サイズN)に格納されるように、第1種制御信号群および第2種制御信号群を供給する。   As shown in FIG. 3A, the memory device control unit 143 stores the logically continuous data string (hereinafter referred to as a series of data) in the logical address space 105 from the top. 16 [Byte] data (first data string) is stored in the first partial address space 111 (size M), and the subsequent 16 [Byte] data (second data string) is stored in the second partial address space. A first type control signal group and a second type control signal group are supplied so as to be stored in 112 (size N).

ここで、第1の部分アドレス空間111は、メモリデバイス101において開始アドレス”E”から終了アドレス”E+15”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。また、第2の部分アドレス空間112は、メモリデバイス102において開始アドレス”F”から終了アドレス”F+15”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。   Here, the first partial address space 111 is an address space from the start address “E” to the end address “E + 15” in the memory device 101, and is also a logical address space belonging to the logical address space 105. The second partial address space 112 is an address space from the start address “F” to the end address “F + 15” in the memory device 102, and is a logical address space belonging to the logical address space 105.

さらに、メモリデバイス制御部143は、続く16[Byte]のデータ(第1のデータ列)が第1の部分アドレス空間113(サイズM)に格納され、続く16[Byte]のデータ(第2のデータ列)が第2の部分アドレス空間114(サイズN)に格納されるように、第1種制御信号群および第2種制御信号群を供給する。   Further, the memory device control unit 143 stores the subsequent 16 [Byte] data (first data string) in the first partial address space 113 (size M), and continues the 16 [Byte] data (second data). The first type control signal group and the second type control signal group are supplied so that the data sequence is stored in the second partial address space 114 (size N).

ここで、第1の部分アドレス空間113は、メモリデバイス101において開始アドレス”E+16”から終了アドレス”E+31”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。また、第2の部分アドレス空間114は、メモリデバイス102において開始アドレス”F+16”から終了アドレス”F+31”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。   Here, the first partial address space 113 is an address space from the start address “E + 16” to the end address “E + 31” in the memory device 101, and is also a logical address space belonging to the logical address space 105. The second partial address space 114 is an address space from the start address “F + 16” to the end address “F + 31” in the memory device 102, and is a logical address space belonging to the logical address space 105.

すなわち、メモリデバイス制御部143は、論理的に連続するデータ列を、第1のデータ列(サイズM)および第2のデータ列(サイズN)に交互に分け、各第1のデータ列が各第1の部分アドレス空間に格納され、各第1のデータ列に隣接する第2のデータ列が第2の部分アドレス空間に格納されるように、第1種制御信号群および第2種制御信号群を供給する。   That is, the memory device controller 143 alternately divides a logically continuous data string into a first data string (size M) and a second data string (size N), and each first data string is The first type control signal group and the second type control signal are stored in the first partial address space and the second data column adjacent to each first data column is stored in the second partial address space. Feed the group.

これに伴い、一連のデータのうち、m=2n−1番目(nは自然数。)の第1のデータ列(サイズM)が、メモリデバイス101において開始アドレス”E+16×(n−1)”から終了アドレス”E+16×n−1”までのアドレス空間に格納され、m=2n番目の第2のデータ列(サイズN)が、メモリデバイス102において開始アドレス”F+16×(n−1)”から終了アドレス”F+16×n−1”までのアドレス空間に格納される。   Accordingly, of the series of data, the first data string (size M) of m = 2n−1 (n is a natural number) starts from the start address “E + 16 × (n−1)” in the memory device 101. Stored in the address space up to the end address “E + 16 × n−1”, and the m = 2n-th second data string (size N) ends from the start address “F + 16 × (n−1)” in the memory device 102. It is stored in the address space up to the address “F + 16 × n−1”.

このとき、メモリデバイス制御部143は、アービタ142から受け取ったコマンドに基づいて、メモリデバイス101(外部のDRAM)に対してサイズM(Mは自然数。)単位でデータ転送を行うことが示される第1種制御信号群を供給し、メモリデバイス102(内蔵のメモリ)に対してサイズN(Nは自然数。)単位でデータ転送を行うことが示される第2種制御信号群を供給する。   At this time, it is indicated that the memory device control unit 143 performs data transfer in units of size M (M is a natural number) to the memory device 101 (external DRAM) based on the command received from the arbiter 142. A type 1 control signal group is supplied, and a type 2 control signal group indicated to perform data transfer in units of size N (N is a natural number) is supplied to the memory device 102 (built-in memory).

なお、アドレス空間105(サイズY)に一連のデータを格納する場合には、内部バスIF140または内部バスIF141から転送された一連のデータをバッファ144に一度格納してから、バッファ144に格納した一連のデータをメモリデバイス101およびメモリデバイス102に交互に分け、メモリデバイス101およびメモリデバイス102に並行して書込む。同様に、読出す場合についても、メモリデバイス101およびメモリデバイスの各アドレス空間から並行して読出し、メモリデバイス101およびメモリデバイス102に交互に分かれたものを、バッファ145に一連のデータ構成に合わせて、内部バス140または内部バスIF141を経由して各マスターに転送する。   When a series of data is stored in the address space 105 (size Y), the series of data transferred from the internal bus IF 140 or the internal bus IF 141 is stored once in the buffer 144 and then stored in the buffer 144. Are alternately divided into the memory device 101 and the memory device 102, and written in parallel to the memory device 101 and the memory device 102. Similarly, in the case of reading, the memory device 101 and each address space of the memory device are read in parallel and the memory device 101 and the memory device 102 are alternately divided into the buffer 145 according to a series of data structures. Then, the data is transferred to each master via the internal bus 140 or the internal bus IF 141.

続いて、メモリデバイス101を多バンク構成のDRAMに置き換えた場合について説明する。   Next, a case where the memory device 101 is replaced with a multi-bank DRAM will be described.

図3(b)に示されるように、メモリデバイス101を多バンク構成のDRAMに置き換えた場合には、メモリデバイス制御部143は、一連のデータのうち、メモリデバイス101に格納されるデータが、アドレス空間121(m=1番目の場合)、アドレス空間123(m=3番目の場合)、アドレス空間125(m=5番目の場合)、アドレス空間127(m=7番目の場合)の順に格納されるように、第1種制御信号群を供給する。
ここで、アドレス空間121は、メモリデバイス101の第1のバンクにおいて開始アドレス”E1”から終了アドレス”E1+15”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。また、アドレス空間123は、メモリデバイス101の第1のバンクにおいて開始アドレス”E1+16”から終了アドレス”E1+31”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。
As shown in FIG. 3B, when the memory device 101 is replaced with a DRAM having a multi-bank configuration, the memory device control unit 143 stores data stored in the memory device 101 among a series of data. Address space 121 (m = 1), address space 123 (m = third), address space 125 (m = 5), address space 127 (m = 7) are stored in this order. As described above, the first type control signal group is supplied.
Here, the address space 121 is an address space from the start address “E1” to the end address “E1 + 15” in the first bank of the memory device 101, and is also an address space belonging to the logical address space 105. The address space 123 is an address space from the start address “E1 + 16” to the end address “E1 + 31” in the first bank of the memory device 101, and is also an address space belonging to the logical address space 105.

さらに、アドレス空間125は、メモリデバイス101の第2のバンクにおいて開始アドレス”E2”から終了アドレス”E2+15”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。また、アドレス空間127は、メモリデバイス101の第2のバンクにおいて開始アドレス”E2+16”から終了アドレス”E2+31”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。   Further, the address space 125 is an address space from the start address “E2” to the end address “E2 + 15” in the second bank of the memory device 101, and is also an address space belonging to the logical address space 105. The address space 127 is an address space from the start address “E2 + 16” to the end address “E2 + 31” in the second bank of the memory device 101, and is also an address space belonging to the logical address space 105.

すなわち、メモリデバイス制御部143は、第1の部分アドレス空間および第2の部分アドレス空間の組をi(iは自然数。)組単位で、メモリデバイス101のバンクを交互に切り替えてアドレス空間106にアクセスする。   That is, the memory device control unit 143 switches the bank of the memory device 101 to the address space 106 by alternately switching a set of the first partial address space and the second partial address space in units of i (i is a natural number). to access.

これに伴い、例えば、1バンクあたりi個の第1の部分アドレス空間が割り当てられると、一連のデータのうち、m=2n−1番目(n=(j−1)i+k:i,jは自然数。kは1≦k≦iを満たす自然数。)の第1のデータ列が、メモリデバイス101の第jのバンクにおいて開始アドレス”Ej+16×(k−1)”から終了アドレス”Ej+16×k−1”までの第1の部分アドレス空間に格納される。   Accordingly, for example, when i first partial address spaces are allocated per bank, m = 2n−1th (n = (j−1) i + k: i, j is a natural number) in a series of data. K is a natural number satisfying 1 ≦ k ≦ i.) In the j-th bank of the memory device 101, the first data string is changed from the start address “Ej + 16 × (k−1)” to the end address “Ej + 16 × k−1”. Are stored in the first partial address space up to "."

続いて、論理アドレス空間105に格納されているデータの読出しアクセスする動作について説明する。ここでは、内部バスIF140が、論理アドレス空間104に対するアクセス要求を2回受けた場合と、論理アドレス空間105に対するアクセス要求を2回受けた場合とを例に説明する。   Next, an operation for reading and accessing data stored in the logical address space 105 will be described. Here, a case where the internal bus IF 140 receives an access request for the logical address space 104 twice and a case where the internal bus IF 140 receives an access request for the logical address space 105 are described as an example.

図4(a)に示されるように、メモリデバイス制御部143は、内部バスIF140からタイミング150で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、第1種制御信号群をメモリデバイス101に供給する(占有時間152)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間154)。   As shown in FIG. 4A, when the memory device control unit 143 receives the command issued from the internal bus IF 140 at the timing 150 via the arbiter 142, the first type control is performed according to the received command. The signal group is supplied to the memory device 101 (occupation time 152). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 154).

また、メモリデバイス制御部143は、内部バスIF140からタイミング151で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、第1種制御信号群をメモリデバイス101に供給する(占有時間153)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間155)。そして、内部バスIF140は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されたデータによって再構成されたデータをバッファ145から読出し、読出したデータを、論理アドレス空間104に対してアクセス要求を出したマスタデバイスに出力する。   Further, when the memory device control unit 143 receives the command issued from the internal bus IF 140 at the timing 151 via the arbiter 142, the memory device control unit 143 supplies the first type control signal group to the memory device 101 according to the received command. (Occupation time 153). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 155). Then, the internal bus IF 140 reads data reconstructed from the data specified by the first type control signal group supplied from the memory device control unit 143 from the buffer 145, and reads the read data to the logical address space 104. To the master device that issued the access request.

ここで、一例として、下記(1)〜(3)の条件において論理アドレス空間104にアクセスする場合について説明する。   Here, as an example, a case where the logical address space 104 is accessed under the following conditions (1) to (3) will be described.

(1)メモリデバイス101(外部のDRAM)の入出力データ幅を4[Byte]とする。
(2)論理アドレス空間104に16[Byte]のデータ刻みでデータが格納されているとする。
(3)16[Byte]のデータ刻みのうち12[Byte]目から16[Byte]のアクセスデータ長でアクセスするとする。
(1) The input / output data width of the memory device 101 (external DRAM) is set to 4 [Bytes].
(2) It is assumed that data is stored in the logical address space 104 in units of 16 [Bytes].
(3) It is assumed that access is performed with an access data length of 16 [Byte] from the 12th [Byte] of the 16 [Byte] data increments.

この場合においては、16[Byte]のデータ全てについて、メモリデバイス101(外部のDRAM)にアクセスする。ただし、メモリデバイス101の第1のバンクおよび第2のバンクに跨ってアクセスする。具体的には、12[Byte]目から15[Byte]目までのデータ列(4[Byte])について、メモリデバイス101(外部のDRAM)の第1のバンクにアクセスする。16[Byte]目から27[Byte]目までのデータ列(12[Byte])について、メモリデバイス101(外部のDRAM)の第2のバンクにアクセスする。   In this case, the memory device 101 (external DRAM) is accessed for all 16 [Byte] data. However, the access is made across the first bank and the second bank of the memory device 101. Specifically, the first bank of the memory device 101 (external DRAM) is accessed for the data string (4 [Bytes]) from the 12th [Byte] to the 15th [Byte]. The second bank of the memory device 101 (external DRAM) is accessed for the data string (12 [Byte]) from the 16th [Byte] to the 27th [Byte].

これにより、メモリデバイス101(外部のDRAM)のアクセスに対するレイテンシは、4サイクル(=16[Byte]/4[Byte])となる。さらに、メモリデバイス101(外部のDRAM)の第1のバンクおよび第2のバンクを跨ってアクセスするため、アクセスデータ長が短い場合には、メモリデバイス101(外部のDRAM)のアクセススペックであるコマンド(activait, precharge, read, write)の制約によるオーバーヘッド(α)が加算される。結果、この場合においては、4サイクル+αを要する。   As a result, the latency for accessing the memory device 101 (external DRAM) is 4 cycles (= 16 [Byte] / 4 [Byte]). Further, since the access is made across the first bank and the second bank of the memory device 101 (external DRAM), if the access data length is short, the command that is the access specification of the memory device 101 (external DRAM) Overhead (α) due to (activait, precharge, read, write) restrictions is added. As a result, in this case, 4 cycles + α are required.

一方、図4(b)に示されるように、メモリデバイス制御部143は、内部バスIF140からタイミング160で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、並行して、第1種制御信号群をメモリデバイス101に供給し、第2種制御信号群をメモリデバイス102に供給する(占有時間162)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間164)。また、メモリデバイス102は、メモリデバイス制御部143から供給された第2種制御信号群によって特定されるデータをバッファ145に出力する(占有時間165)。そして、内部バスIF140は、メモリデバイス制御部143から供給された第1種制御信号群および第2種制御信号群によってそれぞれ特定されたデータによって再構成されたデータをバッファ145から読出し、読出したデータを、論理アドレス空間105に対してアクセス要求を出したマスタデバイスに出力する。   On the other hand, as shown in FIG. 4B, when the memory device control unit 143 receives the command issued from the internal bus IF 140 at the timing 160 via the arbiter 142, the memory device control unit 143 executes the command in parallel according to the received command. Then, the first type control signal group is supplied to the memory device 101, and the second type control signal group is supplied to the memory device 102 (occupation time 162). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 164). In addition, the memory device 102 outputs the data specified by the second type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 165). The internal bus IF 140 reads data reconstructed from the data specified by the first type control signal group and the second type control signal group supplied from the memory device control unit 143 from the buffer 145, and reads the read data. Is output to the master device that has issued an access request to the logical address space 105.

また、メモリデバイス制御部143は、内部バスIF140からタイミング161で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、並行して、第1種制御信号群をメモリデバイス101に供給し、第2種制御信号群をメモリデバイス102に供給する(占有時間163)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間166)。また、メモリデバイス102は、メモリデバイス制御部143から供給された第2種制御信号群によって特定されるデータをバッファ145に出力する(占有時間167)。結果、図4(a)と比べて、データ転送処理に要するレイテンシがかなり改善される(時間158、時間168)。   When the memory device control unit 143 receives the command issued from the internal bus IF 140 at the timing 161 via the arbiter 142, the memory device control unit 143 sends the first type control signal group to the memory device in parallel according to the received command. The second type control signal group is supplied to the memory device 102 (occupation time 163). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 166). Further, the memory device 102 outputs the data specified by the second type control signal group supplied from the memory device control unit 143 to the buffer 145 (occupation time 167). As a result, compared with FIG. 4A, the latency required for the data transfer process is significantly improved (time 158, time 168).

ここで、一例として、下記(1)〜(4)の条件において論理アドレス空間105にアクセスする場合について説明する。   Here, as an example, a case where the logical address space 105 is accessed under the following conditions (1) to (4) will be described.

(1)メモリデバイス101(外部のDRAM)の入出力データ幅を4[Byte]とする。
(2)メモリデバイス102(内蔵のメモリ)の入出力データ幅を16[Byte]とする。
(3)論理アドレス空間105に16[Byte]のデータ刻みでデータが格納されているとする。
(4)16[Byte]のデータ刻みのうち12[Byte]目から16[Byte]のアクセスデータ長でアクセスするとする。
(1) The input / output data width of the memory device 101 (external DRAM) is set to 4 [Bytes].
(2) The input / output data width of the memory device 102 (built-in memory) is 16 [Bytes].
(3) It is assumed that data is stored in the logical address space 105 in units of 16 [Bytes].
(4) It is assumed that access is made with an access data length of 16 [Byte] from the 12th [Byte] of the 16 [Byte] data increments.

この場合においては、16[Byte]のデータについて、メモリデバイス101およびメモリデバイス102に跨ってアクセスする。具体的には、12[Byte]目から15[Byte]目までのデータ列(4[Byte])について、メモリデバイス101(外部のDRAM)の第1のバンクにアクセスする。16[Byte]目から27[Byte]目までのデータ列(12[Byte])について、メモリデバイス102(内部のSRAM)にアクセスする。   In this case, 16 [Byte] data is accessed across the memory device 101 and the memory device 102. Specifically, the first bank of the memory device 101 (external DRAM) is accessed for the data string (4 [Bytes]) from the 12th [Byte] to the 15th [Byte]. The memory device 102 (internal SRAM) is accessed for the data string (12 [Byte]) from the 16th [Byte] to the 27th [Byte].

これにより、メモリデバイス101(外部のDRAM)のアクセスに対するレイテンシは、1サイクル(=4[Byte]/4[Byte])となる。また、メモリデバイス102(内蔵のメモリ)のアクセスに対するレイテンシは、1サイクル(=12[Byte]/16[Byte]:1以下は1に丸める。)となる。これらから、計2サイクルとなる。さらに、メモリデバイス101(外部のDRAM)のアクセスとメモリデバイス102(内蔵のメモリ)のアクセスとのタイミングを合わせ、メモリデバイス制御部143から第1種制御信号群および第2種制御信号群を並列供給すると、並行にアクセスが進捗し、理想的には1サイクル、オーバーヘッドを考慮しても、この場合においては、1サイクル+αを要する。   As a result, the latency for accessing the memory device 101 (external DRAM) is one cycle (= 4 [Byte] / 4 [Byte]). In addition, the latency with respect to access of the memory device 102 (built-in memory) is one cycle (= 12 [Byte] / 16 [Byte]: 1 or less is rounded to 1). From these, a total of 2 cycles. Furthermore, the memory device control unit 143 performs the first-type control signal group and the second-type control signal group in parallel by matching the timing of the memory device 101 (external DRAM) access and the memory device 102 (built-in memory) access. When supplied, the access progresses in parallel and ideally takes one cycle + α even in consideration of overhead for one cycle.

すなわち、論理アドレス空間104に対するアクセス要求を受けた場合においては(図4(a)参照。)、従来のようにメモリデバイス101の第1のバンクおよび第2のバンクに跨ってアクセスするため、4サイクル+αを要する。一方、論理アドレス空間105に対するアクセス要求を受けた場合においては(図4(b)参照。)、メモリデバイス101およびメモリデバイス102に跨ってアクセスするため、1サイクル+αを要する。結果、論理アドレス空間105にアクセスすることで、3サイクルのレイテンシを改善することが可能となる。   That is, when an access request for the logical address space 104 is received (see FIG. 4A), the access is made across the first bank and the second bank of the memory device 101 as in the prior art. Cycle + α is required. On the other hand, when an access request for the logical address space 105 is received (see FIG. 4B), since access is made across the memory device 101 and the memory device 102, one cycle + α is required. As a result, it is possible to improve the latency of 3 cycles by accessing the logical address space 105.

以上説明したように、本実施の形態に係るメモリアクセス装置10によれば、メモリデバイス101とメモリデバイス102とに並行してアクセスするため、メモリデバイス101に占める1コマンド当たりの占有時間を短くすることができ、メモリデバイス101のレートを削減できる。結果的に、周波数を低減でき、安価なメモリデバイスを使用することができる。さらに、周波数を低減することによって、設計の容易性が向上し、また、消費電力を低減することができる。   As described above, according to the memory access device 10 according to the present embodiment, since the memory device 101 and the memory device 102 are accessed in parallel, the occupation time per command in the memory device 101 is shortened. And the rate of the memory device 101 can be reduced. As a result, the frequency can be reduced and an inexpensive memory device can be used. Further, by reducing the frequency, the ease of design can be improved and the power consumption can be reduced.

さらに、レートが高くアクセス頻度が多いデータを全てメモリデバイス102(内蔵のメモリ)に格納する場合と比べ、メモリデバイス101およびメモリデバイス102を併用することで、ほぼ同等のレイテンシで、かつメモリデバイス102に必要とする容量を半減することが可能となる。   Furthermore, the memory device 102 and the memory device 102 are used in combination with the memory device 102 (built-in memory) to store all data with a high rate and a high access frequency, so that the memory device 102 has substantially the same latency. It is possible to halve the capacity required for the operation.

(実施の形態2)
次に、本発明に係る実施の形態2について、図面を参照しながら説明する。
(Embodiment 2)
Next, Embodiment 2 according to the present invention will be described with reference to the drawings.

本実施の形態におけるメモリアクセス装置は、アドレス空間107に対するアクセスが終了してからアドレス空間106に対する次のアクセスが開始するまでの時間内に、メモリデバイス102のアドレス空間と対応づけられた論理アドレス空間103に対するアクセスを指示するコマンドを受けると、論理アドレス空間103に対するアクセスが示される第2種制御信号群をメモリデバイス102に供給するアービタを備えることを特徴とする。   In the memory access device according to the present embodiment, the logical address space associated with the address space of the memory device 102 within the time from when the access to the address space 107 is completed until the next access to the address space 106 is started. An arbiter is provided that supplies a second type control signal group indicating access to the logical address space 103 to the memory device 102 when a command for instructing access to the memory 103 is received.

以上の点を踏まえて、本実施の形態におけるメモリアクセス装置について説明する。なお、実施の形態1におけるメモリアクセス装置100と同一の構成要素については、同一の参照符号を付して説明を省略する。   Based on the above points, the memory access device in the present embodiment will be described. Note that the same components as those of the memory access device 100 according to the first embodiment are denoted by the same reference numerals and description thereof is omitted.

まず、本実施の形態におけるメモリアクセス装置の構成について説明する。
図5に示されるように、メモリアクセス装置20は、メモリアクセス装置10と比べて、メモリデバイス101とメモリデバイス102とが同期して動作している以外で、メモリデバイス102にアクセス可能なときに、メモリデバイス102にアクセスする点が異なる。
First, the configuration of the memory access device in the present embodiment will be described.
As shown in FIG. 5, when the memory access device 20 is accessible compared to the memory access device 10 except that the memory device 101 and the memory device 102 operate synchronously, The difference is that the memory device 102 is accessed.

ここでは、一例として、メモリアクセス装置20は、メモリデバイス101、メモリデバイス102、内部バスIF240、内部バスIF241、コマンドアービタ242、メモリデバイス制御部243、バッファ244、バッファ245、セレクタ246、バッファ247、バッファ248、セレクタ249、アービタ250、セレクタ251などを備える。また、メモリデバイス101は、コントローラ100に外付けされている。メモリデバイス102、内部バスIF240、内部バスIF241、コマンドアービタ242、メモリデバイス制御部243、バッファ244、バッファ245、セレクタ246、バッファ247、バッファ248、セレクタ249、アービタ250、およびセレクタ251は、コントローラ200に内蔵されている。   Here, as an example, the memory access device 20 includes the memory device 101, the memory device 102, the internal bus IF 240, the internal bus IF 241, the command arbiter 242, the memory device control unit 243, the buffer 244, the buffer 245, the selector 246, the buffer 247, A buffer 248, a selector 249, an arbiter 250, a selector 251 and the like are provided. The memory device 101 is externally attached to the controller 100. The memory device 102, internal bus IF 240, internal bus IF 241, command arbiter 242, memory device controller 243, buffer 244, buffer 245, selector 246, buffer 247, buffer 248, selector 249, arbiter 250, and selector 251 are included in the controller 200. Built in.

メモリデバイス101は、バースト的にアクセスし連続した高速大容量のデータ転送が可能なメモリデバイスである。例えば、DRAMなどのように、バーストモードを利用したデータ転送が可能で高速にアクセス可能なメモリデバイスである。ここでは、一例として、DRAMとする。なお、DRAMとして、SDRAM、DDR−SDRAM、DDR2−SDRAM、RamBus社のXDRなどがある。   The memory device 101 is a memory device that can be accessed in bursts and can continuously transfer high-speed and large-capacity data. For example, a memory device such as a DRAM that can transfer data using a burst mode and can be accessed at high speed. Here, as an example, a DRAM is used. Examples of DRAM include SDRAM, DDR-SDRAM, DDR2-SDRAM, and RamBus XDR.

メモリデバイス102は、高速レイテンシ、ランダムアクセス、かつ設計時にバス幅を拡張・縮小可能なメモリデバイスである。例えば、SRAMのように、レイテンシが短く高速なランダムアクセスが可能なメモリデバイスである。ここでは、一例として、SRAMとする。なお、メモリデバイス102の種別は、SRAMに限らず、内蔵されるDRAMやフラッシュ、FeRAMなどでもよい。また、メモリデバイス102は、内蔵、外付けのどちらでもよい。   The memory device 102 is a memory device capable of high-speed latency, random access, and expansion / reduction of the bus width at the time of design. For example, it is a memory device such as an SRAM, which has a short latency and a high-speed random access. Here, as an example, an SRAM is used. Note that the type of the memory device 102 is not limited to the SRAM, but may be a built-in DRAM, flash, FeRAM, or the like. The memory device 102 may be either internal or external.

内部バスIF240、および内部バスIF241のそれぞれは、マスタデバイスから論理アドレス空間105に対するアクセス要求を受け、受けたアクセス要求に応じたコマンドをコマンドアービタ242に発行する。また、マスタデバイスから論理アドレス空間103に対するアクセス要求を受け、受けたアクセス要求に応じたコマンドをアービタ250に発行する。   Each of the internal bus IF 240 and the internal bus IF 241 receives an access request for the logical address space 105 from the master device, and issues a command corresponding to the received access request to the command arbiter 242. Further, it receives an access request for the logical address space 103 from the master device, and issues a command corresponding to the received access request to the arbiter 250.

コマンドアービタ242は、内部バスIF140、または内部バスIF141から発行されたコマンドを受け取り、受け取ったコマンドに対して、アクセス優先順位、データレート保障などに基づいて、アクセス調停を行い、そのコマンドをメモリデバイス制御部243に転送する。   The command arbiter 242 receives a command issued from the internal bus IF 140 or the internal bus IF 141, performs access arbitration based on the access priority, data rate guarantee, etc. for the received command, and sends the command to the memory device. Transfer to the control unit 243.

メモリデバイス制御部243は、コマンドアービタ242から転送されたコマンドを受け取り、受け取ったコマンドに基づいて、タイミングを制御しながら、制御下にある各メモリデバイスにアクセスするのに必要な制御信号群を各メモリデバイスに並列供給する。具体的には、メモリデバイス制御部243は、受け取ったコマンドに応じて、メモリデバイス101にアクセスする場合には、信号線146を介して、メモリデバイス101に対するアクセスが示される第1種制御信号群(DRAMの制御信号、アドレス信号など。)を供給する。メモリデバイス102にアクセスする場合には、信号線147を介して、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。   The memory device control unit 243 receives the command transferred from the command arbiter 242, and controls each group of control signals necessary for accessing each memory device under control while controlling the timing based on the received command. Supply to memory devices in parallel. Specifically, when the memory device control unit 243 accesses the memory device 101 according to the received command, the first type control signal group indicating access to the memory device 101 via the signal line 146. (DRAM control signals, address signals, etc.) are supplied. When accessing the memory device 102, a second type control signal group (SRAM control signal, address signal, etc.) indicating access to the memory device 102 is supplied via the signal line 147.

なお、メモリデバイス制御部243で管理される論理アドレス空間については、実施の形態1における論理アドレス空間(図2参照。)と同一のために、説明を省略する。   Note that the logical address space managed by the memory device control unit 243 is the same as the logical address space in the first embodiment (see FIG. 2), and thus description thereof is omitted.

バッファ244は、内部バスIF240または内部バスIF241から、メモリデバイス101またはメモリデバイス102に転送されるデータが一時的に蓄積される緩衝記憶領域である。   The buffer 244 is a buffer storage area in which data transferred from the internal bus IF 240 or the internal bus IF 241 to the memory device 101 or the memory device 102 is temporarily accumulated.

バッファ245は、内部バスIF240または内部バスIF241から、メモリデバイス102に転送されるデータが一時的に蓄積される緩衝記憶領域である。   The buffer 245 is a buffer storage area in which data transferred from the internal bus IF 240 or the internal bus IF 241 to the memory device 102 is temporarily stored.

セレクタ246は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて入力源(バッファ244またはバッファ245)を切り替え、入力源に蓄積されているデータをメモリデバイス102に出力する。   The selector 246 switches the input source (buffer 244 or buffer 245) according to a control signal (not shown) output from the memory device control unit 243, and outputs data stored in the input source to the memory device 102.

バッファ247は、メモリデバイス102から、内部バスIF240または内部バスIF241に転送されるデータが一時的に蓄積される緩衝記憶領域である。   The buffer 247 is a buffer storage area in which data transferred from the memory device 102 to the internal bus IF 240 or the internal bus IF 241 is temporarily accumulated.

バッファ248は、メモリデバイス101またはメモリデバイス102から、内部バスIF240または内部バスIF241に転送されるデータが一時的に蓄積される緩衝記憶領域である。   The buffer 248 is a buffer storage area in which data transferred from the memory device 101 or the memory device 102 to the internal bus IF 240 or the internal bus IF 241 is temporarily accumulated.

セレクタ249は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて出力先(バッファ247またはバッファ248)を切り替えて、メモリデバイス102から出力されたデータを出力先に蓄積する。   The selector 249 switches the output destination (buffer 247 or buffer 248) according to a control signal (not shown) output from the memory device control unit 243, and accumulates the data output from the memory device 102 in the output destination.

アービタ250は、内部バスIF240または内部バスIF241から発行されたコマンドを受け取り、メモリデバイス102に対するアクセスの空き時間を見計らって、受け取ったコマンドに応じて、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。   The arbiter 250 receives the command issued from the internal bus IF 240 or the internal bus IF 241, estimates the free time of access to the memory device 102, and performs the second type control in which access to the memory device 102 is indicated according to the received command A signal group (SRAM control signal, address signal, etc.) is supplied.

セレクタ251は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて入力源(メモリデバイス制御部243またはアービタ250)を切り替えて、入力源から供給される第2種制御信号群をメモリデバイス102に出力する。   The selector 251 switches the input source (memory device control unit 243 or arbiter 250) in accordance with a control signal (not shown) output from the memory device control unit 243, and is a second type control signal group supplied from the input source. Is output to the memory device 102.

なお、メモリデバイス制御部243は、メモリデバイス101およびメモリデバイス102を並行してアクセスする場合には、セレクタ246を制御して、入力源としてバッファ244を選択させる。また、セレクタ249を制御して、出力先としてバッファ248を選択させる。さらに、セレクタ251を制御して、入力源としてメモリデバイス制御部243からの出力を選択させる。   Note that the memory device control unit 243 controls the selector 246 to select the buffer 244 as an input source when accessing the memory device 101 and the memory device 102 in parallel. Further, the selector 249 is controlled to select the buffer 248 as an output destination. Further, the selector 251 is controlled to select an output from the memory device control unit 243 as an input source.

また、アービタ250は、アドレス空間107に対するアクセスが終了してからアドレス空間106に対する次のアクセスが開始するまでの時間内に、論理アドレス空間103に対するアクセス要求を受けると、論理アドレス空間103に対するアクセスが示される第2種制御信号群をメモリデバイス102に供給する。このとき、メモリデバイス制御部243は、セレクタ246を制御して、入力源としてバッファ245を選択させる。また、セレクタ249を制御して、出力先としてバッファ247を選択させる。さらに、セレクタ251を制御して、入力源としてアービタ250を選択させる。   Further, when the arbiter 250 receives an access request for the logical address space 103 within a period from the end of the access to the address space 107 to the start of the next access to the address space 106, the arbiter 250 accesses the logical address space 103. The second type control signal group shown is supplied to the memory device 102. At this time, the memory device control unit 243 controls the selector 246 to select the buffer 245 as an input source. Further, the selector 249 is controlled to select the buffer 247 as an output destination. Further, the selector 251 is controlled to select the arbiter 250 as an input source.

続いて、メモリデバイス制御部243で管理されている論理アドレス空間105について説明する。ここでは、論理的に連続する2次元のデータ配列を、論理アドレスマップに従って論理アドレス空間105に格納する場合を例に説明する。なお、一例として、メモリデバイス101を4バンクから構成されているDRAMとし、メモリデバイス102をSRAMとする。   Next, the logical address space 105 managed by the memory device control unit 243 will be described. Here, a case where a logically continuous two-dimensional data array is stored in the logical address space 105 according to the logical address map will be described as an example. As an example, the memory device 101 is a DRAM composed of four banks, and the memory device 102 is an SRAM.

図6に示されるように、メモリデバイス制御部243は、論理的に連続する2次元のデータ配列230を論理アドレス空間105に格納する場合には、下記(a1)〜(a4)に基づいて、第1のデータ配列と、その第1のデータ配列に隣接する第2のデータ配列とを組にして格納されるように、第1種制御信号群および第2種制御信号群を供給する。   As illustrated in FIG. 6, the memory device control unit 243, when storing a logically continuous two-dimensional data array 230 in the logical address space 105, is based on the following (a1) to (a4). The first type control signal group and the second type control signal group are supplied so that the first data array and the second data array adjacent to the first data array are stored in pairs.

「第1のデータ配列」とは、水平方向にサイズM(Mは自然数。)で垂直方向にサイズH(Hは自然数。)のデータ配列をいう。「第2のデータ配列」とは、水平方向にサイズN(Nは自然数。)で垂直方向にサイズH(Hは自然数。)のデータ配列をいう。   The “first data array” refers to a data array having a size M (M is a natural number) in the horizontal direction and a size H (H is a natural number) in the vertical direction. The “second data array” refers to a data array having a size N (N is a natural number) in the horizontal direction and a size H (H is a natural number) in the vertical direction.

(a1)領域231における部分233および部分235のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク212に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (A1) For each of the part 233 and the part 235 in the area 231, two sets of the first data array and the second data array are stored. At this time, the first data array is stored in the first partial address space allocated to the bank 212 of the memory device 101, and the second data array is stored in the second partial address space allocated to the memory device 102. Is done.

ここでは、「第1の部分アドレス空間」とは、アドレス空間106を複数に分けた各アドレス空間であり、水平方向にサイズM(Mは自然数。)で垂直方向にサイズH(Hは自然数。)の第1のデータ配列が格納されるアドレス空間である。「第2の部分アドレス空間」とは、アドレス空間107を複数に分けた各アドレス空間であり、水平方向にサイズN(Nは自然数。)で垂直方向にサイズH(Hは自然数。)の第2のデータ配列が格納されるアドレス空間である。   Here, the “first partial address space” is each address space obtained by dividing the address space 106 into a plurality of sizes, and the size M (M is a natural number) in the horizontal direction and the size H (H is a natural number) in the vertical direction. ) In the address space in which the first data array is stored. The “second partial address space” is an address space obtained by dividing the address space 107 into a plurality, and is a first of a size N (N is a natural number) in the horizontal direction and a size H (H is a natural number) in the vertical direction. This is an address space in which two data arrays are stored.

(a2)領域232における部分233および部分235のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク214に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (A2) For each of the part 233 and the part 235 in the area 232, two sets of the first data array and the second data array are stored. At this time, the first data array is stored in the first partial address space assigned to the bank 214 of the memory device 101, and the second data array is stored in the second partial address space assigned to the memory device 102. Is done.

(a3)領域231における部分234および部分236のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク211に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (A3) For each of the part 234 and the part 236 in the area 231, two sets of the first data array and the second data array are stored. At this time, the first data array is stored in the first partial address space allocated to the bank 211 of the memory device 101, and the second data array is stored in the second partial address space allocated to the memory device 102. Is done.

(a4)領域232における部分234および部分236のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク213に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (A4) For each of the part 234 and the part 236 in the area 232, two sets of the first data array and the second data array are stored. At this time, the first data array is stored in the first partial address space assigned to the bank 213 of the memory device 101, and the second data array is stored in the second partial address space assigned to the memory device 102. Is done.

すなわち、メモリデバイス制御部243は、論理的に連続する2次元のデータ配列を論理アドレス空間105に格納する場合には、水平方向については、下記(b1),(b2)を交互に繰り返すか、または下記(b2),(b4)を交互に繰り返し、垂直方向については、下記(b1),(b3)を交互に繰り返すか、または下記(b3),(b4)を交互に繰り返す。   That is, when storing a logically continuous two-dimensional data array in the logical address space 105, the memory device control unit 243 repeats the following (b1) and (b2) alternately in the horizontal direction, Alternatively, the following (b2) and (b4) are alternately repeated, and in the vertical direction, the following (b1) and (b3) are alternately repeated, or the following (b3) and (b4) are alternately repeated.

(b1)第1のデータ配列および第2のデータ配列の組がI(Iは自然数。)組格納されるように、第1種制御信号群および第2種制御信号群を供給する。このとき、第1のデータ配列がメモリデバイス101のバンク212に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (B1) The first type control signal group and the second type control signal group are supplied so that the set of the first data array and the second data array is stored in the set of I (I is a natural number). At this time, the first data array is stored in the first partial address space allocated to the bank 212 of the memory device 101, and the second data array is stored in the second partial address space allocated to the memory device 102. Is done.

(b2)第1のデータ配列および第2のデータ配列の組がI(Iは自然数。)組格納されるように、第1種制御信号群および第2種制御信号群を供給する。このとき、第1のデータ配列がメモリデバイス101のバンク214に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (B2) The first type control signal group and the second type control signal group are supplied so that a set of the first data array and the second data array is stored in an I (I is a natural number) set. At this time, the first data array is stored in the first partial address space assigned to the bank 214 of the memory device 101, and the second data array is stored in the second partial address space assigned to the memory device 102. Is done.

(b3)第1のデータ配列および第2のデータ配列の組がI(Iは自然数。)組格納されるように、第1種制御信号群および第2種制御信号群を供給する。このとき、第1のデータ配列がメモリデバイス101のバンク211に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (B3) The first-type control signal group and the second-type control signal group are supplied so that a set of the first data array and the second data array is stored as I (I is a natural number). At this time, the first data array is stored in the first partial address space allocated to the bank 211 of the memory device 101, and the second data array is stored in the second partial address space allocated to the memory device 102. Is done.

(b4)第1のデータ配列および第2のデータ配列の組がI(Iは自然数。)組格納されるように、第1種制御信号群および第2種制御信号群を供給する。このとき、第1のデータ配列がメモリデバイス101のバンク213に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。   (B4) The first type control signal group and the second type control signal group are supplied so that a set of the first data array and the second data array is stored as I (I is a natural number). At this time, the first data array is stored in the first partial address space assigned to the bank 213 of the memory device 101, and the second data array is stored in the second partial address space assigned to the memory device 102. Is done.

例えば、図7に示されるように、メモリデバイス制御部243は、画像フレームデータを論理アドレス空間105に書込む場合には、水平方向については、下記(c1),(c2)を交互に繰り返すか、または下記(c2),(c4)を交互に繰り返し、垂直方向については、下記(c1),(c3)を交互に繰り返すか、または下記(c3),(c4)を交互に繰り返す。なお、ピクセル265のサイズ、すなわち、1ピクセルのサイズを1[Byte]とする。   For example, as shown in FIG. 7, when writing image frame data into the logical address space 105, the memory device control unit 243 repeats the following (c1) and (c2) alternately in the horizontal direction. Alternatively, the following (c2) and (c4) are alternately repeated, and in the vertical direction, the following (c1) and (c3) are alternately repeated, or the following (c3) and (c4) are alternately repeated. It is assumed that the size of the pixel 265, that is, the size of one pixel is 1 [Byte].

(c1)データ配列261およびデータ配列260の組が2組格納されるように、第1種制御信号群および第2種制御信号群を供給する。(c2)データ配列263およびデータ配列260の組が2組格納されるように、第1種制御信号群および第2種制御信号群を供給する。(c3)データ配列262およびデータ配列260の組が2組格納されるように、第1種制御信号群および第2種制御信号群を供給する。(c4)データ配列264およびデータ配列260の組が2組格納されるように、第1種制御信号群および第2種制御信号群を供給する。   (C1) The first type control signal group and the second type control signal group are supplied so that two sets of the data array 261 and the data array 260 are stored. (C2) The first type control signal group and the second type control signal group are supplied so that two sets of the data array 263 and the data array 260 are stored. (C3) The first type control signal group and the second type control signal group are supplied so that two sets of the data array 262 and the data array 260 are stored. (C4) The first type control signal group and the second type control signal group are supplied so that two sets of the data array 264 and the data array 260 are stored.

なお、データ配列260は、水平方向にNピクセル、垂直方向にHピクセルの第2のデータ配列であり、メモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。データ配列261は、水平方向にMピクセル、垂直方向にHピクセルの第1のデータ配列であり、メモリデバイス101のバンク212に割り当てられた第1の部分アドレス空間に格納される。データ配列263は、水平方向にMピクセル、垂直方向にHピクセルの第1のデータ配列であり、メモリデバイス101のバンク214に割り当てられた第1の部分アドレス空間に格納される。データ配列262は、水平方向にMピクセル、垂直方向にHピクセルの第1のデータ配列であり、メモリデバイス101のバンク211に割り当てられた第1の部分アドレス空間に格納される。データ配列264は、水平方向にMピクセル、垂直方向にHピクセルの第1のデータ配列であり、メモリデバイス101のバンク213に割り当てられた第1の部分アドレス空間に格納される。また、図中において、同一のハッチで示されるものについても同様である。   The data array 260 is a second data array of N pixels in the horizontal direction and H pixels in the vertical direction, and is stored in the second partial address space allocated to the memory device 102. The data array 261 is a first data array of M pixels in the horizontal direction and H pixels in the vertical direction, and is stored in a first partial address space assigned to the bank 212 of the memory device 101. The data array 263 is a first data array of M pixels in the horizontal direction and H pixels in the vertical direction, and is stored in a first partial address space assigned to the bank 214 of the memory device 101. The data array 262 is a first data array of M pixels in the horizontal direction and H pixels in the vertical direction, and is stored in the first partial address space assigned to the bank 211 of the memory device 101. The data array 264 is a first data array of M pixels in the horizontal direction and H pixels in the vertical direction, and is stored in a first partial address space assigned to the bank 213 of the memory device 101. The same applies to those indicated by the same hatch in the figure.

続いて、論理アドレス空間105に格納されているデータをアクセスする動作について説明する。ここでは、内部バスIF240が、マスタデバイスから、論理アドレス空間105に対するアクセス要求を2回受け、内部バスIF241が、マスタデバイスから、論理アドレス空間103に対するアクセス要求を1回受けた場合を例に説明する。   Next, an operation for accessing data stored in the logical address space 105 will be described. Here, an example will be described in which the internal bus IF 240 receives an access request for the logical address space 105 from the master device twice, and the internal bus IF 241 receives an access request for the logical address space 103 from the master device once. To do.

図8に示されるように、メモリデバイス制御部243は、内部バスIF240からタイミング160で発行されたコマンドを、コマンドアービタ242を介して受けると、受けたコマンドに応じて、並行して、第1種制御信号群をメモリデバイス101に供給し、第2種制御信号群をメモリデバイス102に供給する(占有時間162)。これに伴い、メモリデバイス101は、メモリデバイス制御部243から供給された第1種制御信号群によって特定されるデータをバッファ248に出力する(占有時間164)。また、メモリデバイス102は、メモリデバイス制御部243から供給された第2種制御信号群によって特定されるデータをバッファ248に出力する(占有時間165)。そして、内部バスIF240は、メモリデバイス制御部243から供給された第1種制御信号群および第2種制御信号群によってそれぞれ特定されたデータによって再構成されたデータをバッファ248から読出し、読出したデータを、論理アドレス空間105に対してアクセス要求を出したマスタデバイスに出力する。   As illustrated in FIG. 8, when the memory device control unit 243 receives a command issued from the internal bus IF 240 at the timing 160 via the command arbiter 242, the memory device control unit 243 performs the first process in parallel according to the received command. The seed control signal group is supplied to the memory device 101, and the second kind control signal group is supplied to the memory device 102 (occupation time 162). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 243 to the buffer 248 (occupation time 164). Further, the memory device 102 outputs the data specified by the second type control signal group supplied from the memory device control unit 243 to the buffer 248 (occupation time 165). The internal bus IF 240 reads data reconstructed from the data specified by the first type control signal group and the second type control signal group supplied from the memory device control unit 243 from the buffer 248 and reads the read data. Is output to the master device that has issued an access request to the logical address space 105.

同様に、メモリデバイス制御部243は、内部バスIF240からタイミング161で発行されたコマンドを、コマンドアービタ242を介して受けると、受けたコマンドに応じて、並行して、第1種制御信号群をメモリデバイス101に供給し、第2種制御信号群をメモリデバイス102に供給する(占有時間163)。これに伴い、メモリデバイス101は、メモリデバイス制御部243から供給された第1種制御信号群によって特定されるデータをバッファ248に出力する(占有時間166)。また、メモリデバイス102は、メモリデバイス制御部243から供給された第2種制御信号群によって特定されるデータをバッファ248に出力する(占有時間167)。   Similarly, when the memory device control unit 243 receives the command issued from the internal bus IF 240 at the timing 161 via the command arbiter 242, the memory device control unit 243 generates the first type control signal group in parallel according to the received command. The second type control signal group is supplied to the memory device 102 (occupation time 163). Accordingly, the memory device 101 outputs data specified by the first type control signal group supplied from the memory device control unit 243 to the buffer 248 (occupation time 166). Further, the memory device 102 outputs the data specified by the second type control signal group supplied from the memory device control unit 243 to the buffer 248 (occupation time 167).

このとき、アービタ250は、内部バスIF241からタイミング260で発行されたコマンドを受けると、第2種制御信号群の供給が完了されてから次の第1種制御信号群の供給が開始されるまでの時間内、すなわち、第2種制御信号群に応じたデータがメモリデバイス102からバッファ248に出力終了してから、次の第1種制御信号群に応じたデータがメモリデバイス102からバッファ248に出力開始するまでの時間内に、受けたコマンドに応じた第2種制御信号群をメモリデバイス102に供給する。これに伴い、メモリデバイス102は、アービタ250から供給された第2種制御信号群によって特定されるデータをバッファ247に出力する(占有時間261)。そして、内部バスIF241は、アービタ250から供給された第2種制御信号群によって特定されたデータをバッファ247から読出し、読出したデータを、論理アドレス空間103に対するアクセス要求を出したマスタデバイスに出力する。   At this time, when the arbiter 250 receives a command issued from the internal bus IF 241 at the timing 260, the supply of the second type control signal group is completed until the supply of the next first type control signal group is started. In other words, after the data corresponding to the second type control signal group is output from the memory device 102 to the buffer 248, the data corresponding to the next first type control signal group is transferred from the memory device 102 to the buffer 248. Within the time until output starts, the second type control signal group corresponding to the received command is supplied to the memory device 102. Accordingly, the memory device 102 outputs the data specified by the second type control signal group supplied from the arbiter 250 to the buffer 247 (occupation time 261). The internal bus IF 241 reads the data specified by the second type control signal group supplied from the arbiter 250 from the buffer 247 and outputs the read data to the master device that has issued an access request to the logical address space 103. .

なお、図9に示されるように、アクセスするアドレス空間に応じて、メモリデバイス102のクロック周波数を変化させるとしてもよい。このとき、メモリデバイス102のクロック周波数を、論理アドレス空間105にアクセスする場合には、F[MHz]とし、論理アドレス空間103にアクセスする場合には、E[MHz](F≦E≦nF:n=2,3,・・・)とし、バースト的にクロック周波数をあげることにより、メモリデバイス102の単独アクセスに対して、レイテンシと転送量とをアップさせるとしてもよい(時間361、時間362)。   As shown in FIG. 9, the clock frequency of the memory device 102 may be changed according to the address space to be accessed. At this time, the clock frequency of the memory device 102 is set to F [MHz] when accessing the logical address space 105, and E [MHz] (F ≦ E ≦ nF: when accessing the logical address space 103. n = 2, 3,...), and the clock frequency is increased in bursts, whereby the latency and the transfer amount may be increased for single access of the memory device 102 (time 361, time 362). .

なお、第2のメモリデバイス102は、論理アドレス空間105(アドレス空間107)に対するアクセスについては、アクセス周波数A[MHz]で動作し、論理アドレス空間103(メモリデバイス102の全アドレス空間)に対するアクセスについては、アクセス周波数A[MHz]よりも高いアクセス周波数B[MHz]で動作するとしてもよい。これによって、メモリデバイス102のデータバスが遊ぶ時間内に、データ転送を終了させることができ、さらに、複数のデータ転送を行うこともできる。   The second memory device 102 operates at the access frequency A [MHz] for access to the logical address space 105 (address space 107), and accesses to the logical address space 103 (all address spaces of the memory device 102). May operate at an access frequency B [MHz] higher than the access frequency A [MHz]. As a result, the data transfer can be completed within the time when the data bus of the memory device 102 is played, and a plurality of data transfers can also be performed.

さらに、アクセス周波数B[MHz]は、アクセス周波数A[MHz]の自然数倍としてもよい。これによって、タイミングがとりやすくなり、設計が容易になる。   Furthermore, the access frequency B [MHz] may be a natural number multiple of the access frequency A [MHz]. This facilitates timing and facilitates design.

なお、メモリデバイス101は、論理アドレス空間105(アドレス空間106)に対するアクセスについては、アクセス周波数C[MHz]で動作し、メモリデバイス102は、論理アドレス空間105(アドレス空間107)に対するアクセスについては、アクセス周波数C[MHz]よりも高いアクセス周波数D[MHz]で動作するとしてもよい。これによって、メモリデバイス102のデータバスが遊ぶ時間内に、データ転送を終了させることができ、さらに、複数のデータ転送を行うこともできる。   The memory device 101 operates at an access frequency C [MHz] for access to the logical address space 105 (address space 106), and the memory device 102 performs access to the logical address space 105 (address space 107). It may be operated at an access frequency D [MHz] higher than the access frequency C [MHz]. As a result, the data transfer can be completed within the time when the data bus of the memory device 102 is played, and a plurality of data transfers can also be performed.

さらに、アクセス周波数D[MHz]は、アクセス周波数C[MHz]の自然数倍としてもよい。これによって、タイミングがとりやすくなり、設計が容易になる。   Furthermore, the access frequency D [MHz] may be a natural number multiple of the access frequency C [MHz]. This facilitates timing and facilitates design.

以上説明したように、本実施の形態に係るメモリアクセス装置20によれば、論理アドレス空間105(サイズY=L+K)に対するアクセス要求に応じて、メモリデバイス101(外部のDRAM)およびメモリデバイス102(内蔵のメモリ)の領域を跨ぐようにアクセスを制御することで、要求レイテンシの余裕度をより高めることが可能である。また、当然のことながらメモリデバイス101(外部のDRAM)およびメモリデバイス102(内蔵のメモリ)へアクセスを振り分けているため、メモリデバイス101(外部のDRAM)に占めるアクセス時間を低くすることができる。言い換えれば、メモリデバイス101(外部のDRAM)へのアクセスレートを低く抑えることになる。これにより、本来高速の外付けメモリを必要とする場合において、1ランク下のスピードのメモリデバイスを選択することも可能になる。   As described above, according to the memory access device 20 according to the present embodiment, in response to an access request to the logical address space 105 (size Y = L + K), the memory device 101 (external DRAM) and the memory device 102 ( By controlling the access so as to straddle the area of the built-in memory), it is possible to further increase the margin of required latency. Of course, since access is distributed to the memory device 101 (external DRAM) and the memory device 102 (built-in memory), the access time occupied by the memory device 101 (external DRAM) can be reduced. In other words, the access rate to the memory device 101 (external DRAM) is kept low. As a result, when a high-speed external memory is originally required, it becomes possible to select a memory device having a lower speed.

さらに、1サイクルで大きなデータが転送されるようにメモリデバイス102(内蔵のメモリ)のバス幅を広く設計しておくことで、メモリデバイス101(外部のDRAM)のデータと同期してデータが転送されると、メモリデバイス102(内蔵のメモリ)のデータバスが遊ぶ時間ができる。この時間にレイテンシが必要なデータのアクセスを行うことで、レイテンシを要求するアクセスと、転送効率を要求するアクセスとを並走することができ、レイテンシと転送量を向上させることができる。また、バースト的にメモリデバイス102のクロック周波数をあげることによって、さらに、レイテンシと転送量を向上させることができる。   Further, by designing the bus width of the memory device 102 (built-in memory) so that large data is transferred in one cycle, the data is transferred in synchronization with the data of the memory device 101 (external DRAM). As a result, there is time to play the data bus of the memory device 102 (built-in memory). By accessing data that requires latency at this time, access that requires latency and access that requires transfer efficiency can be run in parallel, and the latency and the transfer amount can be improved. Further, by increasing the clock frequency of the memory device 102 in a burst manner, the latency and the transfer amount can be further improved.

さらに、メモリデバイス102(内蔵のメモリ)と同容量のメモリデバイス101(外部のDRAM)を併用することで、メモリデバイス102の容量の倍のアドレス空間にアクセスすることが可能となる。また、メモリデバイス102(内蔵のメモリ)をLSIに内蔵するような場合において、アプリケーションによって、メモリデバイス102の容量が不足する場合には、外部のメモリデバイス101と連動して動作することにより、メモリ空間を拡縮することができる。そして、内蔵のメモリデバイス102の容量を大きく積むことなく、大容量データ処理を実現することができる。最小限の容量で、アプリケーションの追加で増加する容量を吸収できる。   Furthermore, by using together the memory device 101 (external DRAM) having the same capacity as the memory device 102 (built-in memory), it becomes possible to access an address space twice the capacity of the memory device 102. Further, when the memory device 102 (built-in memory) is built in an LSI and the capacity of the memory device 102 is insufficient depending on the application, the memory device 102 operates in conjunction with the external memory device 101 to Space can be expanded or reduced. In addition, large-capacity data processing can be realized without increasing the capacity of the built-in memory device 102. With the minimum capacity, it can absorb the capacity that increases with the addition of applications.

(その他)
なお、メモリアクセス装置は、フルカスタムLSI(Large Scale Integration)によって実現されるとしてもよい。また、ASIC(Application Specific Integrated Circuit)等のようなセミカスタムLSIによって実現されるとしてもよい。また、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等のようなプログラマブル・ロジック・デバイスによって実現されるとしてもよい。また、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスとして実現されるとしてもよい。
(Other)
Note that the memory access device may be realized by a full custom LSI (Large Scale Integration). Further, it may be realized by a semi-custom LSI such as ASIC (Application Specific Integrated Circuit). Further, it may be realized by a programmable logic device such as a field programmable gate array (FPGA) or a complex programmable logic device (CPLD). Further, it may be realized as a dynamic reconfigurable device whose circuit configuration can be dynamically rewritten.

さらに、メモリアクセス装置を構成する1以上の機能を、これ等のLSIに形成する設計データは、VHDL(Very high speed integrated circuit Hardware Description Language)、Verilog−HDL、SystemC等のようなハードウェア記述言語によって記述されたプログラム(以下、HDLプログラムと呼称する。)としてもよい。また、HDLプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。   Further, design data for forming one or more functions constituting the memory access device in these LSIs is a hardware description language such as VHDL (Very High Speed Integrated Circuit Hardware Description Language), Verilog-HDL, SystemC, etc. The program described below (hereinafter referred to as HDL program) may be used. Alternatively, it may be a gate level netlist obtained by logical synthesis of an HDL program. Alternatively, macro cell information in which arrangement information, process conditions, and the like are added to a gate level netlist may be used. Further, it may be mask data in which dimensions, timing, and the like are defined.

さらに、コンピュータシステム、組み込みシステム等のようなハードウェアシステムに読出され得るように、光学記録媒体(例えば、CD−ROMなど。)、磁気記録媒体(例えば、ハードディスクなど。)、光磁気記録媒体(例えば、MOなど。)、半導体メモリ(例えば、RAMなど。)などのようなコンピュータ読み取り可能な記録媒体に設計データを記録しておくとしてもよい。そして、これらの記録媒体を介して他のハードウェアタシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。   Further, an optical recording medium (for example, a CD-ROM), a magnetic recording medium (for example, a hard disk), a magneto-optical recording medium (for example, so that it can be read by a hardware system such as a computer system, an embedded system, or the like. For example, the design data may be recorded on a computer-readable recording medium such as an MO and a semiconductor memory (for example, a RAM). The design data read by the other hardware system via these recording media may be downloaded to the programmable logic device via the download cable.

または、ネットワーク等のような伝送路を経由して他のハードウェアシステムに取得され得るように、伝送路上のハードウェアシステムに設計データを保持しておくとしてもよい。さらに、ハードウェアシステムから伝送路を介して他のハードウェアタシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてよい。   Alternatively, the design data may be held in the hardware system on the transmission path so that it can be acquired by another hardware system via the transmission path such as a network. Furthermore, design data acquired from a hardware system to another hardware system via a transmission line may be downloaded to a programmable logic device via a download cable.

または、論理合成、配置、配線された設計データを、通電時にFPGAに転送され得るように、シリアルROMに記録しておくとしてもよい。そして、シリアルROMに記録された設計データが、通電時に、直接、FPGAにダウンロードされるとしてもよい。   Alternatively, logic synthesis, arrangement, and wiring design data may be recorded in a serial ROM so that the design data can be transferred to the FPGA when energized. The design data recorded in the serial ROM may be directly downloaded to the FPGA when energized.

本発明は、プロセッサ、コーデックなどのようなマスタデバイスデバイスとメモリデバイスとの間のインターフェースを担うメモリアクセス装置などとして、特に、マスタデバイスデバイスおよびメモリデバイス間の転送速度を安価に向上させるメモリアクセス装置などとして、利用することができる。   The present invention relates to a memory access device that performs an interface between a master device device and a memory device such as a processor and a codec, and particularly a memory access device that improves the transfer speed between the master device device and the memory device at low cost. It can be used as such.

本発明に係る実施の形態1におけるメモリアクセス装置の構成を示す図である。It is a figure which shows the structure of the memory access apparatus in Embodiment 1 which concerns on this invention. 本発明に係る実施の形態1におけるメモリデバイス制御部で管理されている論理アドレス空間と各メモリデバイスのアドレス空間との対応関係を示す図である。It is a figure which shows the correspondence of the logical address space managed by the memory device control part in Embodiment 1 which concerns on this invention, and the address space of each memory device. 本発明に係る実施の形態1におけるメモリデバイスが、(a)は、単バンクの場合、(b)は、多バンクの場合におけるアドレス空間の構成を示す図である。In the memory device according to the first embodiment of the present invention, (a) is a single bank, and (b) is a diagram showing a configuration of an address space in the case of multiple banks. 本発明に係る実施の形態1におけるメモリアクセス装置によって、(a)は、単独でアクセスした場合、(b)は、並列でアクセスした場合におけるレイテンシを示す図である。The memory access device according to the first embodiment of the present invention shows the latency when (a) is accessed alone and (b) is when accessed in parallel. 本発明に係る実施の形態2におけるメモリアクセス装置の構成を示す図である。It is a figure which shows the structure of the memory access apparatus in Embodiment 2 which concerns on this invention. 本発明に係る実施の形態2におけるメモリデバイス制御部で管理されている論理アドレス空間と各メモリデバイスのアドレス空間との対応関係を示す図である。It is a figure which shows the correspondence of the logical address space managed by the memory device control part in Embodiment 2 which concerns on this invention, and the address space of each memory device. 本発明に係る実施の形態2におけるメモリデバイス制御部で管理されている論理アドレス空間に格納される画像フレームデータを示す図である。It is a figure which shows the image frame data stored in the logical address space managed by the memory device control part in Embodiment 2 which concerns on this invention. 本発明に係る実施の形態2におけるメモリアクセス装置によって、並列でアクセスした場合におけるレイテンシを示す図である。It is a figure which shows the latency at the time of accessing in parallel with the memory access apparatus in Embodiment 2 which concerns on this invention. 本発明に係る実施の形態1におけるメモリアクセス装置によって、メモリデバイスのクロック周波数を上げてアクセスした場合におけるレイテンシを示す図である。It is a figure which shows the latency at the time of raising the clock frequency of a memory device with the memory access apparatus in Embodiment 1 which concerns on this invention, and accessing.

符号の説明Explanation of symbols

10,20 メモリアクセス装置
100,200 コントローラ
101 メモリデバイス
102 メモリデバイス
140,240 内部バスIF
141,241 内部バスIF
142 アービタ
143,243 メモリデバイス制御部
144 バッファ
145 バッファ
242 コマンドアービタ
244 バッファ
245 バッファ
246 セレクタ
247 バッファ
248 バッファ
249 セレクタ
250 アービタ
251 セレクタ
10, 20 Memory access device 100, 200 Controller 101 Memory device 102 Memory device 140, 240 Internal bus IF
141,241 Internal bus IF
142 Arbiters 143 and 243 Memory device controller 144 Buffer 145 Buffer 242 Command arbiter 244 Buffer 245 Buffer 246 Selector 247 Buffer 248 Buffer 249 Selector 250 Arbiter 251 Selector

Claims (10)

第1のアドレス空間が割り当てられた第1のメモリデバイスと、
アクセスに要するレイテンシが前記第1のメモリデバイスよりも短く、第2のアドレス空間が割り当てられた第2のメモリデバイスと、
前記第1のアドレス空間が複数の第1の部分アドレス空間に分かれ、前記第2のアドレス空間が複数の第2の部分アドレス空間に分かれ、各第1の部分アドレス空間と各第2の部分アドレス空間とが交互に配置されて論理的に連続する論理アドレス空間を第1の論理アドレス空間とした場合において、
前記第1の論理アドレス空間に対するアクセスを指示する第1のコマンドに応じて、前記第1のアドレス空間および前記第2のアドレス空間に対するアクセスを制御するメモリデバイス制御手段と
を備え、
前記メモリデバイス制御手段は、前記第1のコマンドに応じて、前記第1の部分アドレス空間にアクセスする場合には、前記第1の部分アドレス空間に対するアクセスが示される第1種制御信号群を前記第1のメモリデバイスに供給し、前記第2の部分アドレス空間にアクセスする場合には、前記第2の部分アドレス空間に対するアクセスが示される第2種制御信号群を前記第2のメモリデバイスに供給し、
前記メモリデバイス制御手段は、前記第1の部分アドレス空間および前記第2の部分アドレス空間に跨がってアクセスする場合には、前記第1種制御信号群と前記第2種制御信号群とを並列供給することを特徴とするメモリアクセス装置であって、
前記メモリアクセス装置は、さらに、
前記第2のアドレス空間に対するアクセスが終了してから前記第1のアドレス空間に対する次のアクセスが開始するまでの時間内に、前記第2のメモリデバイスのアドレス空間に対するアクセスが示される第3種制御信号群を前記第2のメモリデバイスに供給するアービタ
を備えることを特徴とするメモリアクセス装置。
A first memory device assigned a first address space;
A second memory device having a latency required for access shorter than that of the first memory device and assigned a second address space;
The first address space is divided into a plurality of first partial address spaces, the second address space is divided into a plurality of second partial address spaces, and each first partial address space and each second partial address When a logical address space that is alternately arranged and logically continuous is a first logical address space,
Memory device control means for controlling access to the first address space and the second address space in response to a first command for instructing access to the first logical address space;
With
When the memory device control means accesses the first partial address space in response to the first command, the memory device control means sets the first type control signal group indicating access to the first partial address space as the first type control signal group. When the second partial address space is accessed by supplying to the first memory device, a second type control signal group indicating access to the second partial address space is supplied to the second memory device. And
When the memory device control means accesses the first partial address space and the second partial address space, the memory device control means uses the first type control signal group and the second type control signal group. A memory access device characterized by being supplied in parallel,
The memory access device further includes:
Third type control in which access to the address space of the second memory device is indicated within the time from the end of access to the second address space to the start of the next access to the first address space features and to Rume memory access device further comprising an arbiter for supplying a signal group to said second memory device.
前記第2のメモリデバイスは、前記第2のアドレス空間に対するアクセスについては、第1のアクセス周波数で動作し、前記第2のメモリデバイスのアドレス空間に対するアクセスについては、前記第1のアクセス周波数よりも高い第2のアクセス周波数で動作する
ことを特徴とする請求項に記載のメモリアクセス装置。
The second memory device operates at a first access frequency for access to the second address space, and for access to the address space of the second memory device than the first access frequency. The memory access device according to claim 1 , wherein the memory access device operates at a high second access frequency.
前記第1のメモリデバイスは、
前記第1のアドレス空間に対するアクセスについては、第1のアクセス周波数で動作し、
前記第2のメモリデバイスは、
前記第2のアドレス空間に対するアクセスについては、前記第1のアクセス周波数よりも高い第2のアクセス周波数で動作する
ことを特徴とする請求項に記載のメモリアクセス装置。
The first memory device is
For access to the first address space, it operates at a first access frequency;
The second memory device is
Wherein the access to the second address space, the memory access apparatus according to claim 1, characterized in that to operate at a higher second access frequency than the first access frequency.
前記アービタは、前記第3種制御信号群がアクセスするアドレス空間よりも、前記第1の論理アドレス空間に対するアクセスを優先する
ことを特徴とする請求項に記載のメモリアクセス装置。
The arbiter than said address space in which the third type control signal group access, memory access apparatus according to claim 1, wherein the priority of access to the first logical address space.
前記第1の部分アドレス空間は、サイズM(Mは自然数。)の第1のデータ列が格納されるアドレス空間であり、前記第2の部分アドレス空間は、サイズN(Nは自然数。)の第2のデータ列が格納されるアドレス空間であって、
前記メモリデバイス制御手段は、
論理的に連続するデータ列を、前記第1のデータ列および前記第2のデータ列に交互に分け、各第1のデータ列が各第1の部分アドレス空間に格納され、前記各第1のデータ列に隣接する第2のデータ列が前記各第1のアドレス空間に隣接する第2のアドレス空間に格納されるように、前記第1種信号群および前記第2種信号群を供給する
ことを特徴とする請求項1に記載のメモリアクセス装置。
The first partial address space is an address space in which a first data string having a size M (M is a natural number) is stored, and the second partial address space is a size N (N is a natural number). An address space in which the second data string is stored,
The memory device control means includes
A logically continuous data string is alternately divided into the first data string and the second data string, and each first data string is stored in each first partial address space. Supplying the first type signal group and the second type signal group so that a second data string adjacent to the data string is stored in a second address space adjacent to the first address space. The memory access device according to claim 1.
前記第1の部分アドレス空間は、第1の方向にサイズM(Mは自然数。)で第2の方向にサイズH(Hは自然数。)の第1のデータ配列が格納されるアドレス空間であり、前記第2の部分アドレス空間は、第1の方向にサイズN(Nは自然数。)で第2の方向にサイズH(Hは自然数。)の第2のデータ配列が格納されるアドレス空間であって、
前記メモリデバイス制御手段は、
論理的に連続する2次元のデータ配列を、前記第1のデータ配列および前記第2のデータ配列に交互に分け、各第1のデータ配列が各第1の部分アドレス空間に格納され、各第1のデータ配列に隣接する第2のデータ配列が各第1の部分アドレス空間に隣接する第2の部分アドレス空間に格納されるように、前記第1種信号群および前記第2種信号群を供給する
ことを特徴とする請求項1に記載のメモリアクセス装置。
The first partial address space is an address space in which a first data array having a size M (M is a natural number) in the first direction and a size H (H is a natural number) in the second direction is stored. The second partial address space is an address space in which a second data array having a size N (N is a natural number) in the first direction and a size H (H is a natural number) in the second direction is stored. There,
The memory device control means includes
A logically continuous two-dimensional data array is alternately divided into the first data array and the second data array, and each first data array is stored in each first partial address space. The first type signal group and the second type signal group are set such that a second data array adjacent to one data array is stored in a second partial address space adjacent to each first partial address space. The memory access device according to claim 1, wherein the memory access device is supplied.
前記第1のメモリデバイスは、複数のバンクから構成されているメモリデバイスであって、
前記メモリデバイス制御手段は、
前記第1の部分アドレス空間および前記第2の部分アドレス空間の組をI(Iは自然数。)組単位で、前記第1のメモリデバイスのバンクを交互に切り替えて前記第1のアドレス空間にアクセスする
ことを特徴とする請求項1に記載のメモリアクセス装置。
The first memory device is a memory device composed of a plurality of banks,
The memory device control means includes
Accessing the first address space by alternately switching banks of the first memory device in units of I (I is a natural number) as a set of the first partial address space and the second partial address space The memory access device according to claim 1, wherein:
前記第1のアドレス空間とは別に前記第1のメモリデバイスに割り当てられた第3のアドレス空間と対応づけられた論理アドレス空間を第2の論理アドレス空間とし、前記第2のアドレス空間とは別に前記第2のメモリデバイスに割り当てられた第4のアドレス空間と対応づけられた論理アドレス空間を第3の論理アドレス空間とした場合において、
前記メモリデバイス制御手段は、
前記第2の論理アドレス空間に対するアクセスを指示する第2のコマンドに応じて、前記第3のアドレス空間にアクセスし、前記第3の論理アドレス空間に対するアクセスを指示する第3のコマンドに応じて、前記第4のアドレス空間にアクセスする
ことを特徴とする請求項1に記載のメモリアクセス装置。
A logical address space associated with a third address space allocated to the first memory device separately from the first address space is defined as a second logical address space, and separately from the second address space. In the case where the logical address space associated with the fourth address space allocated to the second memory device is the third logical address space,
The memory device control means includes
In response to a second command instructing access to the second logical address space, to access the third address space and in response to a third command instructing access to the third logical address space, The memory access device according to claim 1, wherein the fourth address space is accessed.
前記第1のメモリデバイスは、前記メモリデバイス制御手段とは別に外付けされたDRAMであり、
前記第2のメモリデバイスは、前記メモリデバイス制御手段と共に内蔵されたメモリデバイスである
ことを特徴とする請求項1に記載のメモリアクセス装置。
The first memory device is a DRAM externally attached separately from the memory device control means,
The memory access apparatus according to claim 1, wherein the second memory device is a memory device built in with the memory device control unit.
第1のアドレス空間が割り当てられた第1のメモリデバイスと、アクセスに要するレイテンシが前記第1のメモリデバイスよりも短く、第2のアドレス空間が割り当てられた第2のメモリデバイスとにアクセスするメモリアクセス方法であって、
前記メモリアクセス方法は、
前記第1のアドレス空間が複数の第1の部分アドレス空間に分かれ、前記第2のアドレス空間が複数の第2の部分アドレス空間に分かれ、各第1の部分アドレス空間と各第2の部分アドレス空間とが交互に配置されて論理的に連続する論理アドレス空間を第1の論理アドレス空間とした場合において、
前記第1の論理アドレス空間に対するアクセスを指示する第1のコマンドに応じて、前記第1のアドレス空間および前記第2のアドレス空間に対するアクセスを制御する制御ステップを含み、
制御ステップでは、前記第1のコマンドに応じて、前記第1の部分アドレス空間にアクセスする場合には、前記第1の部分アドレス空間に対するアクセスが示される第1種制御信号群を前記第1のメモリデバイスに供給し、前記第2の部分アドレス空間にアクセスする場合には、前記第2の部分アドレス空間に対するアクセスが示される第2種制御信号群を前記第2のメモリデバイスに供給し、
制御ステップでは、前記第1の部分アドレス空間および前記第2の部分アドレス空間に跨がってアクセスする場合には、前記第1種制御信号群と前記第2種制御信号群とを並列供給する
ことを特徴とし、
前記メモリアクセス方法は、さらに、
前記第2のアドレス空間に対するアクセスが終了してから前記第1のアドレス空間に対する次のアクセスが開始するまでの時間内に、前記第2のメモリデバイスのアドレス空間に対するアクセスが示される第3種制御信号群を前記第2のメモリデバイスに供給するステップを含むことを特徴とするメモリアクセス方法。
Memory for accessing a first memory device to which a first address space is assigned and a second memory device to which a latency required for access is shorter than that of the first memory device and to which a second address space is assigned An access method,
The memory access method includes:
The first address space is divided into a plurality of first partial address spaces, the second address space is divided into a plurality of second partial address spaces, and each first partial address space and each second partial address When a logical address space that is alternately arranged and logically continuous is a first logical address space,
A control step of controlling access to the first address space and the second address space in response to a first command instructing access to the first logical address space;
In the control step, when accessing the first partial address space according to the first command, a first type control signal group indicating access to the first partial address space is set to the first partial address space. When supplying to the memory device and accessing the second partial address space, a second type control signal group indicating access to the second partial address space is supplied to the second memory device,
In the control step, when accessing the first partial address space and the second partial address space, the first type control signal group and the second type control signal group are supplied in parallel. It is characterized by
The memory access method further includes:
Third type control in which access to the address space of the second memory device is indicated within the time from the end of access to the second address space to the start of the next access to the first address space A method for accessing a memory , comprising: supplying a signal group to the second memory device .
JP2005217919A 2005-07-27 2005-07-27 Memory access device and memory access method Active JP4890807B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005217919A JP4890807B2 (en) 2005-07-27 2005-07-27 Memory access device and memory access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005217919A JP4890807B2 (en) 2005-07-27 2005-07-27 Memory access device and memory access method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011211608A Division JP5449287B2 (en) 2011-09-27 2011-09-27 Memory access device

Publications (2)

Publication Number Publication Date
JP2007034740A JP2007034740A (en) 2007-02-08
JP4890807B2 true JP4890807B2 (en) 2012-03-07

Family

ID=37793912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005217919A Active JP4890807B2 (en) 2005-07-27 2005-07-27 Memory access device and memory access method

Country Status (1)

Country Link
JP (1) JP4890807B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4405565B2 (en) 2008-06-19 2010-01-27 株式会社東芝 Memory system and memory device
US8868992B2 (en) * 2009-12-31 2014-10-21 Intel Corporation Robust memory link testing using memory controller

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569514B2 (en) * 1986-12-12 1997-01-08 株式会社日立製作所 Information processing device
JPH04287251A (en) * 1991-03-18 1992-10-12 Matsushita Electric Ind Co Ltd Memory device
JPH0636550A (en) * 1992-07-21 1994-02-10 Hitachi Ltd Semiconductor memory

Also Published As

Publication number Publication date
JP2007034740A (en) 2007-02-08

Similar Documents

Publication Publication Date Title
KR100908760B1 (en) Method and memory device having multiple internal data buses and memory bank interleaving
EP1474747B1 (en) Address space, bus system, memory controller and device system
US8307190B2 (en) Memory control device, memory device, and memory control method
US6606277B2 (en) Semiconductor memory device
US7668040B2 (en) Memory device, memory controller and memory system
JP4511638B2 (en) Computer system controller with internal memory and external memory control
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
JPH05274859A (en) Integrated circuit storage device
US7593016B2 (en) Method and apparatus for high density storage and handling of bit-plane data
JP2006202469A (en) Improved ddr-ii-dram data path
US20110296124A1 (en) Partitioning memory for access by multiple requesters
CN102016809A (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
KR20110124495A (en) Transection splitting apparatus and method
Zhu et al. An SDRAM controller optimized for high definition video coding application
JP4890807B2 (en) Memory access device and memory access method
CN100444636C (en) Method for improving SDRAM bus efficiency in video decoder
JP2007018222A (en) Memory access control circuit
JP5204777B2 (en) Memory device and control method thereof
JP5449287B2 (en) Memory access device
DE112006000217T5 (en) Padding near order logic
US11086534B2 (en) Memory data distribution based on communication channel utilization
US20100211704A1 (en) Data Processing Apparatus
US20130088756A1 (en) Image Processing Device
US11854602B2 (en) Read clock start and stop for synchronous memories
JPH09120371A (en) Memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110927

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111003

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111215

R150 Certificate of patent or registration of utility model

Ref document number: 4890807

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250