KR20090051715A - 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책 - Google Patents

메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책 Download PDF

Info

Publication number
KR20090051715A
KR20090051715A KR1020080115184A KR20080115184A KR20090051715A KR 20090051715 A KR20090051715 A KR 20090051715A KR 1020080115184 A KR1020080115184 A KR 1020080115184A KR 20080115184 A KR20080115184 A KR 20080115184A KR 20090051715 A KR20090051715 A KR 20090051715A
Authority
KR
South Korea
Prior art keywords
crc
logic
read
memory
write
Prior art date
Application number
KR1020080115184A
Other languages
English (en)
Other versions
KR101031436B1 (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 KR20090051715A publication Critical patent/KR20090051715A/ko
Application granted granted Critical
Publication of KR101031436B1 publication Critical patent/KR101031436B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

전반적으로, 본 발명의 실시예들은 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책(reliability, availability, and serviceability solutions)을 위한 시스템, 방법 및 장치에 관한 것이다. 소정의 실시예들에서, 호스트는 초기화 동안, 메모리 서브 시스템의 구성을 결정한다. 호스트는 메모리 서브시스템의 구성에 적어도 부분적으로 근거하여, 기입 CRC 메카니즘 및 판독 CRC 메카니즘을 선택한다. 다른 실시예들이 설명되고 주장된다.
메모리 기술, DRAM, 메모리 서브시스템, CRC, CRC 커버리지

Description

메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책{RELIABILITY, AVAILABILITY, AND SERVICEABILITY SOLUTIONS FOR MEMORY TECHNOLOGY}
전반적으로, 본 발명의 실시예들은 정보 기술의 분야에 관한 것으로서, 특히, 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책(reliability, availability, and serviceability solutions)을 위한 시스템, 방법 및 장치에 관한 것이다.
메모리 서브시스템은 여러 가지의 이유로 인해 오류들의 영향을 받기 쉽다. 이들 오류가 적절하게 처리되지 않는 경우, 컴퓨팅 시스템의 오동작이 초래될 수 있다. 과도(transient) (또는 소프트(soft)) 오류들과 같은 오류들을 완화시키기 위해, ECC(Error correcting code)들 형태의 중복 정보를 이용할 수 있다. 전송 레이트가 증가되고, 전압 스윙(voltage swing)이 감소됨에 따라, 메모리 오류의 위험이 증가된다.
전반적으로, 본 발명의 실시예들은 소정의 세트의 용적 제약(volumetric constraints)내에서 RAS(reliability, availability, and serviceability) 해결책들을 제공하는 시스템, 방법 및 장치에 관한 것이다. 일부 실시예에서, 컴퓨팅 시스템은 기입 CRC 커버리지 (또는 간단히 기입 CRC) 및 판독 CRC 커버리지 (또는 간단히 판독 CRC)에 대해 상이한 CRC 방안들을 이용한다. 이들 CRC 방안은 서버 및 클라이언트 마켓 세그먼트들에서 현재 이용되고 있는 동일한 DRAM 형태 계수(form factor)들을 유지하면서 제공될 수 있다. 예를 들어, 일부 실시예에서, 커넥터에 대한 추가적인 핀(pin)을 부가하지 않고서도, 판독 및/또는 기입 데이터에 대해 CRC 커버리지가 제공된다. 이하에 더 기술되는 바와 같이, 이것은 데이터 프레임들에 UI(user interval)들을 추가하고/하거나 현재 존재하는 핀들을 통해 CRC 비트들을 멀티플렉싱함으로써 달성될 수 있다.
본 발명의 실시예들은 제한을 위해서가 아닌, 예로써 도시된 것이며, 첨부 도면들에서의 유사한 참조 번호는 유사한 요소들을 나타낸다.
도 1은 본 발명의 실시예에 따른, 기입 CRC 방안의 선택된 양상들을 도시하는 블록도이다. 예시된 실시예에서, 시스템(100)은 호스트(110)(예를 들면, 메모리 컨트롤러), 커넥터(120), 메모리 모듈(130) 및 메모리 장치(예를 들면, DRAM)(140)를 포함한다. 설명의 용이성을 위해, 도 1은 하나의 커넥터(120), 메모리 모듈(130) 및 메모리 장치(140)만을 도시한다. 그러나, 각각의 모듈(130)은 다수(예를 들면, 9, 18개 등)의 메모리 장치(140)를 포함할 수 있음을 이해할 것이다. 마찬가지로, 시스템(100)은 다수의 커텍터, 모듈 등을 포함할 수 있다. 대안 적인 실시예에서, 시스템(100)은 보다 많은 요소들, 보다 적은 요소들 및/또는 상이한 요소들을 포함할 수 있다.
호스트(110)는 메모리 장치(140)로의/로부터의 데이터 전송을 제어한다. 일부 실시예에서, 호스트(110)는 하나 이상의 프로세서와 동일한 다이(die) 상에 집적된다. 호스트(110)는 CRC 판정 로직(112) 및 기입 CRC 로직(114)을 포함한다. 일부 실시예에서, CRC 판정 로직(112)은, 예를 들면, 초기화 동안, 시스템(100)에 대한 기입 CRC 및 판독 CRC 방안들을 결정한다. 예를 들어, CRC 판정 로직(112)은 (BIOS(basis input/output) 및/또는 SPD(serial presence detect)와 같은) 비휘발성 메모리를 판독하여, 시스템(100)의 구성을 결정할 수 있다. 그 다음, CRC 판정 로직(112)은 시스템(100)의 구성에 적어도 부분적으로 근거하여 기입 CRC 및/또는 판독 CRC를 선택할 수 있다. 예를 들어, 모듈(130)이 RDIMM(registered dual-inline memory module)인 경우, CRC 판정 로직(112)은 RDIMM 구성에 적합한 기입 CCR 및/또는 판독 CRC를 선택할 수 있다. 유사하게, 모듈(130)이 UDIMM(unregistered dual-inline memory module)인 경우, CRC 판정 로직(112)은 UDIMM 구성에 적합한 기입 CRC 및/또는 판독 CRC를 선택할 수 있다. 일부 실시예에서, 다수의 상이한 시스템 구성들(예를 들면, RDIMM, UDIMM 등)에 대해 동일한 커넥터(120)가 이용될 수 있다. 또한, 커넥터(120)는 이전 세대의 메모리 기술을 위해 개발되었던 동일한 형태 계수를 가질 수 있다(예를 들면, 커넥터(120)는 대략 5.25 인치의 길이를 가질 수 있다).
일부 실시예에서, 기입 CRC 로직(114)은 CRC 생성 로직 및/또는 프레이 밍(framing) 로직을 포함한다. CRC 생성 로직은, 기입 데이터가 오류를 포함하는지 여부를 결정하기 위해, 메모리 장치(140)가 국부적으로 생성된 체크섬과 비교할 수 있는 CRC를 생성한다. 프레이밍 로직은, CRC 비트들의 M개의 UI들(106)이 기입 데이터 프레임내의 기입 데이터의 N개의 UI들(108)에 추가되는 모드에서 호스트(110)가 동작하도록 할 수 있다. 일부 실시예에서, M은 2이고, N은 8이다. 대안적인 실시예에서, M 및/또는 N은 다른 값들을 가질 수 있다.
일부 실시예에서, 기입 CRC 로직(114)은 하나보다 많은 기입 CRC 방안을 지원할 수 있다. 예를 들어, 전술한 방안 이외에도, 기입 CRC 로직(114)은 (데이터 스트로브 핀과 같은) 기존의 핀에 대해 기입 CRC 비트들을 멀티플렉싱하는 것을 지원할 수 있다. "기존의 핀" 이라는 용어는, CRC를 지원하지 않는 이전 세대의 DDR(double data rate) 메모리 기술에 의해 특정되는 핀을 지칭한다. 또한, "기존의 핀" 이라는 용어는, RDIMM 모드에서 시스템에 의해 이용되고, UDIMM 모드에서는 필요하지 않은 핀을 지칭한다.
예시된 실시예에서, CRC 판정 로직(112) 및 기입 CRC 로직(114)은 단일의 로직 블록으로서 각각 도시된다. 그러나, 로직(112) 및/또는 로직(114)은 다른 로직 블록들로 서브합(subsume)되고/되거나 다수의 다른 로직 블록들로 분할될 수 있다.
C/A(Command/Address) 레인(lane)들(102)은 코맨드 및 어드레스를 메모리 장치(140)로 전송하기 위한 복수의 레인들을 제공한다. DQ 레인들(104)은 양방향 판독/기입 데이터 버스를 제공한다. 본 발명의 실시예들은 x4, x8, x16, x32 등을 포함하는 거의 모든 데이터 폭의 메모리 장치들과 함께 이용될 수 있다.
메모리 장치(140)는 메모리 코어(142)(예를 들면, 메모리 어레이) 및 기입 CRC 로직(144)을 포함한다. 기입 CRC 로직(144)은 메모리 장치(140)가 하나 이상의 기입 CRC 방안들을 지원할 수 있도록 하는 로직을 포함한다. 일부 실시예에서, 기입 CRC 로직(144)은 기입 데이터 프레임 내의 데이터 비트들의 N개의 UI들로부터 기입 CRC 비트들의 M개의 UI들을 분리하는 로직을 포함한다. 또한, 기입 CRC 로직(144)은 국부적 CRC 생성기, 및 수신된 기입 CRC 비트들을 국부적으로 생성된 체크섬과 비교하는 비교 로직을 포함할 수 있다.
일부 실시예에서, 기입 CRC 로직(144)은 하나보다 많은 기입 CRC 방안을 지원할 수 있다. 예를 들어, 전술한 방안 이외에도, 기입 CRC 로직(144)은 (데이터 스트로브 핀과 같은) 기존의 핀에 대해 기입 CRC 비트들의 디멀티플렉싱을 지원할 수 있다. 다른 실시예들에 있어서, 기입 CRC 로직(144)은 다른 기입 CRC 방안들을 지원할 수 있다.
도 2는 본 발명의 실시예에 따른, 판독 CRC 방안의 선택된 양상들을 도시하는 블록도이다. 시스템(200)은 호스트(110)(예를 들면, 메모리 컨트롤러), 커넥터(120), 메모리 모듈(130) 및 메모리 장치(예를 들면, DRAM)(140)를 포함한다. 대안적인 실시예에서, 시스템(200)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다.
호스트(110)는 하나 이상의 판독 CRC 방안을 지원하기 위해 판독 CRC 로직(216)을 포함한다. 판독 CRC 로직(216)은 메모리 장치(140)에 기입된 데이터 비트들에 대한 ECC 커버리지를 제공하기 위해 (예를 들어, 소프트 오류들에 대하여 보호하기 위해) ECC 로직을 포함할 수 있다. 일부 실시예들에서, 호스트(110) 및 메모리 장치(140)는 판독 동작들 동안 (예를 들어, 인에이블/디스에이블 로직(246)을 이용하여) 그들의 CRC 능력들을 디스에이블하고 ECC 로직에 의존하여 판독 데이터를 커버한다. ECC 로직이 오류를 표시하면, (일부 실시예들에서는) 판독 동작이 리플레이될 수 있다. 오류가 계속되면, ECC 로직은 그것을 정정하고자 할 수 있다.
일부 실시예들에서, 판독 CRC 로직(216)은 하나보다 많은 판독 CRC 방안을 지원한다. 예를 들어, 전술한 방안에 부가하여, 판독 CRC 로직(216)은 (데이터 스트로브 핀과 같은) 기존의 핀에 대해 판독 CRC 비트들을 디멀티플렉싱하는 것을 지원할 수 있다. 다른 실시예들에서, 판독 CRC 로직(216)은 다른 판독 CRC 방안을 지원할 수 있다.
도시된 실시예에서, 메모리 장치(140)는 하나 이상의 판독 CRC 방안을 지원하기 위해 판독 CRC 로직(248)을 포함한다. 판독 CRC 로직(248)은 호스트(110)에 반환되는 판독 데이터를 커버하기 위해 체크섬(예를 들어, CRC 비트들)을 생성하는 CRC 생성기를 포함할 수 있다. 또한, 판독 CRC 로직(248)은 기존의 핀(예를 들어, 핀(250)과 같은 데이터 스트로브 핀)에 대해 CRC 비트들을 멀티플렉싱하는 로직을 포함할 수 있다. 용어 "핀"은 전기 신호들을 도통시키기에 적합한 임의의 전기적 컨택트(예를 들어, 패드, 볼, 핀 등)를 광범위하게 지칭한다. 대안의 실시예들에서, 판독 CRC 로직(248)은 CRC 비트들의 M개의 UI들을 데이터 비트들의 N개의 UI들에 추가하여 판독 데이터 프레임을 형성하는 로직을 포함할 수 있다. 또 다른 대 안의 실시예들에서, 판독 CRC 로직(248)은 다른 판독 CRC 방안들을 지원할 수 있다.
도 3은 본 발명의 실시예에 따른, RDIMM을 포함하는 메모리 서브시스템에서의 CRC 방안의 선택 양상들을 도시하는 블록도이다. 시스템(300)은 호스트(11)(예를 들어, 메모리 컨트롤러) 및 RDIMM(320)을 포함한다. 대안의 실시예들에서, 시스템(300)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다. 일부 실시예들에서, 시스템(300)은 서버이다.
RDIMM(320)은 다수(예를 들어, 9, 18개 등)의 DRAM(322) 및 레지스터(또는 버퍼)(324)를 포함한다. 하나 이상의 DRAM(322)은 호스트(110) 상에 로직(216)에 의해 생성된 ECC 비트들을 저장한다. 일부 실시예들에서, RDIMM(320)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다.
시스템 초기화 시, CRC 판정 로직(112)은 비휘발성 메모리(예를 들어 SPD(326))에 액세스하여 시스템(300)의 구성을 적어도 부분적으로 결정할 수 있다. CRC 판정 로직(112)은 시스템(300)의 구성을 결정한 후에 판독 CRC 방안 및 기입 CRC 방안을 선택할 수 있다. 도시된 실시예에서, CRC 판정 로직(112)은 호스트(110)가 RDIMM(320)과 결합되어 있는지(그리고 서버로서 구성될 수 있는지)를 결정한다. 판정 로직(112)은 그 후 CRC 비트들의 M개의 UI들(106) 및 데이터 비트들의 N개의 UI들을 프레이밍하여 기입 데이터 프레임을 형성하는 것을 포함하는 기입 CRC 방안을 선택한다. DRAM(322)은 CRC 비트들의 M개의 UI들을 분리하고 그들을 국부적으로 생성된 체크섬과 비교하는 대응 로직을 포함할 수 있다. 판정 로 직(112)은 또한 판독 CRC 방안을 선택할 수 있다. 일부 실시예들에서, 호스트(110)는 ECC에 대한 지원을 포함하므로, 판정 로직(112)은 판독 방향으로의 오류 커버리지를 제공하기 위해 ECC 비트들이 의존되는 방안을 선택할 수 있다. 대안의 실시예들에서, 판정 로직(112)은 상이한 판독 CRC 방안 및/또는 상이한 기입 CRC 방안을 선택할 수 있다. 예를 들어, 일부 실시예들에서, 판독 CRC 방안은 CRC 비트들의 M개의 UI들을 판독 데이터 프레임에 추가하는 것을 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른, UDIMM을 포함하는 메모리 서브시스템에서의 CRC 방안의 선택된 양상들을 도시하는 블록도이다. 시스템(400)은 호스트(110)(예를 들어, 메모리 컨트롤러) 및 UDIMM(420)을 포함한다. 대안의 실시예들에서, 시스템(400)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다. 일부 실시예들에서, 시스템(400)은 클라이언트 시스템이다.
UDIMM(420)은 다수(예를 들어, 9, 18개 등)의 DRAM(422) 및 SPD(426)를 포함한다. 대안의 실시예들에서, UDIMM(420)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다.
시스템 초기화시, CRC 판정 로직(112)은 비휘발성 메모리(예를 들어 SPD(426))에 액세스하여 시스템(400)의 구성을 적어도 부분적으로 결정할 수 있다. CRC 판정 로직(112)은 시스템(400)의 구성을 결정한 후에 판독 CRC 방안 및 기입 CRC 방안을 선택할 수 있다. 도시된 실시예에서, CRC 판정 로직(112)은 호스트(110)가 UDIMM(420)과 결합되어 있는지(그리고 클라이언트로서 구성될 수 있는지)를 결정한다. 판정 로직(112)은 그 후 CRC 비트들의 M개의 UI들(106) 및 데이 터 비트들의 N개의 UI들(108)을 프레이밍하여 기입 데이터 프레임을 형성하는 것을 포함하는 기입 CRC 방안을 선택한다. DRAM(422)은 CRC 비트들의 M개의 UI들을 분리하고 그들을 국부적으로 생성된 체크섬과 비교하는 대응 로직을 포함할 수 있다. 판정 로직(112)은 또한 판독 CRC 방안을 선택할 수 있다. 일부 실시예들에서, 판독 CRC 방안은 하나 이상의 기존의 핀들(예를 들어, 도 2에 도시된 핀(250))에 대해 CRC 비트들을 멀티플렉싱하는 것을 포함한다. 일부 실시예들에서, 기존의 핀들은 TDQS/TDQS# 핀과 같은 데이터 스트로브 핀이다. 대안의 실시예들에서, CRC 비트들은 상이한 핀 또는 핀들에 대해 멀티플렉싱될 수 있다. DRAM(422)은 핀(들)에서 CRC 비트들을 멀티플렉싱하는 로직을 포함할 수 있고, 호스트(110)는 그 핀(들)으로부터 CRC 비트들을 디멀티플렉싱하는 로직을 포함할 수 있다.
또 다른 대안의 실시예들에서, 판정 로직(112)은 상이한 판독 CRC 방안 및/또는 상이한 기입 CRC 방안을 선택할 수 있다. 예를 들어, 일부 실시예들에서, 판독 CRC 방안은 CRC 비트들의 M개의 UI들을 판독 데이터 프레임에 추가하는 것을 포함할 수 있다. 대안적으로, 시스템(400)은 ECC 커버리지를 지원할 수 있고, 판독 CRC 방안은 ECC 커버리지에 의존할 수 있다.
도 5는 본 발명의 실시예에 따른, x4 및 x8 DRAM(dynamic random access memory device)에 대한 프레임 포맷들의 선택된 양상들을 도시하는 블록도이다. 프레임(510)은 x4 장치에 있어서 CRC 비트들의 2개의 UI가 데이터 비트들의 8개의 UI와 결합되는 본 발명의 실시예에 있어서의 프레임 포맷을 도시한다. 마찬가지로, 프레임(520)은 x8 장치에 있어서 CRC 비트들의 2개의 UI가 데이터 비트들의 8개의 UI와 결합되는 본 발명의 실시예에 있어서의 프레임 포맷을 도시한다. 대안의 실시예들에서, CRC 비트들 및/또는 데이터 비트들에 대하여 상이한 수의 UI들이 이용될 수 있다.
도 6은 본 발명의 실시예에 따른, x16 DRAM에서의 프레임 포맷의 선택된 양상들을 도시하는 블록도이다. 프레임(600)은 x16 장치에 있어서 CRC 비트들의 2개의 UI가 데이터 비트들의 8개의 UI와 결합되는 본 발명의 일 실시예에 있어서의 프레임 포맷을 도시한다. 도 6에 도시된 바와 같이, x16 장치 프레임 포맷은 기본적으로 x8 프레임 포맷(예를 들어, 도 5에 도시된 프레임(520))이 2개인 경우이다.
도 7은 본 발명의 실시예에 따른, 데이터 비트들로부터 CRC 비트들을 오프셋하는 선택된 양상들을 도시하는 블록도이다. 일부 실시예들에서, CRC 비트들은 레이턴시(latency)를 향상시키기 위해 데이터 비트로부터 오프셋된다. 예를 들어, 데이터 비트들의 송신은 대응 CRC 비트들이 생성되기 전에 시작할 수 있다. 일부 실시예들에서, 데이터 비트들 사이의 오프셋은 (x4 장치에 있어서) 710 및 (x8 장치에 있어서) 720으로 도시된 프레임의 1/2이다. 대안의 실시예들에서, 오프셋은 상이할 수 있다(또는 전혀 사용되지 않을 수 있다). 별도의 CRC 핀들과 함께 사용하기에 적합한 (데이터 비트들과 CRC 비트들을 구성하기 위한) 다른 프레임 포맷들이 본 발명의 다른 실시예들에서 사용될 수 있다.
도 8은 메모리 서브시스템들의 구성요소들의 형태 계수들을 실질적으로 변경하지 않고, 상이한 마켓 세그먼트들(market segments)에 CRC를 제공하기 위한 방법의 선택된 양상들을 도시하는 흐름도이다. 처리 블록(802)을 참조하면, CRC 판정 로직(예를 들면, 도 1의 112)은 시스템의 구성을 결정한다. 이러한 처리는 시스템의 요소들 및 그 요소들이 상호 연결되는 방식에 관한 정보의 액세스를 포함할 수 있다. 일부 실시예들에서, 판정 로직은 호스트가 RDIMM 또는 UDIMM에 접속되는지를 결정한다.
판정 로직은 시스템의 구성에 적어도 부분적으로 기초하여, 판독 CRC 방안 및 기입 CRC 방안을 선택한다. CRC 방안 선택은 기입 방향 및/또는 판독 방향에 대한 프레임 포맷 선택을 포함할 수 있다. 또한(아니면 대안적으로), CRC 비트들을 하나 이상의 기존의 핀(예를 들어, 데이터 스트로브 핀들)에 멀티플렉싱/디멀티플렉싱할지를 결정하는 것을 포함할 수 있다.
처리 블록(804)을 참조하면, 호스트는 기입 CRC 방안을 제공한다. 일부 실시예들에서, 기입 CRC 방안은 CRC 비트들의 M개의 UI들을 데이터 비트들의 N개의 UI들에 추가하여 기입 데이터 프레임을 생성하는 것을 포함한다. 대안의 실시예들에서, 기입 CRC 방안은 기존의 핀(들)에서 CRC 비트들을 멀티플렉싱/디멀티플렉싱하는 것을 포함한다.
처리 블럭(806)을 참조하면, 호스트는 판독 CRC 방안을 제공한다. 일부 실시예들에서, 판독 CRC 방안은 ECC 로직에 의존하여 판독 데이터 비트들의 커버리지를 제공하는 것을 포함한다. 대안의 실시예들에서, 그것은 CRC 비트들의 M개의 UI들을 데이터 비트들의 N개의 UI들에 추가하여 판독 데이터 프레임을 생성하는 것을 포함한다. 다른 대안의 실시예들에서, 판독 CRC 방안은 기존의 핀(들)에서 CRC 비트들을 멀티플렉싱/디멀티플렉싱하는 것을 포함할 수 있다.
본 발명의 실시예들의 요소들은 머신 실행가능한 명령어들을 저장하기 위한 머신 판독가능 매체로서 제공될 수도 있다. 머신 판독가능 매체는 플래시 메모리, 광학 디스크들, CD-ROM(compact disks-read only memory), DVD(digital versatile/video disks) ROM, RAM(random access memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 자기 또는 광학 카드들, 전파(propagation) 매체 또는 전자 명령어들을 저장하기에 적합한 다른 유형의 머신 판독가능 매체를 포함할 수 있지만, 거기에 한정되지 않는다. 예를 들면, 본 발명의 실시예들은 통신 링크(예를 들면, 모뎀 또는 네트워크 접속)를 경유하여 반송파 또는 다른 전파 매체로 구현된 데이터 신호들을 통해 원격 컴퓨터(예를 들면, 서버)에서 요청 컴퓨터(예를 들면, 클라이언트)로 전달될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
위의 기재에서, 소정의 용어가 본 발명의 실시예들을 설명하기 위해 사용된다. 예를 들어, 용어 "로직"은 하나 이상의 기능을 수행하기 위한 하드웨어, 펌웨어, 소프트웨어(또는 그들의 임의의 조합)를 나타낸다. 예를 들면, "하드웨어"의 예들은 집적 회로, 유한 상태 머신, 또는 심지어 조합 로직을 포함하지만, 거기에 한정되지 않는다. 집적 회로는 마이크로 프로세서, ASIC(application specific integrated circuit), 디지털 신호 처리기, 마이크로컨트롤러 등과 같은 프로세서의 형태를 취할 수 있다.
본 명세서 전반에 걸친 "일 실시예" 또는 "실시예"에 대한 언급은 그 실시예와 관련되어 기술된 특별한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시 예들에 포함된다는 것을 의미함을 이해해야 한다. 그러므로, 본 명세서에서의 다양한 부분에서의 "실시예", "일 실시예", 또는 "대안의 실시예"에 대한 둘 이상의 언급은 반드시 모두 동일한 실시예에 관한 것이 아님이 이해되어야 하고 강조된다. 더욱이, 특정한 특징들, 구조들 또는 특성들은 적합하게 본 발명의 하나 이상의 실시예들에 결합될 수 있다.
유사하게, 본 발명의 실시예들의 앞서의 기술에서, 하나 이상의 다양한 발명의 양상들의 이해를 돕도록 명세서를 간결하게 하기 위해 다양한 특징들이 때때로 단일 실시예, 도면, 또는 기술에 함께 그룹화 되었음을 이해해야 한다. 그러나 이러한 개시 방법은 본 발명이 각 청구범위에 명백히 열거된 것보다 많은 특징들을 필요로 한다는 개념을 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구범위들이 반영하는 바와 같이, 발명의 양상들은 전술된 단일 실시예의 모든 특징보다 적은 데 있다. 그리하여, 상세한 설명 다음의 청구범위들은 이로써 본 상세한 설명에 명백히 포함된다.
도 1은 본 발명의 실시예에 따른, 기입 CRC 방안의 선택된 양상들을 도시하는 블록도,
도 2는 본 발명의 실시예에 따른, 판독 CRC 방안의 선택된 양상들을 도시하는 블록도,
도 3은 본 발명의 실시예에 따른, RDIMM을 포함하는 메모리 서브시스템에서의 CRC 방안의 선택된 양상들을 도시하는 블록도,
도 4는 본 발명의 실시예에 따른, UDIMM을 포함하는 메모리 서브시스템에서의 CRC 방안의 선택된 양상들을 도시하는 블록도,
도 5는 본 발명의 실시예에 따른, x4 및 x8 DRAM에 대한 프레임 포맷들의 선택된 양상들을 도시하는 블록도,
도 6은 본 발명의 실시예에 따른, x16 DRAM에 대한 프레임 포맷의 선택된 양상들을 도시하는 블록도,
도 7은 본 발명의 실시예에 따른, 데이터 비트들로부터 CRC 비트들을 오프셋하는 선택된 양상들을 도시하는 블록도,
도 8은 메모리 서브시스템들의 구성요소들의 형태 계수들을 실질적으로 변경하지 않고, 상이한 마켓 세그먼트들에 CRC를 제공하는 방법의 선택된 양상들을 도시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
112: CRC 판정 로직
120: 커넥터
130: 메모리 모듈
140: 메모리 장치
142: 코어

Claims (15)

  1. 집적 회로로서,
    데이터 비트들의 N개의 사용자 간격(UI)들에 CRC(cyclic redundancy code) 비트들의 M개의 사용자 간격들을 부가함으로써 프레임의 데이터 비트들에 대한 기입 CRC 커버리지를 제공하는 제1 로직; 및
    판독 오류 검출 로직을 제공하여 판독 프레임이 오류 비트를 포함하는지를 결정하는 제2 로직
    을 포함하는 집적 회로.
  2. 제1항에 있어서,
    M은 2이고 N은 8인 집적 회로.
  3. 제1항에 있어서,
    상기 제2 로직은 오류 정정 부호 로직인 집적 회로.
  4. 제1항에 있어서,
    CRC 방안을 선택하는 제3 로직을 더 포함하고, 상기 CRC 방안은 기입 CRC 방안 및 판독 CRC 방안을 포함하는 집적 회로.
  5. 제4항에 있어서,
    상기 기입 CRC 방안은 상기 판독 CRC 방안과는 상이한 집적 회로.
  6. DRAM(dynamic random access memory) 장치로서,
    메모리 어레이;
    상기 메모리 어레이로부터 판독된 데이터 비트들에 대한 CRC 커버리지를 제공하는 주기적 중복 생성(cyclic redundancy generation)(CRC) 로직; 및
    상기 DRAM 장치의 DQS 핀에 대해 상기 CRC 로직에 의하여 제공된 CRC 비트들을 멀티플렉싱하는 멀티플렉싱 로직
    을 포함하는 DRAM 장치.
  7. 제6항에 있어서,
    상기 CRC 로직을 디스에이블하는 디스에이블 로직을 더 포함하는 DRAM 장치.
  8. 호스트 - 상기 호스트는, 데이터 비트들의 N개의 사용자 간격들에 CRC 비트들의 M개의 사용자 간격들을 결합함으로써 기입 프레임의 데이터 비트들에 대한 기입 CRC 커버리지를 제공하는 제1 로직과, 판독 오류 검출 로직을 제공하여 판독 프레임이 오류 비트를 포함하는지를 결정하는 제2 로직을 포함함 -;
    메모리 채널을 경유하여 상기 호스트와 연결되는 메모리 모듈; 및
    상기 메모리 모듈과 연결되는 메모리 장치 - 상기 메모리 장치는 메모리 어 레이를 포함함 -
    를 포함하는 시스템.
  9. 제8항에 있어서,
    상기 메모리 장치는,
    상기 메모리 어레이로부터 판독된 데이터 비트들에 대한 CRC 커버리지를 제공하는 주기적 중복 생성(CRC) 로직; 및
    DRAM 장치의 DQS 핀에 대해 상기 CRC 로직에 의하여 제공된 CRC 비트들을 멀티플렉싱하는 멀티플렉싱 로직
    을 더 포함하는 시스템.
  10. 제9항에 있어서,
    판독 오류 검출 로직을 제공하여 판독 프레임이 오류 비트를 포함하는지를 결정하는 상기 제2 로직은, 상기 호스트의 DQS 핀으로부터 상기 CRC 비트들을 디멀티플렉싱하는 디멀티플렉싱 로직을 포함하는 시스템.
  11. 제10항에 있어서,
    상기 메모리 모듈은 UDIMM(unregistered dual in-line memory module)인 시스템.
  12. 제9항에 있어서,
    상기 메모리 장치는
    상기 CRC 로직을 디스에이블하는 디스에이블 로직을 더 포함하는 시스템.
  13. 컴퓨팅 시스템의 메모리 서브시스템의 구성을 결정하는 단계;
    메모리 서브시스템의 상기 구성에 적어도 부분적으로 근거하여, 기입 CRC 메카니즘을 선택하는 단계; 및
    상기 메모리 서브시스템의 상기 구성에 적어도 부분적으로 근거하여, 판독 CRC 메카니즘 - 상기 기입 CRC 메카니즘은 상기 판독 CRC 메카니즘과 상이함 - 을 선택하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 기입 CRC 메카니즘을 선택하는 단계는,
    기입 프레임 포맷을 선택하는 단계를 포함하고, 상기 기입 프레임 포맷은 데이터 비트들의 N개의 사용자 간격들에 대한 CRC 비트들의 M개의 사용자 간격들을 포함하는 방법.
  15. 제13항에 있어서,
    상기 메모리 서브시스템의 상기 구성에 적어도 부분적으로 근거하여, 판독 CRC 메카니즘을 선택하는 단계는,
    상기 메모리 서브시스템이 UDIMM을 포함하는 경우, 하나 이상의 DQS 핀들에서 판독 CRC 비트들을 멀티플렉싱하는 것을 포함하는 판독 CRC 메카니즘을 선택하는 단계를 포함하는 방법.
KR1020080115184A 2007-11-19 2008-11-19 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책 KR101031436B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/942,621 US8132074B2 (en) 2007-11-19 2007-11-19 Reliability, availability, and serviceability solutions for memory technology
US11/942,621 2007-11-19

Publications (2)

Publication Number Publication Date
KR20090051715A true KR20090051715A (ko) 2009-05-22
KR101031436B1 KR101031436B1 (ko) 2011-04-26

Family

ID=40409870

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115184A KR101031436B1 (ko) 2007-11-19 2008-11-19 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책

Country Status (6)

Country Link
US (2) US8132074B2 (ko)
EP (1) EP2068245B1 (ko)
KR (1) KR101031436B1 (ko)
CN (1) CN101441896B (ko)
AT (1) ATE502333T1 (ko)
DE (1) DE602008005541D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8279948B2 (en) * 2006-12-13 2012-10-02 Rambus Inc. Interface with variable data rate
KR100951567B1 (ko) * 2008-02-29 2010-04-09 주식회사 하이닉스반도체 데이터 전달의 신뢰성을 보장하기 위한 반도체 메모리 장치
KR100929835B1 (ko) * 2008-02-29 2009-12-07 주식회사 하이닉스반도체 안정적인 초기 동작을 수행하는 반도체 메모리 장치
US8639964B2 (en) * 2010-03-17 2014-01-28 Dell Products L.P. Systems and methods for improving reliability and availability of an information handling system
US8738993B2 (en) 2010-12-06 2014-05-27 Intel Corporation Memory device on the fly CRC mode
CN102571478B (zh) * 2010-12-31 2016-05-25 上海宽惠网络科技有限公司 服务器
US8527836B2 (en) * 2011-07-01 2013-09-03 Intel Corporation Rank-specific cyclic redundancy check
US8468423B2 (en) * 2011-09-01 2013-06-18 International Business Machines Corporation Data verification using checksum sidefile
KR101700492B1 (ko) * 2012-03-26 2017-01-26 인텔 코포레이션 에러 검출 코딩된 트랜잭션들을 이용한 메모리 디바이스들에 대한 타이밍 최적화
KR101984902B1 (ko) 2012-09-14 2019-05-31 삼성전자 주식회사 단방향의 리턴 클락 신호를 사용하는 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들을 포함하는 임베디드 멀티미디어 카드 시스템의 동작 방법
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9881656B2 (en) * 2014-01-09 2018-01-30 Qualcomm Incorporated Dynamic random access memory (DRAM) backchannel communication systems and methods
US11061431B2 (en) * 2018-06-28 2021-07-13 Micron Technology, Inc. Data strobe multiplexer
US10546620B2 (en) * 2018-06-28 2020-01-28 Micron Technology, Inc. Data strobe calibration
US11372717B2 (en) 2019-08-30 2022-06-28 Qualcomm Incorporated Memory with system ECC

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519733B1 (en) * 2000-02-23 2003-02-11 International Business Machines Corporation Method and apparatus for high integrity hardware memory compression
US6901551B1 (en) 2001-12-17 2005-05-31 Lsi Logic Corporation Method and apparatus for protection of data utilizing CRC
US20060077750A1 (en) * 2004-10-07 2006-04-13 Dell Products L.P. System and method for error detection in a redundant memory system
US7734980B2 (en) * 2005-06-24 2010-06-08 Intel Corporation Mitigating silent data corruption in a buffered memory module architecture
US7380197B1 (en) * 2005-07-12 2008-05-27 Xilinx, Inc. Circuit and method for error detection
US7587643B1 (en) * 2005-08-25 2009-09-08 T-Ram Semiconductor, Inc. System and method of integrated circuit testing
KR100681429B1 (ko) * 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7734985B2 (en) * 2006-02-27 2010-06-08 Intel Corporation Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
US7844888B2 (en) * 2006-09-29 2010-11-30 Qimonda Ag Electronic device, method for operating an electronic device, memory circuit and method of operating a memory circuit
US7861140B2 (en) * 2006-10-31 2010-12-28 Globalfoundries Inc. Memory system including asymmetric high-speed differential memory interconnect
KR101308047B1 (ko) * 2007-02-08 2013-09-12 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리, 및 이 메모리를위한 명령 디코딩 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang

Also Published As

Publication number Publication date
CN101441896A (zh) 2009-05-27
US20120131414A1 (en) 2012-05-24
US8132074B2 (en) 2012-03-06
US8392796B2 (en) 2013-03-05
US20090132888A1 (en) 2009-05-21
EP2068245B1 (en) 2011-03-16
ATE502333T1 (de) 2011-04-15
DE602008005541D1 (de) 2011-04-28
CN101441896B (zh) 2013-05-29
EP2068245A3 (en) 2009-07-22
EP2068245A2 (en) 2009-06-10
KR101031436B1 (ko) 2011-04-26

Similar Documents

Publication Publication Date Title
KR101031436B1 (ko) 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책
CN111566621B (zh) 使用双通道存储器作为具有间隔的单通道存储器
CN107924698B (zh) Dram设备、错误校正管理的方法和存储器控制器
KR102553704B1 (ko) 에러 타입에 기초하는 ecc의 동적 적용
CN109074851B (zh) 利用额外系统位的内部错误校验和校正(ecc)
CN109785894B (zh) 半导体存储器装置、存储器系统和操作方法
KR101093857B1 (ko) 공통 프레임에서 공유 에러 비트 코드와 함께 데이터 및 데이터 마스크 비트들을 전송하기 위한 시스템, 방법 및 장치
US9972369B2 (en) Memory buffer with data scrambling and error correction
CN115987299A (zh) 错误检测码生成电路以及包括其的存储器系统
JP5301668B2 (ja) インバンドのデータ・マスク・ビットの転送システム、方法、及び装置
KR20120134157A (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
JPWO2007116487A1 (ja) メモリ装置、そのエラー訂正の支援方法、その支援プログラム、メモリ・カード、回路基板及び電子機器
JP2022113100A (ja) メタデータにエラー検出訂正(ecc)ビットを割り当てるためのeccビットの分散
CN111566738A (zh) 存储器系统中的有效和选择性的备用位
CN116783654A (zh) 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras)
KR20210147131A (ko) 반도체 메모리 모듈을 액세스하는 방법
US11437114B1 (en) Reduced error correction code for dual channel DDR dynamic random-access memory
CN113744775A (zh) 存储器装置和包括存储器装置的存储器模块

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: 20170330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 9