JPH11265315A - 様々なdramバンクサイズと複数のインターリービング機構とをサポートする高速でコンパクトなアドレスビット経路指定機構 - Google Patents

様々なdramバンクサイズと複数のインターリービング機構とをサポートする高速でコンパクトなアドレスビット経路指定機構

Info

Publication number
JPH11265315A
JPH11265315A JP10303740A JP30374098A JPH11265315A JP H11265315 A JPH11265315 A JP H11265315A JP 10303740 A JP10303740 A JP 10303740A JP 30374098 A JP30374098 A JP 30374098A JP H11265315 A JPH11265315 A JP H11265315A
Authority
JP
Japan
Prior art keywords
bits
bit
address
bank
rank
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
JP10303740A
Other languages
English (en)
Inventor
Gapta Anurag
アヌラグ・ガプタ
Pikesley Scott
スコット・ピケスリー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH11265315A publication Critical patent/JPH11265315A/ja
Pending legal-status Critical Current

Links

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
    • G06F12/0607Interleaved addressing
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 様々なメモリサイス゛及びインターリーヒ゛ンク゛機構をサホ゜ー
ト可能なアト゛レス経路指定機構を提供すること。 【解決手段】 一実施例では、フ゜ロセッサから提供されるアト
゛レスヒ゛ットを任意のハ゛ンク、行、又は列ヒ゛ットへ経路指定可能
であり、任意のランクヒ゛ットを生成するために利用可能であ
る。該実施例は、任意のタイフ゜のインターリーヒ゛ンク゛機構並びに
多種多様なDRAMチッフ゜から構成されたメモリモシ゛ュールをサホ゜ートす
る。別の実施態様は、縮小された経路指定機能を用いて
ランクヒ゛ットを生成し、アト゛レスヒ゛ットをハ゛ンク、行、又は列ヒ゛ットの
サフ゛セットへ経路指定して経路指定機能のエンコート゛に4ヒ゛ット以
上を必要としないようにする。第2の実施態様は、マルチキャ
ッシュラインインターリーヒ゛ンク゛、キャッシュ効果インターリーヒ゛ンク゛、及びDRAMヘ
゜ーシ゛インターリーヒ゛ンク゛をサホ゜ートするものとなる。第2実施例は
広範囲にわたるDRAM構成をサホ゜ートする。該実施態様では2
ヒ゛ット程度の小さなDRAMチッフ゜と1キ゛カ゛ヒ゛ット程度の大きなSDR
AMとから構成されるメモリモシ゛ュールがサホ゜ートされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータメモ
リシステムに関し、特に、コンピュータシステム中のメ
モリバンクに対するアドレス信号の経路指定に関する。
【0002】
【従来の技術】計算技術分野においては、ダイナミック
ランダムアクセスメモリ(DRAM)にプログラム命令
及びデータを記憶するのが一般的である。最も一般的な
タイプのDRAMメモリセルは、小型のコンデンサに結
合された単一のトランジスタである。該メモリセルで
は、前記コンデンサにおける電荷の有無によって1デー
タビットが表現される。かかる複数のセルが行と列から
成るアレイに編成される。
【0003】図1は、2,048行及び2,048列を有する4メ
ガビットメモリアレイ12をベースにした典型的な先行技
術によるメモリチップ10を示すブロック図である。該メ
モリチップ10は、4ビット幅のデータ入出力経路を備え
ている。行デマルチプレクサ15は、11ビット行アドレス
を受信して、メモリアレイ12に供給される行選択信号を
生成する。ページバッファ14は、アレイ12からのデータ
行のための一時記憶バッファの働きをする。列マルチプ
レクサ16は、9ビット列アドレスを受信し、4ビットデ
ータ入出力経路をバッファ14の選択された部分に対して
多重化する。
【0004】行と列の区別は、メモリアクセスが実施さ
れる方法のため重要なものとなる。ページバッファ14
は、単一のセル行から形成される。該セルは、読み出し
と書き込みの両方のための一時記憶領域として機能す
る。典型的なDRAMアクセスは、1つの行アクセスサ
イクル、1つ又は2つ以上の列アクセスサイクル、及び
1つの事前充電サイクルから構成される。該事前充電サ
イクルについては、以下で詳述することとする。
【0005】行アクセスサイクル(ページオープニング
とも呼ばれる)は、行アドレスビットを行デマルチプレ
クサ15に提示して行を選択することにより実施される。
次いで、その行の全内容がページバッファ14に転送され
る。この転送は、並列に実施され、その行の全てのメモ
リセルの内容を空にする。この転送は、各行コンデンサ
にいかなる電荷が存在しようとも、バッファ14へのロー
ドを行う1組の増幅器へと送出することにより実施され
る。該操作はまた、アクセスされた行のコンデンサの内
容を消去する。典型的な先行技術によるDRAMの場
合、この操作には約30nsを要する。
【0006】次いで、列アドレスビットを提示して特定
の一列又は一組の列を選択することにより列アクセスサ
イクルが実施され、ページバッファ14との間でのデータ
の読み書きが行われる。該列アクセスサイクル中に、ペ
ージバッファ14は、小さなRAMの働きをする。この操
作に関する典型的なアクセス遅延は、最初の4ビットデ
ータを受信するのに約30nsであり、後続の4ビットデー
タチャンク(chunk)を受信するのに10nsである。当該ペ
ージに対し数回にわたり連続したアクセスを行って異な
る列にアクセスすることにより、行全体の読み書きを極
めて迅速に行うことが可能になる。図1に示すような典
型的な4ビット幅のDRAMの場合、512回のアクセス
(即ち5.14μs)で2,048ヒ゛ット(即ち256バイト)から成
る1ページ分の読み出しを行うことが可能である。従っ
て、DRAMチップ10の帯域幅は、49.8Mbyte/secであ
る。並列をなす少数のDRAMチップが極めて高い帯域
幅を得る態様は、容易に理解することができるものであ
る。
【0007】メモリアクセスの最終サイクルは、事前充
電サイクルであり、これは、当業界でページクロージン
グとしても知られるものである。上述のように、行アク
セスサイクルでは、バッファ14に読み込まれた行のコン
デンサの内容が破壊された。バッファ14に別の行を読み
込むことができるようになる前に、該ページバッファ14
の内容を転送してメモリアレイ12に戻さなければならな
い。このプロセスが、事前充電サイクルと呼ばれる。ほ
とんどの先行技術によるDRAMチップは、アドレスを
必要としない。これは、オープン行の内容がバッファ14
に転送される際に該オープン行のアドレスがラッチさ
れ、該ページがオープンしている限りそのアドレスが保
持されるからである。典型的には、事前充電サイクルは
約40ns持続する。
【0008】大部分のDRAMは、通常の読み出し及び
書き込みアクセスサイクルに加えてリフレッシュサイク
ルも必要とする。各メモリセルを構成する小さなコンデ
ンサは、漏洩という難点を有し、短時間で電荷が排出さ
れることになる。データの損失を防止するために、所定
の最小限の割合で各行を事前充電(オープン及びクロー
ズ)しなければならない。許容されるコンデンサ及び漏
洩の大きさは、必要とされるリフレッシュ回数がDRA
Mの全帯域幅のうちの僅かな部分になるように、アレイ
の大きさと平衡するようにする。典型的には、DRAM
は、60マイクロ秒に1回の割合で行をリフレッシュすれ
ばデータ維持に十分であるように特別の設計が施され
る。従って、ページバッファ14に対するデータの書き込
み及び読み出しは連続して何回も行うことが可能である
が、該バッファ14を無制限にオープン状態にしておくこ
とはできない。これは、他の行のリフレッシュを可能に
するために該バッファ14を周期的にクローズしなければ
ならないからである。
【0009】当業界で既知の主たるタイプのDRAMが
2つ存在する。それは、非同期DRAMと同期DRAM
である。非同期DRAMにはクロック入力がない。それ
どころか、該DRAMが適正に動作するためには、様々
な信号及びアドレス間における複雑なタイミング上の制
約条件を満たさなければならない。非同期DRAMの2
つの主制御ピンは、「行アドレスストローブ」(RAS)
と、「列アドレスストローブ」(CAS)である。行をオ
ープンするためにRAS(典型的には低レベル信号)が表
明される。また、行をクローズするためにRASの表明が
解除される。また、列にアクセスするためにCASが表明
され、別の列にアクセスするためには、CASの表明を解
除してから再表明しなければならない。RASが表明され
ている間に、CASの表明及び表明解除を多数回にわたっ
て行うことが可能である、という点に留意されたい。
【0010】非同期DRAMとは対称的に、同期DRA
M(SDRAM)は、クロック入力を受け入れ、ほぼ全
てのタイミング遅延が該クロックに対して特定される。
更に、SDRAMは、通常は、別個に動作可能な2〜8
つの異なる論理メモリアレイ(又はバンク)を備えてい
る。各バンク毎に別個のRAS及びCASを利用するのではな
く、一連のコマンドがDRAMに送られて、ページオー
プニング機能、列アクセス機能、及びページクロージン
グ機能が同期して実施される。バンクの選択には追加の
アドレスビットが用いられる。SDRAMにより得られ
る主たる利点の1つはパイプライン処理である。あるバ
ンクにアクセスしている最中にバックグラウンドで別の
バンクのリフレッシュ又は事前充電を行うことが可能で
ある。
【0011】こうした相違にもかかわらず、SDRAM
の構成は、非同期DRAMの構成と極めてよく似てい
る。実際、多くの非同期DRAM用のメモリコントロー
ラは、複数のバンク及びバックグラウンドリフレッシュ
操作及び事前充電操作をサポートするものである。
【0012】先行技術において、用語「バンク」とは、
並列にアクセスされる非同期DRAMチップグループを
表すものである。従って、バンクへのアクセスは、上述
のように、適合する行及び列アドレスと共にバンク選択
信号を生成することにより行われた。しかし、単一のS
DRAMチップは複数のバンクを備えている。従って、
並列にアクセスされるSDRAMチップのグループを表
すために用語「ランク」が用いられ、該SDRAMラン
クに対して追加のバンクビットが経路指定される。SD
RAMと非同期DRAMのいずれかをサポート可能なシ
ステムの場合、典型的には、非同期DRAMへのアクセ
ス時に用いられる上位バンクビットが、SDRAMへの
アクセス時のランクビットとして用いられ、非同期DR
AMへのアクセス時に用いられる下位バンクビットがS
DRAMへと経路指定される。留意すべきは、SDRA
Mランク内の各バンクが、それ自体のページバッファセ
ットを備えているという点である。
【0013】DRAMチップは、様々な方法でメインメ
モリシステムを形成するように構成することが可能であ
る。典型的には、システムバスの幅及び速度は、メイン
メモリシステムバスの幅及び速度と同期させられる。こ
れは、メインメモリシステムバスにシステムバスと同じ
帯域幅を付与することにより行われる。通常は、システ
ムバスは、個々のDRAMチップにより提供されるデー
タI/Oインターフェイスよりも高速で幅が広いので、シ
ステムバスの帯域幅に一致するように複数のDRAMチ
ップが並列に配列される。特定のコンピュータシステム
が、66MHzで動作する16バイト幅のデータバスを備えて
いる場合、33MHZで動作し4ビット幅のDRAMチップ
で構成されたコンピュータシステムのメインメモリサブ
システムは、典型的には64のDRAMチップが各バンク
に配列され、これにより、各バンクに約1ギガバイト/
秒の帯域幅が提供され、これはシステムデータバスの帯
域幅と一致するものである。該帯域幅が一致しない場合
には、小さなFIFOを利用してメモリアクセスにバッ
ファリングを行い、該FIFOが一杯になった際にメモ
リアクセスを阻止する、といった別の技法を用いること
も可能である。
【0014】単一のバンクを形成するDRAMチップの
ページバッファについて考察する。全ての個々のページ
バッファに並列にアクセスを行うと、その組み合わせに
より一層大きな「論理」ページバッファが形成される。
図1に示すように、各DRAMチップ10は、2,048ビッ
ト即ち256バイトのページバッファ14を備えている。32
のチップを並列に配列すると、論理ページバッファは、
8,192バイト幅になる。下位アドレスビットを用いて列
の索引付けを行う場合には、論理メモリアドレスの下位
13ビットだけが異なるアドレスを有する2つの記憶位置
は、同一行内にあり、このため、論理ページバッファに
おいて同時に利用することが可能となる。
【0015】DRAMチップの各バンクは、それ自体の
ページバッファセットを備えている。従って、コンピュ
ータシステムに設けられた各メモリバンク毎に1つの論
理ページバッファが存在する。上位アドレスビットを用
いてバンクの選択を行う場合、物理メモリの最初の16メ
ガバイトについて8キロバイトの論理ページバッファが
存在し、物理メモリの次の16メガバイトについてもう1
つの8キロバイトの論理ページバッファが存在する(以
下同様)、といった具合である。
【0016】上述のシステムが、バンク選択ビットを有
するSDRAMを用いた場合には、該SDRAMの内部
バンクは、比較的独立したDRAMバンクの集合体とみ
なすことができる。この場合、上位バンクビットがラン
ク選択ビットとして用いられ、下位バンクビットがSD
RAMへ経路指定される、従って、以下における本発明
の例示のため、別個にアドレス指定されるチップの集合
体から得られるメモリバンクとSDRAMチップ内のメ
モリバンクとの間にはほとんど違いがないものとする
(但し、後者の場合には、バンクビットの一部がSDR
AMチップへ経路指定される)。
【0017】上述のシステムにおいて読み出される典型
的なキャッシュラインについて考察する。最初に、適当
なバンクが選択され、次いで、1つの行が論理ページバ
ッファに転送される。これには約30nsを要する。次い
で、4つの16バイトチャンクが該論理ページバッファか
ら読み出され、これに約60ns(最初の16バイトチャンク
に30ns、次の3つの16バイトチャンクの各々につき10n
s)を要し、完全なキャッシュラインが得られる。最後
に、論理ページバッファがクローズされ、これに40nsを
要する。総時間は130nsである。最初のワードが読み出
される前の時間は、60nsであった(ページオープン+最
初の列アクセス)。多くのシステムは、利用可能な最初
のワードがCPUの必要とする最初のワードになるよう
に構成される。この最初のワードの取り出しに必要な時
間は、「クリティカルワード待ち時間」として知られる
ものである。
【0018】メモリコントローラは、同じメモリバンク
に対する順次参照によって同じ行(又はページ)にアク
セスすることに賭ける、というのが当業界で一般的であ
る。かかるメモリコントローラは、ページモードメモリ
コントローラとして知られるものである。ページヒット
は、メモリコントローラが、メモリアクセス要求の処理
を行い、アクセスを必要とする行が論理ページバッファ
内に既に存在することを見いだしたときに生じる。ペー
ジモードメモリコントローラの場合、アクセス後にペー
ジがクローズされることはない。ページがクローズされ
るのは、当該バンクへのアクセスが異なるページを必要
する場合、又はリフレッシュサイクルが生じる場合だけ
である。
【0019】後続のメモリアクセスが、実際に同じペー
ジに対するものである場合には、クリティカルワード待
ち時間は、60nsから僅か10nsにまで短縮され、大幅な時
間が節約される。また、後続のメモリアクセスが同じペ
ージに対するものでない場合には、不利益を被る。新ペ
ージのオープンが可能になる前に論理ページバッファに
記憶されている旧ページに事前充電サイクルを施さなけ
ればならないので、クリティカルワード待ち時間は、40
ns(事前充電)+30ns(行アクセス)+30ns(最初のワ
ードが利用可能になる)、即ち100nsになり、各アクセ
ス後に論理ページバッファが事前充電される際に得られ
る60nsという先行値よりもかなり長くなってしまう。
【0020】次のアクセスが同じページに対して行われ
る確率をpとすると、平均クリティカルワード待ち時間
は、30ns×p+100ns×(1−p)(即ち100ns−70ns×
p)になる。クリティカルワード待ち時間がpの増大に
つれて短くなる点に留意されたい。賭けが引き合うポイ
ントは、平均クリティカルワード待ち時間が60nsになる
時である(上述のように、該60nsという時間は、各メモ
リアクセスの後に論理ページバッファがクローズされる
場合に得られるクリティカルワード待ち時間である)。
従って、各アクセス後に論理ページバッファをオープン
状態に保つのが引き合うポイントは、逐次メモリアクセ
スで同じページを参照する確率が0.571を超える場合に
生じる。
【0021】ここで、ページモードコントローラを備え
たコンピュータシステムにおいて、要求が、その処理を
行うのと同程度の速さでメモリコントローラに送られる
ものと仮定する。バンク内のページに始めてアクセスす
る毎に、旧ページをクローズする事前充電サイクルと、
新ページをオープンする行アクセスサイクルとが必要に
なり、これらは合計で70nsを要する。上述のように、オ
ープンページからの各キャッシュラインアクセス毎に60
nsが必要になる。従って、平均キャッシュラインアクセ
スには、60ns+70ns(1−p)が必要になる。これに対
し、上述のように、非ページモードメモリコントローラ
は、90nsを必要とする。
【0022】先行技術において、多くのページモードメ
モリコントローラは、単に、列ビットをアドレスの最下
位ビットにマッピングし、行ビットを列ビットのすぐ後
のアドレスビットにマッピングし、更に、バンク選択ビ
ットをアドレスの最上位ビットにマッピングするだけで
ある。この構成において、ページ境界にまたがる連続し
た大きなメモリブロックにアクセスしなければならない
ものと仮定する。単一のページバッファからメモリがア
クセスされている限り、事前充電サイクルは不要であ
る。しかし、ページの終わりに達して次のページが必要
になると、旧ページを格納するために事前充電サイクル
が必要になり、新ページにアクセスするために行アクセ
スサイクルが必要になる。行ビットが上述のように配列
されているため、必要となる次の行は(メモリブロック
がバンク境界にまたがっていない限り)前の行と同じバ
ンク内にあることになる。
【0023】Fung等の「Page Interleaved Memory Acce
ss」と題する米国特許第5,051,889号は、ページ境界に
またがる連続メモリにアクセスする場合の改善策を提供
する。基本的に、Fung等は、第1のバンク選択ビットと
第1の行選択ビットとをスワップすることにより、偶数
メモリページを第1のバンクに格納し、奇数メモリペー
ジを第2のバンクに格納する。従って、メモリの連続す
るセグメントに対する一連の順次メモリアクセスがペー
ジ境界を越える場合に、メモリアクセスがバンク境界を
越え、これにより、第1のバンクの事前充電サイクルと
第2のバンクの行アクセスサイクルとをオーバラップさ
せることが可能になる。Fung等により開示されたシステ
ムは、2つの連続したページを一度にオープンすること
を可能にするものであり、これにより、2つの連続した
ページにまたがるアクティブ「ホットスポット」を有す
るプログラムが高いページヒット率を達成することが可
能になる。
【0024】これと類似した技術が、1996年2月25〜28
日に開催された 41th IEEE ComputerSociety Internati
onal Conference の Digest of Papersにおいて発表さ
れた「Pentium■ Pro Workstation/Server PCI Chipse
t」と題する論文において Mike Bell 及び Tom Holman
により提案されている。Bell 及び Holmanにより提案さ
れた該技術は、アドレスビット置換(address bit permu
ting)と呼ばれ、Fung等により開示された同様の記憶機
構のようにバンクビットと行ビットとのスワッピングを
必要とするものである。
【0025】
【発明が解決しようとする課題】ページヒット率を高め
ることは望ましいが、マルチプロセッサシステムの場合
には、異なるバンク間にメモリアクセスを分散させるこ
とも望ましい。これを行う最も簡単な方法の1つは、各
プロセッサが、そのアクセスを異なるバンク間に分散さ
せることを保証することである。この機能をもたらす当
業界で既知の方法は、「キャッシュラインインターリー
ビング」と呼ばれる。基本的に、キャッシュラインイン
ターリービングは、1つ又は2つ以上のバンクビットを
キャッシュラインのすぐ上位のアドレスビットへと経路
指定する。従って、1つのキャッシュラインが第1のバ
ンクに記憶され、次のキャッシュラインが第2のバンク
に記憶される(以下同様)といった具合となる。非ペー
ジモードコントローラの場合、これは、連続するキャッ
シュラインのアクセス時に行アクセスサイクルと事前充
電サイクルとをオーバラップさせることを可能にするも
のとなる。これはまた、各プロセッサのメモリアクセス
がメモリバンク間で均等に分散されることを保証するも
のとなり、これにより、複数のプロセッサが同じバンク
について連続して競合することがないことが保証され
る。もちろん、キャッシュラインインターリービング
は、多数のバンク間に複数のアクセスを分散させようと
するが、ページモードコントローラは、複数のアクセス
を同一バンクに経路指定しようとするので、これらの技
術は矛盾したものである。
【0026】典型的なコンピュータシステムでは、メモ
リは、通常は、シングルインラインメモリモジュール
(SIMM)及び/又はデュアルインラインメモリモジ
ュール(DIMM)により形成される。DIMM及びS
IMMは、典型的には、非同期DRAMチップ又はSD
RAMチップを用いて構成される。通常は、コンピュー
タシステムは、メモリモジュールを受容するための一連
のSIMM及び/又はDIMMソケットを備えている。
SIMM及びDIMMは、様々な構成をとり、異なるタ
イプのチップから構成され、全てのソケットに接続する
必要はないので、コンピュータシステムのメモリコント
ローラは、様々なランク、バンク、行、及び列ビットに
対してアドレスビットを経路指定する能力を備えていな
ければならない。ページインターリービングを行うこと
により、この経路指定は大幅に複雑なものとなる。
【0027】
【課題を解決するための手段】本発明は、様々なメモリ
サイズ及びインターリービング機構をサポートすること
が可能なアドレス経路指定機構を提供する。本発明によ
るコンピュータシステムは、一連のアドレスビットを生
成するプロセッサと、バンクビット、行ビット、列ビッ
ト、及びおそらくはランクビットによりアクセスされる
メインメモリ装置と、バンクビット、行ビット、列ビッ
ト、及びランクビットをアドレスビットから生成するメ
モリコントローラとを備えている。一実施態様では、プ
ロセッサから提供されるアドレスビットを、任意のバン
ク、行、又は列ビットへ経路指定することが可能であ
り、また任意のランクビットを生成するために利用する
ことが可能である。該実施態様は、いかなるタイプのイ
ンターリービング機構をもサポートし、また多種多様な
DRAMチップから構成されたメモリモジュールをサポ
ートするものとなる。
【0028】もう1つの実施態様では、縮小された経路
指定機能を用いて、ランクビットを生成し、及び、アド
レスビットをバンク、行、又は列ビットのサブセットへ
経路指定して、経路指定機能のエンコードに4ビット以
上を必要としないようにする。第2の実施態様は、マル
チキャッシュラインインターリービング、キャッシュ効
果インターリービング、及びDRAMページインターリ
ービングをサポートするものとなる。
【0029】マルチキャッシュラインインターリービン
グは、本発明の一部を構成するものであり、連続する小
さなブロックに含まれるキャッシュラインを1つのDR
AMページ内に収容すると共に、隣接し連続する小さな
ブロックを別個のDRAMページ内に収容する。キャッ
シュ効果インターリービングは、索引は同じであるがタ
グが異なるキャッシュラインが異なるバンクに格納され
る確率を大幅に高くする。該キャッシュ効果インターリ
ービングは、キャッシュメモリ索引フィールドのすぐ上
位のビットに対応する1つ又は2つ以上のアドレスビッ
トをバンクビット又はランクビットに経路指定すること
により実施される。最後に、DRAMページインターリ
ービング(連続ページインターリービングとしても知ら
れる)は、連続する(又は近接する)DRAMページを
別個のバンクに記憶させる。該DRAMページインター
リービングは、列境界のすぐ上位のビットに対応する1
つ又は2つ以上のアドレスビットをバンクビット又はラ
ンクビットに経路指定することにより実施される。
【0030】本発明の第2の実施態様は、広範囲にわた
るDRAM構成をサポートするものとなる。該実施態様
では、2ビット程度の小さなDRAMチップと1ギガビ
ット程度の大きなSDRAMとから構成されるメモリモ
ジュールがサポートされる。
【0031】
【発明の実施の形態】本発明は、ランク、バンク、行、
及び列ビットへのアドレスビットの経路指定に大きなフ
レキシビリティを与えるアドレスビット経路指定機構を
提供するものである。図2は、本発明のビット経路指定
機構を実施したコンピュータシステム18を示している。
該コンピュータシステム18は、中央演算処理装置(CP
U)20(レベル1(L1)キャッシュを含む)、レベル
2(L2)キャッシュ装置22、本発明によるフレキシブ
ルなビット経路指定を行うメモリコントローラ24、及び
一連のメモリソケット26を備えている。
【0032】CPU20は、一連のアドレス、データ、及
び制御信号を介してL2キャッシュメモリ装置22に接続
される。データ及び制御信号は、本発明の理解に不可欠
なものではないので、包括的に示されている。L2キャ
ッシュメモリ装置22はまた、一連のアドレス、データ、
及び制御信号を介してメモリコントローラ24に接続され
る。
【0033】該メモリコントローラ24は、アドレス信号
を受信し、該アドレス信号の処理を行って、ランク、バ
ンク、行、及び列ビットを形成する。更に、コントロー
ラ24は、RAS及びCAS信号、クロック信号、読み出
し/書き込み信号その他の必要とされる任意の制御信号
を生成して、メモリソケット26へと経路指定する。該コ
ントローラ24はまた、メモリソケット26へのデータ信号
の経路指定も行う。
【0034】図3は、メモリソケット26を一層詳細に示
したものである。N個のソケットが設けられている。各
ソケットは、別個のランクビットを受信し、ランクビッ
トが表明された際に、該ランクビットに関連するソケッ
トが、アクティブになって、バンク、行、及び列ビット
により包括的に伝送されたメモリアクセス要求、及び、
制御及びデータ信号を処理しなければならない。行及び
列ビットは、同一バス上に多重化され、バンクビットと
制御及びデータ信号とはソケットに対して並列に供給さ
れ、ランクビットにより選択されていないソケットは、
入力を無視し、高インピーダンス状態の出力を有するこ
とに留意されたい。
【0035】従来の技術の欄で説明したように、SDR
AMはバンクビットを受信するが、非同期DRAMはバ
ンクビットを受信しない。従って、バンクビットは、S
DRAMを含むソケットにしか供給されない。以下で明
らかになるように、本発明は、非同期DRAMとSDR
AMとの両方に適用可能なものである。
【0036】図4は、ランク、バンク、行、及び列ビッ
トへのアドレスビットの経路指定の責務を果たすメモリ
コントローラ24の一部を示している。アドレスはMビッ
ト幅を有するものである。該コントローラ24は、各ソケ
ット毎にランクコントローラを備えている。従って、図
3にはN個のソケットが示されており、コントローラ24
はN個のランクコントローラを備えている。全てのラン
クコントローラにアドレスが並列に与えられ、該アドレ
スに基づいて選択が行われたか否かを判定するのは各ラ
ンクコントローラの責務である。あるランクコントロー
ラが選択された場合、そのランクコントローラが、その
ランク選択ビットを表明し、他のランクコントローラか
らの他のランク選択ビットは非表明状態のままとなる。
あるランクコントローラが選択された場合、そのランク
コントローラは、バンク、行、及び列ビットへとアドレ
スビットのマッピングを行う。ブロック28で、各ランク
コントローラからの対応するバンクビットセットを互い
に組み合わせて、メモリソケットに供給されるバンクビ
ットを形成する。選択されていないランクコントローラ
が全てのバンクビットを低レベルに駆動するものと仮定
すると、ブロック24で、対応する各バンクビットセット
に論理OR関数を適用して、メモリソケットに供給され
る各バンクビットを形成することが可能である。もちろ
ん、選択されていないランクコントローラが全てのバン
クビットを高レベルに駆動する場合には、AND関数を
用いることが可能である。
【0037】同様に、ブロック30で行ビットが形成さ
れ、ブロック32で列ビットが形成され、次いでそれらの
ビットがマルチプレクサ31に供給される。該マルチプレ
クサ31は、メモリソケットに行ビットと列ビットのいず
れを供給すべきかを決定する選択信号を受信する。例え
ば、非同期DRAMから構成されたモジュールにアクセ
スする場合には、RAS信号が表明された際に行ビット
が供給され、CAS信号が表明された際に列ビットが供
給される。
【0038】図5及び図6は、本発明によるランクコン
トローラの実施例を示すものであり、この場合、アドレ
スビットの任意の組み合わせを利用してランクを選択す
ることができ、及び任意のバンク、行、又は列ビットへ
と任意のアドレスビットを経路指定することが可能であ
る。図5は、ランク選択ビット生成回路33を示すもので
あり、これはランク選択ビットを生成する本発明の実施
例の一部である。同図にはランクビット0の生成しか示
されていない。従って、一例としての回路33は各ランク
コントローラ毎に必要となる。
【0039】図5において、ランク設置(populated)ビ
ット44は、ランクが設置されている場合に「1」にセッ
トされ、ランクが設置されていない場合に「0」にセッ
トされる。アドレス-ランク選択レジスタ34は、ランク
選択ビットの生成にどのアドレスビットを用いるかを示
すベクトルを格納している。アドレスビット1,M-2,M-1
に基づいてランク0が選択されると、これらのアドレス
ビットに対応するレジスタ40内のビット位置が「1」に
セットされる。アドレス-ランク値レジスタ36は、ラン
クの選択に必要な選択アドレスビットの値を示す。例え
ば、アドレスビット1,M-2,M-1が選択され、ビット1が
「0」、ビットM−2が「1」、ビットM−1が「1」でなけ
ればならない場合、これらに対応するレジスタ36中のビ
ット位置は、それぞれ、「0」、「1」、及び「1」にセ
ットされなければならない。ランク設置ビット44及びレ
ジスタ34,36並びに本明細書に記載の他の全ての構成ビ
ット及びレジスタは、典型的にはコンピュータシステム
18の初期化時にロードされることになる、という点に留
意されたい。明瞭化のため、かかるレジスタへのロード
に必要なデータ経路は示されていない。当業者には明ら
かなように、かかるレジスタへのロードは、直列初期化
経路といった当業界で一般的である様々な方法を用いて
実施することが可能である。
【0040】各アドレスビットに関連して排他的OR
(XOR)ゲート及びANDゲートが存在するが、これは
ビット1,M-1についてしか示していない。ここで、アド
レスビット位置1は、選択されるランク0について「0」
でなければならないものと仮定する。従って、アドレス
ビット1を選択するためにはアドレス-ランク選択レジス
タ34のビット位置1を「1」にセットし、必要な値を示す
ためにはアドレス-ランク値レジスタ36のビット位置1を
「0」にセットしなければならない。レジスタ36のビッ
ト位置1及びアドレスビット1(図5におけるA[1])は、
XORゲート38へと経路指定される。アドレスビット及
びレジスタ36からのビットが同一の値を有する場合、X
ORゲート38は「0」を生成し、それらが異なる場合に
はXORゲート38は「1」を生成する。ANDゲート40
は、ゲート38の出力をレジスタ34のビット位置1と比較
する。ビット位置1が選択されている場合には、ゲート3
8の出力はM入力NORゲート42へと伝搬する。もちろ
ん、アドレスビット1がバンク選択の一部として用いら
れていない場合には、レジスタ34のビット位置1を「0」
にセットしなければならず、ANDゲート40の出力は
「0」となる。従って、ANDゲート40の出力が「1」に
なるのは、対応するアドレスビットが選択されて該アド
レスビットの値が必要とされる値と一致しない場合に限
られる。
【0041】選択されたアドレスビットが必要とされる
値と一致する場合には、M入力NORゲート42の全ての
入力が「0」になり、該ゲート42の出力が「1」になっ
て、ランクが選択されたことを示す。単一の選択された
アドレスビットがその必要とされる値と一致しない場合
には、「1」がゲート42へと伝搬し、その出力が「0」に
なる。最後に、ランクが設置されておらず、アドレスビ
ットが選択されていない場合には、ゲート42の出力は
「1」になる。従って、ランク設置ビット44がゲート42
の出力と共にANDゲート46に供給される。ランクが設
置されていない場合には、ビット44がゲート46の出力を
「0」にする。ランクが設置されている場合には、ビッ
ト44が「1」になり、ゲート42の出力がゲート46の出力
へと伝搬する。ランクビット0がゲート46の出力に生成
され、ソケット0に供給されて、該ソケット内のメモリ
モジュールが選択される。該ランクビット0は、図6に
示すマルチプレクサ52といったアドレスビット経路指定
マルチプレクサにも供給される。
【0042】図6は、任意のアドレスビットを任意のバ
ンク、行、又は列ビットに経路指定することが可能なア
ドレスビット経路指定回路48を示している。該回路48
は、Jバンクビット、K行ビット、及びL列ビットをサ
ポートする。経路指定レジスタ50は、考え得る各々の経
路指定をエンコードするのに十分なだけのビットを有し
ており、少なくとも、J+K+Lの考え得る経路指定が
存在する。使用されないアドレスビットに関するヌル(n
ull)経路指定といった更なる経路指定を指定することが
望ましい場合もある。例えば、最大で3バンクビット、
14行ビット、及び11列ビットを必要とするメモリモジュ
ールを受け入れることが可能なコンピュータシステム
は、少なくとも28の考え得る経路指定を有することにな
り、従って、各経路指定の符号化に少なくとも5ビット
を必要とする。レジスタ50は、上述のようにコンピュー
タシステムの初期化時に構成される。
【0043】レジスタ50の内容はマルチプレクサ52の選
択入力に供給される。図6には、アドレスビット0(図
6中のA[0])の経路指定に必要なレジスタ50の一例及び
マルチプレクサ52の一例が示されている。従って、各ラ
ンクコントローラは、Mアドレスビットの各アドレス毎
にレジスタ50及びマルチプレクサ52を必要とする。図5
において生成されるランクビット0は、マルチプレクサ5
2のイネーブル入力にも供給される。ランクビット0が
「0」(ランクが選択されないことを示す)の場合に
は、マルチプレクサ52の全ての出力が「0」になる。ア
ドレスビット0は、マルチプレクサ52のデータ入力に供
給される。ランクビット0が「1」の場合、レジスタ50に
格納されている経路指定により示されるマルチプレクサ
52の出力にアドレスビット0が経路指定される。マルチ
プレクサ52は、単一のマルチプレクサとして図示されて
いるが、該マルチプレクサ52をマルチレベル直列の多段
マルチプレクサとして実施するほうがより実際的である
ことが当業者には理解されよう。
【0044】マルチプレクサ52は、考え得る各々のバン
ク、行、及び列ビット毎に1つずつ出力を備えている。
マルチプレクサ52の各出力は、M入力ORゲート54又は
M入力ORゲート56といったM入力ORゲートに経路指
定される。各M入力ORゲートは、各アドレスに関連す
る各マルチプレクサの対応する出力からの入力を受信す
る。例えば、ORゲート54は、Mアドレスビットのそれ
ぞれに関連する各マルチプレクサ52のバンクビット1出
力を受信する。同様に、ORゲート56は、Mアドレスビ
ットのそれぞれに関連する各マルチプレクサ52の列ビッ
トL-2出力を受信する。各バンク、行、及び列ビット
は、M入力ORゲートの出力に生成される。例えば、バ
ンクビット1は、ゲート54の出力に生成され、列ビット
L-2は、ゲート56の出力に生成される。次いで、各ラ
ンクコントローラからの各バンク、行、及び列ビット
に、図4に示す他のランクコントローラからの対応する
ビットとのOR演算を施すことにより、図3に示すメモ
リソケットに経路指定されるバンク、行、及び列ビット
が形成される。
【0045】図5及び図6に示す本発明によるランクコ
ントローラの実施例は、最大限のフレキシビリティを提
供するものとなる。任意のアドレスビットを任意のバン
ク、行、及び列ビットに経路指定することが可能であ
る。更に、アドレスビットの任意の組み合わせを使用し
てランク選択ビットを生成することが可能である。従っ
て、この実施例は、任意のDRAM構成及び任意のタイ
プのページインターリービング方式をサポートすること
が可能である。しかし、この実施例は極めて複雑なもの
であり、従って、その実施にはかなりの量の論理回路が
必要になる。更に、この実施例の実施に必要なマルチプ
レクサ及びM入力ORゲートは、多数の論理レベルを必
要とする可能性があり、従って、かなりのゲート遅延を
招くことになる可能性がある。
【0046】サポートすべき最大数のバンク、行、及び
列と共に、サポートすべきインターリービング方式のタ
イプを規定することにより、大幅に縮小された経路指定
機能で本発明を実施することが可能になる。上述の第1
の実施例において、11列ビット、14行ビット、及び3バ
ンクビットをサポートしたい場合には、レジスタ50に5
ビットが必要になり、マルチプレクサ52は少なくとも28
の出力を備えていなければならない。一方、後述の第2
の実施例は、11列ビット、14行ビット、3バンクビッ
ト、及び少なくとも32ランクビットをサポートするが、
経路指定機能は、僅か3ビットに縮小された。従って、
各経路指定レジスタは3ビットしか必要とせず、また各
マルチプレクサは8つの出力しか必要とせず、その結
果、経路指定機能の実施に必要な論理回路の量が大幅に
減少する。
【0047】第2の実施例について論述する前に、まず
該第2の実施例の設計でサポートすることになるDRA
Mのタイプ及びインターリービングのタイプについて述
べておくことが重要である。後述の第2の実施例は、8
〜11の列ビット、11〜14の行ビット、0〜3のバンクビッ
ト、及び、1〜(少なくとも)6のランクビットをサポ
ートするものである。8列ビット及び11行ビットを備え
た4ビット幅の非同期DRAMについて考察する。かか
る非同期DRAMは2メガビットの容量を有するものと
なる。これに対し、11列ビット、14行ビット、及び3バ
ンクビットを備えた4ビット幅のSDRAMについて考
察する。かかるSDRAMは、1ギガビットの容量を有
するものとなる。従って、第2の実施例は、2メガビッ
ト〜1ギガビットというとてつもない範囲のDRAMチ
ップサイズで構成されたメモリモジュールをサポートす
ることが可能となる。
【0048】また、第2の実施例は、3タイプのインタ
ーリービング、即ち、DRAMページインターリービン
グ、キャッシュ効果インターリービング、及びマルチキ
ャッシュラインインターリービングをサポートするもの
となる。DRAMページインターリービング(連続ペー
ジインターリービングとしても知られる)は、当業界で
既知のものであり、連続する(又は近接する)DRAM
ページを別個のバンクに格納する。該DRAMページイ
ンターリービングは、列境界のすぐ上位のビットに対応
するアドレスビットのうちの1つまたは2つ以上をバン
クビット又はランクビットに経路指定することにより実
施される。第2の実施例は、DRAMページインターリ
ービングに対する8バンクビット又は8ランクビットま
での割り当てをサポートする。
【0049】キャッシュ効果インターリービングについ
ては、Tomas G.Rokickiによる「A Main Memory Bank In
dexing Scheme That Optimizes Consecutive Page Hits
byLinking Main Memory Bank Address Organaization
to Cache Memory Address Organization」と題する同時
係属中の米国特許出願に開示されている。キャッシュ効
果インターリービングは、索引は同じであるがタグの異
なるキャッシュラインが異なるバンクに格納される確率
を大幅に高くするものである。キャッシュ効果インター
リービングは、キャッシュメモリ索引フィールドのすぐ
上位のビットに対応するアドレスビットのうちの1つま
たは2つ以上をバンクビット又はランクビットに経路指
定することにより実施される。第2の実施例は、キャッ
シュ効果インターリービングに対する5バンクビット又
は5ランクビットまでの割り当てをサポートする。
【0050】最後に、マルチキャッシュラインインター
リービングは、本発明の一部をなす新しいタイプのイン
ターリービングである。従来の技術の欄で上述したよう
に、キャッシュラインインターリービングは、DRAM
ページインターリービングと矛盾するものである。一方
では、DRAMページインターリービングにより提供さ
れるように、連続メモリアクセスを同じバンクに向けて
ページヒット率を高めることが望ましい。他方では、マ
イクロプロセッサシステムの場合に、2つまたは3つ以
上のプロセッサが同じバンクにスラッシングを行わない
ことが望ましい。先行技術におけるキャッシュラインイ
ンターリービングは、隣接するキャッシュラインを異な
るバンクにアクセスさせることにより該問題に対処す
る。各プロセッサのメモリアクセスは、複数のバンクに
わたって分散されるので、2つのプロセッサが同じバン
クにスラッシングを行うことはない。マルチキャッシュ
ラインインターリービングは、連続する同一の小さなブ
ロックに格納されたキャッシュラインを1つのDRAM
ページに格納する一方、連続する小さな連続ブロック
は、別個のDRAMページに格納する。例えば、8つの
連続するキャッシュラインからなる第1のブロックは第
1のDRAMページに記憶され、8つの連続するキャッ
シュラインからなる第2のブロックは第2のDRAMペ
ージに格納される(以下同様)、といった具合である。
マルチキャッシュインターリービングは、所定数(8又
は16等)のキャッシュラインアクセスを同一のバンクに
向かわせると共に、キャッシュラインの小さな連続する
ブロックを別個のバンクに向かわせることを保証する、
という要求の平衡をとるものである。隣接するキャッシ
ュラインを別個のバンクに格納するキャッシュラインイ
ンターリービングと比較して、マルチキャッシュライン
インターリービングは、ページヒット率を大幅に高くす
ると共に、プロセッサによりアクセスされているプログ
ラムのホットスポットが複数のバンクにわたって分散さ
れる確率を高く維持するものとなる。マルチキャッシュ
ラインインターリービングは、キャッシュラインの小さ
な連続するブロックのすぐ上位のビットに対応するアド
レスビットの1つまたは2つ以上をバンクビット又はラ
ンクビットに経路指定することにより実施される。第2
の実施例は、マルチキャッシュラインインターリービン
グに対する2アドレスビットまでの割り当てをサポート
する。
【0051】図7ないし図9は、第2の実施例の設計に
用いたコンピュータシステムアーキテクチャを示してい
る。該アーキテクチャは、64ビット幅のアドレス及びデ
ータバスを提供するものである。しかし、物理メモリは
38ビットの論理アドレスしか使用せず、このため、256
ギガバイトまでの物理メモリが提供される。図7は、コ
ンピュータシステムの64ビット幅アドレスを示す論理ア
ドレスマップ58である。データバスも64ビットであり、
及び8バイト単位でデータにアクセスするため、最初の
3つのアドレスビットA[0]〜A[2]がプロセッサにより外
部から供給されることはない。
【0052】図8は、キャッシュメモリ編成60を示すも
のであり、第2の実施例の設計に用いたコンピュータシ
ステムのキャッシュを例示したものである。キャッシュ
は、4メガバイトの容量と、64バイトのキャッシュライ
ンと、14ビットの索引とを備えている。最初の6ビット
A[0]〜A[5]はキャッシュラインを表している。次の14ビ
ットA[6]〜A[19]は索引を形成し、16,384セット(各セ
ット毎に4つのキャッシュライン項目を含む)のうちの
1つを参照している。次の18ビットA[20]〜A[37]はタグ
を形成する。タグ項目は、キャッシュ内の各キャッシュ
ライン項目に1つずつ関連付けされている。
【0053】図8に示すように、キャッシュ効果インタ
ーリービングビットは、タグの5つの最下位ビット(即
ちビットA[20]〜A[24])に対応するアドレスビットにお
いて利用可能である。マルチキャッシュラインインター
リービングビットA[9]〜A[10]は、キャッシュライン境
界の4ビット上から始めて利用可能であり、これによ
り、2つのバンク又はランク間における16キャッシュラ
インブロックのインターリービング、又は4つのバンク
又はランク間における8キャッシュラインブロックのイ
ンターリービングが可能になる。キャッシュ効果インタ
ーリービングビット及びマルチキャッシュインターリー
ビングビットの位置決めがキャッシュ構成によって決ま
る点に留意されたい。特に、マルチキャッシュラインイ
ンターリービングビットはキャッシュラインサイズによ
って決まり、キャッシュ効果インターリービングビット
は索引とタグとの間の境界によって決まる。
【0054】図9は、物理的メモリ構成マップ62を示す
ものである。もちろん、物理メモリの構成は、システム
にインストールされるメモリモジュールの数及びタイプ
に基づいて変動する。物理メモリは、32バイト幅のメモ
リバスを提供するように構成され、キャッシュラインの
読み出し又は書き込みのために2つのメモリアクセスが
必要になる。
【0055】最初の5ビットA[0]〜A[4]は、メモリバス
の幅により固有に表現される。該バスの幅は、単に列ビ
ットの開始境界を決めるだけであるという点に留意され
たい。32バイト幅のメモリバスの場合、最初の列ビット
はA[5]である。また、ビットA[3]及びA[4]は、プロセッ
サにより供給されるが、メモリバスが32バイト幅である
ため、列ビットとしては用いられないという点にも留意
されたい。しかし、これらのビットを使用して、4つの
64ビットワードを32バイト幅のメモリアクセスへとパッ
ケージ化する順序を決めることが可能である。メモリバ
スが16バイト幅の場合には、最初の列ビットはA[4]であ
り、ビットA[3]を使用して、2つの64ビットワードを16
バイト幅のメモリアクセスへとパッケージ化する順序を
決めることが可能である。
【0056】上述のように、メモリバスが32バイト幅の
場合、最初の列ビットはビットA[5]である。次の8〜11
ビットは列ビットであり、該列ビットの数は、メモリモ
ジュールに存在するDRAMチップのサイズによって決
まる。列、行、及びバンクビットの数はランク毎に異な
る可能性がある点に留意されたい。
【0057】列ビットのすぐ上位には、DRAMページ
インターリービングに対応するビットが存在する。DR
AMページインターリービングには最大8ビットを割り
当てることが可能であり、DRAMページインターリー
ビングを受け持つビット範囲は、列ビット数に基づいて
変動する。
【0058】列ビットのすぐ上位には行ビットも存在す
る。第2の実施例は、11〜14行ビットをサポートする。
バンクビットは行ビットのすぐ上位に位置する。第2の
実施例は、0〜3バンクビットをサポートする。最後
に、ランクビットはバンクビットの上位にある。各ラン
クビットはメモリソケットに対応する。11列ビット、14
行ビット、及び3バンクビットを有するSDRAMが設
置されたメモリモジュールを備えたシステムでは、6ラ
ンクビットが利用可能である。もちろん、更に小さなD
RAM又はSDRAMチップが用いられる場合には、よ
り多くのランクビットが利用可能になる。
【0059】本発明によれば、各アドレスビットに関連
する経路指定機能をコンパクトにすることが可能である
と同時に、上述のDRAMサイズ及びインターリービン
グ戦略をサポートする能力を提供することが可能であ
る。いくつかの要因が経路指定機能の縮小を可能にす
る。第1に、マルチキャッシュラインインターリービン
グに1つ又は2つのランクビット又はバンクビットが割
り当てられる場合に、適当な列ビットのシフトにマルチ
プレクサ機能が使用されるものと仮定すると、列ビット
を下位のアドレスビットへとマッピングすることが可能
である。第2に、バンク内に、ある行ビットに関する固
有のものがなく、従って全ての行ビットが交換可能であ
り、特定の行ビットが性能上の利点又は欠点をもたらす
ことはない。最後に、上述の全てのインターリービング
戦略に適応させるために全てのアドレスビットを全ての
バンクビットに経路指定することが可能である必要がな
い。経路指定機能は、これらの要因に従って縮小するこ
とが可能であるが、いかなる経路指定機能であれ、所望
の全てのインターリービング方式及び対象となる全ての
DRAMサイズをサポートすることができなければなら
ない。更に、経路指定機能は、論理アドレスビットをラ
ンク、バンク、行、及び列ビットに割り当てて、単一ブ
ロックをなす連続する論理アドレスが物理メモリに対し
て一意にマッピングされ、及び物理メモリの未使用部分
がなくなるようにしなければならない。
【0060】図10ないし図12に示すアドレスビット
経路指定は、上述のDRAMサイズ及びインターリービ
ング戦略をサポートし、物理メモリに対する単一ブロッ
クをなす連続する論理アドレスの一意のマッピングを可
能にして、物理メモリの未使用部分をなくし、考え得る
経路指定を1アドレスビットにつき多くとも8つしか必
要としないようにするものである。従って、各アドレス
ビット経路指定を3ビットで格納することが可能にな
る。上記要件を満たす他の経路指定も可能である。更
に、本明細書の教示を用いて様々なメモリ構成について
上記に匹敵する縮小された経路指定を開発する態様が当
業者には理解されよう。
【0061】図10ないし図12を参照する。アドレス
ビットA[0]〜A[2]はCPUによっては供給されず、アド
レスビットA[3]及びA[4]はワードの順序を規定するため
に用いられる。16バイト幅のメモリデータバスを用いる
場合には、A[3]だけがワードの順序の規定に用いられ、
アドレスマッピングが1ビット位置だけシフトダウンす
る点に留意されたい。
【0062】アドレスビットA[5],A[6],A[7],A[8]は、
それぞれ列ビット0,1,2,3へとマッピングされるので、
これらのビットのマッピングは単純である。アドレスビ
ットA[9],A[10]は、マルチキャッシュラインインターリ
ービングビットとして用いることが可能であり、従っ
て、これらのビットは、ランクビットの生成を助けるよ
うに構成することもできるし、またはバンクビットに経
路指定することも可能である。もちろん、これらのビッ
トは、列ビットとしてマッピングすることも可能であ
る。
【0063】アドレスビットA[9]又はA[10]は、別個に
又は一緒にランクビット又はバンクビットへとマッピン
グすることが可能である。経路指定機能を単純化するた
めに、マルチプレクサを使用して、アドレスA[10]から
始めて1ビット位置分、又はアドレスA[11]から始めて
1又は2ビット位置分だけ、適当な列ビットをシフトア
ップさせる。このため、ビットA[14]等のアドレスビッ
トを3つの異なる列ビットへとマッピングすることが可
能な場合であっても、該3つの列ビットの全てが単一の
エンコーディングにより表される。これについては、図
15に関連して以下で更に詳細に示す。図10ないし図
12では、マルチプレクサを通過する列経路指定は、斜
線付きボックスとして示され、1つの列のみに向かう列
経路指定を含む他の全ての経路指定は、黒いボックスと
して示されている。
【0064】図4に示すように、バンクビット又はラン
クビットは、ビットA[11]又はビットA[12]に経路指定す
る必要のないものである。従って、これらのビットは、
列ビットにのみ経路指定される。メモリモジュールが8
列ビットを有するDRAMチップを使用したものである
と仮定すると、DRAMページインターリービングを提
供するためにバンクビット又はランクビットに割り当て
ることが可能な第1のアドレスビットは、ビットA[13]
である。図10ないし図12の最も右の列には、経路指
定機能値の数が示されているが、この数は、どの経路指
定についても8以下であり、このため経路指定を3ビッ
トで格納することが可能となっている、という点に留意
されたい。
【0065】図13は、ランクビット生成回路64を示し
ている。ランクビット生成回路64は、ランクビット0を
生成し、従って、該回路64は、各ランクコントローラ毎
に設けなければならない。該回路64は、アドレスビット
A[9],A[10],A[13]〜A[37]についてランク選択経路指定
を評価しなければならない。明瞭化のため、図13に
は、他のビットの評価を代表するものとしてアドレスビ
ットA[15],A[21]の評価が示されている。他のアドレス
ビットの評価は実質的に同じである。
【0066】図13において、経路指定レジスタ66は、
アドレスビットA[15]に関するアドレスマッピングを保
持し、経路指定レジスタ68は、ビットA[21]に関するア
ドレスマッピングを保持する。ビットA[9],A[10],A[13]
〜A[37]のマッピング機能は、エンコーディング「000」
を使用して、アドレスビットがランク選択ビットとして
用いられ該アドレスビットの値が選択すべきランクに関
して「0」でなければならないことを示し、また、エン
コーディング「111」を使用して、アドレスビットがラ
ンク選択ビットとして用いられ該アドレスビットの値が
「1」でなければならないことを示す。
【0067】アドレスビットA[15]に関し、レジスタ66
が「111」を収容している場合、ANDゲート70の出力
が「1」になる。レジスタ66が「000」を収容している
場合には、NORゲート74の出力が1になる。ゲート70
とゲート74とのいずれかの出力が「1」である場合に
は、ORゲート71の出力が「1」になる。従って、ゲー
ト71の出力は、アドレスビットをランク選択ビットとし
て用いるべきか否かを示す。上述のエンコーディングを
仮定した場合、レジスタ66の3ビットのうち任意の1つ
をXORゲート78の入力に経路指定することが可能であ
る。XORゲート78のもう1つ入力は、アドレスビット
A[15]に接続される。ビットA[15]がレジスタ66からのビ
ットと同じ値を有していない場合、XORゲート78の出
力は「1」となり、それらの値が一致する場合には、X
ORゲート78の出力は「0」となる。ANDゲート82は
ゲート71,78の出力を受信する。ビットA[15]がランク選
択ビットでない場合、ゲート82の出力は「0」になり、
ビットA[15]がランク選択ビットである場合には、ビッ
トA[15]の値がレジスタ66内にエンコードされている値
と一致しない場合に限り、ゲート82の出力が「1」にな
る。ゲート82の出力は、27入力NORゲート88に供給さ
れる。
【0068】ビットA[21]のランク選択ビット評価は同
一であり、この場合、ゲート72,73,76は、ビットA[21]
がランク選択ビットであるか否かを検出し、ゲート80
は、ビットA[21]の値とレジスタ68内にエンコードされ
ている値とを比較し、ゲート84は、ビットA[21]がラン
ク選択ビットである場合に該比較結果をNORゲート88
に供給する。NORゲート88は、ランク選択ビットとな
るように構成することが可能な他の全てのアドレスビッ
トから同様の入力を受信する。ランク選択ビットになる
ように構成された1つ又は2つ以上のアドレスビット
が、該アドレスビットの経路指定レジスタ中にエンコー
ドされている値と異なる値を有する場合には、ゲート88
の出力が「0」になり、それ以外の場合には「1」にな
る。
【0069】関連するソケットにメモリモジュールが収
容されている場合、ランク設置ビット86が「1」にセッ
トされ、ソケットに設置されていない場合には「0」に
セットされる。ANDゲート90は、ビット86及びゲート
88の出力を受信する。ソケットに設置されていない場
合、ランクビットは「0」になり、ソケットに設置され
ており、及びランクが選択されている場合には、ランク
ビットは「1」になる。
【0070】図14は、アドレスビットA[16]の経路指
定機能を実施する回路92を示すものである。ビットA[1
6]は、本発明の縮小された経路指定機能を例証するため
の良い選択対象である。その理由は、該ビットA[16]
を、ランク選択ビット、2列ビットの1、2行ビットの
1、又は3バンクビットの1になるように構成すること
ができるからである。更に、ビットA[16]は、3ビット
の縮小された経路指定機能により提供される8つのエン
コーディングの全てを使用する。
【0071】ビットA[16]の経路指定機能は次のように
エンコードされるものと仮定する。
【0072】
【表1】
【0073】回路92は、アドレスビットA[16]に関する
経路指定レジスタ94、マルチプレクサ96、及びORゲー
ト98,100,102,104,106を備えている。レジスタ94は、ア
ドレスビットA[16]に関する経路指定機能を示す3ビッ
ト量を保持する。考え得るエンコーディングは上記のと
おりである。該3ビット量はマルチプレクサ96の選択入
力に供給される。該3ビット量に基づき、アドレスビッ
トが8出力の1つに経路指定される。図13に関して上
述したように、エンコーディング「000」,「111」はランク
選択ビットのために予約されるので、出力0,7は使用
されない。
【0074】出力1は、図15の列経路指定マルチプレ
クサ114に供給されるが、これについては後に詳述する
こととする。それ以外の出力は、上記のエンコーディン
グに従って経路指定される。例えば、出力2は、行ビッ
ト0に関するエンコーディングに対応し、ORゲート98
に対して経路指定される。行ビット0に関してエンコー
ディングされた出力を有する他の経路指定マルチプレク
サからの同様の出力もまたゲート98に供給される。図1
3及び14に示すように、アドレスビットA[14],A[18],
A[29],A[31],A[33]の全ては、行ビット0にマッピングす
ることが可能なものであり、従って、その全ては、ゲー
ト98に接続されたマルチプレクサ出力ラインを有してい
る。同様に、出力3は、行ビット2の生成を助けるために
ORゲート100に経路指定され、出力4は、バンクビット
0の生成を助けるためにORゲート102に経路指定され、
出力5は、バンクビット1の生成を助けるためにORゲー
ト104に経路指定され、出力6は、バンクビット2の生成
を助けるためにORゲート106に経路指定される。用語R
0、R2、B0、B1、及びB2は、それぞれ、行ビット0,2、
バンクビット0,1,2の略語として用いられている点に
留意されたい。図14において生成される行ビット及び
バンクビットは、各ランクコントローラ毎に生成され、
図4に示すように個々のランクコントローラからの対応
するビットが組み合わされなければならない、という点
にも留意されたい。
【0075】上述のように、アドレスビットA[9]及び/
又はA[10]がランクビット又はバンクビットにマッピン
グされる場合に、列ビットの一部をマルチプレクサによ
りシフトさせることが可能である。ビットA[9]に関する
経路指定機能が下記のようにエンコーディングされるも
のと仮定する。
【0076】
【表2】
【0077】更に、
【0078】
【表3】
【0079】1つの列ビットについて各ビットが同じエ
ンコーディングを有している点、及び、各ビットが列ビ
ット及びバンクビットにしかなり得ないもの又はランク
ビットを生成するために使用可能なものである点に留意
されたい。
【0080】図15は、ビットA[9]及び/又はA[10]が
列ビットであるか否かに基づいて列ビットの経路指定を
行う回路108を示している。経路指定レジスタ110は、ア
ドレスビットA[9]に関するエンコーディングを保持し、
経路指定レジスタ112は、アドレスビットA[10]に関する
エンコーディングを保持する。インバータ116及びNO
Rゲート111は、ビットA[9]に関する列マッピングにつ
いて検査を行い、インバータ118及びNORゲート113
は、ビットA[10]に関する列マッピングについて検査を
行う。レジスタ110が、「001」である列ビットに関する
エンコーディングを収容しているものと仮定する。ゲー
ト111の出力は「1」になる。ビットA[9]が、バンクビ
ットにマッピングされ、又はランクビットの生成に使用
される場合には、ゲート111の出力は「0」になる。ビ
ットA[10]に関する列経路指定の存在は、同様の態様で
ゲート113の出力で検出される。
【0081】ゲート111,113の出力はマルチプレクサ114
の選択入力に経路指定される。ゲート111の出力は最下
位ビットであり、ゲート113の出力は最上位ビットであ
る。列ビット4〜10は、マルチプレクサ114の出力から送
り出される。選択ビットに基づき、考え得る4つのマッ
ピングのうちの1つが列ビットに提供される。列ビット
0〜3は、それぞれ、アドレスビットA[5]〜A[8]に直接マ
ッピングされる、という点に留意されたい。
【0082】ビットA[9]及びA[10]は両方とも列ビット
にマッピングされるものと仮定する。マルチプレクサ11
4の選択入力は両方とも「1」になり、マルチプレクサ11
4の入力3は列ビットに経路指定される。従って、アドレ
スビットA[9]〜A[15]は、列ビット4〜10に順次マッピン
グされることになる。
【0083】アドレスビットA[10]は、列ビットに経路
指定されるが、アドレスビットA[9]は、バンクビットに
マッピングされ、又はランクビットの生成を助けるため
に使用される、という点に留意されたい。この経路指定
により、8つの連続キャッシュラインをそれぞれ含む2
ページのキャッシュブロック間でのマルチキャッシュラ
インインターリービングが提供される。マルチプレクサ
114の入力2が選択されると、これにより、全ての列マッ
ピングが、入力3において得られるマッピングから1ア
ドレスビット位置分だけシフトアップされる。従って、
ビットA[9]は、バンクビット又はランクビットとして用
いるために使用可能である。
【0084】アドレスビットA[9]が列ビットに経路指定
されるが、アドレスビットA[10]がバンクビットにマッ
ピングされ、又はランクビットの生成を助けるために用
いられる場合には、16の連続キャッシュラインをそれぞ
れ含む2ページのキャッシュブロック間でのマルチキャ
ッシュラインインターリービングが提供される。マルチ
プレクサ114の入力1が選択されると、これにより、アド
レスビットA[9]が列ビット4にマッピングされ、アドレ
スビットA[11]〜A[16]が列ビット5〜10にそれぞれマッ
ピングされる。
【0085】最後に、ビットA[9]及びA[10]が、バンク
ビットにマッピングされ、又はランクビットの生成を助
けるために使用される場合には、8つの連続キャッシュ
ラインをそれぞれ含む4ページのキャッシュブロック間
でのマルチキャッシュラインインターリービングが提供
される。マルチプレクサ114の入力0が選択される。ビッ
トA[9],A[10]が両方とも列への経路指定に使用すること
が不可能な場合には、全ての列マッピングが2ビット位
置だけシフトアップされる。従って、アドレスビットA
[11]〜A[17]は、列ビット4〜10に順次マッピングされ
る。
【0086】図14の場合にはマルチプレクサ96の出力
1がマルチプレクサ114に経路指定される点に留意された
い。マルチプレクサ96の出力1は、マルチプレクサ114の
入力3には接続されない。マルチプレクサ114の入力1又
は2が選択される場合には、マルチプレクサ96の出力1が
列ビット10に接続される。最後に、マルチプレクサ114
の入力0が選択される場合には、マルチプレクサ96の出
力1が列ビット9に接続される。他のマルチプレクサの出
力の接続は、図10ないし図12に示すビットマッピン
グ、及びマルチプレクサ114の入力及び出力に示すマッ
ピングに従って、論理的に行われる。
【0087】本発明は、先行技術によるアドレスビット
経路指定方式に比べて数多くの利点を提供するものとな
る。例えば、本発明は、異なるタイプ及び構成のメモリ
モジュールに適応する上で大きなフレキシビリティを提
供する。各ランクは、個別に構成することができ、これ
により、多種多様なメモリモジュール構成を本発明によ
るコンピュータシステムに同時に設置することが可能に
なる。
【0088】更に、本発明は、本発明によるコンピュー
タシステムのソケットに設置可能な任意のタイプのメモ
リモジュールについて、キャッシュ効果インターリービ
ング、DRAMページインターリービング、及びマルチ
キャッシュラインインターリービングを提供することを
可能にする。列及び行ビット数が異なるメモリモジュー
ルがメモリソケットに挿入される場合であっても、本発
明により、様々なインターリービング方式をサポートす
るよう各ランクを最適な構成にすることが可能になる。
【0089】一実施例では、本発明により提供される経
路指定機構は極めてコンパクトなものとなる。これによ
り、アドレスビットの経路指定に必要な論理回路の量が
削減されるだけでなく、各アドレスビット経路の決定を
並行して計算することにより処理速度が速くなり、これ
により複数の論理レベルをなくすことが可能になる。
【0090】本発明を好適実施例に関連して説明してき
たが、当業者には明らかなように、本発明の思想及び範
囲から逸脱することなくその形態及び細部に変更を加え
ることが可能である。
【0091】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施例を示す。
【0092】1.マルチキャッシュラインインターリー
ビングを実施するコンピュータシステムであって、メモ
リアクセスを容易にするようMビットアドレスを生成す
るプロセッサであって、該Mビットアドレスのアドレス
ビットが、最下位の0ビットアドレスから最上位のM-1ア
ドレスビットまで昇順に配列されたものである、プロセ
ッサと、Hデータビット幅を有しており、バンクビッ
ト、行ビット、及びL列ビットを介してアドレス指定さ
れる、メインメモリ装置と、前記プロセッサに接続さ
れ、及びメインメモリ装置の内容のサブセットを保持す
る、キャッシュメモリであって、一連のキャッシュライ
ンに構成されており、その各キャッシュラインがQの最
下位アドレスビットにより表される、キャッシュメモリ
と、前記メインメモリ装置と前記キャッシュメモリとの
間に接続されたメモリコントローラであって、該メイン
メモリ装置により必要とされるバンク、行、及び列ビッ
トをアドレスから生成し、H-1アドレスビットよりも上
位でQ+1アドレスビットよりも下位の各アドレスビット
が列ビットにマッピングされ、Qアドレスビットよりも
上位でH+L-1アドレスビットより下位の1つまたは2つ
以上のアドレスビットを用いて1つ又は2つ以上のバン
クビットからなる第1のバンクビットセットが生成さ
れ、Qアドレスビットよりも上位でH+Lアドレスビット
よりも下位の1つ又は2つ以上のアドレスビットが列ビ
ットにマッピングされるようにする、メモリコントロー
ラとを備えていることを特徴とする、コンピュータシス
テム。
【0093】2.バンクビットの一部がランクビットと
して用いられる、前項1に記載のコンピュータシステ
ム。
【0094】3.前記メモリコントローラが、H+L-1ア
ドレスビットのすぐ上位のアドレスビットから1つ又は
2つ以上のバンクビットからなる第2のバンクビットセ
ットを生成し、これによりページインターリービングを
実施する、前項1に記載のコンピュータシステム。
【0095】4.バンクビットの一部がランクビットと
して用いられる、前項3に記載のコンピュータシステ
ム。
【0096】5.前記キャッシュメモリのキャッシュラ
インが、アドレスの索引部分によりアドレス指定される
キャッシュラインからなるキャッシュラインセットに構
成されており、アドレスのタグ部分が各キャッシュライ
ンと関連付けされ、前記メモリコントローラが、アドレ
スのタグ部分からの1つ又は2つ以上のビットから1つ
又は2つ以上のバンクビットからなる第3のバンクビッ
トセットを生成し、これによりキャッシュ効果インター
リービングを実施する、前項3に記載のコンピュータシ
ステム。
【0097】6.バンクビットの一部がランクビットと
して用いられる、前項5に記載のコンピュータシステ
ム。
【0098】7.1つ又は2つ以上のバンクビットから
なる第3のバンクビットセットの生成に用いられるアド
レスのタグ部分からの1つ又は2つ以上のビットが、該
タグ部分の最下位ビットである、前項5に記載のコンピ
ュータシステム。
【0099】8.前記キャッシュメモリのキャッシュラ
インが、アドレスの索引部分によりアドレス指定される
キャッシュラインセットに構成され、アドレスのタグ部
分が各キャッシュラインと関連付けされ、前記メモリコ
ントローラが、アドレスのタグ部分からの1つ又は2つ
以上のビットから1つ又は2つ以上のバンクビットから
なる第2のバンクビットセットを生成し、これによりキ
ャッシュ効果インターリービングを実施する、前項1に
記載のコンピュータシステム。
【0100】9.バンクビットの一部がランクビットと
して用いられる、前項8に記載のコンピュータシステ
ム。
【0101】10.1つ又は2つ以上のバンクビットから
なる第3のバンクビットセットの生成に用いられるアド
レスのタグ部分からの1つ又は2つ以上のビットが、該
タグ部分の最下位ビットである、前項5に記載のコンピ
ュータシステム。
【0102】11.コンピュータシステム中のプロセッサ
により生成されるMビットアドレスを、Hデータビット幅
を有するコンピュータシステムのメインメモリシステム
にアクセスするために用いられるバンクビット、行ビッ
ト、及び、L列ビットへと変換することにより、マルチ
キャッシュインターリービングを実施する方法であっ
て、前記Mビットアドレスが、最下位の0アドレスビット
から最上位のM−1アドレスビットまで昇順に配列された
ものであり、該コンピュータシステムが、前記メインメ
モリシステムの内容のサブセットを保持するキャッシュ
メモリを備えており、該キャッシュメモリが一連のキャ
ッシュラインに構成され、該キャッシュラインの各々が
qの下位アドレスビットにより表される、前記方法であ
って、qアドレスビットよりも上位でh+L-1アドレスビ
ットよりも下位の1つ又は2つ以上のアドレスビットに
基づいて1つ又は2つ以上のバンクビットからなる第1
のバンクビットセットを生成し、h−1アドレスビットよ
りも上位でq+1アドレスビットよりも下位の各アドレス
ビットへ列ビットをマッピングし、qアドレスビットよ
りも上位でh+lアドレスビットよりも下位のアドレスビ
ットへ1つ又は2つ以上の列ビットをマッピングし、行
ビットをアドレスビットへマッピングする、という各ス
テップを有することを特徴とする、前記方法。
【0103】12.バンクビットの一部がランクビットと
して用いられる、前項11に記載の方法。
【0104】13.h+L-1アドレスビットのすぐ上位のア
ドレスビットから1つ又は2つ以上のバンクビットから
なる第2のバンクビットセットを生成し、これによりペ
ージインターリービングを実施する、というステップを
更に有する、前項11に記載の方法。
【0105】14.バンクビットの一部がランクビットと
して用いられる、前項13に記載の方法。
【0106】15.前記キャッシュメモリのキャッシュラ
インが、アドレスの索引部分によりアドレス指定される
キャッシュラインセットに構成され、アドレスのタグ部
分が各キャッシュラインと関連付けされ、1つ又は2つ
以上のバンクビットからなる第3のバンクビットセット
を、アドレスのタグ部分の1つ又は2つ以上のビットか
ら生成し、これによりキャッシュ効果インターリービン
グを実施する、というステップを更に有する、前項13に
記載の方法。
【0107】16.バンクビットの一部がランクビットと
して用いられる、前項15に記載の方法。
【0108】17.前記第3のバンクビットセットの生成
に用いられるアドレスのタグ部分からの1つ又は2つ以
上のビットが該タグ部分の最下位ビットである、前項15
に記載の方法。
【0109】18.前記キャッシュメモリのキャッシュラ
インが、アドレスの索引部分によりアドレス指定される
キャッシュラインセットに構成され、アドレスのタグ部
分が各キャッシュラインと関連付けされ、1つ又は2つ
以上のバンクビットからなる第3のバンクビットセット
をアドレスのタグ部分の1つ又は2つ以上のビットから
生成し、これによりキャッシュ効果インターリービング
を実施する、前項11に記載の方法。
【0110】19.バンクビットの一部がランクビットと
して用いられる、前項18に記載の方法。
【0111】20.前記第3のバンクビットセットの生成
に用いられるアドレスのタグ部分からの1つ又は2つ以
上のビットが該タグ部分の最下位ビットである、前項18
に記載の方法。
【0112】21.メモリアクセスを容易にするようアド
レスを生成し、該アドレスのnのアドレスビットを外部
に供給する、プロセッサと、バンクビット、行ビット、
及び列ビットによりアドレス指定されるメインメモリ装
置と、該メインメモリ装置と前記プロセッサとの間に接
続され、nのアドレスビットの各々に接続された経路指
定ブロックを有する、メモリコントローラであって、該
経路指定ブロックの各々が、経路指定エンコーディング
を格納することが可能な経路指定レジスタと、該経路指
定レジスタに格納されている経路指定エンコーディング
に基づいて、該経路指定ブロックに接続されたアドレス
ビットを、バンクビット、行ビット、又は列ビットのう
ちの任意のものに経路指定することが可能な、マルチプ
レクサブロックとを備えている、メモリコントローラと
を備えていることを特徴とする、コンピュータシステ
ム。
【0113】22.前記メインメモリ装置が、ランクビッ
トによってもアドレス指定され、前記メモリコントロー
ラが、各ランクビットに関連するランクビット生成装置
であって、該ランクビット生成装置の各々が、nのアド
レスビットの任意の組み合わせを選択することが可能な
アドレス-ランク選択レジスタと、表明されるべきラン
クビット生成装置に関連するランクビットについて、選
択されたビットにおいて発見されることを必要とする値
を示すことが可能な、アドレス-ランク値レジスタとを
備えており、各アドレスビットが、アドレス-ランク値
レジスタ中のビットに関連する値を有している場合に、
ランクビットが表明される、ランクビット生成装置を更
に備えている、前項21に記載のコンピュータシステム。
【0114】23.プロセッサにより提供されたnのアド
レスビットを、メインメモリ装置にアクセスするために
必要なバンク、行、及び列ビットへとマッピングする方
法であって、nのアドレスビットの各々について経路指
定レジスタにアクセスして経路指定エンコーディングを
取り出し、該経路指定エンコーディングに基づいて、各
アドレスビットをバンクビット、行ビット、又は列ビッ
トへと経路指定する、という各ステップを有することを
特徴とする、前記方法。
【0115】24.前記メインメモリ装置がランクビット
によってもアドレス指定され、生成されるべき各ランク
ビット毎にアドレス-ランク選択レジスタにアクセス
し、該アドレス-ランク選択レジスタが、アドレス-ラン
ク選択レジスタに関連するランクビットを生成する際
に、考慮すべきアドレスビットを識別し、生成されるべ
き各ランクビット毎にアドレス-ランク値レジスタにア
クセスし、該アドレス-ランク値レジスタが、アドレス-
ランク選択レジスタ及びアドレス-ランク値レジスタに
関連するランクビットを生成する際に、考慮するよう選
択されたアドレスビットにおいて発見されることを必要
とする値を示し、ランクビットに関連するアドレス-ラ
ンク選択レジスタにより選択されたアドレスビットの値
が、ランクビットに関連するアドレス-ランク値レジス
タに格納されている対応する値と一致する場合に、各ラ
ンクビットを表明する、という各ステップを更に有す
る、前項23に記載の方法。
【0116】25.メモリアクセスを容易にするようアド
レスビットを生成するプロセッサと、バンクビット、行
ビット、及び列ビットによりアドレス指定されるメイン
メモリ装置と、前記メインメモリ装置と前記プロセッサ
との間に接続されたメモリコントローラであって、バン
クビット、行ビット、及び列ビットをアドレスビットか
ら生成して、マルチキャッシュラインインターリービン
グ、ページインターリービング、及びキャッシュ効果イ
ンターリービングから成るセットのうちの少なくとも2
つのインターリービング方式を実施する、メモリコント
ローラとを備えていることを特徴とする、コンピュータ
システム。
【0117】26.前記メモリ装置がランクビットによっ
てもアクセスされ、前記メモリコントローラがアドレス
ビットからランクビットも生成する、前項25に記載のコ
ンピュータシステム。
【0118】27.バンクビット、行ビット、及び列ビッ
トによりアドレス指定されるメインメモリ装置に対する
メモリアクセスを容易にするようプロセッサにより生成
されるアドレスビットの経路指定を行う方法であって、
アドレスビットからバンクビット、行ビット、及び列ビ
ットを生成して、マルチキャッシュラインインターリー
ビング、ページインターリービング、及びキャッシュ効
果インターリービングから成るセットのうちの少なくと
も2つのインターリービング方式を実施するステップを
有することを特徴とする、前記方法。
【0119】28.前記メモリ装置が、ランクビットによ
ってもアクセスされ、バンクビット、行ビット、及び列
ビットをアドレスビットから生成して、マルチキャッシ
ュラインインターリービング、ページインターリービン
グ、及びキャッシュ効果インターリービングから成るセ
ットのうちの少なくとも2つのインターリービング方式
を実施するステップが、アドレスビットからランクビッ
トを生成するステップを有している、前項27に記載のコ
ンピュータシステム。
【0120】29.メモリアクセスを容易にするようMビ
ットアドレスを生成するプロセッサであって、該Mビッ
トアドレスのアドレスビットが、最下位の0ビットアド
レスから最上位のM−1アドレスビットまで昇順に配列さ
れたものである、プロセッサと、Hデータビット幅を有
するメインメモリ装置であって、Jバンクビット、K行ビ
ット、及び少なくともLであってP(P>L+1)以下であ
る列ビットを介してアドレス指定されるメモリモジュー
ルをサポートすることが可能なメモリソケットを備えて
いる、メインメモリ装置と、前記メインメモリ装置と前
記プロセッサとの間に接続されたメモリコントローラで
あって、L+Hビットよりも上位でP+Hビットよりも下位
のアドレスビットを、少なくとも1であってJ未満のバン
クビットと少なくとも1でJ未満の行ビットと少なくとも
1でP未満の列ビットとから成る縮小されたセットのうち
の1つに経路指定することが可能な、縮小された経路指
定機能を備えている、メモリコントローラとを備えてい
ることを特徴とする、コンピュータシステム。
【0121】30.メモリアクセスを容易にするようMビ
ットアドレスを生成するプロセッサであって、該Mビッ
トアドレスのアドレスビットが、最下位の0ビットアド
レスから最上位のM−1アドレスビットまで昇順に配列さ
れたものである、プロセッサと、該プロセッサに接続さ
れたキャッシュメモリであって、メインメモリ装置の内
容のサブセットを保持し、アドレスの索引部分によりア
ドレス指定されるキャッシュラインセットに構成されて
おり、アドレスのタグ部分が各キャッシュラインに関連
している、キャッシュメモリと、hデータビット幅を有
し、Jバンクビット、K行ビット、及び、列ビットを介し
てアドレス指定される、メインメモリ装置と、前記メイ
ンメモリ装置と前記キャッシュメモリとの間に接続され
たメモリコントローラであって、少なくとも1でJ未満
のバンクビットと少なくとも1でJ未満のバンクビットと
を有する縮小されたセットのうちの1つに対してアドレ
スのタグ部分からのアドレスビットを経路指定すること
が可能な縮小された経路指定機能を備えた、メモリコン
トローラとを備えていることを特徴とする、コンピュー
タシステム。
【0122】31.メモリアクセスを容易にするよう少な
くとも32ビット幅のアドレスを生成するプロセッサと、
該プロセッサに接続されたキャッシュメモリであって、
メインメモリ装置の内容のサブセットを保持し、アドレ
スの索引部分によりアドレス指定されるキャッシュライ
ンセットに構成されており、アドレスのタグ部分が各キ
ャッシュラインに関連している、キャッシュメモリと、
Hデータビット幅を有し、3つまでのバンクビット、K〜
K+3の行ビット、及びL〜L+3の列ビットを介してアド
レス指定されるメモリモジュールをサポートすることが
可能なメモリソケットを備えている、メインメモリ装置
と、前記メインメモリ装置と前記キャッシュメモリとの
間に接続されたメモリコントローラであって、対応する
複数のアドレスビットの経路指定を行うことが可能な複
数の縮小された経路指定機能を有しており該縮小経路指
定機能に関するエンコーディングに4ビット以上を必要
としないようになっており、マルチキャッシュインター
リービング、キャッシュ効果インターリービング、及び
ページインターリービングからなるセットのうちの少な
くとも2つのインターリービング戦略を実施する、メモ
リコントローラとを備えていることを特徴とする、コン
ピュータシステム。
【0123】32.複数の縮小された経路指定機能の各々
は、該縮小経路指定に関連するアドレスビットがランク
ビットの生成に関与するか否かを示すこと、及び該縮小
された経路指定機能に関連するアドレスビットが表明さ
れるべきランクビットに関してとらなければならない値
を示すことも可能である、前項31に記載のコンピュータ
システム。
【図面の簡単な説明】
【図1】2,048行及び2,048列を有する4メガビットメモ
リアレイをベースとした典型的な先行技術によるメモリ
チップを示すブロック図である。
【図2】本発明によるビット経路指定機構を有するコン
ピュータシステムを示す説明図である。
【図3】図2のコンピュータシステムのメモリソケット
を一層詳細に示す説明図である。
【図4】ランク、バンク、行、及び列ビットへのアドレ
スビットの経路指定を受け持つ図2のコンピュータシス
テムのメモリコントローラの一部を示す説明図である。
【図5】ランク選択ビット生成回路を示す説明図であ
る。
【図6】任意のバンク、行、又は列ビットへのアドレス
ビットの経路指定に必要なアドレスビット経路指定回路
を示す説明図である。
【図7】64ビット幅のアドレスを有するコンピュータシ
ステムの論理アドレスマップを示す説明図である。
【図8】コンピュータシステム中のキャッシュメモリの
構成を示す説明図である。
【図9】コンピュータシステム中の物理メモリの構成を
示す説明図である。
【図10】本発明による縮小された経路指定機能を有す
るアドレスビット経路指定を示す説明図である(1/
3)。
【図11】本発明による縮小された経路指定機能を有す
るアドレスビット経路指定を示す説明図である(2/
3)。
【図12】本発明による縮小された経路指定機能を有す
るアドレスビット経路指定を示す説明図である(3/
3)。
【図13】図10ないし図12に示すアドレスビット経
路指定によるランクビットの生成に必要な回路を示す回
路図である。
【図14】図10ないし図12に示すアドレスビット経
路指定のうちの1つを実施するために必要な回路を示す
回路図である。
【図15】図10ないし図12に示すアドレスビット経
路指定による列ビットの経路指定に必要な回路を示す回
路図である。
【符号の説明】
18 コンピュータシステム 20 CPU 22 レベル2キャッシュメモリ装置 24 メモリコントローラ 26 メモリソケット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スコット・ピケスリー アメリカ合衆国コロラド州80525,フォー ト・コリンズ,ストニー・クリーク・ドラ イヴ・4418

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】マルチキャッシュラインインターリービン
    グを実施するコンピュータシステムであって、 メモリアクセスを容易にするようMビットアドレスを生
    成するプロセッサであって、該Mビットアドレスのアド
    レスビットが、最下位の0ビットアドレスから最上位のM
    -1アドレスビットまで昇順に配列されたものである、プ
    ロセッサと、 Hデータビット幅を有しており、バンクビット、行ビッ
    ト、及びL列ビットを介してアドレス指定される、メイ
    ンメモリ装置と、 前記プロセッサに接続され、及びメインメモリ装置の内
    容のサブセットを保持する、キャッシュメモリであっ
    て、一連のキャッシュラインに構成されており、その各
    キャッシュラインがQの最下位アドレスビットにより表
    される、キャッシュメモリと、 前記メインメモリ装置と前記キャッシュメモリとの間に
    接続されたメモリコントローラであって、該メインメモ
    リ装置により必要とされるバンク、行、及び列ビットを
    アドレスから生成し、H-1アドレスビットよりも上位でQ
    +1アドレスビットよりも下位の各アドレスビットが列
    ビットにマッピングされ、Qアドレスビットよりも上位
    でH+L-1アドレスビットより下位の1つまたは2つ以上
    のアドレスビットを用いて1つ又は2つ以上のバンクビ
    ットからなる第1のバンクビットセットが生成され、Q
    アドレスビットよりも上位でH+Lアドレスビットよりも
    下位の1つ又は2つ以上のアドレスビットが列ビットに
    マッピングされるようにする、メモリコントローラとを
    備えていることを特徴とする、コンピュータシステム。
JP10303740A 1997-10-31 1998-10-26 様々なdramバンクサイズと複数のインターリービング機構とをサポートする高速でコンパクトなアドレスビット経路指定機構 Pending JPH11265315A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US962490 1997-10-31
US08/962,490 US6108745A (en) 1997-10-31 1997-10-31 Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes

Publications (1)

Publication Number Publication Date
JPH11265315A true JPH11265315A (ja) 1999-09-28

Family

ID=25505941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10303740A Pending JPH11265315A (ja) 1997-10-31 1998-10-26 様々なdramバンクサイズと複数のインターリービング機構とをサポートする高速でコンパクトなアドレスビット経路指定機構

Country Status (2)

Country Link
US (1) US6108745A (ja)
JP (1) JPH11265315A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175216A (ja) * 2000-09-29 2002-06-21 Intel Corp 行及び列コマンドを同時供給するためのシステム及び方法
JP2008016024A (ja) * 2006-06-30 2008-01-24 Seagate Technology Llc キャッシュされたデータのダイナミック適応フラッシング
JP2008046989A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd メモリ制御装置
CN109783395A (zh) * 2017-11-15 2019-05-21 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778106A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd データ処理システム
EP0931290A1 (en) * 1997-03-21 1999-07-28 International Business Machines Corporation Address mapping for system memory
US6272594B1 (en) * 1998-07-31 2001-08-07 Hewlett-Packard Company Method and apparatus for determining interleaving schemes in a computer system that supports multiple interleaving schemes
US6389514B1 (en) * 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
US6477613B1 (en) * 1999-06-30 2002-11-05 International Business Machines Corporation Cache index based system address bus
US6366983B1 (en) * 1999-09-14 2002-04-02 Intel Corporation Method and system for symmetric memory population
US6449706B1 (en) * 1999-12-22 2002-09-10 Intel Corporation Method and apparatus for accessing unaligned data
US6622201B1 (en) * 2000-01-28 2003-09-16 Advanced Micro Devices, Inc. Chained array of sequential access memories enabling continuous read
US6480943B1 (en) * 2000-04-29 2002-11-12 Hewlett-Packard Company Memory address interleaving and offset bits for cell interleaving of memory
US6928520B2 (en) * 2000-04-30 2005-08-09 Hewlett-Packard Development Company, L.P. Memory controller that provides memory line caching and memory transaction coherency by using at least one memory controller agent
JP2001338497A (ja) * 2000-05-24 2001-12-07 Fujitsu Ltd メモリ試験方法
DE10034854A1 (de) * 2000-07-18 2002-02-14 Infineon Technologies Ag Verfahren und Vorrichtung zur Erzeugung digitaler Signalmuster
JP2002063069A (ja) * 2000-08-21 2002-02-28 Hitachi Ltd メモリ制御装置、データ処理システム及び半導体装置
US6493814B2 (en) * 2001-03-08 2002-12-10 International Business Machines Corporation Reducing resource collisions associated with memory units in a multi-level hierarchy memory system
US6625081B2 (en) 2001-08-13 2003-09-23 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
AU2003256468A1 (en) * 2002-07-09 2004-01-23 Globespanvirata Incorporated Method and system for improving access latency of multiple bank devices
US7159066B2 (en) * 2002-08-27 2007-01-02 Intel Corporation Precharge suggestion
DE10343525B4 (de) * 2002-09-27 2011-06-16 Qimonda Ag Verfahren zum Betreiben von Halbleiterbausteinen, Steuervorrichtung für Halbleiterbausteine und Anordnung zum Betreiben von Speicherbausteinen
KR100506448B1 (ko) * 2002-12-27 2005-08-08 주식회사 하이닉스반도체 불휘발성 강유전체 메모리를 이용한 인터리브 제어 장치
US6961281B2 (en) * 2003-09-12 2005-11-01 Sun Microsystems, Inc. Single rank memory module for use in a two-rank memory module system
US8250295B2 (en) * 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US7289386B2 (en) 2004-03-05 2007-10-30 Netlist, Inc. Memory module decoder
US7916574B1 (en) 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US7532537B2 (en) * 2004-03-05 2009-05-12 Netlist, Inc. Memory module with a circuit providing load isolation and memory domain translation
KR100608913B1 (ko) * 2004-11-10 2006-08-09 한국전자통신연구원 직교주파수분할다중(ofdm) 송신기에서의 인터리빙장치 및 방법
US7272699B2 (en) * 2004-11-12 2007-09-18 International Business Machines Corporation Flexible sub-column to sub-row mapping for sub-page activation in XDR™ DRAMs
US7287145B1 (en) * 2004-12-13 2007-10-23 Nvidia Corporation System, apparatus and method for reclaiming memory holes in memory composed of identically-sized memory devices
US8443162B2 (en) * 2005-01-21 2013-05-14 Qualcomm Incorporated Methods and apparatus for dynamically managing banked memory
KR100712505B1 (ko) * 2005-02-12 2007-05-02 삼성전자주식회사 메모리 어드레스 생성회로 및 이를 구비하는 메모리 콘트롤러
US7339840B2 (en) * 2005-05-13 2008-03-04 Infineon Technologies Ag Memory system and method of accessing memory chips of a memory system
US7184360B2 (en) * 2005-06-15 2007-02-27 Infineon Technologies, Ag High-speed interface circuit for semiconductor memory chips and memory system including semiconductor memory chips
US7475192B2 (en) * 2005-07-12 2009-01-06 International Business Machines Corporation Cache organization for power optimized memory access
WO2007102920A2 (en) * 2005-12-20 2007-09-13 University Of Maryland, Baltimore Method and apparatus for accelerated elastic registration of multiple scans of internal properties of a body
US8078791B1 (en) * 2007-04-16 2011-12-13 Juniper Networks, Inc. Ordering refresh requests to memory
US8006032B2 (en) * 2007-08-22 2011-08-23 Globalfoundries Inc. Optimal solution to control data channels
US8154901B1 (en) 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
US8417870B2 (en) 2009-07-16 2013-04-09 Netlist, Inc. System and method of increasing addressable memory space on a memory board
US8516185B2 (en) 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8972620B2 (en) * 2010-07-02 2015-03-03 Dell Products L.P. Methods and systems to simplify population of modular components in an information handling system
WO2014183287A1 (en) 2013-05-16 2014-11-20 Advanced Micro Devices, Inc. Memory system with region-specific memory access scheduling
EP3629123B1 (en) 2013-07-27 2021-02-24 Netlist, Inc. Memory module with local synchronization
GB2519349B (en) 2013-10-18 2018-06-27 Stmicroelectronics Grenoble2 Sas Method and apparatus for supporting the use of interleaved memory regions
US9837135B2 (en) * 2016-03-03 2017-12-05 Samsung Electronics Co., Ltd. Methods for addressing high capacity SDRAM-like memory without increasing pin cost
US11275582B2 (en) 2017-01-06 2022-03-15 Montana Systems Inc. Event-driven design simulation
US10747930B2 (en) 2016-03-04 2020-08-18 Montana Systems Inc. Event-driven design simulation
US10268478B2 (en) 2016-03-04 2019-04-23 Montana Systems Inc. Event-driven design simulation
US10789405B2 (en) 2016-03-04 2020-09-29 Montana Systems Inc. Event-driven design simulation
US10565335B2 (en) 2016-03-04 2020-02-18 Montana Systems Inc. Event-driven design simulation
US9971691B2 (en) * 2016-09-12 2018-05-15 Intel Corporation Selevtive application of interleave based on type of data to be stored in memory
CN108604206B (zh) * 2016-11-23 2021-10-22 华为技术有限公司 一种内存分配方法和设备
US10755014B2 (en) 2018-03-14 2020-08-25 Montana Systems Inc. Event-driven design simulation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390308A (en) * 1992-04-15 1995-02-14 Rambus, Inc. Method and apparatus for address mapping of dynamic random access memory
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5890221A (en) * 1994-10-05 1999-03-30 International Business Machines Corporation Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
US5761695A (en) * 1995-09-19 1998-06-02 Hitachi, Ltd. Cache memory control method and apparatus, and method and apparatus for controlling memory capable of interleave control
US5745913A (en) * 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175216A (ja) * 2000-09-29 2002-06-21 Intel Corp 行及び列コマンドを同時供給するためのシステム及び方法
JP2008016024A (ja) * 2006-06-30 2008-01-24 Seagate Technology Llc キャッシュされたデータのダイナミック適応フラッシング
JP2008046989A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd メモリ制御装置
US8706945B2 (en) 2006-08-18 2014-04-22 Fujitsu Limited Memory control device
CN109783395A (zh) * 2017-11-15 2019-05-21 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备
CN109783395B (zh) * 2017-11-15 2023-03-31 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备

Also Published As

Publication number Publication date
US6108745A (en) 2000-08-22

Similar Documents

Publication Publication Date Title
JPH11265315A (ja) 様々なdramバンクサイズと複数のインターリービング機構とをサポートする高速でコンパクトなアドレスビット経路指定機構
JP3715837B2 (ja) バンク・ビット割り当て方法
US6070227A (en) Main memory bank indexing scheme that optimizes consecutive page hits by linking main memory bank address organization to cache memory address organization
US5519664A (en) Dynamic random access memory persistent page implemented as processor register sets
US5111386A (en) Cache contained type semiconductor memory device and operating method therefor
US4803621A (en) Memory access system
US6389514B1 (en) Method and computer system for speculatively closing pages in memory
US5226147A (en) Semiconductor memory device for simple cache system
US5590078A (en) Method of and apparatus for improved dynamic random access memory (DRAM) providing increased data bandwidth and addressing range for current DRAM devices and/or equivalent bandwidth and addressing range for smaller DRAM devices
US5025421A (en) Single port dual RAM
US4894770A (en) Set associative memory
US6442098B1 (en) High performance multi-bank compact synchronous DRAM architecture
US7340584B2 (en) Sequential nibble burst ordering for data
US8730759B2 (en) Devices and system providing reduced quantity of interconnections
EP0549139A1 (en) Programmable memory timing
JPH02297791A (ja) メモリ・サブシステム
KR20010093642A (ko) 개선된 메모리 시스템 장치 및 방법
JP4199658B2 (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
US5329489A (en) DRAM having exclusively enabled column buffer blocks
US7840744B2 (en) Rank select operation between an XIO interface and a double data rate interface
US6535966B1 (en) System and method for using a page tracking buffer to reduce main memory latency in a computer system
US6459647B1 (en) Split-bank architecture for high performance SDRAMs
JP2000268560A (ja) 半導体集積回路装置
US6101579A (en) Multi-port memory device having masking registers
US7634623B2 (en) Method and apparatus for self-timed data ordering for multi-data rate memories and system incorporating same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090707