KR20090096866A - Non volatile memory device and method of operating the same - Google Patents
Non volatile memory device and method of operating the same Download PDFInfo
- Publication number
- KR20090096866A KR20090096866A KR1020080021941A KR20080021941A KR20090096866A KR 20090096866 A KR20090096866 A KR 20090096866A KR 1020080021941 A KR1020080021941 A KR 1020080021941A KR 20080021941 A KR20080021941 A KR 20080021941A KR 20090096866 A KR20090096866 A KR 20090096866A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bit
- bits
- read
- memory cells
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
Description
본 발명은 불휘발성 메모리 소자의 동작에 관한 것으로, 특히 별도의 에러 보정 회로가 없이 저장된 데이터의 독출 에러를 줄일 수 있는 불휘발성 메모리 소자 및 그 동작 방법에 관한 것이다.BACKGROUND OF THE
불휘발성 메모리인 플래시 메모리는 일반적으로 NAND 플래시 메모리와, NOR 플래시 메모리로 구분된다. NOR 플래시 메모리는 메모리 셀들이 각각 독립적으로 비트 라인과 워드 라인에 연결되는 구조를 가지므로 랜덤 액세스 시간 특성이 우수한 반면에, NAND 플래시 메모리는 복수개의 메모리 셀들이 직렬로 연결되어 셀 스트링 당 한 개의 컨택만을 필요로 하므로 집적도면에서 우수한 특성을 갖는다. 따라서 고집적 플래시 메모리에는 주로 NAND 구조가 사용되고 있다.Flash memory, which is a nonvolatile memory, is generally classified into a NAND flash memory and a NOR flash memory. NOR flash memory has a good random access time characteristic because memory cells are independently connected to bit lines and word lines, whereas NAND flash memory has a plurality of memory cells connected in series so that one contact per cell string is provided. Since only requires, it has excellent characteristics in terms of integration degree. Therefore, a NAND structure is mainly used for highly integrated flash memory.
잘 알려진 NAND 플래시 메모리 장치는 메모리 셀 어레이, 행 디코더, 페이지 버퍼를 포함한다. 상기 메모리 셀 어레이는 행들을 따라 신장된 복수개의 워드 라인들과 열들을 따라 신장된 복수개의 비트라인들과 상기 비트라인들에 각각 대응되는 복수개의 셀 스트링들로 이루어진다.Well known NAND flash memory devices include memory cell arrays, row decoders, and page buffers. The memory cell array includes a plurality of word lines extending along rows and a plurality of bit lines extending along columns and a plurality of cell strings corresponding to the bit lines, respectively.
도 1은 일반적인 메모리 장치의 구성을 나타낸 블록도이다.1 is a block diagram illustrating a configuration of a general memory device.
도 1을 참조하면, 메모리 장치(100)는 데이터 저장을 위한 메모리 소자(110)와, 상기 메모리 소자(110)의 동작을 외부 입력 명령에 따라 제어하기 위한 컨트롤러(120)를 포함한다.Referring to FIG. 1, the
상기 메모리 소자(110)는 플래시 메모리 소자와 같이 별도의 제어부를 포함하고 있고, 데이터를 저장하는 메모리 셀들과, 데이터 저장 및 독출 동작을 위한 주변 회로 등을 포함하고 있다.The
컨트롤러(120)는 상기 메모리 장치(100)가 장착되어 동작하는 시스템으로부터의 명령에 의해 상기 메모리 소자(110)에 데이터를 전달하거나 상기 메모리 소자(110)에서 출력되는 데이터를 오류 정정을 한 후 시스템으로 전달하는 등의 제어동작을 수행한다.The
상기 컨트롤러(120)는 에러 정정을 위한 ECC(Error checking and correction)를 포함하여(121) 입력되는 데이터의 에러를 정정하여 메모리 소자(110)로 전달하거나, 메모리 소자(110)에서 독출된 데이터의 에러를 정정하여 시스템을 전달한다.The
도 2는 도 1의 데이터 입출력 방법의 동작 순서도이다.FIG. 2 is a flowchart illustrating an operation of the data input / output method of FIG. 1.
도 2를 참조하면, 시스템에서 저장할 데이터가 입력되면(S201), 컨트롤러(120)의 ECC(121)에서 입력되는 데이터의 에러 정정을 수행한다(S203). 이때 에러 정정은 입력 과정에서의 에러가 발생할 수 있기 때문에 이를 정정하는 것이다.Referring to FIG. 2, when data to be stored in the system is input (S201), error correction of data input from the
상기 단계S203에서 에러 정정된 데이터는 메모리 소자(110)로 전달되어, 메 모리 소자(110)의 메모리 셀에 저장된다(S205). 이때 데이터를 메모리 셀에 저장하는 과정은 일반적인 플래시 메모리 소자의 프로그램 동작에 의해 수행된다.The error corrected data in step S203 is transferred to the
단계S205에서 메모리 소자(110)에 저장된 데이터를 이후에 독출 명령에 의해 독출할 때(S207), 메모리 소자(110)는 메모리 셀에 저장된 데이터를 내부의 회로들의 독출 동작에 의해 독출하고(S209), 독출된 데이터는 컨트롤러(120)로 전달된다.When data stored in the
컨트롤러(120)의 ECC(121)는 메모리 소자(110)에서 전달된 데이터의 에러 정정을 수행한다(S211). 상기 에러 정정은 메모리 소자(110)의 독출시 메모리 셀이 페일 나거나, 독출 마진(margin)이 부족하여 발생되는 에러를 정정하기 위함이다.The
컨트롤러(120)는 에러 정정이 완료된 독출 데이터를 외부 시스템으로 전달한다(S213).The
상기 도 2와 같은 에러 정정 방식은 메모리 소자(110)에 독출 데이터 에러를 컨트롤러(120)가 제공하는 ECC(121)의 도움을 받아 정정하는 과정이다. 따라서 컨트롤러(120)의 ECC(121)가 반드시 필요하다. 그리고 컨트롤러(120)의 ECC(121))의 도움이 없이 에러 정정을 하기 위해서는 메모리 소자(110)에 에러 정정을 위한 ECC 기능을 위한 회로를 메모리 소자(110)가 포함하고 있어야 한다.2 is a process of correcting a read data error in the
따라서 본 발명이 이루고자 하는 기술적 과제는 데이터 에러를 별도의 에러 보정 회로가 없이 보정할 수 있게 하는 불휘발성 메모리 소자 및 그 동작 방법을 제공하는데 있다.Accordingly, an aspect of the present invention is to provide a nonvolatile memory device and an operation method thereof capable of correcting a data error without a separate error correction circuit.
본 발명의 특징에 따른 불휘발성 메모리 소자는,Nonvolatile memory device according to a feature of the present invention,
데이터를 설정된 횟수만큼 반복하여 프로그램되도록 제어하는 제어부; 및 상기 프로그램된 데이터를 독출할 때, 반복하여 프로그램된 데이터의 독출 결과에 따라 제 1 비트 및 제 2 비트의 개수를 카운트하고, 상기 카운트 결과에 따라 다수의 비트를 출력 데이터로 판단하는 다수 비트 판단부를 포함한다.A control unit which controls to program the data repeatedly a set number of times; And a plurality of bit determinations for counting the number of first bits and second bits according to the read result of the repeatedly programmed data when reading the programmed data, and determining the plurality of bits as output data according to the count result. Contains wealth.
상기 다수 비트 판단부는, 상기 카운트 결과 제 1 비트와 제 2 비트의 개수가 동일한 경우, 독출 에러를 출력하도록 하는 것을 특징으로 한다.The multi-bit determination unit may output a read error when the number of first bits and second bits is the same as the count result.
상기 반복하여 프로그램하는 것은, 설정된 횟수만큼 컬럼 어드레스가 연속되는 메모리 셀에 동일한 데이터를 프로그램하는 것을 특징으로 한다.The repetitive programming is characterized in that the same data is programmed in a memory cell in which column addresses are consecutive for a set number of times.
상기 반복하여 프로그램된 데이터를 독출하여 다수 비트를 판단하는 것은, 상기 설정된 횟수만큼 컬럼 어드레스가 연속되는 메모리 셀을 그룹으로 구분하고, 각각의 그룹의 메모리 셀에서 독출된 데이터를 이용하여 다수 비트 판단을 수행하는 것을 특징으로 한다.The reading of the repeatedly programmed data and determining the plurality of bits may include classifying the memory cells having the column address consecutive as many times as the set number of times, and determining the number of bits using the data read from each group of memory cells. It is characterized by performing.
본 발명의 다른 특징에 따른 불휘발성 메모리 소자는,Nonvolatile memory device according to another aspect of the present invention,
데이터 저장을 위한 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와; 프로그램 데이터를 설정된 횟수만큼 반복하여 상기 메모리 셀들에 프로그램되도록 하고, 상기 프로그램된 데이터를 독출할 때, 반복하여 프로그램된 데이터의 독출 결과에 따라 제 1 비트 및 제 2 비트의 개수를 카운트하고, 상기 카운트 결과에 따라 다수의 데이터를 출력 데이터로 결정하는 제어부를 포함한다.A memory cell array comprising a plurality of memory cells for data storage; Program data is repeatedly programmed a predetermined number of times to be programmed in the memory cells, and when reading the programmed data, the number of first bits and second bits is counted according to a read result of the repeatedly programmed data, and the count And a controller for determining a plurality of data as output data according to the result.
상기 제어부는, 상기 카운트 결과 제 1 비트와 제 2 비트의 개수가 동일한 경우, 독출 에러를 출력하도록 하는 것을 특징으로 한다.The control unit may output a read error when the number of the first bit and the second bit is the same as the count result.
상기 제어부는, 설정된 횟수만큼 컬럼 어드레스가 연속되는 메모리 셀에 동일한 데이터가 프로그램되도록 제어하는 것을 특징으로 한다.The controller may be configured to control the same data to be programmed in a memory cell in which column addresses are consecutive for a set number of times.
상기 제어부가 다수 비트를 판단하는 것은, 상기 설정된 횟수만큼 컬럼 어드레스가 연속되는 메모리 셀을 그룹으로 구분하고, 각각의 그룹의 메모리 셀에서 독출된 데이터를 이용하여 다수 비트 판단을 수행하는 것을 특징으로 한다.The determining of the plurality of bits by the controller may include classifying the memory cells having the column address consecutive as many times as the set number of times, and performing the determination of the number of bits using data read from the memory cells of each group. .
본 발명의 특징에 따른 불휘발성 메모리 소자의 동작 방법은,Method of operating a nonvolatile memory device according to a feature of the present invention,
특정 비트를 제 1 내지 제 N 메모리 셀에 프로그램하는 단계; 상기 제 1 내지 제 N 메모리 셀을 독출하고, 제 1 비트 및 제 2 비트의 각각의 개수를 카운팅하는 단계; 및 상기 카운팅 결과, 다수의 비트를 출력하는 단계를 포함한다.Programming a particular bit into the first through Nth memory cells; Reading the first to Nth memory cells and counting each number of first and second bits; And outputting a plurality of bits as a result of the counting.
상기 제 1 내지 제 N 메모리 셀에 프로그램하는 것은, 상기 비트를 상기 제 1 내지 제 N 메모리 셀에 동일하게 프로그램하고, 상기 제 1 내지 제 N 메모리 셀은 컬럼 어드레스를 갖는 것을 특징으로 한다.The programming of the first to Nth memory cells may include programming the bits to the first to Nth memory cells in the same manner, and the first to Nth memory cells have column addresses.
상기 제 1 비트 및 제 2 비트의 카운팅은, 상기 제 1 내지 제 N 메모리 셀들 을 독출한 결과에 따라서 상기 제 1 비트의 개수를 카운팅하고, 또한 상기 제 2 비트의 개수를 카운팅하는 것을 특징으로 한다.The counting of the first bit and the second bit may include counting the number of the first bit and counting the number of the second bit according to a result of reading the first to Nth memory cells. .
상기 제 1 비트의 개수와 상기 제 2 비트의 개수가 동일한 경우, 독출 에러로 판단하는 것을 특징으로 한다.When the number of the first bit and the number of the second bit are the same, the read error is determined.
상기 독출 에러로 판단되는 경우, 상기 제 1 내지 제 N 메모리 셀을 다시 독출하고, 상기 제 1 비트와 상기 제 2 비트의 개수를 카운팅하는 것을 특징으로 한다.If it is determined that the read error, the first to N-th memory cell is read again, and the number of the first bit and the second bit is counted.
상기 독출 에러로 판단되는 경우, 데이터 독출 에러 정보를 출력하는 것을 특징으로 한다.If it is determined that the read error, the data read error information is output.
이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자 및 그 동작 방법은 에러 보정을 위한 별도의 회로 없이 입력되는 데이터를 여러 번 프로그램하고 독출함으로써 에러를 보정할 수 있도록 한다.As described above, the nonvolatile memory device and its operation method according to the present invention allow to correct an error by programming and reading input data many times without a separate circuit for error correction.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. It is provided to inform you.
도 3은 본 발명의 실시 예에 따른 플래시 메모리 소자의 블록도이다.3 is a block diagram of a flash memory device according to an embodiment of the present invention.
도 3을 참조하면, 플래시 메모리 소자(300)는 메모리 셀 어레이(310)와, 페이지 버퍼부(320)와, Y 디코더(3330)와, 입출력 제어부(340)와, 다수 비트 판단부(350)와, X 디코더(360)와 전압 제공부(370) 및 제어부(380)를 포함한다.Referring to FIG. 3, the
메모리 셀 어레이(310)는 데이터 저장을 위한 메모리 셀들이 직렬로 연결된 셀 스트링들이 복수개 포함되고, 각각의 셀 스트링들은 비트라인(BL)에 연결된다. 또한 상기 비트라인과 직교하는 방향으로 메모리 셀들의 게이트가 워드라인(WL)으로 연결된다. The
페이지 버퍼부(320)는 상기 메모리 셀 어레이(310)의 비트라인에 연결되는 페이지 버퍼(PB)가 복수개 포함되는데, 각각의 페이지 버퍼(PB)는 선택된 메모리 셀에 프로그램할 데이터를 임시 저장하였다가 비트라인을 통해 메모리 셀에 전달하거나, 메모리 셀에 저장된 데이터를 독출하여 저장한다.The
Y 디코더(330)는 입력 어드레스에 따라 페이지 버퍼부(320)의 페이지 버퍼(PB)와 입출력 제어부(340)간에 입출력 경로를 제공한다. 입출력 제어부(340)는 제어부(380)의 제어에 의해 입력되는 데이터를 설정된 횟수만큼 반복해서 Y 디코더(330)를 통해 페이지 버퍼부(320)로 제공한다. 예를 들어 설정된 횟수가 4번이라면, 입출력 제어부(380)는 외부에서 입력되는 데이터를 4번씩 반복하여 페이지 버퍼부(320)로 제공함으로써 4 개의 컬럼에 동일한 데이터가 프로그램되도록 한다.The
또한 입출력 제어부(340)는 메모리 셀 어레이(310)에 저장된 데이터를 독출할 때, 독출되는 데이터를 다수 비트 판단부(350)로 제공하고, 상기 다수 비트 판단부(350)의 판단에 따른 데이터를 출력한다.In addition, when the input /
다수 비트 판단부(350)는 입출력 제어부(360)로부터 제공되는 독출 데이터를 컬럼 어드레스에 따라 동일 데이터 그룹단위로 구분하고, 각각의 그룹에서 많은 수로 나오는 데이터를 결정하여 입출력 제어부(340)를 통해 출력하게 한다.The plurality of
만약 상기 설정된 횟수가 4회이면, 다수 비트 판단부(350)는 제 1 내지 제 4 컬럼 어드레스, 제 5 내지 제 8 컬럼 어드레스와 같이 4 개의 컬럼 단위로 데이터 그룹을 구분하고, 각각의 데이터 그룹에서 독출되는 데이터가 '1' 또는'0' 중에서 많은 것을 판단하여 숫자가 많은 데이터를 해당 그룹의 데이터로 결정한다.If the set number of times is four times, the
X 디코더(360)는 입력 어드레스에 따라 메모리 셀 어레이(310)의 워드라인을 선택한다. 전압 제공부(370)는 제어부(380)의 제어에 따라 상기 X 디코더(360)가 연결하는 워드라인에 제공할 동작 전압을 생성한다.The
제어부(380)는 설정된 횟수만큼 동일한 입력 데이터가 메모리 셀 어레이에 프로그램되고 다수 비트 판단부(350)를 제어하여 독출 데이터들 중 다수 비트를 판단하여 출력할 수 있도록 플래시 메모리 소자(300)의 각각의 블록들을 제어한다. 이때 상기 제어부(380)는 상기 다수비트 판단부(350)와 같은 기능을 포함할 수 있다. 즉 별도의 다수 비트 판단부(350)를 구비하지 않고 제어부(380)의 동작 알고리즘에 포함시켜 구현할 수 있다.The
상기와 같은 본 발명의 실시 예와 같은 플래시 메모리 소자(300)에 데이터를 프로그램할 때는 다음과 같이 데이터 입력 신호에 대한 프로그램할 데이터가 입력된다.When data is programmed into the
도 4a는 본 발명의 실시 예에 따른 프로그램시의 데이터 입력 타이밍도이다.4A is a timing diagram of data input during programming according to an exemplary embodiment of the present invention.
도 4a를 참조하면, 데이터 입력 제어신호(/WE)에 따라 입력되는 프로그램 데이터는 미리 설정된 횟수 4번에 맞추어 4번씩 동일한 데이터가 반복되어 입력된다. 상기 4번씩 동일한 데이터가 입력되도록 제어하는 것은 입출력 제어부(340)가 입력받는 데이터를 제어부(380)의 제어에 따라 4번씩 반복하여 입력되도록 하고, 입력되는 데이터는 Y 디코더(330)를 통해 페이지 버퍼부(320)로 제공하도록 한다.Referring to FIG. 4A, the program data input according to the data input control signal / WE is repeatedly input the same data four times according to a preset number of times. The control to input the same data four times causes the input /
상기와 같이 4번씩 반복하여 프로그램된 데이터를 독출할 때는 반복해서 프로그램된 데이터를 '1'데이터와 '0'데이터를 카운트하여 많은 숫자로 읽혀지는 것을 출력 데이터로 결정한다. 그리고 '1'데이터와 '0'데이터의 숫자가 같은 경우는 독출 에러로 판단하도록 한다.As described above, when repeatedly reading the programmed data four times, the repeatedly programmed data is counted as '1' data and '0' data, and the read data is determined as a large number. If the number of the '1' data and the '0' data is the same, the read error is determined.
도 4b는 본 발명의 실시 예에 따른 데이터 독출시의 데이터 출력 타이밍도이다.4B is a timing diagram of data output when data is read according to an exemplary embodiment of the present invention.
도 4b를 참조하면, 데이터 독출 제어신호(/RE)에 의해 페이지 버퍼부(320)가 독출한 데이터는 Y 디코더(330)를 통해 입출력 제어부(340)로 전달된다.Referring to FIG. 4B, data read by the
도 4b에 나타난 바와 같이, 정상적으로 출력되는 데이터와 실제 독출되는 데이터 간에 에러가 발생한 메모리 셀의 데이터가 있을 수 있다. 즉 프로그램된 데이터가 '101'일 때, 각각의 데이터가 동일하게 4개의 메모리 셀에 프로그램되어 '11110000111'로 프로그램되어 있으므로, 독출 데이터도 정상적으로 독출된다면 '1111000111'이어야 한다. 그러나 독출 에러로 인해서 실제로 독출된 데이터는 '110101000111'이다.As shown in FIG. 4B, there may be data of a memory cell in which an error occurs between data normally output and data actually read. That is, when the programmed data is '101', since each data is programmed in the same four memory cells and programmed as '11110000111', the read data should be '1111000111' if it is normally read. However, the data actually read out due to the read error is '110101000111'.
상기 실제 독출된 데이터는 다수 비트 판단부(350)로 전달되고, 다수 비트 판단부는 4개씩 그룹을 구분한 후, 각각의 그룹에서 많은 개수인 '101'을 출력 데이터로 판단하여 이를 입출력 제어부(340)에 알리고, 입출력 제어부(340)는 다수비트 판단부(350)의 판단에 따라 '101'의 데이터를 출력한다.The actual read data is transferred to the
따라서 에러가 발생한 비트가 있다 하여도 다수의 차지하는 비트를 출력함으로써 에러발생 확률을 줄일 수 있다. 에러 발생 확률을 줄이는 것은 반복되어 프로그램되는 횟수가 늘어날수록 적어진다.Therefore, even if there are bits in which an error occurs, the probability of error occurrence can be reduced by outputting a plurality of occupied bits. Reducing the probability of error occurs as the number of repetitive programming increases.
도 5는 본 발명의 실시 예에 따른 다수 비트 판단 방법의 동작 순서도이다.5 is an operation flowchart of a multiple bit determination method according to an exemplary embodiment of the present invention.
다수 비트 판단부(350)는 제어부(380)가 설정한 반복 프로그램 횟수에 따라서 각각의 컬럼 어드레스를 그룹단위로 구분하여 반복 프로그램된 데이터 군을 구분한다. 그리고 각각의 그룹의 데이터 군에 대해서 도 5와 같은 다수 비트 판단 동작을 수행하게 된다.The
하나의 그룹에 대한 다수 비트 판단 동작을 도 5를 참조해서 설명하면, 먼저 다수 비트 판단부는 초기화를 위해서 N, K, L, M을 각각 정의한다(S501). N은 컬럼 어드레스의 순서이고, K는 '1'데이터의 개수, L은 '0'데이터의 개수이며, M은 제어부(380)에서 설정하고 있는 반복 프로그램 횟수이다. 본 발명의 실시 예에서 M은 '4'가된다. 그리고 초기화 동작에서 N=1, L=0, K=0이 된다.The multi-bit determination operation for one group will be described with reference to FIG. 5. First, the multi-bit determination unit defines N, K, L, and M for initialization (S501). N is an order of column addresses, K is the number of '1' data, L is the number of '0' data, and M is the number of repetitive programs set by the
초기 동작에 의해 N 은 1이므로, 1번째 컬럼 데이터를 입출력 제어부(340)로부터 입력받으면(S503), 1번째 컬럼 데이터가 '1'인지를 판단한다(S505). 단계S505의 판단결과, 1번째 컬럼 데이터가 '1'이면 '1'데이터의 개수를 카운트하여(S507) K=1 이 된다.Since N is 1 by the initial operation, when the first column data is received from the input / output controller 340 (S503), it is determined whether the first column data is '1' (S505). As a result of the determination in step S505, if the first column data is '1', the number of '1' data is counted (S507) and K = 1.
또한 단계S505의 판단결과 1번째 컬럼 데이터가 '1'이 아니면, '0'데이터이므로 '0'데이터의 개수를 카운트하여(S509), L=1 이 된다.If the first column data is not '1', the number of '0' data is counted (S509), and L = 1.
그리고 현재 컬럼 데이터가 설정된 횟수 번째인지를 판단한다(S511). 즉 N 과 M이 같은 숫자가 되면 M 개의 컬럼 데이터를 읽은 것으로 판단할 수 있다.It is then determined whether the current column data is the set number of times (S511). That is, when N and M become the same number, it can be determined that M column data has been read.
만약 N = M 이 아니면, N을 하나 높여서 단계S503 내지 S509를 수행한다. 그리고 N = M 이면, '1'데이터의 개수인 K 가 M/2 보다 큰지를 확인한다(S515). 전체 데이터들 중에서 '1'데이터의 개수가 절반보다는 큰지를 확인한다. 만약 '1'데이터의 개수인 K 가 M/2보다 크다면, 다수비트 판단부(350)는 '1'데이터를 출력하도록 판단한다(S517).If N = M, then increase N by one to perform steps S503 to S509. If N = M, it is checked whether K, the number of '1' data, is larger than M / 2 (S515). Check if the number of '1' data is greater than half among all data. If K, the number of '1' data, is larger than M / 2, the majority
그러나 '1'데이터의 개수인 K 가 M/2보다 크지 않다면, '0'데이터의 개수인 L이 M/2보다 큰지를 확인한다(S519). '0'데이터의 개수인 L 이 M/2보다 크다면 다수 비트 판단부(350)는 '0'데이터를 출력하도록 판단한다(S521).However, if K, the number of '1' data is not larger than M / 2, it is checked whether L, the number of '0' data, is larger than M / 2 (S519). If L, the number of '0' data, is greater than M / 2, the majority
그러나 단계 S515 및 S519를 모두 만족하지 않는다면, '1'데이터의 개수와 '0'데이터의 개수가 동일하다는 의미가 되므로, 카운트 에러로 판단한다(S523). 카운트 에러로 판단되면 독출 에러로 처리하여 외부로 독출 에러 메시지를 출력할 수 있다. 또는 다시 해당 컬럼 데이터를 독출하여 다수비트 판단을 수행할 수도 있다.However, if both of the steps S515 and S519 are not satisfied, it means that the number of '1' data and the number of '0' data are the same, so it is determined as a count error (S523). If it is determined that the count error, it can be treated as a read error and output a read error message to the outside. Alternatively, multi-bit determination may be performed by reading corresponding column data.
입출력 제어부(340)는 다수비트 판단부(350)가 판단한 데이터를 출력 데이터로서 외부로 출력한다.The input /
상기의 과정은 모든 컬럼 어드레스에 대해서 수행되는데, 제어부(380)에서 설정하고 있는 반복 프로그램 횟수에 따라 나뉘는 그룹별로 동일하게 수행된다.The above process is performed for all column addresses, and the same process is performed for each group divided according to the number of repetitive programs set by the
상기 도 5의 동작을 상기 도 4b의 실제 출력 데이터들을 예를 들어 설명하면 다음과 같다.The operation of FIG. 5 will be described with reference to the actual output data of FIG. 4B as an example.
먼저 N =1, K=0, L=0, M = 4로 초기화된다(S501).First, N = 1, K = 0, L = 0, M = 4 is initialized (S501).
이후에 도 4b의 실제 독출 데이터에 의해, 다수 비트 판단부(350)는 1번째 컬럼 데이터는 '1'로 입력받고(S503), '1'데이터의 개수를 카운트 하여 K = 1 이 된다(S507). 그리고 N = M 이 아니므로(S511), N = 2로 변경된다(S513).Subsequently, according to the actual read data of FIG. 4B, the majority
다수 비트 판단부(350)는 2번째 데이터로 '1'을 입력받고(S503), '1'데이터의 개수를 카운트 하여 K = 2가 된다(S507). 이와 같이 단계 S503 내지 S509를 반복하여 N = 4 가 되면 K = 3, L = 1 이 된다. 그리고 N = M 이 되므로 단계S515를 수행한다. M = 4이므로 M/2 = 2 이고, K = 3 이므로, 단계S515에 의해서 '1'데이터가 출력되는 것으로 판단된다(S517).The majority
마찬가지로, 다음의 4개의 데이터도 초기화(S501) 이후에 동일하게 다수비트 판단 동작이 수행되어 출력 데이터가 '0'으로 판단된다. 이와 같은 동작에 의해 독출 에러가 최소화 된다.Similarly, after the initialization (S501), the next four data are also subjected to the same multi-bit determination operation so that the output data is determined as '0'. This operation minimizes read errors.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention described above has been described in detail in a preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, it will be understood by those skilled in the art that various embodiments of the present invention are possible within the scope of the technical idea of the present invention.
도 1은 일반적인 메모리 장치의 구성을 나타낸 블록도이다.1 is a block diagram illustrating a configuration of a general memory device.
도 2는 도 1의 데이터 입출력 방법의 동작 순서도이다.FIG. 2 is a flowchart illustrating an operation of the data input / output method of FIG. 1.
도 3은 본 발명의 실시 예에 따른 플래시 메모리 소자의 블록도이다.3 is a block diagram of a flash memory device according to an embodiment of the present invention.
도 4a는 본 발명의 실시 예에 따른 프로그램 시의 데이터 입력 타이밍도이다.4A is a data input timing diagram during programming according to an exemplary embodiment of the present invention.
도 4b는 본 발명의 실시 예에 따른 데이터 독출시의 데이터 출력 타이밍도이다.4B is a timing diagram of data output when data is read according to an exemplary embodiment of the present invention.
도 5는 본 발명의 실시 예에 따른 다수 비트 판단 방법의 동작 순서도이다.5 is an operation flowchart of a multiple bit determination method according to an exemplary embodiment of the present invention.
*도면의 주요 부분의 간단한 설명** Brief description of the main parts of the drawings *
300 : 플래시 메모리 소자 310 : 메모리 셀 어레이300: flash memory device 310: memory cell array
320 : 페이지 버퍼부 330 : Y 디코더320: page buffer unit 330: Y decoder
340 : 입출력 제어부 350 : 다수 비트 판단부340: input and output control unit 350: multiple bit determination unit
360 : X 디코더 370 : 전압 제공부360: X decoder 370: voltage providing unit
380 : 제어부380 control unit
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080021941A KR100965065B1 (en) | 2008-03-10 | 2008-03-10 | Non volatile memory device and method of operating the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080021941A KR100965065B1 (en) | 2008-03-10 | 2008-03-10 | Non volatile memory device and method of operating the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090096866A true KR20090096866A (en) | 2009-09-15 |
KR100965065B1 KR100965065B1 (en) | 2010-06-21 |
Family
ID=41356403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080021941A KR100965065B1 (en) | 2008-03-10 | 2008-03-10 | Non volatile memory device and method of operating the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100965065B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543197A (en) * | 2010-12-20 | 2012-07-04 | 海力士半导体有限公司 | Semiconductor memory device and operating method thereof |
CN103065678A (en) * | 2011-10-21 | 2013-04-24 | 点序科技股份有限公司 | Flash memory device and data storage method thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI576846B (en) | 2014-12-17 | 2017-04-01 | 慧榮科技股份有限公司 | Method of writing data into flash memory and related control apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100712596B1 (en) * | 2005-07-25 | 2007-04-30 | 삼성전자주식회사 | Method and apparatus for repair and trimming in flash memory device |
-
2008
- 2008-03-10 KR KR1020080021941A patent/KR100965065B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543197A (en) * | 2010-12-20 | 2012-07-04 | 海力士半导体有限公司 | Semiconductor memory device and operating method thereof |
CN102543197B (en) * | 2010-12-20 | 2015-07-15 | 海力士半导体有限公司 | Semiconductor memory device and operating method thereof |
CN103065678A (en) * | 2011-10-21 | 2013-04-24 | 点序科技股份有限公司 | Flash memory device and data storage method thereof |
CN103065678B (en) * | 2011-10-21 | 2016-01-13 | 点序科技股份有限公司 | Flash memory device and data storage method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR100965065B1 (en) | 2010-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8228740B2 (en) | Method of operating nonvolatile memory device | |
US7899980B2 (en) | Flash memory system and data writing method thereof | |
US11727998B2 (en) | Memory system and memory control method | |
US7937647B2 (en) | Error-detecting and correcting FPGA architecture | |
JP6131207B2 (en) | Semiconductor memory device | |
US20160062827A1 (en) | Semiconductor memory device and programming method thereof | |
JP5657079B1 (en) | Semiconductor memory device | |
US8347183B2 (en) | Flash memory device using ECC algorithm and method of operating the same | |
JP2018028955A (en) | Flash memory | |
JP2011044200A (en) | Nonvolatile semiconductor memory | |
JP6115740B1 (en) | Semiconductor memory device | |
US20120002469A1 (en) | Nonvolatile semiconductor memory device | |
KR100965065B1 (en) | Non volatile memory device and method of operating the same | |
KR20100013962A (en) | Programming method of nonvolatile memory device | |
KR101651573B1 (en) | Semiconductor memory device and programming method thereof | |
JP4582078B2 (en) | Memory controller, flash memory system, and flash memory control method | |
US8923068B2 (en) | Low margin read operation with CRC comparision | |
US8205039B2 (en) | Nonvolatile semiconductor memory device | |
JP5710815B1 (en) | Semiconductor memory device | |
KR20110078739A (en) | Semiconductor memory device and method of operating the same | |
KR20090048142A (en) | Ecc processing unit of non volatile memory device | |
JP6293846B2 (en) | Semiconductor memory device | |
US20100332898A1 (en) | Nonvolatile memory device and copyback program method thereof | |
KR20130072715A (en) | Nonvolatile memory device and method for controlling the same | |
TW201546816A (en) | Semiconductor memory device and programming method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
E902 | Notification of reason for refusal | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |