[go: up one dir, main page]

KR102784807B1 - Storage device and operation method thereof - Google Patents

Storage device and operation method thereof Download PDF

Info

Publication number
KR102784807B1
KR102784807B1 KR1020180156245A KR20180156245A KR102784807B1 KR 102784807 B1 KR102784807 B1 KR 102784807B1 KR 1020180156245 A KR1020180156245 A KR 1020180156245A KR 20180156245 A KR20180156245 A KR 20180156245A KR 102784807 B1 KR102784807 B1 KR 102784807B1
Authority
KR
South Korea
Prior art keywords
memory device
nonvolatile memory
block
storage
memory block
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020180156245A
Other languages
Korean (ko)
Other versions
KR20200021861A (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 US16/394,506 priority Critical patent/US11112997B2/en
Priority to CN201910680939.XA priority patent/CN110890113B/en
Publication of KR20200021861A publication Critical patent/KR20200021861A/en
Application granted granted Critical
Publication of KR102784807B1 publication Critical patent/KR102784807B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 실시 예에 따른 제1 불휘발성 메모리 장치 및 제2 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법은 서든 파워 오프를 감지하는 단계, 서든 파워 오프를 감지하는 것에 응답하여, 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키는 단계, 중단된 동작에 대한 중단 정보를 제2 불휘발성 메모리 장치에 기입하는 단계, 및 파워-업된 이후에, 제2 불휘발성 메모리 장치에 기입된 중단 정보를 기반으로 제1 불휘발성 메모리 장치에 대한 블록 관리 동작을 수행하는 단계를 포함한다.A method of operating a storage device including a first nonvolatile memory device and a second nonvolatile memory device according to an embodiment of the present invention includes the steps of detecting a sudden power-off, interrupting an operation being performed by the first nonvolatile memory device in response to detecting the sudden power-off, writing interruption information about the interrupted operation to the second nonvolatile memory device, and performing a block management operation for the first nonvolatile memory device based on the interruption information written to the second nonvolatile memory device after power-up.

Figure R1020180156245
Figure R1020180156245

Description

저장 장치 및 그것의 동작 방법{STORAGE DEVICE AND OPERATION METHOD THEREOF}{STORAGE DEVICE AND OPERATION METHOD THEREOF}

본 발명은 반도체 메모리에 관한 것으로, 좀 더 상세하게는 저장 장치 및 그것의 동작 방법에 관한 것이다.The present invention relates to semiconductor memory, and more specifically, to a storage device and an operating method thereof.

반도체 메모리는 SRAM, DRAM 등과 같이 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 휘발성 메모리 장치 및 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같이 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 불휘발성 메모리 장치로 구분된다.Semiconductor memory is divided into volatile memory devices such as SRAM and DRAM, which lose stored data when power is cut off, and nonvolatile memory devices such as flash memory devices, PRAM, MRAM, RRAM, and FRAM, which retain stored data even when power is cut off.

플래시 메모리 기반의 대용량 저장 장치는 외부로부터의 전원을 통해 동작한다. 이 때, 저장 장치가 동작하는 도중에 서든-파워 오프(SPO; sudden-power off)가 발생한 경우, 저장 장치는 슈퍼 캐패시터, 탄탈 캐패시터와 같은 별도의 보조 전원을 사용하여, 저장 장치에서 수행 중인 동작(예를 들어, 프로그램 동작, 소거 동작 등)을 완료한다. 그러나, 저장 장치가 수행 중인 동작을 완료하는데 많은 시간이 소모되기 때문에, 대용량의 보조 전원이 요구되고, 이로 인하여, 저장 장치의 면적 및 비용이 증가하는 문제점이 있다.A mass storage device based on flash memory operates using external power. At this time, if a sudden power off (SPO) occurs while the storage device is operating, the storage device uses a separate auxiliary power source, such as a super capacitor or a tantalum capacitor, to complete the operation being performed by the storage device (e.g., a program operation, an erase operation, etc.). However, since it takes a long time for the storage device to complete the operation being performed, a large-capacity auxiliary power source is required, and this increases the area and cost of the storage device, which is a problem.

본 발명의 목적은 감소된 보조 전원을 사용하여 서든 파워 오프에 대응할 수 있는 저장 장치 및 그것의 동작 방법을 제공하는데 있다.An object of the present invention is to provide a storage device capable of responding to sudden power-off using reduced auxiliary power and a method of operating the same.

본 발명의 실시 예에 따른 저장 장치는 제1 불휘발성 메모리 장치 및 제2 불휘발성 메모리 장치를 포함한다. 상기 저장 장치의 동작 방법은 서든 파워 오프를 감지하는 단계, 상기 감지된 서든 파워 오프에 응답하여, 상기 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키는 단계, 상기 중단된 동작에 대한 중단 정보를 상기 제2 불휘발성 메모리 장치에 기입하는 단계, 및 상기 서든 파워 오프 이후의 파워-업시, 상기 제2 불휘발성 메모리 장치에 기입된 상기 중단 정보를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 블록 관리 동작을 수행하는 단계를 포함한다.According to an embodiment of the present invention, a storage device includes a first nonvolatile memory device and a second nonvolatile memory device. A method of operating the storage device includes the steps of detecting a sudden power-off, suspending an operation being performed by the first nonvolatile memory device in response to the detected sudden power-off, writing suspension information about the suspended operation to the second nonvolatile memory device, and performing a block management operation for the first nonvolatile memory device based on the suspension information written to the second nonvolatile memory device upon power-up after the sudden power-off.

본 발명의 실시 예에 따른 저장 장치는 사용자 데이터를 저장하도록 구성된 제1 불휘발성 메모리 장치, 상기 제1 불휘발성 메모리 장치의 동작에 대한 동작 정보를 저장하도록 구성된 제2 불휘발성 메모리 장치, 및 서든 파워 오프가 발생한 경우, 상기 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키고, 상기 제2 불휘발성 메모리 장치에 저장된 상기 동작 정보 중 상기 중단된 동작과 대응하는 동작 정보에 서든 파워 오프 플래그를 상기 제2 불휘발성 메모리 장치에 기입하고, 상기 서든 파워 오프 이후의 파워-업시, 상기 제2 불휘발성 메모리 장치에 기입된 상기 서든 파워 오프 플래그를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 블록 관리 동작을 수행하도록 구성된 스토리지 컨트롤러를 포함한다.According to an embodiment of the present invention, a storage device includes a first nonvolatile memory device configured to store user data, a second nonvolatile memory device configured to store operation information on an operation of the first nonvolatile memory device, and a storage controller configured to, when a sudden power-off occurs, interrupt an operation being performed by the first nonvolatile memory device, write a sudden power-off flag to the second nonvolatile memory device in operation information corresponding to the interrupted operation among the operation information stored in the second nonvolatile memory device, and perform a block management operation for the first nonvolatile memory device based on the sudden power-off flag written to the second nonvolatile memory device at power-up after the sudden power-off.

본 발명의 실시 예에 따른 저장 장치는 제1 불휘발성 메모리 장치, 상기 제1 불휘발성 메모리 장치에 저장될 사용자 데이터를 임시 저장하도록 구성된 제2 불휘발성 메모리 장치, 및 서든 파워 오프시, 상기 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키고, 상기 제2 불휘발성 메모리 장치에 임시 저장된 상기 사용자 데이터 중 상기 제1 불휘발성 메모리 장치에 저장되지 않은 데이터에 대한 서든 파워 오프 플래그를 기입하고, 상기 서든 파워 오프 이후의 파워-업시, 상기 제2 불휘발성 메모리 장치에 기입된 상기 서든 파워 오프 플래그를 기반으로 상기 제1 불휘발성 메모리 장치에 저장되지 않은 데이터를 상기 제2 불휘발성 메모리 장치로부터 상기 제1 불휘발성 메모리 장치로 마이그레이션하도록 구성된 스토리지 컨트롤러를 포함한다. According to an embodiment of the present invention, a storage device includes a first nonvolatile memory device, a second nonvolatile memory device configured to temporarily store user data to be stored in the first nonvolatile memory device, and a storage controller configured to, when a sudden power-off occurs, stop an operation being performed in the first nonvolatile memory device, write a sudden power-off flag for data not stored in the first nonvolatile memory device among the user data temporarily stored in the second nonvolatile memory device, and, when a power-up occurs after the sudden power-off occurs, migrate the data not stored in the first nonvolatile memory device from the second nonvolatile memory device to the first nonvolatile memory device based on the sudden power-off flag written in the second nonvolatile memory device.

본 발명에 따르면, 서든 파워 오프가 발생한 경우, 저장 장치는 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키고, 중단된 동작 정보를 제2 불휘발성 메모리 장치에 기입할 수 있다. 이 경우, 제2 불휘발성 메모리 장치에 중단된 동작 정보를 기입하는데 사용되는 전원이 제1 불휘발성 메모리 장치의 동작을 완료시키데 사용되는 전원보다 작기 때문에, 저장 장치는 감소된 용량의 보조 전원을 사용하여 서든 파워 오프에 대응할 수 있다. 따라서 감소된 비용 및 감소된 면적을 갖는 저장 장치 및 그것의 동작 방법이 제공된다. According to the present invention, when a sudden power-off occurs, the storage device can interrupt an operation being performed in a first nonvolatile memory device and write interrupted operation information into a second nonvolatile memory device. In this case, since the power used to write the interrupted operation information into the second nonvolatile memory device is smaller than the power used to complete the operation of the first nonvolatile memory device, the storage device can respond to the sudden power-off using an auxiliary power supply of reduced capacity. Accordingly, a storage device having a reduced cost and a reduced area and an operating method thereof are provided.

도 1은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다.
도 2는 도 1의 스토리지 시스템의 소프트웨어 계층을 예시적으로 보여주는 블록도이다.
도 3은 도 1의 스토리지 컨트롤러를 예시적으로 보여주는 블록도이다.
도 4는 도 1의 저장 장치의 동작을 보여주는 순서도이다.
도 5는 도 4의 S160 단계의 동작을 보여주는 순서도이다.
도 6a 내지 도 6c는 도 4 내지 도 5의 순서도들에 따른 저장 장치의 동작을 설명하기 위한 도면들이다.
도 7a 및 도 7b는 선 검증-후 소거 방식의 소거 동작을 설명하기 위한 도면들이다.
도 8a 및 도 8b는 제2 불휘발성 메모리 장치에 중단 정보를 기입하는 동작을 보여주는 타이밍도이다.
도 9, 도 10a, 및 도 10b는 본 발명의 실시 예에 따른 저장 장치의 동작을 설명하기 위한 도면들이다.
도 11은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다.
도 13은 도 12의 저장 장치의 동작을 보여주는 순서도이다.
도 14a 내지 도 14c는 도 13의 순서도에 따른 동작을 설명하기 위한 도면들이다.
도 15는 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다.
도 16은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 스토리지 시스템을 예시적으로 보여주는 블록도이다.
FIG. 1 is a block diagram showing a storage system according to an embodiment of the present invention.
Figure 2 is a block diagram exemplarily showing the software layer of the storage system of Figure 1.
Figure 3 is a block diagram exemplarily showing the storage controller of Figure 1.
Figure 4 is a flowchart showing the operation of the storage device of Figure 1.
Figure 5 is a flowchart showing the operation of step S160 of Figure 4.
FIGS. 6A to 6C are drawings for explaining the operation of a storage device according to the flowcharts of FIGS. 4 to 5.
Figures 7a and 7b are drawings for explaining the erasure operation of the pre-verification-then-erase method.
FIGS. 8A and 8B are timing diagrams showing an operation of writing interrupt information into a second nonvolatile memory device.
FIGS. 9, 10a, and 10b are drawings for explaining the operation of a storage device according to an embodiment of the present invention.
FIG. 11 is a block diagram showing a storage system according to an embodiment of the present invention.
FIG. 12 is a block diagram showing a storage system according to an embodiment of the present invention.
Figure 13 is a flowchart showing the operation of the storage device of Figure 12.
Figures 14a to 14c are drawings for explaining operations according to the flowchart of Figure 13.
FIG. 15 is a block diagram showing a storage system according to an embodiment of the present invention.
FIG. 16 is a block diagram showing a storage system according to an embodiment of the present invention.
FIG. 17 is a block diagram exemplarily showing a storage system according to an embodiment of the present invention.

이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.Hereinafter, embodiments of the present invention will be described clearly and in detail so that a person having ordinary skill in the art can easily practice the present invention.

도 1은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다. 도 1을 참조하면, 스토리지 시스템(10)은 호스트(11) 및 저장 장치(100)를 포함할 수 있다. 스토리지 시스템(11)은 개인용 컴퓨터, 서버, 워크 스테이션, 노트북, 디지털 카메라, 스마트 폰 등과 같은 컴퓨팅 시스템일 수 있다. 저장 장치(100)는 스토리지 시스템(10)의 대용량 저장 매체로서 사용될 수 있다.FIG. 1 is a block diagram showing a storage system according to an embodiment of the present invention. Referring to FIG. 1, the storage system (10) may include a host (11) and a storage device (100). The storage system (11) may be a computing system such as a personal computer, a server, a workstation, a laptop, a digital camera, a smart phone, etc. The storage device (100) may be used as a large-capacity storage medium of the storage system (10).

호스트(11)는 저장 장치(100)에 데이터를 저장하거나 또는 저장 장치(100)에 저장된 데이터를 읽을 수 있다. 예시적인 실시 예에서, 호스트(11)는 저장 장치(100)로 전원(PWR)을 공급할 수 있다.The host (11) can store data in the storage device (100) or read data stored in the storage device (100). In an exemplary embodiment, the host (11) can supply power (PWR) to the storage device (100).

저장 장치(100)는 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 제2 불휘발성 메모리 장치(130), 및 전원 관리 회로(PMIC; Power Management Integrated Circuit)를 포함할 수 있다. The storage device (100) may include a storage controller (110), a first nonvolatile memory device (120), a second nonvolatile memory device (130), and a power management circuit (PMIC; Power Management Integrated Circuit).

스토리지 컨트롤러(110)는 호스트(11)의 제어에 따라 제1 불휘발성 메모리 장치(120)에 데이터를 저장하거나 또는 제1 불휘발성 메모리 장치(120)에 저장된 데이터를 읽을 수 있다.The storage controller (110) can store data in the first nonvolatile memory device (120) or read data stored in the first nonvolatile memory device (120) under the control of the host (11).

제1 불휘발성 메모리 장치(120)는 스토리지 컨트롤러(110)의 제어에 따라 동작할 수 있다. 제2 불휘발성 메모리 장치(130)는 스토리지 컨트롤러(110)가 동작하는데 요구되는 다양한 정보를 저장할 수 있다. The first nonvolatile memory device (120) can operate under the control of the storage controller (110). The second nonvolatile memory device (130) can store various information required for the storage controller (110) to operate.

예시적인 실시 예에서, 제1 불휘발성 메모리 장치(120)는 낸드 플래시 메모리 장치일 수 있고, 제2 불휘발성 메모리 장치(130)는 MRAM(Magnetic Random Access Memory) 장치일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 제1 및 제2 불휘발성 메모리 장치들(120, 130)은 플래시 메모리, MRAM, PRAM, RRAM, FRAM 등과 같은 다양한 불휘발성 메모리 메모리 소자를 포함할 수 있다. 예시적인 실시 예에서, 제2 불휘발성 메모리 장치(130)는 제1 불휘발성 메모리 장치(120)보다 상대적으로 빠른 동작 속도를 가질 수 있다. In an exemplary embodiment, the first nonvolatile memory device (120) may be a NAND flash memory device, and the second nonvolatile memory device (130) may be a MRAM (Magnetic Random Access Memory) device. However, the scope of the present invention is not limited thereto. For example, the first and second nonvolatile memory devices (120, 130) may include various nonvolatile memory memory elements such as flash memory, MRAM, PRAM, RRAM, FRAM, etc. In an exemplary embodiment, the second nonvolatile memory device (130) may have a relatively faster operating speed than the first nonvolatile memory device (120).

전원 관리 회로(PMIC)는 호스트(11)로부터 전원(PWR)을 기반으로 저장 장치(100)가 동작하는데 필요한 전원을 제공할 수 있다. 예를 들어, 전원 관리 회로(PMIC)는 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 제2 불휘발성 메모리 장치(120) 각각으로 각각이 동작하는데 요구되는 전원을 공급할 수 있다.The power management circuit (PMIC) can provide power required for the storage device (100) to operate based on power (PWR) from the host (11). For example, the power management circuit (PMIC) can supply power required for each of the storage controller (110), the first nonvolatile memory device (120), and the second nonvolatile memory device (120) to operate.

예시적인 실시 예에서, 호스트(11)로부터의 전원(PWR)이 갑작스럽게 차단 또는 중단될 수 있다. 이러한 갑작스러운 전원 차단은 "서든 파워 오프(SPO; sudden power off)"라 불린다. 전원 관리 회로(PMIC)는 서든 파워 오프를 감지하고, 스토리지 컨트롤러(110)로 서든 파워 오프 신호(SPO)(이하에서, "SPO 신호"라 칭함.)를 전달할 수 있다.In an exemplary embodiment, power (PWR) from the host (11) may be suddenly cut off or interrupted. Such a sudden power cut is called a “sudden power off (SPO).” A power management circuit (PMIC) may detect the sudden power off and transmit a sudden power off signal (SPO) (hereinafter, referred to as an “SPO signal”) to the storage controller (110).

스토리지 컨트롤러(110)는 SPO 신호에 응답하여, 제1 불휘발성 메모리 장치(120)에 대한 동작을 중단시키고, 중단된 동작에 대한 정보를 제2 불휘발성 메모리 장치(130)에 중단 정보(SPI; Suspension Information)로서 저장할 수 있다. 중단 정보(SPI)은 제1 불휘발성 메모리 장치(120)에서 중단된 동작에 대한 커맨드 정보 및 어드레스 정보를 포함할 수 있다.The storage controller (110) may, in response to the SPO signal, suspend an operation for the first nonvolatile memory device (120) and store information about the suspended operation as suspension information (SPI) in the second nonvolatile memory device (130). The suspension information (SPI) may include command information and address information about the suspended operation in the first nonvolatile memory device (120).

서든 파워 오프 이후에, 저장 장치(100)가 파워-업된 경우(즉, 전원 공급이 재개된 경우), 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(120)에 저장된 중단 정보(SPI)을 기반으로 다양한 블록 관리 동작(Block Management Operation)을 수행할 수 있다. 파워-업 이후의 중단 정보(SPI)에 기반된 블록 관리 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다. After a sudden power-off, when the storage device (100) is powered-up (i.e., power supply is resumed), the storage controller (110) can perform various block management operations based on the interruption information (SPI) stored in the second nonvolatile memory device (120). The block management operations based on the interruption information (SPI) after the power-up are described in more detail with reference to the drawings below.

예시적인 실시 예에서, 제2 불휘발성 메모리 장치(130)에 대한 중단 정보(SPI) 기입 동작은 저장 장치(100)에 포함된 별도의 보조 전원(미도시)을 사용하여 수행될 수 있다. 예를 들어, 저장 장치(100)는 슈퍼 캐패시터, 탄탈 캐패시터와 같은 보조 전원을 제공하기 위한 별도의 장치(미도시)를 포함할 수 있다. 서든 파워 오프가 발생한 경우, 전원 관리 회로(PMIC)는 보조 전원을 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 및 제2 불휘발성 메모리 장치(130)로 제공할 수 있다. 제2 불휘발성 메모리 장치(130)는 보조 전원을 사용하여 상술된 중단 정보(SPI)에 대한 기입 동작을 수행할 수 있다.In an exemplary embodiment, a write operation of interrupt information (SPI) to the second nonvolatile memory device (130) may be performed using a separate auxiliary power source (not shown) included in the storage device (100). For example, the storage device (100) may include a separate device (not shown) for providing an auxiliary power source, such as a super capacitor or a tantalum capacitor. When a sudden power-off occurs, a power management circuit (PMIC) may provide the auxiliary power source to the storage controller (110), the first nonvolatile memory device (120), and the second nonvolatile memory device (130). The second nonvolatile memory device (130) may perform the write operation for the interrupt information (SPI) described above using the auxiliary power source.

예시적인 실시 예에서, 종래의 저장 장치는, 서든 파워 오프가 발생한 경우, 보조 전원을 사용하여 제1 불휘발성 메모리 장치(120)에서 수행 중인 동작(예를 들어, 읽기 동작, 프로그램 동작, 또는 소거 동작 등)을 완료시킨다. 이 경우, 제1 불휘발성 메모리 장치(120)의 동작 속도가 제2 불휘발성 메모리 장치(130)의 동작 속도보다 상대적으로 느리기 때문에, 수행 중인 동작을 완료하는데 많은 시간이 소모된다. 이에 따라, 서든 파워 오프 발생시 요구되는 보조 전원의 총량이 증가하게 된다.In an exemplary embodiment, a conventional storage device uses auxiliary power to complete an operation (e.g., a read operation, a program operation, or an erase operation) being performed in a first nonvolatile memory device (120) when a sudden power-off occurs. In this case, since the operation speed of the first nonvolatile memory device (120) is relatively slower than the operation speed of the second nonvolatile memory device (130), a lot of time is consumed to complete the operation being performed. Accordingly, the total amount of auxiliary power required when a sudden power-off occurs increases.

반면에, 본 발명에 따른 저장 장치(100)는 서든 파워 오프가 발생한 경우, 제1 불휘발성 메모리 장치(120)에서 수행 중인 동작을 중단시키고, 중단된 동작에 대한 동작 정보를 제2 불휘발성 메모리 장치(130)에 기입한다. 즉, 상대적으로 빠른 동작 속도를 갖는 제2 불휘발성 메모리 장치(130)에 대한 기입 동작만 수행되기 때문에, 본 발명에 따른 저장 장치(100)는 종래 기술과 비교하여 작은 보조 전원을 사용하여 서든 파워 오프에 대응할 수 있다.On the other hand, when a sudden power-off occurs, the storage device (100) according to the present invention stops the operation being performed in the first nonvolatile memory device (120) and writes operation information about the stopped operation to the second nonvolatile memory device (130). That is, since only the write operation is performed for the second nonvolatile memory device (130) having a relatively fast operation speed, the storage device (100) according to the present invention can respond to a sudden power-off using a small auxiliary power supply compared to the prior art.

상술된 실시 예에서, 서든 파워 오프는 호스트(11)로부터 제공되는 전원(PWR)이 갑작스럽게 차단된 경우인 것으로 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 호스트(11)로부터 제공되는 전원(PWR)은 일정하게 유지되나, 저장 장치(100)의 다양한 내부 문제로 인하여, 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 또는 제2 불휘발성 메모리 장치(130)로 제공되는 전원이 불안정해 질 수 있다. 이 경우, 전력 관리 회로(PMIC)는 특정 장치에 대한 서든 파워 오프 상황이 발생한 것으로 판별하고, SPO 신호를 출력할 수 있다.In the above-described embodiment, sudden power-off is described as a case where power (PWR) provided from the host (11) is suddenly cut off, but the scope of the present invention is not limited thereto. For example, power (PWR) provided from the host (11) is maintained constant, but power provided to the storage controller (110), the first nonvolatile memory device (120), or the second nonvolatile memory device (130) may become unstable due to various internal problems of the storage device (100). In this case, the power management circuit (PMIC) may determine that a sudden power-off situation has occurred for a specific device and output an SPO signal.

상술된 실시 예에서, 전원 관리 회로(PMIC)가 서든 파워 오프를 감지하고, SPO 신호를 출력하는 것으로 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 및 제2 불휘발성 메모리 장치(130) 각각은 전원 검출기 또는 전압 검출기(미도시)를 포함할 수 있다. 각각에 포함된 전원 검출기는 각각의 구성에서 발생하는 서든 파워 오프 상황을 검출하도록 구성될 수 있다. 즉, 스토리지 컨트롤러(110)에 포함된 전원 검출기는 스토리지 컨트롤러(110)로 제공되는 전원에 대한 서든 파워 오프를 검출할 수 있다. 또는 제1 불휘발성 메모리 장치(120)에 포함된 전원 검출기는 제1 불휘발성 메모리 장치(120)로 제공되는 전원에 대한 서든 파워 오프를 검출할 수 있다. 또는 제2 불휘발성 메모리 장치(120)에 포함된 전원 검출기는 제2 불휘발성 메모리 장치(120)로 제공되는 전원에 대한 서든 파워 오프를 검출할 수 있다.In the above-described embodiment, the power management circuit (PMIC) has been described as detecting a sudden power-off and outputting a SPO signal, but the scope of the present invention is not limited thereto. For example, each of the storage controller (110), the first nonvolatile memory device (120), and the second nonvolatile memory device (130) may include a power detector or a voltage detector (not shown). The power detector included in each may be configured to detect a sudden power-off situation occurring in each configuration. That is, the power detector included in the storage controller (110) may detect a sudden power-off for power provided to the storage controller (110). Alternatively, the power detector included in the first nonvolatile memory device (120) may detect a sudden power-off for power provided to the first nonvolatile memory device (120). Alternatively, a power detector included in the second nonvolatile memory device (120) can detect sudden power-off of power provided to the second nonvolatile memory device (120).

즉, 서든 파워 오프는 저장 장치(100)로 제공되는 전원에 대한 서든 파워 오프를 가리킬 수 있거나 또는 스토리지 컨트롤러(110), 제1 불휘발성 메모리 장치(120), 및 제2 불휘발성 메모리 장치(130) 각각에 대한 서든 파워 오프를 가리킬 수 있다. 이하에서 설명의 편의를 위하여, 서든 파워 오프는 저장 장치(100)에 대한 서든 파워 오프인 것으로 설명되나, 앞서 설명된 바와 같이, 서든 파워 오프는 구성 요소들 각각에 대한 서든 파워 오프를 가리킬 수 있다. That is, sudden power-off may refer to sudden power-off for power provided to the storage device (100) or may refer to sudden power-off for each of the storage controller (110), the first nonvolatile memory device (120), and the second nonvolatile memory device (130). For convenience of explanation below, sudden power-off is described as sudden power-off for the storage device (100), but as described above, sudden power-off may refer to sudden power-off for each of the components.

도 2는 도 1의 스토리지 시스템의 소프트웨어 계층을 예시적으로 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 사용자 장치(100)의 소프트웨어 계층은 애플리케이션(11a), 파일 시스템(11b), 및 플래시 변환 계층(FTL; Flash Translation Layer)를 포함할 수 있다.FIG. 2 is a block diagram exemplarily showing a software layer of the storage system of FIG. 1. Referring to FIGS. 1 and 2, the software layer of the user device (100) may include an application (11a), a file system (11b), and a flash translation layer (FTL).

애플리케이션(11a)은 스토리지 시스템(10) 또는 호스트(11) 상에서 구동되는 다양한 응용 프로그램들을 포함할 수 있다. 파일 시스템(11b)은 애플리케이션(11a)에 의해 사용되는 파일 또는 데이터를 조직화할 수 있다. 예를 들어, 파일 시스템(11b)은 저장 장치(100)의 저장 공간을 논리 어드레스(logical address)로 관리하고, 저장 장치(102)에 저장될 데이터 또는 저장된 데이터에 대하여 논리 어드레스를 부여하고, 이를 관리할 수 있다.The application (11a) may include various application programs running on the storage system (10) or the host (11). The file system (11b) may organize files or data used by the application (11a). For example, the file system (11b) may manage the storage space of the storage device (100) with a logical address, and may assign a logical address to data to be stored or stored in the storage device (102) and manage it.

예시적인 실시 예에서, 파일 시스템(12b)은 스토리지 시스템(10) 또는 호스트(11)의 운영 체제(OS; Operating System)에 따라 다른 형태를 가질 수 있다. 예시적으로 파일 시스템(12b)은 FAT(File Allocation Table), FAT32, NTFS(NT File System), HFS(Hierarchical File System), JSF2(Journaled File System2), XFS, ODS-5(On-Disk Structure-5), UDF, ZFS, UFS(Unix File System), ext2, ext3, ext4, ReiserFS, Reiser4, ISO 9660, Gnome VFS, BFS, 또는 WinFS 등을 포함할 수 있다. 예시적으로, 애플리케이션(11a) 및 파일 시스템(11b)은 호스트(101) 상에서 구동되는 소프트웨어 계층일 수 있다. In an exemplary embodiment, the file system (12b) may have different forms depending on the operating system (OS) of the storage system (10) or the host (11). For example, the file system (12b) may include FAT (File Allocation Table), FAT32, NTFS (NT File System), HFS (Hierarchical File System), JSF2 (Journaled File System2), XFS, ODS-5 (On-Disk Structure-5), UDF, ZFS, UFS (Unix File System), ext2, ext3, ext4, ReiserFS, Reiser4, ISO 9660, Gnome VFS, BFS, or WinFS. For example, the application (11a) and the file system (11b) may be software layers running on the host (101).

플래시 변환 계층(FTL; Flash Translation Layer)은 제1 불휘발성 메모리 장치(120)가 효율적으로 사용될 수 있도록 호스트(11) 및 제1 불휘발성 메모리 장치(120) 사이에서 다양한 유지 관리 동작을 수행할 수 있다. 예를 들어, 플래시 변환 계층(FTL)은 논리 어드레스 및 물리 어드레스 사이의 변환 동작을 수행할 수 있다. 논리 어드레스는 파일 시스템(11b)에 의해 관리되는 정보이고, 물리 어드레스는 제1 불휘발성 메모리 장치(120)에서 데이터가 저장되는 물리적 위치를 가리키는 정보이다. 플래시 변환 계층(FTL)은 맵핑 테이블(미도시)을 통해 상술된 어드레스 변환 동작을 관리한다.The Flash Translation Layer (FTL) can perform various maintenance operations between the host (11) and the first nonvolatile memory device (120) so that the first nonvolatile memory device (120) can be used efficiently. For example, the Flash Translation Layer (FTL) can perform a translation operation between a logical address and a physical address. The logical address is information managed by the file system (11b), and the physical address is information indicating a physical location where data is stored in the first nonvolatile memory device (120). The Flash Translation Layer (FTL) manages the above-described address translation operation through a mapping table (not shown).

예시적인 실시 예에서, 도 1을 참조하여 설명된, 중단 정보(SPI)에 기반된 블록 관리 동작은 플래시 변환 계층(FTL)에 의해 수행될 수 있다. 예를 들어, 플래시 변환 계층(FTL)은 중단 정보(SPI)을 기반으로 맵핑 테이블을 업데이트 또는 리맵핑하거나, 또는 제1 불휘발성 메모리 장치(120)의 메모리 블록들의 GC 우선 순위를 조절할 수 있다.In an exemplary embodiment, the block management operation based on the interrupt information (SPI) described with reference to FIG. 1 may be performed by the flash translation layer (FTL). For example, the flash translation layer (FTL) may update or remap a mapping table based on the interrupt information (SPI), or adjust the GC priority of memory blocks of the first nonvolatile memory device (120).

도 3은 도 1의 스토리지 컨트롤러를 예시적으로 보여주는 블록도이다. 도 1 및 도 3을 참조하면, 스토리지 컨트롤러(110)는 프로세서(111), SRAM(112), 에러 정정 엔진(ECC Engine)(113), 불휘발성 메모리 관리자(114), 호스트 인터페이스(115), 및 플래시 인터페이스(116)를 포함할 수 있다. FIG. 3 is a block diagram exemplarily showing the storage controller of FIG. 1. Referring to FIG. 1 and FIG. 3, the storage controller (110) may include a processor (111), an SRAM (112), an error correction engine (ECC Engine) (113), a nonvolatile memory manager (114), a host interface (115), and a flash interface (116).

프로세서(111)는 스토리지 컨트롤러(110)의 제반 동작을 제어할 수 있다. SRAM(112)은 스토리지 컨트롤러(110)의 동작 메모리 또는 캐시 메모리로서 사용될 수 있다. 예시적인 실시 예에서, 도 2를 참조하여 설명된 플래시 변환 계층(FTL)은 소프트웨어 형태로 제공될 수 있고, 플래시 변환 계층(FTL)과 관련된 프로그램 코드, 명령어 등은 SRAM(112)에 저장될 수 있다. SRAM(112)에 저장된 플래시 변환 계층(FTL)은 프로세서(111)에 의해 실행될 수 있다. The processor (111) can control all operations of the storage controller (110). The SRAM (112) can be used as an operating memory or cache memory of the storage controller (110). In an exemplary embodiment, the flash translation layer (FTL) described with reference to FIG. 2 can be provided in the form of software, and program codes, commands, etc. related to the flash translation layer (FTL) can be stored in the SRAM (112). The flash translation layer (FTL) stored in the SRAM (112) can be executed by the processor (111).

ECC 엔진(113)은 스토리지 컨트롤러(110)를 통해 송수신되는 다양한 데이터의 에러를 정정하도록 구성될 수 있다. 예를 들어, ECC 엔진(113)은 호스트로(11)로부터 제공된 데이터에 대한 에러 정정 코드를 생성할 수 있다. 또는 ECC 엔진(113)은 제1 불휘발성 메모리 장치(120)로부터 제공된 데이터 및 에러 정정 코드를 기반으로 에러를 정정할 수 있다. 예시적인 실시 예에서, ECC 엔진(113)은 제2 불휘발성 메모리 장치(130)에 저장된 데이터에 대한 에러 정정 동작을 수행할 수 있다. The ECC engine (113) may be configured to correct errors in various data transmitted and received through the storage controller (110). For example, the ECC engine (113) may generate an error correction code for data provided from the host (11). Alternatively, the ECC engine (113) may correct errors based on data and an error correction code provided from the first nonvolatile memory device (120). In an exemplary embodiment, the ECC engine (113) may perform an error correction operation on data stored in the second nonvolatile memory device (130).

불휘발성 메모리 관리자(114)는 제2 불휘발성 메모리 장치(130)를 제어하도록 구성될 수 있다. 예를 들어, 불휘발성 메모리 관리자(114)는 제2 불휘발성 메모리 장치(130)에 저장된 데이터를 읽거나 또는 제2 불휘발성 메모리 장치(130)에 데이터를 기입할 수 있다. The nonvolatile memory manager (114) may be configured to control the second nonvolatile memory device (130). For example, the nonvolatile memory manager (114) may read data stored in the second nonvolatile memory device (130) or write data to the second nonvolatile memory device (130).

스토리지 컨트롤러(110)는 호스트 인터페이스(115)를 통해 호스트(11)와 통신할 수 있다. 호스트 인터페이스(115)는 DDR(Double Data Rate), LPDDR(Low-Power DDR), USB(Universal Serial Bus), MMC(multimedia card), PCI(peripheral component interconnection), PCI-E(PCI-express), ATA(Advanced Technology Attachment), SATA(Serial-ATA), PATA(Parallel-ATA), SCSI(small computer small interface), ESDI(enhanced small disk interface), IDE(Integrated Drive Electronics), MIPI(Mobile Industry Processor Interface), NVM-e(Nonvolatile Memory-express), UFS(Universal Flash Storage) 등과 같은 다양한 인터페이스들 중 적어도 하나를 포함할 수 있다.The storage controller (110) can communicate with the host (11) via the host interface (115). The host interface (115) can include at least one of various interfaces, such as DDR (Double Data Rate), LPDDR (Low-Power DDR), USB (Universal Serial Bus), MMC (multimedia card), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), SATA (Serial-ATA), PATA (Parallel-ATA), SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), MIPI (Mobile Industry Processor Interface), NVM-e (Nonvolatile Memory-express), UFS (Universal Flash Storage), etc.

스토리지 컨트롤러(110)는 플래시 인터페이스(115)를 통해 제1 불휘발성 메모리 장치(120)와 통신할 수 있다. 플래시 인터페이스(115)는 낸드 인터페이스를 포함할 수 있다. The storage controller (110) can communicate with the first nonvolatile memory device (120) via a flash interface (115). The flash interface (115) can include a NAND interface.

도 4는 도 1의 저장 장치의 동작을 보여주는 순서도이다. 도 1 및 도 4를 참조하면, S110 단계에서, 저장 장치(100)는 서든 파워 오프를 감지할 수 있다. 예를 들어, 전원 관리 회로(PMIC)는 호스트(11)로부터 제공되는 전원(PWR)의 차단을 감지할 수 있다. 전원 관리 회로(PMIC)는 서든 파워 오프 감지에 응답하여 SPO 신호를 스토리지 컨트롤러(110)로 제공할 수 있다.FIG. 4 is a flowchart showing the operation of the storage device of FIG. 1. Referring to FIG. 1 and FIG. 4, at step S110, the storage device (100) can detect sudden power-off. For example, the power management circuit (PMIC) can detect the cutoff of power (PWR) provided from the host (11). The power management circuit (PMIC) can provide an SPO signal to the storage controller (110) in response to the sudden power-off detection.

예시적인 실시 예에서, 앞서 설명된 바와 같이, 전원 관리 회로(PMIC)는 저장 장치(100)의 각 구성 요소에 대한 서든 파워 오프를 감지하거나 또는 저장 장치(100)의 각 구성 요소는 자체 전원 검출기를 통해 서든 파워 오프를 감지하도록 구성될 수 있다.In an exemplary embodiment, as described above, the power management circuit (PMIC) may be configured to detect sudden power-off for each component of the storage device (100), or each component of the storage device (100) may be configured to detect sudden power-off via its own power detector.

S120 단계에서, 저장 장치(100)는 제1 불휘발성 메모리 장치(120)에 대한 동작을 중단시킬 수 있다. 예를 들어, 서든 파워 오프가 감지된 시점에서, 제1 불휘발성 메모리 장치(120)는 프로그램, 읽기, 또는 소거 등과 같은 동작을 수행 중일 수 있다. 스토리지 컨트롤러(110)는 SPO 신호에 응답하여, 제1 불휘발성 메모리 장치(120)에서 현재 수행 중인 동작(예를 들어, 프로그램, 읽기, 및 소거 등)을 중단시킬 수 있다. 예시적인 실시 예에서, 스토리지 컨트롤러(110)는 제1 불휘발성 메모리 장치(120)의 동작을 중단시키기 위한 별도의 중단 커맨드를 제1 불휘발성 메모리 장치(120)로 제공할 수 있다.At step S120, the storage device (100) may suspend an operation for the first nonvolatile memory device (120). For example, at the time when sudden power-off is detected, the first nonvolatile memory device (120) may be performing an operation, such as a program, a read, or an erase operation. The storage controller (110) may suspend the operation currently being performed by the first nonvolatile memory device (120) (e.g., a program, a read, or an erase operation) in response to the SPO signal. In an exemplary embodiment, the storage controller (110) may provide a separate suspend command to the first nonvolatile memory device (120) to suspend the operation of the first nonvolatile memory device (120).

S130 단계에서, 저장 장치(100)는 중단된 동작을 기반으로 제2 불휘발성 메모리 장치(130)에 중단 정보(SPI)를 기입할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 중단된 동작에 대응하는 커맨드 및 중단된 동작에 대응하는 어드레스를 중단 정보(SPI)로서 기입할 수 있다. 즉, 제1 불휘발성 메모리 장치(120)의 복수의 메모리 블록들 중 제1 메모리 블록에 대한 프로그램 동작이 중단된 경우, 스토리지 컨트롤러(110)는 제1 메모리 블록에 대한 어드레스 및 프로그램 커맨드를 중단 정보(SPI)로서 기입할 수 있다. 이하에서, 설명의 편의를 위하여, 중단 정보(SPI)에 포함된 커맨드는 "중단 커맨드"라 칭하고, 중단 정보(SPI)에 포함된 어드레스는 "중단 어드레스"라 칭한다.In step S130, the storage device (100) can write interrupt information (SPI) to the second nonvolatile memory device (130) based on the interrupted operation. For example, the storage controller (110) can write a command corresponding to the interrupted operation and an address corresponding to the interrupted operation as the interrupt information (SPI). That is, when a program operation for a first memory block among a plurality of memory blocks of the first nonvolatile memory device (120) is interrupted, the storage controller (110) can write an address and a program command for the first memory block as the interrupt information (SPI). Hereinafter, for convenience of explanation, a command included in the interrupt information (SPI) is referred to as an “interrupt command,” and an address included in the interrupt information (SPI) is referred to as an “interrupt address.”

이 후에, S140 단계에서, 저장 장치(100)가 파워-업 될 수 있다.After this, at step S140, the storage device (100) can be powered up.

파워-업된 이후에, S150 단계에서, 저장 장치(100)는 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)을 스캔할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는, 파워-업에 따른 초기화 동작에서, 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)을 읽을 수 있다.After power-up, at step S150, the storage device (100) can scan the interruption information (SPI) stored in the second nonvolatile memory device (130). For example, the storage controller (110) can read the interruption information (SPI) stored in the second nonvolatile memory device (130) in an initialization operation according to power-up.

S160 단계에서, 저장 장치(100)는 중단 정보(SPI)을 기반으로 블록 관리 동작을 수행할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 중단 정보(SPI)에 포함된 중단 커맨드 및 중단 어드레스를 기반으로 메모리 블록에 대한 무효 블록 처리, 데이터 마이그레이션, 또는 GC 우선 순위 조절 등과 같은 블록 관리 동작을 수행할 수 있다.At step S160, the storage device (100) can perform a block management operation based on the interrupt information (SPI). For example, the storage controller (110) can perform a block management operation, such as invalid block processing, data migration, or GC priority adjustment for a memory block, based on the interrupt command and interrupt address included in the interrupt information (SPI).

예시적인 실시 예에서, 제1 불휘발성 메모리 장치(120)에 대한 서든 파워 오프가 감지된 경우, 도 4의 순서도에 따른 동작들이 수행될 수 있다. 예시적인 실시 예에서, 제2 불휘발성 메모리 장치(130)에 대한 서든 파워 오프가 감지되고, 제1 불휘발성 메모리 장치(120)에 대한 서든 파워 오프가 감지되지 않은 경우, 별도의 중단 동작이 수행되지 않을 수 있으며, 제1 불휘발성 메모리 장치(120)에 대한 일반 동작(예를 들어, 프로그램 동작, 읽기 동작 등)이 계속 수행될 수 있다. In an exemplary embodiment, when a sudden power-off is detected for the first nonvolatile memory device (120), operations according to the flowchart of FIG. 4 may be performed. In an exemplary embodiment, when a sudden power-off is detected for the second nonvolatile memory device (130) and a sudden power-off is not detected for the first nonvolatile memory device (120), a separate interrupt operation may not be performed, and general operations (e.g., a program operation, a read operation, etc.) for the first nonvolatile memory device (120) may be continuously performed.

도 5는 도 4의 S160 단계의 동작을 보여주는 순서도이다. 도 1, 도 4, 및 도 5를 참조하면, 저장 장치(100)는 S150 단계 이후에, S160 단계의 동작을 수행할 수 있다. S160 단계의 동작은 S161 단계 내지 S163 단계의 동작들을 포함할 수 있다.FIG. 5 is a flowchart showing the operation of step S160 of FIG. 4. Referring to FIG. 1, FIG. 4, and FIG. 5, the storage device (100) can perform the operation of step S160 after step S150. The operation of step S160 can include the operations of steps S161 to S163.

S161 단계에서, 저장 장치(100)는 커맨드 종류를 판별할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 중단 커맨드가 읽기 커맨드(RD)인지, 프로그램 커맨드(PGM)인지, 또는 소거 커맨드(ERS)인지를 판별할 수 있다.At step S161, the storage device (100) can determine the type of command. For example, the storage controller (110) can determine whether the interrupt command is a read command (RD), a program command (PGM), or an erase command (ERS).

중단 커맨드가 읽기 커맨드(RD)인 경우, 저장 장치(100)는 별도의 블록 관리 동작을 수행하지 않을 수 있다. 예를 들어, 앞서 설명된 바와 같이, 중단 커맨드는 제1 불휘발성 메모리 장치(120)에서 중단된 동작에 대응하는 커맨드를 가리킨다. 읽기 커맨드에 대응하는 동작(즉, 읽기 동작)이 중단된 경우, 제1 불휘발성 메모리 장치(120)에 저장된 데이터에 대한 변형이 없을 것이다. 즉, 중단 커맨드가 읽기 커맨드(RD)인 경우, 제1 불휘발성 메모리 장치(120)에 저장된 데이터가 변형되지 않은 것이므로, 저장 장치(100)는 별도의 블록 관리 동작을 수행하지 않더라도 제1 불휘발성 메모리 장치(120)에 저장된 데이터가 유지될 수 있다. If the interrupt command is a read command (RD), the storage device (100) may not perform a separate block management operation. For example, as described above, the interrupt command refers to a command corresponding to an operation that has been interrupted in the first nonvolatile memory device (120). If an operation corresponding to the read command (i.e., a read operation) has been interrupted, there will be no modification to data stored in the first nonvolatile memory device (120). That is, if the interrupt command is a read command (RD), since the data stored in the first nonvolatile memory device (120) is not modified, even if the storage device (100) does not perform a separate block management operation, the data stored in the first nonvolatile memory device (120) may be maintained.

중단 커맨드가 프로그램 커맨드(PGM)인 경우, S162 단계에서, 저장 장치(100)는 중단 어드레스에 대응되는 메모리 블록을 리맵시킬 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 중단 어드레스와 대응되는 메모리 블록을 무효 블록으로 처리하고, 무효 블록으로 처리된 메모리 블록에 저장된 데이터를 다른 메모리 블록(예를 들어, 자유 메모리 블록)으로 마이그레이션하고, 맵핑 테이블을 업데이트할 수 있다.If the interrupt command is a program command (PGM), at step S162, the storage device (100) can remap a memory block corresponding to the interrupt address. For example, the storage controller (110) can process a memory block corresponding to the interrupt address as an invalid block, migrate data stored in the memory block processed as an invalid block to another memory block (e.g., a free memory block), and update the mapping table.

좀 더 상세한 예로서, 제1 불휘발성 메모리 장치(120)의 제1 메모리 블록에 대한 프로그램 동작이 중단된 경우, 제1 메모리 블록에 데이터가 정상적으로 저장되지 않을 것이다. 즉, 제1 메모리 블록에 저장될 데이터의 신뢰성이 보장되지 않기 때문에, 스토리지 컨트롤러(110)는 제1 메모리 블록을 무효 블록으로 처리할 수 있다. 단, 제1 메모리 블록에 미리 저장된 데이터(즉, 중단된 프로그램 동작 이전에 미리 저장되어 있는 데이터)에 대한 신뢰성을 보장하기 위하여, 무효 블록으로 처리된 제1 메모리 블록에 저장된 데이터를 다른 메모리 블록(예를 들어, 자유 메모리 블록)으로 마이그레이션시킬 수 있다. 이 경우, 스토리지 컨트롤러(110)는 제1 메모리 블록에 저장된 데이터에 대한 논리 어드레스를 자유 메모리 블록의 물리 어드레스와 맵핑시킬 수 있다.As a more detailed example, if a program operation for a first memory block of a first nonvolatile memory device (120) is interrupted, data will not be normally stored in the first memory block. That is, since the reliability of data to be stored in the first memory block is not guaranteed, the storage controller (110) may process the first memory block as an invalid block. However, in order to guarantee the reliability of data pre-stored in the first memory block (i.e., data pre-stored before the interrupted program operation), the data stored in the first memory block processed as an invalid block may be migrated to another memory block (e.g., a free memory block). In this case, the storage controller (110) may map a logical address for data stored in the first memory block to a physical address of the free memory block.

상술된 바와 같이, 프로그램 동작이 중단된 제1 메모리 블록을 무효 블록으로 처리하고, 제1 메모리 블록에 저장된 데이터를 다른 자유 메모리 블록으로 마이그레이션하고, 마이그레이션된 데이터의 논리 어드레스를 자유 메모리 블록의 물리 어드레스와 맵핑시킴으로써, 제1 메모리 블록에 미리 저장된 데이터의 신뢰성이 보장될 수 있다. 이하에서, 설명의 편의를 위하여, 상술된 일련의 동작을 "제1 메모리 블록에 대한 리맵핑 동작(remapping operation on the first memory block)"이라 칭한다. 즉, 중단 커맨드가 프로그램 커맨드인 경우, 스토리지 컨트롤러(110)는 중단 어드레스와 대응되는 메모리 블록에 대한 리맵핑 동작을 수행할 수 있다. As described above, by processing the first memory block where the program operation is interrupted as an invalid block, migrating the data stored in the first memory block to another free memory block, and mapping the logical address of the migrated data to the physical address of the free memory block, the reliability of the data previously stored in the first memory block can be guaranteed. Hereinafter, for the convenience of explanation, the above-described series of operations is referred to as a "remapping operation on the first memory block." That is, when the interrupt command is a program command, the storage controller (110) can perform a remapping operation on the memory block corresponding to the interrupt address.

중단 커맨드가 소거 커맨드(ERS)인 경우, S163 단계에서, 저장 장치(100)는 중단 어드레스에 대응되는 메모리 블록의 GC 우선 순위를 조절할 수 있다. 예를 들어, 중단 커맨드가 소거 커맨드(ERS)인 경우, 스토리지 컨트롤러(110)는 중단 어드레스에 대응되는 메모리 블록을 무효 블록으로 처리하고, 무효 블록으로 처리된 메모리 블록의 GC 우선 순위를 높일 수 있다. 스토리지 컨트롤러(110)는 GC 우선 순위에 따라 가비지 콜렉션을 수행할 수 있다. 즉, 스토리지 컨트롤러(110)는 중단 어드레스에 대응되는 메모리 블록(즉, 소거 동작이 중단된 메모리 블록)을 우선적으로 타겟 메모리 블록으로 선택하여, 타겟 메모리 블록에 대한 소거 동작을 수행할 수 있다. If the interrupt command is an erase command (ERS), in step S163, the storage device (100) can adjust the GC priority of the memory block corresponding to the interrupt address. For example, if the interrupt command is an erase command (ERS), the storage controller (110) can process the memory block corresponding to the interrupt address as an invalid block and increase the GC priority of the memory block processed as an invalid block. The storage controller (110) can perform garbage collection according to the GC priority. That is, the storage controller (110) can preferentially select the memory block corresponding to the interrupt address (i.e., the memory block for which the erase operation is interrupted) as the target memory block and perform an erase operation on the target memory block.

소거 동작이 중단된 메모리 블록의 메모리 셀들은 일반 메모리 블록(즉, 유저 데이터가 저장된 메모리 블록)의 메모리 셀들보다 낮은 문턱 전압을 갖기 때문에, 소거 동작이 중단된 메모리 블록이 일반 메모리 블록보다 좀 더 빠르게 소거될 수 있다. 즉, 소거 동작이 중단된 메모리 블록을 타겟 메모리 블록으로 우선적으로 선택함으로써, 타겟 메모리 블록에 대한 소거 동작이 빠르게 수행되고, 이에 따라 가비지 콜렉션 동작의 전체적인 속도가 향상된다.Since the memory cells of the memory block in which the erase operation is suspended have a lower threshold voltage than the memory cells of the general memory block (i.e., the memory block in which user data is stored), the memory block in which the erase operation is suspended can be erased somewhat faster than the general memory block. That is, by preferentially selecting the memory block in which the erase operation is suspended as the target memory block, the erase operation for the target memory block is performed quickly, and thus the overall speed of the garbage collection operation is improved.

도 6a 내지 도 6c는 도 4 내지 도 5의 순서도들에 따른 저장 장치의 동작을 설명하기 위한 도면들이다. 설명의 편의를 위하여, 제1 불휘발성 메모리 장치(120)는 제1 내지 제6 메모리 블록들(BLK1~BLK6)을 포함하고, 제1 내지 제6 메모리 블록들(BLK1~BLK6)은 제1 내지 제6 어드레스들(ADDR1~ADDR6)과 각각 대응되는 것으로 가정한다. 또한 제1 불휘발성 메모리 장치(120)는 제1 내지 제3 메모리 블록들(BLK1~BLK3)에 대한 읽기 동작, 프로그램 동작, 및 소거 동작을 각각 수행 중인 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.FIGS. 6A to 6C are drawings for explaining the operation of the storage device according to the flowcharts of FIGS. 4 to 5. For convenience of explanation, it is assumed that the first nonvolatile memory device (120) includes first to sixth memory blocks (BLK1 to BLK6), and the first to sixth memory blocks (BLK1 to BLK6) correspond to first to sixth addresses (ADDR1 to ADDR6), respectively. In addition, it is assumed that the first nonvolatile memory device (120) is performing a read operation, a program operation, and an erase operation on the first to third memory blocks (BLK1 to BLK3), respectively. However, the scope of the present invention is not limited thereto.

도 6a를 참조하면, 저장 장치(100)에서 서든 파워 오프가 발생할 수 있다. 전원 관리 회로(PMIC)는 서든 파워 오프를 감지하고, SPO 신호를 스토리지 컨트롤러(110)로 제공할 수 있다. 스토리지 컨트롤러(110)는 SPO 신호에 응답하여, 제1 불휘발성 메모리 장치(120)에서 수행 중인 동작들(예를 들어, 읽기 동작, 프로그램 동작, 또는 소거 동작)을 중단(suspend)시킬 수 있다. Referring to FIG. 6A, a sudden power-off may occur in the storage device (100). A power management circuit (PMIC) may detect the sudden power-off and provide an SPO signal to the storage controller (110). In response to the SPO signal, the storage controller (110) may suspend operations being performed in the first nonvolatile memory device (120) (e.g., a read operation, a program operation, or an erase operation).

이후에, 스토리지 컨트롤러(110)는 중단된 동작들에 대한 정보를 중단 정보(SPI)로서 제2 불휘발성 메모리 장치(130)에 기입할 수 있다. 중단 정보(SPI)는 중단된 동작들에 대한 중단 커맨드 및 중단 어드레스를 포함할 수 있다.Thereafter, the storage controller (110) can write information about the interrupted operations as interrupt information (SPI) to the second nonvolatile memory device (130). The interrupt information (SPI) can include an interrupt command and an interrupt address for the interrupted operations.

예를 들어, 도 6a에 도시된 바와 같이, 제1 메모리 블록(BLK1)에서 수행 중인 읽기 동작이 중단된 경우, 스토리지 컨트롤러(110)는 제1 메모리 블록(BLK1)에서 중단된 읽기 동작(RD)을 가리키는 제1 중단 커맨드(CMD1) 및 제1 메모리 블록(BLK1)과 대응되는 제1 중단 어드레스(ADDR1)를 중단 정보(SPI)로서 제2 불휘발성 메모리 장치(130)에 기입할 수 있다. 마찬가지로, 제2 및 제3 메모리 블록들(BLK2, BLK3)에서 각각 수행 중인 프로그램 동작 및 소거 동작이 중단된 경우, 스토리지 컨트롤러(110)는 제2 및 제3 메모리 블록들(BLK2, BLK3)에서 각각 중단된 프로그램 동작(PGM) 및 소거 동작(ERS)을 가리키는 제2 및 제3 중단 커맨드들(CMD2, CMD3), 및 제2 및 제3 메모리 블록들(BLK2, BLK3)과 대응되는 제2 및 제3 중단 어드레스들(ADDR2, ADDR3)를 중단 정보(SPI)로서 제2 불휘발성 메모리 장치(130)에 기입할 수 있다.For example, as illustrated in FIG. 6A, when a read operation being performed in a first memory block (BLK1) is interrupted, the storage controller (110) can write a first interrupt command (CMD1) indicating a read operation (RD) interrupted in the first memory block (BLK1) and a first interrupt address (ADDR1) corresponding to the first memory block (BLK1) as interrupt information (SPI) to a second nonvolatile memory device (130). Similarly, when the program operation and erase operation being performed in the second and third memory blocks (BLK2, BLK3), respectively, are interrupted, the storage controller (110) can write second and third interrupt commands (CMD2, CMD3) indicating the interrupted program operation (PGM) and erase operation (ERS) in the second and third memory blocks (BLK2, BLK3), respectively, and second and third interrupt addresses (ADDR2, ADDR3) corresponding to the second and third memory blocks (BLK2, BLK3) as interrupt information (SPI) to the second nonvolatile memory device (130).

이후에, 도 6b 및 도 6c에 도시된 바와 같이, 저장 장치(100)가 파워-업(POWER-UP)될 수 있다. 이 경우, 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)를 기반으로 블록 관리 동작을 수행할 수 있다.Thereafter, as shown in FIGS. 6b and 6c, the storage device (100) may be powered up. In this case, the storage controller (110) may perform a block management operation based on the interruption information (SPI) stored in the second nonvolatile memory device (130).

예를 들어, 도 6b에 도시된 바와 같이, 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(120)에 저장된 중단 정보(SPI)를 기반으로 특정 메모리 블록에 대한 리맵핑 동작을 수행할 수 있다. 좀 더 상세한 예로서, 스토리지 컨트롤러(110)는 중단 정보(SPI)를 기반으로 제2 중단 어드레스(ADDR2)에 대응하는 제2 메모리 블록(BLK2)에 대한 프로그램 동작(PGM)이 중단되었음을 인지할 수 있다. 이 경우, 스토리지 컨트롤러(110)는 제2 메모리 블록(BLK2)에 대한 리맵핑 동작을 수행할 수 있다.For example, as illustrated in FIG. 6b, the storage controller (110) may perform a remapping operation for a specific memory block based on the interruption information (SPI) stored in the second nonvolatile memory device (120). As a more detailed example, the storage controller (110) may recognize that the program operation (PGM) for the second memory block (BLK2) corresponding to the second interruption address (ADDR2) has been interrupted based on the interruption information (SPI). In this case, the storage controller (110) may perform a remapping operation for the second memory block (BLK2).

즉, 앞서 설명된 바와 같이, 스토리지 컨트롤러(110)는 제2 메모리 블록(BLK2)을 무효 블록(INV)으로 처리하고, 제2 메모리 블록(BLK2)에 저장된 데이터를 제5 메모리 블록(BLK5)으로 마이그레이션할 수 있다. 상술된 마이그레이션 동작에 따라, 스토리지 컨트롤러(110)는 제2 메모리 블록(BLK2)에 저장된 데이터와 대응되는 제2 논리 어드레스(LA2)를 제5 메모리 블록(BLK5)의 제5 어드레스(ADDR5)와 맵핑시키고, 제2 메모리 블록(BLK2)의 제2 어드레스(ADDR2)를 무효 블록(INV)으로 처리함으로써, 맵핑 테이블을 리맵핑 또는 업데이트할 수 있다.That is, as described above, the storage controller (110) can process the second memory block (BLK2) as an invalid block (INV) and migrate data stored in the second memory block (BLK2) to the fifth memory block (BLK5). According to the migration operation described above, the storage controller (110) can remap or update the mapping table by mapping the second logical address (LA2) corresponding to the data stored in the second memory block (BLK2) to the fifth address (ADDR5) of the fifth memory block (BLK5) and processing the second address (ADDR2) of the second memory block (BLK2) as an invalid block (INV).

즉, 이후에, 호스트(11)에 의해 제2 논리 어드레스(LA2)와 대응되는 데이터가 액세스되는 경우, 스토리지 컨트롤러(110)는 리맵핑된 맵핑 테이블을 기반으로 제5 메모리 블록(BLK5)에 저장된 데이터를 액세스할 수 있다.That is, later, when data corresponding to the second logical address (LA2) is accessed by the host (11), the storage controller (110) can access data stored in the fifth memory block (BLK5) based on the remapped mapping table.

도 6c에 도시된 바와 같이, 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(120)에 저장된 중단 정보(SPI)를 기반으로 특정 메모리 블록에 대한 GC 우선 순위를 조절할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)를 기반으로 제3 중단 어드레스(ADDR3)에 대응하는 제3 메모리 블록(BLK3)에 대한 소거 동작(ERS)이 중단되었음을 인지할 수 있다. 이 경우, 앞서 설명된 바와 같이, 스토리지 컨트롤러(110)는 제3 메모리 블록(BLK3)에 대한 GC 우선 순위를 높일 수 있다.As illustrated in FIG. 6c, the storage controller (110) may adjust the GC priority for a specific memory block based on the interruption information (SPI) stored in the second nonvolatile memory device (120). For example, the storage controller (110) may recognize that the erase operation (ERS) for the third memory block (BLK3) corresponding to the third interruption address (ADDR3) has been interrupted based on the interruption information (SPI) stored in the second nonvolatile memory device (130). In this case, as described above, the storage controller (110) may increase the GC priority for the third memory block (BLK3).

좀 더 상세한 예로서, 도 6c에 도시된 바와 같이, 제6 메모리 블록(BLK6)은 자유 메모리 블록이고, 제2 메모리 블록(BLK2)은 무효 블록일 수 있다. 스토리지 컨트롤러(110)는 제6 메모리 블록(BLK6)의 GC 우선 순위를 제1 순위(#1)로 결정하고, 제2 메모리 블록(BLK2)의 GC 우선 순위를 제2 순위(#2)로 결정할 수 있다. 이 상태에서, 가비지 콜렉션이 수행되는 경우, 스토리지 컨트롤러(110)는 높은 우선 순위를 갖는 제6 메모리 블록(BLK6)을 타겟 메모리 블록으로 선택하고, 제6 메모리 블록에 대한 소거 동작을 수행할 수 있다.As a more detailed example, as illustrated in FIG. 6c, the sixth memory block (BLK6) may be a free memory block and the second memory block (BLK2) may be an invalid block. The storage controller (110) may determine the GC priority of the sixth memory block (BLK6) as the first priority (#1) and may determine the GC priority of the second memory block (BLK2) as the second priority (#2). In this state, when garbage collection is performed, the storage controller (110) may select the sixth memory block (BLK6) having a high priority as a target memory block and perform an erase operation on the sixth memory block.

서든 파워 오프 상황에서 제3 메모리 블록(BLK3)에 대한 소거 동작이 중단되고, 이후에 저장 장치(100)가 파워 업된 경우, 스토리지 컨트롤러(110)는 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)를 기반으로 제3 메모리 블록(BLK3)에 대한 소거 동작이 중단되었음을 인지할 수 있다. 이 경우, 스토리지 컨트롤러(110)는 제3 메모리 블록(BLK3)의 GC 우선 순위를 제1 순위(#1)로 결정하고, 제6 및 제2 메모리 블록들(BLK6, BLK2)에 대한 GC 우선 순위를 각각 제2 및 제3 순위들(#2, #3)로 조절 또는 업데이트할 수 있다. 이 상태에서, 가비지 콜렉션이 수행되는 경우, 스토리지 컨트롤러(110)는 가장 높은 GC 우선 순위를 갖는 제3 메모리 메모리 블록(BLK3)을 타겟 메모리 블록으로 선택하고, 선택된 타겟 메모리 블록에 대한 소거 동작을 수행할 수 있다. In a sudden power-off situation, if an erase operation for a third memory block (BLK3) is interrupted and the storage device (100) is powered up thereafter, the storage controller (110) can recognize that the erase operation for the third memory block (BLK3) is interrupted based on the interruption information (SPI) stored in the second nonvolatile memory device (130). In this case, the storage controller (110) can determine the GC priority of the third memory block (BLK3) as the first priority (#1) and adjust or update the GC priorities for the sixth and second memory blocks (BLK6, BLK2) to the second and third priorities (#2, #3), respectively. In this state, if garbage collection is performed, the storage controller (110) can select the third memory memory block (BLK3) having the highest GC priority as a target memory block and perform an erase operation for the selected target memory block.

예시적인 실시 예에서, 무효 블록으로 처리된 메모리 블록에 대한 GC 우선 순위는 무효 블록으로 처리된 메모리 블록의 P/E 사이클에 따라 추가적으로 조절될 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 제1 불휘발성 메모리 장치(120)의 복수의 메모리 블록들에 대한 마모도 관리(wear-leveling)를 수행할 수 있다. 즉, 스토리지 컨트롤러(110)는 제1 P/E 사이클을 갖는 메모리 블록의 GC 우선 순위를 제1 P/E 사이클보다 큰 제2 P/E 사이클을 갖는 메모리 블록의 GC 우선 순위보다 높게 할 수 있고, 이에 따라, 가비지 콜렉션시, 제1 P/E 사이클을 갖는 메모리 블록이 타겟 메모리 블록으로 먼저 선택될 수 있다. 이 때, 제2 P/E 사이클을 갖는 메모리 블록이 소거 중단 메모리 블록인 경우, 스토리지 컨트롤러(110)는 제2 P/E 사이클을 갖는 메모리 블록이 타겟 메모리 블록으로 먼저 선택되도록 GC 우선 순위를 조절할 수 있다. 단, 제2 P/E 사이클과 제1 P/E 사이클의 차이가 기준치 이상인 경우(즉, 제2 P/E 사이클이 제1 P/E 사이클보다 기준치 이상으로 큰 경우), 스토리지 컨트롤러(110)는 메모리 블록들의 마모도 관리를 위하여, 제1 P/E 사이클을 갖는 메모리 블록이 먼저 타겟 메모리 블록으로 선택되도록 GC 우선 순위를 조절할 수 있다. In an exemplary embodiment, the GC priority for a memory block treated as an invalid block may be additionally adjusted according to the P/E cycle of the memory block treated as an invalid block. For example, the storage controller (110) may perform wear-leveling on a plurality of memory blocks of the first nonvolatile memory device (120). That is, the storage controller (110) may make the GC priority of a memory block having a first P/E cycle higher than the GC priority of a memory block having a second P/E cycle greater than the first P/E cycle, and accordingly, during garbage collection, the memory block having the first P/E cycle may be first selected as a target memory block. In this case, if the memory block having the second P/E cycle is an erase stop memory block, the storage controller (110) may adjust the GC priority so that the memory block having the second P/E cycle is first selected as the target memory block. However, if the difference between the second P/E cycle and the first P/E cycle is greater than or equal to a reference value (i.e., if the second P/E cycle is greater than or equal to the reference value than the first P/E cycle), the storage controller (110) may adjust the GC priority so that a memory block having the first P/E cycle is first selected as a target memory block in order to manage the wear of the memory blocks.

상술된 바와 같이, 저장 장치(100)는 서든 파워 오프 상황에서, 제1 불휘발성 메모리 장치(120)에 대한 동작을 중단하고, 중단된 동작에 대한 정보를 중단 정보(SPI)로서 제2 불휘발성 메모리 장치(130)에 기입할 수 있다. 이후에 저장 장치(100)가 파워-업된 경우, 제2 불휘발성 메모리 장치(130)에 저장된 중단 정보(SPI)를 기반으로 제1 불휘발성 메모리 장치(120)에 대한 리맵핑 동작 또는 GC 우선 순위 조절 동작을 수행할 수 있다. As described above, in a sudden power-off situation, the storage device (100) can suspend the operation for the first nonvolatile memory device (120) and write information about the suspended operation as suspend information (SPI) to the second nonvolatile memory device (130). When the storage device (100) is powered-up thereafter, the remapping operation or the GC priority adjustment operation for the first nonvolatile memory device (120) can be performed based on the suspend information (SPI) stored in the second nonvolatile memory device (130).

도 7a 및 도 7b는 선 검증-후 소거 방식의 소거 동작을 설명하기 위한 도면들이다. 도 1, 도 7a, 및 도 7b를 참조하면, 도 7a에 도시된 바와 같이, 제1 불휘발성 메모리 장치(120)에 포함된 복수의 메모리 블록들 중 노멀 메모리 블록(normal memory block)의 메모리 셀들 각각은 소거 상태(E) 및 제1 내지 제15 프로그램 상태들(P1~P15) 중 어느 하나의 상태를 가질 수 있다. 노멀 메모리 블록에 대한 제1 소거 동작(1st ERS)이 수행됨으로써, 노멀 메모리 블록의 메모리 셀들은 소거 상태(E)를 가질 수 있다. 예를 들어, 저장 장치(100)는, 도 7b에 도시된 바와 같이, 복수의 소거 루프들(EL1~ELn)을 포함하는 제1 소거 동작(1st ERS)을 수행함으로써, 노멀 메모리 블록에 대한 소거 동작을 수행할 수 있다. 복수의 소거 루프들(EL1~ELn) 각각은 소거 전압을 인가하여 메모리 셀들의 문턱 전압은 낮추는 단계; 및 소거 검증 전압(Vvfy_e)을 인가하여 메모리 셀들이 정상적으로 소거되었는지를 검증하는 단계를 포함할 수 있다. FIGS. 7A and 7B are drawings for explaining an erase operation of a pre-verify-then-erase method. Referring to FIGS. 1, 7A, and 7B, as illustrated in FIG. 7A, each of the memory cells of a normal memory block among a plurality of memory blocks included in a first nonvolatile memory device (120) may have an erase state (E) and one of the first to fifteenth program states (P1 to P15). By performing a first erase operation (1st ERS) on the normal memory block, the memory cells of the normal memory block may have the erase state (E). For example, the storage device (100) may perform an erase operation on the normal memory block by performing a first erase operation (1st ERS) including a plurality of erase loops (EL1 to ELn), as illustrated in FIG. 7B. Each of the plurality of erase loops (EL1 to ELn) may include a step of applying an erase voltage to lower a threshold voltage of memory cells; and a step of applying an erase verification voltage (Vvfy_e) to verify whether the memory cells have been normally erased.

반면에, 소거 동작이 중단된 메모리 블록(예를 들어, 도 6c의 제3 메모리 블록(BLK3))(설명의 편의를 위하여, "소거-중단 메모리 블록"이라 칭함)의 메모리 셀들은 도 7a에 도시된 바와 같은 문턱 전압 산포를 가질 수 있다. 이 때, 소거-중단 메모리 블록의 메모리 셀들의 문턱 전압 산포의 상한 값(Vth2)은 노멀 메모리 블록의 메모리 셀들의 문턱 전압 산포의 상한 값(Vth1)보다 낮을 수 있다. 이 경우, 소거-중단 메모리 블록에 대한 제2 소거 동작(2nd ERS)이 수행됨으로써, 소거 중단 메모리 블록의 메모리 셀들은 소거 상태(E)를 가질 수 있다. 예를 들어, 저장 장치(100)는 도 7b에 도시된 바와 같이, 초기 검증 구간(Int. VFY) 및 복수의 소거 루프들(EL1~ELk)을 포함하는 제2 소거 동작(2nd ERS)을 수행할 수 있다.On the other hand, the memory cells of the memory block in which the erase operation is stopped (for example, the third memory block (BLK3) of FIG. 6c) (for convenience of explanation, referred to as an "erase-stop memory block") may have a threshold voltage distribution as illustrated in FIG. 7a. At this time, the upper limit value (Vth2) of the threshold voltage distribution of the memory cells of the erase-stop memory block may be lower than the upper limit value (Vth1) of the threshold voltage distribution of the memory cells of the normal memory block. In this case, by performing a second erase operation (2nd ERS) on the erase-stop memory block, the memory cells of the erase-stop memory block may have an erase state (E). For example, the storage device (100) may perform the second erase operation (2nd ERS) including an initial verification period (Int. VFY) and a plurality of erase loops (EL1 to ELk), as illustrated in FIG. 7b.

초기 검증 구간(Int. VFY)은 소거-중단 메모리 블록으로 복수의 검증 전압을 인가하여, 소거-중단 메모리 블록의 메모리 셀들의 문턱 전압 산포의 상한 값(즉, Vth2)을 검출하는 구간일 수 있다. 초기 검증 구간(Int. VFY)의 결과에 따라, 저장 장치(100)는 복수의 소거 루프들(EL1~ELk)을 수행할 수 있다. 이 때, 복수의 소거 루프들(EL1~ELk)에서 인가되는 소거 전압의 인가 시간(Ters2), 복수의 소거 루프들(EL1~ELk)의 개수, 초기 소거 전압(Vers2)의 크기가 초기 검증 구간(Int. VFY)의 결과를 기반으로 결정될 수 있다. 예를 들어, 초기 검증 구간(Int. VFY)의 결과에 따라 상한 값(Vth2)의 크기가 증가할수록, 복수의 소거 루프들(EL1~ELk)에서 인가되는 소거 전압의 인가 시간(Ters2), 복수의 소거 루프들(EL1~ELk)의 개수, 또는 초기 소거 전압(Vers2)의 크기가 증가할 수 있다.The initial verification interval (Int. VFY) may be a interval for detecting an upper limit value (i.e., Vth2) of a threshold voltage distribution of memory cells of an erase-stop memory block by applying multiple verification voltages to the erase-stop memory block. Depending on the result of the initial verification interval (Int. VFY), the storage device (100) may perform multiple erase loops (EL1 to ELk). At this time, the application time (Ters2) of the erase voltage applied in the multiple erase loops (EL1 to ELk), the number of the multiple erase loops (EL1 to ELk), and the size of the initial erase voltage (Vers2) may be determined based on the result of the initial verification interval (Int. VFY). For example, as the size of the upper limit value (Vth2) increases based on the result of the initial verification interval (Int. VFY), the application time (Ters2) of the erase voltage applied in the multiple erase loops (EL1 to ELk), the number of the multiple erase loops (EL1 to ELk), or the size of the initial erase voltage (Vers2) may increase.

예시적인 실시 예에서, 제2 소거 동작(2nd ERS)의 복수의 소거 루프들(EL1~ELk)에서 인가되는 소거 전압의 인가 시간(Ters2), 복수의 소거 루프들(EL1~ELk)의 개수, 또는 초기 소거 전압(Vers2)의 크기는 각각 제2 소거 동작(1st ERS)의 복수의 소거 루프들(EL1~ELn)에서 인가되는 소거 전압의 인가 시간(Ters1), 복수의 소거 루프들(EL1~ELn)의 개수, 또는 초기 소거 전압(Vers1)의 크기보다 작을 수 있다. 즉, 제2 소거 동작(2nd ERS)에 대한 수행 시간은 제1 소거 동작(1st ERS)의 수행 시간보다 짧을 수 있다. In an exemplary embodiment, the application time (Ters2) of the erase voltage applied in the plurality of erase loops (EL1 to ELk), the number of the plurality of erase loops (EL1 to ELk), or the size of the initial erase voltage (Vers2) of the second erase operation (2nd ERS) may be smaller than the application time (Ters1) of the erase voltage applied in the plurality of erase loops (EL1 to ELn) of the second erase operation (1st ERS), the number of the plurality of erase loops (EL1 to ELn), or the size of the initial erase voltage (Vers1). That is, the execution time for the second erase operation (2nd ERS) may be shorter than the execution time for the first erase operation (1st ERS).

상술된 바와 같이, 스토리지 컨트롤러(110)는 일반 메모리 블록 및 소거 중단 메모리 블록에 대하여 각각 다른 소거 동작을 수행할 수 있다. 예를 들어, 스토리지 컨트롤러(110)는 일반 메모리 블록에 대하여 제1 소거 동작(1st ERS)을 수행할 수 있고, 소거 중단 메모리 블록에 대하여 제2 소거 동작(2nd ERS)을 수행할 수 있다. 상술된 바와 같이, 제2 소거 동작(2nd ERS)은 제1 소거 동작(1st ERS)보다 짧은 수행 시간을 갖기 때문에, 소거 중단 메모리 블록이 타겟 메모리 블록으로 먼저 선택되어 제2 소거 동작(2nd ERS)이 수행됨으로써, 가비지 콜렉션 수행 시간이 전체적으로 감소될 수 있다. As described above, the storage controller (110) can perform different erase operations on the general memory block and the erase stop memory block, respectively. For example, the storage controller (110) can perform a first erase operation (1st ERS) on the general memory block and a second erase operation (2nd ERS) on the erase stop memory block. As described above, since the second erase operation (2nd ERS) has a shorter execution time than the first erase operation (1st ERS), the erase stop memory block is first selected as the target memory block and the second erase operation (2nd ERS) is performed, thereby reducing the overall garbage collection execution time.

도 8a 및 도 8b는 제2 불휘발성 메모리 장치에 중단 정보를 기입하는 동작을 보여주는 타이밍도이다. 도 8a 및 도 8b에 도시된 타이밍도는 제2 불휘발성 메모리 장치의 동작을 설명하기 위한 예시적인 타이밍도로서, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 제2 불휘발성 메모리 장치(130)는 스토리지 컨트롤러(110)와 다양한 인터페이스들 중 어느 하나를 기반으로 통신하도록 구성될 수 있다. FIGS. 8A and 8B are timing diagrams showing an operation of writing interrupt information to a second nonvolatile memory device. The timing diagrams shown in FIGS. 8A and 8B are exemplary timing diagrams for explaining the operation of the second nonvolatile memory device, and the scope of the present invention is not limited thereto. For example, the second nonvolatile memory device (130) may be configured to communicate with the storage controller (110) based on any one of various interfaces.

도 1, 도 3, 도 8a, 및 도 8b를 참조하면, 제2 불휘발성 메모리 장치(130)는 불휘발성 메모리 관리자(114)로부터 수신된 신호들에 응답하여 동작할 수 있다. 예를 들어, 도 8a에 도시된 바와 같이, 제2 불휘발성 메모리 장치(130)는 칩 선택 신호(CS) 및 쓰기 활성 신호(WEN)의 활성 구간(즉, 로직 로우 구간) 동안, 클럭 신호(CLK)에 동기하여 어드레스들(AD1~AD4), 및 데이터(DT1~DT4)를 스토리지 컨트롤러(110)의 불휘발성 메모리 관리자(114)로부터 수신할 수 있다. 제2 불휘발성 메모리 장치(130)는 수신된 어드레스들(AD1~AD4)에 대응하는 영역에, 수신된 데이터(DT1~DT4)를 기입할 수 있다. Referring to FIGS. 1, 3, 8A, and 8B, the second nonvolatile memory device (130) may operate in response to signals received from the nonvolatile memory manager (114). For example, as illustrated in FIG. 8A, the second nonvolatile memory device (130) may receive addresses (AD1 to AD4) and data (DT1 to DT4) from the nonvolatile memory manager (114) of the storage controller (110) in synchronization with a clock signal (CLK) during an active period (i.e., a logic low period) of a chip select signal (CS) and a write enable signal (WEN). The second nonvolatile memory device (130) may write the received data (DT1 to DT4) into areas corresponding to the received addresses (AD1 to AD4).

도 8b에 도시된 바와 같이, 서든 파워 오프(SPO)가 발생한 경우, 스토리지 컨트롤러(110)는 SPO 신호를 활성화(즉, SPO 신호를 로직 로우로 낮춤)시키고, 소정의 시간이 경과한 이후에, 특정 어드레스(AD_pd) 및 중단 정보(SPI)를 제2 불휘발성 메모리 장치(130)로 제공할 수 있다. 제2 불휘발성 메모리 장치(130)는 SPO 신호에 응답하여, 수신된 특정 어드레스(AD_pd)에 대응하는 영역에 중단 정보(SPI)를 기입할 수 있다.As illustrated in FIG. 8b, when a sudden power-off (SPO) occurs, the storage controller (110) can activate the SPO signal (i.e., lower the SPO signal to logic low) and, after a predetermined period of time has elapsed, provide a specific address (AD_pd) and interruption information (SPI) to the second nonvolatile memory device (130). The second nonvolatile memory device (130) can write the interruption information (SPI) to an area corresponding to the received specific address (AD_pd) in response to the SPO signal.

예시적인 실시 예에서, 제2 불휘발성 메모리 장치(130)는 SPO 신호가 활성화된 시점으로부터 미리 정해진 시간(예를 들어, 클럭 신호(CLK)의 수 사이클)이 경과한 이후에, 중단 정보(SPI)를 기입하는 동작을 수행할 수 있다. 예시적인 실시 예에서, 특정 어드레스(AD_pd)는 제2 불휘발성 메모리 장치(130)의 저장 영역들 중 중단 정보(SPI)를 기입하도록 미리 정해진 영역에 대응되는 어드레스일 수 있다. 예시적인 실시 예에서, 제2 불휘발성 메모리 장치(130)는 중단 정보(SPI)를 기입하기 위하여, 버스트 모드로 동작할 수 있다. In an exemplary embodiment, the second nonvolatile memory device (130) may perform an operation of writing the interruption information (SPI) after a predetermined time (e.g., several cycles of the clock signal (CLK)) has elapsed from the time when the SPO signal is activated. In an exemplary embodiment, the specific address (AD_pd) may be an address corresponding to an area predetermined to write the interruption information (SPI) among the storage areas of the second nonvolatile memory device (130). In an exemplary embodiment, the second nonvolatile memory device (130) may operate in a burst mode in order to write the interruption information (SPI).

상술된 제2 불휘발성 메모리 장치(130)의 동작은 예시적인 것이며, 제2 불휘발성 메모리 장치(130)의 동작은 본 발명의 기술적 사상으로부터 벗어남 없이 다양하게 변형될 수 있음이 이해될 것이다.It will be understood that the operation of the second nonvolatile memory device (130) described above is exemplary, and the operation of the second nonvolatile memory device (130) may be variously modified without departing from the technical spirit of the present invention.

도 9, 도 10a, 및 도 10b는 본 발명의 실시 예에 따른 저장 장치의 동작을 설명하기 위한 도면들이다. 도 9, 도 10a, 및 도 10b를 참조하면, S205 단계에서, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)에 대한 동작 정보를 제2 불휘발성 메모리 장치(230)에 기입하여 관리할 수 있다. 예를 들어, 도 10a에 도시된 바와 같이, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)의 제1 메모리 블록(BLK1)에 대한 읽기 동작(RD), 제2 메모리 블록(BLK2)에 대한 프로그램 동작(PGM), 제3 메모리 블록(BLK3)에 대한 소거 동작(ERS), 및 제4 메모리 블록(BLK4)에 프로그램 동작(PGM4)을 수행 중일 수 있다. 이 때, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작에 대한 정보를 동작 정보(operation information)로서 제2 불휘발성 메모리 장치(230)에 기입하여 관리할 수 있다.FIGS. 9, 10A, and 10B are diagrams for explaining the operation of a storage device according to an embodiment of the present invention. Referring to FIGS. 9, 10A, and 10B, in step S205, the storage device (200) may write operation information for the first nonvolatile memory device (220) to the second nonvolatile memory device (230) and manage it. For example, as illustrated in FIG. 10A, the storage device (200) may be performing a read operation (RD) for a first memory block (BLK1) of the first nonvolatile memory device (220), a program operation (PGM) for a second memory block (BLK2), an erase operation (ERS) for a third memory block (BLK3), and a program operation (PGM4) for a fourth memory block (BLK4). At this time, the storage device (200) can manage information about the operation being performed in the first nonvolatile memory device (220) by writing it as operation information into the second nonvolatile memory device (230).

제2 불휘발성 메모리 장치(230)에 저장된 동작 정보는 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작에 대한 커맨드 정보 및 대응하는 어드레스 정보를 포함할 수 있다. 예시적인 실시 예에서, 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보는 스토리지 컨트롤러(210)에 의해 관리되는 제1 불휘발성 메모리 장치(220)에 대한 커맨드 큐 또는 별도로 관리되는 관리 정보일 수 있다.The operation information stored in the second nonvolatile memory device (230) may include command information and corresponding address information for an operation being performed in the first nonvolatile memory device (220). In an exemplary embodiment, the operation information stored in the second nonvolatile memory device (230) may be a command queue for the first nonvolatile memory device (220) managed by the storage controller (210) or separately managed management information.

이후에, 저장 장치(200)는 S210 단계 및 S220 단계의 동작들을 수행할 수 있다. S210 단계 및 S220 단계의 동작들(즉, 서든 파워 오프 감지 및 제1 불휘발성 메모리 장치의 동작 중단)을 수행할 수 있다. S210 단계 및 S220 단계의 동작들은 도 4의 S110 단계 및 S120 단계의 동작들과 유사하므로, 이에 대한 상세한 설명은 생략된다.Thereafter, the storage device (200) can perform the operations of steps S210 and S220. The operations of steps S210 and S220 (i.e., sudden power-off detection and operation suspension of the first nonvolatile memory device) can be performed. The operations of steps S210 and S220 are similar to the operations of steps S110 and S120 of FIG. 4, and therefore, a detailed description thereof is omitted.

S230 단계에서, 저장 장치(200)는 중단된 동작에 대응하는 동작 정보에 SPO 플래그를 기입할 수 있다. 예를 들어, 도 10b에 도시된 바와 같이, 스토리지 컨트롤러(210)는 SPO 신호에 응답하여 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작을 중단(suspend)시킬 수 있다. 이 때, 제4 메모리 블록(BLK4)에 대한 프로그램 동작(PGM)은 SPO 신호가 수신된 시점에서 완료된 상태일 수 있고, 제1 내지 제3 메모리 블록들(BLK1~BLK3)에서 수행 중인 읽기 동작(RD), 프로그램 동작(PGM), 및 소거 동작(ERS)이 중단될 수 있다. At step S230, the storage device (200) can write an SPO flag to the operation information corresponding to the suspended operation. For example, as illustrated in FIG. 10b, the storage controller (210) can suspend the operation being performed in the first nonvolatile memory device (220) in response to the SPO signal. At this time, the program operation (PGM) for the fourth memory block (BLK4) may be completed at the time the SPO signal is received, and the read operation (RD), the program operation (PGM), and the erase operation (ERS) being performed in the first to third memory blocks (BLK1 to BLK3) may be suspended.

스토리지 컨트롤러(210)는 중단된 동작에 대응하는 동작 정보에 SPO 플래그를 기입할 수 있다. 예를 들어, 제1 내지 제3 메모리 블록들(BLK1~BLK3)에서 수행 중인 읽기 동작(RD), 프로그램 동작(PGM), 및 소거 동작(ERS)이 중단된 경우, 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보에서, 제1 내지 제3 메모리 블록들(BLK1~BLK3)에 대응하는 동작 정보(즉, CMD1/ADDR1, CMD2/ADDR2, CMD3/ADDR3)에 SPO 플래그를 기입할 수 있다. 제4 메모리 블록(BLK4)에 대한 프로그램 동작(PGM)은 완료된 상태이므로, 제4 메모리 블록(BLK4)에 대응하는 동작 정보(CMD4/ADD4)에는 별도의 SPO 플래그를 기입하지 않을 수 있다. The storage controller (210) may write an SPO flag to the operation information corresponding to the interrupted operation. For example, if a read operation (RD), a program operation (PGM), and an erase operation (ERS) being performed in the first to third memory blocks (BLK1 to BLK3) are interrupted, an SPO flag may be written to the operation information (i.e., CMD1/ADDR1, CMD2/ADDR2, CMD3/ADDR3) corresponding to the first to third memory blocks (BLK1 to BLK3) in the operation information stored in the second nonvolatile memory device (230). Since the program operation (PGM) for the fourth memory block (BLK4) is completed, a separate SPO flag may not be written to the operation information (CMD4/ADD4) corresponding to the fourth memory block (BLK4).

즉, 스토리지 컨트롤러(210)는 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작에 대한 동작 정보(즉, 커맨드 및 어드레스)를 제2 불휘발성 메모리 장치(230)에 저장하여 관리하고, 서든 파워 오프 발생시, 제1 불휘발성 메모리 장치(220)에서 중단된 동작에 대응하는 동작 정보에 SPO 플래그를 기입할 수 있다. That is, the storage controller (210) stores and manages operation information (i.e., commands and addresses) regarding an operation being performed in the first nonvolatile memory device (220) in the second nonvolatile memory device (230), and when sudden power-off occurs, can write an SPO flag to the operation information corresponding to the operation stopped in the first nonvolatile memory device (220).

이후에, S240 단계에서, 저장 장치(200)가 파워-업될 수 있다.Subsequently, at step S240, the storage device (200) can be powered up.

S250 단계에서, 저장 장치(200)는 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보에서 SPO 플래그를 스캔할 수 있다. 예를 들어, 스토리지 컨트롤러(210)는 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보에서 SPO 플래그를 스캔함으로써, 서든 파워 오프시 제1 불휘발성 메모리 장치(220)에서 중단된 동작을 인지할 수 있다.At step S250, the storage device (200) can scan the SPO flag in the operation information stored in the second nonvolatile memory device (230). For example, the storage controller (210) can recognize an operation that has been interrupted in the first nonvolatile memory device (220) at the time of sudden power-off by scanning the SPO flag in the operation information stored in the second nonvolatile memory device (230).

이후에, S260 단계에서, 저장 장치(200)는 스캔된 SPO 플래그를 기반으로 블록 관리 동작을 수행할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 스토리지 컨트롤러(200)는 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보에서 SPO 플래그를 스캔함으로써, 서든 파워 오프시 제1 불휘발성 메모리 장치(220)에서 중단된 동작을 인지할 수 있다. 스토리지 컨트롤러(210)는 중단된 동작을 기반으로 도 1 내지 도 7b를 참조하여 설명된 리맵핑 동작 또는 GC 우선 순위 조절 동작과 같은 블록 관리 동작을 수행할 수 있다. 블록 관리 동작은 앞선 도면들을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.Thereafter, at step S260, the storage device (200) can perform a block management operation based on the scanned SPO flag. For example, as described above, the storage controller (200) can recognize an operation interrupted in the first nonvolatile memory device (220) at the time of sudden power-off by scanning the SPO flag in the operation information stored in the second nonvolatile memory device (230). The storage controller (210) can perform a block management operation, such as a remapping operation or a GC priority adjustment operation described with reference to FIGS. 1 to 7B, based on the interrupted operation. Since the block management operation has been described with reference to the above drawings, a detailed description thereof will be omitted.

상술된 바와 같이, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작에 대한 동작 정보를 제2 불휘발성 메모리 장치(230)에 저장하고 관리할 수 있다. 이 때, 서든 파워 오프가 발생한 경우, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)에서 수행 중인 동작을 중단하고, 제2 불휘발성 메모리 장치(230)에서, 중단된 동작과 대응하는 동작 정보에 SPO 플래그를 기입할 수 있다. 따라서 서든 파워 오프 발생시, 저장 장치(200)는 제1 불휘발성 메모리 장치(220)에 대한 동작을 완료할 필요 없이, 제2 불휘발성 메모리 장치(230)에 SPO 플래그만 기입하면 되므로, 작은 용량의 보조 전원을 사용하여 서든 파워 오프에 대응할 수 있다. 또한, 서든 파워 오프 이후의 파워 업시, 저장 장치는 제2 불휘발성 메모리 장치(230)에 저장된 동작 정보 및 SPO 플래그를 기반으로 블록 관리 동작을 수행하기 때문에, 제1 불휘발성 메모리 장치(220)에 저장된 데이터의 신뢰성이 보장될 수 있다. As described above, the storage device (200) can store and manage operation information about an operation being performed in the first nonvolatile memory device (220) in the second nonvolatile memory device (230). At this time, when a sudden power-off occurs, the storage device (200) can stop the operation being performed in the first nonvolatile memory device (220) and write an SPO flag in the operation information corresponding to the stopped operation in the second nonvolatile memory device (230). Therefore, when a sudden power-off occurs, the storage device (200) only needs to write an SPO flag in the second nonvolatile memory device (230) without having to complete the operation for the first nonvolatile memory device (220), and thus can respond to a sudden power-off using a small-capacity auxiliary power supply. In addition, when powering up after a sudden power-off, the storage device performs block management operations based on the operation information and SPO flag stored in the second nonvolatile memory device (230), so the reliability of data stored in the first nonvolatile memory device (220) can be guaranteed.

도 11은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다. 도 11을 참조하면, 스토리지 시스템(30)은 호스트(31) 및 저장 장치(300)를 포함할 수 있다. 저장 장치(300)는 스토리지 컨트롤러(310), 제1 불휘발성 메모리 장치(320), 제2 불휘발성 메모리 장치(330), 전원 관리 회로(PMIC), 및 온도 센서(340)를 포함할 수 있다. 호스트(31), 저장 장치(300), 스토리지 컨트롤러(310), 제1 불휘발성 메모리 장치(320), 제2 불휘발성 메모리 장치(330), 및 전원 관리 회로(PMIC)는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. FIG. 11 is a block diagram showing a storage system according to an embodiment of the present invention. Referring to FIG. 11, the storage system (30) may include a host (31) and a storage device (300). The storage device (300) may include a storage controller (310), a first nonvolatile memory device (320), a second nonvolatile memory device (330), a power management circuit (PMIC), and a temperature sensor (340). Since the host (31), the storage device (300), the storage controller (310), the first nonvolatile memory device (320), the second nonvolatile memory device (330), and the power management circuit (PMIC) have been described above, a detailed description thereof will be omitted.

온도 센서(340)는 저장 장치(300)의 온도를 검출하고, 검출된 온도에 대한 온도 정보(TEMP)를 스토리지 컨트롤러(310)로 제공할 수 있다. 스토리지 컨트롤러(310)는 온도 정보(TEMP)를 기반으로 제2 불휘발성 메모리 장치(330)의 동작을 제어하도록 구성될 수 있다. 예를 들어, 제2 불휘발성 메모리 장치(330)는 저장 장치(300)의 온도에 따라 제2 불휘발성 메모리 장치(230)에 대한 재기입(rewrite) 횟수를 조절할 수 있다. 예시적인 실시 예에서, 스토리지 컨트롤러(310)는 서든 파워 오프 발생시, 온도 정보(TEMP)를 제2 불휘발성 메모리 장치(330)에 기입할 수 있다. The temperature sensor (340) can detect the temperature of the storage device (300) and provide temperature information (TEMP) about the detected temperature to the storage controller (310). The storage controller (310) can be configured to control the operation of the second nonvolatile memory device (330) based on the temperature information (TEMP). For example, the second nonvolatile memory device (330) can adjust the number of rewrites for the second nonvolatile memory device (230) according to the temperature of the storage device (300). In an exemplary embodiment, the storage controller (310) can write the temperature information (TEMP) to the second nonvolatile memory device (330) when a sudden power-off occurs.

도 12는 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다. 도 12를 참조하면, 스토리지 시스템(40)은 호스트(41) 및 저장 장치(400)를 포함할 수 있다. 저장 장치(400)는 스토리지 컨트롤러(410), 제1 불휘발성 메모리 장치(420), 제2 불휘발성 메모리 장치(430), 및 전원 관리 회로(PMIC)를 포함할 수 있다. 호스트(41), 저장 장치(400), 제1 불휘발성 메모리 장치(420), 및 전원 관리 회로(PMIC)는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.FIG. 12 is a block diagram showing a storage system according to an embodiment of the present invention. Referring to FIG. 12, the storage system (40) may include a host (41) and a storage device (400). The storage device (400) may include a storage controller (410), a first nonvolatile memory device (420), a second nonvolatile memory device (430), and a power management circuit (PMIC). Since the host (41), the storage device (400), the first nonvolatile memory device (420), and the power management circuit (PMIC) have been described above, a detailed description thereof will be omitted.

도 12의 제2 불휘발성 메모리 장치(430)는 저장 장치(400)의 데이터 버퍼로서 사용될 수 있다. 예를 들어, 호스트(41)로부터 수신된 사용자 데이터(UD)는 제2 불휘발성 메모리 장치(430)에 저장되고, 제2 불휘발성 메모리 장치(430)에 저장된 사용자 데이터(UD)는 제1 불휘발성 메모리 장치(420)로 선택적으로 이동될 수 있다. 또는 제2 불휘발성 메모리 장치(430)는 제1 불휘발성 메모리 장치(420)로부터 읽은 사용자 데이터(UD)를 저장하고, 저장된 사용자 데이터(UD)를 호스트(41)로 제공하도록 구성될 수 있다.The second nonvolatile memory device (430) of FIG. 12 may be used as a data buffer of the storage device (400). For example, user data (UD) received from the host (41) may be stored in the second nonvolatile memory device (430), and the user data (UD) stored in the second nonvolatile memory device (430) may be selectively moved to the first nonvolatile memory device (420). Alternatively, the second nonvolatile memory device (430) may be configured to store user data (UD) read from the first nonvolatile memory device (420) and provide the stored user data (UD) to the host (41).

스토리지 컨트롤러(410)는 전원 관리 회로(PMIC)로부터의 SPO 신호에 응답하여, 제1 불휘발성 메모리 장치(420)에 대한 동작을 중단시키고, 제2 불휘발성 메모리 장치(430)로부터 제1 불휘발성 메모리 장치(420)로 제공될 사용자 데이터(UD)에 대한 SPO 플래그를 기입할 수 있다. 예시적인 실시 예에서, 제1 불휘발성 메모리 장치(420)로 제공될 사용자 데이터(UD)는 제1 불휘발성 메모리 장치(420)에 저장되지 않은 사용자 데이터 또는 제1 불휘발성 메모리 장치(420)에서 중단된 프로그램 동작에 대응하는 사용자 데이터를 가리킬 수 있다.The storage controller (410) may, in response to an SPO signal from a power management circuit (PMIC), suspend an operation for the first nonvolatile memory device (420) and write an SPO flag for user data (UD) to be provided from the second nonvolatile memory device (430) to the first nonvolatile memory device (420). In an exemplary embodiment, the user data (UD) to be provided to the first nonvolatile memory device (420) may refer to user data not stored in the first nonvolatile memory device (420) or user data corresponding to a program operation that has been suspended in the first nonvolatile memory device (420).

서든 파워 오프 이후에, 저장 장치(400)가 파워-업된 경우, 스토리지 컨트롤러(410)는 제2 불휘발성 메모리 장치(430)에 저장된 사용자 데이터(UD) 및 SPO 플래그를 기반으로 제2 불휘발성 메모리 장치(430)로부터 제1 불휘발성 메모리 장치(420)로 사용자 데이터(UD)를 마이그레이션시킬 수 있다.After a sudden power-off, when the storage device (400) is powered-up, the storage controller (410) can migrate the user data (UD) from the second nonvolatile memory device (430) to the first nonvolatile memory device (420) based on the user data (UD) stored in the second nonvolatile memory device (430) and the SPO flag.

상술된 바와 같이, 서든 파워 오프 발생시, 저장 장치(400)는 제1 불휘발성 메모리 장치(420)에 대한 동작을 중단시키고, 제1 불휘발성 메모리 장치(420)에 저장될 사용자 데이터(UD)에 대한 SPO 플래그를 제2 불휘발성 메모리 장치(430)에 기입할 수 있다. 즉, 서든 파워 오프 발생시, 저장 장치(400)는 제1 불휘발성 메모리 장치(420)에 대한 동작을 완료할 필요 없이, 제2 불휘발성 메모리 장치(430)에 SPO 플래그만 기입하면 되기 때문에, 저장 장치(400)는 감소된 보조 전원을 사용하여 서든 파워 오프 상황에 대응할 수 있다. As described above, when a sudden power-off occurs, the storage device (400) can stop the operation for the first nonvolatile memory device (420) and write an SPO flag for the user data (UD) to be stored in the first nonvolatile memory device (420) to the second nonvolatile memory device (430). That is, when a sudden power-off occurs, the storage device (400) only needs to write an SPO flag to the second nonvolatile memory device (430) without having to complete the operation for the first nonvolatile memory device (420), so that the storage device (400) can respond to a sudden power-off situation using a reduced auxiliary power supply.

도 13은 도 12의 저장 장치의 동작을 보여주는 순서도이다. 도 14a 내지 도 14c는 도 13의 순서도에 따른 동작을 설명하기 위한 도면들이다. 도 12, 도 13, 도 14a, 도 14b, 및 도 14c를 참조하면, 저장 장치(400)는 S405 단계 및 S410 단계의 동작들을 수행할 수 있다. S405 단계 및 S410 단계의 동작들은 도 4의 S110 단계 및 S120 단계의 동작들과 유사하므로, 이에 대한 상세한 설명은 생략된다.FIG. 13 is a flowchart showing the operation of the storage device of FIG. 12. FIGS. 14a to 14c are drawings for explaining the operation according to the flowchart of FIG. 13. Referring to FIGS. 12, 13, 14a, 14b, and 14c, the storage device (400) can perform the operations of steps S405 and S410. The operations of steps S405 and S410 are similar to the operations of steps S110 and S120 of FIG. 4, and therefore, a detailed description thereof is omitted.

S420 단계에서, 저장 장치(400)는 제1 불휘발성 메모리 장치(420)에서 중단된 동작이 프로그램 동작(PGM)인지 판별할 수 있다. 예를 들어, 도 14a에 도시된 바와 같이, 제2 불휘발성 메모리 장치(430)는 제1 내지 제3 사용자 데이터(UD1, UD2, UD3) 및 각각에 대응하는 제1 내지 제3 어드레스들(ADDR1, ADDR2, ADDR3)을 저장할 수 있다. 스토리지 컨트롤러(410)는 제2 불휘발성 메모리 장치(430)로부터 제1 내지 제3 사용자 데이터(UD1~UD3)를 읽고, 읽은 제1 내지 제3 사용자 데이터(UD1~UD3)를 제1 내지 제3 어드레스들(ADDR1~ADDR3)에 대응하는 제1 내지 제3 메모리 블록들(BLK1~BLK3)에 각각 프로그램할 수 있다. 도 14a에 도시된 저장 장치(400)의 실시 예는 제3 사용자 데이터(UD3)가 제3 메모리 블록(BLK3)에 프로그램 완료된 상태이고, 제1 및 제2 사용자 데이터(UD1, UD2)가 제1 및 제2 메모리 블록들(BLK1, BLK2)에 프로그램 중인 상태를 보여준다. At step S420, the storage device (400) can determine whether the interrupted operation in the first nonvolatile memory device (420) is a program operation (PGM). For example, as illustrated in FIG. 14a, the second nonvolatile memory device (430) can store first to third user data (UD1, UD2, UD3) and first to third addresses (ADDR1, ADDR2, ADDR3) corresponding thereto, respectively. The storage controller (410) can read the first to third user data (UD1 to UD3) from the second nonvolatile memory device (430) and program the read first to third user data (UD1 to UD3) into first to third memory blocks (BLK1 to BLK3) corresponding to the first to third addresses (ADDR1 to ADDR3), respectively. The embodiment of the storage device (400) illustrated in FIG. 14a shows a state in which the third user data (UD3) is programmed in the third memory block (BLK3), and the first and second user data (UD1, UD2) are being programmed in the first and second memory blocks (BLK1, BLK2).

예시적인 실시 예에서, 스토리지 컨트롤러(410)의 ECC 엔진(413)은 제2 불휘발성 메모리 장치(430)로부터 읽어진 사용자 데이터에 대한 에러를 정정할 수 있고, 에러가 정정된 사용자 데이터가 제1 불휘발성 메모리 장치(420)에 프로그램될 수 있다. In an exemplary embodiment, the ECC engine (413) of the storage controller (410) can correct errors in user data read from the second nonvolatile memory device (430), and the error-corrected user data can be programmed into the first nonvolatile memory device (420).

도 14a에 도시된 저장 장치(400)의 실시 예에서, 서든 파워 오프가 발생한 경우, 스토리지 컨트롤러(410)는 제1 불휘발성 메모리 장치(420)에서 중단된 동작이 프로그램 동작인 것으로 판별할 수 있다. In the embodiment of the storage device (400) illustrated in FIG. 14a, when a sudden power-off occurs, the storage controller (410) can determine that the interrupted operation in the first nonvolatile memory device (420) is a program operation.

중단된 동작이 프로그램 동작인 경우, S425 단계에서, 저장 장치(400)는 제1 불휘발성 메모리 장치(420)에 프로그램될 데이터에 대한 ECC 동작이 완료되었는지 판별할 수 있다. 예를 들어, 도 14a에 도시된 바와 같이, 스토리지 컨트롤러(410)는 제2 불휘발성 메모리 장치(420)로부터 제1 사용자 데이터(UD1)를 읽고, 읽은 제1 사용자 데이터에 대한 ECC 동작을 수행하여, 에러가 정정된 제1 사용자 데이터(UD1')를 제1 불휘발성 메모리 장치(420)로 제공할 수 있다. 제1 불휘발성 메모리 장치(420)는 에러가 정정된 제1 사용자 데이터(UD1')를 제1 메모리 블록(BLK1)에 프로그램할 수 있다. 이 때, 서든 파워 오프가 발생할 수 있다.If the interrupted operation is a program operation, at step S425, the storage device (400) can determine whether the ECC operation for data to be programmed into the first nonvolatile memory device (420) is completed. For example, as illustrated in FIG. 14a, the storage controller (410) can read the first user data (UD1) from the second nonvolatile memory device (420), perform an ECC operation on the read first user data, and provide the first user data (UD1') with the corrected error to the first nonvolatile memory device (420). The first nonvolatile memory device (420) can program the first user data (UD1') with the corrected error into the first memory block (BLK1). At this time, a sudden power-off may occur.

즉, 제1 사용자 데이터(UD1)에 대한 ECC 동작이 완료되고, 에러가 정정된 제1 사용자 데이터(UD1')가 제1 불휘발성 메모리 장치(420)에 프로그램 중인 도중에 서든 파워 오프가 발생한 경우(다시 말해서, S425 단계의 결과가 "Yes"인 경우), S430 단계에서, 저장 장치(400)는 프로그램 중인 사용자 데이터를 제2 불휘발성 메모리 장치(430)로 재기입할 수 있다. That is, if a sudden power-off occurs while the ECC operation on the first user data (UD1) is completed and the first user data (UD1') with the error corrected is being programmed to the first nonvolatile memory device (420) (in other words, if the result of step S425 is "Yes"), then in step S430, the storage device (400) can rewrite the user data being programmed to the second nonvolatile memory device (430).

예를 들어, 도 14b에 도시된 바와 같이, 저장 장치(400)는 에러가 정정된 제1 사용자 데이터(UD1')를 제2 불휘발성 메모리 장치(430)에 기입할 수 있다. 예시적인 실시 예에서, 스토리지 컨트롤러(410)는 에러가 정정된 제1 사용자 데이터(UD1')를 제2 불휘발성 메모리 장치(430)의 제1 사용자 데이터(UD1)가 저장된 영역 또는 별도의 영역에 재기입할 수 있다. 즉, 에러가 정정된 제1 사용자 데이터(UD1')가 제2 불휘발성 메모리 장치(430)에 재기입됨으로써, 제1 사용자 데이터에 대한 신뢰성이 향상될 수 있다. For example, as illustrated in FIG. 14b, the storage device (400) may write the first user data (UD1') whose error has been corrected into the second nonvolatile memory device (430). In an exemplary embodiment, the storage controller (410) may rewrite the first user data (UD1') whose error has been corrected into the area where the first user data (UD1) is stored or a separate area of the second nonvolatile memory device (430). That is, since the first user data (UD1') whose error has been corrected is rewritten into the second nonvolatile memory device (430), the reliability of the first user data may be improved.

S425 단계의 결과가 "No"인 경우, 저장 장치(400)는 별도의 데이터 기입 동작을 수행하지 않을 수 있다. 예를 들어, 도 14a 및 도 14b에 도시된 바와 같이, 서든 파워 오프가 발생한 시점에서, 스토리지 컨트롤러(410)는 제2 사용자 데이터(UD2)에 대한 ECC 동작을 완료하지 않은 상태(즉, 제2 불휘발성 메모리 장치(430)로부터 제2 사용자 데이터(UD2)를 독출하는 상태)일 수 있다. 이 경우, 제2 사용자 데이터(UD2)는 제2 불휘발성 메모리 장치(430)에 저장되어 있으므로, 별도의 재기입 동작을 수행하지 않을 수 있다.If the result of step S425 is “No”, the storage device (400) may not perform a separate data write operation. For example, as illustrated in FIGS. 14a and 14b, at the time when sudden power-off occurs, the storage controller (410) may not have completed the ECC operation for the second user data (UD2) (i.e., the second user data (UD2) is read from the second nonvolatile memory device (430). In this case, since the second user data (UD2) is stored in the second nonvolatile memory device (430), a separate rewrite operation may not be performed.

이후에, S435 단계에서, 저장 장치(400)는 제2 불휘발성 메모리 장치(420)에 SPO 플래그를 기입할 수 있다. 예를 들어, 도 14b에 도시된 바와 같이, 스토리지 컨트롤러(410)는 제1 불휘발성 메모리 장치(420)에서 중단된 프로그램 동작에 대응하는 사용자 데이터(UD1, UD2)에 대하여 SPO 플래그를 기입할 수 있다. Thereafter, at step S435, the storage device (400) may write an SPO flag to the second nonvolatile memory device (420). For example, as illustrated in FIG. 14b, the storage controller (410) may write an SPO flag to user data (UD1, UD2) corresponding to a program operation that was interrupted in the first nonvolatile memory device (420).

S440 단계에서, 저장 장치(400)가 파워-업될 수 있다.At step S440, the storage device (400) can be powered up.

S445 단계에서, 저장 장치(400)는 제2 불휘발성 메모리 장치(430)로부터 SPO 플래그를 스캔할 수 있다. 예를 들어, 저장 장치(400)는 파워-업에 따른 초기화 동작에서, 제2 불휘발성 메모리 장치(430)에 저장된 SPO 플래그를 읽을 수 있다. 저장 장치(400)는 제2 불휘발성 메모리 장치(430)로부터 읽어진 SPO 플래그를 기반으로 제1 불휘발성 메모리 장치(420)에 저장되지 않은 사용자 데이터(예를 들어, UD1', UD2)를 인지할 수 있다.At step S445, the storage device (400) can scan the SPO flag from the second nonvolatile memory device (430). For example, the storage device (400) can read the SPO flag stored in the second nonvolatile memory device (430) in an initialization operation following power-up. The storage device (400) can recognize user data (e.g., UD1', UD2) that is not stored in the first nonvolatile memory device (420) based on the SPO flag read from the second nonvolatile memory device (430).

S450 단계에서, 저장 장치(400)는 스캔한 SPO 플래그를 기반으로, 사용자 데이터를 제2 불휘발성 메모리 장치(430)로부터 제1 불휘발성 메모리 장치(420)로 마이그레이션시킬 수 있다. 예를 들어, 도 14c에 도시된 바와 같이, 제2 불휘발성 메모리 장치(430)는 제1 사용자 데이터(UD1') 및 제2 사용자 데이터(UD2)에 대한 SPO 플래그를 포함할 수 있다. 스토리지 컨트롤러(410)는 SPO 플래그가 기입된 제1 사용자 데이터(UD1') 및 제2 사용자 데이터(UD2)를 읽고, 읽은 제1 사용자 데이터(UD1') 및 제2 사용자 데이터(UD2)에 대한 에러 정정 동작(ECC 엔진(413)에 의해 수행됨.)을 수행할 수 있다. 에러가 정정된 제1 및 제2 사용자 데이터(UD1', UD2')는 제5 및 제6 메모리 블록들(BLK5, BLK6)에 각각 기입될 수 있다.At step S450, the storage device (400) may migrate user data from the second nonvolatile memory device (430) to the first nonvolatile memory device (420) based on the scanned SPO flag. For example, as illustrated in FIG. 14c, the second nonvolatile memory device (430) may include SPO flags for the first user data (UD1') and the second user data (UD2). The storage controller (410) may read the first user data (UD1') and the second user data (UD2) in which the SPO flags are written, and perform an error correction operation (performed by the ECC engine (413)) on the read first user data (UD1') and the second user data (UD2). The first and second user data (UD1', UD2') in which the errors are corrected may be written to the fifth and sixth memory blocks (BLK5, BLK6), respectively.

예시적인 실시 예에서, 서든 파워 오프 이전에, 제1 및 제2 사용자 데이터(UD1, UD2)는 제1 및 제2 메모리 블록들(BLK1, BLK2)에 기입되는 사용자 데이터이나, 서든 파워 오프로 인하여, 제1 및 제2 메모리 블록들(BLK1, BLK2)에 대한 프로그램 동작이 중단됨에 따라, 제1 및 제2 메모리 블록들(BLK1, BLK2)은 무효 블록으로 처리될 수 있다. 이와 같은 무효 블록 처리 동작은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 이에 따라, 스토리지 컨트롤러(110)는 무효 블록으로 처리된 제1 및 제2 메모리 블록들(BLK1, BLK2) 대신에 다른 메모리 블록들(예를 들어, BLK5, BLK6)에 제1 및 제2 사용자 데이터(UD1', UD2)를 프로그램할 수 있다. 예시적인 실시 예에서, 제1 및 제2 사용자 데이터(UD1', UD2)가 다른 메모리 블록들(예를 들어, BLK5, BLK6)에 프로그램됨에 따라, 제1 및 제2 사용자 데이터(UD1', UD2)에 대한 맵핑 정보가 갱신될 수 있다. 예시적인 실시 예에서, 맵핑 정보는 스토리지 컨트롤러(410)에 의해 관리되거나 또는 제1 및 제2 사용자 데이터(UD1', UD2)와 함께 제2 불휘발성 메모리 장치(430)에 저장될 수 있다.In an exemplary embodiment, before the sudden power-off, the first and second user data (UD1, UD2) are user data written to the first and second memory blocks (BLK1, BLK2). However, due to the sudden power-off, the program operation for the first and second memory blocks (BLK1, BLK2) is interrupted, and thus the first and second memory blocks (BLK1, BLK2) may be processed as invalid blocks. Since this invalid block processing operation has been described above, a detailed description thereof is omitted. Accordingly, the storage controller (110) may program the first and second user data (UD1', UD2) to other memory blocks (e.g., BLK5, BLK6) instead of the first and second memory blocks (BLK1, BLK2) processed as invalid blocks. In an exemplary embodiment, as the first and second user data (UD1', UD2) are programmed into different memory blocks (e.g., BLK5, BLK6), mapping information for the first and second user data (UD1', UD2) may be updated. In an exemplary embodiment, the mapping information may be managed by the storage controller (410) or stored in the second nonvolatile memory device (430) together with the first and second user data (UD1', UD2).

상술된 바와 같이, 제2 불휘발성 메모리 장치(430)가 저장 장치(400)의 데이터 버퍼로서 사용되는 경우, 저장 장치(400)는, 서든 파워 오프 발생시, 제1 불휘발성 메모리 장치(420)에 대한 동작을 중단시키고, 제2 불휘발성 메모리 장치(430)에 저장된 사용자 데이터 중 제1 불휘발성 메모리 장치(420)에 저장되지 않은 사용자 데이터에 대한 SPO 플래그를 기입할 수 있다. 이후에 저장 장치(400)가 파워-업된 경우, 저장 장치(400)는 제2 불휘발성 메모리 장치(430)의 SPO 플래그를 스캔하고, 스캔된 결과를 기반으로 제2 불휘발성 메모리 장치(430)로부터 제1 불휘발성 메모리 장치(420)로 사용자 데이터를 마이그레이션할 수 있다. As described above, when the second nonvolatile memory device (430) is used as a data buffer of the storage device (400), when a sudden power-off occurs, the storage device (400) can stop the operation for the first nonvolatile memory device (420) and write an SPO flag for user data stored in the second nonvolatile memory device (430) that is not stored in the first nonvolatile memory device (420). When the storage device (400) is powered-up thereafter, the storage device (400) can scan the SPO flag of the second nonvolatile memory device (430) and migrate the user data from the second nonvolatile memory device (430) to the first nonvolatile memory device (420) based on the scanned result.

도 15는 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다. 도 15를 참조하면, 스토리지 시스템(50)은 호스트(51) 및 저장 장치(500)를 포함할 수 있다. 저장 장치(500)는 스토리지 컨트롤러(510), 제1 불휘발성 메모리 장치(520), 제2 불휘발성 메모리 장치(530), 및 전원 관리 회로(PMIC)를 포함할 수 있다. 호스트(51), 저장 장치(500), 스토리지 컨트롤러(510), 제1 불휘발성 메모리 장치(520), 및 전원 관리 회로(PMIC)는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.FIG. 15 is a block diagram showing a storage system according to an embodiment of the present invention. Referring to FIG. 15, the storage system (50) may include a host (51) and a storage device (500). The storage device (500) may include a storage controller (510), a first nonvolatile memory device (520), a second nonvolatile memory device (530), and a power management circuit (PMIC). Since the host (51), the storage device (500), the storage controller (510), the first nonvolatile memory device (520), and the power management circuit (PMIC) have been described above, a detailed description thereof will be omitted.

도 15의 제2 불휘발성 메모리 장치(530)는 도 12 내지 도 14c를 참조하여 설명된 바와 유사하게, 저장 장치(500)의 데이터 버퍼로서 사용될 수 있다. 즉, 제2 불휘발성 메모리 장치(530)는 제1 불휘발성 메모리 장치(520)에 프로그램될 사용자 데이터(UD) 또는 제1 불휘발성 메모리 장치(520)로부터 읽은 사용자 데이터(UD)를 저장하도록 구성될 수 있다. 이와 함께, 도 15의 제2 불휘발성 메모리 장치(530)는 도 1 내지 도 11을 참조하여 설명된 바와 같이, 제1 불휘발성 메모리 장치(520)에 대한 중단 정보(SPI) 또는 동작 정보(operation information)를 저장하도록 구성될 수 있다. 즉, 제2 불휘발성 메모리 장치(530)는 저장 장치(500)의 데이터 버퍼 및 관리 버퍼로서 사용될 수 있다. The second nonvolatile memory device (530) of FIG. 15 may be used as a data buffer of the storage device (500), similarly to what has been described with reference to FIGS. 12 to 14c. That is, the second nonvolatile memory device (530) may be configured to store user data (UD) to be programmed into the first nonvolatile memory device (520) or user data (UD) read from the first nonvolatile memory device (520). In addition, the second nonvolatile memory device (530) of FIG. 15 may be configured to store interruption information (SPI) or operation information for the first nonvolatile memory device (520), as has been described with reference to FIGS. 1 to 11. That is, the second nonvolatile memory device (530) may be used as a data buffer and a management buffer of the storage device (500).

이 경우, 저장 장치(500)는 도 1 내지 도 11을 참조하여 설명된 바와 같이, 서든 파워 오프시, 제1 불휘발성 메모리 장치(520)에서 수행 중인 동작을 중단시키고, 중단된 동작에 대한 정보를 중단 정보로서 제2 불휘발성 메모리 장치(530)에 기입할 수 있다. 또한, 저장 장치(500)는 도 12 내지 도 14c를 참조하여 설명된 바와 같이, 중단된 프로그램 동작에 대응하는 사용자 데이터에 SPO 플래그를 기입할 수 있다. In this case, the storage device (500) may, as described with reference to FIGS. 1 to 11, interrupt an operation being performed in the first nonvolatile memory device (520) when sudden power-off occurs, and write information about the interrupted operation as interruption information into the second nonvolatile memory device (530). In addition, the storage device (500) may, as described with reference to FIGS. 12 to 14c, write an SPO flag to user data corresponding to the interrupted program operation.

도 16은 본 발명의 실시 예에 따른 스토리지 시스템을 보여주는 블록도이다. 도 16을 참조하면, 스토리지 시스템(60)은 호스트(61) 및 저장 장치(600)를 포함할 수 있다. 저장 장치(600)는 스토리지 컨트롤러(610), 제1 불휘발성 메모리 장치(610), 제2 불휘발성 메모리 장치(640), 전원 관리 회로(PMIC), 및 DRAM 버퍼(640)를 포함할 수 있다. 호스트(61), 저장 장치(600), 스토리지 컨트롤러(610), 제1 불휘발성 메모리 장치(620), 제2 불휘발성 메모리 장치(630), 및 전원 관리 회로(PMIC)는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. FIG. 16 is a block diagram showing a storage system according to an embodiment of the present invention. Referring to FIG. 16, the storage system (60) may include a host (61) and a storage device (600). The storage device (600) may include a storage controller (610), a first nonvolatile memory device (610), a second nonvolatile memory device (640), a power management circuit (PMIC), and a DRAM buffer (640). Since the host (61), the storage device (600), the storage controller (610), the first nonvolatile memory device (620), the second nonvolatile memory device (630), and the power management circuit (PMIC) have been described above, a detailed description thereof will be omitted.

도 16의 저장 장치(600)는 DRAM 버퍼(640)를 포함할 수 있다. DRAM 버퍼(640)는 저장 장치(600)의 데이터 버퍼로서 사용될 수 있다. 즉, DRAM 버퍼(640)는 호스트(61)로부터 수신된 사용자 데이터 또는 제1 불휘발성 메모리 장치(620)로부터 읽은 사용자 데이터를 임시 저장하도록 구성될 수 있다. 또는 DRAM 버퍼(640)는 저장 장치(600)가 동작하는데 필요한 다양한 메타 정보(예를 들어, 맵핑 테이블, FTL 등)를 저장하도록 구성될 수 있다. The storage device (600) of FIG. 16 may include a DRAM buffer (640). The DRAM buffer (640) may be used as a data buffer of the storage device (600). That is, the DRAM buffer (640) may be configured to temporarily store user data received from the host (61) or user data read from the first nonvolatile memory device (620). Alternatively, the DRAM buffer (640) may be configured to store various meta information (e.g., a mapping table, FTL, etc.) required for the storage device (600) to operate.

예시적인 실시 예에서, 서든 파워 오프가 발생한 경우, 스토리지 컨트롤러(640)는 도 1 내지 도 11을 참조하여 설명된 방법을 기반으로, 제1 불휘발성 메모리 장치(620)의 동작을 중단시키고, 중단된 동작에 대한 중단 정보(SPI)를 제2 불휘발성 메모리 장치(640)에 기입할 수 있다. 이 때, 스토리지 컨트롤러(640)는 DRAM 버퍼(640)에 저장된 사용자 데이터 또는 메타 정보를 제2 불휘발성 메모리 장치(640)에 기입할 수 있다.In an exemplary embodiment, when a sudden power-off occurs, the storage controller (640) may suspend the operation of the first nonvolatile memory device (620) based on the method described with reference to FIGS. 1 to 11, and write suspend information (SPI) about the suspended operation to the second nonvolatile memory device (640). At this time, the storage controller (640) may write user data or meta information stored in the DRAM buffer (640) to the second nonvolatile memory device (640).

서든 파워 오프 이후에, 저장 장치(600)가 파워-업 된 경우, 저장 장치(600)는 도 1 내지 도 15를 참조하여 설명된 방법들에 따라, 제2 불휘발성 메모리 장치(640)에 저장된 정보를 기반으로 블록 관리 동작을 수행할 수 있다.After a sudden power-off, when the storage device (600) is powered-up, the storage device (600) can perform block management operations based on information stored in the second nonvolatile memory device (640) according to the methods described with reference to FIGS. 1 to 15.

도 17은 본 발명의 실시 예에 따른 스토리지 시스템을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 스토리지 시스템(1000)은 호스트(1100) 및 저장 장치(1200)를 포함할 수 있다. 저장 장치(1200)는 스토리지 컨트롤러(1210), 복수의 불휘발성 메모리 장치들(NVM), 복수의 불휘발성 메모리 제어기들(1221~122n), 복수의 불휘발성 램들(1231~123n), 전원 관리 회로(PMIC), 및 램 버퍼(1240)를 포함할 수 있다. FIG. 17 is a block diagram exemplarily showing a storage system according to an embodiment of the present invention. Referring to FIG. 17, a storage system (1000) may include a host (1100) and a storage device (1200). The storage device (1200) may include a storage controller (1210), a plurality of nonvolatile memory devices (NVM), a plurality of nonvolatile memory controllers (1221 to 122n), a plurality of nonvolatile RAMs (1231 to 123n), a power management circuit (PMIC), and a RAM buffer (1240).

스토리지 컨트롤러(1210)는 호스트(1100)의 제어에 따라 저장 장치(1200)의 제반 동작을 제어하도록 구성될 수 있다. 복수의 불휘발성 메모리 제어기들(이하에서, "NVM 제어기들"이라 칭함.)(1221~122n) 각각은 복수의 불휘발성 메모리들(NVM) 및 복수의 불휘발성 램들(1231~123n)을 각각 제어하도록 구성될 수 있다. 예시적인 실시 예에서, 스토리지 컨트롤러(1210)는 복수의 채널들을 통해 복수의 NVM 제어기들(1221~122n)과 각각 통신할 수 있다. The storage controller (1210) may be configured to control overall operations of the storage device (1200) under the control of the host (1100). Each of a plurality of nonvolatile memory controllers (hereinafter, referred to as “NVM controllers”) (1221 to 122n) may be configured to control a plurality of nonvolatile memories (NVMs) and a plurality of nonvolatile RAMs (1231 to 123n), respectively. In an exemplary embodiment, the storage controller (1210) may communicate with each of the plurality of NVM controllers (1221 to 122n) through a plurality of channels.

예시적인 실시 예에서, NVM 제어기들(1221~122n) 각각은 도 1 내지 도 16을 참조하여 설명된 동작 방법을 기반으로 복수의 불휘발성 메모리 장치들(NVM) 및 복수의 불휘발성 램들(1231~123n) 각각을 제어할 수 있다. 예를 들어, NVM 제어기들(1221~122n) 각각은 서든 파워 오프 발생시, 복수의 불휘발성 메모리 장치들(NVM)의 동작을 중단시키고, 중단 정보 또는 SPO 플래그를 복수의 불휘발성 램들(1231~123n)에 기입할 수 있다. 파워-업시, NVM 제어기들(1221~122n) 각각은 복수의 불휘발성 램들(1231~123n)로부터의 중단 정보 또는 SPO 플래그를 기반으로 블록 관리 동작 또는 데이터 마이그레이션 동작을 수행할 수 있다. In an exemplary embodiment, each of the NVM controllers (1221 to 122n) may control each of the plurality of nonvolatile memory devices (NVM) and each of the plurality of nonvolatile RAMs (1231 to 123n) based on the operating method described with reference to FIGS. 1 to 16. For example, each of the NVM controllers (1221 to 122n) may suspend the operation of the plurality of nonvolatile memory devices (NVM) when a sudden power-off occurs and write suspend information or an SPO flag to the plurality of nonvolatile RAMs (1231 to 123n). Upon power-up, each of the NVM controllers (1221 to 122n) may perform a block management operation or a data migration operation based on the suspend information or the SPO flag from the plurality of nonvolatile RAMs (1231 to 123n).

램 버퍼(1240)는 저장 장치(1200)가 동작하는데 필요한 다양한 정보를 저장하도록 구성될 수 있다. 또는 램 버퍼(1240)는 저장 장치(1200)의 데이터 버퍼로서 사용될 수 있다.The RAM buffer (1240) may be configured to store various information required for the storage device (1200) to operate. Alternatively, the RAM buffer (1240) may be used as a data buffer of the storage device (1200).

전원 관리 회로(PMIC)는 호스트(1100)로부터 전원을 기반으로, 저장 장치(1200)가 동작하는데 필요한 다양한 전원을 제공할 수 있다. 전원 관리 회로(PMIC)는 저장 장치(1200)에서 발생하는 서든 파워 오프를 감지할 수 있다. The power management circuit (PMIC) can provide various powers required for the storage device (1200) to operate based on power from the host (1100). The power management circuit (PMIC) can detect sudden power-off occurring in the storage device (1200).

상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.The above-described contents are specific embodiments for carrying out the present invention. The present invention will include not only the above-described embodiments, but also embodiments that can be simply designed or easily changed. In addition, the present invention will also include technologies that can be easily modified and implemented using the embodiments. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the claims described below as well as the equivalents of the claims of this invention.

Claims (20)

제1 불휘발성 메모리 장치, 제2 불휘발성 메모리 장치, 및 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하도록 구성된 스토리지 컨트롤러를 포함하는 저장 장치의 동작 방법에 있어서,
서든 파워 오프를 감지하는 단계;
상기 감지된 서든 파워 오프에 응답하여, 상기 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단하는 단계;
상기 중단된 동작에 대한 중단 정보를 상기 제2 불휘발성 메모리 장치에 기입하는 단계;
상기 서든 파워 오프 이후의 파워-업시, 상기 제2 불휘발성 메모리 장치에 기입된 상기 중단 정보를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 블록 관리 동작을 수행하는 단계를 포함하고,
상기 저장 장치는:
상기 제1 불휘발성 메모리 장치, 상기 제2 불휘발성 메모리 장치, 및 상기 스토리지 컨트롤러로 전원을 제공하고, 상기 제1 불휘발성 메모리 장치, 상기 제2 불휘발성 메모리 장치, 및 상기 스토리지 컨트롤러 중 적어도 하나에 대한 서든 파워 오프를 감지하고, 서든 파워 오프 신호를 상기 스토리지 컨트롤러에 제공하도록 구성된 전원 관리 회로를 더 포함하는 동작 방법.
A method of operating a storage device including a first nonvolatile memory device, a second nonvolatile memory device, and a storage controller configured to control the first and second nonvolatile memory devices,
Steps to detect sudden power off;
In response to the detected sudden power-off, a step of stopping an operation being performed in the first non-volatile memory device;
A step of writing interruption information for the interrupted operation into the second non-volatile memory device;
Including a step of performing a block management operation for the first nonvolatile memory device based on the interruption information written to the second nonvolatile memory device upon power-up after the sudden power-off;
The above storage device:
An operating method further comprising a power management circuit configured to provide power to the first nonvolatile memory device, the second nonvolatile memory device, and the storage controller, and to detect a sudden power-off for at least one of the first nonvolatile memory device, the second nonvolatile memory device, and the storage controller, and to provide a sudden power-off signal to the storage controller.
제 1 항에 있어서,
상기 중단 정보는 상기 중단된 동작에 대응하는 중단 커맨드 및 중단 어드레스를 포함하는 동작 방법.
In paragraph 1,
The above interruption information is an operation method including an interruption command and an interruption address corresponding to the interrupted operation.
제 2 항에 있어서,
상기 블록 관리 동작은 리맵핑 동작 및 가비지 콜렉션(GC; Garbage Collection) 우선 순위 조절 동작을 포함하고,
상기 중단 커맨드가 프로그램 커맨드인 경우, 상기 중단 어드레스에 대응하는 메모리 블록에 대한 상기 리맵핑 동작이 수행되고,
상기 중단 커맨드가 소거 커맨드인 경우, 상기 중단 어드레스에 대응하는 상기 메모리 블록에 대한 상기 GC 우선 순위 조절 동작이 수행되는 동작 방법.
In the second paragraph,
The above block management operations include remapping operations and garbage collection (GC) priority adjustment operations.
If the above interrupt command is a program command, the remapping operation for the memory block corresponding to the interrupt address is performed,
An operating method in which the GC priority adjustment operation for the memory block corresponding to the stop address is performed when the above-mentioned stop command is an erase command.
제 3 항에 있어서,
상기 리맵핑 동작은:
상기 중단 어드레스에 대응하는 상기 메모리 블록을 무효 블록으로 처리하는 동작;
상기 메모리 블록에 저장된 데이터를 다른 메모리 블록으로 마이그레이션하는 동작; 및
상기 마이그레이션된 데이터에 대응하는 논리 어드레스를 상기 다른 메모리 블록의 물리 어드레스와 매핑하는 동작을 포함하는 동작 방법.
In the third paragraph,
The above remapping operation:
An operation of processing the memory block corresponding to the above interrupt address as an invalid block;
An operation of migrating data stored in the above memory block to another memory block; and
An operating method including an operation of mapping a logical address corresponding to the migrated data with a physical address of the other memory block.
제 3 항에 있어서,
상기 GC 우선 순위 조절 동작은 상기 중단 어드레스에 대응하는 상기 메모리 블록의 GC 우선 순위를 증가시키는 동작을 포함하고,
상기 저장 장치의 상기 동작 방법은:
상기 GC 우선 순위를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 가비지 콜렉션 동작을 수행하는 단계를 더 포함하는 동작 방법.
In the third paragraph,
The above GC priority adjustment operation includes an operation of increasing the GC priority of the memory block corresponding to the stop address,
The above method of operation of the above storage device is:
An operating method further comprising the step of performing a garbage collection operation for the first non-volatile memory device based on the GC priority.
제 5 항에 있어서,
상기 메모리 블록의 상기 GC 우선 순위는 상기 메모리 블록의 프로그램 및 소거 사이클을 기반으로 더 조절되는 동작 방법.
In paragraph 5,
An operating method wherein the GC priority of the above memory block is further adjusted based on the program and erase cycles of the above memory block.
제 2 항에 있어서,
상기 제1 불휘발성 메모리 장치에 대한 소거 동작을 수행하는 단계를 더 포함하고,
상기 소거 동작의 대상이 되는 메모리 블록이 상기 중단 어드레스와 대응되는 경우, 선 검증-후 소거 방식을 기반으로 상기 메모리 블록이 소거되고,
상기 소거 동작의 대상이 되는 상기 메모리 블록이 상기 중단 어드레스와 대응하지 않는 경우, 일반 소거 방식을 기반으로 상기 메모리 블록이 소거되는 동작 방법.
In the second paragraph,
Further comprising a step of performing an erase operation on the first nonvolatile memory device,
If the memory block that is the target of the above erase operation corresponds to the above interrupt address, the memory block is erased based on the pre-verify-then-erase method,
An operation method in which the memory block that is the target of the above erase operation does not correspond to the above interrupt address, wherein the memory block is erased based on a general erase method.
제 1 항에 있어서,
상기 서든 파워 오프는 상기 제1 불휘발성 메모리 장치에 대한 서든 파워 오프인 동작 방법.
In paragraph 1,
The above sudden power-off is a method of operation for the first non-volatile memory device.
제 1 항에 있어서,
상기 제2 불휘발성 메모리 장치의 동작 속도는 상기 제1 불휘발성 메모리 장치의 동작 속도보다 빠른 동작 방법.
In paragraph 1,
An operating method wherein the operating speed of the second nonvolatile memory device is faster than the operating speed of the first nonvolatile memory device.
제 1 항에 있어서,
상기 제1 불휘발성 메모리 장치는 낸드 플래시 메모리 장치이고, 상기 제2 불휘발성 메모리 장치는 MRAM(Magnetic Random Access Memory) 장치인 동작 방법.
In paragraph 1,
An operating method wherein the first nonvolatile memory device is a NAND flash memory device and the second nonvolatile memory device is an MRAM (Magnetic Random Access Memory) device.
저장 장치에 있어서,
사용자 데이터를 저장하도록 구성된 제1 불휘발성 메모리 장치;
상기 제1 불휘발성 메모리 장치의 동작에 대한 동작 정보를 저장하도록 구성된 제2 불휘발성 메모리 장치;
서든 파워 오프가 발생한 경우, 상기 제1 불휘발성 메모리 장치에서 수행 중인 동작을 중단시키고, 상기 제2 불휘발성 메모리 장치에 저장된 상기 동작 정보 중 상기 중단된 동작과 대응하는 동작 정보에 서든 파워 오프 플래그를 상기 제2 불휘발성 메모리 장치에 기입하고, 상기 서든 파워 오프 이후의 파워-업시, 상기 제2 불휘발성 메모리 장치에 기입된 상기 서든 파워 오프 플래그를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 블록 관리 동작을 수행하도록 구성된 스토리지 컨트롤러; 및
상기 제1 불휘발성 메모리 장치, 상기 제2 불휘발성 메모리 장치, 및 상기 스토리지 컨트롤러로 전원을 제공하고, 상기 제1 불휘발성 메모리 장치, 상기 제2 불휘발성 메모리 장치, 및 상기 스토리지 컨트롤러 중 적어도 하나에 대한 서든 파워 오프를 감지하고, 서든 파워 오프 신호를 상기 스토리지 컨트롤러에 제공하도록 구성된 전원 관리 회로를 포함하는 저장 장치.
In storage devices,
A first nonvolatile memory device configured to store user data;
A second nonvolatile memory device configured to store operation information regarding the operation of the first nonvolatile memory device;
A storage controller configured to, when a sudden power-off occurs, suspend an operation being performed in the first nonvolatile memory device, write a sudden power-off flag in operation information corresponding to the suspended operation among the operation information stored in the second nonvolatile memory device, and, when powering up after the sudden power-off, perform a block management operation for the first nonvolatile memory device based on the sudden power-off flag written in the second nonvolatile memory device; and
A storage device including a power management circuit configured to provide power to the first nonvolatile memory device, the second nonvolatile memory device, and the storage controller, and to detect a sudden power-off for at least one of the first nonvolatile memory device, the second nonvolatile memory device, and the storage controller, and to provide a sudden power-off signal to the storage controller.
제 11 항에 있어서,
상기 동작 정보는 상기 제1 불휘발성 메모리 장치의 동작에 대한 동작 커맨드 및 동작 어드레스를 포함하는 저장 장치.
In Article 11,
A storage device wherein the above operation information includes an operation command and an operation address for the operation of the first non-volatile memory device.
제 12 항에 있어서,
상기 블록 관리 동작은 리맵핑 동작 및 가비지 콜렉션(GC; Garbage Collection) 우선 순위 조절 동작을 포함하고,
상기 스토리지 컨트롤러는:
상기 서든 파워 오프 플래그와 대응되는 동작 커맨드가 프로그램 커맨드인 경우, 상기 제1 불휘발성 메모리 장치의 복수의 메모리 블록들 중 상기 동작 어드레스에 대응하는 메모리 블록에 대한 상기 리맵핑 동작을 수행하고,
상기 동작 커맨드가 소거 커맨드인 경우, 상기 동작 어드레스에 대응하는 상기 메모리 블록에 대한 상기 GC 우선 순위 조절 동작을 수행하는 저장 장치.
In Article 12,
The above block management operations include remapping operations and garbage collection (GC) priority adjustment operations.
The above storage controller:
If the operation command corresponding to the sudden power off flag is a program command, the remapping operation is performed on a memory block corresponding to the operation address among a plurality of memory blocks of the first nonvolatile memory device,
A storage device that performs the GC priority adjustment operation for the memory block corresponding to the operation address when the above operation command is an erase command.
제 13 항에 있어서,
상기 리맵핑 동작은:
상기 동작 어드레스에 대응하는 상기 메모리 블록을 무효 블록으로 처리하는 동작;
상기 메모리 블록에 저장된 데이터를 다른 메모리 블록으로 마이그레이션하는 동작; 및
상기 마이그레이션된 데이터와 대응되는 논리 어드레스를 상기 다른 메모리 블록의 물리 어드레스와 매핑하는 동작을 포함하는 저장 장치.
In Article 13,
The above remapping operation:
An operation of processing the memory block corresponding to the above operation address as an invalid block;
An operation of migrating data stored in the above memory block to another memory block; and
A storage device including an operation of mapping a logical address corresponding to the migrated data to a physical address of another memory block.
제 13 항에 있어서,
상기 GC 우선 순위 조절 동작은 상기 동작 어드레스에 대응하는 상기 메모리 블록의 GC 우선 순위를 증가시키는 동작을 포함하고,
상기 스토리지 컨트롤러는 상기 GC 우선 순위를 기반으로 상기 제1 불휘발성 메모리 장치에 대한 가비지 콜렉션 동작을 수행하도록 더 구성된 저장 장치.
In Article 13,
The above GC priority adjustment operation includes an operation of increasing the GC priority of the memory block corresponding to the operation address,
A storage device wherein the storage controller is further configured to perform a garbage collection operation for the first non-volatile memory device based on the GC priority.
제 11 항에 있어서,
상기 제2 불휘발성 메모리 장치의 동작 속도는 상기 제1 불휘발성 메모리 장치의 동작 속도보다 빠른 저장 장치.

In Article 11,
A storage device wherein the operating speed of the second nonvolatile memory device is faster than the operating speed of the first nonvolatile memory device.

삭제delete 삭제delete 삭제delete 삭제delete
KR1020180156245A 2018-08-21 2018-12-06 Storage device and operation method thereof Active KR102784807B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/394,506 US11112997B2 (en) 2018-08-21 2019-04-25 Storage device and operating method thereof
CN201910680939.XA CN110890113B (en) 2018-08-21 2019-07-25 Storage device and method of operating the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180097281 2018-08-21
KR1020180097281 2018-08-21

Publications (2)

Publication Number Publication Date
KR20200021861A KR20200021861A (en) 2020-03-02
KR102784807B1 true KR102784807B1 (en) 2025-03-24

Family

ID=69805674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156245A Active KR102784807B1 (en) 2018-08-21 2018-12-06 Storage device and operation method thereof

Country Status (1)

Country Link
KR (1) KR102784807B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021167411A1 (en) 2020-02-21 2021-08-26 주식회사 엘지에너지솔루션 Separator for electrochemical device and production method therefor
US11409470B2 (en) * 2020-06-22 2022-08-09 SK Hynix Inc. Memory system, memory controller, and method of operating memory system
KR20220075914A (en) 2020-11-30 2022-06-08 에스케이하이닉스 주식회사 Storage device and operating method thereof
KR20240003648A (en) 2022-07-01 2024-01-09 에스케이하이닉스 주식회사 Memory system and method of operating a memory controller included in the memory system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306446A1 (en) 2009-05-26 2010-12-02 Corrado Villa Method and devices for controlling power loss
US20110208898A1 (en) 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
US20150186042A1 (en) 2014-01-02 2015-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device, nonvolatile memory system including the same, and method of operating the same
US20170052734A1 (en) 2015-08-17 2017-02-23 Harman Becker Automotive Systems Gmbh Method and device for fail-safe erase of flash memory
US20170220274A1 (en) 2016-02-01 2017-08-03 SK Hynix Inc. Data storage device and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100909902B1 (en) * 2007-04-27 2009-07-30 삼성전자주식회사 Flash memory device and flash memory system
KR102707003B1 (en) * 2016-08-25 2024-09-19 에스케이하이닉스 주식회사 Memory system and operating method of the memory system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306446A1 (en) 2009-05-26 2010-12-02 Corrado Villa Method and devices for controlling power loss
US20110208898A1 (en) 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
US20150186042A1 (en) 2014-01-02 2015-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device, nonvolatile memory system including the same, and method of operating the same
US20170052734A1 (en) 2015-08-17 2017-02-23 Harman Becker Automotive Systems Gmbh Method and device for fail-safe erase of flash memory
US20170220274A1 (en) 2016-02-01 2017-08-03 SK Hynix Inc. Data storage device and operating method thereof

Also Published As

Publication number Publication date
KR20200021861A (en) 2020-03-02

Similar Documents

Publication Publication Date Title
CN110890113B (en) Storage device and method of operating the same
US11048589B2 (en) Preserving data upon a power shutdown
US10360156B2 (en) Data storage device using host memory and method of operating same
US11249911B2 (en) Storage device, memory system, and operating method for managing host-resident L2P map cache
US9507711B1 (en) Hierarchical FTL mapping optimized for workload
KR102784807B1 (en) Storage device and operation method thereof
US8949512B2 (en) Trim token journaling
KR20210108107A (en) Memory system and operating method thereof
US9063728B2 (en) Systems and methods for handling hibernation data
US11645007B2 (en) Memory device including plurality of buffer areas for supporting fast write and fast read and storage device including the same
US20090049234A1 (en) Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
WO2017152392A1 (en) Flash memory device refreshing method and apparatus
CN114327240B (en) Computer readable storage medium, data storage method and device for flash memory
US20250165392A1 (en) Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
US20250068336A1 (en) Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table update size
US9886399B2 (en) Storage control device, storage device, information processing system, and storage control method therefor
US11662944B2 (en) Method and apparatus for performing resuming management
KR102774554B1 (en) Operation method of controller
TWI754396B (en) Method and apparatus and computer program product for storing data in flash memory
EP3772063A1 (en) Memory device including plurality of buffer areas for supporting fast write and fast read and storage device including the same
EP3779704B1 (en) Storage device, memory system comprising the same, and operating method thereof
US20240143226A1 (en) Data storage device and method for managing a write buffer
US20240126473A1 (en) Data storage device and method for managing a write buffer
CN114664337A (en) Method and apparatus for adjusting write window size of flash memory device
CN118098328A (en) Storage device and operation method thereof for running background operation based on power status

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20181206

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20211206

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20181206

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241016

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250226

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250317

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250318

End annual number: 3

Start annual number: 1

PG1601 Publication of registration