KR101032550B1 - 단일 및 통합 커맨드를 모두 구비한 메모리 시스템 - Google Patents

단일 및 통합 커맨드를 모두 구비한 메모리 시스템 Download PDF

Info

Publication number
KR101032550B1
KR101032550B1 KR1020087015261A KR20087015261A KR101032550B1 KR 101032550 B1 KR101032550 B1 KR 101032550B1 KR 1020087015261 A KR1020087015261 A KR 1020087015261A KR 20087015261 A KR20087015261 A KR 20087015261A KR 101032550 B1 KR101032550 B1 KR 101032550B1
Authority
KR
South Korea
Prior art keywords
mode
command
scheduling
chip
write
Prior art date
Application number
KR1020087015261A
Other languages
English (en)
Other versions
KR20080069272A (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 KR20080069272A publication Critical patent/KR20080069272A/ko
Application granted granted Critical
Publication of KR101032550B1 publication Critical patent/KR101032550B1/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
    • 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/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Microcomputers (AREA)

Abstract

몇몇 실시예에서, 칩은 기록 요청을 포함하는 요청 대기열과, 기록 요청에 응답하여 커맨드를 포함하는 커맨드를 스케줄링하는 스케줄링 회로를 포함한다. 칩은 요청 대기열을 모니터링하고, 그 모니터링에 응답하여 스케줄링 회로에 대한 제 1 또는 제 2 모드를 선택하는 모드 선택 회로를 또한 포함하되, 제 1 모드에서, 스케줄링 회로는 특정의 커맨드를 개별적인 단일 커맨드로서 스케줄링하고, 제 2 모드에서, 스케줄링 회로는 하나 이상의 개별적인 단일 커맨드를 나타내는 통합 커맨드를 스케줄링한다. 다른 실시예가 개시된다.

Description

단일 및 통합 커맨드를 모두 구비한 메모리 시스템{MEMORY SYSTEM WITH BOTH SINGLE AND CONSOLIDATED COMMANDS}
본 발명의 실시예는, 메모리 제어기가 특정 커맨드를 개별적인 단일 커맨드로서 제공하는 제 1 모드와, 메모리 제어기가 단일 커맨드를 나타내는 통합 커맨드를 제공하는 제 2 모드 사이에서 메모리 제어기가 동적으로 변하는 메모리 시스템에 관한 것이다.
메모리 시스템 내의 메모리 소자에 대한 다양한 배치가 제안되어 왔다. 예컨대, 전형적인 SDRAM(Synchronous Dynamic Random Access Memory) 시스템에서, 메모리 소자는 양방향 데이터 버스를 통해 데이터를 통신하고, 커맨드 및 어드레스 버스를 통해 커맨드 및 어드레스를 수신한다. 메모리 소자는 (3 이상의 포인트를 결합하는) 멀티 드랍 구성으로 버스에 접속하는 스터브(stub)를 구비하고 있다. 다른 설계는 (2개의 포인트를 결합하는) 포인트 투 포인트 시그널링을 포함한다. 포인트 투 포인트 시그널링은 단방향 또는 양방향일 수 있다. 이러한 시그널링은 싱글 엔드형 또는 차동형(differential)일 수 있다. 몇몇 시스템에서, 어드레스, 커맨드 및 기록 데이터는 동일 도체 상에 있을 수 있다.
메모리 제어기는 여러 커맨드를 메모리 소자에 제공한다. 이들 커맨드는 기동(activate) 커맨드(ACT), 프리차지 커맨드(PRE), 판독 커맨드(RD), 및 기록 커맨드(WR)를 포함한다. 판독 및 기록 커맨드는 종종 CAS 커맨드로 일컬어진다.
메모리 모듈은 다수의 메모리 소자가 배치되는 기판을 포함한다. 메모리 소자는 기판의 한쪽에만 또는 기판의 양쪽에 배치될 수 있다. 몇몇 시스템에서, 또한 버퍼는 기판상에 배치될 수 있다. 적어도 몇몇 신호에 대해서, 버퍼는 메모리 제어기(또는 다른 버퍼)와 그 모듈상의 메모리 소자 사이에서 인터페이싱한다. 이러한 버퍼형 시스템에서, 버퍼가 메모리 소자와의 시그널링을 이용하기보다, 메모리 제어기가 버퍼와의 상이한 시그널링을 이용할 수 있다. 듀얼 인 라인 메모리 모듈(DIMM)은 메모리 모듈의 일예이다. 다수의 모듈은 직렬 및/또는 병렬일 수 있다. 시스템은 하나 이상의 메모리 채널을 포함할 수 있다.
몇몇 컴퓨터 시스템은 마더보드 상의 몇몇 메모리 소자와 메모리 모듈 상의 다른 메모리 소자 또는 마더보드 상의 커넥터 내의 다른 카드를 포함한다.
몇몇 메모리 시스템에서, 메모리 소자는 신호를 수신하여 그 신호를 다른 메모리 소자로 재송하며(repeat), 또한 요청된 데이터 신호를 다음 메모리 소자에 제공한다. 판독 데이터 신호는 루프형인 직렬의 메모리 소자 내의 최종 메모리 소자로부터 또는 직렬인 최종 메모리 소자가 아닌 메모리 소자로부터 포인트 투 포인트 단방향 리턴 링크를 통해 메모리 제어기에 제공될 수 있다.
메모리 제어기는 칩셋 허브 및 프로세서 코어를 포함하는 칩에 사용되어 왔 다. 몇몇 컴퓨터 시스템은 무선 송신기 및 수신기 회로를 포함한다.
본 발명은 이하에 주어지는 상세한 설명 및 본 발명의 실시예에 대한 첨부 도면으로부터 충분히 이해할 수 있으며, 첨부 도면은 설명되는 특정 실시예로 본 발명을 제한하고자 하는 것이 아니라 단지 예시적이다.
도 1은 본 발명의 몇몇 실시예에 따른 메모리 제어기 및 메모리 소자를 포함하는 시스템의 블록도,
도 2는 본 발명의 몇몇 실시예에 따른 도 1의 메모리 제어기의 일부 상세 블록도,
도 3은 본 발명의 몇몇 실시예의 일부 측면을 설명하는 흐름도,
도 4는 본 발명의 몇몇 실시예에 따른 도 1의 메모리 제어기의 일부 상세 블록도,
도 5는 본 발명의 몇몇 실시예에 따른 도 1의 메모리 소자의 일부 상세 블록도,
도 6은 본 발명의 몇몇 실시예에 따른 도 5의 일부 상세 블록도,
도 7 및 도 8은 각각 본 발명의 몇몇 실시예의 일부 측면을 설명하는 타이밍도,
도 9 내지 도 13은 본 발명의 몇몇 실시예에 따른 시스템의 블록도.
도 1을 참조하면, 시스템(10)은 메모리 제어기(12)와 메모리 소자(14)를 포함한다. 도 1의 특정 실시예에서, 신호는 단방향 포인트 투 포인트 링크(18)를 통해 메모리 제어기(12)로부터 메모리 소자(14)로, 또한 단방향 포인트 투 포인트 링크(20)를 통해 메모리 소자(14)로부터 메모리 제어기(12)로 전달된다. 몇몇 실시예에서, 링크(18) 상의 신호는 커맨드, 어드레스 및 기록 데이터 신호를 포함하고, 링크(20) 상의 신호는 판독 데이터이다. 예컨대, 링크(18)는 6개의 도체 레인을 포함하고, 링크(20)는 8개의 도체 레인을 포함하며, 이들 도체 레인 각각은 하나의 도체 또는 차동 시그널링을 가진 2개의 도체를 구비할 수 있다. 편의상, 메모리 제어기(12)로부터 메모리 소자(14)로의 신호는 사우스 바운드(SB)라 하며, 메모리 소자(14)로부터 메모리 제어기(12)로의 신호는 노스 바운드(NB)라 하지만, 이는 필수적인 것은 아니다. 메모리 소자(12)는 DRAM 또는 다른 형태의 메모리 소자일 수 있다.
메모리 제어기(12)에 대한 몇몇 다른 실시예는 상이한 커맨드를 메모리 소자(14)에 제공한다. 이들 커맨드는 단일 커맨드(단일 기동 커맨드(ACT), 프리차지 커맨드(PRE), 단일 판독 커맨드(RD), 단일 기록 커맨드(WR))와, 통합 커맨드(통합 기동/판독 커맨드(ACT/RD) 및 통합 기동/기록 커맨드(ACT/WR))를 포함한다. 판독 및 기록 커맨드는 종종 CAS 커맨드라 한다. 따라서, ACT/RD 및 ACT/WR 커맨드는 일반적으로 ACT/CAS 커맨드라 한다. 추가의 커맨드가 있을 수 있다.
도 1의 예에서, 보다 많은 레인이 커맨드, 어드레스, 기록 데이터보다 판독 데이터에 전용으로 사용되는 이유는, 총 레인의 수를 특정 수 아래로 유지하기를 원하기 때문이고, 또한 대부분의 애플리케이션이 기록 집중적인 것보다 판독 집중적이기 때문이다. 그러나, 일부의 경우에, SB 링크(18)에 있어서의 이용가능한 대역폭(BW)은 심하게 제한될 수 있다. 링크(18)에 대한 용량을 해소하는 방법은 통합 커맨드를 제공하는 것이다.
단일 커맨드의 장점은 최적으로 스케줄링되기 쉽다는 것에 있다. (이러한 상황에서, "최적"은 수학적인 최적을 반드시 의미하는 것은 아니지만, 일반적으로 수학적인 최적에 최소한 근접하는 것으로 의미된다.) 몇몇 실시예에서, 적시(JIT:just in time) 스케줄링을 이용하여, 커맨드 순서는 추후 시간에 또는 심지어 최종 가능 시간에 판단될 수 있어, 결과적으로 최적의 스케줄로 된다. 더욱이, JIT 스케줄링을 이용하여, 메모리 소자 코어 타이밍 제약 부근의 스케줄링에 대해 더욱 유연성을 부여할 수 있다. 불행하게도, 이들 단일 커맨드를 가지는 잠재적인 단점은 링크(18) 상의 커맨트 트래픽이 증가되고, 이로 인해 이용가능한 기록 데이터의 BW를 감소시킬 수 있으며, 일부의 경우에, 기록 BW 제한 문제를 두드러지게 할 수 있다는 것이다.
이러한 문제점을 해결하기 위해, 스케줄링 회로(32)는 기록 데이터 트래픽이 특별히 높아지지 않을 때 단일 커맨드를 스케줄링할 수 있으며, 기록 데이터 트래픽이 특별히 높아질 때 통합 커맨드를 스케줄링할 수 있다.
도 2는 메모리 제어기(12)의 몇몇 실시예에 포함되는 일부 상세도이지만, 본 발명은 이들 상세도로 제한되지 않는다. 도 12는 판독 요청 대기열(26) 및 기록 요청 대기열(28)을 포함한다. 판독 요청 대기열(26)로부터의 판독 요청과 기록 요청 대기열(28)로부터의 기록 요청은 이들 요청에 응답하여 메모리 소자(14)에 맞게 판독 및 기록 커맨드를 스케줄링할 수 있는 스케줄링 회로(32)에 제공된다. 커맨드 상태 선택 회로(30)는 기록 요청 대기열(28)의 분석에 일부분 기초하여 스케줄링 회로(32)가 제 1 모드에 있는지 또는 제 2 모드에 있는지 여부를 판단한다. 제 1 모드에서, 스케줄링 회로(32)는 기동 및 판독 커맨드를 개별적인 단일 커맨드로서, 또한 기동 및 기록 커맨드를 개별적인 단일 커맨드로서 스케줄링한다. 제 2 모드에서, 스케줄링 회로(32)는 대응하는 통합 기동/판독 및 기동/기록 커맨드를 스케줄링한다. 스케줄링 회로(32)에 의해 스케줄링된 커맨드는 송신기(36)에 의해 링크(18)에 제공된다. 메모리 제어기(12)는 링크(20) 상의 신호를 수신하는 수신기(38)를 또한 포함한다. 메모리 제어기(12)는 도 2에 도시되지 않은 추가의 회로를 포함한다.
도 3은 몇몇 실시예인 메모리 제어기(12)의 일부 측면을 설명하는 흐름도이다. 다른 실시예에서, 메모리 제어기(12)는 어느 정도 다르게 동작할 수 있다. 도 3을 참조하면, 스케줄링 회로(32)는 스케줄링할 다음 커맨드를 고려한다(박스 40). 다음 커맨드가 프리차지 커맨드 또는 페이지 히트를 가진 CAS 커맨드(판독 또는 기록)이면, 스케줄링 회로(32)는 프리차지, 판독, 또는 기록 커맨드를 단일 커맨드로서 스케줄링한다.
고려할 다음 커맨드가 기동 커맨드이면, 판독 또는 기록 커맨드가 후속할 수 있다는 것을 의미한다. 그 경우에, 메모리 제어기(12)가 제 1 모드에 있다면, 스케줄링 회로(32)는 기동 커맨드를 단일 커맨드로서 스케줄링하고(박스 42), 메모리 제어기(12)가 제 2 모드에 있다면, 스케줄링 회로(32)는 기동 커맨드를 통합 커맨드(ACT/RD 또는 ACT/WR)의 일부로서 스케줄링한다(박스 46). 판단 박스(44)는 메모리 제어기(12)를 제 1 모드 또는 제 2 모드로 할지에 관한 판단을 나타낸다.
모드 선택 회로(30)는 스케줄링 회로(32)가 제 1 모드 또는 제 2 모드에 있는지 여부를 판단한다. 모드 선택 회로(30)는 이러한 판단을 행할 수 있는 방법에는 여러 가지가 있다. 한 가지 방법은 기록 요청 대기열의 충만에 관한 임계량을 설정하는 것이다. 임계값은 기록 요청 대기열(28)에서의 기록 요청의 수일 수 있다. 몇몇 실시예에서, 기록 요청 대기열(28)에서의 기록 요청의 수가 임계값에 대해 제 1 관계를 가지고 있다면, 모드 선택 회로(30)는 스케줄링 회로(32)를 제 1 모드로 한다. 대기열(28)에 있어서의 기록 요청의 회수가 임계값에 대해 제 2 관계를 가지고 있다면, 모드 선택 회로(30)는 메모리 제어기(12)를 제 2 모드로 한다. 몇몇 실시예에서, 제 1 관계는 보다 작고, 제 2 관계는 보다 크거나 같다. 다른 실시예에서, 제 1 관계는 보다 작거나 같고 제 2 관계는 보다 크다. 그러나, 본 발명은 기록 요청의 실제 수를 임계값와 비교하는 것으로 제한되지 않는다.
모드 선택 회로(30)는 메모리 제어기(12)가 어느 모드에 있는지를 판단할 때 다른 방법을 이용할 수 있다. 예컨대, 모드 선택 회로(30)는 차지하는 공간의 수보다 빈 기록 요청이 차지하지 않은 대기열 공간의 수를 모니터링한다. 이러한 경우에, 제 1 및 제 2 관계는 다를 수 있다. 또 다른 방법이 사용될 수 있다. 예컨대, 하나 보다 많은 유형의 기록 요청이 존재하면, 모드 선택 회로(30)는 상이한 인스트럭션에 서로 다른 대기를 부여할 수 있다. 예컨대, 몇몇 실시예에서, 모드 선택 회로(30)는 페이지 미스 또는 페이지 히트에 연관되어 있는지에 따라서 다르게 기록 요청을 가중할 수 있다. 다시, 가중 시스템을 이용한 1 또는 2의 임계값이 있을 수 있다. 몇몇 실시예에서, 모드 선택 회로(30)는 모드를 판단할 때 메모리 소자(14)의 가열 등과 같은 다른 요인을 고려한다. 몇몇 실시예에서, 스케줄링 회로(32)는 디폴트 조건으로서 제 1 모드에 있다.
기록 요청의 수는 임계값 위 아래로 신속히 향한다. 몇몇 실시예에서, 하나의 임계값이 있다. 예컨대, 제 1 모드에서 제 2 모드로 스위칭하는 하나의 임계값이 있고, 제 2 모드에서 제 1 모드로 스위칭하는 다른 임계값이 있다.
도 4는 판독/기록 필드(50)를 포함하는 결합된 판독 및 기록 요청 대기열(48)이 있다는 것을 제외하고 도 2와 유사하다. 이들 실시예에서, 모드 선택 회로(30)는 대기열(48) 내의 빈 엔트리에 대해 필드(50)의 내용을 기초로 하여 얼마나 많은 기록 요청이 대기열(48) 내에 있는지를 고려한다. 다른 접근 방법이 사용될 수 있다.
도 5는 몇몇 실시예에 따른 메모리 소자(14)의 상세를 도시하지만, 본 발명은 이들 상세로 제한되지 않는다. 도 5에서, 링크(18)로부터의 신호는 수신기(52)에 의해 수신되어 신호 분리 회로(54)에 제공된다. 기록 데이터는 기록 버퍼(62)에 제공되고, 커맨드는 커맨드 처리 회로(56)에 제공된다. 기록 버퍼(62)는 아래와 같이 사용된다. 몇몇 프로토콜에서, 기록 요청에 대해, 기록 데이터가 먼저 제공된다. 기록 커맨드 및 어드레스가 이후에 제공된다. 기록 데이터는, 관련 커맨드 및 어드레스에 의해 기록 데이터가 코어(64)에 기록될 수 있을 때까지(또는 다음 메모리 소자로 재송될 때까지(도 9 참조)), 기록 버퍼(62)에 유지된다. 코어(64)는 다수의 뱅크와 디코더 등의 여러 다른 회로를 포함할 수 있다. 디코더는 또한 코어(64) 앞에 포함되어 있을 수 있다. 몇몇 실시예는 이러한 방식으로 기록 데이터를 유지하는 기록 버퍼를 포함하지 않는다.
코어(64)는 내부 데이터 링크(70)로 판독 데이터를 반환한다. 송신기(72)는 링크(70)로부터 판독 데이터를 수신하여 외부 링크(20)에 제공한다.
도 6은 커맨드 처리 회로(56)인 몇몇 실시예의 추가 상세를 나타내지만, 다른 실시예에서, 이 회로는 상이하며 추가의 회로가 도 6의 실시예에 포함될 수 있다. 도 6에서, 커맨드 처리 회로(56)는 커맨드를 유지하는 커맨드 버퍼(86) 및 커맨드가 통합 커맨드인지를 판단하고, 그렇다면, 어느 단일 커맨드로 변환되는지를 판단하는 로직(88)을 포함한다.
도 5를 다시 참조하면, 특정의 수신된 커맨드가 단일 기동 커맨드, 단일 판독 커맨드, 또는 단일 기록 커맨드이면, 커맨드 처리 회로(56)는 특정의 커맨드를 단일 커맨드로서 코어(64)에 제공한다. 그러나, 판독 또는 기록 커맨드가 통합 커맨드이면, 커맨드 처리 회로(56)는 그 통합 커맨드를 코어(64)에 제공되는 2개의 단일 커맨드로 변환한다. 도 7 및 도 8은 이들의 예를 나타내지만, 본 발명은 도 7 및 도 8의 상세로 한정되지 않는다.
도 7은 2개의 단일 커맨드(ACT 및 RD)가 외부 링크(28) 상에 제공되는 경우를 도시한다. 시간(tPropSB) 후에, 이들 커맨드는 내부 커맨드 링크(60)에 제공된다. 이들 커맨드는 2개의 단일 커맨드이기 때문에, 커맨드 처리 회로(56)는 이들 커맨드를 패스한다. 시간(tRCD)은 기동 커맨드와 판독 커맨드 사이의 최소 시간이다. 시간(tCL)은 코어(64)가 판독 커맨드를 수신하는 시간과, 판독 데이터가 내부 데이터 링크(70) 상에 놓이는 시간 사이의 사이이다. 시간(tpropNB)은 판독 데이터가 내부 데이터 링크(70) 상에 놓을 때부터, 판독 데이터가 외부 데이터 링크(20)를 통해 메모리 제어기(12)에 의해 수신되는 시간까지의 시간이다. tRCD, tCL, tpropNB, 커맨드, 및 판독 데이터의 상대적인 길이는 편의상 도 7을 작성할 때 선택되었으며 정확한 값으로 하고자 한 것은 아니다는 것을 알아야 한다.
도 8은 통합 커맨드 ACT/RD가 외부 링크(18) 상에 제공되는 경우를 도시한다. 커맨드 처리 회로(56)는 통합 커맨드 ACT/RD를 2개의 단일 커맨드(ACT 및 RD)로 변환하여 내부 데이터 링크(60)에 제공한다. 그 다음, 판독 데이터는 도 7에서와 같이 코어(64)에 의해 내부 링크(70)에 제공된다.
몇몇 실시예에서, 도 7의 각각의 개별적인 커맨드는 하나의 커맨드 프레임을 차지한다. 몇몇 실시예에서, 커맨드가 차지하지 않는 임의의 커맨드 프레임은 커맨드에 의해 스케줄링되는 기록 데이터를 가지고 있다.
링크(18) 상에 보다 많은 이용가능 프레임을 제공하는 것에 더해서, 통합 커맨드를 적절히 사용함으로써, 메모리 소자의 전체적인 입력/출력 파워를 감소시킬 수 있다. 그러나, 상술한 바와 같이, 통합 커맨드를 이용하면 부분적인 최적 스케줄링으로 되고, 또한 스케줄링되는 커맨드가 더 많아질 수 있다. ACT와 CAS 커맨드가 링크(18) 상에 동시에 스케줄링될 때 문제가 발생한다. ACT 커맨드 일부는 여전히 JIT 스케줄링되지만, CAS 일부는 JIT 스케줄링을 이용하여 스케줄링되었을 때에 앞서 tRCD 스케줄링된다. 시간(tRCD)만큼 클록은 지나가고, CAS를 스케줄링하면 그 이상 최적으로 되지 않는다. 부분적 최적화 스케줄은 커맨드의 수를 감소시키는 것에 대항하여 커맨드의 수를 실제로 증가시킬 수 있다. 예컨대, 비 최적화 스케줄에 있어서, 보다 많은 페이지 미스가 발생하고, 이는 커맨드를 더 많게 한다. 또한, 이는 기록 대역폭을 보다 많게 제한할 수 있다. 더욱이, 몇몇 실시예에서, ACT 및 CAS는 적어도 tRCD를 개별적으로 수신해야 한다. 따라서, 이들 제한으로, ACT를 스케줄링하는 하나의 방법은 메모리 제어기가 한번에 ACT를 또한 적어도 tRCD 후에 CAS를 모두 스케줄링할 수 있게 하는 것이다. 한번에 2개의 커맨드를 스케줄링하는 것은 단 하나의 커맨드를 스케줄링하는 것보다 최적으로 될 가능성이 작다.
본 명세서에 기재된 디맨드 기반(demand-based)의 스케줄러는 단일 커맨드를 스케줄링하는 것과 통합 커맨드를 스케줄링하는 것 사이에서 스위칭할 수 있다. 몇몇 실시예에서, 디멘드는 현재 동작하는 작업부하가 필요로 하는 기록 BW의 양에 의해 다를 수 있으며, 이는 기록 요청 대기열의 순간적인 깊이에 의해 결정될 수 있다. 기록 BW가 특정 임계값을 넘을 때, 메모리 제어기는 통합 커맨드를 스케줄링하기 시작한다. 그렇지 않으면, 단일 커맨드만을 스케줄링할 것이다. 따라서, 판독 집중적인 애플리케이션에 있어서, 필요한 기록 BW는 매우 낮고 기록 요청 대기열의 깊이는 작아서, 스케줄러는 단일 커맨드를 스케줄링할 것이다. 그러나, 시스템이 일반적으로 단일 커맨드로 제한된 기록 BW인 기록 집중의 애플리케이션에 있어서, 기록 요청 대기열은 충만해질 것이고, 메모리 제어기는 통합 커맨드가 더 높은 기록 BW를 고려하려할 것이다.
적응적 통합 스케줄링 프로토콜은 테이블 상의 다수의 성능과 같이 두지 않고, 통합 커맨드에 의해 제공되는 파워 및 커맨드 BW 절약의 장점을 취할 수 있다. 통합 커맨드만이 스케줄링되면, 통합 커맨드는 최적으로 스케줄링 가능성이 낮기 때문에, 감소할 수 있다. 단일 커맨드만이 스케줄링되면, 성능은 성능은 잠재적으로 제한된 기록 BW로 인해 감소할 수 있다. 적응적 통합 알고리즘은 측정되거나 예측된 기록 BW에 근거한 통합에 의해서만 이들 단점 모두를 해결하고자 시도한다.
도 7 및 도 8의 커맨드에 대한 어드레스는 커맨드와 함께 패킷에 제공되거나, 개별적으로 제공될 수 있다. 기록 데이터는 필요하지 않지만, 커맨드와 함께 패킷에 제공될 수 있다. 기록 데이터는 커맨드와 함께 패킷에 제공되면, 커맨드는 반드시 그 기록 데이터용은 아니다.
단일 또는 통합 기록 커맨드를 이용한 메모리 소자(14)의 동작은, 판독 데이터가 기록 커맨드에 응답하여 코어(64)로부터 제공되지 않는 것과, 몇몇 실시예에 있어, 기록 데이터가 관련 기록 커맨드를 제공하기 전에 기록 버퍼(62)에 제공되는 것을 제외하고, 도 7 및 도 8과 유사하다.
메모리 제어기(12)와 메모리 소자(14)는 여러 시스템에 제공될 수 있다. 각각의 메모리 소자는 개별적인 칩이 되거나, 하나 이상의 메모리 소자는 하나의 칩에 포함될 수 있다. 도 9를 참조하면, 메모리 제어기(112)는 메모리 제어기(12)와 동일하거나 다를 수 있다. 메모리 소자(120-1 ... 120-N)는 메모리 소자(14)와 동일하거나 다를 수 있다. 몇몇 실시예에서, 메모리 소자(120-1 ... 120-N)는 메모리 모듈(122)의 기판(124) 상에 포함된 각각의 개별적인 칩이다. 이들 칩은 기판(124)의 한쪽 또는 각각의 쪽에 포함될 수 있다. 메모리 소자(130-1 ... 130-N)는 메모리 모듈(132)의 기판(134) 상에 있다. 도체(116-1 ... 116-N)는 메모리 제어기(112)와 메모리 소자(120-1 ... 120-N) 간의 여러 신호를 전달한다. 도체(126-1 ... 126-N)는 메모리 소자(120-1 ... 120-N)와 메모리 소자(130-1 ... 130-N) 간의 여러 신호를 전달한다. 몇몇 실시예에서, 도체(128-1 ... 128-N)는 메모리 소자(130-1 ... 130-N)로부터 메모리 제어기(12)로의 신호를 루프형으로 제공하지만 이는 필수적인 것은 아니다. 예시하지 않은 다른 도체가 있을 수 있다.
몇몇 실시예에서, 도체(116-1 ... 116-N)와 도체(126-1 ... 126-N)는 각각의 방향으로의 단방향 도체(도 1에서와 같이)를 포함하며, 다른 실시예에서, 메모리 제어기(112)로부터 멀어지는 방향으로의 신호를 가진 단방향 도체만을 포함한다. 다른 실시예에서, 이들은 몇몇 양방향 도체를 포함한다. 신호는 메모리 제어기(112)로부터 메모리 소자(120-1 ... 120-N)로 전송되고, 그 다음 메모리 소자(120-1 ... 120-N)에 의해 메모리 소자(130-1 ... 130-N)로 재송된다. 도체(116-1 ... 116-N), 도체(126-1 ... 126-N), 및 도체(128-1 ... 128-N) 각각은 하나 또는 2개의 도체일 수 있는 다수의 레인을 포함한다. 다른 몇몇 실시예에서, 메모리 소자(120-1 ... 120-N)가 메모리 모듈의 기판 상에 있는 대신에, 마더보드 상에 있다. 이러한 경우에, 기판(124)은 메모리 모듈의 기판보다는 마더보드를 나타낼 수 있다. 도 9 또는 다른 도면이 단일 메모리 소자를 도시하고 있는 경우에, 메모리 소자의 체인일 수 있다.
도 10은 메모리 소자(170-1 ... 170-N)가 메모리 모듈 기판(160) 상에 있고 메모리 소자(190-1 ... 190-N)가 메모리 모듈 기판(180) 상에 있는 시스템을 도시한다. 이들 메모리 소자 각각은 메모리 소자(14)와 동일하거나 다를 수 있다. 메모리 제어기(150)는 메모리 제어기(12)와 동일하거나 다를 수 있다. 몇몇 실시예에서, 메모리 제어기(150)와 메모리 소자(170-1 ... 170-N)는 버퍼(162, 182)를 통해 통신하고, 메모리 제어기(50)와 메모리 소자(190-1 ... 190-N)는 버퍼(162, 182)를 통해 통신한다. 이러한 버퍼형 시스템에서, 메모리 제어기는 버퍼와 함께, 버퍼가 메모리 소자와 함께 사용하는 것과는 다른 시그널링을 사용할 수 있다. 몇몇 실시예는 도 10에 도시되지 않은 다른 도체를 포함할 수 있다.
도 11은 메모리 제어기(12)와 동일 또는 다를 수 있는 메모리 제어기(202)에 겹합된 제 1 및 제 2 채널(206, 216)을 도시한다. 채널(206, 216)은 본 명세서에 기재된 바와 같은 메모리 소자를 포함하는 메모리 모듈(208, 218)에 각각 결합되어 있다.
도 12에서, (상술한 메모리 제어기 중 하나를 나타내는) 메모리 제어기(252)는 하나 이상의 프로세서 코어(254)를 또한 포함하는 칩(250)에 포함되어 있다. 입력/출력 제어기 칩(256)은 칩(250)에 결합되어 있으며, 또한 무선 송신기 회로와 무선 수신기 회로(258)에 결합되어 있다. 도 13에서, 메모리 제어기(252)는 허브 칩(274)에 포함되어 있다. 허브 칩(274)은 (하나 이상의 프로세서 코어(272)를 포함하는) 칩(270)과 입력/출력 제어기 칩(278) 사이에 결합되어 있다. 입력/출력 제어기 칩(278)은 무선 송신기 회로와 무선 수신기 회로(258)에 결합되어 있다.
추가 정보 및 실시예
본 발명은 도 1에 도시된 칩 간의 상호 접속으로 제한되지 않는다. 다른 시스템에서, 메모리 제어기(12)는 링크(18)를 통해 메모리 소자(14)에 결합되어 있지만, 링크(20)는 메모리 제어기(12) 대신에 다음 메모리 소자(예컨대, 도 9의 메모리 소자(130-1) 등)에 결합되어 있다. 판독 데이터는 다른 도체(도 9의 128-1 등)를 통해 메모리 제어기(12)에 제공된다. 또 다른 배치가 이용될 수 있다.
본 명세서에 개시된 커맨드에 더해서 단일 또는 통합 커맨드가 있을 수 있다. 몇몇 실시예에서, 제 1 모드 또는 제 2 모드에서 발생하는 몇몇 통합 커맨드(본 명세서에 특별히 개시되어 있지 않음)가 있을 수 있다. 3개의 단일 커맨드로 변환되는 몇몇 통합 커맨드(본 명세서에 특별히 개시되어 있지 않음)가 있을 수 있다.
본 발명은 특정의 시그널링 기술 또는 프로토콜로 제한되지 않는다. 예컨대, 시그널링은 싱글 엔드형 또는 차동형일 수 있다. 시그널링은 단 2개의 전압 레벨 또는 2 개 보다 많은 전압 레벨을 포함할 수 있다. 시그널링은 단일 데이터 레이트, 2배 데이터 레이트, 4배 데이터 레이트, 또는 8진수(octal) 데이터 레이트일 수 있다. 시그널링은 인코딩된 심볼 및/또는 패킷화 신호를 포함할 수 있다. 클록(또는 스트로브) 신호는 신호와 개별적으로 전송되거나 신호에 포함될 수 있 다. 다양한 코딩 기술이 사용될 수 있다. 본 발명은 특정 형태의 송신기 및 수신기로 제한되지 않는다. 여러 클로킹 기술이 송신기와 수신기 및 다른 회로에 사용될 수 있다. 도면에서의 수신기의 기호는 초기 수신 회로와 관련 래칭 및 클로킹 회로 모두를 포함할 수 있다. 칩 사이의 도체 각각은 포인트 투 포인트일 수 있거나, 각각은 멀티 드롭 배치로 있을 수 있거나, 몇몇 도체는 포인트 투 포인트인 반면에 나머지 도체는 멀티 드롭 배치일 수 있다.
하나 이상의 모듈을 도시하는 도면에서, 하나 이상의 추가 모듈이 그 도시된 모듈과 병렬 및/또는 직렬로 있을 수 있다.
도면 내의 시스템의 실제 구현에서, 도시하지 않은 추가의 회로, 제어 라인 및 혹시 상호 접속이 있을 수 있다. 도면이 도체를 통해 접속된 2개의 블록을 도시하는 경우, 도시하지 않은 중간 회로가 있을 수 있다. 블록의 형상 및 상대적인 크기는 실제 형상 및 상대적인 크기와 연관된 것으로 의도한 것은 아니다.
하나의 실시예는 본 발명의 구현 및 일례이다. 본 명세서에서의 "실시예", "일실시예", "몇몇 실시예", 또는 "다른 실시예"는, 실시예와 관련하여 설명된 특정의 형상부, 구조, 또는 특징이 반드시 본 발명의 모든 실시예가 아닌 적어도 몇몇 실시예에 포함되어 있다는 것을 의미한다. "실시예", "일실시예", 또는 "몇몇 실시예"의 여러 형태가 반드시 동일 실시예를 모두 언급하는 것은 아니다.
구성 요소 "A"가 구성 요소 "B"에 결합되어 있다고 하는 경우에, 구성 요소 A는 구성 요소 B에 직접 결합되어 있거나, 예컨대, 구성 요소 C를 통해 간접적으로 결합되어 있을 수 있다.
구성 요소, 특징, 구조, 처리, 또는 특성 A가 구성 요소, 특징, 구조, 처리 또는 특성 B를 유발한다고 명세서 또는 구성 요소에 기재되어 있는 경우에, "A"는 "B"의 최소한의 일부 요인임을 의미하지만, "B"를 유발하는 데 도움이 되는 적어도 하나의 다른 구성 요소, 특징, 구조, 처리, 또는 특성이 있을 수 있다.
명세서에 구성 요소, 특징, 구조, 처리, 또는 특성이 포함될 수 있다고 기재하고 있다면, 그 특정의 구성 요소, 특징, 구조, 처리, 또는 특성이 반드시 포함될 필요는 없다. 명세서 또는 청구범위에서 임의의 구성 요소를 언급하고 있다면, 그것은 단 하나의 구성 요소만이 있다는 것을 의미하는 것은 아니다.
본 발명은 본 명세서에 기재된 특정의 상세로 제한되지 않는다. 오히려, 상술한 설명 및 도면에 대해서 본 발명의 범위 내에서 다양한 변경이 행해질 수 있다. 따라서, 임의의 보정을 포함하는 다음의 청구범위는 본 발명의 범위를 규정하는 것이다.

Claims (20)

  1. 기록 요청을 포함하는 요청 대기열(queue)과,
    상기 기록 요청에 응답하는 커맨드를 포함하는 커맨드를 스케줄링하는 스케줄링 회로와,
    상기 요청 대기열을 모니터링하고, 그 모니터링에 응답하여 상기 스케줄링 회로에 대한 제 1 또는 제 2 모드를 선택하는 모드 선택 회로를 포함하되,
    상기 제 1 모드에서, 상기 스케줄링 회로는 특정의 커맨드를 개별적인 단일 커맨드로서 스케줄링하고,
    상기 제 2 모드에서, 상기 스케줄링 회로는 적어도 하나의 제 1 타입 커맨드 및 적어도 하나의 제 2 타입 커맨드를 포함하는 2개 이상의 개별적인 단일 커맨드를 나타내는 통합(consolidated) 커맨드를 스케줄링하는
    칩.
  2. 제 1 항에 있어서,
    상기 통합 커맨드는 개별적인 단일 기동(activate) 및 판독 커맨드를 나타내는 기동/판독 커맨드를 포함하고, 상기 통합 커맨드는 개별적인 단일 기동 및 기록 커맨드를 나타내는 기동/기록 커맨드를 포함하는 칩.
  3. 제 1 항에 있어서,
    상기 모니터링은, 상기 요청 대기열 내의 기록 요청의 수가 임계값과 제 1 관계에 있는지 제 2 관계에 있는지를 결정하고, 상기 기록 요청의 수가 임계값과 제 1 관계를 가지고 있다면, 상기 모드 선택 회로는 상기 제 1 모드를 선택하고, 상기 기록 요청의 수가 임계값과 제 2 관계를 가지고 있다면, 상기 모드 선택 회로는 상기 제 2 모드를 선택하는 것을 포함하는
    칩.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 모드 선택 회로는 제 1 임계값이 교차되는 것에 응답하여 상기 제 1 모드에서 상기 제 2 모드로, 또는 제 2 임계값이 교차되는 것에 응답하여 상기 제 2 모드에서 상기 제 1 모드로 스위칭하는
    칩.
  6. 제 1 항에 있어서,
    상기 모니터링은, 기록 요청이 페이지 미스(a page miss) 또는 페이지 히트(a page hit)를 포함할 것인지 여부에 따라서, 상기 기록 요청에 다른 가중치를 부여하는 것을 포함하는
    칩.
  7. 제 1 항에 있어서,
    상기 스케줄링 회로가 상기 제 1 모드에 있고, 상기 모드 선택 회로가 상기 제 1 모드를 선택하면, 상기 스케줄링 회로는 변경되지 않은 상태로 있는
    칩.
  8. 제 1 항에 있어서,
    상기 스케줄링 회로가 상기 제 1 모드에 있고, 상기 모드 선택 회로가 상기 제 2 모드를 선택하면, 상기 스케줄링 회로는 상기 제 1 모드에서 상기 제 2 모드로 스위칭되는
    칩.
  9. 제 1 항에 있어서,
    상기 스케줄링 회로가 상기 제 2 모드에 있고, 상기 모드 선택 회로가 상기 제 1 모드를 선택하면, 상기 스케줄링 회로는 상기 제 2 모드에서 상기 제 1 모드로 스위칭되는
    칩.
  10. 제 1 항에 있어서,
    상기 제 1 모드에서, 상기 스케줄링 회로는 적시(JIT:just in time) 스케줄링을 수행하는
    칩.
  11. 제 1 항에 있어서,
    상기 스케줄링 회로는 디폴트로 상기 제 1 모드에 있고, 상기 모드 선택 회로는 상기 스케줄링 회로를 상기 제 2 모드로 변경하는 신호를 제공하는
    칩.
  12. 제 1 항에 있어서,
    상기 요청 대기열은 기록 요청 대기열이고, 상기 칩은 판독 요청 대기열을 더 포함하는
    칩.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 시스템으로서,
    제 1 칩과,
    링크와,
    제 2 칩을 포함하며,
    상기 제 1 칩은,
    기록 요청을 포함하는 요청 대기열(queue)과,
    상기 기록 요청에 응답하는 커맨드를 포함하는 커맨드를 스케줄링하는 스케줄링 회로와,
    상기 요청 대기열을 모니터링하고, 그 모니터링에 응답하여 상기 스케줄링 회로에 대한 제 1 또는 제 2 모드를 선택하는 모드 선택 회로와,
    상기 스케줄링된 커맨드를 송신하는 송신기를 포함하되,
    상기 스케줄링 회로는,
    상기 제 1 모드에서, 특정의 커맨드를 개별적인 단일 커맨드로서 스케줄링하고,
    상기 제 2 모드에서, 적어도 하나의 제 1 타입 커맨드 및 적어도 하나의 제 2 타입 커맨드를 포함하는 2개 이상의 개별적인 단일 커맨드를 나타내는 통합(consolidated) 커맨드를 스케줄링하며,
    상기 링크는 상기 송신기에 결합되고,
    상기 제 2 칩은,
    상기 링크에 결합되어 상기 스케줄링된 커맨드를 포함하는 신호를 수신하는 수신기와,
    상기 통합 커맨드를 개별적인 단일 커맨드로 변환하는 커맨드 처리 회로와,
    상기 개별적인 단일 커맨드를 수신하는 메모리 코어를 포함하는
    시스템.
  17. 제 16 항에 있어서,
    상기 특정 커맨드는 하나의 기동/판독 커맨드로 통합되는 기동 및 판독 커맨드를 포함하고, 상기 특정 커맨드는 하나의 기동/기록 커맨드로 통합되는 기동 및 기록 커맨드를 포함하는
    시스템.
  18. 제 16 항에 있어서,
    상기 스케줄링 회로가 상기 제 1 모드에 있고, 상기 모드 선택 회로가 상기 제 1 모드를 선택하면, 상기 스케줄링 회로는 변경되지 않은 상태로 있는
    시스템.
  19. 제 16 항에 있어서,
    상기 제 1 칩은 적어도 하나의 프로세서 코어를 포함하는
    시스템.
  20. 제 16 항에 있어서,
    상기 제 1 칩은 무선 송신기 회로와 무선 수신기 회로에 결합되는
    시스템.
KR1020087015261A 2005-12-23 2006-12-07 단일 및 통합 커맨드를 모두 구비한 메모리 시스템 KR101032550B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/318,028 2005-12-23
US11/318,028 US7673111B2 (en) 2005-12-23 2005-12-23 Memory system with both single and consolidated commands

Publications (2)

Publication Number Publication Date
KR20080069272A KR20080069272A (ko) 2008-07-25
KR101032550B1 true KR101032550B1 (ko) 2011-05-06

Family

ID=37898834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087015261A KR101032550B1 (ko) 2005-12-23 2006-12-07 단일 및 통합 커맨드를 모두 구비한 메모리 시스템

Country Status (6)

Country Link
US (2) US7673111B2 (ko)
EP (1) EP1963978A1 (ko)
KR (1) KR101032550B1 (ko)
CN (1) CN101313288B (ko)
TW (1) TWI335516B (ko)
WO (1) WO2007075316A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US8271746B1 (en) * 2006-11-03 2012-09-18 Nvidia Corporation Tiering of linear clients
WO2008070172A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for remote direct memory access to a solid-state storage device
US7761669B2 (en) * 2007-07-10 2010-07-20 International Business Machines Corporation Memory controller granular read queue dynamic optimization of command selection
US20090019238A1 (en) * 2007-07-10 2009-01-15 Brian David Allison Memory Controller Read Queue Dynamic Optimization of Command Selection
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
US8239875B2 (en) * 2007-12-21 2012-08-07 Spansion Llc Command queuing for next operations of memory devices
US8914340B2 (en) * 2008-02-06 2014-12-16 International Business Machines Corporation Apparatus, system, and method for relocating storage pool hot spots
US8423739B2 (en) * 2008-02-06 2013-04-16 International Business Machines Corporation Apparatus, system, and method for relocating logical array hot spots
US8055835B2 (en) * 2008-06-23 2011-11-08 International Business Machines Corporation Apparatus, system, and method for migrating wear spots
US20120011331A1 (en) * 2009-03-30 2012-01-12 Rambus Inc. Memory system, controller and device that supports a merged memory command protocol
US8140767B2 (en) * 2009-06-04 2012-03-20 International Business Machines Corporation Cache management through delayed writeback
KR20120092220A (ko) * 2011-02-11 2012-08-21 삼성전자주식회사 인터페이스 장치 및 이를 포함하는 시스템
KR101826121B1 (ko) 2011-03-25 2018-02-06 인텔 코포레이션 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2710481B1 (en) * 2011-05-20 2021-02-17 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
KR101804521B1 (ko) * 2011-08-16 2017-12-07 에스케이하이닉스 주식회사 집적회로 칩, 이를 포함하는 시스템 및 동작방법, 메모리 및 메모리 시스템
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
KR102025088B1 (ko) * 2012-09-03 2019-09-25 삼성전자 주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
US9754648B2 (en) * 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
EP2972836B1 (en) 2013-03-15 2022-11-09 Intel Corporation A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
KR102114453B1 (ko) * 2013-07-19 2020-06-05 삼성전자주식회사 모바일 장치 및 그것의 제어 방법
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
KR102157769B1 (ko) 2013-10-28 2020-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10365835B2 (en) 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US9530468B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method, apparatus and system to manage implicit pre-charge command signaling
CN107111440A (zh) * 2015-01-15 2017-08-29 夏普株式会社 信息处理装置及其控制方法
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034875A1 (en) * 1998-12-04 2000-06-15 Advanced Micro Devices, Inc. Queue based memory controller

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0164735A3 (en) * 1984-06-11 1988-11-09 Nec Corporation A microprocessor having a dynamic memory refresh circuit
US6023745A (en) * 1996-08-08 2000-02-08 Neomagic Corporation Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses
US5991819A (en) * 1996-12-03 1999-11-23 Intel Corporation Dual-ported memory controller which maintains cache coherency using a memory line status table
US6098133A (en) * 1997-11-28 2000-08-01 Motorola, Inc. Secure bus arbiter interconnect arrangement
US5948081A (en) 1997-12-22 1999-09-07 Compaq Computer Corporation System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
JP2000252795A (ja) * 1999-02-26 2000-09-14 Oki Micro Design Co Ltd 移動平均フィルタ
US6430683B1 (en) * 1999-06-25 2002-08-06 International Business Machines Corporation Processor and method for just-in-time delivery of load data via time dependency field
US6273759B1 (en) * 2000-04-18 2001-08-14 Rambus Inc Multi-slot connector with integrated bus providing contact between adjacent modules
US6470433B1 (en) * 2000-04-29 2002-10-22 Hewlett-Packard Company Modified aggressive precharge DRAM controller
US6831924B1 (en) * 2000-07-20 2004-12-14 Silicon Graphics, Inc. Variable mode bi-directional and uni-directional computer communication system
JP2002063791A (ja) * 2000-08-21 2002-02-28 Mitsubishi Electric Corp 半導体記憶装置およびメモリシステム
US6799254B2 (en) 2001-03-14 2004-09-28 Hewlett-Packard Development Company, L.P. Memory manager for a common memory
US6674648B2 (en) * 2001-07-23 2004-01-06 Intel Corporation Termination cards and systems therefore
US6877071B2 (en) * 2001-08-20 2005-04-05 Technology Ip Holdings, Inc. Multi-ported memory
US6769050B1 (en) * 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US6615326B1 (en) 2001-11-09 2003-09-02 Lsi Logic Corporation Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller
US6766385B2 (en) * 2002-01-07 2004-07-20 Intel Corporation Device and method for maximizing performance on a memory interface with a variable number of channels
US20030217223A1 (en) * 2002-05-14 2003-11-20 Infineon Technologies North America Corp. Combined command set
US7043599B1 (en) * 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
US6954822B2 (en) * 2002-08-02 2005-10-11 Intel Corporation Techniques to map cache data to memory arrays
US20040236921A1 (en) * 2003-05-20 2004-11-25 Bains Kuljit S. Method to improve bandwidth on a cache data bus
US6785190B1 (en) * 2003-05-20 2004-08-31 Intel Corporation Method for opening pages of memory with a single command
US7167946B2 (en) * 2003-09-30 2007-01-23 Intel Corporation Method and apparatus for implicit DRAM precharge
US7519762B2 (en) * 2003-09-30 2009-04-14 Intel Corporation Method and apparatus for selective DRAM precharge
US7127574B2 (en) * 2003-10-22 2006-10-24 Intel Corporatioon Method and apparatus for out of order memory scheduling
US7243205B2 (en) * 2003-11-13 2007-07-10 Intel Corporation Buffered memory module with implicit to explicit memory command expansion
US7281079B2 (en) * 2003-12-31 2007-10-09 Intel Corporation Method and apparatus to counter mismatched burst lengths
KR100689746B1 (ko) * 2005-02-16 2007-03-08 주식회사 부강샘스 무선 하드 디스크 드라이브

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034875A1 (en) * 1998-12-04 2000-06-15 Advanced Micro Devices, Inc. Queue based memory controller

Also Published As

Publication number Publication date
US20070150687A1 (en) 2007-06-28
US20070150688A1 (en) 2007-06-28
KR20080069272A (ko) 2008-07-25
TWI335516B (en) 2011-01-01
WO2007075316A1 (en) 2007-07-05
CN101313288B (zh) 2014-12-10
CN101313288A (zh) 2008-11-26
TW200732916A (en) 2007-09-01
US7752411B2 (en) 2010-07-06
EP1963978A1 (en) 2008-09-03
US7673111B2 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
KR101032550B1 (ko) 단일 및 통합 커맨드를 모두 구비한 메모리 시스템
US8700830B2 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
JP4800224B2 (ja) 構成可能な相互接続トポロジを用いたi/o帯域幅の適応割当て
US20050289317A1 (en) Method and related apparatus for accessing memory
US11347665B2 (en) Memory module threading with staggered data transfers
CN105260331B (zh) 一种双总线内存控制器
JP2007183816A (ja) メモリ制御装置
CN101427224A (zh) 用于提供存储器定序提示的存储器集线器和方法
US20210280226A1 (en) Memory component with adjustable core-to-interface data rate ratio
US20170024344A1 (en) Method and System for USB 2.0 Bandwidth Reservation
US20230119889A1 (en) Computer system based on wafer-on-wafer architecture
US12093124B2 (en) Multi-level signal reception
US20240220104A1 (en) Memory control system and memory control method
US20080229007A1 (en) Enhancements to an XDR Memory Controller to Allow for Conversion to DDR2
JP2000010914A (ja) アービトレーション制御装置、及びそのアービトレーション制御方法
JP2003085040A (ja) メモリアクセラレータ、アクセラレーション方法、および、これに関連したインターフェースカードおよびマザーボード
GB2341699A (en) Inter-module data transfer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee