KR20030040021A - 마이크로컴퓨터 - Google Patents

마이크로컴퓨터 Download PDF

Info

Publication number
KR20030040021A
KR20030040021A KR1020020046429A KR20020046429A KR20030040021A KR 20030040021 A KR20030040021 A KR 20030040021A KR 1020020046429 A KR1020020046429 A KR 1020020046429A KR 20020046429 A KR20020046429 A KR 20020046429A KR 20030040021 A KR20030040021 A KR 20030040021A
Authority
KR
South Korea
Prior art keywords
flash memory
command
signal
rewrite
cpu
Prior art date
Application number
KR1020020046429A
Other languages
English (en)
Other versions
KR100474622B1 (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 미쓰비시덴키 가부시키가이샤
Publication of KR20030040021A publication Critical patent/KR20030040021A/ko
Application granted granted Critical
Publication of KR100474622B1 publication Critical patent/KR100474622B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

본 발명은 복잡한 제어 회로를 부가하는 일 없이, 플래시 메모리 상에 재기록 프로그램을 둔 채로 지장없이 플래시 메모리의 재기록을 가능하게 하는, 플래시 메모리가 내장된 마이크로컴퓨터를 얻는 것으로, 플래시 메모리 모듈(2)은 재기록 커맨드인 소거/기록 커맨드를 접수하면, 일련의 처리가 실행되고 있는 기간 사용중 상태인 것을 나타내는 준비 상태 신호 RYIBY를 플래시 메모리 제어 회로(3)로 출력한다. 플래시 메모리 제어 회로(3)는 준비 상태 신호 RYIBY가 사용중 상태를 지시할 때, 액티브 "H"의 홀드 신호 HOLD를 출력하여 CPU(1)의 플래시 메모리 모듈(2)로의 액세스를 불가로 하고, 준비 상태 신호 RYIBY가 준비 상태로 되돌아가면, "L"의 홀드 신호 HOLD를 출력하여 CPU(1)의 플래시 메모리 모듈(2)로의 액세스를 허가한다.

Description

마이크로컴퓨터{MICROCOMPUTER}
본 발명은 플래시 메모리를 내장한 마이크로콘트롤러 등의 마이크로컴퓨터에 관한 것이다.
플래시 메모리를 내장한 마이크로콘트롤러(마이크로컴퓨터)에서, CPU를 이용한 플래시 메모리의 기억 내용의 소거 및 기록은 종래 크게 나누어 이하의 두 가지 상황에서 행해진다.
제 1 상황은 마이크로콘트롤러에 의해 사용자 프로그램이 동작하지 않고 있는 상황에서의 재기록이며, 마이크로콘트롤러 자체를 정지 상태로 하여 플래시 재기록 제어용의 인터페이스를 통하여 플래시라이터 등의 외부의 재기록기기에 의해 플래시 메모리의 기억 내용을 재기록하는 것, 또는, 플래시 메모리 재기록 전용 프로그램을 실행한 뒤에 직렬 통신 기능의 인터페이스를 이용하여 플래시 메모리의 기억 내용을 재기록하는 것이다.
제 2 상황은 마이크로콘트롤러로서의 기능을 사용하면서의 재기록이며, 마이크로콘트롤러가 동작 도중에 마이크로콘트롤러의 플래시 메모리에 기억된 재기록 프로그램에 의해 백그라운드에서 플래시 메모리의 기억 내용을 재기록하는 것이다.
단, 제 2 상황에 의해 재기록을 실현하기 위해서는, 마이크로콘트롤러 내에 별도 RAM을 마련하고, 해당 RAM에 플래시 메모리에 기억된 재기록 프로그램을 전송 후에 RAM 상에서 플래시 재기록 프로그램을 실행하는 제 1 방법이 있다.
또한, 제 2 상황에 의해 재기록을 실현하는 방법으로서, 하드웨어적으로 백그라운드 동작 가능한 제어 회로를 마련하는 제 2 방법이 있다.
이하, 이 제 2 방법에 대하여 예를 들어 설명한다. 블록 분할되어 있는 플래시 메모리에 있어서, 재기록 대상인 플래시 메모리의 소정 블록에 대하여 소거/기록이 행해지고 있는 기간에, 병행하여 CPU가 재기록 대상 이외의 플래시 메모리 상의 블록에 기억된 프로그램을 판독하여 실행할 수 있는 플래시 메모리 제어 회로가 필요해진다.
재기록(기록/소거)과 판독을 병행한다는 것은, 구체적으로는, 플래시 메모리를 구성하는 회로의 블록 내의 각종 전위 발생 회로가 기록/소거용과 통상 판독용의 2 계통 필요하게 되므로 면적이 증대하여 마이크로시퀀서 등의 제어 회로가 복잡해진다.
제 1 상황인 경우의 문제점으로서, 마이크로컴퓨터가 사용자 시스템에 납땜 등에 의해 실장된 후, 실제 사용되고 있는 도중에 플래시 메모리의 재기록이 불가능한 것을 들 수 있다. 플래시 메모리 내장 마이크로컴퓨터의 응용 분야에 따라서는 마이크로컴퓨터 사용 도중에 데이터의 재기록이 기대되는 경우가 있어, 상기 방법은 이와 같은 때에 사용할 수 없다는 문제점이 있었다.
이 문제점의 해결을 목표로 한 것이 상술한 제 2 상황에서의 재기록이 가능한 제 1 및 제 2 방법이다.
그러나, 제 1 방법의 경우, 플래시 메모리로부터 RAM에 미리 프로그램의 전송이 필요하여 CPU에 전송 부하가 발생하는 것, 또한, CPU 재기록 프로그램용의 RAM 용량이 필요하다는 문제점이 있었다.
또한, 제 2 방법의 경우, 이와 같이 백그라운드 동작 가능한 제어 회로를 마련하는 경우, 마이크로컴퓨터 동작이 도중에서 끊기는 일없이 백그라운드에서의 메모리 재기록이 필요해지기 때문에 상술한 바와 같이 복잡한 제어 회로가 필요해진다.
따라서, 백그라운드 재기록 기능을 갖지 않는 칩과 비교하여 동일 메모리 용량당의 제어 회로가 커진다. 복잡한 제어 회로는 반도체 집적 회로에 있어서는, 면적이 증대하여 비용 증대를 초래한다는 문제점이 있었다.
본 발명은 상기 문제점을 해결하기 위해서 이루어진 것으로, 복잡한 제어 회로를 부가하는 일 없이, 플래시 메모리 상에 재기록 프로그램을 둔 채로, 지장없이 플래시 메모리의 재기록을 가능하게 하는, 플래시 메모리가 내장된 마이크로컴퓨터를 얻는 것을 목적으로 한다.
도 1은 본 발명의 실시예 1인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도,
도 2는 도 1의 플래시 메모리 모듈의 기본 구성을 나타내는 블록도,
도 3은 플래시 메모리 모듈에서의 메모리의 어드레스맵의 일례를 나타내는 설명도,
도 4는 플래시 메모리 모듈에서의 사용자 커맨드의 일람을 표 형식으로 나타내는 설명도,
도 5는 커맨드 발행의 기본 타이밍을 나타내는 타이밍도,
도 6은 실시예 1의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 1,
도 7은 실시예 1의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 2,
도 8은 본 발명의 실시예 2인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도,
도 9는 실시예 2의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 1,
도 10은 실시예 2의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 2,
도 11은 본 발명의 실시예 3인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도,
도 12는 실시예 3의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 1,
도 13은 실시예 3의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 2,
도 14는 본 발명의 실시예 4인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도,
도 15는 본 발명의 실시예 5인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도,
도 16은 실시예 5의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 1,
도 17은 실시예 5의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도 2.
도면의 주요 부분에 대한 부호의 설명
1 : CPU
2, 2A, 2B : 플래시 메모리 모듈
3, 3A∼3C : 플래시 메모리 제어 회로
4 : 어드레스 버스
5 : 데이터 버스
11 : 마이크로시퀀서
12 : 차지펌프
13 : 메모리 디코더
14 : 메모리 블록
15 : 어드레스/데이터/제어 신호 입력 회로
본 발명에 따른 제 1 국면의 마이크로컴퓨터는 소정의 명령을 실행하는 CPU와, 복수의 블록으로 분할되고, 복수의 블록 중 적어도 하나의 블록에 다른 블록의 재기록을 실행하기 위한 소정의 프로그램이 기록된 플래시 메모리부와, 상기 플래시 메모리에 대한 재기록 동작을 제어하는 플래시 메모리 제어 회로를 구비하되, 상기 CPU는 상기 소정 프로그램을 실행할 수 있고, 상기 플래시 메모리부는 상기 재기록 커맨드에 근거하여 상기 소정의 프로그램 기술 영역 밖에서의 재기록 동작을 실행하여 상기 재기록 동작의 실행 중의 유무를 지시하는 준비 상태 신호를 출력하고, 상기 플래시 메모리 제어 회로는 상기 준비 상태 신호를 받아, 상기 준비 상태 신호가 상기 재기록 동작의 실행을 지시할 때, 상기 CPU가 상기 플래시 메모리부에 대한 액세스에 필요한 신호의 고정을 지시하는 홀드 신호를 상기 CPU에 인가하고 있다.
또한, 제 2 국면의 발명은 제 1 국면의 마이크로컴퓨터로서, 상기 플래시 메모리 제어 회로는 상기 재기록 커맨드의 수신 개시 후 상기 재기록 커맨드의 수신 종료 전에 선행 홀드 신호를 활성 상태로 하고, 상기 선행 홀드 신호가 활성 상태이고 또한, 상기 재기록 커맨드의 수신 종료 시에 고정을 지시하는 상기 홀드 신호를 출력한다.
또한, 제 3 국면의 발명은 제 2 국면의 마이크로컴퓨터로서, 상기 플래시 메모리 제어 회로는 상기 선행 홀드 신호의 활성/비활성을 규정하는 세트/리세트 상태의 설정이 가능한 제어 레지스터를 갖고, 상기 재기록 커맨드의 수신 개시 후에 상기 제어 레지스터를 세트 상태로 한다.
또한, 제 4 국면의 발명은 제 3 국면의 마이크로컴퓨터로서, 상기 재기록 커맨드는 제 1, 제 2 순으로 발행되고, 양자가 발행 완료된 시점에서 재기록 동작을 개시하는 제 1 및 제 2 부분 커맨드를 포함하며, 상기 소정의 프로그램은 상기 제 1 부분 커맨드와 제 2 부분 커맨드 사이에 상기 제어 레지스터를 세트 상태로 하는 레지스터 기록 명령이 기술된 프로그램을 포함하고, 상기 플래시 메모리 제어 회로는 상기 제 2 부분 커맨드 발행 개시 시에 상기 제어 레지스터의 설정 내용에 따라 상기 CPU에 상기 홀드 신호를 출력 개시한다.
또한, 제 5 국면의 발명은 제 1 국면의 마이크로컴퓨터로서, 상기 플래시 메모리부는 상기 재기록 커맨드의 수신 개시 시에 재기록 커맨드 접수 통지 신호를 활성 상태로 하고, 상기 플래시 메모리 제어 회로는 상기 재기록 커맨드 접수 통지 신호가 활성 상태이고 또한, 상기 플래시 메모리부가 상기 재기록 커맨드의 수신 종료 시에 고정을 지시하는 상기 홀드 신호를 출력한다.
또한, 제 6 국면의 발명은 제 5 국면의 마이크로컴퓨터로서, 상기 재기록 커맨드는 제 1, 제 2 순으로 발행되는 제 1 및 제 2 부분 커맨드를 포함하고, 상기플래시 메모리 제어 회로는, 상기 제 2 부분 커맨드 발행 개시 시에, 상기 재기록 커맨드 접수 통지 신호의 값에 따라 상기 CPU의 상기 홀드 신호를 출력 개시한다.
또한, 제 7 국면의 발명은 제 5 국면 또는 제 6 국면의 마이크로컴퓨터로서, 상기 재기록 커맨드 접수 통지 신호를 상기 CPU로부터 참조할 수 있는 신호로서 구비하는 것을 특징으로 했다.
또한, 제 8 국면의 발명은 제 5 국면의 마이크로컴퓨터로서, 상기 플래시 메모리부는 상기 재기록 커맨드 접수 통지 신호를 상기 재기록 커맨드 종별마다 마련된 복수의 재기록 커맨드 접수 통지 신호로서 상기 플래시 메모리 제어 회로로 출력하고, 상기 플래시 메모리 제어 회로는 상기 복수의 재기록 커맨드 접수 통지 신호의 값을 상기 CPU가 참조할 수 있게 저장한다.
또한, 제 9 국면의 발명은 제 5 국면의 마이크로컴퓨터로서, 주변 기능 블록으로의 명령 발행 1 버스 주기 기간에 있어서, 상기 플래시 메모리부로의 재기록 커맨드 발행 시에는, 상기 플래시 메모리부로의 재기록 커맨드 발행 완료 후에 대기 주기를 포함하는 동작 타이밍 모드를 구비했다.
또한, 제 10 국면의 발명은 제 1 국면의 마이크로컴퓨터로서, 상기 플래시 메모리 제어 회로는 상기 준비 상태 신호에 근거하여 상기 플래시 메모리부의 재기록 동작의 실행 후 빠르게 활성 상태의 판독 모드 신호를 출력하고, 상기 플래시 메모리부는 상기 판독 모드 신호를 받아 상기 재기록 동작 실행 기간 외의 기간에 상기 판독 모드 신호가 활성 상태일 때 판독할 수 있게 된다.
또한, 제 11 국면의 발명은 제 1 국면의 마이크로컴퓨터로서, 상기 플래시메모리 제어 회로는 항상 활성 상태의 판독 모드 신호를 출력하고, 상기 플래시 메모리부는 상기 판독 모드 신호를 받아, 상기 재기록 동작 실행 기간 외의 준비 기간에 상기 판독 모드 신호가 활성 상태일 때 판독할 수 있게 된다.
또한, 제 12 국면의 발명은 제 10 국면 또는 제 11 국면의 마이크로컴퓨터로서, 상기 플래시 메모리 제어 회로는 상기 판독 모드 신호의 유효/무효를 설정할 수 있다.
또한, 제 13 국면의 발명은 제 1 국면 내지 제 12 국면 중 어느 한 국면에 기재된 마이크로컴퓨터로서, 상기 재기록 커맨드는 복수종의 재기록 커맨드를 포함하고, 상기 재기록 커맨드 접수 통지 신호는 상기 복수종의 재기록 커맨드에 대응하는 접수 통지 신호의 논리합으로 생성되는 신호를 포함한다.
또한, 제 14 국면의 발명은 제 1 국면 내지 제 13 국면 중 어느 한 국면에 기재된 마이크로컴퓨터로서, 상기 CPU는 명령의 파이프라인 처리가 가능한 CPU를 포함하고, 상기 소정의 프로그램은 상기 재기록 커맨드의 직후에 어드레스 분기 명령이 기술되어 있는 프로그램을 포함한다.
또한, 제 15 국면의 발명은 제 1 국면 내지 제 13 국면 중 어느 한 국면에 기재된 마이크로컴퓨터로서, 상기 CPU는 명령의 파이프라인 처리가 가능한 CPU를 포함하고, 상기 소정의 프로그램은 상기 재기록 커맨드의 직후에 상기 파이프라인의 소거를 지시하는 파이프라인 소거가 기술되어 있는 프로그램을 포함한다.
또한, 제 16 국면의 발명은 제 1 국면 내지 제 15 국면 중 어느 한 국면에 기재된 마이크로컴퓨터로서, 상기 소정의 프로그램은 상기 재기록 커맨드의 직전에상기 플래시 메모리부와의 액세스에 관여하지 않은 복수 버스 주기를 필요로 하는 더미 명령이 기술되어 있는 프로그램을 포함한다.
본 발명에 따른 제 17 국면의 마이크로컴퓨터는, 소정의 명령을 실행하는 CPU와, 복수의 블록으로 분할되고, 복수의 블록 중 적어도 하나의 블록에 상기 재기록 커맨드 및 다른 메모리 소정 어드레스로의 점프 명령이 연속하여 기술된 소정의 프로그램이 기록된 플래시 메모리부와, 상기 플래시 메모리부와는 독립해서 마련되어 상기 플래시 메모리부의 재기록 동작의 완료를 검출할 수 있는 폴링 프로그램이 기술된 제 2 메모리부를 구비하되, 상기 폴링 프로그램은 상기 플래시 메모리부의 재기록 동작의 완료를 검출한 후에 상기 플래시 메모리부의 상기 소정의 프로그램 상의 소정 어드레스에 점프하는 명령이 기술되어 있는 프로그램을 포함하고, 상기 다른 메모리 소정 어드레스 점프 명령은 상기 폴링 프로그램의 시작 어드레스로의 점프 명령을 포함하며, 상기 CPU는 상기 소정 프로그램 및 상기 폴링 프로그램을 실행할 수 있고, 상기 플래시 메모리부는 상기 재기록 커맨드에 근거하여 상기 소정의 프로그램 기술 영역 밖에서의 재기록 동작을 실행한다.
또한, 제 18 국면의 발명은 제 7 국면의 마이크로컴퓨터로서, 상기 재기록 커맨드는 제 1, 제 2 순으로 발행되는 제 1 및 제 2 부분 커맨드를 포함하고, 상기 플래시 메모리 제어 회로는 상기 제 2 부분 커맨드 발행 직후에 상기 준비 상태 신호를 래치한 신호를 생성하며, 해당 래치한 신호를 상기 CPU에서 참조할 수 있게 저장한다.
또한, 제 19 국면의 발명은 제 18 국면의 마이크로컴퓨터로서, 상기 플래시메모리 제어 회로는 상기 제 1 부분 커맨드 발행 후에, 상기 재기록 커맨드 접수 통지 신호를 상기 CPU가 참조함으로써 커맨드 접수 확인을 하고, 또한, 상기 제 2 부분 커맨드 발행 직후에 상기 래치한 신호를 상기 CPU가 참조함으로써 커맨드 접수 확인을 한다.
(실시예 1)
도 1은 본 발명의 실시예 1인 플래시 메모리 내장 마이크로컴퓨터(마이크로콘트롤러)의 기본적인 구성을 나타내는 블록도이다.
도 1에 도시하는 바와 같이, CPU(1), 플래시 메모리 모듈(2)의 중간에 위치하여, 양자(1, 2)의 인터페이스를 제어하는 플래시 메모리 제어 회로(3)가 마련된다. 그리고, CPU(1), 플래시 메모리 모듈(2) 및 플래시 메모리 제어 회로(3)는 각각 어드레스 버스(4) 및 데이터 버스(5)에 접속된다.
CPU(1)는 어드레스 버스(4)에 어드레스 신호 AD(20:0)를 출력하거나, 데이터 버스(5)를 거쳐서 데이터 신호 DB(15:0)를 송수신하거나 한다. 또한, CPU(1)는 판독/기록 제어 신호 RWB 및 명령 실행 신호 EB를 출력하여 플래시 메모리 제어 회로(3)를 제어한다. 또한, CPU(1)는 플래시 메모리 제어 회로(3)로부터 홀드 신호 HOLD를 수신한다.
플래시 메모리 제어 회로(3)는 어드레스 버스(4)를 거쳐서 어드레스 신호 AD(20:0)를 수신하거나, 데이터 버스(5)를 거쳐서 데이터 신호 DB(15:0)를 송수신한다. 또한, 플래시 메모리 제어 회로(3)는 판독 모드 신호 RDMODE 및 각종 제어신호(ICE, IWE, IOE)를 출력하여 플래시 메모리 모듈(2)의 소거/기록 등의 재기록 제어 및 판독하여 제어를 한다. 또한, 플래시 메모리 제어 회로(3)는 플래시 메모리 모듈(2)로부터 준비 상태 신호 RYIBY를 수신한다.
플래시 메모리 모듈(2)은 어드레스 버스(4)를 거쳐서 어드레스 신호 AD(20:0)를 수신하거나, 데이터 버스(5)를 거쳐서 데이터 신호 DB(15:0)를 송수신한다.
준비 상태 신호 RYIBY는 재기록 커맨드인 소거/기록 커맨드가 플래시 메모리 모듈(2) 내부에서 접수되고, 일련의 처리가 실행되고 있는 기간에 사용중 상태인 것을 외부에서 검지할 수 있게 하기 위한 신호이다. 따라서, 플래시 메모리 제어 회로(3)는 준비 상태 신호 RYIBY에 의해, 플래시 메모리 모듈(2) 내부에서 재기록 커맨드가 자동 실행 중인지 여부를 검출할 수 있다.
홀드 신호 HOLD는 CPU(1)에 대하여 버스값의 고정을 요구하기 위한 버스값 고정 신호이며, 플래시 메모리 제어 회로(3) 내에서 생성된다. 홀드 신호 HOLD가 버스값의 고정을 지시하는 액티브(활성 상태) "H"일 때, CPU(1)는 판독/기록 제어 신호 RWB, 명령 실행 신호 EB, 어드레스 신호 AD(20:0), 데이터 신호 DB(15:0)를 포함하는 플래시 메모리 모듈(2)의 액세스에 필요한 신호의 신호값을 고정한다. 즉, CPU(1)의 플래시 메모리 모듈(2)에 대한 액세스를 불가 상태로 한다.
(플래시 메모리 모듈)
도 2는 플래시 메모리 모듈의 기본 구성을 나타내는 블록도이다. 도 2에 도시하는 바와 같이, 플래시 메모리 모듈(2)은 마이크로시퀀서(11), 차지펌프(12), 메모리 디코더(13), 메모리 블록(14) 및 어드레스/데이터/제어 신호 입력 회로(15)로 구성된다.
플래시 메모리 모듈(2)은 어드레스 버스(4), 데이터 버스(5)를 거쳐서 어드레스 신호 AD(20:0), 데이터 신호 DB(15:O)가 입력되고, 플래시 메모리 제어 회로(3)로부터 각종 제어 신호(ICE, IWE, IOE)가 입력되며, 플래시 메모리 모듈(2)의 내부로부터 준비 상태 신호 RYIBY가 출력된다.
도 2에 도시하는 바와 같이, 각종 제어 신호(ICE, IWE, IOE)는 칩 인에이블 신호 ICE, 커맨드 기록 신호 IWE 및 판독 신호 IOE를 포함하고, 칩 인에이블 신호 ICE는 플래시 모듈 선택 시, 즉, 어드레스 해당 시에 액티브(활성 상태) "L"로 되는 선택 신호이며, 칩 인에이블 신호 ICE가 "H"(비활성 상태)일 때는 플래시 메모리로의 커맨드 기록 및 판독 액세스는 모두 무효로 된다. 커맨드 기록 신호 IWE는 플래시 메모리 모듈(2) 내의 마이크로시퀀서(11)로의 커맨드 기록 신호이며, 액티브 "L" 기간 동안 어드레스 버스(4), 데이터 버스(5)의 어드레스 신호 AD(20:0) 및 데이터 신호 DB(15:0)가 어드레스/데이터/제어 신호 입력 회로(15)를 거쳐서 마이크로시퀀서(11)에 입력되어 래치된다.
판독 신호 IOE는 어드레스 신호 AD(20:0)에 따라 플래시 ROM 데이터(19) 또는 상태 레지스터값(20)을 액티브 "L" 기간 동안 출력하기 위한 신호이다.
마이크로시퀀서(11)는 플래시 메모리 모듈(2)로의 소거/기록 등의 커맨드 입력이 접수된 경우에, 커맨드의 종류에 따라 차지 펌프(12), 메모리 디코더(13), 메모리 블록(14)에 대하여 실행하는 일련의 처리에 필요한 신호를 자동 발생하는 제어 회로 블록이다.
차지펌프(12)는 각종 커맨드 처리의 과정에서 필요로 되는 각종 전위 레벨을 발생할 수 있는 전위 발생 회로군이다.
메모리 디코더(13)는 어드레스 신호 AD(20:0)와 각종 커맨드 실행 과정에 근거하여 필요로 되는 메모리 셀의 선택을 제어하는 회로 블록이다.
메모리 블록(14)은 복수의 메모리 셀이 어레이 형상으로 배치된 블록이다.
도 3은 플래시 메모리 모듈(2)에서의 메모리의 어드레스맵의 일례를 나타내는 설명도이다. 도 3에 도시하는 바와 같이, 각 블록 0∼10은 독립하여 블록 소거(블록 단위의 일괄 소거)가 가능하다. 또한, 기록은 1 어드레스마다 가능하다.
도 4는 플래시 메모리 모듈에서의 사용자 커맨드의 일람을 표 형식으로 나타내는 설명도이다. 도 4에 도시하는 바와 같이, 플래시 메모리 모듈(2)은 외부로부터의 각종 제어 신호(ICE, IWE, IOE)와 어드레스 신호 AD(20:0), 데이터 신호 DB(15:O)의 입력값에 의해 커맨드 입력을 접수하도록 구성되어 있다.
또, 각 커맨드의 기록(모드가 기록인 버스 주기)은 커맨드 기록 신호 IWE를 "L"로 함으로써 행해지고, 판독(모드가 판독인 버스 주기)은 판독 신호 IOE를 "L"로 함으로써 행해진다. 또한, 판독 신호 IOE가 "L"일 때 버퍼(27)가 활성 상태로 되어 선택기(28)에 의해 선택되는 플래시 ROM 데이터(19) 또는 상태 레지스터(20)가 외부(데이터 버스(5) 등)로 출력되고, 판독 신호 IOE가 "H"일 때, 버퍼(27)가비활성의 하이 임피던스 상태로 된다.
도 5는 커맨드 발행의 기본 타이밍을 나타내는 타이밍도이다. 도 5에서는 자동 블록 소거 커맨드의 타이밍을 나타내고 있다. 도 5에 도시하는 바와 같이, 플래시 메모리의 소거, 기록 등 재기록에 대한 커맨드는 2 주기의 커맨드로 되어있다.
시각 t51에서의 커맨드 기록 신호 IWE가 "L"로부터 "H"로 상승할 때에 데이터 신호 DB(15:0)의 "20h", 시각 t52에서의 커맨드 기록 신호 IWE가 상승할 때에 데이터 신호 DB(15:0)의 "D0h" 및 어드레스 신호 AD(20:0)의 블록 어드레스 BAn을 인식함으로써, 마이크로시퀀서(11)는 메모리 블록(14)의 블록 어드레스 BAn에 대한 자동 블록 소거 커맨드가 발행된 것을 인식한다.
즉, 사용중 상태를 수반하는 자동 블록 소거 커맨드가 접수되면, 마이크로시퀀서(11)가 처리를 개시하여 일련의 처리가 정상으로 완료되거나, 또는, 오류가 발생할 때까지 사용중 상태로 되고, 그동안 준비 상태 신호 RYIBY로서 "L"을 출력한다. 그리고, 사용중 상태 종료 시에는 준비 상태로 되어 RYIBY="H"로 된다.
소거/기록 등의 사용중 신호를 수반하는 재기록 커맨드가 발행되어 사용중 상태에 있을 때는, 플래시 ROM 판독을 행하면 준비/사용중 상태나 오류 상태를 비트로서 갖는 상태 레지스터(20)의 내용이 판독되는 「상태 판독 모드」로 이행한다.
이와 같이, 마이크로시퀀서(11)는 각종 제어 신호(ICE, IWE, IOE)에 근거하는 제어를 실행하고, 커맨드 시퀀스 완료 후 준비 상태로 복귀했을 때도 「상태 판독 모드」가 속행되도록 제어한다.
마이크로시퀀서(11)는 준비 상태일 때 메모리 판독 이행 커맨드(도 4 참조)가 발행되어 있는 경우에는, 입력 어드레스(AD(20:0))의 플래시 ROM 데이터(19)를 판독할 수 있는 「메모리 판독 모드」가 되도록 제어한다.
판독 모드 신호 RDMODE는 상기 「상태 판독 모드」로부터 「메모리 판독 모드」로 이행하기 위한 펄스 입력이다. RDMODE="H"의 펄스에 의해 플래시 메모리 모듈(2)은 「상태 판독 모드」로부터 「메모리 판독 모드」로 이행한다.
(CPU)
CPU(1)는 어드레스 신호 AD(20:0), 데이터 신호 DB(15:0), 판독/기록 제어 출력 RWB, 버스 주기가 유효하다는 것을 나타내는 명령 실행 신호 EB의 출력 기능을 갖는 중앙 처리 장치이다. 여기서, 판독/기록 제어 출력 RWB는 "H"일 때 「판독」, "L"일 때 「기록」 제어를 나타내고, 명령 실행 신호 EB는 "H"일 때 「무효」, "L"일 때 「유효」를 나타내는 신호를 의미한다.
CPU(1)는 내부에 프로그램 카운터를 갖고 있고, 어드레스를 순차적으로 발생하면서, 플래시 메모리 모듈(2) 또는 경우에 따라서는 RAM 등으로부터, 데이터 버스(5) 경유에 의해 명령 데이터(DB(15:0))를 페치하면서, 주변 기능 블록으로의 판독, 기록 처리를 상기 판독/기록 제어 신호 RWB, 명령 실행 신호 EB에 의해 발행함으로써 실행한다.
CPU(1)로부터 플래시 메모리 모듈(2)로의 액세스는, 기록 액세스의 경우, 플래시 메모리 모듈(2)의 어드레스로의 일반적인 전송 명령에 의해 실현되고, 판독 액세스의 경우는 플래시 메모리 모듈(2)의 어드레스로부터가 일반적인 전송 명령에 의해 실현된다.
본 명세서에서, CPU(1)로부터 플래시 메모리 모듈(2)로의 액세스를 특히 「커맨드」라고 부른다. 또한, CPU(1)측에서 발행되는 플래시 메모리 모듈(2)의 소거, 기록 또는 모드 이행의 동작을 「재기록」이라고 총칭한다.
CPU(1)는 명령큐를 복수 명령분 구비하고 있고, 파이프라인 처리가 가능하다. 또한, 분기 명령(JMP)이 실행되는 경우, 명령큐에 페치되어 있는 JMP 명령보다 후의 명령 코드를 무효화하여 분기할 어드레스의 명령 실행에 이행할 수 있다.
CPU(1)는 홀드 기능을 갖고, 홀드 신호 입력에 의해 어드레스 신호 AD(20:0), 데이터 신호 DB(15:0), 판독/기록 제어 신호 RWB, 명령 실행 신호 EB의 각 신호를 고정 또는 하이 임피던스 상태로 할 수 있다.
여기서, CPU(1)가 각종 제어 신호를 하이 임피던스 상태로 하는 경우는, 각 제어 신호의 제어권을 CPU(1)가 포기하는 것에 상당한다.
(플래시 메모리 제어 회로)
플래시 메모리 제어 회로(3)는 CPU(1)가 플래시 메모리 모듈(2)을 제어하기 위한 인터페이스 회로 블록으로, 버스 홀드 제어 레지스터(22)를 내부에 갖고 있다.
(버스 홀드 제어 레지스터)
버스 홀드 제어 레지스터(22)는 CPU(1)로부터 데이터 버스(5) 및 어드레스 버스(4)를 거쳐서 인가되는 데이터 신호 DB(15:0), 어드레스 신호 AD(20:0), 판독/기록 제어 신호 RWB에 의해 CPU(1)가 실행하는 프로그램에 의해 재기록할 수 있는 레지스터이며, 버스 홀드 신호 생성용의 선행 홀드 신호로 되는 버스 홀드 제어 비트 HOLDRQ를 구비하고 있다.
버스 홀드 신호 HOLD는 데이터 버스(5), 어드레스 버스(4)를 고정하기 위한 신호로, HOLDRQ="H"(세트 상태)이고, 내부에서 생성되는 커맨드 기록 신호 IWE="L"의 조건으로 액티브 "H"가 되도록 생성된다.
(동작)
본 발명의 실시예 1인 플래시 메모리 내장 마이크로컴퓨터의 동작에 대하여 설명한다.
CPU(1)는 플래시 메모리 모듈(2) 내에 기록되고 있는 사용자 프로그램에 의해 동작한다. 사용자 프로그램은 플래시 메모리 모듈(2) 내의 메모리 블록(14)(도 2, 도 3 참조)에서의 1 블록 또는 복수 블록에 걸쳐 배치되어 있다. CPU(1)는 프로그램 상의 명령을 순서대로 페치하여 파이프라인 처리에 의해 각 명령을 실행한다.
이하에서는, CPU(1)가 사용자 프로그램에 의해, 프로그램이 배치되어 있는 블록과 다른 블록의 플래시 메모리에 대한 재기록 커맨드를 발행하는 경우의 예로서 자동 블록 소거 커맨드를 발행하는 경우에 대해서의 동작을 설명한다.
도 6 및 도 7은 실시예 1의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도이다. 도 6, 도 7에 도시하는 바와 같이, 버스 주기 T1∼T9, Tn, T(n+1) 각각의 1 버스 주기가 동작 클럭 CLK의 2주기 분량으로 되어 있고, 1 버스 주기마다 명령 페치, 명령 실행되고 있다. 도 6 및 도 7에서는 명령 페치가 명령 실행의 4버스 주기 전에 행해지고 있는 예를 나타내고 있다.
도 6 및 도 7과 같은 타이밍에서, 우선 자동 블록 소거 커맨드의 제 1 커맨드를 발행하기 전에 2버스 주기 이상의 장주기간 버스 액세스를 수반하지 않는 더미 커맨드를 사용자 프로그램에 기술해 둔다. CPU(1)는 우선 이 명령을 페치하고 명령큐에 축적하여 파이프라인 처리에 의해 실행하지만, 플래시 재기록 커맨드 직전에 장주기간 버스 액세스를 수반하지 않는 더미 커맨드를 사용자 프로그램에 기술함으로써, 명령큐에 공간이 발생하여 후속 명령이 축적되기 쉽게 되어, 명령큐의 효율적인 이용이 가능해진다.
다음에, 버스 주기 T5에서, 데이터 신호 DB(15:0) 상의 블록 소거의 제 1 커맨드 "20h"를 플래시 메모리 모듈(2)의 마이크로시퀀서에 기록하는 명령(전송 명령 등을 씀)으로서 CPU(1)가 페치(버스 주기 T1에 행해짐) 후, RWB="L", EB="L"을 출력하고, 플래시 메모리 제어 회로(3)로부터 소정 기간 "L"로 되는 커맨드 기록 신호 IWE를 생성시켜, 이 커맨드 기록 신호 IWE를 플래시 메모리 모듈(2)에 대하여 발행한다. 또, 버스 주기 T5에서의 커맨드 기록 신호 IWE가 "L" 하강할 때가 제 1커맨드의 수신 시, 즉, 자동 블록 소거 커맨드의 수신 개시 시로 된다. 단, 제 1 커맨드의 내용이 확정되는 것은 도 5에서 설명한 바와 같이 커맨드 기록 신호 IWE의 "H" 상승 시이다.
커맨드 기록 신호 IWE는, 도 6 및 도 7에 도시하는 바와 같이, 동작 클럭 CLK="H", RWB="L", EB="L"에 의해 유효하게 되도록 플래시 제어 회로(3) 내에서 생성된다. 플래시 메모리 모듈(2)은 커맨드 기록 신호 IWE의 상승 타이밍에서 제 1 커맨드("20h")를 접수한다.
사용자 프로그램에 의해서는 다음 버스 주기 T6에서, 블록 소거 커맨드의 제 2 커맨드의 발행에 선행하여, 버스 홀드 제어 레지스터(22)의 버스 홀드 제어 비트 HOLDRQ를 세트하는("H"로 함) 것과 같은, 비교적 간단한 레지스터 세트 동작인 레지스터 세트 명령 WRreg가 실행되도록 기술되어 있다. 따라서, 블록 소거 커맨드의 제 2 커맨드의 발행에 선행하여 확실히 버스 홀드 제어 비트 HOLDRQ를 "H"로 설정할 수 있다.
플래시 메모리 제어 회로(3)는 홀드 신호 HOLD의 생성 회로를 내부에 갖고, 해당 생성 회로는 HOLDRQ="H"이고, 커맨드 기록 신호 IWE="L"의 조건으로 액티브("H")가 되는 홀드 신호 HOLD를 생성한다. 또, 홀드 신호 HOLD는 데이터 버스(5), 어드레스 버스(4), 판독 기록 제어 신호군(판독/기록 제어 신호 RWB, 명령 실행 신호 EB)을 고정하기 위한 신호이다. 홀드 신호 HOLD가 액티브가 되면 다음 버스 주기로부터 홀딩이 시작되어, CPU(1)는 플래시 메모리 모듈(2)에 대한 액세스가 불가능해진다.
다음 버스 주기 T7에서, 사용자 프로그램에 의해 블록 소거의 제 2 커맨드(D0h)가 발행된다.
그리고, 커맨드 기록 신호 IWE="L"이 된 시점에서 상기 논리로 동작하는 생성 회로에 의해 버스 홀드 신호 HOLD가 액티브 "H"로 되어, 다음 버스 주기 T8로부터 어드레스 버스(4), 데이터 버스(5)의 홀딩이 시작된다. 버스 홀드 제어 비트 HOLDRQ를 홀드 신호 HOLD에 선행하여 "H"로 설정함으로써, 블록 소거 커맨드의 수신 종료 시에 확실히 홀드 신호 HOLD를 "H"로 할 수 있다.
홀딩되는 어드레스, 데이터 버스값은 CPU(1)가 파이프라인 처리를 하고 있기 때문에 블록 소거의 제 2 커맨드가 아닌 것도 있다. 또, 버스 주기 T7에서의 커맨드 기록 신호 IWE의 "L" 하강이 제 2 커맨드의 수신 시, 즉, 자동 블록 소거 커맨드의 수신 종료 시로 된다. 단, 제 2 커맨드의 내용이 확정되는 것은 커맨드 기록 신호 IWE의 "H" 상승 시이다.
이상으로부터, 어드레스 신호 AD(20:0), 데이터 버스 DB(15:0), 판독 기록 제어 신호군의 고정이 시작되어 CPU(1)의 버스 액세스는 중단된다.
커맨드 기록 신호 IWE의 상승 에지에서 데이터 신호 DB(15:0)의 값이 플래시 메모리 모듈(2) 내의 어드레스/데이터/제어 신호 입력 회로(15)에 의해 래치되고, 마이크로시퀀서(11)에서 커맨드 디코딩 처리가 이루어진다. 제 2 커맨드의 커맨드 기록 신호 IWE의 상승 에지에서 마이크로시퀀서(11)는 커맨드의 종류를 식별하여, 플래시 메모리 모듈(2) 단체에 의해 메모리의 자동 블록 소거 처리 흐름을 개시하고, 또한, 준비 상태 신호 RYIBY는 사용중을 나타내는 "L"을 출력한다.
플래시 메모리 모듈(2)은, 커맨드를 수리하여 처리를 개시하면, 판독 시에 상태 레지스터값(20)의 출력이 이루어지는 「상태 판독 모드」로 이행하기 때문에, 커맨드 처리 중에 CPU(1)는 플래시 메모리 모듈(2)의 플래시 ROM 데이터(19)를 판독하는 것은 불가능하며, 플래시 메모리 모듈(2) 상의 프로그램 명령의 페치도 불가능해진다.
플래시 메모리 모듈(2)이 내부의 마이크로시퀀서(11)에 의한 커맨드 처리를 실행하는 중에는 RYIBY="L"로 사용중 상태로 되고, 커맨드 처리를 완료했을 때에는 준비 신호 출력 RYIBY는 "L"로부터 "H"로 변화된다.
플래시 제어 회로(3)는 준비 상태 신호 RYIBY가 "L"로부터 "H"로 변화 후, 1 버스 주기 이후에 홀드 신호 HOLD를 "H"로부터 "L"로 변화시켜 무효로 한다.
이 때, 플래시 메모리 제어 회로(3)는, 플래시 메모리 모듈(2)에 입력하는 판독 모드 설정 펄스 신호 RDMODE를 "H"로 함으로써, 사용중 상태로부터 준비 상태로 복귀 후, 바로 「상태 판독 모드」에 있던 플래시 메모리 모듈(2)을 메모리 내용 판독할 수 있는 「메모리 판독 모드」로 전환할 수 있다.
이 판독 모드 신호 RDMODE는 상시 "H"로 유지하는 것에 의해, 플래시 메모리 모듈(2)이 준비 상태일 때는 항상, 판독하면 메모리 내용을 판독할 수 있는 「메모리 판독 모드」로 설정할 수도 있다.
또한, 판독 모드 신호 RDMODE를, 플래시 제어 회로(3) 내에 전용의 레지스터를 마련하여 CPU(1)로부터 설정하도록 구성하는 것도 가능하다. 즉, 판독 모드 신호 RDMODE의 출력의 유효/무효를 설정할 수 있게 하여, 상황에 따른 판독 모드 신호 RDMODE의 이용을 실현할 수 있다.
이상으로부터 어드레스 버스(4), 데이터 버스(5), 각종 제어 신호의 고정은 해제되므로, CPU(1)는 폭주하는 일 없이, 플래시 메모리 모듈(2)에 대한 액세스를 포함하는 처리를 재개할 수 있다.
사용자 프로그램에 있어서, 플래시 재기록 커맨드의 제 2 커맨드의 직후에 분기 명령(JMP 명령)을 배치해 두면, JMP 명령보다 후의 커맨드는 분기 명령 실행에 의해 무시되도록 되고, 재기록 커맨드 종료 후 홀드 해제되어 사용자 프로그램이 재개될 때, JMP 명령은 확실히 페치되고 명령큐에 큐잉되어 있던 명령이기 때문에 안전하게 처리 재개할 수 있다.
또는, 이 JMP 명령 대신에 파이프라인 소거 명령(PIB 명령)을 플래시 재기록 제 2 커맨드 직후에 배치하면, PIB 명령보다 후에 명령큐에 큐잉되어 있던 명령 그룹이 소거되도록 되고, 상기와 같이, 재기록 커맨드 종료 후 홀드 해제되어 사용자 프로그램이 재개될 때 안전하게 처리 재개할 수 있다.
상기한 바와 같이, 실시예 1에 따르면, 플래시 메모리 모듈(2)의 재기록 커맨드의 처리 중에는, 어드레스 버스(4), 데이터 버스(5), 각종 제어 신호가 홀딩되기 때문에, 커맨드 처리 중에 CPU(1)가 플래시 메모리 모듈(2) 상의 명령 코드가 판독될 수 없게 되는 것에 의한 폭주를 회피할 수 있다.
또한, 실시예 1에 따르면, 재기록 프로그램이 플래시 메모리 모듈(2) 상에 배치된 채로도, 그 프로그램을 실행하면서 다른 블록의 플래시 ROM 재기록 명령의 실행이 가능하고, 종래와 같은 플래시 메모리로부터 RAM으로의 프로그램 전송을 필요로 하지 않고, CPU의 프로그램 전송 부하를 저감할 수 있다.
부가하여, 종래의 제 2 상황에서의 제 2 방법인 백그라운드 재기록 방법에 의해 필요해진 복잡한 제어 회로를 필요로 하지 않는 장점도 있다.
또, 실시예 1에서는 자동 블록 소거 동작을 예로 들었지만, 도 4에 도시하는 바와 같이, 그 외에 자동 기록, 록비트 프로그램 등의 복수종의 재기록 동작의 실행 시에, 플래시 메모리 모듈(2)은 준비 상태 신호 RYIBY가 "L"이 되도록 설정되어 있기 때문에 다른 재기록 동작에 있어서도 자동 블록 소거와 같은 효과를 얻을 수 있다.
(실시예 2)
도 8은 본 발명의 실시예 2인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도이다.
실시예 2에서는, CPU(1)가 플래시 메모리 재기록 커맨드 발행 시에, 다음 주기의 명령으로부터 확실히 버스 홀딩을 행하기 위해서 준비 상태 신호 RYIBY에 의한 사용중 검출에 시간적으로 선행하고, 재기록 커맨드 접수 통지 신호인 커맨드 접수 통지 신호 IPREBUSY를 생성하는 기능을 구비한 플래시 메모리 모듈(2A)을 이용하고 있는 점이 실시예 1과 다르다.
도 9 및 도 10은 실시예 2의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도이다.
이하에서는, CPU(1)가 사용자 프로그램에 의해, 프로그램이 배치되어 있는 블록과 다른 블록의 플래시 메모리에 대한 재기록 커맨드를 발행하는 경우의 예로서 자동 블록 소거 커맨드를 발행하는 경우에 대해서의 동작을 설명한다.
도 9 및 도 10과 같은 타이밍으로, 버스 주기(43)에서, 이전 주기에서 CPU(1)가 페치한 명령이 실행되고 최초에 블록 소거의 제 1 커맨드 "20h", RWB="L", EB="L"을 출력하여, 플래시 메모리 모듈(2A)로의 기록을 지시하는 신호가 생성된다.
이 때, 커맨드 기록 신호 IWE는, 도 6 및 도 7에 도시하는 바와 같이, CLK="H", RWB="L", EB="L"에 의해 액티브 "L"이 되도록 플래시 제어 회로(3) 내에서 생성된다. 플래시 메모리 모듈(2A)은 커맨드 기록 신호 IWE의 상승 타이밍에서 제 1 커맨드를 접수한다.
실시예 2에서의 플래시 메모리 모듈(2A)은, 제 1 커맨드 접수 시, 재기록 커맨드의 접수를 외부에 통지하는 재기록 커맨드 접수 통지 신호인 커맨드 접수 통지 신호 IPREBUSY를 출력한다. 커맨드 접수 통지 신호 IPREBUSY는 모든 2 주기 커맨드에 있어서 제 1 커맨드 접수 시에 액티브 "L"이 되는 신호이다. 즉, 커맨드 접수 통지 신호 IPREBUSY는 부논리로, "H"일 때 제 1 커맨드 미접수이고, "L"일 때 제 1 커맨드 접수를 나타내는 출력 신호이다.
따라서, 도 9 및 도 10에 도시하는 바와 같이, 블록 소거의 제 1 커맨드 접수 시, 즉, 블록 소거 커맨드의 수신 개시 시에, 플래시 메모리 모듈(2A)로부터 출력되는 커맨드 접수 통지 신호 IPREBUSY는 "H"로부터 "L"로 변화된다.
그리고, 커맨드 접수 통지 신호 IPREBUSY는, RYIBY="H"일 때, 즉, 준비 상태일 때에 무효로 된다("H"로 복귀된다).
이 커맨드 접수 통지 신호 IPREBUSY를 상태 레지스터(20)의 1비트에 할당하지만, 플래시 메모리 제어 회로(3A) 내의 제어 레지스터(도시하지 않음)의 1비트에 할당함으로써, CPU(1)에 의해 플래시 메모리 모듈(2A) 또는 플래시 메모리 제어 회로(3A)로부터 커맨드 접수 통지 신호 IPREBUSY에 대한 정보를 판독하여 검출할 수 있는 신호로서 이용할 수 있어, 사용자 프로그램에 의한 참조가 가능해지고, 플래시 메모리 모듈(2A)의 제어에 이용할 수 있다.
또한, 플래시 메모리 제어 회로(3A)로부터, 각각이 재기록 커맨드의 종별에 따라 다른 내용으로 되는 복수종의 재기록 커맨드를 플래시 메모리 모듈(2A)에 발행하고, 플래시 메모리 모듈(2A) 내부는 복수종의 재기록 커맨드 각각 대응하여 마련된 복수의 접수 통지 신호의 논리합에 의해 커맨드 접수 통지 신호 IPREBUSY를 생성하도록 구성해도 무방하다.
플래시 메모리 제어 회로(3A) 내의 버스 홀드 신호 HOLD의 생성 회로는 커맨드 접수 통지 신호 IPREBUSY="L", 커맨드 기록 신호 IWE="L"의 조건으로 액티브가 되도록 설계된다.
다음 버스 주기 T5에서, 사용자 프로그램에 의해 블록 소거의 제 2 커맨드 "D0h"가 발행되지만, 커맨드 기록 신호 IWE="L"이 된 시점에서 상기 논리에 의해 동작하는 생성 회로에 의해 버스 홀드 신호 HOLD가 액티브 "H"로 되어, 다음 주기로부터 어드레스 버스(4), 데이터 버스(5), 각종 제어 신호의 홀딩이 시작된다.커맨드 접수 통지 신호 IPREBUSY는 홀드 신호 HOLD에 앞서 액티브 "L"로 변화되는 것에 의해, 블록 소거 커맨드의 수신 종료 시에 확실히 홀드 신호 HOLD를 "H"로 할 수 있다.
이 때, 홀딩되는 어드레스, 데이터 버스값은 CPU(1)가 파이프라인 처리를 하고 있기 때문에 블록 소거의 제 2 커맨드가 아닐 수도 있다.
커맨드 기록 신호 IWE의 상승 에지에서 데이터 버스(5) 상의 데이터 신호 DB (15:0)가 플래시 메모리 모듈(2A) 내의 어드레스/데이터/제어 신호 입력 회로(15)에 의해 래치되고, 마이크로시퀀서(11) 내에서 커맨드 디코딩 처리가 이루어진다. 그리고, 마이크로시퀀서(11)는 제 2 커맨드의 커맨드 기록 신호 IWE의 상승 에지에서는 커맨드의 종류를 식별하고, 플래시 메모리의 블록 소거 처리 흐름을 개시하며, 또한, 준비 상태 신호 RYIBY는 사용중을 나타내는 "L"을 출력한다.
플래시 메모리 모듈(2A)은 커맨드를 수리하여 처리를 개시하면, 판독 시에 상태 레지스터값(20)의 출력이 이루어진 「상태 판독 모드」로 이행하기 때문에, 커맨드 처리 중에 CPU(1)는 플래시 ROM 데이터(19)를 판독하는 것은 불가능하며, 플래시 메모리 모듈(2A) 상의 프로그램 명령의 페치도 불가능해진다.
플래시 메모리 모듈(2A)이 모듈 내부의 마이크로시퀀서(11)에 의한 커맨드 처리를 완료했을 때에는 준비 신호 출력 RYIBY는 "L"로부터 "H"로 변화된다.
플래시 제어 회로(3A)는 RYIBY 신호가 "L"로부터 "H"로 변화 후, 1 버스 주기 이후에 홀드 신호 HOLD를 "H"로부터 "L"로 변화시켜 무효로 한다. 버스 홀딩을 해제하면 중단 상태에 있던 프로그램 실행 처리가 재개된다.
이 때, 플래시 메모리 모듈(2A)에 플래시 메모리 제어 회로(3A)로부터 판독 모드 설정 펄스 신호 RDMODE를 "H" 입력함으로써, 사용중 상태로부터 준비 상태로 복귀 후, 바로 「상태 판독 모드」에 있던 플래시 메모리 모듈(2A)을 메모리 내용 판독할 수 있는 「메모리 판독 모드」로 전환할 수 있다.
이 동작에 의해, 실시예 2는 실시예 1과 마찬가지로 어드레스 버스(4), 데이터 버스(5), 각종 제어 신호의 고정은 해제되고, CPU(1)는 폭주하는 일 없이 처리를 재개할 수 있다.
또한, 사용자 프로그램에 있어서, 플래시 재기록 커맨드의 제 2 커맨드의 직후에 분기 명령(JMP 명령)을 배치해 두면, 실시예 1과 마찬가지로 재기록 커맨드 종료 후 홀드 해제되어 사용자 프로그램이 재개될 때, 안전하게 처리 재개할 수 있다.
실시예 2에서 이용한 커맨드 접수 통지 신호 IPREBUSY는 자동 소거 커맨드의 제 1 커맨드가 플래시 메모리 모듈(2A)에 접수되었는지를 검지할 수 있는 신호이며, 커맨드 입력 오류의 판정에도 사용할 수 있다. 사용자 프로그램에 있어서, 플래시 재기록 커맨드의 제 1 커맨드의 직후에 커맨드 접수 통지 신호 IPREBUSY를 체크하는 명령(즉, 플래시 메모리 제어 회로(3A)의 제어 레지스터 등에 저장되는 커맨드 접수 통지 신호 IPREBUSY에 근거하여 할당된 비트를 판독하는 명령)을 입력하고, CPU(1)에서 체크하면 제 1 커맨드가 플래시 메모리 모듈(2A)에 접수되었는지를 판단할 수 있어, 플래시 메모리 모듈(2A)에의 커맨드 입력의 확실도가 향상된다.
플래시 메모리 제어 회로(3A)는 커맨드 기록 신호 IWE의 상승 직후의 준비상태 신호 RYIBY를 래치한 신호인 ERRCMD 신호 생성 회로와 ERRCMD 신호에 대응하는 비트를 갖는 제어 레지스터를 구비한다.
이 제어 레지스터는 CPU(1)로부터 판독할 수 있고, 플래시 재기록 커맨드의 제 2 커맨드 발행 후에 이 ERRCMD 비트를 CPU(1)가 판독해서, "H"이면 커맨드가 오류로 되어 접수되지 않은 것을 나타낸다.
또한, 자동 소거 커맨드의 제 2 커맨드가 입력된 동일한 버스 주기 내에서 준비 상태 신호 RYIBY를 래치하고, 제 2 커맨드가 정상으로 접수되지 않은 경우에 "H"로 되는 오류 커맨드 신호 ERRCMD를 생성하여 제 2 커맨드 발행 후에 오류 커맨드 신호 ERRCMD를 CPU(1)로부터 판독하면, 제 2 커맨드 발행 시의 오류 유무를 용이하게 검출할 수 있다.
본 기능은 노이즈 등에 의해 플래시 재기록 커맨드의 제 1 커맨드/제 2 커맨드의 양자도 플래시 메모리 모듈(2)에 접수되지 않은 경우에도, 제 2 커맨드의 오류 검출이 가능하다는 장점을 갖는다.
이상과 같이 이 실시예 2에 따르면, 실시예 1과 마찬가지로 CPU(1)가 플래시 메모리 모듈에 재기록 커맨드를 발행 시, 커맨드 처리 중에 CPU(1)가 플래시 메모리 상의 명령 코드가 판독될 수 없게 되는 것에 의한 폭주를 회피할 수 있고, 재기록 프로그램이 플래시 ROM 상에 배치된 채로도 그 프로그램을 실행하면서 다른 블록의 플래시 ROM 재기록이 가능하고, 종래와 같은 플래시 ROM에서 RAM으로의 프로그램 전송을 필요로 하지 않는 장점이 있다.
(실시예 3)
도 11은 본 발명의 실시예 3인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도이다.
도 11에 도시하는 바와 같이, RAM(26)이 추가되어 있다. 이 RAM(26)은 어드레스 버스(4) 상의 어드레스 신호 AD(20:0), 데이터 버스(5) 상의 데이터 신호 DB(15:0)와 판독/기록 제어 신호 RWB, 명령 실행 신호 EB에 의해 CPU(1)로부터 판독/기록 가능하다.
CPU(1)는 실시예 1 및 실시예 2와 마찬가지로 명령큐를 복수 명령분 구비하고 있고, 파이프라인 처리가 가능하다. 또, 다른 구성은 도 8에서 나타낸 실시예 2와 마찬가지이다.
도 12 및 도 13은 실시예 3의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도이다. 또, 버스 주기 T1∼T5, Tn, Tm 등의 1 버스 주기는 실시예 1, 실시예 2와 마찬가지로, 동작 클럭 CLK의 2클럭 주기로 되어 있다.
이하에서는, CPU(1)가 사용자 프로그램에 의해, 프로그램이 배치되어 있는 블록과 다른 블록의 플래시 메모리에 대한 재기록 커맨드를 발행하는 경우의 예로서 자동 블록 소거 커맨드를 발행하는 경우에 대해서의 동작을 설명한다.
사용자 프로그램에 의해 플래시 메모리 내용의 재기록이 필요해졌을 때, 다음과 같은 순서로 실시한다.
우선, RAM(26)에는 미리 플래시 메모리 모듈(2A)의 상태 레지스터(20)로부터데이터 버스(5) 경유에 의해 판독하는 준비 비트(사용중 상태 신호)를 폴링하는 프로그램을 플래시 ROM(2A)으로부터 전송해둔다. 준비 비트는 플래시 메모리 모듈(2A)이 준비 상태의 유/무를 "H"/"L"로 나타내는 플래시 메모리 모듈(2A)의 상태 정보이다.
도 12 및 도 13에 도시하는 바와 같이, CPU(1)가 사용자 프로그램을 실행함으로써 블록 소거 커맨드를 제 1 커맨드, 제 2 커맨드의 순서대로 입력하여 블록 소거의 자동 실행을 개시한다.
플래시 재기록 커맨드의 직후에 상기 폴링 프로그램이 쓰여진 RAM(26)의 시작 번지로의 JMP 명령을 배치함으로써, 플래시 재기록 커맨드 제 2 커맨드 실행 후, CPU(1)의 명령큐에 페치되어 있던 JMP 명령이 실행되어 RAM(26)의 소정 시작 번지에 점프한다.
플래시 메모리 모듈(2A)에서 재기록 커맨드가 실행되어 있을 때, 플래시 메모리 모듈(2A)은 「상태 판독 모드」로 되어 있기 때문에, RAM(26) 상에 쓰여진 폴링 프로그램에 의해 CPU(1)로부터 플래시 제어 회로(3)를 통하여 플래시 메모리 모듈(2A)에 판독 명령을 발행함으로써, CPU(1)는 상태 레지스터(20) 중의 준비 비트로부터 플래시 메모리 모듈(2A)의 상태(준비/사용중)를 검출할 수 있고, 이것에 의해 재기록 커맨드 실행 중/종료를 판정할 수 있다.
RAM(26)의 폴링 프로그램에 의해 플래시 재기록 커맨드 완료를 대기하고, 데이터 버스(5) 경유에 의해 판독된 준비 비트의 "L"(사용중 상태)→"H"(준비 상태)변화를 검출하여 커맨드 완료를 검출한다.
커맨드 완료 직후, 즉, 준비 상태 신호 RYIBY의 "L"→"H" 변화에 동기해서, 플래시 메모리 제어 회로(3A)는 판독 모드 신호 RDMODE를 액티브 "H"로 출력하여, 플래시 메모리 모듈(2A)을 「상태 판독 모드」부터 「메모리 판독 모드」로 전환하고, 재기록 커맨드 완료 후에는 플래시 ROM 데이터(19)의 판독이 가능한 상태에 이행한다.
한편, CPU(1)는 플래시 재기록 커맨드 완료 후에 다시 플래시 메모리 모듈(2A) 상의 프로그램 번지에 점프하면(예컨대, RAM(26) 상의 폴링 프로그램 서브루틴의 직후에 해당 점프 명령을 기재하는 등에 의해 실현), 플래시 메모리 모듈(2A) 상의 프로그램의 실행 재개가 가능하다.
이상과 같이 실시예 3에서는, 플래시 모듈의 사용중 상태의 폴링 프로그램을 주로 한 소용량의 영역만 RAM(26)에서 사용함으로써, 플래시 메모리 모듈(2A)의 재기록이 가능해진다.
따라서, 플래시 메모리의 재기록 처리 시에 재기록 프로그램용 또는 레지스터 퇴피용 스택의 RAM 용량을 삭감할 수 있어, RAM(26)의 용량을 필요 최소한으로 최적화할 수 있다.
(실시예 4)
도 14는 본 발명의 실시예 4인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도이다.
도 14에 도시하는 바와 같이, 플래시 메모리 모듈(2B)은 커맨드 접수 통지신호 IPREBUSY-0∼IPREBUSY-n을 출력한다. 이들 커맨드 접수 통지 신호 IPREBUSY-0∼IPREBUSY-n은 플래시 메모리 모듈(2B)로의 재기록 커맨드 종별마다(자동 블록 소거, 자동 기록 등 각각의 커맨드마다) 개별적으로 할당된 신호이다.
한편, 플래시 메모리 제어 회로(3B) 내에 제어 레지스터(23)가 마련되고, 제어 레지스터(23)는 커맨드 접수 통지 신호 IPREBUSY-0∼IPREBUSY-n의 값을 내부 비트 bit-O∼bit-n으로서 저장 가능하고, 제어 레지스터(23)는 CPU(1)로부터 판독 액세스가 가능하다. 또, 다른 구성은 도 8에서 나타낸 실시예 2와 마찬가지이다.
실시예 4는 이와 같은 구성으로 함으로써, CPU(1)가 소정의 프로그램의 실행에 의해 플래시 메모리 모듈(2B)로의 커맨드를 발행했을 때에, 전기적인 노이즈 등에 의해 마이크로컴퓨터 내부에서 데이터가 변화하여 플래시 메모리 모듈(2B)에 다른 커맨드로서 접수되는 경우에도, CPU(1)가 플래시 메모리 모듈(2B)로의 재기록 커맨드의 제 1 커맨드 발행 후, 제 2 커맨드 발행보다 전에 해당 재기록 커맨드에 대응하는 커맨드 접수 통지 신호 IPREBUSY-i(i=1∼n 중 어느 하나)가 유효로 되어 있는지 여부를 제어 레지스터(23)의 비트 bit-i의 값을 판독하여 체크함으로써, 재기록 커맨드가 플래시 메모리 모듈(2B)에 올바로 접수됐는지 여부를 재기록 커맨드 종별 단위로 판정할 수 있다.
이 때 홀드 신호 HOLD의 생성은 제어 레지스터(23)의 비트 bit-O∼bit-n의 논리합 신호에 의해 제어된다.
이와 같이, 실시예 4에 따르면, CPU(1)로부터 발행된 플래시 메모리를 향하여 커맨드와 실제로 플래시 메모리 모듈(2B)에 접수된 커맨드의 종류가 일치하고있는지 여부를 확인할 수 있어, 커맨드 발행의 확실도를 향상시킬 수 있다.
(실시예 5)
도 15는 본 발명의 실시예 5인 플래시 메모리 내장 마이크로컴퓨터의 기본적인 구성을 나타내는 블록도이다.
실시예 5는 플래시 메모리 재기록 커맨드 발행 시의 버스 주기, 특히 제 2 커맨드의 버스 주기를 연장하여, 1 버스 주기 기간 내에서 커맨드 기록 신호 IWE의 상승 후에 대기(wait) 주기를 갖는 버스 타이밍으로 동작하도록 구성한 것을 특징으로 한다.
도 16 및 도 17은 실시예 5의 플래시 메모리 내장 마이크로컴퓨터에 의한 블록 소거 커맨드 실행 시에 있어서의 각 신호의 신호 변화를 나타내는 타이밍도이다. 이들 도면에서는, 전체 버스 주기가 동작 클럭 CLK의 3클럭 주기로 동작하도록 설정되어 있다.
실시예 5에서는, 플래시 재기록 커맨드의 제 2 커맨드 발행 종료 후, 동일 버스 주기 중에 대기 주기 WT가 마련되어 있고, 플래시 메모리 제어 회로(3C) 내의 홀드 신호 HOLD의 생성 회로는 커맨드 접수 통지 신호 IPREBUSY가 액티브이고 준비 상태 신호 RYIBY가 사용중의 조건으로 액티브가 되도록 설계된다. 이 홀드 신호 HOLD에 의해 다음 버스 주기 T6으로부터의 정지를 개시 가능하다.
재기록 커맨드 종료 시, 플래시 메모리 제어 회로(3C)는 준비 상태 신호 RYIBY가 "L"→"H"로 변화된 시점에서 1 버스 주기 이후에 홀드 신호 HOLD를 "H"로부터 "L"로 변화시켜 무효로 한다. 홀드 신호 HOLD를 해제하면 중단 상태에 있던 프로그램 실행 처리가 재개된다. 상기 이외의 구성 및 동작은 실시예 2와 마찬가지이다.
이와 같이, 실시예 5에 따르면, 홀드 신호 HOLD의 생성을 커맨드 접수 통지 신호 IPREBUSY와 준비 상태 신호 RYIBY만으로 실행할 수 있다. 부가하여, 버스 주기를 다른 실시예보다 동작 클럭 CLK의 1주기분 많은 3주기로 설정함으로써, 플래시 재기록 커맨드의 제 2 커맨드 발행 종료 후, 동일 버스 주기 중에 대기 주기 WT를 마련할 수 있어, 확실히 버스 주기 T6 이후를 홀드 기간으로 설정할 수 있다.
이상 설명한 바와 같이, 본 발명에서의 제 1 국면의 마이크로컴퓨터의 플래시 메모리 제어 회로는 준비 상태 신호가 재기록 동작의 실행을 지시할 때, CPU가 플래시 메모리부에 대한 액세스에 필요한 신호의 고정을 지시하는 홀드 신호를 CPU에 부여하고 있다.
이 때문에, 플래시 메모리부에 기록된 소정의 프로그램을 플래시 메모리부 이외의 메모리에 전송하는 일 없이, 소정의 프로그램을 플래시 메모리부 상에 놓아 둔 채로, CPU가 소정의 프로그램을 실행 중에 플래시 메모리부에 대한 재기록 동작을 복잡한 제어 회로 등을 필요로 하지 않고 실행할 수 있다.
제 2 국면의 마이크로컴퓨터는 선행 홀드 신호를 홀드 신호에 앞서 활성 상태로 함으로써, 플래시 메모리부가 재기록 커맨드의 수신 종료 시에 확실히 홀드신호를 활성 상태로 할 수 있다.
제 3 국면의 마이크로컴퓨터의 플래시 메모리 제어 회로는 제어 레지스터를 세트 상태로 설정한다는, 비교적 간단한 동작에 의해 선행 홀드 신호를 활성 상태로 설정할 수 있다.
제 4 국면의 마이크로컴퓨터는 제 1 부분 커맨드와 제 2 부분 커맨드 사이에 제어 레지스터를 세트 상태로 하는 레지스터 기록 명령을 소정의 프로그램에 기술함으로써, 재기록 커맨드의 수신 개시 후, 재기록 커맨드의 수신 종료 전에 선행 홀드 신호를 확실히 활성 상태로 설정할 수 있다.
제 5 국면의 마이크로컴퓨터는 재기록 커맨드 접수 통지 신호를 홀드 신호에 앞서 활성 상태로 함으로써, 재기록 커맨드의 수신 종료 시에 확실히 홀드 신호를 활성 상태로 할 수 있다.
제 6 국면의 마이크로컴퓨터는 재기록 커맨드의 제 2 부분 커맨드의 발행 개시 시보다 앞서 홀드 신호를 활성 상태로 함으로써, 재기록 신호의 수신 종료 시인 제 2 부분 커맨드의 발행 종료 시보다 앞서 홀드 신호를 활성 상태로 할 수 있다.
제 7 국면의 마이크로컴퓨터 CPU는 재기록 커맨드 접수 통지 신호에 근거하는 플래시 메모리부를 제어할 수 있다.
제 8 국면의 마이크로컴퓨터는 플래시 메모리부에서 재기록 커맨드 접수 통지 신호를 재기록 커맨드 종별마다 마련된 복수의 재기록 커맨드 접수 통지 신호로서 플래시 메모리 제어 회로로 출력하고, 그들 정보를 CPU가 플래시 메모리 제어 회로로부터 참조할 수 있게 구성하고 있기 때문에, CPU 측에서 발행한 재기록 커맨드와 실제로 플래시 메모리부가 접수한 재기록 커맨드의 종별이 일치하고 있는지 여부를 CPU가 체크할 수 있고, 그 결과, 플래시 메모리를 향하여 커맨드가 정상으로 접수되었는지 검출할 수 있다.
제 9 국면의 마이크로컴퓨터는 버스 홀드 신호의 생성을 재기록 커맨드 접수 통지 신호와 준비 상태 신호만으로 확실히 실행할 수 있다.
제 10 국면의 마이크로컴퓨터의 플래시 메모리부는 판독 모드 신호에 의해 재기록 동작 실행 후에 빠르게 판독 가능 상태로 된다.
제 11 국면의 플래시 메모리부는 재기록 동작 실행 밖의 준비 기간이 항상 플래시 메모리부의 내용을 판독 가능 상태로 된다.
제 12 국면의 마이크로컴퓨터는 판독 모드 신호의 출력의 유효/무효를 설정할 수 있기 때문에, 상황에 따른 판독 모드 신호의 이용이 가능하다.
제 13 국면의 마이크로컴퓨터는 복수종의 재기록 커맨드의 실행 중에 고정을 지시하는 상기 홀드 신호를 CPU로 출력할 수 있다.
제 14 국면의 마이크로컴퓨터의 소정 프로그램은 재기록 커맨드의 직후에 어드레스 분기 명령이 기술되어 있기 때문에, 재기록 커맨드 후의 CPU의 파이프라인 처리에 지장을 초래하지 않는다.
제 15 국면의 마이크로컴퓨터의 소정 프로그램은 재기록 커맨드의 직후에 파이프라인 소거 명령이 기술되어 있기 때문에, 재기록 커맨드 후의 CPU의 파이프라인 처리에 지장을 초래하지 않는다.
제 16 국면의 마이크로컴퓨터의 소정 프로그램은 재기록 커맨드의 직전에 플래시 메모리부와의 액세스에 관여하지 않은 복수 버스 주기를 필요로 하는 더미 명령이 기술되어 있기 때문에, 파이프라인 처리를 실현하기 위한 명령큐의 유효 이용이 가능해진다.
제 17 국면의 마이크로컴퓨터는 플래시 메모리부의 재기록 동작의 완료를 검출할 수 있는 폴링 프로그램의 탑재가 가능한 필요 최소한의 용량의 제 2 메모리를 마련하는 것만으로, 플래시 메모리부에 대한 재기록 동작을 지장없이 실행할 수 있다.
제 18 국면의 마이크로컴퓨터의 플래시 메모리 제어 회로는 재기록 커맨드의 제 2 부분 커맨드 발행 직후에 준비 상태 신호를 래치한 신호를 CPU가 참조할 수 있게 저장함으로써 커맨드 발행 오류 검출에 이용할 수 있다.
제 19 국면의 마이크로컴퓨터는 재기록 커맨드에 대응하는 재기록 커맨드 접수 통지 신호와 플래시 메모리 제어 회로가 래치한 신호를, CPU가 제 1, 제 2 부분 커맨드 발행 후에 각각 읽어들이는 것에 의해 커맨드 발행 오류의 유무를 검출할 수 있고, 프로그램 동작 신뢰성을 향상시킬 수 있다.

Claims (1)

  1. 소정의 명령을 실행하는 CPU와,
    복수의 블록으로 분할된 플래시 메모리부와,
    상기 플래시 메모리부에 대한 재기록 동작을 제어하는 플래시 메모리 제어 회로를 구비하되,
    상기 CPU는 상기 플래시 메모리부의 복수의 블록 중 적어도 하나의 블록에 기록되어, 다른 블록의 재기록을 행하기 위한 소정의 프로그램을 실행할 수 있고, 상기 플래시 메모리부는 재기록 커맨드에 근거하여 상기 다른 블록에서의 재기록 동작을 실행하며, 상기 재기록 동작의 실행 중의 유무를 지시하는 준비 상태 신호를 출력하고,
    상기 플래시 메모리 제어 회로는,
    상기 준비 상태 신호를 받아 상기 준비 상태 신호가 상기 재기록 동작의 실행을 지시할 때, 상기 CPU가 상기 플래시 메모리부에 대한 액세스에 필요한 신호의 고정을 지시하는 홀드 신호를 상기 CPU에 인가하는 것을 특징으로 하는
    마이크로컴퓨터.
KR10-2002-0046429A 2001-11-15 2002-08-07 마이크로컴퓨터 KR100474622B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001350151A JP4136359B2 (ja) 2001-11-15 2001-11-15 マイクロコンピュータ
JPJP-P-2001-00350151 2001-11-15

Publications (2)

Publication Number Publication Date
KR20030040021A true KR20030040021A (ko) 2003-05-22
KR100474622B1 KR100474622B1 (ko) 2005-03-10

Family

ID=19162712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0046429A KR100474622B1 (ko) 2001-11-15 2002-08-07 마이크로컴퓨터

Country Status (5)

Country Link
US (1) US6959365B2 (ko)
JP (1) JP4136359B2 (ko)
KR (1) KR100474622B1 (ko)
DE (1) DE10236011A1 (ko)
TW (1) TW577019B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100102283A (ko) * 2009-03-11 2010-09-24 삼성전자주식회사 플래시 메모리 장치 및 그 제어 방법
KR101034457B1 (ko) * 2009-09-23 2011-05-17 성신아이앤텍 주식회사 진동모터 케이스 제조방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4061272B2 (ja) * 2002-01-09 2008-03-12 株式会社ルネサステクノロジ メモリシステム及びメモリカード
JP3980901B2 (ja) * 2002-02-12 2007-09-26 沖電気工業株式会社 デジタル信号処理装置
JP2004237667A (ja) * 2003-02-07 2004-08-26 Canon Inc データ転送方法
FI20035041A0 (fi) * 2003-03-31 2003-03-31 Nokia Corp Menetelmä tiedon tallentamiseksi muistiin, järjestelmä, elektroniikkalaite ja muistikortti
US7579683B1 (en) 2004-06-29 2009-08-25 National Semiconductor Corporation Memory interface optimized for stacked configurations
US9245591B2 (en) 2005-06-16 2016-01-26 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US7426613B2 (en) * 2005-06-16 2008-09-16 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US8521970B2 (en) 2006-04-19 2013-08-27 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
JP4925162B2 (ja) * 2005-11-07 2012-04-25 株式会社メガチップス メモリ装置
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
JP4626595B2 (ja) * 2006-09-12 2011-02-09 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101364443B1 (ko) * 2007-01-31 2014-02-17 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법
US7950014B2 (en) * 2007-06-01 2011-05-24 Microsoft Corporation Detecting the ready state of a user interface element
KR20100115583A (ko) * 2009-04-20 2010-10-28 삼성전자주식회사 데이터 저장 시스템
JP5325650B2 (ja) * 2009-05-11 2013-10-23 ルネサスエレクトロニクス株式会社 半導体チップ
TWI420313B (zh) * 2010-12-24 2013-12-21 Phison Electronics Corp 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
US8737849B2 (en) * 2011-05-02 2014-05-27 Static Control Components, Inc. Addressing for a memory device used in an image recording apparatus
TWI464593B (zh) * 2012-03-03 2014-12-11 Nuvoton Technology Corp 輸出輸入控制裝置與其控制方法
JP6217664B2 (ja) 2015-02-10 2017-10-25 トヨタ自動車株式会社 マイコン装置
KR102336730B1 (ko) * 2015-09-30 2021-12-07 에스케이하이닉스 주식회사 상태 신호를 출력하는 반도체 메모리 장치 및 그것의 동작 방법
JP6950383B2 (ja) * 2017-09-12 2021-10-13 株式会社豊田自動織機 メモリアクセス装置及びメモリアクセス方法
US10628344B2 (en) * 2017-09-22 2020-04-21 Macronix International Co., Ltd. Controlling method, channel operating circuit and memory system for executing memory dies with single channel
KR20210014363A (ko) * 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11698734B2 (en) 2020-07-22 2023-07-11 Seagate Technology Llc Collision reduction through just-in-time resource allocation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4093823A (en) * 1976-08-24 1978-06-06 Chu Wesley W Statistical multiplexing system for computer communications
JPS6426264A (en) 1987-07-22 1989-01-27 Hitachi Ltd Data processor
JP2632104B2 (ja) * 1991-11-07 1997-07-23 三菱電機株式会社 不揮発性半導体記憶装置
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
US5678082A (en) * 1994-12-09 1997-10-14 Olympus Optical Co., Ltd. Electrical system apparatus including one-chip microcomputer
US5950222A (en) * 1996-03-14 1999-09-07 Sanyo Electric Co., Ltd. Microcomputer using a non-volatile memory
US5991849A (en) * 1996-04-10 1999-11-23 Sanyo Electric Co., Ltd Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
JPH10177563A (ja) 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
KR100251636B1 (ko) * 1997-04-10 2000-05-01 윤종용 소형컴퓨터시스템인터페이스방식접속을위한메모리장치
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
JP2000348011A (ja) * 1999-06-07 2000-12-15 Mitsubishi Electric Corp 電気的に書き換え可能な不揮発性メモリ内蔵マイクロコンピュータ
JP2001084787A (ja) * 1999-09-09 2001-03-30 Oki Electric Ind Co Ltd 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ
KR100375217B1 (ko) * 1999-10-21 2003-03-07 삼성전자주식회사 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
JP2001306543A (ja) * 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
JP2001350738A (ja) * 2000-06-08 2001-12-21 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
JP4564215B2 (ja) * 2001-09-26 2010-10-20 株式会社東芝 フラッシュメモリ書き替え回路、icカード用lsi、icカード及びフラッシュメモリ書き替え方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100102283A (ko) * 2009-03-11 2010-09-24 삼성전자주식회사 플래시 메모리 장치 및 그 제어 방법
KR101034457B1 (ko) * 2009-09-23 2011-05-17 성신아이앤텍 주식회사 진동모터 케이스 제조방법

Also Published As

Publication number Publication date
US20030093612A1 (en) 2003-05-15
DE10236011A1 (de) 2003-06-05
US6959365B2 (en) 2005-10-25
JP2003150574A (ja) 2003-05-23
JP4136359B2 (ja) 2008-08-20
TW577019B (en) 2004-02-21
KR100474622B1 (ko) 2005-03-10

Similar Documents

Publication Publication Date Title
KR100474622B1 (ko) 마이크로컴퓨터
US8327161B2 (en) Command decoder for microcontroller based flash memory digital controller system
US5822244A (en) Method and apparatus for suspending a program/erase operation in a flash memory
US9652324B2 (en) Solid state disk controller apparatus
US5793774A (en) Flash memory controlling system
JP3979486B2 (ja) 不揮発性記憶装置およびデータ格納方法
US20060010282A1 (en) Method and apparatus to boot a system by monitoring an operating status of a NAND flash memory
KR100634436B1 (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
WO1999048001A1 (en) Improvements in microprocessor development systems
KR20040002454A (ko) 마이크로 컴퓨터
US7725621B2 (en) Semiconductor device and data transfer method
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
US20060020764A1 (en) Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof
CN114035853B (zh) 具备spi接口的mcu引导***及芯片
US7685343B2 (en) Data access method for serial bus
US6622244B1 (en) Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
US6085282A (en) Method and apparatus for distinguishing register reads from memory reads in a flash memory
EP1246201A2 (en) Semiconductor memory
JP4663210B2 (ja) 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
JP4343244B2 (ja) マイクロコンピュータ
EP0359232A2 (en) Computer system and method for setting recovery time
US7395399B2 (en) Control circuit to enable high data rate access to a DRAM with a plurality of areas
US7487287B2 (en) Time efficient embedded EEPROM/processor control method
KR101028855B1 (ko) 시리얼 플래시 컨트롤러
JP3997505B2 (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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee