JP5298625B2 - メモリ方法およびメモリ装置 - Google Patents

メモリ方法およびメモリ装置 Download PDF

Info

Publication number
JP5298625B2
JP5298625B2 JP2008120589A JP2008120589A JP5298625B2 JP 5298625 B2 JP5298625 B2 JP 5298625B2 JP 2008120589 A JP2008120589 A JP 2008120589A JP 2008120589 A JP2008120589 A JP 2008120589A JP 5298625 B2 JP5298625 B2 JP 5298625B2
Authority
JP
Japan
Prior art keywords
memory
data
memory device
units
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008120589A
Other languages
English (en)
Other versions
JP2009271668A (ja
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2008120589A priority Critical patent/JP5298625B2/ja
Publication of JP2009271668A publication Critical patent/JP2009271668A/ja
Application granted granted Critical
Publication of JP5298625B2 publication Critical patent/JP5298625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

本発明は、データの並び方を変換可能なメモリ方法およびメモリ装置に関する。
メモリアクセスにおいて、縦方向と横方向の読みを同様の速度で読み出したいという要求がある。たとえば、メモリに格納されている画像データについて、通常の画像形成を行う場合には横方向に読み出し、画像を90度回転させた状態で画像形成を行う場合には縦方向に読み出す。
この場合、通常メモリのアクセスは横方向(アドレスの連続する方向)に読み書きする場合に最適化されているため、縦方向に読み書きする場合に効率悪化が起きる問題点がある。
たとえば、図7のように、画像1画素分のデータが8ビットであり、32ビット幅でアクセスが可能である場合を考える。なお、この場合、図8のようにメモリコントローラとメモリとが32ビットのバスで接続されている状態である。
この場合、メモリ上でアドレスの連続する横方向に読み書きする場合は、図9(a)のように、4画素同時にアクセすることが可能である。
しかし、縦方向に読み書きする場合には、図9(b)のように、32ビット(4画素)のうちの1ビット(1画素)しか有効でなく、バス幅の1/4しか有効活用出来ていないことになる。この場合、4倍の時間が掛かることになる。
この問題に対する改良として、以下の先行技術(特許文献1,2)を紹介する。
この場合、Mビット×Nのデータバスでデータアクセスが可能な場合、図10のように、データバスのMビット毎に、Mビット×Nサイクル分のメモリを接続する。ここでは、具体例として、8ビット×4のデータバスでデータアクセスが可能な場合、図10のように、データバスの8ビット毎に、8ビット×4サイクル分のメモリを接続する。
ここでは、画像に対するアドレスの付け方は通常通りにしておき、実際のメモリへの割り付けで、入れ替えパターン#0〜入れ替えパターン#3の4通りに入れ替え(スワップ)している。
ここでは、図10〜図12の各部に付したハッチングの向きが、150度、120度、60度、30度の4通りになっており、同じハッチングの向きのデータが、同じハッチングの向きのメモリに割り付けられることを意味している。
すなわち、縦方向にアクセスする単位に分割されたメモリ素子を利用する。そしてアドレスをそれぞれのメモリ素子で割り振り、各サイクルで、それぞれのアドレスを変えることで対応する(図11参照)。
この場合アドレス振り方を1〜4サイクルのそれぞれで変えることにより、縦方向と横方向と両方の方向で連続するアドレスが別の記憶領域に割り付けられるように工夫する。
このようにすることで、通常の横方向の読み出しの場合(図12(a))にも、また、縦方向の読み出し場合(図12(b))にも、バス幅をフルに活用することが出来るようになる。
特開平5−54132号 特開昭63−98694号
ここで、メモリのバス幅と同じまたはその倍数のデータを一度に読み書きする場合を考える。ここでは、メモリとしてSDRAM(Synchronous Dynamic Random Access Memory)を想定して話を進める。
SDRAMのアクセスは、ロウアドレス,カラムアドレス,バンクという概念が存在する。
そしてロウアドレスとバンクが同じものをページという概念で扱う。同一ページは、アドレスを切り替えながら高速にアクセスすることが可能である。
このことから、縦方向のアドレスを同一ページに割り付けることで、横方向にも縦方向にも高速にアクセスすることが出来る。これはメモリの通常の利用方法である。
以上のような従来技術により、横方向にも縦方向にも同じ効率でアクセすることが出来るメモリシステムが構築出来る。
しかし近年メモリを高速化するために、メモリ内部でデータをプリフェッチする構成のものが普及している。
これは、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)と呼ばれるメモリである。
クロック信号の立ち上がり/立ち下がりのそれぞれでデータをやり取りし、理論上は同一クロックで動作するSDRAMの2倍のデータ転送速度を得られる(2ワードのプリフェッチ機能)。同様に、4ワードのプリフェッチを行うDDR2 SDRAMと呼ばれるメモリも存在している。
すなわち、DDRの場合は連続する2つのデータをプリフェッチし、DDR2では連続する4つのデータをプリフェッチしている。このような構成のため、プリフェッチしたデータはひとかたまりのデータとして扱われる。
このため、1画素(例えば、1画素=8ビット)単位でアクセスしたくてもメモリは4画素をひとかたまりとするため、画素をまとめてアクセスする場合に有利だが、個別にアクセスする場合に効率が低下してしまう。
この場合のブロック図を図13に示し、読み出されるデータを図14に示す。図14(a)は図7において横方向に連続するデータの順番(横方向)に読み出す場合である。一方、図14(b)は図7において縦方向に相当する順序で読み出したい場合である。この場合には、連続してプリフェッチで読み出される4つのデータのうち、1つしか有効に用いることができない。すなわち、効率が1/4に低下していることを意味する。
すなわち、上述した特許文献の先行技術ではアクセス単位(1画素=8ビット)単位で素子を分割することで効率化していたが、これは空間的な分割には有効であるものの、プリフェッチにより連続して読み出されるデータについての時間方向の分割には全く有効ではない(図14(b))。
本出願はこの観点から、内部でデータをプリフェッチするタイプの複数のデータを連続して扱うメモリを用いた場合において、通常の横方向でも、縦方向でも、共に効率を落とすことなく、アクセスすることが可能なメモリ方法およびメモリ装置を実現することを目的とする。
すなわち、課題を解決する手段としての本発明は以下に説明するようなものである
(1)請求項1記載の発明は、各素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、ータの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを前記各記憶領域から読み出す制御を行う読み出し制御部と、を備え、Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ方法であって、前記書き込み制御部は、前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるよう制御し、前記読み出し制御部は、前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う、ことを特徴とするメモリ方法である。
(2)請求項2記載の発明は、Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ装置であって、素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるように、前記データの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う読み出し制御部と、を有することを特徴とするメモリ装置である。


)請求項記載の発明は、前記Mビットのデータの前記N個毎とNサイクル毎とについて、折り返しの判定を行う折り返し判定部を備え、前記書き込み制御部は、前記折り返し判定部における折り返し判定結果を受けて、前記書き込みの制御を行う、ことを特徴とする請求項記載のメモリ装置である。
)請求項記載の発明は、前記書き込み制御部は、前記Mビットのデータの前記N個毎とNサイクル毎を示す折り返しの判定信号を外部から受けて、前記書き込みの制御を行う、ことを特徴とする請求項記載のメモリ装置である。
)請求項記載の発明は、前記読み出し制御部は、前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向信号を外部から受けて、前記読み出しの制御を行う、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
)請求項記載の発明は、前記読み出し制御部は、読み出した前記データを利用する外部機器に応じて、前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向を判定し、前記読み出しの制御を行う、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
)請求項記載の発明は、前記書き込み制御部は、前記N個単位の前記データが、1〜Nの何番目であるか、1〜Nサイクルの何サイクル目であるかに応じて、前記メモリ群のいずれのメモリ素子へ書き込みを行うかの制御を行う、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
)請求項記載の発明は、前記1サイクルあたりN個の前記データは、外部のメモリにおいて連続するアドレスのデータがプリフェッチされて読み出されることで生成される、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
)請求項記載の発明は、前記書き込み制御部は、外部から順次与えられるN個の前記データを、前記メモリ群の各メモリ素子内のN個の記憶領域に割り振ることにより、時間情報を空間情報に変換する、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
10)請求項10記載の発明は、前記メモリはDDR SDRAMである、ことを特徴とする請求項乃至請求項のいずれか一項に記載のメモリ装置である。
本発明は、連続するアドレスのデータを一つのかたまりとして扱う際に、連続するアドレスの一つのかたまりのデータの時間方向の広がりを、メモリ上の空間方向の広がりに変換して書き込み、該空間方向の広がりにおいてデータを分割する。これにより、画像データの縦方向、横の読み出しが可能になる。さらに、画像をブロック単位で分割して扱う用途で、縦方向のブロックに対しての処理も可能になる。
本発明では、Mビット幅でMビットのデータをプリフェッチなどによりN個単位で順次取り扱う際に、前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるように、書き込み制御部が制御し、メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位のデータを、第一方向にN個単位で並んだ状態で各メモリ素子から読み出すか、あるいは、第二方向にN個単位で並んだ状態で各メモリ素子から読み出す、いずれかの制御を読み出し制御部が行うことで、メモリに書き込んだデータを第一方向(横方向)および第二方向(垂直方向)にも、データ幅を有効に使って並列に読み出せる。
すなわち、時間方向にN個の連続したデータをメモリ上で空間方向に展開し、該空間方向に展開されたMビット・N個のデータを所定の順序で書き込んでおくことで、横方向でも縦方向でもN個並列に無駄なく読み出すことが可能になる。
この結果、画像回転時の処理時間は、データをN個プリフェッチするメモリアクセスの場合に、従来技術に較べて1/Nに短縮することが可能になる。すなわち、内部でデータをプリフェッチするタイプのメモリを用いて、連続するアドレスを複数をまとめて扱うメモリにおいて、横方向、縦方向共に効率を落とすことなく、アクセスすることが可能になる。
以下、図面を参照して本発明を実施するための最良の形態(実施形態)を詳細に説明する。ここでは、本実施形態のメモリアクセス装置100の第1の実施形態の電気的な構成を、図1に基づいて詳細に説明する。なお、この実施形態では、メモリアクセス装置100の基本的な構成要件を中心に説明する。したがって、メモリアクセス装置として一般的であり、周知となっている構成要件については省略している。
なお、このメモリアクセス装置100は、請求項におけるメモリ装置、あるいは、メモリ方法を実施する装置に該当するものである。
また、このメモリアクセス装置100は、請求項における、メモリへの書き込みの制御を行う書き込み制御部と、読み出しの制御を行う読み出し制御部との機能を有するものである。
〔第一の実施形態〕
メモリシステム例として、今までの説明と同様に、画像データの1画素がM(=8)ビットであり、画像の横幅が32ビット(=4画素)の場合を考える。
そして、この実施形態では、DDR2タイプのDDR SDRAMを想定しており、4画素をひとかたまりとして扱うため、横幅方向は一つのメモリでアクセスを行い、4サイクルかけてアクセスする。
なお、従来の説明ではデータの横方向は空間的に広がっていたが、DDR SDRAM等を用いた手法では、時間方向に広がりが出来ている。
ここで、メモリ素子は、アドレスが連続した横方向のデータ(0,1,2,3,、4,5,6,7、8,9,10,11、12,13,14,15…)を連続して取得するため、縦方向(0,4,8,12、1,5,8,13、2,6,10,14、3,7,11,15…)にアクセスする場合は、1/4の時間しか有効にならず、残りの3/4の時間が無駄になるという従来と同様の問題が起きる(図13、図14)。
すなわち、縦方向のアクセスをする場合は、4つ連続してアクセスするうちの、1つのデータしか活用出来ない(図14(b))ため、1/4しか有効活用出来ない。従来手法と違うのは、従来の無駄が空間方向なのに対して、DDR SDRAM等を用いた場合の無駄が時間方向なことである。
このため本実施形態では、DDR SDRAM等の特性を考え、時間方向の無駄を無くす改善を提案する。すなわち、この実施形態では、時間方向の広がりを空間方向の広がりに変換し、この空間方向の広がりの上で並び替えを行って、横アクセス・縦アクセスを迅速に実行することが出来れば、従来と同様に分割することが可能になる。
まず、ここでは、図1、図3のように、Mビット幅でMビットのデータをN個単位で順次取り扱うメモリアクセス装置100を想定する。
なお、この実施形態では、従来例の説明と同様に、M=8、N=4を具体例とする。
そして、この実施形態では、図3(a)のような時間方向にN個ずつ連続したMビッのデータに対して、各素子あたりM/Nビット(=2ビット)幅で入出力するMビットの記憶領域をN個備えたメモリ素子(200a〜200d)を、N素子並列に備えたメモリ群を用いることで、一つのメモリ素子で扱うビット幅を狭くすることで、時間方向の広がりを、横(第一方向)と縦(第二方向)との空間方向の広がりに変換する(図3(a)、(b))。
そして、従来のビット幅と時間方向の広がりをかけたものを、ここでは、狭くしたビット幅と空間方向の広がりに変換し、1つのメモリ素子がアクセス単位となるようにする。
このようにすることで、DDR SDRAM等のプリフェッチの特性を活用したまま、時間方向の広がりを空間方向の広がりに置き換えて、データの並べ替えが可能になる。
図3(b)に示す具体例の場合は、2ビット幅×4cycle=8ビット(1画素)である。
次に、このような時間−空間変換を実現するためのメモリアクセス装置100について、図1のブロック図と、図2のフローチャートと、図3以降の説明図を参照して説明する。
なお、この実施形態でも、画像に対するアドレスの付け方は、図10と同様に通常通りにしておき、実際のメモリへの割り付けで、入れ替えパターン#0〜入れ替えパターン#3の4通りに入れ替え(スワップ)する。
本実施形態でも、図10〜図12の各部に付したハッチングの向きの、150度、120度、60度、30度の4通りと同様に、同じハッチングの向きのデータが、同じハッチングの向きのメモリに割り付けられるように制御する。
このメモリアクセス装置100は、ユーザーロジック300とメモリ200(上述のメモリ素子200a〜200dからなるメモリ群)の間に配置されるものである。なお、ここで各メモリ素子200a〜200dは、メモリ200の各ウェイであり、ここではway_0〜way_3である。
メモリアクセス装置100は、コマンド分割部110,縦横判別部120,入れ替えパターン判別部130,制御信号・アドレス生成部140を備えて構成されている。また、このメモリアクセス装置100は、請求項における、メモリへの書き込みの制御を行う書き込み制御部と、読み出しの制御を行う読み出し制御部との機能を有するものである。
また、このメモリアクセス装置100は、連続するアドレスの一つのかたまりのデータの時間方向の広がりを、メモリ上の空間方向の広がりに変換して書き込み、該空間方向の広がりにおいてデータを分割する機能を有する。
ここで、縦横判別部120は、ユーザロジック300からのメモリ200内のデータへのアクセスが縦方向なのか、横方向なのかを判別する。
なお、この縦/横判別は、ユーザロジック300から識別信号などで明示的に示されても良いし、アクセするデータのアドレス範囲などでの識別してもよい。また、ユーザロジック300が複数存在している場合には、ユーザロジック毎で縦/横判別しても良い。
コマンド分割部110は、メモリ200における予め定められた一回のアクセス単位に応じて、ユーザロジック300からのアクセスを分割する。たとえば、ユーザロジック300からは、access_bit×α倍という単位でのアクセスが発行される。ここで、メモリの横幅が8ビットの場合は、8ビット×4サイクル等と決まっているので、access_bit=8ビットとすると、ユーザロジック300から8ビット×16サイクルというアクセスが来た場合には、4サイクル毎の4つのコマンドに分割する。
入れ替えパターン判別部130では、以上のようにしてコマンドが分割されたら、分割されたコマンドのアドレスと、折り返しアドレスturn_addの値から、メモリ200の各記憶領域にデータを入れる際の入れ替えパターンを決定する。
なお、この入れ替えパターン判別は、ユーザロジック300側で実行し、ユーザロジック300側からメモリアクセス装置100に与える方式であっても良い。
なお、この入れ替えパターンによるデータの入れ替え(順序の変更)としては、メモリ200の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるように、Nサイクル単位で、データの書き込み時にメモリ200へ送られてくるデータの順序を変換して書き込みを行うことである。
制御信号・アドレス生成部140では、メモリ200の各ウェイ(way_0〜way_3)対応に制御信号を生成する。ここでは、メモリ200のそれぞれのway のアドレスだけでなく、書き込みを制御する信号を生成する必要がある。
制御信号・アドレス生成部140は、横方向のアクセスの場合は、各way で同一のアドレスを生成し、縦方向のアクセスの場合は、それぞれの縦方向に対応するアドレスを生成する。
従来の空間方向の広がりだけの場合は、各メモリ素子毎に書き込むか書き込まないかを示す信号を生成するだけで良かったが本手法では、空間的な広がり方向だけではなく、時間方向にも制御する必要がある。そこで、制御信号・アドレス生成部140は、この時間方向に制御する信号をそれぞれのメモリ素子毎に生成する。
また、制御信号・アドレス生成部140が発生する制御信号は、完全にメモリ素子毎に別々に生成しても良いが、共通化して使用出来る部分に関しては、共通化しても良い。共通化出来る信号としては、
・リクエストの制御,
・アドレス上位,
がある。また、制御信号・アドレス生成部140が発生する信号で、共通化出来ないものとしては、
・書き込みの制御,
・データ,
がある。
以上のように構成したメモリアクセス装置100において、図3(a)のような時間方向にN個ずつ連続したMビッのデータに対して、各素子あたりM/Nビット(=2ビット)幅で入出力するMビットの記憶領域をN個備えたメモリ素子(200a〜200d)を、N素子並列に備えたメモリ群を用いることで、一つのメモリ素子で扱うビット幅を狭くすることで、時間方向の広がりを空間方向の広がりに変換する(図2ステップS201)。
ここで、メモリ200の各群(各メモリ素子)を並べる方向を第一方向(横方向)、各メモリ素子内でN個の記憶領域の並び方向を第二方向(縦方向)とした場合に、第二方向に並んだ状態で読み出される際のN個のデータ(図4の二点鎖線で囲まれたN個ずつのデータ、すなわち、当初の並びのデータを90度回転させた状態のN個ずつのデータ)がそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内(図4の一点鎖線で囲まれたN個ずつのグループ)で並べ替えるように、Nサイクル単位で制御し、データの書き込み時にメモリ200へ送られてくるデータの順序を変換して書き込みを行う(図2ステップS202、図3(b))。この場合、入れ替えパターン判別部130が、以上のような順序変換に対応するN種類のパターンを決定することで、データの順序の変換がなされる。
すなわち、図4の二点鎖線で囲まれたN個ずつのデータ(縦方向の読み出しの際のデータのまとまり)がそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、図4の一点鎖線で囲まれたN個ずつのグループの範囲内で並べ替えた場合、図4(b)の状態となる。
これにより、時間方向の広がりが空間方向の広がりに変換され、かつ、横(第一方向)・縦(第二方向)いずれの読み出しも、メモリのバス幅を有効に使って、並列に実行できる状態になる。
このようにデータの書き込みを行った後に、ユーザロジック300から横方向の読み出しの要求があった場合、制御信号・アドレス生成部140は横方向読み出しに対応して、図6(a)のように各メモリ素子のアドレスを同じにして、各wayからの読み出しを指示する。
これにより、図5(a)のように、横方向の読み出しパターンに応じて読み出される。本実施形態でも、図10〜図12の各部に付したハッチングの向きの、150度、120度、60度、30度の4通りと同様に、同じハッチングの向きのデータが、同じハッチングの向きのメモリに割り付けられ、読み出されるように制御する。この結果、既に説明した図12(a)と同様になる(図2ステップS203(第一方向)、ステップS204A)。
一方、以上のようにデータの書き込みを行った後に、ユーザロジック300から縦方向の読み出しの要求があった場合、制御信号・アドレス生成部140は縦方向読み出しに対応して、図6(b)のように各メモリ素子のアドレス入れ替えパターンに応じて変更し、各wayからの読み出しを指示する(図2ステップS203(第二方向)、ステップS204B)。
これにより、図5(b)のように、縦方向の読み出しパターンに応じて読み出される。すなわち、この実施形態でも、図10〜図12の各部に付したハッチングの向きの、150度、120度、60度、30度の4通りと同様に、同じハッチングの向きのデータが、同じハッチングの向きのメモリに割り付けられ、読み出されるように制御する。この結果、図7や図11を縦方向に読み出した状態となり、読み出し結果は図12(b)と同様になる。
以上説明したように、メモリ200に書き込んだデータを第一方向(横方向)および第二方向(垂直方向)にも、データ幅を有効に使って並列に読み出せる。
すなわち、時間方向にN個の連続したデータをメモリ上で空間方向に展開し、該空間方向に展開されたMビット・N個のデータを所定の順序で書き込んでおくことで、横方向でも縦方向でもN個並列に無駄なく読み出すことが可能になる。
この結果、画像回転時の処理時間は、データをN個プリフェッチするメモリアクセスの場合に、従来技術に較べて1/Nに短縮することが可能になる。すなわち、内部でデータをプリフェッチするタイプのメモリを用いて、連続するアドレスを複数をまとめて扱うメモリにおいて、横方向、縦方向共に効率を落とすことなく、アクセスすることが可能になる。
以上説明したように、以上の実施形態では、連続するアドレスのデータを一つのかたまりとして扱う際に、連続するアドレスの一つのかたまりのデータの時間方向の広がりを、メモリ上の空間方向の広がりに変換して書き込み、該空間方向の広がりにおいてデータを分割することにより、画像データの縦方向、横の読み出しが可能になり、さらに、画像をブロック単位で分割して扱う用途で、縦方向のブロックに対しての処理も可能になる。
〔その他の実施形態(1)〕
以上の実施形態で説明したメモリアクセス以外のデータ形式、ビット幅、アクセス数など、各種の変形が可能であり、これ以外の数値であっても良好な結果を得ることが可能である。
〔その他の実施形態(2)〕
以上の実施形態では、書き込み制御と読み出し制御とを一連の動作として説明してきたが、書き込み制御の部分のみ、書き込み制御がなされた状態における読み出し制御の部分の一方のみを実行する方法や装置も、本発明の一実施形態である。
〔付記〕
以下に記載する各付記のメモリ方法とメモリ装置も、本実施形態の一態様である。
〔付記1〕
連続するアドレスのデータを一つのかたまりとして扱うメモリ方法であって、
連続するアドレスの一つのかたまりのデータの時間方向の広がりを、メモリ上の空間方向の広がりに変換して書き込む、
ことを特徴とするメモリ方法。
〔付記2〕
連続するアドレスのデータを一つのかたまりとして扱うメモリ装置であって、
連続するアドレスの一つのかたまりのデータの時間方向の広がりを、メモリ上の空間方向の広がりに変換して書き込む、
ことを特徴とするメモリ装置。
〔付記3〕
各素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、
前記データの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、を備え、
Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ方法であって、
前記書き込み制御部は、
前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるよう制御する、
ことを特徴とするメモリ方法。
〔付記4〕
Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ装置であって、
前記各素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、
前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるように、前記データの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、
を有することを特徴とするメモリ装置。
〔付記5〕
前記Mビットのデータの前記N個毎とNサイクル毎とについて、折り返しの判定を行う折り返し判定部を備え、
前記書き込み制御部は、前記折り返し判定部における折り返し判定結果を受けて、前記書き込みの制御を行う、
ことを特徴とする付記4記載のメモリ装置。
〔付記6〕
前記書き込み制御部は、
前記Mビットのデータの前記N個毎とNサイクル毎を示す折り返しの判定信号を外部から受けて、前記書き込みの制御を行う、
ことを特徴とする付記4記載のメモリ装置。
〔付記7〕
前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う読み出し制御部を更に備え、
前記読み出し制御部は、
前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向信号を外部から受けて、前記読み出しの制御を行う、
ことを特徴とする付記4乃至付記6のいずれか一項に記載のメモリ装置。
〔付記8〕
前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う読み出し制御部を更に備え、
前記読み出し制御部は、
読み出した前記データを利用する外部機器に応じて、前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向を判定し、前記読み出しの制御を行う、
ことを特徴とする付記4乃至付記6のいずれか一項に記載のメモリ装置。
〔付記9〕
前記書き込み制御部は、
前記N個単位の前記データが、1〜Nの何番目であるか、1〜Nサイクルの何サイクル目であるかに応じて、前記メモリ群のいずれのメモリ素子へ書き込みを行うかの制御を行う、
ことを特徴とする付記4乃至付記8のいずれか一項に記載のメモリ装置。
〔付記10〕
前記1サイクルあたりN個の前記データは、
外部のメモリにおいて連続するアドレスのデータがプリフェッチされて読み出されることで生成される、
ことを特徴とする付記4乃至付記9のいずれか一項に記載のメモリ装置。
〔付記11〕
前記書き込み制御部は、
外部から順次与えられるN個の前記データを、前記メモリ群の各メモリ素子内のN個の記憶領域に割り振ることにより、時間情報を空間情報に変換する、
ことを特徴とする付記4乃至付記10のいずれか一項に記載のメモリ装置。
〔付記12〕
前記メモリはDDR SDRAMである、
ことを特徴とする付記4乃至付記11のいずれか一項に記載のメモリ装置。
本発明の実施形態のメモリアクセス装置の構成を示す説明図である。 本発明の実施形態のメモリアクセス装置の動作を示すフローチャートである。 本発明の実施形態のメモリアクセス装置の動作を示す説明図である。 本発明の実施形態のメモリアクセス装置の動作を示す説明図である。 本発明の実施形態のメモリアクセス装置の動作を示す説明図である。 本発明の実施形態のメモリアクセス装置の動作状態を説明する説明図である。 メモリアクセスの様子を説明する説明図である。 メモリアクセス装置の構成を説明する説明図である。 メモリアクセスの様子を説明する説明図である。 メモリアクセス装置の構成を説明する説明図である。 メモリアクセスの様子を説明する説明図である。 メモリアクセスの様子を説明する説明図である。 メモリアクセス装置の構成を説明する説明図である。 メモリアクセスの様子を説明する説明図である。
符号の説明
100 メモリアクセス装置
110 コマンド分割部
120 縦横判定部
130 入れ替えパターン判別部
140 制御信号・アドレス生成部
200 メモリ
300 ユーザロジック

Claims (10)

  1. 各素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、
    ータの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、
    前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを前記各記憶領域から読み出す制御を行う読み出し制御部と、を備え、
    Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ方法であって、
    前記書き込み制御部は、
    前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるよう制御し、
    前記読み出し制御部は、
    前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う、
    ことを特徴とするメモリ方法。
  2. Mビット幅でMビットのデータをN個単位で順次取り扱うメモリ装置であって、
    素子あたりM/Nビット幅で入出力するMビットの記憶領域をN個備えたメモリ素子を、N素子並列に備えたメモリ群と、
    前記メモリ群の各メモリ素子を並べる方向を第一方向、各メモリ素子内でN個の記憶領域の並び方向を第二方向とした場合に、第二方向に並んだ状態で読み出される際のN個のデータがそれぞれ別なメモリ素子に書き込まれるように、Mビット単位でN個連続して与えられるデータを、別なメモリ素子の第二方向に同じ位置の記憶領域の範囲内で並べ替えるように、前記データの書き込み時に前記メモリ群へ送られてくる前記データの順序を変換して書き込みを行う書き込み制御部と、
    前記メモリ群の各メモリ素子のそれぞれの記憶領域に書き込まれたMビット単位の前記データを、第一方向にN個単位で並んだ状態となるように前記各メモリ素子の同じ記憶領域の位置から読み出すか、あるいは、第二方向にN個単位で並んだ状態となるように前記各メモリ素子の異なる記憶領域の位置から読み出す、いずれかの制御を行う読み出し制御部と、
    を有することを特徴とするメモリ装置。
  3. 前記Mビットのデータの前記N個毎とNサイクル毎とについて、折り返しの判定を行う折り返し判定部を備え、
    前記書き込み制御部は、前記折り返し判定部における折り返し判定結果を受けて、前記書き込みの制御を行う、
    ことを特徴とする請求項2記載のメモリ装置。
  4. 前記書き込み制御部は、
    前記Mビットのデータの前記N個毎とNサイクル毎を示す折り返しの判定信号を外部から受けて、前記書き込みの制御を行う、
    ことを特徴とする請求項2記載のメモリ装置。
  5. 前記読み出し制御部は、
    前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向信号を外部から受けて、前記読み出しの制御を行う、
    ことを特徴とする請求項2乃至請求項4のいずれか一項に記載のメモリ装置。
  6. 前記読み出し制御部は、
    読み出した前記データを利用する外部機器に応じて、前記データが第一方向にN個並んだ状態で読み出すか、前記データが第二方向にN個並んだ状態で読み出すかの方向を判定し、前記読み出しの制御を行う、
    ことを特徴とする請求項2乃至請求項4のいずれか一項に記載のメモリ装置。
  7. 前記書き込み制御部は、
    前記N個単位の前記データが、1〜Nの何番目であるか、1〜Nサイクルの何サイクル目であるかに応じて、前記メモリ群のいずれのメモリ素子へ書き込みを行うかの制御を行う、
    ことを特徴とする請求項2乃至請求項6のいずれか一項に記載のメモリ装置。
  8. 前記1サイクルあたりN個の前記データは、
    外部のメモリにおいて連続するアドレスのデータがプリフェッチされて読み出されることで生成される、
    ことを特徴とする請求項2乃至請求項7のいずれか一項に記載のメモリ装置。
  9. 前記書き込み制御部は、
    外部から順次与えられるN個の前記データを、前記メモリ群の各メモリ素子内のN個の記憶領域に割り振ることにより、時間情報を空間情報に変換する、
    ことを特徴とする請求項2乃至請求項8のいずれか一項に記載のメモリ装置。
  10. 前記メモリはDDR SDRAMである、
    ことを特徴とする請求項2乃至請求項9のいずれか一項に記載のメモリ装置。
JP2008120589A 2008-05-02 2008-05-02 メモリ方法およびメモリ装置 Active JP5298625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008120589A JP5298625B2 (ja) 2008-05-02 2008-05-02 メモリ方法およびメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008120589A JP5298625B2 (ja) 2008-05-02 2008-05-02 メモリ方法およびメモリ装置

Publications (2)

Publication Number Publication Date
JP2009271668A JP2009271668A (ja) 2009-11-19
JP5298625B2 true JP5298625B2 (ja) 2013-09-25

Family

ID=41438174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008120589A Active JP5298625B2 (ja) 2008-05-02 2008-05-02 メモリ方法およびメモリ装置

Country Status (1)

Country Link
JP (1) JP5298625B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782373B1 (ko) 2010-11-10 2017-09-29 삼성전자 주식회사 X-y 스택 메모리를 이용한 컴퓨팅 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH079572B2 (ja) * 1986-10-16 1995-02-01 株式会社日立製作所 パタ−ンデ−タの縦横変換装置
JPH0554132A (ja) * 1991-07-09 1993-03-05 Fuji Xerox Co Ltd 画像回転用メモリ装置
JPH07110786A (ja) * 1993-10-14 1995-04-25 Matsushita Electric Ind Co Ltd 半導体記憶装置
JP3732593B2 (ja) * 1996-09-30 2006-01-05 株式会社東芝 画像処理装置
JP4701620B2 (ja) * 2004-03-15 2011-06-15 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム

Also Published As

Publication number Publication date
JP2009271668A (ja) 2009-11-19

Similar Documents

Publication Publication Date Title
JP5040660B2 (ja) 記憶領域割当システム及び方法と制御装置
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
KR100648293B1 (ko) 그래픽 시스템 및 그것의 그래픽 처리 방법
US20060218315A1 (en) Memory access control circuit
JP5137374B2 (ja) メモリマッピング方法及び装置
US7096312B2 (en) Data transfer device and method for multidimensional memory
JP2020166346A (ja) 半導体記憶装置
US20080126691A1 (en) Apparatus and method of partially accessing dynamic random access memory
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
JP2005116167A (ja) アドレス信号によって動作モードを設定するメモリシステム及び方法
JP5298625B2 (ja) メモリ方法およびメモリ装置
JP2009217640A (ja) データ転送制御装置
JP6226200B2 (ja) メモリーコントローラー
JP2011175450A (ja) メモリアクセスシステムおよびメモリアクセス制御方法
JP5348157B2 (ja) 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法
JP2000293432A (ja) バンク可変メモリ
JP5204777B2 (ja) メモリ装置及びその制御方法
JP2007172129A (ja) 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム
JP2001256106A (ja) メモリアクセスシステム
JP4908565B2 (ja) メモリシステム
CN113539322B (zh) 包括多个区域的存储器件、存储器控制器以及存储系统
JP4940894B2 (ja) 同期型メモリ回路
KR101335367B1 (ko) 메모리 제어 장치 및 방법
JP2002163887A (ja) シンクロナスdram
TWI442383B (zh) 顯示裝置之記憶體架構及其控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R150 Certificate of patent or registration of utility model

Ref document number: 5298625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150