JPH11296355A - デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法 - Google Patents

デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法

Info

Publication number
JPH11296355A
JPH11296355A JP11049589A JP4958999A JPH11296355A JP H11296355 A JPH11296355 A JP H11296355A JP 11049589 A JP11049589 A JP 11049589A JP 4958999 A JP4958999 A JP 4958999A JP H11296355 A JPH11296355 A JP H11296355A
Authority
JP
Japan
Prior art keywords
boot
memory device
active state
memory
information
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
JP11049589A
Other languages
English (en)
Inventor
Gregory Hill
グレゴリー・ヒル
Raymond A Purcell
レイモンド・エイ・パーセル
Charles D Platz
チャールズ・ディ・プラズ
Glen Atkins
グレン・アトキンス
Lee Atchison
リー・アチソン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH11296355A publication Critical patent/JPH11296355A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】本発明を用いると、多重ブートメモリデバイ
ス、該多重ブートメモリデバイスを更新する方法および
該多重ブートメモリデバイス間で選択する方法を提供す
る。 【解決手段】リセットスイッチ122は、リセットスイ
ッチの長時間アクティブ状態とその短時間アクティブ状
態を区別する検出回路(118、120)に接続され、
この検出回路に関連する選択回路116は、検出回路が
検出した長時間アクティブ状態または短時間アクティブ
状態に応答して、プログラム可能デバイスによる使用の
ために主ブートメモリデバイス108または補助ブート
メモリデバイス110を選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム可能デ
バイスにおけるプログラム更新に関し、特に、デュアル
ブートプログラム可能デバイスにおいてプログラム更新
を実行し、前述のデュアルブート可能なデバイスすなわ
ち装置を使用する方法および関連装置に関する。
【0002】
【従来技術】プログラム可能デバイスにおける初期ロー
ディングのために更新可能なブート命令シーケンスを提
供することは、当該技術において一般的に知られてい
る。本明細書中で用いる「プログラム可能デバイス」に
は、プロセッサ(処理装置)、フィールドプログラム可
能論理デバイス、その他のプログラム可能な電子機器が
含まれる。プロセッサは、関連するメモリ(またはプロ
セッサに関連するキャッシュメモリの内部)に格納され
たプログラムされている命令を実行するコンピューティ
ングデバイスあるいは計算装置である。プロセッサは、
所望のアプリケーションについてその動作を初期化する
ためにブート命令シーケンスをメモリデバイスから取り
出しすなわちフェッチして、実行する。フィールドプロ
グラム可能論理デバイス(FPLD:field programmabl
e logic device)は、ブール論理電子回路のアレイを
(通常、単一集積回路内に)含むデバイスである。各種
論理回路間の相互接続は、関連メモリデバイスからFP
LD内にロードされるプログラムされたシーケンス(例
えば、ブート命令シーケンス)によって規定あるいは定
義される。さらに、本明細書中で用いる「ブート命令シ
ーケンス」は、ブート命令シーケンスに関連するプログ
ラム可能デバイスによってロードされ、また取り出され
るいずれのプログラムされた情報も広義に含むものとす
る。
【0003】通常、前述のブート命令シーケンスは、こ
のプログラム可能デバイスに関連するメモリに格納され
る。例えば、典型的なパーソナルコンピューティングシ
ステムでは、メモリデバイス(例えば、ROM BIO
Sチップ)は、パーソナルコンピュータの中央処理装置
(CPU)によって実行されるべき初期命令を格納す
る。このようなパーソナルコンピュータをリセットした
り、最初に電源を投入すると、中央処理装置は、ROM
メモリデバイスからブート命令を直接取り出しあるいは
フェッチする。あるいは、例えば、ある特定のアプリケ
ーションでは、FPLDが、そのコンフィギュレーショ
ンすなわち構成内容を関連メモリデバイスから初期ロー
ドする。初期コンフィギュレーションは、その所期のア
プリケーションにおいてFPLDによって実行されるべ
きブール論理関数を規定あるいは定義する。
【0004】ブート命令シーケンスを含むメモリデバイ
スは、これに含まれる命令(論理関数)が更新された命
令によって再プログラミングできるという意味から、し
ばしば更新可能である。例えば、典型的なパーソナルコ
ンピュータでは、中央処理装置において動作する命令に
よって電子的に消去されて再プログラムされ得るフラッ
シュメモリデバイスにブート命令を格納することがよく
ある。あるいは、例えば、フィールドプログラム可能論
理デバイスは、リセット時に、フィールドプログラム可
能論理デバイスに関連するこのようなフラッシュまたは
プログラム可能メモリデバイスに格納された情報によっ
て初期プログラムされるか、または関連プロセッサにお
いて動作する命令によって更新される。
【0005】このようなブート情報(プログラム命令、
プログラムされた論理等)を含むメモリデバイスは、通
常、まずメモリデバイスの内容を消去し、次いで更新さ
れたブート情報によってメモリデバイスをプログラムす
ることによって更新される。従って、更新シーケンスが
何らかの事情で失敗すると問題が生じる可能性がある。
このような不具合が生じたメモリデバイスは、使用不能
な状態で放置される場合がある。例えば、メモリデバイ
スの消去は完了したかも知れないが、再プログラミング
が失敗したかもしれない、あるいは再プログラミングが
部分的に失敗してしまったかもしれない。もしブートメ
モリデバイスがそのような使用できない状態で放置され
たら、このような使用不能状態でブートメモリデバイス
が放置されると、アプリケーション全体がシャットダウ
ンあるいは強制終了され得る(例えば、コンピュータが
動かなくなるかもしれないし、またはFPLDを組み込
んだ回路が動作しなくなるかもしれない)。
【0006】上記の記載に鑑みて、プログラム可能な電
子デバイス(装置)に関連するブートメモリデバイスを
使用および更新する改良された方法および関連装置の必
要性があることは明らかである。
【0007】
【発明が解決しようとする課題】本発明は、多重ブート
メモリデバイス、該多重ブートメモリデバイスを更新す
る方法および該多重ブートメモリデバイス間で選択する
方法を提供することによって、上記および他の課題を解
決するものであり、これによって有益な先端技術を進展
させる。
【0008】
【課題を解決するための手段】本発明は、好ましくは2
個のメモリデバイスを利用して、デュアル(二重)ブー
トメモリデバイスを規定するものであるが、プログラム
可能デバイスとともに使用される任意の複数のブートメ
モリデバイスに適用してもよい。
【0009】特に、本発明は、それぞれが、関連プログ
ラム可能デバイス(例えば、プロセッサまたはFPL
D)によって用いられるブート命令を含む主ブートメモ
リデバイスあるいは第1のブートメモリデバイス、およ
び補助ブートメモリデバイスあるいは第2のブートメモ
リデバイスを提供する。上述のように、ブート情報は、
中央処理装置によって用いられるプログラム命令または
FPLDによって用いられるプログラムされた論理であ
ってもよく、あるいはプログラム可能デバイスによって
読み取られ、取り出され、またはこれによってロードさ
れるか、これにロードされるその他あらゆるプログラム
された情報であってもよい。
【0010】本発明の方法および関連装置によって、主
ブートメモリデバイスまたは補助ブートメモリデバイス
の一方が、この関連プログラム可能デバイスによる初期
使用のために選択可能である。特に、本発明は、リセッ
トスイッチを提供し、これが、リセットスイッチの長時
間アクティブ状態とその短時間アクティブ状態を区別す
る検出回路に接続されている。この検出回路に関連する
選択回路は、検出回路が検出した長時間アクティブ状態
または短時間アクティブ状態に応答して、プログラム可
能デバイスによる使用のために主ブートメモリデバイス
または補助ブートメモリデバイスを選択する。
【0011】本発明のリセット送出機能によって選択さ
れたブートメモリデバイスは、本明細書ではアクティブ
状態のメモリ(または現在アクティブ状態のメモリ)と
いうが、選択されないメモリは非アクティブ状態のメモ
リ(または現在非アクティブ状態のメモリ)という。従
って、主ブートメモリデバイスまたは補助ブートメモリ
デバイスの一方は、本発明の検出および選択機能の動作
によって現在アクティブ状態のメモリとみなされる。言
い換えれば、現在アクティブ状態のメモリは、プログラ
ム可能デバイスをブートするために使用されるメモリで
ある。
【0012】本発明の別の方法および装置は、2個のブ
ートメモリデバイスを連続的にのみ、すなわち同時にで
はなくシーケンシャルにのみ更新可能にすることによっ
て、本システムまたはプログラム可能デバイスの動作を
不能にする機会を軽減する助けとなる。補助ブートメモ
リデバイスの更新が許される前に、主ブートメモリデバ
イスの更新が成功裡に完了しなければならい(およびこ
の逆もある)。
【0013】本発明の方法および装置を組み合わせるこ
とによって、システムまたはデバイスは、2個(あるい
はそれ以上)のブートメモリデバイスの一つから、この
ブートメモリデバイスの更新の現在の状態にかかわらず
確実に「ブート」できる。この2個のブートメモリデバ
イスの少なくとも1個は、確実に、更新手順中のいつの
時でも、有効かつ使用可能となる。さらに、リセットス
イッチとともに動作可能な検出および選択回路ならびに
その方法によって、本システムまたは装置の初期動作に
ついて既知の有効なブートメモリデバイスを選択するこ
とができる。
【0014】本発明の上記およびその他の特徴、態様お
よび利点は、後述する説明および添付図面から明らかに
なるであろう。
【0015】
【発明の実施の形態】本発明は、様々な変形および別様
の形態が可能であり、その具体的な実施形態は、図面で
例示され、本明細書において詳細を説明する。しかしな
がら、開示された特定の形態に本発明を限定するもので
はなく、むしろ逆に、本発明は、添付する請求の範囲に
よって規定されるように、本発明の精神および範囲に属
するあらゆる変形、均等物および代替物を含むものであ
る。
【0016】図1は、本発明の方法および装置が有利に
適用しうる典型的なシステムを示すブロック図である。
CPU100は、図1において示されるシステムの動作
全体を制御する。CPU100は、ROM選択論理11
4によって生成され、バス158を介してROMメモリ
デバイス108ないし112に施される制御に従って、
バス156を介してROMメモリ108、110または
112から命令およびデータを取り出す。また、CPU
100は、RAMメモリ106内のデータおよび/また
はプログラム命令も操作する。メモリ106ないし11
2およびROM選択論理114は、CPU100により
バス156を介してアクセスされる。
【0017】CPU100は、1394インタフェース
102およびバス152を経てIEEE1394バス1
50を介し、外部デバイスに接続されている。当該シス
テムではフィールドプログラム可能ゲートアレイ(FP
GA)104は、その動作をカスタマイズするのに使用
される。FPGA104は、バス154を介してCPU
100と接続して示されている。このFPGA104
が、図1に例示したシステムが要求する特に有益なアプ
リケーションに特定される機能のいずれをも実行するよ
うに適応されることは、当業者には容易に理解されよ
う。IEEE1394バス150を介してCPU100
に接続される外部デバイスは、ブートフラッシュROM
A108、またはブートフラッシュROM B110
に格納されるプログラム命令(ブート情報)をより最新
のブート情報で更新することを要求できる。上記で記載
したように、ブート情報は、CPU100によって取り
出され実行される命令および/またはFPGA104を
構成および動作するために用いられるプログラミング情
報を含んでもよい。
【0018】外部デバイスによるROMメモリ108ま
たは110内のブート情報を更新する要求には、ブート
ROMメモリ108または110に再プログラムされる
新規ブート情報が伴う。CPU100は、以下に説明す
る本発明の方法に従って、外部デバイスによってIEE
E1394バス150を介して供給される更新ブート情
報を受信し、この更新ブート情報をブートROMメモリ
108および110へプログラムする。
【0019】ROM選択論理114は、CPU100に
よって供給されるアドレス値に応じて各種ROMメモリ
108ないし112、およびブート選択論理回路116
によって生成され、バス160に供給される選択信号
を、可能および不能にする。ブート選択論理回路116
は、ブートROMメモリA108またはブートROMメ
モリB110が、これに供給される入力に応じてパス1
62および164において選択されるべきかどうかを判
断する。長時間アクティブ状態検出回路118および短
時間アクティブ状態検出回路120によって生成された
信号は、パス162および164にそれぞれ供給され
る。長時間アクティブ状態検出回路118および短時間
アクティブ状態検出回路120は、いずれもリセットス
イッチ122によって生成された信号を受信する。スイ
ッチ122によって生成されたリセット信号(適切なプ
ルアップおよび/またはプルダウン抵抗と接続される)
を本発明のインタフェースにおける他の回路に供給でき
ることは、当業者には理解されよう。図1に示されるよ
うに、本発明の検出および選択回路に関連するリセット
信号の態様あるいは局面のみが示されている。検出回路
118および120は、リセットスイッチ122のアク
ティブ状態時間に基づいて、このスイッチの長時間アク
ティブ状態を検出するか、または前記スイッチの短時間
アクティブ状態を検出するかを判断する。リセットスイ
ッチ122の短時間アクティブ状態を検出回路120が
検出した場合、これを示す信号をパス164に供給す
る。同様に、検出回路118が検出した長時間スイッチ
アクティブ状態は、パス162において信号を生成す
る。パス162および164に供給された信号によっ
て、ブート選択論理回路116が、適切な信号を生成
し、これをバス160を介してROM選択論理114に
与える。ROM選択論理114は、バス158に適切な
信号を順次供給して、ブートROMメモリ108および
110の一方のブート情報にアクセスするCPU100
にとって適切なメモリデバイスを選択する。CPU10
0は、次に、デュアルブートフラッシュROM108お
よび110のうちの選択された一方から必要なブート情
報にバス156を介してアクセスする。ブート情報に関
連のない他の情報は、非ブートフラッシュROM112
に格納され、必要に応じてCPU100がバス156を
介してこれにアクセスする。
【0020】図1に示すように、本発明の方法および装
置の適用が、本発明の好適な一実施形態を例示したにす
ぎないことは、当業者には容易に理解されよう。以下に
詳細を説明するように、本発明の方法および装置を有利
に適用できる様々なシステムがあることは、当業者には
容易に理解されよう。さらに、FPGA104が、ブー
トROMメモリ108および110に格納されるブート
情報にも直接アクセスできる広範囲にわたる様々なフィ
ールドプログラム可能論理デバイス(FPLD)を代表
していることは、当業者には容易に理解されよう。上記
FPLD内の論理および回路は、関連メモリデバイス
(例えば、ブートROMメモリ108および110)に
直接アクセスし、プログラムされている論理情報(本明
細書において全般的に「ブート情報」と称する)をロー
ドすることができる。従って、CPU100は、本発明
の方法および装置のあらゆる適用における要件ではな
い。
【0021】上記記載のように、本発明の一態様あるい
は一局面には、複数のブートメモリデバイスの中からリ
セットスイッチの特定のアクティブ状態タイプの検出に
基づいて選択する回路および方法が含まれる。特に、図
1に示すように、リセットスイッチ122は、アクティ
ブ状態検出回路118および120に接続されている。
アクティブ状態検出回路118および120は、通常、
リセットスイッチ122が「短」時間または「長」時間
にわたってアクティブ状態にされたかどうかを判断す
る。より詳細には、長時間アクティブ状態検出回路11
8は、リセットスイッチ122が予め決められた長い持
続時間より長くアクティブ状態にされたと判断する。同
様に短時間アクティブ状態検出回路120は、リセット
スイッチ122が予め決められた短い持続時間より短く
アクティブ状態にされたと判断する。上述のように、リ
セットスイッチ122の短時間アクティブ状態を認識す
る特定の回路は不要となりうる。言い換えれば、好適な
実施形態では、リセットスイッチ122の短時間アクテ
ィブ状態は、予め決められた長い持続時間より短いリセ
ットスイッチ122のアクティブ状態として検出されて
いる。
【0022】ブート選択論理回路116は、長時間アク
ティブ状態検出回路118および短時間アクティブ状態
検出回路120によって生成される信号に応じて、ブー
トフラッシュROM A108またはブートフラッシュ
ROM B110を選択する信号を生成する。ブート選
択論理116には、例えば、ブートフラッシュROMA
108をリセットスイッチ122の長時間アクティブ状
態または短時間アクティブ状態のいずれか一方(第1ア
クティブ状態タイプ)と、ブートフラッシュROM B
110を長時間アクティブ状態または短時間アクティブ
状態の他方または第2アクティブ状態タイプに関連づけ
るユーザ選択可能なオプションを含んでも良い。このよ
うなユーザのコンフィギュレーション選択(例えば、ジ
ャンパの構成設定あるいはその他のユーザ選択手段)
は、デュアルブートROMのうち一方を第1アクティブ
状態タイプに、他方のデュアルブートROMを第2アク
ティブ状態タイプに関連づける柔軟性を可能にするもの
である。好適な実施形態を含む本発明の大部分の適用で
は、単純化のためにかかる柔軟性は要求されない。従っ
て、ブート選択論理116は、リセットスイッチ122
の短時間アクティブ状態をブートフラッシュROM A
108からのブートに固定マッピングし、リセットスイ
ッチ122の長時間アクティブ状態をブートフラッシュ
ROM B110からのブートにマッピングする。
【0023】ブート選択論理回路116によって生成さ
れる選択信号は、アドレスデコードと関連する信号を順
次生成するROM選択論理114、および所望のブート
ROMメモリデバイスを物理的に選択するのに必要なメ
モリチップ選択に適用される。上記記載のように、RO
M選択論理114は、バス156上でCPU100によ
って生成されるアドレスに応答して、またブート選択論
理回路116によって生成されるパス160上の信号に
応答して、チップ選択信号を各種ROMメモリデバイス
108ないし112にバス158を介して供給する。
【0024】リセットアクティブ状態検出方法図3は、
本発明のリセット検出回路およびブート選択回路の動作
を説明するフローチャートである。図3において説明さ
れる方法は、ブート選択論理回路116ならびにアクテ
ィブ状態検出回路118および120において動作可能
である。ブート選択論理回路116ならびにアクティブ
状態検出回路118および120の機能が、好ましく
は、汎用プログラム可能論理ではなく単純な電子回路を
使用して実行されることは、当業者には容易に理解され
よう。従って、図3に示される方法は、前述のブート選
択およびリセット検出回路の動作を広義に説明するよう
意図されている。
【0025】要素300は、まず、リセットスイッチ1
22の押下の初期検出に応答して動作可能である。要素
300は、アクティブ状態検出回路118および120
におけるタイマー(例えば、カウンタ回路)を始動させ
る。上述のように、長時間アクティブ状態のしきい値を
超えないリセットスイッチ122のあらゆるアクティブ
状態を検出することによって、リセットスイッチ122
の短時間アクティブ状態の検出を簡易に実行できること
は、当業者には理解されよう。従って、1個の検出回路
(例えば、長時間アクティブ状態検出回路118)にお
ける1個のタイマー回路は、本発明の装置および方法の
多くの用途(好適な実施形態を含む)に十分である。
【0026】要素302は、次いで動作可能で、ユーザ
によるリセットスイッチのアクティブ状態の終了を意味
するリセットスイッチの押下解除を待機する。リセット
スイッチの解除の検出に応答して、要素304は次いで
動作可能で、リセットスイッチの検出したアクティブ状
態が、予め決められた長時間アクティブ状態のしきい値
を超えていたかどうかを判断する(例えば、長時間アク
ティブ状態検出回路118において)。しきい値は、予
め定められ、長時間アクティブ状態検出回路118に
(例えば、ユーザコンフィギュレーションスイッチ、ジ
ャンパ等によって)構成される。
【0027】好適な実施形態を単純化するために、1個
の長時間アクティブ状態のしきい値が、予め定められ、
長時間アクティブ状態検出回路118に「ハードワイヤ
ド」される(すなわち電気的に配線される)。さらに、
好適な実施形態では、短時間アクティブ状態は、上述の
長時間アクティブ状態でない場合として検出される。具
体的には、いかなるリセットスイッチアクティブ状態
も、アクティブ状態が予め決められた長い方の期間のし
きい値を上回るまでは短時間アクティブ状態と考えられ
る。
【0028】少なくとも長時間アクティブ状態のしきい
値の間リセットスイッチがアクティブ状態にされたこと
を検出する要素304に応答して、要素306は次いで
動作可能で、例えば、情報を実行または取り出すブート
フラッシュROM B110をCPU100(またはそ
の他のプログラム可能デバイス)によって選択する(例
えば、ブート選択論理回路116において)。長時間ア
クティブ状態のしきい値を下回るように、リセットスイ
ッチがアクティブ状態にされたことを検出する要素30
4に応答して、要素308は次いで動作可能で、ブート
情報を実行または取り出すブートフラッシュROM A
108をCPU100(またはその他のプログラム可能
デバイス)によって選択する(例えば、ブート選択論理
回路116において)。いずれの場合にも、このように
して、図3に示される方法によって動作が完了する。
【0029】ブート情報更新方法図2は、本発明による
ブートメモリデバイスによって信頼性のある更新を確実
に実行できる本発明の方法の動作を説明するフローチャ
ートである。図2に示される方法は、外部デバイスから
の要求に応答して、本発明の装置および方法を組み込む
当該システムにおいてブート情報を更新するよう動作可
能である。図2に示される方法は、通常、本発明に従っ
て動作可能なシステム内に組み込まれたCPUにおいて
動作可能である。しかしながら、図2で説明される方法
は、他のプログラム可能デバイスおよびFPLD等のロ
ジックすなわち論理回路内で動作可能であるか、または
これらによって制御できることは、当業者には容易に理
解されよう。従って、図2に説明される更新手順を実行
するためには汎用CPUは必要ではない。
【0030】図2の要素200は、まず、現在非アクテ
ィブ状態のブートメモリデバイスのコードの更新セクシ
ョンを受信するよう動作可能である。更新されるコード
セクションは、外部装置からIEEE1394インタフ
ェースを介して受信され、更新されるセクション全体が
外部デバイスから正確に受信されることを確実に行うた
めにRAMに一時的に格納される。
【0031】本明細書中で用いる現在アクティブ状態の
ブートメモリデバイスは、更新手順が現在機能している
一方のデバイスを指す(すなわち、更新を実行するCP
Uは、現在、このデバイスから命令を取り出して実行し
ている)。非アクティブ状態のブートメモリデバイス
は、他方のデバイスであり、更新手順を実行するために
現在使用されていない。本明細書において上述のよう
に、主メモリデバイスか、または補助メモリデバイスの
選択は、リセットスイッチの特定タイプのアクティブ状
態を検出することによって部分的に判断される。
【0032】次に、要素202は、更新を要求する外部
デバイスから受信したばかりのブート情報の新規セクシ
ョンで、現在非アクティブ状態のブートメモリデバイス
を更新するよう動作可能である。新たに受信したコード
のセクションは、前述のメモリデバイスをプログラムす
る標準的な技術によって、現在非アクティブ状態のフラ
ッシュROMにプログラムされる。更新されるコードの
セクションがフラッシュROMデバイスの全体の内容で
あってもよく、または更新を要求するブート情報に関連
する単なる一部であってもよいことは、当業者には理解
されよう。かかる設計上の選択は当業者にはよく知られ
ている。
【0033】次に、要素204は、現在非アクティブ状
態のフラッシュROMの更新(プログラミング)が成功
したかどうかを判断するよう動作可能である。様々な公
知のエラー検査・訂正技術を用いて、非アクティブ状態
のメモリデバイスの更新が正しく行われたことを確認で
きることが、当業者には理解されよう。例えば、好適な
実施形態では、チェックサムすなわち検査合計値を用い
て、フラッシュROMデバイスに書き込まれた情報が正
しいことを判断できる。様々な同等のエラー検査技術を
駆使して、現在アクティブ状態のフラッシュメモリを首
尾よく更新したことを確認できることが、当業者には理
解されよう。
【0034】更新手順が首尾よく完了したと要素204
が判定すると、当該方法は、以下に説明するように要素
206へ続く。更新手順が失敗したと判断されると、当
該方法は、エラー状態のまま終了する。当該手順は、更
新手順の開始(要素200)に随時ジャンプあるいは飛
び越しを行って更新手順を再試行できることに当業者は
気づくであろう。外部デバイスと本発明の間のプロトコ
ルは、かかる不具合な状態と再試行要求を表すことがあ
る。
【0035】現在アクティブ状態のフラッシュメモリ
は、更新プロセスが現在非アクティブ状態のフラッシュ
メモリについて失敗したと要素204が判断した場合、
変更されないことに気づかれよう。従って、現在非アク
ティブ状態のメモリが首尾よく更新されるまで、現在ア
クティブ状態のメモリの更新は阻止される。これによっ
て、現在非アクティブ状態のフラッシュROMの更新に
失敗しても、2個のブートメモリデバイスのうち少なく
とも1個(すなわち、現在アクティブ状態のブートメモ
リデバイス)を、使用可能かつ、整合あるいはエラーを
起こさない状態で確実に保持する。
【0036】当該方法がエラー状態で終了すると、更新
を要求する外部デバイスに通知され、これによって、更
新手順が再試行される。さらに詳細には、本発明を具体
化するプログラム可能デバイスを再始動するたびに、当
該デバイスは、以前の更新手順がブートメモリデバイス
が整合しない状態または使用不能な状態で放置されてい
るかどうかを判断する。そうであれば、当該デバイス
は、装着されている外部デバイスによって更新手順を開
始することを要求する。デュアルブートメモリデバイス
が整合しないと判断するためには、上述したように、チ
ェックサムおよびバージョン/タイムスタンプ情報が潜
在的なエラーまたは不整合性について計算され、比較さ
れる。エラーまたは不整合性がこのように検出される
と、プログラム可能デバイスは、更新手順を外部デバイ
スによって開始するよう要求する。この手順は、本明細
書中図2において示すように、両フラッシュブートメモ
リデバイスを更新して確実に整合性をとる。プログラム
可能デバイスの再始動手順を本明細書において図4によ
って以下説明する。
【0037】要素204が、現在非アクティブ状態のフ
ラッシュROMについての更新手順が成功したと判断す
ると、要素206は、次に、現在アクティブ状態のフラ
ッシュROMの内容をプログラム可能デバイス(例え
ば、図1のRAMメモリ106)の別のメモリにコピー
するよう動作可能である。現在アクティブ状態のフラッ
シュROMの内容がコピーされると、前記手順がアクテ
ィブ状態のメモリにおけるプログラム命令を使用して動
作を継続するが、アクティブ状態のメモリ内容が使用中
に上書きされないようにこれを新規メモリ場所に再配置
する。別のメモリ場所からの更新手順を継続することに
よって、現在アクティブ状態のフラッシュROM内容を
更新してこのプロセスを継続する。要素208は、次
に、手順の実行を現在アクティブ状態のフラッシュRO
M命令の新たにコピーされたバージョンへ「ジャンプ」
する。これらのステップが、本発明のデュアルブートメ
モリから取り出された命令を実行するプロセッサに適用
するように、本発明の更新手順に関連することは、当業
者には理解されよう。更新手順をプログラム可能デバイ
スにおける専用論理回路に具体化する場合、現在アクテ
ィブ状態のブート情報の内容を別の場所にコピーするス
テップは不要になる。本発明の上述の実施形態では、ブ
ート情報は、更新手順を実行する「プログラムされた命
令」を含まず、むしろプログラム可能論理情報または他
の回路構成情報を含むことができる。従って、更新手順
は、この手順の実行を一方のメモリから別のものに「切
換」える必要がなくなる。
【0038】要素210は、次に、現在アクティブ状態
のフラッシュROMの新たなコードのセクションを受信
するよう動作可能である。上記のように、新たなコード
のセクションをIEEE1394インタフェースを介し
て受信し、更新全体を正しく受信することを確実にする
ためにRAMにこれを一時的に格納する。デュアルブー
トメモリデバイスが、アクティブ状態のブートメモリデ
バイスを更新する新規ブート情報の受信を回避するよう
に同一ブート情報を含みうることは、当業者には理解さ
れよう。好適な実施形態では、本明細書において図2に
示すように、ブートデバイスは、それぞれ(改訂レベル
が互換性のあるものにおいてであるが)異なるコードを
含んでもよい。例えば、主ブートメモリデバイスは、好
ましくはプロセッサデバイスと一体化されており、十分
に機能的な動作命令を含んでもよいが、外部メモリデバ
イスとしての補助ブートメモリデバイスは、アクセスが
遅くなるため、更新されたブート情報を主ブートメモリ
デバイスへと復元可能な最小命令のみを含む。
【0039】要素212は、次に、現在アクティブ状態
のフラッシュROMの内容を新たに受信したコードによ
って更新するよう動作可能である。特に、要素202に
関して上述したように、前述のメモリデバイスをプログ
ラムする公知の技術を用いて、新たに受信したブート情
報を現在アクティブ状態のフラッシュROMにプログラ
ムする。
【0040】要素214は、次に、要素204と同様に
動作可能であり、更新プロセスがアクティブ状態のフラ
ッシュROMについて成功したかどうかを判断する。こ
のプロセスが成功した場合、当該方法は、成功した更新
状態で終了し、当該デバイスの通常の動作にさらに進
む。前記プロセスが失敗したと判断されると、更新手順
を要求する外部デバイスにエラー状態が返される。上記
のように、このエラー状態は、別の更新手順を外部デバ
イスによって開始するプログラム可能デバイスからの要
求を含んでもよい。また、上記のように、チェックサム
を計算することによって、または他の公知のエラー検出
技術によって上記の不具合の判断が行われてもよい。
【0041】図2が、本発明の当該方法に従って動作可
能な更新手順を単に例示したものであることは、当業者
には容易に理解されよう。本発明の範囲において、同様
の手順および方法を利用して、デュアルブートメモリデ
バイスを更新することができる。本発明の当該方法の主
要な態様は、デュアルブートメモリデバイスの使用にあ
り、さらにブートメモリデバイスを連続してすなわちシ
ーケンシャルに更新することにある。デュアルブート更
新手順をシーケンシャルにさせる性質によって、2個の
メモリデバイスのうち1個は、使用可能な、整合する、
さらに動作可能なブート情報を含むという点において、
使用可能であることが確実に知られている。特に、現在
アクティブ状態のメモリデバイスは、非アクティブ状態
のメモリデバイスが首尾よく更新されたとの判断に応答
して、更新手順によって更新される。本発明のブート選
択および検出機能によって、ユーザは、更新手順が何ら
かの理由で失敗した場合に有効であることが知られてい
る1個のブートメモリデバイスを選択できる。
【0042】図4は、本発明の方法を説明するフローチ
ャートであり、これによって、プログラム可能デバイス
は、選択されたブートメモリデバイス(アクティブ状態
のフラッシュROM)が使用可能なブート情報を含むか
どうかを開始時に判断し、さらに更新プロセスの必要性
を判断する。図4に説明される方法では、本発明の方法
を具体化するプログラム可能デバイスが、プログラムさ
れた命令であって、プロセッサデバイスによって取り出
され実行された命令として想定されている。同様の方法
もまた、本明細書中の別の箇所で記載するように、特定
の回路および論理において具体化できる。
【0043】要素400は、まず、現在アクティブ状態
のフラッシュROMにおけるブート情報についてのチェ
ックサムを計算するよう動作可能である。上述したよう
に、現在アクティブ状態のフラッシュROMは、ユーザ
がリセットスイッチをアクティブ状態(上記に記載した
ようにリセットスイッチの非アクティブ状態)すること
によって選択された主メモリまたは補助メモリである。
チェックサム(または他の同等のエラー検出技術)によ
って、現在アクティブ状態のフラッシュROMの内容が
有効であるかどうか、およびこれをプログラム可能デバ
イスの動作に使用できるかどうかを判断する。要素40
2は、次に、計算されたチェックサムが現在アクティブ
状態のフラッシュROMにおける有効内容を示すか、ま
たは無効内容を示すかを判断するよう動作可能である。
チェックサムが有効アクティブメモリを示すと要素40
2が判断すると、処理は要素404に進む。
【0044】あるいは、要素402および404のチェ
ックサムの計算および比較がアクティブ状態メモリにお
ける無効内容を示す場合、処理は、要素403に進み、
アクティブ状態および非アクティブ状態のメモリデバイ
スの定義をスワップすなわち入替えし、要素400へル
ープバックしてプロセスを再び開始する。図4の方法
は、現在はアクティブ状態のフラッシュROMとして使
用される以前非アクティブ状態であったフラッシュRO
Mによって繰り返す。要素402および404のチェッ
クサムの計算および比較が示すように、明らかに無効な
内容ゆえに、どちらのブートデバイスも動作できない場
合、プログラム可能デバイスは、動作不能になる。この
ような状態は、当該デバイスが「ハードウェア」不良を
生じることなく電気的に動作可能である限り、当該デバ
イスのうちの少なくとも1個が動作可能なブート情報を
確実に保持する本発明の方法によって特に回避される。
【0045】要素402が、現在アクティブ状態のメモ
リがチェックサムの計算が示す有効ブート情報を含むと
判断すると、要素404は、次に、現在非アクティブ状
態のブートメモリデバイスに対応するチェックサム値を
計算するよう動作可能である。要素400および402
と同様に、要素404および406は、現在非アクティ
ブ状態のブートメモリデバイスの内容の有効性を判断す
る。要素406が、現在非アクティブ状態のブートメモ
リデバイスが明らかに有効なブート情報を含むと判断す
ると、次に、要素408は、この2個のブートメモリデ
バイスがタイムスタンプ(または他のバージョン関連)
情報に対して整合性があるかどうかを判断するよう動作
可能である。両ブートメモリデバイスが、ブート情報の
バージョンについて整合する場合、当該方法は、終了
し、更新プロセスは不要になる。
【0046】現在非アクティブ状態のブートメモリデバ
イスが無効の場合、または2個のブートメモリデバイス
が整合しないバージョンを含む場合、要素410は、装
着された外部デバイスからIEEE1394インタフェ
ースを介して更新プロセスを要求するよう動作可能であ
る。このように当該方法は終了し、更新プロセスは、最
終的に図2において上記に記載されたプロセスに従って
外部デバイスによって開始される。
【0047】プログラム可能デバイスと外部デバイスと
の間で用いられる通信プロトコルに関連する他の方法に
よって、外部デバイスは、デュアルブートメモリデバイ
スにロード中のブート情報の現行バージョンを判断す
る。これによって外部デバイスは、デュアルブートメモ
リの現行バージョンについて照会し、更新手順の要求を
判断する。従って、それ自体がエラーまたは不整合性に
よって更新を要求すると判断するプログラム可能デバイ
スに加えて、外部デバイスもまた、外部デバイスにとっ
て利用可能なブート情報の新規リリースに鑑みて更新が
必要であると判断する。
【0048】図4が、本発明の方法に従って動作可能な
再始動手順を単に例示したものであることは、当業者に
は理解されよう。本発明の範囲において、同様の手順お
よび方法を利用して、デュアルブートメモリデバイスを
有するプログラム可能デバイスを本発明に従って再始動
することができる。本発明の方法の主要な態様は、無効
なブート情報を阻止するとともに装着された外部デバイ
スから更新を要求することによって、デュアルブートメ
モリデバイスが整合する情報を確実に含むような処理に
ある。
【0049】本発明を図面および前述の説明においてこ
れまで詳細に図示し説明してきたが、これら図示および
説明は、例示として考慮されるべきであって、性質にお
いて制限されるものではない。また、好適な実施形態お
よびその些末な変形例のみをこれまで示し、説明してき
たが、本発明の精神に含まれるあらゆる変更および変形
の保護を望むことは理解されよう。
【0050】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0051】(実施態様1)デュアルブート可能なプロ
グラム可能デバイスにおいてプログラム可能な情報を利
用する方法であって、前記方法は、更新されたブート情
報を取り付けられたホストから主ブートメモリデバイス
にダウンロードするステップ(200・・202)と、
前記更新されたブート情報を前記主ブートメモリデバイ
スにダウンロードするステップが首尾よく完了したこと
に応答して、更新されたブート情報を前記ホストから補
助ブートメモリデバイスにダウンロードするステップ
(206・・212)と、を含むことを特徴とする方
法。
【0052】(実施態様2)前記主ブートメモリデバイ
スにダウンロードするステップの動作において不具合を
検出するステップ(204、400・・403)と、前
記不具合の検出に応答して、前記補助ブートメモリデバ
イスへのダウンロードを回避するステップ(204、4
00・・403)と、を含む、実施態様1に記載の方
法。
【0053】(実施態様3)前記不具合を検出するステ
ップに応答して、前記主ブートメモリデバイスと前記補
助ブートメモリデバイスからブートメモリデバイスを選
択するステップ(400・・403)を含む、実施態様
2に記載の方法。
【0054】(実施態様4)前記主ブートメモリデバイ
スおよび前記補助ブートメモリデバイスと関連づけられ
たリセットスイッチの短時間アクティブ状態を検出する
ステップ(300・・308)と、前記リセットスイッ
チの長時間アクティブ状態を検出するステップ(300
・・308)と、を含む、実施態様3に記載の方法。
【0055】(実施態様5)前記選択ステップは、前記
リセットスイッチの前記短時間アクティブ状態の前記検
出に応答して、前記主ブートメモリデバイスを選択する
ステップ(308)と、前記リセットスイッチの前記長
時間アクティブ状態の前記検出に応答して、前記補助ブ
ートメモリデバイスを選択するステップ(306)と、
を含む、実施態様4に記載の方法。
【0056】(実施態様6)主ブートメモリデバイス
(108)と、補助ブートメモリデバイス(110)
と、スイッチ(122)と、前記スイッチに接続され、
前記スイッチの第1タイプのアクティブ状態を検出する
よう動作可能であり(118)、前記スイッチの第2タ
イプのアクティブ状態を検出するよう動作可能である
(120)センサと、前記センサ(118、120)な
らびに前記主ブートメモリデバイス(108)および前
記補助ブートメモリデバイス(110)と接続され、前
記スイッチ(122)の前記第1タイプのアクティブ状
態(118)の検出に応答して選択されたブートメモリ
として前記主ブートメモリデバイス(108)を選択す
るよう動作可能であり、前記スイッチ(122)の前記
第2タイプのアクティブ状態(120)の検出に応答し
て選択されたブートメモリとして前記補助ブートメモリ
デバイス(110)を選択するよう動作可能である選択
回路(114、116)と、を有することを特徴とする
デュアルブート可能デバイス。
【0057】(実施態様7)前記主ブートメモリデバイ
ス(108)および前記補助ブートメモリ(110)な
らびに前記選択回路(114、116)に接続されたプ
ロセッサ(100)であって、プログラムされた命令を
前記選択されたブートメモリからロードするプロセッサ
(100)を有する、実施態様6に記載のデバイス。
【0058】
【発明の効果】以上のように、本発明を用いると、多重
ブートメモリデバイス、該多重ブートメモリデバイスを
更新する方法および該多重ブートメモリデバイス間で選
択する方法を提供することができ、これにより、プログ
ラム可能な電子デバイス(装置)に関連するブートメモ
リデバイスを使用および更新する改良された方法および
関連装置を提供する。
【0059】また、本発明により、デュアルブートメモ
リデバイスを有するプログラム可能デバイスを本発明に
従って再始動することができる。本発明の方法により、
無効なブート情報を阻止するとともに装着された外部デ
バイスから更新を要求することによって、デュアルブー
トメモリデバイスが整合する情報を確実に含むことがで
きる。
【図面の簡単な説明】
【図1】図1は、本発明のデュアルブートメモリ装置お
よび方法が有利に適用される代表的なシステムのブロッ
ク図である。
【図2】図2は、本発明のデュアルブートメモリにおい
てブート情報を信頼できるように更新するように機能す
る本発明の方法の動作を説明するフローチャートであ
る。
【図3】図3は、当該システムに関連するリセットスイ
ッチのアクティブ状態タイプの検出に応じて、本発明の
デュアルブートメモリデバイスのうちの1つを選択する
本発明の方法の動作を説明するフローチャートである。
【図4】図4は、どのデュアルブートメモリが動作可能
であるか、および更新手順を要求するかどうかを決定す
るためにプログラム可能デバイスの再始動時の本発明の
方法の動作を説明するフローチャートである。
【符号の説明】
100:CPU 102:1394インタフェース 104:FPGA 106:RAMメモリ 108:ブートフラッシュROM A 110:ブートフラッシュROM B 112:ROMメモリデバイス 114:ROM選択論理 116:ブート選択論理回路 118:長時間アクティブ状態検出回路 120:短時間アクティブ状態検出回路 122:リセットスイッチ 150:IEEE1394バス 152、154、156、158、160、162、1
64:バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ・ディ・プラズ アメリカ合衆国コロラド州 ラブランド ウエストリッジ・ドライブ1301 (72)発明者 グレン・アトキンス アメリカ合衆国コロラド州 ラブランド パインヒル・ドライブ4600 (72)発明者 リー・アチソン アメリカ合衆国コロラド州 フォート・コ リンズ レッド・マウンテン・ドライブ 3118

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】デュアルブート可能なプログラム可能デバ
    イスにおいてプログラム可能な情報を利用する方法であ
    って、前記方法は、 更新されたブート情報を取り付けられたホストから主ブ
    ートメモリデバイスにダウンロードするステップと、 前記更新されたブート情報を前記主ブートメモリデバイ
    スにダウンロードするステップが首尾よく完了したこと
    に応答して、更新されたブート情報を前記ホストから補
    助ブートメモリデバイスにダウンロードするステップ
    と、を含むことを特徴とする方法。
JP11049589A 1998-02-28 1999-02-26 デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法 Pending JPH11296355A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/032,687 US5987605A (en) 1998-02-28 1998-02-28 Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
US032,687 1998-02-28

Publications (1)

Publication Number Publication Date
JPH11296355A true JPH11296355A (ja) 1999-10-29

Family

ID=21866296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11049589A Pending JPH11296355A (ja) 1998-02-28 1999-02-26 デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法

Country Status (3)

Country Link
US (1) US5987605A (ja)
EP (1) EP0939367A3 (ja)
JP (1) JPH11296355A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234051B2 (en) * 2002-08-09 2007-06-19 Intel Corporation Method and apparatus for booting from a selection of multiple boot images

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282675B1 (en) 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6363492B1 (en) * 1998-04-30 2002-03-26 Compaq Computer Corporation Computer method and apparatus to force boot block recovery
US6321332B1 (en) * 1998-06-17 2001-11-20 Intel Corporation Flexible control of access to basic input/output system memory
US6513113B1 (en) * 1998-06-19 2003-01-28 Ricoh Company, Ltd. Electronic instrument adapted to be selectively booted either from externally-connectable storage unit or from internal nonvolatile rewritable memory
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6275930B1 (en) * 1998-08-12 2001-08-14 Symantec Corporation Method, computer, and article of manufacturing for fault tolerant booting
US6272627B1 (en) * 1998-10-30 2001-08-07 Ati International Srl Method and apparatus for booting up a computing system with enhanced graphics
US6628607B1 (en) 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
JP2001051851A (ja) * 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6671768B1 (en) 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6959343B1 (en) 1999-11-01 2005-10-25 Apple Computer, Inc. Method and apparatus for dynamic link driver configuration
US6631426B1 (en) 1999-11-02 2003-10-07 Apple Computer, Inc. Automatic ID allocation for AV/C entities
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US8762446B1 (en) 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US6636914B1 (en) * 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6587904B1 (en) 1999-11-05 2003-07-01 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US6622246B1 (en) * 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US6457086B1 (en) * 1999-11-16 2002-09-24 Apple Computers, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6948011B1 (en) * 1999-12-07 2005-09-20 Advanced Micro Devices Alternate Register Mapping
WO2001050261A2 (en) * 1999-12-29 2001-07-12 Sun Microsystems, Inc. Updating non volatile memory in a data processing system
JP3838840B2 (ja) * 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7266617B1 (en) 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7421507B2 (en) * 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6831928B1 (en) 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6691160B1 (en) * 2000-04-19 2004-02-10 Adaptec, Inc. Input/output communication networks and booting protocols
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6880048B1 (en) * 2000-06-08 2005-04-12 Palm, Source, Inc. Method and apparatus for fault-tolerant update of flash ROM contents
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
GB2376763B (en) 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US6957328B2 (en) * 2001-01-05 2005-10-18 International Business Machines Corporation System and method using a first counter and a second counter to select a code image during a reboot routine
GB0102518D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted operating system
JP3629517B2 (ja) * 2001-01-31 2005-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置のブートデバイス切替方法。
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372592B (en) 2001-02-23 2005-03-30 Hewlett Packard Co Information system
US20020162052A1 (en) * 2001-04-25 2002-10-31 Lewis Timothy A. Method for entering system firmware recovery mode using software-detectable buttons
US20020178352A1 (en) * 2001-05-22 2002-11-28 Lambino John P. Firmware upgrade using address conversion
GB2376762A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Renting a computing environment on a trusted computing platform
GB0114898D0 (en) * 2001-06-19 2001-08-08 Hewlett Packard Co Interaction with electronic services and markets
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
US6857065B2 (en) * 2001-07-05 2005-02-15 International Business Machines Corporation System and method for system initializating a data processing system by selecting parameters from one of a user-defined input, a serial non-volatile memory and a parallel non-volatile memory
US6523103B2 (en) * 2001-07-17 2003-02-18 Agilent Technologies, Inc. Disablement of a write filter stored on a write-protected partition
JP4840553B2 (ja) * 2001-07-31 2011-12-21 日本電気株式会社 無線通信機と、そのブートプログラム書き換え方法及びプログラム
US20030028799A1 (en) * 2001-07-31 2003-02-06 Cordella Robert H. Processes and systems for secure access to information resources using computer hardware
GB2382419B (en) 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
JP2003280915A (ja) * 2002-03-22 2003-10-03 Toshiba Corp 情報機器、記憶媒体、及びシステム起動方法
JP3677252B2 (ja) * 2002-03-22 2005-07-27 株式会社東芝 情報機器、記憶媒体、及び初期状態復元方法
US7080245B2 (en) 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
TWI278750B (en) * 2002-09-05 2007-04-11 Mediatek Inc System and method which updates firmware in a non-volatile memory without using a processor
US7036007B2 (en) * 2002-09-09 2006-04-25 Intel Corporation Firmware architecture supporting safe updates and multiple processor types
CN100337197C (zh) * 2002-10-14 2007-09-12 华为技术有限公司 一种引导程序存储装置及其保障在线升级的方法
US7272709B2 (en) * 2002-12-26 2007-09-18 Micron Technology, Inc. Using chip select to specify boot memory
US7417973B1 (en) 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US7457302B1 (en) 2002-12-31 2008-11-25 Apple Inc. Enhancement to loop healing for malconfigured bus prevention
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US7668099B2 (en) * 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7103736B2 (en) * 2003-08-11 2006-09-05 Telairity Semiconductor, Inc. System for repair of ROM programming errors or defects
US7178019B2 (en) * 2003-11-13 2007-02-13 Hewlett-Packard Development Company, L.P. Networked basic input output system read only memory
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7373498B2 (en) * 2003-12-23 2008-05-13 Intel Corporation Method and apparatus for updating a system configuration through an active or passive update
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US8990366B2 (en) 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
US7308517B1 (en) 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
FR2865556A1 (fr) * 2004-01-22 2005-07-29 Centre Nat Rech Scient Procede de configuration automatique d'une machine et support d'information pour mettre en oeuvre ce procede
AU2005238985B2 (en) * 2004-04-30 2011-07-14 Konami Australia Pty Ltd Storage system for a gaming machine
US20050262337A1 (en) * 2004-05-24 2005-11-24 Siemens Vdo Automotive Corporation Method and device for determining flash software compatibility with hardware
KR100604877B1 (ko) * 2004-07-03 2006-07-31 삼성전자주식회사 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
DE102004047362A1 (de) * 2004-09-29 2006-03-30 Siemens Ag Mobiltelefon und Verfahren zum Booten eines Mobiltelefons
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
US20060179295A1 (en) * 2005-02-09 2006-08-10 Inventec Corporation Multiple system image options selective booting method and interface
US20060179326A1 (en) * 2005-02-10 2006-08-10 Kwok-Yan Leung Security device using multiple operating system for enforcing security domain
US7516315B2 (en) 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
EP2194476B1 (en) 2005-03-22 2014-12-03 Hewlett-Packard Development Company, L.P. Method and apparatus for creating a record of a software-verification attestation
CN100426228C (zh) * 2005-05-20 2008-10-15 鸿富锦精密工业(深圳)有限公司 切换计算机启动顺序的系统及方法
CN100464298C (zh) * 2005-08-11 2009-02-25 技嘉科技股份有限公司 一种通讯装置及其启动方法
KR100778293B1 (ko) * 2005-10-10 2007-11-22 삼성전자주식회사 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
TW200825915A (en) * 2006-12-07 2008-06-16 Wistron Corp Computer system and related method for preventing from failing to update BIOS program
TW200923779A (en) * 2007-11-20 2009-06-01 Ibm Switch device for a boot sequence
DE102007060234A1 (de) 2007-12-14 2009-06-18 Sennheiser Electronic Gmbh & Co. Kg Elektronische digitale Vorrichtung
TWI378384B (en) * 2008-10-15 2012-12-01 Phison Electronics Corp Mother board system, storage device for booting up thereof and connector
TW201027324A (en) * 2009-01-14 2010-07-16 Giga Byte Tech Co Ltd Embedded electronic device free from being stuck in update failure and method of making the same
CN101807154B (zh) * 2009-02-16 2015-01-21 技嘉科技股份有限公司 在嵌入式操作系统更新失败的情况下仍能开机的电子装置及其方法
US20100241838A1 (en) * 2009-03-20 2010-09-23 Jason Cohen Method and system for firmware updates
US8756391B2 (en) * 2009-05-22 2014-06-17 Raytheon Company Multi-level security computing system
US8892862B2 (en) 2009-07-01 2014-11-18 Panasonic Corporation Secure boot method for executing a software component including updating a current integrity measurement based on whether the software component is enabled
US8205070B2 (en) * 2009-09-08 2012-06-19 Apple Inc. Device bootup from a NAND-type non-volatile memory
US20110320794A1 (en) * 2010-06-28 2011-12-29 Chung-Jen Yang Flash System And Method For Updating The Flash System
US8826080B2 (en) * 2011-07-29 2014-09-02 The Boeing Company Methods and systems for preboot data verification
US20130117006A1 (en) * 2011-11-07 2013-05-09 Microsoft Corporation Simulated boot process to detect introduction of unauthorized information
US8914498B2 (en) * 2012-02-09 2014-12-16 International Business Machines Corporation Calculating a checksum with inactive networking components in a computing system
DE102012212412A1 (de) * 2012-06-29 2014-01-02 Siemens Ag Netzwerkeinrichtung und Verfahren zum Betreiben einer Netzwerkeinrichtung für ein Automatisierungsnetzwerk
FR2993682B1 (fr) * 2012-07-20 2014-08-22 Oberthur Technologies Mise a jour d'un systeme d'exploitation pour element securise
US9990255B2 (en) 2013-04-23 2018-06-05 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
WO2014175867A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
WO2014175861A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
US10489055B2 (en) * 2015-05-08 2019-11-26 Trane International Inc. Z-wave controller shift in thermostats
CN106354524B (zh) * 2015-07-17 2021-01-01 恩智浦美国有限公司 实时更新固件的系统和方法
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
US20230195898A1 (en) * 2020-06-24 2023-06-22 Hewlett-Packard Development Company, L.P. Bios backup
WO2023123037A1 (zh) * 2021-12-29 2023-07-06 华为技术有限公司 电子设备及其启动方法、装置、存储介质、车辆

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE69222528T2 (de) * 1991-06-26 1998-04-16 Ast Research Inc Verteilte multiprozessor-initialisierung und selbstprüfungssystem
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US5355498A (en) * 1992-02-25 1994-10-11 Sun Microsystems, Inc. Method and apparatus for booting a computer system without loading a device driver into memory
JP2986299B2 (ja) * 1992-04-15 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 周辺装置接続検出システム
US5432927A (en) * 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US5463766A (en) * 1993-03-22 1995-10-31 Dell Usa, L.P. System and method for loading diagnostics routines from disk
US5768563A (en) * 1993-07-20 1998-06-16 Dell Usa, L.P. System and method for ROM program development
US5604890A (en) * 1994-08-16 1997-02-18 Miller; Paul B. Coupling device for the switching of data lines between a data storage device controller and a plurality of bootable data storage devices
US5701477A (en) * 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
GB2301744B (en) * 1995-06-02 2000-01-12 Dsc Communications Software download for a subscriber terminal of a wireless telecommunications system
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
US5694600A (en) * 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US5898869A (en) * 1996-09-20 1999-04-27 The Foxboro Company Method and system for PCMCIA card boot from dual-ported memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234051B2 (en) * 2002-08-09 2007-06-19 Intel Corporation Method and apparatus for booting from a selection of multiple boot images

Also Published As

Publication number Publication date
US5987605A (en) 1999-11-16
EP0939367A3 (en) 2007-07-25
EP0939367A2 (en) 1999-09-01

Similar Documents

Publication Publication Date Title
JPH11296355A (ja) デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法
US7206971B2 (en) Selectable and updatable computer boot memory
US6651188B2 (en) Automatic replacement of corrupted BIOS image
US6615404B1 (en) Method and apparatus for downloading software into an embedded-system
US6317827B1 (en) Method and apparatus for fault tolerant flash upgrading
US6079016A (en) Computer with multi booting function
US6622246B1 (en) Method and apparatus for booting and upgrading firmware
US20060288202A1 (en) Method for network restart
US6715106B1 (en) Bios corruption detection system and method
US20050273588A1 (en) Bootstrap method and apparatus with plural interchangeable boot code images
US7908469B2 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
US20030037282A1 (en) Method and system for version control in a fault tolerant system
US7418589B2 (en) System and method for updating a basic input/output system
US6571347B1 (en) Apparatus and method for intelligent computer initiation program recovery
US20020162052A1 (en) Method for entering system firmware recovery mode using software-detectable buttons
US20020095619A1 (en) Fault tolerant/redundant boot ROM reprogramming
US20050033954A1 (en) Computer system having BIOS with multiple memory block
US7219221B2 (en) System and method for automatic booting based on single flash ROM
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
JP2001512869A (ja) インサーキット・プログラミングための障害の許容アーキテクチャ
KR100860402B1 (ko) 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법
JP4375857B2 (ja) プログラム再書き込み機能付コンピュータ
US6604195B1 (en) Method and apparatus to use non-volatile read/write memory for bootstrap code and processes
US7502916B2 (en) Processing arrangement, memory card device and method for operating and manufacturing a processing arrangement
JP2000293376A (ja) ブートプログラムの切替回路及び切替方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051222

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070511

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090424