KR20190088989A - 프로세서-기반 시스템들에서의 확장 dram(dynamic random access memory) 버스트 길이들의 제공 - Google Patents

프로세서-기반 시스템들에서의 확장 dram(dynamic random access memory) 버스트 길이들의 제공 Download PDF

Info

Publication number
KR20190088989A
KR20190088989A KR1020197015519A KR20197015519A KR20190088989A KR 20190088989 A KR20190088989 A KR 20190088989A KR 1020197015519 A KR1020197015519 A KR 1020197015519A KR 20197015519 A KR20197015519 A KR 20197015519A KR 20190088989 A KR20190088989 A KR 20190088989A
Authority
KR
South Korea
Prior art keywords
dram
memory
data
bits
burst length
Prior art date
Application number
KR1020197015519A
Other languages
English (en)
Other versions
KR102520152B1 (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 KR20190088989A publication Critical patent/KR20190088989A/ko
Application granted granted Critical
Publication of KR102520152B1 publication Critical patent/KR102520152B1/ko

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • Y02D10/14

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

프로세서-기반 시스템들에서의 확장 DRAM(dynamic random access memory) 버스트 길이들의 제공이 개시된다. 일 양상에서, 프로세서-기반 시스템은 4-비트-와이드 데이터 액세스("x4") 및 128-비트 내부 데이터 프리페치를 제공하는 DRAM 회로(예컨대, 공통 x4/x8 다이 상에 배치됨)를 포함한다. x4 모드로 동작될 때, DRAM 회로는 32 비트의 확장 DRAM 버스트 길이("BL32")를 제공하도록 구성된다. DRAM 회로는 DRAM 회로에 통신가능하게 커플링된 메모리 제어기로부터 메모리 판독 요청을 수신하고, 128 비트의 데이터를 프리페치하며, 그리고 메모리 판독 요청에 대한 응답으로 128 비트의 페치된 데이터 전부를 메모리 제어기에 리턴한다. 일부 양상들에서, DRAM 회로는 또한, 메모리 제어기로부터 128 비트의 기록 데이터를 포함하는 메모리 기록 커맨드를 수신할 수 있으며, 판독/수정/기록(RMW) 동작을 수행하지 않고 128 비트의 기록 데이터를 메모리에 기록할 수 있다.

Description

프로세서-기반 시스템들에서의 확장 DRAM(DYNAMIC RANDOM ACCESS MEMORY) 버스트 길이들의 제공
[0001] 본 출원은, "PROVIDING EXTENDED DYNAMIC RANDOM ACCESS MEMORY (DRAM) BURST LENGTHS IN PROCESSOR-BASED SYSTEMS"란 명칭으로 2016년 12월 1일자로 출원된 미국 가 특허 출원 일련 번호 제62/428,638호에 대한 우선권을 주장하는, "PROVIDING EXTENDED DYNAMIC RANDOM ACCESS MEMORY (DRAM) BURST LENGTHS IN PROCESSOR-BASED SYSTEMS"란 명칭으로 2017년 11월 29일자로 출원된 미국 특허 출원 일련 번호 제15/825,724호에 대한 우선권을 주장하며, 위 출원들의 내용들은 그 전체가 인용에 의해 본원에 통합된다.
[0002] 본 개시내용의 기술은 일반적으로, 프로세서-기반 시스템들을 위한 메모리 시스템들에 관한 것이고, 특히, DRAM(dynamic random access memory)에서의 메모리 버스트 길이(burst length)들에 관한 것이다.
[0003] DRAM(dynamic random access memory)은, 메모리 회로 내에 하나의 트랜지스터와 하나의 커패시터로 구성된 쌍을 사용하여 데이터의 개별적인 비트들이 저장되는 일반적인 형태의 컴퓨터 메모리이다. DDR(double data rate) 메모리는, 클럭 신호의 상승 에지와 하강 에지 둘 모두에서 데이터 전송을 가능하게 함으로써 더 높은 데이터 전송 레이트들을 제공하여, 이에 따라 주어진 클럭 주파수에서 데이터 버스 대역폭이 두 배가 되게 하는 DRAM의 부류이다. JEDEC(Joint Electron Device Engineering Council)는 DDR1, DDR2, DDR3 및 DDR4를 포함하는 다수의 세대들의 DDR 메모리에 대한 규격(specification)들을 개발했으며, DDR5에 대한 규격이 예정되어 있다.
[0004] DRAM 회로는 입력 및 출력을 위해 4 개 또는 8 개의 데이터 핀들(본원에서 "x4" 또는 "4-비트-와이드" 그리고 "x8" 또는 "8-비트-와이드"로 각각 지칭됨)을 제공하는 공통 다이를 사용하여 구현될 수 있다. DRAM 회로의 안팎으로 전송될 수 있는 데이터의 양은 사용 중인 데이터 핀들의 수와 DRAM 회로의 "버스트 길이"의 함수이다. 본원에서 사용된 바와 같이, "버스트 길이"는 각각의 데이터 핀을 통해 단일 송신 유닛("버스트")으로서 송신될 수 있는 데이터의 비트 수를 지칭한다. 따라서, 예컨대, 16의 DRAM 버스트 길이(BL16)를 이용하는 x4 DRAM 회로가 한 번에 64 비트의 데이터(즉, 4 개의 데이터 핀들 각각에 대해 16 비트의 데이터)를 전송할 수 있는 반면, BL16을 이용하는 x8 DRAM 회로는 한 번에 128 비트의 데이터(즉, 8 개의 데이터 핀들 각각에 대해 16 비트의 데이터)를 전송할 수 있다.
[0005] 공통 다이가 x4 DRAM 회로와 x8 DRAM 회로 둘 모두를 구현하는 데 사용될 수 있기 때문에, 공통 다이에 기반한 DRAM 회로는, 단일 메모리 동작으로 실제 송신될 수 있는 비트 수에 관계 없이, 모든 외부의 판독들 및 기록들에 대해 내부적으로 128 비트의 데이터의 프리페치(prefetch)들을 수행하도록 구성될 수 있다. 이는 BL16을 이용하는 x8 DRAM 회로들에 대해서는 최적의 성능을 제공할 수 있지만, BL16을 사용하는 x4 DRAM 회로들에 대해서는 덜 효율적인 성능 및 전력 소모를 야기할 수 있다. 예컨대, x4 DRAM 회로에 대한 메모리 판독 동작은, DRAM 회로가 128 비트의 데이터를 페치하고, 에러 정정 코드(ECC; error correction code)를 사용하여 임의의 단일 비트 에러들을 정정하고, 페치된 데이터의 64-비트 서브세트를 메모리 제어기에 제공하며, 그리고 다른 64 비트의 페치된 데이터를 폐기할 것을 요구한다. 메모리 기록 동작들의 경우, 64 비트의 기록 데이터만이 메모리에 기록되도록 DRAM 회로에 의해 수신된다. 그러나, DRAM 회로는 여전히 내부적으로 128 비트의 데이터를 페치하고, 에러 정정을 수행하고, 64 비트의 기록 데이터를 128 비트의 페치된 데이터에 합치고, 128 비트의 데이터에 대한 ECC를 재계산(recompute)하며, 그리고 최종적으로 데이터 전부를 다시 메모리에 기록해야 한다. 이러한 일련의 동작들은 판독/수정/기록(RMW; read/modify/write) 동작이 DRAM 회로에 의해 수행될 것을 요구하며, 이는 계산 자원들 및 전력 소모 측면에서 값비쌀 수 있다. 따라서, 메모리 판독 및 기록 동작들을 수행하기 위해 공통 x4/x8 다이 상에 구현되는 x4 DRAM 회로에 대한 더욱 효율적인 메커니즘을 제공하는 것이 바람직하다.
[0006] 상세한 설명에서 개시된 양상들은 프로세서-기반 시스템들에서의 확장 DRAM(dynamic random access memory) 버스트 길이들의 제공을 포함한다. 이 점과 관련하여, 일 양상에서, 프로세서-기반 시스템은 4-비트-와이드 데이터 액세스 및 128-비트 내부 데이터 프리페치를 제공하는 DRAM 회로(예컨대, 공통 x4/x8 다이 상에 배치됨)를 포함한다. x4 모드로 동작될 때, DRAM 회로는 32 비트의 확장 DRAM 버스트 길이(BL32)를 제공하도록 구성된다. DRAM 회로는 DRAM 회로에 통신가능하게 커플링되는 메모리 제어기로부터 메모리 판독 요청을 수신한다. DRAM 회로는, 128 비트의 데이터를 프리페치하고 그 다음 메모리 판독 요청에 대한 응답으로 128 비트의 페치된 데이터 전부를 메모리 제어기에 리턴하도록 구성된다. 일부 양상들에서, DRAM 회로는 또한, 메모리 제어기로부터 128 비트의 기록 데이터를 포함하는 메모리 기록 커맨드를 수신할 수 있으며, 판독/수정/기록(RMW) 동작을 수행하지 않고 128 비트의 기록 데이터를 메모리에 기록할 수 있다. 일부 양상들은, 이를테면 BL16 또는 BL32 사이에서 토글링(toggle)하도록 판독 및 기록 커맨드들 내의 비트를 세팅하거나 또는 클리어링함으로써, DRAM 회로의 BL32 모드가 메모리 제어기에 의해 동적으로 선택가능한 것을 제공할 수 있다. 일부 양상들에서, DRAM 회로에 의해 제공되는 하나 이상의 모드 레지스터들 중의 모드 레지스터가 온-더-플라이(on-the-fly)로 BL16 또는 BL32를 선택하기 위한 모드를 인에이블(enable)하도록 구성된다.
[0007] 다른 양상에서, 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템이 제공된다. 프로세서-기반 시스템은 4-비트-와이드 데이터 액세스 및 128-비트 내부 데이터 프리페치를 제공하도록 구성된 DRAM 회로를 포함한다. 프로세서-기반 시스템은 DRAM 회로에 통신가능하게 커플링된 메모리 제어기를 더 포함한다. DRAM 회로는, 메모리 제어기로부터 메모리 판독 요청을 수신하도록 구성됨으로써, 32 비트의 확장 DRAM 버스트 길이를 제공하도록 구성된다. DRAM 회로는 추가로, 128 비트 데이터의 내부 프리페치를 수행하도록 구성된다. DRAM 회로는 128 비트의 데이터 전부에 대해 에러 정정 코드(ECC)를 생성하도록 구성된다. DRAM 회로는 또한, 메모리 판독 요청에 응답하여 128 비트의 데이터 전부를 메모리 제어기에 리턴하도록 구성된다.
[0008] 다른 양상에서, 확장 DRAM 버스트 길이들을 제공하기 위한 방법이 제공된다. 방법은, 4-비트-와이드 데이터 액세스 및 128-비트 내부 데이터 프리페치를 제공하도록 구성된 DRAM 회로가 메모리 제어기로부터 메모리 판독 요청을 수신하는 단계를 포함한다. 방법은, 128 비트의 데이터의 내부 프리페치를 수행하는 단계, 및 128 비트의 데이터 전부에 대해 ECC를 생성하는 단계를 더 포함한다. 방법은 또한, 메모리 판독 요청에 응답하여 DRAM 회로가 128 비트의 데이터 전부를 메모리 제어기에 리턴하는 단계를 포함한다.
[0009] 다른 양상에서, 4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템이 제공된다. 프로세서-기반 시스템은 메모리 제어기로부터 메모리 판독 요청을 수신하기 위한 수단을 포함한다. 프로세서-기반 시스템은, 128 비트의 데이터의 내부 프리페치를 수행하기 위한 수단, 및 128 비트의 데이터 전부에 대해 ECC를 생성하기 위한 수단을 더 포함한다. 프로세서-기반 시스템은 또한, 메모리 판독 요청에 응답하여 128 비트의 데이터 전부를 메모리 제어기에 리턴하기 위한 수단을 포함한다.
[0010] 도 1은 확장 DRAM(dynamic random access memory) 버스트 길이들을 제공하도록 구성된 DRAM 회로 및 메모리 제어기를 포함하는 예시적인 프로세서-기반 시스템의 블록 다이어그램이고;
[0011] 도 2는 도 1의 메모리 제어기 및 DRAM 회로를 사용하여 확장 DRAM 버스트 길이들을 제공하기 위한 예시적인 프로세스를 예시하는 흐름도이며; 그리고
[0012] 도 3은 도 1의 메모리 제어기 및 DRAM 회로를 포함할 수 있는 예시적인 프로세서-기반 시스템의 블록 다이어그램이다.
[0013] 이제, 도시된 도면들을 참조하여, 본 개시내용의 몇몇 예시적인 양상들이 설명된다. "예시적인" 것이란 단어는 "예, 실례, 또는 예시로서의 역할을 하는" 것을 의미하기 위해 본원에서 사용된다. "예시적인" 것으로서 본원에서 설명된 임의의 양상이 반드시 다른 양상들보다 바람직하거나 또는 유리한 것으로서 해석되어야 하는 것은 아니다.
[0014] 상세한 설명에서 개시된 양상들은 프로세서-기반 시스템들에서의 확장 DRAM(dynamic random access memory) 버스트 길이들의 제공을 포함한다. 이에 따라서, 이 점과 관련하여, 도 1은 중앙 프로세싱 유닛(CPU; central processing unit)(102), 메모리 제어기(104), 및 32 비트의 확장 DRAM 버스트 길이(즉, "BL32")를 사용하여 메모리 동작들을 수행하기 위한 DRAM 회로(106)를 포함하는 예시적인 프로세서-기반 시스템(100)을 예시한다. 일부 양상들에서, 메모리 제어기(104)는 CPU(102)를 포함하는 반도체 다이와는 별개의 반도체 다이 상에 제공되는 반면, 일부 양상들은 메모리 제어기(104)가 CPU(102)와 동일한 반도체 다이 상에 제공되는 것을 제공한다. 다이 구성들에 관계 없이, 메모리 제어기(104)는, CPU(102)가 메모리 제어기(104)에 내부 시스템 버스를 통해 메모리 액세스 요청들을 하고 메모리 제어기(104)를 통해 메모리로부터 데이터를 수신할 수 있도록 제공된다.
[0015] 도 1의 프로세서-기반 시스템(100)은 다른 엘리먼트들 중에서 알려진 디지털 로직 엘리먼트들, 반도체 회로들, 프로세싱 코어들 및/또는 메모리 구조들 중 임의의 것, 또는 이들의 결합들을 포함할 수 있다. 본원에서 설명된 양상들은 엘리먼트들의 임의의 특정 어레인지먼트로 제한되지 않으며, 개시된 기법들은 반도체 다이들 또는 패키지들 상의 다양한 구조들 및 레이아웃들로 쉽게 확장될 수 있다. 프로세서-기반 시스템(100)의 일부 양상들이 도 1에서 예시된 엘리먼트들 이외의 엘리먼트들을 포함할 수 있다는 것이 이해되어야 한다.
[0016] 도 1에서 알 수 있는 바와 같이, DRAM 회로(106)는 복수의 뱅크 그룹들(108(0)-108(X))로 조직화되며, 이러한 복수의 뱅크 그룹들(108(0)-108(X)) 각각은 복수의 뱅크들(110(0)-110(Y), 112(0)-112(Y))로 구성된다. 복수의 뱅크들(110(0)-110(Y), 112(0)-112(Y)) 각각은 대응하는 메모리 어레이(114(0)-114(Y), 116(0)-116(Y))를 포함한다. 뱅크 그룹들(108(0)-108(X)) 각각에 대한 메모리 액세스는, 로컬 입력/출력(I/O; input/output) 게이팅(120(0)-120(X)) 및 글로벌 I/O 게이팅(122)을 사용하여 내부 제어기(118)에 의해 제어될 수 있다. 일부 양상들에서, DRAM 회로(106)가 도 1에서 예시된 것보다 더 많거나 또는 더 적은 수의 뱅크 그룹들(108(0)-108(X)), 뱅크들(110(0)-110(Y), 112(0)-112(Y)), 메모리 어레이들(114(0)-114(Y), 116(0)-116(Y)), 및/또는 로컬 입력/출력(I/O) 게이팅(120(0)-120(X))을 포함할 수 있다는 것이 이해되어야 한다.
[0017] 메모리 제어기(104)와 통신하기 위해, DRAM 회로(106)는 데이터 인터페이스(124)를 제공한다. 도 1의 예에서, 데이터 인터페이스(124)는 총 8 개의 데이터 핀들(126(0)-126(7))을 제공한다. DRAM 회로(106)의 일부 양상들은, 메모리 제어기(104)에 데이터를 송신하고 메모리 제어기(104)로부터 데이터를 수신하기 위해 모든 8 개의 데이터 핀들(126(0)-126(7))(즉, "x8" 또는 "8-비트-와이드" 구성)을 사용할 수 있다. 16의 DRAM 버스트 길이(즉, "BL16")를 사용하는 그러한 양상들에서, DRAM 회로(106)는 128-비트 내부 프리페치를 제공하도록 구성될 수 있으며, 이에 따라 각각의 메모리 액세스 동작 동안 유닛(128)에 의해 표현되는 바와 같이 128 비트의 데이터를 판독 및 기록할 수 있다.
[0018] 그러나, DRAM 회로(106)의 일부 양상들은, 데이터 핀들((126)(0)-126(7)) 중 단 4 개(즉, "x4" 또는 "4-비트-와이드" 구성)만을 사용하도록 구성될 수 있다. BL16을 사용하는 그러한 양상들에서 메모리 판독 동작들을 수행할 때, DRAM 회로(106)는 128 비트의 데이터를 포함하는 유닛(128)을 검색(retrieve)할 수 있지만, 단 64 비트의 데이터, 이를테면 유닛들(130(0), 130(1)) 중 하나의 유닛만을 메모리 제어기(104)에 송신할 수 있다. 이는 메모리 대역폭, 계산 자원들 및 전력의 낭비를 야기한다. 유사하게, 64 비트의 데이터를 메모리에 기록하기 위해, DRAM 회로(104)는, 128 비트의 데이터를 포함하는 유닛(128)을 페치하고, 이 유닛(128)을 기록될 64 비트의 새로운 데이터(예컨대, 유닛들(130(0), 130(1)) 중 하나의 유닛)를 이용하여 업데이트하며, 그리고 데이터를 기록하기 위해 판독/수정/기록(RMW) 동작을 수행할 수 있다. 그러한 RMW 동작은 계산 자원들 및 전력 소모 측면에서 값비쌀 수 있다.
[0019] 이에 따라서, 도 1의 DRAM 회로(106)의 양상들은 x4 구성으로 동작할 때 32의 확장 DRAM 버스트 길이(즉, "BL32")를 제공하도록 구성된다. 그러한 양상들에서, DRAM 회로(106)는 메모리 제어기(104)로부터 메모리 판독 요청(132)을 수신할 수 있다. BL32 확장 DRAM 버스트 길이를 인식하도록 구성된 메모리 제어기(104)는 메모리 판독 요청(132)에 대한 응답으로 버스트당 128 비트의 데이터를 수신할 것으로 예상한다. 따라서, DRAM 회로(106)는 128 비트의 데이터의 유닛(128)을 페치하고, 128 비트의 데이터 전부에 대해 에러 정정 코드(ECC)를 생성하며, 그리고 메모리 판독 요청(132)에 대한 응답으로 128 비트의 데이터 전부를 메모리 제어기(104)에 리턴한다.
[0020] 메모리 기록 동작들의 경우, DRAM 회로(106)의 양상들은 128-비트 기록 데이터(136)를 포함하는 메모리 기록 요청(134)을 수신한다. 기록 데이터(136)를 수신할 때, DRAM 회로(106)는, RMW 동작을 수행하지 않고 기록 데이터(136)를 기록하도록 구성된다. 일부 양상들에서, DRAM 회로(106)는, 메모리 기록 동작의 일부로서 ECC를 생성하고 그리고/또는 기록 데이터(136)에 대한 에러 정정을 수행하도록 구성될 수 있다.
[0021] 일부 양상들에 따르면, DRAM 회로(106)는 버스트 길이의 "온-더-플라이(on-the-fly)" 선택을 인에이블(즉, 메모리 판독 및 기록 동작들을 위해 사용될 버스트 길이가 DRAM 회로(106)의 정상 동작 중에 수정될 수 있게 됨)하도록 구성될 수 있다. 그러한 일부 양상들에서, DRAM 회로(106)의 모드 레지스터(138)는 온-더-플라이 버스트 길이 선택이 인에이블되는지를 표시하는 버스트 길이 모드 표시자("BL MODE INDICATOR")(140)를 제공한다. 도 1의 모드 레지스터(138)가 DRAM 회로(106)에 의해 제공되는 복수의 모드 레지스터들 중 하나일 수 있다는 것이 이해되어야 한다. 온-더-플라이 버스트 길이 선택 모드(예컨대, 온-더-플라이 버스트 길이 선택이 허용되는지를 표시함)는 버스트 길이 모드 표시자(140)가 세팅 상태에 있을 때 DRAM 회로(106)에 의해 인에이블되고, 버스트 길이 모드 표시자(140)가 세팅 상태에 있지 않을 때 디스에이블된다(disabled). 일부 양상들에 따르면, 버스트 길이 모드 표시자(140)는 모드 레지스터(138)에 추가되는 새로운 비트를 포함할 수 있거나, 또는 온-더-플라이 버스트 길이 선택 모드를 표시하도록 용도 변경되는(repurposed), 모드 레지스터(138) 내의 기존 비트를 포함할 수 있다.
[0022] 버스트 길이 모드 표시자(140)가 세팅 상태에 있을 때, 메모리 판독 요청(132) 및/또는 메모리 기록 요청(134)은, DRAM 회로(106)에 의해 BL16이 사용되어야 하는지 또는 BL32 모드가 사용되어야 하는지를 표시하기 위해, 각각, 버스트 길이 선택 표시자들(142 및 144)을 포함할 수 있다. 예컨대, DRAM 회로(106)는 대응하는 버스트 길이 선택 표시자(142 또는 144)가 세팅 상태에 있지 않으면 종래의 BL16 모드를 사용하여 메모리 판독 동작 또는 메모리 기록 동작을 수행하도록, 그리고 대응하는 버스트 길이 선택 표시자(142 또는 144)가 세팅 상태에 있으면 BL32 모드로 동작하도록 구성될 수 있다. 이는 메모리 제어기(104)가, 선택된 버스트 길이에 대해 메모리 액세스 동작들을 최적화하기 위해 DRAM 회로(106)의 동작들을 조정(tailor)하는 것을 가능하게 하고 상이한 애플리케이션들에 상이한 버스트 길이들이 사용될 수 있게 하는 것을 가능하게 할 수 있다. 일부 양상들에서, 버스트 길이 선택 표시자(142 및/또는 144)는 각각 버스트 길이 선택 표시자(142 및/또는 144)로서 용도 변경되는, 메모리 판독 요청(132) 및/또는 메모리 기록 요청(134) 내의 종래의 버스트 촙(BC; burst chop) 표시자(미도시)를 포함할 수 있다.
[0023] 도 2는 확장 DRAM 버스트 길이들을 제공하기 위한, 도 1의 메모리 제어기(104) 및 DRAM 회로(106)의 예시적인 동작들을 예시한다. 명확성을 위해서, 도 2를 설명할 때 도 1의 엘리먼트들이 참조된다. 도 2에서, 동작들은 DRAM 회로(106)가 메모리 제어기(104)로부터 메모리 판독 요청(122)을 수신하는 것으로 시작한다(블록(200)). DRAM 회로(106)는 128 비트의 데이터를 페치한다(블록(202)). 그 다음, DRAM 회로(106)는 메모리 판독 요청(122)에 응답하여 128 비트의 데이터 전부를 메모리 제어기(104)에 리턴한다(블록(204)). 일부 양상들에서, DRAM 회로(106)는 또한, 메모리 제어기(104)로부터 128 비트의 기록 데이터(126)를 포함하는 메모리 기록 요청(124)을 수신할 수 있다(블록(206)). 그 다음, DRAM 회로(106)는 메모리 기록 요청(124)에 응답하여 RMW 동작을 수행하지 않고 128 비트의 기록 데이터(126)를 기록할 수 있다(블록(208)).
[0024] 도 2는 확장 DRAM 버스트 길이들을 제공하기 위한, 도 1의 메모리 제어기(104) 및 DRAM 회로(106)의 예시적인 동작들을 예시한다. 명확성을 위해서, 도 2를 설명할 때 도 1의 엘리먼트들이 참조된다. 일부 양상들에서, 도 2에서 예시된 동작들은 DRAM 회로(106)가, 버스트 길이 모드 표시자(140)가 세팅 상태에 있는 것에 응답하여 온-더-플라이 버스트 길이 모드 선택을 인에이블하는 것으로 시작한다(블록(200)). 이 점과 관련하여, DRAM 회로(106)는 "버스트 길이 모드 표시자가 세팅 상태에 있는 것에 응답하여 온-더-플라이 버스트 길이 모드 선택을 인에이블하기 위한 수단"으로 본원에서 지칭될 수 있다. 다음 차례로, DRAM 회로(106)는 메모리 제어기(104)로부터 메모리 판독 요청(132)을 수신한다(블록(202)). 이에 따라서, DRAM 회로(106)는 "메모리 제어기로부터 메모리 판독 요청을 수신하기 위한 수단"으로 본원에서 지칭될 수 있다.
[0025] DRAM 회로(106)는 128 비트의 데이터의 내부 프리페치를 수행한다(블록(204)). 따라서, DRAM 회로(106)는 "128 비트의 데이터의 내부 프리페치를 수행하기 위한 수단"으로 본원에서 지칭될 수 있다. DRAM 회로(106)는 128 비트의 데이터 전부에 대해 ECC를 생성한다(블록(205)). 이에 따라서, DRAM 회로(106)는 "128 비트의 데이터 전부에 대해 에러 정정 코드(ECC)를 생성하기 위한 수단"으로 본원에서 지칭될 수 있다. 그 다음, DRAM 회로(106)는 메모리 판독 요청(132)에 응답하여 128 비트의 데이터 전부를 메모리 제어기(104)에 리턴한다(블록(206)). 이 점과 관련하여, DRAM 회로(106)는 "메모리 판독 요청에 응답하여 128 비트의 데이터 전부를 메모리 제어기에 리턴하기 위한 수단"으로 본원에서 지칭될 수 있다. 일부 양상들에서, 128 비트의 데이터를 메모리 제어기(104)에 리턴하기 위한 블록(206)의 동작들은, 메모리 판독 요청(132)의 버스트 길이 선택 표시자(142)가 세팅 상태에 있다고 검출하는 것에 추가로 응답할 수 있다. 그러한 양상들에서, DRAM 회로(106)는 "메모리 판독 요청의 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하여 128 비트의 데이터 전부를 리턴하기 위한 수단"으로 본원에서 지칭될 수 있다.
[0026] 일부 양상들에 따르면, DRAM 회로(106)는 또한, 메모리 제어기(104)로부터 128 비트의 기록 데이터(136)를 포함하는 메모리 기록 요청(134)을 수신할 수 있다(블록(208)). 이에 따라서, DRAM 회로(106)는 "128 비트의 기록 데이터를 포함하는 메모리 기록 요청을 수신하기 위한 수단"으로 본원에서 지칭될 수 있다. 그러한 양상들에서, DRAM 회로(106)는 128 비트의 기록 데이터(136)에 대해 ECC를 생성한다(블록(209)). 이 점과 관련하여, DRAM 회로(106)는 "128 비트의 기록 데이터에 대해 ECC를 생성하기 위한 수단"으로 본원에서 지칭될 수 있다. 그 다음, DRAM 회로(106)는, 판독/수정/기록(RMW) 동작을 수행하지 않고 메모리 기록 요청(134)에 응답하여 128 비트의 기록 데이터(136)를 기록한다(블록(210)). 따라서, DRAM 회로(106)는 "판독/수정/기록(RMW) 동작을 수행하지 않고 메모리 기록 요청에 응답하여 128 비트의 기록 데이터를 기록하기 위한 수단"으로 본원에서 지칭될 수 있다. 일부 양상들은 128 비트의 기록 데이터(136)를 기록하기 위한 블록(210)의 동작들이, 메모리 기록 요청(134)의 버스트 길이 선택 표시자(144)가 세팅 상태에 있다고 검출하는 것에 추가로 응답하는 것을 제공할 수 있다. 이러한 양상들에서, DRAM 회로(106)는 "메모리 기록 요청의 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하여 128 비트의 기록 데이터를 기록하기 위한 수단"으로 본원에서 지칭될 수 있다.
[0027] 본원에서 개시된 양상들에 따른, 프로세서-기반 시스템들에서의 확장 DRAM 버스트 길이들의 제공은 임의의 프로세서-기반 디바이스에 제공되거나 또는 그에 통합될 수 있다. 예들은 셋 톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 고정 위치 데이터 유닛, 모바일 위치 데이터 유닛, GPS(global positioning system) 디바이스, 모바일 폰, 셀룰러 폰, 스마트 폰, SIP(session initiation protocol) 폰, 태블릿, 패블릿, 서버, 컴퓨터, 휴대용 컴퓨터, 모바일 컴퓨팅 디바이스, 웨어러블 컴퓨팅 디바이스(예컨대, 스마트 워치, 헬스 또는 피트니스 트래커, 안경류 등), 데스크톱 컴퓨터, PDA(personal digital assistant), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 뮤직 플레이어, 디지털 뮤직 플레이어, 휴대용 뮤직 플레이어, 디지털 비디오 플레이어, 비디오 플레이어, DVD(digital video disc) 플레이어, 휴대용 디지털 비디오 플레이어, 자동차, 차량 컴포넌트, 항공전자 시스템들, 드론, 및 멀티콥터(multicopter)를 포함(이에 제한되지 않음)한다.
[0028] 이 점과 관련하여, 도 3은 도 1에서 예시된 메모리 제어기(104) 및 DRAM 회로(106)를 사용할 수 있는 프로세서-기반 시스템(300)의 예를 예시한다. 프로세서-기반 시스템(300)은 하나 이상의 CPU들(302)을 포함하며, 이러한 하나 이상의 CPU들(302) 각각은 하나 이상의 프로세서들(304)을 포함한다. CPU(들)(302)는 일시적으로 저장된 데이터에 대한 신속한 액세스를 위해 프로세서(들)(304)에 커플링된 캐시 메모리(306)를 가질 수 있으며, 일부 양상들에서 도 1의 CPU(102)에 대응할 수 있다. CPU(들)(302)는 시스템 버스(308)에 커플링되며, 프로세서-기반 시스템(300)에 포함된 마스터 디바이스와 슬레이브 디바이스를 상호커플링할 수 있다. 잘 알려진 바와 같이, CPU(들)(302)는 시스템 버스(308)를 통해 어드레스, 제어 및 데이터 정보를 교환함으로써 이러한 다른 디바이스들과 통신한다. 예컨대, CPU(들)(302)는 슬레이브 디바이스의 예로서 메모리 제어기(310)에 버스 트랜잭션 요청들을 통신할 수 있다. 일부 양상들에 따르면, 메모리 제어기(310)는 도 1의 메모리 제어기(104)에 대응할 수 있다.
[0029] 다른 마스터 및 슬레이브 디바이스들은 시스템 버스(308)에 연결될 수 있다. 도 3에서 예시된 바와 같이, 이러한 디바이스들은 예들로서 메모리 시스템(312), 하나 이상의 입력 디바이스들(314), 하나 이상의 출력 디바이스들(316), 하나 이상의 네트워크 인터페이스 디바이스들(318), 및 하나 이상의 디스플레이 제어기들(320)을 포함할 수 있다. 입력 디바이스(들)(314)는 입력 키들, 스위치들, 음성 프로세서들 등을 포함(그러나, 이에 제한되지 않음)하는 임의의 유형의 입력 디바이스를 포함할 수 있다. 출력 디바이스(들)(316)는 오디오, 비디오, 다른 시각적 표시자들 등을 포함(그러나, 이에 제한되지 않음)하는 임의의 유형의 출력 디바이스를 포함할 수 있다. 네트워크 인터페이스 디바이스(들)(318)는, 네트워크(322)로의, 그리고 이 네트워크(322)로부터의 데이터의 교환을 허용하도록 구성된 임의의 디바이스들일 수 있다. 네트워크(322)는 유선 또는 무선 네트워크, 사설 또는 공중 네트워크, LAN(local area network), WLAN(wireless local area network), WAN(wide area network), BLUETOOTH™ 네트워크 및 인터넷을 포함(그러나, 이에 제한되지 않음)하는 임의의 유형의 네트워크일 수 있다. 네트워크 인터페이스 디바이스(들)(318)는, 원하는 임의의 유형의 통신 프로토콜을 지원하도록 구성될 수 있다. 메모리 시스템(312)은 하나 이상의 메모리 유닛들(324(0)-324(N))을 포함할 수 있다. 일부 양상들에서, 도 1의 DRAM 회로(106)는 도 3의 하나 이상의 메모리 유닛들(324(0)-324(N)) 각각에 대응할 수 있다.
[0030] CPU(들)(302)는 또한, 하나 이상의 디스플레이들(326)에 전송되는 정보를 제어하기 위해 시스템 버스(308)를 통해 디스플레이 제어기(들)(320)에 액세스하도록 구성될 수 있다. 디스플레이 제어기(들)(320)는 하나 이상의 비디오 프로세서들(328)을 통해 디스플레이되도록 디스플레이(들)(326)에 정보를 전송하며, 이러한 하나 이상의 비디오 프로세서들(328)은 디스플레이(들)(326)에 적절한 포맷으로 디스플레이되도록 정보를 프로세싱한다. 디스플레이(들)(326)는 CRT(cathode ray tube), LCD(liquid crystal display), 플라즈마 디스플레이 등을 포함(그러나, 이에 제한되지 않음)하는 임의의 유형의 디스플레이를 포함할 수 있다.
[0031] 당업자들은, 본원에서 개시된 양상들과 관련하여 설명된 다양한 예시적인 로지컬 블록들, 모듈들, 회로들 및 알고리즘들이 전자 하드웨어, 메모리에 또는 다른 컴퓨터 판독가능 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행되는 명령들, 또는 이 둘의 결합들로서 구현될 수 있다는 것을 추가로 인식할 것이다. 본원에서 설명된 마스터 디바이스들 및 슬레이브 디바이스들은 예들로서 임의의 회로, 하드웨어 컴포넌트, IC(integrated circuit) 또는 IC 칩에서 사용될 수 있다. 본원에서 개시된 메모리는 임의의 유형 및 사이즈의 메모리일 수 있으며, 원하는 임의의 유형의 정보를 저장하도록 구성될 수 있다. 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 구현되는 방법은 특정 애플리케이션, 설계 선택들, 및/또는 전체 시스템 상에 부과된 설계 제약들에 따라 좌우된다. 당업자들은 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들은 본 개시내용의 범위를 벗어나게 하는 것으로서 해석되지 않아야 한다.
[0032] 본원에서 개시된 양상들과 관련하여 설명된 다양한 예시적인 로지컬 블록들, 모듈들 및 회로들은 프로세서, DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된, 이들의 임의의 결합으로 구현 또는 수행될 수 있다. 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 결합(예컨대, DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 다른 그러한 구성)으로서 구현될 수 있다.
[0033] 본원에서 개시된 양상들은 하드웨어로 그리고 하드웨어에 저장되는 명령들로 구현될 수 있으며, 예컨대 RAM(Random Access Memory), 플래시 메모리, ROM(Read Only Memory), EPROM(Electrically Programmable ROM) EEPROM(Electrically Erasable Programmable ROM), 레지스터들, 하드 디스크, 착탈가능 디스크, CD-ROM, 또는 기술분야에서 알려진 임의의 다른 형태의 컴퓨터 판독가능 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록, 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 일체형일 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 원격 스테이션에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 원격 스테이션, 기지국 또는 서버에서 이산 컴포넌트들로서 상주할 수 있다.
[0034] 또한, 본원의 예시적인 양상들 중 임의의 양상에서 설명된 동작 단계들이 예들 및 논의를 제공하기 위해 설명된다는 것이 주목된다. 설명된 동작들은 예시된 시퀀스들 이외의 많은 상이한 시퀀스들로 수행될 수 있다. 더욱이, 단일 동작 단계로 설명된 동작들이 실제로는 다수의 상이한 단계들로 수행될 수 있다. 부가적으로, 예시적인 양상들에서 논의된 하나 이상의 동작 단계들은 결합될 수 있다. 당업자에게 용이하게 자명할 바와 같이, 흐름도 다이어그램들에서 예시된 동작 단계들이 많은 상이한 수정들의 대상일 수 있다는 것이 이해되어야 한다. 당업자들은 또한, 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중의 임의의 것을 사용하여 표현될 수 있다는 것을 이해할 것이다. 예컨대, 위의 상세한 설명 전체에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
[0035] 본 개시내용의 이전 설명은 당업자가 본 개시내용을 사용하거나 또는 실시하는 것을 가능하게 하기 위해 제공된다. 본 개시내용에 대한 다양한 수정들은 당업자들에게 용이하게 자명할 것이며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서, 본 개시내용은 본원에서 설명된 예들 및 설계들로 제한되는 것으로 의도되는 것이 아니라, 본원에서 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 부합할 것이다.

Claims (23)

  1. 확장 DRAM(dynamic random access memory) 버스트 길이들을 제공하기 위한 프로세서-기반 시스템으로서,
    4-비트-와이드 데이터 액세스 및 128-비트 내부 데이터 프리페치(prefetch)를 제공하도록 구성된 DRAM 회로; 및
    상기 DRAM 회로에 통신가능하게 커플링된 메모리 제어기
    를 포함하며,
    상기 DRAM 회로는,
    상기 메모리 제어기로부터 메모리 판독 요청을 수신하고;
    128 비트의 데이터의 내부 프리페치를 수행하고;
    상기 128 비트의 데이터 전부에 대해 에러 정정 코드(ECC; error correction code)를 생성하며; 그리고
    상기 메모리 판독 요청에 응답하여 상기 128 비트의 데이터 전부를 상기 메모리 제어기에 리턴하도록
    구성됨으로써, 32 비트의 확장 DRAM 버스트 길이를 제공하도록 구성되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  2. 제1 항에 있어서,
    상기 DRAM 회로는 버스트 길이 모드 표시자를 포함하는 모드 레지스터를 포함하며; 그리고
    상기 DRAM 회로는, 상기 버스트 길이 모드 표시자가 세팅 상태에 있는 것에 응답하여 온-더-플라이(on-the-fly) 버스트 길이 모드 선택을 인에이블(enable)하도록 구성되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  3. 제1 항에 있어서,
    상기 메모리 판독 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 DRAM 회로는, 상기 메모리 판독 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 응답하여 32 비트의 확장 DRAM 버스트 길이를 제공하도록 구성되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  4. 제3 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는(repurposed), 상기 메모리 판독 요청의 버스트 촙(BC; burst chop) 표시자를 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  5. 제1 항에 있어서,
    상기 DRAM 회로는 추가로,
    상기 메모리 제어기로부터 128 비트의 기록 데이터를 포함하는 메모리 기록 요청을 수신하고;
    상기 128 비트의 기록 데이터에 대해 ECC를 생성하며; 그리고
    판독/수정/기록(RMW; read/modify/write) 동작을 수행하지 않고, 상기 메모리 기록 요청에 응답하여 상기 128 비트의 기록 데이터를 기록하도록
    구성되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  6. 제5 항에 있어서,
    상기 메모리 기록 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 DRAM 회로는, 상기 메모리 기록 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 응답하여 32 비트의 확장 DRAM 버스트 길이를 제공하도록 구성되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  7. 제6 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는, 상기 메모리 기록 요청의 버스트 촙(BC) 표시자를 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  8. 제1 항에 있어서,
    상기 프로세서-기반 시스템은 IC(integrated circuit)에 통합되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  9. 제1 항에 있어서,
    상기 프로세서-기반 시스템은 셋 톱 박스; 엔터테인먼트 유닛; 내비게이션 디바이스; 통신 디바이스; 고정 위치 데이터 유닛; 모바일 위치 데이터 유닛; GPS(global positioning system) 디바이스; 모바일 폰; 셀룰러 폰; 스마트 폰; SIP(session initiation protocol) 폰; 태블릿; 패블릿; 서버; 컴퓨터; 휴대용 컴퓨터; 모바일 컴퓨팅 디바이스; 웨어러블 컴퓨팅 디바이스(예컨대, 스마트 워치, 헬스 또는 피트니스 트래커, 안경류 등); 데스크톱 컴퓨터; PDA(personal digital assistant); 모니터; 컴퓨터 모니터; 텔레비전; 튜너; 라디오; 위성 라디오; 뮤직 플레이어; 디지털 뮤직 플레이어; 휴대용 뮤직 플레이어; 디지털 비디오 플레이어; 비디오 플레이어; DVD(digital video disc) 플레이어; 휴대용 디지털 비디오 플레이어; 자동차; 차량 컴포넌트; 항공전자 시스템들; 드론; 및 멀티콥터(multicopter)로 구성된 그룹으로부터 선택되는 디바이스에 통합되는,
    확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  10. 확장 DRAM(dynamic random access memory) 버스트 길이들을 제공하기 위한 방법으로서,
    4-비트-와이드 데이터 액세스 및 128-비트 내부 데이터 프리페치를 제공하도록 구성된 DRAM 회로가 메모리 제어기로부터 메모리 판독 요청을 수신하는 단계;
    128 비트의 데이터의 내부 프리페치를 수행하는 단계;
    상기 128 비트의 데이터 전부에 대해 에러 정정 코드(ECC)를 생성하는 단계; 및
    상기 메모리 판독 요청에 응답하여, DRAM 회로가 상기 128 비트의 데이터 전부를 상기 메모리 제어기에 리턴하는 단계
    를 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  11. 제10 항에 있어서,
    상기 DRAM 회로는 버스트 길이 모드 표시자를 포함하는 모드 레지스터를 포함하며; 그리고
    상기 방법은, 상기 버스트 길이 모드 표시자가 세팅 상태에 있는 것에 응답하여 온-더-플라이 버스트 길이 모드 선택을 인에이블하는 단계를 더 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  12. 제10 항에 있어서,
    상기 메모리 판독 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 DRAM 회로가 상기 128 비트의 데이터 전부를 상기 메모리 제어기에 리턴하는 단계는, 상기 메모리 판독 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  13. 제12 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는, 상기 메모리 판독 요청의 버스트 촙(BC) 표시자를 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  14. 제10 항에 있어서,
    상기 DRAM 회로가 상기 메모리 제어기로부터 128 비트의 기록 데이터를 포함하는 메모리 기록 요청을 수신하는 단계;
    상기 128 비트의 기록 데이터에 대해 ECC를 생성하는 단계; 및
    판독/수정/기록(RMW; read/modify/write) 동작을 수행하지 않고, 상기 메모리 기록 요청에 응답하여 상기 128 비트의 기록 데이터를 기록하는 단계
    를 더 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  15. 제14 항에 있어서,
    상기 메모리 기록 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 128 비트의 기록 데이터를 기록하는 단계는, 상기 메모리 기록 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  16. 제15 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는, 상기 메모리 기록 요청의 버스트 촙(BC) 표시자를 포함하는,
    확장 DRAM 버스트 길이들을 제공하기 위한 방법.
  17. 4-비트-와이드 데이터 액세스를 사용하는 DRAM(dynamic random access memory)용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템으로서,
    메모리 제어기로부터 메모리 판독 요청을 수신하기 위한 수단;
    128 비트의 데이터의 내부 프리페치를 수행하기 위한 수단;
    상기 128 비트의 데이터 전부에 대해 에러 정정 코드(ECC)를 생성하기 위한 수단; 및
    상기 메모리 판독 요청에 응답하여, 상기 128 비트의 데이터 전부를 상기 메모리 제어기에 리턴하기 위한 수단
    을 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  18. 제17 항에 있어서,
    버스트 길이 모드 표시자를 포함하는 모드 레지스터; 및
    상기 버스트 길이 모드 표시자가 세팅 상태에 있는 것에 응답하여 온-더-플라이 버스트 길이 모드 선택을 인에이블하기 위한 수단
    을 더 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  19. 제17 항에 있어서,
    상기 메모리 판독 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 128 비트의 데이터 전부를 상기 메모리 제어기에 리턴하기 위한 수단은, 상기 메모리 판독 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하여 상기 128 비트의 데이터 전부를 리턴하기 위한 수단을 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  20. 제19 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는, 상기 메모리 판독 요청의 버스트 촙(BC) 표시자를 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  21. 제17 항에 있어서,
    128 비트의 기록 데이터를 포함하는 메모리 기록 요청을 수신하기 위한 수단;
    상기 128 비트의 기록 데이터에 대해 ECC를 생성하기 위한 수단; 및
    판독/수정/기록(RMW; read/modify/write) 동작을 수행하지 않고, 상기 메모리 기록 요청에 응답하여 상기 128 비트의 기록 데이터를 기록하기 위한 수단
    을 더 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  22. 제21 항에 있어서,
    상기 메모리 기록 요청은 버스트 길이 선택 표시자를 포함하며; 그리고
    상기 128 비트의 기록 데이터를 기록하기 위한 수단은, 상기 메모리 기록 요청의 상기 버스트 길이 선택 표시자가 세팅 상태에 있다고 검출하는 것에 추가로 응답하여 상기 128 비트의 기록 데이터를 기록하기 위한 수단을 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
  23. 제22 항에 있어서,
    상기 버스트 길이 선택 표시자는 상기 버스트 길이 선택 표시자로서 용도 변경되는, 상기 메모리 기록 요청의 버스트 촙(BC) 표시자를 포함하는,
    4-비트-와이드 데이터 액세스를 사용하는 DRAM용 확장 DRAM 버스트 길이들을 제공하기 위한 프로세서-기반 시스템.
KR1020197015519A 2016-12-01 2017-11-30 프로세서-기반 시스템들에서의 확장 dram(dynamic random access memory) 버스트 길이들의 제공 KR102520152B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662428638P 2016-12-01 2016-12-01
US62/428,638 2016-12-01
US15/825,724 US10503435B2 (en) 2016-12-01 2017-11-29 Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
US15/825,724 2017-11-29
PCT/US2017/063921 WO2018102538A1 (en) 2016-12-01 2017-11-30 Providing extended dynamic random access memory (dram) burst lengths in processor-based systems

Publications (2)

Publication Number Publication Date
KR20190088989A true KR20190088989A (ko) 2019-07-29
KR102520152B1 KR102520152B1 (ko) 2023-04-07

Family

ID=60788691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197015519A KR102520152B1 (ko) 2016-12-01 2017-11-30 프로세서-기반 시스템들에서의 확장 dram(dynamic random access memory) 버스트 길이들의 제공

Country Status (5)

Country Link
US (1) US10503435B2 (ko)
EP (1) EP3549024A1 (ko)
KR (1) KR102520152B1 (ko)
CN (1) CN109964213B (ko)
WO (1) WO2018102538A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240083588A (ko) 2022-12-05 2024-06-12 김민섭 내용물을 쉽게 먹을 수 있는 캔

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210093B2 (en) 2019-04-08 2021-12-28 Micron Technology, Inc. Large data read techniques
US11249679B2 (en) * 2019-07-31 2022-02-15 Micron Technology, Inc. Selecting a write operation mode from multiple write operation modes
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US10963336B2 (en) * 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
KR20230016990A (ko) 2021-07-27 2023-02-03 에스케이하이닉스 주식회사 컬럼동작을 수행하는 메모리장치
CN114153402B (zh) * 2022-02-09 2022-05-03 阿里云计算有限公司 存储器及其数据读写方法
KR20240000773A (ko) 2022-06-24 2024-01-03 에스케이하이닉스 주식회사 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 메모리 컨트롤러

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150213859A1 (en) * 2014-01-27 2015-07-30 SK Hynix Inc. Burst length control circuit
WO2016048634A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Exchanging ecc metadata between memory and host system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US6795899B2 (en) 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US7139878B2 (en) * 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
US7640392B2 (en) * 2005-06-23 2009-12-29 Qualcomm Incorporated Non-DRAM indicator and method of accessing data not stored in DRAM array
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8335894B1 (en) * 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US20080086577A1 (en) 2006-10-04 2008-04-10 Mediatek Inc. Digital Television System, Memory Controller, and Method for Data Access
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
CN106407136B (zh) 2007-04-12 2019-05-28 拉姆伯斯公司 具有点对点请求互连的存储器系统
US8127199B2 (en) * 2007-04-13 2012-02-28 Rgb Networks, Inc. SDRAM convolutional interleaver with two paths
US7558887B2 (en) 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
KR100936792B1 (ko) * 2008-07-10 2010-01-14 주식회사 하이닉스반도체 반도체 메모리 장치의 라이트 데이터 로딩 제어 회로 및방법
US8742791B1 (en) 2009-01-31 2014-06-03 Xilinx, Inc. Method and apparatus for preamble detection for a control signal
CN101876944B (zh) * 2009-11-26 2012-02-15 威盛电子股份有限公司 动态随机存取存储器控制器和控制方法
US20140325105A1 (en) * 2013-04-26 2014-10-30 Advanced Micro Devices, Inc. Memory system components for split channel architecture
US9190129B2 (en) * 2013-05-31 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Continuous tuning of preamble release timing in a double data-rate memory device interface
US20160092383A1 (en) 2014-09-26 2016-03-31 Kuljit S. Bains Common die implementation for memory devices
US9704563B2 (en) * 2014-12-08 2017-07-11 Intel Corporation Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
US10140175B2 (en) 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
US10268541B2 (en) * 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150213859A1 (en) * 2014-01-27 2015-07-30 SK Hynix Inc. Burst length control circuit
WO2016048634A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Exchanging ecc metadata between memory and host system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240083588A (ko) 2022-12-05 2024-06-12 김민섭 내용물을 쉽게 먹을 수 있는 캔

Also Published As

Publication number Publication date
CN109964213A (zh) 2019-07-02
WO2018102538A1 (en) 2018-06-07
CN109964213B (zh) 2023-04-28
US10503435B2 (en) 2019-12-10
US20180157441A1 (en) 2018-06-07
KR102520152B1 (ko) 2023-04-07
EP3549024A1 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
US10503435B2 (en) Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
KR102401271B1 (ko) 메모리 시스템 및 그 동작 방법
EP3224723B1 (en) Dual in-line memory modules (dimms) supporting storage of a data indicator(s) in an error correcting code (ecc) storage unit dedicated to storing an ecc
US10236917B2 (en) Providing memory bandwidth compression in chipkill-correct memory architectures
US10372635B2 (en) Dynamically determining memory attributes in processor-based systems
JP2019507436A (ja) メモリシステムのための省電力化技法
US10115444B1 (en) Data bit inversion tracking in cache memory to reduce data bits written for write operations
EP4150456A1 (en) System and memory with configurable error-correction code (ecc) data protection and related methods
KR20140103460A (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
KR20170055786A (ko) 데이터 기입 및 독출 레이턴시를 제어하는 레이턴시 제어 회로를 갖는 메모리 장치
JP2017504905A (ja) ダイナミックランダムアクセスメモリ(dram)システムの、ポート間ループバックを用いたメモリトレーニングの実施、ならびに関連する方法、システム、および装置
US9019752B1 (en) Static random access memory (SRAM) global bitline circuits for reducing power glitches during memory read accesses, and related methods and systems
EP2994914B1 (en) Redirecting data from a defective data entry in memory to a redundant data entry prior to data access, and related systems and methods
US9007817B2 (en) Pre-charging bitlines in a static random access memory (SRAM) prior to data access for reducing leakage power, and related systems and methods
US9666269B2 (en) Collision detection systems for detecting read-write collisions in memory systems after word line activation, and related systems and methods
TW202242659A (zh) 自我調整記憶體存取管理
US10156887B2 (en) Cache memory clock generation circuits for reducing power consumption and read errors in cache memory
US9424909B1 (en) Static random access memory (SRAM) arrays having substantially constant operational yields across multiple modes of operation
JP2017504120A (ja) ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送

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