JP4487568B2 - 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
JP4487568B2
JP4487568B2 JP2004000571A JP2004000571A JP4487568B2 JP 4487568 B2 JP4487568 B2 JP 4487568B2 JP 2004000571 A JP2004000571 A JP 2004000571A JP 2004000571 A JP2004000571 A JP 2004000571A JP 4487568 B2 JP4487568 B2 JP 4487568B2
Authority
JP
Japan
Prior art keywords
data
address
memory
bank
destination
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
JP2004000571A
Other languages
Japanese (ja)
Other versions
JP2005196360A (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 JP2004000571A priority Critical patent/JP4487568B2/en
Priority to TW093141186A priority patent/TWI289750B/en
Priority to KR1020050000517A priority patent/KR101164235B1/en
Priority to US11/029,226 priority patent/US7558934B2/en
Priority to CN2005100541747A priority patent/CN1677555B/en
Publication of JP2005196360A publication Critical patent/JP2005196360A/en
Priority to US12/424,163 priority patent/US20090204780A1/en
Application granted granted Critical
Publication of JP4487568B2 publication Critical patent/JP4487568B2/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.

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

このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図16のように、複数のワード線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.

また、独立したバンクからは同時にデータを読み出すことが可能であり、図17に示すように、メモリを複数のバンクBK1〜BKnに分け、それぞれのバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、バンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各バンクから同一ワード線上に格納されたデータであり、同一バンクにおける異なるワード線上に格納されたデータは同時読みだし不可能である。   Further, data can be read from independent banks at the same time, and as shown in FIG. 17, 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

例えば、ある画像に対して、同時アクセスしたいパターンがあって、それらを左上からラスタスキャンする場合、同時アクセス数である5つにバンク分割して、データを図18に示すように配置したとすると、始めの5回くらいは同時アクセスできるが、図19の位置に同時アクセスパターンが来たときには、バンク0で複数ワード線にアクセスすることになるので同時アクセスができない。このデータを同時アクセスするためには、他のバンクに格納するか、同じワード線に格納するかのどちらかである。パターンによっては、格納する場所を上手く選べば同時アクセスできる場合があるが、どのようなパターンでも同時アクセスできるようにするためには、1バンクが1ワード線だけで構成されるぐらい細かくバンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、バンク数が多くなると、次のような問題点が発生する。   For example, if there is a pattern that you want to access to an image at the same time, and you want to perform a raster scan from the upper left, suppose that the data is arranged as shown in FIG. In the first five times, simultaneous access is possible. However, when the simultaneous access pattern comes to the position shown in FIG. 19, simultaneous access is impossible because bank 0 accesses a plurality of word lines. 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. However, in order to allow simultaneous access to any pattern, the bank is divided into sections so that one bank is composed 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.

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

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

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

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

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

本発明では、一枚の画像に対して、ある一定のパターンで複数データに同時アクセスする際、複数バンクに分割し、各データがそれぞれ異なるバンクに格納されるように配置、再度格納することで、複数データへの同時アクセスを可能にする。   In the present invention, when simultaneously accessing a plurality of data in a certain pattern for a single image, it is divided into a plurality of banks, arranged so that each data is stored in a different bank, and stored again. , Allowing simultaneous access to multiple data.

すなわち、本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とする。   In other words, the data storage device according to the present invention provides a desired plurality of data to be simultaneously read when the memory is composed of a plurality of memory banks and all the data is sequentially allocated and stored in the plurality of memory banks constituting the memory. Based on the access pattern indicating the data, it is determined whether or not the data to be stored is data at a position corresponding to the access pattern. By incrementing, the memory bank in which the data is to be stored is skipped, and the data at the position corresponding to the access pattern is stored in the memory bank of the incremented bank address. Sort and store all data in different memory banks Characterized in that it comprises a memory control unit.

また、本発明に係るデータ格納制御装置は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とする。   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 plurality of data from the memory. When sequentially allocating and storing data in a plurality of memory banks constituting a memory, data to be stored is data at a position corresponding to the access pattern based on an access pattern indicating a plurality of desired data to be simultaneously read. If the data is at the position corresponding to the access pattern, by incrementing the bank address, the memory bank where the data is to be stored is skipped, and the incremented bank address Store data at the location corresponding to the above access pattern in the memory bank. Accordingly, characterized in that it comprises a memory control means for storing in distributed to all different memory banks of data at a position corresponding to the access pattern.

また、本発明に係るデータ格納制御方法は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とする。   The 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, wherein When sequentially allocating and storing data in a plurality of memory banks constituting a memory, data to be stored is data at a position corresponding to the access pattern based on an access pattern indicating a plurality of desired data to be simultaneously read. If the data is at the position corresponding to the access pattern, by incrementing the bank address, the memory bank where the data is to be stored is skipped, and the incremented bank address Store data at the location corresponding to the above access pattern in the memory bank. By, and storing, by distributing all different memory banks of data at a position corresponding to the access pattern.

さらに、本発明に係るデータ格納制御プログラムは、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とする。   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. Data that is a program and is to be stored based on an access pattern indicating a plurality of desired data to be read simultaneously when all the data is sequentially allocated and stored in a plurality of memory banks constituting the memory Is the data at the position corresponding to the access pattern, and if it is the data at the position corresponding to the access pattern, by incrementing the bank address, the memory bank to store the data is determined. Skip the memory of the above incremented bank address By storing the data of the position corresponding to the access pattern to link, and storing, by distributing all different memory banks of data at a position corresponding to the access pattern.

本発明では、1枚の画像に対して、ある一定パターンの複数データに同時アクセスが可能となる。また、バンク数を増やすことなく複数データに同時アクセスが可能となる。さらに、データの再格納を行ってもアドレス管理が簡単である。   In the present invention, it is possible to simultaneously access a plurality of data in a certain pattern for one image. In addition, a plurality of data can be accessed simultaneously without increasing the number of banks. Furthermore, address management is easy even if data is re-stored.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。   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.

本発明は、例えば図1に示すような構成のデータ格納装置100によって実施される。   The present invention is implemented by, for example, a data storage device 100 configured as shown in FIG.

このデータ格納装置100は、複数バンクのメモリ10と、上記メモリ10へのデータの書き込みを行うデータ格納制御部20と、上記メモリ10からのデータの読み出しを行う読み出し制御部30と、上記メモリ10上のデータの移動制御を行うデータ移動制御部40からなり、格納するデータが上記メモリ10及びデータ格納制御部20に供給され、複数データの同時読み出しを示すアクセスパターンが上記データ格納制御部20、データ読み出し制御部30及びデータ移動制御部40に供給されるようになっている。   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. The data storage control unit 40 controls the movement of the above data, the stored data 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 the data storage control unit 20, The data read control unit 30 and the data movement control unit 40 are supplied.

このデータ格納装置100におけるデータ格納制御部20は、図2に示すように供給されたデータを計数するカウンタ21と、このカウンタ21の計数出力とアクセスパターンとの一致判定を行う一致判定部22と、この一致判定部22の判定出力に応じてフラグを生成するフラグ生成部23と、このフラグ生成部23により生成されフラグを計数するオフセットカウンタ24と、上記カウンタ21の出力によりインクリメントされるバンクアドレスカウンタ25と、このバンクアドレスカウンタ25の出力によりインクリメントされるビット線アドレスカウンタ26と、このビット線アドレスカウンタ26の出力によりインクリメントされるワード線アドレスカウンタ27と、これらのカウンタ25,26,27の出力に基づいて書き込みアドレスを生成するアドレス生成部28からなり、上記オフセットカウンタ24の出力がオフセット値として上記バンクアドレスカウンタ25及びビット線アドレスカウンタ26に与えられるようになっている。   As shown in FIG. 2, the data storage control unit 20 in the data storage device 100 includes a counter 21 that counts the supplied data, and a coincidence determination unit 22 that performs a coincidence determination between the count output of the counter 21 and the access pattern. The flag generation unit 23 that generates a flag in accordance with the determination output of the match determination unit 22, the offset counter 24 that is generated by the flag generation unit 23 and counts the flag, and the bank address that is incremented by the output of the counter 21 A counter 25, a bit line address counter 26 incremented by the output of the bank address counter 25, a word line address counter 27 incremented by the output of the bit line address counter 26, and the counters 25, 26, 27 Write based on output It consists address generator 28 which generates an address output of the offset counter 24 is adapted to be supplied to the bank address counter 25 and the bit line address counter 26 as an offset value.

また、データ読み出し制御部30は、図3に示すように、アクセスパターンからスタートアドレスを抽出するスタートアドレス抽出部31と、データ読み出し用のカウンタ32と、上記カウンタ32の出力によりインクリメントされるバンクアドレスカウンタ33と、このバンクアドレスカウンタ33の出力によりインクリメントされるビット線アドレスカウンタ34と、このビット線アドレスカウンタ34の出力によりインクリメントされるワード線アドレスカウンタ35と、これらのカウンタ33,34,35の出力に基づいて書き込みアドレスを生成するアドレス生成部36からなり、上記スタートアドレス抽出部31により得られるスタートアドレスが上記各アドレスカウンタ33,34,35に与えられるようになっている。   Further, as shown in FIG. 3, the data read control unit 30 includes a start address extraction unit 31 that extracts a start address from the access pattern, a data read counter 32, and a bank address that is incremented by the output of the counter 32. A counter 33, a bit line address counter 34 incremented by the output of the bank address counter 33, a word line address counter 35 incremented by the output of the bit line address counter 34, and the counters 33, 34, 35 The address generation unit 36 generates a write address based on the output, and the start address obtained by the start address extraction unit 31 is given to each of the address counters 33, 34, and 35.

さらに、データ移動制御部40は、上記データ読み出し制御部30により生成される読み出しアドレスに応じて上記メモリ10から読み出されたデータを出力するとともに、上記データを移動データとして上記メモリ10に書き込む制御を行うものであって、図4に示すように、アクセスパターンからパターン間距離を算出するパターン間距離算出部41と、このパターン間距離算出部41により算出されたパターン間距離に基づいて、上記データ読み出し制御部30により生成された読み出しアドレスから、移動先アドレスを生成する移動アドレス演算部42からなる。   Further, the data movement control unit 40 outputs the data read from the memory 10 according to the read address generated by the data read control unit 30, and writes the data to the memory 10 as movement data. As shown in FIG. 4, the inter-pattern distance calculation unit 41 that calculates the inter-pattern distance from the access pattern, and the inter-pattern distance calculated by the inter-pattern distance calculation unit 41, The transfer address calculation unit 42 generates a transfer destination address from the read address generated by the data read control unit 30.

このような構成のデータ格納装置100では、一枚の画像に対して、ある一定のパターンで複数データに同時アクセスする際、複数バンクに分割し、各データがそれぞれ異なるバンクに格納されるように配置、再格納することで、複数データへの同時アクセスを可能にしている。   In the data storage device 100 having such a configuration, when simultaneously accessing a plurality of data in a certain pattern for a single image, the data storage device 100 is divided into a plurality of banks so that each data is stored in a different bank. By arranging and re-storing, multiple data can be accessed simultaneously.

まず、 このような構成のデータ格納装置100におけるデータの各バンクへの配置について説明する。   First, the arrangement of data in each bank in the data storage device 100 having such a configuration will be described.

ここでは、図5のように、ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターンがあり、それを左上からラスタスキャンする場合を例とする。複数同時アクセスしたい画素に対応するアクセスパターンは、この図5に示す例に限定されるものではない。   Here, as shown in FIG. 5, there is a case where there is a pattern corresponding to a plurality of pixels to be accessed simultaneously for a single image, and raster scanning is performed from the upper left. An access pattern corresponding to a plurality of pixels to be accessed simultaneously is not limited to the example shown in FIG.

上記画像の左上から1 画素ずつバンクに格納するときに、上記データ格納制御部20は、図6に示すように、バンクアドレスをインクリメントさせて、バンク1の次はバンク2、その次はバンク3と1画素ずつ格納するバンクを変えていく。最後のバンクにきたらまたバンク1 に格納する。図6中の数字は、格納先のバンクアドレスを表している。   When storing one pixel at a time from the upper left of the image in the bank, the data storage control unit 20 increments the bank address, as shown in FIG. The bank for storing each pixel is changed. When you come to the last bank, store it in bank 1 again. The numbers in FIG. 6 represent the storage destination bank address.

なお、ある水平ラインの右端と1ライン下の左端は連続しているものと考え、順番にバンクに格納する。   Note that the right end of a certain horizontal line and the left end one line below are considered to be continuous, and are stored in the bank in order.

上記メモリ10の各バンクは、それぞれバンクごとにワード線アドレス、ビット線アドレスを持っており、上記データ格納制御部20は、1つのバンクにデータを格納したら、そのバンクのビット線アドレスをインクリメントし、ビット線アドレスの終りまで来たら、ワード線アドレスをインクリメントする。   Each bank of the memory 10 has a word line address and a bit line address for each bank, and the data storage control unit 20 increments the bit line address of the bank after storing data in one bank. When the end of the bit line address is reached, the word line address is incremented.

図7に示すように、アクセスしたい個所に来たら、上記データ格納制御部20は、バンクアドレスをオフセットカウンタ24の値にする。   As shown in FIG. 7, the data storage control unit 20 sets the bank address to the value of the offset counter 24 when it comes to the location to be accessed.

上記データ格納制御部20のオフセットカウンタ24はアクセス個所の数をカウントしており、その位置が何個目のアクセス個所なのかを表している。   The offset counter 24 of the data storage control unit 20 counts the number of access locations, and indicates the number of access locations.

他のアクセス個所と異なるバンクに格納されるように、オフセットカウンタ24でバンクアドレスカウンタ25にオフセット値をセットする。オフセット値をセットすることによって飛ばされたバンクはデータを格納したことにしてバンク内のワード線アドレスをインクリメントする。   An offset value is set in the bank address counter 25 by the offset counter 24 so that it is stored in a bank different from other access locations. Banks skipped by setting an offset value store data and increment the word line address in the bank.

このようにしてデータをバンクに格納していくと、図8に示すように、オフセットで飛ばされたバンクには隙間ができる。   When data is stored in the bank in this way, a gap is formed in the bank skipped by the offset, as shown in FIG.

ここで、データを各バンクに格納する処理は、図9のフローチャートに示す手順に従って行われる。なお、用意するバンク数は同時にアクセスしたい画素数と同じである。   Here, the process of storing data in each bank is performed according to the procedure shown in the flowchart of FIG. The number of banks to be prepared is the same as the number of pixels to be accessed simultaneously.

すなわち、上記データ格納制御部20は、格納すべきデータが入力されると(ステップS1)、一致判定部22によりアクセス箇所であるか否かを判定し(ステップS2)、その判定結果がNOである場合には、現在の書き込みアドレスで上記メモリ10にデータを格納して(ステップS3)、ステップS8の処理に移る。   That is, when the data to be stored is input (step S1), the data storage control unit 20 determines whether or not it is an access location by the match determination unit 22 (step S2), and the determination result is NO. If there is, the data is stored in the memory 10 at the current write address (step S3), and the process proceeds to step S8.

また、上記ステップS2における判定結果がYESである場合、すなわち、アクセス箇所では、オフセットカウンタ24でバンクアドレスカウンタ25にオフセット値をセットし(ステップS4)、上記オフセットカウンタ24をインクリメントしてから(ステップS5)、現在の書き込みアドレスで上記メモリ10にデータを格納する(ステップS6)。   If the determination result in step S2 is YES, that is, in the access location, the offset value is set in the bank address counter 25 by the offset counter 24 (step S4), and the offset counter 24 is incremented (step S4). S5) Data is stored in the memory 10 at the current write address (step S6).

次に、飛ばされたメモリバンクのビット線アドレスをインクリメントし(ステップS7)、さらに、格納したメモリバンクのビット線アドレスをインクリメントし(ステップS8)。   Next, the bit line address of the skipped memory bank is incremented (step S7), and the bit line address of the stored memory bank is incremented (step S8).

さらに、上記データ格納制御部20は、全データが入力されたか否かを判定する(ステップS9)。   Further, the data storage control unit 20 determines whether all data has been input (step S9).

上記データ格納制御部は、上記ステップS9における判定結果がNOである場合には、ビット線アドレスが最初に戻ったか否かを判定し(ステップS10)、その判定結果がNOである場合はステップS12の処理に移り、上記ステップS10の判定結果がYESである場合はワード線アドレスをインクリメントし(ステップS11)、さらに、バンクアドレスをインクリメントして(ステップS12)、上記ステップS1に戻って上記ステップS1からステップS12の処理を繰り返すことにより、全データの格納処理を行い、上記ステップS9における判定結果がYESになると格納処理を終了する。   The data storage control unit determines whether or not the bit line address has returned to the beginning when the determination result in step S9 is NO (step S10), and when the determination result is NO, step S12. If the decision result in the step S10 is YES, the word line address is incremented (step S11), the bank address is incremented (step S12), and the process returns to the step S1 to return to the step S1. From step S12, the process of storing all data is performed by repeating the process of step S12. When the determination result in step S9 is YES, the storage process ends.

次に、アクセスの仕方とデータの再格納について説明する。   Next, an access method and data re-storage will be described.

このデータ格納装置100では、図10のように,最初に複数同時アクセスしたいところのアドレス[バンクアドレス,ワード線アドレス,ビット線アドレス]として[0,0,0],[1,0,5],[2,0,9],[3,1,0],[4,1,4]を指定すると、それぞれのデータは異なるバンクに格納されているので、同時アクセスが可能である。   In this data storage device 100, as shown in FIG. 10, [0, 0, 0], [1, 0, 5] as addresses [bank address, word line address, bit line address] where a plurality of addresses are to be simultaneously accessed first. , [2, 0, 9], [3, 1, 0], [4, 1, 4], the respective data are stored in different banks, so that simultaneous access is possible.

ここで、ラスタスキャンで一つ隣の画素にアクセスするときは、1画素ずつ順番にメモリバンクに格納しているので、図11に示すように、バンクアドレスを1つインクリメントすれば良い。バンクアドレスが最初に戻ったら、ビット線アドレスを1つインクリメントし、ビット線アドレス最初に戻ったら、ワード線アドレスを1つインクリメントする。   Here, when one adjacent pixel is accessed by raster scan, each pixel is stored in the memory bank in order, so that the bank address may be incremented by one as shown in FIG. When the bank address returns to the beginning, the bit line address is incremented by one. When the bit line address returns to the beginning, the word line address is incremented by one.

このルールで常に同時アクセスができるように、アクセスしたいところで入れたオフセットを戻していく。オフセットを戻すということは、そこがアクセスしたい個所ではなかったときに格納されるべきだったところ、つまり、オフセットによって飛ばされたメモリバンクに再度格納することである。データを格納する際に、オフセットによって飛ばされたメモリバンクは格納したことにしてビット線アドレスをインクリメントしているので、そのアドレスには何も格納されてない。   In order for this rule to always allow simultaneous access, the offset entered where it is desired is returned. Returning the offset is to store it again in the memory bank that was skipped by the offset where it was supposed to be stored when it was not where you wanted to access it. When storing data, the memory bank skipped by the offset increments the bit line address because it is stored, so nothing is stored at that address.

したがって、そのアドレスにデータを再度格納することができる。   Therefore, data can be stored again at that address.

データを再度格納する先のアドレスは、今アクセスしているアドレスと空間的に一つ前のアクセス先との画素間隔、全体のバンク数から求めることができる。   The address where the data is stored again can be obtained from the pixel interval between the address currently accessed and the previous access destination spatially and the total number of banks.

すなわち、図12のように、今アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとすると、行き先バンクアドレスBは次の式(1)となる。   That is, as shown in FIG. 12, the currently accessed address is [bank address b, word line address i, bit line address j], the pixel interval from the previous access destination is d, and the number of banks is n. Then, the destination bank address B is expressed by the following equation (1).

B=(d+b−1) mod n (1)
ここで、行き先ワード線アドレスI、行き先ビット線アドレスJは、
I=i,J=j.
である。
B = (d + b−1) mod n (1)
Here, the destination word line address I and the destination bit line address J are
I = i, J = j.
It is.

ただし、行き先バンクアドレスBはbに比べて小さくなる方向に動くので、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となる。また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となる。それ以外の場合は、行き先ワード線アドレスIがI=iとなる。   However, since the destination bank address B moves in a direction that becomes smaller than b, if B−b> 0, the destination bit line address J becomes J = j−1. When the bit line address returns to the end, the destination word line address I becomes I = i-1. In other cases, the destination word line address I is I = i.

データの再格納は、図13に示すように、アドレス[1,0,5]のデータをアドレス[0,0,5]に移動し、アドレス[2,0,9]のデータをアドレス[1,0,9]に移動し、アドレス[3,1,0]のデータをアドレス[1,1,0]に移動し、アドレス[4,1,4]のデータをアドレス[0,1,4]に移動することにより、行われる。   As shown in FIG. 13, the data is re-stored by moving the data at the address [1, 0, 5] to the address [0, 0, 5] and the data at the address [2, 0, 9] to the address [1. , 0, 9], the data at address [3, 1, 0] is moved to address [1, 1, 0], and the data at address [4, 1, 4] is moved to address [0, 1, 4]. ] To move to.

このデータ格納装置100おいて、データのアクセスと再格納の処理は、図14のフローチャートに示す手順に従って行われる。   In this data storage device 100, data access and re-storing processes are performed according to the procedure shown in the flowchart of FIG.

すなわち、上記データ読み出し制御部30は、先ず、読み出しアドレス[b,i,j]を最初のアクセス箇所にセットし(ステップS21)、データ移動制御部40は、パターン間距離算出部41でアクセス箇所の画素間隔dを求める(ステップS22)。   That is, the data read control unit 30 first sets the read address [b, i, j] in the first access location (step S21), and the data movement control unit 40 uses the inter-pattern distance calculation unit 41 to access the access location. Is determined (step S22).

次に、上記データ読み出し制御部30は、読み出しアドレス[b,i,j]のデータをメモリ10から読み出し(ステップS23)、上記データ移動制御部40は、移動先アドレス演算部42により上記読み出しアドレス[b,i,j]から、上述の式(1)により行き先アドレス[B,I,J]を計算する(ステップS24)。   Next, the data read control unit 30 reads the data of the read address [b, i, j] from the memory 10 (step S23), and the data movement control unit 40 uses the destination address calculation unit 42 to read the read address. From [b, i, j], the destination address [B, I, J] is calculated by the above equation (1) (step S24).

次に、上記移動先アドレス演算部42は、行き先バンクアドレスBが読み出しバンクアドレスbよりも大きいか否かを判定し(ステップS25)、その判定結果がYESである場合には行き先ビット線アドレスJをJ=j−1とし(ステップS26)、また、上記ステップS25における判定結果がNOである場合には行き先ビット線アドレスJをJ=jとする(ステップS27)。   Next, the destination address calculation unit 42 determines whether the destination bank address B is larger than the read bank address b (step S25). If the determination result is YES, the destination bit line address J Is set to J = j-1 (step S26). If the determination result in step S25 is NO, the destination bit line address J is set to J = j (step S27).

さらに、上記移動先アドレス演算部42は、行き先ビット線アドレスJが最後に戻ったか否かを判定し(ステップS28)、その判定結果がYESである場合には行き先ワード線アドレスIをI=i−1とし(ステップS29)、上記ステップS28における判定結果がNOの場合は行き先ワード線アドレスIをI=iとする(ステップS30)。   Further, the destination address calculation unit 42 determines whether or not the destination bit line address J has returned last (step S28). If the determination result is YES, the destination word line address I is set to I = i. −1 (step S29), and if the determination result in step S28 is NO, the destination word line address I is set to I = i (step S30).

そして、上記データ移動制御部40は、上記メモリ10から読み出された読み出しアドレス[b,i,j]のデータを上記メモリ10の行き先アドレス[B,I,J]に書き込む(ステップS31)。   Then, the data movement control unit 40 writes the data of the read address [b, i, j] read from the memory 10 to the destination address [B, I, J] of the memory 10 (step S31).

このようにして上記データ移動制御部40により1つのアクセス箇所のデータを上記メモリ10上で移動し終えると、上記データ読み出し制御部30は、全ての画素の処理を終了したか否かを判定する(ステップS32)。   When the data movement control unit 40 finishes moving the data at one access location on the memory 10 in this way, the data read control unit 30 determines whether or not the processing of all the pixels has been completed. (Step S32).

このステップS32における判定結果がNOである場合、上記データ読み出し制御部30は、読み出しアドレス[b,i,j]のバンクアドレス[b]をインクリメントして(ステップS33)、バンクアドレス[b]が最初に戻ったか否かを判定する(ステップS34)。   If the determination result in step S32 is NO, the data read control unit 30 increments the bank address [b] of the read address [b, i, j] (step S33), and the bank address [b] It is determined whether or not the operation has returned to the beginning (step S34).

上記データ読み出し制御部30は、上記ステップS34における判定結果NOである場合にはステップS36の処理に移り、また、上記ステップS34における判定結果がYESである場合には読み出しアドレス[b,i,j]のビット線アドレス[j]をインクリメントして(ステップS35)、ビット線アドレス[j]が最初に戻ったか否かを判定する(ステップS36)。   If the determination result in step S34 is NO, the data read control unit 30 proceeds to the process of step S36, and if the determination result in step S34 is YES, the read address [b, i, j ] Is incremented (step S35), and it is determined whether or not the bit line address [j] has returned to the beginning (step S36).

上記データ読み出し制御部30は、上記ステップS36における判定結果NOである場合には上記ステップS23に戻り、また、上記ステップS36における判定結果がYESである場合には読み出しアドレス[b,i,j]のワード線アドレス[i]をインクリメントして(ステップS37)、上記ステップS23に戻って、上記ステップS23からステップS37の処理を繰り返すことによって、各アクセス箇所のデータを順次読み出して上記メモリ10上で移動し、上記ステップS32における判定結果がYESになるとデータのアクセスと再格納の処理を終了する。   The data read control unit 30 returns to step S23 if the determination result in step S36 is NO, and reads the address [b, i, j] if the determination result in step S36 is YES. Is incremented (step S37), the process returns to step S23, and the processing from step S23 to step S37 is repeated, whereby the data at each access location is sequentially read out on the memory 10. When the result of the determination is YES in step S32, the data access and re-store processing is terminated.

なお、オフセットを戻すとバンクアドレスのインクリメントによって同時アクセスが可能になるので、再格納先のアドレスは記憶しておく必要がない。   If the offset is returned, simultaneous access is possible by incrementing the bank address, so there is no need to store the address of the re-storing destination.

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

本発明を実施するデータ格納装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data storage apparatus which implements 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 data reading control part in the said data storage apparatus. 上記データ格納装置におけるデータ移動制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the data movement control part in the said data storage apparatus. ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターンの例を模式的に示す図である。It is a figure which shows typically the example of the pattern corresponding to the pixel which wants to access simultaneously with respect to a certain one image. バンクアドレスをインクリメントさせて画像の左上から1 画素ずつバンクに格納した状態を模式的に示す図である。It is a figure which shows typically the state which incremented the bank address and was stored in the bank pixel by pixel from the upper left of the image. アクセスしたい個所でバンクアドレスをインクリメントさせた状態を模式的に示す図である。It is a figure which shows typically the state which incremented the bank address in the location to access. バンクアドレスのインクリメントで飛ばされたバンクに隙間ができた状態を模式的に示す図である。It is a figure which shows typically the state in which the gap was made in the bank skipped by the increment of a bank address. データを各バンクに格納する処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process which stores data in each bank. 上記データ格納装置における最初の複数同時アクセス状態を模式的に示す図である。It is a figure which shows typically the first several simultaneous access state in the said data storage device. ラスタスキャンで一つ隣の画素にアクセスするときの状態を模式的に示す図である。It is a figure which shows typically the state when accessing one adjacent pixel by a raster scan. データを再度格納する先のアドレスを求めるための説明に使用される図である。It is a figure used for description for calculating | requiring the address | destination which stores data again. データの再格納状態を模式的に示す図である。It is a figure which shows the data re-storing state typically. 上記データ格納装置におけるデータのアクセスと再格納の処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process of data access in the said data storage device, and a re-store. 一般的な半導体メモリの構造を模式的に示す図である。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 storage state to the memory in case there exists a pattern which wants to access simultaneously with respect to a certain image, and it carries out a raster scan 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 一致判定部、23 フラグ生成部、24 オフセットカウンタ、25 バンクアドレスカウンタ、26 ビット線アドレスカウンタ、27 ワード線アドレスカウンタ、28 アドレス生成部、30 データ読み出し制御部、31 スタートアドレス抽出部、 32 カウンタ、33 バンクアドレスカウンタ、34 ビット線アドレスカウンタ、35 ワード線アドレスカウンタ、36 アドレス生成部、40 データ移動制御部、41 パターン間距離算出部、42 移動アドレス演算部、100 データ格納装置   10 memory, 20 data storage control unit, 21 counter, 22 match determination unit, 23 flag generation unit, 24 offset counter, 25 bank address counter, 26 bit line address counter, 27 word line address counter, 28 address generation unit, 30 data Read control unit, 31 start address extraction unit, 32 counter, 33 bank address counter, 34 bit line address counter, 35 word line address counter, 36 address generation unit, 40 data movement control unit, 41 inter-pattern distance calculation unit, 42 movement Address calculation unit, 100 data storage device

Claims (12)

複数のメモリバンクからなるメモリと、
全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とするデータ格納装置。
A memory consisting of a plurality of memory banks;
When all the data is sequentially sorted and stored in the plurality of memory banks constituting the memory, the data to be stored corresponds to the access pattern based on the access pattern indicating the desired plurality of data to be read simultaneously. If the data is at the position corresponding to the access pattern, the bank address is incremented to skip the memory bank where the data is to be stored, and the data is incremented. A memory control means for storing all data at positions corresponding to the access pattern in different memory banks by storing the data at positions corresponding to the access pattern in the memory bank of the bank address. Data storage device.
上記メモリ制御手段は、上記メモリから上記アクセスパターンにより示された複数の第1のアドレスに応じて所望の複数データを同時に読み出し、上記バンクアドレスをインクリメントすることでデータが格納されなかった場所のアドレスを示す第2のアドレスに、上記読み出した複数データを再度格納し、その後のアクセスにおいて読み出した複数データを上記第1のアドレスに格納することを特徴とする請求項1記載のデータ格納装置。   The memory control means simultaneously reads out a plurality of desired data from the memory in accordance with a plurality of first addresses indicated by the access pattern, and increments the bank address to thereby store the address where the data was not stored. 2. The data storage device according to claim 1, wherein the plurality of read-out data are stored again at a second address indicating, and the plurality of read-out data in subsequent access are stored at the first address. 上記メモリ制御手段は、アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとして、
B=(d+b−1) mod n
I=i
J=j
にて与えられ、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となり、また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となり、それ以外の場合は、行き先ワード線アドレスIがI=iとなる移動先アドレス[行き先バンクアドレスB,行き先ワード線アドレスI,行き先ビット線アドレスJ]で示される各メモリバンクの各格納場所にデータを再度格納することを特徴とする請求項1記載のデータ格納装置。
In the memory control means, the accessed address is [bank address b, word line address i, bit line address j], the pixel interval from the previous access destination is d, the number of banks is n,
B = (d + b−1) mod n
I = i
J = j
When Bb> 0, the destination bit line address J becomes J = j−1. When the bit line address returns to the end, the destination word line address I becomes I = i−. 1; otherwise, each storage in each memory bank indicated by a destination address [destination bank address B, destination word line address I, destination bit line address J] where destination word line address I becomes I = i 2. The data storage device according to claim 1, wherein the data is stored again in the place.
全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、
上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とするデータ格納制御装置。
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 sequentially sorted and stored in a plurality of memory banks constituting the memory, the data to be stored is changed to the access pattern based on an access pattern indicating a plurality of desired data to be read simultaneously. It is determined whether or not the data is at the corresponding position. If the data is at the position corresponding to the access pattern, the memory address to store the data is skipped by incrementing the bank address, and the increment is performed. Memory control means is provided for storing the data at the position corresponding to the access pattern in the memory bank of the designated bank address, so that the data at the position corresponding to the access pattern is allotted and stored in different memory banks. A data storage control device.
上記メモリ制御手段は、上記メモリから上記アクセスパターンにより示された複数の第1のアドレスに応じて所望の複数データを同時に読み出し、上記バンクアドレスをインクリメントすることでデータが格納されなかった場所のアドレスを示す第2のアドレスに、上記読み出した複数データを再度格納し、その後のアクセスにおいて読み出した複数データを上記第1のアドレスに格納することを特徴とする請求項4記載のデータ格納制御装置。   The memory control means simultaneously reads out a plurality of desired data from the memory in accordance with a plurality of first addresses indicated by the access pattern, and increments the bank address to thereby store the address where the data was not stored. 5. The data storage control device according to claim 4, wherein the plurality of read-out data are stored again at a second address indicating, and the plurality of data read out in subsequent access are stored at the first address. 上記メモリ制御手段は、アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとして、
B=(d+b−1) mod n
I=i
J=j
にて与えられ、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となり、また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となり、それ以外の場合は、行き先ワード線アドレスIがI=iとなる移動先アドレス[行き先バンクアドレスB,行き先ワード線アドレスI,行き先ビット線アドレスJ]で示される各メモリバンクの各格納場所にデータを再度格納することを特徴とする請求項4記載のデータ格納制御装置。
In the memory control means, the accessed address is [bank address b, word line address i, bit line address j], the pixel interval from the previous access destination is d, the number of banks is n,
B = (d + b−1) mod n
I = i
J = j
When Bb> 0, the destination bit line address J becomes J = j−1. When the bit line address returns to the end, the destination word line address I becomes I = i−. 1; otherwise, each storage in each memory bank indicated by a destination address [destination bank address B, destination word line address I, destination bit line address J] where destination word line address I becomes I = i 5. The data storage control device according to claim 4, wherein the data is stored again in the place.
全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、
上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、
上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記検出パターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とするデータ格納制御方法。
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 sequentially sorting and storing all the data in a plurality of memory banks constituting the memory,
Based on an access pattern indicating a plurality of desired data to be read simultaneously, it is determined whether or not the data to be stored is data at a position corresponding to the access pattern,
In the case of data at a position corresponding to the access pattern, by incrementing the bank address, the memory bank to store the data is skipped, and the memory bank of the incremented bank address corresponds to the access pattern. A data storage control method, wherein by storing position data, all position data corresponding to the detection pattern is distributed and stored in different memory banks.
上記メモリから上記アクセスパターンにより示された所望の複数データを同時に読み出し、
読み出した複数データを上記バンクアドレスのインクリメントによって空になった各メモリバンクの各格納場所に再格納し、
アクセス毎に読み出した複数データを上記再格納によって既に再格納が終わった各メモリバンクの各格納場所に再度格納することを特徴とする請求項7記載のデータ格納制御方法。
Simultaneously reading a plurality of desired data indicated by the access pattern from the memory,
Re-store the read multiple data in each storage location of each memory bank emptied by the above bank address increment,
8. The data storage control method according to claim 7, wherein a plurality of data read for each access is stored again in each storage location of each memory bank that has already been stored again by the above-mentioned storage.
アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとして、
B=(d+b−1) mod n
I=i
J=j
にて与えられ、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となり、また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となり、それ以外の場合は、行き先ワード線アドレスIがI=iとなる移動先アドレス[行き先バンクアドレスB,行き先ワード線アドレスI,行き先ビット線アドレスJ]で示される各メモリバンクの各格納場所にデータを再度格納することを特徴とする請求項7記載のデータ格納制御方法。
The address being accessed is [bank address b, word line address i, bit line address j], the pixel interval from the previous access destination is d, and the number of banks is n.
B = (d + b−1) mod n
I = i
J = j
When Bb> 0, the destination bit line address J becomes J = j−1. When the bit line address returns to the end, the destination word line address I becomes I = i−. 1; otherwise, each storage in each memory bank indicated by a destination address [destination bank address B, destination word line address I, destination bit line address J] where destination word line address I becomes I = i 8. The data storage control method according to claim 7, wherein the data is stored again in the place.
全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、
同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、
上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とするデータ格納制御プログラム。
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 sequentially sorting and storing all the data in a plurality of memory banks constituting the memory,
Based on an access pattern indicating a plurality of desired data to be read simultaneously, it is determined whether or not the data to be stored is data at a position corresponding to the access pattern,
In the case of data at a position corresponding to the access pattern, by incrementing the bank address, the memory bank to store the data is skipped, and the memory bank of the incremented bank address corresponds to the access pattern. A data storage control program characterized in that by storing location data, all location data corresponding to the access pattern is distributed and stored in different memory banks.
上記メモリから上記アクセスパターンにより示された所望の複数データを同時に読み出し、
読み出した複数データを上記バンクアドレスのインクリメントによって空になった各メモリバンクの各格納場所に再格納し、
アクセス毎に読み出した複数データを上記再格納によって既に再格納が終わった各メモリバンクの各格納場所に再度格納することを特徴とする請求項10記載のデータ格納制御プログラム。
Simultaneously reading a plurality of desired data indicated by the access pattern from the memory,
Re-store the read multiple data in each storage location of each memory bank emptied by the above bank address increment,
11. The data storage control program according to claim 10, wherein a plurality of data read for each access is stored again in each storage location of each memory bank that has already been stored again by the above-mentioned storage.
アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとして、
B=(d+b−1) mod n
I=i
J=j
にて与えられ、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となり、また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となり、それ以外の場合は、行き先ワード線アドレスIがI=iとなる移動先アドレス[行き先バンクアドレスB,行き先ワード線アドレスI,行き先ビット線アドレスJ]で示される各バンクメモリの各格納場所にデータを再度格納することを特徴とする請求項10記載のデータ格納制御プログラム。
The address being accessed is [bank address b, word line address i, bit line address j], the pixel interval from the previous access destination is d, and the number of banks is n.
B = (d + b−1) mod n
I = i
J = j
When Bb> 0, the destination bit line address J becomes J = j−1. When the bit line address returns to the end, the destination word line address I becomes I = i−. 1; otherwise, each storage in each bank memory indicated by a destination address [destination bank address B, destination word line address I, destination bit line address J] where destination word line address I becomes I = i The data storage control program according to claim 10, wherein the data is stored again in the place.
JP2004000571A 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 JP4487568B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004000571A JP4487568B2 (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
KR1020050000517A KR101164235B1 (en) 2004-01-05 2005-01-04 Data storage apparatus, data storage controlling apparatus and method, and data storage controlling program
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
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
JP2004000571A JP4487568B2 (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
JP2005196360A JP2005196360A (en) 2005-07-21
JP4487568B2 true JP4487568B2 (en) 2010-06-23

Family

ID=34816339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004000571A Expired - Fee Related JP4487568B2 (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) JP4487568B2 (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
JP4635687B2 (en) * 2005-03-30 2011-02-23 ソニー株式会社 DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM

Also Published As

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

Similar Documents

Publication Publication Date Title
US10755755B2 (en) Apparatuses and methods for concurrently accessing different memory planes of a memory
US20090204780A1 (en) Data storage unit, data storage controlling apparatus and method, and data storage controlling program
US7401177B2 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
JP4586627B2 (en) DATA ACCESS DEVICE, DATA ACCESS METHOD, PROGRAM, AND RECORDING MEDIUM
US20020083266A1 (en) Image data organization into pixel tile memory matrix
US6560686B1 (en) Memory device with variable bank partition architecture
JP4487568B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
EP1575298B1 (en) Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
JP4534488B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
US5539874A (en) Cache memory device for storing image data
JP4506256B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP7234000B2 (en) Image data processing device for affine transformation of two-dimensional image
JP4735008B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP4701620B2 (en) Data storage device, data storage control device, data storage control method, and data storage control program
JP4687108B2 (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
JP2633251B2 (en) Image memory device
JP4655220B2 (en) DESIGN DEVICE AND METHOD, AND DATA STORAGE DEVICE
JPH0234396B2 (en)
JP2005309622A5 (en)
KR20000038416A (en) Method for erasing of multi-bank flash memory device
JPS6271990A (en) Storing method for image information
JPH0830464A (en) Interruption processing circuit
JPH05120897A (en) Memory device
JPH05242236A (en) Rotation processing device for pattern data

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

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

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

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

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