KR20200087104A - Memory programing method and device performing the same - Google Patents
Memory programing method and device performing the same Download PDFInfo
- Publication number
- KR20200087104A KR20200087104A KR1020200082066A KR20200082066A KR20200087104A KR 20200087104 A KR20200087104 A KR 20200087104A KR 1020200082066 A KR1020200082066 A KR 1020200082066A KR 20200082066 A KR20200082066 A KR 20200082066A KR 20200087104 A KR20200087104 A KR 20200087104A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- rewrite pattern
- cells
- unit
- Prior art date
Links
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
- 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/16—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 using electrically-fusible links
Landscapes
- Read Only Memory (AREA)
Abstract
Description
본 발명은 메모리 프로그래밍 방법 및 이를 수행하는 장치에 관한 것으로, 보다 상세하게는, 일회 프로그램 가능한(One-time Programmable) 메모리에 대한 멀티 비트 프로그램 방법 및 이를 수행하는 장치에 관한 것이다.The present invention relates to a memory programming method and an apparatus for performing the same, and more particularly, to a multi-bit programming method for a one-time programmable memory and an apparatus for performing the same.
일회 프로그램 가능한(One-time Programmable, 이하 "OTP"라 함) 메모리는 행 방향(row direction)과 열 방향(column direction)으로 전개되는 복수의 OTP 단위 셀들을 포함한다.One-time programmable (hereinafter referred to as "OTP") memory includes a plurality of OTP unit cells that are deployed in a row direction and a column direction.
OTP 단위 셀은 DRAM, EEPROM, FLASH와 같은 휘발성 또는 비휘발성 메모리 소자 내에 형성되어 메모리 리페어(repair) 용도로 사용된다. 또한, 아날로그 칩(analog chip)과 디지털 칩(digital chip)이 혼합된 혼합 신호 칩(mixed-signal chip)에서는 내부 동작 전압과 주파수 트리밍(trimming)을 목적으로 사용된다.The OTP unit cell is formed in a volatile or nonvolatile memory device such as DRAM, EEPROM, and FLASH, and is used for memory repair. In addition, a mixed-signal chip in which an analog chip and a digital chip are mixed is used for the purpose of internal operating voltage and frequency trimming.
일반적으로, OTP 단위 셀은 MOSFET(Metal-Oxide-Semiconductor Field Effect Transistor)(이하, MOS 트랜지스터라 함)으로 이루어진 안티 퓨즈(Anti-fuse)와, 하나 또는 복수 개의 MOS 트랜지스터를 포함한다. 이러한 OTP 단위 셀은 각 메모리 칩 내에서 단일(single) 또는 어레이(array) 형태로 형성되어 리페어 또는 트리밍에 사용되고 있다.In general, an OTP unit cell includes an anti-fuse made of a metal-oxide-semiconductor field effect transistor (MOSFET) (hereinafter referred to as a MOS transistor) and one or a plurality of MOS transistors. These OTP unit cells are formed in a single (single) or array (array) form in each memory chip is used for repair or trimming.
한국등록특허 제10-0845407호(2008.07.03.)는 원-타임-프로그래머블 셀 및 이를 구비하는 OTP 메모리에 관한 것으로, 보다 적은 MOS 트랜지스터로 구현되어 적은 면적 및 짧은 액세스 타임을 가지며, 인버터 타입의 감지증폭기를 구비하여 누설 전류 및 면적 소모를 중일 수 있는 효과가 있다.Korean Registered Patent No. 10-0845407 (2008.07.03.) relates to a one-time-programmable cell and an OTP memory having the same, implemented with fewer MOS transistors, having a small area and short access time, and an inverter type Equipped with a sense amplifier, there is an effect that can be used for leakage current and area consumption.
한국등록특허 제10-1051673호(2011.07.19.)는 안티퓨즈 및 그 형성방법, 이를 구비한 비휘발성 메모리소자의 단위 셀에 관한 것으로, MOS 트랜지스터로 이루어진 안티퓨즈의 게이트 절연막을 안정적으로 파괴시켜 읽기 동작시 데이터 감지 여유를 개선시켜 동작 신뢰성을 향상시킬 수 있다.Korean Registered Patent No. 10-1051673 (2011.07.19.) relates to an antifuse and a method of forming the unit cell of a nonvolatile memory device having the same, and stably destroys an antifuse gate insulating film made of a MOS transistor. Operation reliability can be improved by improving data detection margin during read operation.
도 1은 종래 기술에 따른 OTP 메모리의 프로그래밍 방법을 설명하기 위해 도시된 단면도이다.1 is a cross-sectional view illustrating a programming method of an OTP memory according to the prior art.
도 1을 참조하면, OTP 메모리의 프로그래밍은 OTP 단위 셀(100)의 안티퓨즈(CMOS 안티퓨즈)에 고전압(OTPV)을 인가하여, CMOS 게이트 절연막(Gate Oxide, 103)를 파괴하고, 게이트(104)와 기판(101)간 저항 값을 일정 저항 값(예를 들어, 수 MΩ)으로 낮추는 방식이다.Referring to FIG. 1, programming of an OTP memory applies a high voltage (OTPV) to the antifuse (CMOS antifuse) of the
보다 구체적으로, 종래기술에 따른 OTP 단위 셀(100)의 안티퓨즈는 기판(101) 상에 형성된 게이트 전극(104), 게이트 전극(104)의 측벽으로 노출된 기판 내에 형성된 접합영역(105) 및 게이트 전극(104)과 기판(101) 사이에 비교적 얇은 두께로 형성된 게이트 절연막(103)을 포함한다.More specifically, the antifuse of the
접합영역(105)과 픽-업(pick up) 영역(웰(102)에 바이어스를 인가하기 위한 영역, 106)은 상호 접속되어 접지 전압단(VSS)과 접속된다. 그리고, 금속배선을 통해 게이트 전극(104)으로 쓰기 전압(OTPV)이 인가된다. 이에 따라, 게이트 전극(104)과 기판(101) 간에는 고전계가 형성되어 게이트 절연막(103)이 파괴(breakdown)되고, 게이트 전극(104)과 기판(101)은 전기적으로 단락 된다.The
종래의 OTP 메모리의 프로그래밍 방법은 쓰기 과정을 수행한 후, OTP 메모리에 기록된 데이터를 읽어 기록할 데이터와 비교하여 모든 비트(Bit)가 통과(pass, 기록할 데이터와 동일)할 때가지 반복적으로 수행한다. 예를 들어, OPT 메모리의 8비트 단위 셀들에 쓰기를 수행하고 8비트 전부가 통과하지 못한 경우, 8비트 단위 셀들 전체에 대한 다시 쓰기(Re-writing)을 수행한다.In the conventional programming method of OTP memory, after the writing process is performed, data recorded in the OTP memory is read and compared with the data to be written repeatedly until all bits (pass) are the same. Perform. For example, if writing is performed on 8-bit unit cells of the OPT memory and all 8 bits have not passed, re-writing of all 8-bit unit cells is performed.
여기에서, 이미 게이트 절연막이 파괴된 경로(path)에 대해서 고전류의 에너지가 집중되므로, 파괴되지 않은 단위 셀에 대해서 상대적으로 에너지의 집중도가 감소된다. 따라서, 쓰기 공정이 길어지며, 절연막의 파괴가 제대로 이루어지지 않아 수율(Yield)이 감소되는 문제점이 있다.Here, since the energy of the high current is concentrated in the path where the gate insulating film has already been destroyed, the concentration of energy is reduced relative to the unbroken unit cell. Accordingly, there is a problem in that the writing process is lengthened and the yield of the insulating film is not properly broken, so that the yield is reduced.
본 발명은 메모리 프로그래밍 공정 시간을 감축시키고 수율을 증가시킬 수 있는 메모리 프로그래밍 방법 및 이를 수행하는 장치를 제공하고자 한다.The present invention is to provide a memory programming method and an apparatus for performing the same, which can reduce the memory programming process time and increase the yield.
본 발명은 메모리 프로그래밍 루프에 대한 제어가 가능한 메모리 프로그래밍 방법 및 이를 수행하는 장치를 제공하고자 한다.The present invention is to provide a memory programming method capable of controlling a memory programming loop and an apparatus for performing the same.
실시예들 중에서 메모리 프로그래밍 장치는 프로그램 가능한 메모리의 특정 주소와 연관된 복수의 셀들에 있는 독출 데이터를 독출하는 메모리 독출부; 및 상기 독출 전에 상기 복수의 셀들에 미리 기록 데이터를 기록하고, 상기 독출 후에 상기 기록 데이터와 상기 독출 데이터를 비교하여 재기록 패턴을 생성하여 상기 복수의 셀들 중 적어도 하나의 불일치 셀을 정정하는 메모리 기록부를 포함한다.Among embodiments, a memory programming apparatus includes a memory reading unit for reading read data in a plurality of cells associated with a specific address of a programmable memory; And a memory recording unit which records recording data in advance in the plurality of cells before the reading, and corrects at least one mismatched cell among the plurality of cells by generating a rewriting pattern by comparing the reading data with the reading data after the reading. Includes.
여기에서, 상기 메모리 독출부는 상기 정정 후에 상기 특정 주소를 통해 상기 복수의 셀들에 있는 재독출 데이터를 재독출하는 재독출 연산을 수행하고, 상기 메모리 기록부는 상기 재독출 데이터를 통해 상기 재기록 패턴을 갱신하여 상기 적어도 하나의 불일치 셀 중 적어도 하나의 재불일치 셀을 재정정하는 재정정 연산을 수행할 수 있다.Here, the memory reading unit performs a re-reading operation to re-read data in the plurality of cells through the specific address after the correction, and the memory recording unit updates the re-writing pattern through the re-reading data Accordingly, a re-arrangement operation for re-arranging at least one re-mismatched cell among the at least one mismatched cell may be performed.
일 실시예에서, 상기 메모리 독출부와 상기 메모리 기록부는 상기 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 상기 재독출 연산과 상기 재정정 연산을 순차적으로 반복할 수 있다.In one embodiment, the memory reading unit and the memory recording unit may sequentially repeat the re-reading operation and the redefinition operation until no error occurs in the contents recorded in the plurality of cells.
일 실시예에서, 상기 메모리 기록부는 상기 생성된 재기록 패턴을 저장하는 재기록 패턴 저장 모듈을 더 포함할 수 있다.In one embodiment, the memory recording unit may further include a rewrite pattern storage module for storing the generated rewrite pattern.
일 실시예에서, 상기 메모리 기록부는 퓨징 전압을 생성하는 전압 생성 모듈; 및 상기 재기록 패턴을 기초로 상기 적어도 하나의 불일치 셀에 상기 생성된 퓨징 전압을 인가하는 전압 인가 모듈을 더 포함할 수 있다. 여기에서, 상기 전압 인가 모듈은 상기 재기록 패턴을 기초로 제어되고 상기 복수의 셀들에 상기 퓨징 전압을 인가할 수 있는 복수의 스위치들을 포함할 수 있다.In one embodiment, the memory recording unit is a voltage generation module for generating a fusing voltage; And a voltage application module that applies the generated fusing voltage to the at least one mismatched cell based on the rewrite pattern. Here, the voltage application module may include a plurality of switches that are controlled based on the rewrite pattern and can apply the fusing voltage to the plurality of cells.
일 실시예에서, 메모리 프로그래밍 장치는 상기 재정정 연산에 대한 반복 횟수를 카운팅하여 특정 횟수를 초과하는 지 여부를 판단하는 제어부를 더 포함할 수 있다.In one embodiment, the memory programming apparatus may further include a control unit that counts the number of iterations for the re-alignment operation and determines whether or not a specific number is exceeded.
일 실시예에서, 메모리 프로그래밍 장치는 외부로부터 프로그래밍 데이터를 수신하여 메모리의 특정 주소에 해당하는 셀 선택 정보를 추출하는 주소 디코딩부를 더 포함할 수 있다.In one embodiment, the memory programming apparatus may further include an address decoding unit that receives programming data from the outside and extracts cell selection information corresponding to a specific address of the memory.
실시예들 중에서, 메모리 프로그래밍 방법은 메모리 프로그래밍 장치에서 수행된다. 메모리 프로그래밍 방법은 프로그램 가능한 메모리의 특정 주소와 연관된 복수의 셀들에 기록 데이터를 기록하는 단계; 상기 복수의 셀들에 있는 독출 데이터를 독출하는 단계; 및 상기 기록 데이터와 상기 독출 데이터를 비교하여 재기록 패턴을 생성하여 상기 복수의 셀들 중 적어도 하나의 불일치 셀을 정정하는 단계를 포함한다.Among embodiments, a memory programming method is performed in a memory programming device. A memory programming method includes writing write data to a plurality of cells associated with a specific address of a programmable memory; Reading read data in the plurality of cells; And comparing the recorded data with the read data to generate a rewrite pattern to correct at least one mismatched cell among the plurality of cells.
실시예들 중에서, 메모리 테스터는 프로그램 가능한 메모리를 수용하는 메모리 수용부; 및 상기 메모리의 프로그래밍을 수행하는 메모리 프로그래밍 장치를 포함하고, 상기 메모리 프로그래밍 장치는 프로그램 가능한 메모리의 특정 주소와 연관된 복수의 셀들에 있는 독출 데이터를 독출하는 메모리 독출부; 및 상기 독출 전에 상기 복수의 셀들에 미리 기록 데이터를 기록하고, 상기 독출 후에 상기 기록 데이터와 상기 독출 데이터를 비교하여 재기록 패턴을 생성하여 상기 복수의 셀들 중 적어도 하나의 불일치 셀을 정정하는 메모리 기록부를 포함한다.Among the embodiments, the memory tester includes a memory accommodating portion accommodating a programmable memory; And a memory programming device that performs programming of the memory, wherein the memory programming device comprises: a memory reading unit that reads read data in a plurality of cells associated with a specific address of a programmable memory; And a memory recording unit which records recording data in advance in the plurality of cells before the reading, and corrects at least one mismatched cell among the plurality of cells by generating a rewriting pattern by comparing the reading data with the reading data after the reading. Includes.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since a specific embodiment does not mean that all of the following effects should be included or only the following effects are included, the scope of rights of the disclosed technology should not be understood as being limited thereby.
본 발명의 일 실시예에 따른 메모리 프로그래밍 기술은 재기록 패턴의 생성 및 갱신을 통해 메모리 프로그래밍 공정 시간을 감축시키고 수율을 증가시킬 수 있다.The memory programming technique according to an embodiment of the present invention may reduce memory programming process time and increase yield through generation and update of a rewrite pattern.
본 발명의 일 실시예에 따른 메모리 프로그래밍 기술은 기록 데이터와 독출 데이터의 비교 연산을 통해 메모리 프로그래밍 루프에 대한 제어가 가능할 수 있다.The memory programming technique according to an embodiment of the present invention may be capable of controlling a memory programming loop through a comparison operation between write data and read data.
도 1은 종래의 OTP 메모리의 프로그래밍 방법을 설명하기 위해 도시된 단면도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 프로그래밍 장치의 블록도이다.
도 3은 도 2에 있는 메모리 프로그래밍 장치의 동작을 설명하기 위해 도시된 회로도이다.
도 4는 메모리 프로그래밍 방법의 타이밍 블록도이다.
도 5는 도 2에 있는 메모리 프로그래밍 장치에서 수행되는 메모리 프로그래밍 방법의 흐름도이다.1 is a cross-sectional view illustrating a conventional OTP memory programming method.
2 is a block diagram of a memory programming apparatus according to an embodiment of the present invention.
FIG. 3 is a circuit diagram illustrating the operation of the memory programming device of FIG. 2.
4 is a timing block diagram of a memory programming method.
5 is a flowchart of a memory programming method performed in the memory programming device of FIG. 2.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.Since the description of the present invention is only an example for structural or functional description, the scope of the present invention should not be interpreted as being limited by the examples described in the text. That is, since the embodiments can be variously modified and have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing technical ideas.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in the present invention should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are for distinguishing one component from other components, and the scope of rights should not be limited by these terms. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" to another component, it may be understood that other components may exist in the middle, although they may be directly connected to the other component. On the other hand, when a component is said to be "directly connected" to another component, it should be understood that no other component exists in the middle. On the other hand, other expressions describing the relationship between the components, that is, "between" and "immediately between" or "adjacent to" and "directly neighboring to" should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions unless the context clearly indicates otherwise, and terms such as “comprises” or “having” refer to the features, numbers, steps, actions, components, parts, or components described. It is to be understood that a combination is intended to indicate the existence, and does not preclude the existence or addition possibility of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation. The identification code does not describe the order of each step, and each step clearly identifies a specific order in context. Unless stated, it may occur in a different order than specified. That is, each step may occur in the same order as specified, or may be performed substantially simultaneously, or in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, etc., and are also implemented in the form of carrier waves (eg, transmission over the Internet). Also includes. In addition, the computer-readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as generally understood by a person skilled in the art to which the present invention pertains, unless otherwise defined. The terms defined in the commonly used dictionary should be interpreted to be consistent with meanings in the context of related technologies, and cannot be interpreted as having ideal or excessively formal meanings unless explicitly defined in the present invention.
도 2는 본 발명의 일 실시예에 따른 메모리 프로그래밍 장치(200)의 블록도이다.2 is a block diagram of a
도 2를 참조하면, 메모리 프로그래밍 장치(200)는 메모리 기록부(220), 메모리 독출부(210), 주소 디코딩부(230) 및 제어부(240)를 포함한다.Referring to FIG. 2, the
메모리 독출부(210)는 프로그램 가능한 메모리의 특정 주소와 연관된 복수의 셀들에 있는 독출 데이터(Read Data)를 독출(Reading)한다. 여기에서, 프로그램 가능한 메모리는 앞서 설명한 OTP 메모리에 해당할 수 있고, 독출 데이터는 메모리의 특정 주소에 실제 기록된 데이터(Written Data)에 해당한다.The
일 실시예에서, 메모리 독출부(210)는 메모리에 기록 데이터가 기록되면, 메모리의 특정 주소를 통해 복수의 셀들에 있는 재독출 데이터를 재독출하는 재독출 연산을 수행할 수 있다. 여기에서, 재독출이란, 동일한 주소의 기록된 데이터를 다시 독출하는 것에 해당한다.In one embodiment, when the write data is recorded in the memory, the
메모리 독출부(210)는 앞서 설명한 OTP 메모리 단위 셀 각각의 CMOS 게이트와 접지(GND) 간의 전압을 센싱하여 기준전압과 비교하여 출력하는 방식으로 구현될 수 있다.The
메모리 기록부(220)는 프로그램 가능한 메모리의 특정 주소와 연관된 복수의 셀들에 기록 데이터를 기록하고, 기록 데이터와 메모리 독출부(210)로부터 수신한 독출 데이터를 비교하여 재기록 패턴을 생성하여 상기 복수의 셀들 중 적어도 하나의 불일치 셀을 정정한다.The
예를 들어, 메모리 기록부(220)는 메모리의 특정 8개의 셀들에 대한 8비트에 기록 데이터를 외부로부터 수신하여 해당 셀들에 기록한다. 이후, 메모리 기록부(220)는 기록 데이터와 메모리 독출부(210)로부터 수신한 독출 데이터를 비교하여 일치하지 않는 경우, 재기록 패턴-기록되지 않은(기록 실패한) 기록 데이터-를 생성하여 해당 셀들에 대한 기록을 재수행할 수 있다. 여기에서, 재기록 패턴 생성은 기록 데이터에 대한 갱신으로 수행될 수 있다.For example, the
일 실시예에서, 메모리 기록부(220)는 재독출 데이터를 통해 재기록 패턴을 갱신하여 적어도 하나의 불일치 셀 중 적어도 하나의 재불일치 셀을 재정정하는 재정정 연산을 수행할 수 있다.In one embodiment, the
보다 구체적으로, 메모리 기록부(220)는 재기록 패턴을 재독출 데이터와 비교하여 재기록 패턴 중 기록되지 않은 부부만을 재기록 패턴으로 갱신하고, 재기록 패턴이 기록되지 않은 해당 셀에 대해 기록을 재수행할 수 있다.More specifically, the
일 실시예에서, 메모리 독출부(210)와 메모리 기록부(220)는 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 재독출 연산과 재정정 연산을 순차적으로 반복할 수 있다.In one embodiment, the
다시 말해, 메모리 독출부(210)와 메모리 기록부(220)는 메모리에 최초 기록 데이터가 기록될 때까지 독출과 기록을 반복적으로 수행할 수 있다.In other words, the
이와 달리, 메모리 독출부(210)와 메모리 기록부(220)는 특정 횟수에 한정하여 재독출 연산과 재정정 연산을 순차적으로 반복할 수 있으며, 이는 제품 적용예에 따라 달리 적용될 수 있음은 통상의 기술자에게 자명하다 할 것이다.On the other hand, the
본 발명의 일 실시예에 따른 메모리 프로그래밍 장치(200)는 기록 데이터가 기록되지 않는 셀들에 대해서만 기록 데이터의 기록을 수행함에 따라 종래 기술 대비 프로그래밍 시간 단축 및 수율을 증가시킬 수 있다.The
일 실시예에서, 메모리 기록부(220)는 독출 데이터를 기초로 마스크 데이터를 생성하고, 마스크 데이터와 기록 데이터 간의 논리적 앤드(AND) 연산을 수행하여 재기록 패턴을 생성하는 재기록 패턴 생성 모듈(222)을 포함할 수 있다.In one embodiment, the
재기록 패턴 생성모듈은 외부로부터 기록 데이터를, 메모리 독출부(210)로부터 독출 데이터를 각각 수신하고, 기록 데이터와 독출 데이터와 비교하여 재기록 패턴을 생성한다.The rewrite pattern generation module receives the read data from the outside and the read data from the
예를 들어, 기록 데이터 및 독출 데이터가 8비트 2진 데이터로서 각각 [11110000], [11000000]에 해당하는 경우, 재기록 패턴 생성모듈은 독출 데이터를 마스크 데이터로 하여 [1]에 해당하는 비트는 패스, [0]에 해당하는 비트는 데이터를 그대로 유지시켜 [00110000]과 같은 재기록 패턴을 생성할 수 있다.For example, when the write data and read data correspond to [11110000] and [11000000], respectively, as 8-bit binary data, the rewrite pattern generation module uses the read data as mask data and the bit corresponding to [1] passes , Bits corresponding to [0] may retain data and generate a rewrite pattern such as [00110000].
다른 예를 들어, 재기록 패턴 생성모듈은 독출 데이터를 반전시켜 마스크 데이터 [00111111]을 생성할 수 있고, 마스크 데이터 [00111111]과 기록 데이터[11110000]을 논리적 앤드 연산을 수행하여 [00110000]과 같은 재기록 패턴을 생성할 수 있다.For another example, the rewrite pattern generation module may generate the mask data [00111111] by inverting the read data, and perform a logical AND operation on the mask data [00111111] and the record data [11110000] to rewrite as [00110000] You can create patterns.
일 실시예에서, 메모리 기록부(220)는 생성된 재기록 패턴을 저장하는 재기록 패턴 저장 모듈(224)을 더 포함할 수 있다.In one embodiment, the
재기록 패턴 저장 모듈(224)은 재기록 패턴을 일시적으로 저장하고, 저장된 재기록 패턴은 다음 주기의 재기록 패턴을 생성하는데 이용될 수 있다.The rewrite pattern storage module 224 temporarily stores the rewrite pattern, and the stored rewrite pattern can be used to generate a rewrite pattern of the next cycle.
한편, 일실시예에서, 재기록 패턴 생성모듈은 재기록 패턴 저장 모듈(224)로부터 재기록 패턴을, 메모리 독출부(210)로부터 재독출 데이터를 각각 수신하고, 재기록 패턴과 재독출 데이터를 비교하여 재기록 패턴을 갱신할 수 있다.Meanwhile, in one embodiment, the rewrite pattern generation module receives the rewrite pattern from the rewrite pattern storage module 224 and the reread data from the
재기록 패턴 생성모듈은 앞서 설명한 재기록 패턴 생성과 동일하게 재기록 패턴을 갱신할 수 있다.The rewrite pattern generation module may update the rewrite pattern in the same way as the rewrite pattern generation described above.
*다시 말해, 재기록 패턴 생성모듈은 기록 데이터와 독출 데이터를 비교하여 갱신된 기록 데이터에 해당하는 재기록 패턴을 생성하고, 메모리에 대한 기록을 재수행한 이후에, 저장된 재기록 패턴(갱신된 기록 데이터)와 재독출 데이터(메모리에 기록된 데이터)를 비교하여 재기록 패턴을 갱신(갱신된 기록 데이터를 재갱신)할 수 있다.In other words, the rewrite pattern generation module compares the record data and read data to generate a rewrite pattern corresponding to the updated record data, and after re-recording the memory, the stored rewrite pattern (updated record data) and The rewrite data (data recorded in the memory) can be compared to update the rewrite pattern (renew the updated record data).
앞서 설명한 메모리 기록부(220)의 재독출 연산과 재정정 연산의 반복 수행에 따라, 재기록 패턴 생성모듈은 재기록 패턴의 생성 및 갱신을 반복적으로 수행한다.In accordance with the repetition of the re-reading operation and the re-alignment operation of the
일 실시예에서, 재기록 패턴 생성 모듈(222)은 기록 데이터 선택 모듈(미도시)을 더 포함할 수 있다.In one embodiment, the rewrite
재기록 패턴 생성 모듈(222)은 재기록 패턴 저장 모듈(224)에 저장된 재기록 패턴을 수신하여 독출 데이터와 비교하는 비교 연산을 수행하되, 외부로부터 기록 데이터가 수신되면 기록 데이터와 독출 데이터간 비교 연산을 수행하도록, 기록 데이터와 재기록 패턴 중 하나를 선택하는 기록 데이터 선택 모듈을 포함할 수 있다.The rewrite
일 실시예에서, 메모리 기록부(220)는 퓨징 전압을 생성하는 전압 생성 모듈(226) 및 재기록 패턴을 기초로 적어도 하나의 불일치 셀에 생성된 퓨징 전압을 인가하는 전압 인가 모듈(228)을 더 포함할 수 있다.In one embodiment, the
보다 구체적으로, 메모리 기록부(220)는 OTP 메모리에 대한 프로그래밍 방법에 따라 OTP 메모리 단위 셀에 인가할 퓨징 전압을 생성하는 전압 생성 모듈(226)과 기록 데이터 패턴 또는 재기록 패턴(갱신된 기록 데이터)를 기초로 데이터를 포함하는 해당 셀에 대해 퓨징 전압을 인가하는 전원 인가 모듈을 포함할 수 있다.More specifically, the
여기에서, 퓨징 전압은 약 8 [V]에 해당하고, 단위 셀들의 배치(및 패스 저항)에 따라 단위 셀들에 인가되는 퓨징 전압은 7.5 내지 8 [V]에 해당할 수 있다.Here, the fusing voltage corresponds to about 8 [V], and the fusing voltage applied to the unit cells according to the arrangement (and pass resistance) of the unit cells may correspond to 7.5 to 8 [V].
일 실시예에서, 전압 인가 모듈(228)은 재기록 패턴(또는 기록 데이터)을 기초로 제어되고 상기 복수의 셀들에 상기 퓨징 전압을 인가할 수 있는 복수의 스위치들을 포함할 수 있다.In one embodiment, the
여기에서, 복수의 스위치들 각각은 OTP 메모리 단위 셀들과 전원 생성 모듈을 각각 연결할 수 있다.Here, each of the plurality of switches may connect the OTP memory unit cells and the power generation module, respectively.
주소 디코딩부(230)는 외부로부터 프로그래밍 데이터를 수신하여 메모리의 특정 주소에 해당하는 셀 선택 정보를 추출한다.The
예를 들어, 메모리는 8(행, row) * 16(열, column) 단위 셀들을 포함하는 OTP 메모리에 해당하는 경우, 주소 디코딩부(230)는 외부로부터 메모리의 특정 셀들에 대한 주소 정보를 포함하는 프로그래밍 데이터(4비트)를 수신하여, 해당 메모리를 선택하는 16비트 셀 선택 정보를 디코딩할 수 있다.For example, if the memory corresponds to an OTP memory including 8 (row, row) * 16 (column, column) unit cells, the
주소 디코딩부(230)는 해당 셀 선택 정보를 메모리 기록부(220)에 제공할 수 있고, 메모리 기록부(220)는 해당 셀 선택 정보와 대응되는 특정 주소의 셀들을 선택하여 기록 데이터의 기록을 수행할 수 있다.The
제어부(240)는 클럭 신호(Clock)와 재기록 패턴을 기초로 메모리 독출부(210), 메모리 기록부(220) 및 주소 디코딩부(230)를 제어한다. 여기에서, 클럭은 구형파에 해당하고, 외부로부터 수신하거나 또는 제어부(240) 내에서 생성될 수 있다.The
일 실시예에서, 제어부(240)는 메모리 기록부(220)에서 생성된 재기록 패턴을 수신하여 특정 데이터에 해당하는지 여부를 판단하여 특정 데이터에 해당하는 경우 해당 주소에 대한 기록 데이터의 기록을 종료시킬 수 있다.In one embodiment, the
예를 들어, 제어부(240)는 메모리 기록부(220)에서 생성된 8비트 재기록 패턴이 [00000000]에 해당하는 경우, 기록 데이터(또는 저장된 재기록 패턴)와 독출 데이터가 동일, 즉 최초 기록 데이터가 OTP 메모리의 해당 주소에 정상적으로 프로그램된 것으로 판단하여 해당 주소에 대한 프로그래밍을 종료시킬 수 있다.For example, if the 8-bit rewrite pattern generated by the
일 실시예에서, 제어부(240)는 메모리 기록부(220)에서 생성된 재기록 패턴이 특정 데이터에 해당하지 않으면, 메모리 독출부(210)와 메모리 기록부(220)로 하여금 각각 독출 및 정정 연산을 반복적으로 수행하도록 제어할 수 있다.In one embodiment, if the rewrite pattern generated by the
일 실시예에서, 제어부(240)는 메모리 기록부(220)의 정정 연산(또는 재정정 연산)에 대한 반복 횟수를 카운팅하고, 특정 횟수를 초과하는 경우 해당 주소에 대한 기록 데이터의 기록을 종료시킬 수 있다. 여기에서, 특정 횟수는 메모리 프로그래밍 장치(200)의 사용자에 의해 설정된 횟수에 해당할 수 있다.In one embodiment, the
이를 통해, 메모리 프로그래밍 장치(200)는 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 재독출 연산과 재정정 연산을 반복함에 따라 길어지는 공정 시간을 제어할 수 있다.Through this, the
일 실시예에서, 제어부(240)는 복수의 셀들에 기록된 내용에 오류가 발생하지 않거나 또는 반복 동작 횟수가 특정 횟수(max count)를 초과하면, 주소 디코딩부(230)로 하여금 프로그래밍 데이터를 수신하여 다른 셀 선택 정보를 추출하도록 제어하고, 메모리 기록부(220)로 하여금 특정 주소에 대한 기록 데이터를 갱신하도록 제어할 수 있다.In one embodiment, the
보다 구체적으로, 제어부(240)는 복수의 셀들에 기록된 내용에 오류가 발생하지 않거나 또는 반복 동작 횟수가 특정 횟수를 초과하면 해당 주소에 대한 기록 데이터의 기록을 종료시키고, 다른 주소에 대한 기록 데이터의 기록을 수행하기 위해 주소 디코딩부(230)와 메모리 기록부(220)에 대한 제어를 수행할 수 있다.More specifically, the
도 3은 도 2에 있는 메모리 프로그래밍 장치(200)의 동작을 설명하기 위해 도시된 회로도이다.3 is a circuit diagram illustrating the operation of the
도 3을 참조하면, 데이터 기록부는 8비트 단위로 OTP 메모리의 단위 셀들을 퓨징하는 방식으로 기록 데이터를 기록하며, 전압 생성 모듈(226) 및 전압 인가 모듈(228)을 포함한다.Referring to FIG. 3, the data recording unit records recording data by fusing unit cells of an OTP memory in 8-bit units, and includes a
전압 생성 모듈(226)은 8 [V] 퓨징 전압을 생성하고, 전압 인가 모듈(228)은 전압 생성 모듈(226)과 8개의 단위 셀들을 일대일로 연결할 수 있는 8개의 스위치들을 포함할 수 있다. 여기에서, 스위치들은 단위 셀들 각각에 기록할 기록 데이터(또는 재기록 패턴, RD)에 따라 동작하며, 예를 들어, 해당 단위 셀에 기록할 기록 데이터가 [1]에 해당하는 경우 스위치는 턴온(Turn-On)되고, 해당 단위 셀에 기록할 기록 데이터가 [0]에 해당하는 경우 스위치는 턴오프(Turn-Off) 상태를 유지한다.The
도 3에서, 전압 인가 모듈(228)은 기록 데이터 [00101100]에 따라, 3번째, 5번째 및 6번째 단위 셀들과 전원 생성 모듈(226)을 연결하는 스위치만 턴온된 상태를 나타낸다.In FIG. 3, the
이를 통해, 메모리 프로그래밍 장치(200)는 재기록 패턴(또는 기록 데이터)를 갱신하고, 기록 데이터의 기록이 이루어지지 않은(실패한 또는 불일치) 단위 셀에 대해서만 퓨징 전압을 인가하여, 전류 에너지(high current energy)를 집중을 통해 정정 연산(또는 재정정 연산)의 반복 횟수를 감소시키고 수율을 증가시킬 수 있다.Through this, the
도 4는 메모리 프로그래밍 방법의 타이밍 블록도이다.4 is a timing block diagram of a memory programming method.
도 4를 참조하면, X축은 시간을 나타내고, Y축은 위에서부터 아래로 각각 OTP 메모리의 주소(OTP_ADD), 기록 데이터(Write Data), 메모리 기록부(220)의 동작 펄스(OTP_WR), 재기록 패턴(또는 갱신된 기록 데이터, OTP_WDAT), 메모리 독출부(210)의 동작 펄스(OTP_RD) 및 독출 데이터(또는 해당 단위 셀들에 기록된 데이터, OTP_RDAT)를 나타낸다.Referring to FIG. 4, the X-axis represents time, and the Y-axis is the address of the OTP memory (OTP_ADD), write data, write pulse of the OTP memory, and the operation pulse (OTP_WR) of the
제1 주기(1st Cycle)에서, 메모리 기록부(220)는 특정 주소 [0]과 제1 기록 데이터 [11111111]을 수신한다. 메모리 독출부(210)는 동작 펄스가 하이레벨에 해당하는 동안, 해당 주소[0]에 대한 독출 데이터 [00000000]을 독출하여 메모리 기록부(220)에 제공한다.In the first cycle, the
메모리 기록부(220)는 제1 기록 데이터 [11111111]과 [00000000]을 비교하여 재기록 패턴을 생성(또는 기록 데이터를 갱신)하고, 기록 데이터의 기록을 수행한다.The
메모리 기록부(220)의 작업이 종료되면, 메모리 독출부(210)는 해당 셀들에 기록된 데이터, 즉 독출 데이터 [11010011]을 독출한다.When the operation of the
여기에서, 메모리 독출부(210)은 독출 데이터의 독출을 제1 주기의 종료 직전 시점에 수행되거나, 제2 주기의 시작 직후 시점 또는 두 시점 모두에서 수행할 수 있다.Here, the
제2 주기에서, 메모리 기록부(220)는 재기록 패턴 [11111111]과 독출 데이터 [11010011]을 비교하여 재기록 패턴을 [00101100]으로 갱신할 수 있고, 재기록 패턴 중 [1]에 해당하는 단위 셀들(불일치 셀들)에 대해서만 재기록 패턴의 기록(또는 정정)을 수행한다. 여기에서, 불일치 셀들은 3번째, 5번째 및 6번째 단위 셀들에 해당한다.In the second cycle, the
메모리 독출부(210)는 해당 셀들에 기록된 데이터, 즉 독출 데이터 [11110111]을 독출한다.The
제3 주기에서, 메모리 기록부(220)는 다른 주기와 동일하게 재기록 패턴을 [00001000]으로 갱신하여 해당 5번째 셀에 대해 재정정 연산을 수행한다. 메모리 독출부(210)에 의하여 독출 데이터 [11111111]이 독출되면 해당 주소에 대한 프로그래밍은 종료된다. 여기에서, 해당 프로그램의 종료는 앞서 설명한 바와 같이 제어부(240)에 의해 결정될 수 있다.In the third cycle, the
제4 주기에서, 제어부(240)는 다음 특정 주소 [1]에 대해 제2 기록 데이터 [00010001]의 프로그래밍을 수행하도록 제어할 수 있으며, 앞서 설명한 바와 같다.In the fourth cycle, the
메모리 독출부(210)는 제1 주기와 동일하게 독출 데이터 [00000000]을 독출하고, 메모리 기록부(220)는 제1 주기와 동일하게 독출 데이터와 제2 기록 데이터를 비교하여 재기록 패턴을 [00010001]로 갱신하여 해당 주소에 대한 제2 기록 데이터의 기록을 수행한다.The
메모리 독출부(210)에 의하여 독출 데이터 [00010001]이 독출되면 해당 주소 [1]에 대한 프로그래밍은 종료된다.When the read data [00010001] is read by the
제5 주기 및 제 7주기는 다음 특정 주소 [2]에 대해 제3 기록 데이터 [01101001]을 프로그래밍 하는 과정으로 재기록 패턴과 독출 데이터는 각각 [01101001] -> [01000001] -> [01000000], [00101000] -> [00101001] -> [01101001]로 갱신되며, 해당 주소 [2]에 대한 재독출 연산 및 재정정 연산이 반복적으로 수행됨을 알 수 있다.The fifth cycle and the seventh cycle are the processes of programming the third recording data [01101001] for the next specific address [2]. The rewrite pattern and read data are [01101001] -> [01000001] -> [01000000], [ 00101000] -> [00101001] -> It is updated to [01101001], and it can be seen that the re-reading operation and the re-fixing operation for the corresponding address [2] are repeatedly performed.
도 5는 도 2에 있는 메모리 프로그래밍 장치(200)에서 수행되는 메모리 프로그래밍 방법의 흐름도이다.5 is a flowchart of a memory programming method performed in the
도 5를 참조하면, 메모리 프로그래밍 장치(200)는 메모리의 특정 주소와 연관된 복수의 셀들에 기록 데이터를 기록한다(S510).Referring to FIG. 5, the
일 실시예에서, 메모리 프로그래밍 장치(200)는 상기 기록 데이터를 기록하기 전에 프리 테스트(Pre-Test)를 수행할 수 있다. 여기에서, 프리 테스트는 메모리 프로그래밍 장치(200)의 동작 파라미터(예를 들어, 동작 주파수 등)에 대한 테스트에 해당할 수 있다.In one embodiment, the
일 실시예에서, 메모리 프로그래밍 장치(200)는 상기 프리 테스트 이후 기록 데이터를 검색할 수 있다. 여기에서, 기록 데이터의 검색은 주소 디코딩부(230)를 통해 디코딩된 특정 주소에 해당하는 셀 선택 정보를 기초로 해당 주소에 기록할 기록 데이터를 검색할 수 있다.In one embodiment, the
메모리 프로그래밍 장치(200)는 해당 복수의 셀들에 있는 독출 데이터를 독출한다(S520).The
메모리 프로그래밍 장치(200)는 상기 독출 후에 상기 기록 데이터와 상기 독출 데이터를 비교한다(S530).The
상기 비교 결과가 동일한 경우, 즉 기록 데이터가 오류 없이 해당 복수의 셀들에 기록된 경우 해당 복수의 셀들에 대한 프로그래밍 작업은 종료된다.When the comparison result is the same, that is, when the write data is written in the plurality of cells without error, the programming operation for the plurality of cells is ended.
상기 비교 결과가 동일하지 않은 경우, 메모리 프로그래밍 장치(200)는 재기록 패턴을 생성(또는 갱신)한다(S540).If the comparison result is not the same, the
메모리 프로그래밍 장치(200)는 재기록 패턴을 기초로 상기 복수의 셀들 중 적어도 하나의 불일치 셀을 정정한다.The
메모리 프로그래밍 장치(200)는 해당 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 S310 내지 340 단계를 반복적으로 수행할 수 있다.The
따라서, 본 발명의 일 실시예에 따른 메모리 프로그래밍 방법은 기록 데이터(또는 재기록 패턴)과 독출 데이터를 비교하고, 기록 실패한(Fail) 단위 셀에 대해서만 재기록(Re-write)를 반복적으로 수행하여, 종래의 메모리 프로그래밍 방법보다 공정 시간 감축 및 수율을 증가시킬 수 있다.Accordingly, the memory programming method according to an embodiment of the present invention compares write data (or rewrite pattern) with read data, and repeatedly performs re-write only for a unit cell that has failed to write. It can reduce process time and increase yield than memory programming method.
프로그램 가능한 메모리 테스터는 프로그램 가능한 메모리를 수용하는 메모리 수용부 및 메모리의 프로그래밍을 수행하는 메모리 프로그래밍 장치(200)를 포함한다. 여기에서 메모리 프로그래밍 장치(200)는 앞서 설명한 메모리 프로그래밍 장치(200)에 해당한다.The programmable memory tester includes a memory accommodating portion accommodating a programmable memory and a
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present application, those skilled in the art variously modify and change the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You can understand that you can.
100 : OTP 메모리
200 : 메모리 프로그래밍 장치
210 : 메모리 독출부
220 : 메모리 기록부
222 : 재기록 패턴 생성 모듈
224 : 재기록 패턴 저장 모듈
226 : 전압 생성 모듈
228 : 전압 인가 모듈
230 : 주소 디코딩부
240 : 제어부100: OTP memory
200: memory programming device
210: memory reading unit 220: memory recording unit
222: rewrite pattern generation module 224: rewrite pattern storage module
226: voltage generation module 228: voltage application module
230: address decoding unit 240: control unit
Claims (17)
상기 독출 전에 상기 복수의 셀들에 미리 기록 데이터를 기록하고, 상기 독출 데이터에 기초하여 마스크 데이터를 생성하고, 상기 마스크 데이터와 상기 기록 데이터에 기초하여 재기록 패턴을 생성하고, 상기 복수의 셀들 중 적어도 하나의 불일치 셀에만 상기 재기록 패턴을 기록하여 상기 적어도 하나의 불일치 셀을 정정하는 메모리 기록부를 포함하고,
상기 메모리 기록부는 상기 생성된 재기록 패턴을 저장하는 재기록 패턴 저장 모듈을 더 포함하며, 상기 정정 후에 상기 메모리 독출부에서 재독출 과정을 통해 생성된 재독출 데이터와 상기 모듈에 저장된 재기록 패턴을 연산하여 갱신된 재기록 패턴을 생성하는 메모리 프로그래밍 장치.
A memory reading unit for reading recorded data in a plurality of cells associated with a specific address of a programmable memory; And
Before the read, record data is previously recorded in the plurality of cells, mask data is generated based on the read data, a rewrite pattern is generated based on the mask data and the record data, and at least one of the plurality of cells is generated. And a memory recording unit that corrects the at least one mismatched cell by recording the rewrite pattern only in the mismatched cell of
The memory recording unit further includes a rewrite pattern storage module for storing the generated rewrite pattern, and after the correction, the memory read unit calculates and updates the reread data generated through the reread process and the rewrite pattern stored in the module Programming device for generating an old rewrite pattern.
상기 갱신된 재기록 패턴에 기초하여 상기 적어도 하나의 불일치 셀 중 적어도 하나의 재불일치 셀을 재정정하는 재정정 연산을 수행하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 1, wherein the memory recording unit
And re-aligning the at least one re-mismatched cell among the at least one mismatched cell based on the updated rewrite pattern.
상기 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 상기 재독출 과정과 상기 재정정 연산을 순차적으로 반복하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The memory reading unit and the memory recording unit of claim 2
A memory programming apparatus characterized by sequentially repeating the re-reading process and the redefinition operation until no error occurs in the contents recorded in the plurality of cells.
상기 마스크 데이터와 상기 기록 데이터 간의 논리적 앤드(AND) 연산을 수행하여 상기 재기록 패턴을 생성하는 재기록 패턴 생성 모듈을 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 1, wherein the memory recording unit
And a rewrite pattern generation module generating a rewrite pattern by performing a logical AND operation between the mask data and the write data.
퓨징 전압을 생성하는 전압 생성 모듈; 및
상기 재기록 패턴을 기초로 상기 적어도 하나의 불일치 셀에 상기 생성된 퓨징 전압을 인가하는 전압 인가 모듈을 더 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 1, wherein the memory recording unit
A voltage generation module that generates a fusing voltage; And
And a voltage application module that applies the generated fusing voltage to the at least one mismatched cell based on the rewrite pattern.
상기 재기록 패턴을 기초로 제어되고 상기 복수의 셀들에 상기 퓨징 전압을 인가할 수 있는 복수의 스위치들을 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 5, wherein the voltage application module
And a plurality of switches controlled based on the rewrite pattern and capable of applying the fusing voltage to the plurality of cells.
상기 재정정 연산에 대한 반복 횟수를 카운팅하여 특정 횟수를 초과하는 지 여부를 판단하는 제어부를 더 포함하는 메모리 프로그래밍 장치.
According to claim 3,
And a control unit for counting the number of repetitions for the re-arrangement operation to determine whether a certain number of times is exceeded.
외부로부터 프로그래밍 데이터를 수신하여 메모리의 특정 주소에 해당하는 셀 선택 정보를 추출하는 주소 디코딩부를 더 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 7,
And an address decoding unit receiving programming data from the outside and extracting cell selection information corresponding to a specific address of the memory.
상기 복수의 셀들에 기록된 내용에 오류가 발생하지 않거나 상기 반복 횟수가 특정 횟수를 초과하면, 상기 주소 디코딩부로 하여금 상기 프로그래밍 데이터를 수신하여 상기 복수의 셀들과 다른 셀에 대한 셀 선택 정보를 추출하도록 제어하고, 상기 특정 주소에 대한 기록 데이터를 상기 다른 셀에 대한 기록 데이터로 갱신하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 8, wherein the control unit
When an error does not occur in the contents recorded in the plurality of cells or the number of repetitions exceeds a specific number, the address decoding unit receives the programming data and extracts cell selection information for cells different from the plurality of cells And controlling and updating the write data for the specific address with the write data for the other cell.
상기 셀 선택 정보에 대응되는 특정 주소와 연관된 복수의 셀들에 있는 기록된 데이터를 독출 하는 메모리 독출부; 및
상기 독출 전에 상기 복수의 셀들에 미리 기록 데이터를 기록하는 메모리 기록부를 포함하고,
상기 메모리 기록부는 상기 독출 데이터를 기초로 마스크 데이터를 생성하고 상기 마스크 데이터와 상기 기록 데이터에 기초하여 재기록 패턴을 생성하는 재기록 패턴 생성 모듈;
상기 생성된 재기록 패턴을 기초로 상기 복수의 셀들 중 적어도 하나의 불일치 셀에 퓨징 전압을 인가하여 상기 적어도 하나의 불일치 셀을 정정하는 전압 인가 모듈;
상기 생성된 재기록 패턴을 저장하는 재기록 패턴 저장 모듈을 포함하며, 상기 재기록 패턴 생성 모듈은 상기 정정 후에 상기 메모리 독출부에서 재독출 과정을 통해 생성된 재독출 데이터와 상기 저장된 재기록 패턴을 연산하여 갱신된 재기록 패턴을 생성하는 메모리 프로그래밍 장치.
A memory for receiving cell selection information;
A memory reading unit for reading recorded data in a plurality of cells associated with a specific address corresponding to the cell selection information; And
And a memory recording unit for recording recording data in advance to the plurality of cells before the reading,
The memory recording unit may generate a mask data based on the read data, and a rewrite pattern generation module that generates a rewrite pattern based on the mask data and the write data;
A voltage application module correcting the at least one mismatched cell by applying a fusing voltage to at least one mismatched cell among the plurality of cells based on the generated rewrite pattern;
And a rewrite pattern storage module for storing the generated rewrite pattern, wherein the rewrite pattern generation module is updated by calculating the reread data generated through the reread process in the memory reading unit and the stored rewrite pattern after the correction. A memory programming device that generates a rewrite pattern.
상기 갱신된 재기록 패턴에 기초하여 상기 적어도 하나의 불일치 셀 중 적어도 하나의 재불일치 셀을 재정정하는 재정정 연산을 수행하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 10, wherein the memory recording unit
And re-aligning the at least one re-mismatched cell among the at least one mismatched cell based on the updated rewrite pattern.
상기 복수의 셀들에 기록된 내용에 오류가 발생하지 않을 때까지 상기 재독출 과정과 상기 재정정 연산을 순차적으로 반복하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 11, wherein the memory reading unit and the memory recording unit
A memory programming apparatus characterized by sequentially repeating the re-reading process and the redefinition operation until no error occurs in the contents recorded in the plurality of cells.
상기 재정정 연산에 대한 반복 횟수를 카운팅하여 특정 횟수를 초과하거나 상기 재독출 데이터와 상기 기록 데이터가 동일할 경우 상기 특정 주소에 대한 기록을 종료시키는 제어부를 더 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 12,
And counting the number of repetitions for the re-arrangement operation, and further comprising a control unit for terminating the recording of the specific address when the re-reading data and the write data are the same.
상기 독출 데이터를 반전시켜 상기 마스크 데이터를 생성하고,
상기 마스크 데이터와 상기 기록 데이터 간의 논리적 앤드(AND) 연산을 수행하여 상기 재기록 패턴을 생성하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 10, wherein the rewrite pattern generation module
Generating the mask data by inverting the read data,
And performing a logical AND operation between the mask data and the write data to generate the rewrite pattern.
외부로부터 프로그래밍 데이터를 수신하여 상기 메모리로 상기 셀 선택 정보를 추출하는 주소 디코딩부를 더 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 10,
And an address decoding unit receiving programming data from the outside and extracting the cell selection information into the memory.
상기 퓨징 전압을 생성하는 전압 생성 모듈을 더 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 10, wherein the memory recording unit
And a voltage generation module generating the fusing voltage.
상기 재기록 패턴을 기초로 제어되고 상기 복수의 셀들에 상기 퓨징 전압을 인가할 수 있는 복수의 스위치들을 포함하는 것을 특징으로 하는 메모리 프로그래밍 장치.
The method of claim 16, wherein the voltage application module
And a plurality of switches controlled based on the rewrite pattern and capable of applying the fusing voltage to the plurality of cells.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200082066A KR102247375B1 (en) | 2020-07-03 | 2020-07-03 | Memory programing method and device performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200082066A KR102247375B1 (en) | 2020-07-03 | 2020-07-03 | Memory programing method and device performing the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130108737A Division KR20150029848A (en) | 2013-09-10 | 2013-09-10 | Memory programing method and device performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200087104A true KR20200087104A (en) | 2020-07-20 |
KR102247375B1 KR102247375B1 (en) | 2021-04-30 |
Family
ID=71832035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200082066A KR102247375B1 (en) | 2020-07-03 | 2020-07-03 | Memory programing method and device performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102247375B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100845407B1 (en) | 2007-02-16 | 2008-07-10 | 매그나칩 반도체 유한회사 | One-time-programmable cell and otp memory having it |
KR20090110525A (en) * | 2008-04-18 | 2009-10-22 | 창원대학교 산학협력단 | OTP memory device |
KR101051673B1 (en) | 2008-02-20 | 2011-07-26 | 매그나칩 반도체 유한회사 | Anti-fuse and method of forming the same, unit cell of nonvolatile memory device having same |
JP2011181134A (en) * | 2010-02-26 | 2011-09-15 | Elpida Memory Inc | Method of controlling nonvolatile semiconductor device |
-
2020
- 2020-07-03 KR KR1020200082066A patent/KR102247375B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100845407B1 (en) | 2007-02-16 | 2008-07-10 | 매그나칩 반도체 유한회사 | One-time-programmable cell and otp memory having it |
KR101051673B1 (en) | 2008-02-20 | 2011-07-26 | 매그나칩 반도체 유한회사 | Anti-fuse and method of forming the same, unit cell of nonvolatile memory device having same |
KR20090110525A (en) * | 2008-04-18 | 2009-10-22 | 창원대학교 산학협력단 | OTP memory device |
JP2011181134A (en) * | 2010-02-26 | 2011-09-15 | Elpida Memory Inc | Method of controlling nonvolatile semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
KR102247375B1 (en) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10074443B2 (en) | Semiconductor device including fuse circuit | |
US7417900B2 (en) | Method and system for refreshing a memory device during reading thereof | |
US6836431B2 (en) | Method of programming/reading multi-level flash memory using sensing circuit | |
US8139412B2 (en) | Systematic error correction for multi-level flash memory | |
US6594181B1 (en) | System for reading a double-bit memory cell | |
KR20150029848A (en) | Memory programing method and device performing the same | |
US20060203580A1 (en) | Programmable element latch circuit | |
KR20000062687A (en) | Integrated circuit memory having a fuse detect circuit and method therefor | |
CN100498975C (en) | Semiconductor memory device and semiconductor memory device test method | |
US4805151A (en) | Nonvolatile semiconductor memory device | |
US7257012B2 (en) | Nonvolatile semiconductor memory device using irreversible storage elements | |
US6538940B1 (en) | Method and circuitry for identifying weak bits in an MRAM | |
CN111813373B (en) | Random code generator with floating gate transistor type memory cells | |
US6459620B1 (en) | Sense amplifier offset cancellation in non-volatile memory circuits by dedicated programmed reference non-volatile memory cells | |
US8614921B2 (en) | Nonvolatile semiconductor memory device | |
KR102247375B1 (en) | Memory programing method and device performing the same | |
US7177217B2 (en) | Method and circuit for verifying and eventually substituting defective reference cells of a memory | |
KR100305215B1 (en) | Circuit and method of erasing a flash memory cell | |
CN1252604A (en) | Memory element testing circuit | |
JPH1145588A (en) | Nonvolatile semiconductor memory | |
US20230395171A1 (en) | One-time programmable (rotp) nvm | |
US20240145015A1 (en) | Method and system for reading unknown data from non-volatile memory | |
JP3796054B2 (en) | Semiconductor memory | |
KR20090119223A (en) | Method for programming nonvolatile memory device | |
TW202314688A (en) | Semiconductor memory apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |