(57)【要約】  いくつかの実施形態によれば、アクティブ動作に関連する電源喪失回復情報が揮発性メモリに格納される。電源喪失状態が検出されると、電源喪失回復情報は不揮発性メモリにコピーされる。電源が復帰すると、電源喪失回復情報を使用して、中断された動作が完了又は補正される。【選択図】図２
2008511913.tif 000002
【特許請求の範囲】
【請求項１】
電源喪失状態の検出に応じてアクティブ動作に関連する電源喪失回復情報を不揮発性記憶装置に格納すること
を含む、方法。
【請求項２】
前記アクティブ動作中に前記電源喪失回復情報を揮発性記憶装置に格納すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記電源喪失回復情報を前記不揮発性記憶装置に格納することは、前記揮発性記憶装置から前記電源喪失回復情報をコピーすることを含む、請求項２に記載の方法。
【請求項４】
電源回復時に、前記不揮発性記憶装置から揮発性記憶装置に前記電源喪失回復情報をコピーすること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記電源喪失状態の前に電荷を蓄積することであって、それによって、前記電源喪失回復情報を不揮発性記憶装置にコピーするための電力を提供する、蓄積すること
をさらに含む、請求項１に記載の方法。
【請求項６】
前記アクティブ動作は、大型の不揮発性メモリアレイに対するブロック書込み動作を含む、請求項１に記載の方法。
【請求項７】
前記電源喪失回復情報は、前記アクティブ動作が完了していないことを示すステータスビットを含む、請求項１に記載の方法。
【請求項８】
前記電源喪失回復情報は、前記アクティブ動作の１つ又は複数のアドレスビットを含む、請求項１に記載の方法。
【請求項９】
前記電源喪失回復情報は、前記アクティブ動作の完了ステータスを示すステータスビットを含む、請求項１に記載の方法。
【請求項１０】
前記電源喪失回復情報は、セキュリティアプリケーションによって生成される現乱数を含む、請求項１に記載の方法。
【請求項１１】
前記電源喪失回復情報は、通常動作中に頻繁に更新され、前記電源喪失状態の前記検出時に保持されなければならない情報を含む、請求項１に記載の方法。
【請求項１２】
前記不揮発性メモリはフラッシュメモリアレイを含む、請求項１に記載の方法。
【請求項１３】
前記不揮発性メモリはポリマーメモリアレイを含む、請求項１に記載の方法。
【請求項１４】
前記不揮発性メモリは相変化メモリアレイを含む、請求項１に記載の方法。
【請求項１５】
電源の復帰時に、前記アクティブ動作を完了するために前記電源喪失回復情報を利用することをさらに含む、請求項１に記載の方法。
【請求項１６】
前記電源喪失回復情報は、前記不揮発性メモリから直接読み出される、請求項１５に記載の方法。
【請求項１７】
電源回復時に、前記電源喪失回復情報の前記利用の前に、前記不揮発性記憶装置から揮発性記憶装置に前記電源喪失回復情報をコピーすることをさらに含む、請求項１５に記載の方法。
【請求項１８】
前記アクティブ動作はフォーマット情報書込み動作である、請求項１に記載の方法。
【請求項１９】
アクティブ動作に関連する電源喪失回復情報を格納する揮発性記憶装置と、
不揮発性記憶装置と、
電源喪失状態の検出時に前記揮発性記憶装置から前記不揮発性記憶装置に前記電源喪失回復情報をコピーするコントローラと
を具備する、装置。
【請求項２０】
前記電源喪失状態の前記検出の前に電荷を蓄積する電荷蓄積部であって、該電荷は前記電源喪失状態の間に前記コントローラに電力を供給する、電荷蓄積部
をさらに具備する、請求項１９に記載の装置。
【請求項２１】
前記コントローラは、さらに、電源回復時に前記不揮発性記憶装置から前記揮発性記憶装置に前記電源喪失回復情報をコピーする、請求項１９に記載の装置。
【請求項２２】
前記アクティブ動作は、大型の不揮発性メモリアレイに対するブロック書込み動作を含む、請求項１９に記載の装置。
【請求項２３】
前記電源喪失回復情報は、前記アクティブ動作が完了していないことを示すステータスビットを含む、請求項１９に記載の装置。
【請求項２４】
前記電源喪失回復情報は、前記アクティブ動作の１つ又は複数のアドレスビットを含む、請求項１９に記載の装置。
【請求項２５】
前記電源喪失回復情報は、前記アクティブ動作の完了ステータスを示すステータスビットを含む、請求項１９に記載の装置。
【請求項２６】
前記電源喪失回復情報は、セキュリティアプリケーションによって生成される現乱数を含む、請求項１９に記載の装置。
【請求項２７】
前記電源喪失回復情報は、通常動作中に頻繁に更新され、前記電源喪失状態の前記検出時に保持されなければならない情報を含む、請求項１９に記載の装置。
【請求項２８】
前記不揮発性メモリはフラッシュメモリアレイを含む、請求項１９に記載の装置。
【請求項２９】
前記不揮発性メモリはポリマーメモリアレイを含む、請求項１９に記載の装置。
【請求項３０】
前記電源喪失回復情報は、電源の復帰時に前記アクティブ動作を完了するために使用される、請求項１９に記載の装置。
【請求項３１】
前記アクティブ動作の完了に使用される前記電源喪失回復情報は、前記不揮発性メモリから直接読み出される、請求項２９に記載の装置。
【請求項３２】
前記アクティブ動作はフォーマット情報書込み動作である、請求項１９に記載の装置。
【請求項３３】
プロセッサと、
該プロセッサに結合されるメモリデバイスであって、
アクティブ動作に関連する電源喪失回復情報を格納する揮発性記憶装置と、
不揮発性記憶装置と、
電源喪失状態の検出時に前記揮発性記憶装置から前記不揮発性記憶装置に前記電源喪失回復情報をコピーするコントローラと
を備えるメモリデバイスと
を具備する、システム。
【請求項３４】
前記メモリデバイスは、
前記電源喪失状態の前記検出の前に電荷を蓄積する電荷蓄積部であって、該電荷は前記電源喪失状態の間に前記コントローラに電力を供給する、電荷蓄積部
をさらに具備する、請求項３３に記載のシステム。
【請求項３５】
前記コントローラは、さらに、電源回復時に前記不揮発性記憶装置から前記揮発性記憶装置に前記電源喪失回復情報をコピーする、請求項３３に記載のシステム。
【請求項３６】
前記アクティブ動作は、大型の不揮発性メモリアレイに対するブロック書込み動作を含む、請求項３３に記載のシステム。
【請求項３７】
前記電源喪失回復情報は、前記アクティブ動作が完了していないことを示すステータスビットを含む、請求項３３に記載のシステム。
【請求項３８】
前記電源喪失回復情報は、前記アクティブ動作の１つ又は複数のアドレスビットを含む、請求項３３に記載のシステム。
【請求項３９】
前記電源喪失回復情報は、前記アクティブ動作の完了ステータスを示すステータスビットを含む、請求項３３に記載のシステム。
【請求項４０】
前記電源喪失回復情報は、セキュリティアプリケーションによって生成される現乱数を含む、請求項３３に記載のシステム。
【請求項４１】
前記不揮発性メモリはフラッシュメモリアレイを含む、請求項３３に記載のシステム。
【請求項４２】
前記不揮発性メモリはポリマーメモリアレイを含む、請求項３３に記載のシステム。
【請求項４３】
前記電源喪失回復情報は、電源の復帰時に前記アクティブ動作を完了するために使用される、請求項３３に記載のシステム。
【請求項４４】
前記アクティブ動作はフォーマット情報書込み動作である、請求項３３に記載のシステム。
【請求項４５】
前記プロセッサに結合されるアンテナをさらに具備する、請求項３３に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
不揮発性記憶装置は、電源が喪失してもデータを保持する能力を有する。フラッシュメモリは、不揮発性の性質を有するため、多くの携帯機器及び無線機器、たとえば携帯電話、ラップトップコンピュータ及び個人情報端末のための有効な技術である。
【０００２】
不揮発性記憶装置に対する動作、たとえばデータ書込み動作には、完了するために多くのサイクルがかかる可能性がある。データを書き込むことだけでなく、その動作中にフォーマット情報が更新されることが多い。たとえば、フラッシュメディアは、さまざまな構成のフラッシュメモリデバイスを備えたシステムであり、それには、フラッシュメモリデバイスのさまざまなアレイを管理するとともに調整する追加のデコードロジックを有するハードウェアが含まれる場合がある。通常、フラッシュメディアのフラッシュメモリブロックは、個々のデータユニット又はセクタに分割され、各セクタは、関連するヘッダを有するか又はセクタステータスを識別する。アクティブ動作中、たとえば携帯電話が落下しバッテリが切断される場合、急な電源の喪失が発生する可能性があり、それによりデータ又はフォーマット情報が喪失する。フォーマット情報の喪失は、フラッシュメディアに対して破局的である可能性があり、フラッシュメディアの特定のセクタに格納されたいずれのデータにもアクセスすることができなくなる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現行の電源喪失回復機構には、ビット回転（bit twiddling）があり、そこでは、ファイルシステム動作を追跡するためにステータスビットが使用される。たとえば、書込み動作の開始を指示するように１つのビットが設定される場合があり、書込み動作の完了時に別のビットが設定される場合がある。このように、１ビット（又はセル）を書き込むために、完全な書込み動作が発生する。電源が回復すると、ソフトウェアはこれらのビットをスキャンして、書込み動作が中断されたか否かを判断し、それにより、いかなるエラーも対処及び／又は訂正することができる。こうしたビット操作は、性能に関して費用がかかり、コードが複雑である。より効率的な電源喪失回復の解決法が求められる。
【課題を解決するための手段】
【０００４】
添付の図面を参照することにより、本発明はより理解され、その多数の特徴及び利点は当業者に明らかとなろう。
【０００５】
異なる図面において同じ参照符号を使用している場合、それは、類似するか又は同一のものを示す。
【発明を実施するための最良の形態】
【０００６】
［実施形態（複数可）の説明］
以下の説明では、多数の特定の詳細が示されている。しかしながら、本発明の実施形態を、これらの特定の詳細なしに実施してもよい、ということが理解される。場合によっては、この説明の理解を不明瞭にしないために、既知の方法、構造及び技法については詳細に示していない。
【０００７】
「１つの実施形態」、「一実施形態」、「実施形態例」、「さまざまな実施形態」等への言及は、そのように記載する本発明の実施形態（複数可）が、特定の特徴、構造又は特性を含む場合もあるが、すべての実施形態が必ずしもその特定の特徴、構造又は特性を含むとは限らないことを示す。さらに、「１つの実施形態において」という句を繰り返し使用する場合、それは必ずしも同じ実施形態を指してはいないが、指している場合もある。
【０００８】
本明細書において、共通の対象を述べるための順序を表す形容詞「第１の」、「第２の」、「第３の」等を使用する場合、それは、特に明記しない限り、単に同様の対象の異なる事例を指していることを示し、そのように述べる対象が、時間的に、空間的に、順位付けにおいて、又は他の任意の様式において所与の順序でなければならないことを意味するようには意図されていない。
【０００９】
特に明確に述べない限り、以下の論考から明らかなように、明細書を通して、「処理」、「コンピューティング」、「計算」等の用語を利用する論考は、電子量等の物理量として表されるデータを操作し且つ／又は物理量と同様に表される他のデータに変換する、コンピュータ若しくはコンピューティングシステム又は同様の電子コンピューティングデバイスの動作及び／若しくはプロセスを指すということが理解される。
【００１０】
同様に、「プロセッサ」という用語は、レジスタ及び／又はメモリからの電子データを処理して、その電子データを、レジスタ及び／又はメモリに格納することができる他の電子データに変換する、任意のデバイス又はデバイスの一部を指してもよい。「コンピューティングプラットフォーム」は、１つ又は複数のプロセッサを含んでもよい。
【００１１】
図１は、本発明の一実施形態によるコンピューティングシステム１００の一部を示す。プロセッサ１０２は、バス１０６を介してメモリシステム１０４にコマンド及びデータを発行することができる。メモリシステム１０４は、メモリコントローラ１０８と不揮発性メモリの１つ又は複数のブロック１１０（１）〜（Ｎ）とを含む。メモリコントローラ１０８は、コマンドを受け取り、アドレス指示子を格納し、制御信号を構成し、ブロック１１０（１）〜（Ｎ）のうちの選択されたものに対する動作を実行することができる。
【００１２】
メモリシステム１０４は、揮発性メモリ１２２、電源喪失回復コントローラ１２４、不揮発性メモリ１２６及び電荷蓄積部１２８をさらに備える。揮発性メモリ１２２は、フリップフロップ、ランダムアクセスメモリ（ＲＡＭ）又は電源喪失中に持続しない他の揮発性記憶装置を含んでもよい。ブロック１１０及び不揮発性メモリ１２６は、たとえば、ＦＬＡＳＨメモリ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、強磁性体デジタルメモリ、相変化メモリ、カルコゲナイドメモリ、ポリマーメモリ等を含んでもよい。
【００１３】
アクティブ書込み動作又は他のこうした動作中、揮発性メモリ１２２に、電源喪失回復（ＰＬＲ）情報が格納される。電源喪失状態が検出されると、電源喪失回復コントローラ１２４は、電荷蓄積部１２８に蓄積された電力を利用して、揮発性メモリ１２２からのＰＬＲ情報を不揮発性メモリ１２６に書き込む。電源が復帰すると、電源喪失回復コントローラ１２４は、ＰＬＲ情報を不揮発性メモリ１２６から揮発性メモリ１２２に再びコピーする。ＰＬＲ情報を、プロセッサ１０２で動作しているソフトウェアが、ブロック１１０のうちの選択されたものに対するアクティブ動作の進行を追跡するために使用し、それにより、アクティブ動作中に電源が喪失した場合に、電源の回復時に動作を完了するか又は取り消すことができる。たとえば、ＰＬＲ情報は、アクティブ書込み動作を指示するように設定されるとともにアクティブ書込み動作の完了を指示するようにクリアされる１つ又は複数のビットを含んでもよい。さらに又は別法として、ＰＬＲ情報は、アクティブ書込み動作に関連するアドレス情報を含んでもよい。
【００１４】
電荷蓄積部１２８は、１つ又は複数のコンデンサを含んでもよい。利用可能なＰＬＲ情報のビットの数は、電源の喪失後にこれらのビットを不揮発性メモリにコピーするために蓄積される電荷によって制限される。電荷蓄積部１２８はまた、電源喪失回復情報が不揮発性メモリ１２６に格納されるまで揮発性メモリ１２２に電力を提供してもよい。さらに、電源の復帰時、プロセッサ１０２で動作しているソフトウェアは、揮発性メモリ１２２に格納されている電源喪失回復情報を検査し、中断された動作を完了するか又は補正するために適当な動作を行ってもよい。中断された動作が完了する後まで不揮発性メモリ１２６をクリアしないことにより、複数の電源喪失が操作される。電荷蓄積部１２８は、メモリシステム１０４を構成する単一シリコン内に組み込まれてもよく、メモリシステム１０４のパッケージ内部にあってもよく、又はたとえば相手先商標製品製造会社（original equipment manufacturer）（ＯＥＭ）によって提供される外部コンポーネントであってもよい。
【００１５】
揮発性メモリ１２２は、高速書込み能力、無制限のサイクリング及び低エネルギー書込みを提供することができる。本発明の１つの実施形態では、ＰＬＲ情報は、電源喪失時に維持されなければならない、書き換えられることが多い任意のタイプの情報を含んでもよい。たとえば、格納されるＰＬＲ情報は、セキュリティアプリケーションにおいて現乱数を含んでもよく、その場合、乱数は連続的に生成され、先の数は次の乱数を生成するためのシードとして使用される。他のタイプの情報には、呼出しタイマ情報、ホストサーバとのセッションキー、最新無線設定、システムの別のデバイスに格納されているデータに対する電源喪失回復ビット、単調カウンタの現在値等が含まれてもよい。
【００１６】
本発明の１つの実施形態では、ＰＬＲ情報は、そのＰＬＲ情報が使用中であるか使用されていないかを示すステータスビットを含んでもよい。電源が損失し且つＰＬＲ情報が使用中である場合、ステータスビットを含むＰＬＲ情報の内容は不揮発性メモリ１２６にコピーされ、それは、電源が回復するまで格納される。電源投入時、ステータスビットが、ＰＬＲ情報が使用中であることを示す場合、そのＰＬＲ情報は揮発性メモリ１２２にコピーされ、そこでソフトウェアは、そのＰＬＲ情報を利用して電源喪失イベントから回復することができる。
【００１７】
別々のコンポーネントとして示すが、揮発性メモリ１２２は、電源喪失回復コントローラ１２４の一部であってもよいということが理解されるべきである。さらに、電源喪失回復コントローラ１２４は、メモリコントローラ１０８の一部であってもよい。さらに、不揮発性メモリ１２６は、メモリブロック１１０の一部であってもよい。本発明は、この部脈に限定されない。
【００１８】
書込み動作に加えて、ブロック消去（Block Erase）、データ読出し（Read Data）、ステータス読出し（Read Status）等、プロセッサ１０２がバス１０６を介してメモリシステム１０４に発行する可能性のある他のさまざまなコマンドがあるということが理解されるべきである。電源喪失の検出を、書込み動作中とともにこれらの他のコマンドの間に、又は書込み動作中の代りにこれらの他のコマンドの間に実行してもよい。本発明は、この文脈に限定されない。
【００１９】
コンピューティングシステム１００は、限定されないが、いくつか挙げるとメインフレーム、ミニコンピュータ、サーバ、ワークステーション、パーソナルコンピュータ、ノートパッド、個人情報端末、携帯電話、１つ又は複数のアンテナ１１２を有してもよいさまざまな無線通信機器及び組込みシステムを含む、任意の数のコンピューティングシステム及び通信システムを表すように意図されている。
【００２０】
図２は、本発明の一実施形態による電源喪失回復のフローチャートを示す。通常のシステム動作中、現動作、たとえば書込み動作に関連する電源喪失回復情報が、揮発性記憶装置に格納される（ブロック２０２）。電源喪失状態について監視される（ブロック２０４）。電源喪失状態が検出されない場合、通常の動作が続く（ブロック２０２）。電源喪失状態が検出されると、電源喪失回復情報が、蓄積されたエネルギー源を使用して揮発性記憶装置から不揮発性記憶装置にコピーされる（ブロック２０６）。電源が復帰すると、電源喪失回復情報が不揮発性記憶装置から揮発性記憶装置にコピーされる（ブロック２０８）。ソフトウェアは、アクティブ動作が中断されたか否かを判断し、そうである場合、その動作を完了するか又は補正するように動作する（ブロック２１０）。
【００２１】
本発明の代替の実施形態では、電源喪失時、まず、揮発性記憶装置に格納された電源喪失回復情報が検査され、アクティブ動作が中断されたか否かが判断される。そうである場合、電源喪失回復情報が不揮発性記憶装置にコピーされる。そうでない場合、何も行われない。本発明は、この文脈に限定されない。
【００２２】
本発明の別の代替の実施形態では、電源回復時、アクティブ動作が中断されたか否かが判断される。そうである場合、電源喪失回復情報が揮発性記憶装置にコピーされる。そうでない場合、何も行われない。本発明はこの文脈に限定されない。
【００２３】
本発明の別の代替の実施形態では、電源回復時、ソフトウェアは、不揮発性メモリから直接ＰＬＲ情報を読み出し、揮発性メモリにその情報を再びコピーする必要をなくす。ソフトウェアは、動作を完了するか又は補正するように動作した後、不揮発性メモリをクリアしてもよい。本発明はこの文脈に限定されない。
【００２４】
本明細書で言及した動作は、モジュール又はモジュールの部分（たとえば、ソフトウェアモジュール、ファームウェアモジュール又はハードウェアモジュール）であってもよい。たとえば、本明細書で論考したソフトウェアモジュールは、スクリプトファイル、バッチファイル若しくは他の実行ファイル、又はこうしたファイルの組合せ及び／若しくは部分を含んでもよい。ソフトウェアモジュールは、コンピュータ読取可能媒体において符号化されるコンピュータプログラム又はそのサブルーチンを含んでもよい。
【００２５】
さらに、当業者は、モジュール間の境界は単に例示的なものであり、代替の実施形態はモジュールを併合するか又はモジュールの機能を選択的に分解させてもよい、ということを理解するであろう。たとえば、本明細書で論考したモジュールを、複数のコンピュータプロセスとして実行されるサブモジュールに分解してもよい。さらに、代替の実施形態は、特定のモジュール又はサブモジュールの複数のインスタンスを結合してもよい。さらに、当業者は、さまざまな実施形態で説明した動作が例示のためのものに過ぎないことを理解するであろう。動作を組合わせてもよく、又は動作の機能を、本発明によりさらなる動作に分散させてもよい。
【００２６】
本発明による具現化について、特定の実施形態の文脈で説明した。これらの実施形態は、例示的であるように意図されており、限定するようには意図されていない。多くの変形、変更、追加及び改善が可能である。したがって、本明細書において単一のインスタンスとして説明したコンポーネントに対し複数のインスタンスを提供してもよい。さまざまなコンポーネント、動作及びデータ記憶装置間の境界は幾分か任意であり、特定の例示的な構成の文脈において特定の動作が示されている。機能の他の割当てが考えられ、それらは添付の特許請求の範囲内にあり得る。最後に、さまざまな構成において別個のコンポーネントとして提示した構造及び機能を、組合された構造又はコンポーネントとして実装してもよい。これらの変形、変更、追加及び改善並びに他の変形、変更、追加及び改善は、添付の特許請求の範囲において規定されるように本発明の範囲内にあり得る。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態によるコンピューティングシステムの一部を示す図である。
【図２】本発明の一実施形態による電源喪失回復のフローチャートである。
【図１】
2008511913.tif 000003
【図２】
2008511913.tif 000004
【国際調査報告】
2008511913.tif 000005
2008511913.tif 000006