KR102398236B1 - 낮은 핀카운트 고 대역폭 메모리 및 메모리 버스 - Google Patents

낮은 핀카운트 고 대역폭 메모리 및 메모리 버스 Download PDF

Info

Publication number
KR102398236B1
KR102398236B1 KR1020187031533A KR20187031533A KR102398236B1 KR 102398236 B1 KR102398236 B1 KR 102398236B1 KR 1020187031533 A KR1020187031533 A KR 1020187031533A KR 20187031533 A KR20187031533 A KR 20187031533A KR 102398236 B1 KR102398236 B1 KR 102398236B1
Authority
KR
South Korea
Prior art keywords
memory
bus
die
controller
data
Prior art date
Application number
KR1020187031533A
Other languages
English (en)
Other versions
KR20190019911A (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 KR20190019911A publication Critical patent/KR20190019911A/ko
Application granted granted Critical
Publication of KR102398236B1 publication Critical patent/KR102398236B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/066Means for reducing external access-lines for a semiconductor memory clip, e.g. by multiplexing at least address and data signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

동일한 피크 대역폭의 공통 DDR 유형 메모리보다 적은 신호를 사용하는 메모리 컨트롤러 집적 회로(IC)(120), 메모리 버스, 및 메모리 IC(110)를 포함하는 메모리 서브 시스템이 제공된다. 서브 시스템은 22개 이상의 스위칭 신호를 사용하여 IC를 상호 연결하는 버스에서 3000 메가 바이트/초 이상의 데이터를 전송할 수 있다. 신호 카운트 감소는 어드레스/제어 명령을 데이터 전송에 사용되는 동일한 신호 중 적어도 일부에 시간 멀티플렉싱함으로써 달성된다. 단일 버스 신호는 버스 작동을 개시하는데 사용되며, 작동 중에는 단일 신호는 이 단일 버스 신호의 16비트 샘플들에 기초한 시리얼 프로토콜을 통한 데이터 전송과 동시에 메모리 IC(110)로 어드레싱 및 제어 정보를 전송할 수 있다. 추가적인 데이터 및 데이터 스트로브 IO 신호를 추가하여 버스 대역폭은 스케일될 수 있다. 이러한 추가적인 데이터 버스 신호는 데이터 및 데이터 마스크 전송에만 사용된다. 메모리 IC(110)의 한 버젼의 물리적인 레이아웃은 컨트롤러 IC(120) 메모리 인터페이스 회로에 대한 다이 영역 오버 헤드를 최소화하기 위해 상기 메모리 컨트롤러 IC(120)와 함께 적층된 다이 멀티 칩 패키지(100)에 사용될 때 메모리 다이의 하나의 짧은 에지에 인접한 스위칭 신호 터미널을 디스패치한다. 메모리 IC(110) 인터페이스 신호 배치 및 신호 카운트는 메모리 버스 신호에 대한 신호 길이 및 회로를 최소화한다.

Description

낮은 핀카운트 고 대역폭 메모리 및 메모리 버스
본 출원은 2017년 6월 17일자로 출원된 미국 가출원 제 62/351,556호의 이익을 주장하는 2017년 6월 9일자로 출원된 미국 특허출원 제 15/618,907호의 연속이며, 상기 개시된 내용은 원용에 의해 본원에 포함된다.
본 개시는 실행 메모리 또는 버퍼 메모리와 같은 컴퓨팅 및 데이터 버퍼링 어플리케이션에서 사용되는 버스 및 메모리 디바이스의 영역 및 이들과 통신하기에 유용한 버스에 관한 것이다.
고 대역폭 버퍼 메모리 및 버스는, 메모리를 시스템 로직에 연결하기 위해 메모리 버스를 유리하게 사용하는 비디오 어플리케이션을 포함하는 다수의 어플리케이션에서 사용될 수 있다.
휴대용 디바이스의 비디오 디스플레이 시스템은 디스플레이 상의 정보가 변하기 않을 때 절전을 가능하게 하기 위해 디스플레이 패널에 "패널 자체 리프레쉬" 버퍼 메모리를 포함할 수 있다.
이미지 품질을 개선하고 플리커(flicker)를 줄이기 위해, 대형 포맷 디스플레이 시스템은 버퍼 메모리를 포함하는 스캔 레이트 컨버터 기술(Scan rate converter technology)을 채용함으로써 새로운 정보가 디스플레이에 제공되는 것보다 더 빠른 속도로 디스플레이를 스캔할 수 있다.
터치스크린 디스플레이 시스템은 디지타이저 프레임 버퍼(digitizer frame buffer)에 버퍼 메모리를 포함할 수 있다.
휴대용 비디오 기기는 비디오 캡쳐, 압축, 압축 해제, 저장, 편집, 디스플레이, 또는 비디오 재생과 연관되어 사용되는 버퍼 메모리를 포함할 수 있다.
휴대용 파노라마 이미징 시스템은 렌즈 왜곡 보정 알고리즘에 의해 사용되는 버퍼 메모리를 포함할 수 있다.
일부 유형의 시스템은 하나 이상의 메모리 또는 메모리 유형을 수용할 수 있는 버스 상에서 사용되는 메모리를 포함할 수 있다.
많은 컴퓨팅 및 비디오 시스템은 작업 지시 및 또는 데이터의 저장을 위한 메모리를 필요로 한다. 가장 작은 메모리 용량을 제외한 모든 용량은 별도의 메모리 IC 또는 IC 조합을 사용하여 메모리 스토리지를 제공하는 대신 시스템 로직 IC 상에 스토리지를 통합하는 것이 대체로 비용면에서 더 효율적이다. 버스는 흔히 하나 이상의 메모리 IC에 컨트롤러 IC를 상호 연결하는데 사용된다. 컨트롤러 IC는 비디오 프로세싱, 프로그램 가능한 로직, 또는 다른 기능과 같은 시스템 작업과 관련된 다른 일을 수행할 수 있으며, 메모리 인터페이싱만으로 제한되지 않는다.
메모리 기술은 메모리에 연결된 버스에 의해 사용되는 프로토콜에 대한 일부 요구 사항을 결정한다. 동시에, 버스 프로토콜 및 물리적 속성은 버스를 사용하는 컨트롤러 및 메모리 IC의 대역폭과 기능적인 요구 사항을 확립한다. 버스 신호의 개수, 스위치하는 속도, 및 신호 프로토콜은 궁극적으로 메모리 버스의 성능을 제한한다.
메모리 IC는 보통 데이터 센터 서버에서 사용되는 고용량 메모리 시스템에서 단일 칩 버퍼 메모리, 예를 들어 WIFI 라우터에 사용되는 단일 칩 버퍼 메모리에 이르기까지 광범위한 어플리케이션에 사용되도록 설계된다. 이러한 어플리케이션에서 메모리 버스 신호에 대한 전기적 연결의 길이는 적게는 1mm부터 길게는 수십 cm까지 다양할 수 있다. 버스 신호 무결성 요구 사항은 매치되는 길이 와이어 본드에서부터 PCB 임피던스 제어, 매치된 트레이스 길이와 신호 경로에 커넥터가 있는 병렬 단부에 이르기까지 다양할 수 있다.
메모리 IC는 보통 이런 광범위한 어플리케이션을 지지하기 때문에, 그들은 때때로 컨트롤러 IC에 전기적 연결을 위한 수십 개의 신호를 포함하여 모든 메모리 IC 기능을 노출하고 액세스한다. 예를 들어, 단일 메모리 시스템을 만들기 위해 결합된 메모리 등급의 구성을 지지하기 위해, 칩 선택 신호는 스트로브와 함께 메모리 IC 상에 포함되어 특정 작업을 위해 특정 메모리 IC만이 선택되도록 한다.
일부 어플리케이션은, 사이즈가 수천 바이트일 수 있는 순차적 바이트의 블록 이동을 포함하는 메모리 액세스 패턴을 가지는 반면, 다른 어플리케이션은 사이클 관점에서 사이클로부터 크게 랜덤한 메모리 액세스 패턴을 갖는다. 이러한 이유 때문에, 데이터 버스 신호와 별개인 이산 어드레스 신호는 대부분의 메모리 IC 상에서 사용되어 동시 어드레싱 및 데이터 이동을 허용한다.
한편, 스트로브용, 선택용, 어드레싱용으로 별도의 리소스를 갖는 메모리 IC는 이러한 메모리 IC를 이용하는 어플리케이션에서 높은 수준의 보편성을 제공하긴 하지만, 다른 한편으로 이러한 리소스는 45개 이상의 버스 신호를 사용하여 각 메모리 IC에 연결하는 것이 보통이다. 단일 메모리 IC에 의해 제공되고 데이터의 블록 상에서 작동하는 어플리케이션의 경우, 많은 신호들이 리소스를 충분히 활용하지 않아서 거의 이익을 얻지 못한 채 비용은 추가된다.
메모리에 연결하는 각각의 신호는 컨트롤러 IC 상의 회로 뿐만 아니라 그에 대한 전기적 연결을 허용하기 위해 컨트롤러 IC 다이 상의 단자를 요구한다. 이러한 단자 또는 본딩 패드는 컨트롤러 IC 다이 상의 공간을 차지하며, 컨트롤러 IC 다이의 사이즈는 제조에 사용된 IC 제조 및 패키징 기술에 대한 설계 규칙과 본딩 패드의 개수의 결합에 의해서 전적으로 결정될 수 있다.
이러한 구성에서, 메모리 버스는 데이터 또는 어드레스/제어 정보를 전송하는데 사용될 수 있긴 하지만 동시에 둘 모두를 전송할 수 있는 것은 아니기 때문에, 시스템 메모리 버스의 효율은 일부 액세스 패턴에 대해서 감소될 수 있다. 예를 들어, 이러한 메모리 버스 배치를 사용할 경우 메모리 비트의 별개의 내부 뱅크가 활성화되는 시간 동안 다수의 뱅크 DRAM은 버스트 판독 모드로 액세스되는 것이 가능하지 않을 수 있다. 결과적으로, 메모리 버스의 효율은 저하되어 평균 버스 대역폭을 감소시킨다.
결과적으로, 많은 유형의 어플리케이션, 즉 대용량 메모리 시스템을 요구하지 않는 어플리케이션에 대해서는 메모리 IC에 연결하는데 요구되는 신호의 개수를 감소하는 것이 바람직하다. 메모리 액세스 패턴이 주로 데이터의 큰 순차적 블록인 일부 시스템에서는 어드레스를 멀티플렉싱하거나, 그렇지 않으면 정보를 전달하는 신호 상으로 제어함으로써 상당한 개수의 메모리 인터페이스 신호를 제거하는 것이 가능하다. 이 방법은 메모리에 연결하는데 요구되는 메모리 컨트롤러 IC 신호의 수를 상당히 줄여주므로 전력 뿐만 아니라 메모리 컨트롤러 IC 다이의 면적과 비용 또한 절약할 수 있다.
따라서, 보다 효율적인 메모리 프로토콜은 더 낮은 작동 주파수를 사용하여 동일한 평균 대역폭을 제공할 수 있다. 이는 전력을 절감하며 IC 설계 뿐만 아니라 PCB 설계 또한 단순화할 수 있다.
본 발명은, 소형화된 컴퓨팅, 비디오, 버퍼링, 및 다른 대역폭 집약적인 어플리케이션에서 사용될 때 감소된 신호 카운트를 특징으로 하지만, 높은 평균, 피크 대역폭, 및 작동 효율을 수용하는 개선된 메모리 버스 및 그 위에 사용되는 IC에 관한 것이다. DRAM 메모리 기술 특성 및 요구 사항의 효율적인 지지는 버스 및 프로토콜의 특징 중 하나이다. 본 발명의 일 실시예는 데이터 처리 시스템의 전체 비용을 감소시키는 개선된 메모리 디바이스를 작동하기 위한 버스 및 프로토콜을 제공한다.
본 발명의 일 실시예는 메모리 집적 회로(IC)를 메모리 컨트롤러 IC에 상호 연결하는 버스 신호의 개수를 감소시킨다.
본 발명의 일 실시예는 메모리 IC 디바이스를 메모리 컨트롤러 IC에 상호 연결시키는 것과 연관된 전력 및 그에 따른 작업을 감소시킨다.
본 발명의 일 실시예는 단일 기능 신호를 사용함으로써 DRAM 판독, 쓰기, 활성화, 프리차지, 및 리프레쉬 기능에 대한 제어 및 어드레싱 정보를 전달하는 메모리 버스 아키택쳐이다.
본 발명의 일 실시예는 2개의 메모리 IC 및 공통 버스를 통해 상호 연결된 하나의 컨트롤러를 포함하는 메모리 시스템이다.
본 발명의 일 실시예는 버스트 쓰기 모드에서 오정렬된 데이터 구조를 수용하는 메모리 아키택쳐이다.
본 발명의 일 실시예는 다중 다이 패키징에서의 사용에 최적화된 고 대역폭 버퍼 메모리 아키택쳐이다.
본 발명의 일 실시예는, 조립체에 상호 연결된 멀티 다이의 요소로서 고 대역폭 메모리 다이와 기계적으로 적층될 때 컨트롤러 IC의 기계적으로 제한된 최소의 물리적 사이즈의 감소를 허용하도록 설계된 IC 플로어 플랜을 가지는 개선된 고 대역폭 메모리 IC이다.
본 발명의 일 실시예는 적층된 베어 다이 조립체의 사용없이 소형 시스템을 구성하기 위해, 개별적으로 패키지된 메모리 컨트롤러 IC와 결합하여 사용되는 웨이퍼 레벨 패키징에 적합한 낮은 신호 카운트 고 대역폭 메모리이다.
본 발명의 일 실시예는 로직 IC를 포함하는 두번째 패키지 위에 적층된 하나 이상의 메모리 IC를 포함하는 패키지를 포함하는 적층된 패키지 구성이며, 2개의 패키지는 하부 패키지 상에 부분적으로 마주하는 단자를 사용하여 전기적으로 상호 연결된다.
본 발명의 일 실시예는 동일한 메모리 버스를 공유하는 적어도 2개의 메모리 다이를 포함하고 동일한 메모리 버스를 통해 메모리 컨트롤러에 상호 연결된 멀티칩 메모리 패키지이다.
본 발명의 일 실시예는 적어도 하나의 메모리 스토리지 집적 회로(IC)를 컨트롤러 IC에 상호 연결하도록 구성된 버스를 제공한다. 버스는 메모리 IC 상의 단자들의 컬렉션과 컨트롤러 IC 상의 대응하는 단자들에 전기적으로 결합하도록 구성된 복수의 전기적 버스 컨덕터를 포함하고, 상기 버스 컨덕터는 상기 버스 컨덕터를 통해 전송되는 신호의 유형에 기초하여 다음의 그룹: 데이터 버스 그룹, 데이터 스트로브 그룹, 클락 그룹, 칩 선택 그룹, 또는 제어 그룹들 중 하나 이상으로 카테고리화된다. 데이터 버스 그룹의 하나 이상의 버스 컨덕터는 명령 이동 시간동안 병렬 명령을 컨트롤러 IC로부터 메모리 IC까지 전달하도록 구성되고, 또한 데이터 이동 시간동안 버스트 모드를 사용하여 메모리 IC 및 컨트롤러 IC 간에 데이터를 전송하도록 구성되며, 또한 제어 그룹의 하나 이상의 버스 컨덕터는 데이터 이동 시간동안 시리얼 명령을 컨트롤러 IC로부터 메모리 IC까지 전달하도록 구성된 단일 컨덕터를 포함하여서 상기 시리얼 명령이 메모리 IC의 작동을 제어할 수 있다.
일부 예시에서, 시리얼 명령은 널(null) 작업 기능, 버스트 모드 기능, 활성화 기능, 또는 유틸리티 기능 중 하나인 시리얼 명령의 기능을 특정하는 OP코드를 포함하고, 상기 유틸리티 기능은 진행 중인 버스트 모드 메모리 작업을 종료하도록 메모리 IC에 명령하는 수단을 포함하고, 그 안에 포함된 뱅크를 프리차지 하도록 메모리 IC에 명령하는 수단을 포함한다. 예를 들어, 버스는 컨트롤러 IC로부터 메모리 IC로 제1 시리얼 명령을 전달할 수 있고, 그 직후에 제2 시리얼 명령을 메모리 IC로 전달할 수 있다. 시리얼 명령은 메모리 IC가 버스트 메모리 작업을 수행하는 동안 버스 동작 모드를 판독 모드 및 쓰기 모드, 쓰기 모드 및 판독 모드 사이에서 스위칭하는 것을 제공할 수 있다. 데이터 버스의 폭은 1, 2, 4, 6, 또는 8바이트 일 수 있고, 바이트는 8 또는 9비트 중 하나일 수 있으며, 데이터 스트로브 그룹은 2개, 4개, 8개, 12개, 또는 16개 컨덕터를 포함할 수 있다.
일부 예시에서, 쓰기 마스크는 버스트 쓰기 작업의 일부로서 데이터 버스를 통해 이동된다. 버스는 무제한 지속 시간의 지속 버스트 모드로 동작하도록 구성될 수 있다.
버스는 컨트롤러 IC 다이 및 메모리 IC 다이를 포함하는 단일 반도체 패키지 내에 배치될 수 있으며, 상기 메모리 IC 다이 및 컨트롤러 IC 다이는 적층 배열로 배치되고, 상기 버스 컨덕터는 고유한 본드 와이어 그룹을 포함하고, 메모리 IC 다이 상의 각 버스 인터페이스는 상기 고유한 본드 와이어를 통해 메모리 컨트롤러 IC 다이 상의 대응하는 버스 인터페이스 단자에 결합되고, 상기 메모리 IC 다이의 뒷면은 상기 컨트롤러 IC 다이의 앞면을 향한다. 다른 구성 또한 고려된다.
다른 실시예는 적어도 하나의 메모리 IC와 컨트롤러 IC를 상호 연결하기 위한 버스를 제공하며, 상기 버스는 동일한 컨덕터를 사용하여 메모리 명령과 데이터를 이동하도록 구성되고, 상기 버스는 메모리 명령과 데이터를 전달하도록 구성된 16개의 컨덕터, 클락을 전달하도록 구성된 2개의 컨덕터, 및 최대 5개의 추가 컨덕터로 구성되며, 여기서 버스는 적어도 초당 3000메가 바이트의 피크 대역폭에서 데이터를 전달하도록 구성된다.
또 다른 실시예는 적어도 하나의 메모리 스토리지 집적 회로(IC)를 컨트롤러 IC에 상호 연결하기 위한 수단을 제공하며, 상기 메모리 IC 상의 단자의 컬렉션을 컨트롤러 IC 상의 대응하는 단자에 전기적으로 결합하는 수단을 포함하고, 다음의 유형: 데이터 신호, 전송된 정보의 안정성 표시, 클락 신호, 칩 선택 신호, 또는 제어 신호 중 하나 이상의 신호를 전송하기 위한 수단 및 데이터 이동 시간 동안 컨트롤러 IC로부터 메모리 IC로 시리얼 명령을 단일 핀을 통해 전송하기 위한 수단을 포함하여 상기 시리얼 명령은 메모리 IC의 작업을 제어할 수 있다.
도 1은 메모리 컨트롤러 다이의 상부에 적층되고 와이어 본드를 사용하여 전기적으로 상호 연결된 메모리 다이를 도시하는 다이어그램이다.
도 2는 보통 사용되는 DDR3 유형 동적 랜덤 액세스 메모리(DRAM)에 연결하기 위한 종래 기술에서 사용되는 메인 버스 신호를 도시하는 다이어그램이다.
도 3은 본 발명의 일 실시예를 사용하는 메모리로의 어드레스 스트리밍을 도시하는 버스 작업 다이어그램이다.
도 4는 각각 별도의 메모리 채널 상에 각각 디스패치된 다중 메모리 다이를 사용하는 본 발명의 일 실시예의 패키지 온 패키지 구성을 도시하는 다이어그램이다.
도 5는 낮은 핀 카운트(Low Pin Count, LPC) DRAM에 연결하는 신호를 도시하는 다이어그램이다.
도 6은 LPC DRAM의 블록 다이어그램이다.
도 7은 중간 속도 메모리 코어와 고속 외부 포트 사이에 대역폭 매칭을 도시하는 다이어그램이다.
도 8은 프론트 엔드 및 백 엔드 클락 시스템을 사용하는 LPC DRAM에서의 파이프 라인 어드레싱 및 데이터 어드레싱을 도시하는 타이밍 다이어그램이다.
도 9는 레이턴시 의존 지연을 사용하는 프론트 엔드 클락 및 백 엔드 클락 사이의 관계를 도시하는 타이밍 다이어그램이다.
도 10은 LPC DRAM의 내부 레지스터를 도시한다.
도 11은 LPC DRAM의 높은 레벨 상태 천이 다이어그램이다.
도 12는 도 11의 높은 레벨 상태 천이 다이어그램의 상세도이다.
도 13은 도 12의 LPC DRAM 상태 천이 다이어그램의 상세도의 연속이다.
도 14는 도 12의 LPC DRAM 상태 천이 다이어그램의 상세도의 연속이다.
도 15는 버스트 판독 작업을 도시하는 타이밍 다이어그램이다.
도 16은 병렬 요청 패킷을 도시하는 다이어그램이다.
도 17은 버스트 쓰기 작업을 도시하는 타이밍 다이어그램이다.
도 18은 정렬된 데이터 구조 및 오정렬된 데이터 구조를 도시하는 다이어그램이다.
도 19는 병렬 요청 패킷 포맷을 도시하는 다이어그램이다.
도 20은 병렬 요청 패킷이 뒤따르는 활성화 사이클을 도시하는 타이밍 다이어그램이다.
도 21은 뱅크 프리차지 사이클에 대한 병렬 요청 패킷 포맷이다.
도 22는 병렬 요청 패킷이 뒤따르는 뱅크 프리차지를 도시하는 타이밍 다이어그램이다.
도 23은 모드 레지스터 세트 병렬 요청 패킷 내에 포함된 필드를 도시하는 다이어그램이다.
도 24는 LPC DRAM 상에 사용된 IO 회로 및 입력 회로의 개략도를 도시한다.
도 25는 병렬 요청 패킷이 뒤따르는 모드 레지스터 세트 작업의 타이밍 다이어그램을 도시한다.
도 26은 유틸리티 레지스터 작업을 위한 병렬 요청 패킷을 도시한다.
도 27은 유틸리티 레지스터 쓰기에 이어 유틸리티 레지스터 판독, 그에 이에 병렬 요청 패킷이 오는 타이밍 다이어그램을 도시한다.
도 28은 비트 필드 상태 할당의 일부를 가지는 시리얼 패킷의 포맷을 도시한다.
도 29는 자동 리프레쉬 작업을 도시하는 타이밍 다이어그램을 도시한다.
도 30은 일반적인 시리얼 패킷 포맷을 도시하는 다이어그램을 도시한다.
도 31은 버스트 시리얼 패킷 포맷을 도시하는 다이어그램이다.
도 32는 시리얼 패킷을 사용하는 버스트 판독 사이클을 도시하는 타이밍 다이어그램을 도시한다.
도 33은 시리얼 패킷과 유틸리티 버스트 스탑 명령을 가지는 버스트 판독 사이클을 도시하는 타이밍 다이어그램을 도시한다.
도 34는 유틸리티 버스트 스탑 시리얼 패킷 포맷을 도시하는 다이어그램을 도시한다.
도 35는 시리얼 패킷 쓰기 스위치를 가지는 버스트 판독 사이클을 도시하는 타이밍 다이어그램이다.
도 36은 사이클 스타트를 가지는 NOP 시리얼 패킷 포맷을 도시하는 다이어그램을 도시한다.
도 37은 유틸리티 RW 토글 패킷 포맷을 도시하는 다이어그램을 도시한다.
도 38은 유틸리티 뱅크 프리차지 패킷 포맷을 도시하는 다이어그램을 도시한다.
도 39는 파이프라인된 프리차지 및 활성화를 가지는 버스트 판독 사이클을 도시하는 타이밍 다이어그램을 도시한다.
도 40은 시리얼 활성 패킷 포맷을 도시한다.
도 41은 시리얼 패킷 판독 스위치를 가지는 버스트 쓰기 사이클을 도시하는 타이밍 다이어그램을 도시한다.
도 42는 각 신호 흐름 방향에 대해 시리얼 종단 방식을 사용하여 시그널링하기 위해 상호 연결된 DRAM 및 주문형 집적 회로(application specific integrated circuit, ASIC)의 IO 회로의 개략도를 도시한다.
도 43은 도 42의 방식에 대한 DRAM 시그널링에 대한 ASIC의 두 등가회로를 도시한다.
도 44는 도 42의 시그널링 구성에 대한 타이밍 다이어그램을 도시한다.
도 45는 한 방향으로의 흐름을 위한 직렬 종단 방식 및 반대 방향에서의 흐름을 위한 병렬 종단 방식을 사용하여 시그널링하기 위해 상호 연결된 ASIC 및 DRAM의 IO 회로의 개략도를 도시한다.
도 46은 도 45의 방식에 대한 DRAM 시그널링에 대한 ASIC의 두 등가회로를 도시한다.
도 47은 도 45의 시그널링 구성에 대한 타이밍 다이어그램을 도시한다.
도 48은 낮은 핀 카운트를 가지는 DRAM에 대한 본딩 패드 구성을 도시한다.
도 49는 와이어 본드를 사용하여 함께 상호 연결되는 DRAM 및 ASIC을 사용하여 적층된 다이 조립체를 위한 패키징 방식을 도시한다.
도 50은 도 49의 적층된 다이 조립체에서 사용된 ASIC의 기계적으로 제한된 다이 사이즈를 한정하는 방정식을 도시한다.
도 51은 와이어 본드를 사용하여 함께 상호 연결된 DRAM 및 ASIC을 사용하는 적층된 다이 조립체를 위한 대안적인 패키징 방식을 도시한다.
도 52는 도 51의 번갈아 적층된 다이 조립체에서 사용된 ASIC의 기계적으로 제한된 다이 사이즈를 한정하는 방정식을 도시한다.
도 53은 웨이퍼 레벨 칩 스케일 패키지 및 LPC DRAM을 위한 3개의 볼 맵 배치를 도시한다.
도 54는 필드 프로그램 가능한 게이트 어레이(field programmable gate array, FPGA)와 함께 사용되는 LPC DRAM을 개별 패키지의 각 칩과 상호 연결하는데 사용되는 신호를 도시한다.
도 55는 소형 웨어러블 비디오 시스템에서 사용되는 LPC DRAM의 웨이퍼 레벨 칩 스케일 패키징된 버전의 시스템 사용을 도시한다.
도 56은 다중 다이 패키지에서 플립칩 ASIC으로 적층된 LPC DRAM을 도시한다.
도 57은 평면 장착된 LPC DRAM을 사용하는 4 채널 고 대역폭 POP 메모리 적층을 도시한다.
도 58은 계단식 적층된 LPC DRAM을 사용하는 4 채널 고 대역폭 POP 메모리 적층을 도시한다.
도 59는 LPC DRAM 다이의 번갈아 평면 배열을 사용하는 4 채널 고 대역폭 POP 메모리 적층을 도시한다.
도 60은 X8 LPC DRAM에 연결하는 신호를 도시하는 다이어그램이다.
도 61은 중간 속도 메모리 코어와 고속 외부 포트 사이의 대역폭 매칭을 도시하는 다이어그램이다.
도 62는 프론트 엔드 및 백 엔드 클락킹 시스템을 사용하는 X8 LPC DRAM에서의 파이프라인 어드레싱 및 데이터 액세스를 도시하는 타이밍 다이어그램이다.
도 63은 X8 LPC DRAM의 내부 레지스터를 도시한다.
도 64는 X8 LPC DRAM의 버스트 판독 작업을 도시하는 타이밍 다이어그램이다.
도 65는 X8 LPC DRAM 병렬 요청 패킷을 도시하는 다이어그램이다.
도 66은 X8 LPC DRAM 버스트 쓰기 작업을 도시하는 타이밍 다이어그램이다.
도 67은 FPGA와 함께 사용되는 X8 LPC DRAM을 개별 패키지의 각 칩과 상호 연결하는데 사용되는 신호를 도시한다.
도 68은 LPC 메모리 버스와 호환 가능한 2개의 다이를 포함하는 적층된 다이 듀얼 다이 메모리 패키지를 도시하는 다이어그램이다.
도 69는 도 68의 듀얼 다이 메모리 패키지에서 사용된 버스 신호의 개략도이다.
도 70은 도 68 및 도 69로부터의 다중 다이 메모리 패키지 및 컨트롤러를 도시하는 PCB 구성이다.
도 71은 X32, X48, 및 X64 버전을 포함하는, LPC DRAM의 더 넓은 버스 구현에 대한 버스트 판독 타이밍 다이어그램을 도시한다.
도 72는 X64 LPC DRAM 및 ASIC에 대한 시스템 상호 연결 다이어그램을 도시한다.
도 73은 X48 LPC DRAM 및 ASIC에 대한 시스템 상호 연결 다이어그램을 도시한다.
도 74는 X32 LPC DRAM 및 ASIC에 대한 시스템 상호 연결 다이어그램을 도시한다.
도 75는 유틸리티 레지스터를 사용하여 출력 및 종단 임피던스 값을 트레이닝하는 방법을 도시하는 흐름도이다.
도 76은 공통 패키지로 배치되고 와이어 본드 기술을 사용하는 LPC DRAM 및 컨트롤러의 2개의 상이한 적층된 다이 배치의 단면도를 도시한다.
도 77은 공통 패키지로 배치되고 와이어 본드 및 플립칩 기술을 사용하는 컨트롤러와 LPC DRAM의 적층된 다이 조합의 단면도를 도시한다.
도 78은 공통 시판 상에 배치된 패키지화된 LPC DRAM 및 패키지된 컨트롤러 IC의 단면도를 도시한다.
도 79는 LPC DRAM 및 메모리 컨트롤러의 패키지 적층 상의 2개의 상이한 패키지의 구성을 도시한다.
도 80은 버스 인터페이스 단자들을 함께 결합하도록 구성된 와이어 본드로 공통 기판 상에 배치된 LPC DRAM 다이 및 컨트롤러 다이를 도시한다.
도 81은 와이어 본드 및 버스 인터페이스 단자를 함께 결합하도록 구성된 기판 컨덕터를 갖는 공통 기판 상에 배치된 LPC DRAM 다이 및 컨트롤러 다이를 도시한다.
도 82는 버스 인터페이스 단자를 함께 결합하도록 구성된 기판 컨덕터를 갖는 및 플립칩 기술을 갖는 공통 플립칩 기판 상에 배치된 LPC DRAM 다이 및 컨트롤러 다이를 도시한다.
도 83은 LPC DRAM 다이의 버스 인터페이스 단자를 컨트롤러 다이의 인터페이스 단자에 연결하기 위해 관통 실리콘 비아 기술을 사용하기 위한 3가지 구성을 도시한다.
도 84는 LPC DRAM 다이의 버스 인터페이스 단자를 컨트롤러 다이의 버스 인터페이스 단자에 연결하는데 사용되는 페이스 대면 범핑을 갖는 컨트롤러 다이 상에 배치된 LPC DRAM 다이를 도시한다.
메모리 IC는 버스를 통해 컨트롤러 IC에 연결되고, 메모리 관련 시스템 요구 사항을 만족할 수 있다. 어떤 경우에는, 메모리 IC는 동일한 패키지의 컨트롤러 IC와 결합된다.
도 1은 메모리 IC가 베어 다이 형태로 컨트롤러 IC의 상부에 적층되고, 와이어 본딩 기술을 사용하여 상호 연결되어 메모리 IC에 전기적 연결을 제공하는 하나의 예시적인 구성을 도시한다. 동일한 패키지에 배치된 다수의 다이들을 상호 연결하는 여러가지 다른 방법들이 있다. 어떠한 방법이 사용되든 제조 관점에서 볼 때 이들의 전기적 연결의 개수를 최소화하는 것이 이득이다. 본 발명은 메모리 버스에 사용되는 연결의 개수를 줄이는 것에 관한 것이다.
본 명세서의 일부 예시에서, "신호"라는 용어는 디지털 정보의 전달을 위해 구성된 전기 컨덕터를 의미한다. 다른 예시에서, "신호"라는 용어는 데이터 또는 다른 정보의 전송을 나타내는 것일 수 있다. 용어의 의미는 문맥에 기초하여 통상의 기술자에 의해 이해되어야한다.
버스 신호의 개수가 적을수록 컨트롤러 IC 상의 메모리 인터페이스 회로에 필요한 실리콘 면적은 줄어든다. 더 적은 개수의 신호는 또한 컨트롤러 IC의 플로어 플랜 상의 작은 영역에 신호를 함께 유지하는 것을 더 쉽게 하므로 IC 레이아웃의 이점을 제공할 수 있다. 또한, 신호의 개수가 줄어드는 것은 메모리 및 컨트롤러 IC를 상호 연결하는데 사용되는 연결의 개수가 줄어든다는 것을 의미한다. 그러나, 신호의 개수가 줄어들면, 주어진 스위칭 속도에 대한 버스의 최대 대역폭도 줄어든다: 단순하게, 더 적은 스위칭 신호가 정보를 전달한다.
메모리 버스는 컨트롤러 IC와 메모리 IC 사이에서 데이터를 전달할 뿐만 아니라 메모리 디바이스들로 어드레싱 및 제어 정보를 전달할 수 있다. 어드레싱 및 제어 정보는 요청된 작업을 수행하도록 메모리를 지정하는데 사용되며, 데이터는 트랜잭션의 페이로드이다. 버스에 의해 요구되는 다른 신호들은 기준 전압 또는 종단부 전원 공급과 같은 시그널링 기술을 지지하기 위해 사용되는 신호를 포함할 수 있다.
도 2는 DDR3 DRAM을 컨트롤러에 상호 연결하기 위해 사용되는 종래 기술의 DDR3 유형 메모리 버스를 도시한다. DDR DRAM 버스는 DDR 메모리 버스를 구성하는 클락 신호, 데이터 신호, 어드레스 신호, 뱅크 어드레스 신호, 명령 신호, 스트로브 신호, 기준 전압 신호, 종단 전압 등을 가진다. 총 45개 이상의 신호들이 DDR3 버스와 함께 사용된다.
어드레싱/제어 정보를 데이터 버스 핀 상에 멀티플렉싱함으로써 DDR3 유형 버스로부터 신호 핀을 제거하는 것은 타임셰어링(timesharing)에 의해 어드레스/명령 정보 및 데이터 정보를 이동하기 위해 동일한 신호 와이어를 타임셰어링하는 것을 필요로 한다. 어드레스/명령 이동 시간 동안 데이터는 전송될 수 없으므로, 버스의 효율은 크게 감소된다.
메모리에 대한 액세스 패턴은 어플리케이션마다 크게 다양하다. 사진 이미지나 비디오를 포함하는 일부 어플리케이션은 메모리 트래픽 사이 곳곳에 배치된 비 순차적 점프가 있는 긴 순차적 버스트로 메모리에 액세스 할 수 있다. 메모리가 실행 메모리로 사용되는 어플리케이션에서는 액세스가 캐시 라인을 채우는 경우가 종종 있으며 순차적 추측성 프리패치(prefetch)를 포함할 수 있다. 캐시 라인은 종종 16에서 32 바이트의 그룹이다. 이 모든 예시에서, 이러한 멀티플렉싱된 버스 메모리는 순차적으로 또는 미리 결정된 다른 순서로 다수 바이트의 버스트에 액세스된다. 이러한 경우에, 메모리 버스는 스타트 어드레스 및 버스트 정보만을 이동하여 메모리에 대한 액세스를 개시할 수 있다: 어드레스 및 제어 정보 이동은 데이터와 비교하면 드문 경우일 수 있다. 이와 같이 설명된 멀티플렉싱된 버스는 특정 클래스의 어플리케이션에서 효율성 요구 사항을 충족시킬 수 있고, 전용 어드레스, 명령, 및 데이터 신호를 사용하는 종래의 DDR3 유형 버스와 비교할 때 감소된 개수의 신호를 사용한다. 데이터 신호는 메모리 트랜잭션의 일부 동안에 어드레스 및 제어 정보를 전송하는 것에 사용될 수 있고, 메모리 트랜잭션의 다른 부분 동안 데이터를 이동하기 위해 이들을 사용할 수 있다. 이러한 방식에서, 상당한 개수의 신호가 버스의 작동 효율상 허용 가능한 영향을 미치면서 버스로부터 제거될 수 있다. 이러한 방식에서, 버스는 메모리 트랜잭션을 개시하기 위해 어드레스 및 명령 정보를 메모리로 이동할 것이다. 데이터는 레이턴시(latency) 기간이 경과한 뒤에 이어진다.
멀티플렉싱된 버스는 명령/어드레싱 정보를 전송하는데 사용되며 데이터 이동에 사용되기 때문에, 버스 효율(데이터 이동에 사용되는 클락 사이클을 트랜잭션의 총 클락 사이클로 나눈 비율)에 한계가 있다. 이러한 효율 한계는 평균 대역폭을 피크 대역폭보다 작은 값으로 줄인다. 어드레싱 및 명령에 대한 오버헤드가 제한된 클락 사이클의 수이므로, 효율은 짧은 버스트에서보다 버스트가 길수록 더 향상된다.
따라서, 이러한 버스 상의 메모리 트래픽은 명령/어드레스 이동 기간 및 데이터 이동 기간을 각각 포함하는 트랜잭션들의 컬렉션을 포함할 것이다. 이러한 버스 상에서 효과적인 대역폭 최적화는 판독 또는 쓰기 트래픽인 데이터의 긴 순차적 버스트를 스케쥴링하는 것을 포함한다. 일부 데이터 유형의 경우, 이는 비디오와 같은 데이터의 자연스러운 특징이다. 다른 어플리케이션에서는, 데이터 버스트 길이를 늘리는 것이 간단한 문제가 아닐 수 있다.
본 개시에서 설명된 본 발명의 버스는 방금 설명한 멀티플렉싱된 버스를 능가한다. 멀티플렉싱된 버스 배치의 효율을 증가시키기 위해, 본 발명의 버스는 상기 버스 상의 데이터 트래픽에 상관없이 명령 및 어드레싱 정보를 메모리로 이동하는데 사용되는 좁은 전용 신호 경로를 포함한다. 이러한 방식으로, 어드레싱 및 명령 정보는 버스에 의해 이동되는 데이터와 동시에 메모리에 스트리밍 될 수 있다. 버스 프로토콜에서 파이프라인된 어드레스 및 명령 디코딩 방식을 사용함으로써, 데이터 이동은 사이클마다 선택적인 랜덤 어드레싱으로 연속적으로 수행될 수 있다. 도 3은 높은 작동 효율을 제공하기 위해 버스 프로토콜에 포함된 단일 신호를 사용하여 어드레스/명령 스트리밍 기능을 포함하는 본 발명의 예시를 도시한다. 도 3을 참조하라.
베어(bare) 컨트롤러 IC의 상부에 적층된 베어 메모리 IC를 결합함으로써 형성된 버스의 전기적 환경은 신호 무결성 관점으로부터 이점을 제공할 수 있다. 짧은 연결을 사용하고 단일 멀티칩 패키지 내에 고속 메모리 버스 신호를 제한하는 대신 별개의 패키지를 상호 연결하기 위해 PCB 상에 메모리 버스를 일정 거리로 라우팅함으로써 스퓨리어스 EMI(전자기 인터페이스) 방사선은 줄어들수 있다.
만약 와이어본딩 기술이 이러한 적층 다이 어플리케이션에서 메모리를 컨트롤러에 직접적으로 상호 연결하는데 사용되는 경우, 그러한 연결은 상대적으로 짧으며, 종종 1mm 미만일 수 있다. 결과적으로 버스 정착 시간 또한 짧아져서, 병렬 종단부의 사용을 회피함으로써 잠재적으로 전력을 절약하고, 종단부 요구 사항을 단순화한다.
적은 개수의 신호를 갖는 것으로부터의 또다른 장점은 메모리 IC 플로어 플랜 상에 배치된다는 것이다: 모든 스위칭 신호는 다이의 짧은 하나의 측을 따라 배치될 수 있다. 이와 유사하게, 주어진 메모리 채널에 대한 모든 컨트롤러 IC의 메모리 인터페이스 신호는 컨트롤러 다이의 공통 영역에 배치하는 것이 유리하기 때문에, 그 목표를 위해 작은 개수의 도움을 가지는 것이 유리하다.
신호 연결의 개수를 줄이는 것의 또 다른 이점은 신호 간 길이 매칭을 더 간단한 작업으로 만든다는 것이다: 더 적은 신호가 길이 및 임피던스 매칭된다. 또한, 연결이 짧을 때 드라이버 및 수신기용으로 설계된 회로의 복잡성을 줄이는 것 또한 가능하다: PLL 및 DLL은 예를 들어, 전력, 복잡성, 및 시동 시간을 줄이는 것을 피할 수 있다.
메모리 IC와 컨트롤러 IC가 별도의 패키지에 배치되고 PCB를 통해 상호 연결될 때, 동작 주파수 및 총 버스 라우팅 길이에 따라 차폐, 트레이스 길이 매칭, 임피던스 제어 및 적절한 종단부 실천에 주의를 기울일 수 있다.
일부 시스템에서, 하나 이상의 메모리 IC를 포함하는 패키지는 수직 전기적 연결들을 사용하여 하부 로직 IC 패키지 상부에 직접 적층된다. 이러한 구성은 POP("Package On Package, 패키지 온 패키지")로 불릴 수 있고, 상부 및 하부 반도체 패키지의 주변부의 둘레에 전기 연결부를 배치하고 납땜 기술을 사용하여 상기 전기 연결부를 형성함으로써 제조될 수 있다. 납땜 연결부는 상기 패키지의 주변부의 둘레에 하나 이상의 로우에 배치될 수 있다.
하부 패키지가 시스템 로직 IC를 포함하는 동안 상부 패키지는 하나 이상의 메모리 IC를 포함할 수 있다.
따라서, 병렬로 다수의 메모리 IC를 작동하는 것의 대역폭의 이점은 POP 패키징 방식을 사용하는 다중 병렬 채널 구성으로 경제적으로 효율적이게 배치될 수 있다는 것이다. 도 4의 예시에서, 각각 하나의 메모리 IC를 갖는 4개의 개별 메모리 채널은 POP 기술을 사용하여 효율적으로 배치된다. 이 예시에서, 4개의 LPC 메모리 다이(410)는 공통 기판(420) 상에 배치되고, 와이어 본드 기술을 통해 전기적으로 연결된다. 상기 4개의 다이는 병렬로 작동하여 전반적으로 4배 증가된 대역폭을 제공한다. 메모리 조립체(400)는 패키지 POP 구성 상의 패키지 내의 하부 패키지(470)의 상부에 배치된다. 이는 PCB 상의 신호를 라우팅하지 않고, 메모리 패키지 및 신호 라우팅 면적을 위한 공간을 차지하지 않고도, 높은 메모리 대역폭을 제공한다. 기존의 메모리 다이에 비해 이러한 접근법의 장점 중 하나는, 필요한 신호의 개수가 적으면 수직 연결에 사용되는 신호 사이의 피치가 더 커지는 것을 허용하기 때문에, 하부 패키지(470)의 기술 옵션이 저렴해진다는 것이다.
일부 시스템에서, 메모리 컨트롤러 IC 상의 각 메모리 인터페이스는 메모리 버스 신호가 단일 메모리 IC만을 포함하는 메모리 버스에 연결된다. 다른 시스템 구성에서, 메모리 버스는 동일한 유형 또는 가능한 다른 유형의 다수의 메모리 IC를 포함할 수 있다. 하나의 예시로, 동일한 메모리 버스에 연결된 DRAM 메모리 IC 및 플래시 메모리 IC가 있다.
상이한 대역폭 및 레이턴시 특성을 가지는 메모리 IC를 동일한 메모리 버스 상에 혼재시키는 것이 가능하다. 메모리 버스는 그러한 상이한 디바이스를 수용하도록 설계될 수 있다. 예를 들어, 메모리 버스는 소위 DDR 시그널링을 사용하여 일부 메모리 IC에 액세스하도록 설계될 수 있으며, 다른 유형의 메모리를 액세스하기 위해서는 SDR 시그널링이 사용될 수 있다. 또한, 상이한 액세스 특성을 가지는 디바이스의 요구 사항을 수용하기 위해 메모리 버스에 사용되는 시스템 클락의 주파수를 동적으로 변경하는 것이 가능하다.
x16 낮은 핀 카운트 버스("Low Pin Count Bus, LPC BUS")는 종래 메모리 버스보다 더 적은 신호를 사용하여 컨트롤러에 메모리를 상호 연결하도록 설계된 고 대역폭 x16 버스(>3000 메가 바이트/초)이다. 버스 및 작동 프로토콜은 특히 메모리 디바이스가 DRAM 기술을 사용하여 상기 버스 상에서 효율적으로 사용될 수 있도록 하기 위해 설계된다.
낮은 핀 카운트 DRAM("Low Pin Count DRAM, LPC DRAM")은 LPC 버스 상에서 사용되도록 설계된 메모리 IC이다. 기존의 메모리 아키택쳐보다 적은 핀(또는 다른 신호 단자)을 사용하여 고 대역폭 데이터 IO를 제공한다. LPC DRAM은 데이터 버스 신호를 사용하여 서로 다른 시간에 어드레스 및 제어 정보를 수신하여 버스에서 다수의 개별 어드레스 및 제어 신호를 사용하는 것을 피한다. LPC DRAM 디바이스는 또한 단일 단방향 신호를 사용하여 컨트롤러로부터 어드레싱 및 명령 정보를 수신하여 작동 효율을 높인다.
도 5는 LPC DRAM(500)의 예시를 도시한다. DRAM의 스위칭 신호는 데이터 버스(510), 클락(520), 데이터 스트로브(530), 스트로브(STB)(540), 및 클락 인에이블(CKE)(550)을 포함한다. 이러한 신호는 LPC 버스에서 사용되는 고속 스위칭 신호를 포함한다.
x16 LPC DRAM은 워드(word)라고 불리는 32바이트(256비트) 그룹에 데이터를 저장 및 호출하도록 설계된다. DRAM의 저장 위치의 어드레싱은 워드 레벨로 지정된다. 쓰기 마스크를 사용하면, 워드의 특정 바이트에 쓰기를 제한하는 것이 가능하다.
도 6은 DRAM의 블록 다이어그램을 도시한다. 메모리 어레이(610)는 하나 이상의 뱅크로 조직된다. 메모리 어레이(610)는 동적 메모리 어레이이고, 뱅크, 로우, 및 칼럼 어드레스를 수신하여 액세스할 주어진 워드를 지정한다. 뱅크가 데이터 저장 및 검색에 사용되기 전에, 먼저 뱅크는 프리차지되고 활성화된다. 활성화란 뱅크 내의 특정 워드 라인을 디코딩하고 워드 라인이 선택하는 비트를 감지하는 것을 의미한다.
어드레싱 및 명령들은 상이한 프로토콜을 사용하여 데이터 버스(680) 및 STB(690) 외부 신호 모두를 통해 구비된다.
어드레싱 및 제어은 패킷을 사용하여 DRAM에 구비된다. 패킷은 병렬 프로토콜을 사용하는 데이터 버스(680) 또는 시리얼 프로토콜을 사용하는 STB 신호(690)에 의해 공급될 수 있다.
어드레스 계산 및 디코터/제어(Address Computation and Decoder/Control "ACDC")(650) 블록은 패킷을 수신하고 내부 어드레스 증분 회로를 포함한다. 작업의 공통 모드는 DRAM이 메모리 어레이(610)의 워드에 액세스하는데 사용되는 패킷으로부터 어드레스를 수신하기 위한 것이다. 후속 어드레스는 원래 패킷 프로토콜을 통해 수신된 이전에 사용된 어드레스를 자동으로 증가시킴으로써 생성될 수 있다. ACDC(650)은 다수의 열린 페이지를 지지하기 위해 로우 어드레스 정보 또한 저장한다. ACDC 블록은 추가적으로 메모리 어레이에 액세스 하기 위해 디코딩될 어드레스를 선택하고 스케쥴링한다. 더 나아가, ACDC 블록은 파이프라인 어레이 및 버스 작업을 위해 이러한 작업들을 차례로 배열한다.
비순차적 어드레싱 또는 다른 제어이 요구되는 경우, 랜덤 칼럼 어드레스는 파이프라인 방식으로 활성 사이클 동안 STB 신호(690)를 거쳐 전달되는 시리얼 요청 패킷 프로토콜을 통해 DRAM에 또한 구비될 수 있다.
고 대역폭 코어 아키택쳐
도 7은 클락(750) 사이클 당 16비트 데이터 샘플을 2번 제공하는 외부 데이터 버스(710)를 도시한다. F의 클락 주파수에서, 데이터 버스는 4F의 주파수로 바이트를 이동한다. 회로 설계상의 제약으로 인해, 메모리 코어(700)는 내부 클락만큼 빠르게 사이클될 수 없다. 결과적으로, 메모리 코어는 F/8의 감소된 주파수에서 작동한다. 메모리 코어(700)가 데이터 버스와 동일한 대역폭에서 코어 데이터(730)를 제공하기 때문에, 코어 데이터 경로의 폭은 외부 데이터 버스보다 16배 더 크다. 16비트 폭 DDR 유형 데이터 버스의 경우, 내부 코어 데이터 경로는 256비트 폭이다. 따라서, 메모리 어레이는 한번에 하나의 워드(즉, 256비트)에 액세스되며, 이는 DRAM의 최소 어드레싱 입도(granularity)이다.
내부 클락킹
도 8을 참조하면, 프론트 엔드 클락(880) 및 백 엔드 클락(890)을 포함하는 2개의 내부 클락킹 도메인이 있다. 수신된 패킷(800)은 ACDC 블록의 어드레스 디코딩에 내부 어드레싱 정보(810)를 제공하는 프론트 엔드 클락을 사용하여 프레이밍 되고 타이밍되어서 내부 디코딩된 어드레스(820)는 메모리 코어에 공급되는 결과가 된다. 따라서, 클락이 주파수 F로 작동할 때, 새로운 어드레스는 주파수 F/8에서 메모리 코어에 제공될 수 있다. 디코딩된 어드레스 정보(820)는 내부 데이터 버스(852) 상에 내부 데이터 A(830)를 제공하는 메모리 액세스를 위해 사용된다.
메모리 코어로의 데이터 작업은 백 엔드 클락(890)과 관련하여 프레임된다. 백 엔드 클락(890)은 레이턴시 의존 지연(895)을 사용하는 프론트 엔드 클락(880)으로부터의 타이밍 오프셋이다. 내부 데이터의 모든 샘플링, 제어, 및 데이터 워드의 타이밍은 데이터 패킷을 송신 또는 수신할 때 백 엔드 클락(890)에 프레임된다.
도 9에 도시된 레이턴시 의존 지연(922)은 모드 레지스터의 비트들에 의해 제어된다(도 10, 레이턴시 제어(1030) 참조). 3개의 레이턴시 제어 비트가 프로그램 가능한 레이턴시들에 할당되지만, 3 비트와 연관된 8개의 가능한 값을 명확하게 하기 위해 단지 3개의 예시만이 도 9에 도시되어있다. 도 9는 백 엔드 클락(920)에 대한 타이밍 오프셋을 결정하는 3개의 상이한 레이턴시 값: 레이턴시 A(910), 레이턴시 B(911), 레이턴시 C(912) 을 나타낸다.
작업
처음에 전력이 인가될 때, DRAM은 사용하기 전에 초기화된다. 초기화는 DRAM을 전력 다운 상태로 배치하는 것을 포함한다. 전력 다운 상태는 CKE 신호를 낮게 구동하고 DRAM을 한 번 클락킹함으로써 시작된다. 그 후, 클락은 스탑될 수 있다. 전력 다운 상태의 종료는 CKE가 낮은(폴스 또는 디스에이블) 동안 클락을 다시 스타트한 다음 STB 신호가 높은 동안 CKE를 높게 구동함으로써 수행된다.
DRAM은 도 11에 도시된 3개의 주작동 모드(1100): 전력 다운(1110), 아이들(1120), 및 활성(1130)을 갖는다.
CKE 신호가 폴스 상태인 동안 DRAM은 전력 다운 모드로 유지된다.
CKE 신호가 행사될 때(1140), DRAM은 아이들 모드(112)로 천이한다. 아이들 모드(1120)에 있는 동안, DRAM은 정상 작업을 위한 준비를 한다. STB 신호(1150) 상의 낮은 천이는 활성 모드(1130)의 시작을 시그널하는데 사용된다. 일단 활성 모드가 되면, DRAM의 행동은 도 12, 13, 및 14의 상태 다이어그램을 따른다.
도 12는 높은 레벨 상태 천이 다이어그램을 도시한다. 활성 모드(1130)는 도 13 및 도 14에서 보다 더 상세히 도시되어 있다.
도 13은 활성 모드(1130)의 상세한 상태 천이 다이어그램의 두 페이지 중 첫번째 페이지이다. 이는 병렬 명령에 의해 제어되는 작업을 도시한다.
도 14는 활성 모드(1130)의 상세한 상태 천이 다이어그램의 두 페이지 중 두번째 페이지이다. 이것은 시리얼 명령에 의한 버스트 동작 제어을 도시한다.
버스트 판독 사이클
도 15는 버스트 판독 사이클(1500)을 도시하는 타이밍 다이어그램을 도시한다. 아이들(1120)일 때, 활성 상태(1130)는 사이클 스타트(1570) 전제부가 STB 신호(540) 상에서 수신될 때 시작된다. 사이클 스타트(1570) 전제부는 STB 신호(540)가 낮게 구동된 후 클락(520)의 제1 상승 에지에서 시작한다. 두 클락 사이클 후에, 병렬 요청 패킷(1510)은 데이터 버스(510) 상에 수신된다. 병렬 요청 패킷(1510)이 수신되기 직전에, 데이터 스트로브(530)는 쓰기 전제부(1520)와 함께 구동된다. 데이터 버스(510)가 병렬 요청 패킷(1510)을 포함하는 시간 동안, 데이터 스트로브(530)는 클락에 대해 쿼드러쳐(Quadrature) DQS 타이밍(1530) 관계로 구동된다. 쿼드러쳐는 본질적으로 데이터 버스가 안정한 값을 포함하는 시간의 중간에 스트로브 천이를 의미한다. CLK의 상승 에지는 CLK(522)신호의 상승 에지 대 CLK#(524)신호의 상승 에지를 의미한다. 이들 2개의 신호는 차동 쌍을 포함하고, 디바이스가 전력 다운 상태에서 작동하지 않을 때 이들은 상보적으로 작동한다.
병렬 요청 패킷(1510)이 수신되는 것과 동시에, STB 신호(540)는 시리얼 패킷(1512)의 존재에 대해 샘플링된다. STB 신호는 8 클락 사이클과 같은 미리 결정된 횟수의 클락 사이클 이후 각 클락 사이클의 시리얼 패킷의 존재에 대해 다시 샘플링된다. 이 STB 신호의 주기적 샘플링은 DRAM이 아이들 상태로 돌아갈 때까지 계속되며, 이 사이클은 폐기된다.
액세스 레이턴스(1590) 이후에, 버스트 판독 사이클에 대한 요청된 데이터 패킷(1580)이 데이터 버스(510) 상에 나타나기 시작한다. 데이터 패킷(1580)이 데이터 버스 상에 나타나기 시작하기 한 클락 사이클 전에, DRAM은 데이터 스트로브 상에서 판독 전제부(1540)를 구동한다. DRAM이 데이터 패킷을 구동하는 시간 동안, 에지 정렬된 DQS 타이밍(1550)으로 데이터 스트로브(530)를 또한 구동한다. 에지 정렬된 DQS 타이밍이란 DQS 신호가 DB(510) 신호와 동일한 위상으로 천이되는 것을 의미한다. 그 후, DRAM은 자동으로 칼럼 어드레스를 증가시키고, 데이터 버스(510) 상에 끊김없는 스트림의 순차적인 어드레스로부터 후속되는 워드를 제공한다.
데이터 스트로브 및 데이터 버스는, 사이클이 폐기되는 버스트 카운트(1620)에 도달할 때까지 이러한 방식으로 사이클된다. 그 때, DRAM은 데이터 버스 및 데이터 스트로브를 고 임피던스 상태(1560)로 배치한다.
버스트 판독 및 버스트 쓰기 사이클에 대한 병렬 요청 패킷 포맷
도 16은 요청 패킷 포맷(1600)을 도시한다. 병렬 요청 패킷(1510)은 데이터 버스(510) 신호를 사용하고, 데이터 스트로브(530) 신호에 의해 표시된 데이터 버스 신호의 유효성과 함께 DRAM에 전달된다. 버스트 판독 사이클의 경우, 요청 패킷은 정보를 이동하기 위해 두 개의 버스 샘플을 요구한다. 버스는 CLK(520)의 상승 에지에서 처음으로 샘플링된다.
제1 샘플(1621) 동안, OP코드(1610), 버스트 카운트(1620), 칼럼 어드레스(1640)의 칼럼 어드레스 P1(1641) 및 뱅크 어드레스(1630)는 데이터 버스(510)로부터 샘플링된다. 제2 샘플(1622) 동안, 칼럼 어드레스(1640)의 칼럼 어드레스 P2(1642) 및 로우 어드레스(1650)는 데이터 버스(510)로부터 샘플링된다.
병렬 요청 패킷 내에 포함된 비트 필드 할당의 순서는 중요하지 않을 수 있다. 그러나, 일부 특정 조직은 구현 상의 이유로 선호될 수 있다. 이 섹션과 다른 섹션에서 설명된 대로 필드의 위치의 특정 할당 및 도면은 본 발명을 실시하기 위한 목적으로 제한되는 것으로 고려되어서는 안된다.
버스트 쓰기 사이클
사이클이 버스트 판독 사이클이면, 두 개의 버스 샘플(1621 & 1622)은 병렬 요청 패킷(1510) 전체를 포함한다. 사이클이 버스트 쓰기 사이클이면, 데이터 버스(510)는 4번 더 샘플링된다. 4개의 추가 샘플들에 사용된 특정 타임슬롯들은 IC 구현 고려 사항들에 기초하여 요청 패킷의 제1 부분으로부터 시간 분리될 수 있지만, 마스크는 메모리에 쓰일 제1 데이터 워드가 전송되기 전에 전송된다.
버스 샘플 3(1623)은 낮은 제1 워드 쓰기 마스크(1661) 필드를 캡쳐하는데 사용되고, 4번째 샘플(1624)은 높은 제1 워드 쓰기 마스크(1662)을 캡쳐하는데 사용된다. 5번째 샘플(1625)은 낮은 마지막 워드 쓰기 마스크(1671)를 제공하고, 6번째 샘플(1626)은 높은 마지막 워드 마스크(1672)를 제공한다. 첫번째 워드 쓰기 마스크(1660)가 버스트 쓰기의 첫번째 워드에 적용된다는 것을 암시하는 것처럼, 마지막 워드 쓰기 마스크(1670)는 다중 워드 버스트 쓰기의 마지막 워드에 적용된다.
도 17은 버스트 쓰기 사이클(1700)의 템플릿을 도시한다. 버스트 판독 사이클(1500)과 비교하여, 사이클 템플릿에는 몇 가지 차이점이 있다. 버스트 쓰기용 병렬 요청 패킷(1710)은 총 96비트에 대한 6개의 버스 샘플들(1621, 1622, 1623, 1624, 1625, 1626)로 구성된다. 마지막 4개의 버스 샘플(1623-1626)은 첫번째 워드 쓰기 마스크(1660) 및 마지막 워드 쓰기 마스크(1670)를 이동하는데 사용된다. 쓰기 레이턴시(1790)는 바람직한 실시예에서 판독 레이턴시(1590)보다 적을 것이고, 즉 8 클락 사이클이 적을 것이다. 데이터 스트로브(530)는 DRAM에 대한 입력이고, 쓰기 데이터 패킷이 DRAM에 의해 수신되기 전에 쓰기 전제부(1520)는 데이터 스트로브(530) 상으로 구동된다. 쓰기 전제부(1520)에 바로 뒤이어, 데이터 스트로브는 데이터 버스(530) 상의 데이터에 관해 쿼드러쳐 DQS 타이밍(1530)과 함께 사이클한다. 쿼드러쳐 타이밍은 데이터가 안정적일 때 DB 신호의 유효 윈도우의 중간에 DQS 신호 천이를 의미한다. 버스트 판독 경우와 마찬가지로, 버스트 쓰기는 순차적인 칼럼 어드레스에서부터 버스트 카운트에 도달할 때까지 계속된다. 그 때 사이클은 폐기되고, DRAM은 도시된 예시에서 아이들 상태(1120)로 되돌아간다.
오정렬된 데이터 구조
동작 상으로, 버스트 쓰기 사이클(1700)은 쓰기 사이클 동안 내부 워드 바이트 어드레싱을 허용하기 위해 요청 패킷의 일부로서 데이터 마스크의 이동을 포함함으로써 버스트 판독 사이클(1500)과 상이하다. 첫번째 워드 마스크(1660)는 총 32비트이고, 각 비트는 워드 내의 바이트 위치에 대응한다. 비트 0은 32바이트 워드의 첫번째 바이트에 적용한다. 비트 1은 32비트 워드의 두번째 바이트에 적용ㅎ하는 식이다. 만약 데이터 마스크에 "1"로 설정된 비트가 있으면, 그 해당 바이트는 기록되지 않을 것이다. 첫번째 워드 마스크(1660)는 버스트 쓰기의 첫번째 워드에만 적용한다. 마지막 워드 마스크(1670)는 멀티 워드 버스트 쓰기의 마지막 워드에만 적용한다. 멀티 워드 버스트 쓰기로 이동된 다른 워드들은 마스크되지 않는다.
이 방법은 한 워드 내에 바이트 쓰기를 지지한다. 이러한 이중 마스크 쓰기 방식은 또한 32바이트 경계("오정렬된 데이터")에 정렬되지 않은 데이터 구조를 지지하는데 또한 사용될 수도 있다.
오정렬된 데이터 쓰기 사이클의 경우, 쓰기 마스킹은 특정 워드에 데이터를 쓸 때 수정되지 않은 바이트를 쓰는 것을 방지하기 위해 판독 수정 쓰기 사이클을 사용하는 것을 피하는 방법을 제공한다. 도 18은 정렬(1810) 및 두 개의 상이한 오정렬된 경우(1820, 1830)을 도시한다. 정렬된 구조의 경우(1810), 데이터 구조(1812)를 포함하는 4개의 32바이트 워드가 있다. 이들은 4개의 씌여진 워드로 이동될 것이다. 이러한 데이터를 DRAM에 쓸 때에는 바이트 마스킹이 사용되지 않는다.
1820에 도시된 오정렬된 데이터에 대해, 데이터 구조는 32바이트 경계 상에는 정렬되지 않지만, 32바이트의 경계로부터 8바이트만큼 오프셋되는 3개의 32바이트 워드(1822)로 구성된다. DRAM은 데이터 구조 내에 포함된 3개의 오정렬된 워드를 쓰기 위해 4개의 씌여진 워드의 버스트를 요구할 것이다. 버스트에서 이동된 첫번째 워드는, 마스크된 하위 8바이트(1824) 및 쓰여질 첫번째 32비트 데이터 워드의 하위 24바이트를 가질 것이다. 버스트에서 이동된 두번째 및 세번째 워드는 이동된 각 워드에 쓰여진 모든 바이트를 가질 것이지만, 바이트들은 잘못 정렬됨에 따라 오정렬된 구조 오프셋에서 인접한 두 개의 32바이트 워드 사이에 할당될 것이다. 버스트에서 이동된 마지막 워드는, 이들 8바이트를 이동하고 이동된 데이터 워드의 상위 24 바이트(1826)를 마스킹함으로써 오정렬된 데이터 구조(1822)의 마지막 32바이트 워드(1828)의 상위 8바이트를 쓸 것이다.
두번째 오정렬된 경우(1830), 데이터 구조(1832)는 DRAM에 쓰이는 데이터 구조(1832)에 대한 총 60 바이트가 5개의 12바이트 수량으로 구성된다. 첫 12바이트의 수량(1834)이 32바이트 경계(1290)에 정렬되는 동안, 데이터 구조(1832)의 전체 길이는 32바이트의 정수배가 아니므로, 버스트에서 전송된 최종 워드는 마스크된 높은 8바이트(1836)를 가진다. 이는 데이터 구조를 DRAM에 쓰기 위해 두 개의 이동된 워드의 버스트를 취할 것이다.
병렬 요청 패킷을 사용함으로써 개시될 수 있는 다른 작업들이 있다. 일부 예시는 페이지 프리차지, 로우 활성화, 모드 레지스터 쓰기 작업들을 포함한다. 추가 작업에는 리프레쉬, 유틸리티 레지스터 판독/쓰기 작업들이 포함된다.
페이지 활성화
DRAM이 데이터를 쓰기 또는 판독할 수 있기 전에, 타겟 로우 및 뱅크는 활성화된다. 병렬 요청 패킷은 지정된 뱅크에서 지정된 로우 어드레스를 활성화하는데 사용될 수 있다. 다른 용어로, 특정 로우 및 뱅크 어드레스는 "페이지"라고도 불리며, 이들 용어는 이 문서에서 서로 교체되어 사용될 것이다.
도 17은 활성 명령을 위해 사용되는 병렬 요청 패킷(1510) 포맷의 서브세트를 도시한다. 페이지가 활성화될 때 사용되는 버스트 카운트(1620) 또는 칼럼 어드레스(1640)가 없으므로, 해당 필드가 활성화 명령에서 정의되지 않는다. 유지되는 필드로는 OP코드(1610), 뱅크 어드레스(1630), 및 로우 어드레스(1650)가 있다. 여기에는 DRAM이 병렬 요청 패킷(1510)을 수신하는데 요구되는 데이터 버스(510)의 두 샘플링(1621, 1622)이 있다.
랜덤 어드레스로부터 칼럼을 판독하는데 걸리는 시간보다 페이지를 활성화하는데에 대체로 더 많은 시간이 요구되어서 페이지 활성화 명령을 완료하는데 하나 이상의 8클락 사이클 기간이 요구될 수 있다. 요구되는 특정 시간은 특정 DRAM 설계에 특유한 타이밍 사양이다.
페이지 활성화를 수행하는데 요구되는 한정된 시간 때문에, 병렬 요청 패킷(2020)을 통해 보내진 임의의 후속 명령은 또다른 설계 특유의 사양인 최소 시간(2030)동안 연기될 수 있다. 이러한 포스트 활성 지연(2030)은 도 20의 타이밍 다이어그램에 도시되어 있다. 또한, 제1 페이지 활성화를 개시하는 병렬 요청 패킷(2010)이 도시되며, 제2 병렬 요청 패킷(2020)은 이러한 최소 지연(2030) 이후에 DRAM에 공급될 수 있다.
뱅크 프리차지
페이지가 활성화될 수 있기 전에, 타켓 뱅크는 프리차지된다. 이는 도 21에 도시된 병렬 요청 패킷(2110)을 통해 행해질 수 있다. 요구되는 필드는 OP코드(2110)와 어느 뱅크가 프리차지 되는지에 대한 정보이다. 작동 효율성을 향상시키기 위해, 종종 한번에 하나 이상의 뱅크를 프리차지하는 것이 유리하다. 다중 뱅크 프리차지를 지지하기 위해, 병렬 요청 패킷(2110)은 DRAM의 각 뱅크에 대응하는 비트들의 집합(2170)을 갖는다. 이들 비트는 소위 뱅크 선택 비트(2170)로 불린다. 논리적 "참"의 값으로 설정된 각 비트에 대해, 대응하는 뱅크는 뱅크 프리차지 사이클 동안 프리차지 될 것이다.
도 22는 병렬 요청 패킷(2210)의 사용에 의해 개시되는 뱅크 프리차지 동작(2200)의 타이밍 다이어그램을 도시한다. 뱅크 프리차지 작업이 완료되도록 하기 위해, 포스트 프리차지 지연(2230)이라고 불리는 최소 지연은 임의의 후속 병렬 요청 패킷(2220)이 DRAM에 공급되기 전에 만료되도록 허용된다. 포스트 프리차지 지연(2230)은 설계 의존 파라미터이다.
모드 레지스터 설정 및 IO 임피던스
DRAM은 상기 DRAM에 의해 사용되는 다수의 동작 파라미터를 저장하는데 사용되는 모드 레지스터를 포함한다. 모드 레지스터는 도 23에 도시된 병렬 요청 패킷(2310)을 사용하여 쓰여진다. 병렬 요청 패킷 내 포함되는 것으로는 OP코드 필드(1610), ODT 임피던스(2370) 필드, 출력 임피던스(2360) 필드, 및 레이턴시 필드(2350)가 있다. 특정 비트 할당 순서는 중요하지 않으며, IC 구현에 이익이 되도록 최적화될 수 있다.
도 24는 IO 회로(2402) 및 입력 회로(2404)와 연관된 조정가능한 임피던스의 단순화된 개략도를 도시한다. 입력 회로(2404)에 대해, 온-다이-종단부(On die termination, ODT) 임피던스를 모드 레지스터 내부에 설정된 ODT 임피던스(2370) 비트(2371, 2372, 2373)에 의해 제어되는 8개의 값 중 임의의 하나로 설정하기 위해 병렬로 결합될 수 있는 임피던스(T0(2431), T1(2432), 및 T2(2433))가 있는 3개의 종단부가 있다. 모드 레지스터 비트 T0(2371)가 논리적 "참" 상태로 설정되면, 온-다이 종단부 기능이 활성화 될 때 T0 레지스터(23410)가 스위치 온 된다. T0 저항이 선택되는 방식과 유사한 방식으로, 모드 레지스터의 비트(T1 2372 및 T2 2373)가 저항(T1(2432) 및 T2( 2433))을 선택한다. 이러한 세 비트가 모두 논리적 "거짓" 상태로 설정되면, 온 다이 종단부 기능은 디스에이블된다. 인에이블된 온 다이 종단부의 효과적인 임피던스는 인에이블된 저항의 병렬 조합이다. DRAM 상에 포함되도록 선택된 저항의 특정값은 프로그래밍 가능한 제어 하에서 다양한 범위의 유용한 임피던스를 지지할 수 있도록 만들어졌다. 모드 레지스터 설정 명령이 DRAM에 발행될 수 있을 때마다 임피던스 값을 변경하는 것이 가능하다. 이는 신호 무결성을 최적화하기 위해 동적 임피던스 조정을 지지하는데 사용될 수 있다.
DRAM은 포인트 간 시그널링 환경에서의 사용을 지지한다. 몇가지 경우에서, 병렬 DC 유형 종단부의 사용에 의해 전력 소비를 피하기 위해 포인트 간 시그널링 링크를 사용할 때는 직렬 종단부를 사용하는 것이 유리하다. 출력 임피던스(2360)를 제어하는 특정 병렬 요청 패킷 비트(2361, 2362, 2363, 2364)에 대응하는 모드 레지스터에는 4비트가 있다. 온 다이 종단부 임피던스의 모드 레지스터 제어과 유사한 방식으로, 온-칩 저항을 병렬로 결합하여 선택함으로써, IO 회로(2402)의 출력 임피던스는 모드 레지스터의 출력 임피던스(2360) 필드에서 쓰는 것이 가능한 비트에 의해 제어될 수 있다. 비트 Z0(2361)은 저항 Z0(2421), 비트 Z1(2362)는 저항Z1(2422), 비트 Z2(2363)는 저항 Z2(2423), 및 비트 Z3 (2364)는 저항 Z3 (2424)를 선택한다. 저항 Z3은 직렬 종단부를 제거하도록 설계된 단락 회로이다. Z3이 설정되면, 다른 비트들은 무시된다. 비트 Z0 내지 Z3 중 적어도 하나가 선택된다.
IO 회로(2402)의 다른 요소는 출력 드라이버(2410) 및 입력 수신기(2450)이다. 입력 회로(2404)는 입력 수신기(2450a) 및 온 다이 종단부 저항을 포함하나, 출력 드라이버(2410) 또는 출력 임피던스 회로망(2420)은 포함하지 않는다.
DRAM은 포인트 간 시그널링 또는 멀티 드랍 시그널링 환경에서 사용될 수 있다. DRAM IO 회로(2402)가 도 24에 도시되어 있다. 또한, 동일한 도면에 입력 회로(2402)가 도시되어 있다. IO 회로는 프로그래밍 가능한 출력 임피던스 구조(2420)를 가지며, 프로그래밍 가능한 온 다이 병렬 종단부인 ODT(1230)를 가진다. ODT 회로는 수신 모드에서 신호가 IO회로로 흐를 때에만 인에이블된다. ODT 회로의 임피던스는 3 개의 종단부 저항(2431, 2432, 2433) 중 어느 것이 모드 레지스터를 통해 선택되는지에 의해 설정된다. 만약 아무것도 선택되지 않으면, ODT 기능이 활성화되지 않는다.
유사한 회로가 입력 회로(2404)로서 사용된다. 입력 회로는 출력 구조가 제거된 IO 회로와 유사하다. ODT 구조는 여전히 남아있으며, IO 회로와 동일한 방식으로 작동한다.
IO 회로는 데이터 버스 및 데이터 스트로브용으로 사용되고, 입력 회로(2404)는 CKE, 클락, 및 STB 신호용으로 사용된다.
도 25는 모드 레지스터 쓰기(2500)의 타이밍 다이어그램을 도시한다. 이 사이클은 병렬 요청 패킷(2510)에 의해 개시된다. 이 사이클은 8클락 사이클 후에 폐기된다. 또다른 병렬 요청 패킷(2520)은 MRS 지연(2530) 이후에 전송될 수 있다.
유틸리티 레지스터
도 26은 유틸리티 레지스터 작업(2710)에 대한 병렬 요청 패킷을 도시한다. 그것은 제1 버스 샘플(1621)에서 캡쳐된 OP코드(2610) 필드 및 판독/쓰기(R/W#) 비트(2620)를 포함한다. 만약 작업이 쓰기라면, 유틸리티 레지스터에 저장되는 데이터는 버스 샘플 3(1623) 및 버스 샘플 4(1624) 동안 공급된다. 만약 작업이 유틸리티 레지스터 판독 작업이면, 유틸리티 레지스터로부터 돌아온 데이터는 도 27에 도시된 바와 같이 판독 지연(2732) 후에 데이터 버스(510)로부터 샘플링된다.
백투백 사이클
도 28은 상기 텍스트에서 방금 기술된 사이클에서 샘플링되는 시리얼 패킷(1512)의 비트들 중 일부를 도시한다. 시리얼 패킷(1512)은 총 16비트를 포함하고, Clk(522)의 상승 및 하강 에지 상에서 샘플링함으로써 8개의 연속적인 클락 사이클(520)을 사용하여 STB 신호 상에 연속으로 전달된다. 이 방법을 사용하여 수신된 비트는 s0 부터 s15까지 번호가 매겨지며, 도 28에 도시된 것처럼 s0은 수신된 첫번째 비트이고 s15는 마지막 비트가 된다. s0 및 s1 비트는 작업 코드("Operation code, OPcode")(2830)이고, 시리얼 패킷 기능을 정의한다.
활성 사이클의 끝 동안에 시리얼 패킷이 샘플링될 때, 만약 s0 및 s1 비트가 모드 "1"과 동일한 경우, 시리얼 패킷은 NOP 시리얼 패킷이라고 불린다. NOP 시리얼 패킷의 마지막 네 비트인 s12, s13, s14, s15는 소위 사이클 트리거 비트(2840)라고 불리며, 사이클 스타트(1570)가 요청되었는지를 확인하기 위해 샘플링된다. 패킷의 나머지 비트는 무시된다. 만약 사이클 트리거 비트가 사이클 스타트(1570)를 가르키면, 새로운 병렬 요청 패킷은 s15 비트가 이동된 후에 Clk(522)의 제1 상승 에지 상에서 샘플링되기 시작할 것이다. s14 및 s15 타임슬롯 동안, 데이터 스트로브(530)는 뒤따르는 병렬 요청 패킷에 선행하는 이 클락 사이클에서 쓰기 전제부(1520)를 공급한다.
만약 마지막 NOP 시리얼 패킷의 끝을 가르키는 사이클 스타트가 없고, 요구되는 병렬 요청 패킷 사이에 포스트 활성화 지연(2030) 또는 포스트 프리차지 지연(2230)과 같은 특정 지연 시간이 없다면, 사이클은 폐기되고 DRAM 디바이스는 아이들 상태(1120)로 돌아온다.
아이들 상태로부터 사이클 스타트
아이들 상태(1120)에서 DRAM은 일단 사이클 스타트가 요청되는지를 보기 위해 CLK(522)의 각 상승 에지 상에서 STB 핀을 샘플링한다. DRAM이 아이들 상태에 있는 동안 상승 Clk(522) 에지 상의 STB 신호에서 논리적 "0" 상태가 관찰되는 경우, 사이클 스타트(1570)가 나타나지고, STB 신호는 다음 1.5 클락 사이클(하강, 상승, 하강 에지) 동안 낮게 유지된다. 사이클 스타트(1570) 시작에 뒤따른 CLK(522)의 상승 에지 상에서, 쓰기 전제부는 데이터 스트로브(530)에 잇따라 다음 클락(522) 상승 에지 상의 병렬 요청 패킷의 첫번째 부분 상에 제공된다.
병렬 요청 패킷을 통한 자동 리프레쉬
병렬 요청 패킷(2910)은 도 29에 도시된 바와 같이 자동 리프레쉬를 개시할 수 있다. 병렬 요청 패킷 포맷은 도 21에 도시된 프리차지 뱅크 포맷과 동일하다. OP코드(1610)는 프리차지와 자동 리프레쉬 작업을 구별한다.
뱅크 선택 비트(1670)는 어느 뱅크가 리프레쉬되어야 하는지를 나타낸다. 예를 들어, 프리차지 작업의 경우 각 뱅크는 대응하는 뱅크 선택 비트를 가진다. 논리적 "1"로 설정된 뱅크 선택 비트는 자동으로 리프레쉬될 것이다. 단지 하나의 뱅크만이 한번에 리프레쉬된다. 선택된 뱅크는 번호가 가장 작은 뱅크부터 시작해서 순서대로 리프레쉬된다.
자동 리프레쉬 작업은 선택된 뱅크의 각 로우를 리프레쉬할 것이다. 결과적으로, DRAM은 어레이 설계에 의존하여 실제 숫자로 완전히 리프레쉬하는데 수천회의 사이클을 차지할 것이다. DRAM은 병렬 요청 패킷이 DRAM에 처음 제공된 후, 두 개의 데이터 스트로브(530) 모두 낮게 8클락 구동함으로써 리프레쉬할 때 바쁨(2910)을 가르킨다. 두 개의 데이터 스트로브(530)는 마지막 로우가 리프레쉬될 때까지 낮게 유지된다. 이 때, DRAM은 비 반전 데이터 스트로브(536)를 높게 구동하면서 보완 데이터 스트로브(538)를 낮게 놔둔다. 스트로브는 하나의 전체 클락 사이클 동안 이러한 상태로 유지된 다음, 높은 임피던스 상태로 배치되며, 이 때DRAM은 자동 리프레쉬 사이클을 폐기하고(1152), 사이클 스타트(1570)가 시리얼 프로토콜을 통해 STB 핀 상에 표시되지 않은 경우 아이들(1120) 상태로 돌아간다. 만약 사이클 스타트가 사이클 트리거(2840) 비트에 의해 가르켜지면, 다른 경우들로서 병렬 요청 패킷(1510)을 가지는 새로운 DQS 쓰기 전제부(1520)가 구비될 것이다.
시리얼 패킷
활성화 사이클(1130)의 시작 시, 시리얼 패킷(1512)을 수신하기 위해 STB(540) 신호가 샘플링되는 방식을 정의하는 시리얼 프로토콜이 개시된다. 시리얼 패킷(1512)은 활성화 사이클 동안 DRAM에 명령 및 어드레스 정보를 제공하는데 사용될 수 있다. 시리얼 프로토콜은 16비트 시리얼 패킷(1512)을 정의한다. STB 신호는 활성화 사이클(1130)의 시작에서 샘플링되고 완전한 16비트 시리얼 패킷(1512)을 수신하기 위해 8클락 사이클의 주기에 걸쳐 모든 클락(520) 에지마다 샘플링된다. 8 클락(520) 사이클 이후에, 시리얼 패킷(1512)은 완전히 이동되고 새로운 패킷이 동일한 방식으로 샘플링되기 시작한다. 이러한 프로세스는 사이클이 폐기(1152)되고, DRAM이 아이들 상태(1120)로 돌아갈 때까지 모든 8 클락 사이클마다 반복된다.
시리얼 패킷(312) 포맷은 도 30에 도시된다. 명확성을 위해 16비트 위치에는 s0부터 s15까지 범위의 지정자가 할당된다. s0은 시리얼 패킷(1512)에서 수신된 첫번째 비트이다. 비트 s0와 s1은 표(2832)에 따라 매핑된 4개의 OP코드(2830)를 정의한다.
도 31은 버스트 시리얼 패킷(3110)에 대한 비트 할당을 도시한다. 첫번째 두 비트는 도 19에 도시된 바와 같이 s0=0, s1=1이다. 비트 s2는 버스트가 버스트 판독 또는 버스트 쓰기인지를 나타내는데 사용된다. s2=1이면, 버스트 판독 사이클이고, s2=0이면 버스트 쓰기 사이클이다. 비트 s3 및 s4는 2진법의 인코딩을 사용하여 뱅크 어드레스에 할당되어서 BA0=s3, BA1=s4이다. 비트 s5, s6, s7, s8, s9, 및 s10는 CA0 내지 CA5에 할당된다. CA0는 s5에 대응되고, CA1는 s6에 대응되는 식이다. 버스트 시리얼 패킷의 나머지 모든 비트들은 논리적 "1"로 설정된다. 다시 말하지만, 특정 비트 할당은 본 발명을 실시하는데 중요하지 않으며, 다른 특정 포맷들이 채용될 수 있다.
버스트 시리얼 패킷은 활성 상태이고 데이터 버스(510)를 사용하여 데이터를 전송하는 동안 DRAM에 뱅크 및 칼럼 어드레스를 제공한다. 예를 들어, DRAM이 버스트 판독 작업을 수행하고 데이터 버스(510) 상에 데이터를 전송하는 동안, 새로운 뱅크 및 칼럼 어드레스는 버스트에서 다음 뱅크/칼럼 어드레스로 사용되기 위해 DRAM에 의해 수신될 수 있다. 이러한 방식으로, 임의의 긴 버스트 동안 끊김없이 매끄러운 데이터 버스 점유율이 유지될 수 있다. 버스트 시리얼 패킷(3110)은 DRAM의 임의의 열린 뱅크의 임의의 칼럼에 액세스 할 수 있으며, 각각의 버스트 시리얼 패킷은 단일 워드만큼 소규모 자료에 액세스 할 수 있다. 시리얼 버스트에서 이동된 각 워드는 활성화된 페이지의 상이한 뱅크 및 또는 칼럼 어드레스로부터 비롯될 수 있으며, 데이터 버스는 100% 점유된 채로 남는다.
도 32에는 버스트 시리얼 패킷(3110)을 포함하는 버스트 판독 사이클(3200)이 도시되어 있다. 병렬 요청 패킷(3210)은 위치 A(특정 뱅크 및 칼럼 어드레스)로부터 버스트 판독 사이클을 개시한다. 동시에, 병렬 요청 패킷은 DRAM에 제공되고 시리얼 패킷(3110)은 STB 신호 상의 DRAM에 제공된다. 도 32에서, 도시된 제1 시리얼 패킷은 버스트 판독 패킷이고 위치 B를 포인트한다. 위치 A로부터 병렬 요청 패킷에 의해 어드레스된 데이터의 제1 워드가 DRAM(3280)에 의해 이동된 후, 위치 B(3282)로부터 버스트 시리얼 패킷에 의해 어드레스된 데이터의 제1 워드가 바로 뒤따른다. 만약 후속 시리얼 패킷이 NOP(s0=1, s1=1)이면, 액세스된 다음 워드는 다음의 순차 어드레스, 예를 들면 위치 B+1로부터의 것일 것이다. 만약 시리얼 패킷을 통해 연속적으로 NOP가 계속 공급되면, 어드레스는 열린 로우의 마지막 칼럼 어드레스가 액세스될 때까지 어드레스는 계속 자동으로 엄격하게 오름차순으로 증가한다. 버스트는 인터럽트 되지 않고 계속될 것이지만, 어드레스는 액세스된 로우의 시작 칼럼 어드레스에서 시작될 것이다. 이는 버스트가 폐기될 때까지 유틸리티 버스트 (3312) 명령이 시리얼 패킷을 통해 수신되는 것을 통하여 계속될 것이다. 다시 말해, 일단 버스트 시리얼 패킷(3110)이 수신되면, 개시 병렬 요청 패킷의 원래 버스트 카운트는 무시되며; 버스트를 스탑하기 위해 유틸리티 버스트 스탑(3314) 시리얼 패킷만이 사용될 수 있다.
유틸리티 버스트 스탑을 통한 버스트 사이클 폐기
일단 버스트 시리얼 패킷(3110)이 DRAM에 발행되면, 병렬 요청 패킷의 버스트 길이 필드는 무시된다. 버스트 사이클은 STB 신호를 통해 시리얼 프로토콜을 사용하여 유틸리티 버스트 스탑(3314) 패킷을 발행함으로써 중단된다. 유틸리티 버스트 스탑 패킷의 포맷은 도 34에 도시된다. 일단 DRAM이 도 33 상에 도시된 유틸리티 버스트 스탑 명령(3314)을 수신하고, 만약 더 이상의 활성 사이클이 스케쥴링되지 않으면 프로세스 중에 있는 데이터 작업을 완료한 다음 아이들 상태로 진입한다.
도 33을 참조하면, 유틸리티 버스트 스탑(3314)은 버스트 사이클 종단의 프로세스를 시작한다. 스탑 명령(3314)의 바로 다음에, 3개의 NOP 명령이 STB 신호(3315, 3316, 3317) 상에 순차적으로 공급된 후 DRAM이 아이들 상태로 진입할 것이다. 그러나, 도 33에 도시된 경우, 사이클 스타트(1570) 명령은 마지막 NOP (3317) 내에서 발행된다. 결과적으로, 병렬 요청 패킷(3320)은 새로운 활성화 사이클(3321)의 시작을 가르키는 사이클 스타트 명령(1570)이 포함되는 이전 NOP 패킷(331)의 끝에서 수신된다. 참조 프레임으로서, 활성화 사이클(3311, 3321)은 병렬 요청 패킷이 수신될 때 시작한다.
활성화 사이클(3321)은 버스트 판독 사이클이다. 병렬 요청 패킷(3320)이 수신되는 동안, NOP(3315)는 STB 신호 상에서 수신된다. 결과적으로, 버스트 판독으로부터의 첫번째 두 워드는 위치 C에서 시작하는 병렬 요청 패킷(3320) 내에 포함된 뱅크 및 칼럼 어드레스에 의해 어드레싱되는 순차적인 워드일 것이다. 제2 시리얼 패킷 타임 슬롯 동안, 상이한 뱅크 및 칼럼 어드레스일 수 있는 위치 D를 어드레스하는 판독 시리얼 버스트(3341) 명령이 수신된다. 시리얼 버스트 명령(3341) 판독에 이어지는 것은 바로 연속적으로 이어지는 것으로 도시된 3개의 요구되는 NOP (3315, 3315) 중 2개를 가지는 유틸리티 버스트 스탑(3314) 명령이다.
병렬 요청 패킷(3320)은 위치 C로부터 버스트 판독을 요청하고, 데이터 패킷(3383)은 액세스 레이턴시(1590) 후에 DRAM에 의해 구동된다. 다음 워드(3384)는 위치 C+1로부터 액세스된다. 세번째 워드(3385)는 위치 D로부터 버스트 판독 시리얼 패킷(3341)에 의해 어드레스된다. 데이터 패킷 D로부터 워드가 이동된 후, 만약 마지막 NOP(33150)가 뒤따르는 사이클에 사이클 스타트 명령이 수신되지 않으면, DRAM은 아이들 상태(1120)로 돌아간다.
버스트 사이클 동안 판독/쓰기 모드 토글
어드레싱/제어을 위해 시리얼 패킷을 사용하는 버스트 판독 또는 버스트 쓰기 사이클 동안, 유틸리티 토글 패킷(3514)을 사용하여 모드를 판독으로부터 쓰기 또는 쓰기로부터 판독 모드로 스위치하는 것이 가능하다. 도 35에 도시된 바와 같이, 유틸리티 토글 패킷(3514)은 버스트 판독 사이클 동안 수신된다. 대기 행렬에 있는 임의의 데이터 사이클은 유틸리티 버스트 스탑이 작동하는 것과 유사한 방식으로 완료될 것이다. 만약 활성화 사이클이 버스트 판독 사이클이면, 유틸리티 토글(도 37) 명령은 단일 NOP 명령(3313)(도 36)이 바로 뒤따르는 것을 요구할 것이다. NOP(3313) 명령 다음에는 버스트 쓰기 명령(3516)이 오며, 이 경우에는 위치 C를 어드레싱한다.
일단 계류중인 데이터 패킷(3181&3182)이 출력되면, 데이터 버스(510)는 DRAM이 쓰기 모드에서 작동하도록 스위치되는 것처럼 고 임피던스 상태에 놓여진다. 버스가 고 임피던스 상태에 놓이는 동안 및 위치 C에 쓰일 데이터가 제공되기 전에, 버스트의 첫번째 및 마지막 워드(3592)에 대한 데이터 마스크가 DRAM에 제공된다. 마스크는 병렬 요청 패킷을 포함하는 버스트 쓰기의 경우와 같이 사용됨: 첫번째 데이터 마스크는, 두번째 데이터 마스크가 멀티-워드 버스트의 마지막 워드에 적용되는 동안 쓰인 첫번째 워드에 적용된다.
도 35에 도시된 경우에, 시리얼 쓰기는 두 워드 길이이므로, 만약 적절한 비트가 데이터 마스크(3592)에 설정되면 두 워드 모두 마스킹될 수 있다.
뱅크의 파이프라인 프리차지 및 활성화
판독 버스트 또는 쓰기 버스트 작업 동안, 뱅크는 유틸리티 뱅크 프리차지 명령(3913)(또한 파이프라인 프리차지라고도 함)을 사용하여 선택적으로 프리차지될 수 있다. 프리차지 간격(3952) 후에, 뱅크는 도 39에 도시된 바와 같이 시리얼 활성 패킷(4010)에 의해 활성화될 수 있다. 유틸리티 뱅크 프리차지 시리얼 패킷(3913)의 포맷은 도 38에 도시되고, 시리얼 활성화 패킷(4010)의 포맷은 도 40에 도시된다.
도 39는 병렬 요청 패킷(1510)에 의해 어드레스된 바와 같이 위치 A로부터 하나의 워드에 액세스하는 활성화 버스트 판독 사이클을 도시한다. 활성화 사이클의 시작 시, 시리얼 버스트 판독 패킷(3912)은 수신되어 위치 B로부터 데이터를 요청한다. 시리얼 버스트 판독 패킷(3912)의 바로 다음은 유틸리티 뱅크 프리차지 패킷(3913)인데, 이는 위치 B+1로부터 계속해서 연속적으로 버스트 판독과 동시에 위치 C를 포함하는 뱅크를 프리차지한다. 프리차지 간격(3952) 만큼 대기한 후, 시리얼 뱅크 활성화(3916) 명령이 수신되어 DRAM에 위치 C를 포함하는 뱅크/로우를 활성화하도록 명령한다. 이러한 활성화는 진행중인 버스트 이동을 동반한다. 활성화 간격(3954) 이후에, 위치 C(3912)로의 시리얼 버스트 판독 요청은 DRAM에 발행되고, 데이터 패킷(3988)은 액세스 레이턴시 이후에 DRAM으로부터 판독된다. 일단 이러한 일련의 버스트 판독 데이터가 활성화 사이클에서 데이터 버스(510) 상에 나타나기 시작하면, 데이터 버스(510)는 DRAM을 아이들 상태로 복귀시키는 유틸리티 버스트 스탑 명령이 발행될 때까지 끊김없이 작동한다.
동일한 활성화 사이클 내에서 파이프라인된 뱅크 프리차지 및 파이프라인된 활성화 모두를 판독으로부터 쓰기 또는 쓰기로부터 판독, 및 사용하도록 토글하는 것 또한 가능하다. 일단 시작된 활성화 주기의 길이는 제한이 없다. 예를 들어, 도 41은 시리얼 유틸리티 토글 RW(3514)가 수신되어 버스트 판독 사이클로 스위칭하는 버스트 쓰기 사이클의 타이밍 다이어그램이 도시되어 있다. 유틸리티 버스트 스탑(3314)은 판독 버스트에서 2개의 워드(3284 및 3286)를 이동한 후 버스트 동작을 정지시키는데 사용된다. 사이클 스타트(1570)는 병렬 요청 패킷(3210)이 뒤따르는 것을 가르키는 판독 버스트 사이클의 마지막 NOP(4120)에 포함된다.
시리얼 프로토콜을 통한 리프레쉬 작업
많은 비디오 프레임 버퍼 어플리케이션에서, 프레임 버퍼가 데이터를 디스플레이하기 위해 판독되는 동안 프레임 버퍼는 새로운 데이터로 연속적으로 업데이트 될 것이다. 이러한 어플리케이션에서, DRAM에 대한 데이터 리프레쉬는 선택적일 수 있다. 예를 들어, 디스플레이의 스캔 속도와 DRAM의 조직 때문에, DRAM에 대한 데이터 리프레쉬는 점진적인 이점만을 가질 수 있다.
만약 리프레쉬가 요구되는 경우, 시리얼 패킷은 또한 리프레쉬를 개시하는데 사용될 수 있다: 리프레쉬될 뱅크는 패킷에서 특정되고, DRAM은 리프레쉬 명령이 병렬 요청 패킷을 통해 발행될 때와 유사하게 기능한다.
포인트 투 포인트 환경에서의 시그널링 작업
도 42는 ASIC(42990) 컨트롤러 IC 및 DRAM(42995)을 상호 연결하는 단일 양방향 신호를 도시한다. 상호 연결 신호 와이어(42100)의 대향하는 단부 상에 거의 동일한 구조를 가짐으로써 직렬 종단부 신호 방식이 채용될 수 있다. 직렬 종단부 방식을 사용하는 것의 주요 이점은 병렬 종단부 회로와 연관된 DC 전력 소비를 피할 수 있다는 것이다.
직렬 종단부 방식에서 사용되는 IO회로를 구성하기 위해, 모든 IC, ASIC, 및 DRAM 상에 도 24에 도시된 온 다이 종단부(ODT) 회로(2430, 2430a)는 모드 레지스터 비트를 통해 디스에이블된다. 도 24에 도시된 프로그램 가능한 출력 임피던스(2420)는 외부 상호 연결 링크의 임피던스를 근사하도록 구성된다.
도 43은 작업의 직렬 종단부 동작 모드에 대한 등가 회로를 도시한다. 경우 1에서, ASIC은 상호 연결 링크의 임피던스에 근사하도록 선택된 출력 임피던스(42396)로 신호(42100)를 구동한다. DRAM이 ASIC으로 신호를 구동할 때, 유사한 배치는 모드 레지스터 비트에 의해 설정된 출력 임피던스(42496)와 함께 사용된다.
링크를 구동하는 DRAM을 가지는 경우 2 또한 도 43에 도시되어 있다. 두 경우 모두 종래의 직렬 종단부 스위칭/시그널링이 사용된다. 각 경우의 수신기는 병렬 종단을 가지지 않기 때문에, 종단에 의해 소비되는 DC 전력은 없다.
이들 2개의 경우 1 및 경우 2의 타이밍 파형은 도 44에 도시되어 있다. 한 방향 경로 지연(42211)은 낮음에서 높음, 높음에서 낮음으로 천이하는 과도 상태에 적용되는 것으로 도시되어 있다. 라인(42201 및 42301)의 각 단부 상의 직렬 종단부 임피던스를 통해 드라이버를 링크에 연결하는 노드뿐만 아니라 링크(42200 및 42301)의 양 단부 또한 도시된다. 과도 기간 동안, 링크(42200 또는 42300)의 드라이버-단부는 활성 드라이버 출력(42201 또는 42301)에서 관찰된 입사 전압 단계의 절반에서 한 방향 경로 지연(42211)의 2배와 동일한 드웰(dwell) 기간을 본다. 경우 1 또는 경우 2의 수신기는 포인트 간 회로 토폴로지의 경우 1 또는 경우 2에서 입사파 상에 전체 신호 천이를 수신한다.
도 45는 DRAM과 조합하여 사용되는 종래의 낮은 임피던스 드라이버를 가지는 구성을 도시한다. 이러한 예시에서, ASIC(45990)의 IO 구조는 직렬 종단부 저항을 포함하지 않으며, 어떠한 ODT 구조 또한 포함하지 않는다. DRAM(45995) 상의 IO 구조는 DRAM이 링크(45100)를 구동하고, DRAM이 ASIC이 링크를 구동할 때 방향 감지 ODT를 통해 병렬 종단부 수신기를 제공할 때, 직렬 종단부 드라이버를 제공하도록 구성될 것이다.
도 46은 온 다이 종단부를 가지지 않는 낮은 임피던스 드라이버가 DRAM에 연결될 때 사용되는, 2가지 경우에 대한 등가회로를 도시한다. 경우 1은 ASIC이 DRAM에 연결되는 링크(45100)를 구동하는 경우이다. DRAM 상의 방향 감지 ODT는 DRAM이 신호를 수신할 때 모드 레지스터의 선택 가능한 종단부 임피던스(45493)를 DRAM 내부의 링크에 동적으로 연결한다. 경우 2에서 DRAM이 링크를 구동할 때, 이 종단부 임피던스는 스위치 오프된다. DRAM은 모드 레지스터의 선택가능한 직렬 종단부 저항(45496)을 통해 링크를 구동한다. 이는 도 43의 경우 2의 직렬 종단과 등가이다. 도 46의 등가 회로의 스위칭 특성에 대한 타이밍 파형이 도 47에 도시되어 있다.
ASIC 구동과 함께 경우 1의 경우, DRAM 단부로부터의 링크 반사는 ODT(45493)에 의해 흡수된다. 링크를 구동하는 DRAM에 대한 경우 2의 경우, ASIC의 수신기(45700)로부터의 반사는 도 42, 도 43, 및 도 44에 도시된 모든 직렬 종단부의 경우에서와 같이 DRAM 상의 직렬 종단부(45496)에 의해 흡수된다.
멀티 드랍 환경에서의 시그널링 작업
멀티 드랍 환경에 있어서, 통상적으로 직렬 종단부만으로는 사용될 수 없기 때문에 병렬 종단부가 선호될 것이다. DRAM 상의 ODT 회로는 쓰기 사이클 및 병렬 패킷 수신에 사용될 것이다. 컨트롤러는 또한 컨트롤러 보드 상에 ODT 회로를 사용할 것이다. 이러한 방법으로 소스에 관계없이 항상 버스 신호에 적절한 종단부가 적용된다. 종단부는 모드 레지스터를 통해 인에이블되며, 출력 임피던스와 병렬 종단부 임피던스의 값을 설정하는데 사용된다.
디바이스 플로어플랜
DRAM 플로어플랜(48000)은 도 48에 도시된 바와 같이 다이의 싱글 에지에 인접하게 배치된 본딩 패드(48100)를 갖는다. DRAM의 한 버젼에서, 다이는 대략 2:1.25의 종횡비를 가지는 직사각형이지만, 다른 모양 및 크기 또한 가능하다는 것을 이해해야한다. 본딩 패드는 다이의 짧은 쪽 에지에 인접하게 배치되어, 적층된 다이 조립체 구성에 이점을 제공한다.
DRAM은 총 22개의 스위칭 신호를 가지며, 적절한 수의 전력 및 접지 신호를 고려하기 때문에, 본딩 패드는 각각 20개의 본딩 패드를 포함하는 2개의 수직 칼럼으로 배열된다. 패드 거리(48200)는 패드 피치에 의해 설정된다. 더 작은 패드 피치 값은 요구되는 전체 패드 거리가 더 작아지는 결과가 된다. 이러한 패드 거리는 DRAM의 한 버젼에서의 Y 치수보다 상당히 작을 수 있다.
적층된 다이 패키징 조립체
도 49는 기판(49600)에 기계적으로 부착된 ASIC 다이(49200)를 포함하는 적층된 다이 조립체(49000)를 도시한다. ASIC(49600) 상의 본딩 패드는 ASIC의 두 에지를 따라 배치된다. 이러한 본딩 패드는 본드 와이어를 통해 ASIC의 외부 인터페이스 본딩 패드(49600)를 기판(49300)에 연결하는데 사용된다.
DRAM 다이는 적층된 다이 조립체(49000)를 형성하는 ASIC 다이의 노출된 면에 기계적으로 부착된다. DRAM 본딩 패드(48100)는 본드 와이어(49440 및 49420)를 통해 ASIC 메모리 인터페이스 본딩 패드(49500)에 연결된다.
적층된 다이 와이어 본딩된 조립체(49000)를 제조하기 위해서는 와이어 본딩 공정이 요구된다. DRAM 다이가 맨 위에 적층된 ASIC 다이에 와이어 본드를 만들기 위해 와이어 본드를 수신하는 ASIC 다이의 모든 영역에는 소위 본딩 선반 폭(498000)의 본딩 선반이라고 불리는 ASIC 다이의 노출된 영역이 요구된다.
본딩 선반에 대한 이러한 요구 사항은 구조(49000)에 대한 기계적 조립체 요구 사항에 의해 설정된 가장 최소의 가능한 ASIC 다이를 설립한다.
도 50은 이러한 기계적 고려 사항에 의해 설정된 최소 크기의 ASIC 다이를 계산하기 위해 사용된 방정식을 도시한다. X치수(50001)은 DRAM X 치수와 본딩 선반 치수의 합에서 허용되는 다이 오버행(50900)을 뺀 값이다. Y 치수(50002)는 DRAM Y 치수에 2개의 본딩 선반 폭을 더한 것과 같다. 본딩 선반의 전형적인 값은 대략 반 밀리미터이고, 1.5mm 정도가 최대 다이 오버행에 대한 전형적인 값일 수 있다.
이러한 전형적인 값을 사용하여 ASIC의 최소 다이 크기는 X = DRAM X 치수 -1mm, Y = DRAM Y 치수 + 1mm이다.
도 51은 ASIC(51200) 및 DRAM(51100)의 적층된 다이 조립체에 대한 대안적인 구성을 도시한다. ASIC(512000)은 기판(51300)에 기계적으로 부착된다. ASIC의 외부 인터페이스 본딩 패드(51600)는 다이의 싱글 에지에 인접하게 배치되고, 2개의 평행한 로우에 배치된다. 더블 로우 와이어본딩은 ASIC(512000) 상에서 이러한 패드를 기판 본딩 패드(51700)에 연결하는데 사용된다. DRAM(51100)은 ASIC 다이의 노출된 면에 기계적으로 부착되어 있으며, X 및 Y 방향 모두로 오버행한다.
도 52는 이 구조(51000)에 대한 기계적 조립체 요구 사항에 의해 설정된 최소 크기의 ASIC 다이를 계산하기 위해 사용된 방정식을 도시한다. X 치수(52111)는 DRAM의 치수에 싱글 로우 본딩 선반 폭 치수를 더한 것에서 DRAM(52900)의 긴 치수에서의 다이 오버행을 뺀 것과 같다.
Y 치수(52112)는 DRAM Y 치수(52982)에 2개 로우 본딩 선반 폭(52800)을 더하고 Y 오버행(52994)을 뺀 것과 동일하다. Y 오버행은 칼럼 당 DRAM 본딩 패드의 수와 패드 거리(52980)를 수립하는 패드 피치에 의해 부분적으로 결정된다. Y 오버행= (DRAM Y 치수 - 패드 거리)/2 + 마진 거리. 마진은 예시에서처럼 본딩 패드를 다이 에지에 얼마나 가깝게 위치시킬 수 있는지를 포함할 수 있다. 2개의 로우 본딩 선반 폭은 0.7mm의 값일 수 있고, DRAM 상의 본딩 패드 피치는 60마이크론일 수 있다. DRAM 상의 패드 거리는 약 1.14mm가 될 수 있다.
이러한 구성(51000)을 사용하여, 조립체 기계적 고려 사항에 의해 설정된 최소 크기의 ASIC 다이는 도 49의 적층된 다이 조립체(49000)보다 작을 수 있다.
이산 DRAM 패키징
도 53은 LPC DRAM 다이(53400)의 아웃라인 및 적어도 40개의 볼(22개 스위칭 신호와 18개의 전력 및 접지 볼)을 통합하기 위한 볼맵 풋프린트(ballmap footprint) 가능성을 나타내는 3개의 상이한 아웃라인을 도시한다. LPC DRAM 상에 배치된 본딩 패드의 수가 적기 때문에, 웨이퍼 레벨 칩 스케일 패키지("FI WLCSP" 또는 "WLCSP")의 팬인(fan-in) 유형은 약 2.5mm x 4.0mm의 LPC DRAM 물리적 다이 사이즈를 가지는 디바이스 신호에 대해 400마이크론 이상의 볼 피치를 사용할 수 있다. 표 38500는 총 40, 40, 및 42개의 볼 각각(53100, 53200, 53300)에 대해 10, 8, 및 7 로우의 Y(로우) 폭을 도시한 표 53600과 함께 사용되어 볼의 4, 5, 및 6 칼럼의 X(칼럼 폭)을 도시한다. 모든 경우에, 최소 40개의 볼은 LPC DRAM 아키택쳐에 의해 요구되는 실제 낮은 신호 카운트로부터 발생한 2.5 x 4.0mm LPC 다이의 주위에 배치될 수 있다. 기존의 DDR3 유형 x16 조직된 DRAM과 비교하여, 총 40개의 볼 대 96개의 볼이 있다. 만약 96개의 볼을 같은 2.5 x 4.0 크기의 DDR3 유형 다이의 면 상에 배치하면, 96개의 볼은 0.45 x 0.25mm 피치 상에 배치될 것이며 이는 현재의 저비용 PCB 기술에 대해 매우 위협적일 것이다. LPC DRAM의 낮은 신호 카운트 때문에, 저비용 PCB 제조와의 호환성을 위해 2.5 x 4.0mm 다이의 면에 0.5 x 0.5mm보다 큰 피치를 사용하여 총 40개의 볼이 배치될 수 있다.
도 54는 웨어러블 비디오 시스템과 같은 시스템에 사용되는 FPGA 및 LPC DRAM의 시스템 레벨 개략도를 도시한다. 총 22개의 신호가 LPC DRAM을 컨트롤러에 상호 연결하는데 사용된다. 이 경우, 사용자 ASIC이 사용될 수도 있지만, 컨트롤러에는 FPGA가 사용된다. 제한된 수의 메모리 인터페이스 신호는 컨트롤러 상에서 요구되는 총 신호의 수를 줄여서 물리적 크기와 비용을 줄인다.
도 55는 시스템의 물리적 패키징 요구 사항을 충족시기키 위해 소형 전자 서브 시스템(55100)을 요구하는 웨어러블 비디오 시스템(55400)을 도시한다. 인쇄된 회로 보드(55150)는 소형 전자 조립체(55100)를 생성하는 LPC DRAM(55300)과 FPGA(55200)을 포함한다. 이러한 소형화된 전자 조립체는 물리적 크기가 작기 때문에, 안경 구성 기기와 같은 웨어러블 비디오 시스템(55400)에 통합될 수 있다. 기존의 PCB 및 솔더링 공정은 FPGA 및 LPC DRAM 패키지를 PCB에 상호 연결하는데 사용되는 > 400마이크론 기계적 공간을 가진 솔더 볼로 인해 소형 전자 조립체(55100)를 제조하는데 사용될 수 있기 때문에, 계속해서 소형 전자 조립체를 생성하면서도 개선된 조립 기술을 사용하는 것에 비해서는 최소의 조립 비용이 발생된다.
도 56은 LPC DRAM을 사용하는 페이스-업 와이어 본딩된 메모리(5620) 및 플립칩 컨트롤러 ASIC(5610)을 사용하는 멀티칩 적층된 다이 배열(5600)을 도시한다. LPC DRAM에 의해 사용되는 신호의 개수가 적어서, 기판에서 고속 메모리 신호의 라우팅을 할 때 이점을 제공한다. 메모리 다이의 한쪽 에지를 따라 보내지는 신호의 수가 적기 때문에, 신호는 ASIC 다이 상에서 아주 근접하게 유지될 수 있다. 작은 개수의 길이 매치된 신호를 사용하면 기판 라우팅은 간단하다. LPC 메모리 인터페이스에 의해 사용되는 신호의 개수는 종래의 메모리의 수보다 적어서, 상기 인터페이스에 대한 ASIC 다이 면적의 양은 더 작아질 수 있으며 더 작은 ASIC 다이를 초래할 수 있다.
도 57은 LPC DRAM(5720)을 사용하여 만들어진 4개의 채널 POP MCP(5700)을 도시한다. 4개의 LPC DRAM의 다이(5720)는 공통 기판 상에 배치되고, 페이스 업 구성으로 와이어 본딩된다. LPC DRAM의 작은 신호 카운트는 4개의 다이와 ASIC 사이에서 이동되는 88개의 스위칭 신호만 요구한다. 4개의 LPC DRAM 다이에 대해 POP 패키징 방법(5705)을 사용함으로써 12 기가바이트/초 이상을 전달하는 동안 작은 메모리/ASIC PCB 풋프린트가 가능하다. 고속 메모리 신호의 수가 적고, 메모리 다이의 에지에 배치되기 때문에, 메모리에 컨트롤러를 연결하기 위한 전기 경로의 길이는 짧게 만들어질 수 있고, 두 기판(5780, 5785)에서 신호 라우팅 레이어를 거의 요구하지 않는 동안 쉽게 매치될 수 있다. 적은 수의 스위칭 신호는 ASIC(5705)이 포함된 더 낮은 패키지에서 수직 상호 연결 기술을 위해 완화된 신호 피치를 허용할 수 있다. 완화된 피치 POP 기술을 사용하면, 저렴한 비용으로 POP 패키징 기술의 사용을 허용함으로써 비용을 절감한다.
도 58은 4개 채널 POP 패키지로 배열된 4개의 LPC DRAM 다이의 또 다른 배열을 도시한다. 이 구성은 대향하는 와이어 본드(5720)를 가지는 두 개의 계단식 적층된 DRAM 적층을 포함한다. 이러한 구성은 도 57에 도시된 평면 4개의 다이 배열보다 POP에 대해 더 작은 총 풋프린트 사이즈를 허용할 수 있다.
도 59는 사각 풋프린트가 되도록 설계되고, 메모리 POP 패키지의 각 면에 메모리 채널이 할당되도록 설계된 또다른 4개의 다이 평면 배열(5900)을 도시한다.
POP 사용을 위한 3개의 멀티 다이/멀티 채널 메모리 패키지가 도시되었지만, 이들은 본 발명의 어플리케이션을 어느 식으로든 제한하지 않는다. 이들은 패키지 상호 연결 방식을 위한 기계적 레이아웃과 관련하여 낮은 핀 카운트 아키텍쳐에 의해 제공되는 이점을 설명하기 위한 예시이다.
X8 버젼: 추가적인 핀 카운트 감소
LPC DRAM은 8비트 폭 데이터 버스를 사용하여 구축될 수 있다. 도 60은 X8 LPC DRAM(6000)의 스위칭 신호를 도시한다. 데이터 버스(510)는 8비트 폭이다. 다른 신호들은 이 문서에서 설명하는 X16 버젼과 동일한 방식으로 작동한다.
코어 작업은 도 61에 도시되어 있다. X16 버젼과 마찬가지로 외부 대역폭은 내부 대역폭과 매치한다. 유사한 회로 클락 제한이 적용되어 동일한 8:1 클락 비율이 유지된다. 결과는 8비트 폭의 외부 데이터 버스(510)를 가지는 128비트 폭의 코어 데이터 경로 폭(61730)이다.
도 62는 주요 내부 파이프라인 신호를 도시한다. 외부 데이터 버스(510)는 클락 사이클 당 총 16비트가 전송되도록 클락 당 2회 샘플링된다. 일단 요청 패킷은 X16 디바이스에서처럼 디코딩 및 파이프라인 작업을 수신한다. 가장 큰 차이점은 병렬 요청 패킷을 이동하는데 X16 디바이스보다 2배의 클락을 더 차지한다는 점이다.
도 63은 X8 LPC DRAM의 내부 레지스터(63100)를 도시한다. 유틸리티 레지스터(63110)는 총 16비트를 포함한다.
도 64는 X8 LPC DRAM을 사용하는 버스트 판독 사이클(6400)을 도시한다. 처음 두 클락 사이클은 8비트 폭 데이터 버스(510)를 통해 32비트 병렬 요청 패킷(6410)을 전송하는데 요구된다.
도 65는 X8 LPC DRAM에 대한 병렬 요청 패킷 비트 매핑을 도시한다. LPC DRAM의 X16 버젼에 의해 사용되는 동일한 정보는 X8 병렬 요청 패킷(6510) 내에 포함되어 있지만, 이는 8비트 폭 버스를 통해 2 클락 사이클에서 이동된다. 결과적으로 비트 매핑은 다르게 할당된다. 제1 버스 샘플(6521)에서 OP코드(6510)를 전송하는 것이 유리하다. 이러한 다이어그램은 비트 매핑의 예시를 나타내며 본 발명의 전반적인 실행에서는 중요하지 않다. 다른 비트 할당은 LPC DRAM의 제어 및 어드레싱에 의해 사용되는 정보를 제공할 수 있다.
도 66은 X8 LPC DRAM에 대한 버스트 쓰기 사이클(6600)을 도시한다. 병렬 요청 패킷(6610)은 2개의 클락 사이클에서 8비트 폭 데이터 버스(6610)를 통해 전송되고, 마스크는 또다른 2개의 클락 사이클을 요구한다.
도 67은 ASIC 또는 FPGA(67100)을 사용하는 X8 LPC DRAM(6000)의 시스템 사용을 도시한다. 총 14개의 스위칭 신호가 두 디바이스를 상호 연결하는데 사용된다. F= 300MHz 이하와 같이 클락 주파수를 줄이려면, 단일 중단 클락 및 데이터 스트로브 신호 방식을 사용하는 것이 알맞다. 이는 저속 X8 유형 디바이스에 대해 총 신호 카운트를 12개까지 줄인다.
멀티 드랍 구성
도 68은 LPC 메모리 버스 사양과 호환가능한 메모리 다이를 사용하는 듀얼 다이 MCP(6800)를 도시한다. 다이는 동일하거나 다른 유형의 메모리일 수 있다. 이 경우에, 2개의 메모리 다이(6810 및 6820)는 이들을 기판 아래에 연결하는데 사용되는 와이어본딩으로 계단식으로 적층된다. 조립체는 오버 몰드된다.
도 69는 도 68 및 도 70에 도시된 바와 같이 배치된 LPC 메모리 버스에서 사용되는 단일 양방향 신호의 개략도를 도시한다. 호스트(6910)는 공통 버스(6920) 상의 동일한 패키지에 배치된 2개의 다이(6810 및 6820)를 갖는 메모리(6800)로부터 별도로 패키징된다. 공통 버스 상에서 멀티 메모리 다이가 사용될 때 두 메모리 다이를 동일한 패키지에 배치할 필요는 없다. 각 메모리 다이는 개별적으로 패키지화 될 수 있거나 3개의 다이 모두를 공통 패키지에 두는 것이 가능하다. 드라이버의 출력 임피던스 및 프로그래밍 가능한 ODT는 설계자가 신호 무결성과 타협하지 않고도 그들의 어플리케이션에 최고의 패키징 방식을 사용할 수 있게 하는 유연성을 제공한다.
도 70은 각각 LPC 메모리 버스를 사용하고, 공통 PCB(7010) 상에 상호 연결된, MCP 메모리(6800) 및 호스트(6910)를 도시한다.
버스 폭 및 용량 스케일링
도 71은 LPC DRAM 및 버스의 더 넓은 버스 구현에 대한 타이밍 다이어그램을 도시한다. 기본 LPC DRAM 버스트 판독 사이클(71000)은 X16 LPC DRAM처럼 작동한다. X32 버젼(71020)의 경우 16비트 확장(71510)이 데이터 버스에 더해진다. 차동 양방향 데이터 스트로브는 데이터 버스(530, 71530, 71531, 71532)의 각 8비트 필드에 걸쳐 사용된다. X48 버젼(71030)에 대해, 추가의 16비트 필드(71610)는 2개의 차동 양방향 바이트폭 데이터 스트로브(71631 및 71632)와 함께 데이터 버스에 추가된다. X64 버젼(71040)은 2개 더 많은 차동 양방향 바이트폭 데이터 스트로브(71731 및 71732)와 함께 추가된 또다른 16비트 폭 필드(71710)를 갖는다.
주어진 클락 주파수에 대해, LPC DRAM, 71020, 71030, 및 71040의 더 넓은 버젼은 X16 LPC DRAM 데이터 버스와 비교할 때 LPC DRAM의 데이터 버스의 폭에 비례하여 추가적인 대역폭을 제공한다. X64 LPC DRAM의 경우, 대역폭은 따라서 X16 버젼보다 4배 더 크다. 상이한 버스 폭을 수용하기 위해 이러한 방식으로 대역폭은 스케일링될 수 있다. 데이터 스트로브는 16비트 데이터 버스 필드, 8비트 데이터 버스 필드, 9비트 데이터 버스 필드, 또는 임의의 다른 값과 함께 사용될 수 있으며 본 발명의 사상으로부터 벗어나지 않는다.
x64 버젼의 경우, LPC DRAM은 84개의 스위칭 신호를 가지며, 그 중 80개는 데이터 버스 신호 또는 데이터 스트로브 신호이다.
도 72는 ASIC(72100)이 X64 LPC DRAM(71040)에 연결된 시스템 상호 연결 다이어그램을 도시한다. 여기에는 두 개의 IC를 상호 연결하는데 사용되는 총 84개의 스위칭 신호가 있다.
도 73은 ASIC(73100)이 X48 LPC DRAM(71030)에 연결된 시스템 상호 연결 다이어그램을 도시한다. 여기에는 두 개의 IC를 상호 연결하는데 사용되는 총 64개의 스위칭 신호가 있다.
도 74는 ASIC(74100)이 X32 LPC DRAM(71020)에 연결된 시스템 상호 연결 다이어그램을 도시한다. 여기에는 두 개의 IC를 상호 연결하는데 사용되는 총 44개의 스위칭 신호가 있다.
LPC DRAM(71020, 71030, 71040)의 보다 넓은 버스 버젼은 버스 폭 비율에 비례하여 X16 버젼보다 더 높은 비트 용량을 갖는다. X64 LPC DRAM의 경우, X16 LPC DRAM에 비해 메모리 용량은 4배 증가된다.
프리패치 크기 또한 버스 폭 비율에 비례하여 증가된다. 따라서, X64 LPC DRAM은 X16 LPC DRAM 보다 4배 더 큰 프리패치 크기를 갖는다. 이러한 방식으로 대역폭이 버스 폭을 추가함으로써 스케일되기 때문에, 용량 또한 스케일된다. 따라서 LPC DRAM의 아키텍쳐는 실질적으로 일정한 대역폭/ 용량 비율을 유지한다. 비디오 디스플레이 스케일링의 경우, 픽셀 카운트의 4배 증가는 프레임 버퍼 저장 비트 및 프레임 버퍼 대역폭의 개수를 4배 증가시키는 것과 결합될 수 있다. 따라서, LPC DRAM 아키택쳐는 상이한 디스플레이 해상도와 메모리 대역폭의 범위를 지지할 수 있는 ASIC 비디오 컨트롤러의 제품군을 지지할 수 있다.
도 75는 유틸리티 레지스터를 사용하여 출력 임피던스 및 선택적인 ODT 종단부 임피던스를 설정하는데 사용될 수 있는 알고리즘에 대한 흐름도를 도시한다. 메모리 디바이스는 초기에 낮은 주파수 클락, 예를 들어 1MHz(7510)로 동작한다. 출력 임피던스 R 시리즈(45496)는 초기에 기본으로 낮은 임피던스로 설정되고 선택인 R term(45943)은 기본으로 중간 임피던스(7520)로 설정된다. 이어서, 유틸리티 레지스터는 선택된 데이터 패던(7530)으로 기록된 다음, 다시 판독(7540)되고 쓰인 값(7550)과 비교된다. 만약 패턴이 7560과 매치되지 않으면, 알고리즘은 상기 출력 임피던스(7520) 및 또는 상기 종단부 임피던스를 조정하는데 사용된다. 상기 유틸리티 레지스터는 새로운 데이터 패턴(7530)으로 쓰인 다음에 다시 판독(7540)되고, 쓰여진 7550와 데이터를 비교한다. 만약 패턴이 내치하면, 클락 주파수가 조정되며, 이 예시에서는 7570을 두배로 한 다음 상위 클락 주파수 한계 7580와 비교하며 원하는 동작 주파수가 7590에 도달할 때까지 사이클을 반복한다.
시스템 물리적 패키징
도 76은 본드 와이어(76040 및 76095)를 사용하여 버스 신호와 함께 상호 연결된 LPC DRAM(76010) 및 컨트롤러(76020)의 2개의 적층된 다이 배열을 도시한다. 도 76a에서, 2개의 다이 적층은 적층된 다이 패키지 조립체(76060)를 형성하는 기판(76030) 상에 배치된다. 도 76b에서, 적층된 다이 패키지 조립체(76080)를 형성하는 리드 프레임(76070) 상에 배치된 2개의 다이 적층이 도시되어있다. 두 경우 모두 오버몰딩 캡술화는 단순화를 위해 도시되지 않았다.
도 77은 LPC DRAM(76010)과 컨트롤러(77020)의 적층된 다이 배치를 도시한다. 컨트롤러(77020)는 플립칩 기술을 사용하여 플립칩 기판(77030)에 결합된다. 본드 와이어(77050)는 LPC DRAM의 버스 단자를 컨트롤러(77020)의 버스 인터페이스 단자에 결합된 플립칩 범프(77070)에 결합하는 플립칩 기판(77030) 상에 배치된 컨덕터(77060)에 연결한다.
도 78은 LPC DRAM(78020) 및 각각 별개의 패키지에 배치된 컨트롤러(78010)를 도시하는데, 둘 모두는 공통 기판(78060) 상에 배치된다. LPC DRAM(78020)을 위한 버스 단자들(78040)은 컨트롤러 버스 단자(78050)에 결합되도록 기판(78060) 상에 배치된 컨덕터들(78030)에 결합된다. 그러한 하나의 버스 컨덕터 경로가 간략화를 위해 도시된다. 나머지 버스 컨덕터는 이와 동일한 방법으로 칩과 칩을 연결한다.
도 79는 패키지된 LPC DRAM(79010) 및 컨트롤러(79080)의 패키지 온 패키지 조합을 도시한다. 도 79a 및 도 79b 모두에서, LPC DRAM 다이(79020)는 컨트롤러 패키지(79080) 상에 배치된 컨덕터(79060)에 결합된 외부 단자(79050)를 가지는 패키지(79010)에 배치되어 LPC DRAM의 버스 인터페이스 단자는 컨트롤러의 대응하는 버스 인터페이스 단자에 결합된다. 도 79a는 컨트롤러 패키지(79080)의 상부 표면 상에 배치된 메모리 패키지를 도시한다. 도 79b는 컨트롤러 패키지(79080)의 하부에 배치된 LPC 메모리 패키지(79010)를 도시한다.
도 80은 공통 기판(80040) 상에 배치된 LPC DRAM 다이(80010) 및 컨트롤러 다이(80030)를 도시한다. 각 다이 상의 버스 단자들은 본드 와이어들(80020)로 단위로 단자와 단자에 서로 연결되어서 LPC DRAM의 각각의 버스 인터페이스 단자는 컨트롤러 상의 대응되는 단자에 연결된다.
도 81은 공통 기판(81040) 상에 배치된 LPC DRAM(81010) 및 컨트롤러(81070)을 도시한다. LPC DRAM의 버스 단자는 LPC DRAM에 결합된 본드 와이어(81030 및 81050) 및 컨트롤러를 각각 사용하여 컨트롤러의 대응하는 단자에 결합되고, 기판(81040) 상에 배치된 컨덕터(81060)에 결합되어서 LPC DRAM의 각각의 버스 인터페이스 단자는 상기 컨트롤러 상에 대응하는 단자에 결합된다.
도 82는 모두 공통 필립 칩 기판(81010) 상에 배치된 LPC DRAM(81020) 및 컨트롤러(81040)를 도시한다. LPC DRAM의 버스 단자(81060)는 플립칩 기술을 사용하여 기판 상에 배치된 컨덕터(81060)에 결합된다. 마찬가지로, 컨트롤러(81040)의 버스 단자(81050)는 기판 상에 배치된 컨덕터(81060)에 결합되어 LPC DRAM 상의 각 버스 인터페이스 단자는 컨트롤러 상의 대응하는 단자에 결합된다.
도 83은 관통 실리콘 비아("TSV", Through-Silicon-Via) 기술을 사용하여 형성된 컨덕터로 LPC DRAM의 버스 인터페이스 단자를 컨트롤러의 버스 인터페이스 단자에 결합하기 위한 3개의 상이한 구성을 도시한다. 도 83a 내지 83c의 차이점은 DRAM과 컨트롤러의 활성 표면이 향하는 방향으로 구성된다. 도 83a에서, 컨트롤러(83010)의 활성 표면(83030)은 LPC DRAM(83020)의 활성 표면(83040)의 반대 방향을 향한다. TSV(83050)는 양 IC를 통해 에칭된 채널 내에 형성되고, 전도성 금속 재료(83060)로 채워져서 양 IC에 전기적 연결이 이루어진다. 도 83b에서, 컨트롤러(83010)의 활성 표면(83030) 및 컨트롤러(83020)의 활성 표면(83040)은 동일한 방향을 향하고 있다. 결과적으로, TSV(83050)는 컨트롤러 IC 만을 통과해야한다. 도 83c에서, LPC DRAM(83020)의 활성 표면(83040)은 컨트롤러(83010)의 활성 표 면(83030)과 동일한 방향을 향하고 있지만, DRAM만을 관통하는 TSV(83050)를 갖는다.
도 84는 DRAM(84030)의 활성 표면(84040)이 컨트롤러(84020)의 활성 표면(84010)을 향하도록 컨트롤러 IC(84020) 상에 배치된 LPC DRAM(84030)을 도시한다. LPC DRAM의 각 버스 인터페이스 단자는 금속 범프(84050)를 사용하여 컨트롤러의 대응하는 버스 인터페이스 단자에 결합된다.
전술한 예시적인 실시예는 고대역폭을 구성하는데 유용한 구성 요소를 제공하지만 컨트롤러 서브 시스템에 대한 낮은 핀카운트 메모리를 제공한다는 점에서 유리하다. 이러한 낮은 핀카운트는 감소된 실리콘 면적, 비용 절감, 전력 감소, 및 물리적 크기 감소 등 많은 이점을 제공하고, 광범위한 시스템 배치 구성을 위한 다양한 패키징 옵션을 제공한다.
전술한 특징의 이들 및 다른 변형 및 조합은 청구 범위에 의해 정의된 바와 같은 개시로부터 벗어나지 않고 이용될 수 있으므로, 실시예에 대한 상기 설명은 청구범위에 의해 정의된 본 발명을 제한하기 위한 것이라기보다는 설명을 위한 것으로 여겨져야만 한다. 또한, 개시의 예시("~와 같은", "예", "포함하는" 등으로 표시되는 절)의 제공은 특정 예시에 대한 개시를 제한하는 것으로 해석되어서는 안되고, 오히려 이러한 예시들은 많은 가능한 실시예들 중 단지 일부를 설명하기 위한 것이다.

Claims (23)

  1. 적어도 하나의 메모리 스토리지 집적 회로(Integrated circuit, IC)를 컨트롤러 IC에 상호 연결하도록 구성된 버스로서,
    상기 메모리 IC 상의 단자들의 컬렉션 및 상기 컨트롤러 IC 상의 대응하는 단자들에 전기적으로 결합하도록 구성된 복수의 전기적 버스 컨덕터를 포함하고,
    상기 버스 컨덕터는 상기 버스 컨덕터를 통해 전송되는 신호의 유형에 기초하여 데이터 버스 그룹, 데이터 스트로브 그룹, 클락 그룹, 칩 선택 그룹, 또는 제어 그룹 중 하나 이상의 그룹으로 분류되며,
    상기 데이터 버스 그룹의 하나 이상의 버스 컨덕터는, 명령 이동 시간 동안 병렬 명령을 상기 컨트롤러 IC로부터 상기 메모리 IC까지 전달하도록 구성되고, 데이터 이동 시간 동안 버스트 모드(burst mode)를 사용하여 상기 메모리 IC와 컨트롤러 IC 간에 데이터를 전달하도록 구성되며,
    상기 제어 그룹의 하나 이상의 버스 컨덕터는, 상기 메모리 IC에 어드레스 및 데이터 전달 제어 정보를 제공함으로써 시리얼(serial) 명령이 상기 메모리 IC의 작업을 지시할 수 있도록 데이터 이동 시간 동안 상기 시리얼 명령을 상기 컨트롤러 IC로부터 상기 메모리 IC까지 전달하도록 구성된 단일의 컨덕터를 포함하는, 버스.
  2. 제1항에 있어서,
    상기 시리얼 명령은 널(null) 작업 기능, 버스트 모드 기능, 활성화 기능, 또는 유틸리티 기능 중 하나인 상기 시리얼 명령의 기능을 특정하는 작업 코드를 포함하고,
    상기 유틸리티 기능은 진행 중인 버스트 모드 메모리 작업을 종료하도록 상기 메모리 IC에 명령하는 수단을 포함하고, 상기 메모리 IC에 포함된 뱅크를 프리차지 하도록 상기 메모리 IC에 명령하는 수단을 포함하는, 버스.
  3. 제2항에 있어서,
    상기 버스는 상기 컨트롤러 IC로부터 상기 메모리 IC까지 제1 시리얼 명령을 전달할 수 있고, 그 직후에 제2 시리얼 명령을 상기 메모리 IC까지 전달할 수 있는, 버스.
  4. 제3항에 있어서,
    상기 시리얼 명령은 상기 메모리 IC가 상기 버스트 모드 메모리 작업을 수행하는 동안 버스 작업 모드를 판독 모드 및 쓰기 모드, 쓰기 모드 및 판독 모드 사이에서 스위칭하는 것을 제공하는, 버스.
  5. 제1항에 있어서,
    상기 데이터 버스의 폭은 1바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 2개의 컨덕터를 포함하는, 버스.
  6. 제1항에 있어서,
    상기 데이터 버스의 폭은 2바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 2개의 컨덕터를 포함하는, 버스.
  7. 제1항에 있어서,
    상기 데이터 버스의 폭은 2바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 4개의 컨덕터를 포함하는, 버스.
  8. 제1항에 있어서,
    상기 데이터 버스의 폭은 4바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 8개의 컨덕터를 포함하는, 버스.
  9. 제1항에 있어서,
    상기 데이터 버스의 폭은 6바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 12개의 컨덕터를 포함하는, 버스.
  10. 제1항에 있어서,
    상기 데이터 버스의 폭은 8바이트이고,
    바이트는 8비트 또는 9비트 중 하나이며, 상기 데이터 스트로브 그룹은 16개의 컨덕터를 포함하는, 버스.
  11. 제1항에 있어서,
    쓰기 마스크는 버스트 쓰기 작업의 일부로서 데이터 버스를 통해 이동되는, 버스.
  12. 제4항에 있어서,
    상기 버스는 무제한 지속 시간의 지속되는 버스트 모드로 작동하도록 구성된, 버스.
  13. 제12항에 있어서,
    상기 버스는 컨트롤러 IC 다이 및 메모리 IC 다이를 포함하는 단일 반도체 패키지 내에 배치되고,
    상기 메모리 IC 다이 및 상기 컨트롤러 IC 다이는 적층 배열로 배치되고, 상기 버스 컨덕터는 고유한 본드 와이어의 그룹을 포함하며, 상기 메모리 IC 다이 상의 각각의 버스 인터페이스 단자는 상기 고유한 본드 와이어를 통해 상기 컨트롤러 IC 다이 상의 대응하는 버스 인터페이스 단자에 결합되고,
    상기 메모리 IC 다이의 뒷면은 상기 컨트롤러 IC 다이의 앞면을 향하는, 버스.
  14. 제12항에 있어서,
    상기 버스는 컨트롤러 IC 다이 및 메모리 IC 다이를 포함하는 단일 반도체 패키지 내에 배치되고,
    상기 컨트롤러 IC 다이의 버스 단자는 플립칩 기술을 사용하여 기판 상에 배치된 금속 컨덕터에 결합되고,
    상기 메모리 IC 다이는, 상기 메모리 IC 다이의 활성면이 상기 기판으로부터 떨어져서 마주보고 상기 버스 컨덕터 각각이 본드 와이어와 기판 금속 컨덕터의 직렬 조합으로 구성되도록 상기 컨트롤러 IC 다이와 함께 적층된 다이 배열로 배치되어서 상기 컨트롤러 IC의 각각의 버스 인터페이스 단자가 고유한 기판 금속 컨덕터의 제1 단부에 전기적으로 결합되도록 구성되며,
    각각의 고유한 기판 금속 컨덕터 트레이스의 제2 단부는, 상기 메모리 IC의 각각의 버스 인터페이스 단자가 적어도 고유한 본드 와이어와 상기 기판 상에 배치된 고유한 컨덕터의 직렬 연결을 통해 상기 컨트롤러 IC의 대응하는 버스 인터페이스 단자에 결합되도록, 상기 고유한 와이어 본드를 통해 상기 메모리 IC 다이 상의 대응하는 버스 인터페이스 단자에 전기적으로 결합되도록 하는, 버스.
  15. 제12항에 있어서,
    상기 메모리 IC 및 상기 컨트롤러 IC는 각각 개별 패키지에 각 패키지의 외부 상의 외부 버스 단자에 전기적으로 결합된 각 IC의 버스 인터페이스 단자와 함께 배치되고,
    상기 버스 컨덕터는 기판 상에 배치된 개별 컨덕터들의 그룹으로 이루어져서, 상기 메모리 IC의 각각의 외부 버스 인터페이스 단자는 상기 기판 상에 배치된 상기 개별 컨덕터들의 그룹 중 고유한 개별 컨덕터의 제1 단부에 결합되며,
    상기 개별 컨덕터의 제2 단부는, 상기 메모리 IC의 각 버스 인터페이스 단자가 상기 기판 상에 배치된 상기 고유한 개별 컨덕터를 통해 상기 컨트롤러 IC의 대응하는 버스 인터페이스 단자에 결합되는 방식으로 상기 컨트롤러 IC의 대응하는 외부 버스 인터페이스 단자에 결합되는, 버스.
  16. 제12항에 있어서,
    상기 메모리 IC 및 상기 컨트롤러 IC는 각각 개별 패키지에 배치되고,
    상기 버스 컨덕터가 패키지 온 패키지(package-on-package) 적층 구성의 컨트롤러 IC 패키지의 대응하는 외부 버스 인터페이스 단자에 메모리 IC 패키지의 각 버스 인터페이스 외부 단자를 전기적으로 결합하는 솔더 연결부를 포함하는 방식으로, 각 IC의 버스 인터페이스 단자는 상기 각 패키지의 외부 상의 외부 버스 인터페이스 단자에 전기적으로 결합되고, 상기 메모리 IC 패키지는 상기 컨트롤러 IC 패키지 상에 배치되는, 버스.
  17. 제12항에 있어서,
    상기 버스 컨덕터는 고유한 와이어 본드의 그룹으로 이루어지며, 고유한 와이어 그룹 각각은, 각각의 메모리 IC 버스 인터페이스 단자가 상기 컨트롤러 IC의 대응하는 버스 인터페이스 단자에 결합되도록, 컨트롤러 IC 다이의 버스 인터페이스 단자를 메모리 IC 다이의 대응하는 버스 인터페이스 단자에 전기적으로 결합시키고,
    상기 메모리 IC 다이 및 상기 컨트롤러 IC 다이는 각각의 다이의 뒷면이 기판을 향하는 상태로 상기 기판 상의 공통 평면에서 서로 인접하게 배치되는, 버스.
  18. 제12항에 있어서,
    메모리 IC 다이 및 컨트롤러 IC 다이는 각각의 다이의 뒷면이 기판을 향하는 공통 기판 상에 각각 배치되고,
    상기 메모리 IC 상의 각 버스 인터페이스 단자는 상기 컨트롤러 IC 상의 대응하는 버스 인터페이스 단자에 전기적으로 결합하는 방식으로, 상기 메모리 IC 다이의 각 버스 인터페이스 단자는 상기 기판 상에 배치된 고유한 금속 컨덕터의 제1 단부에 상기 메모리 IC 다이를 전기적으로 결합시키는 와이어 본드를 가지고, 상기 금속 컨덕터의 제2 단부는 상기 금속 컨덕터를 상기 컨트롤러 IC 다이의 대응하는 버스 인터페이스 단자에 전기적으로 결합시키는 와이어 본드를 가지며,
    각 버스 컨덕터는 고유한 제1 본드 와이어, 고유한 기판 컨덕터, 및 고유한 제2 본드 와이어의 직렬 조합으로 구성된 전기 회로를 포함하는, 버스.
  19. 제12항에 있어서,
    컨트롤러 IC 다이 및 메모리 IC 다이는, 각각 플립칩 기판을 향하는 활성 표면 및 플립칩 기술을 사용하여 그 위에 배치된 금속 컨덕터에 전기적으로 결합된 버스 인터페이스 단자와 함께 배치되어서, 상기 메모리 IC 다이 상의 상기 버스 인터페이스 단자 각각은 상기 플립칩 기판 상에 배치된 고유한 컨덕터와 함께 상기 컨트롤러 IC 다이 상의 대응하는 버스 인터페이스 단자에 전기적으로 결합되고,
    상기 기판 컨덕터는 상기 버스 컨덕터를 포함하는, 버스.
  20. 제12항에 있어서,
    메모리 IC 다이의 메모리 인터페이스 단자는 버스 컨덕터를 통해 컨트롤러 IC 다이 상의 대응하는 메모리 인터페이스 단자와 각각 전기적으로 결합하여서, 상기 버스 컨덕터는 2개의 다이 중 적어도 하나를 통과하는 채널에 배치된 금속 컨덕터를 포함하는, 버스.
  21. 제12항에 있어서,
    상기 버스 컨덕터는 메모리 IC 다이 또는 컨트롤러 IC 다이 상의 버스 인터페이스 단자 상에 배치된 금속 범프(metallic bump)를 포함하여서, 적어도 하나의 고유한 금속 범프는 상기 메모리 IC 다이의 각각의 버스 인터페이스 단자를 상기 컨트롤러 IC 상의 대응하는 버스 인터페이스 단자와 전기적으로 결합하고,
    상기 두 다이의 활성 표면은 서로 대면하는, 버스.
  22. 적어도 하나의 메모리 IC와 컨트롤러 IC를 상호 연결하기 위한 버스로서,
    상기 버스는 동일한 버스 컨덕터를 사용하여 메모리 명령과 데이터를 이동하도록 구성되고,
    상기 버스 컨덕터는 메모리 명령 및 데이터를 전달하도록 구성된 16개의 컨덕터, 클락을 전달하도록 구성된 2개의 컨덕터, 및 데이터 스트로브와 메모리 제어 신호를 전달하도록 구성된 최대 5개의 추가 컨덕터로 구성되며,
    상기 버스는 초당 적어도 3000메가 바이트의 피크 대역폭에서 데이터를 이동하도록 구성되고,
    단일의 컨덕터는 상기 컨트롤러 IC로부터 상기 메모리 IC에, 데이터 전달과 동시에, 어드레스 및 데이터 전달 제어 정보를 상기 메모리 IC에 제공함으로써 상기 메모리 IC의 작업을 지시할 수 있는 시리얼 명령을 전달하도록 구성된, 버스.
  23. 적어도 하나의 메모리 스토리지 집적 회로(IC)를 컨트롤러 IC에 상호 연결하기 위한 수단으로서,
    데이터 신호, 전송된 정보의 안정성 표시, 클락 신호, 칩 선택 신호, 또는 제어 신호의 유형 중 하나 이상의 신호를 전송하기 위한 수단을 포함하는, 상기 메모리 IC 상의 단자의 컬렉션을 상기 컨트롤러 IC 상의 대응하는 단자에 전기적으로 결합하기 위한 수단 및
    어드레스 및 데이터 전달 제어 정보를 상기 메모리 IC에 제공함으로써 시리얼 명령이 상기 메모리 IC의 작업을 지시할 수 있도록 데이터 이동 시간 동안 상기 컨트롤러 IC로부터 상기 메모리 IC로 상기 시리얼 명령을 단일 핀을 통해 전송하기 위한 수단을 포함하는,
    적어도 하나의 메모리 스토리지 집적 회로(IC)를 컨트롤러 IC에 상호 연결하기 위한 수단.
KR1020187031533A 2016-06-17 2017-06-13 낮은 핀카운트 고 대역폭 메모리 및 메모리 버스 KR102398236B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662351556P 2016-06-17 2016-06-17
US62/351,556 2016-06-17
US15/618,907 2017-06-09
US15/618,907 US10380060B2 (en) 2016-06-17 2017-06-09 Low-pincount high-bandwidth memory and memory bus
PCT/IB2017/001333 WO2018015817A2 (en) 2016-06-17 2017-06-13 Low-pincount high-bandwidth memory and memory bus

Publications (2)

Publication Number Publication Date
KR20190019911A KR20190019911A (ko) 2019-02-27
KR102398236B1 true KR102398236B1 (ko) 2022-05-13

Family

ID=60660261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031533A KR102398236B1 (ko) 2016-06-17 2017-06-13 낮은 핀카운트 고 대역폭 메모리 및 메모리 버스

Country Status (6)

Country Link
US (5) US10380060B2 (ko)
JP (1) JP7090560B2 (ko)
KR (1) KR102398236B1 (ko)
CN (1) CN109478167B (ko)
TW (1) TWI660272B (ko)
WO (1) WO2018015817A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10541018B2 (en) * 2017-09-26 2020-01-21 Intel Corporation DDR memory bus with a reduced data strobe signal preamble timespan
US11632112B2 (en) * 2017-12-27 2023-04-18 Intel Corporation Integrated circuit device with separate die for programmable fabric and programmable fabric support circuitry
KR102649213B1 (ko) 2018-11-23 2024-03-21 삼성전자주식회사 메모리 칩을 선택하는데 사용되는 인터페이스 칩 그리고 메모리 칩과 인터페이스 칩을 포함하는 스토리지 장치
KR20210079552A (ko) * 2019-12-20 2021-06-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 컨트롤러
KR20210093521A (ko) 2020-01-20 2021-07-28 삼성전자주식회사 고대역폭 메모리 및 이를 포함하는 시스템
US11081474B1 (en) * 2020-04-29 2021-08-03 Sandisk Technologies Llc Dynamic resource management in circuit bound array architecture
US11658168B2 (en) * 2020-08-05 2023-05-23 Alibaba Group Holding Limited Flash memory with improved bandwidth
US11789893B2 (en) * 2020-08-05 2023-10-17 Etron Technology, Inc. Memory system, memory controller and memory chip
JP2022064055A (ja) * 2020-10-13 2022-04-25 株式会社河合楽器製作所 ディジタル信号処理装置及びディジタル信号処理装置の制御方法
CN112199919A (zh) * 2020-10-28 2021-01-08 Oppo广东移动通信有限公司 冗余标准单元的添加方法、装置、存储介质及电子设备
CN113726331B (zh) * 2021-07-22 2023-12-12 杭州师范大学 一种基于双掩码技术的功耗恒定性门电路单元
US11869626B2 (en) * 2021-10-15 2024-01-09 Micron Technology, Inc. Internal and external data transfer for stacked memory dies
CN114442587B (zh) * 2021-12-21 2024-04-16 潍柴动力股份有限公司 发动机异常断电监控方法、系统及存储介质
CN116844621B (zh) * 2022-03-25 2024-06-07 长鑫存储技术有限公司 一种控制方法、半导体存储器和电子设备
CN115114200B (zh) * 2022-06-29 2023-11-17 海光信息技术股份有限公司 一种多芯片系统及基于其的启动方法
WO2024054427A1 (en) * 2022-09-08 2024-03-14 Rambus Inc. Multi-channel memory stack with shared die

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4847867A (en) * 1986-09-01 1989-07-11 Nec Corporation Serial bus interface system for data communication using two-wire line as clock bus and data bus
US5428775A (en) * 1990-05-24 1995-06-27 Apple Computer, Inc. Apparatus for providing data dependent write operations
GB9304622D0 (en) * 1993-03-06 1993-04-21 Ncr Int Inc Wireless local area network apparatus
DE69619623T2 (de) 1995-05-26 2002-11-07 Nat Semiconductor Corp Integrierte primär- und sekundärbussteuereinheit mit einer reduzierten pinanzahl
US5537353A (en) 1995-08-31 1996-07-16 Cirrus Logic, Inc. Low pin count-wide memory devices and systems and methods using the same
US6185633B1 (en) * 1997-03-20 2001-02-06 National Semiconductor Corp. DMA configurable receive channel with memory width N and with steering logic compressing N multiplexors
US5991841A (en) * 1997-09-24 1999-11-23 Intel Corporation Memory transactions on a low pin count bus
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
CN1339238A (zh) * 1999-01-11 2002-03-06 福纳克有限公司 数字通信方法和数字通信系统
KR100299565B1 (ko) * 1999-06-29 2001-11-01 박종섭 반도체 메모리장치
US6215689B1 (en) * 1999-11-18 2001-04-10 Cypress Semiconductor Corporation Architecture, circuitry and method for configuring volatile and/or non-volatile memory for programmable logic applications
US7099970B1 (en) * 2001-04-03 2006-08-29 Electronic Label Technology, Inc. Apparatus and method to enhance a one-wire bus
US6754132B2 (en) * 2001-10-19 2004-06-22 Samsung Electronics Co., Ltd. Devices and methods for controlling active termination resistors in a memory system
JP2004021916A (ja) * 2002-06-20 2004-01-22 Renesas Technology Corp データバス
JP4111789B2 (ja) 2002-09-13 2008-07-02 富士通株式会社 半導体記憶装置の制御方法及び半導体記憶装置
KR100449807B1 (ko) * 2002-12-20 2004-09-22 한국전자통신연구원 호스트 버스 인터페이스를 갖는 데이터 전송 프로토콜제어 시스템
US6812735B1 (en) * 2003-03-26 2004-11-02 Silicon Bridge, Inc. Multiple value self-calibrated termination resistors
US7032056B2 (en) 2003-05-08 2006-04-18 International Business Machines Corporation Encoding of message onto strobe signals
DE10358974A1 (de) * 2003-12-16 2005-07-28 Infineon Technologies Ag SPI-Baustein und Verfahren zum Auslesen von Daten aus einem SPI-Baustein
US7702839B2 (en) * 2005-04-12 2010-04-20 Nokia Corporation Memory interface for volatile and non-volatile memory devices
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US20070028027A1 (en) * 2005-07-26 2007-02-01 Micron Technology, Inc. Memory device and method having separate write data and read data buses
TWI319198B (en) * 2005-08-19 2010-01-01 Via Tech Inc Adjustable termination resistor device ued in ic chip
KR100839494B1 (ko) 2006-02-28 2008-06-19 삼성전자주식회사 버스 중재 시스템 및 버스 중재 방법
CN100543713C (zh) 2006-09-26 2009-09-23 联想(北京)有限公司 防止lpc总线死锁的方法和装置
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US7802061B2 (en) 2006-12-21 2010-09-21 Intel Corporation Command-based control of NAND flash memory
US7783821B2 (en) * 2007-06-13 2010-08-24 Nokia Corporation Method and device for mapping signal order at multi-line bus interfaces
US7542365B2 (en) * 2007-09-27 2009-06-02 Freescale Semiconductor, Inc. Apparatus and method for accessing a synchronous serial memory having unknown address bit field size
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
US8386724B2 (en) * 2009-02-19 2013-02-26 Micron Technology, Inc. Methods and apparatus for designating or using data status indicators
WO2011010184A1 (en) 2009-07-20 2011-01-27 Freescale Semiconductor, Inc. Signal processing system, integrated circuit comprising buffer control logic and method therefor
US8140778B1 (en) * 2010-09-10 2012-03-20 Spansion Llc Apparatus and method for data capture using a read preamble
WO2012048444A1 (en) 2010-10-14 2012-04-19 Freescale Semiconductor, Inc. Are Memory controller and method for accessing a plurality of non-volatile memory arrays
US8605846B2 (en) 2010-12-17 2013-12-10 Maxim Integrated Products, Inc. Adaptive frequency synthesis for a serial data interface
KR20120132287A (ko) 2011-05-27 2012-12-05 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 패키지 및 반도체 메모리 장치의 집적도 증대 방법
US8570064B1 (en) * 2011-11-11 2013-10-29 Altera Corporation Methods and systems for programmable implementation of on-chip termination calibration
US8966151B2 (en) * 2012-03-30 2015-02-24 Spansion Llc Apparatus and method for a reduced pin count (RPC) memory bus interface including a read data strobe signal
KR20140028618A (ko) 2012-08-29 2014-03-10 삼성전자주식회사 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법
US9214939B2 (en) * 2013-12-02 2015-12-15 Texas Instruments Deutschland Gmbh Adaptive bus termination apparatus and methods
US9519324B2 (en) * 2014-03-26 2016-12-13 Intel Corporation Local power gate (LPG) interfaces for power-aware operations
US10108220B2 (en) * 2014-05-01 2018-10-23 Wisconsin Alumni Research Foundation Computer architecture having selectable, parallel and serial communication channels between processors and memory
JP6131357B1 (ja) * 2016-03-18 2017-05-17 力晶科技股▲ふん▼有限公司 半導体記憶装置とそのアドレス制御方法

Also Published As

Publication number Publication date
JP7090560B2 (ja) 2022-06-24
US20210294773A1 (en) 2021-09-23
CN109478167B (zh) 2022-11-22
TW201800953A (zh) 2018-01-01
US11669482B2 (en) 2023-06-06
US20190303337A1 (en) 2019-10-03
WO2018015817A2 (en) 2018-01-25
US20170364469A1 (en) 2017-12-21
US10380060B2 (en) 2019-08-13
KR20190019911A (ko) 2019-02-27
US20230385224A1 (en) 2023-11-30
CN109478167A (zh) 2019-03-15
US20200301870A1 (en) 2020-09-24
WO2018015817A3 (en) 2018-03-29
JP2019523946A (ja) 2019-08-29
TWI660272B (zh) 2019-05-21
US10642776B2 (en) 2020-05-05
US11086811B2 (en) 2021-08-10

Similar Documents

Publication Publication Date Title
KR102398236B1 (ko) 낮은 핀카운트 고 대역폭 메모리 및 메모리 버스
US11194749B2 (en) Cross-threaded memory system
US10885971B2 (en) Multi-die memory device
US20210050043A1 (en) Memory device comprising programmable command-and-address and/or data interfaces
WO2019050534A1 (en) MEMORY BUS AND MEMORY WITH LARGE BAND WIDTH AND LOW NUMBER OF PINS

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