KR20170001858A - Nonvolatile memory module and operation method thereof - Google Patents

Nonvolatile memory module and operation method thereof Download PDF

Info

Publication number
KR20170001858A
KR20170001858A KR1020150091083A KR20150091083A KR20170001858A KR 20170001858 A KR20170001858 A KR 20170001858A KR 1020150091083 A KR1020150091083 A KR 1020150091083A KR 20150091083 A KR20150091083 A KR 20150091083A KR 20170001858 A KR20170001858 A KR 20170001858A
Authority
KR
South Korea
Prior art keywords
ram
processor
data
volatile memory
nonvolatile memory
Prior art date
Application number
KR1020150091083A
Other languages
Korean (ko)
Other versions
KR102457805B1 (en
Inventor
이한주
서성용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150091083A priority Critical patent/KR102457805B1/en
Priority to US15/083,425 priority patent/US10152413B2/en
Publication of KR20170001858A publication Critical patent/KR20170001858A/en
Priority to US16/195,533 priority patent/US10649894B2/en
Application granted granted Critical
Publication of KR102457805B1 publication Critical patent/KR102457805B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

A nonvolatile memory module according to the present invention includes at least one nonvolatile memory device and a device controller for receiving a storage command from an external device and performing an operation corresponding to the received storage command. The device controller includes a random access memory (RAM), completes the corresponding operation, stores status information in the RAM and transmits a notification signal to the external device. So, the performance of the nonvolatile memory module can be improved.

Description

불휘발성 메모리 모듈 및 그것의 동작 방법{NONVOLATILE MEMORY MODULE AND OPERATION METHOD THEREOF}NONVOLATILE MEMORY MODULE AND OPERATION METHOD THEREOF FIELD OF THE INVENTION [0001]

본 발명은 반도체 메모리에 관한 것으로서 더욱 상세하게는 불휘발성 메모리 모듈 및 그것의 동작 방법에 관한 것이다.The present invention relates to a semiconductor memory, and more particularly, to a nonvolatile memory module and an operation method thereof.

반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.A semiconductor memory device is a memory device implemented using semiconductors such as silicon (Si), germanium (Ge), gallium arsenide (GaAs), indium phosphide (InP) to be. Semiconductor memory devices are classified into a volatile memory device and a nonvolatile memory device.

불휘발성 메모리 장치의 일종인 플래시 메모리는 대용량, 저소음, 저전력 등의 장점으로 인하여 다양한 분야에서 스토리지 장치로 널리 쓰인다. 특히, 플래시 메모리를 기반으로 구현된 솔리드 스테이트 드라이브(SSD)는 개인용 컴퓨터, 노트북, 워크 스테이션, 서버 시스템 등에서 대용량 스토리지로서 사용된다. 일반적인 SSD 장치들은 SATA 인터페이스 또는 PCI-express 인터페이스를 기반으로 컴퓨팅 시스템과 연결된다. 그러나 최근에는 컴퓨팅 시스템에서 처리되는 데이터가 증가함에 따라 SSD 장치들과 연결된 인터페이스의 데이터 대역폭 또는 통신 속도보다 데이터 처리량이 많아져서 데이터 병목 현상이 발생한다. 이러한 현상들은 컴퓨팅 시스템의 성능을 저해하는 요인으로 작용되며, 상술된 문제점을 해결하기 위한 다양한 성능 향상 기법들이 개발되고 있다.Flash memory, which is a type of nonvolatile memory device, is widely used as a storage device in various fields because of its advantages such as large capacity, low noise and low power. In particular, solid state drives (SSDs) based on flash memory are used as mass storage in personal computers, notebooks, workstations, and server systems. Typical SSD devices are connected to a computing system based on a SATA interface or a PCI-express interface. In recent years, however, as the amount of data processed in the computing system increases, the data throughput becomes larger than the data bandwidth or communication speed of the interface connected to the SSD devices, resulting in a data bottleneck. These phenomena act as a factor that hinders the performance of the computing system, and various performance enhancement techniques for solving the above-mentioned problems are being developed.

본 발명의 목적은 불휘발성 메모리 모듈의 성능을 향상시키기 위하여, 알림 신호를 외부 장치(즉, 호스트)로 전송하여 수신된 커맨드에 대응하는 동작의 완료 유무를 알리는 불휘발성 메모리 모듈 및 그것의 동작 방법을 제공하는데 있다. An object of the present invention is to provide a nonvolatile memory module that transmits a notification signal to an external device (that is, a host) to notify completion of an operation corresponding to a received command, and an operation method thereof .

본 발명의 실시 예에 따른 불휘발성 메모리 모듈은 적어도 하나의 불휘발성 메모리 장치; 및 외부 장치로부터 스토리지 커맨드를 수신하고, 상기 수신된 스토리지 커맨드에 대응하는 동작을 수행하는 장치 컨트롤러를 포함하고, 상기 장치 컨트롤러는 램을 포함하고, 상기 장치 컨트롤러는 상기 대응하는 동작을 완료한 이후에, 상기 램에 상태 정보를 저장한 후, 알림 신호를 상기 외부 장치로 전송한다.A non-volatile memory module according to an embodiment of the present invention includes at least one non-volatile memory device; And a device controller for receiving a storage command from an external device and performing an operation corresponding to the received storage command, wherein the device controller includes a RAM, and the device controller, after completing the corresponding operation Stores the state information in the RAM, and transmits a notification signal to the external device.

실시 예로서, 상기 상태 정보는 상기 대응하는 동작의 완료에 대한 정보를 포함한다.In an embodiment, the status information includes information about the completion of the corresponding operation.

실시 예로서, 상기 장치 컨트롤러는 상기 알림 신호를 상기 외부 장치로 전송한 이후에, 상기 외부 장치의 요청에 따라 상기 상태 정보를 상기 외부 장치로 전송한다.As an embodiment, the device controller transmits the status information to the external device at the request of the external device after transmitting the notification signal to the external device.

실시 예로서, 상기 장치 컨트롤러는 DDR(Double Data Rate) 인터페이스를 기반으로 상기 외부 장치와 통신하는 것을 특징으로 한다.In an embodiment, the device controller communicates with the external device based on a DDR (Double Data Rate) interface.

본 발명에 따른 불휘발성 메모리 모듈은 적어도 하나의 불휘발성 메모리 장치 및 상기 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함한다. 상기 불휘발성 메모리 모듈의 동작 방법은 외부 장치로부터 스토리지 커맨드를 수신하는 단계; 상기 수신된 스토리지 커맨드에 대응하는 동작을 수행하는 단계; 상기 대응하는 동작을 완료한 이후에, 상태 정보를 상기 메모리 컨트롤러의 램에 저장하는 단계; 및 상기 램에 상기 상태 정보를 저장한 이후에 상기 외부 장치로 알림 신호를 전송하는 단계를 포함한다.A non-volatile memory module according to the present invention includes at least one non-volatile memory device and a memory controller for controlling the at least one non-volatile memory device. The method of operating the non-volatile memory module includes receiving a storage command from an external device; Performing an operation corresponding to the received storage command; Storing the state information in the RAM of the memory controller after completing the corresponding operation; And transmitting the notification signal to the external device after storing the status information in the RAM.

본 발명의 실시 예에 따른 사용자 시스템은 프로세서 및 상기 프로세서와 전기적으로 연결된 불휘발성 메모리 모듈을 포함한다. 상기 가용자 시스템의 동작 방법은 상기 프로세서가 상기 불휘발성 메모리 모듈로 스토리지 커맨드를 전송하는 단계; 상기 불휘발성 메모리 모듈이 상기 스토리지 커맨드에 응답하여 상기 스토리지 커맨드에 대응하는 동작을 수행하는 단계; 상기 대응하는 동작이 완료된 이후에, 상기 불휘발성 메모리 모듈이 상기 프로세서로 알림 신호를 전송하는 단계; 상기 프로세서가 상기 알림 신호에 응답하여 상기 불휘발성 메모리 시스템으로 램 커맨드 및 램 어드레스를 전송하는 단계; 상기 불휘발성 메모리 모듈이 상기 램 커맨드 및 램 어드레스에 응답하여 상태 정보를 상기 프로세서로 전송하는 단계를 포함한다.A user system according to an embodiment of the present invention includes a processor and a non-volatile memory module electrically connected to the processor. The method of claim 1, further comprising the steps of: the processor transmitting a storage command to the non-volatile memory module; The nonvolatile memory module performing an operation corresponding to the storage command in response to the storage command; After the corresponding operation is completed, the nonvolatile memory module transmits a notification signal to the processor; The processor sending a RAM command and a RAM address to the non-volatile memory system in response to the notification signal; And the nonvolatile memory module transmitting status information to the processor in response to the RAM command and the RAM address.

본 발명에 따르면, 불휘발성 메모리 시스템은 외부 장치로부터 수신된 커맨드에 대응하는 동작을 완료한 이후에 알림 신호를 외부 장치로 전송한다. 외부 장치는 알림 신호에 응답하여 불휘발성 메모리 시스템에 포함된 상태 정보를 읽음으로써 불휘발성 메모리 시스템의 동작 완료를 인지할 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 동작 방법이 제공된다.According to the present invention, the nonvolatile memory system transmits the notification signal to the external device after completing the operation corresponding to the command received from the external device. The external device can recognize completion of the operation of the nonvolatile memory system by reading the status information included in the nonvolatile memory system in response to the notification signal. Thus, a non-volatile memory system with improved performance and a method of operation thereof are provided.

도 1은 본 발명의 실시 예에 따른 사용자 시스템을 보여주는 블록도이다.
도 2는 도 1의 램을 설명하기 위한 도면이다.
도 3은 도 1의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다.
도 4는 도 1의 사용자 시스템의 쓰기 동작을 설명하기 위한 순서도이다.
도 5 내지 7은 도 4의 쓰기 동작을 좀 더 상세하게 설명하기 위한 도면들이다.
도 8은 도 1의 사용자 시스템의 읽기 동작을 보여주는 순서도이다.
도 9 내지 도 11은 도 8의 읽기 동작을 상세하게 설명하기 위한 도면들이다.
도 12는 본 발명의 다른 실시 예에 따른 사용자 시스템을 보여주는 블록도이다.
도 13은 도 12의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다.
도 14는 도 12의 사용자 시스템의 쓰기 동작을 상세하게 보여주는 순서도이다.
도 15는 도 14의 S2160 단계 및 S2170 단계를 상세하게 설명하기 위한 도면이다.
도 16은 도 12의 사용자 시스템의 읽기 동작을 보여주는 순서도이다.
도 17은 본 발명의 또 다른 실시 예에 따른 사용자 시스템을 보여주는 블록도이다.
도 18은 도 17의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다.
도 19는 도 17의 사용자 시스템의 쓰기 동작을 상세하게 보여주는 순서도이다.
도 20은 도 19의 S3160 단계 및 S3170 단계의 동작들을 설명하기 위한 도면이다.
도 21은 도 17의 사용자 시스템의 읽기 동작을 상세하게 보여주는 순서도이다.
도 22는 도 1의 복수의 불휘발성 메모리 장치들 중 제1 불휘발성 메모리 장치를 예시적으로 보여주는 블록도이다.
도 23은 도 22의 메모리 셀 어레이에 포함된 메모리 블록들 중 제1 메모리 블록의 예를 보여주는 회로도이다.
도 24는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
도 25는 도 24의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다.
도 26은 도 24의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다.
도 27은 본 발명에 따른 불휘발성 메모리 모듈이 적용된 컴퓨팅 시스템의 다른 예를 예시적으로 보여주는 블록도이다.
도 28은 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 29는 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 30은 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 31은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템이 적용된 서버 시스템을 예시적으로 보여주는 도면이다.
1 is a block diagram illustrating a user system in accordance with an embodiment of the present invention.
Fig. 2 is a diagram for explaining the RAM of Fig.
3 is a flow chart illustrating the operation of the nonvolatile memory system of FIG.
4 is a flowchart for explaining a write operation of the user system of FIG.
5 to 7 are views for explaining the writing operation of FIG. 4 in more detail.
8 is a flowchart showing a read operation of the user system of FIG.
FIGS. 9 to 11 are views for explaining the read operation of FIG. 8 in detail.
12 is a block diagram illustrating a user system according to another embodiment of the present invention.
13 is a flowchart showing the operation of the nonvolatile memory system of FIG.
FIG. 14 is a flowchart showing a write operation of the user system of FIG. 12 in detail.
FIG. 15 is a diagram for explaining steps S2160 and S2170 of FIG. 14 in detail.
16 is a flowchart showing a read operation of the user system of FIG.
17 is a block diagram illustrating a user system according to another embodiment of the present invention.
18 is a flowchart showing the operation of the nonvolatile memory system of FIG.
FIG. 19 is a flowchart showing the write operation of the user system of FIG. 17 in detail.
20 is a diagram for explaining the operations of steps S3160 and S3170 of FIG.
FIG. 21 is a flowchart showing the read operation of the user system of FIG. 17 in detail.
22 is a block diagram illustrating an exemplary first nonvolatile memory device of the plurality of nonvolatile memory devices of FIG.
23 is a circuit diagram showing an example of a first memory block among the memory blocks included in the memory cell array of FIG.
FIG. 24 is a block diagram illustrating a computing system to which a non-volatile memory system according to the present invention is applied.
FIG. 25 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 24 by way of example.
FIG. 26 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 24 by way of example.
FIG. 27 is a block diagram illustrating another example of a computing system to which the nonvolatile memory module according to the present invention is applied.
28 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27;
29 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27;
30 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27;
31 is a diagram illustrating a server system to which a nonvolatile memory system according to an embodiment of the present invention is applied.

이하에서, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여 본 발명의 실시 예들을 첨부된 도면들을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to explain the present invention in detail so that those skilled in the art can readily implement the technical idea of the present invention .

본 발명에 따른 불휘발성 메모리 시스템은 프로세서(즉, 호스트)로부터 수신된 스토리지 커맨드에 대응하는 동작을 완료한 이후에 알림 신호(Alert_n)를 프로세서로 전송한다. 프로세서는 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템으로부터 상태 정보를 수신할 수 있다. 따라서, 상태 정보를 확인하기 위하여 프로세서가 불휘발성 메모리 시스템을 주기적으로 폴링하지 않아도 되므로, 시스템 성능이 향상되며, 향상된 불휘발성 메모리 시스템이 제공된다.The non-volatile memory system according to the present invention transmits the notification signal (Alert_n) to the processor after completing the operation corresponding to the storage command received from the processor (i.e., host). The processor may receive status information from the non-volatile memory system in response to the alert signal (Alert_n). Thus, since the processor does not have to periodically poll the non-volatile memory system to check the status information, system performance is improved and an improved non-volatile memory system is provided.

도 1은 본 발명의 실시 예에 따른 사용자 시스템을 보여주는 블록도이다. 도 2는 도 1의 램을 설명하기 위한 도면이다. 도 1 및 도 2를 참조하면 사용자 시스템(10)은 프로세서(101) 및 불휘발성 메모리 시스템(100)을 포함한다. 예시적으로, 사용자 시스템(100)은 컴퓨터, 휴대용 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 서버 컴퓨터, 넷-북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나를 포함할 수 있다.1 is a block diagram illustrating a user system in accordance with an embodiment of the present invention. Fig. 2 is a diagram for explaining the RAM of Fig. Referring to FIGS. 1 and 2, the user system 10 includes a processor 101 and a non-volatile memory system 100. Illustratively, the user system 100 may be a computer, a portable computer, an Ultra Mobile PC (UMPC), a workstation, a server computer, a net-book, a PDA, a portable computer, a web tablet A wireless phone, a mobile phone, a smart phone, a digital camera, a digital audio recorder, a digital audio player, A digital picture recorder, a digital picture player, a digital video recorder, a digital video player, a device capable of transmitting and receiving information in a wireless environment, And may include one of a variety of electronic devices.

프로세서(101)는 데이터를 처리하거나 또는 사용자 시스템(100)에 포함된 구성 요소들을 제어할 수 있다. 예를 들어, 프로세서(101)는 다양한 운영체제를 구동할 수 있고, 운영 체제상에서 다양한 애플리케이션들을 실행할 수 있다. 프로세서(101)는 불휘발성 메모리 시스템(100)에 데이터(DATA)를 기입하거나 또는 불휘발성 메모리 시스템(100)에 저장된 데이터(DATA)를 읽을 수 있다.The processor 101 may process data or control components included in the user system 100. For example, the processor 101 may be capable of running various operating systems and running various applications on an operating system. The processor 101 can write data (DATA) to the non-volatile memory system 100 or read the data (DATA) stored in the non-volatile memory system 100. [

예시적으로, 프로세서(101)는 불휘발성 메모리 시스템(100)으로 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 전송할 수 있다. 프로세서(101)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)과 주고받을 수 있다. 예시적으로, 데이터 신호(DQ)는 스토리지 커맨드(CMD_S), 스토리지 어드레스(ADDR_S), 데이터(DATA), 및 상태 정보(STI)를 포함하는 신호일 수 있다.Illustratively, the processor 101 may send a RAM command CMD_R, a RAM address ADDR_R, and a clock CK to the non-volatile memory system 100. The processor 101 may exchange the data signal DQ and the data strobe signal DQS with the nonvolatile memory system 100. [ Illustratively, the data signal DQ may be a signal including a storage command CMD_S, a storage address ADDR_S, data DATA, and status information STI.

예시적으로, 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)는 불휘발성 메모리 시스템(100)의 물리 계층(111)에 포함된 램(111b)을 제어하기 위한 커맨드 및 어드레스일 수 있다. 스토리지 커맨드(CMD_S) 및 스토리지 어드레스(ADDR_S)는 불휘발성 메모리 시스템(100)에 포함된 복수의 불휘발성 메모리 장치들(131~13n)을 제어하기 위한 커맨드일 수 있다.Illustratively, the RAM command CMD_R and the RAM address ADDR_R may be a command and an address for controlling the RAM 111b included in the physical layer 111 of the nonvolatile memory system 100. The storage command CMD_S and the storage address ADDR_S may be commands for controlling the plurality of nonvolatile memory devices 131 to 13n included in the nonvolatile memory system 100.

예시적으로, 프로세서(101) 및 불휘발성 메모리 시스템(100) 사이에서 송수신되는 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 클럭(CK), 데이터 신호(DQ), 및 데이터 스트로브 신호(DQS)는 프로세서(101) 및 불휘발성 메모리 시스템(100) 사이의 인터페이스에 의해 미리 정의된 규약에 따를 수 있다. 예시적으로, 프로세서(101) 및 불휘발성 메모리 시스템(100) 사이의 인터페이스는 DDR(Double Data Rate) 인터페이스를 기반으로 할 수 있다. 예를 들어, 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 클럭(CK)은 DDR 인터페이스에 의해 정의된 규약에 따른 신호들일 수 있다.Illustratively, the RAM command CMD_R, the RAM address ADDR_R, the clock CK, the data signal DQ, and the data strobe signal DQS, which are transmitted and received between the processor 101 and the nonvolatile memory system 100, May follow a predefined convention by an interface between the processor 101 and the non-volatile memory system 100. Illustratively, the interface between the processor 101 and the non-volatile memory system 100 may be based on a Double Data Rate (DDR) interface. For example, the RAM command CMD_R, the RAM address ADDR_R, and the clock CK may be signals conforming to the protocol defined by the DDR interface.

그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 프로세서(101) 및 불휘발성 메모리 시스템(100) 사이의 인터페이스는 DDR, DDR2, DDR3, DDR4, LPDDR(Low Power DDR), USB (Universal Serial Bus), MMC (multimedia card), embedded MMC, PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), NVMe (Nonvolatile Memory express) 등과 같은 다양한 통신 규격들 중 적어도 하나를 포함할 수 있다.The interface between the processor 101 and the nonvolatile memory system 100 may be a DDR, DDR2, DDR3, DDR4, LPDDR (Low Power DDR), USB (Universal Serial Bus) , MMC (multimedia card), embedded MMC, peripheral component interconnection (PCI), PCI-express (PCI-express), ATA (Advanced Technology Attachment), Serial- ATA, Parallel- an Enhanced Small Disk Interface (IDE), Integrated Drive Electronics (IDE), Firewire, Universal Flash Storage (UFS), Nonvolatile Memory Express (NVMe), and the like.

불휘발성 메모리 시스템(100)은 장치 컨트롤러(110), 버퍼 메모리(120), 복수의 불휘발성 메모리 장치들(131~13n), 및 보조 전원 장치(140)를 포함할 수 있다. 예시적으로, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(101)로부터 수신된 스토리지 커맨드(CMD_S) 및 스토리지 어드레스(ADDR_S)에 응답하여, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(101)로부터 수신된 데이터(DATA)를 복수의 불휘발성 메모리 장치들(131~13n) 중 적어도 하나에 저장할 수 있다. 또는, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신된 스토리지 커맨드(CMD_S) 및 스토리지 어드레스(ADDR_S)에 응답하여, 복수의 불휘발성 메모리 장치들(131~13n) 중 적어도 하나에 저장된 데이터(DATA)를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송할 수 있다.The non-volatile memory system 100 may include a device controller 110, a buffer memory 120, a plurality of non-volatile memory devices 131 to 13n, and an auxiliary power supply 140. Illustratively, the non-volatile memory system 100 is responsive to the storage command CMD_S and the storage address ADDR_S received from the processor 101 via the data signal DQ and the data strobe signal DQS, The data DATA received from the processor 101 can be stored in at least one of the plurality of nonvolatile memory devices 131 to 13n through the signal DQ and the data strobe signal DQS. Alternatively, the non-volatile memory system 100 may include a plurality of nonvolatile (non-volatile) memory cells in response to the storage command CMD_S and the storage address ADDR_S received from the processor 101 via the data signal DQ and the data strobe signal DQS. (DATA) stored in at least one of the memory devices 131 to 13n to the processor 101 via the data signal DQ and the data strobe signal DQS.

예시적으로, 비록 도면에 도시되지는 않았으나, 불휘발성 메모리 시스템(100)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 가질 수 있고, 프로세서(101)와 전기적 또는 직접적으로 연결된 DIMM 소켓에 장착될 수 있다.Illustratively, although not shown in the drawings, the non-volatile memory system 100 may have the form of a dual in-line memory module (DIMM) It can be mounted directly on a DIMM socket.

장치 컨트롤러(110)는 물리 계층(111, PHY; PHYsical layer) 및 제어기(112)를 포함할 수 있다. 물리 계층(111)은 램 컨트롤러(111a) 및 램(111b)을 포함할 수 있다. 물리 계층(111)은 프로세서(101)와 전기적으로 직접 연결될 수 있고, 프로세서(101) 및 제어기(112) 사이의 인터페이스를 제공할 수 있다.The device controller 110 may include a physical layer 111 (PHY) and a controller 112. The physical layer 111 may include a RAM controller 111a and a RAM 111b. The physical layer 111 may be electrically connected directly to the processor 101 and may provide an interface between the processor 101 and the controller 112. [

램 컨트롤러(111a)는 프로세서(101)로부터 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 정보 또는 데이터를 램(111b)에 저장하거나 또는 램(111b)에 저장된 정보 또는 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 제공할 수 있다. 예시적으로, 램(111b)은 듀얼 포트 SRAM(Dual Port SRAM), 공유 램(shared RAM) 등과 같은 다중 포트 램을 포함할 수 있다. 즉, 프로세서(101) 또는 제어기(112)는 각각 독립적인 포트를 통해 램(111b)을 엑세스할 수 있다.The RAM controller 111a receives information received via the data signal DQ and the data strobe signal DQS in response to the RAM command CMD_R, the RAM address ADDR_R, and the clock CK received from the processor 101 Or data may be stored in the RAM 111b or information or data stored in the RAM 111b may be provided to the processor 101 via the data signal DQ and the data strobe signal DQS. Illustratively, the ram 111b may include multiple port RAM, such as a dual port SRAM, a shared RAM, and the like. That is, the processor 101 or the controller 112 can access the RAM 111b through respective independent ports.

예시적으로, 도 2에 도시된 바와 같이 램(111b)은 커맨드 영역(CA; Command Area), 쓰기 영역(WA; Write Area), 읽기 영역(RA; Read Area), 및 상태 영역(STA; STatus Area)을 포함할 수 있다. 커맨드 영역(CA), 쓰기 영역(WA), 읽기 영역(RA), 및 상태 영역(STA) 각각은 프로세서(101)로부터 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 따라 각각 선택될 수 있다. 2, the RAM 111b includes a command area (CA), a write area (WA), a read area (RA), and a status area (STA; STATA) Area). Each of the command area CA, the write area WA, the read area RA and the state area STA includes a RAM command CMD_R, a RAM address ADDR_R, and a clock CK received from the processor 101, Respectively.

램(111b)의 커맨드 영역(CA)은 램 컨트롤러(111a)의 제어에 따라 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신되는 스토리지 커맨드(CMD_S)를 저장할 수 있다. 제어기(112)는 램(111b)의 커맨드 영역(CA)에 저장된 스토리지 커맨드(CMD_S)를 읽을 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)는 스토리지 어드레스(ADDR_S)를 포함할 수 있고, 스토리지 커맨드(CMD_S) 및 스토리지 어드레스(ADDR_S)는 커맨드 영역(CA)에 저장될 수 있다.The command area CA of the RAM 111b can store the storage command CMD_S received from the processor 101 via the data signal DQ and the data strobe signal DQS under the control of the RAM controller 111a . The controller 112 can read the storage command CMD_S stored in the command area CA of the RAM 111b. Illustratively, the storage command CMD_S may include a storage address ADDR_S, and the storage command CMD_S and the storage address ADDR_S may be stored in the command area CA.

램(111b)의 쓰기 영역(WA)은 램 컨트롤러(111a)의 제어에 따라 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 쓰기 데이터(DATA_W)를 저장할 수 있다. 제어기(111b)는 램(111b)의 쓰기 영역(WA)에 저장된 쓰기 데이터(DATA_W)를 읽을 수 있다. The write area WA of the ram 111b may store the write data DATA_W received via the data signal DQ and the data strobe signal DQS under the control of the RAM controller 111a. The controller 111b can read the write data (DATA_W) stored in the write area WA of the RAM 111b.

램(111b)의 읽기 영역(RD)은 제어기(112)의 제어에 따라 읽기 데이터(DATA_R)를 저장할 수 있다. 램(111b)의 읽기 영역(RD)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.The read area RD of the RAM 111b may store the read data DATA_R under the control of the controller 112. [ The read area RD of the RAM 111b may be transferred to the processor 101 via the data signal DQ and the data strobe signal DQS.

램(111b)의 상태 영역(STA)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신되는 상태 정보(STI)를 저장하거나 저장된 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 램(111b)의 상태 영역(STA)은 제어기(112)의 제어에 따라 저장된 상태 정보(STI)를 제어기(112)로 전송하거나 또는 제어기(112)로부터 수신된 상태 정보(STI)를 저장할 수 있다.The state area STA of the RAM 111b stores state information STI received from the processor 101 via the data signal DQ and the data strobe signal DQS or stores the stored state information STI into the processor 101 ). The state area STA of the RAM 111b may transmit the stored state information STI to the controller 112 or store the received state information STI from the controller 112 under the control of the controller 112 .

제어기(112)는 물리 계층(111)과 통신할 수 있다. 제어기(112)는 버퍼 메모리(120) 및 복수의 불휘발성 메모리 장치들(131~13n) 각각을 제어할 수 있다. 물리 계층(111)의 램(111b)에 스토리지 커맨드(CMD_S)가 기입된 경우, 제어기(112)는 램(111b)에 기입된 스토리지 커맨드(CMD_S)에 대응하는 동작을 수행할 수 있다. 예를 들어, 램(111b)에 기입된 스토리지 커맨드(CMD_S)가 쓰기 커맨드인 경우, 제어기(112)는 램(111b)의 쓰기 영역(WA)에 기입된 쓰기 데이터(DATA_W)를 읽고, 읽은 쓰기 데이터(DATA_W)를 복수의 불휘발성 메모리 장치들(131~13n) 중 적어도 하나에 프로그램할 수 있다. 램(111b)에 기입된 스토리지 커맨드(CMD_S)가 읽기 커맨드인 경우, 제어기(112)는 스토리지 어드레스(ADDR_S)와 대응되는 데이터를 복수의 불휘발성 메모리 장치들(131~13n)로부터 읽고, 읽은 데이터를 램(111b)의 읽기 영역(RA) 읽기 데이터(DATA_S)로서 기입할 수 있다. 예시적으로, 쓰기 동작 및 읽기 동작이 완료된 이후에 제어기(112)는 상태 영역(STA)에 동작 완료를 가리키는 상태 정보(STI)를 기입할 수 있다.The controller 112 may communicate with the physical layer 111. The controller 112 can control the buffer memory 120 and the plurality of nonvolatile memory devices 131 to 13n, respectively. When the storage command CMD_S is written in the RAM 111b of the physical layer 111, the controller 112 can perform an operation corresponding to the storage command CMD_S written in the RAM 111b. For example, when the storage command CMD_S written in the RAM 111b is a write command, the controller 112 reads the write data (DATA_W) written in the write area WA of the RAM 111b, The data (DATA_W) can be programmed into at least one of the plurality of nonvolatile memory devices 131 to 13n. When the storage command CMD_S written in the RAM 111b is a read command, the controller 112 reads the data corresponding to the storage address ADDR_S from the plurality of nonvolatile memory devices 131 to 13n, (RA) read data (DATA_S) of the RAM 111b. Illustratively, after the write operation and the read operation are completed, the controller 112 may write state information (STI) indicating the completion of operation in the state area STA.

예시적으로, 제어기(112)가 스토리지 커맨드(CMD_S)에 대한 쓰기 동작 또는 읽기 동작을 완료하여 상태 정보(STI)가 램(111b)의 상태 영역(STA)에 기입된 경우, 장치 컨트롤러(110)는 프로세서(101)로 알림 신호(Alert_n)를 전송할 수 있다. 좀 더 상세하게는, 제어기(112)는 상태 정보(STI)를 상태 영역(STA)에 기입한 이후에, 알림 신호(Alert_n)를 활성화시킬 수 있다. 예시적으로, 알림 신호(Alert_n)는 물리 계층(111)을 통해 프로세서(101)로 제공될 수 있다. 비록 도면에 도시되지는 않았으나, 알림 신호(Alert_n)는 램 컨트롤러(111a)를 통해 프로세서(101)로 제공될 수 있다. 또는 알림 신호(Alert_n)는 별도의 구동 장치를 통해 프로세서(101)로 제공될 수 있다. 이하에서, 설명의 편의 및 도면이 간결성을 위하여, 알림 신호(Alert_n)는 제어기(112)에 의해 구동되고, 제어기(112)로부터 프로세서(101)로 제공되는 것으로 가정한다. 또한, 알림 신호(Alert_n)는 램 컨트롤러(111a)에 의해 로직 로우 또는 로직 하이로 활성화 되나, 설명의 편의를 위하여, 제어기(112)가 제공하거나 또는 전송하는 것으로 가정한다. 즉, 알림 신호(Alert_n)가 제공 또는 전송된다는 것은 알림 신호(Alert_n)가 특정 시간동안 활성화되거나 또는 특정 주기 동안 반복적으로 활성화되는 것을 의미한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.Illustratively, when the controller 112 completes a write operation or a read operation with respect to the storage command CMD_S and the status information STI is written into the status area STA of the RAM 111b, Lt; RTI ID = 0.0 > Alert_n < / RTI > More specifically, the controller 112 can activate the notification signal (Alert_n) after writing the state information (STI) into the state area (STA). Illustratively, the alert signal (Alert_n) may be provided to the processor 101 via the physical layer 111. Although not shown in the figure, the alert signal Alert_n may be provided to the processor 101 via the RAM controller 111a. Or the alert signal Alert_n may be provided to the processor 101 through a separate driving device. Hereinafter, for ease of explanation and for simplicity of the drawing, it is assumed that the alert signal Alert_n is driven by the controller 112 and provided from the controller 112 to the processor 101. [ It is also assumed that the notification signal Alert_n is activated by the RAM controller 111a to logic low or logic high, but for convenience of explanation, the controller 112 provides or transmits it. That is, when the notification signal Alert_n is provided or transmitted, it means that the alert signal Alert_n is activated for a specific time or repeatedly activated for a specific period. However, the scope of the present invention is not limited thereto.

비록 도면에 도시되지는 않았으나, 제어기(112)는 특정 시스템 버스 또는 내부 시스템 버스를 통해 램(111b)을 엑세스할 수 있다. 비록 도면에 도시되지는 않았으나, 제어기(112)는 ECC 엔진(Error Correction Code Engine), 스크램블러, 데이터 버퍼, 플래시 변환 계층 등과 같은 하드웨어 또는 소프트웨어 구성 요소들을 더 포함할 수 있다. 제어기(112)는 스크램블러를 통해 램(111b)으로부터 읽은 데이터를 디스크램블하거나 또는 램(111b)에 기입될 데이터를 스크램블할 수 있다. 제어기(112)는 ECC 엔진을 통해 램(111b)으로부터 읽은 데이터의 에러를 검출 및 정정하거나 또는 램(111b)에 기입될 데이터에 ECC 코드를 추가할 수 있다. 제어기(112)는 데이터 버퍼를 통해 램(111b)으로부터 읽은 데이터를 임시 저장하거나 또는 복수의 불휘발성 메모리 장치들(131~131n)로부터 읽은 데이터를 임시 저장할 수 있다.Although not shown in the figure, the controller 112 can access the RAM 111b through a specific system bus or an internal system bus. Controller 112 may further include hardware or software components such as an Error Correction Code Engine (ECC engine), a scrambler, a data buffer, a flash translation layer, and the like, although not shown in the figure. The controller 112 can descramble the data read from the RAM 111b through the scrambler or scramble the data to be written into the RAM 111b. The controller 112 can detect and correct errors of data read from the RAM 111b through the ECC engine or add ECC codes to the data to be written to the RAM 111b. The controller 112 may temporarily store data read from the RAM 111b through the data buffer or temporarily store data read from the plurality of nonvolatile memory devices 131-131n.

제어기(112)는 플래시 변환 계층을 통해 어드레스 변환 동작을 수행할 수 있다. 예를 들어, 스토리지 어드레스(ADDR_S)는 논리적 어드레스일 수 있다. 제어기(112)는 플래시 변환 계층을 통해 프로세서(101)로부터 수신된 스토리지 어드레스(ADDR_S)를 복수의 불휘발성 메모리 장치들(131~13n)의 물리적 어드레스로 변환하는 동작을 수행할 수 있다. 예시적으로, 어드레스 변환 동작에 의해 쓰기 데이터(DATA_W)가 기입될 물리적 위치 또는 읽기 데이터(DATA_R)가 저장된 물리적 위치가 결정될 수 있다. 예시적으로, 물리적 위치는 복수의 불휘발성 메모리 장치들(131~13n)에 대한 물리적 위치를 가리킨다.The controller 112 may perform an address translation operation through the flash translation layer. For example, the storage address ADDR_S may be a logical address. The controller 112 may perform the operation of converting the storage address ADDR_S received from the processor 101 through the flash translation layer to the physical address of the plurality of non-volatile memory devices 131 to 13n. Illustratively, the physical location at which the write data (DATA_W) is written by the address translation operation or the physical location at which the read data (DATA_R) is stored can be determined. Illustratively, the physical location refers to the physical location of the plurality of non-volatile memory devices 131-13n.

버퍼 메모리(120)는 장치 컨트롤러(110)의 버퍼 메모리, 동작 메모리, 또는 캐시 메모리로서 사용될 수 있다. 버퍼 메모리(120)는 불휘발성 메모리 시스템(100)이 동작하는데 요구되는 다양한 정보를 포함할 수 있다. 예시적으로, 버퍼 메모리(120)는 복수의 불휘발성 메모리 장치들(131~13n)을 관리하기 위한 데이터를 포함할 수 있다. 예를 들어, 버퍼 메모리(120)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신되는 불휘발성 어드레스(ADDR_S)와 복수의 불휘발성 메모리 장치들(131~13n)의 물리 어드레스 사이의 맵핑 테이블을 포함할 수 있다. 예시적으로, 버퍼 메모리(120)는 SRAM, DRAM, SDRAM, MRAM, ReRAM, PRAM, FRAM 등과 같은 랜덤 엑세스 메모리를 포함할 수 있다.The buffer memory 120 may be used as a buffer memory, an operation memory, or a cache memory of the device controller 110. The buffer memory 120 may include various information required for the nonvolatile memory system 100 to operate. Illustratively, the buffer memory 120 may include data for managing a plurality of non-volatile memory devices 131 to 13n. For example, the buffer memory 120 is connected to the non-volatile address ADDR_S received from the processor 101 via the data signal DQ and the data strobe signal DQS and the plurality of nonvolatile memory devices 131 through 13n, And a mapping table between the physical addresses of the physical addresses. Illustratively, the buffer memory 120 may include random access memories such as SRAM, DRAM, SDRAM, MRAM, ReRAM, PRAM, FRAM, and the like.

복수의 불휘발성 메모리 장치들(131~13n)은 복수의 채널들(CH1~CHn)을 통해 장치 컨트롤러(110)와 각각 연결된다. 복수의 불휘발성 메모리 장치들(131~131n)은 장치 컨트롤러(110)의 제어에 따라 수신된 데이터를 프로그램하거나 또는 저장된 데이터를 출력할 수 있다. 예시적으로, 복수의 불휘발성 메모리 장치들(131~13n) 각각은 EEPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다. 간결한 설명을 위하여, 복수의 불휘발성 메모리 장치들(131~13n) 각각은 낸드 플래시 메모리를 포함하는 것으로 가정한다.The plurality of nonvolatile memory devices 131 to 13n are connected to the device controller 110 through a plurality of channels CH1 to CHn, respectively. The plurality of nonvolatile memory devices 131 to 131n may program the received data or output the stored data under the control of the device controller 110. [ For example, each of the plurality of nonvolatile memory devices 131 to 13n may include an electrically erasable and programmable ROM (EEPROM), a NAND flash memory, a NOR flash memory, a phase change RAM (PRAM), a ReRAM (Resistive RAM) (Ferroelectric RAM), STT-MRAM (Spin-Torque Magnetic RAM), and the like. For the sake of brevity, it is assumed that each of the plurality of nonvolatile memory devices 131 to 13n includes a NAND flash memory.

상술된 바와 같이, 본 발명의 따른 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후에, 알림 신호(Alert_n)를 활성화시키거나 또는 프로세서(101)로제공한다. 프로세서(101)는 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템(100)의 상태 영역(STA)의 상태 정보(STI)를 읽고, 상태 정보(STI)를 기반으로 스토리지 커맨드(CMD_S)에 대응하는 동작의 완료 여부 및 불휘발성 메모리 시스템(100)의 정보를 확인할 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.As described above, the nonvolatile memory system 100 according to the present invention can activate the notification signal (Alert_n) after writing the state information (STI) into the state area (STA) do. The processor 101 reads the state information STI of the state area STA of the nonvolatile memory system 100 in response to the alert signal Alert_n and responds to the storage command CMD_S based on the state information STI And the information of the nonvolatile memory system 100 can be confirmed. Thus, a nonvolatile memory system with improved performance is provided.

도 3은 도 1의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다. 도 1 내지 도 3을 참조하면, S1010 단계에서, 불휘발성 메모리 시스템(100)은 프로세서(101)로부터 스토리지 커맨드(CMD_S)를 수신한다. 예를 들어, 도 1 및 도 2를 참조하여 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 스토리지 커맨드(CMD_S)를 수신할 수 있다. 예시적으로, 불휘발성 메모리 시스템(100)은 스토리지 어드레스(ADDR_S) 또는 쓰기 데이터(DATA_W)를 더 수신할 수 있다. 3 is a flow chart illustrating the operation of the nonvolatile memory system of FIG. Referring to FIGS. 1 to 3, in step S1010, the nonvolatile memory system 100 receives a storage command CMD_S from the processor 101. 1 and 2, the non-volatile memory system 100 receives the storage command CMD_S from the processor 101 via the data signal DQ and the data strobe signal DQS, for example, . Illustratively, the non-volatile memory system 100 may further receive the storage address ADDR_S or write data DATA_W.

S1020 단계에서, 불휘발성 메모리 시스템(100)은 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 수행할 수 있다. 예를 들어, 수신된 스토리지 커맨드(CMD_S)가 읽기 동작을 가리키는 경우, 불휘발성 메모리 시스템(100)은 복수의 불휘발성 메모리 장치들(131~13n)에 기입된 데이터를 읽고, 읽은 데이터는 램(111b)에 기입할 수 있다. 또는 수신된 스토리지 커맨드(CMD_S)가 쓰기 동작을 가리키는 경우, 불휘발성 메모리 시스템(100)은 쓰기 영역(WA)에 기입된 쓰기 데이터를 복수의 불휘발성 메모리 장치들(131~13n)에 기입할 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)는 읽기 및 쓰기 이외에 다른 다양한 동작들(예를 들어, 소거, 머지 등)에 대응하는 커맨드일 수 있다.In step S1020, the nonvolatile memory system 100 may perform an operation corresponding to the received storage command CMD_S. For example, when the received storage command CMD_S indicates a read operation, the nonvolatile memory system 100 reads the data written in the plurality of nonvolatile memory devices 131 to 13n, 111b. Or when the received storage command CMD_S indicates a write operation, the nonvolatile memory system 100 can write the write data written in the write area WA to the plurality of nonvolatile memory devices 131 to 13n have. Illustratively, the storage command CMD_S may be a command corresponding to various other operations (e.g., erase, merge, etc.) other than read and write.

S1030 단계에서, 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 램(111b)에 기입할 수 있다. 예를 들어, 도 1 및 도 2를 참조하여 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입할 수 있다. 예시적으로, 상태 정보(STI)는 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작의 완료 여부 및 관련된 정보를 포함할 수 있다.In step S1030, the nonvolatile memory system 100 can write the status information (STI) to the RAM 111b. For example, as described with reference to FIGS. 1 and 2, the non-volatile memory system 100 may store status information (STI) in a RAM (or RAM) after completing operations corresponding to the received storage command CMD_S 111b in the state area STA. Illustratively, the status information (STI) may include whether or not the operation corresponding to the received storage command (CMD_S) has been completed and related information.

S1040 단계에서, 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입한 이후에, 프로세서(101)가 기입된 상태 정보(STI)를 읽을 수 있도록 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다.In step S1040, the non-volatile memory system 100 may transmit the notification signal Alert_n to the processor 101. [ For example, after the nonvolatile memory system 100 writes the status information STI in the status area STA of the RAM 111b, the processor 101 may read the written status information STI And transmits the alert signal Alert_n to the processor 101. [

예시적으로, 프로세서(101)는 알림 신호(Alert_n)에 응답하여, 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다.Illustratively, the processor 101 can read the state information (STI) written in the state area STA in response to the notification signal Alert_n.

도 4는 도 1의 사용자 시스템의 쓰기 동작을 설명하기 위한 순서도이다. 예시적으로, 도 4를 참조하여, 불휘발성 메모리 시스템(10)에 대한 쓰기 동작이 설명된다. 도 1 및 도 4를를 참조하면, S1110 단계에서, 프로세서(101)는 램(111b)의 커맨드 영역(CA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송한다. S1120 단계에서, 프로세서(1120)는 스토리지 커맨드(CMD_S)를 기입하기 위한 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)으로 전송한다.4 is a flowchart for explaining a write operation of the user system of FIG. Illustratively, with reference to FIG. 4, write operations to the non-volatile memory system 10 are described. 1 and 4, in step S1110, the processor 101 transmits a RAM command CMD_R and a RAM address ADDR_R for selecting a command area CA of the RAM 111b to the nonvolatile memory system 100 ). In step S1120, the processor 1120 transfers the data signal DQ and the data strobe signal DQS for writing the storage command CMD_S to the nonvolatile memory system 100.

예를 들어, 도 4의 S1110 단계의 램 커맨드(CMD_R)는 스토리지 커맨드(CMD_S)를 램(111b)에 기입하기 위한 커맨드일 수 있다. S1110 단계의 램 어드레스(ADDR_R)는 커맨드 영역(CA)에 대응하는 어드레스일 수 있다. 스토리지 커맨드(CMD_S)는 불휘발성 메모리 시스템(100)의 복수의 불휘발성 메모리 장치들(131~13n)에 대한 쓰기 커맨드일 수 있고, S1120 단계의 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)에 포함될 수 있다. 예시적으로, S1110 단계 및 S1120 단계는 스토리지 커맨드 처리 과정(CMD_S transaction)일 수 있고, S1110 단계 및 S1120 단계의 동작들을 통해 스토리지 커맨드(CMD_S)가 커맨드 영역(CA)에 저장될 수 있다.For example, the RAM command CMD_R in step S1110 of FIG. 4 may be a command for writing the storage command CMD_S into the RAM 111b. The RAM address ADDR_R in step S1110 may be an address corresponding to the command area CA. The storage command CMD_S may be a write command for the plurality of nonvolatile memory devices 131 to 13n of the nonvolatile memory system 100 and may be a write command for the data signal DQ and the data strobe signal DQS in step S1120 . Illustratively, steps S1110 and S1120 may be a storage command process (CMD_S transaction), and the storage command CMD_S may be stored in the command area CA through operations in steps S1110 and S1120.

S1130 단계에서, 프로세서(101)는 쓰기 영역(WA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송한다. S1140 단계에서, 프로세서(101)는 쓰기 데이터(DATA_W)를 기입하기 위한 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)으로 전송한다.In step S1130, the processor 101 transmits a RAM command CMD_R and a RAM address ADDR_R for selecting the writing area WA to the nonvolatile memory system 100. In step S1140, the processor 101 transfers the data signal DQ and the data strobe signal DQS for writing the write data (DATA_W) to the nonvolatile memory system 100.

예를 들어, 도 4의 S1130 단계의 램 커맨드(CMD_R)는 쓰기 데이터(DATA_W)를 램(111b)에 기입하기 위한 커맨드일 수 있다. S1130 단계의 램 어드레스(ADDR_R)는 쓰기 영역(WA)에 대응하는 어드레스일 수 있다. 쓰기 데이터(DATA_W)는 S1140 단계의 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)에 포함될 수 있다. 예시적으로, S1130 단계 및 S1140 단계는 쓰기 데이터 처리 과정(DATA_W transaction)일 수 있고, S1130 단계 및 S1140 단계의 동작들을 통해 쓰기 데이터(DATA_W)가 쓰기 영역(WA)에 기입될 수 있다.For example, the RAM command CMD_R in step S1130 of FIG. 4 may be a command for writing write data (DATA_W) to the RAM 111b. The RAM address ADDR_R in step S1130 may be an address corresponding to the write area WA. The write data DATA_W may be included in the data signal DQ and the data strobe signal DQS in step S1140. Illustratively, steps S1130 and S1140 may be a write data process (DATA_W transaction), and write data (DATA_W) may be written to the write area WA through operations of steps S1130 and S1140.

S1150 단계에서, 불휘발성 메모리 시스템(100)은 쓰기 완료를 알리기 위하여 알림 신호(Alert_n)를 프로세서(101)로 전송한다. 예를 들어, 앞서 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 램(111b)의 커맨드 영역(CA)에 기입된 스토리지 커맨드(CMD_S)를 읽고, 읽은 스토리지 커맨드(CMD_S)에 응답하여, 쓰기 영역(WA)에 기입된 쓰기 데이터(DATA_W)를 복수의 불휘발성 메모리 장치들(131~13n)에 프로그램할 수 있다. 프로그램을 완료한 이후에, 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. 이 후 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. 또는 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 활성화시킬 수 있다. In step S1150, the nonvolatile memory system 100 transmits a notification signal Alert_n to the processor 101 to notify completion of writing. For example, as described above, the nonvolatile memory system 100 reads the storage command CMD_S written in the command area CA of the RAM 111b, and in response to the read storage command CMD_S, The write data (DATA_W) written in the area WA can be programmed into the plurality of nonvolatile memory devices 131 to 13n. After completing the program, the nonvolatile memory system 100 can write the status information STI into the status area STA. The non-volatile memory system 100 may then send a notification signal (Alert_n) to the processor 101. Or the non-volatile memory system 100 may activate the alert signal Alert_n.

S1160 단계에서, 프로세서(101)는 상태 영역(STA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)을 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 예를 들어, 프로세서(101)는 수신된 알림 신호(Alert_n)에 의해 불휘발성 메모리 시스템(100)의 상태 영역(STA)에 상태 정보(STI)가 기입되었음을 인지할 수 있다. 프로세서(101)는 수신된 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템(100)의 상태 영역(STA)을 읽기 위하여 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 예시적으로, S1160 단계의 램 커맨드(CMD_R)는 상태 영역(STA)을 읽기 위한 읽기 커맨드일 수 있고, S1160 단계의 램 어드레스(ADDR_R)는 상태 영역(STA)에 대응되는 어드레스일 수 있다.In step S1160, the processor 101 may transmit the RAM command CMD_R and the RAM address ADDR_R to the nonvolatile memory system 100 for selecting the state area STA. For example, the processor 101 can recognize that the state information (STI) has been written into the state area (STA) of the nonvolatile memory system 100 by the received notification signal (Alert_n). The processor 101 responds to the received notification signal Alert_n to transmit the RAM command CMD_R and the RAM address ADDR_R to the nonvolatile memory system 100 in order to read the status area STA of the nonvolatile memory system 100. [ As shown in FIG. Illustratively, the RAM command CMD_R in step S1160 may be a read command for reading the state area STA, and the RAM address ADDR_R in step S1160 may be an address corresponding to the state area STA.

S1170 단계에서, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)은 S1160 단계의 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 램 어드레스(ADDR_R)에 대응되는 상태 영역(STA)의 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 이 때, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 예시적으로, S1150 단계 내지 S1170 단계의 동작들은 검사 처리 동작(CHECK transaction)일 수 있다.In step S1170, the nonvolatile memory system 100 may transmit the status information (STI) to the processor 101 via the data signal DQ and the data strobe signal DQS. For example, in response to the RAM command (CMD_R) and the RAM address (ADDR_R) in step S1160, the nonvolatile memory system 100 transmits the state information (STI) of the state area (STA) corresponding to the RAM address (ADDR_R) (101). At this time, the nonvolatile memory system 100 may transmit the status information (STI) to the processor 101 through the data signal DQ and the data strobe signal DQS. Illustratively, the operations of steps S1150 to S1170 may be a CHECK transaction.

도 5 내지 7은 도 4의 쓰기 동작을 좀 더 상세하게 설명하기 위한 도면들이다. 간결한 설명을 위하여, 사용자 시스템(10)의 쓰기 동작을 설명하는데 불필요한 구성 요소들은 생략되며, 중복된 구성 요소들에 대한 설명 또한 생략된다.5 to 7 are views for explaining the writing operation of FIG. 4 in more detail. For the sake of brevity, the elements unnecessary for explaining the writing operation of the user system 10 are omitted, and the description of the redundant elements is also omitted.

먼저, 도 5를 참조하면, 프로세서(101)는 스토리지 커맨드(CMD_S)를 커맨드(CA)에 기입할 수 있다. (①) 예를 들어, 앞서 설명된 바와 같이, 프로세서(101)는 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 불휘발성 메모리 시스템(100)으로 전송하고, 스토리지 커맨드(CMD_S)가 포함된 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)으로 전송한다. 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 램 커맨드(CMD_S), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 커맨드 영역(CA)을 선택하고, 선택된 커맨드 영역(CA)에 스토리지 커맨드(CMD_S)를 기입할 수 있다. 예시적으로, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)는 램 컨트롤러(111a)를 통해 램(111b)으로 제공될 수 있다. 예시적으로, 상술된 프로세서(101)의 동작은 도 4의 S1110 단계 및 S1120 단계의 동작들일 수 있다.First, referring to FIG. 5, the processor 101 can write the storage command CMD_S to the command CA. (1) For example, as described above, the processor 101 transmits the RAM command CMD_R, the RAM address ADDR_R, and the clock CK to the nonvolatile memory system 100, To the nonvolatile memory system 100, the data signal DQ and the data strobe signal DQS including the CMD_S. The RAM controller 111a of the nonvolatile memory system 100 selects the command area CA in response to the RAM command CMD_S, the RAM address ADDR_R and the clock CK, The storage command CMD_S can be written. Illustratively, the data signal DQ and the data strobe signal DQS may be provided to the RAM 111b via the RAM controller 111a. Illustratively, the operation of the processor 101 described above may be the operations of steps S1110 and S1120 of FIG.

제어기(112)는 커맨드 영역(CA)에 기입된 스토리지 커맨드(CMD_S)를 읽을 수 있다. (②) 예를 들어, 제어기(112)는 시스템 버스를 통해 커맨드 영역(CA)에 기입된 스토리지 커맨드(CMD_S)를 페치할 수 있다. 제어기(112)는 페치된 스토리지 커맨드(CMD_S)를 분석하여 스토리지 커맨드(CMD_S)가 쓰기 커맨드임을 확인할 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)에 대한 분석은 별도의 커맨드 분석기 또는 불휘발성 메모리 시스템(100)의 중앙 처리 유닛(미도시)에서 수행될 수 있다. The controller 112 can read the storage command CMD_S written in the command area CA. (2) For example, the controller 112 may fetch the storage command CMD_S written in the command area CA via the system bus. The controller 112 analyzes the fetched storage command CMD_S to confirm that the storage command CMD_S is a write command. Illustratively, the analysis of the storage command CMD_S may be performed in a separate command analyzer or in a central processing unit (not shown) of the non-volatile memory system 100.

다음으로, 도 6을 참조하면, 프로세서(101)는 쓰기 데이터(DATA_W)를 쓰기 영역(WA)에 기입할 수 있다. (③) 예를 들어, 프로세서(101)는 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 불휘발성 메모리 시스템(100)으로 전송하고, 스토리지 커맨드(CMD_S)가 포함된 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)으로 전송한다. 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 램 커맨드(CMD_S), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 쓰기 영역(WA)을 선택하고, 선택된 쓰기 영역(WA)에 쓰기 데이터(DATA_W)를 기입할 수 있다. 예시적으로, 상술된 프로세서(101)의 동작은 도 4의 S1130 단계 및 S1140 단계의 동작들일 수 있다.Next, referring to Fig. 6, the processor 101 can write write data (DATA_W) in the write area WA. (3) For example, the processor 101 transmits the command CMD_R, the RAM address ADDR_R, and the clock CK to the nonvolatile memory system 100, and outputs the data signal including the storage command CMD_S (DQ) and data strobe signal (DQS) to the non-volatile memory system (100). The RAM controller 111a of the nonvolatile memory system 100 selects the writing area WA in response to the RAM command CMD_S, the RAM address ADDR_R and the clock CK, Write data (DATA_W) can be written. Illustratively, the operation of the processor 101 described above may be the operations of steps S1130 and S1140 of FIG.

제어기(112)는 쓰기 영역(WA)에 기입된 쓰기 데이터(DATA_W)를 읽을 수 있다. (④) 제어기(112)는 스토리지 커맨드(CMD_S)에 따라 쓰기 데이터(DATA_W)를 불휘발성 메모리 장치(131)에 프로그램할 수 있다. (⑤) 예시적으로, 제어기(112)는 스토리지 커맨드(CMD_S) 및 쓰기 데이터(DATA_W)를 패키지화할 수 있다.The controller 112 can read the write data (DATA_W) written in the write area WA. (4) The controller 112 can program the write data (DATA_W) in the nonvolatile memory device 131 according to the storage command CMD_S. (5) Illustratively, the controller 112 may package the storage command CMD_S and the write data DATA_W.

다음으로, 도 7을 참조하면, 제어기(112)는 쓰기 데이터(DATA_W)를 불휘발성 메모리 장치(131)에 프로그램한 이후에, 쓰기 데이터(DATA_W)에 대한 쓰기 완료를 가리키는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. (⑥) 예시적으로, 제어기(112)는 시스템 버스를 통해 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다.Next, referring to FIG. 7, after programming the write data (DATA_W) in the nonvolatile memory device 131, the controller 112 sets the state information (STI) indicating the completion of writing to the write data (DATA_W) It can be written in the state area STA. (6) Illustratively, the controller 112 can write the status information (STI) to the status area (STA) via the system bus.

이 후, 제어기(112)는 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. (⑦) 예시적으로, 도면의 간결성 및 설명의 편의를 위하여, 제어기(112)가 알림 신호(Alert_n)를 프로세서(101)로 제공하는 것으로 도시되어 있으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 불휘발성 메모리 시스템(100)의 다른 구성 요소들을 통해 알림 신호(Alert_n)가 프로세서(101)로 전송될 수 있다. 예시적으로, 알림 신호(Alert_n)의 전송 동작은 도 4의 S1150 단계의 동작일 수 있다.Thereafter, the controller 112 may transmit the notification signal Alert_n to the processor 101. [ (7) Illustratively, for simplicity and ease of illustration, the controller 112 is shown as providing the alert signal Alert_n to the processor 101, but the scope of the present invention is not limited thereto , The alert signal Alert_n may be transmitted to the processor 101 via other components of the non-volatile memory system 100. [ Illustratively, the transmission operation of the notification signal Alert_n may be the operation in step S1150 of FIG.

프로세서(101)는 알림 신호(Alert_n)에 응답하여, 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다. (⑧) 예를 들어, 프로세서(101)는 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여, 상태 영역(STA)의 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 예시적으로, 상태 정보(STI)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.The processor 101 can read the state information STI written in the state area STA in response to the notification signal Alert_n. (8) For example, the processor 101 can transmit the RAM command CMD_R, the RAM address ADDR_R, and the clock CK to the nonvolatile memory system 100. The RAM controller 111a of the nonvolatile memory system 100 sends the status information STI of the status area STA to the processor 112 in response to the received RAM command CMD_R, the RAM address ADDR_R, and the clock CK. (101). Illustratively, the status information STI may be transmitted to the processor 101 via the data signal DQ and the data strobe signal DQS.

상술된 바와 같이, 본 발명에 따른 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후에 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. 프로세서(101)는 알림 신호(Alert_n)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다. 즉, 종래의 기술에 따르면, 프로세서(101)는 불휘발성 메모리 시스템(100)의 동작 완료 유무를 인지하기 위하여 상태 영역(STA)을 주기적으로 폴링한다. 그러나, 본 발명에 따른 불휘발성 메모리 시스템(100)은 동작 완료 후 상태 정보(STI)를 상태 영역(STA)에 기입하고, 이후에 알림 신호(Alert_n)를 프로세서(101)로 전송하여 상태 정보(STI)의 기입(즉, 동작 완료)을 프로세서(101)로 알리기 때문에, 프로세서(101)의 활용도가 증가하고, 주기적인 폴링 동작으로 인한 오버헤드가 감소된다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.As described above, the nonvolatile memory system 100 according to the present invention can transmit the notification signal Alert_n to the processor 101 after writing the state information STI into the state area STA. The processor 101 can read the state information STI written in the state area STA in response to the notification signal Alert_n. That is, according to the conventional technique, the processor 101 periodically polls the state area STA to recognize whether the operation of the non-volatile memory system 100 has been completed. However, the nonvolatile memory system 100 according to the present invention writes the state information (STI) into the state area (STA) after completion of operation and then transmits the notification signal (Alert_n) to the processor (101) STI) to the processor 101, the utilization of the processor 101 is increased, and the overhead due to the periodic polling operation is reduced. Thus, a nonvolatile memory system with improved performance is provided.

도 8은 도 1의 사용자 시스템의 읽기 동작을 보여주는 순서도이다. 도 1, 도 2, 및 도 8을 참조하면, S1210 단계에서, 프로세서(101)는 커맨드 영역(CA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송한다. S1220 단계에서, 프로세서(101)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 스토리지 커맨드(CMD_S)를 불휘발성 메모리 시스템(100)으로 전송한다. 예시적으로, S1210 단계의 램 커맨드(CMD_R)는 스토리지 커맨드(CMD_S)를 램(111b)에 기입하기 위한 커맨드일 수 있다. S1210 단계의 램 어드레스(ADDR_R)는 커맨드 영역(CA)에 대응하는 어드레스일 수 있다. S1220 단계의 스토리지 커맨드(CMD_S)는 불휘발성 메모리 시스템(100)의 복수의 불휘발성 메모리 장치들(131~13n)에 대한 쓰기 커맨드일 수 있고, S1220 단계의 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)에 포함될 수 있다. 예시적으로, S1210 단계 및 S1220 단계는 스토리지 커맨드 처리 과정(CMD_S transaction)일 수 있고, S1210 단계 및 S1220 단계의 동작들을 통해 스토리지 커맨드(CMD_S)가 커맨드 영역(CA)에 저장될 수 있다.8 is a flowchart showing a read operation of the user system of FIG. 1, 2, and 8, in step S1210, the processor 101 sends a RAM command CMD_R and a RAM address ADDR_R for selecting the command area CA to the nonvolatile memory system 100, Lt; / RTI > In step S1220, the processor 101 transmits the storage command CMD_S to the nonvolatile memory system 100 via the data signal DQ and the data strobe signal DQS. Illustratively, the RAM command CMD_R in step S1210 may be a command for writing the storage command CMD_S to the RAM 111b. The RAM address ADDR_R in step S1210 may be an address corresponding to the command area CA. The storage command CMD_S in step S1220 may be a write command for the plurality of nonvolatile memory devices 131 to 13n of the nonvolatile memory system 100 and may be a write command for the data signal DQ and the data strobe signal DQS). Illustratively, steps S1210 and S1220 may be a storage command process (CMD_S transaction), and the storage command CMD_S may be stored in the command area CA through operations in steps S1210 and S1220.

S1230 단계에서, 불휘발성 메모리 시스템(100)은 읽기 완료를 알리기 위하여 알림 신호(Alert_n)를 프로세서(101)로 전송한다. 예를 들어, 불휘발성 메모리 시스템(100)은 S1220 단계의 스토리지 커맨드(CMD_S)에 응답하여 복수의 불휘발성 메모리 장치들(131~13n)에 대한 읽기 동작을 수행할 수 있다. 불휘발성 메모리 시스템(100)은 복수의 불휘발성 메모리 장치들(131~13n)로부터 읽은 읽기 데이터(DATA_R)를 읽기 영역(RA)에 기입할 수 있다. 불휘발성 메모리 시스템(100)은 읽기 데이터(DATA_R)를 읽기 영역(RA)에 기입한 이후에 읽기 동작의 완료를 가리키는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. 이 후, 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다.In step S1230, the nonvolatile memory system 100 transmits a notification signal Alert_n to the processor 101 to notify completion of reading. For example, the non-volatile memory system 100 may perform a read operation on the plurality of non-volatile memory devices 131 to 13n in response to the storage command CMD_S in step S1220. The nonvolatile memory system 100 can write the read data (DATA_R) read from the plurality of nonvolatile memory devices 131 to 13n into the read area RA. The nonvolatile memory system 100 can write state information STI indicating the completion of the read operation into the state area STA after writing the read data DATA_R in the read area RA. Thereafter, the non-volatile memory system 100 may transmit the notification signal Alert_n to the processor 101. [

S1240 단계에서, 프로세서(101)는 상태 영역(STA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 예를 들어, 프로세서(101)는 알림 신호(Alert_n)를 수신하고, 수신된 알림 신호(Alert_n)에 의해 상태 정보(STI)가 상태 영역(STA)에 기입 또는 갱신되었음을 인지할 수 있다. 프로세서(101)는 상태 영역(STA)에 기입된 상태 정보(STI)를 읽기 위하여 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 예시적으로, S1240 단계의 램 커맨드(CMD_R)는 램(111b)에 대한 읽기 커맨드이고, 램 어드레스(ADDR_R)는 상태 영역(STA)에 대응되는 어드레스일 수 있다.In step S1240, the processor 101 may transmit a RAM command CMD_R and a RAM address ADDR_R to the nonvolatile memory system 100 for selecting the state area STA. For example, the processor 101 may receive the notification signal Alert_n and recognize that the status information STI is written or updated in the status area STA by the received notification signal Alert_n. The processor 101 may transmit the RAM command CMD_R and the RAM address ADDR_R to the nonvolatile memory system 100 in order to read the state information STI written in the state area STA. Illustratively, the RAM command CMD_R in step S1240 may be a read command for the RAM 111b, and the RAM address ADDR_R may be an address corresponding to the status area STA.

S1250 단계에서, 불휘발성 메모리 시스템(100)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 S1240 단계의 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 예시적으로, 상태 정보(STI)는 S1220 단계에서 수신된 스토리지 커맨드(CMD_S)의 대응하는 동작의 완료를 가리키는 정보를 포함하고, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 제공될 수 있다.In step S1250, the nonvolatile memory system 100 may transmit the status information STI to the processor 101 via the data signal DQ and the data strobe signal DQS. For example, the RAM controller 111a of the nonvolatile memory system 100 transmits the state information STI written in the state area STA in response to the RAM command CMD_R and the RAM address ADDR_R in step S1240, (101). Illustratively, the status information STI includes information indicating the completion of the corresponding operation of the storage command CMD_S received in step S1220 and includes information indicating the completion of the corresponding operation of the processor 101 (i. E., The data signal DQ and the data strobe signal DQS) ). ≪ / RTI >

S1260 단계에서, 프로세서(101)는 읽기 영역(RA)을 선택하기 위하여 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 제공할 수 있다. 예를 들어, S1250 단계의 상태 정보(STI)는 읽기 데이터가 저장된 읽기 영역(RA)의 정보를 포함할 수 있다. 즉, 상태 정보(STI)는 읽기 데이터(DATA_R)가 저장된 영역의 어드레스를 포함할 수 있다. 프로세서(101)는 S1250 단계에서 수신된 상태 정보(STI)를 기반으로 불휘발성 메모리 시스템(100)이 읽기 동작을 완료했음을 인지할 수 있고, 읽기 데이터(DATA_R)가 읽기 영역(RA)에 저장되었음을 인지할 수 있다. 프로세서(101)는 읽기 영역(RA)에 저장된 읽기 데이터(DATA_R)를 읽기 위하여 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송할 수 있다. 예시적으로, 램 커맨드(CMD_R)는 램(111b)에 대한 읽기 커맨드이고, 램 어드레스(ADDR_R)는 읽기 영역(RA)(좀 더 상세하게는 읽기 데이터가 저장된 영역)에 대응하는 어드레스일 수 있다.In step S1260, the processor 101 may provide the RAM command CMD_R and the RAM address ADDR_R to the nonvolatile memory system 100 in order to select the read area RA. For example, the state information (STI) in step S1250 may include information on a read area (RA) in which read data is stored. That is, the status information (STI) may include the address of the area where the read data (DATA_R) is stored. The processor 101 may recognize that the nonvolatile memory system 100 has completed the read operation based on the status information STI received in step S1250 and that the read data DATA_R is stored in the read area RA It can be recognized. The processor 101 may transmit the RAM command CMD_R and the RAM address ADDR_R to the nonvolatile memory system 100 in order to read the read data DATA_R stored in the read area RA. Illustratively, the RAM command CMD_R is a read command for the RAM 111b and the RAM address ADDR_R may be an address corresponding to the read area RA (more specifically, the area where the read data is stored) .

S1270 단계에서, 불휘발성 메모리 시스템(100)은 읽기 데이터(DATA_R)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 수신된 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 읽기 데이터(DATA_R)를 프로세서(101)로 전송할 수 있다. 예시적으로, 읽기 데이터(DATA_R)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.In step S1270, the non-volatile memory system 100 may transmit the read data (DATA_R) to the processor 101. [ For example, the RAM controller 111a of the nonvolatile memory system 100 may transmit the read data (DATA_R) to the processor 101 in response to the received RAM command CMD_R and the RAM address ADDR_R. Illustratively, the read data (DATA_R) may be transmitted to the processor 101 via the data signal DQ and the data strobe signal DQS.

도 9 내지 도 11은 도 8의 읽기 동작을 상세하게 설명하기 위한 도면들이다. 예시적으로, 사용자 시스템(10)의 읽기 동작을 설명하는데 불필요한 구성 요소들은 생략되고, 중복된 구성 요소들에 대한 설명은 생략된다.FIGS. 9 to 11 are views for explaining the read operation of FIG. 8 in detail. Illustratively, the components unnecessary for explaining the read operation of the user system 10 are omitted, and the description of the redundant components is omitted.

먼저, 도 9를 참조하면, 프로세서(101)는 스토리지 커맨드(CMD_R)를 커맨드 영역(CA)에 기입할 수 있다. (①) 예를 들어, 프로세서(101)는 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 램 컨트롤러(111a)로 전송한다. 램 컨트롤러(111a)는 수신된 신호들에 응답하여 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 스토리지 커맨드(CMD_S)를 커맨드 영역(CA)에 기입할 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)는 불휘발성 메모리 장치(131)에 대한 읽기 커맨드일 수 있다. 예시적으로, 상술된 동작은 도 8의 S1210 단계 및 S1220 단계의 동작들일 수 있다.First, referring to Fig. 9, the processor 101 can write the storage command CMD_R into the command area CA. (1) For example, the processor 101 transmits the RAM command CMD_R, the RAM address ADDR_R, and the clock CK to the RAM controller 111a. The RAM controller 111a can write the storage command CMD_S received via the data signal DQ and the data strobe signal DQS to the command area CA in response to the received signals. Illustratively, the storage command CMD_S may be a read command to the non-volatile memory device 131. Illustratively, the above-described operations may be operations of steps S1210 and S1220 of FIG.

제어기(112)는 커맨드 영역(CA)에 저장된 스토리지 컨트롤러(CMD_R)를 읽을 수 있다. 예시적으로, 제어기(112)는 시스템 버스를 통해 스토리지 커맨드(CMD_S)를 읽을 수 있다.The controller 112 can read the storage controller CMD_R stored in the command area CA. Illustratively, the controller 112 may read the storage command CMD_S via the system bus.

제어기(112)는 읽은 스토리지 커맨드(CMD_S)에 따라 불휘발성 메모리 장치(131)로부터 읽기 데이터(DATA_R)를 읽을 수 있다. (③) 예시적으로, 스토리지 커맨드(CMD_S)는 읽기 커맨드이고, 읽기 데이터(DATA_R)에 대응하는 어드레스(또는 논리 어드레스)를 포함할 수 있다.The controller 112 can read the read data (DATA_R) from the nonvolatile memory device 131 in accordance with the read storage command CMD_S. (3) Illustratively, the storage command CMD_S is a read command and may include an address (or logical address) corresponding to the read data (DATA_R).

다음으로, 도 10을 참조하면, 제어기(112)는 읽기 데이터(DATA_R)를 읽기 영역(RA)에 기입할 수 있다. (④) 이 후, 제어기(112)는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. (⑤) 예시적으로, 상태 정보(STI)는 스토리지 커맨드(CMD_S)에 대응하는 읽기 동작의 완료에 대한 정보를 포함할 수 있다. 또한, 상태 정보(STI)는 읽기 데이터(DATA_R)가 저장된 읽기 영역(RA)의 정보를 포함할 수 있다.Next, referring to Fig. 10, the controller 112 can write the read data (DATA_R) into the read area (RA). (4), the controller 112 can write the status information STI into the status area STA. (5) Illustratively, the status information (STI) may include information on the completion of the read operation corresponding to the storage command (CMD_S). In addition, the status information STI may include information of the read area RA in which the read data (DATA_R) is stored.

상태 정보(STI)가 상태 영역(STA)에 기입된 이후에, 제어기(112)는 알림 신호(Alert_n)를 프로세서(101)로 전송한다. (⑥) 프로세서(101)는 수신된 알림 신호(Alert_n)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 읽는다. (⑦) 예를 들어, 프로세서(101)는 상태 영역(STA)에 기입된 상태 정보(STI)를 읽기 위하여 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 램 컨트롤러(111a)로 전송한다. 램 컨트롤러(111a)는 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 프로세서(101)로 전송한다. 예시적으로, 상태 정보(STI)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.After the state information STI is written into the state area STA, the controller 112 transmits the notification signal Alert_n to the processor 101. [ (6) The processor 101 reads the state information STI written in the state area STA in response to the received alert signal Alert_n. (7) For example, the processor 101 sends a RAM command CMD_R, a RAM address ADDR_R, and a clock CK to the RAM controller 111a to read the state information STI written in the state area STA ). The RAM controller 111a transfers the state information STI written in the state area STA to the processor 101 in response to the received RAM command CMD_R, the RAM address ADDR_R and the clock CK. Illustratively, the status information STI may be transmitted to the processor 101 via the data signal DQ and the data strobe signal DQS.

다음으로, 도 11을 참조하면, 프로세서(101)는 읽은 상태 정보(STI)를 기반으로 읽기 영역(RA)에 기입된 읽기 데이터(DARA_R)를 읽을 수 있다. (⑧), 예를 들어, 상태 정보(STI)는 읽기 데이터(DATA_R)가 기입된 읽기 영역(RA)의 정보(즉, 어드레스 정보)를 포함할 수 있다. 프로세서(101)는 상태 정보(STI)를 기반으로 읽기 데이터(DATA_R)를 읽기 위하여 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 램 컨트롤러(111a)로 전송한다. 램 컨트롤러(111a)는 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 읽기 데이터(DATA_R)를 프로세서(101)로 전송한다. 예시적으로, 읽기 데이터(DATA_R)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.Next, referring to FIG. 11, the processor 101 can read the read data DARA_R written in the read area RA based on the read state information (STI). (8), for example, the status information STI may include information (i.e., address information) of the read area RA in which the read data (DATA_R) is written. The processor 101 transmits the RAM command CMD_R, the RAM address ADDR_R and the clock CK to the RAM controller 111a in order to read the read data (DATA_R) based on the state information (STI). The RAM controller 111a transmits the read data DATA_R to the processor 101 in response to the received RAM command CMD_R, the RAM address ADDR_R and the clock CK. Illustratively, the read data (DATA_R) may be transmitted to the processor 101 via the data signal DQ and the data strobe signal DQS.

도 4 내지 도 11을 참조하여 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 프로세서(101)로부터 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입한다. 이 후, 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송한다. 프로세서(101)는 알림 신호(Alert_n)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.4 to 11, the nonvolatile memory system 100 stores the status information (STI) in the RAM 101 after completing the operation corresponding to the storage command CMD_S received from the processor 101. [ To the state area STA of the memory 111b. Thereafter, the non-volatile memory system 100 transmits the notification signal Alert_n to the processor 101. [ The processor 101 can read the state information STI written in the state area STA in response to the notification signal Alert_n. Thus, a nonvolatile memory system with improved performance is provided.

도 12는 본 발명의 다른 실시 예에 따른 사용자 시스템을 보여주는 블록도이다. 도 12를 참조하면, 사용자 시스템(20)은 프로세서(201) 및 불휘발성 메모리 시스템(200)을 포함한다. 불휘발성 메모리 시스템(200)은 장치 컨트롤러(210), 버퍼 메모리(220), 및 복수의 불휘발성 메모리 장치들(231~23n)을 포함한다. 장치 컨트롤러(210)는 물리 계층(211) 및 제어기(212)를 포함한다. 물리 계층(211)은 램 컨트롤러(211a), 램(211b), 및 다목적 레지스터(MPR; Multi Purpose Register)를 포함한다.12 is a block diagram illustrating a user system according to another embodiment of the present invention. Referring to FIG. 12, the user system 20 includes a processor 201 and a non-volatile memory system 200. The non-volatile memory system 200 includes a device controller 210, a buffer memory 220, and a plurality of non-volatile memory devices 231 to 23n. The device controller 210 includes a physical layer 211 and a controller 212. The physical layer 211 includes a RAM controller 211a, a RAM 211b, and a multipurpose register (MPR).

프로세서(201), 불휘발성 메모리 시스템(200), 장치 컨트롤러(210), 버퍼 메모리(220), 복수의 불휘발성 메모리 장치들(231~23n), 물리 계층(211), 제어기(212), 램 컨트롤러(211a), 및 램(211b)은 도 1을 참조하여 설명되었으므로 이에 대한 상세한 설명은 생략된다.A processor 201, a non-volatile memory system 200, a device controller 210, a buffer memory 220, a plurality of non-volatile memory devices 231 to 23n, a physical layer 211, a controller 212, The controller 211a, and the RAM 211b have been described with reference to FIG. 1, so a detailed description thereof will be omitted.

도 1의 불휘발성 메모리 시스템(100)과 달리 도 12의 불휘발성 메모리 시스템(200)은 다목적 레지스터(MPR; Multi Purpose Register)를 더 포함한다. 다목적 레지스터(MPR)는 복수의 레지스터들을 포함할 수 있다. 다목적 레지스터(MPR은 데이터 패턴, 오류 로그, 모드 레지스터에 대한 정보, 또는 상태 정보(STI)의 갱신에 대한 정보 등을 저장할 수 있다. 예를 들어, 다목적 레지스터(MPR)는 트레이닝을 위한 데이터 패턴에 대한 정보를 포함할 수 있다. 다목적 레지스터(MPR)는 프로세서(101)로부터 수신된 쓰기 데이터, 스토리지 커맨드 등의 순환 중복 검사에 대한 로그 기록을 포함할 수 있다. 다목적 레지스터(MPR)는 물리 계층(211)의 동작 모드를 가리키는 모드 레지스터(MRS)에 대한 정보를 포함할 수 있다. 다목적 레지스터(MPR)는 상태 정보(STI)의 갱신에 대한 정보(이하에서, "상태 정보 로그"라 칭한다.)를 포함할 수 있다. 예시적으로, 프로세서(101)는 다목적 레지스터(MPR) 엑세스 모드로 물리 계층(211)의 동작 모드(또는 모드 레지스터)를 변경함으로써 다목적 레지스터(MPR)를 엑세스할 수 있다. 예시적으로, 프로세서(101)는 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 사용하여 물리 계층(211)의 동작 모드(또는 모드 레지스터)를 변경할 수 있다. 1, the nonvolatile memory system 200 of FIG. 12 further includes a multipurpose register (MPR). The multipurpose register (MPR) may include a plurality of registers. A multipurpose register (MPR) can store data patterns, error logs, information about mode registers, or information about the update of state information (STI), etc. For example, a multipurpose register (MPR) Purpose register (MPR) may include a log record for cyclic redundancy checking of write data, storage commands, etc. received from the processor 101. A multipurpose register (MPR) The multipurpose register MPR may store information on the update of the status information STI (hereinafter, referred to as "status information log "). Processor (MPR) access mode by changing the operating mode (or mode register) of the physical layer 211 to a multipurpose register (MPR) access mode, The processor 101 can change the operation mode (or mode register) of the physical layer 211 using the RAM command CMD_R and the RAM address ADDR_R.

본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 시스템(200)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후, 다목적 레지스터(MPR)에 상태 정보(STI)의 갱신 사항을 기입하고, 이 후에 알림 신호(Alert_n)를 프로세서(201)로 전송한다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)로부터 상태 정보 로그를 읽을 수 있다. 프로세서(201)는 읽은 상태 정보 로그에 따라 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다.The nonvolatile memory system 200 according to another embodiment of the present invention writes the state information STI to the multipurpose register MPR after writing the state information STI into the state area STA , And then transmits the notification signal (Alert_n) to the processor 201. The processor 201 may read the status information log from the multipurpose register (MPR) in response to the alert signal Alert_n. The processor 201 can read the status information (STI) written in the status area STA according to the read status information log.

이하에서, 도면의 간결성 및 설명의 편의를 위하여, 제어기(212)에 의해 상태 정보(STI)가 상태 영역(STA)에 기입된 이후에, 제어기(212)에 의해 상태 정보 로그가 다목적 레지스터(MPR)에 기입되는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 상태 정보 로그는 물리 계층(211)에 포함된 램 컨트롤러(211a) 또는 별도의 로직 회로 또는 물리 계층 외부에 위치한 별도의 제어 회로에 의해 다목적 레지스터(MPR)에 기록될 수 있다.In the following, for the sake of simplicity and ease of explanation, the state information STI is written into the state area STA by the controller 212, and then the state information log is read by the controller 212 in the multipurpose register (MPR ). ≪ / RTI > However, the scope of the present invention is not limited thereto, and the status information log may be stored in a general purpose register (RAM) 211a included in the physical layer 211 or in a separate logic circuit or a separate control circuit located outside the physical layer MPR).

도 13은 도 12의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다. 도 12 및 도 13을 참조하면, 불휘발성 메모리 시스템(200)은 S2010 단계 내지 S2030 단계의 동작들을 수행할 수 있다. 예시적으로, S2010 단계 내지 S2030 단계의 동작들은 도 3의 S1010 단계 내지 S1030 단계의 동작들과 유사하므로, 이에 대한 상세한 설명은 생략된다.13 is a flowchart showing the operation of the nonvolatile memory system of FIG. 12 and 13, the non-volatile memory system 200 may perform the operations of steps S2010 to S2030. Illustratively, the operations of steps S2010 to S2030 are similar to those of steps S1010 to S1030 of FIG. 3, so a detailed description thereof will be omitted.

S2040 단계에서, 불휘발성 메모리 시스템(200)은 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다. 예를 들어, 불휘발성 메모리 시스템(200)은 상태 정보(STI)가 상태 영역(STA)에 기입되었음을 알리는 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다.In step S2040, the non-volatile memory system 200 may write the status information log (STI log) to the multipurpose register (MPR). For example, the non-volatile memory system 200 may write a status information log (STI log) indicating that the status information (STI) is written in the status area (STA) to the multipurpose register (MPR).

S2050 단계에서, 불휘발성 메모리 시스템(200)은 알림 신호(Alert_n)를 프로세서(201)로 전송한다.In step S2050, the non-volatile memory system 200 transmits the notification signal Alert_n to the processor 201. [

S2060 단계에서, 불휘발성 메모리 시스템(200)은 프로세서(201)의 요청에 의해 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송한다. 예를 들어, 프로세서(201)는 S2050 단계의 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)를 읽을 수 있다. 이 때, 프로세서(201)의 요청(즉, 다목적 레지스터(MPR) 읽기 요청)에 따라 불휘발성 메모리 시스템(200)은 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송할 수 있다. 다목적 레지스터(MPR)에 기입된 정보는 상태 정보 로그(STI log)를 포함할 수 있다.In step S2060, the non-volatile memory system 200 transmits information written to the multipurpose register (MPR) to the processor 201 at the request of the processor 201. [ For example, the processor 201 may read the multipurpose register (MPR) in response to the alert signal Alert_n in step S2050. At this time, the non-volatile memory system 200 may transmit information written to the multipurpose register (MPR) to the processor 201 in response to a request of the processor 201 (i.e., a multipurpose register (MPR) read request). The information written to the multipurpose register (MPR) may include a status information log (STI log).

예시적으로, 프로세서(201)는 S2060 단계의 상태 정보 로그(STI log)에 응답하여 램(211b)에 기입된 상태 정보(STI)를 읽을 수 있다.Illustratively, the processor 201 may read the status information (STI) written to the RAM 211b in response to the status information log (STI log) in step S2060.

상술된 본 발명의 실시 예에 따르면, 불휘발성 메모리 시스템(200)은 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 상태 영역(STA)에 기입하고, 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입한다. 이후, 불휘발성 메모리 시스템(200)은 알림 신호(Alert_n)를 프로세서(201)로 제공한다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여, 다목적 레지스터(MPR)에 기입된 상태 정보 로그(STI log)를 읽을 수 있다. 프로세서(201)는 상태 정보 로그(STI log)를 기반으로 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.According to the embodiment of the present invention described above, the nonvolatile memory system 200 writes the status information (STI) into the status area (STA) after completing the operation corresponding to the storage command (CMD_S) The log (STI log) is written to the multipurpose register (MPR). Then, the non-volatile memory system 200 provides the notification signal Alert_n to the processor 201. [ The processor 201 may read the status information log (STI log) written to the multipurpose register (MPR) in response to the alert signal Alert_n. The processor 201 can read the status information (STI) written in the status area STA based on the status information log (STI log). Thus, a nonvolatile memory system with improved performance is provided.

예시적으로, 불휘발성 메모리 시스템(200)은 스토리지 커맨드(CMD_S) 또는 쓰기 데이터(DATA_W)의 순환 반복 체크(CRC; Cyclic Redundancy Check) 에러시, 알림 신호(Alert_n)를 프로세서(201)로 전송할 수 있다. 이 경우, 프로세서(201)는 다목적 레지스터(MPR)의 오류 로그를 읽고, CRC 에러가 발생했음을 인지할 수 있다. 이 경우, 프로세서(201)는 CRC 에러가 발생한 스토리지 커맨드(CMD_S), 또는 쓰기 데이터(DATA_W)를 불휘발성 메모리 시스템(200)으로 재전송할 수 있다. 즉, 불휘발성 메모리 시스템(200)은 CRC 에러 발생시 또는 상태 정보 갱신시, 알림 신호(Alert_n)를 프로세서(201)로 전송하고, 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)에 기입된 정보를 읽고, 읽은 정보를 기반으로 동작할 수 있다.Illustratively, the non-volatile memory system 200 may send a notification signal (Alert_n) to the processor 201 in the event of a cyclic redundancy check (CRC) error of the storage command (CMD_S) or write data (DATA_W) have. In this case, the processor 201 reads the error log of the multipurpose register (MPR) and can recognize that a CRC error has occurred. In this case, the processor 201 can retransmit the storage command (CMD_S) or the write data (DATA_W) in which the CRC error has occurred to the nonvolatile memory system (200). That is, the nonvolatile memory system 200 transmits the notification signal Alert_n to the processor 201 when a CRC error occurs or when the status information is updated, and the processor 201 transmits the notification signal Alert_n to the multipurpose register (MPR ), And can operate based on the information read.

도 14는 도 12의 사용자 시스템의 쓰기 동작을 상세하게 보여주는 순서도이다. 도 12 및 도 14를 참조하면, 사용자 시스템(20)의 프로세서(201) 및 불휘발성 메모리 시스템(200)은 S2110 단계 내지 S2150 단계의 동작들을 수행한다. S2110 단계 내지 S2150 단계의 동작들은 도 5의 S1110 단계 내지 S1150 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.FIG. 14 is a flowchart showing a write operation of the user system of FIG. 12 in detail. Referring to Figs. 12 and 14, the processor 201 and the nonvolatile memory system 200 of the user system 20 perform the operations of steps S2110 to S2150. The operations in steps S2110 to S2150 are similar to those in steps S1110 to S1150 in FIG. 5, so that detailed description thereof will be omitted.

S2160 단계에서, 프로세서(201)는 다목적 레지스터(MPR)를 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(200)으로 전송한다. 예를 들어, 불휘발성 메모리 시스템(200)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후에, MRP에 상태 정보 로그(STI log)를 기입할 수 있다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)에 기입된 상태 정보 로그(STI log)를 읽기 위하여 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 전송할 수 있다. 예시적으로, 램 커맨드(CMD_R)는 물리 계층(211)에 포함된 모드 레지스터(미도시)를 셋팅하기 위한 커맨드일 수 있고, 램 어드레스(ADDR_R)는 모드 레지스터(미도시)의 값을 가리킬 수 있다. 예시적으로, 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 의해 모드 레지스터가 설정됨으로써 다목적 레지스터(MPR)이 엑세스될 수 있다.In step S2160, the processor 201 transmits a RAM command CMD_R and a RAM address ADDR_R for selecting the multipurpose register (MPR) to the nonvolatile memory system 200. For example, the non-volatile memory system 200 may write a status information log (STI log) to the MRP after writing the status information (STI) into the status area (STA). The processor 201 can transmit the RAM command CMD_R and the RAM address ADDR_R in response to the alert signal Alert_n to read the status information log STI log written in the multipurpose register MPR. Illustratively, the RAM command CMD_R may be a command for setting a mode register (not shown) included in the physical layer 211, and the RAM address ADDR_R may indicate a value of a mode register (not shown) have. Illustratively, the mode register is set by the RAM command CMD_R and the RAM address ADDR_R so that the multipurpose register MPR can be accessed.

S2170 단계에서, 불휘발성 메모리 시스템(200)은 다목적 레지스터(MPR)의 정보를 프로세서(201)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(200)은 S2160 단계의 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송할 수 있다. 예시적으로, 다목적 레지스터(MPR)에 기입된 정보는 상태 정보 로그(STI log)를 포함할 수 있고, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(201)로 전송될 수 있다.In step S2170, the non-volatile memory system 200 may send information of the multipurpose register (MPR) to the processor 201. [ For example, the non-volatile memory system 200 may transmit information written to the multipurpose register (MPR) to the processor 201 in response to the RAM command CMD_R and the RAM address ADDR_R in step S2160. Illustratively, the information written to the multipurpose register (MPR) may include a status information log (STI log) and may be transmitted to the processor 201 via the data signal DQ and the data strobe signal DQS .

프로세서(201)는 읽은 상태 정보 로그(STI log)를 기반으로 S2180 단계의 동작을 수행할 수 있다. 불휘발성 메모리 시스템(200)은 S2190 단계의 동작을 수행할 수 있다. S2180 단계 및 S2190 단계의 동작들은 도 4의 S1160 단계 및 S1170 단계의 동작들과 유사하므로 이에 대한 설명은 생략된다.The processor 201 may perform the operation of step S2180 based on the read status information log (STI log). The nonvolatile memory system 200 may perform the operation of step S2190. The operations in steps S2180 and S2190 are similar to the operations in steps S1160 and S1170 in FIG. 4, so that descriptions thereof will be omitted.

도 15는 도 14의 S2160 단계 및 S2170 단계를 상세하게 설명하기 위한 도면이다. 간결한 설명을 위하여, 쓰기 동작을 설명하는데 불필요한 구성 요소들은 생략되며, 중복되는 구성 요소들에 대한 상세한 설명은 생략된다.FIG. 15 is a diagram for explaining steps S2160 and S2170 of FIG. 14 in detail. For the sake of brevity, unnecessary elements for describing the write operation are omitted, and detailed description of the redundant elements is omitted.

도 15를 참조하면, 프로세서(201) 및 불휘발성 메모리 시스템(200)은 도 5 및 도 6을 참조하여 설명된, 스토리지 커맨드 기입(①), 커맨드 영역 읽기(②), 쓰기 데이터 기입(③), 쓰기 영역 읽기(④), 및 쓰기 데이터 프로그램(⑤)을 수행할 수 있다. 이 후, 제어기(212)는 쓰기 동작의 완료를 가리키는 상태 정보(STI)를 상태 영역(STA)에 기입한다. (⑥)15, the processor 201 and the nonvolatile memory system 200 are configured to write a storage command (1), a command area read (2), a write data write (3) described with reference to FIGS. 5 and 6, , Write area read (4), and write data program (5). Thereafter, the controller 212 writes state information (STI) indicating completion of the write operation into the state area STA. (⑥)

이 후, 제어기(212)는 다목적 레지스터(MPR)에 상태 정보 로그(STI log)를 기입할 수 있다. (⑦) 예를 들어, 제어기(212)는 상태 정보(STI)가 상태 영역(STA)에 기입되었음을 가리키는 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다. 예시적으로, 비록 도면에 도시되지는 않았으나, 상태 정보 로그(STI log)는 램 컨트롤러(211a) 또는 별도의 로직 회로에 의해 다목적 레지스터(MPR)에 기입될 수 있다.Thereafter, the controller 212 may write a status information log (STI log) to the multipurpose register (MPR). (7) For example, the controller 212 may write the status information log (STI log) indicating that the status information (STI) is written in the status area (STA) to the multipurpose register (MPR). Illustratively, although not shown in the figure, the status information log (STI log) may be written to the multipurpose register (MPR) by the RAM controller 211a or by a separate logic circuit.

제어기(212)는 알림 신호(Alert_n)를 프로세서(201)로 전송한다. (⑧) 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)에 기입된 상태 정보 로그(STI log)를 읽을 수 있다. (⑨) 예를 들어, 프로세서(201)는 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 램 컨트롤러(211a)로 전송한다. 이 때, 램 커맨드(CMD_R)는 모드 레지스터 셋(MRS; Mode Register Set, 미도시)을 위한 커맨드이고, 램 어드레스(ADDR_R)는 모드 레지스터 설정 값일 수 있다. 램 컨트롤러(211a)는 수신된 신호들에 응답하여 모드 레지스터를 설정하고, 설정된 모드 레지스터에 따라 다목적 레지스터에 기입된 정보(즉, 상태 정보 로그(STI log))를 프로세서(201)로 전송할 수 있다. 예시적으로, 상태 정보 로그(STI log)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(201)로 전송될 수 있다.The controller 212 transmits the notification signal (Alert_n) to the processor 201. (⑧) The processor 201 can read the status information log (STI log) written in the multipurpose register (MPR) in response to the alert signal (Alert_n). (9) For example, the processor 201 transmits the RAM command CMD_R, the RAM address ADDR_R, and the clock CK to the RAM controller 211a. At this time, the RAM command CMD_R is a command for a mode register set (MRS) (not shown), and the RAM address ADDR_R may be a mode register setting value. The RAM controller 211a may set the mode register in response to the received signals and may transmit the information written in the general purpose register (i.e., the status information log (STI log)) to the processor 201 according to the set mode register . Illustratively, the status information log (STI log) may be transmitted to the processor 201 via the data signal DQ and the data strobe signal DQS.

프로세서(201)는 상태 정보 로그(STI log)를 기반으로, 도 7을 참조하여 설명된 바와 같이, 상태 영역(STA)의 상태 정보(STI)를 읽을 수 있다.The processor 201 can read the status information (STI) of the status area STA based on the status information log (STI log), as described with reference to FIG.

도 16은 도 12의 사용자 시스템의 읽기 동작을 보여주는 순서도이다. 도 12 및 도 16을 참조하면, 사용자 시스템(20)의 프로세서(201) 및 불휘발성 메모리 시스템(200)은 S2210 단계 내지 S2290 단계의 동작들을 수행할 수 있다. S2210 단계 내지 S2230 단계의 동작들은 도 8의 S1210 단계 내지 S1230 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.16 is a flowchart showing a read operation of the user system of FIG. 12 and 16, the processor 201 and the nonvolatile memory system 200 of the user system 20 can perform the operations of steps S2210 to S2290. The operations in steps S2210 to S2230 are similar to those in steps S1210 to S1230 in FIG. 8, so that a detailed description thereof will be omitted.

S2240 단계 및 S2250 단계의 동작들은 도 14의 S2160 단계 및 S2170 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다. 즉, 프로세서(201)는 S2240 단계 및 S2250 단계의 동작들을 통해 상태 다목적 레지스터(MPR)로부터 상태 정보 로그(STI log)를 읽을 수 있다.Operations in steps S2240 and S2250 are similar to those in steps S2160 and S2170 in FIG. 14, and thus detailed description thereof will be omitted. That is, the processor 201 may read the status information log (STI log) from the status multipurpose register (MPR) through operations in steps S2240 and S2250.

S2260 단계 내지 S2290 단계의 동작들은 도 8의 1240 단계 내지 S1270 단계와 유사하므로 이에 대한 상세한 설명은 생략된다.Operations in steps S2260 to S2290 are similar to steps 1240 to S1270 in FIG. 8, so that detailed description thereof will be omitted.

도 12 내지 도 16을 참조하여 설명된 본 발명의 또 다른 실시 예에 따르면, 불휘발성 메모리 시스템(200)은 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 상태 영역(STA)에 기입하고, 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입한다. 이 후, 불휘발성 메모리 시스템(200)은 알림 신호(Alert_n)를 프로세서(201)로 전송한다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)로부터 상태 정보 로그(STI log)를 읽고, 일긍ㄴ 상태 정보 로그(STI log)를 기반으로 상태 영역(STA)로부터 상태 정보(STI)를 읽을 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 동작 방법이 제공된다.According to another embodiment of the present invention described with reference to FIGS. 12 to 16, after the nonvolatile memory system 200 completes the operation corresponding to the received storage command CMD_S, Into the state area STA, and writes the state information log STI log into the multipurpose register MPR. Thereafter, the non-volatile memory system 200 transmits the notification signal Alert_n to the processor 201. [ The processor 201 reads the status information log (STI log) from the multipurpose register (MPR) in response to the alert signal Alert_n and updates the status information (STI log) from the status area (STA) STI). Thus, a non-volatile memory system with improved performance and a method of operation thereof are provided.

예시적으로, 도 12 내지 도 16을 참조하여 설명된 본 발명의 또 다른 실시 예에 따르면, 불휘발성 메모리 시스템(200)은 상태 정보 로그(STI log) 또는 CRC 에러 로그를 다목적 레지스터(MPR)에 기입한 후, 알림 신호(Alert_n)를 프로세서(201)로 전송할 수 있다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)에 기입된 로그를 읽고, 읽은 로그가 상태 정보 갱신을 가리키는지 또는 CRC 에러를 가리키는지 판별할 수 있고, 판별 결과에 따라 동작할 수 있다. 즉, 불휘발성 메모리 시스템(200)이 하나의 알림 신호(Alert_n)를 사용하여 상태 정보 갱신 및 CRC 에러 발생에 대한 정보를 프로세서(201)로 알릴 수 있기 때문에, 감소된 비용을 갖는 불휘발성 메모리 시스템(200)이 제공된다.Illustratively, according to another embodiment of the present invention described with reference to Figures 12-16, the non-volatile memory system 200 includes a status information log (STI log) or a CRC error log in a multipurpose register (MPR) After the writing, the notification signal Alert_n can be transmitted to the processor 201. The processor 201 can read the log written in the multipurpose register (MPR) in response to the alert signal (Alert_n), determine whether the read log indicates a status information update or a CRC error, can do. That is, since the nonvolatile memory system 200 can notify the processor 201 of information on status information update and CRC error occurrence using one alert signal (Alert_n), the nonvolatile memory system (200) is provided.

도 17은 본 발명의 또 다른 실시 예에 따른 사용자 시스템을 보여주는 블록도이다. 도 17을 참조하면, 사용자 시스템(30)은 프로세서(301) 및 불휘발성 메모리 시스템(300)을 포함한다. 불휘발성 메모리 시스템(300)은 장치 컨트롤러(310), 버퍼 메모리(320), 및 복수의 불휘발성 메모리 장치들(321~32n)을 포함한다. 장치 컨트롤러(310)는 물리 계층(311) 및 제어기(312)를 포함한다. 물리 계층(311)은 램 컨트롤러(311a) 및 램(311b)을 포함한다. 도 17의 사용자 시스템(20)의 구성 요소들은 도 1을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.17 is a block diagram illustrating a user system according to another embodiment of the present invention. 17, the user system 30 includes a processor 301 and a non-volatile memory system 300. As shown in FIG. The non-volatile memory system 300 includes a device controller 310, a buffer memory 320, and a plurality of non-volatile memory devices 321 to 32n. The device controller 310 includes a physical layer 311 and a controller 312. The physical layer 311 includes a RAM controller 311a and a RAM 311b. The components of the user system 20 of FIG. 17 have been described with reference to FIG. 1, and a detailed description thereof will be omitted.

프로세서(301) 및 불휘발성 메모리 시스템(300)은 직렬 버스(SB; Serial Bus)을 기반으로 통신할 수 있다. 예시적으로, 직렬 버스(SB)은 I2C, SMBus, PMBus, IPMI, MCTP 등과 같은 2라인 직렬 버스일 수 있다.The processor 301 and the non-volatile memory system 300 can communicate based on a serial bus (SB). By way of example, the serial bus SB may be a two-line serial bus such as I2C, SMBus, PMBus, IPMI, MCTP, and the like.

본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 시스템(300)은 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(311b)에 기입한다. 이 후, 불휘발성 메모리 시스템(300)은 알림 신호(Alert_n)를 프로세서(301)로 전송한다.The nonvolatile memory system 300 according to another embodiment of the present invention writes the status information STI to the RAM 311b after completing the operation corresponding to the storage command CMD_S. Thereafter, the non-volatile memory system 300 transmits the notification signal Alert_n to the processor 301. [

이 때, 프로세서(301)는 도 1의 프로세서(101) 및 도 12의 프로세서와 달리, 알림 신호(Alert_n)에 응답하여 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 수신할 수 있다. 프로세서(301)는 수신된 상태 정보 로그(STI log)를 기반으로 램(311b)에 기입된 상태 정보(STI)를 읽을 수 있다.At this time, in contrast to the processor 101 of FIG. 1 and the processor of FIG. 12, the processor 301 may receive status information from the non-volatile memory system 300 via the serial bus SB in response to the alert signal Alert_n STI log). The processor 301 may read the status information (STI) written in the RAM 311b based on the received status information log (STI log).

상술된 본 발명의 또 다른 실시 예에 따르면, 프로세서(301)는 알림 신호(Alert_n)에 응답하여 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 수신할 수 있다.According to another embodiment of the invention described above, the processor 301 may receive the status information log (STI log) via the serial bus SB in response to the alert signal Alert_n.

도 18은 도 17의 불휘발성 메모리 시스템의 동작을 보여주는 순서도이다. 도 17 및 도 18을 참조하면, 불휘발성 메모리 시스템(300)은 S3010 단계 내지 S3040 단계의 동작들을 수행할 수 있다. S3010 단계 내지 S3040 단계의 동작들은 도 3의 S1010 단계 내지 S1040 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.18 is a flowchart showing the operation of the nonvolatile memory system of FIG. 17 and 18, the non-volatile memory system 300 may perform the operations of steps S3010 to S3040. Operations in steps S3010 through S3040 are similar to operations in steps S1010 through S1040 of FIG. 3, and thus detailed description thereof will be omitted.

S3050 단계에서, 불휘발성 메모리 시스템(300)은 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 프로세서(301)로 전송한다. 예를 들어, 프로세서(301)는 S3040 단계의 알림 신호(Alert_n)에 응답하여, 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 읽기 위한 요청을 불휘발성 메모리 시스템(300)으로 전송할 수 있다. 불휘발성 메모리 시스템(300)은 요청에 응답하여 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 프로세서(301)로 전송할 수 있다.In step S3050, the non-volatile memory system 300 transmits a status information log (STI log) to the processor 301 via the serial bus SB. For example, in response to the alert signal Alert_n in step S3040, the processor 301 may send a request to the non-volatile memory system 300 to read the status information log (STI log) via the serial bus SB have. The non-volatile memory system 300 may send a status information log (STI log) to the processor 301 via the serial bus SB in response to the request.

도 19는 도 17의 사용자 시스템의 쓰기 동작을 상세하게 보여주는 순서도이다. 도 20은 도 19의 S3160 단계 및 S3170 단계의 동작들을 설명하기 위한 도면이다. 도 17, 도 19, 및 도 20을 참조하면, 프로세서(301) 및 불휘발성 메모리 시스템(300)은 S3110 단계 내지 S3150 단계의 동작들을 수행할 수 있다. S3110 단계 내지 S3150 단계의 동작들은 도 4의 S1110 단계 내지 S1150 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.FIG. 19 is a flowchart showing the write operation of the user system of FIG. 17 in detail. 20 is a diagram for explaining the operations of steps S3160 and S3170 of FIG. 17, 19, and 20, the processor 301 and the nonvolatile memory system 300 can perform the operations of steps S3110 to S3150. The operations of steps S3110 to S3150 are similar to those of steps S1110 to S1150 of FIG. 4, so a detailed description thereof will be omitted.

S3160 단계에서, 프로세서(301)는 상태 정보 로그(STI log)를 읽기 위한 요청을 불휘발성 메모리 시스템(300)으로 전송한다. 예시적으로, 상태 정보 로그(STI log)를 읽기 위한 요청은 직렬 버스(SB)를 통해 전송될 수 있다. 상태 정보 로그(STI log)를 읽기 위한 요청은 직렬 버스(SB)에 의해 정의된 신호일 수 있다.In step S3160, the processor 301 sends a request to the non-volatile memory system 300 to read the status information log (STI log). Illustratively, a request to read the status information log (STI log) may be sent over the serial bus (SB). The request to read the status information log (STI log) may be a signal defined by the serial bus (SB).

S3170 단계에서, 불휘발성 메모리 시스템(300)은 S3160 단계의 요청에 응답하여 상태 정보 로그(STI log)를 프로세서(301)로 전송할 수 있다. 예시적으로, 상태 정보 로그(STI log)는 직렬 버스(SB)를 통해 프로세서(301)로 전송될 수 있다.In step S3170, the non-volatile memory system 300 may transmit the status information log (STI log) to the processor 301 in response to the request in step S3160. Illustratively, the status information log (STI log) may be transmitted to the processor 301 via the serial bus SB.

예를 들어, 불휘발성 메모리 시스템(300)은 도 5 및 도 6을 참조하여 설명된, 스토리지 커맨드 기입(①), 커맨드 영역 읽기(②), 쓰기 데이터 기입(③), 쓰기 영역 읽기(④), 및 쓰기 데이터 프로그램(⑤)을 수행할 수 있다. 이 후 도 20에 도시된 바와 같이, 제어기(312)는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. (⑥) 이 후, 제어기(312)는 알림 신호(Alert_n)를 프로세서(301)로 전송할 수 있다. (⑦)For example, the nonvolatile memory system 300 includes a storage command write (1), a command area read (2), a write data write (3), a write area read (4) , And a write data program (5). Then, as shown in FIG. 20, the controller 312 can write the status information (STI) into the status area (STA). (6), the controller 312 may transmit the notification signal Alert_n to the processor 301. [ (⑦)

프로세서(301)는 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 읽을 수 있다. (⑧) 예를 들어, 프로세서(301)는 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 읽을 수 있다. The processor 301 may read the status information log (STI log) from the non-volatile memory system 300 in response to the alert signal Alert_n. (8) For example, the processor 301 can read the status information log (STI log) from the nonvolatile memory system 300 via the serial bus SB.

프로세서(301) 및 불휘발성 메모리 시스템(300)은 S3180 단계 및 S3190 단게의 동작들을 수행할 수 있다. S3180 단계 및 S3190 단계의 동작들은 도 1의 S1160 단계 및 S1170 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.Processor 301 and non-volatile memory system 300 may perform operations S3180 and S3190. Operations in steps S3180 and S3190 are similar to those in steps S1160 and S1170 in FIG. 1, so that detailed description thereof will be omitted.

예시적으로, 직렬 버스(SB)를 기반으로 하는 프로세서(301) 및 불휘발성 메모리 시스템(300) 사이의 통신은 상술된 상태 정보 로그(STI log)의 읽기에 국한되지 않는다. 예시적으로, 프로세서(301)는 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)에 다양한 정보를 요청하거나 또는 불휘발성 메모리 시스템(300)으로부터 다양한 정보를 수신할 수 있다. 또는 불휘발성 메모리 시스템(300)은 직렬 버스(SB)를 통해 프로세서(301)에 다양한 정보를 요청하거나 또는 프로세서(301)로부터 다양한 정보를 수신할 수 있다.Illustratively, communication between the processor 301 and the non-volatile memory system 300 based on the serial bus SB is not limited to the reading of the status information log (STI log) described above. By way of example, the processor 301 may request various information from the non-volatile memory system 300 via the serial bus SB, or may receive various information from the non-volatile memory system 300. Or the non-volatile memory system 300 may request various information from the processor 301 via the serial bus SB or may receive various information from the processor 301. [

도 21은 도 17의 사용자 시스템의 읽기 동작을 상세하게 보여주는 순서도이다. 도 17 및 도 21을 참조하면, 프로세서(301) 및 불휘발성 메모리 시스템(300)은 S3210 단계 내지 S3290 단계를 수행한다. S3210 단계 내지 S3230 단계의 동작들은 도 8의 S1210 단계 내지 S1230 단계의 동작들과 유사하고, S3240 단계 내지 S3250 단계의 동작들은 도 19의 S3160 단계 및 S3170 단계의 동작들과 유사하고, S3260 단계 내지 S3290 단계의 동작들은 도 16의 S2260 단계 내지 S2290 단계의 동작들과 유사하므로, 각 단계에 대한 상세한 설명은 생략된다.FIG. 21 is a flowchart showing the read operation of the user system of FIG. 17 in detail. 17 and 21, the processor 301 and the nonvolatile memory system 300 perform steps S3210 to S3290. The operations in steps S3210 to S3230 are similar to the operations in steps S1210 to S1230 in Fig. 8, and operations S3240 to S3250 are similar to operations S3160 and S3170 in Fig. 19, and operations S3260 to S3290 The operations of the steps are similar to those of steps S2260 to S2290 of Fig. 16, so that detailed description of each step is omitted.

도 17 내지 도 21을 참조하여 설명된 본 발명의 또 다른 실시 예에 따르면, 불휘발성 메모리 시스템(300)은 프로세서(301)로부터 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에 상태 정보(STI)를 상태 영역(STA)에 기입한다. 이 후, 불휘발성 메모리 시스템(300)은 알림 신호(Alert_n)를 프로세서(301)로 전송한다. 프로세서(301)는 알림 신호(Alert_n)에 응답하여, 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 불휘발성 메모리 시스템(300)으로부터 수신한다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.According to another embodiment of the present invention described with reference to FIGS. 17 through 21, the non-volatile memory system 300 may be configured to perform the following operations after completing the operation corresponding to the storage command CMD_S received from the processor 301 And writes the information STI in the state area STA. Thereafter, the non-volatile memory system 300 transmits the notification signal Alert_n to the processor 301. [ The processor 301 receives the status information log (STI log) from the nonvolatile memory system 300 via the serial bus SB in response to the alert signal Alert_n. Thus, a nonvolatile memory system with improved performance is provided.

도 22는 도 1의 복수의 불휘발성 메모리 장치들 중 제1 불휘발성 메모리 장치를 예시적으로 보여주는 블록도이다. 도 22를 참조하면, 불휘발성 메모리 장치(131)는 메모리 셀 어레이(131a), 어드레스 디코더(131b), 제어 로직 및 전압 발생 회로(131c), 페이지 버퍼(131d), 및 입출력 회로(131e)를 포함한다. 22 is a block diagram illustrating an exemplary first nonvolatile memory device of the plurality of nonvolatile memory devices of FIG. 22, the nonvolatile memory device 131 includes a memory cell array 131a, an address decoder 131b, a control logic and voltage generating circuit 131c, a page buffer 131d, and an input / output circuit 131e .

메모리 셀 어레이(131a)는 복수의 메모리 블록들을 포함할 수 있다. 복수의 메모리 블록들 각각은 복수의 셀 스트링들을 포함할 수 있다. 복수의 셀 스트링들 각각은 복수의 메모리 셀들을 포함한다. 복수의 메모리 셀들은 복수의 워드라인들(WL)과 연결될 수 있다. 복수의 메모리 셀들 각각은 1-비트를 저장하는 단일 레벨 셀(SLC; Single Level Cell) 또는 적어도 2-비트를 저장하는 멀티 레벨 셀(MLC; Multi Level Cell)을 포함할 수 있다.The memory cell array 131a may include a plurality of memory blocks. Each of the plurality of memory blocks may include a plurality of cell strings. Each of the plurality of cell strings includes a plurality of memory cells. The plurality of memory cells may be connected to a plurality of word lines WL. Each of the plurality of memory cells may include a single level cell (SLC) storing one bit or a multi level cell (MLC) storing at least two bits.

어드레스 디코더(131b)는 복수의 워드라인들(WL), 스트링 선택 라인들(SSL), 및 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(131a)와 연결된다. 어드레스 디코더(131b)는 외부 장치(예를 들어, 장치 컨트롤러(110))로부터 물리 어드레스(ADDR_P)를 수신하고, 수신된 물리 어드레스(ADDR)를 디코딩하여, 복수의 워드라인들(WL)을 구동할 수 있다. 예를 들어, 어드레스 디코더(131b)는 외부 장치로부터 수신된 물리 어드레드(ADDR_P)를 디코딩하고, 디코딩된 물리 어드레스(ADDR_P)를 기반으로 복수의 워드라인들(WL) 중 적어도 하나의 워드라인을 선택하고, 선택된 적어도 하나의 워드라인을 구동할 수 있다. 예시적으로, 물리 어드레스(ADDR_P)는 스토리지 어드레스(ADDR_S, 도 1 및 도 2 참조)가 변환된, 제1 불휘발성 메모리(131)의 물리 어드레스를 가리킨다. 상술된 어드레스 변환 동작은 장치 컨트롤러(110) 또는 장치 컨트롤러(110)에 의해 구동되는 플래시 변환 계층(FTL)에 의해 수행될 수 있다.The address decoder 131b is connected to the memory cell array 131a through a plurality of word lines WL, string selection lines SSL, and ground selection lines GSL. The address decoder 131b receives the physical address ADDR_P from the external device (for example, the device controller 110) and decodes the received physical address ADDR to drive the plurality of word lines WL can do. For example, the address decoder 131b decodes the physical address ADDR_P received from the external device and generates at least one word line of the plurality of word lines WL based on the decoded physical address ADDR_P And may drive at least one selected word line. Illustratively, the physical address ADDR_P indicates the physical address of the first nonvolatile memory 131 to which the storage address ADDR_S (see FIGS. 1 and 2) has been converted. The address translation operation described above may be performed by a flash translation layer (FTL) driven by the device controller 110 or the device controller 110. [

제어 로직 및 전압 발생 회로(131c)는 외부 장치로부터 스토리지 커맨드(CMD_S) 및 제어 신호(CTRL)를 수신하고, 수신된 신호들에 응답하여 어드레스 디코더(131b), 페이지 버퍼(131d), 및 입출력 회로(131e)를 제어할 수 있다. 예를 들어, 제어 로직 및 전압 발생 회로(131c)는 신호들(CMD_S, CTRL)에 응답하여 데이터(DATA)가 메모리 셀 어레이(131a)에 저장되도록 다른 구성 요소들을 제어할 수 있다. 또는 제어 로직 및 전압 발생 회로(131c)는 신호들(CMD_S, CTRL)에 응답하여 메모리 셀 어레이(131a)에 저장된 데이터(DATA)가 외부 장치로 전송되도록 다른 구성 요소들을 제어할 수 있다. 예시적으로, 외부 장치로부터 수신된 스토리지 커맨드(CMD_S)는 도 1의 스토리지 커맨드(CMD_S)가 변형된 커맨드일 수 있다. 제어 신호(CTRL)는 장치 컨트롤러(110)가 불휘발성 메모리(131)를 제어하기 위하여 제공하는 신호일 수 있다.The control logic and voltage generating circuit 131c receives the storage command CMD_S and the control signal CTRL from the external device and supplies the address decoder 131b, the page buffer 131d, and the input / (131e). For example, the control logic and voltage generation circuit 131c may control other components so that the data (DATA) is stored in the memory cell array 131a in response to the signals CMD_S and CTRL. Or the control logic and voltage generation circuit 131c may control other components so that the data (DATA) stored in the memory cell array 131a is transferred to the external device in response to the signals CMD_S and CTRL. Illustratively, the storage command CMD_S received from the external device may be a modified command of the storage command CMD_S of FIG. The control signal CTRL may be a signal that the device controller 110 provides to control the nonvolatile memory 131. [

제어 로직 및 전압 발생 회로(131c)는 불휘발성 메모리(131)가 동작하는데 요구되는 다양한 전압들을 생성할 수 있다. 예를 들어, 제어 로직 및 전압 발생 회로(131c)는 복수의 프로그램 전압들, 복수의 패스 전압들, 복수의 선택 읽기 전압들, 복수의 비선택 읽기 전압들, 복수의 소거 전압들, 복수의 검증 전압들과 같은 다양한 전압들을 생성할 수 있다. 제어 로직 및 전압 발생 회로(131c)는 생성된 다양한 전압들을 어드레스 디코더(131b)로 제공하거나 또는 메모리 셀 어레이(131a)의 기판으로 제공할 수 있다.The control logic and voltage generation circuit 131c may generate various voltages required for the non-volatile memory 131 to operate. For example, the control logic and voltage generation circuit 131c may include a plurality of program voltages, a plurality of pass voltages, a plurality of select read voltages, a plurality of unselected read voltages, a plurality of erase voltages, Can generate various voltages such as voltages. The control logic and voltage generation circuit 131c may provide the generated various voltages to the address decoder 131b or to the substrate of the memory cell array 131a.

페이지 버퍼(131d)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(131a)와 연결된다. 페이지 버퍼(131d)는 제어 로직 및 전압 발생 회로(131c)의 제어에 따라 입출력 회로(131e)로부터 수신된 데이터(DATA)가 메모리 셀 어레이(131a)에 저장되도록 비트 라인들(BL)을 제어할 수 있다. 페이지 버퍼(131d)는 제어 로직 및 전압 발생 회로(131c)의 제어에 따라 메모리 셀 어레이(110)에 저장된 데이터를 읽고, 읽은 데이터를 입출력 회로(131e)로 전달할 수 있다. 예시적으로, 페이지 버퍼(131d)는 입출력 회로(131e)로부터 페이지 단위로 데이터를 수신하거나 또는 메모리 셀 어레이(131a)로부터 페이지 단위로 데이터를 읽을 수 있다.The page buffer 131d is connected to the memory cell array 131a through a plurality of bit lines BL. The page buffer 131d controls the bit lines BL so that data (DATA) received from the input / output circuit 131e is stored in the memory cell array 131a under the control of the control logic and voltage generation circuit 131c . The page buffer 131d may read the data stored in the memory cell array 110 and transmit the read data to the input / output circuit 131e under the control of the control logic and the voltage generation circuit 131c. Illustratively, the page buffer 131d may receive data on a page-by-page basis from the input / output circuit 131e or may read data on a page-by-page basis from the memory cell array 131a.

입출력 회로(131a)는 외부 장치로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 페이지 버퍼(131d)로 전달할 수 있다. 또는 입출력 회로(131e)는 페이지 버퍼(131d)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 외부 장치(예를 들어, 장치 제어기(110))로 전달할 수 있다. 예시적으로, 입출력 회로(160)는 제어 신호(CTRL)와 동기되어 외부 장치와 데이터(DATA)를 송수신할 수 있다.The input / output circuit 131a receives the data (DATA) from the external device and can transfer the received data (DATA) to the page buffer 131d. Or the input / output circuit 131e may receive the data (DATA) from the page buffer 131d and transfer the received data (DATA) to an external device (for example, the device controller 110). Illustratively, the input / output circuit 160 can transmit and receive data (DATA) with an external device in synchronization with the control signal CTRL.

예시적으로, 본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 복수의 불휘발성 메모리 장치들(131~13n) 각각은 3차원 메모리 어레이를 포함할 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.Illustratively, as an exemplary embodiment according to the technical concept of the present invention, each of the plurality of non-volatile memory devices 131 to 13n may include a three-dimensional memory array. The three-dimensional memory array may be monolithically formed on one or more physical levels of arrays of memory cells having an active region disposed over a silicon substrate and circuits associated with operation of the memory cells. The circuitry associated with the operation of the memory cells may be located within or on the substrate. The term monolithical means that layers of each level in a three-dimensional array are deposited directly on the lower-level layers of the three-dimensional array.

본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가지며, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.As an exemplary embodiment according to the technical concept of the present invention, a three-dimensional memory array has vertical directionality and includes vertical NAND strings in which at least one memory cell is located on the other memory cell. The at least one memory cell includes a charge trap layer. Each vertical NAND string may include at least one select transistor located over the memory cells. The at least one select transistor has the same structure as the memory cells and can be formed monolithically with the memory cells.

3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖고, 3차원 메모리 어레이에 적합한 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.A three-dimensional memory array comprising a plurality of levels and having word lines or bit lines shared between the levels, a configuration suitable for a three-dimensional memory array is disclosed in U.S. Patent No. 7,679,133, U.S. Patent No. 8,553,466 U.S. Patent No. 8,654,587, U.S. Patent No. 8,559,235, and U.S. Patent Application Publication No. 2011/0233648, which are incorporated herein by reference.

도 23은 도 22의 메모리 셀 어레이에 포함된 메모리 블록들 중 제1 메모리 블록의 예를 보여주는 회로도이다. 예시적으로, 도 23을 참조하여 3차원 구조의 제1 메모리 블록(BLK1)이 설명된다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 복수의 불휘발성 메모리 장치들(131~13n) 각각에 포함된 다른 메모리 블록들 또한 제1 메모리 블록(BLK1)과 유사한 구조를 가질 수 있다.23 is a circuit diagram showing an example of a first memory block among the memory blocks included in the memory cell array of FIG. Illustratively, the first memory block BLK1 of a three-dimensional structure will be described with reference to Fig. However, the scope of the present invention is not limited thereto, and other memory blocks included in each of the plurality of nonvolatile memory devices 131 to 13n may have a structure similar to that of the first memory block BLK1.

도 23을 참조하면, 제1 메모리 블록(BLK1)은 복수의 셀 스트링들(CS11, CS12, CS21, CS22)을 포함한다. 복수의 셀 스트링들(CS11, CS12, CS21, CS22)은 행 방향(row direction) 및 열 방향(column direction)을 따라 배치되어 행들 및 열들을 형성할 수 있다.Referring to FIG. 23, the first memory block BLK1 includes a plurality of cell strings CS11, CS12, CS21, and CS22. A plurality of cell strings CS11, CS12, CS21, and CS22 may be arranged along a row direction and a column direction to form rows and columns.

예를 들어, 셀 스트링들(CS11, CS12)은 스트링 선택 라인들(SSL1a, SSL1b)와 연결되어, 제1 행을 형성할 수 있다. 셀 스트링들(CS21, CS22)은 스트링 선택 라인들(SSL2a, SSL2b)와 연결되어 제2 행을 형성할 수 있다.For example, the cell strings CS11 and CS12 may be connected to the string selection lines SSL1a and SSL1b to form a first row. The cell strings CS21 and CS22 may be connected to the string selection lines SSL2a and SSL2b to form a second row.

예를 들어, 셀 스트링들(CS11, CS21)은 제1 비트라인(BL1)과 연결되어 제1 열을 형성할 수 있다. 셀 스트링들(CS12, CS22)은 제2 비트라인(BL2)과 연결되어 제2 열을 형성할 수 있다.For example, the cell strings CS11 and CS21 may be connected to the first bit line BL1 to form a first column. The cell strings CS12 and CS22 may be connected to the second bit line BL2 to form a second column.

복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 복수의 셀 트랜지스터들을 포함한다. 예를 들어, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 스트링 선택된 트랜지스터들(SSTa, SSTb), 복수의 메모리 셀들(MC1~MC8), 접지 선택된 트랜지스터들(GSTa, GSTb), 및 더미 메모리 셀들(DMC1, DMC2)을 포함할 수 있다.Each of the plurality of cell strings CS11, CS12, CS21, and CS22 includes a plurality of cell transistors. For example, each of the plurality of cell strings CS11, CS12, CS21, and CS22 includes the string selected transistors SSTa and SSTb, the plurality of memory cells MC1 to MC8, the ground selected transistors GSTa and GSTb, And dummy memory cells DMC1, DMC2.

예시적으로, 복수의 셀 스트링들(CS11, CS12, CS21, CS22)에 포함된 복수의 셀 트랜지스터들 각각은 전하 트랩형 플래시(CTF; charge trap flash) 메모리 셀일 수 있다.Illustratively, each of the plurality of cell transistors included in the plurality of cell strings CS11, CS12, CS21, CS22 may be a charge trap flash (CTF) memory cell.

복수의 메모리 셀들(MC1~MC8)은 직렬 연결되며, 행 방향 및 열 방향에 의해 형성된 평명과 수직한 방향인 높이 방향(height direction)으로 적층된다. 스트링 선택된 트랜지스터들(SSTa, SSTb)은 직렬 연결되고, 직렬 연결된 스트링 선택된 트랜지스터들(SSTa, SSTb)은 복수의 메모리 셀들(MC1~MC8) 및 비트라인(BL) 사이에 제공된다. 접지 선택된 트랜지스터들(GSTa, GSTb)은 직렬 연결되고, 직렬 연결된 접지 선택된 트랜지스터들(GSTa, GSTb)은 복수의 메모리 셀들(MC1~MC8) 및 공통 소스 라인(CSL) 사이에 제공된다.The plurality of memory cells MC1 to MC8 are connected in series and are stacked in a height direction perpendicular to the plane formed by the row direction and the column direction. The string selected transistors SSTa and SSTb are connected in series and the strings of selected transistors SSTa and SSTb connected in series are provided between the plurality of memory cells MC1 to MC8 and the bit line BL. The ground selected transistors GSTa and GSTb are connected in series and the grounded selected transistors GSTa and GSTb connected in series are provided between the plurality of memory cells MC1 to MC8 and the common source line CSL.

예시적으로, 복수의 메모리 셀들(MC1~MC8) 및 접지 선택된 트랜지스터들(GSTa, GSTb) 사이에 제1 더미 메모리 셀(DMC1)이 제공될 수 있다. 예시적으로, 복수의 메모리 셀들(MC1~MC8) 및 스트링 선택된 트랜지스터들(SSTa, SSTb) 사이에 제2 더미 메모리 셀(DMC2)이 제공될 수 있다. Illustratively, a first dummy memory cell DMC1 may be provided between a plurality of memory cells MC1 to MC8 and ground selected transistors GSTa and GSTb. Illustratively, a second dummy memory cell DMC2 may be provided between the plurality of memory cells MC1 to MC8 and the string selected transistors SSTa and SSTb.

셀 스트링들(CS11, CS12, CS21, CS22)의 접지 선택된 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.The ground selected transistors GSTa and GSTb of the cell strings CS11, CS12, CS21 and CS22 can be connected in common to the ground selection line GSL.

예시적으로, 동일한 행의 접지 선택된 트랜지스터들은 동일한 접지 선택 라인에 연결될 수 있고, 다른 행의 접지 선택된 트랜지스터들은 다른 접지 선택 라인에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제1 접지 선택된 트랜지스터들(GSTa)은 제1 접지 선택 라인에 연결될 수 있고, 제2 행의 셀 스트링들(CS21, CS22)의 제1 접지 선택된 트랜지스터들(GSTa)은 제2 접지 선택 라인에 연결될 수 있다.By way of example, the ground selected transistors in the same row can be connected to the same ground select line, and the ground selected transistors in the other row can be connected to different ground select lines. For example, the first ground selected transistors GSTa of the cell strings CS11, CS12 of the first row may be connected to the first ground selection line and the first ground selected transistors GSTa of the cell strings CS21, CS12 of the second row The first ground selected transistors (GSTa) may be connected to the second ground selection line.

예시적으로, 도면에 도시되지는 않았으나, 기판(미도시)으로부터 동일한 높이에 제공되는 접지 선택된 트랜지터들은 동일한 접지 선택 라인에 연결될 수 있고, 다른 높이에 제공되는 접지 선택된 트랜지스터들은 다른 접지 선택 라인에 연결될 수 있다. 예를 들어, 셀 스트링들(CS11, CS12, CS21, CS22)의 제1 접지 선택된 트랜지스터들(GSTa)은 제1 접지 선택 라인에 연결되고, 제2 접지 선택 트랜지스터들(GSTb)은 제2 접지 선택 라인에 연결될 수 있다.Illustratively, although not shown in the drawings, the ground selected transistors provided at the same height from the substrate (not shown) may be connected to the same ground select line, and the ground selected transistors provided at different heights may be connected to another ground select line Can be connected. For example, the first ground selected transistors (GSTa) of the cell strings (CS11, CS12, CS21, CS22) are connected to the first ground selection line and the second ground selection transistors (GSTb) Line. ≪ / RTI >

기판(또는 접지 선택된 트랜지스터(GSTa, GSTb)으로부터 동일한 높이의 메모리 셀들은 동일한 워드라인에 공통으로 연결되고, 서로 다른 높이의 메모리 셀들은 서로 다른 워드라인에 연결된다. 예를 들어, 셀 스트링들(CS11, CS12, CS21, CS22)의 제1 내지 제8 메모리 셀들(MC8)은 제1 내지 제8 워드라인들(WL1~WL8)에 각각 공통으로 연결된다.Memory cells of the same height from the substrate (or ground selected transistors GSTa, GSTb) are commonly connected to the same word line, and memory cells of different heights are connected to different word lines. For example, cell strings The first to eighth memory cells MC8 of the memory cells CS11, CS12, CS21, and CS22 are commonly connected to the first to eighth word lines WL1 to WL8, respectively.

동일한 높이의 제1 스트링 선택된 트랜지스터들(SSTa) 중 동일한 행의 스트링 선택된 트랜지스터들은 동일한 스트링 선택 라인과 연결되고, 다른 행의 스트링 선택된 트랜지스터들은 다른 스트링 선택 라인과 연결된다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제1 스트링 선택된 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)과 공통으로 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 제1 스트링 선택된 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)과 공통으로 연결된다.Strings of the same row among the first string selected transistors (SSTa) of the same height are connected to the same string selection line, and the other strings of string selected transistors are connected to another string selection line. For example, the first string selected transistors SSTa of the cell strings CS11 and CS12 of the first row are connected in common with the string selection line SSL1a and the cell strings CS21 and CS22 of the second row ) Are connected in common with the string selection line SSL1a.

마찬가지로, 동일한 높이의 제2 스트링 선택된 트랜지스터들(SSTb) 중 동일한 행의 스트링 선택된 트랜지스터들은 동일한 스트링 선택 라인과 연결되고, 다른 행의 스트링 선택된 트랜지스터들은 다른 스트링 선택 라인과 연결된다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제2 스트링 선택된 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)과 공통으로 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 제2 스트링 선택된 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)과 공통으로 연결된다.Likewise, string selected transistors of the same row of the second string selected transistors (SSTb) of the same height are connected to the same string select line, and the other strings of string selected transistors are connected to different string select lines. For example, the second string selected transistors SSTb of the cell strings CS11, CS12 of the first row are connected in common with the string selection line SSL1b and the cell strings CS21, CS22 of the second row ) Are connected in common with the string selection line SSL2b.

비록 도면에 도시되지는 않았으나, 동일한 행의 셀 스트링들의 스트링 선택된 트랜지스터들은 동일한 스트링 선택 라인에 공통으로 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제1 및 제2 스트링 선택된 트랜지스터들(SSTa, SSTb)은 동일한 스트링 선택 라인에 공통으로 연결될 수 있다. 제2 행의 셀 스트링들(CS21, CS22)의 제1 및 제2 스트링 선택된 트랜지스터들(SSTa, SSTb)은 동일한 스트링 선택 라인에 공통으로 연결될 수 있다. Although not shown in the figure, string selected transistors of cell strings in the same row may be connected in common to the same string select line. For example, the first and second string selected transistors (SSTa, SSTb) of the cell strings CS11, CS12 of the first row may be connected in common to the same string selection line. The first and second string selected transistors (SSTa, SSTb) of the cell strings CS21, CS22 of the second row may be connected in common to the same string selection line.

예시적으로, 동일한 높이의 더미 메모리 셀들은 동일한 더미 워드라인과 연결되고, 다른 높이의 더미 메모리 셀들은 다른 더미 워드라인과 연결된다. 예를 들어, 제1 더미 메모리 셀들(DMC1)은 제1 더미 워드라인(DWL1)과 연결되고, 제2 더미 메모리 셀들(DMC2)은 제2 더미 워드라인(DWL2)과 연결된다. Illustratively, dummy memory cells of the same height are connected to the same dummy word line, and dummy memory cells of different heights are connected to another dummy word line. For example, the first dummy memory cells DMC1 are connected to the first dummy word line DWL1, and the second dummy memory cells DMC2 are connected to the second dummy word line DWL2.

제1 메모리 블록(BLK1)에서, 읽기 및 쓰기는 행 단위로 수행될 수 있다. 예를 들어, 스트링 선택 라인들(SSL1a, SSL1b, SSL2a, SSL2b)에 의해 메모리 블록(BLKa)의 하나의 행이 선택될 수 있다.In the first memory block BLK1, reading and writing can be performed line by line. For example, one row of the memory block BLKa may be selected by the string selection lines SSL1a, SSL1b, SSL2a, and SSL2b.

예를 들어, 스트링 선택 라인들(SSL1a, SSL1b)이 턴-온 전압이 공급되고 스트링 선택 라인들(SSL2a, SSL2b)에 턴-오프 전압이 공급될 때, 제1 행의 셀 스트링들(CS11, CS12)이 비트 라인들(BL1, BL2)에 연결된다. 스트링 선택 라인들(SSL2a, SSL2b)에 턴-온 전압이 공급되고 스트링 선택 라인들(SSL1a, SSL1B)에 턴-오프 전압이 공급될 때, 제2 행의 셀 스트링들(CS21, CS22)이 비트 라인들(BL1, BL2)에 연결되어 구동된다. 워드라인을 구동함으로써 구동되는 행의 셀 스트링의 메모리 셀들 중 동일한 높이의 메모리 셀들이 선택된다. 선택된 메모리 셀들에서 읽기 및 쓰기 동작이 수행될 수 있다. 선택된 메모리 셀들은 물리 페이지 단위를 형성할 수 있다. For example, when the string selection lines SSL1a and SSL1b are supplied with the turn-on voltage and the turn-off voltage is supplied to the string selection lines SSL2a and SSL2b, the cell strings CS11, CS12 are connected to the bit lines BL1, BL2. When the turn-on voltage is supplied to the string selection lines SSL2a and SSL2b and the turn-off voltage is supplied to the string selection lines SSL1a and SSL1B, the cell strings CS21 and CS22 of the second row are supplied with the bit Connected to the lines BL1 and BL2 and driven. Memory cells of the same height among the memory cells of the cell strings of the row driven by driving the word lines are selected. Read and write operations can be performed on selected memory cells. Selected memory cells may form a physical page unit.

제1 메모리 블록(BLK1)에서, 소거는 메모리 블록 단위 또는 서브 블록의 단위로 수행될 수 있다. 메모리 블록 단위로 소거가 수행될 때, 제1 메모리 블록(BLK1)의 모든 메모리 셀들(MC)이 하나의 소거 요청에 따라 동시에 소거될 수 있다. 서브 블록의 단위로 수행될 때, 제1 메모리 블록(BLK1)의 메모리 셀들(MC) 중 일부는 하나의 소거 요청에 따라 동시에 소거되고, 나머지 일부는 소거 금지될 수 있다. 소거되는 메모리 셀들에 연결된 워드 라인에 저전압(예를 들어, 접지 전압)이 공급되고, 소거 금지된 메모리 셀들에 연결된 워드 라인은 플로팅될 수 있다.In the first memory block BLK1, erasing may be performed in units of memory blocks or units of subblocks. When erasing is performed in units of memory blocks, all the memory cells MC of the first memory block BLK1 can be erased simultaneously according to one erase request. When performed in units of sub-blocks, some of the memory cells MC of the first memory block BLK1 may be simultaneously erased in response to one erase request, and some of the memory cells MC of the first memory block BLK1 may be erased. A low voltage (e. G., Ground voltage) is applied to the word line connected to the erased memory cells, and the word line connected to the erased memory cells can be floated.

예시적으로, 도 23에 도시된 제1 메모리 블록(BLK1)은 예시적인 것이며, 셀 스트링들의 개수는 증가 또는 감소할 수 있으며, 셀 스트링들의 개수에 따라 셀 스트링들이 구성하는 행들 및 열들의 개수는 증가 또는 감소할 수 있다. 또한, 제1 메모리 블록(BLK1)의 셀 트랜지스터들(GST, MC, DMC, SST 등)의 개수들는 각각 증가 또는 감소될 수 있으며, 셀 트랜지스터들의 개수들에 따라 제1 메모리 블록(BLK1)의 높이가 증가 또는 감소할 수 있다. 또한, 셀 트랜지스터들의 개수들에 따라 셀 트랜지스터들과 연결된 라인들(GSL, WL, DWL, SSL 등)의 개수들이 증가 또는 감소될 수 있다.By way of illustration, the first memory block BLK1 shown in FIG. 23 is exemplary and the number of cell strings can be increased or decreased, and the number of rows and columns comprised by cell strings according to the number of cell strings is Increase or decrease. The number of the cell transistors GST, MC, DMC, SST, etc. of the first memory block BLK1 may be increased or decreased, and the height of the first memory block BLK1 Can be increased or decreased. Also, the number of lines (GSL, WL, DWL, SSL, etc.) connected to the cell transistors may be increased or decreased according to the number of cell transistors.

도 24는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 14를 참조하면, 컴퓨팅 시스템(1000)은 프로세서(1100), 불휘발성 메모리 모듈들(1200, 1201), 램 모듈들(1300, 1301), 칩셋(1400), GPU(1500), 입출력 장치(1600), 및 스토리지 장치(1700)를 포함한다.FIG. 24 is a block diagram illustrating a computing system to which a non-volatile memory system according to the present invention is applied. 14, a computing system 1000 includes a processor 1100, non-volatile memory modules 1200 and 1201, RAM modules 1300 and 1301, a chipset 1400, a GPU 1500, an input / 1600, and a storage device 1700.

프로세서(1100)는 컴퓨팅 시스템(1000)의 제반 동작을 제어할 수 있다. 프로세서(1100)는 컴퓨팅 시스템(1000)에서 수행되는 다양한 연산을 수행할 수 있다.The processor 1100 may control all operations of the computing system 1000. The processor 1100 may perform various operations performed in the computing system 1000.

불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301)은 프로세서(1100)와 직접적으로 연결될 수 있다. 예를 들어, 불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301) 각각은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module) 형태를 가질 수 있고, 불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301) 각각은 프로세서(1100)와 직접적으로 연결된 DIMM 소켓에 장착되어 프로세서(1100)와 통신할 수 있다. 예시적으로, 불휘발성 메모리 모듈들(1200, 1201)은 도 1 내지 도 23을 참조하여 설명된 불휘발성 메모리 시스템(100, 200, 300)일 수 있다. The non-volatile memory modules 1200 and 1201 and the RAM modules 1300 and 1301 may be directly connected to the processor 1100. For example, each of the non-volatile memory modules 1200 and 1201 and the RAM modules 1300 and 1301 may have the form of a dual in-line memory module (DIMM) Each of the modules 1200 and 1201 and the RAM modules 1300 and 1301 may be mounted in a DIMM socket directly connected to the processor 1100 to communicate with the processor 1100. Illustratively, the non-volatile memory modules 1200 and 1201 may be the non-volatile memory systems 100, 200, and 300 described with reference to FIGS.

불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301)은 동일한 인터페이스(1001)를 통해 프로세서(1100)와 통신할 수 있다. 예를 들어, 불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301) DDR(Double Data Rate) 인터페이스(1001)를 통해 통신할 수 있다. 예시적으로, 프로세서(1100)는 램 모듈들(1300, 1301)을 컴퓨팅 시스템(1000)의 동작 메모리, 버퍼 메모리, 또는 캐시 메모리로서 사용할 수 있다.The non-volatile memory modules 1200 and 1201 and the RAM modules 1300 and 1301 may communicate with the processor 1100 through the same interface 1001. For example, the nonvolatile memory modules 1200 and 1201 and the RAM modules 1300 and 1301 can communicate through a double data rate (DDR) interface 1001. Illustratively, processor 1100 may use RAM modules 1300 and 1301 as operational memory, buffer memory, or cache memory of computing system 1000.

칩셋(1400)은 프로세서(1100)와 전기적으로 연결되고, 프로세서(1100)의 제어에 따라 컴퓨팅 시스템(1000)의 하드웨어를 제어할 수 있다. 예를 들어, 칩셋(1400)은 주요 버스들을 통해 GPU(1500), 입출력 장치(1600), 및 스토리지 장치(1700) 각각과 연결되고, 주요 버스들에 대한 브릿지 역할을 수행할 수 있다. The chipset 1400 is electrically connected to the processor 1100 and can control the hardware of the computing system 1000 under the control of the processor 1100. [ For example, the chipset 1400 may be connected to the GPU 1500, the input / output device 1600, and the storage device 1700 via the main buses, respectively, and may serve as a bridge to the main buses.

GPU(1500)는 컴퓨팅 시스템(1000)의 영상 데이터를 출력하기 위한 일련의 연산 동작을 수행할 수 있다. 예시적으로 GPU(1500)는 시스템-온-칩 형태로 프로세서(1100) 내에 실장될 수 있다.The GPU 1500 may perform a series of arithmetic operations to output image data of the computing system 1000. Illustratively, GPU 1500 may be implemented within processor 1100 in a system-on-chip form.

입출력 장치(1600)는 컴퓨팅 시스템(1000)으로 데이터 또는 명령어를 입력하거나 또는 외부로 데이터를 출력하는 다양한 장치들을 포함한다. 예르르 들어, 입출력 장치(1600)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 압전 소자 등과 같은 사용자 입력 장치들 및 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 장치들을 포함할 수 있다.The input / output device 1600 includes various devices that input data or instructions to the computing system 1000 or output data to the outside. For example, the input / output device 1600 A user input device such as a keyboard, a keypad, a button, a touch panel, a touch screen, a touch pad, a touch ball, a camera, a microphone, a gyroscope sensor, a vibration sensor, Display devices, AMOLED (Active Matrix OLED) displays, LEDs, speakers, motors, and the like.

스토리지 장치(1700)는 컴퓨팅 시스템(1000)의 저장 매체로서 사용될 수 있다. 스토리지 장치(1600)는 하드 디스크 드라이브, SSD, 메모리 카드, 메모리 스틱 등과 같은 대용량 저장 매체들을 포함할 수 있다.The storage device 1700 may be used as a storage medium of the computing system 1000. Storage device 1600 may include mass storage media such as hard disk drives, SSDs, memory cards, memory sticks, and the like.

예시적으로, 불휘발성 메모리 모듈들(1200, 1201)은 프로세서(1100)에 의해 컴퓨팅 시스템(1000)의 대용량 저장 매체로서 사용될 수 있다. 불휘발성 메모리 모듈들(1200, 1201) 및 프로세서(1100) 사이의 인터페이스(1001)는 스토리지 장치(1700) 및 프로세서(1100) 사이의 인터페이스보다 고속 인터페이스일 수 있다. 즉, 프로세서(1100)가 불휘발성 메모리 모듈들(1200, 1201)을 저장 매체로서 사용함으로써 컴퓨팅 시스템의 성능이 향상된다.Illustratively, non-volatile memory modules 1200 and 1201 may be used by the processor 1100 as a mass storage medium of the computing system 1000. The interface 1001 between the non-volatile memory modules 1200 and 1201 and the processor 1100 may be a higher speed interface than the interface between the storage device 1700 and the processor 1100. [ That is, the performance of the computing system is improved by the processor 1100 using the nonvolatile memory modules 1200 and 1201 as a storage medium.

도 25는 도 24의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다. 예시적으로, 도 25는 LRDIMM(Load Reduced DIMM) 형태를 갖는 불휘발성 메모리 모듈(1200)의 블록도이다. 예시적으로, 도 15에 도시된 불휘발성 메모리 모듈(1200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(1100)와 통신할 수 있다. FIG. 25 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 24 by way of example. Illustratively, FIG. 25 is a block diagram of a non-volatile memory module 1200 having the form of a Load Reduced DIMM (LRDIMM). Illustratively, the non-volatile memory module 1200 shown in FIG. 15 is in the form of a dual in-line memory module (DIMM) and is mounted in a DIMM socket to communicate with the processor 1100 .

도 25를 참조하면, 불휘발성 메모리 모듈(1200)은 장치 컨트롤러(1210), 버퍼 메모리(1220), 불휘발성 메모리 장치(1230), 및 직렬 프레즌스 검출 칩(1240)(SPD; Serial Presence Detect chip)를 포함한다. 장치 컨트롤러(1210)는 램(1211)을 포함할 수 있다. 예시적으로, 불휘발성 메모리 장치(1230)는 복수의 불휘발성 메모리들(NVM)을 포함할 수 있다. 불휘발성 메모리 장치(1230)에 포함된 복수의 불휘발성 메모리들 각각은 별도의 칩, 별도의 패키지, 별도의 장치, 또는 별도의 모듈로 각각 구현될 수 있다. 또는 불휘발성 메모리 장치(1230)는 하나의 칩 또는 하나의 패키지로 구현될 수 있다.Referring to Figure 25, a non-volatile memory module 1200 includes a device controller 1210, a buffer memory 1220, a non-volatile memory device 1230, and a serial presence detect chip 1240 (SPD) . The device controller 1210 may include a RAM 1211. Illustratively, non-volatile memory device 1230 may include a plurality of non-volatile memories (NVM). Each of the plurality of nonvolatile memories included in the nonvolatile memory device 1230 may be implemented as a separate chip, a separate package, a separate device, or a separate module, respectively. Or non-volatile memory device 1230 may be implemented in one chip or in one package.

예시적으로, 장치 컨트롤러(1210), 램(1211), 버퍼 메모리(1220), 및 불휘발성 메모리 장치(1230)은 도 1 내지 도 23을 참조하여 설명된 장치 컨트롤러, 램, 버퍼 메모리, 및 복수의 불휘발성 메모리 장치들과 동일하거나 또는 유사하게 동작할 수 있다. 즉, 불휘발성 메모리 모듈(1200)은 도 1 내지 도 23의 불휘발성 메모리 시스템들(100, 200, 300) 중 어느 하나일 수 있다.By way of example, the device controller 1210, the RAM 1211, the buffer memory 1220, and the non-volatile memory device 1230 may include a device controller, a RAM, a buffer memory, and a plurality Lt; RTI ID = 0.0 > and / or < / RTI > non-volatile memory devices. That is, the non-volatile memory module 1200 may be any one of the non-volatile memory systems 100, 200, and 300 of FIGS.

예시적으로, 장치 컨트롤러(1210)는 프로세서(1100)와 복수의 데이터 신호들(DQ) 및 복수의 데이터 스트로브 신호들(DQS)을 송수신할 수 있고, 별도의 신호 라인들을 통해 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 수신할 수 있다. 예시적으로, 장치 컨트롤러(1210)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(1100)로 전송할 수 있다. 예시적으로, 프로세서(1100)는 알림 신호(Alert_n)에 응답하여 램(1211)에 저장된 상태 정보(STI)를 읽을 수 있다.Illustratively, the device controller 1210 can send and receive a plurality of data signals DQ and a plurality of data strobe signals DQS to and from the processor 1100, and receives a RAM command CMD_R via separate signal lines, The RAM address ADDR_R, and the clock CK. Illustratively, the device controller 1210 may send an alert signal (Alert_n) to the processor 1100 in accordance with the operating method described with reference to Figs. 1-23. Illustratively, the processor 1100 may read the status information (STI) stored in the RAM 1211 in response to the alert signal Alert_n.

SPD(1240)는 프로그램 가능 읽기 전용 기억 장치(EEPROM)일 수 있다. SPD(1240)는 불휘발성 메모리 모듈(1200)의 초기 정보 또는 장치 정보를 포함할 수 있다. 예시적으로, SPD(1240)는 불휘발성 메모리 모듈(1200)의 모듈 형태, 모듈 구성, 저장 용량, 모듈 종류, 실행 환경 등과 같은 초기 정보 또는 장치 정보를 포함할 수 있다. 불휘발성 메모리 모듈(1200)이 포함된 컴퓨팅 시스템이 부팅될 때, 컴퓨팅 시스템의 프로세서(1100)는 SPD(1240)를 읽고, 이를 기반으로 불휘발성 메모리 모듈(1200)을 인식할 수 있다. 프로세서(1100)는 SPD(1240)를 기반으로 불휘발성 메모리 모듈(1200)을 저장 매체로서 사용할 수 있다.SPD 1240 may be a programmable read-only memory (EEPROM). SPD 1240 may include initial information or device information of non-volatile memory module 1200. Illustratively, SPD 1240 may include initial information or device information such as module type, module configuration, storage capacity, module type, execution environment, etc. of non-volatile memory module 1200. When the computing system including the non-volatile memory module 1200 is booted, the processor 1100 of the computing system can read the SPD 1240 and recognize the non-volatile memory module 1200 based on the SPD 1240. The processor 1100 may use the nonvolatile memory module 1200 as a storage medium based on the SPD 1240.

예시적으로, SPD(1240)는 직렬 버스(SB)를 통해 프로세서(1100)와 통신할 수 있다. 프로세서(1100)는 직렬 버스(SB)를 통해 SPD(1240)와 신호(SBS)를 주고 받을 수 있다. 예시적으로, SPD(1240)는 직렬 버스(SB)를 통해 장치 컨트롤러(1210)와 통신할 수 있다. 예시적으로, 직렬 버스(SB)는 I2C, SMBus, PMBus, IPMI, MCTP 등과 같은 2라인 직렬 버스들 중 적어도 하나를 포함할 수 있다.Illustratively, the SPD 1240 may communicate with the processor 1100 via a serial bus SB. The processor 1100 can exchange the signal SBS with the SPD 1240 via the serial bus SB. Illustratively, the SPD 1240 may communicate with the device controller 1210 via the serial bus SB. Illustratively, the serial bus SB may include at least one of two-line serial buses such as I2C, SMBus, PMBus, IPMI, MCTP, and the like.

도 26은 도 24의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다. 예시적으로, 도 26은 RDIMM(Registered DIMM) 형태를 갖는 불휘발성 메모리 모듈(2200)의 블록도이다. 예시적으로, 도 26에 도시된 불휘발성 메모리 모듈(2200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(1100)와 통신할 수 있다. FIG. 26 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 24 by way of example. Illustratively, FIG. 26 is a block diagram of a non-volatile memory module 2200 in the form of a Registered DIMM (RDIMM). Illustratively, the non-volatile memory module 2200 shown in FIG. 26 has the form of a dual in-line memory module (DIMM) and is mounted in a DIMM socket to communicate with the processor 1100 .

도 26을 참조하면, 불휘발성 메모리 모듈(2200)은 장치 컨트롤러(2210), 버퍼 메모리(2220), 불휘발성 메모리 장치(2230), 직렬 프레즌스 검출 칩(2240)(SPD; Serial Presence Detect chip), 및 데이터 버퍼 회로(2250)를 포함한다. 장치 컨트롤러(2210)는 램(2211)을 포함한다. 장치 컨트롤러(2210), 램(2211), 불휘발성 메모리 장치(2230), 및 SPD(2240)는 도 1 및 도 15을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.26, the non-volatile memory module 2200 includes a device controller 2210, a buffer memory 2220, a non-volatile memory device 2230, a serial presence detect chip (SPD) 2240, And a data buffer circuit 2250. The device controller 2210 includes a RAM 2211. Since the device controller 2210, the RAM 2211, the nonvolatile memory device 2230, and the SPD 2240 have been described with reference to FIGS. 1 and 15, a detailed description thereof will be omitted.

데이터 버퍼 회로(2250)는 프로세서(1100, 도 24 참조)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 장치 컨트롤러(2250)로 전달할 수 있다. 또는 데이터 버퍼 회로(2250)는 장치 컨트롤러(2210)로부터 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(1100)로 전달할 수 있다.The data buffer circuit 2250 receives information or data from the processor 1100 (see FIG. 24) via the data signal DQ and the data strobe signal DQS and forwards the received information or data to the device controller 2250 . Or the data buffer circuit 2250 may receive information or data from the device controller 2210 and communicate the received information or data to the processor 1100 via the data signal DQ and the data strobe signal DQS.

예시적으로, 데이터 버퍼 회로(2250)는 복수의 데이터 버퍼들(Data Buffer)을 포함할 수 있다. 복수의 데이터 버퍼들(Data Buffer) 각각은 프로세서(1100)와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고 받을 수 있다. 또는 복수의 데이터 버퍼들 각각은 장치 컨트롤러(2210)와 신호를 주고 받을 수 있다. 예시적으로, 복수의 데이터 버퍼들 각각은 장치 컨트롤러(2210)의 제어에 따라 동작할 수 있다.Illustratively, data buffer circuit 2250 may include a plurality of data buffers. Each of the plurality of data buffers can exchange data signals DQ and data strobe signals DQS with the processor 1100. Or each of the plurality of data buffers can exchange signals with the device controller 2210. Illustratively, each of the plurality of data buffers may operate under the control of a device controller 2210.

예시적으로, 장치 컨트롤러(2210)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(1100)로 전송할 수 있다. Illustratively, the device controller 2210 may send an alert signal (Alert_n) to the processor 1100 in accordance with the operating method described with reference to Figs. 1-23.

도 27은 본 발명에 따른 불휘발성 메모리 모듈이 적용된 컴퓨팅 시스템의 다른 예를 예시적으로 보여주는 블록도이다. 간결한 설명을 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다. 도 27을 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), 불휘발성 메모리 모듈(3200), 칩셋(3400), GPU(3500), 입출력 장치(3600), 및 스토리지 장치(3700)를 포함한다. 프로세서(3100), 칩셋(3400), GPU(3500), 입출력 장치(3600), 및 스토리지 장치(3700)는 도 24를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.FIG. 27 is a block diagram illustrating another example of a computing system to which the nonvolatile memory module according to the present invention is applied. For the sake of brevity, a detailed description of the components described above is omitted. 27, a computing system 3000 includes a processor 3100, a non-volatile memory module 3200, a chipset 3400, a GPU 3500, an input / output device 3600, and a storage device 3700 . The processor 3100, the chipset 3400, the GPU 3500, the input / output device 3600, and the storage device 3700 have been described with reference to FIG. 24, and a detailed description thereof will be omitted.

불휘발성 메모리 모듈(3200)은 프로세서(3100)와 직접적으로 연결될 수 있다. 예를 들어, 불휘발성 메모리 모듈(3200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.The non-volatile memory module 3200 may be directly coupled to the processor 3100. For example, the non-volatile memory module 3200 may take the form of a dual in-line memory module (DIMM) and may be mounted to a DIMM socket to communicate with the processor 3100.

불휘발성 메모리 모듈(3200)은 제어 회로(3210), 불휘발성 메모리 장치(3220), 및 램 장치(3230)를 포함할 수 있다. 도 24 내지 도 26을 참조하여 설명된 불휘발성 메모리 모듈들(1200, 2200)과 달리, 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 불휘발성 메모리 장치(3220) 및 램 장치(3230)를 각각 엑세스할 수 있다. 좀 더 상세한 예로서, 제어 회로(3210)는 프로세서(3100)의 제어에 따라 수신된 데이터를 불휘발성 메모리 장치(3210)에 저장하거나 또는 램 장치(3220)에 저장할 수 있다. 또는 제어 회로(3210)는 프로세서(3100)의 제어에 따라 불휘발성 메모리 장치(3210)에 저장된 데이터를 프로세서(3100)로 전송하거나 또는 램 장치(3220)에 저장된 데이터를 프로세서(3100)로 전송할 수 있다. 즉, 프로세서(3100)는 불휘발성 메모리 모듈(3200)에 포함된 불휘발성 메모리 장치(3210) 및 램 장치(3220)를 각각 인식할 수 있다. 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 불휘발성 메모리 장치(3220)에 데이터를 저장하거나 또는 저장된 데이터를 읽을 수 있다. 또는 프로세서(3100)는 램 장치(3230)에 데이터를 저장하거나 또는 저장된 데이터를 읽을 수 있다.The non-volatile memory module 3200 may include a control circuit 3210, a non-volatile memory device 3220, and a ram device 3230. Unlike the non-volatile memory modules 1200 and 2200 described with reference to FIGS. 24 through 26, the processor 3100 includes a non-volatile memory device 3220 and a non-volatile memory device 3220 of the non- Respectively. As a more detailed example, the control circuit 3210 may store the received data in the non-volatile memory device 3210 or in the RAM device 3220 under the control of the processor 3100. [ Or control circuitry 3210 may send data stored in non-volatile memory device 3210 to processor 3100 or may transfer data stored in ram device 3220 to processor 3100 under the control of processor 3100 have. That is, the processor 3100 can recognize the nonvolatile memory device 3210 and the RAM device 3220 included in the nonvolatile memory module 3200, respectively. The processor 3100 may store data in the non-volatile memory device 3220 of the non-volatile memory module 3200 or may read the stored data. Or processor 3100 may store data to or read data from RAM device 3230. [

예시적으로, 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 불휘발성 메모리 장치(3220)을 컴퓨팅 시스템(3000)의 스토리지 매체로서 사용할 수 있고, 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 램 장치(3220)를 컴퓨팅 시스템(3000)의 메인 메모리로서 사용할 수 있다. 즉, 프로세서(3100)는 하나의 DIMM 소켓에 장착된 하나의 메모리 모듈에 포함된 불휘발성 메모리 장치 또는 램 장치를 각각 선택적으로 엑세스할 수 있다.The processor 3100 may use the non-volatile memory module 3200 of the non-volatile memory module 3200 as a storage medium of the computing system 3000, The RAM device 3220 of the computing system 3000 can be used as the main memory of the computing system 3000. That is, the processor 3100 can selectively access the nonvolatile memory device or the RAM device included in one memory module mounted on one DIMM socket, respectively.

예시적으로, 프로세서(3100)는 DDR(Double Data Rate) 인터페이스(3001)를 통해 불휘발성 메모리 모듈(3200)과 통신할 수 있다.Illustratively, the processor 3100 may communicate with the non-volatile memory module 3200 via a double data rate (DDR) interface 3001.

도 28은 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 도 27 및 도 28을 참조하면, 불휘발성 메모리 모듈(3200)은 제어 회로(3210), 불휘발성 메모리 장치(3220), 및 램 장치(3220)를 포함한다. 예시적으로, 불휘발성 메모리 장치(3220)는 복수의 불휘발성 메모리들을 포함할 수 있고, 램 장치(3230)는 복수의 DRAM들을 포함할 수 있다. 예시적으로, 복수의 불휘발성 메모리들은 프로세서(3100)에 의해 컴퓨팅 시스템(3000)의 스토리지로서 사용될 수 있다. 예시적으로, 복수의 불휘발성 메모리들 각각은 EEPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 불휘발성 메모리 소자들을 포함할 수 있다. 28 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27; 27 and 28, the non-volatile memory module 3200 includes a control circuit 3210, a non-volatile memory device 3220, and a ram device 3220. [ By way of example, non-volatile memory device 3220 may comprise a plurality of non-volatile memories, and RAM device 3230 may comprise a plurality of DRAMs. Illustratively, the plurality of non-volatile memories may be used by the processor 3100 as storage in the computing system 3000. Illustratively, each of the plurality of nonvolatile memories may be implemented as an electrically erasable and programmable ROM (EEPROM), a NAND flash memory, a NOR flash memory, a phase change RAM (PRAM), a Resistive RAM (FRAM) Non-volatile memory devices such as spin-torque magnetic RAM (MRAM) and the like.

복수의 DRAM들은 프로세서(3100)에 의해 컴퓨팅 시스템(3000)의 메인 메모리로서 사용될 수 있다. 예시적으로, 램 장치(3230)는 DRAM, SRAM, SDRAM, PRAM, ReRAM, FRAM, MRAM 등과 같은 랜덤 엑세스 메모리 소자들을 포함할 수 있다.The plurality of DRAMs may be used by the processor 3100 as the main memory of the computing system 3000. By way of example, RAM device 3230 may include random access memory devices such as DRAM, SRAM, SDRAM, PRAM, ReRAM, FRAM, MRAM, and the like.

제어 회로(3210)는 장치 컨트롤러(3211) 및 SPD(3212)를 포함한다. 장치 컨트롤러(3211)는 프로세서(3100)로부터 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 수신할 수 있다. 장치 컨트롤러(3211)는 프로세서(3100)로부터 수신된 신호들에 응답하여, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 불휘발성 메모리 장치(3220) 또는 램 장치(3230)에 선택적으로 저장할 수 있다. 또는 장치 컨트롤러(3211)는 프로세서(3100)로부터 수신된 신호들에 응답하여, 불휘발성 메모리 장치(3220) 또는 램 장치(3230)에 저장된 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로 선택적으로 전송할 수 있다.The control circuit 3210 includes a device controller 3211 and an SPD 3212. The device controller 3211 can receive the command CMD, the address ADDR, and the clock CK from the processor 3100. [ The device controller 3211 responds to signals received from the processor 3100 to transfer data received via the data signal DQ and the data strobe signal DQS to the non-volatile memory device 3220 or to the ram device 3230. [ As shown in FIG. Or device controller 3211 responds to signals received from processor 3100 to transfer data stored in non-volatile memory device 3220 or RAM device 3230 to data signal DQ and data strobe signal DQS Lt; RTI ID = 0.0 > 3100 < / RTI >

예시적으로, 프로세서(3100)는 커맨드(CMD), 어드레스(ADDR), 또는 별도의 신호 또는 별도의 정보를 통해 불휘발성 메모리 장치(3220) 또는 램 장치(3230)를 선택적으로 엑세스할 수 있다. 즉, 프로세서(3100)는 불휘발성 메모리 모듈(3200)에 포함된 불휘발성 메모리 장치(3220) 또는 램 장치(3230)를 선택적으로 엑세스할 수 있다. 예시적으로, 장치 컨트롤러(3211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다. Illustratively, the processor 3100 may optionally access the non-volatile memory device 3220 or the RAM device 3230 via a command CMD, an address ADDR, or a separate signal or separate information. That is, the processor 3100 can selectively access the non-volatile memory device 3220 or the RAM device 3230 included in the non-volatile memory module 3200. [ Illustratively, the device controller 3211 may send an alert signal (Alert_n) to the processor 3100 in accordance with the operating method described with reference to Figs. 1-23.

도 29는 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 예시적으로, 도 29의 불휘발성 메모리 모듈(4200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module) 형태를 갖고, DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.29 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27; Illustratively, the non-volatile memory module 4200 of FIG. 29 has the form of a dual in-line memory module (DIMM) and may be mounted in a DIMM socket to communicate with the processor 3100.

도 27 및 도 29를 참조하면, 불휘발성 메모리 모듈(4200)은 제어 회로(4100), 불휘발성 메모리 장치(4220), 및 램 장치(4230)을 포함한다. 제어 회로(4210)는 장치 컨트롤러(4211), SPD(4212), 및 데이터 버퍼 회로(4213)를 포함한다.27 and 29, the non-volatile memory module 4200 includes a control circuit 4100, a non-volatile memory device 4220, and a ram device 4230. The control circuit 4210 includes a device controller 4211, an SPD 4212, and a data buffer circuit 4213.

장치 컨트롤러(4211)는 프로세서(3100)로부터 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 수신한다. 장치 컨트롤러(4211)는 수신된 신호들에 응답하여 불휘발성 메모리 장치(4220) 또는 램 장치(4230)를 제어할 수 있다. 예를 들어, 도 28을 참조하여 설명된 바와 같이, 프로세서(3100)는 불휘발성 메모리 장치(4220) 또는 램 장치(4230) 각각을 선택적으로 엑세스할 수 있다. 장치 컨트롤러(4231)는 프로세서(3100)의 제어에 따라 불휘발성 메모리 장치(4220) 또는 램 장치(4230)를 제어할 수 있다.The device controller 4211 receives the command CMD, the address ADDR, and the clock CK from the processor 3100. The device controller 4211 may control the non-volatile memory device 4220 or the RAM device 4230 in response to the received signals. For example, as described with reference to FIG. 28, the processor 3100 may selectively access each of the non-volatile memory device 4220 or the RAM device 4230. The device controller 4231 can control the nonvolatile memory device 4220 or the RAM device 4230 under the control of the processor 3100. [

데이터 버퍼 회로(4213)는 프로세서(3100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 수신하고, 수신된 신호들을 장치 컨트롤러(4211) 및 램 장치(4230)로 제공할 수 있다. 또는 데이터 버퍼 회로(4213)는 장치 컨트롤러(4211) 또는 램 장치(4230)로부터 수신된 데이터를, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(3100)로 제공할 수 있다.The data buffer circuit 4213 may receive the data signal DQ and the data strobe signal DQS from the processor 3100 and provide the received signals to the device controller 4211 and the RAM device 4230. Or the data buffer circuit 4213 may provide the data received from the device controller 4211 or the RAM device 4230 to the processor 3100 through the data signal DQ and the data strobe signal DQS.

예시적으로, 프로세서(3100)가 불휘발성 메모리 장치(4220)에 데이터를 저장하는 경우, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 데이터는 장치 컨트롤러(4211)로 제공되고, 장치 컨트롤러(4211)는 수신된 데이터를 가공하여 불휘발성 메모리 장치(4220)로 제공할 수 있다. 또는 프로세서(3100)가 불휘발성 메모리 장치(4220)에 저장된 데이터를 읽는 경우, 데이터 버퍼 회로(4213)는 장치 컨트롤러(4211)로부터 제공되는 데이터를, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(3100)로 제공할 수 있다. 또는 프로세서(3100)가 램 장치(4230)에 데이터를 저장하는 경우, 데이터 버퍼 회로(4213)로 수신된 데이터는 램 장치(4230)로 제공되고, 장치 컨트롤러(4231)는 수신된 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 램 장치(4230)로 전달할 수 있다. 또는 프로세서(3100)가 램 장치(4230)에 저장된 데이터를 읽는 경우, 장치 컨트롤러(4231)는 수신된 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 램 장치(4230)로 전달하고, 램 장치(4230)는 전달된 신호들에 응답하여, 데이터를 데이터 버퍼 회로(4213)로 제공하고, 데이터 버퍼 회로(4213)는, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 데이터를 프로세서(3100)로 제공할 수 있다. Illustratively, when the processor 3100 stores data in the nonvolatile memory device 4220, the data received via the data signal DQ and the data strobe signal DQS is provided to the device controller 4211, The device controller 4211 can process the received data and provide it to the nonvolatile memory device 4220. [ Or the processor 3100 reads data stored in the nonvolatile memory device 4220, the data buffer circuit 4213 supplies the data provided from the device controller 4211 to the data signal DQ and the data strobe signal DQS, Lt; / RTI > to the processor 3100 via the network interface. Or the processor 3100 stores data in the RAM device 4230 the data received by the data buffer circuit 4213 is provided to the RAM device 4230 and the device controller 4231 receives the received command CMD, The address ADDR, and the clock CK to the RAM device 4230. Or when the processor 3100 reads data stored in the RAM device 4230, the device controller 4231 transfers the received command CMD, the address ADDR and the clock CK to the RAM device 4230 , The RAM device 4230 provides the data to the data buffer circuit 4213 in response to the transmitted signals and the data buffer circuit 4213 supplies the data signal DQ and the data strobe signal DQS, And may provide data to the processor 3100.

예시적으로, 장치 컨트롤러(4211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다.Illustratively, the device controller 4211 may send an alert signal Alert_n to the processor 3100 in accordance with the operating method described with reference to Figs. 1-23.

도 30은 도 27의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 도 27 및 도 30을 참조하면, 불휘발성 메모리 모듈(5200)은 제어 회로(5210), 불휘발성 메모리 장치(5220), 및 램 장치(5230)를 포함한다. 제어 회로(5210)는 장치 컨트롤러(5211) 및 SPD(5212)를 포함한다.30 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 27; 27 and 30, the non-volatile memory module 5200 includes a control circuit 5210, a non-volatile memory device 5220, and a RAM device 5230. [ The control circuit 5210 includes a device controller 5211 and an SPD 5212.

도 20의 불휘발성 메모리 모듈(5200)은 도 19의 불휘발성 메모리 모듈(4200)과 유사하게 동작할 수 있다. 도 20의 불휘발성 메모리 모듈(5200)은 도 19의 불휘발성 메모리 모듈(4200)과 달리 데이터 버퍼 회로(4213)를 포함하지 않는다. 즉, 도 20의 불휘발성 메모리 모듈(5200)은 프로세서(3100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 장치 컨트롤러(5211) 또는 램 장치(5230)로 직접 제공할 수 있다. 또는 도 20의 불휘발성 메모리 모듈(5200)의 장치 컨트롤러(5211)로부터의 데이터 또는 램 장치(5230)로부터의 데이터는, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(3100)로 직접 제공할 수 있다.The nonvolatile memory module 5200 of FIG. 20 may operate similarly to the nonvolatile memory module 4200 of FIG. The nonvolatile memory module 5200 of FIG. 20 does not include the data buffer circuit 4213 unlike the nonvolatile memory module 4200 of FIG. That is, the nonvolatile memory module 5200 of FIG. 20 provides the data received via the data signal DQ and the data strobe signal DQS from the processor 3100 directly to the device controller 5211 or the RAM device 5230 can do. The data from the device controller 5211 of the nonvolatile memory module 5200 of Figure 20 or the data from the RAM device 5230 is supplied to the processor 3100 through the data signal DQ and the data strobe signal DQS. Can be provided directly.

예시적으로, 도 19의 불휘발성 메모리 모듈(4200)은 LRDIMM(Load Redued DIMM) 형태의 메모리 모듈이고, 도 20의 불휘발성 메모리 모듈(5200)은 RDIMM(Registered DIMM) 형태의 메모리 모듈일 수 있다.Illustratively, the non-volatile memory module 4200 of FIG. 19 is a memory module in the form of an LRDIMM (Load Reduced DIMM), and the non-volatile memory module 5200 of FIG. 20 may be a memory module in the form of a Registered DIMM .

예시적으로, 장치 컨트롤러(5211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다. Illustratively, the device controller 5211 may send a notification signal Alert_n to the processor 3100 in accordance with the operating method described with reference to Figs. 1-23.

도 31은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템이 적용된 서버 시스템을 예시적으로 보여주는 도면이다. 도 31을 참조하면, 서버 시스템(6000)은 복수의 서버 랙들(6110~61n0)을 포함할 수 있다. 복수의 서버 랙들(6110~61n0) 각각은 복수의 불휘발성 메모리 모듈들(6200)을 포함할 수 있다. 복수의 불휘발성 메모리 모듈들(6200)은 복수의 서버 랙들(6110~61n0) 각각에 포함된 프로세서들과 직접적으로 연결될 수 있다. 예를 들어, 복수의 불휘발성 메모리 모듈들(6200) 듀얼 인-라인 메모리 모듈의 형태를 갖고, 프로세서와 전기적으로 연결된 DIMM 소켓에 장착되어 프로세서와 서로 통신할 수 있다. 예시적으로, 복수의 불휘발성 메모리 모듈들(6200)은 서버 시스템(6000)의 스토리지로서 사용될 수 있다. 예시적으로, 복수의 불휘발성 메모리 모듈들(6200)은 도 1 내지 도 23을 참조하여 설명된 방법에 따라 동작할 수 있다.31 is a diagram illustrating a server system to which a nonvolatile memory system according to an embodiment of the present invention is applied. Referring to FIG. 31, the server system 6000 may include a plurality of server racks 6110 to 61n0. Each of the plurality of server racks 6110 to 61n0 may include a plurality of nonvolatile memory modules 6200. [ The plurality of nonvolatile memory modules 6200 may be directly connected to the processors included in each of the plurality of server racks 6110 to 61n0. For example, a plurality of non-volatile memory modules 6200 may take the form of dual in-line memory modules and may be mounted in a DIMM socket electrically connected to the processor to communicate with the processor. Illustratively, a plurality of non-volatile memory modules 6200 may be used as storage for the server system 6000. Illustratively, the plurality of non-volatile memory modules 6200 may operate in accordance with the method described with reference to Figures 1-23.

상술된 본 발명의 실시 예들에 따르면, 불휘발성 메모리 시스템은 프로세서(또는 호스트)로부터 수신된 스토리지 커맨드에 대응하는 동작을 완료한 이후에 상태 정보를 램의 상태 영역에 기입한다. 이후, 불휘발성 메모리 시스템은 알림 신호(Alert_n)를 프로세서로 전송하고, 프로세서는 알림 신호(Alert_n)에 응답하여 상태 정보를 읽을 수 있다. 예시적으로, 프로세서는 알림 신호(Alert_n)에 응답하여 다목적 레지스터의 정보를 읽거나 또는 직렬 버스를 통해 불휘발성 메모리 시스템으로부터 정보를 수신하고, 읽은 정보 또는 수신된 정보를 기반으로 상태 정보를 읽을 수 있다. 즉, 불휘발성 메모리 시스템의 상태 정보를 확인하기 위하여 프로세서가 주기적으로 불휘발성 메모리 시스템을 폴링하지 않기 때문에, 주기적 폴링으로 인한 오버 헤드가 감소된다. 따라서, 프로세서의 활용도가 증가할 뿐만 아니라, 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 동작 방법이 제공된다.According to the embodiments of the present invention described above, the non-volatile memory system writes the status information into the status area of the RAM after completing the operation corresponding to the storage command received from the processor (or host). Then, the non-volatile memory system transmits the alert signal Alert_n to the processor, and the processor can read the status information in response to the alert signal Alert_n. Illustratively, the processor can read information from the multipurpose register in response to the alert signal (Alert_n), or receive information from the non-volatile memory system over the serial bus, and read the status information based on the read information or the received information have. That is, since the processor does not periodically poll the non-volatile memory system to check the status information of the non-volatile memory system, the overhead due to the periodic polling is reduced. Thus, not only does the utilization of the processor increase, but also a non-volatile memory system with improved performance and a method of operation thereof are provided.

본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the equivalents of the claims of the present invention as well as the following claims.

100: 불휘발성 메모리 시스템 110: 장치 컨트롤러
111: 물리 계층 111a: 램 컨트롤러
111b: 램 111c: 저장 신호 드라이버
112: 제어기 120: 버퍼 메모리
131~13n: 복수의 불휘발성 메모리 장치들
CMD_R: 램 커맨드 ADDR_R: 램 어드레스
CK: 클럭 DQ: 데이터 신호
DQS: 데이터 스트로브 신호 CMD_S: 스토리지 커맨드
ADDR_S: 스토리지 어드레스 DATA: 데이터
STI: 상태 정보 Alert_n: 알림 신호
100: non-volatile memory system 110: device controller
111: physical layer 111a: RAM controller
111b: RAM 111c: storage signal driver
112: controller 120: buffer memory
131 to 13n: a plurality of nonvolatile memory devices
CMD_R: RAM command ADDR_R: RAM address
CK: clock DQ: data signal
DQS: Data strobe signal CMD_S: Storage command
ADDR_S: Storage address DATA: Data
STI: Status information Alert_n: Notification signal

Claims (10)

적어도 하나의 불휘발성 메모리 장치; 및
외부 장치로부터 스토리지 커맨드를 수신하고, 상기 수신된 스토리지 커맨드에 대응하는 동작을 수행하는 장치 컨트롤러를 포함하고,
상기 장치 컨트롤러는 램을 포함하고,
상기 장치 컨트롤러는 상기 대응하는 동작을 완료한 이후에, 상기 램에 상태 정보를 저장한 후, 알림 신호를 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.
At least one non-volatile memory device; And
And a device controller for receiving a storage command from an external device and performing an operation corresponding to the received storage command,
Wherein the device controller comprises a RAM,
Wherein the device controller stores status information in the RAM after completing the corresponding operation, and then transmits a notification signal to the external device.
제 1 항에 있어서,
상기 상태 정보는 상기 대응하는 동작의 완료에 대한 정보를 포함하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the status information includes information on the completion of the corresponding operation.
제 1 항에 있어서,
상기 장치 컨트롤러는 상기 알림 신호를 상기 외부 장치로 전송한 이후에, 상기 외부 장치의 요청에 따라 상기 상태 정보를 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the device controller transmits the status information to the external device upon request of the external device after transmitting the notification signal to the external device.
제 1 항에 있어서,
상기 장치 컨트롤러는 상기 상태 정보가 상기 램에 기입되었음을 가리키는 상태 정보 로그를 저장하는 다목적 레지스터를 더 포함하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the device controller further comprises a multipurpose register for storing a status information log indicating that the status information is written to the RAM.
제 4 항에 있어서,
상기 장치 컨트롤러는 상기 외부 장치로부터 램 커맨드 및 램 어드레스를 수신하고, 상기 수신된 램 커맨드 및 램 어드레스에 응답하여 상기 다목적 레지스터에 저장된 상기 상태 정보 로그를 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.
5. The method of claim 4,
Wherein the device controller receives a RAM command and a RAM address from the external device and transmits the status information log stored in the multipurpose register to the external device in response to the received RAM command and the RAM address.
제 1 항에 있어서,
상기 장치 컨트롤러는 상기 알림 신호를 상기 외부 장치로 전송한 이후에, 상기 외부 장치의 요청에 따라 상기 상태 정보가 상기 램에 기입되었음을 가리키는 상태 정보 로그를 직렬 버스를 통해 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the device controller transmits a status information log indicating that the status information is written in the RAM to the external device via a serial bus in response to a request from the external device after transmitting the notification signal to the external device, Memory modules.
제 6 항에 있어서,
상기 직렬 버스는 I2C 버스인 것을 특징으로 하는 불휘발성 메모리 모듈.
The method according to claim 6,
Wherein the serial bus is an I2C bus.
제 1 항에 있어서,
상기 장치 컨트롤러는 상기 외부 장치로부터 램 커맨드, 램 어드레스, 클럭, 데이터 신호, 및 데이터 스트로브 신호를 수신하고, 상기 수신된 램 커맨드, 상기 램 어드레스, 및 상기 클럭에 응답하여 상기 외부 장치로부터 수신되는 상기 데이터 신호 및 상기 데이터 스트로브 신호에 포함된 상기 스토리지 커맨드를 상기 램의 일부 영역에 저장하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the device controller receives a RAM command, a RAM address, a clock, a data signal, and a data strobe signal from the external device, and receives the RAM command, the RAM address, And stores the data command and the storage command included in the data strobe signal in a part of the RAM.
제 1 항에 있어서,
상기 스토리지 커맨드는 상기 적어도 하나의 불휘발성 메모리 장치에 대한 쓰기, 읽기, 또는 소거 동작을 가리키는 커맨드인 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the storage command is a command indicating a write, read, or erase operation to the at least one non-volatile memory device.
제 1 항에 있어서,
상기 장치 컨트롤러는 DDR(Double Data Rate) 인터페이스를 기반으로 상기 외부 장치와 통신하는 것을 특징으로 하는 불휘발성 메모리 모듈.
The method according to claim 1,
Wherein the device controller communicates with the external device based on a DDR (Double Data Rate) interface.
KR1020150091083A 2015-06-08 2015-06-26 Nonvolatile memory module and operation method thereof KR102457805B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150091083A KR102457805B1 (en) 2015-06-26 2015-06-26 Nonvolatile memory module and operation method thereof
US15/083,425 US10152413B2 (en) 2015-06-08 2016-03-29 Nonvolatile memory module and operation method thereof
US16/195,533 US10649894B2 (en) 2015-06-08 2018-11-19 Nonvolatile memory module and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150091083A KR102457805B1 (en) 2015-06-26 2015-06-26 Nonvolatile memory module and operation method thereof

Publications (2)

Publication Number Publication Date
KR20170001858A true KR20170001858A (en) 2017-01-05
KR102457805B1 KR102457805B1 (en) 2022-10-25

Family

ID=57835689

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150091083A KR102457805B1 (en) 2015-06-08 2015-06-26 Nonvolatile memory module and operation method thereof

Country Status (1)

Country Link
KR (1) KR102457805B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093356A1 (en) * 2009-02-11 2010-08-19 Stec, Inc. A flash backed dram module
US7818478B2 (en) * 2006-12-21 2010-10-19 Unisys Corporation Input/Output completion system for a data processing platform
US20150039909A1 (en) * 2013-08-01 2015-02-05 Phison Electronics Corp. Command executing method, memory controller and memory storage apparatus
US8990488B2 (en) * 2011-04-11 2015-03-24 Inphi Corporation Memory buffer with one or more auxiliary interfaces
US20150134884A1 (en) * 2013-11-13 2015-05-14 Sandisk Technologies Inc. Method and system for communicating with non-volatile memory
US20150248935A1 (en) * 2009-02-11 2015-09-03 HGST Netherlands B.V. Apparatus, systems, and methods for operating flash backed dram module

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818478B2 (en) * 2006-12-21 2010-10-19 Unisys Corporation Input/Output completion system for a data processing platform
WO2010093356A1 (en) * 2009-02-11 2010-08-19 Stec, Inc. A flash backed dram module
US20150248935A1 (en) * 2009-02-11 2015-09-03 HGST Netherlands B.V. Apparatus, systems, and methods for operating flash backed dram module
US8990488B2 (en) * 2011-04-11 2015-03-24 Inphi Corporation Memory buffer with one or more auxiliary interfaces
US20150039909A1 (en) * 2013-08-01 2015-02-05 Phison Electronics Corp. Command executing method, memory controller and memory storage apparatus
US20150134884A1 (en) * 2013-11-13 2015-05-14 Sandisk Technologies Inc. Method and system for communicating with non-volatile memory

Also Published As

Publication number Publication date
KR102457805B1 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
US10649894B2 (en) Nonvolatile memory module and operation method thereof
US10949094B2 (en) Storage device and operating method of storage device
US9767903B2 (en) Nonvolatile memory module having dual-port DRAM
US10853158B2 (en) Storage device and event notification method for storage device
KR102274038B1 (en) Nonvolatile memory module having back-up function
US20170300252A1 (en) Storage device including nonvolatile memory device and controller and operating method of the storage device
KR20170036964A (en) Operation method of nonvolatile memory system
US20190155767A1 (en) Storage device configured to update field programmable gate array and method of operating the same
KR20170051841A (en) Nonvolatile memory device, storage device including nonvolatile memory device and operating method of nonvolatile memory device
CN112783433A (en) Storage device and operation method thereof
KR20160001911A (en) Solid state drive including nonvolatile memory, random access memory and memory controller
KR20160144560A (en) Nonvolatile memory module, storage device, and electronic device generating error information accessed by host
US11762558B2 (en) Storage device having a controller that communicates with each of two memories through separate interfaces
KR102513903B1 (en) Nonvolatile memory module and memory system
CN113495690A (en) Semiconductor memory device, controller, memory system and method thereof
KR102457805B1 (en) Nonvolatile memory module and operation method thereof
KR102290988B1 (en) Nonvolatile memory module and operating method thereof
KR20160144574A (en) Nonvolatile memory module and data write method thereof
KR102475547B1 (en) Nonvolatile memory device and operation method thereof
KR102548574B1 (en) Nonvolatile memory module
US11886314B2 (en) Memory system and operating method thereof
KR20160144556A (en) Nonvolatile memory module
KR20170007580A (en) Nonvolatile memory module and operation method thereof
KR102473197B1 (en) Nonvolatile memory module, storage device, and electronic device transmitting read data in transmission unit
KR102482901B1 (en) Nonvolatile memory module and storage system having the same

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant