KR102256441B1 - 저전력 메모리 디바이스들에 대한 공통 다이 구현 - Google Patents

저전력 메모리 디바이스들에 대한 공통 다이 구현 Download PDF

Info

Publication number
KR102256441B1
KR102256441B1 KR1020177004637A KR20177004637A KR102256441B1 KR 102256441 B1 KR102256441 B1 KR 102256441B1 KR 1020177004637 A KR1020177004637 A KR 1020177004637A KR 20177004637 A KR20177004637 A KR 20177004637A KR 102256441 B1 KR102256441 B1 KR 102256441B1
Authority
KR
South Korea
Prior art keywords
memory
data
bits
logic
data bus
Prior art date
Application number
KR1020177004637A
Other languages
English (en)
Other versions
KR20170033390A (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 KR20170033390A publication Critical patent/KR20170033390A/ko
Application granted granted Critical
Publication of KR102256441B1 publication Critical patent/KR102256441B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA

Landscapes

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

Abstract

메모리 디바이스 및 메모리 제어기는 메모리 디바이스 내부의 데이터 버스보다 더 좁은 대역폭을 갖는 시스템 데이터 버스를 통해 인터페이스할 수 있다. 메모리 디바이스 및 메모리 제어기는 버스트 길이의 모든 전송 기간들에서 시스템 데이터 버스를 통해 데이터를 전송하지만, 메모리 디바이스의 내부 데이터 버스에서 판독되거나 기록될 수 있는 모든 비트를 전송하도록 교환을 위해 요구되는 것보다 더 적은 비트를 송신한다. 메모리 디바이스는 더 좁은 대역폭 시스템 데이터 버스와 인터페이스하는 능력에 기초하여 공통 메모리 디바이스가 상이한 시스템 구성들에 사용되는 것을 허용하기 위해 상이한 동작 모드들을 가질 수 있다.

Description

저전력 메모리 디바이스들에 대한 공통 다이 구현{COMMON DIE IMPLEMENTATION FOR LOW POWER MEMORY DEVICES}
분야
본 발명의 실시예들은 일반적으로 메모리 디바이스들에 관한 것으로, 특히 상이한 데이터 버스 대역폭을 갖는 메모리 서브시스템들에 대한 공통 메모리 디바이스 구현에 관한 것이다.
저작권 공지/허가
본 특허 문서의 개시 내용의 부분들은 저작권 보호를 받는 자료를 포함할 수 있다. 저작권 소유자는 특허상표청 특허 파일 또는 레코드들에 나타나 있는 특허 문서 또는 특허 개시 내용에 대한 누군가에 의한 복제에 대하여 이의가 없지만, 그렇지 않은 경우에는 모든 저작권 권리들을 보유한다. 저작권 공지는 이하에 설명되고 첨부 도면들에서 기술되는 모든 데이터에 적용될 뿐만 아니라, 이하에 설명되는 임의의 소프트웨어에도 적용된다: 저작권 ⓒ 2014, 인텔(사), 모든 권리가 보유됨.
컴퓨팅 디바이스들은 프로세서가 그것의 동작들을 실행하기 위한 데이터 및 코드를 저장하기 위해 메모리 디바이스들을 사용한다. 종래에 상이한 맥락들에 사용되는 상이한 타입들의 메모리 디바이스들이 있다. 예를 들어, 서버 디바이스들은 채널당 증가된 메모리 용량을 허용하는 메모리 디바이스들을 사용하는 경향이 있다. 따라서, 더 좁은 인터페이스들을 갖는 메모리 디바이스들은 서버들을 위해 선택되는 경향이 있다. 그러나, 그러한 메모리 디바이스들은 더 많은 전력을 소비하는 경향이 있어, 그러한 구성들을 예를 들어 이동 구현들에서 덜 바람직하게 한다. 이동 구현들에 대한 전력의 집중에도 불구하고, 이동 디바이스들은 계속 더 많은 능력이 있게 되고, 더 큰 메모리 용량들을 갖는 메모리 디바이스들에 대한 증가하는 요구가 있다.
저전력 메모리 디바이스들은 특히 전력 관리에 집중되었다. 저전력 메모리 디바이스들은 종래에 채널당 데이터 저장 용량을 제한하는 더 넓은 데이터 버스 인터페이스들(예를 들어, 32 비트 와이드 데이터 버스 인터페이스를 언급하는 x32 디바이스들)로 설계되었지만, 더 전력 효율적인 설계들에 사용될 수 있다. 메모리 디바이스들의 가변 사용들은 다양한 구현들을 위해 메모리 디바이스들을 제조하는 메모리 디바이스 제조자들에게 문제들을 야기할 수 있다. 동일한 용량을 갖지만 상이한 구현들을 위해 의도되는 디바이스들이 이전에 요구되어 2개의 상이한 메모리 다이가 상이한 구현들에 대해 고려되게 한다. 상이한 구현들을 위해 서로의 약간 변형들인 매우 유사한 디바이스들을 제조하는 것은 생산 및 재고 문제들을 야기할 뿐만 아니라, 설계를 증가시키고 비용들을 높일 수 있다.
이하의 설명은 본 발명의 실시예들의 구현들의 예로서 주어지는 예시들을 갖는 도해들의 논의를 포함한다. 도면들은 제한이 아닌 예로서 이해되어야 한다. 본원에 사용되는 바와 같이, 하나 이상의 "실시예들"에 대한 참조들은 본 발명의 적어도 하나의 구현에 포함되는 특정 특징, 구조, 및/또는 특성을 설명하는 것으로 이해되어야 한다. 따라서, 본원에 나타나는 구 예컨대 "일 실시예에서" 또는 "대체 실시예에서"는 본 발명의 다양한 실시예들 및 구현들을 설명하고, 반드시 동일한 실시예를 모두 언급하는 것은 아니다. 그러나, 그것들은 또한 반드시 상호 배타적인 것은 아니다.
도 1은 상이한 대역폭의 시스템 데이터 버스들과 인터페이스되도록 구성될 수 있는 메모리 디바이스를 갖는 시스템의 일 실시예의 블록도이다.
도 2는 상이한 대역폭의 시스템 데이터 버스들과 인터페이스될 수 있는 메모리 디바이스의 일 실시예의 블록도이다.
도 3은 니블 모드 구현에서 시스템 데이터 버스와 인터페이스되는 메모리 디바이스의 일 실시예의 블록도이다.
도 4는 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 메모리 디바이스의 일 실시예의 블록도이다.
도 5는 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 것을 용이하게 하기 위해 내부 라우팅을 갖는 메모리 디바이스의 일 실시예의 블록도이다.
도 6은 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 것을 용이하게 하기 위해 내부 라우팅 및 멀티플렉싱을 갖는 메모리 디바이스의 일 실시예의 블록도이다.
도 7은 상이한 대역폭들의 버스들에 대한 데이터를 교환하기 위해 메모리 제어기와 메모리 디바이스 사이에서 인터페이스하는 프로세스의 일 실시예의 흐름도이다.
도 8은 상이한 대역폭의 데이터 버스들에 인터페이스되는 공통 다이가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다.
도 9는 상이한 대역폭의 데이터 버스들에 인터페이스되는 공통 다이가 구현될 수 있는 이동 디바이스의 일 실시예의 블록도이다.
본원에 제시되는 발명 개념들의 다른 잠재적 실시예들 또는 구현들을 논의할 뿐만 아니라, 아래에 설명되는 실시예들의 일부 또는 전부를 도시할 수 있는 도면들의 설명을 포함하는, 특정 상세들 및 구현들의 설명들이 이어진다.
본원에 설명되는 바와 같이, 메모리 디바이스는 전체 대역폭 구현들 및 더 좁은 대역폭 구현들 둘 다를 지원한다. 메모리 디바이스 및 메모리 제어기는 시스템 데이터 버스를 통해 인터페이스된다. 전체 대역폭 및 더 좁은 대역폭 시스템 버스 구현들 둘 다를 지원하는 메모리 디바이스는 동일한 메모리 디바이스가 더 크거나 더 작은 대역폭을 제공하는 시스템 데이터 버스를 갖는 상이한 구성들에서 사용되는 것을 허용한다. 더 좁은 대역폭 구현을 지원하기 위해, 메모리 디바이스 및 메모리 제어기는 전송 기간들의 버스트 길이 동안 시스템 데이터 버스를 통해 데이터를 전송할 수 있으며, 전송은 모든 전송 기간들에 실제 데이터를 포함하지만 전체 대역폭 구현에 전송되는 더 적은 비트를 포함한다. 더 작은 대역폭 구현은 메모리 디바이스의 내부 전송 용량을 최대화하도록 요구되는 더 적은 대역폭을 가질 것이다. 예를 들어, 판독 또는 기록 시에 N 데이터 비트를 지원하는 메모리 디바이스에 대해, 메모리 디바이스 및 메모리 제어기는 전체 대역폭 구현에서 N 데이터 비트를 교환하거나 부분 또는 더 낮은 대역폭 구현에서 N/2 데이터 비트를 교환할 수 있다. 메모리 디바이스에 의해 사용되는 대역폭의 양을 제한하는 모드를 제공하는 것은 채널당 메모리 디바이스들의 수가 증가될 수 있어, 전체 시스템 용량을 증가시키는 것을 의미한다. 개별 전체 대역폭 및 부분 대역폭 모드들을 제공하는 것은 상이한 구현들에 대한 공통 메모리 디바이스의 사용을 허용한다. 본원에 사용되는 바와 같이, N 비트 또는 N/2 비트 또는 다른 지정의 전송에 대한 참조는 달리 지적되지 않는 한, 데이터 비트들의 전송을 언급하는 것으로 이해될 것이다. 따라서, 판독 또는 기록 시에 N 비트를 지원하는 디바이스는 데이터 버스를 통해 데이터의 N 비트를 전송할 것이고, 커맨드 또는 제어 정보 또는 메타데이터에 대한 다른 비트들을 교환할 수 있다.
메모리 디바이스들의 이전 구현들은 각각의 상이한 메모리 구현에 대한 개별 디바이스 또는 개별 집적 회로(integrated circuit)(I/C) 다이를 가질 것이다. 따라서, x16 구현을 위해 패키지되는 메모리는 x32 구현에서의 사용을 위해 패키지되는 동일한 용량의 메모리와 상이한 다이를 포함할 수 있다. x16는 16 비트 와이드 데이터 I/O(입력/출력) 인터페이스를 갖는 디바이스를 언급하고, x32는 32 비트 와이드 데이터 I/O 인터페이스를 갖는 디바이스를 언급한다는 점이 이해될 것이다. x16, x32, 또는 다른 것으로서 디바이스의 지정은 데이터 버스 대역폭을 언급하고, 상이한 커넥터들 또는 버스들을 통해 동일한 사이클들 중에 데이터의 다른 비트들을 교환하기 위해 디바이스를 제한하지 않는다는 점이 이해될 것이다. 다른 공통 메모리 디바이스 구성들은 x8 및 x4 디바이스들을 포함한다. 본원에 설명되는 바와 같이, 메모리 다이는 다수의 상이한 구현들(예를 들어, x16 및 x32 구현들)에 대한 지원을 포함할 수 있다. 따라서, 공통 메모리 다이는 상이한 구현들을 위해 사용될 수 있다. 공통 메모리 다이는 상이한 구현들을 패키지되고, 및/또는 상이한 대역폭들의 데이터 버스들과 인터페이스되는 시스템 온 칩(system on a chip)(SOC) 설계들 또는 멀티칩 패키지 설계들에 사용될 수 있다.
저전력(Low power)(LP) 메모리 디바이스들은 더 낮은 용량이 소비자 예상들을 충족시켰던 이동 디바이스들(예컨대 이동 전화들)에 종래에 사용되었다. 그러나, 더 낮은 전력에 LP 메모리 디바이스들의 집중은 더 높은 용량의 예상들을 갖는 컴퓨팅 디바이스들(예컨대 랩톱들 및 태블릿들)에 대한 메모리에 관심을 증가시켰다. LP 메모리는 x32 디바이스들로서 종래에 이용가능하였으며, 그것은 용량을 제한한다. 따라서, LP 메모리의 용량을 증가시키는 것은 메모리 디바이스들을 더 깊게 적층함으로써 종래에 단지 가능하였으며, 그것은 로딩을 증가시키고 더 고속 메모리 액세스에 부정적인 영향을 미친다. 일 실시예에서, 더 좁거나 더 넓은 대역폭 버스들과 인터페이스되는 것을 가능하게 하는 메모리 다이는 x16 메모리 디바이스 구현 또는 x32 메모리 디바이스 구현을 위해 사용될 수 있다. 따라서, LP 메모리 다이는 x32 구현들을 여전히 지원하는 동안에 x16 구현들을 지원할 수 있다. x16 구현을 지원하는 것은 랭크당 디바이스들의 수를 두배로 하는 동안에 시스템 레벨에서 동일한 수의 데이터 핀들을 사용함으로써 용량을 두배로 할 수 있다. 메모리의 랭크는 메모리 액세스 동작들 시에 함께 선택되고 액세스되는, 병렬로 함께 편성되는 다수의 디바이스들을 언급한다는 점이 이해될 것이다. 본원에 설명되는 기술들은 LP 메모리에서의 구현에 제한되지 않는다는 점이 이해될 것이다.
메모리 디바이스들에 대한 참조는 상이한 메모리 타입들에 적용될 수 있다. 메모리 디바이스들은 일반적으로 휘발성 메모리 기술들을 언급한다. 휘발성 메모리는 전력이 디바이스에 중단되면 상태(및 따라서 그것 상에 저장되는 데이터)가 비결정되는 메모리이다. 동적 휘발성 메모리는 상태를 유지하기 위해 디바이스에 저장되는 데이터를 리프레시하는 것을 필요로 한다. 동적 휘발성 메모리의 일 예는 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM), 또는 일부 변형 예컨대 동기 DRAM(synchronous DRAM)(SDRAM)을 포함한다. 본원에 설명되는 바와 같은 메모리 서브시스템은 다수의 메모리 기술들, 예컨대, DDR3(dual data rate version 3, 2007년 6월 27일에 JEDEC(Joint Electronic Device Engineering Council)에 의한 최초 릴리스, 현재 릴리스 21), DDR4(DDR version 4, 2012년 9월에 JEDEC에 의해 발행된 초기 사양), LPDDR3(low power DDR version 3, JESD209-3B, Aug 2013 by JEDEC), LPDDR4(LOW POWER DOUBLE DATA RATE (LPDDR) version 4, JESD209-4, 2014년 8월에 JEDEC에 의해 최초 공개됨), WIO2(Wide I/O 2 (WideIO2), JESD229-2, 2014년 8월에 JEDEC에 의해 최초 공개됨), 및/또는 다른 것들, 및 그러한 사양들의 파생들 또는 연장들에 기초한 기술들과 호환가능할 수 있다.
도 1은 상이한 대역폭의 시스템 데이터 버스들과 인터페이스되도록 구성될 수 있는 메모리 디바이스를 갖는 시스템의 일 실시예의 블록도이다. 시스템(100)은 컴퓨팅 디바이스에서 메모리 서브시스템의 요소들을 포함한다. 호스트(110)는 운영 체제(operating system)(OS) 및 애플리케이션들을 실행하는 호스트 컴퓨팅 플랫폼을 나타낸다. OS 및 애플리케이션들은 메모리 액세스들을 야기하는 동작들을 실행한다. 호스트(110)는 단일 또는 멀티코어 프로세서일 수 있는 프로세서 또는 처리 유닛을 포함한다. 시스템(100)은 SOC로서 구현되거나, 독립형 구성요소들로 구현될 수 있다.
메모리 제어기(112)는 프로세서(들)에 의한 동작들의 실행에 응답하여 메모리 액세스 커맨드들을 발생시키는 제어 로직을 나타낸다. 일 실시예에서, 시스템(100)은 다수의 메모리 제어기들을 포함한다. 일 실시예에서, 시스템(100)은 채널당 하나 이상의 메모리 제어기들을 포함하며, 채널은 다수의 메모리 디바이스들에 액세스하기 위해 결합된다. 각각의 채널은 메모리에 대한 독립적인 액세스 경로이다. 일 실시예에서, 메모리 제어기(112)는 호스트 프로세서로서 동일한 다이 또는 패키지 공간 상에 구현되는 로직과 같은, 호스트(110)의 일부이다.
메모리 제어기(112)는 시스템 버스(130)에 결합하기 위해 I/O 인터페이스 로직(114)을 포함한다. 시스템 버스(130)는 대역폭을 가진 데이터 버스를 갖는다. 시스템(100)의 설계 및/또는 구현에 기초하여, 시스템 버스(130)는 메모리 디바이스 당 더 많거나 더 적은 대역폭을 가질 수 있다. 예를 들어, 시스템 버스(130)는 고정 크기이지만 x32 또는 x16 인터페이스를 갖는 메모리 디바이스들을 사용할 수 있다. 메모리 디바이스들의 인터페이스 크기는 메모리 디바이스들이 시스템(100)에서 동시에 얼마나 사용될 수 있는지에 관한 제어 인자이다.
메모리 디바이스들(120)은 시스템(100)에 대한 메모리 자원들을 나타낸다. 각각의 메모리 디바이스(120)는 I/O 인터페이스 로직(124)을 포함하며, 이 로직은 (예를 들어, 그것이 x16이거나 일부 다른 인터페이스 대역폭을 갖든지) 디바이스의 구현에 의해 결정되는 대역폭을 갖는다. I/O 인터페이스 로직(124 및 114)은 디바이스들을 접속하기 위해 핀들, 커넥터들, 신호 라인들, 및/또는 다른 하드웨어를 포함할 수 있다. 시스템 버스(130)는 다수의 신호 라인들이 메모리 제어기(112)를 메모리 디바이스들(120)에 결합하는 것으로 구현될 수 있다. 시스템 버스(130)는 적어도 커맨드 및 어드레스(command and address)(C/A) 부분 및 데이터 부분을 포함한다. C/A 부분은 "C/A 버스"로 언급될 수 있고 데이터 부분은 마찬가지로 "데이터 버스"로 언급될 수 있다.
메모리 디바이스들(120)은 다수의 메모리 어레이들(122)을 각각 포함한다. 메모리 어레이들(122)은 메모리 디바이스(120)가 데이터 비트들을 저장하는 로직을 나타낸다. 일 실시예에서, 메모리 디바이스(120)는 내부 데이터 버스를 갖는 것으로 할 수 있으며, 이 버스는 단일 판독 프리페치에서 생성되는 다수의 비트들을 언급하거나, 기록 커맨드를 위해 기록될 수 있다. 내부 데이터 버스의 대역폭은 메모리 어레이들의 수 및 메모리 어레이들의 설계에 의존할 것이다. 시스템(100)에 구체적으로 도시되지 않지만, 각각의 메모리 디바이스(120)는 또한 실행을 위해 커맨드들 및 어드레스들을 디코딩하여 메모리 어레이들(122)로 라우팅하는 로직뿐만 아니라, 어떤 데이터를 송신하는지 및 버스(130)의 신호 라인들을 구동하여 데이터를 어떻게 송신하는지를 판단하는 송신 및 수신 로직을 포함한다.
메모리 디바이스들(120)은 모드 로직(126)을 각각 포함한다. 모드 로직(126)은 구성 설정들을 저장하는 메모리 디바이스 내에서 모드 레지스터 또는 다른 메커니즘을 언급할 수 있다. 일 실시예에서, 특정 메모리 디바이스에 대한 구현은 모드 로직(126) 내에 설정된다. 모드 로직(126)에서의 설정들에 기초하여, 메모리 디바이스(120)는 메모리 액세스 트랜잭션의 전송 기간당 데이터의 양을 제한하는 방식으로 동작할 수 있다. 메모리 액세스 트랜잭션은 메모리 제어기가 커맨드를 메모리 디바이스에 송신하고, 메모리 디바이스가 커맨드에서 요청을 충족시키는 동작을 언급한다. 예를 들어, 기록 트랜잭션은 메모리 제어기(112)가 기록 커맨드를 메모리 디바이스(120)에 송신하는 것을 포함하며, 메모리 디바이스는 이때 커맨드로 요청되는 위치에 데이터를 저장한다. 유사하게, 판독 트랜잭션은 메모리 제어기(112)가 판독 커맨드를 메모리 디바이스(120)에 송신하는 것을 포함하며, 메모리 디바이스는 데이터에 액세스하고 그것을 데이터 버스를 통해 메모리 제어기(112)에 반환한다. 메모리 액세스 트랜잭션들은 전형적으로 완료하는데 다수의 사이클들이 걸린다. 예를 들어, 판독 및 기록은 버스트 길이에 의해 제어될 수 있으며, 버스트 길이는 시스템 버스(130)를 통해 데이터를 송신/수신 또는 입력/출력하는 다수의 연속 전송 기간들을 표시한다. 전송 기간은 시스템 버스(130)의 신호 라인을 통해 신호를 송신하는 하나의 또는 더 적거나 더 많은 클록 사이클들의 기간이다. 시스템(100)의 목적들을 위해, 모드 로직(126)은 또한 버스트 길이 및 전송 타이밍을 표시하는 로직을 나타낼 수 있으며, 이 로직은 I/O 인터페이스 모드를 표시하기 위해 사용되는 로직과 상이한 로직일 수 있다.
설명의 목적들을 위해, I/O 인터페이스 모드(예를 들어, x16 모드)는 전송 대역폭을 결정할 수 있다. 전송 대역폭은 시스템 버스(130) 상에서 각각의 메모리 디바이스(130)로 또는 이 디바이스로부터 전송되는 데이터의 양을 언급한다. 일 실시예에서, 전송 대역폭은 각각의 전송 기간 동안 고려될 수 있고, 따라서 각각의 전송 기간 동안 메모리 제어기와 데이터를 교환하기 위해 사용되는 I/O 커넥터들 또는 핀들의 수를 언급할 것이다. 일 실시예에서, 전송 대역폭은 메모리 액세스 트랜잭션 동안 전송되는 데이터의 전체 양을 언급할 수 있으며, 그것은 버스트 길이에 곱해지는 I/O 커넥터들의 수 또는 메모리 액세스 트랜잭션을 완료하는 전송 기간들의 전체 수이다. 일 실시예에서, 메모리 디바이스(120)는 제한된 대역폭 인터페이스를 지원하며, 메모리 액세스 트랜잭션들 동안 시스템 버스(130)를 통한 교환들은 메모리 디바이스의 내부 데이터 버스의 비트들의 수의 절반만이다. 더 상세한 예들은 도 2 내지 도 5에 대해 제공된다.
일 실시예에서, 메모리 디바이스(120)는 판독을 위해 프리페치된 것보다 더 적은 비트를 송신하고, 기록을 위해 기록될 수 있는 더 적은 위치들에 기록하는 프로세스에 의해 제한된 대역폭 교환을 제공하는 것으로 간주될 수 있다. 판독 트랜잭션에 대해, 메모리 디바이스는 "내부 버스트 촙(internal burst chop)" 동작을 수행하는 것으로 간주될 수 있다. 버스트 촙은 메모리 디바이스가 BL의 단지 제한된 수의 전송 기간들 동안 데이터를 전송하게 하는 메커니즘으로 이해된다. 예를 들어, 8의 정상 BL 동안, 버스트 촙 모드는 단지 4의 전송 기간들에 데이터의 전송을 야기할 수 있어, 메모리 디바이스를 다른 4 전송 기간들 동안 아이들(데이터를 전송하지 않음) 상태로 방치한다. 그러나, 종래의 버스트 촙은 시스템 구성이 BL의 종료 전까지 메모리 디바이스에 액세스하는 것을 방해하기 때문에, 다른 4 전송 기간들 동안 메모리 디바이스에 대한 액세스를 여전히 방해할 것이다. 따라서, 메모리 디바이스는 아이들이지만 이용가능하지 않다.
본원에서 언급되는 "내부 버스트 촙"은 메모리 디바이스가 BL의 모든 전송 기간들에(그것이 시스템 구성에 의해 이용가능하지 않은 전체 시간 동안에) 데이터를 전송하는 것을 포함하지만 BL에 걸쳐 그것의 데이터 비트들의 모두를 전송하지 않는다. 따라서, 판독 시에, 메모리 디바이스는 모든 프리페치된 데이터를 선택적으로 송신하는 것이 아니라, 프리페치된 데이터의 일부(예를 들어, 절반)를 드롭한다. 설명되는 내부 버스트 촙은 메모리 디바이스가 구현의 효율을 증가시킬 수 있는 전송 기간들의 절반 동안 아이들 상태에 있지 않은 점에서 종래의 버스트 촙과 다르다는 점이 이해될 것이다.
일 실시예에서, 모드(126)는 메모리 디바이스(120)와 메모리 제어기(112) 사이의 인터페이스에 대한 버스트 길이에 관한 정보를 포함한다. 예를 들어, 모드(126)는 2개의 상이한 버스트 길이들(예를 들어, BL16 또는 BL32) 중 하나를 지정하는 모드 레지스터를 포함할 수 있다. 일 실시예에서, 동작의 상이한 모드들 각각은 상이한 버스트 길이들 각각에서 동작할 수 있다.
일 실시예에서, DDR DRAM 칩은 채널당 256 비트를 프리페치한다. 일 실시예에서, DRAM 칩은 2개의 버스트 길이 옵션, 즉, 32의 버스트 길이 및 16의 버스트 길이, 및 2개의 상이한 I/O 인터페이스 옵션, 즉, x32 옵션 및 x16 옵션을 갖는다. 일 실시예에서, 공통 다이 구현은 x32 구현에서 다이에 대해 채널당 16개의 DQ 핀을 허용하고, x16 구현에서 다이에 대해 채널당 8개의 DQ 핀을 허용한다. 구현들 둘 다에 대해, DRAM 칩은 채널당 256 비트의 내부 판독 프리페치를 발생시킨다. x32 구현에서, DRAM 칩은 BL16을 사용하여 16개의 DQ 핀을 통해 256 비트를 전송할 수 있다(16BL 구현에서 16개의 DQ 핀 * 16 전송 기간들). 그러한 일 실시예에서, 시스템은 256 비트의 2개의 내부 프리페치들을 각각 야기하는 BL32 요청을 발생시킬 수 있다. x16 모드에서, 동일한 다이는 32 전송 기간들(8DQ * 32BL)에 걸쳐 모든 256 비트를 전송할 수 있다. 일 실시예에서, 시스템은 외부 데이터 전송이 코어 사이클링 시간의 길이의 2배가 걸리기 때문에 DRAM 칩의 코어 주파수를 느리게 할 수 있다. 따라서, 코어 주파수는 전력을 절약하기 위해 절반으로 축소될 수 있다. 그러한 옵션은 랭크(16 비트 와이드 랭크들) 내의 디바이스들의 수를 2로 제한할 수 있다. 그러한 옵션은 또한 시스템에서 더 많은 호스트 제어기들을 필요로 할 수 있다.
다른 옵션은 16의 버스트 길이를 사용한다. 그러한 옵션은 랭크(32 비트 와이드 랭크들)에서 4개의 디바이스를 사용하는 것을 가능하게 한다. 그러한 옵션에서, 메모리 디바이스는 프리페치된 데이터의 일부를 드롭한다(내부 버스트 촙). 일 실시예에서, 판독 커맨드(예를 들어, CA5)의 신호는 메모리 디바이스들이 데이터의 상부 또는 하부 128 비트를 송신할지를 선택할 수 있다. 상부 128 비트는 메모리 어레이들의 하나의 그룹으로부터 프리페치되고, 하부 128 비트는 메모리 어레이들의 다른 그룹으로부터 프리페치된다. 기록들에 대해, 메모리 제어기는 데이터의 128 비트를 기록하고, 비트들이 판독들과 유사하게, 상부 또는 하부 비트들에 매핑되는지를 제어 신호로 표시할 수 있다. 따라서, 메모리 제어기는 어느 메모리 어레이들이 기록되는 데이터의 128 비트를 저장하는지를 판단할 수 있다.
도 2는 상이한 대역폭의 시스템 데이터 버스들과 인터페이스될 수 있는 메모리 디바이스의 일 실시예의 블록도이다. 메모리 디바이스(200)는 시스템(100)의 메모리 디바이스(120)의 일 예일 수 있다. 일 실시예에서, 메모리 디바이스(200)는 예시되는 것들보다 더 많은 요소를 포함한다. 더 구체적으로, 메모리 디바이스(200)는 단일 I/O 채널을 예시하며, 각각의 채널은 N 비트(예를 들어, 256 비트)를 내부적으로 라우팅한다. 일 실시예에서, 메모리 디바이스(200)는 각각 N 비트를 내부적으로 라우팅할 수 있는 2개의 개별 채널을 포함할 수 있다.
메모리 디바이스(200)는 M개의 메모리 어레이(212)를 포함한다. M개의 메모리 어레이(212)는 그룹(210)의 일부이다. 메모리 어레이들(212)은 다수의 상이한 방식들 중 어느 것으로 그룹들에 조직될 수 있다. 일 실시예에서, 그룹(210)은 N 데이터 비트까지를 판독하거나 기록할 수 있는 다수의 메모리 어레이를 포함한다. 일 실시예에서, 그룹(210)은 N/2 데이터 비트까지를 판독하거나 기록할 수 있는 다수의 메모리 어레이들을 포함한다. 버스(220)는 메모리 디바이스(200) 내에 내부 버스를 나타낸다. 버스(220)는 N 비트의 이용가능 대역폭을 갖는다. 일 실시예에서, N 비트의 이용가능 대역폭은 모든 M개의 메모리 어레이(212)로부터의 비트들을 나타낸다.
로직(222)은 메모리 디바이스(200)가 버스(220)의 N 비트를 2개의 개별 I/O 출력 위치들을 향해 라우팅하는 것을 허용하는 메모리 디바이스(200) 내의 신호 라인들, 로직 회로들, 및/또는 다른 요소들을 나타낸다. 일 실시예에서, 로직(222)은 메모리 어레이들(212)에 대한 인터페이스들을 포함하고 메모리 어레이들 및 어레이들 내의 위치들이 각각의 메모리 액세스 트랜잭션 동안 판독되거나 기록되는지를 선택할 수 있다. 따라서, 메모리 어레이들 내의 특정 위치들은 각각의 트랜잭션 동안 판독 및/또는 기록을 위해 선택될 수 있다. 일 실시예에서, 로직(222)은 특정 메모리 액세스 트랜잭션 동안 하나의 경로 또는 다른 경로를 종료할 수 있다. 예를 들어, 판독 트랜잭션 시에, 메모리 디바이스(200)는 N 비트를 프리페치할 수 있고, N/2 비트는 송신되는 것 없이 드롭될 수 있다. 일 실시예에서, 로직(222)은 기록 트랜잭션 동안 하나의 경로 또는 다른 경로를 디스에이블한다.
로직(232 및 234)은 메모리 디바이스에 대한 데이터 I/O 커넥터들 또는 핀들과 인터페이스되는 메모리 디바이스(200) 내의 신호 라인들, 로직 회로들, 및/또는 다른 요소들을 나타낸다. 구체적으로, 로직(232)은 메모리 어레이들(212)을 DQ I/O(252)와 선택적으로 인터페이스하고, 로직(234)은 메모리 어레이들(212)을 DQ I/O(254)와 선택적으로 인터페이스한다. 지정 DQ I/O는 데이터 버스 인터페이스를 언급한다. 로직 요소들은 로직 요소들이 I/O 커넥터들에서 수신되는 데이터 비트들이 선택된 메모리 어레이들(212)로 라우팅되고 기록되는 것을 선택할 수 있다는 점에서 I/O를 메모리 어레이들과 선택적으로 인터페이스한다. 로직 요소들은 로직 요소들이 메모리 어레이들(212)로부터 수신되는 데이터 비트들이 DQ I/O(252) 및/또는 DQ I/O(254)로부터 라우팅되고 송신되는 것을 선택할 수 있다는 점에서 I/O와 메모리 어레이들을 선택적으로 인터페이스한다.
일 실시예에서, DQ I/O(252) 및 DQ I/O(254)는 커맨드/어드레스(C/A) I/O 커넥터들 또는 핀들(240)을 스트래들링한다. 데이터 I/O 커넥터들은 데이터 I/O 커넥터들이 다이 또는 패키지 상에 모드 물리적으로 인접하는 것이 아니라, C/A I/O 커넥터들(240)에 의해 물리적으로 분리되는 데이터 I/O 커넥터들의 2개의 그룹이 있다는 점에서 C/A I/O 커넥터들을 스트래들링한다. 그러한 구성은 디코드 로직(구체적으로 도시되지 않음)이 데이터 I/O 커넥터들(252, 254)로부터 메모리 어레이들(212)로의 신호 라인들에 대해 메모리 디바이스(200) 내에서 "중심으로" 위치되는 것을 허용할 것이다.
데이터 I/O 커넥터들(252 및 254)은 시스템 데이터 버스(250)의 신호 라인들과 인터페이스된다. 버스(250)는 N/2 비트의 대역폭을 갖는 것으로 표시되는 반면에, 버스(220)는 N 비트의 대역폭을 갖는 것이 관찰될 것이다. 따라서, 버스(250)는 메모리 디바이스(200)와 인터페이스하기 위해 버스(220)의 전체 이용가능 내부 대역폭보다 더 낮은 대역폭을 갖는다. 버스(250)는 (예를 들어, 메모리 디바이스(200)가 메모리 어레이들의 개별 그룹을 갖는 다른 채널을 포함하면) 다수의 다른 메모리 디바이스들 및/또는 다른 메모리 디바이스 채널들에 접속할 수 있다는 점이 이해될 것이다. 따라서, 버스(250)는 버스(250)의 신호 라인들이 상이한 메모리 디바이스들에 개별적으로 접속하기 위해 분리되면 버스(220)보다 더 높은 대역폭을 실제로 가질 수 있다. 그러나, 메모리 디바이스(200)와 인터페이스하는 목적들을 위해, 버스(250)는 어떤 버스(220)가 전송 기간들의 버스트 길이 내에서 전송할 수 있는 것보다 메모리 디바이스(200)를 인터페이스하는 버스(250)의 신호 라인들의 수가 더 낮은 대역폭을 가질 때 더 낮은 대역폭을 갖는 것으로 간주된다.
부가적으로, 버스(250)는 데이터 I/O(252) 및 데이터 I/O(254) 각각에 인터페이스하기 위해 예시되는 비트들의 동일한 수인, N/2 비트의 대역폭을 갖는 것으로 표시되는 것이 관찰될 것이다. 메모리 디바이스(200)를 버스(250)와 인터페이스하기 위해 제공될 수 있는 다수의 상이한 구성들 중 어느 것이 있다. 일 실시예에서, 특정 트랜잭션에 대해, 메모리 디바이스(200)와 연관된 메모리 제어기(구체적으로 도시되지 않음) 사이에서 교환되는 모든 N/2 비트(판독 또는 기록)는 I/O(252) 또는 I/O(254)를 통해 교환되는 반면에, 다른 I/O는 트랜잭션 동안 임의의 비트들을 교환하지 않는다. 따라서, I/O(252) 및 I/O(254)는 동일한 N/2 신호 라인들에 접속할 수 있고, 로직(예를 들어, 로직(232, 234, 222), 및/또는 다른 로직)은 어느 I/O가 특정 메모리 액세스 트랜잭션 동안 사용되는지를 선택할 수 있다.
일 실시예에서, I/O(252) 및 I/O(254) 둘 다는 버스(250)에 각각 인터페이스하기 위해 N/4 I/O 커넥터들을 제공한다. 따라서, 버스(250)는 I/O(252)와 I/O(254) 사이에서 분리된다. 내부로, I/O(252)로부터 로직(232)으로 라우팅되고 및/또는 I/O(254)로부터 로직(234)으로 라우팅되는 N/2 가능한 데이터 비트는 도시된 바와 같이 N/2 비트 대신에 N/4 비트일 수 있다. 일 실시예에서, 로직(234)은 N/4 비트를 선택하고 그들을 I/O(252)로 라우팅하고 I/O(254)를 우회할 수 있다. 따라서, I/O(252)는 모든 N/2 I/O 인터페이스들을 제공할 것이지만, N/4 비트는 로직(232)을 통해 라우팅되고, N/4 비트는 로직(234)을 통해 라우팅된다. 유사하게, 로직(232)은 N/4 비트가 I/O(254)로 라우팅되는 것을 선택할 수 있어, I/O(252)를 우회한다는 점이 이해될 것이다. 따라서, 일 실시예에서, 로직(232) 및/또는 로직(234)은 상이한 메모리 어레이들 사이의 신호 라인들을 동일한 I/O 커넥터들로 선택적으로 라우팅하기 위해 멀티플렉싱 로직을 포함할 수 있다.
일 실시예에서, 메모리 디바이스(200)는 모든 M개의 메모리 어레이 또는 코어로부터 데이터 비트(들)에 액세스함으로써 판독을 위한 N 비트를 항상 발생시킨다. 메모리 디바이스(200)는 N 비트 중의 N/2 비트를 선택하고, 임의의 다른 프리페치된 비트들을 드롭함으로써 버스(250)를 통해 N/2 비트를 교환할 수 있다. 일 실시예에서, 메모리 디바이스(200)는 M/2개의 메모리 어레이(212)의 2개의 상이한 그룹으로부터 N/4 비트를 선택함으로써(및 메모리 어레이들의 2개의 그룹 각각으로부터 액세스되는 다른 N/4 비트를 드롭함으로써) 버스(250)를 통해 N/2 비트를 교환할 수 있다. 일 실시예에서, 메모리 디바이스(200)는 M/2개의 메모리 어레이(212)의 하나의 그룹으로부터 N/2 비트를 선택하고 M/2개의 메모리 어레이(212)의 다른 그룹으로부터 액세스되는 N/2 비트를 드롭함으로써 버스(250)를 통해 N/2 비트를 교환할 수 있다.
유사하게, 메모리 디바이스(200)는 데이터 비트(들)를 모든 M개의 메모리 어레이 또는 코어(212)에 기록함으로써 N 비트를 기록할 수 있다. 일 실시예에서, 메모리 디바이스(200)는 M/2개의 메모리 어레이가 기록되는 것을 선택하고, 다른 M/2개의 메모리 어레이에 기록되지 않음으로써 N 비트 대신에 N/2 비트를 기록한다. 일 실시예에서, 메모리 디바이스(200)는 N/4 비트를 M/2개의 메모리 어레이(212)의 하나의 선택된 그룹에 기록하고, N/4 비트를 M/2개의 메모리 어레이(212)의 다른 선택된 그룹에 기록한다. 그러한 경우에, 메모리 어레이들 내의 로직은 어떤 비트들이 기록되는지를 판단하고, 및/또는 어느 메모리 어레이들이 기록되는지 및 어느 메모리가 특정 메모리 액세스 트랜잭션에 기록되지 않을 수 있는지를 선택할 수 있다. 따라서, 판독들 및 기록들에 대해, 메모리 디바이스(200)는 N/2 비트를 하나의 공통 DQ I/O 또는 다른 것(252, 254)에서 교환하거나 DQ I/O들 둘 다로부터 N/4 비트를 교환할 수 있다. 메모리 디바이스(200)는 M개의 메모리 어레이의 상이한 그룹들이 기록되거나 판독되는 것을 선택할 수 있고, N/2 비트를 하나의 그룹 또는 다른 것으로 라우팅하거나(및 아무것도 비선택된 그룹으로 라우팅하지 않음), N/4 비트를 그룹들 둘 다 각각으로 라우팅할 수 있다.
일 실시예에서, C/A I/O(240)에 의해 분리되는 DQ I/O(252) 및 DQ I/O(254)를 갖는 메모리 디바이스(200)의 구성은 "코어"로부터 N 비트를 제공하고, 메모리 어레이들을 참조하고 비트들을 코어로부터 "상단" 및 "하단" 니블들 또는 전체 I/O의 일부들로 라우팅하는 것으로 언급될 수 있다. "상단" 및 "하단"에 대한 그러한 참조는 물리적 패키징의 공간적 배향보다는 오히려, I/O 커넥터들이 최상위 비트(most significant bit)(MSB) 및 최하위 비트(least significant bit)(LSB)로서 메모리 디바이스(200)에 지정되는 참조로 이해될 것이다. 메모리 어레이들 또는 메모리 코어들을 어떻게 분할하는지, 및 어레이들을 I/O로 어떻게 라우팅하는지, 및 어느 I/O가 패키징 시에 어디에 물리적으로 위치되는지는 설계 선택들이다. 본 기술분야의 통상의 기술자들에 의해 이해되는 다수의 구성들 중 어느 것이 있다.
도 3은 니블 모드 구현에서 시스템 데이터 버스와 인터페이스되는 메모리 디바이스의 일 실시예의 블록도이다. 메모리 디바이스(300)는 도 2의 메모리 디바이스(200)에 따른 메모리 디바이스의 일 예일 수 있다. 일 실시예에서, 메모리 디바이스(300)는 16 코어들 또는 메모리 어레이들을 갖는 x32 다이이다. 16 코어들은 8 코어들 각각의 2개의 그룹들(302, 304)로 조직될 수 있으며, 8 코어들의 각각의 그룹은 게다가 4 코어들 각각의 2개의 그룹들(302-0 및 302-1, 및 304-0 및 304-1)로 생각될 수 있다. 따라서, 일 실시예에서, 메모리 디바이스(300)는 x16의 2개의 채널들(A 및 B)로 조직되는 x32 다이이다.
예시된 바와 같이, 내부 프리페치는 채널당 256 비트를 발생시킨다. 따라서, 각각의 판독/기록 트랜잭션은 데이터의 256 비트가 정상 동작에서 전송되는 것을 야기한다. 메모리 디바이스가 데이터의 전체 256 비트 미만을 전송하는 동작의 모드에 대해, 메모리 디바이스(300)는 니블 모드에서 동작하는 것으로 할 수 있다. 일 실시예에서, 메모리 디바이스(300)는 데이터의 128 비트를 각각의 I/O 인터페이스, DQ_A 니블 0 및 DQ_A 니블 1로 내부적으로 라우팅한다. 일 실시예에서, 메모리 디바이스(300)는 BL16의 버스트 길이에서 동작한다. 일 실시예에서, 메모리 디바이스(300)는 BL32의 버스트 길이 동작을 지원하며, 그것은 판독들에 대해 내부 트랜잭션 당 프리페치되는 데이터의 256 비트를 갖는 2개의 내부 트랜잭션들을 야기한다. BL32에서의 기록은 동작의 더 낮은 대역폭 모드에서 각각 128 비트의 2개의 내부 기록 트랜잭션을 야기할 것이다.
니블 0이 메모리 디바이스(300)와 연관된 메모리 제어기 사이의 I/O에 대한 LSB 니블인 것을 고려한다. BL16에서, 더 낮은 대역폭 모드에 대한 동작은 DQ_A 니블 0 및 DQ_A 니블 1이 모두 4 비트 와이드(128 비트 / 16 BL = 8 비트/전송 기간, 또는 전송 기간에 대해 니블당 4 비트)인 것을 표시할 것이다. I/O를 C/A 버스에 의해 분리되는 2개의 개별 니블로 분리하는 것은 LSB 및 MSB 니블 신호 라인들 중에서 타이밍 위상들을 야기할 수 있다는 점이 이해될 것이다. 따라서, 니블 모드는 상부(상단) 및 하부(하단) 니블들에 대해 개별 스트로브 또는 클록 신호들을 필요로 할 수 있다. 그와 같이, 니블 모드는 메모리 디바이스(300) 외부에 부가 클록 또는 스트로브 신호들을 필요로 할 수 있어, 패키지 및 제어기(시스템) 레벨에서 신호를 증가시킨다.
일 실시예에서, 니블 모드에서, 메모리 디바이스(300)는 어떤 데이터가 송신되는지 및 어떤 데이터가 판독 트랜잭션들 시에 드롭되는지를 선택하기 위해 각각의 채널에 로직을 포함한다. 기록 트랜잭션들 시에, 로직은 어떤 코어들(302-0 및/또는 302-1)이 기록 데이터를 수신하는지를 선택할 수 있다. 메모리 디바이스(300)는 버스트 길이의 각각의 전송 기간에 연관된 메모리 제어기와 데이터를 교환하며, 전체 교환은 메모리 코어들(302)의 그룹의 내부 용량(256 비트)보다 더 적은 비트들(128 비트)이다. 메모리 코어들(302) 및 채널 A가 참조되지만, 메모리 디바이스(300)는 메모리 코어들(304) 및 채널 B에서 동일한 동작을 지원할 수 있다는 점이 이해될 것이다.
도 4는 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 메모리 디바이스의 일 실시예의 블록도이다. 메모리 디바이스(400)는 도 2의 메모리 디바이스(200)에 따른 메모리 디바이스의 일 예일 수 있다. 일 실시예에서, 메모리 디바이스(400)는 16 코어들 또는 메모리 어레이들을 갖는 x32 다이이다. 도 3의 메모리 디바이스(300)와 유사하게, 메모리 디바이스(400)의 16 코어들은 8 코어들 각각의 2개의 그룹들(402, 404)로 조직될 수 있으며, 8 코어들의 각각의 그룹은 게다가 4 코어들 각각의 2개의 그룹들(402-0 및 402-1, 및 404-0 및 404-1)로 생각될 수 있다. 따라서, 일 실시예에서, 메모리 디바이스(400)는 x16의 2개의 채널들(A 및 B)로 조직되는 x32 다이이다.
예시된 바와 같이, 내부 프리페치는 채널당 256 비트를 발생시킨다. 따라서, 각각의 판독/기록 트랜잭션은 데이터의 256 비트가 정상 동작에서 전송되는 것을 야기한다. 메모리 디바이스가 데이터의 전체 256 비트 미만을 전송하는 동작의 모드에 대해, 메모리 디바이스(400)는 바이트 모드에서 동작하는 것으로 할 수 있다. 일 실시예에서, 메모리 디바이스(400)는 데이터의 128 비트를 채널당 하나의 공통 I/O 인터페이스, DQ_A 바이트 0 및 DQ_A 바이트 1로 내부적으로 라우팅한다. 일 실시예에서, 메모리 디바이스(400)는 BL16의 버스트 길이에서 동작한다. 일 실시예에서, 메모리 디바이스(300)는 BL32의 버스트 길이 동작을 지원하며, 그것은 판독들에 대해 내부 트랜잭션 당 프리페치되는 데이터의 256 비트를 갖는 2개의 내부 트랜잭션들을 야기한다. BL32에서의 기록은 동작의 더 낮은 대역폭 모드에서 각각 128 비트의 2개의 내부 기록 트랜잭션을 야기할 것이다.
DQ_A 바이트 0이 메모리 디바이스(400)와 연관된 메모리 제어기 사이의 I/O에 대한 LSB 바이트인 것을 고려한다. 다른 바이트 인터페이스는 메모리 디바이스에 예시되지만, 활성이 아닌 것으로 열거된다. 일 실시예에서, 바이트 모드에서, 메모리 디바이스(400)는 2개의 가능한 하드웨어 인터페이스 세그먼트들 중 선택된 것을 통해 128 데이터 비트를 교환한다. BL16에서, 더 낮은 대역폭 모드에 대한 동작은 DQ_A 바이트 0이 8 비트 와이드(128 비트 / 16 BL = 8 비트/전송 기간)인 것을 표시할 것이다. 데이터를 단일 버스 인터페이스에만 송신함으로써, 전체 데이터는 단일 스토로브 또는 클록 신호로 전송될 수 있다. 메모리 디바이스(400)는 활성이 아닌 것으로 라벨링되는 DQ_A 바이트 1에 데이터를 출력하도록 구성될 수 있다는 점이 이해될 것이다.
일 실시예에서, 바이트 모드에서, 메모리 디바이스(400)는 모든 M 코어들(402)을 DQ_A 바이트 0(또는 구현에 따라, 바이트 1)과 인터페이스하기 위해 각각의 채널에 로직을 포함한다. 따라서, 코어들(402-0 및 402-1) 둘 다는 공통 I/O 커넥터들을 통해 연관된 메모리 제어기와 인터페이스될 수 있다. 판독 트랜잭션들 시에 프리페치되는 부가 128 비트는 로직에 의해 메모리 디바이스(400) 내의 로직에 의해 선택되는 바와 같이, 사용되지 않는다. 유사하게, 메모리 디바이스(400) 내의 로직은 어느 코어들(402)이 기록 트랜잭션에서 수신되는 128 데이터 비트를 기록하는지를 선택한다. 메모리 코어들(402) 및 채널 A가 참조되지만, 메모리 디바이스(400)는 메모리 코어들(404) 및 채널 B에서 동일한 동작을 지원할 수 있다는 점이 이해될 것이다.
일 실시예에서, 메모리 디바이스(400)는 연관된 메모리 제어기에 의해 바이트 0 또는 바이트 1이 I/O를 위해 사용되는지의 동적 선택을 허용하는 로직을 포함한다. 따라서, 일 실시예에서, DQ_A 바이트 0 및 DQ_A 바이트 1에 대한 커넥터들은 함께 결합되거나 멀티플렉싱될 수 있다. 메모리 디바이스(400) 내의 로직은 1 바이트 또는 다른 것의 선택이 I/O를 위해 사용되는 것을 허용할 수 있다. 일 실시예에서, 선택은 디바이스의 동작을 위해 고정된다. 일 실시예에서, 선택은 레지스터 설정(예를 들어, 모드 레지스터)에 의해 제어된다. 일 실시예에서, 메모리 액세스 커맨드 내의 신호는 어느 바이트가 사용되는지를 판단할 수 있다.
도 5는 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 것을 용이하게 하기 위해 내부 라우팅을 갖는 메모리 디바이스의 일 실시예의 블록도이다. 메모리 디바이스(500)는 도 2의 메모리 디바이스(200)의 일 예일 수 있다. 일 실시예에서, 메모리 디바이스(500)는 도 4의 메모리 디바이스(400)의 일 예일 수 있다. 메모리 디바이스(400)는 128 비트가 DQ_A 바이트 0으로 내부적으로 라우팅되고, 128 비트가 사용되지 않는 단순화를 예시한다. 메모리 디바이스(500)는 코어들(502-0)의 그룹으로부터 64 비트를 내부적으로 라우팅하고 코어들(502-1)의 그룹으로부터 64 비트를 라우팅한다. 각각의 개별 그룹으로부터의 다른 64 비트는 사용되지 않는 것을 이해될 것이다.
더 구체적으로, 코어들(502-0)은 판독 시에 128 비트를 발생시키고, 코어들(502-1)은 또한 판독 시에 128 비트를 발생시킨다. 일 실시예에서, 코어들(502-1)로부터의 128 비트는 DQ_A 바이트 1로 라우팅되고 코어들(502-0)로부터의 128 비트는 DQ_A 바이트 0으로 라우팅된다. 일 실시예에서, 메모리 디바이스(500) 내의 로직은 코어들(502-1)로부터 64 비트를 선택하고 그들을 DQ_A 바이트 1로부터 DQ_A 바이트 0으로 내부적으로 라우팅하고, 다른 64 비트를 송신하지 않는다. 일 실시예에서, 로직은 판독 트랜잭션에 따라, 64 비트의 임의의 그룹의 선택을 허용한다. 일 실시예에서, 메모리 디바이스(500) 내의 로직은 코어들(502-0)로부터 64 비트를 선택하고 DQ_A 바이트 0으로부터 그러한 64 비트를 송신하는 동시에 다른 64 비트를 사용하지 않는다. 따라서, 일 실시예에서, DQ_A 바이트 0은 판독 트랜잭션 동안 128 비트, 즉 코어들(502-0)로부터의 64 비트 및 코어들(502-1)로부터의 64 비트를 송신한다. 동일한 경로는 기록들을 위해 사용될 수 있어, 착신 128 비트의 64를 DQ_A 바이트 0으로부터 DQ_A 바이트 1, 및 그 다음 코어들(502-1)로 내부적으로 라우팅한다. 동일한 로직 및 동작들은 코어들(504) 및 I/O DQ_B 바이트 0 및 DQ_B 바이트 1에 비해, 채널 B에서 유사한 작용을 가능하게 할 수 있다는 점이 이해될 것이다. 일 실시예에서, 경로는 또한 시스템 구성 및 동작에 따라, DQ_A 바이트 1 및 DQ_B 바이트 1로 128 비트의 라우팅을 가능하게 할 수 있다.
메모리 디바이스(500)의 라우팅을 구현하는 추가의 로직은 내부 라우팅에 로직 지연을 도입할 수 있다는 점이 이해될 것이다. 내부 라우팅은 메모리 디바이스(500)를 메모리 제어기에 결합하는 외부 데이터 교환보다 더 느린 클록에서 실제로 수행될 수 있다. 내부 라우팅은 특정 I/O 커넥터들을 메모리 디바이스(500) 내의 내부 신호 라인들로 어떻게 라우팅하는지를 선택하기 위해 멀티플렉싱 요소들 및/또는 다른 로직 요소들을 포함할 수 있다. 명시적으로 도시되지 않지만, I/O 인터페이스들은 도 6에 더 명시적으로 도시된 것과 유사하게, 동일한 I/O 커넥터에 결합되는 다수의 경로들을 선택하기 위해 멀티플렉서들 또는 비교 로직을 포함할 수 있다는 점이 이해될 것이다. 따라서, 일 실시예에서, 시스템(500)은 내부적으로 라우팅하여 어느 내부 비트들이 어느 I/O 커넥터들을 통해 교환될 수 있는지를 선택하기 위해 부가 로직을 포함한다.
각각 도 4 및 도 5의 메모리 디바이스들(400 및 500)의 x32 다이의 x16 구성은 도 3의 메모리 디바이스(300)의 x32 다이의 x16 구성보다 DRAM에서 더 많은 변경을 필요로 할 수 있다는 점이 이해될 것이다. 그러나, 메모리 디바이스(300)의 구현은 DRAM 외부의 시스템 레벨에서 추가의 클로킹 신호들을 필요로 할 수 있다. 따라서, 메모리 디바이스들(400 및 500)의 구현은 개별 메모리 다이 내에서 로직을 증가시키는 동안에, 더 간단한 시스템 접근법들의 이득들을 제공할 수 있다.
도 6은 바이트 모드 구현에서 시스템 데이터 버스와 인터페이스되는 것을 용이하게 하기 위해 내부 라우팅 및 멀티플렉싱을 갖는 메모리 디바이스의 일 실시예의 블록도이다. 메모리 디바이스(600)는 도 2의 메모리 디바이스(200)의 일 예일 수 있다. 일 실시예에서, 메모리 디바이스(600)는 도 4의 메모리 디바이스(400)의 일 예일 수 있다. 메모리 디바이스(400)는 128 비트가 DQ_A 바이트 0으로 내부적으로 라우팅되고, 128 비트가 사용되지 않는 단순화를 예시한다. 메모리 디바이스(600)는 코어들(602-0)의 그룹으로부터 128 비트를 내부적으로 라우팅하거나 코어들(602-1)의 그룹으로부터 128 비트를 라우팅한다. 다른 그룹으로부터의 다른 128 비트는 사용되지 않는 것을 이해될 것이다.
더 구체적으로, 코어들(602-0)은 판독 시에 128 비트를 발생시키고, 코어들(602-1)은 또한 판독 시에 128 비트를 발생시킨다. 일 실시예에서, 코어들(602-1)로부터의 128 비트는 DQ_A 바이트 1로 라우팅되고 코어들(602-0)로부터의 128 비트는 DQ_A 바이트 0으로 라우팅된다. 일 실시예에서, 메모리 디바이스(600) 내의 로직은 코어들(602-1)로부터의 128 비트를 DQ_A 바이트 1로부터 DQ_A 바이트 0으로 내부적으로 라우팅한다. 일 실시예에서, DQ_A 바이트 0에서의 I/O 로직은 멀티플렉싱 로직(610-A)을 포함하며, 멀티플렉싱 로직은 코어들(602-0)로부터의 128 비트 또는 코어(602-1)로부터의 128 비트를 선택할 수 있는 임의의 로직 또는 스위칭 회로를 나타낸다. 따라서, 2개의 물리 뱅크들 또는 그룹들 각각은 하나의 로직 뱅크로 각각 동작하기 위해 데이터의 128 비트를 제공할 수 있다. 각각의 그룹은 1K의 페이지 크기를 가지며, 그것은 2K의 유효 페이지 크기를 제공한다. 판독 트랜잭션에 대해, 일 실시예에서, DQ_A 바이트 0은 128을 송신하며, 비트들은 다른 것의 코어들의 하나의 그룹으로부터 선택된다. 동일한 경로는 기록들을 위해 사용될 수 있어, 코어들(602-1)을 사용할 때 착신 데이터의 128 비트를 DQ_A 바이트 1로 내부적으로 라우팅한다. 동일한 로직 및 동작들은 코어들(604) 및 I/O DQ_B 바이트 0 및 DQ_B 바이트 1에 비해, 채널 B에서 유사한 작용을 가능하게 할 수 있다는 점이 이해될 것이다. 또한 DQ 바이트 0 및 DQ 바이트 1의 역할들이 반전될 수 있다는 점이 이해될 것이다.
도 7은 상이한 대역폭들의 버스들에 대한 데이터를 교환하기 위해 메모리 제어기와 메모리 디바이스 사이에서 인터페이스하는 프로세스의 일 실시예의 흐름도이다. 더 구체적으로, 프로세스(700)는 공통 메모리 다이가 2개의 상이한 시스템 버스 대역폭 모드들, 예컨대 x32 및 x16 모드들 중 하나에서 메모리 제어기와 인터페이스할 수 있게 한다. 메모리 제어기 및 메모리 디바이스를 갖는 메모리 서브시스템을 포함하는 컴퓨팅 시스템은 또한 컴퓨팅 시스템의 동작들을 실행하는 프로세서 서브시스템을 포함한다. 프로세서 서브시스템은 메모리 액세스를 야기하는 동작들을 실행하는 호스트 프로세서 및/또는 여러 가지 다른 프로세서 회로들을 포함할 수 있다(702). 컴퓨팅 시스템은 독립 시스템 예컨대 랩톱 또는 태블릿일 수 있거나, 더 큰 시스템의 일부일 수 있다.
메모리 제어기는 메모리 액세스를 달성하기 위해 하나 이상의 메모리 액세스 커맨드들을 발생시킨다(704). 일 실시예에서, 메모리 제어기는 호스트의 일부이다. 메모리 디바이스는 메모리 제어기로부터 메모리 액세스 커맨드들을 수신하고 디코딩한다(706). 메모리 디바이스는 커맨드가 메모리 디바이스에 대해 타겟팅되는지, 및 그것이 타겟팅된 메모리 디바이스인 것을 가정하여, 어떤 동작들이 커맨드에 응답하여 실행되는지를 판단하기 위해 메모리 액세스 커맨드를 디코딩한다.
일 실시예에서, 메모리 디바이스는 그것이 전체 대역폭 모드/구성 또는 부분 대역폭 모드/구성에서 동작해야 하는지를 판단한다(708). 일 실시예에서, 메모리 디바이스는 모드 레지스터 또는 다른 구성 로직에 액세스함으로써 전체 또는 부분 대역폭 모드를 결정한다. 동작의 모드가 전체 대역폭이면(710 예 분기), 메모리 디바이스는 전송 기간에 전체 내부 대역폭을 교환한다(712). 전체 대역폭은 메모리 디바이스가 하나의 메모리 액세스 트랜잭션에서 메모리 코어들에 기록하거나 메모리 코어들로부터 판독할 수 있는 데이터의 양인 것으로 이해될 것이다. 따라서, 판독 트랜잭션 시에, 메모리 디바이스는 메모리 코어들로부터 프리페치되는 데이터의 전체 양을 송신한다. 기록 트랜잭션 시에, 메모리 디바이스는 메모리 제어기로부터 데이터의 전체 대역폭을 수신하고 데이터의 전체 대역폭을 메모리 코어들로 라우팅한다.
동작의 모드가 부분 대역폭이면(710 아니오 분기), 메모리 디바이스는 전송 기간들 동안 전체 대역폭의 일부만을 교환하여, 각각의 전송 기간에 일부 데이터를 전송한다(714). 일 실시예에서, 메모리 디바이스는 전송에 대한 버스트 길이를 결정한다. 일 실시예에서, 메모리 디바이스는 부분 대역폭 전송뿐만 아니라 전체 대역폭 전송에 대한 버스트 길이를 결정할 수 있으며, 더 긴 버스트 길이는 2개의 연속 내부 메모리 액세스 동작들을 야기할 수 있다. 부분 대역폭 교환에서, 상이한 버스트 길이 옵션들은 데이터를 어떻게 전송하는지를 판단하기 위해 상이한 폭들의 I/O 인터페이스들에 사용될 수 있다.
메모리 디바이스는 메모리 제어기와 데이터를 교환하기 위해 메모리 액세스 트랜잭션을 실행한다. 메모리 액세스 트랜잭션이 판독이면(718 판독 분기), 메모리 디바이스는 메모리 어레이들 또는 코어들로부터 N 데이터 비트를 프리페치한다(720). 메모리 디바이스는 N 데이터 비트를 발생시키기 위해 채널 내의 모든 메모리 어레이들에 액세스할 수 있다. 메모리 디바이스는 메모리 디바이스를 시스템 데이터 버스를 통해 메모리 제어기에 결합하는 하드웨어 I/O 인터페이스로 데이터 비트들을 내부적으로 라우팅한다(722). 내부 라우팅은 본원에 설명되는 임의의 실시예에 따를 수 있어, 메모리 디바이스가 N/2 비트를 I/O 커넥터들의 공통 그룹으로 라우팅하고, 및/또는 N/4 비트를 I/O 커넥터들의 2개의 그룹들 각각으로 라우팅하는 것을 허용한다. 따라서, 메모리 디바이스는 N/2 데이터 비트를 시스템 데이터 버스를 통해 송신하여, 전체 결정된 버스트 길이에 대한 각각의 전송 기간 동안 N/2BL 비트를 전송한다(724).
메모리 액세스 트랜잭션이 기록이면(718 기록 분기), 메모리 디바이스는 시스템 데이터 버스를 통해 N/2 데이터 비트를 수신하여, 전체 버스트 길이에 대한 각각의 전송 기간에 N/2BL 비트를 수신한다(726). 메모리 디바이스는 N/2 데이터 비트를 선택된 메모리 어레이들로 내부적으로 라우팅한다(728). 내부 라우팅은 본원에 설명되는 임의의 실시예에 따를 수 있어, 메모리 디바이스가 N/2 비트를 N/2 비트로서 I/O 커넥터들의 공통 그룹으로부터 메모리 어레이들의 임의의 조합으로 라우팅하고, 및/또는 N/4 비트를 I/O 커넥터들의 2개의 그룹들 각각으로부터 메모리 어레이들의 임의의 조합으로 라우팅하는 것을 허용한다.
도 8은 상이한 대역폭의 데이터 버스들에 인터페이스되는 공통 다이가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다. 시스템(800)은 본원에 설명되는 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 라우팅 또는 스위칭 디바이스, 또는 다른 전자 디바이스일 수 있다. 시스템(800)은 프로세서(820)를 포함하며, 프로세서는 시스템(800)을 위해 명령어들의 처리, 동작 관리, 및 실행을 제공한다. 프로세서(820)는 시스템(800)을 위해 처리를 제공하도록 임의의 타입의 마이크로프로세서, 중앙 처리 유닛(central processing unit)(CPU), 처리 코어, 또는 다른 처리 하드웨어를 포함할 수 있다. 프로세서(820)는 시스템(800)의 전체 동작을 제어하고, 하나 이상의 프로그램가능 일반 목적 또는 특수 목적 마이크로프로세서들, 디지털 신호 프로세서들(digital signal processors)(DSPs), 프로그램가능 제어기들, 주문형 집적 회로들(application specific integrated circuits)(ASICs), 프로그램가능 로직 디바이스들(programmable logic devices)(PLDs) 등, 또는 그러한 디바이스들의 조합이거나 이들을 포함할 수 있다.
메모리 서브시스템(830)은 시스템(800)의 메인 메모리를 나타내고, 프로세서(820)에 의해 실행되는 코드, 또는 루틴을 실행할 시에 사용되는 데이터 값들을 위해 일시적 저장을 제공한다. 메모리 서브시스템(830)은 하나 이상의 메모리 디바이스들 예컨대 판독 전용 메모리(read-only memory)(ROM), 플래시 메모리, 하나 이상의 각종의 랜덤 액세스 메모리(random access memory)(RAM), 또는 다른 메모리 디바이스들, 또는 그러한 디바이스들의 조합을 포함할 수 있다. 메모리 서브시스템(830)은 다른 것들 중에서, 시스템(800)에서 명령어들의 실행을 위해 소프트웨어 플랫폼을 제공하는 운영 체제(OS)(836)를 저장하고 호스팅한다. 부가적으로, 다른 명령어들(838)은 시스템(800)의 로직 및 처리를 제공하기 위해 메모리 서브시스템(830)으로부터 저장되고 실행된다. OS(836) 및 명령어들(838)은 프로세서(820)에 의해 실행된다. 메모리 서브시스템(830)은 메모리 디바이스(832)를 포함하며 그것은 데이터, 명령어들, 프로그램들, 또는 다른 아이템들을 저장한다. 일 실시예에서, 메모리 서브시스템은 커맨드들을 발생시키고 메모리 디바이스(832)에 발행하기 위해 메모리 제어기인 메모리 제어기(834)를 포함한다. 메모리 제어기(834)는 프로세서(820)의 물리 부분일 수 있다는 점이 이해될 것이다.
프로세서(820) 및 메모리 서브시스템(830)은 버스/버스 시스템(810)에 결합된다. 버스(810)는 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 접속되는, 임의의 하나 이상의 개별 물리 버스들, 통신 라인들/인터페이스들, 및/또는 점 대 점 접속들을 나타내는 추상화이다. 따라서, 버스(810)는 예를 들어 시스템 버스, PCI(Peripheral Component Interconnect) 버스, 하이퍼트랜스포트 또는 ISA(industry standard architecture) 버스, SCSI(small computer system interface) 버스, USB(universal serial bus), 또는 국제 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)(IEEE) 표준 1394 버스(통상 "파이어와이어"로 언급됨) 중 하나 이상을 포함할 수 있다. 버스(810)의 버스들은 또한 네트워크 인터페이스(850) 내의 인터페이스들에 대응할 수 있다.
시스템(800)은 또한 버스(810)에 결합되는 하나 이상의 입력/출력(input/output)(I/O) 인터페이스(들)(840), 네트워크 인터페이스(850), 하나 이상의 내부 대량 저장 디바이스(들)(860), 및 주변기기 인터페이스(870)를 포함한다. I/O 인터페이스(840)는 사용자가 시스템(800)과 상호작용하는 하나 이상의 인터페이스 구성요소들(예를 들어, 비디오, 오디오, 및/또는 영숫자 인터페이싱)을 포함할 수 있다. 일 실시예에서, I/O 인터페이스(840)는 출력을 사용자에게 제공하는 고선명(high definition)(HD) 디스플레이를 포함할 수 있다. 고선명은 거의 100 픽셀들/인치(pixels per inch)(PPI) 이상의 픽셀 밀도를 갖는 디스플레이를 언급할 수 있고, 포맷들 예컨대 풀 HD(예를 들어, 1080p), 레티나 디스플레이들, 4K(초고선명 또는 UHD), 또는 다른 것을 포함할 수 있다. 고선명은 또한 픽셀 디스플레이들에 비교 시각 품질을 갖는 투사 디스플레이들(예를 들어, 헤드 마운트 디스플레이들)을 언급할 수 있다. 네트워크 인터페이스(850)는 시스템(800)에 하나 이상의 네트워크들을 통해 원격 디바이스들(예를 들어, 서버들, 다른 컴퓨팅 디바이스들)과 통신하는 능력을 제공한다. 네트워크 인터페이스(850)는 이더넷 어댑터, 무선 상호접속 구성요소들, 범용 직렬 버스(USB), 또는 다른 유선 또는 무선 표준 기반 또는 사유 인터페이스들을 포함할 수 있다.
스토리지(860)는 비휘발성 방식, 예컨대 하나 이상의 자기, 고체 상태, 또는 광 기반 디스크들, 또는 조합으로 대량의 데이터를 저장하는 임의의 종래의 매체이거나 이 매체를 포함할 수 있다. 스토리지(860)는 지속적 상태에서 코드 또는 명령어들 및 데이터(862)를 유지한다(즉, 값은 시스템(800)에 전력의 중단에도 불구하고 유지됨). 스토리지(860)는 일반적으로 "메모리"인 것으로 간주될 수 있지만, 메모리(830)는 명령어들을 프로세서(820)에 제공하기 위해 실행 또는 동작 메모리이다. 스토리지(860)가 비휘발성이지만, 메모리(830)는 휘발성 메모리를 포함할 수 있다(즉, 데이터의 값 또는 상태는 전력이 시스템(800)에 중단되면 비결정됨).
주변기기 인터페이스(870)는 상기에 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변기기들은 일반적으로 시스템(800)에 독립적으로 접속되는 디바이스들을 언급한다. 종속 접속은 동작이 실행되고, 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 시스템(800)이 제공하는 것이다.
일 실시예에서, 시스템(800)은 모드 제어(880)를 포함하며, 모드 제어는 시스템이 동작의 전체 대역폭 또는 부분 대역폭 모드들에서 메모리(832)를 동작시킬 수 있게 한다. 따라서, 시스템(800)은 메모리(832)에 의해 지원되는 메모리 서브시스템(830) 내의 다수의 상이한 대역폭 시스템 데이터 버스들 중 하나를 포함할 수 있다. 동일한 메모리 칩들은 메모리 디바이스의 전체 내부 대역폭을 교환할 수 있는 메모리 서브시스템 데이터 버스, 또는 메모리 디바이스와 데이터의 부분 내부 대역폭 양만을 교환할 수 있는 메모리 서브시스템 데이터 버스를 갖는 시스템(800)에 사용될 수 있다. 모드 제어(880)는 동작 메모리(832)의 어떤 모드가 사용되는지를 위해 설정들을 제공하는 구성 로직을 나타낼 수 있고, 메모리가 메모리의 하드웨어 I/O 커넥터들과 메모리 어레이들 또는 메모리 코어들(명시적으로 도시되지 않음) 사이에서 인터페이스하기 위해 적절한 내부 라우팅을 선택할 수 있게 하는 메모리(832) 내부의 로직을 나타낼 수 있다.
도 9는 상이한 대역폭의 데이터 버스들에 인터페이스되는 공통 다이가 구현될 수 있는 이동 디바이스의 일 실시예의 블록도이다. 디바이스(900)는 이동 컴퓨팅 디바이스, 예컨대 컴퓨팅 태블릿, 이동 전화 또는 스마트폰, 무선 이용가능 전자 판독기, 웨어러블 컴퓨팅 디바이스, 또는 다른 이동 디바이스를 나타낸다. 구성요소들 중 일부가 일반적으로 도시되고, 그러한 디바이스의 구성요소들이 디바이스(900)에 반드시 도시되지 않는다는 점이 이해될 것이다.
디바이스(900)는 프로세서(910)를 포함하며, 프로세서는 디바이스(900)의 일차 처리 동작들을 수행한다. 프로세서(910)는 하나 이상의 물리 디바이스들, such as 마이크로프로세서들, 애플리케이션 프로세서들, 마이크로제어기들, 프로그램가능 로직 디바이스들, 또는 다른 처리 수단을 포함할 수 있다. 프로세서(910)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제의 실행을 포함한다. 처리 동작들은 인간 사용자 또는 다른 디바이스들과 I/O(입력/출력)과 관련되는 동작들, 전력 관리과 관련되는 동작들, 및/또는 디바이스(900)를 다른 디바이스와 접속하는 것과 관련되는 동작들을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O와 관련되는 동작을 포함할 수 있다.
일 실시예에서, 디바이스(900)는 오디오 서브시스템(920)을 포함하며, 이 서브시스템은 오디오 기능들을 컴퓨팅 디바이스에 제공하는 것과 연관되는 하드웨어(예를 들어, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어(예를 들어, 드라이버들, 코덱들) 구성요소들을 나타낸다. 오디오 기능들은 마이크로폰 입력뿐만 아니라, 스피커 및/또는 헤드폰 출력을 포함할 수 있다. 그러한 기능들에 대한 디바이스들은 디바이스(900)로 통합되거나, 디바이스(900)에 접속될 수 있다. 일 실시예에서, 사용자는 프로세서(910)에 의해 수신되고 처리되는 오디오 커맨드들을 제공함으로써 디바이스(900)와 상호작용한다.
디스플레이 서브시스템(930)은 사용자가 컴퓨팅 디바이스와 상호작용하기 위해 시각 및/또는 촉각 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 구성요소들을 나타낸다. 디스플레이 서브시스템(930)은 디스플레이 인터페이스(932)를 포함하며, 이 인터페이스는 디스플레이를 사용자에게 제공하기 위해 사용되는 특정 스크린 또는 하드웨어 디바이스를 포함한다. 일 실시예에서, 디스플레이 인터페이스(932)는 디스플레이와 관련되는 적어도 일부 처리를 수행하기 위해 프로세서(910)와 별개의 로직을 포함한다. 일 실시예에서, 디스플레이 서브시스템(930)은 출력 및 입력 둘 다를 사용자에게 제공하는 터치스크린 디바이스를 포함한다. 일 실시예에서, 디스플레이 서브시스템(930)은 출력을 사용자에게 제공하는 고선명(HD) 디스플레이를 포함한다. 고선명은 거의 100 PPI(pixels per inch) 이상의 픽셀 밀도를 갖는 디스플레이를 언급할 수 있고, 포맷들 예컨대 풀 HD(예를 들어, 1080p), 레티나 디스플레이들, 4K(초고선명 또는 UHD), 또는 다른 것들을 포함할 수 있다.
I/O 제어기(940)는 사용자와의 상호작용과 관련되는 하드웨어 디바이스들 및 소프트웨어 구성요소들을 나타낸다. I/O 제어기(940)는 오디오 서브시스템(920) 및/또는 디스플레이 서브시스템(930)의 일부인 하드웨어를 관리하기 위해 동작할 수 있다. 부가적으로, I/O 제어기(940)는 사용자가 시스템과 상호작용할 수 있는 디바이스(900)에 접속되는 부가 디바이스들에 대한 접속 포인트를 예시한다. 예를 들어, 디바이스(900)에 부착될 수 있는 디바이스들은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 특정 애플리케이션들에 사용을 위한 다른 I/O 디바이스들 예컨대 카드 리더들 또는 다른 디바이스들을 포함할 수 있다.
상기 언급된 바와 같이, I/O 제어기(940)는 오디오 서브시스템(920) 및/또는 디스플레이 서브시스템(930)과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(900)의 하나 이상의 애플리케이션들 또는 기능들을 위해 입력 또는 커맨드들을 제공할 수 있다. 부가적으로, 오디오 출력은 디스플레이 출력 대신에 또는 디스플레이 출력에 더하여 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하면, 디스플레이 디바이스는 또한 I/O 제어기(940)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스의 역할을 한다. 또한 I/O 제어기(940)에 의해 관리되는 I/O 기능들을 제공하기 위해 디바이스(900) 상에 부가 버튼들 또는 스위치들이 있을 수 있다.
일 실시예에서, I/O 제어기(940)는 디바이스들 예컨대 디바이스(900)에 포함될 수 있는 가속도계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 자이로스코프들, 위성 위치 확인 시스템(global positioning system)(GPS), 또는 다른 하드웨어를 관리한다. 입력은 환경 입력을 시스템에 제공하여 시스템의 동작들(예컨대, 잡음을 필터링하는 것, 밝기 검출을 위해 디스플레이들을 조정하는 것, 플래시를 카메라에 적용하는 것, 또는 다른 특징들)에 영향을 미칠 뿐만 아니라, 직접적인 사용자 상호작용의 일부일 수 있다. 일 실시예에서, 디바이스(900)는 배터리 전력 사용, 배터리의 충전, 및 절전 동작과 관련되는 특징들을 관리하는 전력 관리(950)를 포함한다.
메모리 서브시스템(960)은 디바이스(900)에 정보를 저장하는 메모리 디바이스(들)(962)를 포함한다. 메모리 서브시스템(960)은 비휘발성(메모리 디바이스에 전력이 중단되면 변경되지 않는 상태) 및/또는 휘발성(메모리 디바이스에 전력이 중단되면 비결정되는 상태) 메모리 디바이스들을 포함할 수 있다. 메모리(960)는 시스템(900)의 애플리케이션들 및 기능들의 실행과 관련되는 시스템 데이터(장기든 또는 일시적이든)뿐만 아니라, 애플리케이션 데이터, 사용자 데이터, 음악, 사진들, 문서들, 또는 다른 데이터를 저장할 수 있다. 일 실시예에서, 메모리 서브시스템(960)은 메모리 제어기(964)(또한 시스템(900)의 제어의 일부로 간주될 수 있고, 잠재적으로 프로세서(910)의 일부로 간주될 수 있음)를 포함한다. 메모리 제어기(964)는 커맨드들을 발생시키고 메모리 디바이스(962)에 발행하기 위해 스케줄러를 포함한다.
접속성(970)은 디바이스(900)가 외부 디바이스들과 통신할 수 있게 하기 위해 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 구성요소들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함한다. 외부 디바이스는 헤드셋들, 프린터들, 또는 다른 디바이스들과 같은 주변기기들뿐만 아니라, 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들과 같은 별개의 디바이스들일 수 있다.
접속성(970)은 다수의 상이한 타입들의 접속성을 포함할 수 있다. 일반화하기 위해, 디바이스(900)는 셀룰러 접속성(972) 및 무선 접속성(974)에 의해 예시된다. 셀룰러 접속성(972)은 일반적으로 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성, 예컨대, GSM(global system for mobile communications) 또는 변형들 또는 파생물들, CDMA(code division multiple access) 또는 변형들 또는 파생물들, TDM(time division multiplexing) 또는 변형들 또는 파생물들, LTE(long term evolution - "4G"로도 언급됨), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 셀룰러 네트워크 접속을 언급한다. 무선 접속성(974)은 셀룰러가 아닌 무선 접속성을 언급하고, 개인 영역 네트워크들(예컨대 블루투스), 근거리 네트워크들(예컨대 WiFi), 및/또는 광대역 네트워크들(예컨대 WiMax), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비고체 매체를 관통하는 변조된 전자기 방사의 사용을 통한 데이터의 전송을 언급한다. 유선 통신은 고체 통신 매체를 통해 발생한다.
주변기기 접속들(980)은 주변기기 접속들을 이루기 위해 소프트웨어 구성요소들(예를 들어, 드라이버들, 프로토콜 스택들)뿐만 아니라, 하드웨어 인터페이스들 및 커넥터들을 포함한다. 디바이스(900)는 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("로"(982))일 뿐만 아니라, 그것에 접속되는 주변 디바이스들("로부터"(984))을 가질 수 있다는 점이 이해될 것이다. 디바이스(900)는 통상 디바이스(900) 상에서 콘텐츠를 관리(예를 들어, 다운로딩 및/또는 업로딩, 변경, 동기화)하는 것과 같은 목적들을 위해 다른 컴퓨팅 디바이스들에 접속하기 위해 "도킹" 커넥터를 갖는다. 부가적으로, 도킹 커넥터는 디바이스(900)가 예를 들어 시청각 또는 다른 시스템들에 대해 콘텐츠 출력을 제어하는 것을 허용하는 특정 주변기기들에 디바이스(900)가 접속되는 것을 허용할 수 있다.
사유 도킹 커넥터 또는 다른 사유 접속 하드웨어에 더하여, 디바이스(900)는 공통 또는 표준 기반 커넥터들을 통해 주변기기 접속들(980)을 이룰 수 있다. 공통 타입들은 범용 직렬 버스(USB) 커넥터(다수의 상이한 하드웨어 인터페이스들 중 어느 것을 포함할 수 있음), 미니디스플레이포트(MiniDisplayPort)(MDP)를 포함하는 디스플레이포트, 고선명 멀티미디어 인터페이스(High Definition Multimedia Interface)(HDMI), 파이어와이어, 또는 다른 타입을 포함할 수 있다.
일 실시예에서, 시스템(900)은 모드 제어(966)를 포함하며, 모드 제어는 시스템이 동작의 전체 대역폭 또는 부분 대역폭 모드들에서 메모리(962)를 동작시킬 수 있게 한다. 따라서, 시스템(900)은 메모리(962)에 의해 지원되는 메모리 서브시스템(960) 내의 다수의 상이한 대역폭 시스템 데이터 버스들 중 하나를 포함할 수 있다. 동일한 메모리 칩들은 메모리 디바이스의 전체 내부 대역폭을 교환할 수 있는 메모리 서브시스템 데이터 버스, 또는 메모리 디바이스와 데이터의 부분 내부 대역폭 양만을 교환할 수 있는 메모리 서브시스템 데이터 버스를 갖는 시스템(900)에 사용될 수 있다. 모드 제어(966)는 동작 메모리(962)의 어떤 모드가 사용되는지를 위해 설정들을 제공하는 구성 로직을 나타낼 수 있고, 메모리가 메모리의 하드웨어 I/O 커넥터들과 메모리 어레이들 또는 메모리 코어들(명시적으로 도시되지 않음) 사이에서 인터페이스하기 위해 적절한 내부 라우팅을 선택할 수 있게 하는 메모리(962) 내부의 로직을 나타낼 수 있다.
일 양태에서, 메모리 서브시스템에서 인터페이스하는 방법은 다수의 메모리 어레이들을 갖는 메모리 디바이스에서 메모리 제어기로부터 메모리 액세스 커맨드를 수신하는 단계 - 메모리 액세스 커맨드는 메모리 디바이스와 메모리 제어기 사이의 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -; 및 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 단계를 포함한, 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터를 전송하는 단계 - 전송 대역폭은 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 전송 대역폭은 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - 를 포함한다.
일 실시예에서, 메모리 액세스 커맨드를 수신하는 단계는 메모리 판독 커맨드를 수신하는 단계를 포함하며, 전송 단계는 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 단계; 및 전송 기간들 동안 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 단계를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신하는 단계를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 데이터의 N/4 비트를 하나의 그룹 of M/2개의 메모리 어레이의 하나의 그룹으로부터 내부적으로 라우팅하는 단계 및 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로 내부적으로 라우팅하는 단계를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 그룹으로 내부적으로 라우팅하는 단계, 및 M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는 단계를 더 포함한다. 일 실시예에서, 메모리 액세스 커맨드를 수신하는 단계는 메모리 기록 커맨드를 수신하는 단계를 포함하며, 메모리 디바이스는 M개의 메모리 어레이를 포함하고 이용가능 대역폭은 N 비트이고 전송 대역폭은 N/2 비트이며, 전송 단계는 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 단계; 및 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 단계를 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 단계는 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 단계 및 데이터의 N/4 비트를 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅하는 단계를 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 단계는 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 단계, 및 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는 단계를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터를 전송하는 단계는 다수의 전송 모드들 중 하나에 따라 수행되며, 제1 모드에 따라 데이터를 전송하는 단계는 버스트 길이의 모든 전송 기간들 동안 데이터의 전송 대역폭 양을 전송하는 단계를 포함하고, 제2 모드에 따라 데이터를 전송하는 단계는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 이용가능 대역폭 양을 전송하는 단계를 포함한다. 일 실시예에서, 버스트 길이를 설정하는 단계를 더 포함하며, 시스템 데이터 버스를 통해 데이터를 전송하는 단계는 버스트 길이 설정에 기초하여 전송 대역폭을 변경하는 단계를 포함한다.
일 양태에서, 메모리 서브시스템에서 인터페이스하는 메모리 디바이스는 데이터를 저장하는 메모리 저장 소자들을 각각 포함하는 다수의 메모리 어레이들; 시스템 데이터 버스를 통해 메모리 제어기에 결합하는 하드웨어 I/O(입력/출력) 커넥터들; 다수의 메모리 어레이들을 I/O 커넥터들에 결합하는 내부 메모리 버스; 및 메모리 제어기로부터 메모리 액세스 커맨드를 수신하고 - 메모리 액세스 커맨드는 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -; 및 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함한, 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터를 전송하는 로직 - 전송 대역폭은 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 전송 대역폭은 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - 을 포함한다.
일 실시예에서, 로직은 메모리 판독 커맨드를 수신하며, 전송 로직은 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 로직; 및 전송 기간들 동안 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 로직을 더 포함한다. 일 실시예에서, 로직은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 내부적으로 라우팅하고 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O 커넥터들의 공통 그룹으로 내부적으로 라우팅한다. 일 실시예에서, 로직은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O 커넥터들의 그룹으로 내부적으로 라우팅하고, M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는다. 일 실시예에서, 로직은 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신한다. 일 실시예에서, 로직은 메모리 기록 커맨드를 수신하며, 메모리 디바이스는 M개의 메모리 어레이를 포함하고 이용가능 대역폭은 N 비트이고 전송 대역폭은 N/2 비트이며, 전송 로직은 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 로직; 및 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 로직을 더 포함한다. 일 실시예에서, 로직은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고 데이터의 N/4 비트를 N/2 I/O 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅한다. 일 실시예에서, 로직은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고, 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는다. 일 실시예에서, 로직은 다수의 전송 모드들 중 하나에 따라 시스템 데이터 버스를 통해 데이터를 전송하며, 제1 모드에 따라 로직은 버스트 길이의 모든 전송 기간들 동안 데이터의 전송 대역폭 양을 전송하고, 제2 모드에 따라 로직은 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 이용가능 대역폭 양을 전송한다. 일 실시예에서, 버스트 길이를 설정하는 로직을 더 포함하며, 시스템 데이터 버스를 통해 데이터를 전송하는 로직은 버스트 길이 설정에 기초하여 전송 대역폭을 변경하는 로직을 포함한다.
일 양태에서, 메모리 서브시스템을 갖는 전자 디바이스는 메모리 제어기; 메모리 제어기와 인터페이스하는 메모리 디바이스 - 메모리 디바이스는 데이터를 저장하는 메모리 저장 소자들을 각각 포함하는 다수의 메모리 어레이들; 시스템 데이터 버스를 통해 메모리 제어기에 결합하는 하드웨어 I/O(입력/출력) 커넥터들; 다수의 메모리 어레이들을 I/O 커넥터들에 결합하는 내부 메모리 버스; 및 메모리 제어기로부터 메모리 액세스 커맨드를 수신하는 로직 - 메모리 액세스 커맨드는 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -; 및 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터를 전송하는 로직 - 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함하며, 전송 대역폭은 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 전송 대역폭은 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - 을 포함함 -; 및 메모리 디바이스들로부터 액세스되는 데이터에 기초하여 디스플레이를 발생시키도록 결합되는 터치스크린 디스플레이를 포함한다.
일 실시예에서, 로직은 메모리 판독 커맨드를 수신하며, 전송 로직은 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 로직; 및 전송 기간들 동안 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 로직을 더 포함한다. 일 실시예에서, 로직은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 내부적으로 라우팅하고 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O 커넥터들의 공통 그룹으로 내부적으로 라우팅한다. 일 실시예에서, 로직은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O 커넥터들의 그룹으로 내부적으로 라우팅하고, M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는다. 일 실시예에서, 로직은 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신한다. 일 실시예에서, 로직은 메모리 기록 커맨드를 수신하며, 메모리 디바이스는 M개의 메모리 어레이를 포함하고 이용가능 대역폭은 N 비트이고 전송 대역폭은 N/2 비트이며, 전송 로직은 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 로직; 및 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 로직을 더 포함한다. 일 실시예에서, 로직은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고 데이터의 N/4 비트를 N/2 I/O 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅한다. 일 실시예에서, 로직은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고, 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는다. 일 실시예에서, 로직은 다수의 전송 모드들 중 하나에 따라 시스템 데이터 버스를 통해 데이터를 전송하며, 제1 모드에 따라 로직은 버스트 길이의 모든 전송 기간들 동안 데이터의 전송 대역폭 양을 전송하고, 제2 모드에 따라 로직은 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 이용가능 대역폭 양을 전송한다. 일 실시예에서, 버스트 길이를 설정하는 로직을 더 포함하며, 시스템 데이터 버스를 통해 데이터를 전송하는 로직은 버스트 길이 설정에 기초하여 전송 대역폭을 변경하는 로직을 포함한다.
일 양태에서, 제조 물품은 콘텐츠를 저장하는 컴퓨터 판독가능 저장 매체를 포함하며, 그것은 실행될 때 메모리 서브시스템에서 인터페이스하는 동작들을 수행하고, 동작들은 다수의 메모리 어레이들을 갖는 메모리 디바이스에서 메모리 제어기로부터 메모리 액세스 커맨드를 수신하는 단계 - 메모리 액세스 커맨드는 메모리 디바이스와 메모리 제어기 사이의 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -; 및 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함한, 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터를 전송하는 단계 - 전송 대역폭은 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 전송 대역폭은 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - 를 포함한다.
일 실시예에서, 메모리 액세스 커맨드를 수신하는 콘텐츠는 메모리 판독 커맨드를 수신하는 콘텐츠를 포함하며, 전송 콘텐츠는 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 콘텐츠; 및 전송 기간들 동안 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 콘텐츠를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 콘텐츠는 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신하는 콘텐츠를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 콘텐츠는 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 내부적으로 라우팅하는 콘텐츠 및 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로 내부적으로 라우팅하는 콘텐츠를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 콘텐츠는 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 그룹으로 내부적으로 라우팅하는 콘텐츠, 및 M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는 콘텐츠를 더 포함한다. 일 실시예에서, 메모리 액세스 커맨드를 수신하는 콘텐츠는 메모리 기록 커맨드를 수신하는 콘텐츠를 포함하며, 메모리 디바이스는 M개의 메모리 어레이를 포함하고 이용가능 대역폭은 N 비트이고 전송 대역폭은 N/2 비트이며, 전송 콘텐츠는 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 콘텐츠; 및 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 콘텐츠를 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 콘텐츠는 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 콘텐츠 및 데이터의 N/4 비트를 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅하는 콘텐츠를 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 콘텐츠는 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고, 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는 콘텐츠를 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터를 전송하는 콘텐츠는 다수의 전송 모드들 중 하나에 따라 수행되며, 제1 모드에 따라 데이터를 전송하는 콘텐츠는 버스트 길이의 모든 전송 기간들 동안 데이터의 전송 대역폭 양을 전송하는 콘텐츠를 포함하고, 제2 모드에 따라 데이터를 전송하는 콘텐츠는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 이용가능 대역폭 양을 전송하는 콘텐츠를 포함한다. 일 실시예에서, 버스트 길이를 설정하는 콘텐츠를 더 포함하며, 시스템 데이터 버스를 통해 데이터를 전송하는 콘텐츠는 버스트 길이 설정에 기초하여 전송 대역폭을 변경하는 콘텐츠를 포함한다.
일 양태에서, 메모리 서브시스템에서 인터페이스하는 장치는 다수의 메모리 어레이들을 갖는 메모리 디바이스에서 메모리 제어기로부터 메모리 액세스 커맨드를 수신하는 수단 - 메모리 액세스 커맨드는 메모리 디바이스와 메모리 제어기 사이의 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -; 및 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 수단을 포함한, 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터를 전송하는 수단 - 전송 대역폭은 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 전송 대역폭은 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - 을 포함한다.
일 실시예에서, 메모리 액세스 커맨드를 수신하는 수단은 메모리 판독 커맨드를 수신하는 수단을 포함하며, 전송 수단은 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 수단; 및 전송 기간들 동안 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 수단을 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 수단은 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신하는 수단을 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 수단은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 내부적으로 라우팅하는 수단 및 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로 내부적으로 라우팅하는 수단을 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 수단은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 그룹으로 내부적으로 라우팅하고, 데이터의 N/2 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 송신하지 않는 수단을 더 포함한다. 일 실시예에서, 메모리 액세스 커맨드를 수신하는 수단은 메모리 기록 커맨드를 수신하는 수단을 포함하며, 메모리 디바이스는 M개의 메모리 어레이를 포함하고 이용가능 대역폭은 N 비트이고 전송 대역폭은 N/2 비트이며, 전송 수단은 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 수단; 및 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 수단을 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 수단은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 수단 및 데이터의 N/4 비트를 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅하는 수단을 더 포함한다. 일 실시예에서, 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 수단은 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고, 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는 수단을 더 포함한다. 일 실시예에서, 시스템 데이터 버스를 통해 데이터를 전송하는 수단은 다수의 전송 모드들 중 하나에 따라 수행되며, 제1 모드에 따라 데이터를 전송하는 수단은 버스트 길이의 모든 전송 기간들 동안 데이터의 전송 대역폭 양을 전송하는 수단을 포함하고, 제2 모드에 따라 데이터를 전송하는 수단은 버스트 길이의 모든 전송 기간들 동안 시스템 데이터 버스를 통해 데이터의 이용가능 대역폭 양을 전송하는 수단을 포함한다. 일 실시예에서, 버스트 길이를 설정하는 수단을 더 포함하며, 시스템 데이터 버스를 통해 데이터를 전송하는 수단은 버스트 길이 설정에 기초하여 전송 대역폭을 변경하는 수단을 포함한다.
본원에 예시된 바와 같은 흐름도들은 다양한 프로세스 액션들의 시퀀스들의 예들을 제공한다. 흐름도들은 물리 동작들, 예컨대 하드웨어 로직에 의해 실행되는 동작들뿐만 아니라, 소프트웨어 및/또는 펌웨어 루틴에 의해 실행되는 동작들을 표시할 수 있다. 일 실시예에서, 흐름도는 하드웨어 및/또는 소프트웨어로 구현될 수 있는 유한 상태 머신(finite state machine)(FSM)의 상태를 예시할 수 있다. 특정 시퀀스 또는 순서로 도시되지만, 달리 지정되지 않는 한, 동작들의 순서는 수정될 수 있다. 따라서, 예시된 실시예들은 예로서만 이해되어야 하고, 프로세스는 상이한 순서로 수행될 수 있고, 일부 액션들은 병렬로 수행될 수 있다. 부가적으로, 하나 이상의 액션들은 다양한 실시예들에서 생략될 수 있고; 따라서, 모든 액션들은 모든 실시예에서 요구되지 않는다. 다른 프로세스 흐름들이 가능하다.
다양한 동작들 또는 기능들이 본원에 설명되는 정도까지, 그들은 소프트웨어 코드, 명령어들, 구성, 및/또는 데이터로 설명되거나 정의될 수 있다. 콘텐츠는 직접 실행 파일(executable)("목적" 또는 "실행가능" 형태), 소스 코드, 또는 차이 코드("델타" 또는 "패치" 코드)일 수 있다. 본원에 설명되는 실시예들의 소프트웨어 콘텐츠는 콘텐츠가 저장되는 제조 물품을 통해 제공되거나, 통신 인터페이스를 통해 데이터를 송신하기 위해 통신 인터페이스를 동작시키는 방법을 통해 제공될 수 있다. 머신 판독가능 저장 매체는 머신이 설명되는 기능들 또는 동작들을 수행하게 할 수 있고, 머신(예를 들어, 컴퓨팅 디바이스, 전자 시스템 등), 예컨대 기록가능/기록불가능 매체(예를 들어, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스들 등)에 의해 액세스가능한 형태로 정보를 저장하는 임의의 메커니즘을 포함한다. 통신 인터페이스는 다른 디바이스, 예컨대 메모리 버스 인터페이스, 프로세서 버스 인터페이스, 인터넷 접속, 디스크 제어기 등에 전달하기 위해 하드와이어드, 무선, 광 등 매체 중 어느 것에 인터페이스되는 임의의 메커니즘을 포함한다. 통신 인터페이스는 구성 파라미터들을 제공하고 및/또는 신호들을 송신하여 통신 인터페이스를 통해 소프트웨어 콘텐츠를 설명하는 데이터 신호를 제공함으로써 구성될 수 있다. 통신 인터페이스는 통신 인터페이스에 송신되는 하나 이상의 커맨드들 또는 신호들을 통해 액세스될 수 있다.
본원에 설명되는 다양한 구성요소들은 설명되는 동작들 또는 기능들을 수행하는 수단일 수 있다. 본원에 설명되는 각각의 구성요소는 소프트웨어, 하드웨어, 또는 이들의 조합을 포함한다. 구성요소들은 소프트웨어 모듈들, 하드웨어 모듈들, 특수 목적 하드웨어(예를 들어, 주문형 하드웨어, 주문형 집적 회로들(ASICs), 디지털 신호 프로세서들(DSPs) 등), 내장 제어기들, 하드와이어드 회로 등으로 구현될 수 있다.
본원에 설명되는 것 외에, 다양한 수정들은 범위로부터 벗어나는 것 없이 본 발명의 개시된 실시예들 및 구현들에 이루어질 수 있다. 따라서, 본원에서의 예시들 및 예들은 예시적인 의미로 해석되어야 하고, 제한적인 의미로 해석되지 않아야 한다. 본 발명의 범위는 오로지 이하의 청구항들에 대한 참조에 의해 측정되어야 한다.

Claims (23)

  1. 메모리 서브시스템에서 인터페이스하는 방법으로서,
    다수의 메모리 어레이들을 갖는 메모리 디바이스에서 메모리 제어기로부터 메모리 액세스 커맨드를 수신하는 단계 - 상기 메모리 액세스 커맨드는 상기 메모리 디바이스와 상기 메모리 제어기 사이의 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -;
    상기 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함한, 상기 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터를 전송하는 단계 - 상기 전송 대역폭은 상기 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 상기 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 상기 전송 대역폭은 상기 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 - ; 및
    상기 버스트 길이를 설정하는 단계
    를 포함하고,
    상기 시스템 데이터 버스를 통해 데이터를 전송하는 단계는 상기 버스트 길이 설정에 기초하여 상기 전송 대역폭을 변경하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 메모리 액세스 커맨드를 수신하는 단계는 메모리 판독 커맨드를 수신하는 단계를 포함하며, 상기 전송하는 단계는,
    상기 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 단계; 및
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 상기 메모리 어레이들 중 M/2개의 메모리 어레이만으로부터 데이터를 송신하는 단계를 더 포함하는 방법.
  4. 제2항에 있어서, 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 M/2개의 메모리 어레이의 하나의 그룹으로부터 데이터의 N/4 비트를 내부적으로 라우팅하는 단계 및 데이터의 N/4 비트를 M/2개의 메모리 어레이의 다른 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로 내부적으로 라우팅하는 단계를 더 포함하는 방법.
  5. 제2항에 있어서, 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 송신하는 단계는 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로부터 N/2 I/O(입력/출력) 커넥터들의 그룹으로 내부적으로 라우팅하는 단계, 및 M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 메모리 액세스 커맨드를 수신하는 단계는 메모리 기록 커맨드를 수신하는 단계를 포함하며, 상기 메모리 디바이스는 M개의 메모리 어레이를 포함하고 상기 이용가능 대역폭은 N 비트이고 상기 전송 대역폭은 N/2 비트이며, 상기 전송하는 단계는,
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하는 단계; 및
    상기 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 데이터의 N/2 비트를 상기 M/2개의 메모리 어레이로 라우팅하는 단계는 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 단계 및 데이터의 N/4 비트를 N/2 I/O(입력/출력) 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅하는 단계를 더 포함하는 방법.
  8. 제6항에 있어서, 상기 데이터의 N/2 비트를 상기 M/2개의 메모리 어레이로 라우팅하는 단계는 상기 데이터의 N/2 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하는 단계, 및 데이터의 임의의 비트들을 M/2개의 메모리 어레이의 다른 그룹으로 라우팅하지 않는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 상기 시스템 데이터 버스를 통해 상기 데이터를 전송하는 단계는 다수의 전송 모드들 중 하나에 따라 수행되며, 제1 모드에 따라 상기 데이터를 전송하는 단계는 상기 버스트 길이의 모든 전송 기간들 동안 상기 데이터의 전송 대역폭 양을 전송하는 단계를 포함하고, 제2 모드에 따라 상기 데이터를 전송하는 단계는 상기 버스트 길이의 모든 전송 기간들 동안 상기 시스템 데이터 버스를 통해 상기 데이터의 이용가능 대역폭 양을 전송하는 단계를 포함하는 방법.
  10. 삭제
  11. 메모리 서브시스템에서 인터페이스하는 메모리 디바이스로서,
    데이터를 저장하는 메모리 저장 소자들을 각각 포함하는 다수의 메모리 어레이들;
    시스템 데이터 버스를 통해 메모리 제어기에 결합하는 하드웨어 I/O(입력/출력) 커넥터들;
    상기 다수의 메모리 어레이들을 상기 I/O 커넥터들에 결합하는 내부 메모리 버스; 및
    로직을 포함하고,
    상기 로직은
    상기 메모리 제어기로부터 메모리 액세스 커맨드를 수신하고 - 상기 메모리 액세스 커맨드는 상기 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -,
    상기 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함하여, 상기 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터를 전송하고 - 상기 전송 대역폭은 상기 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 상기 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 상기 전송 대역폭은 상기 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 -,
    상기 버스트 길이를 설정하고,
    상기 로직은 상기 시스템 데이터 버스를 통해 데이터를 전송할 때 상기 버스트 길이 설정에 기초하여 상기 전송 대역폭을 변경하도록 구성된,
    메모리 디바이스.
  12. 제11항에 있어서, 상기 로직은 메모리 판독 커맨드를 수신하며, 상기 전송하는 것은, 상기 로직이,
    상기 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하고;
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 것을 더 포함하는 메모리 디바이스.
  13. 제12항에 있어서, 상기 로직은 M/2개의 메모리 어레이의 하나의 그룹으로부터 데이터의 N/4 비트를 내부적으로 라우팅하고 M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/4 비트를 N/2 I/O 커넥터들의 공통 그룹으로 내부적으로 라우팅하는 메모리 디바이스.
  14. 제12항에 있어서, 상기 로직은 M/2개의 메모리 어레이의 하나의 그룹으로부터 데이터의 N/2 비트를 N/2 I/O 커넥터들의 그룹으로 내부적으로 라우팅하고, M/2개의 메모리 어레이의 다른 그룹으로부터 데이터의 N/2 비트를 송신하지 않는 메모리 디바이스.
  15. 제11항에 있어서, 상기 로직은 메모리 기록 커맨드를 수신하며, 상기 메모리 디바이스는 M개의 메모리 어레이를 포함하고 상기 이용가능 대역폭은 N 비트이고 상기 전송 대역폭은 N/2 비트이며, 상기 전송하는 것은, 상기 로직이,
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하고;
    상기 데이터의 N/2 비트를 M/2개의 메모리 어레이로 라우팅하는 것을 더 포함하는 메모리 디바이스.
  16. 제15항에 있어서, 상기 로직은 데이터의 N/4 비트를 M/2개의 메모리 어레이의 하나의 그룹으로 내부적으로 라우팅하고 데이터의 N/4 비트를 N/2 I/O 커넥터들의 공통 그룹으로부터 M/2개의 메모리 어레이의 다른 그룹으로 내부적으로 라우팅하는 메모리 디바이스.
  17. 제11항에 있어서, 상기 로직은 다수의 전송 모드들 중 하나에 따라 상기 시스템 데이터 버스를 통해 상기 데이터를 전송하며, 제1 모드에 따라 상기 로직은 상기 버스트 길이의 모든 전송 기간들 동안 상기 데이터의 전송 대역폭 양을 전송하고, 제2 모드에 따라 상기 로직은 상기 버스트 길이의 모든 전송 기간들 동안 상기 시스템 데이터 버스를 통해 상기 데이터의 이용가능 대역폭 양을 전송하는 메모리 디바이스.
  18. 메모리 서브시스템을 갖는 전자 디바이스로서,
    메모리 제어기;
    상기 메모리 제어기와 인터페이스하는 메모리 디바이스; 및
    상기 메모리 디바이스로부터 액세스되는 데이터에 기초하여 디스플레이를 발생시키도록 결합되는 터치스크린 디스플레이
    를 포함하고,
    상기 메모리 디바이스는,
    데이터를 저장하는 메모리 저장 소자들을 각각 포함하는 다수의 메모리 어레이들;
    시스템 데이터 버스를 통해 메모리 제어기에 결합하는 하드웨어 I/O(입력/출력) 커넥터들;
    상기 다수의 메모리 어레이들을 상기 I/O 커넥터들에 결합하는 내부 메모리 버스; 및
    로직
    을 포함하고,
    상기 로직은,
    상기 메모리 제어기로부터 메모리 액세스 커맨드를 수신하고 - 상기 메모리 액세스 커맨드는 상기 시스템 데이터 버스를 통한 데이터의 교환을 포함함 -,
    상기 시스템 데이터 버스를 통해 데이터의 전송 대역폭 양을 전송하는 것을 포함하여, 상기 메모리 액세스 커맨드와 연관되는 버스트 길이의 모든 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터를 전송하고 - 상기 전송 대역폭은 상기 메모리 디바이스의 내부 데이터 버스의 이용가능 대역폭의 서브세트만이고, 상기 이용가능 대역폭은 어레이들의 그룹 내의 모든 메모리 어레이들로부터의 데이터를 포함하고, 상기 전송 대역폭은 상기 그룹 내의 메모리 어레이들의 서브세트만으로부터의 데이터를 포함함 -,
    상기 버스트 길이를 설정하고,
    상기 로직은 상기 시스템 데이터 버스를 통해 데이터를 전송할 때 상기 버스트 길이 설정에 기초하여 상기 전송 대역폭을 변경하도록 구성된,
    전자 디바이스.
  19. 제18항에 있어서,
    상기 로직은 메모리 판독 커맨드를 수신하고, 상기 전송하는 것은 상기 로직이,
    상기 내부 데이터 버스 상에서 M개의 메모리 어레이로부터의 데이터의 N 비트에 액세스하는 것; 및
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 액세스된 데이터의 N/2 비트를 송신하는 것을 더 포함하는 전자 디바이스.
  20. 제18항에 있어서,
    상기 로직은 메모리 기록 커맨드를 수신하고, 상기 메모리 디바이스는 M개의 메모리 어레이를 포함하고, 상기 이용가능 대역폭은 N 비트이고, 상기 전송 대역폭은 N/2 비트이고, 상기 전송하는 것은 상기 로직이,
    상기 전송 기간들 동안 상기 시스템 데이터 버스를 통해 데이터의 N/2 비트를 수신하고,
    상기 데이터의 N/2 비트를 M/2개의 메모리 어레이에 라우팅하는 것을 더 포함하는 전자 디바이스.
  21. 삭제
  22. 삭제
  23. 삭제
KR1020177004637A 2014-09-26 2015-09-03 저전력 메모리 디바이스들에 대한 공통 다이 구현 KR102256441B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/498,806 2014-09-26
US14/498,806 US20160092383A1 (en) 2014-09-26 2014-09-26 Common die implementation for memory devices
PCT/US2015/048299 WO2016048618A1 (en) 2014-09-26 2015-09-03 Common die implementation for low power memory devices

Publications (2)

Publication Number Publication Date
KR20170033390A KR20170033390A (ko) 2017-03-24
KR102256441B1 true KR102256441B1 (ko) 2021-05-27

Family

ID=55581792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004637A KR102256441B1 (ko) 2014-09-26 2015-09-03 저전력 메모리 디바이스들에 대한 공통 다이 구현

Country Status (7)

Country Link
US (1) US20160092383A1 (ko)
EP (1) EP3198457B1 (ko)
JP (1) JP6373487B2 (ko)
KR (1) KR102256441B1 (ko)
CN (1) CN106575274A (ko)
TW (1) TWI546672B (ko)
WO (1) WO2016048618A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870325B2 (en) 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
JP6543129B2 (ja) * 2015-07-29 2019-07-10 ルネサスエレクトロニクス株式会社 電子装置
CN109313918B (zh) 2016-09-02 2023-04-28 拉姆伯斯公司 具有输入/输出数据速率对齐的存储器部件
US10789185B2 (en) * 2016-09-21 2020-09-29 Rambus Inc. Memory modules and systems with variable-width data ranks and configurable data-rank timing
US10120749B2 (en) * 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
US10503435B2 (en) 2016-12-01 2019-12-10 Qualcomm Incorporated Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
EP3370152B1 (en) 2017-03-02 2019-12-25 INTEL Corporation Integrated error checking and correction (ecc) in memory devices with fixed bandwidth interfaces
KR20190124914A (ko) 2018-04-27 2019-11-06 삼성전자주식회사 다이나믹 랜덤 억세스 메모리 장치 및 이 장치를 구비하는 메모리 시스템
US11139249B2 (en) 2019-04-01 2021-10-05 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor devices and methods of forming the same
CN111045955B (zh) * 2019-12-16 2023-09-22 瓴盛科技有限公司 架构动态配置的存储装置及其操作方法及电子设备
CN113094310A (zh) * 2019-12-23 2021-07-09 华为技术有限公司 内存管理器、处理器内存子系统、处理器和电子设备
US11604744B2 (en) * 2020-10-16 2023-03-14 Alibaba Group Holding Limited Dual-modal memory interface controller
US11599484B2 (en) * 2020-12-01 2023-03-07 Micron Technology, Inc. Semiconductor device having plural signal buses for multiple purposes
KR20240009812A (ko) * 2022-07-14 2024-01-23 삼성전자주식회사 프리페치 기능을 지원하는 스토리지 모듈 및 그것의 동작 방법
KR20240009813A (ko) * 2022-07-14 2024-01-23 삼성전자주식회사 단일 직렬 쓰기 인터페이싱 방식을 지원하는 스토리지 모듈 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177909A1 (en) * 2006-12-13 2009-07-09 Texas Instruments Incorporated Memory bus shared system
US20140149775A1 (en) * 2011-07-12 2014-05-29 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01277946A (ja) * 1988-04-30 1989-11-08 Oki Electric Ind Co Ltd ワード長可変記憶装置
JPH0465738A (ja) * 1990-07-05 1992-03-02 Koufu Nippon Denki Kk メモリ装置
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6375966B1 (en) * 2000-05-26 2002-04-23 Scented Technologies, Llc Polyurethane/polyurea matrices for the delivery of active agents
US6725316B1 (en) * 2000-08-18 2004-04-20 Micron Technology, Inc. Method and apparatus for combining architectures with logic option
KR100468719B1 (ko) * 2002-01-11 2005-01-29 삼성전자주식회사 N 비트 프리페치 방식과 2n 버스트 길이를 지원할 수있는 반도체 메모리 장치
US7043611B2 (en) * 2002-12-11 2006-05-09 Lsi Logic Corporation Reconfigurable memory controller
US7158536B2 (en) * 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US7363406B2 (en) * 2004-12-08 2008-04-22 Motorola, Inc. Dynamic access scheduling memory controller
CN101118523B (zh) * 2006-08-01 2011-10-19 飞思卡尔半导体公司 存储器访问控制装置及其方法、存储器访问控制器及其方法
JP2008293413A (ja) * 2007-05-28 2008-12-04 Murata Mach Ltd 増設メモリのアクセス方法、電子装置、およびメモリモジュール
US8692783B2 (en) * 2009-06-30 2014-04-08 4 Thumbs, Llc Touchscreen overlay
JP2011175563A (ja) * 2010-02-25 2011-09-08 Elpida Memory Inc データ処理システム及びその制御方法
US9250668B2 (en) * 2012-11-29 2016-02-02 International Business Machines Corporation Decoupled power and performance allocation in a multiprocessing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177909A1 (en) * 2006-12-13 2009-07-09 Texas Instruments Incorporated Memory bus shared system
US20140149775A1 (en) * 2011-07-12 2014-05-29 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links

Also Published As

Publication number Publication date
TWI546672B (zh) 2016-08-21
JP2017532637A (ja) 2017-11-02
EP3198457A1 (en) 2017-08-02
EP3198457A4 (en) 2018-06-20
TW201626242A (zh) 2016-07-16
EP3198457B1 (en) 2020-06-17
KR20170033390A (ko) 2017-03-24
CN106575274A (zh) 2017-04-19
US20160092383A1 (en) 2016-03-31
JP6373487B2 (ja) 2018-08-15
WO2016048618A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
KR102256441B1 (ko) 저전력 메모리 디바이스들에 대한 공통 다이 구현
US9870325B2 (en) Common die implementation for memory devices with independent interface paths
US11789880B2 (en) Load reduced nonvolatile memory interface
TWI740897B (zh) 具有窄帶寬中繼器通道的記憶體子系統
TWI721003B (zh) 記憶體裝置及用於記憶體管理的系統
KR102236801B1 (ko) 메모리와 호스트 시스템 간의 ecc 메타데이터 교환
KR20230153986A (ko) 행 해머 완화의 호스트 지원을 위한 리프레시 커맨드 제어
CN109478177B (zh) 双数据率命令总线
WO2016014212A1 (en) Selective control of on-die termination in a multi-rank system
EP3314446A1 (en) Internal consecutive row access for long burst length
KR20210038313A (ko) 레이턴시에 중점을 둔 판독 동작과 대역폭에 중점을 둔 판독 동작 사이의 동적 변경
JP2021125228A (ja) 不揮発性メモリにおける構成可能な書込みコマンド遅延
JP2021111333A (ja) 不揮発性メモリの自動インクリメント書き込みカウント

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
GRNT Written decision to grant