KR100255568B1 - 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터 - Google Patents

재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터 Download PDF

Info

Publication number
KR100255568B1
KR100255568B1 KR1019970013004A KR19970013004A KR100255568B1 KR 100255568 B1 KR100255568 B1 KR 100255568B1 KR 1019970013004 A KR1019970013004 A KR 1019970013004A KR 19970013004 A KR19970013004 A KR 19970013004A KR 100255568 B1 KR100255568 B1 KR 100255568B1
Authority
KR
South Korea
Prior art keywords
address
area
nonvolatile memory
data
circuit
Prior art date
Application number
KR1019970013004A
Other languages
English (en)
Other versions
KR970071274A (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
Priority claimed from JP8088401A external-priority patent/JPH09282302A/ja
Priority claimed from JP8102535A external-priority patent/JPH09293063A/ja
Application filed by 다카노 야스아키, 산요 덴키 가부시키가이샤 filed Critical 다카노 야스아키
Publication of KR970071274A publication Critical patent/KR970071274A/ko
Application granted granted Critical
Publication of KR100255568B1 publication Critical patent/KR100255568B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/1441Protection 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 range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Abstract

어드레스 영역 A에는 어드레스 영역 B의 데이타 재기록 프로그램이 기입되어 있고, 어드레스 영역 A는 외부의 PROM 라이터에 의해 재기록 가능하다. 마이크로컴퓨터를 리셋하여 어드레스 영역 A의 프로그램을 재기록한 후에 리셋 해제후, EEPROM(1)의 어드레스 영역 A의 최종 어드레스를 레지스터(17)에 저장한다. 그리고, 어드레스 금지 회로(18)가 레지스터(17)에 저장되어 있는 어드레스 값에 기초하여 어드레스 영역 A의 재기록을 금지한다.

Description

재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터
본 발명은 플래시 메모리(EEPROM)를 내장하는 마이크로컴퓨터에 관한 것이다.
1칩 마이크로컴퓨터란 프로그램 메모리(불휘발성 메모리)를 동일 칩상에 집적화한 것이다. 상기 프로그램 메모리에는, 마스크 ROM, EPROM, EEPROM 등이 사용된다.
1) 마스크 ROM 내장의 경우
여러장의 마스크를 일단 제조하면, 양산 효율을 향상시킬 수 있고 또한 칩면적을 작게 할 수 있는 이점이 있다. 그러나, 프로그램 변경이 요구되면, 여러장의 마스크를 다시 제조할 필요가 있어 많은 제조 시간을 요하여 상기 요구에 신속하게 대응할 수 없는 결점이 있다.
2) EPROM 내장의 경우
현(現) 데이타를 자외선 소거한 후에 신(新) 데이타를 기록함으로써, 프로그램 변경에 신속하게 대응할 수 있는 이점이 있다. 그러나, 현 데이타가 전부 자외선 소거되어버려 소거가 필요없던 동일 데이타를 다시 기록해야만 하는 결점이 있다.
3) EEPROM 내장의 경우
현 데이타를 전기적으로 소거한 후에 신 데이타를 기록함으로써, 프로그램 변경에 신속하게 대응할 수 있는 이점이 있다. 또한, 현 데이타를 부분적으로 소거할 수 있기 때문에, 소거가 불필요한 데이타를 그대로 남길 수 있다.
그런데, 최근의 1칩 마이크로컴퓨터는 상기 각 불휘발성 메모리의 이점을 이용하여, EEPROM을 내장하는 경향이 높다. 상기 EEPROM은 1칩 마이크로컴퓨터의 동작 제어를 위한 프로그램 메모리로서 사용된다.
여기서, 상기 EEPROM의 어드레스 영역내의, 제1 어드레스 영역은 데이타 재기록이 행하여지지 않는 마스크 ROM과 동등하게 취급되는 영역으로 하고, 나머지 제2 어드레스 영역은 필요에 따라 데이타 재기록이 행하여지는 영역으로 한다.
그런데, 상기 EEPROM은 기록이 종료된 데이타를 전기적으로 소거할 수 있는 특성을 갖고 있다. 그러나 제1 어드레스 영역은 마스크 ROM과 동등하게 취급되기 때문에, 1칩 마이크로컴퓨터의 동작시에 있어서 제1 어드레스 영역의 데이타가 소거되는 오동작은 금지할 필요가 있다.
따라서, 외부 기기와 상기 1칩 마이크로컴퓨터를 접속하고, 상기 외부 기기로부터 상기 1칩 마이크로컴퓨터에 상기 EEPROM의 제1 어드레스 영역의 어드레스 데이타를 공급했을 경우, 상기 EEPROM의 제1 어드레스 영역의 프로그램이 일부 변경되고, 이 결과 상기 1칩 마이크로컴퓨터가 오동작하는 문제가 있었다.
또한, 외부 기기의 종류에 따라서는, 상기 EEPROM의 제1 어드레스 영역을 확대하지 않으면 상기 1칩 마이크로컴퓨터를 적용할 수 없는 경우가 있다. 따라서, 상기 1칩 마이크로컴퓨터의 적용 범위가 제한되어버리는 문제가 있었다.
미리 설정되어 있지 않은 외부 기기를 추가하여 접속 가능하게 할 경우에는, 그 외부 기기와의 접속을 가능하게 하기 위해 제1 어드레스 영역을 확대하고, 추가할 외부 기기를 위한 프로그램을 제2 어드레스 영역에 기록하기 위한 프로그램을 추가하지 않으면 않된다. 그래서, 이 추가한 프로그램에 의해 제2 어드레스 영역에 추가한 외부 기기를 이용하여 동작하는 동작 프로그램이 기록된다.
본 발명은 불휘발성 메모리에서의 재기록 금지 영역의 설정을 가변할 수 있는 마이크로컴퓨터를 제공하는 것을 목적으로 한다.
또한, 본 발명은 불휘발성 메모리의 재기록 금지 영역이 설정되어 있지 않을 경우에도, 불휘발성 메모리의 잘못된 재기록을 방지할 수 있는 마이크로컴퓨터를 제공하는 것을 목적으로 한다.
제1도는 본 발명의 마이크로컴퓨터를 도시하는 블록도.
제2도는 제1도의 마이크로컴퓨터의 동작을 도시하는 타이밍차트.
* 도면의 주요부분에 대한 부호의 설명
1 : EEPROM 11 : 메모리 제어 회로
14 : RS 플립플롭 15 : 하강 검출 회로
16, 19 : AND 게이트 17 : 레지스터
18 : 어드레스 검출 회로
본 발명에 따른 마이크로컴퓨터는 데이타를 반복 기록 및 판독할 수 있음과 동시에, 기록이 끝난 데이타를 전기적으로 소거할 수 있는 불휘발성 메모리를 갖고 있다. 그리고, 상기 불휘발성 메모리는, 제1 영역과 제2 영역을 포함하고, 제1 영역에는 제2 영역의 데이타 영역에 저장되어 있는 데이타를 재기록하기 위한 프로그램이 저장되어 있다. 그리고, 마이크로컴퓨터는 상기 제1 영역을 재기록 금지 상태로 함과 동시에, 이 재기록 금지의 제1 영역의 크기를 가변으로 한다. 따라서, 외부의 PROM 라이터(writer) 등에 의해 제1 영역에 저장하고 있는 프로그램을 자유로이 재기록할 수 있다.
이와 같이, 본 발명에 의하면, 외부 기기와 마이크로컴퓨터를 접속하고, 마이크로컴퓨터에 내장된 불휘발성 메모리의 제1 영역의 어드레스가 외부 기기로부터 지정된 경우에도 불휘발성 메모리의 제1 영역의 데이타가 재기록되어버리는 것을 방지할 수 있다.
또한, 인터페이스되는 외부 기기의 종류에 따라 마이크로컴퓨터에 내장된 불휘발성 메모리의 제1 영역의 크기를 변경할 수 있고, 마이크로컴퓨터의 제공 범위가 확대되어 범용성이 향상한다.
또, 제1 영역의 범위에 대한 데이타를 저장하는 레지스터를 갖고, 메모리 제어 회로는, 이 레지스터의 저장 내용에 따라 상기 불휘발성 메모리에 대한 재기록 금지를 제어하면 된다. 이로써, 제1 영역의 크기의 변경이 있어도 그 후 잘못된 제1 영역의 재기록을 방지할 수 있다.
통상, 불휘발성 메모리의 재기록은 마이크로컴퓨터가 리셋 상태나 홀드 상태일 경우 등에서, 외부로부터 PROM 라이터 등에 의해 불휘발성 메모리에 직접 액세스하여 행하여진다. 또한, 마이크로컴퓨터의 리셋 상태 등이 해제되었을 때에는, 라이트 신호가 발생된다. 그래서, 라이트 신호에 의해 레지스터에 제1 영역의 최종 어드레스 등을 저장하고 있는 것으로써, 상술의 제1 영역의 재기록 금지를 제어할 수 있다. 또한, 리셋 신호에 의해서 세트되고, 라이트 신호에 의해 리셋되는 플립플롭을 설치하면, 이 플립플롭의 상태에 의해 레지스터의 내용의 세트가 행하여졌는가의 여부를 판정할 수 있다. 그래서, 레지스터에 데이타의 세트가 되어 있지 않은 경우, 불휘발성 메모리의 전체를 재기입 금지로 하여, 불휘발성 메모리의 제1 영역의 잘못된 재기록을 방지할 수 있다.
특히 본 발명에 의하면, 마이크로컴퓨터의 리셋 해제 후, 어떤 요인에 의해 어드레스 검출 회로에 불휘발성 메모리의 제1과 제2 영역의 경계를 나타내는 데이타가 설정되어 있지 않을 경우에도 불휘발성 메모리의 데이타 재기록을 금지할 수 있다. 따라서, 이와 같은 경우에서의 불휘발성 메모리의 잘못된 재기록을 방지할 수 있다.
본 발명의 구체적인 내용을 도면을 참조하여 구체적으로 설명한다.
제1도는 본 발명의 마이크로컴퓨터를 도시하는 회로 블록도로서, 1칩상에 집적화된다. 제2도는 제1도의 동작을 설명하기 위한 타이밍차트이다.
제1도에 있어서, 참조 부호 1은 EEPROM이다. EEPROM(1)은, 데이타를 반복 기록 및 판독할 수 있음과 동시에 기록이 종료된 데이타를 전기적으로 소거할 수 있는 불휘발성 메모리이다. EEPROM(1)의 어드레스 영역 A는 나머지 어드레스 영역 B의 데이타 재기록용 프로그램 영역으로 할당되고, 어드레스 영역 B는 1칩 마이크로컴퓨터의 동작 제어 등을 위한 데이타 영역으로 할당된다. EEPROM(1)은, 어드레스 데이타가 인가되는 단자 AD와, 기록 데이타가 인가되는 단자 DIN과, 판독 데이타가 출력되는 단자 DOUT와, 기록 모드 설정 신호가 인가되는 단자 WE를 갖고 있다. 또한, EEPROM(1)의 어드레스 영역 A의 프로그램은, 외부 PROM 라이터(도시하지 않음)로부터 EEPROM(1)으로 데이타를 공급함으로써 용이하게 변경할 수 있어서 프로그램 변경에 신속하게 대응할 수 있다.
참조 번호 2는 CPU로서, EEPROM(1)의 단자 DOUT로부터의 판독 데이타에 기초하여 동작하는 것이다. CPU(2)는, 프로그램 카운터(3)와, 인스트럭션 레지스터와, 인스트럭션 디코더와, 연산 논리 유닛 등, 논리 동작을 실행하는데 필요한 구성을 포함하도록 한다.
참조 부호 4는 래치 회로이며, EEPROM(1)의 어드레스 데이타의 비트수 m과 같은 개수만큼 설치된다. 래치회로(4)의 L단자는 어드레스 버스(5) m개를 통해 CPU(2)의 어드레스 단자와 병렬 접속되고, C단자는 CPU(2)의 클럭 단자와 공통 접속된다. 즉, 래치 회로(4)는 클럭 CK0에 동기하여 어드레스 데이타를 래치한다.
참조 부호 6은 래치 회로로, EEPROM(1)의 1바이트의 비트수 n과 같은 개수 만큼 설치된다. 래치 회로(6)의 L단자는 데이타 버스(7) n개를 통해 CPU(2)의 데이타 단자와 병렬 접속되고, C단자는 CPU(2)의 다른 클럭 단자와 공통 접속되며, Q단자는 EEPROM(1)의 단자 DIN과 접속된다. 즉, 래치 회로(6)는 클럭 CK1에 동기하여 기록 데이타를 래치함과 동시에 EEPROM(1)으로 공급한다.
AND 게이트(8,9) 및 OR 게이트(10)는 전환 회로를 구성한다. 이 전환 회로는, 래치 회로(4)와 같은 개수 m만큼 설치된다. AND 게이트(8)의 한쪽 입력 단자는 프로그램 카운터(3)의 출력 단자와 접속되며, AND 게이트(9)의 한쪽 입력 단자는 래치 회로(4)의 Q단자와 접속되고, OR 게이트(10)의 출력 단자는 EEPROM(1)의 단자 AD와 접속된다. 즉, 전환 회로는 후술하는 선택 신호 SELECT에 따라, 프로그램 카운터(3)나 래치 회로(4)중 어느 한쪽의 어드레스 데이타를 EEPROM(1)에 공급한다.
참조 부호 11은 메모리 제어 회로이다. EEPROM(1)으로부터 어드레스 영역 B의 데이타 재기록을 개시하는 프로그램 명령이 판독되었을 때, CPU(2)는 이 프로그램 명령을 해독하여 스타트 펄스 START를 출력한다. 메모리 제어 회로(11)는 스타트 펄스 START의 하강을 검출하고, 여기서부터 시간 T1만큼 경과한 후에 시간 T2 만큼 로우 레벨로 되는 모드 제어 신호 MODE를 출력하여 EEPROM(1)의 단자 WE로 공급한다. 따라서, EEPROM(1)은 모드 제어 신호 MODE가 로우 레벨로 되는 기간 T2만큼 기록 모드로 설정된다. 또한, 기간 T2는 EEPROM(1)이 지정된 어드레스에 데이타를 기록하기 위해 필요 충분한 시간으로 설정되어 있다. 메모리 제어 회로(11)는 모드 제어 신호 MODE의 상승을 검출하고, 엔드 펄스 END를 출력한다. 메모리 제어 회로(11)는 스타트 펄스 START의 하강으로부터 엔드 펄스 END의 하강까지의 기간만큼, 로우 레벨로 되는 선택 신호 SELECT를 출력한다. 따라서, 상기 전환회로는 선택 신호 SELECT가 로우 레벨이 되는 기간만큼 프로그램 카운터(3)의 출력을 차단하여 래치 회로(4)의 출력을 EEPROM(1)의 단자 AD로 공급한다.
참조 부호 12는 CPU 제어 회로이다. EEPROM(1)의 1 명령의 실행 시간은 μsec 단위이지만, EEPROM(1)의 데이타 기록 시간은 msec 단위로 매우 길다. 그래서, EEPROM(1)이 기록 모드로 되는 기간 T2에는 CPU(2)가 EEPROM(1)의 단자 DOUT의 부정 출력의 영향을 받는 것을 금지하고, 프로그램 카운터(3)의 값을 현상태로 정지시킬 필요가 있다. CPU 제어 회로(12)는 스타트 펄스 START의 하강으로부터 엔드 펄스 END의 하강까지의 기간만큼 금지 신호 INH를 출력한다. CPU(2)는 금지 신호 INH를 검출하고, 상기 금지 동작을 행한다.
참조 번호 13은 클럭 발생기로서, 클럭 CK를 CPU(2)로 공급한다. CPU(2)는 클럭 CK를 기초로 1칩 마이크로컴퓨터를 동작시키기 위한 시스템 클럭을 작성한다.
이하, 제1도의 동작을 제2도의 타이밍차트를 기초로 설명한다. 또한, 초기 상태에서는 모드 제어 신호 MODE 및 선택 신호 SELECT는 하이 레벨이고, EEPROM(1)은 프로그램 카운터(3)에서 어드레스가 지정되는 판독 모드로 설정되어 있는 것으로 한다. 또한, 프로그램 명령 X는 어드레스 데이타를 래치 회로(4)에 래치시키는 명령이고, 프로그램 명령 X+1은 기록 데이타를 래치 회로(6)로 래치시키는 명령이며, 프로그램 명령 X+2는 EEPROM(1)에 데이타를 기록하게 하는 명령이다.
EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X가 판독되면, 이 프로그램 명령 X가 CPU(2)에서 해독되고, 어드레스 데이타가 클럭 CK0에 동기하여 래치 회로(4)에 래치된다.
프로그램 카운터(3)가 소정값 증가되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+1이 판독되면, 이 프로그램 명령 X+1이 CPU(2)에서 해독되고, 기록 데이타가 클럭 CK1에 동기하여 래치 회로(6)에 래치된다.
프로그램 카운터(3)가 소정값 증가되고, EEPROM(1)의 단자 DOUT로부터 프로그램 명령 X+2가 판독되면, 이 프로그램 명령 X+2는 CPU(2)에서 해독된다. 그러면, 스타트 펄스 START가 발생한다. 선택 신호 SELECT는 스타트 펄스 START의 하강을 받아 로우 레벨로 변화한다. 모드 선택 신호 MODE는, 스타트 펄스 START의 하강으로부터 시간 T1만큼 경과한 후에 시간 T2만큼 로우 레벨로 변화하고, 그 후 하이 레벨로 복귀한다. 엔드 펄스 END는 모드 제어 신호 MODE의 하이 레벨로의 복귀를 받아 발생한다. 상기 선택 신호 SELECT는 엔드 펄스 END의 하강을 받아 하이 레벨로 변화한다.
따라서, EEPROM(1)의 어드레스 영역 B의 데이타를 재기록하는 기간에는 금지 신호 INH가 발생하고, 이로써 CPU(2)는, EEPROM(1)의 단자 DOUT의 부정(不定) 출력의 영향을 무시할 수 있는 한편, 상기 시스템 클럭을 정지시켜 프로그램 카운터(3)의 값을 스타트 펄스 START가 발생한 시간 그대로 유지할 수 있다. 이 결과, EEPROM(1)의 데이타 재기록시에서의 CPU(2)의 오동작을 방지할 수 있다.
그런데, 제1도에서, 참조 번호 14는 RS 플립플롭으로, S단자에는 1칩 마이크로컴퓨터를 위한 리셋 신호 RESET(하이액티브)이 인가되고, R단자에는 하강 검출회로(15)를 통해 기록 펄스 WRITE(하이액티브)가 인가된다. 즉, RS 플립플롭(14)은, 상기 1칩 마이크로컴퓨터가 리셋되어 있을 때 세트되고, 상기 1칩 마이크로컴퓨터가 리셋 해제된 후, 기록 펄스 WRITE가 하강했을 때에 리셋된다. 참조 번호 16은 AND 게이트로, 한쪽 입력 단자에는 RS 플립플롭(14)의 Q단자의 출력 STOP이 인가되고, 다른쪽 입력 단자에는 기록 펄스 WRITE가 인가된다. 즉, AND 게이트(16)로부터는, 상기 1칩 마이크로컴퓨터가 리셋 해제된 후, 기록 펄스 WRITE가 몇 회 발생하였다고 해도 1회만 통과된다. 참조 번호 17은 레지스터로서, AND 게이트(16)로부터 출력되는 기록 펄스 WRITE에 동기하여, EEPROM(1)의 어드레스 영역 A의 최종 어드레스 데이타가 세트되는 것이다. 즉, 레지스터(17)는, 상기 1칩 마이크로컴퓨터가 리셋 해제된 후, 프로그램 명령이 실행됨으로써 EEPROM(1)의 어드레스의 영역 A의 최종 어드레스 데이타가 1회만 세트된다.
참조 부호 18은 어드레스 검출 회로로서, 레지스터(17)로부터 출력되는 EEPROM(1)의 어드레스 영역 A의 최종 어드레스 데이타와, 래치 회로(4)로부터 출력되는 어드레스 데이타를 비교하고, 이 비교 결과에 기초하여 메모리 제어 회로(11)를 제어하는 것이다.
그런데, EEPROM(1)의 어드레스 영역 A는 어드레스 영역 B의 데이타를 재기록하기 위한 프로그램 영역을 위해, 어드레스 영역 A의 데이타가 재기록되는 불편함이 발생되어서는 안된다. 상기 1칩 마이크로컴퓨터 내부에서, EEPROM(1)의 어드레스 영역 B의 데이타를 재기록할 경우는 어드레스 영역 A의 데이타가 재기록 되는 불편함은 발생되지 않는다. 그렇지만, 외부 기기와 상기 1칩 마이크로컴퓨터를 접속하고, 상기 외부 기기로부터 상기 1칩 마이크로컴퓨터에 EEPROM(1)의 어드레스 영역 A의 어드레스 데이타가 공급되어 래치 회로(4)로 래치된 경우, 어드레스 영역 A의 프로그램이 재기록 될 우려가 있다. 그래서, 어드레스 검출 회로(18)는 래치 회로(4)로부터 출력되는 어드레스 데이타가 EEPROM(1)의 어드레스 영역 A에 속해 있는지를 검출하고, 모드 제어 신호 MODE를 하이 레벨로 그대로 유지하여 EEPROM(1)이 기록 모드로 되는 것을 금지한다. 이로써, EEPROM(1)의 어드레스 영역 A의 데이타가 재기록되는 불편함을 해소할 수 있다.
또한, 레지스터(17)에 임의의 어드레스 데이타를 세트할 수 있기 때문에, EEPROM(1)의 데이타 재기록 금지 영역, 즉 어드레스 영역 A를 확대 또는 축소할 수 있다. 예를 들면, 외부 기기가 퍼스널 컴퓨터일 경우, 퍼스널 컴퓨터는 EEPROM(1)의 어드레스 영역 B의 프로그램에 기초하여 동작하지만, 퍼스널 컴퓨터는 복잡하고 또 다수의 동작을 행하기 때문에, EEPROM(1)의 어드레스 영역 A를 확대할 필요가 있다. 이로써, 인터페이스되는 외부 기기의 종류에 따라서, EEPROM(1)의 어드레스 영역 A의 크기를 가변할 수 있고, 상기 1칩 마이크로컴퓨터의 적용 범위가 확대되어 범용성이 향상한다.
여기서, EEPROM(1)의 어드레스 영역 A의 재기록은 PROM 라이터를 외부로부터 접속하여 행한다. 이 경우, 불휘발성 메모리(1)를 마이크로컴퓨터로부터 실질적으로 분리하고, 마이크로컴퓨터는 리셋 상태로서 PROM 라이터에 의해 EEPROM(1)에 직접 데이타를 기록한다.
이 때문에, EEPROM(1)의 어드레스 라인 AD에 셀렉터(21)를, 데이타 입력 라인 DIN에 셀렉터(22)를, 데이타 출력 라인 DOUT에 셀렉터(23)를, 모드 공급 라인 MODE에 셀렉터(24)를 배치하고 있다. 그리고, 이들 셀렉터는 각각에 대응하는 핀을 통해 PROM 라이터에 접속된다. 또한, 이들 셀렉터(21, 22, 23, 24)는 PROM 라이터로부터의 공급되는 테스트 신호 TEST에 의해 전환 제어된다.
즉, EEPROM(1)의 어드레스 영역 A를 재기록할 경우에는, PROM 라이터를 마이크로컴퓨터에 접속하고, 테스트 신호 TEST로서 「1」을 공급한다. 이로써, 셀렉터(21, 22, 23, 24)는 PROM 라이터로부터의 라인을 유효하게 하여 마이크로컴퓨터 내부로부터 분리한다. 또한, 이 테스트 신호 TEST의 「1」은 CPU(3)에 공급되고, CPU(3)는 리셋 상태로 되며, 리셋 신호 RESET는 「1」로 된다. 이 상태에서, PROM 라이터는 모드 신호 MODE에 의해 EEPROM(1)을 재기록 가능하게 하고 어드레스 영역 A의 어드레스를 지정하여 데이타 입력 라인 DIN을 통해 데이타를 입력한다. 이로써, 원하는 데이타가 어드레스 영역 A에 기록되고, 어드레스 영역 A의 데이타, 즉 어드레스 영역 B의 기록을 위한 프로그램이 기록된다.
이와 같은 기록이 종료했을 경우, PROM 라이터는 테스트 신호 TEST를 「0」으로 한다. 이로써, 셀렉터(21, 22, 23, 24)는 PROM 라이터로부터 분리되고, 마이크로컴퓨터에 의해 제어 가능하게 된다. 또한, CPU는 테스트 신호 TEST의 「0」에 의해 리셋을 해제되고, 리셋 신호 RESET는 「0」으로 된다.
여기서, PROM 라이터에 의해 EEPROM(1)에 기록된 프로그램에는 어드레스 영역 A의 최종 어드레스에 대한 데이타가 포함되어 있다. 그리고, 어드레스 영역 A에 저장된 프로그램을 실행하여 어드레스 영역 B의 데이타 (이 데이타가 CPU(2)가 실행하는 동작 프로그램이다)를 재기록했을 경우에는, 어드레스 영역 B에 어드레스 영역 A의 최종 어드레스를 레지스터(17)에 기록하기 위한 프로그램이 기록된다. 그래서, CPU(2)가 어드레스 영역 B에 기록되어 있는 프로그램을 실행하고, 최초의 라이트 펄스 WRITE를 출력할 때 어드레스 A의 최종 어드레스가 레지스터(17)에 기록된다. 이로써, CPU(2)의 기록 명령에 의해 어드레스 영역 A의 데이타가 재기록되는 것이 방지된다. 또한, 라이트 펄스 WRITE가 출력되었을 경우에도 엔드게이트(19)가 스타트 신호 START를 금지하여 EEPROM(1)의 어드레스 영역 A의 재기록을 방지할 수 있다. 또, 이 경우에는, EEPROM(1) 전체의 재기록이 금지된다.
또한, 참조 부호 19는 AND 게이트로서, 한쪽 입력 단자에는 스타트 펄스 START가 인가되고, 다른쪽 입력 단자에는 신호 STOP이 반전 인가된다.
통상, 상기 1칩 마이크로컴퓨터의 리셋 해제 후, 기록 펄스 WRITE가 발생하기 때문에, RS 플립플롭(14)의 Q단자의 출력 STOP은 논리값「0」으로 된다. 따라서, AND 게이트(19)가 개방되고, CPU(3)로부터 메모리 제어 회로(11) 및 CPU 제어회로(12)로 스타트 펄스 START가 항상 공급되어 EEPROM(1)의 데이타 재기록 동작은 아무런 불편함없이 실행되게 된다.
그렇지만, 상기 1칩 마이크로컴퓨터의 리셋 해제 후, 어떠한 요인에 의해 기록 펄스 WRITE가 발생하지 않았을 경우, RS 플립플롭(14)의 Q단자의 출력 STOP은 논리값 「1」인 채로 된다. 따라서, AND 게이트(19)가 폐쇄되고, 메모리 제어 회로(11)로 스타트 펄스 START가 공급되지 않게 되어 EEPROM(1)의 데이타 재기록 동작은 금지된다. 즉, EEPROM(1)의 재기록이 불필요한 어드레스의 기록 종료 데이타를 재기록하는 불편함을 해소할 수 있다.
본 발명의 마이크로컴퓨터에 따르면, 불휘발성 메모리에서의 재기록 금지 영역의 설정을 가변할 수 있고, 불휘발성 메모리의 재기록 금지 영역이 설정되어 있지 않을 경우에도, 불휘발성 메모리의 잘못된 재기록을 방지할 수 있다.

Claims (2)

  1. 마이크로컴퓨터에 있어서, 데이타를 반복하여 기록 및 판독할 수 있고 기록된 상기 데이타를 전기적으로 소거할 수도 있는 불휘발성 메모리 - 상기 불휘발성 메모리는 제1 영역과 제2 영역을 포함하고, 상기 제2 영역에 저장된 데이타를 재기록하기 위한 프로그램은 상기 제1 영역에 저잠됨 -; 상기 불휘발성 메모리의 상기 제1 영역과 상기 제2 영역 사이의 경계를 나타내는 어드레스 데이터를 세팅하기 위한 세팅 회로; 상기 세팅 회로에 미리 세팅된 어드레스 세팅값과 상기 불휘발성 메모리의 지정 어드레스를 비교하여, 상기 불휘발성 메모리의 상기 지정 어드레스가 상기 제1 영역과 상기 제2 영역 중 어느 영역에 존재하는지를 검출하는 어드레스 검출 회로; 및 상기 어드레스 검출 회로의 검출 결과를 기초로, 상기 지정 어드레스가 상기 불휘발성 메모리의 상기 제1 영역 내에 있는 경우, 불휘발성 메모리 데이터 재기록 동작을 금지시키는 메모리 제어 회로를 포함하고, 상기 어드레스 검출 회로에 의해 상기 제1 영역 내로 판정될 상기 지정 어드레스의 범위가 상기 세팅 회로에 의해 세팅 되지 않은 경우, 상기 메모리 제어 회로는 상기 불휘발성 메모리 내의 어느 어드레스가 지정되든지에 상관없이 상기 불휘발성 메모리 데이터 재기록 동작을 금지시키고; 상기 제1 영역과 상기 제2 영역은 어드레스 공간에서 인접하고; 상기 어드레스 검출 회로는 상기 제1 영역과 상기 제2 영역의 경계를 나타내는 상기 어드레스 세팅값을 저장하기 위한 레지스터를 포함하고; 상기 어드레스 검출기는 상기 레지스터에 저장된 경계를 나타내는 상기 어드레스 세팅값 보다 지정된 어드레스가 상기 제1 영역측에 있다는 사실로부터 상기 제1 영역이 지정되었음을 검출하고, 상기 세팅 회로는 상기 마이크로컴퓨터의 리셋 상태가 해제되었을 때 발생되는 기록 펄스의 발생을 저장하기 위한 저장 회로를 더 포함하고, 상기 불휘발성 메모리의 상기 제1 영역과 상기 제2 영역 사이의 경계를 나타내는 상기 어드레스 세팅값은 상기 저장 회로에 상기 기록 펄스의 발생을 저장함에 의해 세트되는 것을 특징으로 하는 마이크로컴퓨터.
  2. 제1항에 있어서, 상기 저장 회로는 리셋 신호에 따라 세트되고 상기 기록 펄스에 따라 리셋되는 플립플롭을 포함하며, 상기 플립플롭이 리셋되지 않은 경우 상기 메모리 제어 회로는 상기 불휘발성 메모리의 어느 어드레스가 지정되든지에 상관없이 데이터 재기록 동작을 금지시키는 것을 특징으로 하는 마이크로컴퓨터.
KR1019970013004A 1996-04-10 1997-04-09 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터 KR100255568B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP8088401A JPH09282302A (ja) 1996-04-10 1996-04-10 マイクロコンピュータ
JP96-088401 1996-04-10
JP96-102535 1996-04-24
JP8102535A JPH09293063A (ja) 1996-04-24 1996-04-24 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
KR970071274A KR970071274A (ko) 1997-11-07
KR100255568B1 true KR100255568B1 (ko) 2000-05-01

Family

ID=26429791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970013004A KR100255568B1 (ko) 1996-04-10 1997-04-09 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터

Country Status (2)

Country Link
US (1) US5991849A (ko)
KR (1) KR100255568B1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
TW389910B (en) * 1997-07-03 2000-05-11 Seiko Epson Corp Programmable nonvolatile memory apparatus and microcomputer using the same
KR20010071231A (ko) * 1999-03-09 2001-07-28 씨. 필립 채프맨 쓰기 인에이블 비트를 갖는 마이크로 컨트롤러
EP1063589A1 (en) * 1999-06-25 2000-12-27 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Device for processing data and corresponding method
JP2001350739A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp マイクロコンピュータ
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
JP2002269065A (ja) * 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
JP4136359B2 (ja) * 2001-11-15 2008-08-20 株式会社ルネサステクノロジ マイクロコンピュータ
JP3980901B2 (ja) * 2002-02-12 2007-09-26 沖電気工業株式会社 デジタル信号処理装置
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
JP2007527579A (ja) 2004-02-23 2007-09-27 レクサー・メディア・インコーポレーテッド セキュリティで保護されたコンパクト・フラッシュ
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US8171192B2 (en) * 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
JP5115600B2 (ja) * 2010-08-06 2013-01-09 株式会社デンソー 制御装置
JP6415092B2 (ja) * 2014-04-25 2018-10-31 キヤノン株式会社 ストレージデバイスへのデータの書き込みを禁止する情報処理装置及び方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856164A (ja) * 1981-09-30 1983-04-02 Toshiba Corp デ−タ処理装置
JPH0752405B2 (ja) * 1988-12-14 1995-06-05 日本電気株式会社 シングルチップマイクロコンピュータ
JPH0812646B2 (ja) * 1989-03-03 1996-02-07 三菱電機株式会社 半導体集積回路
JPH05233834A (ja) * 1991-11-13 1993-09-10 Nec Corp シングルチップマイクロコンピュータ
US5408672A (en) * 1991-11-18 1995-04-18 Matsushita Electric Industrial Co. Microcomputer having ROM to store a program and RAM to store changes to the program
JP3152535B2 (ja) * 1993-03-18 2001-04-03 富士通株式会社 データ処理装置
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
JPH0844628A (ja) * 1994-08-03 1996-02-16 Hitachi Ltd 不揮発性メモリ、およびそれを用いたメモリカード、情報処理装置、ならびに不揮発性メモリのソフトウェアライトプロテクト制御方法
US5678082A (en) * 1994-12-09 1997-10-14 Olympus Optical Co., Ltd. Electrical system apparatus including one-chip microcomputer

Also Published As

Publication number Publication date
US5991849A (en) 1999-11-23
KR970071274A (ko) 1997-11-07

Similar Documents

Publication Publication Date Title
KR100255568B1 (ko) 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터
KR940005784B1 (ko) 보안회로
JP3884839B2 (ja) 半導体記憶装置
US7210012B2 (en) Write-protection blocks for non-volatile semiconductor memory device
KR20010070149A (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
KR100299542B1 (ko) 불휘발성메모리를사용한마이크로컴퓨터
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
KR20010014576A (ko) 비휘발성 반도체 기억장치 및 그 제조방법
US5925139A (en) Microcomputer capable of preventing writing errors in a non-volatile memory
US5093909A (en) Single-chip microcomputer including an eprom capable of accommodating different memory capacities by address boundary discrimination
US7027350B2 (en) Device and method for partial read-protection of a non-volatile storage
JP2002015584A (ja) 不揮発性メモリのリードプロテクト回路
EP1246201A2 (en) Semiconductor memory
KR100341424B1 (ko) 마이크로컴퓨터
US5497462A (en) Method and circuit for protecting circuit configurations having an electrically programmable non-volatile memory
JP2005050442A (ja) 冗長メモリ回路
US6798708B2 (en) Memory controller and serial memory
JP4202116B2 (ja) メモリ制御回路、メモリ装置およびマイクロコンピュータ
JP4848126B2 (ja) マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法
JP3824295B2 (ja) 不揮発性半導体記憶装置
KR100288417B1 (ko) 동기형 반도체 기억 장치
JP3695931B2 (ja) マイクロコンピュータ
JP3679496B2 (ja) マイクロコンピュータ
JPH0496156A (ja) Eeprom内蔵マイクロコンピュータ
JP2006277012A (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: 20120131

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee