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
Application number
JP10305863A
Other languages
English (en)
Other versions
JP3615948B2 (ja
Inventor
Alexander Joffe
アレクサンダー・ヨッフェ
Ari Birger
アリ・バーガー
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.)
MACOM Connectivity Solutions LLC
Original Assignee
MMC Networks Inc
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 MMC Networks Inc filed Critical MMC Networks Inc
Publication of JPH11265316A publication Critical patent/JPH11265316A/ja
Application granted granted Critical
Publication of JP3615948B2 publication Critical patent/JP3615948B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-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

(57)【要約】 【課題】 スループットの向上したメモリシステムを提
供する。 【解決手段】 メモリシステムは複数のメモリ110_
UL,UR,DL,DRと、複数のアドレスバスmAd
dr_U,Dと、複数のデータバスData_L,Rと
を含む。少なくとも1つのデータバスは異なるアドレス
バスに接続されたメモリに接続される。各メモリはパイ
プライン化された読出動作を可能にし、データが1つの
読出動作内で読出される場合に別の読出のためのアドレ
スをメモリに提供できるようにする。いくつかの実施例
では、複数のメモリはミラーイメージメモリの組にさら
に分けられる。各組においてすべてのメモリは同じデー
タを記憶する。メモリのうちの1つに記憶されるデータ
の同時の読出アクセスが望ましい場合、読出アクセスを
ミラーメモリに対して行なうことができる。

Description

【発明の詳細な説明】
【0001】
【発明の背景】この発明は、メモリとメモリを用いるシ
ステムとメモリにアクセスするための方法とに関する。
【0002】メモリアクセス動作のスループットを増加
するため、データ処理システムのいくつかはマルチポー
トメモリを用いる。異なるポートを通して複数のアクセ
ス動作が並行して行なわれ、スループットを増加する。
しかしながら、メモリの費用はポートの数に伴って増加
する。そのため、高いスループットを得ながらもポート
の数がより少ないメモリを用いることが望ましい。さら
に、マルチポートメモリを備えたメモリシステムにおい
ては、別個のアドレスバスおよびデータバスが各ポート
に対して用いられる。メモリシステムにおけるアドレス
バスおよびデータバスの数を減少するのが望ましい。
【0003】読出および書込動作に対して異なるタイミ
ングを用いるメモリにおいてアドレスおよびデータバス
の利用率を増すこともまた好ましい。このようなメモリ
には高速シンクロナスSRAM(スタティックランダム
アクセスメモリ)が含まれる。読出動作および書込動作
に対するタイミングが異なるため、メモリが書込動作か
ら読出動作へ、または読出から書込へ切換えられる際、
アドレスまたはデータバス利用率ペナルティが生じる。
このようなペナルティを減少する、またはなくすことが
望ましい。
【0004】2つ以上のスイッチファブリックを組合わ
せて、1ポート当りの費用を増すことなくポートの数を
増加することにより、無閉塞ATM(非同期転送モー
ド)スイッチまたはその他のスイッチを得られるように
するメモリシステムを提供することもまた望ましい。
【0005】
【発明の概要】この発明のいくつかの実施例では、複数
のアクセス動作を並行して行なうことができるようにす
るメモリシステムが提供される。いくつかの実施例では
読出および書込動作のためのタイミングが異なるメモリ
を用いる。特に、いくつかの実施例では、メモリシステ
ム内の各メモリはパイプライン化された読出アクセスを
可能にし、ある読出動作内においてデータがメモリから
読出される際に、他の読出サイクル動作のための読出ア
ドレスがメモリに提供されるようにする。しかしなが
ら、書込動作においては、アドレスとデータとはメモリ
に同時に提供される。(高速シンクロナスSRAMのい
くつかはそのようなタイミングを有する。)そのため、
メモリが書込から読出へ、または読出から書込へ切換え
られる際、メモリアドレスまたはデータポートに関して
利用率ペナルティが存在する。しかしながら、この発明
のいくつかの実施例では、メモリシステムのデータバス
に関してはペナルティは生じない。いくつかの実施例で
は、アドレスバスに関してもペナルティが生じない。さ
らに、個々のメモリの各々におけるポートの数が減少さ
れる。いくつかの実施例では、各メモリは単一ポートメ
モリである。データバスの数もまた、異なるポートの間
でデータバスを共有させることによって減少される。い
くつかの実施例では、アドレスバスもまた共有させるこ
とによってその数が減少される。
【0006】これらの利点はいくつかの実施例におい
て、異なるデータバスに接続されたデータポートに対応
する異なるアドレスポートに1つのアドレスバスを接続
することによって、および/または異なるアドレスバス
に接続されたアドレスポートに対応する異なるデータポ
ートに1つのデータバスを接続することによって達成さ
れる。いくつかの実施例では、アドレスバスおよびデー
タバスの各組合せを用いて別個のメモリにアクセスする
ことができる。
【0007】たとえば、図1では、4つの単一ポートメ
モリ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のデータポートに接続される。
【0008】アドレスバスおよびデータバスの各組合せ
から、4つのメモリ110のうちの1つにアクセスする
ことができる。
【0009】メモリシステムは、たとえば2つのスイッ
チファブリックから構成されるATM(非同期転送モー
ド)スイッチなど、任意のフロースイッチ内の共有メモ
リである。2つのアドレスバスおよび2つのデータバス
のため、書込および読出を並行して行なうことが可能で
ある。各クロックサイクルにおいて、あるATMセルは
送信前に記憶のためスイッチファブリックのうちの1つ
によってメモリ110のうちの1つに書込まれ、別のセ
ルは送信のためメモリのうちの別の1つから別のファブ
リックにより読出される。セルは書込動作に対して利用
可能であるどのメモリにも書込むことができる。各スイ
ッチファブリックは同じ数のポートを有する。そのた
め、スイッチファブリックが組合わされると、ポートの
数は2倍になる。しかしながら、ポート当りの費用は単
一のスイッチファブリックと同程度である。
【0010】各メモリは、パイプライン化された読出を
可能にするシンクロナスSRAMである。読出動作レー
テンシは2クロックサイクルであり、1サイクルはアド
レスのためであり、もう1サイクルはデータのためであ
る。書込動作レーテンシは1サイクルである。しかしな
がら、アドレスバスの双方およびデータバスの双方を各
サイクルにおいて用いることができる。バス利用率ペナ
ルティは以下のように回避される。
【0011】各クロックサイクルにおいて、1つのアド
レスバスおよび1つのデータバスを読出動作により用い
てもよい。(より特定的には、各クロックサイクルで
は、1つのアドレスバス上にこのサイクルにおいて開始
される読出動作のためのアドレスを乗せ、1つのデータ
バスにその前のサイクルにおいて開始された読出動作の
ためのデータを乗せることができる。)そのため、各ク
ロックサイクルにおいて1つのアドレスバスおよび1つ
のデータバスが書込動作に利用可能となっている。利用
率ペナルティは生じない。
【0012】この発明は、2つのアドレスバスもしくは
2つのデータバス、4つのメモリ、または読出もしくは
書込のために必要ないかなる特定の数のクロックサイク
ルにも限定されない。
【0013】いくつかの実施例では、互いの複製である
ミラーイメージメモリが提供される。いくつかのそのよ
うな実施例では、複数の読出が並行して起こり得る。そ
のため、いくつかの実施例は、2つの読出および2つの
書込を並行して行なうことのできるATMスイッチにお
いて用いられる。同時に読出すべき2つのセルが同じメ
モリ内に記憶されている場合、それらはまたそのメモリ
のミラーイメージに記憶されており、このため各セルは
異なるメモリから読出すことができる。すなわち、各メ
モリが単一ポートメモリであったとしても、2つのセル
を同時に読出すことができる。
【0014】あるセルがいずれかのメモリに書込まれる
ときには、そのメモリのミラーイメージにも書込まれ
る。
【0015】いくつかの実施例では、各メモリに対して
2つ以上のミラーイメージが提供される。たとえば、実
施例によっては、スイッチは同時に4つのセルを読むこ
とができ、各メモリは3つのミラーイメージメモリを有
し、4つのメモリすべてが同じデータを記憶するように
する。各メモリは単一ポートメモリである。同時に読出
すべき2つ以上のセルが同じメモリに記憶されている場
合、これらのセルは互いにミラーイメージである異なる
メモリから読出される。これに代えて、いくつかの実施
例では、各メモリはただ1つのミラーイメージしか有さ
ないが、各メモリにはポートが2つあり、したがって同
じメモリに記憶された4つのセルをメモリおよびそのミ
ラーイメージから同時に読出すことができる。
【0016】いくつかのミラーイメージ実施例では、ど
のメモリによってもパイプライン化された読出または書
込動作ができない。たとえば、各メモリが非同期SRA
Mである場合である。他の実施例ではパイプライン化さ
れた読出、パイプライン化された書込、またはその両方
が可能である。
【0017】この発明では、並行して共有メモリへの複
数のアクセスを行なう無閉塞ATMスイッチを、各々が
どの所与の時点においてもたかだか1つの共有メモリア
クセスしかしないスイッチファブリックから容易に構成
することが可能となる。
【0018】この発明はATMスイッチまたはネットワ
ークに限定されるものではない。この発明の他の特徴お
よび利点を以下に説明する。この発明は添付の特許請求
の範囲により規定される。
【0019】
【好ましい実施例の説明】図1は、メモリ110_UL
(「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のデータポート
に接続される。
【0020】アドレスバスおよびデータバスのいずれの
組合せを用いても4つのメモリのうちの1つにアクセス
することができる。たとえば、アドレスバスmAddr
_UおよびデータバスData_Lはメモリ110_U
Lへのアクセスをもたらし、アドレスバスmAddr_
DおよびデータバスData_Rはメモリ110_DR
へのアクセスをもたらす。2つのアドレスバスおよび2
つのデータバスが存在するため、同時に2つのメモリア
クセスを進行させることができる。特に、読出および書
込を同時に進行できる。さらに、以下に説明するよう
に、メモリシステムには4つのメモリが含まれるため、
4つのメモリが読出および書込動作に対して異なる数の
サイクルを用いていたとしても、4つのメモリのうちの
いずれか1つからの読出と4つのメモリのうちの別の1
つへの書込とを各クロックサイクルごとに行なうことが
できる。
【0021】メモリ110はATMスイッチ118内の
共有メモリシステムを形成する。スイッチ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つ以上のポートへ送る
ことができる。
【0022】図2は、スイッチ118のスイッチサイク
ルを示す。スイッチサイクルはクロックサイクル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とに記載される。
【0023】クロックサイクル0−67の間の動作は図
3に、より詳しく示される。サイクル68−135は図
4に、より詳しく示される。
【0024】クロックサイクル0(図3)において、ス
イッチファブリック122.1は「r0」で表わされる
ように、メモリ110のうちの1つからポート0上に送
るべきセルペイロードを読む。同じサイクルにおいて、
スイッチファブリック122.2は「w64」で表わさ
れるように、別のメモリ110にポート64上で受け取
ったセルペイロードを書く。同様に、クロックサイクル
1では、セルペイロードがポート1に対して読出され
(「r1」)、ポート65上で受け取られたセルペイロ
ードが書かれる(「w65」)。サイクル63の終わり
までには、64個のセル(すなわちセルペイロード)が
ポート0−63に対して読出され、ポート64−127
上で受け取られたセルが書かれている。
【0025】スイッチファブリック122.1は4つの
CPUcpu0−cpu3(図示せず)を含む。スイッ
チファブリック122.2は4つのCPUcpu4−c
pu7(図示せず)を含む。サイクル64−67におい
て、スイッチファブリック122.1はメモリ110か
らそれぞれ対応のCPUcpu0−cpu3へ送るため
の4つのセルを読み、スイッチファブリック122.2
はそれぞれ対応のCPUcpu4−cpu7から受け取
った4つのセルをメモリ110に書く。
【0026】サイクル68−135(図4)では、スイ
ッチファブリック122.1はポート0−63およびC
PUcpu0−cpu3から受け取ったセルをメモリ1
10に書く。同じサイクルにおいて、スイッチファブリ
ック122.2はポート64−127およびCPUcp
u4−cpu7へ送るべきセルを読む。
【0027】スイッチにより受け取られたセルは送信前
の一時的な記憶のため、どのメモリ110に書いてもよ
い。しかしながら、セルが送られる際、そのセルはそれ
が記憶されたメモリから読まれなければならない。その
ため、各クロックサイクルごとに、スイッチ118は4
つのメモリ110のうちのどれをそのクロックサイクル
の間に読むべきであるかを決定する。(読むべきメモリ
は送信すべきセルを記憶しているメモリである。)次
に、スイッチは同じクロックサイクルにおいて書込むべ
き異なるメモリ110を選択する。
【0028】いくつかの実施例において、メモリ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である。メモリはフロースルーモードで用いられ
る。
【0029】図5では、読出動作から書込動作、または
書込から読出への切換は1サイクルのペナルティを伴
う。データポートに関しては、1サイクルペナルティが
書込動作Wr1と読出動作Rd2との間に見られる。ア
ドレス入力に関しては、ペナルティは読出動作Rd2と
書込動作Wr4との間に見られる。
【0030】図1のメモリシステムでは、ただ2つのア
ドレスバスとただ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に用いられる。
【0031】図3および図4のいくつかの実施例では、
「ri」(i=0、1、…127)または「rcpu
i」(i=0、1、…7)は、読出アドレスがアドレス
バスに提供され、それぞれポートiまたはCPUcpu
iへ送るべきセルを読むサイクルを示す。別の実施例で
は、「ri」または「rcpui」は、ポートiまたは
CPUcpuiへ送るべきセルがデータバスへ読出され
るサイクルを示す。
【0032】次に、ATMスイッチ118におけるメモ
リ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)であ
る。
【0033】スイッチファブリック制御論理回路16
0.1および160.2は制御バス164に接続され
る。バス164はアドレス生成論理170(図1および
図7)に接続される。論理170はメモリ110のため
のアドレス信号を生成し、そのアドレス信号をバスmA
ddr_U、mAddr_Dへ提供する。論理170は
また、以下に説明されるメモリ制御信号を生成する。
【0034】図7では、OCP(出力セルポインタ)が
読出アドレス、すなわち読出すべきセルのアドレスであ
る。ICP(入力セルポインタ)は書込アドレスであ
る。内部において、スイッチファブリック122は各メ
モリ110アドレスを特定のメモリ110を識別する2
つの最下位ビット(LSB)で補う。このように、いく
つかの実施例では、各メモリ110は15ビットアドレ
スを用い、各アドレスバスmAddr_U、mAddr
_Dは15ビット幅であるが、スイッチファブリックは
アドレスを内部的に17ビットに拡張する。読出アドレ
スでは、メモリ110を識別する2つのLSBは出力セ
ル領域(OCR)と称される。
【0035】OCPおよびICPはメモリ110を識別
する2つのLSBを含まない。そのため、OCPおよび
ICPの各々はメモリバスmAddr_UまたはmAd
dr_D(上の例では15ビット)と幅が同じである。
【0036】ICP、OCPおよびOCRは以下に説明
するようにスイッチファブリック制御論理回路により制
御バス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に接続さ
れる。
【0037】論理524は図6の部分Aに関連して上に
説明したアルゴリズムに従って動作する。
【0038】論理524はまた、以下の信号を生成す
る。すなわち、 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とであ
る。
【0039】これらの信号のタイミングダイアグラムは
図6の部分Bに示される。部分Bでは、「1」は対応す
る信号がアサートされたことを意味し、「0」はその信
号がデアサートされたことを意味する。(たとえば、サ
イクル2では、R_weはアサートされ、L_weはデ
アサートされる。)ここで説明する実施例では、各メモ
リアクセス動作ごとに、動作のアドレスフェーズの間、
すなわちアドレスがメモリに提供されるクロックサイク
ルの間にチップ選択がアサートされるメモリが用いられ
る。同様に、出力イネーブル信号は読出動作のアドレス
フェーズの間アサートされ、書込イネーブル信号は書込
動作の間アサートされる。
【0040】論理524はまた、以下により詳しく説明
するように、後の書込動作において書込むべきメモリ1
10を識別する2ビット信号Stk_Sel[1:0]
を生成する。
【0041】図9は、スイッチファブリック制御論理回
路160.1、160.2、制御バス164およびアド
レス生成論理170のさらなる詳細を示す。
【0042】制御バス164は、出力制御バス164.
O、入力制御バス164.Iおよび、論理524(図
7)の出力Stk_Selに接続される2ビットバスS
tk_Selを含む。
【0043】各ファブリック制御論理160.1、16
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により
読まれるべき際にセットされる。
【0044】出力770はまた、ラッチ740を通して
入力バス164.Iの以下の線に接続される。すなわ
ち、MASK、CID、SMID、ICPおよびATT
Rである。ATTRはセル属性である。上に引用される
「ATMS2004Bスイッチコントローラ2『グレ
イ』」(12−13頁)を参照されたい。
【0045】入力制御バス164.Iの線CID、SM
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に接続される。
【0046】バスStk_Selは各MSC720に、
それぞれ対応のCBL730を通して接続される。
【0047】制御バス164の線ICP、OCP、OC
Rは、図7に示されるようにアドレス生成論理170の
入力に接続される。
【0048】図10に示されるように、各MSC720
は、それぞれ対応のメモリ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線に書かれる。
【0049】セルがすべてのポートおよびCPUに送ら
れると、それぞれのメモリ110内のセルペイロードへ
のポインタはすべてMSC720内のそれぞれのスタッ
ク810(図10)に戻される。
【0050】図11にはアドレス生成パイプラインが示
される。クロックサイクル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を参照されたい。
【0051】また、サイクルt−6において、セルをサ
イクルtにおいてメモリ110に書くことになっている
制御ブロック710は、セルを送ることになっているす
べてのMSC720を識別する信号によって出力バス1
64.OのMASK線を駆動する。セルをサイクルtに
おいて読むことになっている制御ブロック710は、セ
ルが読出された後に制御ブロックがセルをメモリに記憶
し続ける必要があるかどうかを示す信号によって入力バ
ス164.IのMASK線を駆動する。この情報はセル
メモリを解放することができるかどうかを判定するのに
用いられる。
【0052】サイクルt−3において、サイクルtにお
いて開始するセルを読むことになっている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に記載されるものと同様である。
【0053】いくつかの実施例では、相互接続マトリク
ス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に接続される。
【0054】他の実施例では、単一の相互接続マトリク
ス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とを含む。
【0055】各バッファ130.i.1、130.i.
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のうちの一方がデータバスの一方を
用い、他方のスイッチファブリックが他方のデータバス
を用いる。
【0056】図13は、それぞれのメモリ110_U
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のものと同
様である。
【0057】アドレスバスが別個であるため、異なるア
ドレスをバスmAddr_UL、mAddr_UR上と
バスmAddr_DL、mAddr_DR上とに生成で
きる交番モードで図13のスイッチを動作させることが
できる。このモードにおいて、各メモリ110は図1の
モードの半分の大きさおよび半分の帯域幅を有するた
め、メモリシステムはより安価である。特に、各データ
バスData_L、Data_Rの幅は図1のシステム
のそれぞれ対応のデータバスの半分である。さらに、交
番モードでは、スイッチには64個のポートと4つのC
PUしかなく、このためシステム費用はさらに減少され
る。
【0058】交番モードにおいても図2、図3、図4が
当てはまる。入力および出力フェーズの詳細は図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から受取
ったセルペイロードを書く。
【0059】クロックサイクル68−135において、
ファブリック122.1、122.2は入れ替わり、フ
ァブリック122.1は出力フェーズとなり、ファブリ
ック122.2は入力フェーズとなる。
【0060】図14、図15では、「r」は読出動作の
データフェーズを示す。すなわち、クロックサイクル0
において、セルペイロードの半分は、前のクロックサイ
クルにおいて論理170により提供されるアドレスに応
答してデータバス上にファブリック122.1へ提供さ
れる。クロックサイクル1では、同じセルペイロードの
残り半分が同じデータバス上に提供される。
【0061】下の表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に利用可能である。
【0062】
【表1】
【0063】どの2つのサイクル2i、2i+1(i=
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つの書込動作に利用可能であり、読出と並行してセ
ルペイロードの両半分をそのメモリに書込むことが可能
となる。
【0064】表1に示すように、データバス利用率ペナ
ルティはない。しかしながら、このモードではいずれの
クロックサイクルにおいても2つのアドレスバスが使用
されていない。
【0065】図16では、図9の共有バス164は専用
接続により置き換えられ、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であ
る。
【0066】バス164は、それぞれ対応のカード10
50.i、1050.jを相互に接続する専用接続16
4.i、jにより置き換えられる。
【0067】図17は、1つの代表のカード1050を
より詳しく示す。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へ送る。
【0068】バス1062はまた、CMI1054の入
力に接続され、MSC720が互いに連絡できるように
する。
【0069】バックプレーンの線はラッチ1064を通
してCMI1054の入力に接続される。CMI105
4の出力はMSC720の入力に接続される。これらの
出力は、図9の回路754、758、760、750の
出力と同じ機能を果たす。
【0070】アボート論理1070の入力/出力ポート
は2つのMSC720に接続される。アボート論理10
70の他の入力/出力ポートは、全信号OFULL、I
FULLの送信のためラッチ1064を通してバックプ
レーン164Bに接続される。
【0071】バックプレーン164Bを通る信号はラッ
チ1064の2つのレベルにより遅延される(1レベル
は発信元カード1050、1レベルは行先カード)。そ
のため、CMI1054は同じカードのバス1062か
ら受取った信号(ループバック信号)を2つのクロック
サイクルだけ遅延させる。
【0072】いくつかの実施例では、2つのカード10
50の回路(つまり、4つのMSC720および2つの
CMI回路1054)が同じカード上で組合される。他
の組合せも可能である。
【0073】図18は、無閉塞ATMスイッチ1110
における別のメモリシステムを示す。スイッチ1110
は4つのスイッチファブリック122.1−122.4
から構成される。各スイッチファブリック122は複数
のポート(図示せず)、たとえば64個のポートを制御
し、1つ以上のCPU(図示せず)、たとえば4つのC
PUを含む。スイッチファブリック122は制御バス
(図示せず)により相互に接続される。スイッチ111
0はまた、アドレス生成論理、メモリバッファ、PIF
および1つ以上の相互接続マトリクスを含むが、簡略化
するため、これらは図示しない。
【0074】図18では、個々のメモリ110_A、1
10_B、110_C、110_D、110′_A、1
10′_B、110′_C、110′_Dはいくつかの
実施例において非同期SRAMである。
【0075】スイッチ1110のスイッチサイクルは図
19に示される。クロックサイクル0−67において、
スイッチファブリック122.1、122.2は入力フ
ェーズにあり、ファブリック122.3、122.4は
出力フェーズにある。クロックサイクル68−135に
おいて、ファブリック122.1、122.2は出力フ
ェーズにあり、ファブリック122.3および122.
4は入力フェーズにある。いくつかの実施例では、各ス
イッチファブリックの入力および出力フェーズは図2、
図3、図4のものと同様である。
【0076】入力フェーズにある2つのスイッチファブ
リックはすべてのクロックサイクルにおいてメモリ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を読む。
【0077】いずれかのメモリに書込まれると、そのミ
ラーイメージメモリにも同じアドレスに同じデータが書
込まれる。すなわち、一例では、クロックサイクル68
−135のうちの1つにおいて、スイッチファブリック
122.3はメモリ110_C、110′_Cの各々
に、双方のメモリの同じアドレスにセルを書込み、スイ
ッチファブリック122.4はメモリ110_D、11
0′_Dの各々に、双方のメモリの同じアドレスに別の
セルを書込む。デュアルポートメモリがメモリの両方に
必要という訳ではない。
【0078】メモリスイッチ1120は、図19に関連
して上に説明した動作を達成するのに適した態様で、メ
モリ110のデータポートDをそれぞれ対応のスイッチ
ファブリック122のデータバスData_1からDa
ta_4に接続する。メモリスイッチ1120は当該技
術において公知である方法を用いて制御される。メモリ
110のためのアドレスおよび制御信号は公知の方法を
用いて生成される。
【0079】いくつかの実施例は図1および図16の技
術を組合せている。たとえば、いくつかの実施例には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は互いのミラーイメ
ージである。
【0080】各メモリブロックに対し、4つのデータバ
スおよび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のアドレス入
力に接続される。
【0081】メモリシステムは無閉塞スイッチ、たとえ
ば、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つの書込が各クロックサイクルごとに
行なわれる。
【0082】上述の実施例はこの発明を限定しない。特
に、この発明はどの特定の種類のメモリまたはメモリタ
イミングにも限定されない。いくつかの実施例ではDR
AMまたは他の種類のメモリが用いられる。図1のいく
つかの実施例では、各読出動作は3以上のクロックサイ
クルを要し、各書込動作は2以上のクロックサイクルを
要する。いくつかの実施例では、アドレスバスの数は読
出動作に要するクロックサイクルの数と等しく、新しい
読出アドレスが各クロックサイクルにおいて供給され
る。この発明はメモリシステム内に用いられるメモリの
数に限定されない。いくつかの実施例では、互いのミラ
ーイメージであるメモリは同じアドレスに同じデータを
記憶する。他の実施例では、異なるメモリは同じデータ
を記憶するのに異なるアドレスを用いる。いくつかの実
施例では、各メモリは集積回路、または集積回路の組合
せである。この発明はATMに限定されない。いくつか
の実施例では同期転送モードまたは他のいずれかのデー
タフローが含まれる。いくつかの実施例では、イーサネ
ット(Ethernet)、フレームリレー、および/またはP
PP/ソネット(Sonet )スイッチが含まれる。このよ
うな実施例のいくつかでは、パケットまたはフレームが
固定サイズ(たとえば48バイト)のセルにさらに分け
られ、最後のセルは固定サイズになるようパディングさ
れる。セルは上述のとおりメモリに記憶される。次に、
セルは上述のようにメモリから読出され、再び組合さ
れ、元のフレームまたはパケットが得られ、パケットま
たはフレームが送られる。他の実施例および変形も、添
付の特許請求の範囲により規定されるようにこの発明の
範囲内に含まれる。
【図面の簡単な説明】
【図1】この発明によるメモリシステムを有するATM
スイッチのブロック図である。
【図2】図1のいくつかの実施例におけるスイッチサイ
クルを示すタイミングダイアグラムの図である。
【図3】図1のいくつかの実施例におけるスイッチサイ
クルを示すタイミングダイアグラムの図である。
【図4】図1のいくつかの実施例におけるスイッチサイ
クルを示すタイミングダイアグラムの図である。
【図5】図1のいくつかの実施例において用いられるシ
ンクロナスSRAMのタイミングダイアグラムの図であ
る。
【図6】図1のいくつかの実施例における読出および書
込動作を示すタイミングダイアグラムの図である。
【図7】図1のいくつかの実施例におけるメモリアドレ
ス生成論理の回路図である。
【図8】図1のいくつかの実施例の詳細を示すブロック
図である。
【図9】図1のいくつかの実施例のATMスイッチのあ
る部分のブロック図である。
【図10】図1のいくつかの実施例において用いられる
回路のブロック図である。
【図11】図1のいくつかの実施例において用いられる
アドレス生成パイプラインのタイミングダイアグラムの
図である。
【図12】図1のいくつかの実施例において用いられる
回路のブロック図である。
【図13】この発明によるATMスイッチのある部分の
ブロック図である。
【図14】図13のスイッチのためのタイミングダイア
グラムの図である。
【図15】図13のスイッチのためのタイミングダイア
グラムの図である。
【図16】この発明によるATMスイッチのブロック図
である。
【図17】図16のスイッチの詳細を示すブロック図で
ある。
【図18】この発明によるメモリシステムを有するAT
Mスイッチのブロック図である。
【図19】図18のいくつかの実施例におけるスイッチ
サイクルのタイミングダイアグラムの図である。
【符号の説明】
110 メモリ 118 ATMスイッチ 122 スイッチファブリック 130 メモリバッファ 150 相互接続マトリクス 160 スイッチファブリック制御論理 164 制御バス 170 アドレス生成論理 524 論理回路 710 制御ブロック 720 モジューラスイッチコントローラ(MSC) 730 制御バス論理(CBL) 754、758、760 キュー 810 スタック 820 マルチプレクサ 1050 カード 1054 制御メッセージインターフェイス(CMI)
集積回路 1062 バス 1110 無閉塞ATMスイッチ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アリ・バーガー アメリカ合衆国、94087 カリフォルニア 州、サニィベイル、ダーシャー・ウェイ、 782

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 複数のメモリと、 複数のアドレスバスと、 複数のデータバスとを含み、 少なくとも1つのデータバスは、それぞれ異なるアドレ
    スバスに接続された異なるメモリに接続される、メモリ
    システム。
  2. 【請求項2】 読出動作を、データバス利用率ペナルテ
    ィがゼロであるような態様で書込動作と重ねることがで
    きる、請求項1に記載のメモリシステム。
  3. 【請求項3】 各メモリは、1つの読出動作におけるメ
    モリによるデータの出力が別の読出動作におけるメモリ
    によるアドレス読取りと重なる、パイプライン化された
    読出動作を可能にする、請求項1に記載のメモリシステ
    ム。
  4. 【請求項4】 各メモリはシンクロナスSRAMであ
    る、請求項3に記載のメモリシステム。
  5. 【請求項5】 1つの読出動作でのデータバス上に読出
    データを提供するステップが別の読出動作でのアドレス
    バス上への読出アドレスを提供するステップと重なる態
    様で少なくとも2つの読出動作を重ねることができるメ
    モリシステムであって、 前記メモリシステムは重なり合う読出動作を、前記重な
    り合う読出動作により用いられていないアドレスおよび
    データバスを用いる1つ以上の書込動作と重ねることを
    可能にする、請求項1に記載のメモリシステム。
  6. 【請求項6】 任意のアドレスバスおよび任意のデータ
    バスの任意の組合せに対しても前記アドレスバスおよび
    前記データバスに接続されるメモリが存在する、請求項
    1に記載のメモリシステム。
  7. 【請求項7】 並行してメモリにアクセスすることがで
    きる複数のスイッチファブリック回路と組合されるメモ
    リシステムであって、前記スイッチファブリック回路の
    数が前記データバスの数と等しい、請求項1に記載のメ
    モリシステム。
  8. 【請求項8】 1以上のメモリと、 複数のアドレスポートと、 複数のデータポートとを含み、アドレスポートと前記デ
    ータポートのうちの対応する1つとの組合せにより前記
    メモリシステムへのアクセスが提供されるようにしたメ
    モリシステムであって、 前記アドレスポートに接続される複数のアドレスバス
    と、 前記データポートに接続される複数のデータバスとをさ
    らに含み、 少なくとも1つのデータバスは、異なるアドレスバスに
    接続された異なるアドレスポートに対応する異なるデー
    タポートに接続される、メモリシステム。
  9. 【請求項9】 読出動作を、データバス利用率ペナルテ
    ィがゼロであるような態様で書込動作と重ねることがで
    きる、請求項8に記載のメモリシステム。
  10. 【請求項10】 アドレスポートと対応するデータポー
    トとの各組合せは、前記データポートが1つの読出動作
    においてデータを提供するステップが前記アドレスポー
    トが別の読出動作のためのアドレスを受取るステップと
    重なる、パイプライン化された読出動作に利用可能であ
    り、 任意の所与のアドレスポートおよび対応するデータポー
    トを通しての連続した書込動作はパイプライン化されて
    おらず、 前記メモリシステムは、連続した読出動作が同じアドレ
    スポートまたは同じデータポートを通して行なわれてい
    るか否かにかかわらず、および前記連続した書込動作が
    同じアドレスポートまたは同じデータポートを通して行
    なわれているか否かにかかわらず、前記連続した読出動
    作を前記連続した書込動作と並行して行なうことを可能
    にする、請求項8に記載のメモリシステム。
  11. 【請求項11】 前記連続した読出動作と、前記連続し
    た読出動作と並行して行なわれる前記連続した書込動作
    とは、いかなるデータバス利用率ペナルティを課せられ
    ることなくすべてのアドレスおよびデータバスを用いる
    ことができる、請求項10に記載のメモリシステム。
  12. 【請求項12】 並行してメモリシステムにアクセスす
    ることができる複数のスイッチファブリック回路と組合
    されるメモリシステムであって、前記スイッチファブリ
    ック回路の数が前記データバスの数と等しい、請求項8
    に記載のメモリシステム。
  13. 【請求項13】 少なくとも第1のアドレスポート、第
    1のデータポート、第2のアドレスポートおよび第2の
    データポートを含むメモリシステムにアクセスするため
    の方法であって、 (1) 前記第1のアドレスおよびデータポートを通し
    ての読出アクセスにおいて、前記第1および第2のアド
    レスポートに読出アドレス信号を提供するステップと、 (2) 前記読出アクセスにおいて、前記第1のデータ
    ポートが読出データ信号を提供するステップと、 (3) ステップ(2)の少なくとも一部分と並行し
    て、前記第2のアドレスポートおよび前記第2のデータ
    ポートを通しての書込アクセスにおいて、前記第1およ
    び第2のアドレスポートに書込アドレス信号を提供し、
    前記第2のデータポートに書込データ信号を提供するス
    テップとを含む、方法。
  14. 【請求項14】 前記第1および第2のアドレスポート
    は共通の線に接続される、請求項13に記載の方法。
  15. 【請求項15】 前記第1のアドレスおよびデータポー
    トは第1のメモリのアドレスおよびデータポートであ
    り、前記第2のアドレスおよびデータポートは第2のメ
    モリのアドレスおよびデータポートである、請求項13
    に記載の方法。
  16. 【請求項16】 少なくとも第1のアドレスポート、第
    1のデータポート、第2のアドレスポートおよび第2の
    データポートを含むメモリシステムにアクセスするため
    の方法であって、 (1) 前記第1のアドレスおよびデータポートを通し
    ての読出アクセスにおいて、前記第1のアドレスポート
    に接続される第1の線上に読出アドレス信号を提供する
    ステップと、 (2) ステップ(1)の少なくとも一部分と並行し
    て、前記第2のアドレスおよびデータポートを通しての
    書込アクセスにおいて、前記第2のアドレスポートに接
    続される第2の線上に書込アドレス信号を提供し、前記
    第1および第2のデータポートに接続される第3の線上
    に書込データ信号を提供するステップと、 (3) ステップ(2)における前記第3の線上に前記
    書込データ信号を提供するステップの後に、前記メモリ
    システムが前記読出アクセスにおいて前記第3の線上に
    読出データ信号を提供するステップとを含む、方法。
  17. 【請求項17】 前記第1のアドレスおよびデータポー
    トは第1のメモリのアドレスおよびデータポートであ
    り、前記第2のアドレスおよびデータポートは第2のメ
    モリのアドレスおよびデータポートである、請求項16
    に記載の方法。
  18. 【請求項18】 メモリシステムであって、 複数の組のメモリと、 前記メモリへの並列アクセスを可能にするための回路と
    を含み、 (1) ある組の中の任意のメモリに書込まれる場合、
    同じ組のすべてのメモリにも同じデータが書込まれ、 (2) ある組の中の任意のメモリの読出は、同じ組の
    他のどのメモリの読出とも並行して行なわれるよう動作
    可能であるようにする、メモリシステム。
  19. 【請求項19】 前記メモリシステムへアクセスできる
    複数のスイッチファブリックをさらに含む、請求項18
    に記載のメモリシステム。
  20. 【請求項20】 どのスイッチファブリックも前記メモ
    リシステムのどのメモリへもアクセスでき、そのため前
    記スイッチファブリックは無閉塞スイッチを形成する、
    請求項19に記載の組合せ。
  21. 【請求項21】 複数の組のメモリを含むメモリシステ
    ムにアクセスするための方法であって、各組は少なくと
    もM個のメモリを有し、M>1であり、前記方法は (1) 前記メモリのうちのM個を並行して読むステッ
    プと、 (2) ステップ(1)の少なくとも一部分と並行し
    て、メモリの組の各メモリが同じデータで書かれるよう
    な態様で前記メモリの組の各メモリに書込むステップと
    を含み、書込まれるメモリはいずれもステップ(1)に
    おいて読出されるメモリではない、方法。
JP30586398A 1997-10-28 1998-10-27 メモリシステムおよびメモリシステムにアクセスするための方法 Expired - Lifetime JP3615948B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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