(57)【要約】【課題】  回路面積の増大及び製造コストの増大を抑制しつつメモリに制御回路の動作プログラムの書き込みを行うことができる制御装置及びデータ書き込み方法を提供する。【解決手段】  ＡＴＡレジスタ２２ａはホストコンピュータ３０に接続される。フラッシュＲＯＭアクセスレジスタ２５は、ＡＴＡレジスタ２２ａに接続され、ホストコンピュータからＡＴＡレジスタ２２ａに対しコマンドコード８０ｈの特殊コマンドが送信されることでホストコンピュータから送信されるデータ（コマンド及びマイコン制御ソフトウェア）がＡＴＡレジスタ２２ａを介して送信される。アクセスレジスタ２５に送信されたデータをデコーダ２３がデコードしてフラッシュＲＯＭ１２にマイコン制御ソフトウェアの書き込みを行うためのフォーマット、アドレス及びデータを生成する。【選択図】        図１
2005038382.tif 000002
【特許請求の範囲】
【請求項１】
制御回路を内蔵し、ホストコンピュータからの指示に応答して前記制御回路が所定の動作制御を行う制御装置であって、
前記ホストコンピュータに接続され、ホストコンピュータから送信されるコマンド及びデータを格納する第１レジスタと、
前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第１状態のときに前記第１レジスタに格納されるデータを取り込む機能拡張用の第２レジスタと、
前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第２状態のときに前記第１レジスタに格納されるデータを取り込む第３レジスタと、
前記第３レジスタに接続され、前記第１レジスタに格納されるコマンドが第２状態のときに前記第１レジスタに格納されるデータを前記第３レジスタを介して取り込み、所定のデコード処理を施して、メモリに供給するデコーダと、
を備え、前記デコーダに取り込まれるデータは、前記制御回路の動作プログラムを含むことを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記デコーダは、前記第１レジスタに格納されるコマンドが第２状態のときに前記制御回路をスリープさせることを特徴とする制御装置。
【請求項３】
ホストコンピュータからの指示に応答して制御回路が所定の動作制御を行うデータ書き込み方法であって、
前記ホストコンピュータに接続され、ホストコンピュータから送信されるコマンド及びデータを格納する第１レジスタと、
前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第１状態のときに前記第１レジスタに格納されるデータを取り込む機能拡張用の第２レジスタと、
前記第１レジスタに接続された第３レジスタと、
前記第３レジスタに接続されたデコーダと、
を備え、前記第１レジスタに格納されるコマンドが第２状態のときに前記デコーダは前記第１レジスタに格納されるデータを前記第３レジスタを介して取り込み、所定のデコード処理を施してメモリに供給し、
前記デコーダに取り込まれるデータは、前記制御回路の動作プログラムを含むことを特徴とするデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及びデータ書き込み方法に関するものである。
【背景技術】
【０００２】
一般に、光ディスクドライブ装置等のコンピュータの周辺機器には、各回路の制御を行うためのマイコンの動作プログラム（以下、マイコン制御ソフトウェアとする。）を格納するためのメモリとして、ＲＯＭが搭載されている。近年では、このＲＯＭとしてデータを電気的に書き換え可能なフラッシュＲＯＭが使用されることが一般的である。これは、周辺機器の開発中等に行われるデバッグや、周辺機器の機能向上のためのアップデート（バージョンアップ）により、その周辺機器のマイコン制御ソフトウェアの更新が必要になることによる。
【０００３】
フラッシュＲＯＭには２種類のソフトウェアが書き込まれており、それはマイコンが各回路の制御を行うための前述のマイコン制御ソフトウェアと、それを更新するためのアップデート用プログラムとである。周辺機器の通常の動作時には、マイコンはフラッシュＲＯＭに書き込まれたマイコン制御ソフトウェアに従って各回路の制御を行う。一方、マイコン制御ソフトウェアの更新時には、マイコンはフラッシュＲＯＭに書き込まれたアップデート用プログラムに従ってフラッシュＲＯＭに記録されたマイコン制御ソフトウェアを書き換える。
【０００４】
以上の説明は、フラッシュＲＯＭにマイコン制御ソフトウェアやアップデート用プログラムが既に書き込まれている状態での動作である。しかし、全くの初期状態では、当然ながらフラッシュＲＯＭには何らデータは書き込まれていない。すなわち、マイコンがマイコン制御ソフトウェアをフラッシュＲＯＭに書き込むためには少なくともアップデート用プログラムが既にフラッシュＲＯＭに書き込まれている必要があるが、全くの初期状態ではこれも書き込まれてはいない。
【０００５】
そのため、従来では、フラッシュＲＯＭメーカーに委託したり、ＲＯＭライタなどを用いたりしてフラッシュＲＯＭ単体の状態で予め決められた初期データ（少なくともアップデート用プログラムを含むデータ）の書き込みを行っている。この初期のマイコン制御ソフトウェアの書き込まれたフラッシュＲＯＭのチップは、その後、当該機器のプリント基板にハンダ付けなどで実装されることになる。
【特許文献１】特開平５−８１０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述の手法では、周辺機器にフラッシュＲＯＭのチップを実装する前に、初期のマイコン制御ソフトウェアの書き込み作業が別途必要になることから工程が煩雑化して製造コストの増大を余儀なくされる。
【０００７】
そこで、上記とは別の従来技術では、データの書き込まれていないフラッシュＲＯＭを実装し、その後にマイコン制御ソフトウェアの書き込みを行う手法が採用されている。具体的には、当該機器には、少なくともアップデート用プログラムを記録したマスクＲＯＭが内蔵され、このマスクＲＯＭはマイコンに接続されている。そして、マスクＲＯＭのプログラムに従ってマイコンを動作させ、そのマイコンがＡＴＡ／ＡＴＡＰＩやＳＣＳＩなどのインターフェイスを介してＰＣから受信したマイコン制御ソフトウェアをフラッシュＲＯＭに書き込む。
【０００８】
しかしながら、この手法では、少なくともアップデート用プログラムを格納したマスクＲＯＭが必要であるが、このマスクＲＯＭは通常の動作には使用されない。従って、通常の動作に全く必要が無いマスクＲＯＭを搭載することは、コントロールチップ（制御用集積回路）のチップ面積を増大させる。
【０００９】
本発明の目的は、回路面積の増大及び製造コストの増大を抑制しつつメモリに制御回路の動作プログラムの書き込みを行うことができる制御装置及びデータ書き込み方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記問題点を解決するために、請求項１に記載の発明は、制御回路を内蔵し、ホストコンピュータからの指示に応答して前記制御回路が所定の動作制御を行う制御装置であって、前記ホストコンピュータに接続され、ホストコンピュータから送信されるコマンド及びデータを格納する第１レジスタと、前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第１状態のときに前記第１レジスタに格納されるデータを取り込む機能拡張用の第２レジスタと、前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第２状態のときに前記第１レジスタに格納されるデータを取り込む第３レジスタと、前記第３レジスタに接続され、前記第１レジスタに格納されるコマンドが第２状態のときに前記第１レジスタに格納されるデータを前記第３レジスタを介して取り込み、所定のデコード処理を施して、メモリに供給するデコーダと、を備え、前記デコーダに取り込まれるデータは、前記制御回路の動作プログラムを含むことを要旨とする。
【００１１】
請求項２に記載の発明は、請求項１に記載の制御装置において、前記デコーダは、前記第１レジスタに格納されるコマンドが第２状態のときに前記制御回路をスリープさせることを要旨とする。
【００１２】
請求項３に記載の発明は、ホストコンピュータからの指示に応答して制御回路が所定の動作制御を行うデータ書き込み方法であって、前記ホストコンピュータに接続され、ホストコンピュータから送信されるコマンド及びデータを格納する第１レジスタと、前記第１レジスタに接続され、前記第１レジスタに格納されるコマンドが第１状態のときに前記第１レジスタに格納されるデータを取り込む機能拡張用の第２レジスタと、前記第１レジスタに接続された第３レジスタと、前記第３レジスタに接続されたデコーダと、を備え、前記第１レジスタに格納されるコマンドが第２状態のときに前記デコーダは前記第１レジスタに格納されるデータを前記第３レジスタを介して取り込み、所定のデコード処理を施してメモリに供給し、前記デコーダに取り込まれるデータは、前記制御回路の動作プログラムを含むことを要旨とする。
【００１３】
（作用）
請求項１に記載の発明によれば、第１レジスタに格納されるコマンドが第２状態のときに前記デコーダは前記第１レジスタに格納されるデータ（制御回路の動作プログラム）を前記第３レジスタを介して取り込み、所定のデコード処理を施して、メモリに供給する。これにより、メモリ単体の状態で予め制御回路の動作プログラムを書き込んでおいてこれを実装するなどの作業も不要であることから、製造コストの増大も抑制される。
【００１４】
請求項２に記載の発明によれば、前記第１レジスタに格納されるコマンドが第２状態のときに、デコーダにより前記制御回路がスリープさせられる。このため、前記メモリへのデータ（制御回路の動作プログラム）の書き込み処理が、前記制御回路の動作によって邪魔されることが回避される。
【００１５】
請求項３に記載の発明によれば、第１レジスタに格納されるコマンドが第２状態のとき
に前記デコーダは前記第１レジスタに格納されるデータ（制御回路の動作プログラム）を前記第３レジスタを介して取り込み、所定のデコード処理を施してメモリに供給する。このように、メモリ単体の状態で予め制御回路の動作プログラムを書き込んでおいてこれを実装するなどの作業も不要であることから、製造コストの増大も抑制される。
【発明の効果】
【００１６】
請求項１乃至３に記載の発明によれば、回路面積の増大及び製造コストの増大を抑制しつつメモリに制御回路の動作プログラムの書き込みを行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を具体化した一実施形態を図１に従って説明する。
【００１８】
図１は、例えばＣＤ−ＲＯＭドライブ装置などコンピュータの周辺機器を示す要部ブロック図である。同図に示されるように、この周辺機器は、コントロールチップ（制御用集積回路）１１及びフラッシュＲＯＭ１２を備えている。そして、コントロールチップ１１は、ＣＰＵ２１と、インターフェイス２２と、デコーダ２３と、インターフェイス２４と、フラッシュＲＯＭアクセスレジスタ（以下、単にアクセスレジスタという）２５とを備えている。インターフェイス２２はＡＴＡタスクファイルレジスタ（Advanced Technology Attachment Task File Register）（以下、ＡＴＡレジスタという）２２ａ及びＡＴＡＰＩレジスタ（AT Attachment Packet Interface Register）２２ｂを有している。そして、コントロールチップ１１は、インターフェイス２２のＡＴＡレジスタ２２ａにおいてホストコンピュータ３０と通信可能に接続されている。
【００１９】
ＡＴＡレジスタ２２ａは、ホストコンピュータ３０と周辺機器との信号のやり取りを規定するＡＴＡ規格に沿い、信号（コマンドや読み書きするデータ）の仲介を行うための８バイトのレジスタである。ＡＴＡレジスタ２２ａは、コマンドレジスタ及びデータレジスタ等からなり、ＡＴＡの規格に則り、ホストコンピュータ３０とＣＰＵ２１とからデータの書き込みと読み出しが可能に構成されている。
【００２０】
一方、ＡＴＡＰＩレジスタ２２ｂは、ハードディスクドライブ以外の周辺機器にもアクセスできるように、規格上、拡張された機能を動作させるために付加された１２バイトのレジスタである。ホストコンピュータ３０は、ＡＴＡレジスタ２２ａのコマンドレジスタにＡＴＡ規格に規定されたコード値Ａ０ｈ（１６進）を持つコマンドを書き込むことで、ＡＴＡレジスタ２２ａを介してＡＴＡＰＩレジスタ２２ｂに１２バイトのデータを書き込むことが可能になる。以下、コード値を明示する場合に、コマンドにそのコード値を付す。例えば、コード値Ａ０ｈを持つコマンドを、コマンドコードＡ０ｈとして説明する。すなわち、ＡＴＡレジスタ２２ａでは、コマンドレジスタにコマンドコードＡ０ｈのコマンドが書き込まれることで、データレジスタの信号の行先がＡＴＡＰＩレジスタ２２ｂに設定され、ＡＴＡＰＩレジスタ２２ｂには直後の１２バイトのデータが送られる。
【００２１】
この１２バイトのデータはコマンドを含んでおり、ＣＰＵ２１はこれをデコードして実行する。これにより、周辺機器は、ＡＴＡＰＩレジスタ２２ｂに書き込まれた１２バイトのデータ等に従って動作する。
【００２２】
フラッシュＲＯＭ１２は工場での製造直後には、初期データ（マイコン制御ソフトウェア及びアップデート用プログラム）は書き込まれておらず、ＣＰＵ２１は何ら動作を行うことができない。
【００２３】
以下、本実施形態におけるフラッシュＲＯＭ１２への初期データの書き込み態様について説明する。
【００２４】
コントロールチップ１１は、インターフェイス２２においてホストコンピュータ３０に
接続されており、ホストコンピュータ３０には初期データが記憶されている。
【００２５】
この初期データの書き込みモードは、ホストコンピュータ３０から所定のコード値を持つ特殊コマンド（書込モード設定コマンド）をＡＴＡレジスタ２２ａに送信することで開始する。この特殊コマンドは、ＡＴＡレジスタ２２ａにアクセスレジスタ２５のウインドウを設定してホストコンピュータ３０からのアクセスを可能にするコマンドであり、本実施形態では、８０ｈのコード値を持つ。インターフェイス２２は、この特殊コマンドに応答して動作モードを通常モードから書込モードに切り替える。また、インターフェイス２２は、この特殊コマンドに続いて送られる最大２５６バイトのデータの行先をアクセスレジスタ２５に指定する。
【００２６】
特殊コマンドはＡＴＡ規格には規定されていないコマンド、即ちベンダー特有（ベンダーユニーク）なコマンドである。ＡＴＡ規格には、８０ｈ〜８７ｈ（１６進）の範囲のコード値を持つコマンドが設定されていない。ベンダーは、この範囲内のコード値を持つコマンドを独自に設定して使用することができる。
【００２７】
ホストコンピュータ３０は、ＡＴＡレジスタ２２ａのコマンドレジスタにコマンドコード８０ｈのコマンドを書き込むことで、ＡＴＡレジスタ２２ａを介してこれに接続されたアクセスレジスタ２５にデータを書き込むことが可能になる。このデータの容量は、最大２５６バイトまで許容される。
【００２８】
このように、ホストコンピュータ３０からＡＴＡレジスタ２２ａを介してアクセスレジスタ２５に送られたデータは、デコーダ２３においてデコードされる。これにより、デコーダ２３は、インターフェイス２４を介してフラッシュＲＯＭ１２にシーケンスに従ってアクセスできるようにしてその所定の書き込みアドレスに所定の書き込みデータを書き込む制御信号を生成するとともに、書き込み時にＣＰＵ２１の動作をスリープさせる制御信号を生成する。そして、デコーダ２３は、ＣＰＵ２１によって阻害されることなくフラッシュＲＯＭ１２の所定アドレスに逐次所定データを書き込むことができる。
【００２９】
そして、全ての書き込みデータ（マイコン制御ソフトウェア）を書き込むと、ホストコンピュータ３０はインターフェイス２４、デコーダ２３、アクセスレジスタ２５、ＡＴＡレジスタ２２ａを介してフラッシュＲＯＭ１２に書き込まれたデータをベリファイする。ベリファイ後、ホストコンピュータ３０は、ＡＴＡレジスタ２２ａに初期データの書き込みを終了するコマンドを送る。これにより、デコーダ２３のインターフェイス２４への経路及びＡＴＡレジスタ２２ａのアクセスレジスタ２５への経路が閉じられて書き込みモードが終了し、同時にデコーダ２３によるＣＰＵ２１のスリープ状態が解放される。
【００３０】
図２は、要部の詳細なブロック図である。
【００３１】
ＡＴＡレジスタ２２ａは、複数の領域（レジスタ）を有し、各レジスタはデータや設定値の書き込みや、状態（ステータス）の読み出しのためにアクセスされる。レジスタ４１は、データの書き込み・読み出しのためのレジスタであり、これをデータレジスタ４１と呼ぶ。レジスタ４２は、コマンドの書き込み・ステータスの読み出しのためのレジスタであり、これをコマンドの書き込み時にはコマンドレジスタ４２と呼び、ステータスの読み出し時にはステータスレジスタ４２と呼ぶ。実際には、コマンドレジスタ４２とステータスレジスタ４２は、異なる領域であるが、アクセスするアドレスが同一であるため、ホストコンピュータ３０は、このアドレスに書き込むとデータがコマンドレジスタ４２に書き込まれ、このアドレスを読み出すとステータスレジスタ４２の内容が読み出される。
【００３２】
ホストコンピュータ３０は、周辺機器に対するデータをデータレジスタ４１に書き込み、又は周辺機器のデータをデータレジスタ４１から読み出す。ホストコンピュータ３０は
、コマンドレジスタ４２にコマンドを書き込み、周辺機器はその書き込まれたコマンドを解析して実行する。ホストコンピュータ３０は、ステータスレジスタ４２の内容を読み出し、それによって周辺機器の状態を知る。
【００３３】
アクセスレジスタ２５は、複数の領域（レジスタ）５１〜５８を有し、各レジスタは動作モードの設定やアドレス・データの書き込み・読み出しのためにアクセスされる。これらのアクセスは、書き込みモード時にＡＴＡレジスタ２２ａのデータレジスタ４１を介して行われる。即ち、各レジスタ５１〜５８には、ホストコンピュータ３０から出力されるデータがＡＴＡレジスタ２２ａのデータレジスタ４１を介して書き込まれる。また、各レジスタ５１〜５８内のデータはデータレジスタ４１を介してホストコンピュータ３０にて読み出される。
【００３４】
レジスタ５１〜５４は、動作モードを設定するためのレジスタである。レジスタ５１は、連続的にデータの書き込みを行うか否かを設定するレジスタである。レジスタ５２は、単一データの書き込みを行うか否かを設定するレジスタであり、レジスタ５３は、単一データの読み出しを行うか否かを設定するレジスタである。レジスタ５４は、アクセスするアドレスを自動的にインクリメントするか否かを設定するレジスタである。
【００３５】
レジスタ５５はアクセスするフラッシュＲＯＭ１２のアドレスを格納するレジスタ（アクセスアドレスレジスタ）、レジスタ５６はそのアドレスに書き込むデータ、又はそのアドレスから読み出したデータのためのレジスタ（アクセスデータレジスタ）である。
【００３６】
レジスタ５７は、フラッシュＲＯＭ１２に対するアクセスに必要なサイクル数（Count Value ）を書き込むレジスタであり、フラッシュＲＯＭ１２の電気的特性とクロック信号の周波数に応じたカウント値（サイクル数）がセットされる。
【００３７】
フラッシュＲＯＭ１２は、セットアップやホールドの時間により、そのアクセスの間隔に所定期間を要する。例えば、フラッシュＲＯＭ１２にデータを連続して書き込む場合、１つのデータを書き込んでから次のデータを書き込むまでに所定期間待たなければならない。この所定期間はフラッシュＲＯＭ１２の電気的特性によるものである。
【００３８】
デコーダ２３は、この時間待ちのためにクロック信号を利用する。即ち、デコーダ２３は、クロック信号のパルス数をカウントすることで所定期間（待ち時間）を計測する。そして、クロック信号の周波数は、このコントロールチップ１１を搭載する周辺機器によって異なることがある。従って、ホストコンピュータ３０からフラッシュＲＯＭ１２の電気的特性とクロック信号の周波数に応じたカウント値をレジスタ５７に書き込み、デコーダ２３は、カウント値によって計測した待ち時間に従ってフラッシュＲＯＭ１２にアクセスする。
【００３９】
レジスタ５８は、フラッシュＲＯＭ１２に対する動作のためのコマンドセットを格納するレジスタセットであり、複数の領域からなる。フラッシュＲＯＭ１２を動作させる（モードを切換える）ためのコマンドは、複数バイトからなり、これをコマンドセットと呼ぶ。これは、フラッシュＲＯＭ１２が通常時に書き込まれるデータ又はノイズをコマンドと誤認識しないようにするためである。コマンドセットは複数対のコマンドアドレス及びコマンドデータからなり、対の数はコマンドにより異なる。
【００４０】
ここで、フラッシュメモリの一般的なコマンドセットを図３に、タイミング図を図４，５に示す。図３に示すように、フラッシュＲＯＭ１２に対して、消去、書き込み又は読み出しの動作の際に所定のアドレス及びデータからなるコマンドを入力する。このコマンドの入力には数サイクルを要し、そのサイクル数はコマンドにより異なる。
【００４１】
例えば、消去動作の場合、図４に示すように、６サイクルについて消去用のコマンドアドレスとコマンドデータを順次入力する。そして、６サイクル目に入力された消去アドレス（セクタアドレス）及びデータ３０ｈに従って消去動作が開始される。
【００４２】
同様に、書き込み動作の場合、図５に記載の４サイクルについて書き込み用のコマンドアドレスとコマンドデータを順次入力する。そして４サイクル目に入力された書き込みアドレス及び書き込みデータに基づいて書き込み動作が開始される。
【００４３】
例えば、図３に示す書き込みコマンドの場合、コマンドセットは４対のコマンドアドレス及びコマンドデータからなり、ホストコンピュータ３０は、８個のレジスタにそれらを格納し、デコーダ２３はそれらを順次読み出してフラッシュＲＯＭ１２に出力する。
【００４４】
図２に示すように、デコーダ２３は、制御回路（Control Circuit ）６１、カウンタ（Counter ）６２、フリップフロップ（FlipFlop）６３を有している。制御回路６１は、カウンタ６２が接続されるとともに、フリップフロップ６３を介してインターフェイス２４に接続されている。フリップフロップ６３は、制御回路６１とフラッシュＲＯＭ１２との間の複数の信号を保持するように設けられている。
【００４５】
制御回路６１は、アクセスレジスタ２５に書き込まれた内容に基づいて動作し、ホストコンピュータ３０からアクセスレジスタ２５に書き込まれたプログラムデータを読み出し、それをフラッシュＲＯＭ１２に書き込む。また、制御回路６１は、レジスタ５７に書き込まれたカウント値をカウンタ６２にセットする。
【００４６】
カウンタ６２は、例えばインクリメントカウンタであり、図示しない基準クロック信号のパルス数をカウントする。そして、カウンタ６２は、そのカウント値が制御回路６１の設定値と一致する場合には所定レベルのカウントアップ信号を制御回路６１に出力し、カウント値をリセットする。制御回路６１は、所定レベルのカウントアップ信号に応答してフラッシュＲＯＭ１２に対する次のアクセスを行う。
【００４７】
インターフェイス２４は、切替回路７１、インターフェイス（Ｉ／Ｆ）回路７２を有している。Ｉ／Ｆ回路７２及び切替回路７１は、制御回路６１とフラッシュＲＯＭ１２との間の複数の信号に対応して設けられている。
【００４８】
切替回路７１は、フラッシュＲＯＭ１２とＣＰＵ２１とデコーダ２３との間の接続を切り替える切替回路であり、コントロールチップ１１の動作状態に応じてフラッシュＲＯＭ１２の接続相手をＣＰＵ２１又はデコーダ２３に切り替える。動作状態はＡＴＡタスクファイルレジスタ２２ａに対するコマンドの書き込みにより変更される。詳しくは、切替回路７１は、通常動作においてフラッシュＲＯＭ１２とＣＰＵ２１とを接続する。そして、切替回路７１は、書き込みモード、即ちホストコンピュータ３０がコマンドコード８０ｈをコマンドレジスタ４２に書き込むと、それに応じて生成される制御信号Ｓ１によりフラッシュＲＯＭ１２とデコーダ２３とを接続する。更に、切替回路７１は、書き込みモードの解除、即ちホストコンピュータ３０が所定のコマンドコード（本実施形態では８７ｈ）をコマンドレジスタ４２に書き込むと、それに応じて生成される制御信号Ｓ１によりフラッシュＲＯＭ１２とＣＰＵ２１とを接続する。
【００４９】
次に、フラッシュＲＯＭ１２に対するプログラムの書き込み方法を、図２に示す構成に従って説明する。
【００５０】
１．ホストコンピュータ３０からＡＴＡレジスタ２２ａのコマンドレジスタ４２に開始のための所定値（８０ｈ）を持つコマンドコードを書き込む。これにより、アクセスレジ
スタ２５のウインドウが開かれる（ホストコンピュータ３０からデータレジスタ４１を介してアクセスレジスタ２５のアクセスが可能になる）と共に、切替回路７１によりフラッシュＲＯＭ１２の接続がＣＰＵ２１からデコーダ２３に切り替えられる。
【００５１】
２．ホストコンピュータ３０からＡＴＡレジスタ２２ａのデータレジスタ４１を介して、アクセスレジスタ２５に以下のデータを対応するレジスタに書き込む。
（１）プログラムライトモードを選択するデータをレジスタ５１に書き込み、アドレスインクリメントモードを選択するデータをレジスタ５４に書き込む。
（２）カウント値をレジスタ５７に書き込む。
（３）フラッシュＲＯＭ１２へ書き込み動作するためのイニシャルワーク用のコマンドセットをレジスタ５８に書き込む。
（４）アクセスアドレスをレジスタ５５に書き込む。
【００５２】
３．ホストコンピュータ３０からＡＴＡレジスタ２２ａのデータレジスタ４１を介して、アクセスレジスタ２５のレジスタに（５）アクセスデータを書き込む。
【００５３】
４．デコーダ２３の制御回路６１は、アクセスデータの書き込みに応答し、アクセスレジスタ２５のモードの設定値を読み出す。プログラムライトモードが選択されているため、制御回路６１は、フラッシュＲＯＭ１２へ書き込み動作するためのイニシャルワーク用のコマンドセットを順次読み出し、フリップフロップ６３、インターフェイス２４を介してフラッシュＲＯＭ１２へアクセスする。この時、制御回路６１は、アクセス毎にカウンタによりクロック信号の周期にカウント値を乗じた期間（所定期間）待機する。
【００５４】
５．制御回路６１はフラッシュＲＯＭ１２へ書き込み動作するためのアクセスアドレス及びアクセスデータをレジスタ５５，５６から読み出し、フリップフロップ６３、インターフェイス２４を介してフラッシュＲＯＭ１２へアクセスする。
【００５５】
６．ホストコンピュータ３０は、フラッシュＲＯＭ１２にデータが書き込まれる期間（フラッシュＲＯＭ１２に対してコマンドセットを出力する期間及びアクセスデータの書き込みに要する期間）が経過した後、次のアドレスのアクセスデータをＡＴＡレジスタ２２ａのデータレジスタ４１を介してアクセスレジスタ２５のレジスタ５６に書き込む。
【００５６】
７．制御回路６１は、アクセスデータの書き込みに応答し、アクセスレジスタ２５のモードの設定値を読み出す。プログラムライトモードが選択されているため、制御回路６１はフラッシュＲＯＭ１２へ書き込み動作するためのイニシャルワーク用のコマンドセットを順次読み出し、フリップフロップ６３、インターフェイス２４を介してフラッシュＲＯＭ１２へアクセスする。そして、アドレスインクリメントモードが選択されているため、制御回路６１はレジスタ５５のアクセスアドレスをインクリメント（＋１）する。
【００５７】
８．制御回路６１は、フラッシュＲＯＭ１２へ書き込み動作するためのアクセスデータを読み出し、既にインクリメントしたアクセスアドレスと共に、フリップフロップ６３、インターフェイス２４を介してフラッシュＲＯＭ１２へアクセスする。
【００５８】
９．制御回路６１は、すべてのプログラムデータの書き込みを終了するまで上記のステップ６，７，８を繰り返し実行する。
【００５９】
１０．ホストコンピュータ３０からＡＴＡレジスタ２２ａのコマンドレジスタ４２に終了のための所定値（８７ｈ）を持つコマンドコードを書き込む。これにより、アクセスレジスタ２５のウインドウが閉じられると共に、フラッシュＲＯＭ１２の接続がデコーダ２３からＣＰＵ２１に切り替えられる。
【００６０】
このようにして、フラッシュＲＯＭ１２には、ＣＰＵ２１が周辺機器の各回路の制御を
行うためのマイコン制御ソフトウェア（制御回路の動作プログラム）と、ＣＰＵ２１がマイコン制御ソフトウェアの更新を行うためのアップデート用プログラムとの２種類が書き込まれる。従って、ＣＰＵ２１はインターフェイス２４を介してフラッシュＲＯＭ１２に書き込まれたマイコン制御ソフトウェアを読み出し、それに従って各回路の制御を行う。例えば周辺機器がＣＤ−ＲＯＭドライブ装置である場合には、レーザを照射するためのピックアップを光ディスクの所定位置に移動させたり、レーザの反射光を読み取って光ディスクに記録されたデータを読み出したりする。一方、マイコン制御ソフトウェアの更新時には、ＣＰＵ２１はアップデート用プログラムに従って、マイコン制御ソフトウェアのデータ書き換えを行う。
【００６１】
以上詳述したように、本実施形態によれば、以下に示す効果が得られるようになる。
【００６２】
（１）本実施形態では、ホストコンピュータからＡＴＡレジスタ２２ａに対しコマンドコード８０ｈ等の特殊コマンドが送信されることでホストコンピュータから送信されるデータがＡＴＡレジスタ２２ａを介してアクセスレジスタ２５に送信される。そして、アクセスレジスタ２５に送信されたデータがデコーダ２３でデコードされてフラッシュＲＯＭ１２に書き込みを行うための書き込みアドレス及び書き込みデータが生成される。このように、ＡＴＡレジスタ２２ａに対し特殊コマンドが送信されることでＡＴＡレジスタ２２ａに送信されたデータを格納するアクセスレジスタ２５及びそのデータをデコードするデコーダ２３を設けるのみの回路構成で上記書き込みアドレス及び書き込みデータを生成して、フラッシュＲＯＭ１２に対して初期データの書き込みを行うことができる。すなわち、既存のインターフェイスを主体とした若干の回路変更のみが必要であって、マイコン制御ソフトウェアを書き込むためのマスクＲＯＭを設ける必要もなく、コントロールチップ１１の回路面積の増大を抑制することができる。また、フラッシュＲＯＭ１２単体の状態で予め初期データを書き込んでおいてこれを実装するなどの作業も不要であることから、製造コストの増大も抑制できる。
【００６３】
（２）本実施形態では、ＡＴＡの規格上の規格上の空き領域に設定されたデータ処理（コマンド）を利用してフラッシュＲＯＭ１２へのデータ（マイコン制御ソフトウェア）の書き込みを行うことができる。従って、マイコン制御ソフトウェアの書き込みのための回路設計の負荷も軽減できる。特に、ホストコンピュータ３０とコントロールチップ１１とは、上記初期データの書き込み時においても既存の規格に従って接続することができ、専用のインターフェイスを開発する負荷を軽減することができる。
【００６４】
（３）本実施形態では、ＡＴＡレジスタ２２ａに対し特殊コマンドが送信されることで、アクセスレジスタ２５によりデコーダ２３を介してＣＰＵ２１がスリープさせられる。このため、フラッシュＲＯＭ１２へのマイコン制御ソフトウェアの書き込み処理が、ＣＰＵ２１の動作によって邪魔されることを回避できる。
【００６５】
（４）本実施形態では、フラッシュＲＯＭ１２に予めデータを記録しておく必要がないため、例えばコントロールチップ１１に一体的に集積することも可能であり、この場合には周辺機器全体としての回路面積を低減することができる。
【００６６】
（５）本実施形態では、ＡＴＡレジスタ２２ａに接続されるアクセスレジスタ２５を、ＡＴＡＰＩレジスタ２２ｂのように規格に制約を受けない専用のレジスタとして設けた。従って、ＡＴＡレジスタ２２ａのデータバスを最大限利用して、アクセスレジスタ２５によりフラッシュＲＯＭ１２に初期データの書き込みを行うことができる。従って、アクセスレジスタ２５によるマイコン制御ソフトウェアの書き込みにおいて、例えば設定可能な機能（コマンド）を拡張するなどの自由度を増加することができる。
【００６７】
例えばアクセスレジスタ２５にはフラッシュＲＯＭ１２へのデータの書き込みの都度に
必要となる数バイトの書き込み用コマンド（書き込み用コマンドのための書き込みアドレス及び書き込みデータ）、書き込み用コマンドのサイクル時間及び書き込みアドレスの初期値を予め書き込んでおく。そして、フラッシュＲＯＭ１２への書き込みデータのみをホストコンピュータ３０からＡＴＡレジスタ２２ａを介してアクセスレジスタ２５へ送信するだけでデコーダ２３が上述のデータの書き込みの都度必要となる書き込み用コマンド、書き込みのためのインクリメントされたアドレス及び書き込みデータを生成してフラッシュＲＯＭ１２へ書き込みを行う。
【００６８】
これにより、ホストコンピュータ３０からＡＴＡレジスタ２２ａを介してアクセスレジスタ２５へは、書き込みの都度必要となる書き込み用コマンド及びアドレスを毎回送る必要がなくなるのでフラッシュＲＯＭ１２へ高速に初期データを書き込むことができる。
【００６９】
このとき、フラッシュＲＯＭ１２への１アドレスあたりのデータの書き込み時間の管理は、ホストコンピュータ３０が書き込みが十分行なわれる時間だけ待って次の書き込みデータを送るようにする。あるいはデコーダ２３がフラッシュＲＯＭ１２の書き込み終了をトグルビットやポーリングで検知し、それをＡＴＡレジスタ２２aを介してホストコンピュータ３０に知らせ、この知らせを受けてホストコンピュータ３０が次の書き込みデータを送るようにする。また、ＡＴＡ規格である信号ＩＯＲＤＹ（図示していない）を利用することにより、ホストコンピュータ３０からＡＴＡレジスタ２２ａへ次の書き込みデータを送る際の不要な待ち時間を削減することで、フラッシュＲＯＭ１２への書き込みが高速になされる。
【００７０】
なお、本発明の実施の形態は上記実施形態に限定されるものではなく、次のように変更してもよい。
【００７１】
・前記実施形態において、フラッシュＲＯＭ１２は、コントロールチップ１１に一体的に集積しておいてもよい。この場合、周辺機器全体としての回路面積を低減することができる。
【００７２】
・前記実施形態においては、メモリとしてフラッシュＲＯＭを採用したが、データの書き込みが可能であればその他のＰＲＯＭ（Programmable ROM）を採用してもよい。
【００７３】
・前記実施形態においては、レジスタとしてＡＴＡレジスタ２２ａを採用したが、その他の規格に従ったレジスタを採用してもよい。この場合においても、規格に対応して同様のデータ処理が可能となる特殊コマンドを設定すればよい。
【００７４】
・前記実施形態において、周辺機器はＣＤ−ＲＯＭドライブ装置に限らず、コンピュータと接続してデータのやりとりが可能であればどのような機器であってもよい。例えばＭＤやＤＶＤ−ＲＡＭ等の光ディスクドライブ装置や、ＭＯのような光磁気ディスクドライブ装置、ハードディスクのような磁気ディスクドライブ装置などであってもよい。更に、このような情報記録装置に限らず、例えばプリンタのような出力装置やスキャナのような読み取り装置、モデムやＬＡＮのような通信装置などであってもよい。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態を示す要部ブロック図。
【図２】一実施形態の詳細な要部ブロック図。
【図３】フラッシュメモリのコマンドを示す説明図。
【図４】フラッシュメモリのイレーズ動作のタイミング図。
【図５】フラッシュメモリのプログラム動作のタイミング図。
【符号の説明】
【００７６】
１１  コントロールチップ
１２  メモリとしてのフラッシュＲＯＭ
２１  制御回路としてのＣＰＵ
２２ａ  第１レジスタとしてのＡＴＡレジスタ
２２ｂ  第２レジスタとしてのＡＴＡＰＩレジスタ
２３  デコーダ
２５  第３レジスタとしてのフラッシュＲＯＭアクセスレジスタ
３０  ホストコンピュータ
【図１】
2005038382.tif 000003
【図２】
2005038382.tif 000004
【図３】
2005038382.tif 000005
【図４】
2005038382.tif 000006
【図５】
2005038382.tif 000007