JP4299536B2 - Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング - Google Patents

Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング Download PDF

Info

Publication number
JP4299536B2
JP4299536B2 JP2002367653A JP2002367653A JP4299536B2 JP 4299536 B2 JP4299536 B2 JP 4299536B2 JP 2002367653 A JP2002367653 A JP 2002367653A JP 2002367653 A JP2002367653 A JP 2002367653A JP 4299536 B2 JP4299536 B2 JP 4299536B2
Authority
JP
Japan
Prior art keywords
bank
memory
data
read
channel
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
JP2002367653A
Other languages
English (en)
Other versions
JP2003208354A5 (ja
JP2003208354A (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.)
Agere Systems LLC
Original Assignee
Agere Systems LLC
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 Agere Systems LLC filed Critical Agere Systems LLC
Publication of JP2003208354A publication Critical patent/JP2003208354A/ja
Publication of JP2003208354A5 publication Critical patent/JP2003208354A5/ja
Application granted granted Critical
Publication of JP4299536B2 publication Critical patent/JP4299536B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に高速メモリ・システムに関し、より詳細には、SRAMに近い性能を有するDRAMを用いたメモリ・システムに関する。
【0002】
【従来の技術】
ネットワーク・プロセッサは、一般に非同期転送モード(ATM)ネットワークまたは同期光ネットワーク(SONET)の物理層部分などの物理的伝送媒体と、ルータまたは他のタイプのパケット・スイッチ内のスイッチ・ファブリックとの間のパケットの流れを制御する。ネットワーク・プロセッサでの記憶技術では、DRAM(ダイナミック・ランダム・アクセス・メモリ)を使用して、低い電力消費で大きな記憶容量を実現する。しかし、プロセッサおよびメモリ・バスの速度が増加し続けるにつれ、システム全体の性能の要求を満たすためにメモリ・アクセス速度要件も増大する。SRAM(同期ランダム・アクセス・メモリ)の速度は、この速度に対処することができる。しかしSRAMメモリ容量は、一般にDRAMメモリより1桁小さい。さらにSRAMは、一般にDRAMよりも電力所要量が2桁大きい。したがって、DRAMを使用してSRAMの性能を達成することが望ましい。
【0003】
ネットワーク・プロセッサ内のDRAM、またはネットワーク・プロセッサに関連するDRAMは、一般に複数のメモリ・バンクの形態で構成される。バンクのうちの所与のバンク内のアドレスに対する、連続する読取りアクセスまたは書込みアクセスでは、必要なアクセス・プリチャージ・プロセスが完了するまでのランダム・サイクル・タイムTrcだけ待機することが必要となる。しかし、異なるバンク内の同じアドレスへの連続するアクセスでさえ、本明細書でバンク競合ペナルティとも呼ぶこのTrc待ち時間に直面することはない。スタティック・ランダム・アクセス・メモリ(SRAM)はバンク競合ペナルティを完全に回避する。すなわち、DRAMに関連するTrc待ち時間を招くことなく、メモリ内の任意のアドレスに固定の時間でアクセスすることができる。
【0004】
当技術分野で周知のいくつかのDRAMは、特に上述のTrc待ち時間を低減するように構成されている。例えば、いわゆる高速サイクルDRAM(FCDRAM)は、特に最小のTrcを示すように設計されている。東芝から市販されているFCDRAMのより具体的な例は、部品番号TC59LM814CFT−50で識別される。この特定のタイプのFCDRAMでは、ランダム・サイクル・タイムTrcは5Tに制限される。ただしTはメモリ・クロック周期を示す。読取りまたは書込みのメモリ・アクセスは2クロック周期を必要とし、最大データ・スループットは、いわゆる「4バースト」モードを使用することによって達成される。例えば、200MHzメモリ・クロックと、それぞれ16ビットの4Mメモリ語をそれぞれ含む4つのバンクで構成されたFCDRAMとを用いると、メモリ・クロック周期Tは5ナノ秒、Trcは25ナノ秒、4バースト・モードを使用した最大データ・スループットは、毎秒約6.4ギガビット(Gbps)となる。しかし、連続するメモリ・アクセスが4つのバンクのうちの同じバンクに向かう場合、Trc待ち時間の結果として、データ・スループットは2.5Gbpsに減少する。
【0005】
【発明が解決しようとする課題】
上記から明らかな通り、性能の点でSRAMの利点を提供すると共にDRAMの記憶容量および低電力消費の利点を実現することができる、ネットワーク・プロセッサまたは他の処理装置と共に使用するための改良型のDRAMベースのメモリ・アーキテクチャが求められている。
【0006】
【課題を解決するための手段】
本発明のいくつかの特徴および利点の中には、DRAMメモリを使用してSRAMに近い性能を達成することが含まれる。例示的実施形態では、本発明は、性能を最善とするためにFCRAM(高速サイクルDRAM)を使用する。しかし本発明は、DRAMベースのランダム・アクセス・メモリ・サブシステムでのツリー・アクセスに関する時間要件を低減するためのマルチ・バンク・スケジューリングの方法によってこのような高速なメモリ性能を実現する。
【0007】
例示的形態では、独立なアドレス・データ制御線を有する少なくとも2つの独立なFCRAMチャネルを使用して、10Gbpsのスループットを達成する。第1チャネル0メモリ内の全データは、第2チャネル1メモリ内に複写される。メモリ・コントローラは、ランダム・アドレスA0、A1、A2、A3、A4などへのアクセス読取り要求のストリームを受け取り、2つのチャネルに対して要求のストリームをスケジュールする。2つのチャネルは負荷の平衡を取り、バンク競合を最小にする。コントローラは、各チャネル内のFCRAMメモリのバンク当たり1つの、複数のキューを維持する。ツリー・エンジンからの読取りアドレスが復号化されてバンク・アドレスが抽出され、要求は適切なバンク・キュー内に格納される。コントローラはまた、チャネルのバンクごとのバンク競合カウンタも維持する。バンク競合カウンタには、読取り要求が適切なバンクに送られた後にTrc値がロードされる。すべてのバンク競合カウンタは各クロックごとに減分され、バンク競合カウンタが0のとき、対応するバンクが利用可能となる。コントローラはまた、最後に処理されたキューに対するポインタも維持する。
【0008】
各クロックごとに、コントローラは、次に利用可能なバンク・キューから要求を、最後に処理したキューから開始して、すなわち仕事量保存型ラウンドロビン・アルゴリズムを使用して、チャネル0またはチャネル1のどちらか利用可能な方までラウンドロビン式にディスパッチする。バンク・キューが空でなく、対応するバンク競合カウンタが0である場合、バンク・キューは利用可能である。要求を送ることができ、アクセスするバンクがビジーでない場合、チャネルは利用可能である。バンク・キューのいずれも利用可能でない場合、FCRAMには要求は送られない。
【0009】
本発明の新規であると考えられる特徴は、添付の特許請求の範囲内に具体的に述べられている。しかし本発明自体は、本発明の構造と、動作方法の両方に関して、以下の説明と添付の図面を参照することによって最も良く理解することができよう。
【0010】
【発明の実施の形態】
予想されるツリー・メモリ使用量の95%超が読取りであり、5%未満が書込みであるようなDRAMメモリを使用してSRAMに近い性能を実現する方法が開示される。これらの方法はどんなDRAMメモリにも適用可能であるが、最良の性能は、東芝 TC59LM814/06CFTなどのデュアル・データ転送速度FCRAM(高速サイクルDRAM)を使用することで得られると考えられる。この特定のFCRAMでは、5nsの短いランダム・サイクル・タイム(Trc)が存在する。この装置でのメモリ・アクセス(読取りまたは書込み)は、2クロック周期を必要とする。この装置についての最大データ・スループットは、4バースト・モードを使用して達成される。例えば、4バースト・モードでの200Mhz4バンク×4M×16ビットFCRAMは、最大データ・スループット約6.4Gbpsを達成する。バースト・モード・オペレーションの詳細は、この装置の製造業者が提供する仕様書に記載されている。
【0011】
本発明で企図されるツリー・メモリ構造では、上述のFCRAMなどのDRAMはバンクで編成される。これらのバンク内のアドレスに対する連続するメモリ・アクセスは、ランダム・サイクル・タイムが満了するまでの待ちを必要とする。ランダム・サイクル・タイム(Trc)は、プリチャージを完了するのに必要な時間である。すなわち、バンクへの各読取りまたは書込みの後に、バンクはリフレッシュしなければならない。しかし、異なるバンク内のアドレスに対する連続するメモリ・アクセスは、ランダム・サイクル・タイムによって制限されない。
【0012】
バンク競合ペナルティのないFCRAMを用いてほぼランダムなアクセス機能を達成することは、異なるバンク内に同一のデータ・コピーを格納し、異なるバンクに連続するメモリ・アクセス要求を送ることによって実施される。必要なデータ・コピーの最小数は、以下の式に示すように、ランダム・サイクル・タイムとランダム・バンク・アクセス遅延との比によって決定される。
(Trc/Trbd)≧25ns/10ns=3バンク
上式で、Trc=5T、
Trbd=10ns、および
T=メモリ・クロック周期
【0013】
10Gbpsの読取りスループットを達成するために、それぞれそれ自体のアドレス・データ制御線を有する2つの独立なFCRAMチャネルを使用する。チャネル0内の3つのバンクと、チャネル1内の3つのバンクの、合計6つのメモリ・バンクが必要である。6つのバンクはすべて同一のデータを含む。しかし、他のチャネルとバンクの組合せを使用することにより、10Gpsを超えるスループットを達成できることを理解されよう。2つのチャネルを使用することは単に例として述べたに過ぎず、本発明をそのような実施形態に限定するものと解釈すべきではない。
【0014】
図1に示すように、ツリー・エンジン103は、アクセス読取り要求のストリーム(TRE要求FIFO 104)をツリー・メモリ・コントローラ106に送る。最大で200Mhzコア・クロック速度当たり1回の要求、すなわち5.0ナノ秒ごとに1回の要求をツリー・エンジン103で生成することができる。チャネル0 FCRAM 107とチャネル1 FCRAM 108は独立である。したがって、ツリー・メモリ・コントローラ106は、チャネル0 FCRAM 107とチャネル1 FCRAM 108を使用して、平均で5nsごとに1回のメモリの読取りを実行することができる。ツリー・メモリ・コントローラ106およびTRE読取りFIFO 105に対して読取り要求を送り、ツリー・エンジン103にデータを戻すために、TRE要求FIFO 104に対してデュアル・クロック同期を使用する。
【0015】
図2および3は、この方法のために使用される並行状態マシンである。図2の状態図では、ツリー・エンジン要求が適切なバンク・キュー(BQi)に送られる。第2状態は、2つのチャネルの一方にチャネル・キュー(QC)を割り当て、バンク指数を増分する。
【0016】
他のチャネル組合せも可能であるが、この実施形態では、以下のチャネルとバンクの組合せを使用する。
CH0−B0
CH1−B0
CH0−B1
CH1−B1
CH0−B2
CH1−B2
【0017】
リフレッシュ割込みがアクティブであるかどうかを判定するためのチェックは、アクセス要求を送る前に実行しなければならない。リフレッシュ割込みがアクティブである場合、リフレッシュ・シーケンスは、両方のチャネルに同時に送られる。リフレッシュ割込みがアクティブである間、アクセス要求はブロックされる。
【0018】
効率を最適化するため、ツリー・メモリ・コントローラ106への書込みはバースト式に行われる。ホスト・インターフェース100は、書込みオペレーションを実行する前にホスト要求FIFO 101内に入れられる、いくつかの64ビット語を送る。キューに入れられるデータ量は、ホスト・プロセッサに依存する。実装は、連続する32ビット語が64ビット・データ語を形成する32×32ビットFIFOとすることができる。
【0019】
書込み実行を実施するために、すべての読取りアクセス要求をブロックする。次いで、連続する32ビット語を組み合わせ、64ビット語を形成する。64ビット語を形成することができるかどうか判定するために、チェックを実行する。この語をその時に形成することができない場合、ホスト要求FIFOをブロックし、ツリー・エンジン読取り要求を続行する。64ビット語をその時に形成することができる場合、データをチャネル0とチャネル1の両方に同時に書き込み、ツリー・メモリ・コントローラ106への書込み実行が完了する。
【0020】
図3に示すように、更新シーケンスは、すべてのバンクが非アクティブとなるまで待機する。この待機は、最大5クロック・サイクルとすることができる。FIFO内のすべてのデータ語をメモリに書き込むまで、以下のシーケンスを反復する。
1.リフレッシュ割込みがアクティブである場合、リフレッシュ・シーケンスを完了し、
2.アドレスを送り、64ビット・データをCH0−B0およびCH1−B0に書き込む
3.アドレスを送り、64ビット・データをCH0−B1およびCH1−B1に書き込む
4.アドレスを送り、64ビット・データをCH0−B2およびCH1−B2に書き込む
【0021】
本発明は、マルチ・バンク・スケジューリングを使用して、DRAMベースのランダム・アクセス・メモリ・サブシステムでのツリー・アクセスに関する性能を改善する。独立なチャネル0 FCRAM 107とチャネル1 FCRAM108の両方を使用する。チャネル1メモリは、チャネル0内のメモリ全体の複製である。
【0022】
図1のツリー・メモリ・コントローラ106は、ランダム・アクセスA0、A1、A2、A3、A4などに対するアクセス読取り要求104のストリームを受け取る。さらにツリー・メモリ・コントローラ106は、負荷の平衡を取ってバンク競合を最小にする2つのチャネル(すなわちチャネル0 FCRAM 107とチャネル1 FCRAM 108)への要求のストリームをスケジュールする。ツリー・メモリ・コントローラ106は、各FCRAMバンクについてのキューを維持する。ツリー・エンジン103は読取りアドレスを復号化し、要求を適切なバンク・キューに格納する。
【0023】
図3に示すように、チャネルごとに1つのバンク競合カウンタを維持する。読取り要求が適切なバンクに送られた後、バンク競合カウンタは、ダウンカウント用に使用されるカウンタのタイプと、ゼロ検出がラッチされたかどうかとに依存する値にリセットされる。この値は、Trc値、またはTrcに1を加えた値/Trcから1を減じた値となる可能性がある。すべてのバンク競合カウンタは、各クロック・サイクルごとに減分される。バンク競合カウンタが0であるとき、対応するバンクは利用可能となる。ツリー・メモリ・コントローラ106は、ラウンドロビン・アルゴリズム・スケジューリングをサポートして、最後に処理したキューに対するポインタを維持する。
【0024】
各クロック・サイクルごとに、ツリー・メモリ・コントローラ106は、最後に処理したキューから始まる、次に利用可能なバンク・キューから、利用可能なチャネル(すなわち、チャネル0 FCRAM 107またはチャネル1 FCRAM108)に要求をディスパッチする。バンク・キューが空でなく、かつバンク競合カウンタが0である場合、バンク・キューは利用可能である。要求を送ることができ、かつアクセスするバンクがビジーでない場合、チャネルは利用可能である。バンク・キューがどれも利用可能でない場合、FCRAM(107および108)に要求は送られない。ツリー・メモリ・コントローラ106は、リフレッシュ割込みをチェックする。リフレッシュ割込みがアクティブである場合、リフレッシュ要求を処理する。リフレッシュ処理を処理した後、読取り要求を送ることができる。
【0025】
効率を最適化するため、ツリー・メモリ・コントローラ106への書込みはバースト式に行われる。ホスト・インターフェース100は、書込みオペレーションを実行する前にホスト要求FIFO 101内に入れられる、いくつかの64ビット語を送る。キューに入れられるデータ量は、ホスト・プロセッサに依存する。実装は、連続する32ビット語が64ビット・データ語を形成する32×32ビットFIFOとすることができる。ホスト読取りデータFIFO 102は、ホスト・インターフェース100にデータを戻す。
【0026】
書込み実行を実施するために、すべての読取りアクセス要求をブロックする。次いで、連続する32ビット語を組み合わせ、64ビット語を形成する。64ビット語を形成することができるかどうか判定するために、チェックを実行する。この語を形成することができない場合、ホスト要求FIFOをブロックし、ホストが残りの語を送るまで、ツリー・エンジン読取り要求を続行する。更新アクセスおよび読取りアクセスをインターリーブする。図3に示すように、状態マシンは、BQからFCRAMチャネル0またはチャネル1への要求をスケジュールする。更新シーケンスは以下の通りである。
1.リフレッシュ割込みがアクティブである場合、リフレッシュ・シーケンスを完了する。
2.指定のバンクがチャネル0またはチャネル1のどちらかでビジーである場合、アクセス保留フラグをセットする。このアクセス保留フラグは、読取りアクセスを指定のバンクに両方のチャネルに関してディスパッチすることをブロックする(他のバンクは引き続きアクセスすることができる)。
3.バンク競合カウンタが0に達するまで待機し、両方のチャネルへの書込みを完了する。
【0027】
本発明のいくつかの好ましい特徴だけを例示したが、当業者は多くの修正および変更を思いつくであろう。したがって、特許請求の範囲は、本発明の真の精神内にあるすべてのこのような修正および変更を包含するものとする。
【図面の簡単な説明】
【図1】データ・フローを示すブロック・インターフェース図である。
【図2】ツリー・エンジン要求を送ることについての状態図である。
【図3】アクセス要求をスケジュールする状態図である。

Claims (9)

  1. 独立なチャネル内に編成されたメモリ装置の複数のバンク、メモリ装置の各バンク内の複写データ、ならびに前記各チャネル内の各バンクに対するデータ読取りアクセスおよびデータ書込みアクセスを制御するためのツリー・メモリ・コントローラを備えるシステムにおけるメモリの管理方法であって、
    バンク可用性を示すために、各チャネル内のバンクごとにバンク・キューを確立するステップと、
    ツリー・メモリ・コントローラに読取り要求または書込み要求を送るステップと、
    チャネル内の各バンクの可用性をツリー・メモリ・コントローラでチェックするステップと、
    最初に利用可能なバンクを識別するステップと、
    前記最初に利用可能なバンクから前記読取り要求を実行するステップとを含み、
    前記データ書込みアクセスを制御するステップが、
    すべての読取り要求をブロックするステップと、
    書き込むべきデータが、選択したメモリ語長に対して完全であることを確認するステップと、
    各バンク・キューがすべてのバンクについてのバンク可用性を示すまで待機するステップと、
    すべてのバンクへの、完了したデータ語のバースト・モード転送を同時に開始するステップとを含むメモリ管理の方法。
  2. 前記メモリ装置が、ダイナミック・ランダム・アクセス・メモリ(DRAM)装置を含む請求項1に記載の方法。
  3. 前記メモリ装置が、高速サイクル・ランダム・アクセス・メモリ(FCRAM)装置を含む請求項1に記載の方法。
  4. メモリ装置の前記バンクが、2つの独立なチャネルに編成される請求項1に記載の方法。
  5. 独立なチャネルに編成されるメモリ装置の複数のバンクであって、それぞれが複写データを含むバンクと、
    各チャネル内の各バンクへのデータの読取りアクセスおよび書込みアクセスを制御するためのツリー・メモリ・コントローラと、
    バンク可用性を示すための、各チャネル内のバンクごとのバンク・キューと、
    前記ツリー・メモリ・コントローラに読取り要求または書込み要求を送るための手段とを備え、
    前記コントローラが、データを読み取るためのバンクの可用性を判定し、最初に利用可能なバンクから読取り要求を実行し、
    すべての読取り要求をブロックし、書き込むべきデータが、選択したメモリ語長に対して完全であることを確認し、各バンク・キューがすべてのバンクについてのバンク可用性を示すまで待機し、およびすべてのバンクへの、完了したデータ語のバースト・モード転送を同時に開始することによって、前記コントローラが前記データの書込みアクセスを制御するシステム。
  6. すべてのメモリ・バンクが同一のデータを含む請求項に記載のシステム。
  7. 前記メモリ・バンクが、高速サイクル・ランダム・アクセス・メモリ装置を含む請求項に記載のシステム。
  8. メモリ装置の前記バンクが、2つの独立なチャネルで構成される請求項に記載のシステム。
  9. メモリ・バンクの最小数が、ランダム・サイクル・タイムとランダム・バンク・アクセス遅延との比によって決定される請求項に記載のシステム。
JP2002367653A 2001-12-21 2002-12-19 Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング Expired - Fee Related JP4299536B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/026,352 US6839797B2 (en) 2001-12-21 2001-12-21 Multi-bank scheduling to improve performance on tree accesses in a DRAM based random access memory subsystem
US10/026352 2001-12-21

Publications (3)

Publication Number Publication Date
JP2003208354A JP2003208354A (ja) 2003-07-25
JP2003208354A5 JP2003208354A5 (ja) 2006-02-09
JP4299536B2 true JP4299536B2 (ja) 2009-07-22

Family

ID=21831321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002367653A Expired - Fee Related JP4299536B2 (ja) 2001-12-21 2002-12-19 Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング

Country Status (5)

Country Link
US (1) US6839797B2 (ja)
JP (1) JP4299536B2 (ja)
KR (1) KR100898710B1 (ja)
GB (1) GB2388216B (ja)
TW (1) TW200301423A (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7689649B2 (en) * 2002-05-31 2010-03-30 Aol Inc. Rendering destination instant messaging personalization items before communicating with destination
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US8037150B2 (en) 2002-11-21 2011-10-11 Aol Inc. System and methods for providing multiple personas in a communications environment
US7908554B1 (en) * 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
US7913176B1 (en) * 2003-03-03 2011-03-22 Aol Inc. Applying access controls to communications with avatars
US20040179037A1 (en) 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate context out-of-band
US7194568B2 (en) * 2003-03-21 2007-03-20 Cisco Technology, Inc. System and method for dynamic mirror-bank addressing
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7454555B2 (en) * 2003-06-12 2008-11-18 Rambus Inc. Apparatus and method including a memory device having multiple sets of memory banks with duplicated data emulating a fast access time, fixed latency memory device
US20050138276A1 (en) * 2003-12-17 2005-06-23 Intel Corporation Methods and apparatus for high bandwidth random access using dynamic random access memory
US7159084B1 (en) * 2003-12-30 2007-01-02 Altera Corporation Memory controller
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US9652809B1 (en) 2004-12-21 2017-05-16 Aol Inc. Using user profile information to determine an avatar and/or avatar characteristics
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8572349B2 (en) * 2006-01-31 2013-10-29 Agere Systems Llc Processor with programmable configuration of logical-to-physical address translation on a per-client basis
US7461216B2 (en) * 2006-02-23 2008-12-02 Hewlett-Packard Development Company, L.P. Memory controller
US8453147B2 (en) * 2006-06-05 2013-05-28 Cisco Technology, Inc. Techniques for reducing thread overhead for systems with multiple multi-threaded processors
US8041929B2 (en) 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8395996B2 (en) 2007-01-11 2013-03-12 Foundry Networks, Llc Techniques for processing incoming failure detection protocol packets
US8327057B1 (en) * 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8001338B2 (en) * 2007-08-21 2011-08-16 Microsoft Corporation Multi-level DRAM controller to manage access to DRAM
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
US8180975B2 (en) * 2008-02-26 2012-05-15 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
US8505013B2 (en) * 2010-03-12 2013-08-06 Lsi Corporation Reducing data read latency in a network communications processor architecture
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US20120059983A1 (en) * 2010-09-03 2012-03-08 David Wilkins Nellans Predictor-based management of dram row-buffers
CN103534693B (zh) * 2010-11-22 2016-08-24 马维尔国际贸易有限公司 在客户端之间共享对存储器的访问的方法和设备
JP2012221038A (ja) * 2011-04-05 2012-11-12 Toshiba Corp メモリシステム
US9195622B1 (en) 2012-07-11 2015-11-24 Marvell World Trade Ltd. Multi-port memory that supports multiple simultaneous write operations
US9766978B2 (en) 2014-12-09 2017-09-19 Marvell Israel (M.I.S.L) Ltd. System and method for performing simultaneous read and write operations in a memory
US11099746B2 (en) 2015-04-29 2021-08-24 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with one read port and one or more write ports per cycle
US10387322B2 (en) 2015-04-30 2019-08-20 Marvell Israel (M.I.S.L.) Ltd. Multiple read and write port memory
US11403173B2 (en) 2015-04-30 2022-08-02 Marvell Israel (M.I.S.L) Ltd. Multiple read and write port memory
US10089018B2 (en) 2015-05-07 2018-10-02 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with multiple read ports and multiple write ports per cycle
US10254967B2 (en) 2016-01-13 2019-04-09 Sandisk Technologies Llc Data path control for non-volatile memory
US10528255B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10528267B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Command queue for storage operations
US10528286B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10114589B2 (en) * 2016-11-16 2018-10-30 Sandisk Technologies Llc Command control for multi-core non-volatile memory
US11422707B2 (en) 2017-12-21 2022-08-23 Advanced Micro Devices, Inc. Scheduling memory requests for a ganged memory device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS618785A (ja) 1984-06-21 1986-01-16 Fujitsu Ltd 記憶装置アクセス制御方式
US5122984A (en) 1987-01-07 1992-06-16 Bernard Strehler Parallel associative memory system
US6360285B1 (en) * 1994-06-30 2002-03-19 Compaq Computer Corporation Apparatus for determining memory bank availability in a computer system
KR0154717B1 (ko) * 1995-12-07 1998-11-16 김광호 상태 천이 머신을 가지는 시스템의 메모리 관리 구조 및 그 처리방법
GB2346233B (en) 1996-03-01 2000-09-20 Hewlett Packard Co Address aggregation system and method for increasing throughput of addresses to a data cache from a processor
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
CA2273997A1 (en) * 1996-12-04 1998-06-11 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6006307A (en) * 1997-11-13 1999-12-21 Advanced Micro Devices, Inc. Computer system employing a mirrored memory system for providing prefetch bandwidth
US6049541A (en) * 1997-12-04 2000-04-11 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6137807A (en) * 1997-12-05 2000-10-24 Whittaker Corporation Dual bank queue memory and queue control system
US6058451A (en) * 1997-12-22 2000-05-02 Emc Corporation Method and apparatus for refreshing a non-clocked memory
US5959929A (en) * 1997-12-29 1999-09-28 Micron Technology, Inc. Method for writing to multiple banks of a memory device
US6260081B1 (en) 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
JP2001167005A (ja) * 1999-12-08 2001-06-22 Nec Corp メモリ診断方法とメモリ診断回路および半導体記憶装置
JP2001266570A (ja) * 2000-03-24 2001-09-28 Toshiba Corp 同期型半導体記憶装置
US6789155B2 (en) * 2001-08-29 2004-09-07 Micron Technology, Inc. System and method for controlling multi-bank embedded DRAM
WO2003042836A1 (fr) 2001-11-16 2003-05-22 Fujitsu Limited Ordinateur et procede de commande de memoire
US6944731B2 (en) * 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature

Also Published As

Publication number Publication date
GB0228201D0 (en) 2003-01-08
TW200301423A (en) 2003-07-01
US20030120861A1 (en) 2003-06-26
KR20030053454A (ko) 2003-06-28
GB2388216B (en) 2005-04-20
US6839797B2 (en) 2005-01-04
KR100898710B1 (ko) 2009-05-21
JP2003208354A (ja) 2003-07-25
GB2388216A (en) 2003-11-05

Similar Documents

Publication Publication Date Title
JP4299536B2 (ja) Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング
JP4369660B2 (ja) バンク衝突回避機能を備える動的ランダムアクセスメモリシステム
US7277982B2 (en) DRAM access command queuing structure
JP4212167B2 (ja) ランダムアクセスメモリに使用するメモリアクセス方法およびメモリアクセス回路、並びに、シンクロナス・ダイナミックランダムアクセスメモリ装置および半導体記憶装置
JP3598321B2 (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
US8082396B2 (en) Selecting a command to send to memory
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
US7904677B2 (en) Memory control device
TW201234188A (en) Memory access device for memory sharing among multiple processors and access method for the same
EP1754229A2 (en) System and method for improving performance in computer memory systems supporting multiple memory access latencies
US7822915B2 (en) Memory controller for packet applications
US20070245074A1 (en) Ring with on-chip buffer for efficient message passing
KR20010086035A (ko) 메모리 장치의 물리적 페이지 상태를 탐색하기 위해페이지 태그 레지스터를 이용하는 방법
US7506081B2 (en) System and method of maintaining high bandwidth requirement of a data pipe from low bandwidth memories
US20030120884A1 (en) Memory system for increased bandwidth
JP2561261B2 (ja) バッファ記憶アクセス方法
US5535333A (en) Adapter for interleaving second data with first data already transferred between first device and second device without having to arbitrate for ownership of communications channel
KR100676982B1 (ko) 데이터 처리 장치 및 방법과 컴퓨터 판독 가능 저장 매체
US7127547B2 (en) Processor with multiple linked list storage feature
JP3063501B2 (ja) メモリアクセス制御方式
CN117389767A (zh) 基于soc芯片的共享存储池的数据交换方法及装置
CN118152310A (zh) 一种基于PCIe AXI bridge写数据存储、搜索及传输处理方法及系统
JPS63204353A (ja) バス結合装置
JPH08115251A (ja) コンピュータ・システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090212

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090417

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees