KR101845368B1 - 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑 - Google Patents

메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑 Download PDF

Info

Publication number
KR101845368B1
KR101845368B1 KR1020167004271A KR20167004271A KR101845368B1 KR 101845368 B1 KR101845368 B1 KR 101845368B1 KR 1020167004271 A KR1020167004271 A KR 1020167004271A KR 20167004271 A KR20167004271 A KR 20167004271A KR 101845368 B1 KR101845368 B1 KR 101845368B1
Authority
KR
South Korea
Prior art keywords
memory
memory data
mask
pattern
value
Prior art date
Application number
KR1020167004271A
Other languages
English (en)
Other versions
KR20160034978A (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 KR20160034978A publication Critical patent/KR20160034978A/ko
Application granted granted Critical
Publication of KR101845368B1 publication Critical patent/KR101845368B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

메모리 컨트롤러 커넥터들을 메모리 커넥터들에 매핑하기 위한 디바이스, 시스템, 및 방법이 제공된다. 복수의 메모리 데이터 커넥터들 각각에 대해, 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대한 제1 값과는 상이한 값을 갖는 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 메모리가 프로그래밍된다. 메모리 데이터 커넥터들 각각에 대해, 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령이 발행되고, 판독된 패턴에서의 제1 값을 수신하는 디바이스 데이터 커넥터가 제1 값을 송신하는 선택된 메모리 데이터 커넥터에 매핑된다.

Description

메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑{MAPPING MEMORY CONTROLLER CONNECTORS TO MEMORY CONNECTORS}
본 명세서에 설명된 실시예들은 일반적으로 메모리 컨트롤러가 단일 채널 또는 버스를 통해 그 채널과 메모리 컨트롤러에 결합된 슬롯들과 호환되는 핀 레이아웃을 갖는 다수의 메모리 칩 또는 모듈과 통신하는 메모리 시스템에 관한 것이다.
메모리 컨트롤러는 JEDEC(Joint Electron Device Engineering Council) DDR(Double Date Rate Third Generation) SDRAM(Synchronous Dynamic Random Access Memory) 프로토콜, JEDEC SDRAM LPDDR3(Low Power Double Data Rate 3) 등과 같이, 채널에 결합된 다수의 메모리 모듈들에 의해 사용되는 프로토콜을 지원할 수 있다. 메모리 채널을 이용하기 전에, 메모리 컨트롤러는 동작을 위해 메모리 모듈들 내의 메모리 칩들을 구성한다.
실시예들이 첨부 도면들을 참고하여 예로서 설명되며, 첨부 도면들은 일정한 비율로 그려져 있지 않고, 첨부 도면들에서 같은 참조 번호들이 유사한 요소들을 나타낸다.
도 1은 메모리 시스템을 갖는 시스템의 실시예를 보여준다.
도 2는 메모리 칩의 실시예를 보여준다.
도 3은 메모리 컨트롤러 상의 커넥터들의 메모리 칩 상의 커넥터들로의 스위즐(swizzle)의 실시예를 보여준다.
도 4는 메모리 컨트롤러 데이터 커넥터를 메모리 칩 상의 하나의 데이터 커넥터와 관련시키는 커넥터 매핑의 실시예를 보여준다.
도 5a 및 5b는 메모리 컨트롤러가 메모리 칩으로부터의 데이터 커넥터들을 메모리 컨트롤러 상의 데이터 커넥터들에 매핑하는 동작들의 실시예를 보여준다.
도 6은 메모리 칩 상의 커넥터를 메모리 컨트롤러 상의 커넥터에 매핑하기 위해 송신되는 비트 패턴의 실시예를 보여준다.
소정의 메모리 구현들에서, 메모리 칩 상의 데이터 입력 또는 출력 커넥터들(예컨대, DQ 핀들)은 라우팅을 위해 최적화하기 위해 스위즐된다. 이 스위즐링 때문에, 메모리 컨트롤러는 핀들을 동적으로 디스위즐(deswizzle)하고, 이는 메모리 컨트롤러 상의 핀들을 메모리 칩 또는 모듈 상의 핀들에 매핑하는 것을 결정하는 것을 수반한다. DQ 핀들은 DQ 핀들을 커버하는 데이터 스트로브의 수에 따라서 니블(nibble) 또는 바이트 내에서 스위즐될 수 있다. 단일 데이터 스트로브가 한 바이트를 커버하고 있다면, DQ 핀들은 해당 바이트 내에서 스위즐되고 길이 매칭된다. 그러나, LPDDR2 및 LPDDR3와 같은 소정의 메모리 디바이스들은 스위즐링을 허용하지 않는다. DDR4와 같은 다른 메모리 디바이스들은 메모리 컨트롤러 상의 핀들을 메모리 모듈 상의 핀들에 매핑하는 것을 결정하기 위한 복잡한 트레이닝 방법들을 제공한다. DDR4에서는, MPR(multi-purpose register)로부터의 판독을 위해 직렬 및 병렬 동작 모드가 정의된다.
설명된 실시예들은 매핑할 메모리 칩 상의 커넥터들 각각에 대한 비트 패턴의 인스턴스들을 송신하도록 메모리 칩을 프로그래밍하는 것에 의해, 메모리 컨트롤러가, 데이터 입력 및 출력 핀들(DQ 핀들)과 같은, 메모리 칩 상의 데이터 커넥터들을 메모리 컨트롤러 상의 커넥터들에 매핑하는 것을 결정하는 기법들을 제공한다. 패턴의 송신의 각 인스턴스에서, 메모리 컨트롤러는 데이터 커넥터들 중 다른 것에서 수신되는 상이한 비트 값과 대조적으로 제1 비트 값을 수신하는 메모리 컨트롤러 상의 커넥터를 결정한다. 메모리 컨트롤러는 비트 패턴들의 송신의 인스턴스로부터 제1 비트 값을 송신하는 메모리 디바이스 커넥터를 결정하고, 따라서 제1 값을 송신하는 메모리 칩 커넥터를 그 제1 값을 수신하는 메모리 컨트롤러 상의 커넥터에 매핑할 수 있다. 이 매핑이 수행되면, I/O 동작을 위해 메모리 컨트롤러와 메모리 칩을 준비시키기 위해 판독 트레이닝 시퀀스가 수행될 수 있다. 이하의 설명에서는, 본 발명의 보다 철저한 이해를 제공하기 위하여 로직 구현들, 연산 코드들, 피연산자들을 지정하는 수단, 리소스 분할/공유/복제 구현들, 시스템 구성 요소들의 유형들 및 상호 관계들, 및 로직 분할/통합 선택들과 같은 다수의 구체적인 세부 사항들이 제시된다. 그러나, 통상의 기술자라면 본 발명이 그러한 구체적인 세부 사항들이 없이도 실시될 수 있다는 것을 알 것이다. 다른 경우에, 본 발명을 모호하게 하지 않기 위하여 제어 구조들, 게이트 레벨 회로들 및 완전한 소프트웨어 명령어 시퀀스들은 상세히 제시되지 않았다. 통상의 기술자들은, 포함된 설명들을 이용하여, 과도한 실험 없이 적절한 기능을 구현할 수 있을 것이다.
본 명세서에서 "하나의 실시예", "실시예", "예시적인 실시예" 등의 언급들은 설명된 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있다는 것을 나타내지만, 모든 실시예가 반드시 그 특정한 특징, 구조, 또는 특성을 포함하는 것은 아닐 수 있다. 더욱이, 그러한 구절들은 반드시 동일한 실시예를 언급하고 있는 것은 아니다.
이하의 설명과 청구항들에서는, "결합된" 및 "연결된"이라는 용어들과 함께 그 파생어들이 사용될 수 있다. 이러한 용어들은 서로에 대한 동의어로서 의도된 것이 아니라는 것을 이해해야 한다. "결합된"은, 서로 직접 물리적 또는 전기적 접촉을 하고 있거나 그렇지 않을 수 있는, 둘 이상의 요소가 서로 협력하거나 상호 작용하는 것을 나타내기 위해 사용된다. "연결된"은, 서로 결합되어 있는 둘 이상의 요소 간의 통신의 설정을 나타내기 위해 사용된다. 소정의 실시예들은 메모리 디바이스들 전자 어셈블리들과 관련된다. 실시예들은 전자 어셈블리들을 형성하기 위한 디바이스들과 방법들 모두를 포함한다.
도 1은 버스(104)를 통하여, 추가 저장소 또는 메모리, 디스플레이 디바이스들, 입력 디바이스들, 등등과 같은 하나 이상의 입력/출력(I/O) 디바이스들(106a, 106b)과 연결하는 하나 이상의 프로세서(102)를 포함하는 컴퓨팅 시스템(100)의 실시예를 보여준다. 프로세서(102) 집적 회로는 메모리 칩들(200a, 200b)과 메모리 컨트롤러(108) 간에 신호들을 라우팅하는 메모리 채널(110)을 통하여 메모리 칩들(200a, 200b)과 통신하는 메모리 컨트롤러(108)를 포함할 수 있다. 메모리 칩들(200a, 200b)은 "패키지 온 패키지(package on package)" 구현과 같은 프로세서(102) 패키지 상에 직접 실장될 수 있는데, 여기서 메모리 칩들(200a, 200b)은 프로세서(102)의 상부에 이들 사이에 신호들을 라우팅하는 메모리 채널(110) 표준 인터페이스를 이용해 설치된다. 대안적으로, 메모리 칩들(200a, 200b)은 프로세서(102) 위에 칩 적층 구현으로 적층될 수 있거나, 메모리 디바이스들(200a, 200b)은 프로세서(102)와 메모리 컨트롤러(108)를 구현하는 동일한 집적 회로 다이에 구현될 수 있다. 메모리 디바이스들(200a, 200b)은 메모리 채널(110)을 통해 메모리 컨트롤러(108)와 통신한다. 또 다른 실시예에서, 메모리 칩들(200a, 200b)은 시스템(100) 마더보드 상에 개별 패키지들에 또는 단일 메모리 모듈 또는 패키지 상에 다수의 칩들에 구현될 수 있다.
메모리 컨트롤러(108)는 메모리 컨트롤러(108)의 동작들을 구현하는 로직(112) 및 메모리 채널(110) 상의 HMC 데이터 커넥터들을 메모리 칩들(200a, 200b) 중 하나의 메모리 데이터 커넥터들에 매핑하는 것을 제공하는 커넥터 맵(400)을 포함하고, 따라서 메모리 데이터 커넥터들이 스위즐되는 경우에는, 커넥터 맵(400)은 HMC 데이터 커넥터들과 메모리 칩 데이터 커넥터들 간의 관계를 제공하여 그들 간의 통신을 허용한다. 각 메모리 칩(200a, 200b)에 대해 하나의 개별 커넥터 맵(400)이 있을 수 있다.
하나의 실시예에서, 시스템(100)은 모바일 또는 소형 컴퓨터 디바이스, 예를 들어 스마트폰, 디지털 카메라, 등등을 포함하고, 메모리 칩들(200a, 200b)은 LPDDR(Low Power Double Data Rate) 메모리 칩들, 예를 들어 LPDDR3, LPDDR4, 등등을 포함할 수 있다. 대안적인 실시예들에서, 메모리 칩들(200a, 200b)은 DDR(Double Data Rate) 메모리들과 같은 다른 메모리 칩들을 포함할 수 있다. 추가 실시예들에서, 메모리 칩들(200a, 200b)은 메모리 모듈에 실장될 수 있다. 추가 실시예들에서, 시스템(100)은 모바일 또는 소형 컴퓨팅 디바이스 이외의 컴퓨팅 디바이스를 포함할 수 있다.
도 2는 메모리 칩들(200a, 200b) 중 하나를 포함하는 메모리 칩(200)의 실시예를 보여준다. 메모리 칩(200)은 모드 레지스터 비트들(202), 메모리 컨트롤러(108)로부터의 명령들, 예컨대, 판독, 기입, 및 모드 레지스터 명령들에 응답하여 동작들을 수행하는 메모리 로직(204), 및 메모리 칩(200)에 대한 데이터를 주소 지정 가능 위치들(addressable locations)에 저장하는 메모리 저장 셀들(206)을 포함한다. 모드 레지스터 비트들(202)은 동작 모드를 정의하는 데 이용될 수 있다.
메모리 로직(204)과 메모리 컨트롤러 로직(112)을 구현하는 코드 또는 로직은 하드웨어 로직으로, 예를 들어 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), 등등으로 인코딩될 수 있다.
도 3은 커넥터들의 커넥터 레이아웃의 배열을 보여주는데, 여기서 커넥터들은 HMC(108) 커넥터들 및 메모리(200) 커넥터들의 핀들, 솔더 볼들, 또는 기타 전기적으로 결합하는 구조들을 포함한다. 도 3에서, 커넥터 명칭들은, 제한이 아니라 예로서, 차동 클록 입력들(302a, 302b); 클록 인에이블(CKE) 신호 핀들(304a, 304b); 명령 어드레스(CA) 핀들(306a, 306b); 및 양방향 데이터 입력/출력(I/O)(DQ0...DQ15) 및 입력 데이터 마스크(DM0-DM1) 핀들(308a...308b)을 포함한다. DQ 및 DM 커넥터들(308a 및 308b)은 메모리 컨트롤러(108)와 메모리 모듈(200) 간에 메모리 채널(110)에서 스위즐된다. 메모리 컨트롤러(108)는 메모리 컨트롤러(108) 상의 DQ 및 DM 커넥터들(308a)을 메모리 칩(200) 상의 대응하는 메모리 핀들(308b)과 관련시키는 커넥터 맵(400)을 결정할 필요가 있고, 그것은 메모리(200)의 커넥터 레이아웃에 따라 다를 수 있다. 커넥터 레이아웃에는 추가 목적의 추가 커넥터들이 있을 수 있는데, 예를 들어, 도 3에 도시된 16 비트 버스와 대조적으로, 32 비트 버스를 위한 전력 공급 핀들, 추가 DQ 및 DM 커넥터들이 있을 수 있다.
도 4는 하나의 메모리 컨트롤러 커넥터(402), 예컨대, DQ 및 DM 커넥터를, 메모리 커넥터들(404) 중 하나와 관련시키는 커넥터 맵(400)에서의, 엔트리(400)의 인스턴스의 실시예를 보여준다. 예를 들어, 메모리 컨트롤러(402) 핀은 핀 번호를 포함할 수 있고, 메모리 모듈 핀(404)은 핀 이름, 예컨대, DQ0-DQ15, DM0, DM1, 등등을 식별할 수 있다.
도 5a 및 5b는 메모리 컨트롤러 로직(110)이 데이터 커넥터들, 예컨대, DQ0-DQ15에 대한 커넥터 맵(400)을 결정하는 것을 허용하기 위해 메모리 컨트롤러 로직(110)과 메모리 모듈 컨트롤러(202)에 의해 수행되는 동작들의 실시예를 보여준다. 디스위즐하거나 메모리 컨트롤러 데이터(HMC) 커넥터들(308a)을 메모리 데이터 커넥터들(308b), 예컨대, DQ 커넥터들에 매핑하는 동작을 개시할 때(블록 500에서), HMC 로직(112)은 (블록 502에서) 적어도 하나의 패턴 모드 레지스터 비트(202)를 메모리 데이터 커넥터들에 대한 패턴으로 프로그래밍하기 위해 HMC 명령 및 주소 커넥터들(306a)을 통해 적어도 하나의 모드 레지스터(MR) 설정 명령을 송신한다. 예를 들어, 하나의 구현에서, 데이터 커넥터들(DQ0-DQ7)에 대한 패턴들을 위한 비트와 커넥터들(DQ8-DQ15)에 대한 패턴을 위한 또 다른 모드 레지스터 비트를 제공하는 하나의 모드 레지스터가 있다면, 이러한 패턴 모드 레지스터 비트들 각각은 커넥터들(DQ0-DQ15)에 대한 출력할 패턴 값, 예를 들어 0으로 프로그래밍될 것이다. 메모리(200) 상의 데이터 커넥터들의 수에 따라서 더 많거나 더 적은 수의 패턴 모드 레지스터 비트들이 있을 수 있다.
패턴 모드 레지스터 비트들을 프로그래밍하기 위한 적어도 하나의 명령을 송신하는 것에 응답하여, 메모리 로직(204)은 (블록 504에서) 데이터 커넥터들, 예컨대 DQ0-DQ15에 대한 패턴 값들을 제공하는 패턴 모드 레지스터 비트들(202)을 제공된 패턴 값, 예컨대 0으로 설정한다.
모드 레지스터들(202)에 대한 패턴을 프로그래밍한 후에, HMC 로직(112)은 (블록 506에서) 변수 i를 0으로 설정한 다음 커넥터 맵(400)에서 매핑할 각각의 데이터 커넥터(예컨대, DQ0-DQ15)에 대해 블록 508, 512, 및 532-542에서 동작들을 수행한다.
HMC 로직(112)은 (블록 508에서) 메모리 데이터 커넥터 i를 마스킹할 것을 나타내는 적어도 하나의 마스크 모드 레지스터(202)를 프로그래밍하기 위해 HMC 명령 및 주소 커넥터들(306a)을 통해 적어도 하나의 설정 명령을 송신하고, 여기서 커넥터 i 이외의 다른 메모리 데이터 커넥터들은 마스킹되지 않는다. 마스크에 대한 적어도 하나의 모드 레지스터 설정 명령에 응답하여, 메모리 로직(204)은 (블록 510에서) 메모리 데이터 커넥터 i를 마스킹할 것을 나타내도록 적어도 하나의 마스크 모드 레지스터 비트(202)를 설정한다. 마스크는 마스킹된 것으로 나타내어지는 데이터 커넥터에 대한 패턴 값을 반전시킬 것을 나타낼 수 있고, 따라서 마스킹된 데이터 커넥터에 대해서는 다른 데이터 커넥터들에 대해 생성된 값과는 상이한 제1 값이 생성된다.
예를 들어, 2개의 패턴 모드 레지스터와 마스킹할 메모리 데이터 커넥터를 나타내는 2개의 마스크 모드 레지스터가 있다면, DQ0-DQ15에 대한 패턴 모드 레지스터들, 예컨대 MR32 및 MR40은 0으로 설정될 수 있고, 마스크 모드 레지스터들, 예컨대 MR15 및 MR20 중 하나는 패턴 값, 예컨대 0과는 상이한 값, 예컨대 1로서 출력되도록 마스킹 또는 반전시킬 데이터 커넥터를 나타내도록 설정될 수 있다. 따라서 마스크는 마스킹할 데이터 커넥터 또는 패턴 값이 반전될 데이터 커넥터를 나타내는 반면, 패턴 값, 예컨대 0은 마스킹되지 않은 데이터 커넥터들에 대해 출력된다. 데이터 커넥터들에 대한 다수의 마스크 모드 레지스터가 있고, 여기서 각각의 마스크 모드 레지스터가 데이터 커넥터들의 상이한 서브세트에 대응할 수 있다면, 마스킹할 데이터 커넥터를 포함하지 않은 마스크 모드 레지스터들은 마스킹되지 않는다. 예를 들어, DQ0이 패턴 값, 예컨대 0과는 상이한 값, 예컨대 1을 출력하도록 마스킹되거나, 반전될 것이라면, DQ0-DQ7에 대한 마스크 모드 레지스터로서의 MR15는 DQ0을 마스킹할 것을 나타내고, 여기서 DQ08-DQ15에 대한 MR20 레지스터는 DQ0이 마스킹될 것이기 때문에 어떤 데이터 커넥터 DQ8-DQ15도 마스킹되지 않는다는 것을 나타낸다.
메모리 데이터 커넥터 i를 마스킹하도록 마스크 모드 레지스터를 프로그래밍할 명령을 송신한 후에, 제어는 도 5b의 블록 512로 진행하고 여기서 HMC 로직(112)은 메모리 데이터 커넥터들(DQ0-DQ15)에 대한 패턴 및 마스크 모드 레지스터 비트들(202)에 나타내어진 데이터를 출력하기 위해 메모리 칩(200)에 판독 트레이닝 명령을 송신한다. 판독 트레이닝 명령을 수신하면, 메모리 로직(204)은 (블록 516에서) 변수 j를 0으로 설정하고 만약 (블록 518에서) 마스크 모드 레지스터 비트들(202) 중 하나가 데이터 메모리 커넥터 j, 예컨대, DQj를 마스킹할 것을 나타낸다면, 메모리 로직(204)은 (블록 520에서) 데이터 커넥터에 대한 패턴 모드 레지스터에 나타내어진 값의 반전된 패턴 값을 출력한다. 이렇게 하여, 마스크는 반전 기능이 수행되는 비트를 나타낸다. 만약 (블록 518에서) 어떤 마스크 모드 레지스터(202)도 데이터 커넥터 j를 마스킹할 것을 나타내지 않는다면, 메모리 로직(204)은 (블록 522에서) 메모리 데이터 커넥터 j에 대한 패턴 모드 레지스터(202)에 나타내어진 패턴 값을 출력한다. (블록 520 또는 522로부터) 메모리 데이터 커넥터 j에 대해 출력할 값을 결정한 후에, 만약 메모리 데이터 커넥터 j가 매핑할 마지막 메모리 데이터 커넥터가 아니라면, j는 증분되고(블록 528에서) 제어는 블록 518로 진행하여 다음 메모리 데이터 커넥터에 대해 출력할 다음 값, 예컨대, 패턴 값 또는 반전된 패턴 값을 결정한다. 만약 (블록 526에서) 메모리 데이터 커넥터 j가 매핑할 마지막 것이라면, 메모리 로직(204)은 (블록 530에서) 판독 명령을 위해, 마스킹된 메모리 데이터 커넥터 j(예컨대, 제1 반복을 위한 DQ0)에 대한 제1의 반전된 값(예컨대, 1)과 다른 메모리 데이터 커넥터들(예컨대, 제1 반복에서 DQ1-DQ15)에 대한 상이한 패턴 값(예컨대, 0)을 포함하는, 대응하는 데이터 메모리 커넥터들에 대한 모든 출력된 데이터를 반환한다.
도 6은 제1 메모리 데이터 커넥터 DQ0(602)를 매핑하기 위해 출력되는 패턴(600)의 실시예를 보여주는데, 여기서 DQ1은 다른 모든 데이터 커넥터들 DQ2-DQ15에 대한 패턴 값과는 상이한 마스킹된 제1 값, 예컨대 1을 갖는다.
메모리 컨트롤러(104)가 (블록 532에서) 모든 HMC 데이터 커넥터들(308a)(DQ0-DQ15)에 대한 판독 데이터를 수신하면, HMC 로직(204)은 (블록 534에서) 반전된 제1 값, 예컨대 1을 수신하는 HMC 데이터 커넥터를 결정하고, 여기서 다른 모든 HMC 데이터 커넥터들은 패턴 값, 예컨대 0을 수신한다. 메모리(200)에 대한 커넥터 맵(400)은 (블록 536에서) 마스크 모드 레지스터들(202)에서 그 마스크가 프로그래밍된 메모리 데이터 커넥터 i를 반전된 마스크 제1 값을 수신하는 결정된 HMC 데이터 메모리 커넥터와 관련시키도록 업데이트된다. 만약 (블록 538에서) 메모리 데이터 커넥터 i가 매핑할 마지막 메모리 데이터 커넥터, 예컨대 DQ15 또는 i = 15라면, 판독 트레이닝 모드가 종료된다(블록 540에서). 그렇지 않고, 매핑할 추가 데이터 메모리 커넥터들, 예컨대 DQ(i+l)-DQ15가 있다면, i가 증분되고(블록 542에서) 제어는 도 5a의 블록 508로 돌아가서 매핑할 다음 메모리 데이터 커넥터에 대한 마스크 모드 레지스터 비트들(202)을 프로그래밍한다.
설명한 실시예들에 의하면, 패턴은 매핑되는 데이터 메모리 커넥터들에 대한 메모리 모드 레지스터 비트들(202)에서 먼저 프로그래밍되고, 매핑할 데이터 메모리 커넥터에 대응하는 마스크 모드 레지스터는 매핑할 커넥터에 대한 값을 반전시킬 것을 나타내도록 설정된다. 이렇게 하여, HMC(108)가 트레이닝 모드에서 데이터 메모리 커넥터들(308b)에 대한 패턴 모드 레지스터들에 나타내어진 패턴을 판독할 때, 마스킹된 데이터 커넥터에 대한 값은 그 패턴으로부터 반전되어 다른 데이터 커넥터에 대해 사용된 패턴 값과는 상이한 제1 값, 예컨대 1을 생성한다. 이것은 HMC(108)가 마스킹된 또는 반전된 비트를 수신한 HMC 데이터 커넥터(308a)를 결정하기 위해 마스킹된 메모리 데이터 커넥터(308b)를 식별하는 것을 가능하게 하고, 즉, 메모리 채널(110)을 통해 마스킹된 메모리 데이터 커넥터(308b)에 연결되어 메모리 데이터 커넥터들(308b)의 스위즐링을 가능하게 한다. 판독 및 기입 동작들 동안에, HMC(108)는 커넥터 맵(400)을 이용하여, 데이터를 송신한 메모리 데이터 커넥터(308b)를 결정한다.
소정의 실시예들에서, 패턴은 패턴 모드 레지스터들에서 1회, 그리고 반전된 값이 출력될 데이터 커넥터를 나타내도록 마스크를 설정하기 위한 동작들의 반복을 매핑할 각각의 데이터 커넥터에 대해 프로그래밍된다.
소정의 설명한 실시예들에 의하면, 다목적 모드 레지스터들이 패턴 및 마스킹된 데이터 커넥터를 나타내도록 프로그래밍되고, 여기서 패턴은 1회 설정되고 마스크는 매핑할 각각의 메모리 데이터 커넥터에 대해 설정된다. 대안적인 실시예들에서는, 판독 트레이닝에서 이용되는 값들을 설정하기 위해 이용될 수 있는 메모리 내의 다른 유형의 레지스터들이 데이터 커넥터들에 대한 패턴을 1회 그리고 메모리 데이터 커넥터들(308b) 각각을 통하여 동작들을 특정 반복에서 매핑되는 데이터 커넥터에 대한 마스크를 설정하는 데 이용될 수 있다.
데이터 커넥터들이 매핑되면, HMC(108)는 판독들을 위해 데이터 버스 반전을 온시키고 메모리에 DMI 핀들의 반전을 야기할 소정의 패턴을 프로그래밍하는 것에 의해 데이터 마스크 커넥터들(DMI 핀들)을 매핑할 수 있고, 따라서 DMI 핀들 각각은 핀들 각각을 매핑할 때 개별적으로 반전될 수 있다. 예를 들어, 하나의 패턴이 DQ0-DQ7에 대해 메모리(200)에 모두 1이 기입되는 것이면, 판독은 DMI0 핀이 1로 설정되고 DQ0-DQ7 상의 반전된 데이터가 모두 0인 것을 야기할 것이다.
설명된 실시예들은 메모리 데이터 커넥터들 각각에 대해 매핑할 메모리 데이터 커넥터들 상의 비트 패턴들의 인스턴스를 송신하도록 메모리 칩을 프로그래밍하는 것에 의해 메모리 컨트롤러에서 메모리 칩 상의 핀들을 디스위즐하기 위한 기법들을 제공하고, 메모리 데이터 커넥터들 각각에 대해, 해당 데이터 커넥터의 매핑이 가능하도록 하나의 마스킹된 데이터 커넥터를 제외한 모든 데이터 커넥터들에 대해 패턴 값이 송신된다. 그 후 메모리 컨트롤러(108)는 제1 비트 반전된 값을 수신하는 HMC 데이터 커넥터를, 메모리 데이터 커넥터들 중 다른 것에 대해 송신된 값과는 상이한, 반전된 제1 값을 송신하도록 프로그래밍된 데이터 커넥터에 매핑할 수 있다. 이것은 메모리 칩과 메모리 컨트롤러가 상이한 핀 레이아웃 아키텍처들을 갖는 시스템들에서 동작할 수 있도록 메모리 칩(200) 상의 데이터 커넥터들의 디스위즐링을 허용한다.
설명된 실시예들의 로직 또는 코드는, 전자 회로, 저장 재료, 무기 재료, 유기 재료, 생물학적 재료, 케이싱, 하우징, 코팅, 및 하드웨어 중 적어도 하나를 포함하는, "컴퓨터 판독 가능 저장 매체"에 저장 또는 기록될 수 있다. 컴퓨터 판독 가능 저장 매체는, 자기 저장 매체(예컨대, 하드 디스크 드라이브, 플로피 디스크, 테이프, 등등), 광 저장소(CD-ROM, DVD, 광 디스크, 등등), 휘발성 및 비휘발성 메모리 디바이스(예컨대, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시 메모리, 펌웨어, 프로그래머블 로직, 등등), 솔리드 스테이트 디바이스(SSD), 등등을 포함할 수 있지만, 이들에 제한되지는 않는다. 설명된 동작들을 구현하는 코드는 또한 하드웨어 디바이스로 구현된 하드웨어 로직(예컨대, 집적 회로 칩, 프로그래머블 게이트 어레이(Programmable Gate Array)(PGA), 주문형 집적 회로(Application Specific Integrated Circuit)(ASIC), 등등)으로 구현될 수도 있다. 또한, 설명된 동작들을 구현하는 코드는 "송신 신호들"로 구현될 수도 있고, 여기서 송신 신호들은 광섬유, 구리선, 등등과 같은 송신 매체를 통하여 또는 공간을 통하여 전파할 수 있다. 코드 또는 로직이 인코딩되어 있는 송신 신호들은 또한 무선 신호, 위성 송신, 전파, 적외선 신호, 블루투스, 등등을 포함할 수 있다. 컴퓨터 판독 가능 저장 매체에 포함된 프로그램 코드는 송신 스테이션 또는 컴퓨터로부터 수신 스테이션 또는 컴퓨터로 송신 신호들로서 송신될 수도 있다. 컴퓨터 판독 가능 저장 매체는 송신 신호들만으로 구성되지 않는다. 통상의 기술자들은 본 발명의 범위를 벗어나지 않고 이러한 구성에 대해 많은 수정들이 이루어질 수 있고, 제조 물품은 관련 기술분야에 알려진 적합한 정보 운반 매체를 포함할 수 있다는 것을 인식할 것이다.
본 명세서의 전반에 걸쳐 "하나의 실시예" 또는 "실시예"에 대한 언급은 그 실시예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다는 것이 이해되어야 한다. 그러므로, 본 명세서의 여러 부분들에서 "실시예" 또는 "하나의 실시예" 또는 "대안 실시예"에 대한 둘 이상의 언급은 반드시 모두가 동일 실시예를 언급하고 있는 것은 아니라는 것이 강조되고 이해되어야 한다. 또한, 그 특정한 특징들, 구조들 또는 특성들은 본 발명의 하나 이상의 실시예에서 적합한 것으로 결합될 수 있다.
유사하게, 전술한 실시예들의 설명에서는, 다양한 발명 양태들 중 하나 이상의 이해에 도움이 되는 본 개시를 간소화할 목적으로 다양한 특징들이 때때로 단일 실시예, 도면, 또는 그의 설명에서 한데 모아진다는 것이 이해되어야 한다. 그러나, 이러한 개시의 방법은 청구된 주제가 각 청구항에 명백히 기재되어 있는 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 발명의 양태들은 단 하나의 전술한 개시된 실시예의 모든 특징들보다는 적은 특징들에 있다. 따라서, 상세한 설명 뒤에 오는 청구항들은 이로써 이 상세한 설명에 명백히 포함된다.
예들
다음의 예들은 추가 실시예들과 관련이 있다.
예 1은 메모리 채널을 통해 메모리에 결합된 디바이스로서, 상기 메모리는 상기 메모리 채널에의 메모리 데이터 커넥터들을 포함하는 메모리 커넥터들을 가지며, 상기 디바이스는 상기 메모리 상의 상기 메모리 데이터 커넥터들에 연결되는 디바이스 데이터 커넥터들을 포함하는 상기 메모리 채널에의 디바이스 커넥터들; 실행될 때, 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 상기 선택된 메모리 데이터 커넥터 이외의 데이터 커넥터들에 대한 상기 제1 값과는 상이한 값을 갖는 상기 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 상기 메모리를 프로그래밍하는 것; 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령을 발행하는 것; 상기 판독된 패턴에서의 상기 제1 값을 수신하는 상기 디바이스 데이터 커넥터를 상기 제1 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 것을 수행하는 것을 포함하는 동작을 수행하는 로직을 포함한다.
예 2에서, 예 1의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 패턴을 송신하도록 상기 메모리를 프로그래밍하는 것은 상기 메모리 데이터 커넥터들에 대해 상기 메모리에 상기 패턴을 1회 프로그래밍하는 것; 및 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 3에서, 예 2의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 4에서, 예 3의 주제는, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 5에서, 예 4의 주제는, 상기 마스크는 상기 메모리가 상기 제1 값을 생성하기 위해 상기 마스크에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대한 상기 패턴 내의 값을 반전시키게 하는 것을 선택적으로 포함할 수 있다.
예 6에서, 예 3의 주제는, 상기 메모리에 상기 패턴을 프로그래밍하는 것과 상기 메모리 데이터 커넥터들 각각에 대해 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것을 수행하는 것은 상기 메모리의 모드 레지스터에 비트들을 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 7에서, 예 3의 주제는, 상기 패턴을 프로그래밍하는 것은 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 8에서, 예 7의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 제1 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 9에서, 예 8의 주제는, 상기 적어도 하나의 패턴 모드 레지스터 비트는 상기 메모리 데이터 커넥터들에 대해 모두 0인 패턴을 나타내고, 상기 제1 값은 1을 포함하는 것을 선택적으로 포함할 수 있다.
예 10에서, 예 8의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 제1 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴을 출력하게 하고, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 것을 선택적으로 포함할 수 있다.
예 11에서, 예 7의 주제는, 상기 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것은 복수의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 각각의 패턴 모드 레지스터 비트는 상기 메모리 데이터 커넥터 핀들의 서브세트에 대한 패턴 값들을 제공하고, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 제1 값이 생성되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 복수의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 12는 메모리 컨트롤러; 메모리 모듈; 메모리 데이터 커넥터들을 포함하는 상기 메모리 모듈 상의 메모리 커넥터들과 데이터를 송신하기 위해 각각이 상기 메모리 데이터 커넥터들 중 하나에 연결되는 메모리 컨트롤러 데이터 커넥터들을 포함하는 상기 메모리 컨트롤러 상의 메모리 컨트롤러 커넥터들을 포함하여, 상기 메모리 컨트롤러와 상기 메모리 모듈을 결합하는 메모리 채널을 포함하는 시스템이다. 상기 메모리 컨트롤러는, 실행될 때, 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 상기 선택된 메모리 데이터 커넥터 이외의 데이터 커넥터들에 대한 상기 제1 값과는 상이한 값을 갖는 상기 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 메모리를 프로그래밍하는 것; 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령을 발행하는 것; 상기 판독된 패턴에서의 상기 제1 값을 수신하는 상기 디바이스 데이터 커넥터를 상기 제1 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 것을 수행하는 것을 포함하는 동작을 수행하는 로직을 포함한다.
예 13에서, 예 12의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 패턴을 송신하도록 상기 메모리를 프로그래밍하는 것은 상기 메모리 데이터 커넥터들에 대해 상기 메모리에 상기 패턴을 1회 프로그래밍하는 것; 및 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 14에서, 예 13의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 15에서, 예 14의 주제는, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 16에서, 예 14의 주제는, 상기 패턴을 프로그래밍하는 것은 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 것은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 것을 선택적으로 포함할 수 있다.
예 17에서, 예 16의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 제1 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 18에서, 예 17의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 제1 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴을 출력하게 하고, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 것을 선택적으로 포함할 수 있다.
예 19는 복수의 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대한 상기 제1 값과는 상이한 값을 갖는 상기 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 메모리를 프로그래밍하는 단계; 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령을 발행하는 것; 상기 판독된 패턴에서의 상기 제1 값을 수신하는 디바이스 데이터 커넥터를 상기 제1 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 것을 수행하는 단계를 포함하는 방법이다.
예 20에서, 예 19의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 패턴을 송신하도록 상기 메모리를 프로그래밍하는 단계는 상기 메모리 데이터 커넥터들에 대해 상기 메모리에 상기 패턴을 1회 프로그래밍하는 단계; 및 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 단계를 포함하는 것을 선택적으로 포함할 수 있다.
예 21에서, 예 20의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 단계는 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 단계를 포함하는 것을 선택적으로 포함할 수 있다.
예 22에서, 예 21의 주제는, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 23에서, 예 21의 주제는, 상기 패턴을 프로그래밍하는 단계는 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 단계를 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 단계는 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 단계를 포함하는 것을 선택적으로 포함할 수 있다.
예 24에서, 예 23의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 제1 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 25에서, 예 24의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 단계는 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 제1 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴을 출력하게 하고, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 것을 선택적으로 포함할 수 있다.
예 26은 복수의 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대한 상기 제1 값과는 상이한 값을 갖는 상기 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 메모리를 프로그래밍하는 수단; 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령을 발행하는 수단; 및 상기 판독된 패턴에서의 상기 제1 값을 수신하는 디바이스 데이터 커넥터를 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 수단을 포함하는 장치이다.
예 27에서, 예 25의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 패턴을 송신하도록 상기 메모리를 프로그래밍하는 수단은 상기 메모리 데이터 커넥터들에 대해 상기 메모리에 상기 패턴을 1회 프로그래밍하는 수단; 및 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 28에서, 예 24의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것의 인스턴스를 수행하는 수단은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 29는 메모리 채널을 통해 메모리에 결합된 디바이스로서, 상기 메모리는 상기 메모리 채널에의 메모리 데이터 커넥터들을 포함하는 메모리 커넥터들을 가지며, 상기 디바이스는 상기 메모리 상의 상기 메모리 데이터 커넥터들에 연결되는 디바이스 데이터 커넥터들을 포함하는 상기 메모리 채널에의 디바이스 커넥터들; 상기 메모리 데이터 커넥터들 각각에 대해, 상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터에 대한 제1 값 및 상기 선택된 메모리 데이터 커넥터 이외의 데이터 커넥터들에 대한 상기 제1 값과는 상이한 값을 갖는 상기 메모리 데이터 커넥터들에 대한 패턴을 송신하도록 상기 메모리를 프로그래밍하는 수단; 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리 데이터 커넥터들에 대한 패턴을 판독하기 위한 판독 명령을 발행하는 수단; 및 상기 판독된 패턴에서의 상기 제1 값을 수신하는 상기 디바이스 데이터 커넥터를 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 수단을 포함한다.
예 30에서, 예 29의 주제는, 상기 메모리 데이터 커넥터들 각각에 대해 상기 패턴을 송신하도록 상기 메모리를 프로그래밍하는 수단은 상기 메모리 데이터 커넥터들에 대해 상기 메모리에 상기 패턴을 1회 프로그래밍하는 수단; 및 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 31에서, 예 30의 주제는, 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 수단은 상기 메모리 데이터 커넥터들 각각에 대해 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 32에서, 예 31의 주제는, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 33에서, 예 32의 주제는, 상기 마스크는 상기 메모리가 상기 제1 값을 생성하기 위해 상기 마스크에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대한 상기 패턴 내의 값을 반전시키게 하는 것을 선택적으로 포함할 수 있다.
예 34에서, 예 31의 주제는, 상기 메모리에 상기 패턴을 프로그래밍하는 수단과 상기 메모리 데이터 커넥터들 각각에 대해 상기 선택된 메모리 데이터 커넥터를 나타내도록 상기 메모리를 프로그래밍하는 것을 수행하는 것은 상기 메모리의 모드 레지스터에 비트들을 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 35에서, 예 31의 주제는, 상기 패턴을 프로그래밍하는 수단은 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 수단을 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 마스크를 프로그래밍하는 수단은 상기 제1 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 36에서, 예 35의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 제1 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 것을 선택적으로 포함할 수 있다.
예 37에서, 예 36의 주제는, 상기 적어도 하나의 패턴 모드 레지스터 비트는 상기 메모리 데이터 커넥터들에 대해 모두 0인 패턴을 나타내고, 상기 제1 값은 1을 포함하는 것을 선택적으로 포함할 수 있다.
예 38에서, 예 36의 주제는, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 수단은 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 제1 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴을 출력하게 하고, 상기 제1 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 것을 선택적으로 포함할 수 있다.
예 39에서, 예 35의 주제는, 상기 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 수단은 복수의 패턴 모드 레지스터 비트를 프로그래밍하는 수단을 포함하고, 각각의 패턴 모드 레지스터 비트는 상기 메모리 데이터 커넥터 핀들의 서브세트에 대한 패턴 값들을 제공하고, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 수단은 상기 제1 값이 생성되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 복수의 마스크 모드 레지스터 비트를 프로그래밍하는 수단을 포함하는 것을 선택적으로 포함할 수 있다.
예 40은 상기 예들 29-39 중 임의의 것의 상기 디바이스와 상기 메모리를 포함하는 시스템이다.

Claims (27)

  1. 디바이스로서,
    메모리 상의 메모리 데이터 커넥터들에 연결되는 메모리 채널에 연결되는 디바이스 데이터 커넥터들; 및
    로직
    을 포함하고,
    상기 로직은 실행될 때,
    상기 메모리 데이터 커넥터들의 각각에 대해 출력할 값을 지정하는 패턴을 나타내도록 상기 메모리를 프로그래밍하고;
    상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터들을 포함하는 메모리 데이터 커넥터들 각각에 대해,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하고 - 상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것은 상기 선택된 메모리 데이터 커넥터가 상기 패턴에 의해 지정된 값과는 상이한 마스크 값을 출력하게 함 -;
    상기 메모리 데이터 커넥터들에 대한 값들의 패턴을 판독하기 위한 판독 명령을 발행하고;
    상기 디바이스 데이터 커넥터들 중 상기 판독된 패턴에서의 상기 마스크 값을 수신하는 디바이스 데이터 커넥터를 상기 마스크 값을 송신하는 선택된 메모리 데이터 커넥터에 매핑하는,
    디바이스.
  2. 삭제
  3. 제1항에 있어서,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것은 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 것을 포함하는 디바이스.
  4. 제3항에 있어서,
    상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 디바이스.
  5. 제4항에 있어서,
    상기 마스크는 상기 메모리가 상기 마스크 값을 생성하기 위해 상기 마스크에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대한 상기 패턴 내의 값을 반전(invert)시키게 하는 디바이스.
  6. 제3항에 있어서,
    상기 패턴을 나타내도록 상기 메모리를 프로그래밍하는 것과 상기 메모리 데이터 커넥터들 각각에 대해 상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것을 수행하는 것은 상기 메모리의 모드 레지스터에 비트들을 프로그래밍하는 것을 포함하는 디바이스.
  7. 제3항에 있어서,
    상기 패턴을 나타내도록 상기 메모리를 프로그래밍하는 것은 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리를 프로그래밍하는 것은 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 디바이스.
  8. 제7항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 마스크 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 디바이스.
  9. 제8항에 있어서,
    상기 적어도 하나의 패턴 모드 레지스터 비트는 상기 메모리 데이터 커넥터들에 대해 모두 0인 패턴을 나타내고, 상기 마스크 값은 1을 포함하는 디바이스.
  10. 제8항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 마스크 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴에 대한 값을 출력하게 하고, 상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 디바이스.
  11. 제7항에 있어서,
    상기 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것은 복수의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 각각의 패턴 모드 레지스터 비트는 메모리 데이터 커넥터 핀들의 서브세트에 대한 패턴 값들을 제공하고, 상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 마스크 값이 생성되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 복수의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 디바이스.
  12. 시스템으로서,
    메모리 컨트롤러;
    메모리 모듈; 및
    상기 메모리 모듈 상의 메모리 데이터 커넥터들 및 상기 메모리 컨트롤러 상의 메모리 컨트롤러 데이터 커넥터들을 포함하는, 상기 메모리 컨트롤러와 상기 메모리 모듈을 결합하는 메모리 채널 - 상기 메모리 컨트롤러 데이터 커넥터들의 각각은 데이터를 송신하기 위해 상기 메모리 데이터 커넥터들 중 하나에 연결됨 -
    을 포함하고,
    상기 메모리 컨트롤러는 로직을 포함하고, 상기 로직은,
    상기 메모리 데이터 커넥터들의 각각에 대해 출력할 값을 지정하는 패턴을 나타내도록 상기 메모리 모듈을 프로그래밍하고;
    상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터를 포함하는 메모리 데이터 커넥터들의 각각에 대해,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리 모듈을 프로그래밍하고 - 상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리 모듈을 프로그래밍하는 것은 상기 선택된 메모리 데이터 커넥터가 상기 패턴에 의해 지정된 값과는 상이한 마스크 값을 출력하게 함 -;
    상기 메모리 데이터 커넥터들에 대한 값들의 패턴을 판독하기 위한 판독 명령을 발행하고;
    상기 메모리 컨트롤러 데이터 커넥터들 중 상기 판독된 패턴에서의 상기 마스크 값을 수신하는 메모리 컨트롤러 데이터 커넥터를 상기 마스크 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는,
    시스템.
  13. 삭제
  14. 제12항에 있어서,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리 모듈을 프로그래밍하는 것은 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리 모듈에 프로그래밍하는 것을 포함하는 시스템.
  15. 제14항에 있어서,
    상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 시스템.
  16. 제14항에 있어서,
    상기 패턴을 나타내도록 상기 메모리 모듈을 프로그래밍하는 것은 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 것을 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리 모듈을 프로그래밍하는 것은 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 마스크 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 시스템.
  18. 제17항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 것은 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 마스크 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴을 출력하게 하고, 상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 시스템.
  19. 방법으로서,
    복수의 메모리 데이터 커넥터들의 각각에 대해 출력할 값을 지정하는 패턴을 나타내도록 메모리를 프로그래밍하는 단계;
    상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터를 포함하는, 상기 메모리에 연결된 메모리 데이터 커넥터들 각각에 대해,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 단계 - 상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것은 상기 선택된 메모리 데이터 커넥터가 상기 패턴에 의해 지정된 값과는 상이한 마스크 값을 출력하게 함 -;
    상기 메모리 데이터 커넥터들에 대한 값들의 패턴을 판독하기 위한 판독 명령을 발행하는 단계; 및
    디바이스 데이터 커넥트들 중 상기 판독된 패턴에서의 상기 마스크 값을 수신하는 디바이스 데이터 커넥터를 상기 마스크 값을 송신하는 상기 선택된 메모리 데이터 커넥터에 매핑하는 단계
    를 포함하는 방법.
  20. 삭제
  21. 제19항에 있어서,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 단계는 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 단계를 포함하는 방법.
  22. 제21항에 있어서,
    상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 패턴에 나타내어진 값과는 상이한 방법.
  23. 제19항에 있어서,
    상기 패턴을 나타내도록 상기 메모리를 프로그래밍하는 단계는 상기 패턴을 나타내도록 적어도 하나의 패턴 모드 레지스터 비트를 프로그래밍하는 단계를 포함하고, 상기 메모리 데이터 커넥터들 각각에 대해 상기 메모리를 프로그래밍하는 단계는 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내도록 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 단계를 포함하는 방법.
  24. 제23항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트에서 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해 출력된 상기 마스크 값은 상기 적어도 하나의 패턴 모드 레지스터 비트에서 상기 선택된 메모리 데이터 커넥터에 대해 제공된 값과는 상이한 방법.
  25. 제24항에 있어서,
    상기 적어도 하나의 마스크 모드 레지스터 비트를 프로그래밍하는 단계는 상기 메모리가 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 상기 선택된 메모리 데이터 커넥터에 대해서는 상기 마스크 값을 출력하고 상기 선택된 메모리 데이터 커넥터 이외의 메모리 데이터 커넥터들에 대해서는 상기 적어도 하나의 패턴 모드 레지스터 비트에 나타내어진 패턴에 대한 값을 출력하게 하고, 상기 마스크 값은 상기 선택된 메모리 데이터 커넥터에 대해 상기 적어도 하나의 마스크 모드 레지스터 비트에 나타내어진 패턴 내의 값의 반전을 포함하는 방법.
  26. 장치로서,
    로직을 포함하는 메모리 컨트롤러를 포함하고,
    상기 로직은,
    복수의 메모리 데이터 커넥터들의 각각에 대해 출력할 값을 지정하는 패턴을 나타내도록 상기 메모리를 프로그래밍하고;
    상기 메모리 데이터 커넥터들 중 선택된 메모리 데이터 커넥터들을 포함하는, 상기 메모리에 연결된 메모리 데이터 커넥터들 각각에 대해,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하고 - 상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것은 상기 선택된 메모리 데이터 커넥터가 상기 패턴에 의해 지정된 값과는 상이한 마스크 값을 출력하게 함 -;
    상기 메모리 데이터 커넥터들의 각각에 대해 상기 메모리 데이터 커넥터들에 대한 값들의 패턴을 판독하기 위한 판독 명령을 발행하고;
    디바이스 데이터 커넥터들 중 상기 판독된 패턴에서의 마스크 값을 수신하는 디바이스 데이터 커넥터를 상기 메모리 데이터 커넥터들의 각각에 대해 상기 마스크 값을 송신하는 선택된 메모리 데이터 커넥터에 매핑하는,
    장치.
  27. 제26항에 있어서,
    상기 선택된 메모리 데이터 커넥터를 마스킹하도록 상기 메모리를 프로그래밍하는 것은 상기 마스크 값이 송신되는 상기 선택된 메모리 데이터 커넥터를 나타내는 마스크를 상기 메모리에 프로그래밍하는 것을 포함하는 장치.
KR1020167004271A 2013-09-27 2013-09-27 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑 KR101845368B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062474 WO2015047352A1 (en) 2013-09-27 2013-09-27 Mapping memory controller connectors to memory connectors

Publications (2)

Publication Number Publication Date
KR20160034978A KR20160034978A (ko) 2016-03-30
KR101845368B1 true KR101845368B1 (ko) 2018-04-05

Family

ID=52741289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167004271A KR101845368B1 (ko) 2013-09-27 2013-09-27 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑

Country Status (6)

Country Link
US (1) US9384164B2 (ko)
EP (2) EP3049942B1 (ko)
JP (1) JP6187841B2 (ko)
KR (1) KR101845368B1 (ko)
CN (1) CN105474187B (ko)
WO (1) WO2015047352A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281067B1 (en) * 2014-08-11 2016-03-08 Samsung Electronics Co., Ltd. Semiconductor test system and operation method of the same
US10496332B2 (en) * 2017-12-18 2019-12-03 Intel Corporation Data path training and timing signal compensation for non-volatile memory device interface
WO2021035435A1 (en) * 2019-08-23 2021-03-04 Micron Technology, Inc. Dynamic channel mapping for memory system
CN111078156B (zh) * 2019-12-27 2023-09-08 深圳大普微电子科技有限公司 一种闪存数据映射方法、dq映射模组及存储设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806447B1 (ko) 2003-06-04 2008-02-21 인텔 코오퍼레이션 단방향 링크를 가지는 메모리 채널
JP4383601B2 (ja) 1999-09-30 2009-12-16 株式会社東芝 高速メモリ装置、高速メモリ装置のソケット実装構造、及び高速メモリ装置の実装方法
US20110153925A1 (en) * 2009-12-22 2011-06-23 Bains Kuljit S Memory controller functionalities to support data swizzling

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370668B1 (en) 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US6801459B2 (en) 2002-03-22 2004-10-05 Intel Corporation Obtaining data mask mapping information
US6957307B2 (en) 2002-03-22 2005-10-18 Intel Corporation Mapping data masks in hardware by controller programming
US7200787B2 (en) 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US20070005836A1 (en) * 2005-06-07 2007-01-04 Sandeep Jain Memory having swizzled signal lines
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7756123B1 (en) 2006-12-21 2010-07-13 Nvidia Corporation Apparatus, system, and method for swizzling of a PCIe link
US7624310B2 (en) * 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
US8495330B2 (en) * 2010-04-02 2013-07-23 Intel Corporation Method and apparatus for interfacing with heterogeneous dual in-line memory modules
JP2012003812A (ja) * 2010-06-18 2012-01-05 Sony Corp 半導体デバイス

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4383601B2 (ja) 1999-09-30 2009-12-16 株式会社東芝 高速メモリ装置、高速メモリ装置のソケット実装構造、及び高速メモリ装置の実装方法
KR100806447B1 (ko) 2003-06-04 2008-02-21 인텔 코오퍼레이션 단방향 링크를 가지는 메모리 채널
US20110153925A1 (en) * 2009-12-22 2011-06-23 Bains Kuljit S Memory controller functionalities to support data swizzling

Also Published As

Publication number Publication date
CN105474187B (zh) 2018-08-21
EP3049942B1 (en) 2021-10-20
EP3812913A1 (en) 2021-04-28
US9384164B2 (en) 2016-07-05
EP3049942A1 (en) 2016-08-03
CN105474187A (zh) 2016-04-06
JP2016532230A (ja) 2016-10-13
US20150095547A1 (en) 2015-04-02
JP6187841B2 (ja) 2017-08-30
EP3049942A4 (en) 2017-05-17
KR20160034978A (ko) 2016-03-30
WO2015047352A1 (en) 2015-04-02
WO2015047352A9 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
US11886754B2 (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
CN109074851B (zh) 利用额外系统位的内部错误校验和校正(ecc)
CN106157996B (zh) 半导体器件
CN106356087B (zh) 具有自适应页大小控制的半导体存储器件
CN107870742B (zh) 向存储装置提供旁路的电子装置、存储装置和计算系统
CN109976665A (zh) 存储器件及包括该存储器件的存储模块
US20140078846A1 (en) Semiconductor memory device capable of performing refresh operation without auto refresh command
US10235300B2 (en) Memory system including memory device and operation method thereof
JP5533963B2 (ja) 構成可能な入出力ポートを伴うメモリモジュール
KR101845368B1 (ko) 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑
US9607667B1 (en) Memory device and electronic apparatus including the same
CN110007850A (zh) 存储器控制器以及用于对存储模块进行访问的方法
US20220171634A1 (en) Data flows in a processor with a data flow manager
KR102366767B1 (ko) 반도체 장치
US9281033B2 (en) Semiconductor devices and semiconductor systems including the same
US10467160B2 (en) Memory channel having more than one DIMM per motherboard DIMM connector
US10504568B2 (en) Integrated circuit memory devices with customizable standard cell logic
US9377957B2 (en) Method and apparatus for latency reduction
US7920433B2 (en) Method and apparatus for storage device with a logic unit and method for manufacturing same
KR20230148431A (ko) Lun 선택 사이클을 갖는 반도체 장치 및 반도체 시스템, 반도체 시스템의 동작 방법
CN115858438A (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