JP5489182B2 - プリロードする方法及びコントローラ - Google Patents

プリロードする方法及びコントローラ Download PDF

Info

Publication number
JP5489182B2
JP5489182B2 JP2011527899A JP2011527899A JP5489182B2 JP 5489182 B2 JP5489182 B2 JP 5489182B2 JP 2011527899 A JP2011527899 A JP 2011527899A JP 2011527899 A JP2011527899 A JP 2011527899A JP 5489182 B2 JP5489182 B2 JP 5489182B2
Authority
JP
Japan
Prior art keywords
applications
logical block
hard disk
application
disk drive
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.)
Active
Application number
JP2011527899A
Other languages
English (en)
Other versions
JP2012507762A (ja
Inventor
チュー、チー、ホー
ゾウ、ウェイ
ジェング、ピング
チャング、ポ−チェン
Original Assignee
マーベル ワールド トレード リミテッド
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 マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2012507762A publication Critical patent/JP2012507762A/ja
Application granted granted Critical
Publication of JP5489182B2 publication Critical patent/JP5489182B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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
    • 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
    • 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/445Program loading or initiating

Description

本出願は、2008年9月18日に出願された米国仮特許出願番号61/098141号の優先権を主張するものであり、当該出願における全ての開示が参照により組み込まれる。
パーソナル・コンピュータの電源が投入された時に、最初に実行されるコードは基本入出力システム(BIOS)である。従来のBIOSは、ハードディスク及びその他のハードウェアなどのシステムデバイスを認識し、テストし、初期化する。それらを実行する間、BIOSは、オペレーティング・システム・ソフトウェアがロードされ、実行され、制御されるようにパーソナル・コンピュータを準備する。このパーソナル・コンピュータの準備処理は、ブートアップと呼ばれる。パーソナル・コンピュータのブートアップは遅い場合が多い。コンピュータのオペレーティング・システムが大きい場合には、特にブートアップが遅く、このような場合がますます増えている。
コンピュータのブートアップがかなり遅いというだけでなく、ユーザーもアプリケーションがロードされるまで待たなければならない。ユーザーが電子メールを確認したり、ワープロ文書を用意したりしたい場合には、従来、ユーザーはパーソナル・コンピュータの電源を投入して、ブートアップを待ち、さらに、アプリケーションがロードされるのを待つ。
本明細書においては、少なくとも部分的にはブートアップ中にメモリにプリロードする1以上のアプリケーションを提供し、1以上のアプリケーションのうちの1つのアプリケーションの選択を受信し、少なくとも部分的にはブートアップ中にアプリケーションをメモリにプリロードする方法を記述する。いくつかの実施形態においては、当該方法は、1以上のアプリケーションのそれぞれに関連する選択可能なテキスト又はアイコンを有するグラフィカル・ユーザー・インターフェイスを表示することによりアプリケーションを提供する。いくつかの実施形態においては、当該方法は、アプリケーションをプリロードする論理ブロックを決定し、当該論理ブロックをプリロードすることによってアプリケーションをプリロードする工程をさらに備える。そのような実施形態においては、当該方法は、1以上のアプリケーションから選択する操作を繰り返して、他の選択されたアプリケーションを提供し、当該他の選択されたアプリケーションの論理ブロックを決定してもよい。そのような実施形態において、論理ブロックは、他の選択されたアプリケーションの論理ブロックを含む。
本明細書においては、ブートアップ処理の開始に応じて、ハードディスク・ドライブに格納されている1以上のアプリケーションにアクセスし、ハードディスクから当該アプリケーションを読出し、ブートアップ処理が実行されるコンピュータがアクセスできるメモリに、少なくとも部分的にはブートアップ中にアプリケーションをプリロードするコントローラについて記述する。いくつかの場合には、1以上のアプリケーションは、基本入出力システム(BIOS)又はオペレーティング・システム(OS)ブートアップに関連しない。いくつかの実施形態においては、1以上のアプリケーションのアクセスとは、当該1以上のアプリケーションに関連する論理ブロックのインデックスにアクセスすることである(論理ブロックとは、ハードディスク・ドライブに格納されている論理ブロックであり、インデックスにより当該論理ブロックを特定することができる)。ハードディスクからのアプリケーションの読出しには、ハードディスク・ドライブから、当該インデックスで特定された論理ブロックを読み出すことを含み、アプリケーションのプリロードにより、論理ブロックはメモリにプリロードされる。いくつかのこれらの実施形態においては、コントローラはさらにブートアップ処理が開始する前にインデックスを受け取り、当該インデックスをメモリに保存することができる。その他の実施形態においては、コントローラにより、1以上のアプリケーションに関連する論理ブロックのインデックスは、複数のアプリケーションに関連する論理ブロックを含む。さらに他の実施形態においては、コントローラは、ブートアップ処理が完了する前に、1以上のアプリケーションのうちの特定の1つに関連する論理ブロックをプリロードしてもよい。
さらに他の実施形態においては、コントローラは、インデックスが、当該ハードディスク又は他のハードディスクに格納された1以上の追加アプリケーションに関連した追加論理ブロックであり、ブートアップ処理の完了後にプリロードされる追加論理ブロックを示す順序であり、かつ、当該ブートアップ処理の完了後に、追加論理ブロックをメモリにプリロードするように設計されていてもよい。
詳細は、図面を参照しながら説明される。図面において、参照符号の最も左側の桁は、当該参照符号が最初に現われる図面番号を示す。説明中の異なる例及び図面内の同じ参照符号は、同様の又は同一のものを示す。
プリロード技術を実現するオペレーティング環境の一例を示す。
プリロードするアプリケーションを決定する方法を示す。
少なくとも部分的にはブートアップ処理中にアプリケーションをプリロードする方法を示す。
図3に示した方法のいくつかのオペレーションが実行される時のタイムラインの一例を示す。
当該技術の実施形態を実施するハードディスク・ドライブ環境の一例を示す。
[概要]
背景技術で上述したように、コンピュータをブートアップしてコンピュータにアプリケーションをロードする従来の技術は、かなり遅いものであった。フラッシュメモリ又は他のソリッドステートドライブ(SSD)のような比較的新しいメモリ技術が使われるとしても、遅いのは確かである。本明細書においては、コンピュータをブートアップし、コンピュータにアプリケーションをロードする合計時間を減少させる技術及び装置について説明する。
以下の説明においては、オペレーティング環境の一例が記述される。例示したオペレーティング環境及びその他の環境において用いることができる方法の一例が記述される。これらの方法は、図1に示す構成要素が実装されているハードディスク・ドライブの実施形態の一例により説明される。下記の説明においては、当該環境の参照は一例として行われているのに過ぎず、したがって、以下の実施形態は、例示される環境に限定されるものではない。
[オペレーティング環境の例]
図1は、オペレーティング環境100の一例を示す。オペレーティング環境100は、デスクトップ・パーソナル・コンピュータ、ラップトップ、サーバー、ハンドヘルド・コンピュータ、又は他のコンピューティング・デバイスのようなコンピュータ102を含む。コンピュータ102は、1以上のプロセッサ104、コンピュータ読出し可能媒体106、及びストレージシステム108を含む。
プロセッサ104は、コンピュータ読み出し可能媒体106に示されるプログラムを含むさまざまなプログラムを実行することができる。コンピュータ読み出し可能媒体106は、ランダム・アクセス・メモリ、フラッシュ・メモリ又はハードディスク・ドライブのようなさまざまな種類の揮発性及び不揮発性媒体を含む。これらのハードディスク・ドライブは、ストレージシステム108のハードディスク・ドライブを含んでもよく、外部に有してもよい。このように、ストレージシステム108は、コンピュータ読み出し可能媒体106に含まれるものと同じであってもよく、分離されたものであってもよい。ストレージシステム108は、ケーブルで接続された外付けハードドライブとして動作する場合、又は、外付けハードドライブを含んだりする場合のように、コンピュータ102と分離されながらもコンピュータ102がアクセスできるものであってもよい。コンピュータ読み出し可能媒体106は、基本入出力システム(BIOS)110、OS112及びコンフィギュレータ114を含むものとして示される。
BIOS110は、コンピュータ102の電源が投入されたり、再起動されたり、休止状態から起動されたりする時のような、ブートアップ状態で実行される。BIOS110は、OS112がロードされ、実行され、制御が与えられるようにコンピュータ102を準備する。当該準備は、システムデバイス(例えば、ストレージシステム108)の認識、テスト及び初期化などのさまざまな動作を含む。OS112は、BIOS110のブートアップ処理の間又はブートアップ処理に続いてコンピュータ102の制御を担う。OS112は、プロセッサ104による実行に先立ち、システムメモリ(コンピュータ読み出し可能媒体106の一部として以外には示されない)にロードされる。
ストレージシステム108は、コントローラ116を用いて不揮発性メモリストレージを提供する。コントローラ116は、キャッシュ118及びハードディスク・ドライブ120を含む。ハードディスク・ドライブ120は、磁気又は光学ディスクのような回転メディア122を含む。ストレージシステム108は、単体のハードディスク・ドライブ、又は、単純なディスクドライブの集合体である、RAID制御された多数のハードディスク・ドライブを含んでもよい。RAID制御された集合体である場合には、コントローラ116は、大量のキャッシュメモリ(例えば、キャッシュ118はGBレンジである)を有するRAIDコントローラである。回転メディア122は、コンピュータ読み出し可能媒体106に含まれる任意の要素、アプリケーション124及び/又は1以上の論理ブロックインデックス126を格納してよい。図1において、オペレーティング環境100はハードディスク・ドライブ120及び回転メディア122を含むが、他のメモリ形態が用いられてもよい。他のメモリ形態は、いくつか例をあげると、半導体又はソリッドステートメモリ、磁気テープ、若しくは、光ディスクを含んでもよい。
アプリケーション124は、オペレーティング・システムに関連するか否かを問わず、多くの異なるソフトウェア・プログラム又はルーチン及びその機能を含んでよい。オペレーティング・システムでない(非OS)アプリケーションは、ほんの一例をあげると、ワープロ、電子メール、カレンダー、ブラウザー、ゲーム、及びグラフィックプログラムである。オペレーティング・システムに関連するアプリケーションは、実行可能なアプリケーション、アプレット、又は、ブートアップ中にオペレーティング・システムが使用できるさまざまなメモリ・ベース・リソースを含んでもよい。アプリケーション124は、1からnまでのいくつかのアプリケーションを含むものとして示されている。
キャッシュ118は、さまざまなアプリケーション124の論理ブロック128を格納し、プロセッサ104に、論理ブロック128に関連するアプリケーションを短時間でシステムメモリにロードさせる。キャッシュ118は、ダイナミック・ランダム・アクセス・メモリ(DRAM)又はペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)のようなさまざまな種類のメモリ又はバッファを含んでよい。わかりやすくするために、論理ブロック128はアプリケーション124(1)に対応するものに(1、1)から(1、i)までのラベルが付され、アプリケーション124(n)に対応するものに(n、1)から(n、i)までのラベルが付されており、論理ブロックの数は、それぞれのアプリケーション124に対して1からiまでの数字である。
コントローラ116は、コンピュータ102のブートアップ処理の間に、少なくとも部分的には論理ブロック128をプリロードする。このプリロードによって、OS112は、これらの論理ブロックを有するアプリケーションに高速にアクセスし、実行することができる。コントローラ116は、キャッシュ・コントローラ・カード又はハードディスク・ドライブ・マイクロコントローラ(例えば、ファームウェア及びマイクロプロセッサ)を含んでもよい。
コンフィギュレータ114は、プリロードするアプリケーションを決定し(例えば、アプリケーション124(1)から124(n))、これらの決定されたアプリケーションに対応する論理ブロックを決定し(例えば、論理ブロック128(1、1)から(1、i)及び128(n、1)から(n、i))を決定し、コントローラ116により用いられる(関係は図1の破線で示される)、これらの論理ブロックの識別子(例えば、論理ブロックインデックス126)を提供する。コンフィギュレータ114は、インターフェイス130、及び、プリローディングすることになったアプリケーション124を含む(破線で示される)。インターフェイス130は、コンピュータ102のユーザーがアプリケーションを選択することができるようにするなどのようにして、どのアプリケーション124がプリロードされるかをコンフィギュレータ114が決定できるようにしてもよい。後述のとおり、コンフィギュレータ114は、使用されたアプリケーションの履歴に基づくことを含め、他の方法によって、プリロードするアプリケーション及び/又は論理ブロックを決定してもよい。
オペレーティング環境100のこれらの構成要素を使う方法及び技術の詳細は、後述される。
[方法の例]
上記の通り、コンピュータをブートアップし、コンピュータにアプリケーションをロードする技術はかなり遅い。本明細書においては、一例として、コンピュータをブートアップし、コンピュータにアプリケーションをロードする合計時間を短縮する技術及び装置を開示する。これらの技術には、個々に又は組み合わせて用いることができる方法の例が含まれる。これらの方法の特徴は、ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせにより実装されてよい。当該方法は1以上のエンティティによって実行される処理を特定し、処理を実行するための例として与えられる、処理を実行する順序又はエンティティに限定されるものではない。
図2は、プリロードするアプリケーションを決定する方法200を示す。202において、アプリケーションは、部分的に又は完全にキャッシュメモリにプリロードされる。環境100に関連する一例として、コンフィギュレータ114のインターフェイス130は、ワープロ、電子メール、ゲーム及びグラフィックアプリケーションのようなアプリケーション124(1)から124(n)に関連付けられるテキスト及びアイコンを表示するグラフィカル・ユーザー・インターフェイスを供給する。これらのアプリケーションは、ハードディスク・ドライブ120の回転メディア122に事前にロードされるような予め定められたものであってもよく、コンピュータ102によってアクセスされるさまざまなローカル・リソース又はリモート・リソースから単に選択されたものであってもよい。選択されたアプリケーションの論理ブロックの全てを保持するほどにはキャッシュが十分に大きくないような場合には、プリロードは必ずしも完全に又は常にブートアップ中に行われるわけではないが、ユーザーは、プリロードするこれらのアプリケーションをいくつ選択してもよい。
204においては、アプリケーションの1つの選択を受信する。ここで、インターフェイス130は、アプリケーション124の1つをプリロードすることが望ましいというユーザーからの指示を受信する。
206においては、キャッシュメモリにプリロードするアプリケーションの論理ブロックが決定される。ここで、コンフィギュレータ114はさまざまな実行可能な部分のように、どの論理ブロック128が選択されたアプリケーション124に適しているかを決定する。コンフィギュレータ114は、他でビルドされるものを後にするという順序、又は、アプリケーションを最も早く実行できそうな順序などのような、これらの論理ブロック128の適切な順序を決定してもよい。
方法200は、アプリケーションの選択をできる状態を継続させて、1以上のアプリケーションをプリロードさせてもよい。これは、206から202に向かう破線により示される。それぞれの選択されたアプリケーションに対して、206において、方法200は論理ブロックを決定する。論理ブロックの決定に続いて、方法200は208に進む。208においては、方法200は、エンティティへの論理ブロック、又は、ブートアップ中に部分的に又は完全に当該論理ブロックをプリロードできるコンポーネントに識別子を供給する。
代わりに、又は、さらに、コンフィギュレータ114は、ユーザーの選択によることなく、どのアプリケーションをプリロードするかを決定してもよい。210においては、コンフィギュレータ114は、どのアプリケーションをプリロードするかを決定するとともに、コンピュータ102、アプリケーション124又はOS112の製造者によって設定された順序、若しくは、アプリケーションが使用された履歴又は予め定められた順序を決定してよい。
212においては、方法200は、これらの論理ブロックの順序付けられた識別子のインデックスをさらにビルドしてもよい。コンフィギュレータ114は、ユーザーにより選択された順序に基づいてインデックス126をビルドしてよく、コンピュータ102へのブートアップ処理が完了する前にキャッシュされそうな最も多くのアプリケーションのような他のことを考慮してインデックス126をビルドしてもよい。順序は、ユーザーにより設定されてもよく、ユーザーが実行することを選択した及び/又はユーザーが実行したアプリケーションの履歴に基づいて設定されてもよい。
アプリケーションが、プリロードを担うエンティティ(例えば、コントローラ116)によってブートアップ中にアクセスすることができない場合には、206において又は206の後に、アプリケーションはそのような場所にロードされる。このように、コンフィギュレータ114は、これらのアプリケーションの選択又は決定の後に、回転メディア122にアプリケーションをロードしてもよい。逆に、202において、コンフィギュレータ114は、代わりにコントローラ116によって既にアクセスすることができるアプリケーション124を供給してもよい。これらのアプリケーション124は、現在のブートアップに先立って回転メディア122にロードされるので、コントローラ116によりアクセスされることができる。
方法200を実行する代わりに、又は方法200の実行に加えて、コンフィギュレータ114は、ブートアップ後にプリロードされる他の追加アプリケーションを供給してもよい。このような場合には、コンフィギュレータ114はこれらの追加アプリケーションについても方法200を踏襲する。そうすることにより、アプリケーションはブートアップ後にプリロードされ、そのアプリケーションを実行する処理を高速化することができる。例えば、ユーザーが頻繁に、株価を確認するなどのために午前9時にブラウジング・アプリケーションを開く場合には、コンフィギュレータ114は、そのユーザーの使用履歴を学習することができる(又は、この選択をユーザーにより直接行うようにできる)。コンフィギュレータ114は、論理ブロックインデックス126においてこれを示し、コントローラ116が午前8時55分にブラウジング・アプリケーションに関連する論理ブロック128をプリロードするようにできる。
図3は、少なくとも部分的にはブートアップ処理中にアプリケーションをプリロードする方法300を示す。302において、1以上のアプリケーションに関連する論理ブロックの識別子(例えば、インデックス)が受信される。上記の環境100、及び、続いて方法200を参照して述べたように、コントローラ116は、さまざまなアプリケーション124に関連する論理ブロック128を識別する論理ブロックインデックス126を受信する。
304においては、受信されたインデックスがブートアップ処理中にアクセスできるメモリに保存される。当該メモリはインデックスを保持するが、BIOS及び/又はOSのブートのようなブートアップ中に使用可能になる。ここで、インデックス126は回転メディア122に保存され、BIOS及びOSのブートアップ中に、コントローラ116によってアクセスできる。
306においては、ブートアップ処理の開始に応じてインデックスがアクセスされる。ここで、コントローラ116は電源が投入されることにより、又は、BIOSから直接指示を受信することにより、ブートアップ処理が開始されたことの通知を受信する。このようにして、コントローラ116はコンピュータ102のブートアップ処理が完了しないでも、ハードディスク・ドライブ120上のメモリの一部にアクセスすることができる。BIOS、OS又はブートアップ処理の他の部分がブートアップ中に、コントローラ116はアクセスインデックス126にアクセスして方法300の残りを進めることができる。302及び304は、事前にコンピュータが使用されていた間のように、ブートアップ処理が始まる前に実行されてもよい。
308においては、論理ブロックが保存されているハード・ドライブから論理ブロックが読み出される。上記の通り、インデックスは、読み出すべき論理ブロック及びこれらの論理ブロックの順序を特定する。さらに例を述べると、コントローラ116はインデックス126で与えられる順序により論理ブロック128を読み出す。
310においては、これらの論理ブロックは、少なくとも部分的にはブートアップ処理中に、ブートアップ処理が実行されるコンピュータによってアクセスできるキャッシュメモリにプリロードされる。310は、方法300の処理が繰り返し実行されるようにして、読み出される単一の論理ブロックのそれぞれに対して実行されてもよい。ここで、コントローラ116はインデックス126により与えられる順序で論理ブロック128を読出し、当該論理ブロックをキャッシュ118に保存する。キャッシュ118は、コントローラ116を介して間接的に、又は、コンピュータ102の他の構成要素を介して直接的に、コンピュータ102がアクセスすることができる。
一例として、2つのアプリケーション(n=1及びn=2)がプリロードされる。第1のアプリケーションが4つの論理ブロック(i=4)を有し、第2のアプリケーションが6つの論理ブロック(i=6)を有するとした場合に、インデックス126は論理ブロックを以下の順序とする:1−1、1−2、1−3、1−4、2−1、2−2、2−3、2−4、2−5及び2−6。
方法300のいくつかの処理が実行されるタイムライン400の一例を示す図4も参照する。まず、402において、電源投入又はブートアップ命令が受信される。これに応じて、期間404に示されるように、BIOS110がブートアップされ、他のタスクがOS112の準備をコンピュータ102にさせるチェックを開始する。また、電源投入又はブートアップ命令に応じて、コントローラ116は期間406の間に、少なくとも1つのアプリケーション124に関連する論理ブロック128を読み出し、キャッシュ118にロードする。これが実行されている間、OS112も期間408の間にブートする。ブートアッププロセスが完了し、OS112がコンピュータ102の制御をできるようになると、OS112はすぐに1以上のアプリケーション124のための論理ブロックをシステムメモリにロードする。論理ブロックがシステムメモリにロードされると、OS112は関連するアプリケーション124の実行を開始する。これは期間410に示される。期間406の間にブロックを読出し、ロードすることは、図3における308及び310に続いて、コントローラ116によって実行される。
期間412及び期間414はオプション期間である。期間412の間、コントローラ116は、ブートアップ中、若しくは、特定の時間又は順序でアプリケーションを実行するための論理ブロックをロードする時間(例えば、午前8時55分の株ティッカーブラウザー)のような他の指示に基づく時間において、キャッシュに十分な空きがない場合には、他のアプリケーションに対して、他の論理ブロックをロードしてよい。論理ブロックが、関連するアプリケーションを実行するために、コンピュータ102によってシステムメモリにロードされた後は、論理ブロックはコントローラ116によってキャッシュ118から削除されてよく、これによって、他の論理ブロックをロードする空きが生じる。
これらの方法は、SSDよりも安価であるとされることが多いハードディスク・ドライブ又はフラッシュメモリのように、より安価なメモリ資源を使用することを可能にする。さらに、これらの方法は、アプリケーションの実行を高速にすることができる。
[ハードドライブの例]
図5はハードディスク・ドライブHDD500の一例を示す。HDD500はここで記述されるさまざまな技術により実装され得る。HDD500は信号処理及び/又は制御回路502、ストレージメディア504及び/又はメモリ506を有する。一例として、制御回路502はコントローラ116を含んでよく、ストレージメディア504は回転メディア122を含んでよく、ストレージメディア504は回転メディア122を含んでよく、メモリ506はランダム・アクセス・メモリ(RAM)、フラッシュメモリのような低レイテンシー不揮発性メモリ、読み出し専用メモリ(ROM)、及び/又は、キャッシュ118のような他の適当な電子データストレージを含んでよい。コントローラ116、回転メディア122、及びキャッシュ118は、図1にも示されている。
さまざまな実装形態において、制御回路502はデータを読み出し、プリロードし、処理し、データ計算を実行し、及び/又は、データをフォーマットするように実装される。データは、少なくともストレージメディア504及び/又はメモリ506に出力され、及び/又は、それらから受信される。さらに、HDD500は1以上の有線又は無線通信リンク508を介してホストデバイスと通信することができる。ホストデバイスはデスクトップ又はサーバーコンピュータ、モバイルコンピューティングデバイス、パーソナルデジタルアシスタント、セルラーフォン、メディア又はMP3プレーヤー、及び/又は他のデバイス(例えば、図1のコンピュータ102)を含んでよい。
一実施形態においては、制御回路502は、電子回路、マイクロプロセッサ、メモリ、入出力ロジック制御、通信インターフェイス及び部品、その他のハードウェアファームウェア、及び/又はHDD500を動作させるソフトウェアが集積されたシステムオンチップ(SoC)を含んでよい。SoCは、さまざまなSoCの要素間でデータ通信を行うために当該要素を接続する集積化されたデータバス(不図示)も含んでよい。
上記の1以上の方法は、データの入力及び出力の生成の処理によりコンピュータプログラムを実行する1以上のプログラム可能なプロセッサにより実行されてよい。一般に、本技術は、全てハードウェアで実施してよく、全てソフトウェアで実施してもよく、ハードウェア及びソフトウェアの両方を含んでもよい。一実施形態においては、本方法は、ソフトウェアにより実施されてよく、ファームウェア、常駐ソフトウェア、マイクロコードなどを含んでよいが、それに限定されるものではない。さらに、本方法はコンピュータが使用できる又はコンピュータが読み出しでき、コンピュータ又は命令実行システムに接続されて使用されるプログラムコードを供給する媒体からアクセスできるコンピュータプログラム製品の形態であってもよい。ここで述べた目的のためには、コンピュータが使用できる又はコンピュータが読み出しできる媒体は、命令実行システム、装置、又はデバイスに接続されて使用されるプログラムを含み、保存し、通信し、伝播し、転送するどのような装置であってもよい。媒体は、電子的、磁気的、光学的、電磁気的、赤外線を用いるものであってよく、半導体システム(若しくは装置又はデバイス)、又は伝播媒体であってもよい。コンピュータが読み出しできる媒体は、半導体又はソリッドステートメモリ、磁気テープ、取り出しできるコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、硬い磁気ディスク、及び光学ディスクを含む。現状の光学ディスクの例として、CD−ROM、CD−R/W及びDVDが挙げられる。
主題は、構造的な特徴及び/又は方法に関する処理に特有の言語で記述されたが、添付されるクレームで定義される主題は、実行される順序を含め、上述の具体的な特徴又は処理に限定されるものではない。
(項目1)
少なくとも部分的にはブートアップ中にメモリにプリロードされる1以上のアプリケーションを提供する段階と、
上記1以上のアプリケーションのうちの1つのアプリケーションの選択を受信する段階と、
少なくとも部分的にはブートアップ中に、上記1つのアプリケーションを上記メモリにプリロードする段階と、
を備える方法。
(項目2)
上記1以上のアプリケーションは基本入力/出力システム(BIOS)又はオペレーティング・システム(OS)に関連していない項目1に記載の方法。
(項目3)
プリロードする上記1つのアプリケーションの論理ブロックを決定する段階を更に備え、
上記1つのアプリケーションをプリロードする段階においては、上記論理ブロックをプリロードする項目1に記載の方法。
(項目4)
上記1以上のアプリケーションのうちの1以上のアプリケーションの上記選択を受信して1以上の他の選択されたアプリケーションを提供する段階と、
上記論理ブロックを決定する段階と、
を繰り返す段階を更に備え、
上記論理ブロックは、上記他の選択されたアプリケーションの論理ブロックを含む項目3に記載の方法。
(項目5)
上記1つのアプリケーション及び上記1以上の他の選択されたアプリケーションに関連する上記論理ブロックをプリロードする順序の選択を可能にする段階と、
上記選択された順序を受信する段階と、
上記選択された順序によるプリロードを有効にする、上記選択された順序において上記論理ブロックの識別子を提供する段階と、
を更に備える項目4に記載の方法。
(項目6)
上記論理ブロックのインデックスを供給する段階を更に備え、
上記インデックスは、上記論理ブロックをプリロードする順序を示し、
上記順序は上記1つのアプリケーション及び上記1以上の他の選択されたアプリケーションの使用履歴に基づく項目4に記載の方法。
(項目7)
上記1以上のアプリケーションを提供する段階は、上記1以上のアプリケーションのそれぞれに関連する、選択可能なテキスト又はアイコンを含むグラフィカルユーザーインターフェイスを表示する段階を有する項目1に記載の方法。
(項目8)
上記1以上のアプリケーションは、ワードプロセッシング・プログラム、ブラウジング・プログラム、電子メール・プログラム又はグラフィックス・プログラムのうち1以上のプログラムを含む項目1に記載の方法。
(項目9)
上記1以上のアプリケーションは、上記1以上のアプリケーションが少なくとも部分的にはブートアップ中に読み出される1以上のハードディスク・ドライブに、事前にロードされている項目1に記載の方法。
(項目10)
上記アプリケーションのうちの1つのアプリケーションの選択を受信する段階に応じて、上記1つのアプリケーションが少なくとも部分的にはブートアップ中に読み出される1以上のハードディスク・ドライブに、上記1つのアプリケーションをロードする段階を更に備える項目1に記載の方法。
(項目11)
上記ブートアップは、基本入力/出力システム(BIOS)又はオペレーティング・システムのブートアップである項目1に記載の方法。
(項目12)
ブートアップ処理の開始に応じて、ハードディスク・ドライブに格納された1以上のアプリケーションにアクセスし、
上記ハードディスク・ドライブから上記1以上のアプリケーションを読み出し、
少なくとも部分的には上記ブートアップ処理中に、上記ブートアップ処理が実行されるコンピュータによってアクセスできるメモリに上記アプリケーションをプリロードするコントローラ。
(項目13)
上記1以上のアプリケーションへのアクセスにおいて上記1以上のアプリケーションに関連する論理ブロックのインデックスにアクセスし、
上記論理ブロックは上記ハードディスク・ドライブに格納され、上記インデックスは上記論理ブロックを特定し、
上記ハードディスク・ドライブからの上記1以上のアプリケーションの読み出しは、上記インデックスで特定される上記論理ブロックを上記ハードディスク・ドライブから読み出すことを含み、
上記1以上のアプリケーションのプリロードは、上記論理ブロックを上記メモリにプリロードすることを含む項目12に記載のコントローラ。
(項目14)
更に、上記ブートアップ処理が開始される前に上記インデックスを受信し、上記インデックスを上記メモリに保存する項目13に記載のコントローラ。
(項目15)
上記1以上のアプリケーションに関連する上記論理ブロックの上記インデックスは、複数のアプリケーションに関連する論理ブロックを含む項目13に記載のコントローラ。
(項目16)
上記論理ブロックの上記プリロードにおいては、上記ブートアップ処理が完了する前に、上記1以上のアプリケーションのうちの特定の1つのアプリケーションに関連する上記論理ブロックをプリロードする項目13に記載のコントローラ。
(項目17)
上記論理ブロックの上記プリロードにおいては、基本入力/出力システム(BIOS)又はオペレーティング・システムのブートアップ中に、並行して上記論理ブロックを上記メモリにプリロードする項目13に記載のコントローラ。
(項目18)
上記インデックスは上記論理ブロックをプリロードする順序を示し、かつ、上記プリロードは当該順序で実行される項目13に記載のコントローラ。
(項目19)
上記インデックスは、上記ハードディスク・ドライブに格納された1以上の追加アプリケーションに関連する追加論理ブロックのインデックスでもあり、上記インデックスは、上記ブートアップ処理の完了後にプリロードされるべき上記追加論理ブロックを示し、かつ、上記ブートアップ処理の完了後に、上記追加論理ブロックを上記メモリにプリロードする項目13に記載のコントローラ。
(項目20)
上記1以上のアプリケーションは、基本入力/出力システム(BIOS)又はオペレーティング・システム(OS)に関連しない項目12に記載のコントローラ。

Claims (23)

  1. 基本入力/出力システム(BIOS)のブートアップ中、第2ハードディスク・ドライブに含まれるオペレーティング・システム(OS)がシステムメモリにロードされている間に、キャッシュメモリにプリロードされる、第1ハードディスク・ドライブに格納された1以上のアプリケーションを提供する段階と、
    前記1以上のアプリケーションのうちの1つのアプリケーションの選択をユーザーから受信する段階と、
    前記オペレーティング・システムのブートアップが完了し、前記オペレーティング・システムが前記システムメモリから実行された場合に、前記オペレーティング・システムが、前記選択された1つのアプリケーションを前記キャッシュメモリから前記システムメモリへロードし、前記選択された1つのアプリケーションの実行を開始することができるように、
    前記BIOSのブートアップ中、前記オペレーティング・システムが前記第2ハードディスク・ドライブから前記システムメモリにロードされている間に、前記選択された1つのアプリケーションを前記第1ハードディスク・ドライブから前記キャッシュメモリにプリロードする段階と
    を備え、
    前記第2ハードディスク・ドライブは特定のコンピュータ読み出し可能媒体に含まれ、前記システムメモリは、前記特定のコンピュータ読み出し可能媒体とは別のコンピュータ読み出し可能媒体に含まれ、
    前記第1ハードディスク・ドライブ、及び前記キャッシュメモリは、前記特定のコンピュータ読み出し可能媒体及び前記別のコンピュータ読み出し可能媒体とは分離され、
    前記プリロードする段階は、前記BIOSから直接指示を受信することにより開始する
    方法。
  2. 前記1以上のアプリケーションは、前記基本入力/出力システム(BIOS)又は前記オペレーティング・システムに関連していない、
    請求項1に記載の方法。
  3. プリロードする前記選択された1つのアプリケーションの論理ブロックを決定する段階を更に備え、
    前記選択された1つのアプリケーションをプリロードする段階においては、前記選択された1つのアプリケーションの前記論理ブロックを前記キャッシュメモリにプリロードする、
    請求項1または2に記載の方法。
  4. 前記1以上のアプリケーションのうちの1つのアプリケーションの前記選択を受信して、1以上の他の選択されたアプリケーションを提供する段階と、
    前記論理ブロックを決定する段階と、
    を繰り返す段階を更に備え、
    前記論理ブロックは、前記他の選択されたアプリケーションの論理ブロックを含む、
    請求項3に記載の方法。
  5. 前記選択された1つのアプリケーション及び前記1以上の他の選択されたアプリケーションに関連する前記論理ブロックをプリロードする順序の選択を可能にする段階と、
    選択された順序を受信する段階と、
    前記選択された順序によるプリロードを有効にする、前記選択された順序において前記論理ブロックの識別子を提供する段階と
    を更に備える、
    請求項4に記載の方法。
  6. 前記論理ブロックのインデックスを供給する段階を更に備え、
    前記インデックスは、前記論理ブロックを前記キャッシュメモリにプリロードする順序を示し、
    前記順序は前記選択された1つのアプリケーション及び前記1以上の他の選択されたアプリケーションの使用履歴に基づく、
    請求項4または5に記載の方法。
  7. 前記1以上のアプリケーションを提供する段階は、前記1以上のアプリケーションのそれぞれに関連する、選択可能なテキスト又はアイコンを含むグラフィカルユーザーインターフェイスを表示する段階を有する、
    請求項1から6までの何れか1項に記載の方法。
  8. 前記1以上のアプリケーションは、ワードプロセッシング・プログラム、ブラウジング・プログラム、電子メール・プログラム又はグラフィックス・プログラムのうち1以上のプログラムを含む、
    請求項1から7までの何れか1項に記載の方法。
  9. 前記1以上のアプリケーションは、前記オペレーティング・システムが前記システムメモリにロードされている間に読み出される1以上の第1ハードディスク・ドライブに、少なくとも部分的には、事前にロードされている
    請求項1から8までの何れか1項に記載の方法。
  10. 前記アプリケーションのうちの1つのアプリケーションの選択を受信する段階に応じて、前記選択された1つのアプリケーションが、前記オペレーティング・システムが前記システムメモリにロードされている間に読み出される1以上の第1ハードディスク・ドライブに、少なくとも部分的には、前記選択された1つのアプリケーションをロードする段階を更に備える、
    請求項1から9までの何れか1項に記載の方法。
  11. 少なくとも部分的には前記選択された1つのアプリケーションを前記キャッシュメモリにプリロードする段階は、基本入力/出力システムが前記システムメモリにロードされている間又は前記システムメモリから実行されている間に、少なくとも部分的には前記選択された1つのアプリケーションを前記キャッシュメモリにプリロードする段階を含む、
    請求項1から10までの何れか1項に記載の方法。
  12. 前記ブートアップの後、他の追加のアプリケーションが実行されるであろう特定の時間の前に、前記他の追加のアプリケーションを実行するための論理ブロックを、前記キャッシュメモリにプリロードする段階をさらに備える、
    請求項1から11までの何れか1項に記載の方法。
  13. コンピュータに、請求項1から請求項12までの何れか一項に記載の方法を実行させるためのプログラム。
  14. 第1ハードディスク・ドライブ、及びキャッシュメモリにアクセスするコントローラであって、
    基本入力/出力システム(BIOS)から直接指示を受信することにより、当該BIOSのブートアップ処理の開始に応じて、前記第1ハードディスク・ドライブに格納されている、ユーザーに選択された1以上のアプリケーションにアクセスし、
    前記第1ハードディスク・ドライブから前記1以上のアプリケーションを読み出し、
    第2ハードディスク・ドライブに含まれるオペレーティング・システム(OS)のブートアップが完了し、前記OSがシステムメモリから実行された場合に、前記OSが、前記1以上のアプリケーションを前記キャッシュメモリから前記システムメモリへロードし、前記1以上のアプリケーションの実行を開始することができるように、
    前記BIOSのブートアップ処理中、前記OS前記第2ハードディスク・ドライブから前記システムメモリにロードされている間に、記1以上のアプリケーションを前記第1ハードディスク・ドライブから前記キャッシュメモリにプリロード
    前記第2ハードディスク・ドライブは特定のコンピュータ読み出し可能媒体に含まれ、
    前記システムメモリは、前記特定のコンピュータ読み出し可能媒体とは別のコンピュータ読み出し可能媒体に含まれ、
    前記コントローラは、前記特定のコンピュータ読み出し可能媒体及び前記別のコンピュータ読み出し可能媒体とは分離される、
    コントローラ。
  15. 前記1以上のアプリケーションへのアクセスにおいて前記1以上のアプリケーションに関連する論理ブロックのインデックスにアクセスし、
    前記論理ブロックは前記第1ハードディスク・ドライブに格納され、前記インデックスは前記論理ブロックを特定し、
    前記第1ハードディスク・ドライブからの前記1以上のアプリケーションの読み出しは、前記インデックスで特定される前記論理ブロックを前記第1ハードディスク・ドライブから読み出すことを含み、
    前記1以上のアプリケーションのプリロードは、前記論理ブロックを前記キャッシュメモリにプリロードすることを含む、
    請求項14に記載のコントローラ。
  16. 更に、前記ブートアップ処理が開始される前に前記インデックスを受信し、前記インデックスを前記キャッシュメモリに保存する、
    請求項15に記載のコントローラ。
  17. 前記1以上のアプリケーションに関連する前記論理ブロックの前記インデックスは、複数のアプリケーションに関連する論理ブロックを含む、
    請求項15または16に記載のコントローラ。
  18. 前記論理ブロックの前記プリロードにおいては、前記ブートアップ処理が完了する前に、前記1以上のアプリケーションのうちの特定の1つのアプリケーションに関連する前記論理ブロックをプリロードする、
    請求項15から17までの何れか1項に記載のコントローラ。
  19. 前記論理ブロックの前記プリロードにおいては、基本入力/出力システム(BIOS)のロード中に、並行して前記論理ブロックを前記キャッシュメモリにプリロードする、
    請求項15から18までの何れか1項に記載のコントローラ。
  20. 前記インデックスは前記論理ブロックをプリロードする順序を示し、かつ、前記プリロードは当該順序で実行される、
    請求項15から19までの何れか1項に記載のコントローラ。
  21. 前記インデックスは、前記第1ハードディスク・ドライブに格納された1以上の追加アプリケーションに関連する追加論理ブロックのインデックスでもあり、
    前記インデックスは、前記ブートアップ処理の完了後にプリロードされるべき前記追加論理ブロックを示し、かつ、前記ブートアップ処理の完了後に、前記追加論理ブロックを前記キャッシュメモリにプリロードする、
    請求項15から20までの何れか1項に記載のコントローラ。
  22. 前記1以上のアプリケーションは、基本入力/出力システム(BIOS)又はオペレーティング・システム(OS)に関連しない、
    請求項14から21までの何れか1項に記載のコントローラ。
  23. 前記コントローラは、前記ブートアップ処理の完了後、他の追加のアプリケーションが実行されるであろう特定の時間に先立って、前記他の追加のアプリケーションを実行するための論理ブロックを、前記キャッシュメモリにプリロードする、
    請求項14から22までの何れか1項に記載のコントローラ
JP2011527899A 2008-09-18 2009-09-15 プリロードする方法及びコントローラ Active JP5489182B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US9814108P 2008-09-18 2008-09-18
US61/098,141 2008-09-18
US12/559,987 2009-09-15
US12/559,987 US8296555B2 (en) 2008-09-18 2009-09-15 Preloader
PCT/US2009/056973 WO2010033497A1 (en) 2008-09-18 2009-09-15 Preloading applications onto memory at least partially during boot up

Publications (2)

Publication Number Publication Date
JP2012507762A JP2012507762A (ja) 2012-03-29
JP5489182B2 true JP5489182B2 (ja) 2014-05-14

Family

ID=41203813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011527899A Active JP5489182B2 (ja) 2008-09-18 2009-09-15 プリロードする方法及びコントローラ

Country Status (5)

Country Link
US (3) US8296555B2 (ja)
JP (1) JP5489182B2 (ja)
KR (1) KR101595043B1 (ja)
CN (1) CN102160035A (ja)
WO (1) WO2010033497A1 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
KR101383573B1 (ko) * 2008-08-01 2014-04-09 삼성전자주식회사 화상형성장치 및 그의 웹 정보 제공방법
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
WO2010077787A1 (en) * 2009-01-05 2010-07-08 Marvell World Trade Ltd. Method and system for hibernation or suspend using a non-volatile-memory device
CN101866623A (zh) * 2010-03-26 2010-10-20 鸿富锦精密工业(深圳)有限公司 可避免开机等待的电泳显示装置及方法
US9304867B2 (en) 2010-09-28 2016-04-05 Amazon Technologies, Inc. System and method for providing flexible storage and retrieval of snapshot archives
US20120167122A1 (en) * 2010-12-27 2012-06-28 Nokia Corporation Method and apparatus for pre-initializing application rendering processes
TW201232400A (en) * 2011-01-20 2012-08-01 Acer Inc Method for pre-loading frequently launched application and electronic device using the same
JP2012216108A (ja) * 2011-04-01 2012-11-08 Nec Corp 情報処理装置およびプログラム転送方法
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
WO2013108132A2 (en) 2012-01-20 2013-07-25 Marvell World Trade Ltd. Cache system using solid state drive
US8531612B1 (en) * 2012-03-13 2013-09-10 Sony Corporation Television start speed enhancement
US9110600B1 (en) 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation
CN102707966B (zh) * 2012-04-12 2014-09-03 腾讯科技(深圳)有限公司 加速操作系统启动的方法及装置、预取信息生成方法及装置和终端
US9503517B1 (en) 2012-05-07 2016-11-22 Amazon Technologies, Inc. Data volume placement techniques
US11379354B1 (en) 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
US9804993B1 (en) 2012-05-07 2017-10-31 Amazon Technologies, Inc. Data volume placement techniques
US9246996B1 (en) 2012-05-07 2016-01-26 Amazon Technologies, Inc. Data volume placement techniques
US9823840B1 (en) 2012-05-07 2017-11-21 Amazon Technologies, Inc. Data volume placement techniques
JP6406797B2 (ja) * 2012-12-14 2018-10-17 キヤノン株式会社 省電力モードで動作可能な情報処理装置、およびその制御方法
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
CN103970675A (zh) 2013-01-29 2014-08-06 Lsi公司 用于使引导操作系统加速的快速引导列表
US9361122B2 (en) * 2013-02-08 2016-06-07 Htc Corporation Method and electronic device of file system prefetching and boot-up method
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
EP3028145A1 (en) 2013-07-31 2016-06-08 Marvell World Trade Ltd. Parallelizing boot operations
US9563385B1 (en) 2013-09-16 2017-02-07 Amazon Technologies, Inc. Profile-guided data preloading for virtualized resources
CN103473102B (zh) * 2013-09-18 2016-12-07 中标软件有限公司 多操作系统的系统启动引导方法和工具
US10250673B1 (en) 2014-03-14 2019-04-02 Amazon Technologies, Inc. Storage workload management using redirected messages
US10715460B2 (en) 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US10095589B2 (en) * 2015-06-09 2018-10-09 Acronis International Gmbh System and method for optimization of operating system restore
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
US10180840B2 (en) * 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
KR102401772B1 (ko) * 2015-10-02 2022-05-25 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
US9891982B2 (en) 2015-12-04 2018-02-13 Microsoft Technology Licensing, Llc Error handling during onboarding of a service
US9798583B2 (en) 2015-12-04 2017-10-24 Microsoft Technology Licensing, Llc Onboarding of a service based on automated supervision of task completion
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication
US10289421B2 (en) * 2017-02-17 2019-05-14 Dell Products, L.P. Booting of IHS from SSD using PCIe
US10552206B2 (en) 2017-05-23 2020-02-04 Ge Aviation Systems Llc Contextual awareness associated with resources
CN109947497B (zh) * 2017-12-20 2021-06-08 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US10776173B1 (en) 2018-04-30 2020-09-15 Amazon Technologies, Inc. Local placement of resource instances in a distributed system
US10768835B1 (en) 2018-06-27 2020-09-08 Amazon Technologies, Inc. Opportunistic storage service
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US10931750B1 (en) 2018-07-30 2021-02-23 Amazon Technologies, Inc. Selection from dedicated source volume pool for accelerated creation of block data volumes
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US11068192B1 (en) 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems
EP3731085A1 (en) * 2019-04-25 2020-10-28 XRSpace CO., LTD. Mobile device with a shared data structure and method for operating the same
KR102292211B1 (ko) * 2019-12-10 2021-08-24 엘지전자 주식회사 전자기기
US11262918B1 (en) 2020-09-30 2022-03-01 Amazon Technologies, Inc. Data storage system with uneven drive wear reduction
US11526286B1 (en) 2021-06-29 2022-12-13 Amazon Technologies, Inc. Adaptive snapshot chunk sizing for snapshots of block storage volumes

Family Cites Families (231)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155833A (en) 1987-05-11 1992-10-13 At&T Bell Laboratories Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory
EP0464615B1 (en) 1990-06-25 1998-01-07 Nec Corporation Microcomputer equipped with DMA controller
CA2065979C (en) 1991-06-10 1999-01-19 Stephen Patrick Thompson Mode dependent minimum fifo fill level controls processor access to video memory
GB9215619D0 (en) 1992-07-23 1992-09-09 Ncr Int Inc Method and apparatus for transmitting digital data packets on a wireless channel
GB2277816B (en) 1993-05-04 1997-09-03 Motorola Inc Data communication system
US5479514A (en) 1994-02-23 1995-12-26 International Business Machines Corporation Method and apparatus for encrypted communication in data networks
US5481733A (en) 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5469506A (en) 1994-06-27 1995-11-21 Pitney Bowes Inc. Apparatus for verifying an identification card and identifying a person by means of a biometric characteristic
US5467398A (en) 1994-07-05 1995-11-14 Motorola, Inc. Method of messaging in a communication system
US5560023A (en) 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
JPH0876872A (ja) 1994-09-07 1996-03-22 Canon Inc コンピュータ装置
US5771356A (en) 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5673416A (en) 1995-06-07 1997-09-30 Seiko Epson Corporation Memory request and control unit including a mechanism for issuing and removing requests for memory access
JPH0944418A (ja) 1995-07-21 1997-02-14 Internatl Business Mach Corp <Ibm> 情報処理システム及びその制御方法
US6006018A (en) 1995-10-03 1999-12-21 International Business Machines Corporation Distributed file system translator with extended attribute support
US5884099A (en) 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
US6167514A (en) 1996-07-05 2000-12-26 Seiko Epson Corporation Method, apparatus, system and information storage medium for wireless communication
JPH10320302A (ja) 1997-05-22 1998-12-04 Hitachi Ltd 情報処理装置
US6678790B1 (en) 1997-06-09 2004-01-13 Hewlett-Packard Development Company, L.P. Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache
US5953020A (en) 1997-06-30 1999-09-14 Ati Technologies, Inc. Display FIFO memory management system
US6058188A (en) 1997-07-24 2000-05-02 International Business Machines Corporation Method and apparatus for interoperable validation of key recovery information in a cryptographic system
US5991519A (en) 1997-10-03 1999-11-23 Atmel Corporation Secure memory having multiple security levels
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6216230B1 (en) 1998-02-11 2001-04-10 Durango Corporation Notebook security system (NBS)
US6092108A (en) 1998-03-19 2000-07-18 Diplacido; Bruno Dynamic threshold packet filtering of application processor frames
JP3713141B2 (ja) 1998-05-19 2005-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの不正実行防止方法
US6816968B1 (en) 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
JP2000047968A (ja) 1998-07-31 2000-02-18 Sony Computer Entertainment Inc 情報処理装置及び方法、情報処理システム、データ受信端末及び方法、並びにデータ放送システム
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6473861B1 (en) 1998-12-03 2002-10-29 Joseph Forte Magnetic optical encryption/decryption disk drive arrangement
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
GB9905056D0 (en) 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
US6522628B1 (en) 1999-03-01 2003-02-18 Cisco Technology, Inc. Method and system for managing transmission resources in a wireless communication network
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
JP3792066B2 (ja) 1999-03-31 2006-06-28 シャープ株式会社 低消費電力周辺機器
US6330626B1 (en) 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
JP4689006B2 (ja) * 1999-06-18 2011-05-25 フィーニックス  テクノロジーズ  リミテッド 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US7457897B1 (en) 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
JP2001066986A (ja) 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
US8296467B2 (en) 2000-01-06 2012-10-23 Super Talent Electronics Inc. Single-chip flash device with boot code transfer capability
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
EP1249003B1 (de) 2000-01-19 2004-04-07 Infineon Technologies AG Integrierte sicherheitsschaltung
BR0104356A (pt) 2000-01-21 2002-02-19 Sony Corp Aparelho, método e sistema de processamento de dados, métodos de comunicação de valor de verificação de dados, de geração de dados de conteúdo e de atribuição de valor de verificação de dados de conteúdo e meios de provisão e de suprimento de programa
US7181608B2 (en) * 2000-02-03 2007-02-20 Realtime Data Llc Systems and methods for accelerated loading of operating systems and application programs
US6823472B1 (en) 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
US6711701B1 (en) 2000-08-25 2004-03-23 Micron Technology, Inc. Write and erase protection in a synchronous memory
US7010808B1 (en) 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
JP4155545B2 (ja) 2000-09-25 2008-09-24 株式会社東芝 コンピュータシステムおよびデータ転送制御方法
JP4714980B2 (ja) 2000-10-17 2011-07-06 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
US7653743B2 (en) 2000-11-28 2010-01-26 Microsoft Corporation Protocol for throttling high volume messages
US7058662B2 (en) 2000-11-30 2006-06-06 Xythos Software, Inc. Maintenance of data integrity during transfer among computer networks
US6546472B2 (en) 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
JP2002215409A (ja) * 2001-01-15 2002-08-02 Nec Corp ダウンロードシステム、携帯情報端末及びプログラム管理装置
US7516325B2 (en) 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
US7055038B2 (en) 2001-05-07 2006-05-30 Ati International Srl Method and apparatus for maintaining secure and nonsecure data in a shared memory system
EP1271875A1 (en) 2001-06-21 2003-01-02 Koninklijke Philips Electronics N.V. Device arranged for exchanging data, and method of manufacturing
US20030014368A1 (en) 2001-07-09 2003-01-16 Travelers Express Inc. Systems, methods and apparatus for secure printing of negotiable instruments
US6832280B2 (en) 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US20040030909A1 (en) 2001-09-14 2004-02-12 Yoichiro Sako Recording medium reproduction method and reproduction apparatus, and recording medium recording method and recording apparatus
US7103788B1 (en) 2001-10-31 2006-09-05 Microsoft Corporation Selective suspension of bus devices
US7065651B2 (en) 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
US7647320B2 (en) 2002-01-18 2010-01-12 Peoplechart Corporation Patient directed system and method for managing medical information
US7117352B1 (en) 2002-02-13 2006-10-03 Lsi Logic Corporation Debug port disable mechanism
JP2003281078A (ja) 2002-03-22 2003-10-03 Ricoh Co Ltd Dmaコントローラ
US7496952B2 (en) 2002-03-28 2009-02-24 International Business Machines Corporation Methods for authenticating a user's credentials against multiple sets of credentials
US20030188162A1 (en) 2002-03-29 2003-10-02 Brant Candelore Locking a hard drive to a host
US7266842B2 (en) 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6715085B2 (en) 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US6954852B2 (en) 2002-04-18 2005-10-11 Ardence, Inc. System for and method of network booting of an operating system to a client computer using hibernation
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
JP2003316913A (ja) 2002-04-23 2003-11-07 Canon Inc サービス提供方法、情報処理システム、その制御プログラム及び記憶媒体
US8335915B2 (en) 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
JP4165123B2 (ja) * 2002-05-31 2008-10-15 カシオ計算機株式会社 情報処理装置及びプログラム
US7322043B2 (en) 2002-06-20 2008-01-22 Hewlett-Packard Development Company, L.P. Allowing an electronic device accessing a service to be authenticated
US7206940B2 (en) 2002-06-24 2007-04-17 Microsoft Corporation Methods and systems providing per pixel security and functionality
US7017037B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US20040054898A1 (en) 2002-08-28 2004-03-18 International Business Machines Corporation Authenticating and communicating verifiable authorization between disparate network domains
US20050144468A1 (en) 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US7194638B1 (en) 2002-09-27 2007-03-20 Cypress Semiconductor Corporation Device and method for managing power consumed by a USB device
US6901298B1 (en) 2002-09-30 2005-05-31 Rockwell Automation Technologies, Inc. Saving and restoring controller state and context in an open operating system
US20040103272A1 (en) 2002-11-27 2004-05-27 Zimmer Vincent J. Using a processor cache as RAM during platform initialization
AU2003303169A1 (en) 2002-12-20 2004-07-14 Koninklijke Philips Electronics N.V. Apparatus and method for processing streams
KR100557590B1 (ko) 2002-12-26 2006-03-03 주식회사 하이닉스반도체 반도체 메모리 장치의 오토 리프레시 제어회로
US6711447B1 (en) 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
JP2004266342A (ja) 2003-02-03 2004-09-24 Sony Corp 無線アドホック通信システム、端末、その端末における復号方法、暗号化方法及びブロードキャスト暗号鍵配布方法並びにそれらの方法を端末に実行させるためのプログラム
US7607009B2 (en) 2003-02-10 2009-10-20 International Business Machines Corporation Method for distributing and authenticating public keys using time ordered exchanges
TW200415464A (en) 2003-02-12 2004-08-16 Acard Technology Corp SATA flash memory device
JP4039277B2 (ja) 2003-03-06 2008-01-30 ソニー株式会社 無線通信システム、端末、その端末における処理方法並びにその方法を端末に実行させるためのプログラム
US7409544B2 (en) 2003-03-27 2008-08-05 Microsoft Corporation Methods and systems for authenticating messages
US20050015602A1 (en) 2003-04-28 2005-01-20 Rees Robert Thomas Owen Method and apparatus for passing data securely between parties
JP2004334486A (ja) 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法
US7231468B2 (en) 2003-06-06 2007-06-12 Intel Corporation Future activity list for peripheral bus host controller
US20040257462A1 (en) 2003-06-17 2004-12-23 Goris Andrew C. Digital camera and method for slowing, delay and/or suspending advanced processing during low battery conditions to conserve battery charge
JP2005011120A (ja) * 2003-06-19 2005-01-13 Sony Corp 情報処理方法及び装置
TWI225200B (en) 2003-06-24 2004-12-11 Lite On Technology Corp Fast wake-up wireless signal receiving device
US7499548B2 (en) 2003-06-24 2009-03-03 Intel Corporation Terminal authentication in a wireless network
US8000284B2 (en) 2003-07-15 2011-08-16 Qualcomm Incorporated Cooperative autonomous and scheduled resource allocation for a distributed communication system
US7412565B2 (en) 2003-08-18 2008-08-12 Intel Corporation Memory optimization for a computer system having a hibernation mode
CA2536502A1 (en) 2003-08-29 2005-03-10 Tgbw Inc. Flash memory distribution of digital content
JP2005085090A (ja) 2003-09-10 2005-03-31 Konica Minolta Business Technologies Inc 遠隔処理装置
US7401215B2 (en) 2003-09-29 2008-07-15 Sun Microsystems, Inc. Method and apparatus for facilitating cryptographic layering enforcement
US7571216B1 (en) 2003-10-02 2009-08-04 Cisco Technology, Inc. Network device/CPU interface scheme
US20050108171A1 (en) 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US20050114686A1 (en) 2003-11-21 2005-05-26 International Business Machines Corporation System and method for multiple users to securely access encrypted data on computer system
US20050138365A1 (en) 2003-12-19 2005-06-23 Bellipady Guruprashanth A. Mobile device and method for providing certificate based cryptography
US20050156925A1 (en) * 2004-01-16 2005-07-21 Fong Ryan P. Graphical user interface for pre-boot operating environment
US20050177674A1 (en) 2004-02-11 2005-08-11 Infineon Technologies, Inc. Configurable embedded processor
US7840763B2 (en) 2004-03-12 2010-11-23 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
JP4645049B2 (ja) 2004-03-19 2011-03-09 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US7606230B1 (en) 2004-05-10 2009-10-20 Marvell International Ltd. Link aggregation for routed ports
US7072211B2 (en) 2004-05-19 2006-07-04 L-3 Integrated Systems Company Systems and methods for write protection of non-volatile memory devices
US7484016B2 (en) 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
TWI248617B (en) 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US20060059372A1 (en) 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware
KR100634436B1 (ko) 2004-09-23 2006-10-16 삼성전자주식회사 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US20060072748A1 (en) 2004-10-01 2006-04-06 Mark Buer CMOS-based stateless hardware security module
US20060075259A1 (en) 2004-10-05 2006-04-06 Bajikar Sundeep M Method and system to generate a session key for a trusted channel within a computer system
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US7788670B2 (en) 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
EP1653331B8 (en) 2004-10-29 2012-03-14 ST-Ericsson SA An apparatus and method for entering and exiting low power mode
KR100636209B1 (ko) 2004-11-12 2006-10-19 삼성전자주식회사 Mac 주소 보안 방법 및 장치
US7987356B2 (en) 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US7308591B2 (en) 2004-12-16 2007-12-11 International Business Machines Corporation Power management of multi-processor servers
WO2006066999A2 (en) 2004-12-22 2006-06-29 International Business Machines Corporation Method, system and computer program product for handling data
JP4217682B2 (ja) 2004-12-28 2009-02-04 株式会社東芝 アプリケーション実行方法およびアプリケーション実行プログラム
US7937198B2 (en) * 2004-12-29 2011-05-03 Snap-On Incorporated Vehicle or engine diagnostic systems supporting fast boot and reprogramming
US7533258B2 (en) 2005-01-07 2009-05-12 Cisco Technology, Inc. Using a network-service credential for access control
US7725738B1 (en) 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
US8037514B2 (en) 2005-03-01 2011-10-11 Cisco Technology, Inc. Method and apparatus for securely disseminating security server contact information in a network
US8225083B2 (en) 2005-03-09 2012-07-17 Vudu, Inc. Secured seeding of data in a distributed environment
US7711989B2 (en) 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
KR100947213B1 (ko) 2005-04-06 2010-03-11 브로드콤 코포레이션 멀티미디어 프로세서 내의 보안 조건부 액세스 및 디지털권한 관리 기법
GB2425681A (en) 2005-04-27 2006-11-01 3Com Corporaton Access control by Dynamic Host Configuration Protocol snooping
US8098823B2 (en) 2005-05-03 2012-01-17 Ntt Docomo, Inc. Multi-key cryptographically generated address
US7814322B2 (en) 2005-05-03 2010-10-12 Sri International Discovery and authentication scheme for wireless mesh networks
US7287114B2 (en) 2005-05-10 2007-10-23 Intel Corporation Simulating multiple virtual channels in switched fabric networks
US7702825B2 (en) 2005-06-29 2010-04-20 Intel Corporation Enhancements to universal serial bus (USB) suspend and resume operations
US7366887B2 (en) * 2005-07-11 2008-04-29 Lenovo (Singapore) Pte. Ltd. System and method for loading programs from HDD independent of operating system
US7376976B2 (en) 2005-07-11 2008-05-20 Microsoft Corporation Transcryption of digital content between content protection systems
KR20080031965A (ko) 2005-07-20 2008-04-11 베리메트릭스 인코퍼레이티드 네트워크 사용자 인증 시스템 및 방법
EP1910970A4 (en) 2005-07-29 2011-04-27 Identity Engines Inc SEGMENTED NETWORK IDENTITY MANAGEMENT
US7818580B2 (en) 2005-08-09 2010-10-19 International Business Machines Corporation Control of port based authentication protocols and process to support transfer of connection information
US20070234028A1 (en) 2005-09-15 2007-10-04 Rothman Michael A Method and apparatus for quickly changing the power state of a data processing system
US7620746B2 (en) 2005-09-29 2009-11-17 Apple Inc. Functional DMA performing operation on DMA data and writing result of operation
US8577044B2 (en) 2005-10-28 2013-11-05 Hewlett-Packard Development Company, L.P. Method and apparatus for automatic and secure distribution of an asymmetric key security credential in a utility computing environment
US8139521B2 (en) 2005-10-28 2012-03-20 Interdigital Technology Corporation Wireless nodes with active authentication and associated methods
US20070136792A1 (en) 2005-12-05 2007-06-14 Ting David M Accelerating biometric login procedures
US20070136523A1 (en) 2005-12-08 2007-06-14 Bonella Randy M Advanced dynamic disk memory module special operations
EP1802030A1 (en) 2005-12-23 2007-06-27 Nagracard S.A. Secure system-on-chip
WO2007082035A2 (en) 2006-01-11 2007-07-19 Qualcomm Incorporated Choosing parameters in a peer-to-peer communications system
US7490177B2 (en) 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US7333464B2 (en) 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US20070180271A1 (en) 2006-02-02 2007-08-02 Ibm Corporation Apparatus and method for providing key security in a secure processor
US9137012B2 (en) 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
JP5282349B2 (ja) 2006-02-15 2013-09-04 富士通株式会社 マルチプロセッシングシステム
US7900060B2 (en) 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
US8483718B2 (en) 2006-03-13 2013-07-09 West Corporation UMA network controller that provides access point identifiers to a location system
JP4921000B2 (ja) * 2006-03-15 2012-04-18 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
US20070242643A1 (en) 2006-04-14 2007-10-18 Microsoft Corporation Using a wireless beacon broadcast to provide a media message
JP4125328B2 (ja) 2006-04-17 2008-07-30 キヤノン株式会社 電子機器、電子機器による周辺機器の制御方法、プログラム及び記憶媒体
US7640440B2 (en) 2006-04-25 2009-12-29 Apple Inc. Method and apparatus for facilitating device hibernation
US20070260905A1 (en) 2006-05-01 2007-11-08 Integration Associates Inc. Wireless controlled wake up
US8166309B2 (en) 2006-05-01 2012-04-24 Infosys Technologies, Ltd. System and method for a secure multi-level network access mechanism using virtual service set identifier broadcast
US7743260B2 (en) 2006-05-17 2010-06-22 Richard Fetik Firewall+storage apparatus, method and system
US7620784B2 (en) 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces
US20070297606A1 (en) 2006-06-27 2007-12-27 Tkacik Thomas E Multiple key security and method for electronic devices
CN100504779C (zh) 2006-06-30 2009-06-24 联想(北京)有限公司 一种加速bios运行的方法
TW200807424A (en) 2006-07-25 2008-02-01 Fortune Semiconductor Corp Programming method of one-time programmable memory of integrated circuit
JP2008033436A (ja) 2006-07-26 2008-02-14 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP4992332B2 (ja) 2006-08-03 2012-08-08 富士通株式会社 ログイン管理方法及びサーバ
US7793103B2 (en) 2006-08-15 2010-09-07 Motorola, Inc. Ad-hoc network key management
US8413229B2 (en) 2006-08-21 2013-04-02 Citrix Systems, Inc. Method and appliance for authenticating, by an appliance, a client to access a virtual private network connection, based on an attribute of a client-side certificate
JP2008085986A (ja) 2006-08-30 2008-04-10 Ricoh Co Ltd データ変換装置と電子装置とデータ変換方法
US8190917B2 (en) 2006-09-12 2012-05-29 International Business Machines Corporation System and method for securely saving and restoring a context of a secure program loader
US8661263B2 (en) 2006-09-29 2014-02-25 Protegrity Corporation Meta-complete data storage
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US7873841B2 (en) 2006-10-30 2011-01-18 Sony Ericsson Mobile Communications Ab Method of maintaining a USB active state without data transfer
US20080108322A1 (en) 2006-11-03 2008-05-08 Motorola, Inc. Device and / or user authentication for network access
US8661520B2 (en) 2006-11-21 2014-02-25 Rajesh G. Shakkarwar Systems and methods for identification and authentication of a user
US7818389B1 (en) 2006-12-01 2010-10-19 Marvell International Ltd. Packet buffer apparatus and method
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8239650B2 (en) 2007-01-31 2012-08-07 Broadcom Corporation Wirelessly configurable memory device addressing
JPWO2008117520A1 (ja) 2007-03-28 2010-07-15 パナソニック株式会社 メモリコントローラ、不揮発性メモリシステムおよびホスト装置
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8001592B2 (en) 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for accessing resources using a multiprocessor in a trusted mode
US8365256B2 (en) 2007-05-22 2013-01-29 Cisco Technology, Inc. Authentication server with link state monitor and credential cache
US8423789B1 (en) 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
US7864720B2 (en) 2007-06-01 2011-01-04 Intel Corporation Power management for wireless devices
US20080313462A1 (en) 2007-06-13 2008-12-18 Meiyuan Zhao Apparatus and method for deriving keys for securing peer links
US7546409B2 (en) 2007-06-28 2009-06-09 Intel Corporation Deferring peripheral traffic with sideband control
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8320350B2 (en) 2007-09-26 2012-11-27 Motorola Solutions, Inc. Method, system and a data frame for communication in a wireless communication system
US7991943B2 (en) 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
US8156322B2 (en) 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US8798665B2 (en) 2007-11-15 2014-08-05 Qualcomm Incorporated Beacon-based control channels
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8001381B2 (en) 2008-02-26 2011-08-16 Motorola Solutions, Inc. Method and system for mutual authentication of nodes in a wireless communication network
US7898857B2 (en) 2008-03-20 2011-03-01 Micron Technology, Inc. Memory structure having volatile and non-volatile memory portions
US8433936B2 (en) 2008-04-04 2013-04-30 Advanced Micro Devices, Inc. USB power conservation method and apparatus
US7995596B2 (en) 2008-05-13 2011-08-09 Netlogic Microsystems, Inc. System and method for offloading packet protocol encapsulation from software
US7916594B2 (en) 2008-06-18 2011-03-29 Mediatek Inc. Data processing apparatus and method for reproducing data of an optical recording medium
US8621144B2 (en) 2008-06-26 2013-12-31 Intel Corporation Accelerated resume from hibernation in a cached disk system
US8848924B2 (en) 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
CN101626374B (zh) 2008-07-11 2013-08-28 成都市华为赛门铁克科技有限公司 IPv6网络中协商SA的方法、系统和设备
US7835190B2 (en) 2008-08-12 2010-11-16 Micron Technology, Inc. Methods of erase verification for a flash memory device
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8156320B2 (en) * 2008-08-27 2012-04-10 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
JP5075796B2 (ja) 2008-11-17 2012-11-21 株式会社東芝 通信装置、通信制御方法及び通信プログラム
WO2010077787A1 (en) 2009-01-05 2010-07-08 Marvell World Trade Ltd. Method and system for hibernation or suspend using a non-volatile-memory device
KR101543581B1 (ko) 2009-02-25 2015-08-11 삼성전자주식회사 시스템 온 칩 및 이를 포함하는 전자 시스템
US8769285B2 (en) 2009-08-13 2014-07-01 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
US8700892B2 (en) 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US8645716B1 (en) 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
KR20120096787A (ko) 2011-02-23 2012-08-31 삼성전자주식회사 모바일 장치 인증 방법 및 이를 적용한 디스플레이 장치, 그리고 모바일 장치 인증 시스템
CN103621127B (zh) 2011-05-04 2019-04-19 马维尔国际贸易有限公司 用于无线认证的接入点控制器、方法及集成电路
US8855194B2 (en) 2011-05-09 2014-10-07 Texas Instruments Incorporated Updating non-shadow registers in video encoder
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
KR101803305B1 (ko) 2011-12-15 2018-01-10 삼성전자주식회사 애플리케이션 실행을 위한 디스플레이 장치 및 방법
WO2013138636A2 (en) 2012-03-14 2013-09-19 Marvell World Trade Ltd. Key centric identity
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9220012B1 (en) 2013-01-15 2015-12-22 Marvell International Ltd. Systems and methods for provisioning devices
WO2014138430A2 (en) 2013-03-06 2014-09-12 Marvell World Trade Ltd. Secure simple enrollment
WO2015038568A1 (en) 2013-09-10 2015-03-19 Marvell World Trade Ltd. Secure device bootstrap identity

Also Published As

Publication number Publication date
US8688968B2 (en) 2014-04-01
US9652249B1 (en) 2017-05-16
US20100070751A1 (en) 2010-03-18
JP2012507762A (ja) 2012-03-29
KR20110084403A (ko) 2011-07-22
CN102160035A (zh) 2011-08-17
US8296555B2 (en) 2012-10-23
KR101595043B1 (ko) 2016-02-17
WO2010033497A1 (en) 2010-03-25
US20130046966A1 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
JP5489182B2 (ja) プリロードする方法及びコントローラ
JP5234473B2 (ja) ターボブートシステム及び方法
JP5284946B2 (ja) Nandフラッシュメモリを用いた直接ブート構成
US7181609B2 (en) System and method for accelerated device initialization
US9395919B1 (en) Memory configuration operations for a computing device
US20100211769A1 (en) Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
JP2016119108A (ja) 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、プリフェッチコントローラ、方法、ストレージデバイス、ブートファイルプリフェッチシステム、プログラム、及び、コンピュータ可読記録媒体
JP2013545207A (ja) 高速コンピュータースタートアップ
US20190065300A1 (en) Method of retrieving debugging data in uefi and computer system thereof
JP2014534521A (ja) ブートデータのロード
US20180181411A1 (en) Methods and apparatus to suspend and resume computing systems
US8984267B2 (en) Pinning boot data for faster boot
CN106598637B (zh) 节点内的部件的选择性加载方法
KR20140083530A (ko) 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법
TWI475485B (zh) 韌體更新之方法及其相關電腦系統
JP2017182165A (ja) 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法
US7430661B2 (en) System and method of storing user data in a partition file or using a partition file containing user data
KR20110037706A (ko) 외부 저장장치에 저장된 응용프로그램의 실행 시스템 및 그 방법
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
TW201734800A (zh) 設定磁碟陣列的方法
US10838737B1 (en) Restoration of memory content to restore machine state
Rothman et al. BOOTING IN AN INSTANT.
JP4352086B2 (ja) 情報処理装置およびオペレーティングシステム判別方法
US20210240586A1 (en) Computing system initialization system
JP2006236058A (ja) 情報処理装置およびシステム起動方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131213

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R150 Certificate of patent or registration of utility model

Ref document number: 5489182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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