KR20220086839A - Programming control system and method of otp memory - Google Patents
Programming control system and method of otp memory Download PDFInfo
- Publication number
- KR20220086839A KR20220086839A KR1020200176994A KR20200176994A KR20220086839A KR 20220086839 A KR20220086839 A KR 20220086839A KR 1020200176994 A KR1020200176994 A KR 1020200176994A KR 20200176994 A KR20200176994 A KR 20200176994A KR 20220086839 A KR20220086839 A KR 20220086839A
- Authority
- KR
- South Korea
- Prior art keywords
- otp memory
- data
- otp
- bit
- bits
- 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/08—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 시스템은, M비트 단위로 데이터 영역이 구분되는 OTP 메모리, 및 상기 OTP 메모리를 프로그래밍하는 경우, N비트 단위의 프로그램 데이터와 상기 M비트 단위의 ECC 데이터를 상기 OTP 메모리에 기록하는 OTP 제어부를 포함한다.The OTP memory programming control system according to a preferred embodiment of the present invention includes an OTP memory in which a data area is divided in M-bit units, and when programming the OTP memory, program data in N-bit units and ECC in M-bit units and an OTP control unit for writing data to the OTP memory.
Description
본 발명은 OTP 메모리의 프로그래밍 제어 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for controlling programming of an OTP memory.
OTP(One Time Program) 메모리(Memory)는 반도체 시스템에서 주로 사용하는 ROM(Read Only Memory)의 한 종류로서, 데이터의 영구 보존을 위한 비휘발성 메모리이다. OTP 메모리는, 반도체 제조사 및 공정에 따라, 반도체 시스템의 동작에 이용되는 데이터의 비트 너비(bit width) 및 주소가 상이하다. 이러한 비트 너비 및 주소의 경우, 데이터의 단위 및 OTP 메모리에 대한 접속과 관련이 있다.OTP (One Time Program) memory is a type of read only memory (ROM) mainly used in semiconductor systems, and is a nonvolatile memory for permanent data preservation. The OTP memory has different bit widths and addresses of data used for the operation of the semiconductor system according to semiconductor manufacturers and processes. For these bit widths and addresses, it relates to the unit of data and access to OTP memory.
도 1은 종래 기술에 따른 OTP 메모리의 프로그래밍 제어 시스템의 일 예를 보여준다.1 shows an example of a programming control system of an OTP memory according to the prior art.
도 1을 참고하면, OTP 메모리의 프로그래밍 제어 시스템(1)은, 레지스터(10), OTP 제어부(Controller, 20), OTP 메모리(30), 및 통신부(40)를 포함할 수 있다.Referring to FIG. 1 , the OTP memory
OTP 제어부(20)는 데이터 사이즈 및 주소 정보를 기반으로 반도체 시스템의 동작에 필요한 데이터를 OTP 메모리(30)에 프로그래밍(Programming) 또는 기록(Write)할 수 있다. OTP 제어부(20)는 OTP 메모리(30)에 대한 프로그래밍시, 1 비트 단위로 데이터 쓰기를 수행한다. OTP 제어부(20)는 OTP 메모리(30)의 읽기 시, M비트 단위로 데이터 읽기를 수행한다. M비트 단위는 8 비트 또는 16 비트를 포함할 수 있다.The OTP controller 20 may program or write data required for the operation of the semiconductor system in the OTP memory 30 based on the data size and address information. When programming the OTP memory 30 , the OTP control unit 20 writes data in units of 1 bit. When reading the OTP memory 30 , the OTP control unit 20 reads data in units of M bits. The M-bit unit may include 8 bits or 16 bits.
OTP 메모리(30)는 M비트 단위(8 비트 단위 또는 16 비트 단위)로 프로그램 데이터(OTP 데이터)가 저장될 수 있다.The OTP memory 30 may store program data (OTP data) in M-bit units (8-bit units or 16-bit units).
레지스터(10)와 통신부(40)는 N비트 단위로 서로 데이터 송수신을 수행한다. N비트는 정수 이상의 비트일 수 있다. 외부 회로(50)와 통신부(40)는 N비트 단위로 서로 데이터 송수신을 수행한다.The
OTP 제어부(20)는, OTP 메모리(30)에 대한 읽기를 통해 반도체 시스템의 동작에 필요한 데이터 정보를 불러올 수 있다. OTP 제어부(20)는 OTP 메모리(30)에 저장된 데이터를 레지스터(10)에 전달할 수 있다. 레지스터(10)에 저장된 데이터는 반도체 시스템의 동작에 이용된다.The OTP control unit 20 may read data information necessary for the operation of the semiconductor system through reading the OTP memory 30 . The OTP control unit 20 may transfer data stored in the OTP memory 30 to the
이 때 OTP 제어부(20)는 레지스터(10)와 OTP 메모리(30)의 데이터 사이즈가 일치하지 않는 경우, OTP 메모리(30)의 OTP 데이터에 대한 데이터 처리가 요구된다. 즉, 반도체 시스템에서 이용되는 레지스터(10)와 OTP 메모리(30)의 데이터 단위가 서로 다른 경우, 별도의 데이터 처리가 필요하다.At this time, when the data sizes of the
또한, OPT 메모리(30)에 대한 프로그램 쓰기시, 1 비트 단위를 기준으로 프로그래밍을 수행함에 따라, 제어 복잡성이 증가하고, 반도체 시스템의 통신 및 프로토콜 등의 시간 지연이 발생하는 문제가 있다.In addition, when writing a program to the OPT memory 30 , as programming is performed on a 1-bit basis, control complexity increases, and there is a problem in that a time delay such as communication and protocol of the semiconductor system occurs.
이에 본 발명은 상기한 사정을 감안하여 안출된 것으로, 데이터 통신시 다양한 비트 단위의 데이터를 별도 처리없이 OTP 메모리에 쓰기가 가능하게 함으로써 제어 복잡성이 감소하고, 통신 및 프로토콜 등의 시간 지연을 방지하는 OTP 메모리 프로그래밍 제어 시스템 및 방법을 제공하는 것을 목적으로 한다.Accordingly, the present invention has been devised in consideration of the above circumstances. During data communication, it is possible to write data in various bit units to the OTP memory without separate processing, thereby reducing control complexity and preventing time delays such as communication and protocol. An object of the present invention is to provide an OTP memory programming control system and method.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 OTP 메모리 프로그래밍 제어 시스템은, M비트 단위로 데이터 영역이 구분되는 OTP 메모리; 및 상기 OTP 메모리를 프로그래밍하는 경우, N비트 단위의 프로그램 데이터와 상기 M비트 단위의 ECC 데이터를 상기 OTP 메모리에 기록하는 OTP 제어부;를 포함한다.In order to achieve the above object, an OTP memory programming control system according to a preferred embodiment of the present invention includes: an OTP memory in which a data area is divided in units of M bits; and an OTP controller configured to write the N-bit unit program data and the M-bit unit ECC data to the OTP memory when programming the OTP memory.
상기 M비트는 8비트이고, 상기 N비트는 16비트일 수 있다.The M bits may be 8 bits, and the N bits may be 16 bits.
상기 OTP 제어부는, 상기 N비트 단위의 상기 프로그램 데이터가 상기 OTP 메모리에 기록될 때 마다 상기 M비트 단위의 상기 ECC 데이터를 상기 OTP 메모리에 기록할 수 있다.The OTP controller may write the ECC data in units of M bits to the OTP memory whenever the program data in units of N bits are written to the OTP memory.
상기 ECC 데이터는 에러 코렉팅 코드(Error Correcting Code) 데이터일 수 있다.The ECC data may be error correcting code data.
상기 OTP 제어부는, 상기 N비트 단위의 상기 프로그램 데이터가 저장되는 데이터 버퍼; 및 상기 ECC 데이터를 생성하는 ECC 로직;을 포함할 수 있다.The OTP control unit may include: a data buffer in which the N-bit unit of the program data is stored; and ECC logic generating the ECC data.
상기 OTP 제어부는, 상기 OTP 메모리의 데이터 읽기에 따라 전송되는 소정 비트의 어드레스 신호가 저장되는 어드레스 버퍼;를 더 포함할 수 있다.The OTP control unit may further include an address buffer in which an address signal of a predetermined bit transmitted according to data read of the OTP memory is stored.
상기 N비트 단위로 데이터 영역이 구분되는 레지스터;를 더 포함하고, 상기 OTP 제어부는 상기 OTP 메모리를 읽는 경우, 상기 OTP 메모리에 저장되어 있는 상기 N비트 단위의 상기 프로그램 데이터를 상기 레지스터에 기록할 수 있다.and a register in which the data area is divided in units of N bits, wherein the OTP control unit writes the program data in units of N bits stored in the OTP memory to the register when reading the OTP memory. have.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 OTP 메모리 프로그래밍 제어 방법은, M비트 단위로 데이터 영역이 구분되는 OTP 메모리를 프로그래밍하는 OTP 메모리의 프로그래밍 제어 방법에 있어서, N비트 단위의 프로그램 데이터의 비트 별 유효성을 판단하는 유효성 판단 단계; 상기 N비트 단위의 상기 프로그램 데이터가 유효한 경우, 상기 N비트 단위의 상기 프로그램 데이터의 비트 별 기록 순서를 안내하는 프로그램 시퀀스를 설정하는 시퀀스 설정 단계; 및 상기 프로그램 시퀀스에 따라 상기 N비트 단위의 상기 프로그램 데이터를 상기 OTP 메모리에 프로그래밍하는 프로그래밍 단계;를 포함한다.In order to achieve the above object, an OTP memory programming control method according to a preferred embodiment of the present invention is a programming control method of an OTP memory for programming an OTP memory in which a data area is divided in M-bit units, wherein program data in N-bit units is provided. A validity determination step of determining the validity of each bit; a sequence setting step of setting a program sequence for guiding a bitwise writing order of the N-bit unit of the program data when the program data of the N-bit unit is valid; and programming the N-bit unit of the program data into the OTP memory according to the program sequence.
상기 N비트 단위의 상기 프로그램 데이터가 상기 OTP 메모리에 프로그래밍될 때 마다 M비트 단위의 ECC 데이터를 상기 OTP 메모리에 기록하는 ECC 데이터 기록 단계;를 더 포함할 수 있다.The method may further include an ECC data writing step of writing ECC data in units of M bits to the OTP memory whenever the program data in units of N bits is programmed in the OTP memory.
상기 M비트는 8비트이고, 상기 N비트는 16비트일 수 있다.The M bits may be 8 bits, and the N bits may be 16 bits.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 OTP 메모리 프로그래밍 제어 방법은, M비트 단위로 데이터 영역이 구분되는 OTP 메모리를 리드하는 OTP 메모리의 프로그래밍 제어 방법에 있어서, 상기 OTP 메모리의 상기 데이터 영역 별 리드 순서를 안내하는 리드 시퀀스를 설정하는 리드 시퀀스 설정 단계; 상기 리드 시퀀스에 ECC 데이터가 저장된 데이터 영역의 리드 순서를 추가 설정하는 추가 리드 시퀀스 설정 단계; 및 상기 리드 시퀀스에 따라 상기 OTP 메모리의 프로그램을 리드하는 OTP 프로그램 리드 단계;를 포함한다.In order to achieve the above object, the OTP memory programming control method according to a preferred embodiment of the present invention is a programming control method of an OTP memory that reads an OTP memory in which a data area is divided in units of M bits, wherein the data in the OTP memory is read. a read sequence setting step of setting a read sequence guiding the read sequence for each area; an additional read sequence setting step of additionally setting a read order of a data region in which ECC data is stored in the read sequence; and an OTP program read step of reading the program of the OTP memory according to the read sequence.
상기 OTP 메모리에 ECC 데이터가 활성화되었는지를 판단하는 ECC 판단 단계;를 더 포함할 수 있다.The method may further include an ECC determination step of determining whether ECC data is activated in the OTP memory.
상기 리드 시퀀스 설정 단계는, 최하위 비트부터 N-1 번째 상위 비트 단위 까지를 기초로 상기 리드 시퀀스를 설정할 수 있다.In the setting of the read sequence, the read sequence may be set on the basis of from the least significant bit to the N-1 th higher bit unit.
상기 추가 리드 시퀀스 설정 단계는, 상기 OTP 메모리에 상기 ECC 데이터가 활성화되는 경우, N-1 번째 비트에서 N-1+M 번째 비트 단위 까지를 기초로 상기 리드 시퀀스에 리드 순서를 추가할 수 있다.In the setting of the additional read sequence, when the ECC data is activated in the OTP memory, a read order may be added to the read sequence based on an N-1 th bit to an N-1+M th bit unit.
본 발명의 바람직한 실시예에 따른 OTP 메모리 프로그래밍 제어 시스템 및 방법에 의하면, 데이터 통신시 다양한 비트 단위의 데이터를 별도 처리없이 OTP 메모리에 쓰기가 가능하게 함으로써 제어 복잡성이 감소하고, 통신 및 프로토콜 등의 시간 지연을 방지하는 효과가 있다.According to the OTP memory programming control system and method according to a preferred embodiment of the present invention, it is possible to write data in various bit units to the OTP memory without separate processing during data communication, thereby reducing control complexity and reducing communication and protocol time. This has the effect of preventing delay.
또한, OTP 메모리를 이용하는 반도체 시스템에서 프로그램 쓰기 및 읽기 시퀀스에 대한 자동화를 통해 OTP 테스트 시간 및 비용이 단축되고, OTP 메모리의 데이터 저장 구조와 관련없이 외부 제어를 통해 OTP 메모리에 대한 접근 최적화가 가능한 효과가 있다.In addition, OTP test time and cost are reduced through automation of program write and read sequences in semiconductor systems using OTP memory, and access to OTP memory can be optimized through external control regardless of the data storage structure of OTP memory there is
도 1은 종래 기술에 따른 OTP 메모리의 프로그래밍 제어 시스템의 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 시스템의 블록도이다.
도 3은 OTP 메모리의 프로그램 데이터의 통신 상태를 보여주는 도면이다.
도 4는 OTP 데이터 읽기에 따른 16 비트 단위의 프로그램 데이터를 보여주는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법의 제1 순서도이다.
도 6은 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법의 제2 순서도이다.1 is a block diagram of a programming control system of an OTP memory according to the prior art.
2 is a block diagram of a system for controlling programming of an OTP memory according to a preferred embodiment of the present invention.
3 is a diagram illustrating a communication state of program data of an OTP memory.
4 is a diagram showing program data in 16-bit units according to OTP data read.
5 is a first flowchart of a method for controlling programming of an OTP memory according to a preferred embodiment of the present invention.
6 is a second flowchart of a method for controlling programming of an OTP memory according to a preferred embodiment of the present invention.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, it should be noted that in adding reference numerals to the components of each drawing, the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, preferred embodiments of the present invention will be described below, but the technical spirit of the present invention is not limited thereto or may be variously implemented by those skilled in the art without being limited thereto.
도 2는 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 시스템의 블록도이다.2 is a block diagram of a system for controlling programming of an OTP memory according to a preferred embodiment of the present invention.
도 2를 참고하면, 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 시스템(100)은, OTP 메모리(110)를 프로그래밍하는 경우, OTP 메모리(110)의 데이터 저장 구조와 관계없이 다양한 비트 단위의 프로그램 데이터를 OTP 메모리(110)에 쓰기 가능한 것을 특징으로 한다.Referring to FIG. 2 , in the OTP memory
OTP 메모리의 프로그래밍 제어 시스템(100)은, OTP 메모리(110), 레지스터(120), 및 OTP 제어부(130)를 포함할 수 있다.The OTP memory
OTP 메모리(110)는, 반도체 시스템에서 주로 사용하는 ROM(Read Only Memory)의 한 종류로서, 데이터의 영구 보존을 위한 비휘발성 메모리이다. OTP 메모리(110)는, M비트 단위(8비트 단위)로 데이터 영역이 구분될 수 있다. OTP 메모리(110)는 M비트 단위로 프로그램 데이터(OTP 데이터)가 저장될 수 있다. OTP 메모리(110)는 N비트 단위(16비트 단위)의 프로그램 데이터가 저장될 때 마다 M비트 단위의 ECC 데이터가 저장될 수 있다. 여기서, ECC 데이터는 에러 코렉팅 코드(Error Correcting Code) 데이터를 나타낸다.The OTP memory 110 is a type of read only memory (ROM) mainly used in semiconductor systems, and is a nonvolatile memory for permanent data storage. In the OTP memory 110, the data area may be divided into M-bit units (8-bit units). The OTP memory 110 may store program data (OTP data) in units of M bits. The OTP memory 110 may store ECC data of M-bit units whenever N-bit units (16-bit units) of program data are stored. Here, the ECC data represents error correcting code data.
레지스터(120)는 N비트 단위로 데이터 영역이 구분될 수 있다. 레지스터(120)는 N비트 단위로 데이터 송수신을 수행할 수 있다. 레지스터(120)는 OTP 제어부(130)에 의해 OTP 메모리(110)의 프로그램 데이터가 저장될 수 있다.The register 120 may be divided into a data area in units of N bits. The register 120 may transmit/receive data in units of N bits. The register 120 may store program data of the OTP memory 110 by the
OTP 제어부(130)는 반도체 시스템의 동작에 필요한 프로그램 데이터를 OTP 메모리(110)에 프로그래밍(Programming) 또는 기록(Write)할 수 있다. OTP 제어부(130)는 OTP 메모리(110)를 프로그래밍하는 경우, N비트 단위로 프로그램 데이터의 쓰기를 수행할 수 있다. OTP 제어부(130)는 N비트 단위의 프로그램 데이터가 OTP 메모리(110)에 기록될 때 마다 M비트 단위의 ECC 데이터를 OTP 메모리(110)에 기록할 수 있다. 이를 통해 OTP 메모리(110)에는 N비트 단위의 프로그램 데이터마다 M비트 단위의 ECC 데이터가 저장될 수 있다.The
OTP 제어부(130)는 OTP 메모리(110)의 읽기 시, N비트 단위로 프로그램 데이터 읽기를 수행할 수 있다. OTP 제어부(130)는, OTP 메모리(110)에 대한 읽기를 통해 반도체 시스템의 동작에 필요한 프로그램 데이터 정보를 불러올 수 있다. OTP 제어부(130)는 OTP 메모리(110)에 저장된 프로그램 데이터를 레지스터(120)에 전달할 수 있다. 레지스터(120)에 저장된 프로그램 데이터는 반도체 시스템의 동작에 이용된다.When reading the OTP memory 110 , the
OTP 제어부(130)는 어드레스 버퍼(131), 데이터 버퍼(133), 및 ECC 로직(135)을 포함할 수 있다.The
어드레스 버퍼(131)는, OTP 메모리(110)의 데이터 읽기에 따라 전송되는 소정 비트의 어드레스 신호가 저장될 수 있다. 어드레스 신호는 12비트 단위를 가질 수 있다.The address buffer 131 may store an address signal of a predetermined bit transmitted according to data read of the OTP memory 110 . The address signal may have a unit of 12 bits.
데이터 버퍼(133)는 N비트 단위의 프로그램 데이터가 저장될 수 있다.The
ECC 로직(135)는 M비트 단위의 ECC 데이터를 생성하는 알고리즘을 구비할 수 있다. ECC 로직(135)은 N비트 단위의 프로그램 데이터가 OTP 메모리(110)에 저장될 때 마다 M비트 단위의 ECC 데이터를 OTP 메모리(110)에 전송할 수 있다.The ECC logic 135 may include an algorithm for generating ECC data in units of M bits. The ECC logic 135 may transmit ECC data in units of M bits to the OTP memory 110 whenever N-bit unit program data is stored in the OTP memory 110 .
이상의 구조로 구성되는 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 시스템(100)은, OTP 메모리(110)에 접근하는 경우, 어플리케이션 및 반도체 시스템에서 사용하는 비트 단위의 프로그램 데이터를 쓰기함으로써, 데이터 통신의 최적화 및 OTP 접근 시간의 최소화가 가능하다. 이를 통해 OTP 메모리(110)의 데이터 저장 구조에 상관없이 OTP 메모리(110)에 대한 접근 시퀀스, 프로그램 데이터 읽기, 및 쓰기가 가능하다. 따라서, OTP 메모리(110) 및 반도체 시스템의 구조 선택 시, 데이터 대역폭(Bandwidth)에 제한 받지 않을 수 있다.The
또한, OTP 메모리의 프로그래밍 제어 시스템(100)은, OTP 메모리(110)의 테스트 시에도 유용하다. OTP 메모리의 프로그래밍 제어 시스템(100)은 OTP 메모리(110)에 저장되는 비트 단위의 데이터보다 더 큰 데이터를 송수신하는 경우 한 번의 통신 명령만으로 테스트가 가능하다.Also, the OTP memory
도 3은 OTP 메모리의 프로그램 데이터의 통신 상태를 보여주는 도면이다.3 is a diagram illustrating a communication state of program data of an OTP memory.
도 3을 참고하면, 프로그램 데이터의 개수에 따라 자동 시퀀스가 진행되는 것을 확인할 수 있다. 또한, OTP 프로그램 프로토콜의 통신 상태를 확인할 수 있다.Referring to FIG. 3 , it can be seen that an automatic sequence is performed according to the number of program data. Also, the communication status of the OTP program protocol can be checked.
도 4는 OTP 데이터 읽기에 따른 16 비트 단위의 프로그램 데이터를 보여주는 도면이다.4 is a diagram illustrating program data in 16-bit units according to OTP data read.
도 4를 참고하면, OTP 메모리(110)DP 8비트 단위로 구분 저장된 프로그램 데이터가 16 비트 단위로 병합되어 시스템 내에서 통신이 이루어지는 것을 확인할 수 있다.Referring to FIG. 4 , it can be confirmed that the program data divided and stored in units of 8 bits of the OTP memory 110 DP are merged in units of 16 bits to communicate within the system.
도 5는 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법의 제1 순서도이다.5 is a first flowchart of a method for controlling programming of an OTP memory according to a preferred embodiment of the present invention.
도 2 및 도 5를 참고하면, 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법에 있어서, OTP 메모리의 프로그래밍 방법을 확인할 수 있다.2 and 5 , in the programming control method of the OTP memory according to the preferred embodiment of the present invention, the programming method of the OTP memory can be confirmed.
프로그래밍 시작 단계(S510)에서, OTP 제어부(130)는 통신 동작을 통한 N비트 단위(16 비트 단위)로 프로그램 데이터(OTP 프로그램)의 쓰기를 준비한다. 여기서, N비트 단위의 프로그램 데이터는 복수로 구성될 수 있다.In the programming start step ( S510 ), the
제1 유효성 판단 단계(S520)에서, OTP 제어부(130)는 N비트 단위(16 비트 단위)의 프로그램 데이터의 최하위 비트(LSB: Least Significant Bit)의 유효성을 판단한다. 여기서, N비트 단위의 프로그램 데이터의 최하위 비트가 유효한 경우, 하기 제1 시퀀스 설정 단계(S530)가 수행될 수 있다. 한편, N비트 단위의 프로그램 데이터의 최하위 비트가 유효하지 않은 경우, 하기 제2 유효성 판단 단계(S540)가 수행될 수 있다.In the first validity determination step S520 , the
제1 시퀀스 설정 단계(S530)에서, OTP 제어부(130)는 N비트 단위의 프로그램 데이터의 최하위 비트를 기초로 프로그램 시퀀스를 설정한다. 여기서, OTP 제어부(130)는 프로그램 시퀀스에 오프셋 주소(Offset Address)를 설정한다.In the first sequence setting step S530 , the
제2 유효성 판단 단계(S540)에서, OTP 제어부(130)는 N비트 단위의 프로그램 데이터의 최하위 비트보다 N-1 번째 상위 비트의 유효성을 판단한다. 여기서, N비트 단위의 프로그램 데이터의 1 번째 상위 비트부터 N-2 번째 상위 비트에 대한 유효성 판단은 생략한다. 또한, N비트 단위의 프로그램 데이터의 최하위 비트보다 N-1 번째 상위 비트가 유효한 경우, 하기 제2 시퀀스 설정 단계(S550)가 수행될 수 있다. 한편, N비트 단위의 프로그램 데이터의 최하위 비트 비트보다 N-1 번째 상위 비트가 유효하지 않은 경우, 하기 제2 유효성 판단 단계(S540)가 수행될 수 있다.In the second validity determination step ( S540 ), the
제2 시퀀스 설정 단계(S550)에서, OTP 제어부(130)는 N비트 단위의 프로그램 데이터의 최하위 비트보다 N-1 번째 상위 비트를 기초로 프로그램 시퀀스를 설정한다. 여기서, N비트 단위의 프로그램 데이터의 1 번째 상위 비트부터 N-2 번째 상위 비트를 기초로 한 프로그램 시퀀스 설정은 생략한다.In the second sequence setting step ( S550 ), the
프로그래밍 단계(S560)에서, OTP 제어부(130)는 프로그램 시퀀스에 따라 N비트 단위의 프로그램 데이터를 OTP 메모리(110)에 기록한다.In the programming step (S560), the
ECC 데이터 기록 단계(S570)에서, OTP 제어부(130)는 N비트 단위의 프로그램 데이터가 OTP 메모리(110)에 프로그래밍될 때 M비트 단위(8비트 단위)의 ECC 데이터를 OTP 메모리(110)에 기록한다.In the ECC data writing step S570 , the
프로그래밍 완료 판단 단계(S580)에서, OTP 제어부(130)는 OTP 메모리(110)의 프로그래밍 완료 여부를 판단한다. 여기서, OTP 메모리(110)의 프로그래밍이 완료되지 않은 경우, 프로그래밍 시작 단계(S510) 이후 단계가 계속해서 반복 수행될 수 있다.In the programming completion determination step S580 , the
도 6은 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법에 있어서, OTP 메모리의 읽기 방법을 확인할 수 있다.6 shows a reading method of the OTP memory in the programming control method of the OTP memory according to the preferred embodiment of the present invention.
도 2 및 도 6을 참고하면, 본 발명의 바람직한 실시예에 따른 OTP 메모리의 프로그래밍 제어 방법에 있어서, OTP 메모리의 프로그램 리드 방법을 확인할 수 있다.2 and 6 , in the programming control method of the OTP memory according to the preferred embodiment of the present invention, a program read method of the OTP memory can be confirmed.
프로그램 리드 시작 단계(S610)에서, OTP 제어부(130)는 N비트 단위(16비트 단위)로 OTP 메모리(110)의 프로그램 읽기를 시작한다. 여기서, OTP 제어부(130)는 통신 또는 내부 제어를 통해 읽기가 가능하다.In the program read start step ( S610 ), the
제1 리드 시퀀스 설정 단계(S620)에서, OTP 제어부(130)는 최하위 비트 단위를 기초로 리드 시퀀스를 설정한다. 여기서, OTP 제어부(130)는 리드 시퀀스에 오프셋 주소를 설정한다.In the first read sequence setting step ( S620 ), the
제2 리드 시퀀스 설정 단계(S630)에서, OTP 제어부(130)는 최하위 비트 단위보다 N-1 번째 상의 비트 단위를 기초로 리드 시퀀스를 설정한다. 여기서, 최하위 비트 단위보다 1 번째 상위 비트부터 N-2 번째 상위 비트를 기초로 한 리드 시퀀스 설정은 생략한다.In the second read sequence setting step ( S630 ), the
ECC 판단 단계(S640)에서, OTP 제어부(130)는 OTP 메모리(110)DP ECC 데이터가 활성화되었는지를 판단할 수 있다. 여기서, ECC 데이터가 OTP 메모리(110)에 활성화된 상태이면, 하기 제3 리드 시퀀스 설정 단계(S640)가 수행될 수 있다. 한편, ECC 데이터가 OTP 메모리(110)에 활성화되지 않은 상태이면, 하기 프로그램 리드 단계(S660)가 수행될 수 있다.In the ECC determination step S640 , the
추가 리드 시퀀스 설정 단계(S650)에서, OTP 제어부(130)는 최하위 비트 단위 보다 N-1+M 번째 상위 비트를 기초로 한 리드 시퀀스를 설정한다. 이때 OTP 제어부(130)는 리드 시퀀스에 오프셋 어드레스를 설정할 수 있다. 이를 통해 OTP 제어부(130)는 리드 시퀀스에 따라 N+M비트 단위(16+8비트 단위)의 프로그램 데이터의 리드가 가능하다.In the additional read sequence setting step ( S650 ), the
OTP 프로그램 리드 단계(S660)에서, OTP 제어부(130)는 리드 시퀀스에 따라 OTP 메모리(110)의 프로그램 읽기를 수행한다. 이후 OTP 메모리(110)의 프로그램 읽기가 완료되지 않으면, 프로그램 리드 시작 단계(S610) 이후 단계가 반복 수행될 수 있다.In the OTP program read step S660 , the
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may make various modifications, changes and substitutions within the scope without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are for explaining, not limiting, the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments and the accompanying drawings .
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.Steps and/or operations according to the present invention may occur concurrently in different embodiments, either in a different order, or in parallel, or for different epochs, etc., as would be understood by one of ordinary skill in the art. can
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.Depending on the embodiment, some or all of the steps and/or operations run instructions, a program, an interactive data structure, a client and/or a server stored in one or more non-transitory computer-readable media. At least some may be implemented or performed using one or more processors. The one or more non-transitory computer-readable media may be illustratively software, firmware, hardware, and/or any combination thereof. Further, the functionality of a “module” discussed herein may be implemented in software, firmware, hardware, and/or any combination thereof.
100: 프로그래밍 제어 시스템
110: OTP 메모리
120: OTP 제어부
121: 어드레스 버퍼
123: 데이터 버퍼
125: ECC 로직
130: 레지스터100: programming control system
110: OTP memory
120: OTP control unit
121: address buffer
123: data buffer
125: ECC logic
130: register
Claims (14)
상기 OTP 메모리를 프로그래밍하는 경우, N비트 단위의 프로그램 데이터와 상기 M비트 단위의 ECC 데이터를 상기 OTP 메모리에 기록하는 OTP 제어부;
를 포함하는 OTP 메모리의 프로그래밍 제어 시스템.OTP memory in which the data area is divided in M-bit units; and
When programming the OTP memory, the OTP control unit for writing the N-bit unit program data and the M-bit unit ECC data to the OTP memory;
OTP memory programming control system comprising a.
상기 M비트는 8비트이고, 상기 N비트는 16비트인 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.The method of claim 1,
The M bits are 8 bits, and the N bits are 16 bits.
상기 OTP 제어부는,
상기 N비트 단위의 상기 프로그램 데이터가 상기 OTP 메모리에 기록될 때 마다 상기 M비트 단위의 상기 ECC 데이터를 상기 OTP 메모리에 기록하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.The method of claim 1,
The OTP control unit,
The OTP memory programming control system, characterized in that whenever the N-bit unit of the program data is written to the OTP memory, the ECC data of the M-bit unit is written to the OTP memory.
상기 ECC 데이터는 에러 코렉팅 코드(Error Correcting Code) 데이터인 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.The method of claim 1,
The ECC data is an OTP memory programming control system, characterized in that the error correcting code (Error Correcting Code) data.
상기 OTP 제어부는,
상기 N비트 단위의 상기 프로그램 데이터가 저장되는 데이터 버퍼; 및
상기 ECC 데이터를 생성하는 ECC 로직;
을 포함하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.The method of claim 1,
The OTP control unit,
a data buffer in which the N-bit unit of the program data is stored; and
ECC logic to generate the ECC data;
OTP memory programming control system comprising a.
상기 OTP 제어부는,
상기 OTP 메모리의 데이터 읽기에 따라 전송되는 소정 비트의 어드레스 신호가 저장되는 어드레스 버퍼;
를 더 포함하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.6. The method of claim 5,
The OTP control unit,
an address buffer in which an address signal of a predetermined bit transmitted according to data read of the OTP memory is stored;
OTP memory programming control system, characterized in that it further comprises.
상기 N비트 단위로 데이터 영역이 구분되는 레지스터;
를 더 포함하고,
상기 OTP 제어부는 상기 OTP 메모리를 읽는 경우, 상기 OTP 메모리에 저장되어 있는 상기 N비트 단위의 상기 프로그램 데이터를 상기 레지스터에 기록하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 시스템.The method of claim 1,
a register in which a data area is divided in units of the N bits;
further comprising,
When the OTP memory is read, the OTP control unit writes the N-bit unit of the program data stored in the OTP memory to the register.
N비트 단위의 프로그램 데이터의 비트 별 유효성을 판단하는 유효성 판단 단계;
상기 N비트 단위의 상기 프로그램 데이터가 유효한 경우, 상기 N비트 단위의 상기 프로그램 데이터의 비트 별 기록 순서를 안내하는 프로그램 시퀀스를 설정하는 시퀀스 설정 단계; 및
상기 프로그램 시퀀스에 따라 상기 N비트 단위의 상기 프로그램 데이터를 상기 OTP 메모리에 프로그래밍하는 프로그래밍 단계;
를 포함하는 OTP 메모리의 프로그래밍 제어 방법.In the programming control method of the OTP memory for programming the OTP memory in which the data area is divided in M-bit units,
A validity determination step of determining the validity of each bit of the program data in units of N bits;
a sequence setting step of setting a program sequence for guiding a bitwise writing order of the N-bit unit of the program data when the program data of the N-bit unit is valid; and
a programming step of programming the N-bit unit of the program data into the OTP memory according to the program sequence;
A programming control method of the OTP memory comprising a.
상기 N비트 단위의 상기 프로그램 데이터가 상기 OTP 메모리에 프로그래밍될 때 마다 M비트 단위의 ECC 데이터를 상기 OTP 메모리에 기록하는 ECC 데이터 기록 단계;
를 더 포함하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 방법.9. The method of claim 8,
an ECC data writing step of writing ECC data in units of M bits to the OTP memory whenever the program data in units of N bits is programmed in the OTP memory;
Programming control method of OTP memory, characterized in that it further comprises.
상기 M비트는 8비트이고, 상기 N비트는 16비트인 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 방법.10. The method of claim 9,
The M bits are 8 bits, and the N bits are 16 bits.
상기 OTP 메모리의 상기 데이터 영역 별 리드 순서를 안내하는 리드 시퀀스를 설정하는 리드 시퀀스 설정 단계;
상기 리드 시퀀스에 ECC 데이터가 저장된 데이터 영역의 리드 순서를 추가 설정하는 추가 리드 시퀀스 설정 단계; 및
상기 리드 시퀀스에 따라 상기 OTP 메모리의 프로그램을 리드하는 OTP 프로그램 리드 단계;
를 포함하는 OTP 메모리의 프로그래밍 제어 방법.In the programming control method of the OTP memory that reads the OTP memory in which the data area is divided in M-bit units,
a read sequence setting step of setting a read sequence guiding a read sequence for each data area of the OTP memory;
an additional read sequence setting step of additionally setting a read order of a data region in which ECC data is stored in the read sequence; and
an OTP program reading step of reading the program of the OTP memory according to the read sequence;
A programming control method of the OTP memory comprising a.
상기 OTP 메모리에 ECC 데이터가 활성화되었는지를 판단하는 ECC 판단 단계;
를 더 포함하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 방법.12. The method of claim 11,
an ECC determination step of determining whether ECC data is activated in the OTP memory;
Programming control method of OTP memory, characterized in that it further comprises.
상기 리드 시퀀스 설정 단계는,
최하위 비트부터 N-1 번째 상위 비트 단위 까지를 기초로 상기 리드 시퀀스를 설정하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 방법.13. The method of claim 12,
The read sequence setting step includes:
The programming control method of the OTP memory, characterized in that the read sequence is set based on the least significant bit to the N-1th high-order bit unit.
상기 추가 리드 시퀀스 설정 단계는,
상기 OTP 메모리에 상기 ECC 데이터가 활성화되는 경우, N-1 번째 비트에서 N-1+M 번째 비트 단위 까지를 기초로 상기 리드 시퀀스에 리드 순서를 추가하는 것을 특징으로 하는 OTP 메모리의 프로그래밍 제어 방법.14. The method of claim 13,
The additional read sequence setting step includes:
When the ECC data is activated in the OTP memory, a read order is added to the read sequence based on an N-1 th bit to an N-1+M th bit unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200176994A KR20220086839A (en) | 2020-12-17 | 2020-12-17 | Programming control system and method of otp memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200176994A KR20220086839A (en) | 2020-12-17 | 2020-12-17 | Programming control system and method of otp memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220086839A true KR20220086839A (en) | 2022-06-24 |
Family
ID=82215773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200176994A KR20220086839A (en) | 2020-12-17 | 2020-12-17 | Programming control system and method of otp memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220086839A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981683A (en) * | 2023-03-20 | 2023-04-18 | 荣湃半导体(上海)有限公司 | Euse automatic programming circuit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180041427A (en) | 2016-10-14 | 2018-04-24 | 삼성전자주식회사 | One-time programmable(otp) memory device for reading multiple fuse bits |
-
2020
- 2020-12-17 KR KR1020200176994A patent/KR20220086839A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180041427A (en) | 2016-10-14 | 2018-04-24 | 삼성전자주식회사 | One-time programmable(otp) memory device for reading multiple fuse bits |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981683A (en) * | 2023-03-20 | 2023-04-18 | 荣湃半导体(上海)有限公司 | Euse automatic programming circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7516371B2 (en) | ECC control apparatus | |
JP5132687B2 (en) | Error detection and correction method and apparatus using cache in memory | |
US8051339B2 (en) | Data preserving method and data accessing method for non-volatile memory | |
US8234544B2 (en) | Data access apparatus and data access method | |
JP5162763B2 (en) | Memory access system | |
KR102358177B1 (en) | Control circuit and memory device including the control circuit | |
JP2005327437A (en) | Semiconductor storage device | |
JP2006107710A (en) | Integrated circuit memory device, by which existence of program error due to power failure is detectable, and its method | |
US10339333B2 (en) | Method and apparatus for controlling application to access memory | |
KR20170112630A (en) | Semiconductor device and semiconductor system | |
KR20180029803A (en) | Semiconductor device and semiconductor system | |
US7251706B2 (en) | System and method for updating firmware in a non-volatile memory without using a processor | |
US11403172B2 (en) | Methods for error detection and correction and corresponding systems and devices for the same | |
KR20220086839A (en) | Programming control system and method of otp memory | |
CN108664362B (en) | Memory mirror image processing method, memory controller and user equipment | |
EP2317439A1 (en) | Error Detection | |
CN107291372B (en) | Electronic device and data verification method thereof | |
KR20170133545A (en) | Semiconductor device and semiconductor system | |
EP2194458A2 (en) | Request processing device, request processing system, and access testing method | |
US20200333984A1 (en) | Apparatus and method for controlling access to memory module | |
KR20170130684A (en) | Semiconductor device | |
US8364882B2 (en) | System and method for executing full and partial writes to DRAM in a DIMM configuration | |
CN118069070B (en) | Write-back method and device for reducing soft error rate of memory | |
JP4773343B2 (en) | Method and apparatus for recognizing errors for cache memory, and cache memory | |
CN112306733B (en) | Memory device, memory controller and data access method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application |