KR100303649B1 - 플래쉬메모리의기록오류방지회로 - Google Patents

플래쉬메모리의기록오류방지회로 Download PDF

Info

Publication number
KR100303649B1
KR100303649B1 KR1019980031602A KR19980031602A KR100303649B1 KR 100303649 B1 KR100303649 B1 KR 100303649B1 KR 1019980031602 A KR1019980031602 A KR 1019980031602A KR 19980031602 A KR19980031602 A KR 19980031602A KR 100303649 B1 KR100303649 B1 KR 100303649B1
Authority
KR
South Korea
Prior art keywords
write
signal
logic
flash memory
output
Prior art date
Application number
KR1019980031602A
Other languages
English (en)
Other versions
KR20000012990A (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 윤종용
Priority to KR1019980031602A priority Critical patent/KR100303649B1/ko
Publication of KR20000012990A publication Critical patent/KR20000012990A/ko
Application granted granted Critical
Publication of KR100303649B1 publication Critical patent/KR100303649B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

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

Abstract

본 발명은 플래쉬 메모리에 새로운 데이터(혹은 프로그램 코드)를 기록할 때, 시스템이 불안정적으로 동작하는 경우에도 기록오류가 발생하지 않도록 함으로써, 안정적인 기록작업을 수행할 수 있도록 한 플래쉬 메모리의 기록오류 방지회로를 제공함에 있다.
본 발명은 전원의 투입상태에 따라 시스템을 초기화시키는 소정의 논리상태를 갖는 리셋신호를 출력하고, 기 설정된 프로그램에 따라 리셋신호부터 반전된 반전 리셋신호를 출력하는 리셋회로와; 리셋회로로부터 출력된 리셋신호에 의해 초기화되고, 데이터를 플래쉬 메모리에 기록하기 위한 기록신호와 제어신호를 출력하는 마이크로 프로세서와; 리셋신호로부터 출력된 반전 리셋신호에 의해 활성화되고, 마이크로 프로세서로부터 공급된 기록신호와 제어신호에 따라 데이터를 플래쉬 메모리에 기록하기 위한 기록신호를 출력하는 기록오류 방지부를 포함하며; 마이크로 프로세서는 기록작업이 수행될 때 리셋회로에서 반전 리셋신호가 출력되도록 제어하여 플래쉬 메모리를 기록모드로 전환시키고, 기록작업이 종료될 때 리셋회로에서 리셋신호가 출력되도록 제어하여 플래쉬 메모리를 기록중지모드로 전환시킨다.

Description

플래쉬 메모리의 기록오류 방지회로
본 발명은 플래쉬 메모리(Flash Memory)의 기록오류 방지회로에 관한 것으로서, 보다 상세하게는 프로그램과 데이터를 저장하는 플래쉬 메모리를 내장한 시스템에 있어서, 시스템의 오동작으로 인하여 기록오류가 발생하는 것을 방지함으로써, 기록상태의 신뢰성을 향상시킨 플래쉬 메모리의 기록오류 방지회로에 관한 것이다.
현재, 가장 보편적으로 사용되는 EEPROM(Electrically Erasable And Programmable ROM) 혹은 EPROM(Erasable And Programmable ROM)의 특성과는 달리, 별도의 외부적인 프로그래밍(Programming) 및 이레이징(Erasing)장비를 사용하지 않고, 소프트웨어(S/W)적인 제어만으로 프로그램을 기록하고 삭제하는 것이 가능한 플래쉬 메모리의 사용영역이 확대되고 있다. 플래쉬 메모리에 관하여 특허출원 제 97-20187호(발명의 명칭: 플래쉬 메모리에 다운로드된 데이터의 오류검사방법)(97.05.23)에 잘 기재되어 있다.
일반적으로, 마이크로 프로세서가 시스템을 구동시키기 위한 프로그램 코드를 저장하거나 혹은 데이터를 저장하기 위하여 시스템내에 플래쉬 메모리를 내장한다. 앞서 설명한 바와 같이, 종래의 EPROM, PROM(Programmable ROM), MASK ROM에 대하여 플래쉬 메모리가 갖는 주요한 장점은 시스템을 사용하는 도중 플래쉬 메모리에 저장하고 있는 데이터(혹은 프로그램 코드)를 변경하고 싶은 경우 외부의 데이터 입력장치를 통하여 변경하고자 하는 데이터를 입력받아 변경(Upgrade, Update)할 수 있다는 점에 있다.
그러나, 외부에 접속하여 새로운 프로그램 혹은 데이터를 입력받아서 플래쉬 메모리에 저장된 프로그램 코드와 데이터를 변경하는 작업은 플래쉬 메모리를 제조한 업체에서 요구하는 일련의 순서에 따른 명령어와 시간특성이 부합되어야만 가능하다.
도 1을 참조하여 종래의 플래쉬 메모리에 데이터(혹은 프로그램 코드)를 기록하기 위한 기록제어회로를 설명한다.
도 1을 참조하면, 전송장치(1)는 시스템과 통신 가능하도록 접속되어 플래쉬 메모리(2)에 기록할 데이터(혹은 프로그램 코드)를 전송한다. 입력장치(3)는 전송장치(1)로부터 전송된 데이터(혹은 프로그램 코드)를 입력받아 마이크로 프로세서(4)에 전송한다. 마이크로 프로세서(4)는 소정의 프로그램에 따라 시스템을 전반적으로 제어한다. 특히, 마이크로 프로세서(4)는 데이터(혹은 프로그램 코드)를 플래쉬 메모리(5)에 기록하거나 혹은 플래쉬 메모리(2)에 기록된 프로그램 및 데이터를 독취하는 것을 제어한다.
플래쉬 메모리(2)는 마이크로 프로세서(4)의 제어에 따라 새로운 데이터(혹은 프로그램 코드)를 저장하거나 혹은 기 저장된 프로그램 및 데이터를 검출하여 플래쉬 메모리(2)에 전송한다. 그리고, 메모리(5)는 마이크로 프로세서(4)가 시스템을 제어하는데 필요한 각종 제어프로그램을 저장하고, 플래쉬 메모리(2)에 기록될 데이터(혹은 프로그램 코드)를 일시 저장한다.
리셋회로(6)는 시스템의 초기 구동시에 마이크로 프로세서(4)와 플래쉬 메모리(2)를 리셋시킨다. 특히, 리셋회로(6)는 플래쉬 메모리(2)에 새로운 데이터(혹은 프로그램 코드)가 기록될 때 플래쉬 메모리(2)에 리셋신호(C)를 출력하여 플래쉬 메모리(2)를 초기화시키는 역할을 수행한다.
즉, 전송장치(1)로부터 전송된 데이터(혹은 프로그램 코드)가 입력장치(3)를 통하여 마이크로 프로세서(4)에 입력되면, 마이크로 프로세서(4)는 입력된 데이터(혹은 프로그램 코드)를 메모리(5)에 일시 저장한다. 이때, 마이크로 프로세서(4)는 메모리(5)에 어드레스(Address)정보를 출력하여 메모리(5)내에 데이터(혹은 프로그램 코드)가 저장될 위치를 제어한다. 또한, 마이크로 프로세서(4)는 리셋회로(6)에서 공급되는 리셋신호(C)에 동기되어 메모리(5)에 저장된 소정의 프로그램에 따라 플래쉬 메모리(2)에 기록신호(W)를 출력하며, 플래쉬 메모리(2)는 리셋회로(6)에서 공급된 리셋신호(C)와 마이크로 프로세서(4)에서 공급된 기록신호(W)를 동시에 인가받아 이미 기록되어 있는 프로그램 혹은 데이터를 삭제한 후 메모리(5)로부터 공급되는 데이터(혹은 프로그램 코드)를 기록한다. 따라서, 새로운 데이터(혹은 프로그램 코드)를 업데이트(Update)할 수 있다.
그런데, 이와 같은 종래의 기록제어회로에 의하면 다음과 같은 문제점들이 발생한다.
첫째, 기록신호(W)는 플래쉬 메모리(2)에만 사용하는 것이 아니라, 주변의 다른 구성부(예컨대, 램(RAM), 하드 디스크(Hard Disk) 기억매체)에도 사용될 수 있다. 따라서, 마이크로 프로세서(4)에서 플래쉬 메모리(2) 이외의 다른 구성부에 기록신호(W)를 제공하여야 할 상황에서 시스템의 오류가 발생하여 플래쉬 메모리(2)에 기록신호(W)가 가해지는 경우 플래쉬 메모리(2)는 기록신호(W)에 따라 이전의 프로그램 혹은 데이터를 삭제하게 되므로, 결국 기록오류가 발생한다.
둘째, 플래쉬 메모리(2)에 새로운 데이터(혹은 프로그램 코드)를 기록하는 작업을 수행하는 도중에 정전이 발생하거나 사용자에 의해 메인전원이 차단되는 경우, 플래쉬 메모리(2)에 새로운 데이터(혹은 프로그램 코드)를 기록하는 작업이 안료되지 못한 상태에서 기록작업을 종료함에 따라 전원이 재투입된 경우에도 기록오류가 발생한 것을 인식하지 못한다. 따라서, 새로운 데이터(혹은 프로그램 코드)가 정상적으로 기록되었는지를 판정할 수 없다.
따라서, 본 발명은 이와 같은 문제점들을 해결하기 위한 것으로서, 본 발명의 목적은 플래쉬 메모리에 새로운 데이터(혹은 프로그램 코드)를 기록할 때, 시스템이 불안정적으로 동작하는 경우에도 기록오류가 발생하지 않도록 함으로써, 안정적인 기록작업을 수행할 수 있도록 한 플래쉬 메모리의 기록오류 방지회로를 제공함에 있다.
또한, 본 발명의 다른 목적은 플래쉬 메모리에 새로운 데이터(혹은 프로그램 코드)를 기록하는 경우, 기록작업의 종료여부를 기록함으로써, 기록작업이 정상적으로 종료되었음을 판정할 수 있도록 한 플래쉬 메모리의 기록오류 방지회로를 제공함에 있다.
도 1은 종래의 플래쉬 메모리 기록제어회로도,
도 2는 본 발명에 의한 플래쉬 메모리의 기록오류 방지회로도이다.
<도면의 주요부분에 대한 부호의 설명>
10: 전송장치 11: 플래쉬 메모리
12: 입력장치 13: 마이크로 프로세서
14: 제1 메모리 15: 제2 메모리
16: 리셋회로 17: 래치
18: 기록오류 방지부 19: 제1 논리합소자
20: 제1 반전소자 21: 제2 반전소자
22: 제2 논리합소자 W1, W2: 기록신호
CTL 제어신호 WRITE: 기록단자
RESET; 리셋단자 CLR: 클리어단자
이와 같은 목적들을 달성하기 위한 본 발명의 특징은, 전원의 투입상태에 따라 시스템을 초기화시키는 소정의 논리상태를 갖는 리셋신호를 출력하고, 기 설정된 프로그램에 따라 리셋신호부터 반전된 반전 리셋신호를 출력하는 리셋회로와; 리셋회로로부터 출력된 리셋신호에 의해 초기화되고, 데이터를 플래쉬 메모리에 기록하기 위한 기록신호와 제어신호를 출력하는 마이크로 프로세서와; 리셋신호로부터 출력된 반전 리셋신호에 의해 활성화되고, 마이크로 프로세서로부터 공급된 기록신호와 제어신호에 따라 데이터를 플래쉬 메모리에 기록하기 위한 기록신호를 출력하는 기록오류 방지부를 포함하며; 마이크로 프로세서는 기록작업이 수행될 때 리셋회로에서 반전 리셋신호가 출력되도록 제어하여 플래쉬 메모리를 기록모드로 전환시키고, 기록작업이 종료될 때 리셋회로에서 리셋신호가 출력되도록 제어하여 플래쉬 메모리를 기록중지모드로 전환시키도록 한 점에 있다.
여기서, 기록오류 방지부는 마이크로 프로세서에서 출력되는 기록신호와 제어신호를 논리연산하는 제1 논리소자와; 리셋회로에서 출력된 리셋신호와 반전 리셋신호 중 어느 하나를 반전하는 제1 반전소자와; 제1 논리소자와 제1 반전소자 및 데이터를 동시에 인가받아, 제1 반전소자로부터 입력된 반전신호에 의해 활성화상태가 제어되고, 제1 논리소자로부터 입력된 논리상태로부터 데이터의 입력상태를 논리상태로 출력하는 래치와; 래치의 출력신호를 반전하는 제2 반전소자와; 제2 반전소자의 출력과 마이크로 프로세서에서 출력된 기록신호를 동시에 인가받아 논리연산하여 플래쉬 메모리의 기록상태를 제어하는 기록신호를 출력하는 제2 논리소자를 포함하며; 제1 반전소자는 리셋회로에서 출력된 반전 리셋신호를 재차 반전시켜 래치를 활성화시키고; 제1 논리소자는 마이크로 프로세서에서 출력된 기록신호와 제어신호가 기록모드에 해당하는 논리상태일 때에만 래치에 입력된 데이터를 출력하도록 논리연산하며; 제2 논리소자는 제2 반전소자에서 반전된 반전신호와 마이크로 프로세서에서 출력된 기록신호가 기록모드에 해당하는 경우에만 플래쉬 메모리가 기록모드를 수행하도록 소정의 논리신호를 출력한다.
이때, 제1 논리소자와 제2 논리소자는 각각 논리합소자로 구성되고, 기록모드일 때 마이크로 프로세서에서 출력되는 기록신호와 제어신호가 로직 "로우"상태이며, 래치는 제1 논리소자에서 출력된 로직 "로우"상태의 출력신호에 따라 로직 "하이"상태의 논리신호를 출력하고, 리셋회로에서 출력된 반전 리셋신호의 논리상태가 반전됨에 따라 래치의 출력상태가 리셋된다.
또한, 플래쉬 메모리의 기록작업이 정상적으로 종료되었을 때 마이크로 프로세서가 인식할 수 있는 식별부호가 기록되고 저장되는 메모리를 더 포함하며, 마이크로 프로세서는 리셋회로에 의해 초기화된 후 메모리에 저장된 식별부호에 대응하여 시스템의 동작여부를 결정한다.
이하, 본 발명의 바람직한 실시예에 대하여 첨부도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다. 또한, 하기의 설명에서는 구체적인 회로의 구성소자 등과 같은 많은 특정사항들이 도시되어 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 2에는 본 발명에 의한 플래쉬 메모리의 기록오류 방지회로도가 도시되어 있다.
도 2를 참조하면, 전송장치(10)는 시스템과 통신 가능하도록 접속되어 플래쉬 메모리(11)에 기록할 데이터(혹은 프로그램 코드)를 전송한다. 입력장치(12)는 전송장치(10)로부터 전송된 데이터(혹은 프로그램 코드)를 입력받아 마이크로 프로세서(13)에 전송한다. 마이크로 프로세서(13)는 소정의 프로그램에 따라 시스템을 전반적으로 제어한다. 특히, 마이크로 프로세서(13)는 데이터(혹은 프로그램 코드)를 플래쉬 메모리(11)에 기록하거나 혹은 플래쉬 메모리(11)에 기록된 프로그램 및 데이터를 독취하는 것을 제어한다.
플래쉬 메모리(11)는 마이크로 프로세서(13)의 제어에 따라 새로운 데이터(혹은 프로그램 코드)를 저장하거나 혹은 기 저장된 데이터(혹은 프로그램)를 검출하여 플래쉬 메모리(11)에 전송한다. 그리고, 제1 메모리(14)는 마이크로 프로세서(13)가 시스템을 제어하는데 필요한 각종 제어프로그램을 저장하고, 플래쉬 메모리(11)에 기록될 데이터(혹은 프로그램 코드)를 일시 저장하며, 이를 위하여 SRAM(Static RAM) 혹은 DRAM(Dynamic RAM)을 채용한다.
제2 메모리(15)는 전원이 차단되더라도 기록상태를 유지할 수 있도록 EEPROM 혹은 EPROM이 사용되며, 플래쉬 메모리(11)에 새로운 데이터(혹은 프로그램 코드)의 기록작업이 수행될 때, 이 기록작업이 정상적으로 종료되었는가를 판단하여 정상종료 혹은 기록오류정보를 저장한다. 이때, 본 발명에서는 기록작업이 정상적으로 종료하였다고 판정되었을 때 제2 메모리(15) 중 임의의 한 비트(Bit)를 할당하여 로직 "하이"상태의 식별데이터를 기록하도록 함으로써, 기록작업의 정상종료여부를 마이크로 프로세서(13)에서 인식할 수 있도록 한다.
리셋회로(16)는 시스템의 초기 구동시에 마이크로 프로세서(13)와 플래쉬 메모리(11) 및 후술하는 래치(17)를 리셋시킨다. 특히, 리셋회로(16)는 플래쉬 메모리(11)에 새로운 데이터(혹은 프로그램 코드)가 기록될 때 기 설정된 프로그램에 따라 플래쉬 메모리(11)에 출력되는 기록신호(W2)를 가변하기 위하여 리셋신호(C)를 변화시킴으로써, 플래쉬 메모리(11)를 기록상태를 제어한다.
기록오류 방지부(18)는 마이크로 프로세서(13)로부터 공급된 기록신호(W1)와 제어신호(CTL) 및 데이터(DATA)의 유무와 리셋신호(C)를 동시에 인가받아 기록신호(W1)와 제어신호(CTL) 및 데이터(DATA)의 유무와 리셋신호(C)에 따라 플래쉬 메모리(11)에 기록신호(W2)를 출력함으로써, 플래쉬 메모리(11)의 기록상태를 제어한다.
한편, 기록오류 방지부(18)의 상세회로를 설명하면, 마이크로 프로세서(13)에서 출력된 제어신호(CTL)와 기록신호(W1)을 논리합 연산하는 제1 논리합소자(19)와, 리셋회로(16)에서 출력된 리셋신호(C)를 반전시키는 제1 반전소자(20)와, 제1 논리합소자(19)에서 논리연산된 결과와 제1 반전소자(20)에서 출력된 반전 리셋신호를 동시에 인가받아 마이크로 프로세서(13)와 플래쉬 메모리(11) 및 제1 메모리(14) 사이에 전송되는 데이터(DATA)의 유무에 따른 논리신호의 출력상태를 지속적으로 유지시키는 래치(17)와, 래치(17)의 출력을 반전시키는 제2 반전소자(21)와, 제2 반전소자(21)에 의해 반전된 반전 출력신호와 마이크로 프로세서(13)로부터 출력된 기록신호(W1)를 논리합 연산하여 그 결과값을 플래쉬 메모리(11)의 기록신호(W2)로 출력하는 제2 논리합소자(22)로 구성된다.
이와 같은 구성을 갖는 본 발명의 동작을 설명하면 다음과 같다. 먼저, 플래쉬 메모리(11)는 기록단자(WRITE)에 로직 "로우"상태의 기록신호(W2)를 인가받을 때 기록작업이 수행된다고 가정한다(로우 엑티브(Low Active 모드).
전송장치(10)로부터 전송된 데이터(혹은 프로그램 코드)가 입력장치(12)를 통하여 마이크로 프로세서(13)에 입력되면, 마이크로 프로세서(13)는 데이터버스(DATA BUS)를 통하여 입력된 데이터(혹은 프로그램 코드)를 제1 메모리(14)에 일시 저장한다. 이때, 마이크로 프로세서(13)는 제1 메모리(14)에 어드레스(Address)정보를 출력하여 제1 메모리(14)내에 데이터(혹은 프로그램 코드)가 저장될 위치를 제어한다.
전원이 최초 투입되거나 혹은 재 투입되는 경우, 리셋회로(16)에서는 로직 "하이"상태의 리셋신호(C)를 출력하며, 이 신호는 마이크로 프로세서(13)의 리셋단자(RESET)와 래치(17)의 클리어단자(CLR)에 각각 공급된다.
이때, 리셋회로(16)에서 출력된 리셋신호(C)는 제1 반전소자(20)에 의해 로직 "로우"상태로 반전되어 래치(17)의 클리어단자(CLR)에 공급된다. 따라서, 래치(17)는 로직 "로우"상태의 출력신호를 출력하고, 이 출력신호는 제2 반전소자(21)에 의해 로직 "하이"상태로 반전된 후 제2 논리합소자(22)의 입력단자에 입력된다. 따라서, 제2 논리합소자(22)의 출력은 또 다른 입력인 마이크로 프로세서(13)의 기록신호(W1)가 어떠한 논리상태이더라도 그 출력은 로직 "하이"상태를 유지하므로 플래쉬 메모리(11)에는 데이터(DATA)가 기록되지 않는다.
즉, 이러한 상태는 마이크로 프로세서(13)에서 로직 "로우"상태의 기록신호(W1)(기록작업을 수행하도록 명령하는 신호)와 로직 "로우"상태의 제어신호(CTL)를 동시에 출력하여 플래쉬 메모리(11)에 대한 기록작업을 수행하도록 명령하더라도 리셋회로(16)에서 출력된 로직 "하이"상태의 리셋신호(C)에 의해 플래쉬 메모리(11)의 기록작업은 수행되지 않는다.
한편, 실제 기록작업을 수행하는 경우, 마이크로 프로세서(13)는 기록단자(WRITE)로부터 로직 "로우"상태의 기록신호(W1)를 출력하고, 이와 동시에 로직 "로우"상태의 제어신호(CTL)를 출력한다. 또한, 기 설정된 프로그램을 구동시켜 리셋회로(16)에서 출력되는 리셋신호(C)를 로직 "로우"상태로 반전시킨다.
마이크로 프로세서(13)에서 출력된 로직 "로우"상태의 기록신호(W1)와 로직 "로우"상태의 제어신호(CTL)는 제1 논리합소자(19)에 입력되고, 제1 논리합소자(19)는 두 입력상태를 논리연산하여 로직 "로우"상태의 논리신호를 출력한다. 그리고, 리셋회로(16)에서 출력된 로직 "로우"상태의 리셋신호(C)는 제1 반전소자(20)에 의해 로직 "하이"상태로 반전되어 래치(17)에 입력된다.
래치(17)는 클리어단자(CLR)에 공급된 로직 "하이"상태의 리셋신호(C)에 의해 활성화되고, 제1 논리합소자(19)에서 출력된 로직 "로우"상태의 논리신호에 따라 데이터 입력단자(D)를 통해 입력된 로직 "하이"상태의 데이터신호(실제 데이터가 전송되고 있음을 의미함)를 제2 반전소자(21)로 출력한다. 이때, 래치(17)는 마이크로 프로세서(13)에서 공급되는 기록신호(W1)이 중단되더라도 로직 "하이"상태의 데이터신호를 지속적으로 출력한다.
래치(17)를 통하여 출력된 로직 "하이"상태의 출력신호는 제2 반전소자(21)에 의해 로직 "로우"상태로 반전되고, 반전된 신호는 제2 논리합소자(22)에 공급된다. 또한, 제2 논리합소자(22)의 다른 입력단에는 마이크로 프로세서(13)에서 공급된 로직 "로우"상태의 기록신호(W1)가 공급되므로, 제2 논리합소자(22)는 두 개의 논리신호를 비교하여 로직 "로우"상태의 기록신호(W2)를 플래쉬 메모리(11)의 기록단자(WRITE)에 최종 출력한다. 따라서, 플래쉬 메모리(11)는 기록상태로 전환하며, 제1 메모리(14)에 일시 저장된 데이터(혹은 프로그램 코드)는 플래쉬 메모리(11)의 소정영역에 기록된다. 이러한 기록상태는 마이크로 프로세서(13)에서 로직 "로우"상태의 기록신호(W1)를 출력하는 한 지속적으로 유지된다.
한편, 플래쉬 메모리(11)의 기록작업이 완료되어 기록작업을 중지시키고자 하는 경우, 마이크로 프로세서(13)에서 출력되는 기록신호(W1)와 제어신호(CTL)는 모두 로직 "하이"상태로 반전한다. 따라서, 래치(17)로부터 출력되는 논리신호에 무관하게 제2 논리합소자(22)에서는 로직 "하이"상태로 변환된 기록신호(W2)가 플래쉬 메모리(11)의 기록단자(WRITE)에 출력되고, 이에 따라 플래쉬 메모리(11)는 기록작업을 중지한다. 이와 동시에, 마이크로 프로세서(13)는 기 설정된 프로그램에 따라 리셋회로(16)에서 출력되는 리셋신호(C)를 로직 "하이"상태로 전환함으로써, 시스템의 오동작으로 인하여 기록작업이 계속 진행되는 것을 방지한다. 따라서, 더 이상의 기록작업은 수행되지 않는다. 이때, 마이크로 프로세서(13)는 기록작업이 종료하였음을 나타내는 소정의 식별부호(1 비트의 식별데이터로서, 여기서는 로직 "하이"로 설정하였음)를 제2 메모리(15)에 기록한다.
한편, 기록작업이 종료되기 이전에 정전 혹은 사용자의 실수로 전원이 차단되었다가 전원이 재투입되는 경우에는, 리셋회로(16)에서 초기화과정과 동일하게 로직 "하이"상태의 리셋신호(C)를 출력하고, 이 신호는 래치(17)의 클리어단자(CLR)에 공급되어 래치(17)는 클리어된다. 이때, 기록작업이 정상적으로 종료되지 않았으므로, 제2 메모리(15)의 소정영역에는 마이크로 프로세서(13)에 의해 식별부호가 기록되지 않으며, 이로 인하여 식별부호는 예컨대, 로직 "로우"상태를 유지한다. 따라서, 전원이 재투입된 상태에서 마이크로 프로세서(13)는 제2 메모리(15)내의 소정영역에 기록된 식별부호를 판독하여 식별부호가 로직 "하이"상태이면 기록작업이 정상적으로 종료하였다고 판정하고, 식별부호가 로직 "로우"상태이면 기록작업이 정상적으로 종료되지 못하였다고 판정한다.
따라서, 시스템의 불안정으로 인한 기록오류를 방지할 수 있고, 기록작업의 정상종료여부를 판정하여 기록작업의 오류에 의한 프로그램의 오동작을 방지할 수 있다.
이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범주에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
결국, 본 발명에 의한 플래쉬 메모리의 기록오류 방지회로에 따르면 다음과 같은 이점들이 발생한다.
첫째, 플래쉬 메모리 기록제어회로내에 기록오류를 방지하는 회로를 부가함에 따라, 시스템이 불안정하게 동작되어 기록오류가 발생하는 것을 방지할 수 있다.
둘째, 플래쉬 메모리의 기록작업이 정상적으로 종료되었는지 여부를 저장하고, 전원이 차단되더라도 이 정보를 유지하도록 함으로써, 정전 혹은 사용자의 실수로 전원이 차단되었다가 재투입된 경우, 기록오류로 인한 시스템의 오동작을 미연에 방지할 수 있다.

Claims (4)

  1. 전송장치로부터 전송된 데이터를 입력받아 이를 플래쉬 메모리에 기록하는 플래쉬 메모리 기록제어회로에 있어서: 전원의 투입상태에 따라 시스템을 초기화시키는 소정의 논리상태를 갖는 리셋신호를 출력하고, 기 설정된 프로그램에 따라 상기 리셋신호부터 반전된 반전 리셋신호를 출력하는 리셋회로; 상기 리셋회로로부터 출력된 상기 리셋신호에 의해 초기화되고, 상기 데이터를 상기 플래쉬 메모리에 기록하기 위한 기록신호와 제어신호를 출력하는 마이크로프로세서; 및 상기 리셋신호로부터 출력된 상기 반전 리셋신호에 의해 활성화되고, 상기 마이크로 프로세서로부터 공급된 상기 기록신호와 상기 제어신호에 따라 상기 데이터를 상기 플래쉬 메모리에 기록하기 위한 기록신호를 출력하는 기록오류 방지부를 포함하며; 상기 마이크로 프로세서는 기록작업이 수행될 때 상기 리셋회로에서 상기 반전 리셋신호가 출력되도록 제어하여 상기 플래쉬 메모리를 기록모드로 전환시키고, 상기 기록작업이 종료될 때 상기 리셋회로에서 상기 리셋신호가 출력되도록 제어하여 상기 플래쉬 메모리를 기록중지모드로 전환시키도록 한 것을 특징으로 하는 플래쉬 메모리의 기록오류 방지회로.
  2. (정정) 제1항에 있어서, 상기 기록오류 방지부는, 상기 마이크로 프로세서에서 출력되는 상기 기록신호와 상기 제어신호를 논리연산하는 제1논리소자; 상기 리셋회로에서 출력된 상기 리셋신호와 상기 반전 리셋신호 중 어느 하나를 반전하는 제1반전소자; 상기 제1논리소자와 상기 제1반전소자 및 상기 데이터를 동시에 인가받아, 상기 제1반전소자로부터 입력된 반전신호에 의해 활성화상태가 제어되고, 상기 제1논리소자로부터 입력된 논리상태의 출력을 일정시간동안 유지시키는 래치; 상기 래치의 출력신호를 반전하는 제2반전소자; 및 상기 제2반전소자의 출력과 상기 마이크로 프로세서에서 출력된 기록신호를 동시에 인가받아 논리연산하여 상기 플래쉬 메모리의 기록상태를 제어하는 상기 기록신호를 출력하는 제2논리소자를 포함하며; 상기 제1반전소자는 상기 리셋회로에서 출력된 상기 반전 리셋신호를 재차 반전시켜 상기 래치를 활성화시키고; 상기 제1논리소자는 상기 마이크로 프로세서에서 출력된 상기 기록신호와 상기 제어신호가 기록모드에 해당하는 논리상태일 때에만 상기 래치에 입력된 상기 데이터를 출력하도록 논리연산하며; 상기 제2논리소자는 상기 제2반전소자에서 반전된 반전신호와 상기 마이크로 프로세서에서 출력된 기록신호가 기록모드에 해당하는 경우에만 상기 플래쉬 메모리가 기록모드를 수행하도록 소정의 논리신호를 출력하는 것을 특징으로 하는 플래쉬 메모리의 기록오류 방지회로.
  3. 제2항에 있어서, 상기 제1논리소자와 상기 제2논리소자는 각각 논리합소자로 구성되고, 기록모드일 때 상기 마이크로 프로세서에서 출력되는 상기 기록신호와 상기 제어신호가 로직 "로우"상태이며, 상기 래치는 상기 제1논리소자에서 출력된 로직 "로우"상태의 출력신호에 따라 로직 "하이"상태의 논리신호를 출력하고, 상기 리셋회로에서 출력된 상기 반전 리셋신호의 논리상태가 반전됨에 따라 상기 래치의 출력상태가 리셋되는 것을 특징으로 하는 플래쉬 메모리의 기록오류 방지회로.
  4. 제1항에 있어서, 상기 플래쉬 메모리의 기록작업이 정상적으로 종료되었을 때 상기 마이크로프로세서가 인식할 수 있는 식별부호가 기록되고 저장되는 메모리를 더 포함하며, 상기 마이크로 프로세서는 상기 리셋회로에 의해 초기화된 후 상기 메모리에 저장된 상기 식별부호에 대응하여 시스템의 동작여부를 결정하도록 한 것을 특징으로 하는 플래쉬 메모리의 기록오류 방지회로.
KR1019980031602A 1998-08-04 1998-08-04 플래쉬메모리의기록오류방지회로 KR100303649B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980031602A KR100303649B1 (ko) 1998-08-04 1998-08-04 플래쉬메모리의기록오류방지회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980031602A KR100303649B1 (ko) 1998-08-04 1998-08-04 플래쉬메모리의기록오류방지회로

Publications (2)

Publication Number Publication Date
KR20000012990A KR20000012990A (ko) 2000-03-06
KR100303649B1 true KR100303649B1 (ko) 2001-11-22

Family

ID=19546310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980031602A KR100303649B1 (ko) 1998-08-04 1998-08-04 플래쉬메모리의기록오류방지회로

Country Status (1)

Country Link
KR (1) KR100303649B1 (ko)

Also Published As

Publication number Publication date
KR20000012990A (ko) 2000-03-06

Similar Documents

Publication Publication Date Title
US5613130A (en) Card voltage switching and protection
US6253281B1 (en) Method for updating firmware of a computer peripheral device
US6148441A (en) Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
US20060282558A1 (en) Control chip for optical disk drive and method for updating firmware in the control chip
US6115814A (en) Memory paging scheme for 8051 class microcontrollers
US7251706B2 (en) System and method for updating firmware in a non-volatile memory without using a processor
US5237687A (en) Microprogram load unit having alternative backup memory sources
US20050021918A1 (en) Memory and information processing systems with lockable buffer memories and related methods
US6532529B1 (en) Microcomputer including flash memory overwritable during operation and operating method thereof
JPH05217361A (ja) メモリカード
KR100303649B1 (ko) 플래쉬메모리의기록오류방지회로
EP1246201A2 (en) Semiconductor memory
US6713778B2 (en) Register setting method and semiconductor device
JPH0935026A (ja) コンピュータ用カード
JPH09231065A (ja) プログラム変更可能な電子制御装置
US7596717B2 (en) Microcomputer and debugging method
JPS62205599A (ja) 書込可能読出専用記憶回路
JPH10283172A (ja) フラッシュromデータ書き換え方式
JPH05324305A (ja) プログラム変更方法
KR100224865B1 (ko) 로봇 제어방법
JP3912447B2 (ja) メモリシステムおよび外部不揮発メモリの使用方法
AU640442B2 (en) Method and apparatus for controlling writing to memory
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法
JPH04287106A (ja) 不揮発性記憶素子搭載の制御装置
JPH11353153A (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: 20070628

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee