KR101476515B1 - Scalable memory system - Google Patents

Scalable memory system Download PDF

Info

Publication number
KR101476515B1
KR101476515B1 KR1020127021608A KR20127021608A KR101476515B1 KR 101476515 B1 KR101476515 B1 KR 101476515B1 KR 1020127021608 A KR1020127021608 A KR 1020127021608A KR 20127021608 A KR20127021608 A KR 20127021608A KR 101476515 B1 KR101476515 B1 KR 101476515B1
Authority
KR
South Korea
Prior art keywords
memory device
memory
data
instruction
command
Prior art date
Application number
KR1020127021608A
Other languages
Korean (ko)
Other versions
KR20120110157A (en
Inventor
진기 김
학준 오
홍범 편
스티븐 프르지빌스키
Original Assignee
컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/840,692 external-priority patent/US7904639B2/en
Application filed by 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 filed Critical 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드
Publication of KR20120110157A publication Critical patent/KR20120110157A/en
Application granted granted Critical
Publication of KR101476515B1 publication Critical patent/KR101476515B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Abstract

메모리 시스템 아키텍처는 직렬로 접속된 메모리 장치를 갖는다. 메모리 시스템은 어떠한 성능 저하나 복잡한 재설계 없이 임의의 수의 메모리 장치를 포함하도록 스케일러블하다. 각 메모리 장치는 다른 메모리 장치들과 메모리 제어기 사이의 통신을 위한 직렬 입/출력 인터페이스를 갖는다. 메모리 제어기는 적어도 하나의 비트스트림으로 명령을 발행하고, 여기에서 비트스트림은 모듈러 명령 프로토콜에 따른다. 그 명령은 선택적인 어드레스 정보 및 장치 어드레스와 함께 동작 코드를 포함하여, 어드레스된 메모리 장치만이 명령에 따른다. 별개의 데이터 출력 스트로브 및 명령 입력 스트로브 신호가 데이터의 타입 및 데이터의 길이를 식별하기 위해 각 출력 데이터 스트림 및 입력 명령 데이터 스트림과 각각 병렬로 제공된다. 모듈러 명령 프로토콜은 성능을 더욱 향상시키기 위해 각 메모리 장치에서 동시 동작을 실행하는 데 사용된다.The memory system architecture has memory devices connected in series. The memory system is scalable to include any number of memory devices without any performance penalties or complex redesign. Each memory device has a serial input / output interface for communication between the other memory devices and the memory controller. The memory controller issues instructions in at least one bitstream, where the bitstream is in accordance with a modular instruction protocol. The instruction includes an operation code with optional address information and a device address, so that only the addressed memory device follows the instruction. Separate data output strobe and command input strobe signals are provided in parallel with each output data stream and input command data stream to identify the type of data and the length of the data. The modular command protocol is used to perform concurrent operations on each memory device to further improve performance.

Description

스케일러블 메모리 시스템{SCALABLE MEMORY SYSTEM}[0001] SCALABLE MEMORY SYSTEM [0002]

이 출원은 2006년 8월 22일에 출원된 미국 가특허 출원 제60/839,329호; 2006년 12월 6일에 출원된 미국 가특허 출원 제60/868,773호; 2007년 2월 16일에 출원된 미국 가특허 출원 제60/902,003호; 2007년 3월 2일에 출원된 미국 가특허 출원 제60/892,705호, 및 2007년 8월 17일에 출원된 미국 특허 출원 제11/840,692호의 우선권의 이익을 청구한다.This application is related to U.S. Provisional Patent Application No. 60 / 839,329, filed August 22, 2006; U.S. Provisional Patent Application No. 60 / 868,773, filed December 6, 2006; U.S. Provisional Patent Application No. 60 / 902,003, filed February 16, 2007; U.S. Provisional Patent Application No. 60 / 892,705, filed March 2, 2007, and U.S. Patent Application No. 11 / 840,692, filed August 17, 2007, all of which are incorporated by reference herein.

본 발명은 통상적으로 메모리 시스템에 관한 것이다. 더욱 구체적으로는, 본 발명은 대용량 저장 애플리케이션을 위한 직렬로 접속되는 메모리 장치의 메모리 시스템에 관한 것이다.The present invention relates generally to memory systems. More specifically, the present invention relates to a memory system of a serially-connected memory device for mass storage applications.

플래시 메모리가 예컨대, 디지털 카메라 및 휴대용 디지털 음악 플레이어와 같은 가전제품용 대용량 저장장치로 널리 사용되고 있는 일반적으로 사용되는 타입의 비휘발성 메모리이다. 현재 시판 중인 플레시 메모리 칩의 밀도는 하나의 플레시 칩의 사이즈가 작기 때문에 대중적인 USB 플래시 장치에 사용하는 데 적합한 최대 32Gbits(4GB)일 수 있다.Flash memory is a commonly used type of nonvolatile memory that is widely used as a mass storage device for consumer products such as digital cameras and portable digital music players. The density of flash memory chips currently on the market may be up to 32 Gbits (4 GB), which is suitable for use with popular USB flash devices due to the small size of a single flash chip.

도 1은 공지된 NAND 플래시 메모리의 하나의 뱅크의 전체 블록도이다. 당업자는 플래시 메모리 장치가 임의의 수의 뱅크를 가질 수 있다는 것을 이해할 것이다. 뱅크(30)는 k+1개의 블록으로 구성된다. 각 블록은 서로 직렬로 접속되는 최대 i+1개의 플래시 메모리 셀을 갖는 NAND 메모리 세 스트링(string)으로 이루어진다. 따라서, 워드라인 VL0 내지 WLi가 메모리 셀 스트링 내의 각 플래시 메모리의 게이트에 접속된다. 신호 SSL(스트링 선택 라인)에 접속되는 스트링 선택 장치는 선택적으로 메모리 셀 스트링을 비트라인에 접속시키는 한편, 신호 GSL(접지 선택 라인)에 접속되는 접지 선택 장치는 선택적으로 메모리 셀 스트링을 VSS와 같은 소스 라인에 접속시킨다. 스트링 선택 장치 및 접지 선택 장치는 n-채널 트랜지스터이다. 뱅크(30)의 모든 블록에 공통인 j+1개의 비트라인이 존재하고, 각 비트라인은 블록 [0] 내지 [k]의 각각에서 하나의 NAND 메모리 셀 스트링에 접속된다. 각 워드라인(WL0 내지 WLi), SSL 및 GSL 신호는 블록 내의 각 NAND 메모리 셀 스트링 내의 동일한 대응하는 트랜지스터 장치에 접속된다. 당업자는 하나의 워드라인을 따라 플래시 메모리 셀에 저장되는 데이터가 데이터의 페이지라고 하는 것을 이해할 것이다.1 is an overall block diagram of one bank of a known NAND flash memory. Those skilled in the art will appreciate that the flash memory device may have any number of banks. The bank 30 is composed of (k + 1) blocks. Each block consists of a NAND memory string with up to i + 1 flash memory cells connected in series with each other. Thus, the word lines VL0 to WLi are connected to the gates of each flash memory in the memory cell string. A string selector connected to the signal SSL (string select line) selectively connects the memory cell string to the bit line while the ground selector connected to the signal GSL (ground select line) selectively connects the memory cell string to the VSS To the source line. The string selection device and the ground selection device are n-channel transistors. There are j + 1 bit lines common to all the blocks of the bank 30, and each bit line is connected to one NAND memory cell string in each of the blocks [0] to [k]. Each word line (WL0 to WLi), SSL and GSL signals are connected to the same corresponding transistor device in each NAND memory cell string in the block. Those skilled in the art will appreciate that the data stored in flash memory cells along one word line is the page of data.

뱅크(30)의 외부에서 각 비트라인에는, 플래시 메모리 셀로부터 액세스되는 판독 데이터, 또는 플래시 메모리 셀의 한 페이지로 프로그램될 기록 데이터의 한 페이지를 저장하는 데이터 레지스터(32)가 접속된다. 데이터 레지스터(32)는 또한 플레시 메모리 셀의 한 페이지로부터 판독되는 데이터를 감지하는 감지 회로를 포함한다. 프로그래밍 동작 중에, 데이터 레지스터는 데이터가 선택된 워드라인에 접속된 플래시 메모리 셀로 적절히 프로그램되었다는 것을 보증하기 위해 프로그램 검증 동작을 실행한다. 뱅크(30)의 각 메모리 셀은 단일 비트의 데이터나 복수 비트의 데이터를 저장할 수 있다. 일부 플레시 메모리 장치는 처리량을 증가시키기 위해 하나 이상의 세트의 데이터 레지스터를 갖는다.Outside the bank 30, each bit line is connected with a data register 32 for storing read data accessed from a flash memory cell, or a page of write data to be programmed into a page of a flash memory cell. The data register 32 also includes a sense circuit for sensing data read from a page of the flash memory cell. During a programming operation, the data register performs a program verify operation to ensure that the data has been properly programmed into the flash memory cell connected to the selected word line. Each memory cell of the bank 30 may store a single bit of data or a plurality of bits of data. Some flash memory devices have one or more sets of data registers to increase throughput.

8 메가 픽셀 디지털 카메라 및 음악 및 비디오 가능 출력을 갖는 휴대용 디지털 엔터테인먼트 장치의 출현은 단일 플레시 메모리 장치에 의해 충족될 수 없는 다량의 데이터를 저장하기 위한 초고용량에 대한 요구를 상승시켰다. 따라서, 복수의 플레시 메모리 장치가 사용 가능한 저장 용량을 효율적으로 증가시키도록 메모리 시스템에 함께 조합된다. 예를 들면, 20GB의 플레이 저장 밀도가 그러한 애플리케이션에 필요하게 될 수 있다.The advent of portable digital entertainment devices with 8 megapixel digital cameras and music and video capable outputs has increased the need for ultra high capacity to store large amounts of data that can not be satisfied by a single flash memory device. Thus, a plurality of flash memory devices are combined together in a memory system to efficiently increase available storage capacity. For example, a 20 GB play storage density may be required for such applications.

도 2는 호스트 시스템(12)과 일체화되는 종래 기술의 플래시 메모리 시스템(10)의 블록도이다. 플래시 메모리 시스템(10)은 호스트 시스템(12)과 통신하는 메모리 제어기(14) 및 복수의 비휘발성 메모리 장치(16)를 포함한다. 호스트 시스템은 마이크로컨트롤러, 마이크로프로세서, 또는 컴퓨터 시스템과 같은 처리 장치를 포함한다. 도 2의 플래시 메모리 시스템(10)은 하나의 채널(18)을 포함하도록 구성되며, 여기에서 메모리 장치들(16)이 채널(18)에 병렬로 접속된다. 당업자는 메모리 시스템(10)이 자체에 접속되는 4보다 많거나 적은 메모리 장치를 가질 수 있다는 것을 이해할 것이다.2 is a block diagram of a prior art flash memory system 10 that is integrated with the host system 12. The flash memory system 10 includes a memory controller 14 and a plurality of non-volatile memory devices 16 in communication with the host system 12. The host system includes a processing unit such as a microcontroller, microprocessor, or computer system. The flash memory system 10 of FIG. 2 is configured to include a single channel 18, wherein the memory devices 16 are connected in parallel to the channel 18. Those skilled in the art will appreciate that the memory system 10 may have more or less than four memory devices connected to it.

채널(18)은 모든 자신의 대응하는 메모리 장치에 접속되는 데이터 및 제어 라인을 포함하는 공통 버스의 세트를 포함한다. 각 메모리 장치는 메모리 제어기(14)에 의해 제공되는 각각의 칩 선택 신호 CE#1, CE#2, CE#3 및 CE#4로 인에이블/디스에이블된다(enabled/disabled). "#"은 신호가 활성 저논리 레벨 신호인 것을 나타낸다. 메모리 제어기(14)는 호스트 시스템(12)의 동작에 기초하여 선택된 메모리 장치에 채널(18)을 통해 명령 및 데이터를 발행할 책임이 있다. 메모리 장치로부터 판독된 데이터는 메모리 제어기(14) 및 호스트 시스템(12)에 채널(18)을 통해 되돌려 전송된다. 플래시 메모리 시스템(10)의 동작은 각 메모리 장치(16)에 병렬로 제공되는 클록 CLK에 동기화된다. 플래시 메모리 시스템(10)은 멀티-드롭(multi-drop) 구성이라고 통칭되며, 여기에서 메모리 장치(16)는 채널(18)에 대해 병렬로 접속된다.The channel 18 includes a set of common buses including data and control lines connected to all of their respective memory devices. Each memory device is enabled / disabled with the respective chip select signals CE # 1, CE # 2, CE # 3 and CE # 4 provided by the memory controller 14. "#" Indicates that the signal is an active low logic level signal. The memory controller 14 is responsible for issuing commands and data over the channel 18 to the selected memory device based on the operation of the host system 12. [ The data read from the memory device is transferred back to the memory controller 14 and the host system 12 via the channel 18. The operation of the flash memory system 10 is synchronized to the clock CLK provided in parallel to each memory device 16. [ Flash memory system 10 is generally referred to as a multi-drop configuration, wherein memory device 16 is connected in parallel to channel 18.

플래시 메모리 시스템(10)에서, 비휘발성 메모리 장치(16)는 서로 동일할 수 있고, 일반적으로 NAND 플래시 메모리 장치로서 실현된다. 당업자는 플래시 메모리가 뱅크로 구성되고, 각 뱅크가 블록 소거를 용이하게 하도록 블록으로 구성되는 것을 이해할 것이다. 대부분의 상업적으로 시판 중인 NAND 플래시 메모리 장치는 메모리의 2개의 뱅크를 갖도록 구성된다.In the flash memory system 10, the non-volatile memory devices 16 may be identical to one another and are generally realized as a NAND flash memory device. Those skilled in the art will appreciate that the flash memory is organized in banks, and each bank is organized in blocks to facilitate block erasure. Most commercially available NAND flash memory devices are configured to have two banks of memory.

시스템의 성능에 악영향을 주는 특별한 문제가 있다. 플래시 메모리 시스템(10)의 구성은 물리적인 성능 제한이 부과된다. 시스템 전반에 걸쳐 확장하는 막대한 수의 병렬 신호에 의해, 그들이 반송하는 신호들의 신호 무결성이 크로스토크(crosstalk), 신호 스큐(skew) 및 동시 스위칭 노이즈(SSN)에 의해 저하된다. 그러한 구성에서의 전력 소비는 플래시 제어기와 플래시 메모리 장치 사이의 각 신호 트랙이 시그널링을 위해 빈번하게 충전 및 방전되기 때문에 문제가 된다. 시스템 클록 주파수를 증가시키면, 전력 소비가 증가한다.There is a special problem that adversely affects the performance of the system. The configuration of the flash memory system 10 imposes a physical performance limitation. Due to the enormous number of parallel signals that extend throughout the system, the signal integrity of the signals they carry is degraded by crosstalk, signal skew, and simultaneous switching noise (SSN). The power consumption in such a configuration is problematic because each signal track between the flash controller and the flash memory device is frequently charged and discharged for signaling. Increasing the system clock frequency increases power consumption.

단일 메모리 장치의 구동 능력이 긴 신호 트랙의 로딩에 비해 작기 때문에, 채널에 병렬로 접속될 수 있는 메모리 장치의 수에 실질적인 한계도 있다. 또한, 메모리 장치의 수가 증가함에 따라, 더 많은 칩 인에이블 신호(CE#)가 필요하고, 클록 신호 CLK가 부가의 메모리 장치에 경로 설정될 필요가 있다. 확장 클록 분포로 인한 클록 성능 문제는 당업계에 잘 알려져 있고, 다루어질 필요가 있다. 따라서, 막대한 수의 메모리 장치를 메모리 시스템을 수용하기 위해, 더 많은 채널을 갖는 제어기가 사용되어야 하거나, 및/또는 시스템이 더 낮은 주파수에서 클록될 필요가 있다. 복수의 채널 및 부가의 칩 인에이블 신호를 갖도록 구성되는 제어기는 메모리 시스템의 비용을 상승시킨다. 그렇지 않으면, 메모리 시스템은 작은 수의 메모리 장치로 제한된다.Since the drive capability of a single memory device is small compared to loading of long signal tracks, there is also a practical limit to the number of memory devices that can be connected in parallel to the channel. In addition, as the number of memory devices increases, more chip enable signals CE # are required, and the clock signal CLK needs to be routed to additional memory devices. Clock performance issues due to extended clock distribution are well known in the art and need to be addressed. Thus, to accommodate a large number of memory devices in a memory system, a controller with more channels needs to be used, and / or the system needs to be clocked at a lower frequency. A controller configured to have a plurality of channels and an additional chip enable signal increases the cost of the memory system. Otherwise, the memory system is limited to a small number of memory devices.

따라서, 임의의 수의 메모리 장치를 지원할 수 있는 메모리 시스템 아키텍처를 제공하는 것이 바람직하다.Accordingly, it is desirable to provide a memory system architecture capable of supporting any number of memory devices.

이전의 메모리 시스템의 적어도 하나의 결점을 제거하거나 완화시키는 것이 실시예들의 양태이다.It is an aspect of embodiments to remove or mitigate at least one drawback of the prior memory system.

제1 양태에서, 제어기와 메모리 장치를 갖는 메모리 시스템이 제공된다. 제어기는 직렬 비트스트림 명령 패킷을 제공하는 직렬 채널 출력 포트, 및 직렬 비트스트림 판독 데이터 패킷을 수신하는 직렬 채널 입력 포트를 포함한다. 상기 직렬 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함한다. 상기 메모리 장치는 상기 제어기로부터 상기 직렬 비트스트림 명령 패킷을 수신하고 상기 장치 어드레스가 상기 메모리 장치에 대응하면 상기 동작 코드를 실행하는 입력 포트를 갖는다. 상기 메모리 장치는 상기 직렬 비트스트림 명령 패킷을 출력 포트를 통해 제공하며, 이어서 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 상기 출력 포트를 통해 제공한다.In a first aspect, a memory system having a controller and a memory device is provided. The controller includes a serial channel output port providing a serial bitstream command packet and a serial channel input port receiving a serial bit stream read data packet. The serial bitstream instruction packet includes an operation code and a device address. The memory device having an input port for receiving the serial bitstream instruction packet from the controller and for executing the operation code if the device address corresponds to the memory device. The memory device provides the serial bitstream command packet through an output port and then provides the serial bit stream read data packet through the output port if the operation code corresponds to a read function.

본 양태의 일 실시예에 따르면, 상기 메모리 장치와 제어기 사이에 직렬로 연결되는 적어도 하나의 개재 메모리 장치가 존재한다. 상기 적어도 하나의 개재 메모리 장치는 상기 직렬 비트스트림 명령 패킷을 수신하여 상기 메모리 장치에 전달하는 입력 포트를 가지며, 이어서 상기 장치 어드레스가 상기 메모리 장치에 대응하고 상기 동작 코드가 판독 기능에 대응하면 상기 직렬 비트스트림 판독 데이터 패킷을 제공한다.According to one embodiment of this aspect, there is at least one intervening memory device connected in series between the memory device and the controller. Wherein the at least one intervening memory device has an input port for receiving and delivering the serial bitstream instruction packet to the memory device and then if the device address corresponds to the memory device and the operation code corresponds to a read function, Bit stream read data packet.

다른 실시예에 따르면, 상보 클록 신호가 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치에 병렬로 제공되거나, 상보 클록 신호가 상기 적어도 하나의 개재 메모리 장치에 제공되어, 상기 적어도 하나의 개재 메모리 장치에 의해 상기 메모리 장치에 전달되고, 상기 메모리 장치에 의해 상기 제어기에 전달된다.According to another embodiment, a complementary clock signal is provided in parallel to the memory device and the at least one intervening memory device, or a complementary clock signal is provided to the at least one intervening memory device, And transferred to the memory device by the memory device.

본 양태의 또 다른 실시예에 따르면, 메모리 시스템은 상기 제어기와 상기 메모리 장치 사이에 확장 모듈 및 점퍼(jumper) 중 하나를 수신하는 확장 링크를 포함한다. 상기 적어도 하나의 개재 메모리 장치는 상기 확장 링크와 전기적인 연결을 위해 구성된 연결 수단을 갖는 확장 모듈의 부분이다.According to another embodiment of this aspect, a memory system includes an expansion link between the controller and the memory device and an expansion link for receiving one of the jumper. The at least one intervening memory device is part of an expansion module having connection means configured for electrical connection with the expansion link.

또 다른 실시예에 따르면, 상기 메모리 장치 및 상기 적어도 하나의 개재 메모리 장치는 각각, 네이티브(native) 메모리 코어(core)와 직렬 인터페이스와 상기 직렬 비트스트림 명령 패킷에 응답하여 상기 네이티브 메모리 코어를 제어하는 제어 로직 블록을 포함한다. 상기 메모리 장치 네이티브 메모리 코어 및 상기 적어도 하나의 개재 메모리 장치 네이티브 메모리 코어는 NAND 플래시 기반일 수 있거나, DRAM, SRAM, NAND 플래시 및 NOR 플래시 메모리 코어일 수 있다.According to yet another embodiment, the memory device and the at least one intervening memory device each include a native memory core and a serial interface, and a controller for controlling the native memory core in response to the serial bitstream command packet Control logic block. The memory device native memory core and the at least one intervening memory device native memory core may be NAND flash based, or may be DRAM, SRAM, NAND flash, and NOR flash memory cores.

본 양태의 또 다른 실시예에 따르면, 상기 직렬 비트스트림 명령 패킷은 상기 직렬 비트스트림 명령 패킷의 사이즈가 가변적인 모듈러(modular) 구조를 갖는다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드를 포함할 수 있고, 여기에서, 상기 명령 필드는 상기 동작 코드를 제공하는 제1 서브필드 및 상기 장치 어드레스를 제공하는 제2 서브필드를 포함한다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드와, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드를 포함할 수 있다. 상기 직렬 비트스트림 명령 패킷은 상기 동작 코드 및 상기 장치 어드레스를 제공하는 명령 필드, 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 어드레스 필드, 및 기록 데이터를 제공하는 데이터 필드를 포함할 수 있다.According to another embodiment of the present aspect, the serial bitstream command packet has a modular structure in which the size of the serial bitstream command packet is variable. The serial bitstream instruction packet may include an instruction field providing the operation code and the device address, wherein the instruction field comprises a first subfield providing the operation code and a second subfield providing the device address 2 subfields. The serial bitstream instruction packet may include an instruction field providing the operation code and the device address, and an address field providing one of a row address and a column address. The serial bitstream instruction packet may include an instruction field providing the operation code and the device address, an address field providing one of a row address and a column address, and a data field providing write data.

이전 실시예의 일 양태에 따르면, 상기 제어기는 상기 직렬 비트스트림 명령 패킷과 병렬로 명령 스트로브(strobe)를 제공하고, 상기 명령 스트로브는 상기 직렬 비트스트림 명령 패킷의 길이와 일치하는 활성 레벨을 갖는다.According to one aspect of the previous embodiment, the controller provides an instruction strobe in parallel with the serial bitstream instruction packet, and the instruction strobe has an active level consistent with the length of the serial bitstream instruction packet.

또한, 상기 제어기는 직렬 비트스트림 판독 데이터 패킷과 병렬로 데이터 입력 스트로브를 제공하고, 상기 데이터 입력 스트로브는 상기 직렬 비트스트림 판독 데이터 패킷의 길이와 일치하는 활성 레벨을 갖는다. 상기 메모리 장치는 상기 장치 어드레스가 상기 메모리 장치에 대응할 때 상기 명령 스트로브의 상기 활성 레벨에 응답하여 상기 직렬 비트스트림 명령 패킷을 래치하고, 상기 메모리 장치 출력 포트는 상기 데이터 입력 스트로브의 상기 활성 레벨에 응답하여 인에이블된다. 상기 명령 스트로브 및 상기 데이터 입력 스트로브는 비중첩 신호(non-overlapping signal)이고, 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다. 선택적으로, 상기 명령 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 명령 스트로브로부터 분리되고, 상기 데이터 입력 스트로브는 적어도 하나의 래칭 클록 에지에 의해 인접한 데이터 입력 스트로브로부터 분리된다.The controller also provides a data input strobe in parallel with the serial bit stream read data packet, and the data input strobe has an active level that matches the length of the serial bit stream read data packet. Wherein the memory device latches the serial bitstream instruction packet in response to the active level of the instruction strobe when the device address corresponds to the memory device and the memory device output port is responsive to the active level of the data input strobe Lt; / RTI > The command strobe and the data input strobe are non-overlapping signals and are separated by at least one data latching clock edge. [0222] Optionally, the instruction strobe is separated from adjacent instruction strobe by at least one latching clock edge, and the data input strobe is separated from adjacent data input strobe by at least one latching clock edge.

제2 양태에서, 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템용의 일련의 비트를 포함하는 명령 패킷이 제공된다. 명령 패킷은 특정 메모리 동작을 실행하도록 상기 직렬로 접속되는 메모리 장치 중 하나의 메모리 장치를 선택하는 명령 필드를 포함한다.In a second aspect, an instruction packet is provided that includes a series of bits for a memory system having a memory device connected in series. The instruction packet includes an instruction field for selecting a memory device of one of the serially connected memory devices to execute a specific memory operation.

제2 양태의 일 실시예에서, 상기 명령 필드는 상기 메모리 장치를 선택하는 장치 어드레스를 제공하는 제1 서브필드, 및 상기 특정 메모리 동작에 대응하는 동작 코드를 제공하는 제2 서브필드를 포함한다. 상기 명령 패킷은 상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 어드레스 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 어드레스 필드를 더 포함하고, 상기 어드레스 필드는 상기 로우 어드레스 또는 상기 칼럼 어드레스에 대응하는 비트 길이를 갖는다. 상기 명령 패킷은 상기 동작 코드가 상기 기록 동작에 대응할 때 상기 메모리 장치에 저장하기 위한 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 데이터 필드를 더 포함하고, 상기 데이터 필드는 상기 기록 데이터에 대응하는 비트 길이를 갖는다.In one embodiment of the second aspect, the instruction field includes a first sub-field providing a device address for selecting the memory device, and a second sub-field providing an op- eration code corresponding to the particular memory operation. Wherein the instruction packet further comprises an address field subsequent to the instruction field providing one of a row address and a column address when the operation code corresponds to a read or write operation and wherein the address field is associated with the row address or the column address And has a corresponding bit length. Wherein the command packet further comprises a data field subsequent to the address field for providing write data for storage in the memory device when the operation code corresponds to the write operation, Lt; / RTI >

제3 양태에서, 직렬로 접속되는 메모리 장치를 갖는 메모리 시스템의 선택된 메모리 장치에서의 동시 동작을 실행하는 방법이 제공된다. 상기 방법은, 제1 명령을 수신하는 단계; 상기 제1 명령에 응답하여 상기 선택된 메모리 장치의 제1 메모리 뱅크에서 코어 동작을 실행하는 단계; 상기 제1 메모리 뱅크에서 코어 동작을 실행하는 동안 제2 명령을 수신하는 단계; 및 상기 제2 명령에 응답하여 상기 선택된 메모리 장치의 제2 메모리 뱅크에서 코어 동작을 실행하는 단계를 포함한다.In a third aspect, a method is provided for performing concurrent operation in a selected memory device of a memory system having a serially-connected memory device. The method includes receiving a first command; Executing a core operation in a first memory bank of the selected memory device in response to the first instruction; Receiving a second instruction while executing a core operation in the first memory bank; And executing a core operation in a second memory bank of the selected memory device in response to the second instruction.

제3 양태의 일 실시예에 따르면, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나로부터 결과 정보를 요구하는 제3 명령을 수신하는 단계, 및 상기 제3 명령에 응답하여 상기 결과 정보를 포함하는 판독 데이터 패킷을 출력하는 단계를 더 포함한다. 상기 결과 정보는 상태 레지스터 데이터 및 판독 데이터 중 하나를 포함한다.According to an embodiment of the third aspect, there is provided a method comprising: receiving a third instruction requesting result information from one of the first memory bank and the second memory bank; and receiving the result information in response to the third instruction And outputting the read data packet. The result information includes one of status register data and read data.

본 양태의 또 다른 실시예에서는, 상기 제1 명령, 상기 제2 명령 및 상기 제3 명령은, 동작 코드 및 장치 어드레스를 제공하는 필수 명령 필드, 상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 선택적인 어드레스 필드, 및 상기 동작 코드가 상기 기록 동작에 대응할 때 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 선택적인 데이터 필드를 포함하도록 논리적으로 구성되는 일련의 비트를 포함하는 명령 패킷이다.In another embodiment of this aspect, the first instruction, the second instruction, and the third instruction may comprise a mandatory command field providing an operation code and a device address, a row of instructions that when the operation code corresponds to a read or write operation, An optional address field following the command field providing one of the column addresses, and an optional data field following the address field providing write data when the operation code corresponds to the write operation. Lt; / RTI >

본 실시예의 일 양태에서는, 제1 명령 스트로브가 상기 제1 명령과 병렬로 수신되고, 상기 제1 명령 스트로브는 상기 제1 명령의 길이에 대응하는 활성 지속기간을 가지며, 제2 명령 스트로브가 상기 제2 명령과 병렬로 수신되고, 상기 제2 명령 스트로브는 상기 제2 명령의 길이에 대응하는 활성 지속기간을 갖는다. 상기 제1 명령 스트로브 및 상기 제2 명령 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다. 또한, 데이터 입력 스트로브가 상기 데이터 입력 스트로브가 활성 레벨에 있는 동안 상기 판독 데이터 패킷의 출력을 인에이블시키도록 수신되어, 상기 제2 명령 스트로브 및 상기 데이터 입력 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리된다.In one aspect of the present embodiment, a first command strobe is received in parallel with the first command, the first command strobe has an active duration corresponding to the length of the first command, 2 instruction, and the second instruction strobe has an active duration corresponding to the length of the second instruction. The first instruction strobe and the second instruction strobe are separated by at least one data latching clock edge. A data input strobe is also received to enable the output of the read data packet while the data input strobe is at an active level, the second instruction strobe and the data input strobe being coupled by at least one data latching clock edge Separated.

다른 실시예에서는, 상기 방법은 상기 제1 명령을 수신하기 전에 상기 선택된 메모리 장치를 전력 상승시키는 단계를 더 포함한다. 상기 전력을 상승시키는 단계는, 전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는(asserting) 단계; 상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여(de-asserting), 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다. 상기 제2 전압 레벨은 안정적인 회로 동작을 위한 최소 전압 레벨이거나, 전원의 최대 동작 전압 레벨일 수 있다. 제1 전압 레벨은 전원의 저전력 모드 동작 전압 레벨, 또는 전원의 부재(不在) 상태에 대응할 수 있다.In another embodiment, the method further comprises powering up the selected memory device prior to receiving the first command. Raising the power comprises: asserting a control signal to maintain the selected memory device in a default state prior to power transfer; Transitioning the power level of the selected memory device from a first voltage level to a second voltage level while the control signal is asserted; Waiting for a predetermined duration so that the power level is stabilized; And de-asserting the control signal to release the selected memory device from the default state, thereby preventing an accidental program or erase operation in the selected memory device. The second voltage level may be a minimum voltage level for stable circuit operation or a maximum operating voltage level of the power source. The first voltage level may correspond to the low power mode operating voltage level of the power supply, or the absence (absence) state of the power supply.

또 다른 실시예에서는, 상기 메모리 장치를 상기 디폴트 상태에 유지하는 단계는 상기 메모리 장치 내의 장치 레지스터를 디폴트값으로 설정하는 단계를 포함하고, 여기에서, 상기 장치 레지스터는 명령 레지스터를 포함한다. 상기 방법의 추가의 단계는 상기 디폴트 상태로부터 상기 메모리 장치의 해제 시에 장치 초기화를 실행하는 단계를 더 포함할 수 있다. 상기 장치 초기화를 실행하는 단계는 상기 메모리 장치에 대한 장치 어드레스 및 장치 식별자 정보를 생성하는 단계를 포함할 수 있다.In yet another embodiment, maintaining the memory device in the default state includes setting a device register in the memory device to a default value, wherein the device register includes an instruction register. The further step of the method may further comprise performing device initialization upon release of the memory device from the default state. The step of performing the device initialization may comprise generating a device address and device identifier information for the memory device.

또 다른 실시예에서는, 상기 전력을 상승시키는 단계는, 전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다.In another embodiment, the step of raising the power comprises: asserting a control signal at a first time to keep the memory device in a default state prior to power transfer; Transitioning the power level of the memory device from a first level to a second level at a second subsequent time while the control signal is asserted; Waiting for a predetermined duration so that the power level is stabilized; And deasserting the control signal at a third subsequent time to release the memory device from the default state, thereby preventing an accidental program or erase operation in the memory device.

제4 양태에서는, 복수의 메모리 장치 및 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템이 제공된다. 상기 제어기는 상기 복수의 메모리 장치 중 제1 장치에 비트스트림 명령 패킷을 제공하는 출력 포트를 갖고, 상기 비트스트림 명령 패킷은 동작 코드 및 장치 어드레스를 포함한다. 상기 복수의 메모리 장치의 각각은 상기 제어기 및 앞선 메모리 장치 중 하나로부터 상기 비트스트림 명령 패킷을 수신하여 상기 장치 어드레스가 그에 대응하면 상기 동작 코드를 실행하고, 상기 복수의 메모리 장치의 각각은 상기 비트스트림 명령 패킷을 다음의 메모리 장치 및 상기 제어기 중 하나에 제공하며, 비트스트림 판독 데이터 패킷이 상기 동작 코드가 판독 기능에 대응하면 상기 복수의 메모리 장치 중 최종 메모리 장치로부터 상기 제어기로 제공된다.In a fourth aspect, a memory system is provided that includes a plurality of memory devices and a controller for controlling the devices. The controller has an output port for providing a bitstream command packet to a first one of the plurality of memory devices, wherein the bitstream command packet includes an operation code and a device address. Wherein each of the plurality of memory devices receives the bitstream command packet from one of the controller and an advanced memory device and executes the opcode if the device address corresponds thereto, Providing a command packet to one of the next memory device and the controller, wherein a bitstream read data packet is provided from the last of the plurality of memory devices to the controller if the opcode corresponds to a read function.

본 양태의 일 실시예에 따르면, 상기 복수의 메모리 장치는 직렬로 접속되고, 상기 제1 및 최종 메모리 장치는 상기 제어기에 접속되며, 상기 제어기는 상기 복수의 메모리 장치 중 상기 제1 장치에 비트스트림 데이터 패킷을 전송한다. 상기 제어기로부터의 상기 비트스트림 데이터 패킷 및 상기 비트스트림 판독 데이터 패킷은 직렬 비트스트림 또는 병렬 비트스트림을 포함한다. 상기 복수의 메모리 장치는 동일한 타입 또는 상이한 타입의 메모리 장치의 혼합 중 하나이다.According to one embodiment of this aspect, the plurality of memory devices are connected in series, the first and last memory devices are connected to the controller, and the controller is operable to cause the first device of the plurality of memory devices, And transmits a data packet. The bit stream data packet and the bit stream read data packet from the controller comprise a serial bit stream or a parallel bit stream. The plurality of memory devices is one of a mixture of memory devices of the same type or of different types.

다른 양태에 따르면, 복수의 메모리 장치와 상기 장치를 제어하는 제어기를 포함하는 메모리 시스템이 제공되며, 상기 메모리 시스템은 제1 명령을 수신하기 전에 선택된 메모리 장치를 전력 상승시키는 기능을 실행할 수 있다.According to another aspect, there is provided a memory system including a plurality of memory devices and a controller for controlling the device, the memory system being capable of performing a function of powering up a selected memory device before receiving a first command.

예를 들면, 상기 전력을 상승시키는 기능은, 전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하도록 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여, 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함한다. 또한, 상기 전력을 상승시키는 기능은, 전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하도록 제1 시간에 제어 신호를 어써트하는 단계; 상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계; 상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및 상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함할 수도 있다.For example, the power-up function may include asserting a control signal to maintain the selected memory device in a default state prior to power transfer; Transitioning the power level of the selected memory device from a first voltage level to a second voltage level while the control signal is asserted; Waiting for a predetermined duration so that the power level is stabilized; And deasserting the control signal to release the selected memory device from the default state, thereby preventing an accidental program or erase operation in the selected memory device. In addition, the power raising function may include asserting a control signal at a first time to maintain the memory device in a default state prior to power transfer; Transitioning the power level of the memory device from a first level to a second level at a second subsequent time while the control signal is asserted; Waiting for a predetermined duration so that the power level is stabilized; And deasserting the control signal at a third subsequent time to release the memory device from the default state, thereby preventing an accidental program or erase operation in the memory device.

본 발명에 의하면, 임의의 수의 메모리 장치를 지원할 수 있는 메모리 시스템 아키텍처를 제공할 수 있다.According to the present invention, it is possible to provide a memory system architecture capable of supporting any number of memory devices.

본 발명의 다른 양태 및 특징은 첨부한 도면과 관련하여 발명의 특정 실시예의 이하의 설명을 리뷰할 때 당업자에게는 명백해질 것이다.Other aspects and features of the present invention will become apparent to those skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying drawings.

본 발명의 실시예들은 첨부된 도면을 참조하여 예에 의해서만 이제 설명할 것이다.Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings.

도 1은 종래 기술의 NAND 플래시 메모리 코어의 개략도이다.
도 2는 종래 기술의 NAND 플래시 메모리 시스템의 블록도이다.
도 3a는 직렬 메모리 시스템의 일반적인 블록도이다.
도 3b는 NAND 플래시 메모리 장치로 이루어진 직렬 메모리 시스템의 블록도이다.
도 3c는 상이한 메모리 장치의 혼합으로 이루어진 직렬 메모리 시스템의 블록도이다.
도 4는 병렬 클록 스킴(scheme)과 함께 구성된 도 3a의 직렬 메모리 시스템의 블록도이다.
도 5는 소스 동기 클록 스킴과 함께 구성된 도 3a의 직렬 메모리 시스템의 블록도이다.
도 6은 동적으로 조정 가능한 직렬 메모리 시스템의 블록도이다.
도 7은 도 3a 내지 도 3c 및 도 4 내지 도 6의 직렬 메모리 시스템에 사용하기에 적합한 직렬 입/출력 인터페이스 및 네이티브 코어(native core)를 갖는 메모리 장치의 블록도이다.
도 8은 모듈러(modular) 명령 패킷 구조를 도시하는 도면이다.
도 9는 도 7의 플래시 메모리 장치를 동작시키는 모듈러 명령 패킷의 예를 리스트하는 표를 도시한다.
도 10은 하나의 메모리 장치에서 동시에 동작을 실행하는 방법의 플로우차트이다.
도 11은 메모리 장치의 2개의 상이한 뱅크(bank)에 대한 동시 판독 동작을 나타내는 시퀀스도이다.
도 12는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 동작을 나타내는 시퀀스도이다.
도 13은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 및 프로그램 동작을 나타내는 시퀀스도이다.
도 14는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 블록 소거를 나타내는 시퀀스도이다.
도 15는 일시정지 및 재개 동작으로, 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 및 판독 동작을 나타내는 시퀀스도이다.
도 16은 2개의 직렬로 접속된 메모리 장치의 동작을 나타내는 시퀀스도이다.
도 17a는 본 발명의 실시예들이 적용될 수 있는 플래시 메모리 장치의 블록도이다.
도 17b는 플립플롭의 개략도이다.
도 18은 도 17a의 플래시 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 여러 가지 제어 신호의 시퀀스도이다.
도 19는 비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 여러 가지 제어 신호의 시퀀스도이다.
도 20은 비휘발성 메모리 장치에서의 전력 전이 중에 데이터를 보호하는 방법을 나타내는 플로우차트이다.
도 21은 본 발명의 다른 실시예에 따르는 비휘발성 메모리 장치에서의 전력 전이 중에 데이터를 보호하는 방법을 나타내는 플로우차트이다.
1 is a schematic diagram of a prior art NAND flash memory core.
2 is a block diagram of a prior art NAND flash memory system.
Figure 3a is a general block diagram of a serial memory system.
3B is a block diagram of a serial memory system comprised of a NAND flash memory device.
3C is a block diagram of a serial memory system consisting of a mixture of different memory devices.
Figure 4 is a block diagram of the serial memory system of Figure 3a configured with a parallel clock scheme.
Figure 5 is a block diagram of the serial memory system of Figure 3a configured with a source synchronous clock scheme.
Figure 6 is a block diagram of a dynamically adjustable serial memory system.
Figure 7 is a block diagram of a memory device having a serial input / output interface and a native core suitable for use in the serial memory system of Figures 3A-3C and 4-6.
8 is a diagram showing a modular command packet structure.
Figure 9 shows a table listing examples of modular instruction packets operating the flash memory device of Figure 7;
10 is a flowchart of a method of simultaneously executing an operation in one memory device.
11 is a sequence diagram illustrating simultaneous read operations for two different banks of a memory device.
12 is a sequence diagram illustrating concurrent programming operations for two different banks of memory devices.
Figure 13 is a sequence diagram illustrating simultaneous read and program operation for two different banks of memory devices.
14 is a sequence diagram illustrating simultaneous block erase for two different banks of memory devices.
15 is a sequence diagram showing simultaneous programming and read operations for two different banks of memory devices in a pause and resume operation;
16 is a sequence diagram showing the operation of two serially connected memory devices.
17A is a block diagram of a flash memory device to which embodiments of the present invention may be applied.
17B is a schematic diagram of a flip-flop.
FIG. 18 is a sequence diagram of various control signals during the power-up and power-down operations in the flash memory device of FIG. 17A.
19 is a sequence diagram of various control signals during power-up and power-down operations in the nonvolatile memory device.
20 is a flow chart illustrating a method for protecting data during power transition in a non-volatile memory device.
21 is a flowchart illustrating a method of protecting data during power transition in a non-volatile memory device according to another embodiment of the present invention.

본 발명의 실시예들의 이하의 상세한 설명에서, 본 발명이 실시될 수 있는 구체적인 실시예의 설명에 의해 도시되는 일부분을 형성하는 첨부한 도면에 대한 참조가 이루어진다. 이들 실시예는 당업자가 본 발명을 실시할 수 있도록 충분히 상세히 기재되고, 다른 실시예들이 이용될 수도 있고, 논리적, 전기적 및 다른 변경이 본 발명의 범위를 벗어남 없이 행해질 수 있음을 이해해야 한다. 이하의 상세한 설명은 따라서, 제한할 의도로 취해진 것이 아니라, 본 발명의 범위는 첨부된 청구항들에 의해 정해진다.In the following detailed description of embodiments of the present invention, reference is made to the accompanying drawings which form a part which, by way of illustration of specific embodiments in which the invention may be practiced, may be embodied. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized, and that logical, 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.

직렬로 접속된 메모리 장치를 갖는 메모리 시스템 아키텍처(architecture)를 설명한다. 그 메모리 시스템은 어떠한 성능 저하나 복잡한 재설계 없이 임의의 수의 메모리 장치를 포함하도록 스케일러블(scalable)하다. 각 메모리 장치는 다른 메모리 장치들과 메모리 제어기 사이의 통신을 위한 직렬 입/출력 인터페이스를 갖는다. 메모리 제어기는 적어도 하나의 비트스트림으로 명령을 발행하고, 여기에서 비트스트림은 모듈러 명령 프로토콜에 따른다. 그 명령은 선택적인 어드레스 정보 및 장치 어드레스와 함께 동작 코드를 포함하여, 어드레스된 메모리 장치만이 명령에 따른다. 별개의 데이터 출력 스트로브(strobe) 및 명령 입력 스트로브 신호가 데이터의 타입 및 데이터의 길이를 식별하기 위해 각 출력 데이터 스트림 및 입력 명령 데이터 스트림과 각각 병렬로 제공된다. 모듈러 명령 프로토콜은 성능을 더욱 향상시키기 위해 각 메모리 장치에서 동시 동작을 실행하는 데 사용된다.A memory system architecture with serially connected memory devices is described. The memory system is scalable to include any number of memory devices without any performance degradation or complex redesign. Each memory device has a serial input / output interface for communication between the other memory devices and the memory controller. The memory controller issues instructions in at least one bitstream, where the bitstream is in accordance with a modular instruction protocol. The instruction includes an operation code with optional address information and a device address, so that only the addressed memory device follows the instruction. A separate data output strobe and command input strobe signal are provided in parallel with each output data stream and input command data stream to identify the type of data and the length of the data. The modular command protocol is used to perform concurrent operations on each memory device to further improve performance.

도 3a는 일 실시예에 따르는 직렬 메모리 시스템 구조의 개념적인 특징을 나타내는 블록도이다. 도 3a에서, 직렬 메모리 시스템(100)은 적어도 하나의 직렬 채널 출력 포트(Sout) 및 직렬 채널 입력 포트(Sin)를 갖는 메모리 제어기(102)와, 직렬로 접속되어 있는 메모리 장치(104, 106, 108, 110, 112, 114 및 116)를 포함한다. 일 실시예에서, 메모리 장치는 플래시 메모리 장치일 수 있다. 이와 달리, 메모리 장치는 DRAM, SRAM, 또는 명령을 실행하거나 명령 및 데이터를 후속 메모리 장치에 전달하기 위해 특정 명령 구조와 호환 가능한 직렬 입/출력 인터페이스를 갖는다면 어떤 다른 유형의 메모리 장치일 수도 있다. 그러한 메모리 장치 구성 및 특정 명령 구조의 더욱 상세한 설명은 후술할 것이다.3A is a block diagram illustrating conceptual features of a serial memory system architecture in accordance with one embodiment. The serial memory system 100 includes a memory controller 102 having at least one serial channel output port Sout and a serial channel input port Sin and a plurality of memory devices 104, 108, 110, 112, 114, and 116). In one embodiment, the memory device may be a flash memory device. Alternatively, the memory device may be a DRAM, SRAM, or some other type of memory device, as long as it has a serial input / output interface compatible with a particular instruction structure to execute instructions or transfer instructions and data to subsequent memory devices. A more detailed description of such memory device configuration and specific command structure will be described later.

현 실시예는 7개의 메모리 장치를 포함하지만, 대체 실시예들은 고작 하나의 메모리 장치 및 임의의 수의 메모리 장치까지 포함할 수 있다. 따라서, 메모리 장치(104)가 Sout에 접속되어 있으므로 직렬 메모리 시스템(100)의 제1 장치라고 하면, 메모리 장치(116)는 Sin에 접속되어 있으므로 제N 또는 최종 장치이며, 여기에서 N은 0보다 큰 정수이다. 메모리 장치(106 내지 114)는 제1 및 최종 메모리 장치 사이에 개재하는 직렬로 접속된 메모리 장치들이다. 각 메모리 장치는 시스템의 전력 상승 초기화 시에 별개의 식별 번호나 장치 어드레스(DA)를 취할 수 있어, 그들 메모리 장치가 개별적으로 어드레스 가능해진다. 공통으로 소유하는 미국 특허 출원 11/622,828호, 11/750,649호, 11/692,452호, 11/692,446호, 11/692,326호 및 11/771,023호는 메모리 시스템의 직렬로 접속된 메모리 장치용의 장치 어드레스를 생성하는 방법을 기재한다.Although the current embodiment includes seven memory devices, alternate embodiments may include up to one memory device and any number of memory devices. Thus, since the memory device 104 is connected to Sout, and therefore the first device in the serial memory system 100, the memory device 116 is the Nth or final device since it is connected to Sin, It is a big integer. The memory devices 106-114 are serially connected memory devices interposed between the first and last memory devices. Each memory device can take a separate identification number or a device address (DA) at power-up initialization of the system so that the memory devices are individually addressable. Commonly owned U.S. Patent Applications 11 / 622,828, 11 / 750,649, 11 / 692,452, 11 / 692,446, 11 / 692,326 and 11 / 771,023 disclose device addresses for memory devices connected in series in a memory system Is described.

메모리 장치(104 내지 116)는 하나의 메모리 장치의 데이터 입력이 앞선 메모리 장치의 데이터 출력에 접속되기 때문에 직렬로 접속된 것으로 간주되며, 그것에 의해 체인 내의 제1 및 최종 메모리 장치를 제외하고는 직렬 접속 구성을 형성한다.The memory devices 104 to 116 are considered to be connected in series because the data input of one memory device is connected to the data output of the preceding memory device so that they are connected in series except for the first and last memory devices in the chain Thereby forming a constitution.

메모리 제어기(102)의 채널은 명령, 데이터 및 어드레스 정보를 반송하기 위한 임의의 데이터 폭의 데이터 채널과, 제어 신호 데이터를 반송하기 위한 제어 채널을 포함한다. 채널 구성의 더욱 상세한 설명은 후술할 것이다. 도 3a의 실시예는 하나의 채널을 포함하며, 여기에서 하나의 채널은 Sout 및 대응하는 Sin 포트를 포함한다. 그러나, 메모리 제어기(102)는 별개의 메모리 장치 체인을 수용하기 위한 임의의 수의 채널을 포함할 수 있다.The channel of the memory controller 102 includes a data channel of arbitrary data width for carrying command, data and address information, and a control channel for carrying control signal data. A more detailed description of the channel configuration will be described later. The embodiment of FIG. 3A includes one channel, where one channel includes Sout and a corresponding Sin port. However, the memory controller 102 may include any number of channels for accommodating separate memory device chains.

일반적인 동작에서, 메모리 제어기(102)는 동작 코드(op 코드), 장치 어드레스, 판독 또는 프로그래밍을 위한 어드레스 정보 및 프로그래밍을 위한 데이터를 포함하는 명령을 그 Sout 포트를 통해 발한다. 그 명령은 직렬 비트스트림 패킷으로서 발행되며, 그 패킷은 예컨대, 바이트와 같은 소정 크기의 세그먼트(segment)로 논리적으로 세분될 수 있다. 비트스트림은 시간당 제공되는 비트의 열 또는 시퀀스이다. 명령은 제1 메모리 장치(104)에 의해 수신되어, 그 장치 어드레스가 자신의 할당된 어드레스와 비교된다. 그들 어드레스가 일치하면, 메모리 장치(104)는 명령을 실행한다. 그들 어드레스가 일치하지 않으면, 명령은 자신의 출력 포트를 통해 후속 메모리 장치(106)에 전달되고, 여기에서 동일한 절차가 반복된다. 결국, 선택된 메모리 장치라고 칭해지는, 일치하는 장치 어드레스를 갖는 메모리 장치가 명령에 의해 지시된 동작을 실행할 것이다. 명령이 데이터를 판독하라는 것이면, 선택된 메모리 장치는 자신의 출력 포트를 통해 판독된 데이터를 출력할 것이며, 그 판독된 데이터가 메모리 제어기(102)의 Sin 포트에 도달할 때까지 개재 메모리 장치들을 통해 직렬로 전달된다.In a typical operation, the memory controller 102 issues an instruction that includes an operation code (opcode), a device address, address information for reading or programming, and data for programming via its Sout port. The command is issued as a serial bitstream packet, which may be logically subdivided into segments of a predetermined size, for example, bytes. A bitstream is a sequence or a sequence of bits provided per hour. An instruction is received by the first memory device 104 and the device address is compared to its assigned address. If their addresses match, the memory device 104 executes an instruction. If their addresses do not match, the command is delivered to the subsequent memory device 106 through its output port, where the same procedure is repeated. Eventually, a memory device having a matching device address, referred to as the selected memory device, will perform the operation indicated by the instruction. If the instruction is to read the data, the selected memory device will output the data read through its output port, and the serial data will be written to the memory device 102 via intervening memory devices Lt; / RTI >

명령 및 데이터가 직렬 비트스트림으로 제공되기 때문에, 직렬 비트를 클로킹 인/아웃하고 내부 메모리 동작을 동기화시키기 위해 각 메모리 장치에 의해 클록이 사용된다. 이 클록은 직렬 메모리 시스템(100) 내의 모든 메모리 장치와 메모리 제어기에 의해 사용된다. 도 4 및 도 5의 실시예들에 나타내는 바와 같이, 직렬 메모리 시스템(100)용의 2개의 가능한 클록 구성이 존재한다. Because the instructions and data are provided in a serial bitstream, a clock is used by each memory device to clock in and out the serial bits and to synchronize internal memory operations. This clock is used by all the memory devices in the serial memory system 100 and the memory controller. As shown in the embodiments of FIGS. 4 and 5, there are two possible clock configurations for the serial memory system 100.

도 3b는 도 3a의 메모리 시스템이 NAND 플래시 메모리 장치와 같은 하나의 타입의 메모리 장치를 포함할 수 있는 것을 나타내는 블록도이다. 각 NAND 플래시 메모리 장치는 예컨대, 상이한 저장 밀도를 가짐으로써 서로 상이하거나 서로 동일할 수 있다. 도 3c는 도 3a의 메모리 시스템이 여러 가지 타입의 메모리 장치를 포함할 수 있는 것을 나타내는 블록도이다. 이들 메모리 장치는 예를 들면, NAND 플래시 메모리 장치, NOR 플래시 메모리 장치, 다이나믹 랜덤 액세스 메모리(DRAM) 장치, 스테이틱 랜덤 액세스 메모리(SRAM) 장치 및 자기 저항 랜덤 액세스 메모리(MRAM) 장치를 포함할 수 있다. 물론, 여기에 언급하지 않은 대체 메모리 장치가 메모리 시스템에 채용될 수도 있다. 그러한 혼합된 타입의 메모리 장치를 갖는 구성이 2006년 12월 6일에 출원된 미국 가특허 출원 60/868,773호에 개시되어 있다.FIG. 3B is a block diagram illustrating that the memory system of FIG. 3A may include one type of memory device, such as a NAND flash memory device. Each NAND flash memory device may be different from, or identical to, each other, for example, by having different storage densities. FIG. 3C is a block diagram illustrating that the memory system of FIG. 3A may include various types of memory devices. These memory devices may include, for example, a NAND flash memory device, a NOR flash memory device, a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, and a magnetoresistive random access memory have. Of course, alternative memory devices not mentioned here may be employed in the memory system. A configuration with such a mixed type of memory device is disclosed in U. S. Patent Application 60 / 868,773, filed December 6, 2006.

도 4는 병렬 클록 스킴을 사용하는 직렬 메모리 시스템의 블록도이다. 직렬 메모리 시스템(200)은 메모리 제어기(202) 및 4개의 메모리 장치(204, 206, 208 및 210)를 포함한다. 메모리 제어기(202)는 메모리 장치들에 병렬로 몇몇 신호를 제공한다. 이들 신호는 칩 인에이블 신호(CE#), 리셋 신호(RST#) 및 상보 클록(CK# 및 CK)을 포함한다. CE#의 사용의 일례에서, CE#이 낮은 논리 레벨에 있을 때 장치가 인에이블된다. 메모리 장치가 프로그램 또는 소거 동작을 개시하면, CE#이 디어써트(de-asserted)되거나 높은 논리 레벨로 구동될 수 있다. 또한, 낮은 논리 레벨에서 CE#은 내부 클록 신호를 활성화시킬 수 있고, 높은 논리 레벨에서 CE#은 내부 클록 신호를 비활성화시킬 수 있다. RST#의 사용의 일례에서, 메모리 장치는 RST#이 낮은 논리 레벨에 있을 때 리셋 모드로 설정된다. 리셋 모드에서, 전력이 안정화하도록 허용되고, 장치는 모든 유한한 상태 머신을 초기화시키고 어떠한 구성 및 상태 레지스터를 그들의 디폴트 상태로 리셋시킴으로써 자체의 동작 준비를 한다.Figure 4 is a block diagram of a serial memory system using a parallel clock scheme. The serial memory system 200 includes a memory controller 202 and four memory devices 204, 206, 208 and 210. The memory controller 202 provides several signals in parallel to the memory devices. These signals include a chip enable signal CE #, a reset signal RST # and complementary clocks CK # and CK. In one example of the use of CE #, the device is enabled when CE # is at a low logic level. When the memory device initiates a program or erase operation, CE # may be de-asserted or driven to a high logic level. Also, at low logic levels, CE # can activate the internal clock signal, and at high logic levels, CE # can disable the internal clock signal. In one example of the use of RST #, the memory device is set to the reset mode when RST # is at a low logic level. In reset mode, the power is allowed to stabilize, and the device prepares itself for initial operation by initializing all finite state machines and resetting any configuration and status registers to their default state.

메모리 제어기(202)의 채널은 데이터 출력 포트(Qn) 및 데이터 입력 포트(Dn)로 이루어지는 데이터 채널과, 명령 스트로브 입력(CSI), 명령 스트로브 출력(CSO)(CSI의 에코(echo)), 데이터 스트로브 입력(DSI) 및 데이터 스트로브 출력(DSO)(DSI의 에코)로 이루어지는 제어 채널을 포함한다. 출력 포트(Qn) 및 입력 포트(Dn)는 1 비트의 폭 또는 n 비트의 폭일 수 있고, 여기에서 n은 원하는 구성에 따르는 0이 아닌 정수이다. 예를 들어, n이 1이면, 1 바이트의 데이터는 클록의 8개의 데이터 래칭 에지 다음에 수신된다.The channel of the memory controller 202 includes a data channel composed of a data output port Qn and a data input port Dn and a data strobe input CSI, a command strobe output CSO (echo of CSI) And a control channel made up of a strobe input DSI and a data strobe output DSO (echo of DSI). The output port Qn and the input port Dn may be 1 bit wide or n bits wide, where n is a non-zero integer according to the desired configuration. For example, if n is 1, one byte of data is received after eight data latching edges of the clock.

데이터 래칭 클록 에지는 예컨대, 상승하는 클록 에지일 수 있다. n이 2이면, 1 바이트의 데이터가 클록의 4개의 래칭 에지 다음에 수신된다. n이 4이면, 1 바이트의 데이터가 클록의 2개의 래칭 에지 다음에 수신된다. 메모리 장치는 임의의 폭의 Qn 및 Dn에 대해 통계적으로 구성되거나 동적으로 구성될 수 있다. 그래서, n이 1보다 큰 구성에서는, 메모리 제어기는 데이터를 병렬 비트스트림으로 제공한다. CSI는 입력 포트(Dn)에 나타나는 명령 데이터를 래치하는 데 사용되고, 수신된 명령 데이터의 길이에 대응하는 펄스 지속기간을 갖는다. 더욱 구체적으로는, 명령 데이터는 다수의 클록 사이클에 의해 측정된 지속기간을 가질 것이고, CSI 신호의 펄스 지속기간은 대응하는 지속기간을 가질 것이다. DSI는 출력 포트(Qn) 버퍼가 데이터를 출력할 수 있게 하는 데 사용되며, 요구되는 판독 데이터의 길이에 대응하는 펄스 지속기간을 갖는다. DSI 및 CSI 신호의 더욱 상세한 설명은 이후에 논의할 것이다.The data latching clock edge may be, for example, a rising clock edge. If n is 2, one byte of data is received after four latching edges of the clock. If n is 4, one byte of data is received after two latching edges of the clock. The memory device may be statistically constructed or dynamically configured for Qn and Dn of any width. Thus, in a configuration where n is greater than one, the memory controller provides the data as a parallel bit stream. CSI is used to latch the command data appearing at the input port Dn and has a pulse duration corresponding to the length of the received command data. More specifically, the command data will have a duration measured by a number of clock cycles, and the pulse duration of the CSI signal will have a corresponding duration. The DSI is used to enable the output port (Qn) buffer to output data, and has a pulse duration corresponding to the length of the required read data. A more detailed description of the DSI and CSI signals will be discussed later.

도 4의 현재 도시된 실시예에서, 각 메모리 장치는 메모리 제어기(202)로부터 동일한 명칭의 신호를 수신하는 RST#, CE#, CK# 및 CK 입력 포트를 포함하는 동일한 직렬 입/출력 인터페이스를 갖는다. 직렬 입/출력 인터페이스는 데이터 입력 포트(Dn), 데이터 출력 포트(Qn), CSI, DSI, CSO 및 DSO 포트를 더 포함한다. 도 4에 도시된 바와 같이, 각 메모리 장치의 Dn, CSI 및 DSI 입력 포트는 앞선 메모리 장치의 Qn, CSO 및 DSO 출력 포트에 각각 접속된다. 따라서, 메모리 장치는 각각이 체인 내의 다음의 메모리 장치에 명령 및 판독 데이터를 전달할 수 있으므로, 서로 직렬로 접속되어 있다고 간주된다.4, each memory device has the same serial input / output interface, including RST #, CE #, CK #, and CK input ports, which receive signals of the same name from memory controller 202 . The serial input / output interface further includes a data input port Dn, a data output port Qn, a CSI, a DSI, a CSO, and a DSO port. As shown in FIG. 4, the Dn, CSI, and DSI input ports of each memory device are connected to the Qn, CSO and DSO output ports of the preceding memory device, respectively. Thus, each memory device is considered to be connected in series with each other, since each can transfer instruction and read data to the next memory device in the chain.

도 4의 실시예의 실제 실시할 때, 각 메모리 장치는 인쇄 회로 기판 상에 배치되어, 입력 및 출력 포트 사이의 거리 및 신호 트랙이 최소화된다. 이와 달리, 4개의 메모리 장치가 신호 트랙 길이를 더욱 최소화하는 시스템 인 패키지 모듈(SIP: system in package module)로 실시될 수 있다. 메모리 제어기(202) 및 메모리 장치(204 내지 210)는, 최종 메모리 장치(210)가 자신의 출력을 메모리 제어기(202)로 되돌려 제공하는 것을 의미하는, 링 토포로지(ring topology)를 형성하도록 직렬로 접속된다. 그와 같이, 당업자는 메모리 장치(210)와 메모리 제어기(202) 사이의 거리가 쉽게 최소화되는 것을 이해할 것이다.In actual implementation of the embodiment of FIG. 4, each memory device is disposed on a printed circuit board so that the distance between the input and output ports and the signal track is minimized. Alternatively, four memory devices may be implemented with a system in package module (SIP), which is a system that further minimizes the signal track length. The memory controller 202 and the memory devices 204-210 are connected in series to form a ring topology which means that the last memory device 210 provides its output back to the memory controller 202. [ Respectively. As such, those skilled in the art will appreciate that the distance between the memory device 210 and the memory controller 202 is easily minimized.

도 4의 직렬 메모리 시스템(200)에서의 메모리 장치의 성능은 도 1의 종래기술의 시스템에서의 메모리 장치의 성능보다 현저하게 개선되어 있다. 예를 들어, 66 MHz 클록이 사용되고 직렬 메모리 시스템(200)이 4개의 메모리 장치를 포함한다고 가정하면, 도 4의 직렬로 접속된 메모리 장치 중 하나의 핀당 데이터 레이트는 약 133 Mbps일 것이다. 반대로, 4개의 메모리 장치를 갖는 도 1의 멀티-드롭(multi-drop) 메모리 장치의 핀당 데이터 레이트는, 각 메모리 장치에 대한 판독 사이클 시간(tRC) 및 기록 사이클 시간(tWC)이 약 25ns로 정해진다고 가정하면, 약 40 Mbps일 것이다. 또한, 직렬 메모리 시스템(200)의 전력 소비는 도 1의 종래기술의 시스템에 비해 감소될 것이다. 직렬 메모리 시스템(200)의 성능 및 전력 소비 이점은 주로 각 메모리 장치에 의해 구동되어야 하는 신호 트랙(18)의 부재로 인한 것이다.The performance of the memory device in the serial memory system 200 of FIG. 4 is significantly improved over that of the memory device of the prior art system of FIG. For example, assuming that a 66 MHz clock is used and the serial memory system 200 includes four memory devices, the data rate per pin of one of the serially connected memory devices of FIG. 4 will be about 133 Mbps. Conversely, the data rate per pin of the multi-drop memory device of FIG. 1 with four memory devices is such that the read cycle time (tRC) and write cycle time (tWC) for each memory device is set to about 25 ns , It will be about 40 Mbps. Also, the power consumption of the serial memory system 200 will be reduced compared to the prior art system of FIG. The performance and power consumption advantages of the serial memory system 200 are primarily due to the absence of signal tracks 18 that must be driven by each memory device.

도 4의 직렬 메모리 시스템(200)의 중요한 이점은 시스템의 스케일러빌러티(scalability)이다. 바꿔 말하면, 4 이상의 메모리 장치가 어떠한 성능의 저하도 없이 메모리 제어기(202)에 접속된 메모리 체인에 포함될 수 있다 반대로, 도 1의 종래기술의 시스템은 채널(18)의 신호 트랙의 길이가 부가의 장치들을 수용하도록 반드시 증가되기 때문에, 더 많은 메모리 장치가 부가됨에 따라 리턴을 줄이는 실제적인 제한에 도달할 것이다. 신호 트랙에의 부가의 핀 로딩은 부가의 장치들에 의해 기여된다. 앞서 언급된 바와 같이, 클록 주파수는 성능을 저하시키는 긴 채널(18)을 구동할 때 데이터 송신 무결성을 보증하기 위해 감소되어야 한다. 도 4의 실시예에서, 클록의 분배는 막대한 수의 메모리 장치를 수용하도록 설계되고, 모든 메모리 장치에 대해 클록 무결성을 유지하기 위해 리피터(repeater) 및 밸런스트 트리(balanced tree)를 포함할 수 있다. 당업자는 균형이 잡힌 클록 신호를 제공하기 위한 다수의 방법이 있다는 것을 이해할 것이다.An important advantage of the serial memory system 200 of FIG. 4 is the scalability of the system. In other words, four or more memory devices may be included in the memory chain connected to the memory controller 202 without any performance degradation. On the contrary, the prior art system of FIG. 1 assumes that the length of the signal track of the channel 18 is an additional As the number of devices is necessarily increased to accommodate them, more memory devices will be added to reach the practical limit of reducing the return. Additional pin loading to the signal track is contributed by the additional devices. As noted above, the clock frequency must be reduced to ensure data transmission integrity when driving long channels 18 that degrade performance. In the embodiment of Figure 4, the distribution of clocks is designed to accommodate a large number of memory devices and may include repeaters and balanced trees to maintain clock integrity for all memory devices . Those skilled in the art will understand that there are a number of ways to provide a balanced clock signal.

도 4의 직렬 메모리 시스템 실시예가 종래기술의 메모리 시스템보다 상당한 성능 이점을 제공하지만, 추가의 성능 개선이 도 5의 교호 직렬 메모리 시스템 실시예를 사용하여 얻어진다. 도 5의 직렬 메모리 시스템(300)은 병렬 클록 분배 스킴 대신에 소스 동기 클록 스킴이 사용되는 점을 제외하고는 도 4의 실시예와 유사하다. 직렬 메모리 시스템(300)은 메모리 제어기(302) 및 4개의 메모리 장치(304, 306, 308 및 310)를 포함한다. 메모리 제어기(302)는 상보 클록 신호를 제공하는 클록 출력 포트(CKO# 및 CKO), 및 시스템의 최종 메모리 장치로부터 상보 클록 신호를 수신하는 클록 입력 포트(CK# 및 CK)를 포함한다. 메모리 장치는 그들이 지금 클록 입력 포트(CK# 및 CK) 및 클록 출력 포트(CKO# 및 CKO)를 갖고, 여기에서 하나의 메모리 장치에 의해 자신의 CK# 및 CK 포트에서 수신된 클록이 다음 장치에 자신의 CKO# 및 CKO 포트를 통해 제공되는 점을 제외하고는 도 4에 도시된 것과 동일하다. 최종 메모리 장치(310)는 메모리 제어기(302)에 클록 신호를 되돌려 제공한다.Although the serial memory system embodiment of FIG. 4 provides significant performance advantages over prior art memory systems, additional performance improvements are obtained using the alternate series memory system embodiment of FIG. The serial memory system 300 of FIG. 5 is similar to the embodiment of FIG. 4, except that a source synchronous clock scheme is used instead of a parallel clock distribution scheme. The serial memory system 300 includes a memory controller 302 and four memory devices 304, 306, 308 and 310. Memory controller 302 includes clock output ports CKO # and CKO that provide complementary clock signals and clock input ports CK # and CK that receive complementary clock signals from the final memory device of the system. The memory devices have a clock input port (CK # and CK) and clock output ports (CKO # and CKO) where they are now clocked by their own CK # and CK ports by one memory device to the next device Is the same as that shown in Fig. 4 except that it is provided through its own CKO # and CKO port. The final memory device 310 provides a clock signal back to the memory controller 302.

도 5의 실시예의 주요 이점은 메모리 장치들 간의 최소 클록 상호접속 및 어떤 복잡한 클록 분배 스킴의 부재이다. 따라서, 최소 클록 주파수는 166MHz로 증가될 수 있어, 핀당 최소 333 Mbps 데이터 레이트를 초래한다. 도 4의 실시예에서와 같이, 도 5의 실시예는 임의의 수의 메모리 장치를 포함하도록 정해질 수 있다. 예를 들어, 제5 메모리 장치가, 메모리 장치(310)의 출력 포트를 제5 메모리 장치의 대응하는 입력 포트에 접속시키고, 제5 메모리 장치의 출력 포트를 메모리 제어기(302)에 접속시킴으로써 간단히 도 5의 실시예에 부가될 수 있다. 당업자는 메모리 제어기(302)가 클록 주파수를 유지하기 위해 간단한 위상 록트 루프(PLL: phase locked loop)를 포함할 수 있다는 것을 이해할 것이다.The main advantage of the embodiment of FIG. 5 is the absence of a minimal clock interconnect between memory devices and some complex clock distribution scheme. Thus, the minimum clock frequency can be increased to 166 MHz, resulting in a data rate of at least 333 Mbps per pin. As in the embodiment of FIG. 4, the embodiment of FIG. 5 may be defined to include any number of memory devices. For example, a fifth memory device may be connected to the memory controller 302 by simply connecting the output port of the memory device 310 to a corresponding input port of the fifth memory device, and connecting the output port of the fifth memory device to the memory controller 302 5 < / RTI > embodiment. Those skilled in the art will appreciate that the memory controller 302 may include a simple phase locked loop (PLL) to maintain the clock frequency.

직렬 메모리 시스템(200 및 300)의 구성은 특정 수의 메모리 장치에 대해 정적으로 고정될 수 있다. 상이한 구성들이 직렬 체인 내의 메모리 장치의 수를 간단히 조정함으로써 상이한 메모리 시스템 용량을 제공하도록 설정될 수 있다. 대체 실시예에서, 상이한 용량을 갖는 메모리 장치는 직렬 체인 내에 함께 혼합될 수 있어, 전체 메모리 시스템 용량에 더더욱 유연성을 제공한다. 메모리 시스템 용량이 직렬 체인으로부터 모듈을 부가하거나 제거함으로써 동적으로 조정될 수 있는 애플리케이션이 있을 수 있고, 여기에서 모듈은 단일 메모리 장치, SIP 메모리, 또는 메모리 장치 및/또는 SIP 메모리 다바이스를 갖는 PCB일 수 있다.The configuration of the serial memory systems 200 and 300 may be statically fixed for a certain number of memory devices. Different configurations can be set to provide different memory system capacity by simply adjusting the number of memory devices in the serial chain. In alternative embodiments, memory devices having different capacities can be mixed together in a serial chain, providing greater flexibility for the overall memory system capacity. There may be applications where the memory system capacity can be dynamically adjusted by adding or removing modules from the serial chain, where the module may be a single memory device, a SIP memory, or a memory device and / or a PCB with a SIP memory device .

도 6은 동적으로 조정 가능한 직렬 메모리 시스템 실시예를 나타내는 블록도이다. 조정 가능한 직렬 메모리 시스템(400)은 메모리 제어기(402), 고정 메모리 장치(404, 406, 408 및 410), 확장 링크(412, 414, 416, 418 및 420), 및 확장 모듈(422, 424 및 426)을 포함한다. 고정 메모리 장치(404, 406, 408 및 410)는 서로에, 개재하는 확장 링크에, 그리고 메모리 제어기(402)에 직렬로 접속된다. 각 확장 링크는 대응하는 암수 연결 수단을 갖는 모듈을 분리 가능하게 수용 및 유지하는 암수 연결 수단이다. 각 모듈은 확장 링크의 단말과 직렬로 접속되는 적어도 하나의 메모리 장치를 포함한다. 현재 도시된 예에서는, 확장 모듈(422 및 426)이 각각, 모듈 연결 수단의 입력 커넥터와 출력 커넥터 사이에 직렬로 접속되는 4개의 메모리 장치를 포함한다. 모듈(424)은 자신의 모듈 연결 수단의 입력 커넥터와 출력 커넥터 사이에 직렬로 접속되는 2개의 메모리 장치를 포함한다. 따라서, 모듈을 확장 링크에 삽입함으로써, 부가의 직렬로 접속된 메모리 장치가 고정 메모리 장치들 사이에 동적으로 삽입될 수 있다. 확장 링크(414 및 420)와 같은 미사용 확장 링크는 체인의 연속적인 직렬 전기 접속을 유지하기 위해 자체에 접속되는 적절히 구성된 점퍼(428 및 430)를 갖는다.6 is a block diagram illustrating a dynamically adjustable serial memory system embodiment. The adjustable serial memory system 400 includes a memory controller 402, fixed memory devices 404, 406, 408 and 410, expansion links 412, 414, 416, 418 and 420, and expansion modules 422, 426). The fixed memory devices 404, 406, 408, and 410 are connected to each other, to an intervening expansion link, and to the memory controller 402 in series. Each extension link is male and female connecting means for releasably receiving and holding a module having a male and female connecting means. Each module includes at least one memory device connected in series with a terminal of the expansion link. In the presently illustrated example, the expansion modules 422 and 426 each include four memory devices, which are connected in series between the input connector and the output connector of the module connection means. The module 424 includes two memory devices connected in series between the input connector and the output connector of its module connection means. Thus, by inserting the module into the expansion link, additional serially connected memory devices can be dynamically inserted between fixed memory devices. Unused expansion links, such as expansion links 414 and 420, have appropriately configured jumpers 428 and 430 connected to themselves to maintain a continuous series electrical connection of the chain.

조정 가능한 직렬 메모리 시스템(400)은 임의의 수의 고정 메모리 장치 및 확장 링크를 포함할 수 있고, 메모리 모듈은 임의의 수의 직렬로 접속된 메모리 장치를 포함하도록 구성될 수 있다. 따라서, 조정 가능한 직렬 메모리 시스템(400)은 간단히 새로운 모듈을 부가하거나 기존의 모듈을 더 큰 용량의 모듈로 대체함으로써 전체 성능에 영향을 주지 않고, 전체적으로 확장 가능한 메모리 용량을 갖는다. 동일한 채널이 부가의 직렬로 접속되는 메모리 장치와 함께 상주되기 때문에, 메모리 제어기를 변경하는 데 있어 요건이 없고, 당업자는 CE#, RST#과 같은 제어 신호 및 전원을 삽입된 모듈에 어떻게 병렬로 접속하는지를 이해할 것이다. 모듈의 삽입 또는 모듈이 제거 후에, 메모리 시스템(400)은 메모리 제어기가 시스템 내의 메모리 장치에 대한 장치 ID's를 자동으로 설정할 수 있도록 재-초기화된다.The tunable serial memory system 400 may include any number of fixed memory devices and expansion links, and the memory module may be configured to include any number of serially connected memory devices. Thus, the adjustable serial memory system 400 has an overall expandable memory capacity without adding to the overall performance by simply adding a new module or replacing an existing module with a larger capacity module. There is no requirement to change the memory controller since the same channel resides with the memory device to which it is connected in series, and a person of ordinary skill in the art will understand how to connect a control signal such as CE #, RST # I will understand. After the insertion of the module or removal of the module, the memory system 400 is re-initialized so that the memory controller can automatically set the device ID's for the memory devices in the system.

도 3a 내지 3c 및 도 4 내지 6에 도시된 직렬 메모리 시스템은 호환 가능한 직렬 입/출력 인터페이스를 갖는 플래시 메모리 장치와 같은 메모리 장치를 채용한다. 직렬 입/출력 인터페이스를 갖는 플래시 메모리 장치의 일례는 2005년 12월 30일자로 출원된 공동 소유의 미국 특허출원 11/324,023호에 기재되어 있다. 따라서, 도 3a 내지 3c 및 도 4 내지 6의 실시예에 도시된 메모리 장치는 이들 특허 출원에 개시된 플래시 메모리 장치를 채용할 수 있다. 그러나, 이들 특허 출원에 기재되어 있는 직렬 입/출력 인터페이스는 사용될 수 있는 직렬 인터페이스의 예들이다. 소정의 명령 구조를 받아들이기 위해 구성되는 것이라면, 메모리 장치들 간의 직렬 동작을 용이하게 하는 어떠한 직렬 입/출력 인터페이스도 사용될 수 있다.The serial memory system shown in Figs. 3A to 3C and Figs. 4 to 6 employs a memory device such as a flash memory device having a compatible serial input / output interface. One example of a flash memory device having a serial input / output interface is described in co-owned US patent application 11 / 324,023, filed December 30, 2005. Therefore, the memory devices shown in the embodiments of FIGS. 3A to 3C and 4 to 6 can employ the flash memory device disclosed in these patent applications. However, the serial input / output interfaces described in these patent applications are examples of serial interfaces that can be used. Any serial input / output interface that facilitates serial operation between memory devices may be used provided it is configured to accept a given command structure.

다른 실시예에 따르면, 직렬 입/출력 인터페이스가 어떤 타입의 메모리 장치와 함께 사용될 수 있다. 더욱 구체적으로는, 다른 메모리 타입이 직렬 입/출력 인터페이스와 동작하도록 적응될 수 있다. 도 7은 도 3a 내지 3c 및 도 4 내지 6의 직렬 메모리 시스템에 사용하는 데 적합한 직렬 입/출력 인터페이스와 네이티브 코어를 갖는 범용 메모리 장치의 개념적인 구성을 나타내는 블록도이다. 메모리 장치(500)는 메모리 어레이 뱅크(502 및 504)를 포함하는 네이티브 메모리 코어, 및 메모리 어레이 뱅크(502 및 504)에 액세스하는 네이티브 제어 및 I/O 회로(506)를 포함한다. 당업자는 메모리 어레이가 단일 메모리 뱅크나 2 이상의 메모리 뱅크로 구성될 수 있다는 것을 이해할 것이다. 네이티브 메모리 코어는 예컨대, DRAM, SRAM, NAND 플래시, 또는 NOR 플래시 메모리 기반일 수 있다. 물론, 어떤 최근에 만들어진 메모리 및 그에 대응하는 제어 회로가 사용될 수도 있다. 따라서, 네이티브 메모리 코어의 타입에 따라서, 회로 블록(506)은 에러 정정 로직, 고전압 발생기, 리프레시(refresh) 로직 및 메모리 타입에 고유한 동작을 실행하는 데 필요한 어떠한 다른 회로 블록을 포함할 수 있다.According to another embodiment, a serial input / output interface may be used with any type of memory device. More specifically, other memory types may be adapted to operate with the serial input / output interface. 7 is a block diagram illustrating a conceptual configuration of a general purpose memory device having a serial input / output interface and a native core suitable for use in the serial memory system of Figs. 3A-3C and Figs. 4-6. Memory device 500 includes a native memory core that includes memory array banks 502 and 504 and native control and I / O circuitry 506 that access memory array banks 502 and 504. Those skilled in the art will appreciate that a memory array may consist of a single memory bank or two or more memory banks. The native memory core may be, for example, based on DRAM, SRAM, NAND flash, or NOR flash memory. Of course, any recently made memory and corresponding control circuitry may be used. Thus, depending on the type of native memory core, circuit block 506 may include error correction logic, a high voltage generator, refresh logic, and any other circuit blocks needed to perform operations specific to the memory type.

일반적으로, 메모리 장치는 내부 제어 신호를 어써팅(asserting)함으로써 수신된 명령에 응답하여 관련 회로를 초기화시키는 명령 디코더를 사용한다. 그들 메모리 장치는 또한, 데이터, 명령 및 어드레스를 수신 및 래치하는 잘 알려진 I/O 회로를 포함할 것이다. 본 실시예에 따르면, 기존의 I/O 회로가 직렬 인터페이스 및 제어 로직 블록(508)으로 대체되어 있다. 본 예에서, 직렬 인터페이스 및 제어 로직 블록(508)은 RST#, CE#, CK#, CK, CSI, DSI 및 Dn 입력을 수신하고, Qn, CSO, DSO, CKO 및 CKO# 출력을 제공하며, 이들은 도 5에 도시된 메모리 장치의 입력 및 출력 포트와 일치한다.Generally, a memory device uses an instruction decoder that asserts the internal control signal to initialize the associated circuitry in response to the received command. These memory devices will also include well-known I / O circuits that receive and latch data, instructions and addresses. In accordance with the present embodiment, the existing I / O circuitry is replaced by a serial interface and control logic block 508. In this example, the serial interface and control logic block 508 receives the RST #, CE #, CK #, CK, CSI, DSI and Dn inputs and provides the Qn, CSO, DSO, CKO and CKO # These correspond to the input and output ports of the memory device shown in Fig.

직렬 인터페이스 및 제어 로직 블록(508)은 미국 특허 출원 11/324,023호에 개시된 바와 같이, 여러 가지 기능을 책임진다. 직렬 인터페이스 및 제어 로직 블록(508)의 중요한 기능은 장치 식별 번호를 설정하고, 다음의 직렬로 접속된 메모리 장치로 데이터를 전달하며, 네이티브 동작을 실행하기 위해 수신된 명령을 디코딩하는 것이다. 이 회로는 네이티브 명령에 대응하는 직렬로 수신된 명령에 응답하여, 네이티브 명령 디코더가 어써트한 것과 동일한 제어 신호를 어써트하도록 구성되는 네이티브 명령 디코더를 대체하는 명령 디코더를 포함할 수 있다. 명령 세트는 메모리 장치들이 직렬로 접속될 때 메모리 제어기에 의해 사용 가능한 특징들을 실행하도록 확장될 수 있다. 예를 들어, 상태 레지스터 정보가 메모리 장치의 상태를 평가하도록 요구될 수 있다.The serial interface and control logic block 508 is responsible for a number of functions, as described in U.S. Patent Application 11 / 324,023. An important function of the serial interface and control logic block 508 is to set the device identification number, pass data to the next serially connected memory device, and decode the received command to perform the native operation. The circuit may include a command decoder that replaces a native command decoder configured to assert the same control signal as the native command decoder asserts in response to a serially received command corresponding to the native command. The instruction set may be extended to execute features available to the memory controller when the memory devices are connected in series. For example, status register information may be required to evaluate the state of the memory device.

따라서, 도 3a 내지 3c 및 도 4 내지 6의 직렬 메모리 시스템은 더 큰 시스템에 대해 상이한 이점을 각각 제공하는 메모리 장치 타입들의 혼합을 포함할 수 있다. 예를 들면, 고속의 DRAM 메모리가 캐싱 동작용으로 사용될 수 있는 한편, 비휘발성의 플래시 메모리가 대용량 데이터 저장용으로 사용될 수 있다. 사용되는 메모리 장치의 타입에 무관하게, 각 메모리 장치는 직렬 인터페이스 및 제어 로직 블록(506)이 소정의 프로토콜에 따라 명령을 수신하도록 구성되기 때문에, 명령에 따르도록 개별적으로 어드레스 가능하다.Thus, the serial memory system of FIGS. 3A-3C and FIGS. 4-6 may include a mix of memory device types that each provide different advantages for larger systems. For example, a high-speed DRAM memory may be used for caching operations, while a non-volatile flash memory may be used for storing large amounts of data. Regardless of the type of memory device used, each memory device is individually addressable to follow the instruction because the serial interface and control logic block 506 is configured to receive commands in accordance with a predetermined protocol.

다른 실시예에 따르면, 이들 명령은 직렬 메모리 시스템의 개별 메모리 장치를 제어하기 위해 사용되는 모듈러 명령 구조를 갖는 명령 패킷으로 이루어진다. 제안된 명령 구조에서, 특정 명령이 개별 명령 패킷으로서 다른 시간에 메모리 장치에 발행될 수 있다. 명령 패킷이 제1 메모리 뱅크에 대한 특정 동작을 개시할 수 있고, 코어 동작이 제1 명령 패킷에 응답하여 실행되는 동안 후속 명령 패킷이 제1 메모리 뱅크에 대한 다른 동작을 개시하기 위해 수신될 수 있다. 추가의 명령 패킷이 유사한 삽입 방식으로 제1 메모리 뱅크와 제2 메모리 뱅크에 대한 동작을 완료하기 위해 수신될 수 있다. 이것을 메모리 장치에서 동시에 동작을 실행한다고 한다. 동시 동작을 논의하기 전에, 모듈러 명령 프로토콜의 설명을 행한다. 모듈러 명령 프로토콜의 더욱 상세한 설명은 공동 소유의 "Modular Command Structure in Memory System and its Use"라는 명칭의 2007년 3월 2일자로 출원된 미국 가특허 출원 60/892,705호에 기재되어 있다.According to another embodiment, these instructions consist of instruction packets with a modular instruction structure used to control the individual memory devices of the serial memory system. In the proposed command structure, a particular command may be issued to the memory device at another time as a separate command packet. A command packet may initiate a specific operation for the first memory bank and a subsequent command packet may be received to initiate another operation for the first memory bank while the core operation is executed in response to the first command packet . Additional instruction packets may be received to complete operations on the first memory bank and the second memory bank in a similar insertion manner. It is assumed that the operation is performed simultaneously in the memory device. Before discussing concurrent operation, a description of the modular command protocol is given. A more detailed description of the modular command protocol is described in U. S. Patent Application 60 / 892,705, filed March 2, 2007, entitled " Modular Command Structure in Memory System and its Use "

명령 패킷(600)은 도 8에 도시된 구조를 갖고, 3개의 필드를 포함하며, 그 중 2개가 메모리 제어기에 의해 발행되는 특정 명령에 따라 선택된다. 필수적인 필드인 제1 필드는 명령 필드(602)이다. 제1 선택 필드는 어드레스 필드(604)이고, 제2 선택 필드는 데이터 필드(606)이다.The instruction packet 600 has the structure shown in Fig. 8 and includes three fields, two of which are selected according to a specific instruction issued by the memory controller. The first field, which is an essential field, is the command field 602. The first selection field is the address field 604 and the second selection field is the data field 606.

명령 필드(602)는 2개의 서브필드, 즉 제1 필드인 장치 어드레스(DA) 필드(608) 및 제2 필드인 op-코드(OP 코드) 필드(610)를 포함한다. 장치 어드레스 필드(608)는 임의의 수의 비트의 길이일 수 있고, 시스템 내의 각 메모리 장치에 어드레스하는 데 사용된다. 예를 들면, 1 바이트 길이의 장치 어드레스 필드(608)가 256개의 메모리 장치까지 어드레스하기에 충분하다. 하나의 어드레스는 동작을 동시에 브로드케스팅(broadcasting)하기 위한 모든 메모리 장치에 어드레스하기 위해 확보될 수 있다. 대체 실시예에서, 장치 어드레스 필드(608)는 op-코드 필드(610)가 지시되는 메모리 장치의 타입을 나타내기 위한 장치 타입 필드를 포함할 수 있다. 예를 들면, 장치 타입 필드는 DRAM, SRAM 또는 플래시 메모리를 나타낼 수 있다. op-코드 필드(610)는 임의의 수의 메모리 장치에 대한 명령을 나타내기 위한 임의의 수의 비트 길이일 수 있고, 뱅크 어드레스를 포함할 수 있다. 예를 들면, 플래시 메모리 명령 세트는 DRAM 명령 세트와 다른 명령을 가질 것이며, 따라서 op-코드 필드가 메모리 시스템이 양 타입의 메모리 장치를 포함하면 양 명령 세트로부터 모든 가능한 명령을 수용하도록 구성될 것이다. 어드레스 필드(604)는 op-코드에 의해 특정된 동작의 타입에 따라서, 메모리 어레이의 로우 어드레스(Row Addr)나 칼럼 어드레스(Col Addr)를 제공하는 데 사용된다. 데이터 필드(606)는 메모리 장치에 기록되거나 프로그램될 임의의 수의 비트의 데이터를 포함할 것이다. 따라서, 명령 패킷(600)은 기록 데이터가 특정 동작에 필요 없을 수 있고 어드레스 및 기록 데이터의 양자가 특정 동작에 필요 없을 수 있기 때문에, 크기가 변할 것이다. The command field 602 includes two subfields: a device address (DA) field 608, which is the first field, and an op-code (OP code) field 610, which is the second field. The device address field 608 may be any number of bits long and is used to address each memory device in the system. For example, a one byte long device address field 608 is sufficient to address up to 256 memory devices. One address may be reserved for addressing all memory devices for simultaneously broadcasting operations. In an alternative embodiment, the device address field 608 may include a device type field for indicating the type of memory device to which the op-code field 610 is directed. For example, the device type field may represent DRAM, SRAM, or flash memory. The op-code field 610 may be any number of bits long to represent an instruction for any number of memory devices and may include a bank address. For example, a flash memory instruction set will have a different instruction from the DRAM instruction set, so the op-code field will be configured to accept all possible instructions from both instruction sets if the memory system includes both types of memory devices. The address field 604 is used to provide a row address (Row Addr) or column address (Col Addr) of the memory array, depending on the type of operation specified by the op-code. The data field 606 may contain any number of bits of data to be written to or programmed into the memory device. Thus, the command packet 600 will vary in size, as write data may not be needed for a particular operation and both address and write data may not be needed for a particular operation.

도 9는 앞서 기재한 직렬 메모리 시스템에 사용하는 도 7에 도시된 구성을 갖는 플래시 메모리 장치를 동작하는 데 사용될 수 있는 명령 패킷의 예를 리스트한다. 도 9에서의 바이트 위치는 메모리 장치에 의해 직렬로 수신되는 순서에 대응한다. 명령 필드(602)는 제1 바이트의 정보로서 장치 어드레스(DA) 및 제2 바이트의 정보로서의 동작에 대응하는 op-코드를 포함하는 제1 및 제2 바이트 위치를 점유한다. 어드레스 필드(604)는 제3 내지 제5 바이트 위치를 점유하는 3 바이트 로우 어드레스(RA)를 포함할 수 있지만, 제3 및 제4 바이트 위치만을 점유하는 2 바이트 칼럼 어드레스(CA)를 포함하도록 다른 명령에 대해 단축될 것이다. 2 바이트 칼럼 어드레스를 포함하는 명령에 있어서, 데이터 필드(606)는 데이터가 그 길이를 가진다면, 제5 비트 위치 내지 제2116 비트 위치를 점유할 것이다. 데이터는 더 적거나 더 많은 바이트 위치를 점유할 수 있다.Fig. 9 lists examples of instruction packets that can be used to operate a flash memory device having the configuration shown in Fig. 7 for use in the serial memory system described above. The byte positions in FIG. 9 correspond to the order in which they are received serially by the memory device. The command field 602 occupies the first and second byte positions including the device address DA as the information of the first byte and the op-code corresponding to the operation as the information of the second byte. The address field 604 may include a 3-byte row address (RA) occupying the third through fifth byte positions, but may include a 2-byte column address (CA) occupying only the third and fourth byte positions Command will be shortened. For instructions involving a two byte column address, the data field 606 will occupy the fifth bit position to the twenty-first bit position, if the data has that length. The data can occupy fewer or more byte positions.

메모리 제어기에 의해 발행된 어떤 명령 패킷(600)이 시스템 내의 각 메모리 장치에 의해 직렬로 수신될 것이고, 명령 필드(602)의 DA 서브필드(608)에 일치하는 장치 어드레스를 갖는 메모리 장치만이 op-코드 서브필드(610)에 따를 것이다. 그렇지 않으면, 명령 패킷은 메모리 장치를 통해 체인 내의 후속 메모리 장치에 전달된다. op-코드가 특정 동작에 특정되기 때문에, 메모리 장치 및 더욱 구체적으로는 메모리 장치(500)의 직렬 인터페이스 및 제어 로직 블록(508)은 명령 패킷의 어드레스 및/또는 데이터 정보를 래치하는 데 필요한 회로를 제어할 것이다. 예를 들어, 페이지 판독 명령 패킷이 지정된 메모리 장치에 의해 수신되면, 지정된 메모리 장치는 op-코드를 디코드하여, 이어지는 3 바이트 로우 어드레스를 래치하도록 적절한 회로를 제어한다.Only a memory device having a device address that is to be received serially by each memory device in the system and issued to the DA subfield 608 of the command field 602, - code subfield (610). Otherwise, the instruction packet is passed through the memory device to the subsequent memory device in the chain. Since the op-code is specific to a particular operation, the memory device and more specifically the serial interface and control logic block 508 of the memory device 500 are able to control the circuitry necessary to latch the address and / or data information of the instruction packet Control. For example, if a page read command packet is received by a designated memory device, the designated memory device decodes the op-code to control the appropriate circuitry to latch the subsequent 3-byte row address.

도 9에 리스트된 명령 패킷의 예는 플래시 메모리 동작을 가리킨다. 상이한 동작을 갖는 어떤 다른 타입의 메모리 장치용의 명령 패킷의 세트가 설명한 명령 구조에 따르도록 구성될 수 있다.An example of the command packet listed in FIG. 9 indicates flash memory operation. A set of instruction packets for any other type of memory device having different operations may be configured to conform to the described instruction structure.

앞서 설명한 명령 패킷은 도 7의 메모리 장치(500)와 같은 메모리 장치에서의 동시 동작을 실행하는 데 유리하게 사용될 수 있다. 메모리 장치(500)가 그 뱅크 중 어느 하나에 독립적으로 액세스하도록 구성되면, 실질적으로 동시 동작이 메모리 장치 내에서 실행될 수 있다. 독립적인 액세스는 상이한 메모리 뱅크에 대한 코어 동작이 서로 독립적으로 처리할 수 있는 것을 의미한다. 그러한 메모리 장치의 일례는 앞서 언급한 미국 특허출원 11/324,023호에 기재되어 있다. 코어 동작은 코어 동작의 완료가 상태 머신이나 다른 로직의 제어 하에서 실행되는 이벤트의 특정 시퀀스에 의존하기 때문에, 중단되지 않는 논리적인 또는 기능적인 동작을 지칭한다.The previously described command packet may be advantageously used to perform concurrent operation in a memory device, such as memory device 500 of FIG. If memory device 500 is configured to access any one of its banks independently, substantially simultaneous operation may be performed within the memory device. Independent access means that core operations for different memory banks can be handled independently of each other. An example of such a memory device is described in the aforementioned U.S. Patent Application 11 / 324,023. Core operation refers to a logical or functional operation that is not interrupted because the completion of the core operation depends on the particular sequence of events being executed under the control of the state machine or other logic.

동시 동작은 메모리 제어기가 제2 동작을 위한 명령 패킷을 전송하기 전에 제1 동작을 완전히 완료할 때까지 대기할 필요가 없기 때문에, 시스템의 성능을 향상시킨다. 통상적인 NAND 플래시 메모리 장치에서는, 메모리 장치는 다른 명령을 받아들이지 않거나, 코어 동작이 현재의 메모리 뱅크에 대해 완료될 때까지 상이한 메모리 뱅크에 대해 수신된 명령에 응답할 것이다. 그래서, 메모리 장치는 다른 명령을 받아들이기 전에 여러 가지 동작을 직렬로 실행한다. 본 실시예의 동시 동작에서, 하나의 명령 패킷이 하나의 메모리 뱅크에서 하나의 동작을 개시하고, 코어 동작이 제1 메모리 뱅크에 대해 실행되고 있는 동안 후속 명령 패킷이 동일한 메모리 장치의 제2 메모리 뱅크에서의 다른 동작을 즉시 개시할 것이다. 따라서, 양 동작이 2개의 메모리 뱅크에 의해 거의 동시에 실행될 것이다.  The concurrent operation improves the performance of the system because it does not have to wait until the memory controller completes the first operation before sending the command packet for the second operation. In a typical NAND flash memory device, the memory device will either not accept another command or will respond to a command received for a different memory bank until the core operation is completed for the current memory bank. Thus, the memory device executes several operations in series before accepting another instruction. In a simultaneous operation of this embodiment, one instruction packet initiates one operation in one memory bank and a subsequent instruction packet is received from a second memory bank of the same memory device while the core operation is being executed for the first memory bank Will immediately begin another operation of the < / RTI > Thus, both operations will be executed almost simultaneously by the two memory banks.

도 10은 자신의 메모리 뱅크의 독립적인 엑세스를 위해 구성된 메모리 장치(500)와 같은 하나의 메모리 장치에서 동시 동작을 실행하는 방법을 나타내는 플로우차트이다. 단계 700에서 시작하여, 제1 명령이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 수신된다. 제1 명령은 도 9에 도시되고 앞서 설명한 명령 패킷 중 어느 하나일 수 있다. 전체 패킷(명령 필드, 어드레스 필드 및 데이터 필드)이 수신되었다면, 코어 동작이 단계 702에서 메모리 장치의 제1 메모리 뱅크에 대해 시작한다. 제1 메모리 뱅크 코어 동작의 시작과 거의 동시에 발생하면, 제2 명령이 메모리 제어기에 의해 발행되어 단계 704에서 메모리 장치에 의해 수신된다.10 is a flow chart illustrating a method of performing concurrent operation in one memory device, such as memory device 500 configured for independent access of its memory bank. Beginning at step 700, a first instruction is issued by the memory controller and received by the memory device. The first command may be any one of the command packets shown in FIG. 9 and described above. If the entire packet (command field, address field, and data field) has been received, the core operation begins at 702 for the first memory bank of the memory device. The second instruction is issued by the memory controller and is received by the memory device in step 704.

단계 706에서, 제2 메모리 뱅크의 코어 동작이 제2 명령에 응답하여 실행된다. 결국, 제1 명령에 속하는 결과 정보가 단계 708에서 제공될 것이다. 결과 정보는 보충 판독 명령 패킷에 응답하여 제공되는 상태 정보나 판독 데이터를 포함할 수 있다. 상태 정보는 프로그램과 같은 특정 타입의 동작이나 소거 동작의 성공이나 실패의 표시를 제공하고, 메모리 제어기에 의해 발행된 보충 "판독 상태" 명령 패킷에 응답하여 그 메모리 뱅크와 관련된 상태 레지스터로부터 판독된다. 판독 데이터는 보충 "버스트 판독" 명령 패킷에 응답하여 제공된다. 도 1을 참조하면, 판독 동작에 대한 코어 동작이 메모리 뱅크의 블록으로부터 판독된 데이터의 페이지를 데이터 레지스터 블록(32)에 출력하는 것을 포함한다. 데이터 레지스터 블록(32)으로부터 데이터를 판독하기 위해, 버스트 판독 동작이 실행된다. 단계 710에서, 제2 명령에 속하는 결과 정보가 제공된다. 양 메모리 뱅크로부터의 결과 정보는 결국 메모리 제어기로 리턴된다. 도 10의 실시예는 2개의 메모리 뱅크의 동시 동작을 나타내지만, 그 방법은 메모리 장치의 2 이상의 메모리 뱅크의 동시 동작에 적용 가능하다.In step 706, the core operation of the second memory bank is executed in response to the second instruction. As a result, the result information belonging to the first instruction will be provided in step 708. The result information may include status information or read data provided in response to the supplemental read command packet. The state information provides an indication of the success or failure of a particular type of operation or erase operation, such as a program, and is read from a status register associated with the memory bank in response to a supplemental " read status "command packet issued by the memory controller. Read data is provided in response to a supplemental " burst read "command packet. Referring to FIG. 1, a core operation for a read operation includes outputting a page of data read from a block of memory banks to a data register block 32. To read data from the data register block 32, a burst read operation is performed. In step 710, the result information pertaining to the second instruction is provided. The result information from both memory banks is eventually returned to the memory controller. Although the embodiment of FIG. 10 shows simultaneous operation of two memory banks, the method is applicable to simultaneous operation of two or more memory banks of a memory device.

도 11 내지 15는 미국 특허출원 11/324,023호에 기재된 타입의 플래시 메몰리 장치에 의해 실행 가능한 동시 동작의 예를 나타내는 시퀀스도이다. 도 11 내지 15는 도 4 또는 5의 하나의 메모리 장치에 대한 시간당 CSI, Dn, DSI 및 Qn의 신호 트레이스를 도시한다. 예시된 시퀀스들은 특정 타이밍값을 나타내도록 의도된 것이 아니라, 신호들간의 상대 타이밍을 나타내도록 의도된 것이다. 명령 스트로브 입력(CSI)은 메모리 제어기에 의해 생성되고, 메모리 제어기에 의해 어셈블링되고 발행되는 명령의 길이에 대한 지시기로서 작용한다. 예를 들어, 발행되는 명령 패킷이 2 바이트의 길이이면, 대응하는 CSI는 명령의 제1 비트에 대응하는 활성 에지(이 예에서는 상승 에지)와, 명령 패킷의 최종 비트에 대응하는 비활성 에지를 갖는다. CSI 신호는 명령 데이터를 래치하도록 메모리 장치 명령 레지스터를 제어한다. 데이터 스트로브 입력 신호(DSI)도 또한 메모리 제어기에 의해 생성되고, 메모리 장치에 의해 제공되는 데이터의 길이에 대한 지시기로서 작용한다. 예를 들어, 메모리 제어기에 의해 요구되는 판독 데이터가 8 바이트의 길이이면, 메모리 제어기에 의해 생성되는 대응하는 DSI는 판독 데이터의 제1 비트에 대응하는 활성 에지와 판독 데이터의 최종 비트에 대응하는 비활성 에지를 갖는다. CSI 및 DSI는 발행된 명령 비트 길이와 요구되는 판독 데이터 비트 길이를 알고 있기 때문에 메모리 제어기에 의해 생성된다.Figures 11-15 are sequence diagrams illustrating examples of concurrent operations that may be performed by a flash memory device of the type described in U.S. Patent Application 11 / 324,023. Figures 11 to 15 show the signal traces of CSI, Dn, DSI and Qn per hour for one memory device of Figure 4 or 5. [ The illustrated sequences are not intended to represent a particular timing value, but are intended to represent relative timing between signals. The command strobe input (CSI) is generated by the memory controller and acts as an indicator of the length of the command that is assembled and issued by the memory controller. For example, if the issued command packet is two bytes in length, the corresponding CSI has an active edge (the rising edge in this example) corresponding to the first bit of the instruction and an inactive edge corresponding to the last bit of the instruction packet . The CSI signal controls the memory device instruction register to latch the instruction data. A data strobe input signal (DSI) is also generated by the memory controller and acts as an indicator of the length of data provided by the memory device. For example, if the read data required by the memory controller is 8 bytes in length, the corresponding DSI generated by the memory controller will have an active edge corresponding to the first bit of read data and an inactive Edge. CSI and DSI are generated by the memory controller because they know the issued command bit length and the required read data bit length.

도 11은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 동작을 나타내는 시퀀스도이다. 뱅크 0에 대한 페이지 판독 명령 패킷(800)은 CSI가 높은 논리 레벨일 때 메모리 장치에 의해 래치된다. 예를 들어, 도 9에 도시된 바와 같이, 페이지 판독 명령은 2 바이트 명령 및 3 바이트 로우 어드레스를 포함한다. 메모리 장치의 뱅크 0은 CSI가 시간 t0에서 낮은 논리 레벨로 하강한 후에, 지정된 로우 어드레스에 대한 판독 동작을 실행하기 시작한다. 예로서, 플래시 메모리 장치에 대한 판독 동작은 도 1에서의 WLi와 같은 워드라인의 활성화 및 BL0 내지 BLj의 비트라인 데이터의 감지를 포함한다. 결국, 감지된 데이터는 데이터 레지스터 블록(32)에 래치되거나 저장된다. 일 실시예에서, 페이지 판독 명령 패킷(800)이 그 Qn 출력 포트를 통해 후속 메모리 장치에 전달된다. 다른 실시예에서, 페이지 판독 명령 패킷(800)은 본 명령 패킷(800)이 현재의 메모리 장치에 어드레스되기 때문에, 추가의 메모리 장치로 전달되는 것이 금지된다. 예를 들어, Qn 출력에 제공되는 페이지 판독 명령 패킷(800)은 명령 레지스터에 래치된 후에 널(null)값으로 설정될 수 있다. 이것은 신호 라인의 레일간 신호 스위칭이 요구되지 않으므로, 전력을 유지한다.11 is a sequence diagram illustrating simultaneous read operations for two different banks of memory devices. The page read command packet 800 for bank 0 is latched by the memory device when CSI is at a high logic level. For example, as shown in Fig. 9, the page read command includes a 2-byte command and a 3-byte row address. Bank 0 of the memory device begins to perform a read operation for the designated row address after CSI falls to a low logic level at time t0. As an example, a read operation for a flash memory device includes activation of a word line such as WLi in Fig. 1 and sensing of bit line data of BL0 to BLj. As a result, the sensed data is latched or stored in the data register block 32. In one embodiment, a page read command packet 800 is passed to the subsequent memory device through its Qn output port. In another embodiment, the page read command packet 800 is prohibited from being forwarded to an additional memory device since this command packet 800 is addressed to the current memory device. For example, the page read command packet 800 provided at the Qn output may be set to a null value after being latched into the command register. This maintains power because no inter-rail signal switching of the signal lines is required.

뱅크 1에 대한 페이지 판독 명령 패킷(802)은 CSI가 높은 논리 레벨일 때 메모리 장치에 의해 래치된다. 메모리 장치의 뱅크 1은 CSI가 시간 t1에서 낮은 논리 레벨로 하강한 후에, 지정된 로우 어드레스에 대한 판독 동작을 실행하기 시작한다. 지금, 동시 동작이 메모리 뱅크 0 및 1에 의해 실행되고 있다. 특정수의 클록 사이클 후에, 데이터가 시간 t2에서 뱅크 0으로부터 판독될 준비가 된다. 뱅크 0으로부터 데이터를 판독하기 위해, 메모리 제어기는 CSI가 높은 논리 레벨일 때 수신되고 래치되는 버스트 판독 명령 패킷(804)을 발행한다. 도 9에 도시된 바와 같이, 버스트 판독 명령 패킷은 데이터가 판독될 칼럼 어드레스를 포함한다. 명령 패킷(804)에 대응하는 CSI가 낮은 논리 레벨로 하강한 후에, DSI는 Qn 출력 포트 버퍼를 인에이블시키도록 높은 논리 레벨로 상승하며, 그것에 의해 뱅크 0에 대한 출력 데이터를 판독 데이터 패킷(806)으로서 제공한다. 도 1을 다시 사용하는 예에서, Qn 출력 버퍼로의 데이터의 출력이 버스트 판독 명령 패킷(804)에특정된 칼럼 어드레스에서 시작하여 DSI가 낮은 논리 레벨로 하강할 때 종료하는 데이터 레지스터 블록(32)으로부터 데이터를 판독하는 것에 대응할 수 있다. 뱅크 0에 대한 출력 데이터의 최종 비트가 출력될 때까지, 뱅크 1에 대한 데이터가 시간 t3에서 판독 준비된다. DSI가 낮은 논리 레벨로 하강한 후에, 뱅크 1에 대한 버스트 판독 명령 패킷(808)이 메모리 장치에 의해 수신되어 래치된다. 버스트 판독 명령 패킷(808)에 대한 CSI의 하강 에지에 따라, DSI가 뱅크 1로부터의 판독 데이터를 판독 데이터 패킷(810)으로서 Qn 출력 포트에 출력하기 위해 소정 기간 동안 높은 논리 레벨로 다시 구동된다.The page read command packet 802 for bank 1 is latched by the memory device when CSI is at a high logic level. Bank 1 of the memory device begins to perform a read operation for a designated row address after CSI falls to a low logic level at time t1. Now, concurrent operations are being performed by memory banks 0 and 1. After a certain number of clock cycles, the data is ready to be read from bank 0 at time t2. To read data from bank 0, the memory controller issues a burst read command packet 804 that is received and latched when CSI is at a high logic level. As shown in FIG. 9, the burst read command packet includes a column address at which data is to be read. After the CSI corresponding to the command packet 804 falls to a low logic level, the DSI rises to a high logic level to enable the Qn output port buffer, thereby causing the output data for bank 0 to be read as a read data packet 806 ). 1, the output of data to the Qn output buffer begins at the column address specified in the burst read command packet 804 and ends when the DSI falls to a low logic level. As shown in FIG. Data for bank 1 is read ready at time t3 until the last bit of output data for bank 0 is output. After DSI falls to a low logic level, a burst read command packet 808 for bank 1 is received and latched by the memory device. Depending on the falling edge of CSI for the burst read command packet 808, the DSI is driven back to a high logic level for a predetermined period of time to output the read data from bank 1 as a read data packet 810 to the Qn output port.

t0과 t2 사이에서의 뱅크 0의 코어 동작 및 t1과 t3 사이에서의 뱅크 1의 코어 동작은 거의 동시에 서로 겹쳐지기 때문에, 양 판독 동작에 대한 총 코어 동작 시간은 시간 t0과 t3 사이이다. 종래 기술에서는, 양 코어 동작은, 뱅크 1에 대한 코어 동작이 t2에서 뱅크 0에 대한 코어 동작이 완료된 후에 수신되는 제2 페이지 판독 명령 패킷에 응답하여 시작하는 것을 의미하는, 순서대로 실행된다. 앞서 나타낸 바와 같이 동시 동작을 실행하는 성능의 이점은 당업자에게는 명백하다.Since the core operation of bank 0 between t0 and t2 and the core operation of bank 1 between t1 and t3 overlap each other almost at the same time, the total core operating time for both read operations is between times t0 and t3. In the prior art, both core operations are executed in order, meaning that the core operation for bank 1 starts in response to a second page read command packet received after the core operation for bank 0 is completed at t2. The benefits of performing concurrent operations as indicated above will be apparent to those skilled in the art.

도 12는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 동작을 나타내는 시퀀스도이다. 이 점으로부터 앞으로 메모리 장치의 Dn 입력 포트에서 수신된 명령 패킷이 도 11 내지 15의 Qn 신호 트레이스에 나타난 자신의 Qn 출력 포트에 전달되는 점에 유의하라. 메모리 뱅크를 프로그램하기 위해, 프로그램 데이터가 먼저 특정 칼럼 어드레스에 기초하는 메모리 장치의 데이터 레지스터로 로드된 후 특정 로우에 대해 프로그램된다. 도 12에서, 뱅크 0에 대한 버스트 데이터 로드 명령 패킷(820)이 프로그램 데이터와 함께 수신되고 잠시 후에 페이지 프로그램 명령 패킷(822)이 뒤따른다. 양 명령 패킷(820 및 822)은 CSI가 높은 논리 레벨에 있을 때 래치된다. 페이지 프로그램 패킷(822)이 래치되고 메모리 장치에 의해 디코드된 후에, 뱅크 0에 데이터를 프로그래밍하는 코어 동작이 시간 t0에서 시작한다. 이제, 뱅크 1에 대한 버스트 데이터 명령 패킷(824)이 프로그램 데이터와 함께 수신되고 잠시 후에 페이지 프로그램 명령 패킷(826)이 뒤따른다. 페이지 프로그램 패킷(826)이 래치되고 메모리 장치에 의해 디코드된 후에, 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시간 t1에서 시작한다.12 is a sequence diagram illustrating concurrent programming operations for two different banks of memory devices. From this point forward, note that the command packet received at the Dn input port of the memory device is forwarded to its Qn output port shown in the Qn signal trace of FIGS. 11-15. To program the memory bank, program data is first programmed for a particular row after being loaded into a data register of a memory device based on a particular column address. In Figure 12, a burst data load instruction packet 820 for bank 0 is received with the program data, followed by a page program instruction packet 822. Both instruction packets 820 and 822 are latched when CSI is at a high logic level. After the page program packet 822 is latched and decoded by the memory device, the core operation of programming data into bank 0 begins at time t0. Now, a burst data command packet 824 for bank 1 is received with the program data, followed by a page program command packet 826. After page program packet 826 is latched and decoded by the memory device, the core operation of programming data into bank 1 begins at time t1.

필요한 경우, 메모리 제어기는 판독 상태 명령 패킷(828)을 발행함으로써 메모리 장치의 상태를 요구할 수 있다. 이것은 그 데이터가, DSI가 높은 논리 레벨에 있을 때 Qn 출력 포트에 판독 데이터 패킷(830)으로서 출력될 메모리 장치의 상태 레지스터에 액세스한다. 당업자는 상태 레지스터가 내부 동작이 실행됨에 따라 메모리 장치에 의해 내부적으로 업데이트된다는 것을 이해할 것이다. 본 예에서, 판독 데이터 패킷(830)은 뱅크 0에 대한 프로그래밍이 완료되었다는 것을 나타낸다. 뒤이어 발행되는 판독 상태 명령 패킷(832)은 판독 데이터 패킷(834)이 뱅크 1에 대한 프로그래밍이 완료되었다는 것을 나타낼 수 있는 상태 레지스터의 값을 제공하게 한다. 다시 한번, 뱅크 0 및 뱅크 1의 코어 프로그래밍 동작이 거의 동시에 겹쳐지기 때문에, 2개의 뱅크의 순차 프로그래밍과 비교할 때 상당한 시간이 세이브된다.If necessary, the memory controller may request the status of the memory device by issuing a read status command packet 828. [ This accesses the status register of the memory device whose data is to be output as read data packet 830 to the Qn output port when DSI is at a high logic level. Those skilled in the art will appreciate that the status register is internally updated by the memory device as the internal operation is performed. In this example, read data packet 830 indicates that programming for bank 0 is complete. The read state command packet 832 issued subsequently causes the read data packet 834 to provide a value of a status register that may indicate that programming for bank 1 is complete. Once again, considerable time is saved when compared to sequential programming of two banks, since the core programming operations of bank 0 and bank 1 overlap almost simultaneously.

도 13은 메모리 장치의 2개의 상이한 뱅크에 대한 동시 판독 및 프로그램 동작을 나타내는 시퀀스도이다. 뱅크 0에 대한 페이지 판독 명령 패킷(840)은 메모리 장치에 의해 래치되고 뱅크 1에 대한 버스트 데이터 로드 개시 명령 패킷(842)이 뒤따른 후, 뱅크 1에 대한 페이지 프로그램 명령 패킷(844)이 뒤따른다. 시간 t0에서, 뱅크 0으로부터 데이터를 판독하는 코어 동작이 시작하는 한편, 시간 t1에서는 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시작한다. 뱅크 0의 페이지 판독 동작에 대한 코어 동작이 먼저 시작되었기 때문에, 데이터는 시간 t2에서 준비되는 한편, 뱅크 1에 데이터를 프로그래밍하는 코어 동작은 진행 중이다. 따라서, 버스트 판독 명령 패킷(846)이 수신되고, DSI가 판독 데이터 패킷(848) 내의 뱅크 0으로부터 판독 데이터를 출력하도록 어써트된다. DSI가 뱅크 0으로부터 판독 데이터의 출력을 종료하도록 디어써트된 후, 판독 상태 명령 패킷(850)이 뱅크 1의 프로그래밍 상태를 체크하기 위해 발행될 수 있다. 뱅크 1은 시간 t3에서 프로그래밍 동작을 완료해야 하기 때문에, DSI가 다시 어써트되고, 판독 데이터 패킷(852)이 Qn 출력 포트에 제공되며, 이것이 뱅크 1에 대한 프로그래밍 동작의 성공 또는 실패 상태를 나타낸다.Figure 13 is a sequence diagram illustrating simultaneous read and program operation for two different banks of memory devices. The page read command packet 840 for bank 0 is followed by a page program command packet 844 for bank 1 after it is latched by the memory device and followed by a burst data load start command packet 842 for bank 1. At time t0, a core operation for reading data from bank 0 starts, while at time t1 a core operation for programming data into bank 1 begins. Since the core operation for the page 0 read operation of bank 0 has been started first, the data is ready at time t2, while the core operation for programming the data in bank 1 is in progress. Thus, a burst read command packet 846 is received and the DSI is asserted to output read data from bank 0 in read data packet 848. [ After the DSI is deasserted to finish outputting the read data from bank 0, a read status command packet 850 may be issued to check the programming state of bank 1. Since bank 1 has to complete the programming operation at time t3, the DSI is asserted again and a read data packet 852 is provided at the Qn output port, indicating the success or failure of the programming operation for bank 1. [

도 14는 메모리 장치의 2개의 상이한 뱅크에 대한 동시 블록 소거를 나타내는 시퀀스도이다. 뱅크 0에 대한 블록 소거 어드레스 입력 명령 패킷(860)이 메모리 장치에 의해 래치되고, 뱅크 0에 대한 소거 명령 패킷(862)이 뒤따른다. 소거 명령 패킷(862)이 래치된 후, 뱅크 0에 대한 코어 동작이 시간 t0에서 시작한다. 이제 뱅크 1에 대한 블록 소거 어드레스 입력 명령 패킷(864)이 메모리 장치에 의해 래치되고, 뱅크 1에 대한 소거 명령 패킷(866)이 뒤따른다. 소거 명령 패킷(866)이 래치된 후에, 뱅크 1에 대한 코어 동작이 시간 t1에서 시작한다. 블록 소거 어드레스 입력 명령 및 소거 명령의 구조가 도 9에 도시된다. 뱅크 0에 대한 소거 동작이 시간 t2에서 완료되어야 하고, 뱅크 1의 소거 동작이 시간 t3에서 완료되어야 한다면, 별개의 판독 상태 명령 패킷(868 및 870)이 메모리 장치에 의해 발행되어 래치될 수 있다. 대응하는 판독 데이터 패킷(872 및 874)이 메모리 장치의 Qn 출력 포트에 제공되며, 그들 각각이 상태 레지스터의 값을 제공한다.14 is a sequence diagram illustrating simultaneous block erase for two different banks of memory devices. A block erase address input command packet 860 for bank 0 is latched by the memory device and followed by an erase command packet 862 for bank 0. [ After the erase command packet 862 is latched, the core operation for bank 0 begins at time t0. Block erase address input command packet 864 for bank 1 is now latched by the memory device, followed by an erase command packet 866 for bank 1. After the erase command packet 866 is latched, the core operation for bank 1 begins at time t1. The structure of the block erase address input command and erase command is shown in Fig. A separate read state command packet 868 and 870 may be issued and latched by the memory device if the erase operation for bank 0 should be completed at time t2 and the erase operation of bank 1 should be completed at time t3. Corresponding read data packets 872 and 874 are provided to the Qn output port of the memory device, each of which provides the value of the status register.

도 11 내지 14의 시퀀스도에서, 동시 동작의 상이한 조합이 예시되어 있다. 앞의 실시예들에 기재되어 있는 모듈러 명령 패킷 구조의 이점은 상이한 명령 패킷들이 상이한 시간에 발행될 수 있다는 것이다. 앞서 도시된 바와 같이, 버스트 데이터 로드 명령 패킷 바로 뒤에 페이지 프로그램 명령 패킷이 뒤따른다. 그러나, 이것은 항상 필수적인 경우는 아니고, 페이지 프로그램 명령 패킷이 원하는 경우 더 뒤에 발행될 수도 있다. 명령 패킷들이 명령 스트로브 신호(CSI) 및 데이터 스트로브 신호(DSI)와 조합하여 사용될 때, 추가의 이점이 실현되며, 그것은 메모리 장치의 동작을 일시정지시키는 능력이다. 앞서 언급된 바와 같이, CSI 스트로브 신호는 Dn 입력 포트 상의 명령 데이터가 명령 레지스터에 의해 래치될 것을 나타내기 위해 메모리 제어기에 의해 제공되며, 발행중의 명령 패킷의 길이에 대응하는 지속기간을 가질 수 있다. 메모리 뱅크를 프로그래밍하는 입력 데이터 및 메모리 뱅크로부터 판독된 출력 데이터는 1000 바이트 길이를 초과할 수 있으므로, 당업자는 그러한 데이터량을 입력하거나 출력하는 데 비교적 긴 시간이 필요하다는 것을 이해할 것이다. 본 실시예에 따르면, CSI 및 DSI 스트로브 신호는, 프로그램 데이터가 로드되거나 판독 데이터가 출력되는 동안 때 이르게 디어써트되고 이후의 시간에 재개될 수 있다.In the sequence diagrams of Figures 11-14, different combinations of simultaneous operation are illustrated. An advantage of the modular command packet structure described in the previous embodiments is that different command packets can be issued at different times. As shown above, a page program command packet follows immediately after the burst data load instruction packet. However, this is not always necessary, and a page program command packet may be issued later if desired. When the command packets are used in combination with the command strobe signal (CSI) and the data strobe signal (DSI), a further advantage is realized, which is the ability to pause the operation of the memory device. As previously mentioned, the CSI strobe signal may be provided by the memory controller to indicate that the command data on the Dn input port is to be latched by the command register, and may have a duration corresponding to the length of the command packet being issued . It will be appreciated by those skilled in the art that a relatively long period of time is required to input or output such data amount, since the input data for programming the memory bank and the output data read from the memory bank may exceed 1000 bytes in length. According to the present embodiment, the CSI and DSI strobe signals can be deasserted as soon as program data is loaded or read data is output, and can be resumed at a later time.

도 15는 일시정지 및 재개 동작과 함께, 메모리 장치의 2개의 상이한 뱅크에 대한 동시 프로그램 및 판독 동작을 나타내는 시퀀스도이다. 뱅크 1에 대한 버스트 데이터 로드 개시 명령 패킷(880)이 래치되고, 명령 패킷의 데이터 필드 내의 데이터 페이로드(payload)가 메모리 장치에 의해 래치된다. 시간 t0에서, 메모리 장치로의 데이터 로딩은 메모리 제어기가 CSI를 디어써트할 때 일시정지된다. 본 예에서는, 256 바이트의 데이터만 메모리 장치에 의해 래치되어 메모리 제어기에 의해 트래킹된다. 뱅크 0에 대한 페이지 판독 명령 패킷(882)가 래치되고 뱅크 0에 대한 코어 동작이 시간 t1에서 시작한다. 명령 패킷(880)의 일시정지된 데이터 로딩 동작은 뱅크 1에 대한 버스트 데이터 로드 명령 패킷(884)이 수신될 때 시간 t2에서 재개된다. 명령 패킷(884)의 데이터 필드 내의 데이터 페이로드는 아직 래치되지 않은 나머지 1856 바이트의 데이터를 포함한다. 이어지는 것이 뱅크 1에 대한 페이지 프로그램 명령 패킷(886)이고, 뱅크 1에 데이터를 프로그래밍하는 코어 동작이 시간 t3에서 시작한다. 결국, 뱅크 0에 대한 코어 동작이 시간 t4에서 완료될 것이고, 뱅크 0에 대한 버스트 판독 명령 패킷(888)이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 래치된다. 판독 데이터는 DSI가 높은 논리 레벨에 있을 때 데이터 판독 패킷(890)으로서 출력된다.Figure 15 is a sequence diagram illustrating simultaneous programming and read operations for two different banks of memory devices, with a pause and resume operation. The burst data load start command packet 880 for bank 1 is latched and the data payload in the data field of the command packet is latched by the memory device. At time t0, data loading into the memory device is paused when the memory controller deasserts the CSI. In this example, only 256 bytes of data are latched by the memory device and tracked by the memory controller. The page read command packet 882 for bank 0 is latched and the core operation for bank 0 starts at time tl. The suspended data loading operation of the command packet 880 is resumed at time t2 when a burst data load command packet 884 for bank 1 is received. The data payload in the data field of the command packet 884 contains the remaining 1856 bytes of data that have not yet been latched. The following is the page program command packet 886 for bank 1, and the core operation for programming the data in bank 1 begins at time t3. As a result, the core operation for bank 0 will be completed at time t4, and a burst read command packet 888 for bank 0 is issued by the memory controller and latched by the memory device. Read data is output as data read packet 890 when DSI is at a high logic level.

그러나, 다량의 데이터가 출력되기 때문에, 호스트 시스템은, 제어기가 프로그래밍 동작이 시간 t6에서와 같은 일정한 소정 시간 내에 완료되어야 하는 것을 알기 때문에, 뱅크 1에 대한 프로그래밍이 완료되는 것을 확인하기를 원할 수도 있다. 판독 상태 요구를 전송하기 전에 출력될 모든 판독 데이터를 대기하는 대신에, 판독 데이터의 출력이 DSI를 디어써트함으로써 시간 t5에서 일시정지될 수 있다. 데이터 출력 동작이 일시정지되면, 판독 상태 명령 패킷(892)이 메모리 제어기에 의해 발행되어 메모리 장치에 의해 래치된다. 그 후, 상태 레지스터 값을 포함하는 대응하는 판독 데이터 패킷(894)이 제공된다. DSI가 판독 데이터 패킷(894)의 단부에서 디어써트된 후에, 버스트 판독이 재개할 수 있다. 이것은 멤리 제어기가 시간 t5에서 일시정지된 판독 이전에 출력될 다음의 비트의 어드레스를 포함하는 뱅크 0에 대한 버스트 판독 명령 패킷(896)을 발행하게 함으로써 달성된다. 시간 t7에서, 나머지 1600 바이트가 Qn 출력 포트로부터 판독 데이터 패킷(898)으로서 출력된다.However, since a large amount of data is output, the host system may want to make sure that programming for bank 1 is complete, since the controller knows that the programming operation must be completed within a certain predetermined time, such as at time t6 . The output of the read data can be suspended at time t5 by deasserting the DSI, instead of waiting for all read data to be output before sending the read status request. When the data output operation is paused, a read status command packet 892 is issued by the memory controller and latched by the memory device. A corresponding read data packet 894 is then provided containing the status register value. After the DSI is deasserted at the end of the read data packet 894, the burst read can resume. This is accomplished by causing the MEMB to issue a burst read command packet 896 for bank 0 containing the address of the next bit to be output before the paused read at time t5. At time t7, the remaining 1600 bytes are output as the read data packet 898 from the Qn output port.

도 15의 일시정지된 동작의 예는 동시 동작을 실행하는 모듈러 명령 구조의 이점을 나타내고, 동시 동작의 각각은 코어 이용 및 채널의 이용을 최대화하기 위해 일시정지 및 재개될 수 있다.The example of the paused operation of FIG. 15 represents the advantage of a modular instruction structure that performs concurrent operations, and each of the concurrent operations can be paused and resumed to maximize utilization of the cores and channels.

도 11 내지 15의 시퀀스 및 동작의 예는 명령 패킷이나 판독 데이터 패킷에 관한 정보를 제공하도록 CSI 및 DSI 스트로브 신호에 의존한다. 명령 패킷은 사이즈가 가변적이고, 명령 패킷의 비트 길이를 나타내기 위한 헤더 정보가 없기 때문에, CSI 스트로브 신호가 직렬 명령 패킷과 병렬로 제공되는 명령 패킷의 헤더로서 기능을 한다. CSI 신호는 명령 패킷의 길이에 대해 활성적이고, Dn 입력 포트 상에 나타나는 명령 패킷 데이터를 적절한 레지스터로 래치하도록 메모리 장치에 의해 사용된다. DSI 신호는 메모리 제어기에 의해 알려져서 판독 데이터 패킷과 병렬로 이동하는 기대되는 판독 데이터 패킷의 길이에 대해 활성적이다. 그래서, 활성 DSI 신호는 판독 데이터 패킷의 헤더로서 기능을 한다. 따라서, 명령 패킷 및 판독 데이터 패킷의 길이는 그들 각각의 CSI 및 DSI 스트로브 신호들의 길이에 대응한다.The examples of sequences and operations in Figures 11-15 relies on the CSI and DSI strobe signals to provide information about the command packet or the read data packet. Since the command packet is variable in size and there is no header information for indicating the bit length of the command packet, the CSI strobe signal functions as a header of the command packet provided in parallel with the serial command packet. The CSI signal is active for the length of the instruction packet and is used by the memory device to latch the instruction packet data appearing on the Dn input port into the appropriate register. The DSI signal is active for the length of the expected read data packet that is known by the memory controller and moves in parallel with the read data packet. Thus, the active DSI signal serves as the header of the read data packet. Thus, the length of the command packet and the read data packet corresponds to the length of their respective CSI and DSI strobe signals.

판독 데이터 패킷과 명령 패킷의 양자는 인접한 메모리 장치들의 Dn과 Qn 포트 사이에 접속되는 동일한 신호 라인을 따라 이동하기 때문에, 데이터를 갖는 CSI 스트로브의 존재는 데이터를 명령 데이터 패킷으로서 지정하는 한편, 데이터를 갖는 DSI 스트로브의 존재는 데이터를 판독 데이터로서 지정한다. 따라서, 스트로브 신호들은 또한 메모리 시스템을 통해 이동하는 데이터의 타입을 식별한다. 메모리 제어기는 수신된 판독 데이터 패킷과 예상되는 데이터의 타입이 일치할 수 있도록 자신이 발행하는 DSI 스트로브를 트래킹한다. 예를 들면, 판독 데이터 패킷은 상태 레지스터 정보나 메모리 어레이로부터 판독된 데이터를 포함할 수 있다.Since both the read data packet and the instruction packet move along the same signal line connected between the Dn and Qn ports of adjacent memory devices, the presence of the CSI strobe with the data specifies the data as the command data packet, The presence of the DSI strobe having the data designates the data as the read data. Thus, the strobe signals also identify the type of data moving through the memory system. The memory controller tracks the DSI strobe that it issues so that the received read data packet and the expected data type match. For example, the read data packet may include status register information or data read from the memory array.

CSI 및 DSI 신호의 기능적인 관계를 고려할 때, 어떤 타입의 후속 스트로브 신호들 사이에 최소 분리 시간이 삽입된다. 이것이 모든 명령 패킷과 판독 데이터 패킷이 별개이고 정의되도록 보증하며, 적절한 타입의 데이터가 메모리 제어기의 메모리 장치에 의해 래치되도록 보증한다. 분리가 사용되는 4개의 가능한 상황이 존재한다. 이들은 CSI-CSI 분리(tCCS), CSI-DSI 분리(tCDS), DSI-CSI 분리(tDCS), 및 DSI-DSI 분리(tDDS)이다.Considering the functional relationship of the CSI and DSI signals, a minimum separation time is inserted between any type of subsequent strobe signals. This ensures that all command packets and read data packets are defined separately and ensures that the appropriate type of data is latched by the memory device of the memory controller. There are four possible situations where separation is used. These are CSI-CSI separation (t CCS ), CSI-DSI separation (t CDS ), DSI-CSI separation (t DCS ), and DSI-DSI separation (t DDS ).

CSI-CSI 분리(tCCS)는 동일하거나 상이한 장치로의 연속적인 명령 패킷들 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이 분리 시간은 예컨대, 새로운 명령을 준비할 때 명령 레지스터를 클리어하고 어떤 명령 로직을 리셋함으로써, 이전의 명령이 메모리 장치로부터 클리어되게 한다. DSI-DSI 분리(tDDS)는 동일한 장치로의 연속적인 판독 데이터 패킷들 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이 분리 시간은 출력 버퍼 회로가 출력될 다음의 데이터를 준비할 때 리셋하게 한다. DSI-CSI 분리(tDCS)는 동일하거나 상이한 장치로의 판독 데이터 패킷과 후속 명령 패킷 간의 클록 기간(tCK) 중의 최소 분리 시간이다. CSI-DSI 분리(tCDS)는 동일한 장치로의 명령 패킷과 판독 데이터 패킷 간의 클록 기간(tCK) 중의 최소 분리 시간이다. 이들 2개의 분리 시간은, 양자가 메모리 장치의 Dn 입력 포트 상에 연속적으로 나타날 수 있기 때문에, 적절한 데이터 타입이 메모리 장치에 의해 래치되는 것을 보증한다. 메모리 제어기가 명령 패킷이나 데이터 패킷 비트 길이의 알리려 CSI 및 DSI 신호를 발행하기 때문에, 명령 패킷 및 데이터 패킷 자체들은 스트로브 신호들과 동일한 최소 시간으로 분리되는 것이 보증된다.The CSI-CSI separation (t CCS ) is the minimum separation time during the clock period (t CK ) between successive command packets to the same or a different device. This isolation time allows the previous instruction to be cleared from the memory device, for example, by clearing the instruction register and resetting some instruction logic when preparing a new instruction. The DSI-DSI separation (t DDS ) is the minimum separation time during the clock period (t CK ) between consecutive read data packets to the same device. This isolation time causes the output buffer circuit to reset when it prepares the next data to be output. The DSI-CSI separation (t DCS ) is the minimum separation time during the clock period (t CK ) between the read data packet and the subsequent command packet to the same or a different device. The CSI-DSI separation (t CDS ) is the minimum separation time during the clock period (t CK ) between the command packet and the read data packet to the same device. These two isolation times ensure that the appropriate data types are latched by the memory device, since they can appear continuously on the Dn input port of the memory device. Since the memory controller issues the CSI and DSI signals to inform the instruction packet or the data packet bit length, the instruction packets and the data packets themselves are guaranteed to be separated by the same minimum time as the strobe signals.

이들 분리 시간의 예들이 도 11 내지 14에 주석이 붙여져 있고, 최소 분리 시간은 채용되는 데이터 레이트 구조에 의존하는 클록 기간의 일부분일 수 있는 클록의 하나의 데이터 래칭 에지일 수 있다. 예를 들면, 데이터가 클록의 상승 에지에서 래치되는 단일 데이터 레이트 구조(SDR)에서는, 최소 분리 시간은 1 클록 사이클 또는 기간이다. 데이터가 클록의 상승 에지 및 하강 에지의 양쪽에서 래치되는 더블 데이터 레이트 구조(DDR)에서는, 최소 분리 시간은 클록 기간의 0.5이다. 도 11 내지 15는 단일 메모리 장치에서의 동시 동작의 예들이고, CSI-DSI 분리나 DSI-CSI 분리의 관계를 명확하게 나타내지 않는다. 도 16은 CSI-DSI나 DSI-CSI 분리의 관계를 나타내는 시퀀스도이다.Examples of these separation times are annotated in Figures 11-14 and the minimum separation time can be one data latching edge of the clock, which may be part of a clock period depending on the data rate structure employed. For example, in a single data rate structure (SDR) where data is latched at the rising edge of the clock, the minimum separation time is one clock cycle or period. In a double data rate structure (DDR) where data is latched on both the rising and falling edges of the clock, the minimum separation time is 0.5 of the clock period. 11 to 15 are examples of simultaneous operation in a single memory device and do not clearly show the relationship of CSI-DSI isolation or DSI-CSI isolation. 16 is a sequence diagram showing the relationship between CSI-DSI and DSI-CSI separation.

도 16은 제1 메모리 장치가 자신의 Qn 출력 포트로부터 자신의 판독 데이터를 출력하고, 제2 메모리 장치가 판독 데이터가 제1 메모리 장치로부터 출력된 후 명령 패킷을 수신하는 시나리오의 일례이다. 이 예에서 언급되는 2개의 메모리 장치는 예컨대, 도 4 및 5에 도시된 것에 대응할 수 있다. DSI_1, CSI_1, DSO_1, CSO_1 및 Qn_1 포트에 대한 신호 트레이스(trace)는 제1 메모리 장치에 대해 도시되고, 여기에서 덧붙인 "_1"은 제1 메모리 장치의 포트를 나타낸다. DSI_2, CSI_2 및 Dn_2에 대한 신호 트레이스는 제2 메모리 장치에 대해 도시되고, 여기에서 덧붙인 "_2"는 제2 메모리 장치의 포트를 나타낸다. 제1 메모리 장치는 데이터를 판독하기 위한 하나 이상의 명령 패킷을 이미 수신하고 있다고 가정한다. 그 결과, DSI_1은 데이터를 Qn_1 포트에 판독 데이터 패킷(902)으로서 출력하기 위해 스트로브 신호(902)를 수신한다. 판독 데이터 패킷(902)은 "Qn_1 Read DATA"의 라벨이 붙어있다. 판독 데이터 및 스트로브 신호가 제1 메모리 장치로부터 제2 메모리 장치로 직렬로 전달되기 때문에, DSO_1은 DSI_1 포트로부터 수신된 스트로브 신호(900)를 제2 메모리 장치의 DSI_2 포트로 전달한다. 유사하게, 판독 데이터 패킷(902)이 제1 메모리 장치의 Qn_1 포트로부터 제2 메모리 장치의 DN_2 포트로 전달된다.16 is an example of a scenario in which the first memory device outputs its read data from its Qn output port and the second memory device receives the command packet after the read data is output from the first memory device. The two memory devices mentioned in this example can correspond, for example, to those shown in Figures 4 and 5. Signal traces for the DSI_1, CSI_1, DSO_1, CSO_1 and Qn_1 ports are shown for a first memory device, where the appended "_1" represents the port of the first memory device. The signal traces for DSI_2, CSI_2, and Dn_2 are shown for the second memory device, where the appended "_2" represents the port of the second memory device. It is assumed that the first memory device is already receiving one or more instruction packets for reading data. As a result, DSI_1 receives the strobe signal 902 to output the data as the read data packet 902 to the Qn_1 port. The read data packet 902 is labeled "Qn_1 Read DATA ". Since the read data and the strobe signal are transferred serially from the first memory device to the second memory device, DSO_1 transfers the strobe signal 900 received from the DSI_1 port to the DSI_2 port of the second memory device. Similarly, the read data packet 902 is transferred from the Qn_1 port of the first memory device to the DN_2 port of the second memory device.

메모리 제어기는 이제 제2 메모리 장치로 어드레스되는 "Dn_2 CMD DATA"의 라벨이 붙여진 명령 패킷(904)을 동반하는 CSI 스트로브 신호(906)과 함께 발행한다. 스트로브 신호(906)는 CSI_1을 통해 제1 메모리 장치로 전달되고, 명령 패킷은 제1 메모리 장치(도 16에는 도시되지 않음)의 Dn 입력 포트로 전달되어 Qn_1 출력 포트를 통해 출력된다. 제1 메모리 장치는 명령 패킷(904)가 제2 메모리 장치로 어드레스되기 때문에, 명령 패킷(904)을 무시한다. 제1 메모리 장치는 그 후 스트로브 신호(906)를 자신의 CSO_1로부터 제2 메모리 장치의 CSI_2 포트로 전달하고, 명령 패킷(904)을 자신의 Qn_1 출력 포트로부터 제2 메모리 장치의 CSI_2 포트로 전달한다. 스트로브 신호(900)의 하강 에지와 스트로브 신호(906)의 상승 에지 사이에 최소 분리 tCDS, 및 판독 데이터 패킷(902)의 최종 비트와 명령 패킷(904)의 제1 비트 사이에 최소 분리가 존재하기 때문에, 제2 메모리 장치는 적절한 레지스터에 명령 패킷(904)을 신뢰할 수 있게 래치한다. 반면에, 명령 패킷(904)와 그에 대응하는 스트로브 신호(906)가 어떠한 분리 tCDS 없이 발행되었다면, 제2 메모리 장치는 판독 데이터 패킷(902)의 판독 데이터 비트를 명령 패킷(904)의 부분으로서 래치할 수 있다. 따라서, 최소 분리는 데이터 타입의 혼합이 없다는 것을 보증한다.The memory controller now issues a CSI strobe signal 906 accompanied by a command packet 904 labeled "Dn_2 CMD DATA " addressed to the second memory device. The strobe signal 906 is transferred to the first memory device via CSI_1 and the instruction packet is transferred to the Dn input port of the first memory device (not shown in FIG. 16) and output via the Qn_1 output port. The first memory device ignores the command packet 904 because the command packet 904 is addressed to the second memory device. The first memory device then transfers the strobe signal 906 from its CSO_1 to the CSI_2 port of the second memory device and transfers the command packet 904 from its Qn_1 output port to the CSI_2 port of the second memory device . A minimum separation t CDS between the falling edge of the strobe signal 900 and the rising edge of the strobe signal 906 and a minimum separation between the last bit of the read data packet 902 and the first bit of the command packet 904 The second memory device reliably latches the instruction packet 904 in the appropriate register. On the other hand, if the instruction packet 904 and its corresponding strobe signal 906 are issued without any separation t CDS , then the second memory device will read the read data bits of the read data packet 902 as part of the instruction packet 904 It can be latched. Thus, the minimum separation ensures that there is no mix of data types.

앞서 설명한 메모리 시스템에서의 메모리 장치, 특히 비휘발성 메모리 장치는 메모리 장치에 공급되는 전력이 없을 때 저장된 데이터를 유지할 수 있는 이점을 갖는다. 그러나, 전체 전력 동작과 전력이 전혀 없거나 전력 세이빙 레벨 사이의 전이는 저장된 데이터의 무결성을 위태롭게 할 수 있다.Memory devices, particularly non-volatile memory devices, in the memory system described above have the advantage of being able to retain stored data in the absence of power supplied to the memory device. However, the transition between full power operation and no power or transition between power saving levels can jeopardize the integrity of the stored data.

도 17a는 본 발명의 실시예들이 적용될 수 있는 플래시 메모리 장치를 되한다. 도 17a를 참조하면, 플래시 메모리(1010)는 플래시 회로의 여러 가지 기능을 제어하는 제어 회로(1012)와 같은 논리 회로, 어드레스 정보를 저장하는 어드레스 레지스터(1012a), 프로그램 데이터 정보를 저장하는 데이터 레지스터(1012b), 명령 데이터 정보를 저장하는 명령 레지스터(1012c), 필요한 프로그램 및 소거 전압을 생성하는 고전압 회로, 및 메모리 어레이(1014)에 액세스하는 코어 메모리 회로를 포함한다. 제어 회로(1012)는 명령 디코더 및 판독, 프로그램 및 소거 기능과 같은 내부 플래시 동작을 실행하는 로직을 포함한다. 당업자는 이들 동작이 명령 레지스터(1012c)에 저장된 명령 데이터에 응답하여, 종종 실행될 동작에 따라 각각의 어드레스 레지스터(1012a) 및 데이터 레지스터(1012b)에 저장된 어드레스 데이터 및 프로그램 데이터와 조합하여, 실행된다는 것을 이해할 것이다. 명령 데이터, 어드레스 데이터 및 프로그램 데이터는 메모리 제어기에 의해 발행되어 플래시 메모리(1010)에 의해 대응하는 레지스터에 래치된다. 플래시 메모리(1010)의 도시된 회로 블록의 기본 기능은 당업계에 공지되어 있다. 당업자는 도 17a에 도시된 플래시 메모리(1010)가 다수의 가능한 구성 중에서 하나의 가능한 플래시 메모리 구성을 나타내는 것을 이해할 것이다.17A illustrates a flash memory device to which embodiments of the present invention can be applied. 17A, the flash memory 1010 includes a logic circuit such as a control circuit 1012 for controlling various functions of a flash circuit, an address register 1012a for storing address information, a data register An instruction register 1012c that stores instruction data information, a high voltage circuit that generates the necessary program and erase voltages, and a core memory circuit that accesses the memory array 1014. [ The control circuit 1012 includes logic for executing internal flash operations such as an instruction decoder and read, program and erase functions. Those skilled in the art will appreciate that these operations are performed in combination with the address data and program data stored in each address register 1012a and data register 1012b in response to the instruction data stored in instruction register 1012c, I will understand. The command data, the address data, and the program data are issued by the memory controller and latched into the corresponding registers by the flash memory 1010. The basic functions of the illustrated circuit blocks of flash memory 1010 are well known in the art. Those skilled in the art will appreciate that the flash memory 1010 shown in Figure 17A represents one possible flash memory configuration among many possible configurations.

플래시 메모리(1010)의 적절한 동작을 위해, 어드레스, 데이터 및 명령 정보를 저장한 레지스터가 신뢰할 수 있어야 한다. 레지스터에 저장된 부적절한 값은 장치 오동작을 초래한다. 예를 들면, 가변 공급 전압은 레지스터가 명령 레지스터(1012c)에 저장된 정보의 상태를 랜덤하게 변화시킬 수 있어, 수신된 프로그램이나 소거 명령에 대응하는 비트 패턴을 생성할 수 있게 된다. 그러한 경우에, 의사 프로그램 동작이 데이터 레지스터(1012b) 내의 랜덤 데이터가 메모리 어레이(1014)의 어드레스 레지스터(1012a)의 랜덤 어드레스로 프로그램되게 한다. 데이터가 이 어드레스에 존재한다면, 그 어드레스에 대응하는 메모리 셀은 프로그래밍 전압에 종속되며, 그 임계 전압이 변화될 수도 있다. 의사 소거 동작은 메모리 어레이(1014) 내의 기존의 데이터의 소거를 야기할 수 있다. 메모리 제어기가 플래시 메모리(1010)에 의해 실행되는 의사 동작을 인식하지 못하기 때문에, 손실 데이터가 검색될 수 없다.For proper operation of the flash memory 1010, the register storing the address, data, and instruction information must be reliable. Improper values stored in the register result in device malfunction. For example, the variable supply voltage can cause the register to randomly change the state of the information stored in the instruction register 1012c, thereby generating a bit pattern corresponding to the received program or erase instruction. In such a case, the pseudo-program operation causes the random data in data register 1012b to be programmed with the random address of address register 1012a of memory array 1014. [ If data is present at this address, the memory cell corresponding to that address is subject to the programming voltage, and its threshold voltage may change. The pseudo-erase operation may cause erasure of existing data in the memory array 1014. [ Since the memory controller does not recognize the pseudo operation performed by the flash memory 1010, the lost data can not be retrieved.

플래시 메모리(1010)의 레지스터는 2개의 안정 상태를 갖는 플립-플롭 회로로 일반적으로 설계된다. D 플립-플롭은 도 17b에 도시된 바와 같이, 당업계에 공지되어 있는 회로이다. D 플립-플롭(1050)은 CLK의 상승 에지와 같은 클록 신호(CLK)의 활성 에지에 내부적으로 래치되는 입력 데이터(D_IN)를 수신하는 D-입력을 갖는다. 래치될 때, Q-출력이 D_IN의 논리 상태에 대응하는 D_OUT을 제공하는 한편, 상보적인 Qb 출력은 D_IN의 반전된 논리 상태에 대응하는 D_OUTb를 제공한다. 리셋 입력은 신호 RESET이 예컨대, VSS 또는 접지와 같은 활성 논리 레벨에 있는 동안 래치를 클리어한다. 각 플립-플롭 회로는 그에 따라, 1비트의 데이터를 저장하고 명령 레지스터(1012c)는 복수의 플립-플롭 회로를 포함한다. 당업자에게 공지된 바와 같이, 플립-플롭 래치 회로는 한 쌍의 교차 연결된 반전 회로를 포함할 수 있다.The register of the flash memory 1010 is generally designed as a flip-flop circuit having two stable states. The D flip-flop is a circuit known in the art, as shown in Figure 17B. The D flip-flop 1050 has a D-input that receives input data D_IN internally latched at the active edge of the clock signal CLK, such as the rising edge of CLK. When latched, the Q-output provides D_OUT corresponding to the logic state of D_IN while the complementary Qb output provides D_OUTb corresponding to the inverted logic state of D_IN. The reset input clears the latch while signal RESET is at an active logic level, e. G. , V SS or ground. Each flip-flop circuit accordingly stores one bit of data and instruction register 1012c includes a plurality of flip-flop circuits. As is known to those skilled in the art, a flip-flop latch circuit may include a pair of crossed inverting circuits.

도 18은 일반적인 플래시 메모리(1010)에서의 전력 상승 및 전력 하강 동작 중의 전압원(VCC), 활성 저논리 레벨 리셋 신호(RST#), 및 활성 저논리 레벨 칩 인에이블 신호(CE#)의 시퀀스도를 나타낸다. 전력 상승 동작 중에, 전원 전압(VCC)은 온할 때(tON) 낮은 GND나 VSS 전압 레벨로부터 높은 VCC 전압 레벨로 전이를 시작한다. VCC 전압 레벨이 상승하고, 시간 tST에서, 안정적인 전압 레벨 VST에 도달하며, 그 때 플래시 메모리(1010)가 동작될 수 있다. 결국, VCC 전압 레벨은 시간 tV에서 최대 VCC 레벨에 도달한다. 관련 메모리 제어기로부터 수신되는 장치 리셋 및 인에이블 신호(RST# 및 CE#)는 각각 시간 tON에서 동시에 비활성 고논리 레벨로 구동되지만, VCC의 상승 전압에 따른다. RST#이 디어써트되거나 비활성 논리 레벨에 있으면, 장치는 "준비" 상태에 있고 메모리 제어기로부터 명령을 수신하도록 동작 가능하다. 선택적으로, 제어기는 장치가 리셋 상태에 있는 동안 비활성 고논리 레벨로 구동시킴으로써 시간 tON에서 CE# 신호를 디어써트한다. VCC가 그 최대 전압 레벨을 향해 상승하고 있기 때문에, CE#은 VCC 상승에 따른다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트될 수 있다. 시간 tCEOff는 RST# 신호가 디어써트되거나, 비활성 고논리 레벨로 구동된 후에(즉, 시간 tV 후에) 적어도 tCE#의 시간 간격이 경과한 후에 발생한다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 그러나, 시간 tON에서 시간 tV 까지의 VCC 전이 중에, 또는 적어도 시간 tST까지, 레지스터로의 제어 신호가 정확하게 제어될 수 없다. 이것이 플래시 메모리(1010)의 여러 개의 레지스터에 의사 정보가 저장되는 것을 유도할 수 있어, 플래시 메모리(1010) 내의 데이터 무결성의 손실을 초래하는 부적절한 프로그래밍이나 데이터의 소거를 야기할 수 있다.18 shows a sequence of a voltage source ( Vcc ), an active low logic level reset signal (RST #), and an active low logic level chip enable signal CE # during power up and power down operations in a general flash memory 1010 Fig. During a power-up operation, the supply voltage (V CC ) starts transitioning from a low GND or V SS voltage level to a high V CC voltage level when turned on (t ON ). V CC voltage level rises, and at time t ST, and reach a stable voltage level V ST, that is, the flash memory 1010 can be operated when. As a result, the V CC voltage level reaches the maximum V CC level at time t V. And a reset device is received from an associated memory controller enable signal (RST # and CE #) is high, but at the same time in each time t ON inert driven to a logic level to be in accordance with the rise of the voltage V CC. If RST # is deasserted or is at an inactive logic level, the device is in a "ready " state and is operable to receive an instruction from the memory controller. Optionally, the controller deasserts the CE # signal at time t ON by driving it to an inactive high logic level while the device is in the reset state. Since V CC rises toward its maximum voltage level, CE # follows V CC rise. The CE # signal can be asserted at time t CEOff to bring the device into normal operation. The time t CEOff occurs after at least the time interval of t CE # elapses after the RST # signal is deasserted or driven to an inactive high logic level (i.e., after time t V ). When the device enters the normal running state, the initializing operation can be executed at both the device level and the system level. However, during the V CC transition from time t ON to time t V , or at least until time t ST , the control signal to the register can not be accurately controlled. This can lead to the pseudo information being stored in several registers of the flash memory 1010, which can result in improper programming or erasure of data resulting in loss of data integrity in the flash memory 1010.

전력 전이 중의 무의식적인 프로그램/소거 동작으로 인한 데이터 무결성의 손실이, 속도의 점진적인 증가를 필요로 하고, 크기 감소뿐만 아니라, 더 낮은 전력 소비에 대한 요망이 플래시 메모리 장치가 더 낮은 VCC 전압 레벨에서 루틴하게 동작하는 것을 필요로 하는 현 세대의 플래시 장치에서는 악화된다. 더 낮은 동작 VCC 레벨이 플래시 장치의 여러 개의 레지스터에 저장되는 의사 정보와 관련된 문제를 확대시켜, 데이터 신뢰성에 나쁜 영향을 준다.The loss of data integrity due to unintentional program / erase operations during power transfer requires a gradual increase in speed and a reduction in size as well as a demand for lower power consumption may result in the flash memory device having a lower V CC voltage level It is exacerbated by the current generation of flash devices that need to be routinely operated. The lower operating V CC level expands the problem associated with the pseudo-information stored in the various registers of the flash device, which adversely affects data reliability.

비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작과 같은 전력 전이 중의 데이터 보호 방법을 설명한다. 어떠한 전력 전이를 어써트하기 전에, 리셋 신호가 메모리 장치의 기능을 디스에이블시키도록 어써트된다. 리셋 신호는 프리셋 시간 동안 유지되며, 그 동안 장치 전압이 안정화될 것으로 기대된다. 이 시간 동안, 장치의 명령 레지스터와 같은 모든 내부 레지스터들이 디폴트값으로 설정되어, 의사 프로그램/소거 명령이 장치에 의해 실행되는 것으로 인한 데이터 손실을 방지한다.A method of protecting data during a power transition such as a power rise and a power fall operation in a nonvolatile memory device will be described. Before any power transitions are asserted, a reset signal is asserted to disable the function of the memory device. The reset signal is maintained during the preset time, during which the device voltage is expected to stabilize. During this time, all internal registers, such as the device's instruction register, are set to default values to prevent data loss due to the pseudo program / erase instruction being executed by the device.

도 19는 본 발명의 일 실시예에 따르는 비휘발성 메모리 장치에서의 전력 상승 및 전력 하강 동작 중의 전압원(VCC), 활성 저논리 레벨 리셋 신호(RST#), 및 활성 저논리 레벨 칩 인에이블 신호(CE#)의 시퀀스도를 나타낸다. 앞서 기재된 바와 같이, VCC 전압은 시간 tON에서 낮은 GND나 VSS 전압 레벨로부터 높은 VCC 전압 레벨로 전이한다. 이와 달리, VCC 전압 레벨은 저전력 모드에서 VCC 전압 레벨로 전이할 수 있다. VCC 전압 레벨이 적시에 및 시간 tST에서 상승하여, 안정적인 전압 레벨 VST를 초과하며, 그 때 플래시 메모리(1010)가 동작될 수 있다. 결국, VCC 전압 레벨은 시간 tV에서 최대 VCC 레벨에 도달한다. 그러나, 의사 정보가 명령 레지스터에 래치되는 것으로 인한 장치 오동작을 방지하기 위해, 비휘발성 메모리 장치와 관련된 메모리 제어기와 같은 제어기가, 적어도 VCC 전압 레벨이 안정적인 VST 전압 레벨에 도달하는 데 필요한 시간(tON에서 tST까지의 시간)인 대기 기간 동안 장치의 모든 기능을 디스에이블시키도록 활성 저논리 레벨에 RST# 신호를 유지한다. 도 19에 도시된 실시예에서, RTS# 신호는, tON에서 tST + 적어도 VCC 레벨이 안정적인 전압 레벨 VST에 도달한 후의 시간 t1까지의 확장된 시간 tRST 동안 활성 저논리 레벨에 유지된다. 장치의 모든 내부 레지스터는 따라서, RTS# 신호가 활성 저논리 레벨에 있는 동안 디폴트 또는 리셋 상태로 유지될 것이다.FIG. 19 is a timing chart showing a voltage source ( Vcc ), an active low logic level reset signal (RST #), and an active low logic level chip enable signal ( Vcc ) during power up and power down operations in a nonvolatile memory device according to an embodiment of the present invention. (CE #). As previously described, the V CC voltage transitions from a low GND or V SS voltage level to a high V CC voltage level at time t ON . Alternatively, the V CC voltage level may transition from the low power mode to the V CC voltage level. The V CC voltage level may rise at timely and at time t ST , exceeding the stable voltage level V ST , at which time the flash memory 1010 may be operated. As a result, the V CC voltage level reaches the maximum V CC level at time t V. However, in order to prevent device malfunctions due to the pseudo information being latched into the command register, a controller such as a memory controller associated with the non-volatile memory device must be able to detect at least the time required for the V CC voltage level to reach a stable V ST voltage level and keeps the RST # signal at the active low logic level to disable all functions of the device during the waiting period, from t ON to t ST . In the embodiment shown in FIG. 19, the RTS # signal is at an active low logic level during an extended time t RST from t ON to t ST + at least V CC level up to time t 1 after reaching a stable voltage level V ST maintain. All internal registers of the device will therefore remain in the default or reset state while the RTS # signal is at the active low logic level.

결국, 제어기는 도 19에 도시된 바와 같이 시간 tRST 후에 RTS#을 디어써트할 것이다. 이 시간 이후에, 전력이 안정화되고, 그 후 장치 구성요소들이 동작을 위해 자신들을 준비하거나 초기화할 수 있다. 선택적으로, 제어기는 장치가 리셋 상태에 있는 동안 비활성 고논리 레벨로 CE# 신호를 구동시킴으로써 시간 tON에서 CE# 신호를 디어써트한다. VCC가 자신의 최대 전압 레벨로 상승하고 있기 때문에, CE#은 VCC 상승에 따른다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트될 수 있다. 시간 tCEOff는 RST# 신호가 디어써트되거나, 비활성 고논리 레벨로 구동된 후에 적어도 시간 간격 t2가 경과한 후에 발생한다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 전력 전이 동작 중에 소정 크기의 시간 동안 리셋 상태로 장치를 신중히 유지하는 것은 의사 정보가 장치의 여러 개의 레지스터에 저장되거나 래치되는 것을 방지한다. 장치는 그에 따라, 부적절하고 부주의한 프로그래밍 또는 데이터의 소거에 대해 보호되어, 전력 전이 중에 데이터 무결성을 보증한다.Eventually, the controller will deassert RTS # after time t RST as shown in FIG. After this time, the power is stabilized, and then the device components can prepare or initialize themselves for operation. Optionally, the controller deasserts the CE # signal at time t ON by driving the CE # signal to an inactive high logic level while the device is in the reset state. Since V CC rises to its maximum voltage level, CE # follows V CC rise. The CE # signal can be asserted at time t CEOff to bring the device into normal operation. CEOff time t occurs after the RST # signal is at least a time period t 2 has passed since the drive to the deasserted, or inactive high logic level. When the device enters the normal running state, the initializing operation can be executed at both the device level and the system level. Careful maintenance of the device in a reset state for a predetermined amount of time during a power transition operation prevents pseudo information from being stored or latched in the various registers of the device. The device is thereby protected against improper and careless programming or erasure of data, ensuring data integrity during power transfer.

데이터 보호를 보증하기 위한 유사한 절차가, VCC가 턴 오프되고 낮은 GND 또는 VSS 전압 레벨로 구동될 때, tOFF 이전의 소정의 시간에 RST#을 어써트함으로써 또는 RST#을 활성 저논리 레벨로 구동시킴으로써 전력 하강 동작 중에 이어질 수 있다.A similar procedure to ensure data protection can be achieved by asserting RST # at a predefined time before t OFF when V CC is turned off and driven to a low GND or V SS voltage level or by asserting RST # Lt; / RTI > during the power down operation.

본 발명의 일 실시예에 따르는 비휘발성 메모리 장치에서 전력 전이 중의 데이터 보호 방법을 나타내는 플로우차트가 도 20에 도시되어 있다. 플래시 메모리 장치와 같은 비휘발성 메모리 장치를 제어하는 메모리 제어기는 장치를 리셋 상태에 두도록 어떤 전력 전이 이전에 RST#을 낮게 유지한다(단계 1100). 이 시간 동안, 장치의 내부 레지스터가 디폴트 또는 리셋 상태로 설정된다. 제어기는 그 후, 전력을 전이시키고(단계 1102), 장치의 내부 전압이 안정화하도록 소정의 시간 동안 대기한다(단계 1104). 대기 시간은 도 19에 도시된 tRST에 대응하고, 적어도 VCC 전압 레벨이 안정적인 VST 전압 레벨에 도달하는 데 필요한 시간(tON에서 tST까지의 시간) + 적어도 VCC 레벨이 안정적인 전압 레벨 VST에 도달한 후의 시간 t1이다. 시간 t1은 동작 전압 및 프로세스 기술과 같은 장치 특성에 기초하여 결정될 수 있다. 예를 들어, RST#이낮게 즉, tRST로 유지되는 총 시간은 10□s 이상일 수 있다. 이 시간 동안, 장치의 여러 구성요소가 안정화하고, 클록이 동작적으로 되며 주파수 및 위상이 안정적으로 된다.A flowchart illustrating a method of protecting data during power transfer in a nonvolatile memory device according to an embodiment of the present invention is shown in FIG. A memory controller that controls non-volatile memory devices, such as flash memory devices, keeps RST # low prior to any power transition to place the device in a reset state (step 1100). During this time, the internal registers of the device are set to the default or reset state. The controller then transitions power (step 1102) and waits for a predetermined amount of time for the device's internal voltage to stabilize (step 1104). The standby time corresponds to t RST shown in Fig. 19, and at least the time required for the V CC voltage level to reach the stable V ST voltage level (the time from t ON to t ST ) + at least the V CC level becomes stable voltage level It is time t 1 after reaching V ST . The time t 1 may be determined based on device characteristics such as operating voltage and process technology. For example, the total time that RST # is kept low, that is, t RST , may be 10 s or more. During this time, various components of the device are stabilized, the clock becomes operational, and the frequency and phase become stable.

시간 tRST의 경과 후에, 제어기는 장치가 "준비" 상태에 있다고 예상될 때 RST# 하이 신호를 어써트한다(단계 1106). 도 19에 대해 설명한 바와 같이, 제어기는 장치가 리셋 상태에 있는 동안 시간 tON에서 CE# 신호를 어써트하여, 그 신호를 RST#이 디어써트된 후에 디스에이블된 상태로 보내어 메모리 장치가 리셋 상태로부터 해제된다. CE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 디어써트된다. 시간 tCEOff는 RST# 신호가 어써트된 후에 적어도 t2의 시간이 경과한 후이다. 장치가 정상 운행 상태에 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다(단계 1108). 시간 t1과 유사하게, 시간 t2는 장치 특성에 기초하여 결정될 수 있고, 하나의 메모리 시스템에서 다른 메모리 시스템으로 변화한다. 예를 들면, t2는 100□s 이상일 수 있다.After the elapse of the time t RST , the controller asserts the RST # high signal when the device is expected to be in the "ready " state (step 1106). 19, the controller asserts the CE # signal at time t ON while the device is in the reset state and sends the signal to the disabled state after RST # is deasserted so that the memory device is in the reset state . The CE # signal is deasserted at time t CEOff to bring the device into normal operation. The time t CEOff is after at least t 2 has elapsed since the RST # signal was asserted. When the device enters a normal running state, an initializing operation may be performed at both device level and system level (step 1108). Similar to time t 1 , time t 2 can be determined based on device characteristics and changes from one memory system to another. For example, t 2 may be greater than or equal to 100 s.

도 21은 본 발명의 일 실시예에 따라 데이터 보호를 보증하기 위해 전력 전이 중에 장치에 수반되는 단계를 나타낸다. 비휘발성 메모리 장치는 장치를 제어하는 메모리 제어기로부터 어떤 전력 전이 전에 RST# 로우(low) 신호를 수신한다(단계 1200). 그 후, 장치는 장치 구성요소를 활성화시키도록 제어기로부터 전력을 수신한다(단계 1202). 이 수신된 전력이 VSS 전압으로부터 또는 저전력 모드 전압 레벨로부터 완전 VCC 동작 전압 레벨까지의 증가일 수 있다. RST# 신호가 낮음으로 인해, 장치는 리셋 상태에 놓인다. 이 시간 중에, 장치의 내부 레지스터 및 어떤 유한 상태 머신이 디폴트 또는 리셋 상태로 설ㄹ정되어 유지된다(단계 1204). 그 후, 제어기는 장치의 내부 전압이 RST#을 높게 어써트하기 전에 안정화하도록 소정의 시간 동안 대기한다. 시간 tRST의 경과 후에, 제어기는 장치가 "준비" 상태에 있다고 예상될 때 RST# 하이 신호를 어써트한다. 장치는 RST# 하이 신호를 수신하여, 장치를 "준비" 상태로 둔다(단계 S1206). 제어기는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 CE# 신호를 어써트한다. 앞에서 기재된 바와 같이, 장치가 정상 운행 상태에 진입하면, 초기화 동작이 장치 레벨에서 실행될 수 있다(단계 1208).Figure 21 illustrates the steps followed by the device during power transfer to ensure data protection in accordance with one embodiment of the present invention. The non-volatile memory device receives the RST # low signal before any power transition from the memory controller that controls the device (step 1200). The device then receives power from the controller to activate the device component (step 1202). This received power may be from VSS voltage or from a low power mode voltage level to a full VCC operating voltage level. Due to the low RST # signal, the device is placed in a reset state. During this time, the internal registers of the device and some finite state machine are set to the default or reset state and are maintained (step 1204). Thereafter, the controller waits for a predetermined time to stabilize the internal voltage of the device before RST # is asserted high. After elapse of time t RST , the controller asserts the RST # high signal when the device is expected to be in the "ready " state. The device receives the RST # high signal and places the device in the "ready" state (step S1206). The controller asserts the CE # signal at time t CEOff to bring the device into normal operation. As previously described, if the device enters a normal running state, an initialization operation may be performed at the device level (step 1208).

이하 도 4의 메모리 시스템(200)에서의 전력 전이 중의 데이터 보호 방법을 논의한다. 전력 상승 시에, 메모리 제어기(202)는 전력이 안정화하고 장치가 자신의 동작을 준비하는 동안 모든 메모리 장치(204, 206, 208 및 210)를 리셋으로 유지하도록 리셋(RST#)을 낮게 유지한다. RST#은 도 19에 도시된 바와 같이 VCC가 안정화한 후에 t1의 최소 시간(예컨대, 20□s) 동안 제어기(202)에 의해 낮게 유지된다. RST#이 낮게 유지되는 동안, 메모리 내의 모든 유한 상태 머신이 초기화되고, 어떤 구성 및 상태 레지스터가 그들의 디폴트 또는 리셋 상태로 리셋된다. RST#이 고논리 레벨로 디어써트되기 전에, 클록이 동작적으로 되고 주파수 및 위상이 안정화된다. 도 19에 대해 앞서 기재한 바와 같이, 제어기(202)는 장치가 리셋 상태에 있는 동안 시간 tON에서 CE# 신호를 디어써트하고, RST#이 디어써트된 후에 CE#을 어써트한다. VCE# 신호는 장치를 정상 운행 상태로 진입시키도록 시간 tCEOff에서 어써트된다. 시간 tCEOff는 RST# 신호가 어써트된 후에 적어도 t2의 시간 간격이 경과한 후이다. 장치가 정상 운행 상태로 진입하면, 초기화 동작이 장치 레벨과 시스템 레벨의 양 레벨에서 실행될 수 있다. 초기화 동작의 예들은 장치 어드레스 및 식별자 생성과 직렬 접속의 각각의 장치에 대한 할당을 포함한다. 여러 가지의 장치 어드레스 및 식별자 생성 방법은 공동 계류 중인 미국 특허출원 11/622,828호; 11/750,649호; 11/692,452호; 11/692,446호; 11/692,326호; 및 11/771,023호에 기재되어 있다.A method of data protection during power transition in the memory system 200 of FIG. 4 will now be discussed. At power up, the memory controller 202 keeps the reset (RST #) low to keep all the memory devices 204, 206, 208 and 210 reset while the power stabilizes and the device is preparing its operation . RST # is kept low by the controller 202 for a minimum time of t 1 (e.g., 20 s) after V CC has stabilized, as shown in FIG. While RST # remains low, all finite state machines in memory are initialized, and some configuration and status registers are reset to their default or reset state. Before RST # is deasserted to a high logic level, the clock becomes operational and the frequency and phase are stabilized. As previously described for FIG. 19, the controller 202 asserts the CE #, after the device has asserted the media CE # signal at time t ON while the reset state and, RST # is deasserted. The VCE # signal is asserted at time t CEOff to bring the device into normal operation. The time t CEOff is after the time interval of at least t 2 elapses after the RST # signal is asserted. When the device enters the normal running state, the initializing operation can be executed at both the device level and the system level. Examples of initialization operations include device address and identifier generation and allocation for each device in a serial connection. Various methods for generating device addresses and identifiers are disclosed in co-pending U.S. Patent Application 11 / 622,828; 11 / 750,649; 11 / 692,452; 11 / 692,446; 11 / 692,326; And 11 / 771,023.

전력 전이 동작 동안의 소정 크기의 시간 동안 장치가 리셋 상태에 있는 것을 보증함으로ㅆ, 의사 정보가 장치의 여러 레지스터에 저장되거나 래치되는 것을 방지한다. 장치는 그에 따라 부적절한 프로그래밍이나 데이터의 소거에 대해 보호되어, 전력 전이 중의 데이터 무결성을 보증한다.By ensuring that the device is in a reset state for a predetermined amount of time during a power transition operation, it prevents pseudo information from being stored or latched in various registers of the device. The device is thereby protected against improper programming or erasure of data, ensuring data integrity during power transfer.

이상의 설명에서, 설명을 위해 발명의 실시예들의 이해를 통해 제공하기 위해 다수의 상세한 설명이 나타나 있다. 그러나, 당업자에게는 이들 특정의 상세한 설명이 발명을 실시하기 위해 필요한 것이 아님이 명백하게 된다. 다른 경우에, 잘 알려진 전기 구성 및 회로가 발명을 명확하게 하기 위해 블록도 형태로 도시된다. 예를 들면, 여기에 기재된 발명의 실시예들이 소프트웨어 루틴, 하드웨어 회로, 펌웨어, 또는 그 조합으로서 실현되는지에 관한 특정의 상세한 설명이 제공되지 않는다.In the foregoing description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of embodiments of the invention. However, it will be apparent to those skilled in the art that these specific details are not required to practice the invention. In other instances, well-known electrical configurations and circuits are shown in block diagram form in order to facilitate clarity of the invention. For example, no specific details are provided as to whether embodiments of the invention described herein are implemented as software routines, hardware circuits, firmware, or combinations thereof.

발명의 실시예들은 머신으로 판독 가능한 매체(또한 컴퓨터로 판독 가능한 매체, 프로세서로 판독 가능한 매체, 또는 컴퓨터에서 구현되는 컴퓨터로 판독 가능한 프로그램 코드를 갖는 컴퓨터에 사용 가능한 매체라고도 칭해짐)에 저장되는 소프트웨어 제품으로 나타날 수 있다. 머신으로 판독 가능한 매체는 자기, 광학, 또는 디스켓, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 메모리장치(휘발성 또는 비휘발성), 또는 유사한 저장 메커니즘을 포함하는 전기 저장 매체를 포함하는 어떠한 적절한 유형의 매체일 수 있다. 머신으로 판독 가능한 매체는 프로세서가 발명의 일 실시예에 따르는 방법의 단계들을 실행하게 하는 명령, 코드 시퀀스, 구성 정보 또는 다른 데이터의 여러 가지 세트를 포함할 수 있다. 당업자는 기재된 발명을 실현하는 데 필요한 다른 명령 및 동작이 머신으로 판독 가능한 매체에 저장될 수도 있다는 것을 이해할 것이다. 머신으로 판독 가능한 매체로부터 구동하는 소프트웨어는 기재된 태스크(task)를 실행하도록 회로와 인터페이스할 수 있다.Embodiments of the invention may be practiced with other types of computer-readable media, such as computer readable media (also referred to as computer usable media having computer readable program code embodied in a computer readable medium, Products. The machine-readable medium may be any suitable type of storage medium, including magnetic, optical, or electrical storage media including diskettes, compact disk read only memory (CD-ROM), memory devices (volatile or nonvolatile) Lt; / RTI > The machine-readable medium may include various sets of instructions, code sequences, configuration information, or other data that cause the processor to perform the steps of the method in accordance with an embodiment of the invention. Those skilled in the art will appreciate that other instructions and operations necessary to realize the described invention may be stored in a machine-readable medium. Software running from a machine-readable medium may interface with the circuitry to execute the tasks described.

상술한 본 발명의 실시예들은 예로서만 의도된다. 변경, 변형 및 수정이 여기에 첨부된 청구항들에 의해서만 정해지는 발명의 범위로부터 벗어남 없이 당업자에 의해 특정 실시예들에 대해 실현될 수 있다.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 (22)

직렬로 접속되는 메모리 장치를 갖는 메모리 시스템의 선택된 메모리 장치에서의 동시 동작을 실행하는 방법으로서,
상기 선택된 메모리 장치에 대응하는 장치 어드레스를 포함하는 제1 명령을, 상기 선택된 메모리 장치에서, 수신하는 단계;
상기 제1 명령에 응답하여 상기 선택된 메모리 장치의 제1 메모리 뱅크에서 코어 동작을 실행하는 단계;
상기 제1 메모리 뱅크에서 코어 동작을 실행하는 동안 제2 명령을, 상기 선택된 메모리 장치에서, 수신하는 단계로서, 상기 제2 명령이 상기 선택된 메모리 장치에 대응하는 상기 장치 어드레스를 포함하는, 제2 명령을 수신하는 단계; 및
상기 제2 명령에 응답하여 상기 선택된 메모리 장치의 제2 메모리 뱅크에서 코어 동작을 실행하는 단계를 포함하는, 동시 동작의 실행 방법.
CLAIMS What is claimed is: 1. A method for performing concurrent operation in selected memory devices of a memory system having serially connected memory devices,
Receiving, in the selected memory device, a first instruction comprising a device address corresponding to the selected memory device;
Executing a core operation in a first memory bank of the selected memory device in response to the first instruction;
Receiving a second instruction in the selected memory device while executing a core operation in the first memory bank, wherein the second instruction comprises the device address corresponding to the selected memory device, ; And
And executing a core operation in a second memory bank of the selected memory device in response to the second instruction.
청구항 1에 있어서,
상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나로부터 결과 정보를 요구하는 제3 명령을 수신하는 단계; 및
상기 제3 명령에 응답하여 상기 결과 정보를 포함하는 판독 데이터 패킷을 출력하는 단계를 더 포함하는, 동시 동작의 실행 방법.
The method according to claim 1,
Receiving a third instruction requesting result information from one of the first memory bank and the second memory bank; And
And outputting a read data packet including the result information in response to the third instruction.
청구항 2에 있어서, 상기 결과 정보는 상태 레지스터 데이터 및 판독 데이터 중 하나를 포함하는, 동시 동작의 실행 방법.3. The method of claim 2, wherein the result information comprises one of status register data and read data. 청구항 2에 있어서, 상기 제1 명령, 상기 제2 명령 및 상기 제3 명령은,
동작 코드 및 장치 어드레스를 제공하는 필수 명령 필드,
상기 동작 코드가 판독 또는 기록 동작에 대응할 때 로우 및 칼럼 어드레스 중 하나를 제공하는 상기 명령 필드에 후속하는 선택적인 어드레스 필드, 및
상기 동작 코드가 상기 기록 동작에 대응할 때 기록 데이터를 제공하는 상기 어드레스 필드에 후속하는 선택적인 데이터 필드를
포함하도록 논리적으로 구성되는 일련의 비트를 포함하는 명령 패킷인, 동시 동작의 실행 방법.
The method of claim 2, wherein the first instruction, the second instruction,
A mandatory command field providing an operation code and a device address,
An optional address field subsequent to the command field providing one of a row and column address when the operation code corresponds to a read or write operation, and
An optional data field subsequent to the address field providing write data when the operation code corresponds to the write operation
Wherein the instruction packet is a command packet comprising a series of bits logically configured to comprise a plurality of bits.
청구항 4에 있어서,
제1 명령 스트로브가 상기 제1 명령과 병렬로 수신되고, 상기 제1 명령 스트로브는 상기 제1 명령의 길이에 대응하는 활성 지속기간을 가지며,
제2 명령 스트로브가 상기 제2 명령과 병렬로 수신되고, 상기 제2 명령 스트로브는 상기 제2 명령의 길이에 대응하는 활성 지속기간을 갖는, 동시 동작의 실행 방법.
The method of claim 4,
Wherein a first command strobe is received in parallel with the first command and the first command strobe has an active duration corresponding to the length of the first command,
Wherein a second command strobe is received in parallel with the second command and the second command strobe has an active duration corresponding to the length of the second command.
청구항 5에 있어서, 데이터 입력 스트로브가 상기 데이터 입력 스트로브가 활성 레벨에 있는 동안 상기 판독 데이터 패킷의 출력을 인에이블시키도록 수신되는, 동시 동작의 실행 방법.6. The method of claim 5, wherein the data input strobe is received to enable the output of the read data packet while the data input strobe is at the active level. 청구항 6에 있어서, 상기 제1 명령 스트로브 및 상기 제2 명령 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리되는, 동시 동작의 실행 방법.7. The method of claim 6, wherein the first command strobe and the second command strobe are separated by at least one data latching clock edge. 청구항 6에 있어서, 상기 제2 명령 스트로브 및 상기 데이터 입력 스트로브는 적어도 하나의 데이터 래칭 클록 에지에 의해 분리되는, 동시 동작의 실행 방법.7. The method of claim 6, wherein the second instruction strobe and the data input strobe are separated by at least one data latching clock edge. 청구항 1에 있어서, 상기 제1 명령을 수신하기 전에 상기 선택된 메모리 장치의 전력을 상승시키는 단계를 더 포함하는, 동시 동작의 실행 방법.2. The method of claim 1, further comprising: raising the power of the selected memory device before receiving the first instruction. 청구항 9에 있어서, 상기 전력을 상승시키는 단계는,
제어 신호를 어써트하여(asserting) 전력 전이 전에 상기 선택된 메모리 장치를 디폴트 상태로 유지하는 단계;
상기 제어 신호가 어써트되는 동안 상기 선택된 메모리 장치의 전력 레벨을 제1 전압 레벨로부터 제2 전압 레벨로 전이하는 단계;
상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
상기 선택된 메모리 장치를 상기 디폴트 상태로부터 해제하도록 상기 제어 신호를 디어써트하여(de-asserting), 상기 선택된 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 동시 동작의 실행 방법.
10. The method of claim 9,
Asserting a control signal to maintain the selected memory device in a default state prior to power transfer;
Transitioning the power level of the selected memory device from a first voltage level to a second voltage level while the control signal is asserted;
Waiting for a predetermined duration so that the power level is stabilized; And
De-asserting the control signal to release the selected memory device from the default state to prevent an accidental program or erase operation in the selected memory device.
청구항 10에 있어서, 상기 제2 전압 레벨은 안정적인 회로 동작을 위한 최소 전압 레벨인, 동시 동작의 실행 방법.11. The method of claim 10, wherein the second voltage level is a minimum voltage level for stable circuit operation. 청구항 10에 있어서, 상기 제2 전압 레벨은 전원의 최대 동작 전압 레벨인, 동시 동작의 실행 방법.11. The method of claim 10, wherein the second voltage level is a maximum operating voltage level of the power supply. 청구항 10에 있어서, 상기 제1 전압 레벨은 전원의 저전력 모드 동작 전압 레벨에 대응하는, 동시 동작의 실행 방법.11. The method of claim 10, wherein the first voltage level corresponds to a low power mode operating voltage level of the power supply. 청구항 10에 있어서, 상기 제1 전압 레벨은 전원의 부재(不在) 상태에 대응하는, 동시 동작의 실행 방법.11. The method of claim 10, wherein the first voltage level corresponds to an absence of power source. 청구항 10에 있어서, 상기 메모리 장치를 상기 디폴트 상태로 유지하는 단계는 상기 메모리 장치 내의 장치 레지스터를 디폴트값으로 설정하는 단계를 포함하는, 동시 동작의 실행 방법.11. The method of claim 10, wherein maintaining the memory device in the default state comprises setting a device register in the memory device to a default value. 청구항 15에 있어서, 상기 장치 레지스터는 명령 레지스터를 포함하는, 동시 동작의 실행 방법.16. The method of claim 15, wherein the device register comprises an instruction register. 청구항 10에 있어서, 상기 디폴트 상태로부터 상기 메모리 장치의 해제 시에 장치 초기화를 실행하는 단계를 더 포함하는, 동시 동작의 실행 방법.11. The method of claim 10, further comprising: performing device initialization upon release of the memory device from the default state. 청구항 17에 있어서, 상기 장치 초기화를 실행하는 단계는 상기 메모리 장치에 대한 장치 어드레스 및 장치 식별자 정보를 생성하는 단계를 포함하는, 동시 동작의 실행 방법.18. The method of claim 17, wherein performing device initialization comprises generating device address and device identifier information for the memory device. 청구항 9에 있어서, 상기 전력을 상승시키는 단계는,
제1 시간에 제어 신호를 어써트하여 전력 전이 전에 상기 메모리 장치를 디폴트 상태로 유지하는 단계;
상기 제어 신호가 어써트되는 동안 제2 후속 시간에 상기 메모리 장치의 전력 레벨을 제1 레벨로부터 제2 레벨로 전이하는 단계;
상기 전력 레벨이 안정화되도록 미리 정해진 지속시간 동안 대기하는 단계; 및
상기 메모리 장치를 상기 디폴트 상태로부터 해제하도록 제3 후속 시간에 상기 제어 신호를 디어써트하여, 상기 메모리 장치에서 우발적인 프로그램 또는 소거 동작을 방지하는 단계를 포함하는, 동시 동작의 실행 방법.
10. The method of claim 9,
Asserting a control signal at a first time to maintain the memory device in a default state prior to power transfer;
Transitioning the power level of the memory device from a first level to a second level at a second subsequent time while the control signal is asserted;
Waiting for a predetermined duration so that the power level is stabilized; And
Deasserting the control signal at a third subsequent time to release the memory device from the default state, thereby preventing an accidental program or erase operation in the memory device.
삭제delete 삭제delete 삭제delete
KR1020127021608A 2006-08-22 2007-08-22 Scalable memory system KR101476515B1 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US83932906P 2006-08-22 2006-08-22
US60/839,329 2006-08-22
US86877306P 2006-12-06 2006-12-06
US60/868,773 2006-12-06
US90200307P 2007-02-16 2007-02-16
US60/902,003 2007-02-16
US89270507P 2007-03-02 2007-03-02
US60/892,705 2007-03-02
US11/840,692 US7904639B2 (en) 2006-08-22 2007-08-17 Modular command structure for memory and memory system
US11/840,692 2007-08-17
PCT/CA2007/001469 WO2008022454A1 (en) 2006-08-22 2007-08-22 Scalable memory system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097005767A Division KR101476463B1 (en) 2006-08-22 2007-08-22 scalable memory system

Publications (2)

Publication Number Publication Date
KR20120110157A KR20120110157A (en) 2012-10-09
KR101476515B1 true KR101476515B1 (en) 2014-12-24

Family

ID=39106444

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127021608A KR101476515B1 (en) 2006-08-22 2007-08-22 Scalable memory system
KR1020097005767A KR101476463B1 (en) 2006-08-22 2007-08-22 scalable memory system

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097005767A KR101476463B1 (en) 2006-08-22 2007-08-22 scalable memory system

Country Status (7)

Country Link
EP (1) EP2062261A4 (en)
JP (2) JP5575474B2 (en)
KR (2) KR101476515B1 (en)
CN (2) CN102760476A (en)
CA (1) CA2659828A1 (en)
TW (1) TWI437577B (en)
WO (1) WO2008022454A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216655B2 (en) 2016-03-02 2019-02-26 Electronics And Telecommunications Research Institute Memory expansion apparatus includes CPU-side protocol processor connected through parallel interface to memory-side protocol processor connected through serial link
US11482158B2 (en) 2020-05-25 2022-10-25 Samsung Electronics Co., Ltd. Display driver IC and display device including the same

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865756B2 (en) 2007-03-12 2011-01-04 Mosaid Technologies Incorporated Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US8467486B2 (en) 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
JP2012504263A (en) * 2008-09-30 2012-02-16 モサイド・テクノロジーズ・インコーポレーテッド Serially connected memory system with output delay adjustment
US7957173B2 (en) * 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
EP2359372B1 (en) * 2008-12-18 2020-04-08 NovaChips Canada Inc. Error detection method and a system including one or more memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US20110258366A1 (en) * 2010-04-19 2011-10-20 Mosaid Technologies Incorporated Status indication in a system having a plurality of memory devices
WO2011134051A1 (en) * 2010-04-26 2011-11-03 Mosaid Technologies Incorporated Serially connected memory having subdivided data interface
US8856482B2 (en) * 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
US9239806B2 (en) * 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
CN102508797B (en) * 2011-10-27 2015-02-11 忆正存储技术(武汉)有限公司 Flash memory control expanding module, controller, storage system and data transmission method thereof
TWI581267B (en) * 2011-11-02 2017-05-01 諾瓦晶片加拿大公司 Flash memory module and memory subsystem
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8966151B2 (en) * 2012-03-30 2015-02-24 Spansion Llc Apparatus and method for a reduced pin count (RPC) memory bus interface including a read data strobe signal
US9760149B2 (en) * 2013-01-08 2017-09-12 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
KR20150110918A (en) 2014-03-21 2015-10-05 에스케이하이닉스 주식회사 Semiconductor memory device
US9792227B2 (en) * 2014-08-19 2017-10-17 Samsung Electronics Co., Ltd. Heterogeneous unified memory
JP6453718B2 (en) * 2015-06-12 2019-01-16 東芝メモリ株式会社 Semiconductor memory device and memory system
KR102296740B1 (en) * 2015-09-16 2021-09-01 삼성전자 주식회사 Memory device and memory system including the same
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
KR102532528B1 (en) * 2016-04-07 2023-05-17 에스케이하이닉스 주식회사 Memory device and operating method thereof
KR102514717B1 (en) * 2016-10-24 2023-03-27 삼성전자주식회사 Memory controller and memory system including the same
KR102336666B1 (en) * 2017-09-15 2021-12-07 삼성전자 주식회사 Memory device and memory system comprising the same
KR20190112546A (en) * 2018-03-26 2019-10-07 에스케이하이닉스 주식회사 Memory system and operating method thereof
US10372330B1 (en) 2018-06-28 2019-08-06 Micron Technology, Inc. Apparatuses and methods for configurable memory array bank architectures
US11043488B2 (en) * 2019-01-24 2021-06-22 Western Digital Technologies, Inc. High voltage protection for high-speed data interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07327179A (en) * 1994-05-31 1995-12-12 Canon Inc Changeover device for plural video images
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
JP3853537B2 (en) * 1999-04-30 2006-12-06 株式会社日立製作所 Semiconductor memory file system
US6449308B1 (en) * 1999-05-25 2002-09-10 Intel Corporation High-speed digital distribution system
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
TW504694B (en) * 2000-01-12 2002-10-01 Hitachi Ltd Non-volatile semiconductor memory device and semiconductor disk device
JP2001266579A (en) * 2000-01-12 2001-09-28 Hitachi Ltd Non-volatile semiconductor memory device and semiconductor disk device
US6754129B2 (en) * 2002-01-24 2004-06-22 Micron Technology, Inc. Memory module with integrated bus termination
US20040022022A1 (en) * 2002-08-02 2004-02-05 Voge Brendan A. Modular system customized by system backplane
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
JP2004110849A (en) * 2003-12-01 2004-04-08 Toshiba Corp Semiconductor system and memory card

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216655B2 (en) 2016-03-02 2019-02-26 Electronics And Telecommunications Research Institute Memory expansion apparatus includes CPU-side protocol processor connected through parallel interface to memory-side protocol processor connected through serial link
US11482158B2 (en) 2020-05-25 2022-10-25 Samsung Electronics Co., Ltd. Display driver IC and display device including the same
US11804167B2 (en) 2020-05-25 2023-10-31 Samsung Electronics Co., Ltd. Display drive IC and display device including the same

Also Published As

Publication number Publication date
TWI437577B (en) 2014-05-11
CN101506895A (en) 2009-08-12
JP2012226786A (en) 2012-11-15
EP2062261A1 (en) 2009-05-27
JP2010501916A (en) 2010-01-21
JP5575474B2 (en) 2014-08-20
TW200828338A (en) 2008-07-01
KR101476463B1 (en) 2014-12-24
KR20120110157A (en) 2012-10-09
CN102760476A (en) 2012-10-31
KR20090045366A (en) 2009-05-07
EP2062261A4 (en) 2010-01-06
CA2659828A1 (en) 2008-02-28
CN101506895B (en) 2012-06-27
WO2008022454A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
KR101476515B1 (en) Scalable memory system
US8671252B2 (en) Scalable memory system
ES2489844T3 (en) Serial core architecture of nonvolatile memory
US8432767B2 (en) Clock mode determination in a memory system
US8270244B2 (en) Dual function compatible non-volatile memory device
KR101260632B1 (en) Memory with output control
US8812768B2 (en) System having one or more memory devices
JP2013225352A (en) Flash memory device
CA2676610A1 (en) System having one or more memory devices
WO2007036047A1 (en) Multiple independent serial link memory
JP2010113777A (en) Semiconductor memory device and its read access method

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 5