KR101035158B1 - 메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치 - Google Patents

메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치 Download PDF

Info

Publication number
KR101035158B1
KR101035158B1 KR1020080052795A KR20080052795A KR101035158B1 KR 101035158 B1 KR101035158 B1 KR 101035158B1 KR 1020080052795 A KR1020080052795 A KR 1020080052795A KR 20080052795 A KR20080052795 A KR 20080052795A KR 101035158 B1 KR101035158 B1 KR 101035158B1
Authority
KR
South Korea
Prior art keywords
memory device
write frame
data bus
bit wide
volatile memory
Prior art date
Application number
KR1020080052795A
Other languages
English (en)
Other versions
KR20080107290A (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 KR20080107290A publication Critical patent/KR20080107290A/ko
Application granted granted Critical
Publication of KR101035158B1 publication Critical patent/KR101035158B1/ko

Links

Images

Classifications

    • 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
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예들은 일반적으로 메모리 장치에 데이터 마스크 비트들을 전송하기 위한 시스템들, 방법들, 및 장치들에 관한 것이다. 소정의 실시예에서, 집적 회로는 메모리 장치에 부분 기입 커맨드(partial write command)를 발행하기 위한 로직을 포함한다. 더욱이, 집적 회로는 N 비트 폭(N bit wide) 데이터 버스를 통하여 휘발성 메모리 장치에 기입 프레임을 전송하기 위한 로직을 포함할 수 있고, 그 기입 프레임은, N 비트 폭 데이터 버스를 통하여 전송될 하나 이상의 데이터 마스크 비트를 포함한다.
데이터 마스크 비트, 메모리 장치, 정상/부분 기입 프레임, 바이트 매핑 규칙, DRAM

Description

메모리 장치에 데이터 마스크 비트들을 전송하기 위한 시스템, 방법, 및 장치{SYSTEMS, METHODS, AND APPARATUSES FOR TRANSFERRING DATA MASK BITS TO A MEMORY DEVICE}
본 발명의 실시예들은 일반적으로 집적 회로 분야에 관련된 것이고, 보다 구체적으로는 메모리 장치에 데이터 마스크 비트들을 전송하기 위한 시스템들, 방법들, 및 장치들에 관한 것이다.
호스트(예를 들면, 메모리 컨트롤러)는 하나 이상의 기입 데이터의 바이트가 마스킹되는 동적 랜덤 액세스 메모리 장치(dynamic random access memory device; DRAM)에 부분 기입(partial write)들을 수행할 수 있다. 종래의 시스템들(예를 들면, DDR(double data rate)1, DDR2, 및 DDR3)에서, 하나 이상의 전용 데이터 마스크 핀이 데이터 마스크 비트들을 전송하기 위해 사용된다. 통상적으로, 데이터 마스크 핀들은 (예를 들면, 데이터 버스 상의) 데이터 핀들과 동일한 주파수에서 토글링(toggling)한다. 통상적으로 종래의 시스템은 데이터의 바이트 레인 당 하나의 데이터 마스크 신호를 사용한다. 그리하여, x4 또는 x8 장치는 하나의 데이터 마스크 핀을 가질 수 있고 x16 장치는 두 개의 데이터 마스크 핀을 가질 수 있다.
본 발명은, 메모리 장치에 데이터 마스크 비트들을 전송하기 위한 시스템들, 방법들, 및 장치들을 제공하기 위한 것이다.
본 발명의 집적회로는, 휘발성 메모리 장치에 부분 기입 커맨드(partial write command)를 발행하기 위한 로직; 및
N 비트 폭(N bit wide) 데이터 버스를 통하여 상기 휘발성 메모리 장치에 기입 프레임을 전송하기 위한 로직
을 포함하고,
상기 기입 프레임은 상기 N 비트 폭 데이터 버스를 통하여 전송될 하나 이상의 데이터 마스크 비트를 포함하는 것이다.
본 발명의 휘발성 메모리 장치는, N 비트 데이터 버스로부터 기입 프레임을 수신하기 위한 입력/출력 회로 - 상기 기입 프레임은 하나 이상의 데이터 마스크 비트를 포함하고 또한 M개의 UI 전송들, UI 0 내지 UI M-1을 포함하고, 및 상기 하나 이상의 데이터 마스크 비트는 UI 0 동안 전송됨 - ; 및
각각의 UI에 대하여, 정상 기입 프레임 또는 부분 기입 프레임 중 어느 하나로서 상기 기입 프레임을 디코드하기 위한 2:1 멀티플렉서
를 포함하는 것이다.
본 발명의 방법은, 휘발성 메모리 장치에 부분 기입 커맨드를 발행하는 단 계; 및
N 비트 폭 데이터 버스를 통하여 상기 휘발성 메모리 장치에 부분 기입 프레임을 전송하는 단계
를 포함하고, 상기 부분 기입 프레임은 하나 이상의 데이터 마스크 비트를 포함하는 것이다.
본 발명에 따르면, 하나 이상의 데이터 마스크 비트는 부분 기입 프레임에 포함되고 데이터 버스를 통하여 메모리 장치에 전송된다. 데이터 마스크 비트들이 데이터 버스를 통하여 전송되기 때문에, 시스템은 (고가의) 데이터 마스크 핀(들)을 필요로 하지 않는다. 게다가, 데이터 마스크 비트들은 데이터 비트들을 보호하는 동일한 CRC(cyclic redundancy check) 코드에 의해 커버될 수 있다.
본 발명의 실시예들은 일반적으로 메모리 장치에 데이터 마스크 비트들을 전송하기 위한 시스템들, 방법들, 및 장치들에 관한 것이다. 소정의 실시예에서, 하나 이상의 데이터 마스크 비트는 부분 기입 프레임에 포함되고 데이터 버스를 통하여 메모리 장치에 전송된다. 데이터 마스크 비트들이 데이터 버스를 통하여 전송되기 때문에, 시스템은 (고가의) 데이터 마스크 핀(들)을 필요로 하지 않는다. 게다가, 데이터 마스크 비트들은 데이터 비트들을 보호하는 동일한 CRC(cyclic redundancy check) 코드에 의해 커버될 수 있다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태들을 도시하는 고레벨 블록도이다. 도시된 실시예에서, 시스템(100)은 호스트(110)(예를 들면, 메모리 컨트롤러) 및 메모리 장치(120)(예를 들면, 동적 랜덤 액세스 메모리 장치, 즉 DRAM)를 포함한다. 대안적인 실시예들에서, 시스템(100)은 더 많은 요소들, 더 적은 요소들 및/또는 상이한 요소들을 포함할 수 있다.
커맨드/어드레스(Command/Address; 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)은 단일 로직 블록으로서 도시된다. 그러나 로직(112)에 의해 제공되는 기능들이 반드시 호스트(110) 상에 배치될 필요는 없는 로직에 의해 수행될 수 있다는 것이 이해되어야 한다.
소정의 실시예에서, 호스트(110)는 만약 기입 프레임이 데이터 마스크 비트 들을 포함한다면 부분 기입 커맨드(예를 들면, Wm)를 인코드하고, 기입 프레임이 데이터 마스크 비트들을 포함하지 않으면 "정상" 기입(예를 들면, W)을 인코드한다. "부분 기입 프레임"이라는 용어는 "부분 기입 프레임"의 적어도 일부를 마스킹하기 위한 하나 이상의 데이터 마스크 비트를 포함하는 기입 프레임을 가리킨다. 데이터 마스크 비트들은 부분 기입 프레임과 함께 데이터 버스(예를 들면, 104)를 통하여 전달되기 때문에, 호스트(110)는 데이터 마스크 핀(또는 핀들)을 필요로 하지 않는다. 게다가, 데이터 마스크 비트들이 데이터 비트들과 함께 전달되기 때문에, 데이터 비트들을 보호하는 CRC 체크섬에 의해 보호될 수 있다. 부분 기입 데이터 프레임들의 예들은 도 2-도 8을 참조하여 더 논의된다. 소정의 실시예에서, 호스트(110)는 하나 이상의 프로세서들로서 동일한 다이 위에 집적된다.
호스트(110)는 CRC 생성기(114)를 포함할 수도 있다. CRC의 사용을 지원하는 시스템들에서, CRC 생성기(114)는 송신된 데이터가 손상(corrupted)되었는지 어떤지를 판정하기 위해 메모리 장치(120)로부터의 CRC 체크섬과 비교될 수 있는 로컬 CRC를 발생시킨다. 게다가, CRC는 기입 트랜잭션들을 위해 생성되고 (CRC의 사용을 지원하는 시스템들의) 기입 프레임에 메모리 장치로 보내진다.
메모리 장치(120)는 시스템(100)에 (적어도 일부의) 메인 시스템 메모리를 제공한다. 소정의 실시예에서, 메모리 장치(120)는 DRAM이다. 메모리 장치(120)는 그중에서도 특히, 입력/출력(I/O) 회로(122) 및 부분 기입 로직(124) (또는, 참조를 간략하게 하기 위해서, 로직(124))을 포함한다. I/O 회로(122)는 (C/A(102), DQ(104), 및/또는 CRC(106)와 같은) 하나 이상의 상호접속을 통해 신호들을 수신 및/또는 송신하기에 적합한 회로를 포함한다. 도시를 간략하게 하기 위해서, I/O 회로(122)는 단일 로직 블록으로서 도시된다. 그러나 I/O 회로(122)에 의해 제공되는 기능들이 반드시 메모리 장치(120) 상에 배치될 필요는 없는 로직에 의해 수행될 수 있다는 것이 이해되어야 한다.
로직(124)은 메모리 장치(120)가 (예를 들면, 데이터 마스크 비트들이 없는) 정상 기입 프레임 또는 (예를 들면, 데이터 마스크 비트들을 갖는) 부분 기입 프레임을 코어(126)에 기입하는 것을 가능하게 한다. 로직(124)은 정상 기입(W) 또는 부분 기입(Wm) 중 어느 하나로서 트랜잭션(transaction)을 디코드할 수 있다. 만약 트랜잭션이 Wm이면, 그 후 로직(124)은 부분 기입 프레임에 의해 제공된 데이터 마스크 비트들을 이용하여 부분 기입 프레임 내의 선택된 데이터 비트들을 마스킹한다. 로직(124)의 선택된 양태들은 도 9를 참고하여 아래에서 더 논의된다.
도 2는 본 발명의 실시예에 따른, 부분 기입 프레임 포맷의 하나의 예를 도시한다. 도시된 실시예에서, 데이터 버스는 8비트 폭(예를 들면, DQ[7:0])이고, 각 기입 프레임은 8개의 사용자 구간(user interval; UI) 전송들(예를 들면, UI0-UI7)을 갖는다. 대안적인 실시예들에서, 데이터 버스는 다른 폭(예를 들면, 4, 16, 32 등)을 가질 수 있고 및/또는 프레임(200)은 다른 개수의 UI를 가질 수 있다.
소정의 실시예에서, 부분 기입 트랜잭션 동안, 프레임(200)에서 전송될 수 있는 8 바이트의 데이터 중 적어도 1 바이트의 데이터는 프레임(200)에서 전송될 필요는 없다. 즉, 데이터 비트들을 전달하는 데 사용될 필요는 없기 때문에(비트 들이 마스킹되고 있으므로), 프레임(200)의 UI 중 하나가 데이터 마스크 비트들을 전달하는 데 사용될 수 있다. 소정의 실시예에서, 제1 UI(예를 들면, UI0)이 데이터 마스크 비트들(예를 들면, 8개의 데이터 마스크 비트들)을 전달하는 데 사용된다. DMn이 일반적인 데이터 마스크 비트를 나타내는 것을 허용할 때, DMn이 1과 같다면, 그 후 대응하는 바이트-n이 마스킹된다. 부분 기입 프레임의 바이트들에 데이터 마스크 비트들을 매핑하는 예들은 도 3 내지 도 8을 참조하여 아래에서 더 논의된다.
소정의 실시예에서, 부분 기입 로직(예를 들면, 도 1에 도시된 호스트 부분 기입 로직(112))은 부분 기입 프레임의 바이트들에 대한 바이트 매핑에 관한 하나 이상의 규칙을 구현한다. 바이트 매핑에 관한 규치들은 그 규칙들을 구현하는 로직을 단순화 및/또는 최적화 하도록 선택될 수 있다. 바이트 매핑 규칙들의 예들은 도 3 내지 도 8을 참조하여 논의된다. 그러나 대안적인 실시예들에서, 상이한 바이트 매핑 규칙들이 사용될 수 있다는 것이 이해되어야 한다.
예시적인 바이트 매핑 규칙 1
소정의 실시예에서, 만약 프레임(예를 들면, 프레임(200))의 바이트들 중 하나가 마스킹되면, 그 후 나머지 바이트들(예를 들면, 8 바이트를 갖는 프레임에서 나머지 7 바이트)는 순차적으로, 예를 들면, UI1 내지 UI7로 할당된다. 도 3 내지 도 5는 하나의 바이트가 마스킹되는 부분 기입 프레임의 세 개의 예를 도시한다. 도 3을 참조하면, DM0이 프레임(300)의 UI0에서 1로 설정된다. 그리하여, 바이트 0이 마스킹되고 바이트들 1 내지 7은 순차적으로 UI1 내지 UI7에 매핑된다.
도 4는 DM1이 1로 설정되는 프레임(400)을 도시한다. DM1이 1로 설정되기 때문에, 바이트 1이 마스킹된다. 그리하여, 바이트 0은 UI1에 매핑되고 바이트들 2 내지 7은 순차적으로 UI2 내지 UI7에 매핑된다. 도 5를 참조하면, DM2는 프레임(400)의 UI0에서 1로 설정된다. 그리하여, 바이트 0 및 바이트 1이 각각 UI1 및 UI2에 매핑된다. 게다가, 바이트들 3 내지 7은 UI3 내지 UI7에 순차적으로 매핑된다.
예시적인 바이트 매핑 규칙 2
소정의 실시예에서, 만약 2 이상의 바이트가 마스킹되면(예를 들어, 둘 이상의 DM 비트가 설정된다면), 그 후 마스킹된 바이트들 중 가장 낮은 순서의 바이트는 프레임에 할당되지 않는다. 나머지 바이트들(예를 들면, 도시된 예들에서 나머지 7 바이트)은 UI1 내지 UI7에 순차적으로 할당된다. 순차적인 순서는 UI1에서 UI7로 증가한다.
도 6 내지 도 8은 적어도 2 바이트가 마스킹되는 부분 기입 프레임의 세 개의 예를 도시한다. 도 6을 참조하면, DM0, DM1 및 DM6은 프레임(600)의 UI0 에서 1로 설정된다. 그리하여, 바이트 0은 프레임(600)에 할당되지 않고, 바이트 1이 UI1에 할당되고, 바이트 6이 UI6에 할당된다. 바이트들 1 내지 7은 UI1 내지 UI7에 순차적으로 매핑된다. 소정의 실시예에서, 프레임에 할당된 마스킹된 바이트의 비트들은 0으로 설정된다(예를 들면, 프레임(600)의 바이트들 1 및 6).
도 7은 DM0 및 DM6가 1로 설정되는 프레임(700)을 도시한다. 그리하여, 바이트 0은 프레임(700)에 할당되지 않고, 바이트들 1 내지 7이 UI1 내지 UI7에 순차 적으로 매핑된다. 마스킹된 바이트 6의 비트들은 UI6에 도시되는 바와 같이 0으로 설정된다. 도 8을 참조하면, DM1 및 DM7이 프레임(800)의 UI0에서 1로 설정된다. 그리하여, 바이트 1은 프레임(800)에 할당되지 않는다. 바이트들 0 내지 7(할당되지 않은 바이트 1은 건너뜀)은 UI1 내지 UI7에 순차적으로 매핑된다. 대안적인 실시예들에서, 부분 기입 프레임에 바이트들을 매핑하는데 상이한 규칙들이 사용될 수 있다.
도 9는 본 발명의 실시예에 따른, 부분 기입 프레임들을 지원하기 위해 메모리 장치 내에 구현된 로직의 선택된 양태들을 도시하는 회로도이다. 로직(900)은 데이터가 정상 기입 프레임에 도착하든지 부분 기입 프레임에 도착하든지 간에 메모리 장치(예를 들면, DRAM)가 메모리 코어에 데이터를 적절하게 기입하는 것이 가능하게 한다. 소정의 실시예에서, 이하의 로직이 로직(900)에 의해 구현된다. 정상 기입 프레임에 대하여, 바이트 n이 UIn에 할당된다. 부분 기입 프레임에 대하여, 바이트 n이 UIn 또는 UI(n+1) 중 하나에 할당된다. 대안적인 실시예들에서, 로직(900)은 다른 로직을 구현할 수 있다. 소정의 실시예에서, 메모리 장치는 기입 프레임의 각 데이터 바이트에 대하여 로직(900)의 인스턴스를 포함한다(예를 들어, 기입 프레임이 8 바이트의 데이터를 포함하는 실시예에서 로직(900)의 8개의 인스턴스).
로직(900)은 2:1 멀티플렉서(902)를 포함한다. 멀티플렉서(902)는 UIn 입력(904) 및 UI(n+1) 입력(906)을 포함한다. AND 게이트(908)의 출력은 멀티플렉서(902)에 대한 입력을 선택한다. 소정의 실시예에서, 메모리 장치는 W 또는 Wm 중 어느 하나로서 트랜잭션을 디코드한다. 만약 트랜잭션이 W라면, 그 후 DM_en은 0과 같고 AND 게이트(908)의 출력은 0이다. 그리하여, 입력 UIn은 프레임이 정상 기입 프레임인 경우에 선택된다.
만약 트랜잭션이 Wm이면, 그 후 DM_en은 1과 같다. 만약 "n"보다 낮은 모든 DM 비트가 0으로 설정된다면, 그 후 입력 UI(n+1)이 선택된다. 만약 DM 비트들 중 하나 이상이 1로 설정되면, 그 후 입력 UIn이 선택된다. 대안적인 실시예들에서, DRAM은 다른 로직을 구현할 수 있다.
도 10은 본 발명의 실시예에 따른, 메모리 장치에 데이터 마스크 비트들을 송신하기 위한 방법의 선택된 양태들을 도시하는 흐름도이다. 프로세스 블록(1002)을 참조하면, 호스트(예를 들면, 도 1에 도시된 호스트(110))는 부분 기입 커맨드(예를 들면, Wm)를 메모리 장치(예를 들면, 도 1에 도시된 메모리 장치(120))에 발행한다. 소정의 실시예에서, 호스트는 메모리 컨트롤러이고 메모리 장치는 DRAM이다.
프로세스 블록(1004)을 참조하면, 호스트는 부분 기입 프레임을 N 비트 폭 데이터 버스(예를 들면, 도 1에 도시된 DQ(104))를 통하여 휘발성 메모리 장치에 전송한다. 소정의 실시예에서, 부분 기입 프레임은 부분 기입 프레임의 데이터 비트들의 적어도 일부를 마스킹하기 위한 하나 이상의 데이터 마스크 비트를 포함한다. 소정의 실시예에서, 호스트는 도 3 내지 도 8을 참조하여, 위에서 논의된 것과 같은 규칙들을 구현하여 데이터 바이트들에 대한 바이트 매핑을 판정한다. 게다가, 메모리 장치는 정상 기입 프레임들 및 부분 기입 프레임들 양자를 적절하게 처리하기 위한 로직(예를 들면, 도 9에 도시된 로직(900))을 포함한다.
도 11은 본 발명의 실시예에 따른, x16 장치에 대한 부분 기입 프레임 포맷의 일례를 도시한다. 프레임(1100)은 16 비트 폭 데이터 버스를 통하여 전송되는 8개의 UI(UI0 내지 UI7)를 포함한다. UI0은 DM 비트들(DM0 내지 DM15)을 포함한다. DM0 내지 DM7은 DQ0 내지 DQ15를 통하여 전송된 데이터 비트들을 커버한다. 유사하게, DM8 내지 DM15는 DQ8 내지 DQ15를 통하여 전송된 데이터 비트들을 커버한다. 그리하여, 소정의 실시예에서, x16 장치에 대한 프레임 포맷은 두 개의 x8 프레임을 서로 겹쳐서 쌓은 것과 사실상 동일하다. 즉, DQ0 내지 DQ7을 통하여 전송된 바이트들에 대한 바이트 매핑은 도 3 내지 도 8을 참조하여 위에서 기술된 규칙들에 따라 DM0 내지 DM7의 값들에 의해 판정된다. 유사하게, DQ8 내지 DQ15를 통하여 전송된 바이트들에 대한 바이트 매핑은 위에서 기술된 규칙들에 따라 DM8 내지 DM15의 값들에 의해 판정된다. 대안적인 실시예들에서, x16 장치에 대한 부분 기입 프레임 포맷은 상이할 수 있다.
본 발명의 실시예들의 요소들은 머신-실행가능 명령어(machine-executable instruction)들을 저장하기 위한 머신-판독가능 매체(machine-readable medium)로서 제공될 수 있다. 머신-판독가능 매체는 플래시 메모리, 광학 디스크들, 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) 매체 또는 전자 명령어들을 저장하기에 적합한 다른 유 형의 머신-판독가능 매체를 포함할 수 있으나, 거기에 제한되지는 않는다. 예를 들면, 본 발명의 실시예들은 통신 링크(예를 들면, 모뎀 또는 네트워크 접속)를 경유하여 반송파 또는 다른 전파 매체로 구현된 데이터 신호들을 통해 원격 컴퓨터(예를 들면, 서버)에서 요청 컴퓨터(예를 들면, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
본 명세서 전체에 걸친 "일 실시예" 또는 "실시예"에 대한 언급은 그 실시예와 관련하여 기술된 특별한 특징, 구조 또는 특성들이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다는 것이 이해되어야 한다. 그리하여, 본 명세서의 다양한 부분에서의 "실시예" 또는 "일 실시예" 또는 "대안적인 실시예"에 대한 둘 이상의 언급이 모두 반드시 동일한 실시예를 언급하지는 않는다는 것이 강조되고 이해되어야 한다. 더욱이, 특별한 특징들, 구조들 또는 특성들은 적합하게 본 발명의 하나 이상의 실시예에서 결합될 수 있다.
유사하게, 본 발명의 실시예들의 이전의 기술에서, 하나 이상의 다양한 발명의 양태들의 이해를 돕도록 명세서를 간결하게 하기 위해서, 다양한 특징들이 때때로 단일 실시예, 도면 또는 그들의 설명에서 함께 그룹화된다는 것이 이해되어야 한다. 그러나 이러한 개시 방법은 본 발명이 각 청구범위에서 명백하게 기재된 것보다 많은 특징들을 필요로 한다는 의도를 반영하는 것으로서 해석되어서는 안된다. 오히려, 이하의 청구범위들이 반영하는 바와 같이, 발명의 양태들은 이전에 개시된 단일 실시예의 모든 특징보다 적다. 그리하여, 상세한 설명 이하의 청구범위들은 이로써 본 상세한 설명에 명백하게 포함된다.
본 발명의 실시예들이 한정이 아닌 예로써 도시되며, 첨부된 도면들의 도면에서 유사한 참조번호는 유사한 구성요소를 가리킨다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양태들을 도시하는 고레벨 블록도.
도 2는 본 발명의 실시예에 따른, 부분 기입 프레임 포맷의 하나의 예를 도시하는 도.
도 3 내지 도 5는 하나의 바이트가 마스킹되는 부분 기입 프레임의 세 개의 예를 도시하는 도.
도 6 내지 도 8은 적어도 2 바이트가 마스킹되는 부분 기입 프레임의 세 개의 예를 도시하는 도.
도 9는 본 발명의 실시예에 따른, 부분 기입 프레임들을 지원하기 위해 메모리 장치 내에 구현된 로직의 선택된 양태들을 도시하는 회로도.
도 10은 본 발명의 실시예에 따른, 데이터 마스크 비트들을 메모리 장치에 송신하기 위한 방법의 선택된 양태들을 도시하는 흐름도.
도 11은 본 발명의 실시예에 따른, x16 장치에 대한 부분 기입 프레임 포맷의 일례를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
122: I/O 회로
126: 코어
124: DRAM 부분 기입 로직
106: CRC

Claims (20)

  1. N 비트 폭 데이터 버스(N bit wide data bus)에 결합될 수 있는 집적 회로로서,
    상기 N 비트 폭 데이터 버스는 칩-대-칩 상호접속(chip-to-chip interconnect)의 적어도 일부분을 제공하고, 상기 N 비트 폭 데이터 버스는 휘발성 메모리 장치를 상기 집적 회로에 결합하며,
    상기 집적 회로는
    상기 휘발성 메모리 장치로 부분 기입 커맨드(partial write command)를 발행하기 위한 로직; 및
    상기 N 비트 폭 데이터 버스를 통하여 상기 휘발성 메모리 장치로 기입 프레임을 전송하기 위한 로직
    을 포함하고,
    상기 기입 프레임은 상기 N 비트 폭 데이터 버스를 통하여 전송될 하나 이상의 데이터 마스크 비트를 포함하는 집적 회로.
  2. 제1항에 있어서,
    상기 기입 프레임은 M개의 사용자 구간(user interval; UI) 전송들, UI 0 내지 UI M-1를 포함하고, 상기 하나 이상의 데이터 마스크 비트는 UI 0 동안 전송되는 집적 회로.
  3. 제2항에 있어서,
    N은 8이고 각 UI 전송은 1 바이트의 디지털 정보를 포함하는 집적 회로.
  4. 제3항에 있어서,
    상기 바이트들 중 하나가 마스킹되면, 그 후 나머지 바이트들이 순차적으로 상기 기입 프레임에 할당되는 집적 회로.
  5. 제4항에 있어서,
    2 이상의 바이트가 마스킹되면, 그 후 가장 낮은 순위의 바이트는 상기 기입 프레임에 할당되지 않고 나머지 바이트들은 순차적으로 상기 기입 프레임에 할당되는 집적 회로.
  6. 제5항에 있어서,
    M은 8인 집적 회로.
  7. 제2항에 있어서,
    바이트 n이 UIn 또는 UI(n+1)중 어느 하나에 할당되는 집적 회로.
  8. 제1항에 있어서,
    상기 집적 회로는 메모리 컨트롤러를 포함하는 집적 회로.
  9. 제1항에 있어서,
    상기 메모리 장치는 동적 랜덤 액세스 메모리 장치(dynamic random access memory device)인 집적 회로.
  10. N 비트 폭 데이터 버스와 결합될 수 있는 휘발성 메모리 장치로서,
    상기 N 비트 폭 데이터 버스는 칩-대-칩 상호접속의 적어도 일부분을 제공하고, 상기 N 비트 폭 데이터 버스는 집적 회로를 상기 휘발성 메모리 장치에 결합하며,
    상기 휘발성 메모리 장치는
    상기 N 비트 폭 데이터 버스로부터 기입 프레임을 수신하기 위한 입력/출력 회로 - 상기 기입 프레임은 하나 이상의 데이터 마스크 비트를 포함하고 또한 M개의 UI 전송들, UI 0 내지 UI M-1을 포함하고, 상기 하나 이상의 데이터 마스크 비트는 UI 0 동안 전송됨 - ; 및
    각각의 UI에 대하여, 정상 기입 프레임 또는 부분 기입 프레임 중 어느 하나로서 상기 기입 프레임을 디코드하기 위한 2:1 멀티플렉서
    를 포함하는, 휘발성 메모리 장치.
  11. 제10항에 있어서,
    상기 2:1 멀티플렉서는 UIn 입력 및 UI(n+1) 입력을 포함하는 휘발성 메모리 장치.
  12. 제11항에 있어서,
    상기 기입 프레임이 정상 기입 프레임인 경우, 상기 UIn 입력이 선택되는 휘발성 메모리 장치.
  13. 제11항에 있어서,
    상기 기입 프레임이 부분 기입 프레임인 경우, 상기 UI(n+1) 입력이 선택되는 휘발성 메모리 장치.
  14. 제11항에 있어서,
    상기 휘발성 메모리 장치는 동적 랜덤 액세스 메모리(DRAM) 장치를 포함하는 휘발성 메모리 장치.
  15. N 비트 폭 데이터 버스와 결합될 수 있는 집적 회로를 위하여, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법으로서,
    상기 N 비트 폭 데이터 버스는 칩-대-칩 상호접속의 적어도 일부분을 제공하고, 상기 N 비트 폭 데이터 버스는 상기 휘발성 메모리 장치를 상기 집적 회로에 결합하며,
    상기 방법은
    상기 휘발성 메모리 장치로 부분 기입 커맨드를 발행하는 단계; 및
    상기 N 비트 폭 데이터 버스를 통하여 상기 휘발성 메모리 장치에 부분 기입 프레임을 전송하는 단계
    를 포함하고, 상기 부분 기입 프레임은 하나 이상의 데이터 마스크 비트를 포함하는, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
  16. 제15항에 있어서,
    상기 기입 프레임은 M개의 UI 전송들, UI 0 내지 UI M-1을 포함하고, 상기 하나 이상의 데이터 마스크 비트는 UI 0 동안 전송되는, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
  17. 제16항에 있어서,
    N은 8이고 각 UI 전송은 1 바이트의 디지털 정보를 포함하는, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
  18. 제17항에 있어서,
    상기 바이트들 중 하나가 마스킹되면, 그 후 나머지 바이트들은 순차적으로 상기 기입 프레임에 할당되는, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
  19. 제17항에 있어서,
    2 이상의 바이트가 마스킹되면, 그 후 가장 낮은 순위의 바이트는 상기 기입 프레임에 할당되지 않고 나머지 바이트들이 순차적으로 상기 기입 프레임에 할당되는, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
  20. 제17항에 있어서,
    M은 8인, 하나 이상의 데이터 마스크 비트를 휘발성 메모리 장치로 전송하는 방법.
KR1020080052795A 2007-06-05 2008-06-04 메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치 KR101035158B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/758,248 US8386676B2 (en) 2007-06-05 2007-06-05 Systems, methods, and apparatuses for transmitting data mask bits to a memory device
US11/758,248 2007-06-05

Publications (2)

Publication Number Publication Date
KR20080107290A KR20080107290A (ko) 2008-12-10
KR101035158B1 true KR101035158B1 (ko) 2011-05-17

Family

ID=40095751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080052795A KR101035158B1 (ko) 2007-06-05 2008-06-04 메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치

Country Status (5)

Country Link
US (1) US8386676B2 (ko)
KR (1) KR101035158B1 (ko)
CN (1) CN101364209B (ko)
DE (1) DE102008025196B4 (ko)
TW (1) TWI385525B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102124800B (zh) 2008-08-12 2014-08-20 皇家飞利浦电子股份有限公司 用于在网络中通信的方法及用于其的无线电站和系统
US9619316B2 (en) * 2012-03-26 2017-04-11 Intel Corporation Timing optimization for memory devices employing error detection coded transactions
US9311206B2 (en) 2014-04-15 2016-04-12 Freescale Semiconductor, Inc. Method and apparatus for monitoring general purpose input output, GPIO, signals
US10063474B2 (en) 2015-09-29 2018-08-28 Keysight Technologies Singapore (Holdings) Pte Ltd Parallel match processing of network packets to identify packet data for masking or other actions
KR20200070686A (ko) * 2018-12-10 2020-06-18 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6888760B2 (en) * 2002-02-21 2005-05-03 Micron Technology, Inc. System and method for multiplexing data and data masking information on a data bus of a memory device
US20060148351A1 (en) * 2005-01-06 2006-07-06 Xiaoming Tao Patterned conductive textile sensors and devices
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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4306298A (en) * 1979-10-09 1981-12-15 Texas Instruments Incorporated Memory system for microprocessor with multiplexed address/data bus
JPS5930156A (ja) * 1982-08-09 1984-02-17 Sharp Corp マイクロコンピユ−タシステム
JPH09204243A (ja) * 1996-01-29 1997-08-05 Fujitsu Ltd データ転送方法
US6718444B1 (en) * 2001-12-20 2004-04-06 Advanced Micro Devices, Inc. Read-modify-write for partial writes in a memory controller
US6880026B2 (en) * 2002-05-16 2005-04-12 International Business Machines Corporation Method and apparatus for implementing chip-to-chip interconnect bus initialization
JP2004164579A (ja) * 2002-09-24 2004-06-10 Sharp Corp データバス幅変換装置およびデータ処理装置
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US7676730B2 (en) * 2005-09-30 2010-03-09 Quantum Corporation Method and apparatus for implementing error correction coding in a random access memory
KR100726438B1 (ko) * 2005-10-10 2007-06-11 삼성전자주식회사 예비 비트를 이용한 오류 제어 방법 및 장치
US8429356B2 (en) 2005-11-02 2013-04-23 Ati Technologies Ulc Write data mask method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6888760B2 (en) * 2002-02-21 2005-05-03 Micron Technology, Inc. System and method for multiplexing data and data masking information on a data bus of a memory device
US20060148351A1 (en) * 2005-01-06 2006-07-06 Xiaoming Tao Patterned conductive textile sensors and devices
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

Also Published As

Publication number Publication date
DE102008025196B4 (de) 2017-04-20
CN101364209A (zh) 2009-02-11
KR20080107290A (ko) 2008-12-10
US20080304330A1 (en) 2008-12-11
CN101364209B (zh) 2012-07-18
DE102008025196A1 (de) 2009-03-12
TW200905485A (en) 2009-02-01
TWI385525B (zh) 2013-02-11
US8386676B2 (en) 2013-02-26

Similar Documents

Publication Publication Date Title
US7480759B2 (en) System, method and storage medium for providing data caching and data compression in a memory subsystem
US8196009B2 (en) Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code
KR101242862B1 (ko) 대역내 데이터 마스크 비트 전송을 위한 집적 회로, 방법 및 시스템
JP5015177B2 (ja) 同一のメモリタイプを用いてエラーチェックモード及び非エラーチェックモードをサポートするシステム、方法及び装置
KR101031436B1 (ko) 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책
KR101251100B1 (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
JP5479481B2 (ja) デバイス幅を可変とし、プリフェッチ及びページサイズをスケーラブルとする共通メモリデバイス
KR101035158B1 (ko) 메모리 장치에 데이터 마스크 비트들을 전송하기 위한시스템, 방법, 및 장치
KR102662417B1 (ko) 반도체장치
US11403172B2 (en) Methods for error detection and correction and corresponding systems and devices for the same
US20150095547A1 (en) Mapping memory controller connectors to memory connectors
WO2013147733A1 (en) Timing optimization for memory devices employing error detection coded transactions
JPH10105475A (ja) パリティメモリ装置およびパリティメモリ回路
JP2009151526A (ja) 半導体記憶装置及びその半導体記憶装置を用いたシステム
JPH0457128A (ja) メモリのアクセス装置

Legal Events

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

Payment date: 20140502

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 9