JP4890807B2 - Memory access device and memory access method - Google Patents
Memory access device and memory access method Download PDFInfo
- 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
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参照。)。この方法によれば、内蔵メモリには、アクセス頻度の高いデータ(例えば、画像に関するデータなど。)が記憶され、外付けメモリには、アクセス頻度の低いデータが記憶されて、通常の画像処理において、メモリインタフェース回路により内蔵メモリが頻繁にアクセスされ、必要に応じて外付けメモリがアクセスされる。
しかしながら、上記に記した従来の技術において、(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
「論理アドレス空間」とは、論理アドレスによって、制御下にある各メモリデバイスのアドレス空間と対応づけられて管理されているアドレス空間である。 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
ここでは、一例として、メモリアクセス装置10は、メモリデバイス101、メモリデバイス102、内部バスIF140、内部バスIF141、アービタ142、メモリデバイス制御部143、バッファ144、およびバッファ145などを備える。また、メモリデバイス101は、コントローラ100に外付けされている。メモリデバイス102、内部バスIF140、内部バスIF141、アービタ142、メモリデバイス制御部143、バッファ144、およびバッファ145は、コントローラ100に内蔵されている。
Here, as an example, the
メモリデバイス101は、バースト的にアクセスし連続した高速大容量のデータ転送が可能なメモリデバイスである。例えば、DRAMなどのように、バーストモードを利用したデータ転送が可能で高速にアクセス可能なメモリデバイスである。ここでは、一例として、DRAMとする。なお、DRAMとして、SDRAM、DDR−SDRAM、DDR2−SDRAM、RamBus社のXDRなどがある。
The
メモリデバイス102は、高速レイテンシ、ランダムアクセス、かつ設計時にバス幅を拡張・縮小可能なメモリデバイスである。例えば、SRAMのように、レイテンシが短く高速なランダムアクセスが可能なメモリデバイスである。ここでは、一例として、SRAMとする。なお、メモリデバイス102の種別は、SRAMに限らず、内蔵されるDRAMやフラッシュ、FeRAMなどでもよい。また、メモリデバイス102は、内蔵、外付けのどちらでもよい。
The
内部バス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
アービタ142は、内部バスIF140、または内部バスIF141から発行されたコマンドを受け取り、受け取ったコマンドに対して、アクセス優先順位、データレート保障などに基づいて、アクセス調停を行い、そのコマンドをメモリデバイス制御部143に転送する。
The
メモリデバイス制御部143は、アービタ142から転送されたコマンドを受け取り、受け取ったコマンドに基づいて、タイミングを制御しながら、制御下にある各メモリデバイスにアクセスするのに必要な制御信号群を各メモリデバイスに並列供給する。具体的には、メモリデバイス制御部143は、受け取ったコマンドに応じて、メモリデバイス101にアクセスする場合には、信号線146を介して、メモリデバイス101に対するアクセスが示される第1種制御信号群(DRAMの制御信号、アドレス信号など。)を供給する。メモリデバイス102にアクセスする場合には、信号線147を介して、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。
The memory
バッファ144は、内部バスIF140または内部バスIF141から、メモリデバイス101またはメモリデバイス102に転送されるデータが一時的に格納される緩衝記憶領域である。
The
ここで、メモリデバイス101は、メモリデバイス制御部143から読出し用の第1種制御信号群が供給されると、供給された読出し用の第1種制御信号群によって特定されるデータをバッファ144へ書込む。同様に、メモリデバイス102は、メモリデバイス制御部143から読出し用の第2種制御信号群が供給されると、供給された読出し用の第2種制御信号群によって特定されるデータをバッファ144へ書込む。
Here, when the memory
バッファ145は、メモリデバイス101またはメモリデバイス102から、内部バスIF140または内部バスIF141に転送されるデータが一時的に格納される緩衝記憶領域である。
The
ここで、メモリデバイス101は、メモリデバイス制御部143から書込み用の第1種制御信号群が供給されると、供給された書込み用の第1種制御信号群によって特定されるデータをバッファ145から読出しメモリデバイス101へ格納する。同様に、メモリデバイス102は、メモリデバイス制御部143から書込み用の第2種制御信号群が供給されると、供給された書込み用の第2種制御信号群によって特定されるデータをバッファ145から読出しメモリデバイス102へ格納する。
Here, when the
続いて、本実施の形態におけるメモリデバイス制御部143で管理される論理アドレス空間について説明する。
Next, a logical address space managed by the memory
図2に示されるように、メモリデバイス制御部143は、論理アドレス空間110に応じて、メモリデバイス101のアドレス空間と、メモリデバイス102のアドレス空間とのそれぞれに対するアクセスを制御する。
As illustrated in FIG. 2, the memory
論理アドレス空間110には、論理アドレス空間103(サイズX)、論理アドレス空間104(サイズZ)、および論理アドレス空間105(サイズY)が含まれる。ここでは、少なくとも3つのアクセス形態をもつ論理アドレス空間が含まれる。
The
論理アドレス空間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
論理アドレス空間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
論理アドレス空間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
ここで、論理アドレス空間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
続いて、メモリデバイス制御部143で管理されている論理アドレス空間105について説明する。ここでは、論理的に連続するデータ列を、論理アドレスマップに従って論理アドレス空間105に格納する場合を例に説明する。なお、一例として、メモリデバイス101をデータ入出力幅が4[Byte]のDRAMとし、メモリデバイス102をデータ入出力幅が16[Byte]のSRAMとし、M=N=16[Byte]とする。
Next, the
図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
ここで、第1の部分アドレス空間111は、メモリデバイス101において開始アドレス”E”から終了アドレス”E+15”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。また、第2の部分アドレス空間112は、メモリデバイス102において開始アドレス”F”から終了アドレス”F+15”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。
Here, the first
さらに、メモリデバイス制御部143は、続く16[Byte]のデータ(第1のデータ列)が第1の部分アドレス空間113(サイズM)に格納され、続く16[Byte]のデータ(第2のデータ列)が第2の部分アドレス空間114(サイズN)に格納されるように、第1種制御信号群および第2種制御信号群を供給する。
Further, the memory
ここで、第1の部分アドレス空間113は、メモリデバイス101において開始アドレス”E+16”から終了アドレス”E+31”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。また、第2の部分アドレス空間114は、メモリデバイス102において開始アドレス”F+16”から終了アドレス”F+31”までのアドレス空間であり、論理アドレス空間105に属する論理アドレス空間でもある。
Here, the first
すなわち、メモリデバイス制御部143は、論理的に連続するデータ列を、第1のデータ列(サイズM)および第2のデータ列(サイズN)に交互に分け、各第1のデータ列が各第1の部分アドレス空間に格納され、各第1のデータ列に隣接する第2のデータ列が第2の部分アドレス空間に格納されるように、第1種制御信号群および第2種制御信号群を供給する。
That is, the
これに伴い、一連のデータのうち、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
このとき、メモリデバイス制御部143は、アービタ142から受け取ったコマンドに基づいて、メモリデバイス101(外部のDRAM)に対してサイズM(Mは自然数。)単位でデータ転送を行うことが示される第1種制御信号群を供給し、メモリデバイス102(内蔵のメモリ)に対してサイズN(Nは自然数。)単位でデータ転送を行うことが示される第2種制御信号群を供給する。
At this time, it is indicated that the 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
続いて、メモリデバイス101を多バンク構成のDRAMに置き換えた場合について説明する。
Next, a case where the
図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
Here, the
さらに、アドレス空間125は、メモリデバイス101の第2のバンクにおいて開始アドレス”E2”から終了アドレス”E2+15”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。また、アドレス空間127は、メモリデバイス101の第2のバンクにおいて開始アドレス”E2+16”から終了アドレス”E2+31”までのアドレス空間であり、論理アドレス空間105に属するアドレス空間でもある。
Further, the
すなわち、メモリデバイス制御部143は、第1の部分アドレス空間および第2の部分アドレス空間の組をi(iは自然数。)組単位で、メモリデバイス101のバンクを交互に切り替えてアドレス空間106にアクセスする。
That is, the memory
これに伴い、例えば、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
続いて、論理アドレス空間105に格納されているデータの読出しアクセスする動作について説明する。ここでは、内部バスIF140が、論理アドレス空間104に対するアクセス要求を2回受けた場合と、論理アドレス空間105に対するアクセス要求を2回受けた場合とを例に説明する。
Next, an operation for reading and accessing data stored in the
図4(a)に示されるように、メモリデバイス制御部143は、内部バスIF140からタイミング150で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、第1種制御信号群をメモリデバイス101に供給する(占有時間152)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間154)。
As shown in FIG. 4A, when the memory
また、メモリデバイス制御部143は、内部バスIF140からタイミング151で発行されたコマンドを、アービタ142を介して受けると、受けたコマンドに応じて、第1種制御信号群をメモリデバイス101に供給する(占有時間153)。これに伴い、メモリデバイス101は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されるデータをバッファ145に出力する(占有時間155)。そして、内部バスIF140は、メモリデバイス制御部143から供給された第1種制御信号群によって特定されたデータによって再構成されたデータをバッファ145から読出し、読出したデータを、論理アドレス空間104に対してアクセス要求を出したマスタデバイスに出力する。
Further, when the memory
ここで、一例として、下記(1)〜(3)の条件において論理アドレス空間104にアクセスする場合について説明する。
Here, as an example, a case where the
(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
(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
これにより、メモリデバイス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
また、メモリデバイス制御部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
ここで、一例として、下記(1)〜(4)の条件において論理アドレス空間105にアクセスする場合について説明する。
Here, as an example, a case where the
(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
(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
これにより、メモリデバイス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
すなわち、論理アドレス空間104に対するアクセス要求を受けた場合においては(図4(a)参照。)、従来のようにメモリデバイス101の第1のバンクおよび第2のバンクに跨ってアクセスするため、4サイクル+αを要する。一方、論理アドレス空間105に対するアクセス要求を受けた場合においては(図4(b)参照。)、メモリデバイス101およびメモリデバイス102に跨ってアクセスするため、1サイクル+αを要する。結果、論理アドレス空間105にアクセスすることで、3サイクルのレイテンシを改善することが可能となる。
That is, when an access request for the
以上説明したように、本実施の形態に係るメモリアクセス装置10によれば、メモリデバイス101とメモリデバイス102とに並行してアクセスするため、メモリデバイス101に占める1コマンド当たりの占有時間を短くすることができ、メモリデバイス101のレートを削減できる。結果的に、周波数を低減でき、安価なメモリデバイスを使用することができる。さらに、周波数を低減することによって、設計の容易性が向上し、また、消費電力を低減することができる。
As described above, according to the
さらに、レートが高くアクセス頻度が多いデータを全てメモリデバイス102(内蔵のメモリ)に格納する場合と比べ、メモリデバイス101およびメモリデバイス102を併用することで、ほぼ同等のレイテンシで、かつメモリデバイス102に必要とする容量を半減することが可能となる。
Furthermore, the
(実施の形態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
以上の点を踏まえて、本実施の形態におけるメモリアクセス装置について説明する。なお、実施の形態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
まず、本実施の形態におけるメモリアクセス装置の構成について説明する。
図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
ここでは、一例として、メモリアクセス装置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
メモリデバイス101は、バースト的にアクセスし連続した高速大容量のデータ転送が可能なメモリデバイスである。例えば、DRAMなどのように、バーストモードを利用したデータ転送が可能で高速にアクセス可能なメモリデバイスである。ここでは、一例として、DRAMとする。なお、DRAMとして、SDRAM、DDR−SDRAM、DDR2−SDRAM、RamBus社のXDRなどがある。
The
メモリデバイス102は、高速レイテンシ、ランダムアクセス、かつ設計時にバス幅を拡張・縮小可能なメモリデバイスである。例えば、SRAMのように、レイテンシが短く高速なランダムアクセスが可能なメモリデバイスである。ここでは、一例として、SRAMとする。なお、メモリデバイス102の種別は、SRAMに限らず、内蔵されるDRAMやフラッシュ、FeRAMなどでもよい。また、メモリデバイス102は、内蔵、外付けのどちらでもよい。
The
内部バス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
コマンドアービタ242は、内部バスIF140、または内部バスIF141から発行されたコマンドを受け取り、受け取ったコマンドに対して、アクセス優先順位、データレート保障などに基づいて、アクセス調停を行い、そのコマンドをメモリデバイス制御部243に転送する。
The
メモリデバイス制御部243は、コマンドアービタ242から転送されたコマンドを受け取り、受け取ったコマンドに基づいて、タイミングを制御しながら、制御下にある各メモリデバイスにアクセスするのに必要な制御信号群を各メモリデバイスに並列供給する。具体的には、メモリデバイス制御部243は、受け取ったコマンドに応じて、メモリデバイス101にアクセスする場合には、信号線146を介して、メモリデバイス101に対するアクセスが示される第1種制御信号群(DRAMの制御信号、アドレス信号など。)を供給する。メモリデバイス102にアクセスする場合には、信号線147を介して、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。
The memory
なお、メモリデバイス制御部243で管理される論理アドレス空間については、実施の形態1における論理アドレス空間(図2参照。)と同一のために、説明を省略する。
Note that the logical address space managed by the memory
バッファ244は、内部バスIF240または内部バスIF241から、メモリデバイス101またはメモリデバイス102に転送されるデータが一時的に蓄積される緩衝記憶領域である。
The
バッファ245は、内部バスIF240または内部バスIF241から、メモリデバイス102に転送されるデータが一時的に蓄積される緩衝記憶領域である。
The
セレクタ246は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて入力源(バッファ244またはバッファ245)を切り替え、入力源に蓄積されているデータをメモリデバイス102に出力する。
The
バッファ247は、メモリデバイス102から、内部バスIF240または内部バスIF241に転送されるデータが一時的に蓄積される緩衝記憶領域である。
The
バッファ248は、メモリデバイス101またはメモリデバイス102から、内部バスIF240または内部バスIF241に転送されるデータが一時的に蓄積される緩衝記憶領域である。
The
セレクタ249は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて出力先(バッファ247またはバッファ248)を切り替えて、メモリデバイス102から出力されたデータを出力先に蓄積する。
The
アービタ250は、内部バスIF240または内部バスIF241から発行されたコマンドを受け取り、メモリデバイス102に対するアクセスの空き時間を見計らって、受け取ったコマンドに応じて、メモリデバイス102に対するアクセスが示される第2種制御信号群(SRAMの制御信号、アドレス信号など。)を供給する。
The
セレクタ251は、メモリデバイス制御部243から出力される制御信号(不図示)に応じて入力源(メモリデバイス制御部243またはアービタ250)を切り替えて、入力源から供給される第2種制御信号群をメモリデバイス102に出力する。
The
なお、メモリデバイス制御部243は、メモリデバイス101およびメモリデバイス102を並行してアクセスする場合には、セレクタ246を制御して、入力源としてバッファ244を選択させる。また、セレクタ249を制御して、出力先としてバッファ248を選択させる。さらに、セレクタ251を制御して、入力源としてメモリデバイス制御部243からの出力を選択させる。
Note that the memory
また、アービタ250は、アドレス空間107に対するアクセスが終了してからアドレス空間106に対する次のアクセスが開始するまでの時間内に、論理アドレス空間103に対するアクセス要求を受けると、論理アドレス空間103に対するアクセスが示される第2種制御信号群をメモリデバイス102に供給する。このとき、メモリデバイス制御部243は、セレクタ246を制御して、入力源としてバッファ245を選択させる。また、セレクタ249を制御して、出力先としてバッファ247を選択させる。さらに、セレクタ251を制御して、入力源としてアービタ250を選択させる。
Further, when the
続いて、メモリデバイス制御部243で管理されている論理アドレス空間105について説明する。ここでは、論理的に連続する2次元のデータ配列を、論理アドレスマップに従って論理アドレス空間105に格納する場合を例に説明する。なお、一例として、メモリデバイス101を4バンクから構成されているDRAMとし、メモリデバイス102をSRAMとする。
Next, the
図6に示されるように、メモリデバイス制御部243は、論理的に連続する2次元のデータ配列230を論理アドレス空間105に格納する場合には、下記(a1)〜(a4)に基づいて、第1のデータ配列と、その第1のデータ配列に隣接する第2のデータ配列とを組にして格納されるように、第1種制御信号群および第2種制御信号群を供給する。
As illustrated in FIG. 6, the memory
「第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
ここでは、「第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
(a2)領域232における部分233および部分235のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク214に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。
(A2) For each of the
(a3)領域231における部分234および部分236のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク211に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。
(A3) For each of the
(a4)領域232における部分234および部分236のそれぞれについて、第1のデータ配列および第2のデータ配列の組が2組格納される。このとき、第1のデータ配列がメモリデバイス101のバンク213に割り当てられた第1の部分アドレス空間に格納され、第2のデータ配列がメモリデバイス102に割り当てられた第2の部分アドレス空間に格納される。
(A4) For each of the
すなわち、メモリデバイス制御部243は、論理的に連続する2次元のデータ配列を論理アドレス空間105に格納する場合には、水平方向については、下記(b1),(b2)を交互に繰り返すか、または下記(b2),(b4)を交互に繰り返し、垂直方向については、下記(b1),(b3)を交互に繰り返すか、または下記(b3),(b4)を交互に繰り返す。
That is, when storing a logically continuous two-dimensional data array in the
(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
(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
(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
(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
例えば、図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
(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
なお、データ配列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
続いて、論理アドレス空間105に格納されているデータをアクセスする動作について説明する。ここでは、内部バスIF240が、マスタデバイスから、論理アドレス空間105に対するアクセス要求を2回受け、内部バスIF241が、マスタデバイスから、論理アドレス空間103に対するアクセス要求を1回受けた場合を例に説明する。
Next, an operation for accessing data stored in the
図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
同様に、メモリデバイス制御部243は、内部バスIF240からタイミング161で発行されたコマンドを、コマンドアービタ242を介して受けると、受けたコマンドに応じて、並行して、第1種制御信号群をメモリデバイス101に供給し、第2種制御信号群をメモリデバイス102に供給する(占有時間163)。これに伴い、メモリデバイス101は、メモリデバイス制御部243から供給された第1種制御信号群によって特定されるデータをバッファ248に出力する(占有時間166)。また、メモリデバイス102は、メモリデバイス制御部243から供給された第2種制御信号群によって特定されるデータをバッファ248に出力する(占有時間167)。
Similarly, when the memory
このとき、アービタ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
なお、図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
なお、第2のメモリデバイス102は、論理アドレス空間105(アドレス空間107)に対するアクセスについては、アクセス周波数A[MHz]で動作し、論理アドレス空間103(メモリデバイス102の全アドレス空間)に対するアクセスについては、アクセス周波数A[MHz]よりも高いアクセス周波数B[MHz]で動作するとしてもよい。これによって、メモリデバイス102のデータバスが遊ぶ時間内に、データ転送を終了させることができ、さらに、複数のデータ転送を行うこともできる。
The
さらに、アクセス周波数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
さらに、アクセス周波数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
さらに、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
さらに、メモリデバイス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
(その他)
なお、メモリアクセス装置は、フルカスタム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.
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
141,241 Internal bus IF
142
Claims (10)
アクセスに要するレイテンシが前記第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.
ことを特徴とする請求項1に記載のメモリアクセス装置。 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のアクセス周波数で動作し、
前記第2のメモリデバイスは、
前記第2のアドレス空間に対するアクセスについては、前記第1のアクセス周波数よりも高い第2のアクセス周波数で動作する
ことを特徴とする請求項1に記載のメモリアクセス装置。 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.
ことを特徴とする請求項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のデータ列および前記第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.
前記メモリデバイス制御手段は、
論理的に連続する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の部分アドレス空間および前記第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:
前記メモリデバイス制御手段は、
前記第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.
前記第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の部分アドレス空間に分かれ、前記第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 .
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)
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)
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 |
-
2005
- 2005-07-27 JP JP2005217919A patent/JP4890807B2/en active Active
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 |