JPH1040170A - Disk cache system - Google Patents

Disk cache system

Info

Publication number
JPH1040170A
JPH1040170A JP8197585A JP19758596A JPH1040170A JP H1040170 A JPH1040170 A JP H1040170A JP 8197585 A JP8197585 A JP 8197585A JP 19758596 A JP19758596 A JP 19758596A JP H1040170 A JPH1040170 A JP H1040170A
Authority
JP
Japan
Prior art keywords
disk device
data
semiconductor
magnetic disk
device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8197585A
Other languages
Japanese (ja)
Inventor
Hiroshi Sukegawa
博 助川
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 JP8197585A priority Critical patent/JPH1040170A/en
Publication of JPH1040170A publication Critical patent/JPH1040170A/en
Application status is Pending legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a new disk cache system having a fast accessible semiconductor disk device and a magnetic disk device with large storage capacity combined. SOLUTION: When a series of read requests to the magnetic disk device 12 is generated, data read out of the magnetic disk device 12 is passed to an OS and application, and also stored in the semiconductor disk device 11. When another series of read requests to the magnetic disk device 12 is generated, data are read out of the semiconductor disk device 11 on condition that the same data are present on the semiconductor disk device 11, so a fast read becomes possible. Cache data stored in the semiconductor disk device 11 are effective even after the power source is turned off and on. Therefore, even when the system power source is turned off, the contents in the disk cache which are structured so far and high in hit rate can effectively be maintained.

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】この発明はディスクキャッシュシステムに関し、特に磁気ディスク装置と半導体ディスク装置とを有するコンピュータシステムで使用されるディスクキャッシュシステムに関する。 Relates TECHNICAL FIELD The present invention relates to a disk cache system, a disk cache system for use in particular computer system having a magnetic disk device and a semiconductor disk device.

【0002】 [0002]

【従来の技術】近年、コンピュータシステムにおいては、その2次記憶として用いられている磁気ディスク装置のアクセス速度の高速化のために、ディスクキャッシュが多く用いられている。 Recently, in the computer system, for faster access speed of the magnetic disk apparatus used as a secondary storage, it is widely used disk cache.

【0003】ディスクキャッシュは、ホストCPUとハードディスク装置間で入出力されるデータを一時的に保持するための高速バッファ記憶であり、ハードディスク装置上のデータの写しの一部が格納される。 [0003] disk cache is a high-speed buffer memory for temporarily storing data input and output between the host CPU and the hard disk device, a part of the copy of the data on the hard disk drive is stored.

【0004】中型および大型の汎用コンピュータでは、 [0004] In the medium-sized and large general-purpose computer,
このバッファ記憶専用の高速半導体メモリとして、SR As a high-speed semiconductor memory dedicated this buffer storage, SR
AMやDRAM等が使用されている。 AM or DRAM, and the like are used. また汎用コンピュータで使用される大型磁気ディスク装置の中には、バッファ記憶として使用されるSRAMやDRAM等を内蔵しているものもある。 Also in the large magnetic disk devices used in a general purpose computer, some of which has a built-in SRAM or DRAM or the like is used as a buffer memory. 一方、パーソナルコンピュータにおいては、前述のようにディスクキャッシュ専用の半導体メモリは用いられておらず、主記憶の一部の領域をディスクキャッシュとして使用し、ソフトウェア的にそのキャッシュ動作を制御するのが普通である。 On the other hand, the personal computer is not disk cache only semiconductor memory is used as described above, a part of the area of ​​the main memory used as a disk cache, is usual to control the software to its cache operation it is.

【0005】ディスクキャッシュを備えたこれらシステムにおいては、ホストCPUからハードディスク装置のリードアクセスが要求されると、まずバッファ記憶が参照され、要求されたデータがそのバッファ記憶にあれば(キャッシュヒット)、実際にハードディスク装置をアクセスしないで直ちにそのバッファ記憶からデータがホストCPUに転送される。 [0005] In these systems with disk cache, the read access of the hard disk drive from the host CPU is required, is first reference buffer memories, if the requested data is in the buffer memory (cache hit), Indeed data from immediately the buffer memory without accessing the hard disk drive is transferred to the host CPU.

【0006】もし、要求されたデータがバッファ記憶になければ(キャッシュミスヒット)、要求されたデータがハードディスク装置から読み出されてホストCPUに転送されると共に、バッファ記憶に格納される。 [0006] If not in the requested data buffer memory (cache miss), the requested data while being transferred is read from the hard disk device to the host CPU, and stored in the buffer memory. この時、バッファ記憶に未使用の空きエントリがない場合にはLRUなどのアルゴリズムに従ってブロック置き換えがなされる。 At this time, block replacement is made according to an algorithm such as LRU if there are no free entries unused buffer storage. この場合、バッファ記憶内で最も古いデータや使用頻度の低いデータが廃棄され、それによって生じた空きエントリに新たなデータが格納される。 In this case, discarded the oldest data and less frequently used data in the buffer memory, new data is stored in the empty entry caused by it.

【0007】一方、ホストCPUからの要求がハードディスク装置への書き込みの場合には、バッファ記憶にそのデータが書き込まれる。 On the other hand, requests from the host CPU in the case of writing to the hard disk drive, the data is written into the buffer memory. この場合、バッファ記憶の内容をディスク装置に反映することが必要となるが、その方式には、バッファ記憶とディスク装置のデータ書き替えを同時に行うライトスルー方式と、バッファ記憶の内容だけを先に書き替えてディスク装置のデータ書き替えを後で行うライトバック方式とがある。 In this case, it becomes necessary to reflect the contents of the buffer memory to the disk device, the that method, and the write-through method of performing data rewriting in the buffer memory and the disk device at the same time, only the previous contents of the buffer memory rewritten has a write-back method to be performed later data rewriting of the disk device.

【0008】一般には、後者の方式のほうが高性能であるため、ディスクキャッシュにはそのライトバック方式が多く採用されている。 [0008] In general, because it is a high-performance is the latter method, the write-back method is often used in the disk cache. このように、ディスクキャッシュを使用した場合には、ハードディスク装置をアクセスするために必要な機械的な駆動動作の実行回数が少なくなり、ハードディスク装置のアクセス速度を見掛け上大幅に高速にすることができる。 Thus, when using the disk cache may be number of executions of the mechanical drive operations required to access the hard disk drive is reduced, and a high speed on a greatly apparent access speed of the hard disk drive .

【0009】しかしながら、前述したようにディスクキャッシュは、汎用コンピュータおよびパーソナルコンピュータのどちらにおいてもSRAMやDRAM等の揮発性の半導体メモリから構成されているので、例えば、システムの電源を一旦オフにしてしまうと、キャッシュの内容は全て消失されてしまう。 However, the disk cache as described above, since it is composed of a volatile semiconductor memory SRAM, DRAM or the like in both general purpose computers and personal computers, for example, once will turn off the system and, it would be lost all the contents of the cache. この場合、それまでに構築されているヒット率の高いキャッシュの内容が全て無駄になり、システムの電源再投入後に、キャッシュの内容を最初から構築し直すことが必要になる。 In this case, until the becomes all the contents of the high hit rate cache that is built waste it, after restoring power to the system, it is necessary to rebuild the cache contents from the beginning. 従って、電源再投入後もしばらくの間は、キャッシュミスヒットが多発し、アクセス効率の低下が引き起こされることになる。 Therefore, during even some time after the power is turned on again, a cache miss occurs frequently, so that the decrease of the access efficiency is caused. 特に、パーソナルコンピュータにおいては、ユーザによってシステム電源のオン・オフが頻繁に行われるため、その影響は大きい。 In particular, in the personal computer, the on-off of the system power supply is frequently performed by a user, the effect is large. このことが、CPUの高速化にも拘わらず、依然として、オペレーティングシステムやアプリケーションプログラムの起動に多くの時間が必要となっている要因でもある。 This is despite the speed of CPU, there is still also a factor much time has become necessary to boot the operating system and application programs.

【0010】一方、ノートブック型パーソナルコンピュータやPDAでは、近年低価格化が進んでいる半導体ディスク装置が磁気ディスク装置に代わる新たな2次記憶として注目されている。 On the other hand, in the notebook computer, a PDA, or price reduction willing are semiconductor disk device has attracted attention as a new secondary memory in place of the magnetic disk device in recent years. 半導体ディスク装置は、電気的に一括消去が可能な不揮発性の半導体メモリであるフラッシュEEPROMを使用しており、磁気ディスク装置に比し、小型、軽量、低消費電力、ランダムアクセスを高速に行うことができる、という利点がある。 Semiconductor disk device, electrically and using flash EEPROM is a nonvolatile semiconductor memory capable of collective erasure, compared to the magnetic disk device, small size, light weight, performing low power consumption, a random access at a high speed it is, there is an advantage in that. また、半導体ディスク装置は、物理的な衝撃による誤動作や故障にも強い。 Further, the semiconductor disk device, resistant to malfunction and failure due to physical impact. しかし、その反面、半導体ディスク装置は、 However, on the other hand, semiconductor disk device,
低価格化が進んではいるものの磁気ディスク装置よりも単位記憶サイズ当たりの価格が高い。 Price per unit storage size than the magnetic disk device that less expensive to enter progressed high.

【0011】多くのパーソナルコンピュータでは、ハードディスク装置と、PCカード型のフラッシュメモリカードなどから構成される半導体ディスク装置の双方を使えるように構成されている。 [0011] In many personal computers, and the hard disk device is configured to use both the semiconductor disk device and the like PC card type flash memory card. この場合、通常、これらハードディスク装置と半導体ディスク装置はそれぞれが別々のドライブユニットとして使われる。 In this case, typically, each of these hard disk devices and semiconductor disk device is used as a separate drive unit.

【0012】 [0012]

【発明が解決しようとする課題】上述のように、従来では、揮発性メモリを用いたディスクキャッシュシステムであるため、システム電源が投入されて以降、その特性が有効になり、その後の”学習効果”によりアクセス性能を向上させる仕組みである。 [0007] As described above, conventionally, since a disk cache system using a volatile memory, since the system power is turned on, its characteristics is enabled, then the "learning effect "by a mechanism to improve the access performance. 従って、特にシステム電源のオン・オフが頻繁に行われるパーソナルコンピュータにおいては、オペレーティングシステム及び頻繁に使用するアプリケーションであっても、電源起動後の第1 Thus, especially in the personal computer on and off the system power is frequently performed, be an application that uses the operating system and frequently, the after power activation 1
回目のアクセスに対しては、キャッシュシステムは有効に働かず、OS、アプリケーションの肥大化と共にその起動所要時間が長くなるという問題があった。 For times th access, the cache system does not work effectively, OS, the startup required time is disadvantageously prolonged with bloated application.

【0013】この発明はこのような点に鑑みてなされたもので、高速アクセス可能な半導体ディスク装置と記憶容量の大きい磁気ディスク装置とを融合させた新たなディスクキャッシュシステムを実現し、システム電源がオフされてもそれまでに構築されたヒット率の高いディスクキャッシュの内容を有効に維持することができるディスクキャッシュシステムを提供することを目的とする。 [0013] The invention achieves this has been made in view of the new disk cache system that combines a high-speed accessible semiconductor disk device and the larger magnetic disk drive storage capacity, system power and an object thereof is to provide a disk cache system can effectively maintain the contents of the off to be so far constructed high hit rates disk cache.

【0014】 [0014]

【課題を解決するための手段】この発明は、磁気ディスク装置と、フラッシュEEPROMから構成される半導体ディスク装置とを有するコンピュータシステムで使用されるディスクキャッシュシステムであって、前記磁気ディスク装置と前記半導体ディスク装置とを統合制御して、前記半導体ディスク装置を、前記磁気ディスク装置のデータの一部を保持するディスクキャッシュとして動作させるディスクキャッシュ制御手段を具備し、このディスクキャッシュ制御手段は、前記磁気ディスク装置に対する読み出し要求が発生したとき、それによって前記磁気ディスク装置から読み出されたデータを前記半導体ディスク装置に書き込む手段と、前記磁気ディスク装置に対する読み出し要求で指定されたデータが前記半導体ディスク装置に存 SUMMARY OF THE INVENTION This invention comprises a magnetic disk device, a disk cache system for use in a computer system having a semiconductor disk device and a flash EEPROM, the said magnetic disk device semiconductor integrates controls the disk device, the semiconductor disk device, comprising a disk cache control means for operating as a disk cache that holds a part of data of the magnetic disk device, the disk cache control means, said magnetic disk when a read request to the device is generated, whereby presence said means for writing data read from the magnetic disk device to the semiconductor disk device, a magnetic disk drive data is the semiconductor disk device designated by the read request for するとき、前記磁気ディスク装置の代わりに前記半導体ディスク装置をアクセスしてデータを読み出す手段とを具備することを特徴とする。 To time, characterized by comprising a means for reading the data by accessing the semiconductor disk device in place of the magnetic disk device.

【0015】このディスクキャッシュシステムにおいては、半導体ディスク装置と磁気ディスク装置それぞれの特徴を考慮し、記憶容量は大きいがアクセス速度の遅い磁気ディスク装置のキャッシュとして、高速アクセスが可能な半導体ディスク装置が利用される。 [0015] In the disk cache system, considering the characteristics of each semiconductor disc device and a magnetic disk unit, the storage capacity as a cache for large but slow access speed magnetic disk device, a semiconductor disk device offers can be accessed at high-speed It is. すなわち、O In other words, O
S、アプリケーションプログラムなどからの磁気ディスク装置に対する一連の読み出しが発生した場合は、磁気ディスク装置から読み出されたデータが、OS、アプリケーションに渡され、かつ半導体ディスク装置にも格納される。 S, if the sequence of reading the magnetic disk device from an application program is generated, the data read from the magnetic disk device, OS, passed to the application, and is also stored in the semiconductor disk device. 次の機会に、OS、アプリケーションから磁気ディスク装置に対する読み出しが発生した場合は、同一のデータが半導体ディスク装置に存在する場合は、データの読み出しは半導体ディスク装置から行われる為、高速の読み出しが可能となる。 The next opportunity, OS, and when the read on the magnetic disk is generated from an application, if the same data is present in the semiconductor disk device, since data reading performed by the semiconductor disk device, capable of high-speed read to become. また、これらの情報は従来の主メモリの一部などを利用した揮発性メモリによるキャッシュシステムとは異なり、不揮発情報として半導体ディスク装置に保存されている為、電源切断・再起動を経ても有効となる。 Further, the information is different from the cache system according volatile memory using such as some conventional main memory, since it is stored in the semiconductor disk device as nonvolatile information, valid even after the power cut and restarting Become. よって、システム電源がオフされてもそれまでに構築されたヒット率の高いディスクキャッシュの内容を有効に維持することができ、OSやアプリケーションプログラムの起動などを高速に行うことが可能となる。 Thus, system power is able to effectively maintain the high contents of the disk cache of hit ratio built far be turned off, it is possible to perform such as starting the OS and application programs at a high speed.

【0016】さらに、ディスクキャッシュとして利用される半導体ディスク装置は、磁気ディスク装置と同じく、セクタ単位でデータ入出力および記憶データの管理が可能であるため、単なる不揮発性メモリをディスクキャッシュとして使用した場合よりもデータの扱いが容易となり、これにより性能の向上を図ることができる。 Furthermore, the semiconductor disk device which is used as a disk cache, like the magnetic disk apparatus, since data can be input and output, and management of stored data in sector units, when using a mere non-volatile memory as a disk cache data handling becomes easier than, thereby making it possible to increase the performance.

【0017】ディスクキャッシュ制御手段としては、半導体ディスク装置と磁気ディスク装置とが物理的に独立した装置である場合には、OSやアプリケーションプログラムからの磁気ディスクに対するアクセス要求に応じて半導体ディスクと磁気ディスク装置とを統合制御するソフトウェアによって実現することができる。 [0017] As the disk cache control means, when the semiconductor disk device and the magnetic disk device is physically independent device, a semiconductor disk and the magnetic disk in response to an access request to the magnetic disk from the OS and application programs it can be implemented by software that integrates controls the device. また、半導体ディスク装置と磁気ディスク装置とが一体化された統合ドライブ装置を実現してもよく、この場合には、その統合ドライブ装置内部のコントローラをファームウェアなどにより制御することによって、そのコントローラが半導体ディスク装置と磁気ディスク装置とを統合制御するように構成することもできる。 It is also possible to provide an integrated drive device and the semiconductor disk device and a magnetic disk unit is integrated, in this case, by controlling the integrated drive unit inside the controller due firmware, its controller semiconductor It can also be configured to integrate controls the disk device and a magnetic disk device. また、半導体ディスク装置に磁気ディスク装置とのインターフェースを設けておき、ホストシステムから見て半導体ディスク装置を上流側、磁気ディスク装置を下流側に配置する構成を採用してもよく、この場合には、半導体ディスク装置内のコントローラをファームウェアなどにより制御することによって、そのコントローラが半導体ディスク装置と磁気ディスク装置とを統合制御するように構成することが好ましい。 Also, may be provided to interface with the magnetic disk device to a semiconductor disk device, upstream the semiconductor disk device as viewed from the host system may adopt a configuration of placing the magnetic disk apparatus on the downstream side, in this case by controlling the firmware or the like of the controller in the semiconductor disk device, it is preferable that the controller is configured to integrate controls the semiconductor disk device and a magnetic disk device. これにより、磁気ディスク装置には何ら変更を加えることなく、半導体ディスク装置を使用したディスクキャッシュを実現できる。 Thus, without making any changes in the magnetic disk device, it is possible to realize a disk cache using the semiconductor disk device.

【0018】また、ディスクキャッシュ制御手段には、 [0018] In addition, the disk cache control means,
個々のコマンドで磁気ディスク装置から読み出されたデータサイズが所定の基準値以下であるか否かを判定する手段と、前記個々のコマンドで読み出されたデータサイズが前記基準値以下であるとき、そのデータを前記半導体ディスク装置に書き込む手段とをさらに具備し、前記基準値よりもデータサイズの大きいデータについては前記半導体ディスク装置への書き込みを省略することが好ましい。 Data size read from the magnetic disk device and means equal to or smaller than a predetermined reference value with each command, when the data size read by the individual command is less than the reference value , the data further comprising means for writing to the semiconductor disk device, the larger the data of the data size than the reference value, it is preferable to omit the writing to the semiconductor disk device. このように個々のコマンドで読み出されたデータサイズが長いものについては半導体ディスク装置へのデータ格納を省略することにより、半導体ディスク装置で消費される記憶容量を少なく押さえることが出来、かつ、その様なデータに対しては、ランダムアクセスが低速である磁気ディスク装置の欠点が目立たない(磁気ディスク装置は読み出すデータサイズが大きいほど単位データ当たりの平均読み出し速度が速くなる)ため、ディスクキャッシュシステム全体としての性能低下の影響も少なくて済み、半導体ディスク装置の記憶容量対ディスクキャッシュシステムのパフォーマンスの最適な設定が得られる。 By thus omitting storing data in a semiconductor disk device for those long data size read in individual commands, it can be kept less storage capacity consumed by the semiconductor disk device, and that for such data, a magnetic defect of the disk device is not noticeable a random access slow (average read rate per unit data as the data size is larger magnetic disk device for reading becomes faster) for the whole disk cache system fewer influence of performance degradation as the optimal set of performance of the storage volume to the disk cache system of the semiconductor disk device can be obtained.

【0019】また、磁気ディスク装置は、データサイズの小さいランダムアクセスは低速であるが、シーケンシャルアクセスは高速であり、特にデータサイズが大きいほど単位データ当たりの平均読み出し速度が速くなる点を考慮すると、実際には、単に個々のコマンド毎の読み出しデータサイズのみならず、シーケンシャルアクセスで読み出されたデータサイズの総量を調べ、その大きさに基づいて半導体ディスク装置への書き込みを行うか否かを決定することがさらに好ましい。 Further, the magnetic disk device is smaller random access of the data size is slow, sequential access is fast, especially considering that the average read speed per unit data larger the data size is increased, in fact, not only reading data size of each individual command to determine the total amount of the read data size in a sequential access, determine whether writing to the semiconductor disk device on the basis of their size it is further preferred to be.

【0020】また、前記ディスクキャッシュ制御手段には、前記半導体ディスク装置の空き容量に基づいて、そこに保持されているデータを、前記磁気ディスク装置の記憶領域の一部に定義された吐き出しデータ蓄積領域にシーケンシャルに書き込むデータ吐き出し手段と、ホスト装置からの前記磁気ディスク装置に対するリード要求で指定されたデータが前記吐き出しデータ蓄積領域に存在するとき、前記データ吐き出し手段によって前記吐き出しデータ蓄積領域に吐き出されていたデータを一括して前記ホスト装置、あるいは前記ホスト装置と前記半導体ディスク装置の双方に転送する手段とをさらに具備することが好ましい。 Further, the said disk cache control means, on the basis of the free capacity of the semiconductor disk device, the data held therein, defined discharged data accumulated in a part of the storage area of ​​the magnetic disk device a data discharging means sequentially writes the region, when the data specified by the read request to the magnetic disk apparatus from the host apparatus is present in the discharged data storage area, is discharged to the discharging data storage area by said data discharging means said host device which was the data collectively, or preferably further comprising a means for transferring to both the host device and the semiconductor disk device.

【0021】すなわち、この構成によれば、半導体ディスク装置の空き容量が少なくなってきた場合には、半導体ディスク装置からデータを廃棄するのではなく、旧いデータ順、或いは、アクセス頻度の低い順にデータが半導体ディスク装置から磁気ディスク装置に吐き出される。 [0021] That is, according to this configuration, when the free space of the semiconductor disk device becomes low, instead of discarding the data from the semiconductor disk device, old data order, or data to the low access frequency order There is discharged to the magnetic disk device from the semiconductor disk device. 磁気ディスク装置には、この吐き出しデータを蓄積するための吐き出しデータ蓄積領域が設けられており、 The magnetic disk device is provided with a discharging data storage area for storing the discharged data,
吐き出しデータはその磁気ディスク装置にシーケンシャルアクセスにより高速に書き込まれる。 Discharging data is written at a high speed by sequential access to the magnetic disk device. 次の機会に、O The next opportunity, O
S、アプリケーションから磁気ディスク装置に対する一連の読み出し要求が発生した場合に、もし要求されたデータが吐き出しデータ蓄積領域に存在するならば、磁気ディスク装置から半導体ディスク装置に対して、或いは、システムの主メモリに対して、磁気ディスク装置上に吐き出されていた一連のデータが一括してコピーされる。 S, when a series of read requests to the magnetic disk device from an application is generated, if present in the requested data is discharged data storage area if the semiconductor disk device from the magnetic disk device, or a main system the memory, a set of data that has been discharged onto the magnetic disk device is copied at once. ここで、このコピーの所要時間は磁気ディスク装置からはシーケンシャルなアクセスとなるため、短時間で完了する。 Since time required for the copy to be sequential access is from the magnetic disk device is completed in a short time. その後の、OS、アプリケーションから磁気ディスク装置に対する一連の読み出しに対する応答は、 Response to a series of reading for subsequent, OS, a magnetic disk device from an application,
半導体ディスク装置、或いは、システムの主メモリから発生するため、その範囲で、ランダムな読み出しが発生しても高速な読み出しが可能となる。 Semiconductor disk device, or for generating from the main memory of the system, in its scope, a random read is also a faster reading occurred.

【0022】また、半導体ディスク装置から磁気ディスク装置へのデータ吐き出しは、個々の読み出しコマンドで磁気ディスク装置から読み出されたデータ単位ではなく、磁気ディスク装置から読み出された一連のデータ単位で行うことが好ましい。 Further, discharged data to the magnetic disk device from the semiconductor disk device is not a data unit read from the magnetic disk device in each of the read command, performs a series of data units read from the magnetic disk device it is preferable. ここで、”一連のデータ”の判断は、所定時間内、或いは所定時間間隔内に発生した個々のアクセス要求で読み出されたデータの集合を”一連のデータ”と判断する、キーボード、マウス等の人間の操作を起点として発生した一連のアクセス要求でそれぞれ読み出されたデータの集合を”一連のデータ”と判断する、ある時間内に行われたアクセスの中で同一ディレクトリ内のファイルに対する個々のアクセス要求で読み出されたデータの集合を”一連のデータ”と判断する、等が考えられる。 Here, the judgment of "set of data" determines within the predetermined time, or a set of data read out at a predetermined time each access request generated in the interval and "set of data", a keyboard, a mouse, etc. individual among the judges that human set of data read each of a series of access request generated starting from the operation "set of data", an access made in time for the file in the same directory set the result is "set of data" to the data read by the access request, etc. is conceivable. これにより、一緒に利用される可能性が高いデータの塊をまとめて吐き出しデータ蓄積領域に保持できるようになり、吐き出しデータの再利用を効率よく行うことができる。 This makes it possible to hold the data storage area discharged collectively chunk of data is likely to be used together, it is possible to efficiently reuse of discharging data.

【0023】また、前記ディスクキャッシュ制御手段には、前記磁気ディスク装置に対する書き込み要求で指定されたアドレスおよびデータを前記半導体ディスク装置に書き込む手段と、前記半導体ディスク装置から前記磁気ディスク装置に対するデータ書き戻しがシーケンシャルな方向で実行されるように、前記半導体ディスク装置に書き込まれたデータそれぞれのアドレスに基づいて前記磁気ディスク装置に対するそれらデータのデータ書き戻し順序を決定し、その順序で前記磁気ディスク装置への書データ書き戻しを行うデータ書き戻し手段とをさらに具備することが好ましい。 Further, the said disk cache control means, means for writing the address and data specified by the write request to the magnetic disk device to the semiconductor disk device, the write back data to the magnetic disk apparatus from the semiconductor disk device so they are executed in a sequential direction, on the basis of the semiconductor disk device written data each address to determine the data write-back order of their data for the magnetic disk device, to the magnetic disk device in that order preferably further comprising a data write-back unit writes back the write data. これにより、大規模なコマンドキューイングが行われ、磁気ディスク装置への書き込み速度を向上することができる。 Thus, a large command queuing is performed, it is possible to improve the writing speed to the magnetic disk device.

【0024】 [0024]

【発明の実施の形態】以下、図面を参照してこの発明の実施形態を説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, with reference to the drawings illustrating an embodiment of the present invention. 図1には、この発明の第1実施形態に係るディスクキャッシュシステムの機能構成が示されている。 Figure 1 is a functional configuration of a disk cache system according to a first embodiment of the invention. このディスクキャッシュシステムは、パーソナルコンピュータなどのコンピュータシステムに設けられたハードディスク装置12のアクセス性能を向上させるHDDアクセラレータであり、フラッシュEEPRO The disk cache system is a HDD accelerator for improving the access performance of the hard disk drive 12 provided in the computer system such as a personal computer, a flash EEPRO
Mから構成される半導体ディスク装置11をディスクキャッシュとして利用することによりハードディスク装置12の高速アクセスを達成する。 To achieve fast access hard disk device 12 by using the semiconductor disk device 11 consists of M as a disk cache.

【0025】このディスクキャッシュシステムは、半導体ディスク装置11とハードディスク装置12を有するコンピュータシステム上で実行可能なソフトウェアであるキャッシュシステムドライバ15を利用することによって実現されている。 [0025] The disk cache system is realized by utilizing a semiconductor disk device 11 and the cache system driver 15 is software executable on a computer system having a hard disk drive 12.

【0026】キャッシュシステムドライバ15は、アプリケーションプログラム16およびオペレーティングシステム17それぞれからのハードディスク装置12に対するアクセス要求を半導体ディスク装置11に振り向けるために設けられたものであり、半導体ディスク装置1 The cache system driver 15 is provided in order to direct the access request to the hard disk device 12 from each application program 16 and operating system 17 to the semiconductor disk device 11, the semiconductor disk device 1
1を制御するフラッシュメモリドライバ13およびハードディスク装置14を制御するハードディスクドライバ14と、アプリケーションプログラム16およびオペレーティングシステム17との間に位置している。 A hard disk drive 14 for controlling the flash memory driver 13 and the hard disk device 14 controls one, is located between the application program 16 and operating system 17.

【0027】キャッシュシステムドライバ15は、半導体ディスク装置11の所定の記憶領域をディスクキャッシュとして使用するために、オペレーティングシステム17またはアプリケーションプログラム16からハードディスクドライバ14に発行されるハードディスク装置12に対するアクセス要求をトラップし、そのアクセス要求に応じて、フラッシュメモリドライバ13およびハードディスクドライバ14を用いることによって半導体ディスク装置11とハードディスク装置12を統合制御する。 The cache system driver 15, a predetermined storage area of ​​the semiconductor disk device 11 for use as a disk cache, trapping an access request to the hard disk device 12 which is issued from the operating system 17 or application program 16 to the hard disk drive 14 and, in response to the access request, to the integrated control of the semiconductor disk device 11 and the hard disk device 12 by using the flash memory driver 13 and the hard disk driver 14.

【0028】このディスクキャッシュシステムが適用されるコンピュータシステムのハードウェア構成を図2に示す。 [0028] showing a hardware configuration of a computer system to which the disk cache system is applied in FIG. 図2のコンピュータシステムにおいては、PCI In the computer system of FIG 2, PCI
バス100、CPU101、ホスト/PCIブリッジ1 Bus 100, CPU101, host / PCI bridge 1
02、主メモリ103、カードバス対応のPCカードコントローラ104が設けられており、図1のハードディスク装置12はPCIバス100に接続されている。 02, a main memory 103, is provided CardBus PC Card controller 104, a hard disk device 12 of FIG. 1 is connected to the PCI bus 100. また、図1の半導体ディスク装置11は、例えば、PCI Further, the semiconductor disk device 11 in FIG. 1, eg, PCI
バス100に接続されるフラッシュATAドライブ10 Flash ATA drive 10 which is connected to the bus 100
6、またはフラッシュメモリカード105として実装される。 6, or implemented as a flash memory card 105. この場合、ハードディスク装置12と、フラッシュATAドライブ106またはフラッシュメモリカード105には互いに異なるドライブ番号が割り当てられる。 In this case, a hard disk device 12, a different drive numbers are assigned to each other in a flash ATA drive 106 or a flash memory card 105. 従って、ハードディスク装置12とフラッシュAT Therefore, the hard disk device 12 and the flash AT
Aドライブ106、またはフラッシュメモリカード10 A drive 106 or a flash memory card 10,
5は、通常は、互いに異なるディスク装置としてOSやアプリケーションプログラムから扱われる。 5 is normally handled by the OS or an application program as a different disk device to each other. このため、 For this reason,
フラッシュATAドライブ106またはフラッシュメモリカード105の記憶領域の中でディスクキャッシュとして利用される領域以外の他の領域については、それをOSやアプリケーションプログラムに解放することにより、通常通りディスク装置として利用することができる。 The regions other than the region that is utilized as a disk cache in the storage area of ​​the flash ATA drive 106 or a flash memory card 105, by releasing it to the OS and application programs, to be used as a usual disk drive can. これは、ハードウェアとしては何ら変更を加えることなく、フラッシュATAドライブ106またはフラッシュメモリカード105の記憶領域の一部をディスクキャッシュとして利用するだけで、HDDアクセラレータを実現できることを意味している。 This is without making any changes in hardware, only using a part of the storage area of ​​the flash ATA drive 106 or a flash memory card 105 as a disk cache, which means can be realized HDD accelerator.

【0029】次に、半導体ディスク装置11をディスクキャッシュとして使用した場合の基本動作を説明する。 Next, the semiconductor disk device 11 for explaining the basic operation when used as a disk cache.
アプリケーションプログラム16またはオペレーティングシステム17からハードディスク装置に対する読み出し要求が発生した場合は、ハードディスク装置12から読み出されたデータが、アプリケーションプログラム1 If a read request to the hard disk device is generated from the application program 16 or operating system 17, data read out from the hard disk device 12, an application program 1
6またはオペレーティングシステム17に渡され、かつ半導体ディスク装置11にも格納される。 6 or passed to the operating system 17 and also stored in the semiconductor disk device 11. その際に、ハードディスク装置12上のどのアドレスのデータが半導体ディスク装置11のどこに格納されたかの情報もタグ情報として半導体ディスク装置11に格納される。 At that time, it is stored in the semiconductor disk device 11 as anywhere tag information of the information stored in which address data semiconductor disk device 11 on the hard disk drive 12. なお、この際に、個々の読み出しコマンドで読み出されたデータの中でデータサイズが長いもの、或いは、シーケンシャルアクセスで読み出されたデータ列については、 Incidentally, in this case, those data size is long in the data read by each read command, or the data sequences read in sequential access,
半導体ディスク装置11へのデータ格納が省略される場合もある。 In some cases data storage into the semiconductor disk device 11 is omitted. これは、その様なデータに対しては、ランダムアクセスが低速であるハードディスク装置12の欠点が目立たないためである。 This, for such data, because the random access is not noticeable drawback of the hard disk device 12 is slow.

【0030】次の機会に、オペレーティングシステム1 [0030] at the next opportunity, the operating system 1
7またはアプリケーションプログラム16からハードディスク装置に対する読み出しが発生した場合は、同一のデータが半導体ディスク装置11に存在するならば、データの読み出しは半導体ディスク装置11から行われ、 If 7 or read from the application program 16 to the hard disk device occurs, if the same data is present in the semiconductor disk device 11, data read is performed from the semiconductor disk device 11,
これにより高速な読み出しが可能となる。 This enables high-speed reading.

【0031】一方、このような動作を継続していくと、 [0031] On the other hand, and to continue such operations,
半導体ディスク装置11の記憶容量の上限に近づいてくる。 It approaches the upper limit of the storage capacity of the semiconductor disk device 11. この場合は、半導体ディスク装置11から旧いデータ順、或いは、アクセス頻度の低い順にハードディスク装置12にデータを吐き出す。 In this case, old data order from the semiconductor disk device 11, or discharges the data to the hard disk drive 12 to the low access frequency order. ハードディスク装置12 The hard disk device 12
には、この吐き出しデータを蓄積するための領域を設ける。 To provided an area for storing the discharged data. これにより、吐き出しデータは、ハードディスク装置12に対するシーケンシャルアクセスによってそのハードディスク装置12に書き込まれることになる。 Thus, the discharged data will be written to the hard disk device 12 by sequential access to the hard disk device 12. この書き込み時には、それらのデータが元々、ハードディスク装置12上のどのアドレスに散在していたかの情報も付加する。 At the time of writing, these data are originally also adds some information were scattered to any address on the hard disk drive 12.

【0032】ここで、ハードディスク装置12へのデータ吐き出しは、個々の読み出しコマンドでハードディスク装置12から読み出されたデータ単位ではなく、ハードディスク装置12から読み出された一連のデータ単位で行うことが好ましい。 [0032] Here, discharging data to the hard disk device 12 is not the data units read from the hard disk device 12 in each of the read command, it is preferable to perform a series of data units read from the hard disk device 12 . ここで、”一連のデータ”の判断は、所定時間内、或いは所定時間間隔内に発生した個々のアクセス要求で読み出されたデータの集合を”一連のデータ”と判断する、キーボード、マウス等の人間の操作を起点として発生した一連のアクセス要求でそれぞれ読み出されたデータの集合を”一連のデータ”と判断する、ある時間内に行われたアクセスの中で同一ディレクトリ内のファイルに対する個々のアクセス要求で読み出されたデータの集合を”一連のデータ”と判断する、 Here, the judgment of "set of data" determines within the predetermined time, or a set of data read out at a predetermined time each access request generated in the interval and "set of data", a keyboard, a mouse, etc. individual among the judges that human set of data read each of a series of access request generated starting from the operation "set of data", an access made in time for the file in the same directory set the result is "set of data" to the data read by the access request,
等が考えられる。 Etc. can be considered. これにより、一緒に利用される可能性が高いデータの塊をまとめて吐き出しデータ蓄積領域に保持できるようになる。 This makes it possible to hold the data storage area discharged collectively chunk of data is likely to be utilized together.

【0033】次の機会に、オペレーティングシステム1 [0033] at the next opportunity, the operating system 1
7またはアプリケーションプログラム16からハードディスク装置12に対する読み出しが発生した場合は、同一のデータが半導体ディスク装置11には既に存在せず、ハードディスク装置12に吐き出されている場合には、ハードディスク装置12から半導体ディスク装置1 If the reading occurs from 7 or an application program 16 to the hard disk device 12, already absent in the same data semiconductor disk device 11, if they are discharged into the hard disk device 12, the semiconductor disk from the hard disk device 12 device 1
1に対して、或いは、システムの主メモリに対して、ハードディスク装置12上に吐き出されていた一連のデータが一括してコピーされる。 For one, or the main memory of the system, a series of data that has been discharged in the hard disk device 12 is copied at once. ここで、このコピーの所要時間は、ハードディスク装置12からはシーケンシャルなアクセスとなるため、短時間で完了する。 Here, the time required for this copy, since the sequential access is from the hard disk device 12 is completed in a short time. その後の、 Thereafter,
オペレーティングシステム17またはアプリケーションプログラム16からハードディスク装置12に対する読み出しに対する応答は、半導体ディスク装置11、或いは、システムの主メモリから発生するため、その範囲で、ランダムな読み出しが発生しても高速な読み出しが可能となる。 Response from the operating system 17 or application program 16 for reading from the hard disk device 12, the semiconductor disk device 11, or, for generating from the main memory of the system, in its scope, random reading can perform high-speed reading is also generated to become.

【0034】なお、ハードディスク装置12からの一連の読み出しデータを主メモリにのみコピーする方式とすると、半導体ディスク装置11の存在意義が薄れる様だが、それでも、半導体ディスク装置11には以下の存在意義がある。 [0034] Incidentally, when the method of copying only the main memory a set of data read from the hard disk device 12, but it as fade is the significance of the semiconductor disk device 11, but still, the significance below the semiconductor disk device 11 is there.

【0035】1)半導体ディスク装置11上に存在するデータはハードディスク装置12へのアクセスは無しで、その半導体ディスク装置11から高速に読み出せる。 [0035] 1) data existing on the semiconductor disk device 11 without access to the hard disk device 12 can be read from the semiconductor disk device 11 at high speed. 2)ハードディスク装置12に一括して保存するデータを半導体ディスク装置11上に蓄積する過程を経ることにより、ハードディスク装置12への一括したデータの保存が容易となる。 Through the process of storing the data stored collectively in 2) hard disk device 12 on the semiconductor disk device 11, it is easy to store the data once to the hard disk device 12.

【0036】一方、ハードディスク装置12に設定した吐き出しデータ蓄積領域が満杯になると、旧いデータ順、或いは、アクセス頻度の低い順に、データは破棄される。 On the other hand, when the discharged data storage area set in the hard disk device 12 is full, old data order, or the infrequently accessed sequentially, the data is discarded. 次に、図3を参照して、半導体ディスク装置1 Next, with reference to FIG. 3, the semiconductor disk device 1
1、ハードディスク装置12、主メモリ103間のデータの流れが示されている。 1, the hard disk device 12, there is shown a flow of data between the main memory 103.

【0037】ここでは、各記憶装置のコストとシステム性能とのバランスを考慮して、 ・[主メモリ](DRAM) 32MB ・[半導体ディスク装置](フラッシュメモリ) 64MB ・[ハードディスク装置] 5GB (内、半導体ディスク装置からのデータ吐き出しの為に確保される領域は512MB)と設定している。 [0037] Here, in consideration of the balance between cost and system performance of each storage device, · a main memory (DRAM) 32MB - [semiconductor disk device (flash memory) 64MB - [hard disk drive] 5GB (inner , area secured for discharging the data from the semiconductor disk device is set to 512MB).

【0038】図3においては、ハードディスク装置12 [0038] In Figure 3, the hard disk drive 12
上のアドレスA1のデータD1、アドレスA6のデータD2、アドレスA9のデータD3が所定時間内に発行される一連の読み出しコマンド群で読み出され、それらが半導体ディスク装置11のキャッシュエリアのアドレスM1,M2,M3に書き込まれている場合が示されている。 Data D1 of the above address A1, data D2 of the address A6, the data D3 of the address A9 is read in a series of read commands issued within a predetermined time, the address M1 of them cache area of ​​the semiconductor disk device 11, M2, when written in M3 are shown. この場合、半導体ディスク装置11の制御情報格納エリアには、図示のように、それら一連のデータD1〜 In this case, the control information storage area of ​​the semiconductor disk device 11, as illustrated, their series of data D1~
D3のそれぞれについて、ハードディスク装置12上のアドレスと半導体ディスク装置11上のアドレスとの対応関係を示す情報が保持される。 For each D3, information indicating the correspondence between the address on the address and the semiconductor disk device 11 in the hard disk device 12 is held.

【0039】これら一連のデータD1〜D3をハードディスク装置12上の吐き出しデータ蓄積エリアに吐き出す場合には、それらデータD1〜D3に対してそれぞれハードディスク装置12上の元のアドレスA1〜A3が付加され、そしてそれらが図示のようにシーケンシャルな領域に書き込まれる。 [0039] If spit the series of data D1 to D3 to the discharged data storage area of ​​the hard disk device 12, is added original address A1~A3 on the hard disk drive 12 respectively to their data D1 to D3, and they are written in sequential areas as shown.

【0040】この後、例えばアドレスA1のデータD1 [0040] After this, for example, the data of address A1 D1
に対する読み出し要求が発生された場合には、データD If the read request for has been generated, the data D
1を含む一連のデータD1〜D3がハードディスク装置12上の吐き出しデータ蓄積エリアからシーケンシャルに読み出され、主メモリ103、または主メモリ103 Series of data D1~D3 including 1 are sequentially read from the discharging data storage area on the hard disk drive 12, a main memory 103 or main memory 103,
と半導体ディスク装置11の双方に転送される。 To be transferred to both of the semiconductor disk device 11.

【0041】また、以上の説明は、OS、アプリケーションからの読み出しに関しての高速化を得るための方策を説明したが、書き込みに関しては以下のようして高速化を図ることができる。 Further, the above description, OS, has been described strategy for obtaining a high speed with respect to read from an application, as writing can be as follows increase the speed.

【0042】OS、アプリケーションが書き込みを行ったデータは、一旦、半導体ディスク装置11に書き込まれる。 [0042] OS, data that an application has been written is temporarily written to the semiconductor disk device 11. その後、ハードディスク装置12に対して、ハードディスク装置12に所定時間内により多くのデータ書き込みが出来るように書き込みコマンドを分割、結合、 Thereafter, the hard disk device 12, divides the write command to allow more data write by a predetermined time in the hard disk device 12, bond,
並び替えをして、発行する。 And reordering, and issues. すなわち、半導体ディスク装置11は、非常に大規模な不揮発コマンドキューイングとして利用される。 That is, the semiconductor disk device 11 is greatly utilized as a large-scale non-command queuing. このため、システムのリセット、 For this reason, the system is reset,
電源停止等に関してもデータが失われることのない強固なシステムが実現できる。 Robust system can be realized without lost data with regard power interruption or the like. その為には、例えば、半導体ディスク装置11からハードディスク装置12へのデータ書き込みが完了したことを確認の後に、データの移動が完了したフラグ立てる、或いは、半導体ディスク装置11の該当領域のデータを削除する等の手段をとれば、 For this purpose, for example, removed from the semiconductor disk device 11 after confirming that the data writing to the hard disk device 12 has been completed, the sets flag data movement is completed, or, the data of the corresponding region of the semiconductor disk device 11 Taking the means such as to,
電源が途中で遮断した等で半導体ディスク装置11上のデータがそのまま残っているので、再起動後は、キューイングされた書き込みコマンドのハードディスク装置1 Since the data on the semiconductor disk device 11 in the power supply is cut off in the middle or the like remains intact, after the reboot, the hard disk drive 1 of the write commands queued
2への書き込みが完了していないことが分かるため、復旧は容易となる。 Since it can be seen that writing into 2 has not been completed, the recovery is facilitated.

【0043】即ち、この際は、極力シーケンシャルの書き込みコマンド発行となるようにコマンド発行が調整される。 [0043] That is, this case is adjusted command issued as much as possible a write command issuance sequential. また、場合によっては、システムに実装されているハードディスク装置12と最もマッチングをとった形でのコマンド発行順としても良い。 In some cases, it may be a command issue order in the form of taking the most matching a hard disk drive 12 that is implemented in the system. 例えば、シークの後のトラック位置決めが済んだ直後に現れるセクタに対する書き込みコマンドを発行する等のことが考えられる。 For example, it is conceivable, such as issuing a write command to the sector which appears immediately after having undergone the track positioning after the seek.
現実的には、隣接トラックに対するシークのケースであれば、通常のハードディスク装置であれば、シーケンシャルな書き込みコマンドを発行すれば、最適化が図られているため、ハードディスク装置12とマッチングをとる話は少なかろうが、隣接トラックを超えたシークが発生するコマンド発行となると、シーク先のトラック上のどこのセクタから書き込みを行う方が良いかは、ハードディスク装置12の機械的な動作速度特性、及び、内部のキャッシュシステムのアルゴリズムとの相性を含めたマッチングの影響が出てくる。 In practice, if the seek of the case with respect to the adjacent tracks, if the conventional hard disk device, if issues a sequential write command, since the optimization is achieved, the story to take matching with the hard disk drive 12 intends Sukunakaro but the seek exceeding the adjacent tracks becomes a command issued to occur, whether it is better to be written from somewhere of sectors on a track seek destination, mechanical operation speed characteristics of the hard disk drive 12, and , come out the effect of the matching, including compatibility with the algorithm of the inside of the cache system.

【0044】次に、図4〜図8を参照して、図1のキャッシュシステムドライバ15によるキャッシュ制御処理を具体的に説明する。 Next, with reference to FIGS. 4-8, will be specifically described the cache control processing by the cache system driver 15 of FIG. まず、図4のフローチャートを参照して、ハードディスク装置12からホストCPU10 First, with reference to the flowchart of FIG. 4, the host CPU10 from the hard disk device 12
1へのデータ転送時のキャッシュシステムドライバ15 Cache system driver 15 at the time of data transfer to the 1
の処理手順を説明する。 Explaining the processing procedure.

【0045】オペレーティングシステム17またはアプリケーションプログラム16からハードディスク装置1 The hard disk device 1 from the operating system 17 or application program 16
2に対する一連の読み出し要求が発生されると(ステップS101)、キャッシュシステムドライバ15は、主メモリ103上にトラップ用メモリ(キャッシュ領域) When a series of read requests to 2 is generated (step S101), the cache system driver 15, a memory trap on the main memory 103 (cache area)
を確保し(ステップS102)、その後、ハードディスクドライバ14を介してハードディスク装置12をアクセス制御して、ハードディスク装置12からトラップ用メモリへのデータ転送を開始させる(ステップS10 Securing (step S102), then the access control to the hard disk drive 12 via a hard disk driver 14, to start the data transfer to the trap for memory from the hard disk device 12 (step S10
3)。 3). 次に、キャッシュシステムドライバ15は、トラップ用メモリのデータをホストCPU101に読みとらせる(ステップS104)。 The cache system driver 15 to read the data of the memory for traps to the host CPU 101 (step S104).

【0046】この後、キャッシュシステムドライバ15 [0046] After this, cache system driver 15
は、個々の読み出しコマンドでハードディスク装置12 A hard disk device 12 in each of the read command
からトラップ用メモリ上に転送された読み出しデータ単位でそのデータサイズを調べ、そのデータサイズがある基準値Pよりも大きいものについては(ステップS10 Examine the data size in the read data units transferred to the trap memory from, for greater than the reference value P has the data size (step S10
5)、何もせずに処理を終了する。 5), and the process ends without doing anything. 一方、個々の読み出しコマンドで転送されたデータサイズが基準値P以下のものについては、キャッシュシステムドライバ15は、 On the other hand, those transferred data size each read command following the reference value P, the cache system driver 15,
それらデータが一連のデータである否かを判断し(ステップS106)、一連のデータでない場合にはそのまま、一連のデータである場合には一連情報の識別子を付加した状態で、それらデータを半導体ディスク装置11 They data to determine a series of data (step S106), it is if not a series of data, while in the case of a series of data by adding the identifier of sequence information, the semiconductor disk these data 11
に書き込む(ステップS106〜S108)。 Write to (step S106~S108).

【0047】基準値Pの値は、半導体ディスク装置11 The value of the reference value P, the semiconductor disk device 11
の書き込み性能とハードディスク装置12の読み出し性能とのバランスを考慮して決定される。 Considering the balance between write performance and read performance of the hard disk drive 12 of is determined. 半導体ディスク装置11の書き込み性能とハードディスク装置12の読み出し性能との関係を図5に示す。 The relationship between the read performance of the semiconductor disk device 11 write performance and the hard disk device 12 shown in FIG.

【0048】ここでは、ハードディスク装置12のデータ読み出し性能に関しては、シーク+回転待ちに要する時間が20msで、読み出し速度が8KB/msであり、半導体ディスク装置11の書き込み性能に関しては、書き込み速度が3KB/msである場合を想定している。 [0048] Here, with respect to data read performance of the hard disk drive 12, in 20ms time required for the seek + rotational latency, a read speed is 8 KB / ms, as writing performance of the semiconductor disk device 11, the writing speed is 3KB / it is assumed that it is ms.

【0049】図5から分かるように、ハードディスク装置12からのデータ読み出しにおいては、データサイズが大きくなるほど、単位データ当たりの読み出し速度が速くなるのに対し、半導体ディスク装置11の単位データ当たりの書き込み速度は一定であり、データサイズの増大に比例してそれに要する時間も長くなる。 [0049] As can be seen from FIG. 5, in the data read from the hard disk device 12, as the data size is large, while the reading speed per unit data becomes faster write speed per unit data of the semiconductor disk device 11 is constant, the time becomes longer required for it in proportion to the increase of the data size. したがって、半導体ディスク装置11に対するデータ書き込み時間が10ms以下程度で済むデータサイズのものであれば、ハードディスク装置12からのデータ読み出しに要する時間に対して、半導体ディスク装置11へのデータ書き込みで必要となる時間をその半分以下に止めることができるが、半導体ディスク装置11に対するデータ書き込み時間が10msを越えるデータサイズのものについては、その比率が1/2を越えることになり、ディスクキャッシュを用いない方がトータル性能があがることになる。 Therefore, as long as the data writing time to the semiconductor disk device 11 is a data size that requires a degree below 10 ms, for the time required for data reading from the hard disk device 12 is required in writing data to the semiconductor disk device 11 can stop the time that less than half, for those data writing time to the semiconductor disk device 11 is a data size exceeding 10ms will become that the ratio is greater than 1/2, it is better not to use a disk cache so that the total performance is improved.

【0050】よって、基準値Pの値は、32セクタ(1 [0050] Thus, the value of the reference value P, 32 sectors (1
セクタ=512B)、あるいは16セクタに設定しておくことが好ましい。 It is preferable to set the sector = 512B), or 16 sectors. また、ハードディスク装置12は、 In addition, the hard disk device 12,
データサイズの小さいランダムアクセスは低速であるが、シーケンシャルアクセスは高速であり、特にデータサイズが大きいほど単位データ当たりの平均読み出し速度が速くなる点を考慮すると、実際には、単に個々のコマンド毎の読み出しデータサイズのみならず、シーケンシャルアクセスで読み出されたデータサイズの総量を調べ、その大きさに基づいて半導体ディスク装置11への書き込みを行うか否かを決定することがさらに好ましい。 Small random access of the data size is a slow, sequential access is fast, especially considering the point that the average read speed per unit data larger the data size increases, in fact, simply for each individual command not read data size only examines the total amount of the read data size in a sequential access, it is further preferable to determine whether writing to the semiconductor disk device 11 on the basis of its size. シーケンシャルアクセスか否かは、連続して発行された個々の読み出しコマンドのアドレス値の関係に基づいて判断することができる。 Or sequential access or not can be determined based on the relationship of the address values ​​of the individual read commands issued consecutively.

【0051】次に、図6のフローチャートを参照して、 Next, with reference to the flowchart of FIG. 6,
キャッシュシステムドライバ15によるキャッシュデータの吐き出し処理の手順を説明する。 The procedure of discharging process of the cache data by the cache system driver 15 will be described. キャッシュシステムドライバ15は、フラッシュメモリドライバ13を介して半導体ディスク装置11の空き領域を定期的に調べ、その空き領域サイズが所定の基準値T以下になると(ステップS111)、アクセス頻度が低いデータまたは最も古いデータを半導体ディスク装置11から選択し、そのデータを、あるいはそのデータが一連情報の中の1つである場合にはその一連データを、ハードディスク装置12の吐き出しデータ蓄積エリアにシーケンシャルに書き込む(ステップS112)。 Cache system driver 15 periodically checks the free space of the semiconductor disk device 11 via the flash memory driver 13, when the free area size is equal to or less than a predetermined reference value T (step S 111), the access frequency is low data or select the oldest data from the semiconductor disk device 11, if the data, or the data is one of a series information writing the sequence data, sequentially to the discharged data storage area of ​​the hard disk drive 12 ( step S112). この場合、その吐き出しデータがハードディスク装置12上のどのアドレスに散在していたかの情報も付加される。 In this case, the discharging data is also added or information were scattered on which address of the hard disk device 12.

【0052】半導体ディスク装置11の空き領域のチェックは、ハードディスク装置12から読み出されたデータを半導体ディスク装置11に書き込む時に行っても良い。 [0052] semiconductor disk device 11 checks the free space may be performed when writing data read out from the hard disk device 12 in the semiconductor disk device 11. この場合には、半導体ディスク装置11の空き領域が書き込みデータのデータサイズよりも小さいことを条件に、キャッシュデータの吐き出しが行われる。 In this case, on condition that free space of the semiconductor disk device 11 is smaller than the data size of the write data, discharging the cache data.

【0053】次に、図7のフローチャートを参照して、 Next, with reference to the flowchart of FIG. 7,
キャッシュシステムドライバ15によるハードディスク装置12からの吐き出しデータ読み出し処理の手順について説明する。 A description is given of the procedure of discharging the data read process from the hard disk device 12 according to the cache system driver 15.

【0054】キャッシュシステムドライバ15は、アプリケーションプログラム16またはオペレーティングシステム17からハードディスク装置12に対する読み出し要求が発行されると(ステップS121)、それをトラップして、まず、フラッシュメモリドライバ14を介して半導体ディスク装置11の制御情報エリアを検索し、該当するデータが半導体ディスク装置11に存在するか否かを調べる(ステップS122)。 [0054] cache system driver 15, a read request to the hard disk device 12 from the application program 16 or operating system 17 is issued (step S121), and trap it, first, a semiconductor disk via flash memory driver 14 Find the control data area of ​​the device 11, the relevant data is examined whether present in the semiconductor disk device 11 (step S122). 半導体ディスク装置11に存在するならば、その半導体ディスク装置11からのデータ読み出しが高速に行われる(ステップS123)。 If present in the semiconductor disk device 11, data read from the semiconductor disk device 11 is performed at a high speed (step S123). 一方、半導体ディスク装置11に該当するデータが存在しない場合には、キャッシュシステムドライバ15は、ハードディスクドライバ14を介してハードディスク装置12の吐き出しデータ蓄積領域を検索し、そこに該当するデータが存在するか否かを調べる(ステップS124)。 On the other hand, either when the data corresponding to the semiconductor disk device 11 is not present, the cache system driver 15 retrieves the discharged data storage area of ​​the hard disk drive 12 via a hard disk driver 14, there is data corresponding thereto examine whether (step S124). 存在する場合には、その吐き出しデータ蓄積領域から該当データを含む一連のデータが一括してシーケンシャルに読み出される(ステップS1 If present, a series of data including relevant data are read out sequentially in chunks from the discharged data storage area (step S1
25)。 25). 吐き出しデータ蓄積領域に該当データが存在しない場合には、通常通り、ハードディスク装置12からのデータ読み出しが行われる(ステップS126)。 When the discharging data storage area does not exist corresponding data as usual, the data read from the hard disk device 12 is performed (step S126).

【0055】次に、図8のフローチャートを参照して、 Next, with reference to the flowchart of FIG. 8,
キャッシュシステムドライバ15による書き込みコマンドキューイング処理の手順を説明する。 The procedure of the write command queuing processing according to the cache system driver 15 will be described. キャッシュシステムドライバ15は、アプリケーションプログラム16 Cache system driver 15, the application program 16
またはオペレーティングシステム17からハードディスク装置12に対する書き込み要求が発行されると(ステップS131)、それをトラップして、まず、フラッシュメモリドライバ14を介して半導体ディスク装置11 Or the write request to the hard disk device 12 is issued from the operating system 17 (step S131), and trap it, first, the semiconductor disk device via flash memory driver 14 11
にデータを書き込む(ステップS132)。 Writing data (step S132). この時点でホストCPU101にはコマンド完了が通知される。 This host CPU101 at command completion is notified. キャッシュシステムドライバ15は、最初のライトコマンドの発行から所定時間経過したとき(ステップS13 Cache system driver 15, when a predetermined time has elapsed since the issuance of the first write command (step S13
3)、それまでの期間に半導体ディスク装置11に書き込まれたデータをハードディスク装置12に転送する処理を行う(ステップS134)。 3), the data written to the semiconductor disk device 11 performs a process of transferring the hard disk device 12 in the period leading up to it (step S134).

【0056】この場合、半導体ディスク装置11に書き込まれたデータの順にハードディスク装置12に書き込まれるのではなく、ハードディスク装置12に対するライトアクセスがなるべくシーケンシャルで行われるように書き込みデータの順番がそのアドレスに従って調整される。 [0056] Adjustment In this case, instead of writing to the hard disk device 12 in the order of data written in the semiconductor disk device 11, the order of the write data as write access to the hard disk device 12 is possible carried out in sequential is in accordance with the address It is.

【0057】次に、この発明の第2実施形態を説明する。 Next, a description will be given of a second embodiment of the present invention. この第2実施形態においては、前述の半導体ディスク装置11とハードディスク装置12とが一体化された統合ドライブ装置200を使用し、この統合ドライブ装置200内のファームウェア制御によって半導体ディスク装置11をディスクキャッシュとして使用するための制御が行われる。 In the second embodiment, by using the integrated drive device 200 and the semiconductor disk device 11 and the hard disk device 12 described above are integrated, the semiconductor disk device 11 as a disk cache by firmware control of the integrated drive device 200 control for use takes place.

【0058】この統合ドライブ装置200は、図9に示されているように、バス100を介してホストCPUからのコマンドの受け取りや、バス100との間でデータ入出力を行うホストインターフェース201、フラッシュコントローラ202、このフラッシュコントローラによって制御され、半導体ディスク装置として機能する複数のフラッシュEEPROMを含むフラッシュメモリ2 [0058] The integrated drive device 200, as shown in Figure 9, and receipt of commands from the host CPU via the bus 100, host interface 201 performs data input and output to and from the bus 100, a flash controller 202 is controlled by the flash controller, a flash memory 2 including a plurality of flash EEPROM which serves as a semiconductor disk device
03、ハードディスクコントローラ204、このハードディスクコントローラ204によって制御されるハードディスクドライブ205、フラッシュコントローラ20 03, a hard disk drive 205 which is controlled by the hard disk controller 204, the hard disk controller 204, a flash controller 20
2とハードディスクコントローラ204を統合制御するMPU206、およびこのMPU206によって実行されるディスクキャッシュ制御ファームウェアが格納されたROM207を備えている。 2 and the hard disk controller 204 for controlling integration MPU 206, and a ROM207 disk cache control firmware is stored which is executed by the MPU 206.

【0059】この統合ドライブ装置200には単一のドライブ番号が割り当てられており、図2のホストCPU [0059] This is the integrated drive device 200 is assigned a single drive number, in FIG host CPU
101からは1つのハードディスク装置として扱われる。 From 101 are treated as a single hard disk drive. ディスクキャッシュ制御ファームウェアは、ホストCPU101からのハードディスクドライブ205に対するアクセス要求をフラッシュメモリ203に振り向けるために設けられたものであり、フラッシュメモリ20 Disk cache control firmware is provided in order to direct the access request to the hard disk drive 205 from the host CPU101 into the flash memory 203, a flash memory 20
3の所定の記憶領域をディスクキャッシュとして使用するために、ホストCPU101からハードディスクドライブ205宛に発行されるアクセス要求をホストインターフェース201を介してトラップし、そのアクセス要求に応じて、フラッシュコントローラ202とハードディスクコントローラ204を統合制御する。 3 of a predetermined storage area for use as a disk cache, the access request issued from the host CPU101 addressed hard disk drive 205 via the host interface 201 to trap, in response to the access request, the flash controller 202 and a hard disk integrally controls the controller 204.

【0060】フラッシュメモリ203をディスクキャッシュとして使用するために行われるディスクキャッシュ制御ファームウェアによる処理は、図4、図6、図7、 [0060] process by the disk cache control firmware performed flash memory 203 for use as a disk cache, 4, 6, 7,
図8で説明したキャッシュシステムドライバ15の処理と基本的に同じであるが、ハードディスクドライブ20 A process basically the same as that of the cache system driver 15 described in FIG. 8, but the hard disk drive 20
5とフラッシュメモリ203との間のデータ転送では、 5 In the data transfer between the flash memory 203,
主メモリは使用されず、ホストインターフェース201 The main memory is not used, the host interface 201
のデータ入出力バッファ201aが利用される点が異なっている。 Data input and output buffer 201a of is different in that is utilized.

【0061】すなわち、ホストCPU101からハードディスクドライブ205に対する一連の読み出しが発生した場合は、ハードディスクドライブ205から読み出されたデータが、ホストCPU101に渡され、かつフラッシュメモリ203にも格納される。 [0061] That is, when the series of reading from the host CPU 101 to the hard disk drive 205 has occurred, the data read from the hard disk drive 205 is passed to the host CPU 101, and is also stored in the flash memory 203. その際に、ハードディスクドライブ205から読み出されたデータはデータ入出力バッファ201aを介してバス100上に出力されると共に、そのデータ入出力バッファ201aからフラッシュコントローラ202を介してフラッシュメモリ203に転送される。 At that time, data read out from the hard disk drive 205 is transferred is output to the bus 100 via the data output buffer 201a, the flash memory 203 via the flash controller 202 from the data output buffer 201a that. これにより、ディスクキャッシュへの読み出しデータの書き込みを高速に行うことができる。 Thus, it is possible to write the read data to the disk cache fast.

【0062】また、フラッシュメモリ203から旧いデータ順、或いは、アクセス頻度の低い順にハードディスクドライブ205にデータを吐き出す場合にも、フラッシュメモリ203からの読み出しデータはデータ入出力バッファ201aに一旦保持され、そのデータ入出力バッファ201aからハードディスクドライブ205へのデータ書き込みが行われる。 [0062] In addition, old data order from the flash memory 203, or, even if the spit data to the hard disk drive 205 to the low access frequency order, reading data from the flash memory 203 is temporarily held in the data output buffer 201a, the from the data output buffer 201a is a data write to the hard disk drive 205 is performed.

【0063】また、ハードディスク装置12に吐き出されているデータを一括して主メモリとフラッシュメモリ203の双方にコピーする場合には、ハードディスクドライブ205からの読み出しデータはデータ入出力バッファ201aに一旦保持され、そのデータ入出力バッファ201aからバス100に出力されると共に、データ入出力バッファ201aからフラッシュハードディスクドライブ205へ転送される。 [0063] In the case of copying on both the main memory and the flash memory 203 at once data has been discharged to the hard disk drive 12 reads data from the hard disk drive 205 is temporarily held in the data output buffer 201a is output to the bus 100 from the data output buffer 201a, is transferred from the data output buffer 201a to a flash hard disk drive 205.

【0064】次に、この発明の第3実施形態を説明する。 Next, a description will be given of a third embodiment of the present invention. この第3実施形態においては、図10に示されているように、半導体ディスク装置300をバス100とハードディスク装置400との間に接続し、半導体ディスク装置300内のファームウェア制御によって半導体ディスク装置300のフラッシュメモリをディスクキャッシュとして使用するための制御が行われる。 In the third embodiment, as shown in Figure 10, the semiconductor disk device 300 connected between the bus 100 and the hard disk device 400, the semiconductor disk device 300 by firmware control of the semiconductor disk device 300 control to use the flash memory as a disk cache is performed.

【0065】半導体ディスク装置300は、図10に示されているように、バス100を介してホストCPUからのコマンドを受け取った入り、バス100との間でデータ入出力を行うホストインターフェース301、フラッシュメモリ303をディスク装置として扱うためのエミュレーションを行うフラッシュコントローラ302、 [0065] semiconductor disk device 300, as shown in FIG. 10, enters receiving a command from the host CPU via the bus 100, host interface 301 performs data input and output to and from the bus 100, a flash flash controller 302 to emulate for handling memory 303 as a disk device,
このフラッシュコントローラ302によって制御され、 Is controlled by the flash controller 302,
半導体ディスク装置として機能する複数のフラッシュE A plurality of flash E that functions as a semiconductor disk device
EPROMを含むフラッシュメモリ303、ハードディスク装置400のホストインターフェース(IDEなど)と接続可能なハードディスクインターフェース30 Flash memory 303 including EPROM, host interface (IDE, etc.) which can be connected a hard disk interface 30 of the hard disk device 400
4を備えている。 It is equipped with a 4.

【0066】フラッシュコントローラ302は、例えばディスクキャッシュ制御ファームウェアを実行するMP [0066] The flash controller 302, for example, MP to perform disk caching control firmware
Uを含んでおり、この制御の下、ハードディスク装置4 Includes a U, under the control, the hard disk drive 4
00へのコマンド転送、および半導体ディスク装置30 00 commands transfer to, and semiconductor disk device 30
0とハードディスク装置400との間のデータ転送が行われる。 Data transfer is performed between 0 and the hard disk device 400.

【0067】半導体ディスク装置300は、ハードディスク装置400に割り当てられたドライブ番号に応答して動作する。 [0067] semiconductor disk device 300 operates in response to a drive number assigned to the hard disk drive 400. したがって、ホストCPU101からは半導体ディスク装置300は隠れた存在となっている。 Thus, the semiconductor disk device 300 from the host CPU101 has a presence hidden. このため、半導体ディスク装置300とハードディスク装置400は物理的には異なる装置ではあるが、一体化された統合ドライブ装置500として機能する。 Therefore, the semiconductor disk device 300 and the hard disk device 400 is a different device physically, but functions as an integrated drive unit 500 which is integrated. ディスクキャッシュ制御ファームウェアによる処理は基本的に第2実施形態と同じであり、ホストインターフェース30 Processing by the disk cache control firmware is basically the same as the second embodiment, the host interface 30
1、またはフラッシュコントローラ302に設けられたデータ入出力バッファを用いてフラッシュメモリ303 1 or flash memory 303 using the data input-output buffer provided in the flash controller 302,
とハードディスク装置400との間のデータ転送が行われる。 Data transfer between the hard disk device 400 is performed with.

【0068】なお、以上の実施形態1〜3では、半導体ディスク装置をディスクキャッシュとしてのみ使用する場合を説明したが、半導体ディスク装置の記憶領域の一部のみをディスクキャッシュ領域として使用し、残りの領域は通常通りに半導体ディスク領域として使用することもできる。 [0068] In the above first to third embodiments, a case has been described that uses the semiconductor disk device only as a disk cache, only a part of the storage area of ​​the semiconductor disk device used as a disk cache area, the remaining region can also be used as a semiconductor disk space as usual.

【0069】 [0069]

【発明の効果】以上説明したように、この発明によれば、高速アクセス可能な半導体ディスク装置と記憶容量の大きいハードディスク装置とを融合させた新たなディスクキャッシュシステムを実現でき、システム電源がオフされてもそれまでに構築されたヒット率の高いディスクキャッシュの内容を有効に維持することができる。 As described in the foregoing, according to the present invention, can be realized a new disk cache system that combines a high-speed accessible semiconductor disk device and a large hard disk drive storage capacity, the system power is turned off the high content of the disk cache is also a hit ratio built up it can be effectively maintained.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】この発明の第1実施形態に係るディスクキャッシュシステムの機能の構成を示すブロック図。 1 is a block diagram showing a configuration of a function of the disk cache system according to a first embodiment of the present invention.

【図2】図1のディスクキャッシュシステムが適用されるコンピュータのハードウェア構成を示すブロック図。 2 is a block diagram showing a hardware configuration of a computer disk cache system of FIG. 1 is applied.

【図3】第1実施形態における半導体ディスク装置とハードディスク装置と主メモリとの間のデータの流れを説明するための図。 Diagram for explaining a flow of data between the Figure 3 and the semiconductor disk device and the hard disk apparatus of the first embodiment and the main memory.

【図4】同第1実施形態におけるハードディスク装置からホストCPUへのデータ転送処理の手順を示すフローチャート。 4 is a flowchart showing a procedure of a data transfer process from the hard disk apparatus in the first embodiment to the host CPU.

【図5】同第1実施形態におけるハードディスク装置の読み出し性能と半導体ディスク装置の書き込み性能との関係を示す図。 5 is a diagram showing the relationship between the write performance of the reading performance of the semiconductor disk device of a hard disk apparatus in the first embodiment.

【図6】同第1実施形態におけるキャッシュデータ吐き出し処理の手順を示すフローチャート。 FIG. 6 is a flowchart showing a procedure of the cache data ejecting processing in the first embodiment.

【図7】同第1実施形態における吐き出しデータ読み出し処理の手順を示すフローチャート。 7 is a flowchart showing a procedure of the data read processing discharged in the same first embodiment.

【図8】同第1実施形態における書き込みコマンドキューイング処理の手順を示すフローチャート。 8 is a flowchart showing a procedure of a write command queuing processing in the first embodiment.

【図9】この発明の第2実施形態に係るディスクキャッシュシステムで使用される統合ドライブ装置の構成を示すブロック図。 9 is a block diagram showing the configuration of integrated drive device used in the disk cache system according to a second embodiment of the present invention.

【図10】この発明の第3実施形態に係るディスクキャッシュシステムで使用される統合ドライブ装置の構成を示すブロック図。 10 is a block diagram showing the configuration of integrated drive device used in the disk cache system according to a third embodiment of the present invention.

【符号の説明】 DESCRIPTION OF SYMBOLS

11…半導体ディスク装置、12…ハードディスク装置、13…フラッシュメモリドライバ、14…ハードディスクドライバ、15…キャッシュシステムドライバ、 11 ... semiconductor disk device, 12 ... hard disk drive, 13 ... flash memory driver, 14 ... hard disk driver, 15 ... cache system driver,
16…アプリケーションプログラム、17…オペレーティングシステム、101…ホストCPU、103…主メモリ。 16 ... application program, 17 ... operating system, 101 ... host CPU, 103 ... main memory.

Claims (10)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 磁気ディスク装置と、フラッシュEEP 1. A magnetic disk device, a flash EEP
    ROMから構成される半導体ディスク装置とを有するコンピュータシステムで使用されるディスクキャッシュシステムであって、 前記磁気ディスク装置と前記半導体ディスク装置とを統合制御して、前記半導体ディスク装置を、前記磁気ディスク装置のデータの一部を保持するディスクキャッシュとして動作させるディスクキャッシュ制御手段を具備し、 このディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する読み出し要求が発生したとき、それによって前記磁気ディスク装置から読み出されたデータを前記半導体ディスク装置に書き込む手段と、 前記磁気ディスク装置に対する読み出し要求で指定されたデータが前記半導体ディスク装置に存在するとき、前記磁気ディスク装置の代わりに前記半導体ディスク装置をアクセス A disk cache system for use in a computer system having a semiconductor disk device composed of ROM, the integrated controller magnetic disk device and the said semiconductor disk device, the semiconductor disk device, the magnetic disk device comprising a disk cache control means for operating as a disk cache that holds a part of data of the disk cache control means, when the read request to the magnetic disk device is generated, which thereby read from the magnetic disk device means for writing data to the semiconductor disk apparatus, when said data specified by the read request for a magnetic disk device is present in the semiconductor disk device, accessing the semiconductor disk device in place of the magnetic disk device してデータを読み出す手段とを具備することを特徴とするディスクキャッシュシステム。 Disk cache system characterized by comprising a means for reading the data.
  2. 【請求項2】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する個々の読み出し要求で前記磁気ディスク装置から読み出されるデータサイズが所定の基準値以下であるか否かを判定する手段と、 前記個々の読み出し要求で前記磁気ディスク装置から読み出されるデータサイズが前記基準値以下であるとき、 Wherein said disk cache control means includes means for determining whether the size of data read from the magnetic disk device in each read request is less than a predetermined reference value with respect to the magnetic disk device, the individual when the data size to be read from the magnetic disk device in the read request is equal to or less than the reference value,
    そのデータを前記半導体ディスク装置に書き込む手段とを具備し、 前記個々の読み出し要求で前記磁気ディスク装置から読み出されるデータサイズが前記基準値よりも大きいデータについては前記半導体ディスク装置への書き込みを省略することを特徴とする請求項1記載のディスクキャッシュシステム。 And means for writing the data to the semiconductor disk device, the data larger than the data size of the reference value read from the magnetic disk device in the individual read requests are omitted writing to the semiconductor disk device disk cache system of claim 1, wherein a.
  3. 【請求項3】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置からシーケンシャルアクセスで読み出されたデータサイズの総量が所定の基準値以下であるか否かを判定する手段と、 前記シーケンシャルアクセスで読み出されたデータサイズ総量が前記基準値以下であるとき、そのデータを前記半導体ディスク装置に書き込む手段とを具備し、 シーケンシャルアクセスで読み出されたデータサイズ総量が前記基準値よりも大きいときには、そのデータについては前記半導体ディスク装置への書き込みを省略することを特徴とする請求項1記載のディスクキャッシュシステム。 Wherein the disk cache control means includes means for determining whether or not the total data size read in sequential access from the magnetic disk device is below a predetermined reference value, read at the sequential access when the issued data size total amount is less than the reference value, the data and means for writing to the semiconductor disk device, when the data size amount read at the sequential access is greater than the reference value, the disk cache system of claim 1, wherein omitting the writing into the semiconductor disk device for data.
  4. 【請求項4】 前記ディスクキャッシュ制御手段は、 前記半導体ディスク装置の空き容量に基づいて、そこに保持されているデータを、前記磁気ディスク装置の記憶領域の一部に定義された吐き出しデータ蓄積領域にシーケンシャルに書き込むデータ吐き出し手段と、 ホスト装置からの前記磁気ディスク装置に対する読み出し要求で指定されたデータが前記吐き出しデータ蓄積領域に存在するとき、前記データ吐き出し手段によって前記吐き出しデータ蓄積領域に吐き出されていたデータを一括して前記ホスト装置、あるいは前記ホスト装置と前記半導体ディスク装置の双方に転送する手段とをさらに具備することを特徴とする請求項1記載のディスクキャッシュシステム。 Wherein said disk cache control means, on the basis of the free capacity of the semiconductor disk device, the data held therein, defined discharged data storage area in a part of the storage area of ​​the magnetic disk device the data spit means sequentially writes, when the data specified by the read request for a magnetic disk drive from the host device is present in the discharged data storage area, have been discharged to the discharged data storage area by said data discharging means data the host device in a lump or disk cache system according to claim 1, characterized by comprising the host device and further means for transferring to both the semiconductor disk device.
  5. 【請求項5】 前記データ吐き出し手段は、 前記半導体ディスク装置に書き込まれた一連のデータ単位で、前記半導体ディスク装置から前記磁気ディスク装置の吐き出しデータ蓄積領域へのデータ吐き出しを行うことを特徴とする請求項4記載のディスクキャッシュシステム。 Wherein said data discharging means is a series of data units written to the semiconductor disk device, and performs discharging data from the semiconductor disk device to exhale data storage area of ​​the magnetic disk device disk cache system according to claim 4.
  6. 【請求項6】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する書き込み要求で指定されたアドレスおよびデータを前記半導体ディスク装置に書き込む手段と、 前記半導体ディスク装置から前記磁気ディスク装置に対するデータ書き戻しがシーケンシャルな方向で実行されるように、前記半導体ディスク装置に書き込まれたデータそれぞれのアドレスに基づいて前記磁気ディスク装置に対するそれらデータのデータ書き戻し順序を決定し、 Wherein said disk cache control means includes means for writing the address and data specified by the write request to the magnetic disk device to the semiconductor disk device, the write-back data from the semiconductor disk device to said magnetic disk drive to run in the sequential direction, determines a data write-back order of their data for the magnetic disk device on the basis of the semiconductor disk device written data each address,
    その順序で前記磁気ディスク装置へのデータ書き戻しを行うデータ書き戻し手段とをさらに具備することを特徴とする請求項1記載のディスクキャッシュシステム。 Disk cache system according to claim 1, further comprising a data write-back means performs data write-back in that order to the magnetic disk device.
  7. 【請求項7】 磁気ディスク装置と、フラッシュEEP 7. A magnetic disk device, a flash EEP
    ROMから構成される半導体ディスク装置とを有するコンピュータシステムで使用されるディスクキャッシュシステムであって、 オペレーティングシステムまたはアプリケーションプログラムからの前記磁気ディスク装置に対するアクセス要求に応答して、前記磁気ディスク装置と前記半導体ディスク装置とを統合制御するディスクキャッシュ制御ソフトウェアを使用して、前記半導体ディスク装置を、前記磁気ディスク装置のデータの一部を保持するディスクキャッシュとして動作させることを特徴とするディスクキャッシュシステム。 A disk cache system for use in a computer system having a semiconductor disk device composed of ROM, in response to an access request to the magnetic disk device from an operating system or application program, the said magnetic disk device semiconductor using disk cache control software that integrates controls the disk device, the semiconductor disk device, the disk cache system, characterized in that to operate as a disk cache that holds a part of data of the magnetic disk device.
  8. 【請求項8】 磁気ディスク装置と、フラッシュEEP 8. A magnetic disk device, a flash EEP
    ROMから構成される半導体ディスク装置とが一体化されて構成される統合ディスク装置を用いたディスクキャッシュシステムであって、 前記統合ドライブ装置には前記磁気ディスク装置と同一の単一ドライブ番号が割り当てられており、 前記統合ドライブ装置に設けられたコントローラは、 ホストCPUからの前記磁気ディスク装置に対するアクセス要求に応答して前記磁気ディスク装置と前記半導体ディスク装置とを統合制御し、前記半導体ディスク装置を、前記磁気ディスク装置のデータの一部を保持するディスクキャッシュとして動作させる手段を具備することを特徴とするディスクキャッシュシステム。 A disk cache system using the semiconductor disk device integrated disk device configured by integrally composed of ROM, a single drive number is assigned the same as the magnetic disk drive in the integrated drive unit and it has the controller provided in the integrated drive unit, in response to an access request to the magnetic disk apparatus from the host CPU and the semiconductor disk device and the magnetic disk device integrates controls, the semiconductor disk device, disk cache system, characterized by comprising means for operating as a disk cache that holds a part of data of the magnetic disk device.
  9. 【請求項9】 前記コントローラには、前記磁気ディスク装置と前記半導体ディスク装置とで共用されるデータ入出力バッファが設けられており、 前記データ入出力バッファを介して前記磁気ディスク装置と前記半導体ディスク装置との間のデータ転送が行われることを特徴とする請求項8記載のディスクキャッシュシステム。 The method according to claim 9, wherein the controller, the magnetic disk device and the semiconductor disk device and a data output buffer that is shared is provided in the said magnetic disk device via the data output buffer semiconductor disk disk cache system of claim 8, wherein the data transfer between the device is performed.
  10. 【請求項10】 フラッシュEEPROMから構成される半導体ディスク装置を用いたディスクキャッシュシステムであって、 前記半導体ディスク装置は、 コンピュータシステムのバスに接続されるバスインターフェースと、 磁気ディスク装置のホストインターフェースに接続される磁気ディスクインターフェースと、 前記バスインターフェースと前記磁気ディスクインターフェースとの間に設けられ、前記バスインターフェースを介して入力されるホストCPUからの前記磁気ディスク装置に対するアクセス要求に応答して、前記磁気ディスク装置と前記半導体ディスク装置のフラッシュEEP 10. A disk cache system using a semiconductor disk device and a flash EEPROM, the semiconductor disk device includes a bus interface coupled to a bus of a computer system, connected to a host interface of the magnetic disk device a magnetic disk interface that is, the provided between the bus interface and the magnetic disk interface, in response to access requests for a magnetic disk drive from the host CPU, which is input through the bus interface, said magnetic disk apparatus and flash EEP of the semiconductor disk device
    ROMとを統合制御し、前記半導体ディスク装置を、前記磁気ディスク装置のデータの一部を保持するディスクキャッシュとして動作させるコントローラとを具備することを特徴とするディスクキャッシュシステム。 Disk cache system integrates controls the ROM, and the semiconductor disk device, characterized by comprising a controller to operate as a disk cache that holds a part of data of the magnetic disk device.
JP8197585A 1996-07-26 1996-07-26 Disk cache system Pending JPH1040170A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8197585A JPH1040170A (en) 1996-07-26 1996-07-26 Disk cache system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8197585A JPH1040170A (en) 1996-07-26 1996-07-26 Disk cache system

Publications (1)

Publication Number Publication Date
JPH1040170A true JPH1040170A (en) 1998-02-13

Family

ID=16376944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8197585A Pending JPH1040170A (en) 1996-07-26 1996-07-26 Disk cache system

Country Status (1)

Country Link
JP (1) JPH1040170A (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134321A (en) * 2004-10-21 2006-05-25 Microsoft Corp Using external memory device to improve system performance
JP2008165881A (en) * 2006-12-27 2008-07-17 Toshiba Corp Magnetic disk device and its control method
JP2008217527A (en) * 2007-03-06 2008-09-18 Hitachi Ltd Storage system and data control method
US7454653B2 (en) 2002-11-26 2008-11-18 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
WO2008149453A1 (en) * 2007-06-08 2008-12-11 Fujitsu Limited Memory device, memory control device, and control method
JP2009059190A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Cache system, data recording device, program, and cache system controlling method
JP2009075658A (en) * 2007-09-18 2009-04-09 Hitachi Ltd Storage device and control method therefor
WO2009144833A1 (en) * 2008-05-29 2009-12-03 株式会社メディアロジック Information processing system
JP2010009622A (en) * 2009-10-07 2010-01-14 Media Logic Corp Device driver
JP2010020774A (en) * 2008-07-11 2010-01-28 Samsung Electronics Co Ltd Method and system for controlling cache flash and data storage system using the same
JP2012515992A (en) * 2009-01-23 2012-07-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Non-graphics use of graphics memory
JP2012517644A (en) * 2009-02-13 2012-08-02 インディリンクス カンパニー リミテッド Storage systems using high-speed storage device as a cache
JP2012252514A (en) * 2011-06-02 2012-12-20 Toshiba Corp Information processing apparatus and cache control method
US8370857B2 (en) 2007-04-20 2013-02-05 Media Logic Corp. Device controller
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9158478B2 (en) 2012-08-22 2015-10-13 Fujitsu Limited Storage system and storage control method
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9513824B2 (en) 2012-09-05 2016-12-06 Fujitsu Limited Control method, control device, and recording medium
US9619395B2 (en) 2014-07-31 2017-04-11 Kyocera Document Solutions Inc. Storage medium and information processing device for exchanging data with secondary storage section through cache
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454653B2 (en) 2002-11-26 2008-11-18 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8006037B2 (en) 2004-10-21 2011-08-23 Microsoft Corporation Using external memory devices to improve system performance
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
JP2012181863A (en) * 2004-10-21 2012-09-20 Microsoft Corp Using external memory devices to improve system performance
JP2006134321A (en) * 2004-10-21 2006-05-25 Microsoft Corp Using external memory device to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
JP4675881B2 (en) * 2006-12-27 2011-04-27 株式会社東芝 Magnetic disk apparatus and control method thereof
JP2008165881A (en) * 2006-12-27 2008-07-17 Toshiba Corp Magnetic disk device and its control method
JP2008217527A (en) * 2007-03-06 2008-09-18 Hitachi Ltd Storage system and data control method
US8200897B2 (en) 2007-03-06 2012-06-12 Hitachi, Ltd. Storage system and data management method
US8370857B2 (en) 2007-04-20 2013-02-05 Media Logic Corp. Device controller
WO2008149453A1 (en) * 2007-06-08 2008-12-11 Fujitsu Limited Memory device, memory control device, and control method
JP2009059190A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Cache system, data recording device, program, and cache system controlling method
JP2009075658A (en) * 2007-09-18 2009-04-09 Hitachi Ltd Storage device and control method therefor
WO2009144833A1 (en) * 2008-05-29 2009-12-03 株式会社メディアロジック Information processing system
JP2010020774A (en) * 2008-07-11 2010-01-28 Samsung Electronics Co Ltd Method and system for controlling cache flash and data storage system using the same
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
JP2012515992A (en) * 2009-01-23 2012-07-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Non-graphics use of graphics memory
JP2012517644A (en) * 2009-02-13 2012-08-02 インディリンクス カンパニー リミテッド Storage systems using high-speed storage device as a cache
JP2010009622A (en) * 2009-10-07 2010-01-14 Media Logic Corp Device driver
US8677061B2 (en) 2011-06-02 2014-03-18 Kabushiki Kaisha Toshiba Information processing apparatus and cache control method
JP2012252514A (en) * 2011-06-02 2012-12-20 Toshiba Corp Information processing apparatus and cache control method
US9158478B2 (en) 2012-08-22 2015-10-13 Fujitsu Limited Storage system and storage control method
US9513824B2 (en) 2012-09-05 2016-12-06 Fujitsu Limited Control method, control device, and recording medium
US9619395B2 (en) 2014-07-31 2017-04-11 Kyocera Document Solutions Inc. Storage medium and information processing device for exchanging data with secondary storage section through cache

Similar Documents

Publication Publication Date Title
US8806113B2 (en) Method for efficient storage of metadata in flash memory
US9223662B2 (en) Preserving data of a volatile memory
US9424184B2 (en) Apparatus, systems, and methods for nameless writes
CN100394391C (en) Systems and methods for storing data on computer systems
US7310699B2 (en) Mass storage accelerator
US6799244B2 (en) Storage control unit with a volatile cache and a non-volatile backup cache for processing read and write requests
US8190832B2 (en) Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata
JP5420814B2 (en) Storage system and computing system including it has a scheme for invalidating data stored in the buffer memory
JP5351046B2 (en) Method and system for facilitating fast startup of a flash memory system
CN101965559B (en) Flash memory controller having crosspoint switch connecting processer and internal storage
US5701516A (en) High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme
US7610438B2 (en) Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
US9047178B2 (en) Auto-commit memory synchronization
US9772938B2 (en) Auto-commit memory metadata and resetting the metadata by writing to special address in free space of page storing the metadata
JP5808751B2 (en) The extension of the life of the ssd using the hybrid storage
US8645626B2 (en) Hard disk drive with attached solid state drive cache
US8370562B2 (en) Interruptible cache flushing in flash memory systems
RU2451993C2 (en) Prolonging service life of flash-memory
US9183132B2 (en) Storage device, computer system, and storage system
JP2557172B2 (en) Method and system for polling sub file status in the time zero backup copy process
JP4437489B2 (en) Storage system comprising a volatile cache memory and non-volatile memory
US20080034174A1 (en) Non-volatile memory storage systems for phased garbage collection
US7136973B2 (en) Dual media storage device
CN102163133B (en) Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory
US7444461B2 (en) Methods for phased garbage collection