JP4534488B2 - Data storage device, data storage control device, data storage control method, and data storage control program - Google Patents

Data storage device, data storage control device, data storage control method, and data storage control program Download PDF

Info

Publication number
JP4534488B2
JP4534488B2 JP2004000572A JP2004000572A JP4534488B2 JP 4534488 B2 JP4534488 B2 JP 4534488B2 JP 2004000572 A JP2004000572 A JP 2004000572A JP 2004000572 A JP2004000572 A JP 2004000572A JP 4534488 B2 JP4534488 B2 JP 4534488B2
Authority
JP
Japan
Prior art keywords
data
memory
read
double
data storage
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.)
Expired - Fee Related
Application number
JP2004000572A
Other languages
Japanese (ja)
Other versions
JP2005196361A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004000572A priority Critical patent/JP4534488B2/en
Priority to TW093141186A priority patent/TWI289750B/en
Priority to US11/029,226 priority patent/US7558934B2/en
Priority to KR1020050000517A priority patent/KR101164235B1/en
Priority to CN2005100541747A priority patent/CN1677555B/en
Publication of JP2005196361A publication Critical patent/JP2005196361A/en
Priority to US12/424,163 priority patent/US20090204780A1/en
Application granted granted Critical
Publication of JP4534488B2 publication Critical patent/JP4534488B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムに関する。   The present invention relates to a data storage device, a data storage control device, a data storage control method, and a data storage control program that store all data in a memory composed of a plurality of memory banks and simultaneously read out a plurality of desired data from the memory.

半導体メモリは、図24に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、活性化された1ワード線とビット線の交差する位置にあるメモリセルMCに格納されたデータが読み出される。   As shown in FIG. 24, the semiconductor memory has a structure in which the memory cell MC is accessed by designating the word line WL and the bit line BL, and is located at a position where the activated one word line and the bit line intersect. Data stored in the memory cell MC is read out.

このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図25のように、複数のワード線WL1,WL2を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。   In the semiconductor memory having such a structure, data of a plurality of word lines share the same bit line. Therefore, when a plurality of word lines WL1 and WL2 are designated as shown in FIG. Since it is broken, data on different word lines cannot be accessed simultaneously.

また、独立したバンクからは同時にデータを読み出すことが可能であり、図26に示すように、メモリを複数のバンクBK1〜BKnに分け、それぞれのバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、バンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各バンクから同一ワード線上に格納されたデータであり、同一バンクにおける異なるワード線上に格納されたデータは同時読みだし不可能である。   Further, data can be read from independent banks at the same time. As shown in FIG. 26, the memory is divided into a plurality of banks BK1 to BKn, and a plurality of word lines are designated by specifying different addresses for each bank. However, data on different word lines in the bank cannot be accessed simultaneously. That is, data stored on the same word line from each bank can be read simultaneously, and data stored on different word lines in the same bank cannot be read simultaneously.

ここで、バンクとは、複数のワード線と複数のビット線からなるメモリにおいてワード・アドレスが独立に制御できるメモリ単位をいう。   Here, the bank means a memory unit in which a word address can be controlled independently in a memory composed of a plurality of word lines and a plurality of bit lines.

また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識等の処理が行われている。   Conventionally, processing such as pattern recognition of image data has been performed by recognizing a specific data array included in input data.

例えば、数ライン画像データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理可のプロセッサエレメントの複数を含み複数プロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画像データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致か判定することが行われている(例えば、特許文献1参照)。   For example, a buffer memory that can store several lines of image data and output in pixel units, a data processor that includes multiple processor elements that can process several bits of width data, and that can process data simultaneously in multiple processor elements, and matching A control information memory for storing reference data and control data, and each processor element of the data processor selects a group of image data in a matrix centered on a target pixel addressed to itself among the image data output from the buffer memory. Then, it is binarized using a threshold value, converted into target data divided into serial array bit widths that can be processed by the processor element, and it is determined whether it matches the reference data in the control information memory in the same format. (For example, refer to Patent Document 1).

特開平10−332378号公報JP-A-10-332378

例えば、図27のように,ある画像に対して、同時アクセスしたいパターンがあって、それが左上からラスタスキャンする場合を考える。同時アクセス数である5つにバンク分割して、データを図のように配置したとすると、始めの5回くらいは同時アクセスできるが、図28の位置に同時アクセスパターンが来たときには、バンク0で複数ワード線にアクセスすることになるので同時アクセスができない。このデータを同時アクセスするためには、他のバンクに格納するか、同じワード線に格納するかのどちらかである。パターンによっては、格納する場所を上手く選べば同時アクセスできる場合があるが、どのようなパターンでも同時アクセスできるようにするためには、1 バンクが1 ワード線だけで構成されるぐらい細かくバンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、バンク数が多くなると、次のような問題点が発生する。   For example, as shown in FIG. 27, consider a case where there is a pattern to be accessed simultaneously for a certain image, and this is raster scanned from the upper left. If the bank is divided into five, which is the number of simultaneous accesses, and the data is arranged as shown in the figure, it can be accessed simultaneously for the first five times. However, when the simultaneous access pattern comes to the position shown in FIG. Since multiple word lines are accessed, simultaneous access is not possible. In order to access this data simultaneously, it is stored either in another bank or on the same word line. Depending on the pattern, simultaneous access may be possible if the storage location is selected appropriately, but in order to enable simultaneous access to any pattern, the bank is divided so finely that one bank consists of only one word line. There is a need. However, the finer the number of banks, the larger the number of banks. As the number of banks increases, the following problems occur.

例えば、図29に示すように、参照領域の大きさが5画素×5画素であれば必要とするメモリバンクの数は25になるが、バンクの数が多くなるとバンクのアドレス管理が難しくなり、アドレス線の増加やチップ面積が増加する、消費電力が増大するなどの問題があった。   For example, as shown in FIG. 29, if the size of the reference area is 5 pixels × 5 pixels, the required number of memory banks is 25. However, if the number of banks increases, the bank address management becomes difficult. There are problems such as an increase in address lines, an increase in chip area, and an increase in power consumption.

すなわち、 それぞれのバンクに異なるアドレスを指定するのでアドレスバスが膨大になる。   In other words, since different addresses are assigned to each bank, the address bus becomes enormous.

また、 デコーダやセレクタがバンクの数だけ必要なのでチップ面積が大きくなる。   In addition, since the number of decoders and selectors required is the same as the number of banks, the chip area increases.

また、 同時に複数のバンクが動作するため消費電力が多くなる。   In addition, power consumption increases because multiple banks operate simultaneously.

さらに、1 ワード線のデータ数を増やすと、ワード線が長くなり、1 ワード線のデータにアクセスするときに時間がかかる。   Furthermore, if the number of data for one word line is increased, the word line becomes longer and it takes time to access the data for one word line.

このように、半導体メモリでは、1バンクにつき1ワード線のみ構成するとデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとハードウエアに負担がかかり、現実的でない。   Thus, in a semiconductor memory, if only one word line is configured per bank, data can be read simultaneously. However, if the amount of data to be stored is enormous, the hardware is burdened, which is not realistic.

そこで、従来の技術ではデータを読み出し、一時的に記憶するバッファやキャッシュを設け、所望の複数データを複数回に時間的に分割し、バッファやキャッシュに一時記憶し、読み出していた。   Therefore, in the conventional technique, a buffer or cache for reading data and temporarily storing it is provided, and a plurality of desired data is divided into a plurality of times in time, temporarily stored in the buffer or cache, and read.

しかしながら、所望の複数データの数が増え、かつ、データの入出力が高速になると、データの読み出し処理が時間的に遅れてしまう。また、これを解決するために、一時記憶するバッファやキャッシュを増やすことがなされているが、その領域が大きくなるとハードウエアに負担が生じる。   However, when the number of desired plural data increases and the data input / output speeds up, the data read processing is delayed in time. In order to solve this problem, the number of buffers and caches to be temporarily stored has been increased. However, if the area becomes large, a burden is imposed on hardware.

そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。   Therefore, in view of the conventional problems as described above, the object of the present invention is to store all data in a memory composed of a plurality of memory banks without causing a burden on hardware, and to simultaneously read a desired plurality of data. An object of the present invention is to provide a data storage device, a data storage control device, a data storage control method, and a data storage control program that can be performed.

本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。   Other objects of the present invention and specific advantages obtained by the present invention will become more apparent from the description of embodiments described below.

一枚の画像に対して,ある一定のパターンで複数データに同時アクセスする際、複数のバンクに分けても、メモリの構成上、同時アクセスできないデータが存在するが、本発明では、そのデータを異なるアドレスに二重保存することで、複数データへの同時アクセスを可能にする。   When accessing multiple pieces of data in a certain pattern simultaneously for a single image, there are some data that cannot be accessed simultaneously due to the memory configuration even if they are divided into multiple banks. Double storage at different addresses enables simultaneous access to multiple data.

すなわち、本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、全データを上記メモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納するデータ格納制御手段と、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出す制御を行うデータ読み出し制御手段とを備えることを特徴とする。   In other words, the data storage device according to the present invention has a memory composed of a plurality of memory banks, and when storing all the data in the memory, one data line is stored for each word line of the memory bank constituting the memory. Data storage control means for sequentially allocating and storing in each memory bank of the memory using a data number range less than the number of data that can be stored on the word line, and an access pattern indicating a plurality of desired data to be read simultaneously Based on the above, the data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory is specified, and the specified data to be read simultaneously is read from the memory bank and simultaneously accessed in the same memory bank. Double-store where possible and read multiple desired data simultaneously from the above memory Characterized in that it comprises a data reading control means for performing control.

また、本発明に係るデータ格納制御装置は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、全データを上記メモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納するデータ格納制御手段と、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出す制御を行うデータ読み出し制御手段とを備えることを特徴とする。   The data storage control device according to the present invention is a data storage control device for storing all data in a memory composed of a plurality of memory banks and simultaneously reading desired data from the memory. When storing all the data in each memory bank of the memory using a range of data number smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory. Data to be read simultaneously on different word lines in the same memory bank that cannot be accessed simultaneously based on the data storage control means for sequentially distributing and storing and the access pattern indicating the desired plurality of data to be read simultaneously The specified data to be read at the same time is read from the memory bank and Simultaneously accessible locations stored double in the bank, characterized in that it comprises a data reading control means for simultaneously reading the control desired multiple data from said memory.

また、本発明に係るデータ格納制御方法は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、全データを複数のメモリバンクからなるメモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納し、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出すことを特徴とする。   A data storage control method according to the present invention is a data storage control method for storing all data in a memory composed of a plurality of memory banks and simultaneously reading out a plurality of desired data from the memory. When storing all the data in a memory comprising a memory bank, the memory is used within a range of data number smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory. The data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory based on the access pattern indicating the desired plurality of data to be simultaneously read and stored in each memory bank The specified data to be read at the same time is read from the memory bank and Simultaneously accessible locations stored double in the bank, and wherein the reading a plurality of desired data simultaneously from said memory.

さらに、本発明に係るデータ格納制御プログラムは、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、全データを複数のメモリバンクからなるメモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納し、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出すことを特徴とする。   Furthermore, a data storage control program according to the present invention stores data in a memory composed of a plurality of memory banks, and performs data storage control for simultaneously executing data storage control for reading out a plurality of desired data from the memory by the computer. When all data is stored in a memory composed of a plurality of memory banks, the total data is more than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory. The same memory bank that cannot be accessed at the same time based on an access pattern that indicates a desired plurality of data to be simultaneously read and allocated to each memory bank of the memory using a small data range Identify the data to be read simultaneously on different word lines in the The data to be read out is read from the memory banks to store double simultaneously accessible locations in the same memory bank, and wherein the reading a plurality of desired data simultaneously from said memory.

本発明では、一枚の画像に対して、ある一定パターンの複数データに同時アクセスが可能となる。また、同時アクセスしたいデータ数よりもバンク数を増やすことなく同時アクセスが可能になる。   In the present invention, it is possible to simultaneously access a plurality of data in a certain pattern for one image. In addition, simultaneous access is possible without increasing the number of banks than the number of data to be accessed simultaneously.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Needless to say, the present invention is not limited to the following examples, and can be arbitrarily changed without departing from the gist of the present invention.

本発明では、メモリの構成上、同時アクセスできないデータを異なるアドレスに二重保存することによって、複数データへの同時アクセスを可能にする。   In the present invention, due to the configuration of the memory, data that cannot be accessed simultaneously is double-stored at different addresses, thereby enabling simultaneous access to a plurality of data.

まず、同時アクセスできないデータを異なるアドレスに二重保存する方法について説明する。   First, a method for double storing data that cannot be accessed simultaneously at different addresses will be described.

ここでは、図1に示すように、同時アクセスしたい画素1〜5に対応するパターンがあって、そのパターンで左上から水平方向にラスタスキャンする場合を考える。   Here, as shown in FIG. 1, a case is considered in which there is a pattern corresponding to the pixels 1 to 5 to be simultaneously accessed, and raster scanning is performed in the horizontal direction from the upper left with this pattern.

図2に示すように、垂直ラインが1つのワード線に格納されるようにデータを格納して、同じバンクに格納される垂直ラインが周期的に現れるようにすると、水平方向にその周期だけ離れた画素同士は同一バンクの異なるワード線へのアクセスとなるため、同時アクセスできないことになる。   As shown in FIG. 2, when data is stored so that a vertical line is stored in one word line, and vertical lines stored in the same bank appear periodically, they are separated by that period in the horizontal direction. Since the pixels are accessed to different word lines in the same bank, they cannot be accessed simultaneously.

図2において、数字はバンクアドレスを表し、太枠は同時アクセスしたいパターンを示している。この例では5バンクとし、5周期で同じバンクに格納される垂直ラインが周期的に現れる。   In FIG. 2, numerals represent bank addresses, and thick frames indicate patterns that are desired to be accessed simultaneously. In this example, five banks are used, and vertical lines stored in the same bank appear periodically in five cycles.

アクセスしたい個所はラスタスキャンで水平方向に移動するが、パターンそのものは変化しないので、図3のように、アクセスしたい個所の水平画素間隔を計算すると、図4のように、データを格納したバンクの周期から同時アクセスしたいパターンのうち、どの画素とどの画素が同時アクセスできないのかわかる。   The part to be accessed moves in the horizontal direction by the raster scan, but the pattern itself does not change. Therefore, when the horizontal pixel interval of the part to be accessed is calculated as shown in FIG. 3, the bank of the data storage as shown in FIG. It can be seen which pixels and which pixels cannot be accessed at the same time among the patterns to be accessed simultaneously from the period.

すなわち、この例では、アクセスしたい個所の水平画素間隔を計算すると、
画素1と画素2の水平画素間隔D[1−2]は「3」
画素1と画素3の水平画素間隔D[1−3]は「1」
画素1と画素4の水平画素間隔D[1−4]は「5」
画素1と画素5の水平画素間隔D[1−5]は「0」
画素2と画素3の水平画素間隔D[2−3]は「2」
画素2と画素4の水平画素間隔D[2−4]は「2」
画素2と画素5の水平画素間隔D[2−5]は「3」
画素3と画素4の水平画素間隔D[3−4]は「4」
画素3と画素5の水平画素間隔D[3−5]は「1」
画素4と画素5の水平画素間隔D[4−5]は「5」
となり、バンクの周期が「5」であるから、同時アクセスできないのは、水平画素間隔が「5」の画素1と画素4、画素4と画素5であることがわかる。
In other words, in this example, when calculating the horizontal pixel interval of the location you want to access,
The horizontal pixel interval D [1-2] between the pixel 1 and the pixel 2 is “3”.
The horizontal pixel interval D [1-3] between the pixels 1 and 3 is “1”.
The horizontal pixel interval D [1-4] between the pixel 1 and the pixel 4 is “5”.
The horizontal pixel interval D [1-5] between the pixel 1 and the pixel 5 is “0”.
The horizontal pixel interval D [2-3] between the pixel 2 and the pixel 3 is “2”.
The horizontal pixel interval D [2-4] between the pixel 2 and the pixel 4 is “2”.
The horizontal pixel interval D [2-5] between the pixel 2 and the pixel 5 is “3”.
The horizontal pixel interval D [3-4] between the pixel 3 and the pixel 4 is “4”.
The horizontal pixel interval D [3-5] between the pixel 3 and the pixel 5 is “1”.
The horizontal pixel interval D [4-5] between the pixel 4 and the pixel 5 is “5”.
Thus, since the bank cycle is “5”, it is understood that the pixels that cannot be accessed simultaneously are the pixels 1 and 4 and the pixels 4 and 5 that have a horizontal pixel interval of “5”.

同時アクセスできない画素がわかったら、ラスタスキャンでアクセスしていく中で、その画素にアクセスできるときにアクセスしておき、他のアドレスへ二重保存する。   If a pixel that cannot be accessed at the same time is found, it is accessed when the pixel can be accessed while being accessed by raster scanning, and is double-stored in another address.

同時アクセスできない画素は、前もって読んでおき、他のアドレスへ書いておきたいので、図5に2重丸の付して示すように、空間的に左にある画素1と画素5を同時アクセスできない画素にする。   Pixels that cannot be accessed at the same time are read in advance and written to other addresses, so as shown in FIG. 5 with double circles, spatially left pixels 1 and 5 cannot be accessed simultaneously. Make a pixel.

このようにすれば、二重保存したい画素を前もって読んでおき、他のアドレスへ書くことができる。すなわち、同時アクセスしたいパターンが、図6に示す位置にあるときに、二重保存したい画素を読み出して、他のアドレスへ書くことができる。   In this way, it is possible to read in advance the pixel to be stored twice and write it to another address. That is, when the pattern to be accessed simultaneously is at the position shown in FIG. 6, the pixel to be stored twice can be read out and written to another address.

二重保存する画素は読めるときに読んで他のアドレスに書けばよいので、パターンの右端の画素に合わせる必要はない。   Since the pixel to be stored twice can be read when it can be read and written to another address, it is not necessary to match the pixel at the right end of the pattern.

書き込むアドレスは、画像の垂直方向の画素数をHとすると、その画素と読み出しが重なったワード線のH+1番目にする。   The address to be written is set to H + 1 for the word line where the readout overlaps with the number of pixels in the vertical direction of the image.

二重保存するべき画素がN個ある場合は、H+1〜H+N番目まで二重保存するための領域が必要になる。   When there are N pixels to be stored twice, an area for storing the pixels from H + 1 to H + Nth is required.

例えば、図7のように、垂直方向の画素数10、二重保存すべき画素が2個の場合は、ワード線の11〜12番目に二重保存することになる。図12の例では、バンク0のワード線1本目、1番目と4番目をバンク0のワード線2本目、11〜12番目に二重保存することになる。   For example, as shown in FIG. 7, when the number of pixels in the vertical direction is 10 and the number of pixels to be double-stored is 2, double-storage is performed for the 11th to 12th word lines. In the example of FIG. 12, the first word line of bank 0, the first and fourth are double-stored in the second word line of bank 0, 11th to 12th.

このように、同時アクセスしたいパターンの中で、同時アクセスできない画素を異なるアドレスに二重保存しておけば、図8のように、二重保存先のデータにはアクセスできるので同時アクセスが可能になる。ラスタスキャンで水平方向にパターンが移動していくので、同時アクセスを行いながら、同時アクセスできない画素を二重保存していくと、図9のように、ある水平ラインの画素を二重に保存したことになる。   In this way, if pixels that cannot be accessed simultaneously are double-stored at different addresses in the pattern that is desired to be accessed simultaneously, the data at the double storage destination can be accessed as shown in FIG. 8 so that simultaneous access is possible. Become. Since the pattern moves in the horizontal direction by raster scanning, if pixels that cannot be accessed simultaneously are stored twice while performing simultaneous access, the pixels of a certain horizontal line are stored twice as shown in FIG. It will be.

ここで、上記同時アクセスできない画素の二重保存は、図10のフローチャートに示す手順に従って行われる。   Here, the double storage of pixels that cannot be accessed simultaneously is performed according to the procedure shown in the flowchart of FIG.

すなわち、二重保存の処理では、先ず、パターンの水平画素間隔を計算する。(ステップS1)。   That is, in the double storage process, first, the horizontal pixel interval of the pattern is calculated. (Step S1).

次に、バンク周期から同時アクセスできない画素を決定する(ステップS2)。   Next, pixels that cannot be accessed simultaneously are determined from the bank period (step S2).

次に、二重保存すべき画素を決定する(ステップS3)。   Next, a pixel to be stored twice is determined (step S3).

次に、パターンと二重保存すべき画素を読み出す(ステップS4)。   Next, the pixel to be double-stored with the pattern is read (step S4).

次に、二重保存すべき画素を二重保存する(ステップS5)。   Next, the pixel to be double-stored is double-stored (step S5).

そして、全てを読み出したか否かを判定し(ステップS6)、その判定結果がNOすなわち読み出すべきデータがある場合には上記ステップS4に戻って上記ステップS4〜ステップS6の処理を繰り返し、上記ステップS6における判定結果がYESになったら処理を終了する。   Then, it is determined whether or not all have been read (step S6). If the determination result is NO, that is, if there is data to be read, the process returns to step S4 and repeats the processing of steps S4 to S6, and the above step S6. If the determination result in is YES, the process is terminated.

次に,二重保存するための領域の管理について説明する。管理の仕方には2種類あり、図11のように、二重保存するための領域を固定にする場合と、図12のように、元のデータがあった場所を次の二重保存のための領域にする場合がある。   Next, management of the area for double storage will be described. There are two types of management methods, as shown in FIG. 11, where the area for double storage is fixed, and where the original data was located as shown in FIG. 12, for the next double storage. It may be in the area.

二重保存するための領域を固定にする場合は、同時アクセスできない画素が常にその領域に書き込まれ、読み出されるので、二重保存するための領域が頻繁にアクセスされることになる。二重保存したデータの元のデータがあった場所を次の二重保存のための領域にする場合は、二重保存先がローテーションしていくので、ほぼ均一なアクセスとなる。ただし、この場合は、他のデータが格納されている位置との関係を保つために、図13のように、二重保存したデータにアクセスした後、元のワード線にデータを戻す必要がある。   When the area for double storage is fixed, pixels that cannot be accessed simultaneously are always written to and read from the area, so the area for double storage is frequently accessed. When the place where the original data of the double saved data is used as an area for the next double saving, the double saving destination is rotated, so that the access is almost uniform. However, in this case, in order to maintain the relationship with the position where other data is stored, it is necessary to return the data to the original word line after accessing the double stored data as shown in FIG. .

データを格納するときのバンク周期は固定でも可変でも良い。   The bank period for storing data may be fixed or variable.

固定の場合、パターンによっては同時アクセスできない画素が多くなることもある。その場合、二重保存するための領域が多く必要になる。   In the fixed case, depending on the pattern, there may be many pixels that cannot be accessed simultaneously. In that case, a large area for double storage is required.

また、可変の場合は,パターンの水平画素間隔から同時アクセスできない画素が最も少なくなる周期を求めて、その周期でバンクに格納することができる。バンク周期は固定なのか可変なのか、二重保存するための領域はどのぐらい必要か、アプリケーションに応じて考えればよい。   In the case of variable, it is possible to obtain a cycle in which the number of pixels that cannot be accessed simultaneously from the horizontal pixel interval of the pattern is the smallest and store it in the bank at that cycle. Whether the bank period is fixed or variable, how much space is required for double storage can be considered depending on the application.

次に、複数データへの同時アクセスは、例えば図14に示すような構成のデータ格納装置100により実行される。   Next, simultaneous access to a plurality of data is executed by the data storage device 100 configured as shown in FIG. 14, for example.

このデータ格納装置100は、複数バンクのメモリ10と、上記メモリ10へのデータの書き込みを行うデータ格納制御部20と、上記メモリ10からのデータの読み出しを行う読み出し制御部30と、上記メモリ10上のデータの移動制御を行うデータ移動制御部40からなり、格納するデータが上記メモリ10及びデータ格納制御部20に供給され、複数データの同時読み出しを示すアクセスパターンがデータ読み出し制御部30に供給されるようになっている。   The data storage device 100 includes a plurality of banks of memory 10, a data storage control unit 20 that writes data to the memory 10, a read control unit 30 that reads data from the memory 10, and the memory 10. It consists of a data movement control unit 40 that controls the movement of the above data, the data to be stored is supplied to the memory 10 and the data storage control unit 20, and the access pattern indicating the simultaneous reading of a plurality of data is supplied to the data read control unit 30 It has come to be.

このデータ格納装置100におけるデータ格納制御部20は、図15に示すように供給されたデータを計数するカウンタ21と、このカウンタ21の計数出力に応じて書き込みアドレスを生成する書き込みアドレス生成部22からなる。   The data storage control unit 20 in the data storage device 100 includes a counter 21 that counts supplied data and a write address generation unit 22 that generates a write address according to the count output of the counter 21 as shown in FIG. Become.

上記書き込みアドレス生成部22は、図16に示すように、上記カウンタ21の出力によりインクリメントされるバンクアドレスカウンタ22Aと、このバンクアドレスカウンタ22Aの出力によりインクリメントされるワード線アドレスカウンタ22Bと、このワード線アドレスカウンタ22Bの出力によりインクリメントされるビット線アドレスカウンタ22Cと、これらのカウンタ22A,22B,22Cの出力に基づいて書き込みアドレスを生成するアドレス生成部22Dからなる。   As shown in FIG. 16, the write address generator 22 includes a bank address counter 22A incremented by the output of the counter 21, a word line address counter 22B incremented by the output of the bank address counter 22A, and the word The bit line address counter 22C is incremented by the output of the line address counter 22B, and the address generator 22D generates a write address based on the outputs of the counters 22A, 22B, and 22C.

そして、このデータ格納装置100では、このような構成のデータ格納制御部20により、図17にフローチャートに示す手順に従って、全データを上記メモリ10を構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリ10の各メモリバンクに順次振り分けて格納する。   In the data storage device 100, the data storage control unit 20 having the above configuration causes one word for each word line of the memory bank constituting the memory 10 according to the procedure shown in the flowchart of FIG. Using the range of the number of data smaller than the number of data that can be stored on the line, the data is sequentially sorted and stored in each memory bank of the memory 10.

すなわち、このデータ格納装置100では、データの格納を指示する制御信号が与えられると、上記データ格納制御部20は動作を開始して、先ず、カウンタ21及び書き込みアドレス生成部22を初期化し(ステップS11)、データ入力を受け付けると(ステップS12)、上記カウンタ21をインクリメントして(ステップS13)、上記アドレス生成部22により与えられる書き込みアドレスにより上記メモリ10にデータを格納し(ステップS14)、さらに、上記アドレス生成部22のバンクアドレスカウンタ22Aをインクリメントする(ステップS15)。   That is, in this data storage device 100, when a control signal instructing data storage is given, the data storage control unit 20 starts operation, and first initializes the counter 21 and the write address generation unit 22 (step S11) When data input is accepted (step S12), the counter 21 is incremented (step S13), and the data is stored in the memory 10 by the write address given by the address generator 22 (step S14). Then, the bank address counter 22A of the address generator 22 is incremented (step S15).

そして、バンクアドレスカウンタ22Aにより得られるバンク数を一周期とするバンクアドレスが元に戻ったか否かを判定し(ステップS16)、このステップS16における判定結果がNOである場合にはステップS20に移り、また、上記ステップS16における判定結果がYESすなわちバンクアドレスが元にもどると、ワード線アドレスカウンタ22Bをインクリメントする(ステップS17)。   Then, it is determined whether or not the bank address having the number of banks obtained by the bank address counter 22A as one cycle has been restored (step S16). If the determination result in this step S16 is NO, the process proceeds to step S20. If the determination result in step S16 is YES, that is, if the bank address returns, the word line address counter 22B is incremented (step S17).

つぎに、ワード線アドレスカウンタ22Bにより得られるワード線数を一周期とするワード線アドレスが元に戻ったか否かを判定し(ステップS18)、このステップS18における判定結果がNOである場合にはステップS20に移り、また、このステップS18における判定結果がYESすなわちワード線アドレスが元にもどると、ビット線アドレスカウンタ22Cをインクリメントする(ステップS19)。   Next, it is determined whether or not the word line address having the number of word lines obtained by the word line address counter 22B as one cycle has been restored (step S18). If the determination result in step S18 is NO The process proceeds to step S20, and if the determination result in step S18 is YES, that is, the word line address is restored, the bit line address counter 22C is incremented (step S19).

そして、ステップS20では、上記カウンタ21のカウント値が上記メモリ10に格納すべき全データ数になったか否かを判定し、その判定結果がNOである場合には、上記ステップS12に戻ってステップS12〜ステップS20の処理を繰り返して上記メモリ10へのデータの格納を行い、また、上記ステップS20における判定結果がYESの場合にはデータの格納処理を終了する。   In step S20, it is determined whether or not the count value of the counter 21 has reached the total number of data to be stored in the memory 10, and if the determination result is NO, the process returns to step S12 and step is performed. The processing of S12 to S20 is repeated to store data in the memory 10, and when the determination result in S20 is YES, the data storage processing is terminated.

このデータ格納装置100におけるデータ読み出し制御部30は、図18に示すように、同時アクセス不可位置検出部31、二重保存データ判定部32及び読み出しアドレス生成部33からなり、上記アクセスパターンが上記同時アクセス不可位置検出部31及び読み出しアドレス生成部33に供給され、また、上記データ移動制御部40から移動先アドレスが供給されるようになっている。   As shown in FIG. 18, the data read control unit 30 in the data storage device 100 includes a simultaneous access impossible position detection unit 31, a double storage data determination unit 32, and a read address generation unit 33. The data is supplied to the inaccessible position detection unit 31 and the read address generation unit 33, and the destination address is supplied from the data movement control unit 40.

上記同時アクセス不可位置検出部31は、図19に示すように、上記アクセスパターンが供給される水平位置差分演算部31Aと同時アクセス不可位置抽出部31Bを備え、上記水平位置差分演算部31Aによりアクセスパターンから水平位置差分を演算し、この水平位置差分値に基づいて上記同時アクセス不可位置抽出部31Bにより上記アクセスパターンにおける同時アクセス不可位置を抽出するようになっている。   As shown in FIG. 19, the simultaneous inaccessible position detecting unit 31 includes a horizontal position difference calculating unit 31A to which the access pattern is supplied and a simultaneous inaccessible position extracting unit 31B, and is accessed by the horizontal position difference calculating unit 31A. The horizontal position difference is calculated from the pattern, and the simultaneous access impossible position extracting unit 31B extracts the simultaneous access impossible position in the access pattern based on the horizontal position difference value.

また、上記二重保存データ判定部32は、図20に示すように、上記同時アクセス不可位置検出部31により検出された同時アクセス不可位置が供給される水平位置比較部32Aと二重保存データ位置判定部32Bを備え、上記水平位置比較部32Aによる比較出力に基づいて、上記二重保存データ位置判定部32Bにより空間的に左にある同時アクセス不可位置を二重保存データ位置とするようになっている。   In addition, as shown in FIG. 20, the double storage data determination unit 32 includes a horizontal position comparison unit 32A to which the simultaneous access impossible position detected by the simultaneous access impossible position detection unit 31 is supplied and a double storage data position. A determination unit 32B is provided, and based on the comparison output from the horizontal position comparison unit 32A, the dual storage data position determination unit 32B sets the simultaneous access impossible position spatially left to the double storage data position. ing.

さらに、上記読み出しアドレス生成部33は、図21に示すように、カウンタ33A、上記二重保存データ判定部32により得られる二重保存データ位置が供給されるオフセット算出部33B、オフセット付加部33C及びアドレス演算部33D、上記データ移動制御部34から移動先アドレスが供給されるアドレスオフセット処理部33Eを備え、上記アクセスパターンが上記オフセット算出部33B及びアドレス演算部33Dに供給され、上記アドレス演算部33Dにより、上記カウンタ33Aの出力から、上記アクセスパターン、二重保存データ位置及び上記オフセット付加部33Cの出力に基づいて生成される読み出しアドレスをアドレスオフセット処理部33Eを介して出力するようになっている。   Further, as shown in FIG. 21, the read address generation unit 33 includes a counter 33A, an offset calculation unit 33B to which the double storage data position obtained by the double storage data determination unit 32 is supplied, an offset addition unit 33C, The address calculation unit 33D includes an address offset processing unit 33E to which a destination address is supplied from the data movement control unit 34. The access pattern is supplied to the offset calculation unit 33B and the address calculation unit 33D, and the address calculation unit 33D. Thus, the read address generated based on the access pattern, the double storage data position, and the output of the offset adding unit 33C is output from the output of the counter 33A via the address offset processing unit 33E. .

また、このデータ格納装置100におけるデータ移動制御部40は、図22に示すように、移動データ選別部41、移動先アドレス生成部42及び移動先アドレス管理部43を備え、上記メモリ10から読み出されたデータが上記移動データ選別部41に供給され、また、上記読み出しアドレス生成部33により生成された読み出しアドレスが上記移動データ選別部41及び移動先アドレス生成部42に供給されるようになっている。   Further, as shown in FIG. 22, the data movement control unit 40 in the data storage device 100 includes a movement data selection unit 41, a movement destination address generation unit 42, and a movement destination address management unit 43, and is read from the memory 10. The read data is supplied to the movement data selection unit 41, and the read address generated by the read address generation unit 33 is supplied to the movement data selection unit 41 and the movement destination address generation unit 42. Yes.

上記移動データ選別部41は、上記メモリ10から読み出されたデータを出力するとともに、上記データから二重保存すべきデータを移動データとして選別して上記メモリ10に供給する。   The movement data sorting unit 41 outputs the data read from the memory 10 and sorts data to be stored twice from the data as movement data and supplies it to the memory 10.

また、上記移動先アドレス生成部42は、上記読み出しアドレス生成部33により生成された読み出しアドレスに基づいて、上記移動データを格納する移動先アドレスを生成して上記メモリに供給する。この移動先アドレス生成部42により生成される移動先アドレスは、この移動先アドレスが供給される上記移動先アドレス管理部43により管理される。   The destination address generator 42 generates a destination address for storing the movement data based on the read address generated by the read address generator 33 and supplies the generated destination address to the memory. The destination address generated by the destination address generator 42 is managed by the destination address manager 43 to which the destination address is supplied.

そして、このデータ格納装置100では、このような構成のデータ読み出し制御部30及びデータ移動制御部40により、図23にフローチャートに示す手順に従って上記メモリ10からデータが読み出されるとともに、データの二重保存が行われる。   In the data storage device 100, the data read control unit 30 and the data movement control unit 40 configured as described above read data from the memory 10 according to the procedure shown in the flowchart of FIG. Is done.

すなわち、このデータ格納装置100では、データの読み出しを指示する制御信号が与えられると、上記データ読み出し制御部30及びデータ移動制御部40が動作を開始し、データ読み出し制御部30は、アクセスパターンを受け付けると(ステップS31)、同時アクセス不可位置検出部31により、水平位置差分値を演算して(ステップS32)、同時アクセス不可位置を検出し(ステップS33)、二重保存データ判定部32により二重保存データ位置を決定する(ステップS34)。   That is, in the data storage device 100, when a control signal instructing data reading is given, the data reading control unit 30 and the data movement control unit 40 start operation, and the data reading control unit 30 sets the access pattern. When accepted (step S31), the simultaneous access impossible position detection unit 31 calculates the horizontal position difference value (step S32), detects the simultaneous access impossible position (step S33), and the double storage data determination unit 32 detects the two. The duplicate storage data position is determined (step S34).

そして、上記データ読み出し制御部30は、読み出しアドレス生成部33のカウンタ33Aを初期化し(ステップS35)、上記カウンタ33Aをインクリメントして(ステップS36)、データ読み出しアドレスを生成し(ステップS37)、このデータ読み出しアドレスにより上記メモリ10からデータを読み出す(ステップS38)。   The data read control unit 30 initializes the counter 33A of the read address generation unit 33 (step S35), increments the counter 33A (step S36), and generates a data read address (step S37). Data is read from the memory 10 by the data read address (step S38).

次に、上記データ移動制御部40は、移動データを選別して(ステップS39)、上記メモリ10の移動先アドレスへ格納する(ステップS40)。   Next, the data movement control unit 40 selects the movement data (step S39) and stores it at the movement destination address of the memory 10 (step S40).

そして、上記データ読み出し制御部30は、全てのアクセスが終わったか否かを判定し(ステップS41)、その判定結果がNOである場合には移動先アドレスを更新して(ステップS42)、上記ステップS36に戻り、上記ステップS36からステップS41の処理を繰り返し行い、上記ステップS41における判定結果がYESになったらデータの読み出し及び二重保存の処理を終了する。   Then, the data read control unit 30 determines whether or not all accesses have been completed (step S41). If the determination result is NO, the destination address is updated (step S42). Returning to S36, the processing from step S36 to step S41 is repeated, and when the determination result in step S41 is YES, the data reading and double storage processing is terminated.

なお、このデータ格納装置100において、上記データ格納制御部20、データ読み出し読み出し制御部30及びデータ移動制御部40を例えばマイクロプロセッサにて構成し、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、データの格納、同時読み出し及び二重保存を行うこともできる。   In the data storage device 100, the data storage control unit 20, the data read / read control unit 30 and the data movement control unit 40 are configured by, for example, a microprocessor, and are in accordance with a data storage control program stored in a program memory (not shown). Data storage, simultaneous reading and double storage can also be performed.

同時アクセスしたい画素に対応するパターンの例を模式的に示す図である。It is a figure which shows typically the example of the pattern corresponding to the pixel which wants to access simultaneously. 垂直ラインが1つのワード線に格納されるようにデータを格納して、同じバンクに格納される垂直ラインが周期的に現れるように格納したデータ格納状態を模式的に示す図である。FIG. 4 is a diagram schematically showing a data storage state in which data is stored so that vertical lines are stored in one word line and stored so that vertical lines stored in the same bank appear periodically. アクセスしたい個所の水平画素間隔を模式的に示す図である。It is a figure which shows typically the horizontal pixel space | interval of the location to access. 同時アクセスできない画素を模式的に示す図である。It is a figure which shows typically the pixel which cannot be accessed simultaneously. 水平画素間隔の計算により決定された2重保存する画素を模式的に示す図である。It is a figure which shows typically the pixel preserve | saved twice determined by the calculation of a horizontal pixel space | interval. 二重保存したい画素を読み出す状態を模式的に示す図である。It is a figure which shows typically the state which reads the pixel which wants to carry out double preservation | save. 二重保存の具体例を模式的に示す図である。It is a figure which shows the specific example of double preservation | save typically. 二重保存により同時アクセスが可能になった画素を模式的に示す図である。It is a figure which shows typically the pixel which enabled simultaneous access by double preservation | save. 水平ラインの画素を二重に保存した状態を模式的に示す図である。It is a figure which shows typically the state which preserve | saved the pixel of the horizontal line twice. 同時アクセスできない画素を二重保存する手順を示すフローチャートである。It is a flowchart which shows the procedure of carrying out double preservation | save of the pixel which cannot be accessed simultaneously. 二重保存するための領域を固定にした管理の仕方を模式的に示す図である。It is a figure which shows typically the management method which fixed the area | region for double preservation | save. 二重保存したデータの元のデータがあった場所を次の二重保存のための領域にする管理の仕方を模式的に示す図である。It is a figure which shows typically the management method which makes the place where the original data of the data preserve | saved twice was the area | region for the next double preservation | save. 他のデータが格納されている位置との関係を保つために、二重保存したデータにアクセスした後、元のワード線にデータを戻した状態を模式的に示す図である。It is a figure which shows typically the state which returned the data to the original word line after accessing the data preserve | saved twice in order to maintain the relationship with the position where the other data is stored. 本発明に係るデータ格納装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage apparatus which concerns on this invention. 上記データ格納装置におけるデータ格納制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage control part in the said data storage apparatus. 上記データ格納制御部における書き込みアドレス生成部の構成を示すブロック図である。It is a block diagram which shows the structure of the write address production | generation part in the said data storage control part. 上記データ格納制御部により実行されるデータの格納処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the storage process of the data performed by the said data storage control part. 上記データ格納装置におけるデータ読み出し制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the data reading control part in the said data storage apparatus. 上記データ読み出し制御部における同時アクセス不可位置検出部の構成を示すブロック図である。It is a block diagram which shows the structure of the simultaneous access impossible position detection part in the said data read-out control part. 上記データ読み出し制御部における二重保存データ判定部の構成を示すブロック図である。It is a block diagram which shows the structure of the double storage data determination part in the said data read-out control part. 上記データ読み出し制御部における読み出しアドレス生成部の構成を示すブロック図である。It is a block diagram which shows the structure of the read address production | generation part in the said data read control part. 上記データ格納装置におけるデータ移動制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the data movement control part in the said data storage apparatus. 上記データ格納装置において、上記データ読み出し制御部及びデータ移動制御部により実行されるデータの読み出し及び二重保存の処理手順を示すフローチャートである。5 is a flowchart showing a data read and double storage processing procedure executed by the data read control unit and the data movement control unit in the data storage device. 一般的な半導体メモリの構造を模式的に示す図である。It is a figure which shows typically the structure of a general semiconductor memory. 上記半導体メモリにおいて、同時アクセスできない状態を模式的に示す図である。It is a figure which shows typically the state which cannot access simultaneously in the said semiconductor memory. 複数メモリバンクのメモリ構成を示す図である。It is a figure which shows the memory structure of a several memory bank. ある画像に対して、同時アクセスしたいパターンがあって、それが左上からラスタスキャンする場合を模式的に示す図である。It is a figure which shows typically the case where there exists a pattern which wants to access simultaneously with respect to a certain image, and it is raster-scanned from the upper left. 同時アクセスできなくなってしまった状態を模式的に示す図である。It is a figure which shows typically the state which became impossible to access simultaneously. 参照領域内が同時アクセスできるようにメモリバンクの数を増やして同時アクセスを可能にした状態を模式的に示す図である。It is a figure which shows typically the state which increased the number of memory banks and enabled simultaneous access so that the inside of a reference area could be accessed.

符号の説明Explanation of symbols

10 メモリ、20 データ格納制御部、21 カウンタ、22 書き込みアドレス生成部、22A バンクアドレスカウンタ、22B ワード線アドレスカウンタ、22C ビット線アドレスカウンタ、22D アドレス生成部、30 データ読み出し制御部、31 同時アクセス不可位置検出部、32 二重保存データ判定部、33 読み出しアドレス生成部、31A 水平位置差分演算部、31B 同時アクセス不可位置抽出部、32A 水平位置比較部、32B 二重保存データ位置判定部、33A カウンタ、33B オフセット算出部、33C オフセット付加部、33D アドレス演算部、33E アドレスオフセット処理部、40 データ移動制御部、41 移動データ選別部、42 移動先アドレス生成部、43 移動先アドレス管理部、100 データ格納装置   10 memory, 20 data storage control unit, 21 counter, 22 write address generation unit, 22A bank address counter, 22B word line address counter, 22C bit line address counter, 22D address generation unit, 30 data read control unit, 31 simultaneous access impossibility Position detection unit, 32 double storage data determination unit, 33 read address generation unit, 31A horizontal position difference calculation unit, 31B simultaneous access impossible position extraction unit, 32A horizontal position comparison unit, 32B double storage data position determination unit, 33A counter , 33B offset calculation unit, 33C offset addition unit, 33D address calculation unit, 33E address offset processing unit, 40 data movement control unit, 41 movement data selection unit, 42 destination address generation unit, 43 destination address management unit, 00 data storage device

Claims (14)

複数のメモリバンクからなるメモリと、
全データを上記メモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納するデータ格納制御手段と、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出す制御を行うデータ読み出し制御手段と
を備えることを特徴とするデータ格納装置。
A memory consisting of a plurality of memory banks;
When all the data is stored in the memory, the memory is used within a range of the number of data smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory. Data storage control means for sequentially allocating and storing each memory bank,
Based on an access pattern indicating a plurality of desired data to be simultaneously read, the data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory is specified, and the specified data to be read simultaneously Data read control means for performing a control to read out a plurality of desired data simultaneously from the memory and to store the same in the same memory bank in a place where simultaneous access is possible apparatus.
上記データ読み出し制御手段は、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定して二重保存データとする二重保存データ判定手段と、上記二重保存データ判定手段により特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存する制御を行うデータ移動制御手段を備えることを特徴とする請求項1記載のデータ格納装置。   The data read control means specifies data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory based on an access pattern indicating a plurality of desired data to be read simultaneously. Double storage data determination means for dual storage data, and data to be read simultaneously specified by the double storage data determination means are read from the memory bank and stored in a location where simultaneous access is possible within the same memory bank. 2. The data storage device according to claim 1, further comprising data movement control means for performing control. 上記データ移動制御手段は、上記メモリを構成するメモリバンクの特定の固定領域に上記データを二重保存する制御を行うことを特徴とする請求項記載のデータ格納装置。 The data movement control means, the data storage apparatus according to claim 2, characterized in that a specific fixed area in the control to store the data dual memory banks constituting the memory. 上記データ移動制御手段は、二重保存したデータの元のデータがあった場所を次の二重保存のための領域とし、二重保存したデータをアクセスした後に、元のワード線上に戻す制御を行うことを特徴とする請求項記載のデータ格納装置。 The data movement control means uses the place where the original data of the double-saved data is located as an area for the next double-storing, and controls to return to the original word line after accessing the double-saved data. 3. The data storage device according to claim 2 , wherein the data storage device is performed. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、
全データを上記メモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納するデータ格納制御手段と、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、上記メモリから所望の複数データを同時に読み出す制御を行うデータ読み出し制御手段と
を備えることを特徴とするデータ格納制御装置。
A data storage control device that stores all data in a memory composed of a plurality of memory banks and simultaneously reads a desired plurality of data from the memory,
When all the data is stored in the memory, the memory is used within a range of the number of data smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory. Data storage control means for sequentially allocating and storing each memory bank,
Based on an access pattern indicating a plurality of desired data to be simultaneously read, the data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory is specified, and the specified data to be read simultaneously Data read control means for performing a control to read out a plurality of desired data simultaneously from the memory and to store the same in the same memory bank in a place where simultaneous access is possible Control device.
上記データ読み出し制御手段は、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定して二重保存データとする二重保存データ判定手段と、上記二重保存データ判定手段により特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存する制御を行うデータ移動制御手段を備えることを特徴とする請求項5記載のデータ格納制御装置。   The data read control means specifies data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory based on an access pattern indicating a plurality of desired data to be read simultaneously. Double storage data determination means for dual storage data, and data to be read simultaneously specified by the double storage data determination means are read from the memory bank and stored in a location where simultaneous access is possible within the same memory bank. 6. The data storage control device according to claim 5, further comprising data movement control means for performing control. 上記データ移動制御手段は、上記メモリを構成するメモリバンクの特定の固定領域に上記データを二重保存する制御を行うことを特徴とする請求項6記載のデータ格納制御装置。   7. The data storage control device according to claim 6, wherein the data movement control means performs control to double-store the data in a specific fixed area of a memory bank constituting the memory. 上記データ移動制御手段は、二重保存したデータの元のデータがあった場所を次の二重保存のための領域とし、二重保存したデータをアクセスした後に、元のワード線上に戻す制御を行うことを特徴とする請求項6記載のデータ格納制御装置。   The data movement control means uses the place where the original data of the double-saved data is located as an area for the next double-storing, and controls to return to the original word line after accessing the double-saved data. 7. The data storage control apparatus according to claim 6, wherein the data storage control apparatus performs the data storage control apparatus. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、
全データを複数のメモリバンクからなるメモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納し、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、
特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、
上記メモリから所望の複数データを同時に読み出すことを特徴とするデータ格納制御方法。
A data storage control method for storing all data in a memory composed of a plurality of memory banks and simultaneously reading desired plural data from the memory,
When storing all data in a memory composed of a plurality of memory banks, the range of the number of data smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory Use the inside to sequentially distribute and store each memory bank of the above memory,
Based on an access pattern indicating a plurality of desired data to be simultaneously read, the data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory is specified,
Read the specified data to be read out simultaneously from the above memory bank and store it in the same memory bank where it can be accessed simultaneously,
A data storage control method comprising simultaneously reading a plurality of desired data from the memory.
二重保存する領域を上記メモリを構成するメモリバンクの特定の固定領域とすることを特徴とする請求項9記載のデータ格納制御方法。   10. The data storage control method according to claim 9, wherein the double storage area is a specific fixed area of a memory bank constituting the memory. 二重保存したデータの元のデータがあった場所を次の二重保存のための領域とし、二重保存したデータをアクセスした後に、元のワード線上に戻すことを特とする請求項9記載のデータ格納制御方法。   10. The place where the original data of the double stored data is used as an area for the next double storage, and the double stored data is accessed and then returned to the original word line. Data storage control method. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
全データを複数のメモリバンクからなるメモリに格納する際に、上記全データを上記メモリを構成するメモリバンクの各ワード線に対し1つのワード線上に格納可能なデータ数よりも少ないデータ数の範囲内を使い上記メモリの各メモリバンクに順次振り分けて格納し、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、上記メモリに対して同時アクセスできない同一メモリバンク内の異なるワード線上の同時に読み出すべきデータを特定し、
特定された同時に読み出すべきデータを上記メモリバンクから読み出して同一メモリバンク内の同時アクセス可能な場所に二重保存し、
上記メモリから所望の複数データを同時に読み出すことを特徴とするデータ格納制御プログラム。
A data storage control program for executing, by a computer, data storage control for storing all data in a memory composed of a plurality of memory banks and simultaneously reading desired multiple data from the memory,
When storing all data in a memory composed of a plurality of memory banks, the range of the number of data smaller than the number of data that can be stored on one word line for each word line of the memory bank constituting the memory Use the inside to sequentially distribute and store each memory bank of the above memory,
Based on an access pattern indicating a plurality of desired data to be simultaneously read, the data to be read simultaneously on different word lines in the same memory bank that cannot simultaneously access the memory is specified,
Read the specified data to be read out simultaneously from the above memory bank and store it in the same memory bank where it can be accessed simultaneously,
A data storage control program for simultaneously reading a plurality of desired data from the memory.
二重保存する領域を上記メモリを構成するメモリバンクの特定の固定領域とすることを特徴とする請求項12記載のデータ格納制御プログラム。   13. The data storage control program according to claim 12, wherein the double storage area is a specific fixed area of a memory bank constituting the memory. 二重保存したデータの元のデータがあった場所を次の二重保存のための領域とし、二重保存したデータをアクセスした後に、元のワード線上に戻すことを特徴とする請求項12記載のデータ格納制御プログラム。   13. The place where the original data of the double stored data is used as an area for the next double storage, and the double stored data is accessed and then returned to the original word line. Data storage control program.
JP2004000572A 2004-01-05 2004-01-05 Data storage device, data storage control device, data storage control method, and data storage control program Expired - Fee Related JP4534488B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004000572A JP4534488B2 (en) 2004-01-05 2004-01-05 Data storage device, data storage control device, data storage control method, and data storage control program
TW093141186A TWI289750B (en) 2004-01-05 2004-12-29 Data storage apparatus, and data storage controlling apparatus and method
US11/029,226 US7558934B2 (en) 2004-01-05 2005-01-04 Data storage unit, data storage controlling apparatus and method, and data storage controlling program
KR1020050000517A KR101164235B1 (en) 2004-01-05 2005-01-04 Data storage apparatus, data storage controlling apparatus and method, and data storage controlling program
CN2005100541747A CN1677555B (en) 2004-01-05 2005-01-05 Data storage unit, data storage controlling apparatus and method
US12/424,163 US20090204780A1 (en) 2004-01-05 2009-04-15 Data storage unit, data storage controlling apparatus and method, and data storage controlling program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004000572A JP4534488B2 (en) 2004-01-05 2004-01-05 Data storage device, data storage control device, data storage control method, and data storage control program

Publications (2)

Publication Number Publication Date
JP2005196361A JP2005196361A (en) 2005-07-21
JP4534488B2 true JP4534488B2 (en) 2010-09-01

Family

ID=34816340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004000572A Expired - Fee Related JP4534488B2 (en) 2004-01-05 2004-01-05 Data storage device, data storage control device, data storage control method, and data storage control program

Country Status (1)

Country Link
JP (1) JP4534488B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4687108B2 (en) * 2004-01-05 2011-05-25 ソニー株式会社 Data storage device, data storage control device, data storage control method, and data storage control program
JP4735008B2 (en) * 2004-04-19 2011-07-27 ソニー株式会社 Data storage device, data storage control device, data storage control method, and data storage control program
JP4946423B2 (en) * 2006-12-22 2012-06-06 日本電気株式会社 Memory controller, computer, and data reading method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275181A (en) * 1995-01-30 1996-10-18 Hitachi Ltd Decoder for dynamic image data
JP2000090256A (en) * 1998-09-11 2000-03-31 Sony Corp Storage device, writing method and reading method
JP2003208353A (en) * 2001-12-19 2003-07-25 Agere Systems Inc Dynamic random access memory system with bank conflict avoidance feature

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275181A (en) * 1995-01-30 1996-10-18 Hitachi Ltd Decoder for dynamic image data
JP2000090256A (en) * 1998-09-11 2000-03-31 Sony Corp Storage device, writing method and reading method
JP2003208353A (en) * 2001-12-19 2003-07-25 Agere Systems Inc Dynamic random access memory system with bank conflict avoidance feature

Also Published As

Publication number Publication date
JP2005196361A (en) 2005-07-21

Similar Documents

Publication Publication Date Title
US8707191B2 (en) Multi-screen synthesizing display apparatus and method
GB2292822A (en) Partitioned cache memory
US20090204780A1 (en) Data storage unit, data storage controlling apparatus and method, and data storage controlling program
KR100688875B1 (en) Methods and apparatus for controlling a memory
KR101117145B1 (en) Data storage device, data storage control apparatus, and data storage control method
US20030033561A1 (en) Apparatus for testing memories with redundant storage elements
US8305383B2 (en) Data access apparatus and method
US4935880A (en) Method of tiling a figure in graphics rendering system
US6560686B1 (en) Memory device with variable bank partition architecture
JP4534488B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
KR101106080B1 (en) Data storing controlling apparatus, data storing controlling method and a computer readable recording medium recorded thereon a data storing controlling program
JP4487568B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP4378015B2 (en) Memory chip
JP4687108B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
US6674442B1 (en) Image memory system
JP4735008B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
KR950033862A (en) Interface method and device with RAM
JP4701620B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP4635687B2 (en) DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM
JP2020013628A (en) Semiconductor memory device
JP2633251B2 (en) Image memory device
JP4655220B2 (en) DESIGN DEVICE AND METHOD, AND DATA STORAGE DEVICE
JP4974127B2 (en) Semiconductor memory device and information processing method
JPH05114287A (en) Semiconductor memory device
JPH02282867A (en) Image processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

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

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

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees