JPH06309223A - メモリインタリーブ機能を持つ記憶装置 - Google Patents

メモリインタリーブ機能を持つ記憶装置

Info

Publication number
JPH06309223A
JPH06309223A JP5100965A JP10096593A JPH06309223A JP H06309223 A JPH06309223 A JP H06309223A JP 5100965 A JP5100965 A JP 5100965A JP 10096593 A JP10096593 A JP 10096593A JP H06309223 A JPH06309223 A JP H06309223A
Authority
JP
Japan
Prior art keywords
memory
address
bank
block
banks
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.)
Pending
Application number
JP5100965A
Other languages
English (en)
Inventor
Nobunao Mizuochi
伸尚 水落
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5100965A priority Critical patent/JPH06309223A/ja
Publication of JPH06309223A publication Critical patent/JPH06309223A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】1バンクだけでもメモリ増設が行え、実装可能
な全体のメモリ容量をより細かく設定できるようにす
る。 【構成】プロセッサから要求されたバスアドレスのブロ
ック指定フィールド(ビット27,26)の値jの指定
するブロック内でのメモリ実装状態を示す、コンフィグ
レーションレジスタ22中の当該ブロック用の情報部分
が、1バンク実装を示す“**0”の場合には、要求バ
スアドレス中のバンクセレクトフィールド(ビット3)
を最下位とするビット24〜3の22ビット(ブロック
サイズに相当するビット数)を、一方、全バンク(2バ
ンク)実装を示す“**1”の場合には、要求バスアド
レス中のバンクセレクトフィールドより上位側のビット
25〜4の22ビットを、それぞれメモリアドレスとし
てアドレス生成回路23が生成出力する構成とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、メモリインタリーブ
機能を持つ記憶装置に関する。
【0002】
【従来の技術】近年の記憶装置には、メモリアクセスの
動作を高速なプロセッサの速度に近づけるためのメモリ
インタリーブと呼ばれる機能を持つものがある。このメ
モリインタリーブ機能は、メモリをバンクと呼ばれる複
数(例えば2つ)の区域に分け、各々のバンクは独立に
動作できるようにし、同時または交互に読出し/書込み
を行うものである。もし、インタリーブ機能を持たない
場合には、1回毎に同じメモリに対して読出し/書込み
を行うことになり、メモリアクセスの高速化が図れな
い。
【0003】図14は、このようなメモリインタリーブ
機能を持つ記憶装置の一般的な構成を示すもので、50
はDRAM構成のメモリである。このメモリ50は、バ
ンク51-0とバンク51-1の2つのバンクに分けられて
いる。メモリコントローラ60は、バス70を介してプ
ロセッサ(図示せず)等から送られるアドレス(以下、
メモリアドレスと区別するためにバスアドレスと称す
る)をもとに、メモリ50のバンク51-0とバンク51
-1の同一メモリアドレス位置を同時または交互にアクセ
スするインタリーブ動作を行う。このインタリーブ動作
は、図14のようにバンク数が2の例では、2ウェイ
(way)インタリーブと呼ばれる。バンク51-i(i
=0,1)を指定する信号はcas信号(casi)と
呼ばれる。
【0004】さて、バンク51-0,51-1は、一定サイ
ズのブロック52-j(j=0,1,2…)を単位に管理
される。このブロック52-jは、インタリーブされてい
るメモリを増設するときの区切りとなるものである。ブ
ロック52-jは、例えばブロック数が4つあって4段階
の増設が可能な場合には、プロセッサから指定されるバ
スアドレスを図15のようにすると、バスアドレスの上
位2ビットが“00”,“01”,“10”,“11”
のいずれであるかにより指定される。ブロック52-jを
指定する信号はras信号(ras#j)と呼ばれる。
【0005】図15において、「…」の部分は、ブロッ
ク自体の大きさで決定され、ブロック52-0の例では、
3FF…FH (添字のHは16進表現であることを示
す)までが最大増設容量となる。ここで、増設はブロッ
ク毎に行う必要があるが、そのブロックの全空間全部の
分の増設は必ずしも行う必要はなく、図14のブロック
52-2のようにすることも可能である。但し、バンク5
1-0,51-1のうちの一方のバンクだけの増設はできな
い。この理由について以下に説明する。
【0006】まず、メモリ50(のバンク51-0,バン
ク51-1)に対する1つのアドレス(メモリアドレス)
の中に、プロセッサから指定されるバスアドレスの8つ
分のデータ(8バイト分のデータ)があるものとする
と、図16に示すように、例えばブロック52-0におい
て、バンク51-0のメモリアドレス0(0…0H )に
は、バスアドレス0〜7の8番地分が割当てられ、バン
ク51-1の同じメモリアドレス0(0…0H )には、後
続のバスアドレス8〜15の8番地分が割当てられる。
以下、同様にして、連続するバスアドレスが8番地単位
でバンク51-0とバンク51-1に交互に割当てられる。
【0007】以上のアドレス割当てにより、メモリ50
上で、同メモリ50に割当てられるバスアドレスを連続
したものとすることができ、インタリーブ(2ウェイイ
ンタリーブ)動作が可能となる。
【0008】ところが、このようなインタリーブ機能を
持つ記憶装置のメモリ50において、もしバンク51-0
にだけメモリ素子を実装した場合には、アドレス割当て
は、図16のバンク51-0でのアドレス割当て状態から
明らかなように、図17のようになるため、メモリ50
に割当てられるアドレスは連続でなくなってしまう。
【0009】このようにアドレスの抜ける部分が生じる
と、メモリ50に対するリード/ライトが正確に行えな
くなる。したがってインタリーブ機能を有する従来の記
憶装置では、1バンクだけの増設はできなかった。
【0010】
【発明が解決しようとする課題】上記したようにインタ
リーブ機能を有する従来の記憶装置では、或るブロック
について一部のバンクだけの増設を行うと、アドレスが
抜ける部分が生じて正確なリード/ライトアクセスが行
えなくなるため、増設単位は各ブロック毎に全バンクを
対象に行わなければならなかった。このため、容量的に
は不要なバンクにも増設しなければならない場合が生
じ、増設の規模が大きくなって高価格になるという問題
があった。また、同様の理由により、実装できる全体の
容量の設定が細かくできないという問題もあった。
【0011】この発明は上記事情を考慮してなされたも
のでその目的は、1バンクだけでもメモリ増設が行え、
実装可能な全体のメモリ容量をより細かく設定できるメ
モリインタリーブ機能を持つ記憶装置を提供することに
ある。
【0012】
【課題を解決するための手段】この発明は、メモリイン
タリーブのために2n 個(nは1以上の整数)のバンク
に区分して管理されると共に、アドレス空間が一定サイ
ズを単位に区分されたブロックをメモリ増設の区切りと
して管理され、前記各バンクおよび各ブロック毎に独立
して動作可能なメモリと、このメモリを制御するメモリ
コントローラとを備えた記憶装置において、上記メモリ
コントローラに、各バンクへのメモリ実装状態を各ブロ
ック毎に示すためのコンフィグレーション情報が設定さ
れるコンフィグレーションレジスタ手段、およびメモリ
の利用装置から要求されたアドレス(バスアドレス)の
指定するブロックにおけるコンフィグレーションレジス
タ手段の示す各バンクのメモリ実装状態をもとに、要求
されたバスアドレス(要求バスアドレス)からメモリア
ドレスを生成するアドレス生成手段とを設け、メモリ実
装状態によって異なるメモリアドレスが生成されるよう
にしたことを特徴とするものである。
【0013】また、異なるメモリアドレス生成の条件と
なるメモリ実装状態として、要求バスアドレスの指定す
るブロックにおいて、2m バンク(mは1≦m≦nを満
足する整数)がメモリ実装されている第1のメモリ実装
状態と、1バンクだけがメモリ実装されている第2のメ
モリ実装状態とに大別し、第1のメモリ実装状態のブロ
ックを指定する要求バスアドレスの場合には、同アドレ
ス中のnビットのバンクセレクトフィールドの下位mビ
ットより上位側のブロックサイズに相当するアドレス部
分をメモリアドレスとし、第2のメモリ実装状態のブロ
ックを指定する要求バスアドレスの場合には、同アドレ
ス中のnビットのバンクセレクトフィールドを下位メモ
リアドレスとするブロックサイズに相当するアドレス部
分をメモリアドレスとするようにしたことをも特徴とす
る。
【0014】
【作用】メモリコントローラが2n ウェイインタリーブ
動作をしてメモリをリード/ライトアクセスすると、2
ウェイインタリーブの説明で用いた図16からも明らか
なように、バスアドレスは一定アドレス数を単位に2n
個のバンクに交互に割当てられる。したがって、もし1
バンクだけのメモリ実装の場合には、図17の例からも
明らかなように、バスアドレスはそのバンク内で連続で
なくなってしまう。これは、2n バンクに満たない複数
バンクがメモリ実装されている場合も同様である。
【0015】そこで、この発明においては、メモリコン
トローラを上記のような構成とすることにより、メモリ
利用装置から要求されたバスアドレスの指定するブロッ
ク内の各バンクのメモリ実装状態が、コンフィグレーシ
ョンレジスタ手段を参照することで認識可能とし、要求
バスアドレスから生成されるメモリアドレスが、この認
識したメモリ実装状態によって異なるようにしている。
【0016】このように、要求バスアドレスの指定する
ブロック(アクセス対象ブロック)内の各バンクのメモ
リ実装状態に応じて、この要求バスアドレスからのメモ
リアドレス生成方式を切換えることにより、1バンクだ
けがメモリ実装されている場合でも、そのバンクに割当
てられるバスアドレスを、そのバンク内で連続したもの
にすることが可能となり、そのバンクだけを連続的にア
クセスすることができる。同様に、2n バンクに満たな
い複数バンクがメモリ実装されている場合も、その複数
バンクに割当てられるバスアドレスを、その複数のバン
クにまたがって連続したものにすることが可能となり、
その複数のバンクを、インタリーブ動作により交互(ま
たは同時)にアクセスすることが可能となる。
【0017】ここで、メモリアドレス生成方式として、
要求バスアドレスの指定するブロックにおいて、2m
ンクがメモリ実装されている第1のメモリ実装状態で
は、要求アドレス中のnビットのバンクセレクトフィー
ルドの下位mビットより上位側のブロックサイズに相当
するアドレス部分をメモリアドレスとする第1のメモリ
アドレス生成方式を適用し、1バンクだけがメモリ実装
されている第2のメモリ実装状態では、要求バスアドレ
ス中のnビットのバンクセレクトフィールドを下位メモ
リアドレスとするブロックサイズに相当するアドレス部
分をメモリアドレスとする第2のメモリアドレス生成方
式を適用することにより、即ち単にバスアドレスからメ
モリ実装状態で決まるアドレス部分を切出すだけで、メ
モリ実装状態に最適なメモリアドレスが生成できる。
【0018】
【実施例】図1はこの発明の一実施例に係るメモリイン
タリーブ機能を持つ記憶装置の構成を示すブロック図で
ある。図1において、10はメモリ、20はメモリ10
に対するメモリアクセス制御を行うメモリコントローラ
である。メモリコントローラ20はバス30に接続され
ている。このバス30上では、例えばアドレスとデータ
が同じラインを時分割して使用される構成となってお
り、同バス30には図示せぬプロセッサが接続されてい
る。なお、アドレスとデータが独立のラインを介して転
送されるバス構成であっても構わない。
【0019】メモリ10は、例えばバンク11-0とバン
ク11-1の2つのバンクに分けられている。各バンク1
1-0,11-1は、ブロック12-0〜12-3の4つのブロ
ック(メモリブロック)に分けられている。このブロッ
ク12-0〜12-3は、メモリ増設の区切りとなるもので
ある。ブロック12-0〜12-3のサイズは、本実施例な
おいて適用されるバスアドレス(物理アドレス)が32
ビットで、その範囲が00000000H 〜0FFFF
FFFH であるものとすると、この256MB(メガバ
イト)のアドレス空間を4等分した64MBとなる。こ
の例での、ブロック12-0〜12-3とバスアドレスとの
対応を図2に示す。
【0020】さて本実施例では、アドレス生成回路23
の機能により、各ブロック12-0〜12-3において、従
来とは異なって1バンクだけの増設が可能となってい
る。そこで図1の例では、ブロック12-0については、
バンク11-0側に8MBのDRAM130が、バンク1
1-1側に同じ容量のDRAM131がそれぞれ実装され
ているものの、ブロック12-1については、バンク11
-0側だけに32MBのDRAM132が実装され、バン
ク11-1側には何も実装されていないメモリ構成となっ
ている。また、ブロック12-2については、バンク11
-0側に32MBのDRAM133が、バンク11-1側に
同じ容量のDRAM134がそれぞれ実装され、ブロッ
ク12-3については、バンク11-0,11-1のいずれに
も何も実装されていない。
【0021】メモリコントローラ20は、メモリアドレ
スライン41によりメモリ10(の各バンク11-0,1
1-1)と接続され、メモリデータライン42-0,42-1
およびバンク指定に用いられるcas信号43-0(ca
s0),43-1(cas1)によりバンク11-0,11
-1(を構成するメモリ素子)と接続されている。またメ
モリコントローラ20は、ブロック指定に用いられるr
as信号44-0〜44-3(ras0〜ras3)により
ブロック12-0〜12-3(を構成するメモリ素子)と接
続されている。
【0022】メモリコントローラ20は、データとアド
レス(バスアドレス)を時分割するためのマルチプレク
サ(MPX)21、メモリ10の実装状態を示す情報
(コンフィグレーション情報)が例えばシステム立ち上
げ時に動くプログラム(ブートプログラム)に従いプロ
セッサによって設定されるコンフィグレーションレジス
タ22、およびマルチプレクサ21から出力されるアド
レス(バスアドレス)とコンフィグレーションレジスタ
22の内容をもとに、メモリ10をアクセスするための
メモリアドレスを生成して出力するアドレス生成回路2
3を備えている。ここで、メモリアドレスの中には、プ
ロセッサから指定されるバスアドレスの8つ分のデータ
(8バイト分のデータ)があるものとする。
【0023】アドレス生成回路23は、アドレスの桁が
大きくなる大容量のメモリ10のパッケージのピン数
(メモリアドレスライン41の信号線数)を少なくする
ために、メモリアドレスを2つに分けて2回に時分割し
て指定(出力)するようになっている。ここで、最初に
指定(出力)される方(上位アドレス)はロウアドレス
(r)、後から指定(出力)される方(下位アドレス)
はカラムアドレス(c)と呼ばれる。
【0024】アドレス生成回路23はまた、上記cas
信号43-0,43-1,ras信号44-0〜44-3の生成
も司る。図3はコンフィグレーションレジスタ22に設
定されるコンフィグレーション情報の定義例を示す。こ
の情報は例えばビット11〜0(以下、このビット範囲
を[11:0]で表現する。他のビット範囲についても
同様)の12ビットで構成されており、[11:9]は
ブロック12-0の、[8:6]はブロック12-1の、
[5:3]はブロック12-2の、そして[2:0]はブ
ロック12-3の、それぞれメモリ実装状態を示す。
【0025】ここで、ブロック12-j(j=0〜3)の
メモリ実装状態を示す3ビットの情報は、“000”で
何も実装されていないことを、“**0”(*は0,1
いずれでも構わないことを示す)でバンク11-0側だけ
にメモリ素子が実装されていることを、そして“**
1”でバンク11-0,11-1の両方にメモリ素子が実装
されていることを、それぞれ示す。また、上記3ビット
の情報は、“01*”で8MBのメモリ素子(DRA
M)が実装されていることを、“10*”で32MBの
メモリ素子が実装されていることを、それぞれ示す。
【0026】したがって、図1に示すメモリ10の構成
例では、コンフィグレーションレジスタ22は、図3の
ように“011100101000”に設定される。こ
の場合、メモリ10の実装状態が図4のようになってい
ることが示される。即ち、メモリ10のブロック12-0
は、バンク11-0側に8MB(のDRAM130)を、
バンク11-1側に8MB(のDRAM131)をそれぞ
れ実装して、メモリインタリーブ可能な16MBバイト
メモリを構成し、ブロック12-1は、バンク11-0側だ
けに32MB(のDRAM132)を実装して、メモリ
インタリーブ不可の32MBメモリを構成している。ま
たブロック12-2は、バンク11-0側に32MB(のD
RAM133)を、バンク11-1側に32MB(のDR
AM134)をそれぞれ実装して、メモリインタリーブ
可能な64MBメモリを構成している。
【0027】以上の図4に示すメモリ実装状態におけ
る、ブロック12-0〜12-3内メモリ実装領域(有効記
憶領域)とバスアドレスとの対応を図5に示す。次にア
ドレス生成回路23の機能について図6を参照して説明
する。
【0028】図6に示すように、アドレス生成回路23
は、32ビットバスアドレス(上位4ビット[31:2
8]は全て“0”)のうちの[27:26]の値jによ
り、ブロック12-jを指定するためのras信号44-j
を出力する。即ちアドレス生成回路23は、j=0であ
れば、符号S0で示すようにras信号44-0(ras
0)を出力し、j=1であれば、符号S1で示すように
ras信号44-1(ras1)を出力する。またアドレ
ス生成回路23は、j=2であれば、符号S2で示すよ
うにras信号44-2(ras2)を出力し、j=3で
あれば、符号S3で示すようにras信号44-3(ra
s3)を出力する。
【0029】またアドレス生成回路23は、バスアドレ
スのうちの[27:26]の値がjの場合、コンフィグ
レーションレジスタ22中のブロック12-j用の3ビッ
ト情報部分が“**0”であれば、即ちブロック12-j
についてバンク11-0(片バンク)だけにメモリ素子が
実装されているならば、図6において符号S10で示す
ように、バスアドレスの[24:3]をメモリアドレス
として生成し、上位側の[24:14]をロウアドレス
rとして、下位側の[13:3]をカラムアドレスcと
して出力する。この場合、アドレス生成回路23は、c
as信号43-0(cas0)だけを出力し、インタリー
ブ動作を行わない。
【0030】これに対し、コンフィグレーションレジス
タ22中のブロック12-j用の3ビット情報部分が“*
*1”であれば、即ちブロック12-jについてバンク1
1-0,11-1の両方にメモリ素子が実装されているなら
ば、アドレス生成回路23は、図6において符号S11
で示すように、バスアドレスの[25:4]をメモリア
ドレスとして生成し、上位側の[25:15]をロウア
ドレスrとして、下位側の[14:4]をカラムアドレ
スcとして出力する。この場合、アドレス生成回路23
は、所定のタイミングでcas信号43-0(cas0)
とcas信号43-1(cas1)を順に出力してインタ
リーブ動作を行う。
【0031】以上のアドレス生成回路23の機能から明
らかなように、バスアドレスの[27:26]の2ビッ
トは、図7および図8に示すように、ras信号44-0
〜44-3のいずれを出力するかを決定する(即ちブロッ
ク12-0〜12-3のいずれを指定するかを決定する)r
as決定フィールド(ブロック指定フィールド)として
用いられる。
【0032】また、コンフィグレーションレジスタ22
中のブロック12-j用の3ビット情報部分が“**1”
の場合(即ち、図1および図4に示したブロック12-0
とブロック12-2の例のように、バンク11-0,11-1
の両バンクにメモリ素子が実装されているブロックへの
メモリインタリーブ動作によるメモリアクセス時)に
は、図7に示すように、バスアドレスの[25:4]が
メモリアドレスとして用いられる。
【0033】この場合、バスアドレスの下位の3ビット
[2:0]は、1メモリアドレスにある8つのバスアド
レスの指定に用いられる。但し、メモリコントローラ2
0とメモリ10との間はメモリアドレス単位でアクセス
され、メモリコントローラ20内で8つのどれかを指定
すればよいので、この3ビット[2:0]はメモリ10
に送られない。またバスアドレスの[3](ビット3)
は、例えば、プロセッサから要求されたデータのサイズ
が8バイト以下で、且つ同データがバンク11-0,11
-1の一方のバンクだけに存在する場合など、バンク選択
が必要となる場合のバンク指定フィールド(バンクセレ
クトフィールド)として用いられる。
【0034】以上のことから、図1に示すブロック12
-0の例では、即ち図4に示すように、バンク11-0,1
1-1の両バンクにメモリ素子(DRAM130,13
1)が実装されているブロック12-0の例では、バスア
ドレスは、図16に示したバンク51-0とバンク51-1
の場合と同様に、8アドレス分(8番地)を単位にバン
ク11-0とバンク11-1で交互に割当てられ、メモリイ
ンタリーブ動作が可能となる。このブロック12-0にお
ける、バスアドレス側からみたメモリアドレスとの対応
関係を図9に示す。このアドレス割当ては、ブロック1
2-2においても同様である。
【0035】一方、コンフィグレーションレジスタ22
中のブロック12-j用の3ビット情報部分が“**0”
の場合(即ち、図1および図4に示したブロック12-1
の例のように、バンク11-0,11-1の一方だけにメモ
リ素子が実装されているブロックへのメモリインタリー
ブ動作のないメモリアクセス時)には、図8に示すよう
に、バスアドレスの[24:3]がメモリアドレスとし
て用いられる。このように、図8の例では、バンクセレ
クトフィールドをなすバスアドレスの[3](ビット
3)がメモリアドレスの最下位ビットとされる。
【0036】以上のことから、図1に示すブロック12
-1の例では、即ち図4に示すように、バンク11-0だけ
にメモリ素子(DRAM132)が実装されているブロ
ック12-1の例では、バスアドレスは、図10に示した
ように、8アドレス分(8番地)を単位にバンク11-0
だけに順に割当てられるため、アドレスは連続する。し
たがって、図17に示したように、アドレスが連続しな
い従来方式と異なって、正確なメモリアクセスが可能と
なる。図10のアドレス割当て状態における、バスアド
レス側からみたメモリアドレスとの対応関係を図11に
示す。なお図10では、作図の都合上、バスアドレスを
ブロック内の相対アドレスで表現しており、必要があれ
ば、そのアドレスに04000000H を加算された
い。
【0037】次に、この発明の一実施例の動作を説明す
る。まずバス30に接続されたプロセッサから、メモリ
コントローラ20に対してメモリアクセス要求と共に3
2ビットのバスアドレスaが送られたものとする。この
メモリアクセス要求にはアクセスサイズも含まれてい
る。本実施例では、アクセスサイズとしては、1バイ
ト、2バイト、4バイト、8バイトおよび16バイトの
いずれかが指定可能であるが、説明の便宜上、16バイ
トが指定されるものとする。
【0038】プロセッサからメモリコントローラ20に
送られたバスアドレスaは、同コントローラ20内のマ
ルチプレクサ21によりアドレス生成回路23に選択出
力される。アドレス生成回路23には、メモリアクセス
要求も送られる。
【0039】アドレス生成回路23は、プロセッサから
のバスアドレスaの[27:26]の2ビット(ras
決定フィールド)の値j(ここでは0)により、アクセ
ス対象となるブロック12-jを判断し、コンフィグレー
ションレジスタ22中のブロック12-j用の3ビット情
報部分を参照する。そしてアドレス生成回路23は、こ
の3ビット情報部分により、図3に定義するブロック1
2-jのメモリ実装状態を認識し、その認識結果に応じて
メモリアドレス生成等を行う。
【0040】このアドレス生成回路23の動作につい
て、(A)プロセッサからのバスアドレスaが0番地
(オール“0”)、したがってj=0の場合と、(B)
プロセッサからのバスアドレスaが04000000H
番地、したがってj=1の場合について、そのアドレス
aから16バイト分をリードするリードアクセスを例
に、図12と図13のタイミングチャートを適宜参照し
て以下に詳述する。 (A)j=0の場合 まず、j=0の場合、即ち図1および図4に示すように
バンク11-0,11-1の両バンクにメモリ素子が実装さ
れているブロック12-0をアクセス対象とする場合、コ
ンフィグレーションレジスタ22中のブロック12-0用
の3ビット情報は、図3に示すように“011”、した
がって“**1”である。
【0041】この場合、アドレス生成回路23は、メモ
リインタリーブ動作を判断して、図6に示すようにバス
アドレスaの[25:4]をメモリアドレスとし、その
上位側の11ビット[25:15]をロウアドレスr、
下位側の11ビット[14:4]をカラムアドレスcと
して、図12のタイミングチャートに示すように時分割
でメモリアドレスライン41上に出力する。
【0042】またアドレス生成回路23は、上記のアド
レス出力に応じて、ブロック12-jを指定する(例えば
低レベルで真となる)ras信号44-jを出力する。こ
こではj=0であることから、図12のタイミングチャ
ートに示すように、ブロック12-0を指定するras信
号44-0(ras0)が出力される。またアドレス生成
回路23は、バンク11-0を指定するcas信号43-0
(cas0)と、バンク11-1を指定するcas信号4
3-1(cas1)とを、図12に示すように順に出力す
る。
【0043】以上により、メモリ10のブロック12-0
のバンク11-0(側に実装されている8MBのDRAM
130)とバンク11-1(側に実装されている8MBの
DRAM131)の、ロウアドレスrおよびカラムアド
レスcで指定されるメモリアドレス(ここでは0番地)
が順にアクセスされる。この結果、図12に示すよう
に、まずバンク11-0からメモリデータライン42-0上
に、(0番地の)8バイトデータd0が読出され、続い
てバンク11-1からメモリデータライン42-1上に、
(0番地の)8バイトデータd1が読出される。このデ
ータd0,d1はマルチプレクサ21により選択され、
バス30を介してアクセス要求元のプロセッサに転送さ
れる。
【0044】なお、プロセッサから要求されたアクセス
サイズ(要求サイズ)が、8バイト以下の場合には、メ
モリコントローラ20内の図示せぬデータ切出し回路に
より要求サイズ分のデータが切出されてプロセッサへ渡
される。この際、切出し先頭バイト位置は、プロセッサ
からのバスアドレスaの下位4ビット[3:0]の示す
値により指定される。もし、一方のバンク11-iだけの
アクセスで済む場合には、インタリーブ動作は必ずしも
必要でなく、バスアドレスaの[3](ビット3)、即
ちバンクセレクトフィールドの示す値iにより、cas
信号43-iだけを出力して、バンク11-iだけをアクセ
スするようにしてもよい。また、プロセッサからのバス
アドレスaの下位4ビット[3:0]の値が0でない場
合には、その値と要求サイズによっては、次のメモリア
ドレスを対象とするメモリインタリーブ動作が必要とな
ることもあり、この場合にも、データの切出しが行われ
る。このようなデータ切出しや、ワード境界をまたぐメ
モリアクセスは、従来からよく知られており、本発明に
直接関係しないため、詳細な説明は省略する。 (B)j=1の場合 次に、j=1の場合、即ち図1および図4に示すように
バンク11-0だけにメモリ素子が実装されているブロッ
ク12-1をアクセス対象とする場合、コンフィグレーシ
ョンレジスタ22中のブロック12-1用の3ビット情報
は、図3に示すように“100”、したがって“**
0”である。
【0045】この場合、アドレス生成回路23は、メモ
リインタリーブ動作なしを判断して、図6に示すように
バスアドレスaの[24:3]をメモリアドレスとし、
その上位側の11ビット[24:14]をロウアドレス
r、下位側の11ビット[13:3]をカラムアドレス
c0(ここでは0)として、図13のタイミングチャー
トに示すように時分割でメモリアドレスライン41上に
出力し、続いてカラムアドレスc0の次のカラムアドレ
スc1(=c0+1、ここでは1)を同じメモリアドレ
スライン41上に出力する。
【0046】またアドレス生成回路23は、上記のアド
レス出力に応じて、ブロック12-jを指定するras信
号44-jを出力する。ここではj=1であることから、
図13のタイミングチャートに示すように、ブロック1
2-1を指定するras信号44-1(ras1)が出力さ
れる。またアドレス生成回路23は、インタリーブ動作
を行わないことから、バンク11-0を指定するcas信
号43-0(cas0)だけを、図13に示すように、カ
ラムアドレスc0,c1の出力のタイミングで続けて出
力する。
【0047】以上により、まずメモリ10のブロック1
2-1のバンク11-0(側に実装されている38MBのD
RAM132)の、ロウアドレスrおよびカラムアドレ
スc0で指定されるメモリアドレス(ここでは0番地)
がアクセスされる。この結果、図13に示すように、バ
ンク11-0からメモリデータライン42-0上に、ブロッ
ク12-1の0番地の8バイトデータd0、即ちバスアド
レス04000000H 〜04000007H の8アド
レス分のデータ(図11参照)が読出される。
【0048】続いて、メモリ10のブロック12-1のバ
ンク11-0(側に実装されている38MBのDRAM1
32)の、ロウアドレスrおよび次のカラムアドレスc
1で指定される次のメモリアドレス(ここでは1番地)
がアクセスされる。この結果、図13に示すように、バ
ンク11-0からメモリデータライン42-0上に、上記の
データd0に続いて、ブロック12-1の1番地の8バイ
トデータd1、即ちバスアドレス04000008H
0400000FH の8アドレス分のデータ(図11参
照)が読出される。
【0049】バンク11-0側からメモリデータライン4
2-0上に続けて読出されるデータd0,d1はマルチプ
レクサ21により選択され、バス30を介してアクセス
要求元のプロセッサに転送される。
【0050】なお、プロセッサからの要求サイズが、8
バイト以下であって、該当するデータが、1メモリアド
レスに含まれている場合には、2回目のカラムアドレス
c1の出力は不要となる。この判断は、プロセッサから
のバスアドレスaの下位3ビット[2:0]の値と要求
サイズをもとに行われる。また、要求サイズが16バイ
トであって、バスアドレスaの下位3ビット[2:0]
の値が0でない場合には、上記カラムアドレスc1に続
いて、更に次のカラムアドレスc2(=c1+1)を出
力する必要がある。いずれの場合にもデータ切出しが必
要となる。
【0051】以上は2ウェイインタリーブ機能を持つ記
憶装置に実施した場合について説明したが、この発明
は、4ウェイインタリーブ、8ウェイインタリーブな
ど、任意の2n ウェイインタリーブ機能を持つ記憶装置
に適用可能である。
【0052】この場合、プロセッサからのバスアドレス
(のras決定フィールド)によって指定されるブロッ
クにおいて、2n バンクのうちの2m バンク(mは1≦
m≦nを満足する整数)にメモリ素子が実装されている
場合には、1メモリアドレスの中に連続する2p バスア
ドレス分のデータがあるものとすると、プロセッサから
のバスアドレスのうちの下位m+pビットより上位のブ
ロックサイズに相当するアドレス部分をメモリアドレス
として、2m バンクを対象とする2m ウェイインタリー
ブを行えばよい。
【0053】また、上記した1メモリアドレスの中に連
続する2p バスアドレス分のデータがある例で、プロセ
ッサからのバスアドレスにより、1つのバンクだけにメ
モリ素子が実装されているブロックが指定される場合に
は、このプロセッサからのバスアドレスのうちの下位p
ビットより上位のブロックサイズに相当するアドレス部
分をメモリアドレスとして、その1つのバンクだけを対
象とする、インタリーブ動作なしのメモリアクセスを行
えばよい。
【0054】
【発明の効果】以上詳述したようにこの発明によれば、
インタリーブ機能を持つ記憶装置のメモリコントローラ
に、各バンクへのメモリ実装状態を各ブロック毎に示す
ためのコンフィグレーション情報が設定されるコンフィ
グレーションレジスタ手段を設け、メモリ利用装置から
要求されたアドレス(要求アドレス)の指定するブロッ
クにおけるコンフィグレーションレジスタ手段の示す各
バンクのメモリ実装状態をもとに、要求アドレスからメ
モリアドレスを生成する構成とすることにより、メモリ
実装状態によって異なるメモリアドレスが生成されるよ
うにしたので、1バンクだけがメモリ実装されている場
合でも、そのバンクに割当てられるバスアドレスを、そ
のバンク内で連続したものにすることができ、そのバン
クだけを連続的にアクセスすることができる。同様に、
複数バンクがメモリ実装されている場合には、その複数
バンクに割当てられるバスアドレスを、その複数のバン
クにまたがって連続したものにすることができ、その複
数のバンクを、インタリーブ動作により交互(または同
時)にアクセスすることができる。
【0055】このように、この発明によれば、メモリ増
設の区切りとなる各ブロック毎に、1バンクだけ、ある
いは複数バンクといった任意の実装状態が適用でき、し
かもメモリインタリーブ可能なバンク構成のブロックに
対しては、メモリインタリーブ機能が使えるため、高速
メモリアクセスを維持しながら、メモリ増設単位を小さ
くすることができる。したがって、メモリインタリーブ
機能を生かしながら、低価格で小規模のメモリ増設を行
うことができ、またメモリの容量や数の組合せで全体の
容量をより細かく無駄なく決定することができる。
【0056】また、この発明によれば、要求されたアド
レスの指定するブロックにおいて、全バンク(2n バン
ク)のうちの2m バンク(1≦m≦n)がメモリ実装さ
れている状態では、要求アドレス中のnビットのバンク
セレクトフィールドの下位mビットより上位側のブロッ
クサイズに相当するアドレス部分をメモリアドレスと
し、1バンクだけがメモリ実装されている状態では、要
求アドレス中のnビットのバンクセレクトフィールドを
下位メモリアドレスとするブロックサイズに相当するア
ドレス部分をメモリアドレスとするメモリアドレス生成
方式を適用することにより、メモリ実装状態に最適なメ
モリアドレスが簡単に生成できる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るメモリインタリーブ
機能を持つ記憶装置の構成を示すブロック図。
【図2】図1中のブロック12-0〜12-3とバスアドレ
スとの対応関係を示す図。
【図3】図1中のコンフィグレーションレジスタ22に
設定されるコンフィグレーション情報の定義例を示す
図。
【図4】図1中のメモリ10の実装状態を示す図。
【図5】図4に示すメモリ実装状態における、ブロック
12-0〜12-3内メモリ実装領域とバスアドレスとの対
応関係を示す図。
【図6】図1中のアドレス生成回路23の機能を説明す
るための図。
【図7】バンク11-0,11-1の両バンクにメモリ素子
が実装されているブロックを指定するバスアドレスの、
アドレス生成回路23からみたビット構成を説明するた
めの図。
【図8】バンク11-0,11-1のうちのバンク11-0だ
けにメモリ素子が実装されているブロックを指定するバ
スアドレスの、アドレス生成回路23からみたビット構
成を説明するための図。
【図9】バンク11-0,11-1の両バンクにメモリ素子
が実装されているブロックにおける、バスアドレス側か
らみたメモリアドレスとの対応関係を、ブロック12-0
を例に示す図。
【図10】バンク11-0,11-1のうちのバンク11-0
だけにメモリ素子が実装されているブロックの実装側バ
ンク11-0における、メモリアドレスとバスアドレスと
の対応関係を、ブロック12-1を例に示す図。
【図11】図10に示すブロック12-1における、バス
アドレス側からみたメモリアドレスとの対応関係を示す
図。
【図12】図1の構成におけるメモリインタリーブ動作
をメモリリードを例に説明するためのタイミングチャー
ト。
【図13】図1の構成におけるメモリインタリーブ動作
なしのメモリリードを説明するためのタイミングチャー
ト。
【図14】メモリインタリーブ機能を持つ一般的な記憶
装置の構成を示すブロック図。
【図15】図14中のブロック52-0〜50-3とバスア
ドレスと、同アドレス中のブロック指定フィールドの値
との対応関係を示す図。
【図16】図14中のバンク51-0,51-1の両バンク
にメモリ素子が実装されているブロック52-0におけ
る、メモリアドレスとバスアドレスとの対応関係を示す
図。
【図17】図14中のバンク51-0,51-1のバンク5
1-0だけにメモリ素子が実装されていると仮定した場合
の、ブロック52-0における従来のメモリアドレスとバ
スアドレスとの対応関係を示す図。
【符号の説明】
10…メモリ、11-0,11-1…バンク、12-0〜12
-3…ブロック、20…メモリコントローラ、21…マル
チプレクサ(MPX)、22…コンフィグレーションレ
ジスタ、23…アドレス生成回路、30…バス、41…
メモリアドレスライン、42-0,42-1…メモリデータ
ライン、43-0,43-1…cas信号(cas0,ca
s1)、44-0〜44-3…ras信号(ras0〜ra
s3)、130〜134…DRAM。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリインタリーブのために2n 個(n
    は1以上の整数)のバンクに区分して管理されると共
    に、アドレス空間が一定サイズを単位に区分されたブロ
    ックをメモリ増設の区切りとして管理され、前記各バン
    クおよび各ブロック毎に独立して動作可能なメモリと、 このメモリを制御するメモリコントローラであって、前
    記各バンクへのメモリ実装状態を前記各ブロック毎に示
    すためのコンフィグレーション情報が設定されるコンフ
    ィグレーションレジスタ手段、および前記メモリの利用
    装置から要求されたアドレスの指定する前記ブロックに
    おける前記コンフィグレーションレジスタ手段の示す前
    記各バンクのメモリ実装状態をもとに、前記メモリをア
    クセスするためのメモリアドレスを前記要求アドレスか
    ら生成するアドレス生成手段を有するメモリコントロー
    ラとを具備し、メモリ実装状態によって異なるメモリア
    ドレスが生成されるようにしたことを特徴とするメモリ
    インタリーブ機能を持つ記憶装置。
  2. 【請求項2】 前記アドレス生成手段は、前記要求アド
    レスの指定する前記ブロックにおいて、2m バンク(m
    は1≦m≦nを満足する整数)がメモリ実装されている
    場合には、前記要求アドレス中のバンク指定可能なnビ
    ットのフィールドの下位mビットより上位側の前記ブロ
    ックサイズに相当するアドレス部分をメモリアドレスと
    して生成し、1バンクだけにメモリ実装されている場合
    には、前記要求アドレス中の前記バンク指定可能なnビ
    ットのフィールドを下位メモリアドレスとする前記ブロ
    ックサイズに相当するアドレス部分をメモリアドレスと
    して生成することを特徴とする請求項1記載のメモリイ
    ンタリーブ機能を持つ記憶装置。
JP5100965A 1993-04-27 1993-04-27 メモリインタリーブ機能を持つ記憶装置 Pending JPH06309223A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5100965A JPH06309223A (ja) 1993-04-27 1993-04-27 メモリインタリーブ機能を持つ記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5100965A JPH06309223A (ja) 1993-04-27 1993-04-27 メモリインタリーブ機能を持つ記憶装置

Publications (1)

Publication Number Publication Date
JPH06309223A true JPH06309223A (ja) 1994-11-04

Family

ID=14288070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5100965A Pending JPH06309223A (ja) 1993-04-27 1993-04-27 メモリインタリーブ機能を持つ記憶装置

Country Status (1)

Country Link
JP (1) JPH06309223A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742077B1 (en) 1999-10-07 2004-05-25 Nec Corporation System for accessing a memory comprising interleaved memory modules having different capacities
CN112596670A (zh) * 2020-12-04 2021-04-02 北京自动化控制设备研究所 一种大容量Flash存储器读写操作的设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742077B1 (en) 1999-10-07 2004-05-25 Nec Corporation System for accessing a memory comprising interleaved memory modules having different capacities
CN112596670A (zh) * 2020-12-04 2021-04-02 北京自动化控制设备研究所 一种大容量Flash存储器读写操作的设计方法
CN112596670B (zh) * 2020-12-04 2024-06-07 北京自动化控制设备研究所 一种大容量Flash存储器读写操作的设计方法

Similar Documents

Publication Publication Date Title
EP0394436B1 (en) Automatically variable memory interleaving system
US6381668B1 (en) Address mapping for system memory
US5555528A (en) Dynamic random access memory persistent page implemented as processor register sets
US4340932A (en) Dual mapping memory expansion unit
US4924375A (en) Page interleaved memory access
US4724518A (en) Odd/even storage in cache memory
US5040153A (en) Addressing multiple types of memory devices
US4737909A (en) Cache memory address apparatus
JPH08227380A (ja) データ処理システム
US4870572A (en) Multi-processor system
US5132927A (en) System for cache space allocation using selective addressing
US6035381A (en) Memory device including main memory storage and distinct key storage accessed using only a row address
US5630098A (en) System and method for interleaving memory addresses between memory banks based on the capacity of the memory banks
EP0540198A1 (en) Memory controller and data processing system
JPH07281948A (ja) メモリ制御装置
US6629219B1 (en) Method and apparatus for providing highly programmable memory mapping and improved interleaving
JPH06309223A (ja) メモリインタリーブ機能を持つ記憶装置
US6742077B1 (en) System for accessing a memory comprising interleaved memory modules having different capacities
JPH11250660A (ja) メモリデバイスおよび該メモリデバイスのアドレッシング方法
JP2938453B2 (ja) メモリシステム
JPH0981453A (ja) メモリ制御方法及びその実施装置
JP2002163887A (ja) シンクロナスdram
JP3190847B2 (ja) データ転送制御装置
JP3349929B2 (ja) メモリ制御装置
JPS5953588B2 (ja) メモリ・インタリ−ブ制御方式