KR101651573B1 - Semiconductor memory device and programming method thereof - Google Patents

Semiconductor memory device and programming method thereof Download PDF

Info

Publication number
KR101651573B1
KR101651573B1 KR1020140105781A KR20140105781A KR101651573B1 KR 101651573 B1 KR101651573 B1 KR 101651573B1 KR 1020140105781 A KR1020140105781 A KR 1020140105781A KR 20140105781 A KR20140105781 A KR 20140105781A KR 101651573 B1 KR101651573 B1 KR 101651573B1
Authority
KR
South Korea
Prior art keywords
data
bit string
specific bit
circuit
error correction
Prior art date
Application number
KR1020140105781A
Other languages
Korean (ko)
Other versions
KR20160020717A (en
Inventor
가즈키 야마우치
Original Assignee
윈본드 일렉트로닉스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윈본드 일렉트로닉스 코포레이션 filed Critical 윈본드 일렉트로닉스 코포레이션
Priority to KR1020140105781A priority Critical patent/KR101651573B1/en
Publication of KR20160020717A publication Critical patent/KR20160020717A/en
Application granted granted Critical
Publication of KR101651573B1 publication Critical patent/KR101651573B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

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

Abstract

데이터의 신뢰성을 유지하면서 프로그래밍 시간의 단축을 꾀할 수 있는 반도체 기억장치 및 그 프로그래밍 방법을 제공한다.
본 발명의 NAND형 플래쉬 메모리는, 외부 입출력 단자로부터 입력된 프로그래밍 데이터를 페이지 버퍼/센스 회로(170)에 로딩하여 프로그래밍 데이터를 감시하는 검출 회로(130)에 의해 프로그래밍 데이터가 특정 비트열인지 아닌지가 검출된다. 프로그래밍 데이터가 특정 비트열이 아니라고 검출되었을 때 페이지 버퍼/센스 회로(170)에 보존 유지된 프로그래밍 데이터가 전송/기입 회로(200)에 의해 ECC 회로(120)에 전송되고 ECC 연산에 의해 생성된 에러 정정 부호가 페이지 버퍼/센스 회로(170)에 기입된다. 한편 특정 비트열이라고 검출되었을 때 페이지 버퍼/센스 회로(170)에 보존 유지된 프로그래밍 데이터의 전송이 금지되고 해당 특정 비트열에 대응하는 기존의 에러 정정 부호가 페이지 버퍼/센스 회로(170)에 기입된다.
Provided are a semiconductor memory device and a programming method thereof that can reduce the programming time while maintaining the reliability of data.
In the NAND flash memory of the present invention, the detection circuit 130 that loads the programming data input from the external input / output terminal into the page buffer / sense circuit 170 and monitors the programming data determines whether or not the programming data is a specific bit string . Programming data held in the page buffer / sense circuit 170 is transmitted to the ECC circuit 120 by the transfer / write circuit 200 when the program data is detected to be not a specific bit string, and the error generated by the ECC operation The correction code is written to the page buffer / sense circuit 170. [ On the other hand, when a specific bit string is detected, the transmission of the programming data stored in the page buffer / sense circuit 170 is inhibited and the existing error correction code corresponding to the specific bit string is written to the page buffer / sense circuit 170 .

Figure R1020140105781
Figure R1020140105781

Description

반도체 기억장치 및 그 프로그래밍 방법 {Semiconductor memory device and programming method thereof}[0001] DESCRIPTION [0002] Semiconductor memory devices and programming methods [

본 발명은, 반도체 기억장치 및 그 프로그래밍 방법과, 반도체 기억장치의 입출력 데이터의 에러 검출 정정에 관한 것으로서, 특히 NAND형 플래쉬 메모리의 입력 데이터의 에러 검출 및 정정에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor memory device and its programming method, and to error detection and correction of input / output data of a semiconductor memory device, and more particularly to error detection and correction of input data of a NAND type flash memory.

플래쉬 메모리, DRAM 등의 반도체 메모리에서는 집적도가 해마다 증가하여 불량 또는 결함이 없는 기억소자를 제조하기 어려워지고 있다. 따라서 메모리 칩 위에는 제조 공정 중에 발생하는 기억소자의 물리적인 결함을 외관상 구제하기 위한 리던던시 스킴이 이용된다. 예를 들면 어느 리던던시 스킴에서는 리던던시 메모리를 마련함으로써 물리적인 결함이 있는 기억소자를 구제하고 있다. 또 반도체 메모리에는, 리던던시 메모리에 의한 물리적인 구제 이외에 소프트 에러 대책으로서 에러 검출 정정 회로(ECC:Error Checking Correction)가 이용된다.In semiconductor memories such as flash memories and DRAMs, the degree of integration increases year by year, making it difficult to manufacture memory elements free from defects or defects. Therefore, on the memory chip, a redundancy scheme is used to apparently remedy the physical defects of the memory elements that occur during the manufacturing process. For example, in some redundancy schemes, a redundant memory is provided so as to save memory elements having physical defects. In the semiconductor memory, an error detection correction circuit (ECC: Error Checking Correction) is used as a soft error countermeasure in addition to the physical remedy by the redundancy memory.

NAND형 플래쉬 메모리에서는, 데이터의 프로그램이나 소거가 반복됨으로써 터널 절연막의 열화에 의해 전하 보존 유지 특성이 악화되거나 터널 절연막에 트래핑된 전하에 의해 문턱값 변동이 발생하여 비트 에러를 일으킨다. 특허문헌 1에서는, 이러한 비트 에러 대책으로서 에러 검출 정정 회로를 탑재하였다. 특히 블록 선택 트랜지스터에 가까운 메모리 셀에서는 리소그래피에 의한 패턴의 불균일, 확산층 형성시 이온 주입의 불균일로 인해 비트 에러율이 높아지는 경향이 있으며 이를 더 많이 구제 가능하도록 하기 위한 ECC 코드를 격납하였다.In the NAND type flash memory, programming or erasing of data is repeated, so that the charge holding characteristic deteriorates due to the deterioration of the tunnel insulating film or the threshold value fluctuation occurs due to the charge trapped in the tunnel insulating film, thereby causing a bit error. In Patent Document 1, an error detection and correction circuit is mounted as a countermeasure against bit errors. In particular, in memory cells close to block select transistors, bit error rate tends to increase due to unevenness of pattern due to lithography, irregularity of ion implantation during diffusion layer formation, and an ECC code is stored so that it can be more remedied.

또 NAND형 플래쉬 메모리에는, 1개의 메모리 셀에 1비트의 데이터를 격납하는 것에 추가하여 1개의 메모리 셀에 멀티 비트의 데이터를 격납하는 것이 있다. 특허문헌 2는, 이러한 멀티 비트 데이터의 에러 정정 스킴을 개시하였다. 또한 특허문헌 3은, 입력된 데이터에 ECC 패리티를 부가하여 ECC 부호를 생성하고, 생성된 ECC 부호를 물리 블록에 기입하고, 물리 블록에서 독출한 페이지 데이터에 에러가 있을 때 ECC 부호에 의해 에러를 정정하고, 정정한 에러수가 문턱값 이상인 물리 블록을 경고 블록으로서 표에 등록하여 데이터 기입시에 경고 블록 선택의 우선 순위를 낮추는 플래쉬 메모리를 개시하였다.In addition to storing one bit of data in one memory cell, the NAND type flash memory may store multi-bit data in one memory cell. Patent Document 2 discloses an error correction scheme for such multi-bit data. Also, in Patent Document 3, an ECC code is generated by adding ECC parity to input data, a generated ECC code is written to a physical block, and an error is detected by an ECC code when there is an error in page data read from the physical block And registers a physical block having a corrected error number equal to or greater than the threshold value as a warning block in the table to lower the priority of the warning block selection at the time of data writing.

특허문헌 1: 일본특개2010-152989호 공보Patent Document 1: JP-A-2010-152989 특허문헌 2: 일본특개2008-165805호 공보Patent Document 2: JP-A-2008-165805 특허문헌 3: 일본특개2010-79486호 공보Patent Document 3: JP-A-2010-79486

ECC 회로를 온칩으로 탑재하는 NAND형 플래쉬 메모리는, 입력된 데이터를 페이지 버퍼에 보존 유지하고, 페이지 버퍼에 보존 유지된 데이터를 ECC 회로에 전송하여 거기에서 ECC 연산에 의해 생성된 에러 정정 부호(에러 코드)를 페이지 버퍼에 되쓴(write back) 후, 페이지 버퍼의 데이터를 메모리 어레이의 선택된 페이지에 프로그래밍하였다. 그러나 프로그래밍되는 모든 페이지 데이터에 대해 ECC 연산을 하면 처리에 시간이 많이 걸린다. NAND형 플래쉬 메모리에서는 페이지 단위로 프로그래밍이 이루어지기 때문에 고집적화에 따라 1페이지당 비트수가 증가하면 그에 비례하여 ECC 회로의 연산에 필요한 시간이 증가한다. 이것은, 프로그래밍 시간 단축의 장해가 될 수 있다.The NAND type flash memory that mounts the ECC circuit on-chip stores the input data in the page buffer, transfers the data stored in the page buffer to the ECC circuit, and generates an error correction code Code) into the page buffer and then programmed the data in the page buffer to the selected page of the memory array. However, ECC operations on all page data to be programmed take a long time to process. In the NAND type flash memory, since programming is performed page by page, the time required for the operation of the ECC circuit increases in proportion to the increase in the number of bits per page due to the high integration. This may be a hindrance to shortening the programming time.

본 발명은 상기 종래의 과제를 해결하는 것으로서, 데이터의 신뢰성을 유지하면서 프로그래밍 시간의 단축을 꾀할 수 있는 반도체 기억장치 및 그 프로그래밍 방법을 제공한다.The present invention solves the above-described conventional problems, and provides a semiconductor memory device and a programming method thereof that can reduce the programming time while maintaining the reliability of data.

본 발명에 관한 반도체 기억장치는, 메모리 어레이와, 상기 메모리 어레이로부터 독출한 데이터를 보존 유지하거나, 또는 상기 메모리 어레이에 기입하는 데이터를 보존 유지하는 데이터 보존 유지 수단과, 데이터의 에러 검출을 정정하는 에러 검출 정정 수단과, 상기 데이터 보존 유지 수단에서 상기 에러 검출 정정 수단으로 데이터를 전송하는 전송 수단과, 상기 에러 검출 정정 수단에 의해 생성된 에러 정정 부호를 상기 데이터 보존 유지 수단에 기입하는 기입 수단과, 상기 데이터 보존 유지 수단에 입력되는 데이터가 특정 비트열을 갖는지 여부를 검출하는 검출 수단을 가지고, 상기 특정 비트열이 검출되었을 때 상기 전송 수단은 상기 특정 비트열에 대응하는 데이터의 전송을 금지하고, 또한 상기 기입 수단은 미리 결정된 에러 정정 부호를 상기 데이터 보존 유지 수단에 기입한다.A semiconductor memory device according to the present invention comprises a memory array, data holding means for holding and holding data read from the memory array or writing data to the memory array, An error detecting and correcting means for correcting error correcting codes generated by the error correcting means, transmitting means for transmitting data to the error detecting and correcting means in the data storing and holding means, writing means for writing the error correcting codes generated by the error detecting correcting means in the data storing and holding means, And a detecting means for detecting whether or not the data input to the data holding and holding means has a specific bit string, wherein when said specific bit string is detected, said transmitting means prohibits transmission of data corresponding to said specific bit string, The writing means may write a predetermined error correction code It is written in the data storage holding means.

상기 특정 비트열은 논리0으로 이루어진 비트열, 또는 논리1로 이루어진 비트열이다. 상기 특정 비트열은 상기 전송 수단이 한번에 전송하는 비트수와 동일한 비트수이다. 상기 데이터 보존 유지 수단은 복수의 섹터로 분할되고, 상기 전송 수단은 섹터 단위로 데이터를 전송하고, 상기 에러 정정 수단은 섹터 단위로 에러 정정 처리를 한다. 상기 특정 비트열은 상기 데이터 보존 유지 수단이 보존 유지하는 1페이지의 비트수와 동일하다. 반도체 기억장치는 또한 특정 비트열과 에러 정정 부호와의 관계를 기억하는 기억 수단을 포함하고, 상기 기입 수단은 상기 검출 수단의 검출 결과에 기초하여 특정 비트열에 해당하는 에러 정정 부호를 기입한다. 상기 기입 수단은 상기 검출 수단의 검출 결과에 기초하여 특정 비트열에 해당하는 에러 정정 부호를 생성하는 논리 회로를 포함하고, 해당 논리 회로에 의해 생성된 에러 정정 부호를 기입한다. 반도체 기억장치는 복수의 외부 입출력 단자를 포함하여 복수의 외부 입출력 단자로부터 입력된 데이터가 병렬로 상기 데이터 보존 유지 수단에 로딩되며, 상기 검출 수단은 병렬로 입력된 데이터 각각이 특정 비트열을 포함하는지 여부를 검출한다. 상기 검출 수단은 비트 데이터의 전이 유무를 검출하는 검출 회로를 포함한다.The specific bit string is a bit string composed of logic 0 or a bit string composed of logic 1. And the specific bit string is the same number of bits as the number of bits transmitted by the transmitting means at one time. The data holding and holding means is divided into a plurality of sectors, the transmitting means transmits data on a sector-by-sector basis, and the error correction means performs error correction processing on a sector-by-sector basis. And the specific bit string is equal to the number of bits of one page stored and held by the data holding and holding means. The semiconductor memory device further includes a memory means for storing the relationship between the specific bit string and the error correction code, and the writing means writes the error correction code corresponding to the specific bit string on the basis of the detection result of the detection means. The writing means includes a logic circuit for generating an error correction code corresponding to a specific bit string on the basis of the detection result of the detection means, and writes the error correction code generated by the logic circuit concerned. The semiconductor memory device includes a plurality of external input / output terminals, and data input from a plurality of external input / output terminals are loaded in parallel in the data storage / holding means, and the detecting means determines whether each of the data input in parallel includes a specific bit string . The detecting means includes a detecting circuit for detecting the presence or absence of transition of bit data.

본 발명에 관한 NAND형 플래쉬 메모리의 프로그래밍 방법은, 외부 입출력 단자로부터 입력된 프로그래밍 데이터를 페이지 버퍼에 로딩하여 상기 프로그래밍 데이터가 특정 비트열인지 아닌지를 검출하고, 특정 비트열이 아니라고 검출되었을 때 상기 페이지 버퍼에 보존 유지된 프로그래밍 데이터를 ECC 회로에 전송하여 ECC 연산에 의해 생성된 에러 정정 부호를 상기 페이지 버퍼에 기입하고, 한편 특정 비트열이라고 검출되었을 때 상기 페이지 버퍼에 보존 유지된 프로그래밍 데이터의 전송을 금지하고 해당 특정 비트열에 대응하는 기존의 에러 정정 부호를 상기 페이지 버퍼에 기입한다.A programming method of a NAND type flash memory according to the present invention is a method for programming a NAND type flash memory by loading programming data input from an external input / output terminal into a page buffer to detect whether or not the programming data is a specific bit string, The program data stored in the buffer is transferred to the ECC circuit, the error correction code generated by the ECC operation is written into the page buffer, and when a specific bit string is detected, transmission of the program data stored in the page buffer is performed And writes an existing error correction code corresponding to the specific bit string into the page buffer.

본 발명에 의하면, 데이터 보존 유지 수단에 입력되는 데이터가 특정 비트열인 경우에는 데이터 보존 유지 수단으로부터 에러 정정 수단에 데이터를 전송하는 것을 금지하고 에러 정정 수단에 의한 연산을 하지 않고 에러 정정 부호를 데이터 보존 유지 수단에 기입하도록 했기 때문에 데이터 보존 유지 수단에서 에러 정정 수단으로의 데이터 전송 시간을 삭감할 수 있게 되어 메모리 어레이로의 데이터 프로그래밍 시간을 단축할 수 있다.According to the present invention, when the data to be input to the data holding and holding means is a specific bit string, it is prohibited to transfer the data from the data holding and holding means to the error correction means and the error correction code is stored in the data It is possible to reduce the data transfer time from the data storage and holding means to the error correction means and shorten the data programming time to the memory array.

도 1은, 본 발명의 실시예에 관한 NAND형 플래쉬 메모리 전체의 개략 구성을 도시한 도이다.
도 2는, 본 발명의 실시예에 관한 메모리 셀 어레이의 NAND 스트링의 구성을 도시한 회로도이다.
도 3은, 본 발명의 실시예에 관한 플래쉬 메모리의 프로그래밍시에 각 부에 인가되는 전압의 일례를 도시한 도이다.
도 4는, 본 발명의 실시예에 관한 플래쉬 메모리에 입력되는 데이터의 흐름을 설명하는 도이다.
도 5는, 본 실시예의 검출 회로의 일례를 도시한 도이다.
도 6은, 특정 비트열과 기존의 에러 정정 부호와의 관계를 규정하는 표이다.
도 7은, 본 발명의 실시예에 의한 통상의 ECC 처리를 설명하는 도이다.
도 8은, 본 발명의 실시예에 의한 ECC 처리가 스킵되는 예를 설명하는 도이다.
도 9는, 종래의 플래쉬 메모리의 ECC 처리를 설명하는 흐름도이다.
도 10은, 본 발명의 실시예에 관한 플래쉬 메모리의 ECC 처리를 설명하는 흐름도이다.
1 is a diagram showing a schematic configuration of an entire NAND flash memory according to an embodiment of the present invention.
2 is a circuit diagram showing a configuration of a NAND string of a memory cell array according to an embodiment of the present invention.
3 is a diagram showing an example of the voltages applied to the respective portions during the programming of the flash memory according to the embodiment of the present invention.
4 is a view for explaining the flow of data input to the flash memory according to the embodiment of the present invention.
5 is a diagram showing an example of the detection circuit of this embodiment.
6 is a table for defining the relationship between a specific bit string and an existing error correction code.
7 is a diagram for explaining a normal ECC process according to an embodiment of the present invention.
8 is a view for explaining an example in which ECC processing according to the embodiment of the present invention is skipped.
Fig. 9 is a flowchart for explaining the ECC process of the conventional flash memory.
10 is a flowchart for explaining the ECC processing of the flash memory according to the embodiment of the present invention.

다음으로 본 발명의 실시형태에 대해 도면을 참조하여 상세히 설명하기로 한다. 여기에서는 NAND형 플래쉬 메모리를 예시한다. 아울러 도면은 알기 쉽게 하기 위해 각 부를 강조하여 도시하였으며 실제 디바이스의 스케일과는 다르다는 점에 유의해야 한다.BEST MODE FOR CARRYING OUT THE INVENTION Next, embodiments of the present invention will be described in detail with reference to the drawings. Here, a NAND type flash memory is exemplified. Also, it should be noted that the drawings are emphasized in order to facilitate understanding and are different from the actual device scale.

<실시예><Examples>

본 발명의 실시예에 관한 플래쉬 메모리의 전형적인 구성을 도 1에 도시한다. 단, 여기에 도시한 플래쉬 메모리의 구성은 예시이며, 본 발명은 반드시 이러한 구성으로 한정되지는 않는다. 본 실시예의 플래쉬 메모리(10)는, 복수의 메모리 셀이 행렬 형태로 배열된 메모리 어레이(100)와, 외부 입출력 단자 I/O에 접속되어 입출력 데이터를 보존 유지하는 입출력 버퍼(110)와, 메모리 어레이(100)에 프로그래밍하는 데이터나 거기에서 독출된 데이터의 에러 검출·정정을 행하는 ECC 회로(120)와, 외부 입출력 단자 또는 입출력 버퍼(110)에서 페이지 버퍼/센스 회로(170)로 입력되는 데이터를 감시하여 그로부터 특정 비트열을 검출하는 검출 회로(130)와, 입출력 버퍼(110)로부터의 어드레스 데이터를 수취하는 어드레스 레지스터(140)와, 입출력 버퍼(110)로부터의 커멘드 데이터나 외부로부터의 제어 신호를 수취하여 각 부를 제어하는 제어부(150)와, 어드레스 레지스터(140)로부터 행 어드레스 정보(Ax)를 수취하여 행 어드레스 정보(Ax)를 디코딩하고 디코딩 결과에 기초하여 블록 및 워드선을 선택하는 워드선 선택 회로(160)와, 워드선 선택 회로(160)에 의해 선택된 페이지로부터 독출된 데이터를 보존 유지하거나 선택된 페이지로의 기입 데이터를 보존 유지하는 페이지 버퍼/센스 회로(170)와, 어드레스 레지스터(140)로부터 열 어드레스 정보(Ay)를 수취하여 열 어드레스 정보(Ay)를 디코딩하고 해당 디코딩 결과에 기초하여 페이지 버퍼/센스 회로(170) 내의 데이터를 선택하는 열 선택 회로(180)와, 데이터의 독출, 프로그래밍 및 소거 등을 위해 필요한 다양한 전압(기입 전압(Vpgm), 패스 전압(Vpass), 독출 패스 전압(Vread), 소거 전압(Vers) 등)을 생성하는 내부 전압 발생 회로(190)를 포함하여 구성된다.A typical configuration of a flash memory according to an embodiment of the present invention is shown in Fig. However, the configuration of the flash memory shown here is merely an example, and the present invention is not necessarily limited to such a configuration. The flash memory 10 of the present embodiment includes a memory array 100 in which a plurality of memory cells are arranged in a matrix form, an input / output buffer 110 connected to the external input / output terminal I / O to store and retain input / output data, An ECC circuit 120 for error detection and correction of data to be programmed in the array 100 or data read out therefrom and data input to the page buffer / sense circuit 170 in the external input / output terminal or the input / A detection circuit 130 for monitoring a specific bit string therefrom, an address register 140 for receiving address data from the input / output buffer 110, command data from the input / output buffer 110, A control unit 150 for receiving signals and controlling the respective units, a control unit 150 for receiving row address information Ax from the address register 140 and decoding and decoding the row address information Ax A word line selection circuit 160 for selecting a block and a word line based on a page selected by the word line selection circuit 160 and a page holding and retaining data read from the page selected by the word line selection circuit 160 Receives the column address information Ay from the buffer / sense circuit 170 and the address register 140 and decodes the column address information Ay and outputs the data in the page buffer / sense circuit 170 (A write voltage Vpgm, a pass voltage Vpass, a read pass voltage Vread, an erase voltage Vers, etc.) necessary for data reading, programming and erasing, And an internal voltage generating circuit 190 for generating an internal voltage.

메모리 어레이(100)는 열방향으로 배치된 m개의 메모리 블록BLK(0), BLK(1),…, BLK(m-1)을 가진다. 블록BLK(0) 근처에 페이지 버퍼/센스 회로(170)가 배치된다. 이러한 구성 이외에도 페이지 버퍼/센스 회로(170)는 메모리 어레이(100)의 다른쪽 단부, 혹은 양측 단부에 배치되는 것이어도 좋다.The memory array 100 includes m memory blocks BLK (0), BLK (1), ..., BLK , And BLK (m-1). A page buffer / sense circuit 170 is arranged near the block BLK (0). In addition to such a configuration, the page buffer / sense circuit 170 may be disposed at the other end or both end portions of the memory array 100.

1개의 메모리 블록에는, 도 2에 도시한 바와 같이 복수의 메모리 셀을 직렬로 접속한 NAND 셀 유닛(NU)이 복수 형성되고 1개의 메모리 블록 내에 n+1개의 셀 유닛(NU)이 행방향으로 배열되어 있다. 셀 유닛(NU)은, 직렬로 접속된 복수의 메모리 셀(MCi)(i=0, 1,…, 31)과, 한쪽 단부인 메모리 셀(MC31)의 드레인측에 접속된 선택 트랜지스터(TD)와, 다른 쪽 단부인 메모리 셀(MC0)의 소스측에 접속된 선택 트랜지스터(TS)를 포함하고, 선택 트랜지스터(TD)의 드레인은 대응하는 1개의 비트선(GBL)에 접속되고, 선택 트랜지스터(TS)의 소스는 공통의 소스선(SL)에 접속된다.As shown in Fig. 2, one memory block is provided with a plurality of NAND cell units NU in which a plurality of memory cells are connected in series, and n + 1 cell units NU are arranged in the row direction in one memory block have. The cell unit NU includes a plurality of memory cells MCi (i = 0, 1, ..., 31) connected in series and a selection transistor TD connected to the drain side of the memory cell MC31, And a selection transistor TS connected to the source side of the memory cell MC0 at the other end and the drain of the selection transistor TD is connected to a corresponding one bit line GBL, TS are connected to a common source line SL.

메모리 셀(MCi)의 컨트롤 게이트는 워드선(WLi)에 접속되고, 선택 트랜지스터(TD),(TS)의 게이트는 워드선(WL)과 병행하는 선택 게이트선(SGD),(SGS)에 접속된다. 워드선 선택 회로(160)는 행 어드레스(Ax) 또는 변환된 어드레스에 기초하여 블록을 선택할 때 블록의 선택 게이트선(SGD),(SGS)을 통해 선택 트랜지스터(TD),(TS)를 선택적으로 구동한다. 도 2는, 전형적인 셀 유닛의 구성을 도시하고 있으나, 셀 유닛은 NAND 스트링 내에 1개 또는 복수의 더미 셀을 포함한 것이어도 좋다.The control gates of the memory cells MCi are connected to the word lines WLi and the gates of the select transistors TD and TS are connected to the select gate lines SGD and SGS which are in parallel with the word lines WL do. The word line selection circuit 160 selectively connects the selection transistors TD and TS through the selection gate lines SGD and SGS of the block when the block is selected based on the row address Ax or the converted address . Fig. 2 shows the structure of a typical cell unit. However, the cell unit may include one or a plurality of dummy cells in a NAND string.

메모리 셀은, 전형적으로 P웰 내에 형성된 N형의 확산 영역인 소스/드레인과, 소스/드레인간의 채널상에 형성된 터널 산화막과, 터널 산화막상에 형성된 플로팅 게이트(전하 축적층)와, 플로팅 게이트상에 유전체막을 사이에 두고 형성된 컨트롤 게이트를 포함한 MOS 구조를 가진다. 플로팅 게이트에 전하가 축적되어 있지 않을 때, 즉 데이터「1」이 기입되어 있을 때 문턱값은 음의 상태에 있으며 메모리 셀은 노멀리 온이다. 플로팅 게이트에 전자가 축적되었을 때, 즉 데이터「0」이 기입되어 있을 때 문턱값은 양으로 시프트되고 메모리 셀은 노멀리 오프이다. 단 메모리 셀은 1비트(2치 데이터)를 기억하는 SLC 타입이어도 좋고 다수의 비트를 기억하는 MLC 타입이어도 좋다.The memory cell typically includes a source / drain which is an N-type diffusion region formed in the P-well, a tunnel oxide film formed on the channel between the source / drain, a floating gate (charge storage layer) formed on the tunnel oxide, And a control gate formed with a dielectric film therebetween. When no charge is accumulated in the floating gate, that is, when data &quot; 1 &quot; is written, the threshold value is in the negative state and the memory cell is normally on. When electrons are accumulated in the floating gate, that is, when data &quot; 0 &quot; is written, the threshold value is shifted in positive and the memory cell is normally off. However, the memory cell may be an SLC type storing one bit (binary data) or an MLC type storing a plurality of bits.

도 3은, 플래쉬 메모리의 각 동작시에 인가되는 바이어스 전압의 일례를 도시한 표이다. 독출 동작에서는, 비트선에 어느 양의 전압을 인가하고, 선택된 워드선에 어느 전압(Vx)(예를 들면 0V)을 인가하고, 비선택 워드선에 패스 전압(Vpass)(예를 들면 4.5V)을 인가하고, 선택 게이트선(SGD),(SGS)에 양의 전압(예를 들면 4.5V)을 인가하고, 비트선 선택 트랜지스터(TD), 소스선 선택 트랜지스터(TS)를 온하여 공통 소스선에 0V를 인가한다. 프로그래밍(기입) 동작에서는, 선택된 워드선에 고전압의 프로그램 전압(Vpgm)(15∼20V)을 인가하고, 비선택된 워드선에 중간 전위(예를 들면 10V)를 인가하고, 비트선 선택 트랜지스터(TD)를 온시키고 소스선 선택 트랜지스터(TS)를 오프시켜 「0」 또는 「1」의 데이터에 대응한 전위를 비트선(GBL)에 공급한다. 소거 동작에서는 블록 내의 선택된 워드선에 0V를 인가하고, P웰에 고전압(예를 들면 20V)을 인가하고, 플로팅 게이트의 전자를 기판에 뽑아냄으로써 블록 단위로 데이터를 소거한다.3 is a table showing an example of a bias voltage applied in each operation of the flash memory. In the read operation, a certain voltage is applied to the bit line, a certain voltage Vx (for example, 0 V) is applied to the selected word line, a pass voltage Vpass (for example, 4.5 V And a positive voltage (for example, 4.5 V) is applied to the select gate lines SGD and SGS to turn on the bit line select transistor TD and the source line select transistor TS, 0V is applied to the line. In programming (writing) operation, a program voltage Vpgm (15 to 20 V) of a high voltage is applied to a selected word line, an intermediate potential (for example, 10 V) is applied to a non-selected word line, And turns off the source line select transistor TS to supply a potential corresponding to data of "0" or "1" to the bit line GBL. In the erase operation, 0V is applied to the selected word line in the block, a high voltage (for example, 20V) is applied to the P-well, and electrons of the floating gate are extracted to the substrate to erase data in block units.

도 4에, 본 실시예의 플래쉬 메모리(10)의 외부 입출력 단자로부터 입력되는 데이터의 흐름을 도시한다. 입출력 버퍼(110)에서 제공된 입력 데이터(Di)는 페이지 버퍼/센스 회로(170)에 로딩되며 동시에 검출 회로(130)에도 입력된다. 검출 회로(130)는 입력 데이터(Di)가 특정 비트열을 포함한 데이터인지 여부를 검출한다. 특정 비트열이란, 에러 검출 정정의 연산을 할 필요가 없는 비트열, 혹은 에러 정정 부호가 기지(旣知)의 것인 비트열이다. 한 예에서는, 검출 회로(130)는 입력 데이터(Di)가 모두 「0」인 비트열, 또는 입력 데이터가 모두 「1」인 비트열을 검출한다.4 shows the flow of data input from the external input / output terminal of the flash memory 10 of the present embodiment. The input data Di provided in the input / output buffer 110 is loaded into the page buffer / sense circuit 170 and also input to the detection circuit 130. The detection circuit 130 detects whether the input data Di is data including a specific bit string. A specific bit string is a bit string for which no error detection correction operation is required, or a bit string whose error correction code is known. In one example, the detection circuit 130 detects a bit string in which all the input data Di is "0" or a bit string in which all the input data is "1".

검출 회로(130)는 논리 회로에 의해 입력 데이터(Di)의 특정 비트열을 검출할 수 있다. 도 5는, 입력 데이터(Di)의 비트열이 모두 「0」 또는 「1」을 검출할 때의 검출 회로의 일례이다. 검출 회로(130)는 입력 데이터(Di)의 i번째 데이터와 i-1번째 데이터(i는, 2 이상의 정수)를 입력하는 2입력의 OR회로(132) 및 AND 회로(134)와, 이들 논리 회로의 출력에 기초하여 플래그 정보를 설정하는 플래그 회로(136)를 포함하여 구성된다. 입력 데이터(Di)가 모두 「0」일 때 OR회로(132)의 출력은 L레벨이며 그 외에는 H레벨이다. 또 입력 데이터(Di)가 모두 「1」일 때 AND 회로(134)의 출력은 H레벨이며 그 외에는 L레벨이다. 플래그 회로(136)는 입력 데이터(Di)가 모두 「0」 및 모두 「1」이라는 것을 판별할 수 있는 검출 신호(S)를 출력한다. 예를 들면 검출 신호(S)가 2비트 데이터로 구성되며 「00」일 때 입력 데이터(Di)가 모두 「0」, 「11」일 때 입력 데이터(Di)가 모두 「1」이다. 검출 회로(130)의 검출 신호(S)는 전송/기입 회로(200) 및 ECC 회로(120)에 제공된다.The detection circuit 130 can detect a specific bit string of the input data Di by a logic circuit. 5 is an example of a detection circuit when all the bit strings of the input data Di detect "0" or "1". The detection circuit 130 includes a two-input OR circuit 132 and an AND circuit 134 for inputting the i-th data of the input data Di and the (i-1) th data (i is an integer of two or more) And a flag circuit 136 for setting flag information based on the output of the circuit. When all of the input data Di is &quot; 0 &quot;, the output of the OR circuit 132 is at the L level and the other is at the H level. When all the input data Di are &quot; 1 &quot;, the output of the AND circuit 134 is at the H level and the other is at the L level. The flag circuit 136 outputs a detection signal S that can discriminate that the input data Di are all "0" and all "1". For example, when the detection signal S is composed of 2-bit data and is "00", the input data Di are all "1" when the input data Di are all "0" and "11". The detection signal S of the detection circuit 130 is provided to the transfer / write circuit 200 and the ECC circuit 120.

ECC 회로(120)는, 입력 데이터(Di)를 연산함으로써 입력 데이터(Di)의 에러 검출 및 정정에 필요한 에러 정정 부호 또는 패리티 비트를 생성한다. ECC의 연산은, 예를 들면 해밍 코드나 리드-솔로몬 등 공지의 수법에 의해 이루어지며 입력된 k비트 또는 k바이트의 입력 데이터(Di)를 p=k+q로 변환한다. 본 명세서에서는 「q」를, 입력 데이터(Di)의 에러 검출 정정에 필요한 에러 정정 부호 또는 패리티 비트로 칭한다.The ECC circuit 120 generates an error correction code or a parity bit necessary for error detection and correction of the input data Di by calculating the input data Di. The calculation of the ECC is performed by a known method such as Hamming code or Reed-Solomon, and converts the inputted k bits or k bytes of input data Di into p = k + q. In this specification, &quot; q &quot; is referred to as an error correction code or parity bit necessary for error detection correction of the input data Di.

페이지 버퍼/센스 회로(170)와 ECC 회로(120) 사이에는 전송/기입 회로(200)가 마련된다. 전송/기입 회로(200)는 페이지 버퍼/센스 회로(170)에 보존 유지된 입력 데이터(Di)를 ECC 회로(120)에 전송한다. 또 전송/기입 회로(200)는 ECC 회로(120)에 의해 생성된 에러 정정 부호를 페이지 버퍼/센스 회로(170)의 스페어 영역에 기입한다.Between the page buffer / sense circuit 170 and the ECC circuit 120, a transfer / write circuit 200 is provided. The transfer / write circuit 200 transfers the input data Di stored in the page buffer / sense circuit 170 to the ECC circuit 120. The transfer / write circuit 200 also writes the error correction code generated by the ECC circuit 120 in the spare area of the page buffer / sense circuit 170.

전송/기입 회로(200)는 검출 회로(130)에 의해 입력 데이터(Di)가 특정 비트열이라는 것이 검출되었을 때 페이지 버퍼/센스 회로(170)에 보존 유지된 입력 데이터(Di)의 전송을 금지한다. 즉, ECC 회로(120)는 입력 데이터(Di)의 ECC 연산을 실행하지 않는다. ECC 회로(120)는 입력 데이터(Di)(=특정 비트열)의 기존의 에러 정정 부호를 생성하여 이것을 전송/기입 회로(200)에 제공하고, 전송/기입 회로(200)는 수취한 기존의 에러 정정 부호를 페이지 버퍼/센스 회로(170)의 스페어 영역에 기입한다.The transmission / writing circuit 200 prohibits transmission of the input data Di held and held in the page buffer / sense circuit 170 when the detection circuit 130 detects that the input data Di is a specific bit string do. That is, the ECC circuit 120 does not execute the ECC operation of the input data Di. The ECC circuit 120 generates an existing error correction code of the input data Di (= a specific bit string) and provides it to the transmission / writing circuit 200, and the transmission / And writes the error correction code in the spare area of the page buffer / sense circuit 170. [

한 예에서는, ECC 회로(120)는 특정 비트열과 기존의 에러 정정 부호와의 관계를 규정하는 표를 포함할 수 있다. 표의 일례를 도 6에 도시한다. ECC 회로(120)는 검출 회로(130)로부터 검출 신호(S)를 수취하면 해당 검출 신호(S)에 기초하여 특정 비트열에 대응하는 기존의 에러 정정 부호를 독출하고 이것을 전송/기입 회로(200)에 출력한다. 예를 들면 입력 데이터(Di)가 모두 「0」일 때(상기 예에서는 검출 신호(S)가 「00」), 기존의 에러 정정 부호(EC0)가 전송/기입 회로(200)에 출력된다. 입력 데이터(Di)가 모두 「1」일 때(상기 예에서는, 검출 신호(S)가 「11」), 기존의 에러 정정 부호(EC1)가 전송/기입 회로(200)에 출력된다. 이러한 표는 반드시 ECC 회로(120)가 보존 유지할 필요는 없으며 전송/기입 회로(200)가 보존 유지해도 좋다. 혹은 검출 회로(130)가 표를 보존 유지하여 기존의 에러 정정 부호를 전송/기입 회로(200)에 제공하도록 해도 좋다.In one example, the ECC circuit 120 may include a table defining the relationship between a particular bit string and an existing error correction code. An example of the table is shown in Fig. When the ECC circuit 120 receives the detection signal S from the detection circuit 130, the ECC circuit 120 reads out an existing error correction code corresponding to a specific bit string based on the detection signal S, . For example, when all of the input data Di is "0" (in this example, the detection signal S is "00"), the conventional error correction code EC0 is outputted to the transmission / When the input data Di are all "1" (in this example, the detection signal S is "11"), the conventional error correction code EC1 is output to the transfer / This table does not need to be stored and held by the ECC circuit 120, and the transfer / write circuit 200 may keep and maintain the table. Alternatively, the detection circuit 130 may preserve the table and provide an existing error correction code to the transfer / write circuit 200.

또 다른 예로서 ECC 회로(120)는 검출 신호(S)에 기초하여 기존의 에러 정정 부호를 생성하는 논리 회로를 구비한 것이어도 좋다. 예를 들면 검출 신호(S)가 「00」일 때 에러 정정 부호(EC0)가 생성되고, 검출 신호(S)가 「11」일 때 에러 정정 부호(EC1)가 생성되고 이들 에러 정정 부호가 전송/기입 회로(200)에 출력된다. 이러한 에러 정정 부호를 생성하는 논리 회로는 반드시 ECC 회로(120)가 구비할 필요는 없으며 전송/기입 회로(200) 또는 검출 회로(130)가 구비하도록 해도 좋다.As another example, the ECC circuit 120 may be provided with a logic circuit for generating an existing error correction code based on the detection signal S. [ For example, an error correction code EC0 is generated when the detection signal S is "00", and an error correction code EC1 is generated when the detection signal S is "11" / Write circuit 200 shown in Fig. The ECC circuit 120 is not necessarily provided with a logic circuit for generating such an error correction code, and the transfer / write circuit 200 or the detection circuit 130 may be provided.

전송/기입 회로(200)에 의한 에러 정정 부호의 페이지 버퍼/센스 회로(170)로의 기입이 종료되면, 다음으로 페이지 버퍼/센스 회로(170)에 보존 유지된 입력 데이터(Di) 및 에러 정정 부호가 메모리 어레이(100)의 선택된 페이지에 프로그래밍된다.When the writing of the error correction code into the page buffer / sense circuit 170 by the transfer / write circuit 200 is completed, the input data Di and the error correction code Is programmed to the selected page of the memory array (100).

독출 동작시에 메모리 어레이(100)의 선택 페이지로부터 독출된 데이터는 페이지 버퍼/센스 회로(170)에 보존 유지되고, 다음으로 전송/기입 회로(200)를 통해 ECC 회로(120)에 전송된다. ECC 회로(120)는 에러 정정 부호에 기초하여 프로그래밍 불량 유무 또는 독출 불량 유무를 판정하여 불량에 의한 에러가 있으면 에러 정정 부호를 이용하여 데이터를 정정한다. ECC 처리된 데이터는 전송/기입 회로(200)를 통해 페이지 버퍼/센스 회로(170)에 전송되고 이어서 입출력 버퍼(110)를 통해 외부에 출력된다.The data read from the selected page of the memory array 100 in the read operation is stored in the page buffer / sense circuit 170 and then transferred to the ECC circuit 120 through the transfer / The ECC circuit 120 determines whether or not there is a programming error or a read error based on the error correction code, and if there is an error caused by the error, corrects the data using the error correction code. The ECC processed data is transferred to the page buffer / sense circuit 170 through the transfer / write circuit 200 and then outputted to the outside through the input / output buffer 110.

본 실시예에서는, 검출 회로(130)에 의해 입력 데이터(Di)가 특정의 비트예라는 것이 검출되면 페이지 버퍼/센스 회로(170)에 보존 유지된 입력 데이터(Di)가 ECC 회로(120)에 전송되는 것이 생략되어 ECC 회로(120)에 의한 연산을 하지 않고 기존의 에러 정정 부호가 페이지 버퍼/센스 회로(170)에 기입된다. 이로써 페이지 버퍼/센스 회로(170)에서 ECC 회로(120)로의 입력 데이터(Di)의 전송 시간 및 ECC 연산 시간을 삭감할 수 있어 입력 데이터(Di)의 프로그래밍에 필요한 시간을 대폭 단축할 수 있다.In the present embodiment, when the detection circuit 130 detects that the input data Di is a specific bit, the input data Di stored in the page buffer / sense circuit 170 is supplied to the ECC circuit 120 The transmission is omitted and the conventional error correction code is written into the page buffer / sense circuit 170 without performing the calculation by the ECC circuit 120. This makes it possible to reduce the transfer time and the ECC calculation time of the input data Di from the page buffer / sense circuit 170 to the ECC circuit 120, thereby greatly shortening the time required for programming the input data Di.

다음으로 도 7 내지 도 10에 도시한 예를 이용하여 설명하기로 한다. 플래쉬 메모리(10)의 외부 입출력 단자는 ×1, ×4, ×8 등의 구성이 가능한데, 여기에서는 플래쉬 메모리(10)가 ×8의 외부 입출력 단자를 갖는 예를 나타낸다. 도 7에 도시한 바와 같이 외부 입출력 단자(P-0)∼(P-7)는 I/O버퍼(110-1)∼(110-7)에 각각 접속되며, 외부 입출력 단자(P-0)∼(P-7)에 입력된 데이터는 I/O버퍼(110-0)∼(110-7)에 병렬로 입력된다. 페이지 버퍼/센스 회로(170)는 섹터0∼섹터7의 8개의 섹터에 분할된 레귤러 영역(300)과, 스페어0, 스페어1, 스페어2, 스페어3의 4개의 섹터에 분할된 스페어 영역(310)을 가진다.Next, the description will be made using the example shown in FIG. 7 to FIG. The external input / output terminals of the flash memory 10 may be configured as x1, x4, x8, etc. Here, the example in which the flash memory 10 has x8 external input / output terminals is shown. 7, the external input / output terminals P-0 to P-7 are connected to the I / O buffers 110-1 to 110-7, respectively. The external input / output terminals P- To (P-7) are input to the I / O buffers 110-0 to 110-7 in parallel. The page buffer / sense circuit 170 includes a regular area 300 divided into eight sectors of sector 0 to sector 7 and a spare area 310 divided into four sectors of spare 0, spare 1, spare 2 and spare 3 ).

페이지 버퍼/센스 회로(170)의 레귤러 영역(300)의 한 섹터에는 8개의 외부 입출력 단자(P-0)∼(P-7), 즉 입출력 버퍼(110-0)∼(110-7)가 할당된다. 도 1에 도시한 열 선택 회로(180)는 수취한 열 어드레스 정보(Ay)를 디코딩하고 해당 디코딩 결과에 기초하여 외부 입출력 단자(P-0)∼(P-7)에 입력된 데이터가 로딩되는 섹터를 선택한다. 도 7에 도시한 예에서는 외부 입출력 단자(P-0)∼(P-7)에서 수취된 데이터가 열 어드레스 정보(Ay)에 따라 섹터0에 로딩되고, 도 8에 도시한 예에서는 외부 입출력 단자(P-0)∼(P-7)에서 수취된 데이터가 열 어드레스 정보(Ay)에 따라 섹터1에 로딩된다. 동시에 각 섹터에 로딩된 데이터는 검출 회로(130)에 입력되고 거기에서 입력 데이터가 특정 비트열인지 여부가 감시된다.Eight external input / output terminals P-0 to P-7, that is, the input / output buffers 110-0 to 110-7, are provided in one sector of the regular area 300 of the page buffer / sense circuit 170 . The column selecting circuit 180 shown in Fig. 1 decodes the received column address information Ay and, based on the decoding result, the data inputted to the external input / output terminals P-0 to P-7 are loaded Select the sector. 7, the data received from the external input / output terminals P-0 to P-7 is loaded into the sector 0 according to the column address information Ay. In the example shown in FIG. 8, The data received in (P-0) to (P-7) is loaded into sector 1 according to column address information Ay. At the same time, the data loaded into each sector is input to the detection circuit 130, where it is monitored whether or not the input data is a specific bit string.

레귤러 영역(300) 중 하나의 섹터는, 예를 들면 256바이트로 구성되며 1개의 외부 입출력 단자에는 256비트가 할당된다(256bit×8=1섹터). 또 이 경우에는, 8개의 섹터는 전체적으로 약 2K바이트의 프로그래밍 데이터를 보존 유지할 수 있다. 스페어 영역(310) 중 하나의 섹터는, 예를 들면 16바이트로 구성되며 그 경우 4개의 섹터(스페어0∼스페어3)는 전체적으로 64바이트의 데이터를 보존 유지할 수 있다. 스페어 영역(310) 중 하나의 섹터는, 불량 메모리 소자를 포함한 배드 블록을 식별하는 정보를 기억하는 영역(311), 사용자 데이터에 관한 정보를 기억하는 영역(312), 레귤러 영역(300)의 2개 섹터에 대한 에러 정정 부호(패리티 비트)를 기억하는 영역(313),(314), 스페어 영역(310)이 ECC 연산되었을 때의 에러 정정 부호(패리티 비트)를 기억하는 영역(315)을 가진다. 스페어 영역(310)의 스페어0의 영역(313),(314)은 레귤러 영역(300)의 섹터0, 섹터1의 에러 정정 부호(패리티 비트)를 각각 기억하고, 스페어 영역(310)의 스페어1의 영역(313),(314)은 레귤러 영역(300)의 섹터2, 섹터3의 에러 정정 부호(패리티 비트)를 기억한다. 마찬가지로 스페어 영역(310)의 스페어2는 레귤러 영역(300)의 섹터4, 섹터5의 패리티 비트를 기억하고, 스페어 영역(310)의 스페어3은 레귤러 영역(300)의 섹터6, 섹터7의 패리티 비트를 기억한다.One sector of the regular area 300 is composed of, for example, 256 bytes, and 256 bits are allocated to one external input / output terminal (256 bits x 8 = 1 sector). In this case, eight sectors can store and maintain approximately 2K bytes of programming data as a whole. One sector of the spare area 310 is composed of, for example, 16 bytes. In this case, four sectors (spare 0 to spare 3) can hold and retain 64 bytes of data as a whole. One sector of the spare area 310 includes an area 311 for storing information for identifying a bad block including a bad memory element, an area 312 for storing information about user data, Areas 313 and 314 for storing error correction codes (parity bits) for each sector and an area 315 for storing error correction codes (parity bits) when the spare area 310 is subjected to ECC operation . Areas 313 and 314 of spare 0 in spare area 310 store sector 0 and error correction code (parity bit) of sector 1 in regular area 300 and spare 1 313 and 314 store the error correction codes (parity bits) of sector 2 and sector 3 of the regular area 300. [ Similarly, the spare 2 of the spare area 310 stores the parity bits of the sector 4 and the sector 5 of the regular area 300 and the spare 3 of the spare area 310 stores the parity of the sector 6 and the sector 7 of the regular area 300 Bit.

전송/기입 회로(200)는 레귤러 영역(300)에 보존 유지된 데이터를 섹터 단위로 전송한다. 즉, 1개의 섹터가 256바이트일 때 전송/기입 회로(200)는 256바이트의 데이터를 ECC 회로(120)에 병렬 전송하기 위한 복수의 전송용 트랜지스터를 구비한다. 전송용 트랜지스터의 각 게이트에 제어 신호가 공통 접속되고 제어 신호는 제어부(150)에 의해 제어된다. ECC 회로(120)는 섹터 단위로 전송된 데이터를 수취하여 ECC 연산을 함으로써 에러 정정 부호를 생성한다. 전송/기입 회로(200)는 ECC 회로(120)로부터 수취한 에러 정정 부호를 스페어 영역(310)의 대응하는 섹터의 영역(313) 또는 (314)에 기입한다.The transfer / write circuit 200 transfers data stored in the regular area 300 on a sector-by-sector basis. That is, when one sector is 256 bytes, the transfer / write circuit 200 has a plurality of transfer transistors for transferring 256 bytes of data to the ECC circuit 120 in parallel. A control signal is commonly connected to each gate of the transfer transistor, and the control signal is controlled by the control unit 150. [ The ECC circuit 120 receives data transmitted in units of sectors and performs an ECC operation to generate an error correction code. The transmission / write circuit 200 writes the error correction code received from the ECC circuit 120 in the area 313 or 314 of the corresponding sector of the spare area 310. [

도 7에 도시한 예는, 입력 데이터(Di), 즉 프로그래밍 데이터가 레귤러 영역(300)의 섹터0에 로딩되는 예를 도시한다. 여기에서는 입력 데이터(Di)가 특정 비트열에 해당하지 않기 때문에 검출 회로(130)에 의한 검출 신호(S)는 전송/기입 회로(200)의 전송을 금지시키지 않는다. 따라서 전송/기입 회로(200)는 입력 데이터(Di)를 ECC 회로(120)에 전송하고 ECC 회로(120)에 의해 생성된 에러 정정 부호가 스페어 영역(310)의 스페어0의 영역(313)에 기입된다.7 shows an example in which the input data Di, that is, programming data is loaded into sector 0 of the regular area 300. In the example shown in Fig. In this case, since the input data Di does not correspond to a specific bit string, the detection signal S by the detection circuit 130 does not inhibit the transmission from the transmission / Therefore, the transfer / write circuit 200 transfers the input data Di to the ECC circuit 120 and the error correction code generated by the ECC circuit 120 is transferred to the area 313 of the spare 0 in the spare area 310 .

도 8은, 입력 데이터(Di)가 특정 비트열을 가질 때의 동작을 도시한다. 레귤러 영역(300)의 섹터1에 로딩된 입력 데이터(Di)가 특정 비트열에 해당한다는 것이 검출 회로(130)에 의해 검출되면, 그 검출 신호(S)가 전송/기입 회로(200) 및 ECC 회로(120)에 제공된다. 전송/기입 회로(200)는 검출 신호(S)에 응답하여 섹터1의 입력 데이터(Di)의 ECC 회로(120)로의 전송을 금지한다. 또 ECC 회로(120)는 검출 신호(S)에 기초하여 특정 비트열을 식별하고 해당 특정 비트열에 대응하는 에러 정정 부호를 전송/기입 회로(200)에 제공한다. 그리고 전송/기입 회로(200)는 스페어 영역(310)의 스페어0의 영역(314)에 섹터1의 에러 정정 부호를 기입한다.8 shows an operation when the input data Di has a specific bit string. When the detection circuit 130 detects that the input data Di loaded in the sector 1 of the regular area 300 corresponds to a specific bit string, the detection signal S is supplied to the transfer / (Not shown). The transfer / write circuit 200 inhibits the transfer of the input data Di of the sector 1 to the ECC circuit 120 in response to the detection signal S. The ECC circuit 120 identifies a specific bit string based on the detection signal S and provides an error correction code corresponding to the specific bit string to the transmission / Then, the transmission / write circuit 200 writes the error correction code of the sector 1 in the area 314 of the spare 0 in the spare area 310.

도 9에 종래의 ECC 처리 흐름을 도시하고, 도 10에 본 실시예의 ECC 처리 흐름을 도시한다. 처음에 종래의 ECC 처리 동작을 설명한다. 외부 콘트롤러로부터 플래쉬 메모리(10)에 대해 외부 제어 신호 및 커멘드 데이터, 어드레스 데이터 및 프로그래밍 데이터가 공급된다. 제어부(150)는 외부 제어 신호 및 커멘드 데이터에 기초하여 프로그램 동작을 개시한다.FIG. 9 shows a conventional ECC processing flow, and FIG. 10 shows an ECC processing flow of this embodiment. First, the conventional ECC processing operation will be described. External control signals and command data, address data, and programming data are supplied to the flash memory 10 from the external controller. The control unit 150 starts the program operation based on the external control signal and the command data.

외부 입출력 단자 및 입출력 버퍼(110)를 통해 프로그래밍 데이터(입력 데이터(Di))가 페이지 버퍼/센스 회로(170)에 로딩되면(S100), 제어부(150)의 제어하에서 프로그래밍 시퀀스가 개시된다(S102). 페이지 버퍼/센스 회로(170)에 보존 유지된 섹터0의 데이터가 전송/기입 회로(200)를 통해 ECC 회로(120)에 전송된다(S104). 다음으로 ECC 회로(120)에서 ECC 연산이 실행되고 거기에서 생성된 패리티 비트가 페이지 버퍼/센스 회로(170)의 스페어 영역(310)에 기입된다(S108).When the programming data (input data Di) is loaded into the page buffer / sense circuit 170 through the external input / output terminal and the input / output buffer 110 (S100), the programming sequence starts under the control of the control unit 150 ). The data of the sector 0 stored in the page buffer / sense circuit 170 is transferred to the ECC circuit 120 through the transfer / write circuit 200 (S104). Next, an ECC operation is performed in the ECC circuit 120, and the generated parity bit is written into the spare area 310 of the page buffer / sense circuit 170 (S108).

다음으로 ECC가 미처리된 섹터가 있는지 여부가 제어부(150) 또는 전송/기입 회로(200)에 의해 판정된다(S110). 이렇게 하여 페이지 버퍼/센스 회로(170)의 모든 섹터의 데이터가 ECC 처리되어 섹터마다의 패리티 비트가 스페어 영역(310)의 대응하는 섹터의 영역(313),(314)에 기입된다. 아울러 NAND형 플래쉬 메모리는 페이지 단위로 프로그래밍이 이루어지는데 입력되는 프로그래밍 데이터의 사이즈는 반드시 1페이지, 즉 도 7에 도시한 레귤러 영역(300)의 8개 섹터의 사이즈와 동일할 필요는 없다. 예를 들면 프로그래밍 데이터의 사이즈는 1개 섹터의 사이즈일 수 있다. 통상 프로그래밍 디스터브의 관점에서 동일 페이지에 연속적으로 프로그래밍하는 것이 허락되는 횟수(NOP(Number of Program))에는 제한이 있으며, 그 NOP에 따라 1개의 페이지 데이터를 분할하여 프로그래밍할 수 있다. NOP가 4일 때 1개의 페이지 데이터는, 예를 들면 2섹터, 1섹터, 3섹터, 2섹터로 나누어 플래쉬 메모리(10)에 입력할 수 있다.Next, whether or not there is an ECC unprocessed sector is determined by the control unit 150 or the transfer / write circuit 200 (S110). In this manner, data of all the sectors of the page buffer / sense circuit 170 is subjected to ECC processing, and parity bits for each sector are written in the sectors 313 and 314 of the corresponding sector of the spare area 310. In addition, the NAND type flash memory is programmed in units of pages, and the size of input programming data does not necessarily have to be the same as the size of eight sectors in one page, that is, the regular area 300 shown in FIG. For example, the size of the programming data may be one sector size. There is a limitation on the number of times (NOP (Number of Program)) that is allowed to continuously program on the same page from the viewpoint of the normal programming disturb, and one page data can be divided and programmed according to the NOP. When NOP is 4, one page data can be divided into two sectors, for example, two sectors, one sector, three sectors, and two sectors, and input to the flash memory 10.

레귤러 영역의 ECC 처리가 종료되면, 다음으로 스페어 영역의 ECC 처리가 실행된다. 도 7에 도시한 바와 같이 스페어 영역(310)의 스페어0의 데이터가 전송/기입 회로(200)에 의해 ECC 회로(120)에 전송되고(S112), 거기에서 ECC 처리가 실행되고(S114), 생성된 패리티 비트가 영역(315)에 기입된다(S116). ECC가 미처리된 섹터가 있는지 여부가 판정되고(S118), 그러한 섹터가 있으면 단계S112 내지 S116이 반복된다. 이렇게 하여 스페어 영역(310)의 모든 섹터의 ECC 처리가 실행된다. 페이지 버퍼/센스 회로(170)의 레귤러 영역(300) 및 스페어 영역(310)에 보존 유지된 모든 데이터의 ECC 처리가 종료되면 페이지 버퍼/센스 회로(170)에 보존 유지된 데이터가 메모리 어레이의 선택된 페이지에 프로그래밍된다(S120).When the ECC process of the regular area is completed, the ECC process of the spare area is executed next. 7, the data of spare 0 in the spare area 310 is transferred to the ECC circuit 120 by the transfer / write circuit 200 (S112), and the ECC process is executed there (S114) The generated parity bit is written in the area 315 (S116). It is judged whether or not there is an unprocessed sector of the ECC (S118), and if there is such a sector, steps S112 to S116 are repeated. In this manner, ECC processing of all the sectors in the spare area 310 is executed. When the ECC processing of all the data stored in the regular area 300 and the spare area 310 of the page buffer / sense circuit 170 is completed, the data held in the page buffer / sense circuit 170 is selected (S120).

한편 본 실시예의 플래쉬 메모리(10)에서는, 도 10에 도시한 바와 같이 프로그래밍 데이터가 페이지 버퍼/센스 회로(170)에 로딩되며(S200), 이와 병행하여 프로그래밍 데이터가 검출 회로(130)에 의해 감시된다(S202). 프로그래밍 데이터의 페이지 버퍼/센스 회로(170)로의 로딩이 완료되면 프로그래밍 시퀀스가 개시된다(S204).On the other hand, in the flash memory 10 of the present embodiment, as shown in Fig. 10, the programming data is loaded into the page buffer / sense circuit 170 (S200) (S202). When the loading of the programming data into the page buffer / sense circuit 170 is completed, the programming sequence is started (S204).

각 섹터의 프로그래밍 데이터가 페이지 버퍼/센스 회로(170)에 입력되자마자 검출 회로(130)는 각 섹터의 프로그래밍 데이터가 특정 비트열인지 여부를 검출한다(S206). 만약 섹터의 프로그래밍 데이터가 특정 비트열과 일치하지 않으면 해당 섹터의 프로그래밍 데이터는 종래와 마찬가지로 ECC 회로(120)에 전송되어 ECC 처리가 실행된다(S208, S210). 즉, 도 7에 도시한 ECC 처리가 실행된다. 한편 섹터의 프로그래밍 데이터가 특정 비트열과 일치한다는 것이 검출 회로(130)에 의해 검출되었을 때 전송/기입 회로(200)는 해당 섹터를 프로그래밍 데이터의 ECC 회로(120)에 전송하지 않고 ECC 회로(120)는 해당 섹터의 프로그래밍 데이터를 위한 ECC 연산을 실행하지 않는다. 따라서 단계S208, S210의 처리가 스킵된다. ECC 회로(120)는 ECC 연산을 스킵하는 대신에 검출 신호(S)에 기초하여 특정 비트열을 식별하고, 식별된 특정 비트열에 대응하는 기존의 패리티 비트를 전송/기입 회로(200)에 출력하고, 전송/기입 회로(200)는 기존의 패리티 비트를 스페어 영역(310)의 영역(313) 또는 (314)에 기입한다. 이러한 처리는 페이지 버퍼/센스 회로(170)의 레귤러 영역(300)의 모든 섹터에 대해 이루어진다(단계S206∼214). 레귤러 영역(300)의 ECC 처리가 종료되면 다음으로 스페어 영역(310)으로의 ECC 처리가 실행된다. 스페어 영역(310)의 ECC 처리는, 도 9에 도시한 종래의 수법과 동일하므로 설명을 생략하기로 한다.As soon as the programming data of each sector is input to the page buffer / sense circuit 170, the detection circuit 130 detects whether the programming data of each sector is a specific bit string (S206). If the programming data of the sector does not coincide with the specific bit string, the programming data of the corresponding sector is transferred to the ECC circuit 120 and ECC processing is executed (S208, S210). That is, the ECC process shown in Fig. 7 is executed. On the other hand, when the detection circuit 130 detects that the programming data of the sector coincides with the specific bit string, the transfer / write circuit 200 does not transfer the sector to the ECC circuit 120 of the programming data, Does not execute the ECC operation for the programming data of the corresponding sector. Accordingly, the processing of steps S208 and S210 is skipped. The ECC circuit 120 identifies a specific bit string based on the detection signal S instead of skipping the ECC operation and outputs the existing parity bit corresponding to the identified specific bit string to the transmission / , The transfer / write circuit 200 writes the existing parity bit in the area 313 or 314 of the spare area 310. [ This processing is performed for all the sectors in the regular area 300 of the page buffer / sense circuit 170 (steps S206 to 214). When ECC processing in the regular area 300 ends, ECC processing to the spare area 310 is executed next. The ECC processing of the spare area 310 is the same as the conventional method shown in Fig. 9, and thus the description thereof will be omitted.

이와 같이 본 실시예에 의하면, 에러 정정 부호가 기지의 것인 특정 비트열의 프로그래밍 데이터가 입력된 경우에는 페이지 버퍼/센스 회로(170)에서 ECC 회로(120)로 프로그래밍 데이터를 전송하지 않고 또한 ECC 연산을 불필요하게 함으로써 입력된 데이터의 프로그래밍 시간을 단축시킬 수 있다. 특히 페이지 버퍼/센스 회로(170)에서 ECC 회로(120)로의 데이터 전송에 필요한 시간은 비교적 크기 때문에 프로그래밍 시간 단축에 크게 기여한다.As described above, according to the present embodiment, when programming data of a specific bit string having a known error correction code is inputted, the page buffer / sense circuit 170 does not transmit the programming data to the ECC circuit 120, The programming time of the input data can be shortened. In particular, the time required for transferring data from the page buffer / sense circuit 170 to the ECC circuit 120 is relatively large, which contributes greatly to shortening the programming time.

상기 실시예에서는 페이지 버퍼/센스 회로(170)에 보존 유지된 데이터를 ECC 회로(120)에 전송하는 예를 나타냈으나 페이지 버퍼/센스 회로(170)가 1개 혹은 복수의 캐시 기억 장치를 구비한 파이프 라인 구조일 때에도 본 발명을 적용할 수 있다. 이 경우 캐시 기억 장치와 ECC 회로 사이의 데이터 전송이 스킵된다.In the above embodiment, the example in which the data stored in the page buffer / sense circuit 170 is transferred to the ECC circuit 120 is shown, but the page buffer / sense circuit 170 has one or a plurality of cache memory devices The present invention can also be applied to a pipeline structure. In this case, the data transfer between the cache memory and the ECC circuit is skipped.

본 발명의 실시형태에 대해 상술하였으나, 본 발명은 특정 실시형태로 한정되지 않으며 특허청구범위에 기재된 발명의 요지의 범위 내에서 다양한 변형·변경이 가능하다.Although the embodiments of the present invention have been described above, the present invention is not limited to the specific embodiments, and various modifications and changes may be made within the scope of the gist of the invention described in the claims.

10:플래쉬 메모리
100:메모리 어레이
110:입출력 버퍼
120:ECC 회로
130:검출 회로
140:어드레스 레지스터
150:제어부
160:워드선 선택 회로
170:페이지 버퍼/센스 회로
180:열 선택 회로
190:내부 전압 발생 회로
200:전송/기입 회로
300:레귤러 영역
310:스페어 영역
10: Flash memory
100: memory array
110: I / O buffer
120: ECC circuit
130: Detection circuit
140: address register
150:
160: Word line selection circuit
170: page buffer / sense circuit
180: Thermal select circuit
190: internal voltage generating circuit
200: transfer / write circuit
300: Regular area
310: spare area

Claims (13)

메모리 어레이,
상기 메모리 어레이로부터 독출한 데이터를 보존 유지하거나, 또는 상기 메모리 어레이에 기입하는 데이터를 보존 유지하는 데이터 보존 유지 수단,
데이터의 에러 검출을 정정하는 에러 검출 정정 수단,
상기 데이터 보존 유지 수단에서 상기 에러 검출 정정 수단으로 데이터를 전송하는 전송 수단,
상기 에러 검출 정정 수단에 의해 생성된 에러 정정 부호를 상기 데이터 보존 유지 수단에 기입하는 기입 수단,
상기 데이터 보존 유지 수단에 입력되는 데이터가 특정 비트열을 갖는지 여부를 검출하는 검출 수단을 가지고,
상기 특정 비트열이 검출되었을 때, 상기 전송 수단은 상기 특정 비트열에 대응하는 데이터의 전송을 금지하고, 또한 상기 기입 수단은 미리 결정된 에러 정정 부호를 상기 데이터 보존 유지 수단에 기입하며,
상기 특정 비트열은, 에러 검출 정정의 연산을 할 필요가 없는 비트열, 혹은 에러 정정 부호가 기지의 것인 비트열인, 반도체 기억장치.
Memory arrays,
Data holding means for holding and holding data read from the memory array or storing data to be written in the memory array,
Error detection correction means for correcting error detection of data,
Transfer means for transferring data from the data storage and holding means to the error detection correction means,
Writing means for writing the error correction code generated by the error detection correction means to the data storage /
And a detecting unit that detects whether or not the data input to the data holding and holding unit has a specific bit string,
When said specific bit string is detected, said transmitting means prohibits transmission of data corresponding to said specific bit string, and said writing means writes a predetermined error correction code in said data storage holding means,
Wherein the specific bit string is a bit string in which it is not necessary to perform an error detection correction operation or a bit string in which an error correction code is known.
청구항 1에 있어서, 상기 특정 비트열은 논리0으로 이루어진 비트열인 반도체 기억장치.The semiconductor storage device according to claim 1, wherein the specific bit string is a bit string composed of a logical zero. 청구항 1에 있어서, 상기 특정 비트열은 논리1로 이루어진 비트열인 반도체 기억장치.The semiconductor memory device according to claim 1, wherein the specific bit string is a bit string made up of logic one. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 특정 비트열은 상기 전송 수단이 한번에 전송하는 비트수와 동일한 비트수인 반도체 기억장치.The semiconductor memory device according to any one of claims 1 to 3, wherein the specific bit string has the same number of bits as the number of bits transmitted by the transmitting means at one time. 청구항 1에 있어서, 상기 데이터 보존 유지 수단은 복수의 섹터로 분할되고, 상기 전송 수단은 섹터 단위로 데이터를 전송하고, 상기 에러 정정 수단은 섹터 단위로 에러 정정 처리를 하는 반도체 기억장치.The semiconductor memory device according to claim 1, wherein said data storage and holding means is divided into a plurality of sectors, said transmitting means transmits data on a sector-by-sector basis, and said error correction means performs error correction processing on a sector-by-sector basis. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 특정 비트열은 상기 데이터 보존 유지 수단이 보존 유지하는 1페이지의 비트수와 동일한 반도체 기억장치.The semiconductor storage device according to any one of claims 1 to 3, wherein the specific bit string is equal to the number of bits of one page stored and held by the data storage and holding means. 청구항 1 내지 3 중 어느 한 항에 있어서, 반도체 기억장치는 특정 비트열과 에러 정정 부호와의 관계를 기억하는 기억 수단을 더 포함하고, 상기 기입 수단은 상기 검출 수단의 검출 결과에 기초하여 특정 비트열에 해당하는 에러 정정 부호를 기입하는 반도체 기억장치.The semiconductor memory device according to any one of claims 1 to 3, further comprising: storage means for storing a relationship between a specific bit string and an error correction code, wherein said writing means writes, on the basis of the detection result of said detection means, And the corresponding error correction code is written. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 기입 수단은 상기 검출 수단의 검출 결과에 기초하여 특정 비트열에 해당하는 에러 정정 부호를 생성하는 논리 회로를 포함하고 해당 논리 회로에 의해 생성된 에러 정정 부호를 기입하는 반도체 기억장치.The semiconductor memory device according to any one of claims 1 to 3, wherein the writing means includes a logic circuit for generating an error correction code corresponding to a specific bit string on the basis of the detection result of the detection means, To the semiconductor memory device. 청구항 1 내지 3 중 어느 한 항에 있어서, 반도체 기억장치는 복수의 외부 입출력 단자를 포함하여 복수의 외부 입출력 단자로부터 입력된 데이터가 병렬로 상기 데이터 보존 유지 수단에 로딩되며, 상기 검출 수단은 병렬로 입력된 데이터 각각이 특정 비트열을 포함하는지 여부를 검출하는 반도체 기억장치.The semiconductor memory device according to any one of claims 1 to 3, wherein data inputted from a plurality of external input / output terminals, including a plurality of external input / output terminals, are loaded into the data storage / holding means in parallel, And detects whether or not each of the input data includes a specific bit string. 청구항 1에 있어서, 상기 메모리 어레이는 NAND형 메모리 어레이이며, 상기 데이터 보존 유지 수단은 페이지 버퍼를 포함하는 반도체 기억장치.The semiconductor storage device according to claim 1, wherein the memory array is a NAND type memory array, and the data holding means includes a page buffer. NAND형 플래쉬 메모리의 프로그래밍 방법으로서,
외부 입출력 단자로부터 입력된 프로그래밍 데이터를 페이지 버퍼에 로딩하고,
상기 프로그래밍 데이터가 특정 비트열인지 여부를 검출하여,
특정 비트열이 아니라고 검출되었을 때 상기 페이지 버퍼에 보존 유지된 프로그래밍 데이터를 ECC 회로에 전송하여 ECC 연산에 의해 생성된 에러 정정 부호를 상기 페이지 버퍼에 기입하고, 한편 특정 비트열이라고 검출되었을 때 상기 페이지 버퍼에 보존 유지된 프로그래밍 데이터의 전송을 금지하고 해당 특정 비트열에 대응하는 기존의 에러 정정 부호를 상기 페이지 버퍼에 기입하며,
상기 특정 비트열은, 에러 검출 정정의 연산을 할 필요가 없는 비트열, 혹은 에러 정정 부호가 기지의 것인 비트열인, 프로그래밍 방법.
As a programming method of the NAND type flash memory,
The programming data input from the external input / output terminal is loaded into the page buffer,
Detects whether the programming data is a specific bit string,
When it is detected that the specific bit string is not a specific bit string, the program data stored in the page buffer is transmitted to the ECC circuit, and the error correcting code generated by the ECC operation is written into the page buffer. On the other hand, Prohibiting transmission of the programming data stored in the buffer and writing the existing error correction code corresponding to the specific bit string into the page buffer,
Wherein the specific bit string is a bit string in which it is not necessary to perform an error detection correction operation or a bit string in which an error correction code is known.
청구항 11에 있어서, 상기 프로그래밍 데이터는 모두 논리「0」의 비트열인 프로그래밍 방법.12. The programming method according to claim 11, wherein the programming data are all bit strings of logic &quot; 0 &quot;. 청구항 11에 있어서, 상기 프로그래밍 데이터는 모두 논리「1」의 비트열인 프로그래밍 방법.12. The method according to claim 11, wherein the programming data are all bit strings of logic &quot; 1 &quot;.
KR1020140105781A 2014-08-14 2014-08-14 Semiconductor memory device and programming method thereof KR101651573B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140105781A KR101651573B1 (en) 2014-08-14 2014-08-14 Semiconductor memory device and programming method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140105781A KR101651573B1 (en) 2014-08-14 2014-08-14 Semiconductor memory device and programming method thereof

Publications (2)

Publication Number Publication Date
KR20160020717A KR20160020717A (en) 2016-02-24
KR101651573B1 true KR101651573B1 (en) 2016-08-26

Family

ID=55449524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140105781A KR101651573B1 (en) 2014-08-14 2014-08-14 Semiconductor memory device and programming method thereof

Country Status (1)

Country Link
KR (1) KR101651573B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417082B2 (en) 2017-03-03 2019-09-17 SK Hynix Inc. Memory systems and operating method thereof
US10678633B2 (en) 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137995A (en) 1998-10-30 2000-05-16 Nec Kyushu Ltd Storage device
KR100813630B1 (en) * 2007-02-07 2008-03-14 삼성전자주식회사 Flash memory system for improving read performance and read method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845529B1 (en) 2007-01-03 2008-07-10 삼성전자주식회사 Ecc controller for use in flash memory device and memory system including the same
KR100909358B1 (en) * 2007-04-16 2009-07-24 삼성전자주식회사 Flash memory device providing reliable initialization data and method of initializing it
JP2010079486A (en) 2008-09-25 2010-04-08 Panasonic Corp Semiconductor recording device
JP2010152989A (en) 2008-12-25 2010-07-08 Toshiba Corp Nonvolatile semiconductor storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137995A (en) 1998-10-30 2000-05-16 Nec Kyushu Ltd Storage device
KR100813630B1 (en) * 2007-02-07 2008-03-14 삼성전자주식회사 Flash memory system for improving read performance and read method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417082B2 (en) 2017-03-03 2019-09-17 SK Hynix Inc. Memory systems and operating method thereof
US10678633B2 (en) 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
KR20160020717A (en) 2016-02-24

Similar Documents

Publication Publication Date Title
US10395753B2 (en) Semiconductor memory device and programming method thereof
KR101731576B1 (en) Semiconductor memory device and programming method of nand flash memory
US7961516B2 (en) NAND flash memory and memory system
US9136007B2 (en) Semiconductor memory device storing management data redundantly in different pages
JP6258399B2 (en) Semiconductor device
TWI595497B (en) Semiconductor memory device, method for repairing bad column and setting method for redundant information thereof
KR101613198B1 (en) Semiconductor memory device and redundancy method thereof
US20180059936A1 (en) Semiconductor memory device and memory system
JP5550386B2 (en) Nonvolatile semiconductor memory device and memory system
US20100241929A1 (en) Semiconductor Memory Device for Performing Additional ECC Correction According to Cell Pattern and Electronic System Including the Same
JP2018028955A (en) Flash memory
JP6115740B1 (en) Semiconductor memory device
US20160012916A1 (en) Semiconductor memory device and memory system
KR101651573B1 (en) Semiconductor memory device and programming method thereof
CN105321566B (en) Semiconductor storage and its programmed method
JP2017111503A (en) Semiconductor storage and method for controlling the storage
JP5710815B1 (en) Semiconductor memory device
TWI521530B (en) Semiconductor memory device and programming method thereof
JP6293846B2 (en) Semiconductor memory device
TWI539465B (en) Semiconductor storing device and redundancy method thereof

Legal Events

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

Payment date: 20190808

Year of fee payment: 4