KR20150102701A - 반도체 장치 - Google Patents

반도체 장치 Download PDF

Info

Publication number
KR20150102701A
KR20150102701A KR1020150026310A KR20150026310A KR20150102701A KR 20150102701 A KR20150102701 A KR 20150102701A KR 1020150026310 A KR1020150026310 A KR 1020150026310A KR 20150026310 A KR20150026310 A KR 20150026310A KR 20150102701 A KR20150102701 A KR 20150102701A
Authority
KR
South Korea
Prior art keywords
memory
semiconductor device
test
controller
main processor
Prior art date
Application number
KR1020150026310A
Other languages
English (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 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20150102701A publication Critical patent/KR20150102701A/ko

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

불휘발성 메모리 모듈을 내장한 반도체 장치에 있어서, 불휘발성 메모리 모듈의 특성의 평가를 용이하게 하는 기술을 제공한다.
MCU(200)는 CPU(11)와, 플래시 메모리(15)와, 플래시 메모리(15)에의 기입 및 소거를 제어하는 FPCC(48)를 구비한다. FPCC(48)는 플래시 메모리(15)에 대한 기입 등을 행하기 위한 프로그램을 실행함으로써, CPU(11)로부터 발행되는 커맨드에 따라서 플래시 메모리(15)에의 기입 등을 행한다. MCU(200)에 있어서, FCU(41)가 플래시 메모리(15)를 평가하기 위한 테스트 펌웨어를 실행하도록 구성되어 있다. 또한, RAM(13)은 CPU(11)와 FCU(41)를 사용할 수 있는 구성으로 하고 있다.

Description

반도체 장치{SEMICONDUCTOR DEVICE}
본 개시는, 재기입 가능한 불휘발성 메모리 모듈을 구비한 반도체 장치에 관한 것으로, 특히 불휘발성 메모리의 특성 평가를 용이하게 하기 위한 기술에 관한 것이다.
마이크로 컨트롤러 등의 반도체 장치는, 다양한 전자 기기의 제어에 사용되고 있으며, 여러 제품에 사용되고 있다. 반도체 장치에는, 플래시 메모리 등 재기입 가능한 불휘발성 메모리를 구비하는 것이 있고, 프로세서의 명령 실행에 의해 플래시 메모리에 대한 데이터의 판독, 기입, 소거가 행해진다. 반도체 장치의 미세화에 수반하여, 플래시 메모리에 대한 기입 및 소거의 제어가 복잡해지고 있다. 그로 인해, 플래시 메모리의 시작 시, 플래시 메모리를 내장한 MCU(Micro Control Unit)의 개발 및 이들 장치의 제작 시 등에 있어서, 플래시 메모리에 대한 특성 평가가 필요하게 된다.
플래시 메모리 등 불휘발성 기억 장치의 특성을 평가하는 기술로서, 예를 들어 일본 특허 공개 제2007-34554호 공보(특허문헌 1)가 있다. 특허문헌 1에 기재된 기술은, 기입 및 소거 가능한 불휘발성 메모리 모듈과, CPU(Central Processing Unit)를 구비하는 반도체 집적 회로에 관한 것이다. 특허문헌 1에 기재된 기술에 의하면, 반도체 집적 회로는, 제1 동작 모드와, 제2 동작 모드를 갖는다. 제1 동작 모드에서는 CPU가 차례차례 명령을 실행함으로써, 불휘발성 메모리 모듈에 대한 기입 및 소거를 제어한다. 제2 동작 모드에서는, CPU로부터 발행된 커맨드에 대하여 로컬 CPU가 응답하고, 로컬 CPU가 차례차례 명령을 실행함으로써, 불휘발성 메모리 모듈에 대한 기입 및 소거를 제어한다. 반도체 집적 회로를 통상 동작시키는 경우, 제2 동작 모드에서 동작시킴으로써, 로컬 CPU가 불휘발성 메모리 모듈에의 기입 등의 처리를 하는 동안에 CPU가 그 외의 처리를 실행할 수 있어, 리얼타임성을 유지하여 처리를 행할 수 있다. 반도체 집적 회로는 불휘발성 메모리 모듈에 대한 테스트를 행하는 경우, 제1 동작 모드와 제2 동작 모드 둘다 선택할 수 있다.
일본 특허 공개 제2007-34554호 공보
특허문헌 1에 기재된 기술에 있어서, 불휘발성 메모리 모듈에 대한 테스트를 행할 때, 통상 공개되지 않은 제어를 실행하는 경우, 로컬 CPU로부터는 데이터의 액세스를 할 수 없어, CPU로부터 액세스 가능한 RAM(Random Access Memory)에, 각종 설정을 저장해서 테스트를 행한다. 유저는 제1 동작 모드를 선택하여, CPU에 동작시키는 프로그램 및 불휘발성 메모리 모듈의 평가를 행하기 위한 각종 설정을 RAM에 저장하고, 프로그램을 교체하여, 불휘발성 메모리 모듈에 대한 복수의 테스트 항목을 평가한다.
그러나, 특허문헌 1에 기재된 기술에 의하면, 불휘발성 메모리 모듈을 평가하기 위한 테스트 프로그램을 CPU에 의해 실행하기 위해서, 테스트 프로그램을 CPU에 맞춰서 개발할 필요가 있다.
불휘발성 메모리 모듈의 테스트는 복잡하기 때문에, 예를 들어 불휘발성 메모리 모듈을 내장한 MCU를 개발하는 경우, 개발할 때마다 테스트 프로그램의 개발이 필요해져서, 개발 비용이 증가한다. 그로 인해, 불휘발성 메모리 모듈의 특성 평가를 용이하게 하는 기술이 필요해지고 있다.
그 외의 과제와 신규 특징은, 본 명세서의 기술 및 첨부 도면으로부터 명백해질 것이다.
일 실시 형태에 따르는 반도체 장치는, 메인 프로세서와, 재기입 가능한 불휘발성 메모리와, 상기 불휘발성 메모리에의 기입 및 소거를 제어하는 메모리 컨트롤러를 구비한다. 메모리 컨트롤러는, 불휘발성 메모리에 대한 판독/기입/소거를 행하기 위한 제어 프로그램을 기억하고, 제어 프로그램을 실행함으로써, 메인 프로세서로부터 발행되는 커맨드에 따라서 불휘발성 메모리에의 판독/기입/소거를 행한다. 반도체 장치에 있어서, 메모리 컨트롤러가, 불휘발성 메모리를 평가하기 위한 테스트 펌웨어를 실행하도록 구성되어 있다.
일 실시 형태에 따르는 반도체 장치에 의하면, CPU와, 재기입 가능한 불휘발성 메모리 모듈과, 불휘발성 메모리 모듈의 컨트롤러를 구비하는 구성에 있어서, 불휘발성 메모리 모듈의 컨트롤러가 테스트 펌웨어(test firmware)를 실행하기 위해서, CPU에 의존하지 않고 테스트 펌웨어를 개발할 수 있다. 그로 인해, CPU에 맞춰서 테스트 펌웨어를 개발하는 경우와 비교하여, 테스트 펌웨어의 개발이 용이하게 된다.
도 1은 관련 기술에 있어서의 반도체 장치인 MCU(100)의 구성을 도시하는 블록도.
도 2는 각 프로그램의 실행 주체를 도시하는 도면.
도 3은 실시 형태 1의 반도체 장치인 MCU(200)의 구성을 도시하는 블록도.
도 4는 각 프로그램의 실행 주체를 도시하는 도면.
도 5는 실시 형태 2의 반도체 장치인 MCU(300)의 구성을 도시하는 블록도.
도 6은 각 프로그램의 실행 주체를 도시하는 도면.
도 7은 실시 형태 3의 반도체 장치인 MCU(400)의 구성을 도시하는 블록도.
도 8은 각 프로그램의 실행 주체를 도시하는 도면.
도 9는 실시 형태 4의 반도체 장치인 MCU(500)의 구성을 도시하는 블록도.
도 10은 각 프로그램의 실행 주체를 도시하는 도면.
도 11은 실시 형태 4의 변형예 1의 반도체 장치인 MCU(550)의 구성을 도시하는 블록도.
도 12는 각 프로그램의 실행 주체를 도시하는 도면.
도 13은 실시 형태 5의 반도체 장치인 MCU(600)의 구성을 도시하는 블록도.
도 14는 각 프로그램의 실행 주체를 도시하는 도면.
도 15는 실시 형태 5의 변형예의 반도체 장치인 MCU(650)의 구성을 도시하는 블록도.
도 16은 각 프로그램의 실행 주체를 도시하는 도면.
이하, 도면을 참조하면서, 본 개시의 반도체 장치의 실시 형태에 대해서 설명한다. 이하의 설명에서는, 동일한 부품에는 동일한 부호를 붙이고 있다. 그들의 명칭 및 기능도 동일하다. 따라서, 그들에 관한 상세한 설명은 반복하지 않는다.
<관련 기술>
실시 형태에 따른 반도체 장치와 대비하기 위해서, 관련된 기술에 대해서 설명한다. 도 1은 관련 기술에 있어서의 반도체 장치인 MCU(100)의 구성을 도시하는 블록도이다. 관련 기술인 MCU(100)는 재기입 가능한 불휘발성 메모리(플래시 메모리)를 내장한 시스템이다. 도 1에 도시한 바와 같이, 관련 기술인 MCU(100)는 CPU(11)와, BSC(Bus State Controller)(12)와, RAM(13)과, 플래시 메모리(15)와, FCU(41)를 포함한다. FCU(41)는 FLC(플래시 기입 제어 회로)(42)와, FBSC(로컬 버스 컨트롤러)(44)와, F-RAM(플래시 RAM)(45)과, FCPU(로컬 CPU)(46)와, FIMC(CPU 인터페이스 컨트롤러)(47)를 포함한다.
CPU(11)는 MCU(100)의 동작을 제어하기 위한 프로세서이다.
BSC(12)는 내부 버스(21)와 주변 버스(31)를 접속하고, 주변 버스(31)에 접속되는 각 모듈에의 CPU(11)의 액세스를 가능하게 한다.
RAM(13)은 재기입 가능한 휘발성 메모리이며, 내부 버스(21)를 통해서 CPU(11)로부터의 액세스를 접수한다. 관련 기술인 MCU(100)에 있어서, RAM(13)은 FCU(41)의 외부에 있음과 함께, 유저 프로그램(25) 및 테스트 펌웨어(26)를 기억한다. FCU(41)로부터는 RAM(13)에 액세스할 수 없다. 유저 프로그램(25)은 유저가 임의로 작성하는 프로그램이다. 테스트 펌웨어(26)는 플래시 메모리(15)의 특성을 평가하기 위한 프로그램이다. 플래시 메모리(15)를 테스트하기 위한 각종 설정 정보가 RAM(13)에 기억되고, CPU(11)는 RAM(13)으로부터 테스트 펌웨어(26)를 판독하여 플래시 메모리(15)의 각종 특성을 평가한다.
플래시 메모리(15)는 불휘발성 메모리이다. 예를 들어, 플래시 메모리(15)는 CPU(11)가 동작하기 위한 프로그램, 불휘발적으로 유지해야 할 데이터 등을 저장한다. 플래시 메모리(15)는 전기적으로 소거 및 기입 가능한 다수의 불휘발성 메모리 트랜지스터를 갖는다.
FCU(41)는 CPU(11)로부터 발행되는 커맨드에 따라서, 플래시 메모리(15)에 대한 판독/기입/소거를 행한다. CPU(11)는 내부 버스(21) 및 주변 버스(31)를 경유하여, FCU(41)와 접속한다.
FLC(42)는 플래시 메모리(15)에 대한 재기입을 제어하기 위한 레지스터를 갖는다. 예를 들어, FLC(42)는 플래시 메모리(15)의 기입에 사용하는 펄스 전압, 플래시 메모리(15)의 소거에 사용하는 펄스 전압, 드레인 전압, 소스 전압 등의 각 전압 레벨의 조정 결과, MCU(100)의 동작 모드(유저 프로그램을 따라서 동작하는 「통상 동작 모드」, 플래시 메모리(15)의 특성을 평가하기 위한 「테스트 모드」 등) 등이 설정된다.
FBSC(44)는 로컬 버스(43)를 제어하기 위한 컨트롤러이다. 로컬 버스(43)에는 플래시 메모리(15), FLC(42) 등이 접속된다.
F-RAM(45)는 FCU(41)에 내장되는 RAM이다. MCU(100)가 통상 동작 모드에서 동작하고 있는 경우, F-RAM(45)의 기억 영역의 일부는, CPU(11)로부터의 액세스로부터는 보호된다. F-RAM(45)에는 FCPU(46)가 플래시 메모리(15)에의 기입/판독/소거를 실행하기 위한 플래시 제어 프로그램(27)이 기억되어 있다.
FCPU(46)는 FCU(41)의 동작을 제어하기 위한 프로세서이다. CPU(11)가 발행하는 커맨드는 FIMC(47)에 의해 변환된다. FCPU(46)는 범용적인 프로세서를 사용할 수 있다. FCPU(46)는 플래시 제어 프로그램(27)을 F-RAM(45)으로부터 판독하여 실행함으로써, CPU(11)로부터 발행되는 커맨드에 따라서 플래시 메모리(15)에의 액세스를 행할 수 있다.
FIMC(47)는 주변 버스(31)에 접속되고, CPU(11)로부터의 액세스에 따라서 FCPU(46)를 기동한다. FIMC(47)는 FBSC(44)에 커맨드를 발행함으로써, F-RAM(45), FLC(42) 등에의 로컬 버스(43)를 경유해서 제어를 행한다.
관련 기술인 MCU(100)에 있어서, RAM(13)의 기억 영역 중 적어도 일부는, CPU(11)로부터는 액세스 가능하지만, FCPU(46)로부터는 액세스할 수 없는 영역이며, 이 영역에 플래시 메모리(15)의 테스트에 필요한 설정을 기억시켜서 플래시 메모리(15)의 테스트를 행할 수 있다. 플래시 메모리(15)에 대하여 비닉하고 싶은 동작을 행하는 경우, 유저는 테스트 펌웨어(26)를 RAM(13)에 저장하고, CPU(11)에 의해 테스트 펌웨어(26)를 실행함으로써 플래시 메모리(15)의 특성을 평가한다. 유저는 RAM(13)에 저장하는 프로그램을 교체하고, 플래시 메모리(15)의 특성을 평가한다.
이 관련 기술의 구성에 있어서, 테스트 펌웨어(26)를 실행하는 주체는, CPU(11)이기 때문에, 프로그램의 개발자는, 테스트 펌웨어(26)를 CPU(11)의 사양에 따라서 개발할 필요가 있다. 또한, 테스트 펌웨어(26)는 노하우가 축적되어 있기 때문에, 테스트 펌웨어(26)의 해석을 곤란하게 하면서, 플래시 메모리(15)의 특성의 평가를 가능하게 하는 것이 바람직하다.
도 2는 각 프로그램의 실행 주체를 도시하는 도면이다. 도 2에 도시한 바와 같이, CPU(11)는 통상 동작 모드 시에는 유저 프로그램(25)을 판독하여 실행하고, 테스트 모드 시에는 테스트 펌웨어(26)를 판독하여 실행한다. 또한, 플래시 메모리(15)에의 액세스는 FCPU(46)가 플래시 제어 프로그램(27)을 판독하여 실행함으로써 실현한다.
따라서, 이하에 설명하는 실시 형태 1의 반도체 장치에서는, 테스트 펌웨어(26)의 실행 주체를, FCU(41)로 함으로써, CPU(11)에 의존하지 않는 테스트 펌웨어(26)의 개발을 가능하게 한다. 이에 의해, 테스트 펌웨어(26)의 개발을 용이하게 한다.
<실시 형태 1>
도 3과 도 4를 참조하여 실시 형태 1의 반도체 장치에 대해서 설명한다. 도 3은 실시 형태 1의 반도체 장치인 MCU(200)의 구성을 도시하는 블록도이다.
도 3에 도시한 바와 같이, MCU(200)는 CPU(11)와, BSC(12)와, RAM(13)과, 플래시 메모리(15)와, 멀티플렉서(16)와, 멀티플렉서(17)와, FCU(41)와, FACI(Flash Application Command Interface)(51)와, FTSEQ(Flash Test Sequencer)(70)를 포함한다. FCU(41)는 FLC(42)와, FBSC(44)와, FPCC(Flash Program Customized Control)(48)와, ROM(49)을 포함한다.
FACI(51)는 CPU(11)와, FCU(41)의 인터페이스로 되는 모듈이다. CPU(11)가 FCU(41)에 대하여 발행한 커맨드는 내부 버스(21) 및 주변 버스(31)를 경유해서 FACI(51)에 출력된다. FACI(51)는 CPU(11)로부터 접수한 커맨드를 FPCC(48)의 사양에 맞춘 커맨드로서 FPCC(48)에 발행한다. CPU(11)가 FCU(41)에 대하여 발행하는 커맨드의 사양은 MCU(200)의 사양에 의한 경우가 있지만, FACI(51)에 의해 사양의 차이를 흡수해서 FPCC(48)에 커맨드를 발행한다. FACI(51)는 테스트 모드 시에만 로컬 버스(43)로부터 제어 가능한 Reg(99)를 구비하고 있다. Reg(99)는 플래시 메모리(15)의 재기입 시에 필요한 각종 설정 레지스터 등을 포함하고 있다. 테스트 모드 시에, FPCC(48)는 Reg(99)를 임의로 설정함으로써 각종 테스트를 실행할 수 있게 된다.
플래그(52)는 MCU(200)가 통상 동작 모드에서 동작하고 있는지, 테스트 모드에서 동작하고 있는지를 관리하기 위한 것이다. 플래그(52)는 외부의 장치로부터 설정 가능하다. MCU(200)는 플래그(52)의 설정에 따라서 멀티플렉서(16)와 멀티플렉서(17)에 신호를 출력해서 멀티플렉서(16) 및 멀티플렉서(17)의 접속 대상을 전환한다.
테스트용 시퀀서(70)는 플래시 메모리(15)의 특성을 평가하기 위한, 테스트 전용의 시퀀서이다. 테스트용 시퀀서(70)는 MCU(200)가 테스트 모드에서 동작하는 경우에 기동하고, 내부 버스(21)와 주변 버스(31)를 경유해서 FPCC(48)에 커맨드를 발행한다. 멀티플렉서(17)는 CPU(11)와 테스트용 시퀀서(70) 중 어느 하나를 내부 버스(21)에 접속한다. MCU(200)가 통상 동작 모드에서 동작하는 경우, 멀티플렉서(17)는 CPU(11)를 내부 버스(21)에 접속한다. MCU(200)가 테스트 모드에서 동작하는 경우, 멀티플렉서(17)는 테스트용 시퀀서(70)와 내부 버스(21)에 접속한다. 테스트용 시퀀서(70)는 FPCC(48)의 커맨드 실행 완료를 검지하고, 검지의 결과를 외부의 장치로 출력한다.
관련 기술인 MCU(100)와 비교하면, 실시 형태 1의 MCU(200)에 있어서, FCU(41)는 FCPU(46) 대신에 FPCC(48)를 갖는다. 또한, 플래시 제어 프로그램(27)을 ROM(49)에 저장하고 있다. FPCC(48)는 플래시 메모리(15)에의 기입 및 소거를 제어하는 컨트롤러이다. FPCC(48)는 ROM(49)에 저장된 플래시 제어 프로그램(27)으로부터 명령을 취득하고, 차례차례 실행함으로써, 플래시 메모리(15)에의 기입 및 소거를 실행한다. MCU(200)가 통상 동작 모드에서 동작하는 경우, CPU(11)로부터 발행되는 커맨드에 따라서 플래시 메모리(15)에의 기입 등을 행한다.
관련 기술인 MCU(100)와 비교하면, 실시 형태 1의 MCU(200)는 멀티플렉서(16)를 갖고 있으며, CPU(11)와 FCU(41)로부터 RAM(13)에 접속 가능하게 되어 있다. 즉, MCU(200)는 범용의 휘발성 메모리인 RAM(13)을, CPU(11)와 FCU(41)에서 공유하는 구성으로 하고 있다. 통상 동작 모드 시에 있어서, 멀티플렉서(16)는 CPU(11)와 RAM(13)을 접속한다. 테스트 모드 시에 있어서, 멀티플렉서(16)는 FCU(41)와 RAM(13)을 접속한다. RAM(13)은 MCU(200)가 통상 동작 모드에서 동작하는 경우, 유저 프로그램(25)을 저장하기 위한 것이다. MCU(200)는 RAM(13)에 유저 프로그램(25)을 저장한 후에, CPU(11)를 기동한다. CPU(11)는 RAM(13)으로부터의 명령의 페치를 개시하고, 명령을 차례차례 실행한다. RAM(13)은 MCU(200)가 테스트 모드에서 동작하는 경우, 테스트 펌웨어(26)를 저장한다. 테스트 모드에서의 동작 시에, 멀티플렉서(16)에 의해 FCU(41)와 RAM(13)이 접속됨으로써, FPCC(48)가 RAM(13)으로부터의 명령의 페치를 개시해서, 차례차례 명령을 실행함으로써, 플래시 메모리(15)의 테스트를 실행한다.
MCU(200)가 통상 동작 모드에서 동작하는 경우, FPCC(48)는, FBSC(44)의 버스 마스터로 된다. 단, FPCC(48)가 기동하고 있지 않은 경우에는, FACI(51)가 FBSC(44)의 버스 마스터로 된다.
도 4는 각 프로그램의 실행 주체를 도시하는 도면이다. 도 4에 도시한 바와 같이, CPU(11)는 통상 동작 모드 시에는 유저 프로그램(25)을 RAM(13)으로부터 판독하여 실행한다. FPCC(48)는 테스트 모드 시에 RAM(13)과 접속하고, RAM(13)으로부터 테스트 펌웨어(26)를 판독하여 실행한다. 또한, 플래시 메모리(15)에의 액세스는 FPCC(48)가 플래시 제어 프로그램(27)을 ROM(49)으로부터 판독하여 실행함으로써 실현한다.
<실시 형태 1의 정리>
실시 형태 1의 MCU(200)에 있어서, 테스트 모드에서 동작하는 경우, FPCC(48)가 테스트 펌웨어를 판독하여 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행한다. 이에 의해, 테스트 펌웨어를, CPU에 의존하지 않고 개발할 수 있으며, CPU에 맞춰서 개발하는 경우와 비교해서 테스트 펌웨어의 개발이 용이하게 된다.
또한, 실시 형태 1의 MCU(200)에 있어서, 테스트 펌웨어는 FPCC(48)의 사양에 대응한 전용의 언어로 기술할 수도 있고, 유저에 대해서는, 어셈블 후의 오브젝트 파일을 제공할 수도 있다. 이 경우, 유저측에서는 오브젝트 파일을 해독하는 것이 곤란해지기 때문에, 플래시 메모리를 테스트하기 위한 노하우를 비닉할 수 있다.
실시 형태 1의 MCU(200)에 있어서, FCU(41)는 로컬 버스(43)를 통해서 RAM(13)에 액세스 가능하게 함으로써, 테스트 모드에서 동작하는 경우에, FPCC(48)를 동작시키기 위한 프로그램의 저장 장소에 RAM(13)을 사용할 수 있다. 그로 인해, FPCC(48)를 동작시키기 위한 프로그램을 저장하기 위한 전용 RAM을 설치할 필요가 없어져서, 회로 면적을 삭감할 수 있다.
<실시 형태 2>
도 5와 도 6을 참조하여 실시 형태 2의 반도체 장치에 대해서 설명한다. 도 5는, 실시 형태 2의 반도체 장치인 MCU(300)의 구성을 도시하는 블록도이다.
도 5에 도시한 바와 같이, MCU(300)는 FCU(41)에 있어서, FCPU(46)와 FPCC(48)를 갖고, FCPU(46) 및 FPCC(48)와 FACI(51)의 접속을 전환하는 멀티플렉서(53)를 갖는다.
관련 기술과 비교하면, 실시 형태 2의 MCU(300)에 있어서, 통상 동작 모드에서 동작하는 경우, 멀티플렉서(53)는 FPCC(48)와 FACI(51)를 접속하고, CPU(11)로부터 발행되는 커맨드에 따라서, FPCC(48)가 플래시 메모리(15)에의 기입 등을 행한다. FACI(51)는 MCU(300)가 통상 동작 모드에서 동작할지, 테스트 모드에서 동작할지에 따라, 멀티플렉서(53)에 의한 전환을 제어한다.
FCPU(46)는 MCU(300)가 통상 동작 모드에서 동작하는 경우에는 기동하지 않고, 테스트 모드에서 동작하는 경우에, CPU(11)로부터 발행되는 커맨드에 의해 기동한다. FCPU(46)는 F-RAM(45)에 저장되는 테스트 펌웨어(26)로부터 명령을 취득하고, 명령을 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행한다.
도 5의 예에서는, FPCC(48)의 동작을 제어하기 위한 플래시 제어 프로그램(27)을 ROM(49)에 저장하는 것으로서 도시하고 있지만, F-RAM(45)에 저장해도 된다. F-RAM(45)는 FPCC(48) 또는 FCPU(46)의 동작을 제어하기 위한 프로그램을 저장하기 위한 휘발성 메모리이다. F-RAM(45)에 플래시 제어 프로그램(27)을 저장하는 경우, FPCC(48)가 기동하기 전에 F-RAM(45)에 플래시 제어 프로그램(27)을 전송한다. 이 경우, 플래시 제어 프로그램(27)은 플래시 메모리(15)의 일부 영역에 기입되어 있는 것으로 한다. 테스트 모드에서 동작하는 경우, FCPU(46)가 기동하기 위해서 F-RAM(45)에 테스트 펌웨어(26)를 전송한다.
RAM(13)은 범용적인 RAM이며, 유저 프로그램(25)을 저장하기 위한 것이다. CPU(11)는 기동 후에 RAM(13)으로부터의 명령의 페치를 개시하여 차례차례 명령을 실행한다.
도 6은 각 프로그램의 실행 주체를 도시하는 도면이다. 도 6에 도시한 바와 같이, CPU(11)는 통상 동작 모드 시에는 유저 프로그램(25)을 RAM(13)으로부터 판독하여 실행한다. FCPU(46)는 테스트 모드 시에 F-RAM(45)으로부터 테스트 펌웨어(26)를 판독하여 실행한다. 또한, 플래시 메모리(15)에의 액세스는 FPCC(48)가 플래시 제어 프로그램(27)을 ROM(49)으로부터 판독하여 실행함으로써 실현한다.
<실시 형태 2의 정리>
실시 형태 2의 MCU(300)에 의하면, MCU(300)가 테스트 모드에서 동작하는 경우, FCPU(46)가 테스트 펌웨어를 판독하여 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행한다. 이에 의해, 테스트 펌웨어를, CPU(11)에 의존하지 않고 개발할 수 있으며, CPU(11)에 맞춰서 개발하는 경우와 비교해서 테스트 펌웨어의 개발이 용이하게 된다.
또한, MCU(300)에 있어서, FCPU(46)를 범용적인 CPU에 의해 실현하는 경우, 테스트 펌웨어의 개발은, 일반적인 언어로 개발 가능해져서, 개발이 용이하게 된다.
MCU(300)에 의하면, FCPU(46)로서 범용적인 CPU를 사용하여, 플래시 메모리(15)에의 기입 소거의 제어에 특화된 전용 재기입 컨트롤러로서 FPCC(48)를 사용한다. 통상 동작 모드와 테스트 모드에서, 플래시 메모리(15)에의 기입 등에 사용하는 프로세서를 분리함으로써, 플래시 메모리(15)의 기입 소거의 특성을 최적화하면서, 유연하게 플래시 메모리(15)의 테스트를 할 수 있다.
<실시 형태 3>
도 7과 도 8을 참조하여 실시 형태 3의 반도체 장치에 대해서 설명한다. 도 7은 실시 형태 3의 반도체 장치인 MCU(400)의 구성을 도시하는 블록도이다.
도 7에 도시한 바와 같이, MCU(400)는 실시 형태 1에 나타내는 MCU(100)와 비교하면, FCU(41)에 있어서, FCPU(46)와 FPCC(48)를 갖는다. 또한, MCU(400)는 실시 형태 2에 나타내는 MCU(300)와 마찬가지로, 통상 동작 모드에서 동작하는 경우, FPCC(48)가 플래시 메모리(15)에의 기입 등을 행하고, 테스트 모드에서 동작하는 경우, FCPU(46)가 플래시 메모리(15)에 대한 테스트를 행한다.
도 8은 각 프로그램의 실행 주체를 도시하는 도면이다. 도 8에 도시한 바와 같이, CPU(11)는 통상 동작 모드 시에는 유저 프로그램(25)을 RAM(13)으로부터 판독하여 실행한다. FCPU(46)는 테스트 모드 시에 F-RAM(45)으로부터 테스트 펌웨어(26)를 판독하여 실행한다. 또한, 플래시 메모리(15)에의 액세스는, FPCC(48)가 플래시 제어 프로그램(27)을 ROM(49)으로부터 판독하여 실행함으로써 실현한다.
<실시 형태 3의 정리>
실시 형태 3의 MCU(400)에 의하면, MCU(400)가 테스트 모드에서 동작하는 경우, FCPU(46)가 테스트 펌웨어를 판독하여 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행한다. 이에 의해, 테스트 펌웨어를, CPU(11)에 의존하지 않고 개발할 수 있으며, CPU(11)에 맞춰서 개발하는 경우와 비교해서 테스트 펌웨어의 개발이 용이하게 된다.
또한, MCU(400)에 있어서, FCU(41)는 로컬 버스(43)를 통해서 RAM(13)에 액세스 가능하게 함으로써, 테스트 모드에서 동작하는 경우에, FPCC(48)를 동작시키기 위한 프로그램의 저장 장소에 RAM(13)을 사용할 수 있다. 그로 인해, FPCC(48)를 동작시키기 위한 프로그램을 저장하기 위한 전용 RAM을 설치할 필요가 없어져서, 회로 면적을 삭감할 수 있다.
<실시 형태 4>
도 9와 도 10을 참조하여 실시 형태 4의 반도체 장치에 대해서 설명한다.
도 9는 실시 형태 4의 반도체 장치인 MCU(500)의 구성을 도시하는 블록도이다.
도 10은 각 프로그램의 실행 주체를 도시하는 도면이다.
도 9에 도시한 바와 같이, MCU(500)는 실시 형태 1에 나타내는 MCU(200)와 비교하면, FCU(41)가 Flash 매크로(82)의 내부에 배치된다. 또한, FCU(41)의 로컬 버스(43)는 RAM(13) 및 FACI(51)와는 접속되지 않는다. 플래시 메모리(15)는 정보가 유지되는 불휘발성 메모리 셀이, 복수행 복수열에 걸쳐 매트릭스 형상으로 배치되는 메모리 셀 어레이를 갖는다. 제어 회로(59)는 이 플래시 메모리(15)의 메모리 셀 어레이에 대하여 정보의 판독 및 기입을 행하기 위한 제어 회로이다. 제어 회로는 액세스 대상의 메모리 셀을 특정하기 위한 행 어드레스를 디코드하는 행 디코드 회로와, 열 어드레스를 디코드하는 열 디코드 회로와, 행 어드레스 및 열 어드레스에 기초하여 선택된 메모리 셀에의 기입을 행하는 라이트 증폭기 회로와, 선택된 메모리 셀로부터 정보를 판독하는 감지 증폭기 회로 등을 포함한다.
MCU(500)에 있어서, Flash 매크로(82)의 내부에 FPCC(48)가 실장되고, Flash 매크로(82)의 외부에 FPCC(57)가 실장된다. FPCC(57)는 테스트 모드에서의 동작 시에 처리를 제어하는 제어 코어로서 기능한다. FPCC(57)는 테스트 모드에서의 동작 시에 FACI(51)를 경유해서 CPU(11)의 커맨드를 접수함으로써 기동한다. 멀티플렉서(16)는 테스트 모드인지 통상 모드인지에 따라서, CPU(11) 또는 FPCC(57) 중 어느 하나로부터의 메모리 액세스를 접수한다. 테스트 모드에서의 동작 시에, 멀티플렉서(16)는 FPCC(57)로부터의 판독을 접수한다. FPCC(57)는 테스트 모드에서의 동작 시에, RAM(13)에 저장된 명령 페치를 개시해서, 차례차례 명령을 실행함으로써, 플래시 메모리(15)의 테스트를 실행한다. 테스트 제어 코어로서 기능하는 FPCC(57)는 FCU(41)의 내부의 FPCC(48)의 기동도 가능하다.
<실시 형태 4의 정리>
실시 형태 4의 MCU(500)에 의하면, 테스트 모드에서 동작시키기 위한 프로그램의 저장 장소에, Flash 매크로(82)의 외부 메모리를 사용할 수 있다. 또한, 테스트 모드에서 동작시키기 위한 프로세서를, Flash 매크로(82)의 외부에 배치할 수 있다.
<실시 형태 4의 변형예 1>
도 11은 실시 형태 4의 변형예 1의 반도체 장치인 MCU(550)의 구성을 도시하는 블록도이다.
도 12는 각 프로그램의 실행 주체를 도시하는 도면이다.
멀티플렉서(16)는 테스트 모드인지 통상 모드인지에 따라서, CPU(11) 또는 FPCC(57) 중 어느 하나로부터의 메모리 액세스를 접수한다. 테스트 모드에서의 동작 시에, 멀티플렉서(16)는 FPCC(57)로부터의 판독을 접수한다. 실시 형태 1의 변형예 1에 있어서, FPCC(57)는, 외부 장치(테스터)로부터의 신호 입력을 테스트용 인터페이스(Test I/F)(81)에서 접수함으로써 기동한다.
<실시 형태 4의 변형예 2>
도 9에 나타내는 실시 형태 4의 반도체 장치인 MCU(500)에 있어서, Flash 매크로(82)의 외부에 FPCC(57)를 실장하고 있지만, 이 FPCC(57) 대신에, 범용적인 프로세서인 FCPU(46)를 사용하는 것으로 해도 된다. 즉, 범용적인 프로세서인 FCPU(46)를 Flash 매크로(82)의 외부에 배치하고, 이 FCPU(46)가 테스트 펌웨어(26)를 판독하여 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행하는 것으로 해도 된다.
<실시 형태 4의 변형예 3>
또한, 도 11에 도시하는 실시 형태 4의 변형예 1의 반도체 장치인 MCU(550)에 있어서, Flash 매크로(82)의 외부에 FPCC(57)를 실장하고 있지만, 이 FPCC(57) 대신에, 범용적인 프로세서인 FCPU(46)를 사용하는 것으로 해도 된다. 즉, 범용적인 프로세서인 FCPU(46)를 Flash 매크로(82)의 외부에 배치하고, 이 FCPU(46)가 테스트 펌웨어(26)를 판독하여 차례차례 실행함으로써, 플래시 메모리(15)의 테스트를 행하는 것으로 해도 된다.
<실시 형태 5>
도 13과 도 14를 참조하여 실시 형태 5의 반도체 장치에 대해서 설명한다.
도 13은 실시 형태 5의 반도체 장치인 MCU(600)의 구성을 도시하는 블록도이다.
도 14는 각 프로그램의 실행 주체를 도시하는 도면이다.
도 13에 도시한 바와 같이, MCU(600)는 실시 형태 2에 나타내는 MCU(300)와 비교하면, FCU(41)가 Flash 매크로(82)의 내부에 배치된다. 또한, FCU(41)의 로컬 버스(43)는 RAM(13) 및 FACI(51)와는 접속되지 않는다.
FCPU(46)와 F-RAM(45)은 Flash 매크로(82)의 외부에 배치된다. FCPU(46)는 테스트 모드에서의 동작 시에, FACI(51)를 경유해서 CPU(11)의 커맨드를 접수함으로써 기동한다. 멀티플렉서(55)는 테스트 모드인지 통상 모드인지에 따라서, FACI(51) 또는 FCPU(46) 중 어느 하나의 신호를 FCU(41)에 출력한다. 테스트 모드에서의 동작 시에, 멀티플렉서(55)는 FCPU(46)로부터의 신호를 FCU(41)로 출력한다.
FCPU(46)는 FCU(41)의 내부의 FPCC(48)를 기동할 수도 있다. FCPU(46)는 F-RAM(45)으로부터 테스트 펌웨어(26)를 판독하고, F-RAM(45)으로부터의 명령 페치를 개시해서, 차례차례 명령을 실행함으로써, 플래시 메모리(15)의 테스트를 실행한다.
<실시 형태 5의 정리>
실시 형태 5의 MCU(600)에 의하면, 테스트 모드에서 동작시키기 위한 프로그램의 저장 장소에, Flash 매크로(82)의 외부 메모리를 사용할 수 있다. 또한, 테스트 모드에서 동작시키기 위한 프로세서를, Flash 매크로(82)의 외부에 배치할 수 있다.
<실시 형태 5의 변형예>
도 15는 실시 형태 5의 변형예의 반도체 장치인 MCU(650)의 구성을 도시하는 블록도이다.
도 16은 각 프로그램의 실행 주체를 도시하는 도면이다.
테스트 모드에서의 동작 시에, FCPU(46)는 CPU(11)가 아닌, 외부 장치(테스터)로부터의 신호 입력을 테스트용 인터페이스(Test I/F)(81)에서 접수함으로써 기동한다.
이상, 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명했지만, 본 발명은 상기 실시 형태에 한정되는 것은 아니며, 그 요지를 일탈하지 않는 범위에서 여러 가지 변경 가능한 것은 말할 필요도 없다.
금회 개시된 실시 형태는 모든 점에서 예시이며 제한적인 것은 아니라고 생각되어야 한다. 본 발명의 범위는 상기한 설명이 아닌 특허 청구 범위에 의해 나타나며, 특허 청구 범위와 균등한 의미 및 범위 내에서의 모든 변경이 포함되는 것이 의도된다.
100, 200, 300, 400, 500, 550, 600, 650 : MCU
11 : CPU
12 : BSC
13 : RAM
15 : 플래시 메모리
16 : 멀티플렉서
17 : 멀티플렉서
21 : 내부 버스
25 : 유저 프로그램
26 : 테스트 펌웨어
27 : 플래시 제어 프로그램
31 : 주변 버스
41 : FCU
42 : FLC
43 : 로컬 버스
44 : FBSC
45 : F-RAM
46 : FCPU
47 : FIMC
48 : FPCC
49 : ROM
51 : FACI
52 : 플래그
53 : 멀티플렉서
55 : 멀티플렉서
57 : FPCC
59 : 제어 회로
70 : 테스트용 시퀀서
81 : 테스트용 인터페이스
82 : Flash 매크로

Claims (12)

  1. 반도체 장치로서,
    상기 반도체 장치의 동작을 제어하는 메인 프로세서와,
    재기입 가능한 불휘발성 메모리와,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 메모리 컨트롤러를 구비하고,
    상기 메모리 컨트롤러는, 상기 불휘발성 메모리에 대한 판독/기입/소거를 행하기 위한 제어 프로그램을 기억하기 위한 기억부를 포함하고, 상기 제어 프로그램을 상기 기억부로부터 판독하여 실행함으로써, 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 상기 불휘발성 메모리에의 판독/기입/소거를 행하고,
    상기 메모리 컨트롤러가, 상기 불휘발성 메모리를 평가하기 위한 테스트 펌웨어를 실행하도록 구성되어 있는 반도체 장치.
  2. 제1항에 있어서,
    상기 메모리 컨트롤러는,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 재기입 컨트롤러와,
    범용 프로세서를 포함하고,
    상기 반도체 장치의 통상 동작 시에는 상기 재기입 컨트롤러가 상기 제어 프로그램을 상기 기억부로부터 판독하여 실행함으로써, 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 상기 불휘발성 메모리에의 판독/기입/소거를 행하고,
    상기 불휘발성 메모리의 특성을 평가하는 테스트 동작 시에는 상기 범용 프로세서가 상기 테스트 펌웨어를 실행하도록 구성되어 있는 반도체 장치.
  3. 제2항에 있어서,
    상기 반도체 장치는,
    상기 메인 프로세서와, 상기 메모리 컨트롤러와의 인터페이스로서 기능하고, 상기 메인 프로세서가 발행하는 커맨드를 접수하고, 상기 메모리 컨트롤러의 사양에 적합한 커맨드로서 상기 메모리 컨트롤러로 발행하는 인터페이스 유닛과,
    상기 재기입 컨트롤러 및 상기 범용 프로세서 중 어느 하나를 전환해서 상기 인터페이스 유닛에 접속하는 제1 선택부를 포함하고,
    상기 제1 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 재기입 컨트롤러를 상기 인터페이스 유닛에 접속하고, 상기 테스트 동작 시에는 상기 범용 프로세서를 상기 인터페이스 유닛에 접속하는 반도체 장치.
  4. 제3항에 있어서,
    상기 메모리 컨트롤러는,
    상기 테스트 펌웨어를 기억하기 위한 휘발성 메모리를 포함하고,
    상기 범용 프로세서는, 상기 테스트 동작 시에, 상기 메모리 컨트롤러의 상기 휘발성 메모리로부터 상기 테스트 펌웨어를 판독하고, 판독한 상기 테스트 펌웨어를 실행하도록 구성되어 있는 반도체 장치.
  5. 제3항에 있어서,
    상기 반도체 장치는,
    상기 메인 프로세서와 상기 메모리 컨트롤러에서 공유하는 휘발성 메모리와,
    상기 메인 프로세서 및 상기 메모리 컨트롤러 중 어느 하나를 전환해서 상기 휘발성 메모리에 접속하는 제2 선택부를 포함하고,
    상기 제2 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 메인 프로세서를 상기 휘발성 메모리에 접속하고, 상기 테스트 동작 시에는 상기 메모리 컨트롤러를 상기 휘발성 메모리에 접속하고,
    상기 휘발성 메모리는, 상기 테스트 펌웨어를 기억하도록 구성되어 있고,
    상기 범용 프로세서는, 상기 테스트 동작 시에, 상기 휘발성 메모리로부터 상기 테스트 펌웨어를 판독하고, 판독한 상기 테스트 펌웨어를 실행하도록 구성되어 있는 반도체 장치.
  6. 제1항에 있어서,
    상기 반도체 장치는,
    상기 메인 프로세서와 상기 메모리 컨트롤러에서 공유하는 휘발성 메모리와,
    상기 메인 프로세서 및 상기 메모리 컨트롤러 중 어느 하나를 전환해서 상기 휘발성 메모리에 접속하는 선택부를 포함하고,
    상기 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 메인 프로세서를 상기 휘발성 메모리에 접속하고, 상기 테스트 동작 시에는 상기 메모리 컨트롤러를 상기 휘발성 메모리에 접속하고,
    상기 메모리 컨트롤러는,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 재기입 컨트롤러를 포함하고,
    상기 반도체 장치의 통상 동작 시에는 상기 재기입 컨트롤러가 상기 제어 프로그램을 상기 기억부로부터 판독하여 실행함으로써, 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 상기 불휘발성 메모리에의 판독/기입/소거를 행하고,
    상기 불휘발성 메모리의 특성을 평가하는 테스트 동작 시에는 상기 재기입 컨트롤러가 상기 휘발성 메모리로부터 상기 테스트 펌웨어를 판독하고, 판독한 상기 테스트 펌웨어를 실행하도록 구성되어 있는 반도체 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 메모리 컨트롤러에 포함되는 상기 기억부는 판독 전용 메모리로 구성되는 반도체 장치.
  8. 반도체 장치로서,
    상기 반도체 장치의 동작을 제어하는 메인 프로세서와,
    재기입 가능한 불휘발성 메모리와,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 메모리 컨트롤러와,
    상기 메인 프로세서와 상기 메모리 컨트롤러에서 공유하는 휘발성 메모리와,
    상기 메인 프로세서 및 상기 메모리 컨트롤러 중 어느 하나를 전환해서 상기 휘발성 메모리에 접속하는 선택부를 구비하고,
    상기 메모리 컨트롤러는, 상기 불휘발성 메모리에 대한 판독/기입/소거를 행하기 위한 제어 프로그램을 기억하기 위한 기억부를 포함하고, 상기 제어 프로그램을 상기 기억부로부터 판독하여 실행함으로써, 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 상기 불휘발성 메모리에의 판독/기입/소거를 행하는 반도체 장치.
  9. 제8항에 있어서,
    상기 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 메인 프로세서를 상기 휘발성 메모리에 접속하고, 상기 테스트 동작 시에는 상기 메모리 컨트롤러를 상기 휘발성 메모리에 접속하도록 구성되어 있는 반도체 장치.
  10. 반도체 장치로서,
    상기 반도체 장치의 동작을 제어하는 메인 프로세서와,
    재기입 가능한 불휘발성 메모리와,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 메모리 컨트롤러와,
    상기 메인 프로세서와 상기 메모리 컨트롤러에서 공유하는 휘발성 메모리와,
    상기 메인 프로세서 및 상기 메모리 컨트롤러 중 어느 하나를 전환해서 상기 휘발성 메모리에 접속하는 제1 선택부를 구비하고,
    상기 메모리 컨트롤러는,
    상기 불휘발성 메모리에의 기입 및 소거를 제어하는 재기입 컨트롤러와,
    범용 프로세서를 포함하고,
    상기 재기입 컨트롤러가 상기 제어 프로그램을 상기 기억부로부터 판독하여 실행함으로써, 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 상기 불휘발성 메모리에의 판독/기입/소거를 행하고,
    상기 반도체 장치는,
    상기 메인 프로세서와 상기 메모리 컨트롤러와의 인터페이스로서 기능하고,
    상기 메인 프로세서가 발행하는 커맨드를 접수하고, 상기 메모리 컨트롤러의 사양에 적합한 커맨드로서 상기 메모리 컨트롤러로 발행하는 인터페이스 유닛과,
    상기 재기입 컨트롤러 및 상기 범용 프로세서 중 어느 하나를 전환해서 상기 인터페이스 유닛에 접속하는 제2 선택부를 포함하는 반도체 장치.
  11. 제10항에 있어서,
    상기 제2 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 재기입 컨트롤러를 상기 인터페이스 유닛에 접속하고, 상기 테스트 동작 시에는 상기 범용 프로세서를 상기 인터페이스 유닛에 접속하고,
    상기 제1 선택부는, 상기 반도체 장치의 통상 동작 시에는 상기 메인 프로세서를 상기 휘발성 메모리에 접속하고, 상기 테스트 동작 시에는 상기 메모리 컨트롤러를 상기 휘발성 메모리에 접속하는 반도체 장치.
  12. 반도체 장치로서,
    상기 반도체 장치의 동작을 제어하는 메인 프로세서와,
    재기입 가능한 불휘발성 메모리 및 상기 불휘발성 메모리에의 판독/기입/소거를 행하는 메모리 컨트롤러를 포함하는 메모리 매크로와,
    상기 메모리 매크로의 외부에 배치되며, 상기 불휘발성 메모리를 평가하기 위한 테스트 펌웨어를 기억하기 위한 기억부와,
    상기 메모리 매크로의 외부에 배치되며, 테스트 동작 시에 상기 메인 프로세서로부터 발행되는 커맨드에 따라서 기동하고, 상기 기억부에 기억되는 상기 테스트 펌웨어를 판독하여 상기 불휘발성 메모리를 평가하기 위한 프로세서를 구비하는 반도체 장치.
KR1020150026310A 2014-02-28 2015-02-25 반도체 장치 KR20150102701A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014038799A JP6255282B2 (ja) 2014-02-28 2014-02-28 半導体装置
JPJP-P-2014-038799 2014-02-28

Publications (1)

Publication Number Publication Date
KR20150102701A true KR20150102701A (ko) 2015-09-07

Family

ID=52432750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150026310A KR20150102701A (ko) 2014-02-28 2015-02-25 반도체 장치

Country Status (6)

Country Link
US (2) US9710174B2 (ko)
EP (1) EP2913755A1 (ko)
JP (1) JP6255282B2 (ko)
KR (1) KR20150102701A (ko)
CN (1) CN104881338B (ko)
TW (1) TWI616748B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11822794B2 (en) 2021-11-12 2023-11-21 SK Hynix Inc. Memory system and operation method of the memory system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6877265B2 (ja) * 2017-06-27 2021-05-26 ルネサスエレクトロニクス株式会社 半導体装置、及びフラッシュメモリ制御方法
KR20220032268A (ko) * 2020-09-07 2022-03-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
US5461718A (en) * 1992-04-24 1995-10-24 Digital Equipment Corporation System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5388247A (en) * 1993-05-14 1995-02-07 Digital Equipment Corporation History buffer control to reduce unnecessary allocations in a memory stream buffer
CN100543667C (zh) * 1996-04-11 2009-09-23 株式会社日立制作所 盘驱动器
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
JP2001148199A (ja) 1999-11-19 2001-05-29 Mitsubishi Electric Corp 自己テスト回路内蔵半導体記憶装置
JP2002025288A (ja) * 2000-06-30 2002-01-25 Hitachi Ltd 半導体集積回路
US6735514B2 (en) * 2000-10-16 2004-05-11 Stmicroelectronics S.R.L. Control device for a vehicle engine
JP2002323993A (ja) * 2001-04-25 2002-11-08 Nec Corp シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム
US7017107B2 (en) * 2001-04-30 2006-03-21 Sun Microsystems, Inc. Storage array employing scrubbing operations at the disk-controller level
US7328380B2 (en) * 2003-09-11 2008-02-05 Hewlett-Packard Development Company, L.P. Memory scrubbing logic
JP2006085769A (ja) * 2004-09-14 2006-03-30 Toshiba Corp 半導体装置及びその自己テスト方法
CN100549986C (zh) * 2005-03-24 2009-10-14 富士通株式会社 信息处理装置
US7324392B2 (en) * 2005-06-09 2008-01-29 Texas Instruments Incorporated ROM-based memory testing
JP4873526B2 (ja) * 2005-07-26 2012-02-08 ルネサスエレクトロニクス株式会社 半導体集積回路及びマイクロコンピュータ
JP2008299476A (ja) * 2007-05-30 2008-12-11 Fujitsu Microelectronics Ltd 半導体集積回路
US7890737B2 (en) * 2007-07-02 2011-02-15 Denso Corporation Microcomputer and functional evaluation chip
US8209465B2 (en) * 2007-10-30 2012-06-26 Hagiwara Sys-Com Co., Ltd. Data writing method
JP2009187159A (ja) * 2008-02-05 2009-08-20 Toshiba Corp メモリシステム
JP5131348B2 (ja) * 2008-03-19 2013-01-30 富士通セミコンダクター株式会社 半導体メモリ、システム、半導体メモリの動作方法および半導体メモリの製造方法
US7821916B2 (en) 2008-04-04 2010-10-26 Newport Media, Inc. Timing and frequency acquisition for mediaflo systems
JP2009252026A (ja) * 2008-04-08 2009-10-29 Kyocera Mita Corp メモリ診断装置、及び情報処理装置
JP5637041B2 (ja) * 2011-03-29 2014-12-10 富士通株式会社 半導体記憶装置、及び、半導体記憶装置を含む情報処理装置
JP2012252567A (ja) * 2011-06-03 2012-12-20 Renesas Electronics Corp データ処理システム
JP5112566B1 (ja) * 2011-12-16 2013-01-09 株式会社東芝 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム
JP5624578B2 (ja) * 2012-03-23 2014-11-12 株式会社東芝 メモリシステム
US9460813B2 (en) * 2013-03-14 2016-10-04 Kabushiki Kaisha Toshiba Memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11822794B2 (en) 2021-11-12 2023-11-21 SK Hynix Inc. Memory system and operation method of the memory system

Also Published As

Publication number Publication date
CN104881338B (zh) 2019-08-13
JP2015162215A (ja) 2015-09-07
JP6255282B2 (ja) 2017-12-27
TWI616748B (zh) 2018-03-01
EP2913755A1 (en) 2015-09-02
US20150248246A1 (en) 2015-09-03
US9710174B2 (en) 2017-07-18
US20170262195A1 (en) 2017-09-14
TW201546613A (zh) 2015-12-16
CN104881338A (zh) 2015-09-02

Similar Documents

Publication Publication Date Title
US7663933B2 (en) Memory controller
US20030031056A1 (en) Non-volatile memory having a control mini-array
JP2004118826A (ja) フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
JPH08278895A (ja) データ処理装置
CN107731264B (zh) 非易失性存储器测试
ITRM20060139A1 (it) Sistema ad unita di controllo distribuito di dispositivo di memoria
US20170262195A1 (en) Semiconductor device
US5651128A (en) Programmable integrated circuit memory comprising emulation means
JP5744118B2 (ja) 半導体記憶装置
KR970066888A (ko) 불 휘발성 메모리를 사용한 마이크로컴퓨터
JP2008108326A (ja) 記憶装置およびその自己テスト方法
US20150324122A1 (en) Semiconductor memory device, semiconductor system and reading method
US7310277B2 (en) Non-volatile semiconductor storage device with specific command enable/disable control signal
US7046536B2 (en) Programable identification circuitry
US7047444B2 (en) Address selection for testing of a microprocessor
JPH09293397A (ja) 不揮発性半導体記憶装置の検査方法
JP4873526B2 (ja) 半導体集積回路及びマイクロコンピュータ
US7911845B2 (en) Non-volatile semiconductor memory device
JP2008181596A (ja) 半導体記憶装置
KR102434821B1 (ko) 프로그램을 업데이트하기 위한 방법 및 장치
JP2005078489A (ja) マイクロコントローラ装置及びその制御方法
JP2005302134A (ja) 不揮発性半導体記憶装置
KR101614521B1 (ko) 반도체 기억장치, 시스템 기동방법 및 컴퓨터 판독가능한 매체
JP3691137B2 (ja) 不揮発性メモリ内蔵マイクロコンピュータ
JP2000276347A (ja) 携帯電子機器