JP2008027383A - 情報記録装置及びその制御方法 - Google Patents
情報記録装置及びその制御方法 Download PDFInfo
- Publication number
- JP2008027383A JP2008027383A JP2006202382A JP2006202382A JP2008027383A JP 2008027383 A JP2008027383 A JP 2008027383A JP 2006202382 A JP2006202382 A JP 2006202382A JP 2006202382 A JP2006202382 A JP 2006202382A JP 2008027383 A JP2008027383 A JP 2008027383A
- Authority
- JP
- Japan
- Prior art keywords
- attribute information
- information
- address
- pinned
- unpinned
- 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
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
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】この発明は、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的としている。
【解決手段】アドレスを指定してピンドの属性情報を解除することを要求するコマンドが入力されたとき、そのコマンドで指定されたアドレスのうち、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する。これにより、キャッシュメモリ(15)のアンピンドのアドレスに対応する領域のデータをディスク状記録媒体(14)に書き込む機能が実行される際、上記コマンドで指定されたアドレスに対応する領域の情報をディスク状記録媒体(14)に書き込むことができる。
【選択図】 図1
【解決手段】アドレスを指定してピンドの属性情報を解除することを要求するコマンドが入力されたとき、そのコマンドで指定されたアドレスのうち、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する。これにより、キャッシュメモリ(15)のアンピンドのアドレスに対応する領域のデータをディスク状記録媒体(14)に書き込む機能が実行される際、上記コマンドで指定されたアドレスに対応する領域の情報をディスク状記録媒体(14)に書き込むことができる。
【選択図】 図1
Description
この発明は、例えばハードディスク等のような大容量のディスク状記録媒体に、不揮発性の半導体メモリをキャッシュとして情報(データ)の書き込みを行なう情報記録装置及びその制御方法に関する。
周知のように、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、近年、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
このため、現在、ハードディスクを用いた小型化志向の情報記録装置においては、情報の高速書き込み及び高速読み出しが可能な不揮発性メモリを、ハードディスクに対するキャッシュメモリとして使用することにより、情報の書き込み及び読み出し速度を高めるとともに、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図ることが考えられている。
すなわち、この種の情報記録装置は、外部に対しての情報の書き込み及び読み出しを不揮発性メモリに対して行なわせ、ハードディスクに対しては不揮発性メモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化するとともに、ハードディスクの駆動回数を削減するようにしているもので、NV(non volatile)−cache対応HDD(hard disk drive)とも称されて、規格化されている。
ここで、上記のように情報の書き込み及び読み出し動作の高速化、ハードディスクの駆動回数の削減を図った情報記録装置では、キャッシュとなる不揮発性メモリとしてフラッシュ(flash)メモリを用いることが考えられている。ところで、フラッシュメモリは、書き替えが可能な回数に制限(例えば約10万回)があり、それを超えると極度にエラーが生じ易くなり信頼性が低くなるという性質を有している。
このため、ハードディスクに不揮発性メモリをキャッシュとして情報の記録を行なうようにした情報記録装置にあっては、ハードディスクの駆動回数を削減して省電力化を図るだけでなく、不揮発性メモリの書き替え回数に制限があることや、ユーザの使い易さ等をも考慮して、情報の書き込み及び読み出し動作を効率的に制御するように改良を施すことが強く要望されている。
特許文献1には、メモリカードとHDDとの両方を搭載した大容量ストレージ媒体が開示されている。この大容量ストレージ媒体は、例えば外部より取得したメモリカードのデータを、磁気記録媒体であるハードディスクにバックアップすることができるとともに、ハードディスクのデータをメモリカードに転送して取り出すことができる。
また、特許文献2には、フラッシュメモリを使用した携帯用の記憶装置が開示されている。この特許文献2では、フラッシュメモリの書き替え回数(例えば10万回)が多くなるとエラーが発生し易くなるという問題を解決するために、例えば特定領域のみの書き替え回数が多くなるのを抑制するようなデータ管理方法を提供している。
特開2004−55102
特許第3407317号公報
そこで、この発明は上記事情を考慮してなされたもので、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にし得るようにした情報記録装置及びその制御方法を提供することを目的とする。
この発明に係る情報記録装置は、コマンドが入力される入力手段と、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリと、不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストにより指示されたアドレスとピンドの属性情報とを対応付け、ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスがピンドの属性情報に対応付けられていないようなコマンドの一部または全部について、ピンドの属性情報に対応付けられていないアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する作成手段と、不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングでディスク状記録媒体に記録する記録手段と、ホストからアドレスを指定してピンドの属性情報を解除することを要求するコマンドに基づいて、管理テーブルの中で、指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する制御手段とを備えるようにしたものである。
また、この発明に係る情報記録装置の制御方法は、コマンドが入力される入力手段と、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリとを備えた情報記録装置を制御する方法を対象としている。そして、不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストにより指示されたアドレスとピンドの属性情報とを対応付け、ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスがピンドの属性情報に対応付けられていないコマンドの一部または全部について、ピンドの属性情報に対応付けられていないアドレスに不揮発性メモリ上の領域を割り当て、その割り当てた不揮発性メモリ上の領域に、ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する第1の工程と、不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングでディスク状記録媒体に記録する第2の工程と、ホストからアドレスを指定してピンドの属性情報を解除することを要求するコマンドに基づいて、管理テーブルの中で、指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する第3の工程とを備えるようにしたものである。
上記した発明によれば、アドレスを指定してピンドの属性情報を解除することを要求するコマンドが入力されたとき、そのコマンドで指定されたアドレスのうち、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更するようにしたので、ディスク状記録媒体に不揮発性メモリをキャッシュとして情報の記録を行なうものにおいて、省電力化を図り、高速でかつ信頼性の高い情報の書き込み及び読み出し動作を実現することができ、しかも、ユーザにとっての取り扱いを便利にすることが可能となる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。図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から読み出されるデータには、そのエラー訂正コードに基づいたエラー訂正処理が施されることになる。
この実施の形態では、一例として、上記フラッシュメモリ15は、その情報の書き込み及び読み出しの単位が2Kバイトに規定されている。さらに、このフラッシュメモリ15は、その消去単位が128Kバイトに規定されている。また、このフラッシュメモリ15は、その書き込み及び読み出し回数が多くなると素子が劣化し、エラー発生率が高くなる。このため、素子の性能を保証する情報として、書き替え回数を10万回程度に規定している。
ここで、上記した規格により設定されている、情報記録装置11の実行可能な各種のコマンドのうち、この実施の形態を説明する上で必要となるものについて説明する。まず、第1のコマンドは、ハードディスク14上の論理ブロックアドレス(LBA)のうち、情報をフラッシュメモリ15に書き込むLBAを指定するものである。
また、第2のコマンドは、第1のコマンドと同様に、フラッシュメモリ15に書き込むLBAを指定するものであるが、それと同時に、ハードディスク14から当該LBAに記録されている情報を読み出し、その読み出した情報をフラッシュメモリ15に書き込むことを要求するものである。
上記した第1及び第2のコマンドは、上記の規格ではAdd LBA(s) to NV Cache Pinned SetのPI=0及びPI=1に対応しており、フラッシュメモリ15に情報を格納することをホスト装置20から指示されたLBAには、ピンド(pinned)と称される属性情報が付される。
すなわち、これら第1及び第2のコマンドでは、フラッシュメモリ15に対して読み出しまたは書き込みすることをホスト装置20により指示されたLBAにフラッシュメモリ15上の領域を割り当て、その割り当てたフラッシュメモリ15上の領域に、ホスト装置20により指示されたLBAとピンドの属性情報とが対応付けられる。
第3のコマンドは、ハードディスク14上のLBAを指定して情報の書き込みを要求するものである。この第3のコマンドがホスト装置20から発生された場合、コントローラ16は、書き込み要求されたLBAにピンドの属性情報が対応付けられているか否かを調べ、対応付けられていた場合にはフラッシュメモリ15の対応する領域に書き込みを行なうが、書き込み要求されたLBAにピンドの属性情報が対応付けられていない場合には、フラッシュメモリ15に情報を書き込むか、ハードディスク14の指定されたLBAに情報を書き込むかを、自己の判断で決定し実行する。
第4のコマンドは、ハードディスク14上のLBAを指定して情報の読み出しを要求するものである。この第4のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15上に、該当するLBAに対応する領域が既に割り当てられ、ハードディスク14上よりも新しい情報がフラッシュメモリ15上に保存されていると判断される場合にはフラッシュメモリ15から該当情報を読み出す必要があるが、ハードディスク14上とフラッシュメモリ15上とで同じ情報がある場合には、フラッシュメモリ15から該当情報を読み出しても良いし、ハードディスク14の指定されたLBAから情報を読み出しても良い。また、フラッシュメモリ15上に、該当するLBAに対応する領域が既に割り当てられているが、ハードディスク14上に最新のデータが存在している場合には、ハードディスク14から該当情報を読み出す必要がある。そして、ハードディスク14から情報を読み出した場合には、その情報をフラッシュメモリ15にキャッシュするか否かもコントローラ16が判断する。
上記した第3及び第4のコマンドのように、情報の書き込みまたは読み出しが要求されたLBAの中の、ピンドの属性情報が対応付けられていないLBAのうち、フラッシュメモリ15上に領域が割り当てられて、その割り当てられたフラッシュメモリ15上の領域に情報が書き込まれたLBAには、アンピンド(unpinned)と称される属性情報が付される。
すなわち、これら第3及び第4のコマンドでは、ホスト装置20から発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたLBAがピンドの属性情報に対応付けられていないコマンドの一部または全部に対し、ピンドの属性情報に対応付けられていないLBAにフラッシュメモリ15上の領域を割り当て、その割り当てたフラッシュメモリ15上の領域に、ホスト装置20から発行される読み出しまたは書き込みを要求するコマンドで指示されたLBAとアンピンドの属性情報とが対応付けられる。
第5のコマンドは、指定したサイズ分だけフラッシュメモリ15内に空き領域を作成することを要求するものである。この第5のコマンドがホスト装置20から発生された場合、コントローラ16は、現在の空き領域が、要求された空き領域よりも小さい場合には、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域の中から、指定されたサイズ分またはそれ以上の情報をハードディスク14に移動させることにより、指定されたサイズ分の空き領域をフラッシュメモリ15内に確保する。この場合、フラッシュメモリ15の中の、アンピンドの属性情報が付されたLBAに対応する領域の中で、どの領域の情報がハードディスク14に移動されるのか、すなわち、フラッシュメモリ15のどの領域に空き領域が形成されるのかは、コントローラ16の判断により決定される。
第6のコマンドは、LBAを指定してピンドの属性情報を解除する(属性情報をピンドでなくする)ことを要求するもので、上記した規格では、Remove LBA(s) From NV Cache Pinned Setと称される。この第6のコマンドがホスト装置20から発生された場合、コントローラ16は、フラッシュメモリ15の中の第6のコマンドで指定されたLBAに対応する領域に格納されている情報を、ハードディスク14に転送して書き込ませるようにする必要があるが、そのタイミングについては、上記した規格では規定されていない。
この場合、第6のコマンドが発生されたとき、即時に、フラッシュメモリ15に格納されている情報をハードディスク14に書き込むようにタイミングを設定すると、その時点でハードディスク14が回転していない場合には、その都度、モータを起動させてハードディスク14を回転させる必要が生じ、ハードディスク14の駆動回数が増えて消費電力の増大を招くことになる。
一方、コントローラ16には、フラッシュメモリ15が満杯になったとき、または、フラッシュメモリ15の空き容量が予め設定された所定の容量に達した場合に、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報を、自動的にハードディスク14に転送して書き込ませるようにする機能が備えられている。これにより、フラッシュメモリ15内に常時空き領域を確保して、外部からの情報記録装置11に対する情報の書き込み要求に対処できるようにしている。
そこで、この実施の形態では、第6のコマンドが発生されたとき、その時点でハードディスク14が回転していない場合、コントローラ16は、指定されたLBAのうち、ピンドの属性情報が付されたLBAを、ピンドからアンピンドの属性情報が対応付けられるように変更するように制御する。これは、LBAを管理するための後述する管理テーブルを書き替えることで容易に実現可能である。
これにより、コントローラ16が、フラッシュメモリ15の空き容量の確保のために、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報を、ハードディスク14に転送して書き込ませる動作時に、一緒に、第6のコマンドによって指定されたLBAに対応するフラッシュメモリ15の領域に格納されていた情報が、ハードディスク14に転送して書き込まれるようになる。これにより、ハードディスク14の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
また、コントローラ16は、上記のようにフラッシュメモリ15の空き容量を確保する際に、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域のうち、アクセスされた日時の最も古いLBAに対応する領域に格納されている情報から、順次ハードディスク14に転送して書き込ませるように制御している。
このため、第6のコマンドが発生されたとき、コントローラ16が、指定されたLBAのうちピンドの属性情報が付されたLBAをアンピンドの属性情報に変更するとともに、そのアンピンドの属性情報に変更されたLBAに対してアクセスされた日時が最も古いものである旨の属性情報を付す(これもLBAの管理テーブルを書き替えることで可能)ようにすれば、第6のコマンドによってアンピンドの属性情報に変更されたLBAに対応するフラッシュメモリ15の領域に格納されている情報を、優先的にハードディスク14に転送して書き込むことが可能となる。
図2は、LBAにそれぞれ付加される属性情報を管理するための管理テーブルの一例を示している。この管理テーブルは、例えば上記SDRAM12に格納されているものとする。そして、この管理テーブルには、各LBAに対して、それぞれLRU(least recently used)を示す項目とピンド/アンピンドを示す項目とが対応付けられている。
このうち、LRUは、アクセスされた日時の最も古いLBAを示す情報である。また、ピンド/アンピンドは、そのLBAが現在ピンドの属性情報が付されているかアンピンドの属性情報が付されているかを示す情報である。
そして、第6のコマンドが発生されたとき、その時点でハードディスク14が回転していない場合には、コントローラ16が、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドをアンピンドに書き替えるように制御する。
すると、コントローラ16が、フラッシュメモリ15の空き容量を確保するために、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報をハードディスク14に移動させる際、一緒に、第6のコマンドによって指定されたLBAに対応するフラッシュメモリ15の領域に格納されている情報が、ハードディスク14に転送して書き込まれるようになる。これにより、ハードディスク14の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
また、上記管理テーブルのピンド/アンピンドに、アンピンドの場合、ピンドからアンピンドに変更されたものであるか否かということも示す情報も含めることができる。
そして、第6のコマンドが発生されたとき、その時点でハードディスク14が回転していない場合には、コントローラ16が、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドを、ピンドからアンピンドに変更されたことを示す情報に書き替えるように制御する。
すると、コントローラ16は、フラッシュメモリ15の空き容量を確保するために、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報をハードディスク14に移動させる際、ピンド/アンピンドがアンピンドになっているLBAのうち、ピンドからアンピンドに変更されたLBAに対応する領域の情報から、優先的にハードディスク14に転送して書き込ませるように制御する。これにより、第6のコマンドによって指定されたLBAに対応するフラッシュメモリ15の領域に格納されている情報を、優先的にハードディスク14に転送して書き込むことが可能となる。
図3は、上記コントローラ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が設けられている。
さらに、コントローラ16には、属性制御部16lが設けられている。この属性制御部16lは、上記管理テーブルに記述するLRU及びピンド/アンピンド等の情報を作成している。
図4は、上記ホスト装置20の一例を示している。このホスト装置20は、ユーザが操作するための操作部20aと、この操作部20aの操作に基づいて外部ネットワークや所定の情報記録媒体から情報の取得を行なうための入力部20bとを有する。
また、このホスト装置20は、入力部20bで取得した情報に所定の信号処理を施すとともに、情報記録装置11に対するコマンドを生成する処理部20cと、この処理部20cの処理結果を表示するための表示部20dとを有する。
さらに、このホスト装置20は、処理部20cの処理結果である情報やコマンドを、接続端子20eを介して外部(情報記録装置11)に出力するとともに、外部(情報記録装置11)から接続端子20eを介して入力された情報を処理部20cに供給するI/F20fを備えている。
図5は、上記第6のコマンドが発生された場合に、コントローラ16が管理テーブルの属性情報を自動的に書き替える処理動作の一例を示している。すなわち、処理が開始(ステップS1)されると、コントローラ16は、ステップS2で、第6のコマンドが入力されたか否かを判別する。
そして、第6のコマンドが入力された場合(YES)、コントローラ16は、ステップS3で、ハードディスク14が回転中であるか否かを判別し、回転中である場合(YES)、ステップS4で、フラッシュメモリ15の中で、第6のコマンドにより指定されたLBAに対応する領域に格納されている情報を、ハードディスク14に転送して書き込ませ、処理を終了(ステップS6)する。
また、上記ステップS3でハードディスク14が回転中でないと判断された場合(NO)、コントローラ16は、ステップS5で、管理テーブルに対して、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドをアンピンドに書き替えて、処理を終了(ステップS6)する。
これにより、先にも述べたように、コントローラ16が、フラッシュメモリ15の空き容量を確保するために、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報をハードディスク14に移動させる際、一緒に、第6のコマンドで指定されたLBAに対応するフラッシュメモリ15の領域に格納されている情報が、ハードディスク14に転送して書き込まれるようになり、ハードディスク14の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
また、上記ステップS5で、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドをアンピンドに変更する際、ピンドからアンピンドに変更されたことを示す情報に書き替えるようにすれば、第6のコマンドで指定されたLBAに対応するフラッシュメモリ15の領域に格納されている情報を、優先的にハードディスク14に転送して書き込むことが可能となる。
さらに、上記ステップS5で、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドを、アンピンド、または、ピンドからアンピンドに変更されたことを示す情報に書き替えるとともに、その指定されたLBAに対応するLRUを、アクセスされた日時が最も古いことを示す情報に書き替えるようにすれば、第6のコマンドによって指定されたLBAに対応するフラッシュメモリ15の領域に格納されている情報を、より優先的にハードディスク14に転送して書き込むことが可能となる。
なお、上記した動作では、ハードディスク14が回転中でない場合に、第6のコマンドで指定されたLBAのうち、属性情報がピンドとなっているLBAのピンド/アンピンドをアンピンドに書き替えるようにしたが、これは、ハードディスク14が回転停止しようとしている場合も含むものとする。
ここで、上記した実施の形態では、第6のコマンドが入力されたとき、コントローラ16が、管理テーブルのLRU及びピンド/アンピンドを書き替えることについて説明したが、これに限らず、図6に示すように、管理テーブルに各LBAにそれぞれ対応させてフラグを新設する。このフラグは、第6のコマンドによって指定されたLBAであるか否かを示すものである。
そして、コントローラ16は、フラッシュメモリ15の空き容量を確保するために、フラッシュメモリ15の中のアンピンドの属性情報が付されたLBAに対応する領域に格納されている情報をハードディスク14に移動させる際、一緒に、フラグが第6のコマンドによって指定されたLBAであることを示しているLBAに対応する領域の情報も、ハードディスク14に転送して書き込ませるように動作する。このような構成によっても、ハードディスク14の駆動回数を少なく抑えることができ、省電力化を図ることが可能となる。
また、上記した実施の形態では、管理テーブルをフラッシュメモリ15とは別のSDRAM12に形成するようにしたが、これに限らず、図7に示すように、フラッシュメモリ15内に、各LBAにそれぞれ対応させて、LRUを示す情報とピンド/アンピンドを示す情報(上記フラグを含めても良い)とが記述されるように形成してもよいものである。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
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記載の情報記録装置。
- 前記制御手段は、前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記ディスク状記録媒体が回転している場合には、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスに対応付けられた前記不揮発性メモリ上の領域内のデータを前記ディスク状記録媒体に記録させることを特徴とする請求項1記載の情報記録装置。
- 前記記録手段は、前記不揮発性メモリの空き領域が予め設定された所定の容量に達したとき、前記不揮発性メモリの中でアンピンドの属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録することを特徴とする請求項1記載の情報記録装置。
- 前記ディスク状記録媒体はハードディスクであり、前記不揮発性メモリはフラッシュメモリであることを特徴とする請求項1記載の情報記録装置。
- コマンドが入力される入力手段と、ディスク状記録媒体と、前記ディスク状記録媒体に対するキャッシュメモリとなる不揮発性メモリとを備えた情報記録装置を制御する方法であって、
前記不揮発性メモリに対して読み出しまたは書き込みすることをホストにより指示されたアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストにより指示されたアドレスとピンドの属性情報とを対応付け、前記ホストから発行される読み出しまたは書き込みを要求するコマンドのうち、読み出しまたは書き込みすることを指示されたアドレスが前記ピンドの属性情報に対応付けられていないコマンドの一部または全部に対し、前記ピンドの属性情報に対応付けられていないアドレスに前記不揮発性メモリ上の領域を割り当て、その割り当てた前記不揮発性メモリ上の領域に、前記ホストから発行される読み出しまたは書き込みを要求するコマンドで指示されたアドレスとアンピンドの属性情報とを対応付けた管理テーブルを作成する第1の工程と、
前記不揮発性メモリの中でアンピンドの属性情報が対応付けられた領域の一部または全部のデータを、所定のタイミングで前記ディスク状記録媒体に記録する第2の工程と、
前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する第3の工程とを具備することを特徴とする情報記録装置の制御方法。 - 前記第3の工程は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、その旨を示す属性情報を対応付け、
前記第2の工程は、ピンドからアンピンドの属性情報に変更された旨の属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項8記載の情報記録装置の制御方法。 - 前記第3の工程は、ピンドからアンピンドの属性情報に変更されたアドレスに対して、前記管理テーブルの中で、アクセスされた日時が最も古い旨を示す属性情報を対応付け、
前記第2の工程は、アンピンドの属性情報が付加されたアドレスのうち、アクセスされた日時が最も古い旨を示す属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、優先的に前記ディスク状記録媒体に記録することを特徴とする請求項8記載の情報記録装置の制御方法。 - 前記第3の工程は、前記ディスク状記録媒体が回転していない状態か、または、回転停止しようとしている場合に、ピンドの属性情報が対応付けられているアドレスをアンピンドの属性情報が対応付けられるように変更する機能を実行することを特徴とする請求項8記載の情報記録装置の制御方法。
- 前記第3の工程は、前記ホストからアドレスを指定して前記ピンドの属性情報を解除することを要求するコマンドに基づいて、前記ディスク状記録媒体が回転している場合には、前記管理テーブルの中で、前記指定されたアドレスのうちピンドの属性情報が対応付けられているアドレスに対応付けられた前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録させることを特徴とする請求項8記載の情報記録装置の制御方法。
- 前記第2の工程は、前記不揮発性メモリの空き領域が予め設定された所定の容量に達したとき、前記不揮発性メモリの中でアンピンドの属性情報が対応付けられたアドレスに対応する前記不揮発性メモリ上の領域内のデータを、前記ディスク状記録媒体に記録することを特徴とする請求項8記載の情報記録装置の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006202382A JP2008027383A (ja) | 2006-07-25 | 2006-07-25 | 情報記録装置及びその制御方法 |
US11/826,150 US20080025706A1 (en) | 2006-07-25 | 2007-07-12 | Information recording apparatus and control method thereof |
CNA200710139106XA CN101114508A (zh) | 2006-07-25 | 2007-07-25 | 信息记录装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006202382A JP2008027383A (ja) | 2006-07-25 | 2006-07-25 | 情報記録装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008027383A true JP2008027383A (ja) | 2008-02-07 |
Family
ID=38986416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006202382A Pending JP2008027383A (ja) | 2006-07-25 | 2006-07-25 | 情報記録装置及びその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080025706A1 (ja) |
JP (1) | JP2008027383A (ja) |
CN (1) | CN101114508A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028661A (ja) * | 2009-07-29 | 2011-02-10 | I-O Data Device Inc | 複合記憶装置 |
JP2015158902A (ja) * | 2013-12-20 | 2015-09-03 | シーゲイト テクノロジー エルエルシー | メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置 |
US9317312B2 (en) | 2013-03-04 | 2016-04-19 | Hitach, Ltd | Computer and memory management method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850151B2 (en) | 2010-03-24 | 2014-09-30 | Apple Inc. | Hybrid-device storage based on environmental state |
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 |
GB2527105B (en) * | 2014-06-12 | 2019-01-30 | Xyratex Tech Limited | A storage carrier and a storage system |
EP3384477A1 (en) * | 2015-12-02 | 2018-10-10 | Koninklijke Philips N.V. | Control device for a domestic appliance system |
KR102565918B1 (ko) * | 2016-02-24 | 2023-08-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작방법 |
WO2018001446A1 (fr) * | 2016-06-27 | 2018-01-04 | Beldevim | Boitier pour la gestion des informations techniques d'un site |
CN110018897B (zh) | 2018-01-09 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
US10877675B2 (en) * | 2019-02-15 | 2020-12-29 | Sap Se | Locking based on categorical memory allocation |
KR102703997B1 (ko) | 2019-08-02 | 2024-09-10 | 삼성전자주식회사 | 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4755441B2 (ja) * | 2005-04-25 | 2011-08-24 | 株式会社日立製作所 | 設計支援方法及びシステム |
-
2006
- 2006-07-25 JP JP2006202382A patent/JP2008027383A/ja active Pending
-
2007
- 2007-07-12 US US11/826,150 patent/US20080025706A1/en not_active Abandoned
- 2007-07-25 CN CNA200710139106XA patent/CN101114508A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028661A (ja) * | 2009-07-29 | 2011-02-10 | I-O Data Device Inc | 複合記憶装置 |
US9317312B2 (en) | 2013-03-04 | 2016-04-19 | Hitach, Ltd | Computer and memory management method |
JP2015158902A (ja) * | 2013-12-20 | 2015-09-03 | シーゲイト テクノロジー エルエルシー | メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置 |
Also Published As
Publication number | Publication date |
---|---|
US20080025706A1 (en) | 2008-01-31 |
CN101114508A (zh) | 2008-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008027383A (ja) | 情報記録装置及びその制御方法 | |
JP4836647B2 (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP4768504B2 (ja) | 不揮発性フラッシュメモリを用いる記憶装置 | |
JP2008046964A (ja) | 情報記録装置及びその制御方法 | |
JP2007193441A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2007193440A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2007193448A (ja) | 情報記録装置及びその制御方法 | |
JP2009015856A (ja) | メモリシステム及びそのデータ読み出し方法 | |
JP4874844B2 (ja) | 情報記録装置及びその制御方法 | |
JP2008242944A (ja) | 統合メモリ管理装置及び方法 | |
JP2007193449A (ja) | 情報記録装置及びその制御方法 | |
JP2007193865A (ja) | 情報記録装置及びその制御方法 | |
JP3568110B2 (ja) | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 | |
US7941601B2 (en) | Storage device using nonvolatile cache memory and control method thereof | |
JP2007193866A (ja) | 情報記録装置及びその制御方法 | |
JP2009032305A (ja) | 情報記録装置及びその制御方法 | |
US20080244173A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
JP4988054B2 (ja) | メモリシステム | |
JP2007293987A (ja) | 情報記録装置及びその制御方法 | |
JP2007310447A (ja) | データ記憶装置およびこの初期化方法 | |
US20080046604A1 (en) | Storage device and control chip for the storage device | |
JP2009230205A (ja) | メモリシステム | |
JP2005243000A (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
JP2010198149A (ja) | 記憶装置、その制御方法及びその記憶装置を備える電子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111115 |