KR101242862B1 - 대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템 - Google Patents

대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템 Download PDF

Info

Publication number
KR101242862B1
KR101242862B1 KR1020117005441A KR20117005441A KR101242862B1 KR 101242862 B1 KR101242862 B1 KR 101242862B1 KR 1020117005441 A KR1020117005441 A KR 1020117005441A KR 20117005441 A KR20117005441 A KR 20117005441A KR 101242862 B1 KR101242862 B1 KR 101242862B1
Authority
KR
South Korea
Prior art keywords
data
unit intervals
partial
partial write
data mask
Prior art date
Application number
KR1020117005441A
Other languages
English (en)
Other versions
KR20110040984A (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 KR20110040984A publication Critical patent/KR20110040984A/ko
Application granted granted Critical
Publication of KR101242862B1 publication Critical patent/KR101242862B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명의 실시예는 일반적으로 대역내 데이터 마스크 비트 전송을 위한 시스템, 방법 및 장치에 관한 것이다. 몇몇 실시예에서, 하나 이상의 데이터 마스크 비트가 부분 기록 프레임 내에 통합되고 데이터 버스를 경유하여 메모리 디바이스에 전송된다. 데이터 마스크 비트는 데이터 버스를 경유하여 전송되기 때문에, 시스템은 (고비용의) 데이터 마스크 핀(들)을 필요로 하지 않는다. 몇몇 실시예에서, DRAM 어레이로의 부분 기록을 완료하기 전에 메모리 디바이스(예를 들어, DRAM)가 유효 데이터 마스크 비트를 검사하는 것을 가능하게 하는 메커니즘이 제공된다.

Description

대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템{SYSTEMS, METHODS, AND APPARATUSES FOR IN-BAND DATA MASK BIT TRANSMISSION}
본 발명의 실시예는 일반적으로 집적 회로의 분야에 관한 것으로서, 더 구체적으로는 대역내 마스크 비트 전송을 위한 시스템, 방법 및 장치에 관한 것이다.
호스트(예를 들어, 메모리 제어기)는 기록 데이터의 바이트 중 하나 이상이 마스킹되는 동적 랜덤 액세스 메모리 디바이스(DRAM)에 부분 기록을 수행할 수 있다. 통상의 시스템[예를 들어, 더블 데이터 레이트(DDR)1, DDR2 및 DDR3]에서, 하나 이상의 전용 데이터 마스크 핀이 데이터 마스크 비트를 전송하는데 사용된다. 통상적으로, 데이터 마스크 핀은 (예를 들어, 데이터 버스 상의) 데이터 핀과 동일한 주파수에서 토글링한다. 통상의 시스템은 통상적으로 데이터의 바이트 레인(byte lane)당 하나의 데이터 마스크 신호를 사용한다. 따라서, x4 또는 x8 디바이스는 하나의 데이터 마스크 핀을 가질 수 있고, x16 디바이스는 2개의 데이터 마스크 핀을 가질 수 있다.
본 발명의 실시예는 일반적으로 대역내 데이터 마스크 비트 전송을 위한 시스템, 방법 및 장치에 관한 것이다. 몇몇 실시예에서, 하나 이상의 데이터 마스크 비트가 부분 기록 프레임 내에 통합되고, 데이터 버스를 경유하여 메모리 디바이스에 전송된다. 데이터 마스크 비트는 데이터 버스를 경유하여 전송되기 때문에, 시스템은 (고비용의) 데이터 마스크 핀(들)을 필요로 하지 않는다. 몇몇 실시예에서, DRAM 어레이로의 부분 기록을 완료하기 전에 메모리 디바이스(예를 들어, DRAM)가 유효 데이터 마스크 비트를 검사하는 것을 가능하게 하는 메커니즘이 제공된다. 이 메커니즘은 데이터의 추가의 스테이징(staging)의 요구를 완화한다. 이하에 더 설명되는 바와 같이, 순환 중복 검사(CRC)가 동시에 수행될 수 있다. 이 CRC 검사는 어레이로의 데이터의 기록을 게이팅하는 것을 필요로 하지 않는다.
메모리 채널(예를 들어, DRAM 채널)의 증가하는 전송율은 전송된 데이터 내의 전송 에러의 위험을 증가시킨다. 이들 전송 에러는 DRAM 데이터 프레임을 커버하기 위해 CRC 에러 비트를 사용함으로써 완화될 수 있다. 예를 들어, 8 비트의 CRC는 원하는 비트 에러율(BER)을 얻기 위해 64 비트의 데이터를 커버할 수 있다. 개별 데이터 마스크 핀을 사용하는 통상의 시스템에서, 데이터 마스크 핀이 데이터 핀과 동일한 레이트로 토글링되더라도, 데이터 마스크 비트는 통상적으로 CRC에 의해 커버되지 않는다.
데이터 마스크 비트는 데이터 마스크 비트의 CRC 커버리지를 제공하기 위해 데이터 프레임 내에 통합될 수 있다. 그러나, 이 접근법은 "정상" 기록 및 부분 기록을 위한 개별 기록 파이프라인을 생성하기 때문에 문제점을 제시한다. 정상(또는 완전) 기록은 DRAM 코어에 기록될 유효 CRC 체크섬(checksum)에 의해 정량화될 필요가 없다. 대신에, 정상 기록은 DRAM 코어에 기록되고, CRC 검사가 기록의 완료와 동시에 수행된다. 에러가 검출되면, 에러 메시지가 제어기에 제공되고, 제어기는 기록 트랜잭션(transaction)을 재시도한다. 불량 데이터가 초기에 DRAM 코어에 기록되면, 불량 데이터는 제어기가 기록 트랜잭션을 재시도할 때 간단히 덮어쓰기된다(overwritten).
그러나, 양호한 데이터가 DRAM 어레이 내에 덮어쓰기될 수 있기 때문에, 이 접근법은 부분 기록에 사용될 수 없다. 데이터 마스크 비트에 에러가 존재하면(예를 들어, 데이터 마스크 비트가 시그널링/링크 에러의 결과로서 1로부터 0으로 변경됨), DRAM은 대응 바이트를 마스킹하지 않고 양호한 데이터가 어레이 내에 덮어쓰기될 수 있다. CRC 체크섬은 완료되기 전에 부분 기록으로서 적합하게 하는데 사용될 수 있다. 그러나, 이는 정상 기록 및 부분 기록을 위한 상이한 기록 파이프라인을 갖는 문제점을 제시한다. 상이한 기록 파이프라인은 DRAM의 비용 및 복잡성을 증가시킨다. 이는 또한 2개의 상이한 기록 지연 시간 타이밍을 생성하고 DRAM 내의 데이터의 스테이징을 요구한다. 부분 기록으로서 적합하게 하는 것에 대한 대안 접근법이 도 1 내지 도 6을 참조하여 이하에 설명된다.
본 발명의 실시예가 유사한 도면 부호가 유사한 요소를 나타내고 있는 첨부 도면에 한정이 아닌 예시적으로 도시되어 있다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태를 도시하는 고레벨 블록 다이어그램.
도 2는 본 발명의 실시예에 다른 부분 기록 프레임 포맷의 일 예를 도시하는 도면.
도 3은 본 발명의 몇몇 실시예에 따른 DRAM 부분 기록 로직의 선택된 양태를 도시하는 도면.
도 4는 본 발명의 몇몇 실시예에 따른 에러 보고 로직의 예를 도시하는 도면.
도 5는 본 발명의 몇몇 실시예에 따른 x16 디바이스와 함께 사용을 위해 적합한 부분 기록 프레임의 예를 도시하는 도면.
도 6은 본 발명의 몇몇 실시예에 따른 x4 디바이스와 함께 사용을 위해 적합한 부분 기록 프레임의 예를 도시하는 도면.
도 7은 본 발명의 실시예에 따른 메모리 디바이스에 데이터 마스크 비트를 전송하기 위한 방법의 선택된 양태를 도시하는 흐름도.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태를 도시하는 고레벨 블록 다이어그램이다. 도시된 실시예에서, 시스템(100)은 호스트(110)(예를 들어, 메모리 제어기) 및 메모리 디바이스(120)(예를 들어, 동적 랜덤 액세스 메모리 디바이스 또는 DRAM)를 포함한다. 대안 실시예에서, 시스템(100)은 더 많은 요소, 더 적은 요소 및/또는 상이한 요소를 포함할 수 있다.
명령/어드레스(C/A) 레인(102)은 명령 및 어드레스를 메모리 디바이스(120)에 송신하기 위한 복수의 레인을 제공한다. DQ 레인(104)은 양방향성 판독/기록 데이터 버스를 제공한다. CRC 레인(106)은 CRC 체크섬 비트를 전송하기 위한 양방향성 버스를 제공한다. 대안 실시예에서, DQ 레인(104) 및/또는 CRC 레인(106)은 단방향성일 수 있다. 용이한 설명을 위해, 본 발명의 실시예는 x8 메모리 디바이스를 참조하여 설명된다. 그러나, 본 발명의 실시예는 x4, x16, x32 등과 같은 다른 디바이스 데이터 폭을 포함할 수 있다는 것이 이해된다.
호스트(110)는 메모리 디바이스(120)로 및 그로부터의 데이터의 전달을 제어한다. 호스트(110)는 부분 기록 로직(112)[또는, 용이한 설명을 위해, 로직(112)]을 포함한다. 로직(112)은 호스트(110)가 기록 데이터 프레임에 하나 이상의 데이터 마스크 비트를 전송하는 것을 가능하게 한다. 몇몇 실시예에서, 로직(112)은 DRAM 어레이로의 부분 기록의 완료 전에 데이터 마스크 비트가 유효한지 여부를 메모리 디바이스(120)가 판정하는 것을 가능하게 하기 위한 메커니즘을 제공한다. 예를 들어, 동일한 데이터 마스크 비트가 하나를 초과하는 단위 간격(UI)에서 전송될 수 있다. 다음, 메모리 디바이스(120)는 이들이 정합하는지 여부를 판정하기 위해 동일한 데이터 마스크 비트(또는 비트들)의 다수의 인스턴스(instance)를 비교할 수 있다. 이들이 정합하지 않으면, 데이터 마스크 비트는 유효할 가능성이 있고, 부분 기록은 CRC가 부분 기록의 완료를 게이팅할 필요 없이 완료될 수 있다. 이 접근법은 도 2 내지 도 6을 참조하여 이하에 더 설명된다. 용이한 도시를 위해, 로직(112)은 단일 블록의 로직으로서 도시되어 있다. 그러나, 로직(112)에 의해 제공된 기능은 호스트(110) 상에 반드시 콜로케이션(collocation)될 필요는 없는 로직에 의해 수행될 수 있다는 것이 이해되어야 한다.
몇몇 실시예에서, 호스트(110)는 기록 프레임이 데이터 마스크 비트를 포함하면 부분 기록 명령(예를 들어, Wm)을 인코딩하고, 기록 프레임이 데이터 마스크 비트를 포함하지 않으면 "정상" 기록(예를 들어, W)을 인코딩한다. 용어 "부분 기록 프레임"은 "부분 기록 프레임"의 적어도 일부를 마스킹하기 위한 하나 이상의 데이터 마스크 비트를 포함하는 기록 프레임을 칭한다. 호스트(110)는 데이터 마스크 비트가 부분 기록 프레임과 함께 데이터 버스(예를 들어, 104)를 통해 전달되기 때문에 데이터 마스크 핀(또는 핀들)을 필요로 하지 않는다. 게다가, 데이터 마스크 비트는 데이터 비트와 함께 전달되기 때문에, 이들은 데이터 비트를 보호하는 순환 중복 검사(CRC) 체크섬에 의해 보호될 수 있다. 부분 기록 데이터 프레임의 예가 도 2 내지 도 8을 참조하여 더 설명된다. 몇몇 실시예에서, 호스트(110)는 하나 이상의 프로세서와 동일한 다이 상에 통합된다.
호스트(110)는 CRC 발생기(114)를 또한 포함할 수 있다. CRC의 사용을 지원하는 시스템에서, CRC 발생기(114)는 전송된 데이터가 손상되어 있는지 여부를 판정하기 위해 메모리 디바이스(120)로부터 CRC 체크섬과 비교될 수 있는 로컬 CRC를 생성한다. 게다가, CRC는 기록 트랜잭션을 위해 생성되고 기록 프레임 내의 메모리 디바이스에 송신된다(CRC의 사용을 지원하는 시스템에서).
메모리 디바이스(120)는 시스템(100)을 위한 주 시스템 메모리(의 적어도 일부)를 제공한다. 몇몇 실시예에서, 메모리 디바이스(120)는 동적 랜덤 액세스 메모리 디바이스(DRAM)이다. 메모리 디바이스(120)는 특히 입력/출력(I/O) 회로(122), 부분 기록 로직(124)[또는 용이한 참조를 위해, 로직(124)] 및 코어(126)(예를 들어, 메모리 어레이)를 포함한다. I/O 회로(122)는 [C/A(102), DQ(104) 및/또는 CRC(106)와 같은] 하나 이상의 상호 접속부를 통해 신호를 수신하고 그리고/또는 전송하는데 적합한 회로를 포함한다. 용이한 도시를 위해, I/O 회로(122)는 단일 블록의 로직으로서 도시된다. 그러나, I/O 회로(122)에 의해 제공된 기능은 메모리 디바이스(120) 상에 반드시 콜로케이션되는 것은 아닌 로직에 의해 수행될 수 있다.
로직(124)은 메모리 디바이스(120)가 (예를 들어, 데이터 마스크 비트가 없는) 정상 기록 프레임 또는 (예를 들어, 데이터 마스크 비트가 있는) 부분 기록 프레임을 코어(126)에 기록하는 것을 가능하게 한다. 로직(124)은 정상 기록(W) 또는 부분 기록(Wm)으로서 트랜잭션을 디코딩할 수 있다. 트랜잭션이 Wm이면, 로직(124)은 부분 기록 프레임 내의 선택된 데이터 비트를 마스킹하기 위해 부분 기록 프레임에 의해 제공된 데이터 마스크 비트를 사용한다. 로직(124)의 선택된 양태는 도 3 및 도 4를 참조하여 이하에 더 설명된다.
도 2는 본 발명의 실시예에 따른 부분 기록 프레임 포맷의 일 예를 도시한다. 도시된 실시예에서, 데이터 버스는 8 비트 폭(예를 들어, DQ[7:0])이고, 각각의 기록 프레임은 8개의 단위 간격(UI) 전송(예를 들어, UI0 내지 UI7)을 갖는다. 대안 실시예에서, 데이터 버스는 상이한 폭(예를 들어, 4, 16, 32 등)을 가질 수 있고, 그리고/또는 프레임(200)은 상이한 수의 UI를 가질 수 있다.
통상적으로, 부분 기록 트랜잭션은 바이트, 워드 또는 디워드(Dword)(예를 들어, 더블 워드)를 전달한다. 따라서, 대부분의 부분 기록은 데이터를 전달하기 위해 단지 4개(또는 그 이하)의 UI만을 사용한다. 이는 [예를 들어, 더블 데이터 레이트(DDR)3에서 구현되는 바와 같이] 4개의 모드의 버스트 길이와 유사하다. 바이트 4 내지 7은 1인 비트 "A2"를 갖는 기록 CAS 명령을 발행함으로써 최초 UI 내에 전송될 수 있다. 0인 비트 A12를 갖는 기록 CAS는 BL8의 버스트 길이를 암시한다. 유사하게, 1인 비트 "A12"를 갖는 기록 CAS 명령은 BL4의 버스트 길이를 암시한다. 0인 "A2"를 갖는 BL4 트랜잭션은 바이트 0 내지 3이 전송되는 것을 암시한다. 1인 A2를 갖는 BL4 트랜잭션은 바이트 4 내지 7이 부분 기록 프레임의 최초 4개의 UI 내에 전송된다.
몇몇 실시예에서, 기록이 부분 기록인지 완전 기록인지 여부를 나타내기 위해 새로운 명령 인코딩이 규정된다. 예를 들어, 부분 기록을 위한 명령 인코딩은 "Wm"일 수 있다. 유사하게, 완전 기록을 위한 명령 인코딩은 "W"일 수 있다. 프레임(200)은 부분 기록(Wm) 프레임의 일 예를 도시한다. 프레임(200)은 UI 0 내지 3의 부분 기록 데이터를 전달한다. 기록 데이터에 대응하는 데이터 마스크 비트가 최종 4개의 UI를 통해 전송된다.
몇몇 실시예에서, 동일한 데이터 마스크 비트가 프레임(200)의 하나 초과의 UI에서 전달된다. 프레임(200)을 수신하는 DRAM은 이들이 정합하는지를 판정하기 위해 데이터 마스크 비트(또는 비트들)의 다수의 인스턴스를 비교한다. 이들이 정합하면, 데이터 마스크 비트는(또는 비트들은) 유효하다. 이들이 정합하지 않으면, 데이터 마스크 비트는(또는 비트들은) 유효하지 않다. 이 접근법은 부분 기록 동작의 완료를 게이팅하기 위해 CRC 체크섬(동시에 컴퓨팅될 수 있음)을 사용하지 않고 DRAM이 부분 기록 프레임(200)을 정량화하는 것을 가능하게 한다.
프레임(200)은 UI 0 내지 3의 부분 기록 데이터 바이트 0 내지 3을 포함한다. 게다가, 프레임(200)은 UI 4 내지 7의 각각에 DM0 내지 DM3을 포함한다. 다음에, DMn이 일반 데이터 마스크 비트를 표현하게 하여, DMn의 모든 인스턴스가 1이면, 대응 바이트-n이 마스킹된다. 따라서, DM0_a, DM0_b, DM0_c 및 DM0_d가 각각 1이면, 바이트 0이 마스킹된다. 프레임(200)의 미사용 부분은 "미래 사용을 위해 보류됨"(RFU)으로 마킹된다.
대안 실시예에서, 프레임(200)은 상이한 구조를 가질 수 있지만 여전히 적어도 하나의 데이터 마스크 비트의 하나 초과의 인스턴스(또는 사본)를 포함할 수 있다. 예를 들어, 프레임(200)은 8개 초과의 UI 또는 8개 미만의 UI를 가질 수 있다. 데이터 바이트 및/또는 데이터 마스크 비트는 프레임(200) 내의 거의 임의의 위치에 (예를 들어, 시작부에, 종료부에, 삽입되는(interleaved) 등) 위치될 수 있다. 또한, 몇몇 대안 실시예에서, 데이터 마스크 비트의 순서는 하나의 UI로부터 다른 것까지 다양할 수 있다.
도 3은 본 발명의 몇몇 실시예에 따른 DRAM 부분 기록 로직(예를 들어, 도 1에 도시된 124)의 선택된 양태를 도시한다. 몇몇 실시예에서, OR 게이트[예를 들어, OR 게이트(300)]가 DRAM 코어에 대해 바이트 인에이블(byte enable)을 발생하는데 사용된다. BE_0# 상의 0은 대응 바이트가 인에이블링되고 DRAM 코어에 기록될 수 있는 것을 암시한다. OR 게이트(300)로의 입력(예를 들어, DM0_a 내지 DM0_b)은 부분 기록 데이터 프레임[예를 들어, 도 2에 도시된 프레임(200)]으로부터 DM0의 다수의 인스턴스(또는 사본)이다. OR 게이트 로직(300)은 단일 바이트에 대한 게이팅 로직을 예시한다. 각각의 바이트는 유사한 로직의 인스턴스를 가질 수 있다는 것이 이해되어야 한다. 대안 실시예에서, 상이한 로직은 바이트 인에이블을 발생시키기 위해 DRAM 내에 사용될 수 있다.
몇몇 실시예에서, CRC 검사가 바이트 인에이블 발생과 동시에 수행된다. CRC 검사가 에러(또는 에러들)를 검출하면, 이 에러(또는 에러들)는 제어기[예를 들어, 도 1에 도시된 호스트(110)]에 보고된다. 도 4는 본 발명의 몇몇 실시예에 따른 에러 보고 로직(400)의 예이다. 로직(400)은 AND 게이트(402), OR 게이트(404) 및 XOR 게이트(406)를 포함한다. 동작시에, DMn_a 내지 DMn_b는 AND 게이트(402) 및 OR 게이트(404)에 입력으로서 제공된다. DMn_a 내지 DMn_b의 모든 값이 동일하면(예를 들어, 모두 1이거나 모두 0임), XOR(406)으로의 입력은 동일하고, 따라서 XOR(406)의 출력은 0이다(에러가 검출되지 않음). 다른 한편으로, DMn_a 내지 DMn_b의 적어도 하나가 다른 것과 동일하지 않으면, XOR(406)으로의 입력은 동일하지 않고, XOR(406)의 출력은 높아져서 에러 상태를 지시한다(예를 들어, 408). 에러 신호(408)는 제어기로 라우팅되어 부분 기록 동작이 재시도될 수 있게 된다.
도 1 내지 도 4를 참조하여 설명된 본 발명의 실시예는 x8 메모리 디바이스에 관한 것이다. 대안 실시예에서, 메모리 디바이스는 상이한 폭(예를 들어, x16, x4 등)을 가질 수 있다. 도 5는 본 발명의 몇몇 실시예에 따른 x16 디바이스와 함께 사용하기에 적합한 부분 기록 프레임의 예를 도시한다. 프레임(500)은 DQ0 내지 DQ7에 사용된 포맷이 도 5에 도시된 바와 같이 DQ8 내지 DQ15에 복제된 것을 제외하고는 프레임(200)(도 2에 도시됨)과 유사한 포맷을 갖는다. 표 1은 프레임(500)에 대해서 바이트에 데이터 마스크 비트(DM)를 맵핑한다. 대안 실시예에서, 상이한 프레임 포맷이 사용될 수 있다.
Figure 112011016645817-pct00001
도 6은 본 발명의 몇몇 실시예에 따른 x4 디바이스와 함께 사용하기에 적합한 부분 기록 프레임의 예를 도시한다. 프레임(600)은 UI 0 내지 3이 바이트 대신에 니블(nibble)을 전송하는 것을 제외하고는 프레임(200)(도 2에 도시됨)과 유사한 포맷을 갖는다. 이러한 실시예에서, DMn_a 내지 DMn_d는 대응 니블을 커버한다. 표 2는 프레임(600)에 대해서 니블에 데이터 마스크 비트(DM)를 맵핑한다. 대안 실시예에서, 상이한 프레임 포맷이 사용될 수 있다.
Figure 112011016645817-pct00002
도 7은 본 발명의 실시예에 따른 메모리 디바이스에 데이터 마스크 비트를 전송하기 위한 방법의 선택된 양태를 도시하는 흐름도이다. 프로세스 블록 702를 참조하면, 호스트[예를 들어, 도 1에 도시된 호스트(110)]는 부분 기록 명령(예를 들어, Wm)을 메모리 디바이스[예를 들어, 도 1에 도시된 메모리 디바이스(120)]에 발행한다. 몇몇 실시예에서, 호스트는 메모리 제어기이고, 메모리 디바이스는 DRAM이다.
프로세스 블록 704를 참조하면, 호스트는 부분 기록 명령에 응답하여 부분 기록 프레임을 생성한다. 몇몇 실시예에서, 부분 기록 프레임은 부분 기록 데이터를 전송하기 위한 m개의 단위 간격을 포함한다. 부분 기록 프레임은 부분 기록 데이터에 대응하는 데이터 마스크 비트를 전송하기 위한 n개의 단위 간격을 또한 포함할 수 있다. 몇몇 실시예에서, 데이터 마스크 비트의 적어도 일부는 n개의 단위 간격 중 하나를 초과하는 단위 간격에서 반복된다. 도 2의 프레임(200)을 참조하면, 예로서, 각각의 UI 4 내지 7은 DM0_a 내지 DM0_d의 사본을 포함한다. 부분 기록 프레임을 수신하는 DRAM은 신호화 에러가 발생하였는지 여부를 판정하기 위해 DM0_a 내지 DM0_d의 다수의 인스턴스를 비교할 수 있다.
호스트는 블록 706에서 메모리 디바이스에 부분 기록 프레임을 전송한다. 몇몇 실시예에서, 메모리 디바이스는 DRAM이다. 대안 실시예에서, 메모리 디바이스는 DRAM 이외의 것일 수 있다(예를 들어, SRAM 등).
본 발명의 실시예의 요소는 또한 머신 실행 가능 명령을 저장하기 위한 머신 판독 가능 매체로서 제공될 수 있다. 머신 판독 가능 매체는 이들에 한정되는 것은 아니지만, 플래시 메모리, 광 디스크, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다기능/비디오 디스크(DVD) ROM, 랜덤 액세스 메모리(RAM), 소거 가능한 프로그램 가능 판독 전용 메모리(EPROM), 전자 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM), 자기 또는 광학 카드, 전파 매체 또는 전자 명령을 저장하는데 적합한 다른 유형의 머신 판독 가능 매체를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 통신 링크(예를 들어, 모뎀 또는 네트워크 접속)를 경유하여 반송파 또는 다른 전파 매체에 구체화된 데이터 신호를 경유하여 원격 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로딩될 수 있다.
상기 설명에서, 특정 용어가 본 발명의 실시예를 설명하는데 사용된다. 예를 들어, 용어 "로직"은 하나 이상의 기능을 수행하기 위한 하드웨어, 펌웨어, 소프트웨어(또는 이들의 임의의 조합)를 대표한다. 예를 들어, "하드웨어"의 예는 이들에 한정되는 것은 아니지만, 집적 회로, 유한 상태 머신 또는 심지어 조합 로직을 포함한다. 집적 회로는 마이크로프로세서, 응용 특정 집적 회로, 디지털 신호 프로세서, 마이크로제어기 등과 같은 프로세서의 형태를 취할 수 있다.
본 명세서 전체에 걸쳐 "일 실시예" 또는 "실시예"의 참조는 실시예와 연계하여 설명된 특정 특징, 구조 또는 특징부가 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다는 것이 이해되어야 한다. 따라서, 본 명세서의 다양한 부분에서 "실시예" 또는 "일 실시예" 또는 "대안 실시예"의 2개 이상의 참조는 반드시 모두 동일한 실시예를 언급하는 것은 아니라는 것이 강조되고 이해되어야 한다. 더욱이, 특정 특징, 구조 또는 특징부는 본 발명의 하나 이상의 실시예에 적합한 바와 같이 조합될 수 있다.
유사하게, 본 발명의 실시예의 상기 설명에서, 다양한 특징이 다양한 본 발명의 양태의 하나 이상의 이해를 지원하는 개시의 능률화를 목적으로 때때로 그 단일 실시예, 도면 또는 상세한 설명에 함께 그룹화된다는 것이 이해되어야 한다. 그러나, 이 개시 방법은 청구된 요지가 각각의 청구항에 명백히 언급된 것보다 많은 특징을 필요로 한다는 의도를 반영하는 것으로서 해석되어서는 안된다. 오히려, 이하의 청구범위가 반영하는 바와 같이, 본 발명의 양태는 단일의 상기 개시된 실시예의 모든 특징보다 적게 놓여 있다. 따라서, 상세한 설명에 이어지는 청구범위는 이에 의해 이 상세한 설명에 명백히 합체되어 있다.
100: 시스템 102: 명령/어드레스(C/A) 레인
104: DQ 레인 106: CRC 레인
110: 호스트 112: 부분 기록 로직
120: 메모리 디바이스 122: 입력/출력(I/O) 회로
124: 부분 기록 로직 126: 코어
200: 프레임 300: OR 게이트
400: 에러 보고 로직 402: AND 게이트
404: OR 게이트 406: XOR 게이트
408: 에러 신호 600: 프레임

Claims (24)

  1. 휘발성 메모리 디바이스에 부분 기록 명령(partial write command)을 발행하기 위한 로직과,
    상기 부분 기록 명령에 응답하여 부분 기록 프레임을 생성하기 위한 로직을 포함하고,
    상기 부분 기록 프레임은 부분 기록 데이터를 전송하기 위한 m개의 단위 간격(unit interval) 및 데이터 마스크 비트를 전송하기 위한 n개의 단위 간격을 포함하고, 또한 데이터 마스크 비트의 적어도 일부는 n개의 단위 간격 중 하나를 초과하는 단위 간격에서 반복되고,
    상기 n개의 단위 간격의 각각은 데이터 마스크 비트의 사본(copy)을 포함하고,
    상기 m개의 단위 간격의 각각은 부분 기록 데이터의 바이트(byte)를 포함하며,
    상기 n개의 단위 간격의 각각은 부분 기록 데이터의 m개의 바이트 각각에 대응하는 데이터 마스크 비트를 포함하고,
    m은 4이고, n은 4인
    집적 회로.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 집적 회로는 메모리 제어기를 포함하는
    집적 회로.
  7. 제 6 항에 있어서,
    상기 휘발성 메모리 디바이스는 랜덤 액세스 메모리 디바이스를 포함하는
    집적 회로.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 휘발성 메모리 디바이스에 부분 기록 명령을 발행하는 단계와,
    상기 부분 기록 명령에 응답하여 부분 기록 프레임을 생성하는 단계 - 상기 부분 기록 프레임은 부분 기록 데이터를 전송하기 위한 m개의 단위 간격 및 데이터 마스크 비트를 전송하기 위한 n개의 단위 간격을 포함하고, 또한 데이터 마스크 비트의 적어도 일부는 n개의 단위 간격 중 하나를 초과하는 단위 간격에서 반복됨 - 와,
    상기 부분 기록 프레임을 상기 휘발성 메모리 디바이스에 전송하는 단계를 포함하고,
    상기 n개의 단위 간격의 각각은 데이터 마스크 비트의 사본을 포함하고,
    상기 m개의 단위 간격의 각각은 부분 기록 데이터의 바이트를 포함하며,
    상기 n개의 단위 간격의 각각은 부분 기록 데이터의 m개의 바이트 각각에 대응하는 데이터 마스크 비트를 포함하고,
    m은 4이고, n은 4인
    방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제 14 항에 있어서,
    상기 휘발성 메모리 디바이스는 랜덤 액세스 메모리 디바이스를 포함하는
    방법.
  20. 동적 랜덤 액세스 메모리 디바이스에 부분 기록 명령을 발행하기 위한 로직과, 상기 부분 기록 명령에 응답하여 부분 기록 프레임을 생성하기 위한 로직 - 상기 부분 기록 프레임은 부분 기록 데이터를 전송하기 위한 m개의 단위 간격 및 데이터 마스크 비트를 전송하기 위한 n개의 단위 간격을 포함하고, 또한 데이터 마스크 비트의 적어도 일부는 n개의 단위 간격 중 하나를 초과하는 단위 간격에서 반복됨 -을 포함하는 호스트와,
    상기 부분 기록 데이터 프레임을 수신하기 위한 상기 동적 랜덤 액세스 메모리 디바이스를 포함하고,
    상기 n개의 단위 간격의 각각은 데이터 마스크 비트의 세트를 포함하고, 상기 m개의 단위 간격의 각각은 부분 기록 데이터의 바이트를 포함하며,
    상기 n개의 단위 간격의 각각은 부분 기록 데이터의 m개의 바이트 각각에 대응하는 데이터 마스크 비트를 포함하고,
    m은 4이고, n은 4인
    시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제 20 항에 있어서,
    상기 동적 랜덤 액세스 메모리 디바이스는,
    메모리 코어와,
    상기 메모리 코어와 결합된 입력/출력 로직 - 상기 입력/출력 로직은 상기 부분 기록 프레임을 수신할 수 있음 - 과,
    상기 입력/출력 로직과 결합된 인에이블 로직 - 상기 인에이블 로직은 적어도 부분적으로는 n개의 데이터 마스크 비트 세트가 정합하는지 여부에 기초하여 상기 메모리 코어로의 기록을 가능하게 함 - 을 포함하는
    시스템.
KR1020117005441A 2008-09-09 2009-09-03 대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템 KR101242862B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/207,015 US8006033B2 (en) 2008-09-09 2008-09-09 Systems, methods, and apparatuses for in-band data mask bit transmission
US12/207,015 2008-09-09
PCT/US2009/055911 WO2010030561A2 (en) 2008-09-09 2009-09-03 Systems, methods, and apparatuses for in-band data mask bit transmission

Publications (2)

Publication Number Publication Date
KR20110040984A KR20110040984A (ko) 2011-04-20
KR101242862B1 true KR101242862B1 (ko) 2013-03-12

Family

ID=41800151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117005441A KR101242862B1 (ko) 2008-09-09 2009-09-03 대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템

Country Status (7)

Country Link
US (2) US8006033B2 (ko)
EP (1) EP2324478B1 (ko)
JP (1) JP5301668B2 (ko)
KR (1) KR101242862B1 (ko)
CN (1) CN102150215B (ko)
TW (1) TWI443660B (ko)
WO (1) WO2010030561A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8006033B2 (en) 2008-09-09 2011-08-23 Intel Corporation Systems, methods, and apparatuses for in-band data mask bit transmission
CN103456356A (zh) 2012-05-31 2013-12-18 三星电子株式会社 半导体存储器装置和相关的操作方法
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9443615B2 (en) 2012-12-04 2016-09-13 Micron Technology, Inc. Methods and apparatuses for memory testing with data compression
JP2014225309A (ja) * 2013-05-16 2014-12-04 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
US10140175B2 (en) * 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
CN110720126B (zh) * 2017-06-30 2021-08-13 华为技术有限公司 传输数据掩码的方法、内存控制器、内存芯片和计算机***
US11094372B1 (en) 2020-05-07 2021-08-17 Powerchip Semiconductor Manufacturing Corporation Partial writing method of dram memoryl device to reduce power consumption associated with large voltage swing of internal input/output lines
KR20220155518A (ko) * 2021-05-14 2022-11-23 삼성전자주식회사 전자 장치, 호스트의 동작 방법, 메모리 모듈의 동작 방법, 및 메모리 장치의 동작 방법
CN113141289B (zh) * 2021-05-18 2022-07-26 卡斯柯信号有限公司 一种用于轨旁安全平台的总线数据传输方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040165446A1 (en) * 2002-03-22 2004-08-26 Riesenman Robert J. Obtaining data mask mapping information
US20070061671A1 (en) * 2005-08-30 2007-03-15 Paul Wallner Data memory system and method for transferring data into a data memory
US20070061494A1 (en) * 2005-08-30 2007-03-15 Paul Wallner Semiconductor memory system, semiconductor memory chip, and method of masking write data in a semiconductor memory chip
US20080062771A1 (en) * 2006-09-13 2008-03-13 Hynix Semiconductor Inc. Semiconductor memory apparatus and data masking method of the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289419B1 (en) * 1998-03-06 2001-09-11 Sharp Kabushiki Kaisha Consistency control device merging updated memory blocks
US6732292B2 (en) * 2001-09-17 2004-05-04 Seagate Technology Llc Adaptive bi-directional write skip masks in a data storage device
US6714460B2 (en) * 2002-02-21 2004-03-30 Micron Technology, Inc. System and method for multiplexing data and data masking information on a data bus of a memory device
US6957307B2 (en) * 2002-03-22 2005-10-18 Intel Corporation Mapping data masks in hardware by controller programming
WO2004063906A2 (en) * 2003-01-13 2004-07-29 Rambus Inc. Coded write masking
US8429356B2 (en) 2005-11-02 2013-04-23 Ati Technologies Ulc Write data mask method and system
US8345685B2 (en) * 2006-06-09 2013-01-01 Ethernety Networks Ltd Method and device for processing data packets
US8006033B2 (en) 2008-09-09 2011-08-23 Intel Corporation Systems, methods, and apparatuses for in-band data mask bit transmission

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040165446A1 (en) * 2002-03-22 2004-08-26 Riesenman Robert J. Obtaining data mask mapping information
US20070061671A1 (en) * 2005-08-30 2007-03-15 Paul Wallner Data memory system and method for transferring data into a data memory
US20070061494A1 (en) * 2005-08-30 2007-03-15 Paul Wallner Semiconductor memory system, semiconductor memory chip, and method of masking write data in a semiconductor memory chip
US20080062771A1 (en) * 2006-09-13 2008-03-13 Hynix Semiconductor Inc. Semiconductor memory apparatus and data masking method of the same

Also Published As

Publication number Publication date
WO2010030561A2 (en) 2010-03-18
US20120191907A1 (en) 2012-07-26
US20100064100A1 (en) 2010-03-11
TW201025325A (en) 2010-07-01
EP2324478A2 (en) 2011-05-25
EP2324478B1 (en) 2015-07-22
CN102150215A (zh) 2011-08-10
EP2324478A4 (en) 2012-12-26
KR20110040984A (ko) 2011-04-20
WO2010030561A3 (en) 2010-06-10
CN102150215B (zh) 2014-08-13
JP5301668B2 (ja) 2013-09-25
US8006033B2 (en) 2011-08-23
JP2012502391A (ja) 2012-01-26
TWI443660B (zh) 2014-07-01

Similar Documents

Publication Publication Date Title
KR101242862B1 (ko) 대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템
KR101093857B1 (ko) 공통 프레임에서 공유 에러 비트 코드와 함께 데이터 및 데이터 마스크 비트들을 전송하기 위한 시스템, 방법 및 장치
KR101031436B1 (ko) 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책
US10810144B2 (en) System and method for operating a DRR-compatible asynchronous memory module
TWI430085B (zh) 具有分離循環冗餘碼訊框之有效率帶內可靠性技術的方法、積體電路與系統以及動態隨機存取記憶體裝置
JP5303477B2 (ja) 非eccコンポーネントにおけるeccの実装
JP5015177B2 (ja) 同一のメモリタイプを用いてエラーチェックモード及び非エラーチェックモードをサポートするシステム、方法及び装置
KR101035158B1 (ko) 메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치
US20200319969A1 (en) Method for checking address and control signal integrity in functional safety applications, related products
WO2020199133A1 (en) Method for checking address and control signal integrity in functional safety applications, related products
JPS62245453A (ja) 交替メモリの置換方法
JPH10105475A (ja) パリティメモリ装置およびパリティメモリ回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
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

LAPS Lapse due to unpaid annual fee