KR20150007292A - 설정 가능한 가상 페이지 크기를 갖는 브리징 장치 - Google Patents

설정 가능한 가상 페이지 크기를 갖는 브리징 장치

Info

Publication number
KR20150007292A
KR20150007292A KR1020147030278A KR20147030278A KR20150007292A KR 20150007292 A KR20150007292 A KR 20150007292A KR 1020147030278 A KR1020147030278 A KR 1020147030278A KR 20147030278 A KR20147030278 A KR 20147030278A KR 20150007292 A KR20150007292 A KR 20150007292A
Authority
KR
South Korea
Prior art keywords
data
memory
memory device
command
bridge device
Prior art date
Application number
KR1020147030278A
Other languages
English (en)
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 KR20150007292A publication Critical patent/KR20150007292A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices

Abstract

복합 메모리 장치는 이산 메모리 장치 및 이산 메모리 장치를 제어하기 위한 브리지 장치를 포함한다. 브리지 장치는 뱅크로서 조직화된 메모리를 가지며, 각각의 뱅크는 페이지 버퍼의 최대 물리적 크기보다 작은 가상 페이지 크기를 가지도록 설정된다. 뱅크의 가상 페이지 크기는 커맨드내의 VPS 설정 코드를 포함하는 VPS 데이터 필드의 위치가 최하위 뱅크에서 최상위 뱅크로 순서가 정해진 상이한 뱅크들에 대응하는 순서화된 구조를 갖는 가상 페이지 크기(VPS) 설정 커맨드내에서 제공된다. VPS 설정 명령은 크기가 가변적이고, 설정되는 최고위 뱅크와 하위 뱅크에 대한 VPS 설정 코드만을 포함한다.

Description

설정 가능한 가상 페이지 크기를 갖는 브리징 장치{A BRIDGING DEVICE HAVING A CONFIGURABLE VIRTUAL PAGE SIZE}
관련 출원 상호 참조
본 출원은 2008년 11월 4일 출원된 미국 가출원 61/111,013, 2009년 6월 8일 출원된 미국 가출원 61/184,965 및 2009년 7월 24일 출원된 미국 특허 출원 12/508,926에 대해 우선권을 주장하며, 그 내용의 전부가 본원에 참조되었다.
반도체 메모리 장치는 현재 유용한 산업 및 소비자 전자 제품에서 중요한 부품이다. 예를 들면, 컴퓨터, 이동 전화, 및 다른 휴대용 전자 제품 모두는 데이터를 저장하기 위한 메모리의 일부 형태에 의존한다. 많은 메모리 장치들은 범용이거나 또는 이산 메모리 장치로서 유용하지만, 또한 고 레벨의 집적 및 높은 입력/출력(I/O) 대역폭에 대한 요구는 마이크로컨트롤러 및 다른 프로세싱 회로와 같은 시스템과 집적될 수 있는 임베디드 메모리의 개발을 유도한다.
대부분의 소비자 전자장치는 데이터를 저장하기 위한 플래시 메모리 장치와 같은 비휘발성 장치를 채용한다. 플래시 메모리 장치에 대한 수요는 이들 장치들이 작은 물리적 영역을 점유하면서도 대량의 비휘발성 저장체를 필요로 하는 다양한 어플리케이션에 매우 적합하기 때문에 계속해서 현저하게 성장하였다. 예를 들면, 디지털 카메라, 휴대폰, USB 플래시 장치 및 휴대용 뮤직 플레이어와 같은 다양한 소비자 장치에서 이들 장치들에 이용되는 데이터를 저장하기 위한 플래시가 널리 찾아볼 수 있다. 또한, 플래시 장치는 하드 디스크 드라이브(HDD)를 위한 고상 드라이브(SSDs)를 대체하여 이용된다. 그러한 휴대용 장치들은 바람직하게는 폼 팩터 크기 및 중량으로 최소화된다. 불행하게도, 멀티미디어 및 SSD 어플리케이션은 대량의 메모리를 요구하고, 이는 그 제품의 폼 펙터 크기 및 중량을 증가시킬 수 있다. 그러므로, 소비자 제품 제조자들은 제품내에 포함되는 물리적 메모리의 양을 제한함에 의해 소비자가 허용 가능한 크기 및 중량으로 유지하도록 절충한다. 또한, 플래시 메모리는 DRAM 또는 SRAM 보다 더 높은 단위 영역당 집적도를 가질 수 있지만, 그 성능은 일반적으로 읽기 쓰기 처리량에 악영향을 주는 상대적으로 낮은 I/O 대역폭으로 인해 제한된다.
나날이 증가하는 메모리 장치에 대한 수요와 어플리케이션의 유비쿼터스 속성을 충족시키기 위해서, 고성능의 메모리 장치 즉, 높은 I/O 대역폭, 높은 읽기 및 쓰기 처리량, 및 동작의 증가된 유연성을 갖는 장치를 가지는 것이 바람직하다.
제1 측면에서, 반도체 장치의 메모리 뱅크에 대한 페이지 크기 설정 방법이 제공된다. 이 방법은 설정될 메모리 뱅크 중 적어도 하나의 메모리 뱅크를 식별하는 단계; 상기 적어도 하나의 메모리 뱅크에 대응하는 설정 코드만을 포함하는 커맨드를 발급하는 단계; 및 상기 적어도 하나의 메모리 뱅크에 대응하는 상기 설정 코드에 응답하여 상기 적어도 하나의 메모리 뱅크의 페이지 크기를 설정하는 단계를 포함한다. 실시예에 따르면, 상기 메모리 뱅크는 최하위 메모리 뱅크에서 최상위 메모리 뱅크까지 순서가 되고, 상기 식별하는 단계는 상기 적어도 하나의 메모리 뱅크의 최고위 메모리 뱅크를 식별하는 단계를 포함한다. 본 실시예에서, 상기 적어도 하나의 메모리 뱅크의 상기 최고위 메모리 뱅크는 메모리 뱅크의 상기 최하위 메모리 뱅크에 대응한다. 본 실시예에서, 상기 발급하는 단계는 상기 최하위 메모리 뱅크에 대응하는 최초 설정 코드 및 상기 최고위 메모리 뱅크에 대응하는 최후 설정 코드를 제공하는 단계를 포함할 수 있다. 또한, 상기 발급하는 단계는 상기 최하위 메모리 뱅크와 상기 최고위 메모리 뱅크 사이의 인터비닝 메모리 뱅크에 대응하는 중간 설정 코드를 제공하는 단계를 포함할 수 있다. 다르게는, 상기 발급하는 단계는 메모리 뱅크의 순서에 대응하여 순서대로 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드를 제공하는 단계를 포함할 수 있다.
이러한 다른 실시예에서, 상기 최초 설정 코드는 시간 상으로 최초로 제공되고, 상기 최후 설정 코드는 시간상으로 최후에 제공된다. 다른 별도 실시예에서, 상기 발급하는 단계는 상기 최초 설정 코드 이전에 헤더를 제공하는 단계를 포함할 수 있으며, 여기서 상기 헤더는 글로벌 장치 어드레스와 이어서 연산 코드(op-code)를 포함한다. 또한, 상기 발급하는 단계는 상기 헤더의 시작에서 스트로브 신호를 제1 로직 레벨로 구동하고, 상기 최후 설정 코드의 끝에서 상기 스트로브 신호를 제2 로직 레벨로 구동하는 단계를 포함할 수 있다.
또 다른 실시예에서, 상기 설정하는 단계는 상기 반도체 장치의 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드를 래칭하는 단계를 포함한다. 상기 설정하는 단계는 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드를 하나의 데이터 버스로 시간 다중화하는 단계를 더 포함할 수 있다. 다음으로, 상기 래칭하는 단계는 상기 데이터 버스 상의 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드 각각을 상이한 시간에 래칭하는 단계를 포함할 수 있다. 다르게는, 상기 래칭하는 단계는 상기 데이터 버스 상의 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드 각각을 한 클럭 신호의 상승 및 하강 에지 중 하나와 동기화하여 래칭하는 단계 및 상기 최초 설정 코드, 상기 중간 설정 코드 및 상기 최후 설정 코드의 래칭을 인에이블 하기 위하여 제1 로직 레벨에서 스트로브 신호를 수신하는 단계를 포함할 수 있다. 상기 스트로브 신호는 상기 데이터 버스에 대한 데이터의 래칭을 디스에이블하기 위하여 제2 로직 레벨에서 수신될 수 있다.
제2 측면에서, 가변 크기의 커맨드내의 페이지 크기 설정 코드를 래칭하기 위한 회로가 제공된다. 상기 회로는 데이터 버스 및 페이지 크기 설정자를 포함한다. 상기 데이터 버스는 페이지 크기 설정 코드 중 적어도 하나에 대응하는 데이터를 상이한 시간 주기로 수신한다. 상기 페이지 크기 설정자는 데이터를 상이한 시간 주기로 래칭하기 위하여 상기 데이터 버스에 결합된다. 상기 데이터는 하나의 페이지 크기 구성 코드에 대응하는 일부의 비트 또는 하나의 페이지 크기 설정 코드에 대응하는 전체 비트에 대응한다. 상기 상이한 시간 주기는 클럭 사이클에 대응하며, 상기 페이지 크기 설정자는 각각이 상이한 클럭 사이클로 수신되는 펄스 신호에 응답하여 데이터를 래칭하기 위하여 상기 데이터 버스에 연결된 입력을 갖는 레지스터를 포함한다.
제2 측면의 실시예에 따르면, 상기 페이지 크기 설정자는 하나의 클럭 신호의 상승 및 하강 에지 중 하나에 응답하여 상기 펄스 신호를 생성하기 위한 도미노 활성화 로직을 포함한다. 도미노 활성화 로직은 서로 직렬로 연결되고 상기 클럭 신호의 상승 및 하강 에지 중 하나에 응답하여 상기 펄스 신호를 생성하기 위하여 순서대로 인에이블되는 래치 신호 발생기를 포함한다. 상기 도미노 활성화 로직은 시작 신호에 응답하여 상기 래치 신호 발생기의 제1 래치 신호 발생기를 인에이블하기 위한 시드 신호 발생기를 포함한다. 다음으로, 래치 신호 발생기 각각은 대응하는 펄스 신호가 생성된 이후에 다음의 래치 신호 발생기를 인에이블한다.
도 1a는 비휘발성 메모리 시스템의 일예의 블록도.
도 1b는 도 1a의 메모리 시스템 예에 이용되는 이산 플래시 메모리 장치의 도면.
도 2a는 직렬 메모리 시스템의 예의 블록도.
도 2b는 도 2a의 메모리 시스템 예에 이용되는 이산 직렬 인터페이스 플래시 메모리 장치의 도면.
도 3a는 실시예에 따른 4개의 이산 메모리 장치 및 브리지 장치를 갖는 복합 메모리 장치의 도면.
도 3b는 본 실시예에 따른 글로벌 커맨드의 도시.
도 4는 일 실시예에 따른 브리지 장치의 블록도.
도 5는 일 실시예에 따른 직렬 상호 결선된 메모리 시스템에서의 제어기에 연결된 다수개의 복합 메모리 장치를 갖는 메모리 시스템의 블록도.
도 6은 본 실시예에 따른 고속 직렬 인터페이스 브리지 장치에 대한 NAND의 블록도.
도 7은 본 실시예에 따른 NAND 플래시 메모리 장치에 대한 도 6의 브리지 장치의 메모리 매핑을 도시하는 블록도.
도 8a, 8b 및 8c는 도 6의 브리지 장치를 이용하는 하나의 NAND 플래시 메모리 장치로부터의 판독 동작의 예를 도시하는 도면.
도 9a, 9b, 9c 및 9d는 도 6의 브리지 장치의 각각의 메모리 뱅크에 대한 가상 페이지 설정의 예를 도시하는 도면.
도 10은 본 실시예에 따른 VPS 설정 커맨드를 도시하는 도면.
도 11a 및 11b는 본 실시예에 따른 동적 크기의 설정 커맨드의 타이밍도.
도 12a는 본 실시예에 따라 도 6의 VPS 설정자의 예시된 실시예.
도 12b는 도 12a의 VPS 설정자의 동작을 도시하는 순서도.
도 13은 도 12a의 시드 신호 발생기의 개략적 회로도.
도 14는 본 실시예에 따른 도 12a의 래치 발생기 회로의 개략적 회로도.
도 15는 본 실시예에 따른 브리지 장치내의 메모리의 가상 페이지 크기를 설정하기 위한 방법의 흐름도.
일반적으로, 적어도 일부의 실시예는 이산 메모리 장치 및 메모리 장치와 호환되지 않는 포맷 또는 프로토콜을 갖는 글로벌 메모리 제어 신호에 응답하여 이산 메모리 장치를 제어하기 위한 브리지 장치를 포함하는 복합 메모리 장치에 대한 것이다. 이산 메모리 장치는 상용의 규격 메모리 장치 또는 주문형 메모리 장치일 수 있으며, 이는 네이티브(native) 또는 로컬(local) 메모리 제어 신호에 응답한다. 글로벌 및 로컬 메모리 제어 신호는 각각이 상이한 포맷을 갖는 커맨드 및 커맨드 신호를 포함한다.
이산 메모리 장치와 관련된 복합 메모리 장치의 총 판독 및 기록 성능을 개선하기 위하여, 브리지 장치는 이산 메모리 장치의 최대 정격 주파수보다 더 큰 주파수에서 기록 데이터를 수신하고 판독 데이터를 제공하도록 설정된다. 본 실시예를 설명하기 위해서, 기록 동작 및 프로그램 동작은 유사한 기능으로 취급되는데, 이는 두 경우 모두 데이터가 메모리의 셀내에 저장되기 때문이다. 그러나, 복합 메모리 장치 동작내의 이산 메모리 장치는 브리지 장치가 그 판독 데이터를 고속의 데이터 속도로 출력할 수 있도록 브리지 장치에 실시간으로 충분한 고속의 판독 데이터를 제공할 수 없다. 그러므로, 이러한 속도의 불일치를 보상하기 위하여, 브리지 장치는 이산 메모리 장치의 페이지 버퍼로부터 판독된 데이터의 페이지의 적어도 일부를 일시 저장하거나 또는 이산 메모리 장치의 페이지 버퍼에 기록되도록 하기 위한 가상 페이지 버퍼를 포함한다.
본 명세서에 기재된 기술에 따른 시스템 및 장치는 직렬로 연결된 복수개의 장치를 갖는 메모리 시스템에 적용될 수 있다. 장치는 예를 들면 동작 랜덤 억세스 메모리(DRAMs), 정적 랜덤 억세스 메모리(SRAMs), 플래시 메모리, DiNOR Flash EEPROM 메모리, Serial Flash EEPROM 메모리, Ferro RAM 메모리, Magneto RAM 메모리, Phase Change RAM 메모리, 및 다른 적절한 유형의 메모리와 같은 메모리 장치이다.
이하에는 복합 메모리 장치 및 브리지 장치의 실시예의 이해를 돕기 위한 2개의 상이한 메모리 장치 및 시스템에 대해 설명한다.
도 1a는 호스트 시스템(12)과 일체화된 비휘발성 메모리의 블록도이다. 시스템(10)은 호스트 시스템(12)과 통신하는 메모리 제어기(14) 및 복수개의 비휘발성 메모리 장치(16-1, 16-2, 16-3 및 16-4)를 포함한다. 예를 들면, 비휘발성 메모리 장치(16-1~16-4)는 이산 비동기 플래시 메모리 장치일 수 있다. 호스트 시스템(12)은 마이크로컨트롤러, 마이크로프로세서 또는 컴퓨터 시스템과 같은 프로세싱 장치를 포함한다. 도 1a의 시스템(10)은 하나의 채널(18)을 포함하도록 구성되고, 메모리 장치(16-1~16-4)는 채널(18)에 병렬로 연결된다. 당업자라면 시스템(10)이 이에 연결된 4개 이상 또는 이하의 메모리 장치를 가질 수 있음을 이해할 것이다. 예에서 도시된 것처럼, 메모리 장치(16-1~16-4)는 비동기식이며 각자에 대해 병렬로 연결된다.
채널(18)은 대응하는 메모리 장치 모두에 연결된 데이터 및 제어 라인을 포함하는 공통 버스 셋을 포함한다. 각각의 메모리 장치는 메모리 제어기(14)에 의해 제공되는 각각의 칩 선택(인에이블) 신호(CE1#, CE2#, CE3# 및 CE4#)로 인에이블 또는 디스에이블된다. 이러한 및 이하 예에서, "#"은 신호가 액티브 로우 로직 레벨 신호(즉, 로직 "0" 상태)임을 표시한다. 이러한 방식에서, 칩 선택 신호 중 하나는 일반적으로 비휘발성 메모리 장치(16-1~16-4) 중 대응하는 하나를 인에이블하도록 한번에 선택된다. 메모리 제어기(14)는 채널(18)을 통해 커맨드 및 데이터를 호스트 시스템(12)의 동작에 응답하여 선택된 메모리 장치에 발급하는 것을 담당한다. 메모리 장치로부터 출력된 판독 데이터는 채널(18)을 통해 다시 메모리 제어기(14)로 전송된다. 시스템(10)은 일반적으로 멀티-드롭 버스를 포함하며, 여기서 메모리 장치(16-1~16-4)는 채널(18)에 대해 병렬로 연결된다.
도 1b는 도 1a의 메모리 시스템에 이용될 수 있는 이산 플래시 메모리 장치(16-1~16-4) 중 하나의 도면이다. 이러한 플래시 메모리 장치는 예를 들면 전원, 제어 포트 및 데이터 포트를 포함하는 수개의 입력 및 출력 포트를 포함한다. "포트"라는 용어는 메모리 장치로의 일반적인 입력 또는 출력 단자를 칭하는 것으로, 예를 들면 패키지 핀, 패키지 땜납, 칩 본드 패드, 및 무선 전송기 및 수신기를 포함한다. 전원 포트는 전력을 플래시 메모리 장치의 전체 회로에 공급하기 위한 VCC 및 VSS를 포함한다. 추가 전원 포트는 당업계에서 널리 알려진 것처럼 입력 및 출력 버퍼만을 공급하기 위하여 제공될 수 있다. 아래의 표 1은 제어 및 데이터 포트, 이에 대응하는 설명, 정의 및 예시적 로직 상태의 리스팅의 예를 제공한다. 상이한 메모리 장치는 표 1에 도시된 것과 기능적으로 동등하지만 메모리 장치의 유형에 따라 특정되는 프로토콜을 추종하는 다른 명칭의 제어 및 데이터 포트를 가질 수 있음에 주목한다. 그러한 프로토콜은 완성된 표준에 따라 지배되거나 또는 특정 어플리케이션에 특화될 수 있다. 패키지 핀 및 볼 그리드 어레이는 포트의 물리적인 예로서, 패키징된 장치의 신호 또는 전압을 기판에 상호 결선하는데 이용된다. 포트는 예를 들면 실장형 및 시스템-인-패키지(SIP) 시스템을 위한 단자 및 컨텍과 같은 다른 유형의 연결을 포함한다.
포트 설명
R/B# Ready/Busy: R/B#은 개방 드레인 포트이며 출력 신호는 장치의 동작 조건을 나타내기 위하여 이용됨. R/B# 신호는 프로그램, 소거 및 판독 동안 Busy 상태(R/B#=LOW)이고, 동작 완료 후 Ready 상태(R/B#=HIGH) 상태로 복귀함.
CE# Chip Enable: 장치가 Ready 상태인 동안 CE#가 HIGH인 경우 장치는 저전력 대기 모드로 진입함. 프로그램 또는 소거 또는 판독 동작 동안 장치가 Busy 상태(R/B#=LOW)인 경우 CE# 신호는 무시되며, CE# 입력이 HIGH로 진입하더라도 대기 모드로 진입하지 않음.
CLE Command Latch Enable: CLE 입력 신호는 동작 모드 커맨드를 내부 커맨드 레지스터에 로딩하는 것을 제어하는데 이용됨. 커맨드는 CLE가 HIGH인 동안 WE# 신호의 상승 에지에서 I/O 포트로부터 커맨드 레지스터로 래칭됨.
ALE Address Latch Enable(ALE): ALE 신호는 어드레스 정보를 내부 어드레스 레지스터에 로딩하는 것을 제어하는데 이용됨. 어드레스 정보는 ALE가 HIGH인 동안 WE# 신호의 상승 에지에서 I/O 포트로부터 어드레스 레지스터로 래칭됨.
WE# Write Enable: WE# 신호는 I/O 포트로부터 데이터의 획득 제어에 이용됨.
RE# Read Enable: RE 신호는 직렬 데이터 출력을 제어함. 데이터는 RE#의 하강 에지 이후에 유용함.
WP# Write Protect: WP# 신호는 돌발적 프로그래밍 또는 소거로부터 장치를 보호하는데 이용됨. 내장 전압 조정기(고전압 발생기)는 WP#가 LOW일때 리셋됨. 이 신호는 일반적으로 입력 신호가 무효일 때 전력-온/오프 순서 동안 데이터를 보호하는데 이용됨.
I/O[i] I/O Port: 장치로 및 장치로부터 어드레스, 커맨드 및 입력/출력 데이터를 전송하기 위한 포트로서 이용됨. 변수 n은 0이 아닌 정수값일 수 있음.
표 1에 나타낸 모든 신호들은 일반적으로 도 1b에 도시된 플래시 메모리 장치의 예의 동작에 대한 메모리 제어 신호로 칭한다. 플래시 메모리 장치에게 특정 동작을 실행하도록 지시하는 커맨드를 수신할 수 있으므로, 마지막 포트 I/O[i]는 메모리 제어 신호로서 간주됨에 주목한다. 포트 I/O[i] 에 대해 어서트된(asserted) 커맨드는 I/O[i]을 구성하는 각각의 개별 신호 라인에 인가되는 로직 상태의 조합이므로, I/O[i]의 각각의 신호의 로직 상태는 예를 들면 WP#와 같은 다른 메모리 제어 신호 중 하나와 동일한 방식으로 기능한다. 주요 차이점은 기능을 수행하기 위해서 I/O[i] 로직 상태의 특정 조합이 플래시 메모리 장치를 제어한다는 점이다. 커맨드는 I/O 포트를 통해 수신되고, 커맨드 신호는 나머지 제어 포트를 포함한다. 당업자라면 동작 코드(op-코드)가 특정 메모리 동작을 실행하기 위한 커맨드내에 제공된다는 점을 이해할 것이다. 칩 인에이블 CE#을 제외하고, 모든 다른 포트는 채널(18)을 구성하는 각각의 글로벌 라인에 결합된다. 모든 포트는 메모리 동작을 실행하기 위하여 선정 방식으로 제어된다. 어드레스, 커맨드 및 I/O 데이터는 I/O 포트에 제공되는 동안, 특정 제어 신호의 신호 타이밍 및 순서를 포함한다. 그러므로, 도 1b의 비동기식 플래시 메모리 장치를 제어하기 위한 메모리 제어 신호는 특정 포맷 또는 프로토콜을 갖는다.
도 1a의 비휘발성 메모리 장치 각각은 데이터를 수신하고 제공하기 위한 하나의 특정 데이터 인터페이스를 갖는다. 도 1a의 예에서, 이는 ONFi 2.0 표준에서 규정된 것과 같은 일부 동기식 플래시 메모리 장치 외에도 비동기식 플래시 메모리 장치에서 공통적으로 이용되는 병렬 데이터 인터페이스이다. 커맨드의 다중 데이터 비트를 제공하는 표준 병렬 데이터 인터페이스는 정격 동작 주파수를 넘어서 동작하는 경우에 크로스토크(cross-talk), 신호 왜곡(signal skew) 및 신호 감쇄(signal attanuation)와 같은 신호 품질을 저하시키는 통신 품질 저하 효과의 문제점을 갖는 것으로 공지되어 있다.
데이터 처리량을 증가시키기 위해서, 직렬 데이터 인터페이스를 갖는 메모리 장치가 공유된 미국 특허 공개 공보 제20070153576호 "출력 제어를 갖는 메모리", 및 공유된 미국 특허 공개 공보 제20070076502호 "데이지 체인 캐스캐이딩 장치"가 개시되어 있는데, 여기서는 예를 들면 200MHz의 주파수에서 직렬로 데이터를 수신하고 제공한다. 이는 직렬 데이터 인터페이스 포맷으로 칭한다. 이러한 공유된 특허 공개 공보에 제시된 것처럼, 설명된 메모리 장치는 서로에 대해 직렬로 연결된 메모리 장치의 시스템에 이용될 수 있다.
도 2a는 직렬 메모리 시스템의 개념적 속성을 나타내는 블록도이다. 도 2a에서, 직렬 링-토폴로지 메모리 시스템(20)은 출력 포트 세트(Sout) 및 입력 포트의 세트(Sin)를 갖는 메모리 제어기(22) 및 직렬로 연결된 메모리 장치(24-1, 24-2, 24-3 및 24-N)를 포함한다. 메모리 장치는 예를 들면 직렬 인터페이스 플래시 메모리 장치일 수 있다. 도 2a에는 도시되지 않았지만, 각각의 메모리 장치는 입력 포트 세트(Sin) 및 출력 포트 세트(Sout)를 갖는다. 이들 입력 및 출력 포트의 세트는 메모리 장치를 자신이 일부로서 속한 시스템에 인터페이싱하는 물리적 핀이나 커넥션과 같은, 하나 이상의 개별 입력/출력(I/O) 포트를 포함한다. 일 예에서, 메모리 장치는 플래시 메모리 장치일 수 있다. 다르게는, 메모리 장치는 DRAM, SRAM, DiNOR Flash EEPROM, Serial Flash EEPROM, Ferro RAM, Magneto RAM, Phase Change RAM 또는 커맨드를 실행하기 위하여 또는 커맨드 및 데이터를 다음 메모리 장치로 통과시키기 위하여 특정 커맨드 구조와 호환하는 I/O 인터페이스를 갖는 다른 적절한 유형의 메모리 장치일 수 있다. 도 2a의 예에서는 4개의 메모리 장치를 포함하나, 다른 구성으로는 단일 메모리 장치 또는 적절한 수의 메모리 장치를 포함할 수 있다. 따라서, 메모리 장치(24-1)가 Sout에 연결된 것과 같이 시스템(20)의 제1 장치이면, 메모리 장치(24-N)는 Sin에 연결된 N번째 또는 최후 장치일 수 있으며, 여기서 N은 0 보다 큰 정수이다. 메모리 장치(24-2, 24-3) 및 24-3과 24-N 사이의 임의의 메모리 장치는 제1과 최후 메모리 장치 사이의 중간에 존재하는 직렬로 연결된 메모리 장치이다. 도 2a의 예에서, 메모리 장치(24-1 내지 24-N)는 동기식이며 서로에 대해 및 메모리 제어기(22)에 직렬로 연결된다.
도 2b는 도 2a의 메모리 시스템에서 이용될 수 있는 직렬 인터페이스 플래시 메모리 장치(예를 들면, 24-1 내지 24-N)의 도면이다. 이 예에서 직렬 인터페이스 플래시 메모리 장치는 전원 포트, 제어 포트 및 데이터 포트를 포함한다. 전원 포트는 전력을 플래시 메모리 장치의 전체 회로에 공급하기 위한 VCC 및 VSS를 포함한다. 당해 분야에서 공지된 것처럼 입력 및 출력 버퍼만을 공급하기 위하여 추가 전원 포트가 제공될 수 있다. 아래의 표 2는 제어 및 데이터 포트, 이에 대응하는 설명, 정의 및 예시적 로직 상태의 리스팅의 예를 제공한다. 상이한 메모리 장치는 표 1에 도시된 것과 기능적으로 동등하지만 메모리 장치의 유형에 따라 특정되는 프로토콜을 추종하는 다른 명칭의 제어 및 데이터 포트를 가질 수 있음에 주목한다. 그러한 프로토콜은 완성된 표준에 따라 지배되거나 또는 특정 어플리케이션에 특화될 수 있다.
포트 설명
CK/CK# Clock: CK는 시스템 클럭 입력임. CK 및 CK#는 상이한 클럭 입력임. 모든 커맨드, 어드레스, 입력 데이터 및 출력 데이터는 양방향의 CK 및 CK#의 교차 에지를 참조함.
CE# Chip Enable: CE#가 LOW인 경우, 장치는 인에이블됨. 일단 장치가 Program 또는 Erase 동작을 시작하면, Chip Enable 포트는 디어서트될 수 있음. 또한, CE# LOW 는 내부 클럭 신호를 활성화하고, CE# HIGH는 내부 클럭 신호를 비활성화함.
RST# Chip Reset: RST#는 장치에 대한 리셋을 제공함. RST#가 HIGH인 경우, 장치는 노멀 동작 모드에 있음. RST#가 LOW인 경우, 장치는 Reset 모드로 진입함.
D[j] Data Input: (j=1, 2, 3, 4, 5, 6, 7 또는 8)이 커맨드, 어드레스 및 입력 데이터를 수신함. 장치가 '1-비트 Link 모드(=디폴트)'로 설정되는 경우, D1은 유일한 유효 신호이고, CK/CK#의 8 크로싱에서의 패킷 중 1 바이트를 수신함. 장치가 '2-비트 Link 모드'로 설정되는 경우, D1&D2는 유일한 유효 신호이고, CK/CK#의 4 크로싱에서의 패킷 중 1 바이트를 수신함. 비사용 입력 포트는 그라운드됨.
Q[j] Data Output: (j=1, 2, 3, 4, 5, 6, 7 또는 8)이 판독 동작 동안 출력을 송신함. 장치가 '1-비트 Link 모드(=디폴트)'로 설정되는 경우, Q1은 유일한 유효 신호이고, CK/CK#의 8 크로싱에서의 패킷 중 1 바이트를 송신함. 장치가 '2-비트 Link 모드'로 설정되는 경우, Q1&Q2는 유일한 유효 신호이고, CK/CK#의 4 크로싱에서의 패킷 중 1 바이트를 수신함. 비사용 출력 포트는 DNC(=접속 금지).
CSI Command Strobe Input: CSI가 HIGH인 경우, D[j]를 통하여 커맨드, 어드레스 및 입력 데이터가 CK 및 CK#의 크로싱에서 래칭됨.
CSO Command Strobe Output: 에코 신호 CSO는 소스 신호 CSI의 재전송 버젼임.
DSI Data Strobe Input: HIGH인 경우 Q[j] 버퍼를 인에이블함. DSI가 LOW인 경우, Q[j] 버퍼가 억세스된 이전 데이터를 유지함.
DSO Data Strobe Output: 에코 신호 DSO는 소스 신호 DSI의 재전송 버젼임.
신호 CSO, DSO 및 Q[j]은 예외로 하고, 표 2에 표시된 전체 신호는 도 2b에 도시된 플래시 메모리 장치의 예의 동작에 대한 메모리 제어 신호이다. CSO 및 DSO는 CSI 및 DSI의 재전송 버젼이며, Q[j]는 커맨드 및 데이터를 제공하기 위한 출력이다. 커맨드는 D[j] 포트를 통해 수신되며, 커맨드 신호는 제어 포트 RST#, CE#, CK, CK#, CSI 및 DSI를 포함한다. 도 2a에 도시된 설정 예에서, 전체 신호는 메모리 제어기(22)로부터 직렬인 메모리 장치 각각에 직렬로 통과되고, 병렬로 전체 메모리 장치에 제공된 CE# 및 RST#는 예외로 한다. 도 2b의 직렬 인터페이스 플래시 메모리 장치는 그러므로 메모리 동작을 실행하기 위하여 자신의 포맷 또는 프로토콜을 갖는 메모리 제어 신호를 수신한다.
도 2의 직렬 연결 메모리 시스템의 추가 상세가 공유된 미국 특허 공개 공보 제20090039927 "메모리 시스템에서의 클럭 모드 결정" 2008년 2월 15일 출원에 개시되며, 여기서는 각각의 메모리 장치가 병렬 클럭 신호를 수신하는 직렬 메모리 시스템과 각각의 메모리 장치가 소스 동기식 클럭 신호를 수신하는 직렬 메모리 시스템을 설명한다.
공통으로 유효한 도 1b의 비동기식 플래시 메모리 장치 및 도 2b의 직렬 인터페이스 메모리 장치 모두를 가지는 것은 메모리 시스템 제조자로 하여금 메모리 시스템의 두가지 유형을 제공하도록 한다. 그러나, 이는, 두가지 상이한 유형의 메모리 장치가 공급되고 구매되어야 하므로, 메모리 시스템 제조자에게 높은 비용이 들도록 한다. 당업자라면 대량으로 구매할 때 메모리 시스템의 비용을 최소화할 수 있으므로, 대량으로 구매할 때에 메모리 장치 당 비용이 감소한다는 것을 알 것이다. 그러므로, 제조자가 두 가지 메모리 시스템의 유형을 제공할 수 있지만, 한쪽에 대한 높은 시장 수요로 인해 다른 유형의 메모리 장치가 시장 수요에서 떨어져 나가도록 하는 위험이 있다. 이러한 점 때문에 사용될 수 없는 메모리 장치의 공급에 대한 구매를 계속하도록 한다.
도 1b 및 도 2b에 도시된 것처럼, 비동기식 및 직렬 인터페이스 플래시 메모리 장치의 기능적 포트 할당 또는 정의가 서로와는 실질적으로 상이하며, 따라서 서로에 대해 호환 불가능이다. 이산 메모리 장치를 제어하는데 이용되는 신호 세트의 기능적 포트 정의 및 순서 또는 타이밍을 프로토콜 또는 포맷이라 한다. 그러므로, 비동기식 및 직렬 플래시 메모리 장치는 상이한 메모리 제어 신호 포맷에 응답하여 동작한다. 이는 도 2b의 직렬 인터페이스 플래시 메모리 장치가 멀티-드롭 메모리 시스템에 이용될 수 없으며, 따라서, 도 1b의 비동기식 플래시 메모리 장치가 직렬 연결된 링 토폴로지 메모리 시스템에 이용될 수 없음을 의미한다.
도 1a 및 도 1b의 비동기식 플래시 메모리 장치에 걸쳐 개선된 성능을 위해서는 도 2a 및 도 2b에 도시된 것처럼 직렬 인터페이스 플래시 메모리 장치가 바람직하지만, 메모리 시스템 제조자는 비동기식 플래시 메모리 장치의 공급을 폐기하기를 바라지는 않을 것이다. 더욱이, 산업계에서의 이들의 유비쿼터스적 이용으로 인하여, 비동기식 플래시 메모리 장치는 도 2a의 직렬 인터페이스 플래시 메모리 장치와 같은 다른 플래시 메모리 장치에 비해 구매가 저렴하다. 현재, 메모리 시스템 제조자는 최소 비용 오버헤드로 직렬 상호 결선된 장치의 성능 이득을 취하는 해결책을 가지고 있지 않다.
여기서 설명된 적어도 일부의 실시예는 멀티-칩 패키지(MCP) 또는 시스템 인 패키지(SIP)에서 이산 메모리 장치와 함께 고속 인터페이스 칩 또는 브리지 장치를 갖는 복합 메모리 장치를 제공한다. 브리지 장치는 자신이 그 내부에 집적되는 시스템과의 I/O 인터페이스를 제공하고, 글로벌 포맷에 따른 글로벌 메모리 제어 신호를 수신하고, 커맨드를 이산 메모리 장치와 호환하는 네이티브 또는 로컬 포맷을 따르는 로컬 메모리 제어 신호로 변환시킨다. 따라서 브리지 장치의 I/O 인터페이스에 의해 제공되는 성능 이득을 제공하는 동안, 브리지 장치는 NAND 플래시 장치와 같은 이산 메모리 장치의 재사용을 가능하게 한다. 브리지 장치는 패키지내에 이산 메모리 장치 다이와 집적된 이산 로직 다이로서 구현될 수 있다.
본 실시예에서, 글로벌 포맷은 도 2a 및 도 2b의 직렬 플래시 메모리 장치와 호환하는 직렬 데이터 포맷이며, 로컬 포맷은 도 1a 및 2b의 비동기식 플래시 메모리 장치와 호환하는 병렬 데이터 포맷이다. 그러나, 본 발명의 실시예는 상술한 포맷 예에 국한되지 않으며, 복합 메모리 장치에 이용되는 이산 메모리 장치의 유형 및 복합 메모리 장치가 그 내부에 이용되는 메모리 시스템의 유형에 따라, 임의의 메모리 제어 포맷 쌍도 사용될 수 있다. 예를 들면, 메모리 시스템의 글로벌 포맷은 Open NAND 플래시 인터페이스(ONFi) 표준을 추종하고, 로컬 포맷은 비동기식 플래시 메모리 장치 메모리 제어 신호 포맷을 따를 수 있다. 예를 들면, 구체적으로 ONFi 표준은 ONFi 2.0 이다. 다르게는, 글로벌 포맷은 비동기식 플래시 메모리 장치 메모리 제어 신호 포맷을 추종하고, 로컬 포맷은 ONFi 2.0 스펙 포맷을 추종할 수 있다.
도 3a는 본 실시예에 따른 복합 메모리 장치의 블록도이다. 도 3a에 도시된 것처럼, 복합 메모리 장치(100)는 4개의 이산 메모리 장치(104)에 연결된 브리지 장치(102)를 포함한다. 이산 메모리 장치(104) 각각은 예를 들면 8Gb의 메모리 용량을 갖는 비동기식 플래시 메모리 장치일 수 있으나, 8Gb 장치 대신에 임의 용량의 이산 플래시 메모리 장치가 이용될 수 있다. 더욱이, 복합 메모리 장치(100)는 4개의 이산 메모리 장치를 가지는 것에 국한되지 않는다. 브리지 장치(102)가 복합 메모리 장치(100)에서 최대 수의 이산 메모리 장치를 실장하도록 설계되는 경우에는 임의 수의 이산 메모리 장치가 포함될 수 있다.
복합 메모리 장치(100)는 글로벌 커맨드를 수신하기 위한 입력 포트 GLBCMD_IN 및 수신된 글로벌 커맨드 및 판독 데이터를 통과시키기 위한 출력 포트 GLBCMD_OUT를 갖는다. 도 3b는 본 실시예에 따른 글로벌 커맨드의 계층 구조를 도시하는 개략도이다. 글로벌 커맨드(110)는 특정 포맷을 갖는 글로벌 메모리 제어 신호(GMCS)(112) 및 어드레스 헤더(AH)를 포함한다. 이러한 글로벌 메모리 제어 신호(112)는 도 2b의 직렬 인터페이스 플래시 메모리 장치를 위한 메모리 제어 신호와 같은 메모리 커맨드 및 커맨드 신호를 제공한다. 어드레스 헤더(114)는 시스템 레벨 및 복합 메모리 장치 레벨에서 이용되는 어드레싱 정보를 포함한다. 이러한 추가 어드레싱 정보는 메모리 커맨드 내의 op-코드를 실행하기 위하여 복합 메모리 장치를 선택하기 위한 글로벌 장치 어드레스(GDA)(116) 및 op-코드를 실행하기 위한 선택된 복합 메모리 장치내에서 특정 이산 장치를 선택하기 위한 로컬 장치 어드레스(LDA)(118)를 포함한다. 요약하면, 글로벌 커맨드는 하나의 포맷에 대응하는 전체 메모리 제어 신호를 포함하며, 또한 복합 메모리 장치 또는 그 안의 이산 메모리 장치를 선택하거나 제어하기 위하여 필요로 하는 어드레싱 정보를 포함한다.
브리지 장치(102)는 op-코드를 실행하지 않거나 또는 행 및 어드레스 정보를 갖는 임의의 메모리 위치에 억세스하지 않음에 주목한다. 브리지 장치(102)는 수신된 글로벌 메모리 제어 신호(112)를 변환하도록 선택되는지 여부를 결정하도록 글로벌 장치 어드레스(116)를 사용한다. 선택되는 경우, 브리지 장치(102)는 다음으로 어떤 이산 메모리 장치에 변환된 글로벌 메모리 제어 신호(112)가 전송되는지를 결정하기 위하여 로컬 장치 어드레스(118)를 이용한다. 전체 4개의 이산 메모리 장치(104)와 통신하기 위하여, 브리지 장치(102)는 4개 세트의 로컬 I/O 포트(도시 없음)을 포함하며, 각각은 후술하는 것처럼 대응하는 이산 메모리 장치에 연결된다. 각각의 I/O 포트 세트는 적절한 동작을 위해 이산 메모리 장치가 필요로 하는 모든 신호를 포함하며, 이에 따라 로컬 장치 인터페이스로서 기능한다.
판독 데이터는 복합 메모리 장치(100)로부터 또는 이전 복합 메모리 장치로부터 임의의 하나의 플래시 메모리 장치(104)에 의해 제공된다. 특히, 브리지 장치(102)는 메모리 시스템의 메모리 제어기에 연결되거나 또는 직렬 상호 결선된 장치의 시스템내에서 다른 복합 메모리 장치의 다른 브리지 장치에 연결될 수 있다. 입력 포트 GLBCMD_IN 및 출력 포트 GLBCMD_OUT는 패키지 핀, 다른 물리적 도전체, 또는 복합 메모리 장치(100)로 및 로부터 글로벌 커맨드 신호 및 판독 데이터를 송신/수신하기 위한 다른 임의의 회로일 수 있다. 브리지 장치(102)는 그러므로 도 2a의 메모리 제어기(22)와 같은 외부 제어기와 또는 시스템내의 다른 복합 메모리 장치로부터의 브리지 장치와 통신이 가능하도록 하기 위하여 입력 포트 GLBCMD_IN 및 출력 포트 GLBCMD_OUT에 대응하는 연결을 가진다. 도 7의 실시예에 도시된 것처럼, 많은 복합 메모리 장치는 서로 직렬로 연결될 수 있다.
도 4는 실시예에 따른 브리지 장치(200)의 블록도로서, 도 3a에 도시된 브리지 장치(102)에 대응한다. 브리지 장치(200)는 브리지 장치 입력/출력 인터페이스(202), 메모리 장치 인터페이스(204), 및 포맷 변환기(206)를 갖는다. 포맷 변환기(206)는 제1 포맷인 글로벌 커맨드 및 글로벌 커맨드 신호를 포함하는 글로벌 메모리 제어 신호를 제2 포맷으로 변환하는 커맨드 포맷 변환기(208) 및 제1 포맷과 제2 포맷 사이에서 데이터를 변환하기 위한 데이터 포맷 변환기(210)를 포함한다. 커맨드 포맷 변환기(208)는 제1 포맷의 글로벌 메모리 제어 신호에 응답하여 도 3a의 이산 메모리 장치와 같은 이산 메모리 장치를 제2 포맷에 따라 제어하기 위한 상태 머신(도시 없음)을 더 포함한다.
브리지 장치 입력/출력 인터페이스(202)는 예를 들면 메모리 제어기 또는 다른 복합 메모리 장치와 같은 외부 장치와 통신한다. 브리지 장치 입력/출력 인터페이스(202)는 예를 들면 직렬 커맨드 포맷과 같은 글로벌 포맷의 다른 복합 메모리 장치 또는 메모리 제어기로부터 글로벌 커맨드를 수신한다. 도 3b를 참조하면, 입력/출력 인터페이스(202)내의 로직은 글로벌 커맨드(110)가 대응하는 복합 메모리 장치에 어드레스되는지 여부를 결정하기 위하여 글로벌 커맨드(110)의 글로벌 장치 어드레스(116)를 처리하고, 대응하는 복합 메모리 장치의 어떤 이산 메모리 장치가 op-코드 및 선택적인 행 및 열 어드레스 및 선택적인 기록 데이터를 포함하는 변환된 커맨드를 수신하는지 여부를 결정하기 위하여 글로벌 커맨드(110)의 로컬 장치 어드레스(118)를 처리한다. 글로벌 커맨드가 브리지 장치(200)에 연결된 이산 메모리 장치에 어드레스되는 경우, 포맷 변환기(206)내의 커맨드 포맷 변환기(208)는 op-코드 및 커맨드 신호 및 임의의 행 및 어드레스 정보를 제공하는 글로벌 메모리 제어 신호(112)를 글로벌 포맷에서 로컬 포맷으로 변환하고, 이를 메모리 장치 인터페이스(204)에 전달한다. 기록 데이터가 예를 들면 직렬 데이터 포맷의 브리지 장치 입력/출력 인터페이스(202)에 제공되는 경우, 브리지 장치 입력/출력 인터페이스(202)는 병렬 포맷의 데이터 비트를 제공하기 위하여 직렬-병렬 변환 회로를 포함한다. 판독 동작을 위해, 브리지 장치 입력/출력 인터페이스(202)는 GLBCMD_OUT 출력 포트를 통한 출력을 위하여 직렬 포맷의 데이터 비트를 제공하기 위한 병렬-직렬 변환 회로를 포함한다.
커맨드 포맷 변환기(208)의 로직이 이산 메모리 장치(104)와 호환되도록 신호의 로직 변환을 실행하기 위하여 특별히 설계되므로, 글로벌 포맷 및 로컬 포맷은 공지된 것으로 간주된다. 커맨드 포맷 변환기(208)는, 네이티브 포맷을 갖는 메모리 제어기 신호로 이산 메모리 장치를 제어하는데 이용되는 메모리 시스템의 메모리 제어기의 것과 적어도 실질적으로 유사한 제어 로직을 포함할 수 있음에 주목한다. 예를 들면, 커맨드 포맷 변환기(208)는, 이산 메모리 장치가 메모리 장치(16-1 내지 16-4)와 같은 비동기식 메모리 장치라면, 도 1a의 메모리 제어기(14)의 동일한 제어 로직을 포함할 수 있다. 이는 커맨드 포맷 변환기(208)의 제어 로직이 이산 메모리 장치에 네이티브한 로컬 포맷의 메모리 제어 신호의 타이밍 및 순서를 제공한다는 것을 의미한다.
글로벌 커맨드가 데이터 기록 동작에 대응하는 경우, 포맷 변환기(206)의 데이터 포맷 변환기(210)는 글로벌 포맷에서 로컬 포맷으로 데이터를 변환시키고, 이를 메모리 장치 인터페이스(204)에 전달한다. 판독 또는 기록 데이터의 비트는 로직 변환을 필요로 하지 않으며, 따라서 데이터 포맷 변환기(210)는 제1 데이터 포맷과 제2 데이터 포맷 사이의 데이터의 비트 위치에 대한 적절한 매핑을 보장한다. 포맷 변환기9206)는 이산 메모리 장치로부터의 판독된 데이터 또는 브리지 장치 입력/출력 인터페이스(202)로부터 수신된 기록 데이터를 저장하기 위한 데이터 버퍼로서 기능한다. 그러므로, 글로벌 포맷과 로컬 포맷 사이의 데이터 폭 불일치는 수용될 수 있다. 또한, 이산 메모리 장치와 브리지 장치(200) 사이 및 브리지 장치(200)와 다른 복합 메모리 장치 사이의 상이한 데이터 전송 속도는 데이터 포맷 변환기(210)의 버퍼링 기능으로 인하여 수용된다.
메모리 장치 인터페이스(204)는 다음으로 로컬 커맨드 포맷의 변환된 커맨드를 도 3b의 글로벌 커맨드(110)의 로컬 장치 어드레스(118)에 의해 선택되는 이산 메모장치로 전달 또는 통신한다. 본 실시예에서, 변환된 커맨드는 커맨드 경로(212)를 통해 제공된다. 실시예에서, 커맨드 경로(212)는 복합 메모리 장치의 각각의 이산 메모리 장치와 메모리 장치 인터페이스(204) 사이에 연결된 i 세트의 전용 로컬 I/O 포트(LCCMD-k) 또는 채널을 포함한다. 변수 i는 복합 메모리 장치의 이산 메모리 장치의 수에 대응하는 정수이다. 예를 들면, 각각의 LCCMD-k 채널은 도 1b 및 표 1에 도시된 모든 포트를 포함한다.
이하는 브리지 장치(200)의 동작 예의 설명으로서, 도 3a의 복합 메모리 장치(100)를 더 참조로 한다. 판독동작을 위하여, 입력 포트 GLBCMD_IN를 통하여 브리지 장치 입력/출력 인터페이스(202)에 도달하는 글로벌 판독 커맨드과 같은 글로벌 커맨드가 수신된다. 이러한 글로벌 판독 커맨드는 브리지 장치(200)는 브리지 장치(200)에 연결된 이산 메모리 장치(104)로부터 판독될 데이터를 위하여 글로벌 포맷의 op=코드 및 행 및 열 정보를 제공하는 글로벌 메모리 제어 신호를 포함한다. 일단 브리지 장치 입력/출력 인터페이스(202)가 글로벌 장치 어드레스(116)를 복합 메모리 장치(100)의 소정 어드레스와 비교함에 의해 글로벌 판독 커맨드에 대해 선택된 것으로 결정하는 경우, 커맨드 포맷 변환기(208)는 글로벌 판독 커맨드를 판독 데이터 커맨드가 실행되는 이산 메모리 장치(104)와 호환하는 로컬 포맷으로 변환한다. 후술하는 것처럼, 복합 메모리 장치는 할당된 어드레스를 가질 수 있다. 글로벌 판독 커맨드의 로컬 장치 어드레스(118)는 메모리 장치 인터페이스(204)에 전달되고, 변환된 판독 데이터 커맨드는 커맨드 경로(212)의 로컬 I/O 포트의 대응하는 세트를 통해 로컬 장치 어드레스에 의해 어드레스되는 이산 메모리 장치에 제공된다.
판독 데이터로 칭하는 데이터는 선택된 이산 메모리 장치(104)로부터 판독되고, 로컬 포맷의 메모리 장치 인터페이스(204)의 동일한 로컬 I/O 포트를 통해 데이터 포맷 변환기(210)에 제공된다. 데이터 포맷 변환기(210)는 다음으로 로컬 포맷으로부터 글로벌 포맷으로 판독 데이터를 변환하고, 판독 데이터를 선택된 이산 메모리 장치(104)로부터 브리지 장치 인터페이스(202)의 출력 포트 GLBCMD_OUT를 통해 메모리 제어기로 제공한다. 브리지 장치 인터페이스(202)는 데이터 포맷 변환기(210) 또는 입력 포트 GLBCMD_IN로부터의 판독 데이터를 출력 포트 GLBCMD_OUT로 결합시키기 위한 내부 스위칭 회로를 포함한다.
도 5는 본 실시예에 따라 메모리 제어기와 함께 링 토폴로지로 직렬 연결된 복수개의 복합 메모리 장치를 갖는 메모리 시스템이다. 본 실시예에서, 도시된 복합 메모리 장치 각각은 도 3a에 도시된 구조를 가지며, 도 4의 브리지 장치(200)를 가질 수 있다. 도 5의 메모리 시스템(300)은 도 2a의 직렬 메모리 시스템(20)과 유사하다. 메모리 시스템(300)은 메모리 제어기(302) 및 복합 메모리 장치(304-1 내지 304-j)를 포함하며, 여기서 j는 정수이다. 개별 복합 메모리 장치(304-1 내지 304-j)는 메모리 제어기(302)와 직렬로 상호 결선된다. 도 2a의 시스템(20)과 유사하게, 복합 메모리 장치(304-1)는 메모리 제어기(302)의 출력 포트(Sout)에 연결되어 있으므로 메모리 시스템(300)의 제1 복합 메모리 장치이며, 메모리 장치(304-n)는 메모리 제어기(302)의 입력 포트(Sin)에 연결되어 있으므로 최후 장치이다. 복합 메모리 장치(304-2 내지 304-7)는 다음으로 제1과 최후 복합 메모리 장치 사이에 연결된 중간에 있는 직렬 연결 메모리 장치이다. Sout 포트는 글로벌 포맷의 글로벌 커맨드를 제공한다. Sin 포트는 글로벌 포맷의 판독 데이터 및 모든 복합 메모리 장치를 통해 전파하는 글로벌 커맨드를 수신한다.
도 5에 도시된 복합 메모리 장치 각각은 도 3a에 도시된 복합 메모리 장치(100)가 유사하다. 복합 메모리 장치 각각은 브리지 장치(102) 및 4개의 이산 메모리 장치(104)를 갖는다. 전술한 것처럼, 각각의 복합 메모리 장치에서의 각각의 브리지 장치(102)는 각각의 이산 메모리 장치(104)에 연결되고, 메모리 제어기(302) 및/또는 이전 또는 이후의 직렬-링 토폴로지 또는 직렬 상호 결선 구조의 복합 메모리 장치에 연결된다. 각각의 복합 메모리 장치(304-1 내지 304-j) 각각의 기능은 도 3a 및 도 4의 실시예에 대해 이전에 설명된 것과 동일하다.
메모리 시스템(300)에서, 각각의 복합 메모리 장치는 고유 글로벌 장치 어드레스가 할당된다. 이러한 고유 글로벌 장치 어드레스는 브리지 장치(102)의 장치 어드레스 레지스터에 저장될 수 있으며, 보다 구체적으로는 도 4에 도시된 브리지 장치 블록도의 입력/출력 인터페이스(202)의 레지스터내에 저장될 수 있다. 이 어드레스는 공유인 미국 특허 공개 공보 제20080192649의 "직렬 상호 결선의 혼합 장치 유형과 무관한 식별자 제조를 위한 장치 및 방법"에 기재된 것처럼 장치 어드레스 할당 방식을 이용하여 메모리 시스템(300)의 작동 위상(power up phase) 동안 자동으로 할당될 수 있다. 또한, 각각의 복합 메모리 장치(304)는 각각의 복합 메모리 장치(304)내의 이산 메모리 장치의 수에 대한 정보를 저장하기 위한 이산 장치 레지스터를 포함할 수 있다. 그러므로, 동작의 동일한 작동 위상 동안, 메모리 제어기는 각각의 이산 장치 레지스터를 퀴리(query)할 수 있고, 각각의 복합 메모리 장치내의 이산 메모리 장치의 수를 기록할 수 있다. 따라서, 메모리 제어기는 메모리 시스템(300)의 각각의 복합 메모리 장치(304)의 개별 이산 메모리 장치(104)를 선택적으로 어드레스할 수 있다.
복합 메모리 장치(304-3)가 메모리 동작을 실행하기 위하여 선택되는 예를 이용한 메모리 시스템(300)의 동작은 이하와 같이 설명된다. 본 예에서, 메모리 시스템(300)은 도 2에 도시된 시스템과 유사하게 직렬 연결된 메모리 시스템이며, 이산 메모리 장치(104)의 각각은 비동기식 NAND 플래시 메모리 장치로 상정한다. 그러므로, 복합 메모리 장치(304-1 내지 304-j) 각각의 브리지 장치(102)는 메모리 제어기(302)에 의해 발급된 글로벌 포맷의 글로벌 커맨드를 수신하고 이들을 NAND 플래시 메모리 장치와 호환하는 로컬 포맷으로 변환하도록 설계된다. 또한, 메모리 시스템이 작동되고 각각의 복합 메모리 장치가 할당된 어드레스를 갖는 것으로 상정한다.
메모리 제어기(302)는 Sout 포트로부터 복합 메모리 장치(304-3)에 대응하는 글로벌 장치 어드레스(116)를 포함하는 글로벌 커맨드를 발급한다. 제1 복합 메모리 장치(304-1)는 글로벌 커맨드를 수신하고, 그 브리지 장치(102)는 자신에 할당된 글로벌 장치 어드레스와 글로벌 커맨드 내의 그것을 비교한다. 글로벌 장치 어드레스가 불일치하므로, 복합 메모리 장치를 위한 브리지 장치(102)는 글로벌 커맨드를 무시하고, 글로벌 커맨드를 복합 메모리 장치(304-2)의 입력 포트로 통과시킨다. 자신에 할당된 글로벌 장치 어드레스가 글로벌 커맨드 내의 것과 불일치하므로, 복합 메모리 장치(304-2)에서는 동일한 동작이 발생한다. 따라서, 글로벌 커맨드는 복합 메모리 장치(304-3)으로 통과된다.
복합 메모리 장치(304-3)의 브리지 장치(102)는 자신에 할당된 글로벌 장치 어드레스와 글로벌 커맨드내의 그것 사이의 일치를 결정한다. 그러므로, 복합 메모리 장치(304-3)의 브리지 장치(102)는 로컬 메모리 제어 신호를 NAND 플래시 메모리 장치와 호환하는 로컬 포맷으로 변환하게 된다. 브리지 장치는 다음으로 변환된 커맨드를 글로벌 커맨드내에 포함되는 로컬 장치 어드레스(118)에 의해 선택된 NAND 플래시 메모리 장치에 전송한다. 선택된 NAND 플래시 장치는 다음으로 수신된 로컬 메모리 제어 신호에 대응하는 동작을 실행한다.
복합 메모리 장치(304-3)의 브리지 장치(102)가 글로벌 커맨드를 변환하는 동안, 글로벌 커맨드를 다음 복합 메모리 장치로 통과시킨다. 나머지 복합 메모리 장치는 글로벌 커맨드를 무시하고, 결국 메모리 제어기(302)의 Sin 포트에서 수신된다. 글로벌 커맨드가 판독 동작에 대응하는 경우, 복합 메모리 장치(304-3)의 선택된 NAND 플래시 메모리 장치는 판독 데이터를 로컬 포맷의 대응하는 브리지 장치(102)에 제공한다. 브리지 장치(102)는 다음으로 판독 데이터를 로컬 포맷으로 변환하고, 이를 그 출력 포트를 통해 다음 복합 메모리 장치로 통과시킨다. 전체 나머지 복합 메모리 장치의 브리지 장치(102)는 판독 데이터를 메모리 제어기(302)의 Sin 포트로 통과시킨다. 당업자라면 NAND 플래시 메모리 장치에서의 상이한 동작을 실행하기 위하여 다른 글로벌 커맨드가 발급될 수 있고, 그 전체가 선택된 복합 메모리 장치(102)의 브리지 장치(102)에 의해 변환될 수 있음을 이해할 것이다.
본 실시예에서, 글로벌 커맨드는 메모리 시스템(300)내의 전체 복합 메모리 장치에 전파된다. 다른 실시예에 따르면, 브리지 장치(102)는 메모리 시스템(300)내의 추가 복합 메모리 장치에 글로벌 커맨드가 전파되는 것을 방지하기 위한 추가 로직을 포함한다. 보다 상세하게는, 글로벌 장치가 자신에 어드레스됨을 선택된 복합 메모리 장치가 결정한 경우, 대응하는 브리지 장치(102)는 그 출력 포트를 예를 들면 VSS 또는 VDD의 고정 전압 값과 같은 널(null) 값으로 구동한다. 그러므로, 나머지 비선택된 복합 메모리 장치는 이들이 글로벌 커맨드를 실행하지 않으므로 스위칭 전력을 보존한다. 그러한 직렬 연결 메모리 시스템에 대한 절전 방법이 공유된 미국 특허 공개 공보 제20080201588 "직렬 상호 결선된 혼합 장치 유형과 무관한 식별자의 제조 장치 및 방법"에 기재되어 있으며, 그 내용의 전부가 참조되었다.
전술한 도 5의 실시예는 동일한 유형의 예를 들면 비동기식 NAND 플래시 메모리 장치와 같은 이산 메모리 장치를 갖는 각각의 복합 메모리 장치(304-1 내지 304-N)가 내부에 있는 메모리 시스템을 도시한다. 이는 모든 복합 메모리 장치가 동일하기 때문에 균질 메모리 시스템으로 칭한다. 다른 실시예에서, 상이한 복합 메모리 장치가 상이한 유형의 이산 메모리 장치를 가지는 비균질 메모리 시스템이 가능하다. 예를 들면, 일부 복합 메모리 장치가 비동기식 NAND 플래시 메모리 장치를 포함하고, 다른 것들은 NOR 플래시 메모리 장치를 포함할 수 있다. 그러한 별도 실시예에서, 전체 복합 메모리 장치는 동일한 글로벌 포맷을 따르나, 내부적으로는 각각의 복합 메모리 장치는 글로벌 포맷 메모리 제어 신호를 NOR 플래시 메모리 장치 또는 NAND 플래시 메모리 장치에 대응하는 로컬 포맷 메모리 제어 신호로 변환하도록 설계되는 브리지 장치(200)를 갖는다.
다른 실시예에서, 단일 복합 메모리 장치는 상이한 유형의 이산 메모리 장치를 가질 수 있다. 예를 들면, 단일 복합 메모리 장치는 2개의 비동기식 NAND 플래시 메모리 장치 및 2개의 NOR 플래시 메모리 장치를 포함할 수 있다. 이러한 "혼합된" 또는 "비균질" 복합 메모리 장치는 전술한 동일한 글로벌 포맷을 따르나, 내부적으로는 그 브리지 장치는 글로벌 포맷 메모리 제어 신호를 NAND 플래시 메모리 장치 및 NOR 플래시 메모리 장치에 대응하는 로컬 포맷 메모리 제어 신호로 변환하도록 설계될 수 있다.
그러한 브리지 장치는 NAND 플래시 메모리 장치와 NOR 플래시 메모리 장치 각각에 대한 하나의 전용 포맷 변환기를 포함할 수 있으며, 이는 글로벌 커맨드내에 제공되는 전술한 어드레스 정보에 의해 선택될 수 있다. 도 3b에 대해 설명된 것처럼, 어드레스 헤더(114)는 시스템 레벨 및 복합 메모리 장치 레벨에서 사용되는 어드레싱 정보를 포함한다. 이러한 추가 어드레싱 정보는 메모리 커맨드 내의 op-코드를 실행하도록 복합 메모리 장치를 선택하기 위한 글로벌 장치 어드레스(GDA)(116) 및 op-코드를 실행하도록 선택된 복합 메모리 장치내에서 특정 이산 장치를 선택하기 위한 로컬 장치 어드레스(LDA)(118)를 포함한다. 브리지 장치는 2개의 포맷 변환기 중 어떤 것으로 글로벌 커맨드가 라우팅되는지를 결정하기 위하여 LDA(118)을 사용하는 선택기를 가질 수 있다.
복합 메모리 장치의 이전에 설명된 실시예는 일 포맷의 메모리 제어 신호에 응답하는 이산 메모리 장치가 어떻게 제2의 상이한 포맷을 갖는 글로벌 메모리 제어 신호를 이용하여 제어될 수 있는지를 보여준다. 다른 실시예에 따르면, 브리지 장치(200)는 동일한 포맷을 갖는 로컬 메모리 제어 신호를 이산 메모리 장치에 제공하기 위하여 하나의 포맷을 갖는 글로벌 메모리 제어 신호를 수신하도록 설계될 수 있다. 다시 말하면, 그러한 복합 메모리 장치는 이산 메모리 장치를 제어하는데 이용되는 메모리 제어 신호를 수신하도록 구성된다. 그러한 구성은 다수의 이산 메모리 장치가 복합 메모리 장치내의 다른 이산 메모리 장치와는 독립적으로 동작하는 메모리 뱅크로서 각각 기능하도록 한다. 그러므로, 각각의 이산 메모리 장치는 브리지 장치(200)로부터 커맨드를 수신할 수 있고, 서로에 대해 실질적으로 병렬로 동작을 실행하도록 한다. 이는 공존 동작(concurrent operation)으로서 칭한다. 그러므로, 브리지 장치(200)의 설계는 간략화되고, 커맨드 변환 회로는 필요하지 않다.
전술한 실시예들은 어떻게 복합 메모리 장치내의 이산 메모리 장치가 상이한 커맨드 포맷에 응답할 수 있는지를 나타낸다. 이는 수신된 글로벌 커맨드를 이산 메모리 장치와 호환하는 네이티브 커맨드 포맷으로 변환하는 브리지 장치를 통해 구현된다. 예를 들면, 직렬 커맨드 포맷은 비동기식 NAND 플래시 포맷으로 변환될 수 있다. 실시예는 임의의 커맨드 포맷 쌍이 하나에서 다른 하나로 변환될 수 있으므로, 이들 2개의 포맷에 제한되지 않는다.
사용된 포맷과는 무관하게, 적어도 일부 실시예에 따른 복합 메모리 장치의 이점은 그 내부의 이산 메모리 장치의 것보다 현저하게 큰 데이터 처리량을 제공하기 위한 주파수에서 동작될 수 있다는 것이다. 각각의 이산 메모리 장치(104)가 종래의 비동기식 NAND 플래시 메모리라면, 예를 들면 도 3a의 복합 메모리 장치를 이용하여, 핀 당 최대 데이터 속도는 약 40Mbps이다. 그러나, 클럭과 동기화한 적어도 하나의 데이터 스트림을 수신하는 브리지 장치(102)는 166MHz의 주파수에서 동작하도록 구성될 수 있어서,핀 당 최소 333Mbps 데이터 속도가 된다. 브리지 장치(102)를 제조하는데 이용되는 처리 기술에 따라, 핀 당 더 높은 데이터 속도를 구현하기 위하여, 동작 주파수는 200MHz 또는 그 이상이 될 수 있다. 그러므로, 데이터를 저장하기 위하여 도 5의 메모리 시스템(300)을 이용하는 대형 시스템에서, 고속 동작이 얻어질 수 있다. 어플리케이션 예로는 메모리 시스템(300)을 고성능 및 대형 저장 용량을 요구하는 컴퓨팅 시스템 또는 다른 어플리케이션에서의 대형 저장 매체로서 사용하는 것이다.
이산 메모리 장치와 브리지 장치 사이에서의 데이터 속도 불일치가 현저할 수 있으며, 현재 도시된 브리지 장치(102)의 실시예는 임의 레벨의 불일치를 보상한다. 복수개의 실시예에 따르면, 브리지 장치(102)는 대응하는 복합 메모리 장치(100)로부터의 판독 동작 동안 선택된 이산 메모리 장치(104)로부터의 판독 데이터의 소정량을 프리패치하고 저장한다. 판독 데이터는 이산 메모리 장치(104)에 대한 최대 허용 데이터 속도로 브리지 장치(102)에 전송된다. 판독 데이터의 소정량이 브리지 장치(102)에 저장된다면, 제한없이 최대 데이터 속도로 출력될 수 있다. 복합 메모리 장치(100)에 대한 프로그램 또는 기록 동작에 있어서, 브리지 장치(102)는 그 최대 데이터 속도로 프로그램 데이터를 수신하고, 이를 저장한다. 브리지(102)는 다음으로 선택된 이산 메모리 장치(104)에 대해 최대 허용된 데이터 속도로 선택된 이산 메모리 장치(104)내의 저장된 데이터를 프로그램한다. 이산 메모리 장치로부터 데이터를 판독하기 위한 및 이산 메모리 장치로 데이터를 프로그래밍하기 위한 최대 허용된 데이터 속도는 문서화된 기술 명세에서 표준화되거나 또는 요약될 수 있다.
도 4가 브리지 장치(200)의 기능적 블록을 일반적으로 설명하지만, 도 6은 실시예에 따른 브리지 장치(200)의 보다 상세한 블록도를 도시한다. 브리지 장치(200)는 4개의 메인 기능 블록을 포함하며, 이는 도 4의 브리지 장치(200)에서 도시된 것에 대응한다. 이들은 브리지 장치 입력/출력 인터페이스(402), 메모리 장치 인터페이스(404), 커맨드 포맷 변환기(406) 및 데이터 포맷 변환기(408)이다. 이들 블록은 각각이 도 4의 블록(202, 204, 208 및 210)에 대응하는 기능을 갖는다. 도 6의 실시예는 복합 메모리 장치가 종래의 NAND 플래시 메모리 장치를 포함하는 예에 적용되며, 복합 메모리 장치 자체는 도 2b의 직렬 인터페이스 플래시 메모리 장치에 대응하는 직렬 인터페이스를 가지도록 구성된다. 이하는 블록(402, 404, 406 및 408)을 상세하게 설명한다.
브리지 장치 입력/출력 인터페이스(402)는 하나의 포맷을 갖는 글로벌 메모리 제어 신호를 수신하고, 수신된 글로벌 메모리 제어 신호 및 이산 메모리 장치로부터의 판독 데이터를 다음의 복합 메모리 장치로 통과시킨다. 본 실시예에서, 이러한 글로벌 메모리 제어 신호는 도 2b에서의 식별된 메모리 제어 신호와 동일하며, 표 2에 기재되어 있다. 본 실시예를 이용하는 도 4와 관련하여, 글로벌 커맨드 GLBCMD_IN은 글로벌 메모리 제어 신호(SCI, DSI 및D[j])를 포함하며, 통과된 글로벌 커맨드(GLBCMD_OUT)는 각각이 CSO, DSO 및 Q[j]로 칭하는 글로벌 메모리 제어 신호(CSI, DSI 및 D[j])의 에코 버전(echo version)을 포함한다. 상술한 글러벌 메모리 제어 신호(CSI, DSI 및 D[j])은 이들이 동작을 실행하기 위한 브리지 장치(400)를 인에이블하는데 필요하므로 글로벌 커맨드으로 간주된다.
브리지 장치 입력/출력 인터페이스(402)는 표 2에서 이전에 서술된 신호를 수신하기 위한 입력 및 출력 포트를 갖는다. 이 블록은 입력 버퍼 회로, 출력 버퍼 회로, 드라이버, 입력 및 출력 버퍼 회로를 제어하고, 필요한 제어 신호를 커맨드 포맷 변환기(406)로 라우팅하고, 상이한 유형의 데이터를 데이터 포맷 변환기(408)로 및 로부터 라우팅하는데 이용되는 제어 로직을 포함한다. 그러한 유형의 데이터는 이에 제한되지는 않지만 예를 들면 어드레스 데이터, 판독 데이터, 프로그램 또는 기록 데이터 및 설정 데이터를 포함한다. 입력 포트 D[j]에서 수신된 및 출력 포트 Q[j]에서 제공된 데이터는 단일 데이터 속도(SDR) 또는 이중 데이터 속도(DDR) 포맷일 수 있다. 당업자라면 SDR 데이터가 클럭 신호의 상승 또는 하강 에지 각각에 대해 래칭되고, DDR 데이터는 클럭 신호의 상승 및 하강 에지 모두에 대해 래칭된다는 것을 이해할 것이다. 그러므로, 입력 및 출력 버퍼는 적절한 SDR 또는 DDR 래칭 회로를 포함한다. 브리지 장치 입력/출력 인터페이스(402)는 입력 포트 수신 제어 신호(CSI 및 DSI)를 에코 신호(CSO 및 DSO)를 제공하는 대응하는 출력 포트에 결합시키는 제어 신호 흐름 통과 경로를 포함한다. 유사하게, 데이터 신호 흐름 통과 경로는 입력 데이터 스트림(D[j])을 수신하는 입력 포트를 출력 데이터 스트림 Q[j]을 제공하는 대응하는 출력 포트에 결합시킨다. 출력 데이터 스트림은 D[j]에서 수신되는 입력 데이터 스트림이거나 또는 브리지 장치(400)에 연결된 이산 메모리 장치로부터 제공되는 판독 데이터일 수 있다.
본 실시예에서, 브리지 장치(400)는 메모리 시스템내의 다른 브리지 장치와 병렬인 차동 클럭(CK 및 CK#)을 수신한다. 선택적으로는, 차동 클럭(CK 및 CK#)은 도 5의 메모리 제어기(302)와 같은 메모리 제어기로부터 제공되는 소스 동기식 클럭 신호이며, 하나의 복합 메모리 장치로부터 그들 각각의 브리지 장치를 통해 다른 하나로 직렬로 통과한다. 그러한 구조에서, 브리지 장치(400)는 입력 포트에서 수신된 차동 클럭(CK, CK#)을 대응하는 출력 포트(도시 없음)에 결합하기 위한 클럭 흐름 통과 경로를 포함한다. 본 명세서에 참조되는, 공유된 미국 특허 공개 공보 제20090039927호 "메모리 시스템에 있어서의 클럭 모드 결정"은 병렬 또는 소스 동기식 클럭에 따라 동작하도록 직렬 연결된 메모리 장치를 인에이블링하기 위한 회로를 개시한다. 그러므로, 미국 특허 공개 공보 제20090039927호에서 개시된 기술은 브리지 장치(400)에 동일하게 적용될 수 있다.
메모리 장치 인터페이스(404)는 이산 메모리 장치와 호환하는 네이티브 또는 로컬 포맷을 따르는 로컬 메모리 제어 신호를 제공한다. 이러한 포맷은 글로벌 메모리 제어 신호의 포맷과는 상이할 것이다. 본 실시예에서, 메모리 장치 인터페이스(404)는 종래의 NAND 플래시 메모리 장치의 대응하는 갯수를 제어하기 위한 로컬 메모리 제어 신호의 세트를 가지며, 여기서 로컬 메모리 제어 신호의 각각의 세트는 사전에 표 1에 서술된 신호를 포함한다. 이 예 및 도 4를 참조로, 로컬 메모리 제어 신호의 각각의 세트는 복합 메모리 장치내의 대응하는 NAND 플래시 메모리 장치에 로컬 커맨드 LCCMD를 제공한다. 그러므로, 복합 메모리 장치내의 k NAND 플래시 메모리 장치가 존재하는 경우, 로컬 커맨드 LCCMD 또는 채널의 k 세트가 존재한다. 도 6에서, 로컬 메모리 제어 신호의 2개의 풀 세트는 LCCMD-1 및 LCCMD-2로서 라벨되고, 로컬 메모리 제어 신호의 나머지 풀 세트는 간단히 출력 포트 LCCMD-k로서 도시된다. 이러한 로컬 커맨드는 NAND 플래시 메모리 장치와 호환하는 적절한 순서, 로직 상태 및 타이밍을 구비하여, 로컬 커맨드으로 코딩된 동작을 실행할 것이다.
메모리 장치 인터페이스(404)는 표 1에 사전에 서술된 로컬 메모리 제어 신호를 제공하기 위한 출력 포트 및 기록 데이터를 제공하고 판독 데이터를 수신하기 위한 양방향 데이터 포트 I/O[i]를 가진다. 도 6에는 도시되지 않았지만, 메모리 장치 인터페이스(404)는 각각의 NAND 플래시 메모리 장치로부터 대기/비지 신호(R/B#)를 수신한다. 이러한 상태 신호는 대응하는 NAND 플래시 장치의 프로그램, 소거 및 판독 동작 중 임의의 하나가 완료된 경우를 결정하기 위하여 로직 및 op-코드 변환기 블록(414)에 의해 이용된다. 이 블록은 입력 및 출력 버퍼 회로를 제어하고, 데이터 포맷 변환기로 및 로부터 데이터를 라우팅하기 위해 이용되는 공지된 입력 버퍼 회로, 출력 버퍼 회로, 구동기 및 제어 로직을 포함한다. 그러한 유형의 데이터는 제한적이지는 않지만 예를 들면 어드레스 데이터, 판독 데이터 및 프로그램 또는 기록 데이터를 포함한다.
커맨드 포맷 변환기(406)는 적어도 op-코드 레지스터(410), 글로벌 장치 어드레스(GDA) 레지스터(412) 및 로직 및 Op-코드 변환기 블록(414)을 포함한다. 데이터 포맷 변환기(408)는 메모리(416), 메모리(416)를 위한 타이밍 제어 신호(418), 어드레스 레지스터(420), 가상 페이지 크기(VPS) 설정자 회로(422), 데이터 입력 경로 회로(424) 및 데이터 출력 경로 회로(426)를 포함한다. 먼저, 커맨드 포맷 변환기(406)가 설명된다.
커맨드 포맷 변환기(406)는 글로벌 커맨드에 대응하는 글로벌 메모리 제어 신호를 수신하고, 2개의 주 기능을 수행한다. 첫번째는 글로벌 커맨드의 op-코드를 디코드하고, 글로벌 커맨드에 의해 특정된 동일한 동작을 나타내는 로컬 커맨드내의 로컬 메모리 제어 신호를 제공한다. 이 op-코드 변환 기능을 내부 변환 로직(도시 없음)에 의해 수행된다. 예를 들면, 글로벌 커맨드가 특정 어드레스 위치로부터 데이터 판독을 요청하는 것이라면, 최종 변환된 로컬 메모리 제어 신호는 선택된 NAND 플래시 메모리 장치로부터의 판독 동작에 대응할 것이다. 두번째 주요 기능은 글로벌 커맨드에 응답하여, 브리지 장치(400)의 다른 회로를 제어하기 위한 내부 제어 신호를 발생하기 위한 브리지 장치 제어 기능이다. 이 브리지 장치 제어 기능은 전체 유효 글로벌 커맨드에 응답하여 사전 프로그램된 내부 상태 머신(도시 없음)에 의해 제공된다.
GDA 레지스터(412)는 글로벌 장치 어드레스라 칭하는 소정의 할당된 복합 메모리 장치 어드레스를 저장한다. 이러한 글로벌 장치 어드레스는 발급하는 글로벌 커맨드에 대해 동작하도록 메모리 시스템내의 복수개의 복합 메모리 장치 중에서 하나의 복합 메모리 장치를 선택하는 메모리 제어를 허용한다. 다시 말하면, 2개의 상술한 주요 기능은 복합 메모리 장치가 선택될 경우에만 수행된다. 도 3b에서 도시된 것처럼, 글로벌 커맨드(110)는 글로벌 메모리 제어 신호(GMCS)(112)에 응답하기 위한 복합 메모리 장치를 선택하기 위한 글로벌 장치 어드레스 필드(116)를 포함한다. 본 실시예에서, 글로벌 커맨드는 데이터 입력 포트 D[j]를 통해 하나 이상의 직렬 비트스트림으로서 수신되는데, 여기서 글로벌 장치 어드레스는 브리지 장치(400)에 의해 수신된 글로벌 커맨드(110)의 제1 부분이다. 로직 및 op-코드 변환기 블록(414)내의 비교 회로(도시 없음)는 글로벌 커맨드(110)의 글로벌 장치 어드레스 필드(116)내의 글로벌 장치 어드레스를 GDA 레지스터(412)내에 저장된 할당된 글로벌 장치 어드레스와 비교한다.
GDA 레지스터(412)내에 저장된 글로벌 장치 어드레스와 글로벌 커맨드(110)의 글로벌 장치 어드레스 필드(116) 상에 불일치가 있는 경우, 로직 및 op-코드 변환기 블럭(414)은 브리지 장치 입력/출력 인터페이스(402)에 의해 수신된 다음의 글로벌 메모리 제어 신호를 무시한다. 다르게는, 로직 및 op-코드 변환기 블럭(414)은 op-코드 레지스터(410)내의 글로벌 커맨드(110)의 op-코드를 래칭한다. 래칭되면, 이 op-코드는 디코드되어, 브리지 장치 제어 기능이 실행된다. 예를 들면, 래칭된 op-코드는 로직 및 op-코드 변환기 블록(414)내의 디코딩 회로에 의해 디코드되고, 다음으로 글로벌 커맨드(110)의 다음의 비트를 브리지 장치(400)내의 다른 레지스터로 향하도록 하기 위하여 브리지 장치 입력/출력 인터페이스(402)내의 라우팅 회로를 제어한다. 글로벌 커맨드(110)가 실행될 동작에 따라 상이한 유형의 데이터를 포함할 수 있으므로, 이는 필요하다. 다시 말하면, 로직 및 op-코드 변환기 블럭(414)은 디코딩된 op-코드를 기초로 브리지 장치 입력/출력 인터페이스에 비트가 도달하기 전의 글로벌 커맨드의 구조를 알 것이다. 예를 들면, 판독 동작은 각 레지스터내에 래칭된 블럭, 행 및 열 어드레스 정보를 포함한다. 반면에 소거 동작은 행 및 열 어드레스를 필요로 하지 않고, 단지 블럭 어드레스만을 필요로 한다. 따라서, 대응하는 op-코드는 어드레스 데이터의 특정 유형들이 브리지 장치 입력/출력 인터페이스(402)에 도달하는 시간을 로직 및 op-코드 변환기 블럭(414)에 지시하여, 그들 각각의 레지스터로 라우팅될 수 있다.
글로벌 커맨드(110)의 전체 데이터가 래칭되면, 변환 회로는 NAND 플래시 메모리 장치내에서 동일한 동작을 실행하는데 이용될 필요한 로직 상태, 순서 및 타이밍을 갖는 로컬 메모리 제어 신호를 생성한다. NAND 플래시 메모리 장치내의 특정 어드레스 위치에 억세스하는데 필요한 임의의 동작에 대해, 로직 및 op-코드 변호기 블럭(414)은 I/O[i] 포트를 통한 로컬 커맨드의 일부로서 발급하기 위하여 어드레스 레지스터(420)내에 저장된 어드레스 데이터를 변환한다. 후술하는 것처럼, 어드레스는 어플리케이션에 따라 크기가 변화할 수 있는 NAND 플래시 메모리 장치의 페이지 버퍼내의 가상 어드레스 공간에 억세스한다. 그러므로, 로직 및 op-코드 변환기 블럭(414)은 VPS 설정자(422)의 레지스터내에 저장된 설정 데이터를 기초로 어드레스를 NAND 플래시 메모리 장치와 호환하는 어드레스로 변환하기 위한 설정 가능 로직 회로를 포함한다. NAND 플래시 메모리 장치에 프로그램될 데이터는 메모리(416)에 의해 제공된다. 글로벌 커맨드(110)의 로컬 장치 어드레스(LDA)(118) 필드는 어떤 NAND 플래시 메모리 장치가 생성된 로컬 메모리 제어 신호를 수신하는지를 결정하기 위하여 로직 및 op-코드 변환기 블럭(414)에 의해 이용된다. 그러므로, LCCMD-1 내지 LCCMD-k 중 임의의 하나의 세트가 글로벌 커맨드(110)에 응답하는 생성된 메모리 제어 신호에 따라 구동된다.
본 실시예에서, 메모리(416)는 이중 포트 메모리이며, 여기서 각각의 포트는 데이터 입력 포트 및 데이터 출력 포트를 갖는다. 포트 A는 데이터 입력 포트 DIN_A 및 데이터 출력 포트 DOUT_A를 가지며, 포트 B는 데이터 입력 포트 DIN_B 및 데이터 출력 포트 DOUT_B를 갖는다. 포트 A는 메모리(416)와 이에 결합된 이산 메모리 장치 사이에서 데이터를 전송하기 위해 이용된다. 반면에 포트 B는 메모리(416)와 브리지 장치 입력/출력 인터페이스(402)의 D[j] 및 Q[j] 사이에서 데이터를 전송하기 위해 이용된다. 본 실시예에서, 포트 A는 메모리 클럭 주파수라 칭하는 제1 주파수에서 동작하고, 포트 B는 시스템 클럭 주파수라 칭하는 제2 주파수에서 동작한다. 메모리 클럭 주파수는 NAND 플래시 메모리 장치의 속도(speed) 또는 데이터 속도(rate)에 대응하며, 시스템 클럭 주파수는 브리지 장치 입력/출력 인터페이스(402)의 속도 또는 데이터 속도에 대응한다. NAND 플래시 메모리 장치에 프로그램될 데이터는 메모리(416)의 DOUT_A를 통해 판독되고, 다음으로 이산 메모리 장치와 호환하는 로컬 메모리 제어 신호를 생성한다. 이산 메모리 장치로부터 수신된 판독 데이터는 로직 및 op-코드 변환기 블럭(414)의 제어하에 DIN_A를 통해 메모리(416)에 직접 기록된다. 포트 B가 어떻게 이용되는지는 후술한다. 로직 및 op-코드 변환기 블럭(414)은 메모리 클럭 주파수와 동기하여 어드레스의 인가 및 디코딩의 타이밍, 데이터 센싱 및 포트 DOUT_A 및 DIN_A를 통한 데이터 출력 및 입력을 제어하기 위한 제어 로직을 포함한다.
이들 중의 시나리오에서, 글로벌 커맨드는 로직 및 op-코드 변환기 블럭(414)에게 메모리 제어 신호(LCCMD-1 내지 LCCMD-k)의 세트를 통해 판독 또는 기록 동작이 실행될 이산 메모리 장치를 선택하도록 지시한다. 글로벌 커맨드(110)의 로컬 장치 어드레스(LDA)(118) 필드는 어떤 NAND 플래시 메모리 장치가 생성된 로컬 메모리 제어 신호를 수신하는지를 결정한다. 그러므로, 글로벌 커맨드(110)에 응답하여 LCCMD-1 내지 LCCMD-k가 생성된 메모리 제어 신호에 따라 구동된다. 글로벌 커맨드는 동작을 보상하는 브리지 장치(400)내의 임의의 필요한 회로를 제어하기 위한 브리지 장치 제어 기능을 실행하도록 로직 및 op-코드 변환기 블럭(414)에 추가 지시한다. 예를 들면, 데이터 입력 경로 회로(424)는 로컬 메모리 제어 신호가 생성되기 전에 D[j]에서 수신된 데이터를 메모리(416)에 로딩 또는 기록하기 위한 기록 동작 동안 제어된다.
래칭된 op-코드는 로컬 커맨드내의 로컬 메모리 제어 신호를 생성하기 위한 op-코드 변환 기능을 가능하도록 할 수 있다. 임의의 NAND 플래시 메모리 동작을 필요로 하지 않는 유효 op-코드가 존재할 수 있으며, 따라서 브리지 장치(400)의 동작을 제어하는 것이 제한된다. NANDN 플래시 메모리에 대한 판독 또는 기록 동작이 요청되는 경우, 로직 및 op-코드 변환기 블럭(414)은 메모리 타이밍 제어 회로(418)를 제어하고, 이는 차례로 어드레스 레지스터(420)내에 저장된 어드레스를 기초로 메모리(416)내의 위치로부터 데이터를 기록 또는 판독하기 위한 타이밍을 제어한다. 이 회로의 추가 상세가 이하 설명된다.
데이터 포맷 변환기(408)는 브리지 장치 입력/출력 인터페이스(402)로부터 수신된 기록 데이터를 일시 저장하여 NAND 플래시 메모리 장치로 프로그램되도록 하고, NAND 플래시 메모리 장치로부터 수신된 판독 데이터를 일시 저장하여 브리지 장치 입력/출력 인터페이스(402)로부터 출력되도록 한다. 메모리(416)는 단일 블럭으로 기능적으로 도시되지만, 뱅크, 평면 또는 어레이와 같은 하부 분할로 논리적으로 또는 물리적으로 분할될 수 있으며, 여기서 각각의 뱅크, 평면 또는 어레이는 NAND 플래시 메모리 장치에 필적한다. 보다 상세하게는, 각각의 뱅크, 평면 또는 어레이는 페이지 버퍼로부터 판독 데이터를 수신하거나 또는 하나의 NAND 플래시 메모리 장치의 페이지 버퍼에 기록 데이터를 제공하도록 전담한다. 메모리(416)는 예를 들면 SRAM과 같이 임의의 휘발성 메모리일 수 있다. 상이한 유형의 메모리가 상이한 타이밍 및 다른 프로토콜 요구가 있을 수 있으므로, 타이밍 제어 회로(418)는 메모리(416)의 설계 명세에 따라 메모리(416)의 적절한 동작을 보장하도록 제공된다. 예를 들면, 어드레스의 인가 및 디코딩의 타이밍, 데이터 센싱 및 데이터 출력 및 입력은 타이밍 제어 회로(418)에 의해 제어된다. 행 및 열 어드레스를 포함할 수 있는 어드레스는 어드레스 레지스터(420)로부터 제공될 수 있으며, 기록 데이터는 데이터 입력 경로 회로(424)를 통해 제공되며, 판독 데이터는 데이터 출력 경로 회로(426)를 통해 출력된다. 후술하는 것처럼, 어드레스 레지스터(420)로부터 수신된 어드레스는 메모리(416)내의 가상 어드레스 공간에 억세스하고, 따라서 타이밍 제어 회로(418)내의 로직 회로에 의해 대응하는 물리적 어드레스로 변환된다. 이러한 로직 회로는 가상 어드레스 공간이 크기를 조정할 수 있으므로 VPS 설정자(422)내에 저장된 설정 데이터를 기초로 변환을 조정하도록 설정된다. 추가 상세는 후술한다.
데이터 입력 경로 회로(424)는 입력 포트 D[j]로부터 입력 데이터를 수신하며, 데이터가 하나 이상의 직렬 비트스트림으로 제공되므로, op-코드 레지스터(410) 및 어드레스 레지스터(420)와 같은 다양한 레지스터에 비트를 라우팅하거나 분배하기 위하여 스위칭 로직이 포함된다. op-코드가 선택된 복합 메모리 장치에 대해 디코드된다면 데이터 레지스터 또는 다른 유형의 레지스터와 같은 다른 레지스터(도시 없음)는 입력 데이터의 비트를 수신할 수 있다. 각각의 레지스터에 분포되는 경우, 데이터 포맷 변환 회로(도시 없음)는 직렬 포맷으로 수신된 데이터를 병렬 포맷으로 변환시킨다. 데이터 레지스터에서 래칭된 기록 데이터가 타이밍 제어 회로(418)의 제어하에 일시적 저장을 위하여 메모리(416)에 기록되고, 후에 로직 및 op-코드 변환기 블럭(414)에 의해 결정되는 적절한 커맨드 포맷을 이용하여 프로그래밍을 위하여 NAND 플래시 메모리 장치에 출력된다.
메모리(416)가 로컬 메모리 제어 신호의 하나의 세트의 I/O[i] 포트로부터의 NAND 플래시 메모리 장치로부터 판독 데이터를 수신한 이후에, 이 판독 데이터는 DOUT_B를 통해 메모리(416)로부터 판독되고, 데이터 출력 경로 회로(426)를 통해 출력 포트 Q[j]로 제공된다. 데이터 출력 경로 회로(426)는 출력 포트 Q[j]로부터 출력될 하나 이상의 직렬 출력 비트스트림에 대해 데이터의 비트를 분배하기 위한 병렬 직렬 변환 회로(도시 없음)를 포함한다. 데이터 입력 경로 회로(424)는 D[j] 입력 포트로부터 수신된 입력 데이터를 데이터 출력 경로 회로(426)에 직접 제공하고 출력 포트 Q[j]에 출력하기 위한 데이터 흐름 관통로(428)를 포함한다. 그러므로 D[j] 입력 포트에서 수신된 전체 글로벌 커맨드는 내장된 글로벌 장치 어드레스 필드가 GDA 레지스터(412)내에 저장된 글로벌 장치 어드레스와 일치하는지와 무관하게 Q[j] 출력 포트로 통과된다. 도 5의 직렬 연결된 메모리 시스템 실시예에서, 데이터 흐름 관통로(428)는 모든 복합 메모리 장치(304)가 메모리 제어기(302)에 의해 발급된 글로벌 커맨드를 수신할 것을 보장한다. 더욱이, 하나의 복합 메모리 장치(304)에 의해 제공된 임의의 판독 데이터는 임의의 중간 복합 메모리 장치를 통해 메모리 제어기(302)로 통과될 수 있다.
메모리(416)와 포트 Q[j] 및 D[j] 사이에서 데이터를 전송하는데 이용되는 상술한 전체 회로는 시스템 클럭 주파수와 동기하여 동작된다. 특히, 타이밍 제어 회로(418)는 시스템 클럭 주파수와 동기하여 어드레스의 인가 및 디코딩의 타이밍, 데이터 센싱 및 포트 DOUT_B 및 DIN_B을 통한 데이터 출력 및 입력을 각각 제어하기 위한 제어 로직을 포함한다. 타이밍 제어 회로(418)의 제어 로직은 메모리 클럭 주파수에서 메모리(416)의 동작을 제어하는 로직 및 op-코드 변환기 블럭(414)내의 제어 로직과 유사하다.
VPS 설정자 회로(422)에 대한 설명 전에, 어떻게 메모리(416)가 브리지 장치(400)의 판독 및 기록 동작 동안 이용되는지에 대해 설명한다. 전술한 것처럼, 브리지 장치 입력/출력 인터페이스(402)는 복합 메모리 장치내의 임의의 이산 메모리 장치에 의해 가능한 것보다 주어진 시간 주기내에서 더 많은 데이터를 제공 또는 수신하기 위하여 더 높은 주파수 또는 데이터 속도로 동작할 수 있다. 데이터 포맷 변환기(408)를 이용하여, 메모리(416)는 인터페이스(402 및 404) 중 하나를 통해 하나의 클럭 주파수에서 수신된 데이터를 일시적으로 저장하는데 이용되어, 저장된 데이터는 인터페이스(402 및 404) 중 다른 하나를 통해 상이한 주파수에서 제공될 수 있다. 메모리(416)는 i) 고속 인터페이스가 그의 상수 데이터 출력 속도를 유지하거나 또는 ii) 고속 인터페이스가 그의 상수 데이터 입력 속도를 유지하는 것을 보장하기 위하여, 데이터의 소정량을 저장하도록 충분히 크다.
이산 메모리 장치가 NAND 플래시 메모리 장치인 예를 이용하여, 당업자라면 NAND 플래시 메모리 장치가 판독 데이터 또는 기록 데이터의 페이지를 저장하기 위한 페이지 버퍼를 가지고, 여기서 페이지가 단일 로직 워드라인에 의해 활성화되는 메모리 셀내에 저장되는 데이터임을 이해할 것이다. 예를 들면, 페이지 버퍼는 메모리 어레이 아키텍쳐에 따라 2K, 4K 또는 8K의 크기일 수 있다. 하나의 행이 활성화되는 판독 동작 동안, 그 행의 메모리 셀에 대응하는 데이터의 하나의 페이지가 억세스되고, 감지되며, 페이지 레지스터내에 저장된다. 이는 코어 판독 시간(Tr)으로 칭한다. NAND 플래시 메모리 장치가 예를 들면 i=8의 I/O 폭을 가지는 경우, 페이지 레지스터의 콘텐츠는 그 최대 속도에서 한번에 8비트가 브리지 장치(400)로 출력된다. 브리지 장치(400)는 다음으로 데이터를 메모리(416)에 기록한다. 페이지 버퍼의 콘텐츠가 메모리(416)내에 저장되는 경우, 메모리(416)내에 저장된 페이지 버퍼 데이터의 전체 또는 일부가 높은 데이터 속도로 데이터 출력 경로 회로(426)를 통해 데이터 출력 포트 Q[j]로 출력될 수 있다. 기록 동작에서, 입력 포트 D[j]로부터 수신된 데이터는 인터페이스(402)의 최대 데이터 속도로 메모리(416)에 기록된다. 다음으로 데이터의 전체 또는 일부가 메모리(416)로부터 판독되고, 선택된 NAND 플래시 메모리 장치로 한번에 8비트씩 NAND 플래시 메모리 장치에 고유한 느린 데이터 속도로 제공된다. NAND 플래시 메모리 장치는 그 페이지 레지스터내에 데이터를 저장하고, 순차적으로 페이지 버퍼내의 데이터의 페이지를 선택된 행으로 프로그램하도록 내부 프로그래밍 동작을 수행한다. 이는 코어 프로그램 시간(Tpgm)으로 칭하며, 이는 메모리 셀이 바른 프로그램된 상태를 입증하기 위한 프로그램 입증 단계 및 이전 프로그램 반복으로부터 적절히 프로그램되지 않은 임의의 비트를 재프로그램하기 위한 임의의 필요한 순차적인 프로그램 반복을 포함한다.
도 7은 4개의 NAND 플래시 메모리 장치의 페이지 버퍼와 브리지 장치의 메모리 사이의 관계를 도시하는 복합 메모리 장치(500)의 블럭도이다. 복합 메모리 장치(500)는 도 3a에 도시된 복합 메모리 장치(100)와 유사하며, 도 7의 예에서는 4개의 NAND 플래시 메모리 장치(502) 및 브리지 장치(504)를 포함한다. 브리지 장치는 도 6의 브리지 장치(400)를 간략하게 한 버전으로 도시되며, 메모리(506)만이 도시된다. 브리지 장치의 다른 부품은 도 7에서는 생략되나, 브리지 장치(500)의 적절한 동작을 보장하기 위해서는 존재하는 것으로 이해되어야 할 것이다. 후술하는 것처럼, 메모리(506)는 4개의 NAND 플래시 메모리 장치(502) 각각의 페이지 버퍼와 대응하는 그룹으로 논리적으로 구성된다.
각각의 NAND 플래시 메모리 장치(502)는 각각이 "평면 0" 및 "평면 1"로 라벨된 2개의 평면(508 및 510)으로 구성된 메모리 어레이를 갖는다. 도시되지 않았지만, 행 회로는 평면(508 및 510) 각각을 통해 수평으로 연장하는 워드라인을 구동하며, 열 억세스 및 센스 회로를 포함할 수 있는 페이지 버퍼(512 및 514)는 평면(508 및 510) 각각을 통해 수직으로 연장하는 비트라인에 연결된다. 이러한 회로의 목적 및 기능은 당업자에게는 널리 알려져 있다. 임의의 판독 또는 기록 동작에 있어서, 하나의 논리 워드라인은 평면(508 및 510) 모두에 걸쳐 구동되고, 하나의 행 어드레스가 평면(508 및 510) 모두에서 동일한 물리적 워드라인을 구동하는 것을 의미한다. 판독 동작에서, 선택된 논리 워드라인에 연결된 메모리 셀내에 저장된 데이터는 페이지 버퍼(512 및 514)내에 감지되고 저장된다. 유사하게, 기록 데이터는 선택된 논리 워드라인에 연결된 메모리 셀에 프로그래밍하기 위하여 페이지 버퍼(512 및 514)내에 저장된다.
브리지 장치(504)의 메모리(506)는 각각이 페이지 버퍼(512 또는 514)가 적어도 동일한 저장 용량을 갖는 논리적 또는 물리적 보조 메모리(516)로 분할된다. 논리 보조 메모리는 메모리의 물리적 블럭내의 할당된 어드레스 공간일 수 있으며, 물리적 보조 메모리는 고정된 어드레스 공간을 갖도록 구별되게 형성된 메모리이다. 보조 메모리(516)는 Bank 0 내지 Bank 3으로 라벨된 메모리 뱅크(518)로 그룹화되는데, 여기서 메모리 뱅크(518)의 보조 메모리(516)는 단지 하나의 NAND 플래시 메모리 장치(502)의 페이지 버퍼와 관련된다. 다시 말하면, 메모리 뱅크(518)의 보조 메모리(516)는 하나의 NAND 플래시 메모리 장치(502)의 각각의 페이지 버퍼(512 및 514)에 대해 전용이다. 판독 동작 동안, 페이지 버퍼(512 및 514)내의 판독 데이터는 대응하는 메모리 뱅크(518)의 보조 메모리(516)로 전송된다. 프로그램 동작 동안, 메모리 뱅크(518)의 보조 메모리(516)내에 저장된 기록 데이터는 대응하는 NAND 플래시 메모리 장치(502)의 페이지 버퍼(512 및 514)로 전송된다. NAND 플래시 메모리 장치(502)는 단일 평면 또는 2 보다 많은 평면을 가질 수 있으며, 각각이 대응하는 페이지 버퍼를 갖는다. 그러므로, 메모리(506)는 각각의 페이지 버퍼에 전용인 보조 메모리를 가지도록 대응하여 구성될 것이다.
도 7에 따른 본 실시예는 페이지 버퍼 공간이 총 8KB이고, 2개의 개별 4KB 페이지 버퍼로서 구성된 NAND 플래시 장치(502)를 갖는다. 각각의 개별 4KB 페이지 버퍼는 예를 들면 평면(508) 또는 평면(510)과 같은 각각의 평면의 비트라인에 결합된다. 당업자라면 페이지 버퍼 크기는 NAND 플래시 메모리 장치의 전체 용량이 증가함에 따라 서서히 증가해서, 향후 NAND 플래시 메모리 장치는 실질적으로 훨씬 큰 페이지 버퍼를 가질 것임을 이해할 것이다. NAND 플래시 메모리 장치의 코어 판독 및 프로그램 시간은 실질적으로 상수이고, 당업자에게는 공지된 페이지 버퍼 크기와는 무관하므로, 큰 페이지 버퍼는 고속의 전체 판독 및 프로그램 동작을 고려한 것이다. 크기가 절반이 페이지 버퍼와 비교할 때, 다른 코어 판독 동작이 메모리 어레이의 상이한 행내에 저장된 다른 데이터의 페이지에 억세스하는데 필요하기 전에, 큰 페이지 버퍼는 2배의 판독 데이터의 상대적으로 상수인 버스트 판독을 가능하게 한다. 유사하게, 2배의 기록 데이터는 다른 기록 데이터의 페이지가 페이지 버퍼내에 로딩될 필요가 있기 전에, 동시에 메모리 어레이에 프로그램될 수 있다. 그러므로, 큰 페이지 버퍼는 음악 또는 비디오 데이터가 크기면에서 수 페이지일 수 있는 멀티미디어 어플리케이션용으로 적합하다.
도 7의 복합 메모리 장치(500)에서, 총 코어 판독 시간은 Tr로 칭하는 NAND 플래시 메모리 장치 코어 판독 시간과 전송 시간(Ttr)을 포함한다. 전송 시간(Ttr)은 페이지 버퍼(512 및 514)의 컨텐츠를 출력 또는 판독하기 위한 NAND 플래시 메모리 장치에 필요한 시간이어서, 이들은 하나의 메모리 뱅크(518)의 대응하는 보조 메모리(516)에 기록될 수 있다. 총 코어 프로그램 시간은 프로그램 전송 시간(Ttp)와 Tpgm으로 칭하는 NAND 플래시 메모리 장치 코어 프로그램 시간을 포함한다. 프로그램 전송 시간(Ttp)은 하나의 메모리 뱅크(518)의 보조 메모리(516)의 콘텐츠를 출력 또는 판독하기 위하여 브리지 장치(508)에 필요한 시간이어서 이들은 프로그래밍 동작 이전에 NAND 플래시 메모리 장치(502)의 대응하는 페이지 버퍼(512 및 514)로 로딩될 수 있다. 멀티미디어 어플리케이션에 있어서, 데이터는 상이한 NAND 플래시 메모리 장치에 걸쳐 저장될 수 있으며, 하나의 NAND 플래시 메모리 장치의 코어 동작을 마스크하도록 동시에 동작될 수 있으며, 다른 NAND 플래시 메모리 장치(502)에 대응하는 데이터는 브리지 장치(504)에 의해 출력된다. 예를 들면, 하나의 메모리 뱅크(518)로부터의 데이터의 버스트 판독 동안, 코어 판독 동작은 다른 메모리 뱅크(518)의 보조 메모리(516)를 다른 NAND 플래시 메모리 장치(502)로부터의 데이터로 로딩하기 위해 이미 진행중일 수 있다.
파일 크기가 NAND 플래시 메모리 장치 페이지 버퍼의 전체 페이지 크기 보다 작은 어플리케이션이 있을 수 있다. 그러한 파일은 퍼스널 컴퓨터 데스크탑 어플리케이션에 일반적으로 이용되는 텍스트 파일 및 다른 유사한 유형의 데이터 파일을 포함한다. 사용자는 일반적으로 그러한 파일을 통상 NAND 플래시 메모리를 사용하는 USB 비휘발성 저장 드라이브에 복사한다. 다른 부상하는 어플리케이션은 자기 하드 디스크 드라이브(HDD)를 대체할 수 있는 고상 드라이브(SSD)로서, 데이터를 저장하기 위하여 NAND 플래시 메모리 또는 다른 비휘발성 메모리를 사용한다. 복합 메모리 장치 판독 및 프로그램 순서는 아래의 차이점을 제외하고는 전술한 것과 동일하다. 이 예에서, 소망된 데이터는 전체 페이지 크기보다 작으며, 다른 데이터를 갖는 페이지내에 저장된다. 판독 동작에 있어서, 전체 페이지 버퍼 데이터가 선택된 NAND 플래시 메모리 장치(502)의 페이지 버퍼(512 및 514)로부터 대응하는 보조 메모리(516)로 전송된 이후에, 열 어드레스가 메모리 뱅크(518)의 보조 메모리(516)내에 저장된 소망된 데이터의 최초 및 최후 비트 위치의 장소를 한정하는데 이용된다. 데이터의 최초, 최후 및 중간 비트만이 브리지 장치(504)의 보조 메모리(516)로부터 판독된다.
그러한 시나리오에서의 전송 시간(Ttr)은 복합 메모리 장치의 전체 코어 판독 시간에 대한 현저한 기여로 인하여 특정 어플리케이션에 대해서는 허용되지 않는다. 그러한 어플리케이션은 판독 동작이 가능한 신속히 수행되어야 하는 경우의 SSD를 포함한다. NAND 플래시 메모리 장치에 대한 코어 판독 시간(Tr)이 임의의 페이지 버퍼 크기에 대해 상수로 유지되며, 전체 콘텐츠를 보조 메모리(516)로 전송하기 위한 전송 시간(Ttr)은 페이지 버퍼 크기에 직접적으로 의존한다.
본 실시예에 따르면, 복합 메모리 장치내의 NAND 플래시 메모리 장치의 페이지 버퍼의 최대 물리적 크기보다 작은 가상 페이지 크기라고 칭하는 가상의 최대 페이지 크기를 가지도록 메모리 뱅크(518)의 보조 메모리(516)를 설정함에 의해 복합 메모리 장치의 전송 시간(Ttr)은 최소화될 수 있다. 특정 메모리 뱅크(518)에 대한 가상 페이지 크기 설정을 기초로, 페이지 버퍼내에 저장된 가상 페이지 크기에 대응하는 데이터의 세그먼트만이 대응하는 보조 메모리(516)에 전송되는 경우에, 브리지 장치(504)는 판독 커맨드를 발급한다. 페이지 버퍼의 이러한 세그먼트는 페이지 세그먼트로 칭한다.
도 8a 내지 8c는 본 실시예에 따라 플래시 메모리 장치가 복합 메모리 장치로부터 판독되는 것처럼 어떻게 한 세트의 가상 페이지 크기에 대응하는 데이터가 이산 메모리 장치로부터 판독되는지를 설명한다. 도 8a 내지 8c는 하나의 완전히 보여진 제1 NAND 플래시 메모리 장치(602), 제2 NAND 플래시 메모리 장치(604)의 일부, 브리지 장치(606)의 일부를 갖는 복합 메모리 장치를 도시한다. 이 예에서 NAND 플래시 메모리 장치는 단일 페이지 버퍼(610)에 연결된 비트라인을 갖는 단일 평면(608)을 가진다. 브리지 장치(606)의 도시된 부분은 제1 보조 메모리(612), 제2 보조 메모리(614) 및 브리지 장치 입력/출력 인터페이스(616)를 포함한다. 제1 보조 메모리(612)는 제1 NAND 플래시 메모리 장치(602)와 관련된 제1 뱅크에 대응하며, 제2 보조 메모리(614)는 제2 NAND 플래시 메모리 장치(604)와 관련된 제2 뱅크에 대응한다. 본 실시예에서 판독 동작을 설명하는 것을 목적으로, NAND 플래시 메모리 장치(602)로부터의 데이터가 억세스되고, 제1 뱅크(제1 보조 메모리(612))의 가상 페이지 크기는 페이지 버퍼(610)의 최대 물리적 크기보다 작도록 설정되는 것을 가정한다.
도 8a를 시작으로, 브리지 장치(606)가 제1 NAND 플래시 메모리 장치(602)내에 저장된 데이터에 억세스하기 위한 판독 동작을 나타내는 글로벌 메모리 제어 신호를 수신하였고, 적절한 로컬 메모리 제어 신호를 제1 NAND 플래시 메모리 장치(602)로 인코드하여 제공하였음을 가정한다. 판독 커맨드에 대응하는 로컬 메모리 제어 신호에 응답하여, 제1 NAND 플래시 메모리 장치(602)는 로컬 메모리 제어 신호내의 어드레스 정보에 의해 선택된 행 또는 워드라인(618)을 활성화한다. 도 8b 이전에, 워드라인(618)이 활성화되는 경우 또는 이에 연결된 메모리 셀의 저장된 데이터에 억세스하는데 유효한 전압 레벨까지 구동되는 경우, 각각의 억세스된 메모리 셀에 연결된 비트라인 상에서 생성된 전류 또는 전압은 페이지 버퍼(610)내부의 감지 회로에 의해 감지된다. 그러므로, 억세스된 메모리 셀의 데이터 상태는 페이지 버퍼(610)내에 저장된다. 도 8c에서, NAND 플래시 메모리 장치(602)는 페이지 버퍼(610)의 비트 위치의 특정 범위내에 저장된 데이터를 브리지 장치(606) 특히 제1 보조 메모리(612)에 출력한다. 이러한 데이터 출력 공정은 NAND 플래시 메모리 장치(602)에 대한 최대 정격 속도 또는 데이터 속도까지 수행된다.
NAND 플래시 메모리 장치(602)의 예에서, 선택된 행(618)으로부터의 판독된 데이터가 일반적으로 대기/비지 신호를 통해 페이지 버퍼(610)내에 저장됨을 NAND 플래시 메모리 장치(602)가 브리지 장치(606)에 보고 또는 시그널한다면, 비트 위치의 특정 범위에 대응하는 열 어드레스를 포함하는 버스트 판독 커맨드는 자동으로 브리지 장치(606)에 의해 제공된다. 열 어드레스는 제1 보조 메모리(612)에 대한 설정된 가상 페이지 크기를 기초로 결정된다. 제1 보조 메모리(612)내에 저장된 다음으로 데이터는 고속 또는 데이터 속도로 브리지 장치 입력/출력 인터페이스(616)를 경유하여 복합 메모리 장치(600)의 출력 데이터 포트를 통해 출력된다.
그러므로, 제1 보조 메모리(612)에 대한 가상 페이지 크기를 페이지 버퍼(610)의 최대 물리적 크기보다 작게 설정함에 의해, 페이지 버퍼(610)로부터의 데이터의 대응하는 크기의 페이지 세그먼트만이 제1 보조 메모리(612)로 출력된다는 것을 알 수 있다. 이러한 페이지 세그먼트는 각각이 열 어드레스에 의해 어드레스 가능한 비트 위치의 특정 범위를 포함한다. 후술하는 것처럼, 페이지 세그먼트는 어드레스 가능하다. 따라서, NAND 플래시 메모리 장치(602)가 페이지 버퍼(610)로부터 데이터의 이러한 페이지 세그먼트를 출력하기 위한 전송 시간(Ttr)은 페이지 버퍼(610)의 전체 데이터가 제1 보조 메모리(612)에 전송되는 상황과 관련하여 현저히 감소될 수 있다.
상술한 예는 어떻게 전송 시간(Ttr)이 최소화될 수 있는지를 설명한다. 가상 페이지 크기가 페이지 버퍼(610)의 최대 물리적 크기 보다 작도록 설정하면 기록 동작 동안 동일한 성능 이점을 제공한다. 기록 동작에서, 도 8a 내지 8c에 도시된 순서는 효과적으로 반대가 된다. 예를 들면, 기록 데이터는 브리지 장치 입력/출력 인터페이스(616)에 의해 수신되고, 제1 보조 메모리(612)와 같은 보조 메모리에 기록된다. 이러한 기록 데이터는 프리셋 가상 페이지 크기에 일치하는 크기를 가지며, 이는 페이지 버퍼(610)로 전송된다. 이러한 기록 데이터를 브리지 장치(606)로부터 페이지 버퍼(610)에 전송하는데 필요한 시간은 전송 시간(Ttr)으로서, 기록 데이터의 크기 및 NAND 플래시 메모리 장치(602)의 동작 주파수에 의존한다. 기록 데이터는 페이지 세그먼트라 칭하는 페이지 버퍼(610)의 특정 비트 위치내에 저장되며, NAND 플래시 메모리(602)의 코어 프로그래밍 동작은 선택된 행(618)의 활성화 및 페이지 버퍼(610)내에 저장된 기록 데이터에 응답하여 필요한 프로그래밍 전압을 비트라인에 인가함을 통해 시작된다. 그러므로, 기록 동작 동안 전송 시간(Ttr)을 단축함에 의해, 메모리 시스템의 전체 기록 시간이 감소된다.
본 실시예에 따르면, 브리지 장치(606)의 제1 보조 메모리(612)는 프리셋 가상 페이지 크기 중 임의의 하나를 가지도록 동적으로 설정될 수 있다. 제1 보조 메모리(612)의 가상 페이지 크기가 설정되면, 대응하는 NAND 플래시 메모리 장치의 페이지 버퍼(610)는 설정된 가상 페이지 크기에 대응하는 동일한 크기의 페이지 세그먼트로 논리적으로 분할된다. 도 9a 내지 9d는 설정된 가상 페이지 크기를 기초로 상이한 크기의 페이지 세그먼트를 갖는 NAND 플래시 메모리 장치 페이지 버퍼(650)를 개략적으로 도시한다. 페이지 세그먼트는 페이지 버퍼(650)내의 가상 어드레스 공간을 나타낸다. 도 9a 내지 9d에 따른 본 실시예에서, NAND 플래시 페이지 버퍼 및 브리지 장치의 보조 메모리 둘다는 최대 4K의 물리적 크기를 갖는다. 도 9a에서, 가상 페이지 크기(VPS)는 최대 또는 최고 4K 크기로 설정되어서, 단지 하나의 페니지 세그먼트(652)만이 존재한다. 도 9b에서, VPS는 2K로 설정되어, 두개의 2K 페이지 세그먼트(654)가 된다. 도 9c에서, VPS는 1K로 설정되고, 4개의 1K 페이지 세그먼트(656)가 된다. 도 9d에서, VPS는 512 바이트(B)로 설정되어, 크기가 8페이지 세그먼트 512B가 된다. 당업자라면 더 소형 크기의 VPS가 가능하고, 대응하는 페이지 세그먼트가 가능함을 이해할 것이며, 페이지 세그먼트의 총 수는 NAND 플래시 메모리 장치 페이지 버퍼(650)의 최대 크기에 의존함을 알 것이다.
본 실시예에 대해 전술한 것처럼, NAND 플래시 메모리 장치의 페이지 버퍼(650)가 판독 동작에 대한 데이터로 로딩된 이후에, 페이지 버퍼(650)의 페이지 세그먼트만이 브리지 장치로 출력된다. 소망된 데이터는 페이지 버퍼(650)의 특정 페이지 세그먼트 중 하나에 저장될 수 있다. 그러므로, 각각의 페이지 세그먼트는 글로벌 커맨드내에 제공된 가상 페이지 어드레스에 의해 브리지 장치로 어드레스 가능하다. 예를 들면, 2개의 어드레스 비트는 도 9c의 4개의 페이지 세그먼트(656) 중 하나를 선택하는데 이용된다. 선택된 경우에, 소망된 데이터는 페이지 버퍼(650)의 선택된 페이지 세그먼트내의 전체 비트 위치를 점유하지 않을 수 있다. 그러므로, 가상 열 어드레스는 판독 데이터가 일반적으로는 버스트 판독 동작에서 판독 데이터가 판독되는 선택된 페이지 세그먼트내에서 제1 비트 위치를 선택하는데 이용된다. 표 3은 이하에서 도 9a 내지 9d에 도시된 예를 든 페이지 세그먼트를 기초로 한 예시된 어드레싱 방식을 요약한다.
가상 페이지 크기 설정 페이지 세그먼트의 수 페이지 세그먼트를 어드레싱하기 위한 비트(VPA) 각각의 페이지 세그먼트내의 비트 위치를 어드레싱하기 위한 비트(VCA)
4096B 1 N/A 12
2048B 2 1 11
1024B 4 2 10
512B 8 3 9
예시적 어드레싱 방식이 예를 들면 표 3에 도시되나, 당업자라면 상이한 어드레싱 방식이 NAND 플래시 메모리 장치의 페이지 버퍼의 크기에 의존하여 이용될 수 있음을 이해할 것이다. 표 3에 도시된 것처럼, 각각의 어드레싱 방식은 2 이상의 페이지 세그먼트를 어드레싱하기 위한 제1 수의 비트 및 선택된 페이지 세그먼트내의 열을 어드레싱하기 위한 제2 수의 비트를 포함한다. 제1 수의 비트는 가상 페이지 어드레스(VPA)라 칭하고, 제2 수의 비트는 가상 열 어드레스(VCA)라 칭한다. 가상 페이지 어드레스 및 가상 열 어드레스는 총체적으로 간략히 가상 어드레스라 칭한다. 본 실시예에서, 각각의 보조 메모리 또는 서브 메모리의 뱅크의 VPS 설정은 판독 데이터를 요청하는 메모리 제어기 또는 다른 호스트 시스템으로 공지되며, 기록 데이터를 복합 메모리 장치에 제공한다. 그러므로, NAND 플래시 메모리 장치의 페이지 버퍼로부터 페이지 세그먼트를 판독하기 위한 가상 어드레스는 글로벌 커맨드내에서 특정 NAND 플래시 메모리 장치에 억세스하기 위하여 대응하는 어드레싱 방식으로 복합 메모리 장치에 제공된다. 표 3에 도시된 것을 포함하는 가능한 어드레싱 방식은 페이지 버퍼의 가상 또는 논리적 어드레스 공간을 어드레스한다. 이러한 논리적 어드레스 공간이 도 9a 내지 9d의 페이지 버퍼(650)내의 페이지 세그먼트의 비트 위치로서 기술되었지만, 실제 페이지 버퍼는 실제 물리적 어드레스들로 어드레스된다.
가상 어드레스가 수개의 상이한 어드레싱 방식 중 하나를 따를 수 있으므로, 적절한 대응하는 물리적 어드레스가 NAND 플래시 메모리 장치의 페이지 버퍼 및 보조 메모리 양쪽의 억세스 데이터를 위해 생성되는 것을 보장하도록 도 6의 로직 및 op-코드 변환기 블럭(414)내의 변환 회로 및 타이밍 제어 회로(418)내의 어드레스 디코딩 회로가 설정된다. 이는 정적으로 설정된 변환 로직이 고정된 어드레스 범위를 위해 설계되고, 특정 어드레스 비트를 수신하기 위하여 "고정 배선(hard-wired)" 입력을 갖는다는 사실 때문이다. 어드레싱 방식은 선택된 가상 페이지 크기와 관련되므로, VPS 설정 코드는 가상 어드레스를 물리적 어드레스로 변형(translate)하거나 또는 변환시키는 어드레스 변환 회로를 동적으로 설정하는데 이용된다. 당업자라면 조정 가능한 로직 기능 및 디코딩 회로가 공지되어 있음을 이해할 것이다.
본 실시예에 따르면, 가상 어드레스는 NAND 플래시 페이지 버퍼의 선택된 페이지 세그먼트로부터 판독될 데이터를 선택하는데 주로 이용된다. 판독 동작에 있어서, 페이지 버퍼 및 이러한 판독 동작과 관련된 뱅크의 대응하는 보조 메모리로의 억세스가 이러한 가상 어드레스를 기초로 하도록 이러한 가상 어드레스는 래칭된다. 이는 단지 하나의 어드레스 정보 세트가 판독 동작을 위해 제공되므로 복합 메모리 장치에 대한 제어를 간략하게 한다. 도 6을 참조로, 로직 및 op-코드 변환기 블럭(414)은 가상 어드레스를 NAND 플래시 메모리 장치에 대한 대응하는 어드레스 신호로 변환하기 위하여 VPS 설정 코드를 이용한다. 이러한 동일한 가상 어드레스는 타이밍 제어 회로(418)내의 VPS 설정 코드에 의해 설정되는 변환 로직에 의해 변형되어, 페이지 버퍼로부터의 데이터가 내부에 저장되는 보조 메모리의 기록 어드레스를 생성한다. 동일한 변환 로직 또는 유사 변환 로직은 가상 어드레스를 판독 어드레스로 변환하여, 복합 메모리 장치로부터 출력되는 이전 기록 동작으로부터 저장되는 데이터를 판독한다.
도 7을 참조로, 메모리(506)의 각각의 메모리 뱅크(518)는 자체의 가상 페이지 크기를 가지도록 독립적으로 설정 가능하다. 브리지 장치의 메모리 뱅크(518)를 설정하기 위하여, 글로벌 가상 페이지 크기 설정 커맨드가 복합 메모리 장치에 제공된다. 이는 복합 메모리 장치를 포함하는 시스템에 대한 파워업(power up) 이후에 제공될 수 있다. 도 6의 브리지 장치(400)를 참조로, VPS 설정 커맨드는 D[j] 입력 포트에서 수신되며, 보조 메모리 뱅크, op-코드, 및 글로벌 장치 어드레스(GDA) 중 적어도 하나에 대한 VPS 설정 코드를 포함한다. 상술한 것처럼, GDA는 커맨드에 따라 동작하거나 커맨드를 실행하도록 특정 복합 메모리 장치를 선택하는데 이용된다. op-코드는 로직 및 op-코드 변환기 블럭(414)에 의해 디코드되고, 순차적으로 수신된 가상 페이지 크기 설정 데이터는 브리지 장치(400)내의 제어 회로에 의해 VPS 설정자(422)내의 대응하는 가상 페이지 레지스터에 라우팅된다.
도 10은 본 실시예에 따른 VPS 설정 커맨드의 계층 구조를 개략적으로 도시한다. 도 10의 우측으로부터 시작해서, VPS 설정 커맨드(700)의 구조는 전술한 GDA 필드(702), op-코드 필드(704) 및 본 실시예에서는 4개의 VPS 데이터 필드(706, 708, 710 및 712)를 포함한다. GDA 필드(702) 및 op-코드 필드(704)는 4개의 VPS 데이터 필드(706, 708, 710 및 712)까지 포함하는 데이터 페이로드에 앞서는 헤더로서 칭해질 수 있다. 도 7을 참조로, 4개의 VPS 데이터 필드의 위치는 메모리(506)의 특정 메모리 뱅크(518)에 대응한다. 도 7의 메모리(506)에 적용되는 도 10의 본 실시예에서, VPS 데이터 필드(706)는 Bank0에 대응하고, VPS 데이터 필드(708)는 Bank1에 대응하며, VPS 데이터 필드(710)는 Bank2에 대응하며, VPS 데이터 필드(712)는 Bank3에 대응한다. VPS 설정 커맨드(700)의 필드의 우에서 좌로의 순서는 이들이 브리지 장치(504)에 제공되는 순서를 나타낸다. VPS 설정 커맨드(700)의 VPS 데이터 필드의 수는 메모리(506)의 메모리 뱅크(518)의 수에 직접적으로 비례한다. 예를 들면, 메모리(506)가 8개의 메모리 뱅크(518)를 포함하도록 설계된다면, VPS 설정 커맨드(700)는 최대 8개의 대응하는 VPS 데이터 필드를 포함할 수 있다.
본 실시예에 따르면, 메모리(506)의 메모리 뱅크(518)는 최하위 뱅크로부터 최상위 뱅크로 순서가 정해진다. 그러므로, 도 7의 예에서, Bank0은 최하위 뱅크이고, Bank3는 최상위 뱅크이다. 후술하는 것처럼, VPS 설정 커맨드(700)는 메모리 뱅크(518)를 설정하기 위한 회로 및 로직을 간략하게 하기 위하여 Bank0 내지 Bank3의 순서를 따르는 VPS 데이터 필드 구조를 갖는다. 그러므로, op-코드 필드에 인접한 제1 VPS 데이터 필드(706)는 최하위 VPS 데이터 필드이고, VPS 데이터 필드(712)는 최상위 VPS 데이터 필드이다. 이러한 순서 방식으로, VPS 설정 커맨드(700)는 설정될 최고위 메모리 뱅크(518)에 의존하여 동적으로 크기가 정해질 수 있다. 보다 상세하게는, 설정될 최고위 메모리 뱅크(518)에 대응하는 VPS 데이터 필드 및 전체 하위 뱅크만이 VPS 설정 커맨드(700)에 포함된다. 이는 도 11a 및 11b에 상세히 도시된다.
도 11a 및 11b는 설정될 최고위 메모리 뱅크(518)를 기초로 어떻게 도 10의 VPS 설정 커맨드(700)가 제공되는지의 예를 도시하는 순서도이다. 두 순서도는 표 2에 설명된 신호 CSI 및 D[j]에 대한 신호 트레이스를 도시한다. 예를 들면 도 7의 메모리를 이용하여, 도 11a 에서 Bank3가 설정되는 것을 가정한다. GDA 필드(702)는 브리지 장치(504)에 의해 먼저 수신되고, GDA 필드(702)내의 어드레스가 현재 브리지 장치(504)내에 저장된 장치 어드레스와 일치하는 것으로 가정한다. op-코드 필드(704)에서 다음에는 16진 코드 Fch로서, 가상 페이지 크기 설정 커맨드에 대응한다. 설정될 최고위 뱅크가 Bank3이므로, 전체 4개의 VPS 데이터 필드가 브리지 장치(504)에 제공되고, 그 안에서 래칭된다. 본 실시예에서, Bank0, Bank1 및 Bank2에 대한 VPS 데이터 필드는 VPS 설정 코드(VPS0, VPS1, VPS2 및 VPS3)를 포함하나, VPS 설정이 변하지 않고 유지되도록 사전에 래칭된 동일한 데이터일 것이다. 다시 말하면, 대응하는 레지스터는 이전의 VPS 설정 코드로 겹쳐 기록된다. 다른 실시예에서, Bank0, Bank1 및 Bank2에 대한 VPS 데이터 필드는 디코드되는 널(null) 값을 포함하여, 겹친 기록 동작이 방지되고, 이러한 뱅크에 대한 이전에 래칭된 VPS 설정 코드는 변하지 않고 유지된다. 도 11a의 예의 연장에서, Bank0, Bank1 및 Bank2 중 하나 이상이 각 VPS 데이터 필드내의 새로운 VPS 설정 코드를 포함함에 의해 Bank3를 따라 설정될 수 있다. 그러므로, 최고위 메모리 뱅크(518)가 설정되는 경우, 나머지 하위 뱅크는 선택적으로 설정될 수 있다.
도 11a는 VPS 설정 커맨드(700)가 최대 크기인 예를 도시한다. 도 11b는 VPS 설정 커맨드가 단축되는 예를 도시한다. 도 11b에서, Bank1이 설정되는 것으로 가정한다. 설정될 최고위 뱅크가 Bank1이므로, Bank2 및 Bank3에 대한 VPS 데이터 필드는 생략된다. Bank0에 대한 VPS 데이터 필드가 포함되는데, 전술한 것처럼 이는 새로운 VPS 설정 코드, 이전 래칭된 VPS 설정 코드 또는 널 값을 포함할 수 있다. 도 11a 및 11b 둘다에서, CSI 스트로브 신호는 브리지 장치를 시그널링하기 위하여 VSS로 구동되고, D[j] 입력 포트 상에 나타나는 추가 커맨드 정보는 유효하지 않다. 도 11a 및 11b에 도시된 것처럼, CSI 스트로브의 고 로직 레벨 지속 기간은 VPS 설정 커맨드의 크기에 대응하고, 보다 구체적으로는 VPS 설정 커맨드의 모든 비트를 래칭하는데 필요한 클럭 사이클의 수에 대응한다.
VPS 설정 커맨드(700)의 전술한 구조로, 도 6에 먼저 도시된 VPS 설정자(422)에 대한 로직 및 래칭 회로는 VPS 커맨드 구조와 관련하여 간략화되는데, VPS 설정 코드는 설정될 뱅크에 대해서만 랜덤하게 제공된다.
도 11a 및 11b의 예의 둘다에서, 복합 메모리 장치에 커맨드를 발급하고 복합 메모리 장치로부터 판독 데이터를 수신하기 위한 메모리 제어기 또는 다른 제어 회로는 VPS 설정 커맨드(700)를 세트한다. 메모리 제어기는 먼저 설정될 최고위 메모리 뱅크를 식별하고, 다음으로 최하위 메모리 뱅크에 대응하는 제1 VPS 설정 코드내지 설정될 식별된 최고위 메모리 뱅크에 대응하는 최근 VPS 설정 코드까지를 포함하는 것으로 제한되는 데이터 페이로드를 갖는 커맨드를 발급한다. 최초 및 최후 VPS 설정 코드 사이의 다른 VPS 설정 코드가 중간 VPS 구성 코드로 칭한다.
도 12a는 본 실시예에 따른 VPS 설정자(422)의 개략적 회로도이다. VPS 설정자(422)는 VPS 설정 커맨드(700)의 VSP 설정 코드에 대응하는 데이터를 저장하기 위한 도미노 래칭 회로를 포함한다. 보다 상세하게는, VPS 설정자(422)는 레지스터(800, 802, 804 및 806) 및 클럭 신호(CLK)를 기초로 하는 순서로 레지스터(800, 802, 804 및 806) 각각을 인에이블링하기 위한 도미노 활성화 로직(808)을 포함한다. 본 도시된 실시예에서, 레지스터(800)는 레지스터의 그룹을 나타내고, 여기서 그룹의 각각의 레지스터는 VPS 설정 코드(VPS0)의 일 비트의 수신, 저장 및 제공에 대해 전용이다. 레지스터(802, 804 및 806)는 유사하게 설정된다. 그러므로, 각각의 레지스터는 VPS 설정 코드의 크기에 일치하기 위하여 크기면에서 임의의 비트수 일 수 있다. 본 실시예는 4개의 레지스터(800, 802, 804 및 806)를 포함하나, 도 7의 메모리(506)의 메모리 뱅크(518)의 수와 일치하도록 임의수의 레지스터가 포함될 수 있다. 도미노 활성화 로직(808)은 서로 직렬로 배열된 시드 신호 발생기(810) 및 4개의 래치 신호 발생기(812, 814, 816 및 818)를 포함한다.
레지스터(800, 802, 804 및 806)는 본 실시예에서 널리 알려진 D형 플립플롭 회로로 도시된다. 레지스터(800, 802, 804 및 806) 각각은 VPS 설정 코드를 수신하기 위한 D 입력, 래칭된 VPS 설정 코드를 제공하기 위한 Q 출력, 및 D 입력에서 수신된 VPS 설정 코드의 수신을 인에이블링하고 래칭하기 위한 클럭 입력을 갖는다. 본 실시예에서, 도 10의 VPS 설정 커맨드(700)의 VPS 데이터 필드내에 제공된 VPS 설정 코드는 레지스터(800, 802, 804 및 806)의 전체 D 입력에 연결되는 공통 버스로 시간 다중화된다. 이러한 공통 버스는 VPS 데이터 버스(VPS_DB)이다. 본 실시예의 일 구현예에서, VPS 설정 코드에 대응하는 전체 데이터 비트는 VPS_DB 클럭 사이클상에 어서트된다. 그러므로, 본 도시된 예에서, 4개이 상이한 VPS 설정 코드는 4개의 연속 클럭 사이클에서 VPS_DB 상에 어서트된다. 그러므로, 각각의 레지스터(800, 802, 804 및 806)는 적절한 시간에서의 도미노 활성화 로직(808)에 의해 VPS_DB 상에 나타나는 데이터를 래칭하기 위하여 활성화된다. 그러므로, 레지스터(800, 802, 804 및 806)는 래칭된 VPS 설정 코드(LVPS0, LVPS1, LVPS2 및 LVPS3)를 각각 출력한다.
도미노 활성화 로직(808)은 회로가 시작된 이후에 클럭 신호(CLK)의 각각의 액티브 에지에 응답하여 클럭 펄스(CK0, CK1, CK2 및 CK3)를 생성한다. 상술한 예 구현에서, VPS 설정 코드는 각각의 클럭 사이클에 대해 VPS_DB로 어서트되고, 클럭 펄스(CK0, CK1, CK2 및 CK3)는 각 클럭 사이클에 대해 한번 생성된다. 도미노 활성화 로직(808)은 펄스된 제어 신호(STRT)에 응답하여 시작 신호를 생성하는 시드 신호 발생기(810)에 의해 시작된다. 래치 신호 발생기(812, 814, 816 및 818) 각각은 데이터 입력 포트(D), 클럭 입력 포트(CK), 리셋 포트(R), 및 출력 포트(Q1 및 Q2)를 갖는다. 이하는 래치 신호 발생기(812, 814, 816 및 818) 중 임의의 하나의 동작을 설명한다. 데이터 입력 포트(D)에서의 고 로직 레벨(즉, 로직 "1" 상태)은 클럭 입력 포트(CK)에서 수신된 클럭 신호의 상승 에지에서 래칭되며, 결과적으로 출력 포트(Q1)로부터의 고 로직 레벨 펄스의 생성을 초래한다. Q1으로부터의 고 로직 레벨 펄스 지속 기간은 D 입력 상에 나타나는 데이터를 래칭하기 위하여 대응하는 레지스터(800, 802, 804 및 806)를 인에이블 할만큼 충분히 길다. 출력 포트(Q2)는 데이터 입력 포트(D)에서의 고 로직 레벨 신호에 응답하여 고 로직 레벨 신호를 제공하며, 이는 다음 래치 신호 발생기에 대한 인에이블 신호로서 기능한다. 이러한 인에이블 신호는 각각의 래치 신호 발생기(812, 814 및 816)로부터 각각 ENO, EN1 및 EN2로 라벨된다. 최후 래치 신호 발생기(818)는 체인내에서 인에이블할 래치 신호 발생기가 더이상 없으므로 그의 Q2 출력으로부터 인에이블 신호를 제공할 필요가 없다. 도 12a의 실시예에서, 리셋 신호(RST)는 전체 래치 신호 발생기(812, 814, 816 및 818) 모두에 제공되는 RST_b를 생성하기 위한 인버터(820)에 의해 반전된다. RST가 고 로직 레벨인 경우, 전체 래치 신호 발생기(812, 814, 816 및 818)의 Q1 및 Q2 출력은 저 로직 레벨로 떨어진다.
가상 페이지 크기 설정자 회로(422)의 동작이 도 12b의 순서도를 참조로 이제 이하 설명된다. 도 10의 VPS 설정 커맨드(700)와 같은 VPS 설정 커맨드는 브리지 장치에 의해 수신되며, VPS 설정 코드(VPS0, VPS1, VPS2 및 VPS3)는 도 11a에 도시된 포맷의 브리지 장치에 순서대로 제공된다. 도 12b는 신호 CLK, STRT, RST, VLD, CK0, CK1, CK2, CK3, EN0, EN1 및 EN2에 대한 신호 트레이스를 도시한다. 클럭 사이클 0에서 시작하여, STRT는 고 로직 레벨로 펄스되고, 시드 신호 발생기(810)는 VLD를 고 로직 레벨로 구동하게 된다. 고 로직 레벨의 VLD로, 래치 신호 발생기(812)는 CK0를 클럭 사이클 1에서의 CLK의 상승 에지에서 고 로직 레벨로 구동한다. 제1 상승 에지 다음의 CLK의 하강 에지에 대해, CK0는 저 로직 레벨로 구동된다. CK0의 고 로직 레벨 펄스 동안, 레지스터(800)는 클럭 사이클 1 동안 VPS_DB 상에서 어서트되는 VPS0를 래칭하기 위하여 클럭된다. CK0가 저 로직 레벨로 구동된 직후에, 인에이블 신호(EN0)는 래치 신호 발생기(812)에 의해 고 로직 레벨로 구동된다. 그러므로 본 실시예에서, CK0는 CLK의 고 로직 레벨의 지속 기간 동안과 실질적으로 대응하는 펄스 지속 기간을 갖는다. CLK가 클럭 사이클 1에서의 저 로직 레벨에 있으므로, 순차 래치 신호 발생기(814)는 비활성으로 유지되고, EN0는 고 로직 레벨이다. 그러나, 클럭 사이클 2의 시작에서, 래치 신호 발생기(814)는 CLK의 상승 에지에서 EN0의 고 로직 레벨을 래칭하여, CK1을 고 로직 레벨로 구동한다. 대응하는 레지스터(802)는 클럭 사이클 2 동안 VPS_DB 상에서 어서트된 VPS1을 래칭한다. CK1은 결과적으로 저 로직 레벨로 구동되고, 다음으로 EN1은 고 로직 레벨로 구동된다. 도 12에서 알 수 있는 것처럼, 래치 신호 발생기(816 및 818)는 클럭 사이클 3 및 4에서 각각 래치 신호 발생기(812 및 814)에 대해 사전 설명되고 도시된 것과 동일한 방식으로 응답한다. 클럭 사이클 5의 시작에서, RST는 동작을 종료하기 위하여 고 로직 레벨로 펄스된다. RST 펄스에 응답하여, 전체 래치 신호 발생기는 그 출력을 예를 들면 저 로직 레벨과 같은 널 값으로 리셋 및 구동한다.
요약하면, STRT 신호에 의해 시작되고, 각각의 래치 신호 발생기는 각각의 클럭 사이클에서 그 Q1 출력으로부터 클럭 펄스를 제공하고, 순차 클럭 사이클에서 인에이블링은 다음 래치 신호 발생기를 인에이블한다. 이러한 클럭 펄스의 캐스캐이드된 발생은 계속되고, 리셋 신호(RST)는 비활성 저 로직 레벨이다. 그러므로, 각각의 레지스터는 대응하는 클럭 사이클 동안 VPS_DB에 대해 어서트되는 VPS 설정 코드를 래칭하기 위하여 순서대로 인에이블된다. 실시예의 이 특정예에서, 신호 STRT는 VPS 설정 커맨드내에서 제공되는 VPS 설정 op-코드에 응답하여 로직 및 op-코드 변환기 블럭(414)에 의해 제공될 수 있다. 스트로브 신호(CSI)의 지속 기간이 VPS 설정 커맨드의 크기와 직접 관련되므로, CSI의 하강 에지는 일 실시예에서 동작을 종료시키는 RST 펄스의 생성을 트리거하도록 이용될 수 있다. 도 11a를 참조하면, VPS 설정 커맨드가 VPS2를 뱅크 2로 설정하는 것으로 종료된다면, CSI는 디어서트되거나 또는 VPS2의 최후 비트가 래칭된 이후에 저 로직 레벨로 구동된다. CSI의 하강 에지에 응답하여 RST 펄스를 생성하기 위하여 당업자라면 간결한 로직이 이행될 수 있다.
도 12a에 도시된 시드 신호 발생기 및 래치 신호 발생기는 입력 신호에 응답하여 타이밍 특성을 갖는 신호를 제공하도록 기능적으로 설명되었다. 타이밍 관계는 도 12b에 도시된 예시적 순서도에 의해 도시되었다. 당업자라면 도시된 입력 신호에 응답하여 이들 신호를 발생하기 위해 다양한 로직 회로가 개발될 수 있음을 이해할 것이다. 도 13은 도 12a의 가능한 시드 신호 발생기(810)의 개략적 회로도이고, 도 14는 도 12a의 가능한 래치 신호 발생기(812, 814, 816 또는 818)의 개략적 회로도이다.
도 13의 시드 신호 발생기(810)는 D 입력을 갖는 공지된 D형 플립플롭 레지스터(850), 클럭 입력, 리셋 입력 및 Q 출력을 포함한다. 시드 신호(VLD)를 생성하기 위하여, D 입력은 클럭 입력에 제공된 STRT에 응답하여 래칭되는 VDD에 묶인다. 그러므로, STRT 고 로직 레벨 펄스에 응답하여, VLD는 VDD의 고 로직 레벨로 구동된다. RST가 고 로직 레벨로 펄스되는 경우, 회로는 리셋되고 VLD는 VSS의 저 로직 레벨로 구동된다.
도 14는 도 12a에 도시된 하나의 래치 신호 발생기의 개략적 회로도이다. 래치 신호 발생기(860)는 2개의 D-형 플립플롭 레지스터(862 및 864), NAND 로직 게이트(866) 및 OR 로직 게이트(868)를 포함한다. 도 12a에 도시된 래치 신호 발생기의 입력 및 출력은 입력 및 출력 포트로서 칭한다. 플립플롭 레지스터(862)는 D 입력 포트에 연결된 D 입력, CK 입력 포트에 연결된 클럭 입력, OR 게이트(868)를 통해 R 입력 포트에 연결된 리셋 입력, 및 Q1 출력 포트에 연결된 Q 출력을 갖는다. 그러므로, 플립플롭 레지스터(862)는 D 입력 포트에 나타나는 고 로직 레벨 신호를 래칭하고, CK 입력 포트에 나타나는 신호의 상승 에지에 응답하여 이 Q 출력을 고 로직 레벨로 구동한다. NAND 로직 게이트(866)는 CK 입력 포트에 연결된 반전 입력 및 플립플롭 레지스터(862)의 Q 출력에 연결된 비반전 입력을 갖는다. NAND 로직 게이트(866)의 출력은 플립플롭 레지스터(864)에 제공된다. 이러한 설정에서, NAND 로직 게이트(866)는 Q1이 고 로직 레벨이고, CK가 저 로직 레벨이다. 이러한 상황에서, NAND 로직 게이트(866)의 출력은 저 로직 레벨로 구동된다.
플립플롭 레지스터(864)는 고 로젝 레벨에 대응하는 VDD 전원에 연결된 D 입력, NAND 로직 게이트(866)의 출력에 연결된 반전 클럭 입력, R 입력 포트에 연결된 리셋 입력, 및 Q2 출력 포트에 연결된 Q 출력을 갖는다. NAND 로직 게이트(866)가 Q1이 고 로직 레벨임을 검출하고, CK가 저 로직 레벨인 경우, 플립플롭 레지스터(864)는 Q2를 고 로직 레벨로 래칭한다. 전술한 것처럼, Q2는 연결될 수 있는 다음 하류 래치 신호 발생기를 인에이블한다. OR 로직 게이트(868)는 플립플롭 레지스터(864)의 Q 출력에 연결된 반전 입력, R 입력 포트에 연결된 비반전 입력 및 플립플롭 레지스터(862)의 리셋 입력에 연결된 출력을 갖는다. Q2가 플립플롭 레지스터(864)에 의해 고 로직 레벨로 구동되는 경우 또는 R 입력 포트가 고 로직 레벨인 경우에. OR 로직 게이트(868)의 출력은 저 로직 레벨로 구동된다. OR 로직 게이트(868)는 플립플롭 레지스터(864)에서 플립플롭 레지스터(862)까지의 피드백 경로를 형성하고, 여기서 플립플롭 레지스터(862)는 출력 포트(Q2)가 고 로직 레벨인 경우에 리셋된다.
요약하면, D 입력 포트가 고 로직 레벨인 경우, 고 로직 레벨인 CK 입력 포트에서 수신된 신호에 응답하여, Q1은 고 로직 레벨로 구동된다. CK 입력 포트에서 수신된 신호가 저 로직 레벨로 떨어지는 경우, Q1은 고 로직 레벨에서 저 로직 레벨로 구동된다. 더욱이, 플립플롭 레지스터(864)는 리셋될 때까지 전체 순차 클럭 사이클에 대해 출력 포트(Q2)를 고 로직 레벨로 유지한다. 출력 포트(Q2)를 고 로직 레벨로 유지하면서, 플립플롭 레지스터(862)는 리셋 상태로 유지되고, 따라서 CK 입력 포트를 래칭으로부터 차단하고, CK 입력 포트에서 나타나는 다음 상승 에지에서 Q1을 구동한다.
본 실시예는 각 VPS 설정 코드의 전체 데이터 비트가 동시에 VPS_DB 에 어서트되는 것을 가정한다. 이는 브리지 장치가 동시에 또는 1 클럭 사이클에 전체 VPS 설정 코드 데이터 비트를 수신하도록 설정되는 것을 의미한다. 예를 들면, VPS 설정 코드가 크기가 0 비트인 경우, 브리지 장치 입력/출력 인터페이스(402)는 8 D[j] 포트(여기서 j=8)를 가질 수 있다. 다른 실시예에서, 브리지 장치 입력/출력 인터페이스(402)가 4개의 D[j] 포트를 가지는 경우, 4 비트가 각각의 클럭 사이클로 제공되므로, 전체 8 비트의 VPS 설정 코드는 2 클럭 사이클 이후에 수신된다. 그러므로, 하나의 VPS 설정 코드에 대응하는 데이터의 일부분은 각 클럭 사이클에서 래칭되는데, 여기서 그 부분은 데이터를 수신하는데 이용되는 D[j] 포트의 수에 의존한다. 그러한 설정에서, 도 12a의 회로는 레지스터(800)가 최초 클럭 사이클에서 최초 4 비트를 래칭하고, 레지스터(802)는 제2 클럭 사이클에서 최후 4 비트를 래칭한다. 그러므로, 추가 래치 신호 발생기는 도미노 활성화 로직(808)에 추가되고, 레지스터는 적절한 클럭 펄스를 수신하기 위하여 재배치된다. 그러므로, 어플리케이션 요구에 따라, VPS 설정 코드 크기 및 브리지 장치 입력/출력 인터페이스의 임의 조합이 이용될 수 있다.
도 12a의 VPS 설정자(422)는 VPS 설정 커맨드내의 VPS 설정 코드를 신속히 래칭하기 위한 간략한 회로이다. 도 7을 참조로, 메모리 뱅크(518)는 최하위 뱅크에서 최상위 뱅크로 순서가 정해지고, 최상위 뱅크 및 그 대응하는 NAND 플래시 메모리 장치는 그 VPS 설정이 가장 빈번하지 않게 변화되는 것으로서 지정될 수 있다. 다음으로, 최하위 뱅크 및 그 대응하는 NAND 플래시 메모리 장치는 VPS 설정 커맨드 구조의 이점을 활용하기 위하여 그 VPS 설정이 가장 빈번히 변화되는 것으로서 지정될 수 있다. 최하위 뱅크가 그 VPS 설정을 빈번하게 변화시킨다면, VPS 설정 코드 VPS0에 대응하는 제1 VPS 데이터 필드만을 포함함에 의해 커맨드는 최소 크기가 된다. 빈번히 발급되는 최소 크기의 VPS 설정 커맨드를 가짐에 의해, 커맨드를 수신하고 처리하기 위하여 각각의 복합 메모리 장치에 위해 적은 시간이 요구되므로, 전체 성능은 개선된다.
이하는 본 실시예에 따라 적어도 하나의 복합 메모리 장치를 갖는 메모리 시스템에서의 복합 메모리 장치의 메모리 뱅크의 가상 페이지 크기를 설정하기 위한 방법을 요약한다. 그러한 메모리 시스템은 도 5에 도시된 메모리 시스템 설정을 가질 수 있고, 여기서 각각의 복합 메모리 장치는 도 6에 도시된 브리지 장치(400)를 갖는다. 도 15의 흐름도에 도시된 방법은 특정 가상 페이지 크기를 갖는 것으로 설정되는 브리지 장치(400)내의 메모리 뱅크 중 적어도 하나의 메모리 뱅크를 메모리 제어기가 식별하도록 하는 단계(900)에서 시작한다. 전술한 것처럼, 메모리 뱅크는 최하위에서 최상위 메모리 뱅크로 순서가 정해질 수 있다. 메모리 제어기는 내부에서 메모리 시스템이 가상 페이지 크기를 설정하는데 이용되는 호스트 시스템으로부터 요청에 따라 동작할 수 있다. 다르게는, 메모리 제어기는 호스트 시스템이 메모리 시스템내에서 저장할 수 있는 데이터의 유형에 따라 알고리즘을 자동으로 추종할 수 있다. 메모리 뱅크 또는 설정될 메모리 뱅크들이 식별되고 그 가상 페이지 크기가 할당되는 경우, 메모리 제어기는 단계(902)에서 헤더 및 설정될 메모리 뱅크에 대응하는 VPS 설정 코드만으로 구성된 데이터 페이로드를 갖는 VPS 설정 커맨드를 발급한다. 본 실시예에서, 최하위 메모리 뱅크에서 설정될 최고위 메모리 뱅크까지에 대응하는 VPS 설정 코드만이 VPS 설정 커맨드의 데이터 페이로드내에 포함된다. 본 실시예에서, 이러한 VPS 설정 코드는 그 대응하는 메모리 뱅크와 관련하여 중요도의 증가 순서로 발급된다.
여기서 설명된 시스템에서, CSI 스트로브 신호는 VPS 설정 커맨드를 구비한다. CSI 스트로브 신호는 헤더의 시작에서 고 로직 레벨로 구동되고, 다음으로 최고위 VPS 설정 코드의 최후 비트 또는 비트들인 데이터 페이로드의 끝에서 저 로직 레벨로 구동된다. 단계(902)의 결과는 도 11a 또는 11b의 예에서 도시된다. VPS 설정 커맨드의 헤더가 GDA 필드를 포함하므로, 본 커맨드는 선택된 복합 메모리 장치로 발급된다. 최초 복합 메모리 장치는 그 브리지 장치를 통해 할당된 장치 어드레스가 VPS 설정 커맨드의 GDA 필드내의 어드레스와 일치하는지를 결정한다. 불일치의 경우, 브리지 장치는 op-코드를 무시하고, VPS 설정 커맨드는 복합 메모리 장치에 의해 시스템내의 순차 복합 메모리 장치로 중계된다. 결과적으로, 선택된 복합 메모리 장치는 GDA 필드내의 어드레스와 일치하는 장치 어드레스를 갖는다. 일치하는 어드레스에 응답하여, 단계(904)에서 브리지 장치는 VPS 설정 코드의 래칭을 진행한다. 일단 래칭되면, 뱅크의 가상 페이지 크기가 설정된다. 본 실시예에서, CSI가 비활성 저 로직 레벨까지 떨어지는 경우, VPS 설정 코드의 래칭은 종료한다. 그러므로, VPS 설정 커맨드는 데이터 페이로드내에 있는 VPS 설정 코드의 수를 나타내는 임의의 추가 정보를 포함할 필요는 없다. 메모리 뱅크의 논리적 순서가 미리 결정되므로, VPS 설정 코드는 동일한 논리적 순서를 구비한다. 그러므로, 설정 커맨드는 어떤 VPS 설정 코드가 메모리 뱅크와 일치되어야 함을 나타내는 정보를 포함할 필요가 없다.
데이터 페이로드의 크기는 설정될 최고위 메모리 뱅크에 의존하므로, 메모리 뱅크 가상 페이지 크기가 변화하지 않고 유지되는 하위 메모리 뱅크가 있을 수 있다. 그러나, VPS 설정 커맨드가 최하위 메모리 뱅크에서 설정될 최고위 메모리 뱅크까지에 대응하는 전체 VPS 설정 코드를 포함하므로, 변하지 않은 메모리 뱅크의 이전 가상 페이지 크기에 대응하는 VPS 설정 코드가 발급된다. 그러므로, 이전 VPS 설정 코드가 동일한 VPS 설정 코드로 겹쳐 기록되고, 대응하는 메모리 뱅크에 대한 가상 페이지 크기에 변화가 없다.
여기서 설명된 실시예는 브리지 장치내의 메모리 뱅크에 대한 가상 페이지의 크기가 어떻게 설정될 수 있는지를 도시한다. 전술한 회로, 커맨드 포맷 및 방법이 어플리케이션 요구에 적합하도록 설정 가능한 가상 또는 논리적 크기를 갖는 메모리를 갖는 임의의 반도체 장치에서 이용될 수 있다.
이전 설명에서, 이해를 돕기 위해서, 본 발명의 실시예의 철저한 이해를 제공하기 위하여 수개의 상세한 것이 설명되었다. 그러나, 당업자에게는 이러한 특정 상세한 설명이 본 발명의 실행하는데 필요하지 않음이 명백하다. 다른 예로는, 본 발명을 모호하게 하지 않기 위해서 공지된 전기 구조 및 회로는 블럭도 형태로 도시된다.
여기서 소자가 다른 소자에 소위 "연결" 또는 "결합"되는 경우, 이는 다른 소자에 직접 연결 또는 결합되거나 또는 인터비닝 소자가 존재할 수 있음이 이해될 것이다. 대조적으로, 소자가 다른 소자에 "직접 연결" 또는 "직접 결합"되는 것으로 칭할 경우, 인터비닝 소자가 존재하지 않는다. 소자들 사이의 관계를 설명하는데 이용되는 다른 용어들도 유사한 방식으로 이해되어야 할 것이다(즉, "사이에"와 "직접 사이에", "인접"과 "직접 인접", 등). 설명된 실시예의 특정 적응 및 개조가 가능하다. 그러므로, 상술한 실시예는 예로서 제한적이지 않은 것으로 이해되어야 한다.

Claims (11)

  1. 브리지 장치로서:
    데이터 저장을 위한 가상 페이지 버퍼;
    글로벌 커맨드에 응답하여 외부 장치와 상기 가상 페이지 버퍼 사이에서 제1 데이터 속도로 데이터를 전송하기 위한 브리지 장치 인터페이스; 및
    로컬 커맨드에 응답하여 메모리 장치와 상기 가상 페이지 버퍼 사이에서 상기 제1 데이터 속도와는 상이한 제2 데이터 속도로 데이터를 전송하기 위한 메모리 장치 인터페이스
    를 포함하는, 브리지 장치.
  2. 청구항 1에 있어서, 상기 메모리 장치는 고정된 최대 크기를 갖는 페이지 버퍼를 포함하는, 브리지 장치.
  3. 청구항 1에 있어서, 상기 제1 데이터 속도는 상기 제2 데이터 속도보다 큰, 브리지 장치.
  4. 청구항 1에 있어서, 상기 메모리 장치 인터페이스는 비동기식이며, 상기 브리지 장치 인터페이스는 클럭 신호를 수신하는 동기식 인터페이스인, 브리지 장치.
  5. 청구항 1에 있어서, 상기 메모리 장치 인터페이스는 병렬 포맷으로 상기 로컬 커맨드를 제공하고, 상기 브리지 장치 인터페이스는 직렬 포맷으로 상기 글로벌 커맨드를 수신하는, 브리지 장치.
  6. 청구항 1에 있어서, 상기 브리지 장치 인터페이스와 상기 가상 페이지 버퍼 사이에서 상기 제1 데이터 속도로 데이터를 전송하기 위한 데이터 경로 회로를 더 포함하는, 브리지 장치.
  7. 청구항 6에 있어서, 상기 데이터 경로 회로는 상기 브리지 장치 인터페이스에서 수신된 기록 데이터를 상기 가상 페이지 버퍼내의 저장을 위하여 상기 가상 페이지 버퍼에 전송하기 위한 데이터 입력 경로 회로 및 상기 가상 페이지 버퍼내에 저장된 판독 데이터를 상기 브리지 장치 인터페이스에 전송하기 위한 데이터 출력 경로 회로를 포함하는, 브리지 장치.
  8. 청구항 7에 있어서, 상기 가상 페이지 버퍼는
    상기 데이터 입력 경로 회로로부터 상기 기록 데이터를 수신하기 위한 제1 입력 포트,
    상기 판독 데이터를 상기 데이터 출력 경로 회로에 제공하기 위한 제1 출력 포트,
    상기 메모리 장치 인터페이스로부터 상기 판독 데이터를 수신하기 위한 제2 입력 포트, 및
    상기 메모리내에 저장된 상기 기록 데이터를 제공하기 위한 제2 출력 포트
    를 갖는 메모리를 포함하는, 브리지 장치.
  9. 청구항 8에 있어서, 상기 메모리의 상기 제2 출력 포트로부터 상기 기록 데이터를 수신하고 상기 기록 데이터를 상기 메모리 장치에 전송하기 위한 상기 로컬 커맨드를 생성하는 컨버터 회로를 더 포함하는, 브리지 장치.
  10. 브리지 장치로서:
    제1 데이터 속도로 판독 데이터를 수신하기 위한 메모리 장치 인터페이스;
    상기 메모리 장치 인터페이스에 의해 수신된 상기 판독 데이터를 저장하기 위한 가상 페이지 버퍼; 및
    상기 제1 데이터 속도와는 상이한 제2 데이터 속도로 상기 메모리 장치 인터페이스내에 저장된 상기 판독 데이터를 출력하기 위한 브리지 장치 인터페이스
    를 포함하는, 브리지 장치.
  11. 브리지 장치로서:
    제1 데이터 속도로 기록 데이터를 수신하기 위한 브리지 장치 입력/출력 인터페이스;
    상기 브리지 장치 인터페이스에 의해 수신된 상기 기록 데이터를 저장하기 위한 가상 페이지 버퍼; 및
    상기 제1 데이터 속도와는 상이한 제2 데이터 속도로 상기 가상 페이지 버퍼내에 저장된 상기 기록 데이터를 출력하기 위한 메모리 장치 인터페이스
    를 포함하는, 브리지 장치.
KR1020147030278A 2008-11-04 2009-10-27 설정 가능한 가상 페이지 크기를 갖는 브리징 장치 KR20150007292A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US11101308P 2008-11-04 2008-11-04
US61/111,013 2008-11-04
US18496509P 2009-06-08 2009-06-08
US61/184,965 2009-06-08
US12/508,926 US8549209B2 (en) 2008-11-04 2009-07-24 Bridging device having a configurable virtual page size
US12/508,926 2009-07-24
PCT/CA2009/001552 WO2010051623A1 (en) 2008-11-04 2009-10-27 A bridging device having a configurable virtual page size

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117008143A Division KR20110081814A (ko) 2008-11-04 2009-10-27 설정 가능한 가상 페이지 크기를 갖는 브리징 장치

Publications (1)

Publication Number Publication Date
KR20150007292A true KR20150007292A (ko) 2015-01-20

Family

ID=42132892

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117008143A KR20110081814A (ko) 2008-11-04 2009-10-27 설정 가능한 가상 페이지 크기를 갖는 브리징 장치
KR1020147030278A KR20150007292A (ko) 2008-11-04 2009-10-27 설정 가능한 가상 페이지 크기를 갖는 브리징 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117008143A KR20110081814A (ko) 2008-11-04 2009-10-27 설정 가능한 가상 페이지 크기를 갖는 브리징 장치

Country Status (7)

Country Link
US (2) US8549209B2 (ko)
EP (1) EP2351036A4 (ko)
JP (2) JP2012507763A (ko)
KR (2) KR20110081814A (ko)
CN (1) CN102177553A (ko)
TW (2) TW201030746A (ko)
WO (2) WO2010051623A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8120990B2 (en) * 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
US8068365B2 (en) * 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US7957173B2 (en) 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US8472199B2 (en) 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
CN102385556B (zh) * 2011-11-08 2014-11-26 聚辰半导体(上海)有限公司 串行非易失性存储器及解除存储器写保护的方法
US9396771B2 (en) 2012-05-07 2016-07-19 Samsung Electronics Co., Ltd. Memory device for performing multi-core access to bank groups
US9423961B2 (en) 2014-09-08 2016-08-23 Apple Inc. Method to enhance programming performance in multilevel NVM devices
CN105575425A (zh) * 2014-10-09 2016-05-11 宏碁股份有限公司 存储器晶片、其资料读取方法以及资料储存系统
US10566040B2 (en) * 2016-07-29 2020-02-18 Micron Technology, Inc. Variable page size architecture
CN106844244B (zh) * 2017-01-16 2021-05-18 联想(北京)有限公司 一种实现固态硬盘数据交互的装置和方法
TWI653630B (zh) * 2018-05-14 2019-03-11 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
CN109378024B (zh) * 2018-11-21 2023-09-05 灿芯半导体(上海)股份有限公司 一种多模式的onfi接口写通道发送电路
KR20210091404A (ko) 2020-01-13 2021-07-22 삼성전자주식회사 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법
JP7413108B2 (ja) 2020-03-23 2024-01-15 キオクシア株式会社 半導体装置
JP2022049552A (ja) 2020-09-16 2022-03-29 キオクシア株式会社 半導体装置および方法
JP2022049553A (ja) 2020-09-16 2022-03-29 キオクシア株式会社 半導体装置および方法
KR20230128961A (ko) * 2022-02-24 2023-09-05 창신 메모리 테크놀로지즈 아이엔씨 저장회로, 데이터 전송 회로 및 메모리

Family Cites Families (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979733A (en) 1975-05-09 1976-09-07 Bell Telephone Laboratories, Incorporated Digital data communications system packet switch
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4613953A (en) * 1983-04-22 1986-09-23 Ncr Corporation Paging register for memory devices
JPS62152050A (ja) * 1985-12-26 1987-07-07 Nec Corp 半導体メモリ
JPS63113624A (ja) * 1986-10-30 1988-05-18 Tokyo Electric Co Ltd 電子秤のプリンタインタ−フエ−ス
JPH0374740A (ja) * 1989-08-16 1991-03-29 Nec Corp 計算機システムのページサイズ可変方式
US5243703A (en) * 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5204669A (en) * 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
JP3088180B2 (ja) * 1992-03-26 2000-09-18 日本電気アイシーマイコンシステム株式会社 シリアル入力インタフェース回路
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
DE4429433C1 (de) * 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
US5636342A (en) * 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
EP0752644A3 (en) * 1995-07-07 2001-08-22 Sun Microsystems, Inc. Memory management unit incorporating prefetch control
JP3576647B2 (ja) * 1995-08-11 2004-10-13 株式会社東芝 コンピュータシステム
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
JPH0981505A (ja) * 1995-09-08 1997-03-28 Toshiba Corp コンピュータシステム
JPH0991197A (ja) * 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
KR100211760B1 (ko) * 1995-12-28 1999-08-02 윤종용 멀티뱅크 구조를 갖는 반도체 메모리 장치의 데이타 입출력 경로 제어회로
US6567904B1 (en) * 1995-12-29 2003-05-20 Intel Corporation Method and apparatus for automatically detecting whether a memory unit location is unpopulated or populated with synchronous or asynchronous memory devices
KR0170723B1 (ko) * 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US5828899A (en) * 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
US5802603A (en) * 1996-02-09 1998-09-01 Intel Corporation Method and apparatus for asymmetric/symmetric DRAM detection
US5777488A (en) * 1996-04-19 1998-07-07 Seeq Technology, Inc. Integrated circuit I/O node useable for configuration input at reset and normal output at other times
US5991854A (en) * 1996-07-01 1999-11-23 Sun Microsystems, Inc. Circuit and method for address translation, using update and flush control circuits
JPH10116179A (ja) * 1996-10-11 1998-05-06 Nec Corp ビット数制御方法
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US5941974A (en) * 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
JPH10177797A (ja) 1996-12-17 1998-06-30 Toshiba Corp 半導体記憶装置
KR100243335B1 (ko) * 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
US5862154A (en) * 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
US5900021A (en) * 1997-04-04 1999-05-04 United Memories, Inc. Pad input select circuit for use with bond options
KR100240873B1 (ko) * 1997-08-26 2000-01-15 윤종용 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
US5920899A (en) 1997-09-02 1999-07-06 Acorn Networks, Inc. Asynchronous pipeline whose stages generate output request before latching data
US6052327A (en) 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US5974500A (en) 1997-11-14 1999-10-26 Atmel Corporation Memory device having programmable access protection and method of operating the same
US5982309A (en) * 1998-01-09 1999-11-09 Iowa State University Research Foundation, Inc. Parallel-to-serial CMOS data converter with a selectable bit width mode D flip-flop M matrix
US6002638A (en) * 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
JP3308912B2 (ja) 1998-09-08 2002-07-29 エヌイーシーマイクロシステム株式会社 Fifoメモリ装置とその制御方法
US6212591B1 (en) * 1999-04-02 2001-04-03 Cradle Technologies Configurable I/O circuitry defining virtual ports
JP4270707B2 (ja) * 1999-04-09 2009-06-03 株式会社東芝 ダイナミック型半導体記憶装置
JP2000315186A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 半導体装置
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6792003B1 (en) * 1999-08-12 2004-09-14 Nortel Networks Limited Method and apparatus for transporting and aligning data across multiple serial data streams
US6285585B1 (en) * 1999-10-19 2001-09-04 Advaned Micro Devices, Inc. Output switching implementation for a flash memory device
US6680904B1 (en) * 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US7363422B2 (en) 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US8171204B2 (en) 2000-01-06 2012-05-01 Super Talent Electronics, Inc. Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels
US6816933B1 (en) * 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6317350B1 (en) * 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
JP2002007201A (ja) * 2000-06-21 2002-01-11 Nec Corp メモリシステム、メモリインターフェース及びメモリチップ
DE60032644T2 (de) * 2000-06-29 2007-10-04 Fujitsu Ltd., Kawasaki Halbleiter-speicherbaustein
US6317352B1 (en) * 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6665742B2 (en) * 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
US6549997B2 (en) * 2001-03-16 2003-04-15 Fujitsu Limited Dynamic variable page size translation of addresses
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US20020169935A1 (en) * 2001-05-10 2002-11-14 Krick Robert F. System of and method for memory arbitration using multiple queues
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
DE10130785C2 (de) * 2001-06-26 2003-04-30 Infineon Technologies Ag Speicherbaustein und Vorrichtung zum Testen eines Speicherbausteins
US6928501B2 (en) * 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
US6763426B1 (en) * 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US7061490B2 (en) 2001-12-31 2006-06-13 Polynarythink, Llc Multi-variate data and related presentation and analysis
TW541806B (en) * 2002-04-12 2003-07-11 Via Tech Inc Serial/parallel data converter and the conversion method
JP2003338200A (ja) * 2002-05-17 2003-11-28 Mitsubishi Electric Corp 半導体集積回路装置
US6766411B2 (en) * 2002-06-12 2004-07-20 Teradyne, Inc. Circuit for looping serial bit streams from parallel memory
US7062601B2 (en) * 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
US6850438B2 (en) * 2002-07-05 2005-02-01 Aplus Flash Technology, Inc. Combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations
US6919736B1 (en) * 2002-07-12 2005-07-19 Lattice Semiconductor Corporation Field programmable gate array having embedded memory with configurable depth and width
JP4082519B2 (ja) * 2002-07-22 2008-04-30 株式会社ルネサステクノロジ 半導体集積回路装置、データ処理システム及びメモリシステム
EP1424635B1 (en) * 2002-11-28 2008-10-29 STMicroelectronics S.r.l. Non volatile memory device architecture, for instance a flash kind, having a serial communication interface
JP4310100B2 (ja) * 2002-11-29 2009-08-05 Okiセミコンダクタ株式会社 フィールドメモリ
US7093076B2 (en) * 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
KR100493884B1 (ko) * 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7103691B2 (en) * 2003-03-04 2006-09-05 Hewlett-Packard Development Company, L.P. Method, system and device for a processor to access devices of different speeds using a standard memory bus
JP3984206B2 (ja) * 2003-09-02 2007-10-03 株式会社東芝 マイクロプロセッサー及び映像音声システム
US7177170B2 (en) * 2003-09-17 2007-02-13 Micron Technology, Inc. Apparatus and method for selectively configuring a memory device using a bi-stable relay
US7061267B2 (en) * 2003-10-17 2006-06-13 Lsi Logic Corporation Page boundary detector
US7287115B2 (en) * 2003-10-30 2007-10-23 Kabushiki Kaisha Toshiba Multi-chip package type memory system
US7031221B2 (en) * 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
JP3773941B2 (ja) 2004-03-01 2006-05-10 Necエレクトロニクス株式会社 半導体装置
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
JP2008505386A (ja) 2004-07-02 2008-02-21 新世代株式会社 データ処理装置および互換プロセッサ
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7418572B2 (en) * 2004-08-18 2008-08-26 International Business Machines Corporation Pretranslating input/output buffers in environments with multiple page sizes
KR100705221B1 (ko) * 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
US7702876B2 (en) 2004-09-22 2010-04-20 Xyratex Technology Limited System and method for configuring memory devices for use in a network
US7254075B2 (en) * 2004-09-30 2007-08-07 Rambus Inc. Integrated circuit memory system having dynamic memory bank count and page size
US6950325B1 (en) * 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
US8023752B1 (en) 2005-03-04 2011-09-20 Nvidia Corporation Decompression of 16 bit data using predictor values
US20060248305A1 (en) * 2005-04-13 2006-11-02 Wayne Fang Memory device having width-dependent output latency
US7793037B2 (en) * 2005-05-31 2010-09-07 Intel Corporation Partial page scheme for memory technologies
US20070022242A1 (en) 2005-07-20 2007-01-25 Phison Electronics Corp. [structure of access of nand flash memory]
DE602005021344D1 (de) * 2005-07-28 2010-07-01 St Microelectronics Srl Konfigurierung eines Multibit-Flashspeichers
US8171192B2 (en) * 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
CN1767050A (zh) * 2005-09-23 2006-05-03 北京中星微电子有限公司 可编程的存储装置和方法
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
JP5193045B2 (ja) * 2005-09-30 2013-05-08 モサイド・テクノロジーズ・インコーポレーテッド 出力制御部を備えたメモリ
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices
US20070263425A1 (en) * 2006-02-08 2007-11-15 Qimonda Ag Memory arrangement
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8069328B2 (en) * 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
KR100685638B1 (ko) * 2006-03-31 2007-02-22 주식회사 하이닉스반도체 랜덤 프로그램 기능을 가지는 듀얼 플레인 타입 플래시메모리 장치 및 그 프로그램 동작 방법
JP5002201B2 (ja) * 2006-06-30 2012-08-15 株式会社東芝 メモリシステム
JP4969934B2 (ja) * 2006-07-19 2012-07-04 株式会社東芝 半導体装置
JP4709090B2 (ja) * 2006-07-26 2011-06-22 キヤノン株式会社 画像処理装置及び画像処理装置の制御方法及びプログラム
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
EP2487794A3 (en) 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
JP2008097663A (ja) * 2006-10-06 2008-04-24 Sony Corp 半導体記憶装置
US7493456B2 (en) * 2006-10-13 2009-02-17 International Business Machines Corporation Memory queue with supplemental locations for consecutive addresses
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
US7853727B2 (en) 2006-12-06 2010-12-14 Mosaid Technologies Incorporated Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection
JP2008146255A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
US7657724B1 (en) * 2006-12-13 2010-02-02 Intel Corporation Addressing device resources in variable page size environments
US8984249B2 (en) 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
JP2008158991A (ja) * 2006-12-26 2008-07-10 Ricoh Co Ltd Nand型フラッシュメモリの制御システム
JP2008159198A (ja) 2006-12-26 2008-07-10 Nec Electronics Corp 誤り訂正装置及び記録再生装置
US8010710B2 (en) 2007-02-13 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for identifying device type of serially interconnected devices
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
JP5385156B2 (ja) 2007-02-16 2014-01-08 モサイド・テクノロジーズ・インコーポレーテッド 半導体デバイスおよび複数の相互接続デバイスを有するシステムの電力消費を低減するための方法
US7796462B2 (en) 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US20080235440A1 (en) * 2007-03-22 2008-09-25 Le Trung V Memory device
CN100527083C (zh) * 2007-03-23 2009-08-12 威盛电子股份有限公司 一种存储器管理方法
US8108648B2 (en) * 2007-06-25 2012-01-31 Sonics, Inc. Various methods and apparatus for address tiling
US7688652B2 (en) 2007-07-18 2010-03-30 Mosaid Technologies Incorporated Storage of data in memory via packet strobing
US7779214B2 (en) * 2007-07-18 2010-08-17 Qnx Software Systems Gmbh & Co. Kg Processing system having a supported page size information register
US20090063786A1 (en) 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
US7889578B2 (en) 2007-10-17 2011-02-15 Mosaid Technologies Incorporated Single-strobe operation of memory devices
WO2009062280A1 (en) 2007-11-15 2009-05-22 Mosaid Technologies Incorporated Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices
US8467486B2 (en) 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US8060705B2 (en) 2007-12-14 2011-11-15 Qimonda Ag Method and apparatus for using a variable page length in a memory
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US8120990B2 (en) * 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
US8068365B2 (en) * 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US20100005214A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Enhancing bus efficiency in a memory system
US7957173B2 (en) 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8134852B2 (en) 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8516221B2 (en) * 2008-10-31 2013-08-20 Hewlett-Packard Development Company, L.P. On-the fly TLB coalescing
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100115172A1 (en) 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
JP5086972B2 (ja) * 2008-11-06 2012-11-28 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置のためのページバッファ回路とその制御方法

Also Published As

Publication number Publication date
CN102177553A (zh) 2011-09-07
WO2010051623A1 (en) 2010-05-14
TW201032053A (en) 2010-09-01
EP2351036A4 (en) 2012-05-30
JP2015111458A (ja) 2015-06-18
JP2012507763A (ja) 2012-03-29
US9977731B2 (en) 2018-05-22
WO2010051621A1 (en) 2010-05-14
EP2351036A1 (en) 2011-08-03
KR20110081814A (ko) 2011-07-14
US8549209B2 (en) 2013-10-01
WO2010051621A8 (en) 2010-07-29
US20140019705A1 (en) 2014-01-16
TW201030746A (en) 2010-08-16
US20100115214A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
KR20150007292A (ko) 설정 가능한 가상 페이지 크기를 갖는 브리징 장치
US20100115172A1 (en) Bridge device having a virtual page buffer
KR20140142373A (ko) 이산 메모리 장치를 시스템에 연결하는 브리징 장치를 갖는 복합 메모리
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US8850119B2 (en) Operating memory with specified cache address
US7925854B2 (en) System and method of operating memory devices of mixed type
KR101154148B1 (ko) 복수 개의 독립적인 직렬 링크 메모리
KR101260632B1 (ko) 출력 제어 메모리
US20100327923A1 (en) Bridging device having a frequency configurable clock domain
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
US9607667B1 (en) Memory device and electronic apparatus including the same
US7840744B2 (en) Rank select operation between an XIO interface and a double data rate interface
JP2002312232A (ja) 半導体記憶装置
US20230326517A1 (en) Semiconductor apparatus and semiconductor system having lun selection cycle, and operating method of semiconductor system
US20230326498A1 (en) Semiconductor apparatus and semiconductor system having independent data input/output period, and operating method of the semiconductor system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application