KR100606306B1 - 제어 장치 및 데이터 기입 방법 - Google Patents

제어 장치 및 데이터 기입 방법 Download PDF

Info

Publication number
KR100606306B1
KR100606306B1 KR1020040048054A KR20040048054A KR100606306B1 KR 100606306 B1 KR100606306 B1 KR 100606306B1 KR 1020040048054 A KR1020040048054 A KR 1020040048054A KR 20040048054 A KR20040048054 A KR 20040048054A KR 100606306 B1 KR100606306 B1 KR 100606306B1
Authority
KR
South Korea
Prior art keywords
register
command
data
host computer
flash rom
Prior art date
Application number
KR1020040048054A
Other languages
English (en)
Other versions
KR20050001443A (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 KR20050001443A publication Critical patent/KR20050001443A/ko
Application granted granted Critical
Publication of KR100606306B1 publication Critical patent/KR100606306B1/ko

Links

Images

Classifications

    • 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/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0626Reducing size or complexity of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0674Disk device
    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Abstract

회로 면적의 증대 및 제조 비용의 증대를 억제하면서 메모리에 제어 회로의 동작 프로그램의 기입을 행할 수 있는 제어 장치 및 데이터 기입 방법을 제공한다. ATA 레지스터(22a)는 호스트 컴퓨터(30)에 접속된다. 플래시 ROM 액세스 레지스터(25)는 ATA 레지스터(22a)에 접속되고, 호스트 컴퓨터로부터 ATA 레지스터(22a)에 대하여 커맨드 코드(80h)의 특수 커맨드가 송신됨으로써 호스트 컴퓨터로부터 송신되는 데이터(커맨드 및 마이크로컴퓨터 제어 소프트웨어)가 ATA 레지스터(22a)를 통하여 송신된다. 액세스 레지스터(25)에 송신된 데이터를 디코더(23)가 디코드하여 플래시 ROM(12)에 마이크로컴퓨터 제어 소프트웨어의 기입을 행하기 위한 포맷, 어드레스 및 데이터를 생성한다.
플래시 ROM, 호스트 컴퓨터, 기입, 소거

Description

제어 장치 및 데이터 기입 방법{CONTROLLER AND DATA WRITING METHOD}
도 1은 본 발명의 일 실시예를 나타내는 주요부 블록도.
도 2는 일 실시예의 상세한 주요부 블록도.
도 3은 플래시 메모리의 커맨드를 나타내는 설명도.
도 4는 플래시 메모리의 소거 동작의 타이밍도.
도 5는 플래시 메모리의 프로그램 동작의 타이밍도.
〈도면의 주요 부분에 대한 부호의 설명〉
11 : 컨트롤 칩
12 : 메모리로서의 플래시 ROM
21 : 제어 회로로서의 CPU
22a : 제1 레지스터로서의 ATA 레지스터
22b : 제2 레지스터로서의 ATAPI 레지스터
23 : 디코더
25 : 제3 레지스터로서의 플래시 ROM 액세스 레지스터
30 : 호스트 컴퓨터
본 발명은 제어 장치 및 데이터 기입 방법에 관한 것이다.
일반적으로, 광 디스크 드라이브 장치 등의 컴퓨터의 주변 기기에는, 각 회로의 제어를 행하기 위한 마이크로컴퓨터의 동작 프로그램(이하, 마이크로컴퓨터 제어 소프트웨어라고 함)을 저장하기 위한 메모리로서, ROM이 탑재되어 있다. 최근에는 이 ROM으로서 데이터를 전기적으로 재기입 가능한 플래시 ROM이 사용되는 것이 일반적이다. 이것은 주변 기기의 개발 중 등에 행해지는 디버그나, 주변 기기의 기능 향상을 위한 업데이트(버전업)에 의해, 그 주변 기기의 마이크로컴퓨터 제어 소프트웨어의 갱신이 필요하게 되는 것에 의한다.
플래시 ROM에는 2종류의 소프트웨어가 기입되어 있으며, 그것은 마이크로컴퓨터가 각 회로의 제어를 행하기 위한 상술한 마이크로컴퓨터 제어 소프트웨어와, 그것을 갱신하기 위한 업데이트용 프로그램이다. 주변 기기의 통상의 동작 시에는, 마이크로컴퓨터는 플래시 ROM에 기입된 마이크로컴퓨터 제어 소프트웨어에 따라 각 회로의 제어를 행한다. 한편, 마이크로컴퓨터 제어 소프트웨어의 갱신 시에는, 마이크로컴퓨터는 플래시 ROM에 기입된 업데이트용 프로그램에 따라 플래시 ROM에 기록된 마이크로컴퓨터 제어 소프트웨어를 재기입한다.
이상의 설명은 플래시 ROM에 마이크로컴퓨터 제어 소프트웨어나 업데이트용 프로그램이 이미 기입되어 있는 상태에서의 동작이다. 그러나, 완전한 초기 상태에서는 당연하지만 플래시 ROM에는 데이터도 기입되어 있지 않다. 즉, 마이크로컴퓨터가 마이크로컴퓨터 제어 소프트웨어를 플래시 ROM에 기입하기 위해서는 적어도 업데이트용 프로그램이 이미 플래시 ROM에 기입되어 있을 필요가 있지만, 완전한 초기 상태에서는 이것도 기입되지 않는다.
그 때문에, 종래에서는 플래시 ROM 메이커에 위탁하거나, ROM 라이터 등을 이용하거나 하여 플래시 ROM 단체의 상태에서 미리 정해진 초기 데이터(적어도 업데이트용 프로그램을 포함하는 데이터)의 기입을 행하고 있다. 이 초기의 마이크로컴퓨터 제어 소프트웨어가 기입된 플래시 ROM의 칩은, 그 후 해당 기기의 프린트 기판에 납땜 등으로 실장되게 된다.
[특허 문헌 1]
일본 특개평5-81012호 공보
그런데, 상술한 방법에서는 주변 기기에 플래시 ROM의 칩을 실장하기 전에, 초기의 마이크로컴퓨터 제어 소프트웨어의 기입 작업이 별도 필요하게 되므로 공정이 번잡화하여 제조 비용을 부득이하게 증대시킨다.
따라서, 상기와는 다른 종래 기술에서는 데이터가 기입되어 있지 않은 플래시 ROM을 실장하고, 그 후에 마이크로컴퓨터 제어 소프트웨어의 기입을 행하는 방법이 채용되고 있다. 구체적으로는, 해당 기기에는 적어도 업데이트용 프로그램을 기록한 마스크 ROM이 내장되고, 이 마스크 ROM은 마이크로컴퓨터에 접속되어 있다. 그리고, 마스크 ROM의 프로그램에 따라 마이크로컴퓨터를 동작시켜, 그 마이크로컴퓨터가 ATA/ATAPI나 SCSI 등의 인터페이스를 개재하여 PC로부터 수신한 마이크로컴퓨터 제어 소프트웨어를 플래시 ROM에 기입한다.
그러나, 이 방법에서는 적어도 업데이트용 프로그램을 저장한 마스크 ROM이 필요하지만, 이 마스크 ROM은 통상의 동작에는 사용되지 않는다. 따라서, 통상의 동작에 전혀 필요가 없는 마스크 ROM을 탑재하는 것은, 컨트롤 칩(제어용 집적 회로)의 칩 면적을 증대시킨다.
본 발명의 목적은, 회로 면적의 증대 및 제조 비용의 증대를 억제하면서 메모리에 제어 회로의 동작 프로그램의 기입을 행할 수 있는 제어 장치 및 데이터 기입 방법을 제공하는 것에 있다.
상기 문제점을 해결하기 위해서, 청구항 1에 기재된 발명은 제어 회로를 내장하고, 호스트 컴퓨터로부터의 지시에 응답하여 상기 제어 회로가 소정의 동작 제어를 행하는 제어 장치로서, 상기 호스트 컴퓨터에 접속되고, 호스트 컴퓨터로부터 송신되는 커맨드 및 데이터를 저장하는 제1 레지스터와, 상기 제1 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 제1 상태일 때에 상기 제1 레지스터에 저장되는 데이터를 취득하는 기능 확장용의 제2 레지스터와, 상기 제1 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 제1 레지스터에 저장되는 데이터를 취득하는 제3 레지스터와, 상기 제3 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 제1 레지스터에 저장되는 데이터를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여, 메모리에 공급하는 디코더를 구비하며, 상기 디코더에 취득되는 데이터는 상기 제어 회로의 동작 프로그램을 포함하는 것을 요지로 한다.
청구항 2에 기재된 발명은 청구항 1에 기재된 제어 장치에 있어서, 상기 디코더는 상기 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 제어 회로를 슬립시키는 것을 요지로 한다.
청구항 3에 기재된 발명은 호스트 컴퓨터로부터의 지시에 응답하여 제어 회로가 소정의 동작 제어를 행하는 데이터 기입 방법으로서, 상기 호스트 컴퓨터에 접속되고, 호스트 컴퓨터로부터 송신되는 커맨드 및 데이터를 저장하는 제1 레지스터와, 상기 제1 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 제1 상태일 때에 상기 제1 레지스터에 저장되는 데이터를 취득하는 기능 확장용의 제2 레지스터와, 상기 제1 레지스터에 접속된 제3 레지스터와, 상기 제3 레지스터에 접속된 디코더를 구비하며, 상기 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 디코더는 상기 제1 레지스터에 저장되는 데이터를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여 메모리에 공급하고, 상기 디코더에 취득되는 데이터는 상기 제어 회로의 동작 프로그램을 포함하는 것을 요지로 한다.
(작용)
청구항 1에 기재된 발명에 따르면, 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 디코더는 상기 제1 레지스터에 저장되는 데이터(제어 회로의 동작 프로그램)를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여, 메모리에 공급한다. 이에 의해, 메모리 단체의 상태에서 미리 제어 회로의 동작 프로그램을 기입해 두고 이것을 실장하는 등의 작업도 불필요하므로, 제조 비용의 증대도 억제된다.
청구항 2에 기재된 발명에 따르면, 상기 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에, 디코더에 의해 상기 제어 회로가 슬립된다. 이 때문에, 상기 메모리에의 데이터(제어 회로의 동작 프로그램)의 기입 처리가 상기 제어 회로의 동작에 의해 방해되는 것이 회피된다.
청구항 3에 기재된 발명에 따르면, 제1 레지스터에 저장되는 커맨드가 제2 상태일 때에 상기 디코더는 상기 제1 레지스터에 저장되는 데이터(제어 회로의 동작 프로그램)를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여 메모리에 공급한다. 이와 같이 메모리 단체의 상태에서 미리 제어 회로의 동작 프로그램을 기입해 두고 이것을 실장하는 등의 작업도 불필요하므로, 제조 비용의 증대도 억제된다.
〈실시예〉
이하, 본 발명을 구체화한 일 실시예를 도 1에 따라 설명한다.
도 1은, 예를 들면 CD-ROM 드라이브 장치 등 컴퓨터의 주변 기기를 나타내는 주요부 블록도이다. 도 1에 도시된 바와 같이, 이 주변 기기는 컨트롤 칩(제어용 집적 회로)(11) 및 플래시 ROM(12)을 구비하고 있다. 그리고, 컨트롤 칩(11)은 CPU(21)와, 인터페이스(22)와, 디코더(23)와, 인터페이스(24)와, 플래시 ROM 액세스 레지스터(이하, 단순히 액세스 레지스터라고 함)(25)를 구비하고 있다. 인터페이스(22)는 ATA 태스크 파일 레지스터(Advanced Technology Attachment Task File Register)(이하, ATA 레지스터라고 함)(22a) 및 ATAPI 레지스터(AT Attachment Packet Interface Register)(22b)를 갖고 있다. 그리고, 컨트롤 칩(11)은 인터페 이스(22)의 ATA 레지스터(22a)에서 호스트 컴퓨터(30)와 통신 가능하게 접속되어 있다.
ATA 레지스터(22a)는 호스트 컴퓨터(30)와 주변 기기와의 신호의 교환을 규정하는 ATA 규격에 따라, 신호(커맨드나 기입 판독하는 데이터)의 중개를 행하기 위한 8바이트의 레지스터이다. ATA 레지스터(22a)는 커맨드 레지스터 및 데이터 레지스터 등으로 이루어지며, ATA의 규격에 따라, 호스트 컴퓨터(30)와 CPU(21)로부터 데이터의 기입과 판독이 가능하게 구성되어 있다.
한편, ATAPI 레지스터(22b)는 하드디스크 드라이브 이외의 주변 기기에도 액세스할 수 있도록, 규격 상, 확장된 기능을 동작시키기 위해서 부가된 12바이트의 레지스터이다. 호스트 컴퓨터(30)는 ATA 레지스터(22a)의 커맨드 레지스터에 ATA 규격에 규정된 코드값 A0h(16진)를 갖는 커맨드를 기입함으로써, ATA 레지스터(22a)를 통하여 ATAPI 레지스터(22b)에 12바이트의 데이터를 기입할 수 있게 된다. 이하, 코드값을 명시하는 경우에, 커맨드에 그 코드값을 붙인다. 예를 들면, 코드값 A0h를 갖는 커맨드를 커맨드 코드 A0h로 하여 설명한다. 즉, ATA 레지스터(22a)에서는 커맨드 레지스터에 커맨드 코드 A0h의 커맨드가 기입됨으로써, 데이터 레지스터의 신호의 행선지가 ATAPI 레지스터(22b)에 설정되고, ATAPI 레지스터(22b)에는 직후의 12바이트의 데이터가 송신된다.
이 12바이트의 데이터는 커맨드를 포함하고 있으며, CPU(21)는 이것을 디코드하여 실행한다. 이에 의해, 주변 기기는 ATAPI 레지스터(22b)에 기입된 12바이트의 데이터 등에 따라 동작한다.
플래시 ROM(12)은 공장에서의 제조 직후에는 초기 데이터(마이크로컴퓨터 제어 소프트웨어 및 업데이트용 프로그램)는 기입되지 않아, CPU(21)는 어떠한 동작도 행할 수 없다.
이하, 본 실시예에서의 플래시 ROM(12)에의 초기 데이터의 기입 양태에 대하여 설명한다.
컨트롤 칩(11)은 인터페이스(22)에 있어서 호스트 컴퓨터(30)에 접속되어 있으며, 호스트 컴퓨터(30)에는 초기 데이터가 기억되어 있다.
이 초기 데이터의 기입 모드는 호스트 컴퓨터(30)로부터 소정의 코드값을 갖는 특수 커맨드(기입 모드 설정 커맨드)를 ATA 레지스터(22a)에 송신함으로써 개시한다. 이 특수 커맨드는 ATA 레지스터(22a)에 액세스 레지스터(25)의 윈도우를 설정하여 호스트 컴퓨터(30)로부터의 액세스를 가능하게 하는 커맨드로서, 본 실시예에서는 80h의 코드값을 갖는다. 인터페이스(22)는 이 특수 커맨드에 응답하여 동작 모드를 통상 모드로부터 기입 모드로 전환한다. 또한, 인터페이스(22)는 이 특수 커맨드에 계속해서 송신되는 최대 256바이트의 데이터의 행선지를 액세스 레지스터(25)에 지정한다.
특수 커맨드는 ATA 규격에는 규정되어 있지 않은 커맨드, 즉 벤더 특유(벤더 유니크)의 커맨드이다. ATA 규격에는 80h∼87h(16진)의 범위의 코드값을 갖는 커맨드가 설정되어 있지 않다. 벤더는 이 범위 내의 코드값을 갖는 커맨드를 독자적으로 설정하여 사용할 수 있다.
호스트 컴퓨터(30)는 ATA 레지스터(22a)의 커맨드 레지스터에 커맨드 코드(80h)의 커맨드를 기입함으로써, ATA 레지스터(22a)를 통하여 이에 접속된 액세스 레지스터(25)에 데이터를 기입할 수 있게 된다. 이 데이터의 용량은 최대 256바이트까지 허용된다.
이와 같이 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)를 통하여 액세스 레지스터(25)에 송신된 데이터는 디코더(23)에 있어서 디코드된다. 이에 의해, 디코더(23)는 인터페이스(24)를 통하여 플래시 ROM(12)에 시퀀스에 따라 액세스할 수 있도록 하여 그 소정의 기입 어드레스에 소정의 기입 데이터를 기입하는 제어 신호를 생성함과 함께, 기입 시에 CPU(21)의 동작을 슬립시키는 제어 신호를 생성한다. 그리고, 디코더(23)는 CPU(21)에 의해 저해되지 않고 플래시 ROM(12)의 소정 어드레스에 순차적으로 소정 데이터를 기입할 수 있다.
그리고, 모든 기입 데이터(마이크로컴퓨터 제어 소프트웨어)를 기입하면, 호스트 컴퓨터(30)는 인터페이스(24), 디코더(23), 액세스 레지스터(25), ATA 레지스터(22a)를 통하여 플래시 ROM(12)에 기입된 데이터를 검증한다. 검증 후, 호스트 컴퓨터(30)는 ATA 레지스터(22a)에 초기 데이터의 기입을 종료하는 커맨드를 송신한다. 이에 의해, 디코더(23)의 인터페이스(24)에의 경로 및 ATA 레지스터(22a)의 액세스 레지스터(25)에의 경로가 폐쇄되어 기입 모드가 종료하고, 동시에 디코더(23)에 의한 CPU(21)의 슬립 상태가 해방된다.
도 2는 주요부의 상세한 블록도이다.
ATA 레지스터(22a)는 복수의 영역(레지스터)을 갖고, 각 레지스터는 데이터나 설정값의 기입이나, 상태(스테이터스)의 판독을 위해 액세스된다. 레지스터(41)는 데이터의 기입·판독을 위한 레지스터로서, 이것을 데이터 레지스터(41)라고 한다. 레지스터(42)는 커맨드의 기입 스테이터스의 판독을 위한 레지스터로서, 이것을 커맨드의 기입 시에는 커맨드 레지스터(42)라고 하고, 스테이터스의 판독 시에는 스테이터스 레지스터(42)라고 한다. 실제로는 커맨드 레지스터(42)와 스테이터스 레지스터(42)는 다른 영역이지만, 액세스하는 어드레스가 동일하기 때문에, 호스트 컴퓨터(30)는 이 어드레스에 기입하면 데이터가 커맨드 레지스터(42)에 기입되고, 이 어드레스를 판독하면 스테이터스 레지스터(42)의 내용이 판독된다.
호스트 컴퓨터(30)는 주변 기기에 대한 데이터를 데이터 레지스터(41)에 기입하고, 또는 주변 기기의 데이터를 데이터 레지스터(41)로부터 판독한다. 호스트 컴퓨터(30)는 커맨드 레지스터(42)에 커맨드를 기입하고, 주변 기기는 그 기입된 커맨드를 해석하여 실행한다. 호스트 컴퓨터(30)는 스테이터스 레지스터(42)의 내용을 판독하고, 그에 따라 주변 기기의 상태를 알 수 있다.
액세스 레지스터(25)는 복수의 영역(레지스터)(51∼58)을 갖고, 각 레지스터는 동작 모드의 설정이나 어드레스 데이터의 기입·판독을 위해서 액세스된다. 이들 액세스는 기입 모드 시에 ATA 레지스터(22a)의 데이터 레지스터(41)를 개재하여 행해진다. 즉, 각 레지스터(51∼58)에는 호스트 컴퓨터(30)로부터 출력되는 데이터가 ATA 레지스터(22a)의 데이터 레지스터(41)를 개재하여 기입된다. 또한, 각 레지스터(51∼58) 내의 데이터는 데이터 레지스터(41)를 개재하여 호스트 컴퓨터(30)에서 판독된다.
레지스터(51∼54)는 동작 모드를 설정하기 위한 레지스터이다. 레지스터(51)는 연속적으로 데이터의 기입을 행할 것인지를 설정하는 레지스터이다. 레지스터(52)는 단일 데이터의 기입을 행할 것인지를 설정하는 레지스터이고, 레지스터(53)는 단일 데이터의 판독을 행할 것인지를 설정하는 레지스터이다. 레지스터(54)는 액세스하는 어드레스를 자동적으로 인크리먼트할 것인지를 설정하는 레지스터이다.
레지스터(55)는 액세스하는 플래시 ROM(12)의 어드레스를 저장하는 레지스터(액세스 어드레스 레지스터)이고, 레지스터(56)는 그 어드레스에 기입하는 데이터, 또는 그 어드레스로부터 판독한 데이터를 위한 레지스터(액세스 데이터 레지스터)이다.
레지스터(57)는 플래시 ROM(12)에 대한 액세스에 필요한 사이클 수(Count Value)를 기입하는 레지스터로서, 플래시 ROM(12)의 전기적 특성과 클럭 신호의 주파수에 따른 카운트값(사이클 수)이 세트된다.
플래시 ROM(12)은 셋업이나 홀드의 시간에 의해, 그 액세스의 간격에 소정 기간을 요한다. 예를 들면, 플래시 ROM(12)에 데이터를 연속해서 기입하는 경우, 1개의 데이터를 기입하고 나서 다음의 데이터를 기입하기까지 소정 기간 대기해야 한다. 이 소정 기간은 플래시 ROM(12)의 전기적 특성에 따른 것이다.
디코더(23)는 이 시간 대기를 위해서 클럭 신호를 이용한다. 즉, 디코더(23)는 클럭 신호의 펄스 수를 카운트함으로써 소정 기간(대기 시간)을 계측한다. 그리고, 클럭 신호의 주파수는 이 컨트롤 칩(11)을 탑재하는 주변 기기에 의해 다른 경우가 있다. 따라서, 호스트 컴퓨터(30)로부터 플래시 ROM(12)의 전기적 특성과 클럭 신호의 주파수에 따른 카운트값을 레지스터(57)에 기입하고, 디코더(23)는 카운트값에 의해 계측한 대기 시간에 따라 플래시 ROM(12)에 액세스한다.
레지스터(58)는 플래시 ROM(12)에 대한 동작을 위한 커맨드 세트를 저장하는 레지스터 세트로서, 복수의 영역으로 이루어진다. 플래시 ROM(12)을 동작시키기(모드를 전환하기) 위한 커맨드는 복수 바이트로 이루어지고, 이것을 커맨드 세트라고 한다. 이것은 플래시 ROM(12)이 통상 시에 기입되는 데이터 또는 노이즈를 커맨드로 오인하지 않도록 하기 위함이다. 커맨드 세트는 복수 쌍의 커맨드 어드레스 및 커맨드 데이터로 이루어지며, 쌍의 수는 커맨드에 따라 다르다.
여기서, 플래시 메모리의 일반적인 커맨드 세트를 도 3에, 타이밍도를 도 4, 5에 도시한다. 도 3에 도시한 바와 같이 플래시 ROM(12)에 대하여, 소거, 기입 또는 판독의 동작 시에 소정의 어드레스 및 데이터로 이루어지는 커맨드를 입력한다. 이 커맨드의 입력에는 수 사이클을 요하며, 그 사이클 수는 커맨드에 따라 다르다.
예를 들면, 소거 동작의 경우, 도 4에 도시한 바와 같이 6사이클에 대하여 소거용의 커맨드 어드레스와 커맨드 데이터를 순차적으로 입력한다. 그리고, 6사이클째에 입력된 소거 어드레스(섹터 어드레스) 및 데이터(30h)에 따라 소거 동작이 개시된다.
마찬가지로, 기입 동작의 경우, 도 5에 기재된 4사이클에 대하여 기입용의 커맨드 어드레스와 커맨드 데이터를 순차적으로 입력한다. 그리고, 4사이클째에 입력된 기입 어드레스 및 기입 데이터에 기초하여 기입 동작이 개시된다.
예를 들면, 도 3에 도시하는 기입 커맨드의 경우, 커맨드 세트는 4쌍의 커맨드 어드레스 및 커맨드 데이터로 이루어지며, 호스트 컴퓨터(30)는 8개의 레지스터에 이들을 저장하고, 디코더(23)는 이들을 순차적으로 판독하여 플래시 ROM(12)에 출력한다.
도 2에 도시한 바와 같이, 디코더(23)는 제어 회로(Control Circuit)(61), 카운터(Counter)(62), 플립플롭(FlipFlop)(63)을 갖고 있다. 제어 회로(61)는 카운터(62)가 접속됨과 함께, 플립플롭(63)을 개재하여 인터페이스(24)에 접속되어 있다. 플립플롭(63)은 제어 회로(61)와 플래시 ROM(12)과의 사이의 복수의 신호를 유지하도록 설정되어 있다.
제어 회로(61)는 액세스 레지스터(25)에 기입된 내용에 기초하여 동작하고, 호스트 컴퓨터(30)로부터 액세스 레지스터(25)에 기입된 프로그램 데이터를 판독하여, 그것을 플래시 ROM(12)에 기입한다. 또한, 제어 회로(61)는 레지스터(57)에 기입된 카운트값을 카운터(62)에 세트한다.
카운터(62)는, 예를 들면 인크리먼트 카운터로서, 도시하지 않은 기준 클럭 신호의 펄스 수를 카운트한다. 그리고, 카운터(62)는 그 카운트값이 제어 회로(61)의 설정값과 일치하는 경우에는 소정 레벨의 카운트 업 신호를 제어 회로(61)에 출력하고, 카운트값을 리세트한다. 제어 회로(61)는 소정 레벨의 카운트 업 신호에 응답하여 플래시 ROM(12)에 대한 다음의 액세스를 행한다.
인터페이스(24)는 전환 회로(71), 인터페이스(I/F) 회로(72)를 갖고 있다. I/F 회로(72) 및 전환 회로(71)는 제어 회로(61)와 플래시 ROM(12)과의 사이의 복 수의 신호에 대응하여 설치되어 있다.
전환 회로(71)는 플래시 ROM(12)과 CPU(21)와 디코더(23)와의 사이의 접속을 전환하는 전환 회로로서, 컨트롤 칩(11)의 동작 상태에 따라 플래시 ROM(12)의 접속 상대를 CPU(21) 또는 디코더(23)로 전환한다. 동작 상태는 ATA 태스크 파일 레지스터(22a)에 대한 커맨드의 기입에 의해 변경된다. 상세하게는, 전환 회로(71)는 통상 동작에서 플래시 ROM(12)과 CPU(21)를 접속한다. 그리고, 전환 회로(71)는 기입 모드, 즉 호스트 컴퓨터(30)가 커맨드 코드(80h)를 커맨드 레지스터(42)에 기입하면, 그에 따라 생성되는 제어 신호 S1에 의해 플래시 ROM(12)과 디코더(23)를 접속한다. 또한, 전환 회로(71)는 기입 모드의 해제, 즉 호스트 컴퓨터(30)가 소정의 커맨드 코드(본 실시예에서는 87h)를 커맨드 레지스터(42)에 기입하면, 그에 따라 생성되는 제어 신호 S1에 의해 플래시 ROM(12)과 CPU(21)를 접속한다.
다음으로, 플래시 ROM(12)에 대한 프로그램의 기입 방법을 도 2에 도시하는 구성에 따라 설명한다.
1. 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)의 커맨드 레지스터(42)에 개시를 위한 소정값(80h)을 갖는 커맨드 코드를 기입한다. 이에 의해, 액세스 레지스터(25)의 윈도우가 열림(호스트 컴퓨터(30)로부터 데이터 레지스터(41)를 개재하여 액세스 레지스터(25)의 액세스가 가능하게 됨)과 함께, 전환 회로(71)에 의해 플래시 ROM(12)의 접속이 CPU(21)로부터 디코더(23)로 전환된다.
2. 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)의 데이터 레지스터(41)를 개재하여, 액세스 레지스터(25)에 이하의 데이터를 대응하는 레지스터에 기입한다.
(1) 프로그램 라이트 모드를 선택하는 데이터를 레지스터(51)에 기입하고, 어드레스 인크리먼트 모드를 선택하는 데이터를 레지스터(54)에 기입한다.
(2) 카운트값을 레지스터(57)에 기입한다.
(3) 플래시 ROM(12)에 기입 동작하기 위한 이니셜 워크용의 커맨드 세트를 레지스터(58)에 기입한다.
(4) 액세스 어드레스를 레지스터(55)에 기입한다.
3. 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)의 데이터 레지스터(41)를 개재하여, 액세스 레지스터(25)의 레지스터(5)에 액세스 데이터를 기입한다.
4. 디코더(23)의 제어 회로(61)는 액세스 데이터의 기입에 응답하여, 액세스 레지스터(25)의 모드의 설정값을 판독한다. 프로그램 라이트 모드가 선택되어 있기 때문에, 제어 회로(61)는 플래시 ROM(12)에 기입 동작하기 위한 이니셜 워크용의 커맨드 세트를 순차적으로 판독하여, 플립플롭(63), 인터페이스(24)를 통하여 플래시 ROM(12)에 액세스한다. 이 때, 제어 회로(61)는 액세스마다 카운터에 의해 클럭 신호의 주기에 카운트값을 곱한 기간(소정 기간) 대기한다.
5. 제어 회로(61)는 플래시 ROM(12)에 기입 동작하기 위한 액세스 어드레스 및 액세스 데이터를 레지스터(55, 56)로부터 판독하여, 플립플롭(63), 인터페이스(24)를 통하여 플래시 ROM(12)에 액세스한다.
6. 호스트 컴퓨터(30)는 플래시 ROM(12)에 데이터가 기입되는 기간(플래시 ROM(12)에 대하여 커맨드 세트를 출력하는 기간 및 액세스 데이터의 기입에 요하는 기간)이 경과한 후, 다음 어드레스의 액세스 데이터를 ATA 레지스터(22a)의 데이터 레지스터(41)를 통하여 액세스 레지스터(25)의 레지스터(56)에 기입한다.
7. 제어 회로(61)는 액세스 데이터의 기입에 응답하여, 액세스 레지스터(25)의 모드의 설정값을 판독한다. 프로그램 라이트 모드가 선택되어 있기 때문에, 제어 회로(61)는 플래시 ROM(12)에 기입 동작하기 위한 이니셜 워크용의 커맨드 세트를 순차적으로 판독하여, 플립플롭(63), 인터페이스(24)를 통하여 플래시 ROM(12)에 액세스한다. 그리고, 어드레스 인크리먼트 모드가 선택되어 있기 때문에, 제어 회로(61)는 레지스터(55)의 액세스 어드레스를 인크리먼트(+1)한다.
8. 제어 회로(61)는 플래시 ROM(12)에 기입 동작하기 위한 액세스 데이터를 판독하여, 이미 인크리먼트한 액세스 어드레스와 함께 플립플롭(63), 인터페이스(24)를 통하여 플래시 ROM(12)에 액세스한다.
9. 제어 회로(61)는 모든 프로그램 데이터의 기입을 종료할 때까지 상기한 단계 6, 7, 8을 반복 실행한다.
10. 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)의 커맨드 레지스터(42)에 종료를 위한 소정값(87h)을 갖는 커맨드 코드를 기입한다. 이에 의해, 액세스 레지스터(25)의 윈도우가 닫혀짐과 함께, 플래시 ROM(12)의 접속이 디코더(23)로부터 CPU(21)로 전환된다.
이와 같이 하여, 플래시 ROM(12)에는 CPU(21)가 주변 기기의 각 회로의 제어를 행하기 위한 마이크로컴퓨터 제어 소프트웨어(제어 회로의 동작 프로그램)와, CPU(21)가 마이크로컴퓨터 제어 소프트웨어의 갱신을 행하기 위한 업데이트용 프로그램과의 2종류가 기입된다. 따라서, CPU(21)는 인터페이스(24)를 통하여 플래시 ROM(12)에 기입된 마이크로컴퓨터 제어 소프트웨어를 판독하고, 그에 따라 각 회로의 제어를 행한다. 예를 들면, 주변 기기가 CD-ROM 드라이브 장치인 경우에는, 레이저를 조사하기 위한 픽업을 광 디스크의 소정 위치로 이동시키거나, 레이저의 반사광을 판독하여 광 디스크에 기록된 데이터를 판독하거나 한다. 한편, 마이크로컴퓨터 제어 소프트웨어의 갱신 시에는, CPU(21)는 업데이트용 프로그램에 따라, 마이크로컴퓨터 제어 소프트웨어의 데이터 재기입을 행한다.
이상 상세하게 설명한 바와 같이 본 실시예에 따르면, 이하에 설명하는 효과가 얻어지게 된다.
(1) 본 실시예에서는 호스트 컴퓨터로부터 ATA 레지스터(22a)에 대하여 커맨드 코드(80h) 등의 특수 커맨드가 송신됨으로써 호스트 컴퓨터로부터 송신되는 데이터가 ATA 레지스터(22a)를 통하여 액세스 레지스터(25)에 송신된다. 그리고, 액세스 레지스터(25)에 송신된 데이터가 디코더(23)에 의해 디코드되어 플래시 ROM(12)에 기입을 행하기 위한 기입 어드레스 및 기입 데이터가 생성된다. 이와 같이 ATA 레지스터(22a)에 대하여 특수 커맨드가 송신됨으로써 ATA 레지스터(22a)에 송신된 데이터를 저장하는 액세스 레지스터(25) 및 그 데이터를 디코드하는 디코더(23)를 설치하는 회로 구성만으로 상기 기입 어드레스 및 기입 데이터를 생성하여, 플래시 ROM(12)에 대하여 초기 데이터의 기입을 행할 수 있다. 즉, 기존의 인터페이스를 주체로 한 약간의 회로 변경만이 필요하고, 마이크로컴퓨터 제어 소프트웨어를 기입하기 위한 마스크 ROM을 설치할 필요도 없어, 컨트롤 칩(11)의 회로 면적의 증대를 억제할 수 있다. 또한, 플래시 ROM(12) 단체의 상태에서 미리 초기 데이터를 기입해 두고 이것을 실장하는 등의 작업도 불필요하므로, 제조 비용의 증대도 억제할 수 있다.
(2) 본 실시예에서는 ATA의 규격 상의 빈 영역에 설정된 데이터 처리(커맨드)를 이용하여 플래시 ROM(12)에의 데이터(마이크로컴퓨터 제어 소프트웨어)의 기입을 행할 수 있다. 따라서, 마이크로컴퓨터 제어 소프트웨어의 기입을 위한 회로 설계의 부하도 경감할 수 있다. 특히, 호스트 컴퓨터(30)와 컨트롤 칩(11)은, 상기 초기 데이터의 기입 시에도 기존의 규격에 따라 접속할 수 있어, 전용의 인터페이스를 개발하는 부하를 경감할 수 있다.
(3) 본 실시예에서는 ATA 레지스터(22a)에 대하여 특수 커맨드가 송신됨으로써, 액세스 레지스터(25)에 의해 디코더(23)를 통하여 CPU(21)가 슬립된다. 이 때문에, 플래시 ROM(12)에의 마이크로컴퓨터 제어 소프트웨어의 기입 처리가 CPU(21)의 동작에 의해 방해되는 것을 회피할 수 있다.
(4) 본 실시예에서는 플래시 ROM(12)에 미리 데이터를 기록해 둘 필요가 없기 때문에, 예를 들면 컨트롤 칩(11)에 일체적으로 집적할 수도 있고, 이 경우에는 주변 기기 전체로서의 회로 면적을 저감할 수 있다.
(5) 본 실시예에서는 ATA 레지스터(22a)에 접속되는 액세스 레지스터(25)를 ATAPI 레지스터(22b)와 같이 규격에 제약을 받지 않는 전용의 레지스터로서 설치하였다. 따라서, ATA 레지스터(22a)의 데이터 버스를 최대한 이용하여, 액세스 레지스터(25)에 의해 플래시 ROM(12)에 초기 데이터의 기입을 행할 수 있다. 따라서, 액세스 레지스터(25)에 의한 마이크로컴퓨터 제어 소프트웨어의 기입 시에, 예를 들면 설정 가능한 기능(커맨드)을 확장하는 등의 자유도를 증가할 수 있다.
예를 들면, 액세스 레지스터(25)에는 플래시 ROM(12)에의 데이터의 기입 시마다 필요한 수 바이트의 기입용 커맨드(기입용 커맨드를 위한 기입 어드레스 및 기입 데이터), 기입용 커맨드의 사이클 시간 및 기입 어드레스의 초기값을 미리 기입해 둔다. 그리고, 플래시 ROM(12)에의 기입 데이터만을 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)를 통하여 액세스 레지스터(25)에 송신하는 것만으로 디코더(23)가 상술한 데이터의 기입 시마다 필요한 기입용 커맨드, 기입을 위한 인크리먼트된 어드레스 및 기입 데이터를 생성하여 플래시 ROM(12)에 기입을 행한다.
이에 의해, 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)를 통하여 액세스 레지스터(25)에는 기입 시마다 필요한 기입용 커맨드 및 어드레스를 매회 송신할 필요가 없게 되기 때문에 플래시 ROM(12)에 고속으로 초기 데이터를 기입할 수 있다.
이 때, 플래시 ROM(12)에의 1어드레스당 데이터의 기입 시간의 관리는, 호스트 컴퓨터(30)가 기입이 충분히 행해지는 시간만큼 대기하여 다음의 기입 데이터를 송신하도록 한다. 또는 디코더(23)가 플래시 ROM(12)의 기입 종료를 토글 비트나 폴링으로 검지하고, 그것을 ATA 레지스터(22a)를 통하여 호스트 컴퓨터(30)에 알리고, 이 알림을 받아 호스트 컴퓨터(30)가 다음의 기입 데이터를 보내도록 한다. 또한, ATA 규격인 신호 IORDY(도시 생략)를 이용함으로써, 호스트 컴퓨터(30)로부터 ATA 레지스터(22a)에 다음의 기입 데이터를 송신 때의 불필요한 대기 시간을 삭감함으로써, 플래시 ROM(12)에의 기입이 고속으로 이루어진다.
또, 본 발명의 실시예는 상기 실시예에 한정되는 것이 아니고, 다음과 같이 변경해도 된다.
·상기 실시예에서, 플래시 ROM(12)은 컨트롤 칩(11)에 일체적으로 집적해 두어도 된다. 이 경우, 주변 기기 전체로서의 회로 면적을 저감할 수 있다.
·상기 실시예에서는 메모리로서 플래시 ROM을 채용했지만, 데이터의 기입이 가능하면 그 밖의 PROM(Programmable ROM)을 채용해도 된다.
·상기 실시예에서는 레지스터로서 ATA 레지스터(22a)를 채용했지만, 그 밖의 규격에 따른 레지스터를 채용해도 된다. 이 경우에도, 규격에 대응하여 마찬가지의 데이터 처리가 가능하게 되는 특수 커맨드를 설정하면 된다.
·상기 실시예에서, 주변 기기는 CD-ROM 드라이브 장치에 한정되지 않고, 컴퓨터와 접속하여 데이터의 교환이 가능하면 어떠한 기기이어도 된다. 예를 들면, MD나 DVD-RAM 등의 광 디스크 드라이브 장치나, MO와 같은 광 자기 디스크 드라이브 장치, 하드디스크와 같은 자기 디스크 드라이브 장치 등이어도 된다. 또한, 이러한 정보 기록 장치에 한정되지 않고, 예를 들면 프린터와 같은 출력 장치나 스캐너와 같은 판독 장치, 모뎀이나 LAN과 같은 통신 장치 등이어도 된다.
따라서, 본 발명에 따르면, 회로 면적의 증대 및 제조 비용의 증대를 억제하면서 메모리에 제어 회로의 동작 프로그램의 기입을 행할 수 있다.

Claims (3)

  1. 제어 회로를 내장하고, 호스트 컴퓨터로부터의 지시에 응답하여 상기 제어 회로가 소정의 동작 제어를 행하는 제어 장치로서,
    상기 호스트 컴퓨터에 접속되고, 호스트 컴퓨터로부터 송신되는 커맨드 및 데이터를 저장하는 제1 레지스터와,
    상기 제1 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 통상 모드 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 취득하는 기능 확장용의 제2 레지스터와,
    상기 제1 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 기입 모드 설정 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 취득하는 제3 레지스터와,
    상기 제3 레지스터에 접속되고, 상기 제1 레지스터에 저장되는 커맨드가 상기 기입 모드 설정 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여, 메모리에 공급하는 디코더를 구비하며,
    상기 통상 모드 커맨드는, 상기 제1 레지스터의 규격으로 규정된 커맨드이고,
    상기 기입 모드 설정 커맨드는, 상기 규격으로 규정되지 않은 커맨드이며,
    상기 디코더에 취득되는 데이터는 상기 제어 회로의 동작 프로그램을 포함하는 것을 특징으로 하는 제어 장치.
  2. 제1항에 있어서,
    상기 디코더는 상기 제1 레지스터에 저장되는 커맨드가 상기 기입 모드 설정 커맨드일 때에 상기 제어 회로를 슬립시키는 것을 특징으로 하는 제어 장치.
  3. 호스트 컴퓨터로부터의 지시에 응답하여 제어 회로가 소정의 동작 제어를 행하는 데이터 기입 방법으로서,
    호스트 컴퓨터로부터 송신되는 커맨드 및 데이터를 제1 레지스터에 저장하는 단계와,
    상기 제1 레지스터에 저장되는 커맨드가 통상 모드 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 기능 확장용의 제2 레지스터에 취득하는 단계와,
    상기 제1 레지스터에 저장되는 커맨드가 기입 모드 설정 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 상기 제3 레지스터에 취득하는 단계와
    상기 제1 레지스터에 저장되는 커맨드가 기입 모드 설정 커맨드일 때에 상기 제1 레지스터에 저장되는 데이터를 상기 제3 레지스터를 통하여 취득하고, 소정의 디코드 처리를 실시하여 메모리에 공급하는 단계를 구비하고,
    상기 통상 모드 커맨드는, 상기 제1 레지스터의 규격으로 규정된 커맨드이고,
    상기 기입 모드 설정 커맨드는, 상기 규격으로 규정되지 않은 커맨드이며,
    상기 메모리에 공급하는 데이터는, 상기 제어 회로의 동작 프로그램을 포함하는 것을 특징으로 하는 데이터 기입 방법.
KR1020040048054A 2003-06-26 2004-06-25 제어 장치 및 데이터 기입 방법 KR100606306B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003182418 2003-06-26
JPJP-P-2003-00182418 2003-06-26
JPJP-P-2004-00003081 2004-01-08
JP2004003081A JP2005038382A (ja) 2003-06-26 2004-01-08 制御装置及びデータ書き込み方法

Publications (2)

Publication Number Publication Date
KR20050001443A KR20050001443A (ko) 2005-01-06
KR100606306B1 true KR100606306B1 (ko) 2006-07-31

Family

ID=33543527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040048054A KR100606306B1 (ko) 2003-06-26 2004-06-25 제어 장치 및 데이터 기입 방법

Country Status (5)

Country Link
US (1) US7092301B2 (ko)
JP (1) JP2005038382A (ko)
KR (1) KR100606306B1 (ko)
CN (1) CN1293460C (ko)
TW (1) TWI269173B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071560A (ja) * 2003-08-01 2005-03-17 Sanyo Electric Co Ltd 制御装置及びデータ書き込み方法
DE102004063757A1 (de) * 2004-12-29 2006-07-13 Francotyp-Postalia Ag & Co. Kg Verfahren und Anordnung zum Manipulieren des Inhalts eines Datenspeichers
JP4442523B2 (ja) * 2005-06-30 2010-03-31 セイコーエプソン株式会社 データ転送制御装置及び電子機器
CN116679887B (zh) * 2023-07-24 2023-10-24 合肥奎芯集成电路设计有限公司 用于NAND Flash的通用控制模块及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
JPH0728772A (ja) * 1993-06-25 1995-01-31 Hitachi Ltd マイクロコンピュータ
JPH08305561A (ja) * 1995-04-28 1996-11-22 Nec Corp ファームウエアダウンロード方法とその装置
JPH09101887A (ja) * 1995-10-06 1997-04-15 Nissin Electric Co Ltd ディスクアレイ装置
US5794054A (en) * 1996-07-19 1998-08-11 Compaq Computer Corporation Flash ROM sharing between a processor and a controller
US5920884A (en) * 1996-09-24 1999-07-06 Hyundai Electronics America, Inc. Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data
TW344059B (en) 1997-06-14 1998-11-01 Winbond Electronics Corp Method and device for carrying out updating firmware of CD-ROM driver through ATA/IDE interface
GB9713094D0 (en) 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
JPH11353170A (ja) * 1998-06-09 1999-12-24 Canon Inc フラッシュメモリ制御装置およびフラッシュメモリ制御装置のメモリアクセス方法
TW374883B (en) * 1998-10-06 1999-11-21 Winbond Electronics Corp Microcontroller featuring engraving functions on chips
US6507881B1 (en) 1999-06-10 2003-01-14 Mediatek Inc. Method and system for programming a peripheral flash memory via an IDE bus
JP2001350625A (ja) * 2000-06-08 2001-12-21 Sanyo Electric Co Ltd 制御装置及びデータ処理システム
JP2002269065A (ja) * 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
JP2005071560A (ja) * 2003-08-01 2005-03-17 Sanyo Electric Co Ltd 制御装置及びデータ書き込み方法

Also Published As

Publication number Publication date
CN1577255A (zh) 2005-02-09
KR20050001443A (ko) 2005-01-06
US7092301B2 (en) 2006-08-15
US20040264261A1 (en) 2004-12-30
CN1293460C (zh) 2007-01-03
TWI269173B (en) 2006-12-21
TW200506620A (en) 2005-02-16
JP2005038382A (ja) 2005-02-10

Similar Documents

Publication Publication Date Title
JP4799417B2 (ja) ホストコントローラ
US6718407B2 (en) 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
US7177975B2 (en) Card system with erase tagging hierarchy and group based write protection
US6507881B1 (en) Method and system for programming a peripheral flash memory via an IDE bus
US20060224821A1 (en) System for parallel updating flash memory and method for the same
JP2003242470A (ja) 外部接続機器及びホスト機器
KR100296199B1 (ko) 메모리 카드
JP4178809B2 (ja) 外部接続機器及びホスト機器
KR100697153B1 (ko) 제어 장치
JPWO2003009222A1 (ja) 電子装置、情報処理装置、アダプタ装置及び情報交換システム
KR100606306B1 (ko) 제어 장치 및 데이터 기입 방법
KR100686280B1 (ko) 제어 장치 및 데이터 기입 방법
WO2001020541A1 (fr) Dispositif recreatif, dispositif de traitement de donnees et memoire portable
US20050262297A1 (en) Disk drive connected to host system via memory interface circuit, and interface connecting method
JP2006024143A (ja) 情報処理装置、外部装置、ホスト装置、及び通信方法
KR100371267B1 (ko) 롬에뮬레이터
GB2264574A (en) External data storage device and connection therefor.
JPH11212862A (ja) データ処理装置およびデータ処理装置のデータ書換え処理方法
JPH10133829A (ja) カードリーダ
JP2002073408A (ja) フラッシュメモリ装置、フラッシュメモリ書き換え方法および情報処理装置
JP2006031234A (ja) 情報処理装置、外部装置、ホスト装置、及び通信方法
JP2005258654A (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

Payment date: 20090708

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee