JP4969811B2 - 情報処理システム及びメモリ制御装置 - Google Patents

情報処理システム及びメモリ制御装置 Download PDF

Info

Publication number
JP4969811B2
JP4969811B2 JP2005212922A JP2005212922A JP4969811B2 JP 4969811 B2 JP4969811 B2 JP 4969811B2 JP 2005212922 A JP2005212922 A JP 2005212922A JP 2005212922 A JP2005212922 A JP 2005212922A JP 4969811 B2 JP4969811 B2 JP 4969811B2
Authority
JP
Japan
Prior art keywords
data
memory
address
memories
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.)
Expired - Fee Related
Application number
JP2005212922A
Other languages
English (en)
Other versions
JP2007034404A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005212922A priority Critical patent/JP4969811B2/ja
Priority to US11/365,533 priority patent/US7447830B2/en
Publication of JP2007034404A publication Critical patent/JP2007034404A/ja
Application granted granted Critical
Publication of JP4969811B2 publication Critical patent/JP4969811B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

本発明は、メモリ制御技術に係り、特に複数のメモリを含むシステムの情報処理システム及びメモリ制御装置に関する。
システム半導体装置のピン数を減らすため、システム半導体装置から複数のメモリに出力される制御信号及びアドレス信号は共有されることが多い。その場合、システム半導体装置のメモリ制御装置は、同一サイクルにおいて複数のメモリの同一のアドレスにアクセスする。
メモリがシンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM)の場合、システム半導体装置のデータ処理装置が、メモリアクセスリクエスト信号でリクエストReq(A)をメモリ制御装置に出力すると、メモリ制御装置はメモリに制御及びアドレス信号でコマンドCmd(A)を出力する(A:アドレス。以下において同様。)。コマンドCmd(A)は、アドレスAに対する読み出し動作或いは書き込み動作を指定する。メモリがSDRAMの場合、リクエストReq(A)とコマンドCmd(A)はSDRAMのバースト長分のデータ転送に対応する。
又、メモリがSDRAMの場合、コマンドCmd(A)はプリチャージコマンド、アクティベートコマンド、ライトコマンド、及びリードコマンド等の複数のコマンドを含む場合がある。ただし、一つのコマンドCmd(A)に、それぞれのコマンドは多くとも一つしか含まれない。ライトコマンドとリードコマンドはどちらか一方が必ずコマンドCmd(A)に含まれる。
例えば、メモリ制御装置からメモリ0及びメモリ1にコマンドCmd(A)が出力される場合、コマンドCmd(A)に対応して、メモリ0用データ信号でメモリ0とメモリ制御装置間でデータD0(A)のデータ転送が実行される。更に、メモリ1用データ信号でメモリ1とメモリ制御装置間でデータD1(A)のデータ転送が実行される。この時、データD0(A)及びデータD1(A)のデータ転送は同一サイクルで行われる。又、リクエストデータ信号でデータ処理装置とシステムメモリ制御装置間でデータD0(A)及びデータD1(A)のデータ転送が同一サイクルで行われる。
したがって、例えばデータ処理装置が要求するデータがメモリ0に格納されたデータD0(A)のみであっても、データ処理装置が要求するデータD0(A)とアドレスAが同一のメモリ1に格納されたデータD1(A)も読み出される。必要ないデータD1(A)を読み出すために、データ処理装置の要求に対するアクセスに要するサイクル数が増大する場合がある。
上記問題を解決するために、必要ないデータを読み出さないために、アドレス線を複数のメモリにそれぞれ接続して、メモリ毎にアドレスを指定する方法がある(例えば、特許文献1参照。)。しかし、複数のアドレス線を接続するために、システム半導体装置のピン数が増大するという問題が生じる。
米国特許第6289429号明細書
本発明は、アクセス要求されていないデータへのアクセスによるサイクル数の増大を抑制する情報処理システム及びメモリ制御装置を提供する。
本願発明の一態様によれば、(イ)MI〜Mn-1からなる第1のメモリ群とM0〜MI-1からなる第2のメモリ群とにグループ化された複数のメモリと(n:2以上の整数、I:1以上且つnより小さい整数)、(ロ)複数のメモリに対するアクセス要求を出力するデータ処理装置と、(ハ)アクセス要求が入力され、アクセス要求に含まれる第1のアドレスを用いて第2のアドレスを算出するアドレス算出回路、第1のアドレスによりアクセスされる第1のメモリ群の動作を制御する第1の制御コマンド及び第2のアドレスによりアクセスされる第2のメモリ群の動作を制御する第2の制御コマンドを互いに異なるサイクルに出力する制御部、及び複数のメモリから出力されるデータを格納し、メモリ毎に1のデータバッファを備えるデータ転送部を含むメモリ制御装置とを備え、メモリ制御装置によって複数のメモリとデータ処理装置間のデータ転送が制御される情報処理システムが提供される。
本願発明の他の態様によれば、複数のメモリをMI〜Mn-1からなる第1のメモリ群とM0〜MI-1からなる第2のメモリ群とにグループ化して制御するメモリ制御装置であって(n:2以上の整数、I:1以上且つnより小さい整数)、(イ)第1のメモリ群にアクセスする第1のアドレスを用いて、第2のメモリ群にアクセスする第2のアドレスを算出するアドレス算出回路と、(ロ)第1のメモリ群の動作を制御する第1の制御コマンド及び第2のメモリ群の動作を制御する第2の制御コマンドを互いに異なるサイクルに出力する制御部と、複数のメモリから出力されるデータを格納し、メモリ毎に1のデータバッファを備えるデータ転送部とを備えるメモリ制御装置が提供される。
本発明によれば、アクセス要求されていないデータへのアクセスによるサイクル数の増大を抑制する情報処理システム及びメモリ制御装置を提供できる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
本発明の実施の形態に係る情報処理システムは、図1に示すように、複数のメモリM0〜Mn-1、データ処理装置10、及び複数のメモリM0〜Mn-1を第1のメモリ群G1と第2のメモリ群G2とにグループ化して制御するメモリ制御装置20とを備える(n:2以上の整数)。メモリ制御装置20によってメモリM0〜Mn-1とデータ処理装置10間のデータ転送が制御される。図1に示すシステム半導体装置1は、同一チップ上に集積化されたデータ処理装置10及びメモリ制御装置20を含む。メモリM0〜Mn-1は、SDRAM等が採用可能である。ここで、メモリM0〜Mn-1に付された番号をメモリ番号とする。例えば、メモリM0のメモリ番号は0である。
データ処理装置10は、メモリM0〜Mn-1に対するアクセス要求として、リクエストReq(A,I)をメモリアクセスリクエスト信号でメモリ制御装置20に出力する。リクエストReq(A,I)は、第1のアドレスA及び切替情報である切替番号Iを含む。切替情報は、データ処理装置10が要求するデータが格納された、メモリM0〜Mn-1それぞれのアドレスに基づき設定される。後述するように、切替情報を用いてメモリM0〜Mn-1がグループ化される。
メモリ制御装置20に、第1のアドレスAを含むリクエストReq(A,I)が入力する。メモリ制御装置20は、第1のメモリ群G1にアクセスする第1のアドレスAを用いて、第2のメモリ群G2にアクセスする第2のアドレスf(A)を算出するアドレス算出回路21と、第1のメモリ群G1の動作を制御する第1の制御コマンドCmd(A)及び第2のメモリ群G2の動作を制御する第2の制御コマンドCmd(f(A))を互いに異なるサイクルに出力する制御部22とを備える。更に、メモリ制御装置20は、メモリM0〜Mn-1との間でそれぞれデータD0〜Dn-1を転送するデータ転送部23を備える。
制御部22は、メモリ選択回路221、及びコマンド出力回路222を備える。メモリ選択回路221は、第1のメモリ群G1及び第2のメモリ群G2毎に、第1の制御コマンドCmd(A)及び第2の制御コマンドCmd(f(A))による制御を有効にする。コマンド出力回路222は、第1の制御コマンドCmd(A)を第1のメモリ群G1に、第2の制御コマンドCmd(f(A))を第2のメモリ群G2に、それぞれ出力する。
以下では、メモリ番号が切替番号Iより小さい第2のメモリ群G2と、メモリ番号が切替番号I以上の第1のメモリ群G1に、メモリM0〜Mn-1をグループ分けするように切替番号Iが設定されている場合について説明する。つまり、データ処理装置10が読み出し要求するデータを第1のアドレスAに格納するメモリMI〜Mn-1を第1のメモリ群G1とする。データ処理装置10が要求するデータを第2のアドレスf(A)に格納するメモリM0〜MI-1を第2のメモリ群G2とする。
先ず、メモリ選択回路221は、第1の制御コマンドCmd(A)を有効にするために、メモリセレクト信号SI〜Sn-1を第1のメモリ群G1であるメモリMI〜Mn-1にそれぞれ出力する。そしてコマンド出力回路222がメモリMI〜Mn-1に第1の制御コマンドCmd(A)を出力する。その結果、メモリMI〜Mn-1からデータDI〜Dn-1がそれぞれ読み出される。
次に、メモリ選択回路221は、第2の制御コマンドCmd(f(A))を有効にするために、メモリセレクト信号S0〜SI-1を第2のメモリ群G2であるメモリM0〜MI-1にそれぞれ出力する。そしてコマンド出力回路222が、メモリM0〜MI-1に第2の制御コマンドCmd(f(A))を出力する。その結果、メモリM0〜MI-1からデータD0〜DI-1がそれぞれ読み出される。
第1のメモリ群G1から読み出されたデータDI〜Dn-1は、データ転送部23に含まれるバッファ回路232のデータバッファDBI〜DBn-1にそれぞれ格納される。第2のメモリ群G2から読み出されたデータD0〜DI-1は、バッファ回路232に含まれるセレクタSE0〜SEI-1を介して、データ転送部23に含まれるコンカチネイト回路231に入力する。データバッファDBI〜DBn-1に格納されたデータDI〜Dn-1は、バッファ回路232に含まれるセレクタSEI〜SEn-1を介して、コンカチネイト回路231に入力する。コンカチネイト回路231は、セレクタSE0〜SEn-1からそれぞれ転送されるデータを連結してデータ列DTを作成し、データ処理装置10に出力する。つまり、コンカチネイト回路231は、メモリM0〜MI-1からそれぞれ読み出されるデータD0〜Dn-1を連結して1つのデータ列DTを作成する回路である。
上記で説明したように、セレクタSE0〜SEn-1は、データバッファDB0〜DBn-1に格納されたデータとメモリM0〜Mn-1から読み出されたデータのいずれかをそれぞれ選択する。上記の例では、先ず第1のメモリ群G1からデータDI〜Dn-1が読み出され、その後第2のメモリ群G2からデータD0〜DI-1が読み出される。そのため、データDI〜Dn-1がデータバッファDBI〜DBn-1に一旦格納される。そして、データD0〜DI-1が読み出された時に、セレクタSE0〜SEI-1は第2のメモリ群G2から読み出されたデータDI〜Dn-1を選択し、セレクタSEI〜SEn-1はデータバッファDB0〜DBI-1に格納されたデータDI〜Dn-1を選択する。一方、先ず第2のメモリ群G2からデータD0〜DI-1が読み出され、その後第1のメモリ群G1からデータDI〜Dn-1が読み出される場合には、セレクタSE0〜SEI-1はデータバッファDB0〜DBI-1に格納されたデータD0〜DI-1を選択し、セレクタSEI〜SEn-1は第1のメモリ群G1から読み出されたデータDI〜Dn-1を選択する。つまり、セレクタSE0〜SEn-1は、切替情報を参照してデータを選択する。そのため、リクエストReq(A,I)がバッファ回路232に入力する。
以下に、図1に示す情報処理システムを、H264デコード等の2次元データの処理に適用する例を説明する。「2次元データ」とは、仮想領域上にマトリクス状に配置された画像データ等である。
図2に、2次元データの例を示す。図2に示した2次元データは、y=0のデータD0(A[0,0])、D1(A[0,0])、D0(A[1,0])及びD1(A[1,0])がx方向に配置されたデータである。ここで、”D”の添え字は、データが格納されたメモリを示す。つまり、データD0(A[0,0])及びデータD0(A[1,0])はメモリM0に格納されたデータ、データD1(A[0,0])及びデータD1(A[1,0])はメモリM1に格納されたデータである。又、アドレスA[0,0]の”[0,0]”は、2次元データの座標を示す。例えば、データD0(A[0,0])は、メモリM0に格納された座標(0,0)のデータである。図2に示した2次元データの座標(x,y)のデータは、データD0(A[x,y])及びデータD1(A[x,y])を含む。つまり、同一座標のデータが、メモリM0及びメモリM1の同一アドレスに格納される。
以下で、図1に示したデータ処理装置10が、図2にハッチングで示した”データD1(A[0,0])及びデータD0(A[1,0])”を要求する場合を説明する。アドレス算出回路21は、式(1)に示す関数によって、第1のアドレスA[x,y]から第2のアドレスf(A[x,y])を算出するように設定される。

f(A[x,y])=A[x+1,y] ・・・・・(1)

データ処理装置10は、リクエストReq(A[0,0],1)をメモリ制御装置20に出力する。アドレス算出回路21は、式(1)を用いて、第1のアドレスA[0,0]から、第2のアドレスf(A[0,0])=A[1,0]を算出する。第1のアドレスA[0,0]及び第2のアドレスA[1,0]は制御部22に入力する。
制御部22は、第1のアドレスA[0,0]、第2のアドレスA[1,0]及び切替番号I=1に基づき、メモリM0〜M1をグループ化する。即ち、メモリM1を第1のアドレスA[0,0]にアクセスされる第1のメモリ群G1、メモリM0を第2のアドレスA[1,0]にアクセスされる第2のメモリ群G2である。そして、メモリ選択回路221が、第1のメモリ群G1であるメモリM1にメモリセレクト信号S1を出力する。次いで、コマンド出力回路222が、第1の制御コマンドCmd(A[0,0])をメモリM1に出力する。その結果、メモリM1のアドレスA[0,0]に格納されたデータD1がデータバッファDB1に転送される。
その後、メモリ選択回路221が、第2のメモリ群G2であるメモリM0にメモリセレクト信号S0を出力する。次いで、コマンド出力回路222が、第2の制御コマンドCmd(A[1,0])をメモリM1に出力する。その結果、メモリM0のアドレスA[1,0]に格納されたデータD0が、セレクタSE0を介してコンカチネイト回路231に転送される。同時に、データバッファDB1に格納されたデータD1がセレクタSE1を介してコンカチネイト回路231に転送される。コンカチネイト回路231は、データD0及びデータD1からなるデータ列DTをデータ処理装置10に出力する。
比較のため、先行技術によって、図2に示したデータD1(A[0,0])及びD0(A[1,0])を読み出す例を以下に示す。先行技術では、リクエストReq(A[0,0])に応じてデータD0(A[0,0])及びデータD1(A[0,0])のデータ転送が行われる。その後、リクエストReq(A[1,0])に応じて、データD0(A[1,0])及びデータD1(A[1,0])のデータ転送が行われる。
上記に説明したように、先行技術では、1つのリクエストによってメモリM0及びメモリM1の同一アドレスに格納された同一座標のデータが読み出される。そのため、データ処理装置が要求していないデータD0(A[0,0])及びデータD1(A[1,0])のデータ転送が行われる。
一方、図1に示した情報処理システムでは、1つのリクエストによってメモリM0及びメモリM1の異なるアドレスのデータを読み出すことができる。その結果、図1に示した情報処理システムを用いることにより、データ処理装置10の要求に対するデータ読み出し処理に要する時間を、先行技術に比較して短縮することができる。
次に、図3に示す2次元データの処理に、図1に示す情報処理システムを適用する例を説明する。図3に示した2次元データは、y方向に4個、x方向に3個のデータが配置された2次元データである。又、座標(x,y)のデータは、メモリM0に格納されたデータD0(A[x,y])及びメモリM1に格納されたデータD1(A[x,y])を含む。以下では、データ処理装置10が、図3にハッチングで示した”データD1(A[0,j])及びデータD0(A[1,j])”、”データD1(A[1,j])及びデータD0(A[2,j])”を要求する場合を説明する(j=0〜3)。図3にハッチングで示したデータを読み出すため、データ処理装置10は、リクエストReq(A[0,j],1)及びリクエストReq(A[1,j],1)をメモリ制御装置20に順次出力する。切替番号Iは1である。つまり、メモリM1が第1のアドレスA[0,j]にアクセスされる第1のメモリ群G1、メモリM0が第2のアドレスA[1,j]にアクセスされる第2のメモリ群G2である。第2のアドレスA[1,j]は、式(1)により算出される。
メモリ制御装置20の動作を図4に示すタイミングチャートを用いて説明する。尚、メモリM0〜M1は、ダブル・データ・レート・2(DDR2)SDRAM(以下において、「DDR2メモリ」という。)とする。ここで、アドレスA[x,y]は、DDR2メモリのローアドレスR[x,y]、バンクセレクトB[x,y]及びカラムアドレスC[x,y]からなるとする。更に、図3に示したx=0〜2及びy=0〜3において、ローアドレスR[x,y]=R0、及びバンクセレクトB[x,y]=B0であるとする。
図4において、信号CSは図1に示した情報処理システムのシステムクロックである。メモリセレクト信号SE0及びSE1は、ローレベルの場合に有効である。つまり、メモリセレクト信号SE0がローレベルの場合に、メモリM0を制御する第2の制御コマンドCmd(f(A))が有効になる。一方、メモリセレクト信号SE1がローレベルの場合に、メモリM1を制御する第1の制御コマンドCmd(A)が有効になる。即ち、図4では、メモリセレクト信号SE0がローレベルの場合には、信号CDは第2の制御コマンドCmd(f(A))を示し、メモリセレクト信号SE1がローレベルの場合には、信号CDは第1の制御コマンドCmd(A)を示す。コマンドBPcgはバンクプリチャージコマンド、コマンドActはアクティベートコマンド、コマンドReadはリードコマンド、コマンドWritはライトコマンドである。尚、図4において「Nop」は「No Operation」の意味である。
又、図4において、信号ADはカラムアドレス及びローアドレスである。信号ADの「Cxy」は、カラムアドレスC[x,y]を示す。信号BSは、バンクセレクトである。SDRAMでは第1の制御コマンドCmd(A)等により、コマンドとアドレスを1つの信号で転送するが、説明を分かりやすくするために、図4ではコマンドBPcg、Act、Read、Writと、アドレスを分けて示している。尚、図4に示したタイミングチャートにおいて、常にバンクセレクト=B0である。
図4のサイクルc2において、メモリセレクト信号SE1をローレベルにすると共にコマンドBPcgが入力され、メモリM1をプリチャージする。サイクルc3において、メモリセレクト信号SE0をローレベルにすると共にコマンドBPcgが入力され、メモリM0をプリチャージする。
サイクルc6において、メモリセレクト信号SE1をローレベルにすると共にコマンドActが入力され、メモリM1のバンクB0及びローアドレスR0をアクティブにする。サイクルc7において、メモリセレクト信号SE0をローレベルにすると共にコマンドActが入力され、メモリM0のバンクB0及びローアドレスR0をアクティブにする。
サイクルc8において、メモリセレクト信号SE1をローレベルにする。そして、リクエストReq(A[0,0],1)に応じて、コマンドReadが第1の制御コマンドCmd(A[0,0])としてメモリM1に入力する。その結果、サイクルc8において、メモリM1のカラムアドレスC[0,0]に格納されたデータの読み出し動作が開始される。図示を省略するが、サイクルc8から数サイクルのキャスレイテンシ後にデータD1(A[0,0])がメモリM1から読み出されて、データバッファDB1に格納される。更に、サイクルc9において、メモリセレクト信号SE0をローレベルにする。そして、リクエストReq(A[0,0],1)に応じて、コマンドReadが第2の制御コマンドCmd(A[1,0])としてメモリM0に入力する。その結果、サイクルc9において、メモリM0のカラムアドレスC[1,0]に格納されたデータの読み出し動作が開始される。図示を省略するが、数サイクルのキャスレイテンシ後にデータD0(A[1,0])がメモリMから読み出される。データD1(A[0,0])及びデータD0(A[1,0])は、データ列DTとして、データ処理装置10に転送される。
次いで、リクエストReq(A[0,1],1)に応じて、サイクルc10においてメモリM1からデータD1(A[0,1])が読み出され、サイクルc11においてメモリM0からデータD0(A[1,1])が読み出される。
更に、リクエストReq(A[0,2],1)に応じて、サイクルc12においてメモリM1からデータD1(A[0,2])が読み出され、サイクルc13においてメモリM0からデータD0(A[1,2])が読み出される。又、リクエストReq(A[0,3],1)に応じて、サイクルc14においてメモリM1からデータD1(A[0,3])が読み出され、サイクルc15においてメモリM0からデータD0(A[1,3])が読み出される。
同様にして、サイクルc16〜サイクルc23において、リクエストReq(A[1,j],1)に応じて、メモリM0及びメモリM1からデータD0(A[2,j])及びデータD1(A[1,j])がそれぞれ読み出される。
以上に説明したように、図1に示した情報処理システムを用いて、図3にハッチングで示したデータをメモリM0〜M1から読み出すためには、8個のリクエストが必要であり、読み出されるデータ数は、データ処理装置10が要求する16個のデータである。つまり、データ処理装置10が要求しないデータは読み出されない。図5に、図1に示した情報処理システムを用いて図3にハッチングで示したデータを読み出すために必要なリクエスト、及びリクエストによって読み出されるデータの表を示す。
一方、先行技術により図3にハッチングで示したデータをメモリM0〜M1から読み出す動作を図6のタイミングチャートに示す。図6に示したように、サイクルc1〜c13において、4個のリクエストReq(A[0,j])により、データD0(A[0,j])及びデータD1(A[0,j])がメモリM0〜M1からそれぞれ読み出される。同一サイクルにおいて、メモリM0〜M1が同一のアドレスによりアクセスされるため、メモリセレクト信号SEはメモリM0〜M1で共通である。更に、サイクルc15〜c21において、4個のリクエストReq(A[1,j])により、データD0(A[1,j])及びデータD1(A[1,j])がメモリM0〜M1からそれぞれ読み出される。サイクルc23〜c29において、4個のリクエストReq(A[2,j])により、データD0(A[2,j])及びデータD1(A[2,j])がメモリM0〜M1からそれぞれ読み出される。
図7に、先行技術を用いて図3にハッチングで示したデータを読み出すために必要なリクエスト、及びリクエストによって読み出されるデータの表を示す。図7に示すように、図3にハッチングで示したデータをメモリM0〜M1から読み出すためには、12個のリクエストにより図3に示したデータを座標毎に全て読み出す必要があり、読み出されるデータ数は24個である。つまり、図3に示した情報処理システムを用いることにより、リクエスト数を4個、読み出すデータ数を8個減少させることができる。
図1に示した情報処理システムでは、メモリM0とメモリM1のアクセスされるアドレスタが異なる。そのため、コマンドBPcgやコマンドActをメモリM0及びメモリM1にそれぞれ異なるサイクルで入力する必要があり、先行技術に比べてオーバーヘッドのサイクルが多い。しかし、図3に示した情報処理システムではアクセスするデータ数が減少するため、データのアクセスに必要なサイクル数を全体として削減することができる。図4に示すように、図1に示した情報処理システムによるデータ読み出し動作に必要なサイクル数は、25サイクルである。一方、図6に示すように、先行技術によるデータ読み出し動作に必要なサイクル数は、31サイクルである。
次に、図8に示す2次元データの処理に、図1に示す情報処理システムを適用する例を説明する。図8に示した2次元データは、y方向に4個、x方向に6個のデータが配置された2次元データである。又、座標(x,y)のデータは、メモリM0に格納されたデータD0(A[x,y])及びメモリMに格納されたデータD1(A[x,y])を含む。以下では、データ処理装置10が、図8にハッチングで示した”データD1(A[0,j])及びデータD0(A[2,j])”、”データD1(A[1,j])及びデータD0(A[3,j])”、”データD1(A[2,j])及びデータD0(A[4,j])”、”データD1(A[3,j])及びデータD0(A[5,j])”を要求する場合を説明する(j=0〜3)。そのため、データ処理装置10は、リクエストReq(A[0,j],1)、リクエストReq(A[1,j],1)、リクエストReq(A[2,j],1)及びリクエストReq(A[3,j],1)をメモリ制御装置20に順次出力する。切替番号Iは1である。つまり、メモリM1が第1のアドレスA[0,j]にアクセスされる第1のメモリ群G1、メモリM0が第2のアドレスA[2,j]にアクセスされる第2のメモリ群G2である。第2のアドレスA[2,j]は、以下の式(2)により算出される。

f(A[x,y])=A[x+2,y] ・・・・・(2)

データ処理装置10がメモリ制御装置20に出力するリクエストReq(A[0,j],1)に応じて、メモリ制御装置20はメモリM1及びメモリMからデータD1(A[0,j])及びデータD0(A[2,j])をそれぞれ読み出す。更に、リクエストReq(A[1,j],1)に応じて、メモリ制御装置20はメモリM1及びメモリMからデータD1(A[1,j])及びデータD0(A[3,j])をそれぞれ読み出す。リクエストReq(A[2,j],1)に応じて、メモリ制御装置20はメモリM1及びメモリMからデータD1(A[2,j])及びデータD0(A[4,j])をそれぞれ読み出す。リクエストReq(A[3,j],1)に応じて、メモリ制御装置20はメモリM1及びメモリMからデータD1(A[3,j])及びデータD0(A[5,j])をそれぞれ読み出す。
したがって、図8にハッチングで示したデータを読み出すために必要なリクエスト数は16、読み出されるデータ数は32である。一方、先行技術によれば、データ処理装置10がリクエストReq(A[0,j])、Req(A[1,j])、Req(A[3,j])、Req(A[4,j])、Req(A[5,j])及びReq(A[6,j])をメモリ制御装置20に出力することにより、図8に示したデータを座標毎に全て読み出す必要がある。つまり、先行技術では、必要なリクエスト数は24、読み出されるデータ数は48である。
例えば、図8に示した2次元データが、x=0、2、4の場合はインタレース画像のトップフィールドのデータであり、x=1、3、5の場合はインタレース画像のボトムフィールドのデータであるとする。そのような場合に、上記に説明した図1に示した情報処理システムによるデータ読み出し方法は有効である。
以上の説明では、メモリM1及びメモリMに格納されたデータを読み出す例を示した。以下に、データが格納されるメモリが4個の例について説明する。
図9に示す2次元データの処理に、図1に示す情報処理システムを適用する例を説明する。図9に示した2次元データは、y方向に4個、x方向に3個のデータが配置された2次元データである。又、座標(x,y)のデータは、メモリM0に格納されたデータD0(A[x,y])、メモリMに格納されたデータD1(A[x,y])、メモリM2に格納されたデータD2(A[x,y])及びメモリM3に格納されたデータD3(A[x,y])を含む。つまり、1つの座標のデータが分割されて4つのメモリM0〜M3に格納されている。
以下では、データ処理装置10が、図9にハッチングで示した”データD3(A[0,j])、データD0(A[1,j])、データD1(A[1,j])、データD2(A[1,j])”、及び”データD3(A[1,j])、データD0(A[2,j])、データD1(A[2,j])、データD2(A[2,j])”を要求する場合を説明する(j=0〜3)。そのため、データ処理装置10は、リクエストReq(A[0,j],3)、及びリクエストReq(A[1,j],3)をメモリ制御装置20に順次出力する。切替番号Iは3である。つまり、メモリM3が第1のアドレスA[0,j]にアクセスされる第1のメモリ群G1、メモリM0、メモリM1、及びメモリM2が第2のアドレスA[1,j]にアクセスされる第2のメモリ群G2である。第2のアドレスA[1,j]は、式(1)により算出される。
データ処理装置10がメモリ制御装置20に出力するリクエストReq(A[0,j],3)に応じて、メモリ制御装置20はメモリM3からデータD3(A[0,j])を読み出す。データD3(A[0,j])は、データバッファDB3に格納される。更に、メモリ制御装置20はメモリM0、メモリM1及びメモリM2からデータD0(A[1,j])、データD1(A[1,j])及びデータD2(A[1,j])をそれぞれ読み出す。データD0(A[1,j])、データD1(A[1,j])、データD2(A[1,j])、及びデータバッファDB3から読み出されたデータD3(A[0,j])はコンカチネイト回路231に転送され、データ列DTとしてデータ処理装置10に転送される。
又、リクエストReq(A[1,j],3)に応じて、メモリ制御装置20はメモリM3からデータD3(A[1,j])を読み出す。更にメモリ制御装置20は、メモリM0、メモリM1及びメモリM2からデータD0(A[2,j])、データD1(A[2,j])及びデータD2(A[2,j])をそれぞれ読み出す。
したがって、図9にハッチングで示したデータを読み出すために必要なリクエスト数は8、読み出されるデータ数は32である。一方、先行技術によれば、データ処理装置10がリクエストReq(A[0,j])、Req(A[1,j])及びReq(A[2,j])をメモリ制御装置20に出力することにより、図9に示したデータを座標毎に全て読み出す必要がある。つまり、先行技術では、必要なリクエスト数は12、読み出されるデータ数は48である。
以上に説明したように、本発明の実施の形態に係る情報処理システムでは、第1のアドレスから第2のアドレスを算出し、第1及び第2のアドレス毎に複数のメモリM0〜Mn-1にアクセスする。そのため、データ処理装置10の1つのリクエストに応じて、複数のメモリM0〜Mn-1の異なるアドレスに格納されたデータにアクセスが可能である。その結果、データ処理装置10が要求していないデータにアクセスする必要がないため、メモリM0〜Mn-1へのアクセスに要する時間の増大を抑制することができる。又、先行技術に対する、図1に示すシステム半導体装置1におけるピンの増加は、メモリM0〜Mn-1にそれぞれメモリセレクト信号S0〜SI-1を入力するために必要なピンのみである。そのため、メモリM0〜Mn-1にアドレスを入力するために複数のアドレス線を接続する場合に比べて、システム半導体装置1のピン数の増大を抑制することができる。
(その他の実施の形態)
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
既に述べた実施の形態の説明においては、第1のメモリ群G1への第1の制御コマンドCmd(A)の出力と、第2のメモリ群G2への第2の制御コマンドCmd(f(A))の出力は、1サイクルずらして行われるが、2サイクル以上ずらしても良い。
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の実施の形態に係る情報処理システムの構成を示す模式図である。 本発明の実施の形態に係る情報処理システムによるデータ処理方法を説明するための2次元データの例を示す模式図である。 本発明の実施の形態に係る情報処理システムによるデータ処理方法を説明するための2次元データの他の例を示す模式図である。 本発明の実施の形態に係る情報処理システムによるデータ処理を説明するためのタイミングチャートである。 本発明の実施の形態に係る情報処理システムによるデータ処理に必要なリクエスト、及びリクエストによって読み出されるデータの表である。 先行技術によるデータ処理を説明するためのタイミングチャートである。 先行技術によるデータ処理に必要なリクエスト、及びリクエストによって読み出されるデータの表である。 本発明の実施の形態に係る情報処理システムによるデータ処理方法を説明するための2次元データの他の例を示す模式図である。 本発明の実施の形態に係る情報処理システムによるデータ処理方法を説明するための2次元データの他の例を示す模式図である。
符号の説明
1…システム半導体装置
10…データ処理装置
20…メモリ制御装置
21…アドレス算出回路
22…制御部
221…メモリ選択回路
222…コマンド出力回路
23…データ転送部
231…コンカチネイト回路
232…バッファ回路
DB0〜DBn-1…データバッファ
SE0〜SEn-1…セレクタ
0〜Mn-1…メモリ

Claims (4)

  1. I〜Mn-1からなる第1のメモリ群とM0〜MI-1からなる第2のメモリ群とにグループ化された複数のメモリと(n:2以上の整数、I:1以上且つnより小さい整数)、
    前記複数のメモリに対するアクセス要求を出力するデータ処理装置と、
    前記アクセス要求が入力され、前記アクセス要求に含まれる第1のアドレスを用いて第2のアドレスを算出するアドレス算出回路、前記第1のアドレスによりアクセスされる前記第1のメモリ群の動作を制御する第1の制御コマンド及び前記第2のアドレスによりアクセスされる前記第2のメモリ群の動作を制御する第2の制御コマンドを互いに異なるサイクルに出力する制御部、及び前記複数のメモリから出力されるデータを格納し、前記メモリ毎に1のデータバッファを備えるデータ転送部を含むメモリ制御装置
    とを備え、前記メモリ制御装置によって前記複数のメモリと前記データ処理装置間のデータ転送が制御されることを特徴とする情報処理システム。
  2. 複数のメモリをMI〜Mn-1からなる第1のメモリ群とM0〜MI-1からなる第2のメモリ群とにグループ化して制御するメモリ制御装置であって(n:2以上の整数、I:1以上且つnより小さい整数)、
    前記第1のメモリ群にアクセスする第1のアドレスを用いて、前記第2のメモリ群にアクセスする第2のアドレスを算出するアドレス算出回路と、
    前記第1のメモリ群の動作を制御する第1の制御コマンド及び前記第2のメモリ群の動作を制御する第2の制御コマンドを互いに異なるサイクルに出力する制御部と、
    前記複数のメモリから出力されるデータを格納し、前記メモリ毎に1のデータバッファを備えるデータ転送部
    とを備えることを特徴とするメモリ制御装置。
  3. 前記制御部は、前記第1及び前記第2の制御コマンドのいずれかによる制御を、前記複数のメモリ毎に有効にするメモリ選択回路を備えることを特徴とする請求項2に記載のメモリ制御装置。
  4. 前記複数のメモリからそれぞれ読み出されるデータを連結して1つのデータ列を作成するコンカチネイト回路を更に備えることを特徴とする請求項2又は3に記載のメモリ制御装置。
JP2005212922A 2005-07-22 2005-07-22 情報処理システム及びメモリ制御装置 Expired - Fee Related JP4969811B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005212922A JP4969811B2 (ja) 2005-07-22 2005-07-22 情報処理システム及びメモリ制御装置
US11/365,533 US7447830B2 (en) 2005-07-22 2006-03-02 Information processing system and memory controller for controlling operation of memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005212922A JP4969811B2 (ja) 2005-07-22 2005-07-22 情報処理システム及びメモリ制御装置

Publications (2)

Publication Number Publication Date
JP2007034404A JP2007034404A (ja) 2007-02-08
JP4969811B2 true JP4969811B2 (ja) 2012-07-04

Family

ID=37718842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005212922A Expired - Fee Related JP4969811B2 (ja) 2005-07-22 2005-07-22 情報処理システム及びメモリ制御装置

Country Status (2)

Country Link
US (1) US7447830B2 (ja)
JP (1) JP4969811B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015095612A1 (en) * 2013-12-18 2015-06-25 Rambus Inc. High capacity memory system with improved command-address and chip-select signaling mode
JP2018137547A (ja) * 2017-02-20 2018-08-30 株式会社東芝 情報処理装置及び画像形成装置
KR102586768B1 (ko) * 2018-03-27 2023-10-16 에스케이하이닉스 주식회사 컴퓨팅 시스템 및 그것의 동작방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH025275A (ja) * 1988-06-24 1990-01-10 Fuji Xerox Co Ltd メモリアクセス装置
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
DE69721620T2 (de) 1996-03-11 2003-11-06 Matsushita Electric Industrial Co., Ltd. Speicheranordnung und Verfahren zum Zugreifen auf die Speicher der Speicheranordnung
JP2000066950A (ja) * 1998-08-25 2000-03-03 Toshiba Corp 半導体記憶装置
US6728161B1 (en) * 2000-06-30 2004-04-27 Micron Technology, Inc. Zero latency-zero bus turnaround synchronous flash memory
TW594743B (en) * 2001-11-07 2004-06-21 Fujitsu Ltd Memory device and internal control method therefor
US7290080B2 (en) * 2002-06-27 2007-10-30 Nazomi Communications Inc. Application processors and memory architecture for wireless applications
US7149841B2 (en) * 2003-03-31 2006-12-12 Micron Technology, Inc. Memory devices with buffered command address bus

Also Published As

Publication number Publication date
US7447830B2 (en) 2008-11-04
US20070033319A1 (en) 2007-02-08
JP2007034404A (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4843821B2 (ja) 複数内部データバス及びメモリバンクインターリービングを有するメモリデバイス及び方法
US8358557B2 (en) Memory device and method
CN108139994B (zh) 内存访问方法及内存控制器
JP2002063069A (ja) メモリ制御装置、データ処理システム及び半導体装置
JP4199658B2 (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
JP2004164641A (ja) メモリバンクへのアドレスのマッピングをするメモリコントローラ
JP3819004B2 (ja) メモリ制御装置
US7707328B2 (en) Memory access control circuit
KR20080030112A (ko) 다중 어드레스, 데이터 및 명령 버스를 갖는 메모리 장치및 방법
JP2003022215A (ja) 異なるタイプの並行メモリ・アクセスを支援するための方法
JP4969811B2 (ja) 情報処理システム及びメモリ制御装置
JP3846543B2 (ja) メモリアクセスシステム
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
JP2002328837A (ja) メモリ・コントローラ
US6392935B1 (en) Maximum bandwidth/minimum latency SDRAM interface
JP4606725B2 (ja) 高速メモリアクセス制御装置
KR100334298B1 (ko) 기억 소자
CN112835513A (zh) 控制数据读写装置与方法
JP2001176272A (ja) 複数ラインバッファ型メモリlsi
JP7346883B2 (ja) ベクトルプロセッサ装置及び生成方法
JP5040306B2 (ja) 記憶制御装置及び記憶制御方法
WO2012070247A1 (ja) メモリ装置、メモリ制御回路およびメモリ制御システム
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
JP2011138452A (ja) メモリ制御装置及び情報処理システム
JPH07307090A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

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

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

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees