JP4544901B2 - 記憶制御システム及びブート制御システム - Google Patents

記憶制御システム及びブート制御システム Download PDF

Info

Publication number
JP4544901B2
JP4544901B2 JP2004122739A JP2004122739A JP4544901B2 JP 4544901 B2 JP4544901 B2 JP 4544901B2 JP 2004122739 A JP2004122739 A JP 2004122739A JP 2004122739 A JP2004122739 A JP 2004122739A JP 4544901 B2 JP4544901 B2 JP 4544901B2
Authority
JP
Japan
Prior art keywords
activation
data
protection code
memory area
sub
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.)
Expired - Fee Related
Application number
JP2004122739A
Other languages
English (en)
Other versions
JP2005309580A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004122739A priority Critical patent/JP4544901B2/ja
Priority to US10/878,284 priority patent/US7287155B2/en
Priority to EP04256416A priority patent/EP1589427B1/en
Priority to DE602004003677T priority patent/DE602004003677T2/de
Publication of JP2005309580A publication Critical patent/JP2005309580A/ja
Priority to US11/873,995 priority patent/US7644263B2/en
Application granted granted Critical
Publication of JP4544901B2 publication Critical patent/JP4544901B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、記憶制御システム、及びプロセッサのブート制御のための技術に関する。
プロセッサが読込むデータの保護に関する技術として、例えば、特開2001−109629号公報、特開2003−196097号公報、及び特開2004−13905号公報に開示されている技術がある。
特開2001−109629号公報には、プロセッサが使用するブートプログラムを二つ用意しておき、一方のブートプログラムを読込んでも正常に起動しない場合には、他方のブートプログラムを読み出すことが開示されている。
特開2003−196097号公報には、命令の他にその命令のチェックサム期待値をブートロムに格納しておき、DSP(Digital Signal Processor)が、ブートロム内の命令を読込んで命令メモリに書込み、命令メモリに書き込まれた命令について、ブートロム内のチェックサム期待値を用いてチェックサムを行うことが開示されている。
特開2004−13905号公報には、ブートプログラム中のコードの保護に関する技術が開示されている。
特開2001−109629号公報。 特開2003−196097号公報。 特開2004−13905号公報。
一般に、プロセッサは、起動するための処理を行う場合、まず、プロセッサのレジスタ値をリセットし、初期化を行う。次に、プロセッサは、ROM等のメモリ(以下、説明の便宜上「ブートメモリ」と言う)からブートプログラムを読込み、読込んだブートプログラムを、そのプロセッサに接続されたローカルメモリに展開し、ローカルメモリに展開されたブートプログラムに従って、ブートメモリからOS(オペレーティングシステム)を読込んでローカルメモリに展開する。これにより、プロセッサは起動する。
この場合、プロセッサに読込まれてレジスタ等に書かれるブートプログラムやOSを構成するデータコードに誤りがあると、その誤ったデータコードを用いてプロセッサが起動することになるので、プロセッサがハングアップしてしまう(例えば、本来行うはずの処理とは別の処理を行ってしまう)可能性がある。これは、例えば、バージョンアップされたOS等がブートメモリ上に上書きされるような場合には、上書きの失敗等の原因によって、誤ったデータコードがブートメモリに書かれてしまうことがあるので、上記のような可能性が更に高まってしまうと考えられる。
従って、本発明の目的は、プロセッサが起動する前の処理において、誤ったデータコードがプロセッサに読込まれてしまわないようにすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明の第1の観点に従う記憶制御システムは、データを記憶する複数の記憶デバイスと、前記記憶デバイス(具体的には、複数の記憶デバイスの中から選択された記憶デバイス)と前記外部装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリと、前記記憶デバイスと前記キャッシュメモリを介して前記外部装置との間で行われるデータのやり取りを制御する制御装置とを備える。前記制御装置は、プロセッサと、起動用メモリ領域と、データチェックハードウェアとを備える。前記プロセッサは、前記やり取りを制御する。前記起動用メモリ領域には、前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとが記憶されている。前記データチェックハードウェアは、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的なチェック結果が得られた場合、前記読込まれた起動用データを前記プロセッサに入力する。
なお、「起動用データ」とは、例えば、プロセッサのOSのブートプログラム、及び、そのブートプログラムに従って読み出されるOSそれ自体の構成要素である。また、「起動用保護コード」とは、例えば、パリティ或いはECC(Error-Correcting
Code)である。
また、「前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェック」とは、例えば、起動用保護コードを用いて起動用データの正否をチェックすること、及び、起動用データを用いて起動用保護コードの正否をチェックすることの少なくとも一方である。
本発明の第1の観点における第1の好適な実施形態では、前記データチェックハードウェアは、前記プロセッサから起動用データを受信して前記起動用保護コードを生成し、前記起動用データ及び前記起動用保護データを前記起動用メモリ領域に格納する。
本発明の第1の観点における第2の好適な実施形態では、前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成される。前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれる。前記起動用メモリ領域には、第1の起動用サブメモリ領域と、第2の起動用サブメモリ領域とがある。前記第1の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納される。前記第2の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納される。前記データチェックハードウェアは、前記起動用下位保護コード及び前記起動用データ上位要素を前記第1の起動用サブメモリ領域から読込み、前記起動用上位保護コード及び前記起動用データ下位要素を前記第2の起動用サブメモリ領域から読込み、前記起動用上位保護コード及び前記起動用データ上位要素の少なくとも一方の正否をチェックする第1のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素の少なくとも一方の正否をチェックする第2のサブチェックとを行い、前記第1のサブチェックと前記第2のサブチェックの少なくとも1つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、前記第1のサブチェックと前記第2のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する。
本発明の第1の観点における第3の好適な実施形態では、前記第2の好適な実施形態において、前記データチェックハードウェアは、前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割する分割回路と、前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、且つ、前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成する保護コード生成回路と、前記起動用データ上位要素及び前記起動用下位保護コードを前記第1の起動用サブメモリ領域に格納し、且つ、前記起動用データ下位要素及び前記起動用上位保護コードを前記第2の起動用サブメモリ領域に格納するデータ格納回路とを備える。
本発明の第2の観点に従うブート制御システムは、プロセッサと、起動用メモリ領域と、データチェックハードウェアとを備える。前記起動用メモリ領域には、前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードを記憶した起動用メモリ領域とが記憶されている。前記データチェックハードウェアは、前記プロセッサからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的な結果が得られた場合、前記起動用データを前記プロセッサに入力する。
このブート制御システムは、プロセッサを備える種々の電子機器に搭載することができる。
本発明の第3の観点に従うプロセッサチップは、プロセッサコアと、起動用メモリ領域と、データチェックハードウェアとを備える。前記起動用メモリ領域には、前記プロセッサコアが起動するために必要な起動用データと、記起動用データの保護コードである起動用保護コードとが記憶されている。前記データチェックハードウェアは、前記プロセッサコアからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサコアをリセットし、肯定的な結果が得られた場合、前記起動用データを前記プロセッサコアに入力する。
本発明の第4の観点に従うブート制御方法は、プロセッサの起動用データの保護コードである起動用保護コードを生成するステップと、前記起動用データ及び前記起動用保護データを起動用メモリ領域に格納するステップと、プロセッサコアからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込むステップと、前記読込まれた起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行うステップと、否定的なチェック結果が得られた場合、前記プロセッサコアをリセットするステップと、肯定的な結果が得られた場合、前記起動用データを前記プロセッサに入力するステップとを有する。
本発明によれば、プロセッサが起動する前の処理において誤ったデータコードがプロセッサに読込まれてしまわないようにすることができる。
以下、本発明の一実施形態に係るブート制御システムが記憶制御システムに適用された場合を例に採り、図面を参照して、本発明の一実施形態について説明する。
図1は、本発明の一実施形態に係る記憶制御システムを備えたコンピュータシステムの全体構成を示す。
このコンピュータシステム100には、記憶制御システム3と、その記憶制御システム3に接続された1又は複数のホスト装置1とが備えられる。
ホスト装置1は、例えば、パーソナルコンピュータやワークステーション等であり、CPU(Central Processing Unit)やメモリ等を備えたコンピュータシステムである。ホスト装置1のCPUが各種プログラムを実行することにより、種々の機能が実現される。ホスト装置1は、例えば、LAN等の通信ネットワークを介して記憶制御システム3に接続される。
記憶制御システム3は、例えば、アレイ状に配設された複数のディスク型記憶装置を有する1以上の物理ディスク群9を有するRAID(Redundant Array of Independent Inexpensive Disks)システムである。記憶制御システム3は、1又は複数のチャネル制御部13と、キャッシュメモリ15と、制御メモリ17と、1以上の物理ディスク群9と、1以上のディスク制御部19と、スイッチング制御部21と、SVP(Service
Processor)12とを備えている。
チャネル制御部13は、ホスト装置1に接続される。チャネル制御部13は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができ、この記憶制御システム3とそれに接続されているホスト装置1との間のデータ通信を行う。チャネル制御部13は、接続されているホスト装置1と通信を行うための通信インターフェースを有し、また、ホスト装置1から受信した各種コマンドを解釈して処理するためのプロセッサも有する。チャネル制御部13は、制御メモリ17に登録されている情報を参照して、キャッシュメモリ15に格納されているデータを読み出してホスト装置1に送信したり、ホスト装置1から受信した書込み対象のデータをキャッシュメモリ15に格納したりする。
キャッシュメモリ15は、各チャネル制御部13や各ディスク制御部19により共有されるメモリである。キャッシュメモリ15には、チャネル制御部13とディスク制御部19との間でやり取りされるデータが一時的に格納される。
制御メモリ17も、各チャネル制御部13や各ディスク制御部19により共有されるメモリである。制御メモリ17には、後述する論理ボリューム11にホスト装置1からのデータを書き込んだり、論理ボリューム11から読み出されたデータをホスト装置1に送信すること等に関する制御情報が登録される。
各物理ディスク群9は、複数のディスク型記憶装置をアレイ状に配設して構成されている。物理ディスク群9を構成するディスク型記憶装置としては、例えば、ハードディスク装置、フレキシブルディスク装置、半導体記憶装置等の種々のデバイスを用いることができる。1以上の物理ディスク群9により提供される物理的な記憶領域上には、論理的な記憶領域である複数の論理ボリューム11が設定される。
各ディスク制御部19は、例えば、各物理ディスク群9毎に備えられており、その所定の物理ディスク群9を制御するものである。ディスク制御部19は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。例えば、ディスク制御部19は、制御メモリ17に記録されている制御情報に基づいて、複数の論理ボリューム11の中から選択された論理ボリュームに対してデータの読出し又は書込みを行なう。また、ディスク制御部19は、論理アドレスを物理アドレスに変換することにより、論理ボリューム11に対するデータアクセス要求を物理ディスクへのデータアクセス要求に変換する。
スイッチング制御部21は、例えば、高速スイッチング動作によりデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。スイッチング制御部21は、各チャネル制御部13と、各ディスク制御部19と、制御メモリ17と、キャッシュメモリ15とを相互に通信可能に接続する。これらの各チャネル制御部13と、各ディスク制御部19と、制御メモリ17と、キャッシュメモリ15との間のデータやコマンドの授受は、スイッチング制御部21を介して行われる。
SVP12は、ディスプレイ画面を備えた情報処理端末(例えばノート型のパーソナルコンピュータ)である。SVP12は、通信ネットワーク(例えばLAN)を介して、各ディスク制御部13及び各ディスク制御部19上の図示しないマイクロプロセッサに接続されている。SVP12は、マイクロプロセッサから受信した情報をディスプレイ画面に表示することができる。
以上が、この実施形態に係るコンピュータシステム100の概要である。なお、このコンピュータシステム100では、例えば、各ディスク制御部19と各物理ディスク群9とは、直接的に接続してもよいし、ネットワークを介して間接的に接続してもよい。また、物理ディスク群9とディスク制御部19とを一体的に構成しても良い。また、各チャネル制御部13毎にそれぞれ1つの論理ボリューム11が割り当てられても良いし、複数のチャネル制御部13で1つの論理ボリューム11が共有されても良い。
さて、前述した通り、図1には示していないが、チャネル制御部13及びディスク制御部19には、1又は複数のマイクロプロセッサ(以下、MP)が搭載されている。1又は複数のマイクロプロセッサによって、それらを搭載しているチャネル制御部13或いはディスク制御部19の動作が制御される。本実施形態では、各チャネル制御部13及び各ディスク制御部19は、それに搭載されたMPが起動する前にそこに誤ったデータコードが読込まれてしまうことがないよう工夫されたブート制御システムを備えている。以下、そのブート制御システムについて説明する。
図2は、ブート制御システムの構成例を示す。図3は、このブート制御システムに備えられるMPが使用する2つのブートメモリ115、117と、そのMPのローカルメモリとにおけるデータ構造を示す。なお、以下の説明では、ブートメモリ115、117とMP111との間でやり取りされるデータを、ホスト装置1と記憶制御システム3との間でやり取りされるデータと区別するために、「MPデータ」と称する。
図2に示すように、本実施形態に係るブート制御システム120には、第1ブートメモリ115と、第2ブートメモリ117と、ローカルメモリ159と、MP111と、PLD(Programable Logic Device)121とが含まれている。
第1ブートメモリ115及び第2ブートメモリ117は、それぞれ、例えば8バイトの不揮発性メモリ(例えばROM或いはフラッシュROM)である。第1ブートメモリ115には、複数のメモリ空間、例えば、第1直接実行空間115Bと、第1ファイル空間115Fとが備えられている。同様に、第2ブートメモリ117にも、複数のメモリ空間、例えば、第2直接実行空間117Bと、第2ファイル空間117Fとが備えられている。
直接実行空間115B、117Bとは、MP111のOSが起動するために(換言すれば、OSが起動する前までに)MP111に読込まれる必要のあるMPデータ(以下、起動用MPデータ)が格納されるメモリ空間である。具体的には、第1直接実行空間115Bには、例えば1バイトの起動用MPデータ上位要素(以下、「起動用DH」と言う)と、例えば1バイトの下位保護データ(以下、「PL」と言う)とが交互に並んでいる。第2直接実行空間117Bには、例えば1バイトの起動用MPデータ下位要素(以下、「起動用DL」と言う)と、例えば1バイトの上位保護データ(以下、「PH」と言う)とが交互に並んでいる。
なお、起動用DHとは、起動用MPデータの上位側のMPデータ要素であり、起動用DLとは、起動用MPデータの下位側のMPデータ要素である。起動用DHと起動用DLのデータサイズは同じであっても異なっていても良い。起動用DH(例えば1バイト)と起動用DL(例えば1バイト)とは、起動用MPデータ(例えば2バイト)が分割されたものである。ちなみに、起動用MPデータは、例えば、MP111のブートプログラム及びそのブートプログラムに従って読み出されるOSの少なくとも一方の構成要素である。
また、PHとは、起動用DHの保護コードである起動用上位保護コードと、その起動用DHの第1ブートメモリ115における第1アドレスと、その第1アドレスの保護コードである第1アドレス保護コードとのうち、少なくとも起動用上位保護コードを含んだMPデータである。それに対し、PLとは、起動用DLの保護コードである起動用下位保護コードと、その起動用DLの第2ブートメモリ117における第2アドレスと、その第2アドレスの保護コードである第2アドレス保護コードとのうち、少なくとも起動用下位保護コードを含んだMPデータである。なお、保護コードは、例えば、パリティ或いはECC(Error-Correcting Code)である。
これらの記述と図3とから分かる通り、第1直接実行空間115Bには、1つの起動用DHに対して1つのPLが格納される。一方、第2直接実行空間117Bには、1つの起動用DLに対して1つのPHが格納される。
さて、ファイル空間115F、117Fとは、MP111のOSが起動した後に、そのOSによって使用されるMPデータ(以下、OS用MPデータ)が格納されるメモリ空間である。OS用MPデータは、例えば2バイトである。図3には、起動用MPデータ及びOS用データの上位1バイトをハッチングで示し、下位1バイトを網点で示す。なお、ファイル空間115F、117Fには、各OS用MPデータについてチェックサム期待値が格納されていても良い。また、第1直接実行空間115B及び第1ファイル空間115Fの少なくとも一方、及び/又は、第2直接実行空間117B及び第2ファイル空間117Fの少なくとも一方は、可変であっても良い(例えばユーザからの要求に応じてMP111が各空間容量を調整しても良い)。また、直接実行空間115B、117Bは、第1サブブートメモリ(例えばDRAM)上に存在し、ファイル空間115F、117Fは、第1サブブートメモリとは別の第2サブブートメモリ(例えばSRAM)上に存在しても良い。
以上が、第1ブートメモリ115及び第2ブートメモリ117についての説明である。なお、第1ブートメモリ115及び第2ブートメモリ117は、必ずしも別々のメモリでなくても良く、例えば、同一のメモリ上に、第1ブートメモリ115に相当する第1のメモリ空間と、第2ブートメモリ117に相当する第2メモリ空間とが備えられていても良い。また、第1ブートメモリ115及び第2ブートメモリ117は、各MP毎に備えられても良いし、複数のMPに共有されても良い。
ローカルメモリ159は、MP111のワーク領域や、このブート制御システム120の外部(例えばホスト装置1或いは論理ボリューム11)から受信されたデータが一時的に蓄積される受信バッファ領域等としてMP111に使用される。ローカルメモリ159には、第1ブートメモリ115及び第2ブートメモリ117からMP111に読込まれた起動用MPデータ及びOS用MPデータが展開される。展開された結果例を図3に示す。すなわち、ローカルメモリ159の第1の所定領域159Aに、第1直接実行空間115Bから読み出された起動用DH及びPLと、第2直接実行空間115Fから読み出された起動用DL及びPHとが展開される。また、ローカルメモリ159の第2の所定領域159Bに、第1ファイル空間115Fから読み出されたOS用MPデータと、第2ファイル空間117Fから読み出されたOS用MPデータとが展開される。
図2に示すMP111は、自分を搭載しているチャネル制御部13又はディスク制御部19の動作を制御する。MP111は、チャネル制御部13に搭載されている場合は、例えば、ホスト装置1から受信したデータをキャッシュメモリ15に書き込んだり、ディスク制御部19によってキャッシュメモリ15に書き込まれたデータを読み出してホスト装置1に送信したりする。また、MP111は、ディスク制御部19に搭載されている場合は、例えば、論理ボリューム11から読み出したデータをキャッシュメモリ15に書き込んだり、チャネル制御部13によってキャッシュメモリ15に書き込まれたデータを読み出して論理ボリューム11に格納したりする。このようなMP111は、MPデータを読込む場合、MP111のレジスタ123に予め登録されている読込用オリジナルアドレスを、PLD121に出力し、それに従って、ブートメモリ115、117からデータペアを受信した場合には、そのデータペアをローカルメモリ159の第1所定領域159Aに展開する。また、MP111は、起動用MPデータ及びそれの格納先を表す格納用オリジナルアドレスを、PLD121に出力する。なお、「オリジナルアドレス」とは、MP111によって管理されているアドレスであり、ブートメモリ115、117のアドレスとは異なる。オリジナルアドレスに基づき、PLD121によって、第1ブートメモリ115のアドレスである第1アドレスと、第2ブートメモリ117のアドレスである第2アドレスとが生成される。以下、読込用オリジナルアドレス及び格納用アドレスを総称する場合には単に「オリジナルアドレス」と言う。
PLD121は、MP111と第1ブートメモリ115及び第2ブートメモリ117との間の通信経路上に介在する、例えば純粋なハードウェア回路である。PLD121には、アドレスバッファ101、アドレス変換回路102、読出しバッファ109、データチェック回路107、アドレス保護コード生成回路105、データバッファ103、分割保護生成回路119、結合及び結合回路251が備えられる。
アドレスバッファ101は、MP111からデータ入出力線8を介して入力されたオリジナルアドレスを一時的に蓄積するバッファである。
アドレス変換回路102は、アドレスバッファ101からオリジナルアドレスを取得し、そのオリジナルアドレスを基に、第1アドレス(すなわち第1ブートメモリ115のアドレス)と第2アドレス(すなわち第2ブートメモリ117のアドレス)とを生成し出力する。アドレス変換回路102には、どのオリジナルアドレスを受けた場合にはどのような第1アドレス及び第2アドレスを生成するかの規則が予め決められており、その規則に基づいて、第1アドレス及び第2アドレスが生成されて出力される。出力された第1アドレスは、第1アドレスライン2Aを介して第1ブートメモリ115に入力され、第2アドレスは、第2アドレスライン2Bを介して第2ブートメモリ117に入力される。また、第1アドレス及び第2アドレスは、アドレス保護コード生成回路105に入力される。なお、例えば、第1アドレスには、1バイトの起動用DHを読む又は書くための第1サブアドレスと、1バイトのPLを読む又は書くための第2サブアドレスとが含まれている。また、第2アドレスには、例えば、1バイトの起動用DLを読む又は書くための第3サブアドレスと、1バイトのPHを読む又は書くための第4サブアドレスとが含まれている。
第1ブートメモリ115に入力された第1アドレスが、読込用オリジナルアドレスを基に生成されたものである場合、第1ブートメモリ115の第1アドレスに存在するMPデータが第1データライン4Aを介してPLD121に出力される。また、第2ブートメモリ117に入力された第2アドレスが、読込用オリジナルアドレスを基に生成されたものである場合、第2ブートメモリ117の第2アドレスに存在するMPデータが第2データライン4Bを介してPLD121に出力される。第1データライン4A及び第2データライン4Bの各々を介して出力されたMPデータは、読出しバッファ109が一時的に蓄積する。なお、MP111の起動前は、起動用DHとPL、及び、起動用DLとPHが読出しバッファ109に読み出される。その際、読み出される起動用DHと起動用DLは、同一のMPデータの構成要素となるものである。換言すれば、例えば、或る起動用DH及びPLのペアが読み出される場合、その起動用DHと同一のMPデータを構成しない別の起動用DLを含んだペアが読み出されるのではなく、その起動用DHと同一のMPデータを構成する起動用DLが読み出される。それは、アドレス変換回路102によって生成される第1アドレスと第2アドレスが、そのように読み出されるような内容になっているからである。
データチェック回路107は、読出しバッファ109内の起動用DH及びPLと起動用DL及びPHとを用いてデータチェックを行う。例えば、データチェック回路107は、起動用DH及びPHの少なくとも一方の正否のチェックである第1チェックと、起動用DL及びPLの少なくとも一方の正否のチェックである第2チェックとを行う。具体的には、例えば、第1チェックでは、データチェック回路107は、PHに含まれている起動用上位保護コードを用いて起動用DHの正否をチェックし、第2チェックでは、PLに含まれている起動用下位保護コードを用いて起動用DLの正否をチェックする。データチェック回路107は、第1チェック及び第2チェックの両方で肯定的なチェック結果が得られた場合、読出しバッファ109内の起動用DH及びPLと、起動用DL及びPHとを、データ入出力線8を介してMP111に入力する。一方、データチェック回路107は、第1チェック及び第2チェックの少なくとも一方で否定的なチェック結果が得られた場合、起動用DH及びPLと起動用DL及びPHのいずれをもMP111に出力しないようにし、所定のエラー処理を実行する。エラー処理として、例えば、データチェック回路107は、PH及びPLに含まれている第1アドレス及び第2アドレスを第1ブートメモリ115及び第2ブートメモリ117に出力して、同一の起動用DHとPL、及び、起動用DLとPHを読出しバッファ109に読出し、再度、第1チェック及び第2チェックを行う。また、エラー処理として、例えば、データチェック回路107は、リセット信号線6を介してMP111をリセットする。なお、データチェック回路121は、必ずしも第1及び第2のチェックを行う必要は無く、例えば、第1チェックによって否定的なチェック結果が得られた場合には、第2チェックを行うことなくエラー処理を行っても良い。
データバッファ103は、MP111からデータ入出力線8を介して入力された起動用MPデータを一時的に蓄積するバッファである。
分割保護生成回路119は、データバッファ103内の起動用MPデータを起動用DHと起動用DLに分割する。また、分割保護生成回路119は、分割によって得られた起動用DHを基に起動用上位保護コードを生成し、且つ、分割によって得られた起動用DLを基に起動用下位保護コードを生成する。分割保護生成回路119は、起動用DH、起動用DL、起動用上位保護コード及び起動用下位保護コードを生成して出力する。
アドレス保護コード生成回路105は、アドレス変換回路102からの第1アドレスを基に第1アドレス保護コードを生成し、第2アドレスを基に第2アドレス保護コードを生成する。アドレス保護コード生成回路105は、生成した第1アドレス保護コード及び第2アドレス保護コードと、アドレス変換回路102からの第1アドレス及び第2アドレスとを出力する。
結合回路251は、アドレス保護コード生成回路105からの第1アドレス保護コード、第1アドレス及び起動用上位保護コードを結合してPHを生成し、そのPHと、分割保護生成回路119からの起動用DH及び起動用DLの中から選択した起動用DLとを、第2データライン4Bを介して第2ブートメモリ117に出力する。これにより、アドレス変換回路102から第2アドレスライン2Bを介して第2ブートメモリ117に入力された第2アドレスが表す場所に、起動用DLとPHとが書き込まれる。また、結合回路251は、アドレス保護コード生成回路105からの第2アドレス保護コード、第2アドレス及び起動用下位保護コードを結合してPLを生成し、そのPLと、分割保護生成回路119からの起動用DH及び起動用DLの中から選択した起動用DHとを、第1データライン4Aを介して第1ブートメモリ115に出力する。これにより、アドレス変換回路102から第1アドレスライン2Aを介して第1ブートメモリ115に入力された第1アドレスが表す場所に、起動用DHとPLとが書き込まれる。
以下、このブート制御システム120において行われる処理流れを説明する。
図4は、MP111が起動用MPデータを読込む場合に行なわれる処理流れを示す。
MP111は、例えばMP111の電源がターンオンした場合に、レジスタ123の値をリセットし(ステップS1)、レジスタ123の初期化を行う(S2)。これにより、レジスタ123に、起動用MPデータの読込用オリジナルアドレスが書かれる。MP111は、レジスタ123に書かれている読込用オリジナルアドレス(例えば、ブートプログラムを読込むためのオリジナルアドレス)をPLD121に出力する(S3)。
MP111からPLD121に出力された読込用オリジナルアドレスは、アドレスバッファ101に蓄積される。アドレス変換回路102は、アドレスバッファ101内の読込用オリジナルアドレスに基づいて第1アドレス及び第2アドレスを生成し、第1アドレスを第1ブートメモリ115に指定し、第2アドレスを第2ブートメモリ117に指定する(S4)。それにより、第1ブートメモリ115の第1アドレスに存在する起動用DH及びPLが読み出しバッファ109に格納され、且つ、第2ブートメモリ117の第2アドレスに存在する起動用DL及びPHが読み出しバッファ109に格納される(S5)。
データチェック回路107は、読出しバッファ109内のPHに含まれている起動用上位保護コードを用いて起動用DHの正否をチェックし(つまり第1チェックを行い)、且つ、PLに含まれている起動用下位保護コードを用いて起動用DLの正否をチェックする(つまり第2チェックを行う)(S7)。
データチェック回路107は、第1チェック及び第2チェックの少なくとも一方で否定的なチェック結果が得られた場合(S7でN)、起動用DH及びPLと起動用DL及びPHのいずれをもMP111に出力しないようにし、所定のエラー処理として、例えば、リセット信号線6を介してMP111をリセットする(S8)。これにより、MP111が閉塞する(S11)。
S7において、データチェック回路107は、第1チェック及び第2チェックの両方で肯定的なチェック結果が得られた場合(S7でY)、読出しバッファ109内の起動用DH及びPLと、起動用DL及びPHとをMP111に転送する(S9)。換言すれば、データチェック回路107は、起動用DH及びPLと、起動用DL及びPHとのMP111への読み込みを許可する。
S6〜S9の処理は、ブートプログラムについての、全ての起動用DH及びPLと起動用DL及びPHとについて行われる(S10でN)。
MP111は、起動用DH及びPLと起動用DL及びPHとをPLD121を介して読込めた場合、読込んだ起動用DH及びPLと起動用DL及びPHとをローカルメモリ159に展開する(S12)。
MP111は、ブートプログラムについての、全ての起動用DH及びPLと起動用DL及びPHとがローカルメモリ159に登録された場合(S13でY)、すなわち、ローカルメモリ159に正常なブートプログラムが書かれた場合、そのブートプログラムに従って、OSを読込むための読込用オリジナルアドレスを出力する(S14)。これにより、前述したS4〜S10の処理が行われる。すなわち、ブートメモリ115、117から読み出されるOS中に誤りのあるコードが含まれていた場合には、PLD121からのリセット信号に従ってMP111は閉塞するし(S15)、そうでない場合には、ローカルメモリ159にOSが展開されてMP111のOSが起動する(S16、S17でY、S18)。
なお、OSが起動した場合、例えば、ファイル空間115F、117Fに、OSが使用するOS用MPデータについてチェックサム期待値が格納されていれば、MP111のOSは、OS用MPデータについてサムチェックを行っても良い。換言すれば、MP111が起動する前は、MP111に読込まれるMPデータをハードウェア的にチェックし、MP111が起動した後は、MP111に読込まれるMPデータをOSによってソフトウェア的にチェックすることができる。
図5は、MP111が起動用MPデータを書込む場合に行なわれる処理流れを示す。
MP111は、ブートプログラム或いはOSを構成する起動用MPデータ群の格納用オリジナルアドレスと、それら起動用MPデータ群とをPLD121に送信する(S51)。
MP111からPLD121に送信された起動用MPデータ群は、データバッファ103に蓄積される。
分割保護生成回路119は、データバッファ103内の起動用MPデータ群の各々を起動用DHと起動用DLに分割する(S53)。また、分割保護生成回路119は、分割によって得られた起動用DHを基に起動用上位保護コードを生成し、且つ、分割によって得られた起動用DLを基に起動用下位保護コードを生成する(S54)。分割保護生成回路119は、起動用DH、起動用DL、起動用上位保護コード及び起動用下位保護コードを生成して出力する(S55)。
MP111からPLD121に送信された格納用オリジナルアドレスは、アドレスバッファ101に蓄積される。アドレス変換回路102は、アドレスバッファ101内の格納用オリジナルアドレスに基づいて第1アドレス及び第2アドレスを生成し、第1アドレスを第1ブートメモリ115に指定し、第2アドレスを第2ブートメモリ117に指定する(S56)。また、アドレス変換回路102は、第1アドレス及び第2アドレスをアドレス保護コード生成回路105に出力する。
アドレス保護コード生成回路105は、アドレス変換回路102からの第1アドレスを基に第1アドレス保護コードを生成し、第2アドレスを基に第2アドレス保護コードを生成する(S57)。アドレス保護コード生成回路105は、生成した第1アドレス保護コード及び第2アドレス保護コードと、アドレス変換回路102からの第1アドレス及び第2アドレスとを出力する(S58)。
結合回路251は、アドレス保護コード生成回路105からの第2アドレス保護コード、第2アドレス及び起動用下位保護コードを結合してPLを生成し、そのPLと、分割保護生成回路119からの起動用DH及び起動用DLの中から選択した起動用DHとを、第1データライン4Aを介して第1ブートメモリ115に書込む(S59)。また、結合回路251は、アドレス保護コード生成回路105からの第1アドレス保護コード、第1アドレス及び起動用上位保護コードを結合してPHを生成し、そのPHと、分割保護生成回路119からの起動用DH及び起動用DLの中から選択した起動用DLとを、第2データライン4Bを介して第2ブートメモリ117に書込む(S60)。
以上、上述した実施形態によれば、MP111とブートメモリ115、117との間の通信経路上にPLD121が介在する。ブートメモリ115、117には、起動用MPデータとそれの保護コードが格納されている。MP111が起動するために起動用MPデータ及びそれの保護コードがブートメモリ115、117から出力された場合、PLD121が、起動用MPデータの正否のチェックをそれの保護コードを用いてハードウェア的に行う。その結果、否定的なチェック結果が得られた場合には、PLD121は、起動用MPデータをMP111に出力しない。これにより、MP111の起動していなくても、MP111に要求されたMPデータの正否のチェックが行われ、そのMPデータに誤ったデータコードが含まれている可能性がある場合には、そのMPデータがMP111に読込まれないようになっているので、MP111が誤ったデータコードを用いて動作することでハングアップしてしまう等の不具合を未然に防ぐことができる。
また、上述した実施形態によれば、MPデータを構成する起動用DH及び起動用DLは、別々のブートメモリ115、117に格納され、起動用DHの保護コードを含んだPHは、起動用DLが格納される第2ブートメモリ117に格納され、起動用DLの保護コードを含んだPLは、起動用DHが格納される第1ブートメモリ119に格納される。換言すれば、同一のブートメモリには、起動用MPデータの或るMPデータ要素に対し、それの保護コードではなく、それとは別のMPデータ要素の保護コードが格納される。これにより、例えば、第2ブートメモリ117に障害が発生した等の原因により、起動用DL及びPHに誤ったコードが含まれた場合(例えば、全ての構成コードがゼロになってしまった場合)、そのPHを用いて起動用DHの正否をチェックすれば否定的なチェック結果が得られるし、正常なPLを用いて異常な起動用DLの正否をチェックしても否定的なチェック結果が得られ、結果として、起動用DL及びPHのみならず起動用DH及びPLも異常であるという判断を行うことができる。従って、異常なデータがMP111に読込まれてしまうことを防止することの確実性を高めることができる。
また、上述した実施形態によれば、各ブートメモリ115、117のメモリ空間は、格納されるデータの性質に応じて区分されている。例えば、各ブートメモリ115、117は、起動用MPデータが格納される直接実行空間115B、117Bと、起動後に使用されるOS用データが格納されるファイル空間115F、117Fとに区分されている。これにより、空間の種類に応じた異なる方法で、MP111に読込まれるデータをチェックすることができる。
ところで、上述した実施形態では、幾つかの変形例が考えられる。以下、それらの変形例について説明する。なお、以下、上述した実施形態との相違点を主に説明し、重複する部分については説明を省略或いは簡略する。
(1)第1の変形例。
図6は、本発明の一実施形態の第1の変形例に係るチャネル制御部を示す。
チャネル制御部13には、例えば、マイクロプロセッサユニット(以下、MPU)201と、ローカルメモリ159と、ホスト装置1に接続されるホストインターフェース回路(以下、ホストI/F)204と、スイッチング制御部21に接続されるスイッチインターフェース回路(以下、スイッチI/F)208とが備えられる。MPU201には、プロセッサコア203と、プロセッサコア203に読込まれる起動用MPデータ等を記憶する第1ブートメモリ115及び第2ブートメモリ117と、プロセッサコア203とブートメモリ115、117との通信経路上に介在するPLD121とが備えられる。また、MPU201には、ダイレクトメモリアクセスを制御するDMAコントローラ207と、プロセッサコア203のローカルメモリ159に対するアクセスを制御するメモリコントローラ209と、プロセッサコア203とMPU201外部にあるデバイスとのPCIバス206を介した通信を制御するI/Fコントローラとが備えられる。プロセッサコア203は、ブートメモリ115、117からOSを読込めた場合に起動する。ブートメモリ115、117は、SRAMであってもDRAMであっても良い。
この第1の変形例では、図6に示されている通り、MPU201という1つのチップに、上述したブート制御システムと同様のシステムが搭載される。これにより、ブート制御システムの構築に必要な部品点数の削減が期待できる。
なお、チャネル制御部13を代表的に例に採って図示したが、ディスク制御部19にもMPU201を搭載することができる。
(2)第2の変形例。
図7は、本発明の一実施形態の第2の変形例を説明するための図である。
チャネル制御部13(又はディスク制御部19)に、ブート制御システム123が搭載されている。ブート制御システム123内のMP111には、LAN等の通信ネットワークを介してSVP12が接続されている。
SVP12は、各チャネル制御部13及び各ディスク制御部19上の各MPを監視している(例えば、各MPに定期的に信号を発信し、所定の応答信号が返ってくるか否かを監視している)。SVP12は、起動したはずのMPを検出できない場合(例えば、起動したはずのMPから応答信号が返ってこない場合)、例えば図7に示すように、そのMPが起動しなかった旨と、ブートプログラム及びOSの再インストールを提案する旨のメッセージをディスプレイ画面に表示する。
以上、本発明の好適な実施形態と幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
本発明の一実施形態に係る記憶制御システムを備えたコンピュータシステムの全体構成を示す。 ブート制御システムの構成例を示す。 ブート制御システムに備えられるMPが使用する2つのブートメモリ115、117と、そのMPのローカルメモリとにおけるデータ構造を示す。 MP111が起動用MPデータを読込む場合に行なわれる処理流れを示す。 MP111が起動用MPデータを書込む場合に行なわれる処理流れを示す。 本発明の一実施形態の第1の変形例に係るチャネル制御部を示す。 本発明の一実施形態の第2の変形例を説明するための図である。
符号の説明
1…ホスト装置 3…記憶制御システム 9…物理ディスク群 11…論理ボリューム 12…SVP(Service Processor) 13…チャネル制御部 15…キャッシュメモリ 17…制御メモリ 19…ディスク制御部 21…スイッチング制御部 111…MP 115…第1のブートメモリ 117…第2のブートメモリ 120…ブート制御システム 121…PLD

Claims (6)

  1. 外部装置に接続される記憶制御システムにおいて、
    データを記憶する複数の記憶デバイスと、
    前記記憶デバイスと前記外部装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリと、
    前記記憶デバイスと前記キャッシュメモリを介して前記外部装置との間で行われるデータのやり取りを制御する制御装置と
    を備え、
    前記制御装置は、
    前記やり取りを制御するプロセッサと、
    前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
    データチェックハードウェアと
    を備え
    前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成され、
    前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれ、
    前記起動用メモリ領域には、第1の起動用サブメモリ領域と、第2の起動用サブメモリ領域とがあり、
    前記第1の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納され、
    前記第2の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納され、
    前記データチェックハードウェアは、
    前記プロセッサからの要求に応答して、前記起動用下位保護コード及び前記起動用データ上位要素を前記第1の起動用サブメモリ領域から読込み、且つ、前記起動用上位保護コード及び前記起動用データ下位要素を前記第2の起動用サブメモリ領域から読込み、
    前記起動用上位保護コード及び前記起動用データ上位要素のいずれかを用いてもう一方の正否をチェックする第1のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素のいずれかを用いてもう一方の正否をチェックする第2のサブチェックとを行い、
    前記第1のサブチェックと前記第2のサブチェックの少なくとも1つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、
    前記第1のサブチェックと前記第2のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する、
    記憶制御システム。
  2. 前記データチェックハードウェアは、
    前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割する分割回路と、
    前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、且つ、前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成する保護コード生成回路と、
    前記起動用データ上位要素及び前記起動用下位保護コードを前記第1の起動用サブメモリ領域に格納し、且つ、前記起動用データ下位要素及び前記起動用上位保護コードを前記第2の起動用サブメモリ領域に格納するデータ格納回路と
    を備える、
    請求項記載の記憶制御システム。
  3. プロセッサと、
    前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
    データチェックハードウェアと
    を備え
    前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成され、
    前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれ、
    前記起動用メモリ領域には、第1の起動用サブメモリ領域と、第2の起動用サブメモリ領域とがあり、
    前記第1の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納され、
    前記第2の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納され、
    前記データチェックハードウェアは、
    前記プロセッサからの要求に応答して、前記起動用下位保護コード及び前記起動用データ上位要素を前記第1の起動用サブメモリ領域から読込み、且つ、前記起動用上位保護コード及び前記起動用データ下位要素を前記第2の起動用サブメモリ領域から読込み、
    前記起動用上位保護コード及び前記起動用データ上位要素のいずれかを用いてもう一方の正否をチェックする第1のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素のいずれかを用いてもう一方の正否をチェックする第2のサブチェックとを行い、
    前記第1のサブチェックと前記第2のサブチェックの少なくとも1つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、
    前記第1のサブチェックと前記第2のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する、
    ブート制御システム。
  4. 前記データチェックハードウェアは、
    前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割し、
    前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、
    前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成し、
    前記起動用データ上位要素及び前記起動用下位保護コードを前記第1の起動用サブメモリ領域に格納し、
    前記起動用データ下位要素及び前記起動用上位保護コードを前記第2の起動用サブメモリ領域に格納する、
    請求項記載のブート制御システム。
  5. プロセッサコアと、
    前記プロセッサコアが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
    データチェックハードウェアと
    を備え
    前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成され、
    前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれ、
    前記起動用メモリ領域には、第1の起動用サブメモリ領域と、第2の起動用サブメモリ領域とがあり、
    前記第1の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納され、
    前記第2の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納され、
    前記データチェックハードウェアは、
    前記プロセッサからの要求に応答して、前記起動用下位保護コード及び前記起動用データ上位要素を前記第1の起動用サブメモリ領域から読込み、且つ、前記起動用上位保護コード及び前記起動用データ下位要素を前記第2の起動用サブメモリ領域から読込み、
    前記起動用上位保護コード及び前記起動用データ上位要素のいずれかを用いてもう一方の正否をチェックする第1のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素のいずれかを用いてもう一方の正否をチェックする第2のサブチェックとを行い、
    前記第1のサブチェックと前記第2のサブチェックの少なくとも1つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、
    前記第1のサブチェックと前記第2のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する、
    プロセッサチップ。
  6. 前記データチェックハードウェアは、
    前記プロセッサコアから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割し、
    前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、
    前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成し、
    前記起動用データ上位要素及び前記起動用下位保護コードを前記第1の起動用サブメモリ領域に格納し、
    前記起動用データ下位要素及び前記起動用上位保護コードを前記第2の起動用サブメモリ領域に格納する、
    請求項5記載のプロセッサチップ。
JP2004122739A 2004-04-19 2004-04-19 記憶制御システム及びブート制御システム Expired - Fee Related JP4544901B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004122739A JP4544901B2 (ja) 2004-04-19 2004-04-19 記憶制御システム及びブート制御システム
US10/878,284 US7287155B2 (en) 2004-04-19 2004-06-29 Storage control system and boot control system
EP04256416A EP1589427B1 (en) 2004-04-19 2004-10-19 Boot control system
DE602004003677T DE602004003677T2 (de) 2004-04-19 2004-10-19 Bootsteuersystem
US11/873,995 US7644263B2 (en) 2004-04-19 2007-10-17 Storage control system and boot control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004122739A JP4544901B2 (ja) 2004-04-19 2004-04-19 記憶制御システム及びブート制御システム

Publications (2)

Publication Number Publication Date
JP2005309580A JP2005309580A (ja) 2005-11-04
JP4544901B2 true JP4544901B2 (ja) 2010-09-15

Family

ID=34930742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004122739A Expired - Fee Related JP4544901B2 (ja) 2004-04-19 2004-04-19 記憶制御システム及びブート制御システム

Country Status (4)

Country Link
US (2) US7287155B2 (ja)
EP (1) EP1589427B1 (ja)
JP (1) JP4544901B2 (ja)
DE (1) DE602004003677T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623660B1 (en) 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US7328335B1 (en) 2004-10-01 2008-02-05 Xilinx, Inc. Bootable programmable logic device for internal decoding of encoded configuration data
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
TWI355608B (en) * 2008-01-30 2012-01-01 Inventec Corp Computer system with dual basic input output syste
GB2471464A (en) * 2009-06-29 2011-01-05 Nokia Corp Procedure for generating a merged command list form the static lists to be used to start up or boot up the host device.
CN102087625A (zh) * 2009-12-04 2011-06-08 鸿富锦精密工业(深圳)有限公司 开机测试系统及测试方法
TWI450194B (zh) * 2011-11-10 2014-08-21 Inst Information Industry 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體
CN109634906B (zh) * 2018-12-12 2022-07-05 浪潮(北京)电子信息产业有限公司 一种ic通信系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2003196097A (ja) * 2001-12-26 2003-07-11 Fujitsu Ltd プロセッサおよびそのブート方法
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1002271B (it) * 1973-12-27 1976-05-20 Honeywell Inf Systems Perfezionamento ai dispositivi di controllo di parita nelle memorie a semiconduttori
JPS6371736A (ja) * 1986-09-12 1988-04-01 Fujitsu Ltd Romのパリテイビツト領域割当方式
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
JPH05216776A (ja) * 1992-02-04 1993-08-27 Hitachi Ltd 自動車用コントロールユニット
JPH06243049A (ja) * 1993-02-15 1994-09-02 Fujitsu Ltd パリティ制御回路
US5797023A (en) * 1994-10-17 1998-08-18 Digital Equipment Corporation Method and apparatus for fault tolerant BIOS addressing
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
TW400469B (en) 1997-07-08 2000-08-01 Winbond Electronics Corp Device capable of fixing programs in embedded microprocessor
JPH1196012A (ja) * 1997-09-19 1999-04-09 Yokogawa Electric Corp 分散制御装置
US5832005A (en) * 1997-12-11 1998-11-03 International Business Machines Corporation Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
US6571347B1 (en) * 1999-05-24 2003-05-27 Winbond Electronics Corporation Apparatus and method for intelligent computer initiation program recovery
JP2001109629A (ja) 1999-10-05 2001-04-20 Toshiba Corp Cpuのブート制御装置及びブート制御方法
US6625730B1 (en) 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
US6571310B1 (en) * 2000-04-20 2003-05-27 International Business Machines Corporation Method and apparatus for managing a heterogeneous data storage system
US6792556B1 (en) 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US6490668B2 (en) * 2000-12-15 2002-12-03 Hewlett-Packard Company System and method for dynamically moving checksums to different memory locations
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
US6907522B2 (en) 2002-06-07 2005-06-14 Microsoft Corporation Use of hashing in a secure boot loader
US7017017B2 (en) * 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
US7340638B2 (en) 2003-01-30 2008-03-04 Microsoft Corporation Operating system update and boot failure recovery
TWI243335B (en) 2003-09-04 2005-11-11 Htc Corp Booting method for performing warm boot or cold boot when CPU is down, and its computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2003196097A (ja) * 2001-12-26 2003-07-11 Fujitsu Ltd プロセッサおよびそのブート方法
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置

Also Published As

Publication number Publication date
EP1589427A1 (en) 2005-10-26
US7644263B2 (en) 2010-01-05
US7287155B2 (en) 2007-10-23
US20080046672A1 (en) 2008-02-21
US20050235138A1 (en) 2005-10-20
EP1589427B1 (en) 2006-12-13
JP2005309580A (ja) 2005-11-04
DE602004003677D1 (de) 2007-01-25
DE602004003677T2 (de) 2007-10-04

Similar Documents

Publication Publication Date Title
US6754765B1 (en) Flash memory controller with updateable microcode
US11360696B2 (en) System startup method and apparatus, electronic device, and storage medium
US20210294699A1 (en) Control plane method and apparatus for providing erasure code protection across multiple storage devices
US11860672B2 (en) Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
KR20120107126A (ko) 카피-백 동작을 수행하기 위한 방법 및 제어기
KR20070085561A (ko) 섹터 버퍼를 포함하는 메모리 시스템
CN102541469B (zh) 固件存储系统中数据保护的方法、设备及系统
US7644263B2 (en) Storage control system and boot control system
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
KR20200041815A (ko) FPGA+SSD 내부의 임베디드 PCIe 스위치로 이레이저 코드 데이터 보호 기능을 지원하는 시스템
JP7143735B2 (ja) メモリコントローラ、及びメモリシステム
KR20090091708A (ko) 정보 처리 시스템 및 이 시스템의 기동/복구 방법
JP5331018B2 (ja) ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
JP2012128645A (ja) メモリシステム
JP5103823B2 (ja) 情報処理装置および入出力要求制御方法
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
CN116263643A (zh) 存储级内存、数据处理方法和处理器系统
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法
US8627157B2 (en) Storing apparatus
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
TWI705330B (zh) 資料儲存裝置以及參數改寫方法
JP7457248B2 (ja) 記憶装置
JP2011065313A (ja) ストレージデバイス
US20240095196A1 (en) Method for supporting erasure code data protection with embedded pcie switch inside fpga+ssd

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

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: 20100629

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: 20100629

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees