KR20140102738A - 메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법 - Google Patents

메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법 Download PDF

Info

Publication number
KR20140102738A
KR20140102738A KR1020147019039A KR20147019039A KR20140102738A KR 20140102738 A KR20140102738 A KR 20140102738A KR 1020147019039 A KR1020147019039 A KR 1020147019039A KR 20147019039 A KR20147019039 A KR 20147019039A KR 20140102738 A KR20140102738 A KR 20140102738A
Authority
KR
South Korea
Prior art keywords
memory
response
responses
logic
instruction
Prior art date
Application number
KR1020147019039A
Other languages
English (en)
Other versions
KR101709385B1 (ko
Inventor
로버트 엠. 워커
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20140102738A publication Critical patent/KR20140102738A/ko
Application granted granted Critical
Publication of KR101709385B1 publication Critical patent/KR101709385B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

명령을 수신하고 메모리 응답을 정렬하는데 사용될 수 있는 메모리 장치가 제공된다. 하나의 이러한 메모리 장치는 복수의 채널에 의해 복수의 메모리 유닛에 연결된 응답 로직을 포함하고 복수의 메모리 유닛으로부터 복수의 메모리 응답을 수신하도록 구성될 수 있다. 정렬 로직은 응답 로직에 연결되고 시스템 프로토콜에 적어도 부분적으로 기초한 순서로 상기 응답 로직에 있는 복수의 메모리 응답을 제공하도록 구성될 수 있다. 예를 들어, 정렬 로직은 응답 로직에 저장된 복수의 메모리 응답에 버스 프로토콜 규칙을 수행하여 응답이 메모리 장치로부터 올바른 순서로 제공되는 것을 보장할 수 있다.

Description

메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법{MEMORY APPARATUSES, COMPUTER SYSTEMS AND METHODS FOR ORDERING MEMORY RESPONSES}
본 발명은 메모리 장치에 관한 것으로, 보다 상세하게는, 일 실시예에서, 다수의 메모리 채널을 동시에 사용할 수 있게 하는 메모리 제어기에 관한 것이다.
메모리 디바이스의 입력/출력 속도가 최근 수년 간 증가하여, 더 새로운 구현이 시작되어, 성능 제한에 접근하는 것에 의해 종래의 아키텍처의 이용이 고갈되고 있다.
그 결과, 이를 보상하기 위해, 일부 접근법은 메모리 유닛이 별개의 독립적인 논리 채널을 통해 동시 명령에 의해 액세스될 수 있는 것인 다중-채널 메모리 아키텍처를 채용하는 쪽으로 전환되고 있다. 이것으로 명령은 채널이 이용가능하자마자 명령이 제공될 수 있어서 보다 효율적인 속도로 명령 큐를 통과할 수 있다. 요컨대, 명령이 큐(queue)에 유지되는 시간의 양이 줄어든다.
그러나, 이 접근법은 단점이 없지 않다. 전통적으로, 메모리 제어기에 의해 명령을 정렬하는 것은 거래 큐 레벨에서 수행되었다. 즉, 정렬 로직을 사용하여 명령을 메모리 유닛에 제공하는 특정 정렬 규칙을 명령 큐에 수행하여 응답이 메모리 유닛으로부터 리턴되는 순서가 원하는 응답 순서에 따르도록 한다. 그리하여, 이런 구조에서, 다중-채널 메모리 액세스 구조의 성능은, 일부 경우에, 대기하는 명령이 제공되기 전에 이전의 명령에 대응하는 응답이 메모리 유닛으로부터 수신되어야 하여서 채널이 이용가능한 경우에도 일부 명령이 제공될 수 없는(예를 들어, 발행될 수 없는) 것에 의해 방해를 받는다. 이 구현은 응답이 올바른 순서로 리턴되는 것을 보장하지만, 이용가능한 채널은 메모리 제어기가 메모리 유닛으로부터 응답을 수신하는 것을 대기하는 동안에는 사용되지 않은 채 유지된다.
따라서, 응답이 제공되는지에 상관없이 다중-채널 메모리 액세스를 사용하여 이용가능한 채널을 통해 메모리 유닛에 명령을 제공하는 개선된 메모리 장치 및 방법에 대한 요구가 존재한다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치의 블록도;
도 2는 본 발명의 일 실시예에 따라 도 1에 사용될 수 있는 메모리 제어기를 포함하는 메모리 장치의 블록도;
도 3은 도 2의 메모리 제어기에 사용될 수 있는 본 발명의 일 실시예에 따른 정렬 로직 유닛의 블록도;
도 4는 본 발명의 일 실시예에 따른 메모리 장치의 동작 동안 여러 신호를 도시한 타이밍도;
도 5는 본 발명의 대안적인 실시예에 따른 메모리 장치의 블록도;
도 6은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 블록도.
본 발명의 실시예를 보다 상세히 이해하기 위하여 특정 상세들이 아래에 제시된다. 그러나, 이 기술 분야에 통상의 지식을 가진 자라면 본 발명의 실시예는 이런 특정 상세 없이 실시될 수 있는 것이 명백하다. 더욱이, 본 명세서에 설명된 본 발명의 특정 실시예는 예로서 제공된 것일 뿐, 본 발명의 범위를 특정 실시예로 제한하는데 사용되어서는 안 된다. 다른 경우에, 잘 알려진 회로, 제어 신호, 타이밍 프로토콜, 및 소프트웨어 동작은 본 발명을 불필요하게 불명확하게 하는 것을 피하기 위하여 상세히 도시되지 않았다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시한다. 메모리 장치는 단일 메모리 디바이스, 예를 들어, 또는 별개의 디바이스의 조합일 수 있다. 이것은 단일 반도체 다이 또는 다이의 조합의 형태일 수 있고, 단일 패키지 또는 패키지의 조합일 수 있다. 메모리 장치(100)는 데이터, 어드레스, 및 명령 신호를 각각 수신하는, 데이터 버스(110), 어드레스 버스(112), 및 명령 버스(114)에 연결된 메모리 제어기(102)를 포함할 수 있다. 메모리 제어기는 통신 버스(120)를 통해 복수의 메모리 유닛(104)에 더 연결될 수 있다. 메모리 제어기는 메모리 명령을 메모리 유닛(104)에 제공하는 것과 같은 여러 메모리 기능을 수행하도록 구성되고, 이 명령에 응답하여 메모리 유닛(104)은 대응하는 메모리 응답을 생성한다. 메모리 제어기는 시스템 버스 프로토콜에 의해 지시된 순서에 적어도 부분적으로 기초하여 메모리 응답을 제공하도록 더 구성된다. 적어도 하나의 실시예에서, 메모리 응답은 판독 명령에 대응하는 판독 데이터 및/또는 기록 명령에 대응하는 기록 컨펌 데이터를 포함할 수 있다. 메모리 응답은 다른 유형의 데이터를 더 포함할 수 있고 본 명세서에 있는 상세한 설명으로 제한되지 않는다.
메모리 유닛(104)은 임의의 개수의 메모리 유닛을 포함할 수 있고 임의의 개수의 논리 메모리 파티션을 더 포함할 수 있다. 추가적으로, 통신 버스(120)는 임의의 개수의 비트 라인 및 임의의 개수의 논리 채널을 포함할 수 있다. 예를 들어, 일 실시예에서, 각 메모리 유닛은 유닛마다 8개의 채널과 같은 동일한 개수의 논리 채널에 대응할 수 있다. 더욱이, 적어도 하나의 실시예에서, 메모리 유닛(104)에서 논리 메모리 파티션의 개수 및/또는 통신 버스(120)에서 논리 채널의 개수는, 예를 들어, 메모리 유닛(104)을 제어하는데 사용되는 독립적인 칩 선택 신호의 수를 증가 또는 감소시키는 것에 의해 변할 수 있다. 이 기술 분야에 통상의 지식을 가진 자라면 각 메모리 유닛(104)과 연관된 채널의 수를 증가시키거나 감소시키도록 구성된 별개의 제어 로직 유닛과 같은 다른 구현이 본 발명의 범위를 벗어남이 없이 더 사용될 수 있는 것으로 이해된다.
동작 시, 메모리 제어기(102)는 명령 버스(114)를 통해 명령을 수신하고 수신된 명령을 메모리 유닛(104)에 제공할 수 있다. 예를 들어, 명령은 명령 버스(114)를 통해 시스템 버스 슬레이브(미도시)에 의해 메모리 제어기(102)에 제공될 수 있다. 명령은 또한 다른 디바이스에 의해 제공될 수 있다. 메모리 제어기(102)에 의해 수신된 각 명령은 큐잉(queued)될 수 있고 이후 판독/기록 위험 충돌(hazard conflict)에 대해 정렬 로직에 의해 체크될 수 있다. 위험 충돌은 메모리 유닛(104)의 동일한 행(들)에 제공된 판독 및 기록 명령들 사이에 페이지 충돌과 같은 명령의 특정 순서(예를 들어, 시퀀스)로부터 초래되는 동작 에러를 말할 수 있다. 정렬 로직은 메모리 제어기(102)에 포함될 수 있고, 대안적인 실시예에서, 정렬 로직은 메모리 제어기(102)와는 별개일 수 있다.
위험 체크에 더하여, 메모리 제어기(102)에서 정렬 로직은 큐잉된 명령이 배리어 명령(barrier command)을 따르는지 여부를 결정할 수 있다. 배리어 명령의 수신에 응답하여, 정렬 로직은 배리어 명령의 수신 전에 수신된 명령에 대응하는 응답이 메모리 제어기(102)에 있는 정렬 로직에 의해 제어되는 바와 같이 요구되는 순서로 메모리 유닛(104)으로부터 시스템 버스 슬레이브로 (또는 명령을 메모리 제어기(102)에 제공하는 다른 디바이스로) 제공될 때까지 후속하여 수신된 명령을 메모리 유닛(104)에 제공하는 것을 지연시킬 수 있다. 마지막으로, 정렬 로직은 큐잉된 명령이 페이지 히트(page hit)를 생성할 수 있는지 여부를 더 결정할 수 있다. 즉, 메모리 제어기(102)는 메모리 유닛(104)의 동일한 행이 각 명령을 메모리 유닛(104)에 제공하는 것 사이에 행을 폐쇄하고 재개방함이 없이 2개 이상의 큐잉된 명령에 의해 액세스될 수 있는지 여부를 결정할 수 있다. 페이지 히트가 검출되면, 정렬 로직은 큐에서 명령을 정렬(예를 들어, 재정렬)할 수 있는데, 예를 들어, 큐에 있는 하나 이상의 명령을 앞당기거나 지연시켜, 특정 행이 개폐되어야 하는 시간의 양을 감소시킬 수 있다.
전술한 바와 같이, 메모리 제어기(102)는 시스템 버스 프로토콜에 적어도 부분적으로 기초하여 메모리 응답을 정렬(예를 들어, 재정렬)하도록 구성될 수 있고, 메모리 제어기(102)는 수신된 명령이 위험 충돌 또는 페이지 히트를 생성하지 않거나, 또는 배리어 명령을 따르지 않는다면, 명령이 명령 버스(114)를 통해 수신될 때 명령을 메모리 유닛(104)에 제공하도록 구성될 수 있다. 그 결과, 메모리 유닛(104)으로부터 메모리 제어기(102)에 제공된 메모리 응답이 대응하는 명령이 메모리 유닛(104)에 제공된 순서와 일치하지도 않고 시스템 프로토콜에 의해 요구되는 순서와도 일치하지 않을 가능성이 있을 수 있다. 응답이 메모리 유닛(104)으로부터 메모리 제어기(102)로 제공되는 순서에 상관없이 요구되는 순서에 따라 메모리 응답을 디바이스(예를 들어, 시스템 버스 슬레이브)로 제공하기 위하여, 메모리 제어기(102)는 메모리 제어기에 의해 제공되는 응답의 순서를 제어하여 응답이 요구되는 순서로 리턴하도록 할 수 있다.
아래에 보다 상세히 설명하는 바와 같이, 일부 명령(예를 들어, 위험, 페이지 히트, 및 배리어 명령)을 제외하면, 정렬 로직이 명령을 메모리 유닛(104)에 사실상 임의의 시퀀스로 제공할 수 있게 하는 것으로 인해 명령이 큐잉된 직후 명령이 메모리 유닛(104)에 제공될 수 있다. 간단히 말하면, 명령은 메모리 유닛(104)에 대응하는 메모리 채널이 이용가능하자마자 메모리 유닛(104)에 제공될 수 있다. 적어도 하나의 실시예에서, 각 유닛은 다수의 채널에 일반적으로 대응하기 때문에, 다수의 메모리 명령은 동일한 메모리 유닛(104)에 동시에 제공될 수 있다.
메모리 제어기(102)에 의해 수신된 명령은 명령의 시스템 버스 마스터 요청 발행을 나타내는 마스터 식별 비트(마스터 ID) 및 이 요청 마스터에서 거래 스트림을 나타내는 거래 식별 비트(거래 ID)를 포함할 수 있다. 시스템 버스 마스터가 시스템 버스 슬레이브(202)(도 2)를 통해 다수의 명령을 메모리 제어기(102)에 제공하는 경우, 동일한 거래 스트림에 대응하는 명령으로, 요청 시스템 버스 마스터는 응답이 제공되는 순서에 의존하지 않고는 응답을 구별하지 못할 수 있다. 즉, 응답의 순서는 올바른 동작이 일어나는 마스터에 의해 지시된 요구되는 순서에 대응하여야 한다. 따라서, 명령을 메모리 유닛(104)에 제공한 후, 대응하는 메모리 응답이 메모리 유닛(104)으로부터 메모리 제어기(102)로 요구되는 순서로 제공되지 않는다면, 메모리 제어기(102)는 응답을 시스템 버스 슬레이브(202)에 제공할 때 응답을 재정렬하여야 한다.
도 2는 본 발명의 일 실시예에 따른 메모리 장치(200)를 도시한다. 메모리 장치(200)는 적어도 하나의 실시예에서, 도 1의 메모리 장치(100)에 사용될 수 있는 메모리 제어기(201)를 포함할 수 있다. 메모리 제어기(201)는 뱅크 상태 기계(206) 및 정렬 로직(210)에 연결된 큐(204)를 포함할 수 있다. 큐(204)는 명령 버스(214)를 통해 시스템 버스 슬레이브(202)로부터 명령을 수신하도록 구성된다. 뱅크 상태 기계(206)는 통신 버스(220)에 의해 메모리 유닛(208a-n)에 연결될 수 있다. 추가적으로, 메모리 제어기(201)는 응답 로직(212) 및 판독 데이터 버퍼(218a-n)를 더 포함할 수 있다. 판독 데이터 버퍼(218a-n)는 통신 버스(225)에 의해 메모리 유닛(208a-n)에 각각 연결될 수 있고, 각 판독 데이터 버퍼(218a-n)는 버퍼 버스(230)에 의해 응답 로직(212)에 더 연결될 수 있다. 마지막으로, 응답 로직(212)은 응답 버스(235)에 의해 시스템 버스 슬레이브(202)에 연결될 수 있다. 적어도 하나의 실시예에서, 응답 버스(235)는 다른 버스로부터 물리적으로 분리되어 있거나, 또는 명령 버스(214)와 같은 다른 버스와 멀티플렉싱되어 있을 수 있다.
동작 시, 명령은 시스템 버스 슬레이브(202)로부터 명령 버스(214)를 통해 메모리 제어기(201)의 큐(204)에 제공될 수 있다. 여기서, 정렬 로직(210)은 전술한 바와 같이 위험 충돌, 배리어 명령, 및 페이지 히트에 대해 수신된 명령을 체크할 수 있다. 적어도 하나의 실시예에서, 도 2에 도시된 바와 같이, 큐(204)는 복수의 메모리 유닛(208a-n)을 위한 수신된 명령을 저장하는데 사용될 수 있다. 또 다른 실시예에서, 각 메모리 유닛(208a-n)은 각 큐(204a-n)에 연결될 수 있다.
큐잉된 명령은 뱅크 상태 기계(206)에 제공될 수 있고, 여기서 각 명령은 액세스될 메모리 유닛(208a-n)에 채널이 이용가능하자마자 메모리 유닛(208a-n)에 제공될 수 있다. 일 실시예에서, 뱅크 상태 기계(206)는 채널이 이용가능한지 여부를 결정하는 제어 로직을 포함하거나, 또는 다른 실시예에서, 뱅크 상태 기계(206)는 특정 채널이 명령에 이용가능한 것을 나타내는 신호를 외부 제어 로직으로부터 수신할 수 있다. 더욱이, 일 실시예에서, 다수의 뱅크 상태 기계(206)가 사용될 수 있다. 예를 들어, 메모리 제어기(201)는 각 메모리 뱅크(208a-n)의 각 채널에 대응하는 뱅크 상태 기계(206)를 포함할 수 있다. 메모리 제어기(201)는 대안적으로 채널마다 임의의 개수의 뱅크 상태 기계(206)를 사용할 수 있다.
명령이 메모리 유닛(208)에 제공되면, 메모리 유닛(208)은 응답을 대응하는 판독 데이터 버퍼(218)에 제공할 수 있다. 일 실시예에서, 각 메모리 유닛(208a-n)은 판독 버퍼(218a-n)에 대응할 수 있으나, 다른 실시예에서, 메모리 유닛(208a-n)은 단일 판독 데이터 버퍼(218)(미도시)와 연결되어 이에 응답을 제공할 수 있다. 이 기술 분야에 통상의 지식을 가진 자라면 판독 데이터 버퍼(218a-n)의 구현에 본 발명의 범위를 벗어남이 없이 변형이 이루어질 수 있고 본 실시예는 본 명세서에 제시된 특정 실시예로 제한되지 않는다는 것을 이해할 수 있을 것이다.
응답은 판독 데이터 버퍼(208a-n)로부터 제공되고 버퍼 버스(230)를 통해 응답 로직(212)에 의해 수신될 수 있다. 응답 로직(212)에 의해 일단 수신되면, 정렬 로직(210)은 응답이 전술한 바와 같이 요청 시스템 버스 마스터에 의해 요구되는 순서(예를 들어, 시퀀스)로 배치되도록 응답을 정렬할 수 있다. 예를 들어, 정렬 로직(210)은 응답 로직(212)에 저장된 응답에 버스 프로토콜 규칙을 수행하여 응답이 올바른 순서로 제일 먼저 응답 버스(235)를 통해 시스템 버스 슬레이브(202)에 제공되고, 궁극적으로 요청 시스템 버스 마스터에 제공되는 것을 보장하도록 구성될 수 있다. 정렬 로직(210)은 응답이 응답 로직(212)에 의해 수신된 순서와 독립적인 순서에 적어도 부분적으로 기초하여 응답 로직(212)에 의해 수신된 응답을 제공할 수 있게 한다.
도 3은 본 발명의 일 실시예에 따른 정렬 로직(300)을 도시하는 블록도이다. 정렬 로직(300)은 도 2의 메모리 장치(200)에서 정렬 로직(210)으로 사용될 수 있다. 정렬 로직(300)은 정렬 제어 로직(301), 수신 큐(310) 및 응답 큐(312)를 포함할 수 있고, 이들 모두는 응답 로직(305)에 연결될 수 있다. 수신 큐(310)는 마스터 ID, 거래 ID, 및 판독 식별 비트(판독 ID)를 저장하도록 구성될 수 있고 응답 큐(312)는 채널 선택 비트 및 판독 ID를 저장하도록 구성될 수 있다. 더욱이, 적어도 하나의 실시예에서, 수신 큐(310)는 시프트 버퍼로 구현될 수 있다.
동작 시, 시스템 버스 슬레이브(202)가 명령을 큐(204)(도 2)에 제공할 때, 수신 큐(310)는 명령을 수신하고 명령에 대응하는 마스터 ID 및 거래 ID를 더 저장할 수 있다. 더욱이, 수신 큐(310)는 명령에 대해 고유한 판독 ID를 생성하여, 명령을 동일한 마스터 ID 및 거래 ID에 대응하는 명령과 구별될 수 있게 한다. 명령이 메모리 유닛(208a-n)에 제공되고 대응하는 응답이 전술한 바와 같이 제공될 때, 각 응답은 응답 로직(305)에 저장될 수 있다. 추가적으로, 각 응답에 대응하는 판독 ID 및 채널 선택 비트가 응답 큐(312)에 제공되어, 각 응답이 어느 명령에 대응하는지, 및 이 응답에 어느 채널이 제공되는지를 식별할 수 있다. 일부 명령이 다수의 채널의 사용을 요구할 수 있으므로, 채널 선택 비트를 사용하면 응답 큐(312)는 전체 응답이 각 명령에 제공되는 것을 보장할 수 있다. 일부 실시예에서, 채널 선택 비트는 하나의 핫 인코딩(one-hot encoded)될 수 있고 또는 채널 식별을 위해 바이너리를 사용할 수 있다.
전술한 바와 같이, 응답이 응답 로직(305)에 누적될 때, 정렬 제어 로직(301)은 응답 로직(305)이 요청 마스터에 의해 요구되는 순서에 적어도 부분적으로 기초하여 시스템 버스 슬레이브(202)에 응답을 제공할 수 있게 한다. 예를 들어, 적어도 하나의 실시예에서, 응답 로직(305)에 저장된 응답이 동일한 마스터 및 거래 ID를 포함하면, 응답은 메모리 제어기(201)에 의해 명령을 수신할 때 생성된 판독 ID에 기초하여서만 구별될 수 있다. 요청 마스터가 순서대로 제공되지 않은 경우 서로 간에 응답을 구별할 수 없기 때문에, 이런 방식으로 구별된 응답은 요구되는 순서로 시스템 버스 슬레이브(202)에 제공되어야 한다.
도 4는 본 발명의 일 실시예에 따라 도 2의 메모리 장치(201)의 동작을 도시하는 타이밍도이다. 시스템 버스 슬레이브(202)(도 2)는 시간(T0 및 T1)에 각각 수신될 수 있는 명령 버스(214)를 통해 명령(401) 및 명령(402)을 메모리 제어기(201)에 제공할 수 있다. 명령은 메모리 유닛(208a-n)에 제공될 수 있고, 이후, 시간(T2)에, 응답(403)은 명령(401)에 응답으로 버퍼 버스(230)를 통해 응답 로직(212)에서 수신될 수 있다.
응답(410)은 명령(402)에 대응할 수 있고, 시간(T3-, T3, 및 T3+)에서, 도 4에서 응답(410)으로 각각 도시된 바와 같이 시간(T2) 전에, 이와 동시에 또는 이 후에 버퍼 버스(230)를 통해 응답 로직(212)에 의해 수신될 수 있다. 일 실시예에서, 도 4에 도시된 바와 같이, 응답 로직(212)은 응답(403) 전에 (예를 들어, 시간(T3-)에서) 응답(410)을 수신할 수 있다. 또 다른 실시예에서, 응답 로직(212)은 응답(403) 후에 (예를 들어, 시간(T3+)에서) 응답(410)을 수신할 수 있다. 더 다른 실시예에서, 응답(410 및 403)은 거의 동시에 (예를 들어, 시간(T3)에서) 수신될 수 있다.
전술한 바와 같이, 명령은 메모리 제어기(201)에 의해 수신된 순서로 메모리 유닛(208a-n)에 제공될 수 있고, 응답은 요청 마스터에 의해 요구된 순서로 시스템 버스 슬레이브(202)에 제공될 수 있다. 그 결과, 응답(410)이 응답(403)에 대해 응답 로직(212)에 의해 수신된 시간에 상관없이, 응답이 응답 버스(235)를 통해 시스템 버스 슬레이브(202)에 제공된 순서는 동일하게 유지될 수 있다. 응답(420 및 421)은, 예를 들어, 요청 마스터에 의해 요구된 순서로 재정렬된 응답(403 및 410)에 대응하고 시간(T4 및 T5)에 각각 제공될 수 있다. 즉, 응답(403 및 410)이 (예를 들어, 시간(T3-, T3, 또는 T+)에서) 메모리 유닛(208a-n)로부터 응답 로직(212)에 의해 수신된 순서에 상관없이, 응답(420 및 421)은 도 4에 도시된 순서로 제공될 수 있다. 더욱이, 전술한 바와 같이, 응답은 대응하는 명령이 수신된 순서로 제공될 필요가 없다. 예를 들어, 또 다른 실시예에서, 요구되는 경우, 응답(420 및 421)은 응답(421)이 응답(420) 전에 제공되도록 시스템 버스 슬레이브에 제공될 수 있다.
도 5는 본 발명의 대안적인 실시예에 따른 메모리 장치(500)를 도시한다. 메모리 장치(500)는 도 2의 메모리 장치에 대해 전술한 요소들을 포함한다. 이들 요소들은 도 2에 사용된 참조 부호와 동일한 참조 부호를 사용하여 도 5에 도시되어 있고 공통 요소들의 동작은 전술한 바와 같다. 그 결과 이들 요소들의 동작에 대한 상세한 설명은 간략화를 위하여 반복 설명되지 않는다.
메모리 장치(200)와는 달리, 메모리 장치(500)는 메모리 유닛(208a-n)에 연결되고 기록 응답을 저장하도록 구성될 수 있는 기록 버퍼(518a-n)를 더 포함한다. 기록 버퍼(518a-n)는 응답 로직(212)에 더 연결될 수 있고, 일 실시예에서, 메모리 유닛(208a-n)의 각 유닛에 각각 대응할 수 있다. 또 다른 실시예에서, 기록 버퍼(518a-n)는 각 채널에 대응할 수 있다. 더 다른 실시예에서, 단일 기록 버퍼(518)(미도시)는 모든 메모리 유닛(208a-n) 및 응답 로직(212)에 연결될 수 있다. 이 기술 분야에 통상의 지식을 가진 자라면 판독 및 기록 응답을 저장하도록 구성된 단일 버퍼와 같은 다른 구현이 본 발명의 범위를 벗어남이 없이 사용될 수 있다는 것을 이해할 수 있을 것이다.
동작 시, 메모리 유닛(208a-n)은 기록 명령을 제공 받고 나서 기록 응답을 제공할 수 있다. 각 기록 응답은 이후 기록 버퍼(518)에 제공되고, 이 버퍼는 이어서 응답을 응답 로직(212)에 제공할 수 있다. 응답 로직(212)은 기록 응답을 요구되는 순서로 시스템 슬레이브 버스(202)에 제공할 수 있다. 일 실시예에서, 정렬 로직(210)은 판독 응답이 제공되는 순서와 독립적으로 응답 로직(212)이 기록 응답을 시스템 버스 슬레이브(202)에 제공할 수 있게 한다. 다른 실시예에서, 정렬 로직(210)은 판독 응답이 제공되는 순서에 적어도 부분적으로 기초하여 기록 응답을 제공하게 할 수 있다.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 시스템(600)을 도시한다. 컴퓨팅 시스템(600)은 여러 컴퓨팅 기능을 수행하도록 구성된 프로세서(605) 및 메모리 장치(603)를 포함할 수 있다. 메모리 장치(603)는 버스(606)에 의해 프로세서(605)에 연결될 수 있고, 통신 버스(620)에 의해 연결된 메모리 제어기(601) 및 메모리 유닛(608)을 더 포함할 수 있다. 적어도 하나의 실시예에서, 메모리 제어기(601)는 도 2에 도시된 실시예에 있는 메모리 제어기(201)일 수 있다. 일부 실시예에서, 컴퓨팅 시스템(600)은 본 명세서에 설명된 공정 중 어느 하나의 적어도 일부를 실행하도록 구성될 수 있는 데스크탑 컴퓨터, 랩탑, 전화, PDA(personal digital assistant), 미디어 플레이어(즉, MP3 플레이어), 서버, 기기, 게임 디바이스, 네트워킹 디바이스(즉, 라우터), 텔레비전, 또는 다른 디바이스를 포함할 수 있다. 컴퓨팅 시스템(600)은 이들 디바이스의 임의의 조합을 더 포함할 수 있다.
동작 시, 도 2에 대해 전술한 바와 같이, 시스템 버스 슬레이브(미도시)는 시스템 버스 마스터(미도시)로부터 메모리 명령을 수신할 수 있다. 메모리 제어기(601)는 도 2에 대하여 전술한 바와 같이 시스템 버스 슬레이브로부터 명령을 수신하고 이 명령을 메모리 유닛(608)에 제공할 수 있다. 일부 실시예에서, 시스템 버스 마스터는 프로세서(605)에 포함되거나, 또는 대안적으로, 시스템 제어기(미도시)에 포함될 수 있고 프로세서(605)로부터 명령을 수신할 수 있다. 더욱이, 적어도 하나의 실시예에서, 메모리 제어기(601)는 시스템 제어기에 포함될 수도 있다.
전술한 바로부터 본 발명의 특정 실시예는 예시를 위하여 본 명세서에 설명되었으나, 여러 변형이 본 발명의 사상과 범위를 벗어남이 없이 이루어질 수 있는 것으로 이해된다. 예를 들어, 본 발명의 실시예는 메모리 제어기에서 정렬 응답의 문맥에서 설명되었으나, 응답은 메모리 제어기로부터 시스템 버스로 제공되면 정렬될 수 있는 것으로 이해된다. 따라서, 본 발명은 청구범위에 의한 것을 제외하고는 제한되지 않는다.

Claims (30)

  1. 메모리 장치로서,
    복수의 메모리 응답을 수신하도록 구성된 응답 로직; 및
    상기 응답 로직에 연결되고 프로토콜에 적어도 부분적으로 기초하여 상기 복수의 메모리 응답을 정렬하도록 구성된 정렬 로직을 포함하는 메모리 장치.
  2. 제1항에 있어서, 상기 복수의 메모리 응답 각각은 판독 식별 비트를 포함하고 상기 정렬 로직은 상기 각 식별 비트에 적어도 부분적으로 기초하여 상기 복수의 응답을 정렬하도록 더 구성된 것인 메모리 장치.
  3. 제1항에 있어서,
    상기 정렬 로직에 연결된 큐를 더 포함하되, 상기 정렬 로직은 페이지 히트 및 위험 충돌 중 적어도 하나를 검출한 것에 적어도 부분적으로 기초하여 상기 큐에 있는 복수의 명령을 정렬하도록 더 구성된 것인 메모리 장치.
  4. 제3항에 있어서,
    상기 큐에 연결된 뱅크 상태 기계를 더 포함하되, 상기 뱅크 상태 기계는 상기 큐로부터 상기 복수의 명령을 수신하도록 구성되고, 상기 뱅크 상태 기계는 이용가능한 채널을 구비하는 복수의 메모리 유닛 중 적어도 하나의 메모리 유닛에 적어도 부분적으로 기초하여 상기 복수의 메모리 유닛 중 적어도 하나의 메모리 유닛에 상기 복수의 명령 중 적어도 하나의 명령을 제공하도록 더 구성된 것인 메모리 장치.
  5. 제1항에 있어서,
    상기 응답 로직에 연결되고 상기 복수의 응답을 상기 응답 로직에 제공하도록 구성된 복수의 버퍼를 더 포함하는 메모리 장치.
  6. 제1항에 있어서,
    상기 응답 로직에 연결되고 판독 메모리 응답을 제공하도록 구성된 판독 버퍼; 및
    상기 응답 로직에 연결되고 기록 메모리 응답을 제공하도록 구성된 기록 버퍼 중 적어도 하나를 더 포함하는 메모리 장치.
  7. 제1항에 있어서, 상기 응답 로직은 판독 및 기록 메모리 응답을 저장하도록 더 구성된 것인 장치.
  8. 제7항에 있어서, 상기 정렬 로직은 상기 응답이 상기 응답 로직에 의해 수신된 순서와 독립적인 순서로 상기 응답 로직에 의해 수신된 판독 및 기록 메모리 응답을 제공하도록 더 구성된 것인 메모리 장치.
  9. 컴퓨팅 시스템으로서,
    복수의 메모리 유닛;
    시스템 버스 슬레이브; 및
    상기 메모리 유닛 및 상기 시스템 버스 슬레이브에 연결된 메모리 제어기를 포함하되,
    상기 메모리 제어기는,
    상기 복수의 메모리 유닛으로부터 순서대로 복수의 응답을 수신하도록 구성된 응답 로직; 및
    상기 응답 로직에 연결되고 상기 복수의 응답이 상기 응답 로직에 의해 수신된 순서와 독립적인 순서로 상기 복수의 응답을 상기 시스템 버스 슬레이브에 제공하도록 구성된 정렬 로직을 포함하는 것인 컴퓨팅 시스템.
  10. 제9항에 있어서, 상기 메모리 제어기는 복수의 논리 채널을 구비하는 버스에 의해 상기 복수의 메모리 유닛에 연결된 것인 컴퓨팅 시스템.
  11. 제10항에 있어서, 상기 복수의 메모리 유닛 각각은 각 논리 채널에 대응하는 것인 컴퓨팅 시스템.
  12. 제9항에 있어서, 상기 시스템 버스 슬레이브는 시스템 버스 마스터에 연결되고 상기 시스템 버스 마스터로부터 명령을 수신하고 응답을 상기 시스템 버스 마스터에 제공하도록 구성된 것인 컴퓨팅 시스템.
  13. 제9항에 있어서, 상기 복수의 응답은 복수의 명령 각각에 대응하는 것인 컴퓨팅 시스템.
  14. 제9항에 있어서, 상기 복수의 응답은 판독 응답 및 기록 응답을 포함하며, 상기 판독 응답은 판독 데이터를 포함하고, 상기 기록 응답은 기록 컨펌 데이터를 포함하는 것인 컴퓨팅 시스템.
  15. 제9항에 있어서, 상기 복수의 응답은 상기 응답 로직에 의해 수신된 상기 복수의 응답을 재정렬한 것에 적어도 부분적으로 응답하여 상기 시스템 버스 마스터에 제공된 것인 컴퓨팅 시스템.
  16. 컴퓨팅 시스템으로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리 장치를 포함하되,
    상기 메모리 장치는 복수의 메모리 응답을 생성하도록 구성되고, 상기 메모리 장치는 상기 메모리 장치가 상기 메모리 응답을 생성한 순서와 독립적인 순서로 상기 복수의 메모리 응답을 상기 프로세서에 제공하도록 더 구성된 것인 컴퓨팅 시스템.
  17. 제16항에 있어서, 상기 메모리 장치는,
    상기 복수의 메모리 응답을 생성하도록 구성된 복수의 메모리 유닛; 및
    상기 메모리 유닛에 연결된 메모리 제어기를 포함하되, 상기 메모리 제어기는 정렬 로직에 적어도 부분적으로 기초하여 상기 복수의 메모리 응답을 수신하고 정렬하도록 구성된 것인 컴퓨팅 시스템.
  18. 제16항에 있어서, 상기 프로세서는 시스템 버스 마스터를 포함하되, 상기 시스템 버스 마스터는 메모리 명령을 버스에 제공하고 상기 버스로부터 상기 복수의 메모리 응답을 수신하도록 구성된 것인 컴퓨팅 시스템.
  19. 제16항에 있어서, 시스템 제어기를 더 포함하되, 상기 시스템 제어기는 상기 프로세서 및 상기 메모리 장치에 연결되고, 상기 시스템 제어기는 상기 프로세서로부터 명령을 수신하고 상기 명령을 상기 메모리 제어기에 제공하도록 구성된 것인 컴퓨팅 시스템.
  20. 제19항에 있어서, 상기 메모리 제어기는 시스템 버스 슬레이브 및 시스템 버스 마스터 중 적어도 하나를 포함하는 것인 컴퓨팅 시스템.
  21. 메모리 응답을 정렬하는 방법으로서,
    메모리 유닛에 제공된 복수의 명령에 대응하는 복수의 메모리 응답을 생성하는 단계;
    상기 명령이 상기 메모리 유닛에 제공된 순서와 독립적으로 상기 복수의 응답을 정렬하는 단계; 및
    상기 정렬에 적어도 부분적으로 기초하여 상기 복수의 응답을 시스템 버스에 제공하는 단계를 포함하는, 메모리 응답을 정렬하는 방법.
  22. 제21항에 있어서, 상기 복수의 명령 중 적어도 하나는 위험 충돌 및 페이지 히트 중 적어도 하나를 생성하는 것인, 메모리 응답을 정렬하는 방법.
  23. 제21항에 있어서, 상기 복수의 명령 중 적어도 하나는 버퍼 명령인 것인, 메모리 응답을 정렬하는 방법.
  24. 제21항에 있어서,
    상기 복수의 응답을 정렬하는 단계는 시스템 프로토콜에 적어도 부분적으로 기초하여 상기 복수의 응답을 정렬하는 단계를 포함하는 것을 더 포함하는, 메모리 응답을 정렬하는 방법.
  25. 제21항에 있어서, 상기 복수의 명령 중 적어도 하나는 판독 명령인 것인, 메모리 응답을 정렬하는 방법.
  26. 제21항에 있어서, 상기 복수의 응답을 시스템 버스에 제공하는 단계는 상기 복수의 응답을 시스템 버스 슬레이브에 제공하는 단계를 포함하는 것인, 메모리 응답을 정렬하는 방법.
  27. 메모리 응답을 정렬하는 방법으로서,
    제1 명령 및 제2 명령을 수신하는 단계;
    상기 제1 명령에 대응하는 제1 응답 및 상기 제2 명령에 대응하는 제2 응답을 생성하는 단계;
    상기 제1 응답 및 상기 제2 응답에 정렬 로직을 수행하는 단계; 및
    상기 제1 응답에 대응하는 제1 정렬된 응답 및 상기 제2 응답에 대응하는 제2 정렬된 응답을 출력에 제공하는 단계를 포함하는, 메모리 응답을 정렬하는 방법.
  28. 제27항에 있어서, 상기 제1 응답에 대응하는 제1 정렬된 응답 및 상기 제2 응답에 대응하는 제2 정렬된 응답을 출력에 제공하는 단계는,
    상기 제2 정렬된 응답을 시스템 버스에 제공하는 단계; 및
    상기 제2 정렬된 응답을 제공한 후, 상기 제1 정렬된 응답을 상기 시스템 버스에 제공하는 단계를 포함하는 것인, 메모리 응답을 정렬하는 방법.
  29. 제27항에 있어서,
    제1 명령 및 제2 명령을 수신한 후, 상기 제1 명령 및 상기 제2 명령 중 적어도 하나를 메모리 유닛에 제공하는 단계를 더 포함하는, 메모리 응답을 정렬하는 방법.
  30. 제29항에 있어서, 상기 제1 명령 및 상기 제2 명령 중 적어도 하나를 제공하는 단계는,
    상기 메모리 유닛의 행을 개방하는 단계;
    상기 제1 명령에 대응하는 상기 메모리 유닛에 있는 제1 데이터 세트에 액세스하는 단계;
    상기 제2 명령에 대응하는 상기 메모리 유닛에 있는 제2 데이터 세트에 액세스하는 단계; 및
    상기 메모리 유닛의 행을 폐쇄하는 단계를 포함하는, 메모리 응답을 정렬하는 방법.
KR1020147019039A 2011-12-13 2012-11-02 메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법 KR101709385B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/324,877 2011-12-13
US13/324,877 US8880819B2 (en) 2011-12-13 2011-12-13 Memory apparatuses, computer systems and methods for ordering memory responses
PCT/US2012/063327 WO2013089937A1 (en) 2011-12-13 2012-11-02 Memory apparatuses, computer systems and methods for ordering memory responses

Publications (2)

Publication Number Publication Date
KR20140102738A true KR20140102738A (ko) 2014-08-22
KR101709385B1 KR101709385B1 (ko) 2017-02-22

Family

ID=48573086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147019039A KR101709385B1 (ko) 2011-12-13 2012-11-02 메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법

Country Status (7)

Country Link
US (2) US8880819B2 (ko)
EP (1) EP2791941A4 (ko)
JP (1) JP6082752B2 (ko)
KR (1) KR101709385B1 (ko)
CN (1) CN103999159B (ko)
TW (1) TWI496003B (ko)
WO (1) WO2013089937A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190096838A (ko) * 2018-02-09 2019-08-20 한양대학교 산학협력단 더미 입출력 요청을 이용한 배리어 명령 전달 방법 및 그 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
JP5842174B2 (ja) * 2013-03-13 2016-01-13 パナソニックIpマネジメント株式会社 バス制御装置、中継装置およびバスシステム
CN105339917A (zh) * 2013-05-30 2016-02-17 惠普发展公司,有限责任合伙企业 访问存储器中数据的分离的存储器控制器
US10007435B2 (en) 2015-05-21 2018-06-26 Micron Technology, Inc. Translation lookaside buffer in memory
TWI575384B (zh) * 2015-09-04 2017-03-21 慧榮科技股份有限公司 通道控制裝置
US20170160929A1 (en) * 2015-12-02 2017-06-08 Hewlett Packard Enterprise Development Lp In-order execution of commands received via a networking fabric
US10817528B2 (en) * 2015-12-15 2020-10-27 Futurewei Technologies, Inc. System and method for data warehouse engine
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10585624B2 (en) 2016-12-01 2020-03-10 Micron Technology, Inc. Memory protocol
US11003602B2 (en) 2017-01-24 2021-05-11 Micron Technology, Inc. Memory protocol with command priority
US10635613B2 (en) 2017-04-11 2020-04-28 Micron Technology, Inc. Transaction identification
US20180373653A1 (en) * 2017-06-21 2018-12-27 Hewlett Packard Enterprise Development Lp Commitment of acknowledged data in response to request to commit
DE102017008186B4 (de) * 2017-08-31 2022-12-15 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master eines Bussystems
KR20190032809A (ko) * 2017-09-20 2019-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10764455B2 (en) * 2018-12-31 2020-09-01 Kyocera Document Solutions Inc. Memory control method, memory control apparatus, and image forming method that uses memory control method
US10956166B2 (en) * 2019-03-08 2021-03-23 Arm Limited Instruction ordering
US11093244B2 (en) * 2019-08-28 2021-08-17 Micron Technology, Inc. Command delay
CN112395011B (zh) 2020-11-24 2022-11-29 海宁奕斯伟集成电路设计有限公司 命令响应信息的返回方法、返回控制装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US20110179200A1 (en) * 2010-01-18 2011-07-21 Xelerated Ab Access buffer

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151171A (ja) 1991-11-29 1993-06-18 Fuji Facom Corp マルチプロセツサシステムにおけるプロセツサ結合方式
JP2556268B2 (ja) 1993-07-20 1996-11-20 日本電気株式会社 プログラムダウンロード方式
US6272600B1 (en) 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
US6453370B1 (en) * 1998-11-16 2002-09-17 Infineion Technologies Ag Using of bank tag registers to avoid a background operation collision in memory systems
US6748493B1 (en) 1998-11-30 2004-06-08 International Business Machines Corporation Method and apparatus for managing memory operations in a data processing system using a store buffer
US6477610B1 (en) * 2000-02-04 2002-11-05 International Business Machines Corporation Reordering responses on a data bus based on size of response
US8060670B2 (en) * 2004-03-17 2011-11-15 Super Talent Electronics, Inc. Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device
DE602004012106T2 (de) * 2004-10-11 2009-02-19 Texas Instruments Inc., Dallas Multikanal-DMA mit gemeinsamem FIFO-Puffer
US7587521B2 (en) 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US20080104352A1 (en) * 2006-10-31 2008-05-01 Advanced Micro Devices, Inc. Memory system including a high-speed serial buffer
US9021482B2 (en) * 2007-05-04 2015-04-28 International Business Machines Corporation Reordering data responses using ordered indicia in a linked list
WO2009034652A1 (ja) * 2007-09-14 2009-03-19 Fujitsu Limited 情報処理装置及びその制御方法
JP2010027032A (ja) 2008-06-17 2010-02-04 Nec Electronics Corp Fifo装置及びfifoバッファへのデータ格納方法
JP5474327B2 (ja) * 2008-10-02 2014-04-16 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及びこれを備えるデータ処理システム
US8412880B2 (en) 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
JP2010287058A (ja) 2009-06-11 2010-12-24 Canon Inc メモリシステム
US8458406B2 (en) * 2010-11-29 2013-06-04 Apple Inc. Multiple critical word bypassing in a memory controller
US8607003B2 (en) * 2011-07-15 2013-12-10 International Business Machines Corporation Memory access to a dual in-line memory module form factor flash memory
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US20110179200A1 (en) * 2010-01-18 2011-07-21 Xelerated Ab Access buffer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190096838A (ko) * 2018-02-09 2019-08-20 한양대학교 산학협력단 더미 입출력 요청을 이용한 배리어 명령 전달 방법 및 그 장치

Also Published As

Publication number Publication date
EP2791941A4 (en) 2015-03-11
US8880819B2 (en) 2014-11-04
CN103999159A (zh) 2014-08-20
US20150052318A1 (en) 2015-02-19
WO2013089937A1 (en) 2013-06-20
TW201342067A (zh) 2013-10-16
JP6082752B2 (ja) 2017-02-15
JP2015500541A (ja) 2015-01-05
EP2791941A1 (en) 2014-10-22
KR101709385B1 (ko) 2017-02-22
CN103999159B (zh) 2017-07-25
US20130151741A1 (en) 2013-06-13
US9575907B2 (en) 2017-02-21
TWI496003B (zh) 2015-08-11

Similar Documents

Publication Publication Date Title
KR101709385B1 (ko) 메모리 응답을 정렬하는 메모리 장치, 컴퓨터 시스템 및 방법
US7222224B2 (en) System and method for improving performance in computer memory systems supporting multiple memory access latencies
KR101903607B1 (ko) 메모리 액세스 제어 모듈 및 그에 관련된 방법들
JP5842284B2 (ja) 3ポートコンテントアドレサブルメモリデバイスおよびそれを実現するための方法
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
JP2008500668A5 (ko)
US8954644B2 (en) Apparatus and method for controlling memory
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US9390017B2 (en) Write and read collision avoidance in single port memory devices
US8995210B1 (en) Write and read collision avoidance in single port memory devices
US20120303848A1 (en) System and method for allocating transaction id in a system with a plurality of processing modules
EP2280349B1 (en) Processor and data transfer method
CN106598742B (zh) 一种ssd主控内部负载均衡系统及方法
JP5383159B2 (ja) バス中継装置及び制御方法
KR101414453B1 (ko) 메모리 제어장치 및 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP4593220B2 (ja) メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法
KR102584507B1 (ko) 링크 계층 데이터 패킹 및 패킷 흐름 제어 기법
JP2006146949A (ja) ディスクアレイ制御装置
JP2007035060A (ja) ディスクアレイ制御装置及びディスクアレイ制御方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant