KR20050030987A - Flash memory in mcu - Google Patents
Flash memory in mcu Download PDFInfo
- Publication number
- KR20050030987A KR20050030987A KR1020030067139A KR20030067139A KR20050030987A KR 20050030987 A KR20050030987 A KR 20050030987A KR 1020030067139 A KR1020030067139 A KR 1020030067139A KR 20030067139 A KR20030067139 A KR 20030067139A KR 20050030987 A KR20050030987 A KR 20050030987A
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- bist
- boot loader
- program
- area
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
Description
본 발명은 프로그램 가능한 BIST(Built In Self Test)를 포함하는 MCU(Micro Controller Unit)에 사용되는 플래시 메모리(flash memory)에 관한 것으로, 보다 상세하게는 ISP(In System Programmable)를 지원하고, MCU에 내장된 플래시 메모리에서 부트 로더(boot loader) 영역과 BIST 영역의 플래시 메모리를 부트 로더 프로그램과 BIST 프로그램의 최적화 이후에 ROM(Read Only Memory)으로 코딩(coding)하여, 웨이퍼 테스트 시에 저가의 장비로 다수의 칩을 동시에 테스트하여 테스트 비용을 줄일 수 있는 기술이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to flash memory for use in a microcontroller unit (MCU) including a programmable BIST (Built In Self Test). More specifically, the present invention supports an ISP (In System Programmable), In the embedded flash memory, the flash memory of the boot loader area and BIST area is coded into ROM (Read Only Memory) after the optimization of the boot loader program and the BIST program. It is a technology that reduces test cost by testing multiple chips simultaneously.
일반적으로 MCU(Micro Controller Unit)는 장치 등의 조작이나 프로세스를 제어하는 역할을 수행하는 집적 회로(IC)를 나타낸다.In general, MCU (Micro Controller Unit) refers to an integrated circuit (IC) that serves to control the operation or process of the device.
최초의 MCU는 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM)를 내장하여 설계되었지만, 현재는 플래시 메모리(flash memory)를 내장하여 설계된다.The first MCUs were designed with built-in electronic erase and programmable read-only memory (EEPROM), but are now designed with embedded flash memory.
플래시 메모리의 특성상 쓰기 동작을 수행하기 위해 바이트(byte)당 10∼100㎲가 소요되고, 소거 동작에는 적게는 수십 ㎳에서 많게는 수초가 소요된다.Due to the characteristics of the flash memory, it takes 10 to 100 ms per byte to perform a write operation, and an erase operation takes as few as tens of ms to many seconds.
또한 플래시 메모리 셀의 결함 여부를 테스트하기 위해서 제조 업체는 다양한 데이터 패턴(data pattern)을 사용하여 수차례의 쓰기(write)/검증(verify)/소거(erase) 동작 테스트를 수행한다. In addition, to test for defects in flash memory cells, manufacturers perform multiple write / verify / erase operations tests using a variety of data patterns.
따라서 MCU에 내장된 플래시 메모리의 용량이 크게 늘어남에 따라 전체 칩 테스트 시에 플래시 메모리를 테스트하는 시간이 증가하여 테스트 비용이 증가하는 문제점이 있다.Therefore, as the capacity of the flash memory embedded in the MCU increases significantly, the test cost increases due to an increase in the time required to test the flash memory during the entire chip test.
상기 문제점을 해결하기 위한 본 발명의 목적은 부트 로더 영역과 BIST 영역의 플래시 메모리를 부트 로더 프로그램과 BIST 프로그램의 최적화 이후에 ROM으로 코딩하여 웨이퍼 테스트 시에 저가의 장비로 다수의 칩을 동시에 테스트하여 테스트 비용을 줄이는 것이다.An object of the present invention for solving the above problems is to encode a flash memory in the boot loader area and BIST area into ROM after the optimization of the boot loader program and BIST program to test a plurality of chips at the same time with low-cost equipment at the time of wafer test To reduce the cost of testing.
상기 목적을 달성하기 위한 본 발명의 ISP(In System Programmable)를 지원하고 프로그램 가능한 BIST(Built In Self Test)를 포함하는 MCU(Micro Controller Unit)에 사용되는 플래시 메모리에 있어서, 사용자 프로그램이 저장되는 사용자 영역; 부트 로더(boot loader) 프로그램이 저장되는 부트 로더 영역; 및 BIST 프로그램이 저장되는 BIST 영역을 포함하되, 상기 부트 로더 영역과 상기 BIST 영역의 플래시 메모리 셀들은 부트 로더 프로그램과 BIST 프로그램의 최적화 이후에 마스크 ROM으로 코딩되는 것을 특징으로 한다.In the flash memory used in the microcontroller unit (Microcontroller Unit), which supports the ISP (In System Programmable) of the present invention and includes a programmable BIST (Built In Self Test) for achieving the above object, the user program is stored domain; A boot loader area in which a boot loader program is stored; And a BIST region in which a BIST program is stored, wherein the boot loader region and the flash memory cells of the BIST region are coded into a mask ROM after optimization of the boot loader program and the BIST program.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.The above and other objects and features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 MCU에서 ISP(In System Programmable) 기능과 BIST 기능이 내장된 플래시 메모리의 구조를 나타낸 블록도이다.1 is a block diagram illustrating a structure of a flash memory having an ISP (In System Programmable) function and a BIST function in a MCU according to the present invention.
플래시 메모리는 사용자 적용 프로그램이 저장되는 영역(1)과, BIST 프로그램이 저장되는 영역(2)과, 부트 로더 영역(3)으로 구분된다. 또한 BIST 프로그램이 저장되는 영역(2)에는 테스트 결과를 저장하는 영역(4)을 별도로 할당한다.The flash memory is divided into an area 1 in which a user application program is stored, an area 2 in which a BIST program is stored, and a boot loader area 3. In addition, an area 4 for storing test results is separately allocated to an area 2 in which a BIST program is stored.
여기서, BIST 프로그램이 저장되는 영역(2)과 부트 로더 영역(3)의 플래시 메모리 셀들은 BIST를 수행하게 되면 부트 로더 프로그램과 BIST 프로그램을 플래시 메모리 타입으로 쓰기 동작하여 검증한 후에 고정(fix)된 부트 로더 및 BIST 프로그램을 콘택 옵션(contack option)에 의해 마스크 롬(mask ROM) 타입으로 코딩(coding)할 수 있다.Here, the flash memory cells in the region 2 and the boot loader region 3 in which the BIST program is stored are fixed after writing and verifying the boot loader program and the BIST program in the flash memory type when performing the BIST. The boot loader and the BIST program may be coded into a mask ROM type by a contact option.
도 2는 도 1의 플래시 메모리의 구조에서 부트 로더 및 BIST 영역의 상세 블록을 나타낸 개념 블록도이다.FIG. 2 is a conceptual block diagram illustrating detailed blocks of a boot loader and a BIST region in the structure of the flash memory of FIG. 1.
BIST 프로그램이 저장되는 플래시 메모리 영역(2)은 테스트 모드 명령에 의해 BIST를 제어하는 BIST 제어 기능(BIST management)(11)을 포함한다.The flash memory area 2 in which the BIST program is stored includes a BIST management function 11 that controls the BIST by a test mode command.
부트 로더 영역(3)은 사용자 적용 프로그램(user application program)의 다운로드(downloading) 과정에서 외부 호스트(host)와의 통신을 처리하는 ISP 통신 제어 기능(ISP communication management)(12)과, 사용자 적용 프로그램이 수행되고 있을 때에도 플래시 메모리의 쓰기 또는 소거를 가능하도록 제어하는 사용자 요청 제어 기능(user call management)(API)(13)과, 사용자 적용 프로그램이 저장되는 플래시 메모리 영역(1)을 제어하는 플래시 메모리 제어 기능(14)을 포함한다.The boot loader area 3 includes an ISP communication management function 12 that handles communication with an external host during a download process of a user application program, and a user application program. Flash memory control for controlling a user call management (API) 13 for controlling writing or erasing of the flash memory even when it is being performed, and for the flash memory area 1 in which a user application program is stored. Function 14.
여기서, ISP의 특성상 외부의 롬 라이터(ROM writer)를 사용하지 않고 플래시 메모리를 액세스하여야 하기 때문에 기본적인 쓰기/소거/확증(verify) 동작은 하드웨어로 구성된 플래시 메모리 제어 회로(flash memory control logic)와 CPU(Central Processing Unit)에 의해 플래시 메모리 제어 서브루틴(flash memory management sub routine) 내의 낮은 수준의 처리 명령어에 의해 소프트웨어로 제어한다.In this case, the basic write / erase / verify operations are performed by hardware-based flash memory control logic and CPU because the ISP needs to access the flash memory without using an external ROM writer. The software is controlled by low level processing instructions in the flash memory management subroutine by the Central Processing Unit.
따라서 소프트웨어 적으로 모든 플래시 메모리의 액세스가 가능하기 때문에 BIST 제어 루틴을 플래시 메모리의 특정 영역(2)에 추가할 수 있다. As a result, all flash memories are accessible in software, which allows BIST control routines to be added to a specific area of flash memory.
통상적으로 부트 로더의 ISP 및 API 프로그램은 제조업체가 저장한 후 사용자에게 출하할 때 최적화된 알고리즘을 찾기 위해 수많은 디버깅 과정을 거치게 되는데, 상기한 바와 같이 모든 과정을 소프트웨어 적으로 처리하는 경우 플래시 메모리 셀에 저장되는 소프트웨어를 수정하면 되기 때문에 하드웨어 적인 논리 회로나 마스크 ROM으로 구현된 부트 로더에 비해 많은 시간과 비용을 줄일 수 있다.Typically, the boot loader's ISP and API programs go through a number of debugging steps to find optimized algorithms when the manufacturer stores and ships them to the user. By modifying the software stored, it saves a lot of time and money compared to a boot loader implemented with hardware logic circuitry or mask ROM.
또한 소프트웨어 적으로 구현된 BIST도 프로그램을 디버깅하기 쉽기 때문에 시간과 비용을 줄일 수 있다.Software-implemented BIST also saves time and money because the program is easy to debug.
여기서 한번 부트 로더 프로그램이 고정(fix)되고 나면 출하하기 전에 항상 코딩(cording)을 해주어야 하는데 이를 테스트 과정에서 처리하게 되면 테스트 비용이 증가하고, BIST 프로그램의 경우 BIST를 동작시키기 위해 웨이퍼를 가공한 후에 프로그래밍 과정이 추가로 필요한 경우 BIST의 목적인 테스트 시간을 감소시킬 수 없게 된다.Once the boot loader program is fixed, it must be coded before shipment. If this is done during the test process, the test cost increases, and in the case of the BIST program, the wafer is processed to operate the BIST. If additional programming is required, the test time, which is the purpose of BIST, cannot be reduced.
따라서 이러한 문제점을 해결하기 위해 본 발명에서는 BIST 영역(2)과 부트 로더 영역(3)의 플래시 메모리 셀들은 프로그램의 디버깅 과정에서는 ROM 라이터를 통해 일반적인 플래시 메모리 셀처럼 쓰기 또는 소거를 수행하고 프로그램의 디버깅이 완료되어 양산에 들어갈 때는 마스크 ROM처럼 동작하도록 설계한다.Therefore, in order to solve this problem, in the present invention, the flash memory cells of the BIST region 2 and the boot loader region 3 perform writing or erasing as a general flash memory cell through a ROM writer during debugging of the program, and debugging of the program. When it's finished, it's designed to act like a mask ROM.
도 3a는 도 1의 플래시 메모리 구조에서 사용자 영역(1)의 플래시 메모리 셀들을 나타낸 회로도이고, 도 3b는 BIST 영역(2)과 부트 로더 영역(3)의 플래시 메모리 셀들을 나타낸 회로도이다.3A is a circuit diagram illustrating flash memory cells of the user region 1 in the flash memory structure of FIG. 1, and FIG. 3B is a circuit diagram illustrating flash memory cells of the BIST region 2 and the boot loader region 3.
먼저, 사용자 영역(1)의 플래시 메모리 셀들(FMC1, FMC2)은 쓰기 또는 소거가 가능하도록 일반적인 플래시 메모리 셀과 동일하게 형성한다. 즉, 사용 면적을 줄이기 위해 인접한 셀들이 드레인이 공통 연결되어 비트 라인(BL)에 접속된다.First, the flash memory cells FMC1 and FMC2 of the user region 1 are formed in the same manner as a general flash memory cell to enable writing or erasing. That is, in order to reduce the use area, adjacent cells are connected to the bit line BL with drains connected in common.
한편 BIST 영역(2)과 부트 로더 영역(3)의 플래시 메모리 셀들은 비트 라인에 연결된 콘택(contact)을 각 셀에 대해 서로 분리하여 형성하여 프로그램의 디버깅 과정에서는 ROM 라이터를 통해 일반적인 플래시 메모리 셀처럼 쓰기 또는 소거를 수행하고 프로그램의 디버깅이 완료되어 양산에 들어갈 때는 콘택을 형성시키거나 제거하여 마스크 ROM처럼 동작하도록 설계한다.On the other hand, the flash memory cells of the BIST region 2 and the boot loader region 3 form a contact connected to the bit line with respect to each cell. When writing or erasing and debugging of the program is completed, it is designed to act like a mask ROM by making or removing contacts.
또한, 부트 로더와 BIST 프로그램이 저장되는 플래시 메모리 셀들의 드레인이나 소스 영역의 불순물 주입(implant dose) 양을 조절하여 프로그램된 셀과 프로그램되지 않은 셀로 구분하여 마스크 ROM처럼 동작하도록 설계할 수도 있다.In addition, an impurity implantation amount of a drain or a source region of a flash memory cell in which a boot loader and a BIST program are stored may be controlled to be divided into a programmed cell and an unprogrammed cell to operate as a mask ROM.
이상에서 살펴본 바와 같이, 본 발명에 따른 프로그램 가능한 BIST를 포함하는 MCU에 사용되는 플래시 메모리는 부트 로더 영역과 BIST 영역의 플래시 메모리 셀들을 부트 로더 프로그램과 BIST 프로그램의 최적화 이후에 마스트 ROM처럼 동작하도록 코딩할 수 있기 때문에 부트 로더 프로그램과 BIST 프로그램을 테스트 중에 코딩하는 과정을 없애 테스트 시간을 줄일 수 있는 효과가 있다.As described above, the flash memory used in the MCU including the programmable BIST according to the present invention codes the flash memory cells in the boot loader region and the BIST region to operate like a master ROM after optimization of the boot loader program and the BIST program. This can reduce test time by eliminating the coding of boot loader programs and BIST programs during testing.
또한 BIST를 통해 저가의 테스트 장비에서 다수의 칩을 동시에 테스트 할 수 있기 때문에 테스트 시간과 테스트 비용을 줄일 수 있는 효과가 있다.BIST also allows you to test multiple chips simultaneously on low-cost test equipment, reducing test time and test costs.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.In addition, a preferred embodiment of the present invention is for the purpose of illustration, those skilled in the art will be able to various modifications, changes, substitutions and additions through the spirit and scope of the appended claims, such modifications and changes are the following claims It should be seen as belonging to a range.
도 1은 본 발명에 따른 MCU에서 ISP(In System Programmable) 기능과 BIST 기능이 내장된 플래시 메모리의 구조를 나타낸 블록도.1 is a block diagram illustrating a structure of a flash memory having an ISP (In System Programmable) function and a BIST function in a MCU according to the present invention.
도 2는 도 1의 플래시 메모리의 구조에서 부트 로더 및 BIST 영역의 상세 블록을 나타낸 개념 블록도.FIG. 2 is a conceptual block diagram illustrating detailed blocks of a boot loader and a BIST region in the structure of the flash memory of FIG. 1. FIG.
도 3a는 도 1의 플래시 메모리 구조에서 사용자 영역의 플래시 메모리 셀들을 나타낸 회로도.3A is a circuit diagram illustrating flash memory cells of a user area in the flash memory structure of FIG.
도 3b는 도 1의 플래시 메모리 구조에서 BIST 영역과 부트 로더 영역의 플래시 메모리 셀들을 나타낸 회로도.3B is a circuit diagram illustrating flash memory cells of a BIST region and a boot loader region in the flash memory structure of FIG.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030067139A KR20050030987A (en) | 2003-09-27 | 2003-09-27 | Flash memory in mcu |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030067139A KR20050030987A (en) | 2003-09-27 | 2003-09-27 | Flash memory in mcu |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050030987A true KR20050030987A (en) | 2005-04-01 |
Family
ID=37236017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030067139A KR20050030987A (en) | 2003-09-27 | 2003-09-27 | Flash memory in mcu |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20050030987A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370611B2 (en) | 2007-03-14 | 2013-02-05 | Samsung Electronics Co., Ltd. | Memory card, memory system including the same, and operating method thereof |
WO2013101006A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Generic address scrambler for memory circuit test engine |
-
2003
- 2003-09-27 KR KR1020030067139A patent/KR20050030987A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370611B2 (en) | 2007-03-14 | 2013-02-05 | Samsung Electronics Co., Ltd. | Memory card, memory system including the same, and operating method thereof |
WO2013101006A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Generic address scrambler for memory circuit test engine |
US9236143B2 (en) | 2011-12-28 | 2016-01-12 | Intel Corporation | Generic address scrambler for memory circuit test engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7218551B2 (en) | Multiple level cell memory device with single bit per cell, re-mappable memory block | |
KR100375217B1 (en) | Microcontroller incorporating an electrically rewritable non-volatile memory | |
US5845332A (en) | Non-volatile memory, memory card and information processing apparatus using the same and method for software write protect control of non-volatile memory | |
KR101819014B1 (en) | Method and controller for managing memory device | |
US7093064B2 (en) | Programming suspend status indicator for flash memory | |
US6947323B2 (en) | Chip protection register unlocking | |
US7463520B2 (en) | Memory device with variable trim settings | |
US7002853B2 (en) | Memory card having a buffer memory for storing testing instruction | |
US6336176B1 (en) | Memory configuration data protection | |
US8799725B2 (en) | Macro and command execution from memory array | |
US6981188B2 (en) | Non-volatile memory device with self test | |
JP2000065899A (en) | Semiconductor device, and its data rewriting method | |
US7181566B2 (en) | Scratch control memory array in a flash memory device | |
EP2148334A1 (en) | Differential flash memory programming technique | |
US6459640B1 (en) | Nonvolatile semiconductor memory and automatic erasing/writing method thereof | |
KR20050030987A (en) | Flash memory in mcu | |
KR100311757B1 (en) | Memory block replacement system and replacement method for a semiconductor memory | |
CN111159071B (en) | Device and method for realizing OTP (one time programmable) by eFlash memory and OTP memory | |
JPH1116966A (en) | Pad arrangement method of one-chip microcomputer | |
JPS62289999A (en) | Data writing method | |
JPH10289221A (en) | Microcontroller | |
KR20040006109A (en) | Smart card system with nonvolatile memory | |
JP2006133982A (en) | Microcomputer and method for protecting data of nonvolatile memory in microcomputer | |
JPH11353299A (en) | Single chip microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |