KR101251100B1 - 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도 - Google Patents

별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도 Download PDF

Info

Publication number
KR101251100B1
KR101251100B1 KR1020107021286A KR20107021286A KR101251100B1 KR 101251100 B1 KR101251100 B1 KR 101251100B1 KR 1020107021286 A KR1020107021286 A KR 1020107021286A KR 20107021286 A KR20107021286 A KR 20107021286A KR 101251100 B1 KR101251100 B1 KR 101251100B1
Authority
KR
South Korea
Prior art keywords
write
error bit
frame
read
data
Prior art date
Application number
KR1020107021286A
Other languages
English (en)
Other versions
KR20110003328A (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 KR20110003328A publication Critical patent/KR20110003328A/ko
Application granted granted Critical
Publication of KR101251100B1 publication Critical patent/KR101251100B1/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
    • 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
    • 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
    • G06F12/16Protection against loss of memory contents

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)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 실시예들은 일반적으로 별도의 순환 중복 코드(cyclic redundancy code; CRC) 프레임들을 갖는 효율적인 대역내 신뢰도를 위한 시스템, 방법 및 장치에 관한 것이다. 일부 실시예들에서, 메모리 시스템은 데이터 프레임들을 이용하여 호스트와 메모리 디바이스 사이에 데이터를 전송한다. 시스템은 또한 별도의 프레임(예를 들어, CRC 프레임)을 이용하여 데이터 프레임들을 커버하는 CRC 체크섬을 전송한다.

Description

별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도{EFFICIENT IN-BAND RELIABILITY WITH SEPARATE CYCLIC REDUNDANCY CODE FRAMES}
본 발명의 실시예들은 일반적으로 집적 회로 분야에 관한 것으로, 더 구체적으로, 별도의 순환 중복 코드(cyclic redundancy code; CRC) 프레임들을 갖는 효율적인 대역내 신뢰도를 위한 시스템, 방법 및 장치에 관한 것이다.
동적 랜덤 액세스 메모리(dynamic random access memory; DRAM) 채널들에서 정보가 전송되는 레이트(rate)가 계속해서 증가하고 있다. 이러한 점점 더 빠른 전송 레이트는 향상된 에러 커버리지를 위한 메커니즘의 이용을 지시한다. 에러 커버리지를 향상시키는 종래의 방식은 채널에 핀들을 추가하는 것을 수반한다. 현대의 메모리 시스템들에서, DRAM 채널은 핀 억제적이다(pin constrained). 그러므로, 에러 커버리지(error coverage)를 향상시키는 종래의 방식은 현대의 메모리 시스템들에 적합하지 않다.
본 발명의 실시예들은 첨부 도면들에서 한정적으로 설명되는 것이 아니라, 예시적으로 설명되는 것이며, 도면들에서 동일한 참조 번호는 유사한 요소를 가리킨다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태들을 예시하는 고레벨 블록도이다.
도 2는 본 발명의 실시예에 따라 구현된, 메모리 디바이스에 데이터 프레임들 및 별도의 에러 비트 프레임들을 기록하기 위한 프로토콜의 선택된 양태들을 예시한다.
도 3은 본 발명의 실시예에 따라 구현된, 기록 에러 비트 프레임 포맷의 선택된 양태들을 예시한다.
도 4는 본 발명의 실시예에 따라 구현된, x4 디바이스에 대한 기록 에러 비트 프레임 포맷의 선택된 양태들을 예시한다.
도 5는 본 발명의 실시예에 따라 구현된 메모리 디바이스에 대한 기록 데이터 경로의 선택된 양태들을 예시한 블록도이다.
도 6은 본 발명의 실시예에 따라 구현된 메모리 디바이스에 대한 판독 데이터 경로의 선택된 양태들을 예시한 블록도이다.
도 7은 본 발명의 실시예에 따라 구현된 호스트에 대한 기록 데이터 경로의 선택된 양태들을 예시한 블록도이다.
도 8은 본 발명의 실시예에 따라 구현된 호스트에 대한 판독 데이터 경로의 선택된 양태들을 예시한 블록도이다.
도 9는 하나 이상의 데이터 프레임 및 상기 하나 이상의 데이터 프레임을 커버하는 별도의 에러 코드 프레임을 메모리 디바이스에 기록하는 방법의 선택된 양태들을 예시하는 흐름도이다.
본 발명의 실시예들은 일반적으로 별도의 순환 중복 코드(cyclic redundancy code; CRC) 프레임들을 갖는 효율적인 대역내 신뢰도를 위한 시스템, 방법 및 장치에 관한 것이다. 일부 실시예들에서, 메모리 시스템은 데이터 프레임들을 이용하여 호스트와 메모리 디바이스 사이에 데이터를 전송한다. 시스템은 또한 별도의 프레임(예를 들어, CRC 프레임)을 이용하여 데이터 프레임들을 커버하는 CRC 체크섬(checksum)을 전송한다. 데이터 프레임 및 CRC 프레임은 구현예에 따라 길이에 있어 하나 이상의 사용자 간격(user interval; UI)일 수 있다. 예를 들어, 일부 실시예들에서, CRC 프레임의 길이는 4 UI의 배수(x1, x2, ..., xn)일 수 있다. 이러한 실시예들은 예를 들어, 쿼드 레이트 클록킹(quad rate clocking)을 지원할 수 있다. 이하 더 논의되는 바와 같이, 별도의 CRC 프레임의 이용은 메모리 시스템이 대역내 CRC 보호에 대한 효율적인 방식을 지원하게 한다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태들을 예시하는 고레벨 블록도이다. 예시된 실시예에서, 시스템(100)은 호스트(110)(예를 들어, 메모리 컨트롤러) 및 메모리 디바이스(120)(예를 들어, DRAM)를 포함한다. 대안적인 실시예들에서, 시스템(100)은 더 많은 요소들, 더 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다.
메모리 디바이스(120)는 CRC 로직(122)을 포함한다. 본 발명의 실시예들은 송신 에러들에 대한 에러 커버리지(error coverage)를 제공하기 위해 CRC를 이용하는 것에 대하여 설명된다. 그러나, 대안적인 실시예들에서, 상이한 에러 비트 메커니즘이 이용될 수 있다는 것을 알아야 한다. "에러 비트"(예를 들어, CRC 비트)라는 용어는 하나 이상의 데이터 비트에 대한 에러 커버리지를 제공하는 비트를 지칭한다.
일부 실시예들에서, CRC 로직(122)은 메모리 디바이스(120)가 대역내 CRC 메커니즘(예를 들어, DQ 라인들(104)에서)을 지원할 수 있게 한다. "대역내 CRC 메커니즘"이라는 용어는 부가적인 핀들을 추가하지 않고 CRC(또는 다른 에러 비트 스킴)를 지원하는 것을 지칭한다. 예를 들어, CRC 로직(122)은 CRC 체크섬을 체크섬에 의해 커버되는 하나 이상의 데이터 프레임으로부터 별도로 프레이밍하는 로직을 포함할 수 있다. 기록 방향에서, CRC 로직(122)은 메모리 디바이스(120)가 DQ 버스(104)를 통해 수신되는 기록 데이터 프레임으로부터 기록 CRC 프레임을 분리할 수 있게 한다. 수신된 기록 체크섬은 송신 에러를 검사하기 위해 국부적으로 생성된(예를 들어, 메모리 디바이스(120)에서 생성된) 체크섬과 비교될 수 있다. 설명의 용이성을 위해, "인터커넥트" 및 "버스"라는 용어들은 본원에서 상호 교환가능하게 사용된다.
커맨드/어드레스(C/A) 레인들(102)은 메모리 디바이스(120)에 커맨드들 및 어드레스들을 전송하기 위한 복수의 레인을 제공한다. DQ 레인들(104)은 양방향 판독/기록 데이터 버스를 제공한다. 대안적인 실시예들에서, DQ 레인들(104)은 단방향일 수 있다. 설명의 용이성을 위해, 본 발명의 실시예들은 x8 메모리 디바이스와 관련하여 설명된다. 그러나, 본 발명의 실시예들은 x4, x16, x32 등과 같은 다른 디바이스 데이터 폭들을 포함할 수 있다는 것을 알아야 한다.
호스트(110)는 메모리 디바이스(120)로의 그리고 메모리 디바이스(120)로부터의 데이터의 전송을 제어한다. 일부 실시예들에서, 호스트(110)는 하나 이상의 프로세서와 동일한 다이에 집적된다. 다른 실시예들에서, 호스트(110)는 컴퓨팅 시스템의 칩셋의 일부이다. 호스트(110)는 CRC 로직(112)을 포함한다. CRC 로직(112)은 호스트(110)가 대역내 CRC 메커니즘을 지원할 수 있게 한다. 예를 들어, CRC 로직(112)은 호스트(110)가 데이터 비트들 및 대응하는 CRC 비트들을 별도로 프레이밍할 수 있게 한다. 그 결과로 생긴 데이터 프레임들 및 대응하는 CRC 프레임들은 DQ 버스(104)를 통해 메모리 디바이스(120)에 전송된다. 판독 방향에서, 호스트(110)는 송신된 데이터가 손상되었는지를 판정하기 위해 메모리 디바이스(120)로부터의 CRC 체크섬과 비교될 수 있는 로컬 CRC 체크섬을 생성한다.
DQ 버스(104) 상의 전송 레이트가 증가함에 따라, 송신 에러들을 완화하기 위한 CRC 보호에 대한 요구가 커지고 있다. CRC를 지원하는 종래의 방식은 8개의 데이터 핀당 하나의 여분의 핀을 부가하는 것을 포함한다. 그러나, 예시된 실시예에서, CRC 체크섬들은 (DQ 버스(104)를 통해) 대역내 전송되기 때문에 부가적인 핀들을 추가할 필요가 없다.
호스트(110)는 메모리 디바이스(120)와의 데이터의 전송을 제어하기 위해 복수의 상이한 커맨드를 발행할 수 있다. 예를 들어, 데이터를 전송하는 데 이용되는 기록 커맨드는 "W_d"로 표시된다. 일부 실시예들에서, 기록 CRC 프레임(예를 들어, W_crc)을 전송하기 위해 새로운 커맨드 인코딩이 정의된다. 하나 이상의 데이터 프레임 및 연관된 CRC 프레임을 전송하는 단일 기록 커맨드가 또한 정의될 수 있다(예를 들어, W_d_crc).
유사하게, 판독 데이터 커맨드는 "R_d"로 표시된다. 판독 CRC 프레임(예를 들어, R_crc)을 전송하기 위해 새로운 커맨드 인코딩이 정의된다. 호스트는 (선택적으로) 단일 커맨드(예를 들어, R_d_crc)를 이용하여 판독 데이터와 함께 판독 CRC 프레임을 요청할 수 있다.
도 2는 본 발명의 실시예에 따라 구현된, 메모리 디바이스에 데이터 프레임들 및 별도의 에러 비트 프레임들을 기록하기 위한 프로토콜의 선택된 양태들을 예시한다. 도해(200)는 10 UI 프레임들(202)을 이용한 8 데이터 전송들을 도시한다. 이것은 트랜잭션(204)을 완료하는 데 80 UI가 걸린다. 도 2의 하부는 8 UI 데이터 프레임들(206) 및 끝에 하나의 CRC 프레임(208)을 이용하는 동일한 트랜잭션을 도시한다. CRC 프레임(208)은 8 데이터 전송들에 대응하는 CRC 비트들을 포함한다. CRC 프레임의 제1 UI(210)는 제1 데이터 프레임(예를 들어, 206A)에 대응하는 CRC 비트들을 갖고, 제2 CRC UI(212)는 제2 데이터 프레임(206B)에 대응하는 등, 그외 마찬가지로 대응한다. 예시된 실시예에서, 이것은 8 데이터 프레임들 및 하나의 CRC 프레임(214)을 전송하는 데 72 UI가 걸린다. 이것은 동일한 트랜잭션을 완료하기 위해 80 UI(202)를 이용하는 기준 경우에 비해 10% 향상된 것이다. 기록 데이터 프레임들은 단지 예시를 위해 연속적인 것으로 도시된다. 기록 프레임들에는 판독 프레임들이 산재되거나 및/또는 퍼질 수 있다.
일부 실시예들에서, 호스트는 UI의 서브세트만이 이용되는 CRC 프레임들을 전송할 수 있다. 즉, UI의 일부는 CRC 비트들을 포함하고, 일부는 포함하지 않는다. 도 3은 예를 들어, 4개의 기록 데이터 프레임들(302) 및 1개의 기록 CRC 프레임(304)을 포함하는 기록 트랜잭션(300)을 예시한다. CRC 프레임(304)은 8 UI를 갖지만, UI 중 4개만이 기록 데이터 프레임들(302) 내의 데이터를 커버하기 위해 CRC 비트들(306)을 포함한다. 나머지 4 UI(308)는 이용되지 않는 데이터를 포함한다. 예시된 실시예에서, 이용되지 않는 UI(308)는 Vddq 종단 버스에서 전력 소비를 줄이기 위해 모두 1을 포함한다. 일부 실시예들에서, 4 전송들을 포함하는 트랜잭션(예를 들어, 트랜잭션(300))은 40 UI를 이용한다. 이것은 10 UI 프레임들을 이용하는 유사한 트랜잭션이 이용하는 동일한 수의 UI이다.
도 2 및 도 3은 DRAM들이 x8 디바이스들인 실시예들을 예시한다. 대안적인 실시예들에서, 상이한 폭을 갖는 디바이스들이 이용될 수 있다(예를 들어, x8, x16, x32 등). 일부 실시예들에서, x16 폭 디바이스들은 병렬의 2개의 x8 디바이스로서 취급된다. 그러므로, x8 및 x16 디바이스들에 대한 프로토콜은 일부 실시예들에서 실질적으로 동일하다. 일부 실시예들에서, 8 비트의 CRC는 x8 및 x16 디바이스들 둘다에 대해 64 비트의 데이터를 커버한다. x16 데이터 프레임은 데이터의 상부 절반을 커버하는 8 비트 CRC 및 데이터의 하부 절반을 커버하는 다른 8 비트 CRC를 갖는 128 비트의 데이터를 갖는다.
전술한 실시예들은 8 UI 폭인 CRC 프레임과 관련하여 논의된다. 대안적인 실시예들에서, CRC 프레임은 (예를 들어, 효율성을 향상시키기 위해) 길이가 더 작을 수 있다. 예를 들어, 일부 실시예들에서, 4 UI 폭 CRC 프레임이 구현될 수 있다. 이러한 실시예들에서, CRC 레지스터들은 32 비트 레지스터들일 수 있다. 또 다른 대안적인 실시예들에서, CRC 프레임은 길이가 4 UI의 배수이다. 예를 들어, (4 UI 및 8 UI 이외에,) CRC 프레임의 길이는 12 UI, 16 UI, 20 UI 등일 수 있다. 그러나, 일부 실시예들에서, 12 UI 길이 CRC 프레임을 이용하면, 결과적으로 피크 대역폭에서 성능 손실이 있을 수 있다(예를 들어, ~33%).
도 4는 본 발명의 실시예에 따라 구현된, x4 디바이스에 대한 기록 에러 비트 프레임 포맷의 선택된 양태들을 예시한다. 도해(400)는 10 UI 프레임들(402)을 이용하는 4 데이터 전송들을 도시한다. 이것은 트랜잭션(408)을 완료하는 데 40 UI가 걸린다. 도 4의 하부는 8 UI 데이터 프레임들(404) 및 끝에 하나의 CRC 프레임(406)을 이용하는 동일한 트랜잭션을 도시한다. CRC 프레임(406)은 8 데이터 전송들에 대응하는 CRC 비트들을 포함한다. CRC 프레임(406)의 처음 2개의 UI는 제1 데이터 프레임(예를 들어, 410)에 대응하는 CRC 비트들을 갖고, CRC 프레임의 두번째 2개의 UI는 제2 데이터 프레임(412)에 대응하는 등, 그외 마찬가지로 대응한다. 예시된 실시예에서, 이것은 8 데이터 프레임들 및 하나의 CRC 프레임을 전송하는 데 40 UI가 걸린다. 기록 데이터 프레임들은 단지 예시를 위해 연속적인 것으로 도시된다. 기록 프레임들에는 판독 프레임들이 산재되거나 및/또는 퍼질 수 있다.
도 5는 본 발명의 실시예에 따라 구현된 메모리 디바이스에 대한 기록 데이터 경로의 선택된 양태들을 예시한 블록도이다. 메모리 디바이스(500)는, 특히, 커맨드 디코드 로직(502), 수신 프레이밍 유닛(504), 포스팅된(posted) 기록 버퍼(506)(옵션), 메모리 어레이(508), CRC 엔진(510), CRC 레지스터(512), 및 비교기(514)를 포함한다. 대안적인 실시예들에서, 메모리 디바이스(500)는 더 많은 요소들, 더 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다. 일부 실시예들에서, 메모리 디바이스(500)는 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM) 디바이스이다.
동작에서, 메모리 디바이스(500)는 C/A 버스(예를 들어, 도 1에 도시된 C/A 버스(102)) 상에서 호스트(예를 들어, 호스트(110))로부터 기록 커맨드를 수신한다. 수신 프레이밍 유닛(504)은 DQ 버스(도 1에 도시된 DQ 버스(104))로부터 기록 데이터 프레임들을 수신한다. 기록 데이터는 메모리 어레이(508)에 기록된다. 일부 실시예들에서, 기록 데이터는 먼저 포스팅된 기록 버퍼(posted write buffer; PWB)(506)에 포스팅되고, 그 다음에 메모리 어레이(508)에 기록된다. 다른 실시예들에서, 기록 데이터는 메모리 어레이(508)에 직접 기록된다.
기록 데이터는 또한 CRC 체크섬을 계산하는 CRC 생성기(510)에 제공된다. 일부 실시예들에서, 6 레벨의 XOR 트리들을 이용하여 CRC 체크섬을 계산한다. 대안적인 실시예들에서, 상이한 수의 XOR 트리들 또는 상이한 알고리즘을 이용하여 CRC 체크섬을 생성할 수 있다. 일부 실시예들에서, 기록 데이터 경로 및 판독 데이터 경로는 동일한 XOR 트리들을 이용하여 CRC 체크섬을 생성한다.
CRC 생성기(510)는 CRC 레지스터(512)에 CRC 체크섬을 저장한다. 일부 실시예들에서, CRC 레지스터(512)는 64 비트 레지스터이다. CRC 레지스터(512)의 내용은 논리적 1들로 초기화될 수 있다. 수신 프레이밍 유닛(504)은 수신된 CRC 프레임으로부터의 CRC 체크섬을 비교기(514)에 제공한다. 비교기(514)는 수신된 체크섬을 국부적으로 생성된 체크섬과 비교한다. 체크섬들이 일치하지 않는다면, 에러 신호가 호스트에 전송된다. 호스트는 에러 신호를 수신하면 데이터(및 연관된 CRC 프레임)를 재전송할 수 있다.
도 6은 본 발명의 실시예에 따라 구현된 메모리 디바이스에 대한 판독 데이터 경로의 선택된 양태들을 예시한 블록도이다. 메모리 디바이스(600)는, 특히, 메모리 어레이(602), 송신(TX) 프레이밍 유닛(604), CRC 생성기(606), CRC 레지스터(608), 및 CRC 디스에이블(disable) 로직(610)을 포함한다. 대안적인 실시예들에서, 메모리 디바이스(600)는 더 많은 요소들, 더 적은 요소들, 및/또는 상이한 요소들을 포함할 수 있다. 일부 실시예들에서, 메모리 디바이스(600)는 DRAM 디바이스이다.
동작에서, 메모리 디바이스(600)는 C/A 버스(예를 들어, C/A 버스(102)) 상에서 호스트(예를 들어, 호스트(110))로부터 판독 커맨드를 수신한다. 데이터는 메모리 어레이(602)로부터 판독되어 TX 프레이밍 유닛(604)에 제공된다. 판독 데이터는 또한 CRC 체크섬을 계산하는 CRC 생성기(606)에 제공된다. 일부 실시예들에서, 6 레벨의 XOR 트리들을 이용하여 CRC 체크섬을 계산한다. 대안적인 실시예들에서, 상이한 수의 XOR 트리들 또는 상이한 알고리즘을 이용하여 CRC 체크섬을 생성할 수 있다. 일부 실시예들에서, 판독 데이터 경로 및 기록 데이터 경로는 동일한 XOR 트리들을 이용하여 CRC 체크섬을 생성한다.
CRC 생성기(606)는 CRC 레지스터(608)에 CRC 체크섬을 저장한다. 일부 실시예들에서, CRC 레지스터(608)는 64 비트 레지스터이다. CRC 레지스터(608)의 내용은 논리적 1들로 초기화될 수 있다. TX 프레이밍 유닛(604)은 생성기(606)로부터 체크섬 비트들을 수신하여 그것들을 CRC 프레임으로 프레이밍한다. 그러므로, 메모리 디바이스(600)는 DQ 버스(612)를 통해 호스트에 하나 이상의 판독 데이터 프레임 및 대응하는 CRC 프레임을 별도로 전송할 수 있다.
메모리 디바이스(600)는 CRC 디스에이블 로직(610)을 포함한다. 일부 실시예들에서, CRC 디스에이블 로직(610)은 메모리 디바이스(600)에 의한 CRC의 이용을 디스에이블한다. 그러므로, 일부 실시예들에서, 메모리 디바이스(600)는 판독 데이터와 함께 CRC 체크섬을 이용하도록 구성될 수 있거나, 판독 데이터와 함께(및/또는 기록 데이터와 함께) CRC 체크섬을 이용하지 않도록 구성될 수 있다. 일부 실시예들에서, CRC 디스에이블 로직은 모드 레지스터 세트(mode register set; MRS)의 일부를 포함한다.
도 7은 본 발명의 실시예에 따라 구현된 호스트에 대한 기록 데이터 경로의 선택된 양태들을 예시한 블록도이다. 호스트(700)는, 특히, 코어 로직(702), CRC 생성기(704), CRC 레지스터(706), 및 송신(TX) 프레이밍 유닛(708)을 포함한다. 대안적인 실시예들에서, 호스트(700)는 더 많은 요소들, 더 적은 요소들, 및/또는 상이한 요소들을 포함한다. 코어 로직(702)은 예를 들어, 송신 에러가 발생했을 때 동작들을 재시도하는 재시도 로직뿐만 아니라, 메인 메모리에의 판독들 및 기록들을 스케줄링하는 스케줄링 로직을 포함한다.
동작에서, 코어 로직(702)은 예를 들어, 판독 동작을 스케줄링하고, 기록 데이터를 TX 프레이밍 유닛(708) 및 CRC 생성기(704)에 제공한다. CRC 생성기(704)는 기록 데이터에 기초하여 CRC 체크섬을 생성하고, CRC 체크섬을 CRC 레지스터(706)에 저장한다. 일부 실시예들에서, 6 레벨의 XOR 트리들을 이용하여 CRC 체크섬을 계산한다. 대안적인 실시예들에서, 상이한 수의 XOR 트리들 또는 상이한 알고리즘을 이용하여 CRC 체크섬을 생성할 수 있다. 일부 실시예들에서, 기록 데이터 경로 및 판독 데이터 경로는 동일한 XOR 트리들을 이용하여 CRC 체크섬을 생성한다. 일부 실시예들에서, CRC 레지스터(706)는 64 비트 레지스터이다. CRC 레지스터(706)의 내용은 논리적 1들로 초기화될 수 있다.
TX 프레이밍 유닛(708)은 기록 데이터를 하나 이상의 기록 데이터 프레임(예를 들어, 기록 데이터 프레임(710))으로 프레이밍한다. 또한, TX 프레이밍 유닛(708)은 CRC 체크섬(CRC 레지스터(706)로부터 수신됨)을 하나 이상의 별도의 CRC 프레임(예를 들어, CRC 프레임(712))으로 프레이밍한다. 기록 데이터 프레임(들) 및 CRC 프레임(들)은 DQ 버스를 통해 하나 이상의 메모리 디바이스(예를 들어, DRAM)에 전송된다.
도 8은 본 발명의 실시예에 따라 구현된 호스트에 대한 판독 데이터 경로의 선택된 양태들을 예시한 블록도이다. 호스트(800)는, 특히, 데이터/CRC 인터페이스(I/F)(804), CRC 생성기(806), 비교기(808), 및 코어 로직(802)을 포함한다. 대안적인 실시예들에서, 호스트(800)는 더 많은 요소들, 더 적은 요소들, 및/또는 상이한 요소들을 포함한다. 데이터/CRC 인터페이스(804)는 호스트(300)와 DQ 버스 사이의 인터페이스를 제공한다. 인터페이스(804)는 다수의 드라이버, 수신기, 클록킹 회로(clocking circuit) 등을 포함할 수 있다.
동작에서, 판독 데이터 프레임들(예를 들어, 810)은 DQ 버스를 통해 호스트(800)에 도착한다. 또한, 판독 데이터 프레임들 내의 데이터를 커버하는 하나 이상의 CRC 프레임(812)이 호스트(800)에 도착한다. 데이터/CRC 인터페이스(804)는 (805에서) 코어 로직(802)으로 및 (807에서) CRC 생성기(806)로 판독 데이터를 제공한다. 또한, 인터페이스(804)는 수신된 CRC 체크섬을 (809에서) 비교기(808)로 제공한다.
CRC 생성기(806)는 판독 데이터를 수신하고 "로컬" CRC 체크섬을 계산한다. "로컬"이라는 용어는 호스트에 의해 생성된 CRC 체크섬과 메모리 디바이스에 의해 생성된 CRC 체크섬 간을 구별하는 데 이용된다. 비교기(808)는 (예를 들어, CRC 생성기(806)로부터의) 로컬 CRC 체크섬을 메모리 디바이스로부터 수신된 CRC 체크섬과 비교한다. 그 CRC 체크섬들이 일치하면, 출력(811)은 데이터가 유효함을 나타낸다. 그 CRC 체크섬들이 일치하지 않으면, 출력(811)은 에러 신호를 제공할 수 있다.
도 9는 데이터 프레임 및 그 데이터 프레임을 커버하는 별도의 CRC 프레임을 메모리 디바이스에 기록하는 방법의 선택된 양태들을 예시하는 흐름도이다. 프로세스 블록(902)을 참조하면, 호스트(예를 들어, 메모리 컨트롤러)가 에러 비트 체크섬(예를 들어, CRC 체크섬)을 생성하여 복수의 데이터 비트에 대한 송신 에러들을 커버한다. 일부 실시예들에서, 호스트는 CRC 체크섬을 생성하기 위해 CRC 생성기를 포함한다. 호스트는 판독 데이터 경로와 기록 데이터 경로에 대해 동일한 CRC 트리를 이용할 수 있다.
프로세스 블록(904)을 참조하면, 송신 프레이밍 로직(예를 들어, 도 6에 도시된 송신 프레이밍 유닛(604))이 복수의 데이터 비트를 하나 이상의 데이터 프레임으로 프레이밍한다. 일부 실시예들에서, 각각의 데이터 프레임은 길이가 8 UI이다. 프로세스 블록(906)에서, 하나 이상의 데이터 프레임은 데이터 버스를 통해 메모리 디바이스(예를 들어, DRAM)에 전송된다.
프로세스 블록(908)에서, 호스트는 CRC 체크섬을 CRC 프레임으로 프레이밍한다. 일부 실시예들에서, CRC 프레임은 데이터 프레임들과는 별도이고 별개이다. 프로세스 블록(910)에서, CRC 프레임은 데이터 버스를 통해 DRAM에 전송된다. CRC 프레임은 하나 이상의 전용 CRC 핀보다는 DQ 핀들을 통해 전송되기 때문에 "대역내"인 것으로 지칭될 수 있다.
일부 실시예들에서, DRAM은 호스트에 의해 제공된 CRC 프레임을 이용하여 송신 에러가 발생했는지를 판정한다. 예를 들어, DRAM은 (수신된 데이터에 기초하여) "로컬" CRC 체크섬을 생성하고 로컬 체크섬을 수신된 체크섬과 비교한다. 송신 에러가 발생하였다면, DRAM은 에러 신호를 호스트에 전송할 수 있다. 결정 블록(912)을 참조하면, 호스트가 에러 신호를 수신하면, 호스트는 데이터를 재전송할 수 있다(914). 대안적으로, 호스트가 에러 신호를 수신하지 않으면, 데이터는 유효할 수 있다(916).
본 발명의 실시예들의 요소들은 또한 머신 실행 가능한 명령어들을 저장하기 위한 머신 판독 가능한 매체로서 제공될 수 있다. 머신 판독 가능한 매체는 플래시 메모리, 광 디스크, 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), 자기 또는 광 카드, 전파 매체 또는 전자 명령어들을 저장하기에 적합한 다른 유형의 머신 판독 가능한 매체를 포함할 수 있지만, 이것으로 한정되지 않는다. 예를 들어, 본 발명의 실시예들은 통신 링크(예를 들어, 모뎀 또는 네트워크 접속)를 통해 반송파 또는 다른 전파 매체에 구현된 데이터 신호들에 의해 원격 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
전술한 설명에서, 특정 용어를 이용하여 본 발명의 실시예들을 설명하고 있다. 예를 들어, "로직"이라는 용어는 하나 이상의 기능을 수행하기 위한 하드웨어, 펌웨어, 소프트웨어(또는 이들의 임의의 조합)를 대표한다. 예컨대, "하드웨어"의 예들은 집적 회로, 유한 상태 머신(finite state machine), 또는 심지어 결합 로직(combinatorial logic)을 포함하며, 이것으로 한정되지 않는다. 집적 회로는 마이크로프로세서, 특정 용도 집적 회로(application specific integrated circuit), 디지털 신호 처리기, 또는 마이크로 컨트롤러 등과 같은 프로세서의 형태를 취할 수 있다.
본 명세서 전체에 걸쳐서 "일 실시예" 또는 "실시예"에 대한 언급들은, 그 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미함을 알아야 한다. 그러므로, 본 명세서의 여러 곳에서의 "실시예" 또는 "일 실시예" 또는 "대안적인 실시예"에 대한 2 이상의 언급은 반드시 모두 동일한 실시예를 지칭하고 있지는 않음이 강조되며 알아야 한다. 또한, 특정 특징, 구조 또는 특성은 본 발명의 하나 이상의 실시예에서 적절한 것으로서 조합될 수 있다.
유사하게, 본 발명의 실시예들에 대한 전술한 설명에서, 다양한 특징들은 때때로 다양한 발명의 양태들 중 하나 이상의 이해를 돕는 개시를 능률적으로 할 목적으로 단일 실시예, 도해, 또는 그의 설명으로 함께 그룹화된다는 것을 알아야 한다. 그러나, 이러한 개시의 방법은 청구된 요지가 각 청구항에 명백히 언급된 것보다 많은 특징을 요구한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구항들이 반영함에 따라, 발명의 양태들은 단일의 전술한 실시예의 모든 특징들보다 적게 있다. 그러므로, 전술한 설명 다음의 청구항들은 이러한 상세한 설명 내에 명백히 포함된다.

Claims (15)

  1. 송신 에러들을 커버하는 방법으로서,
    복수의 사용자 간격(UI)의 길이에 걸친 복수의 데이터 비트에 대한 송신 에러들을 커버(cover)하기 위해 에러 비트 체크섬(checksum)을 생성하는 단계;
    상기 복수의 데이터 비트를 상기 UI의 길이의 제1 배수인 기록 데이터 프레임으로 프레이밍(framing)하는 단계;
    데이터 인터커넥트(interconnect)의 하나 이상의 레인(lane)을 통해 상기 기록 데이터 프레임을 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM) 디바이스에 전송하는 단계;
    상기 에러 비트 체크섬을 상기 UI의 길이의 제2 배수인 기록 에러 비트 프레임으로 프레이밍하는 단계; 및
    상기 데이터 인터커넥트의 상기 하나 이상의 레인을 통해 상기 기록 에러 비트 프레임을 상기 DRAM 디바이스에 전송하는 단계 - 상기 복수의 UI의 길이의 서브세트(subset)만이 상기 기록 에러 비트 프레임을 상기 DRAM 디바이스에 전송하는데 사용되어 상기 UI의 일부는 상기 기록 에러 비트 프레임을 포함하게 되고, 상기 UI의 적어도 일부는 상기 기록 에러 비트 프레임을 포함하지 않게 됨 -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 에러 비트 체크섬에 적어도 부분적으로 기초하여 상기 데이터 프레임과 연관된 송신 에러가 검출되었다는 표시(indication)를 수신하는 단계; 및
    상기 데이터 프레임을 상기 DRAM 디바이스에 재전송하는 단계
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 기록 데이터 프레임이 상기 DRAM 디바이스에 기록될 것임을 표시하는 제1 기록 커맨드를 발행하는 단계; 및
    상기 에러 비트 프레임이 상기 DRAM 디바이스에 기록될 것임을 표시하는 제2 기록 커맨드를 발행하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 기록 데이터 프레임 및 상기 에러 비트 프레임이 상기 DRAM 디바이스에 기록될 것임을 표시하는 단일 기록 커맨드를 발행하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    복수의 판독 데이터 비트를 포함하는 판독 데이터 프레임을 상기 DRAM 디바이스로부터 수신하는 단계; 및
    판독 에러 비트 프레임을 상기 DRAM 디바이스로부터 수신하는 단계
    를 더 포함하고,
    상기 판독 에러 비트 프레임은 상기 복수의 판독 데이터 비트의 적어도 일부를 커버하는 체크섬을 포함하는 방법.
  6. 송신 에러들을 커버하는 집적 회로로서,
    입력으로서 복수의 사용자 간격(UI)의 길이에 걸쳐 동적 랜덤 액세스 메모리(DRAM) 디바이스에 전송될 복수의 기록 데이터 비트를 갖고, 출력으로서 상기 복수의 기록 데이터 비트를 커버하는 기록 체크섬을 갖는 에러 비트 생성 로직; 및
    상기 기록 데이터 비트들에 기초하여 상기 UI의 길이의 제1 배수인 기록 데이터 프레임을 프레이밍하고 상기 기록 체크섬에 기초하여 상기 UI의 길이의 제2 배수인 기록 에러 비트 프레임을 프레이밍하는 프레이밍 유닛 - 상기 복수의 UI의 길이의 서브세트(subset)만이 상기 기록 에러 비트 프레임을 상기 DRAM 디바이스에 전송하는데 사용되어 상기 UI의 일부는 상기 기록 에러 비트 프레임을 포함하게 되고, 상기 UI의 적어도 일부는 상기 기록 에러 비트 프레임을 포함하지 않게 됨 -
    을 포함하는 집적 회로.
  7. 제6항에 있어서,
    상기 DRAM 디바이스에 기록 커맨드들을 발행하는 커맨드 로직을 더 포함하고, 상기 커맨드 로직은 데이터 프레임이 메모리에 기록되고 있음을 표시하기 위해 기록 데이터 커맨드를 발행할 수 있고 기록 에러 비트 프레임이 상기 DRAM 디바이스에 기록되고 있음을 표시하기 위해 기록 에러 비트 커맨드를 발행할 수 있는 집적 회로.
  8. 제7항에 있어서, 상기 커맨드 로직은 데이터 프레임과 에러 비트 프레임이 둘다 상기 DRAM 디바이스에 기록되고 있음을 표시하기 위해 단일 기록 커맨드를 발행할 수 있는 집적 회로.
  9. 제6항에 있어서,
    상기 DRAM 디바이스로부터 판독 데이터 프레임 및 판독 에러 비트 프레임을 수신하는 수신 프레이밍 유닛 - 상기 판독 데이터 프레임은 복수의 판독 데이터 비트를 포함하고, 상기 판독 에러 비트 프레임은 상기 복수의 판독 데이터 비트의 적어도 일부를 커버하는 체크섬을 포함함 - ;
    상기 복수의 판독 데이터 비트에 적어도 부분적으로 기초하여 로컬 체크섬을 생성하는 로직; 및
    상기 로컬 체크섬을 상기 체크섬과 비교하는 비교 로직
    을 더 포함하는 집적 회로.
  10. 제9항에 있어서,
    상기 DRAM 디바이스에 판독 커맨드들을 발행하는 커맨드 로직을 더 포함하고, 상기 커맨드 로직은 상기 판독 데이터 프레임이 메모리로부터 판독되고 있음을 표시하기 위해 판독 데이터 커맨드를 발행할 수 있고 상기 판독 에러 비트 프레임이 상기 DRAM 디바이스로부터 판독되고 있음을 표시하기 위해 판독 에러 비트 커맨드를 발행할 수 있는 집적 회로.
  11. 송신 에러들을 커버할 수 있는 시스템으로서,
    호스트; 및
    동적 랜덤 액세스 메모리(DRAM) 디바이스
    를 포함하고,
    상기 호스트는,
    입력으로서 복수의 사용자 간격(UI)의 길이에 걸쳐 동적 랜덤 액세스 메모리(DRAM) 디바이스에 전송될 복수의 기록 데이터 비트를 갖고, 출력으로서 상기 복수의 기록 데이터 비트를 커버하는 기록 체크섬을 갖는 에러 비트 생성 로직; 및
    상기 기록 데이터 비트들에 기초하여 상기 UI의 길이의 제1 배수인 기록 데이터 프레임을 프레이밍하고 상기 기록 체크섬에 기초하여 상기 UI의 길이의 제2 배수인 상기 기록 에러 비트 프레임을 프레이밍하는 프레이밍 유닛
    을 포함하고,
    상기 DRAM 디바이스는, 상기 호스트로부터 상기 기록 에러 비트 프레임을 수신하기 위해 메모리 인터커넥트를 통해 상기 호스트에 연결되며, 상기 복수의 UI의 길이의 서브세트(subset)만이 상기 기록 에러 비트 프레임을 상기 DRAM 디바이스에 전송하는데 사용되어 상기 UI의 일부는 상기 기록 에러 비트 프레임을 포함하게 되고, 상기 UI의 적어도 일부는 상기 기록 에러 비트 프레임을 포함하지 않게 되는,
    시스템.
  12. 제11항에 있어서, 상기 호스트는, 상기 DRAM 디바이스에 기록 커맨드들을 발행하는 커맨드 로직을 더 포함하고, 상기 커맨드 로직은 데이터 프레임이 메모리에 기록되고 있음을 표시하기 위해 기록 데이터 커맨드를 발행할 수 있고 기록 에러 비트 프레임이 상기 DRAM 디바이스에 기록되고 있음을 표시하기 위해 기록 에러 비트 커맨드를 발행할 수 있는 시스템.
  13. 제12항에 있어서, 상기 커맨드 로직은 데이터 프레임과 에러 비트 프레임이 둘다 상기 DRAM 디바이스에 기록되고 있음을 표시하기 위해 단일 기록 커맨드를 발행할 수 있는 시스템.
  14. 제11항에 있어서, 상기 호스트는,
    상기 DRAM 디바이스로부터 판독 데이터 프레임 및 판독 에러 비트 프레임을 수신하는 수신 프레이밍 유닛 - 상기 판독 데이터 프레임은 복수의 판독 데이터 비트를 포함하고, 상기 판독 에러 비트 프레임은 상기 복수의 판독 데이터 비트의 적어도 일부를 커버하는 체크섬을 포함함 - ;
    상기 복수의 판독 데이터 비트에 적어도 부분적으로 기초하여 로컬 체크섬을 생성하는 로직; 및
    상기 로컬 체크섬을 상기 체크섬과 비교하는 비교 로직
    을 더 포함하는 시스템.
  15. 제14항에 있어서, 상기 호스트는, 상기 DRAM 디바이스에 판독 커맨드들을 발행하는 커맨드 로직을 더 포함하고, 상기 커맨드 로직은 상기 판독 데이터 프레임이 메모리로부터 판독되고 있음을 표시하기 위해 판독 데이터 커맨드를 발행할 수 있고 상기 판독 에러 비트 프레임이 상기 DRAM 디바이스로부터 판독되고 있음을 표시하기 위해 판독 에러 비트 커맨드를 발행할 수 있는 시스템.
KR1020107021286A 2008-06-16 2009-06-05 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도 KR101251100B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/139,610 US8321778B2 (en) 2008-06-16 2008-06-16 Efficient in-band reliability with separate cyclic redundancy code frames
US12/139,610 2008-06-16
PCT/US2009/046429 WO2010005661A2 (en) 2008-06-16 2009-06-05 Efficient in-band reliability with separate cyclic redundancy code frames

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127030668A Division KR20120134157A (ko) 2008-06-16 2009-06-05 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도

Publications (2)

Publication Number Publication Date
KR20110003328A KR20110003328A (ko) 2011-01-11
KR101251100B1 true KR101251100B1 (ko) 2013-04-04

Family

ID=41415877

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127030668A KR20120134157A (ko) 2008-06-16 2009-06-05 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
KR1020107021286A KR101251100B1 (ko) 2008-06-16 2009-06-05 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127030668A KR20120134157A (ko) 2008-06-16 2009-06-05 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도

Country Status (6)

Country Link
US (1) US8321778B2 (ko)
EP (1) EP2297641B1 (ko)
KR (2) KR20120134157A (ko)
CN (1) CN101978356A (ko)
TW (1) TWI430085B (ko)
WO (1) WO2010005661A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947810B2 (en) 2021-04-07 2024-04-02 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321778B2 (en) 2008-06-16 2012-11-27 Intel Corporation Efficient in-band reliability with separate cyclic redundancy code frames
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
EP3289726B1 (de) * 2015-04-30 2019-11-13 Continental Teves AG & Co. OHG Verfahren zur absicherung von konfigurationsdaten eines datenbus-transceivers, datenbus-transceiver und datenbussystem
CN105389229B (zh) * 2015-10-29 2018-09-25 中国科学院微电子研究所 适用于64位总线位宽的crc校验电路及校验方法
US9996414B2 (en) * 2016-07-12 2018-06-12 International Business Machines Corporation Auto-disabling DRAM error checking on threshold
KR20180063475A (ko) 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
US10678633B2 (en) * 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof
US11994943B2 (en) 2018-12-31 2024-05-28 Lodestar Licensing Group Llc Configurable data path for memory modules
CN112948167B (zh) * 2021-03-31 2022-10-18 地平线征程(杭州)人工智能科技有限公司 数据通路的保护电路、方法、装置及计算机可读存储介质
US11855655B2 (en) * 2021-09-28 2023-12-26 Texas Instruments Incorporated Serial communications module with CRC
US12009835B2 (en) * 2022-07-22 2024-06-11 Micron Technology, Inc. Command address fault detection
US20240061744A1 (en) * 2022-08-16 2024-02-22 Micron Technology, Inc. Command address fault detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005646A1 (en) * 2006-06-30 2008-01-03 Bains Kuljit S Reliability, availability, and serviceability in a memory device
KR20080023151A (ko) * 2006-09-07 2008-03-12 키몬다 아게 메모리로부터 데이터를 보내는 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
US6519733B1 (en) 2000-02-23 2003-02-11 International Business Machines Corporation Method and apparatus for high integrity hardware memory compression
US20040027261A1 (en) 2002-03-15 2004-02-12 Tymchuk Kevin Bruce Centrally synchronized distributed switch
US7219294B2 (en) 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
CN101366181B (zh) 2005-09-15 2012-08-08 美国亚德诺半导体公司 高速传输系统
US8321778B2 (en) 2008-06-16 2012-11-27 Intel Corporation Efficient in-band reliability with separate cyclic redundancy code frames

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005646A1 (en) * 2006-06-30 2008-01-03 Bains Kuljit S Reliability, availability, and serviceability in a memory device
KR20080023151A (ko) * 2006-09-07 2008-03-12 키몬다 아게 메모리로부터 데이터를 보내는 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947810B2 (en) 2021-04-07 2024-04-02 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same

Also Published As

Publication number Publication date
EP2297641A2 (en) 2011-03-23
TW201003665A (en) 2010-01-16
KR20120134157A (ko) 2012-12-11
CN101978356A (zh) 2011-02-16
US8321778B2 (en) 2012-11-27
EP2297641A4 (en) 2012-08-29
WO2010005661A2 (en) 2010-01-14
EP2297641B1 (en) 2015-01-21
WO2010005661A3 (en) 2010-03-04
KR20110003328A (ko) 2011-01-11
TWI430085B (zh) 2014-03-11
US20090313533A1 (en) 2009-12-17

Similar Documents

Publication Publication Date Title
KR101251100B1 (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
US11669379B2 (en) Controller that receives a cyclic redundancy check (CRC) code for both read and write data transmitted via bidirectional data link
KR101093857B1 (ko) 공통 프레임에서 공유 에러 비트 코드와 함께 데이터 및 데이터 마스크 비트들을 전송하기 위한 시스템, 방법 및 장치
KR101080498B1 (ko) 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법
US7765368B2 (en) System, method and storage medium for providing a serialized memory interface with a bus repeater
KR101031436B1 (ko) 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책
KR100998412B1 (ko) 데이터 레인들로부터 순환 중복 코드 레인들을 오프셋하는것에 의한 대기 시간 개선
US7810013B2 (en) Memory device that reflects back error detection signals
CN102150215B (zh) 用于带内数据掩码比特传输的系统、方法和装置
US8627174B2 (en) Memory devices and systems including error-correction coding and methods for error-correction coding
KR20110103388A (ko) 에러 검출 방법 및 하나 이상의 메모리 장치를 포함하는 시스템
KR20110088882A (ko) 반도체 메모리 시스템
CN114207592B (zh) 用于错误检测和校正的方法以及对应的系统和设备
US9141472B2 (en) Sharing a check bit memory device between groups of memory devices
US8489978B2 (en) Error detection
CN110633225B (zh) 实体存储对照表产生装置及方法
TW201626384A (zh) 採用錯誤偵測編碼處理之用於記憶體裝置的時序優化
US20090172271A1 (en) System and method for executing full and partial writes to dram in a dimm configuration

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 8