[go: up one dir, main page]

KR100388219B1 - Flash memory embeded one-chip micro controller unit - Google Patents

Flash memory embeded one-chip micro controller unit Download PDF

Info

Publication number
KR100388219B1
KR100388219B1 KR10-2000-0050492A KR20000050492A KR100388219B1 KR 100388219 B1 KR100388219 B1 KR 100388219B1 KR 20000050492 A KR20000050492 A KR 20000050492A KR 100388219 B1 KR100388219 B1 KR 100388219B1
Authority
KR
South Korea
Prior art keywords
flash memory
microcontroller unit
data
register
programming
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR10-2000-0050492A
Other languages
Korean (ko)
Other versions
KR20020017279A (en
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 KR10-2000-0050492A priority Critical patent/KR100388219B1/en
Publication of KR20020017279A publication Critical patent/KR20020017279A/en
Application granted granted Critical
Publication of KR100388219B1 publication Critical patent/KR100388219B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)

Abstract

본 발명은 플래쉬 메모리가 내장된 원칩 마이크로 콘트롤러 유닛에 관한 것으로, 마이크로 콘트롤러 유닛과 플래쉬 메모리를 하나의 칩 상에 구현하고, 플래쉬 메모리 내에 스테이트 머신 대신 레지스터를 두어 소거와 프로그래밍이 수행되도록 하는데 그 목적이 있다. 이와 같은 목적의 본 발명에 따른 원칩 마이크로 콘트롤러 유닛은, 마이크로 콘트롤러 유닛과 롬, 플래쉬 메모리, 주변 회로, 플래쉬 메모리 인터페이스가 하나의 칩에 형성되어 이루어진다. 마이크로 콘트롤러 유닛은 제어와 연산 기능을 수행한다. 롬에는 마이크로 콘트롤러 유닛에서 수행되는 명령어와 시스템 부팅시 필요한 명령어 및 데이터가 저장된다. 플래쉬 메모리에는 마이크로 콘트롤러 유닛의 명령어와 데이터가 프로그래밍 된다. 주변 회로는 마이크로 콘트롤러 유닛과 외부에 연결되는 호스트와의 인터페이스를 위한 것이다. 플래쉬 메모리 인터페이스는 플래쉬 메모리와 외부의 롬 라이터 사이의 데이터 전송 경로를 선택적으로 제거하고, 상기 플래쉬 메모리와 마이크로 콘트롤러 유닛 사이의 데이터 전송 경로를 선택적으로 제어한다.The present invention relates to a one-chip microcontroller unit with a built-in flash memory, and implements the microcontroller unit and the flash memory on a single chip, and puts a register instead of a state machine in the flash memory so that erase and programming can be performed. have. One-chip microcontroller unit according to the present invention for this purpose, the microcontroller unit and the ROM, flash memory, peripheral circuit, flash memory interface is formed on one chip. The microcontroller unit performs control and arithmetic functions. The ROM stores the commands executed in the microcontroller unit and the commands and data required for system booting. The flash memory is programmed with the instructions and data of the microcontroller unit. Peripheral circuitry is for interfacing the microcontroller unit with an externally connected host. The flash memory interface selectively removes a data transfer path between the flash memory and an external ROM writer and selectively controls the data transfer path between the flash memory and the microcontroller unit.

Description

플래쉬 메모리가 내장된 원칩 마이크로 콘트롤러 유닛{Flash memory embeded one-chip micro controller unit}Flash memory embeded one-chip micro controller unit

본 발명은 마이크로 콘트롤러 유닛(MCU, Micro Controller Unit)에 관한 것으로, 특히 필요한 마이크로 콘트롤러의 제어 동작에 필요한 구성 요소가 하나의 칩에 통합 형성되는 원칩 마이크로 콘트롤러에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microcontroller unit (MCU), and more particularly to a one-chip microcontroller in which components necessary for a control operation of a microcontroller are integrally formed on one chip.

일반적으로 원칩 마이크로 콘트롤러는 중앙처리장치와 프로그램 메모리, 데이터 메모리, 입출력 포트 등이 데이터 버스와 어드레스 버스 등으로 상호 유기적으로 연결되어 이루어진다. 원칩 마이크로 콘트롤러 유닛은 별도의 데이터와 명령어 등을 저장하기 위하여 별도의 메모리 칩과 함께 인쇄회로기판 상에 탑재되는 경우가 많다. 도 1은 이와 같은 종래의 마이크로 콘트롤러 유닛과 플래쉬 메모리가 하나의 인쇄회로기판에 독립적으로 탑재되는 경우를 나타낸 블록 다이어그램이다.In general, the one-chip microcontroller is formed by organically connecting the central processing unit, program memory, data memory, and input / output ports with data buses and address buses. One-chip microcontroller units are often mounted on a printed circuit board together with a separate memory chip to store separate data and instructions. 1 is a block diagram illustrating a case where such a conventional microcontroller unit and a flash memory are independently mounted on a single printed circuit board.

도 1에 나타낸 바와 같이, 하나의 인쇄회로기판(102) 상에 각각 독립된 칩으로 형성된 마이크로 콘트롤러 유닛(104)과 플래쉬 메모리(106)가 탑재되고, 데이터 버스와 어드레스 버스 등으로 상호 연결되어 하나의 시스템을 구성한다.As shown in FIG. 1, a microcontroller unit 104 and a flash memory 106 formed of independent chips are mounted on a single printed circuit board 102 and connected to each other by a data bus and an address bus. Configure the system.

이 경우, 독립된 두 개의 칩을 인쇄회로기판 상에 탑재하기 위한 설계상의 어려움이 따르고, 인쇄회로기판에서 차지하는 면적이 커지는 문제가 있다.In this case, there is a problem in designing for mounting two independent chips on a printed circuit board, and the area occupied by the printed circuit board becomes large.

본 발명에 따른 원칩 마이크로 콘트롤러 유닛은, 마이크로 콘트롤러 유닛과 플래쉬 메모리를 하나의 칩 상에 구현하고, 플래쉬 메모리 내에 스테이트 머신 대신 레지스터를 두어 소거와 프로그래밍이 수행되도록 하는데 그 목적이 있다.One-chip microcontroller unit according to the present invention is to implement the microcontroller unit and the flash memory on one chip, and to place the register in the flash memory instead of the state machine to perform the erase and programming.

이와 같은 목적의 본 발명은 마이크로 콘트롤러 유닛과 롬, 플래쉬 메모리, 주변 회로, 플래쉬 메모리 인터페이스가 하나의 칩에 형성되어 이루어진다. 마이크로 콘트롤러 유닛은 제어와 연산 기능을 수행한다. 롬에는 마이크로 콘트롤러 유닛에서 수행되는 명령어와 시스템 부팅시 필요한 명령어 및 데이터가 저장된다. 플래쉬 메모리에는 마이크로 콘트롤러 유닛의 명령어와 데이터가 프로그래밍 된다. 주변 회로는 마이크로 콘트롤러 유닛과 외부에 연결되는 호스트와의 인터페이스를 위한 것이다. 플래쉬 메모리 인터페이스는 플래쉬 메모리와 외부의 롬 라이터 사이의 데이터 전송 경로를 선택적으로 제거하고, 상기 플래쉬 메모리와 마이크로 콘트롤러 유닛 사이의 데이터 전송 경로를 선택적으로 제어한다.According to the present invention, a microcontroller unit, a ROM, a flash memory, a peripheral circuit, and a flash memory interface are formed on a single chip. The microcontroller unit performs control and arithmetic functions. The ROM stores the commands executed in the microcontroller unit and the commands and data required for system booting. The flash memory is programmed with the instructions and data of the microcontroller unit. Peripheral circuitry is for interfacing the microcontroller unit with an externally connected host. The flash memory interface selectively removes a data transfer path between the flash memory and an external ROM writer and selectively controls the data transfer path between the flash memory and the microcontroller unit.

도 1은 종래의 마이크로 콘트롤러 유닛과 플래쉬 메모리가 하나의 인쇄회로기판에 독립적으로 탑재된 경우를 나타낸 블록 다이어그램.1 is a block diagram showing a case where a conventional microcontroller unit and a flash memory are independently mounted on a single printed circuit board.

도 2는 본 발명에 따른 플래쉬 메모리가 내장된 원칩 마이크로 콘트롤러 유닛의 블록 다이어그램.2 is a block diagram of a one-chip microcontroller unit incorporating a flash memory according to the present invention.

도 3은 본 발명에 따른 원칩 마이크로 콘트롤러 유닛에 내장되는 플래쉬 메모리의 구성을 나타낸 블록 다이어그램.Figure 3 is a block diagram showing the configuration of a flash memory embedded in the one-chip microcontroller unit according to the present invention.

도 4는 본 발명에 따른 원칩 마이크로 콘트롤러 유닛의 온-칩 모드(on-chip mode)를 설명하기 위한 블록 다이어그램.4 is a block diagram for explaining on-chip mode of a one-chip microcontroller unit according to the present invention;

도 5는 본 발명에 따른 원칩 마이크로 콘트롤러 유닛의 온-보드 모드(on-board mode)를 설명하기 위한 블록 다이어그램.5 is a block diagram illustrating an on-board mode of a one-chip microcontroller unit in accordance with the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

102 : 인쇄회로기판 104, 204 : 마이크로 콘트롤러 유닛102: printed circuit board 104, 204: microcontroller unit

106, 210 : 플래쉬 메모리 202 : 원칩 마이크로 콘트롤러 유닛106, 210: flash memory 202: one-chip microcontroller unit

206 : 롬 208 : 에스램206: Romans 208: Sram

212 : 주변 회로 214 : 플래쉬 메모리 인터페이스212: peripheral circuit 214: flash memory interface

302 : 플래쉬 메모리 셀 어레이 304 : X-디코더302: flash memory cell array 304: X-decoder

306 : Y-디코더 308 : 센스 앰프306: Y-decoder 308: sense amplifier

310 : 어드레스 천이 검출부 312 : 고전압 발생부310: address transition detector 312: high voltage generator

316 : 레지스터부 402 : 롬 라이터316: register 402: ROM writer

502 : 호스트502: host

본 발명에 따른 원칩 마이크로 콘트롤러 유닛을 도 2 내지 도 5를 참조하여 설명하면 다음과 같다. 먼저 도 2는 본 발명에 따른 플래쉬 메모리가 내장된 원칩 마이크로 콘트롤러 유닛의 블록 다이어그램이다.The one-chip microcontroller unit according to the present invention will be described with reference to FIGS. 2 to 5. 2 is a block diagram of a one-chip microcontroller unit incorporating a flash memory according to the present invention.

도 2에 나타낸 바와 같이, 원칩 마이크로 콘트롤러 유닛(202)은 마이크로 콘트롤러유닛(204)과 롬(ROM)(206), 에스램(SRAM)(208), 플래쉬 메모리(210), 주변 회로(peripheral circuit)(212), 플래쉬 메모리 인터페이스(214)가 데이터 버스를 통해 유기적으로 연결되어 이루어진다.As shown in FIG. 2, the one-chip microcontroller unit 202 includes a microcontroller unit 204, a ROM 206, an SRAM 208, a flash memory 210, and a peripheral circuit. 212, flash memory interface 214 is organically connected via a data bus.

마이크로 콘트롤러 유닛(204)은 제어와 연산 기능을 수행한다.The microcontroller unit 204 performs control and arithmetic functions.

롬(206)은 마이크로 콘트롤러 유닛(204)이 수행할 명령어를 저장한다. 플래쉬 메모리(210) 역시 마이크로 콘트롤러 유닛(204)이 수행할 명령어를 저장하는데, 롬(206)에는 시스템 부팅시에 외부의 호스트(host)와의 직렬/병렬 통신을 수행하는데 필요한 비교적 작은 크기의 명령어가 저장되는 점이 플래쉬 메모리(210)와 다른 점이다.The ROM 206 stores instructions for the microcontroller unit 204 to perform. The flash memory 210 also stores instructions for the microcontroller unit 204 to execute. The ROM 206 includes relatively small instructions necessary for performing serial / parallel communication with an external host at system boot. The stored point is different from the flash memory 210.

에스램(208)은 연산을 위한 임시 데이터를 저장하거나, 간단한 명령어를 외부로부터 직렬 입력받아 저장한다.The SRAM 208 stores temporary data for operation or receives a simple command serially from an external device.

플래쉬 메모리(210)는 EEPROM(Electrically Erasable and Programmable ROM)의 한 종류로서, 마이크로 콘트롤러 유닛(204)의 명령어나 파라메터 데이터(parameter data) 등을 저장한다.The flash memory 210 is a type of EEPROM (Electrically Erasable and Programmable ROM), and stores instructions, parameter data, and the like of the microcontroller unit 204.

주변 회로(212)는 마이크로 콘트롤러 유닛(204)과 외부 호스트와의 인터페이스를 위한 것인데, 와치-독 타이머(watch-dog timer)와 직렬 및 병렬 입출력 인터페이스(I/O interface), 아날로그-디지털 변환기(ADC), 위상동기루프 회로(PLL) 등이 포함된다.Peripheral circuitry 212 is for interfacing the microcontroller unit 204 with an external host, including a watch-dog timer, serial and parallel input / output interfaces, and analog-to-digital converters. ADC), phase locked loop circuit (PLL), and the like.

플래쉬 메모리 인터페이스(214)는 플래쉬 메모리(210)가 온-칩 모드(on-chip mode)에서 동작할 때 외부의 롬 라이터(ROM writer)와 플래쉬 메모리(210) 사이의 데이터 전송 경로나, 마이크로 콘트롤러 유닛(204)과 플래쉬 메모리(210) 사이의 데이터 전송 경로를 선택적으로 제어한다.The flash memory interface 214 may be a microcontroller or a data transfer path between an external ROM writer and the flash memory 210 when the flash memory 210 operates in an on-chip mode. The data transfer path between the unit 204 and the flash memory 210 is selectively controlled.

도 3은 본 발명에 따른 원칩 마이크로 콘트롤러 유닛에 내장되는 플래쉬 메모리의 구성을 나타낸 블록 다이어그램이다. 도 3에 나타낸 바와 같이, 본 발명에 따른 플래쉬 메모리는 플래쉬 메모리 셀 어레이(302)와 X-디코더(304) 및 Y-디코더(306), 센스 앰프(308), 어드레스 천이 검출부(310), 고전압 발생부(312), 레지스터(316)를 포함하여 이루어진다.3 is a block diagram showing the configuration of a flash memory embedded in a one-chip microcontroller unit according to the present invention. As shown in FIG. 3, the flash memory according to the present invention includes a flash memory cell array 302, an X-decoder 304 and a Y-decoder 306, a sense amplifier 308, an address transition detector 310, and a high voltage. It includes a generator 312, the register 316.

플래쉬 메모리 셀 어레이(302)에는 소정의 프로그래밍이 이루어진다. X-디코더(304)와 Y-디코더(306)는 로우 어드레스 및 컬럼 어드레스를 디코딩 하여 플래쉬 메모리 셀 어레이(302)에서 해당 메모리 셀이 선택되도록 한다. 센스 앰프(308)는 선택된 메모리 셀의 데이터를 센싱하여 증폭한다. 어드레스 천이 검출부(310)는 어드레스의 변화를 검출하고, 그때마다 센스 앰프(308)를 인에이블 시킨다. 고전압 발생부(312)는 플래쉬 메모리 셀 어레이(302)의 각각의 셀을 프로그래밍할 때 필요한 고전압을 발생시키는데, 전하 펌프 회로(charge pump circuit)와 전압 레귤레이터(voltage regulator) 등으로 구성된다.The flash memory cell array 302 is programmed. X-decoder 304 and Y-decoder 306 decode the row address and column address so that the corresponding memory cell is selected in flash memory cell array 302. The sense amplifier 308 senses and amplifies data of the selected memory cell. The address transition detection unit 310 detects a change in the address and enables the sense amplifier 308 at each time. The high voltage generator 312 generates a high voltage required when programming each cell of the flash memory cell array 302. The high voltage generator 312 includes a charge pump circuit and a voltage regulator.

레지스터부(316)는 다음과 같이 구성된다. 어드레스 레지스터(address register)는 프로그래밍하고자하는 셀들의 어드레스를 저장한다. 어드레스 레지스터에 저장된 데이터가 논리 0일 때 프로그래밍을 수행하고 논리 1일 때에는 프로그래밍을 수행하지 않는다. 데이터 레지스터(data register)는 프로그래밍하고자 하는 데이터를 저장한다. 콘트롤 레지스터(control register)는 프로그램 펄스(program pulse)와소거 펄스(erase pulse)의 제어 값과 고전압 발생부(312)의 전하 펌프 회로의 제어 값, 프로그래밍 및 소거 확인(programming and erase verify) 제어 값 등을 저장한다. 소거 블록 선택 레지스터(erase block selection register)는 플래쉬 메모리 셀 어레이(302)에 구분되어 있는 각각의 소거 블록을 선택하기 위한 제어 값들을 저장한다. 즉, 플래쉬 메모리 셀 어레이(302)의 데이터가 소거될 때 블록 단위로 소거되는데, 소거 블록 선택 레지스터의 값을 참조하여 특정 블록을 선택함으로써 해당 블록의 데이터를 소거할 수 있다. 파워 레지스터(power register)는 고전압 발생부(312)의 전압 레벨을 결정하는 값들을 저장한다. 테스트 레지스터(test register)는 플래쉬 메모리 셀 어레이(302)의 신뢰성 시험과 각 메모리 셀의 문턱전압 측정 및 리퍼런스 셀(reference cell)의 프로그래밍에 필요한 제어 값들을 저장한다. 플래쉬 메모리(210)의 입출력 신호는 어드레스 신호(ADD)와 칩 셀렉트바 신호(CEB), 라이트 인에이블바 신호(WEB), 리셋바 신호(RSTB), 레지스터 선택 신호(R_SEL), 입력 데이터 신호(DIN), 출력 데이터 신호(DOUT) 등이 있다.The register section 316 is configured as follows. An address register stores the address of cells to be programmed. Programming is performed when the data stored in the address register is logical zero. Programming is not performed when the logic one is logical. The data register stores the data to be programmed. The control register includes control values of program pulses and erase pulses, control values of the charge pump circuit of the high voltage generator 312, and programming and erase verify control values. And so on. An erase block selection register stores control values for selecting each erase block that is divided in the flash memory cell array 302. In other words, when data of the flash memory cell array 302 is erased, the data of the corresponding block may be erased by selecting a specific block by referring to the value of the erase block selection register. The power register stores values for determining the voltage level of the high voltage generator 312. The test register stores control values necessary for the reliability test of the flash memory cell array 302, the threshold voltage measurement of each memory cell, and the programming of the reference cell. The input / output signal of the flash memory 210 includes an address signal ADD, a chip select bar signal CEB, a write enable bar signal WEB, a reset bar signal RSTB, a register selection signal R_SEL, and an input data signal ( DIN), an output data signal DOUT, and the like.

본 발명에 따른 원칩 마이크로 콘트롤러 유닛은 온-칩 모드와 온-보드 모드의 두 가지 동작 모드를 갖는데, 이를 도 4와 도 5를 참조하여 설명하면 다음과 같다. 먼저 도 4는 본 발명에 따른 원칩 마이크로 콘트롤러 유닛의 온-칩 모드(on-chip mode)를 설명하기 위한 블록 다이어그램이다. 도 4에 나타낸 바와 같이, 온-칩 모드에서 모드 제어 신호(MODE)는 원칩 마이크로 콘트롤러 유닛(202)을 온-칩 모드로 전환시키면, 플래쉬 메모리 인터페이스(214)를 통해 외부의 롬 라이터(ROM writer)(402)로부터 직접 플래쉬 메모리(210)에 프로그래밍 된다.The one-chip microcontroller unit according to the present invention has two operation modes, an on-chip mode and an on-board mode, which will be described with reference to FIGS. 4 and 5. 4 is a block diagram illustrating an on-chip mode of a one-chip microcontroller unit according to the present invention. As shown in FIG. 4, in the on-chip mode, the mode control signal MODE is converted to an external ROM writer through the flash memory interface 214 when the one-chip microcontroller unit 202 is switched to the on-chip mode. 402 is programmed into the flash memory 210 directly.

도 5는 본 발명에 따른 원칩 마이크로 콘트롤러 유닛의 온-보드 모드(on-board mode)를 설명하기 위한 블록 다이어그램이다. 도 5에 나타낸 바와 같이, 온-보드 모드에서 모드 제어 신호(MODE)가 원칩 마이크로 콘트롤러 유닛(202)을 온-보드 모드로 전환시키면, 프로그래밍하고자 하는 데이터가 외부의 호스트(502)에서 주변 회로(212)의 입출력 인터페이스와 마이크로 콘트롤러 유닛(204)을 통해 전달되어 에스램(208)에 저장되고, 이때 프로그래밍 및 소거에 필요한 명령어도 함께 에스램(208)에 저장된다. 마이크로 콘트롤러 유닛(204)은 에스램(208)에 저장된 전달된 데이터와 명령어를 이용하여 플래쉬 메모리(210)에 데이터를 프로그래밍 한다.FIG. 5 is a block diagram illustrating an on-board mode of a one-chip microcontroller unit according to the present invention. As shown in FIG. 5, when the mode control signal MODE switches the one-chip microcontroller unit 202 to the on-board mode in the on-board mode, the data to be programmed is transferred from the external host 502 to the peripheral circuit ( The input / output interface of 212 and the microcontroller unit 204 are transmitted and stored in the SRAM 208, where the instructions for programming and erasing are also stored in the SRAM 208. The microcontroller unit 204 programs the data in the flash memory 210 using the transferred data and instructions stored in the SRAM 208.

외부의 호스트나 내부의 마이크로 콘트롤러 유닛(204)이 레지스터부(316)의 값들을 이용하여 플래쉬 메모리 셀 어레이(302)를 프로그래밍 하는 순서는 다음과 같다. 호스트나 마이크로 콘트롤러 유닛(204)은 프로그래밍하고자 하는 데이터와 관련 주소를 각각 데이터 레지스터와 어드레스 레지스터에 기록하고, 프로그래밍하고자 하는 전압 레벨을 파워 레지스터에 기록한다. 다음은 콘트롤 레지스터의 프로그래밍 인에이블 비트를 인에이블 시켜서 프로그래밍을 수행한다. 프로그래밍이 완료되면 프로그래밍 인에이블 비트를 디스에이블 시킨다. 다음은, 콘트롤 레지스터의 프로그램 확인 비트를 선택하여 프로그래밍된 데이터를 리드(read)함으로써 프로그래밍이 성공적으로 이루어졌는지를 검사한다. 만약 프로그래밍이 성공적으로 이루어지지 않은 경우에는 제한된 회수 내에서 프로그래밍이 성공할 때까지 프로그래밍을 반복하고, 제한된 회수의 프로그래밍 동안에 프로그래밍이 성공하지 못하면 프로그래밍 실패(fail) 신호를 발생시킨다.The order in which the external host or the internal microcontroller unit 204 programs the flash memory cell array 302 using the values of the register unit 316 is as follows. The host or microcontroller unit 204 writes the data and associated addresses to be programmed into the data register and the address register, respectively, and the voltage level to be programmed into the power register. Next, programming is done by enabling the programming enable bit in the control register. When programming is complete, disable the programming enable bit. Next, the program check bit in the control register is selected to read the programmed data to verify that the programming was successful. If the programming is not successful, the programming is repeated until the programming succeeds within a limited number of times. If the programming does not succeed during the limited number of programming, a programming fail signal is generated.

외부의 호스트나 내부의 마이크로 콘트롤러 유닛(204)이 레지스터부(316)의 값들을 이용하여 플래쉬 메모리 셀 어레이(302)를 소거하는 순서는 다음과 같다. 소거 블록 선택 레지스터에서 소거하고자 하는 블록을 선택한다. 파워 레지스터에 소거에 필요한 전압 레벨을 기록한다. 콘트롤 레지스터의 소거 인에이블 비트를 활성화시켜서 소거 펄스를 발생시킨다. 소거 펄스가 발생함에 따라 소거에 필요한 충분한 타이밍이 확보된다. 콘트롤 레지스터의 소거 인에이블 비트를 비활성화시켜서 소거 동작을 종료시킨다. 소거 확인 비트를 활성화시켜서 데이터가 확실하게 소거되었는지를 확인한다. 소거가 확실히 이루어지지 않은 경우에는 상술한 소거 과정을 제한된 회수 내에서 반복적으로 실시한다.The external host or the internal microcontroller unit 204 erases the flash memory cell array 302 using the values of the register unit 316 as follows. Select the block to be erased from the erase block select register. Write the voltage level required for erasing to the power register. Enable the erase enable bit in the control register to generate an erase pulse. As the erase pulse is generated, sufficient timing for erasing is ensured. The erase operation is terminated by disabling the erase enable bit of the control register. Enable the erase confirmation bit to verify that the data has been erased securely. If the erasure is not made surely, the above erasing process is repeatedly performed within a limited number of times.

상술한 프로그래밍 동작과 소거 동작이 온-칩 모드에서 수행되는 경우의 제어 알고리듬은 롬 라이터(402)의 제어 시스템의 기계어로 코딩되며, 온-보드 모드에서의 제어 알고리듬은 마이크로 콘트롤러 유닛(204)의 기계어로 코딩되어 에스램(208)에 저장된다.The control algorithm in the case where the programming operation and the erasing operation described above are performed in the on-chip mode is coded in the machine language of the control system of the ROM writer 402, and the control algorithm in the on-board mode is stored in the microcontroller unit 204. Coded in machine language and stored in SRAM 208.

본 발명에 따른 원칩 마이크로 콘트롤러 유닛은, 원칩 마이크로 콘트롤러 유닛과 플래쉬 메모리를 하나의 칩 상에 구현함으로써 제품의 설계와 제작이 용이하고, 플래쉬 메모리 내에 스테이트 머신 대신 레지스터를 두어 프로그래밍과 소거가 이루어지도록 함으로써 회로의 면적, 즉 칩 사이즈가 감소하는 효과를 제공한다.The one-chip microcontroller unit according to the present invention can be easily designed and manufactured by implementing the one-chip microcontroller unit and the flash memory on one chip, and by programming and erasing by placing a register in place of the state machine in the flash memory. The area of the circuit, i.e. the chip size, is reduced.

Claims (4)

삭제delete 삭제delete 마이크로 콘트롤러 유닛과 플래쉬 메모리와 SRAM과 부팅 ROM과 입출력 유닛이 하나의 반도체 칩으로 구현된 반도체 회로에서 상기 플래쉬 메모리를 프로그래밍하는 방법에 있어서,A method of programming the flash memory in a semiconductor circuit in which a microcontroller unit, a flash memory, an SRAM, a boot ROM, and an input / output unit are implemented as a single semiconductor chip, 상기 마이크로 콘트롤러 유닛이 상기 부팅 ROM에 저장되어 있는 명령어를 수행해서 상기 입출력 유닛을 통해 상기 플래쉬 메모리를 프로그램하기 위한 알고리듬과 데이터를 직렬로 받아서 상기 SRAM에 저장하는 단계와,Executing, by the microcontroller unit, an instruction stored in the boot ROM, and receiving the algorithm and data for programming the flash memory through the input / output unit in series and storing the data in the SRAM; 상기 마이크로 콘트롤러 유닛이 상기 SRAM에 저장된 알고리듬을 이용해 상기 플래쉬 메모리에 데이터를 쓰고 읽음으로 상기 플래쉬 메모리를 프로그래밍하는 단계를 구비하며,Programming the flash memory by the microcontroller unit writing and reading data to and from the flash memory using an algorithm stored in the SRAM, 상기 플래쉬 메모리는 어드레스 레지스터와 데이터 레지스터와 파워 레지스터와 제어 레지스터와 센싱 회로와 고전압 발생 회로를 가지고 있으며,The flash memory has an address register, a data register, a power register, a control register, a sensing circuit, and a high voltage generation circuit. 상기 플래쉬 메모리를 프로그램하는 단계는The programming of the flash memory 상기 마이크로 콘트롤러 유닛이 프로그램하고자 하는 셀들의 어드레스와 데이터를 각각 상기 어드레스 레지스터와 상기 데이터 레지스터에 쓰는 제1 과정과,A first process of writing the address and data of cells to be programmed by the microcontroller unit into the address register and the data register, respectively; 상기 마이크로 콘트롤러 유닛이 프로그램하기에 충분한 전압값을 상기 파워 레지스터에 기록하는 제2 과정과,Writing a voltage value sufficient to be programmed by the microcontroller unit into the power register; 상기 마이크로 콘트롤러 유닛이 상기 제어 레지스터를 이용하여 프로그램 펄스를 상기 어드레스 레지스터에 저장된 어드레스의 셀들에 인가하는 제3 과정과,A third process of applying, by the microcontroller unit, a program pulse to cells of an address stored in the address register using the control register; 상기 마이크로 콘트롤러 유닛이 상기 어드레스의 메모리 셀의 데이터를 읽어서 상기 프로그램하고자 하는 데이터와 비교하는 제4 과정과,A fourth step of the microcontroller unit reading data of the memory cell at the address and comparing the data with the data to be programmed; 상기 비교 과정을 통해 두 데이터의 값이 동일하면 프로그램을 종료하고 동일하지 않으면 제1 과정으로 이동하는 제5 과정으로If the two data values are the same through the comparison process, the program is terminated. If not, the fifth process moves to the first process. 수행되는 것을 특징으로 하는 플래쉬 메모리의 프로그래밍 방법.A method of programming a flash memory, characterized in that performed. 삭제delete
KR10-2000-0050492A 2000-08-29 2000-08-29 Flash memory embeded one-chip micro controller unit Expired - Fee Related KR100388219B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0050492A KR100388219B1 (en) 2000-08-29 2000-08-29 Flash memory embeded one-chip micro controller unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0050492A KR100388219B1 (en) 2000-08-29 2000-08-29 Flash memory embeded one-chip micro controller unit

Publications (2)

Publication Number Publication Date
KR20020017279A KR20020017279A (en) 2002-03-07
KR100388219B1 true KR100388219B1 (en) 2003-06-19

Family

ID=19685911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0050492A Expired - Fee Related KR100388219B1 (en) 2000-08-29 2000-08-29 Flash memory embeded one-chip micro controller unit

Country Status (1)

Country Link
KR (1) KR100388219B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103389963B (en) * 2012-05-09 2016-08-31 北京兆易创新科技股份有限公司 A kind of embedded system controller
CN108399146B (en) * 2018-02-26 2021-11-23 上海东软载波微电子有限公司 Flash controller, instruction fetching method and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266219A (en) * 1992-03-17 1993-10-15 Hitachi Ltd Microcomputer
US5872994A (en) * 1995-11-10 1999-02-16 Nec Corporation Flash memory incorporating microcomputer having on-board writing function
KR20000009368A (en) * 1998-07-23 2000-02-15 양 딩유안 Microcomputer having built-in flash memory with on-chip programmability and method of programming data in flash memory
JP2000181898A (en) * 1998-12-14 2000-06-30 Nec Corp Flash memory mounted type single chip microcomputer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266219A (en) * 1992-03-17 1993-10-15 Hitachi Ltd Microcomputer
US5872994A (en) * 1995-11-10 1999-02-16 Nec Corporation Flash memory incorporating microcomputer having on-board writing function
KR20000009368A (en) * 1998-07-23 2000-02-15 양 딩유안 Microcomputer having built-in flash memory with on-chip programmability and method of programming data in flash memory
JP2000181898A (en) * 1998-12-14 2000-06-30 Nec Corp Flash memory mounted type single chip microcomputer

Also Published As

Publication number Publication date
KR20020017279A (en) 2002-03-07

Similar Documents

Publication Publication Date Title
KR100375217B1 (en) Microcontroller incorporating an electrically rewritable non-volatile memory
US7463520B2 (en) Memory device with variable trim settings
US8799725B2 (en) Macro and command execution from memory array
EP2301034B1 (en) Fast, low-power reading of data in a flash memory
CN104051018B (en) Nonvolatile memory device and method of operating the same
WO1998028745A1 (en) Nonvolatile writeable memory with fast programming capability
US9772779B2 (en) Methods for operating a distributed controller system in a memory device
CN114237122B (en) Circuit and operation method for configuring, reading back and refreshing SRAM type FPGA
EP0808501B1 (en) Filtered serial event controlled command port for flash memory
US5802268A (en) Digital processor with embedded eeprom memory
EP0617377A2 (en) Microcomputer with flash memory
KR100388219B1 (en) Flash memory embeded one-chip micro controller unit
JP4327626B2 (en) Nonvolatile semiconductor memory device
JPH07296599A (en) Nonvolatile semiconductor memory
US20060236164A1 (en) Automatic test entry termination in a memory device
US7310277B2 (en) Non-volatile semiconductor storage device with specific command enable/disable control signal
EP0582991B1 (en) Data processing apparatus having a flash memory built-in which is rewritable by use of external device
JP4873526B2 (en) Semiconductor integrated circuit and microcomputer
US20030142570A1 (en) Memory controller and serial memory
JPH11176174A (en) Writing circuit of non-volatile memory and non-volatile memory
KR20110001581A (en) How copyback works for nonvolatile memory devices
JP3135770B2 (en) Nonvolatile semiconductor memory and storage device using the nonvolatile semiconductor memory
US7499321B2 (en) Semiconductor integrated circuit
KR20060039251A (en) Microcontroller Unit with Flash Memory
KR20040006109A (en) Smart card system with nonvolatile memory

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20000829

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20020618

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20021227

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20020618

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20030127

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20021227

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20030310

Appeal identifier: 2003101000267

Request date: 20030127

PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20030127

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20030127

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20020816

Patent event code: PB09011R02I

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20030310

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20030228

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20030605

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20030609

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee