JP4313456B2 - Memory control device - Google Patents
Memory control device Download PDFInfo
- Publication number
- JP4313456B2 JP4313456B2 JP05684499A JP5684499A JP4313456B2 JP 4313456 B2 JP4313456 B2 JP 4313456B2 JP 05684499 A JP05684499 A JP 05684499A JP 5684499 A JP5684499 A JP 5684499A JP 4313456 B2 JP4313456 B2 JP 4313456B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- memory
- sdram
- data
- control device
- 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 - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、クロックに同期してデータ転送を行なうSRAM(シンクロナスダイナミックRAM)を制御する回路であって、特に、制御回路とSDRAMの間の信号線数を最小限に抑えつつ、シンクロナスDRAMの実質のバスバンド幅を向上させるメモリ制御装置に関する。
【0002】
【従来の技術】
従来から、データを記憶するメモリ装置の1つとして使用されているSDRAMは、クロックに同期した連続的なデータ転送が可能であり、バースト転送を指示すると、指定したバイト数分のデータ転送を1クロック単位で連続して行なうことができる。
【0003】
なお、SDRAMの仕様に関して記載されている文献としては、例えば、「NEC μPD4516421データシート(1995,NEC)や、特開平6−76567号公報「半導体記憶装置および同期型半導体記憶装置」等が存在する。
【0004】
このような、SDRAMを用いたシステムにおいてデータ転送能力を向上させる1つの手法として、複数のSDRAMを用いて、データを複数のSDRAMに分割して格納し、複数のSDRAMを同時に動作させる手法がある。
【0005】
しかしながら、この手法は、バースト長を十分長くとれる連続領域への転送に適用する場合は問題ないが、バースト長が短いランダムアクセスの場合には、SDRAMの性能を十分発揮させることができず、実質的にはデータ転送能力が向上しないという問題がある。
【0006】
そこで、データ転送能力を向上させるもう1つの手法として、複数のSDRAMに異なる種類のデータを分離して格納し、それらを独立に制御する手法がある。
【0007】
このような手法を用いたメモリ制御装置について以下説明する。
【0008】
図5において、転送要求ユニット501A〜転送要求ユニット501Cには外部から、あるいは以下の説明するSDRAMから処理を必要とするデータが入力されており当該処理後にSDRAM510a、SDRAM510bへの転送あるいは、外部機器への出力がなされる。
【0009】
転送要求ユニット501A〜501Cは所定の処理をしようとするとき、あるいは所定の処理が完了すると、SDRAM510a、SDRAM510bからの読みだし、またはSDRAMへの書き込みに関するアクセス要求(開始アドレス、転送サイズ、転送方向、実行優先度)をメモリ制御装置500に入力する。
【0010】
上記メモリ制御装置500では、上記アクセス要求を受けた、アービトレーション手段505は、当該3つの転送要求ユニット101A〜101Cからの転送要求の中から優先度が高くかつ異なるメモリ装置に対するアクセスを要求している2つの要求を選択し、その2つの転送要求に対応するアクセス開始要求(開始アドレス、転送サイズ、転送方向)をコマンド生成手段506aおよびコマンド生成手段506bに出力する。
【0011】
コマンド生成手段506aは、アービトレーション手段505から出力されたアクセス開始要求aに応じてSDRAM510aを制御するチップ選択信号CSaおよびコマンドaを出力する。
【0012】
また、コマンド生成手段506bは、アービトレーション手段505から出力されたアクセス開始要求bに応じてSDRAM510bを制御するチップ選択信号CSbおよびコマンドbを出力する。
【0013】
SDRAM510aおよびSDRAM510bは、メモリ制御装置504からコマンドおよびSDRAM選択信号(CSaまたはCSb)を入力して動作するシンクロナス・ダイナミック・ランダム・アクセス・メモリである。上記のようにSDRAM510aおよびSDRAM510bにチップ選択信号CSa,CSbおよびコマンドa,bが入力されると稼働し、以下に説明するデータ転送手段508a,508bを介して、転送要求ユニット501A〜501Cとのデータ転送を実行することになる。
【0014】
上記データ転送手段508aは、SDRAM510aへの書き込み時は、データバスを経由して転送要求ユニット501A〜501Cのいずれかから書き込みデータを入力して、メモリデータバスa経由でSDRAM510aへ転送し、SDRAM510aからの読み出し時は、メモリデータバスa経由でSDRAM510aから読み出しデータを入力して、データバス経由で転送要求ユニット501A〜Cのいずれかへ転送する。
【0015】
データ転送手段508bも上記データ転送手段508aと同様に動作するが、アクセス対象はSDRAM510bとなり、メモリデータバスbを使用することになる。
【0016】
以上のような構成により、従来のメモリ制御装置では、アービトレーション手段505によって3つの転送要求ユニット501A〜501Cよりの転送要求の中から優先度が高くかつ異なるメモリ装置に対するアクセスを要求している2つの転送要求を選択し、上記2つのアクセスを、2つのコマンド生成手段506a、506bによって完全に独立に制御することにより、2つのSDRAMを独立に動作させることが可能となり、複数の転送要求ユニットから同時に異なるSDRAMにアクセス要求があった場合にメモリのバスバンドが向上するという効果を備えている。
【0017】
尚、上記の構成の転送要求ユニット501A〜501C、メモリ制御装置500、SDRAM510a、510bは例えば以下のような用途に適用する。
【0018】
すなわち、例えば転送要求ユニット510Aは例えばDVDドライブに接続され、当該DVDドライブよりの圧縮画像データの入力があるとDRAM510aへの書き込み要求を出す。メモリ制御装置500は、この要求に基づいてDRAM510aへの書き込み処理を実行する。このように書き込まれた圧縮画像データは次いで、例えば、転送要求ユニット501Bよりの読み出し要求に基づいて転送され、該転送要求ユニット501Bで原画像データにデコードされる。ここで、該デコードが完了すると、当該転送要求ユニット501BはDRAM510bへの書き込み要求を出し、この要求に基づいて上記原画像データはDRAM510bに転送される。ついで、上記DRAM510bに格納された原画像データが、転送要求ユニット501Cよりの読み出し要求に基づいて転送され、転送要求ユニット501Cよりテレビモニタ等に出力される。上記の各書き込み要求、読み出し要求は、上記メモリ制御装置500によって処理される。
【0019】
【発明が解決しようとする課題】
しかしながら、上記従来のメモリ制御装置においては、SDRAMの数だけコマンド送信用の信号線を必要とするため、メモリ制御装置とSDRAMの間の信号線数が増大するという問題点を有していた。
【0020】
それ故、本発明の目的は、SDRAMなどの同期型メモリ装置を用いたメモリサブシステムにおいて、メモリ制御装置とメモリ装置の間の信号線数を最小限に抑えつつ、バースト長が短い場合においてもメモリの実効バスバンド幅を向上することができるメモリ制御装置を提供することである。
【0021】
【課題を解決するための手段】
上記目的を達成するために、本発明は以下の手段を採用している。すなわち、アービトレーション手段では、従来と同様、複数のデータ転送要求ユニットよりの複数のデータ転送要求の中から異なるメモリ装置に対するアクセスを要求している転送要求を複数選択して、コマンド生成手段に通知する。コマンド生成手段では、上記選択された複数のデータ転送要求に対応するメモリ装置制御コマンドを同時に生成するようにする。また、ルール判定手段を備えて、メモリ装置の仕様に基づいて各々のメモリ装置に対して次のコマンドが発行可能か否かを判定する構成としておく。
【0022】
コマンド選択手段では、上記ルール判定手段の判定と優先度に基づいて、次のコマンドを発行可能なメモリ装置に対するメモリ制御コマンドの中から1つを選択して複数のメモリ装置へ同時に出力するとともに、上記選択されたコマンドに対応するメモリ装置に対するチップ選択信号を有効にする。
【0023】
これによって、複数のメモリ装置に対するコマンドピンは共通となり、LSIのピン数を減少させることが可能である。
【0024】
上記においては、各メモリ装置は共通のコマンドピンから得られることなるコマンドに基づいて個別に動作することになるが、複数のメモリ装置に対応してコマンド生成手段が1つコマンドを発行して、当該複数のメモリ装置を共通の転送データに対応して同時に作動させることもできる。これによって、サイズの大きなデータを複数のメモリ装置に分割して書き込むことができ、また、当該分割して書き込まれたデータを同時に読み出して、もとのデータを復元することもできる。
【0025】
【発明の実施の形態】
以下、本発明の実施形態について図を参照して説明する。
【0026】
(実施の形態1)
図1は、本発明の第1の実施形態に係るメモリ制御装置の構成を示すブロック図である。
【0027】
図1において、所定数(この例では3つ)の転送要求ユニット101A〜101Cは、上記従来例と同様SDRAMからの読みだし、またはSDRAMへの書き込みに関するアクセス要求(開始アドレス、転送サイズ、転送方向、実行優先度)を生成して以下に説明するメモリ制御装置100に入力する。
【0028】
上記メモリ制御装置100のアービトレーション手段103は、上記従来のメモリ制御装置500と同様に、上記所定数の転送要求ユニット101A〜101Cからの転送要求の中から優先度が高くかつ異なるSDRAMに対するアクセスを要求している2つの転送要求を選択し、その2つの転送要求に対応するアクセス開始要求(開始アドレス、転送サイズ、転送方向)をコマンド生成手段105に出力する。
【0029】
コマンド生成手段105は、上記アービトレーション手段103が選択した2つの要求に基づいて、その2つの転送要求に対応するコマンドa,コマンドbを生成してコマンド選択手段106に入力する。
【0030】
上記コマンド選択手段106は、以下に説明するコマンド発行ルール判定手段109からの情報(コマンドa,コマンドbの発行が可能か否か)およびコマンドa,コマンドbの実行優先度をもとに、コマンド生成手段から得た2つのコマンドを時分割的に1つずつ選択して、1組のコマンドピンよりSDRAM110aおよび110bに出力するとともに、選択したコマンドに対応するチップ選択信号CSaまたはCSbを時分割的に有効(図2の例ではLow )にする。
【0031】
尚、チップ選択信号CSaは、SDRAM110aの選択信号で、あり、また、選択信号CSbは、SDRAM110bの選択信号であり、従来と同様、それぞれSDRAM110a、110bに対応した選別個の組のピンより出力される。
【0032】
データ転送手段107aおよびデータ転送手段107bの動作は上記従来技術と同様であるので。ここでは説明を省略する。
【0033】
コマンド発行ルール判定手段109は、使用するSDRAMの仕様に応じて、上記2つのSDRAMに対して次のコマンドが発行可能か否かの情報を生成し、コマンド選択手段106へ出力する。
【0034】
例えば、CASレイテンシ=3のSDRAMを使用した場合に、SDRAM110a(または110b)に対してアクティブコマンドが発行された時には、それに続く2サイクルの間はSDRAM110a(または110b)へのコマンド発行は禁止状態となる。従って、コマンド発行ルール判定手段109は、該2サイクルの間はSDRAM110a(または110b)へのアクセスを禁止するようコマンド選択手段106に指示を出すようになっている。
【0035】
図2は、上記第1の実施形態に係るメモリ制御装置の動作タイミングの一例を示すタイミングチャートである。
【0036】
以下、図1および図2を参照して更に説明する。
【0037】
まず最初に、転送要求ユニット101Aがメモリ装置110aから4バイトのデータの読み出し要求を出し、転送要求ユニット101Bがメモリ装置110bへ4バイトのデータの書き込み要求を出力し、実行優先度は、転送要求ユニット101Aのアクセス要求の方が高いとする。この状況下ではアービトレーション手段103は、他に実行優先度がより高い転送要求がない限り、SDRAM110aに対するアクセス開始要求とSDRAM110bに対応するアクセス開始要求をコマンド生成手段105に出力することになる。
【0038】
また、SDRAM110aおよびSDRAM110bのデータバス幅は8ビットとし、CASレイテンシ=3、バースト長=4とする。
【0039】
上記アクセス開始要求を受けたコマンド生成手段105は、コマンドaとして、SDRAM110aへのアクティブコマンドAaとSDRAM110aへのリードコマンドRaをこの順序で生成し、コマンド選択手段106へ出力し、また、コマンドbとして、SDRAM110bへのアクティブコマンドAbとSDRAM110bへのライトコマンドWbをこの順序で生成し、コマンド選択手段106へ出力する。さらに、コマンドaには、コマンドbより優先して実行するという情報が属性として付加されているものとする。
【0040】
コマンド選択手段106は、まずサイクル2(図2(a) 参照)において、コマンドaを選択して、図2(e) に示すようにSDRAM110a、110bにアクティブコマンドAaを出力するとともに、図2(b) に示すようにチップ選択信号CSaをアクティブにする。これにより、上記コマンドaはSDRAM110aに受け入れられるが、SDRAM110bには受け入れられないことになり、SDRAM110aのアクティベートが実行される。
【0041】
上記したように、アクティブコマンドが発行された時には、それに続く2サイクルの間はSDRAM110a(または110b)へのコマンド発行は禁止状態となる。従って、サイクル3ではコマンド発行ルール判定手段109から、SDRAM110aへのコマンド発行は禁止状態である旨の情報が出力されており、それにより、コマンド選択手段106は、SRAM106に対応するコマンドbを選択して、図2(e) に示すように、SDRAM110bにアクティブコマンドAbを出力し、図2(d) に示すようにチップ選択信号CSbをアクティブにする。これにより、SDRAM110bのアクティベートが実行される。
【0042】
サイクル4では、コマンド発行ルール判定手段109から、両方のSDRAMともにコマンド発行は禁止状態である旨の情報が出力されており、それにより、コマンド選択手段106は、上記チップ選択信号CSa、CSbをインアクティブにする。
【0043】
次いで、上記サイクル2で発行したアクティブコマンドAaに対応して、サイクル5で、SDRAM110aへのコマンド発行が可状態となるので、コマンド選択手段106は、コマンドaを選択して、SDRAM110aにリードコマンドRaを出力し、これによって、SDRAM110aはサイクル8からメモリデータバスaに上記バースト長4のリードデータr1,r2,r3,r4を出力し、このデータは、データ転送手段107aによって転送要求ユニットAに転送される。尚、SDRAM110aにリードコマンドが入力されると、読み出し対象のデータは一旦SDRAM110a内のバッファに落とされた後、読み出される。従って、図2(e),(f) に示すように、リードコマンドRaが発行されてから所定サイクル(この場合3サイクル)後にデータの読み出しがなされることになる。
【0044】
続いて、上記サイクル3で発行したアクティブコマンドAbに対応して、サイクル6で、SDRAM110bへのコマンド発行が許可状態となる。ここで、コマンドaは存在しないので、コマンド選択手段106は、コマンドbを選択して、SDRAM110bにライトコマンドWbを出力し、これによって、図2(e),(g) に示すように、データ転送手段107bは、転送要求ユニットBから入力したライトデータw1,w2,w3,w4をサイクル6からメモリデータバスbに出力する。
【0045】
以上のように、本発明の第1の実施の形態に係るメモリ制御装置は、コマンド選択手段106がコマンド発行ルール判定手段109からコマンド発行可否の情報を入力して、その情報と実行優先度によって、SDRAM110aへのコマンドであるコマンドaとSDRAM110bへのコマンドであるコマンドbのどちらか一方を選択して、コマンドとして2つのSDRAM110a,110bへ出力し、選択したコマンドに対応するSDRAMの選択信号CSaまたはCSbをアクティブにすることにより、共通のコマンド信号で2つのSDRAMを独立に制御する。
【0046】
これにより、2つのSDRAM110a,110bへのコマンド信号を共用できるため、メモリ制御装置とSDRAMとの間の信号線数を削減することができる。
【0047】
なお、上記実施の形態1においては、転送要求ユニットの数は3であったが、2または4以上の構成にしてもよい。また、SDRAMは2つであったが、3つ以上の構成にしてもよい。
【0048】
(実施の形態2)
図3は、本発明の第2の実施形態に係るメモリ制御装置の構成を示すブロック図である。
【0049】
図3において、コマンド生成手段301は、アービトレーション手段103を介して、例えば転送要求ユニット101Cから転送要求があった場合には、その転送要求のみを選択して、コマンドaを生成する。この時、コマンドaに2つのSDRAM110a,110bに同時にアクセスする旨の属性情報を付加する。また、例えば、転送要求ユニット101A、101Bからの転送要求があった場合には、2つの転送要求を共に選択し、その2つの転送要求に対応するコマンドa,コマンドbを生成する。この時、コマンドa,コマンドbには、特定のSDRAMに個別にアクセスする旨の属性情報を付加する。
【0050】
コマンド選択手段302は、コマンド生成手段301から1つのSDRAM110a、110bに個別にアクセスする旨の属性情報を持ったコマンド(この例では上記コマンドb)が出力された場合には、コマンド発行ルール判定手段109からの情報(コマンドa,コマンドbの発行が可能か否か)およびコマンドa,コマンドbの実行優先度をもとに、コマンド生成手段301から入力した2つのコマンドのうち1つを選択してSDRAM110aまたは110bへ出力し、選択したコマンドに対応するSDRAM選択信号(CSaまたはCSb)を有効にする。この後の動作手順は図2を参照して上記実施の形態で説明した通りであるので、重ねての説明を省略する。
【0051】
一方、コマンド生成手段301から2つのSDRAMに同時にアクセスする旨の属性情報を持つコマンド(この場合コマンドa)が出力された場合には、コマンド発行ルール判定手段109からの情報(コマンドa,コマンドbの発行が可能か否か)をもとに、コマンド生成手段から入力したコマンドaをそのままSDRAM110aと110bへ出力し、2つのチップ選択信号CSaとCSbを同時に有効にする。
【0052】
転送要求ユニット101Aまたは転送要求ユニット101BとSDRAM110a、110b間のデータ転送をする場合のデータ転送手段303aの動作は、上記した第1の実施の形態と同じであるので、ここでは説明を省略する。
【0053】
また、転送要求ユニット101CからSDRAM110a、110bにデータ転送する場合は、データ転送手段303aはコマンド選択手段302よりその旨の通知を受けて、メモリデータバスaとメモリデータバスbの両方にデータを分割してSDRAM110a、110bに同時に転送する。この分割は例えば1バイトずつのデータをSDRAM110a、110bに交互に振り分けるようにし、それぞれをSDRAM110a、110bの同じアドレスに書き込むようにするが、この方法はすでに公知であるので、ここでは詳しい説明を省略する。
【0054】
更に、SDRAM110a、110bから転送要求ユニット101Cにデータ転送する場合には、データ転送手段303aはコマンド選択手段302よりその旨の通知を受けて、メモリデータバスaとメモリデータバスbの両方から得られる上記分割されたデータを復元して、転送要求ユニットCに転送するようになっている。ここでの復元方法についてもすでに公知であるので、ここでは説明を省略する。
【0055】
データ転送手段303bは、転送要求ユニット101Aまたは転送要求ユニット101BとSDRAM110a、110b間のデータ転送をする場合の時については、上記した第1の実施の形態と同じように動作する。また、上記転送要求ユニット101CとSDRAM110a、110b間のデータ転送時には使用されない。
【0056】
コマンド発行ルール判定手段109の機能は上記第1の実施の形態と同様である。
【0057】
図4は、本第2の実施形態に係るメモリ制御装置の動作タイミングの一例を示すタイミングチャートである。
【0058】
以下、図3および図4を参照しながら説明する。
【0059】
まず最初に、転送要求ユニット101AがSDRAM110aから4バイトのデータのリードをアクセス要求として出力し、転送要求ユニット101BがSDRAM110bから4バイトのデータのリードをアクセス要求として出力し、転送要求ユニット103CがSDRAM110aとSDRAM110bの両方への16バイトのデータのライトをアクセス要求として出力し、実行優先度は、転送要求ユニットCの出力するアクセス要求、転送要求ユニットAの出力するアクセス要求,転送要求ユニットBの出力するアクセス要求の順に高いとする。
【0060】
また、SDRAM110aおよびSDRAM110bのメモリデータバス幅は8ビットとし、CASレイテンシ=3、バースト長=4とする。この場合、図4に示したように、まず最初に実行優先度の最も高い転送要求ユニットCのデータをSDRAM110aおよび110bに転送することが実行される。
【0061】
この時、図4(e) に示すように、2サイクルにおいてまず、SDRAM110aとSDRAM110bの両方へのアクティブコマンドAabがコマンド選択手段302より出力されるとともに、図4(c),(d) に示すように、チップ選択信号CSaとチップ選択信号CSbが同時にアクティブになる。その3サイクル後の5サイクルにおいて、16バイトのデータのライトアクセス要求Wabがコマンド選択手段302より出力され、このときも、チップ選択信号CSaとチップ選択信号CSbが同時にアクティブになる。
【0062】
上記コマンドAabを受けて2つのSDRAM110aとSDRAM110bが同時に稼働状態となるとともに、上記コマンドAabは上記データ転送手段303aにも入力され、これを受けて図4(f),(g) に示すように、SDRAM110aとSDRAM110bの2つが同時に動作し、また、データ転送手段303aは転送要求ユニットCよりのデータを、メモリデータバスaとメモリデータバスbに分割してSDRAM110aとSDRAM110bに転送する(サイクル5〜サイクル12)。尚、図4においては1バイトずつのデータW1,W2‥をその順番に交互にメモリデータバスaとメモリデータバスbに割り振っている。
【0063】
尚、上記16バイトの書き込みは、SDRAM110a、110bのバッファに対してなされるので、該バッファからSDRAMの本体に書き込みをする必要上、サイクル13で両方のSDRAM110a、110bに対してがプリチャージが起動している(サイクル15参照)。
【0064】
次いで、サイクル16以降で、SDRAM110aから転送要求ユニット101Aへの転送と、SDRAM110bから転送要求ユニットBへの転送が、1サイクルずれて、並行して実行される(サイクル16〜サイクル28)。 以上のように、本発明の第2の実施の形態に係るメモリ制御装置は、SDRAMに対する1回あたりのデータ転送サイズに応じて、データ転送サイズが大きい場合には、複数のSDRAMに並列にデータを格納して、複数のSDRAMを同時に動作させて1つのデータ転送を行ない、データ転送サイズが小さい場合には、1つのSDRAMのみにデータを格納して、複数のSDRAMを独立に制御して複数のデータ転送を同時に行なう。
【0065】
この実施の形態はサイズの大きなデータの転送に対して有効であり、バースト長も長くしてオーバヘッドを最短にしている。また、コマンド生成手段の出力するコマンドに、複数(2つ)のSDRAMを同時に使用するか、個別に使用するかの情報を載せることで、バースト長の長短に応じてオーバヘッドを最小とするSDRAMへの格納方法を選択可能であり、メモリの実行バスバンド幅を向上させることができる。
【0066】
更に、この実施の形態において、特定の転送要求ユニットよりの転送要求に基づいて、2つのSDRAMにアクセスするようにしたが、本実施の形態はこれに限定されるものではなく、例えば、特定のデータに2つのDRAMを同時に使用する旨のデータを書き込んでおき、当該データがいずれの転送要求ユニットを使用しても、2つのDRAMを同時に使用することができるようにすることもできる。また、2つのDRAMを同時に使用することとしたが、更に多くのDRAMを同時に使用るようにしてもよいことは勿論である。
【0067】
【発明の効果】
以上説明したように、本発明はSDRAMへのコマンドピンを共用化することにより、メモリ制御装置のピン数ぴょびメモリ制御装置とSDRAMとの間の信号線数を削減することができる。
【0068】
更に、データサイズの大小やバースト長の長短に応じて、複数のメモリ装置を個別にを使用するか、共通に使用するかを選択できるようにすることによって、オーバヘッドを最小とするSDRAMへの格納方法を選択可能であり、これによって、メモリの実行バスバンド幅を向上させることができる。
【図面の簡単な説明】
【図1】第1の実施形態に係るメモリ制御装置の構成を示すブロック図である。
【図2】第1の実施形態に係るメモリ制御装置の動作手順を示すタイミングチャートである。
【図3】第2の実施形態に係るメモリ制御装置の構成を示すブロック図である。
【図4】第2の実施形態に係るメモリ制御装置の動作手順を示すタイミングチャートである。
【図5】従来のメモリ制御装置の構成の一例を示すブロック図である。
【符号の説明】
101A,101B,101C…転送要求ユニット
105…コマンド生成手段
106…コマンド選択手段
107a,107b…データ転送手段
109…コマンド発行ルール判定手段
301…コマンド生成手段
302…コマンド選択手段
303a,303b…データ転送手段[0001]
BACKGROUND OF THE INVENTION
The present invention is a circuit for controlling an SRAM (Synchronous Dynamic RAM) for transferring data in synchronization with a clock, and in particular, a synchronous DRAM while minimizing the number of signal lines between the control circuit and the SDRAM. The present invention relates to a memory control device that improves the actual bus bandwidth.
[0002]
[Prior art]
Conventionally, an SDRAM used as one of memory devices for storing data is capable of continuous data transfer in synchronization with a clock. When burst transfer is instructed, data transfer for a specified number of bytes is 1 It can be performed continuously in units of clocks.
[0003]
Note that as references described regarding the specifications of the SDRAM, there are, for example, “NEC μPD4516421 data sheet (1995, NEC), Japanese Patent Laid-Open No. 6-76567“ Semiconductor memory device and synchronous semiconductor memory device ”, and the like. .
[0004]
As one method for improving the data transfer capability in such a system using SDRAM, there is a method in which a plurality of SDRAMs are used to divide and store data into a plurality of SDRAMs and operate the plurality of SDRAMs simultaneously. .
[0005]
However, this method has no problem when applied to transfer to a continuous area where the burst length can be sufficiently long. However, in the case of random access with a short burst length, the performance of the SDRAM cannot be exhibited sufficiently, In particular, there is a problem that the data transfer capability is not improved.
[0006]
Therefore, as another method for improving the data transfer capability, there is a method of separately storing different types of data in a plurality of SDRAMs and independently controlling them.
[0007]
A memory control apparatus using such a method will be described below.
[0008]
In FIG. 5, the
[0009]
When the
[0010]
In the memory control device 500, the
[0011]
The
[0012]
The
[0013]
The SDRAM 510a and SDRAM 510b are synchronous dynamic random access memories that operate by inputting a command and an SDRAM selection signal (CSa or CSb) from the memory control device 504. As described above, the chip selection signals CSa and CSb and the commands a and b are input to the
[0014]
The data transfer means 508a inputs write data from one of the
[0015]
The data transfer unit 508b operates in the same manner as the
[0016]
With the configuration as described above, in the conventional memory control device, the arbitration means 505 has two priority requests from among the transfer requests from the three
[0017]
The
[0018]
That is, for example, the transfer request unit 510A is connected to, for example, a DVD drive, and issues a write request to the
[0019]
[Problems to be solved by the invention]
However, the conventional memory control device requires a number of signal transmission signal lines as many as the number of SDRAMs, so that the number of signal lines between the memory control device and the SDRAM increases.
[0020]
Therefore, an object of the present invention is to reduce the number of signal lines between the memory control device and the memory device in a memory subsystem using a synchronous memory device such as an SDRAM even when the burst length is short. To provide a memory control device capable of improving the effective bus bandwidth of a memory.
[0021]
[Means for Solving the Problems]
In order to achieve the above object, the present invention employs the following means. In other words, the arbitration means selects a plurality of transfer requests requesting access to different memory devices from a plurality of data transfer requests from a plurality of data transfer request units, and notifies the command generation means, as in the prior art. . The command generation means simultaneously generates memory device control commands corresponding to the selected data transfer requests. In addition, a rule determination unit is provided to determine whether or not the next command can be issued to each memory device based on the specifications of the memory device.
[0022]
The command selection means selects one of the memory control commands for the memory device that can issue the next command based on the determination of the rule determination means and the priority, and outputs the selected memory control command to a plurality of memory devices simultaneously. The chip selection signal for the memory device corresponding to the selected command is validated.
[0023]
As a result, command pins for a plurality of memory devices are shared, and the number of LSI pins can be reduced.
[0024]
In the above, each memory device operates individually based on a command obtained from a common command pin, but the command generation means issues one command corresponding to a plurality of memory devices, The plurality of memory devices can be operated simultaneously corresponding to common transfer data. As a result, large data can be divided and written in a plurality of memory devices, and the original data can be restored by simultaneously reading the divided and written data.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0026]
(Embodiment 1)
FIG. 1 is a block diagram showing the configuration of the memory control apparatus according to the first embodiment of the present invention.
[0027]
In FIG. 1, a predetermined number (three in this example) of
[0028]
Arbitration means 103 of the memory control device 100 requests access to different SDRAMs having higher priority from the transfer requests from the predetermined number of
[0029]
Based on the two requests selected by the arbitration unit 103, the
[0030]
The command selection means 106 determines the command based on the information from the command issue rule determination means 109 described below (whether or not the command a and the command b can be issued) and the execution priority of the commands a and b. Two commands obtained from the generation means are selected one by one in a time-division manner and output to SDRAMs 110a and 110b from a set of command pins, and a chip selection signal CSa or CSb corresponding to the selected command is time-divisionally divided. Is enabled (Low in the example of FIG. 2).
[0031]
Note that the chip selection signal CSa is a selection signal for the
[0032]
This is because the operations of the data transfer means 107a and the data transfer means 107b are the same as in the prior art. The description is omitted here.
[0033]
The command issuance
[0034]
For example, when an SDRAM having CAS latency = 3 is used and an active command is issued to the
[0035]
FIG. 2 is a timing chart showing an example of operation timing of the memory control device according to the first embodiment.
[0036]
Hereinafter, further description will be given with reference to FIGS. 1 and 2.
[0037]
First, the
[0038]
Further, the data bus width of the
[0039]
The command generation means 105 that has received the access start request generates an active command Aa to the
[0040]
The command selection means 106 first selects the command a in cycle 2 (see FIG. 2 (a)), and outputs the active command Aa to the
[0041]
As described above, when an active command is issued, command issuance to the
[0042]
In
[0043]
Next, in response to the active command Aa issued in the
[0044]
Subsequently, in response to the active command Ab issued in the
[0045]
As described above, in the memory control device according to the first embodiment of the present invention, the
[0046]
As a result, since the command signals to the two
[0047]
In the first embodiment, the number of transfer request units is three. However, the number of transfer request units may be two or four or more. Although there are two SDRAMs, three or more configurations may be used.
[0048]
(Embodiment 2)
FIG. 3 is a block diagram showing the configuration of the memory control device according to the second embodiment of the present invention.
[0049]
In FIG. 3, when there is a transfer request from the
[0050]
When the command generation unit 301 outputs a command having attribute information indicating that individual SDRAMs 110a and 110b are individually accessed from the command generation unit 301 (the command b in this example), the command issue rule determination unit Based on the information from 109 (whether command a and command b can be issued) and the execution priority of command a and command b, one of the two commands input from command generation means 301 is selected. Are output to the
[0051]
On the other hand, when a command having attribute information indicating that two SDRAMs are simultaneously accessed (command a in this case) is output from the command generation unit 301, information (command a, command b) from the command issuance
[0052]
Since the operation of the data transfer means 303a when transferring data between the
[0053]
When data is transferred from the
[0054]
Further, when data is transferred from the
[0055]
The data transfer means 303b operates in the same manner as in the first embodiment described above when transferring data between the
[0056]
The function of the command issuance
[0057]
FIG. 4 is a timing chart illustrating an example of operation timing of the memory control device according to the second embodiment.
[0058]
Hereinafter, a description will be given with reference to FIGS. 3 and 4.
[0059]
First, the
[0060]
The memory data bus width of the
[0061]
At this time, as shown in FIG. 4 (e), first in two cycles, the active command Aab to both the
[0062]
When the command Aab is received, the two
[0063]
Since the 16 bytes are written to the
[0064]
Next, in
[0065]
This embodiment is effective for transferring large data, and the burst length is also increased to minimize the overhead. In addition, the command output from the command generation means includes information on whether to use a plurality of (two) SDRAMs simultaneously or individually, so that the SDRAM can minimize overhead according to the length of the burst length. Can be selected, and the execution bus bandwidth of the memory can be improved.
[0066]
Further, in this embodiment, two SDRAMs are accessed based on a transfer request from a specific transfer request unit. However, the present embodiment is not limited to this, and for example, a specific Data indicating that two DRAMs are used simultaneously can be written in the data, and the two DRAMs can be used simultaneously regardless of which transfer request unit is used for the data. Although two DRAMs are used at the same time, it is needless to say that more DRAMs may be used at the same time.
[0067]
【The invention's effect】
As described above, the present invention can reduce the number of pins of the memory control device and the number of signal lines between the memory control device and the SDRAM by sharing the command pin to the SDRAM.
[0068]
In addition, storage in an SDRAM that minimizes overhead is made possible by selecting whether to use a plurality of memory devices individually or in common according to the size of the data and the length of the burst length. The method can be selected, which can improve the execution bus bandwidth of the memory.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a memory control device according to a first embodiment.
FIG. 2 is a timing chart showing an operation procedure of the memory control device according to the first embodiment.
FIG. 3 is a block diagram showing a configuration of a memory control device according to a second embodiment.
FIG. 4 is a timing chart showing an operation procedure of the memory control device according to the second embodiment.
FIG. 5 is a block diagram showing an example of a configuration of a conventional memory control device.
[Explanation of symbols]
101A, 101B, 101C... Transfer request unit
105: Command generation means
106: Command selection means
107a, 107b ... Data transfer means
109: Command issuance rule determination means
301: Command generation means
302: Command selection means
303a, 303b ... Data transfer means
Claims (3)
上記複数のデータ転送要求ユニットよりの複数のデータ転送要求の中から異なるメモリ装置に対するアクセスを要求している転送要求を複数選択するアービトレーション手段と、
上記アービトレーション手段が選択した複数のデータ転送要求に対応するメモリ装置制御コマンドを同時に生成するコマンド生成手段と、
メモリ装置の仕様に基づいて各々のメモリ装置に対して次のコマンドが発行可能か否かを判定するルール判定手段と、
上記ルール判定手段の判定と優先度に基づいて、次のコマンドを発行可能なメモリ装置に対するメモリ制御コマンドの中から1つを選択して複数のメモリ装置へ同時に出力するとともに、上記選択されたコマンドに対応するメモリ装置に対するチップ選択信号を有効にするコマンド選択手段とを備えたことを特徴とするメモリ制御装置。In a memory control device that controls data transfer between a plurality of data transfer request units and a plurality of dynamic memory devices in synchronization with a clock,
Arbitration means for selecting a plurality of transfer requests requesting access to different memory devices from a plurality of data transfer requests from the plurality of data transfer request units;
Command generation means for simultaneously generating memory device control commands corresponding to a plurality of data transfer requests selected by the arbitration means;
Rule determining means for determining whether or not the next command can be issued to each memory device based on the specifications of the memory device;
Based on the determination and priority of the rule determination means, one of the memory control commands for the memory device that can issue the next command is selected and simultaneously output to a plurality of memory devices, and the selected command And a command selection means for enabling a chip selection signal for the memory device corresponding to the memory control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05684499A JP4313456B2 (en) | 1999-03-04 | 1999-03-04 | Memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05684499A JP4313456B2 (en) | 1999-03-04 | 1999-03-04 | Memory control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259494A JP2000259494A (en) | 2000-09-22 |
JP4313456B2 true JP4313456B2 (en) | 2009-08-12 |
Family
ID=13038729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05684499A Expired - Lifetime JP4313456B2 (en) | 1999-03-04 | 1999-03-04 | Memory control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4313456B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002288037A (en) * | 2001-03-27 | 2002-10-04 | Sony Corp | Memory control device and method |
JP4593220B2 (en) * | 2004-09-29 | 2010-12-08 | エヌイーシーコンピュータテクノ株式会社 | Memory access control method and method, and shared memory access control method and method |
JP5094050B2 (en) * | 2005-07-14 | 2012-12-12 | キヤノン株式会社 | Memory control device, memory control method, and embedded system |
JP5133631B2 (en) * | 2007-08-22 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | SDRAM command generation circuit |
JP2009251945A (en) * | 2008-04-07 | 2009-10-29 | Panasonic Corp | Memory controller |
JP5378716B2 (en) * | 2008-06-27 | 2013-12-25 | 株式会社 沖情報システムズ | Memory control device |
US7613850B1 (en) | 2008-12-23 | 2009-11-03 | International Business Machines Corporation | System and method utilizing programmable ordering relation for direct memory access |
-
1999
- 1999-03-04 JP JP05684499A patent/JP4313456B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000259494A (en) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8244952B2 (en) | Multiple processor system and method including multiple memory hub modules | |
KR100816053B1 (en) | Memory device, memory system and dual port memory device with self-copy function | |
US7707328B2 (en) | Memory access control circuit | |
US6067255A (en) | Merged memory and logic (MML) integrated circuits including independent memory bank signals and methods | |
JP4199658B2 (en) | Memory device performing addressing with different burst order in read and write operations | |
US20050268024A1 (en) | Memory controller for use in multi-thread pipeline bus system and memory control method | |
JP2003216482A (en) | Burst access controller and control method | |
JP4313456B2 (en) | Memory control device | |
JP3803196B2 (en) | Information processing apparatus, information processing method, and recording medium | |
US7581072B2 (en) | Method and device for data buffering | |
US5802597A (en) | SDRAM memory controller while in burst four mode supporting single data accesses | |
US6209047B1 (en) | RAM data transmitting apparatus and method using a FIFO memory with three fullness flags | |
JPH0628246A (en) | Storage device | |
US6392935B1 (en) | Maximum bandwidth/minimum latency SDRAM interface | |
JP3967921B2 (en) | Data processing apparatus and data processing system | |
JPH08129881A (en) | Sdram controller | |
US20130097388A1 (en) | Device and data processing system | |
US6766403B2 (en) | CPU system with high-speed peripheral LSI circuit | |
US6400640B2 (en) | Method for memory addressing | |
US20230289063A1 (en) | Electronic system and method for controlling burst length to access memory device of electronic system | |
JP3563340B2 (en) | Memory controller | |
JPH09198298A (en) | Memory controller | |
JP2900892B2 (en) | Information processing device | |
JP2004318500A (en) | Memory circuit | |
JP3012530B2 (en) | Image memory adapter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090326 |
|
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: 20090422 |
|
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: 20090515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |