KR20170001858A - Nonvolatile memory module and operation method thereof - Google Patents
Nonvolatile memory module and operation method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
본 발명은 반도체 메모리에 관한 것으로서 더욱 상세하게는 불휘발성 메모리 모듈 및 그것의 동작 방법에 관한 것이다.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
본 발명에 따르면, 불휘발성 메모리 시스템은 외부 장치로부터 수신된 커맨드에 대응하는 동작을 완료한 이후에 알림 신호를 외부 장치로 전송한다. 외부 장치는 알림 신호에 응답하여 불휘발성 메모리 시스템에 포함된 상태 정보를 읽음으로써 불휘발성 메모리 시스템의 동작 완료를 인지할 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 동작 방법이 제공된다.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
프로세서(101)는 데이터를 처리하거나 또는 사용자 시스템(100)에 포함된 구성 요소들을 제어할 수 있다. 예를 들어, 프로세서(101)는 다양한 운영체제를 구동할 수 있고, 운영 체제상에서 다양한 애플리케이션들을 실행할 수 있다. 프로세서(101)는 불휘발성 메모리 시스템(100)에 데이터(DATA)를 기입하거나 또는 불휘발성 메모리 시스템(100)에 저장된 데이터(DATA)를 읽을 수 있다.The
예시적으로, 프로세서(101)는 불휘발성 메모리 시스템(100)으로 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 전송할 수 있다. 프로세서(101)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)과 주고받을 수 있다. 예시적으로, 데이터 신호(DQ)는 스토리지 커맨드(CMD_S), 스토리지 어드레스(ADDR_S), 데이터(DATA), 및 상태 정보(STI)를 포함하는 신호일 수 있다.Illustratively, the
예시적으로, 램 커맨드(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
예시적으로, 프로세서(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
그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 프로세서(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
불휘발성 메모리 시스템(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
예시적으로, 비록 도면에 도시되지는 않았으나, 불휘발성 메모리 시스템(100)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 가질 수 있고, 프로세서(101)와 전기적 또는 직접적으로 연결된 DIMM 소켓에 장착될 수 있다.Illustratively, although not shown in the drawings, the
장치 컨트롤러(110)는 물리 계층(111, PHY; PHYsical layer) 및 제어기(112)를 포함할 수 있다. 물리 계층(111)은 램 컨트롤러(111a) 및 램(111b)을 포함할 수 있다. 물리 계층(111)은 프로세서(101)와 전기적으로 직접 연결될 수 있고, 프로세서(101) 및 제어기(112) 사이의 인터페이스를 제공할 수 있다.The
램 컨트롤러(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
예시적으로, 도 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
램(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
램(111b)의 쓰기 영역(WA)은 램 컨트롤러(111a)의 제어에 따라 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 쓰기 데이터(DATA_W)를 저장할 수 있다. 제어기(111b)는 램(111b)의 쓰기 영역(WA)에 저장된 쓰기 데이터(DATA_W)를 읽을 수 있다. The write area WA of the
램(111b)의 읽기 영역(RD)은 제어기(112)의 제어에 따라 읽기 데이터(DATA_R)를 저장할 수 있다. 램(111b)의 읽기 영역(RD)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.The read area RD of the
램(111b)의 상태 영역(STA)은 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신되는 상태 정보(STI)를 저장하거나 저장된 상태 정보(STI)를 프로세서(101)로 전송할 수 있다. 램(111b)의 상태 영역(STA)은 제어기(112)의 제어에 따라 저장된 상태 정보(STI)를 제어기(112)로 전송하거나 또는 제어기(112)로부터 수신된 상태 정보(STI)를 저장할 수 있다.The state area STA of the
제어기(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
예시적으로, 제어기(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
비록 도면에 도시되지는 않았으나, 제어기(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
제어기(112)는 플래시 변환 계층을 통해 어드레스 변환 동작을 수행할 수 있다. 예를 들어, 스토리지 어드레스(ADDR_S)는 논리적 어드레스일 수 있다. 제어기(112)는 플래시 변환 계층을 통해 프로세서(101)로부터 수신된 스토리지 어드레스(ADDR_S)를 복수의 불휘발성 메모리 장치들(131~13n)의 물리적 어드레스로 변환하는 동작을 수행할 수 있다. 예시적으로, 어드레스 변환 동작에 의해 쓰기 데이터(DATA_W)가 기입될 물리적 위치 또는 읽기 데이터(DATA_R)가 저장된 물리적 위치가 결정될 수 있다. 예시적으로, 물리적 위치는 복수의 불휘발성 메모리 장치들(131~13n)에 대한 물리적 위치를 가리킨다.The
버퍼 메모리(120)는 장치 컨트롤러(110)의 버퍼 메모리, 동작 메모리, 또는 캐시 메모리로서 사용될 수 있다. 버퍼 메모리(120)는 불휘발성 메모리 시스템(100)이 동작하는데 요구되는 다양한 정보를 포함할 수 있다. 예시적으로, 버퍼 메모리(120)는 복수의 불휘발성 메모리 장치들(131~13n)을 관리하기 위한 데이터를 포함할 수 있다. 예를 들어, 버퍼 메모리(120)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로부터 수신되는 불휘발성 어드레스(ADDR_S)와 복수의 불휘발성 메모리 장치들(131~13n)의 물리 어드레스 사이의 맵핑 테이블을 포함할 수 있다. 예시적으로, 버퍼 메모리(120)는 SRAM, DRAM, SDRAM, MRAM, ReRAM, PRAM, FRAM 등과 같은 랜덤 엑세스 메모리를 포함할 수 있다.The
복수의 불휘발성 메모리 장치들(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
상술된 바와 같이, 본 발명의 따른 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후에, 알림 신호(Alert_n)를 활성화시키거나 또는 프로세서(101)로제공한다. 프로세서(101)는 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템(100)의 상태 영역(STA)의 상태 정보(STI)를 읽고, 상태 정보(STI)를 기반으로 스토리지 커맨드(CMD_S)에 대응하는 동작의 완료 여부 및 불휘발성 메모리 시스템(100)의 정보를 확인할 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.As described above, the
도 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
S1020 단계에서, 불휘발성 메모리 시스템(100)은 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 수행할 수 있다. 예를 들어, 수신된 스토리지 커맨드(CMD_S)가 읽기 동작을 가리키는 경우, 불휘발성 메모리 시스템(100)은 복수의 불휘발성 메모리 장치들(131~13n)에 기입된 데이터를 읽고, 읽은 데이터는 램(111b)에 기입할 수 있다. 또는 수신된 스토리지 커맨드(CMD_S)가 쓰기 동작을 가리키는 경우, 불휘발성 메모리 시스템(100)은 쓰기 영역(WA)에 기입된 쓰기 데이터를 복수의 불휘발성 메모리 장치들(131~13n)에 기입할 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)는 읽기 및 쓰기 이외에 다른 다양한 동작들(예를 들어, 소거, 머지 등)에 대응하는 커맨드일 수 있다.In step S1020, the
S1030 단계에서, 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 램(111b)에 기입할 수 있다. 예를 들어, 도 1 및 도 2를 참조하여 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입할 수 있다. 예시적으로, 상태 정보(STI)는 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작의 완료 여부 및 관련된 정보를 포함할 수 있다.In step S1030, the
S1040 단계에서, 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)은 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입한 이후에, 프로세서(101)가 기입된 상태 정보(STI)를 읽을 수 있도록 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다.In step S1040, the
예시적으로, 프로세서(101)는 알림 신호(Alert_n)에 응답하여, 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다.Illustratively, the
도 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
예를 들어, 도 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
S1130 단계에서, 프로세서(101)는 쓰기 영역(WA)을 선택하기 위한 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)를 불휘발성 메모리 시스템(100)으로 전송한다. S1140 단계에서, 프로세서(101)는 쓰기 데이터(DATA_W)를 기입하기 위한 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 불휘발성 메모리 시스템(100)으로 전송한다.In step S1130, the
예를 들어, 도 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
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
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
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
도 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
먼저, 도 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
제어기(112)는 커맨드 영역(CA)에 기입된 스토리지 커맨드(CMD_S)를 읽을 수 있다. (②) 예를 들어, 제어기(112)는 시스템 버스를 통해 커맨드 영역(CA)에 기입된 스토리지 커맨드(CMD_S)를 페치할 수 있다. 제어기(112)는 페치된 스토리지 커맨드(CMD_S)를 분석하여 스토리지 커맨드(CMD_S)가 쓰기 커맨드임을 확인할 수 있다. 예시적으로, 스토리지 커맨드(CMD_S)에 대한 분석은 별도의 커맨드 분석기 또는 불휘발성 메모리 시스템(100)의 중앙 처리 유닛(미도시)에서 수행될 수 있다. The
다음으로, 도 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
제어기(112)는 쓰기 영역(WA)에 기입된 쓰기 데이터(DATA_W)를 읽을 수 있다. (④) 제어기(112)는 스토리지 커맨드(CMD_S)에 따라 쓰기 데이터(DATA_W)를 불휘발성 메모리 장치(131)에 프로그램할 수 있다. (⑤) 예시적으로, 제어기(112)는 스토리지 커맨드(CMD_S) 및 쓰기 데이터(DATA_W)를 패키지화할 수 있다.The
다음으로, 도 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
이 후, 제어기(112)는 알림 신호(Alert_n)를 프로세서(101)로 전송할 수 있다. (⑦) 예시적으로, 도면의 간결성 및 설명의 편의를 위하여, 제어기(112)가 알림 신호(Alert_n)를 프로세서(101)로 제공하는 것으로 도시되어 있으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 불휘발성 메모리 시스템(100)의 다른 구성 요소들을 통해 알림 신호(Alert_n)가 프로세서(101)로 전송될 수 있다. 예시적으로, 알림 신호(Alert_n)의 전송 동작은 도 4의 S1150 단계의 동작일 수 있다.Thereafter, the
프로세서(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
상술된 바와 같이, 본 발명에 따른 불휘발성 메모리 시스템(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
도 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
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
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
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
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
S1270 단계에서, 불휘발성 메모리 시스템(100)은 읽기 데이터(DATA_R)를 프로세서(101)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(100)의 램 컨트롤러(111a)는 수신된 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 읽기 데이터(DATA_R)를 프로세서(101)로 전송할 수 있다. 예시적으로, 읽기 데이터(DATA_R)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(101)로 전송될 수 있다.In step S1270, the
도 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
먼저, 도 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
제어기(112)는 커맨드 영역(CA)에 저장된 스토리지 컨트롤러(CMD_R)를 읽을 수 있다. 예시적으로, 제어기(112)는 시스템 버스를 통해 스토리지 커맨드(CMD_S)를 읽을 수 있다.The
제어기(112)는 읽은 스토리지 커맨드(CMD_S)에 따라 불휘발성 메모리 장치(131)로부터 읽기 데이터(DATA_R)를 읽을 수 있다. (③) 예시적으로, 스토리지 커맨드(CMD_S)는 읽기 커맨드이고, 읽기 데이터(DATA_R)에 대응하는 어드레스(또는 논리 어드레스)를 포함할 수 있다.The
다음으로, 도 10을 참조하면, 제어기(112)는 읽기 데이터(DATA_R)를 읽기 영역(RA)에 기입할 수 있다. (④) 이 후, 제어기(112)는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. (⑤) 예시적으로, 상태 정보(STI)는 스토리지 커맨드(CMD_S)에 대응하는 읽기 동작의 완료에 대한 정보를 포함할 수 있다. 또한, 상태 정보(STI)는 읽기 데이터(DATA_R)가 저장된 읽기 영역(RA)의 정보를 포함할 수 있다.Next, referring to Fig. 10, the
상태 정보(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
다음으로, 도 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
도 4 내지 도 11을 참조하여 설명된 바와 같이, 불휘발성 메모리 시스템(100)은 프로세서(101)로부터 수신된 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(111b)의 상태 영역(STA)에 기입한다. 이 후, 불휘발성 메모리 시스템(100)은 알림 신호(Alert_n)를 프로세서(101)로 전송한다. 프로세서(101)는 알림 신호(Alert_n)에 응답하여 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.4 to 11, the
도 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
프로세서(201), 불휘발성 메모리 시스템(200), 장치 컨트롤러(210), 버퍼 메모리(220), 복수의 불휘발성 메모리 장치들(231~23n), 물리 계층(211), 제어기(212), 램 컨트롤러(211a), 및 램(211b)은 도 1을 참조하여 설명되었으므로 이에 대한 상세한 설명은 생략된다.A
도 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
본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 시스템(200)은 상태 정보(STI)를 상태 영역(STA)에 기입한 이후, 다목적 레지스터(MPR)에 상태 정보(STI)의 갱신 사항을 기입하고, 이 후에 알림 신호(Alert_n)를 프로세서(201)로 전송한다. 프로세서(201)는 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)로부터 상태 정보 로그를 읽을 수 있다. 프로세서(201)는 읽은 상태 정보 로그에 따라 상태 영역(STA)에 기입된 상태 정보(STI)를 읽을 수 있다.The
이하에서, 도면의 간결성 및 설명의 편의를 위하여, 제어기(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
도 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
S2040 단계에서, 불휘발성 메모리 시스템(200)은 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다. 예를 들어, 불휘발성 메모리 시스템(200)은 상태 정보(STI)가 상태 영역(STA)에 기입되었음을 알리는 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다.In step S2040, the
S2050 단계에서, 불휘발성 메모리 시스템(200)은 알림 신호(Alert_n)를 프로세서(201)로 전송한다.In step S2050, the
S2060 단계에서, 불휘발성 메모리 시스템(200)은 프로세서(201)의 요청에 의해 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송한다. 예를 들어, 프로세서(201)는 S2050 단계의 알림 신호(Alert_n)에 응답하여 다목적 레지스터(MPR)를 읽을 수 있다. 이 때, 프로세서(201)의 요청(즉, 다목적 레지스터(MPR) 읽기 요청)에 따라 불휘발성 메모리 시스템(200)은 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송할 수 있다. 다목적 레지스터(MPR)에 기입된 정보는 상태 정보 로그(STI log)를 포함할 수 있다.In step S2060, the
예시적으로, 프로세서(201)는 S2060 단계의 상태 정보 로그(STI log)에 응답하여 램(211b)에 기입된 상태 정보(STI)를 읽을 수 있다.Illustratively, the
상술된 본 발명의 실시 예에 따르면, 불휘발성 메모리 시스템(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
예시적으로, 불휘발성 메모리 시스템(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
도 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
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
S2170 단계에서, 불휘발성 메모리 시스템(200)은 다목적 레지스터(MPR)의 정보를 프로세서(201)로 전송할 수 있다. 예를 들어, 불휘발성 메모리 시스템(200)은 S2160 단계의 램 커맨드(CMD_R) 및 램 어드레스(ADDR_R)에 응답하여 다목적 레지스터(MPR)에 기입된 정보를 프로세서(201)로 전송할 수 있다. 예시적으로, 다목적 레지스터(MPR)에 기입된 정보는 상태 정보 로그(STI log)를 포함할 수 있고, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(201)로 전송될 수 있다.In step S2170, the
프로세서(201)는 읽은 상태 정보 로그(STI log)를 기반으로 S2180 단계의 동작을 수행할 수 있다. 불휘발성 메모리 시스템(200)은 S2190 단계의 동작을 수행할 수 있다. S2180 단계 및 S2190 단계의 동작들은 도 4의 S1160 단계 및 S1170 단계의 동작들과 유사하므로 이에 대한 설명은 생략된다.The
도 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
이 후, 제어기(212)는 다목적 레지스터(MPR)에 상태 정보 로그(STI log)를 기입할 수 있다. (⑦) 예를 들어, 제어기(212)는 상태 정보(STI)가 상태 영역(STA)에 기입되었음을 가리키는 상태 정보 로그(STI log)를 다목적 레지스터(MPR)에 기입할 수 있다. 예시적으로, 비록 도면에 도시되지는 않았으나, 상태 정보 로그(STI log)는 램 컨트롤러(211a) 또는 별도의 로직 회로에 의해 다목적 레지스터(MPR)에 기입될 수 있다.Thereafter, the
제어기(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
프로세서(201)는 상태 정보 로그(STI log)를 기반으로, 도 7을 참조하여 설명된 바와 같이, 상태 영역(STA)의 상태 정보(STI)를 읽을 수 있다.The
도 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
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
S2260 단계 내지 S2290 단계의 동작들은 도 8의 1240 단계 내지 S1270 단계와 유사하므로 이에 대한 상세한 설명은 생략된다.Operations in steps S2260 to S2290 are similar to
도 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
예시적으로, 도 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
도 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
프로세서(301) 및 불휘발성 메모리 시스템(300)은 직렬 버스(SB; Serial Bus)을 기반으로 통신할 수 있다. 예시적으로, 직렬 버스(SB)은 I2C, SMBus, PMBus, IPMI, MCTP 등과 같은 2라인 직렬 버스일 수 있다.The
본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 시스템(300)은 스토리지 커맨드(CMD_S)에 대응하는 동작을 완료한 이후에, 상태 정보(STI)를 램(311b)에 기입한다. 이 후, 불휘발성 메모리 시스템(300)은 알림 신호(Alert_n)를 프로세서(301)로 전송한다.The
이 때, 프로세서(301)는 도 1의 프로세서(101) 및 도 12의 프로세서와 달리, 알림 신호(Alert_n)에 응답하여 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 수신할 수 있다. 프로세서(301)는 수신된 상태 정보 로그(STI log)를 기반으로 램(311b)에 기입된 상태 정보(STI)를 읽을 수 있다.At this time, in contrast to the
상술된 본 발명의 또 다른 실시 예에 따르면, 프로세서(301)는 알림 신호(Alert_n)에 응답하여 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 수신할 수 있다.According to another embodiment of the invention described above, the
도 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
S3050 단계에서, 불휘발성 메모리 시스템(300)은 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 프로세서(301)로 전송한다. 예를 들어, 프로세서(301)는 S3040 단계의 알림 신호(Alert_n)에 응답하여, 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 읽기 위한 요청을 불휘발성 메모리 시스템(300)으로 전송할 수 있다. 불휘발성 메모리 시스템(300)은 요청에 응답하여 직렬 버스(SB)를 통해 상태 정보 로그(STI log)를 프로세서(301)로 전송할 수 있다.In step S3050, the
도 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
S3160 단계에서, 프로세서(301)는 상태 정보 로그(STI log)를 읽기 위한 요청을 불휘발성 메모리 시스템(300)으로 전송한다. 예시적으로, 상태 정보 로그(STI log)를 읽기 위한 요청은 직렬 버스(SB)를 통해 전송될 수 있다. 상태 정보 로그(STI log)를 읽기 위한 요청은 직렬 버스(SB)에 의해 정의된 신호일 수 있다.In step S3160, the
S3170 단계에서, 불휘발성 메모리 시스템(300)은 S3160 단계의 요청에 응답하여 상태 정보 로그(STI log)를 프로세서(301)로 전송할 수 있다. 예시적으로, 상태 정보 로그(STI log)는 직렬 버스(SB)를 통해 프로세서(301)로 전송될 수 있다.In step S3170, the
예를 들어, 불휘발성 메모리 시스템(300)은 도 5 및 도 6을 참조하여 설명된, 스토리지 커맨드 기입(①), 커맨드 영역 읽기(②), 쓰기 데이터 기입(③), 쓰기 영역 읽기(④), 및 쓰기 데이터 프로그램(⑤)을 수행할 수 있다. 이 후 도 20에 도시된 바와 같이, 제어기(312)는 상태 정보(STI)를 상태 영역(STA)에 기입할 수 있다. (⑥) 이 후, 제어기(312)는 알림 신호(Alert_n)를 프로세서(301)로 전송할 수 있다. (⑦)For example, the
프로세서(301)는 알림 신호(Alert_n)에 응답하여 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 읽을 수 있다. (⑧) 예를 들어, 프로세서(301)는 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)으로부터 상태 정보 로그(STI log)를 읽을 수 있다. The
프로세서(301) 및 불휘발성 메모리 시스템(300)은 S3180 단계 및 S3190 단게의 동작들을 수행할 수 있다. S3180 단계 및 S3190 단계의 동작들은 도 1의 S1160 단계 및 S1170 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.
예시적으로, 직렬 버스(SB)를 기반으로 하는 프로세서(301) 및 불휘발성 메모리 시스템(300) 사이의 통신은 상술된 상태 정보 로그(STI log)의 읽기에 국한되지 않는다. 예시적으로, 프로세서(301)는 직렬 버스(SB)를 통해 불휘발성 메모리 시스템(300)에 다양한 정보를 요청하거나 또는 불휘발성 메모리 시스템(300)으로부터 다양한 정보를 수신할 수 있다. 또는 불휘발성 메모리 시스템(300)은 직렬 버스(SB)를 통해 프로세서(301)에 다양한 정보를 요청하거나 또는 프로세서(301)로부터 다양한 정보를 수신할 수 있다.Illustratively, communication between the
도 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
도 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
도 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
메모리 셀 어레이(131a)는 복수의 메모리 블록들을 포함할 수 있다. 복수의 메모리 블록들 각각은 복수의 셀 스트링들을 포함할 수 있다. 복수의 셀 스트링들 각각은 복수의 메모리 셀들을 포함한다. 복수의 메모리 셀들은 복수의 워드라인들(WL)과 연결될 수 있다. 복수의 메모리 셀들 각각은 1-비트를 저장하는 단일 레벨 셀(SLC; Single Level Cell) 또는 적어도 2-비트를 저장하는 멀티 레벨 셀(MLC; Multi Level Cell)을 포함할 수 있다.The
어드레스 디코더(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
제어 로직 및 전압 발생 회로(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
제어 로직 및 전압 발생 회로(131c)는 불휘발성 메모리(131)가 동작하는데 요구되는 다양한 전압들을 생성할 수 있다. 예를 들어, 제어 로직 및 전압 발생 회로(131c)는 복수의 프로그램 전압들, 복수의 패스 전압들, 복수의 선택 읽기 전압들, 복수의 비선택 읽기 전압들, 복수의 소거 전압들, 복수의 검증 전압들과 같은 다양한 전압들을 생성할 수 있다. 제어 로직 및 전압 발생 회로(131c)는 생성된 다양한 전압들을 어드레스 디코더(131b)로 제공하거나 또는 메모리 셀 어레이(131a)의 기판으로 제공할 수 있다.The control logic and
페이지 버퍼(131d)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(131a)와 연결된다. 페이지 버퍼(131d)는 제어 로직 및 전압 발생 회로(131c)의 제어에 따라 입출력 회로(131e)로부터 수신된 데이터(DATA)가 메모리 셀 어레이(131a)에 저장되도록 비트 라인들(BL)을 제어할 수 있다. 페이지 버퍼(131d)는 제어 로직 및 전압 발생 회로(131c)의 제어에 따라 메모리 셀 어레이(110)에 저장된 데이터를 읽고, 읽은 데이터를 입출력 회로(131e)로 전달할 수 있다. 예시적으로, 페이지 버퍼(131d)는 입출력 회로(131e)로부터 페이지 단위로 데이터를 수신하거나 또는 메모리 셀 어레이(131a)로부터 페이지 단위로 데이터를 읽을 수 있다.The
입출력 회로(131a)는 외부 장치로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 페이지 버퍼(131d)로 전달할 수 있다. 또는 입출력 회로(131e)는 페이지 버퍼(131d)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 외부 장치(예를 들어, 장치 제어기(110))로 전달할 수 있다. 예시적으로, 입출력 회로(160)는 제어 신호(CTRL)와 동기되어 외부 장치와 데이터(DATA)를 송수신할 수 있다.The input /
예시적으로, 본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 복수의 불휘발성 메모리 장치들(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
본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 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
도 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
프로세서(1100)는 컴퓨팅 시스템(1000)의 제반 동작을 제어할 수 있다. 프로세서(1100)는 컴퓨팅 시스템(1000)에서 수행되는 다양한 연산을 수행할 수 있다.The
불휘발성 메모리 모듈들(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
불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301)은 동일한 인터페이스(1001)를 통해 프로세서(1100)와 통신할 수 있다. 예를 들어, 불휘발성 메모리 모듈들(1200, 1201) 및 램 모듈들(1300, 1301) DDR(Double Data Rate) 인터페이스(1001)를 통해 통신할 수 있다. 예시적으로, 프로세서(1100)는 램 모듈들(1300, 1301)을 컴퓨팅 시스템(1000)의 동작 메모리, 버퍼 메모리, 또는 캐시 메모리로서 사용할 수 있다.The
칩셋(1400)은 프로세서(1100)와 전기적으로 연결되고, 프로세서(1100)의 제어에 따라 컴퓨팅 시스템(1000)의 하드웨어를 제어할 수 있다. 예를 들어, 칩셋(1400)은 주요 버스들을 통해 GPU(1500), 입출력 장치(1600), 및 스토리지 장치(1700) 각각과 연결되고, 주요 버스들에 대한 브릿지 역할을 수행할 수 있다. The
GPU(1500)는 컴퓨팅 시스템(1000)의 영상 데이터를 출력하기 위한 일련의 연산 동작을 수행할 수 있다. 예시적으로 GPU(1500)는 시스템-온-칩 형태로 프로세서(1100) 내에 실장될 수 있다.The
입출력 장치(1600)는 컴퓨팅 시스템(1000)으로 데이터 또는 명령어를 입력하거나 또는 외부로 데이터를 출력하는 다양한 장치들을 포함한다. 예르르 들어, 입출력 장치(1600)는
키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 압전 소자 등과 같은 사용자 입력 장치들 및 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 장치들을 포함할 수 있다.The input /
스토리지 장치(1700)는 컴퓨팅 시스템(1000)의 저장 매체로서 사용될 수 있다. 스토리지 장치(1600)는 하드 디스크 드라이브, SSD, 메모리 카드, 메모리 스틱 등과 같은 대용량 저장 매체들을 포함할 수 있다.The
예시적으로, 불휘발성 메모리 모듈들(1200, 1201)은 프로세서(1100)에 의해 컴퓨팅 시스템(1000)의 대용량 저장 매체로서 사용될 수 있다. 불휘발성 메모리 모듈들(1200, 1201) 및 프로세서(1100) 사이의 인터페이스(1001)는 스토리지 장치(1700) 및 프로세서(1100) 사이의 인터페이스보다 고속 인터페이스일 수 있다. 즉, 프로세서(1100)가 불휘발성 메모리 모듈들(1200, 1201)을 저장 매체로서 사용함으로써 컴퓨팅 시스템의 성능이 향상된다.Illustratively,
도 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
도 25를 참조하면, 불휘발성 메모리 모듈(1200)은 장치 컨트롤러(1210), 버퍼 메모리(1220), 불휘발성 메모리 장치(1230), 및 직렬 프레즌스 검출 칩(1240)(SPD; Serial Presence Detect chip)를 포함한다. 장치 컨트롤러(1210)는 램(1211)을 포함할 수 있다. 예시적으로, 불휘발성 메모리 장치(1230)는 복수의 불휘발성 메모리들(NVM)을 포함할 수 있다. 불휘발성 메모리 장치(1230)에 포함된 복수의 불휘발성 메모리들 각각은 별도의 칩, 별도의 패키지, 별도의 장치, 또는 별도의 모듈로 각각 구현될 수 있다. 또는 불휘발성 메모리 장치(1230)는 하나의 칩 또는 하나의 패키지로 구현될 수 있다.Referring to Figure 25, a
예시적으로, 장치 컨트롤러(1210), 램(1211), 버퍼 메모리(1220), 및 불휘발성 메모리 장치(1230)은 도 1 내지 도 23을 참조하여 설명된 장치 컨트롤러, 램, 버퍼 메모리, 및 복수의 불휘발성 메모리 장치들과 동일하거나 또는 유사하게 동작할 수 있다. 즉, 불휘발성 메모리 모듈(1200)은 도 1 내지 도 23의 불휘발성 메모리 시스템들(100, 200, 300) 중 어느 하나일 수 있다.By way of example, the
예시적으로, 장치 컨트롤러(1210)는 프로세서(1100)와 복수의 데이터 신호들(DQ) 및 복수의 데이터 스트로브 신호들(DQS)을 송수신할 수 있고, 별도의 신호 라인들을 통해 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 수신할 수 있다. 예시적으로, 장치 컨트롤러(1210)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(1100)로 전송할 수 있다. 예시적으로, 프로세서(1100)는 알림 신호(Alert_n)에 응답하여 램(1211)에 저장된 상태 정보(STI)를 읽을 수 있다.Illustratively, the
SPD(1240)는 프로그램 가능 읽기 전용 기억 장치(EEPROM)일 수 있다. SPD(1240)는 불휘발성 메모리 모듈(1200)의 초기 정보 또는 장치 정보를 포함할 수 있다. 예시적으로, SPD(1240)는 불휘발성 메모리 모듈(1200)의 모듈 형태, 모듈 구성, 저장 용량, 모듈 종류, 실행 환경 등과 같은 초기 정보 또는 장치 정보를 포함할 수 있다. 불휘발성 메모리 모듈(1200)이 포함된 컴퓨팅 시스템이 부팅될 때, 컴퓨팅 시스템의 프로세서(1100)는 SPD(1240)를 읽고, 이를 기반으로 불휘발성 메모리 모듈(1200)을 인식할 수 있다. 프로세서(1100)는 SPD(1240)를 기반으로 불휘발성 메모리 모듈(1200)을 저장 매체로서 사용할 수 있다.
예시적으로, SPD(1240)는 직렬 버스(SB)를 통해 프로세서(1100)와 통신할 수 있다. 프로세서(1100)는 직렬 버스(SB)를 통해 SPD(1240)와 신호(SBS)를 주고 받을 수 있다. 예시적으로, SPD(1240)는 직렬 버스(SB)를 통해 장치 컨트롤러(1210)와 통신할 수 있다. 예시적으로, 직렬 버스(SB)는 I2C, SMBus, PMBus, IPMI, MCTP 등과 같은 2라인 직렬 버스들 중 적어도 하나를 포함할 수 있다.Illustratively, the
도 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
도 26을 참조하면, 불휘발성 메모리 모듈(2200)은 장치 컨트롤러(2210), 버퍼 메모리(2220), 불휘발성 메모리 장치(2230), 직렬 프레즌스 검출 칩(2240)(SPD; Serial Presence Detect chip), 및 데이터 버퍼 회로(2250)를 포함한다. 장치 컨트롤러(2210)는 램(2211)을 포함한다. 장치 컨트롤러(2210), 램(2211), 불휘발성 메모리 장치(2230), 및 SPD(2240)는 도 1 및 도 15을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.26, the
데이터 버퍼 회로(2250)는 프로세서(1100, 도 24 참조)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 장치 컨트롤러(2250)로 전달할 수 있다. 또는 데이터 버퍼 회로(2250)는 장치 컨트롤러(2210)로부터 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(1100)로 전달할 수 있다.The
예시적으로, 데이터 버퍼 회로(2250)는 복수의 데이터 버퍼들(Data Buffer)을 포함할 수 있다. 복수의 데이터 버퍼들(Data Buffer) 각각은 프로세서(1100)와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고 받을 수 있다. 또는 복수의 데이터 버퍼들 각각은 장치 컨트롤러(2210)와 신호를 주고 받을 수 있다. 예시적으로, 복수의 데이터 버퍼들 각각은 장치 컨트롤러(2210)의 제어에 따라 동작할 수 있다.Illustratively,
예시적으로, 장치 컨트롤러(2210)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(1100)로 전송할 수 있다. Illustratively, the
도 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
불휘발성 메모리 모듈(3200)은 프로세서(3100)와 직접적으로 연결될 수 있다. 예를 들어, 불휘발성 메모리 모듈(3200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.The
불휘발성 메모리 모듈(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
예시적으로, 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 불휘발성 메모리 장치(3220)을 컴퓨팅 시스템(3000)의 스토리지 매체로서 사용할 수 있고, 프로세서(3100)는 불휘발성 메모리 모듈(3200)의 램 장치(3220)를 컴퓨팅 시스템(3000)의 메인 메모리로서 사용할 수 있다. 즉, 프로세서(3100)는 하나의 DIMM 소켓에 장착된 하나의 메모리 모듈에 포함된 불휘발성 메모리 장치 또는 램 장치를 각각 선택적으로 엑세스할 수 있다.The
예시적으로, 프로세서(3100)는 DDR(Double Data Rate) 인터페이스(3001)를 통해 불휘발성 메모리 모듈(3200)과 통신할 수 있다.Illustratively, the
도 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
복수의 DRAM들은 프로세서(3100)에 의해 컴퓨팅 시스템(3000)의 메인 메모리로서 사용될 수 있다. 예시적으로, 램 장치(3230)는 DRAM, SRAM, SDRAM, PRAM, ReRAM, FRAM, MRAM 등과 같은 랜덤 엑세스 메모리 소자들을 포함할 수 있다.The plurality of DRAMs may be used by the
제어 회로(3210)는 장치 컨트롤러(3211) 및 SPD(3212)를 포함한다. 장치 컨트롤러(3211)는 프로세서(3100)로부터 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 수신할 수 있다. 장치 컨트롤러(3211)는 프로세서(3100)로부터 수신된 신호들에 응답하여, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 불휘발성 메모리 장치(3220) 또는 램 장치(3230)에 선택적으로 저장할 수 있다. 또는 장치 컨트롤러(3211)는 프로세서(3100)로부터 수신된 신호들에 응답하여, 불휘발성 메모리 장치(3220) 또는 램 장치(3230)에 저장된 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로 선택적으로 전송할 수 있다.The
예시적으로, 프로세서(3100)는 커맨드(CMD), 어드레스(ADDR), 또는 별도의 신호 또는 별도의 정보를 통해 불휘발성 메모리 장치(3220) 또는 램 장치(3230)를 선택적으로 엑세스할 수 있다. 즉, 프로세서(3100)는 불휘발성 메모리 모듈(3200)에 포함된 불휘발성 메모리 장치(3220) 또는 램 장치(3230)를 선택적으로 엑세스할 수 있다. 예시적으로, 장치 컨트롤러(3211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다. Illustratively, the
도 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
도 27 및 도 29를 참조하면, 불휘발성 메모리 모듈(4200)은 제어 회로(4100), 불휘발성 메모리 장치(4220), 및 램 장치(4230)을 포함한다. 제어 회로(4210)는 장치 컨트롤러(4211), SPD(4212), 및 데이터 버퍼 회로(4213)를 포함한다.27 and 29, the
장치 컨트롤러(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
데이터 버퍼 회로(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
예시적으로, 프로세서(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
예시적으로, 장치 컨트롤러(4211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다.Illustratively, the device controller 4211 may send an alert signal Alert_n to the
도 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
도 20의 불휘발성 메모리 모듈(5200)은 도 19의 불휘발성 메모리 모듈(4200)과 유사하게 동작할 수 있다. 도 20의 불휘발성 메모리 모듈(5200)은 도 19의 불휘발성 메모리 모듈(4200)과 달리 데이터 버퍼 회로(4213)를 포함하지 않는다. 즉, 도 20의 불휘발성 메모리 모듈(5200)은 프로세서(3100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 장치 컨트롤러(5211) 또는 램 장치(5230)로 직접 제공할 수 있다. 또는 도 20의 불휘발성 메모리 모듈(5200)의 장치 컨트롤러(5211)로부터의 데이터 또는 램 장치(5230)로부터의 데이터는, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(3100)로 직접 제공할 수 있다.The
예시적으로, 도 19의 불휘발성 메모리 모듈(4200)은 LRDIMM(Load Redued DIMM) 형태의 메모리 모듈이고, 도 20의 불휘발성 메모리 모듈(5200)은 RDIMM(Registered DIMM) 형태의 메모리 모듈일 수 있다.Illustratively, the
예시적으로, 장치 컨트롤러(5211)는 도 1 내지 도 23을 참조하여 설명된 동작 방법에 따라 알림 신호(Alert_n)를 프로세서(3100)로 전송할 수 있다. Illustratively, the
도 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
상술된 본 발명의 실시 예들에 따르면, 불휘발성 메모리 시스템은 프로세서(또는 호스트)로부터 수신된 스토리지 커맨드에 대응하는 동작을 완료한 이후에 상태 정보를 램의 상태 영역에 기입한다. 이후, 불휘발성 메모리 시스템은 알림 신호(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:
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.
상기 상태 정보는 상기 대응하는 동작의 완료에 대한 정보를 포함하는 불휘발성 메모리 모듈.The method according to claim 1,
Wherein the status information includes information on the completion of the corresponding operation.
상기 장치 컨트롤러는 상기 알림 신호를 상기 외부 장치로 전송한 이후에, 상기 외부 장치의 요청에 따라 상기 상태 정보를 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.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.
상기 장치 컨트롤러는 상기 상태 정보가 상기 램에 기입되었음을 가리키는 상태 정보 로그를 저장하는 다목적 레지스터를 더 포함하는 불휘발성 메모리 모듈.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.
상기 장치 컨트롤러는 상기 외부 장치로부터 램 커맨드 및 램 어드레스를 수신하고, 상기 수신된 램 커맨드 및 램 어드레스에 응답하여 상기 다목적 레지스터에 저장된 상기 상태 정보 로그를 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.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.
상기 장치 컨트롤러는 상기 알림 신호를 상기 외부 장치로 전송한 이후에, 상기 외부 장치의 요청에 따라 상기 상태 정보가 상기 램에 기입되었음을 가리키는 상태 정보 로그를 직렬 버스를 통해 상기 외부 장치로 전송하는 불휘발성 메모리 모듈.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.
상기 직렬 버스는 I2C 버스인 것을 특징으로 하는 불휘발성 메모리 모듈.The method according to claim 6,
Wherein the serial bus is an I2C bus.
상기 장치 컨트롤러는 상기 외부 장치로부터 램 커맨드, 램 어드레스, 클럭, 데이터 신호, 및 데이터 스트로브 신호를 수신하고, 상기 수신된 램 커맨드, 상기 램 어드레스, 및 상기 클럭에 응답하여 상기 외부 장치로부터 수신되는 상기 데이터 신호 및 상기 데이터 스트로브 신호에 포함된 상기 스토리지 커맨드를 상기 램의 일부 영역에 저장하는 불휘발성 메모리 모듈.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.
상기 스토리지 커맨드는 상기 적어도 하나의 불휘발성 메모리 장치에 대한 쓰기, 읽기, 또는 소거 동작을 가리키는 커맨드인 불휘발성 메모리 모듈.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.
상기 장치 컨트롤러는 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.
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)
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 |
-
2015
- 2015-06-26 KR KR1020150091083A patent/KR102457805B1/en active IP Right Grant
Patent Citations (6)
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 |