KR20020018115A - 매체 재생장치 - Google Patents

매체 재생장치 Download PDF

Info

Publication number
KR20020018115A
KR20020018115A KR1020010052500A KR20010052500A KR20020018115A KR 20020018115 A KR20020018115 A KR 20020018115A KR 1020010052500 A KR1020010052500 A KR 1020010052500A KR 20010052500 A KR20010052500 A KR 20010052500A KR 20020018115 A KR20020018115 A KR 20020018115A
Authority
KR
South Korea
Prior art keywords
data
unit
units
nonvolatile memory
user data
Prior art date
Application number
KR1020010052500A
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 KR20020018115A publication Critical patent/KR20020018115A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

매체 재생장치의 제어장치로 사용되는 마이크로 컴퓨터는 그것에 내장된 불휘발성 메모리의 유저데이터 기억영역과 같은 소정의 영역이, 유닛 단위로 기록을 행하고 블록단위로 소거를 행할 수 있도록 구성되고, 유저데이터 기억영역으로의 기록처리가 발생한 경우에는 상기 유닛을 갱신하면서 데이터의 기록이 순차 행해지고, 모든 유닛에 대해 기록이 행해진 경우에 상기 소정의 영역에 포함되는 블록에 관해 데이터 소거를 행하여, 소거된 블록에 대해 다음의 데이터의 기록을 행하도록 구성된다.

Description

매체 재생장치{MEDIA READING APPARATUS}
본 발명은, 컴팩트 디스크 드라이브 장치와 같은 매체 재생장치에 적용하는유효한 기술에 관한 것으로, 예컨대 블록단위로 일괄하여 데이터의 소거가 가능한 플래시 메모리를 내장한 마이크로 컴퓨터(이하, 플래시 메모리 내장 마이크로 프로세서라고 칭함)를 제어장치로서 가지는 매체 재생장치에 이용하는 유효한 기술에 관한 것이다.
근래, 외부 기억장치와 같이 복잡한 제어를 필요로 하는 퍼스널 컴퓨터 주변기기나 통신기기에서는, 그 제어장치로서 마이크로 컴퓨터가 사용되고 있다. 이 중 특히 광 디스크 드라이버나 추가형의 CD드라이버 등과 같이 수개월 사이에 신제품이 투입되는 기기에 있어서는, 신기종을 개발할 때마다 그것에 따라 제어용 마이크로 컴퓨터의 펌 웨어(firmware) 즉 마이크로 프로그램을 재기록해야 할 필요성이 생기기 때문에, 플래시 메모리와 같이 재기록이 가능한 불휘발성 메모리를 내장한 마이크로 컴퓨터가 많이 이용되어 오고 있다.
일예로서, 광 디스크 드라이버의 예를 도 15에 나타낸다. 도 15에 있어서, 400은 퍼스널 컴퓨터, 200은 광 디스크 드라이버이고, 퍼스널 컴퓨터(400)와 광 디스크 드라이버(200)는 케이블(300)에 의해 접속되어, ATAPI(AT Attachment Packet Interface)나 SCSI(Small Computer System Interface) 등의 인터페이스에 의해 데이터의 전송이 행해진다.
광 디스크 드라이버(200)에는, 스핀들 모터나 광 픽업(pickup) 등의 미케니컬(mechanical) 부품 이외에 전자부품으로서 마이크로 컴퓨터(250)를 탑재한 제어기판(260)이 설치되어 있다. 종래, 이 제어기판(260)으로는, 다종다양한 구성이 채용되고 있어, 전술한 바와 같이, 마이크로 컴퓨터(250)로서 플래시 메모리 내장 마이크로 프로세서를 사용한 것이나 통상의 싱글 칩 마이크로프로세서를 사용한 것 등이 있다.
플래시 메모리는, 컨트롤 게이트 및 플로팅(floating) 게이트를 가지는 불휘발성 기억소자를 메모리셀로 사용한 회로이고, 그 재기록 특성, 특히 재기록 횟수는, 컨트롤 게이트하의 절연막이나 플로팅게이트하의 절연막의 두께 등 소자의 특성에 의존하는 것이 많다. 그 때문에, 메모리 디바이스로서 제공되는 단체(單體)의 플래시 메모리에서는, 게이트하의 절연막의 형성공정 등에 특수한 프로세스를 사용하고 있고, 그것에 의해 칩 단가가 비교적 높은 것으로 되어 있다. 한편, 마이크로 컴퓨터 칩은 다종다양한 제품이 제공되고 있고, 플래시 메모리를 내장한다고 하여 그만큼 단가를 높게 할 수 밖에 없는 사정이 있다.
그 때문에, 종래의 플래시 메모리를 내장한 마이크로 컴퓨터는, 내장 플래시 메모리를 위해 특수한 프로세스를 채용하는 것은 없고, 본래의 마이크로 컴퓨터를 구성하는 소자의 프로세스를 사용하여 플래시 메모리를 구성하는 기억소자를 형성하는 수법이 취해진다. 이와 같은 마이크로 컴퓨터에서는, 내장 플래시 메모리의 특성이 희생되어, 그 재기록 횟수로서는 예컨대 100회 정도가 보증되어 있는데 지나지 않는다.
한편, 광 디스크 드라이버나 추가형의 CD드라이버 등의 주변장치에 있어서는, 펌웨어 이외에도, 장치의 변동이나 미디어의 종류에 따른 기록조건 등을 제어장치내부에 기억하고자 하는 요망이 있다. 그러나, 이와 같은 데이터를 기억하기에는, 종래의 플래시 메모리로 보증되고 있는 100회 정도로는 불충분하고, 1만회 정도의 재기록 횟수의 보증이 요구되도록 되어 있다.
그래서, 마이크로 컴퓨터 이외에 EEPROM을 탑재한 제어기판을 가지는 광 디스크 드라이버도 출현되고 있다. 그러나, 마이크로 컴퓨터 이외에 EEPROM을 탑재하면 그만큼 가격이 높게 된 과제가 있다.
본 발명의 목적은, 기억소자 그 자신의 재기록 가능횟수는, 비교적 적어도 외부에서 본 재기록횟수를 대폭 많게 할 수 있는 플래시 메모리를 내장한 마이크로 컴퓨터를 제공하고, 이것에 의해 저렴한 매체 재생장치를 실현할 수 있도록 하는 것에 있다.
본 발명의 다른 목적은, 최종 유저의 사용상태에 있어서도 시스템에 관한 데이터를 내장 메모리에 비교적 많은 횟수로 기록할 수 있고, 더욱이 비용 상승을 억제할 수 있는 마이크로 컴퓨터를 탑재한 매체 재생장치를 제공하는 것에 있다.
이 발명의 상기 및 그 밖의 목적과 신규한 특징에 대해서는, 본 명세서의 기술 및 첨부도면에서 명백해질 것이다.
도 1은, 본 발명이 적용되는 플래시 메모리 내장 마이크로 프로세서의 일예의 개략구성을 나타내는 블록도,
도 2는, 내장 플래시 메모리의 어드레스 공간구성을 나타내는 메모리 맵,
도 3은, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 내장 플래시 메모리에 대한 기록수순의 일예를 나타내는 설명도,
도 4는, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 유저데이터 관리모듈과 유저데이터 에리어 및 유저 프로그램과의 관계를 나타내는 설명도,
도 5는, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 1유닛의 유저데이터의 구성예를 나타내는 설명도,
도 6은, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 유저데이터 에리어의 데이터 저장상태의 일예를 나타내는 설명도,
도 7은, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 유저데이터 관리모듈을 구성하는 함수로서의 유닛 검색처리의 구체적 순서의 일예를 나타내는 플로우차트,
도 8은, 유저데이터 관리모듈을 구성하는 함수로서의 유닛데이터 기록처리의구체적 순서의 일예를 나타내는 플로우차트,
도 9는, 유저데이터 관리모듈를 구성하는 함수로서의 유저데이터 판독처리의 구체적 순서의 일예를 나타내는 플로우차트,
도 10은, 본 발명이 적용된 플래시 메모리 내장 마이크로 프로세서에서의 내장 플래시 메모리의 일예의 개략구성을 나타내는 블록도,
도 11의 (a) 및 (b)는, 내장 플래시 메모리의 메모리셀로서의 기억소자의 구조 및 기록시와 소거시의 바이어스 상태의 일예를 나타내는 단면도,
도 12는, 내장 플래시 메모리의 메모리 어레이부의 회로구성예를 나타내는 회로도,
도 13은, 본 발명에 관한 매체 재생장치의 일예로서의 CD-ROM드라이브 장치의 하나의 구성예를 나타내는 블록도,
도 14의 (a) 및 (b)는, 실시예의 CD-ROM드라이브 장치에서의 메카니즘의 변동의 검출처리 및 변동값에 의거하는 조정처리의 순서의 일예를 나타태는 플로우차트,
도 15는, 매체 재생장치의 일예로서의 광 디스크 드라이버와 그것을 사용한 시스템의 구성예를 나타내는 개략도이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 설명하면, 하기(下記)와 같다.
즉, 매체 재생장치의 제어장치로서 사용되는 마이크로 컴퓨터에 내장된 불휘발성 메모리의 유저데이터 기억영역과 같은 소정의 영역을, 유닛 단위로 기록을 행하는 동시에 블록단위로 소거를 행하도록 구성하고, 유저데이터 기억영역으로의 기록처리가 발생한 경우에는 상기 유닛을 갱신하면서 데이터의 기록을 순차 행하며, 모든 유닛에 대해 기록이 행해진 경우에는 상기 소정의 영역에 포함되는 블록의 데이터 소거를 행하여, 이 소거된 블록에 대해 다음 데이터의 기록을 행하도록 구성한 것이다.
보다 구체적으로는, 데이터가 기록된 매체를 구동하는 매체 구동수단과, 상기 매체 구동수단을 전기적으로 제어하여 구동하는 구동회로와, 상기 매체에 기록된 데이터를 판독하여 전기신호로서 출력하는 판독수단과, 상기 판독수단의 출력신호를 증폭하는 증폭회로와, 상기 증폭회로로 증폭된 판독신호를 처리하여 데이터를 재생하는 신호처리회로와, 다른 장치와의 통신을 행하는 인터페이스 회로와, 상기 구동회로, 신호처리회로 및 인터페이스 회로를 제어하는 제어장치를 구비한 매체 재생장치로서, 상기 제어장치는, 유닛 단위로 전기적으로 데이터 기록이 가능함과 동시에 상기 유닛보다도 큰 블록단위로 전기적으로 일괄하여 데이터 소거가능한 불휘발성 메모리와 프로그램에 따라 동작하는 제어부가 1개의 반도체 칩상에 형성된 반도체 집적회로를 가지고, 상기 제어부는 상기 불휘발성 메모리의 소정의 영역의 유닛을 관리하여, 상기 소정의 영역에 대해 유닛 단위로 데이터의 기록을 행하고, 상기 소정의 영역에 포함되는 복수의 유닛에 대해 기록이 행해진 경우에 상기 소정의 영역에 포함되는 블록에 대해 데이터 소거를 행하여, 상기 소거된 블록에서의 유닛에 대해 데이터의 기록을 행하도록 구성한 것이다.
상기한 수단에 의하면, 제어장치로서의 마이크로 컴퓨터에 내장된 불휘발성 메모리는, 그 기억소자 그것 자신의 재기록가능 횟수는 비교적 적어도, 외부에서본 재기록 횟수를 대폭 많게 할 수 있다. 이것에 의해, 가격이 저렴한 매체 재생장치를 실현하는 것이 가능하다.
또한, 상기의 경우, 소정의 영역에 포함되는 블록의 수는 1개라도 좋고, 2개이상이어도 좋다. 그리고, 블록의 수가 2개 이상의 경우에는, 블록의 데이터를 소거할 때에 모든 블록의 데이터를 일괄하여 소거해도 좋고, 어느 1개의 블록 데이터만 소거하도록 해도 좋다.
또, 상기한 수단은, 제어장치에 내장된 상기 불휘발성 메모리가, 상기 제어부를 구성하는 소자를 형성하는 공정과 동일의 공정에서 형성된 소자로 구성되어 있는 경우에 특히 유효하다. 불휘발성 메모리를 구성하는 소자가 제어부를 구성하는 소자를 형성하는 공정과 다른 공정에서 형성되는 경우에는, 재기록 횟수가 많은 기억소자를 형성하는 것이 가능하지만, 불휘발성 메모리가 제어부의 구성소자를 형성하는 공정과 동일의 공정에서 형성된 소자로 구성되는 경우에는, 기억소자의 재기록가능 횟수는 적게 되므로, 상기 수단을 적용하는 것이 유효해진다.
또한, 상기한 수단은, 상기 제어부가, 불휘발성 메모리에 기억되어 있는 어플리케이션 프로그램의 실행으로 발생한 데이터를 해당 불휘발성 메모리의 상기 소정의 영역에 유닛 단위로 기록하는 경우에 유효하다. 시스템의 제어에 필요한 초기설정 데이터는 변경을 요하지 않은 것이 많은 것에 비해, 어플리케이션 프로그램의 실행으로 발생하는 데이터는 재기록을 필요로 하는 것이 많고, 또, 어플리케이션 프로그램의 실행으로 발생한 데이터를 기억하는 것은 그 후의 제어에 매우 도움이 되기 때문이다.
또, 바람직하게는, 상기 제어부에 의한 상기 불휘발성 메모리에 관한 유닛 관리기능, 데이터의 기록기능 및 데이터 소거기능은, 상기 불휘발성 메모리에 기억되어 있는 어플리케이션 프로그램으로 실현한다. 이것에 의해, 하드웨어를 변경하지 않고 소망의 기능을 실현하는 것이 가능하기 때문에, 기능의 변경을 신속히 행하는 것이 가능하게 됨과 동시에 시스템의 유연성이 향상한다.
또한, 상기한 수단은, 상기 불휘발성 메모리에 기록되는 데이터가 상기 매체의 종별에 관한 정보인 경우에 유효하다. 현재, 시장에는 다종다양한 매체가 제공되고 있으므로, 매체의 종별에 관한 정보를 불휘발성 메모리에 기억함으로써, 매체마다에 최적의 액세스가 가능해지고, 액세스 시간의 단축 및 데이터의 신뢰성 향상이 가능해진다.
또, 상기 불휘발성 메모리의 상기 소정의 영역을 구성하는 각 유닛에는, 해당 유닛의 데이터가 유위(宥爲) 여부를 나타내는 데이터(검색용 데이터)가 기록되도록 하는 것이 바람직하다. 이것에 의해, 유닛을 차례대로 판독하여 상기 검색용 데이터를 판정함으로써 최신의 데이터가 기억되어 있는 유닛을 검출하는 것이 가능하여, 효율이 좋은 유닛검색이 가능해진다.
또한, 상기 불휘발성 메모리의 상기 소정의 영역을 구성하는 각 유닛에는, 해당 유닛의 데이터의 신뢰성을 체크하기 위한 데이터가 기록되도록 한다. 이것에 의해, 판독된 데이터의 신뢰성을 보증할 수 있다.
또한, 상기 매체에서의 테이터 판독시에 해당 데이터의 체크용 데이터를 검사하여 판독 데이터가 이상하다고 판정한 때는, 해당 데이터의 기록 이전에 기록되어 있는 데이터를 판독하도록 구성한다. 이것에 의해, 전회의 기록시 기록 불량이 발생한 경우에, 신뢰성이 없는 데이터가 판독되거나, 판독 데이터를 모두 얻을 수 없다는 사태가 발생하는 것을 회피할 수 있다.
상기한 수단은, 불휘발성 메모리의 상기 소정의 영역에 기록되는 데이터가 매체 구동수단 및 판독수단의 제조변동에 관한 정보인 경우에 유효하다. 매체 재생장치의 메카니즘의 변동에 관한 정보가 메모리에 기억됨으로써, 그 변동을 보정한 최적의 액세스가 가능해지고, 액세스 시간의 단축 및 데이터의 신뢰성 향상이 가능해 진다.
또, 상기한 수단은, 불휘발성 메모리의 상기 소정의 영역에 기록되는 데이터가, 매체를 액세스함으로써 얻어진 매체의 특성에 관한 정보인 경우에 유효하다. 매체의 특성에 관한 정보를 불휘발성 메모리에 기억함으로써, 다음에 동일의 매체가 삽입된 경우에 그 매체에 관한 정보를 판독하는 것으로 빠르게 그 매체에 최적인 조건으로 액세스하는 것이 가능해져, 액세스 시간의 단축 및 데이터의 신뢰성 향상이 가능해 진다.
(발명의 실시형태)
이하, 본 발명의 적당한 실시예를 도면에 의거하여 설명한다.
도 1은 본 발명이 적용되는 플래시 메모리 내장 마이크로 프로세서의 일예의 개략구성도를 나타낸다.
도 1에 있어서, 부호 FLASH로 표시되어 있는 것은 플로팅게이트 및 컨트롤 게이트를 가지는 2층 게이트 구조의 MOSFET로 이루어지는 메모리셀이 매트릭스 형태로 배치된 메모리 어레이를 구비한 플래시 메모리, FCNT는 플래시 메모리에 대한 기록이나 소거 등을 행하는 플래시 컨트롤러, CPU는 칩 전체의 제어를 담당하는 중앙처리유닛, RAM은 데이터를 일시기억하거나 중앙처리유닛(CPU)의 작업영역을 제공하는 랜덤액세스 메모리, PRP는 각종 타이머 회로나 A/D변환회로, 시스템 감시용의 왓치도그 타이머(watchdog timer) 등의 주변회로, BUS는 상기 중앙처리유닛(CPU)과 플래시 메모리(FLASH), 플래시 컨트롤러(FCNT), RAM, 인터페이스 회로(SCI) 사이를 접속하는 내부버스, I/O는 내부버스(BUS)상의 신호를 외부버스로 출력하거나 외부버스상의 신호를 취입하거나 하는 입출력 버퍼나 외부장치와의 사이에서 시리얼 통신을 행하는 시리얼 통신포트 등의 입출력 포트를 포함하는 인터페이스 회로, BSC는 내부 버스(BUS)의 버스 점유권의 제어 등을 행하는 버스 컨트롤러이다.
플래시 컨트롤러(FCNT)는 컨트롤 레지스터를 구비하고, CPU가 플래시 메모리나 RAM내에 저장된 프로그램에 따라, 상기 컨트롤 레지스터에 기록을 행하면 플래시 컨트롤러(FCNT)가 컨트롤 레지스터의 비트상태에 따라 플래시 메모리 회로(FLASH)에 대한 제어신호를 형성하여 기록이나 소거, 판독, 베리파이(verification) 등의 동작을 행해지도록 구성된다.
플래시 컨트롤러(FCNT)에는, 상기 기록소거 제어용의 컨트롤 레지스터의 이외에, 소거시에 메모리 어레이내의 복수의 블록 중 소거블록을 선택하기 위한 소거선택 레지스터, 전압 트리밍(trimming)용의 값을 설정하는 레지스터, 메모리 어레이내의 결함비트를 포함하는 메모리 열을 예비의 메모리 열로 치환하기 위한 구제정보를 유지하는레지스터가 설치된다. 또한, 특히 제한되지 않지만, 이 트리밍용레지스터의 값도 플래시 메모리 회로(FLASH)내의 소정의 에리어에 기억하며, 리셋시에 플래시 메모리 회로에서 판독하여 트리밍용 레지스트에 설정하도록 할 수 있다.
또, 도 1에는 나타나 있지 않지만, 상기 회로블록의 이외에, CPU에 대한 인터럽트 요구의 발생 및 우선도를 판정하여 인터럽트를 거는 인터럽트 제어회로, RAM과 플래시 메모리(FLASH) 등과의 사이의 DMA(다이렉트 메모리 액세스)전송을 제어하는 DMA전송 제어회로나, 시스템의 동작에 필요한 블록신호를 발생하는 발진기 등이 필요에 따라 설치되는 경우도 있다.
본 실시예의 플래시 메모리 내장 마이크로 프로세서에 있어서는, 도 1에 나타나 있는 회로블록은 전부 1개의 단결정 실리콘과 같은 반도체 칩상에 형성된다. 게다가, 플래시 메모리(FLASH)는, CPU를 구성하는 소자를 형성하는 프로세스를 가능한만큼 이용하여 기억소자가 형성되도록 되어 있다. 즉, 플래시 메모리를 구성하는 소자를 형성하기 위한 전용의 공정을 제로(0), 또는 가능한만큼 적게 했던 프로세스가 사용된다.
이 실시예에 있어서는, 예컨대 도 2에 나타내는 바와 같이, 중앙처리유닛(CPU)의 어드레스 공간(H000000 ~ HFFFFFF)중, H000000 ~ H03FFFF가 내장 플래시(FLASH)의 기억영역으로서 할당되고, 더욱이 그 중 H001000부터 시작하는 12k바이트가 유저데이터 에리어(UDA)로서 할당된다. 또, H000000 ~ H000FFF는 CPU로의 인터럽트 발생때에 사용되는 벡터 테이블의 영역(VTA)으로서 할당되며, 상기 이외의 영역은 유저가 개발한 어플리케이션 프로그램(이하, 유저 프로그램이라고 칭함)의 저장영역(UPA)으로서 할당된다.
또한, 12k바이트의 유저테이터 에리어(UDA)는, 128바이트를 1유닛으로 하여 96개의 유닛(UNT1 ~ UNT96)으로 분할되며, 이 유닛을 단위로 하여 기록이 행해지도록 구성된다. 또, 유저데이터 에리어(UDA)는, 4k바이트씩 즉 32유닛씩 3개의 블록(EB1 ~ EB3)으로 분할되고, 블록을 단위로 하여 소거가 행해지도록 구성되어 있다.
그리고, 이 실시예에서는, 유저 프로그램에 의한 유저데이터 에리어(UDA)로의 기록이 발생하면, 도 3에 나타나 있는 바와 같이, 유닛(UNT1)부터 순서대로 1 유닛씩 기록을 행하여 가고, 마지막 유닛(UNT96)까지 기록이 종료하면, 이 시점에서 블록(EB1 ~ EB3)을 일괄하여 소거한 후, 다시 유닛(UNT1)부터 순서대로 1유닛씩 기록을 행하여 가도록, 기록 ·소거제어가 행해진다. 또한, 소거단위가 되는 1블록의 크기는 4k바이트로 한정되지 않음과 동시에, 플래시 메모리 전체가 동일의 크기의 블록으로 구성될 필요는 없고, 예컨대 유저 프로그램 에리어(UPA)는 32k바이트나 64k바이트의 크기의 블록으로 구성할 수 있다.
상기와 같은 기록 ·소거방식에 따르면, 각 유닛 각각의 재기록의 허용횟수가 100회라고 가정하면, 전체에서 96 ×100 = 9600 ÷1만 유닛의 데이터 기록이 가능해 진다. 종래의 플래시 메모리 내장 마이크로 프로세서에서는, 유저데이터 에리어는 전체가 1유닛으로 하여 취급되며, 유저데이터 에리어로의 기록이 발생하면, 전체를 재기록하는 즉 유저데이터 에리어 전체를 일괄소거한 후에 기록을 행하도록 하고 있으므로, 데이터의 재기록을 100회 행하면 그것 이상은 보증 되지 않았다.그 때문에, 플래시 메모리의 재기록을 100회 행하면, 데이터의 신뢰성이 저하되어 있었지만, 본 실시예와 같은 기록 ·소거방식에 따르면, 1회의 기록을 유닛 단위(128바이트)로 행한다고 하면, 외관상 약 100배의 재기록이 보증되는 것으로 된다.
또한, 기록 데이터가 128바이트 이상이면, 2이상의 유닛에 걸쳐 데이터를 기록할 필요가 있지만, 본 발명이 응용을 상정하고 있는 광 디스크 드라이버나 CD드라이버와 같은 시스템에서는 , 1회의 기록 데이터가 128바이트 이하인 것이 많으므로, 실질적으로 약 1만회의 재기록이 보증된 것과 동일한 메리트가 얻어진다.
도 4에는, 상기와 같은 기록제어를 실현하는 본 발명의 개략구성을 나타낸다. 도 4에 있어서, 좌측의 블록(UDA)은 플래시 메모리내에 설정된 유저데이터 에리어, 중앙의 블록(UDMM)은 본 발명에서 필요로 되는 유저데이터 관리모듈, UP는 이 모듈(UDMM)의 관리하에 있는 유닛포인터, PAT는 유닛포인터(UP)의 값에서 해당 유닛의 CPU공간에서의 물리 어드레스를 얻기 위한 포인터와 물리 어드레스와의 관계를 데이터 테이블 형식으로 유지하는 어드레스 변환 테이블이다. 이 어드레스변환 테이블(PAT)은, 예컨대 내장 플래시 메모리(FLASH)의 유저 프로그램 영역(UPA)에 설치된다.
상기 유저데이터 관리모듈(UDMM)은, 유저 프로그램(UPRG)에서 유저데이터 에리어(UDA)로의 기록요구를 받으면, 유닛포인터를 참조하여 다음에 기록해야 할 유닛을 자동적으로 검색하여 발견한 유닛에 데이터를 기록하는 기능을 가지도록구성된다. 이러한 기능을 가지는 모듈은, 하드웨어나 소프트웨어로도 실현가능하지만,여기서는, 소프트웨어로 실현하는 경우의 실시예에 대해 설명한다. 따라서, 유저데이터 관리모듈(UDMM)은, 유저 프로그램의 일부에 서브루틴(subroutine)으로서 구성되는 것도 있다. 그 경우, 유저데이터 관리모듈(UDMM)은, 유저 프로그램의 메인루틴 또는 다른 서브루틴 등에서의 기록요구로 기동되도록 구성된다. 유닛포인터(UP)는, RAM이나 범용 레지스터의 일부에 설치된다.
또한, 이하에 설명하는 유저데이터 관리모듈(UDMM)은, 특히 제한되는 것은 아니지만, 유저데이터를 정확히 관리하기 위해, 도 5에 나타낸 바와 같이, 유저테이터의 유닛마다에 검색용 테그바이트(RTB)와 체크용 데이터(SUM)를 부가하도록 구성된다. 상기 검색용 테그바이트(RTB)와 체크용 데이터(SUM)는, 각각 예컨대 1바이트(8비트)와 같은 크기로 된다. 따라서, 1유닛의 유저데이터의 실질적인 크기는 126바이트이다.
상기 검색용 테그바이트(RTB)에는 플래시 메모리에 기록이 행해질 때에 16진수 표시로 H "00"이 설정됨과 동시에, 체크용 데이터(SUM)에는 126바이트의 유저데이터의 모든 비트의 "1"을 더한 값(SUM)이 설정된다. 따라서, 검색용 테그바이트(RTB)에 H "00"이 설정되면 그 유닛의 126바이트의 유저데이터는 기록이 완료(유위)인 것을 의미로 하고 있는 것으로 된다. 도 6에는, 유저데이터 에리어(UDA)의 유닛(UNT5)까지 데이터가 기록되어 있는 경우의 데이터 기억상태가 나타나 있다. 특히 제한되는 것은 아니지만, 이 실시예에서는, 소거상태의 메모리셀은 그 문턱치가 높은 상태로 되며, 기억데이터가 논리 "1"에 대응된다. 따라서, 도 6의 예에서는, 유닛(UNT6~UNT96)의 기억데이터는, 올(all) "1" 즉 16진수로"FFFFFF..........FF"로 표시되어 있다.
도 7 ~ 도 9에는, 유저데이터 관리모듈(UDMM)을 소프트웨어로 구성하는 경우의 3개의 기본적인 함수(프로그램에서의 서브루틴)의 구체예가 플로우차트로 나타나 있다. 여기서, 3개의 기본적인 함수란, 유닛포인터의 관리 즉 플래시 메모리 내의 다음에 기록해야 할 유닛을 검색하는 유닛 검색처리(도 7)를 실현하는 함수와, 검색한 유닛에 대해 유저데이터를 기록하는 유저테이터 라이트처리(도 8)를 실현하는 함수와, 유저데이터 에리어(UDA)에서 데이터를 판독하는 유저데이터 리드처리(도 9)를 실현하는 함수이다.
특히 제한되는 것은 아니지만, 도 7의 유닛 검색처리는, 시스템의 기동시 등에 실행된다. 이 유닛 검색처리가 개시되면, 우선 유닛포인터(UP)를 「0」으로 설정한다(스텝 S11). 다음의 스텝(S12)에서는, 유닛포인터(UP)를 인크리먼트(+1)로 한 후, 그 유닛포인터(UP)가 나타내는 유닛의 선두의 1 바이트 즉 검색용 테그바이트(RTB)를 판독한다(스텝 S13). 또한, 이 때 어드레스 변환 테이블(PAT)을 참조하고, 유닛포인터(UP)의 값으로부터 해당 유닛의 CPU공간에서의 물리 어드레스로 변환하여 그 물리 어드레스로 플래시 메모리를 액세스하여 대응하는 유저데이터를 판독하는 처리가 행해진다. 어드레스변환 테이블(PAT)을 참조하여 물리 어드레스를 얻는 대신에, 유닛포인터(UP)의 값에 대해 소정의 연산을 행하여 물리 어드레스를 얻는 것도 가능하다. 구체적으로는, 유닛포인터(UP)의 값 ×128(= 1유닛의 바이트수)+ 유저데이터 에리어(UDA)의 선두 어드레스(H "001000")의 연산을 예컨대 CPU로 실행함으로써, 액세스해야 할 물리 어드레스를 얻을 수 있다.
다음에, 스텝(S14)에서는, 플래시 메모리에서 판독된 유닛데이터의 선두의 검색용 테그바이트(RTB)가 H"00" 인지 여부를 체크한다. 그리고, RTB=H "00" 즉 데이터가 "유위(有爲)"의 경우는, 스텝(S16)으로 이행하여 유닛포인터의 값이 「96」인지 여부를 판정하여, 유닛포인터의 값이「96」인 경우에는 해당 유닛 검색처리를 종료한다. 한편, 스텝(S16)에서, 유닛포인터의 값이 「96」이 아닌 것으로 판정된 경우에는, 스텝(S12)으로 되돌려 유닛포인터(UP)의 값을 인크리먼트하고, 다시 데이터를 판독하여 선두의 검색용 테그바이트(RTB)가 H "00"인지 여부를 체크한다.
이와 같이 하여 유닛포인터를 1씩 가산하면서 데이터의 선두의 검색용 테그바이트(RTB)를 체크해 감으로써, 유저데이터가 기록되어 있는 최종 유닛의 다음의 유닛번호(도 6에 나타나 있는 예에서는 UNT6)가 검출된다. 즉 스텝(S14)에서, RTB ≠H "00"라고 판정되어 데이터가 "미기록"이라고 판정된 경우이다. 이 유닛이 검색되면 스텝(S15)으로 이행하여 유닛포인터(UP)의 값을 디크리먼트(-1)하고, 해당 유닛 검색처리를 종료한다. 이렇게 함으로써, 유닛포인터(UP)에는, 유저데이터가 기록되어 있는 최종 유닛의 유닛번호(도 6에 나타나 있는 예에서는 UNT5)가 유지된다.
또한, 도 7의 플로우차트의 마지막 스텝(S15)에 유닛포인터(UP)의 값을 디크리먼트(-1)하는 처리가 있기 때문에, 플래시 메모리의 소거후, 유저데이터 에리어로의 기록이 이루어지지 않은 경우에는, 유닛포인터(UP)의 값「0」에 되돌려진다. 이것에 의해, 후술의 도 9의 유저데이터 리드처리에서의 응답이 빠르게 행해도록 된다.
도 7의 플로우차트에서는, 선두의 유닛부터 순서대로 검색을 행하는 예를 나타내었지만, 마지막 유닛부터 순서대로 검색을 행하도록 해도 좋다. 또, 우선 선두의 유닛(UNT1)을 체크하여 데이터가 "유위"로 판정된 경우에는 다음에 중간 유닛(예컨대 UNT48)을 체크하고, 그 결과 데이터가 "미기록"으로 판정된 경우에는 「UNT1」과 「UNT48」의 중간의 유닛(예컨대 UNT24), 한편 데이터가 "유위"로 판정된 경우에는 「UNT48」과 「UNT96」의 중간 유닛(예컨대 UNT72)......과 같이 검색 에리어를 순차 2분할하여 효율적으로 대상을 발견하는 2분검색법을 적용하는 것도 가능하다.
도 8의 유저데이터 라이트처리는, 유저 프로그램에서 유저데이터의 기록 요구가 있으면 개시된다. 이 처리가 개시되면, 우선 플래시 메모리에 기록해야 할 유저데이터(외부장치에서 송신되어 IO인터페이스 회로 등에 유지되어 있음)를, 126바이트의 단위로 읽어들여 RAM의 소정의 영역에 저장한다(스텝 S21). 이 때, 유저데이터가 126바이트로 충족하지 않으면, 실(實)유저데이터 이외의 부분의 데이터는 논리 "1" 또는 논리 "0"으로 한다. 구체적으로는, 예컨대, 실유저데이터가 100바이트인 경우는, 이 100바이트의 데이터의 뒤로 모든 비트가 논리 "1" 또는 논리 "0"인 26바이트의 데이터를 부가한다. 그러한 후, 유저데이터의 부분의 각 비트를 더해 SUM값을 산출한다(스텝 S22).
다음의 스텝(S23)에서는, 유닛의 선두의 1바이트에 올 "0"(16진수의 H "00")을 설정함과 동시에, 선두에서 2바이트째에 스텝(S22)에서 산출된 SUM값을 입력하고, 그 후에 126바이트의 유저데이터를 부가한 도 5와 같은 구조를 가지는 128바이트 길이의 유저데이터를 생성한다. 그리고, 다음의 스텝(S24)에서, 유닛포인터(UP)를 참조하여 포인터의 값이 「96」인지 여부를 판정하고, 「96」이 아닌 경우에는 포인터(UP)의 값을 인크리먼트(+1)한다(스텝 S25). 그리고, 그 포인터가 나타내는 유닛에, 128바이트의 라이트데이터를 기록하여 해당 처리를 종료한다(스텝 S26). 또한, 이 스텝(S26)에서는, 어드레스 변환 테이블(PAT)을 참조하며, 유닛포인터(UP)의 값으로부터 해당 유닛의 CPU공간에서의 물리 어드레스로 변환하여, 그 물리 어드레스로 플래시 메모리를 액세스하여 기록을 행하도록 하고 있다.
한편, 상기 스텝(S24)에서, 유닛포인터(UP)의 값이 「96」이라고 판정되면, 스텝(S27)으로 이행하고, 플래시 메모리의 유저데이터 에리어(UDA)의 소거가 행해진다. 이 때, 유저데이터 에리어(UDA)를 구성하는 3개의 블록 전부에 대해 데이터 소거를 행하여도 좋지만, 1개의 블록에 대해서만 데이터 소거를 행하도록 하는 것도 가능하다. 그리고, 스텝(S27)에서 소거가 종료하면, 다음의 스텝(S28)에서 유닛포인터(UP)의 값을 「1」로 설정하여 스텝(S26)으로 이행하고, 포인터가 나타내는 유닛으로 128바이트의 라이트데이터를 기록하여 해당 처리를 종료한다.
도 9의 유저데이터 리드처리는, 유저 프로그램에서 유저데이터의 판독요구가 있으면 개시된다. 이 처리가 개시되면, 우선 스텝(S31)에서 유닛포인터(UP)를 참조하여 포인터의 값이 「0」인지 여부를 판정한다. 그리고, 유닛포인터의 값이 「0」이면, 도 7의 플로우차트에서 설명한 바와 같이, 플래시 메모리의 유저데이터 에리어(UDA)에 대해 아직 유저데이터의 기록이 이루어지지 않은 것을 의미하고 있으므로, 스텝(S37)으로 이행하여 즉시 유저데이터의 「미기록」을, 유저 프로그램에 대해 응답하여 종료한다. 이렇게 함으로써, 유저 프로그램의 대기시간을 짧게 할 수 있다.
스텝(S31)에서 유닛포인터(UP)의 값이 「0」이 아니라고 판정되면, 스텝(S32)으로 이행하여, 유닛포인터(UP)가 나타내는 유닛에서 유저데이터를 판독한다. 또한, 이 스텝(S32)에서는 어드레스변환 테이블(PAT)을 참조하며, 유닛포인터(UP)의 값으로부터 해당 유닛의 CPU공간에서의 물리 어드레스로 변환하여, 그 물리 어드레스로 플래시 메모리를 액세스하여 판독을 행한다.
다음의 스텝(S33)에서는, 스텝(S32)에서 판독된 유닛데이터의 선두에서 3바이트째 이후의 유저데이터의 부분의 각 비트를 더하여 SUM값을 산출하고, 산출된 값과 리드데이터의 2바이트째의 SUM값을 비교하여 에러의 유무를 판정한다(스텝 S34). 여기서, 「에러-없음」으로 판정하면 다음의 스텝(S35)에서 리드데이터에 오류가 없음을 유저 프로그램에 응답하여 해당 리드처리를 종료한다. 이와 같이, 리드데이터의 SUM값을 체크함으로써, 리드데이터의 신뢰성이 높게 된다고 하는 이점이 있다. 그래서, 예컨대 126바이트의 리드데이터가 판독된다.
한편, 스텝(S34)에서 「에러-있음」으로 판정하면, 스텝(S36)으로 이행하여, 리드데이터에 오류가 있던 것을 유저 프로그램에 응답하여 해당 리드처리를 종료한다. 또한 , 스텝(S34)에서 「에러-있음」으로 판정한 경우, 스텝(S36)에서 리드데이터에 오류가 있던 것을 유저 프로그램에 응답한 후, 유닛포인터(PC)를 디크리먼트(-1)하여 한개 전의 유닛의 데이터를 대신에 판독하는 처리를 행하는 것도 가능하다. 종래의 기록 ·소거방식에서는, 전원차단이나 노이즈 등의 원인으로 기록불량이 있으면 유저데이터 리드처리에서 리드데이터가 얻어지지 않는 경우가 있었지만, 본 실시예에 따르면, 그것 이전 기록된 데이터가 플래시 메모리에 남아 있으므로, 그 데이터를 이용하는 것으로 유연한 대응이 가능하게 된다.
도 7 ~ 도 9를 이용하여 설명한 상기 함수 또는 그것을 실행하는 서브루틴 ·프로그램은, 유저 프로그램 중에 삽입해 버리는 것이 가능하다. 단, CPU가 실행하는 해당 시스템의 OS(오퍼레이팅 ·시스템) 중에 삽입해 두는 것도 가능하다. 그리고, CPU가 실행하는 이 OS는, 유저 프로그램과 마찬가지로, 플래시 메모리내의 유저 프로그램 에리어와는 별개의 에리어에 기억해 두어도 좋으며, 외부 메모리에 기억되어 있는 OS를 내부의 RAM에 읽어들여 실행하도록 구성하는 것도 가능하다.
또, 상기 유저데이터 관리모듈(UDMM)은, 상술한 바와 같이, 소프트웨어로 실현하는 대신에 하드웨어로도 실현하는 것도 가능하고, 그 경우, 그와 같은 기능은 도 1에 나타나 있는 플래시 컨트롤러(FCNT) 내부에 설치하도록 할 수 있다. 단, 상기 실시예와 같이, 소프트웨어로 실현하는 것이 가장 간단하고, 또 변경에 따른 비용도 절감된다는 이점이 있다.
도 10에는, 상기 플래시 메모리 회로(FLASH)의 개략구성이 나타나 있다. 도 10에 있어서, 11은 도 11의 (a) 및 도 11의 (b)에 나타나 있는 바와 같이 플로팅게이트(F-GATE)와 컨트롤 게이트(C-GATE)를 가지는 2층 게이트 구조의 MOSFET으로 이루어지는 불휘발성 기억소자로서의 메모리셀이 매트릭스 형태로 배치된 메모리 어레이, 12는 버스(BUS)에서 입력된 기록데이터를 유지하는데이터 레지스터, 13은 이 데이터 레지스터(12)에 계속 유지된 데이터에 의거하여 상기 메모리 어레이(11)에대해 유닛 단위로 기록을 행하는 기록회로이다.
또, 14는 어드레스 신호를 유지하는 어드레스 레지스터, 15는 메모리 어레이(11)내의 워드선 중에서 상기 어드레스 레지스터(14)에 취입된 X어드레스에 대응한 1개의 워드선을 선택하는 X디코더, 16은 어드레스 레지스터(14)에 취입된 Y어드레스를 디코드하여 1유닛내의 1바이트(또는 1워드)의 데이터를 선택하는 Y디코더, 17은 소거대상이 되는 블록을 선택하여 소거전압을 인가하여 블록단위의 소거를 행하는 소거제어회로, 18은 메모리셀 어레이(11)에서 판독된 데이터를 증폭하여 출력하는 센스앰프이다.
또한, 플래시 메모리에는, 상기 각 회로블록 이외, CPU에서 공급되는 커멘드나 제어신호에 의거하여 플래시 메모리의 각 회로블록을 제어하는 제어신호를 형성하는 제어회로(27), 어드레스 신호나 데이터 신호의 입출력을 행하는 I/O버퍼회로(23), 외부에서 공급되는 전원전압(Vcc)에 의거하여 기록전압, 소거전압, 판독전압, 베리파이(verify)전압 등 칩 내부에서 필요로 되는 전압을 생성하는 전원회로(25), 메모리의 동작상태에 따라 이들의 전압 중에서 소망의 전압을 선택하여 메모리 어레이(11)에 공급하는 전원전환회로(26) 등이 설치되어 있다.
현재, 플래시 메모리 내장 마이크로 프로세서에 탑재되는 플래시 메모리에는, FN터널에 의해 기억소자에 기록을 행하는 방식과 드레인 전류를 흘려 핫 일렉트론(hot electrons)으로 기록을 행하는 방식이 있다. 어느것이나 소자구조는 동일하며, 기록시의 바이어스 전압이 다르다. 도 11의 (a) 및 도 11의 (b)에는 이 중 FN 터널방식의 플래시 메모리에서의 기록시와 소거시의 바이어스 상태를 나타낸다.FN 터널방식의 쪽이 기록전류가 적으므로, 1개의 워드선에 접속된 128바이트와 같은 유닛 단위로 일괄 기록할 수 있고, 기록 소요시간은 짧게 되기 때문에 본 실시예에서는 FN 터널방식의 기억소자를 이용하고 있다. 단, 본 발명은 이것에 한정되지 않고, 핫 일렉트론(hot electrons) 방식의 플래시 메모리로서도 좋다. 핫 일렉트론 방식의 경우, 1바이트와 같은 단위로 기록을 행하고, 이것을 128회 반복함으로써 1유닛의 기록이 실행된다.
FN 터널방식의 플래시 메모리에서의 기록동작에서는, 도 11의 (a)에 나타내는 바와 같이 불휘발성 기억소자의 드레인 영역(D)의 전압을 예컨대 6.7V(볼트)로 하고, 컨트롤 게이트(C-GATE)가 접속된 워드선을 예컨대 -10.0V로 함으로써 플로팅게이트(F-GATE)에서 부(-) 전하를 드레인 영역(D)으로 인출하여, 문턱치전압을 낮은 상태(논리 "0")로 한다. 또, 소거동작에서는 도 11의 (b)에 나타내는 바와 같이, 소스영역(S) 및 기본 P-SB를 예컨대 -10.0V로 하고, 컨트롤 게이트(C-GATE)를 10.5V와 같이 고전압으로 하여 플로팅게이트(F-GATE)에 부(-)전하를 주입하여 문턱치를 높은 상태(논리 "1")로 한다. 이것에 의해 1개의 기억소자에 1비트의 데이터가 기억된다. 단, 바이어스 전압은 상술의 예에 한정되지 않는다.
도 12에는 메모리 어레이(11)의 구체적인 구성예를 나타낸다. 이 실시예의 메모리 어레이(11)는, 도 12에 나타내는 바와 같이, 열방향으로 배열되어 각각 소스 및 드레인이 공통 접속된 병렬형태의 n개의 메모리셀(플로팅 게이트를 가지는 MOSFET)MC1 ~ MNn으로 이루어지는 메모리열(MCC)이 행방향(워드선(WL)방향) 및 열방향(비트선(BL)방향)로 각각 복수개 배설되어 있다. 도 12에는, 그 중 대표적으로4개의 메모리열(MCC)이 나타나 있다.
각 메모리열(MCC)은, n개의 메모리셀(MC1~MCn)의 드레인 및 소스가 각각 공통의 로컬 드레인선(LDL) 및 공통의 로컬 소스선(LSL)에 접속되고, 로컬 드레인선(LDL)은 선택스위치MOSFET (Qs1)를 통해 비트선(BL)에, 또 로컬소스선(LSL)은 선택스위치MOSFET (Qs2)에 의해 공통 소스선(SL)에 접속된다. 다시, 공통 소스선(SL)은 전환스위치(SW1)를 통해 접지점 또는 소거전압 공급단자(Ves)에 접속가능하게 구성되어 있다.
이 실시예의 플래시 메모리에서는, 이 공통 소스선(SL)에 접속되는 메모리셀이 1블록(EB)을 구성하고, 소거의 단위가 된다. 한편, 횡방향의 메모리셀(MC)의 컨트롤 게이트는 공통의 워드선(WL1, WL12......WL1n;WL21, WL22......WL2n)에 각각 접속되고, 1개의 워드선에 공통으로 접속된 메모리셀이 1유닛(1섹터)을 구성하여, 기록의 단위로 된다. 1블록의 메모리셀을 1개의 웰(well)영역상에 형성하여 그 웰과 컨트롤 게이트와의 사이에 전압을 인가하여 소거를 행하는 방식도 가능하다.
각 비트선(BL)에는 Y디코더의 선택신호에 의해, 온, 오프제어되는 컬럼 스위치(Qy)를 통해 센스앰프(SA)가 접속되어 있으며, 데이터 판독시에는, 워드선(WL)이 선택레벨로 되어 메모리셀이 그 문턱치에 따라 드레인 전류가 흐르는지의 여부에 따라 변화하는 비트선(BL)의 전위가 센스앰프(SA)에 의해 증폭되고, 검출된다. 데이터 기록시에는, 센스앰프(SA)로 기록 데이터가 계속 유지되고, 그 데이터에 따라 비트선(BL) 그 위에는 로컬 드레인선(LDL)을 통해 선택된 메모리셀의 드레인에 기록전압이 인가된다.
또, 기록시에는, 공급된 어드레스에 대응한 1개의 워드선이 선택되어 -10V와 같은 기록전압이 인가된다. 이 때, 비트선(BL)에 기록데이터가 대응하는 비트선에 따라, 그것이 논리 "0"일 때는 6.7V와 같은 전위가 인가되고, 논리 "1"일 때는 0V의 전위가 인가된다. 그리고, 비트선(BL)의 전위가 6.7V인 메모리셀에 있어서는, 플로팅게이트로부터 전하의 인출이 행해져 문턱치가 낮은 상태(논리 "0")로 된다. 한편, 비트선(BL)의 전위가 0V인 메모리셀에 있어서는, 플로팅게이트에서의 전하의 인출이 행해지지 않고, 문턱치는 높은(논리 "1") 상태로 된다.
데이터 소거시에는, 1블록(EB)내의 모든 워드선이 10.5V와 같은 전위로 됨과 동시에, 이 워드선에 접속되어 있는 메모리셀은 그 드레인측의 선택스위치 MOSFET (Qs1)가 오프되어 드레인이 오픈상태로 되고, 소스측의 선택스위치 MOSFET(Qs2)가 온 됨과 동시에 전환스위치(SW1)가 소거전압단자(Ves)측에 전환되어 소스에 -10.0V와 같은 부(-)전압이 인가된다. 이렇게 함으로써, 1블록내의 모든 메모리셀은, 플로팅 게이트로의 전하의 주입이 행해져 문턱치가 높은 상태(논리 "1")로 된다.
또한, 데이터 판독시에는, 모든 비트선(BL)이 1.0V와 같은 전위로 프리챠지된 후, 공급된 어드레스에 대응한 1개의 워드선이 선택되어 4.2V와 같은 전압이 인가된다. 또, 소스측의 선택스위치(MOSFET Qs2)가 온 됨과 동시에 전환스위치(SW1)가 접지점측으로 전환되어, 공통 소스선(SL)을 통해 소스에 0V의 전압이 인가된다. 이렇게 함으로써, 선택된 워드선에 접속된 메모리셀은, 그 문턱치에 따라 문턱치가 낮은 때는 전류가 흘러 비트선(BL)의 전위가 내려가고, 문턱치가 높은 때는 전류가 흐르지 않기 때문에 비트선(BL)의 전위가 프리챠지 레벨로 유지된다. 그리고, 이전위차가 센스앰프(SA)에 의해 증폭, 검출된다.
도 13에는, 상기와 같이 구성된 플래시 메모리 내장 마이크로 프로세서를 이용한 본 발명에 관한 매체 재생장치의 일예로서의 CD-ROM드라이브 장치의 일구성예를 나타낸다.
도 13에 있어서, 100은 CD(컴팩트 디스크)와 같은 기록매체, 110은 디스크(100)를 회전구동하는 스핀들 모터, 120은 반도체 레이저 소자나 렌즈 등의 광학계를 가지는 픽업, 130은 픽업(120)을 이동시키는 보이스코일(voice coil) 모터와 같은 액츄에이터다.
210은 상기 스핀들 모터(110) 및 보이스코일 모터(130)의 구동을 행하는 모터 드라이버로, 스핀들 모터 구동회로와 보이스코일 모터 구동회로로 이루어진다. 상기 모터 드라이버(210)은 스핀들 모터 구동회로와 보이스코일 모터 구동회로로 이루어지고, 헤드의 상대속도를 일정하게 하도록 스핀들 모터 구동회로가 서보제어 됨과 동시에, 헤드의 중심을 트랙(track)의 중심에 일치시키도록 보이스코일 모터 구동회로가 서보제어된다.
220은 상기 픽업(120)에 의해 검출되어 광전변환된 신호를 증폭하는 리드 ·앰프, 230은, 리드 ·앰프(220)에서 송신되어 오는 판독신호에 대해 파형정형이나 복조처리, 오류정정처리 등의 신호처리를 하여 데이터를 재생하는 신호처리회로, 240은 재생데이터를 디코드(복호)하거나 본 장치와 외부장치와의 사이의 데이터의 수수 및 제어 등을 행하는 디코더 및 인터페이스 회로, 250은 시스템 전체를 총괄적으로 제어하는 상기 실시예의 플래시 메모리 내장 마이크로 프로세서, 260은 컴팩트 ·디스크에서 고속으로 판독된 리드 데이터를 일시적으로 기억하는 버퍼용의 캐시메모리이다. 캐시메모리를 구비함으로써, 전회 판독이 행해진 데이터 또는 그것과 동일 섹터의 데이터에 대한 판독요구가 있는 경우에, 디스크로부터의 데이터의 판독을 행하지 않으므로 캐시메모리에서 즉시 데이터를 전송할 수 있다. 또, 해당 매체 재생장치에 의한 데이터 판독속도가, 매체 재생장치와 데이터를 요구하는 다른 장치와의 사이의 데이터 전송속도보다도 느린 경우에, 캐시메모리를 이용함으 다른 장치의 대기시간을 단축할 수 있다.
상기 모터 드라이버(210), 리드앰프(220), 신호처리회로(230), 디코드 및 인터페이스 회로(240), 플래시 메모리 내장 마이크로 프로세서(250), 캐시메모리(260)에 의해 매체 재생장치로서의 컴팩트 디스크 장치가 구성되고, 상기 장치와 스핀들 모터(110), 픽업(120) 및 보이스 컨트롤 모터(130)에 의해 매체 재생장치의 일예로서의 CD-ROM드라이브 장치(200)가 구성된다.
이 실시예의 CD-ROM드라이브 장치에서는, 상기 플래시 메모리 내장 마이크로 프로세서(250)가, 디코더와 인터페이스 회로(240)에서 공급되는 신호에 의거하여 어느쪽의 동작모드인지 판정하고 동작모드에 대응하여 시스템 각부의 제어를 행하거나 어드레스 정보에 의거하여 섹터 위치 등을 산출하거나 한다. 또, 플래시 메모리 내장 마이크로 프로세서(250)는, 디코더 및 인터페이스 회로(240)를 통해 호스트컴퓨터(300)에서, 내장 플래시 메모리에 기억해야 할 해당 드라이브 장치의 메카니즘적인 변동값이나 재생하는 CD-ROM의 특성 등의 정보를 수취하면, 전술한 함수(도7~도9 참조)에 따라, 플래시 메모리의 유저데이터 에리어에 대한 데이터의 기록을 행하거나 한다.
구체적으로는, 예컨대 도 14의 (a)에 나타내는 바와 같이, 테스트용의 디스크를 드라이브 장치에 삽입하여 액세스를 행한다(스텝 S41). 그리고, 픽업을 통해 얻어진 정보와 미리 준비되어 있는 최적치를 비교하여 메카니즘의 오차를 산출한다(스텝 S42). 산출된 오차는, 해당 드라이브 장치의 변동값으로서 플래시 메모리에 기록한다(스텝 S43). 이와 같은 처리는, 예컨대, 메이커가 드라이브장치를 출하하기 직전에 행하도록 한다.
한편, 출하 후, 드라이브 장치의 플래시 메모리 내장 마이크로 프로세서는, 전원 투입시에 도 14의 (b)에 나타내는 바와 같은 순서에 따라, 우선 플래시 메모리에서 기억되고 있는 상기 변동값을 판독한다(스텝 S51). 그리고, 그 변동값에 준하여 스핀들 모터(110)나 액츄에이터(12)의 구동신호, 반도체 레이저의 출력레벨 등의 보정값을 연산하고, 얻어진 보정값에 의거하여 보정제어를 행한다(스텝 S52). 또, 드라이브 장치의 플래시 메모리 내장 마이크로 프로세서는, 디스크의 액세스 개시시에, 디스크에 기록되어 있는 미디어의 종류나 특성을 나타내는 정보가 있는지 여부를 조사한다(스텝 S53). 그리고, 기록된 정보가 있는 경우에는 그것을 판독하고, 삽입된 미디어에 따라 초기값으로서 기억되어 있는 데이터에 의거하여 반도체 레이저의 출력레벨 등을 결정하고, 보정한다(스텝 S54). 한편, 기록된 정보가 없는 경우에는, 초기 설정되어 있는 기준값을 이용하여 미디어에 대한 액세스를 행한다(스텝 S55).
또한, 추가형의 CD-R드라이브 장치나 재기록 가능한 CD-RW드라이브 장치에있어서는, 도 14의(a), (b)와 같은 제어 이외에, 종별정보나 특성정보의 기록이 없고 특성이 나누어 있지 않은 미디어가 삽입된 경우에는, 초기값에 의거하여 미리 준비되어 있는 소정의 검정 기록(test writing)영역에 기록과 베리파이(verify)판독을 행하고, 레이저의 강도와 조사시간 및 판독신호 레벨을 플래시 메모리에 기록하며, 다음에 동일 미디어가 삽입된 경우에, 플래시 메모리에 기록되어 있는 정보를 이용하여 보정하는 제어를 행하도록 시스템 또는 유저 프로그램을 구성할 수 있다. 또, 레이저의 조사누계 시간이나 매체의 누계기록 매수 등도 플래시 메모리에 기록하도록 해도 좋다.
이상 본 발명자에 의해 이루어진 발명을 실시예에 의거하여 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되지 않고, 그 요지를 일탈하지 않는 범위에서 여러가지 변경 가능한 것은 말할 필요도 없다. 예컨대, 상기 실시예에 있어서는, 플래시 메모리내의 유저데이터 에리어(UDA)의 1유닛의 유저데이터가 유위인지 여부를 나타내는 검색용 테그바이트(RTB)로서 1바이트를 할당하고 있지만, 상기 실시예의 경우에는 1비트로 하는 것도 가능하다. 더욱이, 검색용 테크바이트(RTB)에는, 126바이트 중 선두에서 어느 바이트까지가 유효인지 나타내는 정보를 저장하는 것도 가능하다. 즉, 검색용 테그바이트(RTB)의 8비트 중 소정의 1비트(예컨대 선두비트)를 "0"으로 설정하여 유저데이터가 유위인 것을 나타내고, 나머지 7비트로 유효바이트 수를 나타내도록 제어할 수 있다.
또, 상기 실시예에 있어서는, 플래시 메모리내의 유저데이터 에리어(UDA)의 1유닛의 크기를 128바이트로 했지만, 1개의 워드선에 접속되는 메모리셀의 수를 바꿈으로써, 256바이트 또는 64바이트 등 임의의 바이트 수로 할 수 있다. 또한, 소프트웨어에 의한 처리로 1유닛을 256바이트나 512바이트 등으로 하는 것도 가능하다. 그 경우, 도 8의 스텝(S25)에서의 유닛포인터의 갱신을 「+2」나 「+3」씩 증가하거나, 스텝(S26)에서의 기록처리할 때에, 포인터의 값에서 2개 또는 3개의 물리 어드레스를 연산하여 데이터의 기록을 2회 또는 3회로 나누어 행하도록 하면 좋다.
또한, 상기 실시예 있어서는, 퍼스널 컴퓨터 본체와는 별개의 광체(case)로 구성된 외장형의 CD드라이브 장치에 대해 설명하였지만, 본 발명은 퍼스널 컴퓨터의 광체내에 설치되는 퍼스널 컴퓨터 내장형 CD드라이브 장치 등에도 적용할 수 있는 것은 말할 필요도 없다.
또, 이상의 설명에서는 주로 본 발명자에 의해 이루어진 발명을 그 배경이 된 이용분야인 CD드라이브 장치에 적용한 경우에 대해 설명하였지만, 본 발명은 그것에 한정되지 않고, MO(자기광)드라이브장치나 DVD(디지털 ·비디오 ·디스크) 드라이브 장치 등 기록매체의 재생장치에 일반적으로 이용할 수 있다.
본원에 있어서 개시시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단히 설명하면 하기와 같다.
즉, 본 발명에 따르면, 기억소자 그 자체의 재기록 가능횟수는 적어도 외부에서 본 재기록 횟수를 큰폭으로 많게 할 수 있는 플래시 메모리를 내장한 마이크로 컴퓨터를 실현하고, 이것에 의해 EEPROM을 필요로 하지 않는 저렴한 매체 재생장치를 실현할 수가 있다. 또, 최종 유저의 사용상태에 있어서도 시스템에 관한 데이터를 내장 메모리에 비교적 많은 횟수로 기록을 할 수 있고, 더욱이 비용 상승을 억제할 수 있는 마이크로 컴퓨터를 탑재한 매체 재생장치를 실현하는 것이 가능하다.

Claims (12)

  1. 기록매체를 구동하는 매체 구동수단과, 이 매체 구동수단을 전기적으로 제어하여 구동하는 구동회로와, 상기 매체에 기록된 데이터를 판독하여 전기신호로서 출력하는 판독수단과, 이 판독수단의 출력신호를 처리하여 데이터를 재생하는 신호처리 회로와, 상기 구동회로, 신호처리회로를 제어하는 제어장치를 구비한 매체 재생장치로서,
    상기 제어장치는, 유닛 단위로 전기적으로 데이터 기록이 가능하고 동시에 상기 유닛보다도 큰 블록단위로 전기적으로 일괄하여 데이터 소거 가능한 불휘발성 메모리와 프로그램에 따라 동작하는 제어부가 1개의 반도체 칩에 형성된 반도체 집적회로를 가지고, 상기 제어부는 상기 불휘발성 메모리의 소정의 영역내의 유닛을 관리하며, 이 소정의 영역에 대해 유닛 단위로 데이터의 기록을 행하고, 이 소정의 영역에 포함되는 복수의 유닛에 대해 기록이 행해진 경우에 상기 소정의 영역에 포함되는 블록에 대해 데이터 소거를 행하며, 이 소거된 블록에서의 유닛에 대해 데이터의 기록을 행하는 수단을 가지는 것을 특징으로 하는 매체 재생장치.
  2. 제 1항에 있어서,
    상기 불휘발성 메모리는, 상기 제어부를 구성하는 소자를 형성하는 공정과 동일의 공정으로 형성된 소자를 가지는 것을 특징으로 하는 매체 재생장치.
  3. 제 1항에 있어서,
    상기 제어부는, 상기 불휘발성 메모리에 기억되어 있는 프로그램의 실행으로 발생한 데이터를 해당 불휘발성 메모리의 상기 소정의 영역에 유닛 단위로 기록하는 것을 특징으로 하는 매체 재생장치.
  4. 제 1항에 있어서,
    상기 제어부에 의한 상기 불휘발성 메모리에 관한 유닛 관리기능, 데이터의 기록기능 및 데이터 소거기능, 상기 불휘발성 메모리에 기억되어 있는 프로그램에 의해 실현되어 있는 것을 특징으로 하는 매체 재생장치.
  5. 제 1항에 있어서,
    상기 불휘발성 메모리에 기록되는 데이터는, 상기 매체의 종별에 관한 정보인 것을 특징으로 하는 매체 재생장치.
  6. 제 1항에 있어서,
    상기 불휘발성 메모리의 상기 소정의 영역을 구성하는 각 유닛에는, 해당 유닛의 데이터가 유위(有爲)인지 여부를 나타내는 데이터가 기록되는 것을 특징으로 하는 매체 재생장치.
  7. 제 1항에 있어서,
    상기 불휘발성 메모리의 상기 소정의 영역을 구성하는 각 유닛에는, 해당 유닛의 데이터의 신뢰성을 체크하기 위한 데이터가 기록되는 것을 특징으로 하는 매체 재생장치.
  8. 제 7항에 있어서,
    상기 매체에서의 데이터 판독시에 해당 데이터의 상기 체크용의 데이터를 조사하여 판독데이터가 이상(異常)이라고 판정한 때는, 해당 데이터의 기록 이전에 기록되어 있는 데이터가 판독되는 것을 특징으로 하는 매체 재생장치.
  9. 제 1항에 있어서,
    상기 불휘발성 메모리의 상기 소정의 영역에 기록되는 데이터는, 상기 매체 구동수단 및 판독수단의 제조변동에 관한 정보인 것을 특징으로 하는 매체 재생장치.
  10. 제 1항에 있어서,
    상기 불휘발성 메모리의 상기 소정의 영역에 기록되는 데이터는, 상기 매체를 액세스함으로써 얻어진 매체의 특성에 관한 정보인 것을 특징으로 하는 매체 재생장치.
  11. 제 1항에 있어서,
    상기 소정의 영역은, 복수의 블록을 가지고, 상기 블록의 각각은 복수의 유닛을 가지고 있는 것을 특징으로 하는 매체 재생장치.
  12. 제 1항에 있어서,
    상기 데이터 소거는, 소정의 데이터의 기록인 것을 특징으로 하는 매체 재생장치.
KR1020010052500A 2000-08-31 2001-08-29 매체 재생장치 KR20020018115A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00262686 2000-08-31
JP2000262686A JP2002073425A (ja) 2000-08-31 2000-08-31 媒体再生装置

Publications (1)

Publication Number Publication Date
KR20020018115A true KR20020018115A (ko) 2002-03-07

Family

ID=18750331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010052500A KR20020018115A (ko) 2000-08-31 2001-08-29 매체 재생장치

Country Status (4)

Country Link
US (1) US6928595B2 (ko)
JP (1) JP2002073425A (ko)
KR (1) KR20020018115A (ko)
TW (1) TW571228B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101596635B1 (ko) * 2015-05-19 2016-02-23 중앙대학교 산학협력단 Igfbp2를 유효성분으로 함유하는 군날개 예방 또는 치료용 약학조성물

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003151285A (ja) * 2001-11-08 2003-05-23 Fujitsu Ltd 半導体メモリ
KR100486293B1 (ko) * 2002-12-27 2005-04-29 삼성전자주식회사 광디스크 드라이브
JP4419690B2 (ja) * 2004-06-02 2010-02-24 船井電機株式会社 Dvdプレイヤおよび電子機器
TWI239530B (en) * 2004-07-20 2005-09-11 Sunplus Technology Co Ltd Method for using non-volatile memory and electronics device thereof
JP2006313411A (ja) * 2005-05-06 2006-11-16 Yokogawa Electric Corp フラッシュメモリ制御方法及び制御装置
EP2003569B1 (en) * 2006-03-13 2010-06-02 Panasonic Corporation Flash memory controller
KR100809069B1 (ko) * 2006-11-03 2008-03-03 삼성전자주식회사 비휘발성 메모리를 구비하는 광학 매체 드라이브 및 그구동 방법
JP2010108436A (ja) * 2008-10-31 2010-05-13 Hochiki Corp フラッシュメモリを備えた制御装置及びフラッシュメモリへのデータ書込み方法
US9705307B2 (en) * 2015-01-27 2017-07-11 Qualcomm Incorporated Self-sensing reverse current protection switch
US9343156B1 (en) * 2015-06-25 2016-05-17 Sandisk Technologies Inc. Balancing programming speeds of memory cells in a 3D stacked memory
JP6898186B2 (ja) * 2017-09-13 2021-07-07 日立Astemo株式会社 自動車用制御装置及び不揮発性メモリの書き込み方法
CN111160052B (zh) * 2019-12-31 2024-03-26 东莞铭普光磁股份有限公司 用户信息保存方法、装置及存储介质、光模块

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW231343B (ko) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JP3181398B2 (ja) * 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
WO1997038367A1 (fr) 1996-04-11 1997-10-16 Hitachi, Ltd. Unite de disques et ordinateur

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101596635B1 (ko) * 2015-05-19 2016-02-23 중앙대학교 산학협력단 Igfbp2를 유효성분으로 함유하는 군날개 예방 또는 치료용 약학조성물

Also Published As

Publication number Publication date
US6928595B2 (en) 2005-08-09
TW571228B (en) 2004-01-11
US20020026607A1 (en) 2002-02-28
JP2002073425A (ja) 2002-03-12

Similar Documents

Publication Publication Date Title
US6047352A (en) Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
US6438665B2 (en) System and method which compares data preread from memory cells to data to be written to the cells
KR100521826B1 (ko) 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법
US7974139B2 (en) Non-volatile memory generating different read voltages
US5959897A (en) System and method for writing data to memory cells so as to enable faster reads of the data using dual wordline drivers
US20080155182A1 (en) Non-volatile semiconductor memory system and data write method thereof
KR20030097586A (ko) 디스크드라이브장치 및 컴퓨터장치
JP2000163988A (ja) 半導体記憶装置
JPH035995A (ja) 不揮発性半導体記憶装置
KR20020018115A (ko) 매체 재생장치
JPH10116494A (ja) ロッカブルセルを持つ不揮発性半導体メモリ装置
US7821868B2 (en) Memory and control unit
US6550028B1 (en) Array VT mode implementation for a simultaneous operation flash memory device
JP2002288999A (ja) 半導体メモリ
JP4148990B2 (ja) エラー許容データのための不揮発性メモリデバイス
JP2004030849A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2825217B2 (ja) フラッシュメモリ
JP2005062981A (ja) 光ディスク再生装置
JP2005085039A (ja) 記録再生装置と記録再生装置のファームウェア書き換え方法とプログラムとコンピュータ読み取り可能な記録媒体
JPH05189981A (ja) フラッシュ型eepromおよびそのフラッシュ型eepromを使用した電子計算機システム
JP2008103076A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2004185606A (ja) ディスクドライブ装置
JP2000040386A (ja) 半導体記憶装置及びデータ処理装置
JPH07220486A (ja) 半導体不揮発性記憶装置
JP2003249093A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application