(57)【特許請求の範囲】
【請求項１】
動作コードを含んでいるソフトウェアを駆動させる少なくとも１つのプロセッサと、
プロセッサによりアクセス可能であり、少なくとも２つの区画に分離され、第１の区画がアクチブな状態であり、第２の区画が非アクチブな状態である第１の記憶装置と、
コンピュータに含まれていない第２の記憶装置であるフロッピーディスクを示す論理基準値と、論理基準値をフロッピーディスクにマッピングするためのテーブルとを含んでいる動作コードと、
i）ユーザの指令とii）フロッピーディスクはプロセッサによりアクセスできないという決定とに応答して、第１の記憶装置の第２の区画に対する論理基準値のマッピングをダイナミックに変化させる基準変更ルーチンとを含んでおり、
前記基準変更ルーチンは、第１の記憶装置の非アクチブな第２の区画をバーチャルなフロッピーディスクに変換するために、テーブルを変更することによって第１の記憶装置の第２の区画に対する論理基準値のマッピングをダイナミックに変化させ、
基準変更ルーチンがテーブルを変更した後に、その代りにフロッピーディスクに対する任意の参照が第１の記憶装置の第２の区画に対して行われることを特徴とするコンピュータ。
【請求項２】
さらに、メモリシステムを備え、基準変更ルーチンはまた論理基準値のマッピングを変更した後にそのメモリシステムをリセットする請求項１記載のコンピュータ。
【請求項３】
メモリシステムはさらに、１つのディスクキャッシュおよび１または複数のオープンファイルを備え、基準変更ルーチンはディスクキャッシュをリセットし、１または複数のオープンファイルを閉じることによってメモリシステムをリセットする請求項２記載のコンピュータ。
【請求項４】
基準変更ルーチンは、第２の区画に対してブートレコードから前記テーブルの変更に使用されるデータを検索する請求項１記載のコンピュータ。
【請求項５】
前記データはＢＩＯＳパラメータブロックを含んでいる請求項４記載のコンピュータ。
【請求項６】
前記テーブルは記憶装置上のドライブパラメータのブロックおよび記憶装置上のドライブデータのテーブルを含んでいる請求項５記載のコンピュータ。
【請求項７】
動作コードはファイル管理システムを含み、基準変更ルーチンは論理基準値を変更した後にファイル管理システムもリセットする請求項１記載のコンピュータ。
【請求項８】
さらにネットワークインターフェース装置を備え、基準変更ルーチンはネットワークインターフェース装置を通してアクセスされる請求項１記載のコンピュータ。
【請求項９】
動作コードはネットワークインターフェース装置を通してアクセスされる請求項８記載のコンピュータ。
【請求項１０】
第１の記憶装置と、第１の記憶装置とフロッピーディスク装置に対する論理基準値を有する動作コードを駆動させるプロセッサとを有し、フロッピーディスク装置はコンピュータに含まれていない第２の記憶装置であるコンピュータにおいて、コンピュータがフロッピーディスク装置を有していないため、フロッピーディスク装置がプロセッサによりアクセス可能でない場合でもフトウェアプロセスがフロッピーディスク装置を参照できるようにする方法において、
第１の記憶装置を第１の区画と第２の区画の２つの区画に分割し、
第１の区画をアクチブな状態と定め、第２の区画を非アクチブな状態と定め、
ユーザの指令に応答して、第２の区画に対してブートレコードをロードし、そこからＢＩＯＳパラメータブロックを検索し、
フロッピーディスク装置がプロセッサによりアクセス可能であるがどうかを決定し、フロッピーディスク装置がプロセッサによりアクセス可能でない場合には、ＢＩＯＳパラメータブロックから検索された情報によってフロッピーディスク装置に対する論理基準値のマッピングを更新するステップを含んでいる方法。
【請求項１１】
更新のステップは動作コードにおける記憶装置上のドライブパラメータのブロックおよび記憶装置上のドライブデータのテーブルの更新を含んでいる請求項１０記載の方法。
【請求項１２】
前記コンピュータはオープンファイルおよびキャッシュを含んでおり、前記方法はさらにキャッシュをリセットし、オープンファイルを閉じることを含んでいる請求項１０記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコンピュータならびにコンピュータの記憶装置に対するアクセスを制御するためのソフトウェアコードに関し、特に、第１の記憶装置に対する論理参照を第２の記憶装置に再マッピングするためのシステムおよび方法に関する。
【０００２】
【従来の技術】
ある種のコンピュータ、特に低コストのコンピュータおよびネットワークパーソナルコンピュータ（ＮｅｔＰＣ）においては、限られた数の記憶装置が設けられている。例えば、ほとんどのＮｅｔＰＣは単一のハードディスクを有しているが、フロッピーディスクは有していない。この記憶装置の構成はこれらのコンピュータの大抵の要求を満足させるが、記憶装置のない場合に対する特定の参照を有しているプログラムもある。引き続きＮｅｔＰＣの例を挙げると、コンピュータの製造プロセス中にソフトウェアがＮｅｔＰＣにダウンロードされているとき、しばしばソフトウェアのダウンロードプロセスではコンピュータがフロッピーディスクを有することが期待される。これは主として、大部分のコンピュータがフロッピーディスクを有し、それ故、そのような駆動装置に対する参照がソフトウェアダウンロードプロセス全体を通して一般的であるという事実のためである。しかしながら、この例においてフロッピーディスクは存在していないため、ソフトウェアダウンロードプロセスは多数のエラーを被る。
【０００３】
この問題に対して２つの一般的な解決方法がある。１つの解決方法は、ソフトウェアダウンロードプロセス中に一時的にフロッピー（登録商標）ディスクをＮｅｔＰＣ中にインストールし、その後、駆動装置を除去するというものである。しかしながらこの解決方法は望ましくなく、それは、時間を浪費し、余分なフロッピーディスクを必要とするからである。別の解決方法は、ソフトウェアダウンロードプロセスにおいてコードを変更することである。この解決方法もまた望ましくなく、それは、コードがしばしば多数の異なるコンピュータに対して使用され、それによってそれを変更することが望ましくないからである。さらに、著作権および／またはソースコードの利用権によって、コードの変更が阻止される可能性もある。
【０００４】
【発明の開示】
【発明の概要】
その課題を解決するために、本発明は第２の記憶装置に対する論理基準値を第１の記憶装置に再マッピングするシステムおよび方法が提供される。一実施形態において、コンピュータは、オペレーティングシステムコード、ランダムアクセスメモリ（ＲＡＭ）およびハードドライブメモリ装置（第１の記憶装置）を動作させるプロセッサを含んでいる。しかしながら、コンピュータはフロッピーディスク（第２の記憶装置）を有していない。プロセッサによりアクセス可能なハードディスクドライブは少なくとも２つの区画を含んでいる。コンピュータがブートアップするとき、プロセッサ上で動作している動作システムコードは、ハードディスクドライブの第１の区画に対する第１の論理基準値と、存在していないフロッピーディスクに対する第２の論理基準値とを含んでいる。
【０００５】
論理基準値は、コンピュータ装置、コンピュータ装置の区画を参照するために、コンピュータプログラム内で設定される参照値、すなわち基準値である。論理基準値はテーブル中に記憶され、ＲＡＭ中に位置されている。プロセッサ上で動作しているソフトウェアルーチンが第２の論理基準値を使用する場合、論理基準値を、実在していないフロッピーディスクからハードドライブの第２の区画に変更するために、基準変更ルーチンが提供される。基準変更ルーチンは、第２の区画からのデータでテーブルを変更することによってこれを行い、それによって、第２の記憶装置に対する論理基準値が使用されたとき、第１の記憶装置の第２の区画がアクセスされる。
【０００６】
本発明によって達成される技術的利点は、所定のソフトウェアルーチンが第２の記憶装置（フロッピーデフィスク）にアクセスしようと試みた場合でさえも、第２の記憶装置が要求されないことである。
【０００７】
本発明によって達成される別の技術的利点は、コンピュータのＲＡＭにおいて再マッピングが生じることであり、それによって任意の別のソフトウェアルーチンにおいて永久的な変更が行われず、また要求されないことである。
【０００８】
【発明の実施の形態】
以下の開示は、本出願人の米国特許出願“Method for Changing Partition Mappings to Logical Drives in a Computer Memory Device”および米国特許出願“Method for Updating Partition Mappings to Logical Drives in a Computer Memory Device”を参照している。
【０００９】
図１を参照すると、参照番号10は、プロセッサ12、１群のランダム・アクセス・メモリ（ＲＡＭ）14a 、読取り専用メモリ（ＲＯＭ）14b 、ハードディスク16およびネットワーク接続18を含む幾つかの構成要素を有するコンピュータを示している。各構成要素は、汎用バス20によって図示されているように、プロセッサ12と通信することができる。この実施形態において、コンピュータ10は、マイクロソフト社（ワシントン州、Redmond ）によって提供されたようなマイクロソフトＤＯＳオペレーティングシステムコード（以下、ＤＯＳという）を駆動させるＮｅｔＰＣである。また、ＲＯＭ14b はネットワークインターフェイスカード（ＮＩＣ）上に記憶され、ネットワークベースのコンピュータで一般的な遠隔初期プログラムロード（ＲＩＰＬ）コードを含んでいる。しかしながら、ＮｅｔＰＣ10およびその図示された構成要素は単に多数の異なる形式のコンピュータおよび構成要素の代表的なものを表わしているだけであり、そのＤＯＳは単に当業者によってよく知られ、理解されている多数の異なるタイプのオペレーティングシステムの代表的なものを表わしているに過ぎない。
【００１０】
図２を参照すると、ハードディスク16が３つの異なる区画、すなわち、マスターブートレコード30、ユーティリティ区画32および１次区画34に細分化されている。マスターブートレコード30中にはブートストラップコード40およびマスター区画テーブル42が位置されている。マスター区画テーブルは、以下に詳細に説明されるように各区画32,34 に特有のデータを表すコードを含んでいる。ブートストラップコード40を含むマスターブートレコード30中の付加的なソフトウェアが技術においてよく知られているが、簡潔にするために詳細に説明されないことが理解される。
【００１１】
この実施形態において、１次区画34はアクチブな状態であり、ＤＯＳはドライブパラメータブロック（“ＤＰＢ”）およびドライブデータテーブル（“ＤＤＴ”）における１次区画に特有の情報を記憶することによって１次区画に対する論理基準値“Ｃ”を含む。しかしながら、ユーティリティ区画32はアクチブな状態でなく、ユーティリティ区画に関する情報はＤＰＢあるいはＤＤＴ中には記憶されていない。そのようなＮｅｔＰＣ10の構成は一般的であり、それによって特定のユーティリティおよびメンテナンスソフトウェアがユーティリティ区画32中に記憶されることができるが、そのようなソフトウェアを１次区画34中のソフトウェアから分離された状態で維持する。また、この実施形態において、ソフトウェアのダウンロードプロセス（図示されていない）は、論理Ａ：ドライブに対する参照を含み、それは典型的にフロッピーディスクを参照する。フロッピーディスクはＮｅｔＰＣ10上には存在していないので、ダウンロードプロセスは通常、論理Ａ：ドライブに対する参照においてエラーに遭遇する。
【００１２】
図３を参照すると、“ワッフル”と呼ばれるルーチン100 によって、論理Ａ：ドライブに対する参照によるエラーに遭遇せずにソフトウェアダウンロードプロセスを実行することができる。ワッフル100 が実行される前に、ハードディスク16は初期化あるいは再構成され、ユーティリティ区画32は非アクチブな状態であるとマークされ、１次区画34はアクチブな状態であるとマークされる。ステップ110 の後、ワッフル100 はＲＡＭ14a にロードされ、実行される。ワッフルは論理基準変更ルーチンであり、この実施形態においては、ネットワーク接続18を通してアクセスされる。さらに、ＤＯＳもまたネットワーク接続18を通してアクセスされ、それによってＮｅｔＰＣ10がネットワークからブートされる。その代りに、ワッフルは区画32および34の一方または両方に提供されてもよく、あるいは別のソースからアクセスされてもよい。詳細に説明されないが、ワッフルはそれが特定の値を検査し、ユーザにエラーあるいはその他の状態を知らせる幾つかの進行チェックポイントを含んでいてもよい。
【００１３】
ステップ112 において、指令がユーザから受信される。“バーチャル”指令によって、ユーザがアクチブでない状態の区画をバーチャルなフロッピーディスクに変換することを望んでいることがワッフルに示される。この実施形態において、ユーティリティ区画32は、論理Ａ：ドライブをエミュレートするように作られる。
【００１４】
ステップ114 において、マスターブートレコード30は、ハードディスク16からＲＡＭ14a にロードされる。ステップ116 において、論理Ａ：ドライブがすでにユーティリティ区画32にマップされているかどうか、すなわち、バーチャルの（あるいは実際の）フロッピーディスクがすでに存在しているかどうかに関して決定が下される。そうである場合には実行は停止される。そうでない場合、実行はステップ118 に進み、そこにおいてＤＯＳ、ワッフルによって使用されず、そうでなければマスターブートレコード30を記憶するためにＲＡＭ14a がフラッシュされる。このステップは幾つかの動作を実行する。１つには、コンピュータ10がディスクキャッシュを含む１または複数のキャッシュを含んでいる場合、キャッシュはフラッシュされる。また、ＤＯＳによって使用されている全てのオープンファイル、あるいはコンピュータ上で動作している任意の別のオープンアプリケーションが閉じられる。
【００１５】
ステップ120 において、ユーティリティ区画32に対するブートレコード50が検索される。ステップ122 において、動作システムのフロッピードライブに対する論理基準値が更新される。本発明の実施形態において、ＲＡＭ14a 中にＤＯＳと共に記憶されたこの論理基準値は、“Ａ：”ドライブである。これは、ＤＯＳ中のドライブパラメータブロック（“ＤＰＢ”）を更新するためにユーティリティブートレコード50からのＢＩＯＳパラメータブロック（“ＢＰＢ”）を使用して達成される。ステップ124 において、論理ドライブ参照Ａ：に対するドライブデータテーブル（“ＤＤＴ”）を更新するために、１次ブートレコードからのＢＰＢも使用される。
【００１６】
本発明の例示的な実施形態が図示および説明されてきたが、上述の開示内で種々の変更、修正および置換が可能であり、本発明の幾つかの特徴は他の特徴を対応して使用することなしに採用される。さらに、エラー処理ルーチン等の付加的な特徴が本発明の技術的範囲を変更せずに上述の実施形態に追加されてもよい。従って、添付された特許請求の範囲は本発明の技術的範囲と一致するように広く解釈されるべきである。
【図面の簡単な説明】
【図１】本発明の一実施形態を構成するためのコンピュータのブロック図。
【図２】図１のコンピュータのハードドライブのレイアウト図。
【図３】図１のコンピュータによって駆動されるルーチンのフロー図。
【図１】
0004183802.tif 000002
【図２】
0004183802.tif 000003
【図３】
0004183802.tif 000004