JP2012503836A - 記憶システムにタイムスタンプを通信する方法 - Google Patents

記憶システムにタイムスタンプを通信する方法 Download PDF

Info

Publication number
JP2012503836A
JP2012503836A JP2011529297A JP2011529297A JP2012503836A JP 2012503836 A JP2012503836 A JP 2012503836A JP 2011529297 A JP2011529297 A JP 2011529297A JP 2011529297 A JP2011529297 A JP 2011529297A JP 2012503836 A JP2012503836 A JP 2012503836A
Authority
JP
Japan
Prior art keywords
storage system
time
time stamp
event
command packet
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.)
Pending
Application number
JP2011529297A
Other languages
English (en)
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 JP2012503836A publication Critical patent/JP2012503836A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

記憶システムにタイムスタンプを通信する方法の実施形態について記載されている。他の実施形態についても記載されている。

Description

本発明は、一般に、データ処理の分野に関し、特に、固体メモリ装置の寿命を管理し、寿命予測を改善するように、プラットフォームから記憶システムにタイムスタンプを送信する方法及び関連装置に関する。
可搬型プラットフォーム及び相対的に固定されたプラットフォームは、中央演算処理装置(CPU)をクロック生成器に結合された主回路基板、グラフィクスカード、ランダムアクセスメモリ(RAM)、フラッシュ読み出し専用メモリ(ROM)等の揮発性メモリ又は専用不揮発性(NV)メモリスペース、及びハードディスクドライブ(HDD)等の高容量不揮発性メモリ装置等のハードウェア資源を有することが可能である。プラットフォームは、基本的な入力/出力システム(BIOS)、仮想マシンモニタ(VMM)、及びVMMにおいて実行する1つまたはそれ以上のゲストオペレーティングシステム(OS)等のソフトウェア資源も有することが可能である。オンボードメモリ又は取り外し可能低待ち時間メモリ等の代替のNVメモリが、プラットフォームの使用形式に依存して、HDDを置き換える又はHDDを補完するように、プラットフォームに付加されることが可能である。
サーバ、デスクトップ、ラップトップ、ノートブック、モバイル及び他の可搬型装置を含む、経費効率が高く、低消費電力のプラットフォームは、複雑性が低く、費用が安価で、消費電力が最小であることを必要として進化してきている。プラットフォームは、より低い消費電力に適応するように、アイドル状態又はパワーダウン状態でしばしば動作する。NAND等のNVメモリ装置に基づく一部の固体ディスクは、データ記憶特性が劣化する前に実行することが可能である複数のプログラム/消去サイクルを制限する耐久仕様を有する。時期尚早に耐久制限を越えないことを保証するために、制御装置は、特定の寿命においてサイクリング制限を越えないことを保証するように、適用されることが可能である。どのように及び/又はいつSSDがその寿命を越えて用いられるかを示す、SSDの相対的状態を追跡する機構は、一定パワーオンの推定を回避するには十分ではない。
本発明の主題が、本明細書の結論部分において、特に示され、明確に記載されている。しかしながら、本発明は、構成及び動作方法の両方に関して、目的、特徴及び有利点と共に、添付図を参照して、以下の詳述を読むことにより十分に理解することができる。
図の簡単化及び明瞭化のために、図に示されている要素は必ずしも、スケーリングして描かれていない。例えば、要素の一部の寸法は、明確化のために他の要素に比べて誇張して描かれていることがある。更に、適切であるとみなされる場合には、参照番号は、対応する又は類似する要素を示すように、複数の図中で繰り返して用いられる。
オペレーティングシステムと通信する記憶システムのブロック図である。 オペレーティングシステムと通信する高容量記憶システム及び固体ディスクのブロック図である。 本発明の実施形態が実行されるプラットフォームを示すブロック図である。 タイムスタンプを通信するように用いられるコマンド待ち合わせフォーマット化コマンドの実施形態である。 記憶システムにタイムスタンプを通信する方法を示すフローチャートである。
以下の詳細説明においては、プラットフォームから記憶システムにタイムスタンプを通信する多くの特定の詳細が与えられて、本発明の全体を通して理解できるように記載されている。しかしながら、当業者は、それらの特定の詳細なしでも本発明が実行可能であることを理解することができる。他の実施例においては、既知の方法、手順、構成要素及び回路については、本発明を不明瞭にしないように、詳述していない。
プラットフォームからSSD等の記憶システムにタイムスタンプを通信することは、当該技術分野であって、特に、記憶システムが断続的に電力供給され、そして使用可能な寿命を支配する特徴に関連する時間及び/又はその特徴に基づく使用を有するアプリケーションにおいて、有利である。メモリ要素を有する記憶システムの実際の使用を反映する正確なデータを提供する低コストで高効率な方法は、記憶システムの寿命を延ばすことが可能である。このデータの使用は、その記憶システムの早過ぎる消耗を回避するように、メモリ要素の使用及び/又は消耗速度を記憶システムが追跡する及び/又は管理することを可能にする。例えば、その方法は、記憶システム内の1つ又はそれ以上の消費資源を管理するように、待機状態又は休止状態並びに/若しくはパワーオフ状態にあるどれ位の時間が期間中で経過したかを、記憶装置に報告して、記憶システムの予測される寿命を改善することが可能である。
プラットフォームから記憶システムにタイムスタンプを通信するそのような一方法は、タイムスタンプを受信して処理する記憶システムを特定することを有することが可能である。参照信号を供給することが可能であるクロックジェネレータが選択され、タイムスタンプがその参照信号に関連して確立される。そのタイムスタンプはデータパケットに書き込まれ、そのデータパケットは記憶システムに送信される。記憶システムはタイムスタンプを有するデータパケットを受信し、タイムスタンプは記憶システムにより処理される。タイムスタンプは単独の時間値であることが可能であり、及び/又はタイムスタンプは2つの時間値間の時間における変化であり、その結果、時間Δが得られる。時間Δは、記憶システムがパワーオフ状態、休止状態、待機モード又は他のアイドル状態にある間にどれ位時間が経過したかについて記憶システムに報告するタイムスタンプとして記憶システムに送信されることが可能である。記憶システムの寿命を管理して、消耗品のグループについての予算を更新し、記憶システムが、使用中に、パワーオフにされる、休止状態にある、アイドル状態にある又は他の状態にある時間を明らかにするように、複数のタイムスタンプを有するデータが用いられることが可能である。
図1は、オペレーティングシステム110と通信する記憶システムのブロック図である。オペレーティングシステム110は、プラットフォームの資源のアクティビティ及び共有化の管理及び調整を担う。オペレーティングシステム110は、プラットフォームで実行されるアプリケーションプログラムについてのホストとしての役割を果たす。ファイルシステム120は、データの記憶、組織化、ナビゲーション、アクセス及び検索のためのプラットフォームにより用いられるファイルを記憶して、組織化するように、オペレーティングシステム110とインタラクトする。この実施形態においては、ファイルシステム120はまた、ファイルの物理的記憶のためにフラッシュ(Fflash)管理ソフトウェア130を介して記憶システム100とインタラクトする。例えば、記憶システム100は、データの迅速な且つ繰り返しのアクセスのための不揮発性データ記憶位置及び/又はキャッシュ記憶位置として用いられることが可能である。
フラッシュ管理ソフトウェア130は、ファイルシステム120及び/又はオペレーティングシステム110が記憶システム100とインタラクトすることを可能にするインタフェースを備えている。一実施形態においては、フラッシュ管理ソフトウェア130は、NANDメモリアレイにおける不良ブロックを管理し、より大きいブロックについての小さいブロックのエミュレーションを提供し、ウェア(wear)レベリングアルゴリズムの適用を介してメモリアレイにおけるウェアの影響を緩和し、フラッシュ制御ドライバ140を介してあるファイルレベルにおいて記憶システム100とのインタラクションを可能にするインタフェースを備える機構を備えることが可能である。
フラッシュ制御ドライバ140は、フラッシュ管理ソフトウェアからの高レベルのコマンドからフラッシュ制御器150に必要な低レベルのコマンドに変換するトランスレータとしての役割を果たすことにより、フラッシュ制御器150とフラッシュ管理ソフトウェア130がインタラクトすることを可能にするプログラムである。フラッシュ制御器150は一般に、フラッシュ装置160への及びフラッシュ装置160からのデータの転送及びエラー検出に加えて、読み取り、書き込み及び消去機能を提供するように用いられる。フラッシュ装置160に書き込まれた及びフラッシュ装置160から読み出されたデータは、メモリブロック又はセクタ等の物理的位置において1つ又はそれ以上のレジスタを用いて記憶されることが可能である。
代替として、記憶システム100は、持続性データを記憶するように固体メモリを用いるSSD等のデータ記憶装置であることが可能である。SSDはハードディスクドライブをエミュレートすることが可能である一方、少ないアクセス回数及び待ち時間を与えることが可能である。この実施形態(図示せず)においては、フラッシュ管理ソフトウェア130は、SSDに、通常は、図2のプラットフォーム200又はホストに対して透過性であるSSDにおいて実行されるファームウェアの形で組み込まれる。ここでは、ファームウェアは、その機能を含む種々の機能を果たすことが可能であり、又は、フラッシュ管理ソフトウェアにより提供されることが可能である。
図2は、オペレーティングシステム110と通信する、図1の記憶システム100の一実施形態である高容量記憶システム240及び固体ディスク(SSD)250を有するプラットフォーム200の論理レイアウトである。SSD250は、図2に示す高容量記憶システム240を補完することが可能である。代替として、SSD250は、他の実施形態において高容量記憶システム240についての要求を置き換えて、削除する役割を果たすことが可能である。機能上、オペレーティングシステム110は、オペレーティングシステム110を介して動作する1つ又はそれ以上のアプリケーション210とインタラクトしながら、固体ディスク250及び高容量記憶システム240に書き込み、そしてそれらから読み出す。一実施形態においては、それらのアプリケーション210は、言語処理、スプレッドシート、メディアプレーヤ、マトリクス記憶、及び1つ又はそれ以上の暗号能力を備えることが可能である。オペレーティングシステム110は、記憶管理ドライバ220を介して高容量記憶システム240とインタラクトし、メモリドライバ230の有無に拘わらず、固体ディスク250とインタラクトする。
記憶制御器260及び高容量記憶メモリ280を有する高容量記憶システム240の実施形態は、ディスクドライブ、ネットワーク化された記憶場所、テープドライブ、フロッピー(登録商標)ドライブ、若しくはDVD(Digital Video Disk)及び/又はCD(Compact Disk)リーダ及び/又はライタ等の光学ドライブ、又はそれらの組み合わせであることが可能である。固体ディスク250は、直列のATA(Advanced Technology Attachment)、並列のATA及び/又はUSB(Universal Serial Bus)インタフェースを用いてプロセッサに接続されたフラッシュベースのドライブ、若しくは高速入力/出力(I/O)コントローラハブ(ICH)又はプラットフォーム制御ハブ(PCH)を用いてプロセッサに接続されたIntel(登録商標)ターボメモリであることが可能である。データは、シングルレベルセル(SLC)フォーマット及び/又はマルチレベルセル(MLC)フォーマットに記憶されることが可能である。代替の実施形態においては、固体ディスク250は、キャッシュ機能の読み出し及び/又は書き込みを提供し、短縮されたブート時間等のプラットフォーム200の感応性を改善し、及び/又は例えば、HDD機能を固体機能と置き換えることにより消費電力を節約するようにデザインされることが可能である。
図2においては、固体ディスク250は、直列のATA又は集積された駆動エレクトロニクス制御器(図示せず)等のインタフェースに接続されたASIC(Application Specific Integrated Circuit Controller)であるSSD制御器270を有する。固体ディスク250はまた、1つ又はそれ以上のNAND及び/又はNORフラッシュ若しくは位相変化(PC)メモリ装置を有するSSDメモリ290を有する。他の実施形態においては、固体ディスク250はまた、BIOS(Basic Input Output System)レベルのディスクのアクセスを処理するプリブートソフトウェアの形のディスクフィルタリングオプション読み出し専用メモリ(ROM)及びメモリドライバ230を有することが可能である。更なる実施形態においては、固体ディスク250は、複数のアプリケーション210のうちのインストール及び/又はセットアップマトリクス記憶アプリケーションを用いて、プラットフォーム200の高容量記憶システム240に固体ディスク250を結合することにより、高容量記憶システム240に関連付けられることが可能である。
図3は、本発明の実施形態が実行されることが可能であるプラットフォーム200を示すブロック図である。プラットフォーム200は、1つ又はそれ以上のシステムバス306若しくは他の通信経路又は媒体を介して種々の他の構成要素に通信可能に結合された、ここでは、ホスト又はCPU(Central Processing Unit)と称されるプロセッサ304等の種々のハードウェア構成要素302を有する可搬型ステーション又は相対的に固定されたシステムであることが可能である。例えば、プロセッサ304は、1つ又はそれ以上の揮発性又は不揮発性データ記憶装置(例えば、RAM308、ROM310、及び1つ又はそれ以上の高容量記憶システム240)に通信可能に結合されることが可能である。プロセッサ304は、1つ又はそれ以上のネットワークインタフェース制御器(NIC)312、映像制御器、集積駆動エレクトロニクス(IDE)制御器、小型コンピュータ用周辺機器インタフェース(SCSI)制御器、USB(Universal Serial Bus)制御器、入力/出力(I/O)ポート、入力装置、ディスプレイ等の出力装置等に通信可能に結合されることも可能である。
図3の実施形態においては、プロセッサ304は、第1処理ユニット314及び第2処理ユニット316を有する。代替として、プラットフォーム200は、1つの処理ユニット、又は各々が少なくとも1つの処理ユニットを有する複数のプロセッサを有することが可能である。複数の処理ユニットを有するシステムにおいては、それらの処理ユニットは、処理コアとして、ハイパースレッディング(HT)技術として、若しくは同時に又は実質的に同時に複数のスレッドを実行する何れかの他の適切な技術として、実行されることが可能である。
この実施形態においては、プラットフォーム200は、リアルタイムのクロックを用いてリアルタイムに追跡し、クロック生成器318を有する。クロック生成器318は、プラットフォーム200の同期動作で用いるタイミング信号を生成する、共振回路及び増幅器を有する回路であることが可能である。クロック生成器318からのタイミング信号は単純な対称的な矩形波であることが可能である。図3の実施形態においては、クロック生成器318は、システムバス306を介してプロセッサ304に通信可能に結合されたディスクリートモジュールである。代替として、クロック生成器318は、チップセット320を介してプロセッサ304に結合されることが可能であり、又はクロック生成器318はプロセッサ304の一部であることが可能である(図示していない)。
チップセット320は、複数のシステム構成要素を通信可能に結合する1つ又はそれ以上のブリッジ又はハブ並びに他の論理構成要素及び記憶構成要素を有することが可能である。図2の固体ディスク(SSD)250はまた、システムバス306を介してプロセッサ304に通信可能に結合されることが可能であり、並びに/若しくは、固体ディスク250は、USBポート又は直列のATAポート等のポートを介してプラットフォーム200に結合されることが可能である。SSD250は、システム時刻へのアクセスを既に有するホストドライバを更に有することが可能である。他の実施形態(図示せず)においては、SSD250は、高容量記憶システム240と置き換えられることが可能である。
一部の構成要素は、バスにより通信するインタフェース(例えば、PCIコネクタ)によりアダプタカードとして実施されることが可能である。一実施形態においては、1つ又はそれ以上の装置は、プログラマブル又は非プログラマブル論理装置又はアレイ、ASIC、組み込み型コンピュータ、スマートカード等の構成要素を用いて、組み込み型制御器として実施されることが可能である。説明のために、用語“ROM”は一般に、消去可能プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュROM、フラッシュメモリ等の不揮発性メモリデバイスのことをいうために用いられる。また、用語“バス”は、共有された通信経路及びポイントツーポイント経路のことをいう。
プラットフォーム200は、少なくとも一部において、キーボード、マウス等の従来の入力装置により、並びに/若しくは、他の機械、生体フィードバック、他の入力源又は信号から受信された命令により制御される可能性がある。プラットフォーム200は、ネットワークを介して、例えば、NIC312、モデム、若しくは他の通信ポート又は結合等を介して、1つ又はそれ以上の遠隔のデータプラットフォームへの1つ又はそれ以上の接続を用いることが可能である。プラットフォーム200は、物理的ネットワーク及び/又は論理ネットワーク322の使用を介して、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イントラネット(登録商標)、インターネット等を介して、データ処理環境を構成するように相互接続されることが可能である。ネットワーク322を含む通信は、無線周波数(RF)、人工衛星、マイクロ波、IEEE(Institute of Electrical and Electronics Engineers)802.11,802.16,802.20、Bluetooth,光、赤外線、ケーブル、レーザ等を含む、種々の有線及び/又は無線短距離キャリヤ又は長距離キャリヤを利用することが可能である。802.16についてのプロトコルはまた、マイクロ波アクセスについての世界的相互運用性(WiMAX)又は無線大都市圏ネットワーク(無線MAN)プロトコルのことをいい、それらのプロトコルに関する情報は、grouper.ieee.org/groups/802/16/index.htmlで現在、利用可能である。
本明細書の実施形態は、命令、機能、手順、データ構造、アプリケーションプログラム、構成設定等のデータに関連して説明されることが可能である。説明目的で、用語“プログラム”は、アプリケーション、ドライバ、処理、ルーチン、方法、モジュール及びサブプログラムを含むソフトウェア構成要素及び構成の広い範囲をカバーしている。用語“プログラム”は、完全なコンパイルユニット(即ち、独立してコンパイルされることが可能である命令の集合)、コンパイルユニットの集合又はコンパイルユニットの一部のことをいうように用いられることが可能である。従って、用語“プログラム”は、プラットフォーム200により実行されるときに、好ましい1つの動作又は複数の動作を実行する何れかの複数の命令の集合のことをいうように用いられることが可能である。プラットフォーム200のプログラムは、ソフトウェア環境324の構成要素とみなされることが可能である。
例えば、プラットフォーム200が起動するとき、BIOS326はRAM308にロードされ、ソフトウェア環境324において実行されることが可能である。プラットフォーム200はまた、ソフトウェア環境324においてVMM328及び/又は1つ又はそれ以上のOS110をロードして、実行することが可能である。例えば、プラットフォーム200が仮想化のために構成されていない場合、VMM328は必要なく、複数のアプリケーションがOS110に加えて実行されることが可能である。他の実施形態においては、VMM328は、ソフトウェア環境における別個の仮想マシンにおいて、種々のゲストOS及びユーザアプリケーションを始めることが可能である。
図4は、本発明の実施形態が実施されることが可能であるタイムスタンプを通信するように用いられるコマンドパケット400又はデータパケットの実施形態である。タイムスタンプを通信するコマンドパケット400は、複雑さが低減された非待ち合わせフォーマット化コマンドであることが可能であり、又は、代替として、付加的データパケットが含まれることを明示的に要求することなく、コマンドパケット400自体に直接、タイムスタンプを組み込むATA又は直列のATA(SATA)コマンドのような待ち合わせフォーマット化コマンドであることが可能である。ここでは、コマンドコード64hとしてフォーマット化された一般非データコマンドが、コマンドパケット400の機能にフラグを立てるようにレジスタセット410及び特徴レジスタ420により規定される。この実施形態におけるビット7(t)415は、コマンドパケット400が固体ディスク250に対してタイムスタンプを通信するように用いられていることを示すように、1の値に設定されることが可能である。オペレーティングシステム110は、コマンドパケット400がフラグを立てられるようになっているかどうかを決定し、コマンドパケット400がフラグを立てられるようになっていることの決定に応答して、コマンドパケット400がタイムスタンプを有することを示すコマンドパケット400にフラグを立てることが可能である。
図4のフォーマットに従って、コマンドパケット400が他の機能について用いられる一方、他のフラグ値が特徴レジスタ420のビット6:0において予約されることを可能にする。コマンドパケット400をタイムスタンプとして特定することは、タイムスタンプが、コマンドパケット400の第1フィールド430及び第2フィールド440に入力されることを可能にする。セクタカウント450において規定されたTAG値445は、SATAネイティブコマンド待ち合わせ(NCQ)コマンドについての既存のフィールド規定と一致し、それにより、他のコマンドが固体ディスク250において未解決である間に、NCQコマンドが実行されることを可能にする。コマンドパケット400はまた、組み込まれたコマンドの種類470により特徴付けられることが可能である。
図5は、本発明の実施形態が実施されることが可能である記憶システムにタイムスタンプを通信する方法を示すフローチャートである。段階500においては、プラットフォーム200は、例えば、タイムスタンプを記憶して、寿命予測を更新するためにそのタイムスタンプを認識することにより、タイムスタンプを受け入れて、処理することが可能である固体ディスク250のような1つ又はそれ以上の記憶システム100を特定する。寿命予測は、時間測定又は類似するパラメータにより表される、単にSSD250に割り当てられた寿命であることが可能である。
例えば、タイムスタンプを受信して処理することは、IDENTIFY DEVICE又はIDENTIFY PACKET DEVICEの定義のもとで達成されることが可能である。一実施形態においては、タイムスタンプは、確立された時間単位、例えば、マイクロ秒の粒度を有する時間単位に従った参照信号に基づいて、タイムスタンプは64ビット値である。他の実施形態においては、タイムスタンプは、月日及び/又は日時と関連付けられたリアルタイムの値である。更なる他の実施形態においては、タイムスタンプは、2つの時間の間の時間差を表す時間Δである。
プラットフォーム200は、段階510において参照信号を与えるクロック生成器318を特定する。タイムスタンプは、段階520において参照信号に基づいて確立され、コマンドパケット400又はデータパケットは、コマンドパケット400に組み込まれたタイムスタンプにより構成される(段階530)。タイムスタンプ値を有するタイムスタンプは、プログラムに基づいて、又はイベントなどのトリガに応じて、周期的に確立されることが可能である。更に、オペレーティングシステム110は先ず、イベントがタイムスタンプ化されるようになっているかどうか、及びイベントがタイムスタンプ化されるようになっていることの判定に応じてそのイベントをタイムスタンプ値でタイムスタンプ化するかどうかを判定することが可能である。
タイムスタンプが1つ又はそれ以上の記憶システムにいつ及びどのように通信されるかのタイミングが、パワーオンイベント、パワーダウンイベント等の一事例によりトリガされることが可能であり、又は、ランタイムシステムイベント又はタイマーに基づく既知の反復であることが可能である。タイムスタンプは、一時間値であることが可能であり、及び/又は、タイムスタンプは、2つの時間値の間の時間差であり、その結果、時間Δであることが可能である。時間Δは、記憶システム100がパワーオフされた、休止した、待機した、又はアイドリングモードにある間に時間がどれ位経過したかについて、記憶システム100に報告するように、記憶システム100に送信されることが可能である。
好適な実施形態においては、タイムスタンプは、固体ディスク250がパワーオフされた間に経過した時間量を追跡するように、提供される。例えば、プラットフォーム200は、例えば、全ての時間サイクルにおいてタイムスタンプを通信する確立された方針に従って、イベントをタイムスタンプ化することが可能である。記憶場所が、固体ディスク250等の記憶システムにおいて特定され、組み込まれたタイムスタンプを有するコマンドパケット400が、段階540において固体ディスク250に転送される。タイムスタンプ化されたコマンドパケット400は、固体ディスク250により処理される。代替として、各々のコマンドパケット400は、保護された場所の固体ディスク250に記憶されることが可能である。更に、各々のコマンドパケット400は消去され、及び/又はもう一つのコマンドパケット又は他のデータにより上書きされることが可能である。固体ディスク250等の記憶システムにタイムスタンプを通信する代替の方法は、ログページを利用する通信チャネルを用いるようにすることが可能である。SMART(Self Monitoring Analysis and Reporting Technology)、汎用ロギング、SMARTコマンド転送(SCT)を含む1つ又はそれ以上のATAプロトコルは、割り当てられた又は予約されたログページ位置を介して記憶システムにおいてデータを得る又は記憶するために用いられることが可能である。典型的には、特定のログページアドレスは、長さが512バイトである。タイムスタンプは、タイムスタンプを記憶するように、全体のログページを又はログページの一部のみを用いることが可能である。タイムスタンプの通信は、割り当てられたログページレジスタを用いて規定されたプロトコルを介してWRITE LOG EXT又はWRITE LOG DMA EXT等の書き込みコマンドにより実行されることが可能である。
本明細書で説明している動作は、場合に応じて、ホストプロセッサ304及びマイクロ制御器におけるコード命令として実施される適切なファームウェア又はソフトウェアの実行を介して一般に容易化されることが可能である。従って、本発明の実施形態は、機械読み取り可能媒体において又は機械読み取り可能媒体内で実行される命令の集合を有することが可能である。機械読み取り可能媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶する又は送信する何れかの機構を有する。例えば、機械読み取り可能媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリ装置等の製品を含む。更に、機械読み出し媒体は、電気信号、光学的信号、音響信号、又は他の伝播信号の形態(例えば、搬送波、赤外線信号、ディジタル信号等)の伝播信号を有することが可能である。
同日提出の特許請求の範囲においては、用語“結合された”、“接続された”がそれらの派生語と共に用いられている。それらの用語は、互いに同義語として意図されていないことが理解される必要がある。むしろ、特定の実施形態においては、“接続された”は、2つ又はそれ以上の要素が互いと直接の物理的な又は電気的な接触状態にあるように用いられる一方、“結合された”は、2つ又はそれ以上の要素が互いと直接接していないが、互いと協働している又は相互作用することを意味する。
本明細書において、本発明の特定の特徴について、図示して詳述している一方、多くの修正、置き換え、変形及び同等のものについて、当業者は理解することができる。従って、同日提出の特許請求の範囲は、本発明の真の主旨の範囲内にある修正及び変形の全てをカバーするように意図されていることを理解することができる。

Claims (20)

  1. 記憶システムをタイムスタンプ化する方法であって:
    タイムスタンプを受信して処理する前記記憶システムを特定する段階;
    参照信号を与えるようにクロック生成器を選択する段階;
    前記参照信号を参照して前記タイムスタンプを確立する段階;
    前記タイムスタンプを有するデータパケットを生成する段階;
    前記記憶システムに前記データパケットを送信する段階;及び
    寿命予測を更新するように前記データパケットを処理する段階;
    を有する方法。
  2. 請求項1に記載の方法であって、イベントに応じて前記タイムスタンプを確立する段階を更に有する、方法。
  3. 請求項2に記載の方法であって、前記イベントがタイムスタンプ化されるようになっているかどうかを判定する段階と、前記イベントがタイムスタンプ化されるようになっていることの判定に応じて、前記イベントを前記タイムスタンプでタイムスタンプ化する段階とを更に有する、方法。
  4. 請求項2に記載の方法であって、前記イベントはパワーオンイベントである、方法。
  5. 請求項1に記載の方法であって、前記タイムスタンプは時間Δである、方法。
  6. 請求項1に記載の方法であって、前記記憶システムの記憶場所において前記データパケットを記憶する段階を更に有する、方法。
  7. 請求項6に記載の方法であって、前記データパケットは、ログページを用いて前記記憶場所に記憶される、方法。
  8. タイムスタンプを通信するホストのための方法であって:
    前記ホストによりトリガを検出する段階;
    前記トリガの検出に応じて、タイムスタンプを有するコマンドパケットを生成する段階;
    前記コマンドパケットが前記タイムスタンプを有することを示すように、前記コマンドパケットにフラグを立てる段階;
    前記コマンドパケットを処理する記憶システムを特定する段階;及び
    前記記憶システムにより前記コマンドパケットを処理する段階;
    を有する方法。
  9. 請求項8に記載の方法であって、前記コマンドパケットがフラグを立てるようになっているかどうかを判定する段階と、前記コマンドパケットがフラグを立てられるようになっていることの判定に応じて、前記コマンドパケットが前記タイムスタンプを有することを示すように、前記コマンドパケットにフラグを立てる段階とを更に有する、方法。
  10. 請求項9に記載の方法であって、前記トリガはパワーオンイベントである、方法。
  11. 請求項8に記載の方法であって、前記タイムスタンプは時間Δである、方法。
  12. 請求項8に記載の方法であって、前記記憶システムの保護される場所を割り当てる段階と、前記保護される場所に前記コマンドパケットを書き込む段階とを更に有する、方法。
  13. 請求項8に記載の方法であって、前記コマンドパケットは、ログページを用いて前記記憶システムに書き込まれる、方法。
  14. アクセスされるときに、機械が動作を実行するようにする命令を与える機械アクセス可能媒体であって:
    タイムスタンプを受信して処理する前記記憶システムを特定する段階;
    参照信号を与えるようにクロック生成器を選択する段階;
    前記参照信号を参照して前記タイムスタンプを確立する段階;
    前記タイムスタンプを有するデータパケットを生成する段階;
    前記記憶システムに前記データパケットを送信する段階;及び
    寿命予測を更新するように前記データパケットを処理する段階;
    を有する機械アクセス可能媒体。
  15. 請求項14に記載の機械アクセス可能媒体であって、イベントに応じて前記タイムスタンプを確立する段階を更に有する、機械アクセス可能媒体。
  16. 請求項15に記載の機械アクセス可能媒体であって、前記イベントがタイムスタンプ化されるようになっているかどうかを判定する段階と、前記イベントがタイムスタンプ化されるようになっていることの判定に応じて、前記イベントを前記タイムスタンプでタイムスタンプ化する段階とを更に有する、機械アクセス可能媒体。
  17. 請求項15に記載の機械アクセス可能媒体であって、前記イベントはパワーオンイベントである、機械アクセス可能媒体。
  18. 請求項14に記載の機械アクセス可能媒体であって、前記タイムスタンプは時間Δである、機械アクセス可能媒体。
  19. 請求項14に記載の機械アクセス可能媒体であって、前記記憶システムの記憶場所において前記データパケットを記憶する段階を更に有する、機械アクセス可能媒体。
  20. 請求項19に記載の機械アクセス可能媒体であって、前記データパケットは、ログページを用いて前記記憶場所に記憶される、機械アクセス可能媒体。
JP2011529297A 2008-09-30 2009-09-28 記憶システムにタイムスタンプを通信する方法 Pending JP2012503836A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/286,502 US9727473B2 (en) 2008-09-30 2008-09-30 Methods to communicate a timestamp to a storage system
US12/286,502 2008-09-30
PCT/US2009/058533 WO2010039626A2 (en) 2008-09-30 2009-09-28 Methods to communicate a timestamp to a storage system

Publications (1)

Publication Number Publication Date
JP2012503836A true JP2012503836A (ja) 2012-02-09

Family

ID=42058889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011529297A Pending JP2012503836A (ja) 2008-09-30 2009-09-28 記憶システムにタイムスタンプを通信する方法

Country Status (7)

Country Link
US (2) US9727473B2 (ja)
EP (1) EP2335145B1 (ja)
JP (1) JP2012503836A (ja)
KR (1) KR20110048066A (ja)
CN (1) CN102165406B (ja)
TW (1) TWI423005B (ja)
WO (1) WO2010039626A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106174A (ja) * 2017-12-14 2019-06-27 インテル・コーポレーション 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727473B2 (en) 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
US8468524B2 (en) * 2010-10-13 2013-06-18 Lsi Corporation Inter-virtual machine time profiling of I/O transactions
CN102789368B (zh) * 2012-06-21 2015-10-21 记忆科技(深圳)有限公司 一种固态硬盘及其数据管理方法、系统
US9940151B2 (en) 2013-03-15 2018-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Hypervisor and physical machine and respective methods therein for performance measurement
US9268495B2 (en) 2013-03-15 2016-02-23 Apple Inc. Managing I/O priorities
US9043569B2 (en) 2013-05-31 2015-05-26 International Business Machines Corporation Memory data management
CN103559054B (zh) * 2013-10-30 2017-10-10 华为终端有限公司 智能终端多操作系统的实现、删除方法和装置
US9772959B2 (en) 2014-05-30 2017-09-26 Apple Inc. I/O scheduling
US9766819B2 (en) * 2014-12-30 2017-09-19 Sandisk Technologies Llc Systems and methods for managing storage endurance
US10061377B2 (en) * 2015-02-06 2018-08-28 Toshiba Memory Corporation Memory device and information processing device
US10211673B2 (en) 2015-03-04 2019-02-19 Siemens Industry, Inc. Apparatus and methods for timestamping electrical data in a panel meter
TWI559163B (zh) * 2015-03-27 2016-11-21 Nobuyoshi Morimoto Time stamped digital content protection methods and systems
US10025535B2 (en) * 2015-03-27 2018-07-17 Intel Corporation Measurement and reporting of the latency of input and output operations by a solid state drive to a host
CN107817502B (zh) * 2016-09-14 2020-08-07 北京百度网讯科技有限公司 激光点云数据处理方法和装置
US11012955B2 (en) 2018-03-20 2021-05-18 International Business Machines Corporation Synchronization of host and client log timestamps
US10956068B2 (en) 2018-05-11 2021-03-23 Seagate Technology Llc Time-stamped data in a data storage device
US10719243B2 (en) 2018-05-30 2020-07-21 Apple Inc. Techniques for preserving an expected lifespan of a non-volatile memory
US11475652B2 (en) 2020-06-30 2022-10-18 Samsung Electronics Co., Ltd. Automatic representation toggling based on depth camera field of view
US11422825B2 (en) * 2020-12-30 2022-08-23 Kioxia Corporation Determination of power-off duration of NVMe SSD
US11636199B2 (en) 2021-04-12 2023-04-25 Realtek Singapore Pte Ltd. Real time clock with integrated anti-rollback protection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032271A (ja) * 2000-07-14 2002-01-31 Ricoh Co Ltd 情報処理装置
JP2003196613A (ja) * 2001-12-27 2003-07-11 Toshiba Corp メモリカードを制御するための装置および方法
JP2004030534A (ja) * 2002-06-28 2004-01-29 Toshiba Corp ディスク記憶装置及び事象管理方法
JP2004246749A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 記憶装置システム
JP2004342168A (ja) * 2003-05-13 2004-12-02 Sony Corp ディスク型記録装置を内蔵する装置を内蔵する装置及びディスク型記録装置の制御方法、並びにコンピュータ・プログラム
US20050036512A1 (en) * 2003-08-14 2005-02-17 Dmitrii Loukianov Timestamping network controller for streaming media applications
US20070260811A1 (en) * 2006-05-08 2007-11-08 Merry David E Jr Systems and methods for measuring the useful life of solid-state storage devices

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0935255A2 (en) * 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
US5941989A (en) * 1997-01-07 1999-08-24 Micron Electronics, Inc. Apparatus for indicating power-consumption status in a computer system
JP2001036549A (ja) 1999-07-15 2001-02-09 Toshiba Corp データ処理システムおよびタイムスタンプ生成方法
US6405329B1 (en) * 1999-07-27 2002-06-11 Dell Usa, L.P. Method and apparatus for HDD time stamp benchmark and installation identification
US6693888B2 (en) * 2001-06-06 2004-02-17 Networks Associates Technology, Inc. Method and apparatus for filtering that specifies the types of frames to be captured and to be displayed for an IEEE802.11 wireless LAN
JP4434543B2 (ja) * 2002-01-10 2010-03-17 株式会社日立製作所 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US20030185238A1 (en) 2002-04-01 2003-10-02 Strasser David A. System for maintaining original delivery times in transport packets and method thereof
US7418356B2 (en) * 2002-09-23 2008-08-26 Research In Motion Limited System and method of battery capacity estimation
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
AU2002953325A0 (en) * 2002-12-13 2003-01-09 Executive Computing Holdings Pty Ltd Means for providing protection for digital assets
US7523139B1 (en) * 2003-05-02 2009-04-21 Symantec Operating Corporation Volume server and volume owner communication protocol in a distributed storage management system
JP2004341755A (ja) * 2003-05-15 2004-12-02 Hitachi Ltd 情報処理装置
US7174421B2 (en) * 2003-12-04 2007-02-06 Matsushita Electric Industrial Co., Ltd. HDD with rapid availability of critical data after critical event
US20060080574A1 (en) * 2004-10-08 2006-04-13 Yasushi Saito Redundant data storage reconfiguration
US7363444B2 (en) * 2005-01-10 2008-04-22 Hewlett-Packard Development Company, L.P. Method for taking snapshots of data
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7539882B2 (en) * 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
KR100660546B1 (ko) * 2005-11-10 2006-12-22 삼성전자주식회사 반도체 디스크 제어 장치
US20070110027A1 (en) 2005-11-15 2007-05-17 Mediatek Incorporation Systems and methods for processing packet streams
US7835823B2 (en) * 2006-01-05 2010-11-16 Intuitive Surgical Operations, Inc. Method for tracking and reporting usage events to determine when preventive maintenance is due for a medical robotic system
JP2009538101A (ja) 2006-05-19 2009-10-29 シンメトリコム・インコーポレイテッド ネットワークタイムプロトコル精密タイムスタンプサービス
US20080126685A1 (en) * 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US20100115175A9 (en) * 2006-12-18 2010-05-06 Zhiqing Zhuang Method of managing a large array of non-volatile memories
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8069354B2 (en) * 2007-08-14 2011-11-29 Mips Technologies, Inc. Power management for system having one or more integrated circuits
JP2009104687A (ja) * 2007-10-22 2009-05-14 Fujitsu Ltd 記憶装置及び制御回路
US8209465B2 (en) * 2007-10-30 2012-06-26 Hagiwara Sys-Com Co., Ltd. Data writing method
US7970946B1 (en) * 2007-11-27 2011-06-28 Google Inc. Recording and serializing events
US7880591B2 (en) * 2008-02-01 2011-02-01 Apple Inc. Consumer abuse detection system and method
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US8285919B2 (en) * 2008-05-27 2012-10-09 Initio Corporation SSD with improved bad block management
US8554983B2 (en) * 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US8244961B2 (en) * 2008-05-27 2012-08-14 Initio Corporation SSD with distributed processors
US8195867B2 (en) * 2008-06-06 2012-06-05 International Business Machines Corporation Controlled shut-down of partitions within a shared memory partition data processing system
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8140884B2 (en) * 2008-07-18 2012-03-20 Verisign, Inc. Efficient time-based memory counters
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
US9727473B2 (en) 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
US8291181B2 (en) * 2008-10-28 2012-10-16 Micron Technology, Inc. Temporary mirroring, logical segregation, and redundant programming or addressing for solid state drive operation
US20100268694A1 (en) * 2009-04-17 2010-10-21 Laurent Denoue System and method for sharing web applications
US8055943B2 (en) * 2009-04-24 2011-11-08 International Business Machines Corporation Synchronous and asynchronous continuous data protection
US8433931B2 (en) * 2009-05-13 2013-04-30 Microsoft Corporation Integrating energy budgets for power management
US8151137B2 (en) * 2009-05-28 2012-04-03 Lsi Corporation Systems and methods for governing the life cycle of a solid state drive
US8289801B2 (en) * 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US20170285970A1 (en) * 2016-03-30 2017-10-05 Dell Products L.P. Information Handling System Persistent Storage Device Life Management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032271A (ja) * 2000-07-14 2002-01-31 Ricoh Co Ltd 情報処理装置
JP2003196613A (ja) * 2001-12-27 2003-07-11 Toshiba Corp メモリカードを制御するための装置および方法
JP2004030534A (ja) * 2002-06-28 2004-01-29 Toshiba Corp ディスク記憶装置及び事象管理方法
JP2004246749A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 記憶装置システム
JP2004342168A (ja) * 2003-05-13 2004-12-02 Sony Corp ディスク型記録装置を内蔵する装置を内蔵する装置及びディスク型記録装置の制御方法、並びにコンピュータ・プログラム
US20050036512A1 (en) * 2003-08-14 2005-02-17 Dmitrii Loukianov Timestamping network controller for streaming media applications
US20070260811A1 (en) * 2006-05-08 2007-11-08 Merry David E Jr Systems and methods for measuring the useful life of solid-state storage devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106174A (ja) * 2017-12-14 2019-06-27 インテル・コーポレーション 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ
JP7235226B2 (ja) 2017-12-14 2023-03-08 インテル・コーポレーション 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ

Also Published As

Publication number Publication date
WO2010039626A2 (en) 2010-04-08
TWI423005B (zh) 2014-01-11
CN102165406A (zh) 2011-08-24
EP2335145B1 (en) 2019-03-20
US20170329537A1 (en) 2017-11-16
WO2010039626A3 (en) 2010-07-01
US9727473B2 (en) 2017-08-08
US10261701B2 (en) 2019-04-16
CN102165406B (zh) 2014-03-12
KR20110048066A (ko) 2011-05-09
US20100082995A1 (en) 2010-04-01
EP2335145A4 (en) 2012-08-08
EP2335145A2 (en) 2011-06-22
TW201027295A (en) 2010-07-16

Similar Documents

Publication Publication Date Title
US10261701B2 (en) Methods to communicate a timestamp to a storage system
KR101524096B1 (ko) 호스트가 볼 때 디바이스 펌웨어 업데이트 효과들의 관리
KR101798036B1 (ko) I/o 디바이스 및 컴퓨팅 호스팅 상호동작
KR101385872B1 (ko) 호스트로부터의 메모리 장치의 부팅
US11663133B2 (en) Memory tiering using PCIe connected far memory
KR102114109B1 (ko) 데이터 저장 장치
TW201508463A (zh) 裝置功率控制
KR20190022933A (ko) 하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법
US20140129759A1 (en) Low power write journaling storage system
Huffman et al. The nonvolatile memory transformation of client storage
US20110082987A1 (en) Systems and Methods for Power State Transitioning in an Information Handling System
US20090222614A1 (en) Information processing apparatus and nonvolatile semiconductor memory drive
Li GreenDM: A versatile tiering hybrid drive for the trade-off evaluation of performance, energy, and endurance
Wang et al. Evaluating non-in-place update techniques for flash-based transaction processing systems
US20220083280A1 (en) Method and apparatus to reduce latency for random read workloads in a solid state drive
TWI793774B (zh) 固態硬碟裝置的除錯方法及裝置以及電腦程式產品
US20230063167A1 (en) Internal resource monitoring in memory devices
WO2009107285A1 (en) Information processing apparatus and nonvolatile semiconductor memory drive
Boboila Analysis, modeling and design of flash-based solid-state drives

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813