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
cache
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
博 助川
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 JP8197585A priority Critical patent/JPH1040170A/en
Publication of JPH1040170A publication Critical patent/JPH1040170A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

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]

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

【0002】[0002]

【従来の技術】近年、コンピュータシステムにおいて
は、その2次記憶として用いられている磁気ディスク装
置のアクセス速度の高速化のために、ディスクキャッシ
ュが多く用いられている。
2. Description of the Related Art In recent years, in computer systems, disk caches are often used to increase the access speed of a magnetic disk device used as secondary storage.

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

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

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

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

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

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

【0009】しかしながら、前述したようにディスクキ
ャッシュは、汎用コンピュータおよびパーソナルコンピ
ュータのどちらにおいてもSRAMやDRAM等の揮発
性の半導体メモリから構成されているので、例えば、シ
ステムの電源を一旦オフにしてしまうと、キャッシュの
内容は全て消失されてしまう。この場合、それまでに構
築されているヒット率の高いキャッシュの内容が全て無
駄になり、システムの電源再投入後に、キャッシュの内
容を最初から構築し直すことが必要になる。従って、電
源再投入後もしばらくの間は、キャッシュミスヒットが
多発し、アクセス効率の低下が引き起こされることにな
る。特に、パーソナルコンピュータにおいては、ユーザ
によってシステム電源のオン・オフが頻繁に行われるた
め、その影響は大きい。このことが、CPUの高速化に
も拘わらず、依然として、オペレーティングシステムや
アプリケーションプログラムの起動に多くの時間が必要
となっている要因でもある。
However, as described above, the disk cache is composed of a volatile semiconductor memory such as an SRAM or a DRAM in both a general-purpose computer and a personal computer. For example, the power supply of the system is temporarily turned off. Then, the contents of the cache are all lost. In this case, all the contents of the cache having a high hit rate that have been constructed up to that point are wasted, and it is necessary to reconstruct the contents of the cache from the beginning after the system is turned on again. Therefore, cache mishits frequently occur for a while even after the power is turned on again, causing a decrease in access efficiency. Particularly, in the case of a personal computer, the user frequently turns on and off the system power supply. This is a factor that still requires a lot of time to start the operating system and application programs, despite the speeding up of the CPU.

【0010】一方、ノートブック型パーソナルコンピュ
ータやPDAでは、近年低価格化が進んでいる半導体デ
ィスク装置が磁気ディスク装置に代わる新たな2次記憶
として注目されている。半導体ディスク装置は、電気的
に一括消去が可能な不揮発性の半導体メモリであるフラ
ッシュEEPROMを使用しており、磁気ディスク装置
に比し、小型、軽量、低消費電力、ランダムアクセスを
高速に行うことができる、という利点がある。また、半
導体ディスク装置は、物理的な衝撃による誤動作や故障
にも強い。しかし、その反面、半導体ディスク装置は、
低価格化が進んではいるものの磁気ディスク装置よりも
単位記憶サイズ当たりの価格が高い。
On the other hand, in a notebook personal computer and a PDA, a semiconductor disk device, whose price has been reduced in recent years, is attracting attention as a new secondary storage replacing the magnetic disk device. The semiconductor disk device uses a flash EEPROM, which is a nonvolatile semiconductor memory that can be electrically erased in a batch, and is smaller, lighter, consumes less power, and performs faster random access than a magnetic disk device. There is an advantage that can be. In addition, the semiconductor disk device is resistant to malfunction or failure due to physical impact. However, on the other hand, semiconductor disk devices
Although price reduction is progressing, the price per unit storage size is higher than the magnetic disk device.

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

【0012】[0012]

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

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

【0014】[0014]

【課題を解決するための手段】この発明は、磁気ディス
ク装置と、フラッシュEEPROMから構成される半導
体ディスク装置とを有するコンピュータシステムで使用
されるディスクキャッシュシステムであって、前記磁気
ディスク装置と前記半導体ディスク装置とを統合制御し
て、前記半導体ディスク装置を、前記磁気ディスク装置
のデータの一部を保持するディスクキャッシュとして動
作させるディスクキャッシュ制御手段を具備し、このデ
ィスクキャッシュ制御手段は、前記磁気ディスク装置に
対する読み出し要求が発生したとき、それによって前記
磁気ディスク装置から読み出されたデータを前記半導体
ディスク装置に書き込む手段と、前記磁気ディスク装置
に対する読み出し要求で指定されたデータが前記半導体
ディスク装置に存在するとき、前記磁気ディスク装置の
代わりに前記半導体ディスク装置をアクセスしてデータ
を読み出す手段とを具備することを特徴とする。
SUMMARY OF THE INVENTION The present invention relates to a disk cache system used in a computer system having a magnetic disk device and a semiconductor disk device constituted by a flash EEPROM, wherein the magnetic disk device and the semiconductor A disk cache control unit that controls the semiconductor disk device as a disk cache that retains a part of data of the magnetic disk device by integrally controlling a disk device; When a read request is issued to the device, means for writing data read from the magnetic disk device to the semiconductor disk device thereby, and data designated by the read request to the magnetic disk device are stored in the semiconductor disk device. 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】このディスクキャッシュシステムにおいて
は、半導体ディスク装置と磁気ディスク装置それぞれの
特徴を考慮し、記憶容量は大きいがアクセス速度の遅い
磁気ディスク装置のキャッシュとして、高速アクセスが
可能な半導体ディスク装置が利用される。すなわち、O
S、アプリケーションプログラムなどからの磁気ディス
ク装置に対する一連の読み出しが発生した場合は、磁気
ディスク装置から読み出されたデータが、OS、アプリ
ケーションに渡され、かつ半導体ディスク装置にも格納
される。次の機会に、OS、アプリケーションから磁気
ディスク装置に対する読み出しが発生した場合は、同一
のデータが半導体ディスク装置に存在する場合は、デー
タの読み出しは半導体ディスク装置から行われる為、高
速の読み出しが可能となる。また、これらの情報は従来
の主メモリの一部などを利用した揮発性メモリによるキ
ャッシュシステムとは異なり、不揮発情報として半導体
ディスク装置に保存されている為、電源切断・再起動を
経ても有効となる。よって、システム電源がオフされて
もそれまでに構築されたヒット率の高いディスクキャッ
シュの内容を有効に維持することができ、OSやアプリ
ケーションプログラムの起動などを高速に行うことが可
能となる。
In this disk cache system, a semiconductor disk device capable of high-speed access is used as a cache of a magnetic disk device having a large storage capacity but a low access speed in consideration of the characteristics of the semiconductor disk device and the magnetic disk device. Is done. That is, O
When a series of readings from the magnetic disk device from the application program or the like occurs, the data read from the magnetic disk device is passed to the OS and the application and stored in the semiconductor disk device. At the next opportunity, when reading from the OS or application to the magnetic disk device occurs, if the same data exists in the semiconductor disk device, the data is read from the semiconductor disk device, so high-speed reading is possible. Becomes Also, unlike the conventional cache system using volatile memory that uses a part of the main memory, such information is stored as non-volatile information in the semiconductor disk device, so it is effective even after power-off and restart. Become. Therefore, even if the system power supply is turned off, the contents of the disk cache having a high hit ratio that has been constructed up to that time can be effectively maintained, and the OS and application programs can be started at high speed.

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

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

【0018】また、ディスクキャッシュ制御手段には、
個々のコマンドで磁気ディスク装置から読み出されたデ
ータサイズが所定の基準値以下であるか否かを判定する
手段と、前記個々のコマンドで読み出されたデータサイ
ズが前記基準値以下であるとき、そのデータを前記半導
体ディスク装置に書き込む手段とをさらに具備し、前記
基準値よりもデータサイズの大きいデータについては前
記半導体ディスク装置への書き込みを省略することが好
ましい。このように個々のコマンドで読み出されたデー
タサイズが長いものについては半導体ディスク装置への
データ格納を省略することにより、半導体ディスク装置
で消費される記憶容量を少なく押さえることが出来、か
つ、その様なデータに対しては、ランダムアクセスが低
速である磁気ディスク装置の欠点が目立たない(磁気デ
ィスク装置は読み出すデータサイズが大きいほど単位デ
ータ当たりの平均読み出し速度が速くなる)ため、ディ
スクキャッシュシステム全体としての性能低下の影響も
少なくて済み、半導体ディスク装置の記憶容量対ディス
クキャッシュシステムのパフォーマンスの最適な設定が
得られる。
The disk cache control means includes:
Means for determining whether or not the data size read from the magnetic disk device by an individual command is equal to or smaller than a predetermined reference value; and when the data size read by the individual command is equal to or smaller than the reference value. And a means for writing the data to the semiconductor disk device, and it is preferable to omit writing to the semiconductor disk device for data having a data size larger than the reference value. By omitting data storage in the semiconductor disk device for data having a long data size read by individual commands, the storage capacity consumed by the semiconductor disk device can be reduced, and For such data, the drawbacks of a magnetic disk device that performs random access at a low speed are inconspicuous (the larger the data size to be read, the higher the average read speed per unit data becomes.) The effect of the performance degradation as described above can be reduced, and the optimum setting of the storage capacity of the semiconductor disk device versus the performance of the disk cache system can be obtained.

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

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

【0021】すなわち、この構成によれば、半導体ディ
スク装置の空き容量が少なくなってきた場合には、半導
体ディスク装置からデータを廃棄するのではなく、旧い
データ順、或いは、アクセス頻度の低い順にデータが半
導体ディスク装置から磁気ディスク装置に吐き出され
る。磁気ディスク装置には、この吐き出しデータを蓄積
するための吐き出しデータ蓄積領域が設けられており、
吐き出しデータはその磁気ディスク装置にシーケンシャ
ルアクセスにより高速に書き込まれる。次の機会に、O
S、アプリケーションから磁気ディスク装置に対する一
連の読み出し要求が発生した場合に、もし要求されたデ
ータが吐き出しデータ蓄積領域に存在するならば、磁気
ディスク装置から半導体ディスク装置に対して、或い
は、システムの主メモリに対して、磁気ディスク装置上
に吐き出されていた一連のデータが一括してコピーされ
る。ここで、このコピーの所要時間は磁気ディスク装置
からはシーケンシャルなアクセスとなるため、短時間で
完了する。その後の、OS、アプリケーションから磁気
ディスク装置に対する一連の読み出しに対する応答は、
半導体ディスク装置、或いは、システムの主メモリから
発生するため、その範囲で、ランダムな読み出しが発生
しても高速な読み出しが可能となる。
That is, according to this configuration, when the free space of the semiconductor disk device becomes small, the data is not discarded from the semiconductor disk device, but the data is sorted in the order of old data or in the order of low access frequency. Is discharged from the semiconductor disk device to the magnetic disk device. The magnetic disk device is provided with a discharge data storage area for storing the discharge data,
The ejection data is written to the magnetic disk device at high speed by sequential access. On the next opportunity, O
S: When a series of read requests from the application to the magnetic disk device occur, if the requested data exists in the output data storage area, the magnetic disk device sends the request to the semiconductor disk device or the main system. A series of data ejected on the magnetic disk device is copied to the memory at once. Here, the time required for the copy is a sequential access from the magnetic disk device, and is completed in a short time. Thereafter, a response to a series of readings from the OS and the application to the magnetic disk device is
Since the data is generated from the semiconductor disk device or the main memory of the system, high-speed reading can be performed within the range even if random reading occurs.

【0022】また、半導体ディスク装置から磁気ディス
ク装置へのデータ吐き出しは、個々の読み出しコマンド
で磁気ディスク装置から読み出されたデータ単位ではな
く、磁気ディスク装置から読み出された一連のデータ単
位で行うことが好ましい。ここで、”一連のデータ”の
判断は、所定時間内、或いは所定時間間隔内に発生した
個々のアクセス要求で読み出されたデータの集合を”一
連のデータ”と判断する、キーボード、マウス等の人間
の操作を起点として発生した一連のアクセス要求でそれ
ぞれ読み出されたデータの集合を”一連のデータ”と判
断する、ある時間内に行われたアクセスの中で同一ディ
レクトリ内のファイルに対する個々のアクセス要求で読
み出されたデータの集合を”一連のデータ”と判断す
る、等が考えられる。これにより、一緒に利用される可
能性が高いデータの塊をまとめて吐き出しデータ蓄積領
域に保持できるようになり、吐き出しデータの再利用を
効率よく行うことができる。
Further, data is output from the semiconductor disk device to the magnetic disk device in a series of data units read from the magnetic disk device, not in data units read from the magnetic disk device by individual read commands. Is preferred. Here, the "series of data" is determined by determining a set of data read by an individual access request generated within a predetermined time or within a predetermined time interval as a "series of data", such as a keyboard, a mouse, or the like. A set of data read out by a series of access requests generated from a human operation is determined as a "series of data". Individual accesses to files in the same directory during an access performed within a certain time It is considered that a set of data read in response to the access request is determined as a “series of data”. This makes it possible to collect data blocks that are likely to be used together together in the discharge data storage area, and to efficiently reuse the discharge data.

【0023】また、前記ディスクキャッシュ制御手段に
は、前記磁気ディスク装置に対する書き込み要求で指定
されたアドレスおよびデータを前記半導体ディスク装置
に書き込む手段と、前記半導体ディスク装置から前記磁
気ディスク装置に対するデータ書き戻しがシーケンシャ
ルな方向で実行されるように、前記半導体ディスク装置
に書き込まれたデータそれぞれのアドレスに基づいて前
記磁気ディスク装置に対するそれらデータのデータ書き
戻し順序を決定し、その順序で前記磁気ディスク装置へ
の書データ書き戻しを行うデータ書き戻し手段とをさら
に具備することが好ましい。これにより、大規模なコマ
ンドキューイングが行われ、磁気ディスク装置への書き
込み速度を向上することができる。
The disk cache control means includes means for writing an address and data designated by a write request to the magnetic disk device to the semiconductor disk device, and data write-back from the semiconductor disk device to the magnetic disk device. Are determined in the sequential direction so that the data write-back sequence of the data to the magnetic disk device is determined based on the addresses of the data written to the semiconductor disk device, and the data is written to the magnetic disk device in that order. It is preferable to further comprise a data write-back means for performing write data write-back. As a result, large-scale command queuing is performed, and the writing speed to the magnetic disk device can be improved.

【0024】[0024]

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

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

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

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

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

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

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

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

【0032】ここで、ハードディスク装置12へのデー
タ吐き出しは、個々の読み出しコマンドでハードディス
ク装置12から読み出されたデータ単位ではなく、ハー
ドディスク装置12から読み出された一連のデータ単位
で行うことが好ましい。ここで、”一連のデータ”の判
断は、所定時間内、或いは所定時間間隔内に発生した個
々のアクセス要求で読み出されたデータの集合を”一連
のデータ”と判断する、キーボード、マウス等の人間の
操作を起点として発生した一連のアクセス要求でそれぞ
れ読み出されたデータの集合を”一連のデータ”と判断
する、ある時間内に行われたアクセスの中で同一ディレ
クトリ内のファイルに対する個々のアクセス要求で読み
出されたデータの集合を”一連のデータ”と判断する、
等が考えられる。これにより、一緒に利用される可能性
が高いデータの塊をまとめて吐き出しデータ蓄積領域に
保持できるようになる。
Here, it is preferable that the data is output to the hard disk device 12 not in the data unit read from the hard disk device 12 by each read command but in a series of data units read from the hard disk device 12. . Here, the "series of data" is determined by determining a set of data read by an individual access request generated within a predetermined time or within a predetermined time interval as a "series of data", such as a keyboard, a mouse, or the like. A set of data read out by a series of access requests generated from a human operation is determined as a "series of data". Individual accesses to files in the same directory during an access performed within a certain time Judge the set of data read by the access request as "a series of data",
And so on. This makes it possible to collectively store data blocks that are likely to be used together in the discharge data storage area.

【0033】次の機会に、オペレーティングシステム1
7またはアプリケーションプログラム16からハードデ
ィスク装置12に対する読み出しが発生した場合は、同
一のデータが半導体ディスク装置11には既に存在せ
ず、ハードディスク装置12に吐き出されている場合に
は、ハードディスク装置12から半導体ディスク装置1
1に対して、或いは、システムの主メモリに対して、ハ
ードディスク装置12上に吐き出されていた一連のデー
タが一括してコピーされる。ここで、このコピーの所要
時間は、ハードディスク装置12からはシーケンシャル
なアクセスとなるため、短時間で完了する。その後の、
オペレーティングシステム17またはアプリケーション
プログラム16からハードディスク装置12に対する読
み出しに対する応答は、半導体ディスク装置11、或い
は、システムの主メモリから発生するため、その範囲
で、ランダムな読み出しが発生しても高速な読み出しが
可能となる。
At the next opportunity, operating system 1
7 or the application program 16 reads data from the hard disk device 12, the same data does not already exist in the semiconductor disk device 11, and if the same data has been output to the hard disk device 12, the same data is read from the hard disk device 12. Apparatus 1
1 or the main memory of the system, a series of data discharged on the hard disk device 12 is copied collectively. Here, the time required for this copy is a sequential access from the hard disk device 12, and therefore is completed in a short time. After that,
Since the response to the reading from the operating system 17 or the application program 16 to the hard disk device 12 is generated from the semiconductor disk device 11 or the main memory of the system, high-speed reading is possible within the range even if random reading occurs. Becomes

【0034】なお、ハードディスク装置12からの一連
の読み出しデータを主メモリにのみコピーする方式とす
ると、半導体ディスク装置11の存在意義が薄れる様だ
が、それでも、半導体ディスク装置11には以下の存在
意義がある。
It should be noted that if a method of copying a series of read data from the hard disk device 12 to the main memory only is used, the significance of the existence of the semiconductor disk device 11 seems to be diminished. is there.

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

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

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

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

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

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

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

【0042】OS、アプリケーションが書き込みを行っ
たデータは、一旦、半導体ディスク装置11に書き込ま
れる。その後、ハードディスク装置12に対して、ハー
ドディスク装置12に所定時間内により多くのデータ書
き込みが出来るように書き込みコマンドを分割、結合、
並び替えをして、発行する。すなわち、半導体ディスク
装置11は、非常に大規模な不揮発コマンドキューイン
グとして利用される。このため、システムのリセット、
電源停止等に関してもデータが失われることのない強固
なシステムが実現できる。その為には、例えば、半導体
ディスク装置11からハードディスク装置12へのデー
タ書き込みが完了したことを確認の後に、データの移動
が完了したフラグ立てる、或いは、半導体ディスク装置
11の該当領域のデータを削除する等の手段をとれば、
電源が途中で遮断した等で半導体ディスク装置11上の
データがそのまま残っているので、再起動後は、キュー
イングされた書き込みコマンドのハードディスク装置1
2への書き込みが完了していないことが分かるため、復
旧は容易となる。
The data written by the OS and the application is once written to the semiconductor disk device 11. Thereafter, the write command is divided, combined, and written into the hard disk device 12 so that more data can be written to the hard disk device 12 within a predetermined time.
Sort and issue. That is, the semiconductor disk device 11 is used as a very large-scale nonvolatile command queuing. Because of this, a system reset,
A robust system in which data is not lost even when the power is stopped can be realized. For this purpose, for example, after confirming that data writing from the semiconductor disk device 11 to the hard disk device 12 has been completed, a flag indicating that data movement has been completed is set, or data in the corresponding area of the semiconductor disk device 11 is deleted. If you take measures such as
Since the data on the semiconductor disk device 11 remains as it is because the power supply was interrupted halfway, after the restart, the hard disk device 1 of the queued write command is
Since it is found that the writing to 2 has not been completed, the recovery becomes easy.

【0043】即ち、この際は、極力シーケンシャルの書
き込みコマンド発行となるようにコマンド発行が調整さ
れる。また、場合によっては、システムに実装されてい
るハードディスク装置12と最もマッチングをとった形
でのコマンド発行順としても良い。例えば、シークの後
のトラック位置決めが済んだ直後に現れるセクタに対す
る書き込みコマンドを発行する等のことが考えられる。
現実的には、隣接トラックに対するシークのケースであ
れば、通常のハードディスク装置であれば、シーケンシ
ャルな書き込みコマンドを発行すれば、最適化が図られ
ているため、ハードディスク装置12とマッチングをと
る話は少なかろうが、隣接トラックを超えたシークが発
生するコマンド発行となると、シーク先のトラック上の
どこのセクタから書き込みを行う方が良いかは、ハード
ディスク装置12の機械的な動作速度特性、及び、内部
のキャッシュシステムのアルゴリズムとの相性を含めた
マッチングの影響が出てくる。
That is, in this case, the command issuance is adjusted so that the sequential write command is issued as much as possible. In some cases, the commands may be issued in the order that most matches the hard disk drive 12 installed in the system. For example, it is conceivable to issue a write command to a sector that appears immediately after track positioning after a seek is completed.
Realistically, in the case of a seek to an adjacent track, if a normal hard disk device is used, if a sequential write command is issued, optimization is achieved. To a lesser extent, when a command is issued that causes a seek beyond the adjacent track, which sector on the seek destination track should be written depends on the mechanical operating speed characteristics of the hard disk drive 12 and However, the effect of the matching including the compatibility with the algorithm of the internal cache system comes out.

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

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

【0046】この後、キャッシュシステムドライバ15
は、個々の読み出しコマンドでハードディスク装置12
からトラップ用メモリ上に転送された読み出しデータ単
位でそのデータサイズを調べ、そのデータサイズがある
基準値Pよりも大きいものについては(ステップS10
5)、何もせずに処理を終了する。一方、個々の読み出
しコマンドで転送されたデータサイズが基準値P以下の
ものについては、キャッシュシステムドライバ15は、
それらデータが一連のデータである否かを判断し(ステ
ップS106)、一連のデータでない場合にはそのま
ま、一連のデータである場合には一連情報の識別子を付
加した状態で、それらデータを半導体ディスク装置11
に書き込む(ステップS106〜S108)。
Thereafter, the cache system driver 15
Is a hard disk drive 12 with each read command.
The data size is checked in units of the read data transferred from the to the trap memory, and if the data size is larger than a certain reference value P (step S10
5), end the process without doing anything. On the other hand, when the data size transferred by each read command is smaller than the reference value P, the cache system driver 15
It is determined whether or not the data is a series of data (step S106). If the data is not a series of data, and if the data is a series of data, an identifier of the series information is added to the data. Device 11
(Steps S106 to S108).

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

【0048】ここでは、ハードディスク装置12のデー
タ読み出し性能に関しては、シーク+回転待ちに要する
時間が20msで、読み出し速度が8KB/msであ
り、半導体ディスク装置11の書き込み性能に関して
は、書き込み速度が3KB/msである場合を想定して
いる。
Here, regarding the data read performance of the hard disk device 12, the time required for the seek + rotation wait is 20 ms, the read speed is 8 KB / ms, and the write performance of the semiconductor disk device 11 is 3 KB. / Ms.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【0069】[0069]

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

【図面の簡単な説明】[Brief description of the drawings]

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

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

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

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

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

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

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

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

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

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

【符号の説明】[Explanation of symbols]

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

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 磁気ディスク装置と、フラッシュEEP
ROMから構成される半導体ディスク装置とを有するコ
ンピュータシステムで使用されるディスクキャッシュシ
ステムであって、 前記磁気ディスク装置と前記半導体ディスク装置とを統
合制御して、前記半導体ディスク装置を、前記磁気ディ
スク装置のデータの一部を保持するディスクキャッシュ
として動作させるディスクキャッシュ制御手段を具備
し、 このディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する読み出し要求が発生した
とき、それによって前記磁気ディスク装置から読み出さ
れたデータを前記半導体ディスク装置に書き込む手段
と、 前記磁気ディスク装置に対する読み出し要求で指定され
たデータが前記半導体ディスク装置に存在するとき、前
記磁気ディスク装置の代わりに前記半導体ディスク装置
をアクセスしてデータを読み出す手段とを具備すること
を特徴とするディスクキャッシュシステム。
1. A magnetic disk drive and a flash EEP
What is claimed is: 1. A disk cache system used in a computer system having a semiconductor disk device constituted by a ROM, wherein said semiconductor disk device is integrated with said magnetic disk device by integrally controlling said magnetic disk device and said semiconductor disk device. Disk cache control means for operating as a disk cache for holding a part of the data, wherein the disk cache control means, when a read request is issued to the magnetic disk device, thereby reading from the magnetic disk device Means for writing the read data to the semiconductor disk device, and accessing the semiconductor disk device instead of the magnetic disk device when the data specified by the read request to the magnetic disk device exists in the semiconductor disk device. A disk cache system comprising:
【請求項2】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する個々の読み出し要求で前
記磁気ディスク装置から読み出されるデータサイズが所
定の基準値以下であるか否かを判定する手段と、 前記個々の読み出し要求で前記磁気ディスク装置から読
み出されるデータサイズが前記基準値以下であるとき、
そのデータを前記半導体ディスク装置に書き込む手段と
を具備し、 前記個々の読み出し要求で前記磁気ディスク装置から読
み出されるデータサイズが前記基準値よりも大きいデー
タについては前記半導体ディスク装置への書き込みを省
略することを特徴とする請求項1記載のディスクキャッ
シュシステム。
2. The disk cache control unit determines whether a data size read from the magnetic disk device in each read request to the magnetic disk device is equal to or smaller than a predetermined reference value, and When the data size read from the magnetic disk device in the read request is less than the reference value,
Means for writing the data to the semiconductor disk device, and omitting writing to the semiconductor disk device for data whose data size read from the magnetic disk device in each individual read request is larger than the reference value. The disk cache system according to claim 1, wherein:
【請求項3】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置からシーケンシャルアクセスで読
み出されたデータサイズの総量が所定の基準値以下であ
るか否かを判定する手段と、 前記シーケンシャルアクセスで読み出されたデータサイ
ズ総量が前記基準値以下であるとき、そのデータを前記
半導体ディスク装置に書き込む手段とを具備し、 シーケンシャルアクセスで読み出されたデータサイズ総
量が前記基準値よりも大きいときには、そのデータにつ
いては前記半導体ディスク装置への書き込みを省略する
ことを特徴とする請求項1記載のディスクキャッシュシ
ステム。
3. The disk cache control means determines whether or not the total amount of data read from the magnetic disk device by sequential access is equal to or less than a predetermined reference value; Means for writing the data to the semiconductor disk device when the total data size output is equal to or less than the reference value, and when the total data size read by the sequential access is larger than the reference value, 2. The disk cache system according to claim 1, wherein writing of data to the semiconductor disk device is omitted.
【請求項4】 前記ディスクキャッシュ制御手段は、 前記半導体ディスク装置の空き容量に基づいて、そこに
保持されているデータを、前記磁気ディスク装置の記憶
領域の一部に定義された吐き出しデータ蓄積領域にシー
ケンシャルに書き込むデータ吐き出し手段と、 ホスト装置からの前記磁気ディスク装置に対する読み出
し要求で指定されたデータが前記吐き出しデータ蓄積領
域に存在するとき、前記データ吐き出し手段によって前
記吐き出しデータ蓄積領域に吐き出されていたデータを
一括して前記ホスト装置、あるいは前記ホスト装置と前
記半導体ディスク装置の双方に転送する手段とをさらに
具備することを特徴とする請求項1記載のディスクキャ
ッシュシステム。
4. The disk cache control means, based on the free space of the semiconductor disk device, stores the data held therein in a discharge data storage area defined as a part of a storage area of the magnetic disk device. A data ejection means for sequentially writing data to the magnetic disk device, and when data specified by a read request from the host device to the magnetic disk device exists in the ejection data accumulation area, the data ejection means ejects the data to the ejection data accumulation area. 2. The disk cache system according to claim 1, further comprising: means for transferring the data collectively to said host device or to both said host device and said semiconductor disk device.
【請求項5】 前記データ吐き出し手段は、 前記半導体ディスク装置に書き込まれた一連のデータ単
位で、前記半導体ディスク装置から前記磁気ディスク装
置の吐き出しデータ蓄積領域へのデータ吐き出しを行う
ことを特徴とする請求項4記載のディスクキャッシュシ
ステム。
5. The data discharge means discharges data from the semiconductor disk device to a discharge data storage area of the magnetic disk device in a series of data written in the semiconductor disk device. The disk cache system according to claim 4.
【請求項6】 前記ディスクキャッシュ制御手段は、 前記磁気ディスク装置に対する書き込み要求で指定され
たアドレスおよびデータを前記半導体ディスク装置に書
き込む手段と、 前記半導体ディスク装置から前記磁気ディスク装置に対
するデータ書き戻しがシーケンシャルな方向で実行され
るように、前記半導体ディスク装置に書き込まれたデー
タそれぞれのアドレスに基づいて前記磁気ディスク装置
に対するそれらデータのデータ書き戻し順序を決定し、
その順序で前記磁気ディスク装置へのデータ書き戻しを
行うデータ書き戻し手段とをさらに具備することを特徴
とする請求項1記載のディスクキャッシュシステム。
6. The disk cache control means: means for writing an address and data specified by a write request to the magnetic disk device to the semiconductor disk device; and data write-back from the semiconductor disk device to the magnetic disk device. In order to be executed in a sequential direction, a data write-back order of the data to the magnetic disk device is determined based on an address of each data written to the semiconductor disk device,
2. The disk cache system according to claim 1, further comprising: data write-back means for performing data write-back to said magnetic disk device in said order.
【請求項7】 磁気ディスク装置と、フラッシュEEP
ROMから構成される半導体ディスク装置とを有するコ
ンピュータシステムで使用されるディスクキャッシュシ
ステムであって、 オペレーティングシステムまたはアプリケーションプロ
グラムからの前記磁気ディスク装置に対するアクセス要
求に応答して、前記磁気ディスク装置と前記半導体ディ
スク装置とを統合制御するディスクキャッシュ制御ソフ
トウェアを使用して、前記半導体ディスク装置を、前記
磁気ディスク装置のデータの一部を保持するディスクキ
ャッシュとして動作させることを特徴とするディスクキ
ャッシュシステム。
7. A magnetic disk drive and a flash EEP
A disk cache system used in a computer system having a semiconductor disk device composed of a ROM, wherein the magnetic disk device and the semiconductor device are responsive to an access request to the magnetic disk device from an operating system or an application program. A disk cache system, wherein the semiconductor disk device is operated as a disk cache that holds a part of data of the magnetic disk device by using disk cache control software that integrally controls the disk device.
【請求項8】 磁気ディスク装置と、フラッシュEEP
ROMから構成される半導体ディスク装置とが一体化さ
れて構成される統合ディスク装置を用いたディスクキャ
ッシュシステムであって、 前記統合ドライブ装置には前記磁気ディスク装置と同一
の単一ドライブ番号が割り当てられており、 前記統合ドライブ装置に設けられたコントローラは、 ホストCPUからの前記磁気ディスク装置に対するアク
セス要求に応答して前記磁気ディスク装置と前記半導体
ディスク装置とを統合制御し、前記半導体ディスク装置
を、前記磁気ディスク装置のデータの一部を保持するデ
ィスクキャッシュとして動作させる手段を具備すること
を特徴とするディスクキャッシュシステム。
8. A magnetic disk drive and a flash EEP
A disk cache system using an integrated disk device configured by integrating a semiconductor disk device configured by a ROM, wherein the integrated drive device is assigned the same single drive number as the magnetic disk device. A controller provided in the integrated drive device, integratedly controls the magnetic disk device and the semiconductor disk device in response to an access request from the host CPU to the magnetic disk device, and controls the semiconductor disk device. A disk cache system comprising means for operating as a disk cache for holding a part of data of the magnetic disk device.
【請求項9】 前記コントローラには、前記磁気ディス
ク装置と前記半導体ディスク装置とで共用されるデータ
入出力バッファが設けられており、 前記データ入出力バッファを介して前記磁気ディスク装
置と前記半導体ディスク装置との間のデータ転送が行わ
れることを特徴とする請求項8記載のディスクキャッシ
ュシステム。
9. The controller includes a data input / output buffer shared by the magnetic disk device and the semiconductor disk device, and the controller controls the magnetic disk device and the semiconductor disk via the data input / output buffer. 9. The disk cache system according to claim 8, wherein data transfer to and from the device is performed.
【請求項10】 フラッシュEEPROMから構成され
る半導体ディスク装置を用いたディスクキャッシュシス
テムであって、 前記半導体ディスク装置は、 コンピュータシステムのバスに接続されるバスインター
フェースと、 磁気ディスク装置のホストインターフェースに接続され
る磁気ディスクインターフェースと、 前記バスインターフェースと前記磁気ディスクインター
フェースとの間に設けられ、前記バスインターフェース
を介して入力されるホストCPUからの前記磁気ディス
ク装置に対するアクセス要求に応答して、前記磁気ディ
スク装置と前記半導体ディスク装置のフラッシュEEP
ROMとを統合制御し、前記半導体ディスク装置を、前
記磁気ディスク装置のデータの一部を保持するディスク
キャッシュとして動作させるコントローラとを具備する
ことを特徴とするディスクキャッシュシステム。
10. A disk cache system using a semiconductor disk device comprising a flash EEPROM, wherein the semiconductor disk device is connected to a bus interface connected to a bus of a computer system and to a host interface of a magnetic disk device. A magnetic disk interface provided between the bus interface and the magnetic disk interface, and in response to an access request to the magnetic disk device from the host CPU input via the bus interface, the magnetic disk Device and flash EEP of the semiconductor disk device
A disk cache system comprising: a controller that integrally controls a ROM and operates the semiconductor disk device 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 (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004506256A (en) * 2000-06-23 2004-02-26 インテル・コーポレーション Non-volatile cache
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 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Non-graphics use of graphics memory
JP2012517644A (en) * 2009-02-13 2012-08-02 インディリンクス カンパニー リミテッド Storage system using high-speed storage device as 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 (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004506256A (en) * 2000-06-23 2004-02-26 インテル・コーポレーション Non-volatile cache
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
JP2006134321A (en) * 2004-10-21 2006-05-25 Microsoft Corp Using external memory device to improve system performance
JP2012181863A (en) * 2004-10-21 2012-09-20 Microsoft Corp 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
US9690496B2 (en) 2004-10-21 2017-06-27 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
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
JP2008165881A (en) * 2006-12-27 2008-07-17 Toshiba Corp Magnetic disk device and its control method
JP4675881B2 (en) * 2006-12-27 2011-04-27 株式会社東芝 Magnetic disk drive and control method thereof
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
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US10509730B2 (en) 2008-09-19 2019-12-17 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
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
JP2012515992A (en) * 2009-01-23 2012-07-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Non-graphics use of graphics memory
JP2012517644A (en) * 2009-02-13 2012-08-02 インディリンクス カンパニー リミテッド Storage system using high-speed storage device as 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
USRE49417E1 (en) 2011-06-02 2023-02-14 Kioxia Corporation Information processing apparatus and cache control method
USRE49418E1 (en) 2011-06-02 2023-02-14 Kioxia Corporation 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
JPH1040170A (en) Disk cache system
US9665495B2 (en) Methods and systems for throttling writes to a caching device in response to read misses
US9342260B2 (en) Methods for writing data to non-volatile memory-based mass storage devices
Matthews et al. Intel® turbo memory: Nonvolatile disk caches in the storage hierarchy of mainstream computer systems
US7610438B2 (en) Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
US7203815B2 (en) Multi-level page cache for enhanced file system performance via read ahead
US10248322B2 (en) Memory system
TWI438628B (en) Data storage system and data storage medium
US20090327608A1 (en) Accelerated resume from hibernation in a cached disk system
US20080016273A1 (en) System And Method To Reduce Disk Access Time During Predictable Loading Sequences
TW201017405A (en) Improved hybrid drive
JP2007528079A (en) Flash controller cache structure
JP2007183961A (en) Hard disk drive cache memory and playback device
JP2007522560A (en) Mass storage accelerator
US20100235568A1 (en) Storage device using non-volatile memory
JPS5873085A (en) Control of memory hierarchy
JPH07146820A (en) Control method for flash memory and information processor using the same
CN101135952B (en) Using an access log for disk drive transactions
US20020059324A1 (en) Computer system and a database access method thereof
KR101392062B1 (en) Fast speed computer system power-on & power-off method
US6993627B2 (en) Data storage system and a method of storing data including a multi-level cache
JP2001188658A (en) Disk control system and data rearranging method
EP4170506A1 (en) Systems, methods, and devices for ordered access of data in block modified memory
CN111164694A (en) Volatile management of memory
JP4506292B2 (en) Cache control method, data processing system, and processing program therefor