KR101877824B1 - Auxiliary memory unit - Google Patents

Auxiliary memory unit Download PDF

Info

Publication number
KR101877824B1
KR101877824B1 KR1020180017013A KR20180017013A KR101877824B1 KR 101877824 B1 KR101877824 B1 KR 101877824B1 KR 1020180017013 A KR1020180017013 A KR 1020180017013A KR 20180017013 A KR20180017013 A KR 20180017013A KR 101877824 B1 KR101877824 B1 KR 101877824B1
Authority
KR
South Korea
Prior art keywords
parity
individual
memory
controller
data
Prior art date
Application number
KR1020180017013A
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 KR1020180017013A priority Critical patent/KR101877824B1/en
Application granted granted Critical
Publication of KR101877824B1 publication Critical patent/KR101877824B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

According to an auxiliary memory device of the present invention, to control the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller, when data striping write is performed in a plurality of inactive NAND memory dies along an individual word line through the controller, the controller generates a parity about data to make adjacent word lines on the same layer belong to different parity groups, and the parity and data are written in a plurality of pages of one parity group in an individual inactive NAND memory die, and then, the parity and data are written in a plurality of pages of the other parity groups.

Description

보조 기억 장치{AUXILIARY MEMORY UNIT} AUXILIARY MEMORY UNIT}

본 발명은 3차원 수직구조 낸드 플래시(3D vertical-NAND flash)로 이루어지고 데이터의 저장시 레이드(RAID; redundant array of inexpensive disks) 방식을 채택하는 반도체 칩을 저장매체(storage mass)로 사용하면서 컨트롤러(controller)를 통해 데이터에 대한 패러티(parity)의 생성시 컨트롤러에 구비된 에스램(SRAM)의 패러티 임시 저장 영역을 최소 할당시켜 반도체 칩의 에러 비트(error bit)를 구제하는 보조 기억 장치에 관한 것이다.The present invention relates to a semiconductor memory device which uses a semiconductor chip made of a 3D vertical-NAND flash and adopts a redundant array of inexpensive disks (RAID) and an auxiliary memory device for relieving an error bit of a semiconductor chip by minimally allocating a parity temporary storage area of an SRAM provided in a controller when generating a parity for data through a controller will be.

일반적으로, 보조 기억 장치는 주기억 장치(예를 들면, 코어 기억 장치나 개인용 컴퓨터의 ROM, RAM 등)의 기억 용량이 부족할 때 그것을 보조하기 위한 기억 장치이다. 여기서, 상기 보조 기억 장치는 하드 디스크 드라이브(hard disk drive; HDD) 또는 솔리드 스테이트 드라이브(solid state drive; SSD)를 많이 지칭하지만 발명의 전개를 위해 솔리드 스테이트 드라이브에 한정시켜 설명하기로 한다.Generally, the auxiliary storage device is a storage device for assisting the main storage device (for example, the core storage device, the ROM, the RAM, etc. of the personal computer) when the storage capacity is insufficient. Here, the auxiliary storage device refers to a hard disk drive (HDD) or a solid state drive (SSD), but is limited to a solid state drive for the development of the invention.

상기 솔리드 스테이트 드라이브는 반도체 메모리 칩을 저장매체로 사용한다. 상기 반도체 메모리 칩은 낸드 플래쉬(NAND Flash) 메모리 칩이다. 상기 낸드 플래쉬 메모리 칩은 전원이 꺼진 상태에서도 저장 영역에 쓰여진 데이터(data)를 보전하는 불휘발성 특성을 갖는다. 여기서, 상기 솔리드 스테이트 드라이브는 유저 호스트(user host)에 전기적으로 접속되어 내부에 구비되는 컨트롤러(controller)를 이용하여 유저 호스트와 반도체 메모리 칩의 데이터 교환을 중개한다. The solid state drive uses a semiconductor memory chip as a storage medium. The semiconductor memory chip is a NAND flash memory chip. The NAND flash memory chip has a nonvolatile characteristic that preserves data written in the storage area even when the power is turned off. The solid state drive is electrically connected to a user host and mediates data exchange between the user host and the semiconductor memory chip using a controller provided in the solid state drive.

또한, 상기 솔리드 스테이트 드라이브는 반도체 메모리 칩의 워드 라인(word line)에 대응되는 페이지(page; 낸드 플래쉬 메모리의 읽기 또는 쓰기의 단위)를 따라 페이지의 비트 영역(bit region)에 데이터를 기록하기 전, 컨트롤러를 통해, 패러티 생성 회로에서 페이지의 비트 영역에 기록하기 위한 데이터에 대해 패러티 연산(parity operation)을 수행하여 패러티(parity)를 생성하고 에스램의 패러티 임시 저장 영역에 패러티를 임시 저장한 후, 에스램으로부터 패러티를 인출하여 페이지에 데이터와 패러티를 계속해서 기록한다. The solid state drive may be configured to write data in a bit region of a page along a page (unit of reading or writing of a NAND flash memory) corresponding to a word line of a semiconductor memory chip , A parity operation is performed on the data to be written in the bit area of the page in the parity generation circuit through the controller to temporarily store the parity in the parity temporary storage area of the SRAM , Fetches the parity from ESRAM and continues to record data and parity on the page.

한편, 상기 솔리드 스테이트 드라이브는, 페이지에 데이터와 패러티를 기록한 후 페이지의 비트 영역에 발생된 비트 에러를 구제하는 종래기술로써, 한국 공개 특허 공보 제 10-2017-0015757 호에 발명의 명칭 '데이터 저장 장치 및 그것의 동작 방법'으로 개시되었다. 상기 종래 기술에서, 상기 솔리드 스테이트 드라이브는 2차원 평면구조 낸드 플래시(2D plane-NAND flash)로 이루어지고 데이터의 저장시 레이드(RAID; redundant array of inexpensive disks) 방식을 채택하는 두 개의 불활성 메모리 장치를 저장 매체로 사용한다. Meanwhile, the solid state drive is a conventional technique for recovering a bit error generated in a bit area of a page after recording data and parity on a page. The solid state drive is disclosed in Korean Patent Publication No. 10-2017-0015757 Device and method of operation thereof ". In the conventional technology, the solid state drive includes two inactive memory devices made of a 2D plane-NAND flash and adopting a redundant array of inexpensive disks (RAID) It is used as a storage medium.

상기 레이드 방식은 데이터를 페이지 단위로 분할하여 두 개의 불활성 메모리 장치에 분산 저장하도록 수행된다. 여기서, 상기 솔리드 스테이트 드라이브는 불활성 메모리 장치에서 페이지의 속성에 따라 페이지 마다 기록될 데이터에 대한 패러티를 생성한다. 상기 페이지의 속성은 블럭 오프셋, 플레인 오프셋, 페이지 오프셋, 워드 라인 오프셋, 및 셀 당 저장 비트 개수 중 적어도 두 개로 이루어진다. 그러나, 상기 솔리드 스테이트 드라이브는 불활성 메모리 장치의 2차원 평면구조 낸드 플레시 특성에 따라 컨트롤러를 통해 불활성 메모리 장치에서 복수의 페이지에 데이터를 입력 중지없이 순차적으로 기록해야 한다.The RAID scheme is performed to divide data into page units and store the data in two inactive memory devices. Here, the solid state drive generates a parity for data to be written for each page according to the attribute of the page in the inactive memory device. The attributes of the page include at least two of a block offset, a plane offset, a page offset, a word line offset, and a number of bits stored per cell. However, the solid state drive must sequentially write data to the plurality of pages in the non-volatile memory device through the controller in accordance with the two-dimensional planar structure NAND flash characteristic of the non-volatile memory device.

상기 복수의 페이지에 데이터의 기록을 위해, 상기 컨트롤러는 페이지 속성에 따라 에스램에 적어도 두 개의 패러티 임시 저장 영역을 구비하여 패러티 임시 저장 영역 마다 데이터에 대한 패러티를 생성한 후, 불활성 메모리 장치에서 복수의 페이지에 데이터의 순차적 기록과 함께 페이지의 속성에 따라 페이지에 패러티를 기록한다. 상기 패러티는 페이지에 기록된 데이터에서 시간 경과 후 에러 비트의 발생시 에러 비트의 구제를 위해 사용된다.The controller may include at least two parity temporary storage areas in the SRAM according to page attributes to generate parity for the data for each parity temporary storage area, And records the parity on the page according to the attribute of the page. The parity is used for relieving the error bit when an error bit occurs after a lapse of time from the data written to the page.

즉, 일 예로써, 상기 페이지 속성이 워드 라인 오프셋으로 이루어지는 때, 상기 컨트롤러는 에스램에 짝수 번째 워드 라인 관련한 제1 패러티 임시 저장 영역과 홀수 번째 워드 라인 관련한 제2 패러티 임시 저장 영역을 구비하여 불활성 메모리 장치에서 복수의 페이지에 순차적으로 기록될 데이터에 대한 짝수 번째 워드 라인 관련한 짝수 패러티와 홀수 번째 워드 라인 관련한 홀수 패러티를 제1 및 제2 패러티 임시 저장 영역에 각각 동시에 생성한 후, 에스램으로부터 짝수 및 홀수 패러티를 인출하여 불활성 메모리 장치에서 페이지에 데이터와 함께 짝수 및 홀수 패러티를 기록한다.That is, as an example, when the page attribute is made up of word line offsets, the controller may include a first parity temporary storage area associated with the even word lines and a second parity temporary storage area associated with the odd numbered word lines, Numbered parity relating to an even-numbered word line and odd-numbered parity relating to an odd-numbered word line for data to be sequentially written to a plurality of pages in a memory device are simultaneously generated in the first and second parity temporary storage areas, And odd-numbered parity to record even and odd parity with data on the page in the inactive memory device.

상기 제1 및 제2 패러티 임시 저장 영역은 에스램에서 패러티 임시 저장 영역의 개수 증가를 야기시키기 때문에 에스램의 가격 상승 및 저장 능력에 부담을 가중시킨다. 이와 유사하게, 다른 예로써, 상기 페이지 속성이 셀(cell)마다 하나의 워드 라인에 순차적으로 대응되는 두 개의 비트(bit)로 이루어지는 때, 상기 컨트롤러는 에스램에서 하나의 워드 라인에 대응되도록 제1 비트(LSB; least significant bit)에 관련한 상부 패러티 임시 저장 영역과 제2 비트(MSB; most significant bit)에 관련한 하부 패러티 임시 저장 영역을 구비해야 한다.Since the first and second parity temporary storage areas cause an increase in the number of parity temporary storage areas in the SRAM, the SRAM increases the burden on the price increase and storage ability. Similarly, as another example, when the page attribute is composed of two bits sequentially corresponding to one word line for each cell, the controller sets the page attribute to correspond to one word line in the SRAM A lower parity temporary storage area associated with a least significant bit (LSB) and a lower parity temporary storage area associated with a second significant bit (MSB).

이 경우에, 상기 컨트롤러는 불활성 메모리 장치에서 복수의 페이지에 순차적으로 기록될 데이터에 대한 제1 비트(LSB) 관련한 상부 패러티와 제2 비트(MSB) 관련한 하부 패러티를 에스램의 상부 및 하부 패러티 임시 저장 영역에 각각 동시에 생성한 후, 에스램으로부터 상부 및 하부 패러티를 인출하여 불활성 메모리 장치에서 페이지에 데이터와 함께 상부 및 하부 패러티를 기록한다. 따라서, 상기 상부 및 하부 패러티 임시 저장 영역은 에스램에서 패러티 임시 저장 영역의 개수 증가를 야기시키기 때문에 에스램의 가격 상승 및 저장 능력에 부담을 가중시킨다.In this case, the controller controls the upper parity relating to the first bit (LSB) and the lower parity relating to the second bit (MSB) for the data to be sequentially written to the plurality of pages in the inactive memory device, Respectively, and fetch the upper and lower parities from the SRAM to record the upper and lower parities together with the data on the page in the inactive memory device. Accordingly, the upper and lower parity temporary storage areas cause an increase in the number of parity temporary storage areas in the ESRAM, thereby imposing a burden on the cost increase and storage capability of the ESRAM.

만약에, 상기 페이지 속성이 셀마다 하나의 워드 라인에 순차적으로 대응되는 세 개의 페이지(LSB, CSB(center significant bit), MSB)로 이루어지는 때, 상기 에스램은 상부 및 중부 및 하부 패러티 임시 저장 영역을 가지기 때문에 가격 상승 및 저장 능력의 부담으로부터 자유로울 수 없다. 다시 한번 더 부연 설명하면, 상기 불활성 메모리 장치는 2차원 평면구조 낸드 플래시로 이루어지고 데이터의 저장시 레이드 방식을 채택한다.If the page attribute consists of three pages (LSB, CSB, MSB) sequentially corresponding to one word line per cell, the SRAM is divided into upper and middle parity temporary storage areas It is not free from the burden of the price increase and the storage ability. Once again, the inactive memory device is made up of a two-dimensional planar structure NAND flash and adopts a RAID method when data is stored.

상기 에스램에서 패러티 생성시 불활성 메모리 장치에서 페이지에 데이터의 순차적 기록 방식(=레이드 방식)에 의존하기 때문에, 상기 컨트롤러가 페이지 속성에 따라 복수의 페이지에 입력될 데이터를 구분한 후 에스램에 구분된 데이터 만을 공급하여 목적하는 패러티를 단속적으로 생성하지 못하므로, 상기 솔리드 스테이트 드라이브는 패러티의 속성에서 구성 요소의 증가에 따라 에스램의 사용에 부담을 갖는다.Since the controller relies on the sequential recording method (= raid method) of data on a page in the inactive memory device in generating the parity in the SRAM, the controller divides the data to be inputted to the plurality of pages according to the page attribute, The solid state drive is burdened with the use of the ESRAM in accordance with the increase of the component in the parity property.

한국 공개 특허 공보 제 10-2017-0015757 호Korean Patent Publication No. 10-2017-0015757

본 발명은, 종래의 문제점을 해결하기 위해 안출된 것으로, 낸드 플래시 특성을 갖는 불활성 메모리 장치(이하, '반도체 칩'으로 지칭함)에서 복수의 페이지를 따라 유저 호스트의 요청과 관련된 데이터를 레이드 방식으로 기록하기 전, 컨트롤러를 통해 반도체 칩의 페이지의 속성을 기준으로 데이터를 분할하여 에스램의 패러티 임시 저장 영역에 분할된 데이터를 입력시키면서 에스램의 패러티 임시 저장 영역에 패러티를 단속적으로 생성해도 페이지 속성에서 구성 요소의 증가에 따라 패러티 임시 저장 영역의 개수 증가를 요구하지 않는 보조 기억 장치를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been conceived to solve the conventional problems, and it is an object of the present invention to provide a method and a system for realizing a method of storing data related to a request of a user host in a random manner along a plurality of pages in an inactive memory device having a NAND flash characteristic Before recording, the controller divides the data based on the property of the page of the semiconductor chip to input the divided data in the parity temporary storage area of the SRAM, while intermittently generating the parity in the SRAM parity temporary storage area, Which does not require an increase in the number of parity temporary storage areas as the number of components increases.

본 발명에 따른 보조 기억 장치는, 컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하도록, 개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고, 상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 개별 메모리 다이에서 하나의 패러티 그룹의 복수의 페이지에 데이터와 패러티를 쓴 후 나머지 패러티 그룹의 복수의 페이지에 데이터와 패러티를 쓰는 것을 특징으로 한다. An auxiliary memory device according to the present invention is a device in which individual semiconductor chips are electrically connected to each other so as to manage the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller Wherein the individual memory dies include a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise a plurality of vertically arranged vertically arranged memory blocks, A plurality of word lines having NAND channels and sequentially stacked along individual vertical NAND channels, wherein each individual word line is a read or write unit of data (date) associated with the requested command of the user host A plurality of pages, and striping the data on the plurality of memory dies along the individual word lines through the controller The controller generates a parity for the data such that adjacent word lines in the same layer belong to different parity groups, and in the individual memory die, one parity group And writes data and parity to a plurality of pages of the remaining parity group.

상기 패러티 그룹은 상기 동일 층에서 짝수 워드선들과 홀수 워드선들로 나누어 생성될 수 있다.The parity group may be divided into even word lines and odd word lines in the same layer.

상기 개별 메모리 블럭은, 상기 개별 페이지와 개별 스트링(string)의 교차 영역에 셀(cell)을 포함하고, 상기 개별 페이지는 상기 개별 워드 선을 따라 복수의 셀을 포함하고, 상기 셀은 상기 데이터를 복수의 비트(bit)로 가지며, 상기 개별 워드 선은 셀 별로 상기 복수의 비트에 각각 대응되는 복수의 비트 페이지를 가지고, 상기 parity는 상기 개별 페이지에 저장될 수 있다.Wherein the individual memory block comprises a cell in an intersection area of the individual page and an individual string and the individual page includes a plurality of cells along the individual word line, Wherein the individual word lines have a plurality of bit pages each corresponding to the plurality of bits for each cell, and the parity can be stored in the individual pages.

상기 컨트롤러는 상기 개별 메모리 다이에서 상기 개별 워드 선의 상기 셀에 상기 복수의 비트 페이지를 연속적으로 쓸 수 있다.The controller may write the plurality of bit pages consecutively in the cell of the individual word line in the separate memory die.

상기 컨트롤러는 상기 개별 메모리 다이에서 하나의 비트 페이지를 쓴 후 나머지 비트 페이지를 순차적으로 쓸 수 있다.The controller may write one bit page in the separate memory die and then write the remaining bit pages sequentially.

또한, 본 발명에 따른 보조 기억 장치는, 컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하도록, 개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고, 개별 페이지는 복수의 스트링(string)과 교차 영역에 복수의 셀(cell)을 가지면서 개별 셀에 상기 데이터를 복수의 비트(bit)로 저장하여 복수 타입의 비트 페이지(bit page)를 가지고, 상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 복수의 메모리 다이에서 상기 개별 워드 선에 대응되는 상기 개별 페이지에, 한 타입의 비트 페이지 별로 데이터와 패러티를 쓴 후 나머지 타입의 비트 페이지 별로 데이터와 패러티를 쓰는 것을 특징으로 한다.Also, the auxiliary memory device according to the present invention may be configured such that individual semiconductor chips are connected to each other so as to manage the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller. Wherein the individual memory die comprises a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise a plurality of two-dimensionally arranged memory blocks, And a plurality of word lines sequentially stacked along individual vertical NAND channels with a vertical NAND channel of the user host, wherein each word line is read or written (data) associated with the requested command of the user host, Wherein each page has a plurality of pages and each page has a plurality of strings and a plurality of cells in an intersecting area, Storing a plurality of bits in a plurality of types of bit pages and striping the data along the individual word lines to the plurality of memory dies through the controller, Wherein the controller generates a parity for the data so that adjacent word lines in the same layer belong to different parity groups and wherein in the plurality of memory dies the individual pages corresponding to the individual word lines , And writes data and parity for each type of bit page, and then writes data and parity for each of the remaining types of bit pages.

상기 데이터가 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)될 때, 상기 개별 메모리 다이의 동일 층에서 인접한 워드 선들은 서로 다른 스트라이핑(striping) 그룹에 속할 수 있다.When the data is striped write to the plurality of memory dies, adjacent word lines in the same layer of the separate memory die may belong to different striping groups.

또한, 본 발명에 따른 보조 기억 장치는, 컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하도록, 개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고, 상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 개별 메모리 다이의 복수 층에서 개별 층 마다 상기 인접한 워드 선들에 순차적으로 동일하게 적용되는 패러티 그룹에 속하도록 상기 데이터에 대한 패러티를 생성시키는 것을 특징으로 한다.Also, the auxiliary memory device according to the present invention may be configured such that individual semiconductor chips are connected to each other so as to manage the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller. Wherein the individual memory die comprises a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise a plurality of two-dimensionally arranged memory blocks, And a plurality of word lines sequentially stacked along individual vertical NAND channels with a vertical NAND channel of the user host, wherein each word line is read or written (data) associated with the requested command of the user host, Wherein the plurality of pages have a plurality of pages as a unit, and the controller writes the data along the individual word lines to the plurality of memory dies When striping write, the controller generates a parity for the data so that adjacent word lines in the same layer belong to different parity groups, and in a plurality of layers of the individual memory die And parity for the data is generated for each individual layer so as to belong to the parity group which is sequentially applied to the adjacent word lines in the same manner.

상기 컨트롤러는 상기 개별 메모리 다이의 상기 복수 층 중 하나의 층에서 생성된 패러티를 외부 메모리에 옮겨둔 후 다음 층에서 상기 데이터를 쓰기 시작할 때 상기 하나의 층의 패러티 그룹의 패러티를 가져와서 패러티 연산을 수행할 수 있다.The controller transfers a parity generated in one of the plurality of layers of the individual memory die to an external memory and then fetches the parity of the parity group of the one layer when writing the data in the next layer, Can be performed.

상기 외부 메모리는 상기 컨트롤러 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함할 수 있다.The external memory may include a dynamic random access memory (DRAM) located around the controller.

상기 외부 메모리는, 상기 유저 호스트에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하며 상기 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 상기 컨트롤러를 통해 상기 반도체 칩과 상기 패러티를 주고 받을 수 있다.The external memory may include a dynamic random access memory (DRAM) provided in the user host, and may allocate a part of the dynamic random access memory to exchange the parity with the semiconductor chip through the controller.

또한, 본 발명에 따른 보조 기억 장치는, 컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하도록, 개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고, 상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는, 개별 메모리 다이의 동일 층에서 개별 워드 선에 상기 데이터를 쓰고 패러티를 생성하고, 개별 메모리 다이의 복수 층에서 개별 층 마다 동일하게 반복되는 워드 선들을 포함하는 패러티 그룹을 구성하고, 상기 개별 메모리 다이의 상기 복수 층 중 하나의 층에서 생성된 패러티를 외부 메모리에 옮겨둔 후 다음 층에서 상기 데이터를 쓰기 시작할 때 상기 하나의 층의 패러티 그룹의 패러티를 가져와서 패러티 연산을 수행하는 것을 특징으로 한다.Also, the auxiliary memory device according to the present invention may be configured such that individual semiconductor chips are connected to each other so as to manage the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller. Wherein the individual memory die comprises a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise a plurality of two-dimensionally arranged memory blocks, And a plurality of word lines sequentially stacked along individual vertical NAND channels with a vertical NAND channel of the user host, wherein each word line is read or written (data) associated with the requested command of the user host, Wherein the plurality of pages have a plurality of pages as a unit, and the controller writes the data along the individual word lines to the plurality of memory dies When striping write, the controller writes the data to individual word lines in the same layer of an individual memory die and generates a parity, and writes the same repeated word lines to individual layers in a plurality of layers of the individual memory die The parity of the parity group of the one layer when the parity is generated in the next layer after transferring the parity generated in one of the plurality of layers of the individual memory die to the external memory, And performs a parity operation.

상기 외부 메모리는 상기 컨트롤러 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함할 수 있다.The external memory may include a dynamic random access memory (DRAM) located around the controller.

상기 외부 메모리는, 상기 유저 호스트에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하며 상기 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 상기 컨트롤러를 통해 상기 반도체 칩과 상기 패러티를 주고 받을 수 있다.The external memory may include a dynamic random access memory (DRAM) provided in the user host, and may allocate a part of the dynamic random access memory to exchange the parity with the semiconductor chip through the controller.

본 발명에 따라, 반도체 칩의 내부에 복수의 메모리 다이(memory die), 개별 메모리 다이에 3차원으로 배열된 복수의 메모리 블럭(memory block), 개별 메모리 블럭에 하나의 층에서 2차원적으로 배열된 복수의 수직 NAND 채널, 그리고 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하므로, According to the present invention, there is provided a semiconductor chip comprising a plurality of memory dies in a semiconductor chip, a plurality of memory blocks arranged in three dimensions on an individual memory die, a plurality of memory blocks arranged in a two- A plurality of vertical NAND channels, and a plurality of word lines sequentially stacked along individual vertical NAND channels,

본 발명은, 개별 메모리 블럭에 서로에 대해 전기적으로 고립된 복수의 수직 NAND 채널과 함께 개별 메모리 블럭 내 하나의 층(=동일한 수평 레벨에서 워드 선들로 이루어진 layer)에서 서로 전기적으로 연결된 인접한 워드 선을 가져 인접한 워드 선 간에 전기적 간섭을 배제시키므로, 컨트롤러를 통해 개별 메모리 블록 내 동일 층에서 짝수 워드 선과 홀수 워드 선에 데이터를 교차 쓰기하여 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 하기 위해, 컨트롤러를 통해 에스램에서 하나의 패러티 임시 저장 영역 만을 사용하여 데이터에 대한 패러티(parity)를 단속적으로 생성시킨 후 에스램의 패러티 임시 저장 영역에 짝수 워드 선의 패러티와 홀수 워드 선의 패러티를 소정 시간 간격으로 순차적 저장하여 에스램의 패러티 임시 저장 영역의 개수 증가를 요구하지 않는다.The present invention relates to a semiconductor memory device, in which adjacent word lines electrically connected to each other in one layer (= layer of word lines at the same horizontal level) in an individual memory block with a plurality of vertical NAND channels electrically isolated from each other in an individual memory block In order to exclude electrical interference between adjacent word lines and to cross data between the even word line and the odd word line in the same layer in the individual memory block through the controller so that adjacent word lines belong to different parity groups , The parity of the data is generated intermittently using only one parity temporary storage area in the SRAM through the controller, and the parity of the even word lines and the parity of the odd word lines are stored in the temporary storage area of the SRAM at predetermined intervals To store the parity temporary storage area of SRAM It is not required to increase the number.

본 발명은, 개별 메모리 블럭에 서로에 대해 전기적으로 고립된 복수의 수직 NAND 채널과 함께 개별 메모리 블럭 내 하나의 층에서 서로 전기적으로 연결된 인접한 워드 선을 가져 인접한 워드 선 간에 전기적 간섭을 배제시키므로, 컨트롤러를 통해 동일 층에서 짝수 워드 선과 홀수 워드 선에 데이터를 교차 쓰기하여 복수의 메모리 다이에서 하나의 셀에 비트 페이지 별로 데이터와 패러티를 쓴 후 나머지 셀에 비트 페이지 별로 데이터와 패러티를 쓰게 하기 위해, 컨트롤러를 통해 에스램에서 하나의 패러티 임시 저장 영역 만을 사용하여 데이터에 대한 패러티를 단속적으로 생성시킨 후 에스램의 패러티 임시 저장 영역에 하나의 셀 관련 패러티와 나머지 셀 관련 패러티를 소정 시간격으로 순차적 저장하여 에스램의 패러티 임시 저장 영역의 개수 증가를 요구하지 않는다.The present invention eliminates electrical interference between adjacent word lines by having adjacent word lines electrically connected to each other in one layer in an individual memory block with a plurality of vertical NAND channels electrically isolated from each other in the individual memory blocks, In order to write data and parity for each bit page in one cell in a plurality of memory dies and write data and parity for each bit page in the remaining cells through cross writing of data to an even word line and an odd word line in the same layer through the same layer, The parity of the data is intermittently generated using only one parity temporary storage area in the SRAM, and one cell related parity and the remaining cell related parity are sequentially stored in the SRAM parity temporary storage area at predetermined time intervals Sram's number of parity temporary storage areas It does not require.

도 1은 본 발명에 따른 보조 기억 장치를 보여주는 블럭도이다.
도 2는 도 1의 보조 기억 장치에서 반도체 칩의 내부에 하나의 메모리 다이를 개략적으로 보여주는 블럭도이다.
도 3은 도 2의 메모리 다이에서 메모리 블럭을 상세하게 2차원적으로 보여주는 회로도이다.
도 4는 도 2의 메모리 다이에서 메모리 블럭을 상세하게 3차원적으로 보여주는 회로도이다.
도 5는 도 1의 보조 기억 장치의 반도체 칩에서 복수의 메모리 다이에 적용되는 스트라이핑 라이트(striping write)를 개략적으로 보여주는 블럭도이다.
도 6 내지 8은 도 3의 메모리 블럭에서 동일 층에서 서로 다른 패러티 그룹(parity group)에 속하는 인접한 워드 선들을 개략적으로 보여주는 회로도이다.
도 9 및 10은 도 5의 복수의 메모리 다이에서 하나의 셀에 비트 페이지 별로 데이터와 패러티를 쓴 후 나머지 셀에 비트 페이지 별로 데이터와 패러티를 쓰는 블럭도이다.
도 11은 개별 메모리 다이의 복수 층에서 개별 층 마다 인접한 워드 선들에 순차적으로 동일하게 적용되는 패러티 그룹에 속하도록 데이터에 대한 패러티를 생성시키는 블럭도이다.
1 is a block diagram showing an auxiliary memory device according to the present invention.
2 is a block diagram schematically showing one memory die inside a semiconductor chip in the auxiliary memory device of FIG.
FIG. 3 is a circuit diagram showing the memory block in two dimensions in detail in the memory die of FIG. 2. FIG.
FIG. 4 is a circuit diagram showing the memory block in three dimensions in the memory die of FIG. 2. FIG.
FIG. 5 is a block diagram schematically illustrating a striping write applied to a plurality of memory dies in a semiconductor chip of the auxiliary memory device of FIG. 1; FIG.
FIGS. 6 to 8 are circuit diagrams schematically showing adjacent word lines belonging to different parity groups in the same layer in the memory block of FIG. 3. FIG.
FIGS. 9 and 10 are block diagrams for writing data and parity for each bit page in one cell in the plurality of memory dies of FIG. 5, and then writing data and parity for each bit page in remaining cells.
11 is a block diagram for generating a parity for data to belong to a parity group that is applied sequentially in succession to adjacent word lines for each individual layer in a plurality of layers of an individual memory die.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭하며, 길이 및 면적, 두께 등과 그 형태는 편의를 위하여 과장되어 표현될 수도 있다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views, and length and area, thickness, and the like may be exaggerated for convenience.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예(들)에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, preferred embodiments (s) of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention .

도 1은 본 발명에 따른 보조 기억 장치를 보여주는 블럭도이다.1 is a block diagram showing an auxiliary memory device according to the present invention.

도 1을 참조하면, 본 발명에 따른 보조 기억 장치(120)는 컨트롤러(90)와 저장메체(110)를 포함할 수 있다. 상기 컨트롤러(90)는 유저 호스트(10)와 저장 매체(110) 사이의 데이터 교환을 제어할 수 있다. 상기 컨트롤러(90)는 프로세서(20), 디램(DRAM; 30), 에스램(SRAM; 40), ECC부(50), 호스트 인터페이스부(60) 및 저장매체 인터페이스부(70)를 포함한다.Referring to FIG. 1, an auxiliary storage device 120 according to the present invention may include a controller 90 and a storage medium 110. The controller 90 may control the exchange of data between the user host 10 and the storage medium 110. The controller 90 includes a processor 20, a DRAM 30, an SRAM 40, an ECC unit 50, a host interface unit 60, and a storage medium interface unit 70.

상기 프로세서(20)는 컨트롤러(90)의 제반 동작을 제어할 수 있다. 상기 프로세서(1110)는 유저 호스트(10)의 요청에 따라 저장매체(110)에 데이터를 저장하고, 저장매체(110)로부터 저장된 데이터를 리드할 수 있다. 상기 프로세서(20)는 저장매체(110)를 효율적으로 관리하기 위해서 가비지 컬렉션 및 웨어 레벨링을 포함한 펌웨어(firm ware)의 동작을 제어할 수 있다. The processor 20 can control all operations of the controller 90. [ The processor 1110 may store data in the storage medium 110 and read the stored data from the storage medium 110 at the request of the user host 10. The processor 20 may control the operation of firmware including garbage collection and wear leveling to efficiently manage the storage medium 110. [

상기 디램(30)은 프로세서(20)에 의해 사용되는 프로그램 및 프로그램 데이터를 저장할 수 있다. 상기 디램(30)은 호스트 인터페이스부(60)로부터 전송된 데이터를 저장메체(110)에 전달하기 전 임시 저장할 수 있고. 저장매체(110)로부터 전송된 데이터를 유저 호스트(10)로 전달하기 전 임시 저장할 수 있다. 상기 에스램(40)은 프로세서(10)에 의해 리드되는 프로그램 코드 및 데이터 저장용으로 사용할 수 있다. The DRAM 30 may store program and program data used by the processor 20. The DRAM 30 may temporarily store the data transmitted from the host interface unit 60 before delivering the data to the storage medium 110. The data transmitted from the storage medium 110 may be temporarily stored before being transmitted to the user host 10. The ESRAM 40 may be used for storing program codes and data that are read by the processor 10.

상기 프로그램 코드는 프로세서(20)가 컨트롤러(90)의 내부 유닛들을 제어하기 위해서 프로세서(20)에 의해 처리되는 명령들을 포함할 수 있다. 상기 ECC부(50)는 저장매체(110)에 저장될 데이터를 인코딩하고, 저장매체(110)로부터 리드된 데이터를 디코딩할 수 있다. 상기 ECC부(50)는 ECC 알고리즘에 따라 데이터에 발생된 에러를 검출하고 정정할 수 있다.The program code may include instructions that are processed by the processor 20 in order for the processor 20 to control the internal units of the controller 90. The ECC unit 50 may encode data to be stored in the storage medium 110, and may decode the data read from the storage medium 110. The ECC unit 50 can detect and correct errors generated in the data according to an ECC algorithm.

상기 호스트 인터페이스부(60)는 유저 호스트(10)와 요청 및 데이터 등을 교환할 수 있다. 상기 저장매체 인터페이스부(70)는 저장매체(110)로 제어 신호 및 데이터를 전송할 수 있다. 상기 저장매체 인터페이스부(70)는 저장매체(110)로부터 데이터를 전송받을 수 있다. 상기 저장매체 인터페이스부(70)는 저장매체(110)와 복수의 채널들(CH0~CHn)을 통해 연결될 수 있다. The host interface unit 60 may exchange requests and data with the user host 10. The storage medium interface unit 70 may transmit control signals and data to the storage medium 110. The storage medium interface unit 70 can receive data from the storage medium 110. The storage medium interface unit 70 may be connected to the storage medium 110 through a plurality of channels CH0 to CHn.

상기 저장매체(110)는 복수의 반도체 칩(100)을 포함할 수 있다. 여기서, 상기 컨트롤러(90)는 버스 라인(80)을 통해 프로세서(20), 디램(DRAM; 30), 에스램(SRAM; 40), ECC부(50), 호스트 인터페이스부(60) 및 저장매체 인터페이스부(70)를 전기적으로 서로 연결한다.The storage medium 110 may include a plurality of semiconductor chips 100. The controller 90 includes a processor 20, a DRAM 30, an SRAM 40, an ECC unit 50, a host interface unit 60, and a storage medium And the interface unit 70 are electrically connected to each other.

도 2는 도 1의 보조 기억 장치에서 반도체 칩의 내부에 하나의 메모리 다이를 개략적으로 보여주는 블럭도이고, 도 3은 도 2의 메모리 다이에서 메모리 블럭을 상세하게 2차원적으로 보여주는 회로도이다.FIG. 2 is a block diagram schematically showing one memory die inside a semiconductor chip in the auxiliary memory device of FIG. 1, and FIG. 3 is a circuit diagram showing two-dimensionally detailed memory blocks in the memory die of FIG.

또한, 도 4는 도 2의 메모리 다이에서 메모리 블럭을 상세하게 3차원적으로 보여주는 회로도이고, 도 5는 도 1의 보조 기억 장치의 반도체 칩에서 복수의 메모리 다이에 적용되는 스트라이핑 라이트(striping write)를 개략적으로 보여주는 블럭도이다.Fig. 4 is a circuit diagram showing the memory block in three dimensions in the memory die of Fig. 2 in detail; Fig. 5 is a diagram illustrating a striping write applied to a plurality of memory dies in the semiconductor chip of the auxiliary memory device of Fig. As shown in FIG.

도 2 내지 도 5를 참조하면, 상기 보조 기억 장치(120)는 컨트롤러(controller)를 통해 유저 호스트(user host; 10)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip; 도 1의 100)의 동작을 관장한다. 여기서, 개별 반도체 칩(100)은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함한다. 상기 복수의 메모리 다이는 본 발명의 설명을 단순화시키기 위해 도 2에 하나만 도시한다. 2 to 5, the auxiliary memory device 120 processes a requested command of a user host 10 through a controller to generate a plurality of semiconductor chips (100 in FIG. 1) ). Here, the individual semiconductor chips 100 include a plurality of memory dies electrically connected to each other. The plurality of memory dies are shown only in FIG. 2 in order to simplify the description of the present invention.

개별 메모리 다이는 도 2 내지 도 4와 같이 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함한다. 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line; WL)을 도 3 및 도 4와 같이 포함한다. 여기서, 상기 복수의 워드 선(WL)은 도 4에서 하나의 층(layer)에 4개의 워드 선(a, b, c, d)만을 도시하였지만 4개의 워드 선 이상일 수 있다. The individual memory dies include a plurality of memory blocks arranged in three dimensions as shown in FIGS. The individual memory blocks include a plurality of word lines (WL) sequentially stacked along individual vertical NAND channels with a plurality of two-dimensionally arranged vertical NAND channels, as shown in FIGS. 3 and 4. FIG. Although the word lines WL shown in FIG. 4 have only four word lines a, b, c, and d in one layer, they may be four or more word lines.

이후로, 상기 4개의 워드 선(a, b, c, d)은 본 발명을 한정하여 설명할 때 계속 사용된다. 한편, 상기 복수의 워드 선(WL)은 동일한 층(layer)에서 전기적으로 서로 접속할 수 있다. 개별 워드 선(WL)은 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 도 2 및 도 3과 같이 갖는다. 개별 페이지는 데이터 영역(data area)과 스페어 영역(spare area)을 포함한다. 여기서, 상기 개별 메모리 블럭은, 도 3과 같이 개별 페이지와 개별 스트링(string)의 교차 영역에 셀(cell)을 포함한다. Hereinafter, the four word lines (a, b, c, and d) are continuously used to describe the present invention. Meanwhile, the plurality of word lines WL may be electrically connected to each other in the same layer. Each of the word lines WL has a plurality of pages as read or write units of data (date) related to the requested command of the user host as shown in FIG. 2 and FIG. The individual pages include a data area and a spare area. Here, the individual memory block includes a cell in an intersection area of individual pages and individual strings as shown in FIG.

상기 개별 페이지는 개별 워드 선(WL)을 따라 복수의 셀(cell)을 포함한다. 한편, 상기 스트라이핑 라이트는 도 5와 같이 복수의 메모리 다이(Die 0, Die 1,..., Die N)에서 개별 워드 선(WL)에 대응되는 페이지를 따라 데이터를 쓰도록 수행된다.The individual pages include a plurality of cells along individual word lines WL. Meanwhile, the striping light is performed to write data along a page corresponding to an individual word line WL in a plurality of memory dies (Die 0, Die 1, ..., Die N) as shown in FIG.

도 6 내지 8은 도 3의 메모리 블럭에서 동일 층에서 서로 다른 패러티 그룹(parity group)에 속하는 인접한 워드 선들을 개략적으로 보여주는 회로도이다. 여기서, 도 6 내지 8은 도 2 내지 도 5를 참조하여 설명하기로 한다. 또한, 상기 패러티는 '해결하고자 하는 과제'와'본 발명의 효과'에 상세하게 기재된 바와 같이 솔리드 스테이트 드라이브의 컨트롤러를 사용하여 컨트롤러의 내부에 구비되는 에스램에서 하나의 패러티 임시 저장 영역에 형성된다. 따라서, 상기 에스램에서 패러티의 생성은 컨트롤러의 동작을 통해 수행되므로 컨트롤러에 의해 에스램의 설명을 갈음한다.FIGS. 6 to 8 are circuit diagrams schematically showing adjacent word lines belonging to different parity groups in the same layer in the memory block of FIG. 3. FIG. Here, Figs. 6 to 8 will be described with reference to Figs. 2 to 5. Fig. In addition, the parity is formed in one parity temporary storage area in the ESRAM provided in the controller using the controller of the solid state drive as described in detail in "Problem to be Solved" and "Effect of the Invention" . Therefore, the generation of parity in the ESRAM is performed through the operation of the controller, so the description of the ESRAM is omitted by the controller.

도 6을 참조하면, 상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(Oa, Ob, Oc, Od)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Parity 1 또는 Parity 2)를 생성시키며, 개별 메모리 다이에서 하나의 패러티 그룹의 복수의 페이지에 데이터와 패러티(Parity 1)를 쓴 후 나머지 패러티 그룹의 복수의 페이지에 데이터와 패러티(Parity 2)를 쓴다.Referring to FIG. 6, when the controller 90 strips data on a plurality of memory dies along an individual word line WL through the controller 90, (Parity 1 or Parity 2) for the data so that the word lines Oa, Ob, Oc, Od belong to different parity groups, and a plurality of pages of one parity group (Parity 1) and writes data and parity (Parity 2) to a plurality of pages of the remaining parity group.

여기서, 상기 패러티 그룹은 동일 층(layer)에서 짝수 워드선들(0a, 0c)과 홀수 워드선들(0b, 0d)로 나누어 생성된다.Here, the parity group is divided into even word lines (0a, 0c) and odd word lines (0b, 0d) in the same layer.

도 7을 참조하면, 상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(Oa, Ob, Oc, Od)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Even LSB Parity, Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity 또는 Odd MSB Parity)를 생성시키며, 개별 메모리 다이에서 하나의 패러티 그룹의 복수의 페이지에 데이터와 패러티(Even LSB Parity)를 쓴 후 나머지 패러티 그룹의 복수의 페이지에 데이터와 패러티(Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity, Odd MSB Parity)를 쓴다.Referring to FIG. 7, when the controller 90 strips data along a word line WL to a plurality of memory dies, the controller 90 determines whether adjacent (Even LSB Parity, Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity, or Odd MSB) for data so that the word lines Oa, Ob, Oc and Od belong to different parity groups. Parity (Even LSB Parity) is written to a plurality of pages of one parity group in an individual memory die, and data and parity (Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity, and Odd MSB Parity).

여기서, 상기 개별 페이지는 개별 워드 선(WL)을 따라 복수의 셀을 포함한다. 상기 셀은 데이터를 복수의 비트(bit)로 갖는다. 상기 개별 워드 선(WL)은 셀 별로 복수의 비트에 각각 대응되는 복수의 비트 페이지를 가지고, 상기 패러티(Even LSB Parity, Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity 또는 Odd MSB Parity)는 개별 페이지에 저장된다.Here, the individual pages include a plurality of cells along individual word lines WL. The cell has data in a plurality of bits. The individual word lines WL have a plurality of bit pages corresponding to a plurality of bits on a cell-by-cell basis. The parity (even LSB Parity, Odd LSB Parity, Even CSB Parity, Odd CSB Parity, Even MSB Parity, ) Are stored in separate pages.

또한, 상기 컨트롤러(90)는 개별 메모리 다이에서 개별 워드 선(WL)의 셀에 복수의 비트 페이지를 연속적으로 쓴다.In addition, the controller 90 continuously writes a plurality of bit pages in a cell of an individual word line WL in an individual memory die.

도 8을 참조하면, 상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(Oa, Ob, Oc, Od)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Parity 0a(LSB, CSB 또는 MSB), Parity 0b(LSB, CSB 또는 MSB), Parity 0c(LSB, CSB 또는 MSB) 또는 Parity 0d(LSB, CSB 또는 MSB))를 생성시키며, 개별 메모리 다이에서 하나의 패러티 그룹의 복수의 페이지에 데이터와 패러티(Parity 0a(LSB, CSB 또는 MSB))를 쓴 후 나머지 패러티 그룹의 복수의 페이지에 데이터와 패러티(Parity 0b(LSB, CSB 또는 MSB), Parity 0c(LSB, CSB 또는 MSB) 또는 Parity 0d(LSB, CSB 또는 MSB))를 쓴다.8, when the controller 90 strips data on a plurality of memory dies along an individual word line WL through the controller 90, the controller 90 determines whether adjacent Parity 0a (LSB, CSB or MSB), Parity 0b (LSB, CSB or MSB), Parity 0c (LSB, CSB or MSB) (LSB, CSB, or MSB) to a plurality of pages of one parity group on an individual memory die, and generates parity 0b (LSB, CSB, or MSB) Write Parity 0b (LSB, CSB or MSB), Parity 0c (LSB, CSB or MSB) or Parity 0d (LSB, CSB or MSB) to multiple pages of the remaining parity group.

여기서, 상기 개별 페이지는 개별 워드 선(WL)을 따라 복수의 셀을 포함한다. 상기 셀은 데이터를 복수의 비트(bit)로 갖는다. 상기 개별 워드 선(WL)은 셀 별로 복수의 비트에 각각 대응되는 복수의 비트 페이지를 가지고, 상기 패러티(Parity 0a(LSB, CSB 또는 MSB), Parity 0b(LSB, CSB 또는 MSB), Parity 0c(LSB, CSB 또는 MSB) 또는 Parity 0d(LSB, CSB 또는 MSB))는 개별 페이지에 저장된다.Here, the individual pages include a plurality of cells along individual word lines WL. The cell has data in a plurality of bits. The individual word lines WL have a plurality of bit pages corresponding to a plurality of bits on a cell-by-cell basis. The parity 0a (LSB, CSB or MSB), Parity 0b (LSB, CSB or MSB) LSB, CSB, or MSB) or Parity 0d (LSB, CSB, or MSB)) are stored in separate pages.

또한, 상기 컨트롤러는 개별 메모리 다이에서 하나의 비트 페이지를 쓴 후 나머지 비트 페이지를 순차적으로 쓴다.In addition, the controller writes one bit page in an individual memory die and then writes the remaining bit pages sequentially.

도 9 및 10은 도 5의 복수의 메모리 다이에서 하나의 셀에 비트 페이지 별로 데이터와 패러티를 쓴 후 나머지 셀에 비트 페이지 별로 데이터와 패러티를 쓰는 블럭도이다. 여기서, 도 9 및 10은 도 2 내지 도 5를 참조하여 설명하기로 한다. 또한, 상기 패러티는 '해결하고자 하는 과제'와'본 발명의 효과'에 상세하게 기재된 바와 같이 솔리드 스테이트 드라이브의 컨트롤러를 사용하여 컨트롤러의 내부에 구비되는 에스램에서 하나의 패러티 임시 저장 영역에 형성된다. 따라서, 상기 에스램에서 패러티의 생성은 컨트롤러의 동작을 통해 수행되므로 컨트롤러에 의해 에스램의 설명을 갈음한다.FIGS. 9 and 10 are block diagrams for writing data and parity for each bit page in one cell in the plurality of memory dies of FIG. 5, and then writing data and parity for each bit page in remaining cells. Here, Figs. 9 and 10 will be described with reference to Figs. 2 to 5. Fig. In addition, the parity is formed in one parity temporary storage area in the ESRAM provided in the controller using the controller of the solid state drive as described in detail in "Problem to be Solved" and "Effect of the Invention" . Therefore, the generation of parity in the ESRAM is performed through the operation of the controller, so the description of the ESRAM is omitted by the controller.

도 9를 참조하면, 개별 페이지는 복수의 스트링(string)과 교차 영역에 복수의 셀(cell)을 가지면서 개별 셀에 데이터를 복수의 비트(bit)로 저장하여 복수 타입의 비트 페이지(a plurality of bit page)를 갖는다. Referring to FIG. 9, an individual page has a plurality of strings and a plurality of cells in an intersecting area, while storing data in individual cells in a plurality of bits to form a plurality of types of bit pages of bit page.

상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(0a, 0b, 0c, 0d)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Even W/L 3-page parity 또는 Odd W/L 3-page parity)를 생성시키며, 복수의 메모리 다이에서 개별 워드 선에 대응되는 개별 페이지에, 한 타입(one type)의 비트 페이지 별로 데이터와 패러티(Even W/L 3-page parity)를 쓴 후 나머지 타입(the remaining type)의 비트 페이지 별로 데이터와 패러티(Odd W/L 3-page parity)를 쓴다.When the controller 90 strips the data along the individual word lines WL to a plurality of memory dies, the controller 90 controls the adjacent word lines 0a, 0b L 3-page parity or Odd W / L 3-page parity) for the data so as to belong to different parity groups, Data and parity (Even W / L 3-page parity) for one type of bit page are written in an individual page corresponding to a word line, and data and parity Odd W / L 3-page parity.

도 10을 참조하면, 개별 페이지는 복수의 스트링(string)과 교차 영역에 복수의 셀(cell)을 가지면서 개별 셀에 데이터를 복수의 비트(bit)로 저장하여 복수 타입의 비트 페이지(bit page)를 갖는다. Referring to FIG. 10, an individual page has a plurality of strings and a plurality of cells in an intersecting area, and stores data in individual cells in a plurality of bits to form a plurality of types of bit pages ).

상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(0a, 0b, 0c, 0d)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Parity 0a, Parity 0b, Parity 0c 또는 Parity 0d)를 생성시키며, 복수의 메모리 다이에서 개별 워드 선에 대응되는 개별 페이지에, 한 타입의 비트 페이지 별로 데이터와 패러티(Parity 0a)를 쓴 후 나머지 타입의 비트 페이지 별로 데이터와 패러티(Parity 0b, Parity 0c 또는 Parity 0d)를 쓴다.When the controller 90 strips the data along the individual word lines WL to a plurality of memory dies, the controller 90 controls the adjacent word lines 0a, 0b (Parity 0a, Parity 0b, Parity 0c, or Parity 0d) for the data to be included in different parity groups, and to generate parity After writing data and parity (Parity 0a) for each type of bit page in the page, data and parity (Parity 0b, Parity 0c, or Parity 0d) are written for the remaining types of bit pages.

여기서, 상기 데이터가 복수의 메모리 다이에 스트라이핑 라이트(striping write)될 때, 상기 개별 메모리 다이의 동일 층(layer)에서 인접한 워드 선들(0a, 0b, 0c, 0d)은 서로 다른 스트라이핑(striping) 그룹에 속한다.Here, when the data is striped write to a plurality of memory dies, adjacent word lines (0a, 0b, 0c, 0d) in the same layer of the individual memory die are connected to different striping groups .

도 11은 개별 메모리 다이의 복수 층에서 개별 층 마다 인접한 워드 선들에 순차적으로 동일하게 적용되는 패러티 그룹에 속하도록 데이터에 대한 패러티를 생성시키는 블럭도이다. 여기서, 도 11은 도 2 내지 도 5를 참조하여 설명하기로 한다. 또한, 상기 패러티는 '해결하고자 하는 과제'와' 본 발명의 효과'에 상세하게 기재된 바와 같이 솔리드 스테이트 드라이브의 컨트롤러를 사용하여 컨트롤러의 내부에 구비되는 에스램에서 하나의 패러티 임시 저장 영역에 형성된다. 따라서, 상기 에스램에서 패러티의 생성은 컨트롤러의 동작을 통해 수행되므로 컨트롤러에 의해 에스램의 설명을 갈음한다.11 is a block diagram for generating a parity for data to belong to a parity group that is applied sequentially in succession to adjacent word lines for each individual layer in a plurality of layers of an individual memory die. Here, FIG. 11 will be described with reference to FIGS. 2 to 5. In addition, the parity is formed in one parity temporary storage area in the ESRAM provided in the controller using the controller of the solid state drive as described in detail in "Problem to be Solved" and "Effect of the Invention" . Therefore, the generation of parity in the ESRAM is performed through the operation of the controller, so the description of the ESRAM is omitted by the controller.

도 11을 참조하면, 상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는 동일 층(layer)에서 인접한 워드 선들(0a, 0b, 0c, 0d)을 서로 다른 패러티 그룹(parity group)에 속하도록 데이터에 대한 패러티(Parity a copy, Parity b copy, Parity c copy 또는 Parity d copy)를 생성시키며, 개별 메모리 다이의 복수 층(layer)에서 개별 층(layer) 마다 인접한 워드 선들(0a, 0b, 0c, 0d)에 순차적으로 동일하게 적용되는 패러티 그룹에 속하도록 데이터에 대한 패러티(Parity a copy, Parity b copy, Parity c copy 또는 Parity d copy)를 생성시킨다.11, when the controller 90 strips data on a plurality of memory dies along an individual word line WL through the controller 90, the controller 90 determines whether adjacent A parity copy, a parity copy, or a parity copy) for the data so that the word lines 0a, 0b, 0c, and 0d belong to different parity groups, (Parity a copy, Parity b copy) for the data so as to belong to the parity group which is sequentially applied to the adjacent word lines 0a, 0b, 0c, and 0d for each individual layer in a plurality of layers of the die , Parity c copy, or Parity d copy).

상기 컨트롤러(90)는 개별 메모리 다이의 복수 층(layer) 중 하나의 층(layer)에서 생성된 패러티를 외부 메모리에 옮겨둔 후 다음 층(layer)에서 데이터를 쓰기 시작할 때 하나의 층(layer)의 패러티 그룹의 패러티를 가져와서 패러티 연산을 수행한다. 상기 외부 메모리는 컨트롤러(90) 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM; 30)를 포함한다. 변형 예로써, 상기 외부 메모리는, 유저 호스트(10)에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM; 도면에 미 도시)를 포함하며 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 컨트롤러(90)를 통해 반도체 칩(100)과 패러티를 주고 받는다.The controller 90 transfers a parity generated in one of a plurality of layers of an individual memory die to an external memory and then writes the data in one layer when starting writing data in the next layer. And performs a parity operation on the parity group. The external memory includes a dynamic random access memory (DRAM) 30 located around the controller 90. The external memory includes a dynamic random access memory (DRAM) (not shown) provided in the user host 10 and allocates a part of the dynamic random access memory to the semiconductor chip 100) and parity.

이와 유사하게, 상기 컨트롤러(90)를 통해 개별 워드 선(WL)을 따라 데이터를 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러(90)는, 개별 메모리 다이의 동일 층(layer)에서 개별 워드 선(WL)에 데이터를 쓰고 패러티를 생성하고, 개별 메모리 다이의 복수 층(layer)에서 개별 층(layer) 마다 동일하게 반복되는 워드 선(WL)들을 포함하는 패러티 그룹을 구성한다. Similarly, when striping data across a plurality of memory dies along an individual word line WL through the controller 90, the controller 90 may control the same layer of the individual memory die , A parity group including a plurality of word lines WL repeatedly formed in a plurality of layers on an individual memory die is formed for each individual layer .

또한, 상기 컨트롤러(90)는 개별 메모리 다이의 복수 층(layer) 중 하나의 층(layer)에서 생성된 패러티(Parity a copy, Parity b copy, Parity c copy 또는 Parity d copy)를 외부 메모리에 옮겨둔 후 다음 층(layer)에서 데이터를 쓰기 시작할 때 하나의 층(layer)의 패러티 그룹의 패러티(Parity a copy, Parity b copy, Parity c copy 또는 Parity d copy)를 가져와서 패러티 연산을 수행한다.In addition, the controller 90 transfers a parity (parity a copy, parity c copy, or parity d copy) generated in one of a plurality of layers of an individual memory die to an external memory (Parity a copy, Parity c copy, or Parity d copy) of a parity group of one layer at the start of writing data in the next layer, and performs a parity operation.

여기서, 상기 외부 메모리는 컨트롤러(90) 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM; 10)를 포함한다. 변형 예로써, 상기 외부 메모리는, 유저 호스트(10)에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM; 도면에 미 도시)를 포함하며 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 컨트롤러(90)를 통해 반도체 칩(100)과 패러티(Parity a copy, Parity b copy, Parity c copy 또는 Parity d copy)를 주고 받는다.Here, the external memory includes a dynamic random access memory (DRAM) 10 located around the controller 90. The external memory includes a dynamic random access memory (DRAM) (not shown) provided in the user host 10 and allocates a part of the dynamic random access memory to the semiconductor chip 100) and parity (parity a copy, parity c copy, or parity d copy).

layer; 층, 0a, 0b, 0c, 0d; 워드 라인
parity; 패러티.
layer; Layer, 0a, 0b, 0c, 0d; Word line
parity; Parity.

Claims (14)

컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하는 보조 기억 장치에 있어서,
개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고,
상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 개별 메모리 다이에서 하나의 패러티 그룹의 복수의 페이지에 데이터와 패러티를 쓴 후 나머지 패러티 그룹의 복수의 페이지에 데이터와 패러티를 쓰는 보조 기억 장치.
An auxiliary memory device for managing the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller,
The discrete semiconductor chips include a plurality of memory dies electrically connected to each other, the discrete memory dies include a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise two And a plurality of word lines sequentially stacked along individual vertical NAND channels with a plurality of dimensionally arranged vertical NAND channels, wherein each word line includes data associated with the requested command of the user host date as a unit of reading or writing a plurality of pages,
Wherein the controller is configured to strip the adjacent word lines in the same layer to a different parity group when striping the data along the individual word lines through the controller to the plurality of memory dies, Write data and parity to a plurality of pages of one parity group in the individual memory die, and write data and parity to a plurality of pages of the remaining parity group in the separate memory die.
제1 항에 있어서,
상기 패러티 그룹은 상기 동일 층에서 짝수 워드선들과 홀수 워드선들로 나누어 생성되는 보조 기억 장치.
The method according to claim 1,
Wherein the parity group is generated by dividing into even-numbered word lines and odd-numbered word lines in the same layer.
제1 항에 있어서,
상기 개별 메모리 블럭은,
상기 개별 페이지와 개별 스트링(string)의 교차 영역에 셀(cell)을 포함하고,
상기 개별 페이지는 상기 개별 워드 선을 따라 복수의 셀을 포함하고,
상기 셀은 상기 데이터를 복수의 비트(bit)로 가지며,
상기 개별 워드 선은 셀 별로 상기 복수의 비트에 각각 대응되는 복수의 비트 페이지를 가지고,
상기 parity는 상기 개별 페이지에 저장되는 보조 기억 장치.
The method according to claim 1,
Wherein the individual memory block comprises:
A cell in an intersecting region of the individual page and an individual string,
The individual pages comprising a plurality of cells along the individual word lines,
The cell having the data as a plurality of bits,
The individual word lines having a plurality of bit pages each corresponding to the plurality of bits for each cell,
And said parity is stored in said separate page.
제3 항에 있어서,
상기 컨트롤러는 상기 개별 메모리 다이에서 상기 개별 워드 선의 상기 셀에 상기 복수의 비트 페이지를 연속적으로 쓰는 보조 기억 장치.
The method of claim 3,
The controller continuously writes the plurality of bit pages to the cell of the individual word line in the separate memory die.
제3 항에 있어서,
상기 컨트롤러는 상기 개별 메모리 다이에서 하나의 비트 페이지를 쓴 후 나머지 비트 페이지를 순차적으로 쓰는 보조 기억 장치.
The method of claim 3,
The controller writes one bit page in the separate memory die and then writes the remaining bit pages sequentially.
컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하는 보조 기억 장치에 있어서,
개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고,
개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고, 개별 페이지는 복수의 스트링(string)과 교차 영역에 복수의 셀(cell)을 가지면서 개별 셀에 상기 데이터를 복수의 비트(bit)로 저장하여 복수 타입의 비트 페이지(bit page)를 가지고,
상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 복수의 메모리 다이에서 상기 개별 워드 선에 대응되는 상기 개별 페이지에, 한 타입의 비트 페이지 별로 데이터와 패러티를 쓴 후 나머지 타입의 비트 페이지 별로 데이터와 패러티를 쓰는 보조 기억 장치.
An auxiliary memory device for managing the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller,
The discrete semiconductor chips include a plurality of memory dies electrically connected to each other, the discrete memory dies include a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise two A plurality of word lines having a plurality of dimensionally arranged vertical NAND channels and sequentially stacked along individual vertical NAND channels,
Each word line has a plurality of pages as a unit for reading or writing data related to a requested command of the user host, and each page has a plurality of strings and a plurality of cells ) Having a plurality of types of bit pages by storing the data in a plurality of bits in an individual cell,
Wherein the controller is configured to strip the adjacent word lines in the same layer to a different parity group when striping the data along the individual word lines through the controller to the plurality of memory dies, Data and parity for each type of bit page are written in the individual pages corresponding to the individual word lines in the plurality of memory dies and data and parity Auxiliary memory for writing.
제6 항에 있어서,
상기 데이터가 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)될 때,
상기 개별 메모리 다이의 동일 층에서 인접한 워드 선들은 서로 다른 스트라이핑(striping) 그룹에 속하는 보조 기억 장치.
The method according to claim 6,
When the data is striped write to the plurality of memory dies,
Wherein adjacent word lines in the same layer of the individual memory die belong to different striping groups.
컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하는 보조 기억 장치에 있어서,
개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고,
상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는 동일 층에서 인접한 워드 선들을 서로 다른 패러티 그룹(parity group)에 속하도록 상기 데이터에 대한 패러티(parity)를 생성시키며, 상기 개별 메모리 다이의 복수 층에서 개별 층 마다 상기 인접한 워드 선들에 순차적으로 동일하게 적용되는 패러티 그룹에 속하도록 상기 데이터에 대한 패러티를 생성시키고, 상기 개별 메모리 다이의 상기 복수 층 중 하나의 층에서 생성된 패러티를 외부 메모리에 옮겨둔 후 다음 층에서 상기 데이터를 쓰기 시작할 때 상기 하나의 층의 패러티 그룹의 패러티를 가져와서 패러티 연산을 수행하는 보조 기억 장치.
An auxiliary memory device for managing the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller,
The discrete semiconductor chips include a plurality of memory dies electrically connected to each other, the discrete memory dies include a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise two And a plurality of word lines sequentially stacked along individual vertical NAND channels with a plurality of dimensionally arranged vertical NAND channels, wherein each word line includes data associated with the requested command of the user host date as a unit of reading or writing a plurality of pages,
Wherein the controller is configured to strip the adjacent word lines in the same layer to a different parity group when striping the data along the individual word lines through the controller to the plurality of memory dies, Generating a parity for the data so as to belong to a parity group sequentially applied to the adjacent word lines for each individual layer in a plurality of layers of the individual memory die, Transferring a parity generated in one of the plurality of layers of the die to an external memory and fetching a parity of the parity group of the one layer when the data starts to be written in the next layer to perform a parity operation.
삭제delete 제8 항에 있어서,
상기 외부 메모리는 상기 컨트롤러 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하는 보조 기억 장치.
9. The method of claim 8,
Wherein the external memory comprises a dynamic random access memory (DRAM) located around the controller.
제8 항에 있어서,
상기 외부 메모리는,
상기 유저 호스트에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하며 상기 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 상기 컨트롤러를 통해 상기 반도체 칩과 상기 패러티를 주고 받는 보조 기억 장치.
9. The method of claim 8,
The external memory includes:
And a dynamic random access memory (DRAM) provided in the user host and allocating a part of the dynamic random access memory to exchange the parity with the semiconductor chip through the controller.
컨트롤러(controller)를 통해 유저 호스트(user host)의 요청된 명령을 처리하여 복수의 반도체 칩(semiconductor chip)의 동작을 관장하는 보조 기억 장치에 있어서,
개별 반도체 칩은 서로에 대해 전기적으로 접속하는 복수의 메모리 다이(memory die)를 포함하고, 개별 메모리 다이는 3차원으로 배열되어 이루어진 복수의 메모리 블럭(memory block)을 포함하고, 개별 메모리 블럭은 2차원적으로 배열된 복수의 수직 NAND 채널을 가지면서 개별 수직 NAND 채널을 따라 순차적으로 적층되는 복수의 워드 선(word line)을 포함하고, 개별 워드 선은 상기 유저 호스트의 요청된 명령과 관련된 데이터(date)의 읽기 또는 쓰기 단위로서 페이지(page)를 복수 개로 가지고,
상기 컨트롤러를 통해 상기 개별 워드 선을 따라 상기 데이터를 상기 복수의 메모리 다이에 스트라이핑 라이트(striping write)할 때, 상기 컨트롤러는, 개별 메모리 다이의 동일 층에서 개별 워드 선에 상기 데이터를 쓰고 패러티를 생성하고, 개별 메모리 다이의 복수 층에서 개별 층 마다 동일하게 반복되는 워드 선들을 포함하는 패러티 그룹을 구성하고, 상기 개별 메모리 다이의 상기 복수 층 중 하나의 층에서 생성된 패러티를 외부 메모리에 옮겨둔 후 다음 층에서 상기 데이터를 쓰기 시작할 때 상기 하나의 층의 패러티 그룹의 패러티를 가져와서 패러티 연산을 수행하는 보조 기억 장치.
An auxiliary memory device for managing the operation of a plurality of semiconductor chips by processing a requested command of a user host through a controller,
The discrete semiconductor chips include a plurality of memory dies electrically connected to each other, the discrete memory dies include a plurality of memory blocks arranged in three dimensions, and the individual memory blocks comprise two And a plurality of word lines sequentially stacked along individual vertical NAND channels with a plurality of dimensionally arranged vertical NAND channels, wherein each word line includes data associated with the requested command of the user host date as a unit of reading or writing a plurality of pages,
When the controller strips the data along the individual word lines to the plurality of memory dies, the controller writes the data to individual word lines in the same layer of an individual memory die and generates a parity A parity group including word lines which are repeated in the same manner for each individual layer in a plurality of layers of the individual memory dies is constructed and the parity generated in one of the plural layers of the individual memory dies is transferred to the external memory And when the data is written in the next layer, fetches the parity of the parity group of the one layer to perform the parity operation.
제12 항에 있어서,
상기 외부 메모리는 상기 컨트롤러 주변에 위치되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하는 보조 기억 장치.
13. The method of claim 12,
Wherein the external memory comprises a dynamic random access memory (DRAM) located around the controller.
제12 항에 있어서,
상기 외부 메모리는,
상기 유저 호스트에 구비되는 다이내믹 랜덤 억세스 메모리(DRAM)를 포함하며 상기 다이내믹 랜덤 억세스 메모리의 일부를 할당하여 상기 컨트롤러를 통해 상기 반도체 칩과 상기 패러티를 주고 받는 보조 기억 장치.


13. The method of claim 12,
The external memory includes:
And a dynamic random access memory (DRAM) provided in the user host and allocating a part of the dynamic random access memory to exchange the parity with the semiconductor chip through the controller.


KR1020180017013A 2018-02-12 2018-02-12 Auxiliary memory unit KR101877824B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180017013A KR101877824B1 (en) 2018-02-12 2018-02-12 Auxiliary memory unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180017013A KR101877824B1 (en) 2018-02-12 2018-02-12 Auxiliary memory unit

Publications (1)

Publication Number Publication Date
KR101877824B1 true KR101877824B1 (en) 2018-07-12

Family

ID=62919713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180017013A KR101877824B1 (en) 2018-02-12 2018-02-12 Auxiliary memory unit

Country Status (1)

Country Link
KR (1) KR101877824B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018451A (en) * 2013-07-11 2015-01-29 株式会社東芝 Memory controller, storage device, and memory control method
US20160004596A1 (en) * 2014-07-07 2016-01-07 Sandisk Technologies Inc. Data storage device with in-memory parity circuitry
KR20160050961A (en) * 2014-10-31 2016-05-11 에스케이하이닉스 주식회사 Memory device which corrects error and method of correcting error
KR20160097657A (en) * 2015-02-09 2016-08-18 에스케이하이닉스 주식회사 Data storage device and operating method thereof
KR20170083386A (en) * 2016-01-08 2017-07-18 에스케이하이닉스 주식회사 Data storage device and operating method thereof
US20170293527A1 (en) * 2016-04-12 2017-10-12 Apple Inc. Data recovery in memory having multiple failure modes
KR20180008219A (en) * 2016-07-15 2018-01-24 삼성전자주식회사 Memory System performing RAID recovery and Operating Method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018451A (en) * 2013-07-11 2015-01-29 株式会社東芝 Memory controller, storage device, and memory control method
US20160004596A1 (en) * 2014-07-07 2016-01-07 Sandisk Technologies Inc. Data storage device with in-memory parity circuitry
KR20160050961A (en) * 2014-10-31 2016-05-11 에스케이하이닉스 주식회사 Memory device which corrects error and method of correcting error
KR20160097657A (en) * 2015-02-09 2016-08-18 에스케이하이닉스 주식회사 Data storage device and operating method thereof
KR20170083386A (en) * 2016-01-08 2017-07-18 에스케이하이닉스 주식회사 Data storage device and operating method thereof
US20170293527A1 (en) * 2016-04-12 2017-10-12 Apple Inc. Data recovery in memory having multiple failure modes
KR20180008219A (en) * 2016-07-15 2018-01-24 삼성전자주식회사 Memory System performing RAID recovery and Operating Method thereof

Similar Documents

Publication Publication Date Title
US10732847B2 (en) Optimistic read operation
CN108694128B (en) Memory system and method for data storage
US11797383B2 (en) Redundant array of independent NAND for a three-dimensional memory array
US10929285B2 (en) Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer
US10372603B2 (en) Handling of unaligned writes
US20200183600A1 (en) Controller and storage device including controller and nonvolatile memory devices
EP2106587B1 (en) Programming management data for nand memories
US11836354B2 (en) Distribution of logical-to-physical address entries across multiple memory areas
KR20170064992A (en) Flash memory device including address mapping for deduplication, and related methods
US9905294B1 (en) Writing logically offset pages of data to N-level memory cells coupled to a common word line
US11138069B2 (en) Providing additional parity for non-standard sized parity data sets
US20180211707A1 (en) Semiconductor memory device and method of controlling semiconductor memory device
US10713157B2 (en) Storage system and method for improving read performance using multiple copies of a logical-to-physical address table
US11442666B2 (en) Storage system and dual-write programming method with reverse order for secondary block
KR20180045220A (en) Data storage system for implementing data rebuild operation with reduced read request
US20200379903A1 (en) Staggered garbage collection unit (gcu) allocation across dies
US10896002B2 (en) Reverse directory structure in a garbage collection unit (GCU)
KR101877824B1 (en) Auxiliary memory unit
US20220283728A1 (en) Method for redundant array of independent disks striping against programming failures and apparatus thereof
US11429663B2 (en) Storage system and method for host-assisted memory block color coding for faster media search
US11640336B2 (en) Fast cache with intelligent copyback
US11972155B2 (en) System and apparatus for redundant array of independent disks striping against programming failures
US20230072348A1 (en) System and apparatus for redundant array of independent disks striping against programming failures
US11645003B2 (en) Memory system generating parity data based on written data and control method
US20240143509A1 (en) Data Storage Device and Method for Handling Write Commands in Zoned Storage

Legal Events

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