JP4575112B2 - ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム - Google Patents

ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム Download PDF

Info

Publication number
JP4575112B2
JP4575112B2 JP2004314286A JP2004314286A JP4575112B2 JP 4575112 B2 JP4575112 B2 JP 4575112B2 JP 2004314286 A JP2004314286 A JP 2004314286A JP 2004314286 A JP2004314286 A JP 2004314286A JP 4575112 B2 JP4575112 B2 JP 4575112B2
Authority
JP
Japan
Prior art keywords
rewriting
host system
firmware
rewrite
drive device
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.)
Active
Application number
JP2004314286A
Other languages
English (en)
Other versions
JP2006127140A (ja
Inventor
隆雄 青木
保政 中野
浩史 栗原
一夫 一寸木
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004314286A priority Critical patent/JP4575112B2/ja
Publication of JP2006127140A publication Critical patent/JP2006127140A/ja
Application granted granted Critical
Publication of JP4575112B2 publication Critical patent/JP4575112B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、例えば磁気ディスク装置などのディスクドライブ装置に搭載されるファームウェアの書換方法、ディスクドライブ装置、及びこのディスクドライブ装置を備えて構成される情報処理システムに関する。
一般に、磁気ディスク装置は、その装置内部の制御がファームウェア(以下「FW」と称する)によって行われており、仕様変更や性能向上のためにFWに改良を加えることがある。このFWがフラッシュROMなどの書き換え可能な記憶素子に格納される構成の磁気ディスク装置であれば、FWの書き換えのためのコマンドを設け、それを実行することでFWを新しいものに書き換えることが可能である。したがって、磁気ディスク装置を内蔵した情報処理装置などでは、FWの書き換えのためのコマンドを実行することで、磁気ディスク装置を取り外すことなくFWの書き換えを行うことができる。
ここで、ホストシステムの稼動中、すなわちOS(Operating System)の制御下では、一般に、FWの書換コマンドなどの特殊コマンドの実行が難しい、コマンド実行のタイムアウトが短くこの時間内にFWの書き換えを完了させることが難しい、さらには複数のタスクが並行して実行される環境下ではFWの書換処理を行うことが難しい、などといった様々な制約がある。
そこで、従来では、これらの制約を回避するためにFWの書換プログラムを記憶させたフロッピー(登録商標)ディスクを用いてホストシステムを起動させることで、ホストシステムが持つOSを起動させることなくFWの書き換えのためのコマンドを実行させる方法などが適用されていた。しかしながら、最近では、フロッピー(登録商標)ディスクを搭載していない情報処理装置などが増えてきていることもあり、OSを起動させずにFWの書き換えのためのコマンドを実行させることが困難なケースが多くなっている。
したがって、OSの制御下で、FWの書き換えのためのオペレーションを行えるようにすることへの要請が高まり、そこで、ホストシステムの通常処理中に(OSの制御下で)、更新すべきFWデータを受け取って磁気ディスクに書き込んでおき、次回の電源投入時に磁気ディスク装置の起動シーケンスの一環としてFWの書換処理を行う方法が提案されている(例えば、特許文献1参照)。
特開2004−62663号公報
しかしながら、上記文献の手法では、システム起動時のシーケンスにおいて、磁気ディスク装置本体が立ち上がる過程、つまり、磁気ディスク装置がシステム側に認識される前のビジー状態でFWの書き換えを実行するようにしているので、システムに電源が投入されてから磁気ディスク装置がレディ状態(ビジー状態が解除されてスタンバイ状態)になるまでに多くの時間を要することになる。このため、特に、BIOSによる上記磁気ディスク装置認識時などに、タイムアウトエラーが起こりシステムが正常に起動しない可能性などが懸念される。
そこで本発明は、上記課題を解決するためになされたもので、BIOS変更などの特殊な操作を必要とすることなく、ファームウェアの書き換えを安全且つ確実に行うことができるファームウェアの書換方法、ディスクドライブ装置、及び情報処理システムの提供を目的とする。
上記目的を達成するために、本発明に係るファームウェアの書換方法は、ディスク媒体へのアクセスが可能なディスクドライブ装置とホストシステムとの間でのコマンドのやり取りを通じて、該ディスクドライブ装置が備える不揮発性メモリ内のファームウェアを書き換えるファームウェアの書換方法であって、書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備ステップと、前記書換準備ステップの実行後の前記ホストシステムへの電源投入時に前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から受信した場合、該ディスクドライブ装置が該ドライブ情報を返信するドライブ情報返信ステップと、前記ドライブ情報返信ステップの実行後、前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが受信された場合、前記ディスクドライブ装置が、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新するステップと、を有することを特徴とする。
すなわち、この発明によれば、システム起動時のシーケンスにおいて、例えば、ディスクドライブ装置本体が立ち上がる過程で、ファームウェアの書き換えが実行されるのではなく、ディスクドライブ装置がシステム側に認識された後(BIOSから制御を移行された後)、書換実行プログラムが単独でファームウェアの書換処理を実行するので、BIOS変更などの特殊な操作を伴わずに、ファームウェアの書換処理を安全且つ確実に行うことができる。
また、本発明のファームウェアの書換方法は、前記ディスク媒体上に設けられたブートプログラム格納領域内のブートプログラムの返信要求を、前記ホストシステム側から前記ディスクドライブ装置が受信した場合、該ブートプログラム格納領域とは異なるプログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するステップをさらに有することを特徴とする。
さらに、本発明のファームウェアの書換方法は、前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から受信された場合、前記ディスクドライブ装置が、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行することを特徴とする。
つまり、これらの発明では、ディスク媒体の物理容量の異なる複数の種類のディスクドライブ装置に対してのファームウェアの書換処理を考慮した場合、例えばプログラム置換領域などのアドレスが変わってしまうような状況が発生するが、このような状況にも容易に対応することが可能となる。また、これらの発明では、ディスク媒体上におけるブロックの非存在領域に属するアドレスへの特定のコマンド(リード/ライトコマンド)で、ファームウェアの書換処理のための一連のコマンドを実行させることができるので、ホストシステム側からのコマンドの発行を容易に行うことができる。
また、本発明のファームウェアの書換方法は、前記書換準備ステップが、前記不揮発性メモリに格納されたファームウェアの書き換えを実行させるための書換処理モードで前記ホストシステムを起動させる書換要求フラグを前記不揮発性メモリにセットするステップをさらに有し、前記ホストシステムの起動時に、前記不揮発性メモリ内に記憶された前記書換要求フラグが検出された場合、該ホストシステムの起動過程で該書換要求フラグの解除を行うことを特徴とする。
この発明は、書換処理モードでのシステム起動後にファームウェアの書き換えが行われなかった場合でも、その次のシステムの起動においてファームウェアの書換処理を伴わない通常のモードでシステムを確実に起動させるためのものである。これにより、ホストシステムが全く起動しなくなってしまうという危険性を低減することができる。
さらに、本発明のファームウェアの書換方法は、前記書換処理モードで前記ホストシステムが起動した場合、前記ファームウェアの書換処理に関連する前記特定のコマンドに対して非該当のライトコマンドを無効にすることを特徴とする。
この発明によれば、ファームウェアの書換処理と関係のない誤った書込処理の発生を防止することができる。
また、本発明のディスクドライブ装置は、ファームウェアが格納された不揮発性メモリを備えホストシステムとの間でのコマンドのやり取りを行う、ディスク媒体へのアクセスが可能なディスクドライブ装置であって、書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備手段と、前記書換準備手段による記憶処理を経て前記ホストシステムへの電源投入時に、前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から受信した場合、該ドライブ情報を返信するドライブ情報返信手段と、前記ドライブ情報返信手段による返信処理を経て前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが受信された場合、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新する手段と、を具備することを特徴とする。
さらに、本発明のディスクドライブ装置は、前記ディスク媒体上に設けられたブートプログラム格納領域と、前記ブートプログラム格納領域とは異なる領域として前記ディスク媒体上に設けられ、前記書換実行プログラムが格納されたプログラム置換領域と、前記ブートプログラム格納領域内の前記ブートプログラムの返信要求を、前記ホストシステム側から受信した場合、前記プログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するブートプログラム置換手段と、をさらに具備することを特徴とすることを特徴とする。
また、本発明のディスクドライブ装置は、前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から受信された場合、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行する手段、をさらに具備することを特徴とする。
さらに、本発明のディスクドライブ装置は、前記書換準備手段が、前記不揮発性メモリに格納されたファームウェアの書き換えを実行させるための書換処理モードで前記ホストシステムを起動させる書換要求フラグを前記不揮発性メモリにセットする手段を備え、前記ホストシステムの起動時に、前記不揮発性メモリ内に記憶された前記書換要求フラグが検出された場合、該ホストシステムの起動過程で該書換要求フラグの解除を行う手段をさらに具備することを特徴とする。
また、本発明のディスクドライブ装置は、前記書換処理モードで前記ホストシステムが起動した場合、前記ファームウェアの書換処理に関連する前記特定のコマンドに対して非該当のライトコマンドを無効にする手段をさらに具備することを特徴とする。
さらに、本発明の情報処理システムは、ファームウェアが格納された不揮発性メモリを備えディスク媒体へのアクセスが可能なディスクドライブ装置と、該ディスクドライブ装置との間でコマンドのやり取りを行うホストシステムとを有する情報処理システムであって、書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備手段と、前記書換準備手段による記憶処理を経て前記ホストシステムへの電源投入時に、前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から該ディスクドライブ装置が受信した場合、該ドライブ情報を返信するドライブ情報返信手段と、前記ドライブ情報返信手段による返信処理を経て前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが前記ディスクドライブ装置により受信された場合、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新する手段と、を具備することを特徴とする。
また、本発明の情報処理システムは、前記ディスク媒体上に設けられたブートプログラム格納領域と、前記ブートプログラム格納領域とは異なる領域として前記ディスク媒体上に設けられ、前記書換実行プログラムが格納されたプログラム置換領域と、前記ブートプログラム格納領域内の前記ブートプログラムの返信要求を、前記ホストシステム側から前記ディスクドライブ装置が受信した場合、前記プログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するブートプログラム置換手段と、をさらに具備することを特徴とする。
さらに、本発明の情報処理システムは、前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から前記ディスクドライブ装置により受信された場合、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行する手段、をさらに具備することを特徴とする。
このように本発明によれば、BIOS変更などの特殊な操作を必要とすることなく、ファームウェアの書き換えを安全且つ確実に行うことが可能なファームウェアの書換方法、ディスクドライブ装置、及び情報処理システムを提供することができる。
以下、本発明を実施するための最良の形態を図面に基づき説明する。
図1は、本発明の一実施形態に係る磁気ディスク装置を含む情報処理システムを機能的に示すブロック図である。
同図に示すように、本実施形態の情報処理システム18は、CPU、メインメモリ、及びBIOSなどを有するホストシステム17と、このホストシステム17にホストインタフェース19を通じて接続された磁気ディスク装置(HDD)20とを、少なくとも備える例えばPC(Personal Computer)などよって実現されている。
ディスクドライブ装置としての磁気ディスク装置20は、図1に示すように、CPU1、磁気ディスク9、磁気ヘッド13、ボイスコイルモータ(以下「VCM」と称する)7、スピンドルモータ(以下「SPM」と称する)8、モータドライバ6、フラッシュROM15、ヘッドIC16、及びリード・ライトIC5などを主に備える。
CPU1は、この磁気ディスク装置全体の制御及びモータドライバ6の制御を時分割で行う。不揮発性メモリであるフラッシュROM15には、当該磁気ディスク装置本体を制御するためのFW(ファームウェア)が記憶されている。CPU1が接続されるCPUバス12には、電源投入時にCPU1がファームウェアをフラッシュROM15からCPU−RAM10へコピーする(イニシャルロード)プログラムが記憶されているマスクROM11、装置本体の制御を行うためのプログラム及び変数等を格納するための上記CPU−RAM10、ハードディスクコントローラ(以下「HDC」と称する)3、並びに制御に必要な諸信号の生成を行うゲートアレイ2が接続されている。
HDC3及びゲートアレイ2の制御用レジスタは、それぞれCPU1のメモリ空間の一部に割り当てられており、CPU1がこの領域に対して読み出し及び書き込みを行うことで、HDC3及びゲートアレイ2の制御を行う。
また、リード・ライトIC5の内部構成は、主として磁気ヘッド13の位置決め処理に必要な信号処理を行うサーボブロックと、データの読み出し・書き込みのための信号処理を行うリード・ライトブロックとに大別される。
モータドライバ6は、CPU1からの制御により磁気ディスク9を定常回転させるためのSPM8の駆動電流、及び磁気ヘッド13を目的の位置に移動させるためのVCM7の駆動電流を、当該SPM8並びにVCM7にそれぞれ供給する。
ディスク媒体としての磁気ディスク9には、磁気ヘッド13の位置決めのためのサーボデータ信号が記録されている領域(サーボ領域)と、ホストシステム17から転送されるデータを記録するための領域(データ領域)とが、交互にかつ等間隔に配置されている。さらに、磁気ディスク9上には、その回転軸を中心とした同心円状にデータトラック(以下、単に「トラック」と称する)が配置されている。トラック上に磁気ヘッド13を追従させるための位置決めは、上記のサーボデータ信号から得られる情報を基に行われる。
具体的には、磁気ヘッド13の位置決め実施時に磁気ヘッド13から読み出され且つヘッドIC16で増幅されたアナログ信号は、リード・ライトIC5に送られ、このリード・ライトIC5のサーボブロックによりサーボデータとして抽出される。サーボデータは、さらにゲートアレイ2によって処理され、CPU1は、このデータを基にモータドライバ6を制御して、磁気ヘッド13の位置決めのための電流をVCM7に供給する。
HDC3は、CPUバス12以外にゲートアレイ2、バッファRAM4、リード・ライトIC5に接続されている。また、HDC3は、機能ごとにホストシステム17とのインタフェース制御を行うホストブロックと、バッファRAMの制御を行うバッファブロックと、リード・ライトIC5及びゲートアレイ2と接続され、読み出し・書き込み処理を行うリード・ライトブロックなどとに分かれる。
データの読み出し時において、磁気ディスク9に記憶されているデータは、磁気ヘッド13によって読み出されて、さらにヘッドIC16によって増幅され、この増幅されたアナログ信号は、リード・ライトIC5によって復号化される。HDC3は、これをゲートアレイ2からの制御用の各信号にしたがって処理することで、ホストシステム17に転送すべきデータを生成する。生成されたこのデータは、一旦バッファRAM4に格納されてからホストシステム17に転送される。
データの書き込み時において、ホストシステム17からHDC3に転送されたデータは、一旦バッファRAM4に格納された後、ゲートアレイ2からの制御用の各信号にしたがってHDC3からリード・ライトIC5へ送られる。リード・ライトIC5によって符号化された書き込みデータは、ヘッドIC16を経由して磁気ヘッド13によって磁気ディスク9に書き込まれる。
次に、本実施形態の情報処理システム18が有する磁気ディスク装置20のFWの書換機能を実現するための構成を図2ないし図4に基づきその説明を行う。
ここで、図2は、フラッシュROM15の内部構成を示すメモリマップ、図3は、このメモリマップを構成するイニシャル・プログラム・ローダ(以下「IPL」と称する)置換要求フラグの内容を示す図である。また、図4は、磁気ディスク装置20が搭載する磁気ディスク9の記憶領域を示す図である。
まず、フラッシュROM15内のメモリマップについて説明する。
すなわち、このメモリマップは、図2に示すように、最適化パラメータ・設定データ21、書換要求フラグであるIPL置換要求フラグ22、及びFWコード23とで構成される。FWコード23は、磁気ディスク装置20全体の制御を行うための、CPU1で実行可能なプログラムであって、磁気ディスク装置20の電源投入直後に、マスクROM11内のイニシャルロードプログラムによって読み出され、CPU−RAM10にコピーされた後に実行される。
IPL置換要求フラグ22は、磁気ディスク装置20の起動直後に1度だけ参照されるフラグである。そのフラグの値によって、IPL領域41へのリード及びライト要求をホストシステム17から受けた場合の動作が決定される。詳細については後述するが、IPL置換モード(磁気ディスク9上のIPL領域41へのリード及びライト時に、そのアクセス対象範囲をFW書換プログラム領域43に置換する書換処理モード)と、通常モード(IPL領域41へのリード及びライト時に、要求どおりIPL領域41へのアクセスを行うモード)との2つのモードが存在し、以後は磁気ディスク20が再度起動されるまでモードの変更は行われない。
また、IPL置換要求フラグ22は、その使用形態から「真」「偽」を表せればよいので最低限必要なデータ長は1ビットであるが、ビットを落とす方向での値の変更しかできないというフラッシュROMの特性を考慮し、複数回の値の再設定が行えるようにする目的で実際には数十バイト程度の領域を確保している。具体的には、図3に示すように、K番目の内容がそれぞれフラグKa、フラグKbと表される値の組が複数組(この場合はN組)存在する構成である。フラグKa及びフラグKbは、それぞれ1バイトのデータであって、常に同じ値が設定され、また、次の意味を持つ何れかの値が書き込まれている。
FFH:未使用
55H:IPL置換要求あり
00H:使用済み
ここで、値の設定時には、先頭(フラグ1a及びフラグ1b)からN番目(フラグNaおよびフラグNb)まで順に値を検査し、FFHが初めて現れる位置を検索し、その位置のデータを書き換える。例えば、S番目のデータが該当位置である場合には、フラグSaとフラグSbとに設定値(55Hなど)を書き込み、フラグ1a〜フラグ(S−1)a、およびフラグ1b〜フラグ(S−1)bに対しては00Hを書き込む。
値の読み出し時には、先頭(フラグ1a及びフラグ1b)からN番目(フラグNa及びフラグNb)まで順に値を検査し、00H以外の値が初めて現れる位置を検索し、そのデータを読み出し値とする。また、読み出しデータが正しいことを確認するために、IPL置換要求フラグ22内の全バイト(フラグ1a〜フラグNbまで)の排他的論理和をとり、0になることを確認する。値が正しく設定されていれば、各組とも互いに同じ値を保持しており、組ごとの排他的論理和が0になるからである。また、00H/55H/FFH以外の値が現れた場合もデータが正しくないと判定する。データが正しくないと判定された場合、安全のため通常モードで動作させる。また、F番目に不正な値が検出された場合、フラグ1aからフラグFbまでを0に設定し、次回以降値の設定が行えるようにする。
最適化パラメータ・最適化データ21は、磁気ディスク20のリード・ライト用の個別調整値や製造番号などの出荷設定内容が記録されており、装置出荷後には、通常、書き換えを行わない領域である。したがって、FWの書き換え前後でその値が保持される。これに対し、FWコード23及びIPL置換要求フラグ22は、FWの書き換えに伴い更新される。これらの領域の情報は、ファームウェアの書き換え手順中で消去(全てのビットを1とする)される。磁気ディスク9上のFWコード領域44には(図4参照)、その後、新しいファームウェア(書換用のファームウェア)が書き込まれる。IPL置換要求フラグ22は、消去されたままとしておき、このことにより、以前の使用状況によらず再度先頭(フラグ1a/フラグ1b)から使用することが可能となる。
次に、磁気ディスク装置20が備える磁気ディスク9の記憶領域について説明する。
すなわち、図4は、磁気ディスク9上のLBA(Logical Block Addressing)のアドレス空間を含む全アドレス領域を示すものである。同図4に示すように、ユーザ領域31は、ライト、リードなどの通常のコマンドでアクセス可能な領域であり、この長さ(範囲)が、ユーザに開放されているHDD本体の記憶容量のスペックとなる、いわゆる装置容量(ユーザ容量)である。また、ユーザ領域31は、さらに、ブートプログラム格納領域であるIPL領域41と通常領域42とに区別される。IPL領域41は、ホストシステム17がシステムの起動時にブートアップのためにIPLを読み出すための固定的な位置に配置される必要がある。このため、IPL領域41は、ホストシステム17に合わせて配置されている(本実施形態ではユーザ領域31の先頭である)。また、IPL領域41には、システムの起動時にOSを立ち上げるための情報なども記憶されている。一方、通常領域42には、OS本体、各種アプリケーションプログラム、及びそのアプリケーションプログラムなどで扱われる種々のファイルなどが記憶されている。
なお、通常の使用形態(上記通常モードでのシステム起動時)では、IPL領域41と通常領域42との差異はないが、磁気ディスク装置20が上記IPL置換モードで起動した場合には、IPL領域41内の各ブロックにアクセス(ライト、リードなど)を行うと、その対象アドレスがFW書換プログラム領域43内の対応するブロックに置換される。つまり、IPL置換モードで起動された場合には、ホストシステム17がIPLを読み出そうとすると、本来のIPLに代わって、プログラム置換領域としてのFW書換プログラム領域43に書き込まれている書換実行プログラム(FW書換プログラム)が読み出されることになる。
FWデータ領域32は、磁気ディスク装置の個体情報、各種パラメータ、スマート情報などを含む製造情報など記録する、例えばベンダー側が内部的に使用するシステム領域内に確保されている。つまり、FWデータ領域32は、ユーザ領域31とは異なる位置に配置され、通常のリード・ライトではアクセス不可能な領域である。また、FWデータ領域32は、さらにFW書換プログラム領域43とFWコード領域44とに区別される。FW書換プログラム領域43は、前述のFW書換プログラムを格納するための領域であり、FWコード領域44は、FW書換プログラムによってフラッシュROM15に書き込まれる新しいFWコード23を格納するための領域である。
FWデータ領域32へのアクセスは、前述したIPL置換モード時のIPL領域41へのアクセスの他に、範囲A33内の各アドレスへのアクセスによって行うことができる。範囲A33は、対応する物理的なブロックが存在しないアドレスに配置され、その長さ(容量)は、FWデータ領域32の長さと等しく、範囲A33内の各アドレスに対するアクセスが発生した場合には、アドレスがFWデータ領域32内の対応する値に置換された上でアクセスが行われる。つまり、ホストシステム17は、FWデータ領域32へのアクセスを行うために範囲A33を指定する。
ここで、FWデータ領域32へのアクセスは、同領域内のアドレスをそのまま指定することでアクセスを可能にする方法も考えられるが、装置容量が変わるとFWデータ領域32の位置も変わり、複数機種で同一の仕様とならず、運用面で煩雑になるという課題がある。これを回避するために、本実施形態では、範囲A33などのアドレスを装置容量に対して十分大きい値としている。
詳細には、セクタが実際に存在するユーザ領域31及びFWデータ領域32に対し、アドレスB34、アドレスC35は、図4に示すように、範囲A33と同様に、磁気ディスク9上の全記憶領域のうち、対応する物理的なブロックが存在しないアドレス領域(所定の記憶単位で区画されたブロックの非存在領域)、つまりセクタが割り当てられていないアドレス空間(磁気ディスク上の物理容量を超える領域[非物理領域])に配置され、領域長は1ブロック分である。これらは、ホストシステム17からFWの書き換えに必要な特定のコマンドを実行するために設けられており、本実施形態では、アドレスB34に対するライトコマンドを受信すると、磁気ディスク20は、ライトコマンドではなく、FWデータのチェックを行うとともに、フラッシュROM15内にIPL置換要求フラグ22をセットする。また、アドレスC35へのライトコマンドを受信すると、磁気ディスク20は、磁気ディスク9上のFWコード領域から44から更新すべきFWコードを読み出すとともに、読み出したFWコード23を実際にフラッシュROM15に書き込む処理を行う。これらの場合、ライトコマンドを利用するので実際にデータ転送が行われるが、その内容には意味がないので磁気ディスク20が受信したデータは捨てられる。
このように物理的なブロックが存在しないアドレスに対するライトコマンドで、FWの書き換えの一連のコマンドを実行するのはホストシステム17からのコマンド発行を容易にすることを目的としている。本実施形態では、FWの書き換え自体は通常のOS(オペレーティングシステム)の制御下では行わないが、FWデータを磁気ディスク装置20に転送するなどのFWの書換準備処理は、OSの制御下で行うことになる。この際、これらの処理を行うためのコマンドは、一般にベンダユニークコマンドとなり、OSの制御下でこれらを発行するのが難しいケースが存在する。そこで、コマンドコードに一般的なリードやライトのものを利用することで、OSの仕組みに基づくコマンドの実行を容易に実現させることが可能となる。
次に、本実施形態の情報処理システム18によって行われる磁気ディスク装置20のFWの書換処理を図5ないし図7に基づきその説明を行う。ここで、図5は、 磁気ディスク装置20本体のFWの書換処理を示すフローチャート、図6は、ホストシステムと磁気ディスク装置との間でコマンドを送受して行われるFWの書換準備処理を示すフローチャート、図7は、ホストシステムと磁気ディスク装置との間でコマンドを送受して行われるFWの書換実行時の処理を示すフローチャートである。
まず、磁気ディスク装置20自身が行う処理について説明する。
図5に示すように、磁気ディスク装置20の電源が投入されると(ステップ1[S1])、初期化処理が行われる(S2)。この初期化処理は、マスクROM11がフラッシュROM15の内容(FWコード23、IPL置換要求フラグ22、最適化パラメタ・設定データ21)を読み出して、CPU−RAM10に格納し、そこに格納されたFWコード23に制御を移す処理が含まれ、以後、FWコード23のプログラム内容に応じた処理が行われる。
すなわち、CPU−RAM10にコピーされたIPL置換要求フラグ22がチェックされ(S3)、このフラグがセットされていれば(S3のYES)、装置本体がIPL置換モードとされ、IPL置換要求フラグがクリアされる(S4)。この場合、上で述べたように、今後、磁気ディスク9上のIPL領域41内のブロックに対するアクセスが生じた場合(図4参照)、その対象がFW書換プログラム領域43内の対応するブロックに置換される。一方、IPL置換要求フラグがセットされていなければ(S3のNO)、装置本体が通常モードとされる(S5)。
ここで、上記S4(ステップ4)では、フラッシュROM15内のIPL置換要求フラグ22のクリアも行うが、これはIPL置換モードで起動後にFWの書き換えを行わなかった場合に、その次の起動で確実に通常モードで起動させるためである。これにより、システムが通常モードで起動できなくなることが防止される。FWの書き換えが行われれば、前述のとおり、IPL置換要求フラグ22がクリアされるので、その次の起動では通常の動作となる。
起動時の処理が完了すると、ホストシステム17からのコマンドを受信するためのアイドル処理に移る(S6)。アイドル処理では、ホストシステム17から一定時間以上コマンドが来なかった場合に、省電力のための処理(磁気ヘッド13のアンロードやSPM8の停止)や、磁気ディスク装置20の自己診断などを行うが、ホストシステム17からのコマンドを検出すると、直ちにそれらの処理を中断し、アイドル処理を抜けてコマンドを実行するための処理に移る。
ホストシステム17側からコマンドを受信した場合、そのコマンドがライトコマンドであるか否かを調べ(S7)、ライトコマンドであれば(S7のYES)、FW書換プログラム領域43へのライトを行うか否かを判定する(S8)。前述したように、このFW書換プログラム領域43にライトを行うのは、IPL置換モードでのIPL領域41のライト(アドレスの置換によってFW書換プログラム領域43へのライト)と、範囲Aへのライト(アドレスの置換によりFW書換プログラム領域43を含むFWデータ領域32へのライト)との2つの場合である。
ここで、上記S8で判定しているのは、前者の条件であるIPL領域41へのライトコマンドであるか否かであり、これが成立していれば、FW書換プログラム領域43内の該当アドレスへの書き込み処理を行い(S9)、これが完了したら次のコマンドを待つために上記アイドル処理(S6)に移る。
なお、FW書換プログラム領域43への書き込みは、本実施形態では後者の条件で行うため、前者の条件成立時の書き込みは本来不要である。したがって、上記S9の処理を行う代わりにホストシステム17に対してエラーを報告するようにしてもよいし、IPL置換モードでは、安全のために全てのアドレスに対するライトコマンド(実際の書き込み処理)を禁止(無効に)するという構成を採ってもよい。
また、上記S8の条件が成立していなければ、通常のライトを行うか否かの判定が行われる(S10)が、この時点では、対象アドレスが通常領域42内のものであることがその条件となるので、これが成立していれば(S10のYES)、通常のライト処理を行って(S11)、アイドル処理(S6)に戻り、非成立ならば(S10のNO)、S12、S13、S14で、順次、FW書き換え関連の各コマンドであるか否かを判定し、該当すれば次に述べる処理に対応するものを実行した後、アイドル処理(S6)に移る。いずれにも該当しなければ、ホストシステム17にエラーを報告し(S15)、アイドル処理(S6)に移行する。
前記S12において、対象アドレスが範囲A33内の値であれば(S12のYES)、アドレス置換により、FWデータ領域32へのライト処理となる(S16)。これは、上記のFW書換プログラム領域43へライトを行う場合の後者の条件である。
また、S13において、対象アドレスがアドレスB34に一致していれば(S13のYES)、磁気ディスク9上のFWデータ領域32の内容を読み出してこれが正しいFWデータ(FW書換プログラム及びFWコード)であるかのチェックを行い、正しい場合にのみ、次回の起動時にFWの書き換えを行うためにフラッシュROM15内のIPL置換要求フラグ22をセットする(S17)。
さらに、S14において、対象アドレスがアドレスC35に一致していれば(S14のYES)、磁気ディスク9上のFWデータ領域32の内容を読み出してこれが正しいFWデータ(FW書換プログラムおよびFWコード)であるかのチェックを行い、正しい場合にのみFWコード23をフラッシュROM15に実際に書き込み(S18)、新しいFWで磁気ディスク装置20を再起動させる。このコマンドは、通常、IPL置換モードで起動したときに、FW書換プログラム領域43から読み出されたFW書換プログラムにより実行されるが、それ以外の場合にも実行は可能である。
一方、上記したS7のコマンド判定において、受信したコマンドがライトコマンドでなかった場合には(S7のNO)、リードコマンドであるか否かの判定が行われる(S19)。リードコマンドに該当すれば(S19のYES)、モードがIPL置換モードであって、なおかつ対象アドレスがIPL領域41内の値であるか否かが判定される(S20)。この条件が成立すると(S20のYES)、IPL領域41内に存在するホストシステム17のOSを起動するための本来のIPLに代わり、FW書換プログラム領域43内に存在するFW書換プログラムを読み出すための処理が行われ(S21)、さらにアイドル処理(S6)に移行する。FW書換プログラム領域43が読み出されるのは、通常、ホストシステム17の起動時であり、この場合には通常のOSに代わりFW書換プログラムによってホストシステム17が起動することになる。
また、上記S20において、その条件が成立しなければ(S20のNO)、通常のリードコマンドであるので、対象アドレスのチェックを行い(S22)、アドレスがユーザ領域31内の値であれば(S22のYES)、正しい値と判定し、通常の読み出し処理を行って(S23)、アイドル処理(S6)に移行する。アドレスが、ユーザ領域31内のものでなければ(S22のNO)、コマンドエラーをホストシステム17に報告し(S24)、アイドル処理(S6)に移行する。なお、本実施形態では、上記したようにS22において、アドレスがユーザ領域31内の値でないと判定されたら、無条件にコマンドエラーとしているが、ライトコマンド処理の場合と同様に、対象アドレスが範囲A33内のものであれば、それに対応するFWデータ領域32内のブロックのリードを行うようにしてもよい。
また、S19において、ホストシステム17から受信したコマンドがリードコマンドでないと判定された場合には(S19のNO)、受信したコマンドに応じた処理を行った後(S25)、アイドル処理(S6)に移行する。
さらに、本実施形態では、上述したように、OSの制御下でのコマンド実行を容易にするために、FWの書き換えに使用する各コマンドをライトコマンドに割り当てたが、これをライト以外の各コマンド(リードを含む)に割り当てたり、また、ベンダユニークのコマンドとして実装することも可能である。この場合、割り当てられたコマンドがリード以外であれば、そのための処理は上記S25に含まれることになり、また、コマンドがリードコマンドであれば、S22の後にさらに条件判断を追加されることになる。
次に、ホストシステム17と磁気ディスク装置20との間でコマンドを送受して行われるFWの書換準備処理について説明を行う。
図6に示すように、ホストシステム17及び磁気ディスク装置20の電源が投入されると(S31、S61)、磁気ディスク装置20は、まず、IPL置換要求があるかのチェックを行い(上記図5のS3、S4、S5参照)、この時点では、まだFWデータを受け取っていない状態なので通常モードに設定される(S62)。
一方、ホストシステム17は、電源投入直後、BIOSによるシステム起動処理が行われ、その1つとして磁気ディスク装置20の認識処理を行う(S32)。磁気ディスク装置20がレディ状態となり、コマンドを受け付けられるようになると、ホストシステム17は、ドライブ情報取得コマンドを磁気ディスク装置20に対して発行し(S41)、それを受けて磁気ディスク装置20は、ホストシステム17への返信データを作成し(S63)、それをドライブ情報としてホストシステム17に転送する(S42)。
次に、ホストシステム17は、システムのブートアップのため、IPL領域41へのリードコマンドを発行して(S43)、磁気ディスク装置20の特定のアドレス(IPL領域41)を読み出し要求を行う(S33)。磁気ディスク装置20は、通常モードで起動しているので、このコマンドに対し指定されたアドレスをそのまま読み出し(S64)、読み出したデータ、すなわち、通常のIPLデータをホストシステム17に転送する(S44)。
IPLデータを受け取ったホストシステム17は、それをプログラム実行可能なメモリに転送して実行することでOSの起動を行う(S34)。この間には、OS本体の読み出し、OS起動処理に伴う読み出し及び書き込みなど、多数のコマンドが磁気ディスク装置20に対して発行される(S45)。磁気ディスク装置20は、それらのコマンドを実行し(S65)、その要求に応じたデータをホストシステム17に返す(S46)。
OSの起動が完了し、ホストシステム17において、通常のオペレーションが実行され(S35)、磁気ディスク装置20がそれに伴って発行されるコマンドを実行する(S65)、という一般の処理が行われる。この後、OS上で動作するアプリケーションプログラムとして予め用意されているFW書換準備プログラムがユーザからの入力操作を伴って実行される(S36)。ここで、OS上で動作する上記FW書換準備プログラムの実行ファイルを含む当該プログラム本体は、磁気ディスク装置20の磁気ディスク9上の通常領域32に予め記憶されていてもよいし、また、CD−ROMやフロッピー(登録商標)ディスクなどの可搬型の外部記憶装置として提供されるものであってもよいし、さらには、Web上から提供されるものであってもよい。
また、FW書換準備プログラムを実行する目的は、磁気ディスク装置20のFWをOSの実行中に書き換えることではなく、ホストシステム17及び磁気ディスク装置20の次回の電源投入時に磁気ディスク装置17のFWを書き換えるための手順が実行されるように準備を行うことである。これは、OSの制御下では、一般に、コマンド実行のタイムアウトが短い、他のタスク実行に伴うコマンドが非同期で実行される、などといった制約があり、この条件下でFWの書き換えを行うのが難しいからである。
詳細には、フラッシュROMに対するデータの書き換え時には、一般に、デバイスの消去、データの書き込みといった処理が行われ、ある程度の時間を要することから、磁気ディスク装置20のFW書き換え処理においてもコマンド実行のタイムアウトが短いという前者の制約条件を満たせないことがある。また、後者の制約条件に関しては、FWの書き換えが複数回のコマンド発行によって実現する構成において、それらの実行中に他のタスクによるFWの書き換えに無関係なコマンドを受信することによる磁気ディスク装置20の誤動作が生じるおそれがある。
これに対応するために、FW書換準備プログラムでは、短時間で完了する処理のみが行われる。すなわち、S36において、FW書換準備プログラムが実行されると、まず書換用のFWデータが磁気ディスク装置20に転送される(S36a)。書換用のFWデータは、ホストシステム17におけるブートアップが可能なFW書換プログラムとFWコードから構成される。ホストシステム17は、当該書換用のFWデータの転送を、範囲A33へのライトコマンドという形で実行する(S47)。これを受信した磁気ディスク装置20は、書換用のFWデータを構成するFW書換プログラム及びFWコードを、それぞれFW書換プログラム領域43及びFWコード領域44に書き込み(S67)、その結果(成否)をホストシステム17に返す(S48)。
なお、書換用のFWデータの転送、すなわち範囲A33へのライト処理は、単一のコマンドで行う必要はなく、複数回に分けて実行してもよい。また、この場合には、コマンドの実行順序や1コマンドあたりの転送データ量についても最終的に全データが揃えば特に制限はない。
上記S36aの実行後には、完全な書換FWデータが磁気ディスク9上のFWデータ領域32に存在していることになるが、これだけではまだ次回の電源投入時にはFWの書き換えは行われない。FWの書き換えが行われるようにするには、磁気ディスク装置20がIPL置換モードで起動しなければならないので、S36aに続けて書換用のFWデータのチェック処理を行う(S36b)。これはアドレスB34へのライトコマンド(S49)という形で実装されており、これを受信した磁気ディスク装置20は、FWデータ領域のデータを読み出してチェックし、これが正しいデータであれば次の電源投入時にIPL置換モードで起動させるためにフラッシュROM15内にIPL置換要求フラグ22をセットする(S68)。
なお、IPL置換要求フラグ22がフラッシュROM15内に存在すること、及びフラッシュROMの15データ更新には時間がかかることは前述したが、IPL置換要求フラグ22の更新は、フラッシュROM15のビットを落とすことのみで実現していることからデバイスの消去処理を伴わず、書き込みデータ量も少ないことから処理のための時間はOSのタイムアウト時間に比べて十分に短くできる。また、本実施形態では、IPL置換要求フラグ22が、フラッシュROM15内に配置されているが、これを磁気ディスク9に記録する構成としてもよい。
上記S68の処理が完了すると、その実行結果はホストシステム17に報告され(S50)、S36のFW書換準備プログラムによる処理は終了する。この時点では既にIPL置換要求フラグ22は、セットされた状態であるが、これは電源投入直後にのみ参照されるものであることから、磁気ディスク装置20は、通常モードを維持し、以後も通常のオペレーションが可能である。
S36のFW書換準備プログラムによって行われる処理は、OSから見れば複数のタスクのうちの1つであるに過ぎず、この終了後は、ホストシステム17は、通常のオペレーションに戻り(S37)、一方、磁気ディスク装置20は、必要に応じて発行されるホストシステム17からのコマンドを実行する(S69)。そして、OSの終了処理も通常のオペレーションの一環として行われ、この後にホストシステム17、及び磁気ディスク装置20の電源が遮断されることで(S38、S70)、FW書換準備処理は完了となる。
次に、ホストシステム17と磁気ディスク装置20との間でコマンドを送受して行われるFWの書換実行時の処理について説明を行う。
すなわち、図7に示すように、FW書換準備処理の完了後にホストシステム17及び磁気ディスク装置20の電源が投入されると(S71、S91)、磁気ディスク装置20は、まずIPL置換要求があるか否かのチェックを行い(上記図5のS3、S4、S5参照)、IPL置換要求フラグがセットされていることによりIPL置換モードに設定される(S92)。
一方、ホストシステム17では、電源投入直後、FW書換準備処理で述べたのと同様にBIOSによるシステム起動処理が行われているが、その1つとして磁気ディスク装置20の認識処理を行う(S72)。磁気ディスク装置20がレディ状態となり、コマンドを受け付けられるようになると、ホストシステム17は、磁気ディスク装置20の仕様を含むドライブ情報の取得コマンド(ドライブ情報の返信要求)を磁気ディスク装置20に対して発行し(S81)、それを受けた磁気ディスク装置20は、ホストシステム17への返信データを作成し(S93)、それをドライブ情報としてホストシステム17に転送する(S82)。
次に、ホストシステム17は、システムのブートアップのため、S72において、FW書換準備処理の場合と同様に(通常の動作として)IPL領域41へのリードコマンドを発行する(S83)が、磁気ディスク装置20は、IPL置換モードに設定されているので、IPL領域41のデータに代わり、FW書換プログラム領域43のデータを読み出して(S94)、それをホストシステム17に転送する(S84)。
本来のIPLデータに代わりFW書換プログラムを受け取ったホストシステム17は、それを本来のIPLに対して行うのと同様にプログラム実行可能なメモリに転送して、実行する(S74)。これにより、BIOSの設定変更など特殊な操作を伴わずに、FW書換準備の次のシステム起動で自動的にFW書換プログラムが実行される。
FWの書き換えは、前述のとおり、アドレスC35に対するライトコマンドとして実装されているので、磁気ディスク装置20に対してはこのコマンドが発行され(S85)、それを受けて、磁気ディスク装置20は、FWコード領域44の内容を読み出して正しいFWコードであることを確認後、これをフラッシュROM15に書き込み、新しいFWで再起動(マスクROM11内のイニシャルロードプログラムの先頭からの実行)を行う(S95)。
この際、FWの書き換え処理には、ある程度の時間を要することになるが、FWの書き換えコマンドは、OSではなく専用のFW書き換えプログラムにより実行されているので、コマンド実行のタイムアウトが十分長く設定されており、タイムアウトエラーなどが生じるおそれがない。
また、本実施形態では、FW書き換えのための動作(FWコードの読み出しとチェック、フラッシュROMへの書き込み、新しいFWでの再起動)をアドレスC35へのライトコマンドという形で単一のコマンドとして実装しているが、FW書換プログラムの実行時には、磁気ディスク装置20に対して処理を要求する他のタスクは存在しないので、これらを別々のコマンドとして実装し、FW書換プログラムが各動作に対応したコマンドを順次実行していくという構成をとることも可能である。
上記S74の最後の処理として、ホストシステム17は、FW書き換えが正常に完了したか否かを磁気ディスク装置20の実行結果を取得して(S86)、確認し、さらにFWが目的のものに更新されているかをドライブ情報取得コマンドの発行(S87)により確認する(S75)。これを受けた磁気ディスク装置20は、S93での処理と同様にホストシステム17に転送するデータを作成し(S96)、ホストシステム17に転送する(S88)が、この時点では既に新しいFWでの制御が行われているので、ドライブ情報に含まれるFWバージョンは新しいFWのものとなっているはずである。したがって、S75ではこれを確認することで、FWの書換処理が正しく行われたと判断し、以ってFWの書換処理は完了となる。
この後、ホストシステム17及び磁気ディスク装置20の電源が例えば遮断(S76、S97)(又はシステムがリブート)されるが、FWの書き換えに伴いIPL置換要求フラグ22がクリアされているので、次回電源が投入されれば、磁気ディスク装置20は、通常モードで起動し、ホストシステム全体においても通常どおりOSが起動する。
このように構成された本実施形態の情報処理システム18によれば、システム起動時のシーケンスにおいて、例えば、磁気ディスク装置20本体が立ち上がる過程で、ファームウェアの書き換えが実行されるのではなく、磁気ディスク装置20がホストシステム17側に認識された後(BIOSから制御を移行された後)、FW書換プログラムが単独でファームウェアの書換処理を実行するので、BIOS変更などの特殊な操作を伴わずに、ファームウェアの書換処理を安全且つ確実に行うことができる。
以上、本発明を実施の形態により具体的に説明したが、本発明は前記実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態では、ディスクドライブ装置として磁気ディスク装置を適用したが、MOなどの光磁気ディスク装置や、また例えば光ディスク装置などを本発明に適用することも可能である。また、上記磁気ディスク装置20及びホストシステム17を備える情報処理システム18がPCを想定したものであったが、これに代えて、PCよりも大規模なPCサーバや、また例えばカーナビゲーションシステムなど、ホスト装置を有するあらゆる情報処理システムに対して本発明を適用することができる。
本発明の一実施形態に係る磁気ディスク装置を含む情報処理システムを機能的に示すブロック図。 図1の磁気ディスク装置が備えるフラッシュROMの内部構成を示すメモリマップ。 図2のメモリマップを構成するIPL置換要求フラグの内容を示す図。 図1の磁気ディスク装置が搭載する磁気ディスクの記憶領域を示す図。 図1の磁気ディスク装置本体のファームウェアの書換処理を示すフローチャート。 図1の情報処理システムにおいて、磁気ディスク装置のファームウェアの書き換え準備時の処理を示すフローチャート。 図1の情報処理システムにおいて、ホストシステムと磁気ディスク装置との間でコマンドを送受して行われるFWの書換実行時の処理を示すフローチャート。
符号の説明
1…CPU、9…磁気ディスク、10…CPU−RAM、11…マスクROM、15…フラッシュROM、17…ホストシステム、18…情報処理システム、20…磁気ディスク装置、22…IPL置換要フラグ、23…FWコード、31…ユーザ領域、32…FWデータ領域、41…IPL領域、43…FW書換プログラム領域、44…FWコード領域。

Claims (13)

  1. ディスク媒体へのアクセスが可能なディスクドライブ装置とホストシステムとの間でのコマンドのやり取りを通じて、該ディスクドライブ装置が備える不揮発性メモリ内のファームウェアを書き換えるファームウェアの書換方法であって、
    書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備ステップと、
    前記書換準備ステップの実行後の前記ホストシステムへの電源投入時に前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から受信した場合、該ディスクドライブ装置が該ドライブ情報を返信するドライブ情報返信ステップと、
    前記ドライブ情報返信ステップの実行後、前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが受信された場合、前記ディスクドライブ装置が、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新するステップと、
    を有することを特徴とするファームウェアの書換方法。
  2. 前記ディスク媒体上に設けられたブートプログラム格納領域内のブートプログラムの返信要求を、前記ホストシステム側から前記ディスクドライブ装置が受信した場合、該ブートプログラム格納領域とは異なるプログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するステップをさらに有することを特徴とする請求項1記載のファームウェアの書換方法。
  3. 前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から受信された場合、前記ディスクドライブ装置が、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行することを特徴とする請求項1又は2記載のファームウェアの書換方法。
  4. 前記書換準備ステップは、前記不揮発性メモリに格納されたファームウェアの書き換えを実行させるための書換処理モードで前記ホストシステムを起動させる書換要求フラグを前記不揮発性メモリにセットするステップをさらに有し、
    前記ホストシステムの起動時に、前記不揮発性メモリ内に記憶された前記書換要求フラグが検出された場合、該ホストシステムの起動過程で該書換要求フラグの解除を行うことを特徴とする請求項1ないし3のいずれか1項に記載のファームウェアの書換方法。
  5. 前記書換処理モードで前記ホストシステムが起動した場合、前記ファームウェアの書換処理に関連する前記特定のコマンドに対して非該当のライトコマンドを無効にすることを特徴とする請求項4記載のファームウェアの書換方法。
  6. ファームウェアが格納された不揮発性メモリを備えホストシステムとの間でのコマンドのやり取りを行う、ディスク媒体へのアクセスが可能なディスクドライブ装置であって、
    書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備手段と、
    前記書換準備手段による記憶処理を経て前記ホストシステムへの電源投入時に、前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から受信した場合、該ドライブ情報を返信するドライブ情報返信手段と、
    前記ドライブ情報返信手段による返信処理を経て前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが受信された場合、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新する手段と、
    を具備することを特徴とするディスクドライブ装置。
  7. 前記ディスク媒体上に設けられたブートプログラム格納領域と、
    前記ブートプログラム格納領域とは異なる領域として前記ディスク媒体上に設けられ、前記書換実行プログラムが格納されたプログラム置換領域と、
    前記ブートプログラム格納領域内の前記ブートプログラムの返信要求を、前記ホストシステム側から受信した場合、前記プログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するブートプログラム置換手段と、
    をさらに具備することを特徴とすることを特徴とする請求項6記載のディスクドライブ装置。
  8. 前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から受信された場合、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行する手段、
    をさらに具備することを特徴とする請求項6又は7記載のディスクドライブ装置。
  9. 前記書換準備手段は、前記不揮発性メモリに格納されたファームウェアの書き換えを実行させるための書換処理モードで前記ホストシステムを起動させる書換要求フラグを前記不揮発性メモリにセットする手段を備え、
    前記ホストシステムの起動時に、前記不揮発性メモリ内に記憶された前記書換要求フラグが検出された場合、該ホストシステムの起動過程で該書換要求フラグの解除を行う手段をさらに具備することを特徴とする請求項6ないし8のいずれか1項に記載のディスクドライブ装置。
  10. 前記書換処理モードで前記ホストシステムが起動した場合、前記ファームウェアの書換処理に関連する前記特定のコマンドに対して非該当のライトコマンドを無効にする手段をさらに具備することを特徴とする請求項9記載のディスクドライブ装置。
  11. ファームウェアが格納された不揮発性メモリを備えディスク媒体へのアクセスが可能なディスクドライブ装置と、該ディスクドライブ装置との間でコマンドのやり取りを行うホストシステムとを有する情報処理システムであって、
    書換用のファームウェアを、前記ホストシステムのブート及び前記不揮発性メモリ内のファームウェアの書き換えを実行可能な書換実行プログラムとともに前記ディスク媒体上に記憶させる書換準備手段と、
    前記書換準備手段による記憶処理を経て前記ホストシステムへの電源投入時に、前記ディスクドライブ装置の仕様を含むドライブ情報の取得要求を該ホストシステム側から該ディスクドライブ装置が受信した場合、該ドライブ情報を返信するドライブ情報返信手段と、
    前記ドライブ情報返信手段による返信処理を経て前記書換実行プログラムを取得した前記ホストシステム側から特定のコマンドが前記ディスクドライブ装置により受信された場合、前記ディスク媒体上に記憶させておいた前記書換用のファームウェアの内容に前記不揮発性メモリ内のファームウェアを更新する手段と、
    を具備することを特徴とする情報処理システム。
  12. 前記ディスク媒体上に設けられたブートプログラム格納領域と、
    前記ブートプログラム格納領域とは異なる領域として前記ディスク媒体上に設けられ、前記書換実行プログラムが格納されたプログラム置換領域と、
    前記ブートプログラム格納領域内の前記ブートプログラムの返信要求を、前記ホストシステム側から前記ディスクドライブ装置が受信した場合、前記プログラム置換領域に格納された前記書換実行プログラムを前記返信要求の応答データとして返信するブートプログラム置換手段と、
    をさらに具備することを特徴とする請求項11記載の情報処理システム。
  13. 前記ディスク媒体上の全記憶領域のうち、所定の記憶単位で区画されたブロックの非存在領域に該当するアドレスへのリードコマンド又はライトコマンドが、前記特定のコマンドとして前記ホストシステム側から前記ディスクドライブ装置により受信された場合、前記書換用のファームウェアと前記書換実行プログラムとの前記ディスク媒体への書込処理、及び/又は前記不揮発性メモリ内のファームウェアの更新処理を実行する手段、
    をさらに具備することを特徴とする請求項11又は12記載の情報処理システム。
JP2004314286A 2004-10-28 2004-10-28 ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム Active JP4575112B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004314286A JP4575112B2 (ja) 2004-10-28 2004-10-28 ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314286A JP4575112B2 (ja) 2004-10-28 2004-10-28 ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2006127140A JP2006127140A (ja) 2006-05-18
JP4575112B2 true JP4575112B2 (ja) 2010-11-04

Family

ID=36721846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314286A Active JP4575112B2 (ja) 2004-10-28 2004-10-28 ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム

Country Status (1)

Country Link
JP (1) JP4575112B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110297A (ja) * 2007-10-30 2009-05-21 Toshiba Corp 情報処理装置および同装置におけるメンテナンス方法
CN109710292B (zh) * 2018-12-28 2024-01-05 Tcl移动通信科技(宁波)有限公司 移动终端刷机控制处理方法、移动终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108708A (ja) * 2000-09-27 2002-04-12 Toshiba Corp Raid制御装置
JP2004062663A (ja) * 2002-07-30 2004-02-26 Toshiba Corp ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
JP2004213427A (ja) * 2003-01-06 2004-07-29 Workbit Corp 自動実行制御装置および外部記録装置
JP2004296089A (ja) * 2004-07-26 2004-10-21 Fujitsu Ltd 光学的記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58211257A (ja) * 1982-06-02 1983-12-08 Fujitsu Ltd 磁気デイスク装置の書込み制御方式
JPH09101887A (ja) * 1995-10-06 1997-04-15 Nissin Electric Co Ltd ディスクアレイ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108708A (ja) * 2000-09-27 2002-04-12 Toshiba Corp Raid制御装置
JP2004062663A (ja) * 2002-07-30 2004-02-26 Toshiba Corp ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
JP2004213427A (ja) * 2003-01-06 2004-07-29 Workbit Corp 自動実行制御装置および外部記録装置
JP2004296089A (ja) * 2004-07-26 2004-10-21 Fujitsu Ltd 光学的記憶装置

Also Published As

Publication number Publication date
JP2006127140A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
JP3310060B2 (ja) 記憶装置および同装置の制御プログラム書換え方法
JP5220747B2 (ja) 不揮発性記憶装置および不揮発性記憶システム
JP4245585B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
JP3268130B2 (ja) フラッシュeepromを用いたデータ処理装置
JP2000148465A (ja) ファ―ムウェア変更方法
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
JP5959958B2 (ja) 記憶装置及び記憶装置におけるデータ消去方法
US8667242B2 (en) Data access method and system, storage medium controller and storage system
JP6753257B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
JP2014010498A5 (ja)
JP3544476B2 (ja) メモリ管理テーブル作成方法
CN113064604B (zh) 一种固件升级方法和装置
JP4575112B2 (ja) ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム
US8429336B2 (en) Disk drive and method of changing a program therefor
JP4794530B2 (ja) 半導体装置および携帯電話
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置
JP3708914B2 (ja) ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
JP4735765B2 (ja) Linuxプログラム起動システム
JP4580724B2 (ja) 不揮発性メモリの制御方法
JP2008003668A (ja) 制御プログラム書換システム、書換プログラム及び制御プログラム書換方法、並びに情報処理装置、情報処理装置制御プログラム及び情報処理装置制御方法
JP2005189907A (ja) ディスク装置
JP2004094342A (ja) プリンタにおけるフラッシュメモリの判定方法、この方法をコンピュータに実行させるプログラム、このプログラムを記録した記録媒体、フラッシュメモリを備えるプリンタ
JPH10133991A (ja) Scsiコントローラ制御用ファームウェア変更方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100819

R151 Written notification of patent or utility model registration

Ref document number: 4575112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3