KR101441280B1 - System and method of operating memory devices of mixed type - Google Patents
System and method of operating memory devices of mixed type Download PDFInfo
- Publication number
- KR101441280B1 KR101441280B1 KR1020147001536A KR20147001536A KR101441280B1 KR 101441280 B1 KR101441280 B1 KR 101441280B1 KR 1020147001536 A KR1020147001536 A KR 1020147001536A KR 20147001536 A KR20147001536 A KR 20147001536A KR 101441280 B1 KR101441280 B1 KR 101441280B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- type
- address
- devices
- serial
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Information Transfer Systems (AREA)
Abstract
메모리 컨트롤러가 직렬 상호접속 구성의 메모리 장치들을 제어하는 메모리 시스템 아키텍쳐가 제공된다. 메모리 컨트롤러는 메모리 명령들을 전송하는 출력 포트 및 그들 메모리 명령에 대한 메모리 응답을 수신하고 그러한 응답을 요구하는 입력 포트를 갖는다. 각 메모리 장치는 예컨대, NAND형 플래시 메모리, NOR형 플래시 메모리, 랜덤 액세스 메모리 및 스태틱 랜덤 액세스 메모리를 포함한다. 각 메모리 명령은 타깃 메모리 장치의 메모리 유형에 특정된다. 메모리 명령들 및 메모리 응답들용의 데이터 경로는 상호접속에 의해 제공된다. 주어진 메모리 명령은 직렬 상호접속 구성의 의도된 메모리 장치에 도달하기 위해 메모리 장치들을 일주한다. 메모리 명령의 수취 시에, 의도된 메모리 장치는 주어진 메모리 명령을 실행하고, 적절한 다음의 메모리 장치에 메모리 응답을 전송한다. 메모리 응답은 메모리 컨트롤러에 보내어진다.A memory system architecture is provided in which a memory controller controls memory devices in a serial interconnect configuration. The memory controller has an output port for sending memory commands and an input port for receiving a memory response to those memory commands and requesting such a response. Each memory device includes, for example, a NAND type flash memory, a NOR type flash memory, a random access memory, and a static random access memory. Each memory command is specific to the memory type of the target memory device. The data paths for memory instructions and memory responses are provided by interconnections. The given memory command rounds the memory devices to reach the intended memory device of the serial interconnect configuration. Upon receipt of a memory command, the intended memory device executes the given memory command and sends the memory response to the next suitable memory device. The memory response is sent to the memory controller.
Description
본 출원은 그 개시가 참고로 완전히 여기에 명백하게 통합되어 있는 2006년 12월 6일에 출원된 미국 가특허 출원 번호 60/868,773, 2006년 12월 20일에 출원된 미국 가특허 출원 번호 60/870,892, 2007년 1월 12일에 출원된 미국 특허 출원 번호 11/622,828, 2007년 6월 29일에 출원된 미국 특허 출원 번호 11/771,241의 이익을 청구한다.This application claims the benefit of U.S. Provisional Patent Application No. 60 / 868,773, filed December 6, 2006, the disclosure of which is hereby expressly incorporated by reference in its entirety, U.S. Provisional Patent Application No. 60 / 870,892 filed on December 20, 2006 , U.S. Patent Application No. 11 / 622,828, filed January 12, 2007, U.S. Patent Application No. 11 / 771,241, filed June 29, 2007, the entire contents of which are incorporated herein by reference.
본 발명은 일반적으로 반도체 장치 시스템에 관한 것이다. 더 구체적으로, 본 발명은 예를 들면 다양한 또는 혼합된 형태의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법에 관한 것이다.The present invention relates generally to semiconductor device systems. More particularly, the present invention relates to an apparatus and method for controlling a semiconductor device, such as a memory system having memory devices of various or mixed types, for example.
컴퓨터-기반 시스템은 예를 들면 메모리 장치 및 처리 장치 등의 반도체 장치를 포함한다. 메모리는 컴퓨터의 CPU(Central Processing Unit)에 의해 구동되기를 대기하면서 정보가 저장되어 있는 곳이다. 메모리는 메모리 컨트롤러에 의해 제어되며, CPU의 일부를 형성하거나 CPU로부터 분리될 수 있다. 메모리 컨트롤러는 정보를 주고받기 위해 메모리와 인터페이스를 갖는다. 주지의 인터페이스는 병렬 인터페이스와 직렬 인터페이스를 포함한다.Computer-based systems include, for example, semiconductor devices such as memory devices and processing devices. The memory is a place where information is stored while waiting for it to be driven by a CPU (Central Processing Unit) of the computer. The memory is controlled by the memory controller and may form part of the CPU or be detached from the CPU. The memory controller has an interface with memory to send and receive information. The well-known interface includes a parallel interface and a serial interface.
병렬 인터페이스는 데이터의 판독 및 기록을 위해 다수의 핀을 사용한다. 그러나, 입력 핀과 와이어의 수가 증가하면서, 바람직하지 않은 효과도 많아진다. 이들 바람직하지 않은 효과는 심볼간 인터페이스, 신호 스큐(skew) 및 크로스토크(cross talk)를 포함한다. 그러므로, 본 기술에서는 메모리 모듈에 액세스하기 위해 입력 핀과 와이어의 수를 최소화하면서 증가된 메모리 용량 및/또는 동작 속도를 갖는 메모리 모듈이 요구되어 오고 있다.The parallel interface uses multiple pins for reading and writing data. However, as the number of input pins and wires increases, undesirable effects also increase. These undesirable effects include inter-symbol interface, signal skew and crosstalk. Therefore, in the technology, a memory module having an increased memory capacity and / or operating speed while minimizing the number of input pins and wires for accessing the memory module is required.
직렬 인터페이스는 데이터를 판독 및 기록하는데 더 적은 수의 핀을 사용한다. 직렬 플래시 메모리는 현재 이용가능하지만, 매우 느린 경향이 있다. 예를 들면, 종래의 많은 메모리들은 SPI(Serial Peripheral Interface) 또는 PC(Inter-Integrated Circuit) 호환 인터페이스로 1MHz - 20MHz의 범위에서 동작하는 시리얼 버스 인터페이스 방식을 사용하고 있다. 그러나, 이들 직렬 인터페이스 표준은 그 병렬 인터페이스 표준보다 통상적으로 느리다.The serial interface uses fewer pins to read and write data. Serial flash memories are currently available, but tend to be very slow. For example, many conventional memories use a serial bus interface method that operates in the range of 1 MHz to 20 MHz with an SPI (Serial Peripheral Interface) or PC (Inter-Integrated Circuit) compatible interface. However, these serial interface standards are typically slower than their parallel interface standards.
도 1A, 1B, 1C, 1D를 참조하면, 4개의 1차 플래시 메모리 구조의 블록도가 도시되어 있다. 4개의 1차 플래시 메모리 구조는 도 1A에 도시된 바와 같은 종래의 XIP 모델, 도 1B에 도시된 바와 같은 섀도우 모델, 도 1C에 도시된 바와 같은 NAND를 갖는 저장-다운로드 모델, 도 1D에 도시된 바와 같은 하이브리드 NAND 플래시 메모리를 갖는 새로운 저장-다운로드 모델을 포함한다.Referring now to Figures 1A, 1B, 1C and 1D, a block diagram of four primary flash memory structures is shown. The four primary flash memory structures include a conventional XIP model as shown in FIG. 1A, a shadow model as shown in FIG. 1B, a save-download model with a NAND as shown in FIG. 1C, And a new storage-download model with a hybrid NAND flash memory as shown in FIG.
도 1A를 참고하면, 종래의 XIP 모델은 애플리케이션 프로세서(101)에 접속된, SRAM(Static Random Access Memory)이나 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리(103)와, NOR 플래시 메모리(102)를 갖는다. XIP 모델에서, NOR 플래시 메모리(102)는 코드를 실행하는 반면, 휘발성 메모리(103)는 변수, 스택 및 히트 등의 연속적으로 변화하는 시스템 요소를 점유한다. XIP 모델에서, NOR 플래시 메모리(102)는 데이터 및 코드 스토리지를 또한 제공할 수 있다. XIP 모델의 장점은 간단하다는 것이지만, 그 단점은 기록 속도가 느리다는 것이다.1A, a conventional XIP model includes a
도 1B를 참조하면, 새도우 모델은 애플리케이션 프로세서(104)에 접속된 NOR 플래시 메모리(105), NAND 플래시 메모리(106), SRAM 또는 DRAM과 같은 휘발성 메모리(107)를 갖는다. 사용자는 NOR 플래시 메모리(105)로 시스템을 시동하고, 저장을 위해 NAND 플래시 메모리(106)를 사용한다. 휘발성 메모리(107)는 모든 실행을 처리한다. 새도우 모델은, 시스템을 시동만하는 것으로 비교적 값이 비싼 NOR 플래시 메모리(105)를 사용하는 값비싼 모델이다. 구조도 또한 약간 더 복잡하고, 이것은 보다 많은 설계 시간과 비용을 소비하는 것을 의미한다. 새도우 모델은 휘발성메모리가 연속적으로 액티브하기 때문에 또한 전력 소비적인 경향이 있다.1B, the shadow model has a
예를 들면 모바일 핸드헬드 장치에서 큰 요인인 공간 문제를 극복하기 위해서, 저장-다운로드 구조가 도 1C에 도시된 바와 같이 사용된다. 저장-다운로드 구조는 애플리케이션 프로세서(108)에 접속된 NAND 플래시 메모리(110), SRAM 또는 DRAM과 같은 휘발성 메모리(111)를 갖는다. 저장-다운로드 구조는 NOR 플래시 메모리를 가지지 않지만, 애플리케이션 프로세서(108)로 설계된 OTP(one-time-programmable) 저장매체(109) 또는 ROM(Read Only Memory) 코어가 있다. 애플리케이션 프로세서(108)는 휘발성 메모리(111)에 정보를 로드하고, 데이터 저장을 위해 NAND 플래시 메모리(110)에 액세스한다. 구조는 약간 더 복잡하고 초기 엔지니어링 비용을 보다 많이 요구하지만, 궁극적으로 시스템 단가는 덜 비싸다. 이 모델의 주요 어려움은 NAND 플래시 메모리가 일반적으로 신뢰성이 적기 때문에 사용자가 비싼 에러-보정 및 에러-검출 코딩을 사용해야 하는 것이다. RAM이 더 많은 액티브 역할을 하기 때문에 저장 및 다운로딩 설계는 보다 많은 전력을 요구하는 경향이 있다.For example, to overcome the space problem, which is a major factor in mobile handheld devices, a store-download structure is used as shown in FIG. 1C. The save-download architecture has a
도 1D를 참조하면, 하이브리드 저장 및 다운로드 모델은, 애플리케이션 프로세서(112)에 접속된 하이브리드 NAND 플래시 메모리(113), SRAM 또는 DRAM과 같은 휘발성 메모리(114)를 갖는다. NOR 플래시 장치와 같이 보여지도록 메모리 장치를 생성하기 위해 하이브리드 NAND 플래시 메모리(113)는 SRAM, 제어 로직 및 NAND 플래시 메모리를 혼합한다. 하이브리드 모델은 표준 NAND 플래시 장치보다 더 빠르게, NOR 플래시 장치와 동일한 속도로 판독한다. 또한, 이것은 NOR 플래시 장치보다 더 나은 기록 성능을 제공한다. 하이브리드 NAND 플래시 메모리는 현재 이용가능하다. 하이브리드 모델은 표준 NAND 플래시 메모리를 갖는 저장-다운로드 모델보다 더 적은 에러 보정 및 에러 검출 코딩을 필요로 한다. 하이브리드 NAND 플래시 메모리의 단가는 동일한 밀도의 NOR 플래시 메모리보다 예를 들면 30~40% 더 적다. 단독형(stand-alone) NAND 플래시 메모리의 비용은 하이브리드 NAND 플래시 메모리보다 약간 적다.Referring to FIG. 1D, the hybrid storage and download model has a hybrid
4개의 주요 플래시 메모리 구조중 하나를 사용하는 메모리 시스템은 엔지니어링 설계, 소프트웨어 개발 및 검증에 더 많은 시간을 필요로 한다.Memory systems that use one of the four major flash memory architectures require more time in engineering design, software development, and verification.
광의의 구성에 따르면, 변경되거나 혼합된 유형의 메모리 장치를 포함하는 시스템 또는 장치가 제공되며, 메모리 장치는 직렬 상호 접속되어 있으므로, 입력 데이터는 장치에서 장치로 직렬로 전송된다.According to a widespread configuration, there is provided a system or apparatus comprising a modified or mixed type of memory device, wherein the memory devices are serially interconnected so that the input data is transferred serially from the device to the device.
또 다른 광의의 구성에 따르면, 복수의 장치가 직렬로 상호접속되어 있는 혼합된 유형의 복수의 장치들의 직렬 상호접속 구성에서 사용하기 위한 반도체 장치가 제공된다. 직렬 상호접속 구성의 제1 장치는 직렬 입력을 수신한다. 직렬 입력은 직렬 상호접속 구성을 통해 전달된다. 직렬 입력은 장치 유형 식별(identification), 명령 및 장치 어드레스 식별을 포함한다. 장치는 장치 유형 식별 및 장치 어드레스 식별에 기초하여 명령을 실행한다.According to another embodiment of the present invention, there is provided a semiconductor device for use in a serial interconnection configuration of a plurality of devices of a mixed type in which a plurality of devices are interconnected in series. A first device in the serial interconnection configuration receives the serial input. The serial input is passed through a serial interconnection configuration. Serial input includes device type identification, command and device address identification. The device executes the command based on the device type identification and the device address identification.
반도체 장치는 수신된 직렬 입력에 응답하여 장치의 동작을 제어하는 장치 컨트롤러를 포함할 수 있다.The semiconductor device may include a device controller that controls operation of the device in response to the received serial input.
예를 들면, 반도체 장치는, 장치 유형 식별을 홀딩하는 장치 유형 홀더로서, 홀딩된 유형 식별은 장치의 유형을 나타내기 위해 제공되는 것인 장치 유형 홀더; 및 제공된 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 어드레스 홀더로서, 할당된 어드레스는 장치의 어드레스의 표시를 위해 제공되는 것인 어드레스 홀더를 더 포함한다.For example, a semiconductor device may be a device type holder that holds a device type identification, wherein the held type identification is provided to indicate a type of device; And an address holder for holding an assigned device address in response to the provided serial input, wherein the assigned address is provided for display of an address of the device.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 포함하는 시스템이 제공되며, 상기 장치들은 장치들이 직렬로 상호접속되어 있는 직렬 상호접속 구성으로 구성되어 있다. 각각의 장치들은 직렬 입력과 출력 접속을 갖는다. 시스템은 직렬 상호접속 구성의 제1 장치의 직렬 입력 접속에 직렬 입력을 제공하기 위한 직렬 출력 접속을 갖는 직렬 출력/입력 컨트롤러를 더 포함한다. 직렬 입력은 직렬 상호접속 구성을 통해 전달된다. 직렬 출력/입력 컨트롤러는 직렬 상호접속 구성의 최종 장치로부터 직렬 출력을 수신하는 직렬 입력 접속을 갖는다. 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.According to yet another broad configuration, there is provided a system comprising a plurality of devices of mixed type, wherein the devices are configured in a serial interconnection configuration in which the devices are interconnected in series. Each device has a serial input and an output connection. The system further includes a serial output / input controller having a serial output connection for providing a serial input to a serial input connection of the first device of the serial interconnection arrangement. The serial input is passed through a serial interconnection configuration. The serial output / input controller has a serial input connection that receives the serial output from the last device in the serial interconnection configuration. The serial input includes device type identification, command and device address identification.
예를 들면, 복수의 장치가 하나의 직렬 상호접속 구성으로 구성되며, 장치의 유형이 혼합된다. 각각의 장치는 수신된 직렬 입력에 응답하여 장치의 동작을 제어하는 장치 컨트롤러를 포함할 수 있다. 또한, 각각의 장치들은 장치에 할당되는 장치 어드레스를 나타내는 장치 어드레스 표시기; 및 그 장치의 장치 유형 식별을 나타내는 장치 유형 표시기를 더 포함할 수 있다.For example, a plurality of devices are configured in a single serial interconnect configuration, and the types of devices are mixed. Each device may include a device controller that controls the operation of the device in response to the received serial input. Each of the devices further includes a device address indicator that indicates a device address assigned to the device; And a device type indicator indicating device type identification of the device.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 동작시키는 방법이 제공되며, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있으며, 이 방법은, 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 단계를 포함하며, 직렬 입력은 직렬 상호접속 구성을 통해 전달되고, 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.According to yet another broad configuration, there is provided a method of operating a plurality of devices of a mixed type, wherein the devices are configured in at least one serial interconnect configuration in which the devices are interconnected in series, Providing a serial input to a first device of the interconnect configuration, wherein the serial input is communicated through a serial interconnection configuration, and the serial input comprises device type identification, command and device address identification.
이 방법은, 장치의 장치 유형 식별을 홀딩하는 단계; 및 제공된 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 단계를 포함한다. 이 방법은 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하는지를 판정하는 단계를 더 포함한다. 바람직하게는, 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하면, 장치 유형 매치 결과가 제공되며, 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하지 않으면, 장치 유형 비매치 결과가 제공된다.The method comprises: holding a device type identification of the device; And holding the assigned device address in response to the provided serial input. The method further includes determining whether the received device type identification matches a held device type identification. Preferably, if the received device type identification matches the held device type identification, a device type match result is provided, and if the received device type identification does not match the held device type identification, then a device type mismatch result is provided do.
이 방법은 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하는지를 판정하는 단계를 더 포함한다. 바람직하게, 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하면, 장치 어드레스 매치 결과가 제공되며, 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하지 않으면, 장치 어드레스 비매치 결과가 제공된다. 이 방법은 장치 유형 매치 결과 및 장치 어드레스 매치 결과에 응답하여 직렬 입력의 수신된 명령을 실행할 수 있다.The method further includes determining whether the received device address identification matches a held device address. Preferably, if the received device address identification matches the held device address, a device address match result is provided, and if the received device address identification does not match the held device address, then a device address mismatch result is provided. The method may execute a received command of the serial input in response to a device type match result and a device address match result.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 동작시키는 기기가 제공되며, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있으며, 이 기기는, 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 컨트롤러를 포함하며, 직렬 입력은 직렬 상호접속 구성을 통해 전달되고, 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.According to yet another broad configuration, there is provided a device for operating a plurality of devices of mixed type, wherein the devices are configured in at least one serial interconnect configuration in which the devices are interconnected in series, And a controller for providing a serial input to the first device of the interconnect configuration, wherein the serial input is communicated through a serial interconnection configuration, and the serial input includes device type identification, command and device address identification.
예를 들면, 각각의 장치들은 직렬 입력 및 출력 접속을 갖고, 컨트롤러는 제1 장치의 직렬 입력 접속에 접속된 직렬 출력 접속과, 직렬 상호접속 구성의 최종 장치의 직렬 출력 접속에 접속된 직렬 입력 접속를 갖는다.For example, each of the devices has a serial input and output connection, the controller has a serial output connection connected to the serial input connection of the first device and a serial input connection connected to the serial output connection of the last device of the serial interconnection configuration .
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들에 장치 어드레스를 할당하는 단계로서, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있는 할당 단계; 및 장치 유형 및 장치 어드레스에 기초하여 직렬 상호접속 구성의 장치들을 액세스하는 단계를 포함하는 방법이 제공된다.According to yet another broad configuration, allocating a device address to a plurality of devices of a mixed type comprises: allocating devices in which the devices are configured in at least one serial interconnect configuration in which devices are interconnected in series; And accessing the devices of the serial interconnection scheme based on the device type and the device address.
이 방법은 하나의 유형의 장치들의 각각에 어드레스를 설정하는 단계를 더 포함할 수 있다. 예를 들면, 설정 단계는, 장치 유형 식별, 장치 어드레스 식별 및 어드레스 넘버를 포함하는 직렬 입력을 직렬 상호접속 구성의 제1 장치에 제공하는 단계를 포함한다. 액세스하는 단계는 직렬 상호접속 구성의 제1 유형의 적어도 하나의 장치가 처리되도록 하는 단계; 및 제1 유형의 장치의 처리 동안, 직렬 상호접속 구성의 적어도 하나의 제2 유형의 장치가 처리되도록 하는 단계를 포함할 수 있으며, 제1 유형의 장치의 처리 시간은 제2 유형의 장치의 처리 시간 보다 더 크다.The method may further comprise setting an address in each of one type of devices. For example, the setting step includes providing a serial input, including a device type identification, a device address identification, and an address number, to a first device in a serial interconnection configuration. Wherein accessing comprises causing at least one device of a first type of serial interconnection configuration to be processed; And during processing of the first type of device, allowing at least one second type of device of the serial interconnection configuration to be processed, wherein the processing time of the first type of device may include processing of the second type of device It is bigger than time.
본 발명의 실시예에 따르면, 직렬 링크로 상호접속된 메모리 장치를 메모리 컨트롤러가 제어하는 메모리 시스템 구조가 제공된다. 메모리 컨트롤러는 메모리 명령을 전송하는 출력 인터페이스, 및 이러한 응답을 요구하는 이들 메모리 명령에 대해 메모리 응답을 수신하는 입력 인터페이스를 갖는다. 각각의 메모리 장치는 예를 들면 NAND 플래시 또는 NOR 플래시와 같은 임의의 메모리 유형일 수 있다. 각각의 메모리 명령은 의도된 메모리 장치의 메모리 유형에 특정한다. 메모리 명령 및 메모리 응답에 대한 데이터 경로가 링크 및 상호접속된 장치들을 통해 제공된다. 주어진 메모리 명령은 그 의도된 메모리 장치에 도달하기 위해 많은 메모리 장치들을 일주한다. 수신되면, 의도된 메모리 장치는 주어진 메모리 명령을 실행하고, 적절하면, 메모리 컨트롤러에 메모리 응답을 전송한다.According to an embodiment of the present invention, a memory system structure is provided in which a memory controller is controlled by a memory device interconnected by a serial link. The memory controller has an output interface for sending memory commands, and an input interface for receiving a memory response for those memory commands requiring such a response. Each memory device may be any memory type, such as, for example, NAND flash or NOR flash. Each memory command is specific to the memory type of the intended memory device. Data paths for memory commands and memory responses are provided through links and interconnected devices. A given memory command rounds many memory devices to reach its intended memory device. When received, the intended memory device executes the given memory command and, if appropriate, sends a memory response to the memory controller.
일 실시예에서, 메모리 컨트롤러에 의해 전송된 메모리 명령이 클록에 응답하여 직렬로 상호접속된 메모리 장치들을 통해 전달된다. 하나의 메모리 장치의 명령 실행은 클록 타이밍에서 또 다른 메모리 장치(예를 들면, 다음 장치)에 중첩되지 않는다. 또한, 메모리 장치의 명령 실행은 서로 중첩될 수 있다. 어드레스 할당 동작에서, 하나의 장치에 의해 변화하는 어드레스 넘버는, 또 다른 장치가 어드레스 넘버 변경을 실행하기 전에 완료된다.In one embodiment, the memory instructions sent by the memory controller are communicated through the serially interconnected memory devices in response to the clock. Instruction execution of one memory device is not superimposed on another memory device (e.g., the next device) at the clock timing. Further, the instruction execution of the memory device may overlap each other. In the address assignment operation, the address number changed by one device is completed before another device executes the address number change.
본 발명의 실시예에 따르면, 예를 들면, NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM 및 PCRAM의 메모리 유형을 갖는 메모리 장치가 제공된다. 혼합된 유형의 메모리 장치들의 직렬 상호접속 구성을 갖는 메모리 시스템에서, 타깃 어드레스에 기초하여, 각 장치의 메모리 유형이 판독될 수 있다.According to an embodiment of the present invention, there is provided a memory device having a memory type of NAND flash EEPROM, NOR flash EEPROM, AND flash EEPROM, DiNOR flash EEPROM, serial flash EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, A memory device is provided. In a memory system having a serial interconnect configuration of mixed type memory devices, the memory type of each device can be read based on the target address.
본 발명의 다른 양태 및 특징은 첨부 도면과 함께 본 발명의 특정 실시예의 다음의 설명을 검토할 때 본 기술에서 통상의 기술을 가진 자에게 분명해질 것이다.Other aspects and features of the present invention will become apparent to those of ordinary skill in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying drawings.
본 발명의 실시예는 첨부된 도면을 참조하여 예를 통해 서술된다.BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which: Fig.
본 발명에 의하면, 반도체 장치 시스템, 더 구체적으로, 본 발명은 예를 들면 다양한 또는 혼합된 형태의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법을 제공할 수 있다.According to the present invention, a semiconductor device system, and more particularly, the present invention, can provide an apparatus and method for controlling a semiconductor device, such as a memory system having a memory device of various or mixed types, for example.
도 1A, 1B, 1C, 1D는 4개의 플래시 메모리 구조의 블록도이다.
도 2a는 본 발명의 실시예에 따르는 메모리 시스템의 블록도이다.
도 2b는 본 발명의 실시예에 따르는 메모리 시스템의 블록도이다.
도 2c는 도 2b에 나타낸 메모리 시스템의 동작을 도시하는 플로우도이다.
도 3a, 3b, 3c, 3d, 3e는 본 발명의 실시예들에 따르는 특정 예의 메모리 시스템의 개략도이다.
도 3f는 본 발명의 실시예에 따르는 다른 예의 메모리 시스템의 개략도이다.
도 3g는 메모리 장치의 일례의 싱글 데이터 레이트 동작의 타이밍도이다.
도 3h는 메모리 장치의 일례의 더블 데이터 레이트 동작의 타이밍도이다.
도 4a는 도 3a, 3b, 3c, 3d, 3e에 나타낸 메모리 장치로서 사용되는 일례의 메모리 장치의 개략도이다.
도 4b는 도 3f에 나타낸 메모리 장치로서 사용되는 일례의 메모리 장치의 개략도이다.
도 5a는 메모리 장치의 메모리 유형을 식별하기 위해 사용되는 일례의 레지스터 블록의 개략도이다.
도 5b는 각각의 메모리 장치 유형에 대한 일례의 인코딩 스킴의 테이블이다.
도 6a는 유형-의존 어드레싱을 갖는 장치 어드레스를 할당하는 방법의 플로우도이다.
도 6b는 도 6a에 나타낸 방법의 장치 어드레스 할당 단계의 상세의 플로우도이다.
도 7a, 7b, 7c, 7d는 유형-의존 어드레싱을 갖는 장치 어드레스를 할당하는 타이밍도이다.
도 8은 유형-의존 어드레싱을 갖는 일 예의 입력의 타이밍도이다.
도 9는 2개의 인접한 메모리 장치를 통한 시그널링의 예의 타이밍도이다.
도 10은 유형-의존 어드레싱을 갖는 메모리 동작에 대한 일례의 미리 정해진 포맷의 테이블이다.
도 11은 유형-의존 어드레싱에 대한 일례의 인코딩 스킴의 테이블이다.
도 12는 유형-의존 어드레싱을 갖는 NAND 플래시 명령에 대한 일례의 인코딩 스킴의 테이블이다.
도 13은 유형-의존 어드레싱을 갖는 NOR 플래시 명령에 대한 일례의 인코딩 스킴의 테이블이다.
도 14는 유형-의존 어드레싱을 갖는 메모리 동작을 처리하는 방법의 플로우도이다.
도 15a, 15b는 유형-의존 어드레싱을 갖는 메모리 동작을 처리의 타이밍도이다.
도 16a는 도 3a, 3b, 3c, 3d, 3e에 나타낸 메모리 장치로서 사용되는 또 다른 예의 메모리 장치 블록의 개략도이다.
도 16b는 도 16a에 나타낸 장치에 의한 장치 어드레스 할당 동작의 플로우도이다.
도 16c는 도 16a에 나타낸 장치에 의한 또 다른 장치 어드레스 할당 동작의 플로우도이다.
도 17은 도 3f에 나타낸 메모리 장치로서 사용되는 또 다른 예의 메모리 장치 블록의 개략도이다.
도 18은 본 발명의 또 다른 실시예에 따르는 2채널의 메모리 시스템을 나타낸다.
도 19a 및 19b는 도 18에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.
도 20a 및 20b는 도 18에 나타낸 메모리 시스템에서 사용되는 또 다른 특정 예의 메모리 장치의 개략도이다.
도 21은 메모리 시스템을 초기화하는 또 다른 예의 타이밍도이다.
도 22는 본 발명의 실시예에 따르는 또 다른 예의 메모리 시스템의 개략도이다.
도 23은 본 발명의 또 다른 실시예에 따르는 메모리 시스템의 블록도이다.
도 24는 도 23에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.
도 25는 본 발명의 또 다른 실시예에 따르는 메모리 시스템의 블록도이다.
도 26은 도 25에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.Figures 1A, 1B, 1C, 1D are block diagrams of four flash memory structures.
2A is a block diagram of a memory system in accordance with an embodiment of the present invention.
2B is a block diagram of a memory system according to an embodiment of the present invention.
2C is a flow diagram illustrating the operation of the memory system shown in FIG. 2B.
Figures 3a, 3b, 3c, 3d, 3e are schematic diagrams of a specific example memory system according to embodiments of the present invention.
3F is a schematic diagram of a memory system of another example according to an embodiment of the present invention.
3G is a timing diagram of an example single data rate operation of the memory device.
3H is a timing diagram of an example double data rate operation of a memory device.
Fig. 4A is a schematic diagram of an example memory device used as the memory device shown in Figs. 3A, 3B, 3C, 3d, and 3E.
Figure 4B is a schematic diagram of an example memory device used as the memory device shown in Figure 3F.
5A is a schematic diagram of an exemplary register block used to identify the memory type of a memory device.
5B is a table of an example encoding scheme for each memory device type.
6A is a flow diagram of a method of assigning a device address with type-dependent addressing.
Figure 6B is a flow chart of the details of the device address assignment step of the method shown in Figure 6A.
Figures 7a, 7b, 7c, 7d are timing diagrams for assigning device addresses with type-dependent addressing.
8 is a timing diagram of an example input with type-dependent addressing.
9 is a timing diagram of an example of signaling through two adjacent memory devices.
10 is a table of an example predefined format for memory operations with type-dependent addressing.
Figure 11 is a table of an example encoding scheme for type-dependent addressing.
12 is a table of an example encoding scheme for a NAND flash instruction with type-dependent addressing.
13 is a table of an example encoding scheme for a NOR flash instruction with type-dependent addressing.
Figure 14 is a flow diagram of a method of handling memory operations with type-dependent addressing.
15A and 15B are timing diagrams of processing memory operations with type-dependent addressing.
16A is a schematic diagram of another example memory device block used as the memory device shown in Figs. 3A, 3B, 3C, 3d, and 3E.
16B is a flowchart of a device address assignment operation by the apparatus shown in FIG. 16A.
16C is a flowchart of another device address assignment operation by the apparatus shown in FIG. 16A.
17 is a schematic diagram of another example memory device block used as the memory device shown in Fig. 3F.
18 shows a two-channel memory system according to another embodiment of the present invention.
19A and 19B are schematic diagrams of a specific example memory device used in the memory system shown in Fig.
20A and 20B are schematic diagrams of another specific example memory device used in the memory system shown in Fig.
21 is a timing diagram of another example of initializing the memory system.
22 is a schematic diagram of another example memory system according to an embodiment of the present invention.
23 is a block diagram of a memory system in accordance with another embodiment of the present invention.
Fig. 24 is a schematic diagram of a specific example memory device used in the memory system shown in Fig. 23. Fig.
25 is a block diagram of a memory system in accordance with another embodiment of the present invention.
26 is a schematic diagram of a specific example memory device used in the memory system shown in Fig.
본 발명의 샘플 실시예의 다음의 상세한 설명에서는, 본 발명이 실행될 수 있는 특정 샘플 실시예를 도시를 통해 나타내고, 그 일부를 형성하는 첨부 도면을 참조한다. 이들 실시예는 본 기술에서 숙련된 자가 본 발명을 실행할 수 있을 정도로 충분히 상세하게 기술되어 있고, 다른 실시예가 활용될 수 있고, 본 발명의 범위를 벗어나지 않으면 논리적, 기계적, 전기적 및 다른 변경도 행해질 수 있는 것으로 이해된다. 그러므로, 다음의 상세한 설명은 제한하는 의미로 취해지는 것은 아니며, 본 발명의 범위는 첨부된 청구 범위에 의해서 한정된다.In the following detailed description of a sample embodiment of the present invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific example embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and other embodiments may be utilized and logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention. . The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
일반적으로, 본 발명은 예를 들면, 혼합된 유형의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법을 제공한다.In general, the invention provides an apparatus and method for controlling a semiconductor device, such as, for example, a memory system having a mixed type of memory device.
본 발명의 실시예는 메모리 시스템의 정황에서 서술된다. 메모리 시스템은 메모리 컨트롤러 및 메모리 장치의 직렬 상호접속 구성을 포함한다.Embodiments of the present invention are described in the context of a memory system. The memory system includes a serial interconnect configuration of a memory controller and a memory device.
몇몇 메모리 서브시스템은 예를 들면 플래시 메모리 장치 등의 다중 메모리 장치를 인터페이스와 함께 사용한다. 여기서, 명령이 이 장치들 중 하나에서만 실행될 수 있지만, 명령 스트링은 모든 장치에 공급될 수 있다. 명령이 실행되는 장치를 선택하기 위해, 명령 스트링은 명령이 향해지는 메모리 장치를 식별하는 장치 식별자(ID) 또는 장치 어드레스를 포함할 수 있다. 명령 스트링을 수신하는 각각의 장치는 명령 스트링에 포함된 ID를 장치에 관련된 ID와 비교한다. 2개가 매치되면, 장치는 명령을 실행하기 위해 명령이 장치로 향해진다고 가정한다.Some memory subsystems use multiple memory devices, such as flash memory devices, for example, with interfaces. Here, the instruction may be executed in only one of these devices, but the instruction string may be supplied to all devices. To select the device on which the command is to be executed, the command string may include a device identifier (ID) or device address that identifies the memory device to which the command is directed. Each device receiving the command string compares the ID contained in the command string with the ID associated with the device. If the two match, the device assumes that the command is directed to the device to execute the command.
상술한 바와 같이, 다른 인터페이스 사양을 갖는 많은 다른 메모리 장치 유형이 있다. 종래의 구조를 사용하여, 변화하거나 혼합된 장치 유형을 갖는 메모리 시스템을 설계하는 것은 엔지니어링 설계, 소프트웨어 개발, 및 검증에 많은 시간이 걸린다. 또한, 병렬 인터페이스 스킴은 매우 많은 PCB(Printed Circuit Board) 또는 MCP(Multi Chip Package) 상의 물리적인 배선 또는 라우팅을 수반하며, 더 높은 동작 속도로 각종 노이즈 문제를 발생시킬 수 있다. 더 많은 신호 라인은, 시스템의 밀도와 구성이 증가하면서 더 복잡한 기판 설계와 더 많은 공간 필요를 의미한다. 개선된 메모리 시스템 구조에 대한 필요가 있다.As noted above, there are many different memory device types that have different interface specifications. Using conventional architectures, designing memory systems with varying or mixed device types takes a lot of time for engineering design, software development, and verification. In addition, the parallel interface scheme involves physical wiring or routing on a very large number of PCBs (Printed Circuit Boards) or MCPs (Multi Chip Packages) and can cause various noise problems at higher operating speeds. More signal lines mean more complex board designs and more space needs as the density and configuration of the system increases. There is a need for an improved memory system architecture.
메모리 장치의 직렬 상호접속의 상세가 2005년 12월 30일에 출원된 미국 특허 출원 번호 11/324,023, 2006년 3월 28일에 출원된 "메모리 장치의 직렬 상호접속"이라는 명칭의 미국 가특허 출원 번호 60/787,710, 2006년 5월 23일에 출원된 "메모리 장치의 직렬 상호접속"이라는 명칭의 미국 가특허 출원 번호 60/802,645에 개시되어 있고, 그 내용이 여기에 참고로 전체 통합되어 있다.Details of serial interconnection of memory devices are disclosed in U. S. Patent Application Serial No. 11 / 324,023, filed December 30, 2005, entitled " Serial Interconnect of Memory Devices, " filed March 28, No. 60 / 787,710, filed on May 23, 2006, entitled " Serial Interconnection of Memory Devices, " in U.S. Patent Application Serial No. 60 / 802,645, the contents of which are incorporated herein by reference in their entirety.
도 2a는 본 발명의 실시예에 따르는 메모리 시스템을 도시한다. 도 2a를 참조하면, 메모리 시스템은 직렬 상호접속 구성의 복수의 장치(300-0, 300-1, …, 300-N)와 컨트롤러(100)를 포함한다. N은 1보다 큰 정수이다. 이 특정 실시예에서, 직렬 상호접속된 메모리 장치의 수는 (N+1)이다. 컨트롤러(100)와 장치(300-0, 300-1, …, 300-N)는 예를 들면 링크 등의 임의의 적절한 접속을 사용하여 상호접속된다. 도시된 예에서, 링크는 직렬 링크이다. 컨트롤러(100)와 장치(300-0, 300-1, …, 300-N)는 직렬 링크(L0, L1, L2, …, LN 및 L(N+1))를 통해 상호접속되어 있다.Figure 2a illustrates a memory system in accordance with an embodiment of the present invention. Referring to FIG. 2A, a memory system includes a plurality of devices 300-0, 300-1, ..., 300-N and a
컨트롤러(100)는 컨트롤러 동작 회로(130)를 갖는다. 각각의 장치(300-0, 300-1, …, 300-N)는 메모리 동작 제어 및 메모리 초기화 기능을 행하는 장치 동작 회로(230)를 갖는다. 장치(300-0, 300-1, …, 300-N)는 각각의 메모리(320-0, 320-1, …, 320-N) 등의 각각의 메모리-유형 특정 구성 성분을 갖는다. 각각의 장치(300-0, 300-1, …, 300-N)는 복수의 지원된 메모리 유형 중에서 메모리 유형을 갖는다. 복수의 지원된 메모리 유형은 실장-사양 기반으로 지정된다. 각각의 장치의 메모리 유형의 정보 또는 식별은 그 레지스터(250)에 저장된다. 그러나, 장치의 유형은 컨트롤러(100)에는 알려져 있지 않다. 각각의 컨트롤러 동작 회로 및 장치 동작 회로는 예를 들면 인터페이스 회로의 입력 및 출력 회로를 포함한다.The
도 2b는 본 발명의 일 실시예에 따르는 일 예의 메모리 시스템을 나타낸다. 도 2b를 참조하면, 메모리 시스템(40)은 직렬 상호접속 구성의 복수의 메모리 장치(30-0, 30-1, …, 30-N)와 메모리 컨트롤러(10)를 포함한다. N은 1보다 큰 정수이다. 이 특정 실시예에서, 직렬 상호접속된 메모리 장치의 수는 (N+1)이다. 메모리 컨트롤러(10)와 메모리 장치(30-0, 30-1, …, 30-N)는 예를 들면 직렬 링크(L0, L1, L2, …, LN, L(N+1)) 등을 사용하여 상호접속된다.Figure 2B illustrates an example memory system in accordance with an embodiment of the present invention. 2B, the
메모리 컨트롤러(10)는 출력 인터페이스(11), 입력 인터페이스(12) 및 컨트롤러 동작 회로(13)를 포함한다. 도시된 실시예에 나타낸 바와 같이, 몇몇 구현 예에서, 메모리 컨트롤러(10)는 다른 전자 회로(비도시)와 접속하기 위한 다른 인터페이스(14)를 또한 갖는다. 메모리 컨트롤러(10)는 다른 구성 성분을 가질 수 있지만, 간단하게 하기 위해 도시되지는 않았다.The
메모리 장치(30-0, 30-1, …, 30-N)의 몇몇 구성 성분은 동일하게 번호가 붙여진다. 예를 들면, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 입력 인터페이스(21), 출력 인터페이스(22) 및 메모리 동작 제어 및 메모리 초기화 기능을 행하는 메모리 장치 동작 회로(23)를 갖는다. 그러나, 메모리 장치(30-0, 30-1, …, 30-N)는 각각의 메모리 코어(32-0, 32-1, …, 32-N) 등의 각각의 메모리-유형 특정 구성 성분을 갖는다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 복수의 지원된 메모리 유형 중에서 하나의 메모리 유형을 갖는다. 복수의 지원된 메모리 유형은 실장-사양 기반으로 지정된다. 이것은 고정된 것일 수도 있지만, 몇몇 실시예에서 예를 들면 시간에 따라서 메모리 장치 유형을 추가하여 변경할 수 있다. 주어진 구성은 복수의 지원된 메모리 장치 유형의 각각의 메모리 장치를 반드시 포함시킬 필요는 없지만, 메모리 컨트롤러(10)와 인터페이스는 이 기능을 허용하도록 설계된다. 복수의 지원된 메모리 장치 유형에 대해서 많은 가능한 것이 있다.Some components of the memory devices 30-0, 30-1, ..., 30-N are numbered identically. For example, each of the memory devices 30-0, 30-1, ..., 30-N includes an
복수의 지원된 메모리 유형은 예를 들면 2개 이상의 NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM(Magnetoresistive Random Access Memory), PCRAM을 포함할 수 있다. 지원된 메모리 유형의 다른 조합이 또한 가능하다.The plurality of supported memory types may include, for example, two or more NAND flash EEPROM, NOR flash EEPROM, AND flash EEPROM, DiNOR flash EEPROM, serial flash EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, Magnetoresistive Random Access Memory , PCRAM. Other combinations of supported memory types are also possible.
각각의 메모리 장치(30-0, 30-1, …, 30-N)는 그 메모리 유형을 알고 있다. 이것은 예를 들면, 25로 표시된 바와 같은 레지스터에 저장되어 있을 수 있지만, 더 일반적으로, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 그 메모리 장치 유형의 식별을 유지하기 위한 임의의 적절한 회로가 구비될 수 있다. 다른 메커니즘, 이것에 의해 각각의 메모리 장치(30-0, 30-1, …, 30-N)가 그 장치 유형을 알 수 있는 메커니즘이 또한 가능하다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 다른 구성 성분을 가질 수 있지만, 간단하게 하기 위해 도시되지는 않았다.Each memory device 30-0, 30-1, ..., 30-N knows its memory type. This may be stored in a register, for example, as indicated at 25, but more generally, each memory device 30-0, 30-1, ..., 30-N maintains an identification of its memory device type Any suitable circuitry for doing so may be provided. It is also possible for another mechanism, whereby each memory device 30-0, 30-1, ..., 30-N can know its device type. Each memory device 30-0, 30-1, ..., 30-N may have different components, but is not shown for simplicity.
동작시에, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 동작 제어 및 메모리 초기화 기능을 행한다. 컨트롤러 동작 회로(13)는 출력 인터페이스(11)를 통해 메모리 명령을 보낸다. 각각의 메모리 명령에 대한 데이터 경로는 메모리 장치(30-0, 30-1, …, 30-N)와 직렬 링크(L0, L1, L2, …, LN 및 L(N+1))의 조합에 의해 제공된다. 예를 들면, 메모리 명령이 제2 메모리 장치(30-1)를 위한 것이면, 메모리 명령은 직렬 링크(L0, L1)를 통해 제1 메모리 장치(30-0)를 일주한다. 메모리 명령이 제2 메모리 장치(30-1)로부터의 응답을 요구하면, 응답은 직렬 링크(L2, …, LN, L(N+1))를 통해 제3 메모리 장치, …, N번째(최종) 메모리 장치(30-N)를 일주하여 메모리 컨트롤러(10)로 되돌아온다.In operation, the controller operation circuit 13 of the
상기 논급한 바와 같이, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 복수의 지원되는 메모리 유형 중 어느 하나일 수 있다. 메모리 컨트롤러(10)의 제어 동작 회로(13)는 장치 유형에 특정된 메모리 명령을 출력 인터페이스(11)를 통해 전송하고, 이러한 응답을 요구하는 이들 메모리 명령에 대한 메모리 응답을 입력 인터페이스(12)를 통해 수신한다. 예를 들면, 컨트롤러 동작 회로(13)가 제2 메모리 장치(30-1)에 대해 의도된 명령을 발행하면, 발행된 명령은 제2 메모리 장치(30-1)의 장치 유형에 특정된 것으로, 다른 메모리 장치의 장치 유형과는 다를 수 있다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 메모리 장치로 어드레스된 이들 메모리 명령을 실행하여, 다른 메모리 장치로 어드레스된 이들 메모리 명령을 출력 인터페이스(22)를 통해 보낸다. 메모리 시스템(40)은 시스템의 전체적인 성능을 저하 없이 메모리 밀도 확장뿐 아니라 다른 장치 유형 또는 혼합된 메모리 장치 유형을 고려하여 적절하게 확장될 수 있다.As noted above, each memory device 30-0, 30-1, ..., 30-N may be any of a plurality of supported memory types. The control operation circuit 13 of the
일반적으로, 메모리 시스템(40)은 도 2c에 도시된 바와 같이, 35로 표시된 초기화 단계와, 36으로 표시된 정상 동작 단계의 2 단계의 동작을 수행한다. 초기화 단계(35)에서, 메모리 장치(30-0, 30-1, …, 30-N)에는 장치 어드레스가 할당된다. 할당된 장치 어드레스는 메모리 장치에 홀딩된다. 그 후, 정상 동작 단계(36)에서, 타깃 또는 어드레스된 메모리 장치는 데이터 액세스 동작을 수행한다.In general, the
메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 장치(30-0, 30-1, …, 30-N)를 제어하기 위해 메모리 명령을 출력 인터페이스(11)를 통해 전송한다. 이를 달성하기 위한 많은 방법이 있다. 예를 들면, 제1 및 제2 구현예가 아래에 설명되어 있지만, 다른 구현예도 가능하다.The controller operation circuit 13 of the
제1 구현예에서, 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 각각의 명령은 제1 및 제2 부분을 갖고, 이들은 조합되어 복수의 메모리 장치들 중에서 선택된 메모리 장치를 고유하게 식별한다. 몇몇 구현예에서, 제1 부분은 선택된 메모리 장치의 장치 유형을 식별하는 한편, 제2 부분은 선택된 메모리 장치의 장치 어드레스를 식별한다. 각각의 메모리 명령은 선택된 메모리 장치에 의해 실행되는 선택된 명령을 식별하는 명령 부분을 또한 갖는다. 각각의 메모리 명령은 적절한 다른 부분들 예를 들면, 추가의 어드레스 정보 및 데이터를 또한 포함할 수 있다.In the first embodiment, the controller operation circuit 13 transmits a memory command. Each instruction has first and second portions, which are combined to uniquely identify a memory device selected from among a plurality of memory devices. In some implementations, the first portion identifies the device type of the selected memory device, while the second portion identifies the device address of the selected memory device. Each memory instruction also has an instruction portion that identifies the selected instruction executed by the selected memory device. Each memory command may also include other suitable portions, for example, additional address information and data.
제1 구현예에서, 메모리 장치, 예를 들면 제1 메모리 장치(30-0)가 메모리 명령을 수신하면, 메모리 장치 동작 회로(23)는 조합되어 있는 메모리 명령의 제1 부분과 제2 부분에 응답하여 메모리 장치(예를 들면, 제1 메모리 장치(30-0))에 어드레스되어 있는지를 판정한다. 예를 들면, 메모리 장치 동작 회로(23)는 장치 유형을 나타내는 제1 부분을 우선 해석한다. 제1 부분에 의해 표시된 장치 유형이 장치 유형 레지스터(25)에 의해 제공된 제1 메모리 장치(30-0))의 장치 유형과 다르면, 그 장치의 메모리 장치 동작 회로(23)는 수신된 메모리 명령의 임의의 추가의 부분을 살펴볼 필요가 없다. 그래서, 수신된 명령이 다른 메모리 장치(30-1, …, 30-N)중 하나로 어드레스되어 있는지가 판정된다. 따라서, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다. 그러나, 제1 부분에 의해 표시된 장치 유형이 제1 메모리 장치(30-0))의 장치 유형과 동일하면, 메모리 장치 동작 회로(23)는 제2 부분에 의해 표시된 장치 어드레스가 제1 메모리 장치(30-0))의 장치 어드레스와 매치되는 지를 판정한다. 2개의 장치 어드레스가 매치되면, 메모리 장치 동작 회로(23)는 명령 부분에 의해 표시된 선택된 명령을 실행한다. 다른 한편, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다.In a first embodiment, when a memory device, for example, a first memory device 30-0, receives a memory command, the memory
제2 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 보냄으로써 복수의 메모리 장치를 제어한다. 각각의 메모리 명령은 복수의 메모리 장치들 중에서 선택된 메모리 장치를 고유하게 식별하는 제1 부분을 포함한다. 제1 부분은 선택된 메모리 장치의 장치 어드레스를 식별한다. 제2 구현예에서, 메모리 명령은 장치 유형을 포함할 필요가 없다. 각각의 메모리 명령은 선택된 메모리 장치에 의해 실행되는 선택된 명령을 식별하는 명령 부분을 또한 갖는다. 상기에서와 같이, 각각의 메모리 명령은 적절한 다른 부분을 또한 포함할 수 있다. 제2 구현예에서, 메모리 장치, 예를 들면 제1 메모리 장치(30-0)가 메모리 명령을 수신하면, 그 메모리 장치 동작 회로(23)가 메모리 명령의 제1 부분에 응답하여 메모리 명령이 그 장치(즉, 제1 메모리 장치(30-0))에 어드레스되어 있는 지를 판정한다. 메모리 장치 동작 회로(23)는 제1 부분에 의해 표시된 장치 어드레스가 제1 메모리 장치(30-0))의 장치 어드레스와 매치되는 지를 판정한다. 2개의 장치 어드레스가 매치되면, 메모리 장치 동작 회로(23)는 명령 부분에 의해 표시된 선택된 명령을 실행한다. 다른 한편, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다.In the second embodiment, the controller operation circuit 13 of the
몇몇 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 인터페이스(14)를 통해 수신된 요구에 응답하여 출력 인터페이스(11)를 통해 메모리 명령을 전송하도록 동작 가능하고, 또한 입력 인터페이스(12)를 통해 수신된 메모리 응답을 사용하여 요구에 응답하도록 동작 가능하다. 인터페이스(14)는 메모리 시스템(40)을 사용하는 다른 장치 또는 시스템(비도시)으로의 임의의 적절한 인터페이스일 수 있다.In some implementations, the controller operation circuit 13 of the
메모리 명령에 대해 많은 가능성이 있다. 이들은 판독 동작, 기록 동작, 소거 동작, 판독 상태 동작, 판독 ID 동작, 기록 구성 레지스터 동작, 기록 어드레스 동작 및 리셋 동작 중의 하나 이상을 포함할 수 있다. 또 다른 메모리 명령이 있을 수 있다.There are many possibilities for memory commands. These may include one or more of a read operation, a write operation, an erase operation, a read state operation, a read ID operation, a write configuration register operation, a write address operation, and a reset operation. There may be another memory command.
메모리 컨트롤러(10)가 메모리 명령을 전송하는 방법은 장치 어드레스가 할당되는 방식에 의존할 수 있다. 장치 어드레스를 할당하는 구현 예가 아래에 제공된다.The manner in which the
장치 어드레스가 메모리 장치(30-0, 30-1, …, 30-N)에 할당되게 하는 많은 방법이 있다. 몇몇 구현예에서, 장치 어드레스가 미리 정해져 있거나 배선되어 있다. 다른 구현예에서, 컨트롤러 동작 회로(13)는 초기화 단계에서 장치 어드레스를 할당한다. 예를 들면, 제1 및 제2 구현예를 아래에 설명하지만, 다른 구현예도 가능하다.There are many ways to have device addresses assigned to memory devices 30-0, 30-1, ..., 30-N. In some implementations, the device address is predefined or wired. In another embodiment, the controller operation circuit 13 allocates a device address in an initialization step. For example, although the first and second embodiments are described below, other embodiments are possible.
제1 구현예에서, 컨트롤러 동작 회로(13)는 복수의 지원되는 장치 유형의 각각의 장치 유형에 대해서, 출력 인터페이스(11)를 통해 그 장치 유형의 각각의 메모리 장치에 장치 어드레스를 할당하는 각각의 초기화 메시지를 전송한다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 초기화 메시지를 수신하여 처리한다. 예를 들면, 제1 메모리 장치(30-0)는 제1 입력 인터페이스(21)를 통해 초기화 메시지를 수신한다. 수신된 각각의 초기화 메시지에 있어서, 초기화 메시지가 제1 메모리 장치(30-0)의 장치 유형이 아니라 또 다른 장치 유형을 위한 것으로 표시되어 있으면, 메모리 장치 동작 회로(23)는 초기화 메시지를 출력 인터페이스(22)를 통해 포워딩한다. 그러나, 초기화 메시지가 제1 메모리 장치(30-0)의 장치 유형을 위한 것으로 표시되어 있으면, 메모리 장치 동작 회로(23)는 초기화 메시지로부터 장치 어드레스를 판정한다. 이것은 초기화 메시지로부터 장치 어드레스를 판독하는 것에 관련된다. 몇몇 구현예에서, 초기화 메시지로부터 판독된 그대로의 장치 어드레스는 제1 메모리 장치(30-0)의 장치 어드레스가 된다. 메모리 장치 동작 회로(23)는 새로운 장치 어드레스를 갖는 초기화 메시지를 출력 인터페이스(22)를 통해 보낸다. 각각의 또 다른 메모리 장치(30-1, …, 30-N)는 유사한 초기화 과정을 수행한다. 전송된 각각의 초기화 메시지에 있어서, 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 각각의 초기화 응답을 수신하고, 장치 유형의 메모리 장치가 있다면 그 응답으로부터 장치 유형의 각각의 메모리 장치의 장치 어드레스가 판정될 수 있다.In a first embodiment, the controller operating circuit 13 is operable to provide, for each device type of a plurality of supported device types, a respective one of a plurality of device types, each of which assigns a device address to each memory device of the device type via the
예를 들면, 몇몇 구현예에서, 장치 어드레스가 할당된 각각의 메모리 장치에 있어서, 다음 장치로 보내어진 새로운 장치 어드레스는 장치 어드레스의 증분이다. 그러므로, 주어진 장치 유형의 제1 메모리 장치가 0의 어드레스가 할당되면, 주어진 장치 유형의 최종 메모리 장치는 m-1의 어드레스가 할당되고, 여기서 m은 주어진 장치 유형의 메모리 장치의 수이다. 주어진 장치 유형의 최종 메모리 장치의 증분된 장치 어드레스를 나타내는, 입력 인터페이스(12)를 통한 초기화 응답을 수신함으로써, 컨트롤러 동작 회로(13)는 주어진 장치 유형의 각각의 메모리 장치의 장치 어드레스를 판정한다. 다중 장치 유형이 있는 경우에, 메모리 컨트롤러(10)는 어느 물리적인 장치가 어느 유형의 것인지를 알 수 없는 것에 유의한다. 오히려, 메모리 컨트롤러(10)는 각각의 유형의 얼마나 많은 메모리 장치가 있는지를 알 수 있다. 예를 들면, 4개의 NAND 장치 및 4개의 NOR 장치가 있을 수 있다. 4개의 NAND 장치는 type=NAND, address=0,1,2,3을 각각 가지고, 4개의 NOR 장치는 type=NOR, address=0,1,2,3을 각각 가진다. 그러면, NAND 및 NOR 메모리 장치의 물리적인 어드레스에 상관없이, 유형 및 어드레스 부분을 함유하는 명령은 목표 장치를 항상 찾는다. 2개의 다른 세트의 장치 넘버링(즉, 장치 유형 및 장치 어드레스)을 실행함으로써, 메모리 컨트롤러(10)는 어느 장치 어드레스가 메모리 시스템(40)의 어느 장치 유형에 할당되는지를 고려할 필요가 없다.For example, in some implementations, for each memory device to which a device address is assigned, the new device address sent to the next device is an increment of the device address. Therefore, if a first memory device of a given device type is assigned an address of zero, the last memory device of a given device type is assigned an address of m-1, where m is the number of memory devices of a given device type. The controller operating circuit 13 determines the device address of each memory device of a given device type by receiving an initialization response via the
제2 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 디바이스 어드레스를 메모리 장치(30-0, 30-1,..., 및 30-N)에 할당하기 위한 초기화 메시지를 출력 인터페이스(11)를 통해 전송하도록 동작할 수 있다. 메모리 장치(30-0, 30-1,..., 및 30-N)는 초기화 메시지를 수신하고 처리한다. 예컨대, 제1 메모리 장치(30-0)는 초기화 메시지를 입력 인터페이스(21)를 통해 수신하고, 이 장치의 메모리 장치 동작 회로(23)는 수신된 초기화 메시지로부터 장치 어드레스를 판독한다. 어떤 구현예에서, 초기화 메시지로부터 판독됨에 따라, 장치 어드레스는 제1 메모리 장치(30-0)의 장치 어드레스가 된다. 메모리 장치 동작 회로(23)는 초기화 메시지를 출력 인터페이스(22)를 통해서 새로운 장치 어드레스를 가지고 보낸다. 다른 메모리 장치(30-1,..., 및 30-N) 각각은 유사한 초기화 프로세스를 실행한다. 결국, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 초기화 응답을 수신하며, 이 응답으로부터, 각 메모리 장치의 장치 어드레스가 판정될 것이다.In the second embodiment, the controller operation circuit 13 of the
예컨대, 메모리 장치(30-0, 30-1,..., 및 30-N) 각각에 대해, 그 다음 장치로 보내진 새로운 장치 어드레스는 장치 어드레스의 증분이다. 그러므로 만약 제1 메모리 장치(30-0)가 0의 어드레스로 할당된다면, 마지막 메모리 장치(30-N)는 N의 어드레스가 할당될 것이며, 여기서, 메모리 장치의 수는 (N+1)이다. 입력 인터페이스(12)를 통해서 마지막 메모리 장치(30-N)의 증분된 장치 어드레스를 지시하는 초기화 응답을 수신함으로써, 컨트롤러 동작 회로(13)는 각 메모리 장치의 장치 어드레스를 판정할 수 있다.For example, for each of the memory devices 30-0, 30-1, ..., and 30-N, the new device address sent to the next device is an increment of the device address. Therefore, if the first memory device 30-0 is assigned an address of zero, the last memory device 30-N will be assigned an address of N, where the number of memory devices is (N + 1). By receiving an initialization response indicating the incremented device address of the last memory device 30-N via the
상술한 제2 구현예에 따라, 일단 메모리 장치(30-0, 30-1,..., 및 30-N) 각각의 장치 어드레스가 할당되면, 컨트롤러 동작 회로(13)는 각 메모리 장치의 장치 유형을 판정한다. 각 장치 어드레스에 대해, 컨트롤러 동작 회로(13)는 출력 인터페이스(11)를 통해서 추가 초기화 메시지를 전송하여, 장치 어드레스의 메모리 장치의 장치 유형을 판정한다. 메모리 장치(30-0, 30-1,..., 및 30-N) 각각은 이 추가 초기화 메시지를 수신하고 처리한다.According to the above-described second embodiment, once the device addresses of the memory devices 30-0, 30-1, ..., and 30-N are assigned, Type. For each device address, the controller operating circuit 13 sends an additional initialization message via the
예컨대, 제1 메모리 장치(30-0)가 입력 인터페이스(21)를 통해서 추가 초기화 메시지를 수신하면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지에 지시된 장치 어드레스를 기초로 해서 이 추가 초기화 메시지가 제1 메시지 장치(30-0)용인지의 여부를 판정한다. 만약 그렇다면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지에 대해 출력 인터페이스(22)를 통해 이 장치의 장치 유형의 식별정보를 가지고 응답한다. 만약 이 추가 초기화 메시지가 다른 메모리 장치(30-1,..., 및 30-N 중 하나용이라면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지를 출력 인터페이스(22)를 통해 보낸다. 다른 메모리 장치(30-1,..., 및 30-N) 각각은 추가 초기화 메시지의 유사한 처리를 실행한다. 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 각 메모리 장치에 대해서 메모리 장치의 장치 유형을 지시하는 초기화 응답을 수신한다.For example, if the first memory device 30-0 receives an additional initialization message via the
컨트롤러 동작 회로(13)에 대한 상술한 제1 및 제2 구현예는 단지 예시용의 매우 특정한 것임을 이해해야 한다. 변경 및 변형이 가능하다. 예컨대, 제1 구현예는 장치 어드레스를 각 메모리 장치에 할당하기 위해 다수의 초기화 메시지를 수반하는 것으로 상술되어 있지만, 그러나 대안적으로 이러한 목적을 위해 하나 이상의 초기화 메시지가 있을 수 있다. 또한, 제2 구현예는 각 메모리 장치의 장치 유형을 판정하기 위해 다수의 추가 초기화 메시지를 수반하는 것으로 상술되어 있지만, 그러나 대안적으로 이러한 목적을 위해 하나 이상의 추가 초기화 메시지가 있을 수 있다. 기재한 예에서, 수신한 초기화 메시지의 어드레스는 장치 어드레스로 설정되고, 새로운 어드레스가 생성되어 그 다음 장치로 전송된다. 다른 구현예에서, 각 메모리 장치는 어드레스를 수신하고, 이것을 장치 어드레스로 설정하기 이전에 이것을 증분한다. 이 구현예의 상세한 예는, 2006년 9월 29일에 출원되어 그 전체가 참조로서 여기에 병합되어 있는, 일반적으로 양도된 공동-계류중인 미국특허출원 제11/529,293호, “직렬로 상호접속된 장치를 위한 패킷 기반 ID 생성”에 기재되어 있다.It should be understood that the above-described first and second implementations of the controller operation circuit 13 are only very specific for illustration. Changes and modifications are possible. For example, although the first embodiment is described above as involving multiple initialization messages to assign a device address to each memory device, alternatively there may be more than one initialization message for this purpose. Also, while the second embodiment is described above as involving a number of additional initialization messages to determine the device type of each memory device, alternatively there may be one or more additional initialization messages for this purpose. In the example described, the address of the received initialization message is set to the device address, and a new address is generated and sent to the next device. In another implementation, each memory device receives an address and increments it before setting it to the device address. A detailed example of this embodiment is disclosed in commonly assigned co-pending U.S. Patent Application Serial No. 11 / 529,293, filed September 29, 2006, which is incorporated herein by reference in its entirety, &Quot; Generating Packet-based IDs for Devices ".
앞서 제공된 예는 인터페이스를 참조한다. 그러한 인터페이스에 대한 많은 가능성이 있음을 이해해야 한다. 특정한 인터페이스를 후술될 예에서 제공한다. 더욱 일반적으로, 임의의 적절한 인터페이스를 구현할 수도 있다.The example provided above refers to the interface. It should be understood that there are many possibilities for such interfaces. A specific interface is provided in the example to be described later. More generally, any suitable interface may be implemented.
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N)의 각각과 접속하기 위한 리셋 출력(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 시스템(40)은 임의의 적절한 리셋 구현예를 사용하여 리셋될 수도 있다.In some implementations, the
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N)의 각각과 접속하기 위한 직렬 클록 출력(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 시스템(40)은 임의의 적절한 클록 구현예를 사용하여 직렬 클록이 제공될 수도 있다.In some implementations,
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N) 각각과 접속하기 위한 칩 선택(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 장치(30-0, 30-1,..., 및 30-N)는 임의의 적절한 장치 인에이블링 구현예를 사용하여 인에이블될 수 있다.In some implementations, the
도 2c는 도 2b에 도시한 메모리 시스템의 동작을 도시한다. 도 2b 및 도 2c를 참조하면, 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 출력 인터페이스(11)를 통해서 전송하여 장치(30-0, 30-1,..., 및 30-N)를 제어한다. 컨트롤러 동작 회로(13)는 메모리 명령을 전송함으로써 장치(30-0, 30-1,..., 및 30-N)를 제어한다. 이러한 동작이 달성될 수 있는 많은 방식이 있다. 예시를 위해, 일부 예시적인 구현예를 후술할 것이지만, 그러나 다른 구현예도 가능하다.Figure 2C shows the operation of the memory system shown in Figure 2B. 2B and 2C, the controller operation circuit 13 of the
일반적으로, 메모리 시스템(40)은 두 단계: 35로 나타나는 초기화 단계 및 36으로 나타나는 정상 동작 단계의 동작을 실행한다. 초기화 단계(35)(또는 초기화 모드)에서, 장치(30-0, 30-1,..., 및 30-N)에는 장치 어드레스가 할당된다. 할당된 장치 어드레스는 장치(30-0, 30-1,..., 및 30-N)에 홀딩된다. 그 이후, 정상 동작 단계(36)(또는 정상 동작 모드)에서, 타깃 즉, 어드레싱된 메모리 장치가 데이터 액세스 동작을 실행한다.In general, the
초기화 단계(35)의 일례에서, 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 이 명령은, 고유한 어드레스를 장치에 할당하기 위한 장치 어드레스 할당 부분 및 장치 어드레스 관련 넘버 부분을 갖는다. 일 구현예에서, 컨트롤러 동작 회로(13)로부터의 명령의 장치 어드레스 관련 넘버는 초기값이나 넘버이며, 초기의 넘버는 각각의 장치에 의해 증분된다. 증분된 넘버의 각각은 각각의 장치에서 각 장치의 어드레스로서 홀딩된다.In one example of the
정상 동작 단계(36)의 일례에서, 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 메모리 명령은, 다수의 메모리 장치 중 선택된 메모리 장치를 장치 어드레스에 의해 고유하게 식별하는 제1 부분을 포함한다. 장치 유형이 메모리 명령에는 포함되지 않는다. 각 메모리 명령은 또한, 선택된 메모리 장치에 의해 수행될 선택된 명령을 식별하는 명령 부분을 갖는다. 각 메모리 명령은 또한 적절한 다른 부분을 포함할 수도 있다. 메모리 장치, 예컨대 제1 장치(30-0)가 메모리 명령을 수신하고 난 다음에, 이 장치의 장치 동작 회로(23)는 메모리 명령의 제1 부분에 응답하여 메모리 명령이 이 장치(즉, 제1 장치(30-0))에 어드레싱될 것인지를 판정한다. 장치 동작 회로(23)는 제1 부분에 의해 표시되는 장치 어드레스가 제1 장치(30-0)의 장치 어드레스에 매치하는지를 판정한다. 두 장치 어드레스 사이에 매치가 있다면, 장치(30-0)의 장치 동작 회로(23)는 이 명령 부분에 의해 표시되는 선택된 명령을 수행할 것이다. 그렇지 않다면, 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 다음의 장치(예컨대, 제2 장치(30-1))에 보낸다.In one example of the normal operation step 36, the controller operation circuit 13 of the
일부 구현예에서, 컨트롤러(10)의 컨트롤러 동작 회로(13)는, 인터페이스(14)를 통해 수신된 요구에 응답하여, 메모리 명령을 출력 인터페이스(11)를 통해 전송하도록 동작할 수 있고, 또한 입력 인터페이스(12)를 통해 수신된 메모리 응답을 사용하여 이 요구에 응답하도록 동작할 수 있다. 인터페이스(14)는, 메모리 시스템(40)을 사용하는 다른 장치나 시스템(미도시)에 대한 임의의 적절한 인터페이스일 수 있다.In some embodiments, the controller operation circuit 13 of the
메모리 명령에 대한 많은 가능성이 있다. 이들 가능성은 판독 동작, 기록 동작, 소거 동작, 판독 상태 동작, 판독 DA 동작, 기록 구성 레지스터 동작, 기록 어드레스 동작 및 리셋 동작 중 하나 이상을 포함할 수도 있다. 다른 메모리 명령이 있을 수도 있다.There are many possibilities for memory commands. These possibilities may include at least one of a read operation, a write operation, an erase operation, a read state operation, a read DA operation, a write configuration register operation, a write address operation and a reset operation. There may be other memory commands.
컨트롤러(10)가 메모리 명령을 전송하는 방식은, 장치 어드레스가 할당되는 방식에 따라 다를 수도 있다. 장치 어드레스를 할당하기 위한 예시적인 구현예를 아래에 제공할 것이다.The manner in which the
다음의 상세한 설명 및 도면에서, 신호 및 접속에 대해 일부 참조 부호가 사용된다. 예컨대, "SCLK"는 메모리 장치의 클록 신호 및 클록 입력 접속을 나타내고, "SIP"는 직렬 입력 포트 신호 및 직렬 입력 포트 접속을 나타내고, "SOP"는 직렬 출력 포트 신호 및 직렬 출력 포트 접속을 나타내고, "IPE"는 입력 포트 인에이블 신호 및 입력 포트 인에이블 접속을 나타내고, "OPE"는 출력 포트 인에이블 신호 및 출력 포트 인에이블 접속을 나타내고, "CS#"는 칩 선택 신호 및 칩 선택 입력 접속 또는 포트를 나타내며, "RST#"는 리셋 신호 및 리셋 입력 접속 또는 포트를 나타낸다. 또한, 동일하거나 대응하는 블록, 접속, 신호 및 회로에 대해서는 동일한 참조 부호가 사용된다.In the following detailed description and drawings, some reference numerals are used for signals and connections. For example, "SCLK" represents a clock signal and a clock input connection of a memory device, "SIP" represents a serial input port signal and a serial input port connection, "SOP" represents a serial output port signal and a serial output port connection, "IPE" indicates an input port enable signal and an input port enable connection, "OPE" indicates an output port enable signal and an output port enable connection, "CS #" indicates a chip selection signal and a chip selection input connection Port, and "RST #" indicates a reset signal and a reset input connection or port. Also, the same reference numerals are used for the same or corresponding blocks, connections, signals, and circuits.
도 3a, 도 3b, 도 3c, 도 3d, 도 3e 및 도 3f는 본 발명의 실시예에 따른 특정 예의 메모리 시스템을 도시한다. 이들 도면은 매우 특정된 것이며, 단지 예시적인 용도를 위해 제공되는 것임을 이해해야 할 것이다.Figures 3a, 3b, 3c, 3d, 3e and 3f illustrate a memory system of a specific example according to an embodiment of the invention. It should be understood that these drawings are highly specific and are provided for illustrative purposes only.
도 3a는 일례의 메모리 시스템의 일반적인 구성을 도시한다. 메모리 시스템(41)은 메모리 컨트롤러(50) 및 복수(n+1)의 메모리 장치를 포함하며, n은 정수이다. 이 특정한 예에서, 메모리 컨트롤러(50) 및 메모리 장치는 직렬 링크와 접속된다. 이 직렬 상호접속 구성은 제1 장치(80)("장치-0"), 제2 장치(81)("장치-1"), 제3 장치(82)("장치-2"),..., 및 제(n+1) 장치(83)("장치-n")를 포함한다.3A shows a general configuration of an exemplary memory system. The
도 3a를 참조하면, 메모리 컨트롤러(50)는 리셋 포트(51), 칩 선택 포트(52), 및 메모리 장치(80, 81, 82,..., 및 83)의 각각에 접속된 직렬 클록 포트(53)를 갖는다. 따라서, 메모리 장치(80, 81, 82,..., 및 83)의 각각은 리셋 포트(61), 칩 선택 포트(62), 및 직렬 클록 포트(63)를 갖는다. 메모리 컨트롤러(50)는 직렬 출력(54), 입력 인에이블(55), 및 제1 메모리 장치(80)에 접속된 출력 인에이블(56)을 포함하는 출력 인터페이스를 갖는다. 따라서 제1 메모리 장치(80)는 직렬 입력(64), 입력 인에이블(65), 및 출력 인에이블(66)을 포함하는 입력 인터페이스를 갖는다. 제1 메모리 장치(80)는 또한 직렬 출력(67), 입력 인에이블 에코(68) 및 출력 인에이블 에코(69)를 포함하는 출력 인터페이스를 갖는다. 다른 메모리 장치(81, 82 및 83)의 각각은 대응하는 입력 인터페이스(64, 65, 66) 및 출력 인터페이스(67, 68, 69)를 가지므로, 메모리 장치(80, 81, 82,..., 및 83)는 직렬 링크를 통해 상호접속된다. 메모리 컨트롤러(50)는, 최종 메모리 장치(83)의 출력 인터페이스(67, 68 및 69)와 접속하기 위해 직렬 입력(57), 입력 인에이블 에코(58) 및 출력 인에이블 에코(59)를 포함하는 입력 인터페이스를 갖는다.3A, the
메모리 컨트롤러(50)는 도 2b에 도시한 메모리 컨트롤러의 소자와 유사한 소자(미도시)를 갖지만, 이들 소자는 간소화시키기 위해 도시하지 않는다.The
메모리 장치(80, 81, 82,..., 및 83)는 각각, 메모리(80A, 81A, 82A,..., 및 83A)와 같은 메모리-유형 특정 소자를 갖는다. 예시한 예에서, 그러나 이들의 장치 유형은 특정하지 않는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 그 인터페이스와 그 메모리 사이에 인터페이스 회로(미도시)를 갖는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 또한, 그 장치 유형의 식별을 유지하기 위한 레지스터(60)를 갖는다. 다른 구현예에서, 메모리 장치(80, 81, 82,..., 및 83)의 각각은 그 장치 유형의 식별을 유지하기 위한 대안적인 회로를 갖는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 다른 소자를 가질 수도 있지만, 그들 소자는 간소화시키기 위해 도시하지 않는다.The
동작 시에, 메모리 시스템(41)은, 도 2b를 참조하여 상술한 메모리 시스템(40)과 유사한 방식으로 동작한다. 그러나 예시용으로, 메모리 시스템(41)의 동작의 다른 예시적인 상세한 내용은 추가 도면을 참조하여 이후에 제공한다.In operation, the
도 3b는 제1 특정 예의 메모리 시스템(42)을 도시한다. 메모리 시스템(42)은 도 3b에 도시한 메모리 시스템(41)과 유사하다. 메모리 시스템(42)은, 도 3b의 예와 동일한 메모리 코어(84A, 85A, 86A, 87A)를 갖는 (n+1)개의 메모리 장치(84, 85, 86,..., 및 87)를 포함한다. 도 3b에 도시한 특정한 예에서, 각각, 제1 메모리 장치(84)는 NOR 플래시 메모리 코어(84A)를 가지며, 제2, 제3,..., 및 제(n+1) 메모리 장치(85, 86,..., 및 87)는 NAND 플래시 메모리 코어(85A, 86A,..., 및 87A)를 갖는다. 도 3c의 예는, 유형-방식의 어드레싱 스킴, 즉 앞서 소개한 제1 어드레싱 스킴이 사용된다는 점에서 도 3b의 예와 다르다. 하나의 NOR 장치와 'n'개의 NAND 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'NOR-0', 'NAND-0', 'NAND-1',..., 및 'NAND-(n-1)'로서 나타난다.3B shows a
앞서 논급한 바와 같이, 메모리 장치(84, 85, 86,..., 및 87)는 임의의 적절한 장치 유형일 수도 있다. 이 점을 예시하기 위해, 변경되거나 혼합된 장치 유형을 가진 다른 예시적인 메모리 시스템을 도 3d, 도 3e 및 도 3e를 참조하여 제공한다.As previously noted, the
도 3c는 제2 특정 예의 메모리 시스템(43)을 도시한다. 메모리 시스템(43)은, 메모리 시스템(43)이 다른 메모리 장치를 갖는 점을 제외하고는, 도 3c에 도시된 메모리 시스템(42)과 동일하다. 도 3c에 도시한 특정 예에서, 메모리 시스템(43)은 혼합된 메모리 코어(88A, 89A, 90A,..., 및 91A)를 각각 갖는 복수(n+1)의 메모리 장치(88, 89, 90,..., 및 91)를 포함한다. 제1 메모리 장치(88)는 SRAM 메모리 코어(88A)를 가지며, 제2 메모리 장치(89)는 NOR 플래시 메모리 코어(89A)를 갖는다. 제3,.., 및 제(n+1) 메모리 장치(91)는 각각 NAND 플래시 메모리 코어(90A,..., 및 91A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 하나의 SRAM 장치와, 하나의 NOR 장치 및 '(n-1)'개의 NAND 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'SRAM-0', 'NOR-0', 'NAND-0',.... 및 'NAND-(n-2)'로 나타난다.3C shows the
도 3d는 복수(n+1)의 메모리 장치를 포함하는 제3 특정 예의 메모리 시스템(44)을 도시한다. 도 3d를 참조하면, 메모리 시스템(44)은, 메모리 시스템(44)이 상이한 메모리 장치(92, 93,..., 94 및 95)를 갖는 점을 제외하고, 도 3c에 도시한 메모리 시스템(42)과 동일하다. 도 3e에 도시한 특정 예에서, 메모리 장치(92, 93,..., 94 및 95)의 메모리 코어(92A, 93A, 94A,..., 및 95A)는 혼합된다. 예시된 예에서, 제1, 제2, 제3,..., 및 제 n 메모리 장치(92, 93,..., 및 94)는 NAND 플래시 메모리 코어(92A, 93A,..., 및 94A)를 각각 갖는다. 최종(제(n+1)) 메모리 장치(95)는 NOR 플래시 메모리 코어(95A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 'n'개의 NAND 장치와 하나의 NOR 장치가 있는 것으로 가정할 때, 유형 플러스 어드레스는 'NAND-0', 'NAND-1',...,'NAND-(n-1)', 및 'NOR-0'으로 나타난다. 메모리 컨트롤러(50)는 도 3b와 도 3d의 예 사이의 물리적인 레이아웃에서의 차이점을 인식하지 못할 것임을 주목해야 한다.FIG. 3D shows a
도 3e는 제4 특정 예의 메모리 시스템(45)을 도시한다. 메모리 시스템(45)은, 메모리 시스템(45)이 상이한 메모리 장치(96, 97, 98,..., 및 99)를 갖는 점을 제외하고는 도 3c에 도시한 메모리 시스템(42)과 동일하다. 도 3e에 도시한 특정 예에서, 메모리 장치(96, 97, 98,..., 및 99)의 메모리 코어(96A, 97A, 98A,..., 및 99A)는 혼합된다. 예시된 예에서, 제1 메모리 장치(96)는 NAND 플래시 메모리 코어(96A)를 갖는다. 제2 메모리 장치(97)는 NOR 플래시 메모리 코어(97A)를 갖는다. 제3,..., 및 최종(제(n+1)) 메모리 장치(98,..., 및 99)는 각각 NAND 플래시 메모리 코어(98A,..., 및 99A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 'n'개의 NAND 장치와 하나의 NOR 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'NAND-0', 'NOR-0', 'NAND-1',..., 및 'NAND-(n-1)'로서 나타난다. 메모리 컨트롤러(50)는 도 3b 내지 도 3e의 예 사이의 물리적인 레이아웃의 차이점을 인식하지 못할 것임을 주목해야 한다.3E shows a
메모리 컨트롤러(50)가 적어도 NOR 플래시 장치, NAND 플래시 장치 및 SRAM 장치와 상호 작용할 수 있다고 가정한다면, 도 3b 내지 도 3e의 네 개의 예가 동일한 회로 레이아웃, 동일한 메모리 컨트롤러(50), 및 메모리 장치용의 '로트(lots)'나 '소켓(sockets)'으로 구현될 수 있음을 알 수 있을 것이다. 그러면, 지원되는 장치 유형을 가진 임의의 배치가 '로트'나 '소켓'으로 설치될 수 있으며, 도 3b, 도 3c, 도 3d 및 도 3e는 이것의 각각의 예이다.Assuming that the
도 3a ∼ 도 3e에 예시한 각각의 예에서, 리셋, 칩 선택 및 직렬 클록 신호를 멀티-드롭 방식으로 제공한다. 도 3f에 도시된 바와 같은 다른 구현예에서, 직렬 클록은, 출력 에코 클록 신호, 'SCLK_0'의 추가에 의해 포인트-투-포인트 링 유형 스킴(point-to-point ring type scheme)으로 접속된다. SCLK는 메모리 컨트롤러(50A)와 메모리 장치(180, 181, 182,..., 및 183)를 동기화시키는 시스템 클록이다. 각 메모리 장치로부터 출력된 에코 클록 신호는 그 다음 메모리 장치의 클록 입력(SCLK)에 공급된다. 메모리 컨트롤러(50A)와 메모리 장치(180, 181, 182,..., 및 183)는 마스터 장치와 슬레이브 장치로서 각각 동작한다. (n+1)개의 메모리 장치가 있다고 가정할 때, 할당된 어드레스는 '장치-0', '장치-1',..., 및 '장치-n'으로 나타난다.In each of the examples illustrated in Figures 3A-3E, the reset, chip select, and serial clock signals are provided in a multi-drop fashion. In another implementation, as shown in Figure 3F, the serial clock is connected in a point-to-point ring type scheme by the addition of an output echo clock signal, 'SCLK_0'. SCLK is a system clock that synchronizes the
제시한 예에서, 클록킹은 SDR(Single Data Rate)을 기초로 하지만, 그러나 다른 적절한 클록킹 스킴을 생각해 볼 수도 있음을 이해해야 한다. 다른 적절한 클록킹 스킴은 예컨대 DDR(Double Data Rate), QDR(Quad Data Rate), 상승 에지 SDR 또는 하강 에지 SDR을 포함할 수도 있다. 생각해 볼 수도 있는 다른 적절한 클록킹 스킴이 있을 수도 있다.In the example shown, it should be appreciated that the clocking is based on a single data rate (SDR), but other suitable clocking schemes may be contemplated. Other suitable clocking schemes may include, for example, Double Data Rate (DDR), Quad Data Rate (QDR), rising edge SDR, or falling edge SDR. There may be other suitable clocking schemes that you might think of.
도 3g는 메모리 장치의 일례의 SDR 동작에 대한 상대적인 타이밍 시퀀스를 도시한다. 도 3g는 하나의 포트에서의 동작을 도시한다. 도 3a 및 도 3g를 참조하면, 예시된 동작은, 장치(80, 81, 82,..., 및 83)에 전송된 정보가 장치의 직렬 클록 포트(63)에 공급된 클록 신호(SCLK)와 서로 다른 시간에 캡처될 수 있다는 것이다. SDR 구현의 일례에서, 장치 중 하나에 이 장치의 직렬 입력(64)에서 공급된 정보는 클록 신호(SCLR)의 상승 에지에서 캡처될 수 있다. SDR 동작에서, 칩 선택 신호는 일반적으로 동시에 모든 장치를 인에이블시키도록 접속되어, 제1 장치의 입력 데이터는 직렬 상호접속 구성을 통해 전송될 수 있게 된다. 대안적으로, SDR 동작에서, SIP 접속에서 장치에 공급된 정보는 클록 신호(SCLK)의 하강 에지에서 캡처될 수도 있다.Figure 3G shows a timing sequence relative to an exemplary SDR operation of the memory device. Figure 3g illustrates operation at one port. 3A and 3G, the illustrated operation is similar to the clock signal SCLK supplied to the device
도 3h는 메모리 장치의 일례의 DDR 동작에 대한 상대적인 타이밍 시퀀스를 도시한다. 도 3h는 한 포트에서의 동작을 도시한다. DDR 동작에서, 클록 신호(SCLK)의 상승 및 하강 에지의 양자가 직렬 입력(64)에 공급된 정보를 캡처하는 데 사용될 수 있다.Figure 3h shows a timing sequence relative to an example DDR operation of a memory device. Figure 3h illustrates operation at one port. In the DDR operation, both the rising and falling edges of the clock signal SCLK can be used to capture the information supplied to the
도 4a는 도 3a ∼ 도 3e에 도시한 메모리 장치로서 사용되는 일례의 메모리 장치 블록을 도시한다. 도 4a를 참조하면, 메모리 장치(140A)는 메모리 장치 중 어느 하나를 나타내며, 장치 컨트롤러/프로세서(142A), 장치 유형 매치 판정자(143), 메모리(144), 장치 유형 레지스터(146), 어드레스 매치 판정자(147), 장치 어드레스 레지스터(148) 및 어드레스 증분 연산자(149)를 포함한다. 장치 컨트롤러/프로세서(142A)는 메모리 장치(140A)의 동작을 제어한다. 메모리(144)는 예컨대, NAND 플래시 메모리, NOR 플래시 메모리, SDRAM, DRAM과 같은 임의의 유형의 메모리를 포함한다. 장치 유형 레지스터(146)는 도 3a ∼ 도 3e에 도시한 바와 같이 그 장치 유형의 식별을 유지하기 위한 레지스터(60)를 포함한다. 장치 어드레스 레지스터(148)는 이 메모리 장치(140A)의 장치 컨트롤러/프로세서(142A)에 의해 할당된 장치 어드레스(DA)를 홀딩한다. 장치 유형 레지스터(146)의 상세한 내용은 도 5a에 도시한다. 장치 유형 매치 판정자(143) 및 어드레스 매치 판정자(147)는 장치 컨트롤러/프로세서(142A)에 의한 제어 하에서 관련 매치 판정 기능들을 실행한다. 어드레스 증분 연산자(149)는 장치 어드레스 증분 기능(즉, "DA+1")을 실행한다.Fig. 4A shows an example memory device block used as the memory device shown in Figs. 3A to 3E. 4A,
장치(140A)는 리셋 포트("RST#"), 칩 선택 포트("CS#") 및 메모리 컨트롤러(예컨대 도 3a에 도시된 바와 같은 메모리 컨트롤러(50))에 접속된 직렬 클록 포트("SCLK")를 갖는다. 장치 컨트롤러/프로세서(142A)는 이전의 메모리 장치나 메모리 컨트롤러에 접속되는 메모리 장치의 직렬 입력("SIP"), 입력 인에이블("IPE") 및 출력 인에이블("OPE")에 접속된다. 또한, 장치 컨트롤러/프로세서(142A)는 다음의 메모리 장치에 접속되는 메모리 장치의 직렬 출력("SOP"), 입력 인에이블 에코("IPEQ") 및 출력 인에이블 에코("OPEQ")에 접속된다. 메모리(144)는 플래시 메모리 코어에 상당한다. 장치 유형 레지스터(146)는 그 장치 유형의 식별을 유지하기 위한 유형 레지스터(60)에 상당한다.
메모리 컨트롤러에 의해 발행된 메모리 명령의 포맷의 일례는 다음과 같다:An example of the format of a memory command issued by a memory controller is as follows:
메모리 명령(1)Memory instruction (1)
TYPE은 특정한 메모리 장치 유형의 식별을 위한 장치 유형이다. TDA는 특정한 메모리 장치의 어드레스의 식별을 위한 타깃 장치 어드레스이다. CMD는 타깃 메모리 장치에 의해 수행될 동작 명령이다. DATA는 메모리 장치에 대한 프로세스나 제어에 관한 정보(숫자나 값)를 포함한다. 여러 동작 명령 CMD의 예를 표 1에 도시한다.TYPE is the device type for identification of a particular memory device type. The TDA is the target device address for identification of the address of a particular memory device. CMD is an operation command to be performed by the target memory device. DATA contains information (number or value) about the process or control of the memory device. Examples of various operation commands CMD are shown in Table 1.
[표 1][Table 1]
다시, 도 4a를 참조하면, 장치 컨트롤러/프로세서(142A)는, 직렬 입력(SI)에 포함된 장치 어드레스 및 장치 유형에 응답하여, 메모리 명령이 이 메모리 장치(140A)에 어드레싱되는지를 판정한다. 예컨대, 장치 유형 매치 판정자(143)는, 장치 컨트롤러/프로세서(142A)에 의한 제어 하에서, SI의 장치 유형('DTs')이 장치 유형 레지스터(146)에 홀딩되는 장치 유형('DTr')과 매치하는지를 판정한다. 이들 사이가 매치인 경우에, 장치 유형 매치 판정자(143)는 유형 매치 표시(143M)를 장치 컨트롤러/프로세서(142A)에 제공한다. 그 후, 어드레스 매치 판정자(147)는, 장치 컨트롤러/프로세서(142A)의 제어 하에서, SI에 포함된 장치 어드레스('DAs')가 장치 어드레스 레지스터(148)에 홀딩되는 장치 어드레스('DAr')에 매치하는지를 판정한다. 이들 사이가 매치인 경우에, 어드레스 매치 판정기(147)는 어드레스 매치 표시(147M)를 장치 컨트롤러/프로세서(142A)에 제공한다.4A, the device controller /
도 2c에 도시한 바와 같은 초기화 단계(35)의 동작에서, 유형 매치 표시(143M)와 어드레스 매치 표시(147M)에 응답하여, 장치 컨트롤러/프로세서(142A)는 SI에 포함된 장치 어드레스(DA)를 어드레스 증분 연산자(149)에 제공하여, "+1"의 계산을 실행한다. 그에 따라, 계산된, 즉 증분된 어드레스(DA+1)가 장치 컨트롤러/프로세서(142A)에 출력된다. 증분된 장치 어드레스는 SOP를 통해 다음의 장치에 공급된다. 유형 매치 표시(143M)나 어드레스 매치 표시(147M) 중 어느 것도 제공되지 않는 경우에, 장치 컨트롤러/프로세서(142A)는 명령을 SOP를 통해 다음의 장치에 보낸다.2C, in response to the
도 2c에 도시한 바와 같은 데이터 액세스 단계(36)의 정상 동작에서, 유형 매치 표시(143M) 및 어드레스 매치 표시(147M)에 응답하여, 장치 컨트롤러/프로세서(142A)는 SI에 포함되는 수신된 명령을 수행한다. 유형 매치 표시(143M)나 어드레스 매치 표시(147M) 중 어느 것도 제공되지 않는 경우에, 장치 컨트롤러/프로세서(142A)는 명령을 SOP를 통해 다음의 장치에 보낸다.In the normal operation of the data access step 36 as shown in Figure 2C, in response to the
도 4b는 도 3f에 도시한 메모리 장치로서 사용되는 일례의 메모리 장치를 도시한다. 도 4b에 도시한 메모리 장치(140B)는 도 3f에 도시한 메모리 장치 중 어느 하나를 나타낸다. 메모리 장치(140B)는 도 4a에 도시한 메모리 장치(140A)와 유사하다. 메모리 장치(140B)의 장치 컨트롤러/프로세서(142B)는 자신에게 공급된 입력 클록과 동기화된 출력 클록을 출력하기 위한 클록 싱크로나이저(191)를 포함한다. 클록 싱크로나이저(191)는, 이전의 메모리 장치로부터 입력된 클록 신호(SCLK)의 출력 에코 클록 신호(SCLK_0)를 제공하는 위상 동기 루프(PLL: phase-locked loop)나 지연 동기 루프(DLL: delay-locked loop)를 포함할 수도 있다. 장치(140B)의 다른 동작은 도 4a에 도시한 장치(140A)의 동작과 동일하다.Fig. 4B shows an example memory device used as the memory device shown in Fig. 3F. The
도 3a ∼ 도 3f를 참조하여 앞서 제기한 예에서, 메모리 장치의 각각은 레지스터(예컨대, 장치 유형 레지스터(146))를 갖는다. 플래시 메모리(예컨대, NAND 플래시, NOR 플래시 메모리)는, 예컨대, 제조업자 코드, 메모리 밀도, 페이지 크기, 블록 크기, 뱅크의 수, I/O 구성, 또는 임의의 중요한 AC/DC 특징과 같은 유용한 정보를 식별하기 위해, 플래시 셀 코어 어레이의 여분의 섹션을 사용하는, 장치 내부에 공장에서 프로그래밍된 레지스터를 포함한다. 그러나 앞서 논급한 바와 같이, 일부 구현예에서, 레지스터는 장치 유형의 식별을 유지하기 위해 사용된다. 레지스터가 장치 유형을 표시하는 많은 방식이 있다. 일례를 도 5a를 참조하여 아래에 제공한다.In the example raised above with reference to Figures 3A-F, each of the memory devices has a register (e.g., device type register 146). Flash memory (e.g., NAND flash, NOR flash memory) may store useful information, such as manufacturer code, memory density, page size, block size, number of banks, I / O configuration, , A factory programmed register inside the device, which uses an extra section of the flash cell core array to identify the flash memory cell array. However, as previously noted, in some implementations, a register is used to maintain the identification of the device type. There are many ways in which registers display device types. An example is provided below with reference to FIG. 5A.
도 5a를 참조하면, 일례의 레지스터 블록(120)은, 일종의 물리적인 하드 프로그램 가능한 레지스터 유닛인 유형-레지스터를 갖는다. 레지스터 블록(120)은 eFuse(전기적으로 프로그램 가능한 퓨즈) 어레이(121)와 eFuse 레벨 검출 로직 유닛(122)을 갖는다. 예시된 예에서, eFuse 어레이(121)는 비트 7, 6, 5,..., 1 및 0의 8-비트 구성을 갖도록 도시되어 있다. 이 특정 예에서는, 제1의 4 비트 7-4는 '0000'이고, 제2의 4비트 3-0은 '0111'이다. 이것은 예컨대 '07h'(=00000111)를 나타낸다. 특정한 구현예에서, 이 구성은 PCRAM 메모리 유형을 표시한다. 서로 다른 구성은 서로 다른 장치 유형을 표시할 수도 있다. 예시된 예에서, ‘닫힌’ 및 ‘열린’ 퓨즈는 각각 ‘0’ 및 ‘1’을 표시한다. 그러한 ‘0’ 및 ‘1’로직은 eFuse 레벨 검출 로직 유닛(122)에 의해 검출되고, 검출된 비트 상태(비트 7-0)는 도 4a에 도시한 장치 컨트롤러/프로세서(142A)에 제공된다. 대안적으로, 레지스터 블록(120)은 종래의 폴리 또는 금속 퓨즈, OTP(One Time Programmable memory), 또는 임의의 비휘발성 프로그램 가능한 소자를 가질 수도 있다.5A, an exemplary register block 120 has a type-register that is a kind of physical hard programmable register unit. The register block 120 has an eFuse (electrically programmable fuse)
도 5b는 각 장치 유형에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 이 테이블에서, 'RFU'는 'Reserved for Future Usage'를 의미한다. 도 5b를 참조하면, 테이블은 10개의 메모리 유형: NAND 플래시, NOR 플래시, DRAM, SRAM, PSRAM, DiNOR 플래시, FeRAM, PCRAM, 직렬 EEPROM, 및 MRAM의 각각에 대한 인코딩 스킴을 정의한다. 예컨대, SRAM 메모리 유형은 '03h'의 인코딩 스킴을 갖는다. NAND 플래시 유형은 '00h'로서 할당되는데 반해, NOR 플래시 유형은 '01h'로서 할당된다. 이 예에서, 비트 구조는 MSB(최상위 비트) 내지 LSB(최하위 비트)이다. 다른 구현예에서, 이것은 그 순서가 반전될 수 있어서, MSB 대신에 먼저 LSB에서 시작한다. 일부 레지스터 구성은 장래의 사용(RFU)을 위해 예약된다.Figure 5B shows a table of an example encoding scheme for each device type. In this table, 'RFU' means 'Reserved for Future Usage'. Referring to FIG. 5B, the table defines the encoding scheme for each of the ten memory types: NAND flash, NOR flash, DRAM, SRAM, PSRAM, DiNOR flash, FeRAM, PCRAM, serial EEPROM, and MRAM. For example, the SRAM memory type has an encoding scheme of '03h'. The NAND flash type is assigned as '00h' whereas the NOR flash type is assigned as '01h'. In this example, the bit structure is MSB (most significant bit) to LSB (least significant bit). In other implementations, this may be reversed in order so that it starts first with the LSB instead of with the MSB. Some register configurations are reserved for future use (RFU).
도 2c에 도시한 초기화 단계(35)를 구현하는 많은 방식이 있다. 앞서 논급한 바와 같이, 각 메모리 장치는 메모리 유형을 갖는다. 유형-의존 어드레싱에 의해 장치 어드레스를 할당하는 방법을 도 6a를 참조하여 후술할 것이다.There are many ways to implement the
도 6a는 유형-의존 어드레싱에 의해 장치 어드레스를 할당하는 방법을 도시한다. 이 프로세스는 단지 예시용으로만 매우 구체화되어 있음을 이해해야 한다. 이 방법은 복수의 메모리 장치가 직렬로 상호 접속된 임의의 메모리 시스템(예컨대, 도 3b에 도시한 메모리 시스템)에 적용될 수 있다.6A illustrates a method of assigning a device address by type-dependent addressing. It should be appreciated that this process is very specific only for illustrative purposes. This method can be applied to any memory system in which a plurality of memory devices are connected in series (e.g., the memory system shown in Fig. 3B).
도 3b 및 도 6a를 참조하면, 파워 업 초기화(단계 6-1)가 있을 때, 메모리 컨트롤러(50)는 장치 유형 'm'의 메모리 장치에 대한 기록 장치 어드레스 동작을 실행한다(단계 6-2). 기록 장치 어드레스 동작은 '00h'의 타깃 장치 어드레스(TDA)를 가지며, 이는 모든 메모리 장치가 파워 업 동안에 초기에 '00h'로 설정된 장치 어드레스를 갖기 때문이다. 기록 장치 어드레스 동작이 각 메모리 장치를 일주할 때, 그 타깃 장치 어드레스는 '00h'로 남게 되어, 각 메모리 장치는 기록 장치 어드레스 동작을 처리한다. 기록 장치 어드레스 동작은 각각의 메모리 장치를 일주한다. 장치 유형 'm'의 각 메모리 장치는 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 기초로 해서 그 장치의 장치 어드레스가 할당된다. 그 장치의 장치 어드레스가 할당된 각 메모리 장치는 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 다음의 메모리 장치에 보내기 전에 증분한다.3B and 6A, when there is a power-up initialization (step 6-1), the
결국, 기록 장치 어드레스 동작은 메모리 컨트롤러(50)로 되돌아간다. 기록 장치 어드레스 동작이 대기(단계 6-4)를 거쳐 신호 입력 인에이블 에코(IPEQ) 및 직렬 입력(SIP)(단계 6-3에서 YES)에 의해 표시되는 바와 같이 메모리 컨트롤러(50)에 되돌아 도달한다면, 메모리 컨트롤러(50)는, 장치 유형("m")의 메모리 장치의 넘버가 기록 장치 어드레스 동작에 의해 표시된 장치 어드레스("NA")와 동일하다고 판정할 것이며, 메모리 컨트롤러(50)는 'm'을 증분한다(단계 6-5). 그 이후, 메모리 컨트롤러(50)는 'm'의 값을 기초로 해서 다른 장치 유형이 있는지를 판정한다(단계 6-6). 다른 장치 유형이 있다면(단계 6-6에서 YES), 동작은 단계 6-2로 되돌아갈 것이다. 각 다른 장치 유형에 대해, 메모리 컨트롤러(50)는 단계 6-2 내지 6-5를 반복한다. 메모리 컨트롤러(50)는 장치 어드레스를 'm'에 대한 모든 가능한 값에 상당하는 모든 가능한 장치 유형의 메모리 장치에 할당하려고 시도한다. 이것은, 메모리 컨트롤러(50)가 어떤 장치 유형이 메모리 시스템 내에 존재하는지를 미리 알지 못할 수 있기 때문에 실행된다. 더 이상의 다른 장치 유형이 없을 때(단계 6-6에서 NO), 프로세스는 종료한다(단계 6-7).Eventually, the recording device address operation returns to the
상술한 단계 6-2의 상세한 내용을 도 6b에 도시한다. 도 3b, 도 4a, 도 6a 및 도 6b를 참조하여, 기록 장치 어드레스 동작을 수신한 장치는, 수신한 장치 유형 'm'이 장치 유형 레지스터(146)에 등록된 장치 유형에 매치하는지를 판정한다(단계 6-8). 이것은 장치 컨트롤러/프로세서(142A) 및 장치 유형 매치 판정자(143)에 의해 실행된다. 장치 유형 매치가 있다면(단계 6-8에서 YES), 장치는 또한, 타깃 장치 어드레스(TDA)가 장치 어드레스 레지스터(148)에 등록된 장치 어드레스에 매치하는지를 판정할 것이다(단계 6-9). 이것은 장치 컨트롤러/프로세서(142A) 및 어드레스 매치 판정자(147)에 의해 실행된다. 장치 어드레스 매치가 있다면(단계 6-9에서 YES), 수신한 장치 어드레스가 장치 어드레스 레지스터(148)에 등록될 것이고(단계 6-10), 수신한 장치 어드레스는 증분될 것이다(DA+1)(단계 6-11). 그러한 장치 어드레스 증분은 장치 컨트롤러/프로세서(142A) 및 어드레스 증분 연산자(149)에 의해 실행된다. 장치 유형 매치가 없다면(단계 6-8에서 NO), 장치 어드레스 할당과 장치 어드레스 증분이 모두 실행되지 않을 것이다. 또한, 장치 어드레스 매치가 없다면(단계 6-9에서 NO), 장치 어드레스 할당과 어드레스 증분이 모두 실행되지 않을 것이다.Details of step 6-2 described above are shown in Fig. 6B. Referring to Figures 3B, 4A, 6A and 6B, the device receiving the recording device address operation determines whether the received device type 'm' matches the device type registered in the
도 6a 및 도 6b를 참조하여 상술한 프로세스를 더 설명하기 위해, 타이밍 도를 도 7a, 도 7b, 도 7c 및 도 7d를 참조하여 후술할 것이다.To further illustrate the process described above with reference to Figures 6A and 6B, a timing diagram will be described below with reference to Figures 7A, 7B, 7C and 7D.
도 7a, 도 7b, 도 7c 및 도 7d는 유형-의존 어드레싱에 의해 장치 어드레스를 할당하기 위한 신호에 대한 타이밍 시퀀스를 도시한다. 이 타이밍 도는 하나의 NOR-유형 플래시 장치와 'n'개의 NAND-유형 플래시 장치가 상호 접속되어 있는 메모리 시스템으로부터 유래할 수 있는 신호들의 예를 도시한다. 이러한 종류의 메모리 시스템은 도 3d의 메모리 시스템(42)과 유사하다.Figures 7A, 7B, 7C, and 7D show timing sequences for signals for assigning device addresses by type-dependent addressing. This timing diagram shows examples of signals that may result from a memory system in which one NOR-type flash device and the " n " NAND-type flash device are interconnected. This type of memory system is similar to the
전술한 바와 같이, 메모리 컨트롤러에 의해 발행된 메모리 명령은 포맷된다. 예컨대, 메모리 시스템에서, NAND 플래시 장치만이 "0"으로부터 장치 어드레스가 할당되며, 메모리 컨트롤러에 의해 발행된 메모리 명령은 다음과 같다:As described above, the memory command issued by the memory controller is formatted. For example, in a memory system, only a NAND flash device is assigned a device address from "0 ", and the memory command issued by the memory controller is as follows:
메모리 명령(2)Memory instruction (2)
이 메모리 명령에서:In this memory command:
TYPE(00h)은 "NAND 플래시" 장치를 식별한다(도 5b 참조).TYPE (00h) identifies the "NAND flash" device (see FIG. 5B).
TDA(00h)는, 초기화 동작이 실행될 때 장치 어드레스 "0"을 홀딩하는 장치를 식별한다. 직렬 상호접속 구성의 모든 메모리 장치가 "0"으로 리셋되었다고 가정한다.The TDA (00h) identifies the device holding the device address "0 " when the initialization operation is performed. It is assumed that all memory devices in the serial interconnect configuration have been reset to "0 ".
CMD(39h)는 수행될 동작이 "기록 장치 어드레스"임을 식별한다(표 1 참조).
DATA(00h)는 장치 어드레스의 초기 넘버가 "0"임을 식별한다.DATA (00h) identifies that the initial number of the device address is "0 ".
도 7a ∼ 도 7d를 참조하면, 타이밍 도의 상단에, 7-1로 나타낸 파워(VDD)에 대한 신호가 있다. 타이밍 도는 7-2 및 7-3으로 각각 나타내는 바와 같은 장치_0에 대한 입력 인에이블(IPE) 및 직렬 입력(SIP)에 대한 신호들을 포함한다. 타이밍 도는 7-4 및 7-5로 각각 나타내는 바와 같은 장치_1에 대한 입력 인에이블(IPE_1) 및 직렬 입력(SIP_1)에 대한 신호들을 포함한다. 타이밍 도는 7-6 및 7-7로 각각 나타내는 바와 같은 장치_2에 대한 입력 인에이블(IPE_2) 및 직렬 입력(SIP_2)에 대한 신호들을 포함한다. 타이밍 도는 7-8 및 7-9로 각각 나타내는 바와 같은 장치_(n-1)에 대한 입력 인에이블(IPE_n-1) 및 직렬 입력(SIP_n-1)에 대한 신호들을 포함한다. 타이밍 도는 7-10 및 7-11로 각각 나타내는 바와 같은 장치_n에 대한 입력 인에이블(IPE_n) 및 직렬 입력(SIP_n)에 대한 신호들을 포함한다. 마지막으로, 타이밍 도는, 7-12 및 7-13으로 각각 나타내는 바와 같이, 메모리 시스템의 직렬 상호접속 구성에서 최종 메모리 장치인 장치_n에 대한 입력 인에이블 에코(IPEQ) 및 직렬 출력(SOP)에 대한 신호들을 포함한다.Referring to Figures 7A-7D, at the top of the timing diagram, there is a signal for power (VDD), denoted 7-1. The timing diagram includes signals for input enable (IPE) and serial input (SIP) for device_0 as shown at 7-2 and 7-3, respectively. The timing diagram includes signals for input enable (IPE_1) and serial input (SIP_1) for device_1 as shown at 7-4 and 7-5, respectively. The timing diagram includes signals for the input enable (IPE_2) and the serial input (SIP_2) for device_2 as shown by 7-6 and 7-7, respectively. The timing diagram includes signals for input enable (IPE_n-1) and serial input (SIP_n-1) for device_ (n-1) as shown at 7-8 and 7-9, respectively. The timing diagram includes signals for the input enable (IPE_n) and the serial input (SIP_n) for the device _n as shown at 7-10 and 7-11, respectively. Finally, the timing diagram shows the input enable echo (IPEQ) and serial output (SOP) for the device n, which is the last memory device in the serial interconnect configuration of the memory system, as indicated by 7-12 and 7-13 respectively Lt; / RTI >
예컨대, 이러한 종류의 메모리 시스템이 도 3d의 메모리 시스템(42)에 적용된다면, 장치_0, _1,...,_(n-1) 및 _n은 각각 메모리 장치(92, 93,..., 94 및 95)에 상당할 것이다.For example, if this kind of memory system is applied to the
도 3d 및 도 7a ∼ 도 7d를 참조하면, 메모리 시스템은 VDD(7-1)에 의해 나타내는 바와 같이 파워 온되어 하이(high) 상태로 천이한다. 그 직후, 제1 기록 장치 어드레스 동작(7-14)이 메모리 컨트롤러(50)에 의해 발행된다. 제1 기록 장치 어드레스 동작(7-14)은 NAND 플래시의 장치 유형을 나타낸다. 제1 기록 장치 어드레스 동작(7-14)은 각 메모리 장치를 일주한다. 각 NAND 플래시 메모리 장치에는, 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 기초로 하여 그 장치의 장치 어드레스가 할당된다. 그 장치의 장치 어드레스가 할당된 각 메모리 장치는 제1 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 다음의 메모리 장치에 보내기 이전에 증분한다. 'n'개의 NAND 플래시 메모리 장치에 상당하는 총 'n'회의 증분이 있다. 최종 메모리 장치에 의한 증분은 없으며, 이것은 이 메모리 장치가 NAND 플래시 장치가 아니라, 오히려 NOR 플래시 장치이기 때문이다. 제1 기록 장치 어드레스 동작(7-14)은 메모리 컨트롤러로 되돌아간다. 메모리 컨트롤러는, NAND 플래시 장치의 수를 제1 기록 장치 어드레스 동작에 의해 표시되는 바와 같은 'n'과 동일하다고 판정한다.Referring to FIG. 3D and FIGS. 7A-7D, the memory system is powered on and transitions to a high state, as indicated by VDD (7-1). Immediately thereafter, the first recording device address operation (7-14) is issued by the
메모리 컨트롤러(50)는 각 다른 장치 유형에 대해 다른 기록 장치 어드레스 동작을 발행한다. NOR 플래시의 장치 유형을 나타내는 제2 기록 장치 어드레스 동작(7-15)이 발행된다. NOR 플래시 장치의 장치 어드레스 할당을 위한 메모리 명령은 다음과 같다:The
메모리 명령(3)Memory instruction (3)
제2 기록 장치 어드레스 동작(7-15)은 각 메모리 장치를 일주한다. NAND 플래시 장치의 어느 것도 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 증분시키지 않는다. NOR 장치인 최종 메모리 장치는 그 장치 어드레스(TDA)가 '00h'로 할당된다. 최종 메모리 장치는 또한 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 메모리 컨트롤러에 보내기 이전에 증분한다. 제2 기록 장치 어드레스 동작(7-15)의 수신시에, 메모리 컨트롤러는 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스에 기초하는 하나의 NOR 장치가 있는지를 판정한다.A second recording device address operation (7-15) centers each memory device. None of the NAND flash devices increment the device address indicated by the second recording device address operation. The final memory device, which is a NOR device, is assigned its device address (TDA) '00h'. The final memory device also increments the device address indicated by the second recording device address operation before sending it to the memory controller. Upon receipt of the second recording device address operation (7-15), the memory controller determines whether there is one NOR device based on the device address indicated by the second recording device address operation.
추가적인 기록 장치 동작들이 메모리 컨트롤러에 의해 발행될 수 있지만, 간략화를 위해 도시되지 않았다. 예컨대, SRAM들이 디바이스 장치들로 할당되는 경우에는, 메모리 컨트롤러에 의해 발행되는 메모리 명령의 유형은 “03h”일 것이다(도 5b 참조).Additional recording device operations may be issued by the memory controller, but are not shown for simplicity. For example, if SRAMs are allocated to device devices, the type of memory command issued by the memory controller would be " 03h " (see FIG.
직렬 상호 접속 구성의 장치들은 메모리 컨트롤러에 의해 발행되는 명령들에 응답하여 동작들을 실행한다.Devices in the serial interconnect configuration perform operations in response to commands issued by the memory controller.
도 3d, 4a 및 도 7a 내지 7d를 참조하여 보면, 메모리 컨트롤러(50)는 NAND 플래시의 장치 유형에 대해 제2 기록 장치 어드레스 동작을 발행한다. IPE 하이인 동안에, SIP에 포함된 TYPE(NAND 플래시), TDA(0Oh), CMD(39h) 및 DATA(0Oh)가 제1 장치(92)(즉, 장치_0)에 공급된다. CMD(39h)는 장치(92)의 장치 컨트롤러/프로세서(142A)로 하여금 “기록 장치 어드레스” 동작을 실행하게끔 한다. 장치 유형 레지스터(146)에 홀딩된 SIP(DTs)의 TYPE와 장치 유형(DTr)의 양쪽은 NAND 플래시이고, 따라서, 장치 유형 매치 판정자(143)는 장치 유형 매치 결과(즉, 유형 매치 표시(143M))를 제공한다. 또한, TDA는 장치 어드레스 레지스터(148)에 홀딩된 장치 어드레스(DAr)에 매치하는 ‘00h’(DAs)이고, 어드레스 매치 판정자(147)는 장치 어드레스 매치 결과(즉, 어드레스 매치 표시(147M))를 제공한다. 장치 유형 매치 결과에 응답하여, 어드레스 증분 연산자(149)는 어드레스 증분(“DA+1”)을 획득하기 위해 DATA 및 1의 덧셈을 실행한다. 장치 어드레스 매치 결과에 응답하여, 장치 컨트롤러/프로세서(142A)는 장치 어드레스 레지스터(148)로 하여금 이전에 홀딩된 어드레스를 수신된 어드레스(SIP의 DATA의 수 또는 값)로 대체하게 하며, 그리하여 장치(92)는 “NAND-0”으로 설정된다. SIP의 DATA의 수는 증분된 어드레스 수에 의해 대체된다. DATA를 제외한 (SIP의) 전체 명령은 바이패스된다. 따라서, 증분된 DATA(01h), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)를 포함하는 수정된 SIP(SIP_1)는 다음의 장치(93)(즉, 장치_1)에 송신된다.Referring to Figures 3d, 4a and 7a-7d, the
이 동작들은, IPE의 하이로의 천이와 IPE_1의 하이로의 천이 사이의 기간 동안에 실행된다. 장치(93)는 동일 동작들을 실행하며 “NAND-1”로 설정된다. DATA를 제외한 (SIP_1의) 전체 명령은 바이패스된다. 이 동작들은, IPE_1의 하이로의 천이와 IPE_2의 하이로의 천이 사이의 기간 TP1-1 동안에 실행된다. 수신된 DATA는 1만큼 증분되며 증분된 DATA(02h)는 장치(93)로부터 다음의 장치(94)(즉, 장치_2)의 SIP_2에 포함된다. 이 동작들은 기간 TP1-2 동안에 실행된다. 유사하게, 장치(94)는 동일 동작들을 실행하며 “NAND-(n-1)”로 설정된다. DATA를 제외한 (SIP_(n-1)의) 전체 명령은 바이패스된다. 이 동작들은, IPE_(n-1)의 하이로의 천이와 IPE_n의 하이로의 천이 사이의 기간 TP1-(n-1) 동안에 실행된다. 하지만, 장치(95)는 동일 동작들을 실행하지 않는다. SIP_n에 포함되는 DATA(nh), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)의 입력 명령에 응답하여, 장치(95)는 장치 유형 비매치(즉, 미스매치(mismatch))라고 판정하고 명령을 무시한다. 따라서, DATA(nh)는 다음의 장치에 대해 DATA 증분 없음으로 변하지 않은 채로 남는다. 장치(95)(최종 장치)로부터 출력되는 명령은 기간 TP1-SO 동안에 피드백으로서 메모리 컨트롤러(50)에 전송된다. 메모리 컨트롤러(50)는 DATA의 수나 값에서 “n”인 NAND-유형 장치들의 총 수를 인식한다.These operations are performed during a period between transition of IPE to high and transition of IPE_1 to high. The
그 후, 메모리 컨트롤러(50)는 NOR 플래시의 장치 유형에 대해 제2 기록 장치 어드레스 동작을 발행한다. 다시 IPE 하이인 동안에, SIP에 포함되는 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)가 제1 장치(92)(즉, 장치_0)에 공급된다. CMD(39h)는 디바이스(92)의 장치 컨트롤러/프로세서(142A)로 하여금 장치 유형 매치 판정을 실행하게 한다. SIP(DTs)의 TYPE은 NOR 플래시이고, 장치 유형 레지스터(146)에 홀딩되는 장치 유형(DTr)은 NAND 플래시이다. 따라서, 장치 유형 매치 판정자(143)는 장치 유형 비매치(또는 미스매치)를 제공하며, 장치(92)는 수신된(또는 입력된) 기록 장치 어드레스 명령을 무시한다. DATA는 증분 없음으로 변하지 않은 채로 남는다. 장치(92)(장치 컨트롤러/프로세서(142A))는 TYPE(NOR 플래시), TDA(00h), CMD(39h) 및 DATA(0Oh)를 다음의 장치(93)에 보낸다. 증분되지 않은 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 수정되지 않은 SIP(SIP_1)는 다음의 장치(93)(즉, 장치_1)에 전송된다. 이 동작들은, IPE의 하이로의 천이와 IPE_1의 하이로의 천이 사이의 기간 TP2-SI 동안에 실행된다. The
수신된 SIP_1에 응답하여, 장치(93)는 동일한 동작들을 실행한다. 장치 유형의 미스매치로 인하여, 장치(93)(장치 컨트롤러/프로세서(142A))는 수신된 명령(기록 장치 어드레스)을 무시하며 DATA 바이트는 증분 없음으로 변하지 않은 채로 남는다. 장치(93)는 SIP_2에 포함되는 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 다음의 장치(94)(즉, 장치_2)에 보낸다. 이 동작들은, IPE의 하이로의 천이와 IPE_2의 하이로의 천이 사이의 기간 TP2-1 동안에 실행된다. 유사하게, DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 SIP_2에 응답하여, 장치(94)는 동일 기능들을 실행한다. 장치 유형의 미스매치로 인하여, 장치(94)는 기록 장치 어드레스를 무시하며, DATA 바이트는 증분 없음으로 변하지 않은 채로 남는다. 이 동작들은 기간 TP2-(n-1) 동안에 실행된다.In response to the received SIP_1, the
DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 SIP_n에 응답하여, 장치(95)는 장치 유형 매치 판정을 실행한다. 장치 유형 레지스터(146)에 홀딩되는 장치 유형(DTr)과 SIP(DTs)의 TYPE의 양쪽은 NOR 플래시이며, 따라서, 장치 유형 매치 판정자(143)는 장치 유형 매치 결과(즉, 유형 매치 표시(143M))를 제공한다. 또한, TDA는 장치 어드레스 레지스터(148)에 홀딩된 장치 어드레스(DAr)에 매치하는 ‘00h’(DAs)이고, 따라서, 어드레스 매치 판정자(147)는 장치 어드레스 매치 결과(즉, 어드레스 매치 표시(147M))를 제공한다.In response to SIP_n, which includes DATA (00h),
장치 유형 매치 결과에 응답하여, 어드레스 증분 연산자(149)는 어드레스 증분(“DA+1”)을 획득하기 위해 DATA 및 1의 덧셈을 실행한다. 장치 어드레스 매치 결과에 응답하여, 장치(95)의 장치 컨트롤러/프로세서(142A)는 장치 어드레스 레지스터(148)로 하여금 이전에 홀딩된 어드레스를 수신된 어드레스(SIP의 DATA의 수 또는 값)로 대체하게 하며, 그리하여 장치(95)는 “NOR-0”으로 설정된다. SIP의 DATA의 수는 증분된 어드레스 수에 의해 대체된다. DATA를 제외한 (SIP의) 전체 명령은 바이패스된다. 따라서, SOP에 포함된 증분된 DATA(01h), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)가 출력된다. 장치(95)가 최종 장치이므로, 출력 SOP는 메모리 컨트롤러(50)에 전송된다. 이 동작들은, IPE_n의 하이로의 천이와 IPEQ의 하이로의 천이 사이의 기간 TP2-n 동안에 실행된다. 장치(95)로부터 출력되는 명령은 기간 TP2-SO 동안에 피드백으로서 메모리 컨트롤러(50)에 전송된다. 메모리 컨트롤러(50)는 DATA의 값이나 수에서 “1”인 NO-유형 장치들의 총 수를 인식한다.In response to the device type match result, the
그 후, 시간 TAME에, 메모리 컨트롤러(50)는 다른 장치 유형에 대한 다른 기록 장치 어드레스 동작을 발행한다. 만약, 초기화될 장치 유형이 더 이상 없으면, 시스템(44)은 보통의 동작(예컨대, 도 2c에 도시된 바와 같은 단계 2)을 위해 준비된 상태로 있는다.Thereafter, at time TAME, the
예시적인 세부들이 이제 도 3a 내지 3f를 참조하여 앞서 소개된 예시들과 관련하여 제공될 것이다. 이 세부들은 유형-의존 어드레싱(type-dependent addressing)을 갖는 구현들에 관련된다. 이 구현예들에 있어서, 각 메모리 장치는 장치 유형과 장치 어드레스를 갖고, 그 양쪽이 어드레싱 용도로 사용된다. 대안의 구현예들은 유형-의존 어드레싱을 사용하며, 그 세부들은 디퍼런트 섹션 헤더(different section header) 아래에 구비된다. 이 섹션에 구비되는 세부들은 예시만을 목적으로 매우 상세하다는 것이 이해된다.Exemplary details will now be provided in connection with the examples introduced above with reference to Figures 3A-3F. These details relate to implementations with type-dependent addressing. In these implementations, each memory device has a device type and a device address, both of which are used for addressing purposes. Alternative implementations use type-dependent addressing, the details of which are provided under a different section header. It is understood that the details provided in this section are highly specific for illustrative purposes only.
도 8은 유형-의존 어드레싱이 있는 예시적인 입력의 신호들에 대한 타이밍 시퀀스를 도시한다. 이 타이밍도는 도 3a 내지 3f를 참조하여 앞서 기술된 예시적인 메모리 시스템들의 모든 메모리 장치에 적용될 수 있다. 타이밍도의 상부에 있어서, 8-1에 의해 표시되는 바와 같은 칩 선택(CS#) 및 8-2에 의해 표시되는 바와 같은 직렬 클록(SCLK)에 대해 신호들이 플로트(plot)된다. 또한, 타이밍도는 입력 인터페이스에 대한 신호들 즉, 8-3에 의해 표시되는 바와 같은 입력 인에이블(IPE), 8-4에 의해 표시되는 바와 같은 직렬 입력(SIP), 및 8-5에 의해 표시되는 바와 같은 출력 인에이블(OPE)을 포함한다. 또한, 타이밍도는 출력 인터페이스로부터의 신호 즉, 8-6에 의해 표시되는 바와 같은 직렬 출력(SOP)을 포함한다.Figure 8 shows a timing sequence for signals of an exemplary input with type-dependent addressing. This timing diagram can be applied to all memory devices of the exemplary memory systems described above with reference to Figures 3A-3F. At the top of the timing diagram, signals are plotted for a chip selection (CS #) as indicated by 8-1 and a serial clock (SCLK) as indicated by 8-2. The timing diagram also shows the signals for the input interface, namely the input enable (IPE) as indicated by 8-3, the serial input (SIP) as indicated by 8-4, and 8-5 And an output enable (OPE) as shown. The timing diagram also includes a signal from the output interface, i. E., A serial output (SOP) as indicated by 8-6.
칩 선택 CS# 8-1은 활성‘로(low)’이고 따라서, 메모리 시스템에 접속된 메모리 장치들의 전체를 인에이블시키기 위해 논리‘로’이어야 한다. SCLK 8-2는 프리 러닝(free running) 직렬 클록 신호이다. IPE 8-3은 논리‘로’로부터 직렬화된 바이트 모드의 입력 스트림의 시작을 나타내는 논리‘하이'로의 천이점을 갖는다. 논리‘하이’상태의 IPE 8-3을 수신하는 메모리 장치는 바이트 모드 정의의 SIP 포트를 통해 데이터 스트리밍을 처리하도록 준비되어야 한다. SIP 8-4의 제1 바이트는 ‘장치 유형’의 정보를 반송한다. 상기 제1 바이트는, MSB(최상위)가 첫 번째이고, LSB(최하위 비트)가 마지막인, 상승 에지들을 기준으로 하는 SCLK 8-2의 8 사이클을 포함한다. 제1 바이트 후에, SIP 8-4의 제2 바이트가 계속해서 ‘장치 어드레스’정보(예컨대, 타깃 장치 어드레스(TDA))를 반송한다. 제3 바이트는 제2 바이트에 뒤 이어서‘명령’정보를 반송하며, 제4, 제5, 및/또는 제6 이상의 바이트들이 뒤 이어서 ‘로우/칼럼 어드레스들’을 반송한다. 적용할 수 있을 경우(예컨대, 기록-관련 동작들), 하나 이상의 데이터 입력 바이트들이 뒤따른다.Chip select CS # 8-1 is active 'low' and therefore must be 'on' to enable all of the memory devices connected to the memory system. SCLK 8-2 is a free running serial clock signal. IPE 8-3 has a transition from logic 'low' to logic 'high' indicating the start of the input stream of byte mode serialized. A memory device receiving IPE 8-3 in a logic high state must be prepared to handle data streaming through the SIP port of the byte mode definition. The first byte of SIP 8-4 carries information of 'device type'. The first byte includes 8 cycles of SCLK 8-2 with rising edges where the MSB (highest) is the first and the LSB (lowest bit) is the last. After the first byte, the second byte of the SIP 8-4 continues to carry the 'device address' information (e.g., the target device address TDA). The third byte carries the 'command' information followed by the second byte and the 'fourth', 'fifth', and / or sixth or more bytes followed by 'row / column addresses'. If applicable (e.g., write-related operations), one or more data input bytes follow.
타이밍도에 도시된 바와 같이, IPE 8-3과 함께 SIP 8-4의 ‘직렬 바이트’의 배열이 SCLK 8-2의 상승 에지를 이용하는 일련의 8 클록 사이클로서 정의된다. 다른 구현예들에 있어서, SCLK 8-2의 하강 에지들이 또한 사용될 수 있다. 만약, SCLK 8-2의 상승 에지들과 하강 에지들의 양쪽이 사용되면, 클로킹(clocking)의 ‘이중-에지’로 인해 하나의‘직렬 바이트’를 형성하기 위해 4 클록 사이클만이 필요할 것이다. 1 바이트는 8 비트를 포함하며, 1 비트는 논리 ‘하이’ 또는 논리 ‘로’의 상태를 나타낸다.As shown in the timing diagram, the arrangement of the 'serial byte' of SIP 8-4 with IPE 8-3 is defined as a series of 8 clock cycles using the rising edge of SCLK 8-2. In other implementations, the falling edges of SCLK 8-2 may also be used. If both the rising and falling edges of SCLK 8-2 are used, only four clock cycles will be needed to form a 'serial byte' due to the 'double-edge' of clocking. One byte contains 8 bits, and one bit indicates a state of logic 'high' or logic 'low'.
예시된 예에 있어서, 메모리 장치가 다음 메모리 장치에 대한 데이터 출력이 가능하지 않으므로, SOP 8-6은 논리 ‘돈 케어(don’t care)’로 표시된다. 하지만, 메모리 장치가 다음 메모리 장치에 대한 데이터 출력이 가능하였다면, 메모리 장치는 논리 ‘하이’로 구동되는 출력 인에이블(OPE)을 가질 것이고 SOP 8-6는 논리 ‘돈 케어’가 아닐 것이다.In the illustrated example, since the memory device is not capable of outputting data to the next memory device, SOP 8-6 is shown as a logical 'do not care'. However, if the memory device was capable of outputting data to the next memory device, the memory device would have an output enable (OPE) driven logic ' high '
대안적으로, SIP 8-4의 바이트는 LSB가 첫 번째로 가고 MSB가 마지막 위치로 가는 정보를 반송한다.Alternatively, the bytes of SIP 8-4 carry information that the LSB goes first and the MSB goes to the last location.
메모리 장치가 데이터를 수신하고 데이터를 다음 메모리 장치에 전하는 예가 도 9를 참조하여 하기에 제공된다.An example in which a memory device receives data and transfers the data to the next memory device is provided below with reference to FIG.
도 9는 2개의 인접한 메모리 장치들을 통한 예시적인 시그널링의 타이밍 시퀀스를 도시한다. 이 타이밍도는 도 3c, 3D, 3e 및 3e를 참조하여 앞서 기술된 예시적인 메모리 시스템들의 인근 메모리 장치들의 각 상에 적용될 수 있다. 본 예에 있어서, 장치 0으로 명명된 제1 장치, 및 장치 1로 명명된 제2 장치는 설명을 목적으로 선택되었다. 모든 신호명의 접미사 ‘_D0’및 ‘_D1’는, 설명을 목적으로 2개의 장치들, 장치 0 및 장치 1을 각각 나타낸다. 타이밍도의 상부에 있어서, 9-1로 표시된 바와 같은 직렬 클록(SCLK)에 대해 신호가 플로트된다. 다음, 타이밍도는, 장치 0의 입력 인터페이스에 대한 신호들 즉, 9-2, 9-3 및 9-4로 각각 표시된 바와 같은 입력 인에이블(IPE_D0), 직렬 입력(SIP_D0) 및 출력 인에이블(OPE_D0)을 포함한다. 다음, 타이밍도는, 장치 1의 출력 인터페이스에 대한 신호들 즉, 9-5, 9-6 및 9-7로 각각 표시된 바와 같은 직렬 출력(SOP_D0), 입력 인에이블 에코(echo)(IPEQ_D0) 및 출력 인에이블 에코(OPEQ_D0)를 포함한다. 다음, 타이밍도는, 장치 1의 입력 인터페이스에 대한 신호들 즉, 9-8, 9-9 및 9-10으로 각각 표시된 바와 같은 입력 인에이블(IPE_D1), 직렬 입력(SIP_D1) 및 출력 인에이블(OPE_D1)을 포함한다. 제2 메모리 장치, 장치 1의 입력 인터페이스로 입력되는 신호들은 제1 메모리 장치, 장치 0의 출력 인터페이스로부터 출력되는 신호들에 일치한다. 다음, 타이밍도는, 장치 1의 출력 인터페이스로부터 출력되는 신호들 즉, 9-11, 9-12 및 9-13으로 각각 표시된 바와 같은 직렬 출력(SOP_D1), 입력 인에이블 에코(IPEQ_D1) 및 출력 인에이블 에코(OPEQ_D1)를 포함한다.Figure 9 shows a timing sequence of exemplary signaling through two adjacent memory devices. This timing diagram can be applied to each phase of neighboring memory devices of the exemplary memory systems described above with reference to Figures 3C, 3D, 3E and 3E. In this example, the first device named
타이밍도는 설명의 용도로만 제공되며, 따라서 전체 파형들은 실제 동작을 나타내지 않는다. 시간 T2에 있어서, SCLK 9-1의 상승 에지에서의 논리 ‘하이’ 상태로의 IPE_D0 9-2의 천이는 SIP_D0 9-3을 통한 직렬 데이터 스트림-인(stream-in)의 시작을 의미한다. 다음, 장치 0은 SIP_D0 9-3를 수신하기 시작하고 직렬 스트림-인 정보에 따른 적절한 동작을 처리한다. 또한, 장치 0은 IPE_D0 9-4의 논리‘하이’상태를 장치 1의 IPE 포트에 접속된 IPEQ_D0 9-6에 에코한다. 또한, SIP_D0 9-3의 스트림-인 데이터는 장치 1의 SOP 포트에 접속된 SOP_D0 9-5에 에코된다. 이 절차는, IPE_D0 9-2의 논리 ‘로’ 상태가 SCLK 9-1의 상승 에지에서 검출되는, 시간 T10까지 계속된다. 장치 1 레벨에 있어서, IPEQ_D0 9-6이 배선이나 다른 상호 접속 방법을 통해 IPE_D1 9-8에 직접적으로 접속되므로, IPE_D1 9-8은 장치 0 레벨의 IPEQ_D0 9-7 신호와 논리적으로 동일한 신호 파형을 나타낸다. SOP_D0 9-5가 배선이나 다른 상호 접속 방법을 통해 SIP_D1 9-9에 직접적으로 접속되므로, SIP_D1 9-9는 장치 0 레벨의 SOP_D0 9-5 신호와 논리적으로 동일한 신호 파형을 나타낸다. 장치 1에 있어서, 장치 0에서와 유사한 절차가 발생하여, SIP_D1 9-9의 SOP_D1 9-11로의 에코 및 IPE_D1 9-8의 IPEQ_D1 9-12로의 에코를 초래한다.The timing diagrams are provided for illustrative purposes only, so that the entire waveforms do not represent actual operation. At time T2, the transition of IPE_D0 9-2 from the rising edge of SCLK 9-1 to the logic high state implies the start of a serial data stream-in via SIP_D0 9-3. Next, the
예시된 예에 있어서, 에코 절차를 위한 1 클록 사이클 레이턴시(latency)가 있다. 하지만, 보다 일반적으로, 적절한 클록 사이클 레이턴시가 구현될 수 있다. 예를 들어, 하프(half) 클록 사이클, 2 클록 사이클, 또는 2 클록 사이클보다 많은 사이클의 클록 사이클 레이턴시가 구현될 수 있다. 각 메모리 장치를 통한 클록 사이클 레이턴시는 메모리 시스템의 총 클록 레이턴시를 결정한다. 시스템의 1 클록 사이클 레이턴시와 4개의 장치들을 가정하면, 최종 장치의 SOP_D3, IPEQ_D3는 SIP_D0 9-3, IPE_D0 9-2 신호들로부터의 4 클록 사이클 레이턴시를 가질 것이다. 장치 0 레벨의 T13으로부터 T17까지, OPE_D0 9-4 신호는 활성이고, 신호 SOP_D0 9-5를 통해 장치 0으로부터의 직렬 출력 동작을 유발한다. 시간 T10에 있어서, OPE_D0의 9-4 논리 ‘하이’ 상태는 SCLK 9-1의 상승 에지에서 검출되며, 그 후 장치 0은, 장치의 이전 조건에 따라 SOP_D0 9-5를 통해 직렬 데이터 스트림을 출력하기 시작한다. 이러한 예에 있어서, 장치 0은 직렬 데이터를 출력하도록 선택되고, 장치 1은 선택되지 않으며, 따라서, 장치 1은 SIP_D1 9-9 신호(SOP_D0 9-5에 동일)를 SOP_D1 9-11 포트에 다만 에코만 한다. OPE 포트들과 함께하는 직렬 출력 동작은 직렬 입력 절차와 동일한 클록 레이턴시를 갖는다.In the illustrated example, there is one clock cycle latency for the echo procedure. However, more generally, an appropriate clock cycle latency can be realized. For example, a clock cycle latency of half a clock cycle, two clock cycles, or more than two clock cycles may be implemented. The clock cycle latency across each memory device determines the total clock latency of the memory system. Assuming one clock cycle latency of the system and four devices, the last device's SOP_D3, IPEQ_D3 will have four clock cycle latency from SIP_D0 9-3, IPE_D0 9-2 signals. From T13 to T17 at the
도 3a 내지 3f를 참조하여 기술된 예들에 있어서, 최종 장치(83, 87, 91, 95 또는 99)로부터의 출력 인에이블 에코(OPEQ)(69)는 각각의 메모리 컨트롤러(50)에 접속된다. 이러한 방식으로, 메모리 컨트롤러(50)는, 상호 접속된 장치들에 의해 결정되는, 클록 레이턴시의 수를 카운트할 필요가 없다. 메모리 컨트롤러는 최종 장치로부터의 OPEQ 신호의 상승점을 검출할 수 있고 상호 접속의 장치들로부터 질렬 데이터 출력 스트리밍(streaming)의 시작점을 결정할 수 있다. 최종 장치(83, 87, 91, 95 또는 99)로부터의 출력 인에이블 에코(OPEQ)(69)가 메모리 컨트롤러(10)에 접속되지 않는 대안의 구현예들에 있어서, 메모리 컨트롤러(50)는 클록 레이턴시의 종전의 인식에 기반하여, 직렬 데이터가 직렬 입력(SIP)(59)를 통해 수신될 시간에 대해서 예측할 수 있다.In the examples described with reference to Figures 3A-3F, an output enable echo (OPEQ) 69 from the
도 8 및 9를 참조하여 앞서 기술된 타이밍도에 있어서, SIP 및 (적용될 수 있다면) SOP에 대해 플로트된 신호들은 미리 정해진 포맷을 따르는 메모리 동작을 포함한다. 메모리 동작들에 대한 예시적인 미리 정해진 포맷들의 테이블은, 도 10을 참조하여 후술된다.In the timing diagrams described above with reference to Figures 8 and 9, the signals floated for SIP and SOP (if applicable) include memory operations that conform to a predetermined format. A table of exemplary predefined formats for memory operations is described below with reference to FIG.
도 10은 유형 의존 어드레싱이 있는 메모리 동작들에 대한 예시적인 미리 정해진 포맷들의 테이블을 나타낸다. 이 테이블은 예시만을 목적으로 매우 상세하다는 것이 이해된다. 테이블에 있어서,Figure 10 shows a table of exemplary predefined formats for memory operations with type dependent addressing. It is understood that this table is very detailed for illustrative purposes only. In the table,
TYPE: 타깃 장치 유형TYPE: Target device type
TDA: 타깃 장치 어드레스TDA: target device address
CMD: 명령 코드CMD: Command code
CA: 칼럼 어드레스CA: column address
RA: 로우 어드레스RA: row address
주 *1: TDA(타깃 장치 어드레스)는, 파워-업(power-up) 또는 하드 리셋(hard reset) 후에 제1 기록 장치 어드레스 명령이 발행될 때, ‘00h’이다.Note 1: The TDA (Target Device Address) is '00h' when the first write device address command is issued after a power-up or hard reset.
도 10을 참조하여 보면, 표는 상이한 메모리 동작들에 대한 다양한 포맷들을 나타낸다. 표에 있어서, 판독, 기록, 소거, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋이 목록화된 8개의 메모리 동작들이 있다. 다른 메모리 동작들이 있을 수 있지만, 간략화를 목적으로 그것들은 도시되지 않았다. 제1 바이트는 장치 유형(TYPE)을 정의한다. 이 정보는, SIP 포트를 통한 데이터의 직렬 입력 스트림이 처리되어야 할지 말아야 할지의 여부를 결정하기 위해, 온-칩(on-chip) 사전 프로그램된 장치 유형 레지스터 값들과 비교될 수 있다. 장치 유형과 함께, 제2 칼럼은, 동일 장치 유형의 메모리 장치들 사이를 구별하는데 사용되는, 타깃 장치 어드레스(TDA)를 지정한다. 제3 바이트는 명령 정의(CMD)를 정의한다. 만약, 적절하다면(예컨대, 판독 동작들), 제4, 제5 및/또는 더 많은 바이트들이 로우 어드레스(RA) 및/또는 칼럼 어드레스(CA) 정보를 정의한다. 만약, 적절하다면(예컨대, 기록 동작들), 추가적인 바이트들이 동작에 의해 전송되는 데이터(DATA)를 정의한다.Referring to FIG. 10, the table shows various formats for different memory operations. In the table, there are eight memory operations listed as read, write, erase, read state, read ID, write configuration register, write device address, and reset. There may be other memory operations, but they are not shown for the sake of simplicity. The first byte defines the device type (TYPE). This information can be compared to on-chip preprogrammed device type register values to determine whether a serial input stream of data over the SIP port should or should not be processed. Along with the device type, the second column specifies the target device address (TDA), which is used to distinguish between memory devices of the same device type. The third byte defines the command definition (CMD). If appropriate (e.g., read operations), fourth, fifth, and / or more bytes define row address (RA) and / or column address (CA) information, if appropriate. If appropriate (e.g., write operations), additional bytes define the data (DATA) to be transmitted by the operation.
장치 유형, 장치 어드레스, 및 명령은 그것들이 장치 유형에 특정되는 그러한 방식으로 인코드된다. 예시적인 인코딩 스킴들은 도 10 내지 13을 참조하여 후술된다. 이 스킴들은 예시만을 목적으로 매우 상세하다는 것이 이해된다. 인코딩 스킴들은 그들 자신의 용도를 위해 생산자들에 의해 상이한 방식들로 변경될 수 있다.The device type, device address, and command are encoded in such a way that they are specific to the device type. Exemplary encoding schemes are described below with reference to FIGS. 10-13. It is understood that these schemes are highly detailed for illustrative purposes only. The encoding schemes may be changed by the producers in different ways for their own use.
도 11은 유형-의존 어드레싱에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 테이블에 있어서,Figure 11 shows a table of an example encoding scheme for type-dependent addressing. In the table,
DA[7:0]: 장치 어드레스(본 예에 있어서, 장치들의 최대수 = 28 = 256)DA [7: 0]: device address (in this example, the maximum number of devices = 2 8 = 256)
DA[11:0]: 칼럼 어드레스(본 예에 있어서, 칼럼들의 최대수 = 212 = 4,096)DA [11: 0]: column address (in this example, the maximum number of columns = 2 12 = 4,096)
DA[17:0]: 로우 어드레스(본 예에 있어서, 로우들의 최대수 = 218 = 262,144)DA [17: 0]: The row address (in this example, the maximum number of rows = 2 18 = 262,144)
도 11을 참조하여 보면, 테이블은 장치 어드레스(TDA), 로우 어드레스(RA), 및 칼럼 어드레스(CA)에 대한 인코딩 스킴을 정의한다. 이러한 예에 있어서, 장치 어드레스는 총 8 비트를 가지므로, 이 시스템에서 구성될 수 있는 장치들의 총 수는 28 = 256이다. 하지만, 장치 어드레스 정의는 다른 직렬 바이트(들)를 사용하여 적절히 확장될 수 있다. 또한, 로우 어드레스 및 칼럼 어드레스 바이트들은 장치 어드레스 포맷과 유사한 방식으로 도시된다. 도 5b의 테이블에 대해서 앞서 주목된 바와 같이, 테이블 정의는 대안적으로 LSB를 첫 번째로 하는 역순일 수 있다.Referring to FIG. 11, the table defines an encoding scheme for a device address (TDA), a row address (RA), and a column address (CA). In this example, since the device address has a total of 8 bits, the total number of devices that can be configured in this system is 2 8 = 256. However, the device address definition may be appropriately extended using other serial byte (s). The row address and column address bytes are also shown in a manner similar to the device address format. As noted above for the table of FIG. 5B, the table definition may alternatively be in the reverse order, with the LSB first.
도 12는 유형-의존 어드레싱이 있는 NAND 플래시 명령들에 대한 일례의 인코딩 스킴의 테이블을 도시한다.Figure 12 shows a table of an example encoding scheme for NAND Flash instructions with type-dependent addressing.
테이블에 있어서,In the table,
*1: 타깃 DA는, 파워-업 또는 하드 리셋 후에‘기록 장치 어드레스’ 명령이 발행될 때, 00h이어야 한다.* 1: Target DA must be 00h when a 'write device address' command is issued after power-up or hard reset.
*2: 로우 및 칼럼 어드레스 바이트들은, 동일 위치 페이지 판독 명령이 전에 발행되었으면, 제공되지 않을 수 있다.* 2: The row and column address bytes may not be provided if the co-located page read command was issued before.
도 12를 참조하여 보면, 테이블은, 페이지 판독, 랜덤 데이터 판독, 카피를 위한 페이지 판독, 카피를 위한 타깃 어드레스 입력, 직렬 데이터 입력, 랜덤 데이터 입력, 페이지 프로그램, 블록 소거, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋의 13개의 명령들의 각각에 대한 인코딩 스킴을 정의한다. 각 명령은, 도 5b의 테이블에 따라서 NAND 플래시 메모리에 대해 ‘00h’인, 장치 유형(장치 TYPE)을 포함한다. 다음, 각 명령은 ‘유효’로 표시되는, 장치 어드레스(타깃 DA)를 포함한다. 장치 어드레스는 직렬 상호 접속의 특정 장치를 선택하기 위해 임의의 장치 어드레스를 식별할 수 있다. 장치 어드레스 칼럼은 적절하다면 더 많은 바이트들로 확장될 수 있다. 다음, 각 명령은 명령 정의를 포함한다. 도시된 명령 정의는 일반적인 NAND 플래시 메모리 명령 정의와 유사하다. 테이블에서 제4 칼럼 및 제5 칼럼은, NAND 플래시 장치의 메모리 셀 어레이 블록의 특정 로우 및 칼럼 위치의 선택을 위한, 로우 어드레스 및 칼럼 어드레스를 각각 나타낸다. 테이블에 도시된 바와 같이, 몇몇의 명령들은 로우 및/또는 칼럼 어드레스를 포함하지 않는다.Referring to Figure 12, the table includes a page read, a random read, a page read for copy, a target address input for copy, a serial data input, a random data input, a page program, a block erase, A write configuration register, a write device address, and a reset scheme. Each instruction includes a device type (device TYPE) which is '00h' for the NAND flash memory according to the table of FIG. 5B. Next, each command includes a device address (target DA), which is indicated as " valid ". The device address may identify any device address to select a particular device of the serial interconnection. The device address column may be extended to more bytes if appropriate. Next, each command contains a command definition. The illustrated command definition is similar to a general NAND flash memory command definition. The fourth column and the fifth column in the table represent the row address and the column address, respectively, for selection of the specific row and column positions of the memory cell array block of the NAND flash device. As shown in the table, some instructions do not include row and / or column addresses.
각 로우 및 칼럼 어드레스 범위에 대한 바이트들의 수는 특정 밀도에 대한 메모리 어레이 크기에 따라 변경될 수 있다. 로우 어드레스 및 칼럼 어드레스는 어느 쪽의 방식으로든 전환될 수 있다. 따라서, 칼럼 어드레스 바이트들은 대안적으로 첫 번째일 수 있고 로우 어드레스 바이트들은 칼럼 어드레스를 뒤 따를 수 있다. 그것은 특정 메모리 칩 설계 선호에 좌우된다. 최종 칼럼은, 예컨대, ‘직렬 데이터 입력(80h)’, '랜덤 데이터 입력(85h)' 및 ‘기록 구성 레지스터(A0h)’와 같은, ‘기록’ 동작 명령들에 대한 입력 데이터 칼럼 정의를 도시한다. 이 입력 데이터 바이트는 장치 세부에 따라 N-바이트들만큼 크거나 1 바이트만큼 작을 수 있다. ‘판독 상태(70h)’ 명령은 동일 직렬 링크 포트 SOP를 사용하는 각 장치의 상태를 체크하기 위해 필요하며, 그게 아니라면 각 장치는 상태 표시의 용도로 별개의 여분의 하드 핀(hard pin)을 필요로 한다. 그것은 상이한 헥스(hex)-수 정의로 변경될 수도 있다. 상호 접속된 장치들이 하드 핀 구성 대신 소프트 생성 장치 수를 사용한다면, ‘기록 장치 어드레스(39h)’ 명령이 사용된다. ‘리셋(FFh)’명령은 각 선택된 장치에 소프트 리셋 기능을 실행할 수 있다. 이 소프트 리셋은, 상호 접속의 모든 장치에 접속되는 ‘RST#’포트를 사용하는 ‘하드 리셋’과는 구별한다.The number of bytes for each row and column address range may vary depending on the memory array size for a particular density. The row address and the column address can be switched in either manner. Thus, the column address bytes may alternatively be the first and the row address bytes may follow the column address. It depends on the specific memory chip design preference. The final column shows an input data column definition for the 'write' operation commands, for example, '
도 13은 유형-의존 어드레싱이 있는 NOR 플래시 명령에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 이 테이블에 있어서,Figure 13 shows a table of an example encoding scheme for a NOR flash command with type-dependent addressing. In this table,
주 *1: 타깃 DA는, 파워-업 또는 하드 리셋 후에‘기록 장치 어드레스’ 명령이 발행될 때, 00h이어야 한다.Note 1: The target DA shall be 00h when the 'write device address' command is issued after power-up or hard reset.
주 *2: 로우 및 칼럼 어드레스 바이트들은, 동일 위치 페이지 판독 명령이 전에 발행되었으면, 제공되지 않을 수 있다.Note 2: The row and column address bytes may not be provided if the co-located page read command was issued before.
도 13의 테이블은 도 12의 테이블과 유사한 포맷을 따른다. 하지만, 도 13의 테이블은, 판독, 버퍼에 기록, 플래시로 버퍼를 프로그램(확인), 칩 소거, 섹터 소거, 프로그램/소거 일시 정지, 프로그램/소거 재개, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋의 상이한 세트의 12 명령들을 갖는 것을 알 수 있다. 각 명령은 도 5b의 테이블에 따라서 NOR 플래시 메모리에 대해 ‘01h’인, 장치 유형(장치 TYPE)을 포함한다. 다음, 각 명령은 ‘유효’로 표시되는, 장치 어드레스(타깃 DA)를 포함한다. 상호 접속된 장치들이 하드 핀 구성 대신 소프트 생성 장치 번호를 사용한다면, ‘기록 DN 엔트리(39h)’ 명령이 사용된다. 도 12의 테이블에서와 같이, ‘리셋(FFh)’명령은 각 선택된 장치에 소프트 리셋 기능을 실행할 수 있다. 이 소프트 리셋은, 상호 접속의 모든 장치에 접속되는 ‘RST#’포트를 사용하는 ‘하드 리셋’과는 구별한다.The table of FIG. 13 follows a format similar to the table of FIG. However, the table of Fig. 13 is a table in which the table is read out, the buffer is written, the buffer is programmed (confirmed), the chip is erased, the sector erase, the program / erase pause, the program / erase resume, A write address, and a different set of reset. Each instruction includes a device type (device TYPE) which is '01h' for the NOR flash memory according to the table of FIG. 5b. Next, each command includes a device address (target DA), which is indicated as " valid ". If interconnected devices use a soft-generated device number instead of a hard-pin configuration, the 'record DN entry (39h)' command is used. As in the table of FIG. 12, the 'reset (FFh)' command can perform a soft reset function on each selected device. This soft reset distinguishes it from a 'hard reset' using the 'RST #' port connected to all devices in the interconnect.
도 14는 유형-의존 어드레싱이 있는 메모리 동작들을 처리하는 방법을 도시한다. 이 처리는 일반적인 개념을 도시한다. 특정 명령이나 동작 플로우차트는 이 예와는 상이할 수 있다. 예컨대, 판독 또는 기록 데이터를 포함하지 않는 동작은 데이터 전송을 포함하지 않는다. 또한, 명령이 로우 또는 칼럼 어드레스를 포함하지 않으면, 메모리 장치는 로우/칼럼 어드레스 바이트들을 전송하지 않는다. 직렬 신호 스트림 바이트들이 상호 접속의 각 장치의 IPE, SIP, OPE 또는 SOP를 통해 바이패스될 때, 바이패스 회로가 1 클록 레이턴시로 지정되면, 1 클록 사이클 레이턴시가 있다.Figure 14 illustrates a method for handling memory operations with type-dependent addressing. This process shows a general concept. Certain commands or operational flow charts may be different from this example. For example, an operation that does not include read or write data does not involve data transfer. Also, if the instruction does not include a row or column address, the memory device does not transmit row / column address bytes. When the serial signal stream bytes are bypassed through the IPE, SIP, OPE or SOP of each device in the interconnect, if the bypass circuit is designated as one clock latency, there is one clock cycle latency.
도 14를 참조하여 보면, 메모리 장치가 메모리 명령을 수신할 시에, 메모리 장치는 메모리 명령에 의해 표시되는 장치 유형을 그 자신의 유형 레지스터에 의해 표시되는 그 자신의 장치 유형과 비교한다(단계 14-1). 메모리 명령은 메모리 명령에 의패 표시되는 장치 유형에 특정된다. 메모리 장치는 메모리 명령의 장치 유형이 그 자신의 레지스터의 장치 유형에 매치하는지의 여부를 판정한다(단계 14-2). 2개의 장치 유형들 사이에 유형 매치가 있는 경우에(단계 14-2에서 YES), 메모리 장치는 메모리 명령에 의해 표시되는 장치 어드레스를 그 자신의 어드레스 레지스터에 의해 표시되는 그 자신의 장치 어드레스와 더 비교한다(단계 14-3). 메모리 장치는 메모리 명령의 장치 어드레스가 그 자신의 레지스터의 장치 어드레스에 매치하는지의 여부를 판정한다(단계 14-4). 어드레스 매치가 있는 경우에(단계 14-4에서 YES), 메모리 장치는 명령을 실행한다(단계 14-5). 명령에 따라, 이것은 메모리 명령에 의해 표시되는 로우 및 칼럼 어드레스를 처리하는 메모리 장치를 포함할 수 있고, 메모리 명령의 일부로서 수신되는 데이터를 처리하는 것도 포함할 수 있다. 하지만, 장치 유형에 매치가 없으면(단계 14-2에서 NO), 또는 장치 어드레스에 매치가 없으면(단계 14-4에서 NO), 메모리 장치는, 메모리 명령을 다음 메모리 장치에 전하는 것을 제외한 메모리 명령의 내부 처리를 실행하지 않는다(단계 14-6). 도 14를 참조하여 앞서 기술된 메모리 동작들을 처리하는 프로세스의 추가적인 설명을 제공하기 위해, 도 15a 및 15b를 참조하여 타이밍도가 후술된다.14, when a memory device receives a memory command, the memory device compares the device type indicated by the memory command with its own device type indicated by its own type register (step 14 -One). The memory command is specific to the type of device displayed in the memory command. The memory device determines whether the device type of the memory instruction matches its device type (step 14-2). If there is a type match between the two device types (YES in step 14-2), the memory device stores the device address indicated by the memory command with its own device address indicated by its own address register (Step 14-3). The memory device determines whether the device address of the memory command matches the device address of its own register (step 14-4). If there is an address match (YES in step 14-4), the memory device executes the command (step 14-5). In accordance with the instructions, this may include a memory device that processes the row and column addresses represented by the memory command, and may also include processing the received data as part of the memory command. However, if there is no match in the device type (NO in step 14-2), or if there is no match in the device address (NO in step 14-4), the memory device will issue a memory command The internal processing is not executed (step 14-6). In order to provide a further description of the process of processing the memory operations described above with reference to Fig. 14, a timing diagram will be described with reference to Figs. 15A and 15B.
도 15a 및 15b는 유형-의존 어드레싱이 있는 메모리 동작들을 처리하기 위한 신호들에 대한 타이밍 시퀀스를 도시한다. 타이밍도는, 상호 접속된 3개의 NAND-형 플래시 장치들(85, 86, 87)과 1개의 NOR-형 플래시 장치(84)를 갖는, 도 3b의 메모리 시스템으로부터 초래될 수 있는 예시적인 신호들을 도시한다.Figures 15A and 15B illustrate timing sequences for signals for handling memory operations with type-dependent addressing. The timing diagram illustrates exemplary signals that may result from the memory system of FIG. 3B, having three NAND-
메모리 컨트롤러에 의해 발행되는 NAND 플래시 장치들의 페이지 판독에 대한 메모리 명령은:Memory instructions for page reading of the NAND flash devices issued by the memory controller include:
메모리 명령(4)Memory instructions (4)
이다.to be.
메모리 명령에 있어서, For a memory instruction,
TYPE(00h)는 “NAND 플래시” 장치들을 식별한다(도 5b 참조).TYPE (00h) identifies " NAND flash " devices (see FIG. 5B).
TDA(01h)는 장치 어드레스 “1”을 홀딩하고 있는 장치들을 식별한다.The
CMD(00h)는 “페이지 판독”이 실행될 동작을 식별한다.CMD (00h) identifies the action for which " page read " is to be performed.
로우/칼럼 어드레스는, DATA 대신, 메모리의 로우 및 칼럼 어드레스를 식별한다.The row / column address identifies the row and column addresses of the memory, instead of the DATA.
유사하게, NOR 플래시 장치의 페이지 판독에 대한 메모리 명령은:Similarly, memory instructions for page reading of a NOR flash device include:
메모리 명령(4)Memory instructions (4)
이다.to be.
도 3b, 15a 및 15b를 참조하여 보면, NOR-형 플래시 장치(84)는 상호 접속의 첫 번째 장치(즉, 메모리 컨트롤러(50)에 가장 가까운)이다. 그것은 ‘NOR-0’으로서 고유의 유형 플러스(plus) 장치 번호(또는 유형 플러스 장치 식별, 또는 유형 플러스 장치 어드레스)를 갖는다. NOR-0 장치(84)의 다음에 직렬로 접속되는 NAND-형 플래시 장치들(85, 86, ...,및 87)은, 고유의 장치 번호들을 ‘NAND-0’, ‘NAND-1’ 및 ‘NAND-(n-1)’로서 갖는다. 타이밍도의 상부에 있어서, 15-1로 표시되는 직렬 클록(SCLK)에 대한 신호가 있다. 다음, 타이밍도는, 15-2, 15-3, 15-4, 15-5로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 직렬 입력(SIP)에 대한 신호들을 포함한다. 다음, 타이밍도는, 15-6, 15-7, 15-8, 15-9로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 출력 인에이블(OPE)에 대한 신호들을 포함한다. 다음, 타이밍도는 15-10으로 표시되는 최종 메모리 장치(87)에 대한 출력 인에이블 에코(OPEQ)에 대한 신호를 포함한다. 마지막으로, 타이밍도는, 15-11, 15-12, 15-13, 15-14로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 직렬 출력(SOP)에 대한 신호들을 포함한다. 간단한 설명을 목적으로, IPE, CS#, RST#과 같은 다른 신호들은 타이밍도에 도시되지 않는다. 이 타이밍도에 있어서, 15-15로 표시되는 바와 같은, ‘NAND-1에 대한 페이지 판독 명령 세트’는 장치 유형(TYPE=NAND), 타깃 장치 어드레스(DA=1), 명령(00h), 및 로우/칼럼 어드레스와 더불어 첫 번째로 발행된다. 이러한 입력 신호들의 직렬 스트림은 순차적으로 장치들을 통과하고, 선택된 장치만(이 경우, NAND-1)이 부여된 ‘페이지 판독’ 명령을 장치 내부에서 처리한다. 일반적으로, NAND-형 플래시 메모리는, 데이터를 NAND 플래시 셀들로부터 데이터 레지스터 블록으로 전송하는 내부 ‘페이지 판독 동작’에 대해 더 긴 시간(일반적으로 20㎲)이 걸린다. 따라서, 메모리 컨트롤러는 그 20㎲의 시간 동안 기다려야 한다. 하지만, 메모리 컨트롤러는, NAND-1의 긴 페이지 판독 시간 동안 기다리면서, NOR-형 플래시 장치, NOR-0을 액세스할 수 있다. 그래서, 15-16으로 표시되는 바와 같이, ‘NOR-0에 대한 페이지 판독 명령 세트’는 ‘NAND-1에 대한 페이지 판독 명령 세트’의 직후에 발행된다. NOR-형 플래시 메모리는, 예컨대, 100ns와 같은, 매우 빠른 판독 액세스 시간을 가지며, 따라서, 메모리 컨트롤러는 NOR-0으로부터 ‘요구 페이징(demand paging)’과 같은 많은 빠른 동작들을 실행할 수 있다. ‘요구 페이징’은 가상 메모리를 구현하는 간단한 방법이다.Referring to Figures 3B, 15A and 15B, the NOR-
요구 페이징을 사용하는 시스템에 있어서, 운영 체계는, 그것을 액세스하고자 하는 시도가 이루어진 경우에만(즉, 페이지 폴트(page fault)가 발생하면), 페이지를 물리적인 메모리내로 카피한다. 그것은, 프로세스가 물리적 메모리에 그 자신의 페이지들이 없는 실행을 시작하고, 대부분의 프로세스의 페이지들의 작업 세트가 물리적 메모리에 위치될 때까지 많은 페이지 폴트들이 발생할, 결과가 된다. 15-17로 표시되는 바와 같이, NOR-0으로부터 출력되는 최종 판독 데이터는, 접속되는 메모리 장치들의 총수가 4이므로, 4 클록 사이클 레이턴시 후에 컨트롤러의 SOP 포트에 직접 접속되는 NAND-2의 SOP 포트에 나타난다. 긴 시간 동안의 대기 후에, 메모리 컨트롤러는 NAND-1을 액세스할 수 있다. 이 시간에, 15-18로 표시되는 바와 같이, 메모리 컨트롤러는, 로우/칼럼 어드레스 바이트들 없이 ‘NAND-1에 대한 페이지 판독 명령 세트’를 발생하고, OPE 15-6 신호를 논리 ‘로’로부터 NAND-1 장치의 출력 회로를 인에이블시키는 논리 ‘하이’상태로 올리며, 그 후 NAND-1로부터 출력되는 판독 데이터는 15-19로 표시되는 바와 같이 직렬로 접속되는 SIP/SOP 포트들을 통해 스트림 아웃(streamed out)되기 시작한다. 메모리 컨트롤러의 SOP 포트의 최종 데이터 출력에 4 클록 사이클 레이턴시가 있다.In a system using demand paging, the operating system copies the page into physical memory only if an attempt is made to access it (i.e., a page fault occurs). This results in a large number of page faults occurring until the process starts executing without its own pages in physical memory and the working set of pages of most processes are placed in physical memory. As indicated by 15-17, the last read data output from NOR-0 is the sum of the number of connected memory devices is 4, so that after four clock cycle latency, the SOP port of NAND-2, which is directly connected to the SOP port of the controller appear. After a long wait, the memory controller can access the NAND-1. At this time, as indicated by 15-18, the memory controller generates a 'page read instruction set for NAND-1' without row / column address bytes and writes the OPE 15-6 signal from logic 'to' To the logic ' high ' state which enables the output circuitry of the NAND-1 device, and then the read data output from the NAND-1 is routed through the SIP / SOP ports connected in series as indicated at 15-19. (streamed out). There is 4 clock cycle latency on the final data output of the SOP port of the memory controller.
도 16a는 도 3a 내지 3e에 도시된 메모리 장치들로서 사용되는 다른 예시의 메모리 장치 블록을 도시한다. 도 16a에 도시된 메모리 장치(140A)는 도 4a에 도시된 메모리 장치(140A)와 유사하다. 도 16a를 참조하여 보면, 어드레스 증분 연산자(149)는 장치 컨트롤러/프로세서(142A)로부터의 초기 단계의 요청에 응답하여 동작을 실행한다. 그러한 특정 예에 있어서, 할당될 장치 어드레스는 그 장치에 의해 증분되는 장치 어드레스이다. 각 장치는 도 6a에 도시된 장치 어드레스 할당 방법을 실행한다. 하지만, 도 6b에 도시된 단계 6-10 및 6-11은 도 16b에 도시된 것과는 반대이다.Figure 16A shows another example memory device block used as the memory devices shown in Figures 3A-3E. The
도 3b, 4a, 16a 및 16b를 참조하여 보면, 기록 장치 어드레스 동작을 수신한 장치는, 수신된 장치 유형(‘DTs’)이 장치 유형 레지스터(146)에 등록된 그것의 장치 유형에 매치하는지의 여부를 판정한다(단계 16-8). 만약, 장치 유형 매치(단계 16-8에서 YES) 또는 장치 유형 매치 결과가 있으면, 어드레스 매치 판정자(147)는 타깃 장치 어드레스(TDA)(즉,‘DAs’)가 장치 어드레스 레지스터(148)에 등록된 장치 어드레스(DAr)에 매치하는지의 여부를 판정한다(단계 16-9). 만약, 장치 어드레스 매치(단계 16-9에서 YES) 또는 장치 어드레스 매치 결과가 있으면, 장치 어드레스 매치 판정자(147)는 어드레스 매치 표시(147M)를 출력한다. 그 후, 수신된 장치 어드레스(‘DA’)는 어드레스 증분 연산자(149)에 의해 증분된다(단계16-10). 증분된 어드레스(‘DA+1’)는 장치 어드레스 레지스터(148)에 등록되며(단계 16-11), 증분된 장치 어드레스는 다음의 장치에 전송된다. 만약, 장치 유형 매치가 없거나(단계 16-8에서 NO) 장치 유형 매치 결과가 없으면, 장치 어드레스 배열도 장치 어드레스 증분도 실행되지 않을 것이다. 또한, 장치 어드레스 매치가 없거나(단계 16-9에서 NO) 장치 어드레스 매치 결과가 없으면, 장치 어드레스 배열도 어드레스 증분도 실행되지 않을 것이다.Referring to Figures 3B, 4A, 16A, and 16B, the device receiving the recording device address operation determines whether the received device type ('DTs') matches its device type registered in the device type register 146 (Step 16-8). If there is a device type match (YES in step 16-8) or a device type match result, the
도 16c는 도 6a의 장치에 의해 실행되는 다른 장치 어드레스 배열 동작을 도시한다. 도 16c의 단계 16-8 및 16-9는 도 16b의 그것들과 일치한다. 만약, 장치 유형 매치(단계 16-8에서 YES)와 장치 어드레스 매치(단계 16-9에서 YES)가 있으면, 수신된 장치 어드레스(‘DA’)는 어드레스 증분 연산자(149)에 의해 증분된다(단계16-12). 증분된 어드레스(‘DA+1’)는 장치 어드레스 레지스터(148)에 등록되며(단계 16-13) 증분된 장치 어드레스는 다음의 장치에 전송된다(단계 16-14).16C shows another device address arrangement operation performed by the apparatus of FIG. 6A. Steps 16-8 and 16-9 in Figure 16c are consistent with those in Figure 16b. If there is a device type match (YES in step 16-8) and a device address match (YES in step 16-9), the received device address ('DA') is incremented by an
도 17은 도 3f에 도시된 메모리 장치들로서 사용되는 다른 예시의 메모리 장치 블록을 도시한다. 도 17에 도시된 메모리 장치(140B)는 도 4a에 도시된 메모리 장치(140A)와 유사하다. 도 17을 참조하여 보면, 어드레스 증분 연산자(149)는 장치 컨트롤러/프로세서(142B)로부터의 초기 단계의 요청에 응답하여 동작을 실행한다. 장치(140B)는 도 16b의 그것들에 유사한 동작들을 실행한다. 어드레스 증분 연산자(149)에 의해 제공되는 증분된 장치 어드레스는 장치 어드레스 레지스터(148)에 등록되며 다음의 장치에 전송된다.Figure 17 shows another example memory device block used as the memory devices shown in Figure 3F. The
도 18은 본 발명의 다른 실시예에 따른 2 채널의 메모리 시스템을 도시한다. 도 18을 참조하여 보면, 메모리 컨트롤러(150)의 제1 채널은 직렬 링크를 통해 접속되는 메모리 장치들의 제1 직렬 상호 접속 구성(151)에 접속된다. 유사하게, 메모리 컨트롤러(150)의 제2 채널은 직렬 링크를 통해 접속되는 메모리 장치들의 제2 직렬 상호 접속 구성(152)에 접속된다. 직렬 상호 접속 구성(131)의 각각의 최종 장치로부터의 직렬 출력(SOP), 입력 인에이블 에코(IPEQ) 및 출력 인에이블 에코(OPEQ)는, 메모리 컨트롤러(150)에 피드백된다.18 shows a two-channel memory system according to another embodiment of the present invention. Referring to FIG. 18, the first channel of
메모리 장치들의 제1 직렬 상호 접속 구성(151)의 세부는 도 19a에 도시되어 있다. 메모리 장치들의 제2 직렬 상호 접속 구성(152)의 세부는 도 19b에 도시되어 있다.The details of the first serial interconnect configuration 151 of memory devices are shown in Figure 19A. The details of the second serial interconnect configuration 152 of memory devices are shown in Figure 19B.
도 19a를 참조하여 보면, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은, 직렬로 상호 접속된 (n+1) NOR 플래시 메모리 장치들(160, 161, 162, ...,및 163)을 포함한다. 장치들(160, 161, 162, ...,및 163)은 각각 NOR 플래시 메모리 코어(160A, 161A, 162A, ..., 및 163A)를 갖는다. 장치들(160, 161, 162, ...,및 163)의 각각은 그 자신의 메모리 유형(NOR 플래시)을 홀딩하기 위한 레지스터(60)를 갖는다. 초기화의 동작에 있어서, 장치들(160, 161, 162, ...,및 163)은 각각 장치 어드레스 “NOR-0”, “NOR-1”, “NOR-2”, ..., 및 “NOR-n”를 할당받는다. 할당된 장치 어드레스들은 장치들의 (도시되지 않은) 레지스터들에 홀딩된다.Referring to Figure 19A, a first serial interconnect configuration 151 of memory devices includes (n + 1) NOR
도 19b를 참조하여 보면, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은, 직렬로 상호 접속된 (n+1) NAND 플래시 메모리 장치들(170, 171, 172, ...,및 173)을 포함한다. 장치들(170, 171, 172, ...,및 173)은 각각 NAND 플래시 메모리 코어(170A, 171A, 172A, ..., 및 173A)를 갖는다. 장치들(170, 171, 172, ...,및 173)의 각각은 그 자신의 메모리 유형(NAND 플래시)을 홀딩하기 위한 레지스터(60)를 갖는다. 초기화의 동작에 있어서, 장치들(170, 171, 172, ...,및 173)은 각각 장치 어드레스 “NAND-0”, “NAND-1”, “NAND-2”, ..., 및 “NAND-n”을 할당받는다. 할당된 장치 어드레스들은 장치들의 (도시되지 않은) 레지스터들에 홀딩된다.Referring to FIG. 19B, a second serial interconnect configuration 152 of memory devices includes (n + 1) NAND
대안적으로, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은 혼합된 유형의 장치들을 포함할 수 있다. 또한, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은 혼합된 유형의 장치들을 포함할 수 있다.Alternatively, the first serial interconnect configuration 151 of memory devices may include mixed type devices. Also, the second serial interconnect configuration 152 of memory devices may include mixed type devices.
도 20a 및 20b는 도 16에 도시된 메모리 시스템에 사용되는 다른 특정 예의 메모리 장치들의 개략도를 도시한다. 도 20a를 참조하여 보면, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은, 도 3b 예와 동일한 메모리 코어(210A, 211A, 212A, 213A)를 갖는 (n+1) 메모리 장치들(210, 211, 212, ..., 및 213)을 포함한다. 도 3b에 도시된 특정 예에 있어서, 제1 메모리 장치(210)는 NOR 플래시 메모리 코어(210A)를 갖고, 제2, 제3, ..., 및 제(n+1) 메모리 장치들(211, 212, ..., 및 213)은 각각 NAND 플래시 메모리 코어(211A, 212A, ..., 및 213A)를 갖는다. 도 3c는, 유형-와이즈 어드레싱(type-wise addressing) 스킴이 채용된, 즉 이전에 안내된 제1 어드레싱 스킴인 점에서, 도 3b 예와는 상이하다. 1개의 NOR 장치와 ‘n’개의 NAND 장치들이 있다고 가정하면, 유형 플러스 어드레스는 ‘NOR-O’, ‘NAND-O’, ‘NAND-1’, ..., 및 ‘NAND-(n-1)’로서 표시된다.20A and 20B show a schematic diagram of memory devices of another specific example used in the memory system shown in FIG. 20A, a first series interconnect configuration 151 of memory devices includes (n + 1)
도 20b를 참조하여 보면, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은, 혼합된 메모리 코어(220A, 221A, 222A, ..., 및 223A)를 갖는 복수의 (n+1) 메모리 장치들(220, 221, 222, ..., 및 223)을 포함한다. 제1 메모리 장치(220)는 SRAM 메모리 코어(220A)를 갖고 제2 메모리 장치(221)는 NOR 플래시 메모리 코어(221A)를 갖는다. 제3, ..., 및 제(n+1) 메모리 장치(223)는 각각 NAND 플래시 메모리 코어(222A, ..., 및 223A)를 갖는다. 메모리 장치들은 유형-와이즈 어드레싱 스킴을 이용하여 어드레싱된다. 1개의 SRAM 장치와 1개의 NOR 장치 및 ‘(n-1)’개의 NAND 장치들이 있다고 가정하면, 유형 플러스 어드레스는 ‘SRAM-0’,‘NOR-O’, ‘NAND-O’, ..., 및 ‘NAND-(n-2)’로서 표시된다.20B, a second series interconnect configuration 152 of memory devices includes a plurality of (n + 1)
앞서 기술된 실시예들에 있어서, 하나의 메모리 명령(예컨대, SIP의 “기록 장치 어드레스” 명령)은 다른 메모리 명령(예컨대, SIP_1의 “기록 장치 어드레스” 명령)과 겹쳐지지 않는다. 다른 구현예에 있어서, 장치들에 대한 직렬 입력의 메모리 명령들은 도 21에 도시된 것과 겹치지 않을 수 있다. 하지만, 요구된다면, 하나의 장치에 의한 장치 어드레스 (DATA) 증분은, 다른 장치가 어드레스 (DATA) 증분을 실행하기 전에, 완료되어야 한다.In the previously described embodiments, one memory command (e.g., a " recording device address " command of the SIP) does not overlap with another memory command (e.g., the " recording device address " In other implementations, the memory instructions of the serial input to the devices may not overlap those shown in FIG. However, if required, the device address (DATA) increment by one device must be completed before the other device can perform the address (DATA) increment.
데이터, 정보 또는 신호의 송신이 단일 비트 또는 복수의 비트에 의해 실행되는 것은 당업자에게는 명백해질 것이다. 예를 들어, 직렬 입력 SIP 및 직렬 출력 SOP 상으로의 데이터 송시는 도 22에 도시된 바와 같이 단일 비트 또는 복수의 비트(M 비트)에 의해 실행되며, M은 1보다 큰 정수이다. 인터페이스는 단일 I/O 핀 또는 복수의 I/O 핀을 포함해도 된다.It will be apparent to those skilled in the art that the transmission of data, information or signals is performed by a single bit or a plurality of bits. For example, data transmission on a serial input SIP and serial output SOP is performed by a single bit or a plurality of bits (M bits), as shown in FIG. 22, where M is an integer greater than one. The interface may include a single I / O pin or a plurality of I / O pins.
도 23은 본 발명의 다른 실시예에 따르는 메모리 시스템을 도시한다. 도 23에 도시된 메모리 시스템은 복수의 메모리 장치들(351)의 직렬 상호접속 구성 및 장치들의 동작을 제어하는 메모리 컨트롤러(350)를 포함한다. 예시된 예에서, 구성은 (n+1)개의 메모리 장치들: 장치-0, 장치-1, 장치-2, … 및 장치-n을 포함한다. 각각의 메모리 장치들은 복수의 포트를 갖는다. 도 24의 특정 예에서, 각 장치는 2 포트 장치이다. 메모리 컨트롤러(350)는 리셋 신호 "RST#", 칩 선택 신호 "CS#" 및 직렬 클록 신호 "SCLK"를 각각의 메모리 장치들의 각각의 포트에 제공한다.23 shows a memory system according to another embodiment of the present invention. The memory system shown in Fig. 23 includes a
도 23 및 24를 참조하면, 제1 메모리 장치(장치-0)는 복수의 데이터 입력 포트(SIP1, SIP2), 복수의 데이터 출력 포트(SOP1, SOP2), 복수의 제어 입력 포트(IPE1, IPE2), 및 복수의 제어 출력 포트(OPE1, OPE2)를 갖는다. 데이터 및 제어 신호들은 메모리 컨트롤러(350)로부터 제1 메모리 장치로 전송된다. 제2 메모리 장치(장치-1)는 장치-1이 접속되는 장치-0과 동일한 유형의 포트를 갖는다. 예를 들면, 장치-1은 장치-0으로부터 데이터 및 제어 신호를 수신한다. 구성에서의 최종 메모리 장치(장치-n)는 미리 정해진 레이턴시 후에 메모리 컨트롤러(350)로 되돌려 데이터 및 제어 신호를 제공한다. 각 메모리 장치는 후속하는 장치에 IPE1, IPE2, OPE1 및 OPE2(즉, 제어 출력 포트)의 에코(IPEQ1, IPEQ2, OPEQ1, OPEQ2)를 출력한다.23 and 24, the first memory device (device-0) includes a plurality of data input ports SIP1 and SIP2, a plurality of data output ports SOP1 and SOP2, a plurality of control input ports IPE1 and IPE2, And a plurality of control output ports OPE1 and OPE2. Data and control signals are transferred from the
도 25는 본 발명의 다른 실시예에 따르는 메모리 시스템을 도시한다. 도 25에 도시된 메모리 시스템은 메모리 컨트롤러(450) 및 복수의 메모리 장치들(451)의 직렬 상호접속 구성을 포함한다. 장치들의 구성은 도 26에 도시된다. 각각의 메모리 장치들은 복수의 포트를 갖는다. 도 26의 특정 예에서는, 각 장치는 2 포트 장치이다. 메모리 컨트롤러(450)는 복수의 포트에 대응하는 복수의 그룹의 신호들을 메모리 장치들에 제공한다. 예시된 예에서는, 리셋 신호 "RST#1", 칩 선택 신호 "CS#1" 및 직렬 클록 신호 "SCLK1"이 각각의 메모리 장치들의 각각의 포트 1에 제공된다. 유사하게, 포트 2에 대해서, 리셋 신호 "RST#2", 칩 선택 신호 "CS#2" 및 직렬 클록 신호 "SCLK2"가 각각의 메모리 장치들의 각각의 포트에 제공된다.Figure 25 illustrates a memory system in accordance with another embodiment of the present invention. The memory system shown in Fig. 25 includes a serial interconnect configuration of a
도 23∼26에 도시된 메모리 시스템 및 장치에서, 도 4a 및 16a에 도시된 장치들이 메모리 장치들의 직렬 상호접속 구성에 사용될 수 있다. 또한, 도 4b 및 17에 도시된 장치들이 메모리 장치들의 직렬 상호접속 구성에 사용될 수 있다. 그러한 경우, 클록 신호 SCLK가 도 3f에 도시된 바와 같이 송신될 필요가 있고, 각 장치는 다음의 장치에 대해 출력 에코 클록 신호 'SCLK_O'를 제공하기 위한 클록 동기화 회로를 갖는다.In the memory system and apparatus shown in Figs. 23-26, the devices shown in Figs. 4A and 16A can be used in a serial interconnection configuration of memory devices. In addition, the devices shown in Figures 4B and 17 can be used in a serial interconnect configuration of memory devices. In such a case, the clock signal SCLK needs to be transmitted as shown in FIG. 3F, and each device has a clock synchronization circuit for providing an output echo clock signal 'SCLK_O' for the next device.
상술한 실시예들에서는, 장치 소자들 및 회로들은 간략화를 위해 도면들에 도시된 바와 같이 서로 접속된다. 본 발명의 실제 애플리케이션에서는, 소자들, 회로들 등이 서로 직접 접속되어도 된다. 물론, 소자들, 회로들 등이 장치들 또는 기기의 동작에 필요한 다른 소자들, 회로들 등을 통해 서로 간접적으로 접속되어도 된다. 따라서, 장치들 및 기기의 실제의 구성에서는, 소자들 및 회로들은 직접 또는 간접적으로 결합되거나 서로 접속된다.In the embodiments described above, the device elements and circuits are connected to each other as shown in the figures for the sake of simplicity. In an actual application of the present invention, elements, circuits, and the like may be directly connected to each other. Of course, elements, circuits, and the like may be indirectly connected to each other through devices or other elements, circuits, and the like necessary for operation of the device. Thus, in the actual configuration of devices and devices, the devices and circuits are directly or indirectly coupled or interconnected.
반도체 장치들이 장치들로서 실현될 수 있음은 당업자에게는 명백해질 것이다.It will be apparent to those skilled in the art that semiconductor devices can be realized as devices.
상술한 본 발명의 실시예들은 예로서만 의도된다. 변경, 변형 및 수정이 여기에 첨부된 청구항들에 의해서만 정해지는 발명의 범위로부터 벗어남 없이 당업자에 의해 특정 실시예들에 대해 실현될 수 있다.The embodiments of the present invention described above are intended to be examples only. Modifications, alterations, and modifications may be made by those skilled in the art to the particular embodiments, without departing from the scope of the invention as set forth solely by the claims appended hereto.
Claims (24)
상기 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 단계 - 상기 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함함 -;
상기 장치의 장치 유형 식별을 홀딩하는 단계; 및
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 지를 판정하는 단계를 포함하고,
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 경우에, 장치 유형 매치 결과가 제공되고;
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하지 않는 경우에, 장치 유형 비매치 결과가 제공되는,
혼합된 유형의 복수의 장치들의 동작 방법.CLAIMS What is claimed is: 1. A method of operating a plurality of devices of a mixed type, the devices being configured in a serial interconnection configuration in which the devices are interconnected in series,
Providing a serial input to a first device in the serial interconnection configuration, the serial input including device type identification, command and device address identification;
Holding device type identification of the device; And
Determining if the received device type identification matches the held device type identification,
If the received device type identification matches the held device type identification, then a device type match result is provided;
Wherein the device type mismatch result is provided if the received device type identification does not match the held device type identification,
Method of operation of a plurality of devices of mixed type.
제공된 상기 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.The method according to claim 1,
Further comprising holding the assigned device address in response to the serial input provided. ≪ Desc / Clms Page number 19 >
수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하는 지를 판정하는 단계를 더 포함하고;
수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하는 경우에, 장치 어드레스 매치 결과가 제공되고;
수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하지 않는 경우에, 장치 어드레스 비매치 결과가 제공되는, 혼합된 유형의 복수의 장치들의 동작 방법.The method of claim 2,
Further comprising determining whether the received device address identification matches the held device address;
If the received device address identification matches the held device address, a device address match result is provided;
Wherein a device address mismatch result is provided if the received device address identification does not match the held device address.
상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여, 상기 직렬 입력의 수신된 명령을 실행하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.The method of claim 3,
Further comprising: executing a received instruction of the serial input in response to the device type match result and the device address match result.
상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여 상기 어드레스 넘버를 변경하는 단계; 및
상기 직렬 입력에 포함되는 상기 변경된 어드레스 넘버를 포함하는 상기 데이터 정보를 상기 직렬 상호접속 구성의 다음의 장치에 전송하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.5. The method of claim 4, wherein the serial input further comprises data information comprising an address number; The method comprises:
Changing the address number in response to the device type match result and the device address match result; And
Further comprising transmitting the data information including the modified address number included in the serial input to the next device in the serial interconnection configuration.
상기 장치의 어드레스를 나타내는 수신된 상기 어드레스 넘버를 홀딩하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.The method of claim 5,
Further comprising: holding the received address number indicating an address of the device.
수신된 상기 어드레스 넘버 및 미리 정해진 넘버에 기초하여 산술적인 계산을 실행하는 단계를 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.6. The method of claim 5,
And performing an arithmetic calculation based on the received address number and a predetermined number.
상기 홀딩하는 단계는 의도된 어드레스 넘버를 홀딩하는 단계를 포함하고;
상기 직렬 입력에 포함되는 상기 장치 어드레스 식별은 상기 의도된 어드레스 넘버를 포함하며;
상기 직렬 입력에 포함되는 상기 데이터 정보의 어드레스 넘버는 초기 어드레스 넘버를 포함하고;
상기 변경하는 단계는 상기 장치 어드레스 매치 결과 및 상기 장치 유형 매치 결과에 응답하여 상기 초기 어드레스 넘버를 변경하는 단계를 포함하고, 변경된 어드레스 넘버는 홀딩된 상기 의도된 어드레스 넘버를 대체하는, 혼합된 유형의 복수의 장치들의 동작 방법.The method of claim 7,
Wherein the holding step comprises holding an intended address number;
Wherein the device address identification included in the serial input comprises the intended address number;
The address number of the data information included in the serial input includes an initial address number;
Wherein the modifying comprises modifying the initial address number in response to the device address match result and the device type match result, wherein the modified address number is a mixed type address number that replaces the held address number A method of operating a plurality of devices.
상기 장치는 메모리를 포함하고;
상기 직렬 입력에 포함되는 상기 데이터 정보는 상기 메모리에 관한 정보 데이터를 더 포함하며;
상기 장치 컨트롤러는 상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여 상기 메모리에 액세스하도록 상기 메모리 관련 정보 데이터에 기초하여 상기 명령을 실행할 수 있는, 혼합된 유형의 복수의 장치들의 동작 방법.The method of claim 8,
The apparatus comprising a memory;
Wherein the data information included in the serial input further comprises information data relating to the memory;
Wherein the device controller is capable of executing the command based on the memory related information data to access the memory in response to the device type match result and the device address match result.
상기 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 컨트롤러 - 상기 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함함 -;
상기 장치의 장치 유형 식별을 홀딩하는 홀더; 및
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 지를 판정하는 판정부를 포함하고,
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 경우에, 장치 유형 매치 결과가 제공되고;
수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하지 않는 경우에, 장치 유형 비매치 결과가 제공되는,
혼합된 유형의 복수의 장치들의 동작 기기.What is claimed is: 1. An apparatus for operating a plurality of devices of a mixed type, the apparatus being configured in a serial interconnection configuration in which the devices are interconnected in series,
A controller for providing a serial input to a first device of the serial interconnection configuration, the serial input including device type identification, command and device address identification;
A holder for holding a device type identification of the device; And
And a determination unit that determines whether the received device type identification matches the held device type identification,
If the received device type identification matches the held device type identification, then a device type match result is provided;
Wherein the device type mismatch result is provided if the received device type identification does not match the held device type identification,
Operating device for a plurality of devices of mixed type.
상기 장치들의 각각은 직렬 입력 및 출력 접속들을 갖고;
상기 컨트롤러는 상기 제1 장치의 직렬 입력 접속에 접속되는 직렬 출력 접속 및 상기 직렬 상호접속 구성의 최종 장치의 직렬 출력 접속에 접속되는 직렬 입력 접속을 갖는, 혼합된 유형의 복수의 장치들의 동작 기기.The method of claim 12,
Each of the devices having serial input and output connections;
The controller having a serial output connection connected to the serial input connection of the first device and a serial input connection connected to the serial output connection of the last device of the serial interconnection configuration.
상기 직렬 상호접속 구성의 장치들에 상기 직렬 입력을 제공하는 직렬 출력 접속을 포함하고, 상기 직렬 입력은 제1 및 제2 명령을 포함하며, 상기 제2 명령은 상기 제1 명령에 이어지고,
상기 제1 명령은 상기 제1 명령을 처리하기 위해 제1 유형의 적어도 하나의 장치를 작동시키며,
상기 제2 명령은 상기 제2 명령을 처리하기 위해 제2 유형의 적어도 하나의 장치를 작동시키고, 상기 제2 유형의 적어도 하나의 장치에 의한 상기 제2 명령의 처리는 상기 제1 유형의 적어도 하나의 장치에 의한 상기 제1 명령의 처리의 완료 전에 완료되는, 혼합된 유형의 복수의 장치들의 동작 기기.The system of claim 12,
Wherein the serial input comprises first and second instructions, the second instruction being followed by the first instruction, and the second instruction being followed by the first instruction,
The first instruction activates at least one device of a first type for processing the first instruction,
Wherein the second instruction activates at least one device of a second type for processing the second instruction, and the processing of the second instruction by at least one device of the second type causes at least one Is completed before the completion of the processing of the first instruction by the device of the second type.
상기 제1 유형의 장치는 NAND형 플래시 메모리 장치이고;
상기 제2 유형의 장치는 NOR형 플래시 메모리 장치인, 혼합된 유형의 복수의 장치들의 동작 기기.15. The method of claim 14,
The first type of device is a NAND flash memory device;
Wherein the second type of device is a NOR type flash memory device.
장치 유형 및 장치 어드레스에 기초하여 상기 직렬 상호접속 구성의 상기 장치들에 액세스하는 단계를 포함하고,
상기 할당하는 단계는,
하나의 유형의 상기 장치들 각각에 어드레스들을 확립하는 단계를 포함하고,
상기 액세스하는 단계는,
상기 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 단계 - 상기 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함함 -;
수신된 상기 장치 유형 식별이 상기 확립된 장치 유형 식별과 매치하는 지를 판정하는 단계를 포함하고,
수신된 상기 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하는 경우에, 장치 유형 매치 결과가 제공되는, 방법.Assigning device addresses to a plurality of devices of mixed type configured in a serial interconnection configuration in which devices are serially interconnected; And
Accessing the devices of the serial interconnect configuration based on a device type and a device address,
Wherein the assigning comprises:
Establishing addresses in each of one of the types of devices,
Wherein the accessing comprises:
Providing a serial input to a first device in the serial interconnection configuration, the serial input including device type identification, command and device address identification;
Determining if the received device type identification matches the established device type identification,
Wherein a device type match result is provided if the received device type identification matches a held device type identification.
상기 장치의 장치 유형 식별을 홀딩하는 단계를 더 포함하는, 방법.17. The method of claim 16,
Further comprising holding the device type identification of the device.
상기 직렬 상호접속 구성의 제1 장치에 장치 유형 식별, 장치 어드레스 식별 및 어드레스 넘버를 포함하는 직렬 입력을 제공하는 단계를 포함하는, 방법.18. The method of claim 17,
Providing a serial input comprising a device type identification, a device address identification and an address number to a first device of the serial interconnection configuration.
혼합된 유형의 상기 복수의 장치들을 통해 상기 직렬 입력을 전달하는 단계를 포함하고, 상기 장치들의 각각은 직렬 입력 및 출력 접속들을 갖는, 방법.19. The method of claim 18,
And delivering the serial input through the plurality of devices of the mixed type, wherein each of the devices has serial input and output connections.
명령을 처리하도록 제1 유형의 적어도 하나의 장치를 작동시키는 단계; 및
상기 제1 유형의 적어도 하나의 장치에서의 명령 처리의 완료 이전에 제2 유형의 적어도 하나의 장치를 작동시키는 단계를 포함하는, 방법.17. The method of claim 16,
Operating at least one device of a first type to process an instruction; And
Operating at least one device of a second type prior to completion of command processing in the at least one device of the first type.
일련의 제1 및 제2 명령을 제공하는 단계로서, 상기 제2 명령은 상기 제1 명령에 이어지는 단계;
상기 제1 명령에 응답하여 상기 제1 유형의 적어도 하나의 장치를 작동시키는 단계; 및
상기 제2 명령에 응답하여 상기 제2 유형의 적어도 하나의 장치를 작동시키는 단계로서, 상기 제2 유형의 적어도 하나의 장치에 의한 상기 제2 명령의 처리는 상기 제1 유형의 적어도 하나의 장치에 의한 상기 제1 명령의 처리의 완료 전에 완료되는 단계를 더 포함하는, 방법.23. The method of claim 21,
Providing a series of first and second instructions, the second instruction being followed by the first instruction;
Operating at least one device of the first type in response to the first command; And
Operating at least one device of the second type in response to the second command, wherein processing of the second instruction by at least one device of the second type is performed by the at least one device of the first type And completing the processing of the first instruction by the second instruction.
상기 제1 유형의 장치는 NAND형 플래시 메모리 장치이고;
상기 제2 유형의 장치는 NOR형 플래시 메모리 장치인, 방법.23. The method of claim 22,
The first type of device is a NAND flash memory device;
Wherein the second type of device is a NOR type flash memory device.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86877306P | 2006-12-06 | 2006-12-06 | |
US60/868,773 | 2006-12-06 | ||
US87089206P | 2006-12-20 | 2006-12-20 | |
US60/870,892 | 2006-12-20 | ||
US11/622,828 | 2007-01-12 | ||
US11/622,828 US8271758B2 (en) | 2006-12-06 | 2007-01-12 | Apparatus and method for producing IDS for interconnected devices of mixed type |
US11/771,241 | 2007-06-29 | ||
US11/771,241 US7925854B2 (en) | 2006-12-06 | 2007-06-29 | System and method of operating memory devices of mixed type |
PCT/CA2007/002182 WO2008067658A1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127027959A Division KR101441225B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140019478A KR20140019478A (en) | 2014-02-14 |
KR101441280B1 true KR101441280B1 (en) | 2014-09-17 |
Family
ID=39491613
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097014049A KR101441154B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
KR1020127027959A KR101441225B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
KR1020147001536A KR101441280B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097014049A KR101441154B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
KR1020127027959A KR101441225B1 (en) | 2006-12-06 | 2007-12-04 | System and method of operating memory devices of mixed type |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2118903A4 (en) |
JP (3) | JP5683813B2 (en) |
KR (3) | KR101441154B1 (en) |
TW (1) | TWI470645B (en) |
WO (1) | WO2008067658A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463959B2 (en) * | 2010-05-31 | 2013-06-11 | Mosaid Technologies Incorporated | High-speed interface for daisy-chained devices |
TWI425362B (en) * | 2010-12-07 | 2014-02-01 | Alpha Imaging Technology Corp | Memory interface chip corresponding to different memories and method of establishing memory transmission channel |
US9697872B2 (en) * | 2011-12-07 | 2017-07-04 | Cypress Semiconductor Corporation | High speed serial peripheral interface memory subsystem |
US8614920B2 (en) | 2012-04-02 | 2013-12-24 | Winbond Electronics Corporation | Method and apparatus for logic read in flash memory |
JP5467134B1 (en) * | 2012-09-27 | 2014-04-09 | 華邦電子股▲ふん▼有限公司 | Flash memory device and method of operating memory device |
KR102358177B1 (en) | 2015-12-24 | 2022-02-07 | 에스케이하이닉스 주식회사 | Control circuit and memory device including the control circuit |
US10067903B2 (en) | 2015-07-30 | 2018-09-04 | SK Hynix Inc. | Semiconductor device |
KR102366767B1 (en) * | 2015-07-30 | 2022-02-23 | 에스케이하이닉스 주식회사 | Semiconductor device |
US11755255B2 (en) | 2014-10-28 | 2023-09-12 | SK Hynix Inc. | Memory device comprising a plurality of memories sharing a resistance for impedance matching |
US10146608B2 (en) * | 2015-04-06 | 2018-12-04 | Rambus Inc. | Memory module register access |
FR3041806B1 (en) | 2015-09-25 | 2017-10-20 | Stmicroelectronics Rousset | NON-VOLATILE MEMORY DEVICE, FOR EXAMPLE OF THE EEPROM TYPE, HAVING IMPORTANT MEMORY CAPACITY, FOR EXAMPLE 16MBITS |
GB2568725B (en) * | 2017-11-24 | 2021-08-18 | Ge Aviat Systems Ltd | Method and apparatus for initializing a controller module |
GB2568724B (en) * | 2017-11-24 | 2021-08-18 | Ge Aviat Systems Ltd | Method and apparatus for initializing a controller module |
CN110413197B (en) * | 2018-04-28 | 2023-06-27 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing a storage system |
TWI696113B (en) * | 2019-01-02 | 2020-06-11 | 慧榮科技股份有限公司 | Method for performing configuration management, and associated data storage device and controller thereof |
US20210081318A1 (en) * | 2019-09-17 | 2021-03-18 | Micron Technology, Inc. | Flexible provisioning of multi-tier memory |
TWI749598B (en) * | 2020-06-18 | 2021-12-11 | 華邦電子股份有限公司 | Memory apparatus and method of burst read and burst write thereof |
US11120851B1 (en) | 2020-07-12 | 2021-09-14 | Winbond Electronics Corp. | Memory apparatus and burst read and burst write method thereof |
CN113641595B (en) * | 2021-07-30 | 2023-08-11 | 珠海一微半导体股份有限公司 | Type identification method and system of SPI FLASH in BROM stage of independent block protection mode |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128696A (en) * | 1990-04-18 | 2000-10-03 | Rambus Inc. | Synchronous memory device utilizing request protocol and method of operation of same |
US20060031593A1 (en) * | 2004-08-09 | 2006-02-09 | Sinclair Alan W | Ring bus structure and its use in flash memory systems |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4360870A (en) * | 1980-07-30 | 1982-11-23 | International Business Machines Corporation | Programmable I/O device identification |
JPH0484351A (en) * | 1990-07-27 | 1992-03-17 | Sony Corp | Address setting method |
JPH07105121A (en) * | 1993-09-30 | 1995-04-21 | Nabco Ltd | Decentralized controller |
JP3168552B2 (en) * | 1993-12-17 | 2001-05-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | Memory access control system and method |
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 |
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 |
US5708773A (en) * | 1995-07-20 | 1998-01-13 | Unisys Corporation | JTAG interface system for communicating with compliant and non-compliant JTAG devices |
US5860080A (en) * | 1996-03-19 | 1999-01-12 | Apple Computer, Inc. | Multicasting system for selecting a group of memory devices for operation |
JP3850067B2 (en) * | 1996-04-24 | 2006-11-29 | 株式会社ルネサステクノロジ | Memory system and semiconductor memory device used therefor |
US6175891B1 (en) * | 1997-04-23 | 2001-01-16 | Micron Technology, Inc. | System and method for assigning addresses to memory devices |
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 |
US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
JP2002236611A (en) * | 2000-12-04 | 2002-08-23 | Hitachi Ltd | Semiconductor device and information processing system |
US6996644B2 (en) * | 2001-06-06 | 2006-02-07 | Conexant Systems, Inc. | Apparatus and methods for initializing integrated circuit addresses |
US7073022B2 (en) * | 2002-05-23 | 2006-07-04 | International Business Machines Corporation | Serial interface for a data storage array |
US7032039B2 (en) * | 2002-10-30 | 2006-04-18 | Atmel Corporation | Method for identification of SPI compatible serial memory devices |
US7308524B2 (en) | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
JP2007508776A (en) * | 2003-10-18 | 2007-04-05 | サムスン エレクトロニクス カンパニー リミテッド | Method and system for mobile anchor point search and mobile node mobility management in a network system supporting mobile IP |
US7031221B2 (en) * | 2003-12-30 | 2006-04-18 | Intel Corporation | Fixed phase clock and strobe signals in daisy chained chips |
-
2007
- 2007-12-04 WO PCT/CA2007/002182 patent/WO2008067658A1/en active Application Filing
- 2007-12-04 JP JP2009539576A patent/JP5683813B2/en not_active Expired - Fee Related
- 2007-12-04 KR KR1020097014049A patent/KR101441154B1/en not_active IP Right Cessation
- 2007-12-04 KR KR1020127027959A patent/KR101441225B1/en not_active IP Right Cessation
- 2007-12-04 EP EP07855464A patent/EP2118903A4/en not_active Withdrawn
- 2007-12-04 KR KR1020147001536A patent/KR101441280B1/en not_active IP Right Cessation
- 2007-12-06 TW TW96146483A patent/TWI470645B/en not_active IP Right Cessation
-
2010
- 2010-11-18 JP JP2010257825A patent/JP5351130B2/en not_active Expired - Fee Related
-
2013
- 2013-12-13 JP JP2013257579A patent/JP5695724B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128696A (en) * | 1990-04-18 | 2000-10-03 | Rambus Inc. | Synchronous memory device utilizing request protocol and method of operation of same |
US20060031593A1 (en) * | 2004-08-09 | 2006-02-09 | Sinclair Alan W | Ring bus structure and its use in flash memory systems |
Also Published As
Publication number | Publication date |
---|---|
JP5695724B2 (en) | 2015-04-08 |
JP5351130B2 (en) | 2013-11-27 |
KR20090102787A (en) | 2009-09-30 |
KR20140019478A (en) | 2014-02-14 |
JP2010511943A (en) | 2010-04-15 |
TW200845037A (en) | 2008-11-16 |
EP2118903A4 (en) | 2010-01-06 |
EP2118903A1 (en) | 2009-11-18 |
TWI470645B (en) | 2015-01-21 |
KR101441154B1 (en) | 2014-09-17 |
WO2008067658A1 (en) | 2008-06-12 |
KR20120135334A (en) | 2012-12-12 |
JP5683813B2 (en) | 2015-03-11 |
JP2014063523A (en) | 2014-04-10 |
JP2011054204A (en) | 2011-03-17 |
KR101441225B1 (en) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101441280B1 (en) | System and method of operating memory devices of mixed type | |
US8819377B2 (en) | System and method of operating memory devices of mixed type | |
US10366731B2 (en) | Memory devices having special mode access using a serial message | |
WO2008067652A1 (en) | Address assignment and type recognition of serially interconnected memory devices of mixed type | |
US8046527B2 (en) | Apparatus and method for using a page buffer of a memory device as a temporary cache | |
US8335868B2 (en) | Apparatus and method for establishing device identifiers for serially interconnected devices | |
KR101154148B1 (en) | Multiple independent serial link memory | |
US7363441B2 (en) | Portable storage apparatus and method for freely changing data bus width | |
US20090021992A1 (en) | Memory with data control | |
KR101397229B1 (en) | Modular command structure for memory and memory system | |
JP2015111458A (en) | Bridge device having configurable virtual page size | |
KR20100077026A (en) | Serial interface nand | |
WO2007134444A1 (en) | Apparatus and method for establishing device identifiers for serially interconnected devices | |
WO2012036751A2 (en) | Different types of memory integrated in one chip by using a novel protocol | |
WO2008067642A1 (en) | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type | |
US7478213B2 (en) | Off-chip micro control and interface in a multichip integrated memory system | |
JP2007026136A (en) | Semiconductor integrated circuit device | |
TW200900941A (en) | System and device having alternative bit organization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
LAPS | Lapse due to unpaid annual fee |