JP3678412B2 - ネットワーク・プロセッサのためのdramデータ記憶及び移動 - Google Patents

ネットワーク・プロセッサのためのdramデータ記憶及び移動 Download PDF

Info

Publication number
JP3678412B2
JP3678412B2 JP2000390789A JP2000390789A JP3678412B2 JP 3678412 B2 JP3678412 B2 JP 3678412B2 JP 2000390789 A JP2000390789 A JP 2000390789A JP 2000390789 A JP2000390789 A JP 2000390789A JP 3678412 B2 JP3678412 B2 JP 3678412B2
Authority
JP
Japan
Prior art keywords
read
data
bank
write
window
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.)
Expired - Fee Related
Application number
JP2000390789A
Other languages
English (en)
Other versions
JP2001222465A (ja
Inventor
ブライアン・ミッチェル・バス
ジャン・ルイ・カルヴィニャック
マルコ・シー・ヘッヅ
スティーブン・ケネス・ジェンキン
マイケル・スティーブン・シゲル
マイケル・レイモンド・トロムブレイ
ファブリス・ジャン・ヴェルプランケン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001222465A publication Critical patent/JP2001222465A/ja
Application granted granted Critical
Publication of JP3678412B2 publication Critical patent/JP3678412B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ダブル・データ・レートDRAM(DDR DRAM)に基づいた電子計算機記憶装置に関するもので、特にDRAMにおけるデータ転送速度のアップグレードに関する。
【0002】
【従来の技術】
コンピュータのメイン・メモリは、所定のタスクに関する命令を実行するための中央演算処理装置(CPU)によって要求されるデータ及びプログラムを格納する。このメイン・メモリに格納されたデータへのアクセスに要する時間は、命令を実行するのに利用可能な時間を減じるもので、コンピュータの全体的な動作速度を遅くする。メモリ・アクセスの時間を減少させるものならば何でもコンピュータの動作速度を増加させるのに役立つ。メイン・メモリはランダム・アクセス・メモリ(RAM)装置と呼ばれる半導体記憶装置に格納される。RAMの最も一般的なタイプは、ダイナミック・ランダム・アクセス・メモリ(DRAM)とスタティック・ランダム・アクセス・メモリ(SRAM)である。これらの装置の各々は、それ自体の利点及び欠点を有する。
【0003】
ネットワーク・プロセッサは、所定の長さのシーケンスからなるフレームをフォワーディング、ルーティング、及びフィルタリングする上で、コンピュータの世界でより一層重要になっている。より大きなネットワークが構築されるにつれて、ネットワーク・プロセッサは益々多くのトラフィック及び帯域幅に対する要求を満たす必要性が増加していく。いくつかのギガビット・ポートを処理することができるネットワーク・プロセッサを構築するために、単位時間あたりに大量のデータを転送するために、広帯域要求に追随される従来の設計はデータ記憶装置としてSRAMに頼っていた。しかし、SRAMはそのような解決策のコストを上げるので、より安い解決策が探し求められた。DRAMは、ネットワーク・プロセッサで必要とされるより大きいデータ記憶装置の手助けとなるより大きいアレイ・サイズと低コストという利点を持つ。DRAMチップの使用に関連したいくつかの不利な点がある。一つは、「読み出し」又は「書き込み」アクセスの間に生ずるDRAMチップの高レイテンシである(DRAMにアドレスするための数サイクルの遅延)。もう一つは、メモリの読み出し及び書き込みに関する複雑な規則である。RAS及びCAS規則は、SRAMによって可能なアクセスとは異なったメモリへのランダム・アクセスを制限する。また、2ミリ秒毎に、又は固有のコンデンサ・リークのせいで、メモリを周期的にリフレッシュする必要がある。
【0004】
より新しいダブル・データ・レートDRAM(DDR DRAM)は、クロックパルスの立ち上がり時及び立ち下がり時の両方でデータを移すことで、通常のDRAMよりも2倍速いデータ転送を可能とする。このアプローチを用いることで、データがクロック・パルスの縁部分立ち上がり時及び縁部分立ち下がり時の両方で転送され、効果的に帯域幅が2倍になる。このようなDDR DRAMは、手を加えていない帯域幅を最大4.2ギガビットまで可能とする133MHz(さらにそれ以上)まで速度が上昇する。
【0005】
サイズが固定されているバッファを使用することは、固定されたパケット・サイズを持つATM等のネットワーク・システムで十分に働く。しかし、様々なフレーム・サイズがあるイーサーネットのようなネットワークでは、64バイト・バッファの使用は、データ記憶装置に対して著しいパフォーマンス・ヒットが生ずる。例えば、64バイト・フレームがデータ記憶装置に格納されていると仮定する。このことは、データを格納するための2つのバッファ、データをDRAMに「書き込む」ための2つの「書き込み」ウィンドウ、及びDRAMからデータを読み出すための2つの「読み出し」ウィンドウを必要とするであろう。本発明を説明する目的で、「ウィンドウ」はDRAMからのデータの読み出し動作又はDRAMへのデータの書き込み動作の間のタイム・スロットとして定義する。システム帯域幅は、この68バイト・フレーム上で動作するためにほぼ半分にカットされる。DRAMがRAS及びCASに関する複雑な規則を有し、かつ全くランダムなアクセスをサポートしていないことから、もし何かがこの状況を補償するために実行されなければ64バイト・フレームにアクセスした時にDRAM帯域幅が失われるであろう。
【0006】
【発明が解決しようとする課題】
本発明の第1の目的は、DRAMシステムを用いてネットワーク・プロセッサのための記憶容量及びデータ転送率を増加させることである。
【0007】
本発明の第2の目的は、ネットワーク・プロセッサで使用するために、より幅広い帯域幅によるデータの転送を達成することである。
【0008】
本発明の第3の目的は、DRAMへのデータ転送及びDRAMからのデータ転送に使用されるクロック周波数を最大にするためにネットワーク・プロセッサによって必要とされるデータの移動を制御することである。
【0009】
本発明の第4の目的は、ネットワーク・プロセッサによる多重フレームのサービスをアービトレーションする能力を持つことである。
【0010】
本発明の第5の目的は、DRAMの「読み出し」及び「書き込み」をランダム化可能とすることである。
【0011】
これらの目的、及びこの記述を読んで理解することで当業者によって自明になるであろう他の目的は、以下のようにして達成される。
【0012】
ネットワーク・プロセッサのための改善されたデータ転送システムは、以下の機能を一つ以上含むランダム・アクセス・メモリ(DRAM)チップを使用する。すなわち、その機能とは、(a)各々がタイム・クロックの立ち上がり縁部分上及び立ち下がり縁部分上の両方でデータを移すことができる並列した一対のダブル・データ・レートDRAMとしての機能、(b)各タイム・セルの間で、ネットワーク・プロセッサによって読み出されるデータからなる4つのバンクとそれに続く書き込まれる4つのバンクを可能とする時分割マルチプレクサとしての機能、及び(c)フレームの長さに依存したDRAMの全体的な帯域幅を増加させるためにデータ・フレームのサイズを変更することで有用な有効バンク・ベクトルとしての機能である。
【0013】
特に、ダイナミック・ランダム・アクセス・メモリ(DRAM)記憶装置を用いる複数のネットワーク・プロセッサのための改良されたデータ転送システムに関する。このシステムは、各々がタイム・クロックの立ち上がり縁部分上及び立ち下がり縁部分上の両方でデータを移すことができる並列の一対のダブル・データ・レートDRAMチップを有する。また、そのシステムは、タイム・クロックの20サイクル・セル1回の間でネットワーク・プロセッサによって読み出されるデータからなる4つのメモリ・バンクとそれに続く書き込まれる4つのメモリ・バンクを可能とすマルチプレクサを有する。さらに、システムはDDR DRAMと各々のネットワーク・プロセッサとの間で「読み出し」データ及び「書き込み」データの転送のためのシリアル・バス及びパイプラインを有する。好ましくは、システムは固定されたサイズのデータ記憶装置バッファを利用するもので、各バッファの容量は64バイトである。各メモリ・バンクは、データ記憶装置の1/4を構成する。システムは、DDR DRAMに対する「読み出し」及び「書き込み」のためのランダム・アクセスを可能とする優先プログラムも含むことができる。
【0014】
本発明の別の局面では、ネットワーク・プロセッサで使用するデータを格納し、かつ移動させるための方法を説明する。この方法は、(a)並行して作動し、かつクロックが同調した第1及び第2のDDR DRAMチップにデータを格納するステップと、(b)DDR DRAMクロックの各繰り返しセルで所定のサイクル数を含むデータ移動パターンを確立するステップと、(c)「読み出し」ウィンドウの過程で完全「読み出し」を行うために該パターンに含まれる連続したサイクルの集まりを確保するステップと、(d)「書き込み」ウィンドウの過程で完全「書き込み」を行うために該パターンに含まれる第2の連続したサイクルの集まりを確保するステップとを含む。
【0015】
方法は、各読み出しウィンドウ又は各書き込みウィンドウからのデータを複数のバッファのうちの一つへ格納する工程をさらに有するものであってもよい。各ウィンドウは、好ましくは64バイトのデータからなるバーストを有し、また各バッファは64バイトの記憶容量を有する。データがパイプライン処理されて「読み出し」ウィンドウの間に読み出される4バンクと、それに続いて「書き込み」ウィンドウの間に書き込みされる4バンクとを可能とする。各バンクは好ましくはデータ記憶装置の1/4を有する。データは64バイトのバースト中で読み出し又は書き込みされる。
【0016】
本発明はさらにネットワーク・プロセッサのためのアービトレーション・システムと、該ネットワーク・プロセッサによってサービスされている多重フレームのための高帯域データ移動を提供する方法とを有する。このシステムは、DRAMチップ内の4つのバンク(a,b,c,及びd)の各々を読み出すためのタイム・スロット又はウィンドウと4つのバンクの各々を書き込むためのタイム・スロットとを確立することが含まれる。次に、システムは所定のフレームについてどのバンクが読み出す必要があり、またどのバンクが書き込む必要があるかを判断する。システムは、その所定のフレームによって必要とされる適当な読み出し又は書き込みタイプ・スロットの間にバンクにアクセスする。続いて、所定の時間間隔の間に「読み出し」アクセスを必要とする全てのフレームをレビューし、「a」バンクに対して「読み出し」アクセスを必要とする全てのフレーム間のすべての「a」バンクについてアービトレートする。同様にして、システムは他のバンクへのアクセスを要求するフレームの「b」、「c」、及び「d」バンク全てに対してアービトレートする。次に、フレームをレビューするステップと「書き込み」アクセスを必要とする他のフレームをアービトレートするステップとを繰り返す。
【0017】
最後に、本発明はDRAMに対するランダムな「読み出し」及び「書き込み」アクセスをネットワーク・プロセッサに提供する方法を含む。この方法は、DRAMチップの複数のバンクa,b,c,..に対する「読み出し」及び「書き込み」アクセスを順序付けするステップを有する。「読み出し」ステップの過程で、実行されることが必要な任意の読み出し命令についてバンク「a]に優先順位を与えるためにアービトレーションが使用される。もしバンク「a」で使用可能な「読み出し」アクセスがないならば、該バンクは「書き込み」命令に対するアクセスが与えられ、そしてバンク「b」は同様に「書き込み」命令が与えられる。もしバンク「b」へのアクセスがバンク「a」へのアクセスよりも困難であるならば、バンク「b」はバンク「c」を優先してバイパスされる。なぜなら、「読み出し」と「書き込み」との間をスイッチするために隣接する2つのバンク間で十分な時間遅延がないためである。システムがバンク「c」をスキップする場合、読み出し又は書き込みにかかわらずバンク「c」に対して優先順位を与えるためにアービトレーションを変更する。したがって、十分な時間が経過することによって、システムによる「読み出し」から「書き込み」へのスイッチングが可能となる。このようにして、システムは「読み出し」又は「書き込み」であるか否かにかかわらず、このバンクを介してデータ交換を収容することができる。これらのステップは、「書き込み」ウィンドウの間に繰り返される。このようなランダム・アクセスの技術は、制御情報を処理する上で特に有用である。
【0018】
【発明の実施の形態】
ネットワーク・プロセッサが『完全「読み出し」』又は『完全「書き込み」』ウィンドウでDRAMを用いている場合、DRAMに対する要求の全てが時分割多重(TDM)スキームに置かれる。TDMは、サンプリングを伴うプロセス及びパルス変調の採用から論理的に続く多重伝送の形式である。パルス間に時間的なギャップがあり、そのようなギャップは他のパルスがインタリーブされることを許す信号を生成する。レシーバ側での所望の信号抽出は、トランスミッタに同期して動作しているシステムを必要とする。ネットワーク・プロセッサとDRAMとの間のインタフェースは、それによって両デバイスが多重及び抽出する2方向性であることを理解すべきである。本発明のフレームワーク内で、TDMは「書き込み」されている4バンクが後に続くネットワーク・プロセッサによって「読み出し」される4バンクを可能とする。「読み出し」がパイプライン処理されることで、20サイクル・セルで4バンクの読み出しを可能とする。「書き込み」もパイプライン処理されることで、20サイクル毎に4バンクの書き込みを可能とする。このTDMスキームによって、ネットワーク・プロセッサは1.7ギガビットの「読み出し」帯域幅と1.7ギガビットの「書き出し」帯域幅とを可能とする。20サイクルのうちの4サイクルのみがデータ移動に使用されない。このTDMとともにDRAMを使用することで大部分の帯域幅が可能となるが、一方でネットワーク・プロセッサが適時に「読み出し」及び「書き込み」の両方をスケジュールすることを可能とする(20サイクル繰り返しウィンドウ)。このTDMスキームは、ネットワーク・プロセッサで必要とされるデータ移動に対して十分に働く。ネットワーク・プロセッサは、データ記憶装置に1.7ギガビット/秒のデータ信号速度でデータを格納することができ、また該データ記憶装置から1.7ギガビット/秒のデータ信号速度でデータを取り出すことができる。大部分のネットワーク・プロセッサは、フレームがデータ記憶装置に格納され、ヘッドが読み出しされ、フレームが処理/変調され、さらに結果として生ずるフレームが宛先ポートに送られたことを要求する。ヘッダを読み出してフレームを処理/変調することの抽出オーバーヘッドは、「読み出し」及び「書き込み」帯域幅合計の一部を使い尽くす。ギガビット・イーサーネット・ポートをサポートすることは、約1.5ギガビットの「読み出し」帯域幅と1.5ギガビットの「書き込み」帯域幅とを要求とするであろう。より多くのポートをサポートするために、より多くのメモリが付加されなければならないであろう。各メモリがネットワーク・プロセッサ上のI/Oをある一定の数だけ使い尽くし、その結果コストが増加する。さらなる節減はシステム・コストに恩恵をもたらすであろう。
【0019】
DRAM規則の条件を満たすために、また依然として高帯域幅ネットワーク・データ移動をサポートするために、本発明は2つのDDR DRAMを使用するもので、各々のバーストサイズは4データ事像である。各データ要素はバスの幅を有するもので、該バス幅は16ビット(16ビットx4x2=128ビット)、またメモリの各バンクは、データ記録装置バッファの1/4を構成する。したがって、データ記憶装置は64バイト・バッファからなり、DDRは64バイトのバーストに「読み出し」されるか(aaaa,bbbb,cccc,dddd以上を「読み出し」)、または64バイトのバーストに書き込みされる(aaaa,bbbb,cccc,dddd以上を「書き込み」)。各々の文字は、同一文字で標識されたバンクからの一つのデータ要素を表す。これに加えて、2組のDRAMが互いに逆の読み出し/書き込みタイム・スロットとともに使われる。したがって、本発明は各ウィンドウで1つのバッファが書き込みされ、また各ウィンドウで1つのバッファが読み出しされることを可能とする。このことは、6.8メガビット/秒、全二重に一致するもので、数ギガビット・ポートをサポートするのに十分である。
【0020】
4つのバンクに常に順次アクセスしなければならないという制限を克服するために、本発明は、有効バンク・ベクトル(VBV)と呼ばれるものを使用する。VBVは、ネットワーク・プロセッサによっていくつかのフレームがサービスされている限り使用することができる。ネットワーク・プロセッサは、どのバンクがフレームによって必要とされるかについて追随して行き、また所定のフレーム対して要求されたバンクにのみアクセスする。ネットワーク・プロセッサは、所定のタイム・フレーム内での読み出しを必要とする全てのフレームを探索し、「a」アクセスを必要とする任意のフレーム間の全ての「a」バンクについてアービトレートする。また、全ての「b」、「c」、及び「d」バンクについてもアービトレートするので、任意の与えられたフレームの必要なバンクだけフェッチするのみであり、いかなるDRAM帯域幅も決して無駄にはしない。所定のバッファのためのバンクの全てが処理されると直ちに、ネットワーク・プロセッサはフレームの次のバッファ(又は次のフレーム、もし現在のフレームの末端にあるならば)へ移動する。VBVスキームは、読み出し及び書き込みの両方に使用することができ、したがってDRAMに対するあらゆる無駄なバンク・アクセスを減少させる。VBVスキームを用いることで、DRAMの使用可能な帯域幅全体を小フレームでは75%(平均的なフレームが1.5バッファを使用すると仮定)、また長フレームでは1%まで効果的に増加する。これら2つの極限の中間のフレーム・サイズは、実際のフレーム・サイズに応じて75%乃至1%の間のどこかで役立つであろう。
【0021】
ここで図1を参照しながら説明する。この図では、完全読み出し及び完全書き込みプログラムをサポートするDRAMチップ・タイミング・ダイアグラム10が示されている。このダイアグラムは、133MHzクロックの20サイクル14a〜14tからなる1セル12を示す。連続的なサイクル16は、「読み出し」ウィンドウを表し、次の10個のウィンドウは「書き込み」ウィンドウ18を形成する。ここで指摘しておかなければならないことは、ランダム・アクセスに関して、「読み出し」ウィンドウのいくつかが「書き込み」ウィンドウに変わり、またその逆も生ずる可能性があるということである。行アドレス・ストローブ(RAS)20及び列アドレス・ストローブ(CAS)22が示されている。RAS及びCASのラインは、データの行又は列を読み出すのにかかった時間の長さを示している。この時間は、RAS/CAS遅延と呼ばれる。より短い遅延時間は、より大きいデータ転送速度をもたらす。RASがローを通知するたびに、BAライン24に示されるデータのバンクの一つが起動する。ストローブの詳細及び動作については当業者によく知られているのでこれ以上の説明は省略する。
【0022】
図1の下部にはデータ・ライン30が図示されている。このデータ・ライン30は、「読み出し」モード32にある4つのバンク「aaaa」、「bbbb」、「cccc」、及び「dddd」と、「書き込み」モード34にある4つの「aaaa」、「bbbb」、「cccc」、及び「dddd」とを示している。書き込みイネーブル信号(WE信号)40は、1サイクルで「書き込み」データの各バンクの書き込みを進める。
【0023】
本発明で扱う別のスキームは、DRAMに対して「ランダム読み出し」及び「ランダム書き込み」を可能とするものである。「ランダム」アクセスが全体的な帯域幅を減少させることから、このスキームは好ましくはデータ移動には使わないほうがいいと思われるが、その代わりいくつかの種類の制御情報で利用されるであろう。ネットワーク・プロセッサがよりランダムなやり方でDRAMにアクセスするために、ネットワーク・プロセッサは以下のようにしてDRAMへの必要なアクセスを順に行わなければならない。すなわち、既に示した基本的な「読み出し」及び「書き込み」ウィンドウを使用。「読み出し」ウィンドウのあいだ、実行に必要な任意の「読み出し」のためにVBVアービトレーションに対して所定の優先順位を付与。「書き込み」ウィンドウのあいだ、、実行に必要な任意の「書き込み」のためにVBVアービトレーションに対して所定の優先順位を付与。異なるタイプのアクセスに対して優先順位を与えることで、DRAMサイクルへの妨害は最小となろう。もしネットワーク・プロセッサが所定のバンク・アクセス中に実行する正しいタイプのアクセスを持たなければ、バンク・アクセスは別のネットワーク・プロセッサに与えられる。次のバンクに対して、アービトレーションが変更される必要があろう。もし次のバンク・アクセスが最後のものと同様ならば(「読み出し」が後に続く「読み出し」又は「書き込み」が後に続く「書き込み」)、システムは同様のアクセスを有するネットワーク・プロセッサのアービトレーション基準に優先順位を与える。もし同様のアクセスが利用可能でなければ、システムはDRAMタイミング規則を実行するために次のバンクをスキップする。このスキームによって、ネットワーク・プロセッサはDRAM規則を実行する一方で「ランダム様」アクセスを持つ。
【0024】
このランダム様アクセスは、イーサネットでデータ転送を扱う時に特に有利である。イーサーネットでは、最小フレーム・サイズは64バイトのユーザ・データである。この総量に加えるものは、アドレス及び命令のために12バイト追加のオーバヘッドである。一般に、各フレームは、別のアドレスで再アセンブルされる64バイトのパケットに分割される。本発明のランダム・アクセス型の構成によれば、ネットワーク・プロセッサはデータの所定のバンクに対するアクセス(「読み出し」又は「書き込み」)の正しいタイプを持たないので、システムはバンクのアクセスと一致するアクセスを持つものを別のネットワーク・プロセッサから見出すであろう。もしネットワーク・プロセッサが複数あるならば、優先順位は「読み出し」又は「書き込み」機会がバイパスされず、かつ失われないようにアービトレーション・スキームに基づいて複数のプロセッサのうちの一つに対して与えられるであろう。選択されたプロセッサは、バンクの読み出しを行うか、或いはバンクに対して書き込みを行い、その後に次のバンクがアクセスされる。もし次のバンクがアクセスされたばかりのものと同様の「読み出し」及び「書き込み」モードにあるならば、優先順位はそのバンクに与えられる。しかし、もし同一モードでなければ、このデータのバンクがスキップされ、そのモードにかかわらず次のバンクへアクセスがなされる。
【0025】
以上、一対のDDR DRAMを用いて改善されたデータ転送の面で本発明を説明してきたが、理解すべきことはより幅広いバス及びより大きいデータ転送のために3つ以上のDRAMチップを用いることができるということである。しかし、実施上の問題として、もしDRAMの数があまりにも大きくなるならば、転送されている大量のデータがタイムリーのかたちで使用される可能性がなくなり、帯域幅が浪費される。また、本発明は20サイクルDRAMタイム・クロックに関連して特徴付けられている。しかし、本発明は同様に他のタイミング・シーケンスに適用可能である。
【0026】
本発明を実施形態例とともに説明してきたが、発明の詳細な説明に記載された内容から当業者は種々の別の実施形態例、改良例、及び変形例が可能であることをは当業者ならば容易に理解することができよう。したがって、本発明は特許請求の範囲に記載された各請求項の意図及び目的範囲内で、そのような別の実施形態例、改良例、及び変形例の全てを包含するものである。
【0027】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)ネットワーク・プロセッサのための改善されたデータ転送システムであって、
(a)各々がタイム・クロックの立ち上がり縁部分上及び立ち下がり縁部分上の両方でデータを移すことができる並列した一対のダブル・データ・レートDRAMチップと、
(b)前記タイム・クロックの一つの20サイクル・セルの間で各ネットワーク・プロセッサによって「読み出し」される4つのバンクとその後に各ネットワーク・プロセッサによって「書き込み」される4つのメモリ・バンクとを可能とするマルチプレクサと、
を有すること特徴とするデータ転送システム。
(2)さらに、2つのDDR DRAMと対応のネットワーク・プロセッサとの間で「読み出し」データ及び「書き込み」データを転送するためのシリアル・バス及びパイプラインを有することを特徴とする上記(2)に記載のデータ転送システム。
(3)さらに、所定のサイズからなる複数のデータ格納バッファを有することを特徴とする上記(1)に記載のデータ転送システム。
(4) 前記データ格納バッファの各々は、64バイトのバッファであり、また各メモリ・バンクは1/4のデータ格納DRAMを有することを特徴とする上記(3)に記載のシステム。
(5)ネットワーク・プロセッサによって使用するためにデータの格納及び移動を行う方法であって、
(a)並行して作動し、かつクロックが同調した第1及び第2のDDR DRAMチップにデータを格納するステップと、
(b)DDR DRAMクロックの各繰り返しセルで所定のサイクル数を含むデータ移動パターンを確立するステップと、
(c)「読み出し」ウィンドウの過程で完全「読み出し」を行うために該パターンに含まれる連続したサイクルの集まりを確保するステップと、
(d)「書き込み」ウィンドウの過程で完全「書き込み」を行うために該パターンに含まれる第2の連続したサイクルの集まりを確保するステップと、
を含むことを特徴とする方法。
(6)さらに、各「読み出し」ウィンドウ又は各「書き込み」ウィンドウからのデータをバッファ内のデータ記憶装置に格納するステップを有することを特徴とする上記5に記載の方法。
(7)各ウィンドウが64バイトのデータからなるバーストから構成される複数のバッファを有し、各バッファは64バイトの記憶容量を持つことを特徴とする上記(6)に記載の方法。
(8)さらに、「読み出し」ウィンドウの間に読み出されるデータの4つのバンクを可能とし、それに続いて「書き込み」ウィンドウの間に書き込みされる4バンクとを可能とするためのパイプライン処理を行うステップを有することを特徴とする上記(5)に記載の方法。
(9)データは、64バイトのバーストで読み出し又は書き込みされることを特徴とする上記(8)に記載の方法。
(10)フレーム・サイズにかかわらずネットワーク・プロセッサによって処理されている多重フレームのためのデータの高帯域幅移動を提供するネットワーク・プロセスのアービトレーション方法であって、
(a)DRAMチップ内のバンクa,b,c,及びdの各々を読み出すためのタイム・スロットとバンクa,b,c,及びdの各々を書き込みための別のタイム・スロットとを確立するステップと、
(b)所定のフレームにとって、どのバンクが読み出しを必要とし、またどのバンクが書き込みを必要とするかを判断するステップと、
(c)前記所定のフレームに必要とされる前記バンクのみをアクセスするステップと、
(d)各タイプ・スロット中に「読み出し」アクセスを必要としているフレームをレビューするステップと、
(e)「a」バンクに対して「読み出し」アクセスを必要とする全てのフレーム間のすべての「a」バンクについてアービトレートするステップと、
(f)順に、「b」、「c」、及び「d」バンクへのアクセスを必要とするフレームについて「b」、「c」、及び「d」バンク全てに対してアービトレートするステップと、
を有することを特徴とする方法。
(11)さらに、前記(d)、(e)、及び(f)のステップを繰り返すステップを有することを特徴とする方法。
(12)DRAMチップの複数のバンクa,b,c,...に対するランダムな「読み出し」及び「書き込み」アクセスをネットワーク・プロセッサに提供する方法であって、
(a)「読み出し」ウィンドウ中、実行される必要がある任意の「読み出し」命令についてバンク「a」に優先順位を与えるためにアービトレーションするステップと、
(b)もし「読み出し」アクセスがバンク「a」から利用可能でなければ、バンク「a」アクセスを「書き込み」命令に与えるステップと、
(b1)前記「書き込みアクセスを次のバンク「b」に与えるステップと、
(c)もしバンク「b」アクセスがバンク「a」のアクセスと異なるものならば、バンク「b」をバイパスしてバンク「c」にアクセスを与えるステップと、(d)バンク「c」が「読み出し」又は「書き込み」のいずれかにかかわらず優先順位をバンク「c」に当てるようにアービトレーションを変更するステップと、
を有することを特徴とする方法。
(13)もし前記ステップ(a)で「読み出し」アクセスがバンク「a」から利用可能であるならば、前記バンク「a」を読み出した後にバンク「b」に「読み出し」アクセスを与えることを特徴とする上記(11)に記載の方法。
(14)「書き込み」ウィンドウ中、前記ステップ(a)から前記ステップ(d)までを繰り返すことを特徴とする上記(11)に記載の方法。
(15)さらに、情報を制御するためにランダム・アクセスを用いるステップを有することを特徴とする上記(11)に記載の方法。
【図面の簡単な説明】
【図1】 本発明に適用されるDRAMチップの典型的なタイミング・ダイアグラムを示す図である。
【符号の説明】
10 DRAMチップ・タイミング・ダイアグラム
12 セル
14aー14t クロック・サイクル
16 読み出しウィンドウ
20 RAS
22 CAS
24 BAライン
30 データ・ライン
32 読み出しモード
34 書き出しモード
40 WE信号

Claims (15)

  1. 複数のネットワーク・プロセッサのためのデータ転送システムであって、
    (a)各々がタイム・クロックの立ち上がり縁部分上及び立ち下がり縁部分上の両方でデータを移すことができる並列した一対のダブル・データ・レート(DDR)DRAMチップと、
    (b)前記タイム・クロックの所定の複数サイクルを一単位とするセルの間で、「読み出し」ウィンドウと「書き込み」ウィンドウとを定義し、前記「読み出し」ウィンドウおよび「書き込み」ウィンドウの各々の間で前記DDRDRAMチップ内の4つのメモリ・バンクに対応する複数のタイムスロットを設け、前記複数のタイムスロットの各々に前記複数のネットワーク・プロセッサの何れかを時分割で割り当てることによって、前記4つのメモリ・バンクの各々から各ネットワーク・プロセッサにデータを読み出し、その後に各ネットワーク・プロセッサから前記4つのメモリ・バンクの各々にデータを書き込むことを可能とするマルチプレクサと、
    を有すること特徴とするデータ転送システム。
  2. さらに、2つのDDR DRAMと対応のネットワーク・プロセッサとの間で「読み出し」データ及び「書き込み」データを転送するためのパイプラインを有することを特徴とする請求項1に記載のデータ転送システム。
  3. さらに、所定のサイズからなる複数のデータ格納バッファを有することを特徴とする請求項1に記載のデータ転送システム。
  4. 前記データ格納バッファの各々は、64バイトのバッファであり、また各メモリ・バンクはデータ格納バッファの1/4を構成することを特徴とする請求項3に記載のシステム。
  5. 各々がタイム・クロックの立ち上がり縁部分上及び立ち下がり縁部分上の両方でデータを移すことができる並行して動作しかつクロックが同調した第1及び第2のダブル・データ・レート(DDR)DRAMチップと、
    前記タイム・クロックの所定の複数サイクルを一単位とするセルの間で、「読み出し」ウィンドウと「書き込み」ウィンドウとを定義し、前記「読み出し」ウィンドウおよび「書き込み」ウィンドウの各々の間で前記DDR DRAMチップ内の4つのメモリ・バンクに対応する複数のタイムスロットを設け、前記複数のタイムスロットの各々に複数のネットワーク・プロセッサの何れかを時分割で割り当てることによって、前記4つのメモリ・バンクの各々から各ネットワーク・プロセッサにデータを読み出し、その後に各ネットワーク・プロセッサから前記4つのメモリ・バンクの各々にデータを書き込むことを可能とするマルチプレクサと、を有する前記複数のネットワーク・プロセッサのためのデータ転送システムでのデータの格納及び移動を行う方法であって、
    (a)前記第1及び第2のDDR DRAMチップにデータを格納するステップと、
    (b)DDR DRAMクロックの各繰り返しセルで所定のサイクル数を含むデータ移動パターンを確立するステップと、
    (c)前記「読み出し」ウィンドウ内の全ての前記タイムスロットで「読み出し」を行うために該パターンに含まれる連続したサイクルの集まりを確保するステップと、
    (d)前記「書き込み」ウィンドウ内の全ての前記タイムスロットで「書き込み」を行うために該パターンに含まれる第2の連続したサイクルの集まりを確保するステップと、
    を含むことを特徴とする方法。
  6. さらに、各「読み出し」ウィンドウ又は各「書き込み」ウィンドウからのデータをバッファに格納するステップを有することを特徴とする請求項5に記載の方法。
  7. 各バッファの記憶容量は64バイトであり、かつ、複数のバッファを有し、各ウィンドウからの64バイトのデータが前記各バッファにバースト転送される請求項6に記載の方法。
  8. さらに、「読み出し」ウィンドウの間のデータの読み出しを前記4つのメモリ・バンクからの連続した読み出しとし、それに続いて「書き込み」ウィンドウの間のデータの書き込みを前記4つのメモリ・バンクへの連続した書き込みとすることを可能とするためのパイプライン処理を行うステップを有することを特徴とする請求項5に記載の方法。
  9. データは、64バイトのバーストで読み出し又は書き込みされることを特徴とする請求項8に記載の方法。
  10. フレーム・サイズにかかわらずネットワーク・プロセッサによって処理されている多重フレームのためのデータの高帯域幅移動を提供するネットワーク・プロセスのアービトレーション方法であって、
    (a)DRAMチップ内のバンクa,b,c,及びdの各々を読み出すためのタイム・スロットとバンクa,b,c,及びdの各々を書き込みための別のタイム・スロットとを確立するステップと、
    (b)所定のフレームにとって、どのバンクが読み出しを必要とし、またどのバンクが書き込みを必要とするかを判断するステップと、
    (c)前記所定のフレームに必要とされる前記バンクのみをアクセスするステップと、
    (d)各タイム・スロット中に「読み出し」アクセスを必要としているフレームをレビューするステップと、
    (e)「a」バンクに対して「読み出し」アクセスを必要とする全てのフレーム間のすべての「a」バンクについてアービトレートするステップと、
    (f)順に、「b」、「c」、及び「d」バンクへのアクセスを必要とするフレームについて「b」、「c」、及び「d」バンク全てに対してアービトレートするステップと、
    を有することを特徴とする方法。
  11. さらに、前記(d)、(e)、及び(f)のステップを繰り返すステップを有することを特徴とする請求項10に記載の方法。
  12. DRAMチップの複数のバンクa,b,c,...に対し読み出しまたは書き込みアクセスためのタイム・スロットを確立し、前記複数のバンクa,b,c,...に対するランダムな「読み出し」及び「書き込み」アクセスをネットワーク・プロセッサに提供する方法であって、
    (a)「読み出し」ウィンドウ中、実行される必要がある任意の「読み出し」命令についてバンク「a」に優先順位を与えるためにアービトレーションするステップと、
    (b)もし「読み出し」アクセスがバンク「a」から利用可能でなければ、バンク「a」アクセスを「書き込み」命令に与えるステップと、
    (b1)前記「書き込みアクセスを次のバンク「b」に与えるステップと、
    (c)もしバンク「b」アクセスがバンク「a」のアクセスと異なるものならば、バンク「b」へのアクセスをスキップしてバンク「c」にアクセスを与えるステップと、
    (d)バンク「c」が「読み出し」又は「書き込み」のいずれかにかかわらず優先順位をバンク「c」に当てるようにアービトレーションを変更するステップと、
    を有することを特徴とする方法。
  13. もし前記ステップ(a)で「読み出し」アクセスがバンク「a」から利用可能であるならば、前記バンク「a」を読み出した後にバンク「b」に「読み出し」アクセスを与えることを特徴とする請求項12に記載の方法。
  14. 「書き込み」ウィンドウ中、前記ステップ(a)から前記ステップ(d)までを繰り返すことを特徴とする請求項12に記載の方法。
  15. さらに、情報を制御するためにランダム・アクセスを用いるステップを有することを特徴とする請求項12に記載の方法。
JP2000390789A 2000-01-04 2000-12-22 ネットワーク・プロセッサのためのdramデータ記憶及び移動 Expired - Fee Related JP3678412B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/477,576 US6473838B1 (en) 2000-01-04 2000-01-04 Data transfer system for multiple network processors using dual DRAM storage
US09/477576 2000-01-04

Publications (2)

Publication Number Publication Date
JP2001222465A JP2001222465A (ja) 2001-08-17
JP3678412B2 true JP3678412B2 (ja) 2005-08-03

Family

ID=23896497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000390789A Expired - Fee Related JP3678412B2 (ja) 2000-01-04 2000-12-22 ネットワーク・プロセッサのためのdramデータ記憶及び移動

Country Status (8)

Country Link
US (1) US6473838B1 (ja)
JP (1) JP3678412B2 (ja)
KR (1) KR100398839B1 (ja)
CN (1) CN1195272C (ja)
CA (1) CA2316122A1 (ja)
MY (1) MY127002A (ja)
SG (1) SG90222A1 (ja)
TW (1) TW521181B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760743B1 (en) * 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US7043417B1 (en) * 2000-09-06 2006-05-09 Quickturn Design Systems, Inc. High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory
US6795360B2 (en) * 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
WO2003044688A2 (en) * 2001-11-19 2003-05-30 Igor Anatolievich Abrosimov Latency tolerant processing equipment
CN100431315C (zh) * 2002-06-07 2008-11-05 友讯科技股份有限公司 可增加内嵌式以太网络控制器送收效率的方法
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
JP2008541217A (ja) * 2005-05-04 2008-11-20 エヌエックスピー ビー ヴィ メモリーコントローラ、メモリーアクセスの制御方法、及びメモリーコントローラを具えたシステム
US7366823B2 (en) * 2005-05-11 2008-04-29 Broadcom Corporation Method and system for memory access
KR100819968B1 (ko) 2005-08-24 2008-04-07 키몬다 아게 반도체 메모리 시스템 및 반도체 메모리 칩
US7783911B2 (en) * 2006-06-27 2010-08-24 International Business Machines Corporation Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements
US7739538B2 (en) * 2006-06-27 2010-06-15 International Business Machines Corporation Double data rate chaining for synchronous DDR interfaces
US7752475B2 (en) * 2006-06-27 2010-07-06 International Business Machines Corporation Late data launch for a double data rate elastic interface
US7882322B2 (en) * 2006-06-27 2011-02-01 International Business Machines Corporation Early directory access of a double data rate elastic interface
US7734944B2 (en) * 2006-06-27 2010-06-08 International Business Machines Corporation Mechanism for windaging of a double rate driver
JP2008084206A (ja) 2006-09-28 2008-04-10 Fujitsu Ltd ストレージ装置およびデータ転送方法
US20100235015A1 (en) * 2009-03-11 2010-09-16 Eaton Corporation Control architecture and interfacing methodology for cockpit control panel systems
JP5394897B2 (ja) * 2009-11-11 2014-01-22 エスアイアイ・ネットワーク・システムズ株式会社 パケット転送装置およびパケット転送方法
KR20120109841A (ko) 2011-03-28 2012-10-09 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
CN113360430B (zh) * 2021-06-22 2022-09-09 中国科学技术大学 动态随机存取存储器系统通信架构
CN115563052A (zh) * 2021-07-02 2023-01-03 西安紫光国芯半导体有限公司 存储访问电路、集成芯片、电子设备及存储访问方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732041A (en) 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
JP3099931B2 (ja) * 1993-09-29 2000-10-16 株式会社東芝 半導体装置
JPH0877097A (ja) * 1994-09-08 1996-03-22 Ricoh Co Ltd メモリシステム
JPH08101793A (ja) * 1994-09-30 1996-04-16 Ricoh Co Ltd メモリシステム
JPH09161471A (ja) 1995-12-06 1997-06-20 Internatl Business Mach Corp <Ibm> Dramシステム、dramシステムの動作方法
US5801996A (en) 1997-02-26 1998-09-01 Micron Technology, Inc. Data path for high speed high bandwidth DRAM
US5870350A (en) * 1997-05-21 1999-02-09 International Business Machines Corporation High performance, high bandwidth memory bus architecture utilizing SDRAMs
US5920511A (en) 1997-12-22 1999-07-06 Samsung Electronics Co., Ltd. High-speed data input circuit for a synchronous memory device
KR100306966B1 (ko) * 1998-08-04 2001-11-30 윤종용 동기형버스트반도체메모리장치
KR100313503B1 (ko) * 1999-02-12 2001-11-07 김영환 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치
KR100535048B1 (ko) * 1999-04-09 2005-12-07 주식회사 하이닉스반도체 반도체 메모리장치
KR100321164B1 (ko) * 1999-12-30 2002-03-18 박종섭 메모리 소자의 데이터 기입 및 독출 제어방법 및 회로

Also Published As

Publication number Publication date
KR100398839B1 (ko) 2003-09-19
CN1195272C (zh) 2005-03-30
TW521181B (en) 2003-02-21
JP2001222465A (ja) 2001-08-17
CN1303050A (zh) 2001-07-11
MY127002A (en) 2006-11-30
SG90222A1 (en) 2002-07-23
KR20010070356A (ko) 2001-07-25
CA2316122A1 (en) 2001-07-04
US6473838B1 (en) 2002-10-29

Similar Documents

Publication Publication Date Title
JP3678412B2 (ja) ネットワーク・プロセッサのためのdramデータ記憶及び移動
EP1345125B1 (en) Dynamic random access memory system with bank conflict avoidance feature
JP4586031B2 (ja) パケットメモリを有するアービトレーションシステムとハブに基づくメモリシステムにおけるメモリ応答の方法
US7529896B2 (en) Memory modules having a memory hub containing a posted write buffer, a memory device interface and a link interface, and method of posting write requests in memory modules
US5784582A (en) Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
JP4212167B2 (ja) ランダムアクセスメモリに使用するメモリアクセス方法およびメモリアクセス回路、並びに、シンクロナス・ダイナミックランダムアクセスメモリ装置および半導体記憶装置
US6505269B1 (en) Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
KR101172103B1 (ko) 통신 시스템의 통신 링크를 통해 메시지에 데이터를전송하기 위한 전송 방법, 통신 모듈, 통신 시스템의서브스크라이버 및 상기 전송 방법을 구현하기 위한 통신시스템
US7822915B2 (en) Memory controller for packet applications
JP2008532140A (ja) 複数内部データバス及びメモリバンクインターリービングを有するメモリデバイス及び方法
US6633576B1 (en) Apparatus and method for interleaved packet storage
JPS63175287A (ja) 記憶装置
CN105487988B (zh) 基于存储空间复用提高sdram总线有效访问速率的方法
KR20010050236A (ko) 데이터 처리 장치 및 방법과 컴퓨터 프로그램 제품
KR20010050239A (ko) 데이터 처리 장치 및 방법과 컴퓨터 프로그램 제품
US6603705B2 (en) Method of allowing random access to rambus DRAM for short burst of data
US7127547B2 (en) Processor with multiple linked list storage feature
JP4707351B2 (ja) マルチバンクメモリのスケジューリング方法
JP5028710B2 (ja) 半導体記憶装置
US12093124B2 (en) Multi-level signal reception
US6671274B1 (en) Link list operable to increase memory bandwidth in a transmission system
JP3063945B2 (ja) 時分割スイッチ制御方式
US20030204695A1 (en) Dual processor apparatus capable of burst concurrent writing of data
US20050038908A1 (en) High speed pipeline architecture with high update rate of associated memories
JP2000259488A (ja) キュー管理システム

Legal Events

Date Code Title Description
A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041118

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: 20050420

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050509

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: 20080520

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090520

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100520

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees