JP5565778B2 - 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム - Google Patents

不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム Download PDF

Info

Publication number
JP5565778B2
JP5565778B2 JP2011544456A JP2011544456A JP5565778B2 JP 5565778 B2 JP5565778 B2 JP 5565778B2 JP 2011544456 A JP2011544456 A JP 2011544456A JP 2011544456 A JP2011544456 A JP 2011544456A JP 5565778 B2 JP5565778 B2 JP 5565778B2
Authority
JP
Japan
Prior art keywords
memory
volatile
data
hibernate
computing
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
JP2011544456A
Other languages
English (en)
Other versions
JP2012514787A (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
Priority to US14250209P priority Critical
Priority to US61/142,502 priority
Priority to US14269909P priority
Priority to US61/142,699 priority
Priority to US14354809P priority
Priority to US61/143,548 priority
Priority to PCT/US2009/067767 priority patent/WO2010077787A1/en
Priority to US12/636,558 priority patent/US8443211B2/en
Priority to US12/636,558 priority
Application filed by マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2012514787A publication Critical patent/JP2012514787A/ja
Application granted granted Critical
Publication of JP5565778B2 publication Critical patent/JP5565778B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 – G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/4418Suspend and resume; Hibernate and awake

Description

本願は、2009年1月5日提出の米国仮特許出願番号第61/142,502号明細書の優先権を主張しており、この開示全体を参照としてここに組み込む。本願はさらに、2009年1月6日提出の米国仮特許出願番号第61/142,699号明細書の優先権を主張しており、この開示全体を参照としてここに組み込む。本願はさらに、2009年1月9日提出の米国仮特許出願番号第61/143,548号明細書の優先権を主張しており、この開示全体を参照としてここに組み込む。

現代のコンピューティングデバイスは、利用されていないときには節電モードを利用する。ハイバネートとは、オペレーティングシステム(OS)が、揮発性システムメモリから、ハードドライブのOSブートパーティションへ、ハイバネート・ファイルの形でメモリデータをセーブして、その後にコンピューティングデバイスがシャットダウンするようなモードである。再度起動されるときには、コンピューティングデバイスの基本入出力システム(BIOS)がポストを行ってから、OSブートローダをロードする。OSブートローダは、ハイバネート・ファイル内のメモリデータを、揮発性システムメモリへコピーして戻す。OSブートローダは、オペレーティングシステムをブートするのではなくて、休止されているオペレーティングシステムの動作をレジュームさせる。これにより、データがハイバネート前にセーブされていなかったとしても、現在実行されているアプリケーションがデータを維持することができる。

サスペンドとは、オペレーティングシステムが、コンピューティングデバイス内の殆どのデバイスに対する電力をシャットダウンするが、メモリデータを保存するために揮発性システムメモリだけには通電を続けるモードのことである。完全利用をレジュームするために、オペレーティングシステムは、各デバイスへの通電を開始して、保存されているメモリデータを利用して動作をレジュームする。サスペンドは、ハイバネートよりもかなり多くの電力を必要とはするが、格段に速い。

これらモードは、それぞれ目的を持っているが、望ましくない制約も有している。ハイバネート・モードは、作動開始が遅くなるおそれがあり、データを失う場合もある。ハイバネート・モードは、ハードドライブがメモリデータをハイバネート・ファイルにセーブする速度による制限を受けることから作動開始が遅い。コンピュータのデータは殆どの場合、スピニングメディアハードディスクドライブに格納され、このハードディスクドライブは、ハイバネート・モードの開始時にスピンしているために、データの安全性に問題が生じる。デバイスがまだスピンしているときにコンピューティングデバイスが動かされると、潜在的に危険である。ユーザがラップトップでハイバネートを選択して、蓋部を閉めて歩き出すことにより、ハードドライブおよび含まれているデータに損傷が生じる場合がある。さらに、ハードドライブがスピンしている間に、ハードドライブ自身およびコンピューティングデバイスは両方とも電力を利用している。これは、ハイバネートが重要なバッテリーアラームにより生じたものである場合には、コンピューティングデバイスがハイバネートの完了前に電力を失うことも考えられるので、望ましくない。デバイスのバッテリーが失われなかったとしても、さらなる電力の利用は、節電モードの観点から矛盾する。

サスペンド・モードもまた、望ましくない制約を有している。ハイバネートより格段に速いとは行っても、サスペンドは、揮発性システムメモリが給電され続けるために、より多くの電力を利用する。さらに、サスペンド中にコンピューティングデバイスの電源が失われると、メモリデータを復帰することができなくなり、ハードディスクにセーブされなかった情報が全て失われる可能性がある。これは、ユーザがコンピューティングデバイスのプラグを抜いた場合、または、電源の故障といった事象により、容易に生じる可能性がある。

本明細書の背景技術の記載は、開示の内容を概略する意図を有する。現在の発明者のこの背景技術セクションに記載している業績は、記載されなければ出願時に先行技術になりえないものを含めて、いずれも本開示に対する自認した先行技術であることを明示も暗示もしていない。

本発明の概要は、以下の詳細な記載および図面において詳述する主題の導入部である。従ってこの概要は、重要な特徴を記載しているものとして、あるいは、請求されている主題の範囲を限定する意図を有するものとして解釈されるべきではない。

一実施形態では、コンピューティングデバイスの、サスペンド・モードを含む動作ステータスを監視する段階と、サスペンド・モードの通知を検知することに呼応して、揮発性システムメモリから不揮発性メモリデバイスへ、メモリデータをコピーするよう不揮発性メモリコントローラに指示する段階と、サスペンド・モードからのレジューム要求を受信することに呼応して、不揮発性メモリデバイスから揮発性システムメモリへ、メモリデータをコピーするよう不揮発性メモリコントローラに指示する段階とを備える方法が提供される。本実施形態は、不揮発性メモリコントローラから、メモリデータが不揮発性メモリデバイスへコピーされた旨の通知を受信する段階と、通知を受信することに呼応して、揮発性システムメモリへの電力をシャットダウンする段階と、サスペンド・モードからのウェークアップ要求を受信することに呼応して、揮発性システムメモリへの通電を開始する段階とをさらに備える。本実施形態は、不揮発性メモリコントローラから、メモリデータが不揮発性メモリデバイスから揮発性システムメモリへコピーされた旨の通知を受信する段階をさらに備え、通知は、メモリデータが、コンピューティングデバイスのオペレーティングシステムによるサスペンド・モードからのレジュームに利用可能であることを示す。

別の実施形態では、コンピューティングデバイスの、ハイバネート・モードを含む動作ステータスを監視する段階と、ハイバネート・モードの通知をコンピューティングデバイスのオペレーティングシステムから受信する段階と、通知に呼応して、揮発性システムメモリから不揮発性メモリデバイスへ、メモリデータをハイバネート・ファイルとしてコピーする段階とを備え、不揮発性メモリデバイスからオペレーティングシステムはブートされない方法が提供される。本実施形態は、ハードドライブにスピンダウンを要求する段階をさらに備え、要求は、メモリデータを揮発性システムメモリから不揮発性メモリデバイスへコピーする前に行われる。

また別の実施形態では、不揮発性メモリデバイスと、揮発性システムメモリと、プロセッサと、オペレーティングシステムをブートする固体ディスクまたはハードドライブにではなくて、不揮発性メモリデバイスにハイバネート・ファイルをセーブするハイバネート・ファイルハンドラと、BIOS割り込み13hex呼び出しをリダイレクトして、不揮発性メモリデバイスからハイバネート・ファイルを読み出すBIOS側ハイバネート・ハンドラとを備えるコンピューティングデバイスが提供される。本実施形態は、不揮発性メモリコントローラと、不揮発性メモリコントローラに、サスペンド・モードの通知に呼応して、揮発性システムメモリから不揮発性メモリデバイスへ、メモリデータをコピーさせ、サスペンド・モードからのレジューム通知に呼応して、不揮発性メモリデバイスから揮発性システムメモリへ、メモリデータをコピーさせるサスペンド・ハンドラとをさらに備える。本実施形態は、不揮発性メモリコントローラ内に設けられるオンチップのアクセラレータをさらに備え、オンチップのアクセラレータは、メモリデータを不揮発性メモリデバイスにコピーするときにメモリデータを圧縮して、メモリデータを揮発性システムメモリにコピーするときにメモリデータを伸張する。

本詳細な記載は添付図面を参照して行われる。図面においては、各参照番号の左端の桁が、その参照番号が最初に現われる図番を示している。本記載および図面で別のインスタンスにおいて同じ参照番号が利用されている場合には、同様または同一の部材であることを示している。

不揮発性メモリデバイスを利用してハイバネートまたはサスペンドを行う例示的な動作環境の一例を示す。

不揮発性メモリデバイスを利用してコンピューティングデバイスをサスペンドまたはレジュームする方法を示す。

不揮発性メモリデバイスを利用してコンピューティングデバイスをハイバネートさせる方法を示す。

不揮発性メモリデバイスを利用してコンピューティングデバイスをハイバネートからレジュームする方法を示す。

上述した背景技術で述べたように、従来のハイバネートおよびサスペンド・モードを実行する方法は、望ましくない制約を有している。ハイバネート・モードは遅く、ハードドライブに損傷を与える場合がある。サスペンド・モードは電力使用量が多く、電源が故障した場合にメモリデータを保存することができない。本開示は、フラッシュメモリ等の不揮発性メモリデバイスを利用して、ハイバネートまたはサスペンド中にメモリデータを格納することができる技術を記載する。この技術によって、ハードドライブおよび/またはデータがより安全なものとなり、電力使用量を低減させることができる。

以下の記載においては、動作環境の一例を示す。さらに、この一例である動作環境および他の環境で利用可能な方法の一例を示す。以下の記載では、あくまで例示として環境について参照するのであって、以下の実装例はこの環境例に限定はされない。

<動作環境の一例>
図1は、コンピューティングデバイス102を有する例示的な動作環境100を示す。コンピューティングデバイス102は、1以上のプロセッサ104、1以上のコンピュータ可読媒体106、揮発性システムメモリ108、および不揮発性メモリデバイス110を含む。コンピュータ可読媒体106には、揮発性(例えば静的RAM(SRAM))および不揮発性メモリ(例えばフラッシュメモリ、BIOSチップ、固体ディスク、スピニングメディアハードディスクドライブ、またはCD/DVD)といった様々な種類の媒体が含まれてよい。コンピュータ可読媒体106は、揮発性システムメモリ108、不揮発性メモリデバイス110、および/または、任意の他のコンピュータ可読媒体を含んでよい。揮発性システムメモリ108は、電力が失われるとデータを失う。

不揮発性メモリデバイス110は、電力が失われてもデータを維持することができる。不揮発性メモリデバイス110は、フラッシュメモリまたは固体ディスク等の不揮発性メモリを含んでよい。不揮発性メモリデバイス110は、揮発性システムメモリ108の格納容量程度に小さい格納容量を有してよく、圧縮技術を利用する場合にはこれよりもさらに小さい格納容量を有してよい。ハイバネートが実装されるコンピューティングデバイスでは、不揮発性メモリデバイス110は、OSブート可能スピニングメディアハードディスクドライブまたはOSブート可能固体ディスクを含まない。OSブート可能メモリは、オペレーティングシステム112およびOSブートローダ114のためのブート可能パーティションを含んでいる。ハイバネートおよびサスペンドの両方が実装されるコンピューティングデバイスでは、ハイバネートおよびサスペンドの各々に別個の不揮発性メモリデバイスが用意されてよい。

不揮発性メモリデバイス110とコンピューティングデバイス102の他のコンポーネントとをインタフェースするメカニズムは、これらに限定はされないが、内部データバス、小型コンピュータ用周辺機器インタフェース(SCSI)、インターネット用SCSI(iSCSI)、ペリフェラルコンポーネントインターコネクトバス(PCI)、PCI拡張バス(PCI−X)、ペリフェラルコンポーネントインターコネクト・エクスプレスバス(PCIe)、ユニバーサルシリアルバス(USB)、シリアルATAバス(SATA)、シリアル接続SCSI(SAS)、またはファイバーチャネルネットワーク(FC)を含んでよい。不揮発性メモリデバイス110の一例は、PCIe接続によってコンピューティングデバイス102の他のコンポーネントと通信可能に接続されたフラッシュメモリデバイスであってよい。

コンピュータ可読媒体106は、オペレーティングシステム(OS)112、OSブートローダ114、ハイバネート・ファイルハンドラ116、メモリダンプドライバ118、およびBIOS120を含むものとして示されている。オペレーティングシステム112は、コンピューティングデバイス102を動作させる。OSブートローダ114は通常、オペレーティングシステム112をインストールするときにインストールされる。コンピューティングデバイス102の通常ブート時には、BIOS120はOSブートローダ114をロードして、これによりオペレーティングシステム112がロードされる。

ハイバネート・ファイルハンドラ116は、メモリデータ122のハードドライブへの書き込みを傍受して、不揮発性メモリデバイス110へとリダイレクトするソフトウェアおよび/またはハードウェアであってよい。一部の例では、ハイバネート・ファイルハンドラ116は、ドライバ118がメモリデータ122をハードドライブに書き込もうとすると、該メモリデータ122をメモリダンプドライバ118から傍受するSCSIミニポートドライバであってよい。他の例では、ハイバネート・ファイルハンドラ116は、オペレーティングシステム112からメモリダンプドライバ118へのコマンドを傍受して、スピニング媒体ハードディスクドライブへのハイバネート・ファイルの格納を要求するソフトウェアであってよい。ハイバネート・ファイルハンドラ116は、このコマンドを傍受して、ハイバネート・ファイルをスピニングメディアハードディスクドライブに格納する代わりに、ハイバネート・ファイルをメモリデバイス110にセーブする。または、メモリダンプドライバ118は、ハイバネート・ファイルをメモリデバイス110に格納する。この場合には、環境100は別個にハイバネート・ファイルハンドラ116を含む必要はない。ハイバネート・フィーチャを実装しないシステムにおける環境100は、ハイバネート・ファイルハンドラ116およびメモリダンプドライバ118を含む必要はない。

BIOS120は、サスペンド・ハンドラ124およびBIOS側ハイバネート・ハンドラ126を含むものとして示されているが、ハイバネートまたはサスペンドの一方のみが実装される場合には両方を備える必要はない。サスペンド・ハンドラ124は、不揮発性メモリコントローラ128に、揮発性システムメモリ108および不揮発性メモリデバイス110から、または、揮発性メモリ108および不揮発性メモリデバイス110へと、メモリデータ122をコピーせよ、と要求するコンピュータ命令を含む。サスペンド・ハンドラ124はさらに、不揮発性メモリコントローラ128に、揮発性システムメモリ108内の1以上の位置のアドレスを提供してよい。

BIOS側ハイバネート・ハンドラ126は、OSブートローダ114からの要求をリダイレクトするためのコンピュータ命令を含む。要求には、BIOS INT 13hex要求が含まれてよく、これは、要求が意図しているハードディスクからではなくて、不揮発性メモリデバイス110から読み出すように、リダイレクトされる。このリダイレクトによって、ハイバネート・ファイルがシステムブートアップ時に不揮発性メモリデバイス110からロードされる。次いでオペレーティングシステム112は、ロードされたメモリデータ122を利用して、ハイバネートからレジュームする。

揮発性システムメモリ108は、メモリデータ122を含むものとして示されており、メモリデータ122は、ハイバネートまたはサスペンド中には不揮発性メモリデバイス110に保存される。不揮発性メモリデバイス110は、不揮発性メモリコントローラ128を含む。不揮発性メモリコントローラ128は、メモリデータ122を、不揮発性メモリデバイス110から、または不揮発性メモリデバイス110へ、コピーする。メモリデータ122は、不揮発性メモリデバイス110にセーブされる前に圧縮され、揮発性システムメモリ108にセーブされる前に伸張される。この圧縮は、サスペンド・ハンドラ124内のソフトウェアにより、オンチップのアクセラレータにより、またはこれら両方の組み合わせにより実行されたり、実行を助けられたりする。オンチップのアクセラレータは、不揮発性メモリコントローラ128内に設けられてよい。図1に示す部材の1以上を、分割したり、組み合わせたりすることもできる。従って、環境100は、上述した技術を利用することができる数多くの環境の一部に過ぎない。

<方法の一例>
本開示では、不揮発性メモリデバイスを利用してメモリデータを保存するコンピュータデバイスのハイバネートまたはサスペンド技術が説明される。これにより、さらなる節電が行われ、データの安全性を向上させることができる。これら技術は、3つの別個の方法を用いて記載されるが、それぞれ独立してまたは組み合わせられて作動させられてもよい。これら方法の態様は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実装することができる。方法は、1以上の実体により実行される動作を特定する一式の動作として示されているが、順序は必ずしも示されるものに限定されない。

図2は、不揮発性メモリデバイスを利用してコンピューティングデバイスをサスペンドまたはレジュームする方法200を示す。202で、コンピューティングデバイスの動作ステータスを監視する。動作ステータスにはサスペンド・モードが含まれる。204で、サスペンド・モードの通知を、コンピューティングデバイスのオペレーティングシステム(OS)から受信する。例えば、BIOS120内のサスペンド・ハンドラ124(図1)が、オペレーティングシステム112からのサスペンドの通知を受信する。

206で、不揮発性メモリコントローラは、揮発性システムメモリから不揮発性メモリデバイスにメモリデータをコピーするよう指示される。例えば、サスペンド・ハンドラ124は、不揮発性メモリコントローラ128に対して、揮発性システムメモリ108から不揮発性メモリデバイス110にメモリデータ122をコピーせよと指示する要求を発行する。要求には、コピーする揮発性システムメモリ108内の対応する位置の1以上のアドレスが含まれてよい。この場合には、コントローラ128は、アドレス指定されたメモリデータ122をコピーする。逆に、アドレスが提供されない場合には、コントローラ128は、全メモリデータ122をコピーする。

メモリデータ122を不揮発性メモリデバイス110に格納することにより、電力が失われたときでも不揮発性メモリデバイス110は自身のデータを保持することができるので、データの安全性が増す。従来のサスペンド中に電力が失われると、コンピューティングデバイス102がハードシャットダウンして、メモリデータ122が失われる。この状態から電力を復旧するには、通常のシステムブートをする必要があり、これはサスペンド状態からのレジュームよりもかなり長い時間が必要となる。

208で、メモリデータがコピーされた旨の通知を、不揮発性メモリコントローラから受信する。例えば、サスペンド・ハンドラ124が、コントローラ128から、メモリデータ122が不揮発性メモリデバイス110にコピーされた旨の通知を受信する。

210で、208での通知の受信に呼応して、揮発性システムメモリへの電力をシャットダウンする。ここでは、サスペンド・ハンドラ124、または、BIOS120内の他のコンポーネントが、揮発性システムメモリ108への電力をシャットダウンする。これにより、コンピューティングデバイス102がサスペンド・モードにある間にさらなる節電が可能となる。

212で、サスペンド・モードからのレジューム要求を受信することに呼応して、揮発性システムメモリに通電を開始する。これは、210が実装された場合に実行される。サスペンドからのレジューム要求は、様々なソース(例えば、キーボードのキーの押下、マウスの動きまたはクリック動作、システムのウェイクアップ・イベント、またはウェイク・オン・ラン(WOL))から生じてよい。例えば、サスペンド・ハンドラ124は、レジューム要求を受信して、揮発性システムメモリ108への通電を開始する。

214で、不揮発性メモリコントローラは、不揮発性メモリデバイスから揮発性システムメモリへ、メモリデータをコピーするよう指示される。214におけるこの指示は、206における指示に類似しているが、メモリデータが、揮発性システムメモリからのコピーを要求されるのではなく、揮発性システムメモリへのコピーを要求される点が異なる。214で、揮発性システムメモリの内容を、サスペンド前の状態に復帰させる。これにより、オペレーティングシステムは、サスペンドにより動作が中断したところから、動作を続けることができるようになる。この例の説明を続けると、サスペンド・ハンドラ124は、不揮発性メモリコントローラ128に対して、メモリデータ122を不揮発性メモリデバイス110から揮発性システムメモリ108にコピーするよう要求する。

この技術では、オプションとして、不揮発性メモリコントローラ128に接続されるオンチップのアクセラレータを利用することで、または、サスペンド・ハンドラ124を利用することで、不揮発性メモリデバイスおよび揮発性システムメモリへの格納前にメモリデータを圧縮・伸張することができる。メモリデータを圧縮することで、揮発性システムメモリの内容を格納するために利用されるメモリリソースの量が少なくてすむ。圧縮・伸張が十分高速に行われる場合には、メモリデータの不揮発性メモリデバイスへのセーブおよび不揮発性メモリデバイスからの取得に要する時間が短くてすむので、メモリデバイスの格納および取得を高速に行うことができる。

216で、メモリデータがコピーされた旨の通知を受信する。この通知を受けた後で、あたかも不揮発性メモリデバイスがメモリデータのセーブに利用されなかったかのように、サスペンドからレジュームする従来の方法を実装してもよいが、必須ではない。例えば、サスペンド・ハンドラ124は、コントローラ128から、メモリデータ122が揮発性システムメモリ108に復帰された旨の通知を受信する。サスペンド・ハンドラ124またはBIOS120内の他のコンポーネントは、従来の方法を利用してコンピューティングデバイス102をレジュームする動作を続けてよい。オペレーティングシステム112は、サスペンド中にOFFとされたデバイス各々に電力を復旧することができ、メモリデータ122を利用して、あたかもサスペンドが行われなかったかのように動作を続けることができる。

図3は、ハイバネート・ファイルを格納するために不揮発性メモリデバイスを利用するコンピューティングデバイスのハイバネート方法300を示す。方法300は、方法200を実装するコンピューティングデバイス上に実装されてよい。

302で、コンピューティングデバイスの動作ステータスを監視する。動作ステータスにはハイバネート・モードが含まれる。304で、ハイバネート・モードの通知を、コンピューティングデバイスのオペレーティングシステム(OS)から受信する。306で、揮発性システムメモリから不揮発性メモリデバイスに、メモリデータをハイバネート・ファイルの形でコピーする。従来のハイバネートにおいては、オペレーティングシステムがメモリダンプドライバをロードして、メモリダンプドライバがメモリデータを、ハードドライブ上に位置しているOSブートパーティション上のハイバネート・ファイルにダンプする。この方法においては、メモリダンプドライバを修正する、および/または、ハイバネート・ファイルハンドラを利用する。ハイバネート・ファイルハンドラは、コンピューティングデバイス(図1のコンピューティングデバイス102等)に接続されるコンピュータソフトウェアを含んでよい。

一例としては、ハイバネート・ファイルハンドラ116は、ハイバネートの通知を受信する。ハイバネート・ファイルハンドラ116は、メモリダンプドライバ118からの各書き込みコマンドを傍受して、各書き込みコマンドを不揮発性メモリデバイス110にリダイレクトする。これにより、ハイバネート・ファイルは、書き込みコマンド(1または複数)が意図していたハードドライブにではなくて、不揮発性メモリデバイス110に格納される。

別の例では、ハイバネート・ファイルハンドラ116が、オペレーティングシステム112からメモリダンプドライバ118へのコマンドを傍受する。コマンドは、元々は、メモリデータ122をハードドライブにセーブするようメモリダンプドライバ118に命令することが意図されている。ハイバネート・ファイルハンドラ116は、このコマンドを傍受して、メモリデータ122をハイバネート・ファイルにダンプする。ハイバネート・ファイルは、コマンドが意図していたハードドライブにではなくて、不揮発性メモリデバイス110にセーブされる。

別の例としては、メモリダンプドライバ118は、メモリデータ122を、ハードドライブのOSブートパーティションにではなくて、不揮発性メモリデバイス110にコピーするよう修正される。この場合、方法は、別個のハイバネート・ファイルハンドラ116の利用を差し控える。

308で、オペレーティングシステムは、ハイバネート・ファイルをセーブした旨の報告を受ける。これにより、オペレーティングシステムは、コンピューティングデバイスの様々なコンポーネントに対する電力のシャットダウンを続ける。ハイバネート・ファイルハンドラ116がメモリダンプドライバ118からの各書き込みコマンドを傍受する例においては、ハンドラ116は、ドライバ118に対して通知を行い、ドライバ118がオペレーティングシステム112に対して通知を行う。ハイバネート・ファイルハンドラ116がオペレーティングシステム112からメモリダンプドライバ118へのコマンドを傍受する例においては、ハンドラ116は、メモリデータ122のコピーが完了したときに、オペレーティングシステム112に対して通知を送る。メモリダンプドライバ118が修正されている例においては、ドライバ118はオペレーティングシステム112に通知を行う。308における通知によって、オペレーティングシステム112は、ハイバネート・モードにあるシステムのシャットダウンを続けることができる。

ハイバネート・ファイルを、OSブートディスクとは別個の不揮発性メモリデバイスに格納することにより、不揮発性メモリデバイスがOSブートディスクよりも高速な場合に、ハイバネートおよびレジュームがより高速に行われる。OSブートディスクとは、OSのブートパーティションを有するディスクである。OSブートディスクが固体ディスクである場合には、高速メモリを利用してハイバネート・ファイルを格納することができるので、この方法は依然として有用である。OSブートディスクのサイズ要件はかなり大きいので、コスト面から最高速度のメモリを大量に利用することができない。さらに、固体ディスクをOSブートディスクとして利用することは、容量に対するコストがスピニングメディアハードディスクドライブのものよりも大きくなるために、コスト面から実現不可能である。方法300の不揮発性メモリデバイスは、ハイバネート・ファイルのみを格納することができる程度の小ささであってよい。この場合には、最高速度のメモリを利用するとコスト面で効率的であることが多い。

加えて、本技術では、コンピューティングデバイス内の1以上のスピニングメディアハードディスクドライブにスピンダウンを要求する場合がある。これにより、さらなる節電が行われ、データの安全性を向上させることができる。ハイバネート・ファイルの格納には別個の不揮発性メモリデバイスを利用するので、ハイバネート・プロセスが始まるとスピニングメディアハードディスクドライブは必要なくなり、安全にスピンダウンすることができる。この動作は、最大の節電効果およびデータの安全性が求められる場合には、306の前に行われる。

図4は、方法200および/または300を実装するコンピューティングデバイスに実装可能な、コンピューティングデバイスをハイバネートからレジュームさせる方法400を示す。

402で、ブートディスクからハイバネート・ファイルを読み出せ、という要求を受信する。一部の従来の方法では、ハイバネートが終了すると、OSブートローダはBIOS割り込み13hexを利用して、ハイバネート・ファイルをOSブートディスクから読み出す。この方法では、BIOS側ハイバネート・ハンドラが代わりに要求を受信する。例えば、図1のBIOS側ハイバネート・ハンドラ126が、ハイバネート・ファイルの全てまたは一部の読み出し要求を受信する。受信された要求は、OSブートローダ114からのものである。

404で、OSブートディスクからのハイバネート・ファイルの読み出し要求をリダイレクトして、ハイバネート・ファイルを不揮発性メモリデバイスから読み出す。この例の説明を続けると、BIOS側ハイバネート・ハンドラ126は、要求されているOSブートディスクからではなくて、不揮発性メモリデバイス110からハイバネート・ファイルを読み出す。ハイバネート・ファイルが見当たらない場合には、BIOS側ハイバネート・ハンドラ126は、OSブートディスクから読み出す。ハイバネート・ファイル内のメモリデータ122が揮発性システムメモリ108へロードされると、オペレーティングシステム112は、メモリデータ122を利用して動作をレジュームする。

OSブートローダ114は、不揮発性メモリデバイス110からハイバネート・ファイルを読み出すよう修正されてよく、リダイレクトは利用されない。この場合には、BIOS側ハイバネート・ハンドラ126は、OSブートローダ114の一部であり、修正されたOSブートローダは、不揮発性メモリデバイスからハイバネート・ファイルを要求して、ハイバネート・ファイル内のメモリデータを揮発性システムメモリにロードする。

上述した技術の1以上は、入力データに動作を行って出力を生成する機能を実行させるべくコンピュータプログラムを実行する1以上のプログラム可能プロセッサにより実行されてよい。通常、技術は、全てがハードウェアの実施形態、全てがソフトウェアの実施形態、あるいは、ハードウェアコンポーネントおよびソフトウェアコンポーネントの両方を備える実施形態という形態をとることができる。一実装例では、方法が実装されるソフトウェアは、これらに限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含んでよい。さらに、方法は、コンピュータまたはその他の命令実行システムにより、またはこれらとの関連で利用されるプログラムコードを提供するコンピュータ利用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラムプロダクトの形態をとることもできる。

本記載の趣旨においては、コンピュータ利用可能媒体またはコンピュータ可毒媒体とは、命令実行システム、装置、またはデバイスにより、またはこれらとの関連で利用可能なプログラムを含む、格納する、通信する、伝播させる、またはトランスポートすることのできる任意の装置のことであってよい。媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム(または装置、デバイス)、または伝播媒体であってよい。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、取り外し可能コンピュータディスク、RAM、ROM、剛性磁気ディスクおよび光ディスクが含まれる。光ディスクの現在の例には、CD−ROM、CD−R/W、およびDVDが含まれる。

主題を構造的特徴および/または方法論的な技法および/または動作により記載してきたが、添付請求項で定義される主題は、必ずしも上述した特定の特徴、技法、または動作(実行順序を含めて)に限定されないことに留意されたい。

Claims (11)

  1. コンピューティングデバイスの、ハイバネート・モードを含む動作ステータスを監視する段階と、
    前記ハイバネート・モードの通知を前記コンピューティングデバイスのオペレーティングシステムから受信する段階と、
    前記通知に呼応して、揮発性システムメモリから不揮発性メモリデバイスへ、メモリデータをハイバネート・ファイルとしてコピーする段階と
    前記メモリデータが前記不揮発性メモリデバイスにコピーされる前に、前記メモリデータを圧縮する段階と
    を備え、
    前記不揮発性メモリデバイスから前記オペレーティングシステムはブートされず、
    前記ハイバネート・モードの前記通知を受信する段階は、
    前記オペレーティングシステムからメモリダンプドライバへのコマンドを傍受する段階を有し、
    前記コマンドは、前記メモリデータを前記揮発性システムメモリからハードドライブへセーブせよとの命令を含む方法。
  2. 前記メモリデータを前記揮発性システムメモリから前記不揮発性メモリデバイスへ、前記ハイバネート・ファイルとしてコピーする段階は、
    メモリダンプドライバからハードドライブへのデータ書き込みコマンドを傍受して、前記データ書き込みコマンドを前記不揮発性メモリデバイスへリダイレクトする段階を有する請求項に記載の方法。
  3. 前記不揮発性メモリデバイスはフラッシュメモリを含む請求項1または2に記載の方法。
  4. ハードドライブにスピンダウンを要求する段階をさらに備え、
    前記要求は、前記メモリデータを前記揮発性システムメモリから前記不揮発性メモリデバイスへコピーする前に行われる請求項からのいずれか1項に記載の方法。
  5. 前記メモリデータを前記揮発性システムメモリから前記不揮発性メモリデバイスへ、前記ハイバネート・ファイルとしてコピーする段階は、
    前記オペレーティングシステムを、前記ハイバネート・ファイルにセーブされている前記メモリデータを利用して前記ハイバネート・モードからレジュームさせる請求項からのいずれか1項に記載の方法。
  6. 基本入出力システム(BIOS)を、OSブートローダからの呼び出しをリダイレクトするよう修正して、
    修正された前記BIOSによって、前記ハイバネート・ファイルが、ハードディスクからではなくて、前記不揮発性メモリデバイスから読み出される請求項に記載の方法。
  7. リダイレクトされる前記呼び出しは、BIOS割り込み13hex呼び出しである請求項に記載の方法。
  8. 不揮発性メモリデバイスと、
    揮発性システムメモリと、
    不揮発性メモリコントローラと、
    プロセッサと、
    オペレーティングシステムをブートする固体ディスクまたはハードドライブにではなくて、前記不揮発性メモリデバイスにハイバネート・ファイルをセーブするハイバネート・ファイルハンドラと、
    BIOS割り込み13hex呼び出しをリダイレクトして、前記不揮発性メモリデバイスから前記ハイバネート・ファイルを読み出すBIOS側ハイバネート・ハンドラと、
    前記不揮発性メモリコントローラに、サスペンド・モードの通知に呼応して、前記揮発性システムメモリから前記不揮発性メモリデバイスへ、メモリデータをコピーさせ、前記サスペンド・モードからのレジューム通知に呼応して、前記不揮発性メモリデバイスから前記揮発性システムメモリへ、前記メモリデータをコピーさせるサスペンド・ハンドラと、
    前記メモリデータを前記不揮発性メモリデバイスにコピーするときに前記メモリデータを圧縮して、前記メモリデータを前記揮発性システムメモリにコピーするときに前記メモリデータを伸張する、前記不揮発性メモリコントローラ内に設けられるオンチップのアクセラレータと
    を備えるコンピューティングデバイス。
  9. 前記ハイバネート・ファイルハンドラは、メモリダンプドライバから前記ハードドライブへのデータ書き込みコマンドを傍受して、前記データ書き込みコマンドを前記不揮発性メモリデバイスへリダイレクトする小型コンピュータ用周辺機器インタフェース(SCSI)ミニポートドライバである請求項に記載のコンピューティングデバイス。
  10. 前記メモリデータは、シリアルATAバスを介して、前記不揮発性メモリデバイスにコピーされる請求項からのいずれか1項に記載の方法。
  11. 前記不揮発性メモリデバイスはフラッシュメモリであり、圧縮された前記メモリデータは、シリアルATAバスを介して、前記不揮発性メモリデバイスにコピーされ、伸張された前記メモリデータは、前記シリアルATAバスを介して、前記揮発性システムメモリにコピーされる請求項またはに記載のコンピューティングデバイス。
JP2011544456A 2009-01-05 2009-12-11 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム Active JP5565778B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US14250209P true 2009-01-05 2009-01-05
US61/142,502 2009-01-05
US14269909P true 2009-01-06 2009-01-06
US61/142,699 2009-01-06
US14354809P true 2009-01-09 2009-01-09
US61/143,548 2009-01-09
US12/636,558 2009-12-11
PCT/US2009/067767 WO2010077787A1 (en) 2009-01-05 2009-12-11 Method and system for hibernation or suspend using a non-volatile-memory device
US12/636,558 US8443211B2 (en) 2009-01-05 2009-12-11 Hibernation or suspend using a non-volatile-memory device

Publications (2)

Publication Number Publication Date
JP2012514787A JP2012514787A (ja) 2012-06-28
JP5565778B2 true JP5565778B2 (ja) 2014-08-06

Family

ID=41820384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011544456A Active JP5565778B2 (ja) 2009-01-05 2009-12-11 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム

Country Status (5)

Country Link
US (1) US8443211B2 (ja)
EP (1) EP2380081B1 (ja)
JP (1) JP5565778B2 (ja)
CN (1) CN102272734B (ja)
WO (1) WO2010077787A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9769653B1 (en) 2008-08-20 2017-09-19 Marvell International Ltd. Efficient key establishment for wireless networks
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US9860862B1 (en) 2013-05-21 2018-01-02 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

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
KR101573330B1 (ko) * 2009-08-13 2015-12-01 삼성전자주식회사 영상 재생 장치를 부팅하는 방법 및 그 장치
US10394570B2 (en) 2010-02-26 2019-08-27 Hp Printing Korea Co., Ltd. Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
JP5598144B2 (ja) * 2010-08-04 2014-10-01 ソニー株式会社 情報処理装置、電源制御方法、およびプログラム
EP2437171B1 (de) * 2010-09-09 2013-05-01 Siemens Aktiengesellschaft Datenspeichersystem und Verfahren
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
JP2012173814A (ja) * 2011-02-17 2012-09-10 Canon Inc 情報処理装置及び情報処理装置を制御する制御方法
JP4966422B1 (ja) * 2011-03-31 2012-07-04 株式会社東芝 情報処理装置及びデータ保護方法
US20120324077A1 (en) * 2011-06-17 2012-12-20 Broadcom Corporation Providing Resource Accessbility During a Sleep State
US8972667B2 (en) * 2011-06-28 2015-03-03 International Business Machines Corporation Exchanging data between memory controllers
US10061534B2 (en) 2011-12-01 2018-08-28 Intel Corporation Hardware based memory migration and resilvering
TW201348949A (zh) * 2012-05-29 2013-12-01 Hon Hai Prec Ind Co Ltd 伺服器防震方法及系統
CN104412669A (zh) * 2012-07-12 2015-03-11 哈曼国际工业有限公司 用于在休眠模式与唤醒之间对装置进行切换的方法
WO2014023998A1 (en) * 2012-08-07 2014-02-13 Nokia Corporation Access control for wireless memory
CN103593202A (zh) * 2012-08-15 2014-02-19 广明光电股份有限公司 车用电子装置快速启动方法
EP2895935A4 (en) * 2012-09-14 2016-05-11 Intel Corp Methods and apparatus to protect memory regions during low-power states
CN103677202B (zh) * 2012-09-26 2017-06-06 宏碁股份有限公司 休眠管理方法及相关装置
KR101959359B1 (ko) 2012-11-06 2019-03-18 에이치피프린팅코리아 유한회사 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
US9128873B2 (en) * 2012-12-28 2015-09-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Memory bus attached input/output (‘I/O’) subsystem management in a computing system
US9727462B2 (en) 2013-01-30 2017-08-08 Hewlett Packard Enterprise Development Lp Runtime backup of data in a memory module
US10528116B2 (en) * 2013-03-14 2020-01-07 Seagate Technology Llc Fast resume from hibernate
US9268699B2 (en) * 2013-06-03 2016-02-23 Samsung Electronics Co., Ltd. Dynamic cache allocation in a solid state drive environment
US20150089102A1 (en) * 2013-09-23 2015-03-26 Lsi Corporation Solid state drives that cache boot data
US10140477B2 (en) * 2013-12-09 2018-11-27 Thales E-Security, Inc. Obfuscating in memory encryption keys
TWI610239B (zh) 2013-12-27 2018-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置
US10789082B2 (en) * 2014-12-18 2020-09-29 Unisys Corporation Execution of multiple operating systems without rebooting
WO2016122520A1 (en) 2015-01-29 2016-08-04 Hewlett-Packard Development Company, L.P. Resuming a system-on-a-chip device
WO2016122518A1 (en) 2015-01-29 2016-08-04 Hewlett-Packard Development Company, L.P. Booting a system-on-a-chip device
US20180189173A1 (en) * 2015-09-18 2018-07-05 Hewlett-Packard Development Company, Lp. System memory migration
US10346044B2 (en) * 2016-04-14 2019-07-09 Western Digital Technologies, Inc. Preloading of directory data in data storage devices
US20180253556A1 (en) * 2017-03-02 2018-09-06 Qualcomm Incorporated Selective restoration and authentication of a secure image
US20190235965A1 (en) * 2018-01-30 2019-08-01 Quanta Computer Inc. Memory data preservation solution
US10649515B2 (en) * 2018-02-12 2020-05-12 Saudi Arabian Oil Company Power management of computing and communications systems during power fluctuation and sudden power failure events

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2880863B2 (ja) * 1992-10-29 1999-04-12 株式会社東芝 サスペンド制御方法およびシステム
GB2277816B (en) 1993-05-04 1997-09-03 Motorola Inc Data communication system
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
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> 情報処理システム及びその制御方法
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
JPH10320302A (ja) * 1997-05-22 1998-12-04 Hitachi Ltd 情報処理装置
US5953020A (en) 1997-06-30 1999-09-14 Ati Technologies, Inc. Display FIFO memory management system
JPH11194846A (ja) * 1997-10-30 1999-07-21 Toshiba Comput Eng Corp コンピュータシステムおよびそのシステムステート制御方法
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
JPH11242631A (ja) * 1998-02-26 1999-09-07 Toshiba Comput Eng Corp コンピュータシステムおよび同システムにおけるデータ保存/復元方法
US6092108A (en) 1998-03-19 2000-07-18 Diplacido; Bruno Dynamic threshold packet filtering of application processor frames
US6230274B1 (en) * 1998-11-03 2001-05-08 Intel Corporation Method and apparatus for restoring a memory device channel when exiting a low power state
US6522628B1 (en) 1999-03-01 2003-02-18 Cisco Technology, Inc. Method and system for managing transmission resources in a wireless communication network
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
WO2001037066A1 (fr) * 1999-11-16 2001-05-25 Fujitsu Limited Processeur d'informations et support lisible par ordinateur
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6823472B1 (en) 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
JP4155545B2 (ja) 2000-09-25 2008-09-24 株式会社東芝 コンピュータシステムおよびデータ転送制御方法
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 ダウンロードシステム、携帯情報端末及びプログラム管理装置
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
US8335915B2 (en) 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
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
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
US7496952B2 (en) 2002-03-28 2009-02-24 International Business Machines Corporation Methods for authenticating a user's credentials against multiple sets of credentials
US7266842B2 (en) 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
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
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
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
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
US7194638B1 (en) 2002-09-27 2007-03-20 Cypress Semiconductor Corporation Device and method for managing power consumed by a USB device
JP2004164185A (ja) * 2002-11-12 2004-06-10 Sony Corp 揮発性システムメモリ及び不揮発性半導体メモリを備えたコンピュータ機器
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
US7231468B2 (en) 2003-06-06 2007-06-12 Intel Corporation Future activity list for peripheral bus host controller
TWI225200B (en) 2003-06-24 2004-12-11 Lite On Technology Corp Fast wake-up wireless signal receiving device
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
JP2005085090A (ja) 2003-09-10 2005-03-31 Konica Minolta Business Technologies Inc 遠隔処理装置
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
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
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
US7457897B1 (en) 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US7606230B1 (en) 2004-05-10 2009-10-20 Marvell International Ltd. Link aggregation for routed ports
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
US7788670B2 (en) 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US7308591B2 (en) 2004-12-16 2007-12-11 International Business Machines Corporation Power management of multi-processor servers
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
GB2425681A (en) 2005-04-27 2006-11-01 3Com Corporaton Access control by Dynamic Host Configuration Protocol snooping
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
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
US8139521B2 (en) 2005-10-28 2012-03-20 Interdigital Technology Corporation Wireless nodes with active authentication and associated methods
JP5282349B2 (ja) 2006-02-15 2013-09-04 富士通株式会社 マルチプロセッシングシステム
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
US20070297606A1 (en) 2006-06-27 2007-12-27 Tkacik Thomas E Multiple key security and method for electronic devices
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
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
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
US8409659B2 (en) 2006-12-01 2013-04-02 GM Global Technology Operations LLC Nanowire supported catalysts for fuel cell electrodes
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
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
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
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
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US7995596B2 (en) 2008-05-13 2011-08-09 Netlogic Microsystems, Inc. System and method for offloading packet protocol encapsulation from software
CN102160035A (zh) 2008-09-18 2011-08-17 马维尔国际贸易有限公司 至少部分地在引导期间向存储器预加载应用

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US9769653B1 (en) 2008-08-20 2017-09-19 Marvell International Ltd. Efficient key establishment for wireless networks
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
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
US10275377B2 (en) 2011-11-15 2019-04-30 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9860862B1 (en) 2013-05-21 2018-01-02 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
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations

Also Published As

Publication number Publication date
JP2012514787A (ja) 2012-06-28
EP2380081B1 (en) 2013-11-06
WO2010077787A1 (en) 2010-07-08
EP2380081A1 (en) 2011-10-26
US20100174934A1 (en) 2010-07-08
US8443211B2 (en) 2013-05-14
CN102272734B (zh) 2014-09-10
CN102272734A (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
US9841911B2 (en) Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance
US10481942B2 (en) Virtual machine suspension
EP3210093B1 (en) Configurable volatile memory data save triggers
US9501291B2 (en) Method and system for providing hybrid-shutdown and fast startup processes
US9195472B2 (en) System and method for booting up a computer based on data captured in a non-volatile semiconductor memory during a learn mode
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US8417979B2 (en) Method and system for progressive power reduction of inactive device while maintaining ready status with host
US8631259B2 (en) Method and apparatus for quick resumption of a processing system with volatile memory
KR100319292B1 (ko) 빠른 부팅 속도를 갖는 컴퓨터 시스템 및 그 방법
US8875160B2 (en) Dynamic application migration
JP5932973B2 (ja) 仮想記憶ディスク技術
JP4205560B2 (ja) ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善
DE102013112672A1 (de) Datenspeicher für eine Remote-Umgebung
US5784628A (en) Method and system for controlling power consumption in a computer system
US8533449B2 (en) Multi-phase resume from hibernate
TWI524205B (zh) 用以在無作業系統服務環境中供應韌體之方法
US7240239B2 (en) Input and output control means for computer system storage and a software execution method using same
US7900074B2 (en) Method and apparatus for quickly reanimating devices from hibernation
US6243831B1 (en) Computer system with power loss protection mechanism
CN100549906C (zh) 插拔固定系统硬盘
JP3266560B2 (ja) 情報処理システム及びその制御方法
US8296768B2 (en) Method and apparatus to enable runtime processor migration with operating system assistance
US7409537B2 (en) Fast booting an operating system from an off state
TWI363269B (en) Portable electronic apparatus used by opening lid, method of controlling portable electronic apparatus, and program
US8635395B2 (en) Method of suspending and resuming virtual machines

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131009

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140402

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140409

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140609

R150 Certificate of patent or registration of utility model

Ref document number: 5565778

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113