JP2007514221A - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP2007514221A
JP2007514221A JP2006543402A JP2006543402A JP2007514221A JP 2007514221 A JP2007514221 A JP 2007514221A JP 2006543402 A JP2006543402 A JP 2006543402A JP 2006543402 A JP2006543402 A JP 2006543402A JP 2007514221 A JP2007514221 A JP 2007514221A
Authority
JP
Japan
Prior art keywords
command
priority
channel
memory bank
channels
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
JP2006543402A
Other languages
English (en)
Other versions
JP5005350B2 (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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
Priority claimed from DE200410009428 external-priority patent/DE102004009428A1/de
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2007514221A publication Critical patent/JP2007514221A/ja
Application granted granted Critical
Publication of JP5005350B2 publication Critical patent/JP5005350B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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

Landscapes

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

Abstract

【課題】本発明は、少なくとも1つのメモリバンク(21、22、23、24)を含み、少なくとも1つのチャネル(6、7、8)経由でICと通信する外部DRAM(2)を使用する該ICのためのメモリコントローラに関する。
【解決手段】本発明によると、メモリコントローラ(1)は、コマンドに対して静的に割り当てられた優先度と、チャネルに対して動的に割り当てられる優先度に基づきメモリバンクコマンド伝送の優先度を割り当てるコマンドスケジューラ(3)を備えている。
【選択図】図3

Description

本発明は、外部DRAMを使用するICのためのメモリコントローラ、特に、コマンドスケジューラを有するメモリコントローラに関する。
ドイツにおける、あらかじめ映像が記録された記録媒体の売上げ統計によると、DVDの売上げが、去年初めてビデオカセットを上回っている。近い将来、DVDビデオ記録器が、アナログビデオ記録器に取って代わることが予想される。特に、現在急速に広まっているデジタルテレビ受信(DVB)が、デジタル記録の需要を呼び起こすことが予想される。この状況において、MPEG−4の様な、最新の圧縮方法を使用しても、平均して、2つのシネマフィルムのみしか書き込み可能なDVDに保存できないことが認識されている。高精細テレビ(HDTV)の進展に伴い、大容量の新しい光記録媒体の開発が推進されている。この種の光記録媒体の例として54ギガバイトの容量を持つブルーレイディスクがある。将来の光記録媒体用ドライブは、少なくともブルーレイディスク、DVD及びCDのフォーマットの記録再生をサポートすることが好ましい。このため、前記フォーマットを扱う光ドライブを制御するICが望まれている。DVB受信機といった、画像処理分野においても高性能なICが望まれている。
最終消費者向けデジタル機器のコスト削減のため、モノリシックICによる解決法(ワンチップソリューション)が、可能な限り使用されている。これは、システムの開発期間を短縮するため、専用ハードウェアに代えて、組み込みCPU及び/又はDSPが使用されていることを意味する。これらプロセッサからの命令及びデータを保存するため、そして、ビデオ又はドライブからのデータストリームをバッファリングするため、数メガバイトの大容量メモリが必要とされている。メモリコストを低く抑えるため、DRAM(ダイナミックRAM)が、通常、SRAM(スタテッィクRAM)の代わりに使用されている。好ましくは、SDRAM(同期DRAM)や、例えば、DDR−RAM(ダブルデータレートRAM)、ESDRAM(拡張SDRAM)、SLDRAM(同期リンクDRAM)、RDRAM(ランバスDRAM)といった他のDRAMが使用される。以下においては、DRAMは一般的な意味で、SDRAMは具体的な意味で使用する。しかしながら、本発明は、SDRAMに限定されない。
組み込みDRAMは比較的コストが高くなり、組み込みDRAMをサポートするICはあまりない。このため、外部DRAMが、通常、使用される。IC開発のコストを削減するため、特に、ICの物理サイズを小さくするために、使用するピン数は制限される。この制限のため、しばしば、DRAMへの外部データバスが、内部データバスより狭帯域になることがある。これは、ボトルネックの結果になる。加えて、DRAMは、多種のデータを保存するために使用される。つまり、CPU、DSP、リアルタイムデータにより共用される。これは、ボトルネックを悪化させる。
典型的なSDRAMモジュールは、4つの独立したメモリバンクを有している。各メモリバンクは、カラムで構成されるロウを含んでいる。特定のデータを指定するために、まず、適切なメモリバンクの適切なロウがアクティベート(“activate”)される。2から4クロックサイクル必要な、アクティベートに続き、データ転送が、読み出し又は書き込みコマンドと、所望のカラムアドレスを送信することにより開始される。オープン状態であるロウをディアクティベートし、次のアクティベートコマンドに対してメモリバンクを備えるために、データ転送後、メモリバンクは“プリチャージ”される。システムは次のクロックサイクルで送信されるアドレスを知っているため、“プリチャージ”とは、メモリアドレスがアクセスのために既に準備されていることを意味している。
通常、単一の読み出し又は書き込みコマンドを使用して、複数のデータの読み出し又は書き込みを行う、バースト転送が使用される。アクセスは、所定の位置(カラム)で開始され、プログラムされた位置まで続けられる。新しいバーストが開始されたとき、コマンドバスは空きとなり、他のメモリバンクのアクティベートや、プリチャージに使用される。
メモリバンクは、この様に、コマンドラインの共用はするが、相互に独立して制御される。よって、各クロックサイクルにて1つのコマンドのみが送信される。
ピン数と物理サイズを小さくするには、DRAMモジュールへの外部データバスのスループットを最大にする必要がある。上記SDRAMにて説明した、DRAMに対する問題は、ロウのアクティベートと、メモリバンクのプリチャージに複数のクロックサイクルが必要なことである。これは、データ転送間に数クロックサイクルの待ち時間が生じる結果となる。読み出し又は書き込みバースト長によって、この待ち時間は、データ転送に使用したクロックサイクルより大きなクロックサイクルになってしまう。図1(a)は、4クロックサイクルに渡る2つのバースト書込の例を示している。バースト書込間にデータ転送が行われない7クロックサイクルが存在している。待ち時間をなくすためには、バースト書込又は読出の進行中に、次のデータ転送の準備を行う必要がある。図1(b)は、同じく、4クロックサイクルに渡る2つのバースト書込の例を示している。待ち時間は、他のデータ転送の影に隠れている。
DRAMモジュールへのより広帯域なデータバスを使用することによる、或いは、外部データバスの負荷を削減するために組み込み型SRAMを使用することによるボトルネックの除去は、よく知られた方法である。両解決法は、比較的、実装コストが高くなる。
したがって、本発明は、低コストで実現可能であり、かつ、待ち時間を削減して高いデータスループットを実現するメモリコントローラを提供することを目的とする。
以下では単一DRAMモジュールを例にして本発明の説明を行う。しかし、同一データ及びコマンドバスに接続することで、複数のメモリモジュールに対しても適用可能である。この場合、チップイネーブル信号が、所定のモジュールを選択するために使用される。
1つ以上のDRAMモジュールを、各種のアプリケーションに使用するため、種々のプロセッサや、リアルタイムデータストリームのための記憶領域を物理的に分離することが必要である。これは、それぞれが、1つ以上の対応するDRAMメモリバンクを持つことを意味する。この条件は、共通して使用するメモリバンクに連続するアクセス操作が生じないようにするのであれば免除することができる。
本発明によると、ICと、少なくとも2つのメモリバンクを有し、該ICと少なくとも1つのチャネルで通信する外部DRAMとの通信方法であって、コマンドに静的に割り当てた優先度と、チャネルに動的に割り当てる優先度に基づき、メモリバンクコマンド送信の優先度を付与することを含んでいる。
本発明の利点は、DRAMメモリバンクの状態が、対応するステートマシンにより示されることにある。これは、総てのメモリバンクを他のメモリバンクと独立して制御することを可能にする。各アクセス操作において、ステートマシンは、転送種別(読み出し又は書き込み)、ロウ番号及びカラム番号を受信する。時間調整の特別な規則に基づき、コマンドをコマンドスケジューラに送信することで、メモリバンクを制御する。この場合、各チャネルは、対応するメモリバンクを制御するステートマシンに接続されている。もし、チャネルが複数のメモリバンクにアクセスする場合、ネットワークが設けられる。コマンドスケジューラは、同じメモリバンクが連続して複数回指定されないことを確実にする。1つのメモリバンクへの2つのアクセスの間、他のメモリバンクへのアクセスが常にもたらされる。しかしながら、メモリバンク内の同じロウに対してであれば、1つのメモリバンクへの2つの連続するアクセス操作は許可され、アクティベーション又はプリチャージによる待ち時間は生じない。優先度の割当ては、DRAMデータバスの最適な利用が達成されるように、新しいバーストの開始能力に基づき、待ちコマンドを並べ替える。これは、読み出し又は書き込みコマンドが、読み出し又は書き込みコマンドの前提条件であるアクティベーションコマンドに次いで、高い優先度を持つことを意味している。プリチャージコマンドは、現在の転送に対するものではないため、最も低い優先度が割り与えられる。プリチャージコマンドは、連続転送にのみ必要であり、よって、遅延さすことができる。もし、総てのバースト長が、4以上のクロックサイクルを持つならば、コマンドラインの負荷は、低い優先度のコマンドを、遅延なしに送信するのに十分小さい。待ちコマンドの順序を規定するため、コマンドを分析し、グループ化し、可能な限り早いデータ転送の開始のため、その能力に応じて並べ替える必要がある。
Figure 2007514221
本発明は、DRAMモジュールの帯域を、物理的な最大値付近まで高める。大きな負荷のとき、アクティベートとプリチャージによって遅延は隠れ、アクセスタイムは短くなる。本発明のメモリコントローラにより、あるチャネルでの低遅延でのアクセス操作と、他のチャネルでの高いデータスループットとを同時に達成することができる。
本発明の他の特徴によれば、少なくとも2つのメモリバンクを有し、少なくとも1つのチャネルでICと通信する外部DRAMを使用する、該ICのためのメモリコントローラであって、コマンドに静的に割り当てた優先度と、チャネルに動的に割り当てる優先度に基づき、メモリバンクコマンド送信の優先度を付与するコマンドスケジューラを含んでいる。
好ましくは、光記録媒体の記録再生装置は、本発明のメモリコントローラを有し、或いは、本発明のICと外部DRAM間の通信方法を使用する。
本発明のより良い理解のために、以下では図1から図5を用いて、本発明の詳細な説明を行う。この場合、同一の構成要素には同一の符号を付与する。本発明は、以下に示す実施形態に限定されない。本発明の特徴は、本発明の範囲から逸脱しない限りにおいて結合又は修正され得るものである。
図2は、本発明のメモリコントローラのブロック図であり、図2においては、3チャネル、つまり、CPUと接続するAMBAバス8と、リアルタイムデータストリームのための入力チャネル6及び出力チャネル7と、を持つシステムのSDRAMコントローラ1を例として使用している。SDRAMモジュール2の各メモリバンク21、22、23、24は、メモリバンク制御ユニット4内に、それぞれがメモリバンク21、22、23、24の状態を表し、待ち時間の監視と正確な状態遷移に責任を持つステートマシン41、42、43、44を有している。これらステートマシン41、42、43、44は、メモリバンク21、22、23、24のためのコマンドを、外部コマンドとデータバスの割当てを監視するコマンドスケジューラ3(コマンドバススケジューラ)に送信する。各クロックサイクルで、コマンドスケジューラ3は、DRAMモジュール2の優先順位により選択されたコマンドを出力する。ステートマシン41、42、43、44は、転送順位を3つのチャネル(入力6、AMBA8、出力7)から直接取得し、それらは、メモリバンクスケジューリングユニット5によって、アドレスと、適切なメモリバンク21、22、23、24の優先順位とに基づき転送されたものである。メモリバンクスケジューリングユニット5は、総てのチャネル6、7、8が、総てのメモリバンク21、22、23、24にアクセスできるようにネットワークを含んでいる。記憶媒体への読出アクセスの間、入力チャネル6は、ECC(誤り訂正符号)ユニット(図示せず)からデータを受取、出力チャネル7は、ATAPIブロック(図示せず)にデータを転送する。両チャネル6、7は、データフローの中断を防ぐためFIFO(図示せず)を有している。記録媒体への書込アクセスの間、入力チャネル6は、ATAPIブロックからデータを受信し、出力チャネル7は、それらをECCユニットに転送する。AMBA(Advanced Microcontroller Bus Architecture)チャネル8は、付加的にレジスタファイル34(図3)へのアクセスを許可されたAMBAスレーブを含んでいる。AMBAスレーブは、AMBAバスのブロックタイムを削減するために読出キャッシュと書込キャッシュ(図示せず)を含んでいる。4つのSDRAMメモリバンク21、22、23、24のそれぞれの内部状態は、別々のステートマシンで示されているので、ステートマシン41、42、43、44へのアクセスにおいては、上流のスケジューリングアルゴリズムよって扱われない3つのチャネル6、7、8による競合が生じるかもしれない。しかしながら、この競合状態をめったに生じなくさせることは可能である。このため、セクタデータのリアルタイムデータストリームは、DRAMアクセス操作に対して優先される。
図3は、コマンドスケジューラ3のより詳細なブロック図である。4つのメモリバンク21、22、23、24を管理するステートマシン41、42、43、44からのコマンドは、コマンド分析器31で分析される。この場合、5つの可能なコマンド、“アクティベート”、“読み出し”、“書き込み”、“プリチャージ”、“バースト終了”の少なくとも1つが存在するか否かが調べられる。存在する場合、最初に出現したものがスケジューラ32に送信される。このように、待ち状態のコマンドが存在するか否かのみが関係し、メモリバンク21、22、23、24や、現在関係しているチャネル6、7、8は重要ではない。
スケジューラ32は、スケジューラ32の特定の動作パラメータを有しているレジスタファイル34にアクセスする。スケジューラ32は、まず、グローバルコマンドの存在を検査する。DRAMの動作パラメータを含むモードレジスタをプログラムするコマンドが、グローバルリフレッシュ又はグローバルプリチャージのために存在するなら、それは直接実行される。メモリバンク制御ユニット4は、グローバルコマンドが、メモリバンク21、22、23、24がアイドル状態時のみに生じるようにしているため、更なる検査をここでは必要としない。
もし、送信されたグローバルコマンドがNOP(No Operation)であるなら、メモリバンクコマンドをDRAMモジュール2に送信することができる。メモリバンクコマンドは、静的に割り当てられたコマンドの優先度と、優先度割当ユニット33により動的に割り当てられるチャネル6、7、8の優先度に基づき送信される。この場合、コマンドの優先度が、チャネル6、7、8の優先度より高い。これは、まずコマンド種別が選択され、このコマンドの送信を望む複数のチャネル6、7、8が存在する場合、コマンド送信を許可されるチャネル6、7、8が選択されることを意味する。
コマンドのうち、バーストを終了するためのバースト終了コマンドは、最も高い優先度を持っている。新しいバーストを開始し、それらをできるだけ速く送信することがデータバスの適切な使用レベルの前提となる読み出し及び書き込みコマンドは、2番目に高い優先度を持っている。次に低い優先度は、ロウのオープンに使用されるアクティベートコマンドに付与されている。ロウのオープンは、バースト開始の前提であるので、アクティベートコマンドの優先度は、プリチャージコマンドより高く、プリチャージコマンドは、バースト終了後、待機中であるアクセスが無い場合に実行され、全体のパフォーマンスに影響を与えないため最も低い優先度となっている。
チャネル6、7、8への動的な優先度の割当ては、図4に示す有限ステートマシン、つまり、状態遷移図でのアルゴリズムに影響される。図示しているアルゴリズムは、AMBA−AHB(Advanced High−performance BUS)経由でのCPUのアクセス操作及び2つのチャネル(入力及び出力)でのリアルタイムデータストリームを制御する。状態は、優先順位を表示している。この場合、一番上にあるチャネルが最も高い優先度であり、一番下にあるチャネルが最も低い優先度である。状態遷移は、最終的にバースト読み出し又は書き込みを開始できるチャネルを表している。フラッシュコントローラのための付加的なチャネル、例えば、ファームウェアを送信するためのチャネル等は、他のチャネルとは競合しないので含めていない。
図示するように、3つのチャネル総てがアクティブのとき、入力→AMBA→出力→AMBAの列が常に観察される。もし、最も高い優先度のチャネルが、現在アクティブで無い、或いは、そのコマンドの優先度が低すぎることにより、コマンドを送信できないなら、コマンドを最終的に送信したチャネルは、次のクロックサイクルにおいて最も低い優先度を与えられる。同時に、もしAMBAチャネル8が現在のクロックサイクルにおいて最も高い優先度ではなく、別のチャネルが送信した場合、次のクロックサイクルにおいて最も高い優先度が割り当てられる。一旦、AMBAチャネル8が最も高い優先度を獲得した場合、AMBAチャネル8がコマンド送信するまで最も高い優先度を維持する。これは、ARMのための最低遅延を可能にする。図示している状態図において、AMBAチャネル8には、入力チャネル6や出力チャネル7経由のバースト後、常に最も高い優先度が割り当てられるので、CPUアクセス操作の短い遅延時間を保証している。更に、状態遷移は、データバスの公平な使用と、メモリバンク21、22、23、24への交互のアクセス操作を行う。アルゴリズムは、高優先度でのCPUアクセス操作のために設計され、リアルタイムデータストリームのデータスループットの低遅延が同時に保障される。データスループットは、DRAM2との入力チャネル6及び出力チャネル7経由でのデータ転送において、読み出し及び書き込みバースト長によって規定される。
コマンド送信を許可するチャネルの決定について、図5のフロー図を用いて以下に説明する。もし、メモリバンクのFSM(有限ステートマシン)がバーストを終了するとき、これは最も高い優先度を持つ。その結果、バースト終了(BST)が、開始(9)の後、分析(10)の間に見つけられたなら、進行中のバーストは中止される。これは2つの方法、第1の方法はバースト終了コマンドの単なる転送(12)により、第2の方法は新しいバースト(14)の開始により行われる。バースト終了の送信前に、検査(11)が、送信待ちの読み出し又は書き込みコマンドが存在するか否かを判定するために実行される。もし存在するなら、このコマンドが、バースト終了に代えて送信(14)される。分析の間、少なくとも1つの読み出し又は書き込みコマンドが存在するかが単に検査される。このため、読み出し又は書き込みコマンド送信(14)前に、動的にチャネルに割り当てられた優先度が、読み出し又は書き込みコマンドを持つ最も優先度の高いチャネルがどれであるかを検査するために使用される。このチャネルがコマンドの送信を許可される。チャネルの選択は、優先度割当に伝わり、このように、次のクロックサイクルでの新しい優先度状態に変化する。読み出し又は書き込みコマンドによるバースト終了コマンドの置換に対する唯一の制限は、バースト読み出しがバースト書き込みにより終了できないことであり、これは、メモリコントローラ1及びDRAMモジュール2が同時にデータバスを駆動できないことによる。しかしながら、DRAM出力のホールド時間は一定で、クロック周波数に依存しないので、より低いクロック周波数が使用されるとき、この制限を省略することができる。
もし、バースト終了コマンドが存在しない場合、読み出し又は書き込みコマンドの存在が検査(13)され、もしそれらが存在する場合、コマンドが割り当てられた優先度に基づき送信(14)される。もし、読み出し及び書き込みコマンドのどちらもが存在しない場合、アクティベートコマンドが検査(15)される。アクティベートコマンドが待ち状態である場合、それは送信(16)される。もし、アクティベートコマンドが存在しない場合、プリチャージコマンドが検査(17)される。存在する総てのプリチャージコマンドは送信(18)される。総てのチャネル6、7、8及び総てのメモリバンク21、22、23、24がコマンド送信を望んでいない場合、NOP(No Operation)が送信される。コマンドがDRAMモジュール2へ送信された場合、このコマンドを出力したメモリバンクのFSMは、信号により通知を受け、次のクロックサイクルにて新しい状態へと変化する。
DRAMモジュール2のセットアップ及びホールド時間を守るために、DRAMモジュール2はコマンド送信時、好ましくは、反転したシステムクロックで動作する。書き込みアクセス操作のためのコマンド及びデータは、半クロックサイクルと、入出力ドライバでの信号伝達時間と、回路ボード上の伝達時間を加算した遅延を持ち、DRAMモジュール2により受け取られる。
4クロックサイクルに渡る2つのバースト書込の2つの例を示す図である。 本発明によるメモリコントローラのブロック図である。 コマンドスケジューラのブロック図である。 優先度割当の状態遷移図である。 コマンドスケジューラのフロー図である。
符号の説明
1 SDRAMコントローラ
2 SDRAMモジュール
3 コマンドスケジューラ
4 メモリバンク制御ユニット
5 メモリバンクスケジューリングユニット
6 入力チャネル
7 出力チャネル
8 AMBAバス
21、22、23、24 メモリバンク
31 コマンド分析器
32 スケジューラ
33 優先度割当ユニット
34 レジスタファイル
41、42、43、44 ステートマシン

Claims (14)

  1. 少なくとも1つのメモリバンク(21、22、23、24)を有し、少なくとも1つのチャネル(6、7、8)経由でICと通信する外部DRAM(2)と、該ICとの通信方法において、
    メモリバンクコマンド伝送の優先度は、コマンドに対して静的に割り当てられた優先度と、チャネルに対して動的に割り当てられる優先度に基づき割り当てられること、
    を特徴とする方法。
  2. 静的に優先度が割り当てられるコマンドは、最も高い優先度である“バースト終了”コマンド、2番目に高い優先度である“読み出し”又は“書き込み”コマンド、3番目に高い優先度である“アクティベート”コマンド、及び、最も低い優先度である“プリチャージ”コマンドを含むこと、
    を特徴とする請求項1に記載の方法。
  3. 動的に優先度が割り当てられるチャネルは、コマンド送信後、最も低い優先度が割り当てられるチャネルを含むこと、
    を特徴とする請求項1又は2に記載の方法。
  4. 動的に優先度が割り当てられるチャネルは、現在のクロックサイクルにおいて最も高い優先度でなく、他のチャネル(6、7、8)がコマンドを送信したとき、次のクロックサイクルにおいて最も高い優先度が割り当てられるチャネル(6、7、8)を含むこと、
    を特徴とする請求項1から3のいずれか1項に記載の方法。
  5. 動的に優先度が割り当てられるチャネルは、コマンドを送信したときのみ最も高い優先度を失うチャネル(6、7、8)を含むこと、
    を特徴とする請求項1から4のいずれか1項に記載の方法。
  6. チャネル(6、7、8)は、外部DRAM(2)の物理的に異なる記憶領域にアクセスすること、
    を特徴とする請求項1からの5のいずれか1項に記載の方法。
  7. チャネル(6、7、8)は、外部DRAM(2)の共通して使用する記憶領域に対して、連続するアクセス操作を行わないこと、
    を特徴とする請求項1からの5のいずれか1項に記載の方法。
  8. 少なくとも1つのチャネル(6、7、8)がいくつかのメモリバンク(21、22、23、24)にアクセスできるように、ネットワーク(5)が設けられていること、
    を特徴とする請求項1から7のいずれか1項に記載の方法。
  9. 1つのメモリバンク(21、22、23、24)への2つのアクセス操作の間には、他のメモリバンク(21、22、23、24)へのアクセス操作を持つこと、
    を特徴とする請求項1から8のいずれか1項に記載の方法。
  10. 1つのメモリバンク(21、22、23、24)への2つの連続するアクセス操作は、メモリバンク(21、22、23、24)の同じロウに対して行われる場合に許可されること、
    を特徴とする請求項1から9のいずれか1項に記載の方法。
  11. メモリバンク(21、22、23、24)の状態は、対応するステートマシン(41、42、43、44)により示されること、
    を特徴とする請求項1から10のいずれか1項に記載の方法。
  12. 複数のDRAMモジュールが使用され、モジュール選択のため、チップイネーブル信号が送信されること、
    を特徴とする請求項1から11のいずれか1項に記載の方法。
  13. 少なくとも1つのメモリバンク(21、22、23、24)を有し、少なくとも1つのチャネル(6、7、8)経由でICと通信する外部DRAM(2)を使用する該ICのためのメモリコントローラにおいて、
    コマンドに対して静的に割り当てられた優先度と、チャネルに対して動的に割り当てられる優先度に基づきメモリバンクコマンド伝送の優先度を割り当てるコマンドスケジューラを有することを特徴とするメモリコントローラ。
  14. 記録媒体の記録再生装置であって、
    請求項1から12のいずれか1項に記載の方法を使用する、又は、請求項13に記載のメモリコントローラ(1)を有すること、
    を特徴とする記録再生装置。
JP2006543402A 2003-12-09 2004-11-15 メモリコントローラ Expired - Fee Related JP5005350B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE10357697.5 2003-12-09
DE10357697 2003-12-09
DE102004009428.4 2004-02-24
DE200410009428 DE102004009428A1 (de) 2004-02-24 2004-02-24 Speicher-Controller
PCT/EP2004/012940 WO2005059764A1 (en) 2003-12-09 2004-11-15 Memory controller

Publications (2)

Publication Number Publication Date
JP2007514221A true JP2007514221A (ja) 2007-05-31
JP5005350B2 JP5005350B2 (ja) 2012-08-22

Family

ID=34701981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006543402A Expired - Fee Related JP5005350B2 (ja) 2003-12-09 2004-11-15 メモリコントローラ

Country Status (7)

Country Link
US (1) US7873797B2 (ja)
EP (1) EP1692617B1 (ja)
JP (1) JP5005350B2 (ja)
KR (1) KR101198981B1 (ja)
CN (1) CN1882928B (ja)
DE (1) DE602004020504D1 (ja)
WO (1) WO2005059764A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
GB2441726B (en) * 2005-06-24 2010-08-11 Metaram Inc An integrated memory core and memory interface circuit
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US7379316B2 (en) 2005-09-02 2008-05-27 Metaram, Inc. Methods and apparatus of stacking DRAMs
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
KR100951126B1 (ko) * 2008-02-18 2010-04-07 인하대학교 산학협력단 버스 중재 방법 및 장치
JP5233360B2 (ja) * 2008-03-27 2013-07-10 富士通株式会社 メモリ制御装置,メモリ制御装置の制御方法および情報処理装置
CN101587461B (zh) * 2008-05-20 2012-03-07 上海奇码数字信息有限公司 存储器访问调度装置、调度方法与存储器访问控制系统
US20110238870A1 (en) * 2008-12-03 2011-09-29 Rambus Inc. Memory System With Command Filtering
US8244987B2 (en) 2008-12-04 2012-08-14 Electronics And Telecommunications Research Institute Memory access device including multiple processors
US8205021B2 (en) 2009-12-21 2012-06-19 Electronics And Telecommunications Research Institute Memory system and integrated management method for plurality of DMA channels
US9134919B2 (en) * 2012-03-29 2015-09-15 Samsung Electronics Co., Ltd. Memory device including priority information and method of operating the same
CN104704569B (zh) * 2012-12-19 2017-11-14 慧与发展有限责任合伙企业 Nvram路径选择
US9811453B1 (en) * 2013-07-31 2017-11-07 Juniper Networks, Inc. Methods and apparatus for a scheduler for memory access
JP6072661B2 (ja) * 2013-09-30 2017-02-01 ルネサスエレクトロニクス株式会社 データ処理装置、マイクロコントローラ、及び半導体装置
US10409357B1 (en) * 2016-09-30 2019-09-10 Cadence Design Systems, Inc. Command-oriented low power control method of high-bandwidth-memory system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312333A (ja) * 1997-05-13 1998-11-24 Seiko Epson Corp データ転送制御装置
JP2000172560A (ja) * 1998-12-03 2000-06-23 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2001175530A (ja) * 1999-12-22 2001-06-29 Nec Ic Microcomput Syst Ltd メモリアクセス調停装置およびメモリアクセス調停方法
JP2001356961A (ja) * 2000-06-13 2001-12-26 Nec Corp 調停装置
JP2002063131A (ja) * 2000-08-11 2002-02-28 Samsung Electronics Co Ltd バスシステム
JP2002288037A (ja) * 2001-03-27 2002-10-04 Sony Corp メモリ制御装置及び方法
JP2002328837A (ja) * 2001-04-27 2002-11-15 Fujitsu Ltd メモリ・コントローラ

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US105901A (en) * 1870-08-02 Improved egg-holder
US138687A (en) * 1873-05-06 Improvement in self-waiting tables
US33493A (en) * 1861-10-15 James reidy
US61459A (en) * 1867-01-22 1867-01-22 peters
US4623986A (en) 1984-02-23 1986-11-18 Texas Instruments Incorporated Memory access controller having cycle number register for storing the number of column address cycles in a multiple column address/single row address memory access cycle
FR2642195B1 (fr) * 1989-01-20 1991-04-26 Centre Nat Rech Scient Dispositif et procede d'arbitrage des requetes et de resolution des conflits lies a l'acces aux memoires a bancs independants pour les machines informatiques
US5418920A (en) * 1992-04-30 1995-05-23 Alcatel Network Systems, Inc. Refresh control method and system including request and refresh counters and priority arbitration circuitry
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
GB9719047D0 (en) * 1997-09-08 1997-11-12 Sgs Thomson Microelectronics Arbitration system
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
US6295586B1 (en) * 1998-12-04 2001-09-25 Advanced Micro Devices, Inc. Queue based memory controller
US6046952A (en) * 1998-12-04 2000-04-04 Advanced Micro Devices, Inc. Method and apparatus for optimizing memory performance with opportunistic refreshing
US6360305B1 (en) * 1998-12-04 2002-03-19 Advanced Micro Devices, Inc. Method and apparatus for optimizing memory performance with opportunistic pre-charging
US6415366B1 (en) * 1999-06-02 2002-07-02 Alcatel Canada Inc. Method and apparatus for load distribution across memory banks with constrained access
DE69924475T2 (de) 1999-06-09 2006-02-16 Texas Instruments Inc., Dallas Multikanal-DMA mit Datenverkehrplanung auf die Ausgänge
US6266734B1 (en) * 1999-07-29 2001-07-24 Micron Technology, Inc. Reducing memory latency by not performing bank conflict checks on idle banks
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6725347B2 (en) 2001-01-16 2004-04-20 Sun Microsystems, Inc. Spin-wheel SDRAM access scheduler for high performance microprocessors
US7093094B2 (en) 2001-08-09 2006-08-15 Mobilygen Corporation Random access memory controller with out of order execution
US6785793B2 (en) 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
CA2378777A1 (en) * 2002-03-25 2003-09-25 Catena Networks Canada Inc. Shared program memory with fetch and prefetch buffers
GB2396442B (en) * 2002-09-17 2006-03-01 Micron Technology Inc Host memory interface for a parallel processor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312333A (ja) * 1997-05-13 1998-11-24 Seiko Epson Corp データ転送制御装置
JP2000172560A (ja) * 1998-12-03 2000-06-23 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2001175530A (ja) * 1999-12-22 2001-06-29 Nec Ic Microcomput Syst Ltd メモリアクセス調停装置およびメモリアクセス調停方法
JP2001356961A (ja) * 2000-06-13 2001-12-26 Nec Corp 調停装置
JP2002063131A (ja) * 2000-08-11 2002-02-28 Samsung Electronics Co Ltd バスシステム
JP2002288037A (ja) * 2001-03-27 2002-10-04 Sony Corp メモリ制御装置及び方法
JP2002328837A (ja) * 2001-04-27 2002-11-15 Fujitsu Ltd メモリ・コントローラ

Also Published As

Publication number Publication date
EP1692617B1 (en) 2009-04-08
EP1692617A1 (en) 2006-08-23
CN1882928A (zh) 2006-12-20
US20070091696A1 (en) 2007-04-26
WO2005059764A1 (en) 2005-06-30
JP5005350B2 (ja) 2012-08-22
US7873797B2 (en) 2011-01-18
CN1882928B (zh) 2011-03-23
DE602004020504D1 (de) 2009-05-20
KR20060127400A (ko) 2006-12-12
KR101198981B1 (ko) 2012-11-07

Similar Documents

Publication Publication Date Title
JP5005350B2 (ja) メモリコントローラ
US7222210B2 (en) System and method for memory hub-based expansion bus
US20100198936A1 (en) Streaming memory controller
JP4034268B2 (ja) 補助コマンドバスのための方法および装置
JP2007526559A (ja) パケットメモリを有するアービトレーションシステムとハブに基づくメモリシステムにおけるメモリ応答の方法
US7216214B2 (en) System and method for re-ordering memory references for access to memory
KR20120029366A (ko) 트래픽 클래스들과 관련된 포트들을 갖는 다중 포트 메모리 제어기
KR102106541B1 (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
US20110296124A1 (en) Partitioning memory for access by multiple requesters
JP2004362567A (ja) 共用記憶装置の調停
US10157123B1 (en) Methods and apparatus for a scheduler for memory access
US7996601B2 (en) Apparatus and method of partially accessing dynamic random access memory
US11150809B2 (en) Memory controller and storage device including the same
US8285932B2 (en) Mass storage system with improved usage of buffer capacity
US8301816B2 (en) Memory access controller, system, and method
KR20050075642A (ko) 효율적으로 버스를 사용하는 방법
US7613866B2 (en) Method for controlling access to a multibank memory
JP2011034214A (ja) メモリ制御装置
JP4622871B2 (ja) データ処理システム、アクセス制御方法、その装置およびそのプログラム
KR20050004157A (ko) 다중 코히런시 단위들을 지원하는 데이터 전송 유닛
KR100663384B1 (ko) 메모리 인터페이스 장치 및 방법
CN117435535A (zh) 一种存储系统、主控芯片、数据存储方法及数据读取方法
KR20020096650A (ko) 영상 처리기의 메모리 액세스 중재 장치 및 방법
JPH07192462A (ja) 周辺記憶装置
JPH1185672A (ja) データ伝送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071017

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100824

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100929

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100929

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110125

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20110131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110509

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120307

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5005350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees