JP2007193440A - 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 - Google Patents
不揮発性キャッシュメモリを用いる記憶装置とその制御方法 Download PDFInfo
- Publication number
- JP2007193440A JP2007193440A JP2006009043A JP2006009043A JP2007193440A JP 2007193440 A JP2007193440 A JP 2007193440A JP 2006009043 A JP2006009043 A JP 2006009043A JP 2006009043 A JP2006009043 A JP 2006009043A JP 2007193440 A JP2007193440 A JP 2007193440A
- Authority
- JP
- Japan
- Prior art keywords
- hard disk
- rotating
- command
- storage device
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/20—Driving; Starting; Stopping; Control thereof
- G11B19/2063—Spindle motor power-down sequences
- G11B19/2072—Spindle motor power-down sequences for the reduction of power consumption during idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
【課題】低消費電力、高速書き込み読出しを実現し、半導体メモリである記憶媒体の長寿命化を得ることができる。
【解決手段】ホストインターフェースと、前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、前記コマンド解析部で解析されたコマンドがデータ書き込みを指令するコマンドであるとき、ハードディスクの回転状態を判定する状態判定部と、前記状態判定部の判定結果が、前記ハードディスクが回転していることを示すときは、書き込みデータを前記ハードディスクに送り、回転していないことを示すときは、フラッシュメモリに前記書き込みデータを送る書き込み処理部と有する。
【選択図】図3
【解決手段】ホストインターフェースと、前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、前記コマンド解析部で解析されたコマンドがデータ書き込みを指令するコマンドであるとき、ハードディスクの回転状態を判定する状態判定部と、前記状態判定部の判定結果が、前記ハードディスクが回転していることを示すときは、書き込みデータを前記ハードディスクに送り、回転していないことを示すときは、フラッシュメモリに前記書き込みデータを送る書き込み処理部と有する。
【選択図】図3
Description
この発明は、不揮発性キャッシュメモリを用いる記憶装置とその制御方法に関するものであり、低消費電力、高速書き込み読出しを実現し、さらには、記憶媒体の長寿命化を得られるように工夫したものである。
近年、半導体記憶媒体であるメモリカードと、磁気記憶媒体であるハードディスクを用いたハードディスク(HD)の両方を搭載できる記憶装置が開発されている(特許文献1参照)。ここでは、例えば外部より取得したメモリカードのデータを磁気記憶媒体であるハードディスク(HD)にバックアップすることができる。また、HDのデータをメモリカードに転送して、取り出すことができる。
また携帯用の記憶装置として、フラッシュメモリを用いたものが開発されている(特許文献2)。ここでは、フラッシュメモリは、消去回数(例えば10万回)が多くなると、エラーが多く発生するために、このような問題を解決しようとしている。例えば特定領域のみの消去回数が多くなるのを抑制するデータ管理方法を提供している。
特開2004−055102公報
特許3407317号公報
この発明に係る1つの実施形態では、記憶媒体としてのハードディスク及び半導体メモリの特徴を巧みに利用し、低消費電力、高速書き込み読出しを実現し、さらには、半導体メモリである記憶媒体の長寿命化を図る不揮発性キャッシュメモリを用いる記憶装置及びその制御方法を提供することを目的としている。
上記の目的を達成するために、この発明に係る1つの実施の形態では、ホストインターフェースと、前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、キャッシュメモリへのインターフェースとなるメモリインターフェースと、前記コマンド解析部で解析されたコマンドがデータ書き込みを指令するコマンドであるとき、ハードディスクの回転状態を判定する状態判定部と、前記状態判定部の判定結果が、前記ハードディスクが回転していることを示すときは、書き込みデータを前記ハードディスクに送り、回転していないことを示すときは、前記キャッシュメモリに前記書き込みデータを送る書き込み処理部と有する。
上記手段により、低消費電力、高速書き込み読出しを実現し、半導体メモリである記憶媒体の長寿命化を得ることができる。
以下、図面を参照しながら、この発明に係る幾つかの実施の形態を説明する。
<全体の構成及び機能>
まず図1において、実施形態の全体ブロックの例を説明する。100は、ホスト装置であり、例えば、パーソナルコンピュータに於けるコントロール部である。200は、不揮発性キャッシュメモリを用いる記憶装置である。この記憶装置200は、バッファとして機能するSDRAM201、後述するコントローラなどが搭載された例えば1チップのLSI(大規模集積化回路)202、フラッシュメモリ203、ハードディスク(HD)204を有する。
まず図1において、実施形態の全体ブロックの例を説明する。100は、ホスト装置であり、例えば、パーソナルコンピュータに於けるコントロール部である。200は、不揮発性キャッシュメモリを用いる記憶装置である。この記憶装置200は、バッファとして機能するSDRAM201、後述するコントローラなどが搭載された例えば1チップのLSI(大規模集積化回路)202、フラッシュメモリ203、ハードディスク(HD)204を有する。
LSI202は、コントローラ311、ホストインターフェース312、SDRAMインターフェース313、ディスクインターフェース314、フラッシュメモリインターフェース315を有する。なお、このLSI202に、上記のSDRAM201が内蔵されていてもよい。
ホスト装置100は、ホストインターフェース312を介して、コントローラ311にコマンドを与えることができる。またホスト装置100は、ホストインターフェース312を介して、コントローラ311からのデータを受け取ることもできるし、コントローラ311側へデータを転送することもできる。
コントローラ311からのコマンドは、データの書き込み命令、データの読出し命令、データのサイズ指定、データの転送、メモリ、情報の読み取り命令などがある。コントローラ311は、ホスト装置100からのコマンドを解釈し、データの書き込み処理、読出し処理、転送処理などを実行する。
コントローラ311は、SDRAMインターフェース313を介して、SDRAM201との間でデータのやり取りを行うことができる。またコントローラ311は、ディスクインターフェース314を介して、HD204との間でデータのやり取りを行うことができる。さらにコントローラ311は、フラッシュメモリインターフェース315を介して、フラッシュメモリ203との間でデータのやり取りを行うことができる。上記したフラッシュメモリ203に格納されるデータは、エラー訂正コードが付加されて格納される。またハードディスクに記録されるデータもエラー訂正コード(ECC)が付加されて格納される。このようにフラッシュメモリへの記録データ、ハードディスクへの記録データに対しては、再生時のエラー訂正が可能なようにECC処理が施される。
上記の装置は、フラッシュメモリインターフェース315、フラッシュメモリ203の部分は、キャッシュとして使用する。
データの書き込み順序、データの読出し順序は、コントローラ311に格納されているソフトウエアに応じて決まる。例えば、ホスト装置100からハードディスク204へ書き込みデータが送られるときは、ホストインターフェース202→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ディスクインターフェース314→ハードディスク204の系路でもよく、ホストインターフェース202→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→ディスクインターフェース314→ハードディスク204の系路でもよい。また、ホストインターフェース202→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ディスクインターフェース314→ハードディスク204の系路でもよい。
また、ハードディスク204からホスト装置100側へデータが読み出されるときは、ディスクインターフェース314→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ホストインターフェース312→ホスト装置、でも良く、ディスクインターフェース314→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→ホストインターフェース312→ホスト装置でもよい。さらには、ディスクインターフェース314→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ホストインターフェース312→ホスト装置でも良い。
さらには、ディスクインターフェース314→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ホストインターフェース312→ホスト装置でも良い。
<フラッシュメモリに関する説明>
図2は、フラッシュメモリ203を取り扱う上で特有の制御が行われることを説明する図である。フラッシュメモリ203は、不揮発性メモリでありながら、データの電気的消去が可能である。したがって、データの書き換えが可能な不揮発性メモリである。
図2は、フラッシュメモリ203を取り扱う上で特有の制御が行われることを説明する図である。フラッシュメモリ203は、不揮発性メモリでありながら、データの電気的消去が可能である。したがって、データの書き換えが可能な不揮発性メモリである。
このフラッシュメモリ203は、例えば、消去単位は、128Kバイトで規定されている。一方、読み取り単位及び書き込み単位は、例えば2Kバイトに規定されている。またこのフラッシュメモリ203は、消去回数が多くなると素子が劣化し、エラー発生が多くなる。そこで、素子の性能を保証する情報として、書き換え回数を10万回程度に規定している。なお上記の消去単位のバイト数及び書き込み単位の数値はこれに限定されるものではない。消去単位23Kバイト、読み書き単位512単位であってもよい。
<フラッシュメモリとコントローラとホスト装置からのコマンドとの基本的な関係>
図2に示すように、フラッシュメモリ203にデータが書き込まれた場合、その書き込み領域を、Pinned(ピンド)領域203Aと、UnPinned(アンピンド)領域203Bという名称で分類することができる。Pinned領域203Aは、ホスト装置100が送ってきたデータ書き込み先のコマンドが、あえてフラッシュメモリ203を指定した場合に形成された領域である。コマンドは、フラッシュメモリ203とその論理ブロックアドレス(LBA)を含む。UnPinned(アンピンド)領域203Bは、ホスト装置100によるデータ書き込み先のコマンドが指定されていない場合で、かつ、コントローラ311が独自に判断して、データを転送し、格納した領域である。
図2に示すように、フラッシュメモリ203にデータが書き込まれた場合、その書き込み領域を、Pinned(ピンド)領域203Aと、UnPinned(アンピンド)領域203Bという名称で分類することができる。Pinned領域203Aは、ホスト装置100が送ってきたデータ書き込み先のコマンドが、あえてフラッシュメモリ203を指定した場合に形成された領域である。コマンドは、フラッシュメモリ203とその論理ブロックアドレス(LBA)を含む。UnPinned(アンピンド)領域203Bは、ホスト装置100によるデータ書き込み先のコマンドが指定されていない場合で、かつ、コントローラ311が独自に判断して、データを転送し、格納した領域である。
なおフラッシュメモリ203に書き込むデータとしては、ホスト装置100から送られてくるデータ、あるいは、ハードディスク204から読み出したデータがある。
コントローラ311がデータ書き込み先を決めるための判断要件は、各種ある。コントローラ311内部の状態判定部が周囲の要件を総合的に判断し、書き込み先を決定している。例えば、装置の電源が投入された直後であり、HD204のハードディスクが所定回転数に達していない場合、あるいは、HD204が停止状態にある場合などである。
<フラッシュメモリインターフェース315及びコントローラ311の機能と構成>
図3には、コントローラ311、フラッシュメモリインターフェース315の構成を機能別に分類して示している。フラッシュメモリインターフェース315には、累積カウンタが設けられており、カウント数は、例えばインターフェース内に設けられたレジスタに書き込まれ、後にフラッシュメモリ203に書き込まれる、あるいは直接フラッシュメモリ203が利用されてもよい。
図3には、コントローラ311、フラッシュメモリインターフェース315の構成を機能別に分類して示している。フラッシュメモリインターフェース315には、累積カウンタが設けられており、カウント数は、例えばインターフェース内に設けられたレジスタに書き込まれ、後にフラッシュメモリ203に書き込まれる、あるいは直接フラッシュメモリ203が利用されてもよい。
カウンタとしては、累積ライト回数カウンタ315a,累積消去回数カウンタ315b、累積ライトエラー回数カウンタ315c、リードエラー数カウンタ315dが用意されている。リードエラー数カウンタ315dの代わりに、ECC回路により検出されるエラー数カウンタ、あるいはエラー訂正数カウンタ315eが設けられてもよい。また、リードライト単位をカウントするカウンタが設けられていてもよい。これらのカウンタの内容は、エラーが多くなったときの警告、状態判定部の判定要素として利用される。
コントローラ311は、コマンド解析部411を有し、ホスト装置100から送られてきたコマンドをここでデコードし解析する。コマンドの解析結果により、アーキテクチャメモリ414内のソフトウエアが特定され、シーケンスコントローラ412に動作手順が設定される。また、これらのコマンド解析及び制御は、インターフェース312において行われてもよい。
シーケンスコントローラ412は、インターフェース及びバスコントローラ413などを介して、データ及びコントロールデータの流れを制御する。例えば、データ書き込みあるいは読出しが行われるときは、メディア選択部415がフラッシュメモリ203あるいはハードディスク(HD)を特定し、アドレス制御部416が書き込みアドレスあるいは読出しアドレスを特定する。そして、データ書き込み時には、書き込み処理部417が書き込みデータの転送処理などを行う。また、データ読出し時には、読出し処理部417が読出しデータの転送処理などを行う。
さらに消去処理部419が設けられている。消去処理部419は、フラッシュメモリ203のデータの消去処理を行う。またこの消去処理部419は、ハードディスクのデータの消去処理も行うことができる。
さらにアドレス管理部420が設けられている。アドレス管理部420は、ハードディスクのアドレス及びフラッシュメモリ203の記録済み領域、未記録領域などのアドレスを一括して管理している。フラッシュメモリ203は、キャッシュメモリとして利用されるので、ホスト装置側がアドレスを指定する場合は、キャッシュメモリのアドレスを意識する必要はなく、ハードディスク側のアドレスを設定すればよい。データの格納先として特別にキャッシュメモリを指定する場合に、Pinnedのコマンドを発行すればよい。Pinnedのコマンドがない場合には、データ格納先は、コントローラ311に構築されているファームウエアの判定結果に依存する。
またフラッシュメモリ203のPinned領域、Unpinned領域などのアドレス管理及び制御は、インターフェース315において行われてもよい。
さらに状態判定部421が設けられている。この状態判定部421は、ハードディスク204の状態を監視している。
なおフラッシュメモリ203の記憶容量がある閾値より大きくなった場合には、コントローラ311が状態を判定し、ハードディスクに転送して書き移す処理を行う。このときの動作は、主として読出し処理部418、書き込み処理部416、アドレス管理部420が組み合わせて制御される。
<実施例における特有の構成と機能と動作>
<前提>上記の記憶装置は、低消費電力が得られることがこのましい。このためにはできるだけハードディスク204の駆動回数を少なくするように動作を管理したほうがよい。このような指向で管理すると、フラッシュメモリ203に対するアクセス回数が増加する。フラッシュメモリ203に対する書き込み回数が増加するような管理を行うと、今度は、フラッシュメモリ203の寿命が短くなるという新たな問題が生じる。
<前提>上記の記憶装置は、低消費電力が得られることがこのましい。このためにはできるだけハードディスク204の駆動回数を少なくするように動作を管理したほうがよい。このような指向で管理すると、フラッシュメモリ203に対するアクセス回数が増加する。フラッシュメモリ203に対する書き込み回数が増加するような管理を行うと、今度は、フラッシュメモリ203の寿命が短くなるという新たな問題が生じる。
<解決手段>そこでこの実施の形態では、低消費電力を図りながらフラッシュメモリ203の短命化を抑制できるようにした動作管理を行うものである。
図4は、装置がデータ書き込み処理を行うときの動作を示すフローチャートの一例である。コマンド解析部411がホスト装置100から送られてきたコマンドを解析し、データ書き込みコマンドがあるかを判定する(ステップSA1)。データ書き込みコマンドがない場合には、他の処理(ステップSA3)を実行してステップSA1に戻る。
データ書き込みコマンドがあった場合、書き込みデータは、Pinnedであるかどうかの判定を行う(ステップSA2)。Pinnedであれば、書き込み処理部418は、フラッシュメモリにデータを書き込む。書き込みデータは、Pinnedでない場合には、HDDモータ(スピンドルモータ)が回転しているかどうかを状態判定部421が判定する(ステップSA5)。スピンドルモータが回転していない場合には、書き込み処理部418は、書き込みデータ(Unpinned領域となる)をフラッシュメモリに書き込む。HDDモータが回転している場合には、書き込み処理部418は、書き込みデータをハードディスクに書き込む。データをハードディスク(HD)に書き込む判断条件としては、フラッシュメモリが寿命近くになっているかどうかを判断して、寿命近くになっていた場合は、HDに書き込むようにしてもよい。
図5は、装置がデータ書き込み処理を行うときの動作を示すフローチャートの他の例である。図4のフローチャートと同一の部分には、同一符号を付している。この実施の形態では、ステップSA5において、スピンドルモータが回転していることが判明してしたとしても、さらにモータの回転の様子を監視する。つまり、スピンドルモータが回転していても、停止命令あとで慣性により回転していることもあるからである。したがって、この実施形態では、モータの回転数が上昇中であるかどうか、または安定しているかどうかを判定する(ステップSB1)。この条件が満たされなければ、書き込み処理部417は、書き込みデータをフラッシュメモリ203に書き込む。
ステップSB1において、モータの回転数が上昇中、または安定していることが判定された場合、書き込み処理部417は、モータが所定回転数になるまで、又は一定時間経過するまで待って、ハードディスクへのデータ書き込みを実行する。
モータの回転数が上昇中であるかどうかは、スピンドルモータを起動して一定時間経過していないような場合である。安定しているかどうかの判定は、起動した時点から一定時間経過し、かつ停止コマンドを発行していないことを条件にして判定できる。さらには、ハードディスク204側からスピンドルモータの回転検出信号の周波数を判定してもよい。回転検出信号は、スピンドルモータのサーボ回路において利用されているので、この回転検出信号を監視するのである。
<有効な影響>
上記したような管理を行うことにより、ハードディスク204の新規な駆動回数ができるだけ少なくなる。これにより低消費電力化が得られる。また、フラッシュメモリ203に対するアクセス回数が抑制できる。これによりフラッシュメモリ203の長寿命化が得られる。
上記したような管理を行うことにより、ハードディスク204の新規な駆動回数ができるだけ少なくなる。これにより低消費電力化が得られる。また、フラッシュメモリ203に対するアクセス回数が抑制できる。これによりフラッシュメモリ203の長寿命化が得られる。
図6は、装置がデータ書き込み処理を行うときの動作を示すフローチャートの他の例である。この実施形態では、データ書き込みコマンドが来たとき(ステップSC1)、スピンドルモータ(ハードディスクモータ)が回転しているかどうかをまず判定する(ステップSC2)。スピンドルモータが回転していない場合には、書き込み処理部417は、フラッシュメモリ203にデータの書き込み処理を行う。スピンドルモータが回転している場合には、スピンドルモータが回転上昇中であるのか、安定しているのかの判定を行う(ステップSC5)。
スピンドルモータの回転数が、所定回転数又は起動後一定時間経過している場合には、書き込み処理部417は、ハードディスクにデータを書き込む(ステップSC7)。
ここで、ハードディスクに書き込んだデータが、Pinned領域に書き込むべきデータであったかどうかの判定が行われる。これは書き込みコマンドの属性を一時的に保存しておき、データ書き込み後、検査することで、Pinnedデータであるかどうかを判断できる。もしPinnedデータが存在した場合には、そのデータは、フラッシュメモリSC4に転送して書き込む(ステップSC9)。Pinnedデータが存在しない場合には、終了する。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
100…ホスト装置、200…記憶装置、201…SDRAM、202…基板、203…フラッシュメモリ、204…ハードディスク、311…コントローラ、312…ホストインターフェース、313…SDRAMインターフェース、314…ディスクインターフェース、315…フラッシュメモリインターフェース。
Claims (10)
- ホストインターフェースと、
前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、
キャッシュメモリへのインターフェースとなるメモリインターフェースと、
前記コマンド解析部で解析されたコマンドがデータ書き込みを指令するコマンドであるとき、ハードディスクの回転状態を判定する状態判定部と、
前記状態判定部の判定結果が、前記ハードディスクが回転していることを示すときは、書き込みデータを前記ハードディスクに送り、回転していないことを示すときは、前記キャッシュメモリに前記書き込みデータを送る書き込み処理部と
を具備したことを特徴とする不揮発性キャッシュメモリを用いる記憶装置。 - 前記書き込み処理部は、さらに、前記状態判定部の判定結果が、前記ハードディスクが回転し、かつスピンドルモータが回転上昇中又は安定していることを示すときに、書き込みデータを前記ハードディスクに送ることを特徴とする
請求項1記載の不揮発性キャッシュメモリを用いる記憶装置。 - 前記書き込み処理部は、さらに、前記状態判定部の判定結果が、前記ハードディスクが回転し、かつスピンドルモータが安定していることを示すときは、前記スピンドルモータが所定回転数であるかどうかを確認して、書き込みデータを前記ハードディスクに送ることを特徴とする
請求項1記載の不揮発性キャッシュメモリを用いる記憶装置。 - 前記状態判定部は、前記ハードディスクが回転しているか否かを判定する場合は、前記ハードディスクに発行されているコマンドを解釈することで判定することを特徴とする請求項1記載の不揮発性キャッシュメモリを用いる記憶装置。
- 前記状態判定部は、前記ハードディスクが回転しているか否かを判定する場合は、前記ハードディスクのスピンドルモータの回転検出信号を用いて判定することを特徴とする請求項1記載の不揮発性キャッシュメモリを用いる記憶装置。
- ホストインターフェースと、ディスクインターフェースと、フラッシュメモリインターフェースと、動作を制御するコントローラと、キャッシュメモリを有する記憶装置の制御方法において、
前記ホストインターフェースから入力されたコマンドの内容を解析し、
解析されたコマンドがデータ書き込みを指令するコマンドであるとき、ハードディスクの回転状態を判定し、
前記回転状態の判定結果が、前記ハードディスクが回転していることを示すときは、書き込みデータを前記ハードディスクに送り、回転していないことを示すときは、前記キャッシュメモリに前記書き込みデータを送る
ことを特徴とする記憶装置の制御方法。 - 前記回転状態の判定結果が、前記ハードディスクが回転し、かつスピンドルモータが回転上昇中又は安定していることを示すときに、書き込みデータを前記ハードディスクに送ることを特徴とする
請求項6載の記憶装置の制御方法。 - 前記回転状態の判定結果が、前記ハードディスクが回転し、かつスピンドルモータが安定していることを示すときは、前記スピンドルモータが所定回転数であるかどうかを確認して、書き込みデータを前記ハードディスクに送ることを特徴とする
請求項6載の記憶装置の制御方法。 - 前記ハードディスクが回転しているか否かを判定する場合は、前記ハードディスクに発行されているコマンドを解釈することで判定することを特徴とする請求項6載の記憶装置の制御方法。
- 前記ハードディスクが回転しているか否かを判定する場合は、前記ハードディスクのスピンドルモータの回転検出信号を用いて判定することを特徴とする請求項6載の記憶装置の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006009043A JP2007193440A (ja) | 2006-01-17 | 2006-01-17 | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 |
US11/640,199 US20070168606A1 (en) | 2006-01-17 | 2006-12-18 | Storage device using nonvolatile cache memory and control method thereof |
CNA2006101699184A CN101004662A (zh) | 2006-01-17 | 2006-12-22 | 采用非易失性高速缓冲存储器的存储器装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006009043A JP2007193440A (ja) | 2006-01-17 | 2006-01-17 | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007193440A true JP2007193440A (ja) | 2007-08-02 |
Family
ID=38264604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006009043A Withdrawn JP2007193440A (ja) | 2006-01-17 | 2006-01-17 | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070168606A1 (ja) |
JP (1) | JP2007193440A (ja) |
CN (1) | CN101004662A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011102429A1 (ja) * | 2010-02-19 | 2011-08-25 | 国立大学法人 東京工業大学 | ストレージ装置、その制御方法およびシステム管理プログラム |
JP2014182812A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | データ記憶装置 |
US8868853B2 (en) | 2009-08-12 | 2014-10-21 | Nec Corporation | Data processing device, data recording method and data recording program |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101821696B (zh) * | 2007-08-28 | 2013-02-20 | Commvault系统公司 | 如数据存储操作的自适应能耗管理的数据处理资源的能耗管理 |
CN101419842B (zh) * | 2008-11-07 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 硬盘的损耗均衡方法、装置及系统 |
US20100333116A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8949565B2 (en) * | 2009-12-27 | 2015-02-03 | Intel Corporation | Virtual and hidden service partition and dynamic enhanced third party data store |
US8850151B2 (en) * | 2010-03-24 | 2014-09-30 | Apple Inc. | Hybrid-device storage based on environmental state |
US9146875B1 (en) * | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US9417794B2 (en) | 2011-07-26 | 2016-08-16 | Apple Inc. | Including performance-related hints in requests to composite memory |
US9275096B2 (en) | 2012-01-17 | 2016-03-01 | Apple Inc. | Optimized b-tree |
US8950009B2 (en) | 2012-03-30 | 2015-02-03 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
US10346259B2 (en) | 2012-12-28 | 2019-07-09 | Commvault Systems, Inc. | Data recovery using a cloud-based remote data recovery center |
US11108858B2 (en) | 2017-03-28 | 2021-08-31 | Commvault Systems, Inc. | Archiving mail servers via a simple mail transfer protocol (SMTP) server |
US11074138B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
US11221939B2 (en) | 2017-03-31 | 2022-01-11 | Commvault Systems, Inc. | Managing data from internet of things devices in a vehicle |
US10552294B2 (en) | 2017-03-31 | 2020-02-04 | Commvault Systems, Inc. | Management of internet of things devices |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | Commvault Systems, Inc. | Management of internet of things devices |
US10891198B2 (en) | 2018-07-30 | 2021-01-12 | Commvault Systems, Inc. | Storing data to cloud libraries in cloud native formats |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US11366723B2 (en) | 2019-04-30 | 2022-06-21 | Commvault Systems, Inc. | Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments |
US11269734B2 (en) | 2019-06-17 | 2022-03-08 | Commvault Systems, Inc. | Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems |
US20210011816A1 (en) | 2019-07-10 | 2021-01-14 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container in a container-orchestration pod |
US11467753B2 (en) | 2020-02-14 | 2022-10-11 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
US11321188B2 (en) | 2020-03-02 | 2022-05-03 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
US11422900B2 (en) | 2020-03-02 | 2022-08-23 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
US11748143B2 (en) | 2020-05-15 | 2023-09-05 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
US11314687B2 (en) | 2020-09-24 | 2022-04-26 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
US11604706B2 (en) | 2021-02-02 | 2023-03-14 | Commvault Systems, Inc. | Back up and restore related data on different cloud storage tiers |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3396402B2 (ja) * | 1997-07-14 | 2003-04-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスク・ドライブ装置及びこれの制御方法 |
US7809252B2 (en) * | 2003-04-09 | 2010-10-05 | Corel Inc. | Systems and methods for caching multimedia data |
US20050138296A1 (en) * | 2003-12-18 | 2005-06-23 | Coulson Richard L. | Method and system to alter a cache policy |
-
2006
- 2006-01-17 JP JP2006009043A patent/JP2007193440A/ja not_active Withdrawn
- 2006-12-18 US US11/640,199 patent/US20070168606A1/en not_active Abandoned
- 2006-12-22 CN CNA2006101699184A patent/CN101004662A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868853B2 (en) | 2009-08-12 | 2014-10-21 | Nec Corporation | Data processing device, data recording method and data recording program |
WO2011102429A1 (ja) * | 2010-02-19 | 2011-08-25 | 国立大学法人 東京工業大学 | ストレージ装置、その制御方法およびシステム管理プログラム |
US9086812B2 (en) | 2010-02-19 | 2015-07-21 | Tokyo Institute Of Technology | Storage device, control method for same and system management program |
JP5808018B2 (ja) * | 2010-02-19 | 2015-11-10 | 国立大学法人東京工業大学 | ストレージ装置、その制御方法およびシステム管理プログラム |
JP2014182812A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | データ記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
US20070168606A1 (en) | 2007-07-19 |
CN101004662A (zh) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007193440A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP4768504B2 (ja) | 不揮発性フラッシュメモリを用いる記憶装置 | |
JP4836647B2 (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2007193441A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
KR100801015B1 (ko) | 하이브리드 하드 디스크 드라이브와 데이터 저장 방법 | |
US8661194B2 (en) | Cache control method for hybrid HDD, related program, and hybrid disk drive using same | |
US8578100B1 (en) | Disk drive flushing write data in response to computed flush time | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
JP2008034085A (ja) | 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ | |
US20080046660A1 (en) | Information recording apparatus and control method thereof | |
JP4791286B2 (ja) | ディスク装置および電子装置 | |
US7941601B2 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US7913029B2 (en) | Information recording apparatus and control method thereof | |
US20070168605A1 (en) | Information storage device and its control method | |
US20070168603A1 (en) | Information recording apparatus and control method thereof | |
US20070168602A1 (en) | Information storage device and its control method | |
JP2008250718A (ja) | 不揮発性キャッシュメモリを用いた記憶装置とその制御方法 | |
US20090027796A1 (en) | Information recording device and control method therefor | |
US20070168604A1 (en) | Information recording apparatus and method for controlling the same | |
US20070250661A1 (en) | Data recording apparatus and method of controlling the same | |
JP2017068634A (ja) | 記憶装置及び方法 | |
US20080046604A1 (en) | Storage device and control chip for the storage device | |
JP2015135620A (ja) | 記憶装置、及びデータの記憶方法 | |
JP2012119020A (ja) | 情報処理装置 | |
JP2009087461A (ja) | 磁気ディスク装置システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080530 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090710 |