KR100274099B1 - 점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법 - Google Patents

점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법 Download PDF

Info

Publication number
KR100274099B1
KR100274099B1 KR1019920010008A KR920010008A KR100274099B1 KR 100274099 B1 KR100274099 B1 KR 100274099B1 KR 1019920010008 A KR1019920010008 A KR 1019920010008A KR 920010008 A KR920010008 A KR 920010008A KR 100274099 B1 KR100274099 B1 KR 100274099B1
Authority
KR
South Korea
Prior art keywords
memory
circuit
value
nonvolatile
address
Prior art date
Application number
KR1019920010008A
Other languages
English (en)
Other versions
KR930005032A (ko
Inventor
지. 웨이스 도날드
엠. 돕스 로라
에스. 토마스 제임스
에이. 라시노 그레고리
Original Assignee
비센트 비.인그라시아
모토로라 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비센트 비.인그라시아, 모토로라 인코포레이티드 filed Critical 비센트 비.인그라시아
Publication of KR930005032A publication Critical patent/KR930005032A/ko
Application granted granted Critical
Publication of KR100274099B1 publication Critical patent/KR100274099B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits

Landscapes

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

Abstract

데이타 프로세서(10)내의 비휘발성 메모리(28)는 사용자가 결정한 수의 부분들에서 점진적으로 프로그램 및/또는 액세스될 수 있다. 실제로 사용자가 비휘발성 메모리(28)의 순차적인 부분들을 프로그래밍하고 액세스할 때, 사용자는 똑같은 어드레스에서 재프로그램할 수 있는 비휘발성 메모리(28)인 것으로 사용자에게 보이는 것을 프로그램 또는 액세스할 수 있다. 비휘발성 제어 비트들(20)에 저장된 비휘발성 정보는 비휘발성 메모리의 어느 부분이 통신 버스에 연결되어 사용자에 대해 액세스 가능한지를 제어하는데 사용된다. 사용자가 비휘발성 메모리(28)의 새로운 부분을 기록 및/또는 액세스하고자 할 때, 사용자는 소프트웨어를 이용하여 비휘발성 제어 비트(20)들중의 하나를 직접 어써트(assert)하거나 비휘발성 제어(24)가 하드웨어를 이용하여 비휘발성 제어 비트(20)들 중의 하나를 어써트한다.

Description

점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법
제1도는 본 발명에 따른 점진적으로 프로그램가능한 비휘발성 메모리를 갖는 데이타 프로세서를 도시한 블럭 다이어그램.
제2(a)도 내지 제2(d)도는 비휘발성 메모리의 어레이가 본 발명에 따라서 점진적으로 프로그램될 수 있는 다양한 크기의 부분들로 어떻게 분할되는가를 도시한 4가지 실시예의 블럭 다이어그램.
제3도는 비휘발성 메모리 및 제1도의 비휘발성 제어에 대한 실시예를 도시하는 블럭 다이어그램.
제4도는 본 발명에 따라서 제1도의 메모리가 다음에 프로그램 되어지는 행(ROW0-ROW7)과 대응하는 비휘발성 제어 비트 및 그 값(NV0-NYV)으로 분할된 부분의 숫자간의 상호 관계를 나타낸 테이블.
* 도면의 주요부분에 대한 부호의 설명
10 : 데이타 프로세서 12 : 어드레스 버스
14 : 칼럼 디코드 24 : 비휘발성 제어
26 : 로우 디코드 28 : 비휘발성 메모리
30 : 데이타 버스 32 : 통신 버스
34 : CPU
[발명의 분야]
본 발명은 일반적으로 비휘발성 메모리에 관한 것으로, 특히 비휘발성 메모리의 하나 또는 그 이상의 부분(section)들을 프로그래밍하는 것에 관한 것이다.
[발명의 배경]
제품 생산에 마이크로컨트롤러 유니트들 또는 마이크로컨트롤러(MCU)들을 이용하는 대부분의 제조업자들은 다음과 같은 일반적인 목표를 가진다. (1) 가능한한 많은 기능을 MCU에 통합함으로써 종종 달성되는 그 용도에 있어서 가능한한 최소 개수의 전체 칩 수를 사용하고, (2) 칩의 전체 비용을 최소화하는 것이다. 또한, 몇몇 용도에는 제한된 횟수로 재프로그램 될 수 있는 비휘발성 메모리가 요구된다. 그런 용도의 일 예로는, 자동차의 수명 동안 여러 번 변경되어야 하는 측정 상수들을 저장하기 위해 비휘발성 메모리를 사용하는 자동차 엔진 컨트롤러가 있다. 엔진의 상태가 차의 수명 동안에 변화함에 따라서 측정 상수들이 변경되도록 하기 위해서 효율적으로 여러번 재프로그램될 수 있는 메모리가 요구된다. 비휘발성 메모리는 시스템으로의 전력이 손실된 경우, 예를 들어 차 바테리가 나간 경우에, 저장된 정보의 손실을 방지하기 위해 필요하다.
현재 이용가능한 해결 수단은 비교적 비용이 많이 소요된다. 그것의 높은 시험 비용 때문에, 전기적 삭제가능 프로그래머블 판독전용 메모리(EEPROM 또는 E2PROM)는 통상적으로 너무 고가의 해결 수단이다. 또한, EEPROM은 수천 번의 기록 삭제 사이클을 갖도록 설계되기 때문에, 단지 훨씬 더 많이 제한된 횟수의 기록 삭제 사이클이 요구되는 용도에는 그런 메모리는 너무 비용이 많이 든다. 삭제가능 프로그래머블 판독전용 메모리(EPROM)는 대개 저가의 시험 비용이 들지만, 그것은 자외선 광을 이용하여 EPROM이 삭제 되도록 하기 위해 깨끗한 덮개를 가진 값비싼 세라믹 패키지를 필요로 한다.
비용을 줄이기 위해 몇몇 반도체 제조업자들은 EPROM이 삭제되는 것을 효과적으로 방지하는 플래스틱 패키지를 훨씬 저렴하게 EPROM 들을 패키징하는 쪽으로 전환했었다. 이런 형태의 메모리에 주어지는 명칭은 OTP(One Time Programmable) 메모리이다. OTP 메모리의 장점은, 칩 제조 공정 동안 프로그램되어야 하는 판독전용 메모리(ROM)와는 달리 사용자에 의해 편리하게 프로그램될 수 있다는 것이다. 그러나, OTP 메모리의 결점은 메모리 셀을 삭제하는 어떠한 방법도 없기 때문에 각각의 메모리 셀이 어써트된(asserted) 상태(즉, 비최초 (non-virgin) 상태)로만 단 1회 프로그램될 수 있다는 것이다. 일부 제조업자들이 원하고 요구하는 것은 제한된 횟수로 재프로그램될 수 있는 MCU 상에 배치되는 저렴한 유형의 메모리이다.
보통 소프트웨어 포인터가 메모리에 있는 정보의 위치를 추적하기 위해 사용된다. 그러나 대다수 MCU 용도에 있어서, 갱신가능(updatable) 소프트웨어 포인터는 이런 목적을 위해 사용될 수 없다. 그 이유는 포인터 값이 휘발성 메모리에 저장되어 있고 전원이 꺼지면 포인터 값은 손실되며 소프트웨어는 현재 정보의 위치(location)를 정할 수 없기 때문이다. 만약 비휘발성 메모리가 포인터 값을 저장하도록 사용된다면, 소프트웨어가 연속적으로 포인터를 갱신할 수 있기 위해서 값비싼 E2PROM이 요구되는 또다른 문제점이 있다.
“스마트(Smart)” 신용 카드 용도에 있어서는 이 문제에 대해 매우 간단한 해결 수단이 있다. 스마트 신용 카드는 돈의 총 잔고가 카드 소유자의 계좌에 남도록 하기 위해 OTP 메모리를 사용하는 숨겨진 MCU가 포함된 플래스틱 신용 카드이다. MCU를 제어하는 소프트웨어는 OTP 메모리의 처음에서 시작하고 시작 계좌 잔고를 첫번째 OTP 메모리 위치에 기록한다. OTP 메모리의 나머지는 아직 기록되지 않고 여전히 최초(virgin) 상태, 예컨대 모두 0으로 있게 된다. 신용 카드 거래가 시작될 때, 소프트웨어는 OTP 메모리에 있는 어떤 어드레스 위치가 현재의 계좌 잔고를 포함하는지를 결정해야 한다. 소프트웨어는 이것을, OTP 메모리를 판독하고, OTP 메모리의 최초 상태가 어디에서 시작하는지, 예를 들어 어디에서 모두 0인 패턴이 시작되는가를 결정함으로써 수행한다. 물론 결과적으로, 모두 0인 데이타 값은 계좌 잔고를 나타내는데 이용될 수 없다. 일단 OTP 메모리의 최초 부분의 시작이 배치되면 즉시 선행 값은 현재의 계좌 잔고로 간주된다. 그 다음 새계좌 잔고가 다음의 연속적인 OTP 메모리 위치에 기록된다.
유감스럽게도, 스마트 카드에 의해 이용되는 해결 수단은 몇가지 근본적인제약과 결점을 가진다. 첫째, 소프트웨어는 OTP 메모리내의 데이터에 대한 인지되어 고정된 어드레스 위치를 이용하여 기록될 수 없다. 그 이유는 현재 데이타(즉, 스마트 카드의 현 계좌 잔고)를 포함하는 어드레스 위치는 새 데이타 값이 기록될 때마다 변하기 때문이다. 이것은 중요한 제약이 된다. OTP메모리내의 정보가 소프트웨어에 의해 요구될 때마다, 소프트웨어는 현 정보가 어디에 위치되어 있는가를 결정해야 한다. 둘째, 사용자는 잠재적으로 OTP 메모리의 상당한 부분을 판독하지 않고서 OTP 메모리에 있는 정보의 위치를 정할 수 없다. 이런 방법의 결점은 소프트웨어의 실행에 상당한 량의 시간이 소비된다는 것이다. 셋째, OTP 메모리 최초 상태는 데이타로서 사용될 수 없는 불법적 값으로서 지정되어져야 한다. 그렇지 않으면 미사용 OTP 메모리의 첫째 바이트와 유효 데이타의 마지막 바이트를 식별하는 것이 불가능하다. 이런 제약과 결점은 스마트 신용 카드 용도뿐만 아니라, OTP 메모리를 사용하는 다른 용도에도 적용된다.
[발명의 개요]
본 발명에 따라 전술한 요구도 충족되며 다른 장점도 본 발명으로 성취된다. 한 형태에 있어서 본 발명은 데이타 프로세싱 시스템에서 점진적으로 프로그램가능한 비휘발성 메모리 및 그의 동작 방법으로 이루어진다. 시스템은 통신 버스, 통신 버스에 연결되고 하나 또는 그 이상의 부분으로 분할된 비휘발성 메모리와, 비휘발성 메모리의 어떤 부분(section)이 통신 버스에 결합되는가를 제어하기 위해 비휘발성 형태로 정보를 수신하고 저장하는 제어 수단으로 구성된다. 하나 또는 그 이상의 비휘발성 메모리의 각 부분들은 정보를 저장하기 위해 프로그램될 수 있지만, 비휘발성 메모리의 단 한 부분만이 한 시점에서 통신 버스와 기능적으로 결합된다. 비휘발성 메모리의 하나 또는 그 이상 부분들의 각각은 기능적으로 통신 버스에 한번만 연결될 수 있고, 그 결과로 기능적으로 통신 버스로부터 단 한번 분리될 수 있다.
[양호한 실시예의 설명]
이하, 첨부된 도면을 참조하여 본 발명에 대해 상세히 설명한다.
다음 설명의 양호한 실시예는 바이트 단위의 시스템으로 구성된 메모리 시스템을 가정한다. 즉, 여기서 설명된 메모리의 각 어드레스 지정가능 위치는 데이타의 1바이트 또는 8비트를 포함한다. 명백한 바와 같이, 많은 메모리 시스템들은 각 어드레스 지정가능 위치의 크기로 워드(2 바이트), 긴 워드(4 바이트) 또는 몇가지 다른 단위를 사유하여 다르게 구성된다. 따라서, 이하 설명에서 바이트 수에 관한 모든 언급은 단지 예로서 그리고 각 어드레스 지정가능 위치에 저장된 비트수에서 변화의 가능성을 포함하는 것으로서 해석되어져야 한다.
제1도는 데이타 프로세서(10)와 비휘발성 메모리(28)의 예를 도시한 블럭 다이어그램이다. 비록 양호한 실시예의 비휘발성 메모리(28)가 8 바이트의 OTP 메모리를 갖는다 하더라도, 본 발명은 다른 크기의 메모리 어레이(array)와, 예를 들어 ROM, E2PROM, EPROM, PROM, 퓨즈(fused) 링크 및 기타 다른 형태의 단 1회만 프로그램될 수 있는 비휘발성 메모리에 적용가능하다.
데이타 프로세서(10)는 통신 버스(32)에 양방향으로 연결된 중앙 처리 장치(CPU)(34)를 갖는다. 통신 버스(32)는 어드레스 버스(12)에 연결되고 데이타 버스(30)에는 양방향으로 연결된다. 데이타 버스(30)는 또한 비휘발성 메모리(28)에 양방향 연결된다. 비휘발성 메모리(28)는 로우 디코드(26) 및 칼럼 디코드(14)로부터 입력을 수신한다. 어드레스 버스(12)는 로우 디코드(27) 및 칼럼 디코드(14)에 연결된다. 어드레스 버스(12)와 데이타 버스(30)는 하나의 버스를 형성하기 위해 결합될 수 있다는 사실을 이해해야 한다. 예를 들어, 만약 1회 다중화(multiplexed)된 버스가 사용된다면, 데이타 사이클이 수행될 때 비휘발성 메모리(28)가 버스를 사용하고, 어드레스 사이클이 수행될 때 칼럼 디코더(14) 및 로우 디코더(27)가 버스를 사용하게 된다.
이하 더욱 상세하게 논의될 본 발명의 다른 형태에서, CPU(34)는 통산 버스(32), 어드레스 버스(12), 양방향 데이타 버스(30)를 사용하여 비휘발성 제어(24)와 통신할 수 있다. 이들 부가적 통신 패스(path)는 제1도에서 비휘발성 제어(24)를 데이타 버스(30) 및 어드레스 버스(12) 양쪽에 연결해주는 점선으로 표시된다. 부가적으로 이들 수행 변화는 로우 디코드(26) 및 비휘발성 제어(24)를 연결하는 데이타 패스(16; 선택 가능하다는 것을 나타내기 위해 제1도에 점선으로 표시됨)를 요구할 수도 하지 않을 수도 있다.
계속하여 제1도에서, CPU(34)는 통신 버스(32), 어드레스 버스(12) 및 양방향 데이타 버스(30)를 이용하여 비휘발성 메모리(28)와 통신할 수 있다. CPU(34)는 액세스(access)되는 비휘발성 메모리(28)의 어떤 바이트(들)을 선택하기 위해 통신 버스(32) 및 어드레스 버스(12)를 이용한다. CPU(34)는 통신 버스(32), 어드레스 버스(12)를 통해 액세스되는 바이트 또는 바이트들의 어드레스를 칼럼 디코드(14) 및 로우 디코더(26) 양쪽에 전송함으로써 그러한 선택을 한다. 그러면 칼럼 디코드(14)는 비휘발성 메모리(28)의 어느 칼럼이 선택되어질 것인가를 결정한다.
본 발명의 실시예에서, 칼럼 디코드는 단순히 모든 칼럼을 선택한다. 왜냐하면 비휘발성 메모리(28)는 단지 1 바이트의 범위이고 모든 칼럼은 전체 바이트를 선택하기 위해 매번 선택되어져야 하기 때문이다. 그러나, 비휘발성 메모리(28)가 1 바이트 범위 이상일 경우 칼럼 디코드(14)는 더 복잡해질 것이다. 왜냐하면 비휘발성 메모리(28)가 액세스 될 때 특정 칼럼만이 선택되어야 하기 때문이다.
로우 디코드(26)는 칼럼 디코드 보다 더 복잡하다. 로우 디코드(26) 및 비휘발성 제어(24)는 비휘발성 메모리(28)의 어떤 부분이 액세스되고 그 부분내의 어떤 바이트가 액세스되는가를 결정한다. 제조 공정중에 사용자에 의해 선택되는 마스크 옵션(도시되지 않음)은 메모리가 기능적으로 분할되는 부분의 수(the number-of sections)를 결정하기 위해 사용된다. 이런 마스크 옵션은 보통 데이타 프로세서(10)의 제조시에 금속층(도시되지 않음)에 있는 단순한 변화이다. 이런 마스크 옵션은 로우 디코드(26) 회로의 일부가 될 수 있고 칩 상의 다른 곳에 위치할 수도 있으며, 정보는 통신 버스(32) 및 어드레스 버스(12)를 통해 로우 디코드(26)로 전송될 수 있다.
비록 본 실시예에서 메모리가 기능적으로 분할되는 부분의 수를 결정하기 위해 마스크 옵션이 사용된다 하더라도, 메모리가 기능적으로 분할되는 부분의 수를 결정하는 값을 저장하기 위해 비휘발성 메모리를 대신 사용하는 것이 가능하다. 이 값은 ROM, EPROM, 1회 프로그래머블 메모리, 또는 EEPROM을 포함하여 임의의 형태의 비휘발성 메모리내에 프로그램될 수 있다.
CPU(34)는 통신 버스(32) 및 데이타 버스(30)를 이용하여 비휘발성 메모리(25)에 데이타를 기록하며 이는 비휘발성 메모리(28)가 프로그램되는 방법이다. 또한 CPU(34)는 통신 버스(32) 및 데이타 버스(30)를 이용하여 비휘발성 메모리(28)로부터 데이타를 판독하며, 이는 프로그램된 정보가 검색(retrieved)되는 방법이다.
제2(a)도 내지 제2(d)도를 참조하면, 비휘발성 메모리(28)가 여러 부분들로 분할될 수 있는 4 가지 방법을 도시한 4개의 블럭 다이어그램이 도시되어 있다. 제2(a)도의 옵션 A는 비휘발성 메모리(28)를 각 부분이 1 바이트를 포함하는 8개의 부분으로 분할하는 것을 나타낸다. 옵션 A는 사용자가 똑같은 1 바이트의 비휘발성 데이타를 어드레스 기억 장소($0 : 16 진수로 0)에서 8회까지 효과적으로 프로그램할 수 있도록 한다. 비록 사용자가 실제로는 비휘발성 메모리(28)내에 다른 바이트를 프로그램한다 할지라도, 사용자에게는 자신이 자신의 소프트웨어 프로그램에서 기억 장소($0)에 동일한 바이트의 메모리를 재프로그램하고 있다고 나타내어진다. 비휘발성 제어(24)는 어떤 바이트가 현재 정보를 포함하고 있으며 어떤 바이트가 아직 사용되지 않았는가를 추적한다. 옵션 B는 비휘발성 메모리(28)를 각 부분이 2 바이트를 포함하는 4 개의 부분으로 분할한다. 제2(b)도의 옵션 B는 사용자가 2 바이트의 비휘발성 데이타를 어드레스 기억 장소($0 및 $1)에서 4회까지 효과적으로 프로그램할 수 있게 한다. 제2(c)도의 옵션 C는 비휘발성 메모리(28)를 각부분이 4 바이트를 포함하는 2 부분으로 분할한다. 옵션 C는 사용자가 4 바이트의 비휘발성 데이타를 어드레스 기억 장소($0-$3)에서 2 회까지 효과적으로 프로그램할 수 있게 한다. 제2(d)도의 옵션 D는 비휘발성 메모리(28)를 8 바이트를 포함하는 하나의 전체 블럭으로 되게 한다. 옵션 D는 단지 사용자가 메모리를 어드레스 기억 장소($0-$7)에서 한번 프로그램할 수 있게 한다. 옵션 D는 대부분의 존재하는 비휘발성 메모리 어레이가 액세스되는 전형적인 방식이다.
사용자는 제조 공정시 마스크 옵션 금속층을 통해 원하는 옵션이 어느 것인지를 선택한다. 일단 옵션 A, B, C, D중의 하나 또는 논의되지 않은 다른 옵션이 제조 공정시에 선택되면, 옵션은 그 뒤에 변경될 수 없다. 그래서 본 발명을 이용한 소정의 데이타 프로세서(10) 설계에 의해 다수의 옵션들이 가능하지만 제조 공정시에 특정 칩을 위해 하나의 옵션만이 선택될 수 있다. 그리고 일단 옵션이 선택되면, 그 옵션은 특정한 칩의 회로의 일부가 된다. 그래서, 제품의 수명 동안에 1 바이트의 데이타를 수 회 재프로그램해야하는 사용자는 1 바이트를 8 회까지 재프로그램할 수 있게 하는 모두 옵션 A인 데이타 프로세서(10) 칩을 구매할 수 있다.
제3도를 참조하면, 제1도의 비휘발성 제어(24)는 NV0-NV7로 나타내어진 다수의 비휘발성 제어 비트들(20)을 포함한다. 비휘발성 메모리(28)에 있는 메모리의 로우마다 하나의 비휘발성 제어 비트가 존재한다. 비휘발성 제어 비트들(20)이 예를 들어 플라스틱 패키지내에 포함된 EPROM 비트처럼, 삭제될 수 없는 비트인 경우, 그것들은 어써트(asserted)된 상태(비최초 상태)로 단 1회 프로그램될 수 있다. 이런 비휘발성 제어 비트(20)는 동작중에 적어도 한번 하드웨어 또는 사용자에 의해 프로그램될 수 있는 임의의 형태의 비휘발성 메모리일 수 있다.
사용자가 각종 비휘발성 제어 비트들(20)을 직접 판독 또는 기록할 수 있는지의 여부는 소프트웨어로 얼마나 많은 실행이 행해지느냐 그리고 하드웨어로 얼마나 많은 실행이 행해지느냐에 달려있다. 만약 그 실행이 주로 하드웨어로 행해진다면, 사용자는 비휘발성 제어 비트(20)를 판독 또는 기록할 수 있어야할 필요가 없으므로 어드레스 버스(12) 및 데이타 버스(30)가 비휘발성 제어(24)에 연결될 필요가 없다. 그 대신, 로우 디코드(26)의 하드웨어는 기록이 행해지는 시점을 결정하고 이후 데이타 패스(path)(16)를 통해 비휘발성 제어(24)로 정보를 전송한다. 로우 디코드(26)로부터의 이런 정보는 다음 비휘발성 제어 비트(20)가 언제 어써트(asserted)되어야 하는지를 결정하기 위해 비휘발성 제어(24)에 의해 사용된다. 메모리 기억 장소를 기록한 직후에 똑같은 메모리 기억 장소를 다시 판독함으로써, 사용자는 메모리를 재프로그램하려는 그의 시도가 성공적인지 아닌지를 결정할 수 있다. 만약 가장 최근의 기록이 나타나지 않으면, 사용자는 메모리를 더 이상 재프로그램 할 수 없다는 사실을 알게된다.
그러나, 만약 그 실행이 주로 소프트웨어로 행해지면, 사용자는 비휘발성 제어 비트(20)를 기록할 필요가 있다. 따라서, 어드레스 버스(12) 및 데이타 버스(30)가 비휘발성 제어(24)에 연결되어야 한다. 기록이 행해지는 시점과 각 비휘발성 제어 비트(20)가 어써트(asserted)되어야 하는 시점을 결정하는 로우 디코드(26)의 하드웨어 대신에 사용자가 이런 일을 소프트웨어로 수행해야 한다. 사용자는 비휘발성 메모리(28)의 어떤 부분이 현재의 정보를 포함하고 있는지를 그리고 비휘발성 메모리(28)의 미사용 부분이 얼마나 많이 남아있는지를 추적해야만 한다.
만약 사용자가 비휘발성 제어 비트(20)를 기록하는 것과 마찬가지로 판독할 수 있다면, 이런 일은 소프트웨어로 크게 단순화된다. 비휘발성 제어 비트(20)의 단순한 판독은 사용자에게 필요한 정보를 제공한다. 로우 디코드(26)가 비휘발성 제어(26)로 어떤 정보도 전송할 필요가 없기 때문에, 이런 실행에 있어서 데이타 패스(path)(16)는 필요치 않다. 대신, 사용자는 비휘발성 메모리(28)의 새로운 부분이 프로그램되고 사용되는 경우에 적절한 비휘발성 제어 비트(20)를 기록 및 어써트(assert )한다.
그리고 세번째 가능한 실행에 있어서, 사용자는 하드웨어 및 소프트웨어의 조합(hybrid)을 사용할 수 있다. 사용자는 비휘발성 제어 비트(20)를 판독할 수 있어, 어드레스 버스(12) 및 데이타 버스(30)가 비휘발성 제어(24)에 연결되어야만 한다. 그러나 사용자는 아니고, 하드웨어는 적절한 비휘발성 제어 비트(20)의 어써션(assertion)을 처리한다. 주로 하드웨어 실행에서처럼, 로우 디코드(26)의 하드웨어는 기록이 행해지고 이어 정보가 데이타 패스(16)를 통해 비휘발성 제어(24)로 전송되는 시점을 결정한다. 로우 디코드(26)로부터의 이런 정보는 다음 비휘발성 제어 비트(20)가 어써트(assert)되어야 하는 시점을 결정하기 위하여 비휘발성 제어(24)에 의해 사용된다. 사용자는 미사용된 비휘발성 메모리(28)의 부분이 얼마나 많이 남아있는가를 결정하기 위해 비휘발성 제어 비트(20)의 값을 판독할 수 있다. 이것은 이하에서 논의되는 양호한 실시예에서 설명되는 실행이다.
제4도를 참조하면, 비휘발성 메모리(28)가 분할된 다수의 부분(옵션 A, B, C, D)들과, 다음에 프로그램되는 로우(들)(ROW0-ROW7)과 대응하는 비휘발성 제어 비트(20) 및 그들의 값들(NV0-NV7) 간의 관계를 나타낸 테이블이 도시되어 있다.
제3도 및 제4도를 참조하면, 사용자가 적절한 어드레스에 기록함으로써 비휘발성 메모리(28)를 프로그램할 때마다, 비휘발성 제어 비트(20)의 대응하는 하나의 비트는 하드웨어 회로에 의해 어써트(assert)된다. 예를 들어, 만약 옵션 A가 이용된다면, 사용자에 의한 어드레스 기억 장소($0)에서의 비휘발성 메모리(28)에 대한 첫번째 기록은 1 바이트의 데이타가 ROW0에 기록되도록 하며 비휘발성 제어 비트(NV0)가 어써트(assert)되도록 한다. 비휘발성 제어(24) 및 로우 디코드(26)는 판독을 위한 액세스를 행하는데 ROW0이 비휘발성 메모리(28)의 적절한 로우인지 그리고 ROW1이 기록을 위한 액세스를 행하는데 비휘발성 메모리(28)의 적절한 로우인지를 결정하기 위해 NV0가 어써트(asserted)된다는 사실을 이용한다. 그래서 어드레스 기억 장소($0)에서 비휘발성 메모리(28)에 대한 어떤 잇따르는 판독은 ROW0를 액세스(access)하고, 어드레스 기억 장소($0)에서 비휘발성 메모리(28)에 대한 어떤 잇따른 기록은 ROW1을 액세스한다.
사용자에 의한 어드레스 기억 장소($0)에로의 두번째 기록은 1 바이트의 데이타가 ROW1에 기록되도록 하고 비휘발성 제어 비트(NV1)가 어써트(assert)되도록 한다. 비휘발성 제어(24) 및 로우 디코드(26)는 ROW1이 판독을 위한 액세스를 행하는데 비휘발성 메모리(28)의 적절한 로우인지, 그리고 ROW2이 기록을 위한 액세스를 행하는데 비휘발성 메모리(28)의 적절한 로우인지를 결정하기 위해 NV0 및 NV1가 어써트된다는 사실을 이용한다. 어드레스 기억 장소($0)에서 비휘발성 메모리(28)에 대한 어떤 잇따른 판독은 ROW1을 액세스하고, 어드레스 기억 장소($0)에서 비휘발성 메모리(28)로의 어떤 잇따른 기록은 ROW2를 액세스한다.
상기 언급된 과정은 사용자에 의해 어드레스 기억 장소($0)로의 8번째 기록이 1 바이트의 데이타를 ROW7에 기록되도록 하고, 비휘발성 제어 비트(NV7)가 어써트되도록 할 때까지 계속된다. 어드레스 기억 장소($0)에서 비휘발성 메모리(28)에 대한 잇따른 판독은 ROW7을 액세스하지만, 잇따르는 기록은 아무런 효과가 없다.
사용자가 재프로그램할 메모리 공간이 부족한 시기를 미리 아는 것은 이점이 된다. 만약 사용자가 비휘발성 제어 비트(NV7)를 판독할 수 있다면, 사용자는 계속하여 메모리 기억 장소($0)를 재프로그램할 수 있는지의 여부를 지시하는 상태 플래그로서 비휘발성 제어 비트(NV7)를 이용할 수 있다. 일단 비휘발성 제어 비트(NV7)가 어써트되면, 사용자는 비휘발성 메모리(28)를 더 이상 재프로그램할 수 없다는 사실을 알게 된다. 또한, 만약 사용자 역시 다른 비휘발성 제어 비트(20)(NV0-NV7)에 저장된 값들을 판독할 수 있다면 그 사용자는 비휘발성 메모리(28)를 재프로그램하기 위해 남겨진 횟수를 결정할 수 있을 것이다.
본 실시예에 있어서, 사용자는 한 프로그래밍 순서(one programmin g sequence) 동안에 비휘발성 메모리(28)의 한 부분내에 모든 바이트를 프로그램해야 한다. 그 이유는 프로그래밍 순서의 마지막 단계가 대응하는 비휘발성 제어 비트(20)의 어써션(assertion) 단계이기 때문이다. 프로그래밍 순서 동안, 즉 대응하는 비휘발성 제어 비트(20)가 어써트되기 전에, 사용자는 사용하려고 하는 모든 바이트를 프로그램해야 한다. 예를 들어, 만약 옵션 B가 이용되고 사용자가 저장할 2 바이트의 정보를 갖는다면, 대응하는 비휘발성 제어 비트(20)가 어써트되기 전에 사용되는 어드레스 기억 장소($0) 및 어드레스 기억 장소($1) 양쪽에 데이타를 기록하고 갱신해야 한다. 만약 더 복잡한 디코딩이 한 블럭내에 어떤 바이트가 기록 되어겼는가를 추적하는데 이용된다면, 사용자는 그 바이트를 위한 새로운 데이타를 메모리의 다음 부분내에 실제로 기록할 때까지, 메모리의 선택 부분에서 나온 데이타를 계속 이용하는 것이 가능하다. 그러나, 융통성과 복잡성간의 교환(trade-off)에 있어서, 본 실시예는 덜 복잡함을 선택하고 데이타의 전부분이 동시에 갱신되어야 하는 것을 요구한다.
대부분의 응용이 시스템 작동 동안에 프로그램될 수 있는 비휘발성 메모리를 요구하는 것처럼 보이지만, 몇몇 응용은, 예를 들어 제조 공정 동안과 같은 앞선 시간(prior time)에 프로그램되는 메모리를 사용할 수 있다. 그런 응용의 일례로 제조 공정 동안에 한 세트의 안전 코드(security codes)를 갖고 프로그램되는 ROM이 있다. 비록 모든 안전 코드가 제조 공정 동안 프로그램된다 하더라도, 사용자는 본 발명을 본인이 액세스하고 사용하는 임의의 코드를 변화시키는데 이용할 수 있다. 비록 똑같은 소프트웨어 어드레스에서 다른 메모리의 부분들을 점진적으로 액세스함으로써 사용자가 시스템 작동에 앞서 비휘발성 메모리(28)를 모두 프로그램한다 하더라도, 그것은 마치 사용자가 메모리를 점진적으로 프로그램한 것처럼 사용자에게는 효과적으로 나타난다. 비록 ROM에 대한 기록이 ROM 그 자체에 대해 유효하지 않을지라도 기록 동작은 적절한 비휘발성 제어 비트(20)를 어써트(assert)하여 사용자가 다음 비휘발성 메모리(28) 부분을 액세스하도록 하는데 이용될 수 있다.
실제로 사용자가 비휘발성 메모리의 다른 부분들을 점진적으로 프로그램 또는 액세스할 시에, 지금까지는 사용자가 같은 메모리 기억 장소를 여러번 재프로그램할 수 있도록 보이기 위해 비휘발성 메모리가 여러 부분으로 분할되도록 하는 메카니즘 및 기술이 제공되어 있다. 본 발명은 비휘발성 메모리를 점진적으로 프로그램하는 방법 및 장치를 제공한다. 여기에 기술된 바와 같이 비휘발성 메모리의 점진적인 프로그래밍은 예를 들어, 마이크로 컨트롤러를 가진 플래스틱 패키지로 패키지화된 EPROM이 선택된 횟수만큼 재프로그램할 수 있도록 사용자에게 나타내 보이는 것처럼 많은 이용분야를 가진다.
특히 본 발명은 값이 바고 제한된 횟수만큼 효과적으로 재프로그램될 수 있는 비휘발성 메모리를 요구하는 마이크로 컨트롤러 실행에 유용하다. 상기 기술된 방법 및 장치는 제품 생산에 마이크로 컨트롤러를 이용하는 제조업자로 하여금 제품의 수명 동안에 여러번 갱신되는 비휘발성 메모리를 요구하는 실행을 위해 값비싼 세라믹 패키지 보다는 값싼 플라스틱 패키지를 이용하도록 한다. 특히 본 발명은 자동차 컨트롤 시스템 스마트 신용카드, 큰 기구(appliances) 및 몇번에 걸쳐 약간의 변형(modification) 또는 조정(adjustment)을 요구하는 가상의 기타 다른 제품 들의 대용량 집적 전자 회로 구현에 유용하다.
또한, 본 발명은 메모리 용장성을 구현하는데 사용될 수 있다. 예를 들어, 만약 비휘발성 메모리가 하나 이상의 비트 결합(bit failure)을 갖는다면, 메모리는 부분들로 분할될 수 있고 비트 결합을 포함한 메모리 부분은 사용되지 않는다.
비휘발성 제어 비트(20)는 어떤 메모리 부분이 이용될 수 있고 어떤 메모리 부분이 이용될 수 없는지를 추적하기 위해 사용된다. 그 이유는 그 부분이 예전에 사용되거나 또는 그 부분이 비트 결함을 포함하기 때문이다.
본 발명이 특정한 실시예에 관하여 기술되어 있지만 더 많은 변형이나 개량이 동기술에 숙련된 사람에게 가능할 것이다. 예를 들어 데이타 프로세서(10)가 하나의 반도체 칩상에 포함될 수도 있고 포함되지 않을 수도 있다. 여러가지 버스들은 직렬 또는 병렬처림 다른 크기 및 형태일 수 있다. 비휘발성 메모리(28)는 비휘발성 메모리의 다른 형태이거나 또는 치수가 다른 크기일 수 있다. 따라서, 본 발명은 도시된 특정한 형상에 국한되지 않고, 본 발명의 사상과 범주에서 벗어나지 않는 모든 변형을 청구범위에서 커버(cover)하려는 사실을 이해할 것이다.

Claims (9)

  1. 비휘발성 메모리에 있어서, 어드레스 버스; 데이터 버스; 상기 데이터 버스에 연결되고, 제 1 메모리 어드레스를 갖는 다수의 기억 회로들; 상기 어드레스 버스 및 상기 다수의 기억 회로들에 연결되는 디코드 회로; 제 1 제어 값을 기억하기 위한 제 1 제어 회로로서, 상기 다수의 기억 회로들중 제 1 기억 회로에 대응하는, 상기 제 1 제어 회로; 제 2 제어 값을 기억하기 위한 제 2 제어 회로로서, 상기 다수의 기억 회로들중 제 2 기억 회로에 대응하는, 상기 제 2 제어 회로; 메모리 액세스중에 제 1 메모리 어드레스를 수신하며, 제 1 제어 값이 제 1 값이고 제 2 제어 값이 제 2 값이며 메모리 액세스가 판독 액세스인 경우에 상기 다수의 기억 회로들중 제 1 기억 회로를 선택하고, 또한 제 1 제어 값이 제 1 값이고 제 2 제어 값이 제 2 값이며 메모리 액세스가 기록 액세스인 경우 메모리 액세스중에 상기 다수의 기억 회로들중 제 2 기억 회로를 선택하기 위한 회로 수단으로서, 상기 어드레스 버스, 상기 다수의 기억 회로들 상기 디코드 회로, 상기 제 1 제어 회로 및 상기 제 2 제어 회로에 연결되는, 상기 회로 수단을 포함하는 비휘발성 메모리.
  2. 데이터 처리 시스템에서 비휘발성 메모리를 프로그래밍하기 위한 방법으로서, 상기 데이터 처리 시스템은 비휘발성 메모리에 연결된 통신 버스 및 통신 버스에 연결된 중앙 처리 유닛을 가지며, 상기 비휘발성 메모리는 통신 버스에 연결된 제 1 기억 회로 및 제 2 기억 회로를 갖는, 상기 방법에 있어서, 상기 비휘발성 메모리의 제 1 메모리 어드레스에 대해 제 1 기록 액세스를 실행하는 단계로서, 상기 제 1 메모리 어드레스를 통신 버스로부터 비휘발성 메모리로 이송하는 단계, 다수의 제어 비트들에 기초하여 제 1 기억 회로를 선택하는 단계 통신 버스로부터 제 1 데이터 값을 제 1 기억 회로로 이송하는 단계 제 1 데이터 값을 제 1 기억 회로에 기억하고 제 2 기억 회로에는 기억하지 않는 단계, 및 다수의 제어 비트들중 제 1 제어 비트를 어써팅(asserting)하는 단계를 포함하는, 상기 제 1 기록 액세스 실행 단계; 비휘발성 메모리의 상기 제 1 메모리 어드레스로부터 제 1 판독 액세스를 실행하는 단계로서, 통신 버스로부터 상기 제 1 메모리 어드레스를 비휘발성 메모리로 이송하는 단계, 다수의 제어 비트들에 기초하여 제 1 기억 회로를 선택하는 단계, 및 제 1 기억 회로로부터 제 1 데이터 값을 통신 버스로 이송하는 단계를 포함하는 상기 제 1 판독 액세스 실행 단계; 및 비휘발성 메모리의 상기 제 1 메모리 어드레스에 대해 제 2 기록 액세스를 실행하는 단계로서, 통신 버스로부터 상기 제 1 메모리 어드레스를 비휘발성 메모리로 이송하는 단계, 다수의 제어 비트들에 기초하여 제 2 기억 회로를 선택하는 단계, 통신 버스로부터 제 2 데이터 값을 제 2 기억 회로로 이송하는 단계, 제 2 데이터 값을 제 2 기억 회로에 기억하고 제 1 기억 회로에는 기억하지 않는 단계 및 다수의 제어 비트들중 제 2 제어 비트를 어써팅하는 단계를 포함하는 상기 제 2 기록 액세스 실행 단계를 포함하는 비휘발성 메모리 프로그래밍 방법.
  3. 비휘발성 메모리에 있어서, 어드레스 버스; 데이터 버스; 제 1 메모리 어드레스를 통해 액세스되고 상기 데이터 버스에 연결되는 제 1 기억회로; 상기 데이터 버스에 연결되고, 제 1 메모리 어드레스를 통하여 액세스되는 제 2 기억 회로, 및 메모리 액세스중에 제 1 메모리 어드레스를 수신하고 메모리 액세스가 판독 액세스인 경우 상기 제 1 기억 회로를 선택하고 메모리 액세스가 기록 액세스인 경우 상기 제 2 기억 회로를 선택하는 회로 수단으로서, 상기 어드레스 버스와 상기 제 1 및 제 2 기억 회로에 연결되는, 상기 회로 수단을 포함하는 비휘발성 메모리.
  4. 제3항에 있어서, 상기 회로 수단은; 상기 제 1 기억 회로에 대응하는 제 1 상태 회로로서, 제 1 데이터 값이 상기 제 1 기억 회로에 기록되기 전에 제 1 상태 값을 기억하며, 제 1 데이터 값이 상기 제 1 기억 회로에 기록된 후에 제 2 상태 값을 기억하는. 상기 제 1 상태 회로; 상기 제 2 기억 회로에 대응하는 제 2 상태 회로로서 제 2 데이터 값이 상기 제 2 기억 회로에 기록되기 전에 제 1 상태 값을 기억하며, 제 2 데이터 값이 상기 제 2 기억 회로에 기록된 후에 제 2 상태 값을 기억하는, 상기 제 2 상태 회로; 및 상기 제 1 및 제 2 상태 회로에 연결되고, 제 1 메모리 어드레스의 적어도 일부를 디코딩하는 디코딩 회로를 포함하는 비휘발성 메모리.
  5. 제4항에 있어서, 상기 제 1 및 제 2 상태 회로는 상기 통신 버스에 연결되며, 상기 중앙 처리유닛에 의해 판독되고 기록될 수 있는 비휘발성 메모리.
  6. 제4항에 있어서, 상기 제 1 및 제 2 상태 회로는 제 2 값으로부터 제 1 값으로 단 1회 전이(transition)할 수 있는 비휘발성 메모리.
  7. 제3항에 있어서, 상기 비휘발성 메모리는 OPT(One Time Programmable) 메모리인 비휘발성 메모리.
  8. 집적 회로에 있어서, 상기 회로는 중앙 처리 장치, 상기 중앙 처리 장치에 연결된 통신 버스, 및 상기 통신 버스에 연결된 비휘발성 메모리를 구비하고 상기 비휘발성 메모리는; 상기 통신 버스에 연결되며, 제 1 메모리 어드레스를 통하여 액세스되는 제 1 기 억 회로; 상기 통신 버스에 연결되며, 제 1 메모리 어드레스를 통하여 액세스되는 제 1 기억 회로; 및 상기 제 1 및 제 2 기억 회로에 연결되어, 메모리 액세스중에 제 1 메모리 어드레스를 수신하며, 메모리 액세스가 판독 액세스일 경우 상기 제 1 기억 회로를 선택하고, 메모리 액세스가 기록 액세스일 경우 상기 제 2 기억 회로를 선택하는 회로 수단을 포함하는 집적 회로.
  9. 제8항에 있어서, 상기 회로 수단은; 상기 제 1 기억 회로에 대응하는 제 1 상태 회로로서 제 1 데이터 값이 상기 제 1 기억 회로에 기록되기 전에 제 1 상태 값을 기억하며 제 1 데이터 값이 상기 제 1 기억 회로에 기록된 후에 제 2 상태 값을 기억하는 상기 제 1 상태 회로; 상기 제 2 기억 회로에 대응하는 제 2 상태 회로로서, 제 2 데이터 값이 상기 제 2 기억 회로에 기록되기 전에 제 1 상태 값을 기억하며, 제 2 데이터 값이 상기 제 2 기억 회로에 기록된 후에 제 2 상태 값을 기억하는, 상기 제 2 상태 회로, 및 상기 제 1 및 제 2 상태 회로에 연결되고, 제 1 메모리 어드레스의 적어도 일부를 디코딩하는 디코딩 회로를 포함하는 집적 회로.
KR1019920010008A 1991-08-02 1992-06-10 점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법 KR100274099B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73937091A 1991-08-02 1991-08-02
US739,370 1991-08-02

Publications (2)

Publication Number Publication Date
KR930005032A KR930005032A (ko) 1993-03-23
KR100274099B1 true KR100274099B1 (ko) 2001-01-15

Family

ID=24971973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920010008A KR100274099B1 (ko) 1991-08-02 1992-06-10 점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법

Country Status (5)

Country Link
US (1) US5390317A (ko)
EP (1) EP0526221B1 (ko)
JP (1) JPH05189987A (ko)
KR (1) KR100274099B1 (ko)
DE (1) DE69230773T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100826058B1 (ko) * 2006-12-07 2008-04-28 리디스 테크놀로지 인코포레이티드 유기발광장치의 구동용 집적회로 및 그의 구동방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69230642T2 (de) * 1991-11-12 2001-05-23 Microchip Technology Inc., Chandler Automatischer programmierungs-mikrokontroller mit gespeichertem befehl zur programm-steuerung von externem speicher und verfahren
US6009370A (en) * 1993-07-26 1999-12-28 Hitachi, Ltd. Control unit for vehicle and total control system therefor
EP0929075B1 (en) * 1996-09-26 2003-08-20 Mitsubishi Denki Kabushiki Kaisha Synchronous type semiconductor memory device
US6292868B1 (en) * 1996-10-15 2001-09-18 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory
US6134628A (en) * 1998-01-30 2000-10-17 Ricoh Company, Ltd. Method and computer-based system for rewriting a nonvolatile rewritable memory
EP0935195A2 (en) 1998-02-06 1999-08-11 Analog Devices, Inc. "An integrated circuit with a high resolution analog-to-digital converter, a microcontroller and high density memory and an emulator for an integrated circuit
US6701395B1 (en) 1998-02-06 2004-03-02 Analog Devices, Inc. Analog-to-digital converter that preseeds memory with channel identifier data and makes conversions at fixed rate with direct memory access
US6385689B1 (en) 1998-02-06 2002-05-07 Analog Devices, Inc. Memory and a data processor including a memory
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
US7681043B1 (en) * 2002-05-08 2010-03-16 Broadcom Corporation System and method for configuring device features via programmable memory
US7810152B2 (en) * 2002-05-08 2010-10-05 Broadcom Corporation System and method for securely controlling access to device functions
US6421765B1 (en) * 1999-06-30 2002-07-16 Intel Corporation Method and apparatus for selecting functional space in a low pin count memory device
US6400603B1 (en) * 2000-05-03 2002-06-04 Advanced Technology Materials, Inc. Electronically-eraseable programmable read-only memory having reduced-page-size program and erase
JP4005950B2 (ja) * 2003-06-30 2007-11-14 富士通株式会社 マイクロコントローラ
TWI262507B (en) * 2005-05-19 2006-09-21 Ememory Technology Inc Method for accessing memory
JP5028967B2 (ja) * 2006-11-15 2012-09-19 富士通セミコンダクター株式会社 半導体記憶装置および半導体記憶装置の制御方法
JP2010231872A (ja) * 2009-03-30 2010-10-14 Toppan Printing Co Ltd 不揮発性半導体メモリ装置
JP5347649B2 (ja) * 2009-03-30 2013-11-20 凸版印刷株式会社 不揮発性半導体メモリ装置
US8261011B2 (en) * 2009-10-29 2012-09-04 Freescale Semiconductor, Inc. One-time programmable memory device and methods thereof
EP2343662B1 (en) * 2009-12-18 2014-09-10 ST-Ericsson (France) SAS Method of and apparatus for storing data
FR2986889B1 (fr) * 2012-02-09 2014-10-17 Thales Sa Systeme de paiement, terminal de paiement de ce systeme, et procede de paiement associe
US9262259B2 (en) * 2013-01-14 2016-02-16 Qualcomm Incorporated One-time programmable integrated circuit security
US10152262B2 (en) * 2016-05-03 2018-12-11 Micron Technology, Inc. Memory access techniques in memory devices with multiple partitions
TWI831312B (zh) * 2022-07-29 2024-02-01 大陸商北京集創北方科技股份有限公司 燒錄控制電路、單次可編程記憶體裝置、電子晶片及資訊處理裝置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3934227A (en) * 1973-12-05 1976-01-20 Digital Computer Controls, Inc. Memory correction system
JPS6151695A (ja) * 1984-08-22 1986-03-14 Hitachi Ltd 半導体集積回路装置
US4752871A (en) * 1985-09-30 1988-06-21 Motorola, Inc. Single-chip microcomputer having a program register for controlling two EEPROM arrays
US5175840A (en) * 1985-10-02 1992-12-29 Hitachi, Ltd. Microcomputer having a PROM including data security and test circuitry
DE3640238A1 (de) * 1985-11-30 1987-06-25 Toshiba Kawasaki Kk Tragbare elektronische vorrichtung
JPS62279598A (ja) * 1986-05-28 1987-12-04 Fujitsu Ltd 読出し専用メモリ
US4745604A (en) * 1986-10-20 1988-05-17 International Business Machines Corporation Method and apparatus for transferring data between a host processor and a data storage device
US4811287A (en) * 1986-10-27 1989-03-07 United Technologies Corporation EEPROM mounting device
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
US4903265A (en) * 1987-11-12 1990-02-20 Motorola, Inc. Method and apparatus for post-packaging testing of one-time programmable memories
JPH01152311A (ja) * 1987-12-09 1989-06-14 Nissan Motor Co Ltd 車両用電子式オドトリップメータ
US4975878A (en) * 1988-01-28 1990-12-04 National Semiconductor Programmable memory data protection scheme
FR2629248B1 (fr) * 1988-03-25 1992-04-24 Sgs Thomson Microelectronics Procede de test de memoire a programmation unique et memoire correspondante
JPH0682324B2 (ja) * 1988-05-23 1994-10-19 三菱電機株式会社 半導体集積回路装置
JP2698834B2 (ja) * 1988-11-22 1998-01-19 株式会社日立製作所 不揮発性記憶装置
JPH0812646B2 (ja) * 1989-03-03 1996-02-07 三菱電機株式会社 半導体集積回路
US5202994A (en) * 1990-01-31 1993-04-13 Hewlett-Packard Company System and method for shadowing and re-mapping reserved memory in a microcomputer
US5199032A (en) * 1990-09-04 1993-03-30 Motorola, Inc. Microcontroller having an EPROM with a low voltage program inhibit circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100826058B1 (ko) * 2006-12-07 2008-04-28 리디스 테크놀로지 인코포레이티드 유기발광장치의 구동용 집적회로 및 그의 구동방법

Also Published As

Publication number Publication date
EP0526221A1 (en) 1993-02-03
JPH05189987A (ja) 1993-07-30
DE69230773D1 (de) 2000-04-20
EP0526221B1 (en) 2000-03-15
DE69230773T2 (de) 2000-11-02
US5390317A (en) 1995-02-14
KR930005032A (ko) 1993-03-23

Similar Documents

Publication Publication Date Title
KR100274099B1 (ko) 점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US8797798B2 (en) Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6034889A (en) Electrically erasable and programmable non-volatile memory having a protectable zone and an electronic system including the memory
US5890191A (en) Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
US8417902B2 (en) One-time-programmable memory emulation
EP0704801A2 (en) Memory architecture for solid state disc
KR20030011230A (ko) 비휘발성 기억 장치 및 그의 재기입 제어 방법
GB2420891A (en) Non-volatile memory initialisation by a controller loading firmware from the non-volatile memory to volatile memory attached to a processor
US5991194A (en) Method and apparatus for providing accessible device information in digital memory devices
US4949240A (en) Data storage system having circuitry for dividing received data into sequential wards each stored in storage region identified by chain data
US7680976B2 (en) Method and apparatus for emulating rewritable memory with non-rewritable memory in an MCU
US7362645B2 (en) Integrated circuit fuses having corresponding storage circuitry
US5226015A (en) Semiconductor memory system
US5261110A (en) System for performing writes to non-volatile memory elements in a minimal time
JPS63106996A (ja) 半導体集積回路装置
US5313650A (en) System for performing writes to non-volatile memory elements in a minimal time
CN117573155B (zh) 产品信息处理方法及芯片
EP0505051A1 (en) Data storage system with intrinsic burst detection
JPS5987568A (ja) Icカ−ド
KR960000771Y1 (ko) 뱅크절환기능을 갖춘 불휘발성 반도체 기억장치
CN116206659A (zh) 一种otp存储器
JPH1091490A (ja) フラッシュメモリを利用した記憶装置
JPH09319725A (ja) Epromマイコン
JPH07334353A (ja) マイコン装置

Legal Events

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

Payment date: 20050722

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee