JP2010134741A - プログラムを実行する方法およびシステム - Google Patents
プログラムを実行する方法およびシステム Download PDFInfo
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】NAND型フラッシュ・メモリ100のストレージ部110から、このフラッシュ・メモリ100に設けられCPU200からランダムアクセス可能なバッファ部120に、コードB0を読み込む。そして、バッファ部120に読み込まれたコードB0を実行することにより、コードB1をキャッシュ・メモリ210に保持する。そして、キャッシュされたコードB1を実行することにより、ブート・コードであるコードAPPをストレージ部110からバッファ部120に読み込み、ベース・アドレスを変更してキャッシュ・メモリに保持する。そして、コードB1からコードAPPにジャンプし、キャッシュされたコードAPPを順次実行する。
【選択図】図11
Description
<システム構成>
図1は、本実施形態が適用されるプログラム実行システムの構成例を示す図である。
図1に示すように、本実施形態のプログラム実行システムは、プログラムを格納したフラッシュ・メモリ100と、フラッシュ・メモリ100からプログラムを読み出して実行するCPU200とを備える。
次に、フラッシュ・メモリ100のストレージ部110に格納されるブート・コードの構成および機能について説明する。
図2は、本実施形態のブート・コードの構成例を示す図である。
本実施形態では、コードB0、コードB1、コードAPPの3種類のコードが用意される。第1コードであるコードB0と第2コードであるコードB1とは、両方合わせたサイズが、フラッシュ・メモリ100のバッファ部120の記憶容量以下である。そして、これらのプログラム(コードB0およびコードB1)は、フラッシュ・メモリ100に電源が投入された際に、最初にバッファ部120に読み込まれる。第3コードであるコードAPPは、バッファ部120の記憶容量を超えるサイズであり、バッファ部120の記憶容量に対応するサイズごとにn個(#1〜#n)に分けられている。
次に、本実施形態によるブート処理の手順について説明する。
図3乃至図10は、上述した本実施形態のブート・コードがバッファ部120に読み込まれ、キャッシュされる様子を示す図である
図3乃至図10に示す例では、コードAPPにおいてn=2の場合、すなわちコードAPP#1とコードAPP#2がキャッシュされる場合について説明する。
図11に示すように、CPU200は、まずフラッシュ・メモリ100のバッファ部120に保持されているコードB0を実行する(ステップ1101)。これにより、コードB1がキャッシュされる。次に、CPU200は、キャッシュしたコードB1を実行する(ステップ1102)。これにより、コードAPP#1〜#nに対して、以下のステップ1103からステップ1105までの処理が行われる。
Claims (11)
- コンピュータがプログラムを実行する方法であって、
所定の記録装置の記録媒体から、当該記録装置に設けられ前記コンピュータからランダムアクセス可能なバッファに、第1コードを読み込むステップと、
前記バッファに読み込まれた前記第1コードを実行することにより、第2コードをキャッシュ・メモリに保持するステップと、
前記キャッシュ・メモリに保持された前記第2コードを実行することにより、第3コードを前記記録媒体から前記バッファに読み込み、当該第3コードのベース・アドレスを前記第2コードのベース・アドレスとは異なるアドレスに変更して前記キャッシュ・メモリに保持するステップと、
を含む、方法。 - 前記コンピュータは、前記第1コードを実行することにより前記第2コードを前記キャッシュ・メモリに保持した際および当該第2コードを実行することにより前記第3コードを当該キャッシュ・メモリに保持した際に、当該コードを当該キャッシュ・メモリにロックする、請求項1に記載の方法。
- 前記第2コードを実行することにより前記第3コードを前記キャッシュ・メモリに保持した後、当該キャッシュ・メモリに保持された当該第3コードを実行するステップをさらに含む、請求項1または請求項2に記載の方法。
- コンピュータがプログラムを実行する方法であって、
NAND型フラッシュ・メモリのストレージ部から、当該NAND型フラッシュ・メモリに設けられ前記コンピュータからランダムアクセス可能なバッファに、第1コードを読み込むステップと、
前記バッファに読み込まれた前記第1コードを実行することにより、第2コードをキャッシュ・メモリに保持してロックするステップと、
前記キャッシュ・メモリに保持された前記第2コードを実行することにより、第3コードを前記ストレージ部から前記バッファに読み込み、当該第3コードのベース・アドレスを前記第2コードのベース・アドレスとは異なるアドレスに変更して前記キャッシュ・メモリに保持してロックするステップと、
前記キャッシュ・メモリに保持された前記第3コードを実行するステップと、
を含む、方法。 - プログラムを格納したフラッシュ・メモリと、
前記フラッシュ・メモリに格納されているプログラムを読み込んで実行するプロセッサとを備え、
前記フラッシュ・メモリは、
前記プログラムを保持するストレージ部と、
前記プログラムを前記ストレージ部から読み込んで一時的に保持するバッファ部とを備え、
前記プロセッサは、前記プログラムを、前記フラッシュ・メモリの前記バッファ部に読み込まれた部分ごとに異なるベース・アドレスを設定してキャッシュ・メモリに保持する、システム。 - 前記プロセッサは、前記フラッシュ・メモリの前記バッファ部から最初にキャッシュ・メモリに保持したプログラムを実行することにより、前記バッファ部に読み込まれる前記プログラムを、前記ベース・アドレスを変更して前記キャッシュ・メモリに保持する、請求項5に記載のシステム。
- 前記プロセッサは、電源を投入されたときに、前記フラッシュ・メモリの前記バッファ部に読み込まれたプログラムを実行する、請求項5または請求項6に記載のシステム。
- コンピュータに、
プログラムを読み込ませてキャッシュ・メモリに保持させる機能と、
前記キャッシュ・メモリに保持される当該プログラムのベース・アドレスを、既に当該キャッシュ・メモリに保持されている他のプログラムのベース・アドレスとは異なるように変更する機能と、
を実現させる、プログラム。 - プログラムを保持するストレージ部と、
コンピュータがランダムアクセス可能なバッファ部とを備え、
前記ストレージ部は、
電源を投入されたときに、最初に前記ストレージ部から前記バッファ部に読み込まれ、前記コンピュータに、他のプログラムを当該コンピュータのキャッシュ・メモリに保持させる第1プログラムと、
前記コンピュータが前記第1プログラムを実行することにより当該コンピュータのキャッシュ・メモリに保持され、前記コンピュータに、さらに他のプログラムを、既に当該キャッシュ・メモリに保持されているプログラムのベース・アドレスとは異なるように変更して当該キャッシュ・メモリに保持させる第2プログラムと、
前記コンピュータが前記第2プログラムを実行することにより当該コンピュータのキャッシュ・メモリに保持される第3プログラムと、
を保持する、記録装置。 - 前記第2プログラムは、前記第3プログラムが前記キャッシュ・メモリに保持された後、前記コンピュータに、当該第3プログラムを実行させる、請求項9に記載の記録装置。
- 前記ストレージ部は、NAND型フラッシュ・メモリで構成された、請求項9または請求項10に記載の記録装置。
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)
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 |
-
2008
- 2008-12-05 JP JP2008310736A patent/JP2010134741A/ja active Pending
Patent Citations (7)
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 |