KR100995327B1 - Nonvolatile Memory Device and Driving Method thereof - Google Patents
Nonvolatile Memory Device and Driving Method thereof Download PDFInfo
- Publication number
- KR100995327B1 KR100995327B1 KR1020080133874A KR20080133874A KR100995327B1 KR 100995327 B1 KR100995327 B1 KR 100995327B1 KR 1020080133874 A KR1020080133874 A KR 1020080133874A KR 20080133874 A KR20080133874 A KR 20080133874A KR 100995327 B1 KR100995327 B1 KR 100995327B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- flag
- block
- stored
- blocks
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 복수 개의 OTP(One Time Programmable) 셀을 이용하여 반복적인 데이터 저장이 가능한 비휘발성 메모리 장치 및 그의 구동방법을 제공하기 위한 것으로, 이를 위해 본 발명은 복수 개의 OTP 셀로 이루어진 복수 개의 데이터 블록과, 상기 데이터 블록에 저장된 데이터의 유효성을 식별하는 플래그가 저장된 복수 개의 플래그 블록과, 상기 플래그에 따라 상기 데이터 블록들 중 어느 하나의 데이터 블록에 저장된 데이터를 출력하는 데이터 출력부를 구비하는 비휘발성 메모리 장치를 제공한다.The present invention provides a nonvolatile memory device capable of storing data repeatedly using a plurality of OTP (One Time Programmable) cells and a driving method thereof. To this end, the present invention provides a plurality of data blocks comprising a plurality of OTP cells; And a flag block for storing a flag for identifying validity of data stored in the data block, and a data output unit configured to output data stored in any one of the data blocks according to the flag. To provide.
비휘발성 메모리 소자, OTP Nonvolatile Memory Devices, OTP
Description
본 발명은 반도체 설계기술에 관한 것으로, 특히 원-타임 프로그래머블(One Time Programmable, 이하 OTP라 함) 셀을 구비한 비휘발성 메모리 장치 및 그의 구동방법에 관한 것이다. BACKGROUND OF THE
반도체 메모리 장치 중 비휘발성 메모리 장치는 전원이 없어도 데이터를 저장하는 비휘발 특성으로 인해 다양한 전자장치에서 공정의 초기 데이터나 기타 필요한 사용자의 데이터를 저장하는데 사용되고 있다. 이러한 비휘발성 메모리 장치는 같은 메모리 공간에 여러 번 데이터 저장이 가능한 멀티-타임 프로그래머블(Multi Time Programmable, 이하 MTP라 함)과 한번만 저장할 수 있는 OPT로 구분된다. Nonvolatile memory devices among semiconductor memory devices are used to store initial data of a process or other necessary user data in various electronic devices due to the nonvolatile nature of storing data even without a power source. Such a nonvolatile memory device is classified into a multi-time programmable (hereinafter, referred to as MTP) that can store data several times in the same memory space and an OPT that can be stored only once.
비휘발성 메모리 장치는 제품 크기가 중요한 반도체 제품이나 기타 필요한 제품에 내장되어 사용된다. 이 때문에 장치의 면적과 ESD(ElectroStatic Discharge) 특성의 이유로 여러 번 반복적으로 저장이 가능한 MTP보다는 OTP를 사용하고 있다. 그러나, OTP는 한번 만 기록이 가능한 특성으로 인해 제품 생산과정 및 테스트, 기능상의 이유로 특정 데이터를 저장해야 할 필요성이 있는 경우 장치의 유효성이나 불량 유무에 따라 제품 전체의 동작은 물론 수율에도 영향을 주게 된다. Non-volatile memory devices are used in semiconductor products or other necessary products where product size is important. For this reason, OTP is used rather than MTP, which can be stored many times repeatedly because of the area of the device and the characteristics of electrostatic discharge (ESD). However, OTP can only record the data once, because of its ability to record only once, if it is necessary to store specific data for product production, testing, and functional reasons, it can affect the overall product operation and yield depending on the validity or defect of the device. do.
따라서, 본 발명은 종래기술에 따른 문제점을 해결하기 위해 제안된 것으로서, 다음과 같은 목적들이 있다. Therefore, the present invention has been proposed to solve the problems according to the prior art, and has the following objects.
첫째, 본 발명은 복수 개의 OTP 셀을 이용하여 반복적인 데이터 저장이 가능한 비휘발성 메모리 장치 및 그의 구동방법을 제공하는데 그 목적이 있다. First, it is an object of the present invention to provide a nonvolatile memory device capable of repeatedly storing data using a plurality of OTP cells and a driving method thereof.
둘째, 본 발명은 OTP 셀에 저장된 데이터에 결함이 존재하더라도 항상 유효한 데이터를 출력하는 비휘발성 메모리 장치 및 그의 구동방법을 제공하는데 다른 목적이 있다. Second, another object of the present invention is to provide a nonvolatile memory device and a method of driving the same, which always output valid data even when a defect exists in data stored in an OTP cell.
상기한 목적을 달성하기 위한 일 측면에 따른 본 발명은 복수 개의 OTP(One Time Programmable) 셀로 이루어진 복수 개의 데이터 블록과, 상기 데이터 블록에 저장된 데이터의 유효성을 식별하는 플래그가 저장된 복수 개의 플래그 블록과, 상기 플래그에 따라 상기 데이터 블록들 중 어느 하나의 데이터 블록에 저장된 데이터를 출력하는 데이터 출력부를 구비하는 비휘발성 메모리 장치를 제공한다.According to an aspect of the present invention, there is provided a data block including a plurality of one time programmable (OTP) cells, a plurality of flag blocks in which a flag for identifying validity of data stored in the data block is stored; A nonvolatile memory device includes a data output unit configured to output data stored in one of the data blocks according to the flag.
또한, 상기한 목적을 달성하기 위한 다른 측면에 따른 본 발명은 상기한 비휘발성 메모리 장치의 구동방법에 있어서, 상기 플래그 블록들 중 첫번째 플래그 블록의 플래그를 읽는 단계와, 읽혀진 플래그가 유효한 플래그인지를 판단하는 단계와, 상기 읽혀진 플래그가 유효한 플래그인 경우 블럭주소를 증가시켜 다음번째 플래그 블록의 플래그를 읽고, 유효한 플래그가 아닌 경우 해당 데이터 블록에 데이터를 저장하는 단계를 포함하는 비휘발성 메모리 장치의 구동방법을 제공한다.According to another aspect of the present invention, there is provided a method of driving a nonvolatile memory device, the method including: reading a flag of a first flag block among the flag blocks and whether a read flag is a valid flag; Determining, and reading a flag of a next flag block by increasing a block address if the read flag is a valid flag, and storing data in a corresponding data block if the read flag is not a valid flag. Provide a method.
또한, 상기한 목적을 달성하기 위한 또 다른 측면에 따른 본 발명은 상기한 비휘발성 메모리 장치의 구동방법에 있어서, 상기 플래그 블록들 중 첫번째 플래그 블록의 플래그를 읽는 단계와, 읽혀진 플래그가 유효한 플래그인지를 판단하는 단계와, 상기 읽혀진 플래그가 유효한 플래그인 경우 해당 데이터 블록에 저장된 데이터를 출력하고, 유효한 플래그가 아닌 경우 블럭주소를 증가시켜 다음번째 플래그 블록의 플래그를 읽는 단계를 포함하는 비휘발성 메모리 장치의 구동방법을 제공한다.According to still another aspect of the present invention, there is provided a method of driving a nonvolatile memory device, the method including: reading a flag of a first flag block among the flag blocks, and whether the read flag is a valid flag; And determining whether the read flag is a valid flag and outputting data stored in the corresponding data block, and if the read flag is not a valid flag, increasing the block address to read a flag of the next flag block. It provides a driving method.
또한, 상기한 목적을 달성하기 위한 또 다른 측면에 따른 본 발명은 상기한 비휘발성 메모리 장치의 구동방법에 있어서, 상기 데이터 블록들 중 선택된 데이터 블록에 저장된 데이터의 유효성을 판단하는 단계와, 상기 데이터의 유효성에 따라 상기 선택된 데이터 블록에 할당된 플래그 블록의 플래그를 갱신하는 단계를 포함하는 비휘발성 메모리 장치의 구동방법을 제공한다.According to still another aspect of the present invention, there is provided a method of driving a nonvolatile memory device, the method comprising: determining validity of data stored in a selected data block among the data blocks; And updating a flag of a flag block allocated to the selected data block according to the validity of the nonvolatile memory device.
상기한 구성을 포함하는 본 발명에 의하면, 복수 개의 OTP 셀을 이용하여 반복적으로 데이터 저장이 가능하고, 잘못된 데이터가 저장된다 하더라도 항상 유효한 데이터를 출력하는 것이 가능하다. 이에 따라, 제품의 수율을 향상시킬 수 있다. According to the present invention including the above configuration, it is possible to repeatedly store data by using a plurality of OTP cells, and it is possible to always output valid data even if wrong data is stored. Thereby, the yield of a product can be improved.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 또한, 명세서 전체에 걸쳐서 동일한 도면부호(또는, 참조부호)로 표기된 부분은 동일한 요소를 나타낸다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. In addition, the parts denoted by the same reference numerals (or reference numerals) throughout the specification represent the same elements.
명세서 전체 기재에 있어서, 어떤 부분이 어떤 구성요소를 구비(또는 포함)한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서 기재에 있어서, '데이터의 유효성'이라 함은 메모리 셀, 즉 OTP 셀에 저장된 데이터가 유효한 데이터인 것을 의미하는 것으로서, '데이터의 유효성이 있다'라는 것은 저장하고자 하는 데이터가 안정적으로 OTP 셀에 저장된 것을 의미한다. 그리고, '데이터의 유효성이 없다'라는 것은 저장하고자 하는 데이터가 안정적으로 OTP 셀에 저장되지 않아 저장하고자 하는 데이터와 OTP 셀에 저장된 데이터가 서로 동일하지 않은 것을 의미한다. In the entire description of the specification, when a part has (or includes) a certain component, it means that the component may further include other components, except for the absence of a specially opposed description. . In addition, in the description of the specification, 'data validity' means that data stored in a memory cell, that is, an OTP cell is valid data, and 'having data validity' means that data to be stored is stably OTP. It means stored in the cell. In addition, 'ineffective data' means that the data to be stored is not stably stored in the OTP cell and the data to be stored and the data stored in the OTP cell are not the same.
실시예Example
도 1은 본 발명의 실시예에 따른 비휘발성 메모리 장치를 도시한 등가 회로도이다. 1 is an equivalent circuit diagram illustrating a nonvolatile memory device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 비휘발성 메모리 장치는 메모리 셀 어레이(100)를 구비한다. 메모리 셀 어레이(100)는 복수 개의 OTP 셀(OTP0~OTPM)로 이루어진 복수 개의 데이터 블록(DBLK0~DBLKN)과, 데이터 블록들(DBLK0~DBLKN) 각각에 저장된 데이터의 유효성을 식별하는 플래그(flag)가 저장된 복수 개의 플래그 블록(FB0~FBN)을 포함한다. 또한, 플래그에 따라 데이터 블록들(DBLK0~DBLKN) 중 어느 하나의 데이터 블록에 저장된 데이터를 출력하는 데이터 출력부(130)를 구비한다. Referring to FIG. 1, a nonvolatile memory device according to an embodiment of the present invention includes a
플래그 블록들(FB0~FBN)은 각각 데이터 블록들(DBLK0~DBLKN)마다 하나씩 할당된다. 플래그 블록들(FBO~FBN)은 각각 데이터 블록들(DBLK0~DBLKN)에 저장된 데이터가 유효한 데이터인지 또는 유효하지 않은 데이터인지를 식별하는 플래그를 저장한다. 다시 말하면, 데이터 블록들(DBLK0~DBLKN)에 저장된 데이터의 유효성에 대응하는 플래그를 저장한다. 플래그는 한 개의 OTP 셀로 이루어질 수 있으며, 1-비트를 저장한다. 예컨대, 플래그는 2진수로 '0' 또는 '1'의 형태를 가지며, 'O'인 경우 데이터의 유효성이 없는 것이고, '1'인 경우에는 데이터의 유효성이 있는 것이다. One flag block FB0 to FBN is allocated to each of the data blocks DBLK0 to DBLKN. The flag blocks FBO to FBN each store a flag identifying whether the data stored in the data blocks DBLK0 to DBLKN are valid data or invalid data. In other words, a flag corresponding to the validity of data stored in the data blocks DBLK0 to DBLKN is stored. The flag may consist of one OTP cell and store 1-bit. For example, the flag has a form of '0' or '1' in binary, and in the case of 'O', the data is not valid, and in the case of '1', the flag is valid.
또한, 본 발명의 실시예에 따른 비휘발성 메모리 장치는 데이터 선택부(110)를 더 구비한다. 데이터 선택부(110)는 플래그 블록(FB0~FBN)을 포함하는 데이터 블록들(DBLK0~DBLKN)을 선택하는 블록주소를 입력받고, 입력되는 쓰기동작신호 또는 읽기동작신호에 응답하여 데이터 블록들(DBLK0~DBLKN) 중 현재 입력되는 블록주소와 대응되는 데이터 블록을 선택한다. 이때, 데이터 선택부(110)는 쓰기동작신호 또는 읽기동작신호에 응답하여 순차적 또는 비순차적으로 플래그 블록(FBO~FBN) 중 어느 하나의 플래그 블록을 선택하고, 데이터 블록들(DBLK0~DBLKN) 중 어느 하나의 데이터 블록을 선택한다. 여기서, '순차적'이라 함은 'DBLK0'에서부터 'DBLKN' 순 또는 'DBLKN에서부터 'DBLK0' 순으로 순차적으로 데이터를 쓰거나 읽는 것을 의미한다. '비순차적'이라 함은 'DBLK0'에서 'DBLKN'에서 랜덤(random)하게 데이터를 쓰거나 읽는 것을 의미한다. 이러한 동작은 데이터 선택부(110)로 입력되는 블록주소에 따라 이루어지며, 하나의 블록주소를 통해 해당 플래그 블록에 저장된 플래그와 이에 대응하는 데이터 블록에 저장된 데이터는 함께 데이터 출력부(130)로 출력된다. In addition, the nonvolatile memory device according to the embodiment of the present invention further includes a
데이터 출력부(130)는 플래그 블록들(FB0~FBN) 중 데이터 선택부(110)에 의해 순차적으로 선택된 플래그 블록으로부터 플래그를 입력받고, 입력받은 플래그가 유효한 플래그인지 아니면 유효하지 않은 플래그인지를 판단한다. 여기서, '유효한 플래그'라 함은 해당 데이터 블록에 저장된 데이터가 유효한 데이터인 것을 의미하고, '유효하지 않은 플래그'라 함은 해당 데이터 블록에 데이터가 저장되어 있지 않거나, 혹은 저장되어 있으나, 저장된 데이터가 유효한 데이터가 아닌 것을 의미한다. 예를 들어, 데이터 선택부(110)에 의해 선택된 플래그 블록으로부터 입력되는 플래그가 2진수 '1'인지 혹은 '0'인지를 판별한다. 플래그가 '1'인 경우 그 플래그는 유효한 플래그로 판단하고, '0'인 경우에는 그 플래그는 유효하지 않은 플래그로 판단한다. The
또한, 데이터 출력부(130)는 데이터 블록들(DBLK0~DBLKN) 중 읽기동작신호에 응답하여 데이터 선택부(110)에 의해 선택된 데이터 블록으로부터 출력되는 데이터를 입력받고, 입력받은 데이터가 유효성이 있는 데이터인지 아니면 유효성이 없는 데이터인지를 판단한다. 예를 들어, 데이터 출력부(130)는 데이터 선택부(110)에 의해 선택된 데이터 블록으로부터 입력되는 데이터와 기준 데이터를 비교하여 선택된 데이터 블록으로부터 입력된 데이터와 기준 데이터가 동일한 경우 선택된 데이터 블록에 저장된 데이터는 유효한 데이터로 판단한다. 즉, 데이터의 유효성이 있는 것으로 판단한다. 이때, '기준 데이터'라 함은 데이터 블록에 저장하고자 하는 초기 데이터이다. 예를 들어, 데이터 블록에 저장하고자 하는 데이터, 즉 기준 데이터가 6-비트 데이터로서 2진수 '110101'로 표현되고, 실질적으로 데이터 블록에 저장된 데이터가 2진수 '100100'인 경우, 기준 데이터와 데이터 블록에 저장된 데이터가 서로 동일하지 않기 때문에 데이터 블록에 저장된 데이터는 유효성이 없는 것으로 판단한다. In addition, the
또한, 본 발명의 실시예에 따른 비휘발성 메모리 장치는 데이터 제공부(120)를 더 구비한다. 데이터 제공부(120)는 데이터 블록들(DBLK0~DBLKN) 중 쓰기동작신호에 응답하여 데이터 선택부(110)에 의해 선택된 데이터 블록으로 저장하고자 하는 데이터를 제공한다. 또한, 데이터 제공부(120)는 데이터 출력부(130)의 판단 결과에 따라 플래그 블록(FB0~FBN)으로 2진수 '0' 또는 '1'에 해당하는 1-비트 플래그를 제공한다. 예컨대, 데이터 제공부(120)는 데이터 출력부(130)의 판단 결과, 선택된 데이터 블록에 저장된 데이터가 유효한 데이터인 경우 2진수 '1'에 해당하는 플래그를 제공하고, 데이터 출력부(130)의 판단 결과 선택된 데이터 블록에 저장된 데이터가 유효한 데이터가 아닌 경우 2진수 '0'에 해당하는 플래그를 제공한다.In addition, the nonvolatile memory device according to the embodiment of the present invention further includes a
이하, 본 발명의 실시예에 따른 비휘발성 메모리 장치의 구동방법을 설명하기로 한다. Hereinafter, a method of driving a nonvolatile memory device according to an embodiment of the present invention will be described.
도 2는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 쓰기동작을 도시한 흐름도이다. 2 is a flowchart illustrating a write operation of a nonvolatile memory device according to an embodiment of the present invention.
도 1 및 도 2를 참조하면, 먼저, 데이터 선택부(110)는 첫번째 플래그 블록인 'FB0'를 선택한다. 이렇게 선택된 'FBO'의 플래그는 데이터 출력부(130)로 제공된다(S21). 데이터 출력부(130)는 'FBO'로부터 제공되는 플래그가 유효한 플래그인지 아니면 유효하지 않은 플래그인지를 판별한다(S22). 이때, 데이터 출력부(130)는 플래그가 '1'인 경우 유효한 플래그로 판단하고, '0'인 경우에는 유효한 플래그가 아닌 것으로 판단한다.1 and 2, first, the
단계 S22에서 'FBO'의 플래그가 유효한 플래그인 경우 다음번째 플래그 블록, 즉 'FB1'의 플래그를 검색하기 위해 블록주소를 증가시킨다(S23). 그런 다음, 증가된 블록주소에 따라 단계 S21에서 단계 S22를 반복적으로 다시 수행하여 다음번째 플래그 블록인 'FB1'의 플래그가 유효한 플래그인지 아니면 유효하지 않은 플래그인지를 판별한다. 이러한 플래그 판별과정은 유효하지 않은 플래그가 저장된 플래그 블록이 검출될 때까지 최종번째 플래그 블록인 'FBN'까지 순차적으로 수행된다. If the flag of 'FBO' is a valid flag in step S22, the block address is incremented to search for the flag of the next flag block, that is, 'FB1' (S23). Then, step S21 is repeatedly performed in step S21 according to the increased block address to determine whether the flag of the next flag block 'FB1' is a valid flag or an invalid flag. This flag determination process is sequentially performed until the last flag block 'FBN' until a flag block in which an invalid flag is stored is detected.
단계 S22에서 'FBO'의 플래그가 유효한 플래그가 아닌 경우 'FBO'에 대응되는 데이터 블록, 즉 'DBLK0'에 저장하고자 하는 데이터를 저장한다(S24). 그리고, 'FBO'의 플래그를 '0'에서 '1'로 갱신한다. 즉, 'FBO'이 플래그를 유효한 플래그로 갱신한다. If the flag of 'FBO' is not a valid flag in step S22, data to be stored in the data block corresponding to 'FBO', that is, 'DBLK0' is stored (S24). Then, the flag of 'FBO' is updated from '0' to '1'. That is, 'FBO' updates the flag with a valid flag.
도 3은 본 발명의 실시예에 따른 비휘발성 메모리 장치의 읽기동작을 도시한 흐름도이다. 3 is a flowchart illustrating a read operation of a nonvolatile memory device according to an exemplary embodiment of the present invention.
도 1 및 도 3을 참조하면, 먼저, 데이터 선택부(110)는 첫번째 플래그 블록인 'FB0'를 선택한다. 이렇게 선택된 'FBO'의 플래그는 데이터 출력부(130)로 제공된다(S31). 데이터 출력부(130)는 'FBO'로부터 제공되는 플래그가 유효한 플래그인지 아니면 유효하지 않은 플래그인지를 판별한다(S32). 이때, 데이터 출력부(130)는 플래그가 '1'인 경우 유효한 플래그로 판단하고, '0'인 경우에는 유효한 플래그가 아닌 것으로 판단한다.1 and 3, first, the
단계 S32에서 'FBO'의 플래그가 유효한 플래그인 경우 다음번째 플래그 블록, 즉 'FB1'의 플래그를 검색하기 위해 블록주소를 증가시킨다(S33). 그런 다음, 증가된 블록주소에 따라 단계 S31에서 단계 S32를 반복적으로 다시 수행하여 다음번째 플래그 블록인 'FB1'의 플래그가 유효한 플래그인지 아니면 유효하지 않은 플래그인지를 판별한다. 이러한 플래그 판별과정은 유효하지 않은 플래그가 저장된 플래그 블록이 검출될 때까지 최종번째 플래그 블록인 'FBN'까지 순차적으로 수행된다. If the flag of 'FBO' is a valid flag in step S32, the block address is incremented to search for the flag of the next flag block, that is, 'FB1' (S33). Then, step S31 is repeatedly performed in step S31 according to the increased block address to determine whether the flag of the next flag block 'FB1' is a valid flag or an invalid flag. This flag determination process is sequentially performed until the last flag block 'FBN' until a flag block in which an invalid flag is stored is detected.
단계 S32에서 'FBO'에 저장된 플래그가 유효한 플래그인 경우, 데이터 출력부(130)는 'FBO'에 대응되는 데이터 블록으로부터 입력받은 데이터를 출력한다(S34). If the flag stored in the 'FBO' in step S32 is a valid flag, the
도 4는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 구동방법에서 플래 그 갱신방법을 도시한 흐름도이다.4 is a flowchart illustrating a flag updating method in a method of driving a nonvolatile memory device according to an exemplary embodiment of the present invention.
도 1 및 도 4를 참조하면, 선택된 데이터 블록에 저장된 데이터를 읽는다(S41). 1 and 4, data stored in the selected data block is read (S41).
이어서, 읽어온 데이터와 기준 데이터를 비교하여 읽어온 데이터의 유효성을 판단한다(S42). 데이터의 유효성 판단은 읽어온 데이터가 기본 데이터와 동일한 경우 읽어온 데이터를 유효한 데이터로 판단하고, 그렇지 않은 경우 유효하지 않은 데이터로 판단한다. Next, the validity of the read data is determined by comparing the read data with the reference data (S42). In the validity judgment of the data, if the read data is the same as the basic data, the read data is determined to be valid data, and if not, it is determined as invalid data.
단계 S42에서 읽어온 데이터와 기준 데이터가 동일하지 않은 경우 다음번째 데이터 블록을 선택하기 위해 블록주소를 증가시킨다(S43). 그런 다음, 증가된 블록주소에 따라 단계 S41에서 단계 S42를 반복적으로 다시 수행하여 다음번째 데이터 블록에 저장된 데이터가 유효한 데이터인지지 아니면 유효하지 않은 데이터인지를 판별한다. If the data read in step S42 and the reference data are not the same, the block address is increased to select the next data block (S43). Then, step S41 is repeatedly performed in step S41 according to the increased block address to determine whether the data stored in the next data block is valid data or invalid data.
단계 S42에서 데이터 유효성에 따라 선택된 데이터 블록에 할당된 플래그 블록의 플래그를 갱신한다(S44). 읽어온 데이터가 기준 데이터와 동일한 경우, 이 선택된 데이터 블록에 할당된 플래그 블록으로 데이터를 제공하여 플래그를 2진수 '0'에서 2진수 '1'로 갱신한다. 그렇지 않고 저장된 데이터가 유효한 데이터가 아닌 경우, 즉 데이터 유효성이 없는 경우 이전 플래그 2진수 '0'으로 그대로 유지시킨다.In step S42, the flag of the flag block allocated to the data block selected according to the data validity is updated (S44). If the read data is the same as the reference data, the data is provided to the flag block assigned to this selected data block to update the flag from binary '0' to binary '1'. Otherwise, if the stored data is not valid data, that is, the data is invalid, the previous flag binary '0' is kept as it is.
이상에서 설명한 바와 같이, 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위 한 것이 아님을 주의하여야 한다. 또한, 이 기술 분야의 통상의 전문가라면 본 발명의 실시예를 통해 본 발명의 기술 사상의 범위 내에서 다양한 실시예들이 가능함을 이해할 수 있을 것이다.As described above, although the technical idea of the present invention has been described in detail in the preferred embodiments, it should be noted that the above-described embodiments are for the purpose of description and not for the purpose of limitation. In addition, those skilled in the art will understand that various embodiments are possible through the embodiments of the present invention within the scope of the technical idea of the present invention.
도 1은 본 발명의 실시예에 따른 비휘발성 메모리 장치를 도시한 블록도.1 is a block diagram illustrating a nonvolatile memory device according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 쓰기동작을 도시한 흐름도.2 is a flowchart illustrating a write operation of a nonvolatile memory device according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 비휘발성 메모리 장치의 읽기동작을 도시한 흐름도.3 is a flowchart illustrating a read operation of a nonvolatile memory device according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 플래그 갱신방법을 도시한 흐름도. 4 is a flowchart illustrating a flag updating method of a nonvolatile memory device according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>
100 : 메모리 셀 어레이100: memory cell array
110 : 데이터 선택부110: data selection unit
120 : 데이터 제공부120: data provider
130 : 데이터 출력부130: data output unit
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080133874A KR100995327B1 (en) | 2008-12-24 | 2008-12-24 | Nonvolatile Memory Device and Driving Method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080133874A KR100995327B1 (en) | 2008-12-24 | 2008-12-24 | Nonvolatile Memory Device and Driving Method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100075233A KR20100075233A (en) | 2010-07-02 |
KR100995327B1 true KR100995327B1 (en) | 2010-11-19 |
Family
ID=42637637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080133874A Active KR100995327B1 (en) | 2008-12-24 | 2008-12-24 | Nonvolatile Memory Device and Driving Method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100995327B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10090059B2 (en) | 2016-02-24 | 2018-10-02 | Samsung Electronics Co., Ltd. | One time programmable memory and a data writing method thereof |
-
2008
- 2008-12-24 KR KR1020080133874A patent/KR100995327B1/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10090059B2 (en) | 2016-02-24 | 2018-10-02 | Samsung Electronics Co., Ltd. | One time programmable memory and a data writing method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20100075233A (en) | 2010-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010165165A (en) | Memory device and memory access method | |
KR101472879B1 (en) | Flash memory device and its programming method | |
US7254086B2 (en) | Method for accessing memory | |
CN101595528A (en) | Memory device architectures and operation | |
CN102403039A (en) | Semiconductor memory device and method of operating same | |
EP3271920B1 (en) | Systems and methods to refresh storage elements | |
CN106356099B (en) | Semiconductor device and method of repairing the same | |
US9773534B2 (en) | Non-volatile memory accelerator and method for speeding up data access | |
US7180764B2 (en) | One-time programmable (OTP) memory devices enabling programming based on protected status and methods of operating same | |
KR100995327B1 (en) | Nonvolatile Memory Device and Driving Method thereof | |
US20060285385A1 (en) | MTP storage medium and access algorithm method with traditional OTP | |
US9177672B2 (en) | Methods of operating memory involving identifiers indicating repair of a memory cell | |
US9153339B2 (en) | Semiconductor device and semiconductor memory device | |
KR102031191B1 (en) | Non-volatile memory and boot up operation method of the same | |
KR101051797B1 (en) | Nonvolatile Memory Device and Driving Method thereof | |
CN111554333B (en) | Decoder structure for memory architecture | |
US8004894B2 (en) | Semiconductor integrated circuit | |
JP2012155788A (en) | Nand type flash memory | |
KR100943116B1 (en) | Operation method of nonvolatile memory device | |
US20090256589A1 (en) | Programmable device, electronic device, and method for controlling programmable device | |
KR20160094686A (en) | Semiconductor device and method of driving the same | |
CN106169305B (en) | Apparatus using one-time programmable memory and method thereof | |
JP2020021522A (en) | Memory circuit | |
KR20120013085A (en) | Semiconductor memory device and operation method thereof | |
US10892018B2 (en) | Semiconductor memory device and refreshing method of semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20081224 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20100325 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20101025 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20101112 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20101115 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20131017 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20131017 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141020 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20141020 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151019 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20151019 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161020 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20161020 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171020 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20171020 Start annual number: 8 End annual number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181016 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20181016 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20201019 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20211101 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20221024 Start annual number: 13 End annual number: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20231025 Start annual number: 14 End annual number: 14 |