KR102166924B1 - Method of operating storage device - Google Patents

Method of operating storage device Download PDF

Info

Publication number
KR102166924B1
KR102166924B1 KR1020130163613A KR20130163613A KR102166924B1 KR 102166924 B1 KR102166924 B1 KR 102166924B1 KR 1020130163613 A KR1020130163613 A KR 1020130163613A KR 20130163613 A KR20130163613 A KR 20130163613A KR 102166924 B1 KR102166924 B1 KR 102166924B1
Authority
KR
South Korea
Prior art keywords
block
memory device
valid pages
data
volatile memory
Prior art date
Application number
KR1020130163613A
Other languages
Korean (ko)
Other versions
KR20150075551A (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 KR1020130163613A priority Critical patent/KR102166924B1/en
Priority to US14/579,179 priority patent/US9772940B2/en
Publication of KR20150075551A publication Critical patent/KR20150075551A/en
Application granted granted Critical
Publication of KR102166924B1 publication Critical patent/KR102166924B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

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

Abstract

저장 장치의 구동 방법에서, 제1 휘발성 메모리 장치에 기초하여, 복수의 비휘발성 메모리 장치들에 대해 설정된 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다. 제1 휘발성 메모리 장치에 기초하여, 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다. 제1 래치부에 복사된 제1 유효 페이지들 및 제2 래치부에 복사된 제2 유효 페이지들을 복수의 비휘발성 메모리 장치들에 대해 설정된 제2 블록에 복사한다.In a method of driving a storage device, based on a first volatile memory device, first valid pages included in a first block set for a plurality of nonvolatile memory devices are copied to a first latch unit. Based on the first volatile memory device, second valid pages included in the first block are copied to the second latch unit. The first valid pages copied to the first latch unit and the second valid pages copied to the second latch unit are copied to a second block set for a plurality of nonvolatile memory devices.

Description

저장 장치의 구동 방법{METHOD OF OPERATING STORAGE DEVICE}How to drive a storage device {METHOD OF OPERATING STORAGE DEVICE}

본 발명은 저장 장치에 관한 것으로서, 더욱 상세하게는 휘발성 메모리 장치 및 비휘발성 메모리 장치를 포함하는 저장 장치의 구동 방법에 관한 것이다.The present invention relates to a storage device, and more particularly, to a volatile memory device and a method of driving a storage device including a nonvolatile memory device.

최근에는 메모리 장치를 이용하는 메모리 카드 및 솔리드 스테이트 드라이브(solid state drive; SSD)와 같은 데이터 저장 장치가 널리 사용되고 있다. 상기와 같은 데이터 저장 장치는 기계적인 구동부가 없어 안정성 및 내구성이 뛰어나며 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 상기와 같은 데이터 저장 장치는 비휘발성 메모리 장치 및 휘발성 메모리 장치를 포함할 수 있다. 상기 비휘발성 메모리 장치는 데이터를 저장하는 저장 매체로서 이용될 수 있으며, 상기 휘발성 메모리 장치는 데이터의 기입/독출 요청을 처리하는 버퍼, 즉 캐시로서 이용될 수 있다.Recently, data storage devices such as a memory card and a solid state drive (SSD) using a memory device are widely used. The data storage device as described above has advantages in that there is no mechanical driving unit, so that stability and durability are excellent, and information access speed is very fast and power consumption is low. Such a data storage device may include a nonvolatile memory device and a volatile memory device. The nonvolatile memory device may be used as a storage medium for storing data, and the volatile memory device may be used as a buffer that processes data write/read requests, that is, a cache.

본 발명의 일 목적은 가비지 컬렉션(garbage collection) 동작을 효과적으로 수행할 수 있는 저장 장치의 구동 방법을 제공하는 것이다.An object of the present invention is to provide a method of driving a storage device capable of effectively performing a garbage collection operation.

상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 휘발성 메모리 장치에 기초하여, 복수의 비휘발성 메모리 장치들에 대해 설정된 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다. 상기 제1 휘발성 메모리 장치에 기초하여, 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다. 상기 제1 래치부에 복사된 상기 제1 유효 페이지들 및 상기 제2 래치부에 복사된 상기 제2 유효 페이지들을 상기 복수의 비휘발성 메모리 장치들에 대해 설정된 제2 블록에 복사한다.In order to achieve the above object, in a method of driving a storage device according to embodiments of the present invention, a first block included in a first block set for a plurality of nonvolatile memory devices is based on a first volatile memory device. The valid pages are copied to the first latch unit. Based on the first volatile memory device, second valid pages included in the first block are copied to a second latch unit. The first valid pages copied to the first latch unit and the second valid pages copied to the second latch unit are copied to a second block set for the plurality of nonvolatile memory devices.

일 실시예에서, 상기 제1 유효 페이지들을 상기 제1 래치부에 복사하는데 있어서, 상기 제1 유효 페이지들에 저장된 제1 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다. 상기 제1 휘발성 메모리 장치에 축적된 상기 제1 데이터를 상기 제1 래치부에 저장할 수 있다.In an embodiment, when copying the first valid pages to the first latch unit, first data stored in the first valid pages may be accumulated in the first volatile memory device. The first data accumulated in the first volatile memory device may be stored in the first latch unit.

상기 제1 데이터는 적어도 하나의 제3 래치부를 경유하여 상기 제1 휘발성 메모리 장치에 축적될 수 있다.The first data may be accumulated in the first volatile memory device via at least one third latch unit.

상기 제2 유효 페이지들을 상기 제2 래치부에 복사하는데 있어서, 상기 제2 유효 페이지들에 저장된 제2 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다. 상기 제1 휘발성 메모리 장치에 축적된 상기 제2 데이터를 상기 제2 래치부에 저장할 수 있다.When copying the second valid pages to the second latch unit, second data stored in the second valid pages may be accumulated in the first volatile memory device. The second data accumulated in the first volatile memory device may be stored in the second latch unit.

상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하는데 있어서, 상기 제1 래치부에 저장된 상기 제1 데이터를 상기 제2 블록에 저장하는 제1 프로그램 동작을 수행할 수 있다. 상기 제2 래치부에 복사된 상기 제2 데이터를 상기 제2 블록에 저장하는 제2 프로그램 동작을 수행할 수 있다. 상기 제1 프로그램 동작이 완료되기 이전에 상기 제2 프로그램 동작이 시작될 수 있다.When copying the first and second valid pages to the second block, a first program operation of storing the first data stored in the first latch unit in the second block may be performed. A second program operation of storing the second data copied to the second latch unit in the second block may be performed. The second program operation may be started before the first program operation is completed.

상기 제1 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제1 비휘발성 메모리 장치에 포함되며, 상기 제2 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제2 비휘발성 메모리 장치에 포함될 수 있다.The first latch part may be included in a first nonvolatile memory device among the plurality of nonvolatile memory devices, and the second latch part may be included in a second nonvolatile memory device among the plurality of nonvolatile memory devices.

상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell; MLC)들이며, 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 하나의 데이터 비트를 저장하는 싱글 레벨 메모리 셀(single level memory cell; SLC)들일 수 있다.The plurality of first memory cells included in the first block are multi level memory cells (MLCs) storing a plurality of data bits, and a plurality of second memory cells included in the second block is one They may be single level memory cells (SLCs) that store bits of data.

일 실시예에서, 상기 제1 블록에 대한 소거 동작을 수행하는 단계, 및 상기 제2 블록에 복사된 상기 제1 및 제2 유효 페이지들을 제3 블록에 복사하는 단계를 더 포함할 수 있다.In an embodiment, the method may further include performing an erase operation on the first block, and copying the first and second valid pages copied to the second block to a third block.

일 실시예에서, 상기 제1 휘발성 메모리 장치에 기초하여, 상기 제1 블록에 포함된 제3 유효 페이지들을 제3 래치부에 복사하는 단계, 상기 제1 휘발성 메모리 장치에 기초하여, 상기 제1 블록에 포함된 제4 유효 페이지들을 제4 래치부에 복사하는 단계, 및 상기 제3 래치부에 복사된 상기 제3 유효 페이지들 및 상기 제4 래치부에 복사된 상기 제4 유효 페이지들을 상기 제2 블록에 복사하는 단계를 더 포함할 수 있다.In an embodiment, copying third valid pages included in the first block to a third latch unit based on the first volatile memory device, the first block based on the first volatile memory device Copying the fourth valid pages included in a fourth latch unit, and the third valid pages copied to the third latch unit and the fourth valid pages copied to the fourth latch unit to the second It may further include the step of copying the block.

일 실시예에서, 제2 휘발성 메모리 장치에 기초하여, 상기 제1 블록에 포함된 제3 유효 페이지들을 제3 래치부에 복사하는 단계, 상기 제2 휘발성 메모리 장치에 기초하여, 상기 제1 블록에 포함된 제4 유효 페이지들을 제4 래치부에 복사하는 단계, 및 상기 제3 래치부에 복사된 상기 제3 유효 페이지들 및 상기 제4 래치부에 복사된 상기 제4 유효 페이지들을 상기 제2 블록에 복사하는 단계를 더 포함할 수 있다.In an embodiment, the step of copying third valid pages included in the first block to a third latch unit based on a second volatile memory device, and in the first block based on the second volatile memory device Copying the included fourth valid pages to a fourth latch unit, and the third valid pages copied to the third latch unit and the fourth valid pages copied to the fourth latch unit to the second block It may further include the step of copying to.

상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 복수의 비휘발성 메모리 장치들에 대해 설정된 제1 블록에 포함된 제1 유효 페이지들을 제1 휘발성 메모리 장치 및 적어도 하나의 제1 래치부에 분리하여 복사한다. 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 휘발성 메모리 장치 및 적어도 하나의 제2 래치부에 분리하여 복사한다. 상기 제1 휘발성 메모리 장치와 상기 적어도 하나의 제1 래치부에 분리하여 복사된 상기 제1 유효 페이지들 및 상기 제2 휘발성 메모리 장치와 상기 적어도 하나의 제2 래치부에 분리하여 복사된 상기 제2 유효 페이지들을 상기 복수의 비휘발성 메모리 장치들에 대해 설정된 제2 블록에 복사한다.In order to achieve the above object, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block set for a plurality of nonvolatile memory devices are converted to a first volatile memory device and Separate and copy at least one first latch. The second valid pages included in the first block are separated and copied to a second volatile memory device and at least one second latch. The first valid pages separated and copied from the first volatile memory device and the at least one first latch part, and the second copied separately from the second volatile memory device and the at least one second latch part Effective pages are copied to a second block set for the plurality of nonvolatile memory devices.

일 실시예에서, 상기 제1 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제1 비트들에 상응하는 제1 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다. 상기 제1 휘발성 메모리 장치에 축적된 상기 제1 비트 데이터를 상기 적어도 하나의 제1 래치부에 저장할 수 있다. 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제2 비트들에 상응하는 제2 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다.In one embodiment, when copying the first valid pages by separating them, first bit data corresponding to the first bits of the first data stored in the first valid pages is accumulated in the first volatile memory device. can do. The first bit data accumulated in the first volatile memory device may be stored in the at least one first latch unit. Second bit data corresponding to second bits of the first data stored in the first valid pages may be accumulated in the first volatile memory device.

상기 제2 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제2 유효 페이지들에 저장된 상기 제2 데이터의 제1 비트들에 상응하는 제3 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적할 수 있다. 상기 제2 휘발성 메모리 장치에 축적된 상기 제3 비트 데이터를 상기 적어도 하나의 제2 래치부에 저장할 수 있다. 상기 제2 유효 페이지들에 저장된 제2 데이터의 제2 비트들에 상응하는 제4 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적할 수 있다.When the second valid pages are separated and copied, third bit data corresponding to first bits of the second data stored in the second valid pages may be accumulated in the second volatile memory device. The third bit data accumulated in the second volatile memory device may be stored in the at least one second latch unit. Fourth bit data corresponding to second bits of second data stored in the second valid pages may be accumulated in the second volatile memory device.

상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하는데 있어서, 상기 제1 및 제2 비트 데이터들에 기초하여 상기 제1 데이터를 상기 제2 블록에 저장하는 제1 프로그램 동작을 수행할 수 있다. 상기 제3 및 제4 비트 데이터들에 기초하여 상기 제2 데이터를 상기 제2 블록에 저장하는 제2 프로그램 동작을 수행할 수 있다. 상기 제1 프로그램 동작이 완료되기 이전에 상기 제2 프로그램 동작이 시작될 수 있다.In copying the first and second valid pages to the second block, a first program operation of storing the first data in the second block based on the first and second bit data may be performed. have. A second program operation of storing the second data in the second block may be performed based on the third and fourth bit data. The second program operation may be started before the first program operation is completed.

상기 복수의 비휘발성 메모리 장치들 각각은 복수의 워드 라인들이 수직으로 적층된 수직형 메모리 장치일 수 있다. 상기 제1 및 제2 블록들에 포함되는 복수의 메모리 셀들은 각각 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell; MLC)들일 수 있다.Each of the plurality of nonvolatile memory devices may be a vertical memory device in which a plurality of word lines are vertically stacked. The plurality of memory cells included in the first and second blocks may be multi level memory cells (MLCs) each storing a plurality of data bits.

상기와 같은 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 비휘발성 메모리 장치들이 온-칩 버퍼드 프로그램을 수행하도록 구현되는 경우에 비휘발성 메모리 장치들보다 적은 개수의 휘발성 메모리 장치 및 비휘발성 메모리 장치들 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행하며, 비휘발성 메모리 장치들이 수직형 메모리 장치들이고 HSP를 수행하도록 구현되는 경우에 비휘발성 메모리 장치들과 동일한 개수의 휘발성 메모리 장치들 및 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행할 수 있다. 따라서, 저장 장치의 성능이 향상되고 크기가 감소될 수 있다.In the method of driving a storage device according to the embodiments of the present invention as described above, when nonvolatile memory devices are implemented to perform an on-chip buffered program, there are fewer volatile memory devices and nonvolatile memory devices than nonvolatile memory devices. A garbage collection operation is performed using latch units inside the volatile memory devices, and when the nonvolatile memory devices are vertical memory devices and are implemented to perform HSP, the same number of volatile memory devices as the nonvolatile memory devices and Garbage collection may be performed using internal latch units. Accordingly, the performance and size of the storage device can be improved.

도 1은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.
도 2는 도 1의 방법에 따라 구동되는 저장 장치를 포함하는 컴퓨팅 시스템의 일 예를 나타내는 블록도이다.
도 3은 도 2의 저장 장치에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 4는 도 3의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 도면이다.
도 5a, 5b 및 5c는 도 1의 저장 장치의 구동 방법에 포함되는 단계들의 일 예를 나타내는 순서도들이다.
도 6a, 6b, 6c, 6d, 6e, 6f, 6g 및 6h는 도 1의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.
도 7a, 7b, 7c, 7d, 7e 및 7f는 도 1의 저장 장치의 구동 방법의 다른 예를 설명하기 위한 도면들이다.
도 8은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.
도 9a, 9b, 9c 및 9d는 도 8의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.
도 10은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.
도 11a, 11b, 11c 및 11d는 도 10의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.
도 12는 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.
도 13a, 13b, 13c 및 13d는 도 12의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.
도 14는 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.
도 15는 도 14의 방법에 따라 구동되는 저장 장치를 포함하는 컴퓨팅 시스템의 일 예를 나타내는 블록도이다.
도 16은 도 15의 저장 장치에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 17은 도 16의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 도면이다.
도 18a, 18b 및 18c는 도 14의 저장 장치의 구동 방법에 포함되는 단계들의 일 예를 나타내는 순서도들이다.
도 19a, 19b, 19c, 19d 및 19e는 도 14의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.
도 20a, 20b 및 20c는 도 14의 저장 장치의 구동 방법에 포함되는 단계들의 다른 예를 나타내는 순서도들이다.
도 21a, 21b, 21c, 21d 및 21e는 도 14의 저장 장치의 구동 방법의 다른 예를 설명하기 위한 도면들이다.
도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 구동 방법을 나타내는 순서도이다.
도 23은 본 발명의 실시예들에 따른 저장 장치가 메모리 카드에 응용된 예를 나타내는 도면이다.
도 24는 본 발명의 실시예들에 따른 저장 장치가 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.
도 25는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
1 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.
2 is a block diagram illustrating an example of a computing system including a storage device driven according to the method of FIG. 1.
3 is a block diagram illustrating an example of a nonvolatile memory device included in the storage device of FIG. 2.
4 is a diagram illustrating an example of a memory cell array included in the nonvolatile memory device of FIG. 3.
5A, 5B, and 5C are flowcharts illustrating an example of steps included in the method of driving the storage device of FIG. 1.
6A, 6B, 6C, 6D, 6e, 6f, 6g, and 6H are diagrams for explaining an example of a method of driving the storage device of FIG. 1.
7A, 7B, 7C, 7D, 7E, and 7F are diagrams for explaining another example of a method of driving the storage device of FIG. 1.
8 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.
9A, 9B, 9C, and 9D are diagrams for explaining an example of a method of driving the storage device of FIG. 8.
10 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.
11A, 11B, 11C, and 11D are diagrams for describing an example of a method of driving the storage device of FIG. 10.
12 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.
13A, 13B, 13C, and 13D are diagrams for explaining an example of a method of driving the storage device of FIG. 12.
14 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.
15 is a block diagram illustrating an example of a computing system including a storage device driven according to the method of FIG. 14.
16 is a block diagram illustrating an example of a nonvolatile memory device included in the storage device of FIG. 15.
17 is a diagram illustrating an example of a memory cell array included in the nonvolatile memory device of FIG. 16.
18A, 18B, and 18C are flowcharts illustrating an example of steps included in the method of driving the storage device of FIG. 14.
19A, 19B, 19C, 19D, and 19E are diagrams for describing an example of a method of driving the storage device of FIG. 14.
20A, 20B, and 20C are flowcharts illustrating another example of steps included in the method of driving the storage device of FIG. 14.
21A, 21B, 21C, 21D, and 21E are diagrams for explaining another example of a method of driving the storage device of FIG. 14.
22 is a flowchart illustrating a method of driving a nonvolatile memory device according to example embodiments.
23 is a diagram illustrating an example in which a storage device according to embodiments of the present invention is applied to a memory card.
24 is a diagram illustrating an example in which a storage device according to embodiments of the present invention is applied to a solid state drive.
25 is a block diagram illustrating a computing system according to embodiments of the present invention.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.With respect to the embodiments of the present invention disclosed in the text, specific structural or functional descriptions have been exemplified only for the purpose of describing the embodiments of the present invention, and the embodiments of the present invention may be implemented in various forms. It should not be construed as being limited to the embodiments described in.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various changes and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific form of disclosure, it is to be understood as including all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "just between" or "adjacent to" and "directly adjacent to" should be interpreted as well.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of a set feature, number, step, action, component, part, or combination thereof, and one or more other features or numbers It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. .

한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.Meanwhile, when a certain embodiment can be implemented differently, a function or operation specified in a specific block may occur differently from the order specified in the flowchart. For example, two consecutive blocks may actually be executed at the same time, or the blocks may be executed in reverse depending on a related function or operation.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. The same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

도 1은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.1 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.

도 1에 도시된 저장 장치의 구동 방법은, 적어도 하나의 휘발성 메모리 장치 및 복수의 비휘발성 메모리 장치들을 포함하는 저장 장치를 구동하기 위하여 이용될 수 있으며, 특히 상기 저장 장치 내에서 사용할 수 없게 된 저장 영역을 사용 가능하도록 전환하는 가비지 컬렉션(garbage collection) 동작을 수행하기 위하여 이용될 수 있다. 예를 들어 도 23 및 24를 참조하여 후술하는 바와 같이, 상기 저장 장치는 메모리 카드, 솔리드 스테이트 드라이브(solid state drive; SSD) 등과 같은 임의의 저장 장치일 수 있다.The method of driving the storage device shown in FIG. 1 may be used to drive a storage device including at least one volatile memory device and a plurality of nonvolatile memory devices, and in particular, a storage device that cannot be used in the storage device. It can be used to perform a garbage collection operation that converts the area to be usable. For example, as described later with reference to FIGS. 23 and 24, the storage device may be any storage device such as a memory card, a solid state drive (SSD), or the like.

도 1을 참조하면, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 휘발성 메모리 장치에 기초하여 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다(단계 S110). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다(단계 S120). 상기 제1 래치부에 복사된 상기 제1 유효 페이지들 및 상기 제2 래치부에 복사된 상기 제2 유효 페이지들을 제2 블록에 복사한다(단계 S150). 상기 제1 블록 및 상기 제2 블록은 복수의 비휘발성 메모리 장치들에 대해 설정된다. 예를 들어, 상기 제1 블록은 상기 가비지 컬렉션 동작을 위한 소스(source) 블록이고, 상기 제2 블록은 상기 가비지 컬렉션 동작을 위한 목적(destination) 블록일 수 있다.Referring to FIG. 1, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block are copied to a first latch unit based on a first volatile memory device (step S110). ). The second valid pages included in the first block are copied to the second latch unit based on the first volatile memory device (step S120). The first valid pages copied to the first latch unit and the second valid pages copied to the second latch unit are copied to a second block (step S150). The first block and the second block are set for a plurality of nonvolatile memory devices. For example, the first block may be a source block for the garbage collection operation, and the second block may be a destination block for the garbage collection operation.

도 3을 참조하여 후술하는 바와 같이, 상기 복수의 비휘발성 메모리 장치들 각각은 적어도 하나의 래치부를 포함하여 구현될 수 있다. 일 실시예에서, 상기 제1 및 제2 래치부들은 서로 다른 비휘발성 메모리 장치에 포함될 수 있다. 예를 들어, 상기 제1 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제1 비휘발성 메모리 장치에 포함되며, 상기 제2 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제2 비휘발성 메모리 장치에 포함될 수 있다.As will be described later with reference to FIG. 3, each of the plurality of nonvolatile memory devices may include at least one latch unit. In an embodiment, the first and second latch units may be included in different nonvolatile memory devices. For example, the first latch unit is included in a first nonvolatile memory device among the plurality of nonvolatile memory devices, and the second latch unit is included in a second nonvolatile memory device among the plurality of nonvolatile memory devices. I can.

또한, 도 3을 참조하여 후술하는 바와 같이, 상기 복수의 비휘발성 메모리 장치들 각각에 포함되는 메모리 셀 어레이는 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell; MLC)들 및 하나의 데이터 비트를 저장하는 싱글 레벨 메모리 셀(single level memory cell; SLC)들을 포함하여 구현될 수 있다. 이 경우, 상기 복수의 비휘발성 메모리 장치들 각각은 SLC들을 경유하여 MLC들에 데이터를 저장하는 온-칩 버퍼드(on-chip buffered) 프로그램을 수행하도록 구현될 수 있다. 일 실시예에서, 상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 상기 MLC들이며, 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 상기 SLC들일 수 있다.In addition, as will be described later with reference to FIG. 3, the memory cell array included in each of the plurality of nonvolatile memory devices includes multi level memory cells (MLCs) storing a plurality of data bits and one memory cell array. It may be implemented by including single level memory cells (SLCs) that store the data bits of. In this case, each of the plurality of nonvolatile memory devices may be implemented to perform an on-chip buffered program that stores data in MLCs via SLCs. In an embodiment, a plurality of first memory cells included in the first block may be the MLCs, and a plurality of second memory cells included in the second block may be the SLCs.

도 6a 내지 6h를 참조하여 후술하는 바와 같이, 단계 S110이 완료된 이후에 단계 S120이 수행될 수 있으며, 단계 S110 및 S120이 완료된 이후에 단계 S150이 수행될 수 있다.As will be described later with reference to FIGS. 6A to 6H, step S120 may be performed after step S110 is completed, and step S150 may be performed after steps S110 and S120 are completed.

본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 비휘발성 메모리 장치들보다 적은 개수의 휘발성 메모리 장치를 이용하여 가비지 컬렉션 동작을 효과적으로 수행한다. 예를 들어, 소스 블록에 포함된 복수의 유효 페이지들이 복수의 휘발성 메모리 장치들을 경유하여 목적 블록으로 복사되지 않으며, 상기 복수의 유효 페이지들이 상기 소스 블록에서 적어도 하나의 휘발성 메모리 장치를 경유하여 복수의 내부 래치부들로 순차적으로 복사된 이후에, 상기 복수의 유효 페이지들이 상기 복수의 내부 래치부들에서 상기 목적 블록으로 복사될 수 있다. 따라서 휘발성 메모리 장치의 사용량이 감소되어 저장 장치의 성능이 향상될 수 있으며, 휘발성 메모리 장치가 차지하는 면적이 감소되어 저장 장치의 크기가 감소될 수 있다.In a method of driving a storage device according to embodiments of the present invention, a garbage collection operation is effectively performed using fewer volatile memory devices than nonvolatile memory devices. For example, a plurality of valid pages included in a source block are not copied to a destination block via a plurality of volatile memory devices, and the plurality of valid pages are not copied from the source block to a plurality of valid pages via at least one volatile memory device. After being sequentially copied to the internal latch units, the plurality of valid pages may be copied from the plurality of internal latch units to the target block. Accordingly, the amount of use of the volatile memory device may be reduced, so that the performance of the storage device may be improved, and the area occupied by the volatile memory device may be reduced, so that the size of the storage device may be reduced.

도 2는 도 1의 방법에 따라 구동되는 저장 장치를 포함하는 컴퓨팅 시스템의 일 예를 나타내는 블록도이다.2 is a block diagram illustrating an example of a computing system including a storage device driven according to the method of FIG. 1.

도 2를 참조하면, 컴퓨팅 시스템(100a)은 호스트(110) 및 저장 장치(200)를 포함한다.Referring to FIG. 2, the computing system 100a includes a host 110 and a storage device 200.

호스트(110)는 특정 계산들 및/또는 태스크들을 수행하는 것과 같이 다양한 컴퓨팅 기능들을 수행하거나 운영 체제(operating system; OS) 및/또는 애플리케이션과 같은 다양한 응용 프로그램들을 실행할 수 있다. 도시하지는 않았으나, 호스트(110)는 프로세서, 메인 메모리 및 버스 등을 포함하여 구현될 수 있다.The host 110 may perform various computing functions, such as performing specific calculations and/or tasks, or may execute various application programs such as an operating system (OS) and/or application. Although not shown, the host 110 may be implemented including a processor, a main memory, and a bus.

저장 장치(200)는 컨트롤러(210), 적어도 하나의 휘발성 메모리 장치(220) 및 복수의 비휘발성 메모리 장치들(300)을 포함한다.The storage device 200 includes a controller 210, at least one volatile memory device 220, and a plurality of nonvolatile memory devices 300.

컨트롤러(210)는 호스트(110)로부터 커맨드를 수신하고, 상기 커맨드에 응답하여 저장 장치(200)의 동작을 제어할 수 있다. 한편, 컨트롤러(210)는 호스트(110)로부터 수신되는 커맨드와 무관하게 저장 장치(200)의 가비지 컬렉션 동작을 제어할 수 있다. 예를 들어, 복수의 비휘발성 메모리 장치들(300)에 포함되는 무효 페이지들의 개수가 기준 개수를 초과하는 경우에 또는 미리 정해진 기준 구동 시간이 경과한 이후에 상기 가비지 컬렉션 동작이 수행될 수 있다.The controller 210 may receive a command from the host 110 and control the operation of the storage device 200 in response to the command. Meanwhile, the controller 210 may control a garbage collection operation of the storage device 200 irrespective of a command received from the host 110. For example, the garbage collection operation may be performed when the number of invalid pages included in the plurality of nonvolatile memory devices 300 exceeds a reference number or after a predetermined reference driving time has elapsed.

적어도 하나의 휘발성 메모리 장치(220)는 호스트(110)로부터 제공된 데이터를 일시적으로 저장하는 기입 버퍼 및/또는 복수의 비휘발성 메모리 장치들(300)로부터 출력된 데이터를 일시적으로 저장하는 독출 캐시로 동작할 수 있다. 예를 들어, 휘발성 메모리 장치(220)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM) 또는 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM)를 포함할 수 있다. 도 2에는 휘발성 메모리 장치(220)가 컨트롤러(210)의 외부에 위치한 예가 도시되어 있으나, 실시예에 따라서 휘발성 메모리 장치(220)는 컨트롤러(210)의 내부에 위치할 수도 있다.At least one volatile memory device 220 acts as a write buffer temporarily storing data provided from the host 110 and/or a read cache temporarily storing data output from the plurality of nonvolatile memory devices 300 can do. For example, the volatile memory device 220 may include a dynamic random access memory (DRAM) or a static random access memory (SRAM). 2 illustrates an example in which the volatile memory device 220 is located outside the controller 210, the volatile memory device 220 may be located inside the controller 210 according to embodiments.

복수의 비휘발성 메모리 장치들(300)은 호스트(110)로부터 제공된 데이터를 저장하거나 저장된 데이터를 출력할 수 있다. 복수의 비휘발성 메모리 장치들(300)은 전원 공급이 차단되더라도 저장된 데이터를 유지할 수 있다. 예를 들어, 복수의 비휘발성 메모리 장치들(300) 각각은 플래시 메모리(Flash Memory), 상변화 랜덤 액세스 메모리(Phase change Random Access Memory; PRAM), 강유전체 랜덤 액세스 메모리(Ferroelectric Random Access Memory; FRAM), 저항 랜덤 액세스 메모리(Resistive Random Access Memory; RRAM), 또는 강자성 랜덤 액세스 메모리(Magnetic Random Access Memory; MRAM)를 포함할 수 있다.The plurality of nonvolatile memory devices 300 may store data provided from the host 110 or output stored data. The plurality of nonvolatile memory devices 300 may maintain stored data even when power supply is cut off. For example, each of the plurality of nonvolatile memory devices 300 includes a flash memory, a phase change random access memory (PRAM), and a ferroelectric random access memory (FRAM). , Resistive random access memory (RRAM), or ferromagnetic random access memory (MRAM).

도 3은 도 2의 저장 장치에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.3 is a block diagram illustrating an example of a nonvolatile memory device included in the storage device of FIG. 2.

도 3을 참조하면, 비휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 로우 디코더(320), 페이지 버퍼 회로(330), 래치 회로(340), 전압 발생기(350), 입출력 버퍼 회로(360) 및 제어 회로(370)를 포함한다.Referring to FIG. 3, the nonvolatile memory device 300 includes a memory cell array 310, a row decoder 320, a page buffer circuit 330, a latch circuit 340, a voltage generator 350, and an input/output buffer circuit ( 360) and a control circuit 370.

메모리 셀 어레이(310)는 복수의 워드 라인들 및 복수의 비트 라인들에 각각 연결되는 복수의 메모리 셀들을 포함할 수 있다. 도 4를 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들 각각은 NAND 플래시 메모리 셀일 수 있으며, 상기 복수의 메모리 셀들은 2차원 어레이(array) 구조로 배열될 수 있다. 한편, 도 17을 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들은 3차원 수직 어레이 구조로 배열될 수도 있다. 또한, 도시하지는 않았지만, 상기 복수의 메모리 셀들 각각은 NOR 플래시 메모리 셀일 수도 있다.The memory cell array 310 may include a plurality of memory cells respectively connected to a plurality of word lines and a plurality of bit lines. As will be described later with reference to FIG. 4, each of the plurality of memory cells may be a NAND flash memory cell, and the plurality of memory cells may be arranged in a two-dimensional array structure. Meanwhile, as will be described later with reference to FIG. 17, the plurality of memory cells may be arranged in a three-dimensional vertical array structure. Further, although not shown, each of the plurality of memory cells may be a NOR flash memory cell.

일 실시예에서, 메모리 셀 어레이(310)는 SLC들(312) 및 MLC들(314)을 포함하여 구현될 수 있다. 다시 말하면, 상기 복수의 메모리 셀들은 SLC들(312) 또는 MLC들(314)일 수 있다. 비휘발성 메모리 장치(300)는 온-칩 버퍼드 프로그램 방식에 기초하여 메모리 셀 어레이(310)에 기입 데이터를 프로그램할 수 있다.In one embodiment, the memory cell array 310 may be implemented including SLCs 312 and MLCs 314. In other words, the plurality of memory cells may be SLCs 312 or MLCs 314. The nonvolatile memory device 300 may program write data in the memory cell array 310 based on an on-chip buffered program method.

래치 회로(340)는 복수의 래치부들(342)을 포함할 수 있다. 일 실시예에서, 복수의 래치부들(342) 중 적어도 일부는 가비지 컬렉션 동작 시에 유효 페이지들에 저장된 데이터를 임시로 저장할 수 있다. 다른 실시예에서, 복수의 래치부들(342) 중 적어도 일부는 프로그램 동작 시에 MLC들(314)에 프로그램 될 기입 데이터의 비트들 중 하나를 임시로 저장할 수 있다. 또 다른 실시예에서, 복수의 래치부들(342) 중 적어도 일부는 독출 동작 시에 에러 정정 회로(미도시) 및/또는 펌웨어에 의해 수행되는 에러 정정 기능을 수행하는데 이용될 수 있다. 도 3에는 복수의 래치부들(342)이 페이지 버퍼 회로(330)의 외부에 위치한 예가 도시되어 있으나, 실시예에 따라서 복수의 래치부들(342)은 페이지 버퍼 회로(330)의 내부에 위치할 수도 있다.The latch circuit 340 may include a plurality of latch units 342. In an embodiment, at least some of the plurality of latch units 342 may temporarily store data stored in valid pages during a garbage collection operation. In another embodiment, at least some of the plurality of latch units 342 may temporarily store one of the bits of write data to be programmed in the MLCs 314 during a program operation. In another embodiment, at least some of the plurality of latch units 342 may be used to perform an error correction function performed by an error correction circuit (not shown) and/or firmware during a read operation. 3 illustrates an example in which the plurality of latch units 342 are located outside the page buffer circuit 330, but according to the embodiment, the plurality of latch units 342 may be located inside the page buffer circuit 330. have.

페이지 버퍼 회로(330)는 상기 복수의 비트 라인들에 연결되고, 메모리 셀 어레이(310)에 프로그램 될 기입 데이터를 저장하거나 혹은 메모리 셀 어레이(310)로부터 독출된 독출 데이터를 저장할 수 있다. 다시 말하면, 페이지 버퍼 회로(330)는 비휘발성 메모리 장치(300)의 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 페이지 버퍼 회로(330)는 프로그램 모드에서 기입 드라이버로서 동작하고, 독출 모드에서 감지 증폭기로서 동작할 수 있다.The page buffer circuit 330 is connected to the plurality of bit lines and may store write data to be programmed in the memory cell array 310 or read data read from the memory cell array 310. In other words, the page buffer circuit 330 may operate as a write driver or a sense amplifier according to an operation mode of the nonvolatile memory device 300. For example, the page buffer circuit 330 may operate as a write driver in a program mode and as a sense amplifier in a read mode.

입출력 버퍼 회로(360)는 외부의 컨트롤러(예를 들어, 도 2의 210)로부터 메모리 셀 어레이(310)에 프로그램 될 기입 데이터를 수신하고, 메모리 셀 어레이(310)로부터 독출된 독출 데이터를 상기 외부의 컨트롤러로 전송할 수 있다.The input/output buffer circuit 360 receives write data to be programmed in the memory cell array 310 from an external controller (for example, 210 of FIG. 2), and receives the read data read from the memory cell array 310 to the external device. Can be transferred to the controller of

로우 디코더(320)는 상기 복수의 워드 라인들에 연결되고, 로우 어드레스에 응답하여 상기 복수의 워드 라인들 중 적어도 하나를 선택할 수 있다. 전압 발생기(350)는 제어 회로(370)의 제어에 따라 프로그램 전압, 프로그램 패스 전압, 검증 전압, 소거 전압, 독출 전압, 독출 패스 전압과 같은 워드 라인 전압들을 생성할 수 있다. 제어 회로(370)는 메모리 셀 어레이(310)에 대한 데이터 프로그램, 소거 및 독출 동작을 수행하도록 로우 디코더(320), 페이지 버퍼 회로(330), 래치 회로(340), 전압 발생기(350) 및 입출력 버퍼 회로(360)를 제어할 수 있다.The row decoder 320 is connected to the plurality of word lines, and may select at least one of the plurality of word lines in response to a row address. The voltage generator 350 may generate word line voltages such as a program voltage, a program pass voltage, a verify voltage, an erase voltage, a read voltage, and a read pass voltage under the control of the control circuit 370. The control circuit 370 includes a row decoder 320, a page buffer circuit 330, a latch circuit 340, a voltage generator 350, and input/output to perform data program, erase, and read operations for the memory cell array 310. The buffer circuit 360 can be controlled.

도 4는 도 3의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 도면이다.4 is a diagram illustrating an example of a memory cell array included in the nonvolatile memory device of FIG. 3.

도 4를 참조하면, 메모리 셀 어레이(310)는 스트링 선택 트랜지스터들(SST), 접지 선택 트랜지스터들(GST) 및 메모리 셀들(MC)을 포함할 수 있다. 스트링 선택 트랜지스터들(SST)은 비트 라인들(BL(1), ..., BL(m))에 연결되고, 접지 선택 트랜지스터들(GST)은 공통 소스 라인(CSL)에 연결될 수 있다. 동일한 열에 배열된 메모리 셀들(MC)은 비트 라인들(BL(1), ..., BL(m)) 중 하나와 공통 소스 라인(CSL) 사이에 직렬로 배치될 수 있으며, 동일한 행에 배열된 메모리 셀들(MC)은 워드 라인들(WL(1), WL(2), WL(3), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 다시 말하면, 스트링 선택 트랜지스터들(SST)과 접지 선택 트랜지스터들(GST) 사이에 메모리 셀(MC2)들이 직렬로 연결될 수 있으며, 스트링 선택 라인(SSL)과 접지 선택 라인(GSL) 사이에는 16개, 32개 또는 64개의 복수의 워드 라인들이 배열될 수 있다.Referring to FIG. 4, the memory cell array 310 may include string select transistors SST, ground select transistors GST, and memory cells MC. The string select transistors SST may be connected to the bit lines BL(1), ..., BL(m), and the ground select transistors GST may be connected to the common source line CSL. The memory cells MC arranged in the same column may be arranged in series between one of the bit lines BL(1), ..., BL(m) and the common source line CSL, and are arranged in the same row. The memory cells MC may be commonly connected to one of the word lines WL(1), WL(2), WL(3), ..., WL(n-1), WL(n). . In other words, memory cells MC2 may be connected in series between the string selection transistors SST and the ground selection transistors GST, and 16 between the string selection line SSL and the ground selection line GSL, A plurality of 32 or 64 word lines may be arranged.

스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL)에 연결되어, 스트링 선택 라인(SSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있다. 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL)에 연결되어, 접지 선택 라인(GSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있다. 메모리 셀들(MC)은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.The string selection transistors SST are connected to the string selection line SSL and may be controlled according to the level of a voltage applied from the string selection line SSL. The ground selection transistors GST are connected to the ground selection line GSL and may be controlled according to the level of a voltage applied from the ground selection line GSL. The memory cells MC may be controlled according to the level of voltage applied to the word lines WL(1), ..., WL(n).

메모리 셀 어레이(310)를 포함하는 비휘발성 메모리 장치는 NAND 플래시 메모리 장치일 수 있다. 상기 NAND 플래시 메모리 장치는 페이지(PG) 단위로 프로그램 동작 및 독출 동작을 수행하며, 블록(BLK) 단위로 소거 동작을 수행할 수 있다. 한편, 실시예에 따라서, 페이지 버퍼들은 각각 짝수 비트 라인과 홀수 비트 라인이 하나씩 연결될 수 있다. 이 경우, 짝수 비트 라인들은 짝수 페이지를 형성하고, 홀수 비트 라인들은 홀수 페이지를 형성하며, 메모리 셀들(MC)에 대한 기입 동작은 짝수 페이지와 홀수 페이지가 번갈아가며 순차적으로 수행될 수 있다.The nonvolatile memory device including the memory cell array 310 may be a NAND flash memory device. The NAND flash memory device may perform a program operation and a read operation in units of pages PG, and may perform an erase operation in units of blocks BLK. Meanwhile, according to an embodiment, each of the page buffers may have an even bit line and an odd bit line connected one by one. In this case, even bit lines form an even page, odd bit lines form an odd page, and a write operation for the memory cells MC may be sequentially performed alternately between even and odd pages.

도 5a, 5b 및 5c는 도 1의 저장 장치의 구동 방법에 포함되는 단계들의 일 예를 나타내는 순서도들이다. 도 5a는 도 1의 단계 S110의 일 예를 나타내고, 도 5b는 도 1의 단계 S120의 일 예를 나타내며, 도 5c는 도 1의 단계 S150의 일 예를 나타낸다.5A, 5B, and 5C are flowcharts illustrating an example of steps included in the method of driving the storage device of FIG. 1. FIG. 5A shows an example of step S110 of FIG. 1, FIG. 5B shows an example of step S120 of FIG. 1, and FIG. 5C shows an example of step S150 of FIG. 1.

도 5a를 참조하면, 상기 제1 유효 페이지들을 상기 제1 래치부에 복사하는데 있어서, 상기 제1 유효 페이지들에 저장된 제1 데이터를 상기 제1 휘발성 메모리 장치에 축적하고(단계 S111), 상기 제1 휘발성 메모리 장치에 축적된 상기 제1 데이터를 상기 제1 래치부에 저장할 수 있다(단계 S113).Referring to FIG. 5A, in copying the first valid pages to the first latch, first data stored in the first valid pages is accumulated in the first volatile memory device (step S111), and the first 1 The first data accumulated in the volatile memory device may be stored in the first latch unit (step S113).

도 5b를 참조하면, 상기 제2 유효 페이지들을 상기 제2 래치부에 복사하는데 있어서, 상기 제2 유효 페이지들에 저장된 제2 데이터를 상기 제1 휘발성 메모리 장치에 축적하고(단계 S121), 상기 제1 휘발성 메모리 장치에 축적된 상기 제2 데이터를 상기 제2 래치부에 저장할 수 있다(단계 S123).Referring to FIG. 5B, in copying the second valid pages to the second latch, the second data stored in the second valid pages is accumulated in the first volatile memory device (step S121), and The second data accumulated in the first volatile memory device may be stored in the second latch unit (step S123).

도 5c를 참조하면, 상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하는데 있어서, 상기 제1 래치부에 저장된 상기 제1 데이터를 상기 제2 블록에 저장하는 제1 프로그램 동작을 수행하고(단계 S151), 상기 제2 래치부에 복사된 상기 제2 데이터를 상기 제2 블록에 저장하는 제2 프로그램 동작을 수행할 수 있으며(단계 S153), 상기 제1 프로그램 동작이 완료되기 이전에 상기 제2 프로그램 동작이 시작될 수 있다.5C, in copying the first and second valid pages to the second block, a first program operation of storing the first data stored in the first latch unit in the second block is performed, and (Step S151), a second program operation of storing the second data copied to the second latch unit in the second block may be performed (step S153), and before the first program operation is completed, the The second program operation may be started.

도 6a, 6b, 6c, 6d, 6e, 6f, 6g 및 6h는 도 1의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.6A, 6B, 6C, 6D, 6e, 6f, 6g, and 6H are diagrams for explaining an example of a method of driving the storage device of FIG. 1.

도 6a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(220a), 제1 비휘발성 메모리 장치(300a) 및 제2 비휘발성 메모리 장치(300b)를 포함할 수 있다. 제1 비휘발성 메모리 장치(300a)는 제1 SLC들(312a), 제1 MLC들(314a) 및 제1 래치부(342a)를 포함하며, 제2 비휘발성 메모리 장치(300b)는 제2 SLC들(312b), 제2 MLC들(314b) 및 제2 래치부(342b)를 포함할 수 있다. 상기 가비지 컬렉션 동작을 위한 제1 블록(SRCB1)이 제1 및 제2 MLC들(314a, 314b)에 대하여 설정되고, 상기 가비지 컬렉션 동작을 위한 제2 블록(DSTB1)이 제1 및 제2 SLC들(312a, 312b)에 대하여 설정될 수 있다. 도시의 편의상, 비휘발성 메모리 장치들(300a, 300b)에 포함되는 다른 구성요소들(예를 들어, 로우 디코더, 페이지 버퍼 회로, 입출력 버퍼 회로 등)은 생략하였다.Referring to FIG. 6A, the storage device may include a first volatile memory device 220a, a first nonvolatile memory device 300a, and a second nonvolatile memory device 300b. The first nonvolatile memory device 300a includes first SLCs 312a, first MLCs 314a, and a first latch unit 342a, and the second nonvolatile memory device 300b includes a second SLC. They may include 312b, second MLCs 314b, and a second latch part 342b. The first block SRCB1 for the garbage collection operation is set for the first and second MLCs 314a and 314b, and the second block DSTB1 for the garbage collection operation is the first and second SLCs. It can be set for (312a, 312b). For convenience of illustration, other components (eg, a row decoder, a page buffer circuit, an input/output buffer circuit, etc.) included in the nonvolatile memory devices 300a and 300b are omitted.

제1 블록(SRCB1)은 유효 페이지들(VP)과 무효 페이지들(IP)을 포함하며, 제2 블록(DSTB1)은 프리 페이지들(FP)을 포함할 수 있다. 유효 페이지들(VP)에는 데이터들(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22)이 저장될 수 있다.The first block SRCB1 may include valid pages VP and invalid pages IP, and the second block DSTB1 may include free pages FP. Valid pages VP include data D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22) can be stored.

본 발명의 실시예들에 따른 저장 장치의 구동 방법에 기초하여 가비지 컬렉션 동작이 수행되는 경우에, 제1 블록(SRCB1)에 포함된 복수의 페이지들 중에서 유효 페이지들(VP)만이 제2 블록(DSTB1)에 복사될 수 있다.When a garbage collection operation is performed based on a method of driving a storage device according to embodiments of the present invention, only valid pages VP among a plurality of pages included in the first block SRCB1 are the second block ( DSTB1) can be copied.

도 6b를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제1 유효 페이지들에 저장된 제1 데이터(D1, D2, D3, D4)가 제1 휘발성 메모리 장치(220a)에 축적될 수 있다. 도 6c를 참조하면, 제1 휘발성 메모리 장치(220a)에 축적된 제1 데이터(D1~D4)가 제1 래치부(342a)에 저장될 수 있다. 도시하지는 않았지만, 제1 데이터(D1~D4)가 제1 래치부(342a)에 저장된 이후에 제1 휘발성 메모리 장치(220a)에 축적된 제1 데이터(D1~D4)는 삭제될 수 있다.6B, first data D1, D2, D3, D4 stored in first valid pages among valid pages VP of a first block SRCB1 are accumulated in the first volatile memory device 220a. Can be. Referring to FIG. 6C, first data D1 to D4 accumulated in the first volatile memory device 220a may be stored in the first latch unit 342a. Although not shown, the first data D1 to D4 accumulated in the first volatile memory device 220a may be deleted after the first data D1 to D4 are stored in the first latch unit 342a.

도 6d를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제2 유효 페이지들에 저장된 제2 데이터(D5, D6, D7, D8)가 제1 휘발성 메모리 장치(220a)에 축적될 수 있다. 도 6e를 참조하면, 제1 휘발성 메모리 장치(220a)에 축적된 제2 데이터(D5~D8)가 제2 래치부(342b)에 저장될 수 있다. 도시하지는 않았지만, 제2 데이터(D5~D8)가 제2 래치부(342b)에 저장된 이후에, 제1 휘발성 메모리 장치(220a)에 축적된 제2 데이터(D5~D8)는 삭제될 수 있다.Referring to FIG. 6D, second data D5, D6, D7, D8 stored in second valid pages among valid pages VP of the first block SRCB1 are accumulated in the first volatile memory device 220a. Can be. Referring to FIG. 6E, second data D5 to D8 accumulated in the first volatile memory device 220a may be stored in the second latch unit 342b. Although not shown, after the second data D5 to D8 are stored in the second latch unit 342b, the second data D5 to D8 accumulated in the first volatile memory device 220a may be deleted.

도 6f를 참조하면, 제1 및 제2 래치부들(342a, 342b)에 저장된 제1 및 제2 데이터들(D1~D8)이 제2 블록(DSTB1)에 저장될 수 있다. 이 때, 도 6g에 도시된 것처럼, 시간 t1에서 제1 래치부(342a)에 저장된 제1 데이터(D1~D4)를 제2 블록(DSTB1)에 저장하는 제1 프로그램 동작이 시작되고, 상기 제1 프로그램 동작이 완료되기 이전에 시간 t2에서 제2 래치부(342b)에 저장된 제2 데이터(D5~D8)를 제2 블록(DSTB1)에 저장하는 제2 프로그램 동작이 시작될 수 있다. 상기와 같이 제1 프로그램 동작이 완료되기 이전에 제2 프로그램 동작이 시작되는 방식을 인터리빙(interleaving) 방식이라 부를 수 있다.Referring to FIG. 6F, first and second data D1 to D8 stored in the first and second latch units 342a and 342b may be stored in the second block DSTB1. At this time, as shown in FIG. 6G, a first program operation of storing the first data D1 to D4 stored in the first latch unit 342a at time t1 in the second block DSTB1 starts, and the first A second program operation for storing the second data D5 to D8 stored in the second latch unit 342b in the second block DSTB1 at time t2 before completion of the first program operation may be started. As described above, a method in which the second program operation is started before the first program operation is completed may be referred to as an interleaving method.

제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 상기 제1 및 제2 유효 페이지들을 제외한 나머지 유효 페이지들에 대해서도 도 6b 내지 6g를 참조하여 상술한 동작들이 순차적으로 수행될 수 있다. 최종적으로, 도 6h에 도시된 것처럼, 제1 블록(SRCB1)의 모든 유효 페이지들(VP)이 제2 블록(DSTB1)에 복사되며, 유효 페이지들(VP)에 저장된 데이터들(D1~D22)이 제2 블록(DSTB1)에 순차적으로 저장될 수 있다.Among the valid pages VP of the first block SRCB1, the operations described above with reference to FIGS. 6B to 6G may be sequentially performed for the remaining valid pages except for the first and second valid pages. Finally, as shown in FIG. 6H, all valid pages VP of the first block SRCB1 are copied to the second block DSTB1, and data D1 to D22 stored in the valid pages VP It may be sequentially stored in the second block DSTB1.

도시의 편의상, 제1 및 제2 데이터들(D1~D8)이 제1 블록(SRCB1)에서 제1 휘발성 메모리 장치(220a)로 직접 전송되고(도 6b, 6d), 제1 휘발성 메모리 장치(220a)에서 제1 및 제2 래치부들(342a, 342b)로 직접 전송되며(도 6c, 6e), 제1 및 제2 래치부들(342a, 342b)에서 제2 블록(DSTB1)으로 직접 전송되는 것(도 6f)으로 도시하였으나, 상기와 같은 데이터 전송 과정들은 비휘발성 메모리 장치에 포함되는 페이지 버퍼 회로(예를 들어, 도 3의 330) 및/또는 입출력 버퍼 회로(예를 들어, 도 3의 360)를 이용하여 수행될 수 있다.For convenience of illustration, the first and second data D1 to D8 are directly transferred from the first block SRCB1 to the first volatile memory device 220a (FIGS. 6B and 6D ), and the first volatile memory device 220a ) Is directly transmitted to the first and second latch units 342a and 342b (Figs. 6c and 6e), and is directly transmitted from the first and second latch units 342a and 342b to the second block DSTB1 ( Although shown in FIG. 6F), the above data transmission processes include a page buffer circuit (eg, 330 in FIG. 3) and/or an input/output buffer circuit (eg, 360 in FIG. 3) included in the nonvolatile memory device. It can be done using

도 7a, 7b, 7c, 7d, 7e 및 7f는 도 1의 저장 장치의 구동 방법의 다른 예를 설명하기 위한 도면들이다.7A, 7B, 7C, 7D, 7E, and 7F are diagrams for explaining another example of a method of driving the storage device of FIG. 1.

도 7a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(220a), 제1 비휘발성 메모리 장치(300c) 및 제2 비휘발성 메모리 장치(300d)를 포함할 수 있다. 도 7a의 제1 비휘발성 메모리 장치(300c)는 래치부들(344a, 346a)을 더 포함하는 것을 제외하면 도 6a의 제1 비휘발성 메모리 장치(300a)와 실질적으로 동일할 수 있고, 도 7a의 제2 비휘발성 메모리 장치(300d)는 래치부들(344b, 346b)을 더 포함하는 것을 제외하면 도 6a의 제2 비휘발성 메모리 장치(300b)와 실질적으로 동일할 수 있다.Referring to FIG. 7A, the storage device may include a first volatile memory device 220a, a first nonvolatile memory device 300c, and a second nonvolatile memory device 300d. The first nonvolatile memory device 300c of FIG. 7A may be substantially the same as the first nonvolatile memory device 300a of FIG. 6A except that the latch units 344a and 346a are further included. The second nonvolatile memory device 300d may be substantially the same as the second nonvolatile memory device 300b of FIG. 6A except that the latch units 344b and 346b are further included.

도 7b를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제1 유효 페이지들에 저장된 제1 데이터(D1, D2, D3, D4)가 제1 휘발성 메모리 장치(220a)에 축적될 수 있다. 이 때, 제1 데이터(D1~D4)는 제1 래치부(342a)와 다른 적어도 하나의 래치부, 즉 래치부들(344a, 346a, 344b, 346b)을 경유하여 제1 휘발성 메모리 장치(220a)에 축적될 수 있다. 도 3을 참조하여 상술한 것처럼, 래치부들(344a, 346a, 344b, 346b)은 에러 정정 기능을 수행하는데 이용될 수 있으며, 제1 데이터(D1~D4)가 래치부들(344a, 346a, 344b, 346b)을 경유하여 제1 휘발성 메모리 장치(220a)에 축적됨으로써 제1 데이터(D1~D4)에 대한 에러가 정정될 수 있다. 도 7c를 참조하면, 제1 휘발성 메모리 장치(220a)에 축적된 제1 데이터(D1~D4)가 제1 래치부(342a)에 저장될 수 있다.Referring to FIG. 7B, among the valid pages VP of the first block SRCB1, first data D1, D2, D3, and D4 stored in the first valid pages are accumulated in the first volatile memory device 220a. Can be. At this time, the first data D1 to D4 is the first volatile memory device 220a via at least one latch portion different from the first latch portion 342a, that is, the latch portions 344a, 346a, 344b, 346b. Can accumulate in As described above with reference to FIG. 3, the latch units 344a, 346a, 344b, and 346b may be used to perform an error correction function, and the first data D1 to D4 are the latch units 344a, 346a, 344b, and Errors in the first data D1 to D4 may be corrected by being accumulated in the first volatile memory device 220a via 346b. Referring to FIG. 7C, first data D1 to D4 accumulated in the first volatile memory device 220a may be stored in the first latch unit 342a.

도 7d를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제2 유효 페이지들에 저장된 제2 데이터(D5, D6, D7, D8)가 제1 휘발성 메모리 장치(220a)에 축적될 수 있다. 이 때, 제2 데이터(D5~D8)는 제2 래치부(342b)와 다른 적어도 하나의 래치부, 즉 래치부들(344a, 346a, 344b, 346b)을 경유하여 제1 휘발성 메모리 장치(220a)에 축적될 수 있으며, 이에 따라 제2 데이터(D5~D8)에 대한 에러가 정정될 수 있다. 도 7e를 참조하면, 제1 휘발성 메모리 장치(220a)에 축적된 제2 데이터(D5~D8)가 제2 래치부(342b)에 저장될 수 있다.Referring to FIG. 7D, second data D5, D6, D7, D8 stored in second valid pages among valid pages VP of the first block SRCB1 are accumulated in the first volatile memory device 220a. Can be. At this time, the second data D5 to D8 is transmitted to the first volatile memory device 220a through at least one latch portion different from the second latch portion 342b, that is, the latch portions 344a, 346a, 344b, and 346b. May be accumulated in, and accordingly, errors for the second data D5 to D8 may be corrected. Referring to FIG. 7E, second data D5 to D8 accumulated in the first volatile memory device 220a may be stored in the second latch unit 342b.

도 7f를 참조하면, 제1 및 제2 래치부들(342a, 342b)에 저장된 제1 및 제2 데이터들(D1~D8)이 제2 블록(DSTB1)에 저장될 수 있다. 이 때, 도 6g를 참조하여 상술한 것처럼, 제1 데이터(D1~D4)에 대한 상기 제1 프로그램 동작과 제2 데이터(D5~D8)에 대한 상기 제2 프로그램 동작이 인터리빙 방식으로 수행될 수 있다. 최종적으로, 도 6h를 참조하여 상술한 것과 유사하게, 제1 블록(SRCB1)의 모든 유효 페이지들(VP)이 제2 블록(DSTB1)에 복사될 수 있다.Referring to FIG. 7F, first and second data D1 to D8 stored in the first and second latch units 342a and 342b may be stored in the second block DSTB1. At this time, as described above with reference to FIG. 6G, the first program operation for the first data D1 to D4 and the second program operation for the second data D5 to D8 may be performed in an interleaving method. have. Finally, similar to the one described above with reference to FIG. 6H, all valid pages VP of the first block SRCB1 may be copied to the second block DSTB1.

도 8은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.8 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.

도 8을 참조하면, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 휘발성 메모리 장치에 기초하여 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다(단계 S110). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다(단계 S120). 상기 제1 래치부에 복사된 상기 제1 유효 페이지들 및 상기 제2 래치부에 복사된 상기 제2 유효 페이지들을 제2 블록에 복사한다(단계 S150). 상기 제1 블록 및 상기 제2 블록은 복수의 비휘발성 메모리 장치들에 대해 설정된다. 도 8의 단계 S110, S120 및 S150은 도 1의 단계 S110, S120 및 S150과 각각 실질적으로 동일하며, 도 5a, 5b 및 5c를 참조하여 상술한 바와 같이 수행될 수 있다.Referring to FIG. 8, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block are copied to a first latch unit based on a first volatile memory device (step S110). ). The second valid pages included in the first block are copied to the second latch unit based on the first volatile memory device (step S120). The first valid pages copied to the first latch unit and the second valid pages copied to the second latch unit are copied to a second block (step S150). The first block and the second block are set for a plurality of nonvolatile memory devices. Steps S110, S120, and S150 of FIG. 8 are substantially the same as steps S110, S120, and S150 of FIG. 1, respectively, and may be performed as described above with reference to FIGS. 5A, 5B, and 5C.

상기 제1 및 제2 데이터들을 상기 제2 블록에 복사한 이후에, 상기 제1 블록에 대한 소거 동작을 수행하고(단계 S210), 상기 제2 블록에 복사된 상기 제1 및 제2 유효 페이지들을 제3 블록에 복사한다(단계 S220). 예를 들어, 상기 제3 블록은 상기 가비지 컬렉션 동작을 위한 목표(target) 블록일 수 있다.After copying the first and second data to the second block, an erase operation is performed on the first block (step S210), and the first and second valid pages copied to the second block are Copy to the third block (step S220). For example, the third block may be a target block for the garbage collection operation.

일 실시예에서, 상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 상기 MLC들이고, 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 상기 SLC들이며, 상기 제3 블록에 포함되는 복수의 제3 메모리 셀들은 상기 MLC들일 수 있다.In an embodiment, a plurality of first memory cells included in the first block are the MLCs, a plurality of second memory cells included in the second block are the SLCs, and a plurality of first memory cells included in the third block The third memory cells may be the MLCs.

도 9a, 9b, 9c 및 9d는 도 8의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.9A, 9B, 9C, and 9D are diagrams for explaining an example of a method of driving the storage device of FIG. 8.

도 9a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(220a), 제1 비휘발성 메모리 장치(300e) 및 제2 비휘발성 메모리 장치(300f)를 포함할 수 있다. 제1 비휘발성 메모리 장치(300e)는 제1 SLC들(312a), 제1 MLC들(314e) 및 제1 래치부(342a)를 포함하며, 제2 비휘발성 메모리 장치(300f)는 제2 SLC들(312b), 제2 MLC들(314f) 및 제2 래치부(342b)를 포함할 수 있다. 상기 가비지 컬렉션 동작을 위한 제1 블록(SRCB1)이 제1 및 제2 MLC들(314e, 314f)의 일부에 대하여 설정되고, 상기 가비지 컬렉션 동작을 위한 제2 블록(DSTB1)이 제1 및 제2 SLC들(312a, 312b)에 대하여 설정되며, 상기 가비지 컬렉션 동작을 위한 제3 블록(TGTB1)이 제1 및 제2 MLC들(314e, 314f)의 일부에 대하여 설정될 수 있다.Referring to FIG. 9A, the storage device may include a first volatile memory device 220a, a first nonvolatile memory device 300e, and a second nonvolatile memory device 300f. The first nonvolatile memory device 300e includes first SLCs 312a, first MLCs 314e, and a first latch unit 342a, and the second nonvolatile memory device 300f includes a second SLC. They may include 312b, second MLCs 314f, and a second latch part 342b. The first block SRCB1 for the garbage collection operation is set for some of the first and second MLCs 314e and 314f, and the second block DSTB1 for the garbage collection operation is first and second. It is set for the SLCs 312a and 312b, and a third block TGTB1 for the garbage collection operation may be set for some of the first and second MLCs 314e and 314f.

도 9b를 참조하면, 도 6a 내지 6h를 참조하여 상술한 것과 유사한 동작을 수행하여 제1 블록(SRCB1)의 모든 유효 페이지들(VP)이 제2 블록(DSTB1)에 복사되며, 유효 페이지들(VP)에 저장된 데이터들(D1~D22)이 제2 블록(DSTB1)에 순차적으로 저장될 수 있다. 한편, 도시하지는 않았지만, 비휘발성 메모리 장치들(300e, 300f)은 래치부들(342a, 342b) 이외에 적어도 하나의 래치부를 더 포함할 수 있으며, 이 경우 도 7a 내지 7f를 참조하여 상술한 것과 유사한 동작을 수행하여 제1 블록(SRCB1)의 유효 페이지들(VP)이 제2 블록(DSTB1)에 복사될 수 있다.Referring to FIG. 9B, all valid pages VP of the first block SRCB1 are copied to the second block DSTB1 by performing an operation similar to that described above with reference to FIGS. 6A to 6H, and valid pages ( The data D1 to D22 stored in the VP) may be sequentially stored in the second block DSTB1. Meanwhile, although not shown, the nonvolatile memory devices 300e and 300f may further include at least one latch unit in addition to the latch units 342a and 342b. In this case, an operation similar to that described above with reference to FIGS. 7A to 7F By performing the operation, valid pages VP of the first block SRCB1 may be copied to the second block DSTB1.

도 9c를 참조하면, 제1 블록(SRCB1)에 대한 소거 동작이 수행되며, 이에 따라 제1 블록(SRCB1)에 포함되었던 유효 페이지들(VP) 및 무효 페이지들(IP)이 프리 페이지들(FP)로 전환될 수 있다. 또한 모든 유효 페이지들(VP)이 제2 블록(DSTB1)에서 제3 블록(TGTB1)으로 복사되며, 유효 페이지들(VP)에 저장된 데이터들(D1~D22)이 제3 블록(TGTB1)에 순차적으로 저장될 수 있다.Referring to FIG. 9C, an erase operation is performed on the first block SRCB1, and accordingly, valid pages VP and invalid pages IP included in the first block SRCB1 are free pages FP. ) Can be converted. In addition, all valid pages VP are copied from the second block DSTB1 to the third block TGTB1, and the data D1 to D22 stored in the valid pages VP are sequentially transferred to the third block TGTB1. Can be saved as

도 9d를 참조하면, 제2 블록(DSTB1)에 대한 소거 동작이 수행되며, 이에 따라 제2 블록(DSTB1)에 포함되었던 유효 페이지들(VP)이 프리 페이지들(FP)로 전환될 수 있다.Referring to FIG. 9D, an erase operation is performed on the second block DSTB1, and accordingly, valid pages VP included in the second block DSTB1 may be converted into free pages FP.

상술한 바와 같이, SLC들을 경유하여 MLC들에 멀티 비트 데이터를 저장하는 온-칩 버퍼드 프로그램 방식을 기초로 제1 블록(SRCB1)에 저장된 데이터들(D1~D22)을 제2 블록(DSTB1)을 경유하여 제3 블록(TGTB1)에 저장하고, 제1 블록(SRCB1) 및 제2 블록(DSTB1)에 대한 소거 동작을 수행함으로써, 저장 장치에 대한 가비지 컬렉션 동작이 완료될 수 있다.As described above, the data D1 to D22 stored in the first block SRCB1 are converted to the second block DSTB1 based on an on-chip buffered program method of storing multi-bit data in MLCs via SLCs. The garbage collection operation for the storage device may be completed by storing the data in the third block TGTB1 and performing the erase operation on the first block SRCB1 and the second block DSTB1 via.

도 10은 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.10 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.

도 10을 참조하면, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 휘발성 메모리 장치에 기초하여 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다(단계 S110). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다(단계 S120). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제3 유효 페이지들을 제3 래치부에 복사한다(단계 S130). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제4 유효 페이지들을 제4 래치부에 복사한다(단계 S140). 상기 제1 블록은 복수의 비휘발성 메모리 장치들에 대해 설정된다. 도 10의 단계 S110 및 S120은 도 1의 단계 S110 및 S120과 각각 실질적으로 동일하며, 도 10의 단계 S130 및 S140은 도 10의 단계 S110 및 S120과 유사하게 수행될 수 있다.Referring to FIG. 10, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block are copied to a first latch unit based on a first volatile memory device (step S110). ). The second valid pages included in the first block are copied to the second latch unit based on the first volatile memory device (step S120). The third valid pages included in the first block are copied to a third latch unit based on the first volatile memory device (step S130). The fourth valid pages included in the first block are copied to a fourth latch unit based on the first volatile memory device (step S140). The first block is set for a plurality of nonvolatile memory devices. Steps S110 and S120 of FIG. 10 are substantially the same as steps S110 and S120 of FIG. 1, respectively, and steps S130 and S140 of FIG. 10 may be performed similarly to steps S110 and S120 of FIG. 10.

상기 제1 내지 제4 유효 페이지들을 제2 블록에 복사한다(단계 S170). 구체적으로, 상기 제1 래치부에 복사된 상기 제1 유효 페이지들 및 상기 제2 래치부에 복사된 상기 제2 유효 페이지들을 상기 제2 블록에 복사하며(단계 S150), 상기 제3 래치부에 복사된 상기 제3 유효 페이지들 및 상기 제4 래치부에 복사된 상기 제4 유효 페이지들을 상기 제2 블록에 복사한다(단계 S160). 상기 제2 블록은 상기 복수의 비휘발성 메모리 장치들에 대해 설정된다. 도 10의 단계 S150은 도 1의 단계 S150과 실질적으로 동일하며, 도 10의 단계 S160은 단계 S150과 유사하게 수행될 수 있다.The first to fourth valid pages are copied to the second block (step S170). Specifically, the first valid pages copied to the first latch unit and the second valid pages copied to the second latch unit are copied to the second block (step S150), and the third latch unit The copied third valid pages and the fourth valid pages copied to the fourth latch unit are copied to the second block (step S160). The second block is set for the plurality of nonvolatile memory devices. Step S150 of FIG. 10 is substantially the same as step S150 of FIG. 1, and step S160 of FIG. 10 may be performed similarly to step S150.

일 실시예에서, 상기 제1 내지 제4 래치부들은 서로 다른 비휘발성 메모리 장치에 포함될 수 있다. 예를 들어, 상기 제1 래치부는 제1 비휘발성 메모리 장치에 포함되고, 상기 제2 래치부는 제2 비휘발성 메모리 장치에 포함되고, 상기 제3 래치부는 제3 비휘발성 메모리 장치에 포함되며, 상기 제4 래치부는 제4 비휘발성 메모리 장치에 포함될 수 있다. 일 실시예에서, 상기 복수의 비휘발성 메모리 장치들 각각은 온-칩 버퍼드 프로그램을 수행하도록 구현될 수 있으며, 상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 MLC들이고 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 SLC들일 수 있다.In an embodiment, the first to fourth latch units may be included in different nonvolatile memory devices. For example, the first latch unit is included in a first nonvolatile memory device, the second latch unit is included in a second nonvolatile memory device, and the third latch unit is included in a third nonvolatile memory device, and the The fourth latch unit may be included in the fourth nonvolatile memory device. In an embodiment, each of the plurality of nonvolatile memory devices may be implemented to perform an on-chip buffered program, and the plurality of first memory cells included in the first block are MLCs, and the second block is The included second memory cells may be SLCs.

도 11a 내지 11d를 참조하여 후술하는 바와 같이, 단계 S110이 완료된 이후에 단계 S120이 수행되고, 단계 S120이 완료된 이후에 단계 S130이 수행되며, 단계 S130이 완료된 이후에 단계 S140이 수행될 수 있다. 단계 S110 내지 S140이 완료된 이후에 단계 S170이 수행될 수 있다.As will be described later with reference to FIGS. 11A to 11D, step S120 may be performed after step S110 is completed, step S130 may be performed after step S120 is completed, and step S140 may be performed after step S130 is completed. After steps S110 to S140 are completed, step S170 may be performed.

도 11a, 11b, 11c 및 11d는 도 10의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.11A, 11B, 11C, and 11D are diagrams for describing an example of a method of driving the storage device of FIG. 10.

도 11a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(220b), 제1 비휘발성 메모리 장치(300g), 제2 비휘발성 메모리 장치(300h), 제3 비휘발성 메모리 장치(300i) 및 제4 비휘발성 메모리 장치(300j)를 포함할 수 있다. 제1 내지 제4 비휘발성 메모리 장치들(300g, 300h, 300i, 300j) 각각은 제1 내지 제4 SLC들(312g, 312h, 312i, 312j) 중 하나, 제1 내지 제4 MLC들(314g, 314h, 314i, 314j) 중 하나 및 제1 내지 제4 래치부들(342g, 342h, 342i, 342j) 중 하나를 포함할 수 있다. 상기 가비지 컬렉션 동작을 위한 제1 블록(SRCB2)이 제1 내지 제4 MLC들(314g, 314h, 314i, 314j)에 대하여 설정되고, 상기 가비지 컬렉션 동작을 위한 제2 블록(DSTB2)이 제1 내지 제4 SLC들(312g, 312h, 312i, 312j)에 대하여 설정될 수 있다.Referring to FIG. 11A, the storage device includes a first volatile memory device 220b, a first nonvolatile memory device 300g, a second nonvolatile memory device 300h, a third nonvolatile memory device 300i, and a third nonvolatile memory device 300i. 4 A nonvolatile memory device 300j may be included. Each of the first to fourth nonvolatile memory devices 300g, 300h, 300i, and 300j includes one of the first to fourth SLCs 312g, 312h, 312i, and 312j, the first to fourth MLCs 314g, 314h, 314i, 314j) and one of the first to fourth latch portions 342g, 342h, 342i, and 342j. A first block (SRCB2) for the garbage collection operation is set for the first to fourth MLCs 314g, 314h, 314i, 314j, and a second block (DSTB2) for the garbage collection operation is first to It may be set for the fourth SLCs 312g, 312h, 312i, 312j.

제1 블록(SRCB2)은 유효 페이지들(VP)과 무효 페이지들(IP)을 포함하고, 제2 블록(DSTB2)은 프리 페이지들(FP)을 포함하며, 유효 페이지들(VP)에는 데이터들(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42)이 저장될 수 있다.The first block SRCB2 includes valid pages VP and invalid pages IP, the second block DSTB2 includes free pages FP, and data is included in the valid pages VP. (D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 , D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42) can be stored.

도 11b를 참조하면, 제1 블록(SRCB2)의 유효 페이지들(VP) 중에서 제1 내지 제4 유효 페이지들에 저장된 제1 내지 제4 데이터들(D1~D16)이 제1 휘발성 메모리 장치(220b)를 경유하여 제1 내지 제4 래치부들(342g, 342h, 342i, 342j)에 순차적으로 저장될 수 있다.Referring to FIG. 11B, among the valid pages VP of the first block SRCB2, first to fourth data D1 to D16 stored in the first to fourth valid pages are a first volatile memory device 220b. ) May be sequentially stored in the first to fourth latch portions 342g, 342h, 342i, and 342j.

예를 들어, 상기 제1 유효 페이지들에 저장된 제1 데이터(D1~D4)가 제1 휘발성 메모리 장치(220b)에 축적되고(도 11b의 ①), 제1 휘발성 메모리 장치(220b)에 축적된 제1 데이터(D1~D4)가 제1 래치부(342g)에 저장될 수 있다(도 11b의 ②). 상기 제2 유효 페이지들에 저장된 제2 데이터(D5~D8)가 제1 휘발성 메모리 장치(220b)에 축적되고(도 11b의 ③), 제1 휘발성 메모리 장치(220b)에 축적된 제2 데이터(D5~D8)가 제2 래치부(342h)에 저장될 수 있다(도 11b의 ④). 상기 제3 유효 페이지들에 저장된 제3 데이터(D9~D12)가 제1 휘발성 메모리 장치(220b)에 축적되고(도 11b의 ⑤), 제1 휘발성 메모리 장치(220b)에 축적된 제3 데이터(D9~D12)가 제3 래치부(342i)에 저장될 수 있다(도 11b의 ⑥). 상기 제1 유효 페이지들에 저장된 제4 데이터(D13~D16)가 제1 휘발성 메모리 장치(220b)에 축적되고(도 11b의 ⑦), 제1 휘발성 메모리 장치(220b)에 축적된 제4 데이터(D13~D16)가 제4 래치부(342j)에 저장될 수 있다(도 11b의 ⑧).For example, the first data D1 to D4 stored in the first valid pages are accumulated in the first volatile memory device 220b (1 in FIG. 11B), and accumulated in the first volatile memory device 220b. The first data D1 to D4 may be stored in the first latch unit 342g (2 in FIG. 11B). The second data D5 to D8 stored in the second valid pages are accumulated in the first volatile memory device 220b (③ in FIG. 11B), and the second data stored in the first volatile memory device 220b ( D5 to D8) may be stored in the second latch unit 342h (④ in FIG. 11B). The third data D9 to D12 stored in the third valid pages are accumulated in the first volatile memory device 220b (5 in FIG. 11B), and the third data stored in the first volatile memory device 220b ( D9 to D12) may be stored in the third latch unit 342i (6 in FIG. 11B). The fourth data D13 to D16 stored in the first valid pages are accumulated in the first volatile memory device 220b (7 in FIG. 11B), and the fourth data stored in the first volatile memory device 220b ( D13 to D16) may be stored in the fourth latch unit 342j (8 in FIG. 11B).

도 11c를 참조하면, 제1 내지 제4 래치부들(342g, 342h, 342i, 342j)에 저장된 제1 내지 제4 데이터들(D1~D16)이 제2 블록(DSTB2)에 저장될 수 있다. 이 때, 도 11d에 도시된 것처럼, 시간 ta에서 제1 데이터(D1~D4)에 대한 제1 프로그램 동작이 시작되고, 상기 제1 프로그램 동작이 완료되기 이전에 시간 tb에서 제2 데이터(D5~D8)에 대한 제2 프로그램 동작이 시작되고, 상기 제2 프로그램 동작이 완료되기 이전에 시간 tc에서 제3 데이터(D9~D12)에 대한 제3 프로그램 동작이 시작되며, 상기 제3 프로그램 동작이 완료되기 이전에 시간 td에서 제4 데이터(D13~D16)에 대한 제4 프로그램 동작이 시작될 수 있다.Referring to FIG. 11C, first to fourth data D1 to D16 stored in the first to fourth latch units 342g, 342h, 342i, and 342j may be stored in the second block DSTB2. At this time, as shown in FIG. 11D, the first program operation for the first data D1 to D4 starts at time ta, and the second data D5 to D at time tb before the first program operation is completed. The second program operation for D8) starts, and a third program operation for the third data (D9 to D12) starts at time tc before the second program operation is completed, and the third program operation is completed. Before this, the fourth program operation for the fourth data D13 to D16 may be started at time td.

제1 블록(SRCB2)의 유효 페이지들(VP) 중에서 상기 제1 내지 제4 유효 페이지들을 제외한 나머지 유효 페이지들에 대해서도 도 11b 내지 11d를 참조하여 상술한 동작들이 순차적으로 수행될 수 있으며, 최종적으로 제1 블록(SRCB2)의 모든 유효 페이지들(VP)이 제2 블록(DSTB2)에 복사될 수 있다.Among the valid pages VP of the first block SRCB2, the operations described above with reference to FIGS. 11B to 11D may be sequentially performed for the remaining valid pages except for the first to fourth valid pages. All valid pages VP of the first block SRCB2 may be copied to the second block DSTB2.

도 12는 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.12 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.

도 12를 참조하면, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 휘발성 메모리 장치에 기초하여 제1 블록에 포함된 제1 유효 페이지들을 제1 래치부에 복사한다(단계 S110). 제2 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 래치부에 복사한다(단계 S120a). 상기 제1 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제3 유효 페이지들을 제3 래치부에 복사한다(단계 S130). 상기 제2 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제4 유효 페이지들을 제4 래치부에 복사한다(단계 S140). 상기 제1 블록은 복수의 비휘발성 메모리 장치들에 대해 설정된다. 도 12의 단계 S110 및 S130은 도 10의 단계 S110 및 S130과 각각 실질적으로 동일하며, 도 12의 단계 S120a 및 S140a는 제2 휘발성 메모리 장치에 기초하여 수행되는 것을 제외하면 도 10의 단계 S120 및 S140과 각각 실질적으로 동일할 수 있다.Referring to FIG. 12, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block are copied to a first latch unit based on a first volatile memory device (step S110). ). The second valid pages included in the first block are copied to the second latch unit based on the second volatile memory device (step S120a). The third valid pages included in the first block are copied to a third latch unit based on the first volatile memory device (step S130). The fourth valid pages included in the first block are copied to a fourth latch unit based on the second volatile memory device (step S140). The first block is set for a plurality of nonvolatile memory devices. Steps S110 and S130 of FIG. 12 are substantially the same as steps S110 and S130 of FIG. 10, respectively, and steps S120a and S140a of FIG. 12 are performed based on the second volatile memory device, except that steps S120 and S140 of FIG. And each may be substantially the same.

상기 제1 내지 제4 유효 페이지들을 제2 블록에 복사한다(단계 S170). 구체적으로, 상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하며(단계 S150), 상기 제3 및 제4 유효 페이지들을 상기 제2 블록에 복사한다(단계 S160). 상기 제2 블록은 상기 복수의 비휘발성 메모리 장치들에 대해 설정된다. 도 12의 단계 S150, S160 및 S170은 도 10의 단계 S150, S160 및 S170과 각각 실질적으로 동일할 수 있다.The first to fourth valid pages are copied to the second block (step S170). Specifically, the first and second valid pages are copied to the second block (step S150), and the third and fourth valid pages are copied to the second block (step S160). The second block is set for the plurality of nonvolatile memory devices. Steps S150, S160, and S170 of FIG. 12 may be substantially the same as steps S150, S160, and S170 of FIG. 10, respectively.

도 13a 내지 13d를 참조하여 후술하는 바와 같이, 단계 S110 및 S120a가 실질적으로 동시에 수행되고, 단계 S110 및 S120a가 완료된 이후에 단계 S130 및 S140a가 실질적으로 동시에 수행될 수 있다. 단계 S110 내지 S140a가 완료된 이후에 단계 S170이 수행될 수 있다.As will be described later with reference to FIGS. 13A to 13D, steps S110 and S120a are performed substantially simultaneously, and after steps S110 and S120a are completed, steps S130 and S140a may be performed substantially simultaneously. After steps S110 to S140a are completed, step S170 may be performed.

도 13a, 13b, 13c 및 13d는 도 12의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.13A, 13B, 13C, and 13D are diagrams for explaining an example of a method of driving the storage device of FIG. 12.

도 13a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(220b), 제2 휘발성 메모리 장치(220c), 제1 비휘발성 메모리 장치(300g), 제2 비휘발성 메모리 장치(300h), 제3 비휘발성 메모리 장치(300i) 및 제4 비휘발성 메모리 장치(300j)를 포함할 수 있다. 도 13a의 저장 장치는 제2 휘발성 메모리 장치(220c)를 더 포함하는 것을 제외하면 도 11a의 저장 장치와 실질적으로 동일할 수 있다.Referring to FIG. 13A, the storage device includes a first volatile memory device 220b, a second volatile memory device 220c, a first nonvolatile memory device 300g, a second nonvolatile memory device 300h, and a third storage device. A nonvolatile memory device 300i and a fourth nonvolatile memory device 300j may be included. The storage device of FIG. 13A may be substantially the same as the storage device of FIG. 11A except that the second volatile memory device 220c is further included.

도 13b를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제1 및 제2 유효 페이지들에 저장된 제1 및 제2 데이터들(D1~D8)이 제1 및 제2 휘발성 메모리 장치들(220b, 220c)을 경유하여 제1 및 제2 래치부들(342g, 342h)에 저장될 수 있다. 예를 들어, 상기 제1 유효 페이지들에 저장된 제1 데이터(D1~D4)가 제1 휘발성 메모리 장치(220b)에 축적되며, 이와 동시에 상기 제2 유효 페이지들에 저장된 제2 데이터(D5~D8)가 제2 휘발성 메모리 장치(220c)에 축적될 수 있다(도 13b의 ①). 이후에 제1 휘발성 메모리 장치(220b)에 축적된 제1 데이터(D1~D4)가 제1 래치부(342g)에 저장되며, 이와 동시에 제2 휘발성 메모리 장치(220c)에 축적된 제2 데이터(D5~D8)가 제2 래치부(342h)에 저장될 수 있다(도 13b의 ②).13B, first and second data D1 to D8 stored in first and second valid pages among valid pages VP of the first block SRCB1 are first and second volatile memories. It may be stored in the first and second latch units 342g and 342h via the devices 220b and 220c. For example, the first data D1 to D4 stored in the first valid pages are accumulated in the first volatile memory device 220b, and at the same time, the second data D5 to D8 stored in the second valid pages ) May be accumulated in the second volatile memory device 220c (1 in FIG. 13B). Thereafter, the first data D1 to D4 accumulated in the first volatile memory device 220b are stored in the first latch unit 342g, and at the same time, the second data stored in the second volatile memory device 220c ( D5 to D8) may be stored in the second latch portion 342h (2 in FIG. 13B).

도 13c를 참조하면, 제1 블록(SRCB1)의 유효 페이지들(VP) 중에서 제3 및 제4 유효 페이지들에 저장된 제3 및 제4 데이터들(D9~D16)이 제1 및 제2 휘발성 메모리 장치들(220b, 220c)을 경유하여 제3 및 제4 래치부들(342i, 342j)에 저장될 수 있다. 예를 들어, 상기 제3 유효 페이지들에 저장된 제3 데이터(D9~D12)가 제1 휘발성 메모리 장치(220b)에 축적되며, 이와 동시에 상기 제4 유효 페이지들에 저장된 제4 데이터(D13~D16)가 제2 휘발성 메모리 장치(220c)에 축적될 수 있다(도 13c의 ③). 이후에 제1 휘발성 메모리 장치(220b)에 축적된 제3 데이터(D9~D12)가 제3 래치부(342i)에 저장되며, 이와 동시에 제2 휘발성 메모리 장치(220c)에 축적된 제4 데이터(D13~D16)가 제4 래치부(342j)에 저장될 수 있다(도 13b의 ④).13C, third and fourth data D9 to D16 stored in third and fourth valid pages among valid pages VP of a first block SRCB1 are first and second volatile memories. It may be stored in the third and fourth latch units 342i and 342j via the devices 220b and 220c. For example, third data D9 to D12 stored in the third valid pages are accumulated in the first volatile memory device 220b, and at the same time, fourth data D13 to D16 stored in the fourth valid pages ) May be accumulated in the second volatile memory device 220c (③ in FIG. 13C). Thereafter, the third data D9 to D12 accumulated in the first volatile memory device 220b are stored in the third latch unit 342i, and at the same time, the fourth data stored in the second volatile memory device 220c ( D13 to D16) may be stored in the fourth latch unit 342j (4 in FIG. 13B).

도 13d를 참조하면, 제1 내지 제4 래치부들(342g, 342h, 342i, 342j)에 저장된 제1 내지 제4 데이터들(D1~D16)이 제2 블록(DSTB2)에 저장될 수 있다. 이 때, 도 11d를 참조하여 상술한 것처럼, 제1 데이터(D1~D4)에 대한 상기 제1 프로그램 동작, 제2 데이터(D5~D8)에 대한 상기 제2 프로그램 동작, 제3 데이터(D9~D12)에 대한 상기 제3 프로그램 동작 및 제4 데이터(D13~D16)에 대한 상기 제4 프로그램 동작이 인터리빙 방식으로 수행될 수 있다. 최종적으로, 제1 블록(SRCB2)의 모든 유효 페이지들(VP)이 제2 블록(DSTB2)에 복사될 수 있다.Referring to FIG. 13D, first to fourth data D1 to D16 stored in the first to fourth latch units 342g, 342h, 342i and 342j may be stored in the second block DSTB2. At this time, as described above with reference to FIG. 11D, the first program operation for the first data D1 to D4, the second program operation for the second data D5 to D8, and the third data D9 to D8. The third program operation for D12) and the fourth program operation for the fourth data D13 to D16 may be performed in an interleaving method. Finally, all valid pages VP of the first block SRCB2 may be copied to the second block DSTB2.

한편, 도 11a 내지 11d와 도 13a 내지 13d에 도시하지는 않았지만, 비휘발성 메모리 장치들(300g, 300h, 300i, 300j)은 래치부들(342g, 342h, 342i, 342j) 이외에 적어도 하나의 래치부를 더 포함할 수 있으며, 이 경우 도 7a 내지 7f를 참조하여 상술한 것과 유사한 동작을 수행하여 제1 블록(SRCB2)의 모든 유효 페이지들(VP)이 제2 블록(DSTB2)에 복사될 수도 있다. 또한, 도 11a 내지 11d와 도 13a 내지 13d에 도시하지는 않았지만, 제1 블록(SRCB2)의 모든 유효 페이지들(VP)이 제2 블록(DSTB2)에 복사된 이후에, 도 9a 내지 9d를 참조하여 상술한 것과 유사하게 제1 블록(SRCB2)에 대한 소거 동작 및 모든 유효 페이지들(VP)을 제3 블록(예를 들어, 목표 블록)에 복사하는 동작을 더 수행할 수도 있다.Meanwhile, although not shown in FIGS. 11A to 11D and 13A to 13D, the nonvolatile memory devices 300g, 300h, 300i, and 300j further include at least one latch unit in addition to the latch units 342g, 342h, 342i, and 342j. In this case, all valid pages VP of the first block SRCB2 may be copied to the second block DSTB2 by performing an operation similar to that described above with reference to FIGS. 7A to 7F. In addition, although not shown in FIGS. 11A to 11D and 13A to 13D, after all valid pages VP of the first block SRCB2 are copied to the second block DSTB2, refer to FIGS. 9A to 9D. Similar to the above, an erase operation for the first block SRCB2 and an operation for copying all valid pages VP to a third block (eg, a target block) may be further performed.

이상, 저장 장치가 하나의 휘발성 메모리 장치와 두 개의 비휘발성 메모리 장치들을 포함하는 경우, 저장 장치가 하나의 휘발성 메모리 장치와 네 개의 비휘발성 메모리 장치들을 포함하는 경우 및 저장 장치가 두 개의 휘발성 메모리 장치들과 네 개의 비휘발성 메모리 장치들을 포함하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명의 실시예들에 따른 저장 장치의 구동 방법은 비휘발성 메모리 장치들보다 적은 개수의 휘발성 메모리 장치를 포함하는 임의의 저장 장치에 대하여 적용될 수 있다. 예를 들어, 저장 장치가 하나의 휘발성 메모리 장치와 세 개, 다섯 개 또는 일곱 개의 비휘발성 메모리 장치들을 포함하는 경우들, 저장 장치가 하나, 두 개 또는 세 개의 휘발성 메모리 장치와 여섯 개의 비휘발성 메모리 장치들을 포함하는 경우들, 및 저장 장치가 하나, 두 개 또는 네 개의 휘발성 메모리 장치와 여덟 개의 비휘발성 메모리 장치들을 포함하는 경우들 등에 대하여 본 발명의 실시예들에 따른 저장 장치의 구동 방법이 적용될 수 있다. 또한, 저장 장치가 한 번에 네 개의 유효 페이지들을 복사하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 저장 장치가 한 번에 복사하는 유효 페이지들의 개수는 다양하게 변경될 수 있다.As described above, when the storage device includes one volatile memory device and two nonvolatile memory devices, the storage device includes one volatile memory device and four nonvolatile memory devices, and the storage device includes two volatile memory devices The embodiments of the present invention have been described on the basis of the case including the volatile memory devices and four nonvolatile memory devices, but the method of driving the storage device according to the embodiments of the present invention is It can be applied to any storage device including. For example, if the storage device includes one volatile memory device and three, five, or seven nonvolatile memory devices, the storage device is one, two, or three volatile memory devices and six nonvolatile memory devices. The method of driving a storage device according to embodiments of the present invention is applied to cases including devices and cases in which the storage device includes one, two, or four volatile memory devices and eight nonvolatile memory devices. I can. In addition, although embodiments of the present invention have been described based on the case where the storage device copies four valid pages at a time, the number of valid pages that the storage device copies at one time may be variously changed.

도 14는 본 발명의 실시예들에 따른 저장 장치의 구동 방법을 나타내는 순서도이다.14 is a flowchart illustrating a method of driving a storage device according to embodiments of the present invention.

도 14에 도시된 저장 장치의 구동 방법은, 복수의 휘발성 메모리 장치들 및 복수의 비휘발성 메모리 장치들을 포함하는 저장 장치를 구동하기 위하여 이용될 수 있으며, 특히 상기 저장 장치 내에서 사용할 수 없게 된 저장 영역을 사용 가능하도록 전환하는 가비지 컬렉션 동작을 수행하기 위하여 이용될 수 있다.The method of driving the storage device illustrated in FIG. 14 may be used to drive a storage device including a plurality of volatile memory devices and a plurality of nonvolatile memory devices, and in particular, a storage device that cannot be used in the storage device. It can be used to perform a garbage collection operation that converts the area to be usable.

도 14를 참조하면, 본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 제1 블록에 포함된 제1 유효 페이지들을 제1 휘발성 메모리 장치 및 적어도 하나의 제1 래치부에 분리하여 복사(separately copy)한다(단계 S310). 상기 제1 블록에 포함된 제2 유효 페이지들을 제2 휘발성 메모리 장치 및 적어도 하나의 제2 래치부에 복사한다(단계 S320). 상기 제1 휘발성 메모리 장치와 상기 적어도 하나의 제1 래치부에 분리하여 복사된 상기 제1 유효 페이지들 및 상기 제2 휘발성 메모리 장치와 상기 적어도 하나의 제2 래치부에 분리하여 복사된 상기 제2 유효 페이지들을 제2 블록에 복사한다(단계 S350). 상기 제1 블록 및 상기 제2 블록은 복수의 비휘발성 메모리 장치들에 대해 설정된다. 예를 들어, 상기 제1 블록은 상기 가비지 컬렉션 동작을 위한 소스 블록이고, 상기 제2 블록은 상기 가비지 컬렉션 동작을 위한 목적 블록일 수 있다.Referring to FIG. 14, in a method of driving a storage device according to embodiments of the present invention, first valid pages included in a first block are separated and copied to a first volatile memory device and at least one first latch ( separately copy) (step S310). The second valid pages included in the first block are copied to the second volatile memory device and at least one second latch (step S320). The first valid pages separated and copied from the first volatile memory device and the at least one first latch part, and the second copied separately from the second volatile memory device and the at least one second latch part Valid pages are copied to the second block (step S350). The first block and the second block are set for a plurality of nonvolatile memory devices. For example, the first block may be a source block for the garbage collection operation, and the second block may be a destination block for the garbage collection operation.

도 16을 참조하여 후술하는 바와 같이, 상기 복수의 비휘발성 메모리 장치들 각각은 적어도 하나의 래치부를 포함하여 구현될 수 있다. 일 실시예에서, 상기 적어도 하나의 제1 래치부 및 상기 적어도 하나의 제2 래치부는 서로 다른 비휘발성 메모리 장치에 포함될 수 있다. 예를 들어, 상기 적어도 하나의 제1 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제1 비휘발성 메모리 장치에 포함되며, 상기 적어도 하나의 제2 래치부는 상기 복수의 비휘발성 메모리 장치들 중에서 제2 비휘발성 메모리 장치에 포함될 수 있다.As will be described later with reference to FIG. 16, each of the plurality of nonvolatile memory devices may include at least one latch unit. In an embodiment, the at least one first latch unit and the at least one second latch unit may be included in different nonvolatile memory devices. For example, the at least one first latch unit is included in a first nonvolatile memory device among the plurality of nonvolatile memory devices, and the at least one second latch unit is It may be included in a nonvolatile memory device.

또한, 도 16 및 17을 참조하여 후술하는 바와 같이, 상기 복수의 비휘발성 메모리 장치들 각각은 메모리 셀 어레이에 포함되는 복수의 워드 라인들이 수직으로 적층된 수직형 메모리 장치일 수 있다. 일 실시예에서, 상기 제1 및 제2 블록들에 포함되는 복수의 메모리 셀들은 복수의 데이터 비트들을 저장하는 MLC들일 수 있다. 상기 복수의 비휘발성 메모리 장치들 각각은 상기 MLC들에 프로그램 될 기입 데이터의 비트들을 분리하여 임시 저장한 이후에 상기 기입 데이터의 분리된 비트들을 한꺼번에 모아서 상기 MLC들에 저장하는 고속 프로그램(High Speed Program; HSP)을 수행하도록 구현될 수 있다.In addition, as will be described later with reference to FIGS. 16 and 17, each of the plurality of nonvolatile memory devices may be a vertical memory device in which a plurality of word lines included in a memory cell array are vertically stacked. In an embodiment, the plurality of memory cells included in the first and second blocks may be MLCs that store a plurality of data bits. Each of the plurality of nonvolatile memory devices separates and temporarily stores the bits of the write data to be programmed in the MLCs, and then collects the separated bits of the write data at once and stores them in the MLCs. ; HSP) can be implemented.

도 19a 내지 19e를 참조하여 후술하는 바와 같이, 단계 S310 및 S320은 실질적으로 동시에 수행될 수 있으며, 단계 S310 및 S320이 완료된 이후에 단계 S350이 수행될 수 있다.As described below with reference to FIGS. 19A to 19E, steps S310 and S320 may be performed substantially simultaneously, and step S350 may be performed after steps S310 and S320 are completed.

본 발명의 실시예들에 따른 저장 장치의 구동 방법에서는, 비휘발성 메모리 장치들과 동일한 개수의 휘발성 메모리 장치들을 이용하여 가비지 컬렉션 동작을 효과적으로 수행한다. 예를 들어, 소스 블록에 포함된 복수의 유효 페이지들이 복수의 비휘발성 메모리 장치들보다 많은 개수의 휘발성 메모리 장치들로 분리하여 복사되지 않으며, 상기 복수의 유효 페이지들이 상기 복수의 비휘발성 메모리 장치들과 동일한 개수의 휘발성 메모리 장치들 및 복수의 내부 래치부들로 분리하여 복사(예를 들어, 비트 단위로 분리하여 복사)된 이후에, 상기 분리하여 복사된 유효 페이지들에 기초하여 상기 복수의 유효 페이지들이 목적 블록으로 복사될 수 있다. 따라서 휘발성 메모리 장치의 사용량이 감소되어 저장 장치의 성능이 향상될 수 있으며, 휘발성 메모리 장치가 차지하는 면적이 감소되어 저장 장치의 크기가 감소될 수 있다.In a method of driving a storage device according to embodiments of the present invention, a garbage collection operation is effectively performed using the same number of volatile memory devices as the nonvolatile memory devices. For example, a plurality of valid pages included in a source block are not separated and copied to a larger number of volatile memory devices than a plurality of nonvolatile memory devices, and the plurality of valid pages are included in the plurality of nonvolatile memory devices. The plurality of valid pages based on the separated and copied valid pages after being separated and copied (e.g., separated by bit units and copied) into the same number of volatile memory devices and a plurality of internal latch units. Can be copied to the destination block. Accordingly, the amount of use of the volatile memory device may be reduced, so that the performance of the storage device may be improved, and the area occupied by the volatile memory device may be reduced, so that the size of the storage device may be reduced.

도 15는 도 14의 방법에 따라 구동되는 저장 장치를 포함하는 컴퓨팅 시스템의 일 예를 나타내는 블록도이다.15 is a block diagram illustrating an example of a computing system including a storage device driven according to the method of FIG. 14.

도 15를 참조하면, 컴퓨팅 시스템(100b)은 호스트(110) 및 저장 장치(400)를 포함한다.Referring to FIG. 15, the computing system 100b includes a host 110 and a storage device 400.

호스트(110)는 다양한 컴퓨팅 기능들을 수행하거나 다양한 응용 프로그램들을 실행할 수 있으며, 도 2의 호스트(110)와 실질적으로 동일할 수 있다.The host 110 may perform various computing functions or execute various application programs, and may be substantially the same as the host 110 of FIG. 2.

저장 장치(400)는 컨트롤러(410), 복수의 휘발성 메모리 장치들(420) 및 복수의 비휘발성 메모리 장치들(500)을 포함한다.The storage device 400 includes a controller 410, a plurality of volatile memory devices 420, and a plurality of nonvolatile memory devices 500.

컨트롤러(410)는 호스트(110)로부터 수신되는 커맨드에 응답하여 저장 장치(400)의 동작을 제어하거나, 호스트(110)로부터 수신되는 커맨드와 무관하게 저장 장치(400)의 가비지 컬렉션 동작을 제어할 수 있다. 복수의 휘발성 메모리 장치들(420)은 호스트(110)로부터 제공된 데이터에 대한 기입 버퍼 및/또는 복수의 비휘발성 메모리 장치들(500)로부터 출력된 데이터에 대한 독출 캐시로 동작할 수 있다. 복수의 비휘발성 메모리 장치들(500)은 호스트(110)로부터 제공된 데이터를 저장하거나 저장된 데이터를 출력할 수 있다. 도 15의 컨트롤러(410), 복수의 휘발성 메모리 장치들(420) 및 복수의 비휘발성 메모리 장치들(500)은 각각 도 2의 컨트롤러(210), 적어도 하나의 휘발성 메모리 장치(220) 및 복수의 비휘발성 메모리 장치들(300)과 유사하게 구현될 수 있다.The controller 410 controls the operation of the storage device 400 in response to a command received from the host 110, or controls the garbage collection operation of the storage device 400 regardless of the command received from the host 110. I can. The plurality of volatile memory devices 420 may operate as a write buffer for data provided from the host 110 and/or a read cache for data output from the plurality of nonvolatile memory devices 500. The plurality of nonvolatile memory devices 500 may store data provided from the host 110 or may output stored data. The controller 410, the plurality of volatile memory devices 420, and the plurality of nonvolatile memory devices 500 of FIG. 15 are each of the controller 210, at least one volatile memory device 220, and a plurality of It may be implemented similarly to the nonvolatile memory devices 300.

도 16은 도 15의 저장 장치에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.16 is a block diagram illustrating an example of a nonvolatile memory device included in the storage device of FIG. 15.

도 16을 참조하면, 비휘발성 메모리 장치(500)는 메모리 셀 어레이(510), 로우 디코더(520), 페이지 버퍼 회로(530), 래치 회로(540), 전압 발생기(550), 입출력 버퍼 회로(560) 및 제어 회로(570)를 포함한다.Referring to FIG. 16, the nonvolatile memory device 500 includes a memory cell array 510, a row decoder 520, a page buffer circuit 530, a latch circuit 540, a voltage generator 550, and an input/output buffer circuit ( 560) and a control circuit 570.

메모리 셀 어레이(510)는 복수의 워드 라인들 및 복수의 비트 라인들에 각각 연결되는 복수의 메모리 셀들을 포함할 수 있다. 도 17을 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들 각각은 NAND 플래시 메모리 셀일 수 있으며, 상기 복수의 메모리 셀들은 3차원 수직 어레이 구조로 배열될 수 있다.The memory cell array 510 may include a plurality of memory cells connected to a plurality of word lines and a plurality of bit lines, respectively. As will be described later with reference to FIG. 17, each of the plurality of memory cells may be a NAND flash memory cell, and the plurality of memory cells may be arranged in a 3D vertical array structure.

일 실시예에서, 메모리 셀 어레이(510)는 MLC들을 포함하여 구현될 수 있으며, 비휘발성 메모리 장치(500)는 HSP 방식에 기초하여 메모리 셀 어레이(510)에 기입 데이터를 프로그램할 수 있다. 한편, 도 3을 참조하여 상술한 바와 같이, 메모리 셀 어레이(510)는 SLC들 및 MLC들을 포함하여 구현될 수도 있으며, 이 경우 비휘발성 메모리 장치(500)는 온-칩 버퍼드 프로그램 방식, 쉐도우 프로그램 방식 또는 리프로그램 방식에 기초하여 메모리 셀 어레이(510)에 기입 데이터를 프로그램할 수도 있다.In an embodiment, the memory cell array 510 may be implemented including MLCs, and the nonvolatile memory device 500 may program write data into the memory cell array 510 based on the HSP method. Meanwhile, as described above with reference to FIG. 3, the memory cell array 510 may be implemented including SLCs and MLCs. In this case, the nonvolatile memory device 500 is an on-chip buffered program method and a shadow Write data may be programmed in the memory cell array 510 based on a program method or a reprogram method.

래치 회로(540)는 복수의 래치부들(542)을 포함할 수 있다. 복수의 래치부들(542) 중 적어도 일부는 가비지 컬렉션 동작 시에 유효 페이지들에 저장된 데이터의 일부(예를 들어, 멀티 비트 데이터의 제1 비트들 또는 제2 비트들)를 임시로 저장할 수 있다. 페이지 버퍼 회로(530)는 메모리 셀 어레이(510)에 프로그램 될 기입 데이터 또는 메모리 셀 어레이(510)로부터 독출된 독출 데이터를 저장할 수 있다. 입출력 버퍼 회로(560)는 외부의 컨트롤러(예를 들어, 도 15의 410)로부터 상기 기입 데이터를 수신하고, 상기 독출 데이터를 상기 외부의 컨트롤러로 전송할 수 있다. 로우 디코더(520)는 로우 어드레스에 응답하여 상기 복수의 워드 라인들 중 적어도 하나를 선택할 수 있다. 전압 발생기(550)는 제어 회로(570)의 제어에 따라 워드 라인 전압들을 생성할 수 있다. 제어 회로(570)는 로우 디코더(520), 페이지 버퍼 회로(530), 래치 회로(540), 전압 발생기(550) 및 입출력 버퍼 회로(560)를 제어할 수 있다. 도 15의 로우 디코더(520), 페이지 버퍼 회로(530), 래치 회로(540), 전압 발생기(550), 입출력 버퍼 회로(560) 및 제어 회로(570)는 도 3의 로우 디코더(320), 페이지 버퍼 회로(330), 래치 회로(340), 전압 발생기(350), 입출력 버퍼 회로(360) 및 제어 회로(370)와 각각 유사하게 구현될 수 있다.The latch circuit 540 may include a plurality of latch units 542. At least some of the plurality of latch units 542 may temporarily store part of data (eg, first bits or second bits of multi-bit data) stored in valid pages during a garbage collection operation. The page buffer circuit 530 may store write data to be programmed in the memory cell array 510 or read data read from the memory cell array 510. The input/output buffer circuit 560 may receive the write data from an external controller (eg, 410 of FIG. 15) and transmit the read data to the external controller. The row decoder 520 may select at least one of the plurality of word lines in response to a row address. The voltage generator 550 may generate word line voltages under the control of the control circuit 570. The control circuit 570 may control the row decoder 520, the page buffer circuit 530, the latch circuit 540, the voltage generator 550, and the input/output buffer circuit 560. The row decoder 520, the page buffer circuit 530, the latch circuit 540, the voltage generator 550, the input/output buffer circuit 560 and the control circuit 570 of FIG. 15 are the row decoder 320 of FIG. The page buffer circuit 330, the latch circuit 340, the voltage generator 350, the input/output buffer circuit 360, and the control circuit 370 may be implemented similarly, respectively.

도 17은 도 16의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 도면이다.17 is a diagram illustrating an example of a memory cell array included in the nonvolatile memory device of FIG. 16.

도 17을 참조하면, 메모리 셀 어레이(510)는 수직 구조를 가지는 복수의 스트링(511)들을 포함할 수 있다. 스트링(511)은 제2 방향(D2)을 따라 복수 개로 형성되어 스트링 열을 형성할 수 있으며, 상기 스트링 열은 제3 방향(D3)을 따라 복수 개로 형성되어 스트링 어레이를 형성할 수 있다. 복수의 스트링(511)들은 비트 라인들(BL(1), ..., BL(m))과 공통 소스 라인(CSL) 사이에 제1 방향(D1)을 따라 직렬로 배치되는 접지 선택 트랜지스터(GSTV)들, 메모리 셀(MCV)들 및 스트링 선택 트랜지스터(SSTV)들을 각각 포함할 수 있다.Referring to FIG. 17, a memory cell array 510 may include a plurality of strings 511 having a vertical structure. A plurality of strings 511 may be formed along the second direction D2 to form a string column, and a plurality of string columns may be formed along the third direction D3 to form a string array. The plurality of strings 511 are ground selection transistors arranged in series along the first direction D1 between the bit lines BL(1), ..., BL(m) and the common source line CSL. GSTVs), memory cells MCVs, and string select transistors SSTVs, respectively.

접지 선택 트랜지스터(GSTV)들은 접지 선택 라인들(GSL11, GSL12, ..., GSLi1, GSLi2)에 각각 연결되고, 스트링 선택 트랜지스터(SSTV)들은 스트링 선택 라인들(SSL11, SSL12, ..., SSLi1, SSLi2)에 각각 연결될 수 있다. 동일한 층에 배열되는 메모리 셀(MCV)들은 워드 라인들(WL(1), WL(2), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 접지 선택 라인들(GSL11, ..., GSLi2) 및 스트링 선택 라인들(SSL11, ..., SSLi2)은 제2 방향(D2)으로 연장되며 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 워드 라인들(WL(1), ..., WL(n))은 제2 방향(D2)으로 연장되며 제1 방향(D1) 및 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 비트 라인들(BL(1), ..., BL(m))은 제3 방향(D3)으로 연장되며 제2 방향(D2)을 따라 복수 개로 형성될 수 있다. 메모리 셀(MCV)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.The ground select transistors GSTV are connected to the ground select lines GSL11, GSL12, ..., GSLi1, GSLi2, respectively, and the string select transistors SSTV are string select lines SSL11, SSL12, ..., SSLi1. , SSLi2) can be connected respectively. The memory cells MCV arranged on the same layer may be connected in common to one of the word lines WL(1), WL(2), ..., WL(n-1), and WL(n). The ground selection lines GSL11, ..., GSLi2 and the string selection lines SSL11, ..., SSLi2 extend in the second direction D2 and may be formed in plural along the third direction D3. have. The word lines WL(1), ..., WL(n) extend in the second direction D2 and may be formed in plural along the first direction D1 and the third direction D3. The bit lines BL(1), ..., BL(m) extend in the third direction D3 and may be formed in a plurality along the second direction D2. The memory cells MCV may be controlled according to the level of a voltage applied to the word lines WL(1), ..., WL(n).

메모리 셀 어레이(510)를 포함하는 수직형 메모리 장치는 NAND 플래시 메모리 셀들을 포함하는 NAND 플래시 메모리 장치이므로, 페이지 단위로 기입 동작 및 독출 동작을 수행하며, 블록 단위로 소거 동작을 수행한다.Since the vertical memory device including the memory cell array 510 is a NAND flash memory device including NAND flash memory cells, a write operation and a read operation are performed on a page basis, and an erase operation is performed on a block basis.

실시예에 따라서, 하나의 스트링(511)에 포함되는 두 개의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 연결되고 하나의 스트링에 포함되는 두 개의 접지 선택 트랜지스터들은 하나의 접지 선택 라인에 연결되도록 구현될 수도 있다. 또한, 실시예에 따라서, 하나의 스트링은 하나의 스트링 선택 트랜지스터 및 하나의 접지 선택 트랜지스터를 포함하여 구현될 수도 있다.According to an embodiment, two string selection transistors included in one string 511 are connected to one string selection line, and two ground selection transistors included in one string are connected to one ground selection line. May be. Also, according to embodiments, one string may be implemented including one string selection transistor and one ground selection transistor.

도 18a, 18b 및 18c는 도 14의 저장 장치의 구동 방법에 포함되는 단계들의 일 예를 나타내는 순서도들이다. 도 18a는 도 14의 단계 S310의 일 예를 나타내고, 도 18b는 도 14의 단계 S320의 일 예를 나타내며, 도 18c는 도 14의 단계 S350의 일 예를 나타낸다. 도 18a, 18b 및 18c의 실시예에서, 상기 제1 유효 페이지들에 저장된 상기 제1 데이터 및 상기 제2 유효 페이지들에 저장된 상기 제2 데이터는 2비트 데이터일 수 있다.18A, 18B, and 18C are flowcharts illustrating an example of steps included in the method of driving the storage device of FIG. 14. 18A shows an example of step S310 of FIG. 14, FIG. 18B shows an example of step S320 of FIG. 14, and FIG. 18C shows an example of step S350 of FIG. 14. 18A, 18B, and 18C, the first data stored in the first valid pages and the second data stored in the second valid pages may be 2-bit data.

도 18a를 참조하면, 상기 제1 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제1 비트들에 상응하는 제1 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적하고(단계 S311), 상기 제1 휘발성 메모리 장치에 축적된 상기 제1 비트 데이터를 제1 래치부에 저장하며(단계 S313), 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제2 비트들에 상응하는 제2 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다(단계 S315).Referring to FIG. 18A, when the first valid pages are separated and copied, first bit data corresponding to first bits of the first data stored in the first valid pages is transferred to the first volatile memory device. Accumulate (step S311), store the first bit data accumulated in the first volatile memory device in a first latch unit (step S313), and a second bit of the first data stored in the first valid pages The second bit data corresponding to the data may be accumulated in the first volatile memory device (step S315).

도 18b를 참조하면, 상기 제2 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제2 유효 페이지들에 저장된 상기 제2 데이터의 제1 비트들에 상응하는 제3 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적하고(단계 S321), 상기 제2 휘발성 메모리 장치에 축적된 상기 제3 비트 데이터를 제2 래치부에 저장하며(단계 S323), 상기 제2 유효 페이지들에 저장된 제2 데이터의 제2 비트들에 상응하는 제4 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적할 수 있다(단계 S325).Referring to FIG. 18B, when the second valid pages are separated and copied, third bit data corresponding to the first bits of the second data stored in the second valid pages is transferred to the second volatile memory device. Accumulating (step S321), storing the third bit data accumulated in the second volatile memory device in a second latch unit (step S323), and second bits of the second data stored in the second valid pages The fourth bit data corresponding to the may be accumulated in the second volatile memory device (step S325).

도 18c를 참조하면, 상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하는데 있어서, 상기 제1 및 제2 비트 데이터들에 기초하여 상기 제1 데이터를 상기 제2 블록에 저장하는 제1 프로그램 동작을 수행하고(단계 S351), 상기 제3 및 제4 비트 데이터들에 기초하여 상기 제2 데이터를 상기 제2 블록에 저장하는 제2 프로그램 동작을 수행할 수 있으며(단계 S353), 상기 제1 프로그램 동작이 완료되기 이전에 상기 제2 프로그램 동작이 시작될 수 있다.Referring to FIG. 18C, in copying the first and second valid pages to the second block, a first storing the first data in the second block based on the first and second bit data A second program operation of performing a program operation (step S351) and storing the second data in the second block based on the third and fourth bit data may be performed (step S353), and the The second program operation may be started before the first program operation is completed.

도 19a, 19b, 19c, 19d 및 19e는 도 14의 저장 장치의 구동 방법의 일 예를 설명하기 위한 도면들이다.19A, 19B, 19C, 19D, and 19E are diagrams for describing an example of a method of driving the storage device of FIG. 14.

도 19a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(420a), 제2 휘발성 메모리 장치(420b), 제1 비휘발성 메모리 장치(500a) 및 제2 비휘발성 메모리 장치(500b)를 포함할 수 있다. 제1 비휘발성 메모리 장치(500a)는 제1 메모리 셀 어레이(510a) 및 제1 래치부(542a)를 포함하며, 제2 비휘발성 메모리 장치(500b)는 제2 메모리 셀 어레이(510b) 및 제2 래치부(542b)를 포함할 수 있다. 제1 및 제2 메모리 셀 어레이들(510a, 510b)은 MLC들을 포함하며, 도 17을 참조하여 상술한 것처럼 3차원 수직 어레이 구조로 구현될 수 있다. 상기 가비지 컬렉션 동작을 위한 제1 블록(SRCB3)이 제1 및 제2 메모리 셀 어레이들(510a, 510b)의 일부에 대하여 설정되고, 상기 가비지 컬렉션 동작을 위한 제2 블록(DSTB3)이 제1 및 제2 메모리 셀 어레이들(510a, 510b)의 일부에 대하여 설정될 수 있다. 도시의 편의상, 비휘발성 메모리 장치들(500a, 500b)에 포함되는 다른 구성요소들(예를 들어, 로우 디코더, 페이지 버퍼 회로, 입출력 버퍼 회로 등)은 생략하였다.Referring to FIG. 19A, the storage device may include a first volatile memory device 420a, a second volatile memory device 420b, a first nonvolatile memory device 500a, and a second nonvolatile memory device 500b. I can. The first nonvolatile memory device 500a includes a first memory cell array 510a and a first latch unit 542a, and the second nonvolatile memory device 500b includes a second memory cell array 510b and a second memory cell array 510b. It may include 2 latch part 542b. The first and second memory cell arrays 510a and 510b include MLCs, and may be implemented in a three-dimensional vertical array structure as described above with reference to FIG. 17. The first block SRCB3 for the garbage collection operation is set for some of the first and second memory cell arrays 510a and 510b, and the second block DSTB3 for the garbage collection operation is first and second. It may be set for some of the second memory cell arrays 510a and 510b. For convenience of illustration, other components (eg, row decoder, page buffer circuit, input/output buffer circuit, etc.) included in the nonvolatile memory devices 500a and 500b are omitted.

제1 블록(SRCB3)은 유효 페이지들(VP)과 무효 페이지들(IP)을 포함하며, 제2 블록(DSTB3)은 프리 페이지들(FP)을 포함할 수 있다. 유효 페이지들(VP)에는 2비트 데이터들(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22)이 저장될 수 있다.The first block SRCB3 may include valid pages VP and invalid pages IP, and the second block DSTB3 may include free pages FP. Valid pages VP include 2-bit data D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22) can be stored.

도 19b를 참조하면, 제1 블록(SRCB3)의 유효 페이지들(VP) 중에서 제1 유효 페이지들에 저장된 제1 데이터(D1, D2, D3, D4)의 제1 비트들에 상응하는 제1 비트 데이터(D1', D2', D3', D4')가 제1 휘발성 메모리 장치(420a)에 축적될 수 있다. 이와 동시에, 제1 블록(SRCB3)의 유효 페이지들(VP) 중에서 제2 유효 페이지들에 저장된 제2 데이터(D5, D6, D7, D8)의 제1 비트들에 상응하는 제3 비트 데이터(D5', D6', D7', D8')가 제2 휘발성 메모리 장치(420b)에 축적될 수 있다. 예를 들어, 제1 비트 데이터(D1'~D4')는 제1 데이터(D1~D4)의 최하위 비트(Least Significant Bit; LSB)들에 상응하며, 제3 비트 데이터(D5'~D8')는 제2 데이터(D5~D8)의 LSB들에 상응할 수 있다.Referring to FIG. 19B, a first bit corresponding to first bits of first data D1, D2, D3, D4 stored in first valid pages among valid pages VP of a first block SRCB3. Data D1', D2', D3', and D4' may be accumulated in the first volatile memory device 420a. At the same time, the third bit data D5 corresponding to the first bits of the second data D5, D6, D7, D8 stored in the second valid pages among the valid pages VP of the first block SRCB3. ', D6', D7', and D8' may be accumulated in the second volatile memory device 420b. For example, the first bit data D1' to D4' correspond to the least significant bits (LSBs) of the first data D1 to D4, and the third bit data D5' to D8' May correspond to LSBs of the second data D5 to D8.

도 19c를 참조하면, 제1 휘발성 메모리 장치(420a)에 축적된 제1 비트 데이터(D1'~D4')가 제1 래치부(542a)에 저장될 수 있다. 이와 동시에, 제2 휘발성 메모리 장치(420b)에 축적된 제3 비트 데이터(D5'~D8')가 제2 래치부(542b)에 저장될 수 있다. 도시하지는 않았지만, 제1 및 제2 비트 데이터들(D1'~D8')이 제1 및 제2 래치부들(542a, 542b)에 저장된 이후에, 제1 및 제2 휘발성 메모리 장치들(420a, 420b)에 축적된 제1 및 제2 비트 데이터들(D1'~D8')은 삭제될 수 있다.Referring to FIG. 19C, first bit data D1' to D4' accumulated in the first volatile memory device 420a may be stored in the first latch unit 542a. At the same time, third bit data D5' to D8' accumulated in the second volatile memory device 420b may be stored in the second latch unit 542b. Although not shown, after the first and second bit data D1 ′ to D8 ′ are stored in the first and second latch units 542a and 542b, the first and second volatile memory devices 420a and 420b The first and second bit data D1' to D8' accumulated in) may be deleted.

도 19d를 참조하면, 상기 제1 유효 페이지들에 저장된 제1 데이터(D1~D4)의 제2 비트들에 상응하는 제2 비트 데이터(D1", D2", D3", D4")가 제1 휘발성 메모리 장치(420a)에 축적될 수 있다. 이와 동시에, 상기 제2 유효 페이지들에 저장된 제2 데이터(D5~D8)의 제2 비트들에 상응하는 제4 비트 데이터(D5", D6", D7", D8")가 제2 휘발성 메모리 장치(420b)에 축적될 수 있다. 예를 들어, 제2 비트 데이터(D1"~D4")는 제1 데이터(D1~D4)의 최상위 비트(Most Significant Bit; MSB)들에 상응하며, 제4 비트 데이터(D5"~D8")는 제2 데이터(D5~D8)의 MSB들에 상응할 수 있다.Referring to FIG. 19D, second bit data D1", D2", D3", and D4" corresponding to second bits of the first data D1 to D4 stored in the first valid pages are first It may be accumulated in the volatile memory device 420a. At the same time, the fourth bit data D5", D6", D7", D8" corresponding to the second bits of the second data D5 to D8 stored in the second valid pages are transferred to the second volatile memory device. It can be accumulated in (420b). For example, the second bit data (D1" to D4") corresponds to the Most Significant Bits (MSBs) of the first data (D1 to D4), and the fourth bit data (D5" to D8") May correspond to MSBs of the second data D5 to D8.

도 19e를 참조하면, 제1 및 제2 데이터들(D1~D8)이 제2 블록(DSTB3)에 저장될 수 있다. 예를 들어, 제1 비트 데이터(D1'~D4') 및 제2 비트 데이터(D1"~D4")를 기초로 HSP를 수행하여 제1 데이터(D1~D4)가 제2 블록(DSTB3)에 저장되고, 제3 비트 데이터(D5'~D8') 및 제4 비트 데이터(D5"~D8")를 기초로 HSP를 수행하여 제2 데이터(D5~D8)가 제2 블록(DSTB3)에 저장될 수 있다. 이 때, 제1 데이터(D1~D4) 및 제2 데이터(D5~D8)는 인터리빙 방식으로 프로그램될 수 있다. 다시 말하면, 제1 데이터(D1~D4)에 대한 제1 프로그램 동작이 완료되기 이전에 제2 데이터(D5~D8)에 대한 제2 프로그램 동작이 시작될 수 있다.Referring to FIG. 19E, first and second data D1 to D8 may be stored in a second block DSTB3. For example, by performing HSP based on the first bit data D1' to D4' and the second bit data D1" to D4", the first data D1 to D4 is transferred to the second block DSTB3. Is stored, and the second data (D5 to D8) is stored in the second block (DSTB3) by performing HSP based on the third bit data (D5' to D8') and the fourth bit data (D5" to D8") Can be. In this case, the first data D1 to D4 and the second data D5 to D8 may be programmed in an interleaving method. In other words, the second program operation for the second data D5 to D8 may be started before the first program operation for the first data D1 to D4 is completed.

제1 블록(SRCB3)의 유효 페이지들(VP) 중에서 상기 제1 및 제2 유효 페이지들을 제외한 나머지 유효 페이지들에 대해서도 도 19b 내지 19e를 참조하여 상술한 동작들이 순차적으로 수행될 수 있다. 최종적으로, 제1 블록(SRCB3)의 모든 유효 페이지들(VP)이 제2 블록(DSTB3)에 복사되며, 유효 페이지들(VP)에 저장된 데이터들(D1~D22)이 제2 블록(DSTB3)에 순차적으로 저장될 수 있다.Among the valid pages VP of the first block SRCB3, the operations described above with reference to FIGS. 19B to 19E may be sequentially performed for the remaining valid pages except for the first and second valid pages. Finally, all valid pages VP of the first block SRCB3 are copied to the second block DSTB3, and data D1 to D22 stored in the valid pages VP are the second block DSTB3. Can be stored in sequence.

도 20a, 20b 및 20c는 도 14의 저장 장치의 구동 방법에 포함되는 단계들의 다른 예를 나타내는 순서도들이다. 도 20a는 도 14의 단계 S310의 다른 예를 나타내고, 도 20b는 도 14의 단계 S320의 다른 예를 나타내며, 도 20c는 도 14의 단계 S350의 다른 예를 나타낸다. 도 20a, 20b 및 20c의 실시예에서, 상기 제1 유효 페이지들에 저장된 상기 제1 데이터 및 상기 제2 유효 페이지들에 저장된 상기 제2 데이터는 3비트 데이터일 수 있다.20A, 20B, and 20C are flowcharts illustrating another example of steps included in the method of driving the storage device of FIG. 14. FIG. 20A shows another example of step S310 of FIG. 14, FIG. 20B shows another example of step S320 of FIG. 14, and FIG. 20C shows another example of step S350 of FIG. 14. 20A, 20B, and 20C, the first data stored in the first valid pages and the second data stored in the second valid pages may be 3-bit data.

도 20a를 참조하면, 상기 제1 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제1 비트들에 상응하는 제1 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적하고(단계 S311), 상기 제1 휘발성 메모리 장치에 축적된 상기 제1 비트 데이터를 제1 래치부에 저장하고(단계 S313), 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제2 비트들에 상응하는 제2 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적하고(단계 S315), 상기 제1 휘발성 메모리 장치에 축적된 상기 제2 비트 데이터를 제2 래치부에 저장하며(단계 S317), 상기 제1 유효 페이지들에 저장된 상기 제1 데이터의 제3 비트들에 상응하는 제3 비트 데이터를 상기 제1 휘발성 메모리 장치에 축적할 수 있다(단계 S319).Referring to FIG. 20A, when the first valid pages are separated and copied, first bit data corresponding to first bits of the first data stored in the first valid pages is transferred to the first volatile memory device. Accumulating (step S311), storing the first bit data accumulated in the first volatile memory device in a first latch unit (step S313), and storing the second bit of the first data stored in the first valid pages Accumulating second bit data corresponding to the data in the first volatile memory device (step S315), storing the second bit data accumulated in the first volatile memory device in a second latch unit (step S317), Third bit data corresponding to third bits of the first data stored in the first valid pages may be accumulated in the first volatile memory device (step S319).

도 20b를 참조하면, 상기 제2 유효 페이지들을 분리하여 복사하는데 있어서, 상기 제2 유효 페이지들에 저장된 상기 제2 데이터의 제1 비트들에 상응하는 제4 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적하고(단계 S321a), 상기 제2 휘발성 메모리 장치에 축적된 상기 제4 비트 데이터를 제3 래치부에 저장하고(단계 S323a), 상기 제2 유효 페이지들에 저장된 제2 데이터의 제2 비트들에 상응하는 제5 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적하고(단계 S325a), 상기 제2 휘발성 메모리 장치에 축적된 상기 제5 비트 데이터를 제4 래치부에 저장하며(단계 S327), 상기 제2 유효 페이지들에 저장된 상기 제2 데이터의 제3 비트들에 상응하는 제6 비트 데이터를 상기 제2 휘발성 메모리 장치에 축적할 수 있다(단계 S329).Referring to FIG. 20B, when the second valid pages are separated and copied, fourth bit data corresponding to first bits of the second data stored in the second valid pages is transferred to the second volatile memory device. Accumulating (step S321a), storing the fourth bit data accumulated in the second volatile memory device in a third latch unit (step S323a), and second bits of the second data stored in the second valid pages Accumulating fifth bit data corresponding to the second volatile memory device in the second volatile memory device (step S325a), storing the fifth bit data accumulated in the second volatile memory device in a fourth latch part (step S327), the Sixth bit data corresponding to third bits of the second data stored in second valid pages may be accumulated in the second volatile memory device (step S329).

도 20c를 참조하면, 상기 제1 및 제2 유효 페이지들을 상기 제2 블록에 복사하는데 있어서, 상기 제1 내지 제3 비트 데이터들에 기초하여 상기 제1 데이터를 상기 제2 블록에 저장하는 제1 프로그램 동작을 수행하고(단계 S351a), 상기 제4 내지 제6 비트 데이터들에 기초하여 상기 제2 데이터를 상기 제2 블록에 저장하는 제2 프로그램 동작을 수행할 수 있으며(단계 S353a), 상기 제1 프로그램 동작이 완료되기 이전에 상기 제2 프로그램 동작이 시작될 수 있다.Referring to FIG. 20C, in copying the first and second valid pages to the second block, a first storing the first data in the second block based on the first to third bit data Perform a program operation (step S351a), and perform a second program operation of storing the second data in the second block based on the fourth to sixth bit data (step S353a), and The second program operation may be started before the first program operation is completed.

도 21a, 21b, 21c, 21d 및 21e는 도 14의 저장 장치의 구동 방법의 다른 예를 설명하기 위한 도면들이다.21A, 21B, 21C, 21D, and 21E are diagrams for explaining another example of a method of driving the storage device of FIG. 14.

도 21a를 참조하면, 상기 저장 장치는 제1 휘발성 메모리 장치(420a), 제2 휘발성 메모리 장치(420b), 제1 비휘발성 메모리 장치(500c) 및 제2 비휘발성 메모리 장치(500d)를 포함할 수 있다. 도 21a의 제1 비휘발성 메모리 장치(500c)는 래치부(542c)를 더 포함하는 것을 제외하면 도 19a의 제1 비휘발성 메모리 장치(500a)와 실질적으로 동일할 수 있고, 도 21a의 제2 비휘발성 메모리 장치(500d)는 래치부(542d)를 더 포함하는 것을 제외하면 도 19a의 제2 비휘발성 메모리 장치(500b)와 실질적으로 동일할 수 있다.Referring to FIG. 21A, the storage device may include a first volatile memory device 420a, a second volatile memory device 420b, a first nonvolatile memory device 500c, and a second nonvolatile memory device 500d. I can. The first nonvolatile memory device 500c of FIG. 21A may be substantially the same as the first nonvolatile memory device 500a of FIG. 19A except that the latch part 542c is further included, and the second nonvolatile memory device 500c of FIG. The nonvolatile memory device 500d may be substantially the same as the second nonvolatile memory device 500b of FIG. 19A except that the latch part 542d is further included.

도 21b를 참조하면, 제1 블록(SRCB3)의 유효 페이지들(VP) 중에서 제1 유효 페이지들에 저장된 제1 데이터(D1, D2, D3, D4)의 제1 비트들에 상응하는 제1 비트 데이터(D1', D2', D3', D4')가 제1 휘발성 메모리 장치(420a)에 축적되며, 이와 동시에 제1 블록(SRCB3)의 유효 페이지들(VP) 중에서 제2 유효 페이지들에 저장된 제2 데이터(D5, D6, D7, D8)의 제1 비트들에 상응하는 제4 비트 데이터(D5', D6', D7', D8')가 제2 휘발성 메모리 장치(420b)에 축적될 수 있다(도 21b의 ①). 또한, 제1 휘발성 메모리 장치(420a)에 축적된 제1 비트 데이터(D1'~D4')가 제1 래치부(542a)에 저장되고, 이와 동시에 제2 휘발성 메모리 장치(420b)에 축적된 제4 비트 데이터(D5'~D8')가 제2 래치부(542b)에 저장될 수 있다(도 21b의 ②). 예를 들어, 제1 비트 데이터(D1'~D4')는 제1 데이터(D1~D4)의 LSB들에 상응하며, 제4 비트 데이터(D5'~D8')는 제2 데이터(D5~D8)의 LSB들에 상응할 수 있다.Referring to FIG. 21B, a first bit corresponding to first bits of first data D1, D2, D3, D4 stored in first valid pages among valid pages VP of a first block SRCB3. Data (D1', D2', D3', D4') are accumulated in the first volatile memory device 420a, and at the same time, stored in the second valid pages among the valid pages VP of the first block SRCB3. Fourth bit data D5', D6', D7', D8' corresponding to the first bits of the second data D5, D6, D7, D8 may be accumulated in the second volatile memory device 420b. Yes (1) in Fig. 21B). In addition, the first bit data D1' to D4' accumulated in the first volatile memory device 420a are stored in the first latch unit 542a, and at the same time, the first bit data D1' to D4' accumulated in the second volatile memory device 420b. 4-bit data D5' to D8' may be stored in the second latch unit 542b (2 in FIG. 21B). For example, the first bit data D1' to D4' correspond to the LSBs of the first data D1 to D4, and the fourth bit data D5' to D8' are the second data D5 to D8. ) May correspond to LSBs.

도 21c를 참조하면, 상기 제1 유효 페이지들에 저장된 제1 데이터(D1~D4)의 제2 비트들에 상응하는 제2 비트 데이터(D1", D2", D3", D4")가 제1 휘발성 메모리 장치(420a)에 축적되며, 이와 동시에 상기 제2 유효 페이지들에 저장된 제2 데이터(D5~D8)의 제2 비트들에 상응하는 제5 비트 데이터(D5", D6", D7", D8")가 제2 휘발성 메모리 장치(420b)에 축적될 수 있다(도 21c의 ③). 또한, 제1 휘발성 메모리 장치(420a)에 축적된 제2 비트 데이터(D1"~D4")가 제1 래치부(542a)에 저장되고, 이와 동시에 제2 휘발성 메모리 장치(420b)에 축적된 제5 비트 데이터(D5"~D8")가 제2 래치부(542b)에 저장될 수 있다(도 21c의 ④). 예를 들어, 제2 비트 데이터(D1"~D4")는 제1 데이터(D1~D4)의 중간 비트(Central Significant Bit; CSB)들에 상응하며, 제5 비트 데이터(D5"~D8")는 제2 데이터(D5~D8)의 CSB들에 상응할 수 있다.Referring to FIG. 21C, second bit data D1", D2", D3", and D4" corresponding to second bits of the first data D1 to D4 stored in the first valid pages are first The fifth bit data D5", D6", D7", which are accumulated in the volatile memory device 420a and correspond to the second bits of the second data D5 to D8 stored in the second valid pages at the same time. D8") may be accumulated in the second volatile memory device 420b (③ in FIG. 21C). Also, the second bit data D1" to D4" accumulated in the first volatile memory device 420a is stored in the first latch part 542a, and at the same time, the second bit data D1" to D4" accumulated in the second volatile memory device 420b. 5-bit data D5" to D8" may be stored in the second latch part 542b (4 in FIG. 21C). For example, the second bit data (D1" to D4") corresponds to the central significant bits (CSB) of the first data (D1 to D4), and the fifth bit data (D5" to D8") May correspond to CSBs of the second data D5 to D8.

도 21d를 참조하면, 상기 제1 유효 페이지들에 저장된 제1 데이터(D1~D4)의 제3 비트들에 상응하는 제3 비트 데이터(D1"', D2"', D3"', D4"')가 제1 휘발성 메모리 장치(420a)에 축적되며, 이와 동시에 상기 제2 유효 페이지들에 저장된 제2 데이터(D5~D8)의 제3 비트들에 상응하는 제6 비트 데이터(D5"', D6"', D7"', D8"')가 제2 휘발성 메모리 장치(420b)에 축적될 수 있다(도 21d의 ⑤). 예를 들어, 제3 비트 데이터(D1"'~D4"')는 제1 데이터(D1~D4)의 MSB들에 상응하며, 제6 비트 데이터(D5"'~D8"')는 제2 데이터(D5~D8)의 MSB들에 상응할 수 있다.Referring to FIG. 21D, third bit data D1"', D2"', D3"', D4"' corresponding to the third bits of first data D1 to D4 stored in the first valid pages. ) Is accumulated in the first volatile memory device 420a, and at the same time, sixth bit data D5"' and D6 corresponding to the third bits of the second data D5 to D8 stored in the second valid pages. "', D7"', D8"') may be accumulated in the second volatile memory device 420b (5 in FIG. 21D). For example, the third bit data D1"' to D4"' corresponds to the MSBs of the first data D1 to D4, and the sixth bit data D5"' to D8"' is the second data. It may correspond to MSBs of (D5~D8).

도 21e를 참조하면, 제1 및 제2 데이터들(D1~D8)이 제2 블록(DSTB3)에 저장될 수 있다. 예를 들어, 제1 비트 데이터(D1'~D4'), 제2 비트 데이터(D1"~D4") 및 제3 비트 데이터(D1"'~D4"')를 기초로 HSP를 수행하여 제1 데이터(D1~D4)가 제2 블록(DSTB3)에 저장되고, 제4 비트 데이터(D5'~D8'), 제5 비트 데이터(D5"~D8") 및 제6 비트 데이터(D5"'~D8"')를 기초로 HSP를 수행하여 제2 데이터(D5~D8)가 제2 블록(DSTB3)에 저장될 수 있다. 이 때, 제1 데이터(D1~D4) 및 제2 데이터(D5~D8)는 인터리빙 방식으로 프로그램될 수 있다. 최종적으로, 제1 블록(SRCB3)의 모든 유효 페이지들(VP)이 제2 블록(DSTB3)에 복사될 수 있다.Referring to FIG. 21E, first and second data D1 to D8 may be stored in a second block DSTB3. For example, HSP is performed based on the first bit data D1' to D4', the second bit data D1" to D4", and the third bit data D1"' to D4"'. Data (D1 to D4) are stored in the second block (DSTB3), and the fourth bit data (D5' to D8'), the fifth bit data (D5" to D8"), and the sixth bit data (D5"' to The second data D5 to D8 may be stored in the second block DSTB3 by performing HSP based on D8"'). In this case, the first data D1 to D4 and the second data D5 to D8 may be programmed in an interleaving method. Finally, all valid pages VP of the first block SRCB3 may be copied to the second block DSTB3.

이상, 저장 장치가 2비트 데이터 및 3비트 데이터를 저장하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명의 실시예들에 따른 저장 장치의 구동 방법은 2비트 이상의 멀티 비트 데이터를 저장하는 임의의 저장 장치에 대하여 적용될 수 있다. 또한, 저장 장치가 두 개의 휘발성 메모리 장치와 두 개의 비휘발성 메모리 장치들을 포함하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명의 실시예들에 따른 저장 장치의 구동 방법은 비휘발성 메모리 장치들과 동일한 개수의 휘발성 메모리 장치들을 포함하는 임의의 저장 장치에 대하여 적용될 수 있다. 또한, 저장 장치가 한 번에 네 개의 유효 페이지들을 복사하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 저장 장치가 한 번에 복사하는 유효 페이지들의 개수는 다양하게 변경될 수 있다.The embodiments of the present invention have been described above based on the case where the storage device stores 2-bit data and 3-bit data, but the method of driving the storage device according to the embodiments of the present invention stores multi-bit data of 2 bits or more. It can be applied to any storage device. In addition, although embodiments of the present invention have been described based on the case where the storage device includes two volatile memory devices and two nonvolatile memory devices, the method of driving a storage device according to the embodiments of the present invention is a nonvolatile memory device. It can be applied to any storage device including the same number of volatile memory devices as the devices. In addition, although embodiments of the present invention have been described based on the case where the storage device copies four valid pages at a time, the number of valid pages that the storage device copies at one time may be variously changed.

도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 구동 방법을 나타내는 순서도이다.22 is a flowchart illustrating a method of driving a nonvolatile memory device according to example embodiments.

도 22에 도시된 비휘발성 메모리 장치의 구동 방법은, 외부에 배치된 적어도 하나의 휘발성 메모리 장치와 연관하여 동작하는 비휘발성 메모리 장치를 구동하기 위하여 이용될 수 있으며, 특히 MMC, SSD 등과 같은 임의의 저장 장치에 포함되는 비휘발성 메모리 장치에 대한 가비지 컬렉션 동작을 수행하기 위하여 이용될 수 있다.The method of driving a nonvolatile memory device illustrated in FIG. 22 may be used to drive a nonvolatile memory device operating in association with at least one externally disposed volatile memory device. It may be used to perform a garbage collection operation on a nonvolatile memory device included in the storage device.

도 22를 참조하면, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 구동 방법에서는, 외부의 휘발성 메모리 장치에 기초하여 메모리 셀 어레이의 제1 블록에 포함된 제1 유효 페이지들을 내부의 제1 래치부에 복사한다. 구체적으로, 상기 제1 블록에 포함된 상기 제1 유효 페이지들을 상기 외부의 휘발성 메모리 장치에 복사하고(단계 S410), 상기 외부의 휘발성 메모리 장치에 복사된 상기 제1 유효 페이지들을 상기 내부의 제1 래치부에 복사한다(단계 S420). 또한, 상기 외부의 휘발성 메모리 장치에 기초하여 상기 제1 블록에 포함된 제2 유효 페이지들을 내부의 제2 래치부에 복사한다. 구체적으로, 상기 제1 블록에 포함된 상기 제2 유효 페이지들을 상기 외부의 휘발성 메모리 장치에 복사하고(단계 S430), 상기 외부의 휘발성 메모리 장치에 복사된 상기 제2 유효 페이지들을 상기 내부의 제2 래치부에 복사한다(단계 S440). 상기 내부의 제1 래치부에 복사된 상기 제1 유효 페이지들 및 상기 내부의 제2 래치부에 복사된 상기 제2 유효 페이지들을 상기 메모리 셀 어레이의 제2 블록에 복사한다(단계 S450).Referring to FIG. 22, in a method of driving a nonvolatile memory device according to embodiments of the present invention, first valid pages included in a first block of a memory cell array are stored based on an external volatile memory device. Copy to the latch part. Specifically, the first valid pages included in the first block are copied to the external volatile memory device (step S410), and the first valid pages copied to the external volatile memory device are copied to the internal first Copy to the latch unit (step S420). In addition, second valid pages included in the first block are copied to an internal second latch unit based on the external volatile memory device. Specifically, the second valid pages included in the first block are copied to the external volatile memory device (step S430), and the second valid pages copied to the external volatile memory device are copied to the second internal volatile memory device. Copy to the latch unit (step S440). The first valid pages copied to the internal first latch part and the second valid pages copied to the internal second latch part are copied to the second block of the memory cell array (step S450).

일 실시예에서, 상기 메모리 셀 어레이는 복수의 MLC들 및 복수의 SLC들을 포함하여 구현될 수 있다. 이 경우, 상기 비휘발성 메모리 장치는 온-칩 버퍼드 프로그램을 수행하도록 구현될 수 있으며, 상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 상기 MLC들이고 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 상기 SLC들일 수 있다. 또한 이 경우, 제1 블록에 대한 소거 동작을 수행하는 단계 및 상기 제2 블록에 복사된 상기 제1 및 제2 유효 페이지들을 제3 블록에 복사하는 단계를 더 수행할 수 있다.In an embodiment, the memory cell array may be implemented including a plurality of MLCs and a plurality of SLCs. In this case, the nonvolatile memory device may be implemented to perform an on-chip buffered program, and the plurality of first memory cells included in the first block are the MLCs, and the plurality of first memory cells included in the second block 2 The memory cells may be the SLCs. In this case, an erase operation may be performed on the first block, and the first and second valid pages copied to the second block may be copied to a third block.

도 23은 본 발명의 실시예들에 따른 저장 장치가 메모리 카드에 응용된 예를 나타내는 도면이다.23 is a diagram illustrating an example in which a storage device according to embodiments of the present invention is applied to a memory card.

도 23을 참조하면, 메모리 카드(900)는 복수의 접속 핀들(910), 메모리 컨트롤러(920), 적어도 하나의 휘발성 메모리 장치(930) 및 복수의 비휘발성 메모리 장치들(940)을 포함한다.Referring to FIG. 23, a memory card 900 includes a plurality of connection pins 910, a memory controller 920, at least one volatile memory device 930, and a plurality of nonvolatile memory devices 940.

호스트(미도시)와 메모리 카드(900) 사이의 신호들이 송수신되도록 복수의 접속 핀들(910)은 상기 호스트에 연결될 수 있다. 복수의 접속 핀들(910)은 클록 핀, 커맨드 핀, 데이터 핀 및/또는 리셋 핀을 포함할 수 있다.A plurality of connection pins 910 may be connected to the host so that signals between the host (not shown) and the memory card 900 are transmitted and received. The plurality of connection pins 910 may include a clock pin, a command pin, a data pin, and/or a reset pin.

메모리 컨트롤러(920)는, 상기 호스트로부터 데이터를 수신하고 상기 수신된 데이터를 휘발성 메모리 장치(930)를 경유하여 복수의 비휘발성 메모리 장치들(940)에 저장할 수 있으며, 복수의 비휘발성 메모리 장치들(940)로부터 출력된 데이터를 휘발성 메모리 장치(930)를 경유하여 상기 호스트에 제공할 수 있다. 또한, 메모리 컨트롤러(920)는 휘발성 메모리 장치(930)를 이용하여 복수의 비휘발성 메모리 장치들(940)에 대한 가비지 컬렉션 동작을 수행할 수 있다.The memory controller 920 may receive data from the host and store the received data in a plurality of nonvolatile memory devices 940 via the volatile memory device 930, and a plurality of nonvolatile memory devices Data output from 940 may be provided to the host via the volatile memory device 930. Also, the memory controller 920 may perform a garbage collection operation on a plurality of nonvolatile memory devices 940 by using the volatile memory device 930.

메모리 카드(900)는 도 1 내지 22를 참조하여 상술한 본 발명의 실시예들에 따른 저장 장치의 구동 방법에 따라 동작할 수 있다. 구체적으로, 비휘발성 메모리 장치들(940)이 온-칩 버퍼드 프로그램을 수행하도록 구현되는 경우에 메모리 카드(900)는 비휘발성 메모리 장치들(940)보다 적은 개수의 휘발성 메모리 장치(930) 및 비휘발성 메모리 장치들(940) 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행하며, 비휘발성 메모리 장치들(940)이 수직형 메모리 장치들이고 HSP를 수행하도록 구현되는 경우에 메모리 카드(900)는 비휘발성 메모리 장치들(940)과 동일한 개수의 휘발성 메모리 장치(930)들 및 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행할 수 있다. 따라서, 메모리 카드(900)의 성능이 향상되고 메모리 카드(900)의 크기가 감소될 수 있다.The memory card 900 may operate according to the method of driving a storage device according to embodiments of the present invention described above with reference to FIGS. 1 to 22. Specifically, when the nonvolatile memory devices 940 are implemented to perform an on-chip buffered program, the memory card 900 includes fewer volatile memory devices 930 than the nonvolatile memory devices 940 and A garbage collection operation is performed using the latch units inside the nonvolatile memory devices 940, and when the nonvolatile memory devices 940 are vertical memory devices and are implemented to perform HSP, the memory card 900 is The garbage collection operation may be performed using the same number of volatile memory devices 930 as the nonvolatile memory devices 940 and internal latch units. Accordingly, the performance of the memory card 900 may be improved and the size of the memory card 900 may be reduced.

예를 들어, 메모리 카드(900)는 멀티미디어 카드(MultiMedia Card; MMC), 임베디드 멀티미디어 카드(embedded MultiMedia Card; eMMC), 하이브리드 임베디드 멀티미디어 카드(hybrid embedded MultiMedia Card; hybrid eMMC), SD(Secure Digital) 카드, 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA(Personal Computer Memory Card International Association) 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card)등과 같은 메모리 카드일 수 있다.For example, the memory card 900 is a multimedia card (MultiMedia Card; MMC), an embedded multimedia card (eMMC), a hybrid embedded multimedia card (hybrid embedded MultiMedia Card; hybrid eMMC), and a Secure Digital (SD) card. , Micro SD card, Memory Stick, ID card, PCMCIA (Personal Computer Memory Card International Association) card, Chip Card, USB card, Smart Card, CF card (Compact Flash Card) It may be a memory card such as.

실시예에 따라서, 메모리 카드(900)는 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.According to an embodiment, the memory card 900 includes a computer, a laptop, a cellular, a smart phone, an MP3 player, a personal digital assistant (PDA), a portable multimedia player. ; PMP), digital TV, digital camera, portable game console (portable game console) can be mounted on a host.

도 24는 본 발명의 실시예들에 따른 저장 장치가 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.24 is a diagram illustrating an example in which a storage device according to embodiments of the present invention is applied to a solid state drive.

도 24를 참조하면, SSD(1000)는 메모리 컨트롤러(1010), 적어도 하나의 휘발성 메모리 장치(1020) 및 복수의 비휘발성 메모리 장치들(1030)을 포함한다.Referring to FIG. 24, the SSD 1000 includes a memory controller 1010, at least one volatile memory device 1020, and a plurality of nonvolatile memory devices 1030.

메모리 컨트롤러(1010)는 호스트(미도시)로부터 데이터를 수신하고, 상기 수신된 데이터를 복수의 비휘발성 메모리 장치들(1030)에 저장할 수 있다. 적어도 하나의 휘발성 메모리 장치(1020)는 상기 호스트와 복수의 비휘발성 메모리 장치들(1030) 사이에서 교환되는 데이터를 일시 저장할 수 있다.The memory controller 1010 may receive data from a host (not shown) and store the received data in a plurality of nonvolatile memory devices 1030. At least one volatile memory device 1020 may temporarily store data exchanged between the host and the plurality of nonvolatile memory devices 1030.

SSD(1000)는 도 1 내지 22를 참조하여 상술한 본 발명의 실시예들에 따른 저장 장치의 구동 방법에 따라 동작할 수 있다. 구체적으로, 비휘발성 메모리 장치들(1030)이 온-칩 버퍼드 프로그램을 수행하도록 구현되는 경우에 SSD(1000)는 비휘발성 메모리 장치들(1030)보다 적은 개수의 휘발성 메모리 장치(1020) 및 비휘발성 메모리 장치들(1030) 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행하며, 비휘발성 메모리 장치들(1030)이 수직형 메모리 장치들이고 HSP를 수행하도록 구현되는 경우에 SSD(1000)는 비휘발성 메모리 장치들(1030)과 동일한 개수의 휘발성 메모리 장치(1020)들 및 내부의 래치부들을 이용하여 가비지 컬렉션 동작을 수행할 수 있다. 따라서, SSD(1000)의 성능이 향상되고 SSD(1000)의 크기가 감소될 수 있다.The SSD 1000 may operate according to the method of driving the storage device according to embodiments of the present invention described above with reference to FIGS. 1 to 22. Specifically, when the nonvolatile memory devices 1030 are implemented to perform an on-chip buffered program, the SSD 1000 includes fewer volatile memory devices 1020 and non-volatile memory devices 1020 than the nonvolatile memory devices 1030. When the nonvolatile memory devices 1030 are vertical memory devices and are implemented to perform HSP, a garbage collection operation is performed by using the latch units inside the volatile memory devices 1030, and the SSD 1000 is nonvolatile. The garbage collection operation may be performed using the same number of volatile memory devices 1020 as the memory devices 1030 and internal latch units. Accordingly, the performance of the SSD 1000 may be improved and the size of the SSD 1000 may be reduced.

실시예에 따라서, SSD(1000)는 컴퓨터, 노트북, 핸드폰, 스마트 폰, MP3 플레이어, PDA, PMP, 디지털 TV, 디지털 카메라, 포터블 게임 콘솔 등과 같은 호스트에 장착될 수 있다.According to an embodiment, the SSD 1000 may be mounted on a host such as a computer, a notebook computer, a mobile phone, a smart phone, an MP3 player, a PDA, a PMP, a digital TV, a digital camera, a portable game console, or the like.

도 25는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.25 is a block diagram illustrating a computing system according to embodiments of the present invention.

도 25를 참조하면, 컴퓨팅 시스템(1100)은 프로세서(1110), 메모리 장치(1120), 사용자 인터페이스(1130), 버스(1150) 및 저장 장치(1160)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(1100)은 베이스밴드 칩 셋(baseband chipset)과 같은 모뎀(1140)을 더 포함할 수 있다.Referring to FIG. 25, a computing system 1100 includes a processor 1110, a memory device 1120, a user interface 1130, a bus 1150, and a storage device 1160. According to an embodiment, the computing system 1100 may further include a modem 1140 such as a baseband chipset.

프로세서(1110)는 특정 계산들 또는 태스크들을 실행할 수 있다. 예를 들어, 프로세서(1110)는 마이크로프로세서 또는 중앙 처리 장치(CPU)일 수 있다. 프로세서(1110)는 어드레스 버스, 제어 버스 및/또는 데이터 버스와 같은 버스(1150)를 통하여 메모리 장치(1120)에 연결될 수 있다. 예를 들어, 메모리 장치(1120)는 DRAM, 모바일 DRAM, SRAM, PRAM, FRAM, RRAM 및/또는 MRAM으로 구현될 수 있다. 또한, 프로세서(1110)는 주변 구성요소 상호연결(peripheral component interconnect, PCI) 버스와 같은 확장 버스에 연결될 수 있다. 이에 따라, 프로세서(1110)는 키보드 또는 마우스와 같은 하나 이상의 입력 장치, 프린터 또는 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함하는 사용자 인터페이스(1130)를 제어할 수 있다. 모뎀(1140)은 외부 장치와 무선으로 데이터를 송수신할 수 있다.The processor 1110 may perform certain calculations or tasks. For example, the processor 1110 may be a microprocessor or a central processing unit (CPU). The processor 1110 may be connected to the memory device 1120 through a bus 1150 such as an address bus, a control bus, and/or a data bus. For example, the memory device 1120 may be implemented as DRAM, mobile DRAM, SRAM, PRAM, FRAM, RRAM, and/or MRAM. Also, the processor 1110 may be connected to an expansion bus such as a peripheral component interconnect (PCI) bus. Accordingly, the processor 1110 may control the user interface 1130 including one or more input devices such as a keyboard or a mouse, and one or more output devices such as a printer or a display device. The modem 1140 may wirelessly transmit and receive data with an external device.

저장 장치(1160)의 비휘발성 메모리 장치들(1190)에는 프로세서(1110)에 의해 처리된 데이터 또는 모뎀(1140)을 통하여 수신된 데이터 등이 메모리 컨트롤러(1170) 및 휘발성 메모리 장치(1180)를 통해 저장될 수 있다. 저장 장치(1160)는 본 발명의 실시예들에 따른 구동 방법에 따라 동작함으로써, 성능이 향상되고 크기가 감소될 수 있다.In the nonvolatile memory devices 1190 of the storage device 1160, data processed by the processor 1110 or data received through the modem 1140 are transmitted through the memory controller 1170 and the volatile memory device 1180. Can be saved. The storage device 1160 operates according to the driving method according to embodiments of the present invention, thereby improving performance and reducing the size.

실시예에 따라서, 컴퓨팅 시스템(1100)은 동작 전압을 공급하기 위한 파워 서플라이를 더 포함할 수 있다. 또한, 실시예에 따라서, 컴퓨팅 시스템(1100)은 응용 칩셋(application chipset), 카메라 이미지 프로세서(camera image processor, CIS) 등을 더 포함할 수 있다.According to an embodiment, the computing system 1100 may further include a power supply for supplying an operating voltage. In addition, according to an embodiment, the computing system 1100 may further include an application chipset, a camera image processor (CIS), and the like.

본 발명은 휘발성 메모리 장치 및 비휘발성 메모리 장치를 구비하는 저장 장치와 이를 포함하는 임의의 장치 및 전자 기기에 적용될 수 있다. 특히, 본 발명은 메모리 카드, SSD, eMMC, 유니버설 플래시 스토리지, 하이브리드 유니버설 플래시 스토리지, 컴퓨터, 디지털 카메라, 3차원 카메라, 휴대폰, PDA, 스캐너, 차량용 네비게이션 등에 적용될 수 있다.The present invention can be applied to a storage device including a volatile memory device and a nonvolatile memory device, and to any device and electronic device including the same. In particular, the present invention can be applied to memory cards, SSDs, eMMCs, universal flash storage, hybrid universal flash storage, computers, digital cameras, 3D cameras, mobile phones, PDAs, scanners, vehicle navigation, and the like.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.Although described above with reference to the preferred embodiments of the present invention, those skilled in the art will be able to variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can.

Claims (10)

제1 유효 페이지들을 복수의 비휘발성 메모리 장치들에 대해 설정된 제1 블록에서 제1 휘발성 메모리 장치로 복사하는 단계;
상기 제1 유효 페이지들을 상기 제1 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제1 래치부로 복사하는 단계;
제2 유효 페이지들을 상기 제1 블록에서 상기 제1 휘발성 메모리 장치로 복사하는 단계;
상기 제2 유효 페이지들을 상기 제1 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제2 래치부로 복사하는 단계;
상기 제1 유효 페이지들을 상기 제1 래치부에서 상기 복수의 비휘발성 메모리 장치들에 대해 설정되고 상기 제1 블록과 다른 제2 블록에 기입하는 제1 프로그램 동작을 수행하는 단계; 및
상기 제2 유효 페이지들을 상기 제2 래치부에서 상기 제2 블록에 기입하는 제2 프로그램 동작을 수행하는 단계를 포함하고,
상기 제2 프로그램 동작은 상기 제1 프로그램 동작이 완료되기 이전에 시작되는 저장 장치의 구동 방법.
Copying first valid pages from a first block set for a plurality of nonvolatile memory devices to a first volatile memory device;
Copying the first valid pages from the first volatile memory device to a first latch part included in the plurality of nonvolatile memory devices;
Copying second valid pages from the first block to the first volatile memory device;
Copying the second valid pages from the first volatile memory device to a second latch part included in the plurality of nonvolatile memory devices;
Performing a first program operation in which the first valid pages are set for the plurality of nonvolatile memory devices by the first latch unit and are written to a second block different from the first block; And
And performing a second program operation of writing the second valid pages to the second block by the second latch unit,
The second program operation is started before the first program operation is completed.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 제1 블록에 포함되는 복수의 제1 메모리 셀들은 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell; MLC)들이며, 상기 제2 블록에 포함되는 복수의 제2 메모리 셀들은 하나의 데이터 비트를 저장하는 싱글 레벨 메모리 셀(single level memory cell; SLC)들인 것을 특징으로 하는 저장 장치의 구동 방법.
The method of claim 1,
The plurality of first memory cells included in the first block are multi level memory cells (MLCs) storing a plurality of data bits, and a plurality of second memory cells included in the second block is one A method of driving a storage device, characterized in that they are single level memory cells (SLCs) that store bits of data.
제 1 항에 있어서,
상기 제1 블록에 대한 소거 동작을 수행하는 단계; 및
상기 제2 블록에 기입된 상기 제1 및 제2 유효 페이지들을 상기 복수의 비휘발성 메모리 장치들에 대해 설정되고 상기 제1 및 제2 블록들과 다른 제3 블록에 복사하는 단계를 더 포함하는 것을 특징으로 하는 저장 장치의 구동 방법.
The method of claim 1,
Performing an erase operation on the first block; And
And copying the first and second valid pages written in the second block to a third block that is set for the plurality of nonvolatile memory devices and is different from the first and second blocks. A method of driving a storage device, characterized in that.
제 1 항에 있어서,
제3 유효 페이지들을 상기 제1 블록에서 제2 휘발성 메모리 장치로 복사하는 단계;
상기 제3 유효 페이지들을 상기 제2 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제3 래치부로 복사하는 단계;
제4 유효 페이지들을 상기 제1 블록에서 상기 제2 휘발성 메모리 장치로 복사하는 단계;
상기 제4 유효 페이지들을 상기 제2 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제4 래치부로 복사하는 단계;
상기 제3 유효 페이지들을 상기 제3 래치부에서 상기 제2 블록으로 복사하는 단계; 및
상기 제4 유효 페이지들을 상기 제4 래치부에서 상기 제2 블록으로 복사하는 단계를 더 포함하는 것을 특징으로 하는 저장 장치의 구동 방법.
The method of claim 1,
Copying third valid pages from the first block to a second volatile memory device;
Copying the third valid pages from the second volatile memory device to a third latch part included in the plurality of nonvolatile memory devices;
Copying fourth valid pages from the first block to the second volatile memory device;
Copying the fourth valid pages from the second volatile memory device to a fourth latch part included in the plurality of nonvolatile memory devices;
Copying the third valid pages from the third latch unit to the second block; And
And copying the fourth valid pages from the fourth latch unit to the second block.
제1 유효 페이지들을 복수의 비휘발성 메모리 장치들에 대해 설정된 제1 블록에서 제1 휘발성 메모리 장치로 복사하는 단계;
상기 제1 유효 페이지들을 상기 제1 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제1 래치부로 복사하는 단계;
제2 유효 페이지들을 상기 제1 블록에서 제2 휘발성 메모리 장치로 복사하는 단계;
상기 제2 유효 페이지들을 상기 제2 휘발성 메모리 장치에서 상기 복수의 비휘발성 메모리 장치들에 포함된 제2 래치부로 복사하는 단계;
상기 제1 유효 페이지들을 상기 제1 래치부에서 상기 복수의 비휘발성 메모리 장치들에 대해 설정되고 상기 제1 블록과 다른 제2 블록에 기입하는 제1 프로그램 동작을 수행하는 단계; 및
상기 제2 유효 페이지들을 상기 제2 래치부에서 상기 제2 블록에 기입하는 제2 프로그램 동작을 수행하는 단계를 포함하고,
상기 제2 프로그램 동작은 상기 제1 프로그램 동작이 완료되기 이전에 시작되는 저장 장치의 구동 방법.
Copying first valid pages from a first block set for a plurality of nonvolatile memory devices to a first volatile memory device;
Copying the first valid pages from the first volatile memory device to a first latch part included in the plurality of nonvolatile memory devices;
Copying second valid pages from the first block to a second volatile memory device;
Copying the second valid pages from the second volatile memory device to a second latch part included in the plurality of nonvolatile memory devices;
Performing a first program operation in which the first valid pages are set for the plurality of nonvolatile memory devices by the first latch unit and are written to a second block different from the first block; And
And performing a second program operation of writing the second valid pages to the second block by the second latch unit,
The second program operation is started before the first program operation is completed.
삭제delete 제 8 항에 있어서,
상기 복수의 비휘발성 메모리 장치들 각각은 복수의 워드 라인들이 수직으로 적층된 수직형 메모리 장치이며,
상기 제1 및 제2 블록들에 포함되는 복수의 메모리 셀들은 각각 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell; MLC)들인 것을 특징으로 하는 저장 장치의 구동 방법.
The method of claim 8,
Each of the plurality of nonvolatile memory devices is a vertical memory device in which a plurality of word lines are vertically stacked,
A method of driving a storage device, wherein the plurality of memory cells included in the first and second blocks are multi level memory cells (MLCs) each storing a plurality of data bits.
KR1020130163613A 2013-12-26 2013-12-26 Method of operating storage device KR102166924B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130163613A KR102166924B1 (en) 2013-12-26 2013-12-26 Method of operating storage device
US14/579,179 US9772940B2 (en) 2013-12-26 2014-12-22 Storage device comprising volatile and nonvolatile memory devices, and related methods of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130163613A KR102166924B1 (en) 2013-12-26 2013-12-26 Method of operating storage device

Publications (2)

Publication Number Publication Date
KR20150075551A KR20150075551A (en) 2015-07-06
KR102166924B1 true KR102166924B1 (en) 2020-10-16

Family

ID=53481804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130163613A KR102166924B1 (en) 2013-12-26 2013-12-26 Method of operating storage device

Country Status (2)

Country Link
US (1) US9772940B2 (en)
KR (1) KR102166924B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6448570B2 (en) * 2016-03-08 2019-01-09 東芝メモリ株式会社 Storage system, information processing system, and control method
US10101942B1 (en) * 2017-04-17 2018-10-16 Sandisk Technologies Llc System and method for hybrid push-pull data management in a non-volatile memory
TWI628543B (en) * 2017-09-07 2018-07-01 群聯電子股份有限公司 Decoding method, memory storage device and memory control circuit unit
CN109002259B (en) * 2018-06-28 2021-03-09 苏州浪潮智能科技有限公司 Hard disk allocation method, system, device and storage medium of homing group

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20080098165A1 (en) * 2006-10-13 2008-04-24 Naoharu Shinozaki Semiconductor device and method of controlling the same
US20100318839A1 (en) * 2009-06-16 2010-12-16 Sandisk Corporation Data recovery in multi-level cell nonvolatile memory
US20110296087A1 (en) * 2010-05-25 2011-12-01 Samsung Electronics Co., Ltd. Method of merging blocks in a semiconductor memory device, and semiconductor memory device to perform a method of merging blocks
US20120079167A1 (en) * 2010-09-24 2012-03-29 Kabushiki Kaisha Toshiba Memory system
US20130227203A1 (en) * 2008-11-12 2013-08-29 Micron Technology, Inc. Dynamic slc/mlc blocks allocations for non-volatile memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4050548B2 (en) 2002-04-18 2008-02-20 株式会社ルネサステクノロジ Semiconductor memory device
US7624137B2 (en) 2004-01-05 2009-11-24 International Business Machines Corporation Method and apparatus for scheduling and performing garbage collection in a real-time system with guaranteed space bounds
KR100765786B1 (en) 2006-06-12 2007-10-12 삼성전자주식회사 Flash memory system, host system for programming and program method thereof
KR100754226B1 (en) 2006-08-22 2007-09-03 삼성전자주식회사 Method for programming a non-volatile data storage and apparatus thereof
US7444463B2 (en) 2006-09-29 2008-10-28 Sandisk Corporation System for phased garbage collection with state indicators
US7978516B2 (en) * 2007-12-27 2011-07-12 Pliant Technology, Inc. Flash memory controller having reduced pinout
KR101026634B1 (en) 2009-12-18 2011-04-04 성균관대학교산학협력단 A method of data storage for a hybrid flash memory
KR101774496B1 (en) 2010-12-08 2017-09-05 삼성전자주식회사 Non-volatile memory device, devices having the same, method of operating the same
US20120297121A1 (en) 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
US8930614B2 (en) * 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
KR20130057086A (en) 2011-11-23 2013-05-31 삼성전자주식회사 Method of programming a nonvolatile memory device
US9189389B2 (en) * 2013-03-11 2015-11-17 Kabushiki Kaisha Toshiba Memory controller and memory system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20080098165A1 (en) * 2006-10-13 2008-04-24 Naoharu Shinozaki Semiconductor device and method of controlling the same
US20130227203A1 (en) * 2008-11-12 2013-08-29 Micron Technology, Inc. Dynamic slc/mlc blocks allocations for non-volatile memory
US20100318839A1 (en) * 2009-06-16 2010-12-16 Sandisk Corporation Data recovery in multi-level cell nonvolatile memory
US20110296087A1 (en) * 2010-05-25 2011-12-01 Samsung Electronics Co., Ltd. Method of merging blocks in a semiconductor memory device, and semiconductor memory device to perform a method of merging blocks
US20120079167A1 (en) * 2010-09-24 2012-03-29 Kabushiki Kaisha Toshiba Memory system

Also Published As

Publication number Publication date
US9772940B2 (en) 2017-09-26
US20150186054A1 (en) 2015-07-02
KR20150075551A (en) 2015-07-06

Similar Documents

Publication Publication Date Title
US11137912B2 (en) Memory controller and method of operating the same
US8812773B2 (en) Method of merging blocks in a semiconductor memory device, and semiconductor memory device to perform a method of merging blocks
US20130132644A1 (en) Method of programming a nonvolatile memory device
US20210072922A1 (en) Storage device and operating method thereof
US8593900B2 (en) Method and apparatus for performing multi-block access operation in nonvolatile memory device
US20130024608A1 (en) Flash memory apparatus
CN111104059A (en) Memory controller and method of operating the same
US10936508B2 (en) Storage device and method of operating the same
CN111352855B (en) Memory device with improved map update speed and method of operating the same
CN111177020B (en) Memory device and method of operating the same
KR102166924B1 (en) Method of operating storage device
CN112035055A (en) Storage device and operation method thereof
CN114860622A (en) Storage device and method for operating storage device
CN111078583A (en) Memory system and operating method thereof
CN112346650A (en) Storage device and operation method thereof
CN112748874A (en) Memory controller for executing host-aware performance enhancement mode and method of operating the same
KR20130055062A (en) Method of reading data in nonvolatile memory device and method of operating nonvolatile memory device
CN110716880B (en) Memory system and operating method thereof
CN110716881B (en) Memory system and operating method thereof
US11055019B2 (en) Storage device and method of operating the same
US10996881B2 (en) Storage device and method of operating the same
US20130318419A1 (en) Flash memory system including read counter logic
CN115509957A (en) Host device, storage device and operation method thereof
CN114388038A (en) Memory device and operating method thereof
CN112349325A (en) Storage device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant