JP2005038382A - 制御装置及びデータ書き込み方法 - Google Patents

制御装置及びデータ書き込み方法 Download PDF

Info

Publication number
JP2005038382A
JP2005038382A JP2004003081A JP2004003081A JP2005038382A JP 2005038382 A JP2005038382 A JP 2005038382A JP 2004003081 A JP2004003081 A JP 2004003081A JP 2004003081 A JP2004003081 A JP 2004003081A JP 2005038382 A JP2005038382 A JP 2005038382A
Authority
JP
Japan
Prior art keywords
register
data
command
host computer
flash rom
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2004003081A
Other languages
English (en)
Inventor
Takayuki Suzuki
貴之 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2004003081A priority Critical patent/JP2005038382A/ja
Priority to US10/852,019 priority patent/US7092301B2/en
Priority to CNB2004100458675A priority patent/CN1293460C/zh
Priority to TW093116091A priority patent/TWI269173B/zh
Priority to KR1020040048054A priority patent/KR100606306B1/ko
Publication of JP2005038382A publication Critical patent/JP2005038382A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 回路面積の増大及び製造コストの増大を抑制しつつメモリに制御回路の動作プログラムの書き込みを行うことができる制御装置及びデータ書き込み方法を提供する。
【解決手段】 ATAレジスタ22aはホストコンピュータ30に接続される。フラッシュROMアクセスレジスタ25は、ATAレジスタ22aに接続され、ホストコンピュータからATAレジスタ22aに対しコマンドコード80hの特殊コマンドが送信されることでホストコンピュータから送信されるデータ(コマンド及びマイコン制御ソフトウェア)がATAレジスタ22aを介して送信される。アクセスレジスタ25に送信されたデータをデコーダ23がデコードしてフラッシュROM12にマイコン制御ソフトウェアの書き込みを行うためのフォーマット、アドレス及びデータを生成する。
【選択図】 図1

Description

本発明は、制御装置及びデータ書き込み方法に関するものである。
一般に、光ディスクドライブ装置等のコンピュータの周辺機器には、各回路の制御を行うためのマイコンの動作プログラム(以下、マイコン制御ソフトウェアとする。)を格納するためのメモリとして、ROMが搭載されている。近年では、このROMとしてデータを電気的に書き換え可能なフラッシュROMが使用されることが一般的である。これは、周辺機器の開発中等に行われるデバッグや、周辺機器の機能向上のためのアップデート(バージョンアップ)により、その周辺機器のマイコン制御ソフトウェアの更新が必要になることによる。
フラッシュROMには2種類のソフトウェアが書き込まれており、それはマイコンが各回路の制御を行うための前述のマイコン制御ソフトウェアと、それを更新するためのアップデート用プログラムとである。周辺機器の通常の動作時には、マイコンはフラッシュROMに書き込まれたマイコン制御ソフトウェアに従って各回路の制御を行う。一方、マイコン制御ソフトウェアの更新時には、マイコンはフラッシュROMに書き込まれたアップデート用プログラムに従ってフラッシュROMに記録されたマイコン制御ソフトウェアを書き換える。
以上の説明は、フラッシュROMにマイコン制御ソフトウェアやアップデート用プログラムが既に書き込まれている状態での動作である。しかし、全くの初期状態では、当然ながらフラッシュROMには何らデータは書き込まれていない。すなわち、マイコンがマイコン制御ソフトウェアをフラッシュROMに書き込むためには少なくともアップデート用プログラムが既にフラッシュROMに書き込まれている必要があるが、全くの初期状態ではこれも書き込まれてはいない。
そのため、従来では、フラッシュROMメーカーに委託したり、ROMライタなどを用いたりしてフラッシュROM単体の状態で予め決められた初期データ(少なくともアップデート用プログラムを含むデータ)の書き込みを行っている。この初期のマイコン制御ソフトウェアの書き込まれたフラッシュROMのチップは、その後、当該機器のプリント基板にハンダ付けなどで実装されることになる。
特開平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乃至3に記載の発明によれば、回路面積の増大及び製造コストの増大を抑制しつつメモリに制御回路の動作プログラムの書き込みを行うことができる。
以下、本発明を具体化した一実施形態を図1に従って説明する。
図1は、例えばCD−ROMドライブ装置などコンピュータの周辺機器を示す要部ブロック図である。同図に示されるように、この周辺機器は、コントロールチップ(制御用集積回路)11及びフラッシュROM12を備えている。そして、コントロールチップ11は、CPU21と、インターフェイス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とCPU21とからデータの書き込みと読み出しが可能に構成されている。
一方、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バイトのデータはコマンドを含んでおり、CPU21はこれをデコードして実行する。これにより、周辺機器は、ATAPIレジスタ22bに書き込まれた12バイトのデータ等に従って動作する。
フラッシュROM12は工場での製造直後には、初期データ(マイコン制御ソフトウェア及びアップデート用プログラム)は書き込まれておらず、CPU21は何ら動作を行うことができない。
以下、本実施形態におけるフラッシュROM12への初期データの書き込み態様について説明する。
コントロールチップ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を介してフラッシュROM12にシーケンスに従ってアクセスできるようにしてその所定の書き込みアドレスに所定の書き込みデータを書き込む制御信号を生成するとともに、書き込み時にCPU21の動作をスリープさせる制御信号を生成する。そして、デコーダ23は、CPU21によって阻害されることなくフラッシュROM12の所定アドレスに逐次所定データを書き込むことができる。
そして、全ての書き込みデータ(マイコン制御ソフトウェア)を書き込むと、ホストコンピュータ30はインターフェイス24、デコーダ23、アクセスレジスタ25、ATAレジスタ22aを介してフラッシュROM12に書き込まれたデータをベリファイする。ベリファイ後、ホストコンピュータ30は、ATAレジスタ22aに初期データの書き込みを終了するコマンドを送る。これにより、デコーダ23のインターフェイス24への経路及びATAレジスタ22aのアクセスレジスタ25への経路が閉じられて書き込みモードが終了し、同時にデコーダ23によるCPU21のスリープ状態が解放される。
図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はアクセスするフラッシュROM12のアドレスを格納するレジスタ(アクセスアドレスレジスタ)、レジスタ56はそのアドレスに書き込むデータ、又はそのアドレスから読み出したデータのためのレジスタ(アクセスデータレジスタ)である。
レジスタ57は、フラッシュROM12に対するアクセスに必要なサイクル数(Count Value )を書き込むレジスタであり、フラッシュROM12の電気的特性とクロック信号の周波数に応じたカウント値(サイクル数)がセットされる。
フラッシュROM12は、セットアップやホールドの時間により、そのアクセスの間隔に所定期間を要する。例えば、フラッシュROM12にデータを連続して書き込む場合、1つのデータを書き込んでから次のデータを書き込むまでに所定期間待たなければならない。この所定期間はフラッシュROM12の電気的特性によるものである。
デコーダ23は、この時間待ちのためにクロック信号を利用する。即ち、デコーダ23は、クロック信号のパルス数をカウントすることで所定期間(待ち時間)を計測する。そして、クロック信号の周波数は、このコントロールチップ11を搭載する周辺機器によって異なることがある。従って、ホストコンピュータ30からフラッシュROM12の電気的特性とクロック信号の周波数に応じたカウント値をレジスタ57に書き込み、デコーダ23は、カウント値によって計測した待ち時間に従ってフラッシュROM12にアクセスする。
レジスタ58は、フラッシュROM12に対する動作のためのコマンドセットを格納するレジスタセットであり、複数の領域からなる。フラッシュROM12を動作させる(モードを切換える)ためのコマンドは、複数バイトからなり、これをコマンドセットと呼ぶ。これは、フラッシュROM12が通常時に書き込まれるデータ又はノイズをコマンドと誤認識しないようにするためである。コマンドセットは複数対のコマンドアドレス及びコマンドデータからなり、対の数はコマンドにより異なる。
ここで、フラッシュメモリの一般的なコマンドセットを図3に、タイミング図を図4,5に示す。図3に示すように、フラッシュROM12に対して、消去、書き込み又は読み出しの動作の際に所定のアドレス及びデータからなるコマンドを入力する。このコマンドの入力には数サイクルを要し、そのサイクル数はコマンドにより異なる。
例えば、消去動作の場合、図4に示すように、6サイクルについて消去用のコマンドアドレスとコマンドデータを順次入力する。そして、6サイクル目に入力された消去アドレス(セクタアドレス)及びデータ30hに従って消去動作が開始される。
同様に、書き込み動作の場合、図5に記載の4サイクルについて書き込み用のコマンドアドレスとコマンドデータを順次入力する。そして4サイクル目に入力された書き込みアドレス及び書き込みデータに基づいて書き込み動作が開始される。
例えば、図3に示す書き込みコマンドの場合、コマンドセットは4対のコマンドアドレス及びコマンドデータからなり、ホストコンピュータ30は、8個のレジスタにそれらを格納し、デコーダ23はそれらを順次読み出してフラッシュROM12に出力する。
図2に示すように、デコーダ23は、制御回路(Control Circuit )61、カウンタ(Counter )62、フリップフロップ(FlipFlop)63を有している。制御回路61は、カウンタ62が接続されるとともに、フリップフロップ63を介してインターフェイス24に接続されている。フリップフロップ63は、制御回路61とフラッシュROM12との間の複数の信号を保持するように設けられている。
制御回路61は、アクセスレジスタ25に書き込まれた内容に基づいて動作し、ホストコンピュータ30からアクセスレジスタ25に書き込まれたプログラムデータを読み出し、それをフラッシュROM12に書き込む。また、制御回路61は、レジスタ57に書き込まれたカウント値をカウンタ62にセットする。
カウンタ62は、例えばインクリメントカウンタであり、図示しない基準クロック信号のパルス数をカウントする。そして、カウンタ62は、そのカウント値が制御回路61の設定値と一致する場合には所定レベルのカウントアップ信号を制御回路61に出力し、カウント値をリセットする。制御回路61は、所定レベルのカウントアップ信号に応答してフラッシュROM12に対する次のアクセスを行う。
インターフェイス24は、切替回路71、インターフェイス(I/F)回路72を有している。I/F回路72及び切替回路71は、制御回路61とフラッシュROM12との間の複数の信号に対応して設けられている。
切替回路71は、フラッシュROM12とCPU21とデコーダ23との間の接続を切り替える切替回路であり、コントロールチップ11の動作状態に応じてフラッシュROM12の接続相手をCPU21又はデコーダ23に切り替える。動作状態はATAタスクファイルレジスタ22aに対するコマンドの書き込みにより変更される。詳しくは、切替回路71は、通常動作においてフラッシュROM12とCPU21とを接続する。そして、切替回路71は、書き込みモード、即ちホストコンピュータ30がコマンドコード80hをコマンドレジスタ42に書き込むと、それに応じて生成される制御信号S1によりフラッシュROM12とデコーダ23とを接続する。更に、切替回路71は、書き込みモードの解除、即ちホストコンピュータ30が所定のコマンドコード(本実施形態では87h)をコマンドレジスタ42に書き込むと、それに応じて生成される制御信号S1によりフラッシュROM12とCPU21とを接続する。
次に、フラッシュROM12に対するプログラムの書き込み方法を、図2に示す構成に従って説明する。
1.ホストコンピュータ30からATAレジスタ22aのコマンドレジスタ42に開始のための所定値(80h)を持つコマンドコードを書き込む。これにより、アクセスレジ
スタ25のウインドウが開かれる(ホストコンピュータ30からデータレジスタ41を介してアクセスレジスタ25のアクセスが可能になる)と共に、切替回路71によりフラッシュROM12の接続がCPU21からデコーダ23に切り替えられる。
2.ホストコンピュータ30からATAレジスタ22aのデータレジスタ41を介して、アクセスレジスタ25に以下のデータを対応するレジスタに書き込む。
(1)プログラムライトモードを選択するデータをレジスタ51に書き込み、アドレスインクリメントモードを選択するデータをレジスタ54に書き込む。
(2)カウント値をレジスタ57に書き込む。
(3)フラッシュROM12へ書き込み動作するためのイニシャルワーク用のコマンドセットをレジスタ58に書き込む。
(4)アクセスアドレスをレジスタ55に書き込む。
3.ホストコンピュータ30からATAレジスタ22aのデータレジスタ41を介して、アクセスレジスタ25のレジスタに(5)アクセスデータを書き込む。
4.デコーダ23の制御回路61は、アクセスデータの書き込みに応答し、アクセスレジスタ25のモードの設定値を読み出す。プログラムライトモードが選択されているため、制御回路61は、フラッシュROM12へ書き込み動作するためのイニシャルワーク用のコマンドセットを順次読み出し、フリップフロップ63、インターフェイス24を介してフラッシュROM12へアクセスする。この時、制御回路61は、アクセス毎にカウンタによりクロック信号の周期にカウント値を乗じた期間(所定期間)待機する。
5.制御回路61はフラッシュROM12へ書き込み動作するためのアクセスアドレス及びアクセスデータをレジスタ55,56から読み出し、フリップフロップ63、インターフェイス24を介してフラッシュROM12へアクセスする。
6.ホストコンピュータ30は、フラッシュROM12にデータが書き込まれる期間(フラッシュROM12に対してコマンドセットを出力する期間及びアクセスデータの書き込みに要する期間)が経過した後、次のアドレスのアクセスデータをATAレジスタ22aのデータレジスタ41を介してアクセスレジスタ25のレジスタ56に書き込む。
7.制御回路61は、アクセスデータの書き込みに応答し、アクセスレジスタ25のモードの設定値を読み出す。プログラムライトモードが選択されているため、制御回路61はフラッシュROM12へ書き込み動作するためのイニシャルワーク用のコマンドセットを順次読み出し、フリップフロップ63、インターフェイス24を介してフラッシュROM12へアクセスする。そして、アドレスインクリメントモードが選択されているため、制御回路61はレジスタ55のアクセスアドレスをインクリメント(+1)する。
8.制御回路61は、フラッシュROM12へ書き込み動作するためのアクセスデータを読み出し、既にインクリメントしたアクセスアドレスと共に、フリップフロップ63、インターフェイス24を介してフラッシュROM12へアクセスする。
9.制御回路61は、すべてのプログラムデータの書き込みを終了するまで上記のステップ6,7,8を繰り返し実行する。
10.ホストコンピュータ30からATAレジスタ22aのコマンドレジスタ42に終了のための所定値(87h)を持つコマンドコードを書き込む。これにより、アクセスレジスタ25のウインドウが閉じられると共に、フラッシュROM12の接続がデコーダ23からCPU21に切り替えられる。
このようにして、フラッシュROM12には、CPU21が周辺機器の各回路の制御を
行うためのマイコン制御ソフトウェア(制御回路の動作プログラム)と、CPU21がマイコン制御ソフトウェアの更新を行うためのアップデート用プログラムとの2種類が書き込まれる。従って、CPU21はインターフェイス24を介してフラッシュROM12に書き込まれたマイコン制御ソフトウェアを読み出し、それに従って各回路の制御を行う。例えば周辺機器がCD−ROMドライブ装置である場合には、レーザを照射するためのピックアップを光ディスクの所定位置に移動させたり、レーザの反射光を読み取って光ディスクに記録されたデータを読み出したりする。一方、マイコン制御ソフトウェアの更新時には、CPU21はアップデート用プログラムに従って、マイコン制御ソフトウェアのデータ書き換えを行う。
以上詳述したように、本実施形態によれば、以下に示す効果が得られるようになる。
(1)本実施形態では、ホストコンピュータからATAレジスタ22aに対しコマンドコード80h等の特殊コマンドが送信されることでホストコンピュータから送信されるデータがATAレジスタ22aを介してアクセスレジスタ25に送信される。そして、アクセスレジスタ25に送信されたデータがデコーダ23でデコードされてフラッシュROM12に書き込みを行うための書き込みアドレス及び書き込みデータが生成される。このように、ATAレジスタ22aに対し特殊コマンドが送信されることでATAレジスタ22aに送信されたデータを格納するアクセスレジスタ25及びそのデータをデコードするデコーダ23を設けるのみの回路構成で上記書き込みアドレス及び書き込みデータを生成して、フラッシュROM12に対して初期データの書き込みを行うことができる。すなわち、既存のインターフェイスを主体とした若干の回路変更のみが必要であって、マイコン制御ソフトウェアを書き込むためのマスクROMを設ける必要もなく、コントロールチップ11の回路面積の増大を抑制することができる。また、フラッシュROM12単体の状態で予め初期データを書き込んでおいてこれを実装するなどの作業も不要であることから、製造コストの増大も抑制できる。
(2)本実施形態では、ATAの規格上の規格上の空き領域に設定されたデータ処理(コマンド)を利用してフラッシュROM12へのデータ(マイコン制御ソフトウェア)の書き込みを行うことができる。従って、マイコン制御ソフトウェアの書き込みのための回路設計の負荷も軽減できる。特に、ホストコンピュータ30とコントロールチップ11とは、上記初期データの書き込み時においても既存の規格に従って接続することができ、専用のインターフェイスを開発する負荷を軽減することができる。
(3)本実施形態では、ATAレジスタ22aに対し特殊コマンドが送信されることで、アクセスレジスタ25によりデコーダ23を介してCPU21がスリープさせられる。このため、フラッシュROM12へのマイコン制御ソフトウェアの書き込み処理が、CPU21の動作によって邪魔されることを回避できる。
(4)本実施形態では、フラッシュROM12に予めデータを記録しておく必要がないため、例えばコントロールチップ11に一体的に集積することも可能であり、この場合には周辺機器全体としての回路面積を低減することができる。
(5)本実施形態では、ATAレジスタ22aに接続されるアクセスレジスタ25を、ATAPIレジスタ22bのように規格に制約を受けない専用のレジスタとして設けた。従って、ATAレジスタ22aのデータバスを最大限利用して、アクセスレジスタ25によりフラッシュROM12に初期データの書き込みを行うことができる。従って、アクセスレジスタ25によるマイコン制御ソフトウェアの書き込みにおいて、例えば設定可能な機能(コマンド)を拡張するなどの自由度を増加することができる。
例えばアクセスレジスタ25にはフラッシュROM12へのデータの書き込みの都度に
必要となる数バイトの書き込み用コマンド(書き込み用コマンドのための書き込みアドレス及び書き込みデータ)、書き込み用コマンドのサイクル時間及び書き込みアドレスの初期値を予め書き込んでおく。そして、フラッシュROM12への書き込みデータのみをホストコンピュータ30からATAレジスタ22aを介してアクセスレジスタ25へ送信するだけでデコーダ23が上述のデータの書き込みの都度必要となる書き込み用コマンド、書き込みのためのインクリメントされたアドレス及び書き込みデータを生成してフラッシュROM12へ書き込みを行う。
これにより、ホストコンピュータ30からATAレジスタ22aを介してアクセスレジスタ25へは、書き込みの都度必要となる書き込み用コマンド及びアドレスを毎回送る必要がなくなるのでフラッシュROM12へ高速に初期データを書き込むことができる。
このとき、フラッシュROM12への1アドレスあたりのデータの書き込み時間の管理は、ホストコンピュータ30が書き込みが十分行なわれる時間だけ待って次の書き込みデータを送るようにする。あるいはデコーダ23がフラッシュROM12の書き込み終了をトグルビットやポーリングで検知し、それをATAレジスタ22aを介してホストコンピュータ30に知らせ、この知らせを受けてホストコンピュータ30が次の書き込みデータを送るようにする。また、ATA規格である信号IORDY(図示していない)を利用することにより、ホストコンピュータ30からATAレジスタ22aへ次の書き込みデータを送る際の不要な待ち時間を削減することで、フラッシュROM12への書き込みが高速になされる。
なお、本発明の実施の形態は上記実施形態に限定されるものではなく、次のように変更してもよい。
・前記実施形態において、フラッシュROM12は、コントロールチップ11に一体的に集積しておいてもよい。この場合、周辺機器全体としての回路面積を低減することができる。
・前記実施形態においては、メモリとしてフラッシュROMを採用したが、データの書き込みが可能であればその他のPROM(Programmable ROM)を採用してもよい。
・前記実施形態においては、レジスタとしてATAレジスタ22aを採用したが、その他の規格に従ったレジスタを採用してもよい。この場合においても、規格に対応して同様のデータ処理が可能となる特殊コマンドを設定すればよい。
・前記実施形態において、周辺機器はCD−ROMドライブ装置に限らず、コンピュータと接続してデータのやりとりが可能であればどのような機器であってもよい。例えばMDやDVD−RAM等の光ディスクドライブ装置や、MOのような光磁気ディスクドライブ装置、ハードディスクのような磁気ディスクドライブ装置などであってもよい。更に、このような情報記録装置に限らず、例えばプリンタのような出力装置やスキャナのような読み取り装置、モデムやLANのような通信装置などであってもよい。
本発明の一実施形態を示す要部ブロック図。 一実施形態の詳細な要部ブロック図。 フラッシュメモリのコマンドを示す説明図。 フラッシュメモリのイレーズ動作のタイミング図。 フラッシュメモリのプログラム動作のタイミング図。
符号の説明
11 コントロールチップ
12 メモリとしてのフラッシュROM
21 制御回路としてのCPU
22a 第1レジスタとしてのATAレジスタ
22b 第2レジスタとしてのATAPIレジスタ
23 デコーダ
25 第3レジスタとしてのフラッシュROMアクセスレジスタ
30 ホストコンピュータ

Claims (3)

  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レジスタを介して取り込み、所定のデコード処理を施してメモリに供給し、
    前記デコーダに取り込まれるデータは、前記制御回路の動作プログラムを含むことを特徴とするデータ書き込み方法。
JP2004003081A 2003-06-26 2004-01-08 制御装置及びデータ書き込み方法 Pending JP2005038382A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004003081A JP2005038382A (ja) 2003-06-26 2004-01-08 制御装置及びデータ書き込み方法
US10/852,019 US7092301B2 (en) 2003-06-26 2004-05-24 Controller and method for writing data
CNB2004100458675A CN1293460C (zh) 2003-06-26 2004-05-25 控制装置以及数据写入方法
TW093116091A TWI269173B (en) 2003-06-26 2004-06-04 Control device and data writing method
KR1020040048054A KR100606306B1 (ko) 2003-06-26 2004-06-25 제어 장치 및 데이터 기입 방법

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
JP2005038382A true JP2005038382A (ja) 2005-02-10

Family

ID=33543527

Family Applications (1)

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

Country Status (5)

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

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
US7092301B2 (en) 2006-08-15
CN1293460C (zh) 2007-01-03
TWI269173B (en) 2006-12-21
KR100606306B1 (ko) 2006-07-31
TW200506620A (en) 2005-02-16
US20040264261A1 (en) 2004-12-30
KR20050001443A (ko) 2005-01-06

Similar Documents

Publication Publication Date Title
US6507881B1 (en) Method and system for programming a peripheral flash memory via an IDE bus
JPH11120113A (ja) 光ディスクドライブにおけるファームウエア コードをアップグレードする方法
JP2003242470A (ja) 外部接続機器及びホスト機器
US20070118682A1 (en) Method and apparatus for interfacing and managing NAND flash memory
US7788454B2 (en) Controller including electrically rewritable nonvolatile memory
JP2007193448A (ja) 情報記録装置及びその制御方法
JP2003241908A (ja) 外部接続機器及びホスト機器
JP2005267239A (ja) 記憶装置及び記憶装置間でファイルを転送する方法
JP2005038382A (ja) 制御装置及びデータ書き込み方法
KR100843199B1 (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
US20080301358A1 (en) Electronic device that Downloads Operational Firmware from an External Host
KR100686280B1 (ko) 제어 장치 및 데이터 기입 방법
US20070250661A1 (en) Data recording apparatus and method of controlling the same
KR19980066323A (ko) 하드 디스크 드라이브의 초기화 복사방법 및 그 복사장치
US20050262297A1 (en) Disk drive connected to host system via memory interface circuit, and interface connecting method
KR100432857B1 (ko) 기록 매체 재생 장치를 이용한 주변 기기 펌웨어업그레이드 방법 및 장치
JP7506125B2 (ja) ストレージデバイス、及び情報処理システム
KR100280972B1 (ko) Ata/ide인터페이스를 통한 광학디스크드라이브용펌웨어 코드의 업그래이드 방법 및 장치
JPH0512026A (ja) 磁気デイスク装置
JP2959544B2 (ja) 磁気ディスク装置
JP2000251448A (ja) ハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体
KR100189628B1 (ko) 시디-롬-드라이브 데이타 업데이트 방법
KR100734312B1 (ko) 다중 인터페이스를 지원하는 데이터 저장 장치 및 그 제어방법
JP3901001B2 (ja) 携帯可能電子媒体
JPH11224167A (ja) 記録再生装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091222