JPH11265316A - メモリシステムおよびメモリシステムにアクセスするための方法 - Google Patents
メモリシステムおよびメモリシステムにアクセスするための方法Info
- Publication number
- JPH11265316A JPH11265316A JP10305863A JP30586398A JPH11265316A JP H11265316 A JPH11265316 A JP H11265316A JP 10305863 A JP10305863 A JP 10305863A JP 30586398 A JP30586398 A JP 30586398A JP H11265316 A JPH11265316 A JP H11265316A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- memory
- port
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 304
- 238000000034 method Methods 0.000 title claims description 14
- 239000004744 fabric Substances 0.000 claims description 89
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 5
- 210000004027 cell Anatomy 0.000 description 81
- 239000000872 buffer Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 22
- 210000004271 bone marrow stromal cell Anatomy 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 101000772194 Homo sapiens Transthyretin Proteins 0.000 description 1
- 102100029290 Transthyretin Human genes 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System (AREA)
- Image Processing (AREA)
Abstract
供する。 【解決手段】 メモリシステムは複数のメモリ110_
UL,UR,DL,DRと、複数のアドレスバスmAd
dr_U,Dと、複数のデータバスData_L,Rと
を含む。少なくとも1つのデータバスは異なるアドレス
バスに接続されたメモリに接続される。各メモリはパイ
プライン化された読出動作を可能にし、データが1つの
読出動作内で読出される場合に別の読出のためのアドレ
スをメモリに提供できるようにする。いくつかの実施例
では、複数のメモリはミラーイメージメモリの組にさら
に分けられる。各組においてすべてのメモリは同じデー
タを記憶する。メモリのうちの1つに記憶されるデータ
の同時の読出アクセスが望ましい場合、読出アクセスを
ミラーメモリに対して行なうことができる。
Description
ステムとメモリにアクセスするための方法とに関する。
するため、データ処理システムのいくつかはマルチポー
トメモリを用いる。異なるポートを通して複数のアクセ
ス動作が並行して行なわれ、スループットを増加する。
しかしながら、メモリの費用はポートの数に伴って増加
する。そのため、高いスループットを得ながらもポート
の数がより少ないメモリを用いることが望ましい。さら
に、マルチポートメモリを備えたメモリシステムにおい
ては、別個のアドレスバスおよびデータバスが各ポート
に対して用いられる。メモリシステムにおけるアドレス
バスおよびデータバスの数を減少するのが望ましい。
ングを用いるメモリにおいてアドレスおよびデータバス
の利用率を増すこともまた好ましい。このようなメモリ
には高速シンクロナスSRAM(スタティックランダム
アクセスメモリ)が含まれる。読出動作および書込動作
に対するタイミングが異なるため、メモリが書込動作か
ら読出動作へ、または読出から書込へ切換えられる際、
アドレスまたはデータバス利用率ペナルティが生じる。
このようなペナルティを減少する、またはなくすことが
望ましい。
せて、1ポート当りの費用を増すことなくポートの数を
増加することにより、無閉塞ATM(非同期転送モー
ド)スイッチまたはその他のスイッチを得られるように
するメモリシステムを提供することもまた望ましい。
のアクセス動作を並行して行なうことができるようにす
るメモリシステムが提供される。いくつかの実施例では
読出および書込動作のためのタイミングが異なるメモリ
を用いる。特に、いくつかの実施例では、メモリシステ
ム内の各メモリはパイプライン化された読出アクセスを
可能にし、ある読出動作内においてデータがメモリから
読出される際に、他の読出サイクル動作のための読出ア
ドレスがメモリに提供されるようにする。しかしなが
ら、書込動作においては、アドレスとデータとはメモリ
に同時に提供される。(高速シンクロナスSRAMのい
くつかはそのようなタイミングを有する。)そのため、
メモリが書込から読出へ、または読出から書込へ切換え
られる際、メモリアドレスまたはデータポートに関して
利用率ペナルティが存在する。しかしながら、この発明
のいくつかの実施例では、メモリシステムのデータバス
に関してはペナルティは生じない。いくつかの実施例で
は、アドレスバスに関してもペナルティが生じない。さ
らに、個々のメモリの各々におけるポートの数が減少さ
れる。いくつかの実施例では、各メモリは単一ポートメ
モリである。データバスの数もまた、異なるポートの間
でデータバスを共有させることによって減少される。い
くつかの実施例では、アドレスバスもまた共有させるこ
とによってその数が減少される。
て、異なるデータバスに接続されたデータポートに対応
する異なるアドレスポートに1つのアドレスバスを接続
することによって、および/または異なるアドレスバス
に接続されたアドレスポートに対応する異なるデータポ
ートに1つのデータバスを接続することによって達成さ
れる。いくつかの実施例では、アドレスバスおよびデー
タバスの各組合せを用いて別個のメモリにアクセスする
ことができる。
モリ110_UL、110_UR、110_DL、11
0_DR(図1)が示される。アドレスバスmAddr
_Uはメモリ110_URおよび110_ULのアドレ
スポートに接続され、アドレスバスmAddr_Dはメ
モリ110_DRおよび110_DLのアドレスポート
に接続される。データバスData_Lはメモリ110
_ULおよび110_DLのデータポートに接続され、
データバスData_Rはメモリ110_URおよび1
10_DRのデータポートに接続される。
から、4つのメモリ110のうちの1つにアクセスする
ことができる。
チファブリックから構成されるATM(非同期転送モー
ド)スイッチなど、任意のフロースイッチ内の共有メモ
リである。2つのアドレスバスおよび2つのデータバス
のため、書込および読出を並行して行なうことが可能で
ある。各クロックサイクルにおいて、あるATMセルは
送信前に記憶のためスイッチファブリックのうちの1つ
によってメモリ110のうちの1つに書込まれ、別のセ
ルは送信のためメモリのうちの別の1つから別のファブ
リックにより読出される。セルは書込動作に対して利用
可能であるどのメモリにも書込むことができる。各スイ
ッチファブリックは同じ数のポートを有する。そのた
め、スイッチファブリックが組合わされると、ポートの
数は2倍になる。しかしながら、ポート当りの費用は単
一のスイッチファブリックと同程度である。
可能にするシンクロナスSRAMである。読出動作レー
テンシは2クロックサイクルであり、1サイクルはアド
レスのためであり、もう1サイクルはデータのためであ
る。書込動作レーテンシは1サイクルである。しかしな
がら、アドレスバスの双方およびデータバスの双方を各
サイクルにおいて用いることができる。バス利用率ペナ
ルティは以下のように回避される。
レスバスおよび1つのデータバスを読出動作により用い
てもよい。(より特定的には、各クロックサイクルで
は、1つのアドレスバス上にこのサイクルにおいて開始
される読出動作のためのアドレスを乗せ、1つのデータ
バスにその前のサイクルにおいて開始された読出動作の
ためのデータを乗せることができる。)そのため、各ク
ロックサイクルにおいて1つのアドレスバスおよび1つ
のデータバスが書込動作に利用可能となっている。利用
率ペナルティは生じない。
2つのデータバス、4つのメモリ、または読出もしくは
書込のために必要ないかなる特定の数のクロックサイク
ルにも限定されない。
ミラーイメージメモリが提供される。いくつかのそのよ
うな実施例では、複数の読出が並行して起こり得る。そ
のため、いくつかの実施例は、2つの読出および2つの
書込を並行して行なうことのできるATMスイッチにお
いて用いられる。同時に読出すべき2つのセルが同じメ
モリ内に記憶されている場合、それらはまたそのメモリ
のミラーイメージに記憶されており、このため各セルは
異なるメモリから読出すことができる。すなわち、各メ
モリが単一ポートメモリであったとしても、2つのセル
を同時に読出すことができる。
ときには、そのメモリのミラーイメージにも書込まれ
る。
2つ以上のミラーイメージが提供される。たとえば、実
施例によっては、スイッチは同時に4つのセルを読むこ
とができ、各メモリは3つのミラーイメージメモリを有
し、4つのメモリすべてが同じデータを記憶するように
する。各メモリは単一ポートメモリである。同時に読出
すべき2つ以上のセルが同じメモリに記憶されている場
合、これらのセルは互いにミラーイメージである異なる
メモリから読出される。これに代えて、いくつかの実施
例では、各メモリはただ1つのミラーイメージしか有さ
ないが、各メモリにはポートが2つあり、したがって同
じメモリに記憶された4つのセルをメモリおよびそのミ
ラーイメージから同時に読出すことができる。
のメモリによってもパイプライン化された読出または書
込動作ができない。たとえば、各メモリが非同期SRA
Mである場合である。他の実施例ではパイプライン化さ
れた読出、パイプライン化された書込、またはその両方
が可能である。
数のアクセスを行なう無閉塞ATMスイッチを、各々が
どの所与の時点においてもたかだか1つの共有メモリア
クセスしかしないスイッチファブリックから容易に構成
することが可能となる。
ークに限定されるものではない。この発明の他の特徴お
よび利点を以下に説明する。この発明は添付の特許請求
の範囲により規定される。
(「UL」は図1におけるメモリの位置に対応する「左
上」を表わす)、メモリ110_DL(「左下」または
左下方)、メモリ110_UR(「右上」)およびメモ
リ110_DR(「右下」または右下方)を含む高性能
メモリシステムを示す。これらの4つのメモリ110は
単一ポートメモリである。4つのメモリ110は、2つ
のアドレスバスmAddr_U、mAddr_Dおよび
2つのデータバスData_L、Data_Rを共有す
る。アドレスバスmAddr_Uはメモリ110_UL
および110_URのアドレス入力に接続される。アド
レスバスmAddr_Dはメモリ110_DLおよび1
10_DRのアドレス入力に接続される。データバスD
ata_Lはメモリ110_ULおよび110_DLの
データポートに接続される。データバスData_Rは
メモリ110_URおよび110_DRのデータポート
に接続される。
組合せを用いても4つのメモリのうちの1つにアクセス
することができる。たとえば、アドレスバスmAddr
_UおよびデータバスData_Lはメモリ110_U
Lへのアクセスをもたらし、アドレスバスmAddr_
DおよびデータバスData_Rはメモリ110_DR
へのアクセスをもたらす。2つのアドレスバスおよび2
つのデータバスが存在するため、同時に2つのメモリア
クセスを進行させることができる。特に、読出および書
込を同時に進行できる。さらに、以下に説明するよう
に、メモリシステムには4つのメモリが含まれるため、
4つのメモリが読出および書込動作に対して異なる数の
サイクルを用いていたとしても、4つのメモリのうちの
いずれか1つからの読出と4つのメモリのうちの別の1
つへの書込とを各クロックサイクルごとに行なうことが
できる。
共有メモリシステムを形成する。スイッチ118は2つ
のスイッチファブリック122.1、122.2から作
られており、単一のスイッチファブリックの2倍の帯域
幅およびポート数を有する。各スイッチファブリック1
22は64個のポート(スイッチファブリック122.
1においてポート0−63、スイッチファブリック12
2.2においてポート64−127)を含む。スイッチ
118は無閉塞である。すなわち、ポート0−127の
うちのいずれか1つで受け取ったセルはポート0−12
7のうちのいずれか1つまたは2つ以上のポートへ送る
ことができる。
ルを示す。スイッチサイクルはクロックサイクル0−1
35を含む。クロックサイクルの数は上に示される。ク
ロックサイクル0−67はスイッチファブリック12
2.1の入力フェーズであり、スイッチファブリック1
22.2の出力フェーズである。クロックサイクル68
−135はスイッチファブリック122.1の出力フェ
ーズであり、スイッチファブリック122.2の入力フ
ェーズである。スイッチファブリックはその入力フェー
ズにおいてメモリ110からATMセルペイロードをメ
モリバッファ130へ読む。(セルヘッダは図示されて
いない異なるメモリに記憶される。)スイッチファブリ
ックはその出力フェーズにおいてセルペイロードをバッ
ファ130からメモリ110へ書く。スイッチファブリ
ックの入力および出力フェーズは、ここに引用により援
用される1995年8月8日発行の米国特許第5,44
0,523号と、ここに引用により援用される1997
年2月20日公開のPCT公開公報WO97/0648
9とに記載される。
3に、より詳しく示される。サイクル68−135は図
4に、より詳しく示される。
イッチファブリック122.1は「r0」で表わされる
ように、メモリ110のうちの1つからポート0上に送
るべきセルペイロードを読む。同じサイクルにおいて、
スイッチファブリック122.2は「w64」で表わさ
れるように、別のメモリ110にポート64上で受け取
ったセルペイロードを書く。同様に、クロックサイクル
1では、セルペイロードがポート1に対して読出され
(「r1」)、ポート65上で受け取られたセルペイロ
ードが書かれる(「w65」)。サイクル63の終わり
までには、64個のセル(すなわちセルペイロード)が
ポート0−63に対して読出され、ポート64−127
上で受け取られたセルが書かれている。
CPUcpu0−cpu3(図示せず)を含む。スイッ
チファブリック122.2は4つのCPUcpu4−c
pu7(図示せず)を含む。サイクル64−67におい
て、スイッチファブリック122.1はメモリ110か
らそれぞれ対応のCPUcpu0−cpu3へ送るため
の4つのセルを読み、スイッチファブリック122.2
はそれぞれ対応のCPUcpu4−cpu7から受け取
った4つのセルをメモリ110に書く。
ッチファブリック122.1はポート0−63およびC
PUcpu0−cpu3から受け取ったセルをメモリ1
10に書く。同じサイクルにおいて、スイッチファブリ
ック122.2はポート64−127およびCPUcp
u4−cpu7へ送るべきセルを読む。
の一時的な記憶のため、どのメモリ110に書いてもよ
い。しかしながら、セルが送られる際、そのセルはそれ
が記憶されたメモリから読まれなければならない。その
ため、各クロックサイクルごとに、スイッチ118は4
つのメモリ110のうちのどれをそのクロックサイクル
の間に読むべきであるかを決定する。(読むべきメモリ
は送信すべきセルを記憶しているメモリである。)次
に、スイッチは同じクロックサイクルにおいて書込むべ
き異なるメモリ110を選択する。
は読出動作が書込動作とは異なる数のクロックサイクル
を要するシンクロナスSRAMである。シンクロナスS
RAMは高速であるという利点がある。さらに、読出動
作はパイプライン化されている。しかしながら、図5に
示されるように、読出および書込動作のタイミングの差
はメモリバスの利用率ペナルティにつながる。図5で
は、読出動作は2クロックサイクルを要し、書込動作は
1クロックサイクルを要する。図5のクロックサイクル
1では、書込動作Wr1が実行される。アドレスはメモ
リのアドレス入力Aに書かれ、データはデータポートD
に書かれる。次に、読出動作Rd2がサイクル2および
サイクル3において実行され、別の読出動作Rd3がサ
イクル3およびサイクル4において実行される。特に、
サイクル2では、Rd2アドレスがアドレス入力に供給
される。サイクル3では、Rd2データがデータポート
へ読出され、Rd3アドレスがアドレス入力に供給され
る。サイクル4では、Rd3データがデータポートへ読
出される。サイクル5では、別の書込Wr4が実行され
る。図5のメモリはアイダホ州(Idaho )のマイクロン
・コーポレイション(Micron Corporation)製造の部品
番号MT 58LC64K36/B3、MT58LC1
28K18/B3、またはMT 58LC64K18/
B3である。メモリはフロースルーモードで用いられ
る。
書込から読出への切換は1サイクルのペナルティを伴
う。データポートに関しては、1サイクルペナルティが
書込動作Wr1と読出動作Rd2との間に見られる。ア
ドレス入力に関しては、ペナルティは読出動作Rd2と
書込動作Wr4との間に見られる。
ドレスバスとただ2つのデータバスとを用いながらもこ
のペナルティを回避する。図6のタイミングダイアグラ
ムおよび特に図6の部分Aを参照されたい。部分Aで
は、「Rdi」(i=1、2、3、4、5)はクロック
サイクルiにおいて開始された読出動作を示し、「Wr
i」はサイクルiにおいて実行される書込動作を示す。
同じまたは異なるメモリからの連続した読出がパイプラ
イン化される。特に、ある読出動作からのデータがデー
タバスData_LまたはData_R上に提供される
間に、別の読出動作のためのアドレスがアドレスバスm
Addr_UまたはmAddr_D上に提供される。こ
のため、読出動作は各クロックサイクルにおいて1つの
アドレスバスと1つのデータバスとを用いる。たとえ
ば、サイクル2では、読出動作Rd2およびRd1はア
ドレスバスmAddr_UおよびデータバスData_
Lを用いる。そのため、残されたアドレスバスと残され
たデータバスとが書込に利用可能である。そこで、サイ
クル2では、アドレスバスmAddr_Dおよびデータ
バスData_Rが書込動作Wr2に用いられる。
「ri」(i=0、1、…127)または「rcpu
i」(i=0、1、…7)は、読出アドレスがアドレス
バスに提供され、それぞれポートiまたはCPUcpu
iへ送るべきセルを読むサイクルを示す。別の実施例で
は、「ri」または「rcpui」は、ポートiまたは
CPUcpuiへ送るべきセルがデータバスへ読出され
るサイクルを示す。
リ110の使用についてより詳しく説明する。図1に示
されるように、スイッチはポート0−63に対するポー
トインタフェースユニット(PIF)140.1および
ポート64−127に対するPIF140.2を含む。
ここに引用により援用される1995年8月8日発行の
A.ヨッフェ(Joffe )への米国特許第5,440,5
23号と、ここに引用により援用される1997年2月
20日公開のPCT公開公報WO97/06489とに
記載されるように、相互接続マトリクス150がPIF
140をメモリバッファ130に接続する。スイッチフ
ァブリック122.1では、スイッチファブリック制御
論理160.1がPIF140.1およびメモリバッフ
ァ130を制御する。同じスイッチファブリック12
2.2では、スイッチファブリック制御論理160.2
はPIF140.2およびメモリバッファ130を制御
する。また、スイッチファブリック122.1および1
22.2は、図1に示されていないセルのキューイング
およびスケジューリング論理を含む。このような論理は
たとえば、ここに引用により援用される以下の米国特許
出願に記載される。すなわち、A.ヨッフェ他による1
996年8月30日出願の米国特許出願連続番号第08
/706,104号、A.ヨッフェによる1996年8
月27日出願の米国特許出願連続番号第08/708,
140号およびA.ヨッフェ他による1997年4月2
5日出願の米国特許出願連続番号第08/845,71
0号である。また、ここに引用により援用される以下の
刊行物もまた参照されたい。すなわち、「ATMS20
00ユーザーズガイド」(“ATMS2000 User's Guide
”)(エム・エム・シー・ネットワークス・インコー
ポレイテッド(MMC Networks,Inc.)第1.1版)、
「ATMS2004Bスイッチコントローラ2『グレ
イ』」(“ATMS2004B Switch Controller 2‘GRA
Y’”)(MMC Networks, Inc., document 95-0004)、
「ATMS2003Bスイッチコントローラ1『ホワイ
ト』」(“ATMS2003B Switch Controller 1‘WHIT
E’”)(MMC Networks, Inc., document 95-0003)、
および「ATMS2000アプリケーションノート、3
2Kより多い接続のサポート」(“ATMS 2000 Applicat
ion Note ; Support For More Than 32K Connection
s”)(MMC Networks, Inc., document 95-0009)であ
る。
0.1および160.2は制御バス164に接続され
る。バス164はアドレス生成論理170(図1および
図7)に接続される。論理170はメモリ110のため
のアドレス信号を生成し、そのアドレス信号をバスmA
ddr_U、mAddr_Dへ提供する。論理170は
また、以下に説明されるメモリ制御信号を生成する。
読出アドレス、すなわち読出すべきセルのアドレスであ
る。ICP(入力セルポインタ)は書込アドレスであ
る。内部において、スイッチファブリック122は各メ
モリ110アドレスを特定のメモリ110を識別する2
つの最下位ビット(LSB)で補う。このように、いく
つかの実施例では、各メモリ110は15ビットアドレ
スを用い、各アドレスバスmAddr_U、mAddr
_Dは15ビット幅であるが、スイッチファブリックは
アドレスを内部的に17ビットに拡張する。読出アドレ
スでは、メモリ110を識別する2つのLSBは出力セ
ル領域(OCR)と称される。
する2つのLSBを含まない。そのため、OCPおよび
ICPの各々はメモリバスmAddr_UまたはmAd
dr_D(上の例では15ビット)と幅が同じである。
するようにスイッチファブリック制御論理回路により制
御バス164に提供される。OCPはラッチ510にラ
ッチされる。ICPはラッチ514にラッチされる。O
CRはラッチ520にラッチされる。ラッチ520の出
力は論理回路524の入力に接続される。論理524は
マルチプレクサ530、534のための選択信号を生成
する。各マルチプレクサの2つのデータ入力はラッチ5
10、514のそれぞれ対応の出力に接続される。どの
所与のクロックサイクルにおいても、一方のマルチプレ
クサがラッチ514からICPを選択し、他方のマルチ
プレクサがラッチ510からOCPを選択する。マルチ
プレクサ530の出力は、直列に接続されるラッチ54
0、544を通してバスmAddr_Uに接続される。
マルチプレクサ534の出力は、直列に接続されるラッ
チ550、554を通してバスmAddr_Dに接続さ
れる。
説明したアルゴリズムに従って動作する。
る。すなわち、 1) メモリ110_UL、110_DLのための書込
イネーブル信号L_weと、 2) メモリ110_UR、110_DRのための書込
イネーブル信号R_weと、 3) メモリ110_UL、110_DLのための出力
イネーブル信号L_oeと、 4) メモリ110_UR、110_DRのための出力
イネーブル信号R_oeと、 5) それぞれのメモリ110_UL、110_UR、
110_DL、110_DRのためのチップ選択信号U
L_cs、UR_cs、DL_cs、DR_csとであ
る。
図6の部分Bに示される。部分Bでは、「1」は対応す
る信号がアサートされたことを意味し、「0」はその信
号がデアサートされたことを意味する。(たとえば、サ
イクル2では、R_weはアサートされ、L_weはデ
アサートされる。)ここで説明する実施例では、各メモ
リアクセス動作ごとに、動作のアドレスフェーズの間、
すなわちアドレスがメモリに提供されるクロックサイク
ルの間にチップ選択がアサートされるメモリが用いられ
る。同様に、出力イネーブル信号は読出動作のアドレス
フェーズの間アサートされ、書込イネーブル信号は書込
動作の間アサートされる。
するように、後の書込動作において書込むべきメモリ1
10を識別する2ビット信号Stk_Sel[1:0]
を生成する。
路160.1、160.2、制御バス164およびアド
レス生成論理170のさらなる詳細を示す。
O、入力制御バス164.Iおよび、論理524(図
7)の出力Stk_Selに接続される2ビットバスS
tk_Selを含む。
0.2は4つの同じ制御ブロック710を含む。各制御
ブロック710は、ポート0−127のうちの8つおよ
びCPUcpu0−cpu7のうちの1つの連絡を扱
う。そのため、スイッチ118は8つのスイッチファブ
リックにより構成され、その各々はそれぞれ対応の制御
ブロック710により制御される。各制御ブロック71
0は、制御バス論理(「CBL」)730を通して制御
バス164に接続されるモジュラスイッチコントローラ
(MSC)720を有する。制御バス論理730は、ラ
ッチ740、750およびキュー754、758、76
0を含む。MSC720の出力770はラッチ740を
通して出力バス164.Oの以下の線に接続される。す
なわち、MASK、SMID(ソースモジュールI
D)、OCP、CID(接続ID)およびOCRであ
る。MASK線(MASK「バス」)は各MSC720
に対して1ビットを含む。このビットは、出力制御バス
164.O上のデータが、対応するMSC720により
読まれるべき際にセットされる。
入力バス164.Iの以下の線に接続される。すなわ
ち、MASK、CID、SMID、ICPおよびATT
Rである。ATTRはセル属性である。上に引用される
「ATMS2004Bスイッチコントローラ2『グレ
イ』」(12−13頁)を参照されたい。
ID、ICPはキュー754の入力に接続され、キュー
754の出力はMSC720に接続される。バスATT
Rはキュー758の入力に接続され、キュー758の出
力はMSC720に接続される。出力制御バス164.
Oの線SMID、OCP、CID、OCRはキュー76
0の入力に接続され、キュー760の出力はMSC72
0に接続される。バス164.O、164.IのMAS
K線はラッチ750の入力に接続され、ラッチ750の
出力はMSC720に接続される。
それぞれ対応のCBL730を通して接続される。
Rは、図7に示されるようにアドレス生成論理170の
入力に接続される。
は、それぞれ対応のメモリ110_DL、110_U
L、110_DR、110_UR内のすべての未使用メ
モリロケーションの、15ビットアドレス(すなわちメ
モリ110を識別する2つのLSBを除く)の4つのス
タック810_DL、810_UL、810_DR、8
10_URを記憶する。各メモリロケーションは1つの
セルペイロードを記憶できる。各クロックサイクルにお
いて、信号Stk_Selにより、すべてのMSCのマ
ルチプレクサ820は、6サイクル後に書かれることに
なるメモリ110に対応するスタックを選択することに
なる。(図11に示されるように、クロックサイクルt
−6において、Stk_Sel信号はサイクルtにおい
て書かれることになるメモリを選択する。)選択される
スタックからポップされたポインタはICPである。I
CPはマルチプレクサ820の出力から入力バス16
4.IのICP線へCBL730を通してサイクルt−
3において提供される(図11)。これより前のサイク
ルにおいて、サイクルtにおいてそのセルが書込まれる
ことになるポートまたはCPUに対応するMSC720
は、セルが送られるべきポートおよびCPUに対応する
すべてのMSC720を識別するMASK信号を提供す
る。MASK信号は、サイクルt−6においてそれぞれ
対応するラッチ740を通して入力バス164.IのM
ASK線に書かれる。
れると、それぞれのメモリ110内のセルペイロードへ
のポインタはすべてMSC720内のそれぞれのスタッ
ク810(図10)に戻される。
される。クロックサイクルtにおいて、アドレスバスm
Addr_U、mAddr_Dのうちの一方は読出アド
レスによって駆動される。他方のアドレスバスは書込ア
ドレスにより駆動される。「n」サイクルほど前(ここ
でn>6)、すなわちサイクルt−nにおいて、MSC
720のうちの1つはOCRバス上に、サイクルt、t
+1において読むべきセルのOCRを提供する。サイク
ルt−6では、アドレス生成論理170はサイクルtに
おいて書かれるべきメモリ110を識別する信号Stk
_Selを生成している。信号Stk_Selはサイク
ルt−nおよびt−n−1においてOCRバス上に駆動
されるOCR信号から生成される。サイクルt−nにお
いてOCRバスはサイクルtにおいて読出アドレスを受
け取ることになるメモリを識別する。サイクルt−n−
1においてOCRバスはサイクルt−1において読出ア
ドレスを受け取ることになるメモリを識別し、よってサ
イクルtにおいて読出動作により用いられるデータバス
を識別する。図6を参照されたい。
イクルtにおいてメモリ110に書くことになっている
制御ブロック710は、セルを送ることになっているす
べてのMSC720を識別する信号によって出力バス1
64.OのMASK線を駆動する。セルをサイクルtに
おいて読むことになっている制御ブロック710は、セ
ルが読出された後に制御ブロックがセルをメモリに記憶
し続ける必要があるかどうかを示す信号によって入力バ
ス164.IのMASK線を駆動する。この情報はセル
メモリを解放することができるかどうかを判定するのに
用いられる。
いて開始するセルを読むことになっているMSC720
はOCPバス上にセルアドレスOCPを提供する。サイ
クルtにおいてセルを書くことになっているMSC72
0はICPバス上にセルアドレスICPを提供する。サ
イクルt−2において、読出および書込アドレスはそれ
ぞれラッチ510、514(図7)の出力に現われる。
サイクルtでは、アドレスはバスmAddr_U、mA
ddr_Dに現われる。図1を再び参照して、メモリバ
ッファ130、相互接続マトリクス150およびPIF
140.1、140.2は前述の米国特許第5,44
0,523号およびPCT公開公報WO97/0648
9に記載されるものと同様である。
ス150は2つの相互接続マトリクスを含み、1つはポ
ート0−63に対するものであり、もう1つはポート6
4−127に対するものである。メモリバッファ130
は2組のメモリバッファを含み、1組はポート0−63
に対するものであり、もう1組はポート64−127に
対するものである。ポート0−63に対応する相互接続
マトリクスおよびメモリバッファの1組はスイッチファ
ブリック122.1の一部である。他方の相互接続マト
リクスおよび他方のメモリバッファの1組はスイッチフ
ァブリック122.2の一部である。各クロックサイク
ルにおいて、メモリバッファの一方の組はデータバスD
ata_Lに接続され、メモリバッファの他方の組はデ
ータバスData_Rに接続される。
ス150および1組のメモリバッファ130がすべての
ポート0−127により共有される。メモリバッファ1
30は12個の同じチップ(すなわち集積回路)13
0.1から130.12を含む。代表のチップ130.
iを示す図12を参照されたい。セルペイロードはメモ
リバッファ130とPIF140との間で12ビットワ
ードで転送される。前述の米国特許第5,440,52
3号およびPCT公開公報WO97/06489を参照
されたい。各チップ130.iは、メモリ110へ読ま
れる、またはメモリ110から書かれるすべてのセルペ
イロードのすべての12ビットワードのうちのそれぞれ
対応のビットiを記憶する。各メモリバッファチップ1
30.iは、(1)ポート0−63およびCPUcpu
0−cpu3間で転送が行なわれるワードのビットiの
ためのメモリバッファ130.i.1と、(2)ポート
64−127およびCPUcpu4−cpu7間で転送
が行なわれるワードのビットiのためのメモリバッファ
130.i.2とを含む。
2は68本の1ビット線により相互接続マトリクス15
0に接続される。各ポートおよび各CPUに対し、それ
ぞれ対応のバッファ130.i.1または130.i.
2は、(1)そのポートまたはCPUから受取った32
個の連続したワードのビットiを保持するレジスタ(図
示せず)と、(2)そのポートまたはCPUに送るべき
32個の連続したワードの32個のビットiを保持する
別個のレジスタ(図示せず)とを有する。どの所与のク
ロックサイクルにおいても、チップ130.i内にスイ
ッチ1010はバッファ130.i.1、130.i.
2のうちの一方をデータバスData_Rに接続し、バ
ッファ130.i.1、130.i.2のうちの他方を
データバスData_Lに接続する。各バスData_
R、Data_Lは384ビットバスであり、セルペイ
ロードの並列転送を可能にする。(注目すべきであるの
は、セルペイロードはちょうど32個の12ビットワー
ド、すなわち384ビットを含むことである。)バッフ
ァ130.iのスイッチ1010のすべては、アドレス
生成器170(図1)により生成される同じ信号Cによ
り制御される。どの所与のクロックサイクルにおいて
も、すべてのiに対するすべてのバッファ130.i.
1はバスData_L、Data_Rのうちの全く同一
のものに接続されており、すべてのバッファ130.
i.2はバスData_L、Data_Rのうちの他方
に接続される。すなわち、スイッチファブリック12
2.1、122.2のうちの一方がデータバスの一方を
用い、他方のスイッチファブリックが他方のデータバス
を用いる。
L、110_UR、110_DL.110_DRに対す
る別個のアドレスバスmAddr_UL、mAddr_
UR、mAddr_DL、mAddr_DRを有する代
替の実施例を示す。各クロックサイクルにおいて、アド
レス生成論理170はバスmAddr_UL、mAdd
r_UR上に同じアドレスを生成し、また、バスmAd
dr_DL、mAddr_DR上に同じアドレスを生成
する。図13のシステムの残りの特徴は図1のものと同
様である。
ドレスをバスmAddr_UL、mAddr_UR上と
バスmAddr_DL、mAddr_DR上とに生成で
きる交番モードで図13のスイッチを動作させることが
できる。このモードにおいて、各メモリ110は図1の
モードの半分の大きさおよび半分の帯域幅を有するた
め、メモリシステムはより安価である。特に、各データ
バスData_L、Data_Rの幅は図1のシステム
のそれぞれ対応のデータバスの半分である。さらに、交
番モードでは、スイッチには64個のポートと4つのC
PUしかなく、このためシステム費用はさらに減少され
る。
当てはまる。入力および出力フェーズの詳細は図14、
図15に示される。一例は以下の表1に提示される。ポ
ートには0、2、4、…126(奇数は省略される)と
番号が付けられ、4つのCPUはcpu0、cpu2、
cpu4、cpu6と記される。単一のセルの読出また
は書込には2つのクロックサイクルを要し、各クロック
サイクルにおいてセルペイロードの半分が読まれ、また
は書かれる。すなわち、クロックサイクル0では(図1
4)、ファブリック122.1(図1)は、「r0」で
示されるように、メモリ110のうちの1つからポート
0上に送るべきセルペイロードの半分を読む。ファブリ
ック122.1は、「r0」で示されるように、クロッ
クサイクル1において残り半分を同じメモリから読む。
セルがどこにあるかを追跡するのを簡単にするため、各
セルペイロードの両半分は同じメモリに記憶される。サ
イクル0およびサイクル1では、スイッチファブリック
122.2はポート64上で受取ったセルペイロードの
それぞれの半分を別のメモリ110に書く(「w6
4」)。同様に、クロックサイクル2およびクロックサ
イクル3において、セルペイロードのそれぞれの半分は
ポート2に対して読出され、(「r2」)、ポート66
上で受取ったセルペイロードのそれぞれの半分は書かれ
る(「w66」)等、以下同様である。クロックサイク
ル64、65において、ファブリック122.1はcp
u0への送信のためセルペイロードを読み、ファブリッ
ク122.2はcpu4から受取ったセルペイロードを
書く。クロックサイクル66、67において、ファブリ
ック122.1はcpu2への送信のためセルペイロー
ドを読み、ファブリック122.2はcpu6から受取
ったセルペイロードを書く。
ファブリック122.1、122.2は入れ替わり、フ
ァブリック122.1は出力フェーズとなり、ファブリ
ック122.2は入力フェーズとなる。
データフェーズを示す。すなわち、クロックサイクル0
において、セルペイロードの半分は、前のクロックサイ
クルにおいて論理170により提供されるアドレスに応
答してデータバス上にファブリック122.1へ提供さ
れる。クロックサイクル1では、同じセルペイロードの
残り半分が同じデータバス上に提供される。
す。クロックサイクル0、1において、読出動作r0は
データバスData_Lを用いてメモリ110_ULを
読む。データバスData_Rは書込動作w64に利用
可能である。サイクル0では、読出r0はデータバスm
Addr_ULを用いる。サイクル1において、次の読
出動作r2はデータバスmAddr_URを用いて、サ
イクル2およびサイクル3においてメモリ110_UR
からデータを読出す。そのため、アドレスバスmAdd
r_DRはサイクル0およびサイクル1における書込w
64に利用可能である。
0、1、…、67)においてもメモリ110のうちの少
なくとも1つは書込動作に利用可能であるのがわかる。
実際、サイクル2i、2i+1における読出動作により
メモリ110_ULからデータが得られたと仮定しても
一般性は失われない。読出はデータバスData_Lを
用いるため、データバスData_Rは書込動作に利用
可能である。サイクル2iにおいて読出はバスmAdd
r_ULを用い、次の読出はサイクル2i+1において
4つのアドレスバスのうちの1つを用いることになる。
どのアドレスバスが用いられたとしても、バスmAdd
r_UR、mAddr_DRのうちの一方はサイクル2
i+1において書込に利用可能である。同じバスがサイ
クル2iにおける書込に利用可能であるため、メモリ1
10_UR、110_DRのうちの少なくとも一方(お
そらくは両方)はサイクル2i、2i+1の両方におい
て2つの書込動作に利用可能であり、読出と並行してセ
ルペイロードの両半分をそのメモリに書込むことが可能
となる。
ルティはない。しかしながら、このモードではいずれの
クロックサイクルにおいても2つのアドレスバスが使用
されていない。
接続により置き換えられ、50MHzなどの高周波数に
おける信号伝送ノイズを減少する。図16には、4つの
カード(すなわち、プリント回路基板)1050.1、
1050.2、1050.3、1050.4が示され
る。各カード1050には、2つのMSC720および
制御メッセージインターフェイス(「CMI」)集積回
路1054が含まれる。MSCおよびCMI回路は簡単
にするためカード1050.1のみに示される。CMI
1054の一実施例はカリフォルニア州、サニィベイル
(Sunnyvale, California )のエム・エム・シー・ネッ
トワークスから入手可能である部品CMI−50Aであ
る。
50.i、1050.jを相互に接続する専用接続16
4.i、jにより置き換えられる。
より詳しく示す。2つのMSC720の出力1060は
2つのMSCにより共有されるバス1062に接続され
る。バス1062はラッチ1064.1、1064.
2、1064.3の入力に接続され、これらのラッチの
出力はバックプレーン164Bに接続される。バックプ
レーン164Bは図16の線1164.i、jを含む。
ラッチ1064.1、1064.2、1064.3の各
々は、バス1062からバックプレーンへ同じ1組の信
号を提供し、バックプレーンはその信号をそれぞれ対応
の他の3つのカード1050へ送る。
力に接続され、MSC720が互いに連絡できるように
する。
してCMI1054の入力に接続される。CMI105
4の出力はMSC720の入力に接続される。これらの
出力は、図9の回路754、758、760、750の
出力と同じ機能を果たす。
は2つのMSC720に接続される。アボート論理10
70の他の入力/出力ポートは、全信号OFULL、I
FULLの送信のためラッチ1064を通してバックプ
レーン164Bに接続される。
チ1064の2つのレベルにより遅延される(1レベル
は発信元カード1050、1レベルは行先カード)。そ
のため、CMI1054は同じカードのバス1062か
ら受取った信号(ループバック信号)を2つのクロック
サイクルだけ遅延させる。
50の回路(つまり、4つのMSC720および2つの
CMI回路1054)が同じカード上で組合される。他
の組合せも可能である。
における別のメモリシステムを示す。スイッチ1110
は4つのスイッチファブリック122.1−122.4
から構成される。各スイッチファブリック122は複数
のポート(図示せず)、たとえば64個のポートを制御
し、1つ以上のCPU(図示せず)、たとえば4つのC
PUを含む。スイッチファブリック122は制御バス
(図示せず)により相互に接続される。スイッチ111
0はまた、アドレス生成論理、メモリバッファ、PIF
および1つ以上の相互接続マトリクスを含むが、簡略化
するため、これらは図示しない。
10_B、110_C、110_D、110′_A、1
10′_B、110′_C、110′_Dはいくつかの
実施例において非同期SRAMである。
19に示される。クロックサイクル0−67において、
スイッチファブリック122.1、122.2は入力フ
ェーズにあり、ファブリック122.3、122.4は
出力フェーズにある。クロックサイクル68−135に
おいて、ファブリック122.1、122.2は出力フ
ェーズにあり、ファブリック122.3および122.
4は入力フェーズにある。いくつかの実施例では、各ス
イッチファブリックの入力および出力フェーズは図2、
図3、図4のものと同様である。
リックはすべてのクロックサイクルにおいてメモリ11
0を読む。どの所与のクロックサイクルにおいても、2
つの入力フェーズのファブリックは同じメモリに記憶さ
れるデータを読まなければならないことがある。そのた
め、いくつかの実施例ではメモリ110は2つのポート
があるか、または単一ポートメモリであったとしても、
1つのクロックサイクルにおいて2つの読出動作を可能
にするのに十分速い。しかしながら、他の実施例では、
メモリ110は単一ポートメモリで、しかも1つのクロ
ックサイクルにおいて2つの読出を可能にするほど十分
速くはない。これらの実施例はより安価であるという利
点がある。これらの実施例において、各メモリは、同じ
データを含む「ミラー」イメージメモリを有する。すな
わち、メモリ110_A、110′_Aは互いのミラー
イメージであり、すなわち、どの所与の時点においても
同じデータを記憶する。同様に、メモリ110_B、1
10′_Bは互いのミラーイメージであり、メモリ11
0_C、110′_Cは互いのミラーイメージであり、
メモリ110_Dおよび110′_Dは互いのミラーイ
メージである。このため、2つのスイッチファブリック
が同じクロックサイクルにおいて同じメモリに記憶され
るデータを必要とする場合、2つのスイッチファブリッ
クは互いにミラーイメージである異なるメモリからデー
タを得る。たとえば、スイッチファブリック122.
1、122.2がともにメモリ110_Aに記憶される
データを必要とする場合、2つのスイッチファブリック
のうちの一方はメモリ110_Aを読み、他方のスイッ
チファブリックはメモリ110′_Aを読む。
ラーイメージメモリにも同じアドレスに同じデータが書
込まれる。すなわち、一例では、クロックサイクル68
−135のうちの1つにおいて、スイッチファブリック
122.3はメモリ110_C、110′_Cの各々
に、双方のメモリの同じアドレスにセルを書込み、スイ
ッチファブリック122.4はメモリ110_D、11
0′_Dの各々に、双方のメモリの同じアドレスに別の
セルを書込む。デュアルポートメモリがメモリの両方に
必要という訳ではない。
して上に説明した動作を達成するのに適した態様で、メ
モリ110のデータポートDをそれぞれ対応のスイッチ
ファブリック122のデータバスData_1からDa
ta_4に接続する。メモリスイッチ1120は当該技
術において公知である方法を用いて制御される。メモリ
110のためのアドレスおよび制御信号は公知の方法を
用いて生成される。
術を組合せている。たとえば、いくつかの実施例には3
2個の単一ポートのシンクロナスSRAMが含まれる。
32個のSRAMは各々が16個のSRAMからなる2
つのブロックにさらに分けられる。2つのブロックは互
いのミラーイメージである。一方のブロックのメモリを
M_i.jと示すことにする。ここで、i、jの各々は
値1、2、3および4を取る。他方のブロックのメモリ
をM′_i.jと示すことにする。ここで、i、jは上
と同じ値を取る。所与のiおよびjの各々に対して、メ
モリM_i.jおよびM′_i.jは互いのミラーイメ
ージである。
スおよび4つのアドレスバスが提供される。所与のjの
各々に対し、データバスData_jはメモリM_1.
j、M_2.j、M_3.j、M_4.jのデータポー
トに接続される。所与のiの各々に対し、アドレスバス
mAddr_iはメモリM_i.1、M_i.2、M_
i.3、M_i.4のアドレス入力に接続される。同様
に、所与のjの各々に対し、データバスData′_j
はすべてのiに対してメモリM′_i.jのデータポー
トに接続され、アドレスバスmAddr′_iはすべて
のjに対してすべてのメモリM′_i.jのアドレス入
力に接続される。
ば、4つのスイッチファブリックを含む無閉塞ATMス
イッチ内で用いられる。どの所与のクロックサイクルに
おいても、図19に示されるように、スイッチファブリ
ックのうちの2つは入力フェーズにあり、スイッチファ
ブリックのうちの2つは出力フェーズにある。同じメモ
リからのデータが同時に異なるスイッチファブリックか
ら望まれる場合、図18のようにスイッチファブリック
はミラーイメージメモリを読む。各クロックサイクルに
おいて、2つのアドレスバスが現在のクロックサイクル
において開始される読出動作により用いられ、2つのデ
ータバスが前のクロックサイクルにおいて開始された読
出動作により用いられる。図6を参照されたい。そのた
め、各クロックサイクルにおいて、少なくとも2対の
「ミラー」アドレスバス(mAddr_i1,mAdd
r′_i1)、(mAddr_i2,mAddr′_i
2および少なくとも2対の「ミラー」データバス(Da
ta_j1,Data′_j1)、(Data_j2,
Data′_j2)が書込動作に利用可能である。出力
フェーズにある2つのスイッチファブリックのうちの一
方は、「ミラーイメージ」メモリM_i1.j1、M′
_i1.j1へ、双方のメモリの同じアドレスにセルを
書込み、出力サイクルにあるスイッチファブリックの他
方はメモリM_i2.j2、M′_i2.j2へ、双方
のメモリの同じアドレスにセルを書込む。そのため、2
つの読出および2つの書込が各クロックサイクルごとに
行なわれる。
に、この発明はどの特定の種類のメモリまたはメモリタ
イミングにも限定されない。いくつかの実施例ではDR
AMまたは他の種類のメモリが用いられる。図1のいく
つかの実施例では、各読出動作は3以上のクロックサイ
クルを要し、各書込動作は2以上のクロックサイクルを
要する。いくつかの実施例では、アドレスバスの数は読
出動作に要するクロックサイクルの数と等しく、新しい
読出アドレスが各クロックサイクルにおいて供給され
る。この発明はメモリシステム内に用いられるメモリの
数に限定されない。いくつかの実施例では、互いのミラ
ーイメージであるメモリは同じアドレスに同じデータを
記憶する。他の実施例では、異なるメモリは同じデータ
を記憶するのに異なるアドレスを用いる。いくつかの実
施例では、各メモリは集積回路、または集積回路の組合
せである。この発明はATMに限定されない。いくつか
の実施例では同期転送モードまたは他のいずれかのデー
タフローが含まれる。いくつかの実施例では、イーサネ
ット(Ethernet)、フレームリレー、および/またはP
PP/ソネット(Sonet )スイッチが含まれる。このよ
うな実施例のいくつかでは、パケットまたはフレームが
固定サイズ(たとえば48バイト)のセルにさらに分け
られ、最後のセルは固定サイズになるようパディングさ
れる。セルは上述のとおりメモリに記憶される。次に、
セルは上述のようにメモリから読出され、再び組合さ
れ、元のフレームまたはパケットが得られ、パケットま
たはフレームが送られる。他の実施例および変形も、添
付の特許請求の範囲により規定されるようにこの発明の
範囲内に含まれる。
スイッチのブロック図である。
クルを示すタイミングダイアグラムの図である。
クルを示すタイミングダイアグラムの図である。
クルを示すタイミングダイアグラムの図である。
ンクロナスSRAMのタイミングダイアグラムの図であ
る。
込動作を示すタイミングダイアグラムの図である。
ス生成論理の回路図である。
図である。
る部分のブロック図である。
回路のブロック図である。
アドレス生成パイプラインのタイミングダイアグラムの
図である。
回路のブロック図である。
ブロック図である。
グラムの図である。
グラムの図である。
である。
ある。
Mスイッチのブロック図である。
サイクルのタイミングダイアグラムの図である。
集積回路 1062 バス 1110 無閉塞ATMスイッチ
Claims (21)
- 【請求項1】 複数のメモリと、 複数のアドレスバスと、 複数のデータバスとを含み、 少なくとも1つのデータバスは、それぞれ異なるアドレ
スバスに接続された異なるメモリに接続される、メモリ
システム。 - 【請求項2】 読出動作を、データバス利用率ペナルテ
ィがゼロであるような態様で書込動作と重ねることがで
きる、請求項1に記載のメモリシステム。 - 【請求項3】 各メモリは、1つの読出動作におけるメ
モリによるデータの出力が別の読出動作におけるメモリ
によるアドレス読取りと重なる、パイプライン化された
読出動作を可能にする、請求項1に記載のメモリシステ
ム。 - 【請求項4】 各メモリはシンクロナスSRAMであ
る、請求項3に記載のメモリシステム。 - 【請求項5】 1つの読出動作でのデータバス上に読出
データを提供するステップが別の読出動作でのアドレス
バス上への読出アドレスを提供するステップと重なる態
様で少なくとも2つの読出動作を重ねることができるメ
モリシステムであって、 前記メモリシステムは重なり合う読出動作を、前記重な
り合う読出動作により用いられていないアドレスおよび
データバスを用いる1つ以上の書込動作と重ねることを
可能にする、請求項1に記載のメモリシステム。 - 【請求項6】 任意のアドレスバスおよび任意のデータ
バスの任意の組合せに対しても前記アドレスバスおよび
前記データバスに接続されるメモリが存在する、請求項
1に記載のメモリシステム。 - 【請求項7】 並行してメモリにアクセスすることがで
きる複数のスイッチファブリック回路と組合されるメモ
リシステムであって、前記スイッチファブリック回路の
数が前記データバスの数と等しい、請求項1に記載のメ
モリシステム。 - 【請求項8】 1以上のメモリと、 複数のアドレスポートと、 複数のデータポートとを含み、アドレスポートと前記デ
ータポートのうちの対応する1つとの組合せにより前記
メモリシステムへのアクセスが提供されるようにしたメ
モリシステムであって、 前記アドレスポートに接続される複数のアドレスバス
と、 前記データポートに接続される複数のデータバスとをさ
らに含み、 少なくとも1つのデータバスは、異なるアドレスバスに
接続された異なるアドレスポートに対応する異なるデー
タポートに接続される、メモリシステム。 - 【請求項9】 読出動作を、データバス利用率ペナルテ
ィがゼロであるような態様で書込動作と重ねることがで
きる、請求項8に記載のメモリシステム。 - 【請求項10】 アドレスポートと対応するデータポー
トとの各組合せは、前記データポートが1つの読出動作
においてデータを提供するステップが前記アドレスポー
トが別の読出動作のためのアドレスを受取るステップと
重なる、パイプライン化された読出動作に利用可能であ
り、 任意の所与のアドレスポートおよび対応するデータポー
トを通しての連続した書込動作はパイプライン化されて
おらず、 前記メモリシステムは、連続した読出動作が同じアドレ
スポートまたは同じデータポートを通して行なわれてい
るか否かにかかわらず、および前記連続した書込動作が
同じアドレスポートまたは同じデータポートを通して行
なわれているか否かにかかわらず、前記連続した読出動
作を前記連続した書込動作と並行して行なうことを可能
にする、請求項8に記載のメモリシステム。 - 【請求項11】 前記連続した読出動作と、前記連続し
た読出動作と並行して行なわれる前記連続した書込動作
とは、いかなるデータバス利用率ペナルティを課せられ
ることなくすべてのアドレスおよびデータバスを用いる
ことができる、請求項10に記載のメモリシステム。 - 【請求項12】 並行してメモリシステムにアクセスす
ることができる複数のスイッチファブリック回路と組合
されるメモリシステムであって、前記スイッチファブリ
ック回路の数が前記データバスの数と等しい、請求項8
に記載のメモリシステム。 - 【請求項13】 少なくとも第1のアドレスポート、第
1のデータポート、第2のアドレスポートおよび第2の
データポートを含むメモリシステムにアクセスするため
の方法であって、 (1) 前記第1のアドレスおよびデータポートを通し
ての読出アクセスにおいて、前記第1および第2のアド
レスポートに読出アドレス信号を提供するステップと、 (2) 前記読出アクセスにおいて、前記第1のデータ
ポートが読出データ信号を提供するステップと、 (3) ステップ(2)の少なくとも一部分と並行し
て、前記第2のアドレスポートおよび前記第2のデータ
ポートを通しての書込アクセスにおいて、前記第1およ
び第2のアドレスポートに書込アドレス信号を提供し、
前記第2のデータポートに書込データ信号を提供するス
テップとを含む、方法。 - 【請求項14】 前記第1および第2のアドレスポート
は共通の線に接続される、請求項13に記載の方法。 - 【請求項15】 前記第1のアドレスおよびデータポー
トは第1のメモリのアドレスおよびデータポートであ
り、前記第2のアドレスおよびデータポートは第2のメ
モリのアドレスおよびデータポートである、請求項13
に記載の方法。 - 【請求項16】 少なくとも第1のアドレスポート、第
1のデータポート、第2のアドレスポートおよび第2の
データポートを含むメモリシステムにアクセスするため
の方法であって、 (1) 前記第1のアドレスおよびデータポートを通し
ての読出アクセスにおいて、前記第1のアドレスポート
に接続される第1の線上に読出アドレス信号を提供する
ステップと、 (2) ステップ(1)の少なくとも一部分と並行し
て、前記第2のアドレスおよびデータポートを通しての
書込アクセスにおいて、前記第2のアドレスポートに接
続される第2の線上に書込アドレス信号を提供し、前記
第1および第2のデータポートに接続される第3の線上
に書込データ信号を提供するステップと、 (3) ステップ(2)における前記第3の線上に前記
書込データ信号を提供するステップの後に、前記メモリ
システムが前記読出アクセスにおいて前記第3の線上に
読出データ信号を提供するステップとを含む、方法。 - 【請求項17】 前記第1のアドレスおよびデータポー
トは第1のメモリのアドレスおよびデータポートであ
り、前記第2のアドレスおよびデータポートは第2のメ
モリのアドレスおよびデータポートである、請求項16
に記載の方法。 - 【請求項18】 メモリシステムであって、 複数の組のメモリと、 前記メモリへの並列アクセスを可能にするための回路と
を含み、 (1) ある組の中の任意のメモリに書込まれる場合、
同じ組のすべてのメモリにも同じデータが書込まれ、 (2) ある組の中の任意のメモリの読出は、同じ組の
他のどのメモリの読出とも並行して行なわれるよう動作
可能であるようにする、メモリシステム。 - 【請求項19】 前記メモリシステムへアクセスできる
複数のスイッチファブリックをさらに含む、請求項18
に記載のメモリシステム。 - 【請求項20】 どのスイッチファブリックも前記メモ
リシステムのどのメモリへもアクセスでき、そのため前
記スイッチファブリックは無閉塞スイッチを形成する、
請求項19に記載の組合せ。 - 【請求項21】 複数の組のメモリを含むメモリシステ
ムにアクセスするための方法であって、各組は少なくと
もM個のメモリを有し、M>1であり、前記方法は (1) 前記メモリのうちのM個を並行して読むステッ
プと、 (2) ステップ(1)の少なくとも一部分と並行し
て、メモリの組の各メモリが同じデータで書かれるよう
な態様で前記メモリの組の各メモリに書込むステップと
を含み、書込まれるメモリはいずれもステップ(1)に
おいて読出されるメモリではない、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/959,636 US6170046B1 (en) | 1997-10-28 | 1997-10-28 | Accessing a memory system via a data or address bus that provides access to more than one part |
US08/959636 | 1997-10-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11265316A true JPH11265316A (ja) | 1999-09-28 |
JP3615948B2 JP3615948B2 (ja) | 2005-02-02 |
Family
ID=25502240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30586398A Expired - Lifetime JP3615948B2 (ja) | 1997-10-28 | 1998-10-27 | メモリシステムおよびメモリシステムにアクセスするための方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US6170046B1 (ja) |
EP (1) | EP0913828A3 (ja) |
JP (1) | JP3615948B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002164927A (ja) * | 2000-10-04 | 2002-06-07 | Marconi Communications Inc | Apsポートのミラーリング |
JP2009266176A (ja) * | 2008-04-30 | 2009-11-12 | Digital Electronics Corp | メモリ制御システム |
JP2012513060A (ja) * | 2008-12-19 | 2012-06-07 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 均一な読み出し待ち時間のための冗長なデータ記憶 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185662B1 (en) * | 1997-12-22 | 2001-02-06 | Nortel Networks Corporation | High availability asynchronous computer system |
US6519242B1 (en) | 1998-12-09 | 2003-02-11 | Nortel Networks Limited | Apparatus and method of PSTN based network roaming and SCP based subscriber management for internet telephony systems |
JP2000231546A (ja) * | 1999-02-12 | 2000-08-22 | Univ Hiroshima | 共有メモリ |
GB2352583B (en) * | 1999-07-28 | 2003-12-10 | Intellprop Ltd | Telecommunication circuit switches |
US6611796B1 (en) * | 1999-10-20 | 2003-08-26 | Texas Instruments Incorporated | Method and apparatus for combining memory blocks for in circuit emulation |
US6671712B1 (en) * | 1999-11-09 | 2003-12-30 | International Business Machines Corporation | Multi-node data processing system having a non-hierarchical interconnect architecture |
US6687803B1 (en) * | 2000-03-02 | 2004-02-03 | Agere Systems, Inc. | Processor architecture and a method of processing |
US6604176B1 (en) * | 2000-12-21 | 2003-08-05 | Emc Corporation | Data storage system having plural fault domains |
CN1545658A (zh) * | 2001-07-17 | 2004-11-10 | �йȲ��� | 具有双端口存储器仿真配置的交换结构 |
US6865695B2 (en) * | 2001-07-26 | 2005-03-08 | International Business Machines Corpoation | Robust system bus recovery |
MXPA04001843A (es) * | 2001-08-30 | 2005-03-07 | Matsushita Electric Ind Co Ltd | Medios de grabacion de informacion, metodo de grabacion simultanea y aparato de grabacion/reproduccion de informacion. |
JP2003280982A (ja) | 2002-03-20 | 2003-10-03 | Seiko Epson Corp | 多次元メモリのデータ転送装置及び多次元メモリのデータ転送プログラム、並びに多次元メモリのデータ転送方法 |
EP1563401B1 (en) * | 2002-11-05 | 2006-11-22 | Koninklijke Philips Electronics N.V. | Data processing apparatus with address redirection in response to periodic address patterns |
JP4633334B2 (ja) * | 2003-01-27 | 2011-02-16 | パナソニック株式会社 | 情報処理装置およびメモリアクセス調停方法 |
US7584321B1 (en) * | 2003-08-28 | 2009-09-01 | Nvidia Corporation | Memory address and datapath multiplexing |
EP1585272B1 (en) * | 2004-04-05 | 2007-08-22 | Alcatel Lucent | Switching matrix for a telecommunication network element |
US20090086820A1 (en) * | 2007-09-28 | 2009-04-02 | Edward Hong | Shared memory with contemporaneous access for use in video encoding and methods for use therewith |
US7761754B1 (en) * | 2008-03-25 | 2010-07-20 | Altera Corporation | Techniques for testing memory circuits |
US9576630B2 (en) | 2010-07-09 | 2017-02-21 | Cypress Semiconductor Corporation | Memory devices and methods having multiple address accesses in same cycle |
US9343124B1 (en) * | 2011-07-29 | 2016-05-17 | Altera Corporation | Method and system for operating a multi-port memory system |
US8705310B2 (en) | 2012-08-24 | 2014-04-22 | Cypress Semiconductor Corporation | Access methods and circuits for memory devices having multiple banks |
US9640237B1 (en) | 2012-08-24 | 2017-05-02 | Cypress Semiconductor Corporation | Access methods and circuits for memory devices having multiple channels and multiple banks |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394728A (en) * | 1980-06-26 | 1983-07-19 | Gte Automatic Electric Labs Inc. | Allocation controller providing for access of multiple common resources by a duplex plurality of central processing units |
JPS60146342A (ja) * | 1984-01-09 | 1985-08-02 | Mitsubishi Electric Corp | 記憶装置 |
US4750154A (en) | 1984-07-10 | 1988-06-07 | Prime Computer, Inc. | Memory alignment system and method |
JPS6134778A (ja) * | 1984-07-25 | 1986-02-19 | Matsushita Electric Ind Co Ltd | 半導体メモリ |
JPS61150059A (ja) | 1984-12-24 | 1986-07-08 | Sony Corp | デ−タ処理装置 |
AU582632B2 (en) | 1985-04-05 | 1989-04-06 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
US4744078A (en) | 1985-05-13 | 1988-05-10 | Gould Inc. | Multiple path multiplexed host to network data communication system |
JPS62272352A (ja) * | 1986-05-21 | 1987-11-26 | Matsushita Graphic Commun Syst Inc | メモリ制御回路 |
US4760570A (en) * | 1986-08-06 | 1988-07-26 | American Telephone & Telegraph Company, At&T Bell Laboratories | N-by-N "knockout" switch for a high-performance packet switching system |
US4754451A (en) | 1986-08-06 | 1988-06-28 | American Telephone And Telegraph Company, At&T Bell Laboratories | N-by-N "knockout" switch for a high-performance packet switching system with variable length packets |
US4891795A (en) | 1987-05-21 | 1990-01-02 | Texas Instruments Incorporated | Dual-port memory having pipelined serial output |
JPH01209556A (ja) * | 1988-02-17 | 1989-08-23 | Hitachi Ltd | データ処理システム |
US4891794A (en) | 1988-06-20 | 1990-01-02 | Micron Technology, Inc. | Three port random access memory |
JPH0225958A (ja) * | 1988-07-15 | 1990-01-29 | Fuji Electric Co Ltd | 高速データ転送システム |
JPH02139652A (ja) * | 1988-11-21 | 1990-05-29 | Matsushita Electric Ind Co Ltd | マイクロ・コンピューター |
US4888741A (en) | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
US5142638A (en) | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
JP2880547B2 (ja) * | 1990-01-19 | 1999-04-12 | 三菱電機株式会社 | 半導体記憶装置 |
US5204841A (en) | 1990-07-27 | 1993-04-20 | International Business Machines Corporation | Virtual multi-port RAM |
US5278967A (en) | 1990-08-31 | 1994-01-11 | International Business Machines Corporation | System for providing gapless data transfer from page-mode dynamic random access memories |
US5337287A (en) | 1991-08-20 | 1994-08-09 | Nec Corporation | Dual port semiconductor memory device |
US5511177A (en) * | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
JPH05151769A (ja) | 1991-11-28 | 1993-06-18 | Mitsubishi Electric Corp | マルチポートメモリ |
JPH05204822A (ja) * | 1992-01-24 | 1993-08-13 | Hitachi Ltd | データバスの多重化方式 |
US5432907A (en) * | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
EP0660954A1 (en) * | 1992-09-21 | 1995-07-05 | Unisys Corporation | Multiported buffer memory system for disk drive complex |
EP0637890B1 (en) * | 1993-08-02 | 1999-03-10 | Trw Inc. | Modular high-capacity solid-state mass data storage device for video servers |
US5440523A (en) * | 1993-08-19 | 1995-08-08 | Multimedia Communications, Inc. | Multiple-port shared memory interface and associated method |
US5732041A (en) | 1993-08-19 | 1998-03-24 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
US5634004A (en) | 1994-05-16 | 1997-05-27 | Network Programs, Inc. | Directly programmable distribution element |
US5907864A (en) * | 1995-06-07 | 1999-05-25 | Texas Instruments Incorporated | Data processing device with time-multiplexed memory bus |
US5875470A (en) * | 1995-09-28 | 1999-02-23 | International Business Machines Corporation | Multi-port multiple-simultaneous-access DRAM chip |
US5802561A (en) * | 1996-06-28 | 1998-09-01 | Digital Equipment Corporation | Simultaneous, mirror write cache |
US5920898A (en) * | 1996-08-16 | 1999-07-06 | Unisys Corporation | Memory control unit providing optimal timing of memory control sequences between different memory segments by optimally selecting among a plurality of memory requests |
US5842025A (en) | 1996-08-27 | 1998-11-24 | Mmc Networks, Inc. | Arbitration methods and apparatus |
US5925118A (en) * | 1996-10-11 | 1999-07-20 | International Business Machines Corporation | Methods and architectures for overlapped read and write operations |
US5923593A (en) | 1996-12-17 | 1999-07-13 | Monolithic Systems, Inc. | Multi-port DRAM cell and memory system using same |
KR100253564B1 (ko) | 1997-04-25 | 2000-05-01 | 김영환 | 고속 동작용 싱크로노스 디램 |
US5953352A (en) * | 1997-06-23 | 1999-09-14 | Micron Electronics, Inc. | Method of checking data integrity for a raid 1 system |
US5856940A (en) | 1997-08-15 | 1999-01-05 | Silicon Aquarius, Inc. | Low latency DRAM cell and method therefor |
-
1997
- 1997-10-28 US US08/959,636 patent/US6170046B1/en not_active Expired - Lifetime
-
1998
- 1998-10-14 EP EP98308387A patent/EP0913828A3/en not_active Withdrawn
- 1998-10-27 JP JP30586398A patent/JP3615948B2/ja not_active Expired - Lifetime
-
1999
- 1999-10-07 US US09/415,271 patent/US6205523B1/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002164927A (ja) * | 2000-10-04 | 2002-06-07 | Marconi Communications Inc | Apsポートのミラーリング |
JP2009266176A (ja) * | 2008-04-30 | 2009-11-12 | Digital Electronics Corp | メモリ制御システム |
JP2012513060A (ja) * | 2008-12-19 | 2012-06-07 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 均一な読み出し待ち時間のための冗長なデータ記憶 |
Also Published As
Publication number | Publication date |
---|---|
US6170046B1 (en) | 2001-01-02 |
EP0913828A3 (en) | 1999-12-22 |
US6205523B1 (en) | 2001-03-20 |
JP3615948B2 (ja) | 2005-02-02 |
EP0913828A2 (en) | 1999-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11265316A (ja) | メモリシステムおよびメモリシステムにアクセスするための方法 | |
EP0714534B1 (en) | Multiple-port shared memory interface and associated method | |
US5875470A (en) | Multi-port multiple-simultaneous-access DRAM chip | |
US6212597B1 (en) | Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like | |
US5835932A (en) | Methods and systems for maintaining data locality in a multiple memory bank system having DRAM with integral SRAM | |
US5537353A (en) | Low pin count-wide memory devices and systems and methods using the same | |
US7966446B2 (en) | Memory system and method having point-to-point link | |
KR20010013743A (ko) | 다중 메모리 어드레스를 저장 및 처리하기 위한 시스템 및방법 | |
US7386689B2 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
JPH0638607B2 (ja) | パケット・スイッチド・マルチポ−ト・メモリn×mスイッチ・ノ−ド及び処理方法 | |
EP1769369A1 (en) | Memory controller with command look-ahead | |
US6816955B1 (en) | Logic for providing arbitration for synchronous dual-port memory | |
US6973078B2 (en) | Method and apparatus for implementing low latency crossbar switches with integrated storage signals | |
IL129310A (en) | Random access memory and process for writing to and reading from the same | |
US7707330B2 (en) | Memories for electronic systems | |
US7016349B1 (en) | Logic for generating multicast/unicast address (es) | |
EP0421627B1 (en) | Memory device | |
JP2004501470A (ja) | スキームレジスタを用いたメモリアドレスの生成 | |
JPH07271654A (ja) | コントローラ | |
JP3112020B2 (ja) | ダイナミックram制御回路 | |
JPH03242064A (ja) | パケットスイッチに基づく高容量メモリ | |
US6874068B1 (en) | Shared memory | |
JPH06168177A (ja) | パイプラインメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20031215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20031218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040212 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040901 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040906 |
|
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: 20041005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041102 |
|
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: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |