JP2007293987A - 情報記録装置及びその制御方法 - Google Patents
情報記録装置及びその制御方法 Download PDFInfo
- Publication number
- JP2007293987A JP2007293987A JP2006119614A JP2006119614A JP2007293987A JP 2007293987 A JP2007293987 A JP 2007293987A JP 2006119614 A JP2006119614 A JP 2006119614A JP 2006119614 A JP2006119614 A JP 2006119614A JP 2007293987 A JP2007293987 A JP 2007293987A
- Authority
- JP
- Japan
- Prior art keywords
- information
- recording medium
- recorded
- disk
- shaped recording
- 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
- 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
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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
【課題】この発明は、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的としている。
【解決手段】コマンドが入力される入力手段(21)と、ディスク状記録媒体(14)と、ディスク状記録媒体(14)に対するキャッシュメモリとなる不揮発性メモリ(15)と、入力手段(21)に入力された、不揮発性メモリ(15)をディスク状記録媒体(14)に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、不揮発性メモリ(15)に記録されている情報をディスク状記録媒体(14)に記録する制御手段(16)とを備える。
【選択図】 図1
【解決手段】コマンドが入力される入力手段(21)と、ディスク状記録媒体(14)と、ディスク状記録媒体(14)に対するキャッシュメモリとなる不揮発性メモリ(15)と、入力手段(21)に入力された、不揮発性メモリ(15)をディスク状記録媒体(14)に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、不揮発性メモリ(15)に記録されている情報をディスク状記録媒体(14)に記録する制御手段(16)とを備える。
【選択図】 図1
Description
この発明は、例えばハードディスク等のような大容量のディスク状記録媒体に、不揮発性の半導体メモリをキャッシュとして情報の書き込みを行なう情報記録装置及びその制御方法に関する。
周知のように、近年、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
このため、現在、ハードディスクを用いた小型化志向の情報記録装置においては、情報の高速書き込み及び高速読み出しが可能な不揮発性メモリを、ハードディスクに対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図ることが考えられている。
すなわち、この種の情報記録装置は、外部に対しての情報の書き込み及び読み出しを不揮発性メモリに対して行なわせ、ハードディスクに対しては不揮発性メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化するとともに、ハードディスクの駆動回数を削減するようにしているもので、NV(non volatile)−cache対応HDD(hard disk drive)とも称されて、規格化されている。
ここで、上記のように情報の書き込み及び読み出し動作の高速化、ハードディスクの駆動回数の削減を図った情報記録装置では、キャッシュとなる不揮発性メモリとしてフラッシュ(flash)メモリを用いることが考えられている。ところで、フラッシュメモリは、書き替えが可能な回数に制限(例えば約10万回)があり、それを超えると極度にエラーが生じ易くなり信頼性が低くなるという性質を有している。
このため、ハードディスクに不揮発性メモリをキャッシュとして情報の記録を行なうようにした情報記録装置にあっては、ハードディスクの駆動回数を削減して省電力化を図るだけでなく、不揮発性メモリの書き替え回数に制限があることや、ユーザの使い易さ等をも考慮して、情報の書き込み及び読み出し動作を効率的に制御するように改良を施すことが強く要望されている。
特許文献1には、メモリカードとHDDとの両方を搭載した大容量ストレージ媒体が開示されている。この大容量ストレージ媒体は、例えば外部より取得したメモリカードのデータを、磁気記録媒体であるハードディスクにバックアップすることができるとともに、ハードディスクのデータをメモリカードに転送して取り出すことができる。
また、特許文献2には、フラッシュメモリを使用した携帯用の記憶装置が開示されている。この特許文献2では、フラッシュメモリの書き替え回数(例えば10万回)が多くなるとエラーが発生し易くなるという問題を解決するために、例えば特定領域のみの書き替え回数が多くなるのを抑制するようなデータ管理方法を提供している。
特開2004−55102
特許第3407317号公報
そこで、この発明は上記事情を考慮してなされたもので、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的とする。
この発明に係る情報記録装置は、コマンドが入力される入力手段と;ディスク状記録媒体と;ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリと;入力手段に入力された書き込みコマンドに基づいて情報を不揮発性メモリに書き込むこと、不揮発性メモリに記録されている情報を所定のタイミングでディスク状記録媒体に記録すること、入力手段に入力された、不揮発性メモリをディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、不揮発性メモリに記録されている情報をディスク状記録媒体に記録することを行なう制御手段とを備えるようにしたものである。
また、この発明に係る情報記録装置の制御方法は、コマンドが入力される第1の工程と、第1の工程で入力された書き込みコマンドに基づいて、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリに情報を書き込む第2の工程と、前記第2の工程により不揮発性メモリに記録されている情報を、所定のタイミングでディスク状記録媒体に記録する第3の工程と、第1の工程で入力された、不揮発性メモリをディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、不揮発性メモリに記録されている情報をディスク状記録媒体に記録する第4の工程とを備えるようにしたものである。
上記した発明によれば、不揮発性メモリをディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、不揮発性メモリに記録されている情報をディスク状記録媒体に記録するようにしたので、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にすることが可能となる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。図1は、この実施の形態で説明する情報記録装置11の概略を示している。ここで説明する情報記録装置11としては、Non Volatile Cache Command Proposal for ATA8−ACS Revision5等で規格化されたNV−cache対応HDDを対象としている。
すなわち、この情報記録装置11は、バッファとして機能するSDRAM12、各種の回路ブロックが内蔵された1チップのLSI13、大容量のディスク状記録媒体であるハードディスク14、ハードディスク14に対するキャッシュとして機能する不揮発性メモリであるフラッシュメモリ15等を備えている。
このうち、上記LSI13には、情報記録装置11が各種の処理動作を実行する場合に、その統括的な制御を行なうための制御部となるコントローラ16が内蔵されている。そして、このLSI13には、コントローラ16と上記SDRAM12とを情報転送可能に接続するSDRAM I/F(interface)17、コントローラ16と上記ハードディスク14とを情報転送可能に接続するディスクI/F18、コントローラ16と上記フラッシュメモリ15とを情報転送可能に接続するフラッシュメモリI/F19、コントローラ16と外部のホスト装置20とを情報転送可能に接続するホストI/F21等が内蔵されている。
ここで、上記ホスト装置20は、例えばPC(personal computer)等である。このホスト装置20は、例えば所定のアプリケーションソフトウエアを実行する際に、情報記録装置11を利用して情報の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としても情報記録装置11を利用することができる。
この場合、ホスト装置20は、情報記録装置11に対して情報の書き込みを要求するコマンドや、情報の読み出しを要求するコマンドを発生している。これらのコマンドは、ホストI/F21を介してコントローラ16に供給され解析される。
これにより、コントローラ16は、SDRAM12、フラッシュメモリ15、ハードディスク14等に対して、ホスト装置20から供給された情報の書き込みや、ホスト装置20への情報の読み出し等を、選択的に実行するように制御する。なお、コントローラ16としては、SDRAM12、フラッシュメモリ15、ハードディスク14相互間における情報の転送も可能とする機能を有する。
基本的に、コントローラ16は、ホスト装置20からの情報の書き込み要求を受けた場合、書き込む情報をフラッシュメモリ15に記録させる。そして、コントローラ16は、例えばフラッシュメモリ15の記録領域がある程度以上使用された場合等、所定のタイミングで、フラッシュメモリ15に記録された情報をハードディスク14に転送し保存させる。
また、コントローラ16は、ホスト装置20からの情報の読み出し要求を受けた場合、要求された情報をハードディスク14から読み出してホスト装置20に出力させる。この場合、要求された情報がフラッシュメモリ15上に存在していれば、フラッシュメモリ15から情報を読み出してホスト装置20に出力させる。
ここにおいて、上記フラッシュメモリ15に書き込まれる情報(データ)には、エラー訂正コードが付加される。そして、フラッシュメモリ15から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
また、ハードディスク14に記録されるデータにも、エラー訂正コードが付加される。そして、ハードディスク14から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
この実施の形態では、ハードディスク14に記録されるデータに施されるエラー訂正処理の方が、フラッシュメモリ15に記録されるデータに施されるエラー訂正処理に比して、はるかにエラー訂正能力の高い方式が採用されている。すなわち、フラッシュメモリ15に記録されるデータよりも、ハードディスク14に記録されるデータの方が、格段に信頼性が高いものとなっている。
また、この実施の形態では、一例として、上記フラッシュメモリ15は、その情報の書き込み及び読み出しの単位が2Kバイトに規定されている。さらに、このフラッシュメモリ15は、その消去単位が128Kバイトに規定されている。また、このフラッシュメモリ15は、その書き込み及び読み出し回数が多くなると素子が劣化し、エラー発生率が高くなる。このため、素子の性能を保証する情報として、書き替え回数を10万回程度に規定している。
ここで、上記した規格により設定されている、情報記録装置11の実行可能な各種のコマンドのうち、この実施の形態を説明する上で必要となるものについて説明する。まず、第1のコマンドは、論理ブロックアドレス(LBA)を指定して、情報をフラッシュメモリ15に書き込むことを要求するものである。
また、第2のコマンドは、ハードディスク14から情報を読み出し、その読み出した情報をフラッシュメモリ15の指定されたLBAに書き込むことを要求するものである。これら第1または第2のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15の指定されたLBAに情報を書き込むことが可能となる。
図2は、フラッシュメモリ15の記録領域を示している。上記した第1及び第2のコマンドのように、フラッシュメモリ15にLBAを指定して情報が書き込まれる場合、その指定されたLBAで示されるフラッシュメモリ15の情報記録領域を、ピンド(pinned)領域15aと称している。これに対し、フラッシュメモリ15のピンド領域15a以外の情報記録領域は、アンピンド(unpinned)領域15bと称される。
第3のコマンドは、LBAのみを指定して情報の書き込みを要求するものである。この第3のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15の指定されたLBAに情報を書き込むか、ハードディスク14の指定されたLBAに情報を書き込むかを、自己の判断で決定し実行する。
第4のコマンドは、LBAのみを指定して情報の読み出しを要求するものである。この第4のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15の指定されたLBAから情報を読み出すか、ハードディスク14の指定されたLBAから情報を読み出すかを、自己の判断で決定し実行する。そして、ハードディスク14から情報を読み出した場合には、その情報をフラッシュメモリ15にキャッシュするか否かもコントローラ16が判断する。
上記した第3及び第4のコマンドのように、特にフラッシュメモリ15が指定されることのない状況でフラッシュメモリ15に情報が書き込まれた場合にも、そのフラッシュメモリ15の情報記録領域は、アンピンド領域15bとなる。
第5のコマンドは、フラッシュメモリ15に対して指定したアドレス分だけ空き領域を作成することを要求するものである。この第5のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15のアンピンド領域15bの中から、指定されたアドレス分の情報をハードディスク14に移動させることにより、指定されたアドレス分だけの空き領域をフラッシュメモリ15に生成する。この場合、アンピンド領域15bの中のどの情報がハードディスク14に移動されるのか、つまり、フラッシュメモリ15のどこに空き領域が形成されるのかは、コントローラ16の判断により決定される。
第6のコマンドは、フラッシュメモリ15をハードディスク14に対するキャッシュとして使用する機能を実行させるもので、「Set NV Cache Power Mode」と称される。この第6のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15に対してアクセスを実行することができる。
つまり、コントローラ16は、第6のコマンドが供給された状態で、上記した第1乃至第5のコマンドが供給された場合に、フラッシュメモリ15に対して情報の書き込み及び読み出しを行なうことができるようになる。言い換えれば、ホスト装置20は、第6のコマンドを発生した上で、上記第1乃至第5のコマンドを発生する必要がある。
第7のコマンドは、フラッシュメモリ15をハードディスク14に対するキャッシュとして使用する機能を停止(オフ)させるもので、「Return From NV Cache Power Mode」と称される。この第7のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15に対してアクセスを実行することができなくなる。
つまり、コントローラ16は、第7のコマンドが供給された場合、その後、上記第1、第2及び第5のコマンドは実行することができなくなる。また、上記第3及び第4のコマンドに対しては、ハードディスク14に対する情報の書き込み及び読み出しのみを実行するように動作する。
次に、上記フラッシュメモリI/F19について説明する。このフラッシュメモリI/F19は、コントローラ16とフラッシュメモリ15とを情報転送可能に接続する機能を有する外に、図3に示すように、各種のカウンタ19a〜19eが設けられている。これらカウンタ19a〜19eの各カウント値は、例えばフラッシュメモリI/F19内に設けられた図示しない不揮発性メモリに保存される。なお、カウント値の保存には、フラッシュメモリ15が利用されることも可能である。
まず、カウンタ19aは、製造時からの書き込み回数を累積カウントするものである。カウンタ19bは、製造時からの消去回数を累積カウントするものである。カウンタ19cは、製造時からの(または電源投入毎にリセットされるように)書き込みエラー回数を累積カウントするものである。カウンタ19dは、製造時からの(または電源投入毎にリセットされるように)読み出しエラー回数を累積カウントするものである。カウンタ19eは、ECC処理により検出されるエラー回数、または、ECC処理によるエラー訂正回数を累積カウントするものである。これら各カウンタ19a〜19eのカウント値に基づいて、フラッシュメモリ15の劣化状況を判断することができる。
図4は、上記コントローラ16の一例を示している。このコントローラ16は、ホスト装置20から供給されたコマンドをデコード処理し解析するコマンド解析部16aを有する。このコマンド解析部16aの解析結果により、アーキテクチャメモリ16b内のソフトウエアが特定され、シーケンスコントローラ16cに動作手順が設定される。
このシーケンスコントローラ16cは、I/F及びバスコントローラ16dを介して、情報の流れを制御する。例えば、情報の書き込みまたは読み出しが行なわれるときは、メディア選択部16eがフラッシュメモリ15またはハードディスク14を特定し、アドレス制御部16fが書き込みアドレスまたは読み出しアドレスを特定する。
そして、情報の書き込み時には、書き込み処理部16gが書き込み情報の転送処理等を実行する。また、情報の読み出し時には、読み出し処理部16hが読み出し情報の転送処理等を実行する。
さらに、コントローラ16には、消去処理部16iが設けられている。この消去処理部16iは、フラッシュメモリ15に記録された情報の消去処理を実行する。また、この消去処理部16iは、ハードディスク14に記録された情報の消去処理も実行することができる。
また、コントローラ16には、アドレス管理部16jが設けられている。このアドレス管理部16jは、フラッシュメモリ15及びハードディスク14の記録済み領域や未記録領域等のアドレスを一括して管理している。さらに、コントローラ16には、ハードディスク14の駆動状態を監視するための状態判定部16kが設けられている。
図5は、上記ホスト装置20の一例を示している。このホスト装置20は、ユーザが操作するための操作部20aと、この操作部20aの操作に基づいて外部ネットワークや所定の情報記録媒体から情報の取得を行なうための入力部20bとを有する。
また、このホスト装置20は、入力部20bで取得した情報に所定の信号処理を施すとともに、情報記録装置11に対するコマンドを生成する処理部20cと、この処理部20cの処理結果を表示するための表示部20dとを有する。
さらに、このホスト装置20は、処理部20cの処理結果である情報やコマンドを、接続端子20eを介して外部(情報記録装置11)に出力するとともに、外部(情報記録装置11)から接続端子20eを介して入力された情報を処理部20cに供給するI/F20fを備えている。
ここで、先に述べたように、フラッシュメモリ15は、ハードディスク14に対するキャッシュとして使用されるもので、上記第6のコマンドが発生された状態では、ホスト装置20からの情報の書き込み要求を受けた場合、書き込む情報を一旦記録し、所定のタイミングでハードディスク14に転送し保存させるように機能する。
このため、フラッシュメモリ15には、ハードディスク14に記録されている情報と同じ情報か、または、ハードディスク14に最後に情報が記録された後で、ホスト装置20から書き込み要求された情報が記録されていることになる。
つまり、フラッシュメモリ15に記録されている情報の更新日時と、ハードディスク14に記録されている情報の更新日時とを比較すると、フラッシュメモリ15には、ハードディスク14に記録されている情報の更新日時と同じ更新日時を持つ情報か、ハードディスク14に記録された情報の更新日時よりも新しい更新日時を持つ情報が記録されている可能性を持っている。
一方、前述したように、ハードディスク14に記録されるデータに施されるエラー訂正処理は、フラッシュメモリ15に記録されるデータに施されるエラー訂正処理に比して、はるかにエラー訂正能力が高く、フラッシュメモリ15に記録されるデータよりも、ハードディスク14に記録されるデータの方が、格段に信頼性が高いものとなっている。
また、フラッシュメモリ15は、ハードディスク14に比べて壊れ易く、そこに記録される情報の信頼性がハードディスク14に比べて格段に低くなっている。すなわち、情報は、フラッシュメモリ15に記録しておくよりも、ハードディスク14に記録しておく方が、信頼性の高い状態で保存されることになる。
ところで、先に述べた、フラッシュメモリ15をハードディスク14に対するキャッシュとして使用する機能を停止(オフ)させる第7のコマンドが発生された場合、コントローラ16は、フラッシュメモリ15にアクセスすることができなくなる。このため、第7のコマンドの発生以前にフラッシュメモリ15に記録された情報に、ハードディスク14にまだ書き込んでいないものが含まれていたとしても、その情報をハードディスク14に書き込んで信頼性の高い状態で保存することができなくなる。
上記した規格では、第7のコマンドが発生された場合、フラッシュメモリ15に記録された情報(ピンド領域15a及びアンピンド領域15bを問わず)の取り扱いについて定義されていないため、フラッシュメモリ15に記録された情報がハードディスク14に保存される前に壊れると、情報記録装置11は、ホスト装置20からの読み出しコマンドに対して正しい情報を出力することができなくなる。
そこで、この実施の形態では、フラッシュメモリ15をハードディスク14に対するキャッシュとして使用する機能を停止(オフ)させる第7のコマンドが発生された場合に、ピンド領域15a及びアンピンド領域15bを問わず、フラッシュメモリ15に記録された情報を自動的にハードディスク14に転送させるようにしている。
図6は、第7のコマンドが発生された場合に、コントローラ16がフラッシュメモリ15に記録された情報を自動的にハードディスク14に転送させる処理動作の一例を示している。すなわち、処理が開始(ステップS1)されると、コントローラ16は、ステップS2で、第7のコマンドが入力されたか否かを判別する。そして、第7のコマンドが入力されたと判断された場合(YES)、コントローラ16は、ステップS3で、フラッシュメモリ15に記録されている全ての情報をハードディスク14に転送して記録させ、処理を終了(ステップS4)する。
図6に示した動作例によれば、第7のコマンドが入力されたとき、フラッシュメモリ15に記録されている全情報を自動的にハードディスク14に記録させるようにしたので、フラッシュメモリ15に記録された情報が壊れたとしても、ハードディスク14に正しい情報が記録されている可能性を大幅に高めることが可能となる。
これにより、ホスト装置20からの読み出しコマンドに対して、ハードディスク14から正しい情報を読み出して出力することができるようになり、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にすることができる。
図7は、第7のコマンドが発生された場合に、コントローラ16がフラッシュメモリ15に記録された情報を自動的にハードディスク14に転送させる処理動作の他の例を示している。すなわち、処理が開始(ステップS5)されると、コントローラ16は、ステップS6で、第7のコマンドが入力されたか否かを判別する。
そして、第7のコマンドが入力されたと判断された場合(YES)、コントローラ16は、ステップS7で、フラッシュメモリ15に記録されている情報のうち、更新日時が、ハードディスク14に記録されている情報の更新日時よりも新しい情報のみを、ハードディスク14に転送して記録させ、処理を終了(ステップS8)する。
図7に示した動作例によれば、第7のコマンドが入力されたとき、フラッシュメモリ15に記録されている情報のうち、更新日時が、ハードディスク14に記録されている情報の更新日時よりも新しい情報のみを、ハードディスク14に転送して記録させるようにしている。このため、フラッシュメモリ15に記録されている全情報をハードディスク14に記録する場合に比して、転送時間を短縮することができる。
図8は、第7のコマンドが発生された場合に、コントローラ16がフラッシュメモリ15に記録された情報を自動的にハードディスク14に転送させる処理動作のさらに他の例を示している。すなわち、処理が開始(ステップS9)されると、コントローラ16は、ステップS10で、第7のコマンドが入力されたか否かを判別する。
そして、第7のコマンドが入力されたと判断された場合(YES)、コントローラ16は、ステップS11で、予め設定された優先順位に基づいて、フラッシュメモリ15に記録されている情報をハードディスク14に転送して記録させ、処理を終了(ステップS12)する。
上記ステップS11における予め設定された優先順位とは、例えば、上記第1のコマンドのように、フラッシュメモリ15に書き込むことを要求するコマンドに基づいてフラッシュメモリ15に書き込まれた情報を最優先とし、次に、上記第3のコマンドのように、コントローラ16の判断でフラッシュメモリ15に書き込まれた情報を優先とする。
図8に示した動作例によれば、第7のコマンドが発生された場合に、予め設定された優先順位に基づいて、フラッシュメモリ15に記録されている情報をハードディスク14に転送して記録させるようにしている。このため、第7のコマンドが発生されてから、コントローラ16が次のコマンドに基づく処理を実行するまでの時間に制限がある場合に、その制限時間の範囲内で必要な情報からハードディスク14に記録させることができる。
また、上記図6乃至図8に示した処理動作を適宜組み合わせることも可能である。例えば、第7のコマンドが発生されてから、コントローラ16が次のコマンドに基づく処理を実行するまでに所定以上の時間がある場合には、図6に示した処理動作を選択し、所定以上の時間を確保することができない場合には、図7に示した処理動作を選択するように制御することも可能である。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
11…情報記録装置、12…SDRAM、13…LSI、14…ハードディスク、15…フラッシュメモリ、16…コントローラ、17…SDRAM I/F、18…ディスクI/F、19…フラッシュメモリI/F、20…ホスト装置、21…ホストI/F。
Claims (13)
- コマンドが入力される入力手段と、
ディスク状記録媒体と、
前記ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリと、
前記入力手段に入力された書き込みコマンドに基づいて情報を前記不揮発性メモリに書き込むこと、前記不揮発性メモリに記録されている情報を所定のタイミングで前記ディスク状記録媒体に記録すること、前記入力手段に入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている情報を前記ディスク状記録媒体に記録することを行なう制御手段とを具備することを特徴とする情報記録装置。 - 前記制御手段は、前記入力手段に入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている全ての情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項1記載の情報記録装置。
- 前記制御手段は、前記入力手段に入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている情報のうち、更新日時が、前記ディスク状記録媒体に記録されている情報の更新日時よりも新しい情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項1記載の情報記録装置。
- 前記制御手段は、前記入力手段に入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、予め設定された優先順位に基づいて、前記不揮発性メモリに記録されている情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項1記載の情報記録装置。
- 前記予め設定された優先順位は、前記入力手段に入力された、前記不揮発性メモリに情報を記録することを要求する書き込みコマンドに基づいて、前記不揮発性メモリに書き込まれた情報を最優先とすることを特徴とする請求項4記載の情報記録装置。
- 前記制御手段は、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドが入力されてから、次のコマンドに基づく処理を実行するまでの時間に応じて、前記不揮発性メモリに記録されている全ての情報を前記ディスク状記録媒体に記録させる制御と、前記不揮発性メモリに記録されている情報のうち、更新日時が、前記ディスク状記録媒体に記録されている情報の更新日時よりも新しい情報を、前記ディスク状記録媒体に記録させる制御とを選択することを特徴とする請求項1記載の情報記録装置。
- 前記ディスク状記録媒体はハードディスクであり、前記不揮発性メモリはフラッシュメモリであることを特徴とする請求項1記載の情報記録装置。
- コマンドが入力される第1の工程と、
前記第1の工程で入力された書き込みコマンドに基づいて、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリに情報を書き込む第2の工程と、
前記第2の工程により前記不揮発性メモリに記録されている情報を、所定のタイミングで前記ディスク状記録媒体に記録する第3の工程と、
前記第1の工程で入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている情報を前記ディスク状記録媒体に記録する第4の工程とを具備することを特徴とする情報記録装置の制御方法。 - 前記第4の工程は、前記第1の工程で入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている全ての情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項8記載の情報記録装置の制御方法。
- 前記第4の工程は、前記第1の工程で入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、前記不揮発性メモリに記録されている情報のうち、更新日時が、前記ディスク状記録媒体に記録されている情報の更新日時よりも新しい情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項8記載の情報記録装置の制御方法。
- 前記第4の工程は、前記第1の工程で入力された、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドに基づいて、予め設定された優先順位に基づいて、前記不揮発性メモリに記録されている情報を、前記ディスク状記録媒体に記録させるように制御することを特徴とする請求項8記載の情報記録装置の制御方法。
- 前記予め設定された優先順位は、前記第1の工程で入力された、前記不揮発性メモリに情報を記録することを要求する書き込みコマンドに基づいて、前記不揮発性メモリに書き込まれた情報を最優先とすることを特徴とする請求項11記載の情報記録装置の制御方法。
- 前記第4の工程は、前記不揮発性メモリを前記ディスク状記録媒体に対するキャッシュメモリとして使用する機能を停止させるコマンドが入力されてから、次のコマンドに基づく処理を実行するまでの時間に応じて、前記不揮発性メモリに記録されている全ての情報を前記ディスク状記録媒体に記録させる制御と、前記不揮発性メモリに記録されている情報のうち、更新日時が、前記ディスク状記録媒体に記録されている情報の更新日時よりも新しい情報を、前記ディスク状記録媒体に記録させる制御とを選択することを特徴とする請求項8記載の情報記録装置の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006119614A JP2007293987A (ja) | 2006-04-24 | 2006-04-24 | 情報記録装置及びその制御方法 |
US11/783,687 US20070250661A1 (en) | 2006-04-24 | 2007-04-11 | Data recording apparatus and method of controlling the same |
CNA2007100964558A CN101063930A (zh) | 2006-04-24 | 2007-04-18 | 数据记录装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006119614A JP2007293987A (ja) | 2006-04-24 | 2006-04-24 | 情報記録装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007293987A true JP2007293987A (ja) | 2007-11-08 |
Family
ID=38620806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006119614A Withdrawn JP2007293987A (ja) | 2006-04-24 | 2006-04-24 | 情報記録装置及びその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070250661A1 (ja) |
JP (1) | JP2007293987A (ja) |
CN (1) | CN101063930A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294982A (ja) * | 2008-06-06 | 2009-12-17 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置及びその制御方法 |
JP2010512559A (ja) * | 2008-02-29 | 2010-04-22 | 株式会社東芝 | 情報処理装置及び不揮発性半導体メモリドライブ |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5607175B2 (ja) | 2010-03-08 | 2014-10-15 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | データ記憶装置及び方法 |
US10754574B1 (en) * | 2018-05-18 | 2020-08-25 | Amazon Technologies, Inc. | Attribute-driven storage for storage devices |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2256735B (en) * | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
KR0174711B1 (ko) * | 1996-04-24 | 1999-04-15 | 김광호 | 하드디스크 캐시의 제어방법 |
US6725342B1 (en) * | 2000-09-26 | 2004-04-20 | Intel Corporation | Non-volatile mass storage cache coherency apparatus |
KR20050003451A (ko) * | 2002-05-14 | 2005-01-10 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 하드 디스크 드라이브 시스템, 이러한 시스템을 사용하는방법 및 장치 |
US7082495B2 (en) * | 2002-06-27 | 2006-07-25 | Microsoft Corporation | Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory |
US20050138296A1 (en) * | 2003-12-18 | 2005-06-23 | Coulson Richard L. | Method and system to alter a cache policy |
US7644239B2 (en) * | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
-
2006
- 2006-04-24 JP JP2006119614A patent/JP2007293987A/ja not_active Withdrawn
-
2007
- 2007-04-11 US US11/783,687 patent/US20070250661A1/en not_active Abandoned
- 2007-04-18 CN CNA2007100964558A patent/CN101063930A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010512559A (ja) * | 2008-02-29 | 2010-04-22 | 株式会社東芝 | 情報処理装置及び不揮発性半導体メモリドライブ |
JP2009294982A (ja) * | 2008-06-06 | 2009-12-17 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101063930A (zh) | 2007-10-31 |
US20070250661A1 (en) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4768504B2 (ja) | 不揮発性フラッシュメモリを用いる記憶装置 | |
JP4836647B2 (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2008027383A (ja) | 情報記録装置及びその制御方法 | |
JP2007193448A (ja) | 情報記録装置及びその制御方法 | |
JP2007193449A (ja) | 情報記録装置及びその制御方法 | |
JP2007193865A (ja) | 情報記録装置及びその制御方法 | |
US20070168606A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US20070168607A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
JP2009015856A (ja) | メモリシステム及びそのデータ読み出し方法 | |
JP2008046964A (ja) | 情報記録装置及びその制御方法 | |
US7913029B2 (en) | Information recording apparatus and control method thereof | |
JP2007193866A (ja) | 情報記録装置及びその制御方法 | |
US7941601B2 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US20080244173A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
JP2009032305A (ja) | 情報記録装置及びその制御方法 | |
JPWO2007105688A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP2008305061A (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP4988054B2 (ja) | メモリシステム | |
JP2007293987A (ja) | 情報記録装置及びその制御方法 | |
JP2012521032A (ja) | Ssdコントローラおよびssdコントローラの動作方法 | |
JP2017068634A (ja) | 記憶装置及び方法 | |
JP2007310447A (ja) | データ記憶装置およびこの初期化方法 | |
JP2011086324A (ja) | ストレージ装置 | |
JP2000251448A (ja) | ハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081001 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081224 |