KR20240157510A - Operating method of nonvolatile memory device - Google Patents

Operating method of nonvolatile memory device Download PDF

Info

Publication number
KR20240157510A
KR20240157510A KR1020230110081A KR20230110081A KR20240157510A KR 20240157510 A KR20240157510 A KR 20240157510A KR 1020230110081 A KR1020230110081 A KR 1020230110081A KR 20230110081 A KR20230110081 A KR 20230110081A KR 20240157510 A KR20240157510 A KR 20240157510A
Authority
KR
South Korea
Prior art keywords
data
bit
sub
word line
memory device
Prior art date
Application number
KR1020230110081A
Other languages
Korean (ko)
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 US18/646,447 priority Critical patent/US20240361946A1/en
Publication of KR20240157510A publication Critical patent/KR20240157510A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Abstract

본 개시의 실시예에 따른 기판에 수직한 방향으로 형성되고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서, 제1 워드 라인에 연결된 메모리 셀들 중 소거 상태를 갖는 제1 메모리 셀들을 검출하는 단계, 제1 워드 라인에 인접한 제2 워드 라인에 연결된 메모리 셀들 중 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 검출하는 단계, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출하는 단계, 제2 워드 라인과 인접한 제3 워드 라인에 프로그램될 쓰기 데이터에서, 타겟 비트 라인에 대응하고, 소거 상태에 대응하는 타겟 비트들을 검출하는 단계, 타겟 비트들을 기반으로 플립 비트 위치 데이터를 생성하는 단계, 쓰기 데이터 중 타겟 비트들을 플립하여 플립된 데이터를 생성하는 단계, 및 플립된 데이터 및 플립 비트 위치 데이터를 제3 워드 라인에 프로그램하는 단계를 포함하고, 복수의 스트링들 각각은 복수의 메모리 셀들을 포함하고, 복수의 메모리 셀들은 제1 영역 및 제2 영역으로 분할되고, 제1 영역은 제1 내지 제3 부분들로 분할되고, 쓰기 데이터는 제1 내지 제3 페이지 데이터를 포함하고, 복수의 메모리 셀들 각각은 소거 상태 및 제1 내지 제7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되고, 타겟 비트들 중 제1 서브 타겟 비트들은 제1 부분에 대응하고, 타겟 비트들 중 제2 서브 타겟 비트들은 제2 부분에 대응하고, 타겟 비트들 중 제3 서브 타겟 비트들은 제3 부분에 대응하는 경우, 제1 페이지 데이터의 제1 서브 타겟 비트들에 대응하는 데이터는 플립되고, 제2 페이지 데이터의 제2 서브 타겟 비트들에 대응하는 데이터는 플립되고, 제3 페이지 데이터의 제3 서브 타겟 비트들에 대응하는 데이터는 플립된다. A method for operating a nonvolatile memory device including a plurality of memory blocks formed in a direction perpendicular to a substrate according to an embodiment of the present disclosure and having a plurality of strings connected between bit lines and a common source line, the method comprising: detecting first memory cells having an erase state among memory cells connected to a first word line; detecting second memory cells having a sixth program state or a seventh program state among memory cells connected to a second word line adjacent to the first word line; detecting target bit lines including both the first memory cell and the second memory cell; detecting target bits corresponding to the target bit line and corresponding to the erase state in write data to be programmed to a third word line adjacent to the second word line; generating flip bit position data based on the target bits; generating flipped data by flipping the target bits among the write data; and programming the flipped data and the flip bit position data to the third word line, wherein each of the plurality of strings includes a plurality of memory cells, the plurality of memory cells are divided into a first region and a second region, and the first region is divided into first to third portions. The memory cells are divided, and the write data includes first to third page data, and each of the plurality of memory cells is programmed to have one of an erase state and first to seventh program states, and when first sub-target bits of the target bits correspond to a first portion, second sub-target bits of the target bits correspond to a second portion, and third sub-target bits of the target bits correspond to a third portion, data corresponding to the first sub-target bits of the first page data is flipped, data corresponding to the second sub-target bits of the second page data is flipped, and data corresponding to the third sub-target bits of the third page data is flipped.

Description

불휘발성 메모리 장치의 동작 방법{OPERATING METHOD OF NONVOLATILE MEMORY DEVICE}OPERATING METHOD OF NONVOLATILE MEMORY DEVICE

본 개시는 반도체 메모리에 관한 것으로, 좀 더 상세하게는 불휘발성 메모리 장치의 동작 방법에 관한 것이다.The present disclosure relates to semiconductor memory, and more specifically, to an operating method of a nonvolatile memory device.

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

불휘발성 메모리 장치의 용량을 증가시키기 위하여, 불휘발성 메모리 장치에 3차원 구조가 도입되고 있다. 3차원 구조를 제조하는 공정상의 특성들로 인해, 3차원 불휘발성 메모리 장치의 메모리 셀들은 특정 패턴에서 측면 확산이 가속화될 수 있다. 수직으로 인접한 메모리 셀들의 상태의 특정 패턴으로 인한 오류를 방지하는 장치 또는 방법에 대한 요구가 존재한다. In order to increase the capacity of nonvolatile memory devices, three-dimensional structures are being introduced into nonvolatile memory devices. Due to the characteristics of the process for manufacturing the three-dimensional structure, the memory cells of the three-dimensional nonvolatile memory device may experience accelerated lateral diffusion in a specific pattern. There is a need for a device or method for preventing errors due to a specific pattern of states of vertically adjacent memory cells.

본 개시의 복적은 신뢰성이 향상된 불휘발성 메모리 장치의 동작 방법을 제공하는 데 있다. The present disclosure provides a method of operating a nonvolatile memory device with improved reliability.

본 개시의 실시예에 따른 기판에 수직한 방향으로 형성되고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서, 제1 워드 라인에 연결된 메모리 셀들 중 소거 상태를 갖는 제1 메모리 셀들을 검출하는 단계, 제1 워드 라인에 인접한 제2 워드 라인에 연결된 메모리 셀들 중 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 검출하는 단계, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출하는 단계, 제2 워드 라인과 인접한 제3 워드 라인에 프로그램될 쓰기 데이터에서, 타겟 비트 라인에 대응하고, 소거 상태에 대응하는 타겟 비트들을 검출하는 단계, 타겟 비트들을 기반으로 플립 비트 위치 데이터를 생성하는 단계, 쓰기 데이터 중 타겟 비트들을 플립하여 플립된 데이터를 생성하는 단계, 및 플립된 데이터 및 플립 비트 위치 데이터를 제3 워드 라인에 프로그램하는 단계를 포함하고, 복수의 스트링들 각각은 복수의 메모리 셀들을 포함하고, 복수의 메모리 셀들은 제1 영역 및 제2 영역으로 분할되고, 제1 영역은 제1 내지 제3 부분들로 분할되고, 쓰기 데이터는 제1 내지 제3 페이지 데이터를 포함하고, 복수의 메모리 셀들 각각은 소거 상태 및 제1 내지 제7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되고, 타겟 비트들 중 제1 서브 타겟 비트들은 제1 부분에 대응하고, 타겟 비트들 중 제2 서브 타겟 비트들은 제2 부분에 대응하고, 타겟 비트들 중 제3 서브 타겟 비트들은 제3 부분에 대응하는 경우, 제1 페이지 데이터의 제1 서브 타겟 비트들에 대응하는 데이터는 플립되고, 제2 페이지 데이터의 제2 서브 타겟 비트들에 대응하는 데이터는 플립되고, 제3 페이지 데이터의 제3 서브 타겟 비트들에 대응하는 데이터는 플립된다. A method for operating a nonvolatile memory device including a plurality of memory blocks formed in a direction perpendicular to a substrate according to an embodiment of the present disclosure and having a plurality of strings connected between bit lines and a common source line, the method comprising: detecting first memory cells having an erase state among memory cells connected to a first word line; detecting second memory cells having a sixth program state or a seventh program state among memory cells connected to a second word line adjacent to the first word line; detecting target bit lines including both the first memory cell and the second memory cell; detecting target bits corresponding to the target bit line and corresponding to the erase state in write data to be programmed to a third word line adjacent to the second word line; generating flip bit position data based on the target bits; generating flipped data by flipping the target bits among the write data; and programming the flipped data and the flip bit position data to the third word line, wherein each of the plurality of strings includes a plurality of memory cells, the plurality of memory cells are divided into a first region and a second region, and the first region is divided into first to third portions. The memory cells are divided, and the write data includes first to third page data, and each of the plurality of memory cells is programmed to have one of an erase state and first to seventh program states, and when first sub-target bits of the target bits correspond to a first portion, second sub-target bits of the target bits correspond to a second portion, and third sub-target bits of the target bits correspond to a third portion, data corresponding to the first sub-target bits of the first page data is flipped, data corresponding to the second sub-target bits of the second page data is flipped, and data corresponding to the third sub-target bits of the third page data is flipped.

본 개시의 실시예에 따른 기판에 수직한 방향으로 형성되고, 복수의 메모리 셀들을 포함하고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서, 제1 읽기 전압을 사용하여 제1 워드 라인에 대한 제1 센싱 동작을 수행하여, 제1 워드 라인에 연결된 메모리 셀들 중 소거 상태에 대응하는 제1 메모리 셀을 가리키는 제1 비트맵을 생성하는 단계, 제6 읽기 전압을 사용하여 제1 워드 라인과 인접한 제2 워드 라인에 대한 제2 센싱 동작을 수행하여, 제2 워드 라인에 연결된 메모리 셀들 중에서 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 가리키는 제2 비트맵을 생성하는 단계, 제1 비트맵 및 제2 비트맵에 대한 AND 연산을 수행하여, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 가리키는 제3 비트맵을 생성하는 단계, 외부로부터 제2 워드 라인과 인접한 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터를 수신하는 단계, 제3 비트맵, 및 쓰기 데이터에 대한 AND 연산을 수행하여, 약한 패턴에 대응하는 타겟 비트들을 가리키는 제4 비트맵(BM4)을 생성하는 단계, 제4 비트맵을 기반으로 플립 비트 위치 데이터를 생성하는 단계, 쓰기 데이터 및 플립 비트 위치 데이터를 기반으로, 플립 동작을 수행하여 인코딩된 데이터를 생성하는 단계, 및 인코딩된 데이터를 제3 워드 라인에 연결된 메모리 셀들에 프로그램하는 단계를 포함한다. A method for operating a nonvolatile memory device including a plurality of memory blocks formed in a direction perpendicular to a substrate according to an embodiment of the present disclosure, the memory blocks including a plurality of memory cells and having a plurality of strings connected between bit lines and a common source line, the method comprising: performing a first sensing operation on a first word line using a first read voltage to generate a first bitmap indicating a first memory cell corresponding to an erase state among memory cells connected to the first word line; performing a second sensing operation on a second word line adjacent to the first word line using a sixth read voltage to generate a second bitmap indicating second memory cells having a sixth program state or a seventh program state among memory cells connected to the second word line; performing an AND operation on the first bitmap and the second bitmap to generate a third bitmap indicating target bit lines including both the first memory cell and the second memory cell; receiving write data to be programmed into memory cells connected to the third word line adjacent to the second word line from the outside; performing an AND operation on the third bitmap and the write data. The method comprises the steps of: generating a fourth bitmap (BM4) indicating target bits corresponding to a weak pattern; generating flip bit position data based on the fourth bitmap; generating encoded data by performing a flip operation based on the write data and the flip bit position data; and programming the encoded data into memory cells connected to a third word line.

본 개시의 실시예에 따른 기판에 수직한 방향으로 형성되고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서, 제1 워드 라인에 연결된 메모리 셀들 중 소거 상태를 갖는 제1 메모리 셀들을 검출하는 단계, 제1 워드 라인에 인접한 제2 워드 라인에 연결된 메모리 셀들 중 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 검출하는 단계, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출하는 단계, 제2 워드 라인과 인접한 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터에서, 타겟 비트 라인에 대응하고, 소거 상태에 대응하는 타겟 비트들을 검출하는 단계, 타겟 비트들을 기반으로 플립 비트 위치 데이터를 생성하는 단계, 쓰기 데이터 중 타겟 비트들을 플립하고, 타겟 비트들과 동일한 청크에 포함된 타겟 이웃 비트들을 플립하여 플립된 데이터를 생성하는 단계, 및 플립된 데이터 및 플립 비트 위치 데이터를 제3 워드 라인에 프로그램하는 단계를 포함하고, 쓰기 데이터는 복수의 청크들을 포함한다.A method for operating a nonvolatile memory device including a plurality of memory blocks formed in a direction perpendicular to a substrate according to an embodiment of the present disclosure and having a plurality of strings connected between bit lines and a common source line, the method comprising: detecting first memory cells having an erase state among memory cells connected to a first word line; detecting second memory cells having a sixth program state or a seventh program state among memory cells connected to a second word line adjacent to the first word line; detecting target bit lines including both the first memory cell and the second memory cell; detecting target bits corresponding to the target bit line and corresponding to the erase state in write data to be programmed in memory cells connected to a third word line adjacent to the second word line; generating flip bit position data based on the target bits; generating flipped data by flipping target bits among the write data and flipping target neighboring bits included in the same chunk as the target bits; and programming the flipped data and the flip bit position data to the third word line, wherein the write data includes a plurality of chunks.

본 개시의 실시예에 따르면, 불휘발성 메모리 장치는 측면 확산에 약한 패턴을 검출하고, 인코딩 동작을 수행하여 약한 패턴을 제거할 수 있다. 이에 따라, 향상된 신뢰성을 갖는 불휘발성 메모리 장치의 동작 방법이 제공된다.According to an embodiment of the present disclosure, a nonvolatile memory device can detect a pattern weak to lateral diffusion and perform an encoding operation to remove the weak pattern. Accordingly, a method of operating a nonvolatile memory device with enhanced reliability is provided.

도 1은 본 개시의 실시예에 따른 불휘발성 메모리 장치를 보여준다.
도 2는 본 개시의 일 실시예에 따른 메모리 블록을 보여주는 회로도이다.
도 3은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기위한 도면이다.
도 4a 및 도 4b는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 측면 확산을 설명하기 위한 도면들이다.
도 5a 및 도 5b는 본 개시의 일 실시예에 따른 인코딩 동작을 설명하기 위한 도면들이다.
도 6은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다.
도 7은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다.
도 8a 내지 도 8c는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다.
도 9는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다.
도 10a 및 도 10b는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다.
도 11a 내지 도 11d는 본 개시의 일 실시예 따른 불휘발성 메모리 장치의 제1 플립 동작을 설명하기 위한 도면들이다.
도 12a 및 도 12b는 본 개시의 일 실시예 따른 불휘발성 메모리 장치의 제2 플립 동작을 설명하기 위한 도면들이다.
도 13a 내지 도 13g는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 쓰기 동작을 설명하기 위한 도면들이다.
도 14는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 쓰기 동작을 설명하기 위한 도면이다.
도 15a 내지 도 15c는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 읽기 동작을 설명하기 위한 도면들이다.
도 16은 본 개시에 따른 스토리지 장치가 적용된 SSD 시스템을 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 메모리 장치(500)를 설명하기 위한 도면이다.
FIG. 1 illustrates a nonvolatile memory device according to an embodiment of the present disclosure.
FIG. 2 is a circuit diagram showing a memory block according to one embodiment of the present disclosure.
FIG. 3 is a diagram for explaining the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 4A and 4B are drawings for explaining lateral diffusion of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 5A and 5B are drawings for explaining an encoding operation according to one embodiment of the present disclosure.
FIG. 6 is a flowchart showing the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIG. 7 is a flowchart showing the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 8A to 8C are drawings for explaining the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIG. 9 is a flowchart showing the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 10A and 10B are drawings for explaining the operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 11A to 11D are drawings for explaining a first flip operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 12A and 12B are drawings for explaining a second flip operation of a nonvolatile memory device according to one embodiment of the present disclosure.
FIGS. 13A to 13G are drawings for explaining a write operation of a nonvolatile memory device according to an embodiment of the present disclosure.
FIG. 14 is a diagram for explaining a write operation of a nonvolatile memory device according to an embodiment of the present disclosure.
FIGS. 15A to 15C are drawings for explaining a read operation of a nonvolatile memory device according to an embodiment of the present disclosure.
FIG. 16 is a block diagram showing an SSD system to which a storage device according to the present disclosure is applied.
FIG. 17 is a drawing for explaining a memory device (500) according to an embodiment of the present invention.

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

도 1은 본 개시의 실시예에 따른 불휘발성 메모리 장치를 보여준다. FIG. 1 illustrates a nonvolatile memory device according to an embodiment of the present disclosure.

도 1을 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 페이지 버퍼 회로(130), 입출력 회로(140), 전압 생성기(150), 및 제어 로직 회로(160)를 포함할 수 있다. 도 1에는 도시되지 않았으나, 불휘발성 메모리 장치(100)는 컬럼 로직, 프리-디코더, 온도 센서, 커맨드 디코더, 어드레스 디코더 등을 더 포함할 수 있다. 일 실시 예에서, 불휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치와 같은 불휘발성 메모리 장치일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.Referring to FIG. 1, a nonvolatile memory device (100) may include a memory cell array (110), a row decoder (120), a page buffer circuit (130), an input/output circuit (140), a voltage generator (150), and a control logic circuit (160). Although not shown in FIG. 1, the nonvolatile memory device (100) may further include column logic, a pre-decoder, a temperature sensor, a command decoder, an address decoder, and the like. In one embodiment, the nonvolatile memory device (100) may be a nonvolatile memory device such as a NAND flash memory device, but the scope of the present disclosure is not limited thereto.

예를 들어, 메모리 셀 어레이(110)는 불휘발성 메모리 장치(100)의 코어일 수 있다. 로우 디코더(120), 페이지 버퍼 회로(130), 입출력 회로(140), 및 제어 로직 회로(160)는 불휘발성 메모리 장치(100)의 주변 회로일 수 있다. 주변 회로는 코어를 액세스하도록 구성될 수 있다.For example, the memory cell array (110) may be a core of a nonvolatile memory device (100). The row decoder (120), the page buffer circuit (130), the input/output circuit (140), and the control logic circuit (160) may be peripheral circuits of the nonvolatile memory device (100). The peripheral circuits may be configured to access the core.

메모리 셀 어레이(110)는 복수의 메모리 블록들을 포함할 수 있다. 복수의 메모리 블록들 각각은 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(110)는 비트 라인들(BL)을 통해 페이지 버퍼 회로(130)에 연결될 수 있고, 워드 라인들(WL), 스트링 선택 라인들(SSL), 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(120)에 연결될 수 있다. 복수의 메모리 블록들 각각의 구성은 도 2를 참조하여 더욱 상세하게 설명된다.The memory cell array (110) may include a plurality of memory blocks. Each of the plurality of memory blocks may include a plurality of memory cells. The memory cell array (110) may be connected to a page buffer circuit (130) through bit lines (BL) and may be connected to a row decoder (120) through word lines (WL), string select lines (SSL), and ground select lines (GSL). The configuration of each of the plurality of memory blocks is described in more detail with reference to FIG. 2.

예시적인 실시 예에서, 메모리 셀 어레이(110)는 3차원 메모리 셀 어레이를 포함할 수 있고, 3차원 메모리 셀 어레이는 복수의 스트링들을 포함할 수 있다. 각 스트링은 기판 위에 수직으로 적층된 워드 라인들에 각각 연결된 메모리 셀들을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 본 명세서에 인용 형식으로 결합된다. In an exemplary embodiment, the memory cell array (110) may include a three-dimensional memory cell array, and the three-dimensional memory cell array may include a plurality of strings. Each string may include memory cells respectively connected to word lines vertically stacked on the substrate. U.S. Patent Publication No. 7,679,133, U.S. Patent Publication No. 8,553,466, U.S. Patent Publication No. 8,654,587, U.S. Patent Publication No. 8,559,235, and U.S. Patent Application Publication No. 2011/0233648 are herein incorporated by reference in their entirety.

로우 디코더(120)는 제어 로직 회로(160)로부터 로우 어드레스(X-ADDR)를 수신할 수 있다. 로우 디코더(120)는 로우 어드레스(X-ADDR)를 디코딩하고, 디코딩 결과를 기반으로, 스트링 선택 라인들(SSL), 워드 라인들(WL), 및 접지 선택 라인들(GSL)의 전압을 제어 또는 구동할 수 있다. 예를 들어, 로우 디코더(120)는 디코딩 결과를 기반으로, 스트링 선택 라인들(SSL), 워드 라인들(WL), 및 접지 선택 라인들(GSL) 각각으로 대응하는 동작 전압을 제공할 수 있다. The row decoder (120) can receive a row address (X-ADDR) from the control logic circuit (160). The row decoder (120) can decode the row address (X-ADDR) and, based on the decoding result, control or drive the voltages of the string select lines (SSL), the word lines (WL), and the ground select lines (GSL). For example, the row decoder (120) can provide a corresponding operating voltage to each of the string select lines (SSL), the word lines (WL), and the ground select lines (GSL), based on the decoding result.

로우 디코더(120)는 로우 어드레스(X-ADDR)에 응답하여 복수의 워드 라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다. 예를 들어, 프로그램 동작 시, 로우 디코더(360)는 선택된 워드 라인으로 프로그램 전압 및 프로그램 검증 전압을 인가하고, 독출 동작 시, 선택된 워드 라인으로 독출 전압을 인가할 수 있다.The row decoder (120) can select one of a plurality of word lines (WL) and one of a plurality of string select lines (SSL) in response to a row address (X-ADDR). For example, during a program operation, the row decoder (360) can apply a program voltage and a program verify voltage to the selected word line, and during a read operation, the row decoder (360) can apply a read voltage to the selected word line.

페이지 버퍼 회로(130)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)와 연결될 수 있다. 페이지 버퍼 회로(130)는 컬럼 어드레스(Y-ADDR)에 응답하여 비트 라인들(BL) 중 적어도 하나의 비트 라인을 선택할 수 있다. 페이지 버퍼 회로(130)는 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 페이지 버퍼 회로(130)는 입출력 회로(140)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 임시 저장할 수 있다. 페이지 버퍼 회로(130)는, 임시 저장된 데이터(DATA)가 메모리 셀 어레이(110)에 저장되도록, 비트 라인들(BL)의 전압을 제어할 수 있다. 또는 페이지 버퍼 회로(130)는 비트 라인들(BL)의 전압 변화를 감지함으로써, 메모리 셀 어레이(110)에 저장된 데이터(DATA)를 읽을 수 있다. 페이지 버퍼 회로(130)는 읽은 데이터(DATA)를 입출력 회로(140)로 전달할 수 있다.The page buffer circuit (130) may be connected to the memory cell array (110) via bit lines (BL). The page buffer circuit (130) may select at least one bit line among the bit lines (BL) in response to a column address (Y-ADDR). The page buffer circuit (130) may operate as a write driver or a sense amplifier depending on the operation mode. For example, the page buffer circuit (130) may receive data (DATA) from the input/output circuit (140) and temporarily store the received data (DATA). The page buffer circuit (130) may control the voltage of the bit lines (BL) so that the temporarily stored data (DATA) is stored in the memory cell array (110). Alternatively, the page buffer circuit (130) may read the data (DATA) stored in the memory cell array (110) by detecting a voltage change of the bit lines (BL). The page buffer circuit (130) may transfer the read data (DATA) to the input/output circuit (140).

페이지 버퍼 회로(130)는 데이터 래치(131) 및 비트 단위 논리 연산 회로(미도시)를 포함할 수 있다. 페이지 버퍼 회로(130)는 데이터 래치(131)에 데이터를 저장할 수 있다. 데이터 래치(131)는 제1 내지 제5 데이터 래치들을 포함할 수 있다. 페이지 버퍼 회로(130)는 데이터 래치(131)에 약한(또는 취약) 패턴 검출 동작 또는 플립 동작을 수행하면서 생성되는 비트맵, 및 데이터 등을 저장할 수 있다. 비트 단위 논리 연산 회로는 데이터 래치에 저장된 데이터에 대한 논리 연산을 수행할 수 있다.The page buffer circuit (130) may include a data latch (131) and a bit-level logic operation circuit (not shown). The page buffer circuit (130) may store data in the data latch (131). The data latch (131) may include first to fifth data latches. The page buffer circuit (130) may store a bitmap, data, etc. generated while performing a weak (or vulnerable) pattern detection operation or a flip operation on the data latch (131). The bit-level logic operation circuit may perform a logic operation on the data stored in the data latch.

입출력 회로(140)는 외부 장치(예를 들어, 스토리지 컨트롤러)와 데이터(DATA)를 주고받을 수 있다. 일 실시 예에서, 입출력 회로(140)는 데이터 스트로브 신호에 동기하여, 외부 장치로 데이터(DATA)를 출력하거나 또는 외부 장치로부터 데이터(DATA)를 수신할 수 있다.The input/output circuit (140) can exchange data (DATA) with an external device (e.g., a storage controller). In one embodiment, the input/output circuit (140) can output data (DATA) to an external device or receive data (DATA) from an external device in synchronization with a data strobe signal.

전압 생성기(150)는 전압 제어 신호(CTRL_vol)를 기반으로 프로그램, 독출, 및 소거 동작들을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 예를 들어, 전압 생성기(150)는 워드 라인 전압(VWL)으로서 프로그램 전압, 독출 전압, 프로그램 검증 전압, 소거 전압 등을 생성할 수 있다.The voltage generator (150) can generate various types of voltages for performing program, read, and erase operations based on a voltage control signal (CTRL_vol). For example, the voltage generator (150) can generate a program voltage, a read voltage, a program verify voltage, an erase voltage, etc. as a word line voltage (VWL).

제어 로직 회로(160)는 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직 회로(160)는 스토리지 컨트롤러(미도시)로부터의 커맨드(CMD) 및/또는 어드레스(ADDR)에 응답하여 각종 제어 신호들을 출력할 수 있다. 예를 들어, 제어 로직 회로(160)는 전압 제어 신호(CTRL_vol), 로우 어드레스(X-ADDR), 및 컬럼 어드레스(Y-ADDR)를 출력할 수 있다.The control logic circuit (160) can control various operations within the memory device (100) in general. The control logic circuit (160) can output various control signals in response to a command (CMD) and/or an address (ADDR) from a storage controller (not shown). For example, the control logic circuit (160) can output a voltage control signal (CTRL_vol), a row address (X-ADDR), and a column address (Y-ADDR).

제어 로직 회로(160)는 FBP 엔진(161), ECC 엔진(162), 및 FBP 버퍼(163)를 포함할 수 있다. FBP 엔진(161)은 플립 비트 위치(FBP; FLIP BIT POISION) 데이터를 생성할 수 있다. FBP 엔진(161)은 플립 동작 또는 재플립 동작에 사용되는 플립할 비트를 가리키는 플립 비트 플래그를 생성할 수 있다. The control logic circuit (160) may include an FBP engine (161), an ECC engine (162), and an FBP buffer (163). The FBP engine (161) may generate flip bit position (FBP; FLIP BIT POISION) data. The FBP engine (161) may generate a flip bit flag indicating a bit to be flipped, which is used for a flip operation or a re-flip operation.

ECC 엔진(162)은 FBP 버퍼(163)로부터 수신된 FBP 데이터(또는 서브 FBP 데이터)에 대한 오류 검출 및 정정 기능을 수행할 수 있다. 예를 들어, ECC 엔진(126)은 메모리 셀 어레이(110)에 저장될 FBP 데이터(또는 서브 FBP 데이터)에 대하여 패리티 비트들(parity bits)을 생성할 수 있다. 생성된 패리티 비트들은 FBP 데이터(또는 서브 FBP 데이터)와 함께 메모리 셀 어레이(110)에 저장될 수 있다. 이후에, 디코딩 동작 시, ECC 엔진(162)은 패리티 비트들을 이용하여 인코딩된 FBP 데이터(또는 인코딩된 서브 FBP 데이터)의 에러를 정정하고, 에러가 정정된 인코딩된 FBP 데이터(또는 인코딩된 서브 FBP 데이터)를 출력할 수 있다.The ECC engine (162) can perform an error detection and correction function for FBP data (or sub FBP data) received from the FBP buffer (163). For example, the ECC engine (126) can generate parity bits for FBP data (or sub FBP data) to be stored in the memory cell array (110). The generated parity bits can be stored in the memory cell array (110) together with the FBP data (or sub FBP data). Thereafter, during a decoding operation, the ECC engine (162) can correct errors in the encoded FBP data (or encoded sub FBP data) using the parity bits, and output the encoded FBP data (or encoded sub FBP data) whose errors have been corrected.

FBP 버퍼(163)는 FBP 데이터를 저장할 수 있다. FBP 버퍼(163)는 FBP 엔진(161)으로부터 FBP 데이터를 수신할 수 있다. FBP 버퍼(163)는 수신된 FBP 데이터를 저장할 수 있다. FBP 데이터(163)는 저장된 FBP 데이터를 FBP 엔진(161) 또는 ECC 엔진(162)으로 출력할 수 있다. The FBP buffer (163) can store FBP data. The FBP buffer (163) can receive FBP data from the FBP engine (161). The FBP buffer (163) can store the received FBP data. The FBP data (163) can output the stored FBP data to the FBP engine (161) or the ECC engine (162).

3차원 메모리 셀 어레이를 포함하는 불휘발성 메모리 장치(100)는 전하 포획층을 공유하는 메모리 셀들 사이에서 측면 전하 확산이 발생한다. 특히, 특정 데이터 패턴(또는 약한 패턴)에서 전하 확산이 가속화되면서, 비트 오류가 증가한다. 본 개시의 실시예에 따른 불휘발성 메모리 장치(100)는 약한 패턴 검출 동작 및 인코딩 동작을 수행하여, 약한 패턴을 제거할 수 있다. 약한 패턴은 제1 패턴(예를 들어, E-P7-E) 또는 제2 패턴(예를 들어, E-P6-E)을 포함할 수 있다. A nonvolatile memory device (100) including a three-dimensional memory cell array causes lateral charge diffusion between memory cells sharing a charge capture layer. In particular, as charge diffusion is accelerated in a specific data pattern (or weak pattern), bit errors increase. A nonvolatile memory device (100) according to an embodiment of the present disclosure can remove a weak pattern by performing a weak pattern detection operation and an encoding operation. The weak pattern can include a first pattern (e.g., E-P7-E) or a second pattern (e.g., E-P6-E).

약한 패턴 검출 동작은 수직으로 인접한 셀들 사이의 약한 패턴을 제거하기 위해, 약한 패턴을 검출하는 동작을 가리킬 수 있다. 불휘발성 메모리 장치(100)는 마지막 소거 상태(E)가 프로그램되기 전에, 메모리 셀 어레이(110)에 프로그램된 제1 및 제2 워드 라인들에 연결된 메모리 셀들에 프로그램된 데이터, 불휘발성 메모리 장치(100)에 수신된 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터를 기반으로 약한 패턴을 검출할 수 있다. 불휘발성 메모리 장치(100)는 약한 패턴이 발생하기 전에, 데이터를 변환하여 약한 패턴이 발생하지 않도록 방지할 수 있다.A weak pattern detection operation may refer to an operation of detecting a weak pattern to remove a weak pattern between vertically adjacent cells. The nonvolatile memory device (100) may detect a weak pattern based on data programmed in memory cells connected to first and second word lines programmed in the memory cell array (110) and write data to be programmed in memory cells connected to a third word line received by the nonvolatile memory device (100) before the last erase state (E) is programmed. The nonvolatile memory device (100) may prevent a weak pattern from occurring by converting data before a weak pattern occurs.

인코딩 동작은 메모리 셀 어레이(110)에 프로그램될 데이터를 변환하는 동작을 가리킬 수 있다. 인코딩 동작은 FBP 데이터 생성 동작과 플립 동작을 포함할 수 있다. FBP 데이터 생성 동작은 제1 및 제2 워드 라인들에 연결된 메모리 셀들에 프로그램된 데이터, 불휘발성 메모리 장치(100)에 수신된 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터를 기반으로 플립될 비트들을 가리키는 FBP 데이터를 생성할 수 있다. FBP 데이터는 플립 동작을 수행하여 생성된 플립된 데이터에서 플립된 비트들의 위치에 관한 정보일 수 있다. An encoding operation may refer to an operation of converting data to be programmed into a memory cell array (110). The encoding operation may include an FBP data generation operation and a flip operation. The FBP data generation operation may generate FBP data indicating bits to be flipped based on data programmed into memory cells connected to first and second word lines and write data to be programmed into memory cells connected to a third word line received in a nonvolatile memory device (100). The FBP data may be information about positions of flipped bits in flipped data generated by performing the flip operation.

플립 동작은 FBP 데이터를 기반으로 쓰기 데이터를 플립하는 동작을 가리킬 수 있다. 플립 동작은 제1 플립 동작과 제2 플립 동작을 포함할 수 있다. 제1 플립 동작은 비트 단위로 수행되며, 제2 플립 동작은 청크 단위로 수행될 수 있다. 불휘발성 메모리 장치(100)는 플립 동작을 수행하여, 플립된 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 플립된 데이터에 FBP 데이터를 추가하여 인코딩된 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 인코딩된 데이터를 메모리 셀 어레이(110)에 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 쓰기 커맨드에 응답하여, 취약 패턴 검출 동작, 인코딩 동작, 및 프로그램 동작을 수행할 수 있다. A flip operation may refer to an operation of flipping write data based on FBP data. The flip operation may include a first flip operation and a second flip operation. The first flip operation may be performed in bit units, and the second flip operation may be performed in chunk units. The nonvolatile memory device (100) may perform the flip operation to generate flipped data. The nonvolatile memory device (100) may add FBP data to the flipped data to generate encoded data. The nonvolatile memory device (100) may program the encoded data into the memory cell array (110). The nonvolatile memory device (100) may perform a vulnerable pattern detection operation, an encoding operation, and a program operation in response to a write command.

불휘발성 메모리 장치(100)는 읽기 커맨드에 응답하여, 센싱 동작 및 디코딩 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 센싱 동작을 수행하여, 인코딩된 데이터를 읽을 수 있다. 불휘발성 메모리 장치(100)는 디코딩 동작을 수행하여, 인코딩된 데이터를 디코딩된 데이터로 변환할 수 있다. 불휘발성 메모리 장치(100)는 재플립 동작을 수행하여, 플립된 비트들을 다시 플립할 수 있다. 불휘발성 메모리 장치(100)는 FBP 데이터를 제거한 디코딩된 데이터를 생성할 수 있다. The nonvolatile memory device (100) can perform a sensing operation and a decoding operation in response to a read command. The nonvolatile memory device (100) can perform a sensing operation to read encoded data. The nonvolatile memory device (100) can perform a decoding operation to convert encoded data into decoded data. The nonvolatile memory device (100) can perform a re-flip operation to flip flipped bits again. The nonvolatile memory device (100) can generate decoded data from which FBP data is removed.

상술된 바와 같이, 본 개시의 실시예에 따른 불휘발성 메모리 장치는 수직으로 인접한 메모리 셀들의 상태의 특정 패턴으로 인한 오류를 방지할 수 있다. 또한, 신뢰성이 향상된 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법이 제공된다. 취약 패턴 검출 동작, 인코딩 동작, 및 디코딩 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다. As described above, the nonvolatile memory device according to the embodiment of the present disclosure can prevent errors due to a specific pattern of states of vertically adjacent memory cells. In addition, a nonvolatile memory device with improved reliability and a method of operating the nonvolatile memory device are provided. The vulnerable pattern detection operation, the encoding operation, and the decoding operation are described in more detail with reference to the drawings below.

도 2는 본 개시의 일 실시예에 따른 메모리 블록을 보여주는 회로도이다.FIG. 2 is a circuit diagram showing a memory block according to one embodiment of the present disclosure.

도 2의 메모리 블록(BLKa)은 도 1의 불휘발성 메모리 장치에 적용될 수 있다. 도 2의 메모리 블록(BLKa)은 도 1의 메모리 블록들 중 하나의 메모리 블록의 예일 수 있다. 도 1의 불휘발성 메모리 장치가 3D V-NAND 타입의 플래시 메모리로 구현될 경우, 스토리지 모듈을 구성하는 복수의 메모리 블록 각각은 도 1에 도시된 바와 같은 등가 회로로 표현될 수 있다.The memory block (BLKa) of FIG. 2 can be applied to the nonvolatile memory device of FIG. 1. The memory block (BLKa) of FIG. 2 can be an example of one of the memory blocks of FIG. 1. When the nonvolatile memory device of FIG. 1 is implemented with a flash memory of the 3D V-NAND type, each of the plurality of memory blocks constituting the storage module can be expressed by an equivalent circuit as illustrated in FIG. 1.

도 1 및 도 2를 참조하면, 복수의 셀 스트링들(CS)이 기판(SUB) 위에서 행들 및 열들로 배치될 수 있다. 메모리 블록(BLKa)은 기판(SUB) 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKa)에 포함되는 복수의 셀 스트링들(CS)은 상기 기판과 수직한 방향으로 형성될 수 있다. 복수의 셀 스트링들(CS)은 비트 라인들과 공통 소스 라인(CSL) 사이에 연결될 수 있다. 복수의 셀 스트링들(CS)은 기판(SUB) 상에(또는 안에) 형성되는 공통 소스 라인(CSL)에 공통으로 연결될 수 있다. 도 2에서, 메모리 블록(BLKa)의 구조의 이해를 돕기 위하여, 기판(SUB)의 위치가 예시적으로 표시되어 있다.Referring to FIGS. 1 and 2, a plurality of cell strings (CS) may be arranged in rows and columns on a substrate (SUB). A memory block (BLKa) represents a three-dimensional memory block formed in a three-dimensional structure on the substrate (SUB). For example, a plurality of cell strings (CS) included in the memory block (BLKa) may be formed in a direction perpendicular to the substrate. The plurality of cell strings (CS) may be connected between bit lines and a common source line (CSL). The plurality of cell strings (CS) may be commonly connected to a common source line (CSL) formed on (or in) the substrate (SUB). In FIG. 2, the position of the substrate (SUB) is exemplarily shown to help understand the structure of the memory block (BLKa).

도 2에서, 셀 스트링들(CS)의 하단에 공통 소스 라인(CSL)이 연결되는 것으로 도시되어 있다. 그러나 공통 소스 라인(CSL)은 셀 스트링들(CS)의 하단에 전기적으로 연결되는 것으로 충분하며, 물리적으로 셀 스트링들(CS)의 하단에 위치하는 것으로 한정되지 않는다. 예시적으로, 도 2에서 셀 스트링들(CS)은 4X4로 배열되는 것으로 도시되나 메모리 블록(BLKa)은 더 적은 또는 더 많은 수의 셀 스트링들을 포함할 수 있다.In FIG. 2, a common source line (CSL) is illustrated as being connected to the bottom of the cell strings (CS). However, the common source line (CSL) is sufficiently electrically connected to the bottom of the cell strings (CS), and is not limited to being physically located at the bottom of the cell strings (CS). For example, in FIG. 2, the cell strings (CS) are illustrated as being arranged in a 4X4 array, but the memory block (BLKa) may include a smaller or larger number of cell strings.

각 행의 셀 스트링들은 접지 선택 라인(GSL1 또는 GSL2)에 공통으로 연결될 수 있다. 예를 들어, 제1 및 제2 행들의 셀 스트링들은 제1 접지 선택 라인(GSL1)에 공통으로 연결되고, 제3 및 제4 행들의 셀 스트링들은 제2 접지 선택 라인(GSL2)에 공통으로 연결될 수 있다.The cell strings of each row can be commonly connected to a ground select line (GSL1 or GSL2). For example, the cell strings of the first and second rows can be commonly connected to the first ground select line (GSL1), and the cell strings of the third and fourth rows can be commonly connected to the second ground select line (GSL2).

각 행의 셀 스트링들은 제1 내지 제4 스트링 선택 라인들(SSL1~SSL4) 중 대응하는 스트링 선택 라인들에 연결될 수 있다. 각 열의 셀 스트링들은 제1 내지 제4 비트 라인들(BL1~BL4) 중 대응하는 비트 라인에 연결될 수 있다. 도면이 복잡해지는 것을 방지하기 위하여, 제2 및 제3 스트링 선택 라인들(SSL2, SSL3)에 연결된 셀 스트링들은 옅게 도시되어 있다.The cell strings of each row can be connected to corresponding string selection lines among the first to fourth string selection lines (SSL1 to SSL4). The cell strings of each column can be connected to corresponding bit lines among the first to fourth bit lines (BL1 to BL4). To avoid complicating the drawing, the cell strings connected to the second and third string selection lines (SSL2, SSL3) are depicted in a faint manner.

각 셀 스트링은 접지 선택 라인(GSL1 또는 GSL2)에 연결되는 적어도 하나의 접지 선택 트랜지스터(GST), 복수의 워드 라인들(WL1~WL8)에 각각 연결되는 복수의 메모리 셀들(MC1~MC8), 그리고 스트링 선택 라인들(SSL1, SSL2, SSL3 또는 SSL4)에 각각 연결되는 스트링 선택 트랜지스터들(SST)을 포함할 수 있다.Each cell string may include at least one ground select transistor (GST) connected to a ground select line (GSL1 or GSL2), a plurality of memory cells (MC1 to MC8) each connected to a plurality of word lines (WL1 to WL8), and string select transistors (SST) each connected to a string select line (SSL1, SSL2, SSL3 or SSL4).

각 셀 스트링에서, 접지 선택 트랜지스터(GST), 메모리 셀들(MC1~MC8), 그리고 스트링 선택 트랜지스터들(SST)은 기판(SUB)과 수직인 방향을 따라 직렬 연결되고, 기판(SUB)과 수직인 방향을 따라 순차적으로 적층될 수 있다. 각 셀 스트링(CS)에서, 메모리 셀들(MC1~MC8) 중 적어도 하나가 더미 메모리 셀로 사용될 수 있다. 더미 메모리 셀은 프로그램되지 않거나(예를 들어, 프로그램이 금지되거나) 또는 메모리 셀들(MC1~MC8)과 다르게 프로그램될 수 있다.In each cell string, a ground select transistor (GST), memory cells (MC1 to MC8), and string select transistors (SST) may be connected in series along a direction perpendicular to a substrate (SUB) and sequentially stacked along a direction perpendicular to the substrate (SUB). In each cell string (CS), at least one of the memory cells (MC1 to MC8) may be used as a dummy memory cell. The dummy memory cell may be unprogrammed (e.g., program inhibited) or programmed differently from the memory cells (MC1 to MC8).

예시적으로, 동일한 높이에 위치하는 각 행의 셀 스트링들의 메모리 셀들은 하나의 물리 페이지를 형성할 수 있다. 하나의 물리 페이지의 메모리 셀들은 하나의 서브 워드 라인에 연결될 수 있다. 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 하나의 워드 라인(WL1~WL8 중 하나)에 공통으로 연결될 수 있다.For example, memory cells of cell strings of each row located at the same height can form one physical page. Memory cells of one physical page can be connected to one sub-word line. Sub-word lines of physical pages located at the same height can be commonly connected to one word line (one of WL1 to WL8).

예시적으로, 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 서브 워드 라인들이 형성되는 높이에서 서로 연결될 수 있다. 다른 예로서, 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 메탈 층과 같은 서브 워드 라인들이 형성되는 높이와 다른 높이를 갖는 다른 층에서 서로 간접 연결될 수 있다.For example, sub-word lines of physical pages positioned at the same height may be connected to each other at the height at which the sub-word lines are formed. As another example, sub-word lines of physical pages positioned at the same height may be indirectly connected to each other at another layer having a different height from the height at which the sub-word lines are formed, such as a metal layer.

예시적으로, 메모리 블록(BLKa)을 3차원 구조로 구현할 때, 메모리 셀들(MC)의 높이에 따라 메모리 셀들(MC)의 특성들이 다르게 구현될 수 있다. 예를 들어, 메모리 셀들(MC)의 높이에 따라 메모리 셀들(MC)의 사이즈들이 다를 수 있다.For example, when implementing a memory block (BLKa) in a three-dimensional structure, the characteristics of the memory cells (MC) may be implemented differently depending on the height of the memory cells (MC). For example, the sizes of the memory cells (MC) may be different depending on the height of the memory cells (MC).

도 3은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기위한 도면이다. FIG. 3 is a diagram for explaining the operation of a nonvolatile memory device according to one embodiment of the present disclosure.

도 3을 참조하면, 메모리 셀의 문턱 전압 산포도, 및 문턱 전압 산포에 대응하는 페이지별 비트의 표가 도시된다. 도 3의 산포도의 가로축은 메모리 셀들의 문턱 전압을 가리키고, 세로축은 메모리 셀들의 개수를 가리킨다. 예를 들어, 각 메모리 셀에 3비트가 기입될 때의 문턱 전압들의 변화가 도 3에 도시된다. 워드 라인(WL)은 제1 내지 제3 페이지 데이터들(PD1, PD2, PD3)을 저장할 수 있다. 제1 페이지 데이터(PD1)는 최하위 비트(LSB; Least Significant Bit) 페이지를 가리키고, 제2 페이지 데이터(PD2)는 중간 비트(CSB; Center Significant Bit) 페이지를 가리키고, 제3 페이지 데이터(PD3)는 최상위 비트(MSB; Most Significant Bit) 페이지를 가리킬 수 있다. Referring to FIG. 3, a threshold voltage distribution diagram of a memory cell and a table of bits per page corresponding to the threshold voltage distribution are illustrated. The horizontal axis of the distribution diagram of FIG. 3 indicates threshold voltages of memory cells, and the vertical axis indicates the number of memory cells. For example, changes in threshold voltages when 3 bits are written to each memory cell are illustrated in FIG. 3. A word line (WL) can store first to third page data (PD1, PD2, PD3). The first page data (PD1) can indicate a least significant bit (LSB) page, the second page data (PD2) can indicate a center significant bit (CSB) page, and the third page data (PD3) can indicate a most significant bit (MSB) page.

불휘발성 메모리 장치(100)는 메모리 셀 어레이(110)에 포함된 복수의 메모리 셀들(MC)의 문턱 전압을 변환시킴으로써, 메모리 셀들에 데이터를 저장 또는 프로그램할 수 있다. 워드 라인(WL)과 연결된 메모리 셀들은 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 갖도록 프로그램될 수 있다. A nonvolatile memory device (100) can store or program data in memory cells by converting threshold voltages of a plurality of memory cells (MC) included in a memory cell array (110). Memory cells connected to a word line (WL) can be programmed to have an erase state (E) and one of first to seventh program states (P1 to P7).

제1 읽기 전압(VRD1)은 소거 상태(E) 및 제1 프로그램 상태(P1)를 구별하기 위한 전압일 수 있다. 제2 읽기 전압(VRD1)은 제1 프로그램 상태(P1) 및 제2 프로그램 상태(P2)를 구별하기 위한 전압일 수 있다. 제3 읽기 전압(VRD3)은 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3)를 구별하기 위한 전압일 수 있다. 제4 읽기 전압(VRD4)은 제3 프로그램 상태(P3) 및 제4 프로그램 상태(P4)를 구별하기 위한 전압일 수 있다. 제5 읽기 전압(VRD5)은 제4 프로그램 상태(P4) 및 제5 프로그램 상태(P5)를 구별하기 위한 전압일 수 있다. 제6 읽기 전압(VRD6)은 제5 프로그램 상태(P5) 및 제6 프로그램 상태(P6)를 구별하기 위한 전압일 수 있다. 제7 읽기 전압(VRD7)은 제6 프로그램 상태(P6) 및 제7 프로그램 상태(P7)를 구별하기 위한 전압일 수 있다.The first read voltage (VRD1) may be a voltage for distinguishing between the erase state (E) and the first program state (P1). The second read voltage (VRD1) may be a voltage for distinguishing between the first program state (P1) and the second program state (P2). The third read voltage (VRD3) may be a voltage for distinguishing between the second program state (P2) and the third program state (P3). The fourth read voltage (VRD4) may be a voltage for distinguishing between the third program state (P3) and the fourth program state (P4). The fifth read voltage (VRD5) may be a voltage for distinguishing between the fourth program state (P4) and the fifth program state (P5). The sixth read voltage (VRD6) may be a voltage for distinguishing between the fifth program state (P5) and the sixth program state (P6). The seventh read voltage (VRD7) may be a voltage for distinguishing between the sixth program state (P6) and the seventh program state (P7).

예를 들어, 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [1, 1, 1]인 경우, 메모리 셀은 소거 상태(E)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [0, 1, 1]인 경우, 메모리 셀은 제1 프로그램 상태(P1)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [0, 0, 1]인 경우, 메모리 셀은 제2 프로그램 상태(P2)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [0, 0, 0]인 경우, 메모리 셀은 제3 프로그램 상태(P3)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [0, 1, 0]인 경우, 메모리 셀은 제4 프로그램 상태(P4)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [1, 1, 0]인 경우, 메모리 셀은 제5 프로그램 상태(P5)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [1, 0, 0]인 경우, 메모리 셀은 제6 프로그램 상태(P6)를 갖도록 프로그램될 수 있다. 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들이 [1, 0, 1]인 경우, 메모리 셀은 제7 프로그램 상태(P7)를 갖도록 프로그램될 수 있다.For example, when the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [1, 1, 1], the memory cell can be programmed to have an erase state (E). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [0, 1, 1], the memory cell can be programmed to have a first program state (P1). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [0, 0, 1], the memory cell can be programmed to have a second program state (P2). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [0, 0, 0], the memory cell can be programmed to have a third program state (P3). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [0, 1, 0], the memory cell can be programmed to have a fourth program state (P4). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [1, 1, 0], the memory cell can be programmed to have a fifth program state (P5). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [1, 0, 0], the memory cell can be programmed to have a sixth program state (P6). When the values of the page data (PD1, PD2, PD3) corresponding to the memory cell are [1, 0, 1], the memory cell can be programmed to have a seventh program state (P7).

도 4a 및 도 4b는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 측면 확산을 설명하기 위한 도면들이다. FIGS. 4A and 4B are drawings for explaining lateral diffusion of a nonvolatile memory device according to one embodiment of the present disclosure.

도 4a를 참조하면, 불휘발성 메모리 장치(100)에서 측면 확산(lateral spreading)이 발생할 수 있다. 측면 확산은 절연막들에 포획된 전하들이 제3 방향 또는 제3 방향의 반대 방향으로 확산되는 현상을 가리킨다. 측면 확산이 발생하면, 메모리 셀들의 문턱 전압들이 변화할 수 있으며, 데이터의 신뢰성이 저하된다.Referring to FIG. 4a, lateral spreading may occur in a nonvolatile memory device (100). Lateral spreading refers to a phenomenon in which charges captured in insulating films spread in a third direction or in a direction opposite to the third direction. When lateral spreading occurs, threshold voltages of memory cells may change, and data reliability may deteriorate.

3차원 메모리 셀 어레이를 포함하는 불휘발성 메모리 장치에서, 동일한 비트 라인에 연결된 메모리 셀들은 전하 포획층을 공유한다. 이에 따라, 메모리 셀에 저장된 전하는 전하 포획층이 직접 연결된 수직으로 인접한 이웃 셀로 쉽게 이동(또는 확산)될 수 있으며, 전하 손실 속도가 현저히 증가할 수 있다. In a nonvolatile memory device including a three-dimensional memory cell array, memory cells connected to the same bit line share a charge trapping layer. Accordingly, charges stored in a memory cell can easily move (or diffuse) to vertically adjacent neighboring cells to which the charge trapping layer is directly connected, and the charge loss rate can significantly increase.

특히, 동일한 비트 라인에 연결된 메모리 셀들 중 제1 워드 라인(WL1)에 대응하는 셀이 소거 상태(E)이고, 제2 워드 라인(WL2)에 대응하는 메모리 셀이 제7 프로그램 상태(P7) 또는 제6 프로그램 상태(P6)이고, 제3 워드 라인(WL3)에 대응하는 메모리 셀이 소거 상태(E)인 경우, 측면 확산이 가속화될 수 있다. 즉, 전화 포획층을 공유하는 인접한 셀들이 순서대로 소거 상태(E), 제7 프로그램 상태(P7), 소거 상태(E)이거나, 소거 상태(E), 제6 프로그램 상태(P6), 소거 상태(E)인 경우, 데이터의 신뢰성은 현저히 저하될 수 있다. In particular, when a memory cell corresponding to a first word line (WL1) among memory cells connected to the same bit line is in the erase state (E), a memory cell corresponding to a second word line (WL2) is in the seventh program state (P7) or the sixth program state (P6), and a memory cell corresponding to a third word line (WL3) is in the erase state (E), lateral diffusion may be accelerated. That is, when adjacent cells sharing a phone capture layer are in the erase state (E), the seventh program state (P7), and the erase state (E), or the erase state (E), the sixth program state (P6), and the erase state (E) in that order, the reliability of data may be significantly degraded.

도 4b를 참조하면, 인접 셀의 상태에 따라 문턱 전압의 시프트의 양이 어떻게 영향을 받는지 나타낸다. 제7 프로그램 상태(P7) 및 제6 프로그램 상태(P6)의 메모리 셀이 인접한 상위 셀이 소거 상태(E) 이고, 인접한 하위 셀이 소거 상태(E)일 때, 문턱 전압의 시프트 양이 가장 크다. 즉, 약한 패턴에서 데이터 오류가 발생할 수 있으며, 불휘발성 메모리 장치의 신뢰성이 저하될 수 있다. 본 개시의 실시예에 따른 불휘발성 메모리 장치는 약한 패턴 검출 동작 및 인코딩 동작을 수행하여, 약한 패턴을 제거하여 신뢰성을 향상시킬 수 있다. Referring to FIG. 4b, it shows how the amount of threshold voltage shift is affected by the state of the adjacent cell. When the memory cell of the seventh program state (P7) and the sixth program state (P6) has an adjacent upper cell in an erase state (E) and an adjacent lower cell in an erase state (E), the amount of threshold voltage shift is the largest. That is, a data error may occur in a weak pattern, and the reliability of the nonvolatile memory device may be degraded. The nonvolatile memory device according to the embodiment of the present disclosure can improve reliability by removing a weak pattern by performing a weak pattern detection operation and an encoding operation.

도 5a 및 도 5b는 본 개시의 일 실시예에 따른 인코딩 동작을 설명하기 위한 도면들이다. FIGS. 5A and 5B are drawings for explaining an encoding operation according to one embodiment of the present disclosure.

도 5a는 인코딩 동작 없이 프로그램된 상태를 도시하고, 도 5b는 본 개시의 일 실시예에 따른 인코딩 동작 수행 후에 프로그램된 상태를 도시한다. FIG. 5a illustrates a programmed state without an encoding operation, and FIG. 5b illustrates a programmed state after performing an encoding operation according to one embodiment of the present disclosure.

도면의 간결성 및 설명의 편의를 위하여, 메모리 셀 어레이(110)는 제1 내지 제3 워드 라인들(WL1~WL3), 및 제1 내지 제9 비트 라인들(BL1~BL9)과 연결된 복수의 메모리 셀들(MC11~MC39)들을 포함하는 것으로 가정한다. 단 본 개시의 범위가 이제 한정되는 것은 아니다. For the sake of simplicity of the drawing and convenience of explanation, it is assumed that the memory cell array (110) includes a plurality of memory cells (MC11 to MC39) connected to first to third word lines (WL1 to WL3) and first to ninth bit lines (BL1 to BL9). However, the scope of the present disclosure is not limited thereto.

도 1, 및 도 5a를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 셀들(MC11~MC39)을 포함할 수 있다. 복수의 메모리 셀들(MC11~MC39) 각각은 워드 라인들(WL1~WL3), 및 비트 라인들(BL1~BL9)과 연결될 수 있다. 복수의 메모리 셀들(MC11~MC39) 각각은 워드 라인들(WL1~WL3)들을 통해 로우 디코더(120)와 연결될 수 있다. 복수의 메모리 셀들(MC11~MC39) 각각은 비트 라인들(BL1~BL9)을 통해 페이지 버퍼 회로(130)와 연결될 수 있다. Referring to FIG. 1 and FIG. 5A, a memory cell array (110) may include a plurality of memory cells (MC11 to MC39). Each of the plurality of memory cells (MC11 to MC39) may be connected to word lines (WL1 to WL3) and bit lines (BL1 to BL9). Each of the plurality of memory cells (MC11 to MC39) may be connected to a row decoder (120) through the word lines (WL1 to WL3). Each of the plurality of memory cells (MC11 to MC39) may be connected to a page buffer circuit (130) through the bit lines (BL1 to BL9).

예를 들어, 제1 워드 라인(WL1)은 메모리 셀들(MC11~MC19)과 연결되고, 제2 워드 라인(WL2)은 메모리 셀들(MC21~MC29)과 연결되고, 제3 워드 라인(WL3)은 메모리 셀들(MC31~MC39)과 연결될 수 있다. 제1 비트 라인(BL1)은 메모리 셀들(MC11, MC21, MC31)과 연결되고, 제2 비트 라인(BL2)은 메모리 셀들(MC12, MC22, MC32)과 연결되고, 제3 비트 라인(BL3)은 메모리 셀들(MC13, MC23, MC33)과 연결되고, 제4 비트 라인(BL4)은 메모리 셀들(MC14, MC24, MC34)과 연결되고, 제5 비트 라인(BL5)은 메모리 셀들(MC15, MC25, MC35)과 연결되고, 제6 비트 라인(BL6)은 메모리 셀들(MC16, MC26, MC36)과 연결되고, 제7 비트 라인(BL7)은 메모리 셀들(MC17, MC27, MC37)과 연결되고, 제8 비트 라인(BL8)은 메모리 셀들(MC18, MC28, MC38)과 연결되고, 제9 비트 라인(BL9)은 메모리 셀들(MC19, MC29, MC39)과 연결될 수 있다. For example, a first word line (WL1) may be connected to memory cells (MC11 to MC19), a second word line (WL2) may be connected to memory cells (MC21 to MC29), and a third word line (WL3) may be connected to memory cells (MC31 to MC39). A first bit line (BL1) is connected to memory cells (MC11, MC21, MC31), a second bit line (BL2) is connected to memory cells (MC12, MC22, MC32), a third bit line (BL3) is connected to memory cells (MC13, MC23, MC33), a fourth bit line (BL4) is connected to memory cells (MC14, MC24, MC34), a fifth bit line (BL5) is connected to memory cells (MC15, MC25, MC35), a sixth bit line (BL6) is connected to memory cells (MC16, MC26, MC36), a seventh bit line (BL7) is connected to memory cells (MC17, MC27, MC37), an eighth bit line (BL8) is connected to memory cells (MC18, MC28, MC38), and a ninth bit line (BL9) is connected to memory cells (MC13, MC23, MC33). It can be connected to cells (MC19, MC29, MC39).

일 실시예에서, 복수의 메모리 셀들은 제1 영역(AREA1)(예를 들어, 사용자 영역) 및 제2 영역(AREA2)(예를 들어, 스페어 영역)으로 분할될 수 있다. 예를 들어, 제1 내지 제6 비트 라인들(BL1~BL6)과 연결된 메모리 셀들은 제1 영역(AREA1)이고, 제7 내지 제9 비트 라인들(BL7~BL9)과 연결된 메모리 셀들은 제2 영역(AREA2)일 수 있다. 제1 영역(AREA1)은 외부 호스트로부터 제공된 사용자 데이터가 저장될 수 있다. 제2 영역(AREA2)은 메타 데이터 등이 저장될 수 있다. 제1 영역(AREA1)은 외부 호스트에 의해 사용되고, 제2 영역(AREA2)은 외부 호스트에 의해 사용되지 않을 수 있다. In one embodiment, a plurality of memory cells may be divided into a first area (AREA1) (e.g., a user area) and a second area (AREA2) (e.g., a spare area). For example, memory cells connected to the first to sixth bit lines (BL1 to BL6) may be a first area (AREA1), and memory cells connected to the seventh to ninth bit lines (BL7 to BL9) may be a second area (AREA2). User data provided from an external host may be stored in the first area (AREA1). Meta data, etc. may be stored in the second area (AREA2). The first area (AREA1) may be used by the external host, and the second area (AREA2) may not be used by the external host.

예를 들어, 메모리 셀(MC11)은 소거 상태(E)를 갖고, 메모리 셀(MC12)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC13)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC14)은 소거 상태(E)를 갖고, 메모리 셀(MC15)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC16)은 소거 상태(E)를 가질 수 있다. 메모리 셀(MC21)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC22)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC23)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC24)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC25)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC26)은 제6 프로그램 상태(P6)를 가질 수 있다. 메모리 셀(MC31)은 소거 상태(E)를 갖고, 메모리 셀(MC32)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC33)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC34)은 소거 상태(E)를 갖고, 메모리 셀(MC35)은 소거 상태(E)를 갖고, 메모리 셀(MC36)은 소거 상태(E)를 가질 수 있다.For example, a memory cell (MC11) may have an erase state (E), a memory cell (MC12) may have a fifth program state (P5), a memory cell (MC13) may have a seventh program state (P7), a memory cell (MC14) may have an erase state (E), a memory cell (MC15) may have a fourth program state (P4), and a memory cell (MC16) may have an erase state (E). A memory cell (MC21) may have a seventh program state (P7), a memory cell (MC22) may have a second program state (P2), a memory cell (MC23) may have a sixth program state (P6), a memory cell (MC24) may have a seventh program state (P7), a memory cell (MC25) may have a third program state (P3), and a memory cell (MC26) may have a sixth program state (P6). A memory cell (MC31) can have an erase state (E), a memory cell (MC32) can have a first program state (P1), a memory cell (MC33) can have a sixth program state (P6), a memory cell (MC34) can have an erase state (E), a memory cell (MC35) can have an erase state (E), and a memory cell (MC36) can have an erase state (E).

제1 비트 라인(BL1)과 연결된 메모리 셀(MC11)은 소거 상태(E)이고, 제1 비트 라인(BL1)과 연결된 메모리 셀(MC21)은 제7 프로그램 상태(P7)이고, 제1 비트 라인(BL1)과 연결된 메모리 셀(MC31)은 소거 상태(E)이므로, 메모리 셀 어레이(110)는 제1 비트 라인(BL1)에서 제1 약한 패턴(W1)을 포함할 수 있다. 제4 비트 라인(BL4)과 연결된 메모리 셀(MC14)은 소거 상태(E)이고, 제4 비트 라인(BL4)과 연결된 메모리 셀(MC24)은 제7 프로그램 상태(P7)이고, 제4 비트 라인(BL4)과 연결된 메모리 셀(MC34)은 소거 상태(E)이므로, 메모리 셀 어레이(110)는 제4 비트 라인(BL4)에서 제2 약한 패턴(W2)을 포함할 수 있다. 제6 비트 라인(BL6)과 연결된 메모리 셀(MC16)은 소거 상태(E)이고, 제6 비트 라인(BL6)과 연결된 메모리 셀(MC26)은 제6 프로그램 상태(P6)이고, 제6 비트 라인(BL6)과 연결된 메모리 셀(MC36)은 소거 상태(E)이므로, 메모리 셀 어레이(110)는 제6 비트 라인(BL6)에서 제3 약한 패턴(W3)을 포함할 수 있다. Since the memory cell (MC11) connected to the first bit line (BL1) is in an erased state (E), the memory cell (MC21) connected to the first bit line (BL1) is in a seventh program state (P7), and the memory cell (MC31) connected to the first bit line (BL1) is in an erased state (E), the memory cell array (110) can include a first weak pattern (W1) in the first bit line (BL1). Since the memory cell (MC14) connected to the fourth bit line (BL4) is in an erased state (E), the memory cell (MC24) connected to the fourth bit line (BL4) is in a seventh program state (P7), and the memory cell (MC34) connected to the fourth bit line (BL4) is in an erased state (E), the memory cell array (110) can include a second weak pattern (W2) in the fourth bit line (BL4). Since the memory cell (MC16) connected to the sixth bit line (BL6) is in an erased state (E), the memory cell (MC26) connected to the sixth bit line (BL6) is in a sixth program state (P6), and the memory cell (MC36) connected to the sixth bit line (BL6) is in an erased state (E), the memory cell array (110) can include a third weak pattern (W3) in the sixth bit line (BL6).

다시 말해서, 불휘발성 메모리 장치(100)는 약한 패턴들(W1~W3)을 포함할 수 있다. 이에 따라, 오류가 발생할 수 있으며, 불휘발성 메모리 장치의 신뢰성이 저하될 수 있다. In other words, the nonvolatile memory device (100) may include weak patterns (W1 to W3). Accordingly, errors may occur and the reliability of the nonvolatile memory device may be degraded.

도 1, 및 도 5b를 참조하면, 메모리 셀(MC11)은 소거 상태(E)를 갖고, 메모리 셀(MC12)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC13)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC14)은 소거 상태(E)를 갖고, 메모리 셀(MC15)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC16)은 소거 상태(E)를 가질 수 있다. 메모리 셀(MC21)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC22)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC23)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC24)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC25)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC26)은 제6 프로그램 상태(P6)를 가질 수 있다. 메모리 셀(MC31)은 비소거 상태(~E)를 갖고, 메모리 셀(MC32)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC33)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC34)은 비소거 상태(~E)를 갖고, 메모리 셀(MC35)은 소거 상태(E)를 갖고, 메모리 셀(MC36)은 비소거 상태(~E)를 가질 수 있다. 비소거 상태(~E)는 소거 상태(E)가 아닌 상태를 가리키며, 복수의 프로그램 상태들(P1~P7) 중 하나를 가리킬 수 있다. Referring to FIG. 1 and FIG. 5b, a memory cell (MC11) may have an erase state (E), a memory cell (MC12) may have a fifth program state (P5), a memory cell (MC13) may have a seventh program state (P7), a memory cell (MC14) may have an erase state (E), a memory cell (MC15) may have a fourth program state (P4), and a memory cell (MC16) may have an erase state (E). A memory cell (MC21) may have a seventh program state (P7), a memory cell (MC22) may have a second program state (P2), a memory cell (MC23) may have a sixth program state (P6), a memory cell (MC24) may have a seventh program state (P7), a memory cell (MC25) may have a third program state (P3), and a memory cell (MC26) may have a sixth program state (P6). A memory cell (MC31) may have a non-erased state (~E), a memory cell (MC32) may have a first program state (P1), a memory cell (MC33) may have a sixth program state (P6), a memory cell (MC34) may have a non-erased state (~E), a memory cell (MC35) may have an erased state (E), and a memory cell (MC36) may have a non-erased state (~E). The non-erased state (~E) refers to a state other than the erased state (E) and may refer to one of a plurality of program states (P1 to P7).

본 개시의 실시예에 따른 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 대한 프로그램 동작을 수행하기 전에, 약한 패턴 검출 동작 및 인코딩 동작을 수행하여, 약한 패턴을 검출하고 쓰기 데이터를 변환하여 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 플립된 데이터를 저장할 수 있다. 메모리 셀들(MC31, MC34, MC36)은 비소거 상태(~E)를 가질 수 있다. 이에 따라, 메모리 셀 어레이(110)은 약한 패턴들을 포함하지 않을 수 있다. 불휘발성 메모리 장치의 신뢰성을 개선할 수 있다. The nonvolatile memory device (100) according to the embodiment of the present disclosure can detect a weak pattern and convert and store write data by performing a weak pattern detection operation and an encoding operation before performing a program operation for a third word line (WL3). That is, the nonvolatile memory device (100) can store flipped data. The memory cells (MC31, MC34, MC36) can have a non-erased state (~E). Accordingly, the memory cell array (110) may not include weak patterns. The reliability of the nonvolatile memory device can be improved.

일 실시예에서, 제3 워드 라인에 연결된 메모리 셀들(MC34, MC35, M336)은 FBP 데이터(FBP)를 저장할 수 있다. FBP 데이터는 플립된 데이터에서 플립된 비트들의 위치를 가리킬 수 있다. FBP 데이터는 읽기 동작을 수행함에 있어서, 플립된 데이터를 재플립하는데 사용될 수 있다. In one embodiment, memory cells (MC34, MC35, M336) connected to the third word line can store FBP data (FBP). The FBP data can point to the positions of flipped bits in the flipped data. The FBP data can be used to re-flip the flipped data when performing a read operation.

즉, 도 5a의 메모리 셀들(MC31, MC34, MC36)은 소거 상태(E)를 가지면서, 메모리 셀 어레이(110)는 약한 패턴들(W1, W2, W3)을 포함할 수 있다. 반면에, 도 5b의 메모리 셀들(MC31, MC34, MC36)은 비소거 상태(~E)를 가지면서, 메모리 셀 어레이(110)는 약한 패턴을 포함하지 않을 수 있다. 불휘발성 메모리 장치(100)는 인코딩 동작을 수행하여, 약한 패턴을 제거할 수 있다. 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 데이터를 프로그램 하기 전에, 약한 패턴을 검출하는 약한 패턴 검출 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)에 저장된 데이터, 제2 워드 라인(WL2)에 저장된 데이터, 페이지 버퍼에 저장된 제3 워드 라인(WL3)에 프로그램될 쓰기 데이터를 기반으로 약한 패턴 검출 동작을 수행할 수 있다. 약한 패턴 검출 동작을 통해 약한 패턴이 검출된 경우, 불휘발성 메모리 장치(100)는 쓰기 데이터에 대한 인코딩 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 인코딩 동작을 수행하여, 제3 워드 라인(WL3)에 프로그램될 쓰기 데이터를 변경(또는 변환, 수정)할 수 있다. 불휘발성 메모리 장치(100)는 약한 패턴에 포함된 소거 상태들 중 하나를 비소거 상태로 변경시킬 수 있다. That is, the memory cells (MC31, MC34, MC36) of FIG. 5A may have an erased state (E), while the memory cell array (110) may include weak patterns (W1, W2, W3). On the other hand, the memory cells (MC31, MC34, MC36) of FIG. 5B may have a non-erased state (~E), while the memory cell array (110) may not include a weak pattern. The nonvolatile memory device (100) may perform an encoding operation to remove a weak pattern. The nonvolatile memory device (100) may perform a weak pattern detection operation to detect a weak pattern before programming data to the third word line (WL3). The nonvolatile memory device (100) may perform the weak pattern detection operation based on data stored in the first word line (WL1), data stored in the second word line (WL2), and write data to be programmed to the third word line (WL3) stored in the page buffer. When a weak pattern is detected through a weak pattern detection operation, the nonvolatile memory device (100) can perform an encoding operation on the write data. The nonvolatile memory device (100) can change (or convert, modify) the write data to be programmed in the third word line (WL3) by performing the encoding operation. The nonvolatile memory device (100) can change one of the erase states included in the weak pattern to a non-erased state.

도 6은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다. FIG. 6 is a flowchart showing the operation of a nonvolatile memory device according to one embodiment of the present disclosure.

도 1 및 도 6을 참조하면, S10 단계에서, 불휘발성 메모리 장치(100)는 약한 패턴 검출 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)에 저장된 데이터, 제2 워드 라인(WL2)에 저장된 데이터, 제3 워드 라인(WL3)에 저장될 데이터를 기반으로 약한 패턴을 검출할 수 있다. Referring to FIGS. 1 and 6, at step S10, the nonvolatile memory device (100) can perform a weak pattern detection operation. The nonvolatile memory device (100) can detect a weak pattern based on data stored in a first word line (WL1), data stored in a second word line (WL2), and data to be stored in a third word line (WL3).

제2 워드 라인(WL2)은 제1 워드 라인(WL1)과 인접하고, 제3 워드 라인(WL3)은 제2 워드 라인(WL2)과 인접하다. 제1 워드 라인(WL1)에 연결된 메모리 셀들은 데이터가 저장된 상태이며, 즉, 제1 워드 라인(WL1)에 연결된 메모리 셀들은 소거 상태(E) 또는 복수의 프로그램 상태들(P1~P7) 중 어느 하나를 가질 수 있다. 제2 워드 라인(WL2)에 연결된 메모리 셀들은 데이터가 저장된 상태이며, 즉, 제2 워드 라인(WL2)에 연결된 메모리 셀들은 소거 상태(E) 또는 복수의 프로그램 상태들(P1~P7) 중 어느 하나를 가질 수 있다. 제3 워드 라인(WL3)에 연결된 메모리 셀들은 데이터가 저장되지 않은 상태이며, 즉, 제3 워드 라인(WL3)에 연결된 메모리 셀들은 소거 상태(E)를 가질 수 있다. 불휘발성 메모리 장치(100)는 제1 패턴(예를 들어, E-P7-E) 또는 제2 패턴(예를 들어, E-P6-E)을 검출할 수 있다.The second word line (WL2) is adjacent to the first word line (WL1), and the third word line (WL3) is adjacent to the second word line (WL2). The memory cells connected to the first word line (WL1) are in a state where data is stored, that is, the memory cells connected to the first word line (WL1) can have either an erased state (E) or one of a plurality of program states (P1 to P7). The memory cells connected to the second word line (WL2) are in a state where data is stored, that is, the memory cells connected to the second word line (WL2) can have either an erased state (E) or one of a plurality of program states (P1 to P7). The memory cells connected to the third word line (WL3) are in a state where data is not stored, that is, the memory cells connected to the third word line (WL3) can have an erased state (E). The nonvolatile memory device (100) can detect a first pattern (e.g., E-P7-E) or a second pattern (e.g., E-P6-E).

S20 단계에서, 불휘발성 메모리 장치(100)는 인코딩 동작을 수행할 수 있다. 일 실시 예에서, 불휘발성 메모리 장치(100)는 FBP 데이터(FBP)를 생성하고, FBP 데이터를 기반으로 쓰기 데이터를 변환할 수 있다. 즉, 인코딩 동작은 FBP 데이터 생성 동작 및 플립 동작을 포함할 수 있다. 불휘발성 메모리 장치(100)는 인코딩 동작을 수행함으로써, 쓰기 데이터(또는 사용자 데이터)를 변환하고, FBP 데이터를 사용자 데이터에 추가할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)에 대한 인코딩 동작을 수행하여 제2 쓰기 데이터(WD2)를 생성할 수 있다. 제2 쓰기 데이터(WD2)는 플립된 제1 쓰기 데이터(WD1), 및 FBP 데이터를 포함할 수 있다. In step S20, the nonvolatile memory device (100) can perform an encoding operation. In one embodiment, the nonvolatile memory device (100) can generate FBP data (FBP) and convert write data based on the FBP data. That is, the encoding operation can include an FBP data generation operation and a flip operation. The nonvolatile memory device (100) can convert write data (or user data) and add FBP data to the user data by performing the encoding operation. The nonvolatile memory device (100) can perform an encoding operation on the first write data (WD1) to generate second write data (WD2). The second write data (WD2) can include the flipped first write data (WD1) and the FBP data.

예를 들어, 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 프로그램될 데이터를 변환할 수 있다. 불휘발성 메모리 장치(100)는 약한 패턴을 제거하기 위하여, 타겟 비트들에 대응하는 메모리 셀이 비소거 상태가 되도록 데이터를 변환할 수 있다. 불휘발성 메모리 장치(100)는 FBP 데이터(FBP)를 기반으로 타겟 비트들을 플립(flip) 또는 반전(invert)하여 플립된 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 플립된 데이터에 FBP 데이터를 추가하여 인코딩된 데이터(즉, 제2 쓰기 데이터(WD2))를 생성할 수 있다. For example, the nonvolatile memory device (100) can convert data to be programmed in the third word line (WL3). The nonvolatile memory device (100) can convert the data so that memory cells corresponding to the target bits are in a non-erased state in order to remove a weak pattern. The nonvolatile memory device (100) can flip or invert the target bits based on the FBP data (FBP) to generate flipped data. The nonvolatile memory device (100) can add the FBP data to the flipped data to generate encoded data (i.e., the second write data (WD2)).

S30 단계에서, 불휘발성 메모리 장치(100)는 프로그램 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 플립된 데이터 및 FBP 데이터(FBP)를 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 플립된 데이터 및 FPB 데이터(FBP)를 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 인코딩된 데이터(즉, 제2 쓰기 데이터(WD2))를 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 제1 영역에 플립된 데이터를 저장하고, 제2 영역에 FBP 데이터(FBP)를 저장할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)의 제1 영역(AREA1)에 대응하는 메모리 셀들에 플립된 데이터를 프로그램하고, 제3 워드 라인(WL3)의 제2 영역(AREA2)에 대응하는 메모리 셀들에 FBP 데이터를 프로그램할 수 있다. At step S30, the nonvolatile memory device (100) can perform a program operation. The nonvolatile memory device (100) can program the flipped data and the FBP data (FBP). The nonvolatile memory device (100) can store the flipped data and the FPB data (FBP) in the third word line (WL3). That is, the nonvolatile memory device (100) can program the encoded data (i.e., the second write data (WD2)). The nonvolatile memory device (100) can store the flipped data in the first area, and store the FBP data (FBP) in the second area. For example, the nonvolatile memory device (100) can program the flipped data in memory cells corresponding to the first area (AREA1) of the third word line (WL3), and program the FBP data in memory cells corresponding to the second area (AREA2) of the third word line (WL3).

도 7은 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다. 도 8a 내지 도 8c는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다. FIG. 7 is a flowchart showing the operation of a nonvolatile memory device according to an embodiment of the present disclosure. FIGS. 8A to 8C are drawings for explaining the operation of a nonvolatile memory device according to an embodiment of the present disclosure.

도 8a를 참조하면, 메모리 셀 어레이(110)는 제1 내지 제3 워드 라인들(WL1~WL3) 및 제1 내지 제n 비트 라인들(BL1~BLn)에 연결된 복수의 메모리 셀들(MC11~MC3n)을 포함할 수 있다. 제1 내지 제k 비트 라인들(BL1~BLk)과 연결된 메모리 셀들은 제1 영역(AREA1)이고, 제k+1 내지 제n 비트 라인들(BLk+1~BLn)과 연결된 메모리 셀들은 제2 영역(AREA2)일 수 있다. 제1 워드 라인(WL1)에 연결된 메모리 셀들은 프로그램이 완료된 상태이고, 제2 워드 라인(WL2)에 연결된 메모리 셀들은 프로그램이 완료된 상태이고, 제3 워드 라인(WL3)에 연결된 메모리 셀들은 소거 후 프로그램되기 전 상태일 수 있다. Referring to FIG. 8A, the memory cell array (110) may include a plurality of memory cells (MC11 to MC3n) connected to first to third word lines (WL1 to WL3) and first to n-th bit lines (BL1 to BLn). The memory cells connected to the first to k-th bit lines (BL1 to BLk) may be a first area (AREA1), and the memory cells connected to the k+1-th to n-th bit lines (BLk+1 to BLn) may be a second area (AREA2). The memory cells connected to the first word line (WL1) may be in a state in which programming has been completed, the memory cells connected to the second word line (WL2) may be in a state in which programming has been completed, and the memory cells connected to the third word line (WL3) may be in a state before being programmed after erasing.

예를 들어, 메모리 셀(MC11)은 소거 상태(E)를 갖고, 메모리 셀(MC12)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC13)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC14)은 소거 상태(E)를 갖고, 메모리 셀(MC15)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC16)은 소거 상태(E)를 갖고, 메모리 셀(MC1k)은 제7 프로그램 상태(P7)를 가질 수 있다. 메모리 셀(MC21)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC22)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC23)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC24)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC25)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC26)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC2k)은 제5 프로그램 상태(P5)를 가질 수 있다. 제3 워드 라인(WL3)에 연결된 메모리 셀들(MC31~MC3k)은 소거 상태(E)를 가질 수 있다. For example, a memory cell (MC11) may have an erase state (E), a memory cell (MC12) may have a fifth program state (P5), a memory cell (MC13) may have a seventh program state (P7), a memory cell (MC14) may have an erase state (E), a memory cell (MC15) may have a fourth program state (P4), a memory cell (MC16) may have an erase state (E), and a memory cell (MC1k) may have a seventh program state (P7). A memory cell (MC21) can have a seventh program state (P7), a memory cell (MC22) can have a second program state (P2), a memory cell (MC23) can have a sixth program state (P6), a memory cell (MC24) can have a seventh program state (P7), a memory cell (MC25) can have a third program state (P3), a memory cell (MC26) can have a sixth program state (P6), and a memory cell (MC2k) can have a fifth program state (P5). The memory cells (MC31 to MC3k) connected to the third word line (WL3) can have an erase state (E).

도 1, 도 7, 도 8a 내지 도 8c를 참조하면, S110 단계에서, 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)에서 소거 상태(E)를 갖는 제1 메모리 셀들을 검출할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)을 확인할 수 있다(①). 불휘발성 메모리 장치(100)는 약한 패턴을 찾기 위해서, 제1 워드 라인(WL1)의 제1 영역(AREA1)에서 소거 상태를 갖는 메모리 셀들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)을 센싱하여, 소거 상태(E)를 갖는 제1 메모리 셀들(MC11, MC14, MC16)을 검출할 수 있다. 즉, 제1 메모리 셀들은 제1 워드 라인(WL1)에 연결된 메모리 셀들(MC11~MC1k) 중 메모리 셀들(MC11, MC14, MC16)을 포함할 수 있다. Referring to FIGS. 1, 7, and 8A to 8C, at step S110, the nonvolatile memory device (100) can detect first memory cells having an erase state (E) in the first word line (WL1). For example, the nonvolatile memory device (100) can check the first word line (WL1) (①). The nonvolatile memory device (100) can detect memory cells having an erase state in the first area (AREA1) of the first word line (WL1) to find a weak pattern. The nonvolatile memory device (100) can sense the first word line (WL1) and detect the first memory cells (MC11, MC14, MC16) having the erase state (E). That is, the first memory cells may include memory cells (MC11, MC14, MC16) among the memory cells (MC11 to MC1k) connected to the first word line (WL1).

S120 단계에서, 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)에서 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 갖는 제2 메모리 셀들을 검출할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)을 확인할 수 있다(②). 불휘발성 메모리 장치(100)는 약한 패턴을 찾기 위해서, 제2 워드 라인(WL2)의 제1 영역(AREA1)에서 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 갖는 메모리 셀들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)을 센싱하여, 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 갖는 제2 메모리 셀들(MC21, MC23, MC24, MC26)를 검출할 수 있다. 즉, 제2 메모리 셀들은 제2 워드 라인(WL2)에 연결된 메모리 셀들(MC21~MC2k) 중 메모리 셀들(MC21, MC23, MC24, MC26)을 포함할 수 있다. At step S120, the nonvolatile memory device (100) can detect second memory cells having a sixth program state (P6) or a seventh program state (P7) in the second word line (WL2). For example, the nonvolatile memory device (100) can check the second word line (WL2) (②). In order to find a weak pattern, the nonvolatile memory device (100) can detect memory cells having a sixth program state (P6) or a seventh program state (P7) in the first area (AREA1) of the second word line (WL2). The nonvolatile memory device (100) can sense the second word line (WL2) to detect second memory cells (MC21, MC23, MC24, MC26) having the sixth program state (P6) or the seventh program state (P7). That is, the second memory cells may include memory cells (MC21, MC23, MC24, MC26) among the memory cells (MC21 to MC2k) connected to the second word line (WL2).

S130 단계에서, 불휘발성 메모리 장치(100)는 제1 메모리 셀과 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 타겟 비트 라인들을 확인할 수 있다(③). 불휘발성 메모리 장치(100)는 메모리 셀(MC11)은 제1 메모리 셀이고 메모리 셀(MC21)은 제2 메모리 셀이므로, 제1 비트 라인(BL1)을 타겟 비트 라인으로 검출할 수 있다. 불휘발성 메모리 장치(100)는 메모리 셀(MC14)은 제1 메모리 셀이고 메모리 셀(MC24)은 제2 메모리 셀이므로, 제4 비트 라인(BL4)을 타겟 비트 라인으로 검출할 수 있다. 불휘발성 메모리 장치(100)는 메모리 셀(MC16)은 제1 메모리 셀이고 메모리 셀(MC26)은 제2 메모리 셀이므로, 제6 비트 라인(BL6)을 타겟 비트 라인으로 검출할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 비트 라인(BL1), 제4 비트 라인(BL4), 제6 비트 라인(BL6)을 타겟 비트 라인으로 검출할 수 있다. In step S130, the nonvolatile memory device (100) can detect target bit lines including both the first memory cell and the second memory cell. For example, the nonvolatile memory device (100) can check the target bit lines (③). Since the memory cell (MC11) of the nonvolatile memory device (100) is a first memory cell and the memory cell (MC21) is a second memory cell, the nonvolatile memory device (100) can detect the first bit line (BL1) as the target bit line. Since the memory cell (MC14) of the nonvolatile memory device (100) is a first memory cell and the memory cell (MC24) is a second memory cell, the nonvolatile memory device (100) can detect the fourth bit line (BL4) as the target bit line. Since the memory cell (MC16) of the nonvolatile memory device (100) is a first memory cell and the memory cell (MC26) is a second memory cell, the nonvolatile memory device (100) can detect the sixth bit line (BL6) as the target bit line. That is, the nonvolatile memory device (100) can detect the first bit line (BL1), the fourth bit line (BL4), and the sixth bit line (BL6) as target bit lines.

S140 단계에서, 불휘발성 메모리 장치(100)는 타겟 비트 라인에 대응하고, 소거 상태에 대응하는 타겟 비트들을 검출할 수 있다. 예를 들어, 페이지 버퍼 회로(130)는 입출력 회로(140)로부터 제1 쓰기 데이터(WD1)를 수신할 수 있다(④). 페이지 버퍼 회로(130)는 제1 쓰기 데이터(WD1)를 데이터 래치(131)에 저장할 수 있다. 페이지 버퍼 회로(130)는 제1 쓰기 데이터(WD1)를 확인할 수 있다(⑤). In step S140, the nonvolatile memory device (100) can detect target bits corresponding to the target bit line and corresponding to the erase state. For example, the page buffer circuit (130) can receive first write data (WD1) from the input/output circuit (140) (④). The page buffer circuit (130) can store the first write data (WD1) in the data latch (131). The page buffer circuit (130) can confirm the first write data (WD1) (⑤).

도 8b를 참조하면, 제1 쓰기 데이터(WD1)는 제1 내지 제3 페이지 데이터들(PD1, PD2, PD3)을 포함할 수 있다. 제1 페이지 데이터(PD1)의 제1 비트(B1)는 '1'이고, 제1 페이지 데이터(PD1)의 제2 비트(B2)는 '0'이고, 제1 페이지 데이터(PD1)의 제3 비트(B3)는 '1'이고, 제1 페이지 데이터(PD1)의 제4 비트(B4)는 '1'이고, 제1 페이지 데이터(PD1)의 제5 비트(B5)는 '1'이고, 제1 페이지 데이터(PD1)의 제6 비트(B6)는 '1'이고, 제1 페이지 데이터(PD1)의 제k 비트(Bk)는 '1'일 수 있다. 제2 페이지 데이터(PD2)의 제1 비트(B1)는 '1'이고, 제2 페이지 데이터(PD2)의 제2 비트(B2)는 '1'이고, 제2 페이지 데이터(PD2)의 제3 비트(B3)는 '0'이고, 제2 페이지 데이터(PD2)의 제4 비트(B4)는 '1'이고, 제2 페이지 데이터(PD2)의 제5 비트(B5)는 '1'이고, 제2 페이지 데이터(PD2)의 제6 비트(B6)는 '1'이고, 제2 페이지 데이터(PD2)의 제k 비트(Bk)는 '0'일 수 있다. 제3 페이지 데이터(PD3)의 제1 비트(B1)는 '1'이고, 제3 페이지 데이터(PD3)의 제2 비트(B2)는 '1'이고, 제3 페이지 데이터(PD3)의 제3 비트(B3)는 '0'이고, 제3 페이지 데이터(PD3)의 제4 비트(B4)는 '1'이고, 제3 페이지 데이터(PD3)의 제5 비트(B5)는 '1'이고, 제3 페이지 데이터(PD3)의 제6 비트(B6)는 '1'이고, 제3 페이지 데이터(PD3)의 제k 비트(Bk)는 '1'일 수 있다. 즉, 제1 페이지 데이터(PD1)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제1 페이지 데이터(PD1)의 사용자 데이터)은 k 비트 스트림 [1011111]이고, 제2 페이지 데이터(PD2)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제2 페이지 데이터(PD2)의 사용자 데이터)은 k 비트 스트림 [1101110]이고, 제3 페이지 데이터(PD3)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제3 페이지 데이터(PD3)의 사용자 데이터)은 k 비트 스트림[1101111]일 수 있다. Referring to FIG. 8B, the first write data (WD1) may include first to third page data (PD1, PD2, PD3). A first bit (B1) of the first page data (PD1) may be '1', a second bit (B2) of the first page data (PD1) may be '0', a third bit (B3) of the first page data (PD1) may be '1', a fourth bit (B4) of the first page data (PD1) may be '1', a fifth bit (B5) of the first page data (PD1) may be '1', a sixth bit (B6) of the first page data (PD1) may be '1', and a kth bit (Bk) of the first page data (PD1) may be '1'. The first bit (B1) of the second page data (PD2) may be '1', the second bit (B2) of the second page data (PD2) may be '1', the third bit (B3) of the second page data (PD2) may be '0', the fourth bit (B4) of the second page data (PD2) may be '1', the fifth bit (B5) of the second page data (PD2) may be '1', the sixth bit (B6) of the second page data (PD2) may be '1', and the kth bit (Bk) of the second page data (PD2) may be '0'. The first bit (B1) of the third page data (PD3) may be '1', the second bit (B2) of the third page data (PD3) may be '1', the third bit (B3) of the third page data (PD3) may be '0', the fourth bit (B4) of the third page data (PD3) may be '1', the fifth bit (B5) of the third page data (PD3) may be '1', the sixth bit (B6) of the third page data (PD3) may be '1', and the k-th bit (Bk) of the third page data (PD3) may be '1'. That is, the value of the portion corresponding to the first area (AREA1) of the first page data (PD1) (or the user data of the first page data (PD1)) may be a k-bit stream [101111 1], and the value of the part corresponding to the first area (AREA1) of the second page data (PD2) (or the user data of the second page data (PD2)) is a k bit stream [110111 0], and the value of the part corresponding to the first area (AREA1) of the third page data (PD3) (or the user data of the third page data (PD3)) is a k bit stream [110111 1] It could be.

메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값을 비트 데이터라고 칭할 수 있다. 제1 비트 데이터(BD1)는 제1 비트 라인(BL1)에 연결된 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들을 가리키고, 제2 비트 데이터(BD2)는 제2 비트 라인(BL2)에 연결된 메모리 셀에 대응하는 페이지 데이터들(PD1, PD2, PD3)의 값들을 가리킨다. 나머지 비트 데이터들(BD3~BDn)은 이와 동일하므로, 상세한 설명은 생략된다. 제1 내지 제k 비트 데이터들(BD1~BDk)은 제1 영역(AREA1)에 저장될 데이터이고, 제k+1 내지 제n 비트 데이터들(BDk+1~BDn)은 제2 영역(AREA2)에 저장될 데이터일 수 있다. 제1 내지 제k 비트 데이터들(BD1~BDk)은 사용자 데이터에 대응하고, 제k+1 내지 제n 비트 데이터들(BDk+1~BDn)은 메타 데이터에 대응할 수 있다. The values of page data (PD1, PD2, PD3) corresponding to the memory cell may be referred to as bit data. The first bit data (BD1) refers to the values of the page data (PD1, PD2, PD3) corresponding to the memory cell connected to the first bit line (BL1), and the second bit data (BD2) refers to the values of the page data (PD1, PD2, PD3) corresponding to the memory cell connected to the second bit line (BL2). The remaining bit data (BD3 to BDn) are the same, and therefore, a detailed description is omitted. The first to k-th bit data (BD1 to BDk) may be data to be stored in the first area (AREA1), and the k+1 to n-th bit data (BDk+1 to BDn) may be data to be stored in the second area (AREA2). The first to kth bit data (BD1 to BDk) can correspond to user data, and the k+1 to nth bit data (BDk+1 to BDn) can correspond to metadata.

예를 들어, 제1 비트 데이터(BD1)는 [1, 1, 1]이고, 제2 비트 데이터(BD2)는 [0, 1, 1]이고, 제3 비트 데이터(BD3)는 [1, 0, 0]이고, 제4 비트 데이터(BD4)는 [1, 1, 1]이고, 제5 비트 데이터(BD5)는 [1, 1, 1]이고, 제6 비트 데이터(BD6)는 [1, 1, 1]이고, 제k 비트 데이터(BDk)는 [1, 0, 1]일 수 있다. 제1 비트 데이터(BD1)는 소거 상태(E)에 대응하고, 제2 비트 데이터(BD2)는 제1 프로그램 상태(P1)에 대응하고, 제3 비트 데이터(BD3)는 제6 프로그램 상태(P6)에 대응하고, 제4 비트 데이터(BD4)는 소거 상태(E)에 대응하고, 제5 비트 데이터(BD5)는 소거 상태(E)에 대응하고, 제6 비트 데이터(BD6)는 소거 상태(E)에 대응하고, 제k 비트 데이터(BDk)는 제7 프로그램 상태(BD7)에 대응할 수 있다. For example, the first bit data (BD1) may be [1, 1, 1], the second bit data (BD2) may be [0, 1, 1], the third bit data (BD3) may be [1, 0, 0], the fourth bit data (BD4) may be [1, 1, 1], the fifth bit data (BD5) may be [1, 1, 1], the sixth bit data (BD6) may be [1, 1, 1], and the k-th bit data (BDk) may be [1, 0, 1]. The first bit data (BD1) may correspond to an erase state (E), the second bit data (BD2) may correspond to a first program state (P1), the third bit data (BD3) may correspond to a sixth program state (P6), the fourth bit data (BD4) may correspond to an erase state (E), the fifth bit data (BD5) may correspond to an erase state (E), the sixth bit data (BD6) may correspond to an erase state (E), and the k-th bit data (BDk) may correspond to a seventh program state (BD7).

불휘발성 메모리 장치(100)는 제1 영역(AREA1)의 복수의 비트 데이터들(BD1~BDk) 중, 타겟 비트 라인들(BL1, BL4, BL6)에 대응하고, 소거 상태(E)에 대응하는 타겟 비트 데이터들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 타겟 비트 데이터들에 대응하는 타겟 비트들을 검출할 수 있다. A nonvolatile memory device (100) can detect target bit data corresponding to target bit lines (BL1, BL4, BL6) and corresponding to an erase state (E) among a plurality of bit data (BD1 to BDk) of a first area (AREA1). The nonvolatile memory device (100) can detect target bits corresponding to the target bit data.

예를 들어, 제1 비트 데이터(BD1)는 타겟 비트 라인(BL1)과 대응하고, 제1 비트 데이터(BD1)는 소거 상태(E)에 대응하므로, 제1 비트 데이터(BD1)는 타겟 비트 데이터이고, 제1 비트 데이터(BD1)에 대응하는 제1 비트(B1)는 타겟 비트이다. 제2 비트 데이터(BD2)는 타겟 비트 라인들 중 하나에 대응하지 않고 제1 프로그램 상태(P1)이므로, 제2 비트(B2)는 타겟 비트가 아니다. 제3 비트 데이터(BD3)는 타겟 비트 라인들 중 하나에 대응하지 않고, 제6 프로그램 상태(P6)이므로, 제3 비트(B3)는 타겟 비트가 아니다. 제4 비트 데이터(BD4)는 타겟 비트 라인(BL4)에 대응하고 소거 상태(E)에 대응하므로, 제4 비트 데이터(BD4)는 타겟 비트 데이터이고, 제4 비트 데이터(BD4)에 대응하는 제4 비트(B4)는 타겟 비트이다. 제5 비트 데이터(BD5)는 소거 상태(E) 이지만 타겟 비트 라인들 중 하나에 대응하지 않으므로, 제5 비트(B5)는 타겟 비트가 아니다. 제6 비트 데이터(BD6)는 타겟 비트 라인(BL6)에 대응하고 소거 상태(E)에 대응하므로, 제6 비트 데이터(BD6)는 타겟 비트 데이터이고, 제6 비트 데이터(BD6)에 대응하는 제6 비트(B6)는 타겟 비트이다. 제k 비트 데이터(BDk)는 타겟 비트 라인들 중 하나에 대응하지 않고, 제7 프로그램 상태(P7)이므로, 제k 비트(Bk)는 타겟 비트가 아니다. 즉, 불휘발성 메모리 장치(100)는 타겟 비트들(B1, B4, B6)을 검출할 수 있다. For example, since the first bit data (BD1) corresponds to the target bit line (BL1) and the first bit data (BD1) corresponds to the erase state (E), the first bit data (BD1) is target bit data, and the first bit (B1) corresponding to the first bit data (BD1) is a target bit. Since the second bit data (BD2) does not correspond to one of the target bit lines and is in the first program state (P1), the second bit (B2) is not a target bit. Since the third bit data (BD3) does not correspond to one of the target bit lines and is in the sixth program state (P6), the third bit (B3) is not a target bit. Since the fourth bit data (BD4) corresponds to the target bit line (BL4) and corresponds to the erase state (E), the fourth bit data (BD4) is target bit data, and the fourth bit (B4) corresponding to the fourth bit data (BD4) is a target bit. The fifth bit data (BD5) is in an erased state (E) but does not correspond to one of the target bit lines, so the fifth bit (B5) is not a target bit. The sixth bit data (BD6) corresponds to the target bit line (BL6) and corresponds to the erased state (E), so the sixth bit data (BD6) is target bit data, and the sixth bit (B6) corresponding to the sixth bit data (BD6) is a target bit. The k-th bit data (BDk) does not correspond to one of the target bit lines and is in a seventh program state (P7), so the k-th bit (Bk) is not a target bit. That is, the nonvolatile memory device (100) can detect the target bits (B1, B4, B6).

S150 단계에서, 불휘발성 메모리 장치(100)는 타겟 비트들을 기반으로 FBP 데이터를 생성할 수 있다. 제어 로직 회로(160)는 타겟 비트들을 기반으로 FBP 데이터를 생성할 수 있다. FBP 데이터는 타겟 비트들의 위치에 관한 정보를 포함할 수 있다. 예를 들어, FBP 데이터는 타겟 비트들(B1, B4, B6)을 가리키는 정보를 포함할 수 있다. 제어 로직 회로(160)는 FBP 데이터를 페이지 버퍼 회로(130)로 전송할 수 있다(⑥).At step S150, the nonvolatile memory device (100) can generate FBP data based on the target bits. The control logic circuit (160) can generate FBP data based on the target bits. The FBP data can include information about the positions of the target bits. For example, the FBP data can include information indicating the target bits (B1, B4, B6). The control logic circuit (160) can transmit the FBP data to the page buffer circuit (130) (⑥).

S160 단계에서, 불휘발성 메모리 장치(100)는 FBP 데이터를 기반으로 타겟 비트들을 플립 또는 반전하여 플립된 데이터를 생성할 수 있다(⑦). 예를 들어, 페이지 버퍼 회로(130)는 FBP 데이터에 응답하여, 제1 비트 데이터(BD1), 제4 비트 데이터(BD4), 및 제6 비트 데이터(BD6)를 플립하여 비소거 상태(~E)에 대응하도록 변환할 수 있다. 페이지 버퍼 회로(130)는 타겟 비트들을 플립하여, 플립된 데이터를 생성할 수 있다. 페이지 버퍼 회로(130)는 FBP 데이터를 제2 영역(AREA2)에 대응하는 제k+1 비트 데이터(BDk+1) 내지 제n 비트 데이터(BDn)의 값으로 설정할 수 있다. 본 개시에서 제k+1 비트 데이터(BDk+1) 내지 제n 비트 데이터(BDn)는 FBP 데이터를 포함할 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 제k+1 비트 데이터(BDk+1) 내지 제n 비트 데이터(BDn)는 메타 데이터를 더 포함할 수 있다. In step S160, the nonvolatile memory device (100) can flip or invert target bits based on the FBP data to generate flipped data (⑦). For example, the page buffer circuit (130) can flip the first bit data (BD1), the fourth bit data (BD4), and the sixth bit data (BD6) in response to the FBP data to convert them to correspond to a non-erased state (~E). The page buffer circuit (130) can flip the target bits to generate flipped data. The page buffer circuit (130) can set the FBP data to the value of the k+1-th bit data (BDk+1) to the n-th bit data (BDn) corresponding to the second area (AREA2). In the present disclosure, the k+1-th bit data (BDk+1) to the n-th bit data (BDn) may include FBP data, but the scope of the present disclosure is not limited thereto. The k+1-th bit data (BDk+1) to the n-th bit data (BDn) may further include metadata.

S170 단계에서, 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 플립된 데이터 및 FBP 데이터를 프로그램할 수 있다(⑧). 즉, 불휘발성 메모리 장치(100)는 플립된 데이터 및 FBP 데이터를 포함하는 제2 쓰기 데이터(WD2)를 제3 워드 라인(WL3)에 연결된 메모리 셀들에 저장할 수 있다. 예를 들어, 로우 디코더(120)는 제3 워드 라인(WL3)으로 프로그램 전압 및 프로그램 검증 전압을 인가할 수 있다. 페이지 버퍼 회로(130)는 쓰기 데이터(WD)가 제3 워드 라인(WL3)에 저장되도록 비트 라인들(BL)의 전압을 제어할 수 있다.At step S170, the nonvolatile memory device (100) can program the flipped data and FBP data to the third word line (WL3) (⑧). That is, the nonvolatile memory device (100) can store the second write data (WD2) including the flipped data and FBP data in the memory cells connected to the third word line (WL3). For example, the row decoder (120) can apply a program voltage and a program verification voltage to the third word line (WL3). The page buffer circuit (130) can control the voltage of the bit lines (BL) so that the write data (WD) is stored in the third word line (WL3).

프로그램 결과, 플립된 데이터 및 FBP 데이터는 제3 워드 라인(WL3)에 저장될 수 있다. 플립된 데이터는 제3 워드 라인(WL3)의 제1 영역(AREA1)에 저장되고, FBP 데이터는 제3 워드 라인(WL3)의 제2 영역(AREA2)에 저장될 수 있다. 예를 들어, 메모리 셀(MC31)은 비소거 상태(~E)를 갖고, 메모리 셀(MC32)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC33)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC34)은 비소거 상태(~E)를 갖고, 메모리 셀(MC35)은 소거 상태(E)를 갖고, 메모리 셀(MC36)은 비소거 상태(~E)를 갖고, 메모리 셀(MC3k)은 제7 프로그램 상태(P7)를 가질 수 있다. 즉, 메모리 셀들(MC31~MC3k)은 플립된 데이터(또는 플립된 사용자 데이터)를 저장할 수 있다. 메모리 셀들(MC3k+1~MC3n)은 FBP 데이터를 저장할 수 있다. The program result, the flipped data, and the FBP data may be stored in the third word line (WL3). The flipped data may be stored in the first area (AREA1) of the third word line (WL3), and the FBP data may be stored in the second area (AREA2) of the third word line (WL3). For example, the memory cell (MC31) may have a non-erased state (~E), the memory cell (MC32) may have a first program state (P1), the memory cell (MC33) may have a sixth program state (P6), the memory cell (MC34) may have a non-erased state (~E), the memory cell (MC35) may have an erased state (E), the memory cell (MC36) may have a non-erased state (~E), and the memory cell (MC3k) may have a seventh program state (P7). That is, memory cells (MC31 to MC3k) can store flipped data (or flipped user data). Memory cells (MC3k+1 to MC3n) can store FBP data.

도 9는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 보여주는 순서도이다. 도 10a 및 도 10b는 본 개시의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다. FIG. 9 is a flowchart showing the operation of a nonvolatile memory device according to one embodiment of the present disclosure. FIGS. 10A and 10B are drawings for explaining the operation of a nonvolatile memory device according to one embodiment of the present disclosure.

설명의 편의를 위해, 도 8a 내지 8c에서 설명된 구성 요소들에 대한 상세한 설명은 생략된다. 도9, 도 10a 및 도 10b를 참조하면, 제1 워드 라인(WL1)에 연결된 메모리 셀들은 프로그램이 완료된 상태이고, 제2 워드 라인(WL2)에 연결된 메모리 셀들은 프로그램이 완료된 상태이고, 제3 워드 라인(WL3)에 연결된 메모리 셀들은 프로그램 완료된 상태일 수 있다. For convenience of explanation, detailed descriptions of the components illustrated in FIGS. 8A to 8C are omitted. Referring to FIGS. 9, 10A and 10B, memory cells connected to the first word line (WL1) may be in a program-completed state, memory cells connected to the second word line (WL2) may be in a program-completed state, and memory cells connected to the third word line (WL3) may be in a program-completed state.

예를 들어, 메모리 셀(MC11)은 소거 상태(E)를 갖고, 메모리 셀(MC12)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC13)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC14)은 소거 상태(E)를 갖고, 메모리 셀(MC15)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC16)은 소거 상태(E)를 갖고, 메모리 셀(MC1k)은 제7 프로그램 상태(P7)를 가질 수 있다. 메모리 셀(MC21)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC22)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC23)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC24)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC25)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC26)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC2k)은 제5 프로그램 상태(P5)를 가질 수 있다. 메모리 셀(MC31)은 비소거 상태(~E)를 갖고, 메모리 셀(MC32)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC33)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC34)은 비소거 상태(~E)를 갖고, 메모리 셀(MC35)은 소거 상태(E)를 갖고, 메모리 셀(MC36)은 비소거 상태(~E)를 갖고, 메모리 셀(MC3k)은 제7 프로그램 상태(P7)를 가질 수 있다.For example, a memory cell (MC11) may have an erase state (E), a memory cell (MC12) may have a fifth program state (P5), a memory cell (MC13) may have a seventh program state (P7), a memory cell (MC14) may have an erase state (E), a memory cell (MC15) may have a fourth program state (P4), a memory cell (MC16) may have an erase state (E), and a memory cell (MC1k) may have a seventh program state (P7). A memory cell (MC21) can have a seventh program state (P7), a memory cell (MC22) can have a second program state (P2), a memory cell (MC23) can have a sixth program state (P6), a memory cell (MC24) can have a seventh program state (P7), a memory cell (MC25) can have a third program state (P3), a memory cell (MC26) can have a sixth program state (P6), and a memory cell (MC2k) can have a fifth program state (P5). A memory cell (MC31) can have a non-erased state (~E), a memory cell (MC32) can have a first program state (P1), a memory cell (MC33) can have a sixth program state (P6), a memory cell (MC34) can have a non-erased state (~E), a memory cell (MC35) can have an erased state (E), a memory cell (MC36) can have a non-erased state (~E), and a memory cell (MC3k) can have a seventh program state (P7).

S210 단계에서, 불휘발성 메모리 장치(100)는 읽기 커맨드에 응답하여, 제3 워드 라인(WL3)에서 플립된 데이터 및 FBP 데이터를 읽을 수 있다(⑨). 불휘발성 메모리 장치(100)는 읽기 동작을 수행할 수 있다. 예를 들어, 로우 디코더(120)는 제3 워드 라인(WL3)으로 읽기 전압을 인가할 수 있다. 페이지 버퍼 회로(130)는 비트 라인들(BL)의 전압 변화를 감지하여, 읽기 데이터(RD)를 데이터 래치(131)에 저장할 수 있다. At step S210, the nonvolatile memory device (100) can read the flipped data and FBP data from the third word line (WL3) in response to the read command (⑨). The nonvolatile memory device (100) can perform a read operation. For example, the row decoder (120) can apply a read voltage to the third word line (WL3). The page buffer circuit (130) can detect a voltage change of the bit lines (BL) and store the read data (RD) in the data latch (131).

예를 들어, 불휘발성 메모리 장치(100)는 제3 워드 라인(WL3)에 저장된 읽기 데이터를 데이터 래치(131)에 저장할 수 있다. 읽기 동작을 수행한 결과, 페이지 버퍼 회로(130)에 읽기 데이터(RD)가 저장될 수 있다. 읽기 데이터(RD)는 제1 내지 제n 비트 데이터(BD1~BDn)를 포함할 수 있다. 제1 비트 데이터(BD1)는 비소거 상태(~E)에 대응하고, 제2 비트 데이터(BD2)는 제1 프로그램 상태(P1)에 대응하고, 제3 비트 데이터(BD3)는 제6 프로그램 상태(P6)에 대응하고, 제4 비트 데이터(BD4)는 비소거 상태(~E)에 대응하고, 제5 비트 데이터(BD5)는 소거 상태(E)에 대응하고, 제6 비트 데이터(BD6)는 비소거 상태(~E)에 대응하고, 제k 비트 데이터(BDk)는 제7 프로그램 상태(P7)에 대응할 수 있다. For example, the nonvolatile memory device (100) may store read data stored in the third word line (WL3) in the data latch (131). As a result of performing the read operation, read data (RD) may be stored in the page buffer circuit (130). The read data (RD) may include first to n-th bit data (BD1 to BDn). The first bit data (BD1) may correspond to a non-erased state (~E), the second bit data (BD2) may correspond to a first program state (P1), the third bit data (BD3) may correspond to a sixth program state (P6), the fourth bit data (BD4) may correspond to a non-erased state (~E), the fifth bit data (BD5) may correspond to an erased state (E), the sixth bit data (BD6) may correspond to a non-erased state (~E), and the k-th bit data (BDk) may correspond to a seventh program state (P7).

페이지 버퍼 회로(130)는 FBP 데이터를 제어 로직 회로(160)로 출력할 수 있다(⑩). 제어 로직 회로(160)는 FBP 데이터를 기반으로, 플립된 비트의 위치들을 판별할 수 있다. 제어 로직 회로(160)는 플립 비트 플래그를 페이지 버퍼 회로(130)로 전송할 수 있다. The page buffer circuit (130) can output FBP data to the control logic circuit (160) (⑩). The control logic circuit (160) can determine the positions of flipped bits based on the FBP data. The control logic circuit (160) can transmit a flip bit flag to the page buffer circuit (130).

S220 단계에서, 불휘발성 메모리 장치(100)는 플립된 데이터의 플립된 비트들을 다시 플립할 수 있다. 불휘발성 메모리 장치(100)는 FBP 데이터를 기반으로 디코딩 동작을 수행하여 디코딩된 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 FBP 데이터를 기반으로 재플립 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 약한 패턴을 제거하기 위해 플립된 비트들을 다시 플립시킬 수 있다. 불휘발성 메모리 장치(100)는 FBP 데이터를 기반으로, 플립된 데이터 중 플립된 비트들을 플립하여 디코딩된 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 디코딩된 데이터를 외부 스토리지 컨트롤러로 전송할 수 있다. At step S220, the nonvolatile memory device (100) can flip the flipped bits of the flipped data again. The nonvolatile memory device (100) can perform a decoding operation based on the FBP data to generate decoded data. The nonvolatile memory device (100) can perform a re-flip operation based on the FBP data. The nonvolatile memory device (100) can flip the flipped bits again to remove a weak pattern. The nonvolatile memory device (100) can flip the flipped bits of the flipped data based on the FBP data to generate decoded data. The nonvolatile memory device (100) can transmit the decoded data to an external storage controller.

예를 들어, 페이지 버퍼 회로(130)는 플립 비트 플래그를 기반으로 재플립 동작을 수행할 수 있다(⑪). 페이지 버퍼 회로(130)는 비소거 상태(~E)에 대응하는 데이터를 소거 상태(E)에 대응하는 데이터로 변환할 수 있다. 이에 따라, 제1 비트 데이터(BD1)는 소거 상태(E)에 대응하고, 제2 비트 데이터(BD2)는 제1 프로그램 상태(P1)에 대응하고, 제3 비트 데이터(BD3)는 제6 프로그램 상태(P6)에 대응하고, 제4 비트 데이터(BD4)는 소거 상태(E)에 대응하고, 제5 비트 데이터(BD5)는 소거 상태(E)에 대응하고, 제6 비트 데이터(BD6)는 소거 상태(E)에 대응하고, 제k 비트 데이터(BDk)는 제7 프로그램 상태(P7)에 대응할 수 있다. 페이지 버퍼 회로(130)는 읽기 데이터(RD)를 입출력 회로(140)로 출력할 수 있다(⑫).For example, the page buffer circuit (130) can perform a re-flip operation based on a flip bit flag (⑪). The page buffer circuit (130) can convert data corresponding to a non-erased state (~E) into data corresponding to an erased state (E). Accordingly, the first bit data (BD1) can correspond to the erased state (E), the second bit data (BD2) can correspond to the first program state (P1), the third bit data (BD3) can correspond to the sixth program state (P6), the fourth bit data (BD4) can correspond to the erased state (E), the fifth bit data (BD5) can correspond to the erased state (E), the sixth bit data (BD6) can correspond to the erased state (E), and the k-th bit data (BDk) can correspond to the seventh program state (P7). The page buffer circuit (130) can output the read data (RD) to the input/output circuit (140) (⑫).

도 11a 내지 도 11d는 본 개시의 일 실시예 따른 불휘발성 메모리 장치의 제1 플립 동작을 설명하기 위한 도면들이다. FIGS. 11A to 11D are drawings for explaining a first flip operation of a nonvolatile memory device according to one embodiment of the present disclosure.

도면의 간결성 및 설명의 편의를 위하여, 메모리 셀 어레이(110)는 제1 내지 제3 워드 라인들(WL1~WL3), 및 제1 내지 제9 비트 라인들(BL1~BL9)과 연결된 복수의 메모리 셀들(MC11~MC39)들을 포함하는 것으로 가정한다. 단 본 개시의 범위가 이제 한정되는 것은 아니다. 또한, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다. For the sake of simplicity of the drawing and convenience of explanation, it is assumed that the memory cell array (110) includes a plurality of memory cells (MC11 to MC39) connected to first to third word lines (WL1 to WL3) and first to ninth bit lines (BL1 to BL9). However, the scope of the present disclosure is not limited thereto. In addition, detailed descriptions of the components described above are omitted.

예를 들어, 제1 내지 제6 비트 라인들(BL1~BL6)과 연결된 메모리 셀들은 제1 영역(AREA1)이고, 제7 내지 제9 비트 라인들(BL7~BL9)과 연결된 메모리 셀들은 제2 영역(AREA2)일 수 있다. 메모리 셀(MC11)은 소거 상태(E)를 갖고, 메모리 셀(MC12)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC13)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC14)은 소거 상태(E)를 갖고, 메모리 셀(MC15)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC16)은 소거 상태(E)를 가질 수 있다. 메모리 셀(MC21)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC22)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC23)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC24)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC25)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC26)은 제6 프로그램 상태(P6)를 가질 수 있다. 제3 워드 라인(WL3)에 연결된 제1 영역(AREA1)의 메모리 셀들(MC31~MC36)은 소거 상태(E)를 가질 수 있다. For example, memory cells connected to the first to sixth bit lines (BL1 to BL6) may be a first area (AREA1), and memory cells connected to the seventh to ninth bit lines (BL7 to BL9) may be a second area (AREA2). Memory cell (MC11) may have an erase state (E), memory cell (MC12) may have a fifth program state (P5), memory cell (MC13) may have a seventh program state (P7), memory cell (MC14) may have an erase state (E), memory cell (MC15) may have a fourth program state (P4), and memory cell (MC16) may have an erase state (E). A memory cell (MC21) can have a seventh program state (P7), a memory cell (MC22) can have a second program state (P2), a memory cell (MC23) can have a sixth program state (P6), a memory cell (MC24) can have a seventh program state (P7), a memory cell (MC25) can have a third program state (P3), and a memory cell (MC26) can have a sixth program state (P6). Memory cells (MC31 to MC36) of a first area (AREA1) connected to a third word line (WL3) can have an erase state (E).

일 실시예에서, 제1 영역(AREA1)은 복수의 부분들(S1~S3)로 분할될 수 있다. 제1 영역(AREA1)은 제1 내지 제3 부분들(S1~S3)을 포함할 수 있다. 예를 들어, 복수의 부분들의 개수는 셀에 저장되는 비트들의 개수와 동일할 수 있다. 복수의 메모리 셀들(MC11~MC39) 3개의 비트들에 대응하는 정보를 저장하는 트리플 레벨 셀(TLC; triple level cell)인 경우, 제1 영역(AREA1)은 3개의 부분들로 분할될 수 있다. 제1 부분(S1)은 제1 및 제2 비트 라인들(BL1, BL2)에 연결된 메모리 셀들을 포함하고, 제2 부분(S2)은 제3 및 제4 비트 라인들(BL3, BL4)에 연결된 메모리 셀들을 포함하고, 제3 부분(S3)은 제5 및 제6 비트 라인들(BL5, BL6)에 연결된 메모리 셀들을 포함할 수 있다. 또는 제1 부분(S1)은 제1 및 제2 비트 라인들(BL1, BL2)에 대응하고, 제2 부분(S2)은 제3 및 제4 비트 라인들(BL3, BL4)에 대응하고, 제3 부분(S3)은 제5 및 제6 비트 라인들(BL5, BL6)에 대응할 수 있다. In one embodiment, the first area (AREA1) may be divided into a plurality of portions (S1 to S3). The first area (AREA1) may include first to third portions (S1 to S3). For example, the number of the plurality of portions may be equal to the number of bits stored in the cell. When the plurality of memory cells (MC11 to MC39) are triple level cells (TLCs) that store information corresponding to three bits, the first area (AREA1) may be divided into three portions. The first portion (S1) may include memory cells connected to the first and second bit lines (BL1, BL2), the second portion (S2) may include memory cells connected to the third and fourth bit lines (BL3, BL4), and the third portion (S3) may include memory cells connected to the fifth and sixth bit lines (BL5, BL6). Alternatively, the first portion (S1) may correspond to the first and second bit lines (BL1, BL2), the second portion (S2) may correspond to the third and fourth bit lines (BL3, BL4), and the third portion (S3) may correspond to the fifth and sixth bit lines (BL5, BL6).

페이지 버퍼 회로(130)는 제1 쓰기 데이터(WD1)를 수신할 수 있다. 페이지 버퍼 회로(130)는 제1 쓰기 데이터(WD1)를 데이터 래치(131)에 저장할 수 있다. 제1 쓰기 데이터(WD1)는 제1 내지 제3 페이지 데이터들(PD1~PD3)을 포함할 수 있다. 도 8b와 유사하게, 제1 페이지 데이터(PD1)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제1 페이지 데이터(PD1)의 사용자 데이터)은 [101111]이고, 제2 페이지 데이터(PD2)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제2 페이지 데이터(PD2)의 사용자 데이터)은 [110111]이고, 제3 페이지 데이터(PD3)의 제1 영역(AREA1)에 대응하는 부분의 값(또는 제3 페이지 데이터(PD3)의 사용자 데이터)은 [110111]일 수 있다.The page buffer circuit (130) can receive the first write data (WD1). The page buffer circuit (130) can store the first write data (WD1) in the data latch (131). The first write data (WD1) can include first to third page data (PD1 to PD3). Similar to FIG. 8B, a value of a portion corresponding to the first area (AREA1) of the first page data (PD1) (or user data of the first page data (PD1)) can be [101111], a value of a portion corresponding to the first area (AREA1) of the second page data (PD2) (or user data of the second page data (PD2)) can be [110111], and a value of a portion corresponding to the first area (AREA1) of the third page data (PD3) (or user data of the third page data (PD3)) can be [110111].

제1 비트 데이터(BD1)는 소거 상태(E)에 대응하고, 제2 비트 데이터(BD2)는 제1 프로그램 상태(P1)에 대응하고, 제3 비트 데이터(BD3)는 제6 프로그램 상태(P6)에 대응하고, 제4 비트 데이터(BD4)는 소거 상태(E)에 대응하고, 제5 비트 데이터(BD5)는 소거 상태(E)에 대응하고, 제6 비트 데이터(BD6)는 소거 상태(E)에 대응할 수 있다. The first bit data (BD1) may correspond to an erase state (E), the second bit data (BD2) may correspond to a first program state (P1), the third bit data (BD3) may correspond to a sixth program state (P6), the fourth bit data (BD4) may correspond to an erase state (E), the fifth bit data (BD5) may correspond to an erase state (E), and the sixth bit data (BD6) may correspond to an erase state (E).

도 11b를 살펴 보면, 제1 부분(S1)에서 약한 패턴이 검출된 경우, 불휘발성 메모리 장치(100)는 소거 상태(E)에 대응하는 비트 데이터(BD)를 제1 프로그램 상태(P1)에 대응하는 비트 데이터(BD)로 변환(또는 플립)할 수 있다. 즉, 제1 부분(S1)에 대응하는 비트들(B1, B2)에서 타겟 비트들이 검출된 경우, [1, 1, 1]에서 [0, 1, 1]로 변경할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 부분(S1)에 대응하는 타겟 비트는 제1 페이지 데이터(PD1)(예를 들어, LSB 페이지)에 대응하는 데이터를 플립할 수 있다. Referring to FIG. 11b, when a weak pattern is detected in the first portion (S1), the nonvolatile memory device (100) can convert (or flip) the bit data (BD) corresponding to the erase state (E) to the bit data (BD) corresponding to the first program state (P1). That is, when target bits are detected in the bits (B1, B2) corresponding to the first portion (S1), they can be changed from [1, 1, 1] to [0, 1, 1]. That is, the nonvolatile memory device (100) can flip the target bit corresponding to the first portion (S1) to the data corresponding to the first page data (PD1) (e.g., the LSB page).

제2 부분(S2)에서 약한 패턴이 검출된 경우, 불휘발성 메모리 장치(100)는 소거 상태(E)에 대응하는 비트 데이터(BD)를 제7 프로그램 상태(P7)에 대응하는 비트 데이터(BD)로 변환(또는 플립)할 수 있다. 즉, 제2 부분(S2)에 대응하는 비트들(B1, B2)에서 타겟 비트들이 검출된 경우, [1, 1, 1]에서 [1, 0, 1]로 변경할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 부분(S2)에 대응하는 타겟 비트는 제2 페이지 데이터(PD2)(예를 들어, CSB 페이지)에 대응하는 데이터를 플립할 수 있다.When a weak pattern is detected in the second portion (S2), the nonvolatile memory device (100) can convert (or flip) the bit data (BD) corresponding to the erase state (E) to the bit data (BD) corresponding to the seventh program state (P7). That is, when target bits are detected in the bits (B1, B2) corresponding to the second portion (S2), they can be changed from [1, 1, 1] to [1, 0, 1]. That is, the nonvolatile memory device (100) can flip the target bit corresponding to the second portion (S2) to the data corresponding to the second page data (PD2) (e.g., the CSB page).

제3 부분(S3)에서 약한 패턴이 검출된 경우, 불휘발성 메모리 장치(100)는 소거 상태(E)에 대응하는 비트 데이터(BD)를 제5 프로그램 상태(P5)에 대응하는 비트 데이터(BD)로 변환(또는 플립)할 수 있다. 즉, 제3 부분(S3)에 대응하는 비트들(B1, B2)에서 타겟 비트들이 검출된 경우, [1, 1, 1]에서 [1, 1, 0]로 변경할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 부분(S3)에 대응하는 타겟 비트는 제3 페이지 데이터(PD3)(예를 들어, MSB 페이지)에 대응하는 데이터를 플립할 수 있다.If a weak pattern is detected in the third portion (S3), the nonvolatile memory device (100) can convert (or flip) the bit data (BD) corresponding to the erase state (E) to the bit data (BD) corresponding to the fifth program state (P5). That is, if target bits are detected in the bits (B1, B2) corresponding to the third portion (S3), they can be changed from [1, 1, 1] to [1, 1, 0]. That is, the nonvolatile memory device (100) can flip the target bit corresponding to the third portion (S3) to the data corresponding to the third page data (PD3) (e.g., the MSB page).

다시 도 11a를 참조하면, 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)에 대하여 인코딩 동작을 수행하여 제2 쓰기 데이터(WD2)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)의 제1 영역(AREA1)에 대응하는 데이터에 대한 플립 동작을 수행하여, 플립된 제1 쓰기 데이터(WD1)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 플립된 제1 쓰기 데이터(WD1)에 FBP 데이터를 추가하여 제2 쓰기 데이터(WD2)를 생성할 수 있다. Referring again to FIG. 11A, the nonvolatile memory device (100) can perform an encoding operation on the first write data (WD1) to generate the second write data (WD2). The nonvolatile memory device (100) can perform a flip operation on data corresponding to the first area (AREA1) of the first write data (WD1) to generate the flipped first write data (WD1). The nonvolatile memory device (100) can add FBP data to the flipped first write data (WD1) to generate the second write data (WD2).

불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)을 센싱하여, 제1 메모리 셀들(MC11, MC14, MC16)을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)을 센싱하여, 제2 메모리 셀들(MC21, MC23, MC24, MC26)을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제1 메모리 셀들(MC11, MC14, MC16) 및 제2 메모리 셀들(MC21, MC23, MC24, MC26)을 기반으로 타겟 비트 라인들을 검출할 수 있다. 제1 비트 라인(BL1)은 제1 메모리 셀(MC11) 및 제2 메모리 셀(MC21)을 포함하므로, 불휘발성 메모리 장치(100)는 제1 비트 라인(BL1)을 타겟 비트 라인으로 검출할 수 있다. 제4 비트 라인(BL4)은 제1 메모리 셀(MC14) 및 제2 메모리 셀(MC24)을 포함하므로, 불휘발성 메모리 장치(100)는 제4 비트 라인(BL4)을 타겟 비트 라인으로 검출할 수 있다. 제6 비트 라인(BL6)은 제1 메모리 셀(MC16) 밀 제2 메모리 셀(MC26)을 포함하므로, 불휘발성 메모리 장치(100)는 제6 비트 라인(BL6)을 타겟 비트 라인으로 검출할 수 있다. The nonvolatile memory device (100) can detect the first memory cells (MC11, MC14, MC16) by sensing the first word line (WL1). The nonvolatile memory device (100) can detect the second memory cells (MC21, MC23, MC24, MC26) by sensing the second word line (WL2). The nonvolatile memory device (100) can detect the target bit lines based on the first memory cells (MC11, MC14, MC16) and the second memory cells (MC21, MC23, MC24, MC26). Since the first bit line (BL1) includes the first memory cell (MC11) and the second memory cell (MC21), the nonvolatile memory device (100) can detect the first bit line (BL1) as the target bit line. Since the fourth bit line (BL4) includes the first memory cell (MC14) and the second memory cell (MC24), the nonvolatile memory device (100) can detect the fourth bit line (BL4) as a target bit line. Since the sixth bit line (BL6) includes the first memory cell (MC16) and the second memory cell (MC26), the nonvolatile memory device (100) can detect the sixth bit line (BL6) as a target bit line.

타겟 비트 라인에 대응하는 비트 데이터(BD)가 소거 상태에 대응한다고 판별되면, 불휘발성 메모리 장치(100)는 비트 데이터(BD)에 대응하는 비트를 타겟 비트로 판별할 수 있다. 불휘발성 메모리 장치(100)는 타겟 비트 라인들(BL1, BL4, BL6)의 비트 데이터(BD)를 확인할 수 있다. 제1 비트 라인(BL1)에 대응하는 제1 비트 데이터(BD1)가 소거 상태(E)에 대응하므로, 불휘발성 메모리 장치(100)는 제1 비트(B1)를 타겟 비트로 판별할 수 있다. 제4 비트 라인(BL4)에 대응하는 제4 비트 데이터(BD4)가 소거 상태(E)에 대응하므로, 불휘발성 메모리 장치(100)는 제4 비트(B4)를 타겟 비트로 판별할 수 있다. 제6 비트 라인(BL6)에 대응하는 제6 비트 데이터(BD6)가 소거 상태(E)에 대응하므로, 불휘발성 메모리 장치(100)는 제6 비트(B6)를 타겟 비트로 판별할 수 있다. 즉, 불휘발성 메모리 장치(100)는 타겟 비트들(B1, B4, B6)을 검출할 수 있다. If it is determined that the bit data (BD) corresponding to the target bit line corresponds to the erase state, the nonvolatile memory device (100) can determine the bit corresponding to the bit data (BD) as the target bit. The nonvolatile memory device (100) can check the bit data (BD) of the target bit lines (BL1, BL4, BL6). Since the first bit data (BD1) corresponding to the first bit line (BL1) corresponds to the erase state (E), the nonvolatile memory device (100) can determine the first bit (B1) as the target bit. Since the fourth bit data (BD4) corresponding to the fourth bit line (BL4) corresponds to the erase state (E), the nonvolatile memory device (100) can determine the fourth bit (B4) as the target bit. Since the sixth bit data (BD6) corresponding to the sixth bit line (BL6) corresponds to the erase state (E), the nonvolatile memory device (100) can determine the sixth bit (B6) as the target bit. That is, the nonvolatile memory device (100) can detect the target bits (B1, B4, B6).

타겟 비트들은 제1 내지 제3 서브 타겟 비트들(STB1, STB2, STB3)을 포함할 수 있다. 또는 타겟 비트들은 제1 내지 제3 서브 타겟 비트들(STB1, STB2, STB3)로 분할될 수 있다. 제1 서브 타겟 비트들(STB1)은 타겟 비트들 중 제1 부분(S1)에 대응하는 비트들을 가리키고, 제2 서브 타겟 비트들(STB2)은 타겟 비트들 중 제2 부분(S2)에 대응하는 비트들을 가리키고, 제3 서브 타겟 비트들(STB3)은 타겟 비트들 중 제3 부분(S3)에 대응하는 비트들을 가리킬 수 있다. 타겟 비트들, 서브 타겟 비트들은 표 1과 같을 수 있다. The target bits may include first to third sub-target bits (STB1, STB2, STB3). Alternatively, the target bits may be divided into first to third sub-target bits (STB1, STB2, STB3). The first sub-target bits (STB1) may indicate bits corresponding to a first portion (S1) of the target bits, the second sub-target bits (STB2) may indicate bits corresponding to a second portion (S2) of the target bits, and the third sub-target bits (STB3) may indicate bits corresponding to a third portion (S3) of the target bits. The target bits and the sub-target bits may be as shown in Table 1.

TBTB STB1STB1 B1B1 STB2STB2 B4B4 STB3STB3 B6B6

표 1을 참조하면, 타겟 비트들(TB)은 제1, 제4, 및 제6 비트들(B1, B4, B6)을 포함할 수 있다. 제1 서브 타겟 비트들(STB1)은 제1 비트(B1)를 포함하고, 제2 서브 타겟 비트들(STB2)은 제4 비트(B4)를 포함하고, 제3 서브 타겟 비트들(STB3)은 제6 비트(B6)를 포함할 수 있다. 불휘발성 메모리 장치(100)는 타겟 비트들을 기반으로, 인코딩 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 타겟 비트들을 플립하여, 플립된 제1 쓰기 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 플립된 제1 쓰기 데이터에 FBP 데이터를 추가하여 제2 쓰기 데이터(WD2)를 생성할 수 있다. Referring to Table 1, the target bits (TB) may include first, fourth, and sixth bits (B1, B4, B6). The first sub-target bits (STB1) may include a first bit (B1), the second sub-target bits (STB2) may include a fourth bit (B4), and the third sub-target bits (STB3) may include a sixth bit (B6). The nonvolatile memory device (100) may perform an encoding operation based on the target bits. The nonvolatile memory device (100) may flip the target bits to generate flipped first write data. The nonvolatile memory device (100) may add FBP data to the flipped first write data to generate second write data (WD2).

제1 비트(B1)는 제1 부분(S1)에 대응하므로(즉, 제1 비트(B1)에 대응하는 제1 비트 라인(BL1)은 제1 부분(S1)에 포함되므로), 불휘발성 메모리 장치(100)는 소거 상태(E)를 제1 프로그램 상태(P1)로 변환할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 비트(B1)를 플립할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 비트(B1)를 '1'에서 '0'으로 플립할 수 있다. Since the first bit (B1) corresponds to the first portion (S1) (i.e., the first bit line (BL1) corresponding to the first bit (B1) is included in the first portion (S1)), the nonvolatile memory device (100) can convert the erase state (E) into the first program state (P1). That is, the nonvolatile memory device (100) can flip the first bit (B1) of the first page data (PD1). For example, the nonvolatile memory device (100) can flip the first bit (B1) of the first page data (PD1) from '1' to '0'.

제4 비트(B4)는 제2 부분(S2)에 대응하므로(즉, 제4 비트(B4)에 대응하는 제4 비트 라인(BL4)은 제2 부분(S2)에 포함되므로), 불휘발성 메모리 장치(100)는 소거 상태(E)를 제7 프로그램 상태(P7)로 변환할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 플립할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 '1'에서 '0'으로 플립할 수 있다. Since the fourth bit (B4) corresponds to the second portion (S2) (i.e., the fourth bit line (BL4) corresponding to the fourth bit (B4) is included in the second portion (S2)), the nonvolatile memory device (100) can convert the erase state (E) to the seventh program state (P7). That is, the nonvolatile memory device (100) can flip the fourth bit (B4) of the second page data (PD2). For example, the nonvolatile memory device (100) can flip the fourth bit (B4) of the second page data (PD2) from '1' to '0'.

제6 비트(B6)는 제3 부분(S3)에 대응하므로(즉, 제6 비트(B6)에 대응하는 제6 비트 라인(BL6)은 제3 부분(S3)에 포함되므로), 불휘발성 메모리 장치(100)는 소거 상태(E)를 제5 프로그램 상태(P5)로 변환할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제6 비트(B6)를 플립할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제6 비트(B6)를 '1'에서 '0'으로 플립할 수 있다. Since the sixth bit (B6) corresponds to the third portion (S3) (i.e., the sixth bit line (BL6) corresponding to the sixth bit (B6) is included in the third portion (S3)), the nonvolatile memory device (100) can convert the erase state (E) into the fifth program state (P5). That is, the nonvolatile memory device (100) can flip the sixth bit (B6) of the third page data (PD3). For example, the nonvolatile memory device (100) can flip the sixth bit (B6) of the third page data (PD3) from '1' to '0'.

일 실시예에서, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)에서 제1 서브 타겟 비트들(STB1)을 플립할 수 있다. 또는 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)에서 제1 서브 타겟 비트들(STB1)에 대응하는 데이터를 플립할 수 있다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)에서 제2 서브 타겟 비트들(STB2)을 플립할 수 있다. 또는 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)에서 제2 서브 타겟 비트들(STB2)에 대응하는 데이터를 플립할 수 있다. 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)에서 제3 서브 타겟 비트들(STB3)을 플립할 수 있다. 또는 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)에서 제3 서브 타겟 비트들(STB3)에 대응하는 데이터를 플립할 수 있다.In one embodiment, the nonvolatile memory device (100) can flip the first sub-target bits (STB1) in the first page data (PD1). Alternatively, the nonvolatile memory device (100) can flip data corresponding to the first sub-target bits (STB1) in the first page data (PD1). The nonvolatile memory device (100) can flip the second sub-target bits (STB2) in the second page data (PD2). Alternatively, the nonvolatile memory device (100) can flip data corresponding to the second sub-target bits (STB2) in the second page data (PD2). The nonvolatile memory device (100) can flip the third sub-target bits (STB3) in the third page data (PD3). Alternatively, the nonvolatile memory device (100) can flip data corresponding to the third sub-target bits (STB3) in the third page data (PD3).

예를 들어, 제1 서브 타겟 비트들(STB1)은 제1 비트(B1)이므로, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 비트(B1)를 '1'에서 '0'으로 플립할 수 있다. 제2 서브 타겟 비트들(STB2)은 제4 비트(B4)이므로, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 '1'에서 '0'으로 플립할 수 있다. 제3 서브 타겟 비트들(STB3)은 제6 비트(B6)이므로, 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제6 비트(B6)를 '1'에서 '0'으로 플립할 수 있다.For example, since the first sub-target bits (STB1) are the first bit (B1), the nonvolatile memory device (100) can flip the first bit (B1) of the first page data (PD1) from '1' to '0'. Since the second sub-target bits (STB2) are the fourth bit (B4), the nonvolatile memory device (100) can flip the fourth bit (B4) of the second page data (PD2) from '1' to '0'. Since the third sub-target bits (STB3) are the sixth bit (B6), the nonvolatile memory device (100) can flip the sixth bit (B6) of the third page data (PD3) from '1' to '0'.

도 11c를 참조하면, 불휘발성 메모리 장치(100)는 FBP 데이터를 생성할 수 있다. 페이지 버퍼 회로(130)는 타겟 비트들(또는 약한 패턴의 위치)를 제어 로직 회로(160)로 출력할 수 있다. 제어 로직 회로(160)는 타겟 비트들(또는 약한 패턴의 위치)를 기반으로 FBP 데이터를 생성할 수 있다. FBP 데이터는 제1 내지 제3 서브 FBP 데이터들(FBP_SUB1, FBP_SUB2, FBP_SUB3)를 포함할 수 있다. 제어 로직 회로(160)는 FBP 데이터(즉, 제1 내지 제3 서브 FBP 데이터들(FBP_SUB1, FBP_SUB2, FBP_SUB3))를 페이지 버퍼 회로(130)로 출력할 수 있다. Referring to FIG. 11c, the nonvolatile memory device (100) can generate FBP data. The page buffer circuit (130) can output target bits (or locations of weak patterns) to the control logic circuit (160). The control logic circuit (160) can generate FBP data based on the target bits (or locations of weak patterns). The FBP data can include first to third sub-FBP data (FBP_SUB1, FBP_SUB2, FBP_SUB3). The control logic circuit (160) can output the FBP data (i.e., the first to third sub-FBP data (FBP_SUB1, FBP_SUB2, FBP_SUB3)) to the page buffer circuit (130).

예를 들어, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)에 대응하는 제1 서브 FBP 데이터(FBP_SUB1)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)에 대응하는 제2 서브 FBP 데이터(FBP_SUB2)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)에 대응하는 제3 서브 FBP 데이터(FBP_SUB3)를 생성할 수 있다. For example, the nonvolatile memory device (100) can generate first sub FBP data (FBP_SUB1) corresponding to the first page data (PD1). The nonvolatile memory device (100) can generate second sub FBP data (FBP_SUB2) corresponding to the second page data (PD2). The nonvolatile memory device (100) can generate third sub FBP data (FBP_SUB3) corresponding to the third page data (PD3).

일 실시예에서, 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)의 제1 페이지 데이터(PD1)를 플립하여 제1 플립된 페이지 데이터를 생성하고, 제1 플립된 페이지 데이터에 제1 서브 FBP 데이터(FBP_SUB1)를 추가하여 제1 인코딩된 페이지 데이터(EPD1)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)의 제2 페이지 데이터(PD2)를 플립하여 제2 플립된 페이지 데이터를 생성하고, 제2 플립된 페이지 데이터에 제2 서브 FBP 데이터(FBP_SUB2)를 추가하여 제2 인코딩된 페이지 데이터(EPD2)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)의 제3 페이지 데이터(PD3)를 플립하여 제3 플립된 페이지 데이터를 생성하고, 제3 플립된 페이지 데이터에 제3 서브 FBP 데이터(FBP_SUB3)를 추가하여 제3 인코딩된 페이지 데이터(EPD3)를 생성할 수 있다.In one embodiment, the nonvolatile memory device (100) can flip first page data (PD1) of the first write data (WD1) to generate first flipped page data, and add first sub FBP data (FBP_SUB1) to the first flipped page data to generate first encoded page data (EPD1). The nonvolatile memory device (100) can flip second page data (PD2) of the first write data (WD1) to generate second flipped page data, and add second sub FBP data (FBP_SUB2) to the second flipped page data to generate second encoded page data (EPD2). The nonvolatile memory device (100) can flip third page data (PD3) of the first write data (WD1) to generate third flipped page data, and add third sub FBP data (FBP_SUB3) to the third flipped page data to generate third encoded page data (EPD3).

페이지 데이터(PD)는 제1 영역(AREA1)에 대응하는 사용자 데이터(UD) 및 제2 영역(AREA2)에 대응하는 데이터를 포함할 수 있다. 사용자 데이터는 제1 부분(S1)에 대응하는 제1 서브 사용자 데이터, 제2 부분(S2)에 대응하는 제2 서브 사용자 데이터, 제3 부분(S3)에 대응하는 제3 서브 사용자 데이터를 포함할 수 있다.Page data (PD) may include user data (UD) corresponding to the first area (AREA1) and data corresponding to the second area (AREA2). The user data may include first sub-user data corresponding to the first part (S1), second sub-user data corresponding to the second part (S2), and third sub-user data corresponding to the third part (S3).

제1 쓰기 데이터(WD1)는 제1 내지 제3 페이지 데이터들(PD1~PD3)을 포함할 수 있다. 제1 페이지 데이터(PD1)는 제1 영역(AREA1)에 대응하는 사용자 데이터(UD1) 및 제2 영역(AREA2)에 대응하는 데이터를 포함할 수 있다. 제1 페이지 데이터(PD1)의 사용자 데이터(UD1)는 제1 서브 사용자 데이터(UD1_S1), 제2 서브 사용자 데이터(UD1_S2), 제3 서브 사용자 데이터(UD1_S3)를 포함할 수 있다. 제2 페이지 데이터(PD2)는 제1 영역(AREA1)에 대응하는 사용자 데이터(UD2) 및 제2 영역(AREA2)에 대응하는 데이터를 포함할 수 있다. 제2 페이지 데이터(PD2)의 사용자 데이터(UD2)는 제1 서브 사용자 데이터(UD2_S1), 제2 서브 사용자 데이터(UD2_S2), 제3 서브 사용자 데이터(UD2_S3)를 포함할 수 있다. 제3 페이지 데이터(PD3)는 제1 영역(AREA1)에 대응하는 사용자 데이터(UD3) 및 제2 영역(AREA2)에 대응하는 데이터를 포함할 수 있다. 제3 페이지 데이터(PD3)의 사용자 데이터(UD3)는 제1 서브 사용자 데이터(UD3_S1), 제2 서브 사용자 데이터(UD3_S2), 제3 서브 사용자 데이터(UD3_S3)를 포함할 수 있다.The first write data (WD1) may include first to third page data (PD1 to PD3). The first page data (PD1) may include user data (UD1) corresponding to the first area (AREA1) and data corresponding to the second area (AREA2). The user data (UD1) of the first page data (PD1) may include first sub-user data (UD1_S1), second sub-user data (UD1_S2), and third sub-user data (UD1_S3). The second page data (PD2) may include user data (UD2) corresponding to the first area (AREA1) and data corresponding to the second area (AREA2). The user data (UD2) of the second page data (PD2) may include first sub-user data (UD2_S1), second sub-user data (UD2_S2), and third sub-user data (UD2_S3). The third page data (PD3) may include user data (UD3) corresponding to the first area (AREA1) and data corresponding to the second area (AREA2). The user data (UD3) of the third page data (PD3) may include first sub-user data (UD3_S1), second sub-user data (UD3_S2), and third sub-user data (UD3_S3).

불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 서브 사용자 데이터(UD1_S1)에 대한 플립 동작을 수행하여, 플립된 제1 서브 사용자 데이터(F_UD1_S1)를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 서브 사용자 데이터(UD1_S1)를 플립된 제1 서브 사용자 데이터(F_UD1_S1)로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제2 서브 사용자 데이터(UD2_S2)에 대한 플립 동작을 수행하여, 플립된 제2 서브 사용자 데이터(F_UD2_S2)를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 서브 사용자 데이터(UD2_S2)를 플립된 제2 서브 사용자 데이터(F_UD2_S2)로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제3 서브 사용자 데이터(UD3_S3)에 대한 플립 동작을 수행하여, 플립된 제3 서브 사용자 데이터(F_UD3_S3)를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 서브 사용자 데이터(UD3_S3)를 플립된 제3 서브 사용자 데이터(F_UD3_S3)로 변환할 수 있다.The nonvolatile memory device (100) can perform a flip operation on the first sub-user data (UD1_S1) of the first page data (PD1) to generate the flipped first sub-user data (F_UD1_S1). That is, the nonvolatile memory device (100) can convert the first sub-user data (UD1_S1) into the flipped first sub-user data (F_UD1_S1). The nonvolatile memory device (100) can perform a flip operation on the second sub-user data (UD2_S2) of the second page data (PD2) to generate the flipped second sub-user data (F_UD2_S2). That is, the nonvolatile memory device (100) can convert the second sub-user data (UD2_S2) into the flipped second sub-user data (F_UD2_S2). The nonvolatile memory device (100) can perform a flip operation on the third sub-user data (UD3_S3) of the third page data (PD3) to generate flipped third sub-user data (F_UD3_S3). That is, the nonvolatile memory device (100) can convert the third sub-user data (UD3_S3) into flipped third sub-user data (F_UD3_S3).

제1 서브 FBP 데이터(FBP_SUB1)는 플립된 제1 서브 사용자 데이터(F_UD1_S1)에 대응하고, 제2 서브 FBP 데이터(FBP_SUB2)는 플립된 제2 서브 사용자 데이터(F_UD2_S2)에 대응하고, 제3 서브 FBP 데이터(FBP_SUB3)는 플립된 제3 서브 사용자 데이터(F_UD3_S3)에 대응할 수 있다. The first sub FBP data (FBP_SUB1) may correspond to the flipped first sub-user data (F_UD1_S1), the second sub FBP data (FBP_SUB2) may correspond to the flipped second sub-user data (F_UD2_S2), and the third sub FBP data (FBP_SUB3) may correspond to the flipped third sub-user data (F_UD3_S3).

제1 서브 FBP 데이터(FBP_SUB1)는 제1 페이지 데이터(PD1)에 대한 플립 비트 위치 정보를 가리키고, 제2 서브 FBP 데이터(FBP_SUB2)는 제2 페이지 데이터(PD2)에 대한 플립 비트 위치 정보를 가리키고, 제3 서브 FBP 데이터(FBP_SUB3)는 제3 페이지 데이터(PD3)에 대한 플립 비트 위치 정보를 가리킬 수 있다. The first sub FBP data (FBP_SUB1) may point to flip bit position information for the first page data (PD1), the second sub FBP data (FBP_SUB2) may point to flip bit position information for the second page data (PD2), and the third sub FBP data (FBP_SUB3) may point to flip bit position information for the third page data (PD3).

또는, 제1 서브 FBP 데이터(FBP_SUB1)는 플립된 제1 서브 사용자 데이터(F_UD1_S1)에서 플립된 비트들의 위치 정보를 가리키고, 제2 서브 FBP 데이터(FBP_SUB2)는 플립된 제2 서브 사용자 데이터(F_UD2_S2)에서 플립된 비트들의 위치 정보를 가리키고, 제3 서브 FBP 데이터(FBP_SUB3)는 플립된 제3 서브 사용자 데이터(F_UD3_S3)에서 플립된 비트들의 위치 정보를 가리킬 수 있다. Alternatively, the first sub FBP data (FBP_SUB1) may point to position information of flipped bits in the flipped first sub-user data (F_UD1_S1), the second sub FBP data (FBP_SUB2) may point to position information of flipped bits in the flipped second sub-user data (F_UD2_S2), and the third sub FBP data (FBP_SUB3) may point to position information of flipped bits in the flipped third sub-user data (F_UD3_S3).

불휘발성 메모리 장치(100)는 플립된 제1 쓰기 데이터에 FBP 데이터를 추가하여 제2 쓰기 데이터(WD2)를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1), 플립된 제1 서브 사용자 데이터(F_UD1_S1), 플립된 제2 서브 사용자 데이터(F_UD2_S2), 플립된 제3 서브 사용자 데이터(F_UD3_S3), 제1 서브 FBP 데이터(FBP_SUB1), 제2 서브 FBP 데이터(FBP_SUB2), 제3 서브 FBP 데이터(FBP_SUB3)를 기반으로 제2 쓰기 데이터(WD2)를 생성할 수 있다. The nonvolatile memory device (100) can generate second write data (WD2) by adding FBP data to the flipped first write data. That is, the nonvolatile memory device (100) can generate second write data (WD2) based on the first write data (WD1), the flipped first sub-user data (F_UD1_S1), the flipped second sub-user data (F_UD2_S2), the flipped third sub-user data (F_UD3_S3), the first sub-FBP data (FBP_SUB1), the second sub-FBP data (FBP_SUB2), and the third sub-FBP data (FBP_SUB3).

제2 쓰기 데이터(WD2)는 제1 내지 제3 페이지 데이터들(PD1~PD3)을 포함할 수 있다. 제1 페이지 데이터(PD1)는 플립된 제1 사용자 데이터(FUD1), 및 제1 서브 FBP 데이터(FBP_SUB1)를 포함할 수 있다. 플립된 제1 사용자 데이터(FUD1)는 플립된 제1 서브 사용자 데이터(F_UD1_S1), 제2 서브 사용자 데이터(UD1_S2), 제3 서브 사용자 데이터(UD1_S3)를 포함할 수 있다. 제2 페이지 데이터(PD2)는 플립된 제2 사용자 데이터(FUD2), 및 제2 서브 FBP 데이터(FBP_SUB2)를 포함할 수 있다. 플립된 제2 사용자 데이터(FUD2)는 제1 서브 사용자 데이터(UD2_S1), 플립된 제2 서브 사용자 데이터(F_UD2_S2), 제3 서브 사용자 데이터(UD2_S3)를 포함할 수 있다. 제3 페이지 데이터(PD3)는 플립된 제3 사용자 데이터(FUD3), 및 제3 서브 FBP 데이터(FBP_SUB3)를 포함할 수 있다. 플립된 제3 사용자 데이터(FUD3)는 제1 서브 사용자 데이터(UD3_S1), 제2 서브 사용자 데이터(UD3_S2), 플립된 제3 서브 사용자 데이터(F_UD3_S3)를 포함할 수 있다. The second write data (WD2) may include first to third page data (PD1 to PD3). The first page data (PD1) may include flipped first user data (FUD1) and first sub FBP data (FBP_SUB1). The flipped first user data (FUD1) may include flipped first sub-user data (F_UD1_S1), second sub-user data (UD1_S2), and third sub-user data (UD1_S3). The second page data (PD2) may include flipped second user data (FUD2) and second sub FBP data (FBP_SUB2). The flipped second user data (FUD2) may include first sub-user data (UD2_S1), flipped second sub-user data (F_UD2_S2), and third sub-user data (UD2_S3). The third page data (PD3) may include flipped third user data (FUD3) and third sub FBP data (FBP_SUB3). The flipped third user data (FUD3) may include first sub-user data (UD3_S1), second sub-user data (UD3_S2), and flipped third sub-user data (F_UD3_S3).

도 11d를 참조하면, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)에 읽기 커맨드를 수신할 수 있다. 불휘발성 메모리 장치(100)는 읽기 커맨드에 응답하여, 제1 인코딩된 페이지 데이터(EPD1)만을 독출하여, 스토리지 컨트롤러에게 디코딩된 데이터를 제공할 수 있다. 제1 서브 FBP 데이터는 플립된 제1 사용자 데이터(FUD1)에서 플립된 비트들의 위치에 관한 정보를 가리키므로, 다른 서브 FBP 데이터들을 읽지 않더라도, 불휘발성 메모리 장치(100)는 재플립 동작을 수행할 수 있다. Referring to FIG. 11d, the nonvolatile memory device (100) can receive a read command for the first page data (PD1). In response to the read command, the nonvolatile memory device (100) can read only the first encoded page data (EPD1) and provide the decoded data to the storage controller. Since the first sub-FBP data indicates information about the positions of flipped bits in the flipped first user data (FUD1), the nonvolatile memory device (100) can perform a re-flip operation even without reading other sub-FBP data.

즉, 불휘발성 메모리 장치(100)는 제1 인코딩된 페이지 데이터(EPD1)를 읽음으로써, 재플립 동작을 수행하여 디코딩된 데이터를 제공할 수 있다. 제2 페이지 데이터(PD2) 및 제3 페이지 데이터(PD3)도 마찬가지로, 불휘발성 메모리 장치(100)는 제2 인코딩된 페이지 데이터(EPD2)를 독출하여, 디코딩 동작을 수행하여 디코딩된 데이터를 출력할 수 있다. 불휘발성 메모리 장치(100)는 제3 인코딩된 페이지 데이터(EPD3)를 독출하여, 디코딩 동작을 수행하여 디코딩된 데이터를 출력할 수 있다.That is, the nonvolatile memory device (100) can perform a re-flip operation by reading the first encoded page data (EPD1) to provide decoded data. Similarly, the second page data (PD2) and the third page data (PD3) can be performed by the nonvolatile memory device (100) to read the second encoded page data (EPD2) to perform a decoding operation to output decoded data. The nonvolatile memory device (100) can read the third encoded page data (EPD3) to perform a decoding operation to output decoded data.

일 실시예에서, 불휘발성 메모리 장치(100)는 페이지 데이터에 대응하는 FBP 데이터를 페이지 데이터에 대응하는 인코딩된 페이지 데이터에 저장할 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)에 대한 플립된 비트들을 가리키는 FBP 데이터를 제2 인코딩 페이지 데이터(EPD2)에 저장할 뿐, 제1 인코딩된 페이지 데이터(EPD1) 또는 제3 인코딩된 페이지 데이터(EPD3)에 저장하지 않으므로, FBP 데이터를 위하여, 다른 페이지 데이터를 읽을 필요가 없다. 본 개시의 실시예에 따른 불휘발성 메모리 장치는 약한 패턴 검출 동작 및 인코딩 동작을 수행하여 약한 패턴을 제거할 수 있다. 이에 따라, 불휘발성 메모리 장치를 포함하는 스토리지 장치의 수명과 읽기 지연 시간을 크게 개선할 수 있다. In one embodiment, the nonvolatile memory device (100) can store FBP data corresponding to page data in encoded page data corresponding to the page data. For example, the nonvolatile memory device (100) only stores FBP data indicating flipped bits for the second page data (PD2) in the second encoded page data (EPD2), and does not store it in the first encoded page data (EPD1) or the third encoded page data (EPD3), so that there is no need to read other page data for the FBP data. The nonvolatile memory device according to an embodiment of the present disclosure can remove a weak pattern by performing a weak pattern detection operation and an encoding operation. Accordingly, the lifespan and read delay time of a storage device including the nonvolatile memory device can be significantly improved.

도 12a 및 도 12b는 본 개시의 일 실시예 따른 불휘발성 메모리 장치의 제2 플립 동작을 설명하기 위한 도면들이다. FIGS. 12A and 12B are drawings for explaining a second flip operation of a nonvolatile memory device according to one embodiment of the present disclosure.

도 12a, 및 도 12b를 참조하면, 불휘발성 메모리 장치(100)는 제1 플립 동작 대신에 제2 플립 동작을 수행할 수 있다. 도 12a는 도 11a 내지 도 11b에서 설명한 ,제1 플립 동작(또는 비트 플립 동작)을 수행 후 프로그램된 상태를 도시한다. 도 12b는 제2 플립 동작(또는, 청크(chunk) 플립 동작)을 수행 후 프로그램된 상태를 도시한다. Referring to FIGS. 12A and 12B, the nonvolatile memory device (100) may perform a second flip operation instead of the first flip operation. FIG. 12A illustrates a programmed state after performing the first flip operation (or bit flip operation) described in FIGS. 11A and 11B. FIG. 12B illustrates a programmed state after performing the second flip operation (or chunk flip operation).

설명의 편의를 위하여, 도 12a, 및 도 12b는 제3 워드 라인(WL3)에 연결된 메모리 셀들만 도시하고, 앞서 설명된 구성 요소들과 동일하거나 또는 유사한 구성 요소들에 대한 상세한 설명 또는 참조 번호들은 생략된다. 이하에서 생략된 구성 요소들은 본 발명의 상세한 설명에 기재된 전반적인 실시 예들 각각 또는 그것들의 조합을 통해 구현될 수 있다. 타겟 비트들은 제1, 제5, 및 제9 비트들(B1, B5, B9)인 것으로 가정한다. For convenience of explanation, FIGS. 12A and 12B illustrate only memory cells connected to the third word line (WL3), and detailed descriptions or reference numbers for components identical or similar to the components described above are omitted. The components omitted below can be implemented through each of the overall embodiments described in the detailed description of the present invention or a combination thereof. It is assumed that the target bits are the first, fifth, and ninth bits (B1, B5, B9).

메모리 셀 어레이(110)는 제3 워드 라인(WL3)에 연결된 메모리 셀들(MC31~MC3n)을 포함할 수 있다. 메모리 셀들(MC31~MC3C)은 제1 영역(AREA1)에 포함되고, 메모리 셀들(MC3D~MC3n)은 제2 영역(AREA2)에 포함될 있다. 메모리 셀들(MC31~MC34)은 제1 부분(S1)에 포함되고, 메모리 셀들(MC35~MC38)은 제2 부분(S2)에 포함되고, 메모리 셀들(MC39~MC3C)은 제3 부분(S3)에 포함될 수 있다.The memory cell array (110) may include memory cells (MC31 to MC3n) connected to a third word line (WL3). The memory cells (MC31 to MC3C) may be included in a first area (AREA1), and the memory cells (MC3D to MC3n) may be included in a second area (AREA2). The memory cells (MC31 to MC34) may be included in a first portion (S1), the memory cells (MC35 to MC38) may be included in a second portion (S2), and the memory cells (MC39 to MC3C) may be included in a third portion (S3).

불휘발성 메모리 장치(100)는 제2 쓰기 데이터(WD2)를 제3 워드 라인(WL3)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 플립된 사용자 데이터(FUD)를 제1 영역(AREA1)에 저장하고, FBP 데이터를 제2 영역(AREA2)에 저장할 수 있다.The nonvolatile memory device (100) can store second write data (WD2) in the third word line (WL3). The nonvolatile memory device (100) can store flipped user data (FUD) in the first area (AREA1) and FBP data in the second area (AREA2).

도 12a를 참조하면, 메모리 셀(MC31)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC32)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC33)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC34)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC35)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC36)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC37)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC38)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC39)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC3A)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC3B)은 소거 상태(E)를 갖고, 메모리 셀(MC3C)은 제6 프로그램 상태(P6)를 가질 수 있다. Referring to FIG. 12A, a memory cell (MC31) may have a first program state (P1), a memory cell (MC32) may have a sixth program state (P6), a memory cell (MC33) may have a fifth program state (P5), a memory cell (MC34) may have a second program state (P2), a memory cell (MC35) may have a seventh program state (P7), a memory cell (MC36) may have a third program state (P3), a memory cell (MC37) may have a fourth program state (P4), a memory cell (MC38) may have a seventh program state (P7), a memory cell (MC39) may have a fifth program state (P5), a memory cell (MC3A) may have a first program state (P1), a memory cell (MC3B) may have an erase state (E), and a memory cell (MC3C) may have a sixth program state (P6).

제1 비트(B1)가 타겟 비트이고, 제1 비트(B1)는 제1 부분(S1)에 대응하므로, 불휘발성 메모리 장치(100)는 플립 동작을 수행하여 제1 비트 데이터(BD1)를 소거 상태(E)에 대응하는 데이터에서 제1 프로그램 상태(P1)에 대응하는 데이터로 변환할 수 있다. 따라서, 메모리 셀(MC31)은 제1 프로그램 상태(P1)를 가질 수 있다. 제5 비트(B5)가 타겟 비트이고, 제5 비트(B5)는 제2 부분(S2)에 대응하므로, 불휘발성 메모리 장치(100)는 플립 동작을 수행하여 제5 비트 데이터(BD5)를 소거 상태(E)에 대응하는 데이터에서 제7 프로그램 상태(P7)에 대응하는 데이터로 변환할 수 있다. 따라서, 메모리 셀(MC35)은 제7 프로그램 상태(P7)를 가질 수 있다. 제9 비트(B9)가 타겟 비트이고, 제9 비트(B9)는 제3 부분(S3)에 대응하므로, 불휘발성 메모리 장치(100)는 플립 동작을 수행하여 제9 비트 데이터(BD9)를 소거 상태(E)에 대응하는 데이터에서 제5 프로그램 상태(P5)에 대응하는 데이터로 변환할 수 있다. 따라서, 메모리 셀(MC39)은 제5 프로그램 상태(P5)를 가질 수 있다. Since the first bit (B1) is a target bit and the first bit (B1) corresponds to the first portion (S1), the nonvolatile memory device (100) can perform a flip operation to convert the first bit data (BD1) from data corresponding to the erase state (E) to data corresponding to the first program state (P1). Therefore, the memory cell (MC31) can have the first program state (P1). Since the fifth bit (B5) is a target bit and the fifth bit (B5) corresponds to the second portion (S2), the nonvolatile memory device (100) can perform a flip operation to convert the fifth bit data (BD5) from data corresponding to the erase state (E) to data corresponding to the seventh program state (P7). Therefore, the memory cell (MC35) can have the seventh program state (P7). Since the ninth bit (B9) is a target bit and the ninth bit (B9) corresponds to the third portion (S3), the nonvolatile memory device (100) can perform a flip operation to convert the ninth bit data (BD9) from data corresponding to the erase state (E) to data corresponding to the fifth program state (P5). Accordingly, the memory cell (MC39) can have the fifth program state (P5).

도 12b를 참조하면, 불휘발성 메모리 장치(100)는 제2 플립 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1)에 대한 제2 플립 동작을 수행하여 제3 쓰기 데이터(WD3)를 생성할 수 있다. 제2 플립 동작은 타겟 비트가 속한 청크 모두를 플립하는 동작을 가리킬 수 있다. Referring to FIG. 12b, the nonvolatile memory device (100) can perform a second flip operation. The nonvolatile memory device (100) can perform a second flip operation on the first write data (WD1) to generate third write data (WD3). The second flip operation can refer to an operation of flipping all chunks to which a target bit belongs.

일 실시예에서, 쓰기 데이터는 복수의 청크들을 포함할 수 있다. 쓰기 데이터의 제1 영역에 대응하는 데이터를 복수의 청크들로 분할할 수 있다. 예를 들어, 제1 쓰기 데이터(WD1)는 제1 내지 제6 청크들(C1~C6)을 포함할 수 있다. 제1 청크(C1)는 제1 및 제2 비트 데이터들(BD1, BD2)를 포함하고, 제2 청크(C2)는 제3 및 제4 비트 데이터들(BD3, BD4)를 포함하고, 제3 청크(C3)는 제5 및 제6 비트 데이터들(BD5, BD6)를 포함하고, 제4 청크(C4)는 제7 및 제8 비트 데이터들(BD7, BD8)를 포함하고, 제5 청크(C5)는 제9 및 제10 비트 데이터들(BD9, BDA)를 포함하고, 제6 청크(C6)는 제11 및 제12 비트 데이터들(BDB, BDC)를 포함할 수 있다. 즉, 제1 청크(C1)는 제1 및 제2 비트들(B1, B2)에 대응하고, 제2 청크(C2)는 제3 및 제4 비트들(B3, B4)에 대응하고, 제3 청크(C3)는 제5 및 제6 비트들(B5, B6)에 대응하고, 제4 청크(C4)는 제7 및 제8 비트들(B7, B8)에 대응하고, 제5 청크(C5)는 제9 및 제10 비트들(B9, B10)에 대응하고, 제6 청크(C6)는 제11 및 제12 비트들(B11, B12)에 대응할 수 있다.In one embodiment, the write data may include a plurality of chunks. Data corresponding to a first area of the write data may be divided into a plurality of chunks. For example, the first write data (WD1) may include first to sixth chunks (C1 to C6). The first chunk (C1) may include first and second bit data (BD1, BD2), the second chunk (C2) may include third and fourth bit data (BD3, BD4), the third chunk (C3) may include fifth and sixth bit data (BD5, BD6), the fourth chunk (C4) may include seventh and eighth bit data (BD7, BD8), the fifth chunk (C5) may include ninth and tenth bit data (BD9, BDA), and the sixth chunk (C6) may include eleventh and twelfth bit data (BDB, BDC). That is, the first chunk (C1) may correspond to the first and second bits (B1, B2), the second chunk (C2) may correspond to the third and fourth bits (B3, B4), the third chunk (C3) may correspond to the fifth and sixth bits (B5, B6), the fourth chunk (C4) may correspond to the seventh and eighth bits (B7, B8), the fifth chunk (C5) may correspond to the ninth and tenth bits (B9, B10), and the sixth chunk (C6) may correspond to the eleventh and twelfth bits (B11, B12).

불휘발성 메모리 장치(100)는 제2 플립 동작을 수행할 수 있다. 제2 플립 동작은 타겟 비트를 포함하는 청크에 포함된 모든 비트들에 대응하는 데이터를 플립하는 동작을 가리킬 수 있다. 제2 플립 동작은 청크 플립 동작일 수 있다. 타겟 이웃 비트들은 타겟 비트는 아니지만(즉, 타겟 비트에 해당하지 않지만), 타겟 비트와 동일한 청크에 포함된 비트들을 가리킬 수 있다. 예를 들어, 불휘발성 메모리 장치(100)는 타겟 비트들에 대응하는 데이터를 플립할 수 있다. 불휘발성 메모리 장치(100)는 타겟 이웃 비트들에 대응하는 데이터를 플립할 수 있다. The nonvolatile memory device (100) can perform a second flip operation. The second flip operation can refer to an operation of flipping data corresponding to all bits included in a chunk including a target bit. The second flip operation can be a chunk flip operation. The target neighboring bits can refer to bits included in the same chunk as the target bit, but are not the target bit (i.e., do not correspond to the target bit). For example, the nonvolatile memory device (100) can flip data corresponding to the target bits. The nonvolatile memory device (100) can flip data corresponding to the target neighboring bits.

예를 들어, 타겟 비트들은 제1, 제5, 및 제9 비트들(B1, B5, B9)을 포함할 수 있다. 타겟 이웃 비트들은 제2, 제6, 및 제10 비트들(B2, B6, B10)을 포함할 수 있다. 불휘발성 메모리 장치(100)는 타겟 비트들에 대응하는 데이터를 플립하고, 타겟 이웃 비트들에 대응하는 데이터 또한 플립할 수 있다. For example, the target bits may include the first, fifth, and ninth bits (B1, B5, B9). The target neighboring bits may include the second, sixth, and tenth bits (B2, B6, B10). The nonvolatile memory device (100) may flip data corresponding to the target bits and may also flip data corresponding to the target neighboring bits.

타겟 비트들은 제1 내지 제3 서브 타겟 비트들(STB1~STB3)을 포함할 수 있다. 제1 서브 타겟 비트들(STB1)은 제1 비트(B1)를 포함하고, 제2 서브 타겟 비트들(STB2)은 제5 비트(B5)를 포함하고, 제3 서브 타겟 비트들(STB3)은 제9 비트(B9)를 포함할 수 있다. 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 서브 타겟 비트(즉, 제1 비트(B1))에 대응하는 데이터를 플립하고, 제2 페이지 데이터(PD2)의 제2 서브 타겟 비트(즉, 제5 비트(B5))에 대응하는 데이터를 플립하고, 제3 페이지 데이터(PD3)의 제3 서브 타겟 비트(즉, 제9 비트(B9))에 대응하는 데이터를 플립할 수 있다. The target bits may include first to third sub-target bits (STB1 to STB3). The first sub-target bits (STB1) may include a first bit (B1), the second sub-target bits (STB2) may include a fifth bit (B5), and the third sub-target bits (STB3) may include a ninth bit (B9). The nonvolatile memory device (100) may flip data corresponding to the first sub-target bit (i.e., the first bit (B1)) of the first page data (PD1), flip data corresponding to the second sub-target bit (i.e., the fifth bit (B5)) of the second page data (PD2), and flip data corresponding to the third sub-target bit (i.e., the ninth bit (B9)) of the third page data (PD3).

일 실시예에서, 타겟 이웃 비트들(TNB)은 제1 내지 제3 서브 이웃 비트들(SNB1~SNB3)을 포함할 수 있다. 또는 타겟 이웃 비트들(TNB)은 제1 내지 제3 서브 이웃 비트들(SNB1~SNB3)로 분할될 수 있다. 제1 서브 이웃 비트들(SNB1)은 타겟 이웃 비트들(TNB) 중 제1 부분(S1)에 대응하는 비트들을 가리키고, 제2 서브 이웃 비트들(SNB2)은 타겟 이웃 비트들(TNB) 중 제2 부분(S2)에 대응하는 비트들을 가리키고, 제3 서브 이웃 비트들(SNB3)은 타겟 이웃 비트들(TNB) 중 제3 부분(S3)에 대응하는 비트들을 가리킬 수 있다. 타겟 이웃 비트들과, 서브 이웃 비트들은 표 2와 같을 수 있다. In one embodiment, the target neighboring bits (TNB) may include first to third sub-neighboring bits (SNB1 to SNB3). Alternatively, the target neighboring bits (TNB) may be divided into first to third sub-neighboring bits (SNB1 to SNB3). The first sub-neighboring bits (SNB1) may indicate bits corresponding to a first portion (S1) of the target neighboring bits (TNB), the second sub-neighboring bits (SNB2) may indicate bits corresponding to a second portion (S2) of the target neighboring bits (TNB), and the third sub-neighboring bits (SNB3) may indicate bits corresponding to a third portion (S3) of the target neighboring bits (TNB). The target neighboring bits and the sub-neighboring bits may be as shown in Table 2.

TNBTNB SNB1SNB1 B2B2 SNB2SNB2 B6B6 SNB3SNB3 B10B10

표 2를 참조하며, 타겟 이웃 비트들(TNB)은 제2, 제6, 및 제10 비트들(B2, B6, B10)을 포함할 수 있다. 제1 서브 이웃 비트들(SNB1)은 제2 비트(B2)를 포함하고, 제2 서브 이웃 비트들(SNB2)은 제6 비트(B6)를 포함하고, 제3 서브 이웃 비트들(SNB3)은 제10 비트(B10)를 포함할 수 있다. 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 서브 이웃 비트(즉, 제2 비트(B2))에 대응하는 데이터를 플립하고, 제2 페이지 데이터(PD2)의 제2 서브 이웃 비트(즉, 제6 비트(B6))에 대응하는 데이터를 플립하고, 제3 페이지 데이터(PD3)의 제3 서브 이웃 비트(즉, 제10 비트(B10))에 대응하는 데이터를 플립할 수 있다. 불휘발성 메모리 장치(100)는 제1 비트(B1)가 타겟 비트 이므로, 제1 비트(B1)에 대응하는 제1 청크(C1) 전체를 플립할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 및 제2 비트 데이터들(BD1, BD2)을 변환할 수 있다. 제1 및 제2 비트들(B1, B2)은 제1 부분(S1)에 대응하므로, 제1 페이지 데이터(PD1)에 대응하는 비트를 플립할 수 있다. 따라서 불휘발성 메모리 장치(100)는 제1 비트 데이터(BD1)를 소거 상태(E)에 대응하는 값(예를 들어, [1, 1, 1])에서 제1 프로그램 상태(P1)에 대응하는 값(예를 들어, [0, 1, 1])으로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제2 비트 데이터(BD2)를 제6 프로그램 상태(P6)에 대응하는 값(예를 들어, [1, 0, 0])에서 제3 프로그램 상태(P3)에 대응하는 값(예를 들어, [0, 0, 0])으로 변환할 수 있다. Referring to Table 2, the target neighboring bits (TNB) may include the second, sixth, and tenth bits (B2, B6, B10). The first sub-neighboring bits (SNB1) may include the second bit (B2), the second sub-neighboring bits (SNB2) may include the sixth bit (B6), and the third sub-neighboring bits (SNB3) may include the tenth bit (B10). The nonvolatile memory device (100) may flip data corresponding to the first sub-neighboring bit (i.e., the second bit (B2)) of the first page data (PD1), flip data corresponding to the second sub-neighboring bit (i.e., the sixth bit (B6)) of the second page data (PD2), and flip data corresponding to the third sub-neighboring bit (i.e., the tenth bit (B10)) of the third page data (PD3). The nonvolatile memory device (100) can flip the entire first chunk (C1) corresponding to the first bit (B1) since the first bit (B1) is a target bit. That is, the nonvolatile memory device (100) can convert the first and second bit data (BD1, BD2). Since the first and second bits (B1, B2) correspond to the first portion (S1), the bit corresponding to the first page data (PD1) can be flipped. Accordingly, the nonvolatile memory device (100) can convert the first bit data (BD1) from a value corresponding to the erase state (E) (e.g., [1, 1, 1]) to a value corresponding to the first program state (P1) (e.g., [0, 1, 1]). The nonvolatile memory device (100) can convert the second bit data (BD2) from a value corresponding to the sixth program state (P6) (e.g., [1, 0, 0]) to a value corresponding to the third program state (P3) (e.g., [0, 0, 0]).

불휘발성 메모리 장치(100)는 제5 비트(B5)가 타겟 비트 이므로, 제5 비트(B5)에 대응하는 제3 청크(C3) 전체를 플립할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제5 및 제6 비트 데이터들(BD5, BD6)를 변환할 수 있다. 제5 및 제6 비트들(B5, B6)은 제2 부분(S2)에 대응하므로, 제2 페이지 데이터(PD2)에 대응하는 비트를 플립할 수 있다. 따라서 불휘발성 메모리 장치(100)는 제5 비트 데이터(BD5)를 소거 상태(E)에 대응하는 값(예를 들어, [1, 1, 1])에서 제7 프로그램 상태(P7)에 대응하는 값(예를 들어, [1, 0, 1])으로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제6 비트 데이터(BD6)를 제3 프로그램 상태(P3)에 대응하는 값(예를 들어, [0, 0, 0])에서 제4 프로그램 상태(P4)에 대응하는 값(예를 들어, [0, 1, 0])으로 변환할 수 있다. The nonvolatile memory device (100) can flip the entire third chunk (C3) corresponding to the fifth bit (B5) since the fifth bit (B5) is a target bit. That is, the nonvolatile memory device (100) can convert the fifth and sixth bit data (BD5, BD6). Since the fifth and sixth bits (B5, B6) correspond to the second portion (S2), the bit corresponding to the second page data (PD2) can be flipped. Accordingly, the nonvolatile memory device (100) can convert the fifth bit data (BD5) from a value corresponding to the erase state (E) (e.g., [1, 1, 1]) to a value corresponding to the seventh program state (P7) (e.g., [1, 0, 1]). The nonvolatile memory device (100) can convert the sixth bit data (BD6) from a value corresponding to the third program state (P3) (e.g., [0, 0, 0]) to a value corresponding to the fourth program state (P4) (e.g., [0, 1, 0]).

불휘발성 메모리 장치(100)는 제9 비트(B9)가 타겟 비트 이므로, 제9 비트(B9)에 대응하는 제6 청크(C6) 전체를 플립할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제9 및 제10 비트 데이터들(BD9, BDA)를 변환할 수 있다. 제9 및 제10 비트들(B9, B10)은 제3 부분(S3)에 대응하므로, 제3 페이지 데이터(PD3)에 대응하는 비트를 플립할 수 있다. 따라서 불휘발성 메모리 장치(100)는 제9 비트 데이터(BD9)를 소거 상태(E)에 대응하는 값(예를 들어, [1, 1, 1])에서 제5 프로그램 상태(P7)에 대응하는 값(예를 들어, [1, 1, 0])으로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제10 비트 데이터(BDA)를 제1 프로그램 상태(P1)에 대응하는 값(예를 들어, [0, 1, 1])에서 제4 프로그램 상태(P4)에 대응하는 값(예를 들어, [0, 1, 0])으로 변환할 수 있다. The nonvolatile memory device (100) can flip the entire sixth chunk (C6) corresponding to the ninth bit (B9) since the ninth bit (B9) is a target bit. That is, the nonvolatile memory device (100) can convert the ninth and tenth bit data (BD9, BDA). Since the ninth and tenth bits (B9, B10) correspond to the third portion (S3), the bit corresponding to the third page data (PD3) can be flipped. Accordingly, the nonvolatile memory device (100) can convert the ninth bit data (BD9) from a value corresponding to the erase state (E) (e.g., [1, 1, 1]) to a value corresponding to the fifth program state (P7) (e.g., [1, 1, 0]). The nonvolatile memory device (100) can convert the 10-bit data (BDA) from a value corresponding to the first program state (P1) (e.g., [0, 1, 1]) to a value corresponding to the fourth program state (P4) (e.g., [0, 1, 0]).

불휘발성 메모리 장치(100)는 청크 플립 동작을 수행하여 제1, 제3, 제5 청크들(C1, C3, C5)을 플립하여 청크 플립된 제1 쓰기 데이터를 생성할 수 있다. 불휘발성 메모리 장치(100)는 청크 플립된 제1 쓰기 데이터에 FBP 데이터를 추가하여 제3 쓰기 데이터(WD3)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 제3 쓰기 데이터(WD3)를 제3 워드 라인(WL3)에 저장할 수 있다. 따라서, 제3 워드 라인(WL3)에 연결된 메모리 셀(MC31)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC32)은 제3 프로그램 상태(P3)를 갖고, 메모리 셀(MC33)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC34)은 제2 프로그램 상태(P2)를 갖고, 메모리 셀(MC35)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC36)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC37)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC38)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC39)은 제5 프로그램 상태(P5)를 갖고, 메모리 셀(MC3A)은 제4 프로그램 상태(P4)를 갖고, 메모리 셀(MC3B)은 소거 상태(E)를 갖고, 메모리 셀(MC3C)은 제6 프로그램 상태(P6)를 가질 수 있다. A nonvolatile memory device (100) can perform a chunk flip operation to flip the first, third, and fifth chunks (C1, C3, C5) to generate chunk-flipped first write data. The nonvolatile memory device (100) can add FBP data to the chunk-flipped first write data to generate third write data (WD3). The nonvolatile memory device (100) can store the third write data (WD3) in a third word line (WL3). Accordingly, the memory cell (MC31) connected to the third word line (WL3) can have a first program state (P1), the memory cell (MC32) can have a third program state (P3), the memory cell (MC33) can have a fifth program state (P5), the memory cell (MC34) can have a second program state (P2), the memory cell (MC35) can have a seventh program state (P7), the memory cell (MC36) can have a fourth program state (P4), the memory cell (MC37) can have a fourth program state (P4), the memory cell (MC38) can have a seventh program state (P7), the memory cell (MC39) can have a fifth program state (P5), the memory cell (MC3A) can have a fourth program state (P4), the memory cell (MC3B) can have an erase state (E), and the memory cell (MC3C) can have a sixth program state (P6).

상술된 바와 같이, 불휘발성 메모리 장치(100)는 제2 플립 동작을 수행할 수 있다. 청크 단위로 플립을 수행함으로써, FBP 데이터의 크기를 감소시킬 수 있다. 불휘발성 메모리 장치(100)는 제2 플립 동작을 수행하여, 저장 공간을 효율적으로 관리할 수 있다. As described above, the nonvolatile memory device (100) can perform the second flip operation. By performing the flip in chunk units, the size of the FBP data can be reduced. The nonvolatile memory device (100) can efficiently manage the storage space by performing the second flip operation.

도 13a 내지 도 13g는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 쓰기 동작을 설명하기 위한 도면들이다. FIGS. 13A to 13G are drawings for explaining a write operation of a nonvolatile memory device according to an embodiment of the present disclosure.

도면의 간결성 및 설명의 편의를 위하여, 메모리 셀 어레이(110)는 제1 내지 제3 워드 라인들(WL1~WL3), 및 제1 내지 제9 비트 라인들(BL1~BL9)과 연결된 복수의 메모리 셀들(MC11~MC39)들을 포함하는 것으로 가정한다. 단 본 개시의 범위가 이제 한정되는 것은 아니다. 앞서 설명된 구성 요소들과 동일하거나 또는 유사한 구성 요소들에 대한 상세한 설명 또는 참조 번호들은 생략된다. 이하에서 생략된 구성 요소들은 본 발명의 상세한 설명에 기재된 전반적인 실시 예들 각각 또는 그것들의 조합을 통해 구현될 수 있다. 페이지 버퍼 회로(130)는 데이터 래치(131)를 포함하고, 데이터 래치(131)는 제1 내지 제5 데이터 래치들(DL1~DL5)을 포함할 수 있다. For the sake of simplicity of the drawing and convenience of explanation, it is assumed that the memory cell array (110) includes a plurality of memory cells (MC11 to MC39) connected to first to third word lines (WL1 to WL3) and first to ninth bit lines (BL1 to BL9). However, the scope of the present disclosure is not limited thereto. Detailed descriptions or reference numbers for components identical or similar to the components described above are omitted. The components omitted below can be implemented through each of the overall embodiments described in the detailed description of the present invention or a combination thereof. The page buffer circuit (130) includes a data latch (131), and the data latch (131) can include first to fifth data latches (DL1 to DL5).

불휘발성 메모리 장치(100)는 메모리 셀 어레이(110)에 저장된 데이터를 읽기 위해서 복수의 읽기 전압들을 사용한다. 예를 들어, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)를 읽기 위해서, 제1, 제5 읽기 전압들(VRD1, VRD5)을 사용하여 읽기 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)를 읽기 위해서, 제2, 제4, 제6 읽기 전압들(VRD2, VRD4, VRD6)을 사용하여 읽기 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)를 읽기 위해서, 제3,및 제7 읽기 전압들(VRD3, VRD7)을 사용하여 읽기 동작을 수행할 수 있다.The nonvolatile memory device (100) uses a plurality of read voltages to read data stored in the memory cell array (110). For example, the nonvolatile memory device (100) can perform a read operation using the first and fifth read voltages (VRD1, VRD5) to read the first page data (PD1). The nonvolatile memory device (100) can perform a read operation using the second, fourth, and sixth read voltages (VRD2, VRD4, VRD6) to read the second page data (PD2). The nonvolatile memory device (100) can perform a read operation using the third and seventh read voltages (VRD3, VRD7) to read the third page data (PD3).

읽기 동작과 달리 약한 패턴 검출 동작을 수행함에 있어서, 제1 워드 라인(WL1)에 저장된 데이터 값을 정확히 알 필요가 없다. 즉, 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)에서 소거 상태(E1)에 대응하는 제1 메모리 셀들만 찾으면 되므로, 제1 읽기 전압(VRD1)만을 사용하여 센싱할 수 있다. 읽기 동작과 달리 약한 패턴 검출 동작을 수행함에 있어서, 제2 워드 라인(WL2)에 저장된 데이터 값을 정확히 알 필요가 없다. 즉, 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)에서 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)에 대응하는 제1 메모리 셀들만 찾으면 되므로, 제6 읽기 전압(VRD1)만을 사용하여 센싱할 수 있다. Unlike the read operation, when performing the weak pattern detection operation, there is no need to know the exact data value stored in the first word line (WL1). That is, since the nonvolatile memory device (100) only needs to find the first memory cells corresponding to the erase state (E1) in the first word line (WL1), sensing can be performed using only the first read voltage (VRD1). Unlike the read operation, when performing the weak pattern detection operation, there is no need to know the exact data value stored in the second word line (WL2). That is, since the nonvolatile memory device (100) only needs to find the first memory cells corresponding to the sixth program state (P6) or the seventh program state (P7) in the second word line (WL2), sensing can be performed using only the sixth read voltage (VRD1).

도 13a 내지 도 13g를 참조하면, 불휘발성 메모리 장치(100)는 약한 패턴 검출 동작을 수행할 수 있다. S310 단계에서, 불휘발성 메모리 장치는 제1 읽기 전압(VRD1)을 사용하여, 제1 워드 라인(WL1)에 대한 제1 센싱 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)을 감지(또는 센싱)하여, 제1 워드 라인(WL1)에서 소거 상태(E1)를 가진 제1 메모리 셀들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제1 읽기 전압(VRD1)만을 사용하여 제1 워드 라인(WL1)에 대한 제1 센싱 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제1 센싱 동작을 통해 제1 비트맵(BM1)을 생성할 수 있다. 불휘발성 메모리 장치(100)는 제1 센싱 동작을 수행하여, 제1 메모리 셀들을 가리키는 제1 비트맵(BM1)을 제1 데이터 래치(DL1)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제1 읽기 전압(VRD1)을 사용하여 비트 라인(BL)의 전압 변화를 감지하여, 메모리 셀이 소거 상태(E) 인지 여부를 판별할 수 있다. 불휘발성 메모리 장치(100)는 제1 워드 라인(WL1)에서 메모리 셀들(MC11, MC14, MC16)이 제1 메모리 셀들이므로, 제1 비트맵(BM1)(예를 들어, [1,0,0,1,0,1])을 제1 데이터 래치(DL1)에 저장할 수 있다. Referring to FIGS. 13A to 13G, the nonvolatile memory device (100) can perform a weak pattern detection operation. In step S310, the nonvolatile memory device can perform a first sensing operation on a first word line (WL1) using a first read voltage (VRD1). The nonvolatile memory device (100) can detect (or sense) the first word line (WL1) and detect first memory cells having an erase state (E1) in the first word line (WL1). The nonvolatile memory device (100) can perform the first sensing operation on the first word line (WL1) using only the first read voltage (VRD1). The nonvolatile memory device (100) can generate a first bitmap (BM1) through the first sensing operation. A nonvolatile memory device (100) can perform a first sensing operation to store a first bitmap (BM1) indicating first memory cells in a first data latch (DL1). The nonvolatile memory device (100) can detect a voltage change of a bit line (BL) using a first read voltage (VRD1) to determine whether a memory cell is in an erased state (E). Since memory cells (MC11, MC14, MC16) in the first word line (WL1) are first memory cells, the nonvolatile memory device (100) can store a first bitmap (BM1) (e.g., [1,0,0,1,0,1]) in the first data latch (DL1).

S320 단계에서, 불휘발성 메모리 장치(100)는 제6 읽기 전압(VRD6)을 사용하여, 제2 워드 라인(WL2)에 대한 제2 센싱 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)을 감지하여, 제2 워드 라인(WL2)에서 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가진 제2 메모리 셀들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제6 읽기 전압(VRD6)만을 사용하여 제2 워드 라인(WL2)에 대한 제2 센싱 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 제2 센싱 동작을 통해 제2 비트맵(BM2)을 생성할 수 있다. 불휘발성 메모리 장치(100)는 제2 센싱 동작을 수행하여, 제2 메모리 셀들을 가리키는 제2 비트맵(BM2)을 제2 데이터 래치(DL2)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제6 읽기 전압(VRD6)을 사용하여 비트 라인(BL)의 전압 변화를 감지하여, 메모리 셀이 제6 또는 제7 프로그램 상태들(P6, P7) 인지 여부를 판별할 수 있다. 불휘발성 메모리 장치(100)는 제2 워드 라인(WL2)에서 메모리 셀들(MC21, MC23, MC24, MC26)이 제2 메모리 셀들이므로, 제1 비트맵(BM1)(예를 들어, [1,0,1,1,0,1])을 제2 데이터 래치(DL2)에 저장할 수 있다.At step S320, the nonvolatile memory device (100) can perform a second sensing operation on the second word line (WL2) using the sixth read voltage (VRD6). The nonvolatile memory device (100) can sense the second word line (WL2) and detect second memory cells having the sixth program state (P6) or the seventh program state (P7) in the second word line (WL2). The nonvolatile memory device (100) can perform the second sensing operation on the second word line (WL2) using only the sixth read voltage (VRD6). The nonvolatile memory device (100) can generate a second bitmap (BM2) through the second sensing operation. The nonvolatile memory device (100) can perform the second sensing operation and store the second bitmap (BM2) indicating the second memory cells in the second data latch (DL2). The nonvolatile memory device (100) can detect a voltage change of the bit line (BL) using the sixth read voltage (VRD6) to determine whether the memory cell is in the sixth or seventh program states (P6, P7). Since the memory cells (MC21, MC23, MC24, MC26) in the second word line (WL2) are second memory cells, the nonvolatile memory device (100) can store the first bitmap (BM1) (e.g., [1,0,1,1,0,1]) in the second data latch (DL2).

S330 단계에서, 불휘발성 메모리 장치(100)는 제1 데이터 래치(DL1) 및 제2 데이터 래치(DL2)에 대해 AND 연산을 수행하고, 그 결과를 제1 데이터 래치(DL1)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제1 비트맵(BM1) 및 제2 비트맵(BM2)에 대한 AND 연산을 수행하여, 타겟 비트 라인들을 검출할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 데이터 래치(DL1)에 저장된 데이터 및 제2 데이터 래치(DL2)에 저장된 데이터에 대해 논리 연산을 수행하여, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출할 수 있다. In step S330, the nonvolatile memory device (100) can perform an AND operation on the first data latch (DL1) and the second data latch (DL2), and store the result in the first data latch (DL1). The nonvolatile memory device (100) can detect target bit lines by performing an AND operation on the first bitmap (BM1) and the second bitmap (BM2). That is, the nonvolatile memory device (100) can detect target bit lines including both the first memory cell and the second memory cell by performing a logical operation on data stored in the first data latch (DL1) and data stored in the second data latch (DL2).

예를 들어, 불휘발성 메모리 장치(100)는 제1 데이터 래치(DL1)에 저장된 제1 비트맵(BM1)(예를 들어, [1,0,0,1,0,1])과 제2 데이터 래치(DL2)에 저장된 제2 비트맵(BM2)(예를 들어, [1,0,1,1,0,1])에 대한 AND 연산을 수행하여, 제3 비트맵(BM3)(예를 들어, [1,0,0,1,0,1])을 생성할 수 있다. 불휘발성 메모리 장치(100)는 제3 비트맵(BM3)(예를 들어, [1,0,0,1,0,1])을 제1 데이터 래치(DL1)에 저장할 수 있다. 제3 비트맵(BM3)은 타겟 비트 라인들을 가리킬 수 있다. For example, the nonvolatile memory device (100) may perform an AND operation on a first bitmap (BM1) (e.g., [1,0,0,1,0,1]) stored in a first data latch (DL1) and a second bitmap (BM2) (e.g., [1,0,1,1,0,1]) stored in a second data latch (DL2) to generate a third bitmap (BM3) (e.g., [1,0,0,1,0,1]). The nonvolatile memory device (100) may store the third bitmap (BM3) (e.g., [1,0,0,1,0,1]) in the first data latch (DL1). The third bitmap (BM3) may indicate target bit lines.

S340 단계에서, 입출력 회로(140)는 제1 쓰기 데이터(WD1)를 페이지 버퍼 회로(130)로 출력할 수 있다. 불휘발성 메모리 장치(100)는 외부 스토리지 컨트롤러로부터 제1 쓰기 데이터(WD1)를 수신할 수 있다. 입출력 회로(140)는 수신한 제1 쓰기 데이터(WD1)를 페이지 버퍼 회로(130)로 전송할 수 있다. 페이지 버퍼 회로(130)는 제1 쓰기 데이터(WD1)를 데이터 래치(131)에 저장할 수 있자. 제1 쓰기 데이터(WD1)는 제1 내지 제3 페이지 데이터들(PD1~PD3)을 포함할 수 있다. 페이지 버퍼 회로(130)는 제1 페이지 데이터(PD1)(예를 들어, [1,0,1,1,1,1,0,0,0])를 제2 데이터 래치(DL2)에 저장하고, 제2 페이지 데이터(PD2)(예를 들어, [1,1,0,1,1,1,0,0,0])를 제3 데이터 래치(DL3)에 저장하고, 제3 페이지 데이터(PD3)(예를 들어, [1,1,0,1,1,1,0,0,0])를 제4 데이터 래치(DL4)에 저장할 수 있다. At step S340, the input/output circuit (140) can output the first write data (WD1) to the page buffer circuit (130). The nonvolatile memory device (100) can receive the first write data (WD1) from an external storage controller. The input/output circuit (140) can transmit the received first write data (WD1) to the page buffer circuit (130). The page buffer circuit (130) can store the first write data (WD1) in the data latch (131). The first write data (WD1) can include first to third page data (PD1 to PD3). The page buffer circuit (130) can store the first page data (PD1) (e.g., [1,0,1,1,1,1,0,0,0]) in the second data latch (DL2), the second page data (PD2) (e.g., [1,1,0,1,1,1,0,0,0]) in the third data latch (DL3), and the third page data (PD3) (e.g., [1,1,0,1,1,1,0,0,0]) in the fourth data latch (DL4).

S350 단계에서, 불휘발성 메모리 장치(100)는 제1 내지 제4 데이터 래치들(D1~D4)에 대한 AND 연산을 수행하고, 그 결과를 제5 데이터 래치(DL5)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제1 비트맵(BM1) 및 제1 쓰기 데이터(WD1)에 대한 AND 연산을 수행하여, 타겟 비트들을 검출할 수 있다. 불휘발성 메모리 장치(100)는 제1 비트맵(BM1), 제1 페이지 데이터(PD1), 제2 페이지 데이터(PD2), 및 제3 페이지 데이터(PD3)에 대한 AND 연산을 수행하여, 타겟 비트들을 검출할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 데이터 래치(DL1)에 저장된 데이터, 제2 데이터 래치(DL2)에 저장된 데이터, 제3 데이터 래치(DL3)에 저장된 데이터, 제4 데이터 래치(DL4)에 저장될 데이터에 대해 논리 연산을 수행하여, 약한 패턴에 대응하는 타겟 비트들을 검출할 수 있다. At step S350, the nonvolatile memory device (100) can perform an AND operation on the first to fourth data latches (D1 to D4) and store the result in the fifth data latch (DL5). The nonvolatile memory device (100) can detect target bits by performing an AND operation on the first bitmap (BM1) and the first write data (WD1). The nonvolatile memory device (100) can detect target bits by performing an AND operation on the first bitmap (BM1), the first page data (PD1), the second page data (PD2), and the third page data (PD3). That is, the nonvolatile memory device (100) can detect target bits corresponding to a weak pattern by performing a logical operation on data stored in the first data latch (DL1), data stored in the second data latch (DL2), data stored in the third data latch (DL3), and data to be stored in the fourth data latch (DL4).

예를 들어, 불휘발성 메모리 장치(100)는 제1 데이터 래치(DL1)에 저장된 제3 비트맵(BM3)(예를 들어, [1,0,0,1,0,1]), 제2 데이터 래치(DL2)에 저장된 제1 페이지 데이터(PD1)(예를 들어, [1,0,1,1,1,1,0,0,0]), 제3 데이터 래치(DL3)에 저장된 제2 페이지 데이터(PD2)(예를 들어, [1,1,0,1,1,1,0,0,0]), 제4 데이터 래치(DL4)에 저장된 제3 페이지 데이터(PD3)(예를 들어, [1,1,0,1,1,1,0,0,0])에 대한 AND 연산을 수행하여, 제4 비트맵(BM4)(예를 들어, [1,0,0,1,0,1,0,0,0])을 생성할 수 있다. 불휘발성 메모리 장치(100)는 제4 비트맵(BM4)(예를 들어, [1,0,0,1,0,1,0,0,0])을 제5 데이터 래치(DL5)에 저장할 수 있다. 제4 비트맵(BM4)은 타겟 비트들(또는 타겟 비트들의 위치에 관한 정보)을 가리킬 수 있다. 즉, 제4 비트맵(BM4)은 약한 패턴의 위치에 관한 정보를 포함할 수 있다. 이와 같이 불휘발성 메모리 장치(100)는 S310 단계 내지 S350 단계를 수행하여, 약한 패턴 검출 동작을 수행할 수 있다. For example, the nonvolatile memory device (100) may perform an AND operation on a third bitmap (BM3) stored in a first data latch (DL1) (e.g., [1,0,0,1,0,1]), a first page data (PD1) stored in a second data latch (DL2) (e.g., [1,0,1,1,1,1,0,0,0]), a second page data (PD2) stored in a third data latch (DL3) (e.g., [1,1,0,1,1,1,0,0,0]), and a third page data (PD3) stored in a fourth data latch (DL4) (e.g., [1,1,0,1,1,1,0,0,0]), thereby generating a fourth bitmap (BM4) (e.g., [1,0,0,1,0,1,0,0,0]). The nonvolatile memory device (100) can store the fourth bitmap (BM4) (e.g., [1,0,0,1,0,1,0,0,0]) in the fifth data latch (DL5). The fourth bitmap (BM4) can indicate target bits (or information about the positions of the target bits). That is, the fourth bitmap (BM4) can include information about the position of a weak pattern. In this way, the nonvolatile memory device (100) can perform a weak pattern detection operation by performing steps S310 to S350.

불휘발성 메모리 장치(100)는 S360 단계 내지 S389 단계를 수행하여, 인코딩 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 S360 단계 내지 S389 단계를 수행하여, FBP 데이터 생성 동작과 플립 동작을 수행하여 제1 쓰기 데이터(WD1)를 제2 쓰기 데이터(WD2)로 변환할 수 있다. 불휘발성 메모리 장치(100)는 제1 쓰기 데이터(WD1) 및 FBP 데이터를 기반으로, 인코딩 동작을 수행하여 인코딩된 데이터를 생성할 수 있다. The nonvolatile memory device (100) can perform an encoding operation by performing steps S360 to S389. The nonvolatile memory device (100) can perform an FBP data generation operation and a flip operation by performing steps S360 to S389 to convert the first write data (WD1) into the second write data (WD2). The nonvolatile memory device (100) can perform an encoding operation based on the first write data (WD1) and the FBP data to generate encoded data.

S360 단계에서, 페이지 버퍼 회로(130)는 제4 비트맵(BM4)을 제어 로직 회로(160)로 출력할 수 있다. FBP 엔진(161)은 제4 비트맵(BM4)을 수신할 수 있다. FBP 엔진(161)은 제4 비트맵(BM4)을 기반으로 FBP 데이터를 생성할 수 있다. S370_1 단계에서, FBP 엔진(161)은 생성된 FBP 데이터를 FBP 버퍼(163)로 출력할 수 있다. FBP 엔진(161)은 FBP 데이터를 FBP 버퍼(163)에 저장할 수 있다. S370_2 단계에서, FBP 버퍼(163)는 FBP 데이터를 FBP 엔진(161) 및 ECC 엔진(162)으로 출력할 수 있다. At step S360, the page buffer circuit (130) can output the fourth bitmap (BM4) to the control logic circuit (160). The FBP engine (161) can receive the fourth bitmap (BM4). The FBP engine (161) can generate FBP data based on the fourth bitmap (BM4). At step S370_1, the FBP engine (161) can output the generated FBP data to the FBP buffer (163). The FBP engine (161) can store the FBP data in the FBP buffer (163). At step S370_2, the FBP buffer (163) can output the FBP data to the FBP engine (161) and the ECC engine (162).

불휘발성 메모리 장치(100)는 S381 내지 S389 단계를 수행하여 플립 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 플립 동작을 수행하여, 제2 쓰기 데이터(WD2)를 생성할 수 있다. 불휘발성 메모리 장치(100)는 S381 단계 내지 S383 단계를 수행하여, 제1 페이지 데이터(PD1)를 제1 인코딩된 페이지 데이터(EPD1)로 변환할 수 있다. The nonvolatile memory device (100) can perform a flip operation by performing steps S381 to S389. The nonvolatile memory device (100) can perform a flip operation to generate second write data (WD2). The nonvolatile memory device (100) can convert first page data (PD1) into first encoded page data (EPD1) by performing steps S381 to S383.

S381 단계에서, 불휘발성 메모리 장치(100)는 제1 비트 플립 플래그를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. FBP 엔진(161)은 FBP 데이터(또는 제1 서브 FBP 데이터(FBP_SUB1))를 기반으로 제1 비트 플립 플래그를 생성할 수 있다. 제1 비트 플립 플래그는 제1 페이지 데이터(PD1)에 대한 플립할 비트를 가리킬 수 있다. 즉, 제1 비트 플립 플래그는 제1 페이지 데이터(PD1)에 대한 플립할 비트들의 위치에 관한 정보를 가리킬 수 있다. 예를 들어, 제1 비트(B1)는 타겟 비트이고, 제1 비트(B1)는 제1 부분(S1)에 대응하므로, 불휘발성 메모리 장치(100)는 제1 비트 데이터(BD1)에서 제1 페이지 데이터(PD1)에 대응하는 데이터를 플립할 수 있다. 따라서, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 비트(B1)를 플립하기 위하여 제1 비트 플립 플래그(예를 들어, [1,0,0,0,0,0])를 생성할 수 있다. In step S381, the nonvolatile memory device (100) may generate a first bit flip flag and store it in the fifth data latch (DL5). The FBP engine (161) may generate the first bit flip flag based on the FBP data (or the first sub FBP data (FBP_SUB1)). The first bit flip flag may indicate a bit to be flipped for the first page data (PD1). That is, the first bit flip flag may indicate information about the positions of bits to be flipped for the first page data (PD1). For example, since the first bit (B1) is a target bit and the first bit (B1) corresponds to the first portion (S1), the nonvolatile memory device (100) may flip data corresponding to the first page data (PD1) in the first bit data (BD1). Accordingly, the nonvolatile memory device (100) can generate a first bit flip flag (e.g., [1,0,0,0,0,0]) to flip the first bit (B1) of the first page data (PD1).

S382 단계에서, 불휘발성 메모리 장치(100)는 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. ECC 엔진(162)은 제1 서브 FBP 데이터(FBP_SUB1)에 대한 에러 정정을 위한 인코딩을 수행할 수 있다. 일 실시예에서, ECC 엔진(162)은 제1 서브 FBP 데이터(FBP_SUB1)에 패리티 비트들(parity bits)을 생성할 수 있다. ECC 엔진(162)은 제1 서브 FBP 데이터(FBP_SUB1)에 패리티 비트들을 추가하여 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 생성할 수 있다. ECC 엔진(162)은 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 페이지 버퍼 회로(130)로 출력할 수 있다. 페이지 버퍼 회로(130)는 제1 서브 FBP 데이터(E_FBP_SUB1)(예를 들어, [A1, A2, A3])를 제5 데이터 래치(DL5)에 저장할 수 있다. At step S382, the nonvolatile memory device (100) may generate first encoded sub FBP data (E_FBP_SUB1) and store it in the fifth data latch (DL5). The ECC engine (162) may perform encoding for error correction on the first sub FBP data (FBP_SUB1). In one embodiment, the ECC engine (162) may generate parity bits in the first sub FBP data (FBP_SUB1). The ECC engine (162) may add parity bits to the first sub FBP data (FBP_SUB1) to generate first encoded sub FBP data (E_FBP_SUB1). The ECC engine (162) may output the first encoded sub FBP data (E_FBP_SUB1) to the page buffer circuit (130). The page buffer circuit (130) can store the first sub FBP data (E_FBP_SUB1) (e.g., [A1, A2, A3]) in the fifth data latch (DL5).

불휘발성 메모리 장치(100)는 제1 비트 플립 플래그를 제1 영역(AREA1)에 대응하는 비트들에 저장하고, 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 제2 영역(AREA2)에 대응하는 비트들에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제1 비트 플립 플래그에 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 추가하여 제5 비트맵(BM5)(예를 들어, [1,0,0,0,0,0,A1,A2,A3])을 생성하고, 제5 비트맵(BM5)을 제5 데이터 래치(DL5)에 저장할 수 있다. The nonvolatile memory device (100) can store the first bit flip flag in bits corresponding to the first area (AREA1) and store the first encoded sub FBP data (E_FBP_SUB1) in bits corresponding to the second area (AREA2). The nonvolatile memory device (100) can add the first encoded sub FBP data (E_FBP_SUB1) to the first bit flip flag to generate a fifth bitmap (BM5) (e.g., [1,0,0,0,0,0,A1,A2,A3]) and store the fifth bitmap (BM5) in the fifth data latch (DL5).

S383 단계에서, 불휘발성 메모리 장치(100)는 제2 데이터 래치(DL2) 및 제5 데이터 래치(DL5)에 대한 XOR 연산을 수행하고, 그 결과를 제2 데이터 래치(DL2)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)(예를 들어, [1,0,1,1,1,0,0,0]) 및 제5 비트맵(BM5)(예를 들어, [1,0,0,0,0,0,A1,A2,A3])에 대한 XOR 연산을 수행하여, 제1 인코딩된 페이지 데이터(EPD1)(예를 들어, [0,0,1,1,1,1,A1,A2,A3])를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 데이터 래치(DL2)에 저장된 데이터 및 제5 데이터 래치(DL5)에 저장된 데이터에 대해 논리 연산을 수행하여, 플립된 제1 페이지 데이터 및 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 포함하는 제1 인코딩된 페이지 데이터(EPD1)를 제2 데이터 래치(DL2)에 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 페이지 데이터(PD1)의 제1 비트(B1)를 플립하고, 제1 페이지 데이터(PD1)에 대한 플립 비트 위치 정보(제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1))를 추가하여, 제1 인코딩된 페이지 데이터(EPD1)를 생성할 수 있다. At step S383, the nonvolatile memory device (100) can perform an XOR operation on the second data latch (DL2) and the fifth data latch (DL5), and store the result in the second data latch (DL2). The nonvolatile memory device (100) can perform an XOR operation on the first page data (PD1) (e.g., [1,0,1,1,1,0,0,0]) and the fifth bitmap (BM5) (e.g., [1,0,0,0,0,0,A1,A2,A3]), and generate the first encoded page data (EPD1) (e.g., [0,0,1,1,1,1,A1,A2,A3]). That is, the nonvolatile memory device (100) can perform a logical operation on the data stored in the second data latch (DL2) and the data stored in the fifth data latch (DL5) to store the first encoded page data (EPD1) including the flipped first page data and the first encoded sub FBP data (E_FBP_SUB1) in the second data latch (DL2). That is, the nonvolatile memory device (100) can flip the first bit (B1) of the first page data (PD1) and add flip bit position information (the first encoded sub FBP data (E_FBP_SUB1)) for the first page data (PD1) to generate the first encoded page data (EPD1).

불휘발성 메모리 장치(100)는 S384 단계 내지 S386 단계를 수행하여, 제2 인코딩된 페이지 데이터(EPD2)를 생성할 수 있다. S384 단계에서, 불휘발성 메모리 장치(100)는 제2 비트 플립 플래그를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. FBP 엔진(161)은 FBP 데이터(또는 제2 서브 FBP 데이터(FBP_SUB2))를 기반으로 제2 비트 플립 플래그를 생성할 수 있다. 제2 비트 플립 플래그는 제2 페이지 데이터(PD2)에 대한 플립할 비트를 가리킬 수 있다. 예를 들어, 제4 비트(B4)는 타겟 비트이고, 제4 비트(B4)는 제2 부분(S2)에 대응하므로, 불휘발성 메모리 장치(100)는 제4 비트 데이터(BD4)에서 제2 페이지 데이터(PD2)에 대응하는 데이터를 플립할 수 있다. 따라서, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 플립하기 위하여 제2 비트 플립 플래그(예를 들어, [0,0,0,1,0,0])를 생성할 수 있다. The nonvolatile memory device (100) may generate second encoded page data (EPD2) by performing steps S384 to S386. In step S384, the nonvolatile memory device (100) may generate a second bit flip flag and store it in the fifth data latch (DL5). The FBP engine (161) may generate the second bit flip flag based on the FBP data (or the second sub FBP data (FBP_SUB2)). The second bit flip flag may indicate a bit to be flipped for the second page data (PD2). For example, since the fourth bit (B4) is a target bit and the fourth bit (B4) corresponds to the second portion (S2), the nonvolatile memory device (100) may flip data corresponding to the second page data (PD2) in the fourth bit data (BD4). Accordingly, the nonvolatile memory device (100) can generate a second bit flip flag (e.g., [0,0,0,1,0,0]) to flip the fourth bit (B4) of the second page data (PD2).

S385 단계에서, 불휘발성 메모리 장치(100)는 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. ECC 엔진(162)은 제2 서브 FBP 데이터(FBP_SUB2)에 대한 인코딩을 수행할 수 있다. 일 실시예에서, ECC 엔진(162)은 제2 서브 FBP 데이터(FBP_SUB2)에 패리티 비트들을 생성할 수 있다. ECC 엔진(162)은 제2 서브 FBP 데이터(FBP_SUB2)에 패리티 비트들을 추가하여 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 생성할 수 있다. ECC 엔진(162)은 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 페이지 버퍼 회로(130)로 출력할 수 있다. 페이지 버퍼 회로(130)는 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)(예를 들어, [B1 B2, B3])를 제5 데이터 래치(DL5)에 저장할 수 있다. At step S385, the nonvolatile memory device (100) can generate second encoded sub FBP data (E_FBP_SUB2) and store it in the fifth data latch (DL5). The ECC engine (162) can perform encoding on the second sub FBP data (FBP_SUB2). In one embodiment, the ECC engine (162) can generate parity bits in the second sub FBP data (FBP_SUB2). The ECC engine (162) can add the parity bits to the second sub FBP data (FBP_SUB2) to generate second encoded sub FBP data (E_FBP_SUB2). The ECC engine (162) can output the second encoded sub FBP data (E_FBP_SUB2) to the page buffer circuit (130). The page buffer circuit (130) can store the second encoded sub FBP data (E_FBP_SUB2) (e.g., [B1 B2, B3]) in the fifth data latch (DL5).

불휘발성 메모리 장치(100)는 제2 비트 플립 플래그를 제1 영역(AREA1)에 대응하는 비트들에 저장하고, 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 제2 영역(AREA2)에 대응하는 비트들에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제2 비트 플립 플래그에 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 추가하여 제6 비트맵(BM6)(예를 들어, [0,0,0,1,0,0,B1,B2,B3])을 생성하고, 제6 비트맵(BM6)을 제5 데이터 래치(DL5)에 저장할 수 있다. The nonvolatile memory device (100) can store the second bit flip flag in bits corresponding to the first area (AREA1) and store the second encoded sub FBP data (E_FBP_SUB2) in bits corresponding to the second area (AREA2). The nonvolatile memory device (100) can add the second encoded sub FBP data (E_FBP_SUB2) to the second bit flip flag to generate a sixth bitmap (BM6) (e.g., [0,0,0,1,0,0,B1,B2,B3]) and store the sixth bitmap (BM6) in the fifth data latch (DL5).

S386 단계에서, 불휘발성 메모리 장치(100)는 제3 데이터 래치(DL3) 및 제5 데이터 래치(DL5)에 대한 XOR 연산을 수행하고, 그 결과를 제3 데이터 래치(DL3)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)(예를 들어, [1,1,0,1,1,1,0,0,0]) 및 제6 비트맵(BM6)(예를 들어, [0,0,0,1,0,0,B1,B2,B3])에 대한 XOR 연산을 수행하여, 제2 인코딩된 페이지 데이터(EPD2)(예를 들어, [1,1,0,0,1,1,B1,B2,B3])를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 데이터 래치(DL3)에 저장된 데이터 및 제5 데이터 래치(DL5)에 저장된 데이터에 대해 논리 연산을 수행하여, 플립된 제2 페이지 데이터 및 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 포함하는 제2 인코딩된 페이지 데이터(EPD2)를 제3 데이터 래치(DL3)에 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 플립하고, 제2 페이지 데이터(PD2)에 대한 플립 비트 위치 정보(제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2))를 추가하여, 제2 페이지 데이터(PD2)를 제2 인코딩된 페이지 데이터(EPD2)로 변환할 수 있다. At step S386, the nonvolatile memory device (100) can perform an XOR operation on the third data latch (DL3) and the fifth data latch (DL5), and store the result in the third data latch (DL3). The nonvolatile memory device (100) can perform an XOR operation on the second page data (PD2) (e.g., [1,1,0,1,1,1,0,0,0]) and the sixth bitmap (BM6) (e.g., [0,0,0,1,0,0,B1,B2,B3]) to generate the second encoded page data (EPD2) (e.g., [1,1,0,0,1,1,B1,B2,B3]). That is, the nonvolatile memory device (100) can perform a logical operation on the data stored in the third data latch (DL3) and the data stored in the fifth data latch (DL5) to store the second encoded page data (EPD2) including the flipped second page data and the second encoded sub FBP data (E_FBP_SUB2) in the third data latch (DL3). That is, the nonvolatile memory device (100) can flip the fourth bit (B4) of the second page data (PD2) and add flip bit position information (the second encoded sub FBP data (E_FBP_SUB2)) for the second page data (PD2) to convert the second page data (PD2) into the second encoded page data (EPD2).

불휘발성 메모리 장치(100)는 S387 단계 내지 S389 단계를 수행하여, 제3 인코딩된 페이지 데이터(EPD3)를 생성할 수 있다. S384 단계에서, 불휘발성 메모리 장치(100)는 제3 비트 플립 플래그를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. FBP 엔진(161)은 FBP 데이터(또는 제3 서브 FBP 데이터(FBP_SUB3))를 기반으로 제3 비트 플립 플래그를 생성할 수 있다. 제3 비트 플립 플래그는 제3 페이지 데이터(PD3)에 대한 플립할 비트를 가리킬 수 있다. 예를 들어, 제6 비트(B6)는 타겟 비트이고, 제6 비트(B6)는 제3 부분(S3)에 대응하므로, 불휘발성 메모리 장치(100)는 제6 비트 데이터(BD6)에서 제3 페이지 데이터(PD3)에 대응하는 데이터를 플립할 수 있다. 따라서, 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제6 비트(B6)를 플립하기 위하여 제3 비트 플립 플래그(예를 들어, [0,0,0,0,0,1])를 생성할 수 있다. The nonvolatile memory device (100) may generate third encoded page data (EPD3) by performing steps S387 to S389. In step S384, the nonvolatile memory device (100) may generate a third bit flip flag and store it in the fifth data latch (DL5). The FBP engine (161) may generate the third bit flip flag based on the FBP data (or the third sub FBP data (FBP_SUB3)). The third bit flip flag may indicate a bit to be flipped for the third page data (PD3). For example, since the sixth bit (B6) is a target bit and the sixth bit (B6) corresponds to the third portion (S3), the nonvolatile memory device (100) may flip data corresponding to the third page data (PD3) in the sixth bit data (BD6). Accordingly, the nonvolatile memory device (100) can generate a third bit flip flag (e.g., [0,0,0,0,0,1]) to flip the sixth bit (B6) of the third page data (PD3).

S388 단계에서, 불휘발성 메모리 장치(100)는 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 생성하고, 제5 데이터 래치(DL5)에 저장할 수 있다. ECC 엔진(162)은 제3 서브 FBP 데이터(FBP_SUB3)에 대한 인코딩을 수행할 수 있다. 일 실시예에서, ECC 엔진(162)은 제3 서브 FBP 데이터(FBP_SUB3)에 패리티 비트들을 생성할 수 있다. ECC 엔진(162)은 제3 서브 FBP 데이터(FBP_SUB3)에 패리티 비트들을 추가하여 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 생성할 수 있다. ECC 엔진(162)은 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 페이지 버퍼 회로(130)로 출력할 수 있다. 페이지 버퍼 회로(130)는 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)(예를 들어, [C1 C2, C3])를 제5 데이터 래치(DL5)에 저장할 수 있다. At step S388, the nonvolatile memory device (100) may generate third encoded sub FBP data (E_FBP_SUB3) and store it in the fifth data latch (DL5). The ECC engine (162) may perform encoding on the third sub FBP data (FBP_SUB3). In one embodiment, the ECC engine (162) may generate parity bits in the third sub FBP data (FBP_SUB3). The ECC engine (162) may add parity bits to the third sub FBP data (FBP_SUB3) to generate third encoded sub FBP data (E_FBP_SUB3). The ECC engine (162) may output the third encoded sub FBP data (E_FBP_SUB3) to the page buffer circuit (130). The page buffer circuit (130) can store the third encoded sub FBP data (E_FBP_SUB3) (e.g., [C1 C2, C3]) in the fifth data latch (DL5).

불휘발성 메모리 장치(100)는 제3 비트 플립 플래그를 제1 영역(AREA1)에 대응하는 비트들에 저장하고, 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 제2 영역(AREA2)에 대응하는 비트들에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제3 비트 플립 플래그에 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 추가하여 제7 비트맵(BM7)(예를 들어, [0,0,0,0,0,1,C1,C2,C3])을 생성하고, 제7 비트맵(BM7)을 제5 데이터 래치(DL5)에 저장할 수 있다. The nonvolatile memory device (100) can store the third bit flip flag in bits corresponding to the first area (AREA1) and store the third encoded sub FBP data (E_FBP_SUB3) in bits corresponding to the second area (AREA2). The nonvolatile memory device (100) can generate a seventh bitmap (BM7) (e.g., [0,0,0,0,0,1,C1,C2,C3]) by adding the third encoded sub FBP data (E_FBP_SUB3) to the third bit flip flag and store the seventh bitmap (BM7) in the fifth data latch (DL5).

S389 단계에서, 불휘발성 메모리 장치(100)는 제4 데이터 래치(DL4) 및 제5 데이터 래치(DL5)에 대한 XOR 연산을 수행하고, 그 결과를 제4 데이터 래치(DL4)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)(예를 들어, [1,1,0,1,1,1,0,0,0]) 및 제7 비트맵(BM7)(예를 들어, [0,0,0,0,0,1,C1,C2,C3])에 대한 XOR 연산을 수행하여, 제3 인코딩된 페이지 데이터(EPD3)(예를 들어, [1,1,0,1,1,0,C1,C2,C3])를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제4 데이터 래치(DL4)에 저장된 데이터 및 제5 데이터 래치(DL5)에 저장된 데이터에 대해 논리 연산을 수행하여, 플립된 제3 페이지 데이터 및 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 포함하는 제3 인코딩된 페이지 데이터(EPD3)를 제4 데이터 래치(DL4)에 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 페이지 데이터(PD3)의 제6 비트(B6)를 플립하고, 제3 페이지 데이터(PD3)에 대한 플립 비트 위치 정보(제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3))를 추가하여, 제3 페이지 데이터(PD3)를 제3 인코딩된 페이지 데이터(EPD3)로 변환할 수 있다. At step S389, the nonvolatile memory device (100) can perform an XOR operation on the fourth data latch (DL4) and the fifth data latch (DL5), and store the result in the fourth data latch (DL4). The nonvolatile memory device (100) can perform an XOR operation on the third page data (PD3) (e.g., [1,1,0,1,1,1,0,0,0]) and the seventh bitmap (BM7) (e.g., [0,0,0,0,0,1,C1,C2,C3]) to generate the third encoded page data (EPD3) (e.g., [1,1,0,1,1,0,C1,C2,C3]). That is, the nonvolatile memory device (100) can perform a logical operation on the data stored in the fourth data latch (DL4) and the data stored in the fifth data latch (DL5) to store the third encoded page data (EPD3) including the flipped third page data and the third encoded sub FBP data (E_FBP_SUB3) in the fourth data latch (DL4). That is, the nonvolatile memory device (100) can flip the sixth bit (B6) of the third page data (PD3) and add flip bit position information (the third encoded sub FBP data (E_FBP_SUB3)) for the third page data (PD3) to convert the third page data (PD3) into the third encoded page data (EPD3).

S390 단계에서, 불휘발성 메모리 장치(100)는 프로그램 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 인코딩된 데이터를 제3 워드 라인(WL3)에 프로그램할 수 있다. 페이지 버퍼 회로(130)는 제2 쓰기 데이터(WD2)를 메모리 셀 어레이(110)로 출력할 수 있다. 제2 쓰기 데이터(WD2)는 제1 내지 제3 인코딩된 페이지 데이터들(EPD1~EPD3)을 포함할 수 있다. 제2 쓰기 데이터(WD2)가 제3 워드 라인(WL3)에 프로그램 되어, 메모리 셀(MC31)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC32)은 제1 프로그램 상태(P1)를 갖고, 메모리 셀(MC33)은 제6 프로그램 상태(P6)를 갖고, 메모리 셀(MC34)은 제7 프로그램 상태(P7)를 갖고, 메모리 셀(MC35)은 소거 상태를 갖고, 메모리 셀(MC36)은 제5 프로그램 상태(P5)를 가질 수 있다. 불휘발성 메모리 장치(100)는 제1 내지 제3 인코딩된 서브 FBP 데이터들(E_FBP_SUB1~E_FBP_SUB3)을 포함하는 인코딩된 FBP 데이터를 메모리 셀들(MC27, MC28, MC29)에 저장할 수 있다. At step S390, the nonvolatile memory device (100) can perform a program operation. The nonvolatile memory device (100) can program encoded data to a third word line (WL3). The page buffer circuit (130) can output second write data (WD2) to the memory cell array (110). The second write data (WD2) can include first to third encoded page data (EPD1 to EPD3). The second write data (WD2) may be programmed to the third word line (WL3), so that the memory cell (MC31) may have a first program state (P1), the memory cell (MC32) may have a first program state (P1), the memory cell (MC33) may have a sixth program state (P6), the memory cell (MC34) may have a seventh program state (P7), the memory cell (MC35) may have an erase state, and the memory cell (MC36) may have a fifth program state (P5). The nonvolatile memory device (100) may store encoded FBP data including first to third encoded sub FBP data (E_FBP_SUB1 to E_FBP_SUB3) in the memory cells (MC27, MC28, and MC29).

도 11a 내지 도 11d를 참조하여 설명한 바와 같이, 타겟 비트들은 복수의 서브 타겟 비트들을 포함할 수 있다. 타겟 비트들은 제1, 제4, 및 제6 비트들(B1, B4, B6)이고, 제1 서브 타겟 비트들(STB1)은 제1 비트(B1)이고, 제2 서브 타겟 비트들(STB2)은 제4 비트(B4)이고, 제3 서브 타겟 비트들(STB3)은 제6 비트(B6)일 수 있다. As described with reference to FIGS. 11A to 11D, the target bits may include a plurality of sub-target bits. The target bits may be first, fourth, and sixth bits (B1, B4, B6), and the first sub-target bits (STB1) may be the first bit (B1), the second sub-target bits (STB2) may be the fourth bit (B4), and the third sub-target bits (STB3) may be the sixth bit (B6).

불휘발성 메모리 장치(100)는 인코딩된 데이터 및 FBP 데이터를 제3 워드 라인(WL3)에 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 제1 서브 타겟 비트들(STB1)에 대응하는 메모리 셀은 제1 프로그램 상태(P1)가 되도록 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 제2 서브 타겟 비트들(STB2)에 대응하는 메모리 셀은 제7 프로그램 상태(P7)가 되도록 프로그램할 수 있다. 불휘발성 메모리 장치(100)는 제3 서브 타겟 비트들(STB3)에 대응하는 메모리 셀은 제5 프로그램 상태(P5)가 되도록 프로그램할 수 있다.The nonvolatile memory device (100) can program encoded data and FBP data to a third word line (WL3). The nonvolatile memory device (100) can program a memory cell corresponding to the first sub-target bits (STB1) to be in a first program state (P1). The nonvolatile memory device (100) can program a memory cell corresponding to the second sub-target bits (STB2) to be in a seventh program state (P7). The nonvolatile memory device (100) can program a memory cell corresponding to the third sub-target bits (STB3) to be in a fifth program state (P5).

즉, 제1 서브 타겟 비트들(STB1)은 제1 비트(B1) 이므로, 불휘발성 메모리 장치(100)는 소거 상태(E) 대신에 제1 비트(B1)에 대응하는 메모리 셀(MC31)은 제1 프로그램 상태(P1)가 되도록 프로그램할 수 있다. 제2 서브 타겟 비트들(STB2)은 제4 비트(B4) 이므로, 불휘발성 메모리 장치(100)는 소거 상태(E) 대신에 제4 비트(B4)에 대응하는 메모리 셀(MC34)은 제7 프로그램 상태(P7)가 되도록 프로그램할 수 있다. 제3 서브 타겟 비트들(STB3)은 제6 비트(B6) 이므로, 불휘발성 메모리 장치(100)는 소거 상태(E) 대신에 제6 비트(B6)에 대응하는 메모리 셀(MC36)은 제5 프로그램 상태(P5)가 되도록 프로그램할 수 있다.That is, since the first sub-target bits (STB1) are the first bit (B1), the nonvolatile memory device (100) can program the memory cell (MC31) corresponding to the first bit (B1) to be in the first program state (P1) instead of the erased state (E). Since the second sub-target bits (STB2) are the fourth bit (B4), the nonvolatile memory device (100) can program the memory cell (MC34) corresponding to the fourth bit (B4) to be in the seventh program state (P7) instead of the erased state (E). Since the third sub-target bits (STB3) are the sixth bit (B6), the nonvolatile memory device (100) can program the memory cell (MC36) corresponding to the sixth bit (B6) to be in the fifth program state (P5) instead of the erased state (E).

일 실시예에서, 제2 쓰기 데이터(WD2)의 제1 페이지 데이터(PD1)는 제1 인코딩된 서브 FBP 데이터(E_FBP_SUB1)를 포함하고, 제2 쓰기 데이터(WD2)의 제2 페이지 데이터(PD2)는 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 포함하고, 제2 쓰기 데이터(WD2)의 제3 페이지 데이터(PD3)는 제3 인코딩된 서브 FBP 데이터(E_FBP_SUB3)를 포함할 수 있다. 즉, 제3 워드 라인(WLD3)의 제2 영역(AREA2)에 인코딩된 FBP 데이터가 저장될 수 있다. In one embodiment, the first page data (PD1) of the second write data (WD2) may include first encoded sub FBP data (E_FBP_SUB1), the second page data (PD2) of the second write data (WD2) may include second encoded sub FBP data (E_FBP_SUB2), and the third page data (PD3) of the second write data (WD2) may include third encoded sub FBP data (E_FBP_SUB3). That is, the encoded FBP data may be stored in the second area (AREA2) of the third word line (WLD3).

일 실시예에서, 도 11c에 상술한 바와 같이, 불휘발성 메모리 장치(100)는 FBP 데이터에 대항 인코딩을 수행하지 않고, 메모리 셀 어레이(110)에 저장할 수 있다. 메모리 셀 어레이(110)에 저장될 제2 쓰기 데이터(WD2)의 제1 페이지 데이터(PD1)는 제1 인코딩된 서브 FBP 데이터 대신에 제1 서브 FBP 데이터(FBP_SUB1)를 포함할 수 있다. 제2 쓰기 데이터(WD2)의 제2 페이지 데이터(PD2)는 제2 서브 FBP 데이터(FBP_SUB2)를 포함하고, 제2 쓰기 데이터(WD2)의 제3 페이지 데이터(PD3)는 제3 서브 FBP 데이터(FBP_SUB3)를 포함할 수 있다. 즉, 제3 워드 라인(WL3)의 제2 영역(AREA2)에 FBP 데이터가 저장될 수 있다. In one embodiment, as described above with reference to FIG. 11C, the nonvolatile memory device (100) may store FBP data in the memory cell array (110) without performing encoding against the FBP data. The first page data (PD1) of the second write data (WD2) to be stored in the memory cell array (110) may include the first sub FBP data (FBP_SUB1) instead of the first encoded sub FBP data. The second page data (PD2) of the second write data (WD2) may include the second sub FBP data (FBP_SUB2), and the third page data (PD3) of the second write data (WD2) may include the third sub FBP data (FBP_SUB3). That is, the FBP data may be stored in the second area (AREA2) of the third word line (WL3).

도 14는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 쓰기 동작을 설명하기 위한 도면이다. FIG. 14 is a diagram for explaining a write operation of a nonvolatile memory device according to an embodiment of the present disclosure.

도 13a 내지 도 13g를 참고하면, S310 내지 S330 단계가 S340 단계보다 먼저 수행되는 것으로 도시되었으나, 본 개시의 범위가 이에 한정되지 아니하며, 상기 단계의 동작을 동시에 수행될 수 있고, 서로 순서가 바뀌어 수행될 수 있다. Referring to FIGS. 13A to 13G, steps S310 to S330 are illustrated as being performed before step S340, but the scope of the present disclosure is not limited thereto, and the operations of the steps may be performed simultaneously or in a reversed order.

도 14를 참조하면, 제1 시점(t1)에서 제3 시점(t3)까지 불휘발성 메모리 장치(100)는 S310 단계 및 S320 단계를 수행할 수 있다. 제1 시점(t1)에서 제2 시점(t2)까지 불휘발성 메모리 장치(100)는 S340 단계를 수행할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제1 및 제2 워드 라인들(WL1, WL2)을 센싱 하면서, 동시에 스토리지 컨트롤러로부터 제1 쓰기 데이터(WD1)를 수신할 수 있다. Referring to FIG. 14, the nonvolatile memory device (100) can perform steps S310 and S320 from a first time point (t1) to a third time point (t3). The nonvolatile memory device (100) can perform step S340 from a first time point (t1) to a second time point (t2). That is, the nonvolatile memory device (100) can sense the first and second word lines (WL1, WL2) and simultaneously receive first write data (WD1) from the storage controller.

불휘발성 메모리 장치(100)는 데이터 전송 동작과 센싱 동작을 동시에 수행하여, 약한 패턴 검출 동작의 레이턴시(latency)는 감소될 수 있다. The nonvolatile memory device (100) performs data transmission operations and sensing operations simultaneously, so the latency of the weak pattern detection operation can be reduced.

도 15a 내지 도 15c는 본 개시의 실시예에 따른 불휘발성 메모리 장치의 읽기 동작을 설명하기 위한 도면들이다. FIGS. 15A to 15C are drawings for explaining a read operation of a nonvolatile memory device according to an embodiment of the present disclosure.

도면의 간결성 및 설명의 편의를 위하여, 메모리 셀 어레이(110)는 제1 내지 제3 워드 라인들(WL1~WL3), 및 제1 내지 제9 비트 라인들(BL1~BL9)과 연결된 복수의 메모리 셀들(MC11~MC39)들을 포함하는 것으로 가정한다. 단 본 개시의 범위가 이제 한정되는 것은 아니다. 앞서 설명된 구성 요소들과 동일하거나 또는 유사한 구성 요소들에 대한 상세한 설명 또는 참조 번호들은 생략된다. 이하에서 생략된 구성 요소들은 본 발명의 상세한 설명에 기재된 전반적인 실시 예들 각각 또는 그것들의 조합을 통해 구현될 수 있다. 페이지 버퍼 회로(130)는 데이터 래치(131)를 포함하고, 데이터 래치(131)는 제1 내지 제5 데이터 래치들(DL1~DL5)을 포함할 수 있다. For the sake of simplicity of the drawing and convenience of explanation, it is assumed that the memory cell array (110) includes a plurality of memory cells (MC11 to MC39) connected to first to third word lines (WL1 to WL3) and first to ninth bit lines (BL1 to BL9). However, the scope of the present disclosure is not limited thereto. Detailed descriptions or reference numbers for components identical or similar to the components described above are omitted. The components omitted below can be implemented through each of the overall embodiments described in the detailed description of the present invention or a combination thereof. The page buffer circuit (130) includes a data latch (131), and the data latch (131) can include first to fifth data latches (DL1 to DL5).

S410 단계에서, 불휘발성 메모리 장치(100)는 읽기 커맨드에 응답하여, 제3 워드 라인(WL3)에서 제2 인코딩된 페이지 데이터(EPD2)를 읽을 수 있다. 불휘발성 메모리 장치(100)는 비트 라인들(BL)의 전압 변화를 감지함으로써, 제3 워드 라인(WL3)에 저장된 제2 인코딩된 페이지 데이터(EPD2)를 읽을 수 있다. 불휘발성 메모리 장치(100)는 제2 인코딩된 페이지 데이터(EPD2)(예를 들어, [1,1,0,0,1,1,B1, B2,B3])를 제3 데이터 래치(DL3)에 저장할 수 있다. At step S410, the nonvolatile memory device (100) can read the second encoded page data (EPD2) from the third word line (WL3) in response to the read command. The nonvolatile memory device (100) can read the second encoded page data (EPD2) stored in the third word line (WL3) by detecting a voltage change of the bit lines (BL). The nonvolatile memory device (100) can store the second encoded page data (EPD2) (e.g., [1,1,0,0,1,1,B1, B2, B3]) in the third data latch (DL3).

일 실시 예에서, 불휘발성 메모리 장치(100)는 저장된 제2 영역(AREA2)에 대응하는 비트들에 저장된 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 제3 데이터 래치(DL3)에서 제5 데이터 래치(DL5)로 복사할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 제5 데이터 래치(DL5)에 저장할 수 있다. In one embodiment, the nonvolatile memory device (100) can copy the second encoded sub-FBP data (E_BFP_SUB2) stored in bits corresponding to the stored second area (AREA2) from the third data latch (DL3) to the fifth data latch (DL5). That is, the nonvolatile memory device (100) can store the second encoded sub-FBP data (E_BFP_SUB2) in the fifth data latch (DL5).

불휘발성 메모리 장치(100)는 S420 단계 내지 S460 단계를 통해 디코딩 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 디코딩 동작을 수행하여 인코딩된 페이지 데이터를 페이지 데이터(또는 디코딩된 데이터)로 변환할 수 있다. S420 단계에서, 불휘발성 메모리 장치(100)는 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 제어 로직 회로(160)로 전송할 수 있다. 페이지 버퍼 회로(130)는 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 ECC 엔진(162)으로 출력할 수 있다. The nonvolatile memory device (100) can perform a decoding operation through steps S420 to S460. The nonvolatile memory device (100) can perform the decoding operation to convert encoded page data into page data (or decoded data). In step S420, the nonvolatile memory device (100) can transmit the second encoded sub-FBP data (E_BFP_SUB2) to the control logic circuit (160). The page buffer circuit (130) can output the second encoded sub-FBP data (E_BFP_SUB2) to the ECC engine (162).

S430 단계에서, 불휘발성 메모리 장치(100)는 제2 서브 FBP 데이터(BFP_SUB2)를 생성하여 FBP 버퍼(163)로 출력할 수 있다. 불휘발성 메모리 장치(100)는 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)에 디코딩 동작을 수행하여, 제2 서브 FBP 데이터(BFP_SUB2)를 생성할 수 있다. ECC 엔진(162)은 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 기반으로 제2 서브 FBP 데이터(BFP_SUB2)를 생성할 수 있다. ECC 엔진(162)은 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 이용하여 제2 서브 FBP 데이터(BFP_SUB2)의 에러를 정정하고, 에러가 정정된 제2 서브 FBP 데이터(BFP_SUB2)를 출력할 수 있다. 제2 서브 FBP 데이터(BFP_SUB2)는 FBP 버퍼(163)에 저장될 수 있다. At step S430, the nonvolatile memory device (100) can generate second sub FBP data (BFP_SUB2) and output it to the FBP buffer (163). The nonvolatile memory device (100) can perform a decoding operation on the second encoded sub FBP data (E_BFP_SUB2) to generate the second sub FBP data (BFP_SUB2). The ECC engine (162) can generate the second sub FBP data (BFP_SUB2) based on the second encoded sub FBP data (E_BFP_SUB2). The ECC engine (162) can correct an error of the second sub FBP data (BFP_SUB2) using the second encoded sub FBP data (E_BFP_SUB2) and output the second sub FBP data (BFP_SUB2) with the error corrected. The second sub FBP data (BFP_SUB2) can be stored in the FBP buffer (163).

S440 단계에서, FBP 버퍼(163)는 제2 서브 FBP 데이터(BFP_SUB2)를 FBP 엔진(161)으로 출력할 수 있다. S450 단계에서, FBP 엔진(161)은 제2 플립 비트 플래그를 생성하여 페이지 버퍼 회로(130)로 출력할 수 있다. FBP 엔진(161)은 제2 서브 FBP 데이터(FBP_SUB2)를 기반으로 제2 비트 플립 플래그를 생성할 수 있다. 제2 비트 플립 플래그는 제2 페이지 데이터(PD2)에 대한 플립할 비트를 가리킬 수 있다. 예를 들어, 제2 인코딩된 페이지 데이터(EPD2)에서, 제4 비트(B4)는 플립된 비트이다. 불휘발성 메모리 장치(100)는 제2 페이지 데이터(PD2)의 제4 비트(B4)를 플립하기 위하여 제2 비트 플립 플래그(예를 들어, [0,0,0,1,0,0])를 생성할 수 있다. 페이지 버퍼 회로(130)는 제2 비트 플립 플래그를 제5 데이터 래치(DL5)에 저장할 수 있다. At step S440, the FBP buffer (163) can output the second sub FBP data (BFP_SUB2) to the FBP engine (161). At step S450, the FBP engine (161) can generate a second flip bit flag and output it to the page buffer circuit (130). The FBP engine (161) can generate a second bit flip flag based on the second sub FBP data (FBP_SUB2). The second bit flip flag can indicate a bit to be flipped for the second page data (PD2). For example, in the second encoded page data (EPD2), the fourth bit (B4) is a flipped bit. The nonvolatile memory device (100) can generate the second bit flip flag (e.g., [0,0,0,1,0,0]) to flip the fourth bit (B4) of the second page data (PD2). The page buffer circuit (130) can store the second bit flip flag in the fifth data latch (DL5).

불휘발성 메모리 장치(100)는 제2 비트 플립 플래그를 제1 영역(AREA1)에 대응하는 비트들에 저장하고, 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 제2 영역(AREA2)에 대응하는 비트들에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제2 비트 플립 플래그에 제2 인코딩된 서브 FBP 데이터(E_FBP_SUB2)를 추가하여 제8 비트맵(BM8)(예를 들어, [0,0,0,1,0,0,B1,B2,B3])을 생성하고, 제8 비트맵(BM8)을 제5 데이터 래치(DL5)에 저장할 수 있다. The nonvolatile memory device (100) can store the second bit flip flag in bits corresponding to the first area (AREA1) and store the second encoded sub FBP data (E_FBP_SUB2) in bits corresponding to the second area (AREA2). The nonvolatile memory device (100) can add the second encoded sub FBP data (E_FBP_SUB2) to the second bit flip flag to generate an eighth bitmap (BM8) (e.g., [0,0,0,1,0,0,B1,B2,B3]) and store the eighth bitmap (BM8) in the fifth data latch (DL5).

S460 단계에서, 불휘발성 메모리 장치(100)는 제3 데이터 래치(DL3) 및 제5 데이터 래치(DL5)에 대한 XOR 연산을 수행하고, 그 결과를 제3 데이터 래치(DL3)에 저장할 수 있다. 불휘발성 메모리 장치(100)는 제2 인코딩된 페이지 데이터(PD2)(예를 들어, [1,1,0,0,1,1,B1,B2,B3]) 및 제6 비트맵(BM6)(예를 들어, [0,0,0,1,0,0,B1,B2,B3])에 대한 XOR 연산을 수행하여, 디코딩된 데이터(DD)(예를 들어, [1,1,0,1,1,1,0,0,0])를 생성할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제3 데이터 래치(DL3)에 저장된 데이터 및 제5 데이터 래치(DL5)에 저장된 데이터에 대해 논리 연산을 수행하여, 디코딩된 데이터(DD)를 제3 데이터 래치(DL3)에 저장할 수 있다. 즉, 불휘발성 메모리 장치(100)는 제2 인코딩된 페이지 데이터(EPD2)의 제4 비트(B4)를 플립하고, 제2 인코딩된 서브 FBP 데이터(E_BFP_SUB2)를 제거하여, 제2 인코딩된 페이지 데이터(EPD2)를 디코딩된 데이터(DD)로 변환할 수 있다. S470 단계에서, 불휘발성 메모리 장치(100)는 디코딩된 데이터(DD)를 입출력 회로(140)로 출력할 수 있다. At step S460, the nonvolatile memory device (100) can perform an XOR operation on the third data latch (DL3) and the fifth data latch (DL5), and store the result in the third data latch (DL3). The nonvolatile memory device (100) can perform an XOR operation on the second encoded page data (PD2) (e.g., [1,1,0,0,1,1,B1,B2,B3]) and the sixth bitmap (BM6) (e.g., [0,0,0,1,0,0,B1,B2,B3]) to generate decoded data (DD) (e.g., [1,1,0,1,1,1,0,0,0]). That is, the nonvolatile memory device (100) can perform a logical operation on the data stored in the third data latch (DL3) and the data stored in the fifth data latch (DL5) to store the decoded data (DD) in the third data latch (DL3). That is, the nonvolatile memory device (100) can flip the fourth bit (B4) of the second encoded page data (EPD2) and remove the second encoded sub FBP data (E_BFP_SUB2) to convert the second encoded page data (EPD2) into the decoded data (DD). At step S470, the nonvolatile memory device (100) can output the decoded data (DD) to the input/output circuit (140).

도 16은 본 개시에 따른 스토리지 장치가 적용된 SSD 시스템을 보여주는 블록도이다. FIG. 16 is a block diagram showing an SSD system to which a storage device according to the present disclosure is applied.

도 16를 참조하면, SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)를 포함한다. SSD(1200)는 신호 커넥터(1201)를 통해 호스트(1100)와 신호(SIG)를 주고받고, 전원 커넥터(1202)를 통해 전원(PWR)을 입력 받는다. SSD(1200)는 SSD 컨트롤러(1210), 복수의 플래시 메모리들(1221~122n), 보조 전원 장치(1230), 및 버퍼 메모리(1240)를 포함한다.Referring to FIG. 16, the SSD system (1000) includes a host (1100) and an SSD (1200). The SSD (1200) exchanges a signal (SIG) with the host (1100) through a signal connector (1201) and receives power (PWR) through a power connector (1202). The SSD (1200) includes an SSD controller (1210), a plurality of flash memories (1221 to 122n), an auxiliary power supply (1230), and a buffer memory (1240).

SSD 컨트롤러(1210)는 호스트(1100)로부터 수신된 신호(SIG)에 응답하여 복수의 플래시 메모리들(1221~122n)을 제어할 수 있다. 복수의 플래시 메모리들(1221~122n)은 SSD 컨트롤러(1210)의 제어에 따라 동작할 수 있다. 보조 전원 장치(1230)는 전원 커넥터(1002)를 통해 호스트(1100)와 연결된다. 보조 전원 장치(1230)는 호스트(1100)로부터 전원(PWR)을 입력 받고, 충전할 수 있다. 보조 전원 장치(1230)는 호스트(1100)로부터의 전원 공급이 원활하지 않을 경우, SSD(1200)의 전원을 제공할 수 있다. 버퍼 메모리(1240)는 SSD(1200)의 버퍼 메모리로 동작한다.The SSD controller (1210) can control a plurality of flash memories (1221 to 122n) in response to a signal (SIG) received from the host (1100). The plurality of flash memories (1221 to 122n) can operate under the control of the SSD controller (1210). The auxiliary power supply unit (1230) is connected to the host (1100) through the power connector (1002). The auxiliary power supply unit (1230) can receive power (PWR) from the host (1100) and charge it. The auxiliary power supply unit (1230) can provide power to the SSD (1200) when the power supply from the host (1100) is not smooth. The buffer memory (1240) operates as a buffer memory of the SSD (1200).

SSD 컨트롤러(1210)는 호스트(1100)로부터 디버깅 데이터 요청을 수신하고, 복수의 플래시 메모리들(1221~122n)로 디버깅 데이터 요청을 전달할 수 있다. 디버깅 회로는 불휘발성 메모리에 대한 디버깅 데이터를 생성하고, 생성된 디버깅 데이터를 SSD 컨트롤러(1210)로 출력할 수 있다. 호스트(1100)는 SSD 컨트롤러(1210)로부터 디버깅 데이터를 수신하여 SSD 컨트롤러(1210)와 복수의 플래시 메모리들(1221~122n) 사이의 문제가 발생한지 여부를 확인할 수 있다.The SSD controller (1210) can receive a debugging data request from the host (1100) and transmit the debugging data request to a plurality of flash memories (1221 to 122n). The debugging circuit can generate debugging data for non-volatile memory and output the generated debugging data to the SSD controller (1210). The host (1100) can receive the debugging data from the SSD controller (1210) and check whether a problem has occurred between the SSD controller (1210) and the plurality of flash memories (1221 to 122n).

본 개시의 실시 예에 따른 복수의 플래시 메모리들(1221~122n) 각각은 약한 패턴 검출 동작 및 인코딩 동작을 수행하여, 약한 패턴을 제거할 수 있다. 이에 따라, 불휘발성 메모리 및 스토리지 장치는 신뢰성 및 수명이 향상될 수 있다. Each of the plurality of flash memories (1221 to 122n) according to an embodiment of the present disclosure can perform a weak pattern detection operation and an encoding operation to remove a weak pattern. Accordingly, the reliability and lifespan of the nonvolatile memory and storage device can be improved.

도 17은 본 발명의 실시 예에 따른 메모리 장치(500)를 설명하기 위한 도면이다. FIG. 17 is a drawing for explaining a memory device (500) according to an embodiment of the present invention.

도 17를 참조하면, 메모리 장치(500)는 C2C(chip to chip) 구조일 수 있다. 여기서, C2C 구조는 셀 영역(CELL)을 포함하는 적어도 하나의 상부 칩과 주변 회로 영역(PERI)을 포함하는 하부 칩을 각각 제작한 후, 상기 적어도 하나의 상부 칩과 상기 하부 칩을 본딩(bonding) 방식에 의해 서로 연결하는 것을 의미할 수 있다. 일 예로, 상기 본딩 방식은 상부 칩의 최상부 메탈층에 형성된 본딩 메탈 패턴과 하부 칩의 최상부 메탈층에 형성된 본딩 메탈 패턴을 서로 전기적으로 또는 물리적으로 연결하는 방식을 의미할 수 있다. 예를 들어, 상기 본딩 메탈 패턴들이 구리(Cu)로 형성된 경우, 상기 본딩 방식은 Cu-Cu 본딩 방식일 수 있다. 다른 예로, 상기 본딩 메탈 패턴들은 알루미늄(Al) 혹은 텅스텐(W)으로도 형성될 수 있다. Referring to FIG. 17, the memory device (500) may have a C2C (chip to chip) structure. Here, the C2C structure may mean that at least one upper chip including a cell region (CELL) and a lower chip including a peripheral circuit region (PERI) are manufactured, and then the at least one upper chip and the lower chip are connected to each other by a bonding method. For example, the bonding method may mean a method of electrically or physically connecting a bonding metal pattern formed on an uppermost metal layer of the upper chip and a bonding metal pattern formed on an uppermost metal layer of the lower chip. For example, when the bonding metal patterns are formed of copper (Cu), the bonding method may be a Cu-Cu bonding method. As another example, the bonding metal patterns may also be formed of aluminum (Al) or tungsten (W).

메모리 장치(500)는 셀 영역을 포함하는 상부 칩을 적어도 하나 이상 포함할 수 있다. 예를 들어, 도 17에 도시된 바와 같이, 메모리 장치(500)는 두 개의 상부 칩들을 포함하도록 구현될 수 있다. 다만, 이는 예시적인 것이며, 상부 칩의 개수는 이에 제한되지 않는다. 메모리 장치(500)가 두 개의 상부 칩들을 포함하도록 구현되는 경우, 제1 셀 영역(CELL1)을 포함하는 제1 상부 칩, 제2 셀 영역(CELL2)을 포함하는 제2 상부 칩 및 주변 회로 영역(PERI)을 포함하는 하부 칩을 각각 제조한 후에, 상기 제1 상부 칩, 제2 상부 칩 및 하부 칩을 본딩 방식에 의해 서로 연결함으로써 메모리 장치(500)가 제조될 수 있다. 제1 상부 칩은 반전(反轉)하여 하부 칩에 본딩 방식으로 연결될 수 있고, 제2 상부 칩도 반전하여 제1 상부 칩에 본딩 방식으로 연결될 수 있다. 이하의 설명에서는, 제1 상부 칩 및 제2 상부 칩이 반전되기 전을 기준으로 제1 및 제2 상부 칩들의 상부와 하부가 정의된다. 즉, 도 17에서 하부 칩의 상부는 +Z축 방향을 기준으로 정의된 상부를 의미하고, 제1 및 제2 상부 칩들 각각의 상부는 -Z축 방향을 기준으로 정의된 상부를 의미한다. 다만 이는 예시적인 것이며, 제1 상부 칩 및 제2 상부 칩 중 어느 하나만이 반전되어 본딩 방식으로 연결될 수도 있다.The memory device (500) may include at least one upper chip including a cell region. For example, as illustrated in FIG. 17, the memory device (500) may be implemented to include two upper chips. However, this is exemplary, and the number of upper chips is not limited thereto. When the memory device (500) is implemented to include two upper chips, a first upper chip including a first cell region (CELL1), a second upper chip including a second cell region (CELL2), and a lower chip including a peripheral circuit region (PERI) are manufactured, respectively, and then the memory device (500) may be manufactured by connecting the first upper chip, the second upper chip, and the lower chip to each other by a bonding method. The first upper chip may be inverted and connected to the lower chip by a bonding method, and the second upper chip may also be inverted and connected to the first upper chip by a bonding method. In the following description, the upper and lower portions of the first and second upper chips are defined based on a time before the first upper chip and the second upper chip are inverted. That is, in FIG. 17, the upper portion of the lower chip means the upper portion defined based on the +Z-axis direction, and the upper portions of each of the first and second upper chips mean the upper portions defined based on the -Z-axis direction. However, this is merely exemplary, and only one of the first upper chip and the second upper chip may be inverted and connected by a bonding method.

메모리 장치(500)의 주변 회로 영역(PERI)과 제1 및 제2 셀 영역(CELL1, CELL2) 각각은 외부 패드 본딩 영역(PA), 워드 라인 본딩 영역(WLBA), 및 비트라인 본딩 영역(BLBA)을 포함할 수 있다. Each of the peripheral circuit area (PERI) and the first and second cell areas (CELL1, CELL2) of the memory device (500) may include an external pad bonding area (PA), a word line bonding area (WLBA), and a bit line bonding area (BLBA).

주변 회로 영역(PERI)은 제1 기판(210) 및 제1 기판(210)에 형성되는 복수의 회로 소자들(220a, 220b, 220c)을 포함할 수 있다. 복수의 회로 소자들(220a, 220b, 220c) 상에는 하나 또는 그 이상의 절연층들을 포함하는 층간 절연층(215)이 제공될 수 있으며, 상기 층간 절연층(215) 내에는 상기 복수의 회로 소자들(220a, 220b, 220c)을 연결하는 복수의 메탈 배선들이 제공될 수 있다. 예를 들어, 상기 복수의 메탈 배선들은 복수의 회로 소자들(220a, 220b, 220c) 각각과 연결되는 제1 메탈 배선(230a, 230b, 230c), 제1 메탈 배선(230a, 230b, 230c) 상에 형성되는 제2 메탈 배선(240a, 240b, 240c)을 포함할 수 있다. 상기 복수의 메탈 배선들은 다양한 도전성 재료들 중 적어도 하나로 이루어질 수 있다. 예를 들어, 제1 메탈 배선(230a, 230b, 230c)은 상대적으로 전기적 비저항이 높은 텅스텐으로 형성될 수 있고, 제2 메탈 배선(240a, 240b, 240c)은 상대적으로 전기적 비저항이 낮은 구리로 형성될 수 있다. The peripheral circuit area (PERI) may include a first substrate (210) and a plurality of circuit elements (220a, 220b, 220c) formed on the first substrate (210). An interlayer insulating layer (215) including one or more insulating layers may be provided on the plurality of circuit elements (220a, 220b, 220c), and a plurality of metal wires connecting the plurality of circuit elements (220a, 220b, 220c) may be provided within the interlayer insulating layer (215). For example, the plurality of metal wires may include first metal wires (230a, 230b, 230c) each connected to a plurality of circuit elements (220a, 220b, 220c), and second metal wires (240a, 240b, 240c) formed on the first metal wires (230a, 230b, 230c). The plurality of metal wires may be formed of at least one of various conductive materials. For example, the first metal wires (230a, 230b, 230c) may be formed of tungsten having relatively high electrical resistivity, and the second metal wires (240a, 240b, 240c) may be formed of copper having relatively low electrical resistivity.

본 명세서에서는 제1 메탈 배선(230a, 230b, 230c)과 제2 메탈 배선(240a, 240b, 240c)만 도시 되고 설명되나, 이에 한정되는 것은 아니고, 제2 메탈 배선(240a, 240b, 240c) 상에 적어도 하나 이상의 추가 메탈 배선이 더 형성될 수도 있다. 이 경우, 제2 메탈 배선(240a, 240b, 240c)은 알루미늄으로 형성될 수 있다. 그리고, 제2 메탈 배선(240a, 240b, 240c) 상에 형성된 추가 메탈 배선 중 적어도 일부는, 제2 메탈 배선(240a, 240b, 240c)의 알루미늄보다 더 낮은 전기적 비저항을 갖는 구리 등으로 형성될 수 있다. In this specification, only the first metal wiring (230a, 230b, 230c) and the second metal wiring (240a, 240b, 240c) are illustrated and described, but are not limited thereto, and at least one additional metal wiring may be further formed on the second metal wiring (240a, 240b, 240c). In this case, the second metal wiring (240a, 240b, 240c) may be formed of aluminum. In addition, at least some of the additional metal wirings formed on the second metal wiring (240a, 240b, 240c) may be formed of copper or the like having lower electrical resistivity than the aluminum of the second metal wiring (240a, 240b, 240c).

층간 절연층(215)은 제1 기판(210) 상에 배치되며, 실리콘 산화물, 실리콘 질화물 등과 같은 절연 물질을 포함할 수 있다.The interlayer insulating layer (215) is disposed on the first substrate (210) and may include an insulating material such as silicon oxide, silicon nitride, etc.

제1 및 제2 셀 영역(CELL1, CELL2)은 각각 적어도 하나의 메모리 블록을 포함할 수 있다. 제1 셀 영역(CELL1)은 제2 기판(310)과 공통 소스 라인(320)을 포함할 수 있다. 제2 기판(310) 상에는, 제2 기판(310)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드 라인들(331-338; 330)이 적층될 수 있다. 워드 라인들(330)의 상부 및 하부에는 스트링 선택 라인들과 접지 선택 라인이 배치될 수 있으며, 스트링 선택 라인들과 접지 선택 라인 사이에 복수의 워드 라인들(330)이 배치될 수 있다. 마찬가지로, 제2 셀 영역(CELL2)은 제3 기판(410)과 공통 소스 라인(420)을 포함하며, 제3 기판(410)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드 라인들(431-438: 430)이 적층될 수 있다. 제2 기판(310) 및 제3 기판(410)은, 다양한 재료로 이루어질 수 있으며, 예를 들어, 실리콘 기판, 실리콘-게르마늄 기판, 게르마늄 기판, 또는 단결정(monocrystalline) 실리콘 기판에 성장된 단결정 에피택시얼층(epitaxial layer)을 갖는 기판일 수 있다. 제1 및 제2 셀 영역(CELL1, CELL2) 각각에는 복수의 채널 구조체(CH)들이 형성될 수 있다. The first and second cell regions (CELL1, CELL2) may each include at least one memory block. The first cell region (CELL1) may include a second substrate (310) and a common source line (320). On the second substrate (310), a plurality of word lines (331-338; 330) may be stacked along a direction perpendicular to an upper surface of the second substrate (Z-axis direction) of the second substrate (310). String selection lines and ground selection lines may be arranged above and below the word lines (330), and a plurality of word lines (330) may be arranged between the string selection lines and the ground selection line. Similarly, the second cell region (CELL2) includes a third substrate (410) and a common source line (420), and a plurality of word lines (431-438: 430) may be stacked along a direction perpendicular to an upper surface of the third substrate (Z-axis direction) of the third substrate (410). The second substrate (310) and the third substrate (410) may be made of various materials, and may be, for example, a silicon substrate, a silicon-germanium substrate, a germanium substrate, or a substrate having a single-crystal epitaxial layer grown on a monocrystalline silicon substrate. A plurality of channel structures (CH) may be formed in each of the first and second cell regions (CELL1, CELL2).

일 실시 예에 있어서, A1에 도시된 바와 같이, 채널 구조체(CH)는 비트라인 본딩 영역(BLBA)에 제공되며, 제2 기판(310)의 상면에 수직하는 방향으로 연장되어 워드 라인들(330), 스트링 선택 라인들, 및 접지 선택 라인을 관통할 수 있다. 채널 구조체(CH)는 데이터 저장층, 채널층, 및 매립 절연층 등을 포함할 수 있다. 채널층은 비트라인 본딩 영역(BLBA)에서 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 예를 들어, 제2 메탈 배선(360c)은 비트라인일 수 있으며, 상기 제1 메탈 배선(350c)을 통해 상기 채널 구조체(CH)에 연결될 수 있다. 비트라인(360c)은 제2 기판(310)의 상면에 평행한 제1 방향(Y축 방향)을 따라 연장될 수 있다. In one embodiment, as illustrated in A1, a channel structure (CH) is provided in a bit line bonding area (BLBA) and may extend in a direction perpendicular to a top surface of a second substrate (310) to penetrate word lines (330), string selection lines, and ground selection lines. The channel structure (CH) may include a data storage layer, a channel layer, and a buried insulating layer, etc. The channel layer may be electrically connected to a first metal wiring (350c) and a second metal wiring (360c) in the bit line bonding area (BLBA). For example, the second metal wiring (360c) may be a bit line and may be connected to the channel structure (CH) through the first metal wiring (350c). The bit line (360c) may extend along a first direction (Y-axis direction) parallel to a top surface of the second substrate (310).

일 실시 예에 있어서, A2에 도시된 바와 같이, 채널 구조체(CH)는 서로 연결된 하부 채널(LCH) 및 상부 채널(UCH)을 포함할 수도 있다. 예를 들어, 채널 구조체(CH)는 하부 채널(LCH)에 대한 공정 및 상부 채널(UCH)에 대한 공정을 통해 형성될 수 있다. 하부 채널(LCH)은 제2 기판(310)의 상면에 수직하는 방향으로 연장되어 공통 소스 라인(320) 및 하부 워드 라인들(331, 332)을 관통할 수 있다. 하부 채널(LCH)은 데이터 저장층, 채널층 및 매립 절연층 등을 포함할 수 있고, 상부 채널(UCH)과 연결될 수 있다. 상부 채널(UCH)은 상부 워드 라인들(333~338)을 관통할 수 있다. 상부 채널(UCH)은 데이터 저장층, 채널층 및 매립 절연층 등을 포함할 수 있고, 상부 채널(UCH)의 채널층은 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 채널의 길이가 길어질수록 공정 상의 이유로 인해 일정한 폭을 갖는 채널을 형성하는 것은 어려워질 수 있다. 본 발명의 실시 예에 따른 메모리 장치(500)는 순차적인 공정으로 형성되는 하부 채널(LCH)과 상부 채널(UCH)을 통해 개선된 폭 균일성을 갖는 채널을 구비할 수 있다. In one embodiment, as illustrated in A2, the channel structure (CH) may include a lower channel (LCH) and an upper channel (UCH) that are connected to each other. For example, the channel structure (CH) may be formed through a process for the lower channel (LCH) and a process for the upper channel (UCH). The lower channel (LCH) may extend in a direction perpendicular to the upper surface of the second substrate (310) and may penetrate the common source line (320) and the lower word lines (331, 332). The lower channel (LCH) may include a data storage layer, a channel layer, a buried insulating layer, and the like, and may be connected to the upper channel (UCH). The upper channel (UCH) may penetrate the upper word lines (333 to 338). The upper channel (UCH) may include a data storage layer, a channel layer, and a buried insulating layer, and the channel layer of the upper channel (UCH) may be electrically connected to the first metal wiring (350c) and the second metal wiring (360c). As the length of the channel increases, it may become difficult to form a channel having a constant width due to process reasons. The memory device (500) according to an embodiment of the present invention may have a channel having improved width uniformity through the lower channel (LCH) and the upper channel (UCH) formed through a sequential process.

A2에 도시된 바와 같이 채널 구조체(CH)가 하부 채널(LCH) 및 상부 채널(UCH)을 포함하도록 형성된 경우, 하부 채널(LCH) 및 상부 채널(UCH)의 경계 부근에 위치하는 워드 라인은 더미 워드 라인일 수 있다. 예를 들어, 하부 채널(LCH) 및 상부 채널(UCH)의 경계를 형성하는 워드 라인(332) 및 워드 라인(333)은 더미 워드 라인일 수 있다. 이 경우, 더미 워드 라인에 연결된 메모리 셀들에는 데이터가 저장되지 않을 수 있다. 또는, 더미 워드 라인에 연결된 메모리 셀들에 대응하는 페이지들(page)의 개수는 일반적인 워드 라인에 연결된 메모리 셀들에 대응하는 페이지들의 개수보다 적을 수 있다. 더미 워드 라인에 인가되는 전압 레벨은 일반적인 워드 라인에 인가되는 전압 레벨과 다를 수 있으며, 이에 따라 하부 채널(LCH)과 상부 채널(UCH) 간의 불균일한 채널 폭이 메모리 장치의 동작에 미치는 영향을 감소시킬 수 있다.When the channel structure (CH) is formed to include a lower channel (LCH) and an upper channel (UCH) as illustrated in A2, a word line located near a boundary between the lower channel (LCH) and the upper channel (UCH) may be a dummy word line. For example, the word line (332) and the word line (333) forming the boundary between the lower channel (LCH) and the upper channel (UCH) may be a dummy word line. In this case, data may not be stored in memory cells connected to the dummy word line. Alternatively, the number of pages corresponding to the memory cells connected to the dummy word line may be less than the number of pages corresponding to the memory cells connected to the general word line. A voltage level applied to the dummy word line may be different from a voltage level applied to a general word line, and thus, an impact of an uneven channel width between the lower channel (LCH) and the upper channel (UCH) on the operation of the memory device may be reduced.

한편, A2에서, 하부 채널(LCH)이 관통하는 하부 워드 라인들(331, 332)의 개수가 상부 채널(UCH)이 관통하는 상부 워드 라인들(333~338)의 개수보다 적은 것으로 도시되어 있다. 다만, 이는 예시적인 것이며, 본 발명은 이에 제한되지 않는다. 다른 예로, 하부 채널(LCH)을 관통하는 하부 워드 라인들의 개수가 상부 채널(UCH)이 관통하는 상부 워드 라인들의 개수와 동일하거나 더 많도록 형성될 수도 있다. 또한, 이상에서 설명된 제1 셀 영역(CELL1)에 배치된 채널 구조체(CH)의 구조 및 연결 관계는 제2 셀 영역(CELL2)에 배치된 채널 구조체(CH)에도 동일하게 적용될 수 있다.Meanwhile, in A2, the number of lower word lines (331, 332) through which the lower channel (LCH) penetrates is illustrated as being less than the number of upper word lines (333 to 338) through which the upper channel (UCH) penetrates. However, this is exemplary and the present invention is not limited thereto. As another example, the number of lower word lines through which the lower channel (LCH) penetrates may be formed to be equal to or greater than the number of upper word lines through which the upper channel (UCH) penetrates. In addition, the structure and connection relationship of the channel structure (CH) arranged in the first cell region (CELL1) described above may be equally applied to the channel structure (CH) arranged in the second cell region (CELL2).

비트라인 본딩 영역(BLBA)에서, 제1 셀 영역(CELL1)에는 제1 관통 전극(THV1)이 제공되고, 제2 셀 영역(CELL2)에는 제2 관통 전극(THV2)이 제공될 수 있다. 도 17에 도시된 바와 같이, 제1 관통 전극(THV1)은 공통 소스 라인(320) 및 복수의 워드 라인들(330)을 관통할 수 있다. 다만, 이는 예시적인 것이며, 제1 관통 전극(THV1)은 제2 기판(310)을 더 관통할 수도 있다. 제1 관통 전극(THV1)은 전도성 물질을 포함할 수 있다. 또는, 제1 관통 전극(THV1)은 절연 물질로 둘러 쌓인 전도성 물질을 포함할 수 있다. 제2 관통 전극(THV2)도 제1 관통 전극(THV1)과 동일한 형태 및 구조로 제공될 수 있다. In the bit line bonding area (BLBA), a first through electrode (THV1) may be provided in the first cell area (CELL1), and a second through electrode (THV2) may be provided in the second cell area (CELL2). As illustrated in FIG. 17, the first through electrode (THV1) may penetrate the common source line (320) and the plurality of word lines (330). However, this is exemplary, and the first through electrode (THV1) may further penetrate the second substrate (310). The first through electrode (THV1) may include a conductive material. Alternatively, the first through electrode (THV1) may include a conductive material surrounded by an insulating material. The second through electrode (THV2) may also be provided with the same shape and structure as the first through electrode (THV1).

일 실시 예에 있어서, 제1 관통 전극(THV1)과 제2 관통 전극(THV2)은 제1 관통 메탈 패턴(372d) 및 제2 관통 메탈 패턴(472d)을 통해 전기적으로 연결될 수 있다. 제1 관통 메탈 패턴(372d)은 제1 셀 영역(CELL1)을 포함하는 제1 상부 칩의 하단에 형성될 수 있고, 제2 관통 메탈 패턴(472d)은 제2 셀 영역(CELL2)을 포함하는 제2 상부 칩의 상단에 형성될 수 있다. 제1 관통 전극(THV1)은 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 제1 관통 전극(THV1)과 제1 관통 메탈 패턴(372d) 사이에 하부 비아(371d)가 형성될 수 있고, 제2 관통 전극(THV2)과 제2 관통 메탈 패턴(472d) 사이에 상부 비아(471d)가 형성될 수 있다. 제1 관통 메탈 패턴(372d)과 제2 관통 메탈 패턴(472d)은 본딩 방식으로 연결될 수 있다.In one embodiment, the first through-electrode (THV1) and the second through-electrode (THV2) may be electrically connected through the first through-metal pattern (372d) and the second through-metal pattern (472d). The first through-metal pattern (372d) may be formed at a lower end of the first upper chip including the first cell region (CELL1), and the second through-metal pattern (472d) may be formed at an upper end of the second upper chip including the second cell region (CELL2). The first through-electrode (THV1) may be electrically connected to the first metal wiring (350c) and the second metal wiring (360c). A lower via (371d) may be formed between the first through-electrode (THV1) and the first through-metal pattern (372d), and an upper via (471d) may be formed between the second through-electrode (THV2) and the second through-metal pattern (472d). The first through-hole metal pattern (372d) and the second through-hole metal pattern (472d) can be connected by a bonding method.

또한, 비트라인 본딩 영역(BLBA)에서, 주변 회로 영역(PERI)의 최상부 메탈층에는 상부 메탈 패턴(252)이 형성되고, 제1 셀 영역(CELL1)의 최상부 메탈층에는 상기 상부 메탈 패턴(252)과 동일한 형태의 상부 메탈 패턴(392)이 형성될 수 있다. 제1 셀 영역(CELL1)의 상부 메탈 패턴(392)과 주변 회로 영역(PERI)의 상부 메탈 패턴(252)은 본딩 방식에 의해 서로 전기적으로 연결될 수 있다. 비트라인 본딩 영역(BLBA)에서, 비트 라인(360c)은 주변 회로 영역(PERI)에 포함된 페이지 버퍼와 전기적으로 연결될 수 있다. 예를 들어, 주변 회로 영역(PERI)의 회로 소자들(220c) 중 일부는 페이지 버퍼를 제공할 수 있으며, 비트라인(360c)은 제1 셀 영역(CELL1)의 상부 본딩 메탈(370c)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270c)을 통하여 페이지 버퍼를 제공하는 회로 소자들(220c)과 전기적으로 연결될 수 있다.In addition, in the bit line bonding area (BLBA), an upper metal pattern (252) may be formed on the uppermost metal layer of the peripheral circuit area (PERI), and an upper metal pattern (392) having the same shape as the upper metal pattern (252) may be formed on the uppermost metal layer of the first cell area (CELL1). The upper metal pattern (392) of the first cell area (CELL1) and the upper metal pattern (252) of the peripheral circuit area (PERI) may be electrically connected to each other by a bonding method. In the bit line bonding area (BLBA), the bit line (360c) may be electrically connected to a page buffer included in the peripheral circuit area (PERI). For example, some of the circuit elements (220c) of the peripheral circuit area (PERI) may provide a page buffer, and the bit line (360c) may be electrically connected to the circuit elements (220c) providing the page buffer through the upper bonding metal (370c) of the first cell area (CELL1) and the upper bonding metal (270c) of the peripheral circuit area (PERI).

계속해서, 도 17를 참조하면, 워드 라인 본딩 영역(WLBA)에서, 제1 셀 영역(CELL1)의 워드 라인들(330)은 제2 기판(310)의 상면에 평행한 제2 방향(X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(341-347; 340)과 연결될 수 있다. 워드 라인들(330)에 연결되는 셀 컨택 플러그들(340)의 상부에는 제1 메탈 배선(350b)과 제2 메탈 배선(360b)이 차례로 연결될 수 있다. 셀 컨택 플러그들(340)은 워드 라인 본딩 영역(WLBA)에서 제1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)을 통해 주변 회로 영역(PERI)과 연결될 수 있다. Continuing, with reference to FIG. 17, in the word line bonding area (WLBA), the word lines (330) of the first cell area (CELL1) may extend along a second direction (X-axis direction) parallel to the upper surface of the second substrate (310) and may be connected to a plurality of cell contact plugs (341-347; 340). A first metal wiring (350b) and a second metal wiring (360b) may be sequentially connected to upper portions of the cell contact plugs (340) connected to the word lines (330). The cell contact plugs (340) may be connected to the peripheral circuit area (PERI) through the upper bonding metal (370b) of the first cell area (CELL1) and the upper bonding metal (270b) of the peripheral circuit area (PERI) in the word line bonding area (WLBA).

셀 컨택 플러그들(340)은 주변 회로 영역(PERI)에 포함된 로우 디코더와 전기적으로 연결될 수 있다. 예를 들어, 주변 회로 영역(PERI)의 회로 소자들(220b) 중 일부는 로우 디코더를 제공하며, 셀 컨택 플러그들(340)은 제1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)을 통해 로우 디코더를 제공하는 회로 소자들(220b)과 전기적으로 연결될 수 있다. 일 실시예에서, 로우 디코더를 제공하는 회로 소자들(220b)의 동작 전압은, 페이지 버퍼를 제공하는 회로 소자들(220c)의 동작 전압과 다를 수 있다. 예를 들어, 페이지 버퍼를 제공하는 회로 소자들(220c)의 동작 전압이 로우 디코더를 제공하는 회로 소자들(220b)의 동작 전압보다 클 수 있다. The cell contact plugs (340) may be electrically connected to a row decoder included in the peripheral circuit area (PERI). For example, some of the circuit elements (220b) of the peripheral circuit area (PERI) provide a row decoder, and the cell contact plugs (340) may be electrically connected to the circuit elements (220b) providing the row decoder through the upper bonding metal (370b) of the first cell area (CELL1) and the upper bonding metal (270b) of the peripheral circuit area (PERI). In one embodiment, the operating voltage of the circuit elements (220b) providing the row decoder may be different from the operating voltage of the circuit elements (220c) providing the page buffer. For example, the operating voltage of the circuit elements (220c) providing the page buffer may be higher than the operating voltage of the circuit elements (220b) providing the row decoder.

마찬가지로, 워드 라인 본딩 영역(WLBA)에서, 제2 셀 영역(CELL2)의 워드 라인들(430)은 제3 기판(410)의 상면에 평행한 제2 방향(X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(441-447; 440)과 연결될 수 있다. 셀 컨택 플러그들(440)은 제2 셀 영역(CELL2)의 상부 메탈 패턴, 제1 셀 영역(CELL1)의 하부 메탈 패턴 및 상부 메탈 패턴, 그리고 셀 컨택 플러그(348)를 통하여 주변 회로 영역(PERI)과 연결될 수 있다. Similarly, in the word line bonding area (WLBA), the word lines (430) of the second cell area (CELL2) may extend along a second direction (X-axis direction) parallel to the upper surface of the third substrate (410) and may be connected to a plurality of cell contact plugs (441-447; 440). The cell contact plugs (440) may be connected to the peripheral circuit area (PERI) through the upper metal pattern of the second cell area (CELL2), the lower metal pattern and the upper metal pattern of the first cell area (CELL1), and the cell contact plug (348).

워드 라인 본딩 영역(WLBA)에서, 제1 셀 영역(CELL1)에는 상부 본딩 메탈(370b)이 형성되고, 주변 회로 영역(PERI)에는 상부 본딩 메탈(270b)이 형성될 수 있다. 1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)은 본딩 방식에 의해 서로 전기적으로 연결될 수 있다. 상부 본딩 메탈(370b)과 상부 본딩 메탈(270b)은 알루미늄, 구리 또는 텅스텐 등으로 형성될 수 있다. In the word line bonding area (WLBA), an upper bonding metal (370b) may be formed in the first cell area (CELL1), and an upper bonding metal (270b) may be formed in the peripheral circuit area (PERI). The upper bonding metal (370b) of the cell area (CELL1) and the upper bonding metal (270b) of the peripheral circuit area (PERI) may be electrically connected to each other by a bonding method. The upper bonding metal (370b) and the upper bonding metal (270b) may be formed of aluminum, copper, tungsten, or the like.

외부 패드 본딩 영역(PA)에서, 제1 셀 영역(CELL1)의 하부에는 하부 메탈 패턴(371e)이 형성될 수 있고, 제2 셀 영역(CELL2)의 상부에는 상부 메탈 패턴(472a)이 형성될 수 있다. 제1 셀 영역(CELL1)의 하부 메탈 패턴(371e) 및 제2 셀 영역(CELL2)의 상부 메탈 패턴(472a)은, 외부 패드 본딩 영역(PA)에서 본딩 방식에 의해 연결될 수 있다. 마찬가지로, 제1 셀 영역(CELL1)의 상부에는 상부 메탈 패턴(372a)이 형성될 수 있고, 주변 회로 영역(PERI)의 상부에는 상부 메탈 패턴(272a)가 형성될 수 있다. 제1 셀 영역(CELL1)의 상부 메탈 패턴(372a) 및 주변 회로 영역(PERI)의 상부 메탈 패턴(272a)은 본딩 방식에 의해 연결될 수 있다.In the external pad bonding area (PA), a lower metal pattern (371e) may be formed on a lower portion of the first cell area (CELL1), and an upper metal pattern (472a) may be formed on an upper portion of the second cell area (CELL2). The lower metal pattern (371e) of the first cell area (CELL1) and the upper metal pattern (472a) of the second cell area (CELL2) may be connected by a bonding method in the external pad bonding area (PA). Similarly, the upper metal pattern (372a) may be formed on an upper portion of the first cell area (CELL1), and the upper metal pattern (272a) may be formed on an upper portion of the peripheral circuit area (PERI). The upper metal pattern (372a) of the first cell area (CELL1) and the upper metal pattern (272a) of the peripheral circuit area (PERI) may be connected by a bonding method.

외부 패드 본딩 영역(PA)에는 공통 소스 라인 컨택 플러그들(380, 480)이 배치될 수 있다. 공통 소스 라인 컨택 플러그들(380, 480)은 금속, 금속 화합물, 또는 도핑된 폴리실리콘 등의 도전성 물질로 형성될 수 있다. 제1 셀 영역(CELL1)의 공통 소스 라인 컨택 플러그(380)는 공통 소스 라인(320)과 전기적으로 연결되고, 제2 셀 영역(CELL2)의 공통 소스 라인 컨택 플러그(480)는 공통 소스 라인(420)과 전기적으로 연결될 수 있다. 제1 셀 영역(CELL1)의 공통 소스 라인 컨택 플러그(380) 상부에는 제1 메탈 배선(350a)과 제2 메탈 배선(360a)이 차례로 적층되고, 제2 셀 영역(CELL2)의 공통 소스 라인 컨택 플러그(480) 상부에는 제1 메탈 배선(450a)과 제2 메탈 배선(460a)이 차례로 적층될 수 있다. Common source line contact plugs (380, 480) may be arranged in the external pad bonding area (PA). The common source line contact plugs (380, 480) may be formed of a conductive material such as a metal, a metal compound, or doped polysilicon. The common source line contact plug (380) of the first cell region (CELL1) may be electrically connected to the common source line (320), and the common source line contact plug (480) of the second cell region (CELL2) may be electrically connected to the common source line (420). A first metal wiring (350a) and a second metal wiring (360a) may be sequentially stacked on top of a common source line contact plug (380) of a first cell region (CELL1), and a first metal wiring (450a) and a second metal wiring (460a) may be sequentially stacked on top of a common source line contact plug (480) of a second cell region (CELL2).

외부 패드 본딩 영역(PA)에는 입출력 패드들(205, 405, 406)이 배치될 수 있다. 도 17를 참조하면, 하부 절연막(201)이 제1 기판(210)의 하면을 덮을 수 있으며, 하부 절연막(201) 상에 제1 입출력 패드(205)가 형성될 수 있다. 제1 입출력 패드(205)는 제1 입출력 컨택 플러그(203)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결되며, 하부 절연막(201)에 의해 제1 기판(210)과 분리될 수 있다. 또한, 제1 입출력 컨택 플러그(203)와 제1 기판(210) 사이에는 측면 절연막이 배치되어 제1 입출력 컨택 플러그(203)와 제1 기판(210)을 전기적으로 분리할 수 있다.Input/output pads (205, 405, 406) may be arranged in the external pad bonding area (PA). Referring to FIG. 17, a lower insulating film (201) may cover a lower surface of a first substrate (210), and a first input/output pad (205) may be formed on the lower insulating film (201). The first input/output pad (205) is connected to at least one of a plurality of circuit elements (220a) arranged in a peripheral circuit area (PERI) through a first input/output contact plug (203), and may be separated from the first substrate (210) by the lower insulating film (201). In addition, a side insulating film may be arranged between the first input/output contact plug (203) and the first substrate (210) to electrically separate the first input/output contact plug (203) and the first substrate (210).

제3 기판(410)의 상부에는 제3 기판(410)의 상면을 덮는 상부 절연막(401)이 형성될 수 있다. 상부 절연막(401) 상에는 제2 입출력 패드(405) 및/ 또는 제3 입출력 패드(406)가 배치될 수 있다. 제2 입출력 패드(405)는 제2 입출력 컨택 플러그들(403, 303)을 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결되고, 제3 입출력 패드(406)는 제3 입출력 컨택 플러그들(404, 304)을 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결될 수 있다.An upper insulating film (401) covering an upper surface of the third substrate (410) may be formed on an upper portion of the third substrate (410). A second input/output pad (405) and/or a third input/output pad (406) may be arranged on the upper insulating film (401). The second input/output pad (405) may be connected to at least one of a plurality of circuit elements (220a) arranged in a peripheral circuit area (PERI) through second input/output contact plugs (403, 303), and the third input/output pad (406) may be connected to at least one of a plurality of circuit elements (220a) arranged in a peripheral circuit area (PERI) through third input/output contact plugs (404, 304).

일 실시 예에 있어서, 입출력 컨택 플러그가 배치되는 영역에는 제3 기판(410)이 배치되지 않을 수 있다. 예를 들어, B에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 기판(410)의 상면에 평행한 방향에서 제3 기판(410)과 분리되며, 제2 셀 영역(CELL2)의 층간 절연층(415)을 관통하여 제3 입출력 패드(406)에 연결될 수 있다. 이 경우, 제3 입출력 컨택 플러그(404)는 다양한 공정으로 형성될 수 있다.In one embodiment, the third substrate (410) may not be disposed in the area where the input/output contact plug is disposed. For example, as illustrated in B, the third input/output contact plug (404) may be separated from the third substrate (410) in a direction parallel to the upper surface of the third substrate (410) and may be connected to the third input/output pad (406) by penetrating the interlayer insulating layer (415) of the second cell area (CELL2). In this case, the third input/output contact plug (404) may be formed by various processes.

예시적으로, B1에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 방향(Z축 방향)으로 연장되며, 상부 절연막(401)으로 갈수록 직경이 커지도록 형성될 수 있다. 즉, A1에서 설명된 채널 구조체(CH)의 직경은 상부 절연막(401)으로 갈수록 작아지도록 형성됨에 반하여, 제3 입출력 컨택 플러그(404)의 직경은 상부 절연막(401)으로 갈수록 커지도록 형성될 수 있다. 예를 들어, 제3 입출력 컨택 플러그(404)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)이 본딩 방식으로 결합된 후에 형성될 수 있다.For example, as illustrated in B1, the third input/output contact plug (404) may be formed to extend in the third direction (Z-axis direction) and have a diameter that increases as it goes toward the upper insulating film (401). That is, while the diameter of the channel structure (CH) described in A1 is formed to decrease as it goes toward the upper insulating film (401), the diameter of the third input/output contact plug (404) may be formed to increase as it goes toward the upper insulating film (401). For example, the third input/output contact plug (404) may be formed after the second cell region (CELL2) and the first cell region (CELL1) are bonded together.

또한, 예시적으로, B2에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 방향(Z축 방향)으로 연장되며, 상부 절연막(401)으로 갈수록 직경이 작아지도록 형성될 수 있다. 즉, 제3 입출력 컨택 플러그(404)의 직경은 채널 구조체(CH)와 마찬가지로 상부 절연막(401)으로 갈수록 작아지도록 형성될 수 있다. 예를 들어, 제3 입출력 컨택 플러그(404)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 전에 셀 컨택 플러그들(440)과 함께 형성될 수 있다. In addition, as an example, as illustrated in B2, the third input/output contact plug (404) may be formed to extend in the third direction (Z-axis direction) and have a diameter that becomes smaller as it goes toward the upper insulating film (401). That is, the diameter of the third input/output contact plug (404) may be formed to become smaller as it goes toward the upper insulating film (401), similar to the channel structure (CH). For example, the third input/output contact plug (404) may be formed together with the cell contact plugs (440) before bonding of the second cell region (CELL2) and the first cell region (CELL1).

다른 실시 예에 있어서, 입출력 컨택 플러그는 제3 기판(410)과 오버랩 되도록 배치될 수도 있다. 예를 들어, C에 도시된 바와 같이, 제2 입출력 컨택 플러그(403)는 제2 셀 영역(CELL2)의 층간 절연층(415)을 제3 방향(Z축 방향)으로 관통하여 형성되되, 제3 기판(410)을 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다. 이 경우, 제2 입출력 컨택 플러그(403)와 제2 입출력 패드(405)의 연결 구조는 다양한 방식으로 구현될 수 있다.In another embodiment, the input/output contact plug may be arranged to overlap with the third substrate (410). For example, as illustrated in C, the second input/output contact plug (403) may be formed to penetrate the interlayer insulating layer (415) of the second cell region (CELL2) in the third direction (Z-axis direction), and may be electrically connected to the second input/output pad (405) through the third substrate (410). In this case, the connection structure of the second input/output contact plug (403) and the second input/output pad (405) may be implemented in various ways.

예시적으로, C1에 도시된 바와 같이, 제3 기판(410)을 관통하는 개구부(408)가 형성되고, 제2 입출력 컨택 플러그(403)는 제3 기판(410)에 형성된 개구부(408)를 통하여 직접 제2 입출력 패드(405)에 연결될 수 있다. 이 경우, C1에서 도시된 바와 같이, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 커지도록 형성될 수 있다. 다만, 이는 예시적인 것이며, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 작아지도록 형성될 수도 있다.For example, as illustrated in C1, an opening (408) penetrating the third substrate (410) is formed, and the second input/output contact plug (403) can be directly connected to the second input/output pad (405) through the opening (408) formed in the third substrate (410). In this case, as illustrated in C1, the diameter of the second input/output contact plug (403) can be formed to increase as it goes toward the second input/output pad (405). However, this is exemplary, and the diameter of the second input/output contact plug (403) can also be formed to decrease as it goes toward the second input/output pad (405).

예시적으로, C2에 도시된 바와 같이, 제3 기판(410)을 관통하는 개구부(408)가 형성되고, 개구부(408) 내에는 컨택(407)이 형성될 수 있다. 컨택(407)의 일 단부는 제2 입출력 패드(405)에 연결되고, 다른 단부는 제2 입출력 컨택 플러그(403)에 연결될 수 있다. 이에 따라, 제2 입출력 컨택 플러그(403)가 개구부(408) 내의 컨택(407)를 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다. 이 경우, C2에 도시된 바와 같이, 컨택(407)의 직경은 제2 입출력 패드(405)로 갈수록 커지고, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 작아지도록 형성될 수도 있다. 예를 들어, 제3 입출력 컨택 플러그(403)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 전에 셀 컨택 플러그들(440)과 함께 형성되고, 컨택(407)은 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 후에 형성될 수 있다.For example, as illustrated in C2, an opening (408) penetrating the third substrate (410) may be formed, and a contact (407) may be formed within the opening (408). One end of the contact (407) may be connected to the second input/output pad (405), and the other end may be connected to the second input/output contact plug (403). Accordingly, the second input/output contact plug (403) may be electrically connected to the second input/output pad (405) through the contact (407) within the opening (408). In this case, as illustrated in C2, the diameter of the contact (407) may be formed to increase toward the second input/output pad (405), and the diameter of the second input/output contact plug (403) may be formed to decrease toward the second input/output pad (405). For example, the third input/output contact plug (403) may be formed together with the cell contact plugs (440) before the bonding connection between the second cell region (CELL2) and the first cell region (CELL1), and the contact (407) may be formed after the bonding connection between the second cell region (CELL2) and the first cell region (CELL1).

또한, 예시적으로, C3에 도시된 바와 같이, 제3 기판(410)의 개구부(408)의 상면에는 C2에 비하여 스토퍼(stopper, 409)가 더 형성될 수도 있다. 스토퍼(409)는 공통 소스 라인(420)과 동일한 층에 형성된 메탈 배선일 수 있다. 다만, 이는 예시적인 것이며, 스토퍼(409)는 워드 라인들(430) 중 적어도 하나와 동일한 층에 형성된 메탈 배선일 수도 있다. 제2 입출력 컨택 플러그(403)는 컨택(407) 및 스토퍼(409)를 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다.In addition, as an example, as shown in C3, a stopper (409) may be further formed on the upper surface of the opening (408) of the third substrate (410) compared to C2. The stopper (409) may be a metal wiring formed in the same layer as the common source line (420). However, this is an example, and the stopper (409) may be a metal wiring formed in the same layer as at least one of the word lines (430). The second input/output contact plug (403) may be electrically connected to the second input/output pad (405) through the contact (407) and the stopper (409).

한편, 제2 셀 영역(CELL2)의 제2 및 제3 입출력 컨택 플러그(403, 404)와 유사하게, 제1 셀 영역(CELL1)의 제2 및 제3 입출력 컨택 플러그(303, 304)는 각각 하부 메탈 패턴(371e)으로 갈수록 직경이 작아지거나, 또는 하부 메탈 패턴(371e)으로 갈수록 직경이 커지도록 형성될 수 있다. Meanwhile, similarly to the second and third input/output contact plugs (403, 404) of the second cell region (CELL2), the second and third input/output contact plugs (303, 304) of the first cell region (CELL1) may be formed so that their diameters become smaller as they go toward the lower metal pattern (371e), or larger as they go toward the lower metal pattern (371e).

한편, 실시 예들에 따라, 제3 기판(410)에는 슬릿(slit, 411)이 형성될 수 있다. 예를 들어, 슬릿(411)은 외부 패드 본딩 영역(PA)의 임의의 위치에 형성될 수 있다. 일 예로, D에 도시된 바와 같이, 슬릿(411)은 평면에서 봤을 때에 제2 입출력 패드(405)와 셀 컨택 플러그들(440) 사이에 위치할 수 있다. 다만, 이는 예시적인 것이며, 평면에서 봤을 때에, 제2 입출력 패드(405)가 슬릿(411)과 셀 컨택 플러그들(440) 사이에 위치하도록, 슬릿(411)이 형성될 수도 있다. Meanwhile, according to embodiments, a slit (slit, 411) may be formed in the third substrate (410). For example, the slit (411) may be formed at an arbitrary position in the external pad bonding area (PA). For example, as shown in D, the slit (411) may be positioned between the second input/output pad (405) and the cell contact plugs (440) when viewed from a planar view. However, this is exemplary, and the slit (411) may be formed such that the second input/output pad (405) is positioned between the slit (411) and the cell contact plugs (440) when viewed from a planar view.

예시적으로, D1에 도시된 바와 같이, 슬릿(411)은 제3 기판(410)을 관통하도록 형성될 수 있다. 슬릿(411)은, 예를 들어, 개구부(408)를 형성할 때에 제3 기판(410)이 미세하게 갈라지는 것을 방지하는 용도로 사용될 수 있다. 다만, 이는 예시적인 것이며, 슬릿(411)은 제3 기판(410)의 두께에 대해 약 60~70% 정도의 깊이로 형성될 수도 있다.For example, as shown in D1, a slit (411) may be formed to penetrate the third substrate (410). The slit (411) may be used, for example, to prevent the third substrate (410) from being finely cracked when forming the opening (408). However, this is exemplary, and the slit (411) may be formed to a depth of about 60 to 70% of the thickness of the third substrate (410).

또한, 예시적으로, D2에 도시된 바와 같이, 슬릿(411) 내에는 도전 물질(412)이 형성될 수도 있다. 도전 물질(412)은, 예를 들어, 외부 패드 본딩 영역(PA) 내의 회로 소자들의 구동 중에 발생한 누설 전류를 외부로 방전(discharge)하기 위한 용도로 사용될 수 있다. 이 경우, 도전 물질(412)은 외부의 접지 라인에 연결될 수도 있다. In addition, as an example, a conductive material (412) may be formed within the slit (411), as illustrated in D2. The conductive material (412) may be used, for example, to discharge leakage current generated during operation of circuit elements within the external pad bonding area (PA) to the outside. In this case, the conductive material (412) may be connected to an external ground line.

또한, 예시적으로, D3에 도시된 바와 같이, 슬릿(411) 내에는 절연 물질(413)이 형성될 수도 있다. 절연 물질(413)은, 예를 들어, 외부 패드 본딩 영역(PA)에 배치된 제2 입출력 패드(405) 및 제2 입출력 컨택 플러그(403)를 워드 라인 본딩 영역(WLBA)과 전기적으로 분리하기 위하여 형성될 수 있다. 슬릿(411) 내에 절연 물질(413)을 형성함으로써, 제2 입출력 패드(405)를 통하여 제공되는 전압이 워드 라인 본딩 영역(WLBA) 내의 제3 기판(410) 상에 배치된 메탈층에 영향을 미치는 것을 차단할 수 있다.In addition, as an example, as illustrated in D3, an insulating material (413) may be formed within the slit (411). The insulating material (413) may be formed, for example, to electrically isolate the second input/output pad (405) and the second input/output contact plug (403) disposed in the external pad bonding area (PA) from the word line bonding area (WLBA). By forming the insulating material (413) within the slit (411), it is possible to block a voltage provided through the second input/output pad (405) from affecting the metal layer disposed on the third substrate (410) within the word line bonding area (WLBA).

한편, 실시 예들에 따라, 제1 내지 제3 입출력 패드(205, 405, 406)는 선택적으로 형성될 수 있다. 예를 들어, 메모리 장치(500)는 제1 기판(201)의 상부에 배치되는 제1 입출력 패드(205)만을 포함하거나, 또는 제3 기판(410)의 상부에 배치되는 제2 입출력 패드(405)만을 포함하거나, 또는 상부 절연막(401)의 상부에 배치되는 제3 입출력 패드(406)만을 포함하도록 구현될 수 있다.Meanwhile, according to embodiments, the first to third input/output pads (205, 405, 406) may be formed selectively. For example, the memory device (500) may be implemented to include only the first input/output pad (205) disposed on the upper portion of the first substrate (201), or only the second input/output pad (405) disposed on the upper portion of the third substrate (410), or only the third input/output pad (406) disposed on the upper portion of the upper insulating film (401).

한편, 실시 예들에 따라, 제1 셀 영역(CELL1)의 제2 기판(310) 및 제2 셀 영역(CELL2)의 제3 기판(410) 중 적어도 하나는 희생 기판으로 사용될 수 있으며, 본딩 공정 이전 또는 이후에 완전히 또는 일부만 제거될 수 있다. 기판 제거 이후에 추가막이 적층될 수 있다. 예를 들어, 제1 셀 영역(CELL1)의 제2 기판(310)은 주변 회로 영역(PERI)과 제1 셀 영역(CELL1)의 본딩 이전 또는 이후에 제거될 수 있으며, 공통 소스 라인(320)의 상면을 덮는 절연막 또는 연결을 위한 도전막이 형성될 수 있다. 이와 유사하게, 제2 셀 영역(CELL2)의 제3 기판(410)은 제1 셀 영역(CELL1)과 제2 셀 영역(CELL2)의 본딩 이전 또는 이후에 제거될 수 있으며, 공통 소스 라인(420)의 상면을 덮는 상부 절연막(401) 또는 연결을 위한 도전막이 형성될 수 있다.Meanwhile, according to embodiments, at least one of the second substrate (310) of the first cell region (CELL1) and the third substrate (410) of the second cell region (CELL2) can be used as a sacrificial substrate and can be completely or partially removed before or after the bonding process. An additional film can be laminated after the substrate removal. For example, the second substrate (310) of the first cell region (CELL1) can be removed before or after bonding of the peripheral circuit region (PERI) and the first cell region (CELL1), and an insulating film covering the upper surface of the common source line (320) or a conductive film for connection can be formed. Similarly, the third substrate (410) of the second cell region (CELL2) can be removed before or after bonding of the first cell region (CELL1) and the second cell region (CELL2), and an upper insulating film (401) covering the upper surface of the common source line (420) or a conductive film for connection can be formed.

메모리 장치(500)는 도 1 내지 도 16을 참조하여 설명된 약한 패턴 검출 동작 및 인코딩 동작을 수행할 수 있다. 메모리 장치(500)는 약한 패턴을 제거함으로써, 신뢰성을 향상시킬 수 있다. The memory device (500) can perform the weak pattern detection operation and encoding operation described with reference to FIGS. 1 to 16. The memory device (500) can improve reliability by removing weak patterns.

하나 이상의 실시예가 다르게 구현될 수 있는 경우, 특정 프로세스 또는 단계의 순서는 설명된 순서와 다르게 수행될 수 있다. 예를 들어, 연속적으로 설명되는 2개의 프로세스는 실질적으로 동시에 수행되거나 설명된 순서와 반대 순서로 수행될 수 있다.Where one or more embodiments may be implemented differently, the order of particular processes or steps may be performed differently from the order described. For example, two processes described sequentially may be performed substantially concurrently or in the reverse order from the order described.

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

Claims (10)

기판에 수직한 방향으로 형성되고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서,
제1 워드 라인에 연결된 메모리 셀들 중 소거 상태를 갖는 제1 메모리 셀들을 검출하는 단계;
상기 제1 워드 라인에 인접한 제2 워드 라인에 연결된 메모리 셀들 중 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 검출하는 단계;
제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 검출하는 단계;
상기 제2 워드 라인과 인접한 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터에서, 타겟 비트 라인에 대응하고, 소거 상태에 대응하는 타겟 비트들을 검출하는 단계;
상기 타겟 비트들을 기반으로 플립 비트 위치 데이터를 생성하는 단계;
상기 쓰기 데이터 중 상기 타겟 비트들을 플립하여 플립된 데이터를 생성하는 단계; 및
상기 플립된 데이터 및 상기 플립 비트 위치 데이터를 상기 제3 워드 라인에 프로그램하는 단계를 포함하고,
상기 복수의 스트링들 각각은 복수의 메모리 셀들을 포함하고, 상기 복수의 메모리 셀들은 제1 영역 및 제2 영역으로 분할되고, 상기 제1 영역은 제1 내지 제3 부분들로 분할되고, 상기 쓰기 데이터는 제1 내지 제3 페이지 데이터를 포함하고, 상기 복수의 메모리 셀들 각각은 소거 상태 및 제1 내지 제7 프로그램 상태들 중 어느 하나를 갖도록 프로그램되고,
상기 타겟 비트들 중 제1 서브 타겟 비트들은 제1 부분에 대응하고, 상기 타겟 비트들 중 제2 서브 타겟 비트들은 제2 부분에 대응하고, 상기 타겟 비트들 중 제3 서브 타겟 비트들은 제3 부분에 대응하는 경우, 상기 제1 페이지 데이터의 제1 서브 타겟 비트들에 대응하는 데이터는 플립되고, 상기 제2 페이지 데이터의 제2 서브 타겟 비트들에 대응하는 데이터는 플립되고, 상기 제3 페이지 데이터의 제3 서브 타겟 비트들에 대응하는 데이터는 플립되는 동작 방법.
A method of operating a nonvolatile memory device comprising a plurality of memory blocks formed in a direction perpendicular to a substrate and having a plurality of strings connected between bit lines and a common source line,
A step of detecting first memory cells having an erased state among memory cells connected to a first word line;
A step of detecting second memory cells having a sixth program state or a seventh program state among memory cells connected to a second word line adjacent to the first word line;
A step of detecting target bit lines including both a first memory cell and a second memory cell;
A step of detecting target bits corresponding to a target bit line and corresponding to an erase state in write data to be programmed in memory cells connected to a third word line adjacent to the second word line;
A step of generating flip bit position data based on the above target bits;
A step of generating flipped data by flipping the target bits among the above write data; and
A step of programming the flipped data and the flip bit position data into the third word line,
Each of the plurality of strings includes a plurality of memory cells, the plurality of memory cells are divided into a first region and a second region, the first region is divided into first to third portions, the write data includes first to third page data, and each of the plurality of memory cells is programmed to have one of an erase state and first to seventh program states.
An operating method in which, when the first sub-target bits of the target bits correspond to the first portion, the second sub-target bits of the target bits correspond to the second portion, and the third sub-target bits of the target bits correspond to the third portion, data corresponding to the first sub-target bits of the first page data are flipped, data corresponding to the second sub-target bits of the second page data are flipped, and data corresponding to the third sub-target bits of the third page data are flipped.
제 1 항에 있어서,
읽기 커맨드에 응답하여, 상기 제3 워드 라인에서 상기 플립된 데이터 및 상기 플립 비트 위치 데이터를 읽는 단계; 및
상기 플립 비트 위치 데이터를 기반으로, 상기 플립된 데이터 중 플립된 비트들을 플립하여 디코딩된 데이터를 생성하는 단계를 포함하는 방법.
In paragraph 1,
In response to a read command, reading the flipped data and the flip bit position data from the third word line; and
A method comprising the step of generating decoded data by flipping flipped bits among the flipped data based on the flip bit position data.
제 1 항에 있어서,
상기 플립된 데이터 및 상기 플립 비트 위치 데이터를 상기 제3 워드 라인에 프로그램하는 단계는:
상기 제1 서브 타겟 비트들에 대응하는 메모리 셀은 제1 프로그램 상태가 되도록 프로그램하는 단계;
상기 제2 서브 타겟 비트들에 대응하는 메모리 셀은 제7 프로그램 상태가 되도록 프로그램하는 단계; 및
상기 제3 서브 타겟 비트들에 대응하는 메모리 셀은 제5 프로그램 상태가 되도록 프로그램하는 단계를 포함하는 동작 방법.
In paragraph 1,
The step of programming the flipped data and the flip bit position data into the third word line is:
A step of programming the memory cells corresponding to the first sub-target bits to be in a first program state;
A step of programming the memory cell corresponding to the second sub-target bits to be in a seventh program state; and
An operating method comprising the step of programming a memory cell corresponding to the third sub-target bits to be in a fifth program state.
제 1 항에 있어서,
상기 플립된 데이터 및 상기 플립 비트 위치 데이터를 상기 제3 워드 라인에 프로그램하는 단계는,
상기 플립된 데이터를 제3 워드 라인의 제1 영역에 대응하는 메모리 셀들에 프로그램하고, 상기 플립 비트 위치 데이터는 제3 워드 라인의 제2 영역에 대응하는 메모리 셀들에 프로그램하는 단계를 포함하는 동작 방법.
In paragraph 1,
The step of programming the flipped data and the flip bit position data into the third word line is:
An operating method comprising the steps of programming the flipped data into memory cells corresponding to a first area of a third word line, and programming the flipped bit position data into memory cells corresponding to a second area of the third word line.
제 1 항에 있어서,
상기 쓰기 데이터는 복수의 청크들을 포함하고,
상기 쓰기 데이터 중 상기 타겟 비트들을 플립하여 플립된 데이터를 생성하는 단계는:
상기 타겟 비트들과 동일한 청크에 포함된 비트들을 타겟 이웃 비트들로 검출하는 단계;
상기 타겟 비트들에 대응하는 데이터를 플립하는 단계; 및
상기 타겟 이웃 비트들에 대응하는 데이터를 플립하는 단계를 더 포함하는 동작 방법.
In paragraph 1,
The above write data contains multiple chunks,
The step of generating flipped data by flipping the target bits among the above write data is:
A step of detecting bits included in the same chunk as the above target bits as target neighboring bits;
a step of flipping data corresponding to the above target bits; and
An operating method further comprising the step of flipping data corresponding to the target neighboring bits.
제 5 항에 있어서,
상기 타겟 이웃 비트들 중 제1 서브 이웃 비트들은 제1 부분에 대응하고, 상기 타겟 이웃 비트들 중 제2 서브 이웃 비트들은 제2 부분에 대응하고, 상기 타겟 이웃 비트들 중 제3 서브 이웃 비트들은 제3 부분에 대응하는 경우,
상기 제1 페이지 데이터의 상기 제1 서브 이웃 비트들에 대응하는 데이터는 플립되고, 상기 제2 페이지 데이터의 상기 제2 서브 이웃 비트들에 대응하는 데이터는 플립되고, 상기 제3 페이지 데이터의 상기 제3 서브 이웃 비트들에 대응하는 데이터는 플립되는 동작 방법.
In paragraph 5,
If the first sub-neighboring bits among the target neighboring bits correspond to the first part, the second sub-neighboring bits among the target neighboring bits correspond to the second part, and the third sub-neighboring bits among the target neighboring bits correspond to the third part,
An operating method in which data corresponding to the first sub-neighboring bits of the first page data are flipped, data corresponding to the second sub-neighboring bits of the second page data are flipped, and data corresponding to the third sub-neighboring bits of the third page data are flipped.
제 1 항에 있어서,
제1 워드 라인에 연결된 메모리 셀들 중 소거 상태를 갖는 제1 메모리 셀들을 검출하는 단계는,
제1 읽기 전압을 사용하여 상기 제1 워드 라인에 대한 제1 센싱 동작을 수행하는 단계를 포함하고,
상기 제1 워드 라인과 인접한 제2 워드 라인에 연결된 메모리 셀들 중 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 검출하는 단계는,
제6 읽기 전압을 사용하여 제2 워드 라인에 대한 제2 센싱 동작을 수행하는 단계를 포함하는 동작 방법.
In paragraph 1,
The step of detecting first memory cells having an erased state among memory cells connected to the first word line is:
Comprising a step of performing a first sensing operation on the first word line using a first read voltage,
The step of detecting second memory cells having a sixth program state or a seventh program state among memory cells connected to a second word line adjacent to the first word line is:
A method of operation comprising the step of performing a second sensing operation on a second word line using a sixth read voltage.
제 7 항에 있어서,
상기 제1 센싱 동작에 의해 생성된 제1 비트맵을 제1 데이터 래치에 저장하는 단계;
상기 제2 센싱 동작에 의해 생성된 제2 비트맵을 제2 데이터 래치에 저장하는 단계; 및
상기 제1 데이터 래치에 저장된 상기 제1 비트맵과 상기 제2 데이터 래치에 저장된 상기 제2 비트맵에 대하여 AND 연산을 수행하여 제3 비트맵을 생성하고, 상기 제3 비트맵을 상기 제1 데이터 래치에 저장하는 단계를 더 포함하는 동작 방법.
In paragraph 7,
A step of storing a first bitmap generated by the first sensing operation in a first data latch;
A step of storing a second bitmap generated by the second sensing operation in a second data latch; and
An operating method further comprising the step of performing an AND operation on the first bitmap stored in the first data latch and the second bitmap stored in the second data latch to generate a third bitmap, and storing the third bitmap in the first data latch.
제 8 항에 있어서,
상기 쓰기 데이터를 외부로부터 수신하는 단계;
상기 제1 페이지 데이터를 상기 제2 데이터 래치에 저장하는 단계;
상기 제2 페이지 데이터를 제3 데이터 래치에 저장하는 단계; 및
상기 제3 페이지 데이터를 제4 데이터 래치에 저장하는 단계를 포함하는 동작 방법.
In Article 8,
A step of receiving the above write data from an external source;
A step of storing the first page data in the second data latch;
A step of storing the second page data in a third data latch; and
An operating method comprising the step of storing the third page data in a fourth data latch.
기판에 수직한 방향으로 형성되고, 복수의 메모리 셀들을 포함하고, 비트 라인들과 공통 소스 라인 사이에 연결된 복수의 스트링들을 갖는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서,
제1 읽기 전압을 사용하여 제1 워드 라인에 대한 제1 센싱 동작을 수행하여, 상기 제1 워드 라인에 연결된 메모리 셀들 중 소거 상태에 대응하는 제1 메모리 셀을 가리키는 제1 비트맵을 생성하는 단계;
제6 읽기 전압을 사용하여 상기 제1 워드 라인과 인접한 제2 워드 라인에 대한 제2 센싱 동작을 수행하여, 상기 제2 워드 라인에 연결된 메모리 셀들 중에서 제6 프로그램 상태 또는 제7 프로그램 상태를 갖는 제2 메모리 셀들을 가리키는 제2 비트맵을 생성하는 단계;
상기 제1 비트맵 및 상기 제2 비트맵에 대한 AND 연산을 수행하여, 제1 메모리 셀 및 제2 메모리 셀을 모두 포함하는 타겟 비트 라인들을 가리키는 제3 비트맵을 생성하는 단계;
외부로부터 상기 제2 워드 라인과 인접한 제3 워드 라인에 연결된 메모리 셀들에 프로그램될 쓰기 데이터를 수신하는 단계;
제3 비트맵, 및 상기 쓰기 데이터에 대한 AND 연산을 수행하여, 약한 패턴에 대응하는 타겟 비트들을 가리키는 제4 비트맵(BM4)을 생성하는 단계;
상기 제4 비트맵을 기반으로 플립 비트 위치 데이터를 생성하는 단계;
상기 쓰기 데이터 및 플립 비트 위치 데이터를 기반으로, 플립 동작을 수행하여 인코딩된 데이터를 생성하는 단계; 및
상기 인코딩된 데이터를 상기 제3 워드 라인에 연결된 메모리 셀들에 프로그램하는 단계를 포함하는 동작 방법.
A method of operating a nonvolatile memory device comprising a plurality of memory blocks formed in a direction perpendicular to a substrate, comprising a plurality of memory cells, and having a plurality of strings connected between bit lines and a common source line,
A step of performing a first sensing operation on a first word line using a first read voltage to generate a first bitmap pointing to a first memory cell corresponding to an erase state among memory cells connected to the first word line;
A step of performing a second sensing operation on a second word line adjacent to the first word line using a sixth read voltage to generate a second bitmap indicating second memory cells having a sixth program state or a seventh program state among memory cells connected to the second word line;
A step of performing an AND operation on the first bitmap and the second bitmap to generate a third bitmap pointing to target bit lines including both the first memory cell and the second memory cell;
A step of receiving write data to be programmed into memory cells connected to a third word line adjacent to the second word line from the outside;
A step of generating a fourth bitmap (BM4) indicating target bits corresponding to a weak pattern by performing an AND operation on the third bitmap and the write data;
A step of generating flip bit position data based on the above fourth bitmap;
A step of generating encoded data by performing a flip operation based on the above write data and flip bit position data; and
An operational method comprising the step of programming the encoded data into memory cells connected to the third word line.
KR1020230110081A 2023-04-25 2023-08-22 Operating method of nonvolatile memory device KR20240157510A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/646,447 US20240361946A1 (en) 2023-04-25 2024-04-25 Operating method of non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230054263 2023-04-25

Publications (1)

Publication Number Publication Date
KR20240157510A true KR20240157510A (en) 2024-11-01

Family

ID=

Similar Documents

Publication Publication Date Title
CN102163465B (en) Nonvolatile memory device and system performing repair operation for defective memory cell
US11854627B2 (en) Non-volatile memory device, operating method thereof, and storage device having the same
TW201602900A (en) Memory module
KR20140088384A (en) Semiconductor memory device
JP2009110053A (en) Memory system
US11815982B2 (en) Operating method of a nonvolatile memory device for programming multipage data
US20220028466A1 (en) Memory device and a memory system including the same
US11501847B2 (en) Nonvolatile memory device with address re-mapping
US12094552B2 (en) Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device having the same
CN113223585A (en) Nonvolatile memory device, memory device and programming method thereof
KR20210035446A (en) Semiconductor device
KR20210018609A (en) Memory device
EP4099329A1 (en) Method of operating a storage device and method of operating a controller
KR20240157510A (en) Operating method of nonvolatile memory device
US20240361946A1 (en) Operating method of non-volatile memory device
CN114546903A (en) Storage device and storage system including the same
US11742052B2 (en) Nonvolatile memory device and storage device including nonvolatile memory device
US11532361B2 (en) Non-volatile memory device, storage device including the same, and read method thereof
US11966608B2 (en) Memory controller with improved data reliability and memory system including the same
EP4113521A1 (en) Memory device detecting leakage current and operation method thereof
US20230015496A1 (en) Nonvolatile memory device, controller for controlling the same, storage device having the same, and method of operating the same
US12073887B2 (en) Semiconductor device performing block program and operating method thereof
EP4439563A1 (en) Nonvolatile memory device and method of controlling the same
EP3979250A1 (en) 3d nonvolatile memory device device including channel short circuit detection
EP4060669A1 (en) Nonvolatile memory device and operation method thereof