(57)【要約】  記憶システムにタイムスタンプを通信する方法の実施形態について記載されている。他の実施形態についても記載されている。
2012503836.tif 000002
【特許請求の範囲】
【請求項１】
記憶システムをタイムスタンプ化する方法であって：
タイムスタンプを受信して処理する前記記憶システムを特定する段階；
参照信号を与えるようにクロック生成器を選択する段階；
前記参照信号を参照して前記タイムスタンプを確立する段階；
前記タイムスタンプを有するデータパケットを生成する段階；
前記記憶システムに前記データパケットを送信する段階；及び
寿命予測を更新するように前記データパケットを処理する段階；
を有する方法。
【請求項２】
請求項１に記載の方法であって、イベントに応じて前記タイムスタンプを確立する段階を更に有する、方法。
【請求項３】
請求項２に記載の方法であって、前記イベントがタイムスタンプ化されるようになっているかどうかを判定する段階と、前記イベントがタイムスタンプ化されるようになっていることの判定に応じて、前記イベントを前記タイムスタンプでタイムスタンプ化する段階とを更に有する、方法。
【請求項４】
請求項２に記載の方法であって、前記イベントはパワーオンイベントである、方法。
【請求項５】
請求項１に記載の方法であって、前記タイムスタンプは時間Δである、方法。
【請求項６】
請求項１に記載の方法であって、前記記憶システムの記憶場所において前記データパケットを記憶する段階を更に有する、方法。
【請求項７】
請求項６に記載の方法であって、前記データパケットは、ログページを用いて前記記憶場所に記憶される、方法。
【請求項８】
タイムスタンプを通信するホストのための方法であって：
前記ホストによりトリガを検出する段階；
前記トリガの検出に応じて、タイムスタンプを有するコマンドパケットを生成する段階；
前記コマンドパケットが前記タイムスタンプを有することを示すように、前記コマンドパケットにフラグを立てる段階；
前記コマンドパケットを処理する記憶システムを特定する段階；及び
前記記憶システムにより前記コマンドパケットを処理する段階；
を有する方法。
【請求項９】
請求項８に記載の方法であって、前記コマンドパケットがフラグを立てるようになっているかどうかを判定する段階と、前記コマンドパケットがフラグを立てられるようになっていることの判定に応じて、前記コマンドパケットが前記タイムスタンプを有することを示すように、前記コマンドパケットにフラグを立てる段階とを更に有する、方法。
【請求項１０】
請求項９に記載の方法であって、前記トリガはパワーオンイベントである、方法。
【請求項１１】
請求項８に記載の方法であって、前記タイムスタンプは時間Δである、方法。
【請求項１２】
請求項８に記載の方法であって、前記記憶システムの保護される場所を割り当てる段階と、前記保護される場所に前記コマンドパケットを書き込む段階とを更に有する、方法。
【請求項１３】
請求項８に記載の方法であって、前記コマンドパケットは、ログページを用いて前記記憶システムに書き込まれる、方法。
【請求項１４】
アクセスされるときに、機械が動作を実行するようにする命令を与える機械アクセス可能媒体であって：
タイムスタンプを受信して処理する前記記憶システムを特定する段階；
参照信号を与えるようにクロック生成器を選択する段階；
前記参照信号を参照して前記タイムスタンプを確立する段階；
前記タイムスタンプを有するデータパケットを生成する段階；
前記記憶システムに前記データパケットを送信する段階；及び
寿命予測を更新するように前記データパケットを処理する段階；
を有する機械アクセス可能媒体。
【請求項１５】
請求項１４に記載の機械アクセス可能媒体であって、イベントに応じて前記タイムスタンプを確立する段階を更に有する、機械アクセス可能媒体。
【請求項１６】
請求項１５に記載の機械アクセス可能媒体であって、前記イベントがタイムスタンプ化されるようになっているかどうかを判定する段階と、前記イベントがタイムスタンプ化されるようになっていることの判定に応じて、前記イベントを前記タイムスタンプでタイムスタンプ化する段階とを更に有する、機械アクセス可能媒体。
【請求項１７】
請求項１５に記載の機械アクセス可能媒体であって、前記イベントはパワーオンイベントである、機械アクセス可能媒体。
【請求項１８】
請求項１４に記載の機械アクセス可能媒体であって、前記タイムスタンプは時間Δである、機械アクセス可能媒体。
【請求項１９】
請求項１４に記載の機械アクセス可能媒体であって、前記記憶システムの記憶場所において前記データパケットを記憶する段階を更に有する、機械アクセス可能媒体。
【請求項２０】
請求項１９に記載の機械アクセス可能媒体であって、前記データパケットは、ログページを用いて前記記憶場所に記憶される、機械アクセス可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ処理の分野に関し、特に、固体メモリ装置の寿命を管理し、寿命予測を改善するように、プラットフォームから記憶システムにタイムスタンプを送信する方法及び関連装置に関する。
【背景技術】
【０００２】
可搬型プラットフォーム及び相対的に固定されたプラットフォームは、中央演算処理装置（ＣＰＵ）をクロック生成器に結合された主回路基板、グラフィクスカード、ランダムアクセスメモリ（ＲＡＭ）、フラッシュ読み出し専用メモリ（ＲＯＭ）等の揮発性メモリ又は専用不揮発性（ＮＶ）メモリスペース、及びハードディスクドライブ（ＨＤＤ）等の高容量不揮発性メモリ装置等のハードウェア資源を有することが可能である。プラットフォームは、基本的な入力／出力システム（ＢＩＯＳ）、仮想マシンモニタ（ＶＭＭ）、及びＶＭＭにおいて実行する１つまたはそれ以上のゲストオペレーティングシステム（ＯＳ）等のソフトウェア資源も有することが可能である。オンボードメモリ又は取り外し可能低待ち時間メモリ等の代替のＮＶメモリが、プラットフォームの使用形式に依存して、ＨＤＤを置き換える又はＨＤＤを補完するように、プラットフォームに付加されることが可能である。
【０００３】
サーバ、デスクトップ、ラップトップ、ノートブック、モバイル及び他の可搬型装置を含む、経費効率が高く、低消費電力のプラットフォームは、複雑性が低く、費用が安価で、消費電力が最小であることを必要として進化してきている。プラットフォームは、より低い消費電力に適応するように、アイドル状態又はパワーダウン状態でしばしば動作する。ＮＡＮＤ等のＮＶメモリ装置に基づく一部の固体ディスクは、データ記憶特性が劣化する前に実行することが可能である複数のプログラム／消去サイクルを制限する耐久仕様を有する。時期尚早に耐久制限を越えないことを保証するために、制御装置は、特定の寿命においてサイクリング制限を越えないことを保証するように、適用されることが可能である。どのように及び／又はいつＳＳＤがその寿命を越えて用いられるかを示す、ＳＳＤの相対的状態を追跡する機構は、一定パワーオンの推定を回避するには十分ではない。
【０００４】
本発明の主題が、本明細書の結論部分において、特に示され、明確に記載されている。しかしながら、本発明は、構成及び動作方法の両方に関して、目的、特徴及び有利点と共に、添付図を参照して、以下の詳述を読むことにより十分に理解することができる。
【０００５】
図の簡単化及び明瞭化のために、図に示されている要素は必ずしも、スケーリングして描かれていない。例えば、要素の一部の寸法は、明確化のために他の要素に比べて誇張して描かれていることがある。更に、適切であるとみなされる場合には、参照番号は、対応する又は類似する要素を示すように、複数の図中で繰り返して用いられる。
【図面の簡単な説明】
【０００６】
【図１】オペレーティングシステムと通信する記憶システムのブロック図である。
【図２】オペレーティングシステムと通信する高容量記憶システム及び固体ディスクのブロック図である。
【図３】本発明の実施形態が実行されるプラットフォームを示すブロック図である。
【図４】タイムスタンプを通信するように用いられるコマンド待ち合わせフォーマット化コマンドの実施形態である。
【図５】記憶システムにタイムスタンプを通信する方法を示すフローチャートである。
【発明の概要】
【課題を解決するための手段】
【０００７】
以下の詳細説明においては、プラットフォームから記憶システムにタイムスタンプを通信する多くの特定の詳細が与えられて、本発明の全体を通して理解できるように記載されている。しかしながら、当業者は、それらの特定の詳細なしでも本発明が実行可能であることを理解することができる。他の実施例においては、既知の方法、手順、構成要素及び回路については、本発明を不明瞭にしないように、詳述していない。
【０００８】
プラットフォームからＳＳＤ等の記憶システムにタイムスタンプを通信することは、当該技術分野であって、特に、記憶システムが断続的に電力供給され、そして使用可能な寿命を支配する特徴に関連する時間及び／又はその特徴に基づく使用を有するアプリケーションにおいて、有利である。メモリ要素を有する記憶システムの実際の使用を反映する正確なデータを提供する低コストで高効率な方法は、記憶システムの寿命を延ばすことが可能である。このデータの使用は、その記憶システムの早過ぎる消耗を回避するように、メモリ要素の使用及び／又は消耗速度を記憶システムが追跡する及び／又は管理することを可能にする。例えば、その方法は、記憶システム内の１つ又はそれ以上の消費資源を管理するように、待機状態又は休止状態並びに／若しくはパワーオフ状態にあるどれ位の時間が期間中で経過したかを、記憶装置に報告して、記憶システムの予測される寿命を改善することが可能である。
【０００９】
プラットフォームから記憶システムにタイムスタンプを通信するそのような一方法は、タイムスタンプを受信して処理する記憶システムを特定することを有することが可能である。参照信号を供給することが可能であるクロックジェネレータが選択され、タイムスタンプがその参照信号に関連して確立される。そのタイムスタンプはデータパケットに書き込まれ、そのデータパケットは記憶システムに送信される。記憶システムはタイムスタンプを有するデータパケットを受信し、タイムスタンプは記憶システムにより処理される。タイムスタンプは単独の時間値であることが可能であり、及び／又はタイムスタンプは２つの時間値間の時間における変化であり、その結果、時間Δが得られる。時間Δは、記憶システムがパワーオフ状態、休止状態、待機モード又は他のアイドル状態にある間にどれ位時間が経過したかについて記憶システムに報告するタイムスタンプとして記憶システムに送信されることが可能である。記憶システムの寿命を管理して、消耗品のグループについての予算を更新し、記憶システムが、使用中に、パワーオフにされる、休止状態にある、アイドル状態にある又は他の状態にある時間を明らかにするように、複数のタイムスタンプを有するデータが用いられることが可能である。
【発明を実施するための形態】
【００１０】
図１は、オペレーティングシステム１１０と通信する記憶システムのブロック図である。オペレーティングシステム１１０は、プラットフォームの資源のアクティビティ及び共有化の管理及び調整を担う。オペレーティングシステム１１０は、プラットフォームで実行されるアプリケーションプログラムについてのホストとしての役割を果たす。ファイルシステム１２０は、データの記憶、組織化、ナビゲーション、アクセス及び検索のためのプラットフォームにより用いられるファイルを記憶して、組織化するように、オペレーティングシステム１１０とインタラクトする。この実施形態においては、ファイルシステム１２０はまた、ファイルの物理的記憶のためにフラッシュ（Ｆｆｌａｓｈ）管理ソフトウェア１３０を介して記憶システム１００とインタラクトする。例えば、記憶システム１００は、データの迅速な且つ繰り返しのアクセスのための不揮発性データ記憶位置及び／又はキャッシュ記憶位置として用いられることが可能である。
【００１１】
フラッシュ管理ソフトウェア１３０は、ファイルシステム１２０及び／又はオペレーティングシステム１１０が記憶システム１００とインタラクトすることを可能にするインタフェースを備えている。一実施形態においては、フラッシュ管理ソフトウェア１３０は、ＮＡＮＤメモリアレイにおける不良ブロックを管理し、より大きいブロックについての小さいブロックのエミュレーションを提供し、ウェア（ｗｅａｒ）レベリングアルゴリズムの適用を介してメモリアレイにおけるウェアの影響を緩和し、フラッシュ制御ドライバ１４０を介してあるファイルレベルにおいて記憶システム１００とのインタラクションを可能にするインタフェースを備える機構を備えることが可能である。
【００１２】
フラッシュ制御ドライバ１４０は、フラッシュ管理ソフトウェアからの高レベルのコマンドからフラッシュ制御器１５０に必要な低レベルのコマンドに変換するトランスレータとしての役割を果たすことにより、フラッシュ制御器１５０とフラッシュ管理ソフトウェア１３０がインタラクトすることを可能にするプログラムである。フラッシュ制御器１５０は一般に、フラッシュ装置１６０への及びフラッシュ装置１６０からのデータの転送及びエラー検出に加えて、読み取り、書き込み及び消去機能を提供するように用いられる。フラッシュ装置１６０に書き込まれた及びフラッシュ装置１６０から読み出されたデータは、メモリブロック又はセクタ等の物理的位置において１つ又はそれ以上のレジスタを用いて記憶されることが可能である。
【００１３】
代替として、記憶システム１００は、持続性データを記憶するように固体メモリを用いるＳＳＤ等のデータ記憶装置であることが可能である。ＳＳＤはハードディスクドライブをエミュレートすることが可能である一方、少ないアクセス回数及び待ち時間を与えることが可能である。この実施形態（図示せず）においては、フラッシュ管理ソフトウェア１３０は、ＳＳＤに、通常は、図２のプラットフォーム２００又はホストに対して透過性であるＳＳＤにおいて実行されるファームウェアの形で組み込まれる。ここでは、ファームウェアは、その機能を含む種々の機能を果たすことが可能であり、又は、フラッシュ管理ソフトウェアにより提供されることが可能である。
【００１４】
図２は、オペレーティングシステム１１０と通信する、図１の記憶システム１００の一実施形態である高容量記憶システム２４０及び固体ディスク（ＳＳＤ）２５０を有するプラットフォーム２００の論理レイアウトである。ＳＳＤ２５０は、図２に示す高容量記憶システム２４０を補完することが可能である。代替として、ＳＳＤ２５０は、他の実施形態において高容量記憶システム２４０についての要求を置き換えて、削除する役割を果たすことが可能である。機能上、オペレーティングシステム１１０は、オペレーティングシステム１１０を介して動作する１つ又はそれ以上のアプリケーション２１０とインタラクトしながら、固体ディスク２５０及び高容量記憶システム２４０に書き込み、そしてそれらから読み出す。一実施形態においては、それらのアプリケーション２１０は、言語処理、スプレッドシート、メディアプレーヤ、マトリクス記憶、及び１つ又はそれ以上の暗号能力を備えることが可能である。オペレーティングシステム１１０は、記憶管理ドライバ２２０を介して高容量記憶システム２４０とインタラクトし、メモリドライバ２３０の有無に拘わらず、固体ディスク２５０とインタラクトする。
【００１５】
記憶制御器２６０及び高容量記憶メモリ２８０を有する高容量記憶システム２４０の実施形態は、ディスクドライブ、ネットワーク化された記憶場所、テープドライブ、フロッピー（登録商標）ドライブ、若しくはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）及び／又はＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）リーダ及び／又はライタ等の光学ドライブ、又はそれらの組み合わせであることが可能である。固体ディスク２５０は、直列のＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、並列のＡＴＡ及び／又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを用いてプロセッサに接続されたフラッシュベースのドライブ、若しくは高速入力／出力（Ｉ／Ｏ）コントローラハブ（ＩＣＨ）又はプラットフォーム制御ハブ（ＰＣＨ）を用いてプロセッサに接続されたＩｎｔｅｌ（登録商標）ターボメモリであることが可能である。データは、シングルレベルセル（ＳＬＣ）フォーマット及び／又はマルチレベルセル（ＭＬＣ）フォーマットに記憶されることが可能である。代替の実施形態においては、固体ディスク２５０は、キャッシュ機能の読み出し及び／又は書き込みを提供し、短縮されたブート時間等のプラットフォーム２００の感応性を改善し、及び／又は例えば、ＨＤＤ機能を固体機能と置き換えることにより消費電力を節約するようにデザインされることが可能である。
【００１６】
図２においては、固体ディスク２５０は、直列のＡＴＡ又は集積された駆動エレクトロニクス制御器（図示せず）等のインタフェースに接続されたＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃｏｎｔｒｏｌｌｅｒ）であるＳＳＤ制御器２７０を有する。固体ディスク２５０はまた、１つ又はそれ以上のＮＡＮＤ及び／又はＮＯＲフラッシュ若しくは位相変化（ＰＣ）メモリ装置を有するＳＳＤメモリ２９０を有する。他の実施形態においては、固体ディスク２５０はまた、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）レベルのディスクのアクセスを処理するプリブートソフトウェアの形のディスクフィルタリングオプション読み出し専用メモリ（ＲＯＭ）及びメモリドライバ２３０を有することが可能である。更なる実施形態においては、固体ディスク２５０は、複数のアプリケーション２１０のうちのインストール及び／又はセットアップマトリクス記憶アプリケーションを用いて、プラットフォーム２００の高容量記憶システム２４０に固体ディスク２５０を結合することにより、高容量記憶システム２４０に関連付けられることが可能である。
【００１７】
図３は、本発明の実施形態が実行されることが可能であるプラットフォーム２００を示すブロック図である。プラットフォーム２００は、１つ又はそれ以上のシステムバス３０６若しくは他の通信経路又は媒体を介して種々の他の構成要素に通信可能に結合された、ここでは、ホスト又はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と称されるプロセッサ３０４等の種々のハードウェア構成要素３０２を有する可搬型ステーション又は相対的に固定されたシステムであることが可能である。例えば、プロセッサ３０４は、１つ又はそれ以上の揮発性又は不揮発性データ記憶装置（例えば、ＲＡＭ３０８、ＲＯＭ３１０、及び１つ又はそれ以上の高容量記憶システム２４０）に通信可能に結合されることが可能である。プロセッサ３０４は、１つ又はそれ以上のネットワークインタフェース制御器（ＮＩＣ）３１２、映像制御器、集積駆動エレクトロニクス（ＩＤＥ）制御器、小型コンピュータ用周辺機器インタフェース（ＳＣＳＩ）制御器、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）制御器、入力／出力（Ｉ／Ｏ）ポート、入力装置、ディスプレイ等の出力装置等に通信可能に結合されることも可能である。
【００１８】
図３の実施形態においては、プロセッサ３０４は、第１処理ユニット３１４及び第２処理ユニット３１６を有する。代替として、プラットフォーム２００は、１つの処理ユニット、又は各々が少なくとも１つの処理ユニットを有する複数のプロセッサを有することが可能である。複数の処理ユニットを有するシステムにおいては、それらの処理ユニットは、処理コアとして、ハイパースレッディング（ＨＴ）技術として、若しくは同時に又は実質的に同時に複数のスレッドを実行する何れかの他の適切な技術として、実行されることが可能である。
【００１９】
この実施形態においては、プラットフォーム２００は、リアルタイムのクロックを用いてリアルタイムに追跡し、クロック生成器３１８を有する。クロック生成器３１８は、プラットフォーム２００の同期動作で用いるタイミング信号を生成する、共振回路及び増幅器を有する回路であることが可能である。クロック生成器３１８からのタイミング信号は単純な対称的な矩形波であることが可能である。図３の実施形態においては、クロック生成器３１８は、システムバス３０６を介してプロセッサ３０４に通信可能に結合されたディスクリートモジュールである。代替として、クロック生成器３１８は、チップセット３２０を介してプロセッサ３０４に結合されることが可能であり、又はクロック生成器３１８はプロセッサ３０４の一部であることが可能である（図示していない）。
【００２０】
チップセット３２０は、複数のシステム構成要素を通信可能に結合する１つ又はそれ以上のブリッジ又はハブ並びに他の論理構成要素及び記憶構成要素を有することが可能である。図２の固体ディスク（ＳＳＤ）２５０はまた、システムバス３０６を介してプロセッサ３０４に通信可能に結合されることが可能であり、並びに／若しくは、固体ディスク２５０は、ＵＳＢポート又は直列のＡＴＡポート等のポートを介してプラットフォーム２００に結合されることが可能である。ＳＳＤ２５０は、システム時刻へのアクセスを既に有するホストドライバを更に有することが可能である。他の実施形態（図示せず）においては、ＳＳＤ２５０は、高容量記憶システム２４０と置き換えられることが可能である。
【００２１】
一部の構成要素は、バスにより通信するインタフェース（例えば、ＰＣＩコネクタ）によりアダプタカードとして実施されることが可能である。一実施形態においては、１つ又はそれ以上の装置は、プログラマブル又は非プログラマブル論理装置又はアレイ、ＡＳＩＣ、組み込み型コンピュータ、スマートカード等の構成要素を用いて、組み込み型制御器として実施されることが可能である。説明のために、用語“ＲＯＭ”は一般に、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュＲＯＭ、フラッシュメモリ等の不揮発性メモリデバイスのことをいうために用いられる。また、用語“バス”は、共有された通信経路及びポイントツーポイント経路のことをいう。
【００２２】
プラットフォーム２００は、少なくとも一部において、キーボード、マウス等の従来の入力装置により、並びに／若しくは、他の機械、生体フィードバック、他の入力源又は信号から受信された命令により制御される可能性がある。プラットフォーム２００は、ネットワークを介して、例えば、ＮＩＣ３１２、モデム、若しくは他の通信ポート又は結合等を介して、１つ又はそれ以上の遠隔のデータプラットフォームへの１つ又はそれ以上の接続を用いることが可能である。プラットフォーム２００は、物理的ネットワーク及び／又は論理ネットワーク３２２の使用を介して、例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イントラネット（登録商標）、インターネット等を介して、データ処理環境を構成するように相互接続されることが可能である。ネットワーク３２２を含む通信は、無線周波数（ＲＦ）、人工衛星、マイクロ波、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１，８０２．１６，８０２．２０、Ｂｌｕｅｔｏｏｔｈ，光、赤外線、ケーブル、レーザ等を含む、種々の有線及び／又は無線短距離キャリヤ又は長距離キャリヤを利用することが可能である。８０２．１６についてのプロトコルはまた、マイクロ波アクセスについての世界的相互運用性（ＷｉＭＡＸ）又は無線大都市圏ネットワーク（無線ＭＡＮ）プロトコルのことをいい、それらのプロトコルに関する情報は、ｇｒｏｕｐｅｒ．ｉｅｅｅ．ｏｒｇ／ｇｒｏｕｐｓ／８０２／１６／ｉｎｄｅｘ．ｈｔｍｌで現在、利用可能である。
【００２３】
本明細書の実施形態は、命令、機能、手順、データ構造、アプリケーションプログラム、構成設定等のデータに関連して説明されることが可能である。説明目的で、用語“プログラム”は、アプリケーション、ドライバ、処理、ルーチン、方法、モジュール及びサブプログラムを含むソフトウェア構成要素及び構成の広い範囲をカバーしている。用語“プログラム”は、完全なコンパイルユニット（即ち、独立してコンパイルされることが可能である命令の集合）、コンパイルユニットの集合又はコンパイルユニットの一部のことをいうように用いられることが可能である。従って、用語“プログラム”は、プラットフォーム２００により実行されるときに、好ましい１つの動作又は複数の動作を実行する何れかの複数の命令の集合のことをいうように用いられることが可能である。プラットフォーム２００のプログラムは、ソフトウェア環境３２４の構成要素とみなされることが可能である。
【００２４】
例えば、プラットフォーム２００が起動するとき、ＢＩＯＳ３２６はＲＡＭ３０８にロードされ、ソフトウェア環境３２４において実行されることが可能である。プラットフォーム２００はまた、ソフトウェア環境３２４においてＶＭＭ３２８及び／又は１つ又はそれ以上のＯＳ１１０をロードして、実行することが可能である。例えば、プラットフォーム２００が仮想化のために構成されていない場合、ＶＭＭ３２８は必要なく、複数のアプリケーションがＯＳ１１０に加えて実行されることが可能である。他の実施形態においては、ＶＭＭ３２８は、ソフトウェア環境における別個の仮想マシンにおいて、種々のゲストＯＳ及びユーザアプリケーションを始めることが可能である。
【００２５】
図４は、本発明の実施形態が実施されることが可能であるタイムスタンプを通信するように用いられるコマンドパケット４００又はデータパケットの実施形態である。タイムスタンプを通信するコマンドパケット４００は、複雑さが低減された非待ち合わせフォーマット化コマンドであることが可能であり、又は、代替として、付加的データパケットが含まれることを明示的に要求することなく、コマンドパケット４００自体に直接、タイムスタンプを組み込むＡＴＡ又は直列のＡＴＡ（ＳＡＴＡ）コマンドのような待ち合わせフォーマット化コマンドであることが可能である。ここでは、コマンドコード６４ｈとしてフォーマット化された一般非データコマンドが、コマンドパケット４００の機能にフラグを立てるようにレジスタセット４１０及び特徴レジスタ４２０により規定される。この実施形態におけるビット７（ｔ）４１５は、コマンドパケット４００が固体ディスク２５０に対してタイムスタンプを通信するように用いられていることを示すように、１の値に設定されることが可能である。オペレーティングシステム１１０は、コマンドパケット４００がフラグを立てられるようになっているかどうかを決定し、コマンドパケット４００がフラグを立てられるようになっていることの決定に応答して、コマンドパケット４００がタイムスタンプを有することを示すコマンドパケット４００にフラグを立てることが可能である。
【００２６】
図４のフォーマットに従って、コマンドパケット４００が他の機能について用いられる一方、他のフラグ値が特徴レジスタ４２０のビット６：０において予約されることを可能にする。コマンドパケット４００をタイムスタンプとして特定することは、タイムスタンプが、コマンドパケット４００の第１フィールド４３０及び第２フィールド４４０に入力されることを可能にする。セクタカウント４５０において規定されたＴＡＧ値４４５は、ＳＡＴＡネイティブコマンド待ち合わせ（ＮＣＱ）コマンドについての既存のフィールド規定と一致し、それにより、他のコマンドが固体ディスク２５０において未解決である間に、ＮＣＱコマンドが実行されることを可能にする。コマンドパケット４００はまた、組み込まれたコマンドの種類４７０により特徴付けられることが可能である。
【００２７】
図５は、本発明の実施形態が実施されることが可能である記憶システムにタイムスタンプを通信する方法を示すフローチャートである。段階５００においては、プラットフォーム２００は、例えば、タイムスタンプを記憶して、寿命予測を更新するためにそのタイムスタンプを認識することにより、タイムスタンプを受け入れて、処理することが可能である固体ディスク２５０のような１つ又はそれ以上の記憶システム１００を特定する。寿命予測は、時間測定又は類似するパラメータにより表される、単にＳＳＤ２５０に割り当てられた寿命であることが可能である。
【００２８】
例えば、タイムスタンプを受信して処理することは、ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥ又はＩＤＥＮＴＩＦＹ ＰＡＣＫＥＴ ＤＥＶＩＣＥの定義のもとで達成されることが可能である。一実施形態においては、タイムスタンプは、確立された時間単位、例えば、マイクロ秒の粒度を有する時間単位に従った参照信号に基づいて、タイムスタンプは６４ビット値である。他の実施形態においては、タイムスタンプは、月日及び／又は日時と関連付けられたリアルタイムの値である。更なる他の実施形態においては、タイムスタンプは、２つの時間の間の時間差を表す時間Δである。
【００２９】
プラットフォーム２００は、段階５１０において参照信号を与えるクロック生成器３１８を特定する。タイムスタンプは、段階５２０において参照信号に基づいて確立され、コマンドパケット４００又はデータパケットは、コマンドパケット４００に組み込まれたタイムスタンプにより構成される（段階５３０）。タイムスタンプ値を有するタイムスタンプは、プログラムに基づいて、又はイベントなどのトリガに応じて、周期的に確立されることが可能である。更に、オペレーティングシステム１１０は先ず、イベントがタイムスタンプ化されるようになっているかどうか、及びイベントがタイムスタンプ化されるようになっていることの判定に応じてそのイベントをタイムスタンプ値でタイムスタンプ化するかどうかを判定することが可能である。
【００３０】
タイムスタンプが１つ又はそれ以上の記憶システムにいつ及びどのように通信されるかのタイミングが、パワーオンイベント、パワーダウンイベント等の一事例によりトリガされることが可能であり、又は、ランタイムシステムイベント又はタイマーに基づく既知の反復であることが可能である。タイムスタンプは、一時間値であることが可能であり、及び／又は、タイムスタンプは、２つの時間値の間の時間差であり、その結果、時間Δであることが可能である。時間Δは、記憶システム１００がパワーオフされた、休止した、待機した、又はアイドリングモードにある間に時間がどれ位経過したかについて、記憶システム１００に報告するように、記憶システム１００に送信されることが可能である。
【００３１】
好適な実施形態においては、タイムスタンプは、固体ディスク２５０がパワーオフされた間に経過した時間量を追跡するように、提供される。例えば、プラットフォーム２００は、例えば、全ての時間サイクルにおいてタイムスタンプを通信する確立された方針に従って、イベントをタイムスタンプ化することが可能である。記憶場所が、固体ディスク２５０等の記憶システムにおいて特定され、組み込まれたタイムスタンプを有するコマンドパケット４００が、段階５４０において固体ディスク２５０に転送される。タイムスタンプ化されたコマンドパケット４００は、固体ディスク２５０により処理される。代替として、各々のコマンドパケット４００は、保護された場所の固体ディスク２５０に記憶されることが可能である。更に、各々のコマンドパケット４００は消去され、及び／又はもう一つのコマンドパケット又は他のデータにより上書きされることが可能である。固体ディスク２５０等の記憶システムにタイムスタンプを通信する代替の方法は、ログページを利用する通信チャネルを用いるようにすることが可能である。ＳＭＡＲＴ（Ｓｅｌｆ  Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）、汎用ロギング、ＳＭＡＲＴコマンド転送（ＳＣＴ）を含む１つ又はそれ以上のＡＴＡプロトコルは、割り当てられた又は予約されたログページ位置を介して記憶システムにおいてデータを得る又は記憶するために用いられることが可能である。典型的には、特定のログページアドレスは、長さが５１２バイトである。タイムスタンプは、タイムスタンプを記憶するように、全体のログページを又はログページの一部のみを用いることが可能である。タイムスタンプの通信は、割り当てられたログページレジスタを用いて規定されたプロトコルを介してＷＲＩＴＥ  ＬＯＧ  ＥＸＴ又はＷＲＩＴＥ  ＬＯＧ  ＤＭＡ  ＥＸＴ等の書き込みコマンドにより実行されることが可能である。
【００３２】
本明細書で説明している動作は、場合に応じて、ホストプロセッサ３０４及びマイクロ制御器におけるコード命令として実施される適切なファームウェア又はソフトウェアの実行を介して一般に容易化されることが可能である。従って、本発明の実施形態は、機械読み取り可能媒体において又は機械読み取り可能媒体内で実行される命令の集合を有することが可能である。機械読み取り可能媒体は、機械（例えば、コンピュータ）により読み取り可能な形式で情報を記憶する又は送信する何れかの機構を有する。例えば、機械読み取り可能媒体は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリ装置等の製品を含む。更に、機械読み出し媒体は、電気信号、光学的信号、音響信号、又は他の伝播信号の形態（例えば、搬送波、赤外線信号、ディジタル信号等）の伝播信号を有することが可能である。
【００３３】
同日提出の特許請求の範囲においては、用語“結合された”、“接続された”がそれらの派生語と共に用いられている。それらの用語は、互いに同義語として意図されていないことが理解される必要がある。むしろ、特定の実施形態においては、“接続された”は、２つ又はそれ以上の要素が互いと直接の物理的な又は電気的な接触状態にあるように用いられる一方、“結合された”は、２つ又はそれ以上の要素が互いと直接接していないが、互いと協働している又は相互作用することを意味する。
【００３４】
本明細書において、本発明の特定の特徴について、図示して詳述している一方、多くの修正、置き換え、変形及び同等のものについて、当業者は理解することができる。従って、同日提出の特許請求の範囲は、本発明の真の主旨の範囲内にある修正及び変形の全てをカバーするように意図されていることを理解することができる。
【図１】
2012503836.tif 000003
【図２】
2012503836.tif 000004
【図３】
2012503836.tif 000005
【図４】
2012503836.tif 000006
【図５】
2012503836.tif 000007
【国際調査報告】
2012503836.tif 000008
2012503836.tif 000009