JP2008204487A - アウトオブオーダdramシーケンサ - Google Patents
アウトオブオーダdramシーケンサ Download PDFInfo
- Publication number
- JP2008204487A JP2008204487A JP2008140086A JP2008140086A JP2008204487A JP 2008204487 A JP2008204487 A JP 2008204487A JP 2008140086 A JP2008140086 A JP 2008140086A JP 2008140086 A JP2008140086 A JP 2008140086A JP 2008204487 A JP2008204487 A JP 2008204487A
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- memory
- sequence
- request
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Abstract
【解決手段】 本発明では、メモリアクセスリクエストは、メモリコントローラの入力キューに連続的に受け取られる。リクエストの入力キューへの受信後、シーケンスマトリックスが再構成され、逐次的なリクエスト間のコンフリクトまたは潜在的遅延がコンフリクト検出器により特定される。コンフリクト検出器は、データバスとの間のデータフローを最適化するため、メモリコアアクセスリクエストを再構成する。例えば、バンクビジー状態または他の遅延が逐次的に受け取られたメモリリクエストにおいてコンフリクト検出器により認識されると、メモリコントローラは、可能である場合にはコンフリクトまたは遅延を解消するため、あるいはそうでない場合には、遅延を最小化するため、保留中のメモリリクエストを実行する順序を再構成する。
【選択図】 図1
Description
12 入力キュー
14 コマンドパーサ
16 シーケンシングユニット
18 シーケンスマトリックス
20 コンフリクト検出器
22 コマンドシーケンサ
24 実行キュー
26 コマンドセレクタ
28 入出力バッファ
30 リードリターンキュー
32 リターンデータバッファ
900 処理システム
901 プロセッサ
902 メモリ装置
Claims (54)
- 複数のメモリアクセスリクエストを本来の受信順序で少なくとも1つの要求元から受け取る入力キューと、
前記複数のメモリアクセスリクエストが構成可能であり、逐次的順序で前記複数のメモリアクセスリクエストを格納するシーケンスマトリックスと、
前記シーケンスマトリックスにおける複数のメモリアクセスリクエストのタイミングシーケンスを構成するシーケンシングユニットと、
前記シーケンシングユニットにより前記シーケンスマトリックスにおいて構成されたメモリアクセスリクエストのシーケンスにおいてコンフリクトまたは遅延が発生するか検出するコンフリクト検出器であって、前記シーケンスマトリックスの前記メモリアクセスリクエストの1つと、前記シーケンスマトリックスに構成される前記メモリアクセスリクエストのシーケンスの第2のメモリアクセスリクエストとの又は前記シーケンスマトリックスに以前に構成された複数の実行されていないメモリアクセスリクエストの1つとの比較の結果としてコンフリクト又は遅延が、検出されたコンフリクト又は遅延に係るメモリアクセスリクエストの前方への移動によって検出されると、前記シーケンシングユニットが前記シーケンスマトリックス内の前記リクエストの順序を再構成するように、前記シーケンシングユニットに検出されたコンフリクト又は遅延を通知するコンフリクト検出器と、
各コマンドの実行の間のアイドル時間を回避するような実行順序によりコマンドシーケンサによって構成される複数のコマンドが、各メモリアクセスリクエストがリード若しくはライトコマンドの何れか及びデータコントロールコマンドを有する前記再構成されたメモリアクセスリクエストから前記コマンドシーケンサによって抽出されるよう構成される実行キューと、
前記実行キューからの前記メモリアクセスリクエストの前記実行順序による実行後、前記メモリアクセスリクエストの本来の受信順序を追跡し、前記メモリアクセスリクエストの本来の受信順序でリクエストデータを前記少なくとも1つの要求元に返すリードリターンキューと、
メモリから読み出されたリクエストデータを、該データが前記係るアクセスリクエストの要求元に返されるまで、保持するリターンデータバッファと、
を有するメモリコントローラであって、
当該コントローラは、複数のメモリクロックスピードを有するメモリとインタフェースをとるよう構成されるメモリコントローラ。 - 請求項1記載のメモリコントローラであって、さらに、
メモリアクセスリクエストを少なくともリードまたはライトコマンド及びデータコントロールコマンドにパース処理するコマンドパーサと、
前記実行キューの各アクセスリクエストに対して、前記データコントロールコマンドと前記リードまたはライトコマンドを構成するコマンドシーケンサと、
を有するメモリコントローラ。 - 請求項2記載のメモリコントローラであって、さらに、
実行のため、前記実行キューから一度に少なくとも1つのコマンドを選択するコマンドセレクタを有するメモリコントローラ。 - 請求項3記載のメモリコントローラであって、
固定された時間インターバル中に選択されるコマンド数は、前記コマンドセレクタに与えられるコマンド選択クロック信号に依存するメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、前記複数の実行されていないメモリアクセスリクエスト若しくは前記シーケンスマトリックスにおける前記メモリアクセスリクエストから生じる潜在的なバンクビジー状態を検出することが可能であるメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、前記複数の実行されていないメモリアクセスリクエスト若しくは前記シーケンスマトリックスにおける前記メモリアクセスリクエストから生じる潜在的なページコンフリクト状態を検出することが可能であるメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、前記複数の実行されていないメモリアクセスリクエスト若しくは前記シーケンスマトリックスにおける前記メモリアクセスリクエストから生じる潜在的なページミス状態を検出することが可能であるメモリコントローラ。 - 複数の要求元からリードリクエスト及び/またはライトリクエストからなる複数のメモリアクセスリクエスト信号を受け取り、該リクエストが前記要求元から受信された順序に対応するシーケンスで前記複数のメモリアクセスリクエスト信号を受け取るシーケンシングユニットと、
前記シーケンスにおいて時間的に近接した実行されていないリクエスト間の検出されたメモリアクセスのコンフリクトに基づき、前記複数のメモリアクセスリクエスト信号のシーケンスを再構成し、これにより前記メモリアクセスリクエストの実行が、検出されたコンフリクトに係るメモリアクセスリクエストを前記シーケンスにおいて前方に移動することによって、前記再構成されたシーケンスにおいて実行されることを可能にする再構成ユニットと、
各コマンドの実行の間のアイドル時間を回避するような実行順序により構成される複数のコマンドを、各メモリアクセスリクエストがリード若しくはライトコマンド及びデータコントロールコマンドからなる前記再構成されたメモリアクセスリクエストから抽出し、前記複数のコマンドを実行する実行ユニットと、
実行されたリードリクエストを該リクエストの本来の受信順序に再順序付けし、これにより前記実行されたリードリクエストにより取得されたデータが前記再順序付けされたシーケンスにより前記要求元に返されることを可能にする再順序付けユニットと、
を有するメモリコントローラであって、
当該コントローラは、複数のメモリクロックスピードを有するメモリとインタフェースをとるよう構成されるメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接した実行されていないリクエスト間の検出されたバンクビジー状態を回避するため、前記メモリアクセスリクエストのシーケンスを再構成するメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接した実行されていないリクエスト間の検出されたバンクビジー状態中にメモリバンクがアクセス可能となるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成するメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接した実行されていないリクエスト間の検出されたページコンフリクト状態を回避するため、前記メモリアクセスリクエストのシーケンスを再構成するメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接した実行されていないリクエスト間の検出されたページコンフリクト状態中にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成するメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接した実行されていないリクエスト間の検出されたページミス状態中にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成するメモリコントローラ。 - 複数のメモリアクセスリクエストを到着順に格納する入力回路と、
検出されたコンフリクトに係るメモリアクセスリクエストを前方に移動させることによって、前記格納されたメモリアクセスリクエストをメモリアクセスリクエストの実行順に再構成するメモリアクセスリクエスト再構成回路であって、前記格納されているメモリアクセスリクエストの順序を、前記格納されているメモリアクセスリクエストの順序において存在するメモリアクセスコンフリクトであって、各メモリアクセスリクエストがリード若しくはライトコマンド及びデータコントロールコマンドからなる前記複数のメモリアクセスリクエストの1つと第2の実行されていない格納されているメモリアクセスリクエストとの比較の結果として検出されるメモリアクセスコンフリクトの検出に基づき、前記実行順に再構成するメモリアクセスリクエスト再構成回路と、
各コマンドの実行の間のアイドル時間を回避するため、前記再構成されたメモリアクセスリクエストからのコマンドをコマンド実行順に構成するコマンドシーケンサと、
前記実行順によりメモリアクセスリクエストを出力する送信回路と、
を有するメモリコントローラであって、
前記再構成回路は、第1クロックスピードにより動作し、
前記再構成回路により構成されるコマンドは、複数の異なるメモリクロックスピードの1つに従って実行される、メモリコントローラ。 - 請求項14記載のメモリコントローラであって、
前記再構成回路は、前記実行されていない格納されているメモリアクセスリクエストから生じるバンクビジーコンフリクトの検出に基づき、前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項15記載のメモリコントローラであって、
前記再構成回路は、前記検出されたバンクビジーコンフリクトを回避するよう前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項15記載のメモリコントローラであって、
前記再構成回路は、前記メモリアクセスリクエストが該メモリアクセスリクエストの格納順に実行される場合、前記検出されたバンクビジーコンフリクト状態中にメモリバンクがアクセス可能になることを待機することにより生じる遅延を最小化するため、前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項14記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序による前記実行されていない格納されているメモリアクセスリクエストから生じるページコンフリクト状態の検出に基づき、前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項18記載のメモリコントローラであって、
前記再構成回路は、前記検出されたページコンフリクトを回避するよう前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項18記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序により検出されたページコンフリクト状態の間に、メモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項14記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序による前記実行されていない格納されているメモリアクセスリクエストから生じるページミス状態の検出に基づき、前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項21記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序により検出されたページミス状態の間に、メモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう前記格納されたメモリアクセスリクエストを再構成するメモリコントローラ。 - 請求項14記載のメモリコントローラであって、さらに、
前記格納されたメモリアクセスリクエストを前記実行順に実行する実行回路と、
実行後、前記格納されたメモリアクセスリクエストの到着順を追跡する追跡回路と、
を有するメモリコントローラ。 - 請求項23記載のメモリコントローラであって、
前記追跡回路は、各メモリアクセスリクエストを前記到着順における該リクエストの位置に対応してタグを関連付けするメモリコントローラ。 - 請求項23記載のメモリコントローラであって、
前記追跡回路は、前記メモリアクセスリクエストの実行により各自のメモリ位置から読み出されたデータを構成するバッファを有し、これにより、前記バッファに構成されたデータを前記本来の到着順により前記メモリコントローラから転送することを可能にするメモリコントローラ。 - メモリアクセス処理の制御方法であって、
受信シーケンスにおける複数のメモリアクセスリクエストを受信するステップと、
前記複数のメモリアクセスリクエストの1つと第2の実行されていないメモリアクセスリクエストとを比較することによって、前記シーケンスにおける時間的に近接した実行されていないリクエスト間のメモリアクセスコンフリクトを検出するステップと、
検出されたコンフリクトに係るメモリアクセスリクエストをシーケンスにおいて前方に移動させることによって、前記検出結果に基づき前記リクエストシーケンスを再構成されたシーケンスに再構成するステップと、
前記メモリアクセスリクエストを前記再構成された順序により実行するステップと、
各メモリアクセスリクエストを少なくともリード若しくはライトコマンド及びデータコントロールコマンドにパース処理するステップと、
コマンドセレクトクロックスピードによる実行のため前記再構成されたシーケンスから一度に少なくとも1つのコマンドを選択するステップと、
を有し、
前記リクエストのシーケンスを再構成するステップはさらに、各コマンドの実行の間のアイドル時間を回避する実行順によりコマンドが実行されるように、前記再構成されたシーケンスの各リクエストに対して前記リード若しくはライトコマンド及び前記データコントロールコマンドを別々に構成し、
前記メモリアクセスコンフリクトを検出するステップはさらに、実行されていないメモリアクセスリクエストから生じるコンフリクトを検出する方法。 - 請求項26記載の制御方法であって、
前記複数のメモリアクセスリクエストは、指定されたメモリアドレスにデータを書き込むためのライトリクエストと、指定されたメモリアドレスからデータを読み出すためのリードリクエストとを含む方法。 - 請求項27記載の制御方法であって、さらに、
前記リードリクエストの実行により前記指定されたメモリアドレスから取得されたデータを、前記受信シーケンスにおける本来の順序によりメモリコントローラから出力するステップを有する方法。 - 請求項27記載の制御方法であって、さらに、
実行後、前記メモリアクセスリクエストの受信シーケンスを追跡するステップと、
前記再構成されたシーケンスでの前記リードリクエストの実行により取得されるリクエストデータを前記リードリクエストの受信シーケンスに対応する順序により各自の要求元に転送するステップと、
を有する方法。 - 請求項29記載の制御方法であって、
前記受信シーケンスを追跡するステップは、前記リクエストのシーケンスの再構成後、前記リードリクエストが本来受信されたシーケンスを示すよう各リードリクエストにタグを関連付ける方法。 - 請求項29記載の制御方法であって、
前記受信シーケンスを追跡するステップは、前記リクエストのシーケンスの再構成後、各リードリクエストの実行により取得されたデータが格納されるバッファ位置を割り当て、
該割り当てられたバッファ位置は、前記リードリクエストが本来受信されたシーケンスを示す方法。 - 請求項26記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、コンフリクトが生じるか検出するよう実行される方法。 - 請求項32記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、バンクビジーコンフリクトが生じるか検出するよう実行される方法。 - 請求項33記載の制御方法であって、
前記再構成するステップは、前記バンクビジーコンフリクトを回避するよう実行される方法。 - 請求項33記載の制御方法であって、
前記再構成するステップは、検出されたバンクビジーコンフリクトの間にメモリバンクがアクセス可能になるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項32記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、ページコンフリクトが生じるか検出するよう実行される方法。 - 請求項36記載の制御方法であって、
前記再構成するステップは、前記ページコンフリクトを回避するよう実行される方法。 - 請求項36記載の制御方法であって、
前記再構成するステップは、検出されたページコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項26記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、遅延が生じるか検出するよう実行される方法。 - 請求項39記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、ページミスが生じるか検出するよう実行される方法。 - 請求項40記載の制御方法であって、
前記再構成するステップは、検出されたページミスの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項26記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、コンフリクトが生じるか検出するよう実行される方法。 - 請求項42記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、バンクビジーコンフリクトが生じるか検出するよう実行される方法。 - 請求項43記載の制御方法であって、
前記再構成するステップは、前記バンクビジーコンフリクトを回避するよう実行される方法。 - 請求項43記載の制御方法であって、
前記再構成するステップは、検出されたバンクビジーコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項42記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、ページコンフリクトが生じるか検出するよう実行される方法。 - 請求項46記載の制御方法であって、
前記再構成するステップは、前記ページコンフリクトを回避するよう実行される方法。 - 請求項46記載の制御方法であって、
前記再構成するステップは、検出されたページコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項42記載の制御方法であって、
前記受信シーケンスの最先に受信されたメモリアクセスリクエストに関してコンフリクトが検出された場合、前記再構成するステップは、前記最先に受信されたメモリアクセスリクエストを前記シーケンスにおける最も最近に受信されたメモリアクセスリクエストに続く位置に一般に対応する前記シーケンスの終端に前記最先に受信されたメモリアクセスリクエストを移動する方法。 - 請求項26記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、遅延が生じるか検出するよう実行される方法。 - 請求項50記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、ページミスが生じるか検出するよう実行される方法。 - 請求項51記載の制御方法であって、
前記再構成するステップは、検出されたページミスの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行される方法。 - 請求項50記載の制御方法であって、
前記受信シーケンスの最先に受信されたメモリアクセスリクエストに関してコンフリクトが検出された場合、前記再構成するステップは、前記最先に受信されたメモリアクセスリクエストを前記シーケンスにおける最も最近に受信されたメモリアクセスリクエストに続く位置に一般に対応する前記シーケンスの終端に前記最先に受信されたメモリアクセスリクエストを移動する方法。 - プロセッサと、
前記プロセッサとデータをやりとりする少なくとも1つの記憶装置と、
前記プロセッサから前記少なくとも1つの記憶装置へのメモリアクセスリクエストを管理するメモリコントローラと、
を有するプロセッサシステムであって、
前記メモリコントローラは、
複数の要求元からリードリクエスト及び/またはライトリクエスト及びデータコントロールコマンドからなる複数のメモリアクセスリクエスト信号を受け取り、該リクエストが前記要求元から受信された順序に対応するシーケンスで前記複数のメモリアクセスリクエスト信号を受け取るシーケンシングユニットと、
メモリアクセスリクエスト信号と実行されていないメモリアクセスリクエスト信号とを再構成ユニットが比較することによって前記シーケンスにおいて時間的に近接した実行されていないリクエスト間において検出されたメモリアクセスのコンフリクトに基づき、検出されるコンフリクトを軽減するため前記シーケンスにおいてメモリアクセスリクエスト信号を前方に移動することによって、前記複数のメモリアクセスリクエスト信号のシーケンスを再構成し、これにより前記メモリアクセスリクエストの実行が前記再構成されたシーケンスにより実行されることを可能にする再構成ユニットと、
前記再構成されたシーケンスにより前記メモリアクセスリクエストを実行し、各メモリアクセスリクエストからのコマンドを、各コマンドの実行の間のアイドル時間を回避するよう構成する実行ユニットと、
実行されたリードリクエストを該リクエストの本来の受信順序に再順序付けし、これにより前記実行されたリードリクエストにより取得されたデータが前記再順序付けされたシーケンスにより前記要求元に返されることを可能にする再順序付けユニットと、
を有し、
前記コントローラは、複数のメモリクロックスピードの1つを有するメモリとインタフェースをとるよう構成されるシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/143,896 US7149857B2 (en) | 2002-05-14 | 2002-05-14 | Out of order DRAM sequencer |
US10/143,896 | 2002-05-14 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004505842A Division JP2005525652A (ja) | 2002-05-14 | 2003-05-14 | アウトオブオーダdramシーケンサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204487A true JP2008204487A (ja) | 2008-09-04 |
JP4742116B2 JP4742116B2 (ja) | 2011-08-10 |
Family
ID=29418478
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004505842A Withdrawn JP2005525652A (ja) | 2002-05-14 | 2003-05-14 | アウトオブオーダdramシーケンサ |
JP2008140086A Expired - Fee Related JP4742116B2 (ja) | 2002-05-14 | 2008-05-28 | アウトオブオーダdramシーケンサ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004505842A Withdrawn JP2005525652A (ja) | 2002-05-14 | 2003-05-14 | アウトオブオーダdramシーケンサ |
Country Status (9)
Country | Link |
---|---|
US (4) | US7149857B2 (ja) |
EP (1) | EP1540485B1 (ja) |
JP (2) | JP2005525652A (ja) |
KR (2) | KR20050005481A (ja) |
CN (1) | CN100527107C (ja) |
AT (1) | ATE456094T1 (ja) |
AU (1) | AU2003232136A1 (ja) |
DE (1) | DE60331081D1 (ja) |
WO (1) | WO2003098392A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033350A (ja) * | 2011-08-01 | 2013-02-14 | Fujitsu Semiconductor Ltd | プロセッサ、及びプロセッサの制御方法 |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694490B2 (en) * | 2002-07-10 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | DIMM and method for producing a DIMM |
ATE504446T1 (de) | 2002-12-02 | 2011-04-15 | Silverbrook Res Pty Ltd | Totdüsenausgleich |
US7418706B1 (en) * | 2003-05-08 | 2008-08-26 | Teradota Us, Inc. | Rescheduling table scan transactions |
US7240141B2 (en) * | 2004-04-09 | 2007-07-03 | Broadcom Corporation | Programmable inter-virtual channel and intra-virtual channel instructions issuing rules for an I/O bus of a system-on-a-chip processor |
US20060026371A1 (en) * | 2004-07-30 | 2006-02-02 | Chrysos George Z | Method and apparatus for implementing memory order models with order vectors |
US7451282B2 (en) * | 2005-03-09 | 2008-11-11 | Dolphin Interconnect Solutions North America Inc. | System and method for storing a sequential data stream |
US9286198B2 (en) | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US8028186B2 (en) * | 2006-10-23 | 2011-09-27 | Violin Memory, Inc. | Skew management in an interconnection system |
US8402201B2 (en) | 2006-12-06 | 2013-03-19 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery in solid-state storage |
US8265169B2 (en) * | 2006-12-29 | 2012-09-11 | Intel Corporation | Video block memory read request translation and tagging |
US8028257B2 (en) * | 2007-03-01 | 2011-09-27 | International Business Machines Corporation | Structure for data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode |
US11010076B2 (en) | 2007-03-29 | 2021-05-18 | Violin Systems Llc | Memory system with multiple striping of raid groups and method for performing the same |
US9632870B2 (en) | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
US8015375B1 (en) | 2007-03-30 | 2011-09-06 | Emc Corporation | Methods, systems, and computer program products for parallel processing and saving tracking information for multiple write requests in a data replication environment including multiple storage devices |
US7996599B2 (en) * | 2007-04-25 | 2011-08-09 | Apple Inc. | Command resequencing in memory operations |
US7925796B1 (en) | 2007-05-03 | 2011-04-12 | Emc Corporation | Methods, systems, and computer program products for performing an input/output (I/O) operation that includes a virtual drain |
US8145976B1 (en) | 2007-05-14 | 2012-03-27 | Marvell International Ltd. | Error correcting |
US8001338B2 (en) * | 2007-08-21 | 2011-08-16 | Microsoft Corporation | Multi-level DRAM controller to manage access to DRAM |
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8156415B1 (en) * | 2007-12-26 | 2012-04-10 | Marvell International Ltd. | Method and system for command queuing in disk drives |
US8180975B2 (en) * | 2008-02-26 | 2012-05-15 | Microsoft Corporation | Controlling interference in shared memory systems using parallelism-aware batch scheduling |
CN101520749B (zh) * | 2008-02-29 | 2012-08-29 | 瑞昱半导体股份有限公司 | 管理存储器的方法 |
US8370717B1 (en) | 2008-04-08 | 2013-02-05 | Marvell International Ltd. | Method and apparatus for flexible buffers in an XOR engine |
CN102037514A (zh) * | 2008-05-21 | 2011-04-27 | Nxp股份有限公司 | 包括重排网络的数据处理系统 |
CN101727398B (zh) * | 2008-10-31 | 2012-07-11 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
US8601205B1 (en) * | 2008-12-31 | 2013-12-03 | Synopsys, Inc. | Dynamic random access memory controller |
JP2010182092A (ja) * | 2009-02-05 | 2010-08-19 | Mitsubishi Electric Corp | バス装置 |
KR101581679B1 (ko) * | 2009-03-18 | 2015-12-31 | 삼성전자주식회사 | 저장 장치 및 저장 장치의 버퍼 메모리 관리 방법 |
US8199759B2 (en) * | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
WO2010144587A2 (en) | 2009-06-12 | 2010-12-16 | Violin Memory, Inc. | Memory system having persistent garbage collection |
WO2011019494A1 (en) | 2009-08-11 | 2011-02-17 | Marvell World Trade Ltd. | Controller for reading data from non-volatile memory |
US8644140B2 (en) * | 2009-09-09 | 2014-02-04 | Mellanox Technologies Ltd. | Data switch with shared port buffers |
CN102253917B (zh) * | 2010-05-19 | 2014-03-19 | 联芯科技有限公司 | 一种spi控制器及数据发送方法 |
KR101121902B1 (ko) * | 2010-06-22 | 2012-03-20 | 성균관대학교산학협력단 | 변경된 메모리 주소를 추적하는 트랜잭션 메모리 시스템 및 방법 |
US9021192B1 (en) * | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US8699491B2 (en) * | 2011-07-25 | 2014-04-15 | Mellanox Technologies Ltd. | Network element with shared buffers |
KR101292309B1 (ko) * | 2011-12-27 | 2013-07-31 | 숭실대학교산학협력단 | 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
CN102567246B (zh) * | 2011-12-29 | 2014-08-13 | 中国人民解放军国防科学技术大学 | 一种支持操作乱序执行的与非型快闪存储控制器 |
KR101721273B1 (ko) * | 2012-01-16 | 2017-03-29 | 한국전자통신연구원 | Sdio 인터페이스를 사용한 비순차적 데이터 전송 장치 및 방법 |
US20130185491A1 (en) * | 2012-01-17 | 2013-07-18 | Skymedi Corporation | Memory controller and a method thereof |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9348775B2 (en) * | 2012-03-16 | 2016-05-24 | Analog Devices, Inc. | Out-of-order execution of bus transactions |
US8775762B2 (en) * | 2012-05-07 | 2014-07-08 | Advanced Micro Devices, Inc. | Method and apparatus for batching memory requests |
KR20140028618A (ko) * | 2012-08-29 | 2014-03-10 | 삼성전자주식회사 | 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법 |
US9047092B2 (en) * | 2012-12-21 | 2015-06-02 | Arm Limited | Resource management within a load store unit |
US9582440B2 (en) | 2013-02-10 | 2017-02-28 | Mellanox Technologies Ltd. | Credit based low-latency arbitration with data transfer |
US8989011B2 (en) | 2013-03-14 | 2015-03-24 | Mellanox Technologies Ltd. | Communication over multiple virtual lanes using a shared buffer |
EP2992437A4 (en) * | 2013-04-30 | 2017-01-11 | Hewlett-Packard Enterprise Development LP | Coalescing memory access requests |
KR102120823B1 (ko) | 2013-08-14 | 2020-06-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템 |
US9641465B1 (en) | 2013-08-22 | 2017-05-02 | Mellanox Technologies, Ltd | Packet switch with reduced latency |
US9548960B2 (en) | 2013-10-06 | 2017-01-17 | Mellanox Technologies Ltd. | Simplified packet routing |
US20150199134A1 (en) * | 2014-01-10 | 2015-07-16 | Qualcomm Incorporated | System and method for resolving dram page conflicts based on memory access patterns |
US9325641B2 (en) | 2014-03-13 | 2016-04-26 | Mellanox Technologies Ltd. | Buffering schemes for communication over long haul links |
US9875185B2 (en) | 2014-07-09 | 2018-01-23 | Intel Corporation | Memory sequencing with coherent and non-coherent sub-systems |
US9584429B2 (en) | 2014-07-21 | 2017-02-28 | Mellanox Technologies Ltd. | Credit based flow control for long-haul links |
US9569119B2 (en) * | 2014-09-04 | 2017-02-14 | National Instruments Corporation | Self-addressing memory |
GB2550829B (en) | 2014-10-14 | 2021-09-22 | Advanced Risc Mach Ltd | Transaction response modification within interconnect circuitry |
KR20160049200A (ko) * | 2014-10-27 | 2016-05-09 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법 |
CN104375963B (zh) * | 2014-11-28 | 2019-03-15 | 上海兆芯集成电路有限公司 | 基于缓存一致性的控制系统和方法 |
US9740646B2 (en) * | 2014-12-20 | 2017-08-22 | Intel Corporation | Early identification in transactional buffered memory |
WO2016135618A1 (en) * | 2015-02-26 | 2016-09-01 | Strato Scale Ltd. | Ordering schemes for network and storage i/o requests for minimizing workload idle time and inter-workload interference |
GB2539435B8 (en) * | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level |
JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
CN111475438B (zh) * | 2015-08-12 | 2021-12-10 | 北京忆恒创源科技股份有限公司 | 提供服务质量的io请求处理方法及其装置 |
JP2017204170A (ja) * | 2016-05-12 | 2017-11-16 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
GB2551351B (en) * | 2016-06-14 | 2019-05-08 | Imagination Tech Ltd | Executing memory requests out of order |
US10353819B2 (en) * | 2016-06-24 | 2019-07-16 | Qualcomm Incorporated | Next line prefetchers employing initial high prefetch prediction confidence states for throttling next line prefetches in a processor-based system |
US11029881B2 (en) | 2016-06-29 | 2021-06-08 | Sony Corporation | Memory controller, memory system, and information processing system |
KR20180069960A (ko) * | 2016-12-15 | 2018-06-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
KR20180090039A (ko) * | 2017-02-02 | 2018-08-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP2018205859A (ja) * | 2017-05-31 | 2018-12-27 | キヤノン株式会社 | メモリコントローラとその制御方法 |
CN107770620B (zh) * | 2017-09-21 | 2020-10-30 | 广州视源电子科技股份有限公司 | 请求信息响应方法、系统及可读存储介质 |
US10419265B2 (en) | 2017-11-29 | 2019-09-17 | Bank Of America Corporation | Request processing system using a combining engine |
US10425456B2 (en) | 2017-11-29 | 2019-09-24 | Bank Of America Corporation | Request processing system using a splitting engine |
CN108335719A (zh) * | 2018-02-24 | 2018-07-27 | 上海兆芯集成电路有限公司 | 性能评估装置及性能评估方法 |
US11874782B1 (en) * | 2018-07-20 | 2024-01-16 | Robert Gezelter | Fast mass storage access for digital computers |
CN109683963A (zh) * | 2018-12-10 | 2019-04-26 | 深圳忆联信息系统有限公司 | 基于多命令输入的重排序输出方法、装置和计算机设备 |
TWI701554B (zh) * | 2018-12-13 | 2020-08-11 | 英屬維京群島商鯨鏈先進股份有限公司 | 適用於雜湊演算法的電路系統 |
US10951549B2 (en) | 2019-03-07 | 2021-03-16 | Mellanox Technologies Tlv Ltd. | Reusing switch ports for external buffer network |
CN110083387B (zh) | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 使用轮询机制的处理系统及其访存方法 |
CN110058931B (zh) | 2019-04-19 | 2022-03-22 | 上海兆芯集成电路有限公司 | 用以任务调度的处理系统及其加速方法 |
CN110083388B (zh) * | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 用于调度的处理系统及其访存方法 |
CN110032453B (zh) | 2019-04-19 | 2022-05-03 | 上海兆芯集成电路有限公司 | 用以任务调度与分配的处理系统及其加速方法 |
CN110046053B (zh) | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 用以分配任务的处理系统及其访存方法 |
US11093404B2 (en) * | 2019-10-14 | 2021-08-17 | EMC IP Holding Company LLC | Efficient pre-fetching on a storage system |
GB2588618B (en) * | 2019-10-29 | 2022-04-20 | Advanced Risc Mach Ltd | Methods and apparatus for issuing memory access commands |
US11481152B2 (en) * | 2019-12-30 | 2022-10-25 | Micron Technology, Inc. | Execution of commands addressed to a logical block |
CN113377277A (zh) * | 2020-03-09 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 管理存储器的方法、设备和计算机程序产品 |
US11727421B1 (en) | 2020-09-21 | 2023-08-15 | Cboe Exchange, Inc | System and method for implementing a system execution delay in response to liquidity removal for resting orders |
US11558316B2 (en) | 2021-02-15 | 2023-01-17 | Mellanox Technologies, Ltd. | Zero-copy buffering of traffic of long-haul links |
US20230104485A1 (en) * | 2021-02-18 | 2023-04-06 | Micron Technology, Inc. | Improved implicit ordered command handling |
CN114036096B (zh) * | 2021-11-04 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
US11973696B2 (en) | 2022-01-31 | 2024-04-30 | Mellanox Technologies, Ltd. | Allocation of shared reserve memory to queues in a network device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03263242A (ja) * | 1990-03-14 | 1991-11-22 | Nec Corp | データ処理装置 |
JPH06161885A (ja) * | 1992-11-26 | 1994-06-10 | Nec Corp | メモリアクセス制御装置 |
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 |
JPH10228417A (ja) * | 1996-11-15 | 1998-08-25 | Hyundai Electron America Inc | データ処理システムにおけるメモリリクエスト再順序付け法 |
WO2000029959A1 (en) * | 1998-11-16 | 2000-05-25 | Infineon Technologies Ag | Memory controller which increases bus utilization by reordering memory requests |
JP2001154913A (ja) * | 1999-11-30 | 2001-06-08 | Hitachi Ltd | 主記憶制御装置 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3735354A (en) | 1972-04-07 | 1973-05-22 | Sperry Rand Corp | Multiplexed memory request interface |
US5537572A (en) | 1992-03-31 | 1996-07-16 | Vlsi Technology, Inc. | Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM) |
US5461718A (en) | 1992-04-24 | 1995-10-24 | Digital Equipment Corporation | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory |
US5664153A (en) | 1993-04-21 | 1997-09-02 | Intel Corporation | Page open/close scheme based on high order address bit and likelihood of page access |
US5388247A (en) | 1993-05-14 | 1995-02-07 | Digital Equipment Corporation | History buffer control to reduce unnecessary allocations in a memory stream buffer |
US5630099A (en) | 1993-12-10 | 1997-05-13 | Advanced Micro Devices | Non-volatile memory array controller capable of controlling memory banks having variable bit widths |
US5638374A (en) * | 1995-03-15 | 1997-06-10 | Hughes Electronics | Enhanced transaction reservation |
US5701434A (en) | 1995-03-16 | 1997-12-23 | Hitachi, Ltd. | Interleave memory controller with a common access queue |
US6204864B1 (en) | 1995-06-07 | 2001-03-20 | Seiko Epson Corporation | Apparatus and method having improved memory controller request handler |
US5692165A (en) | 1995-09-12 | 1997-11-25 | Micron Electronics Inc. | Memory controller with low skew control signal |
US5872822A (en) | 1995-10-26 | 1999-02-16 | Mcdata Corporation | Method and apparatus for memory sequencing |
US6061759A (en) | 1996-02-09 | 2000-05-09 | Apex Semiconductor, Inc. | Hidden precharge pseudo cache DRAM |
US5907863A (en) | 1996-08-16 | 1999-05-25 | Unisys Corporation | Memory control unit using preloaded values to generate optimal timing of memory control sequences between different memory segments |
JPH10191236A (ja) | 1996-12-25 | 1998-07-21 | Nec Corp | 画像処理装置及び画像データメモリ配置方法 |
US5848025A (en) | 1997-06-30 | 1998-12-08 | Motorola, Inc. | Method and apparatus for controlling a memory device in a page mode |
US5983325A (en) | 1997-12-09 | 1999-11-09 | Advanced Micro Devices, Inc. | Dataless touch to open a memory page |
US6052134A (en) | 1997-12-22 | 2000-04-18 | Compaq Computer Corp. | Memory controller and method for dynamic page management |
US6052756A (en) | 1998-01-23 | 2000-04-18 | Oki Electric Industry Co., Ltd. | Memory page management |
US6295592B1 (en) | 1998-07-31 | 2001-09-25 | Micron Technology, Inc. | Method of processing memory requests in a pipelined memory controller |
US6434684B1 (en) | 1998-09-03 | 2002-08-13 | Micron Technology, Inc. | Method and apparatus for coupling signals across different clock domains, and memory device and computer system using same |
US6108795A (en) | 1998-10-30 | 2000-08-22 | Micron Technology, Inc. | Method for aligning clock and data signals received from a RAM |
US6212611B1 (en) * | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
US6510474B1 (en) * | 1998-11-16 | 2003-01-21 | Infineon Technologies Ag | Methods and apparatus for re-reordering command and data packets in order to restore an original order of out-of-order memory requests |
US6212598B1 (en) | 1998-11-30 | 2001-04-03 | Micron Technology, Inc. | Controlling a paging policy based on a requestor characteristic |
US6295586B1 (en) | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
US6181638B1 (en) | 1998-12-07 | 2001-01-30 | Micron Technology, Inc. | Method for receiving data from a synchronous random access memory |
US6389529B1 (en) | 1999-06-25 | 2002-05-14 | International Business Machines Corporation | Method for alternate preferred time delivery of load data |
JP2001022529A (ja) * | 1999-06-30 | 2001-01-26 | Internatl Business Mach Corp <Ibm> | ディスクドライブ装置及びその制御方法 |
US6330647B1 (en) | 1999-08-31 | 2001-12-11 | Micron Technology, Inc. | Memory bandwidth allocation based on access count priority scheme |
US6275913B1 (en) | 1999-10-15 | 2001-08-14 | Micron Technology, Inc. | Method for preserving memory request ordering across multiple memory controllers |
US6735677B1 (en) | 2001-04-30 | 2004-05-11 | Lsi Logic Corporation | Parameterizable queued memory access system |
US7242690B2 (en) | 2002-03-05 | 2007-07-10 | Hewlett-Packard Development Company, L.P. | System for performing input processing on a data packet |
-
2002
- 2002-05-14 US US10/143,896 patent/US7149857B2/en not_active Expired - Lifetime
-
2003
- 2003-05-14 KR KR10-2004-7018434A patent/KR20050005481A/ko not_active Application Discontinuation
- 2003-05-14 WO PCT/US2003/015184 patent/WO2003098392A2/en active Application Filing
- 2003-05-14 AU AU2003232136A patent/AU2003232136A1/en not_active Abandoned
- 2003-05-14 EP EP03753034A patent/EP1540485B1/en not_active Expired - Lifetime
- 2003-05-14 CN CNB038167735A patent/CN100527107C/zh not_active Expired - Lifetime
- 2003-05-14 AT AT03753034T patent/ATE456094T1/de not_active IP Right Cessation
- 2003-05-14 DE DE60331081T patent/DE60331081D1/de not_active Expired - Lifetime
- 2003-05-14 JP JP2004505842A patent/JP2005525652A/ja not_active Withdrawn
- 2003-05-14 KR KR1020067017435A patent/KR100724557B1/ko active IP Right Grant
-
2006
- 2006-11-28 US US11/604,906 patent/US7620789B2/en not_active Expired - Lifetime
-
2008
- 2008-05-28 JP JP2008140086A patent/JP4742116B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-23 US US12/604,579 patent/US8639902B2/en not_active Expired - Lifetime
-
2014
- 2014-01-27 US US14/165,423 patent/US9904489B2/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03263242A (ja) * | 1990-03-14 | 1991-11-22 | Nec Corp | データ処理装置 |
JPH06161885A (ja) * | 1992-11-26 | 1994-06-10 | Nec Corp | メモリアクセス制御装置 |
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 |
JPH10228417A (ja) * | 1996-11-15 | 1998-08-25 | Hyundai Electron America Inc | データ処理システムにおけるメモリリクエスト再順序付け法 |
WO2000029959A1 (en) * | 1998-11-16 | 2000-05-25 | Infineon Technologies Ag | Memory controller which increases bus utilization by reordering memory requests |
JP2003535380A (ja) * | 1998-11-16 | 2003-11-25 | インフィネオン・テクノロジーズ・アーゲー | メモリ要求の再順序付けによりバス稼働率を向上させるメモリコントローラ |
JP2001154913A (ja) * | 1999-11-30 | 2001-06-08 | Hitachi Ltd | 主記憶制御装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033350A (ja) * | 2011-08-01 | 2013-02-14 | Fujitsu Semiconductor Ltd | プロセッサ、及びプロセッサの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100724557B1 (ko) | 2007-06-04 |
EP1540485B1 (en) | 2010-01-20 |
US7620789B2 (en) | 2009-11-17 |
KR20050005481A (ko) | 2005-01-13 |
WO2003098392A2 (en) | 2003-11-27 |
US9904489B2 (en) | 2018-02-27 |
US20070101075A1 (en) | 2007-05-03 |
WO2003098392A3 (en) | 2005-04-21 |
CN1669011A (zh) | 2005-09-14 |
CN100527107C (zh) | 2009-08-12 |
US20100100670A1 (en) | 2010-04-22 |
ATE456094T1 (de) | 2010-02-15 |
EP1540485A2 (en) | 2005-06-15 |
AU2003232136A1 (en) | 2003-12-02 |
KR20060108357A (ko) | 2006-10-17 |
JP4742116B2 (ja) | 2011-08-10 |
US20140223116A1 (en) | 2014-08-07 |
US7149857B2 (en) | 2006-12-12 |
JP2005525652A (ja) | 2005-08-25 |
AU2003232136A8 (en) | 2003-12-02 |
DE60331081D1 (de) | 2010-03-11 |
US8639902B2 (en) | 2014-01-28 |
US20030217239A1 (en) | 2003-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4742116B2 (ja) | アウトオブオーダdramシーケンサ | |
EP2223217B1 (en) | System, apparatus, and method for modifying the order of memory accesses | |
EP3729281B1 (en) | Scheduling memory requests with non-uniform latencies | |
US6026464A (en) | Memory control system and method utilizing distributed memory controllers for multibank memory | |
JP2000501536A (ja) | 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット | |
US11474942B2 (en) | Supporting responses for memory types with non-uniform latencies on same channel | |
US6160562A (en) | System and method for aligning an initial cache line of data read from local memory by an input/output device | |
CN111684427A (zh) | 高速缓存控制感知的存储器控制器 | |
US5684978A (en) | Synchronous DRAM controller with memory access commands timed for optimized use of data bus | |
US6549991B1 (en) | Pipelined SDRAM memory controller to optimize bus utilization | |
JP3384770B2 (ja) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
JPH1131072A (ja) | メモリ先行ロード装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110412 |
|
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: 20110426 |
|
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: 20110509 |
|
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: 20140513 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |