JP2005525652A - アウトオブオーダdramシーケンサ - Google Patents
アウトオブオーダdramシーケンサ Download PDFInfo
- Publication number
- JP2005525652A JP2005525652A JP2004505842A JP2004505842A JP2005525652A JP 2005525652 A JP2005525652 A JP 2005525652A JP 2004505842 A JP2004505842 A JP 2004505842A JP 2004505842 A JP2004505842 A JP 2004505842A JP 2005525652 A JP2005525652 A JP 2005525652A
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- memory
- sequence
- requests
- request
- 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.)
- Withdrawn
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
- 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
- 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
- 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
Description
本発明は、有効なメモリ帯域幅を拡張させるためのメモリアクセス処理を制御するためのメモリコントローラの構成及び動作方法に関する。
[発明の背景]
大部分のコンピュータまたはデータ処理システムでは、メインとなるアクティブメモリ、すなわちランダムアクセスメモリ(RAM)は、ダイナミックランダムアクセスメモリ(DRAM)である。DRAMの構成は、一般に、複数のバンクの形式に構成された多数のメモリから構成される。各バンクは、各自が一意的なメモリアドレスに関連付けされたセルを有するメモリセルのアレイに対応している。特に、バンク内の各メモリアドレスは、行アドレスと列アドレスにより指定され、各行アドレスはメモリページとして定義される。このため、各メモリページは、当該ページ内の異なる列指定に対応する複数のメモリ位置を含む。
[発明の概要]
本発明は、上述のようなコンフリクト及び遅延を最小化するため、逐次的に受け取ったDRAMへのアクセスリクエストを再構成する一方、これらのリクエストが本来受け取られたものと同じ順序でリクエストされた情報を要求元ユニットに返すことにより、従来技術において特定された問題を解決しようとするものである。
[発明の詳細な説明]
説明の簡単化のため、本発明の好適な実施例が、ダイナミックランダムアクセスメモリ(DRAM)装置に関して利用されるものとして以下において説明される。しかしながら、本発明がDRAMに関する用途に限定されるものでないということは理解されるべきである。むしろ、本発明の方法とメモリコントローラは、スタティックRAM(SRAM)などの他のタイプのランダムアクセスメモリや、例えば、ファーストページモードDRAM(FPM DRAM)、拡張データアウトDRAM(EDO DRAM)、バーストEDO DRAM、同期DRAM(SDRAM)、ダブルデータレートDRAM(DDR DRAM)、ランバスDRAM(RDRAM)などを含む様々なDRAMの亜種と共に利用されてもよい。
Claims (61)
- 複数のメモリアクセスリクエストを本来の受信順序で少なくとも1つの要求元から受け取る入力キューと、
前記複数のメモリアクセスリクエストが構成可能であり、逐次的順序で前記複数のメモリアクセスリクエストを格納するシーケンスマトリックスと、
前記シーケンスマトリックスにおける複数のメモリアクセスリクエストのタイミングシーケンスを構成するシーケンシングユニットと、
前記シーケンシングユニットにより前記シーケンスマトリックスにおいて構成されたメモリアクセスリクエストのシーケンスにおいてコンフリクトまたは遅延が発生するか検出するコンフリクト検出器と、
前記コンフリクト検出器において検出されたコンフリクトまたは遅延を回避または軽減するため、前記メモリアクセスリクエストが前記逐次的順序とは異なる順序での実行に対して構成される実行キューと、
前記実行キューからの前記メモリアクセスリクエストの実行後、前記メモリアクセスリクエストの本来の受信順序を追跡し、前記メモリアクセスリクエストの本来の受信順序でリクエストデータを前記少なくとも1つの要求元に返すリードリターンキューと、
メモリから読み出されたリクエストデータを、該データが前記関連するアクセスリクエストの要求元に返されるまで、保持するリターンデータバッファと、
から構成されることを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラであって、さらに、
メモリアクセスリクエストを少なくともリードまたはライトコマンドとデータコントロールコマンドにパース処理するコマンドパーサと、
前記実行キューの各アクセスリクエストに対して、前記データコントロールコマンドとリードまたはライトコマンドを構成するコマンドシーケンサと、
を有することを特徴とするメモリコントローラ。 - 請求項2記載のメモリコントローラであって、さらに、
実行のため、前記実行キューから一度に少なくとも1つのコマンドを選択するコマンドセレクタを有することを特徴とするメモリコントローラ。 - 請求項3記載のメモリコントローラであって、
一度に選択されるコマンド数は、前記コマンドセレクタに与えられるコマンド選択クロック信号に依存することを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、逐次的に実行されるメモリアクセスリクエストにおいて潜在的なバンクビジー状態を検出することが可能であることを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、逐次的に実行されるメモリアクセスリクエストにおいて潜在的なページコンフリクト状態を検出することが可能であることを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラであって、
前記コンフリクト検出器は、逐次的に実行されるメモリアクセスリクエストにおいて潜在的なページミス状態を検出することが可能であることを特徴とするメモリコントローラ。 - 複数の要求元からリードリクエスト及び/またはライトリクエストからなる複数のメモリアクセスリクエスト信号を受け取り、該リクエストが前記要求元から受信された順序に対応するシーケンスで前記複数のメモリアクセスリクエスト信号を受け取るシーケンシングユニットと、
前記シーケンスにおいて時間的に近接したリクエスト間の検出されたメモリアクセスのコンフリクトまたは遅延に基づき、前記複数のメモリアクセスリクエスト信号のシーケンスを再構成し、これにより前記メモリアクセスリクエストの実行が前記再構成されたシーケンスにより実行されることを可能にする再構成ユニットと、
前記再構成されたシーケンスにより前記メモリアクセスリクエストを実行する実行ユニットと、
実行されたリードリクエストを該リクエストの本来の受信順序に再順序付けし、これにより前記実行されたリードリクエストにより取得されたデータが前記再順序付けされたシーケンスにより前記要求元に返されることを可能にする再順序付けユニットと、
から構成されることを特徴とするメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接したリクエスト間の検出されたバンクビジー状態を回避するため、前記メモリアクセスリクエストのシーケンスを再構成することを特徴とするメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接したリクエスト間の検出されたバンクビジー状態中にメモリバンクがアクセス可能となるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成することを特徴とするメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接したリクエスト間の検出されたページコンフリクト状態を回避するため、前記メモリアクセスリクエストのシーケンスを再構成することを特徴とするメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接したリクエスト間の検出されたページコンフリクト状態中にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成することを特徴とするメモリコントローラ。 - 請求項8記載のメモリコントローラであって、
前記再構成ユニットは、前記シーケンスにおける時間的に近接したリクエスト間の検出されたページミス状態中にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するため、前記メモリアクセスリクエストのシーケンスを再構成することを特徴とするメモリコントローラ。 - 複数の要求元からリードリクエスト及び/またはライトリクエストからなる複数のメモリアクセスリクエスト信号を受け取り、該リクエストが前記要求元から受信された順序に対応するシーケンスで前記複数のメモリアクセスリクエスト信号を受け取るシーケンシングユニットと、
メモリ構成とのデータの転送に利用されるメモリデータバスの利用率を前記メモリデータバスのアイドルタイムを最小化することにより最大化するため、前記メモリアクセスリクエストのシーケンスを再構成し、前記メモリアクセスリクエストの実行が前記再構成されたシーケンスにより実行されることを可能にする再構成ユニットと、
前記再構成されたシーケンスにより前記メモリアクセスリクエストを実行する実行ユニットと、
実行されたリードリクエストを該リクエストの本来の受信順序に再順序付けし、これにより前記実行されたリードリクエストにより取得されたデータが前記再順序付けされたシーケンスにより前記要求元に返されることを可能にする再順序付けユニットと、
から構成されることを特徴とするメモリコントローラ。 - 複数のメモリアクセスリクエストを到着順に格納する入力回路と、
前記格納されたメモリアクセスリクエストの到着順に存在するメモリアクセスコンフリクトとメモリアクセス遅延の少なくとも1つの検出に基づき、前記格納されたメモリアクセスリクエストをメモリアクセスリクエストの実行順に再構成するメモリアクセスリクエスト再構成回路と、
前記実行順によりメモリアクセスリクエストを出力する送信回路と、
から構成されることを特徴とするメモリコントローラ。 - 請求項15記載のメモリコントローラであって、
前記再構成回路は、バンクビジーコンフリクトの検出に基づき、前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項16記載のメモリコントローラであって、
前記再構成回路は、前記検出されたバンクビジーコンフリクトを回避するよう前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項16記載のメモリコントローラであって、
前記再構成回路は、前記メモリアクセスリクエストが該メモリアクセスリクエストの格納順に実行される場合、前記検出されたバンクビジー状態中にメモリバンクがアクセス可能になることを待機することにより生じる遅延を最小化するため、前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項15記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序によるページコンフリクト状態の検出に基づき、前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項19記載のメモリコントローラであって、
前記再構成回路は、前記検出されたページコンフリクトを回避するよう前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項19記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序により検出されたページコンフリクト状態の間に、メモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項15記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序によるページミス状態の検出に基づき、前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項22記載のメモリコントローラであって、
前記再構成回路は、前記格納されたメモリアクセスリクエストの順序により検出されたページミス状態の間に、メモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう前記格納されたメモリアクセスリクエストを再構成することを特徴とするメモリコントローラ。 - 請求項15記載のメモリコントローラであって、さらに、
前記格納されたメモリアクセスリクエストを前記実行順に実行する実行回路と、
実行後、前記格納されたメモリアクセスリクエストの到着順を追跡する追跡回路と、
を有することを特徴とするメモリコントローラ。 - 請求項24記載のメモリコントローラであって、
前記追跡回路は、各メモリアクセスリクエストを前記到着順における該リクエストの位置に対応してタグを関連付けすることを特徴とするメモリコントローラ。 - 請求項24記載のメモリコントローラであって、
前記追跡回路は、前記メモリアクセスリクエストの実行により各自のメモリ位置から読み出されたデータを構成するバッファを有し、
これにより、前記バッファに構成されたデータを前記本来の到着順により前記メモリコントローラから転送することを可能にすることを特徴とするメモリコントローラ。 - メモリアクセス処理の制御方法であって、
受信シーケンスにおける複数のメモリアクセスリクエストを受信するステップと、
前記シーケンスにおける時間的に近接したリクエスト間のメモリアクセスコンフリクトと遅延の少なくとも1つを検出するステップと、
前記検出結果に基づき前記リクエストのシーケンスを再構成するステップと、
前記再構成された順序により前記複数のメモリアクセスリクエストを実行するステップと、
から構成されることを特徴とする方法。 - 請求項27記載の制御方法であって、
前記複数のメモリアクセスリクエストは、指定されたメモリアドレスにデータを書き込むためのライトリクエストと、指定されたメモリアドレスからデータを読み出すためのリードリクエストとを含むことを特徴とする方法。 - 請求項28記載の制御方法であって、さらに、
前記リードリクエストの実行により前記指定されたメモリアドレスから取得されたデータを、前記受信シーケンスにおける本来の順序によりメモリコントローラから出力するステップを有することを特徴とする方法。 - 請求項28記載の制御方法であって、さらに、
実行後、前記メモリアクセスリクエストの受信シーケンスを追跡するステップと、
前記再構成されたシーケンスでの前記リードリクエストの実行により取得されるリクエストデータを前記リードリクエストの受信シーケンスに対応する順序により各自の要求元に転送するステップと、
を有することを特徴とする方法。 - 請求項30記載の制御方法であって、
前記受信シーケンスを追跡するステップは、前記リクエストのシーケンスの再構成後、前記リードリクエストが本来受信されたシーケンスを示すよう各リードリクエストにタグを関連付けることを特徴とする方法。 - 請求項30記載の制御方法であって、
前記受信シーケンスを追跡するステップは、前記リクエストのシーケンスの再構成後、各リードリクエストの実行により取得されたデータが格納されるバッファ位置を割り当て、
該割り当てられたバッファ位置は、前記リードリクエストが本来受信されたシーケンスを示す、
ことを特徴とする方法。 - 請求項27記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、コンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項33記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、バンクビジーコンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項34記載の制御方法であって、
前記再構成するステップは、前記バンクビジーコンフリクトを回避するよう実行されることを特徴とする方法。 - 請求項34記載の制御方法であって、
前記再構成するステップは、検出されたバンクビジーコンフリクトの間にメモリバンクがアクセス可能になるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項33記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、ページコンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項37記載の制御方法であって、
前記再構成するステップは、前記ページコンフリクトを回避するよう実行されることを特徴とする方法。 - 請求項37記載の制御方法であって、
前記再構成するステップは、検出されたページコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項27記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、遅延が生じるか検出するよう実行されることを特徴とする方法。 - 請求項40記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最も最近受信されたメモリアクセスリクエストを実行することにより、ページミスが生じるか検出するよう実行されることを特徴とする方法。 - 請求項41記載の制御方法であって、
前記再構成するステップは、検出されたページミスの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項27記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、コンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項43記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、バンクビジーコンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項44記載の制御方法であって、
前記再構成するステップは、前記バンクビジーコンフリクトを回避するよう実行されることを特徴とする方法。 - 請求項44記載の制御方法であって、
前記再構成するステップは、検出されたバンクビジーコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項43記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、ページコンフリクトが生じるか検出するよう実行されることを特徴とする方法。 - 請求項47記載の制御方法であって、
前記再構成するステップは、前記ページコンフリクトを回避するよう実行されることを特徴とする方法。 - 請求項47記載の制御方法であって、
前記再構成するステップは、検出されたページコンフリクトの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項43記載の制御方法であって、
前記受信シーケンスの最先に受信されたメモリアクセスリクエストに関してコンフリクトが検出された場合、前記再構成するステップは、前記最先に受信されたメモリアクセスリクエストを前記シーケンスにおける最も最近に受信されたメモリアクセスリクエストに続く位置に一般に対応する前記シーケンスの終端に前記最先に受信されたメモリアクセスリクエストを移動することを特徴とする方法。 - 請求項27記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、遅延が生じるか検出するよう実行されることを特徴とする方法。 - 請求項51記載の制御方法であって、
前記検出するステップは、前記受信シーケンスの現在位置において最先に受信されたメモリアクセスリクエストを実行することにより、ページミスが生じるか検出するよう実行されることを特徴とする方法。 - 請求項52記載の制御方法であって、
前記再構成するステップは、検出されたページミスの間にメモリバンクがアクセス準備されるのを待機することにより生じる遅延を最小化するよう実行されることを特徴とする方法。 - 請求項51記載の制御方法であって、
前記受信シーケンスの最先に受信されたメモリアクセスリクエストに関してコンフリクトが検出された場合、前記再構成するステップは、前記最先に受信されたメモリアクセスリクエストを前記シーケンスにおける最も最近に受信されたメモリアクセスリクエストに続く位置に一般に対応する前記シーケンスの終端に前記最先に受信されたメモリアクセスリクエストを移動することを特徴とする方法。 - 請求項27記載の制御方法であって、さらに、
各メモリアクセスリクエストを少なくともリードまたはライトコマンドとデータコントロールコマンドにパース処理するステップと、
前記リクエストのシーケンスを再構成するステップにおいて、前記再構成されたシーケンスにおける各リクエストに対して、前記リードまたはライトコマンドと前記データコントロールコマンドを別々に構成するステップと、
実行のため、前記再構成されたシーケンスから一度に少なくとも1つのコマンドを選択するステップと、
を有することを特徴とする方法。 - メモリアクセス処理の制御方法であって、
リードリクエストとライトリクエストを含む複数のメモリアクセスリクエストを受信順に受信するステップと、
メモリデータバスの利用率を最大化するため、前記メモリアクセスリクエストの順序を再構成するステップと、
前記複数のメモリアクセスリクエストを前記再構成された順序で実行するステップと、
から構成されることを特徴とする方法。 - 請求項56記載の制御方法であって、さらに、
前記再構成された順序により前記リードリクエストを実行することにより、前記リードリクエストの実行により読み出されたデータを前記リードリクエストの本来の受信順に従って構成するステップと、
メモリコントローラからの前記リードデータを前記構成された順序により出力するステップと、
を有することを特徴とする方法。 - メモリアクセス処理の制御方法であって、
リードリクエストとライトリクエストを含む複数のメモリアクセスリクエストを受信順に受信するステップと、
メモリアクセスのコンフリクトと遅延を最小化するため、前記メモリアクセスリクエストの順序を再構成するステップと、
前記複数のメモリアクセスリクエストを前記再構成された順序で実行するステップと、
から構成されることを特徴とする方法。 - 請求項58記載の制御方法であって、さらに、
前記再構成された順序により前記リードリクエストを実行することにより、前記リードリクエストの実行により読み出されたデータを前記リードリクエストの本来の受信順に従って構成するステップと、
メモリコントローラからの前記リードデータを前記構成された順序により出力するステップと、
を有することを特徴とする方法。 - プロセッサと、
前記プロセッサとデータをやりとりする少なくとも1つの記憶装置と、
前記プロセッサから前記少なくとも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 |
PCT/US2003/015184 WO2003098392A2 (en) | 2002-05-14 | 2003-05-14 | Out of order dram sequencer |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008140086A Division JP4742116B2 (ja) | 2002-05-14 | 2008-05-28 | アウトオブオーダdramシーケンサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005525652A true JP2005525652A (ja) | 2005-08-25 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008140086A Expired - Fee Related JP4742116B2 (ja) | 2002-05-14 | 2008-05-28 | アウトオブオーダ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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010182092A (ja) * | 2009-02-05 | 2010-08-19 | Mitsubishi Electric Corp | バス装置 |
JP2013502001A (ja) * | 2009-08-11 | 2013-01-17 | マーベル ワールド トレード リミテッド | 不揮発性メモリからのデータ読み出し用コントローラ |
WO2018003244A1 (ja) * | 2016-06-29 | 2018-01-04 | ソニー株式会社 | メモリコントローラ、メモリシステムおよび情報処理システム |
Families Citing this family (95)
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 |
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 |
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 |
JP5704012B2 (ja) * | 2011-08-01 | 2015-04-22 | 富士通セミコンダクター株式会社 | プロセッサ、及びプロセッサの制御方法 |
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 |
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 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3735354A (en) | 1972-04-07 | 1973-05-22 | Sperry Rand Corp | Multiplexed memory request interface |
JP3157507B2 (ja) * | 1990-03-14 | 2001-04-16 | 日本電気株式会社 | データ処理装置 |
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 |
JP3010947B2 (ja) | 1992-11-26 | 2000-02-21 | 日本電気株式会社 | メモリアクセス制御装置 |
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 |
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 |
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 |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
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 |
US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
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 |
JP2001154913A (ja) * | 1999-11-30 | 2001-06-08 | Hitachi Ltd | 主記憶制御装置 |
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
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010182092A (ja) * | 2009-02-05 | 2010-08-19 | Mitsubishi Electric Corp | バス装置 |
JP2013502001A (ja) * | 2009-08-11 | 2013-01-17 | マーベル ワールド トレード リミテッド | 不揮発性メモリからのデータ読み出し用コントローラ |
WO2018003244A1 (ja) * | 2016-06-29 | 2018-01-04 | ソニー株式会社 | メモリコントローラ、メモリシステムおよび情報処理システム |
JPWO2018003244A1 (ja) * | 2016-06-29 | 2019-04-18 | ソニー株式会社 | メモリコントローラ、メモリシステムおよび情報処理システム |
US11029881B2 (en) | 2016-06-29 | 2021-06-08 | Sony Corporation | Memory controller, memory system, and information processing system |
JP6992750B2 (ja) | 2016-06-29 | 2022-01-13 | ソニーグループ株式会社 | メモリコントローラ、メモリシステムおよび情報処理システム |
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 |
JP2008204487A (ja) | 2008-09-04 |
JP4742116B2 (ja) | 2011-08-10 |
US20140223116A1 (en) | 2014-08-07 |
US7149857B2 (en) | 2006-12-12 |
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シーケンサ | |
US8180974B2 (en) | System, apparatus, and method for modifying the order of memory accesses | |
US6295592B1 (en) | Method of processing memory requests in a pipelined memory controller | |
US6272609B1 (en) | Pipelined memory controller | |
US6026464A (en) | Memory control system and method utilizing distributed memory controllers for multibank memory | |
US6393512B1 (en) | Circuit and method for detecting bank conflicts in accessing adjacent banks | |
US6507886B1 (en) | Scheduler for avoiding bank conflicts in issuing concurrent requests to main memory | |
JP2000501536A (ja) | 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット | |
US6160562A (en) | System and method for aligning an initial cache line of data read from local memory by an input/output device | |
US11474942B2 (en) | Supporting responses for memory types with non-uniform latencies on same channel | |
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) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
KR20230145254A (ko) | 적응형 메모리 액세스 관리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080805 |