KR101026280B1 - 추론적 코맨드를 사용하는 칩 및 시스템 - Google Patents

추론적 코맨드를 사용하는 칩 및 시스템 Download PDF

Info

Publication number
KR101026280B1
KR101026280B1 KR1020087031911A KR20087031911A KR101026280B1 KR 101026280 B1 KR101026280 B1 KR 101026280B1 KR 1020087031911 A KR1020087031911 A KR 1020087031911A KR 20087031911 A KR20087031911 A KR 20087031911A KR 101026280 B1 KR101026280 B1 KR 101026280B1
Authority
KR
South Korea
Prior art keywords
signal
command
chip
error detection
validity
Prior art date
Application number
KR1020087031911A
Other languages
English (en)
Other versions
KR20090028566A (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 KR20090028566A publication Critical patent/KR20090028566A/ko
Application granted granted Critical
Publication of KR101026280B1 publication Critical patent/KR101026280B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Dram (AREA)

Abstract

일부 실시예에서, 칩은 메모리 코어, 에러 검출 회로 및 제어 유닛을 포함한다. 에러 검출 회로는 칩에 의해 수신되는 추론적 및 비추론적 코맨드와 연관되는 에러 검출 신호의 유효성을 결정하고 결정된 유효성을 표시하는 유효성 신호를 제공한다. 제어 유닛은 연관된 유효성 신호를 수신하기 전에 동작되도록 상기 추론적 코맨드를 동작되게 위해 상기 메모리 코어로 제공하고, 연관된 에러 검출 신호가 유효라고 표시하는 연관된 유효성 신호를 수신한 후에만 동작되도록 상기 비추론적 코맨드를 상기 메모리 코어로 제공하는 제어 유닛을 포함한다. 다른 실시예도 설명하고 청구한다.

Description

추론적 코맨드를 사용하는 칩 및 시스템{MEMORY DEVICE WITH SPECULATIVE COMMANDS TO MEMORY CORE}
본 발명은 메모리 코어를 갖는 칩 및 이 칩을 포함하는 시스템에 관한 것이다. 일부 실시예에서, 연관된 CRC 체크썸의 유효성이 결정되기 이전에 메모리 코어가 소정 명령을 실행하기 시작한다.
메모리 시스템의 메모리 디바이스를 위한 다양한 장치가 제안되어 왔다. 예를 들어, 통상적인 동기식 DRAM(dynamic random access memory) 시스템에서, 메모리 디바이스는 양방향 데이터 버스를 통해 데이터를 통신하고 커맨드 및 어드레스 버스를 통해 커맨드와 어드레스를 수신한다. 일부 구현에서, 메모리 디바이스는 멀티드롭 구성의 버스에 접속되는 스터브(stubs)를 갖는다. 다른 설계는 점 대 점 시그날링을 포함한다. 양방향 시그날링은 순차적 또는 동시적일 수 있다.
다양한 에러 검출 기술이 사용되어 왔다. 많은 수의 비트로부터 체크썸이 생성되는 CRC(cyclic redundancy check)가 잘 알려져 있다. 체크썸은 전송 또는 저장 후에 에러를 검출하기 위해 사용된다. 체크썸은 전송 또는 저장 이전에 계산 되어 데이터에 첨부된다. 데이터의 체크썸은 추후에 재계산되어 첨부된 체크썸과 비교된다. 최초 체크썸과 추후에 계산된 체크썸이 일치하지 않으면, 데이터 또는 데이터에 포함되는 커맨드의 정확성을 의심할 여지가 있다. 데이터 재송신과 같은 다양한 반응이 있을 수 있다. 다양한 종류의 CRC 절차와 복원 방법이 존재한다. 에러 교정 코드(ECC)와 같은 에러 검출 기술의 일부는 에러 교정 기술을 포함한다.
상호접속되는 시그날링의 속도가 증가함에 따라, 비트 에러 레이트(BER)도 증가할 수 있다. CRC 절차는 DRAM 메모리 시스템을 포함하는 메모리 시스템에서의 사용을 위해 제안되어 왔다. 체크썸은 DRAM에서 재계산되어 수신된 체크썸과 비교될 수 있다. 기록 데이터는 일치가 결정될 때까지 게시된 기록 버퍼에서 머무를 수 있다. 이 시스템은 코맨드 체인을 포함하는 소정 데이터를 무시하고 재송신하는 것을 포함하는 일치가 존재하지 않는 경우 다양한 방식으로 응답할 수 있는데, ECC 수행, 링크 재초기화, 및/또는 메모리 코어의 일부 재초기화 등이 수행된다. CRC 체크썸을 계산하는 데 소모되는 시간의 양은 판독 동작과 같은 DRAM 메모리에서의 소정 동작을 수행하는 데 소모되는 시간에 비교될 수 있다. CRC 체크썸의 계산은 DRAM 코어로의 코맨드 발신을 게이팅하는(gates) 최장 시간 경로일 수 있다.
메모리 제어기는 메모리 디바이스로 다양한 코맨드를 제공한다. 이들 코맨드는 사전충전(precharge) 코맨드(PRE), 활성화 코맨드(ACT), 판독 코맨드(RD) 및 기록 코맨드(WR)를 포함한다. 일부 코맨드는 시간 경과에 따라 체인으로 제공되는데, 일부 코맨드는 진행 중의 다른 코맨드(가령, PRE, ACT, CAS)에 후속한다. 판독 및 기록 코맨드는 종종 CAS 코맨드로 불린다. 이들 코맨드에는 많은 변형이 존 재한다. 메모리 제어기로부터의 일부 혼합 코맨드는 메모리 디바이스에 의해 서브-코맨드로 분할된다. 예를 들어, 결합된 ACT/RD 코맨드는 메모리 디바이스에 의해 ACT 코맨드 및 RD 코맨드로 분할된다.
코맨드, 어드레스, 기록 데이터 및 판독 데이터는 패킷과 프레임을 포함하는 다양한 형태로 전송되어 왔다. 프레임은 패킷의 일종으로서 병렬 레인상의 신호가 특정 개수의 단위 간격(UI)으로 제공된다.
메모리 모듈은 다수의 메모리 디바이스가 배치되는 기판을 포함한다. DIMM(dual in-line memory module)이 일례이다. 일부 시스템에서, 버퍼도 기판상에 배치된다. 적어도 일부 신호에 대해, 버퍼는 모듈상의 메모리 제어기(또는 다른 버퍼)와 메모리 디바이스 사이를 인터페이싱한다. 이러한 버퍼링된 시스템에서, 메모리 제어기는 버퍼가 메모리 디바이스를 사용하는 것과는 다른 시그날링을 버퍼를 사용하여 사용할 수 있다. 다수의 모듈이 직렬 및/또는 병렬로 존재할 수 있다. 한 칩에 하나의 메모리 디바이스가 존재하거나 한 칩에 하나보다 많은 메모리 디바이스가 존재할 수 있다. 칩은 스택일 수 있다.
일부 컴퓨터 시스템은 마더보드상에 일부 메모리 디바이스를 포함하고 마더보드상에 메모리 모듈 또는 기타 카드상에 다른 메모리 디바이스를 포함한다.
일부 메모리 시스템에서, 메모리 디바이스는 신호를 수신하고 이들을 다른 메모리 디바이스에 대해 반복할 뿐만 아니라 다음 메모리 디바이스로 요청된 데이터 신호를 제공한다. 판독 데이터 신호는, 루프형 방식인 직렬 메모리 디바이스의 최종 메모리 디바이스로부터 또는 직렬의 최종 메모리 디바이스가 아닌 메모리 디 바이스로부터 점 대 점 단방향 복귀 링크를 통해 메모리 제어기로 제공될 수 있다.
메모리 제어기는 프로세서 코어를 포함하는 칩셋 허브 및 칩셋에서 사용되어 왔다. 일부 컴퓨터 시스템은 무선 송신기 및 수신기 회로를 포함한다.
본 발명의 아래의 상세한 설명 및 보 발명의 실시예의 첨부된 도면으로부터 이해될 것이지만, 이는 본 발명을 특정 실시예로 한정하는 것이 아니며 설명과 이해를 위한 것이다.
도 1-4는 일부 실시예에 따른 메모리 제어기 및 메모리 디바이스를 포함하는 메모리 시스템의 각 블록도 표현이다.
도 5는 일부 실시예에 따른 CRC 체크썸 비트를 포함하는 활성화 프레임의 시각적 표현이다.
도 6-8은 일부 실시예에 다른 하나 이상의 도 1-4의 메모리 디바이스의 일부 세부사항의 각 블록도 표현이다.
도 9-10은 각각 일부 실시예에 따른 도 1 및 4의 메모리 제어기의 일부 세부사항의 블록도 표현이다.
도 11-15는 일부 실시예에 따른 메모리 제어기를 포함하는 시스템의 각 블록도 표현이다.
일부 실시예에서, 메모리 디바이스는 (CRC 체크썸과 같은) 관련 에러 검출 신호의 유효성이 결정되기 전에 소정 추론적인(speculative) 코맨드에서의 동작을 시작하는 메모리 코어를 포함한다. 추론적인 코맨드가 CRC 에러를 체크하기 전에 발신되므로, 일부 실시예는 추론적인 코맨드의 결과로서 데이터 손상 또는 타이밍 위반이 발생하지 않았다는 것을 보장하는 메커니즘을 포함한다.
도 1을 참조하면, 시스템은 링크(16), 링크(18), 링크(20) 및 링크(22)를 통해 메모리 디바이스(14)와 인터페이싱하는 메모리 제어기(12)를 포함한다. 메모리 디바이스(14)는 칩(10)의 일부인데, 이는 본질적으로 단지 메모리 칩이거나 프로세싱, 다른 칩들간의 신호 이동 및 통신 기능과 같은 다른 중요한 기능을 수행할 수 있다.
링크(16)는 메모리 제어기(12)로부터 메모리 디바이스(14)로 코맨드 및 어드레스 신호를 전송한다. 링크(18)는 메모리 제어기(12)로부터 메모리 디바이스(14)로 기록 데이터 신호를 전송한다. 링크(20)는 메모리 디바이스(14)로부터 메모리 제어기(12)로 판독 데이터 신호를 전송한다. 도 1의 예에서, 링크(16, 18 및 20)는 단방향적으로 사용되지만, 다른 실시예에서 링크들 중 하나 이상은 양방향적일 수 있다. 링크(16, 18 및 20)는 각각 다수의 레인을 포함할 수 있다. 링크(16)상의 메모리 제어기(12)에 의해 제공되는 코맨드 및 어드레스 신호의 적어도 일부는 관련 CRC 체크썸을 갖는다. 메모리 디바이스(14)는 이들 체크썸의 유효성을 판단하고, 체크썸이 무효이면 메모리 디바이스(14)는 링크(22)상에 경보 신호를 송신하 여 대응하는 신호의 체크썸이 무효였다는 것을 메모리 제어기(12)에 경보한다.
코맨드 및 어드레스 신호는 신호 그룹에 제공될 수 있다. 그룹의 예는 프레임과 패킷을 포함한다. CRC 체크썸은 신호 그룹의 일부이거나 다른 곳에 제공될 수 있다. 도 5는 예시적 프레임을 도시하고 있는데, 여기서 신호는 6개의 레인(0,1,2,3,4,5 및 6) 상에서 전송되며 프레임은 9개의 단위 간격(UI) 전송(0.1....8)을 지속하지만, 프레임은 6개보다 적거나 많은 레인 및 9개보다 적거나 많은 UI 전송을 포함할 수 있다. 이 예에서, 체크썸 비트는 UI 7의 레인 0과 3 및 UI 8의 레인 0-5에 포함되지만, 비트는 프레임의 다른 위치에 존재할 수 있다. 일례로서, 도 5의 프레임은 메모리의 한 행을 개방하는 데 사용되는 "활성화" 코맨드일 수 있다. 프레임의 다른 비트는 뱅크 그룹, 하나의 뱅크, 행 어드레스와, 프레임의 코맨드 또는 판독 또는 기록 데이터 또는 둘 다를 전송하는지 여부 및 링크 전력 다운 특징과 같은 기타 특징을 지정할 수 있다. 물론, 본 발명은 이들 세부 사항을 갖는 프레임의 사용 또는 프레임으로 전혀 한정되지 않는다. 판독 또는 기록 데이터와 같은 소정 아이템은 1개의 헤더 프레임 및 2개의 데이터 프레임과 같은 복수의 프레임을 취할 수 있다.
필요 조건이 아닌 단지 일례로서, 하나의 프레임이 3.6기가 전송(GT)/초에서 2.5나노초(ns)의 지속시간을 가질 수 있다. CRC 체크썸을 계산하는 데 사용되는 시간은 대략 한 프레임 또는 그 이상일 수 있다. 상호접속 주파수가 증가함에 따라, CRC 체크썸을 계산하는 데 소모되는 시간은 한 프레임의 시간에 비해 증가할 수 있다. 코어가 판독 코맨드를 수행하기 이전에 체크썸이 계산되어야 할 필요가 있는 경우, 이는 판독 데이터를 수신하는 데에 지연을 가산할 것이다.
도 2에서, 메모리 제어기(26) 및 메모리 디바이스(28)는 경보 신호가 링크(22)가 아닌 링크(20)를 통해 통신된다는 점을 제외하고는 도 1의 메모리 제어기(12) 및 메모리 디바이스(14)와 동일하다. 경보 신호가 통신될 수 있는 다양한 방식이 존재한다. 예를 들어, 경보 신호는 판독 프레임의 비트, 또는 레인 링크(20) 일부상의 신호, 또는 판독 데이터 프레임의 손상일 수 있다.
도 3에서, 메모리 제어기(32) 및 메모리 디바이스(36)는 코맨드, 어드레스 및 기록 데이터가 링크(34)를 통해 통신된다는 점을 제외하고는 도 1의 메모리 제어기(12) 및 메모리 디바이스와 동일하다.
도 4에서, 메모리 제어기(42) 및 메모리 디바이스(46)는 (도 2에 도시된 바와 같이) 코맨드, 어드레스 및 기록 데이터가 링크(34)를 통해 통신되고, 경보 신호 및 판독 데이터 신호가 링크(20)를 통해 통신된다는 점을 제외하고는 도 1의 메모리 제어기(12) 및 메모리 디바이스(14)와 동일하다.
메모리 디바이스(28, 36 및 46)는 각각 칩(30, 40 및 48)의 일부인데, 이들 각각은 본질적으로 단지 메모리 칩이거나 다른 중요한 기능을 수행할 수 있다. 일부 실시예에서, 칩은 단 하나의 메모리 디바이스를 포함한다. 다른 실시예에서, 칩은 하나보다 많은 메모리 디바이스를 포함한다.
도 6은 칩(10) 또는 칩(40)이 예를 도시하고 있다. 도 6은 수신기(50)가 코맨드 및 어드레스 신호를 링크(16)로부터 수신하는 경우의 칩(10)의 일례와, 수신기(50)가 코맨드, 어드레스 및 기록 데이터 신호를 링크(34)로부터 수신하는 경우 의 칩(40)의 일례이다. 포트 제어 유닛(PCU)(54)은 수신기(50)로부터 신호를 수신하고, 그로부터 코맨드를 디코딩한다. 소정 코맨드(여기서는 추론적 코맨드라 지칭됨)의 경우에, CRC 회로(56)가 연관되는 체크썸의 유효성을 결정하기 이전에 PCU(54)가 코맨드를 메모리 코어(60)로 런칭(제공)한다. 코어(60)는 코맨드의 결과가 무시되거나 사용되지 않을 가능성이 존재하기 때문에 추론적인 코맨드상에 추론적으로 기능한다. 다른 코맨드(여기서는 비추론적 코맨드라 지칭됨)의 경우에, CRC 회로(56)가 코맨드와 연관되는 CRC 체크썸이 유효하다고 결정할 때까지 PCU(54)가 코맨드를 런칭하지 않는다. 기록 데이터의 프레임도 비추론적으로 취급된다. CRC 회로(56)는 수신된 프레임의 데이터에 대한 체크썸을 계산하고 이를 프레임에 의해 전송되는 체크썸에 비교한다. 체크썸이 일치하면, 유효성 신호는 체크썸이 유효하다고 표시하고, 체크썸이 일치하지 않으면, 유효성 신호는 체크썸이 무효라고 표시한다.
일부 실시예에서, 추론적 코맨드의 예는 사전충전(PRE), 활성화(ACT) 및 판독(RD)을 포함한다. 다른 실시예에서, 이들 중 하나 이상은 추론적 코맨드가 아닐 수 있으며, 추가적인 추론적 코맨드가 존재할 수 있다. 기록(WR) 코맨드는 비추론적 코맨드의 일례이다. 역시 추론적 코맨드인 다양한 다기능 코맨드(가령, 조합된 PRE/ACT/RD 코맨드)가 존재할 수 있으며, 다기능 코맨드(가령, 조합된 PRE/ACT/RD 코맨드)는 또한 비추론적 코맨드일 수 있다. 이 시스템은 PRE, ACT, RD 및 WR의 변형인 많은 다른 비혼합 및 혼합 코맨드(가령, 자동-사전충전)를 사용할 수 있다. 일부 실시예에서, 환경에 따라서, 특정 코맨드는 추론적과 비추론적 사이에서 변할 수 있다.
CRC 회로(56)가 체크썸의 유효성을 결정한 후, 회로(56)는 결정된 유효성을 표시하는 유효성 신호를 PCU(54), 게이트 로직(66) 및 송신기(72)에 제공한다. 일부 실시예에서, 회로(56)는 포함되는 신호 종류에 의존하여 유효성 신호를 PCU(54) 또는 게이트 로직(66)에 각각 제공한다.
송신기(72)는 링크(22)에 유효성 신호를 제공한다. 일부 실시예에서, 유효성 신호는 수신될 때(유효 체크썸을 표시하든 무효 체크썸을 표시하든지 간에) 송신기(72)에 의해 링크(22)로 항상 전송된다. 다른 실시예에서, 로직(도시 생략)은 체크썸이 무효임을 표시할 때에만 링크(22)에 유효성 신호가 제공되게 한다. 체크썸이 무효일 때, 링크(22)상의 유효성 신호는 무효 체크썸에 대해 메모리 제어기에 경보하기 때문에 경보 신호로 지칭된다. 일부 실시예에서, 유효성 신호는 전송되기 전에 수정된다. 일부 실시예에서, 유효성 신호는 단지 무효 체크썸이 검출되었다는 것을 표시한다. 다른 실시예에서, 유효성 시스템은 어느 신호 그룹이 무효 체크썸에 포함되었는지 및/또는 어느 종류의 코맨드였는지 등과 같은 추가 정보를 제공한다.
게이트 로직(66)은 메모리 코어(60)로부터의 판독 데이터 신호를 보유한다. 유효 체크썸을 표시하는 유효성 신호가 수신되면, 게이트 로직(66)은 링크(20)를 통한 전송을 위해 판독 데이터를 송신기(70)에 제공한다. 전술한 바와 같이, 일부 실시예에서, 유효성 신호는 단지 체크썸이 유효인지 무효인지를 표시한다. 이 경우에, 게이트 로직(66)이 자신이 유지하는 판독 데이터로 유효성 신호가 적용되는지를 알게 하는 어떤 메커니즘이 존재한다. 예를 들어, 일부 실시예에서, 회로(56)로부터 게이트 로직(66)으로 개별 도전체가 존재는데, 이는 판독 코맨드에 응답하여 유효성 신호만을 제공한다(그리고 일부 실시예에서는 코맨드 체인으로 이전 코맨드를 제공하는데, 이는 후술할 것이다). 이러한 실시예에서, 회로(56), PCU(54), 메모리 코어(60) 및 게이트 로직(66)은 선입선출 기반의 판독 데이터를 고려할 수 있다. 다른 실시예에서, 유효성 신호는 어느 코맨드가 평가된 체크썸을 갖는지 또는 적어도 코맨드의 종류에 관한 정보를 포함하여 게이트 로직(66)이 신호가 적용되는지를 알 수 있다.
일부 코맨드는 체인으로 구성된다. 예를 들어, 체인은 사전충전 코맨드, 이어서 활성화 코맨드, 이어서 CAS(판독 또는 기록 코맨드)를 포함할 수 있다. 일부 실시예에서, 게이트 로직(66)은 게이터 로직(66)에 현재 유지되는 판독 데이터를 얻는 판독 코맨드의 체크썸에 대한 유효성 신호에만 응답한다. 다른 실시예에서, 게이트 로직(66)은 체인의 임의의 코맨드에 대한 유효성 신호에도 응답한다.
일부 실시예에서, 유효성 신호가 무효 체크썸을 표시하면, 게이트 로직은 링크(20)를 통해 메모리 제어기로 판독 데이터를 송신하지 않는다. 다른 실시예에서, 게이트 로직(66)은 유효성 신호가 무효 체크썸을 표시하더라도 링크(20)로 전송될 판독 데이터를 송신기(70)에 제공하지만, 메모리 제어기는 대응 경보 신호가 링크(22)상에 수신되면 판독 데이터를 무시하는 것을 알고 있다. 일부 실시예에서, 링크(70 및 72)상에 경보 신호 및 판독 데이터를 보다 잘 정렬하기 위해 송신기(72) 앞에 지연 회로(도시 생략)가 존재할 수 있지만, 이것이 모든 실시예에서 요구되는 것은 아니다.
도 7은 송신기(27)로의 신호가 게이트 로직(66)을 통해 경보 신호를 수신한다는 점을 제외하고는 도 6과 유사하다. 이는 링크(20)상에 존재할 수 있는 신호와의 더 우수한 조정을 허용한다. 또한, 게이트 로직(76)은 유효성 신호와는 다소 상이한 경보 신호를 제공할 수 있다. 예를 들어, 링크(22)상의 신호는 직렬 신호일 수 있으며 유효성 신호는 병렬 신호일 수 있지만, 이것이 요구되지는 않는다.
도 8은 칩(30 및 48)의 예를 도시하고 있으며, 판독 데이터 및 경보 신호가 링크(20)를 통해 게이트 로직(78)으로부터 전송된다는 점을 제외하고는 도 6과 유사하다. 다른 실시예에서, 경보 신호는 상이하게 제공된다. 일부 실시예에서, 경보 신호는 판독 데이터 프레임과는 매우 상이하다. 다른 실시예에서, 경보 신호는 판독 데이터 프레임과 유사하지만, 상이하게 설정되는 하나 이상의 비트를 갖는다. 이 경보 신호는 무효 체크썸과 연관되는 특정 코맨드 및/또는 특정 종류의 코맨드 또는 기록 데이터를 포함할 수 있다.
메모리 디바이스는 기록 데이터가 유효 또는 무효 체크썸과 연관되는지를 알 때까지 기록 데이터를 유지하는 게시된 기록 버퍼와 같은 스토리지를 포함할 수 있다.
도 9는 메모리 제어기(12)의 예를 도시하고 있지만, 본 발명은 이들 세부 사항으로 한정되지 않는다. 스케줄링 회로(104)는 데이터 버퍼(106)로부터의 데이터 및 코맨드 큐(108)로부터의 코맨드를 프레임 어셈블리 회로(110)를 통해 수신하고, 코맨드 및 어드레스 신호를 송신기(112)에 제공하고 기록 데이터 신호를 송신 기(114)에 제공한다. CRC 계산 회로(102)는 프레임의 적어도 일부 비트에 기초하여 체크썸을 계산하고 체크썸을 회로(110)에 제공한다. 송신기(112 및 114)는 신호를 링크(16 및 18)에 각각 제공한다. 링크(20)로부터의 판독 신호는 수신기(120)에 의해 수신되고, 경보 신호(및 일부 실시예에서는 다른 유효성 신호)는 수신기(122)에 의해 링크(22)로부터 수신된다. 경보 검출 회로(128)는 경보 신호를 검출하고 에러 처리 유닛(130)에 통보한다. 상이한 실시예에서, 에러 처리 유닛(130)이 경보 신호에 응답하는 다양한 방식이 존재한다. 예를 들면, 연관된 판독 데이터 무시, 단일 코맨드 재송신, 코맨드 체인 재송신, 및 ECC 수행, 링크 재초기화 및/또는 메모리 코어의 일부 재초기화 등을 포함한다.
도 10은 메모리 제어기(42)의 일례를 도시하고 있지만, 본 발명은 이들 세부 사항으로 한정되지 않는다. 스케줄링 회로(134)는 데이터 버퍼(106)로부터의 데이터 및 코맨드 큐(138)로부터의 코맨드를 수신하고, 코맨드, 어드레스 및 기록 데이터 신호를 송신기(138)에 제공하는데, 이는 링크(34)로 전송된다. 수신기(120)는 판독 데이터 및 경보 신호를 링크(20)로부터 수신한다. 경보 검출 회로(143)는 경보 신호를 검출하고 에러 처리 유닛(144)에 통보한다. 상이한 실시예에서, 전술한 바와 같이 에러 처리 유닛(144)이 경보 신호에 응답하는 다양한 방식이 존재한다.
일부 실시예에 대한 세부 사항
다음은 일부 실시예에 적용되는 세부 사항이지만, 다른 실시예에는 적용되지 않는다. 사실, 본 발명은 이들 세부 사항으로 한정되지 않는다.
A. 추론적 활성화(ACT). 데이터 손상이 없음을 보장:
1. PCU(54)는 메모리 코어(60)의 모든 뱅크를 추적한다. 모든 페이지는 리셋에서 폐쇄로 표시된다.
2. 추론적 ACT 코맨드는 폐쇄된 페이지로만 발신된다. 추론적 ACT 코맨드는 바이패스 경로를 사용할 수 있으며 추후 실행을 위해 PCU(54)의 코맨드 큐에 게시되지 않는다.
3. 코어(60)로 발신된 ACT 코맨드는 페이지 개방을 표시한다. 동일한 뱅크로 발신되는 사전충전 코맨드는 tRP의 지연 후에 폐쇄되는 페이지를 표시한다. 추론적 코맨드(ACT 또는 RD)는 tRP 윈도우에서 허용되지 않는다.
4. ACT는 데이터에 대해 비파괴적이다. CRC 체크썸 에러가 존재하는 경우, 에러 처리 메커니즘의 일부로서 제어기는 특정 페이지를 사전충전하거나 PREcharge-ALL(모든 행을 사전충전)을 수행할 필요가 있을 수 있다.
B. ACT를 발신하기 이전에 고려할 타이밍 파라미터: tRRD, tFAW, tRP_g, tRP_a, tRFC_g 및 tRFC_a.
1. tRRD: 상이한 뱅크로의 계속되는(back to back) ACT 코맨드를 위해 특정됨. PCU(54)는 tRRD 위반을 체크함. DRAM 코어로 발신되는 임의의 ACT 코맨드는 tRRD 주기 동안 추론적 ACT 코맨드를 차단하게 될 것임. (제어기는 tRRD 윈도우 내의 스케줄링된 다른 ACT를 가지지 않을 것이므로 차단된 ACT 코맨드는 또한 CRC 에러를 유사하게 초래할 것이다.)
ACT 위반을 처리하는 옵션:
a) 위반된 추론적 ACR 및 tRRD 발신(비추론적 모드가 존재하지 않는 리스트 데이터 손상).
b) 코맨드 큐에 코맨드 게시 및 CRC 체크 대시
(제어기/DRAM은 추론적 모드의 동기화에서 벗어날 것임).
c) 코어(60)로 발신하기 전에 코맨드를 tRRD 및 CRC 체크만큼 지연
(제어기/DRAM은 추론적 모드의 동기화에서 다시 벗어날 것임).
d) tRRD 위반이면 에러 플래그를 표시하고 ACT를 코어로 발신하지 않음(권장됨).
2. tFAW: 4개의 활성화 윈도우. PCU(54)에서 이를 추적하지 않을 것을 권장함. 비추론적 동작 모드에서 체킹이 존재하지 않을 수 있음. 5번째 ACT가 tFAW 윈도우에 발신되는 경우, 이는 그렇게 하도록 의도되는 제어기이거나 CRC 에러가 존재할 수 있다.
3. tRP_g: 행 사전충전 -- 그룹. 모든 추론적 ACT는 tRP_g의 기간 동안 DRAM 어레이(동일 또는 상이한 뱅크 그룹)로 차단되고 뱅크 그룹으로 주어진 페이지는 tRP_g의 지연 후에 폐쇄되는 것으로 표시된다. 뱅크 그룹은 메모리 코어(60)의 뱅크 그룹이다.
4. tRP_a: god 사전충전 --모두. 모든 추론적 ACT는 tRP_a의 시간 동안 DRAM 어레이로 차단되고 모든 페이지는 tRP_a의 지연 후에 폐새되는 것으로 표시된다. (Pg 및 Pa는 비중첩이므로 하나의 카운터가 사용될 수 있다.) Pg는 뱅크 그룹의 사전충전 행이며 Pa는 모든 뱅크 그룹의 사전충전 행이다.
5. tRFC_g: 리프레시 사이클 -- 그룹. 모든 추론적 ACT는 tRFC_g의 기간 동안 DRAM 어레이로 차단되고 뱅크 그룹으로 주어진 페이지는 tRP_g의 지연 후에 폐쇄되는 것으로 표시된다.
6. tRFC_a: 리프레시 사이클 -- 모두. 모든 추론적 ACT는 tRFC)g의 기간 동안 DRAM 어레이(동일 또는 상이한 뱅크 그룹)로 차단되고 뱅크 그룹으로 주어진 페이지는 tRP_a의 지연 후에 폐쇄되는 것으로 표시된다.
Pg, Pa, Fg 및 Fa는 비중첩이므로 하나의 카운터가 사용될 수 있다. Fg 및 Fa는 리프레시 그룹이며 모든 코맨드를 리프레시한다.
메모리 제어기는 tRP_g, tRP_a, tRFC_g 및 tRFC_a 윈도우에서 ACT를 발신하도록 허용되지 않으므로, 에러 플래그를 표시하고 CRC 체크를 기다리지 않는 것이 권장된다. (CRC가 통과하더라도, 데이터 손상의 위험이 존재한다). 비추론적 모드에서, ACT는 체크썸 에러를 초래하기 쉬우며, 체크썸 에러가 존재하지 않는 경우 ACT는 데이터 손상 또는 로크업(lock-up)을 초래하는 코어로 즉시 발신될 수 있다.
C. 추론적 판독 경우: 판독은 2개의 부분으로 나뉘어 진다. 하나는 판독 코맨드이고 두 번째는 판독 데이터 복귀 처리를 포함한다.
1. 판독 코맨드의 발신
a. 개방 페이지로만 발신되는 추론적 RD 코맨드
b. 추가적 지연 및 게시 경우:. CRC 체크를 위한 추가 프레임을 가질 것으로 추론하지 않는다. CRC 체크가 하나보다 많은 프레임(1F)만큼 지연되면 판독 코맨드의 결정론적 추론을 추가할 수 있다.
c. READ 발신을 위해 고려할 타이밍 파라미터: tRCD, tWTR, tCCD_L, tCCD_S.
d. tRCD: 주어진 뱅크로 ACT가 발신된 후, tRCD 속행을 시작하고 뱅크의 상태를 '개방'으로부터 '허용되는 추론적 판독으로 개방'으로 변경한다.
e. tCCD_L 및 tWTR(기록 대 판독 지연): 이들 타이밍은 뱅크 그룹 내에서 서로에 대해 추적한다. 뱅크 및 인트라 뱅크 그룹에 대한 동일한 값으로 뱅크 그룹당 추적이 필요하다. RD 또는 WR가 뱅크 그룹으로 발신되면 tCCD_L에 대한 추론적 판독 코맨드를 차단한다.
f. tCCD_S: PCU 외부의 판독 코맨드는 2개의 판독이 2개의 프레임(2F) 또는 tCCD_S에 의해 분리되어 확산되도록 추적할 필요가 있다. (기록은 추적될 필요가 없는데, 상이한 뱅크 그룹 제한에 대한 WR 대 RD이 1F이고 WR 및 RD의 동시 런칭이 PCU(54)에서 현재 허용되지 않기 때문이다).
g. 이들 타이ald을 위반하는 RD가 존재하는 경우, 에러를 보고하고 RD를 코어(60)로 발신하지 않는다.
2. 판독 복귀
a. 추론적 판독에 대한 CRC 에러를 검출하면, 제어기로의 데이터를 차단한다. CRC 에러 신호는 ALERT에 따라 당겨서(by yanking) 송신된다.
b. ALERT 신호는 제어기에 의해 보여지는 판독 지연보다 빨라야 할 수 있다.
c. 다른 옵션은 데이터/CRC를 중독시키는 것(poison)이지만, 이는 문제점을 갖는다.
i) RD가 어떤 다른 인코딩으로 변환되면, 제어기는 버스상의 데이터가 고정 된 지연 후에 유효한 것으로 가정하여 ALERT가 이를 따라잡기 위해 충분히 고속이어야 한다. 이 경우에, (모든 CRC 에러를 중독시키지 않는 한) 중독성 옵션을 가지지 않을 수 있다.
ii) 어떤 다른 인코딩이 RD로 변환되면, 제어기는 데이터를 예상하지 않을 수 있어서 중독성 CRC는 도울 수 없다.
iii) 중독시키는 것은 RD 프레임상의 가령 어드레스 비트상에 에러가 존재하는 경우에 잘 동작할 것이다.
d. 중독시키는 것은 유한한 루프홀을 가져서 ALERT 타이밍을 충분히 빠르게 얻을 필요가 있다. (이 문제점은 추론 제안 없이도 존재한다.)
DRAM의 레지스터 비트는 코맨드의 추론을 인에이블/디스에이블 하기 위해 정의될 수 있다.
사전충전과 같은 코어(60)로의 다른 코맨드를 추론하는 것에 관한 조건들은 판독 및 활성화와 동일한 원리를 사용하여 쉽게 개발될 수 있다. 이것을 포함하는 장점들은 모든 트랜잭션, 페이지 히트, 손실 및 공란(empties)에 대한 DRAM 지연을 감소시킬 수 있다.
샘플 시스템
본 명세서에서 설명되는 메모리 제어기 및 메모리 디바이스는 다양한 시스템에 포함될 수 있다. 예를 들어, 도 11을 참조하면, 칩(404)은 메모리 제어기(406)를 포함한다. 도전체(408-1...408-M)는 각각 다수의 단방향 또는 양방향 상호접속 중 하나를 나타낸다. 메모리 디바이스는 다음 메모리 디바이스로 신호를 반복할 수 있다. 예를 들어, 메모리 디바이스(410-1...410-M)는 상호접속(416-1...416-M)을 통해 메모리 디바이스(420-1...420-M)로 일부 신호를 반복한다. 이 신호는 코맨드, 어드레스 및 기록 데이터를 포함할 수 있다. 또한, 이 신호는 판독 데이터를 포함할 수 있다. 판독 데이터는 상호접속(408-1...408-M)을 통해 메모리 디바이스(410-1...410-M)로부터 메모리 제어기(406)로 직접적으로 송신될 수 있다. 그러나, 판독 데이터가 메모리 디바이스(410-1...410-M)로부터 메모리 디바이스(420-1...420-M)로 반복되는 경우, 일부 실시예에서, 판독 데이터는 메모리 디바이스(410-1...410-M)로부터 메모리 제어기(406)로 직접적으로 송신될 필요가 없다. 메모리 디바이스(420-1...420-M)로부터의 판독 데이터는 상호접속(418-1...418-M)을 통해 메모리 제어기(406)로 송신될 수 있다. 상호접속(418-1...418-M)은 일부 실시예에서 포함되지 않는다. 메모리 디바이스(410-1...410-M)는 메모리 모듈(412)의 기판(414)의 한 측 또는 양측에 존재할 수 있다. 메모리 디바이스(420-1...420-M)는 메모리 모듈(422)의 기판(424)의 한 측 또는 양측에 존재할 수 있다. 이와 달리, 메모리 디바이스(410-1...410-M)를 포함하는 칩은 칩(404)과 모듈(424)을 지지하는 마더보드상에 존재할 수 있다. 이 경우에, 기판(414)은 마더보그의 일부를 나타낸다. 칩은 스택으로 존재할 수 있다.
도 12는, 메모리 칩(510-1...510-M)이 메모리 모듈 기판(514)의 한 측 또는 양측에 존재하고 메모리 칩(520-1...520-M)이 메모리 모듈 기판(524)의 한 측 또는 양 측에 존재하는 시스템을 도시하고 있다. 일부 실시예에서, 메모리 제어기(500) 및 칩(510-1...510-M)은 버퍼(512)를 통해 서로 통신하고 메모리 제어기(500) 및 칩(520-1...520-M)은 버퍼(512 및 522)를 통해 통신한다. 이러한 버퍼형 시스템에서, 메모리 제어기는 버퍼가 메모리 상치를 사용하는 것과는 상이한 버퍼를 사용하는 상이한 시그날링을 사용할 수 있다. 일부 실시예는 도 12에 도시되지 않은 추가 도전체를 포함할 수 있다.
도 13은 메모리 제어기(534)를 포함하는 칩(532)에 결합되는 제 1 및 제 2 채널(536 및 538)을 도시하고 있다. 채널(536 및 538)은 본 명세서에서 설명되는 것과 같은 칩을 포함하는 메모리 모듈(542 및 544)에 각각 결합된다. 도 14에서, (이전에 설명된 메모리 제어기 중 임의의 것을 대표하는) 메모리 제어기(552)는 칩(550)에 포함되는데, 이는 또한 하나 이상의 프로세서 코어(554)를 포함한다. (허브 칩일 수 있는) 입력/출력 제어기 칩(556)은 칩(550)에 결합되며 또한 무선 송신기 및 수신기 회로(558)에 결합된다. 도 15에서, 메모리 제어기(552)는 칩(574)에 포함되는데, 이는 허브 칩일 수 있다. 칩(574)은 (하나 이상의 프로세서 코어(572)를 포함하는) 칩(570)과 입력/출력 제어기 칩(578) 사이에 결합되는데, 이는 허브 칩일 수 있다. 입력/출력 제어기 칩(578)은 무선 송신기 및 수신기 회로(558)에 결합된다.
추가 정보 및 실시예
상이한 실시예에서, 링크는 상이한 개수의 레인을 가질 수 있다. 예를 들어, 링크(34)는 6개의 레인을 가질 수 있고, 레인(20)은 8개의 레인을 가질 수 있 으며, 링크(22)는 1개의 레인을 가질 수 있고, 레인(16)은 2개의 레인을 가질 수 있으며, 레인(18)은 4개의 레인을 가질 수 있지만, 상이한 개수의 레인이 사용될 수 있다. 기록 프레임이 판독 프레임의 레인 개수의 적어도 절반을 갖는 것이 바람직할 수 있다. 각 레인은 신호 인코딩 시그날링이 사용되는 경우에 단 하나의 도전체를 포함할 수 있거나 2개의 도전체가 차동(differential) 시그날링이 사용된다.
하나의 메모리 코어가 칩 내에 도시되어 있지만, 다수의 메모리 코어가 존재할 수 있다.
CRC 체크썸은 사용될 수 있는 에러 검출 신호의 단 하나의 종류이다.
일부 실시예에서, 유효성 신호가 메모리 코어에 제공된다. 한 가지 이유는 추론적 코맨드 체인의 코맨드 중 하나와 연관되는 무효 체크썸에 대해 메모리 코어(82)에 통보하는 것이다. 그 후, 메모리 코어(82)는 체인의 추후 코맨드를 무시할 수 있다. 그러나, 일부 실시예에서, 무효 체크썸을 계산하는 데에 소모되는 시간은 추론적 코맨드 체인을 완성하는 데에 필요한 시간보다 클 수 있다.
본 발명은 어떤 특정 시그날링 기술 또는 프로토콜로 제한되지 않는다. 예를 들어, 시그날링은 단일 종료점 또는 차동적일 수 있다. 시그날링은 단지 2개의 전압 레벨을 포함하거나 2개 이상의 전압 레벨을 포함할 수 있다. 시그날링은 단일 데이터 레이트, 이중 데이터 레이트, 4개의 데이터 레이트, 8개의 데이터 등 일 수 있다. 시그날링은 인코딩된 심볼 및/또는 패킷화된 시그날을 포함할 수 있다. 클록(또는 스트로브) 신호가 신호로부터 개별적으로 전송되거나 신호에 포함될 수 있다. 다양한 코딩 기술이 사용될 수 있다. 본 발명은 특정 종류의 송신기 및 수신기에 제한되지 않는다. 다양한 클록킹 기술이 송신기 및 수신기 및 기타 회로에서 사용될 수 있다. 도면의 수신기 심볼은 초기 수신 회로 및 관련 래칭 및 클록킹 회로 모두를 포함할 수 있다. 칩들간의 상호접속은 각각 점 대 점이거나 각각 멀티-드롭 배열이거나, 일부는 점 대 점이고 나머지는 멀티-드롭 배열일 수 있다.
하나 이상의 모듈을 도시하는 도면에서, 도시된 모듈과 병렬 및/또는 직렬인 하나 이상의 추가 모듈일 수 있다.
도면의 시스템의 실제 구현에서, 도시되지 않은 추가 회로, 제어 라인, 및 상호접속이 존재할 것이다. 도면이 도전체를 통해 접속되는 2개의 블록을 도시할 때, 중간 회로는 도시되지 않을 수 있다. 블록의 형상 및 상대적 크기는 실제 형상 및 상대적 크기에 관련되는 것으로 의도되지 않는다.
일 실시예는 본 발명의 일 구현 또는 일례이다. 명세서에서 "일 실시예", "하나의 실시예", "일부 실시예", 또는 "다른 실시예"를 참조하는 것은 그 실시예와 관련되는 특정 형상, 구조 또는 특징이 적어도 일부 실시예에 포함되며, 본 발명의 모든 실시예에 반드시 포함된다는 것을 의미하는 것은 아니다. "일 실시예", "하나의 실시예" 또는 "일부 실시예"의 다양한 모습은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
요소"A"가 요소"B"에 결합되는 경우, 요소 A는 요소 B에 직접적으로 결합될 수 있거나, 가령, 요소 C를 통해 간접적으로 결합될 수 있다. 명세서 또는 청구범위가 구성요소, 형상, 구조, 프로세스 또는 특징 A가 구성요소, 형상, 구조, 프로 세스 또는 특징 B를 "야기한다"고 언급하는 경우, 이는 "A"가 "B"의 적어도 부분적인 원인이며, "B"를 야기하는 것을 돕는 적어도 하나의 다른 구성요소, 형상, 구조, 프로세스 또는 특징이 존재할 수 있다.
명세서에서 구성요소, 형상, 구조, 프로세스 또는 특징이 "포함될 수 있다"고 언급하는 경우, 그 특정 구성요소, 형상, 구조, 프로세스 또는 특징은 포함될 것이 요구되는 것은 아니다. 명세서 또는 청구범위에서 "하나"의 요소가 언급되는 경우, 이는 그 요소가 단 하나 존재한다는 것을 의미하는 것은 아니다.
본 발명은 명세서에서 설명되는 측정 세부사항에 한정되지 않는다. 실제로, 본 발명의 범위 내에서 전술한 설명과 도면의 많은 다른 변형이 이루어질 수 있다. 따라서, 임의의 보정을 포함하는 다음의 청구범위가 본 발명의 범위를 정의한다.

Claims (20)

  1. 칩으로서,
    메모리 코어와,
    상기 칩에 의해 수신된 추론적(speculative) 코맨드 및 비추론적 코맨드와 연관되는 에러 검출 신호의 유효성(validity)을 결정하고, 상기 결정된 유효성을 표시하는 유효성 신호를 제공하는 에러 검출 회로와,
    연관된 유효성 신호를 수신하기 전에는 작동될 상기 메모리 코어에 상기 추론적 코맨드를 제공하고, 연관된 에러 검출 신호가 유효라고 표시하는 연관된 유효성 신호를 수신한 후에만 상기 비추론적 코맨드를 작동될 상기 메모리 코어에 제공하는 제어 유닛을 포함하는
    칩.
  2. 제 1 항에 있어서,
    상기 추론적 코맨드 및 상기 비추론적 코맨드에 대한 상기 에러 검출 신호는 상기 추론적 코맨드 및 상기 비추론적 코맨드를 포함하는 신호들의 그룹 내의 CRC(a cyclic redundancy check) 체크썸(ckecksum)인
    칩.
  3. 제 1 항에 있어서,
    상기 에러 검출 회로는 상기 추론적 코맨드 및 상기 비추론적 코맨드를 포함하는 비트들의 그룹에 대한 에러 검출 신호를 계산하고 계산된 에러 검출 신호를 수신된 에러 검출 신호와 비교하며,
    상기 유효성 신호는 상기 계산된 에러 검출 신호와 상기 수신된 에러 검출 신호가 동일하면 유효성을 표시하고 동일하지 않으면 무효를 표시하는
    칩.
  4. 제 1 항에 있어서,
    상기 유효성 신호를 수신하고 상기 유효성 신호를 외부 링크에 제공하는 송신기를 더 포함하는
    칩.
  5. 제 1 항에 있어서,
    외부 링크에 신호를 제공하는 송신기와,
    상기 메모리 코어로부터 판독 데이터 신호를 수신하고, 유효 에러 검출 신호를 표시하는 연관된 유효성 신호를 수신한 후에만 상기 송신기에 상기 판독 데이터 신호를 제공하는 게이팅 로직(gating logic)을 더 포함하는
    칩.
  6. 제 5 항에 있어서,
    상기 게이팅 로직은 추가 제어 비트를 갖는 프레임 내에 상기 판독 데이터 신호를 배열하는
    칩.
  7. 제 5 항에 있어서,
    상기 게이팅 로직은 상기 수신된 연관된 유효성 신호가 무효 에러 검출 신호를 표시하는 경우에는 상기 판독 데이터 신호를 상기 송신기에 제공하지 않는
    칩.
  8. 제 5 항에 있어서,
    상기 게이팅 로직은 코맨드 체인의 코맨드 중 임의의 코맨드에 대한 상기 수신된 연관된 유효성 신호 중 임의의 연관된 유효성 신호가 무효 에러 검출 신호를 표시하는 경우에는 상기 판독 데이터 신호를 상기 송신기에 제공하지 않는
    칩.
  9. 제 1 항에 있어서,
    상기 유효성 신호를 수신하고 상기 유효성 신호가 무효 에러 검출 신호를 표시하면 외부 링크로 전송될 상기 유효성 신호를 나타내는 신호를 송신기에 제공하는 로직 및 상기 송신기를 더 포함하는
    칩.
  10. 제 9 항에 있어서,
    추가 송신기를 더 포함하고,
    상기 로직은 상기 메모리 코어로부터 판독 데이터 신호를 수신하고 상기 수신된 판독 데이터 신호를 상기 추가 송신기에 선택적으로 제공하는 게이팅 로직인
    칩.
  11. 제 1 항에 있어서,
    상기 추론적 코맨드 및 상기 비추론적 코맨드에 대한 상기 에러 검출 신호는 상기 추론적 코맨드 및 상기 비추론적 코맨드를 포함하는 신호들의 그룹 내의 CRC 체크썸이며,
    상기 추론적 코맨드 및 상기 비추론적 코맨드 중 일부에 대한 신호들의 그룹은 복수의 프레임을 포함하는
    칩.
  12. 제 1 항에 있어서,
    상기 추론적 코맨드 및 상기 비추론적 코맨드 중 일부는 코맨드들의 체인인
    칩.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 시스템으로서,
    제 1 칩과,
    상기 제 1 칩에 연결된 제 2 칩을 포함하되
    상기 제 1 칩은
    (a) 메모리 코어와,
    (b) 상기 제 1 칩에 의해 수신된 추론적 코맨드 및 비추론적 코맨드와 연관되는 에러 검출 신호의 유효성을 결정하고, 상기 결정된 유효성을 표시하는 유효성 신호를 제공하는 에러 검출 회로와,
    (c) 연관된 유효성 신호를 수신하기 전에는 작동될 상기 메모리 코어에 상기 추론적 코맨드를 제공하고, 연관된 에러 검출 신호가 유효라고 표시하는 연관된 유효성 신호를 수신한 후에만 상기 비추론적 코맨드를 작동될 상기 메모리 코어에 제공하는 제어 유닛을 포함하며,
    상기 제 2 칩은,
    (a) 상기 제 1 칩에 제공되는 코맨드를 스케줄링하는 스케줄링 회로와,
    (b) 상기 추론적 코맨드를 포함하는 데이터 그룹이 상기 제 1 칩에서 무효 에러 검출 신호를 갖는 것으로 결정되었다고 표시하는 신호를 상기 제 1 칩으로부터 수신하는 수신기와,
    (c) 에러 경보 신호의 검출에 응답하여 신호를 수신하고 이에 응답하는 에러 처리 유닛을 포함하는
    시스템.
  18. 제 17 항에 있어서,
    상기 추론적 코맨드 및 상기 비추론적 코맨드에 대한 상기 에러 검출 신호는 상기 추론적 코맨드 및 상기 비추론적 코맨드를 포함하는 신호들의 그룹 내의 CRC 체크썸인
    시스템.
  19. 제 17 항에 있어서,
    상기 에러 검출 회로는 상기 추론적 코맨드 및 상기 비추론적 코맨드를 포함하는 비트들의 그룹에 대한 에러 검출 신호를 계산하고 계산된 에러 검출 신호를 수신된 에러 검출 신호와 비교하며,
    상기 유효성 신호는 상기 계산된 에러 검출 신호와 상기 수신된 에러 검출 신호가 동일하면 유효성을 표시하고 동일하지 않으면 무효를 표시하는
    시스템.
  20. 제 17 항에 있어서,
    상기 유효성 신호를 수신하고 상기 유효성 신호를 상기 제 1 칩과 상기 제 2 칩 사이의 외부 링크에 제공하는 송신기를 더 포함하는
    시스템.
KR1020087031911A 2006-06-30 2007-06-21 추론적 코맨드를 사용하는 칩 및 시스템 KR101026280B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/479,102 2006-06-30
US11/479,102 US7627804B2 (en) 2006-06-30 2006-06-30 Memory device with speculative commands to memory core

Publications (2)

Publication Number Publication Date
KR20090028566A KR20090028566A (ko) 2009-03-18
KR101026280B1 true KR101026280B1 (ko) 2011-03-31

Family

ID=38878339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087031911A KR101026280B1 (ko) 2006-06-30 2007-06-21 추론적 코맨드를 사용하는 칩 및 시스템

Country Status (7)

Country Link
US (1) US7627804B2 (ko)
EP (1) EP2036095B1 (ko)
KR (1) KR101026280B1 (ko)
CN (1) CN101479807B (ko)
AT (1) ATE534953T1 (ko)
TW (1) TWI341459B (ko)
WO (1) WO2008005695A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069711B2 (en) * 2006-06-30 2018-09-04 Intel Corporation System and method for link based computing system having automatically adjustable bandwidth and corresponding power consumption
US8201069B2 (en) * 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US9256564B2 (en) * 2012-01-17 2016-02-09 Qualcomm Incorporated Techniques for improving throughput and performance of a distributed interconnect peripheral bus
WO2013147913A1 (en) * 2012-03-31 2013-10-03 Intel Corporation Delay-compensated error indication signal
US9384002B2 (en) 2012-11-16 2016-07-05 International Business Machines Corporation Speculative finish of instruction execution in a processor core
US8990641B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on history
US8990640B2 (en) 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
CN105190766A (zh) * 2013-03-25 2015-12-23 惠普发展公司,有限责任合伙企业 具有错误纠正逻辑的存储器设备
US9058260B2 (en) 2013-04-04 2015-06-16 International Business Machines Corporation Transient condition management utilizing a posted error detection processing protocol
US9106258B2 (en) 2013-11-22 2015-08-11 International Business Machines Corporation Early data tag to allow data CRC bypass via a speculative memory data return protocol
KR102058495B1 (ko) * 2013-11-29 2020-02-07 에스케이하이닉스 주식회사 오류 검출 회로 및 이를 이용하는 반도체 집적회로
US9881656B2 (en) * 2014-01-09 2018-01-30 Qualcomm Incorporated Dynamic random access memory (DRAM) backchannel communication systems and methods
US9509444B2 (en) * 2014-03-20 2016-11-29 Infineon Technologies Ag Efficient checksum communication between devices
US9210015B2 (en) 2014-03-20 2015-12-08 Infineon Technologies Ag Edge-based communication
US9762419B2 (en) 2014-08-13 2017-09-12 Infineon Technologies Ag Edge-based communication with a plurality of slave devices
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
KR102300890B1 (ko) * 2015-06-17 2021-09-13 에스케이하이닉스 주식회사 반도체 장치 및 그의 구동 방법
US11042325B2 (en) * 2019-08-05 2021-06-22 International Business Machines Corporation Speculative bank activate dynamic random access memory (DRAM) scheduler

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0754483B2 (ja) * 1986-07-15 1995-06-07 富士通株式会社 メモリアクセス方式
KR20060023304A (ko) * 2004-09-09 2006-03-14 삼성전자주식회사 커맨드 신호의 에러 검출 기능을 가지는 메모리 모듈

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02143991A (ja) 1988-11-25 1990-06-01 Hitachi Ltd 半導体記憶装置
JPH043237A (ja) 1990-04-20 1992-01-08 Nippon Telegr & Teleph Corp <Ntt> 主記憶装置保護方式
EP0651324B1 (en) * 1993-10-29 2006-03-22 Advanced Micro Devices, Inc. Speculative instruction queue for variable byte length instructions
US5956753A (en) 1993-12-30 1999-09-21 Intel Corporation Method and apparatus for handling speculative memory access operations
US5603010A (en) 1995-12-28 1997-02-11 Intel Corporation Performing speculative system memory reads prior to decoding device code
US6463522B1 (en) * 1997-12-16 2002-10-08 Intel Corporation Memory system for ordering load and store instructions in a processor that performs multithread execution
US6519735B1 (en) * 1998-12-22 2003-02-11 Intel Corporation Method and apparatus for detecting errors in data output from memory and a device failure in the memory
JP3609656B2 (ja) 1999-07-30 2005-01-12 株式会社日立製作所 コンピュータシステム
US6591393B1 (en) 2000-02-18 2003-07-08 Hewlett-Packard Development Company, L.P. Masking error detection/correction latency in multilevel cache transfers
US6895527B1 (en) 2000-09-30 2005-05-17 Intel Corporation Error recovery for speculative memory accesses
US6625707B2 (en) 2001-06-25 2003-09-23 Intel Corporation Speculative memory command preparation for low latency
US6941493B2 (en) 2002-02-27 2005-09-06 Sun Microsystems, Inc. Memory subsystem including an error detection mechanism for address and control signals
US6901532B2 (en) * 2002-03-28 2005-05-31 Honeywell International Inc. System and method for recovering from radiation induced memory errors
US7219294B2 (en) 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
US7143207B2 (en) 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0754483B2 (ja) * 1986-07-15 1995-06-07 富士通株式会社 メモリアクセス方式
KR20060023304A (ko) * 2004-09-09 2006-03-14 삼성전자주식회사 커맨드 신호의 에러 검출 기능을 가지는 메모리 모듈

Also Published As

Publication number Publication date
EP2036095B1 (en) 2011-11-23
WO2008005695A2 (en) 2008-01-10
CN101479807A (zh) 2009-07-08
TWI341459B (en) 2011-05-01
TW200811650A (en) 2008-03-01
ATE534953T1 (de) 2011-12-15
WO2008005695A3 (en) 2008-02-21
EP2036095A4 (en) 2009-08-05
US20080005647A1 (en) 2008-01-03
EP2036095A2 (en) 2009-03-18
KR20090028566A (ko) 2009-03-18
US7627804B2 (en) 2009-12-01
CN101479807B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
KR101026280B1 (ko) 추론적 코맨드를 사용하는 칩 및 시스템
US7299313B2 (en) System, method and storage medium for a memory subsystem command interface
US9389953B2 (en) Semiconductor memory device and system conducting parity check and operating method of semiconductor memory device
CN102096611B (zh) 用于存储器装置中的差错管理的方法和系统
US11379123B2 (en) Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system
KR102426619B1 (ko) 영구 메모리 시스템 등을 위한 데이터 무결성
US7810013B2 (en) Memory device that reflects back error detection signals
US7669027B2 (en) Memory command delay balancing in a daisy-chained memory topology
US7624310B2 (en) System and method for initializing a memory system, and memory device and processor-based system using same
KR20090077015A (ko) 듀얼-모드 메모리 상호접속을 포함하는 메모리 제어기
US8726139B2 (en) Unified data masking, data poisoning, and data bus inversion signaling
KR20110003328A (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
US4962501A (en) Bus data transmission verification system
JP2022551782A (ja) SerDes機能を備えたマルチダイパッケージ内でのスキャンデータ転送の実行
JP4786941B2 (ja) ハブ、メモリモジュール、及びメモリシステムとこれを通じた読み込み方法及び書き込み方法
US9043578B2 (en) Apparatuses and methods for providing data from multiple memories
WO2006036569A2 (en) Latency normalization by balancing early and late clocks
CN112349342B (zh) 维护ddr5内存子系统的维护装置、方法、设备和存储介质
KR960038645A (ko) 상대방 메모리를 이용한 두 프로세서간 비동기 직렬 통신 송/수신장치
CN104471645A (zh) 采用检错编码的事务的存储器设备的定时优化
US9837169B2 (en) Memory system for rapidly testing data lane integrity

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160303

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 9