JP4996626B2 - メモリ制御装置、およびメモリ制御方法 - Google Patents

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

Info

Publication number
JP4996626B2
JP4996626B2 JP2008553058A JP2008553058A JP4996626B2 JP 4996626 B2 JP4996626 B2 JP 4996626B2 JP 2008553058 A JP2008553058 A JP 2008553058A JP 2008553058 A JP2008553058 A JP 2008553058A JP 4996626 B2 JP4996626 B2 JP 4996626B2
Authority
JP
Japan
Prior art keywords
memory
unit
command
access
address
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
JP2008553058A
Other languages
English (en)
Other versions
JPWO2008084681A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008553058A priority Critical patent/JP4996626B2/ja
Publication of JPWO2008084681A1 publication Critical patent/JPWO2008084681A1/ja
Application granted granted Critical
Publication of JP4996626B2 publication Critical patent/JP4996626B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

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

Description

本発明は、使用メモリ帯域を増やすために、メモリデータバス幅を拡張したシステムにおいて、マスタからの任意アドレスへのアクセスに対して、実効転送効率の向上を図るメモリ制御装置、メモリ装置およびメモリ制御方法に関するものである。
一般に、画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるDRAMが用いられる。特に、近年の画像処理装置は、MPEG2やH.264等のHD(High Definition)画像処理への対応や、同時複数チャンネル処理、高画質な3Dグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力(以下、メモリ帯域と記す)を有するDRAMを必要としている。
一般的に、高いメモリ帯域を実現するためには、(1)バスの動作周波数を上げる方法、(2)メモリのバス幅を広くとる方法、またはこれらの方法(1)、(2)を併用する方法などが知られている。
一方、一般にDRAMは、アクセスを行う際、事前にアクセスするBank・Rowを指定して、アクティベート処理を行う必要がある。また、同一Bankにおいて、アクセスするRowを変更する場合は、一旦アクセスしていたRowをプリチャージ処理し、新たにアクセスするRowに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一Bank内で、Rowを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常DRAMアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、見かけ上、データバス上で、常時データ転送を可能とする、バンクインタリーブ制御と呼ばれる制御が行われる。このバンクインタリーブが有効に機能するためには、他バンクのデータ転送時間が前記アクセス不可期間を上回る必要がある。
しかしながら、高いメモリ帯域を実現するために、前記(1)、(2)のいずれの対応をとった場合においても、単位時間あたりのデータ転送量が増えるのに対し、前記アクセス不可期間の絶対時間が変わらないため、前記アクセス不可期間を隠蔽するのに必要なデータ転送量が増加することになる。その結果、他バンクのデータ転送量を増やさない限り、すなわち、1アクセスあたりの転送サイズを増やさない限り、前記バンクインタリーブ制御を行っていたとしても、前記アクセス不可期間の隠蔽が十分に実現できないため、データバスに空きが発生することとなり、アクセス効率の低下が発生する。このことは、転送サイズが小さいアクセスが頻発するシステムにおいては、大幅なアクセス効率の低下を招くことを意味する。
この問題に対する従来の手法として、特許文献1に記載のものがある。図31に、この従来手法の回路構成を示す。この手法では、カウンタ0、1の信号を元に、コマンド生成手段において、メモリデバイス0、1を特定のタイミングで交互に時分割アクセスすることにより、単一デバイスで発生するアクセス不可期間を、他方のデバイスのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。この制御では、高いメモリ帯域を実現するために、前記(1)、(2)のいずれの対応をとった場合においても、同一デバイス内でのバンクインタリーブ制御で隠蔽しきれなかったアクセス不可期間を、他方のデバイスのアクセスにより隠蔽できるため、1アクセスあたりの転送サイズを増やすことなく、アクセス効率の低下を防ぐことができる。このことは、転送サイズが小さいアクセスが頻発するシステムにおいても、アクセス効率の低下を抑えることができることを意味する。
特開平9−190376号公報
しかしながら、前記従来技術では、複数のデバイスを利用しているにも関わらず、同時にアクセスできるデバイスは1つであるため、システムが使用できる最大メモリ帯域は、1つのデバイスが持つメモリ帯域に限定される。それゆえ、前記従来技術において、使用メモリ帯域を大きくするためには、1デバイス当たりのバス幅を広げるか、動作周波数をあげる、すなわち、より高速なDRAM(DDR,DDR2、DDR3他)を使用するしかない。
バス幅を拡張してデータ転送帯域を増加させる構成として、図32のような構成も考えられる。このメモリ制御装置では、図31よりも最大メモリ帯域を拡大し、かつ、8バイトアクセスと4バイトアクセスが可能になっている。しかし、転送量の小さいアクセスや、画像処理によく使用される任意で非連続なアクセスに対して、無駄な転送を多く行うという問題がある。
ところで、DRAMの最小アクセス単位は、「バス幅 × 最小バースト数」で決まる。前述した高速なDRAMは、最小バースト数が、SDRAMが1であるのに対して、DDRは2、DDR2は4、DDR3は8と規定されているため、バス幅を広げる対応をした場合と同様、高速なDRAMを使用することによっても、最小アクセス単位が増加するという課題を有していた。この最小アクセス単位とは、1回のアクセスに対して、必ず転送される最小データ転送量を示し、あらゆるアクセス要求は、この最小アクセス単位の整数倍で転送されることとなる。よって、この最小アクセス単位が増大するということは、転送量の小さいアクセスや、画像処理によく使用される任意で、非連続なアクセスに対して、無駄な転送を多く行うこととなり、結果、実効転送効率の低下を導く。
具体的な例を図33に示す。図33では、100MHzで動作する4 ByteバスのSDRAMを使用しているシステムを、メモリ帯域を2倍にするために、バス幅を倍の8 Byteとした例を示している。ここで、当然のことながら、利用メモリ帯域は倍になっているが、図33に示すように、4 Byte 転送といった小さいアクセスや、8n + 4 Byte アドレスからの 8 Byte 転送といった、アドレス境界がそろっていない位置からの転送などは、有効データと無効データが同一サイズとなってしまい、アクセス効率は半減してしまう。その結果、利用できるメモリ帯域が2倍となっても、アクセス効率が半減しているため、実質使用しているメモリ帯域はバス幅拡張前と同じ400 MB/s となってしまい、バスを拡張した効果が全くなくなる場合が存在する。
本発明は、上記課題を解決するために、メモリバス幅の拡張を行ったり、高速DRAMを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現するメモリ制御装置、メモリ装置およびメモリ制御方法を提供することを目的とする。
前記従来の課題を解決するために、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、前記コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
この構成によれば、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は(1つのメモリユニットのバス幅)×(メモリユニットの個数)に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は1つのメモリユニットのバス幅とすることができる。
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前述したアクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力するようにしてもよい。
この構成によれば、前記複数のメモリユニットに独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を削減することができ、回路面積を小型化することができる。
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、複数のアクセスコマンドを複数のコマンド発行部に同時に出力するようにしてもよい。
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力するようにしてもよい。
ここで、前記複数のメモリユニットは、2つの第1、第2メモリユニットであり、前記コマンド制御手段は、前記アクセス要求を第1アクセスコマンドと第2アクセスコマンドに変換し、第1および第2メモリユニットは、前記アクセス要求が第1メモリユニットのデータを先頭とし、当該データの先頭が第1および第2メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第2メモリユニットのデータを先頭とし、当該データの先頭が第1および第2メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納するようにしてもよい。
ここで、前記コマンド制御手段は、複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替えるようにしてもよい。
ここで、前記複数のメモリユニットは第1〜第mのメモリユニットであり、前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第1〜第mのメモリユニットの互いに対応するm個の(N×整数)バイト領域が順に配置されるようにしてもよい。
ここで、各単位領域において第1〜第mのメモリユニットの物理アドレスは共通であり、前記コマンド制御手段は、前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第1〜第mのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時にアクセスコマンドを発行するようにしてもよい。
ここで、前記第1〜第mのメモリユニットの各々はi個のバンクを有し、前記論理アドレス空間は、p個の第1〜第pの前記単位領域が繰り返し配置され、前記第1〜第pの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、前記第1〜第pの単位領域の各々において前記m個の(N×整数)バイト領域は、バンクアドレスが共通であり、前記第1〜第pの単位領域は、互いにバンクアドレスが異なるようにしてもよい。
この構成によれば、前記m個のアドレスが共通な複数のメモリユニットに対して同一サイクルでのアクセスを実現し、かつ論理的に連続なアドレス空間に配置された隣接する前記p個のロウアドレスが共通なm個のアドレスが共通な複数のメモリユニットの単位の間で、メモリアクセスタイミング制約に起因するロウアドレスの切替時間の最短化を実現することができる。
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が順に配置され、前記画像の水平アドレスに対応してA個の単位領域が隣接して配置され、垂直アドレスに対応してB個の単位領域が配置されるようにしてもよい。
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
ここで、前記各単位領域内における複数の(N×整数)バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通であるようにしてもよい。
この構成によれば、前記単位領域内に対応する異なるメモリユニットに対して同時に同一のアドレスでアクセスを行うことができる。
ここで、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行するようにしてもよい。
ここで、前記mは2であってもよい。
ここで、前記2つのメモリユニットは画像を記憶するフレームバッファとして用いられ、前記2つのメモリユニットの各々は、Nバイトの最小アクセス単位を有し、各単位領域には、前記2つのメモリユニットの互いに対応する2つの(N×整数)バイト領域が交互に配置され、前記画像の水平アドレスに対応してA個の単位領域が隣接して配置され、垂直アドレスに対応してB個の単位領域が配置され、前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含むようにしてもよい。
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通の第1アドレスバスと、前記複数のメモリユニットに個別の第2アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、前記第1アドレスバスと第2アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線であるようにしてもよい。
ここで、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第1および第2アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第1アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第1、第2アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第2アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第1及び第2アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力するようにしてもよい。
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が順に配置され、前記フレームバッファは複数の矩形領域から構成され、前記矩形領域は、水平アドレスに対応してE個の単位領域が隣接して配置され、垂直アドレスに対応してF個の単位領域が配置されるようにしてもよい。
ここで、前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する2つの前記矩形領域は、異なるバンクアドレスを有し、上下に隣接する2つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有するようにしてもよい。
この構成によれば、矩形領域内でカラムアドレス垂直方向に連続し、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。
ここで、前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、左右に隣接する2つの前記矩形領域は、異なるカラムアドレスを有し、上下に隣接する2つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なるようにしてもよい。
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。
ここで、1行以上連続するG行からなる第1の小矩形領域における各単位領域は、前記複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、隣接する1行以上連続するH行からなる第2の小矩形領域における各単位領域には、前記複数の(N×整数)バイト領域が、前記第1の小矩形領域と異なる順に配置され、前記第1小矩形領域と前記第2小矩形領域の関係が前記矩形領域内において繰り返されるようにしてもよい。
また、本発明のメモリ装置は、1パッケージ化されたメモリ装置であって、複数のメモリユニットと、外部から、アクセスコマンドを受信し、前記複数のメモリユニットに供給するコマンドインターフェースと、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、外部から供給される同期信号に従って、外部と前記複数のメモリユニットの各々との間で前記データバスを介して独立にデータを入出力するデータインターフェースとを備える。
この構成によれば、複数のメモリユニットが1パッケージ化されている場合であっても、上記メモリ制御装置と相俟って、高いアクセス効率を実現可能である。
ここで、前記コマンドインターフェースは、時分割多重化された複数のアクセスコマンドを前記同期信号の1サイクル期間に受信し、前記メモリ装置は、さらに、前記コマンドインターフェースによって受信された、時分割多重されたアクセスコマンドを逆多重化し、アクセスコマンドを対応するメモリユニットに分配する逆多重化部を備えるようにしてもよい。
この構成によれば、パッケージ化によってパッケージへのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。
ここで、前記コマンドインターフェースは、前記複数のメモリユニット個別に有効または無効にする複数のセレクト信号を受信し、受信したセレクト信号を対応するメモリユニットに供給するようにしてもよい。
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号を供給し、個別のアクセスを容易にすることができる。
ここで、前記コマンドインターフェースは、前記複数のメモリユニット毎に有効か無効かを示すユニット情報を受信し、前記メモリ装置は、さらに、前記ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する変換手段を有するようにしてもよい。
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号をパッケージに供給する代わりにユニット情報を供給するので、パッケージのピン数およびパッケージへの配線数を低減することができる。
また、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと、複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割するコマンド制御手段と、前記複数のメモリユニットに供給される同期信号の1サイクル期間内に複数のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドを発行する多重化手段と、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有する構成としてもよい。
この構成によれば、メモリ制御装置から複数のメモリユニットへの配線数を低減することができる。
また、本発明のメモリ制御方法、半導体装置は、上記と同様の構成を有する。
本構成によって、メモリバス幅の拡張を行ったり、高速DRAMを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現できる。
本発明のメモリ制御装置によれば、利用メモリ帯域の拡大のために、バス幅を拡張した場合や、DDR、DDR2、DDR3といった高速なDRAMを使用した場合においても、メモリの最小アクセス単位の増加を抑えることが可能となるため、転送量の小さいアクセスや、画像処理の際に頻繁に発生する任意の非連続なアクセスが存在するシステムにおいても、無効データ転送の増加を抑制することができるため、高いメモリアクセス効率を実現することができる。また、無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有(特にDRAM)に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、システムLSIの端子数とLSIとメモリユニット間の配線数の削減できる。またこれによりコストの大幅な削減も実現できる。
本発明のうち複数チップのメモリユニットを1つのメモリパッケージに置き換えることにより、本発明の上記無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有(特にDRAM)に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、さらにシステム内の実装チップ数を削減しシステムの実装面積を大幅に削減も実現できる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、メモリデバイス毎のアクセスコマンドに分割し、前記複数のメモリデバイスにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが同じ場合と異なる場合とで、複数のメモリデバイスへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は(1つのメモリデバイスのバス幅)×(メモリデバイスの個数)に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は1つのメモリデバイスの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。図1Aでは、一つのメモリデバイスのバス幅が4Byte、最小バースト長が1であるものとする。
なお、上記の複数のメモリデバイスのそれぞれは、半導体装置に1チップ化されていてもよい。あるいは、上記の複数のメモリデバイスが1パッケージ化されていてもよい。
図1Aは、本発明のメモリ制御装置の一実施形態を示すブロック図である。ここでは、マスタ200が、メモリ制御装置を介して2つの4Byteバスのメモリデバイス(SDRAM)に接続されているシステム形態を示している。同図では、マスタ200は1つしか図示していないが、複数のマスタが接続されていてももちろんよい。
同図のようにメモリ制御装置101は、コマンド生成部102と、データ制御部106および、それぞれのメモリデバイス0、1に個別に接続されているコマンド発行部104、105から構成されている。コマンド生成部102は、マスタ200からのメモリアクセスコマンド(メモリアクセス要求)に含まれる論理アドレスをメモリデバイス0、1毎の物理アドレスに変換する変換部103を備える。コマンド生成部102、コマンド発行部104および105の3つは、上記のコマンド制御手段として機能する。
マスタ200からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部102に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス(論理アドレス)を示すデータを含む。
マスタ200からメモリアクセスコマンドを受け取ったコマンド生成部102は、まず、受け取ったコマンドを、変換部103において論理アドレスからメモリデバイス0、1毎の物理アドレスに変換する。さらに、コマンド生成部102は、接続されているメモリデバイスの最小アクセス単位(本実施例では4Byte)のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記デバイス別アクセスコマンドを発行する。
各コマンド発行部と各メモリデバイスとは、それぞれ1対1で、メモリを制御するチップセレクト信号(CS)と、コマンド信号が接続されており、コマンド生成部102からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部は、接続されているメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部106に通知する。
一方、マスタ200とメモリデバイス間のデータ転送は、マスタ200−データ制御部106間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の2系統のバスとしてもよい。
データ制御部106と各メモリデバイスとは、それぞれ専用の4Byteのデータバスが接続されている。データ制御部106では、マスタ200からのメモリデバイスへのデータ書き込み処理時には、マスタ200からの8Byte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ200に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
図2に、本実施形態1における、メモリデバイスのアドレスマッピングを示す。図2が示すように、マスタ200が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位(本実施例では4Byte)毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ200が指定する連続アドレスを、各デバイスの物理アドレス(Bank・Row・Column)に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一BankのRowの切り替えを頻繁に発生させないという観点から、図2に示すように、マスタ200が指定する連続アドレスに対して、同一デバイス内では、同一Bankの同一Rowを順に割り当てていき、1つのRowの全領域をアクセスした時点で、異なるBankのRowに切り替わるというマッピングにすることが望ましい。
これまでに述べた本発明のメモリ制御装置101に接続されるマスタ200はメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスが可能であり、コマンド生成部102では、受け取った論理アドレス及び画像イメージアドレスを含むコマンドをメモリデバイスの最小アクセス単位(本実施例では4Byte)のコマンドに分割し、図2に示すメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成する機能を備えている。
またコマンド生成部102は、前述のマスタ200から受け取るコマンドを分割、変換したときに、メモリデバイスが異なり、かつアドレスも異なる場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリデバイスが異なるが、アドレスが同じ場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に同じアドレスを発行してアクセスすることもできる。
次に、コマンド生成部102における動作を説明する。図3は、コマンド生成部102における、フローチャートを示した図である。図3に示すように、コマンド生成部102では、マスタ200から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合(開始アドレスが 8n Byte (nは整数)の場合)は、コマンド発行部104、105それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
一方、開始アドレスが8Byte 境界でない場合(開始アドレスが 8n+4 Byte (nは整数)の場合)は、コマンド発行部104に、アドレス n+1 へのアクセスコマンドを、コマンド発行部105に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
ここで4Byte境界単位でメモリデバイスをメモリデバイス0とメモリデバイス1と特定する場合において、本発明のメモリ制御装置101を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ200が発行するコマンドは、図2が示すアドレスマップに従って、コマンド生成部102で分割、変換され、1)メモリデバイス0からメモリデバイス1へ跨る場合はメモリデバイス間で同じアドレスであり、2)メモリデバイス1からメモリデバイス0へ跨る場合はメモリデバイス間で異なるアドレスになる。本実施形態1の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより2)の場合は同時に異なるアドレスを異なるメモリデバイス0及び1に発行でき、かつ1)の場合には同時に同じアドレスを異なるメモリデバイス0及び1に発行することができる。
図4は、本実施形態1におけるメモリ制御装置101の動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのSDRAMを使用して、マスタ200から、[1]0 Byte アドレスからの16Byte データの読み出しコマンドと、[2]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ200への読み出しデータバスの動作タイミングを示している。
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部102において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス“0”へのアクセスコマンドを発行する。その後、要求転送サイズを満たしていないため、次サイクルには、両コマンド発行部に対して、アドレス“1”へのアクセスコマンドを発行して、最初のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部104およびコマンド発行部105は、指定されたアドレスへアクセスするために、共に図4に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム0へのRead コマンドを、t5において、カラム1へのReadコマンドをそれぞれ発行すると同時に、データ制御部106に対して、発行したコマンドがマスタ200のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報0、1をそれぞれ出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からそれぞれ所望のリードデータを出力する。データ制御部106では、このデータを受けて、t4のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス0からの出力データ 4Byte を上位に、メモリデバイス1からの出力データ4Byte を下位に割り当てた8Byte データをマスタ200へ転送する。同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部102において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部104に対して、 アドレス“4”へのアクセスコマンドを、コマンド発行部105に対して、 アドレス“3”へのアクセスコマンドを、それぞれ発行する。その後、要求転送サイズを満たしていないため、次サイクルには、コマンド発行部104に対して、 アドレス“5”へのアクセスコマンドを、コマンド発行部105に対して、 アドレス“4”へのアクセスコマンドを、それぞれ発行して、後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部104およびコマンド発行部105は、共にt1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部104はカラム4へのRead コマンドを、コマンド発行部105はカラム3へのRead コマンドを、またt7において、コマンド発行部104はカラム5へのRead コマンドを、コマンド発行部105はカラム4へのRead コマンドをそれぞれ発行すると同時に、データ制御部106に対して、発行したコマンドがマスタ200のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報0、1をそれぞれ出力する。メモリデバイスは、前記Read コマンド発行(t6)後、CL=3 後のt9からそれぞれ所望のリードデータを出力する。データ制御部106では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス0からの出力データ 4Byte を下位に、メモリデバイス1からの出力データ4Byte を上位に割り当てた8Byte データをマスタ200へ転送する。同様の処理を、t7のサイクルで受け取ったコマンド情報を元にt11のサイクル においても行うことで、後発の16Byte リード処理を完了する。
上記制御をおこなうことにより、マスタ200からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合(本実施例では、データバス幅8Byte、アクセス開始アドレス24Byte目、要求転送サイズ16Byte)に、メモリデバイス0とメモリデバイス1に異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。
上記までの本実施例1の効果を明確にするために、図32に示すような4Byteバスのメモリデバイス(SDRAM)を単純に並列接続して、論理上、8ByteバスのSDRAMと
して接続した従来のシステム構成において、同様の転送を行った場合のタイミング図を図5に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図5のt7、t8 の2サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、図5のt9〜t12の3サイクルで転送されているように、24Byteアドレスから48Byte アドレスまでのトータル24Byte転送が必要となるため、アクセス効率が低下する。
このように、本実施例においては、システム的に8Byte のSDRAMを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位(本実施例では4Byte単位)にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
なお、本実施の形態におけるメモリ制御装置101は、図6に示すように構成してもよい。すなわち、図6のコマンド制御部107は、図1Aに示したコマンド生成部102、コマンド発行部104、105を合わせた機能と同じである。
なお、本実施例では、使用するメモリデバイスとして、4ByteバスのSDRAM2つを接続した場合を例として説明したが、使用するメモリデバイスのバス幅は任意のバス幅で実施可能であり、デバイスの数も任意の数で実施可能である。また、デバイスの種類もSDRAMに限らず、DDR、DDR2、Direct-Rambus(登録商標) DRAM、XDRといった他のDRAMであっても、SRAM、フラッシュメモリといったDRAMでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。
また、図1Aで示したコマンド生成部102及び図6で示したコマンド制御部107は最小アクセス単位に基づくメモリマッピングに従って、マスタ200からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。
なお、本実施例では、コマンド発行部がデータ制御部106に発行するコマンド発行順情報を、マスタ200のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す1ビットの情報として制御することも可能である。
メモリデバイスがDRAMでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部102から直接データ制御部106へ、コマンド発行順制御情報を通知することも可能である。
また、図1Aのメモリ制御装置101は2つのメモリデバイス0、1を接続しているが、図1Bに示すようにm個のメモリを接続する構成としても良い。図1Bに示すメモリ制御装置は、図1Aと比較して、2個のメモリを接続する代わりにm個の第1〜第mメモリを接続し、2つのコマンド発行部104、105の代わりにるm個の第1〜第mコマンド発行部を備えている。第1〜第mコマンド発行部は、第1〜第mメモリに対応して設けられる。
同様に、図6Aに示したメモリ制御装置も、図6Bに示すように、m個のメモリを接続する構成としてもよい。
(実施の形態2)
本実施の形態では、実施の形態1に比べてアドレスバスの配線面積を大幅に削減することにより回路の小型化を可能にし、かつ、さほど性能を劣化させないメモリ制御装置の構成について説明する。
本実施の形態におけるコマンド制御部は、前記複数のメモリデバイスに共通のアドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。このように、タイミング(例えば1サイクル)をずらすことにより、1サイクル遅延が発生するが、独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を大幅に削減することができる。
図7は、本実施の形態におけるメモリ制御装置101aの一実施形態を示すブロック図である。ここでは、1つのマスタ200が、メモリ制御装置101aを介して2つの4Byteバスのメモリデバイス(SDRAM)に接続されているシステム形態を示している。メモリ制御装置101aは、コマンド生成部102と、データ制御部106および、メモリデバイスのCS信号のみが個別に接続され、その他のコマンド信号を共通に各メモリデバイスに接続しているコマンド発行部104aから構成されている。マスタ200からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部102に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレスを示すデータを含む。
マスタ200からメモリアクセスコマンドを受け取ったコマンド生成部102は、まず、受け取ったコマンドを、接続されているメモリデバイスの最小アクセス単位(本実施例では4Byte)のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、コマンド発行部104aに、前記デバイス別アクセスコマンドを発行する。
コマンド発行部104aと各メモリデバイスとは、メモリを制御するチップセレクト信号(CS)が1対1で接続され、コマンド信号は共通で接続されている。
コマンド生成部102からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部104aは、(状態1)受け取ったコマンドが各メモリデバイスで同じアドレス(Bank,Row,Col)である場合に個別に接続されているチップセレクト信号CSを同時に有効にしてメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。(状態2)受け取ったコマンドが各メモリデバイスで異なるアドレス(Bank,Row,Col)である場合には個別に接続されているCSを有効にするタイミングをずらして各メモリデバイスに応じたコマンドを各メモリデバイスへ出力する。また、コマンド発行部104aは、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部106に通知する。
一方、マスタ200とメモリデバイス間のデータ転送は、マスタ200−データ制御部106間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の2系統のバスとしてもよい。
データ制御部106と各メモリデバイスとは、それぞれ専用の4Byteのデータバスが接続されている。データ制御部106では、マスタ200からのメモリデバイスへのデータ書き込み処理時には、マスタ200からの8Byte データを、前述の(状態1)及び(2)の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前述の(状態1)及び(2)の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ200に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
本実施の形態における、メモリデバイスのアドレスマッピングは実施の形態1に示す図2と共通であり、図2が示すように、マスタ200が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位(本実施例では4Byte)毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ200が指定する連続アドレスを、各デバイスの物理アドレス(Bank・Row・Column)に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一BankのRowの切り替えを頻繁に発生させないという観点から、図2に示すように、マスタ200が指定する連続アドレスに対して、同一デバイス内では、同一Bankの同一Rowを順に割り当てていき、1つのRowの全領域をアクセスした時点で、異なるBankのRowに切り替わるというマッピングにすることが望ましい。
次に、コマンド生成部102における動作を説明する。図3は、コマンド生成部102における、フローチャートを示した図である。図3に示すように、コマンド生成部102では、マスタ200から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合(開始アドレスが 8n Byte (nは整数)の場合)は、メモリデバイス0およびメモリデバイス1を管理するコマンド発行部104a内のメモリデバイス0、メモリデバイス1を制御する部分それぞれが、アドレス n へのアクセスコマンドを発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
一方、開始アドレスが8Byte 境界でない場合(開始アドレスが 8n+4 Byte (nは整数)の場合)は、コマンド発行部104a内のメモリデバイス0を制御する部分に、アドレス n+1 へのアクセスコマンドを、コマンド発行部104a内のメモリデバイス1を制御する部分に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
ここで、8Byte境界単位でメモリデバイスをメモリデバイス0とメモリデバイス1と特定する場合において、本発明のメモリ制御装置101aを通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ200が発行するコマンドは、図2が示すアドレスマップに従って、コマンド生成部102で分割、変換され、1)メモリデバイス0からメモリデバイス1へ跨る場合はメモリデバイス間で同じアドレスであり、2)メモリデバイス1からメモリデバイス0へ跨る場合はメモリデバイス上で異なるアドレスになる。本実施形態2の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより2)の場合はメモリデバイス0とメモリデバイス1に異なるアドレスをタイミングをずらして発行でき、1)の場合には同時に同じアドレスを異なるメモリデバイス0及び1に発行することができる。
図8は、本実施の形態におけるメモリ制御装置101aの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのSDRAMをバースト長2(BL=2)の状態で使用して、マスタ200から、[1]0 Byte アドレスからの16Byte データの読み出しコマンドと、[2]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ200への読み出しデータバスの動作タイミングを示している。なお、実施の形態2の動作を明確に説明するために、共通のコマンドバスを実施の形態1と同じ形態で個別のコマンドバスとして図示している。
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部102において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス“0”へのアクセスコマンドを発行する。バースト長が2であるためこのコマンドで16Byteを転送するため処理を終了する。上記コマンドを受け取った、コマンド発行部104aは、指定されたアドレスへアクセスするために、図8に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム0へのRead コマンドを発行すると同時に、データ制御部106に対して、発行したコマンドがマスタ200のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報0、1を出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からバースト数2の期間にそれぞれ所望のリードデータを出力する。データ制御部106では、このデータを受けて、t4 のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス0からの出力データ 4Byte を上位に、メモリデバイス1からの出力データ4Byte を下位に割り当てた8Byte データをマスタ200へ転送する。更にバーストの後半のデータで同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部102において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部104a内のメモリデバイス0を制御する部分に対して、 アドレス“4”でバースト長2のアクセスコマンドを、コマンド発行部104a内のメモリデバイス1を制御する部分に対して、 アドレス“3”でバースト長2のアクセスコマンドを、それぞれ発行して後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部104aは、t1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部104a内のメモリデバイス0を制御する部分ではカラム4へのバースト長2でRead コマンドを発行する。コマンド発行部104a内のメモリデバイス1を制御する部分はt6ではコマンドを発行せず、t7においてカラム3へのバースト長2でRead コマンドを発行する。t6、t7のコマンド発行部104aのコマンド発行と同時に、データ制御部106に対して、発行したコマンドがマスタ200のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報0、1をそれぞれ出力する。メモリデバイス0は、前記Read コマンド発行(t6)後、CL=3 後のt9からバースト長2のリードデータを出力する。メモリデバイス1は、前記Read コマンド発行(t7)後、CL=3 後のt10からバースト長2のリードデータを出力する。データ制御部106では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス0からの出力データ 4Byte を下位に、t11のサイクルで出力されるメモリデバイス1からのデータ4Byte を直接上位に割り当てた8Byte データをマスタ200へ転送する。バースト後半のデータ においても同様に行うことで、後発の16Byte リード処理を完了する。
上記制御をおこなうことにより、マスタ200からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合(本実施例では、データバス幅8Byte、アクセス開始アドレス24Byte目、要求転送サイズ16Byte)に、共通のコマンド線の接続でありながら、メモリデバイス0とメモリデバイス1に異なるアドレスをCSのタイミングをずらして独立してアクセスすることができるため、下記に示す従来システムに比べシステムLSIのPin数を増加させずにアクセス効率を向上することが出来る。
上記までの本実施例2の効果を明確にするために、図33に示すような4Byteバスのメモリデバイス(SDRAM)を単純に並列接続して、論理上、8ByteバスのSDRAMとして接続した従来のシステム構成において、バースト長2で同様の転送を行った場合のタイミング図を図9に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図9のt7、t8 の2サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、1コマンド当り2バーストのデータ(16Byte)を転送するため図9のt9〜t13の4サイクルで転送されているように、24Byteアドレスから56Byte アドレスまでのトータル32Byte転送が必要となるため、アクセス効率が大幅に低下する。
このように、本実施例2においては、バースト長が2以上で8ByteのSDRAMを接続したシステムにおいて、コマンド信号(アドレス線、row,col,we等)を各メモリデバイスで共通にし、CS信号のみ個別に各メモリデバイスと接続することができるため、システムLSIの外部端子を大幅に増やすことなく、8Byteバスと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位(本実施例では8Byte単位)にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
以上説明してきたように、本実施の形態におけるメモリ制御装置において、コマンド制御部は、複数のメモリデバイスに共通のアドレスバスと、複数のメモリデバイスに個別のチップセレクト信号とを介して複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、個別のチップセレクト信号を同時に有効にすることによって、複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。データ制御部は、メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、複数のメモリデバイス毎のデータに分割して、アクセスコマンドのタイミングに従って各メモリデバイスへ出力し、メモリアクセス要求が読み出し要求である場合に、前記アクセスコマンドのタイミングに従って複数のメモリデバイスから読み出されたデータを組み合わせて、マスタへ出力する。
また、コマンド制御部は、コマンド生成部と、メモリデバイス毎に設けられたコマンド発行部とを備える。コマンド生成部は、メモリアクセス要求に含まれる論理アドレスをメモリデバイス毎の物理アドレスに変換し、メモリデバイス毎のアクセスコマンドに分割する。各コマンド発行部は、対応するメモリデバイスに、コマンド生成部からのアクセスコマンドを発行する。その際、コマンド生成部は、分割した複数のアクセスコマンドに対応する複数のメモリデバイスの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する。
ここで、複数のメモリデバイスは、2つの第1、第2メモリデバイスである場合、コマンド制御部は、アクセス要求を第1アクセスコマンドと第2アクセスコマンドに変換する。第1および第2メモリデバイスは、アクセス要求が第1メモリデバイスのデータを先頭とし、当該データの先頭が第1および第2メモリデバイスのデータを含むデータバスのアライメントに一致する場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第2メモリデバイスのデータを先頭とし、当該データの先頭が第1および第2メモリデバイスのデータを含むデータバスのアライメントに一致しない場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する。
ここで、コマンド制御部は、複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリデバイス毎に遅らせることにより、複数メモリデバイスの同一のアドレスと異なるアドレスを切り替える。
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制することができる。
なお、図10は、本実施の形態におけるメモリ制御装置の変形例を示す図である。同図のメモリ制御装置101cにおいて、前記コマンド制御手段は、前記複数のメモリデバイスに共通の第1アドレスバスと、前記複数のメモリデバイスに個別の第2アドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続され、前記第1アドレスバスと第2アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である。
これにより、アドレスバスは共通部分と独立部分とからなるので、全部を独立配線する場合と比べて、アドレスバスの配線面積を大幅に削減することができる。
また、図34Aは本実施の形態におけるメモリ装置の変形例を示す図である。同図は図7と比べてメモリデバイス0およびメモリデバイス1の代わりにメモリ装置400を備える点が異なっている。メモリ装置400は、1チップLSIにパッケージ化されている。
図34Bは、メモリ装置400のより具体的な構成例を示す図である。同図のメモリ装置400は、メモリユニット411、412と、コマンドインターフェース421と、データインターフェース422とを備える。
メモリユニット411は、例えば、メモリモジュール0〜3から構成され、ロウアドレスおよびカラムアドレスによってアドレッシングされる通常のDRAMとしてアクセス制御されるメモリ単位を示している。メモリモジュール0〜3は、通常のバンク0〜3、または、ページ群0〜3等である。メモリユニット412も同様である。
コマンドインターフェース421は、外部のメモリ制御装置101aからアクセスコマンドを受信し、メモリユニット411、412に供給する。
データバスは、2つのメモリユニット411、412と同数の部分的なバスにビット分割されている。
データインターフェース422は、外部から供給される同期信号に従って、外部と前記メモリユニット411、412の各々との間でデータバスを介して独立にデータを入出力する。
前述した本発明の実施形態においては最小アクセス単位を小さくするために、同一の物理アドレスによる制御と異なる物理アドレスによる制御とを切り替えながら複数のメモリデバイスにアクセスしている。これに対して、図34Aでは、複数のメモリデバイスの代わりに、1パッケージ化されたメモリ装置400が備えられている。図34Aのメモリ装置400は、通常のDRAM(DDR、DDR2なども含む)のように制御可能なメモリユニットを基本単位とし、基本単位を複数個(図34Aでは2個)搭載し、1つあるいは複数(図34Aでは1個)にパッケージしたものであってもよい。更に、このようなメモリ装置400は前述のようにメモリユニットを複数個搭載し、前記メモリユニットの数と同数のCS信号(同図では、US信号)およびデータバスと1つの共通化されたコマンドバスを入出力にもつ構成としてもよい。
また更に、図35Aは本実施の形態におけるメモリ装置の他の変形例を示す図である。図34Aと同様にメモリ装置400aはメモリユニットを複数個(図35Aでは2個)と、コマンドインターフェースと、データインターフェースとを搭載し、1つあるいは複数(図35Aでは1個)にパッケージされている。加えて、入力されるコマンドが各々のメモリユニットに対して有効か無効かを示すユニット情報(以下、ユニット番号と呼ぶ。)が入力されると、対応する各々のメモリユニットを選択する信号(本図ではUS0,1)を出力するコマンド変換部401を有している。つまり、コマンド変換部401は、ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する。この構成を採用する場合には、図34Aで示すメモリデバイスの入出力の信号線数がメモリユニットの数だけ必要であったUS信号に代わり、ユニット番号を示す信号とすることでさらに削減する事ができるという効果があり、メモリ制御装置101aとメモリ装置400aとを接続するための配線面積は更に削減され回路の小型化が可能となる。
尚、ユニット番号は従来のDRAMバンクアドレスのような信号で代用しても良い。
このようなメモリ装置400aは前述のようにメモリユニットを複数個と1つのコマンド変換部を搭載し、前記メモリユニットの数と同数のデータバスと1つの共通化されたユニット番号指示バスおよびコマンドバスを入出力にもつ構成となる。
前述した方法により、使用するメモリデバイスの数を1つに削減でき、実際のセット基板における配線数及び基板の設計難易度を低く抑え、セットコストを大幅に低減することができると言う効果がある。
図35Bは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。同図は、図35Aと比べて、1パッケージ化されたメモリ装置400aの代わりに2パッケージのメモリ装置400bを備える。記憶容量に関する第1の例では、2つのメモリ装置400bの記憶容量は、1つのメモリ装置400aの記憶容量に相当し、2つのメモリユニット411bの容量は、1つのメモリユニット411の容量に相当する。この場合、1つのメモリ装置400aと、2つのメモリ装置400bは同じ記憶容量を有する。記憶容量に関する第2の例では、各メモリ装置400bの記憶容量は、1つのメモリ装置400aの記憶容量に相当し、各メモリユニット411bの容量は、1つのメモリユニット411の容量に相当する。この場合、2つのメモリ装置400bの記憶容量は、1つのメモリ装置400aの記憶容量の2倍になる。このように、メモリ制御装置101aは、複数パッケージの複数のメモリ装置400bを接続してもよい。
(実施の形態3)
実施形態1及び2のメモリ制御装置における効果を最大限に活かすための論理アドレス配置を以下に述べる。
図11Aは、物理アドレスを論理アドレス空間にマッピングする基本単位となる単位領域を示す図である。同図では、図1B、図6Bのような、m個のメモリデバイス(ここでは、DRAM)をアクセスするメモリ制御装置を前提としている。図11AはDRAM上に配置されるメモリアドレス配置で、Nバイトの最小アクセス単位を持つDRAMの物理アドレス領域を論理アドレス方向に配置した図である。
図11Aでは第1のメモリデバイス上にあるデータを(N×整数)バイト配置し、第2のメモリデバイス上にあるデータを(N×整数)バイト配置する。これを繰り返し、第mの
メモリデバイス上にあるデータの(N×整数)バイトを隣接して配置する。このように、上記隣接した(N×整数)×mバイトのデータ領域をひとつの単位(単位領域)とする。ここで、( )内の整数は任意でよい。同図では、(N×整数)が(N×1)、Nが4である場合を図示している。
図11Bは前記単位領域を論理アドレス方向に並べた図である。各単位領域には、第1〜第mのメモリデバイスの互いに対応するm個の(N×整数)バイト領域が順に配置される。
このような配置とすることで、論理アドレス方向のデータ要求に対し、Nバイトのアドレスアライメントでアクセスでき、効率のいいアクセスが可能となる。
図12では、前記単位領域内のそれぞれのメモリデバイス((N×整数)バイト領域)が同一のバンクアドレス、ロウアドレス、カラムアドレスを持つように配置している。
この場合、複数のメモリデバイスの各々は、Nバイトの最小アクセス単位を有し、論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第1〜第mのメモリデバイスの互いに対応するm個の(N×整数)バイト領域が順に配置される。また、各単位領域において第1〜第mのメモリデバイスの物理アドレスは共通でよい。
コマンド制御部は、アクセス要求が単位領域を越えないデータサイズのアクセス要求である場合、第1〜第mのメモリデバイスのうち、当該アクセス要求に対応するメモリデバイスに同時にアクセスコマンドを発行する。
これにより、単位領域内へのアクセスでは、同一の物理アドレスとなり、特に実施の形態2においては、同一サイクルでアクセスをすることが可能となり、転送効率がさらに改善する。
図13Aでは、隣接する前記単位領域間で使用するバンクアドレスをそれぞれ異なるように配置する。図13Bは図13Aのように隣接する前記単位領域のバンクアドレスをそれぞれ異なるようにj個のバンクアドレスを配置し、j+1個目からは前記単位領域とは異なるカラムアドレスを割当て前記同様j個の前記単位領域を並べる。以上を1回以上繰り返し同一ロウアドレス構成の論理アドレス空間を構成する。前記のように同一ロウアドレスから構成された有限の論理アドレス空間を単一ロウ領域とし、ロウアドレスを変更した前記単一ロウ領域を繰り返し並べることで論理アドレス空間を構築する。
この場合、第1〜第mのメモリデバイスの各々はi個のバンクを有する。論理アドレス空間には、p個の第1〜第pの前記単位領域が繰り返し配置される。第1〜第pの単位領域は、共通のロウアドレスを有し、また異なるカラムアドレスを有する。第1〜第pの単位領域の各々において前記m個の(N×整数)バイト領域は、バンクアドレスが共通であり、前記第1〜第pの単位領域は、互いにバンクアドレスが異なっている。
第1〜第pの単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。
これにより、隣接する単位領域へ連続してアクセスする場合において、メモリデバイスへのアクセスにおいてバンクインタリーブが可能になる。
以上のように、論理アドレス方向に前記単位領域を配置することで、実施の形態1および2において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態2のメモリ制御装置の場合には、メモリデバイス0とメモリデバイス1へのアドレスを共通化することが可能となる。
具体的に前記メモリデバイスが2つである場合を用いてその効果を説明する。
図14では、実施形態1及び2のメモリ制御装置におけるDRAMの物理アドレスメモリ((N×整数)バイト領域)を論理アドレス方向に配置した図である。
ここでは第1のメモリデバイス上にあるデータを(N×整数)バイト配置し、第2のメモリデバイス上にあるデータを(N×整数)バイト配置したデータ列を隣接して配置する。
このように、上記隣接した(N+N)×整数バイトのデータ領域をひとつの単位(単位領域)とする。
図15では、DRAM上にフレームバッファ領域を設けた場合に、前記単位領域を、水平方向にA1個および垂直方向にA2個隣接して配置する。
この場合、複数のメモリデバイスの各々は、Nバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。
各単位領域には、前記複数のメモリデバイスの互いに対応する複数の(N×整数)バイト領域が順に配置される。前記画像の水平アドレスに対応してA個(同図ではA1個)の単位領域が隣接して配置され、垂直アドレスに対応してB個(同図ではA2個)の単位領域が配置される。
図16では、単位領域内における異なるメモリデバイスで、同一のバンクアドレス、ロウアドレス、カラムアドレスを持つ。
図17では、単位領域内において異なるメモリデバイス(N×整数)バイト領域が同一のバンクアドレスB、ロウアドレスR、カラムアドレスCを持つように配置している。すなわち、各単位領域内における複数の(N×整数)バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である。
図17では、フレームバッファにおける水平方向に隣接する単位領域間で使用するバンクをそれぞれ異なるバンクアドレスB1、B2となるように配置する。すなわち、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。
以上のように、フレームバッファにおける水平方向および垂直方向に前記単位領域を配置することで、実施の形態1および2において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態2のメモリ制御装置の場合には、メモリデバイス0とメモリデバイス1へのアドレスを共通化することが可能となる。
例えば、第1のメモリデバイスへのアクセスと、第2のメモリデバイスへのアクセスを行う際、同一単位領域のデータが必要な場合には、同一のバンクアドレス、ロウアドレス、カラムアドレスによりアクセスすることができる。また、異なる単位領域のデータへアクセスする場合でも、バンクアドレスB1とバンクアドレスB2とが異なる場合にはバンクアドレスのみ別のアドレスとし、ロウアドレスおよびカラムアドレスは同一のアドレスとしてアクセスすることも可能である。この場合、実施の形態1のメモリ制御装置では、単一サイクルでのアクセスが可能であり、実施の形態2のメモリ制御装置では、メモリデバイス間でコマンドを遅らせてアクセスすることにより、転送効率を改善することができる。
上記に説明した論理アドレス配置を実施形態1および実施形態2のメモリ制御装置に採用することにより、実効転送効率を改善すると共に、メモリデバイス特有(特にDRAM)に発生するアクセスオーバーヘッドを改善することもでき、メモリシステムで使用するトータルバンド幅を削減できる。
(実施の形態4)
本実施の形態では、実施の形態1および実施の形態2において説明したメモリ制御装置101および101aが、2つのメモリデバイス0およびメモリデバイス1をフレームバッファとして使用する場合に、画像中の矩形データをアクセスする方法について説明する。
本実施の形態におけるメモリ制御装置101および101aにある変換部103は、論理アドレスとして画像の画素位置を示す二次元アドレス(X、Y)を、メモリデバイス0およびメモリデバイス1の物理アドレスに変換するとしてもよい。また変換部103へ要求するデータは、二次元の矩形データサイズ(Vバイト、Wバイト)をもつ矩形アクセスとしてもよい。
以下では、2×Nバイトのアクセスを例として説明する。
図18は、本実施の形態におけるメモリ制御方法のフローチャート図である。図1A、図1B、図6および図7に示したメモリ制御装置101および101aにおいて、第一のステップ01では、メモリ制御装置101および101aに対してメモリ上に配置されたフレームバッファへ矩形アクセス要求を行い、第二のステップ02では、前記要求された矩形アクセスが同一単位領域内のアクセスであるかを識別し、第三のステップ03では、前記矩形アクセスが同一単位領域内のアクセスである場合にはコマンド発行部104、105および107、104aからメモリデバイス0用CSとメモリデバイス1用CSとアクセスするアドレスを同時に出力する。それに対して異なる単位領域へまたがるアクセスの場合には、第四のステップ04となり、コマンド発行部104および107、104aからメモリデバイス0用CSとメモリデバイス0に対応したアドレスを出力し、第五のステップ05では、コマンド発行部105および107、104aからメモリデバイス1用CSとメモリデバイス1に対応したアドレスを出力する。第六のステップ06では、メモリに対しての書き込みであるか読み出しであるかを識別し、第七のステップ07では、メモリへの書き込みの場合にはメモリデバイス0およびメモリデバイス1に対してデータ転送を行い、第八のステップ08では、メモリからの読み出しである場合にはメモリデバイス0およびメモリデバイス1からデータを取得する。
図19は、メモリ上にフレームバッファを配置した場合における、メモリバンクの論理アドレス配置の一例を示している。一般的には、フレームバッファは複数の矩形領域(ブロック)の集合体として構成される。各ブロックは同一バンクアドレスの同一ロウアドレスで構成する。左右および上下に隣り合うブロックは、異なるバンクアドレスで構成されたブロックで配置を行う。これにより、横方向および縦方向に対して連続してアクセスする場合に、バンクインタリーブ制御を行いアクセスオーバーヘッドの隠蔽が可能になる。
図20は、図19で示す前記ブロック内におけるメモリのカラムアドレスの配置の一例を示しており、前記単位領域を水平方向に1つ、垂直方向に12個並べたブロックを示している。
図21は、図20の構成に加え同じメモリデバイスの(N×整数)バイト領域が縦に並ぶように配置しているブロックを示している。この配置は次の構成により実現される。すなわち、複数のメモリデバイスは画像を記憶するフレームバッファとして用いられ、複数のメモリデバイスの各々は、Nバイトの最小アクセス単位を有する。複数のメモリデバイスの論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。各単位領域には、複数のメモリデバイスの互いに対応する複数の(N×整数)バイト領域が順に配置される。
また、上記のフレームバッファは複数の矩形領域から構成される。矩形領域は、水平アドレスに対応してE個(同図では2個)の単位領域が隣接して配置され、垂直アドレスに対応してF個(同図では12個)の単位領域が配置される。
ここで、各矩形領域内の複数の単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する2つの前記矩形領域は、異なるバンクアドレスを有している。
また、上下に隣接する2つの矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有していてよい。各単位領域には、複数のメモリデバイスの互いに対応する複数の(N×整数)バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。
この構成により、図21に示すように、同じメモリデバイスの(N×整数)バイト領域が縦方向に並ぶように配置される。
図22は、図21で構成されたフレームバッファへの矩形アクセス要求に対応する矩形データ例を示す。
図23は、実施の形態2のメモリ制御装置の場合における、図22の矩形アクセス要求による動作を示すタイミングチャート図である。
図22の矩形データでは、メモリデバイス0への物理アドレスと、メモリデバイス1への物理アドレスとが異なる(バンクアドレスが異なっている)ので、図23のように個別のチップセレクト信号タイミングをずらしている。メモリデバイスへ異なる物理アドレスを出力する。メモリデバイス0とメモリデバイス1は1サイクルずれてアクセスされることになる。
図24は、図21で構成されたフレームバッファへの他の矩形アクセス要求に対応する矩形データ例を示す。
図25は、実施の形態2のメモリ制御装置の場合における、図24の矩形アクセス要求による動作を示すタイミングチャート図である。
図24では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック8〜ブロック11、ブロック4〜ブロック7を転送し、次に、矩形データがバンク境界からはみ出した部分(ブロック0〜ブロック3、ブロック12〜ブロック15)を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。
なお、図21では、前記ブロック内は同じバンクアドレス内の連続するカラムアドレスを縦方向に並ぶような配置を示したが、同じバンクアドレス内のカラムアドレスの連続性は問わない。なお、ブロック内において縦方向に連続するカラムアドレスを配置、またはフレーム領域内の水平方向にある同一バンクのブロックに連続したカラムアドレスを配置することで、アクセスアドレスの計算が容易になるメリットが発生する。
次に、他の論理アドレス配置としてメモリデバイス0とメモリデバイス1の(N×整数)バイト領域を市松模様に配置する例について説明する。この場合、次のように構成すればよい。すなわち、1行以上連続するG行からなる第1の小矩形領域における各単位領域は、前記複数の(N×整数)バイト領域が、前記複数のメモリデバイスの並びに対応する順に配置される。また、隣接する1行以上連続するH行からなる第2の小矩形領域における各単位領域には、複数の(N×整数)バイト領域が、第1の小矩形領域と異なる順に配置される。
この第1小矩形領域と第2小矩形領域の関係が矩形領域内において繰り返されるようにすればよい。
本発明においては、2つのメモリに異なるチップセレクト信号CSを接続することにより独立にアドレス制御を行うことができるため、図26のように、単位領域へのアクセスではメモリデバイス0とメモリデバイス1とに分けて個別に取得できるように配置できる。1行ごとにメモリデバイス0とメモリデバイス1との配置位置を交互に振り分けることで、単位領域を縦方向にまたがるアクセスをした場合にも、メモリデバイス0とメモリデバイス1とを個別に取得できるように配置できる。
図27は、図21の例における論理アドレス配置において、横方向は2つのバンクにまたがり、かつ縦方向に4行分の矩形データを取得する場合に、必要なデータ部分とメモリに対して実際に転送されるデータとを示したものである。その場合に、実際に転送されるデータは必要なデータに加えて無駄な転送が発生し、結果として転送効率が悪くなる。そこで本発明においては、図28のように、必要なデータに対して実際に転送されるデータを少なくすることができる。
図29は、図21の例における論理アドレス配置において、図27の矩形データを取得する場合のタイミングチャートである。
図30は、図26の例における論理アドレス配置において、図28の矩形データを取得する場合のタイミングチャートである。
図28では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック0〜ブロック3、ブロック8〜ブロック11を転送し、次に、矩形データがバンク境界からはみ出した部分(ブロック4〜ブロック7)を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。
なお、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
なお、本発明においては、フレームバッファ上のメモリデバイスの配置がメモリデバイス0とメモリデバイス1とで交互になっているため、データ制御部において配置を入れ替えることも可能である。さらに、CSを使用して独立にアクセスした場合には、データの転送タイミングメモリデバイス0とメモリデバイス1とで異なるため、データ制御部においてメモリデバイス0とメモリデバイス1とのタイミングのずれを調整し、マスタの要求したデータ配列、例えば同時タイミングのデータ配列に整列したり、シリアライズしたデータへと整列することも可能である。それにより、メモリデバイスに対して矩形アクセスを要求してくる側に対して、従来と同様のデータアクセスを実現することも可能である。
なお、ここでは2つのメモリを使用した場合について記述しているが、2つ以上のメモリを使用した場合でも同様の制御を行ってもよい。また、共通のアドレスバスを使用しているが、全ビットを共通にする必要はなく一部のアドレスバスでもよいし、アドレス信号だけでなく他の制御信号も共通に使用してもよい。
なお、異なるバンクアドレスで、同一ロウアドレスを持つ複数の前記ブロックを組み合わせた単一ロウ矩形領域を構成して配置して、単一ロウ矩形領域内で同一バンクアドレスを持つ複数の前記矩形領域にまたがるアクセスにおいて、同一バンクアドレスで同一ロウアドレスを連続してアクセスしてもよいし、バースト的にアクセスしてもよい。このようなアクセスをすることで、転送効率を向上させることも可能である。
なお、この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
なお、図19においてメモリバンクの配置を2つのバンクで構成しているが、2つ以上のバンクを使用した場合でも同様である。また、図26においてカラムアドレスを上から下へと連続アドレスとしているが、連続アドレスである必要はなく、下から上への連続でもよいし、一定の周期的なアドレスでもよいし、任意のアドレス順序でもよい。また、バンク内における各メモリのデータ配置も1行ごとに入れ替えているが、2行ごとに入替えてもよいし、2行以上でもよい。また横方向に同一のカラムアドレスを配置しているが、縦方向に同一のカラムアドレスを配置してもよい。また、図28における必要なデータは一例であり、要求により任意の位置から任意の大きさに対してアクセスが可能である。よって同一バンク内の矩形データであったり、2つ以上のバンクにまたがる矩形データであってもよい。
また、図30においてアクセス順序を記述しているが、これに限ったものではなく、任意の順序でもよい。例えば、バンク1からアクセスをしてもよいし、矩形データの下側から取得を行ってもよい。
なお、図21では、同じメモリデバイスの(N×整数)バイト領域が縦方向に並ぶように配置する例を示したが、横方向に並ぶように配置してもよい。この場合、次のように構成すればよい。すなわち、各矩形領域内の複数の単位領域は、任意の単一な前記メモリデバイスで構成され、共通のバンクアドレスを有する。ここで、左右に隣接する2つの矩形領域は、異なるカラムアドレスを有する。上下に隣接する2つの前記矩形領域は、異なるメモリデバイスの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なる。
各単位領域には、複数のメモリデバイスの互いに対応する複数の(N×整数)バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。
以上のように、本実施の形態4では、複数のメモリを共通バスで制御する場合に、チップセレクト信号CSを独立に制御し、なおかつフレームバッファ上におけるデータの配置を各メモリに割り振り、横方向のデータを同一アドレスの異なるメモリに配置し、縦方向をも異なるメモリに配置することで、小さな矩形データへのアクセスにおいて実際に転送するデータ量を削減することができ、転送効率の向上を実現することができる。
(実施の形態5)
図36は、本実施の形態におけるメモリ制御装置およびメモリ装置の構成を示すブロック図である。図36のメモリ制御装置は、図1のメモリ制御装置と比較して、コマンド発行部が2個からm個に拡張されている点と、コマンド変換部108が追加されている点が異なる。図36のメモリ装置400cは、図34Aのメモリ装置400と比較して、メモリユニットが2個からm個に拡張されている点と、コマンド変換部441が追加されている点が異なる。
コマンド変換部108は、多重化手段として機能する。すなわち、コマンド変換部108は、メモリ装置400cに供給される同期信号の1サイクル期間内に、m個のコマンド発行部から発行されるコマンド1からコマンドmまでのm個のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドをメモリ装置400cに出力する。ここで、多重化の対象となるアクセスコマンド(コマンド1からコマンドm)は、具体的には、ロウアドレスを含むm個の活性化コマンド、およびカラムアドレスを含むm個の読み出しまたは書き込みコマンドである。
コマンド変換部441は、逆多重化手段として機能する。すなわち、メモリ制御装置からコマンドインターフェースを介して受信した、時分割多重されたアクセスコマンドをm個のアクセスコマンドに逆多重化し(つまり分離し)、アクセスコマンド1からmを対応するメモリユニット1からmに出力する。
ここでは、マスタ200が、メモリ制御装置101を介してV Byte幅のデータバスを持つメモリデバイスに接続されているシステム形態を示している。同図では、マスタ200は1つしか図示していないが、複数のマスタが接続されていてももちろんよい。ここで前記V Byte幅のデータバスを持つメモリ装置400cはメモリユニットとよばれるモジュールをm個有し、加えてその各々のメモリユニットに対してインターフェース仕様に応じたコマンドを同時に出力できる機能を有したコマンド変換部441を含む。コマンド変換部441はメモリ装置400cに与えられる外部クロックの規定サイクル内にm個のコマンドを受け取り、前記m個のメモリユニットに対して同時にコマンド発行できるコマンド変換機能も有している。これによれば、パッケージ化されたメモリ装置へのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。前記m個のユニットメモリのデータバスは前記V Byte幅のデータバスをm分割した各々と接続されている。尚、メモリユニットは通常のDRAMのバンクが1つ以上複数に集合したものであっても良く、メモリの種別は問わず、広く記憶素子とする。
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、後述するメモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段(コマンド生成部および第1〜第mコマンド発行部)と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は(1つのメモリユニットのバス幅)×(メモリユニットの個数)に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は1つのメモリユニットの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリユニットのバス幅×最小バースト長で求まる値を指す。図36では、一つのメモリデバイスのバス幅がVByte、最小バースト長が1であるものとする。
また図36においてメモリ制御装置101は、コマンド生成部102と、データ制御部106とコマンド変換部108、及びメモリ装置400cにコマンド変換部441を介して接続されているm個のコマンド発行部から構成されている。ここでm個のコマンド発行部とコマンド変換部108は一体であってもよい。コマンド生成部102は、マスタ200からのメモリアクセスコマンド(メモリアクセス要求)に含まれる論理アドレスをメモリユニット1からm毎の物理アドレスに変換する変換部103を備える。コマンド生成部102、m個のコマンド発行部およびコマンド変換部108は、上記のコマンド制御手段として機能する。
マスタ200からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部102に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス(論理アドレス)を示すデータを含む。
マスタ200からメモリアクセスコマンドを受け取ったコマンド生成部102は、まず、受け取ったコマンドを、変換部103において論理アドレスからメモリユニット0からm毎の物理アドレスに変換する。さらに、コマンド生成部102は、接続されているメモリユニットの最小アクセス単位のコマンドに分割する。その後、個々のメモリユニットに対応したユニット別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記ユニット別アクセスコマンドを発行する。
各コマンド発行部と各メモリユニットとは、それぞれ1対1で、メモリを制御するチップセレクト信号(CS)と、コマンド信号が対応付けられるが、その際、メモリ制御装置内のコマンド変換部108で時間多重され、規定サイクル内(ここでは1外部クロックサイクル)に、メモリ装置400cのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。この前記多重化されたコマンドをメモリ装置400c内のコマンド変換部441で逆多重化し、それぞれ対応するコマンドを各メモリユニットへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部106に通知する。
一方、マスタ200とメモリ装置400c間のデータ転送は、マスタ200とデータ制御部106間のVByteのデータバスを通して転送される。ここで、データバスは、双方向バスとしてもよいし、書き込みデータ専用と読み出しデータ専用の2系統のバスとしてもよい。
データ制御部106と各メモリデバイスとはVByteのデータバスが接続されている。データ制御部106では、マスタ200からのメモリデバイスへのデータ書き込み処理時には、マスタ200からのVByte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリユニットに接続されるV/mByte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリユニットからのV/mByte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、VByteのデータにくみ上げた後、マスタ200に接続されるVByteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
ここでマスタ200とデータ制御部とを繋ぐデータバスの幅はVByteに限らずシステム成立の要件によって決まる幅でよい。
これまでに述べた本発明のメモリ制御装置101に接続されるマスタ200およびコマンド生成部102は実施の形態1と同様の機能を有している。またコマンド生成部102は、前述のマスタ200から受け取るコマンドを分割、変換したときに、メモリユニットが異なり、かつアドレスも異なる場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリユニットが異なるが、アドレスが同じ場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に同じアドレスを発行してアクセスすることもできる。
次に、コマンド生成部102における動作を説明する。図3は、コマンド生成部102における、フローチャートを示した図である。図3に示すように、コマンド生成部102では、マスタ200から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合(開始アドレスが 8n Byte (nは整数)の場合)は、コマンド発行部0、1それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
一方、開始アドレスが8Byte 境界でない場合(開始アドレスが 8n+4 Byte (nは整数)の場合)は、コマンド発行部0に、アドレス n+1 へのアクセスコマンドを、コマンド発行部1に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を1ずつインクリメントしていき、マスタ200からの要求転送サイズを満たすまで上記処理を繰り返す。
ここで4Byte境界単位でメモリデバイスをメモリユニット1とメモリユニット2と特定する場合において、本発明のメモリ制御装置101を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ200が発行するコマンドは、図2が示すアドレスマップに従って、コマンド生成部102で分割、変換され、1)メモリデバイス0からメモリデバイス1へ跨る場合はメモリデバイス間で同じアドレスであり、2)メモリユニット1からメモリユニット2へ跨る場合はメモリユニット間で異なるアドレスになる。本実施形態1の発明では、このようにメモリユニットにデータを格納し、読み出し可能な配置にすることにより2)の場合は同時に異なるアドレスを異なるメモリユニット1及び2に発行でき、かつ1)の場合には同時に同じアドレスを異なるメモリユニット1及び2に発行することができる。
図37は、本実施形態5におけるメモリ制御装置101とメモリ装置400cの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのSDRAMと同等の動作をするメモリユニットm個を使用して、マスタ200から、V×4Byte データの読み出しコマンドが発行された場合のメモリデバイスへの制御信号と、マスタ200への読み出しデータバスの動作タイミングを示している。
コマンド生成部102において生成されたアクセスコマンドはm個のコマンド発行部の各々において各メモリユニットのコマンドへ分解された後、メモリ制御装置101内のコマンド変換部108にて時間多重され1クロックサイクル中にm個のコマンドとしてメモリ装置400cに発行される。多重化されたm個のコマンドはメモリ装置400c内のコマンド変換部441で各々該当するメモリユニットへのコマンドとCS信号に分解され各メモリユニットへ発行される。以上のようなコマンド転送をメモリ制御装置101とメモリ装置400cのインターフェースで示した図が図37である。最初にメモリユニット1からmのそれぞれ独立したアクティベートコマンドを時間多重し、メモリ装置400cに対して1サイクルの間に発行する。その後、tRCD を満たすよう3クロックサイクルおいて、ユニットメモリ1からmのそれぞれ独立したRead コマンドを時間多重し発行する。メモリ装置400c内の1からmのメモリユニットのそれぞれは、Read コマンド受信後、CL=3 後からそれぞれ所望のリードデータを自らのデータバスに出力する。
上記制御をおこなうことにより、マスタ200からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合に、メモリユニットごとに異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。
このように、本実施例においては、システム的に同一のVByte のSDRAMを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位(本実施例では4Byte単位)にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
さらに、1つのメモリデバイスに対してm個のコマンドを時間多重して転送する構成であるため、CS信号線およびコマンド(アドレスも含む)バスが1つのメモリユニット分で済むため、全部を独立配線する場合と比べて、コマンドバスの配線面積を大幅に削減することができる。
なお、本実施例では、使用するメモリデバイスとして、V ByteバスのSDRAMの機能と同等のメモリユニットm個を接続した場合を例として説明したがデバイスの種類もSDRAMに限らず、DDR、DDR2、Direct-Rumbus DRAM、XDRといった他のDRAMであっても、SRAM、フラッシュメモリといったDRAMでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。
また、図36で示したコマンド生成部102及びコマンド制御部107は最小アクセス単位に基づくメモリマッピングに従って、マスタ200からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。
なお、本実施例では、コマンド発行部がデータ制御部106に発行するコマンド発行順情報を、マスタ200のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す1ビットの情報として制御することも可能である。
メモリデバイスがDRAMでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部102から直接データ制御部106へ、コマンド発行順制御情報を通知することも可能である。
なお、図36において、コマンドだけでなくデータをも多重化するようにメモリ制御装置およびメモリ装置を構成してもよい。その場合、メモリ制御装置は、メモリ装置に送信すべきデータ1からデータmを1サイクル期間に時分割多重化するデータ多重化部と、メモリ装置から受信される多重化されたデータをデータ1からデータmに逆多重化するデータ逆多重化部と備え、かつ、メモリ装置は、メモリ制御装置に送信すべきデータ1からデータmを1サイクル期間に時分割多重化するデータ多重化部と、メモリ制御装置から受信される多重化されたデータをデータ1からデータmに逆多重化するデータ逆多重化部と備えるようにすればよい。
また、上記多重化部は、メモリユニットに供給される同期信号の1サイクル期間内にm個のアクセスコマンドを時分割多重化しているが、この代わりに、1サイクル期間内に少なくとも2つのアクセスコマンドを時分割多重化することにより、複数サイクル期間でm個のアクセスコマンドを多重化するようにしてもよい。データが多重化される場合も同様にしてよい。
なお、上記各実施の形態に示したブロック図の各機能ブロックおよびフローチャートの各モジュールは典型的には集積回路装置であるLSIとして実現される。このLSIは1チップ化されても良いし、複数チップ化されても良い。例えば、メモリ以外の機能ブロックが1チップ化されていても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、データを格納するユニットだけ1チップ化せずに、記録媒体やDRAMなど別構成としても良い。
本発明にかかる、実転送効率向上を図るメモリ制御装置及び制御方式は、画像やAudioに代表されるコーデック及びCPU等のようなマスターデバイスと、DRAM等のようなメモリとの間において生じするデータ転送を仲介するメモリ制御装置101に利用することができる。具体的には、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラなどの画像処理システムや、パソコンなどにおける画像処理システムに適している。
図1Aは、本発明の実施形態1におけるメモリ制御装置を含むシステム構成を示すブロック図である。 図1Bは、図1Aのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。 図2は、メモリマップ例を示す図である。 図3は、コマンド生成部のフローチャートを示す図である。 図4は、メモリ制御装置の動作を示すタイミングチャートを示す図である。 図5は、従来例の動作を説明するタイミングチャートを示す図である。 図6Aは、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。 図6Bは、図6Aのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。 図7は、本発明の実施形態2におけるメモリ制御装置を含むシステム構成を示すブロック図である。 図8は、メモリ制御装置の動作を示すタイミングチャートを示す図である。 図9は、従来例の動作を示すタイミングチャートを示す図である。 図10は、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。 図11Aは、本発明の実施形態3において基本単位となる単位領域を示す図である。 図11Bは、単位領域の説明図である。 図12は、単位領域の説明図である。 図13Aは、複数のメモリデバイス(DRAM)と単位領域との関係を示す図である。 図13Bは、複数のメモリデバイス(DRAM)と単位領域との関係を示す図である。 図14は、DRAMの物理アドレスメモリ((N×整数)バイト領域)を論理アドレス方向に配置した単位領域を示す図である。 図15は、フレームバッファとして単位領域を配置する一例を示す図である。 図16は、単位領域内における(N×整数)バイト領域の配置例を示す図である。 図17は、フレームバッファ内における(N×整数)バイト領域の配置例を示す図である。 図18は、本発明の実施の形態4におけるメモリ制御方法を示すフローチャートチャートを示す図である。 図19は、フレームバッファにおける、メモリバンクの論理アドレス配置の一例を示す図である。 図20は、図19で示すブロック内におけるメモリのカラムアドレスの配置の一例を示す図である。 図21は、同じメモリデバイスの(N×整数)バイト領域が縦に並ぶ配置例を示す図である。 図22は、図21のフレームバッファから転送される矩形データの配置例を示す図である。 図23は、図22に対応する各種信号を示すタイミングチャートを示す図である。 図24は、図21のフレームバッファから転送される矩形データの配置例を示す図である。 図25は、図24の矩形データアクセスに対応するタイミングチャートを示す図である。 図26は、市松模様の論理アドレス配置図である。 図27は、図21の例における論理アドレスメモリ配置において、矩形アクセス要求に対して必要なデータと実際に転送されるデータとを示す図である。 図28は、矩形データのアクセス時に実際に転送されるデータを示す図である。 図29は、図21の例における前記論理アドレス配置において、図27の矩形データを取得する動作を示すタイミングチャートを示す図である。 図30は、図26の例における論理アドレス配置において、図28の矩形データを取得する動作を示すタイミングチャートを示す図である。 図31は、従来のメモリ制御装置の構成を示す図である。 図32は、高速、大容量転送を可能とする従来のメモリ装置例である。 図33は、従来のメモリ装置での課題を説明する比較図である。 図34Aは、本実施の形態おけるメモリ装置の変形例を示す図である。 図34Bは、メモリ装置のより具体的な構成例を示す図である。 図35Aは、本実施の形態におけるメモリ装置の他の変形例を示す図である。 図35Bは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。 図36は、実施の形態5におけるメモリ制御装置の構成を示すブロック図である。 図37は、メモリ制御装置とメモリ装置の動作タイミングの一例を示すタイミングチャートを示す図である。
符号の説明
0、1 メモリ
101 メモリ制御装置
102 コマンド生成部
103 変換部
104 コマンド発行部
105 コマンド発行部
106 データ制御部
108 コマンド変換部(多重化手段)
200 マスタ
400、400a、400b、400c メモリ装置
411、411b、412、412b メモリユニット
421 コマンドインターフェース
422 データインターフェース
441 コマンド変換部(逆多重化手段)

Claims (25)

  1. メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、
    前記マスタから発行された前記メモリアクセス要求を、隣接する最小アクセス単位(メモリデバイスのバス幅×バースト長)が異なるメモリデバイスになっているデータ配置に従った論理アクセスコマンドに分割し、前記論理アクセスコマンドを前記複数のメモリユニットに応じた物理アクセスコマンドに変換し、前記物理アクセスコマンドを発行するコマンド制御手段と、
    前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、
    前記コマンド制御手段は、
    前記論理アクセスコマンドのアクセス開始アドレス及びアクセス終了アドレスが、
    メモリデバイス数×n<アクセス開始アドレス<メモリデバイス数×(n+1)、かつ、
    メモリデバイス数×(n+1)<アクセス終了アドレス
    (nは前記最小アクセス単位×メモリデバイス数を1単位とする自然数)
    の条件を満たす場合には、複数のメモリデバイス毎に異なる物理アドレスの物理アクセスコマンドを発行し、
    前記条件を満たさない場合は、複数のメモリデバイス毎に同じ物理アドレスの物理アクセスコマンドを発行する
    ことを特徴とするメモリ制御装置。
  2. 前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、
    前記コマンド制御手段は、
    複数のメモリデバイス毎の物理アクセスコマンドが同じ物理アドレスを示す場合に、前記個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
    複数のメモリデバイス毎の物理アクセスコマンドが異なる物理アドレスを示す場合に、前記個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
    前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記物理アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記物理アクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力する
    ことを特徴とする請求項1記載のメモリ制御装置。
  3. 前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
    前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎の物理アクセスコマンドに分割し、
    前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からの物理アクセスコマンドを発行し、
    前記コマンド生成部は、複数の物理アクセスコマンドを複数のコマンド発行部に同時に出力する
    ことを特徴とする請求項1または2記載のメモリ制御装置。
  4. 前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
    前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎の物理アクセスコマンドに分割し、
    前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からの物理アクセスコマンドを発行し、
    前記コマンド生成部は、分割した複数の物理アクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数の物理アクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、
    分割した複数の物理アクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数の物理アクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する
    ことを特徴とする請求項1または2記載のメモリ制御装置。
  5. 前記複数のメモリユニットは、2つの第1、第2メモリユニットであり、
    前記コマンド制御手段は、前記アクセス要求を第1アクセスコマンドと第2アクセスコマンドに変換し、
    第1および第2メモリユニットは、
    前記アクセス要求が第1メモリユニットのデータを先頭とし、当該データの先頭が第1および第2メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、
    前記アクセス要求が第2メモリユニットのデータを先頭とし、当該データの先頭が第1および第2メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第1のアクセスコマンドに対応する物理アドレスと前記第2のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する
    ことを特徴とする請求項3または4記載のメモリ制御装置。
  6. 前記コマンド制御手段は、複数の物理アクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替える
    ことを特徴とする請求項2記載のメモリ制御装置。
  7. 前記複数のメモリユニットは第1〜第mのメモリユニットであり、
    前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、
    前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
    各単位領域は、第1〜第mのメモリユニットの互いに対応するm個の(N×整数)バイト領域が順に配置される
    ことを特徴とする請求項1または2記載のメモリ制御装置。
  8. 各単位領域において第1〜第mのメモリユニットの物理アドレスは共通であり、
    前記コマンド制御手段は、
    前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第1〜第mのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時に物理アクセスコマンドを発行する
    ことを特徴とする請求項7記載のメモリ制御装置。
  9. 前記第1〜第mのメモリユニットの各々はi個のバンクを有し、
    前記論理アドレス空間は、p個の第1〜第pの前記単位領域が繰り返し配置され、
    前記第1〜第pの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、
    前記第1〜第pの単位領域の各々において前記m個の(N×整数)バイト領域は、バンクアドレスが共通であり、
    前記第1〜第pの単位領域は、互いにバンクアドレスが異なる
    ことを特徴とする請求項8記載のメモリ制御装置。
  10. 前記p個の第1〜第pの前記単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有し、
    前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記物理アクセスコマンドを発行する
    ことを特徴とする請求項9記載のメモリ制御装置。
  11. 前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
    前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、
    前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
    各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が順に配置され、
    前記画像の水平アドレスに対応してA個の単位領域が隣接して配置され、垂直アドレスに対応してB個の単位領域が配置される
    ことを特徴とする請求項1または2記載のメモリ制御装置。
  12. 前記各単位領域内における複数の(N×整数)バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である
    ことを特徴とする請求項11記載のメモリ制御装置。
  13. 前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、
    前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記物理アクセスコマンドを発行する
    ことを特徴とする請求項10記載のメモリ制御装置。
  14. 前記mは2であることを特徴とする請求項7から10の何れかに記載のメモリ制御装置。
  15. 前記mは2であり、
    前記2つのメモリユニットは画像を記憶するフレームバッファとして用いられ、
    前記2つのメモリユニットの各々は、Nバイトの最小アクセス単位を有し、
    各単位領域には、前記2つのメモリユニットの互いに対応する2つの(N×整数)バイト領域が交互に配置され、
    前記画像の水平アドレスに対応してA個の単位領域が隣接して配置され、垂直アドレスに対応してB個の単位領域が配置され、
    前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含む
    ことを特徴とする請求項7から10の何れかに記載のメモリ制御装置。
  16. 前記コマンド制御手段は、前記複数のメモリユニットに共通の第1アドレスバスと、前記複数のメモリユニットに個別の第2アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、
    前記第1アドレスバスと第2アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である
    ことを特徴とする請求項1記載のメモリ制御装置。
  17. 前記コマンド制御手段は、
    分割した複数の物理アクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第1および第2アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
    分割した複数の物理アクセスコマンドが異なる物理アドレスを示す場合でかつ第1アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第1、第2アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
    分割した複数の物理アクセスコマンドが異なる物理アドレスを示す場合でかつ第2アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第1及び第2アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力する
    ことを特徴とする請求項16記載のメモリ制御装置。
  18. 前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
    前記複数のメモリユニットの各々は、Nバイトの最小アクセス単位を有し、
    前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
    各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が順に配置され、
    前記フレームバッファは複数の矩形領域から構成され、
    前記矩形領域は、水平アドレスに対応してE個の単位領域が隣接して配置され、垂直アドレスに対応してF個の単位領域が配置される
    ことを特徴とする請求項1または2記載のメモリ制御装置。
  19. 前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、
    左右に隣接する2つの前記矩形領域は、異なるバンクアドレスを有し、
    上下に隣接する2つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有する
    ことを特徴とする請求項18記載のメモリ制御装置。
  20. 各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
    ことを特徴とする請求項19記載のメモリ制御装置。
  21. 前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、
    左右に隣接する2つの前記矩形領域は、異なるカラムアドレスを有し、
    上下に隣接する2つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なることを特徴とする請求項18記載のメモリ制御装置。
  22. 各単位領域には、前記複数のメモリユニットの互いに対応する複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
    ことを特徴とする請求項21記載のメモリ制御装置。
  23. 1行以上連続するG行からなる第1の小矩形領域における各単位領域は、前記複数の(N×整数)バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、
    隣接する1行以上連続するH行からなる第2の小矩形領域における各単位領域には、前記複数の(N×整数)バイト領域が、前記第1の小矩形領域と異なる順に配置され、
    前記第1小矩形領域と前記第2小矩形領域の関係が前記矩形領域内において繰り返される
    ことを特徴とする請求項19または21記載のメモリ制御装置。
  24. メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御方法であって、
    前記マスタから発行された前記メモリアクセス要求を、隣接する最小アクセス単位(メモリデバイスのバス幅×バースト長)が異なるメモリデバイスになっているデータ配置に従った論理アクセスコマンドに分割し、前記論理アクセスコマンドを前記複数のメモリユニットに応じた物理アクセスコマンドに変換し、前記物理アクセスコマンドを発行するステップと、
    前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するステップと
    を有し、
    前記アクセスコマンドを発行するステップにおいて、
    前記論理アクセスコマンドのアクセス開始アドレス及びアクセス終了アドレスが、
    メモリデバイス数×n<アクセス開始アドレス<メモリデバイス数×(n+1)、かつ、
    メモリデバイス数×(n+1)<アクセス終了アドレス
    (nは前記最小アクセス単位×メモリデバイス数を1単位とする自然数)
    の条件を満たす場合には、複数のメモリデバイス毎に異なる物理アドレスの物理アクセスコマンドを発行し、
    前記条件を満たさない場合は、複数のメモリデバイス毎に同じ物理アドレスの物理アクセスコマンドを発行する
    ことを特徴とするメモリ制御方法。
  25. 請求項1記載のメモリ制御装置を備えることを特徴とする半導体装置。
JP2008553058A 2006-12-25 2007-12-25 メモリ制御装置、およびメモリ制御方法 Expired - Fee Related JP4996626B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008553058A JP4996626B2 (ja) 2006-12-25 2007-12-25 メモリ制御装置、およびメモリ制御方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2006347132 2006-12-25
JP2006347132 2006-12-25
JP2007123987 2007-05-08
JP2007123987 2007-05-08
JP2008553058A JP4996626B2 (ja) 2006-12-25 2007-12-25 メモリ制御装置、およびメモリ制御方法
PCT/JP2007/074878 WO2008084681A1 (ja) 2006-12-25 2007-12-25 メモリ制御装置、メモリ装置およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JPWO2008084681A1 JPWO2008084681A1 (ja) 2010-04-30
JP4996626B2 true JP4996626B2 (ja) 2012-08-08

Family

ID=39608577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008553058A Expired - Fee Related JP4996626B2 (ja) 2006-12-25 2007-12-25 メモリ制御装置、およびメモリ制御方法

Country Status (6)

Country Link
US (2) US8307190B2 (ja)
EP (1) EP2071468A4 (ja)
JP (1) JP4996626B2 (ja)
KR (1) KR20090065504A (ja)
CN (1) CN101495975B (ja)
WO (1) WO2008084681A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
EP2212785A2 (en) * 2007-11-20 2010-08-04 Sandbridge Technologies, Inc. Method for implementing periodic behaviors using a single reference
JPWO2009139109A1 (ja) * 2008-05-13 2011-09-15 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
US8660193B2 (en) * 2009-01-12 2014-02-25 Maxim Integrated Products, Inc. Parallel, pipelined, integrated-circuit implementation of a computational engine
US20110307672A1 (en) * 2009-03-06 2011-12-15 Rambus Inc. Memory interface with interleaved control information
JP5396169B2 (ja) * 2009-06-22 2014-01-22 オリンパス株式会社 データアクセス制御装置
JP2011003161A (ja) * 2009-06-22 2011-01-06 Olympus Imaging Corp データ伝送制御装置およびデータ伝送制御方法
JP2011013909A (ja) * 2009-07-01 2011-01-20 Canon Inc メモリ制御回路
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
US8539309B2 (en) * 2009-09-17 2013-09-17 International Business Machines Corporation System and method for responding to error detection
JP2012113597A (ja) * 2010-11-26 2012-06-14 Panasonic Corp メモリ装置、メモリ制御回路及びメモリ制御システム
KR101854251B1 (ko) 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
CN102231141B (zh) * 2011-06-21 2017-04-05 深圳市中兴微电子技术有限公司 一种数据读、写方法及系统
US9268719B2 (en) * 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
JP2013089030A (ja) * 2011-10-18 2013-05-13 Elpida Memory Inc 情報処理システム、制御システム及び半導体装置
US10216625B2 (en) * 2012-09-24 2019-02-26 Sk Hynix Memory Solutions Inc. Hardware integrity verification
JP6062714B2 (ja) * 2012-10-31 2017-01-18 キヤノン株式会社 メモリ制御装置、メモリ制御方法およびプログラム
US9448941B1 (en) 2012-12-31 2016-09-20 Emc Corporation System and method for cache management
US9053815B2 (en) * 2013-05-28 2015-06-09 Nanya Technology Corporation Circuit in dynamic random access memory devices
KR102079939B1 (ko) * 2013-06-04 2020-02-21 삼성전자주식회사 데이터 저장 장치 및 그것의 명령어 스케줄링 방법
KR102220749B1 (ko) * 2014-03-14 2021-03-02 에스케이하이닉스 주식회사 반도체 장치
US9335934B2 (en) * 2014-04-29 2016-05-10 Futurewei Technologies, Inc. Shared memory controller and method of using same
US11755255B2 (en) * 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
CN110059020B (zh) 2015-04-23 2024-01-30 华为技术有限公司 扩展内存的访问方法、设备以及系统
US10353747B2 (en) 2015-07-13 2019-07-16 Futurewei Technologies, Inc. Shared memory controller and method of using same
US9940984B1 (en) * 2016-09-28 2018-04-10 Intel Corporation Shared command address (C/A) bus for multiple memory channels
JP6370953B1 (ja) * 2017-03-23 2018-08-08 ファナック株式会社 マルチランクsdram制御方法及びsdramコントローラ
KR101801901B1 (ko) * 2017-04-27 2017-11-27 공재섭 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
CN107146245B (zh) * 2017-05-05 2020-06-05 天津京东深拓机器人科技有限公司 图像匹配方法和装置
CN114020482A (zh) * 2017-06-02 2022-02-08 伊姆西Ip控股有限责任公司 数据写入的方法和设备
JP7074626B2 (ja) * 2018-09-11 2022-05-24 株式会社東芝 画像描画装置
CN109347957A (zh) * 2018-10-22 2019-02-15 北京广利核系统工程有限公司 基于fpga的通信数据存储管理方法、装置及环网板卡
US10929949B2 (en) * 2019-03-28 2021-02-23 Infineon Technologies Ag Accessing a memory configured to store an image data cube
CN112925728A (zh) * 2019-05-05 2021-06-08 长江存储科技有限责任公司 具有序列处理单元的存储器控制系统
JP2021039447A (ja) 2019-08-30 2021-03-11 キヤノン株式会社 メモリコントローラおよびメモリコントローラで実施される方法
TWI762852B (zh) * 2020-01-03 2022-05-01 瑞昱半導體股份有限公司 記憶體裝置及其操作方法
CN112802518B (zh) * 2021-03-25 2021-07-02 深圳市汇顶科技股份有限公司 数据写入方法、片上系统芯片及计算机可读存储介质
CN113704143A (zh) * 2021-08-27 2021-11-26 湖南国科微电子股份有限公司 数据读取方法、装置及计算机设备
EP4273702A1 (en) * 2022-05-06 2023-11-08 Samsung Electronics Co., Ltd. Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质
CN116594922B (zh) * 2023-07-14 2023-10-31 深圳砺驰半导体科技有限公司 一种数据访问电路、方法及系统级芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105367A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 画像処理装置
JPH1198462A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd データ再生装置
JPH11203197A (ja) * 1998-01-07 1999-07-30 Oki Data Corp メモリシステム
JP2001092771A (ja) * 1999-09-24 2001-04-06 Toshiba Corp 記憶装置、記憶装置用の制御装置及びこれらを用いた記憶システム
WO2003060722A1 (fr) * 2002-01-09 2003-07-24 Renesas Technology Corp. Système de mémoire et carte mémoire
JP2005148218A (ja) * 2003-11-12 2005-06-09 Seiko Epson Corp 画像処理装置、画像表示装置および画像処理装置における演算パラメータの設定方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US486603A (en) * 1892-11-22 Time-lock
JPS618785A (ja) 1984-06-21 1986-01-16 Fujitsu Ltd 記憶装置アクセス制御方式
US5182192A (en) * 1987-03-27 1993-01-26 The Wistar Institute Monoclonal antibodies against glycolipid antigens, methods of producing these antibodies, and use therefor
JPH04167160A (ja) 1990-10-31 1992-06-15 Matsushita Electric Ind Co Ltd 情報処理装置
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構
US5748551A (en) 1995-12-29 1998-05-05 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
JPH09190376A (ja) 1996-01-12 1997-07-22 Oki Electric Ind Co Ltd メモリ制御装置
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6681319B1 (en) * 1998-10-06 2004-01-20 Texas Instruments Incorporated Dual access instruction and compound memory access instruction with compatible address fields
DE69939152D1 (de) 1999-01-11 2008-09-04 Sgs Thomson Microelectronics Speicherschnittstellenvorrichtung und Verfahren zum Speicherzugriff
AU5774200A (en) * 1999-06-28 2001-01-31 Sangate Systems Inc. Intelligent splitter, system, and methods of use
JP4834362B2 (ja) 2005-09-16 2011-12-14 パナソニック株式会社 メモリ制御装置。
US6828977B2 (en) 2001-02-15 2004-12-07 Sony Corporation Dynamic buffer pages
US7313658B2 (en) * 2001-10-23 2007-12-25 Via Technologies, Inc. Microprocessor and method for utilizing disparity between bus clock and core clock frequencies to prioritize cache line fill bus access requests
JP2003178527A (ja) * 2001-12-12 2003-06-27 Fujitsu Ltd 情報記録装置及びバッファコントローラ並びに情報記憶方法
CN100357923C (zh) 2002-02-06 2007-12-26 皇家飞利浦电子股份有限公司 设备系统
ES2434104T3 (es) * 2003-03-17 2013-12-13 Koninklijke Philips N.V. Aparato para y método para almacenar un flujo en tiempo real de señales de información digitales
US7203798B2 (en) * 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
CN1942870B (zh) 2004-04-15 2010-05-12 松下电器产业株式会社 信息处理装置及数据访问方法
US7849382B2 (en) 2004-05-19 2010-12-07 Panasonic Corporation Memory control circuit, nonvolatile storage apparatus, and memory control method
JP2006293663A (ja) * 2005-04-11 2006-10-26 Sanyo Electric Co Ltd メモリアドレス生成装置及びそれを有したプロセッサ、メモリアドレス生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105367A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 画像処理装置
JPH1198462A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd データ再生装置
JPH11203197A (ja) * 1998-01-07 1999-07-30 Oki Data Corp メモリシステム
JP2001092771A (ja) * 1999-09-24 2001-04-06 Toshiba Corp 記憶装置、記憶装置用の制御装置及びこれらを用いた記憶システム
WO2003060722A1 (fr) * 2002-01-09 2003-07-24 Renesas Technology Corp. Système de mémoire et carte mémoire
JP2005148218A (ja) * 2003-11-12 2005-06-09 Seiko Epson Corp 画像処理装置、画像表示装置および画像処理装置における演算パラメータの設定方法

Also Published As

Publication number Publication date
CN101495975A (zh) 2009-07-29
JPWO2008084681A1 (ja) 2010-04-30
US8307190B2 (en) 2012-11-06
US20100030980A1 (en) 2010-02-04
CN101495975B (zh) 2011-10-05
EP2071468A4 (en) 2010-11-03
EP2071468A1 (en) 2009-06-17
WO2008084681A1 (ja) 2008-07-17
US20130013879A1 (en) 2013-01-10
KR20090065504A (ko) 2009-06-22
US8738888B2 (en) 2014-05-27

Similar Documents

Publication Publication Date Title
JP4996626B2 (ja) メモリ制御装置、およびメモリ制御方法
US7136958B2 (en) Multiple processor system and method including multiple memory hub modules
US20150161072A1 (en) Semiconductor memory device with plural memory die and controller die
KR20040106303A (ko) 프리페치 길이보다 짧은 버스트 길이를 갖는 메모리 시스템
CN101702947A (zh) 具有点对点请求互连的存储器系统
WO2010051621A1 (en) Bridge device having a virtual page buffer
US20140325105A1 (en) Memory system components for split channel architecture
JP2013182635A (ja) 半導体装置及びこれを備える情報処理システム並びに半導体装置の制御方法
KR101086417B1 (ko) 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법
US6502173B1 (en) System for accessing memory and method therefore
US20120278538A1 (en) Data storage apparatus, memory control device, and method for controlling flash memories
US8347026B2 (en) Memory device and memory device control method
JP5706060B2 (ja) 半導体記憶装置と品種展開方法
JP2007018222A (ja) メモリアクセス制御回路
TWI449043B (zh) 高速記憶體系統
US8244929B2 (en) Data processing apparatus
JP4890807B2 (ja) メモリアクセス装置およびメモリアクセス方法
US20190347223A1 (en) Semiconductor device with a time multiplexing mechanism for size efficiency
JP6186381B2 (ja) 半導体記憶装置と品種展開方法
CN112306917A (zh) 存储器时分控制的方法及存储器系统
WO2007116485A1 (ja) メモリ装置、そのインタフェース回路、メモリ・システム、メモリ・カード、回路基板及び電子機器
JP2011258246A (ja) メモリアクセス装置
JP2006252173A (ja) メモリ用インターフェース装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111221

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

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

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees