JP2005196360A - データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム - Google Patents

データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム Download PDF

Info

Publication number
JP2005196360A
JP2005196360A JP2004000571A JP2004000571A JP2005196360A JP 2005196360 A JP2005196360 A JP 2005196360A JP 2004000571 A JP2004000571 A JP 2004000571A JP 2004000571 A JP2004000571 A JP 2004000571A JP 2005196360 A JP2005196360 A JP 2005196360A
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.)
Granted
Application number
JP2004000571A
Other languages
English (en)
Other versions
JP4487568B2 (ja
Inventor
Tetsujiro Kondo
哲二郎 近藤
Kenji Takahashi
健治 高橋
Hiroshi Sato
浩 佐藤
Tsutomu Ichikawa
勉 市川
Hiroki Tetsukawa
弘樹 鉄川
Masaki Handa
正樹 半田
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/ja
Priority to TW093141186A priority patent/TWI289750B/zh
Priority to US11/029,226 priority patent/US7558934B2/en
Priority to KR1020050000517A priority patent/KR101164235B1/ko
Priority to CN2005100541747A priority patent/CN1677555B/zh
Publication of JP2005196360A publication Critical patent/JP2005196360A/ja
Priority to US12/424,163 priority patent/US20090204780A1/en
Application granted granted Critical
Publication of JP4487568B2 publication Critical patent/JP4487568B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)

Abstract

【課題】 ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行う。
【解決手段】 全データをメモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するデータ格納制御部20、データ読み出し制御部30及びデータ移動制御部40からなるメモリ制御手段を備え、上記メモリ10から所望の複数データを同時に読み出す制御を行う。
【選択図】 図1

Description

本発明は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムに関する。
半導体メモリは、図15に示すように、ワード線WLとビット線BLを指定してメモリセルMCをアクセスする構造となっており、活性化された1ワード線とビット線の交差する位置にあるメモリセルMCに格納されたデータが読み出される。
このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図16のように、複数のワード線WL1,WL2を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。
また、独立したバンクからは同時にデータを読み出すことが可能であり、図17に示すように、メモリを複数のバンクBK1〜BKnに分け、それぞれのバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、バンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各バンクから同一ワード線上に格納されたデータであり、同一バンクにおける異なるワード線上に格納されたデータは同時読みだし不可能である。
ここで、バンクとは、複数のワード線と複数のビット線からなるメモリにおいてワード・アドレスが独立に制御できるメモリ単位をいう。
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識等の処理が行われている。
例えば、数ライン画像データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理可のプロセッサエレメントの複数を含み複数プロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画像データ群を、閾値を用いて2値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致か判定することが行われている(例えば、特許文献1参照)。
特開平10−332378号公報
例えば、ある画像に対して、同時アクセスしたいパターンがあって、それらを左上からラスタスキャンする場合、同時アクセス数である5つにバンク分割して、データを図18に示すように配置したとすると、始めの5回くらいは同時アクセスできるが、図19の位置に同時アクセスパターンが来たときには、バンク0で複数ワード線にアクセスすることになるので同時アクセスができない。このデータを同時アクセスするためには、他のバンクに格納するか、同じワード線に格納するかのどちらかである。パターンによっては、格納する場所を上手く選べば同時アクセスできる場合があるが、どのようなパターンでも同時アクセスできるようにするためには、1バンクが1ワード線だけで構成されるぐらい細かくバンク分割する必要がある。しかし、細かく分割するほどバンク数は多くなり、バンク数が多くなると、次のような問題点が発生する。
例えば、図20に示すように、参照領域の大きさが5画素×5画素であれば必要とするメモリバンクの数は25になるが、バンクの数が多くなるとバンクのアドレス管理が難しくなり、アドレス線の増加やチップ面積が増加する、消費電力が増大するなどの問題があった。
すなわち、それぞれのバンクに異なるアドレスを指定するのでアドレスバスが膨大になる。
また、デコーダやセレクタがバンクの数だけ必要なのでチップ面積が大きくなる。
また、同時に複数のバンクが動作するため消費電力が多くなる。
さらに、1ワード線のデータ数を増やすと、ワード線が長くなり、1ワード線のデータにアクセスするときに時間がかかる。
このように、半導体メモリでは、1バンクにつき1ワード線のみ構成するとデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとハードウエアに負担がかかり、現実的でない。
そこで、従来の技術ではデータを読み出し、一時的に記憶するバッファやキャッシュを設け、所望の複数データを複数回に時間的に分割し、バッファやキャッシュに一時記憶し、読み出していた。
しかしながら、所望の複数データの数が増え、かつ、データの入出力が高速になると、データの読み出し処理が時間的に遅れてしまう。また、これを解決するために、一時記憶するバッファやキャッシュを増やすことがなされているが、その領域が大きくなるとハードウエアに負担が生じる。
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。
本発明では、一枚の画像に対して、ある一定のパターンで複数データに同時アクセスする際、複数バンクに分割し、各データがそれぞれ異なるバンクに格納されるように配置、再度格納することで、複数データへの同時アクセスを可能にする。
すなわち、本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とする。
また、本発明に係るデータ格納制御装置は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とする。
また、本発明に係るデータ格納制御方法は、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とする。
さらに、本発明に係るデータ格納制御プログラムは、全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とする。
本発明では、1枚の画像に対して、ある一定パターンの複数データに同時アクセスが可能となる。また、バンク数を増やすことなく複数データに同時アクセスが可能となる。さらに、データの再格納を行ってもアドレス管理が簡単である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。
本発明は、例えば図1に示すような構成のデータ格納装置100によって実施される。
このデータ格納装置100は、複数バンクのメモリ10と、上記メモリ10へのデータの書き込みを行うデータ格納制御部20と、上記メモリ10からのデータの読み出しを行う読み出し制御部30と、上記メモリ10上のデータの移動制御を行うデータ移動制御部40からなり、格納するデータが上記メモリ10及びデータ格納制御部20に供給され、複数データの同時読み出しを示すアクセスパターンが上記データ格納制御部20、データ読み出し制御部30及びデータ移動制御部40に供給されるようになっている。
このデータ格納装置100におけるデータ格納制御部20は、図2に示すように供給されたデータを計数するカウンタ21と、このカウンタ21の計数出力とアクセスパターンとの一致判定を行う一致判定部22と、この一致判定部22の判定出力に応じてフラグを生成するフラグ生成部23と、このフラグ生成部23により生成されフラグを計数するオフセットカウンタ24と、上記カウンタ21の出力によりインクリメントされるバンクアドレスカウンタ25と、このバンクアドレスカウンタ25の出力によりインクリメントされるビット線アドレスカウンタ26と、このビット線アドレスカウンタ26の出力によりインクリメントされるワード線アドレスカウンタ27と、これらのカウンタ25,26,27の出力に基づいて書き込みアドレスを生成するアドレス生成部28からなり、上記オフセットカウンタ24の出力がオフセット値として上記バンクアドレスカウンタ25及びビット線アドレスカウンタ26に与えられるようになっている。
また、データ読み出し制御部30は、図3に示すように、アクセスパターンからスタートアドレスを抽出するスタートアドレス抽出部31と、データ読み出し用のカウンタ32と、上記カウンタ32の出力によりインクリメントされるバンクアドレスカウンタ33と、このバンクアドレスカウンタ33の出力によりインクリメントされるビット線アドレスカウンタ34と、このビット線アドレスカウンタ34の出力によりインクリメントされるワード線アドレスカウンタ35と、これらのカウンタ33,34,35の出力に基づいて書き込みアドレスを生成するアドレス生成部36からなり、上記スタートアドレス抽出部31により得られるスタートアドレスが上記各アドレスカウンタ33,34,35に与えられるようになっている。
さらに、データ移動制御部40は、上記データ読み出し制御部30により生成される読み出しアドレスに応じて上記メモリ10から読み出されたデータを出力するとともに、上記データを移動データとして上記メモリ10に書き込む制御を行うものであって、図4に示すように、アクセスパターンからパターン間距離を算出するパターン間距離算出部41と、このパターン間距離算出部41により算出されたパターン間距離に基づいて、上記データ読み出し制御部30により生成された読み出しアドレスから、移動先アドレスを生成する移動アドレス演算部42からなる。
このような構成のデータ格納装置100では、一枚の画像に対して、ある一定のパターンで複数データに同時アクセスする際、複数バンクに分割し、各データがそれぞれ異なるバンクに格納されるように配置、再格納することで、複数データへの同時アクセスを可能にしている。
まず、 このような構成のデータ格納装置100におけるデータの各バンクへの配置について説明する。
ここでは、図5のように、ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターンがあり、それを左上からラスタスキャンする場合を例とする。複数同時アクセスしたい画素に対応するアクセスパターンは、この図5に示す例に限定されるものではない。
上記画像の左上から1 画素ずつバンクに格納するときに、上記データ格納制御部20は、図6に示すように、バンクアドレスをインクリメントさせて、バンク1の次はバンク2、その次はバンク3と1画素ずつ格納するバンクを変えていく。最後のバンクにきたらまたバンク1 に格納する。図6中の数字は、格納先のバンクアドレスを表している。
なお、ある水平ラインの右端と1ライン下の左端は連続しているものと考え、順番にバンクに格納する。
上記メモリ10の各バンクは、それぞれバンクごとにワード線アドレス、ビット線アドレスを持っており、上記データ格納制御部20は、1つのバンクにデータを格納したら、そのバンクのビット線アドレスをインクリメントし、ビット線アドレスの終りまで来たら、ワード線アドレスをインクリメントする。
図7に示すように、アクセスしたい個所に来たら、上記データ格納制御部20は、バンクアドレスをオフセットカウンタ24の値にする。
上記データ格納制御部20のオフセットカウンタ24はアクセス個所の数をカウントしており、その位置が何個目のアクセス個所なのかを表している。
他のアクセス個所と異なるバンクに格納されるように、オフセットカウンタ24でバンクアドレスカウンタ25にオフセット値をセットする。オフセット値をセットすることによって飛ばされたバンクはデータを格納したことにしてバンク内のワード線アドレスをインクリメントする。
このようにしてデータをバンクに格納していくと、図8に示すように、オフセットで飛ばされたバンクには隙間ができる。
ここで、データを各バンクに格納する処理は、図9のフローチャートに示す手順に従って行われる。なお、用意するバンク数は同時にアクセスしたい画素数と同じである。
すなわち、上記データ格納制御部20は、格納すべきデータが入力されると(ステップS1)、一致判定部22によりアクセス箇所であるか否かを判定し(ステップS2)、その判定結果がNOである場合には、現在の書き込みアドレスで上記メモリ10にデータを格納して(ステップS3)、ステップS8の処理に移る。
また、上記ステップS2における判定結果がYESである場合、すなわち、アクセス箇所では、オフセットカウンタ24でバンクアドレスカウンタ25にオフセット値をセットし(ステップS4)、上記オフセットカウンタ24をインクリメントしてから(ステップS5)、現在の書き込みアドレスで上記メモリ10にデータを格納する(ステップS6)。
次に、飛ばされたメモリバンクのビット線アドレスをインクリメントし(ステップS7)、さらに、格納したメモリバンクのビット線アドレスをインクリメントし(ステップS8)。
さらに、上記データ格納制御部20は、全データが入力されたか否かを判定する(ステップS9)。
上記データ格納制御部は、上記ステップS9における判定結果がNOである場合には、ビット線アドレスが最初に戻ったか否かを判定し(ステップS10)、その判定結果がNOである場合はステップS12の処理に移り、上記ステップS10の判定結果がYESである場合はワード線アドレスをインクリメントし(ステップS11)、さらに、バンクアドレスをインクリメントして(ステップS12)、上記ステップS1に戻って上記ステップS1からステップS12の処理を繰り返すことにより、全データの格納処理を行い、上記ステップS9における判定結果がYESになると格納処理を終了する。
次に、アクセスの仕方とデータの再格納について説明する。
このデータ格納装置100では、図10のように,最初に複数同時アクセスしたいところのアドレス[バンクアドレス,ワード線アドレス,ビット線アドレス]として[0,0,0],[1,0,5],[2,0,9],[3,1,0],[4,1,4]を指定すると、それぞれのデータは異なるバンクに格納されているので、同時アクセスが可能である。
ここで、ラスタスキャンで一つ隣の画素にアクセスするときは、1画素ずつ順番にメモリバンクに格納しているので、図11に示すように、バンクアドレスを1つインクリメントすれば良い。バンクアドレスが最初に戻ったら、ビット線アドレスを1つインクリメントし、ビット線アドレス最初に戻ったら、ワード線アドレスを1つインクリメントする。
このルールで常に同時アクセスができるように、アクセスしたいところで入れたオフセットを戻していく。オフセットを戻すということは、そこがアクセスしたい個所ではなかったときに格納されるべきだったところ、つまり、オフセットによって飛ばされたメモリバンクに再度格納することである。データを格納する際に、オフセットによって飛ばされたメモリバンクは格納したことにしてビット線アドレスをインクリメントしているので、そのアドレスには何も格納されてない。
したがって、そのアドレスにデータを再度格納することができる。
データを再度格納する先のアドレスは、今アクセスしているアドレスと空間的に一つ前のアクセス先との画素間隔、全体のバンク数から求めることができる。
すなわち、図12のように、今アクセスしているアドレスを[バンクアドレスb,ワード線アドレスi,ビット線アドレスj]とし、一つ前のアクセス先との画素間隔をd、バンク数をnとすると、行き先バンクアドレスBは次の式(1)となる。
B=(d+b−1) mod n (1)
ここで、行き先ワード線アドレスI、行き先ビット線アドレスJは、
I=i,J=j.
である。
ただし、行き先バンクアドレスBはbに比べて小さくなる方向に動くので、B−b>0になった場合は、行き先ビット線アドレスJがJ=j−1となる。また、ビット線アドレスが最後に戻ったら、行き先ワード線アドレスIがI=i−1となる。それ以外の場合は、行き先ワード線アドレスIが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]に移動することにより、行われる。
このデータ格納装置100おいて、データのアクセスと再格納の処理は、図14のフローチャートに示す手順に従って行われる。
すなわち、上記データ読み出し制御部30は、先ず、読み出しアドレス[b,i,j]を最初のアクセス箇所にセットし(ステップS21)、データ移動制御部40は、パターン間距離算出部41でアクセス箇所の画素間隔dを求める(ステップS22)。
次に、上記データ読み出し制御部30は、読み出しアドレス[b,i,j]のデータをメモリ10から読み出し(ステップS23)、上記データ移動制御部40は、移動先アドレス演算部42により上記読み出しアドレス[b,i,j]から、上述の式(1)により行き先アドレス[B,I,J]を計算する(ステップS24)。
次に、上記移動先アドレス演算部42は、行き先バンクアドレスBが読み出しバンクアドレスbよりも大きいか否かを判定し(ステップS25)、その判定結果がYESである場合には行き先ビット線アドレスJをJ=j−1とし(ステップS26)、また、上記ステップS25における判定結果がNOである場合には行き先ビット線アドレスJをJ=jとする(ステップS27)。
さらに、上記移動先アドレス演算部42は、行き先ビット線アドレスJが最後に戻ったか否かを判定し(ステップS28)、その判定結果がYESである場合には行き先ワード線アドレスIをI=i−1とし(ステップS29)、上記ステップS28における判定結果がNOの場合は行き先ワード線アドレスIをI=iとする(ステップS30)。
そして、上記データ移動制御部40は、上記メモリ10から読み出された読み出しアドレス[b,i,j]のデータを上記メモリ10の行き先アドレス[B,I,J]に書き込む(ステップS31)。
このようにして上記データ移動制御部40により1つのアクセス箇所のデータを上記メモリ10上で移動し終えると、上記データ読み出し制御部30は、全ての画素の処理を終了したか否かを判定する(ステップS32)。
このステップS32における判定結果がNOである場合、上記データ読み出し制御部30は、読み出しアドレス[b,i,j]のバンクアドレス[b]をインクリメントして(ステップS33)、バンクアドレス[b]が最初に戻ったか否かを判定する(ステップS34)。
上記データ読み出し制御部30は、上記ステップS34における判定結果NOである場合にはステップS36の処理に移り、また、上記ステップS34における判定結果がYESである場合には読み出しアドレス[b,i,j]のビット線アドレス[j]をインクリメントして(ステップS35)、ビット線アドレス[j]が最初に戻ったか否かを判定する(ステップS36)。
上記データ読み出し制御部30は、上記ステップS36における判定結果NOである場合には上記ステップS23に戻り、また、上記ステップS36における判定結果がYESである場合には読み出しアドレス[b,i,j]のワード線アドレス[i]をインクリメントして(ステップS37)、上記ステップS23に戻って、上記ステップS23からステップS37の処理を繰り返すことによって、各アクセス箇所のデータを順次読み出して上記メモリ10上で移動し、上記ステップS32における判定結果がYESになるとデータのアクセスと再格納の処理を終了する。
なお、オフセットを戻すとバンクアドレスのインクリメントによって同時アクセスが可能になるので、再格納先のアドレスは記憶しておく必要がない。
なお、このデータ格納装置100において、上記データ格納制御部20、データ読み出し制御部30及びデータ移動制御部40を例えばマイクロプロセッサにて構成し、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、全データの格納、複数データの同時読み出し及び再格納制御を行うこともできる。
本発明を実施するデータ格納装置の構成を示すブロック図である。 上記データ格納装置におけるデータ格納制御部の構成を示すブロック図である。 上記データ格納装置におけるデータ読み出し制御部の構成を示すブロック図である。 上記データ格納装置におけるデータ移動制御部の構成を示すブロック図である。 ある一枚の画像に対して、複数同時アクセスしたい画素に対応するパターンの例を模式的に示す図である。 バンクアドレスをインクリメントさせて画像の左上から1 画素ずつバンクに格納した状態を模式的に示す図である。 アクセスしたい個所でバンクアドレスをインクリメントさせた状態を模式的に示す図である。 バンクアドレスのインクリメントで飛ばされたバンクに隙間ができた状態を模式的に示す図である。 データを各バンクに格納する処理の手順を示すフローチャートである。 上記データ格納装置における最初の複数同時アクセス状態を模式的に示す図である。 ラスタスキャンで一つ隣の画素にアクセスするときの状態を模式的に示す図である。 データを再度格納する先のアドレスを求めるための説明に使用される図である。 データの再格納状態を模式的に示す図である。 上記データ格納装置におけるデータのアクセスと再格納の処理の手順を示すフローチャートである。 一般的な半導体メモリの構造を模式的に示す図である。 上記半導体メモリにおいて、同時アクセスできない状態を模式的に示す図である。 複数メモリバンクのメモリ構成を示す図である。 ある画像に対して、同時アクセスしたいパターンがあって、それが左上からラスタスキャンする場合のメモリへの格納状態を模式的に示す図である。 同時アクセスできなくなってしまった状態を模式的に示す図である。 参照領域内が同時アクセスできるようにメモリバンクの数を増やして同時アクセを可能にした状態を模式的に示す図である。
符号の説明
10 メモリ、20 データ格納制御部、21 カウンタ、22 一致判定部、23 フラグ生成部、24 オフセットカウンタ、25 バンクアドレスカウンタ、26 ビット線アドレスカウンタ、27 ワード線アドレスカウンタ、28 アドレス生成部、30 データ読み出し制御部、31 スタートアドレス抽出部、 32 カウンタ、33 バンクアドレスカウンタ、34 ビット線アドレスカウンタ、35 ワード線アドレスカウンタ、36 アドレス生成部、40 データ移動制御部、41 パターン間距離算出部、42 移動アドレス演算部、100 データ格納装置

Claims (12)

  1. 複数のメモリバンクからなるメモリと、
    全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とするデータ格納装置。
  2. 上記メモリ制御手段は、上記メモリから上記アクセスパターンにより示された複数の第1のアドレスに応じて所望の複数データを同時に読み出し、上記バンクアドレスをインクリメントすることでデータが格納されなかった場所のアドレスを示す第2のアドレスに、上記読み出した複数データを再度格納し、その後のアクセスにおいて読み出した複数データを上記第1のアドレスに格納することを特徴とする請求項1記載のデータ格納装置。
  3. 上記メモリ制御手段は、アクセスしているアドレスを[バンクアドレス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記載のデータ格納装置。
  4. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御装置であって、
    上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納するメモリ制御手段を備えることを特徴とするデータ格納制御装置。
  5. 上記メモリ制御手段は、上記メモリから上記アクセスパターンにより示された複数の第1のアドレスに応じて所望の複数データを同時に読み出し、上記バンクアドレスをインクリメントすることでデータが格納されなかった場所のアドレスを示す第2のアドレスに、上記読み出した複数データを再度格納し、その後のアクセスにおいて読み出した複数データを上記第1のアドレスに格納することを特徴とする請求項4記載のデータ格納制御装置。
  6. 上記メモリ制御手段は、アクセスしているアドレスを[バンクアドレス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記載のデータ格納制御装置。
  7. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御方法であって、
    上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、
    同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、
    上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記検出パターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とするデータ格納制御方法。
  8. 上記メモリから上記アクセスパターンにより示された所望の複数データを同時に読み出し、
    読み出した複数データを上記バンクアドレスのインクリメントによって空になった各メモリバンクの各格納場所に再格納し、
    アクセス毎に読み出した複数データを上記再格納によって既に再格納が終わった各メモリバンクの各格納場所に再度格納することを特徴とする請求項7記載のデータ格納制御方法。
  9. アクセスしているアドレスを[バンクアドレス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記載のデータ格納制御方法。
  10. 全データを複数のメモリバンクからなるメモリに格納して、上記メモリから所望の複数データを同時に読み出すデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
    上記全データを上記メモリを構成する複数のメモリバンクに順次振り分けて格納する際に、
    同時に読み出そうとする所望の複数データを示すアクセスパターンに基づいて、格納しようとしているデータが上記アクセスパターンに対応する位置のデータであるか否かを判定し、
    上記アクセスパターンに対応する位置のデータである場合に、バンクアドレスをインクリメントすることで、上記データを格納すべきメモリバンクを飛ばして、上記インクリメントされたバンクアドレスのメモリバンクに上記アクセスパターンに対応する位置のデータを格納することにより、上記アクセスパターンに対応する位置のデータを全て異なるメモリバンクに振り分けて格納することを特徴とするデータ格納制御プログラム。
  11. 上記メモリから上記アクセスパターンにより示された所望の複数データを同時に読み出し、
    読み出した複数データを上記バンクアドレスのインクリメントによって空になった各メモリバンクの各格納場所に再格納し、
    アクセス毎に読み出した複数データを上記再格納によって既に再格納が終わった各メモリバンクの各格納場所に再度格納することを特徴とする請求項10記載のデータ格納制御プログラム。
  12. アクセスしているアドレスを[バンクアドレス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記載のデータ格納制御プログラム。
JP2004000571A 2004-01-05 2004-01-05 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム Expired - Fee Related JP4487568B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004000571A JP4487568B2 (ja) 2004-01-05 2004-01-05 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
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 (ko) 2004-01-05 2005-01-04 데이터 저장 장치, 데이터 저장 제어 장치 및 방법, 및 데이터 저장 제어 프로그램을 기록한 기록 매체
CN2005100541747A CN1677555B (zh) 2004-01-05 2005-01-05 数据存储单元、数据存储控制设备和方法
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 (ja) 2004-01-05 2004-01-05 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Publications (2)

Publication Number Publication Date
JP2005196360A true JP2005196360A (ja) 2005-07-21
JP4487568B2 JP4487568B2 (ja) 2010-06-23

Family

ID=34816339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004000571A Expired - Fee Related JP4487568B2 (ja) 2004-01-05 2004-01-05 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Country Status (1)

Country Link
JP (1) JP4487568B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222530A (ja) * 2004-01-05 2005-08-18 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2005332369A (ja) * 2004-04-19 2005-12-02 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2006277653A (ja) * 2005-03-30 2006-10-12 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222530A (ja) * 2004-01-05 2005-08-18 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4687108B2 (ja) * 2004-01-05 2011-05-25 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2005332369A (ja) * 2004-04-19 2005-12-02 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2006277653A (ja) * 2005-03-30 2006-10-12 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP4635687B2 (ja) * 2005-03-30 2011-02-23 ソニー株式会社 データアクセス装置、データアクセス方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP4487568B2 (ja) 2010-06-23

Similar Documents

Publication Publication Date Title
US11955204B2 (en) Apparatuses and methods for concurrently accessing different memory planes of a memory
US7401177B2 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
US8305383B2 (en) Data access apparatus and method
US20020083266A1 (en) Image data organization into pixel tile memory matrix
US6560686B1 (en) Memory device with variable bank partition architecture
JP4487568B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
EP1575298B1 (en) Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
US7558934B2 (en) Data storage unit, data storage controlling apparatus and method, and data storage controlling program
JP4534488B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4506256B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP7234000B2 (ja) 2次元画像をアフィン変換するための画像データ処理装置
JP4735008B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4687108B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4701620B2 (ja) データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
KR950033862A (ko) Ram과의 인터페이스 방법 및 장치
JP2633251B2 (ja) 画像メモリ素子
JP4538737B2 (ja) データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP4655220B2 (ja) 設計装置および方法、並びにデータ格納装置
EP2159750A1 (en) Apparatus and method for processing image data
JP2005309622A5 (ja)
JPH05120897A (ja) メモリ装置
TH37240A (th) อุปกรณ์การเก็บและวิธีการการเข้าถึง
TH25907B (th) อุปกรณ์การเก็บและวิธีการการเข้าถึง

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