JP2010134741A - プログラムを実行する方法およびシステム - Google Patents

プログラムを実行する方法およびシステム Download PDF

Info

Publication number
JP2010134741A
JP2010134741A JP2008310736A JP2008310736A JP2010134741A JP 2010134741 A JP2010134741 A JP 2010134741A JP 2008310736 A JP2008310736 A JP 2008310736A JP 2008310736 A JP2008310736 A JP 2008310736A JP 2010134741 A JP2010134741 A JP 2010134741A
Authority
JP
Japan
Prior art keywords
code
program
cache memory
computer
read
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
JP2008310736A
Other languages
English (en)
Inventor
Fumitomo Osawa
史朋 大澤
伸彰 ▲高▼橋
Nobuaki Takahashi
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008310736A priority Critical patent/JP2010134741A/ja
Publication of JP2010134741A publication Critical patent/JP2010134741A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ブート・コードのサイズがランダムアクセス可能なバッファの記憶容量を超える場合でもCPUが直接読み込んで実行可能とする。
【解決手段】NAND型フラッシュ・メモリ100のストレージ部110から、このフラッシュ・メモリ100に設けられCPU200からランダムアクセス可能なバッファ部120に、コードB0を読み込む。そして、バッファ部120に読み込まれたコードB0を実行することにより、コードB1をキャッシュ・メモリ210に保持する。そして、キャッシュされたコードB1を実行することにより、ブート・コードであるコードAPPをストレージ部110からバッファ部120に読み込み、ベース・アドレスを変更してキャッシュ・メモリに保持する。そして、コードB1からコードAPPにジャンプし、キャッシュされたコードAPPを順次実行する。
【選択図】図11

Description

本発明は、起動時等の電源が投入された際に、コンピュータがプログラムを読み込んで実行する方法およびこの方法を行うシステム等に関する。
コンピュータの起動時には、ハードウェアの初期化および検査が行われた後、外部記憶装置に格納されているオペレーティングシステム(OS)をメイン・メモリに読み込んでCPU(Central Processing Unit)が実行できるようにするための一連の手順による処理が実行される。一般に、CPUは、メモリ上の実行コードしか実行できないため、まず不揮発性メモリに格納された小さなプログラムを読み込んで実行する。そして、このプログラムを実行することにより、より大きなプログラムあるいはOS自体をメイン・メモリに読み込む。以下、このようなコンピュータの起動時に多段階でプログラムを読み込む処理をブート処理と呼び、最初に読み込まれるプログラムをブート・コードと呼ぶ。
ブート・コードを格納する不揮発性メモリとしては、従来、ROM(Read Only Memory、EPROM、EEPROM等も含む)が用いられていたが、近年、フラッシュ・メモリも普及しつつある。ブート・コードの格納媒体としてフラッシュ・メモリを用いる場合、ROMと同様にランダムアクセスが容易で格納しているコードを直接実行可能なNOR型フラッシュ・メモリが用いられるのが一般的であった。これに対し、集積度に優れ、安価なNAND型フラッシュ・メモリをブート・コードの格納媒体として用いるための技術も存在する(例えば、特許文献1参照)。
特許文献1には、データ・レジスタを備え、フラッシュ・メモリに格納されたブート・ハンドラ・コードおよびブート・ストラップ・ローダ・コードをデータ・レジスタにローディングし、中央処理装置がデータ・レジスタにローディングされたブート・ハンドラ・コードを実行し、ブート・ストラップ・ローダ・コードをデータ・レジスタからシステム・メモリにローディングする技術が開示されている。この技術では、コードを一度、データ・レジスタにローディングすることで、CPUによる直接実行が可能となっている。
特開2004−118826号公報
フラッシュ・メモリにCPUがランダムアクセス可能なバッファ(上記特許文献1ではデータ・レジスタ)を設け、このバッファにブート・コードを置くことによって、NAND型フラッシュ・メモリをブート・コードの格納媒体として用いた場合でも、特別なハードウェア・モジュールを必要とせずにブート処理を行うことが可能となる。
しかし、この構成では、最初にCPUに読み込まれるブート・コードのデータ・サイズは、バッファの記憶容量以下でなければならない。ブート・コードを実行することで実現される機能には、上記のハードウェアの初期化および検査が含まれる。コンピュータのハードウェア構成によっては、この初期化および検査の処理を行うために必要なプログラムのサイズが大きく、バッファの記憶容量を超えてしまうことが考えられる。例えば、SDRAM(Synchronous Dynamic Random Access Memory)等の高速なメモリは、電源起動時にアクセスタイミングの調整を行わなければならないため、この調整を含む初期化処理のために一定量のプログラムが必要である。そして、ブート・コードのサイズがバッファの記憶容量を超えてしまうと、上記の構成でブート・コードをCPUが直接読み込んで実行することはできない。
本発明は、上記の課題を解決し、ブート・コードのサイズがバッファの記憶容量を超える場合でもCPUが直接読み込んで実行可能とすることを目的とする。
上記の目的を達成するため、本発明は、次のようなプログラム実行方法として実現される。この方法は、NAND型フラッシュ・メモリのストレージ部から、このNAND型フラッシュ・メモリに設けられコンピュータからランダムアクセス可能なバッファに、第1コードを読み込むステップと、バッファに読み込まれた第1コードを実行することにより、第2コードをキャッシュ・メモリに保持してロックするステップと、キャッシュ・メモリに保持された第2コードを実行することにより、第3コードをストレージ部からバッファに読み込み、この第3コードのベース・アドレスを第2コードのベース・アドレスとは異なるアドレスに変更してキャッシュ・メモリに保持してロックするステップと、第3コードを実行するステップと、を含む。
また、本発明は、プログラムを格納したフラッシュ・メモリと、フラッシュ・メモリに格納されているプログラムを読み込んで実行するプロセッサとを備えたシステムとしても実現される。このシステムにおいて、フラッシュ・メモリは、プログラムを保持するストレージ部と、プログラムをストレージ部から読み込んで一時的に保持するバッファ部とを備える。そして、プロセッサは、プログラムを、フラッシュ・メモリのバッファ部に読み込まれた部分ごとに異なるベース・アドレスを設定してキャッシュ・メモリに保持する。
また、本発明は、コンピュータに、プログラムを読み込ませてキャッシュ・メモリに保持させる機能と、キャッシュ・メモリに保持されるプログラムのベース・アドレスを、既にキャッシュ・メモリに保持されている他のプログラムのベース・アドレスとは異なるように変更する機能と、を実現させるプログラムとしても実現される。
さらに本発明は、プログラムを保持するストレージ部と、コンピュータがランダムアクセス可能なバッファ部とを備えた記録装置としても実現される。この記録装置において、ストレージ部は、次のような第1コード(プログラム)、第2コード(プログラム)、第3コード(プログラム)を保持する。第1コードは、電源を投入されたときに、最初にストレージ部からバッファ部に読み込まれ、コンピュータに、他のプログラムを当該コンピュータのキャッシュ・メモリに保持させる。第2コードは、コンピュータが第1コードを実行することによりコンピュータのキャッシュ・メモリに保持され、コンピュータに、さらに他のプログラムを、既にキャッシュ・メモリに保持されているプログラムのベース・アドレスとは異なるように変更してキャッシュ・メモリに保持させる。第3コードは、コンピュータが第2コードを実行することによりコンピュータのキャッシュ・メモリに保持される。
本発明によれば、ブート・コードのサイズがバッファの記憶容量を超える場合でもCPUが直接読み込んで実行することができる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態が適用されるプログラム実行システムの構成例を示す図である。
図1に示すように、本実施形態のプログラム実行システムは、プログラムを格納したフラッシュ・メモリ100と、フラッシュ・メモリ100からプログラムを読み出して実行するCPU200とを備える。
フラッシュ・メモリ100は、データを格納しているストレージ部110と、CPU200によるランダムアクセスが可能なバッファ部120とを備える。ストレージ部110は、フラッシュ・メモリ100のメモリ・セル・アレイで構成される。ストレージ部110に格納されるプログラムにはブート・コードが含まれる。ストレージ部110の記憶領域にはいくつかのベース・アドレスが設定されている。ストレージ部110に格納されているプログラムは、このベース・アドレスと、ベース・アドレスからの相対的な位置を表すオフセット・アドレスとを用いて特定される。
バッファ部120は、例えば、SRAM(Static Random Access Memory)で構成される。コンピュータの起動時には、ブート・コードがストレージ部110からバッファ部120に読み込まれ、CPU200がバッファ部120から直接、ブート・コードを読み取って実行する。バッファ部120の記憶容量は特に制限されないが、実際にはコストや物理サイズの制約のため、それほど大容量のメモリを用いることはできない。この種の既存のフラッシュ・メモリでは、通常、1KB(キロバイト)から4KB程度のメモリが用いられている。
CPU200は、キャッシュ・メモリ210と、ベース・アドレス・レジスタ220とを備える。キャッシュ・メモリ210は、例えば、SRAMで構成される。このキャッシュ・メモリ210は、ラインと呼ばれる小領域単位でデータを管理する。キャッシュ・メモリ210における個々のラインは、フラッシュ・メモリ100のストレージ部110のベース・アドレスに対応付けられる。そして、同一のベース・アドレスから読み出されたデータは、キャッシュ・メモリ210において同一のラインに保持される。キャッシュ・メモリ210のラインとフラッシュ・メモリ100のストレージ部110のベース・アドレスとの対応関係は、ベース・アドレス・レジスタ220に保持される。
<ブート・コードの構成と機能>
次に、フラッシュ・メモリ100のストレージ部110に格納されるブート・コードの構成および機能について説明する。
図2は、本実施形態のブート・コードの構成例を示す図である。
本実施形態では、コードB0、コードB1、コードAPPの3種類のコードが用意される。第1コードであるコードB0と第2コードであるコードB1とは、両方合わせたサイズが、フラッシュ・メモリ100のバッファ部120の記憶容量以下である。そして、これらのプログラム(コードB0およびコードB1)は、フラッシュ・メモリ100に電源が投入された際に、最初にバッファ部120に読み込まれる。第3コードであるコードAPPは、バッファ部120の記憶容量を超えるサイズであり、バッファ部120の記憶容量に対応するサイズごとにn個(#1〜#n)に分けられている。
コードB0は、フラッシュ・メモリ100のバッファ部120に保持された状態で、CPU200により直接実行される。CPU200は、コードB0を実行することにより、コードB0と共にバッファ部120に保持されているコードB1をCPU200のキャッシュ・メモリ210に保持し、ロックする。そして、キャッシュしたコードB1を実行する。
コードB1は、キャッシュ・メモリ210に保持された状態でCPU200により実行される。CPU200は、コードB1を実行することにより、コードAPP#1〜#nをストレージ部110からバッファ部120に順次読み込み、ベース・アドレスを変更してキャッシュ・メモリ210に保持し、ロックする。すなわち、コードAPP#1〜#nの各々は、コードB1および他のコードAPPと異なるベース・アドレスに設定されてキャッシュされる。上記のように、キャッシュ・メモリ210のラインは、フラッシュ・メモリ100のストレージ部110のベース・アドレスに対応付けられる。したがって、各コードAPP#1〜#nのベース・アドレスが異なるように操作してキャッシュすることで、コードAPP#1〜#nを全てキャッシュすることができる。また、コードB1は、データコードAPP#1〜#nが全てキャッシュされた後、これらを順次実行する。
コードAPP#1〜#nは、既存のシステムにおけるブート・コードに相当する部分である。ただし、本実施形態において、CPU200がコードB1を実行することによってキャッシュされるときには、このコードは単なるデータとして扱われるため、コードAPPと呼ぶ。コードAPPの全体のサイズは、バッファ部120の記憶容量よりも大きく、キャッシュ・メモリ210の記憶容量以下である。コードAPP#1からコードAPP#nまで全てキャッシュ・メモリ210に保持された後、ブート・コードとして順次実行される。
<ブート処理の手順>
次に、本実施形態によるブート処理の手順について説明する。
図3乃至図10は、上述した本実施形態のブート・コードがバッファ部120に読み込まれ、キャッシュされる様子を示す図である
図3乃至図10に示す例では、コードAPPにおいてn=2の場合、すなわちコードAPP#1とコードAPP#2がキャッシュされる場合について説明する。
フラッシュ・メモリ100に電源が投入されると、図3に示すように、まず、コードB0およびコードB1がバッファ部120に読み込まれる。CPU200は、バッファ部120に保持されたコードB0を実行して、コードB1をキャッシュ・メモリ210に保持し、ロックする。そして、コードB0からコードB1へジャンプし、コードB1を実行する。
次に、CPU200は、コードB1を実行することにより、図4に示すように、バッファ部120のベース・アドレスを変更する。そして、図5に示すように、ベース・アドレスが変更されたバッファ部120にコードAPP#1を読み込む。次に、CPU200は、図6に示すように、コードAPP#1をキャッシュ・メモリ210に保持し、ロックする。
次に、CPU200は、コードB1を実行することにより、図7に示すように、バッファ部120のベース・アドレスを変更する。そして、図8に示すように、ベース・アドレスが変更されたバッファ部120にコードAPP#2を読み込む。次に、CPU200は、図9に示すように、コードAPP#2をキャッシュ・メモリ210に保持し、ロックする。
コードAPPが全て(ここではコードAPP#1、#2)キャッシュされると、CPU200は、図10に示すように、コードB1からコードAPP#1へジャンプし、コードAPP#1、#2を、ブート・コードとして順に実行する。
図11は、本実施形態によるブート処理におけるCPU200の動作を示すフローチャートである。
図11に示すように、CPU200は、まずフラッシュ・メモリ100のバッファ部120に保持されているコードB0を実行する(ステップ1101)。これにより、コードB1がキャッシュされる。次に、CPU200は、キャッシュしたコードB1を実行する(ステップ1102)。これにより、コードAPP#1〜#nに対して、以下のステップ1103からステップ1105までの処理が行われる。
CPU200は、まず、バッファ部120のベース・アドレスを変更する(ステップ1103)。そして、対象のコードAPPをバッファ部120に読み込み(ステップ1104)、キャッシュ・メモリ210に保持する(ステップ1105)。
全てのコードAPP#1〜#nがキャッシュされた後、CPU200は、コードB1からコードAPP#1へジャンプし(ステップ1106)、キャッシュされているコードAPP#1〜#nを順に実行する(ステップ1107)。
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、上記実施形態では、キャッシュ・メモリ210として命令キャッシュ(Instruction Cache)を用い、ブート・コードをキャッシュして実行する例について説明したが、キャッシュ・メモリ210としてデータ・キャッシュ(Data Cache)を用いてデータをキャッシュする場合にも適用できる。この場合、本実施形態のコードAPPに対応するデータがデータ・キャッシュに保持されることとなる。そして、コードB1は、上記実施形態と同様に命令キャッシュに保持されるので、データ・キャッシュには保持されない。またこの場合、キャッシュされるデータは、実際にはブート・コードであるコードAPPと異なり、プログラムの実行に伴って呼び出されるものであるので、コードB1からジャンプして順次実行されることはない。
また、上記実施形態では、ブート・コードであるコードAPPのサイズがキャッシュ・メモリ210の記憶容量以下であり、コードAPPが全てキャッシュ・メモリ210に保持されるものとして説明した。これに対し、コードAPPのサイズがキャッシュ・メモリ210の記憶容量を超える場合、キャッシュ・メモリ210に蓄積されたブート・コードを実行した後に、新たなコードAPPをキャッシュするようにベース・アドレスの設定を制御することで対応することが可能である。その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
本実施形態が適用されるプログラム実行システムの構成例を示す図である。 本実施形態のブート・コードの構成例を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、コードB1をキャッシュする様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、ベース・アドレスを変更する様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、コードAPP#1をバッファ部に読み込む様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、コードAPP#1をキャッシュする様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、ベース・アドレスを変更する様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、コードAPP#2をバッファ部に読み込む様子を示す図である。 本実施形態のブート・コードがバッファ部に読み込まれ、キャッシュされる様子を示す図であり、コードAPP#2をキャッシュする様子を示す図である。 本実施形態において、キャッシュされたコードAPPが実行される様子を示す図である。 本実施形態によるブート処理におけるCPUの動作を示すフローチャートである。
符号の説明
100…フラッシュ・メモリ、110…ストレージ部、120…バッファ部、200…CPU、210…キャッシュ・メモリ、220…ベース・アドレス・レジスタ

Claims (11)

  1. コンピュータがプログラムを実行する方法であって、
    所定の記録装置の記録媒体から、当該記録装置に設けられ前記コンピュータからランダムアクセス可能なバッファに、第1コードを読み込むステップと、
    前記バッファに読み込まれた前記第1コードを実行することにより、第2コードをキャッシュ・メモリに保持するステップと、
    前記キャッシュ・メモリに保持された前記第2コードを実行することにより、第3コードを前記記録媒体から前記バッファに読み込み、当該第3コードのベース・アドレスを前記第2コードのベース・アドレスとは異なるアドレスに変更して前記キャッシュ・メモリに保持するステップと、
    を含む、方法。
  2. 前記コンピュータは、前記第1コードを実行することにより前記第2コードを前記キャッシュ・メモリに保持した際および当該第2コードを実行することにより前記第3コードを当該キャッシュ・メモリに保持した際に、当該コードを当該キャッシュ・メモリにロックする、請求項1に記載の方法。
  3. 前記第2コードを実行することにより前記第3コードを前記キャッシュ・メモリに保持した後、当該キャッシュ・メモリに保持された当該第3コードを実行するステップをさらに含む、請求項1または請求項2に記載の方法。
  4. コンピュータがプログラムを実行する方法であって、
    NAND型フラッシュ・メモリのストレージ部から、当該NAND型フラッシュ・メモリに設けられ前記コンピュータからランダムアクセス可能なバッファに、第1コードを読み込むステップと、
    前記バッファに読み込まれた前記第1コードを実行することにより、第2コードをキャッシュ・メモリに保持してロックするステップと、
    前記キャッシュ・メモリに保持された前記第2コードを実行することにより、第3コードを前記ストレージ部から前記バッファに読み込み、当該第3コードのベース・アドレスを前記第2コードのベース・アドレスとは異なるアドレスに変更して前記キャッシュ・メモリに保持してロックするステップと、
    前記キャッシュ・メモリに保持された前記第3コードを実行するステップと、
    を含む、方法。
  5. プログラムを格納したフラッシュ・メモリと、
    前記フラッシュ・メモリに格納されているプログラムを読み込んで実行するプロセッサとを備え、
    前記フラッシュ・メモリは、
    前記プログラムを保持するストレージ部と、
    前記プログラムを前記ストレージ部から読み込んで一時的に保持するバッファ部とを備え、
    前記プロセッサは、前記プログラムを、前記フラッシュ・メモリの前記バッファ部に読み込まれた部分ごとに異なるベース・アドレスを設定してキャッシュ・メモリに保持する、システム。
  6. 前記プロセッサは、前記フラッシュ・メモリの前記バッファ部から最初にキャッシュ・メモリに保持したプログラムを実行することにより、前記バッファ部に読み込まれる前記プログラムを、前記ベース・アドレスを変更して前記キャッシュ・メモリに保持する、請求項5に記載のシステム。
  7. 前記プロセッサは、電源を投入されたときに、前記フラッシュ・メモリの前記バッファ部に読み込まれたプログラムを実行する、請求項5または請求項6に記載のシステム。
  8. コンピュータに、
    プログラムを読み込ませてキャッシュ・メモリに保持させる機能と、
    前記キャッシュ・メモリに保持される当該プログラムのベース・アドレスを、既に当該キャッシュ・メモリに保持されている他のプログラムのベース・アドレスとは異なるように変更する機能と、
    を実現させる、プログラム。
  9. プログラムを保持するストレージ部と、
    コンピュータがランダムアクセス可能なバッファ部とを備え、
    前記ストレージ部は、
    電源を投入されたときに、最初に前記ストレージ部から前記バッファ部に読み込まれ、前記コンピュータに、他のプログラムを当該コンピュータのキャッシュ・メモリに保持させる第1プログラムと、
    前記コンピュータが前記第1プログラムを実行することにより当該コンピュータのキャッシュ・メモリに保持され、前記コンピュータに、さらに他のプログラムを、既に当該キャッシュ・メモリに保持されているプログラムのベース・アドレスとは異なるように変更して当該キャッシュ・メモリに保持させる第2プログラムと、
    前記コンピュータが前記第2プログラムを実行することにより当該コンピュータのキャッシュ・メモリに保持される第3プログラムと、
    を保持する、記録装置。
  10. 前記第2プログラムは、前記第3プログラムが前記キャッシュ・メモリに保持された後、前記コンピュータに、当該第3プログラムを実行させる、請求項9に記載の記録装置。
  11. 前記ストレージ部は、NAND型フラッシュ・メモリで構成された、請求項9または請求項10に記載の記録装置。
JP2008310736A 2008-12-05 2008-12-05 プログラムを実行する方法およびシステム Pending JP2010134741A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008310736A JP2010134741A (ja) 2008-12-05 2008-12-05 プログラムを実行する方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008310736A JP2010134741A (ja) 2008-12-05 2008-12-05 プログラムを実行する方法およびシステム

Publications (1)

Publication Number Publication Date
JP2010134741A true JP2010134741A (ja) 2010-06-17

Family

ID=42345972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008310736A Pending JP2010134741A (ja) 2008-12-05 2008-12-05 プログラムを実行する方法およびシステム

Country Status (1)

Country Link
JP (1) JP2010134741A (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058420A (ja) * 2001-08-15 2003-02-28 Sony Corp Nand型フラッシュメモリからのデータ読み出し方法
JP2003109384A (ja) * 2001-09-28 2003-04-11 Tokyo Electron Device Ltd データ書込装置、データ書込制御方法及びプログラム
JP2004118826A (ja) * 2002-09-24 2004-04-15 Samsung Electronics Co Ltd フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
JP2005208747A (ja) * 2004-01-20 2005-08-04 Canon Inc 情報処理装置及び情報処理方法
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
JP2006243780A (ja) * 2005-02-28 2006-09-14 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
WO2007121181A1 (en) * 2006-04-10 2007-10-25 Apple Inc. Direct boot arrangement using a nand flash memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058420A (ja) * 2001-08-15 2003-02-28 Sony Corp Nand型フラッシュメモリからのデータ読み出し方法
JP2003109384A (ja) * 2001-09-28 2003-04-11 Tokyo Electron Device Ltd データ書込装置、データ書込制御方法及びプログラム
JP2004118826A (ja) * 2002-09-24 2004-04-15 Samsung Electronics Co Ltd フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
JP2005208747A (ja) * 2004-01-20 2005-08-04 Canon Inc 情報処理装置及び情報処理方法
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
JP2006243780A (ja) * 2005-02-28 2006-09-14 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
WO2007121181A1 (en) * 2006-04-10 2007-10-25 Apple Inc. Direct boot arrangement using a nand flash memory

Similar Documents

Publication Publication Date Title
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
JP5608139B2 (ja) 不揮発性メモリからの装置ブートアップ中のエラーの取り扱い
US7406560B2 (en) Using multiple non-volatile memory devices to store data in a computer system
US20070260869A1 (en) Apparatus and Method for Booting a Computing Device from a NAND Memory Device
JP6399916B2 (ja) 情報処理装置およびその制御方法
RU2015151131A (ru) Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US9715398B2 (en) Program code loading method of application and computing system using the same
JP5106147B2 (ja) マルチプロセッサ処理システム
JP2013225208A (ja) 情報処理装置、情報処理方法、及びプログラム
US9183152B2 (en) System and method for providing instant video in an information handling system
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
US7373491B2 (en) Processor with versatile external memory interface
US7340561B2 (en) Computer memory initialization
JP7355876B2 (ja) プログラム起動方法及び機器、記憶媒体
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
JP2010134741A (ja) プログラムを実行する方法およびシステム
WO1998013762A1 (en) Processing system and method for reading and restoring information in a ram configuration
US20100146332A1 (en) Data correction circuit and semiconductor integrated circuit
KR101342074B1 (ko) 컴퓨터시스템 및 그 제어방법
CN101107591A (zh) 计算机系统和用于启动其中的基本程序的方法
Hallinan Reducing boot time in embedded linux systems
KR100970933B1 (ko) 오퍼레이팅 시스템의 고속 부팅장치 및 방법
US11003474B2 (en) Semiconductor device for providing a virtualization technique

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130819

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130910

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130930