KR100724557B1 - 아웃 오브 오더 dram 시퀀서 - Google Patents
아웃 오브 오더 dram 시퀀서 Download PDFInfo
- Publication number
- KR100724557B1 KR100724557B1 KR1020067017435A KR20067017435A KR100724557B1 KR 100724557 B1 KR100724557 B1 KR 100724557B1 KR 1020067017435 A KR1020067017435 A KR 1020067017435A KR 20067017435 A KR20067017435 A KR 20067017435A KR 100724557 B1 KR100724557 B1 KR 100724557B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory access
- memory
- requests
- sequence
- read
- Prior art date
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Dram (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Advance Control (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Electrotherapy Devices (AREA)
- Processing Of Color Television Signals (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
Description
Claims (54)
- 메모리 제어기에 있어서,원 수신된 순서로 적어도 한 요청자로부터 복수의 메모리 액세스 요청들을 수신하는 입력 큐;상기 복수의 메모리 액세스 요청들이 배열될 수 있고, 시퀀스된 순서로 상기 복수의 메모리 액세스 요청들을 저장하는 것인, 시퀀스 매트릭스;상기 시퀀스 매트릭스에 복수의 메모리 액세스 요청들의 타이밍 시퀀스를 배열하기 위한 시퀀싱 유닛;상기 시퀀싱 유닛에 의해 상기 시퀀스 매트릭스에 배열된 메모리 액세스 요청들의 시퀀스 중에서 충돌 혹은 지연이 발생하게 될지 여부를 검출하는 충돌 검출기- 상기 충돌 검출기는 충돌 혹은 지연이 검출될 때 상기 시퀀싱 유닛이 상기 시퀀스 매트릭스 내에서 상기 저장된 요청들의 시퀀스된 순서를 재배열하도록, 검출된 충돌 혹은 지연을 상기 시퀀싱 유닛에 보고하며, 상기 충돌 혹은 지연은 상기 시퀀스 매트릭스의 상기 메모리 액세스 요청들 중 하나와 상기 시퀀스 매트릭스에 배열된 상기 메모리 액세스 요청들의 시퀀스 중 제2 메모리 액세스 요청과의 비교 또는 상기 시퀀스 매트릭스에 사전에 시퀀싱되어 있었던 복수의 미실행의(non-executed) 메모리 액세스 요청들 중 하나와의 비교로부터 발생한다-;상기 메모리 액세스 요청들로부터 복수의 명령들이 추출되는 실행 큐- 각 메모리 액세스 요청은 독출 혹은 기입 명령, 및 데이터 제어 명령들을 포함하고, 복 수의 명령들은 상기 시퀀스 매트릭스에 의해 결정된 실행 순서로 배열되어 있고, 상기 실행 순서는 메모리 액세스 요청으로부터의 데이터 제어 명령이 이전의 메모리 액세스 요청으로부터의 독출 혹은 기입 명령이 실행될 수도 있는 동안에 실행되도록 또한 배열되어 있으며 상기 메모리 액세스 요청의 상기 독출 혹은 기입 명령이 상기 이전의 메모리 액세스 요청의 상기 독출 혹은 기입 명령 이후에 실행되도록 또한 배열되어 있다-;상기 실행 순서대로 상기 실행 큐로부터 상기 메모리 액세스 요청들의 실행 후에 상기 메모리 액세스 요청들의 상기 원 수신된 순서를 추적하여, 요청된 데이터를, 상기 메모리 액세스 요청들의 상기 원 수신된 순서로 상기 적어도 한 요청자에 리턴하는 독출 리턴 큐; 및상기 데이터가 상기 연관된 액세스 요청의 상기 요청자에 리턴될 때까지 메모리로부터 읽은 요청된 데이터를 보유하는 리턴 데이터 버퍼를 포함하며,상기 제어기는 복수의 메모리 클록 속도를 갖는 메모리와 인터페이스하도록 구성되는, 메모리 제어기.
- 제1항에 있어서, 메모리 액세스 요청들을 적어도 독출 혹은 기입 명령들, 및 데이터 제어 명령들로 파싱하는 명령 파서(parcer); 및각각의 액세스 요청에 대한 데이터 제어 명령들 및 상기 독출 혹은 기입 명령들을 상기 실행 큐에 배열하는 명령 시퀀서를 더 포함하는, 메모리 제어기.
- 제2항에 있어서, 실행을 위해 상기 실행 큐로부터 한번에 적어도 한 명령을 선택하는 명령 선택기를 더 포함하는, 메모리 제어기.
- 제3항에 있어서, 고정된 시간 간격 동안 선택되는 명령들의 수는 상기 명령 선택기에 공급되는 명령 선택 클록 신호에 따르는 것인, 메모리 제어기.
- 제1항에 있어서, 상기 검출기는 상기 시퀀스 매트릭스에 배열된 상기 메모리 액세스 요청들의 시퀀스 또는 상기 복수의 미실행 메모리 액세스 요청들로부터 발생하는 잠재적 뱅크 비지 상태를 검출할 수 있는 것인, 메모리 제어기.
- 제1항에 있어서, 상기 검출기는 상기 시퀀스 매트릭스에 배열된 상기 메모리 액세스 요청들의 시퀀스 또는 상기 복수의 미실행 메모리 액세스 요청들로부터 발생하는 잠재적 페이지 충돌 상태를 검출할 수 있는 것인, 메모리 제어기.
- 제1항에 있어서, 상기 검출기는 상기 시퀀스 매트릭스에 배열된 상기 메모리 액세스 요청들의 시퀀스 또는 상기 복수의 미실행 메모리 액세스 요청들로부터 발생하는 잠재적 페이지 상실 상태를 검출할 수 있는 것인, 메모리 제어기.
- 메모리 제어기에 있어서,복수의 요청자들로부터 독출 요청들 및/또는 기입요청들을 포함하는 것인 복수의 메모리 액세스 요청 신호들을 수신하며, 상기 요청자들로부터 요청들이 수신되었던 순서에 대응하는 시퀀스로 상기 메모리 액세스 요청 신호들을 수신하는 것인, 시퀀싱 유닛;상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 메모리 액세스 충돌들에 기초하여 상기 메모리 액세스 요청 신호들의 시퀀스를 재배열하며, 그럼으로써 상기 재배열된 시퀀스로 상기 메모리 액세스 요청들의 실행이 수행되게 하는 재배열 유닛;상기 메모리 액세스 요청들로부터 복수의 명령들을 추출하고 상기 복수의 명령들을 실행하는 실행 유닛- 각 메모리 액세스 요청은 독출 혹은 기입 명령, 및 데이터 제어 명령들을 포함하고, 상기 복수의 명령들은 상기 재배열된 시퀀스에 대응하여 실행 순서로 배열되어 있으며, 상기 실행 순서는 메모리 액세스 요청으로부터의 데이터 제어 명령이 이전의 메모리 액세스 요청으로부터의 독출 혹은 기입 명령이 실행될 수도 있는 동안에 실행되도록 그리고 또한 상기 이전의 메모리 액세스 요청의 상기 독출 혹은 기입 명령이 실행된 후에 상기 메모리 액세스 요청의 상기 독출 혹은 기입 명령이 실행되도록 또한 배열되어 있다-; 및상기 실행되는 독출요청들의 순서를 상기 요청들이 원래 수신되었던 순서로 다시 정하여, 상기 실행된 독출 요청들에 의해 얻어진 데이터가 상기 재순서화된 시퀀스로 상기 요청자들에 리턴되게 하는, 재순서화 유닛을 포함하며,상기 제어기는 복수의 메모리 클록 속도를 갖는 메모리와 인터페이스하도록 구성되는, 메모리 제어기.
- 제8항에 있어서, 상기 재배열 유닛은 상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 뱅크 비지 상태를 피하도록 메모리 액세스 요청들의 시퀀스를 재배열하는 것인, 메모리 제어기.
- 제8항에 있어서, 상기 재배열 유닛은 상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 뱅크 비지 상태 동안에 액세스하는데 사용될 수 있게 하기 위해 메모리 뱅크를 대기함으로써 야기되는 지연을 최소화되도록 메모리 액세스 요청들의 시퀀스를 재배열하는 것인, 메모리 제어기.
- 제8항에 있어서, 상기 재배열 유닛은 상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 뱅크 비지 상태를 피하기 위해서 메모리 액세스 요청들의 시퀀스를 재배열하는 것인, 메모리 제어기.
- 제8항에 있어서, 상기 재배열 유닛은 상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 페이지 충돌 상태 동안 액세스하는데 준비되게 하기 위해서 메모리 뱅크를 대기함으로써 야기되는 지연을 최소화하도록 메모리 액세스 요청들의 시퀀스를 재배열하는 것인, 메모리 제어기.
- 제8항에 있어서, 상기 재배열 유닛은 상기 시퀀스에서 시간적으로 근접한 미실행 요청들간 검출된 페이지 상실 상태 동안 액세스하는데 준비되게 하기 위해서 메모리 뱅크를 대기함으로써 야기되는 지연을 최소화하도록 메모리 액세스 요청들의 시퀀스를 재배열하는 것인, 메모리 제어기.
- 메모리 제어기에 있어서,복수의 메모리 액세스 요청들을 도착 순서로 저장하는 입력회로;상기 저장된 메모리 액세스 요청들을 메모리 액세스 요청 실행 순서로 재배열하는 것으로, 상기 저장된 메모리 액세스 요청들의 순서로 있는 메모리 액세스 충돌의 검출에 근거하여 상기 저장된 메모리 액세스 요청들의 순서를 상기 실행순서로 재배열하는, 메모리 액세스 요청 재배열 회로- 상기 메모리 액세스 충돌은 상기 복수의 메모리 액세스 요청들 중 하나와 제2 미실행 저장된 메모리 액세스 요청과의 비교로부터 발생하고, 각 메모리 액세스 요청은 독출 혹은 기입 명령, 및 데이터 제어 명령들을 포함하며, 상기 메모리 액세스 요청 재배열 회로는 메모리 액세스 요청으로부터의 데이터 제어 명령이 이전의 메모리 액세스 요청으로부터의 독출 혹은 기입 명령이 실행되기 전에 실행되도록 배열하고 상기 메모리 액세스 요청의 상기 독출 혹은 기입 명령을 상기 이전의 메모리 액세스 요청으로부터의 상기 독출 혹은 기입 명령의 상기 실행 이후에 실행되도록 또한 배열한다- ; 및메모리 액세스 요청들을 상기 실행순서로 출력하는 발송회로를 포함하며,상기 재배열 회로는 제1 클록 속도로 동작하며 복수의 서로 다른 메모리 클록 속도를 갖는 메모리와 인터페이스하도록 구성되는, 메모리 제어기.
- 제14항에 있어서, 상기 재배열 회로는 상기 미실행 저장된 메모리 액세스 요청으로부터 발생하는 뱅크 비지 충돌의 검출에 근거하여 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제15항에 있어서, 상기 재배열 회로는 상기 검출된 뱅크 비지 충돌을 피하기 위해 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제15항에 있어서, 상기 재배열 회로는 상기 메모리 액세스 요청들이 메모리 액세스 요청들의 상기 저장된 순서로 실행하기로 되었을 경우 상기 검출된 뱅크 비지 충돌 동안 액세스하는데 사용될 수 있게 되도록, 메모리 뱅크를 대기함으로써 야기되는 지연을 최소화하기 위해 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제14항에 있어서, 상기 재배열 회로는 상기 저장된 메모리 액세스 요청들의 순서로 페이지 충돌 상태의 검출에 근거하여 상기 저장된 메모리 액세스 요청들을 재배열하며, 상기 페이지 충돌 상태는 상기 미실행 저장된 메모리 액세스 요청들로 부터 발생하는, 메모리 제어기.
- 제18항에 있어서, 상기 재배열 회로는 상기 검출된 페이지 충돌을 피하기 위해서 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제18항에 있어서, 상기 재배열 회로는 상기 저장된 메모리 액세스 요청들의 순서로, 검출된 페이지 상실 상태 동안에 액세스에 준비되도록, 메모리 뱅크를 대기함으로써 야기하게 되는 지연을 최소화하기 위해 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제14항에 있어서, 상기 재배열 회로는 상기 저장된 메모리 액세스 요청들의 순서로 페이지 상실 상태의 검출에 근거하여 상기 저장된 메모리 액세스 요청들을 재배열하며, 상기 페이지 상실 상태는 상기 미실행 저장된 메모리 액세스 요청들로부터 발생하는, 메모리 제어기.
- 제21항에 있어서, 상기 재배열 회로는 상기 저장된 메모리 액세스 요청들의 순서로, 검출된 페이지 상실 상태 동안에 액세스에 준비되도록, 메모리 뱅크를 대기함으로써 야기하게 되는 지연을 최소화하기 위해 상기 저장된 메모리 액세스 요청들을 재배열하는 것인, 메모리 제어기.
- 제14항에 있어서, 상기 저장된 메모리 액세스 요청들을 상기 실행순서로 실행하는 실행 회로; 및실행 후에 상기 저장된 메모리 액세스 요청들의 도착 순서를 추적하는 추적 회로를 더 포함하는, 메모리 제어기.
- 제23항에 있어서, 상기 추적회로는 도착순서로 각각의 위치에 대응하여 태그를 메모리 액세스 요청에 연관시키는 것인, 메모리 제어기.
- 제23항에 있어서, 상기 추적회로는 상기 메모리 액세스 요청들을 실행시 각각의 메모리 위치들로부터 독출한 데이터를 편제하여, 버퍼에 배열된 데이터가 원 도착 순서로 상기 메모리 제어기로부터 전송될 수 있게 하는 것이는 버퍼를 포함하는, 메모리 제어기.
- 메모리 액세스 동작을 제어하는 방법에 있어서,수신된 시퀀스로 복수의 메모리 액세스 요청들을 수신하는 단계;상기 복수의 메모리 액세스 요청들 중 하나를 상기 복수의 메모리 액세스 요청들로부터 제2 미실행 메모리 액세스 요청과 비교함으로써 상기 시퀀스에서 시간적으로 근접한 미실행 요청들 간에 메모리 액세스 충돌들을 검출하는 단계;상기 검출 결과에 기초하여 상기 요청들의 시퀀스를 재배열하는 단계;상기 재배열된 순서로 상기 메모리 액세스 요청들을 실행하는 단계;각 메모리 액세스 요청을 적어도 독출 혹은 기입 명령, 및 데이터 제어 명령으로 파싱하는 단계;상기 요청들의 시퀀스를 재배열하는 단계에서, 요청에 대한 데이터 제어 명령이 이전의 요청으로부터의 독출 혹은 기입 명령이 실행되기 전에 실행되도록 상기 재배열된 시퀀스로 각 요청에 대해 상기 독출 혹은 기입 명령, 및 상기 데이터 제어 명령을 따로따로 배열하며 상기 요청의 상기 독출 혹은 기입 명령을 상기 이전의 요청으로부터의 상기 독출 혹은 기입 명령의 상기 실행 이후에 실행되도록 배열하는 단계; 및메모리 클록 속도에서의 실행을 위해 상기 재배열된 시퀀스로부터 한 번에 적어도 하나의 명령을 선택하는 단계를 포함하는, 메모리 액세스 동작 제어방법.
- 제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항에 있어서, 상기 수신된 시퀀스에서 상기 가장 먼저 수신된 메모리 액세스 요청에 관하여 충돌이 검출되었다면, 상기 재배열 단계는 상기 가장 먼저 수 신된 메모리 액세스 요청을, 대체로 상기 시퀀스에서 가장 최근에 수신된 메모리 액세스 요청 다음의 위치에 대응하는 상기 시퀀스의 끝으로 이동시키는 것을 포함하는, 메모리 액세스 동작 제어방법.
- 프로세서 시스템에 있어서,프로세서;상기 프로세서와 데이터를 교환하기 위한 적어도 하나의 메모리 디바이스; 및상기 프로세서로부터 상기 적어도 한 메모리 디바이스로의 메모리 액세스 요청들을 관리하는 메모리 제어기를 포함하며, 상기 메모리 제어기는,복수의 요청자들로부터, 독출요청들 및/또는 기입요청들, 및 데이터 제어 명령들을 포함하는 복수의 메모리 액세스 요청 신호들을 수신하며, 상기 요청자들로부터 요청들이 수신되었던 순서에 대응하는 시퀀스로 상기 메모리 액세스 요청 신호들을 수신하는 것인, 시퀀싱 유닛,상기 시퀀스에서 시간적으로 근접한 미실행 요청들간에 검출된 메모리 액세스 충돌들에 기초하여 상기 메모리 액세스 요청 신호들의 시퀀스를 재배열하고- 상기 메모리 액세스 충돌들은 메모리 액세스 요청 신호를 미실행 메모리 액세스 요청 신호들과 비교함으로써 검출된다-, 이에 의해서 상기 메모리 액세스 요청들의 실행이 상기 재배열된 시퀀스로 수행되게 하는 것인, 재배열 유닛,상기 재배열된 시퀀스로 상기 메모리 액세스 요청들을 실행하는 실행유닛- 이 실행유닛은 메모리 액세스 요청 신호로부터의 데이터 제어 명령을, 이전의 메모리 액세스 요청 신호로부터의 독출 혹은 기입 명령을 실행하기 전에 실행하도록 구성되며 또한 이어서 상기 메모리 액세스 요청의 상기 독출 혹은 기입 명령을 상기 이전의 메모리 액세스 요청으로부터의 상기 독출 혹은 기입 명령의 상기 실행 이후에 실행한다-, 및실행되는 독출 요청들을, 상기 요청들이 원래 수신되었던 순서로 순서를 다시 정하고, 이에 의해서, 상기 실행되는 독출 요청들에 의해 얻어진 데이터가 상기 재순서화된 시퀀스로 상기 요청자들에 리턴되게 하는, 재순서화 유닛을 포함하는 것이며,상기 제어기는 복수의 메모리 클록 속도들 중 하나를 갖는 메모리와 인터페이스하도록 구성되는, 프로세서 시스템.
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 |
---|---|---|---|
KR10-2004-7018434A Division KR20050005481A (ko) | 2002-05-14 | 2003-05-14 | 아웃 오브 오더 dram 시퀀서 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060108357A KR20060108357A (ko) | 2006-10-17 |
KR100724557B1 true KR100724557B1 (ko) | 2007-06-04 |
Family
ID=29418478
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7018434A KR20050005481A (ko) | 2002-05-14 | 2003-05-14 | 아웃 오브 오더 dram 시퀀서 |
KR1020067017435A KR100724557B1 (ko) | 2002-05-14 | 2003-05-14 | 아웃 오브 오더 dram 시퀀서 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7018434A KR20050005481A (ko) | 2002-05-14 | 2003-05-14 | 아웃 오브 오더 dram 시퀀서 |
Country Status (9)
Country | Link |
---|---|
US (4) | US7149857B2 (ko) |
EP (1) | EP1540485B1 (ko) |
JP (2) | JP2005525652A (ko) |
KR (2) | KR20050005481A (ko) |
CN (1) | CN100527107C (ko) |
AT (1) | ATE456094T1 (ko) |
AU (1) | AU2003232136A1 (ko) |
DE (1) | DE60331081D1 (ko) |
WO (1) | WO2003098392A2 (ko) |
Families Citing this family (100)
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 |
US7121639B2 (en) * | 2002-12-02 | 2006-10-17 | Silverbrook Research Pty Ltd | Data rate equalisation to account for relatively different printhead widths |
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 |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | 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 |
US8028186B2 (en) | 2006-10-23 | 2011-09-27 | Violin Memory, Inc. | Skew management in an interconnection system |
WO2008070191A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a reconfigurable baseboard management controller |
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 |
US20110066821A1 (en) * | 2008-05-21 | 2011-03-17 | Nxp B.V. | data handling system comprising a rearrangement network |
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 |
EP2441004B8 (en) | 2009-06-12 | 2020-02-19 | Violin Systems LLC | Memory system having persistent garbage collection |
JP5732708B2 (ja) * | 2009-08-11 | 2015-06-10 | マーベル ワールド トレード リミテッド | 不揮発性メモリからのデータ読み出し用コントローラ |
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 |
CN105190577A (zh) * | 2013-04-30 | 2015-12-23 | 惠普发展公司,有限责任合伙企业 | 合并存储器访问请求 |
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 |
US9740411B2 (en) * | 2014-09-04 | 2017-08-22 | National Instruments Corporation | Configuring circuitry with memory access constraints for a program |
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 |
EP3126998A4 (en) * | 2015-02-26 | 2017-11-29 | 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 | 富士通株式会社 | データ読出し方法及び情報処理システム |
CN106469126B (zh) * | 2015-08-12 | 2020-07-07 | 北京忆恒创源科技有限公司 | 处理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 |
WO2018003244A1 (ja) * | 2016-06-29 | 2018-01-04 | ソニー株式会社 | メモリコントローラ、メモリシステムおよび情報処理システム |
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 | 广州视源电子科技股份有限公司 | 请求信息响应方法、***及可读存储介质 |
US10425456B2 (en) | 2017-11-29 | 2019-09-24 | Bank Of America Corporation | Request processing system using a splitting engine |
US10419265B2 (en) | 2017-11-29 | 2019-09-17 | Bank Of America Corporation | Request processing system using a combining 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 |
US11099778B2 (en) * | 2018-08-08 | 2021-08-24 | Micron Technology, Inc. | Controller command scheduling in a memory system to increase command bus utilization |
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 |
CN110032453B (zh) | 2019-04-19 | 2022-05-03 | 上海兆芯集成电路有限公司 | 用以任务调度与分配的处理***及其加速方法 |
CN110058931B (zh) | 2019-04-19 | 2022-03-22 | 上海兆芯集成电路有限公司 | 用以任务调度的处理***及其加速方法 |
CN110046053B (zh) | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 用以分配任务的处理***及其访存方法 |
CN110083388B (zh) * | 2019-04-19 | 2021-11-12 | 上海兆芯集成电路有限公司 | 用于调度的处理***及其访存方法 |
CN110083387B (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 |
US11995719B1 (en) | 2020-09-21 | 2024-05-28 | Cboe Exchange, Inc. | Message randomization and delay based on order type in an electronic trading system |
US11558316B2 (en) | 2021-02-15 | 2023-01-17 | Mellanox Technologies, Ltd. | Zero-copy buffering of traffic of long-haul links |
WO2022174367A1 (en) * | 2021-02-18 | 2022-08-25 | 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (37)
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 |
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 AU AU2003232136A patent/AU2003232136A1/en not_active Abandoned
- 2003-05-14 WO PCT/US2003/015184 patent/WO2003098392A2/en active Application Filing
- 2003-05-14 CN CNB038167735A patent/CN100527107C/zh not_active Expired - Lifetime
- 2003-05-14 KR KR1020067017435A patent/KR100724557B1/ko active IP Right Grant
- 2003-05-14 EP EP03753034A patent/EP1540485B1/en not_active Expired - Lifetime
- 2003-05-14 JP JP2004505842A patent/JP2005525652A/ja not_active Withdrawn
- 2003-05-14 DE DE60331081T patent/DE60331081D1/de not_active Expired - Lifetime
- 2003-05-14 AT AT03753034T patent/ATE456094T1/de not_active IP Right Cessation
-
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Also Published As
Publication number | Publication date |
---|---|
KR20050005481A (ko) | 2005-01-13 |
AU2003232136A1 (en) | 2003-12-02 |
CN100527107C (zh) | 2009-08-12 |
EP1540485B1 (en) | 2010-01-20 |
JP4742116B2 (ja) | 2011-08-10 |
EP1540485A2 (en) | 2005-06-15 |
WO2003098392A2 (en) | 2003-11-27 |
ATE456094T1 (de) | 2010-02-15 |
AU2003232136A8 (en) | 2003-12-02 |
WO2003098392A3 (en) | 2005-04-21 |
US7620789B2 (en) | 2009-11-17 |
DE60331081D1 (de) | 2010-03-11 |
JP2005525652A (ja) | 2005-08-25 |
US20100100670A1 (en) | 2010-04-22 |
US20030217239A1 (en) | 2003-11-20 |
US8639902B2 (en) | 2014-01-28 |
KR20060108357A (ko) | 2006-10-17 |
US9904489B2 (en) | 2018-02-27 |
US20070101075A1 (en) | 2007-05-03 |
US20140223116A1 (en) | 2014-08-07 |
JP2008204487A (ja) | 2008-09-04 |
CN1669011A (zh) | 2005-09-14 |
US7149857B2 (en) | 2006-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100724557B1 (ko) | 아웃 오브 오더 dram 시퀀서 | |
EP2223217B1 (en) | System, apparatus, and method for modifying the order of memory accesses | |
KR100610730B1 (ko) | 메모리 액세스 대기시간을 감소시키기 위한 메모리 액세스스케쥴링 방법 및 장치 | |
US6026464A (en) | Memory control system and method utilizing distributed memory controllers for multibank memory | |
US7127574B2 (en) | Method and apparatus for out of order memory scheduling | |
US6591323B2 (en) | Memory controller with arbitration among several strobe requests | |
US6615326B1 (en) | Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller | |
TWI253563B (en) | Read-write switching method for a memory controller | |
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 | |
US6836831B2 (en) | Independent sequencers in a DRAM control structure | |
JP3384770B2 (ja) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
US20040059880A1 (en) | Low latency memory access method using unified queue mechanism | |
JPH1131072A (ja) | メモリ先行ロード装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
FPAY | Annual fee payment |
Payment date: 20130503 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140502 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170504 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180518 Year of fee payment: 12 |