JPH11224221A - メモリ制御装置および方法 - Google Patents
メモリ制御装置および方法Info
- Publication number
- JPH11224221A JPH11224221A JP10023651A JP2365198A JPH11224221A JP H11224221 A JPH11224221 A JP H11224221A JP 10023651 A JP10023651 A JP 10023651A JP 2365198 A JP2365198 A JP 2365198A JP H11224221 A JPH11224221 A JP H11224221A
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- transfer
- bank
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Dram (AREA)
- Memory System (AREA)
Abstract
を最適化し、SDRAMのデータ転送性能を最大限まで
高めるメモリ制御装置および方法を提供する。 【解決手段】 転送要求ユニット11は、データの読み
書きに関するコマンドを出力する。アドレス生成部12
は、コマンドに従って制御信号を生成すると共に、リー
ドアクセスの最初の転送バイト数を出力する。コマンド
生成部13は、制御信号に従った制御コマンドを生成し
てSDRAM15を制御する。この際コマンド生成部1
3は、転送バイト数を判断してデータ転送効率がよい命
令から実行するように制御する。すなわち、バンク境界
を超えてデータリードを行う場合、バンクAのリード処
理とバンクBのアクティブ処理のどちらを先に実行する
かを判断してSDRAM15を制御する。データ処理部
14は、制御コマンドに従って転送要求ユニット11と
SDRAM15との間のデータ転送を仲介する。
Description
よび方法に関し、より特定的には、クロックに同期して
データ転送を行なうダイナミック・ランダム・アクセス
・メモリ(Dynamic Random Access Memory;DRA
M)、すなわち、シンクロナスDRAM(Synchronous
DRAM;SDRAM)を制御する回路において、SD
RAMの実質のバスバンド幅を向上させるメモリ制御装
置および方法に関する。
として、SDRAMが存在する。このSDRAMは、ク
ロックに同期した連続的なデータ転送が可能であり、バ
ースト転送を指定すると、指定したバイト数分のデータ
転送を1クロック単位で連続して行うことができる。ま
た、一般的に、SDRAM内の記憶領域は、図7に示す
ように2つの領域(バンクA,B)に分割した構成をと
っている。このように、記憶領域を分割するのは、バン
クごとに切り替えてこのバースト転送を行うことで異な
るページにアクセスする際に必要となるプリチャージ動
作を隠蔽することが可能となり、転送レートを向上する
ことができるからである。
ている文献としては、例えば「NEC μPD4516
421,μPD4516821,μPD4516161
データ・シート」(1995,NEC)や、特開平6−
76567号公報「半導体記憶装置および同期型半導体
記憶装置」等が存在する。
制御するメモリ制御装置として、従来から以下に示すよ
うな装置が用いられている。図8は、従来のメモリ制御
装置の構成の一例を示すブロック図である。図8におい
て、従来のメモリ制御装置は、転送要求ユニット81
と、アドレス生成部82と、コマンド生成部83と、デ
ータ処理部84と、SDRAM85とを備える。
との間でデータ転送を行なうために、開始アドレス,転
送サイズ,リード/ライト等のコマンドをアドレス生成
部82へ出力する。アドレス生成部82は、転送要求ユ
ニット81から受け取ったコマンドに基づいて、開始ア
ドレス,バースト長(1回のリードコマンドで連続的に
転送可能なサイズを示す),リード/ライト等の複数の
制御信号を生成し、コマンド生成部83へ出力する。コ
マンド生成部83は、アドレス生成部82から受け取っ
た制御信号に基づいて、クロック(clock;CLK),ロ
ー・アドレス・ストローブ(row address strobe;RA
S),コラム・アドレス・ストローブ(column address
strobe;CAS),ライト・イネーブル(write enabl
e;WE),アドレス指定等の制御コマンドを生成し、
SDRAM85およびデータ処理部84を制御する。デ
ータ処理部84は、コマンド生成部83から受ける制御
コマンドに従って、SDRAM85からのリードデータ
を転送要求ユニット81へ転送し、ライトデータを転送
要求ユニット81からSDRAM85へ転送する。
来のメモリ制御装置の構成によるSDRAM85の制御
においては、データ転送の条件によってSDRAM85
の性能を効率よく利用できない場合が発生する。
に分割されているSDRAM85において、図9に示す
ように、バンクAに存在するデータa1〜a2とバンク
Bに存在するデータb1〜b8の合計10個のデータ
を、バンク境界を超えて連続して読み出す場合である。
とバンクBのデータb1とは、同時にリード処理を行う
ことができないため、コマンド生成部83からSDRA
M85へ発行されるコマンドの順序は、図10に示すよ
うになる。なお、図10において、バンクAに対するプ
リチャージコマンドを“Pa”と、バンクBに対するプ
リチャージコマンドを“Pb”と、バンクAに対するア
クティブコマンドを“Aa”と、バンクBに対するアク
ティブコマンドを“Ab”と、バンクAに対するリード
コマンドを“Ra”と、バンクBに対するリードコマン
ドを“Rb”と表している。また、CASレイテンシは
「3」クロック、バースト長は「8」データとする。
RAM85内のデータを一時的に待機させる場所を初期
化するコマンドである。アクティブコマンドとは、上記
一時待機場所にリード対象のデータを書き込むコマンド
である。リードコマンドとは、上記一時待機場所に書き
込まれているデータを読み出すコマンドである。また、
同一バンクに対するプリチャージコマンド,アクティブ
コマンドおよびリードコマンドを発行できる間隔(Pa
⇒Aa⇒Ra、または、Pb⇒Ab⇒Rbの間隔)、お
よび、バンクAとバンクBとのアクティブコマンドの発
行間隔(Aa⇔Abの間隔)は、最低遷移時間であるC
ASレイテンシに制約されるため3クロックとなる。
は、まず、データa1,a2が存在するバンクAに対
し、当該データのリードを行うべく、Paコマンドを発
行する(第0サイクル)。続けて、バンクAに対してA
aコマンドを発行したいのだが、CASレイテンシの制
約により連続して発行できないため、この間を利用して
バンクBに対してPbコマンドを発行しておく(第1サ
イクル)。その後、Paコマンドの発行後3クロック目
に、Aaコマンドを発行する(第3サイクル)。
クAに対するRaコマンド、または、バンクBに対する
Abコマンドであるが、双方のコマンドともCASレイ
テンシに制約されるため、3クロックの経過を待たなけ
ればならない。ここで、コマンド生成部83は、アドレ
ス生成部82から送られて来た制御信号の順に処理を実
行するルールがある。従って、コマンド生成部83は、
3クロックの経過を待って、まず先にRaコマンドを発
行し(第6サイクル)、その後Abコマンドを発行する
ことになる(第7サイクル)。このため、Rbコマンド
は、早くても第10サイクルの発行となる。
Raコマンド発行から3クロック後の第9サイクルか
ら、データb1〜b8は、Rbコマンド発行から3クロ
ック後の第13サイクルから順にリードされる。従っ
て、すべてのデータリードが終了するのは、第20サイ
クルとなる。
上述した固定的なルールおよび制約があるため、バンク
AのデータリードとバンクBのデータリードとが連続的
に行えず(図10、第11〜第12サイクル)、すべて
のデータリードの終了までに時間がかかってしまう場合
が発生する。すなわち、SDRAM85のある任意のア
ドレスからバンク境界を超えて連続的にデータ転送を行
う場合、一義的に決定されるコマンド発行の手順に起因
してデータ転送効率が悪くなるという問題が生じる。
バンク境界との関係に対応してSDRAMへのコマンド
発行順序を常に最適化し、SDRAMのデータ転送性能
を最大限に発揮できるメモリ制御装置を提供することで
ある。
発明は、複数のバンクから構成され、クロックを使用し
てデータの読み書きを行う同期型メモリ(以下、SDR
AMという)を、制御するメモリ制御装置であって、デ
ータの読み書きに関するコマンドを出力する転送要求手
段と、コマンドを入力し、当該コマンドに従って予め定
めた制御信号を生成して出力すると共に、リードアクセ
スの最初の転送バイト数を出力するアドレス生成手段
と、クロックを発生して出力すると共に、制御信号およ
び転送バイト数を入力し、当該制御信号に従って予め定
めた制御コマンドを生成して出力し、SDRAMを制御
するコマンド生成手段と、制御コマンドを入力し、当該
制御コマンドに従って転送要求手段とSDRAMとの間
のデータ転送を仲介するデータ処理手段とを備え、異な
るバンクに対してバンク境界を超えて連続的にデータリ
ードを行う際、コマンド生成手段は、転送バイト数に応
じて最初のバンクに関するリードコマンドと後続のバン
クに関するアクティブコマンドの発行順序を制御するこ
とを特徴とする。
成手段がアドレス生成手段において生成した転送バイト
数に基づいて、最初のバンクに関するリードコマンドと
後続のバンクに関するアクティブコマンドのどちらを先
に発行するかを判断してSDRAMの処理を制御する。
これにより、異なるバンクに対して連続したデータリー
ドを行う場合に、常にデータ転送サイクルが最短で終了
するようにコマンド発行を行うことができ、2つの連続
したアクセスに必要なサイクル数を削減して、SDRA
Mの実効転送レートを向上することができる。
ンド生成手段は、転送バイト数が各コマンド間の最低遷
移クロック数より大きい場合は、最初のバンクに関する
リードコマンドを後続のバンクに関するアクティブコマ
ンドより先に発行し、転送バイト数が各コマンド間の最
低遷移クロック数より小さい場合は、後続のバンクに関
するアクティブコマンドを最初のバンクに関するリード
コマンドより先に発行することを特徴とする。
におけるコマンド生成手段での典型的な制御方法を示し
たものである。
れ、クロックを使用してデータの読み書きを行う同期型
メモリ(以下、SDRAMという)を、制御するメモリ
制御装置であって、データの読み書きに関するコマンド
を出力する転送要求手段と、コマンドを入力し、当該コ
マンドに従って予め定めた制御信号を生成して出力する
と共に、複数のバンクのうち処理を行う一つのバンクに
関するリードデータの転送サイズを出力するアドレス生
成手段と、クロックを発生して出力すると共に、制御信
号を入力し、当該制御信号に従って予め定めた制御コマ
ンドを生成して出力し、SDRAMを制御するコマンド
生成手段と、コマンド生成手段のリードコマンド発行回
数をカウントすると共に、転送サイズを入力し、当該カ
ウントごとに当該転送サイズからバースト長を減算する
カウンタと、制御コマンドを入力し、当該制御コマンド
に従って転送要求手段とSDRAMとの間のデータ転送
を仲介するデータ処理手段とを備え、カウンタは、減算
後の転送サイズがバースト長以下に達した場合にコマン
ド生成手段へその旨を通知し、コマンド生成手段は、当
該通知に応じて次回のリードコマンドを、リード処理が
終了すれば自動的にプリチャージが行われるプリチャー
ジ付きリードコマンドとして発行することを特徴とす
る。
コマンド生成手段のリードコマンドの発行回数を計数す
ることで、複数のバンクのうち処理を行う一つのバンク
に対する最後のデータ転送を検出し、コマンド生成手段
がこの検出結果に従ってプリチャージ付きリードコマン
ドを発行してSDRAMの処理を制御する。これによ
り、プリチャージ付きコマンドが発行されたバンクは、
一方のデータに関してリード処理が完了した後に他方の
データに関するプリチャージが自動的に実行されるた
め、プリチャージコマンドの発行タイミングが後続の他
のコマンドの発行タイミングと一致した場合でもプリチ
ャージ処理の開始が遅れることがなく、SDRAMの実
効転送レートを向上することができる。
れ、クロックを使用してデータの読み書きを行う同期型
メモリ(以下、SDRAMという)を、制御するメモリ
制御方法であって、異なるバンクに対してバンク境界を
超えて連続的にデータリードを行う際、データリードに
関するコマンドを出力するステップと、コマンドを入力
し、当該コマンドに従って予め定めた制御信号を生成し
て出力すると共に、リードアクセスの最初の転送バイト
数を出力するステップと、制御信号および転送バイト数
に基づいて制御コマンドを発行するにあたり、当該転送
バイト数に応じて最初のバンクに関するリードコマンド
と後続のバンクに関するアクティブコマンドの発行順序
を制御するステップとを備える。
セスの最初の転送バイト数に応じて、最初のバンクに関
するリードコマンドと後続のバンクに関するアクティブ
コマンドのどちらを先に発行するかを判断してSDRA
Mの処理を制御する。これにより、異なるバンクに対し
て連続したデータリードを行う場合に、常にデータ転送
サイクルが最短で終了するようにコマンド発行を行うこ
とができ、2つの連続したアクセスに必要なサイクル数
を削減して、SDRAMの実効転送レートを向上するこ
とができる。
コマンドを生成して出力するステップは、転送バイト数
が各コマンド間の最低遷移クロック数より大きい場合
は、最初のバンクに関するリードコマンドを後続のバン
クに関するアクティブコマンドより先に発行し、転送バ
イト数が各コマンド間の最低遷移クロック数より小さい
場合は、後続のバンクに関するアクティブコマンドを最
初のバンクに関するリードコマンドより先に発行するこ
とを特徴とする。
における制御コマンドを生成するステップでの典型的な
制御方法を示したものである。
れ、クロックを使用してデータの読み書きを行う同期型
メモリ(以下、SDRAMという)を、制御するメモリ
制御方法であって、データの読み書きに関するコマンド
を出力するステップと、コマンドに従って予め定めた制
御信号を生成して出力すると共に、複数のバンクのうち
処理を行う一つのバンクに関するリードデータの転送サ
イズを出力するステップと、SDRAMに対するリード
コマンド発行回数をカウントするステップと、カウント
ごとに転送サイズからバースト長を減算し、当該減算後
の転送サイズが当該バースト長以下に達した場合は、予
め定めた通知を出力するステップと、制御信号および通
知に基づいて制御コマンドを発行するにあたり、当該通
知があった場合は次回のリードコマンドを、リード処理
が終了すれば自動的にプリチャージが行われるプリチャ
ージ付きリードコマンドとして発行するステップとを備
える。
に対するリードコマンドの発行回数を計数することで、
複数のバンクのうち処理を行う一つのバンクに対する最
後のデータ転送を検出し、この検出結果に従ってプリチ
ャージ付きリードコマンドを発行してSDRAMの処理
を制御する。これにより、プリチャージ付きコマンドが
発行されたバンクは、一方のデータに関してリード処理
が完了した後に他方のデータに関するプリチャージが自
動的に実行されるため、プリチャージコマンドの発行タ
イミングが後続の他のコマンドの発行タイミングと一致
した場合でもプリチャージ処理の開始が遅れることがな
く、SDRAMの実効転送レートを向上することができ
る。
図を参照して説明する。 (第1の実施形態)図1は、本発明の第1の実施形態に
係るメモリ制御装置の構成を示すブロック図である。図
1において、本第1の実施形態のメモリ制御装置は、転
送要求ユニット11と、アドレス生成部12と、コマン
ド生成部13と、データ処理部14と、SDRAM15
とを備える。
装置は、SDRAM15内の一方のバンク(以下、バン
クAと表現する)のアドレスからバンク境界を超えて他
方のバンク(以下、バンクBと表現する)のアドレスへ
と連続的にデータ転送を行う場合(図9を参照)、特
に、最初に行うバンクAに関するデータ転送のバイト数
が、バースト長以下である場合に有効である。
は、書き込み)を行うデータに関する開始アドレス(仮
想アドレス),転送サイズおよびリード(または、ライ
ト)の各コマンドをアドレス生成部12へ出力する。
11からのコマンドを受けて、複数のデータ転送命令に
分割した開始アドレス(物理アドレス),バースト長お
よびリード(または、ライト)の各制御信号を生成し、
コマンド生成部13へ出力する。また、アドレス生成部
12は、リードアクセスの最初の転送バイト数がバース
ト長の境界に対して何バイトあるかを表す転送バイト数
情報を生成し、コマンド生成部13へ出力する。
アドレス生成部12から受けた制御信号に従ってロー/
カラムアドレスを指示する制御コマンドを生成して、S
DRAM15に出力する。この際、コマンド生成部13
は、転送バイト数情報のバイト数を判断して、SDRA
M15のデータ転送レートを向上することができる命令
から実行するようにSDRAM15を制御する。すなわ
ち、コマンド生成部13は、上述のようにSDRAM1
5のバンク境界を超えてデータリードを行う場合、バン
クAに対するリード処理とバンクBに対するアクティブ
処理のどちらを先に実行するかを判断し、SDRAM1
5を制御するのである。具体的には、バンクAからリー
ドするデータの転送バイト数が、CASレイテンシのサ
イクル数より大きい場合は、バンクAのデータの読み出
し開始を優先すべくリードコマンドを実行し、CASレ
イテンシのサイクル数より小さい場合は、すべてのデー
タの読み出しを最短クロック数で完了すべくアクティブ
コマンドを実行する。また、コマンド生成部13は、デ
ータ処理部14に対し、リード(または、ライト)を指
示する制御コマンドを出力する。
からデータリードの制御コマンドを受けて、SDRAM
15から上記クロックに同期してデータを読み出し、転
送要求ユニット11へ転送する(または、データライト
の制御コマンドを受けて、転送要求ユニット11からデ
ータを読み出し、上記クロックに同期してSDRAM1
5へ転送する)。
ら出力される制御コマンドを受けて動作するシンクロナ
ス・ダイナミック・ランダム・アクセス・メモリであ
る。
装置によってデータ転送効率が向上することを、具体的
なデータ転送の一例を挙げて説明する。図2〜図4は、
バンク境界を超えてデータを連続して読み出す場合にお
けるデータリードタイミングの一例を示す図である。
ンクBのデータb1〜b8の合計10個のデータを、バ
ンク境界を超えて連続して読み出す場合における2通り
のデータリードタイミングを示す図である。図3は、バ
ンクAのデータa1〜a3とバンクBのデータb1〜b
8の合計11個のデータを、バンク境界を超えて連続し
て読み出す場合における2通りのデータリードタイミン
グを示す図である。図4は、バンクAのデータa1〜a
4とバンクBのデータb1〜b8の合計12個のデータ
を、バンク境界を超えて連続して読み出す場合における
2通りのデータリードタイミングを示す図である。ま
た、図2〜図4のいずれについても、CASレイテンシ
は「3」クロックと、バースト長は「8」データとす
る。
するプリチャージコマンドを“Pa”と、バンクBに対
するプリチャージコマンドを“Pb”と、バンクAに対
するアクティブコマンドを“Aa”と、バンクBに対す
るアクティブコマンドを“Ab”と、バンクAに対する
リードコマンドを“Ra”と、バンクBに対するリード
コマンドを“Rb”と表している。
明する。図2(a)は、前述した図10の場合と同様で
あり、先にRaコマンドを発行しその後Abコマンドを
発行することで、データリードがすべて終了するまでに
21サイクルがかかる。一方、図2(b)は、先にAb
コマンドを発行しその後Raコマンドを発行すること
で、最初のデータを読み出し開始するサイクルは遅れる
が、データリードがすべて終了するのに20サイクルで
済んでいる。図3(a)および(b)においては、先に
Raコマンドを発行しその後Abコマンドを発行する場
合も、先にAbコマンドを発行しその後Raコマンドを
発行する場合も何ら変わりがなく、どちらの場合であっ
てもデータリードがすべて終了するまでに21サイクル
かかる。図4(a)は、先にRaコマンドを発行しその
後Abコマンドを発行することで、データリードがすべ
て終了するまでに21サイクルがかかる。これに対し、
図4(b)では、先にAbコマンドを発行しその後Ra
コマンドを発行することで、逆にデータリードがすべて
終了するのに22サイクルかかっている。
ク境界を超えてデータ転送を行う場合、最初に行うバン
クAからのデータ転送バイト数によって、Raコマンド
またはAbコマンドのどちらを先に発行するかにより、
すべてのデータリードが終了するのに要するサイクル数
が異なる。上記図2〜図4の具体例においては、転送デ
ータ長がCASレイテンシ「3」より大きいか小さいか
により変化することがわかる。
的なルールおよび制約により、Raコマンドを先に発行
しその後Abコマンドを発行する手順しか行えないため
(図2(a),図3(a)および図4(a))、場合に
よってはデータ転送効率が劣化するということが発生す
る。
たように、アドレス生成部12において最初にバンクA
に対して行う転送バイト数を算出し、転送バイト数情報
としてコマンド生成部13に送出する。そして、コマン
ド生成部13は、最初にバンクAに対して行う転送バイ
ト数情報として得た転送バイト数を判断し、予め定めら
れたCASレイテンシと比較することにより、SDRA
M15を制御する。例えば、上記具体例の場合において
は、コマンド生成部13には、予めしきい値「3」を与
えておく。そして、コマンド生成部13は、入力した転
送バイト数Xが、X<3であればAbコマンドを先に発
行し(図2(b))、X≧3であればRaコマンドを先
に発行する(図3(a)および図4(a))ようにSD
RAM15を制御してやれば、SDRAM15のデータ
転送効率を向上することが可能となる。
係るメモリ制御装置は、コマンド生成部13が、アドレ
ス生成部12において生成した転送バイト数情報に基づ
いて、RaコマンドとAbコマンドのどちらを先に発行
するかを判断してSDRAM15の処理を制御する。こ
れにより、異なるバンクに対して連続したデータリード
を行う場合に、常にデータ転送サイクルが最短で終了す
るようにコマンド発行を行うことができ、2つの連続し
たアクセス(バンクAに対するアクセスとバンクBに対
するアクセス)に必要なサイクル数を削減して、SDR
AM15の実効転送レートを向上することができる。
件としてCASレイテンシが「3」クロック、バースト
長が「8」データである場合を述べたが、本メモリ制御
装置の適用はこれに限られず、他の条件においても上記
と同様の考え方でコマンドを制御することによりデータ
転送サイクルを最適化することが可能である。
の実施形態に係るメモリ制御装置の構成を示すブロック
図である。図5において、本第2の実施形態のメモリ制
御装置は、転送要求ユニット51と、アドレス生成部5
2と、コマンド生成部53と、データ処理部54と、S
DRAM55と、カウンタ56とを備える。
装置は、SDRAM55内のバンクAのアドレスからバ
ンク境界を超えてバンクBのアドレスへと連続的にデー
タ転送を行い、さらに続いて、別のバンクAのアドレス
からデータ転送を行う場合に有効である。
は、書き込み)を行うデータに関する開始アドレス(仮
想アドレス),転送サイズおよびリード(または、ライ
ト)の各コマンドをアドレス生成部52に出力する。
51からのコマンドを受けて、複数のデータ転送命令に
分割した開始アドレス(物理アドレス),バースト長お
よびリード(または、ライト)の各制御信号を生成し、
コマンド生成部53へ出力する。また、アドレス生成部
52は、最初にバンクAに対して転送するデータ転送サ
イズをカウンタ56に出力する。
けるリード(または、ライト)の実行回数をカウント
し、当該カウントごとにアドレス生成部52から与えら
れた転送サイズから転送したデータサイズ、すなわち、
SDRAM55への一度のバースト命令で転送可能なデ
ータサイズであるバースト長を減算する。そして、カウ
ンタ56は、減算していった転送サイズ(すなわち、転
送すべきデータの残り)がバースト長以下になった時
に、コマンド生成部53へその旨を通知する。
アドレス生成部52から受けた制御信号に従ってロー/
カラムアドレスを指示する制御コマンドを生成して、S
DRAM55に出力する。ここで、コマンド生成部53
は、カウンタ56から通知を受けた場合には、SDRA
M55へ発行するバンクAに対するリード(または、ラ
イト)コマンドを次回のバンクAに対するプリチャージ
コマンドを付随させたリード(/ライト)コマンドに変
換してSDRAM55へ送る。このプリチャージコマン
ドを付随させたリード(/ライト)コマンドとは、今現
在行っているバンクAの転送処理が終了した場合、バン
クBの転送処理を行っている間にプリチャージコマンド
を発行することなく次回のバンクAに対する処理のプリ
チャージを行わせるというものである。また、コマンド
生成部53は、データ処理部54に対し、リード(また
は、ライト)を指示する制御コマンドを出力する。
からデータリードの制御コマンドを受けて、SDRAM
55から上記クロックに同期してデータを読み出し、転
送要求ユニット51へ転送する(または、データライト
の制御コマンドを受けて、転送要求ユニット51からデ
ータを読み出し、上記クロックに同期してSDRAM5
5へ転送する)。
ら出力される制御コマンドを受けて動作するシンクロナ
ス・ダイナミック・ランダム・アクセス・メモリであ
る。
装置によってデータ転送効率が向上することを、具体的
なデータ転送の一例を挙げて、従来のメモリ制御装置で
のデータ転送の場合と比較して説明する。
ンクBのデータb1〜b4の合計12個のデータをバン
ク境界を超えて連続して読み出し、さらに続いて、バン
クAのデータa9〜a12を読み出す場合における2通
りのデータリードタイミングを示す図である。図6
(a)は、図8に示すような従来のメモリ制御装置にお
けるデータリードタイミングを示している。図6(b)
は、本第2の実施形態に係るメモリ制御装置におけるデ
ータリードタイミングを示している。
リチャージコマンドを“Pa”と、バンクBに対するプ
リチャージコマンドを“Pb”と、バンクAに対するア
クティブコマンドを“Aa”と、バンクBに対するアク
ティブコマンドを“Ab”と、バンクAに対するリード
コマンドを“Ra”と、バンクBに対するリードコマン
ドを“Rb”と、バンクAに対するプリチャージ付きリ
ードコマンドを“RawP”と表している。また、図6
においては、CASレイテンシは「2」クロックと、バ
ースト長は「4」データとする。
3は、まず、データa1〜a8が存在するバンクAに対
してデータリードを行うべく、Paコマンドを発行する
(第0サイクル)。なお、CASレイテンシ間隔(2ク
ロック)を利用して、バンクBに対してもPbコマンド
を発行しておく(第1サイクル)。その後、Paコマン
ドの発行から2クロック後に、Aaコマンドを発行する
(第2サイクル)。そして、さらに2クロック後に、1
回目のRaコマンドを発行し(第4サイクル)、データ
a1〜a4の転送を行う(バースト長「4」だからであ
る)。ここで、バンクAのデータ転送の間にAbコマン
ドを発行し、バンクBをいつでもアクセスできるように
準備しておく(第5サイクル)。そして、データa4の
転送後にすぐデータa5〜a8のデータ転送が開始でき
るように、第8サイクルに2回目のRaコマンドを発行
する。次に、コマンド生成部83は、データa8の転送
が終了、すなわち、バンクAに関するデータ転送の終了
後にバンクBに関するデータb1〜b4の転送をすぐに
行えるように、第12サイクルでRbコマンドを発行す
る。以降、バンクAの別のアドレスに存在するデータa
9〜a12の転送に関しては、CASレイテンシに従っ
て、2クロック間隔でPa,AaおよびRaを発行する
(第13,第15,第17サイクル)。
ては、バンクBの転送処理終了と別のバンクAの転送処
理開始との間に、データ転送が行われないブランク期間
(第18サイクル)が生じる。この原因は、本来なら、
第12サイクルにおいてRbコマンドとPaコマンドと
を同時に発行したいのだが不可能なため、バンクBのデ
ータリードを優先すべくRbコマンドを先に発行し、そ
の後Paコマンドを発行しているためである。
モリ制御装置は、以下のような方法によりこの問題を解
決している。なお、上述のとおり、アドレス生成部52
は、上記条件からカウンタ56に対して、最初のバンク
Aに関する転送データa1〜a8の数「8」を転送サイ
ズとして出力する(図5を参照)。
クルまでは上記と同様であるが、第4サイクルの1回目
のRaコマンドが発行された際、カウンタ56は、アド
レス生成部52から得た転送サイズ「8」から「4(デ
ータa1〜a4の数)」を減算する。ここで、転送すべ
き残りデータ、すなわち、上記減算後の転送サイズ(=
4)がバースト長(=4)以下となったため、カウンタ
56は、コマンド生成部53に対してその旨を通知す
る。続いて、コマンド生成部53は、データa4の転送
後にすぐデータa5〜a8のデータ転送が開始できるよ
うに、第8サイクルに2回目のRaコマンドを発行する
のだが、この際、カウンタ56から受けた通知に従っ
て、プリチャージ付きリードであるRawPコマンドを
出力する。
55は、データa8の転送が問題なく終了できる第13
サイクルにおいて、コマンド生成部53から改めてPa
コマンドを受けるまでもなく、自らの判断でプリチャー
ジを行うことができる。これにより、その後のAaコマ
ンドおよびRaコマンドの発行を1サイクル早く行うこ
とができ(第14,第16サイクル)、その結果、図6
(a)の第22サイクルまでに対して第21サイクルま
でにすべてのデータ転送を終了することができる。
係るメモリ制御装置は、カウンタ56がコマンド生成部
53が発行するリードコマンドの回数を計数すること
で、処理を行う1つのバンクに対する最後のデータ転送
を検出し、コマンド生成部53がこの検出結果に従って
プリチャージ付きリードコマンドを発行してSDRAM
55の処理を制御する。これにより、プリチャージ付き
コマンドが発行されたバンクは、一方のデータに関して
リード処理が完了した後に他方のデータに関するプリチ
ャージが自動的に実行されるため、プリチャージコマン
ドの発行タイミングが後続の他のコマンドの発行タイミ
ングと一致した場合でもプリチャージ処理の開始が遅れ
ることがなく、SDRAM55の実効転送レートを向上
することができる。
件としてCASレイテンシが「2」クロック、バースト
長が「4」データである場合を述べたが、本メモリ制御
装置の適用はこれに限られず、他の条件においても上記
と同様の考え方でコマンドを制御することによりデータ
転送サイクルを最適化することが可能である。
の構成を示すブロック図である。
場合におけるデータリードタイミングの一例を示す図で
ある。
場合におけるデータリードタイミングの一例を示す図で
ある。
場合におけるデータリードタイミングの一例を示す図で
ある。
の構成を示すブロック図である。
場合におけるデータリードタイミングの一例を示す図で
ある。
ある。
である。
タ配置を示す図である。
ングの一例を示す図である。
Claims (6)
- 【請求項1】 複数のバンクから構成され、クロックを
使用してデータの読み書きを行う同期型メモリ(以下、
SDRAMという)を、制御するメモリ制御装置であっ
て、 データの読み書きに関するコマンドを出力する転送要求
手段と、 前記コマンドを入力し、当該コマンドに従って予め定め
た制御信号を生成して出力すると共に、リードアクセス
の最初の転送バイト数を出力するアドレス生成手段と、 前記クロックを発生して出力すると共に、前記制御信号
および前記転送バイト数を入力し、当該制御信号に従っ
て予め定めた制御コマンドを生成して出力し、前記SD
RAMを制御するコマンド生成手段と、 前記制御コマンドを入力し、当該制御コマンドに従って
前記転送要求手段と前記SDRAMとの間のデータ転送
を仲介するデータ処理手段とを備え、 異なる前記バンクに対してバンク境界を超えて連続的に
データリードを行う際、前記コマンド生成手段は、前記
転送バイト数に応じて最初のバンクに関するリードコマ
ンドと後続のバンクに関するアクティブコマンドの発行
順序を制御することを特徴とする、メモリ制御装置。 - 【請求項2】 前記コマンド生成手段は、 前記転送バイト数が各コマンド間の最低遷移クロック数
より大きい場合は、前記最初のバンクに関するリードコ
マンドを前記後続のバンクに関するアクティブコマンド
より先に発行し、前記転送バイト数が各コマンド間の最
低遷移クロック数より小さい場合は、前記後続のバンク
に関するアクティブコマンドを前記最初のバンクに関す
るリードコマンドより先に発行することを特徴とする、
請求項1に記載のメモリ制御装置。 - 【請求項3】 複数のバンクから構成され、クロックを
使用してデータの読み書きを行う同期型メモリ(以下、
SDRAMという)を、制御するメモリ制御装置であっ
て、 データの読み書きに関するコマンドを出力する転送要求
手段と、 前記コマンドを入力し、当該コマンドに従って予め定め
た制御信号を生成して出力すると共に、前記複数のバン
クのうち処理を行う一つのバンクに関するリードデータ
の転送サイズを出力するアドレス生成手段と、 前記クロックを発生して出力すると共に、前記制御信号
を入力し、当該制御信号に従って予め定めた制御コマン
ドを生成して出力し、前記SDRAMを制御するコマン
ド生成手段と、 前記コマンド生成手段のリードコマンド発行回数をカウ
ントすると共に、前記転送サイズを入力し、当該カウン
トごとに当該転送サイズからバースト長を減算するカウ
ンタと、 前記制御コマンドを入力し、当該制御コマンドに従って
前記転送要求手段と前記SDRAMとの間のデータ転送
を仲介するデータ処理手段とを備え、 前記カウンタは、前記減算後の転送サイズが前記バース
ト長以下に達した場合に前記コマンド生成手段へその旨
を通知し、前記コマンド生成手段は、当該通知に応じて
次回のリードコマンドを、リード処理が終了すれば自動
的にプリチャージが行われるプリチャージ付きリードコ
マンドとして発行することを特徴とする、メモリ制御装
置。 - 【請求項4】 複数のバンクから構成され、クロックを
使用してデータの読み書きを行う同期型メモリ(以下、
SDRAMという)を、制御するメモリ制御方法であっ
て、 異なる前記バンクに対してバンク境界を超えて連続的に
データリードを行う際、 前記データリードに関するコマンドを出力するステップ
と、 前記コマンドを入力し、当該コマンドに従って予め定め
た制御信号を生成して出力すると共に、リードアクセス
の最初の転送バイト数を出力するステップと、 前記制御信号および前記転送バイト数に基づいて制御コ
マンドを発行するにあたり、当該転送バイト数に応じて
最初のバンクに関するリードコマンドと後続のバンクに
関するアクティブコマンドの発行順序を制御するステッ
プとを備える、メモリ制御方法。 - 【請求項5】 前記制御コマンドを生成して出力するス
テップは、 前記転送バイト数が各コマンド間の最低遷移クロック数
より大きい場合は、前記最初のバンクに関するリードコ
マンドを前記後続のバンクに関するアクティブコマンド
より先に発行し、前記転送バイト数が各コマンド間の最
低遷移クロック数より小さい場合は、前記後続のバンク
に関するアクティブコマンドを前記最初のバンクに関す
るリードコマンドより先に発行することを特徴とする、
請求項4に記載のメモリ制御方法。 - 【請求項6】 複数のバンクから構成され、クロックを
使用してデータの読み書きを行う同期型メモリ(以下、
SDRAMという)を、制御するメモリ制御方法であっ
て、 データの読み書きに関するコマンドを出力するステップ
と、 前記コマンドに従って予め定めた制御信号を生成して出
力すると共に、前記複数のバンクのうち処理を行う一つ
のバンクに関するリードデータの転送サイズを出力する
ステップと、 前記SDRAMに対するリードコマンド発行回数をカウ
ントするステップと、 前記カウントごとに前記転送サイズからバースト長を減
算し、当該減算後の転送サイズが当該バースト長以下に
達した場合は、予め定めた通知を出力するステップと、 前記制御信号および前記通知に基づいて制御コマンドを
発行するにあたり、当該通知があった場合は次回のリー
ドコマンドを、リード処理が終了すれば自動的にプリチ
ャージが行われるプリチャージ付きリードコマンドとし
て発行するステップとを備える、メモリ制御方法。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02365198A JP3922487B2 (ja) | 1998-02-04 | 1998-02-04 | メモリ制御装置および方法 |
| EP11156809A EP2357564A3 (en) | 1998-02-04 | 1999-02-02 | Memory control unit and memory control method and medium containing program for realizing the same |
| EP99101569A EP0935199B1 (en) | 1998-02-04 | 1999-02-02 | Memory control unit and memory control method and medium containing program for realizing the same |
| DE69943402T DE69943402D1 (de) | 1998-02-04 | 1999-02-02 | Speichersteuerungseinheit und -verfahren und Medium mit Ausführungsprogramm |
| US09/244,036 US6340973B1 (en) | 1998-02-04 | 1999-02-04 | Memory control unit and memory control method and medium containing program for realizing the same |
| CNB991018729A CN1262929C (zh) | 1998-02-04 | 1999-02-04 | 存储器控制装置和存储器控制方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02365198A JP3922487B2 (ja) | 1998-02-04 | 1998-02-04 | メモリ制御装置および方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11224221A true JPH11224221A (ja) | 1999-08-17 |
| JP3922487B2 JP3922487B2 (ja) | 2007-05-30 |
Family
ID=12116446
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02365198A Expired - Lifetime JP3922487B2 (ja) | 1998-02-04 | 1998-02-04 | メモリ制御装置および方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3922487B2 (ja) |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100442426B1 (ko) * | 2000-12-27 | 2004-07-30 | 엘지전자 주식회사 | 메모리 제어 장치 |
| JP2006011593A (ja) * | 2004-06-23 | 2006-01-12 | Sony Corp | メモリ制御装置 |
| WO2009013879A1 (ja) * | 2007-07-20 | 2009-01-29 | Panasonic Corporation | メモリーコントローラ、及びこれを用いた不揮発性記憶装置 |
| JP2009205601A (ja) * | 2008-02-29 | 2009-09-10 | Yokogawa Electric Corp | メモリアクセス制御装置 |
| JP2013012232A (ja) * | 2006-02-09 | 2013-01-17 | Metallum Inc | メモリ回路システム及び方法 |
| US8949519B2 (en) | 2005-06-24 | 2015-02-03 | Google Inc. | Simulating a memory circuit |
| US8972673B2 (en) | 2006-07-31 | 2015-03-03 | Google Inc. | Power management of memory circuits by virtual memory simulation |
| US8977806B1 (en) | 2006-10-05 | 2015-03-10 | Google Inc. | Hybrid memory module |
| US9047976B2 (en) | 2006-07-31 | 2015-06-02 | Google Inc. | Combined signal delay and power saving for use with a plurality of memory circuits |
| US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
| US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
| US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
| JP2019194811A (ja) * | 2018-05-02 | 2019-11-07 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
| WO2020066934A1 (ja) * | 2018-09-28 | 2020-04-02 | パナソニックIpマネジメント株式会社 | コマンド制御システム、車両、コマンド制御方法及びプログラム |
-
1998
- 1998-02-04 JP JP02365198A patent/JP3922487B2/ja not_active Expired - Lifetime
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100442426B1 (ko) * | 2000-12-27 | 2004-07-30 | 엘지전자 주식회사 | 메모리 제어 장치 |
| JP2006011593A (ja) * | 2004-06-23 | 2006-01-12 | Sony Corp | メモリ制御装置 |
| US8949519B2 (en) | 2005-06-24 | 2015-02-03 | Google Inc. | Simulating a memory circuit |
| US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
| US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
| US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
| JP2013012232A (ja) * | 2006-02-09 | 2013-01-17 | Metallum Inc | メモリ回路システム及び方法 |
| JP2013012233A (ja) * | 2006-02-09 | 2013-01-17 | Metallum Inc | メモリ回路システム及び方法 |
| US8972673B2 (en) | 2006-07-31 | 2015-03-03 | Google Inc. | Power management of memory circuits by virtual memory simulation |
| US9047976B2 (en) | 2006-07-31 | 2015-06-02 | Google Inc. | Combined signal delay and power saving for use with a plurality of memory circuits |
| US8977806B1 (en) | 2006-10-05 | 2015-03-10 | Google Inc. | Hybrid memory module |
| WO2009013879A1 (ja) * | 2007-07-20 | 2009-01-29 | Panasonic Corporation | メモリーコントローラ、及びこれを用いた不揮発性記憶装置 |
| JP2009205601A (ja) * | 2008-02-29 | 2009-09-10 | Yokogawa Electric Corp | メモリアクセス制御装置 |
| JP2019194811A (ja) * | 2018-05-02 | 2019-11-07 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
| US12032856B2 (en) | 2018-05-02 | 2024-07-09 | Canon Kabushiki Kaisha | Memory controller and method performed by the memory controller |
| WO2020066934A1 (ja) * | 2018-09-28 | 2020-04-02 | パナソニックIpマネジメント株式会社 | コマンド制御システム、車両、コマンド制御方法及びプログラム |
| JP2020057110A (ja) * | 2018-09-28 | 2020-04-09 | パナソニックIpマネジメント株式会社 | コマンド制御システム、車両、コマンド制御方法及びプログラム |
| US12026107B2 (en) | 2018-09-28 | 2024-07-02 | Panasonic Automotive Systems Co., Ltd. | Mitigating interference between commands for different access requests in LPDDR4 memory system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3922487B2 (ja) | 2007-05-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6477598B1 (en) | Memory controller arbitrating RAS, CAS and bank precharge signals | |
| JP5321189B2 (ja) | メモリ制御装置 | |
| EP0935199B1 (en) | Memory control unit and memory control method and medium containing program for realizing the same | |
| JP5428687B2 (ja) | メモリ制御装置 | |
| JP3922487B2 (ja) | メモリ制御装置および方法 | |
| JPH1125670A (ja) | メモリ素子をページ・モードにおいて制御する方法および装置 | |
| JP2009086702A (ja) | メモリ制御装置および半導体装置 | |
| KR100914017B1 (ko) | 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템 | |
| JP2002288037A (ja) | メモリ制御装置及び方法 | |
| JP2010146252A (ja) | Ddrメモリコントローラ | |
| JP4266436B2 (ja) | 半導体記憶装置 | |
| JP2019185447A (ja) | メモリコントローラ、画像処理装置及びデータ転送方法 | |
| US8463956B2 (en) | Data transfer control apparatus | |
| JP5759276B2 (ja) | 処理装置及び情報処理方法 | |
| JP2002288117A (ja) | 同期型メモリに対するフライバイ転送を可能にするdma制御システム | |
| JP2017097618A (ja) | コントローラおよび制御方法 | |
| JP2000285013A (ja) | インターフェース装置 | |
| JP2000222879A (ja) | 半導体記憶装置 | |
| JPH09237490A (ja) | メモリ制御方法 | |
| JP2010061498A (ja) | メモリ制御装置、半導体試験装置およびメモリ制御方法 | |
| JP2000242544A (ja) | メモリ制御装置及びダイレクトメモリアクセス制御装置 | |
| US20070073961A1 (en) | Memory controller | |
| US6567898B1 (en) | Memory controller and an information processing apparatus with improved efficiency | |
| JP3563340B2 (ja) | メモリコントローラ | |
| JPH05334183A (ja) | メモリアクセス制御方法およびメモリ制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070213 |
|
| 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: 20070215 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070215 |
|
| 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: 20110302 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120302 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140302 Year of fee payment: 7 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
| SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
| S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
| SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |