JP2008046964A - 情報記録装置及びその制御方法 - Google Patents

情報記録装置及びその制御方法 Download PDF

Info

Publication number
JP2008046964A
JP2008046964A JP2006223256A JP2006223256A JP2008046964A JP 2008046964 A JP2008046964 A JP 2008046964A JP 2006223256 A JP2006223256 A JP 2006223256A JP 2006223256 A JP2006223256 A JP 2006223256A JP 2008046964 A JP2008046964 A JP 2008046964A
Authority
JP
Japan
Prior art keywords
information
requested
cache memory
written
memory
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
Application number
JP2006223256A
Other languages
English (en)
Inventor
Yoriharu Takai
頼治 鷹居
Kenji Yoshida
賢治 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006223256A priority Critical patent/JP2008046964A/ja
Priority to US11/878,993 priority patent/US20080046660A1/en
Priority to CNA2007101465186A priority patent/CN101127229A/zh
Publication of JP2008046964A publication Critical patent/JP2008046964A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0871Allocation or management of cache space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/0804Addressing 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
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • 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/061Improving I/O performance
    • 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
    • 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/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10685Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control input interface, i.e. the way data enter the buffer, e.g. by informing the sender that the buffer is busy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10694Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control output interface, i.e. the way data leave the buffer, e.g. by adjusting the clock rate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10703Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control processing rate of the buffer, e.g. by accelerating the data output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/1074Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control involving a specific threshold value
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】この発明は、ディスク状記録媒体に対するキャッシュとして備えられた複数の半導体メモリの中から、書き込み要求を受けた情報を最も速く書き込むことが可能なメモリを選択して、情報処理速度の高速化を効果的に促進させるようにした情報記録装置及びその制御方法を提供することを目的としている。
【解決手段】ハードディスク(13)に対して、フラッシュメモリ(15)と、それより情報の書き込み及び読み出し速度が速いSDRAM(14)とをキャッシュとして備える。書き込む情報のサイズ分の空き容量がSDRAM(14)になく、その情報のサイズ分の空き容量がSDRAM(14)に形成されることが予想される場合、その情報をSDRAM(14)及びフラッシュメモリ(15)のいずれに書き込む方が速いかを判別し、速い方のメモリ(14,15)に情報を書き込ませる。
【選択図】 図1

Description

この発明は、例えばハードディスク等のような大容量のディスク状記録媒体に、半導体メモリを介して情報の書き込みを行なう情報記録装置及びその制御方法に関する。
周知のように、ハードディスクは、大容量で信頼性の高い情報記録媒体であり、近年、例えばコンピュータデータ、映像データ、音声データ等の記録用として多方面に普及している。また、ハードディスクは、その形状も携帯用電子機器に搭載されるほど小型化されてきている。
このため、ハードディスクを用いた小型化志向の情報記録装置においては、情報の高速書き込み及び高速読み出しが可能な半導体メモリを、ハードディスクに対するキャッシュメモリとして使用することによって、情報の書き込み及び読み出しに要する速度を高めるようにしている。
すなわち、この種の情報記録装置は、外部のホスト装置に対しての情報の書き込み及び読み出しを、キャッシュメモリを介して行なわせ、ハードディスクに対してはキャッシュメモリとの間で情報転送を行なわせることにより、外部から見た情報の書き込み及び読み出し動作を高速化させるようにしている。
そして、現在では、上記キャッシュメモリに加えて、不揮発性メモリをハードディスクに対するキャッシュとして備えることにより、ハードディスクの駆動回数、つまり、ハードディスクに対する情報の書き込み及び読み出し回数を削減して、電池電力の節約を図ることも考えられている。このような情報記録装置は、NV(non volatile)−cache対応HDD(hard disk drive)と称されて、規格化されている。
ところで、上記のように、本来のキャッシュメモリの他に、不揮発性メモリをもハードディスクに対するキャッシュとして備えた情報記録装置にあっては、外部のホスト装置から情報の書き込み要求を受けたとき、その情報をキャッシュメモリ及び不揮発性メモリのいずれに書き込むかの判断が、ホスト装置を含めた全体の情報処理速度に大きく影響することになる。
特許文献1には、ディスクキャッシュがVS(volatile storage)領域とNVS(non volatile storage)領域とを備え、VS領域に空きがなくてNVS領域に空きがある場合に、新たに書き込むべき揮発データをNVS領域に格納させるようにしたディスクキャッシュにおけるメモリ管理方式が記載されている。
特開平8−171515号公報
そこで、この発明は上記事情を考慮してなされたもので、ディスク状記録媒体に対するキャッシュとして備えられた複数の半導体メモリの中から、書き込み要求を受けた情報を最も速く書き込むことが可能なメモリを選択して、情報処理速度の高速化を効果的に促進させるようにした情報記録装置及びその制御方法を提供することを目的とする。
この発明に係る情報記録装置は、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュとなる不揮発性メモリと、不揮発性メモリよりも情報の書き込み及び読み出し速度が速く、ディスク状記録媒体に対するキャッシュとなるキャッシュメモリと、不揮発性メモリ上の対応する領域に書き込むことが要求されているアドレス以外のアドレスへの情報の書き込みが要求されたとき、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に存在しない場合、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に形成されることが予想されるか否かを判別する判別手段と、判別手段により、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に形成されることが予想されると判断された場合、書き込み要求された情報をキャッシュメモリ及び不揮発性メモリのいずれに書き込む方が速いかを判別して、速い方のメモリに情報を書き込ませる制御手段とを備えるようにしたものである。
また、この発明に係る情報記録装置の制御方法は、ディスク状記録媒体と、ディスク状記録媒体に対するキャッシュとなる不揮発性メモリと、不揮発性メモリよりも情報の書き込み及び読み出し速度が速く、ディスク状記録媒体に対するキャッシュとなるキャッシュメモリとを備えた情報記録装置を制御する方法を対象としている。そして、不揮発性メモリ上の対応する領域に書き込むことが要求されているアドレス以外のアドレスへの情報の書き込みが要求されたとき、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に存在するか否かを判別する第1の工程と、第1の工程で、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に存在しないと判断された場合、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に形成されることが予想されるか否かを判別する第2の工程と、第2の工程で、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に形成されることが予想されると判断された場合、書き込み要求された情報をキャッシュメモリ及び不揮発性メモリのいずれに書き込む方が速いかを判別し、速い方のメモリに情報を書き込ませる第3の工程とを備えるようにしたものである。
上記した発明によれば、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に存在しないと判断された場合、書き込み要求された情報のサイズ分の空き容量がキャッシュメモリ上に形成されることが予想されるか否かを判別し、予想される場合、書き込み要求された情報をキャッシュメモリ及び不揮発性メモリのいずれに書き込む方が速いかを判別し、速い方のメモリに情報を書き込ませるようにしたので、ディスク状記録媒体に対するキャッシュとして備えられた複数の半導体メモリの中から、書き込み要求を受けた情報を最も速く書き込むことが可能なメモリを選択して、情報処理速度の高速化を効果的に促進させることができる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。図1は、この実施の形態で説明する情報記録装置11の概略を示している。ここで説明する情報記録装置11としては、Non Volatile Cache Command Proposal for ATA8−ACS Revision5等で規格化されたNV−cache対応HDDを対象としている。
すなわち、この情報記録装置11は、各種の回路ブロックが内蔵された1チップのLSI(large scale integrated)回路12を備えている。そして、このLSI回路12に対して、大容量のディスク状記録媒体であるハードディスク13、SDRAM(synchronous dynamic random access memory)14、フラッシュメモリ15等が接続されている。
このうち、SDRAM14は、バッファとして機能し、ハードディスク13に対するキャッシュメモリとなっている。なお、SDRAMに限らず、例えばS(static)RAM等を使用することも可能である。また、フラッシュメモリ15は、ハードディスク13に対するキャッシュとして機能する不揮発性メモリ(NV−cache)である。
ここで、上記LSI回路12には、情報記録装置11が各種の処理動作を実行する場合に、その統括的な制御を行なうための制御部となるコントローラ16が内蔵されている。そして、このLSI回路12には、コントローラ16とハードディスク13とを情報転送可能に接続するディスクI/F(interface)17が内蔵されている。
また、このLSI回路12には、コントローラ16とSDRAM14とを情報転送可能に接続するSDRAM I/F18、コントローラ16とフラッシュメモリ15とを情報転送可能に接続するフラッシュメモリI/F19、コントローラ16と外部のホスト装置20とを情報転送可能に接続するホストI/F21等が内蔵されている。
上記ホスト装置20は、例えばPC(personal computer)等である。このホスト装置20は、例えば所定のアプリケーションソフトウエアを実行する際に、情報記録装置11を利用して情報の書き込み及び読み出しを実行するとともに、最終的に得られた情報の保存先としても情報記録装置11を利用することができる。
このように情報記録装置11に対して情報の書き込みや読み出しを行なう場合、ホスト装置20は、情報記録装置11に対して情報の書き込みを要求するコマンドや、情報の読み出しを要求するコマンドを発生する。これらのコマンドは、ホストI/F21を介してコントローラ16に供給され解析される。
これにより、コントローラ16は、ハードディスク13、SDRAM14及びフラッシュメモリ15等に対して、ホスト装置20から供給された情報の書き込みや、ホスト装置20に供給する情報の読み出しを行なうように制御を施すことができる。この場合、コントローラ16は、ハードディスク13、SDRAM14及びフラッシュメモリ15の相互間における情報転送も可能としている。
具体的に言えば、ホスト装置20から供給された情報をハードディスク13に書き込む場合、コントローラ16は、情報の書き込み順序として、以下に示す5つの経路(W1)〜(W5)を選択することができる。
(W1) ホストI/F21→コントローラ16→ディスクI/F17→ハードディスク13。
(W2) ホストI/F21→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→ディスクI/F17→ハードディスク13。
(W3) ホストI/F21→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→ディスクI/F17→ハードディスク13。
(W4) ホストI/F21→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→ディスクI/F17→ハードディスク13。
(W5) ホストI/F21→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→ディスクI/F17→ハードディスク13。
また、ハードディスク13からホスト装置20に情報を読み出す場合、コントローラ16は、情報の読み出し順序として、以下に示す5つの経路(R1)〜(R5)を選択することができる。
(R1) ディスクI/F17→コントローラ16→ホストI/F21→ホスト装置20。
(R2) ディスクI/F17→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→ホストI/F21→ホスト装置20。
(R3) ディスクI/F17→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→ホストI/F21→ホスト装置20。
(R4) ディスクI/F17→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→ホストI/F21→ホスト装置20。
(R5) ディスクI/F17→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→SDRAM I/F18→SDRAM14→SDRAM I/F18→コントローラ16→ホストI/F21→ホスト装置20。
上記した情報の書き込み順序及び読み出し順序は、例えば、ホスト装置20から供給された書き込み要求コマンドや読み出し要求コマンドにおける指示内容、情報の格納場所、SDRAM14やフラッシュメモリ15の空き容量等に応じて、コントローラ16が判断して決定するものである。
ここで、上記した規格により設定されている、情報記録装置11の実行可能な各種のコマンドのうち、この実施の形態を説明する上で必要となるものについて説明する。まず、第1のコマンドは、ハードディスク13上の論理ブロックアドレス(LBA)のうち、情報をフラッシュメモリ15に書き込むLBAを指定するものである。
また、第2のコマンドは、第1のコマンドと同様に、フラッシュメモリ15に書き込むLBAを指定するものであるが、それと同時に、ハードディスク13から当該LBAに記録されている情報を読み出し、その読み出した情報をフラッシュメモリ15に書き込むことを要求するものである。
上記した第1及び第2のコマンドは、上記の規格ではAdd LBA(s) to NV Cache Pinned SetのPI=0及びPI=1に対応しており、フラッシュメモリ15に情報を格納することをホスト装置20から指示されたLBAには、ピンド(pinned)と称される属性情報が付される。
第3のコマンドは、ハードディスク13上のLBAを指定して情報の書き込みを要求するものである。この第3のコマンドがホスト装置20から発生された場合、コントローラ16は、書き込み要求されたLBAにピンドの属性情報が対応付けられているか否かを調べる。そして、対応付けられていた場合には、フラッシュメモリ15の中の書き込み要求されたLBAに対応する領域に書き込みを実行する。
これに対し、書き込み要求されたLBAにピンドの属性情報が対応付けられていない場合、コントローラ16は、SDRAM14またはフラッシュメモリ15の中の指定されたLBAに対応する領域に情報を書き込むか、ハードディスク13の指定されたLBAに情報を書き込むかを、自己の判断で決定し実行する。
第4のコマンドは、ハードディスク13上のLBAを指定して情報の読み出しを要求するものである。この第4のコマンドがホスト装置20から発生された場合、コントローラ16は、指定されたLBAに対応する領域がフラッシュメモリ15上に既に割り当てられており、その領域にハードディスク13よりも新しい情報が保存されていると判断される場合、フラッシュメモリ15から該当情報を読み出す必要がある。
これに対し、ハードディスク13とフラッシュメモリ15とに同じ情報がある場合、コントローラ16は、フラッシュメモリ15の中の読み出し要求されたLBAに対応する領域から該当情報を読み出しても良いし、ハードディスク13の指定されたLBAから情報を読み出しても良いものである。
また、指定されたLBAに対応する領域がフラッシュメモリ15上に既に割り当てられているが、ハードディスク13の方に最新のデータが存在している場合、コントローラ16は、ハードディスク13の指定されたLBAから該当情報を読み出す必要がある。そして、ハードディスク13から情報を読み出した場合には、その情報をSDRAM14またはフラッシュメモリ15にキャッシュするか否かもコントローラ16が判断する。
上記した第3及び第4のコマンドのように、情報の書き込みまたは読み出しが要求されたLBAの中の、ピンドの属性情報が対応付けられていないLBAのうち、フラッシュメモリ15上に領域が割り当てられて、その割り当てられたフラッシュメモリ15上の領域に情報が書き込まれたLBAには、アンピンド(unpinned)と称される属性情報が付される。
そして、ピンドの属性情報が付されたLBAはピンドLBAと称され、そのピンドLBAに対応するフラッシュメモリ15上の領域はピンド領域と称される。また、アンピンドの属性情報が付されたLBAはアンピンドLBAと称され、そのアンピンドLBAに対応するフラッシュメモリ15上の領域はアンピンド領域と称される。このため、フラッシュメモリ15上には、図2に示すように、ピンド領域15aとアンピンド領域15bとその他の領域15cとが形成されることになる。
図3は、上記コントローラ16の一例を示している。このコントローラ16は、ホスト装置20から供給されたコマンドをデコード処理し解析するコマンド解析部16aを有する。このコマンド解析部16aの解析結果により、アーキテクチャメモリ16b内のソフトウエアが特定され、シーケンスコントローラ16cに動作手順が設定される。
このシーケンスコントローラ16cは、I/F及びバスコントローラ16dを介して、情報の流れを制御する。例えば、情報の書き込みまたは読み出しが行なわれるときは、メディア選択部16eがハードディスク13、SDRAM14またはフラッシュメモリ15を特定するとともに、アドレス制御部16fが書き込みアドレスまたは読み出しアドレスを特定する。
そして、情報の書き込み時には、書き込み処理部16gが書き込み情報の転送処理等を実行する。また、情報の読み出し時には、読み出し処理部16hが読み出し情報の転送処理等を実行する。
さらに、コントローラ16には、消去処理部16iが設けられている。この消去処理部16iは、SDRAM14やフラッシュメモリ15に記録された情報の消去処理を実行する。また、この消去処理部16iは、ハードディスク13に記録された情報の消去処理も実行することができる。
また、コントローラ16には、アドレス管理部16jが設けられている。このアドレス管理部16jは、SDRAM14、フラッシュメモリ15及びハードディスク13の記録済み領域や未記録領域等のアドレスを一括して管理している。さらに、コントローラ16には、ハードディスク13、SDRAM14及びフラッシュメモリ15の状態や、残り容量の状態等を監視するための状態判定部16kが設けられている。
ここで、上記フラッシュメモリ15としては、一般的にナンドフラッシュメモリが広く採用されている。この場合、フラッシュメモリ15に対する情報の書き込み速度は、SDRAM14に対する情報の書き込み速度よりも遅いことが多くなっている。
このため、ホスト装置20からピンドLBA範囲外のLBAを指定する書き込み要求コマンドが発行された場合、コントローラ16は、以下に示す3つの処理(P1)〜(P3)を選択的に実行するように設計される。
(P1) SDRAM14内の空き容量が、書き込み要求された情報の量(データサイズ)よりも大きい場合、書き込み要求された情報をSDRAM14に書き込むように制御する。この場合、書き込み要求された情報は、ホスト装置20→ホストI/F21→コントローラ16→SDRAM I/F18→SDRAM14と転送されてSDRAM14にキャッシュされ、その後、適切なタイミングで、SDRAM14→SDRAM I/F18→コントローラ16→ディスクI/F17→ハードディスク13と転送されてハードディスク13に保存される。
(P2) SDRAM14内の空き容量は、書き込み要求された情報の量よりも小さいが、SDRAM14内の情報がハードディスク13に移動中である等の理由により、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できる場合であって、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されてから情報の書き込みを行なっても、フラッシュメモリ15に情報を書き込むよりも速く書き込みが完了すると判断できる場合、書き込み要求された情報をSDRAM14に書き込むように制御する。
(P3) SDRAM14内の空き容量が書き込み要求された情報の量よりも小さく、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できない場合、または、予想できるが、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されてから情報の書き込みを行なうと、フラッシュメモリ15に情報を書き込むよりも遅くなると判断される場合、書き込み要求された情報をフラッシュメモリ15に書き込むように制御する。この場合、書き込み要求された情報は、ホスト装置20→ホストI/F21→コントローラ16→フラッシュメモリI/F19→フラッシュメモリ15と転送されてフラッシュメモリ15にキャッシュされ、その後、適切なタイミングで、フラッシュメモリ15→フラッシュメモリI/F19→コントローラ16→ディスクI/F17→ハードディスク13と転送されてハードディスク13に保存される。
ここで、上記処理(P2)及び(P3)における判断処理について説明する。一般に、SDRAM14に格納された複数個の情報のうちのいくつかをハードディスク13に書き込む場合には、予め書き込むべき複数個の情報に対してリオーダリング処理を行なって、情報を書き込む順序やタイミングを設定するようにしている。
すなわち、このリオーダリング処理は、ハードディスク13に対して複数個の情報の書き込みが効率的に行なわれるように、情報の書き込み順序を設定する処理である。この処理は、書き込むべき情報のハードディスク13上における書き込み位置(スタートアドレス)、情報量(データサイズ)、ハードディスク13に対する現在のヘッド13a(図5参照)の位置等を考慮して実現される。
図4は、リオーダリング処理により書き込み順序が並び替えられた後の複数個(図示の場合は4つ)の情報について、各情報がハードディスク13に書き込まれる順序と、各情報のハードディスク13上での記録開始位置(スタートアドレス)と、各情報の量(データサイズ)と、各情報のハードディスク13への書き込みに要する時間(ライト時間)との関係を示している。
図4に示すように情報の書き込み順序が設定されることにより、図5に示すように、ハードディスク13が反時計方向に回転され、ヘッド13aがハードディスク13の内周側から外周側に移動して情報を書き込むものであるとすると、4つの情報がハードディスク13上に効率的に書き込まれていくことがわかる。
そして、図4に示した関係から、書き込み順序が最初の情報については、ハードディスク13への書き込みが時間T1後に完了し、そのときSDRAM14内にデータサイズS1分の空き領域が形成されることがわかる。また、書き込み順序が2番目の情報については、ハードディスク13への書き込みが時間T1+T2後に完了し、そのときSDRAM14内にデータサイズS1+S2分の空き領域が形成されることがわかる。
図6は、このようにして複数の情報がSDARM14からハードディスク13に順次書き込まれていった場合の、経過時間と、SDRAM14内に形成される空き領域との関係を示している。
予めSDRAM14内にデータサイズSfree分の空き容量が存在しているとすると、最初の情報のハードディスク13への書き込みが時間T1後に完了したとき、DRAM14内にデータサイズSfree+S1分の空き領域が形成され、2番目の情報のハードディスク13への書き込みが時間T1+T2後に完了したとき、DRAM14内にデータサイズSfree+S1+S2分の空き領域が形成され、3番目の情報のハードディスク13への書き込みが時間T1+T2+T3後に完了したとき、DRAM14内にデータサイズSfree+S1+S2+S3分の空き領域が形成され、4番目(最後)の情報のハードディスク13への書き込みが時間T1+T2+T3+T4後に完了したとき、DRAM14内にデータサイズSfree+S1+S2+S3+S4分の空き領域が形成されることがわかる。
このため、上記コントローラ16は、例えば図6に一点鎖線で示すように、データサイズSがSfree+S1<S<Sfree+S1+S2である情報が、ホスト装置20から書き込み要求された場合、その情報を書き込めるだけの空き容量Sfree+S1+S2がSDRAM14に形成されることを予想することができる。
このように、上記コントローラ16は、ホスト装置20から、SDRAM14内に存在している空き容量よりもデータサイズの大きい情報の書き込みが要求された場合に、上記したSDRAM14からハードディスク13への情報の移動が実行中、または、直ぐに実行される状態にあって、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが計算上わかるとき、コントローラ16は、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できると判断する。
そして、コントローラ16は、SDRAM14内にホスト装置20から書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できると判断した場合、書き込み要求された情報をSDRAM14に書き込む場合と、フラッシュメモリ15に書き込む場合とで、いずれが速いかを判別する。
すなわち、SDRAM14内の空き容量よりもデータサイズの大きい情報をSDRAM14に書き込む場合には、書き込み要求された情報を書き込めるだけの空き容量がSDRAM14内に形成されるまでの時間と、SDRAM14に形成された空き領域に情報を書き込む時間とを加算した時間を要する。
つまり、書き込み要求された情報を書き込むだけの空き容量がSDRAM14にない場合、ホスト装置20は、上記した加算時間分だけ待たされることになる。なお、SDRAM14に情報を書き込む時間は、SDRAM14に空き容量を形成する時間に比して極めて短いため、ホスト装置20の待ち時間は、実質的に、SDRAM14に空き容量を形成するのに要する時間とみて問題ない。
図7は、図6に示したように4つの情報がSDRAM14からハードディスク13に移動される条件において、書き込み要求された情報のデータサイズと、その情報を書き込み可能な空き領域がSDRAM14に形成されるまでの待ち時間との関係を示している。例えば、データサイズSがSfree+S1<S<Sfree+S1+S2である情報の場合、その情報を書き込み可能な空き容量Sfree+S1+S2がSDRAM14に形成されるためには、最大で時間T1+T2待つ必要があることがわかる。すなわち、SDRAM14内の空き容量よりもデータサイズの大きい情報をSDRAM14に書き込む場合、その情報のSDRAM14への書き込みが完了するまでに要する時間Tmは、書き込む情報のデータサイズに依存することになる。
一方、書き込み要求された情報をフラッシュメモリ15に書き込む場合には、フラッシュメモリ15に情報を書き込む時間だけを要する。つまり、ホスト装置20は、書き込み要求した情報をフラッシュメモリ15に書き込むのに必要な時間分だけ待たされることになる。
フラッシュメモリ15の場合、その記録容量はSDRAM14に比べて非常に大きいので、空き容量を確保する必要性は低い。すなわち、情報をフラッシュメモリ15に書き込む場合、ホスト装置20は、図8に示すように、書き込む情報のデータサイズSに比例した時間Tfだけ待たされることになる。
このため、コントローラ16は、書き込み要求された情報のSDRAM14への書き込みが完了するまでに要する時間Tmと、書き込み要求された情報のフラッシュメモリ15への書き込みが完了するまでに要する時間Tfとを比較し、短い方に情報をキャッシュさせるように制御する。これにより、書き込み要求を受けた情報を最も速く書き込むことが可能なSDARM14またはフラッシュメモリ15を選択することができ、ひいては、ホスト装置20を含めた全体の情報処理速度の高速化を図ることが可能となる。
図9は、上記した図7と図8とを重ねて示したものである。すなわち、コントローラ16は、ホスト装置20からSDRAM14内の空き容量よりもデータサイズの大きい情報の書き込みが要求され、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できる場合、その情報のSDRAM14への書き込みが完了するまでに要する時間Tmと、その情報のフラッシュメモリ15への書き込みが完了するまでに要する時間Tfとを比較する。そして、Tf>Tmのとき情報をSDRAM14に書き込み、Tf<Tmのとき情報をフラッシュメモリ15に書き込むように制御している。
図10及び図11は、上記したコントローラ16の処理動作をまとめたフローチャートを示している。すなわち、処理が開始(ステップS1)され、ステップS2で、ホスト装置20からの情報の書き込み要求コマンドを受信すると、コントローラ16は、ステップS3で、書き込み要求された情報の量(データサイズ)Sを取得する。このデータサイズSは、書き込み要求コマンドに付加されている。
そして、コントローラ16は、ステップS4で、SDRAM14内の空き容量が書き込み要求された情報のデータサイズSよりも大きいか否かを判別し、大きいと判断された場合(YES)、ステップS9で、書き込み要求された情報をSDRAM14に書き込み、処理を終了(ステップS11)する。
また、上記ステップS4でSDRAM14内の空き容量が書き込み要求された情報のデータサイズSよりも大きくないと判断された場合(NO)、コントローラ16は、ステップS5で、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できるか否かを判別する。
そして、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できないと判断された場合(NO)、コントローラ16は、ステップS10で、書き込み要求された情報をフラッシュメモリ15に書き込み、処理を終了(ステップS11)する。
また、上記ステップS5でSDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できると判断された場合(YES)、コントローラ16は、ステップS6で、書き込み要求された情報のSDRAM14への書き込みが完了するまでに要する時間Tmを算出する。さらに、コントローラ16は、ステップS7で、書き込み要求された情報のフラッシュメモリ15への書き込みが完了するまでに要する時間Tfを算出する。
そして、コントローラ16は、ステップS8で、時間Tmと時間Tfとを比較して、時間Tmが時間Tfより短いか否か、つまり、時間Tm<時間Tfであるか否かを判別し、時間Tm<時間Tfであると判断された場合(YES)、ステップS9で、書き込み要求された情報をSDRAM14に書き込み、処理を終了(ステップS11)する。
また、上記ステップS8で時間Tm<時間Tfでないと判断された場合(NO)、コントローラ16は、ステップS10で、書き込み要求された情報をフラッシュメモリ15に書き込み、処理を終了(ステップS11)する。
上記した実施の形態によれば、SDRAM14内に書き込み要求された情報を格納するだけの空き容量がない場合、コントローラ16は、SDRAM14内に書き込み要求された情報を格納するに足る空き容量が形成されることが予想できるか否かを判断し、予想できるときに、SDRAM14及びフラッシュメモリ15のうち情報の書き込みが完了するまでに要する時間の短い方に書き込むようにしている。
このため、ホスト装置20から書き込み要求を受けた情報を、最も速く書き込むことが可能なSDRAM14またはフラッシュメモリ15を容易かつ迅速に選択することができるようになり、ひいては、ホスト装置20を含めた全体の情報処理速度の高速化を図ることが可能となる。
次に、上記した実施の形態の変形例について説明する。すなわち、ホスト装置20から書き込み要求された情報を、所定のデータ単位(例えばフラッシュメモリ15への書き込みデータ単位)に分け、そのデータ単位毎にSDRAM14及びフラッシュメモリ15のいずれに書き込む方が速いかを判断するようにしても良い。
このようにすれば、判断のための演算回数は増えるが、所定のデータ単位毎にDRAM14及びフラッシュメモリ15のいずれに書き込むかを判断しているため、ホスト装置20から書き込み要求コマンドが発生された後に起きた外的要因に対応し易くなるという効果がある。
例えば、ホスト装置20から書き込み要求コマンドが発生され、書き込むべき情報を格納するだけの空き容量がSDRAM14に形成されることが予想でき、フラッシュメモリ15よりもSDRAM14に書き込む方が速いと判断された場合でも、SDRAM14からハードディスク13に情報を書き込んでいる最中に、外部振動等により書き込みエラーが発生して、SDRAM14に必要な空き容量が形成されるまでに、予定していた時間より長い時間を要してしまうことがある。
これに対し、所定のデータ単位毎にDRAM14及びフラッシュメモリ15のいずれに書き込むかを判断することにより、このような不足の事態に対して十分に対処することが可能となる。
図12及び図13は、ホスト装置20から書き込み要求された情報を所定のデータ単位に分け、そのデータ単位毎にDRAM14及びフラッシュメモリ15のいずれに書き込むかを判断するコントローラ16の処理動作をまとめたフローチャートを示している。すなわち、処理が開始(ステップS12)され、ステップS13で、ホスト装置20からの情報の書き込み要求コマンドを受信すると、コントローラ16は、ステップS14で、書き込み要求された情報の量(データサイズ)Sを取得する。
そして、コントローラ16は、ステップS15で、SDRAM14内の空き容量が書き込み要求された情報のデータサイズSよりも大きいか否かを判別し、大きいと判断された場合(YES)、ステップS20で、書き込み要求された情報のうちの所定のデータ単位SuをSDRAM14に書き込む。
その後、コントローラ16は、ステップS22で、書き込み要求された情報の全てが書き込み完了したか否かを判別し、完了したと判断された場合(YES)、処理を終了(ステップS23)する。
また、上記ステップS15でSDRAM14内の空き容量が書き込み要求された情報のデータサイズSよりも大きくないと判断された場合(NO)、コントローラ16は、ステップS16で、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できるか否かを判別する。
そして、SDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できないと判断された場合(NO)、コントローラ16は、ステップS21で、書き込み要求された情報のうちの所定のデータ単位Suをフラッシュメモリ15に書き込み、ステップS22の処理に移行する。
また、上記ステップS16でSDRAM14内に書き込み要求された情報を書き込めるだけの空き容量が形成されることが予想できると判断された場合(YES)、コントローラ16は、ステップS17で、書き込み要求された情報のうちの所定のデータ単位SuがSDRAM14に書き込み完了されるまでに要する時間Tmを算出する。さらに、コントローラ16は、ステップS18で、書き込み要求された情報のうちの所定のデータ単位Suがフラッシュメモリ15に書き込み完了されるまでに要する時間Tfを算出する。
そして、コントローラ16は、ステップS19で、時間Tmと時間Tfとを比較して、時間Tmが時間Tfより短いか否か、つまり、時間Tm<時間Tfであるか否かを判別し、時間Tm<時間Tfであると判断された場合(YES)、ステップS20で、書き込み要求された情報の所定のデータ単位SuをSDRAM14に書き込み、ステップS22の処理に移行する。
また、上記ステップS19で時間Tm<時間Tfでないと判断された場合(NO)、コントローラ16は、ステップS21で、書き込み要求された情報の所定のデータ単位Suをフラッシュメモリ15に書き込み、ステップS22の処理に移行する。そして、上記ステップS22で書き込み要求された情報の全てが書き込み完了していないと判断された場合(NO)、コントローラ16は、ステップS17の処理に移行する。
上記した変形例によれば、ホスト装置20から書き込み要求された情報を所定のデータ単位Suに分け、そのデータ単位Su毎にSDRAM14及びフラッシュメモリ15のいずれに書き込む方が速いかを判断するようにしている。このため、ホスト装置20から書き込み要求コマンドが発生された後に起きた外的要因等の不足の事態に十分に対処して、書き込み要求を受けた情報を最も速く書き込むことが可能なSDRAM14またはフラッシュメモリ15を容易かつ迅速に選択することができるようになり、ひいては、ホスト装置20を含めた全体の情報処理速度の高速化を図ることが可能となる。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
この発明の実施の形態を示すもので、情報記録装置の概略を説明するために示すブロック構成図。 同実施の形態における情報記録装置に備えられたフラッシュメモリ内の記録領域を説明するために示す図。 同実施の形態における情報記録装置に備えられたコントローラの一例を説明するために示すブロック構成図。 同実施の形態における情報記録装置に備えられたハードディスクに対するリオーダリング処理を説明するために示す図。 同実施の形態における情報記録装置に備えられたハードディスクに対するリオーダリング処理を説明するために示す図。 同実施の形態における情報記録装置でSDARMからハードディスクへの情報移動時の経過時間とSDRAM内の空き領域との関係を説明するために示す図。 同実施の形態における情報記録装置で書き込み情報サイズと書き込み可能な空き領域がSDRAMに形成される待ち時間との関係を説明するために示す図。 同実施の形態における情報記録装置で書き込み情報サイズと書き込み可能な空き領域がフラッシュメモリに形成される待ち時間との関係を説明するために示す図。 同実施の形態における情報記録装置で情報をSDRAMとフラッシュメモリとのいずれに書き込むかの判断処理を説明するために示す図。 同実施の形態における情報記録装置の主要な処理動作の一部を説明するために示すフローチャート。 同実施の形態における情報記録装置の主要な処理動作の残部を説明するために示すフローチャート。 同実施の形態における情報記録装置の主要な処理動作の変形例の一部を説明するために示すフローチャート。 同実施の形態における情報記録装置の主要な処理動作の変形例の残部を説明するために示すフローチャート。
符号の説明
11…情報記録装置、12…LSI回路、13…ハードディスク、14…SDRAM、15…フラッシュメモリ、16…コントローラ、17…ディスクI/F、18…SDRAM I/F、19…フラッシュメモリI/F、20…ホスト装置、21…ホストI/F。

Claims (14)

  1. ディスク状記録媒体と、
    前記ディスク状記録媒体に対するキャッシュとなる不揮発性メモリと、
    前記不揮発性メモリよりも情報の書き込み及び読み出し速度が速く、前記ディスク状記録媒体に対するキャッシュとなるキャッシュメモリと、
    前記不揮発性メモリ上の対応する領域に書き込むことが要求されているアドレス以外のアドレスへの情報の書き込みが要求されたとき、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に存在しない場合、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されるか否かを判別する判別手段と、
    前記判別手段により、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されると判断された場合、書き込み要求された情報を前記キャッシュメモリ及び前記不揮発性メモリのいずれに書き込む方が速いかを判別して、速い方のメモリに情報を書き込ませる制御手段とを具備することを特徴とする情報記録装置。
  2. 前記判別手段は、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されるだけの情報が、前記キャッシュメモリから前記ディスク状記録媒体に移動中であるとき、または、移動されることがわかっているとき、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されると判断することを特徴とする請求項1記載の情報記録装置。
  3. 前記判別手段は、前記キャッシュメモリから前記ディスク状記録媒体に複数の情報を移動する際、前記キャッシュメモリ上の各情報の前記ディスク状記録媒体への書き込み順序を設定するリオーダリング処理結果に基づいて、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されるか否かを判別することを特徴とする請求項1記載の情報記録装置。
  4. 前記制御手段は、書き込み要求された情報を前記キャッシュメモリに書き込むのに要する時間と、書き込み要求された情報を前記不揮発性メモリに書き込むのに要する時間とを比較し、書き込みに要する時間の短い方のメモリに情報を書き込ませることを特徴とする請求項1記載の情報記録装置。
  5. 前記制御手段は、前記キャッシュメモリから前記ディスク状記録媒体に複数の情報を移動する際、前記キャッシュメモリ上の各情報の前記ディスク状記録媒体への書き込み順序を設定するリオーダリング処理結果に基づいて、書き込み要求された情報を前記キャッシュメモリに書き込むのに要する時間を設定することを特徴とする請求項4記載の情報記録装置。
  6. 前記制御手段は、書き込み要求された情報を所定のデータ単位に分け、そのデータ単位毎に前記キャッシュメモリ及び不揮発性メモリのいずれに書き込む方が速いかを判断し、データ単位毎に速い方のメモリに情報を書き込ませることを特徴とする請求項1記載の情報記録装置。
  7. 前記制御手段は、
    書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に存在する場合、書き込み要求された情報を前記キャッシュメモリに書き込み、
    前記判別手段により、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されないと判断された場合、前記書き込み要求された情報を前記不揮発性メモリに書き込むことを特徴とする請求項1記載の情報記録装置。
  8. 前記ディスク状記録媒体は、ハードディスクを含み、前記キャッシュメモリは、SDRAM、DRAM、SRAMのいずれかを含み、前記不揮発性メモリは、ナンドフラッシュメモリを含むことを特徴とする請求項1記載の情報記録装置。
  9. ディスク状記録媒体と、前記ディスク状記録媒体に対するキャッシュとなる不揮発性メモリと、前記不揮発性メモリよりも情報の書き込み及び読み出し速度が速く、前記ディスク状記録媒体に対するキャッシュとなるキャッシュメモリとを備えた情報記録装置を制御する方法であって、
    前記不揮発性メモリ上の対応する領域に書き込むことが要求されているアドレス以外のアドレスへの情報の書き込みが要求されたとき、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に存在するか否かを判別する第1の工程と、
    前記第1の工程で、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に存在しないと判断された場合、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されるか否かを判別する第2の工程と、
    前記第2の工程で、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されると判断された場合、前記書き込み要求された情報を前記キャッシュメモリ及び前記不揮発性メモリのいずれに書き込む方が速いかを判別し、速い方のメモリに情報を書き込ませる第3の工程とを具備することを特徴とする情報記録装置の制御方法。
  10. 前記第2の工程は、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されるだけの情報が、前記キャッシュメモリから前記ディスク状記録媒体に移動中であるとき、または、移動されることがわかっているとき、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されると判断することを特徴とする請求項9記載の情報記録装置の制御方法。
  11. 前記第2の工程は、前記キャッシュメモリから前記ディスク状記録媒体に複数の情報を移動する際、前記キャッシュメモリ上の各情報の前記ディスク状記録媒体への書き込み順序を設定するリオーダリング処理結果に基づいて、書き込み要求された情報のサイズ分の空き容量が前記キャッシュメモリ上に形成されることが予想されるか否かを判別することを特徴とする請求項9記載の情報記録装置の制御方法。
  12. 前記第3の工程は、書き込み要求された情報を前記キャッシュメモリに書き込むのに要する時間と、書き込み要求された情報を前記不揮発性メモリに書き込むのに要する時間とを比較し、書き込みに要する時間の短い方のメモリに情報を書き込ませることを特徴とする請求項9記載の情報記録装置の制御方法。
  13. 前記第3の工程は、前記キャッシュメモリから前記ディスク状記録媒体に複数の情報を移動する際、前記キャッシュメモリ上の各情報の前記ディスク状記録媒体への書き込み順序を設定するリオーダリング処理結果に基づいて、書き込み要求された情報を前記キャッシュメモリに書き込むのに要する時間を設定することを特徴とする請求項12記載の情報記録装置の制御方法。
  14. 前記第3の工程は、書き込み要求された情報を所定のデータ単位に分け、そのデータ単位毎に前記キャッシュメモリ及び不揮発性メモリのいずれに書き込む方が速いかを判断し、データ単位毎に速い方のメモリに情報を書き込ませることを特徴とする請求項9記載の情報記録装置の制御方法。
JP2006223256A 2006-08-18 2006-08-18 情報記録装置及びその制御方法 Withdrawn JP2008046964A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006223256A JP2008046964A (ja) 2006-08-18 2006-08-18 情報記録装置及びその制御方法
US11/878,993 US20080046660A1 (en) 2006-08-18 2007-07-30 Information recording apparatus and control method thereof
CNA2007101465186A CN101127229A (zh) 2006-08-18 2007-08-17 信息记录设备及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006223256A JP2008046964A (ja) 2006-08-18 2006-08-18 情報記録装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2008046964A true JP2008046964A (ja) 2008-02-28

Family

ID=39095233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006223256A Withdrawn JP2008046964A (ja) 2006-08-18 2006-08-18 情報記録装置及びその制御方法

Country Status (3)

Country Link
US (1) US20080046660A1 (ja)
JP (1) JP2008046964A (ja)
CN (1) CN101127229A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175379A (ja) * 2010-02-23 2011-09-08 Toshiba Corp マイクロコンピュータ及び車両
US8407418B2 (en) 2010-05-13 2013-03-26 Kabushiki Kaisha Toshiba Information processing apparatus and driver
US8639881B2 (en) 2010-05-13 2014-01-28 Kabushiki Kaisha Toshiba Information processing apparatus and driver
US8868853B2 (en) 2009-08-12 2014-10-21 Nec Corporation Data processing device, data recording method and data recording program
CN104202650A (zh) * 2014-09-28 2014-12-10 西安诺瓦电子科技有限公司 流媒体播放***及方法、led显示屏***
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551779B (zh) * 2008-04-02 2014-11-05 深圳市朗科科技股份有限公司 计算机及数据存储方法
JP2010157130A (ja) * 2008-12-27 2010-07-15 Toshiba Corp メモリシステム
US8171219B2 (en) * 2009-03-31 2012-05-01 Intel Corporation Method and system to perform caching based on file-level heuristics
US8850151B2 (en) * 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
KR101691997B1 (ko) * 2010-07-22 2017-01-02 삼성전자 주식회사 영상처리장치 및 그 제어방법
CN102231137B (zh) * 2011-05-26 2014-04-02 浪潮(北京)电子信息产业有限公司 一种数据存储***及方法
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
CN106293503B9 (zh) * 2015-06-23 2019-06-28 株式会社东芝 磁盘装置及控制方法
CN107992271B (zh) * 2017-12-21 2021-04-23 郑州云海信息技术有限公司 数据预读方法、装置、设备及计算机可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
JP3578265B2 (ja) * 1999-11-19 2004-10-20 日本電気株式会社 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
JP4178268B2 (ja) * 2000-10-31 2008-11-12 富士通マイクロエレクトロニクス株式会社 マイクロコントローラ
US20030204675A1 (en) * 2002-04-29 2003-10-30 Dover Lance W. Method and system to retrieve information from a storage device
US20040088481A1 (en) * 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
US20040193782A1 (en) * 2003-03-26 2004-09-30 David Bordui Nonvolatile intelligent flash cache memory
US7159076B2 (en) * 2003-06-24 2007-01-02 Research In Motion Limited Cache operation with non-cache memory
US20050125602A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. HDD with storage of critical data in FLASH
US7174421B2 (en) * 2003-12-04 2007-02-06 Matsushita Electric Industrial Co., Ltd. HDD with rapid availability of critical data after critical event
US20050125600A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for storing HDD critical data in flash

Cited By (7)

* Cited by examiner, † Cited by third party
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
JP2011175379A (ja) * 2010-02-23 2011-09-08 Toshiba Corp マイクロコンピュータ及び車両
US8407418B2 (en) 2010-05-13 2013-03-26 Kabushiki Kaisha Toshiba Information processing apparatus and driver
US8639881B2 (en) 2010-05-13 2014-01-28 Kabushiki Kaisha Toshiba Information processing apparatus and driver
USRE48127E1 (en) 2010-05-13 2020-07-28 Toshiba Memory Corporation Information processing apparatus and driver
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
CN104202650A (zh) * 2014-09-28 2014-12-10 西安诺瓦电子科技有限公司 流媒体播放***及方法、led显示屏***

Also Published As

Publication number Publication date
CN101127229A (zh) 2008-02-20
US20080046660A1 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
JP2008046964A (ja) 情報記録装置及びその制御方法
JP4768504B2 (ja) 不揮発性フラッシュメモリを用いる記憶装置
JP4836647B2 (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP4675881B2 (ja) 磁気ディスク装置およびその制御方法
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
JP2008027383A (ja) 情報記録装置及びその制御方法
JP2009015856A (ja) メモリシステム及びそのデータ読み出し方法
JP4874844B2 (ja) 情報記録装置及びその制御方法
JP2009181314A (ja) 情報記録装置およびその制御方法
JP2007193440A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2006114206A (ja) Dramおよびフラッシュメモリを有するhdd
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
JP2009020986A (ja) ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2006221627A (ja) 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
JP2007193441A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2013174975A (ja) メモリシステムとそのデータ書き込み方法
JP2007193448A (ja) 情報記録装置及びその制御方法
EP2293195A2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
JP2007193439A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2009032305A (ja) 情報記録装置及びその制御方法
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP2007193866A (ja) 情報記録装置及びその制御方法
JP4594944B2 (ja) メモリ制御装置
JP2007293987A (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: 20100219