JP2007501450A - コンピュータ装置のデータにアクセスする方法 - Google Patents

コンピュータ装置のデータにアクセスする方法 Download PDF

Info

Publication number
JP2007501450A
JP2007501450A JP2006521662A JP2006521662A JP2007501450A JP 2007501450 A JP2007501450 A JP 2007501450A JP 2006521662 A JP2006521662 A JP 2006521662A JP 2006521662 A JP2006521662 A JP 2006521662A JP 2007501450 A JP2007501450 A JP 2007501450A
Authority
JP
Japan
Prior art keywords
data
image
memory
executable memory
executable
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.)
Granted
Application number
JP2006521662A
Other languages
English (en)
Other versions
JP4815346B2 (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.)
Symbian Software Ltd
Original Assignee
Symbian Software 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 Symbian Software Ltd filed Critical Symbian Software Ltd
Publication of JP2007501450A publication Critical patent/JP2007501450A/ja
Application granted granted Critical
Publication of JP4815346B2 publication Critical patent/JP4815346B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)

Abstract

プログラムコード及びユーザデータを記憶するためのNANDフラッシュメモリを有するコンピュータ装置を動作する方法。起動時、コンピュータ装置のコアオペレーティングシステムの選択された構成要素のみがRAMにシャドウされる。コアオペレーティングシステムに関連付けられた読み取り専用のシステムファイル等の他の構成要素は、NANDフラッシュメモリに保存され、要求に応じてのみRAMにシャドウされる。起動時にRAMにシャドウされたプログラムコード及び要求に応じてRAMにシャドウされたプログラムコードは、コンピュータ装置のファイルサーバに複合ファイルシステムとして提供される。複合ファイルシステムを使用することにより、装置の動作中にコアオペレーティングシステムコードにより固定的に占有されるRAMの量が低減され、NANDフラッシュメモリがより電力効率よく使用される。更に、装置のブートアップ時間が大幅に減少される。
【選択図】 図1

Description

本発明は、コンピュータ装置のデータにアクセスする方法に関し、特に、NANDフラッシュメモリ等の実行不可能なメモリを内蔵するコンピュータ装置のデータにアクセスする方法に関する。更に、本発明は、その方法により制御されるコンピュータ装置に関する。
ここで使用される用語「コンピュータ装置」は、任意の形態の電気装置を含むように、広範囲に解釈されるべきである。「コンピュータ装置」は、任意の形態のデジタルスチルカメラ及びビデオカメラ等の記録装置、ハンドヘルドコンピュータ及びパーソナルコンピュータを含む任意の種類又は形態のコンピュータ、並びに、単一装置内で通信、画像の記録及び/又は再生及び演算機能性を組み合わせた移動電話、スマートフォン、通信機及び他の形態の無線/有線情報装置を含む任意の形態の通信装置を含む。
コンピュータ装置のメモリは、プログラムコードを実行する能力により分類されてもよい。ランダムアクセスメモリ(RAM)及び読み出し専用メモリ(ROM)等の特定の種類のメモリは、メモリに格納されたプログラムコード又はデータの実行又は使用を必要とするコンピュータ装置の中央処理装置又はファイルサーバ、或は、その装置上で実行するアプリケーションプログラム等のアドレシング装置に対して、メモリアドレスの場所(装置内のメモリ空間のメモリセル)の完全な可視性を提供する。従って、これらの種類のメモリは、「ランダムアクセスの能力」を有する。これらの種類のメモリは、実行可能なメモリとして使用される。これは、例えば、メモリに格納されたプログラムコードがメモリから直接実行できることを意味する。この種類のプログラムコード実行は、一般に、直接実行(XIP)として知られる。
しかし、上記の特徴を示さず、実行可能なメモリとして直接機能できない他の形態のメモリが存在する。これらは実行不可能なメモリとして知られる。実行不可能なメモリの一例として、NANDフラッシュメモリがある。これは、主に、プログラムコードの実行等のデータアクセスのために開発されたのではなく、データ記憶アプリケーションのために開発された。これにより、小型セルを提供する別の種類の内部アーキテクチャをメモリ空間に対して採用することが可能となった。このアーキテクチャは、格納されたデータに対して高速バーストアクセスを許可するが、全てのメモリセル、即ち、メモリ空間に格納されたデータに対して直接アクセス(ランダムアクセス)を許可しない。このアーキテクチャは、NORフラッシュメモリ等の実行可能なメモリにおいて必要とされるインタフェースと比較して、メモリ空間内で更に複雑なインタフェースをメモリセルに対して提供するが、メモリアクセスのためには簡単化された入出力インタフェースのみを必要とする。従って、NANDフラッシュメモリは、NORフラッシュメモリ等の同等のサイズの実行可能なメモリと比較して、格納される各コードビットに対して安価であり、サイズが小さく、電力消費も相対的に少ない。
NANDフラッシュメモリデバイスは多数のブロックで構成され、通常、128Mbアレイは1024個のブロックを含む。1ブロックは、メモリ空間内で随時消去される最小単位と考えられる。各ブロックは多数のページ(通常、32ページ)から構成され、このページは、プログラムする時、データをメモリに格納する時、又はデータをメモリから読み出す時の基本単位と考えられる。各ページは、通常、512バイトのデータを含む。メモリデバイスを製造するために使用される製造工程のため、メモリデバイスは、有効ブロック及び不良ブロックの双方を含む可能性がある。これについては、以下の説明から明らかとなるだろう。
NANDフラッシュメモリは、コンピュータ装置又は他の電子装置、特に、移動電話及び他の携帯装置において、次第に使用されるようになってきている。これは、相対的に安価で、また、電池駆動式の携帯装置にとっては最も好都合なことに、相対的に電力消費が少ないためである。しかし、このNANDフラッシュメモリの欠点は、読み出しコマンド又は書き込みコマンドが発行される度に、転送されるデータ量が常に512バイトで構成される1ページであるため、格納されたデータへのアクセスが完全なランダムアクセスではなく、相対的に順次アクセスであることである。ページ内の選択された数バイトにランダムにアクセスする能力がない。これは、アプリケーションプログラムがXIPプログラムとして使用される必要があるため、それらアプリケーションプログラムを携帯型のコンピュータ装置上で実行するためにNANDフラッシュメモリが直接使用されないことを意味する。
この欠点を克服する1つの方法は、任意のプログラムコードが実行される前に、そのコンピュータ装置が電源投入時に起動するのに必要なコアOSコードを含むコンピュータ装置上のブートローダプログラムが、実行不可能なNANDフラッシュメモリに格納されたコアオペレーティングシステム(コアOS)の全てのプログラムコードを実行可能なダイナミックRAMにコピー又はシャドウするという方法である。
以下に説明される本発明の例において、選択されたプログラムコードがコード実行の前にダイナミックRAMにコピー又はシャドウされ、元のコードはNANDフラッシュメモリに保存されていることが強調される。何らかの理由により、ダイナミックRAMに格納されたコードが失われる原因となる装置に対する電力損失がある場合、選択されたコードがNANDフラッシュメモリから再びシャドウするために継続して利用可能であるため、これは、移動型のコンピュータ装置、特に、選択されたプログラムコードがコアOSである移動型のコンピュータ装置に対して好ましい方法である。
一方、ダイナミックRAMからのコード損失が致命的でないとするアプリケーションが存在する。この状況において、NANDフラッシュメモリのコードは、NANDフラッシュメモリに元のコードを保存せずに、ダイナミックRAMにシャドウ又はコピーされてもよい。誤解を回避するため、本発明の説明においては、用語「コピー」は、選択された元のコードを実行不可能なメモリに保存しているか否かに関わらず、選択されたコードが実行可能なメモリにシャドウされる場合を含むこととする。
通常、コアOSだけでなく、装置の動作中に使用される追加のプログラムファイルも含むために、大量のコードを含む可能性があるNANDフラッシュメモリ中のプログラムコードの内容全体がダイナミックRAMにシャドウされる場合、これは、コンピュータ装置をブートアップするのに必要な時間に関して非常に負担となる。更に、シャドウされたコードは、装置の動作中、装置のダイナミックメモリの大部分を固定的に占有するだろう。無線通信装置等の携帯装置において、このダイナミックメモリは、制限される貴重なリソースであると考えられ、装置は、通常、8MB又は16MBのダイナミックRAMを含む。一方で、NANDフラッシュプログラムコードの一部のみがコピーされる場合、プログラムコードの使用を必要とするアプリケーションがダイナミックRAMにコピーされたため利用可能であるコードの構成要素及びダイナミックRAMにコピーされなかったため利用不可能である構成要素を認識する必要があるため、通常、非常に複雑となる。
更に、NANDフラッシュメモリに格納されたデータがコアOSである場合、メモリに含まれるプログラムの構成要素数は、デバイスシステムのオペレーティングプラットフォーム及び同一プラットフォーム内の装置により異なる可能性がある。これは、特に、コアOSが複数の異なるユーザを有している場合であり、通常、無線通信装置において発生する可能性がある。この無線通信装置において、種々の製造者及び装置納入業者は、1つ以上のシステム構成要素を固定的にダイナミックRAMにシャドウする際の高速化と貴重なRAMメモリの消費量との兼ね合いを様々に選択することにより、コアOSの特定の構成要素を共通の構成要素として採用し、コアOSの他の構成要素を各装置の要求に適応させる。
本発明の目的は、実行不可能なメモリの低価格化及び省電力化がより完全に実現されるようにコンピュータ装置を動作する改良された方法を提供し、装置に対して、より迅速なブート時間を提供することである。
本発明の第1の態様によると、コンピュータ装置の実行不可能なメモリのデータにアクセスする方法が提供される。この方法は、前記実行不可能なメモリに残存する別のデータと組み合わせて、前記実行不可能なメモリからコピーされ且つ実行可能なメモリに格納された選択されたデータを含む複合データファイルシステムを提供し、前記実行可能なメモリの前記選択されたデータにアクセスし、前記実行可能なメモリに前記別のデータを選択的にコピーして前記別のデータにアクセスすることにより、前記複合データファイルシステムのデータにアクセスすることとを含む。
本発明の第2の態様によると、第1の態様の方法に従って動作するように構成されたコンピュータ装置が提供される。
本発明の第3の態様によると、コンピュータ装置が第1の態様に従って動作するように構成されたコンピュータソフトウェアが提供される。
添付の図面を参照し、単に例として、本発明の一実施形態を以下に説明する。
図1は、本発明の一実施形態に係るコンピュータ装置のメモリリソースにアクセスする方法を示す図である;
図2は、本発明の別の実施形態に係るコンピュータ装置のメモリリソースを分割する方法を示す図である。
無線情報装置の形態のコンピュータ装置に対するオペレーティングシステムの一例は、英国、LondonのSymbian Limitedにより提供されるSymbian OSTMとして知られるOSである。オペレーティングシステムプログラムコード及びユーザデータ双方の格納時に使用される場合においてSymbian OSTMを使用する無線情報装置のNANDフラッシュメモリの分割及びアクセスに関して、且つ、システムコードイメージ及びユーザデータ領域の双方の形式に関して、本発明を説明する。
図1及び図2は、オペレーティングシステムプログラムコード、ユーザデータ及びメタデータ領域がNANDフラッシュメモリ内で分割される方法を示す。各図の左側には、NANDフラッシュメモリの上記の各領域のインタフェースとなるSymbian OSTMのソフトウェア構成要素を示す。各図の右側には、異なるコード、データ及びメタデータイメージを生成する役割を果たすツール又はソフトウェア構成要素を示す。
コード及びデータの双方を記憶する方法で使用されるNANDフラッシュメモリに対して、メモリが複数のセクションに分割されることが図から分かる。コンピュータ装置に対するオペレーティングシステム全体の重大な部分は、一般にコアオペレーティングシステム(コアOS)として知られる。このコアOSは、オペレーティングシステム全体のうち、装置の電源投入時に装置がブートアップし、動作するのに必要な部分のみを含むように構成される。以下の説明から明らかとなる理由により、コアOSは、NANDフラッシュメモリに単一イメージとして格納される。NANDフラッシュメモリが、コアOSイメージの格納及びユーザにより変更されるべきではない他のオペレーティングシステムイメージの格納に使用されるため、メモリのセクションのうち少なくとも1つのセクションはロックされる。従って、メモリは、以下の5つのセクションに分割されるのが好ましい。
・ブートセクション(Boot Section)
・ロックセクション(Locked Section)
・アンロックセクション(Unlocked Section)
・ブロック置換セクション(Block replacement Section)
・パーティション情報セクション(Partition Information Section)
これら5つのセクションについて、次に更に詳細に説明する。
ブートセクション
このセクションは、NANDフラッシュメモリの第1のブロックを占有し、長さがわずか1メモリブロックである。NANDフラッシュメモリの製造者は、第1のブロックは常に有効であり、ブートセクションに格納されたコードイメージがこのブロックが不良である場合に対処する必要がないことを保証する。図1に示される実施形態において、ブートセクションは、ミニブート(MiniBoot)イメージ及びコアローダ(Core Loader)イメージを含む。
ミニブート
NANDフラッシュメモリが実行不可能なメモリ(非XIP)であるため、装置がブートアップ時にNANDフラッシュメモリからブートし、次に、コアOSイメージをロードすることを可能にするハードウェア機構を、プログラムコードの記憶にNANDフラッシュメモリを使用する任意の無線情報装置に提供する必要がある。採用されるオプションは、ハードウェアブートローダを含む。即ち、起動時にNANDフラッシュメモリのごく一部をXIPに「効果的に」変換した結果を有する小さなRAMバッファを含むNANDフラッシュメモリに関するロジックを含む。或は、小さなブートROMが使用されてもよい。即ち、NANDフラッシュメモリに格納されたコードデータの第1の部分をRAMにシャドウするプログラムコードを含む個別のXIP ROMが使用されてもよい。これらオプションは、単独で使用されてもよく、或は、組み合わせて使用されてもよい。
上記のオプションのいずれにおいても、装置の起動時にXIPメモリの僅かな領域(通常、1Kバイトより少ない容量である可能性がある)がブートアッププログラムを実行できる機構が提供される。このプログラムは、ミニブートと呼ばれ、通常、アセンブラコードで書かれる。このプログラムの機能は、コアローダイメージの位置を特定し、そのイメージをRAMにコピーし、実行することである。
従って、NANDフラッシュメモリの第1の部分はミニブートイメージを含み、ミニブートイメージは、通常、いかなる種類の標準のヘッダ情報も含まない。ミニブートイメージは、実行可能コードの僅か一部分のみを含むのが好ましい。図1の実施形態において、ミニブートイメージは、NANDフラッシュメモリ内のパーティション情報ブロック(Partition Information Block)(PIB)に保持されるデータテーブルの拡張から、コアローダイメージの場所及び長さを取得する。PIBについて、以下に更に詳細に説明する。
コアローダ
コアローダイメージの機能は、コアOSイメージの位置を特定し、そのイメージをRAMにコピーし、更に、そのイメージに含まれるオペレーティングシステムブートストラップルーチンを実行することである。コアローダイメージは、ミニブートイメージによりRAMにコピーされ、格納される。
コアOSイメージは、NANDフラッシュメモリ内のロックセクションに格納される。メモリのこのセクションは、不良ブロックを含む可能性がある。不良ブロックがロックセクションに存在することが発見された場合に、コアローダイメージがブロック置換セクションからコアOSデータの特定のブロックを読み出す必要がある可能性があるため、コアローダイメージは、ロックセクションに対するブロック置換テーブル(Block Replacement Table)(BRT)を翻訳するように構成される。
コアOSイメージは、圧縮形式で格納されるのが好ましい。従って、コアローダイメージは、そのことを検出し、必要に応じて、コアOSイメージコードを伸張する必要がある。これについては、ロックセクションを参照して、以下に更に詳細に説明する。コアローダイメージは、通常、ミニブートイメージの直後に開始し、また、メモリの第1のブロックを超えて拡張しないことが好ましい。これは、ミニブートイメージが不良ブロック検出を実行する必要がないことを保証するため、ミニブートイメージのサイズを最小化することを助ける。通常、コアローダイメージは、アセンブラコードで書かれ、いかなる標準のヘッダも含まない。
ロックセクション
このセクションは、ミニブートイメージ及びコアローダイメージとは異なり、装置を動作するのに必要な全体コードのイメージを含む。このコードイメージは、コアOSイメージ、1つ或はそれ以上の読み取り専用ファイルシステム(Read Only File System)(ROFS)イメージ及び1つ以上の言語パック(Language Pack)イメージから構成され、その全体のサイズは、それらイメージを表現するのに必要なコードのサイズに依存する。NANDフラッシュメモリのロックセクションのいずれの部分も、不良ブロックを含む可能性がある。
コアOSイメージ
NANDフラッシュメモリが実行不可能なメモリであり、XIPとして機能できないため、このイメージは、システムの起動時に実行可能なメモリ、通常はRAMに自動的にシャドウされる。これは、コアローダイメージにより達成される。コアOSイメージの開始は、コアローダイメージの終了直後、即ち、NANDフラッシュメモリの第1のブロック内に位置付けられてもよい。或は、このイメージは、NANDフラッシュメモリの第2の有効ブロックの最初に開始するように構成されてもよい。図1に示される実施形態において、コアローダイメージは、パーティション情報ブロックに保持されるテーブルに対する拡張から、コアOSイメージの場所を読み出すことにより、コアOSイメージの位置を特定する。
ROMBUILDソフトウェアツールは、NANDフラッシュメモリに格納されるコアOSイメージを生成するために最初に使用され、実質的には、このイメージは、標準ROMイメージとしてフォーマットされる。通常、このイメージは、ROMヘッダ、ブートストラップバイナリイメージ、全てのルートディレクトリを列挙したルートディレクトリリスト、ROMイメージによりサポートされる1つの変形、ROMイメージのディレクトリ構造、並びに、ROMイメージを構成する実行ファイル及びデータを構成する多数のファイルを含んでもよい。上述のように、コアOSイメージは、通常、無線情報装置を動作するのに必要であると考えられるそれらオペレーティングシステムの構成要素に限定される。
しかし、通常、コアOSイメージは、メモリ空間を節約するために、圧縮形式でNANDフラッシュメモリに格納される。通常、コアOSイメージの構成要素は、グループとして使用され、個別に使用される必要はない。従って、このイメージの各構成要素が構成要素毎に圧縮されるのではなく、通常、コアOSイメージ全体が、ROMヘッダの次に単一イメージとして圧縮される。ROMヘッダは、通常、圧縮されない。このイメージの圧縮は、イメージがNANDフラッシュメモリに格納されると、ROMBUILDソフトウェアにより実行される。ROMヘッダは、コアOSイメージの圧縮の種類、圧縮サイズ及び伸張サイズを示すフィールドを含む。
このイメージは、RAMにシャドウされると、コアローダイメージにより伸張される。コアOSイメージの全ての構成要素が全体的に、即ち、単一イメージとして圧縮されるため、伸張も構成要素毎に直列に実行されるのではなく、単一イメージ単位で実行される。XIPとしてアクセスするために、そのイメージ内の構成要素を実行可能なRAMメモリに高速ダウンロードするという仮定の下、イメージの伸張は、効率的に、比較的迅速に達成される。従って、特に、コアOSイメージが、XIPのために、実行不可能なNANDフラッシュメモリから実行可能なダイナミックRAMに比較的迅速にシャドウするのに適切であることが理解されるであろう。
主読み取り専用ファイルシステム(Primary Read Only File System)(ROFS)
コアOSイメージに含まれないオペレーティングシステムコードの殆どが、通常、多数の構成要素から構成される主ROFSイメージに位置付けられる。装置のファイルサーバは、このイメージにアクセスするために読み取り専用ディスクファイルシステム(ROFS)を使用する。このROFSイメージは、メディアドライバを使用して、NANDフラッシュメモリからコードを読み出し、アクセス又は実行するためにコードをRAMにロードする。これは、パーティション情報ブロックから主ROFSイメージの場所を読み出すことにより、主ROFSイメージの位置を特定するメディアドライバにより達成される。
ROFSイメージの各構成要素は、標準ROMイメージと同一ではないが、これに非常に類似する形式を有し、ROFSBUILDソフトウェアツールにより生成される。標準ROMファイルシステムイメージと同様に、ROFSイメージは、コアオペレーティングシステム内で使用する実行可能プログラム及びダイナミックリンクライブラリ(DLL)を含む。コアOSイメージとの共通点は、通常、ROFSイメージの構成要素がNANDフラッシュメモリに格納されると、ROFSBUILDツールにより圧縮されることである。しかし、ROFSイメージの構成要素は、全体的に使用されることは殆どない。例えば、多くのDLLが、1つ以上の実行可能プログラムにより使用されるプログラムコードの離散ライブラリとして使用されてもよい。これにより、実行可能プログラムがファイルサーバによりロードされる場合、プログラムが必要とする特定のDLLは自動的にロードされ、プログラムが必要としないDLLはロードされない。従って、ROFSイメージの全ての個々の構成要素が、NANDフラッシュメモリに格納されると単一イメージとして圧縮されるのではなく、構成要素毎に圧縮される。ROFSイメージの構成要素を圧縮するために、任意の適切な圧縮の種類及び技術が使用されてもよい。
ROFSイメージの構成要素を装置で実行する必要がある場合、それら構成要素は、伸張され、実行可能なダイナミックRAMに格納される必要がある。しかし、ROFSイメージが構成要素毎に圧縮されたため、ROFSイメージは、RAMにシャドウされると、構成要素毎に伸張される必要がある。同等サイズのイメージに対して、構成要素毎に伸張するのは、イメージを全体的に伸張するより相当に長い時間がかかる。従って、相対的に、ROFSイメージの全ての構成要素を伸張し、RAMにシャドウすることは、コアOSイメージを伸張し、RAMにシャドウするより相当に長い時間がかかる。ROFSイメージ全体が装置のブートアップ時にRAMに自動的にシャドウされる場合、装置が動作可能になる前に相対的に長い遅延を発生し、この遅延は装置のユーザにとって顕著なものとなる。
従って、本発明において、装置のブートアップ時に全てがRAMに固定的にシャドウされるコアOSイメージとは異なり、NANDフラッシュメモリに格納されたROFSイメージ領域の構成要素は、要求に応じてのみRAMにシャドウされる。オペレーティングシステムの選択した部分のみ、例えば、ROFSイメージの選択した数の構成要素と共にコアOSイメージをRAMにシャドウし、それらを複合ファイルシステムとして提供することにより、複合ファイルシステムイメージは、ROFSイメージ全体がブートアップ時にコアOSイメージと共にRAMにシャドウされる場合と比較して、より迅速な実行のために利用できる。
上述のように、イメージの構成要素を固定的にシャドウする場合の高速化とRAMの消費量との兼ね合いがあるため、コアOSイメージに含まれる構成要素数は、装置のプラットフォーム毎に異なってもよい。しかし、コアOSイメージは、ROFSを起動するのに必要とされる最小の構成要素群を常に含む必要がある。これら構成要素は、コアオペレーティングシステムのメディア領域として知られる。Symbian OSTMにおいて、この最小の要素群は、通常、以下の構成要素を含むだろう:
・ブートストラップ
・カーネル、カーネル拡張及びメディアドライバ
・ユーザライブラリ
・ファイルサーバ、ファイルシステム(.FSY)及びESTART(既存のアプリケーションにより想定されるサービスをロードするファイル)
これら構成要素がRAMにロードされると、構成要素は、標準ROMイメージの外観を有し、装置のファイルサーバは、アクセスするために標準ROMファイルシステムを内部で使用する。
しかし、本発明において、Symbian OSTMでは標準ROMファイルシステムの形式であるコアオペレーティングシステムのメディア領域は、主ROFSのメディア領域と組み合わされ、その組合せは、単一の複合読み取り専用ファイルシステムとして提供される。このように、一方が実行可能なRAMに保持され、他方が実行不可能なNANDフラッシュメモリに保持される2つのメディア領域は、装置のファイルサーバ、即ち、システムのその他の部分に対して、添付の図面においてドライブZ:で示される単一の読み取り専用ドライブとして提供される。
コアオペレーティングシステムの重要な構成要素をRAMにロードするのに要する時間はより短く、装置の動作中、小型のハンドヘルド無線通信装置において比較的乏しいリソースであるRAMをより少なく固定的に占有する。これにより、RAMのより多くの部分が、他のアプリケーションに対して、選択的に使用可能となる。ROFSイメージの特定の実行ファイル及びライブラリファイルは、コアOSイメージと共に全体的にRAMにシャドウされるのが好ましい。しかし、ROFSイメージのデータファイルからのファイル読み出し動作、例えば、ビットマップファイルの読み出しに対して、ファイルシステムは、読み出される部分のみをRAMにロードする。
この複合ファイルシステムは、装置のブートアップ時にオペレーティングシステムの必須の構成要素のみがRAMにシャドウされ、装置の動作中に周期的にアクセスされるROFSイメージの構成要素が要求に応じてのみRAMにシャドウされることを保証するため、RAMを非常に効率的に使用する。しかし、固定的にシャドウされた構成要素及び要求に応じてシャドウされた構成要素が単一の複合ファイルシステムとして提供されるため、オペレーティングシステムの特定の構成要素がRAMから直接読み出され(コアOSイメージ)、他の頻繁に使用されない構成要素(ROFSイメージの構成要素)が要求に応じてRAMにシャドウされることを介してNANDフラッシュメモリから読み出されることが、装置の動作中、透過的である。
コアOSイメージを主イメージに後続する拡張ROMイメージと分割することが可能である。これにより、コアOSイメージの主要な部分が拡張イメージから独立してNANDフラッシュメモリにプログラムされるのを可能にする。これは、例えば、無線情報装置の製造者がコアオペレーティングシステムの特定の構成要素を採用し、それら特定の構成要素を製造者に固有の他の構成要素と組み合わせ、無線情報装置にコアOSイメージを提供したい場合に利点となる可能性がある。実質上、主イメージ及び拡張イメージを含むこの特定のコアOSイメージは、装置のブートアップ時に、組み合わされて、RAMにシャドウされる。このような場合、拡張ROMイメージは、主イメージとは個別に圧縮され、また、圧縮されず且つ上述と同様の圧縮情報に関する3つのフィールドを含む拡張ROMイメージのヘッダ(TExtensionRomHeader)を有する。本実施形態において、コアローダイメージは、拡張ROMイメージの伸張及びロードを処理するように変更されるだろう。
言語パック
コアオペレーティングシステムのその他の部分から独立して、ローカライズファイルをプログラムすることが必要な場合、第2のROFSイメージが使用されてもよい。このイメージは、主ROFSイメージに後続するROFS拡張イメージとして構成されてもよい。しかし、固定的にRAMにシャドウされるROM拡張とは異なり、ROFS拡張イメージは、要求に応じてRAMにシャドウされる。図1に示される実施形態において、ROFS拡張イメージは、複合ファイルシステムの一部、即ち、Z:ドライブの一部として提供される。拡張ROMのいずれのデータも固定的にRAMにシャドウされる必要があるため、拡張ROMイメージは、ローカライズを保持するのに使用されるとは考えられない。
しかし、図2に示される実施形態において、ROFS拡張イメージは、複合ファイルシステムの一部ではなく、個別のドライブY:として提供される。このドライブY:に対して、ROFSは、メディアドライバを使用して、NANDフラッシュメモリからデータを読み出す。このドライブと複合ドライブZ:のROFSイメージとの双方に対して、同一のメディアドライバが使用される。図の実施形態において、メディアドライバは、言語パックROFS領域の場所をパーティション情報ブロックから読み出すことにより、言語パックROFS領域の位置を特定する。
アンロックセクション
このセクションは、ユーザデータ領域全体を含み、2つ以上のユーザデータのパーティションを含んでもよい。図1の実施形態において、アンロックセクションの開始時にマスタブートレコード(Master Boot Record)を実現するのではなく、各パーティションに対する情報がパーティション情報ブロック内に格納されるのが好ましい。アンロックセクションのいずれの部分も、不良ブロックを含む可能性がある。
ユーザ領域の各パーティションは、パーティションを管理するために標準の仮想FAT(virtual file allocation table)(VFAT)ファイルシステムを使用するファイルサーバにより、通常のVFATドライブとしてフォーマットされてもよい。不良ブロック管理ソフトウェア(bad file management software)(GBBM)と共にフラッシュメモリ変換層(Flash Translation Layer)(FTL)ソフトウェアが、メディアドライバにおいて実現される。これは、同一のメディアドライバ及びROFSに使用されるGBBMソフトウェアであってもよい。しかし、ROFSが読み取り専用であるため、ROFSは、効率化のために、メディアドライバのFTLソフトウェアを無視するように構成される。
ブロック置換セクション
このセクションは、NANDフラッシュメモリ内に予備ブロックのリザーバを含む。これは、NANDフラッシュメモリのロックセクション及びアンロックセクション内で、不良ブロックを置換するために、GBBMソフトウェアにより使用される。従って、ブロック置換セクションのリザーバは、ロックセクション及びアンロックセクション間で共用される。アンロックセクションに対する置換ブロックは、リザーバの最上部(最下位アドレス)から割り当てられ、ロックセクションに対する置換ブロックは、リザーバの最低部(最上位アドレス)から割り当てられる。リザーバの2つの領域が衝突することを許可しないのが好ましく、これは、ブロック置換セクションの全ての予備ブロックが使用中であることを示すだろう。この場合、アンロックセクションで発生する不良ブロックは、アンロック領域の容量を減少する原因となるだろう。ロック領域は、NANDフラッシュメモリの読み取り専用領域であるため、ロック領域で新たな不良ブロックが発生すべきではない。従って、ロックセクションに必要な置換ブロック数が判定されると、アンロックセクションに対して置換ブロックとして割り当てる置換ブロック数を最大限にできる。これにより、ユーザデータを格納するために使用されるアンロックセクションの記憶容量が不良ブロックの発生により不必要に減少されないことが保証される。
NANDフラッシュメモリのこのセクションは、ブロック置換テーブル(BRT)を格納するためにも使用される。これは、ロック/アンロックセクションの不良ブロックとそれを置換するリザーバのブロックとの相関関係又はマッピング情報を保持する。アンロック領域に対する置換テーブルは、セクションの最上部(最下位アドレス)に位置付けられ、ロック領域に対する置換テーブルは、セクションの最低部(最上位アドレス)に位置付けられるのが好ましい。各置換テーブルは、ブロック全体を占有し、各セクションに2つのテーブルが割り当てられるのが好ましい。ブロック置換テーブルは、任意の適切な形式で構成される。
上述のように、各BRTは、ブロック全体を占有するが、512バイトのデータ(1ページのデータに同等)のみ格納し、127個までのブロックのマッピングを可能にする。従って、追加のブロックがロックセクション又はアンロックセクションのいずれかにおいてマップされる必要がある場合、各セクションに対する第2のBRTが使用される。ロックセクション及びアンロックセクションに対するBRTは、同一の形式であることが好ましい。
更に、GBBMソフトウェアは、アンロックブロック置換テーブルの下に位置付けられる転送ブロックを必要とする。従って、リザーバのサイズは、ブロック置換セクションのサイズ−5ブロックに設定されるのが好ましい。ブロック置換セクションは、以下のように構成されてもよい:
Figure 2007501450
通常、フラッシュプログラムがGBBMソフトウェア構成要素を使用するため、双方のBRTは、ロック領域のコードのフラッシュ中に、NANDフラッシュメモリに最初にプログラムされる。ブロック置換セクションが初期化されていないことをGBBMソフトウェアが検出する場合、GBBMソフトウェアは、フラッシュメモリ全体を走査し、不良ブロックを検出し、適切なBRTを更新する。ブロック置換セクションの場所に関する情報は、パーティション情報ブロック内にも格納される。
パーティション情報ブロック(PIB)
このセクションは、NANDフラッシュメモリ内の全てのセクション及びサブセクションの場所及びサイズに関する情報を保持する多数のテーブル含む。PIBは、長さが1ブロックであり、NANDフラッシュメモリの最後の有効ブロックを占有する。即ち、最後の有効ブロックとは、最終ブロックが不良ブロックでない限り最終ブロックである。従って、PIBの場所は異なってもよい。ブートセクションの8バイトダブルワードは、PIBの開始オフセットをバイトで記述するために使用されてもよい。これをPIBオフセットダブルワードと呼んでもよい。ブロック内に保持される情報がNANDフラッシュメモリのセクションの位置を特定するために使用されるため、PIBの場所は、装置全体の動作にとって重要であることが理解されるだろう。従って、8バイトダブルワードは、オフセットワードの前に使用されてもよく、オフセットワードは、64ビットの署名を含むことができる。この署名は、PIBオフセットダブルワードが読み出される前に、最初に有効化される必要がある。これは、オフセットワードを改竄する有害ソフトに対する保護を支援する。ミニブートイメージは、PIBオフセットダブルワード及び64ビット署名の周囲を移動するように構成されるのが好ましい。
図2に示される実施形態において、ブートセクションは、フラッシュブートレコード(Flash Boot Record)(FBR)イメージを更に含む。フラッシュブートレコードイメージは、メモリ上の他のセクション及びサブセクションの各々の場所及びサイズに関する情報を保持する。実質上、フラッシュブートレコードイメージは、パーティション情報ブロックに保持される一部の情報の代わりとして使用される。
フラッシュブートレコード(FBR)
フラッシュブートレコード(FBR)イメージは、NANDフラッシュメモリ内で、ミニブートイメージとコアローダイメージとの間に位置付けられる。ミニブートイメージのサイズが可変であるため、任意の適切な方法を使用して、予約ワード等のフラッシュブートレコードの位置を特定してもよい。予約ワードをFBRオフセットワードと呼んでもよい。また、予約ワードは、NANDフラッシュメモリのブートセクションの特定のオフセットにおけるフラッシュブートレコードイメージのオフセット(バイト単位)を含む。動作効率のため、ミニブートイメージは、通常、FBRオフセットワードをスキップするように構成されるだろう。
ロックセクション、アンロックセクション及びブロック置換セクション等のNANDフラッシュメモリの各パーティションに対する情報は、フラッシュブートレコードイメージ内に格納される。
本実施形態において、ローカライズファイルは、コードデータのその他の部分とは独立して、第2のROFSイメージとして格納される。しかし、図2に示すように、このイメージは、複合ドライブZ:を介してアクセスされず、個別のドライブY:として提供される。
このドライブに対して、コンピュータ装置の読み取り専用ファイルシステムは、メディアドライバを使用して、NANDフラッシュメモリからデータを読み出す。実際には、ドライブY:のローカライズファイルイメージ及び複合ドライブZ:のROFSイメージを読み出すために、同一のメディアドライバが使用される。メディアドライバは、フラッシュブートレコードイメージから言語パックROFS領域の場所を読み出すことにより、言語パックROFS領域の位置を特定する。
複合ファイルシステムを使用することにより、最低限の数のコアオペレーティングシステムの構成要素が、装置の動作中に、実行不可能なNANDフラッシュメモリから実行可能なRAMに固定的にシャドウされることが先の説明から分かるだろう。従って、装置の動作中にコアオペレーティングシステムの構成要素により固定的に占有されるRAMの容量を最小とすることにより、NANDフラッシュメモリをエネルギー効率よく最大限に使用する。これにより、装置全体の電力消費を低減する。更に、装置のブートアップは、より迅速になる。これは、NANDフラッシュメモリからRAMにシャドウされるコアオペレーティングシステムの構成要素がより少なく、また、実質上、自動的にRAMにシャドウされる構成要素が、必要に応じて、構成要素毎に伸張及びシャドウされるROFSイメージの比較的制限された数の構成要素と組み合わされて、単一ROMイメージとして伸張及びシャドウされる単一コアOSイメージを含むからである。
更に、複合ファイルシステムが「固定的にシャドウされる」構成要素及び「要求に応じてシャドウされる」構成要素に対して使用されるため、構成要素のソースは、プログラムコードが実行される時、装置内の動作として透過的であり、従って、ユーザに対しても透過的である。
特定の実施形態を参照して本発明を説明したが、添付の特許請求の範囲により規定されるように、本発明の範囲内である限り、変形が可能であることは理解されるであろう。
本発明の一実施形態に係るコンピュータ装置のメモリリソースにアクセスする方法を示す図である。 本発明の別の実施形態に係るコンピュータ装置のメモリリソースを分割する方法を示す図である。

Claims (23)

  1. コンピュータ装置の実行不可能なメモリのデータにアクセスする方法において、
    前記実行不可能なメモリに残存する別のデータと組み合わせて、前記実行不可能なメモリから実行可能なメモリにコピーされた選択されたデータを含む複合データファイルシステムを提供し、
    前記実行可能なメモリの前記選択されたデータにアクセスし、前記実行可能なメモリに前記別のデータを選択的にコピーして前記別のデータにアクセスすることにより、前記複合データファイルシステムのデータにアクセスすることを含む方法。
  2. 前記選択されたデータは、前記実行可能なメモリにコピーされた時に伸張される圧縮データを含む請求項1又は2に記載の方法。
  3. 前記選択されたデータは、前記実行可能なメモリにコピーされた時に全体的に伸張される請求項3に記載の方法。
  4. 前記選択されたデータの一部は、前記選択されたデータの別の部分とは無関係に前記実行可能なメモリにコピーされる請求項1又は2に記載の方法。
  5. 前記別のデータは、前記実行可能なメモリに選択的にコピーされた時に伸張される圧縮データを含む請求項1から4のいずれか1項に記載の方法。
  6. 前記別のデータは、複数の構成要素を含み、前記実行可能なメモリに選択的にコピーされた時に構成要素毎に伸張される請求項5に記載の方法。
  7. 前記選択されたデータは、前記コンピュータ装置に対するコアオペレーティングシステムデータを含む請求項1から6のいずれか1項に記載の方法。
  8. 前記コアオペレーティングシステムデータは、前記コンピュータ装置のブートアップ及び前記コンピュータ装置に対する読み取り専用ファイルシステム(ROFS)データへのアクセスを可能にするプログラムコードを含む請求項7に記載の方法。
  9. 前記選択されたデータは、読み取り専用ファイルシステムデータの選択された構成要素を更に含む請求項8記載の方法。
  10. 前記別のデータは、読み取り専用ファイルシステムデータを含む請求項1から9のいずれか1項に記載の方法。
  11. 前記別のデータは、実行可能プログラムを含む請求項10に記載の方法。
  12. 前記別のデータは、ダイナミックリンクライブラリを含む請求項10又は11に記載の方法。
  13. 前記選択されたデータは、1つ以上のROMイメージの形式である請求項1から12のいずれか1項に記載の方法。
  14. 前記実行不可能なメモリ内の前記選択されたデータ及び前記別のデータのうち少なくとも一方の場所が、前記実行不可能なメモリのセクションからアドレスを読み出すことにより判定される請求項1から13のいずれか1項に記載の方法。
  15. 追加のデータが、前記複合データファイルの前記データに加え、前記実行可能なメモリに選択的にコピーされる請求項1から14のいずれか1項に記載の方法。
  16. 前記追加のデータは、前記複合ファイルシステムに選択的にコピーされる請求項15に記載の方法。
  17. 前記追加のデータは、言語パックイメージを含む請求項15又は16に記載の方法。
  18. 共通のドライバが、前記別のデータ及び前記追加のデータを前記実行可能なメモリに選択的にコピーするために使用される請求項15から17のいずれか1項に記載の方法。
  19. 前記選択されたデータ、前記別のデータ及び前記追加のデータは、ユーザに対してロックされた前記実行不可能なメモリのセクションに格納される請求項15から18のいずれか1項に記載の方法。
  20. 前記実行不可能なメモリは、NANDフラッシュメモリを含むように選択される請求項1から19のいずれか1項に記載の方法。
  21. 前記実行可能なメモリは、ランダムアクセスメモリ(RAM)を含むように選択される請求項1から20のいずれか1項に記載の方法。
  22. 請求項1から21のいずれか1項に記載の方法に従って動作するようにプログラムされたコンピュータ装置。
  23. コンピュータ装置が請求項1から21のいずれか1項に記載の方法に従って動作するように構成されたコンピュータソフトウェア。
JP2006521662A 2003-08-01 2004-07-28 コンピュータ装置のデータにアクセスする方法 Expired - Fee Related JP4815346B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0318037.9 2003-08-01
GB0318037A GB2404748B (en) 2003-08-01 2003-08-01 Computing device and method
PCT/GB2004/003268 WO2005013125A1 (en) 2003-08-01 2004-07-28 A method of accessing data in a computing device

Publications (2)

Publication Number Publication Date
JP2007501450A true JP2007501450A (ja) 2007-01-25
JP4815346B2 JP4815346B2 (ja) 2011-11-16

Family

ID=27799622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006521662A Expired - Fee Related JP4815346B2 (ja) 2003-08-01 2004-07-28 コンピュータ装置のデータにアクセスする方法

Country Status (5)

Country Link
US (1) US7610479B2 (ja)
EP (1) EP1658562B1 (ja)
JP (1) JP4815346B2 (ja)
GB (1) GB2404748B (ja)
WO (1) WO2005013125A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009016832A1 (ja) * 2007-07-31 2009-02-05 Panasonic Corporation 不揮発性記憶装置および不揮発性記憶システム
JP2009211245A (ja) * 2008-03-03 2009-09-17 Nec Access Technica Ltd フラッシュメモリ制御システムおよび制御方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0405795D0 (en) * 2004-03-15 2004-04-21 Tom Tom B V Navigation device displaying travel information
EP1624372A1 (en) * 2004-08-05 2006-02-08 Sony Ericsson Mobile Communications AB Compact storage of program code on mobile terminals
US7698698B2 (en) * 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
TWI267752B (en) * 2005-01-17 2006-12-01 Lite On Technology Corp Multi-mode computer system and operating method thereof
TW200627277A (en) * 2005-01-24 2006-08-01 Lite On Technology Corp OS selection method and computer system utilizing same
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
GB0505289D0 (en) * 2005-03-15 2005-04-20 Symbian Software Ltd Computing device with automated page based rem shadowing and method of operation
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
CN101180612A (zh) 2005-03-31 2008-05-14 日本电气株式会社 计算机系统、存储器管理方法及其程序
KR100640389B1 (ko) * 2005-04-06 2006-10-30 삼성전자주식회사 Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치
US7389391B2 (en) * 2005-04-29 2008-06-17 Mediatek, Inc. Memory disposition methods and systems
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
CN100395704C (zh) * 2005-08-27 2008-06-18 海信集团有限公司 一种在Nand Flash存储器中直接建立只读文件系统的方法
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
JP4891324B2 (ja) * 2005-09-14 2012-03-07 サンディスク コーポレイション 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7634689B2 (en) * 2005-09-22 2009-12-15 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator
KR100755701B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 내장형 시스템을 위한 요구 페이징 장치 및 방법
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7555678B2 (en) * 2006-03-23 2009-06-30 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7624260B2 (en) 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8028155B1 (en) 2007-06-06 2011-09-27 American Megatrends, Inc. Initiating an operating system boot from firmware
GB0712640D0 (en) * 2007-06-28 2007-08-08 Symbian Software Ltd Domputing device having a merged directory hierarchy from multiple filesystems
GB2460462A (en) * 2008-05-30 2009-12-02 Symbian Software Ltd Method for loading software components into RAM by modifying the software part to be loaded based on the memory location to be used.
GB2460636A (en) * 2008-05-30 2009-12-09 Symbian Software Ltd Storing operating-system components in paged or unpaged parts of memory
GB2461499A (en) * 2008-05-30 2010-01-06 Symbian Software Ltd Loading software stored in two areas into RAM, the software in a first area is loaded whole and from a second it is demand paged loaded.
US8713241B2 (en) * 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8560824B2 (en) * 2008-08-28 2013-10-15 Lsi Corporation Methods and devices for decompressing and executing option memory for device in shadow memory of a computer system having a BIOS
US8560716B1 (en) * 2008-12-19 2013-10-15 Emc Corporation Time and bandwidth efficient recoveries of space reduced data
US8725690B1 (en) 2008-12-19 2014-05-13 Emc Corporation Time and bandwidth efficient backups of space reduced data
CN101827163B (zh) * 2009-03-04 2013-07-03 深圳富泰宏精密工业有限公司 手机资源数据动态加载系统及方法
KR20120041582A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 스냅샷 이미지 분할 처리 장치 및 스냅샷 이미지 분할 처리 방법
US9411604B2 (en) * 2011-04-01 2016-08-09 Hewlett-Packard Development Company, L.P. Booting a computing device to have a predefined functionality
CN102623066A (zh) * 2012-01-19 2012-08-01 苏州希图视鼎微电子有限公司 固化代码参数表的保存及获取方法
CN102609282A (zh) * 2012-01-19 2012-07-25 苏州希图视鼎微电子有限公司 Nand闪存的固化代码的执行方法
CN102610279A (zh) * 2012-01-19 2012-07-25 苏州希图视鼎微电子有限公司 执行nand闪存的固化代码的方法
CN102609331A (zh) * 2012-01-19 2012-07-25 苏州希图视鼎微电子有限公司 Nand闪存的装载代码的文件格式
CN102637461B (zh) * 2012-03-07 2014-12-03 山东华芯半导体有限公司 支持坏块闪存扫描的启动方法
KR101984796B1 (ko) * 2012-05-03 2019-06-03 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
CN103226605B (zh) * 2013-04-28 2017-01-11 惠州市德赛西威汽车电子股份有限公司 车载多媒体设备快速显示外接存储设备文件的方法
CN104572140B (zh) * 2013-10-10 2018-11-27 深圳中电长城信息安全系统有限公司 一种操作系统移植的方法、装置及系统
CN103810007A (zh) * 2014-02-19 2014-05-21 立德高科(北京)数码科技有限责任公司 通过识别复制在设备中的功能代码文件以进行升级的方法
FR3028642B1 (fr) * 2014-11-13 2016-12-23 Oberthur Technologies Procede de personnalisation d'un microcircuit avec ecriture d'une partie compressee d'entite logicielle, et procede d'utilisation et microcircuit correspondants
CN104778066B (zh) * 2015-04-21 2018-01-23 北京凌阳益辉科技有限公司 一种嵌入式操作系统的快速启动方法及其装置
US9529601B1 (en) * 2015-07-15 2016-12-27 Dell Products L.P. Multi-processor startup system
US10802727B2 (en) * 2017-06-07 2020-10-13 ScaleFlux, Inc. Solid-state storage power failure protection using distributed metadata checkpointing
US10713060B2 (en) * 2018-08-02 2020-07-14 Micron Technology, Inc. Configurable option ROM
CN110476209B (zh) * 2019-06-28 2020-11-17 长江存储科技有限责任公司 三维存储器件中的存储器内计算
CN110537259A (zh) * 2019-06-28 2019-12-03 长江存储科技有限责任公司 三维存储器件中的存储器内计算
CN112835510B (zh) * 2019-11-25 2022-08-26 北京灵汐科技有限公司 一种片上存储资源存储格式的控制方法及装置
US11640308B2 (en) * 2021-02-19 2023-05-02 Macronix International Co., Ltd. Serial NAND flash with XiP capability

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994019768A1 (en) * 1993-02-19 1994-09-01 Oakleigh Systems, Inc. Compressed bios system
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
JP2001166941A (ja) * 1999-12-07 2001-06-22 Sony Corp 情報処理装置および方法、並びに記録媒体
WO2001052062A2 (en) * 2000-01-14 2001-07-19 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in sequential access memory
JP2003076606A (ja) * 2001-08-30 2003-03-14 Synthesis Corp プログラムの圧縮方法
JP2003114826A (ja) * 2001-08-06 2003-04-18 Dov Moran 新規のフラッシュメモリ構成

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US6357000B1 (en) * 1993-01-29 2002-03-12 Microsoft Corporation Method and system for specified loading of an operating system
US5794052A (en) * 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5819087A (en) * 1996-07-19 1998-10-06 Compaq Computer Corporation Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events
KR100322573B1 (ko) * 1998-06-19 2002-03-08 윤종용 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰
US6212632B1 (en) * 1998-07-31 2001-04-03 Flashpoint Technology, Inc. Method and system for efficiently reducing the RAM footprint of software executing on an embedded computer system
US7814474B2 (en) * 2000-11-17 2010-10-12 Hewlett-Packard Development Company, L.P. Updatable mobile handset based on Linux with compression and decompression techniques
US20020138702A1 (en) * 2001-03-26 2002-09-26 Moshe Gefen Using non-executable memory as executable memory
EP1407352A2 (en) * 2001-05-19 2004-04-14 International Business Machines Corporation Electronic system and method for booting of an electronic system
WO2003017517A1 (en) * 2001-08-20 2003-02-27 Samsung Electronics Co., Ltd Apparatus and method for interfacing between modem and memory in mobile station
KR100393619B1 (ko) * 2001-09-07 2003-08-02 삼성전자주식회사 휴대 단말기의 메모리 장치 및 그 제어방법
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
US6988163B2 (en) * 2002-10-21 2006-01-17 Microsoft Corporation Executing binary images from non-linear storage systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994019768A1 (en) * 1993-02-19 1994-09-01 Oakleigh Systems, Inc. Compressed bios system
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
JP2001166941A (ja) * 1999-12-07 2001-06-22 Sony Corp 情報処理装置および方法、並びに記録媒体
WO2001052062A2 (en) * 2000-01-14 2001-07-19 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in sequential access memory
JP2003114826A (ja) * 2001-08-06 2003-04-18 Dov Moran 新規のフラッシュメモリ構成
JP2003076606A (ja) * 2001-08-30 2003-03-14 Synthesis Corp プログラムの圧縮方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009016832A1 (ja) * 2007-07-31 2009-02-05 Panasonic Corporation 不揮発性記憶装置および不揮発性記憶システム
JP5220747B2 (ja) * 2007-07-31 2013-06-26 パナソニック株式会社 不揮発性記憶装置および不揮発性記憶システム
JP2009211245A (ja) * 2008-03-03 2009-09-17 Nec Access Technica Ltd フラッシュメモリ制御システムおよび制御方法

Also Published As

Publication number Publication date
JP4815346B2 (ja) 2011-11-16
GB2404748B (en) 2006-10-04
GB0318037D0 (en) 2003-09-03
WO2005013125A1 (en) 2005-02-10
US7610479B2 (en) 2009-10-27
EP1658562B1 (en) 2019-04-24
EP1658562A1 (en) 2006-05-24
US20070043938A1 (en) 2007-02-22
GB2404748A (en) 2005-02-09

Similar Documents

Publication Publication Date Title
JP4815346B2 (ja) コンピュータ装置のデータにアクセスする方法
US11669444B2 (en) Computing system and method for controlling storage device
US5754817A (en) Execution in place of a file stored non-contiguously in a non-volatile memory
TWI315032B (en) Method and system for managing partitions in a storage device
US7523280B2 (en) Storage managing system, storage managing apparatus, and storage managing method
KR100389867B1 (ko) 플래시 메모리 관리방법
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
US6643753B2 (en) Methods and systems for managing heap creation and allocation
US20090150598A1 (en) Apparatus and method of mirroring firmware and data of embedded system
US20070005625A1 (en) Storage architecture for embedded systems
JP5422652B2 (ja) フラッシュメモリ記憶装置における動的メモリ割当てに起因する自己エビクションの回避
JP2011128792A (ja) メモリ管理装置
US20090037648A1 (en) Input/output control method and apparatus optimized for flash memory
US20130304974A1 (en) System and method for storing data using a flexible data format
JPH09282111A (ja) 半導体メモリ装置及びその制御方法
JP2010055184A (ja) 情報処理装置およびメモリ管理方法
US20040221147A1 (en) Method for updating BIOS
JP2011186561A (ja) メモリ管理装置
CN113900582A (zh) 数据处理方法及对应的数据储存装置
KR101392062B1 (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
KR20070031647A (ko) 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치
US8131918B2 (en) Method and terminal for demand paging at least one of code and data requiring real-time response
CN111240765B (zh) 一种linux压缩应用程序的加载方法
TW200415463A (en) Computer system embedding sequential buffers therein for improving the performance of a digital signal processing data access operation and a method thereof
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070711

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090309

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090319

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110606

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4815346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees