JP2006099802A - Storage controller and cache memory control method - Google Patents
Storage controller and cache memory control method Download PDFInfo
- Publication number
- JP2006099802A JP2006099802A JP2005357304A JP2005357304A JP2006099802A JP 2006099802 A JP2006099802 A JP 2006099802A JP 2005357304 A JP2005357304 A JP 2005357304A JP 2005357304 A JP2005357304 A JP 2005357304A JP 2006099802 A JP2006099802 A JP 2006099802A
- Authority
- JP
- Japan
- Prior art keywords
- management information
- cache memory
- memory
- storage
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】ライトキャッシュ付きの記憶制御装置の処理性能を向上させる。
【解決手段】複数のディスク装置3000とホストコンピュータ1000との間に介在し、両者間で授受されるリードデータ/ライトデータを一時的に保持する不揮発性のキャッシュ2400を備えた記憶制御装置2000において、キャッシュ2400上のユーザデータの管理情報を、キャッシュ2400内のキャッシュ内管理情報領域2420と、より高速なアクセスが可能な揮発性のローカルメモリ2210内のローカルメモリ内管理情報領域2221に2元管理し、正常時の管理情報の参照は高速なローカルメモリ内管理情報領域2221から実施し、障害時には不揮発性のキャッシュ内管理情報領域2420からローカルメモリ内管理情報領域2221に管理情報を復元することにより、信頼性を落とすことなくキャッシュ2400のアクセス処理の高速化を図る。
【選択図】図1The processing performance of a storage controller with a write cache is improved.
In a storage control device 2000 including a non-volatile cache 2400 that is interposed between a plurality of disk devices 3000 and a host computer 1000 and temporarily holds read data / write data exchanged between them. Management of user data on the cache 2400 is managed in a cache management information area 2420 in the cache 2400 and a local memory management information area 2221 in the volatile local memory 2210 that can be accessed at higher speed. The normal management information is referred to from the high-speed local memory management information area 2221, and when a failure occurs, the management information is restored from the nonvolatile cache management information area 2420 to the local memory management information area 2221. Cache 240 without compromising reliability Increase the speed of the access process.
[Selection] Figure 1
Description
本発明は、記憶制御技術およびキャッシュメモリの制御技術に関し、特に、ユーザデータを一時的に格納する不揮発なキャッシュメモリを搭載する記憶制御装置等に適用して有効な技術に関する。 The present invention relates to a storage control technique and a cache memory control technique, and more particularly to a technique that is effective when applied to a storage control device or the like equipped with a nonvolatile cache memory for temporarily storing user data.
最近の市場動向として、記憶装置の高性能化、大容量化、低価格化の要求が高まっており、RAID(Redundant Array of Inexpensive Disks)の技術が重視されている。RAIDにおいては、複数のディスク装置をアレイ状に構成し、データ書き込み時には、書き込みデータに加えて冗長データを書き込みデータを格納したディスク装置とは異なるディスク装置へ書き込むことで、アレイ構成内の任意のディスク装置の故障に対しても他のディスク装置のデータと前記冗長データから該障害ディスク装置上のデータを修復可能とすることによって、ディスク装置のデータの保全性の向上を図っている。しかし、RAIDは、データの保全性が向上する反面、上記冗長データ生成/書き込みのための処理時間が増大し、ホストからのライト性能が大幅に劣化する。 As recent market trends, there are increasing demands for higher performance, larger capacity, and lower price of storage devices, and the importance of RAID (Redundant Array of Inexpensive Disks) technology. In RAID, a plurality of disk devices are configured in an array, and at the time of data writing, in addition to the write data, redundant data is written to a disk device different from the disk device storing the write data. Even in the event of a disk device failure, the data integrity of the disk device is improved by making it possible to recover data on the failed disk device from the data of another disk device and the redundant data. However, RAID improves data integrity, but increases the processing time for generating / writing redundant data, and the write performance from the host is greatly degraded.
このため、従来では、RAID支援にあたっては、ライトキャッシュの技術が不可欠となっている。ライトキャッシュとは、コントローラ内に搭載された、データを一時的に書き込むキャッシュであり、ホストからのライト要求では、このキャッシュに書き込みを行った時点で、ホストに終了報告を返す。そして、ホストのI/O処理とは非同期に冗長データの生成、ライトデータおよび冗長データのディスク装置への格納を行うことにより書き込み処理時の性能低下を防いでいる。 For this reason, conventionally, write cache technology is indispensable for RAID support. The write cache is a cache that is mounted in the controller and temporarily writes data. In a write request from the host, an end report is returned to the host when the cache is written. Then, generation of redundant data and storage of write data and redundant data in a disk device are performed asynchronously with host I / O processing, thereby preventing performance degradation during write processing.
上記従来技術は、冗長データの生成/ライトデータおよび冗長データのディスク装置への書き込みをホストI/Oとは同期させずに非同期に行う技術であり、この技術は、応答性能は向上するが、制御装置の処理性能自体を向上させるものではない。 The above prior art is a technique for performing generation of redundant data / write data and writing of redundant data to the disk device asynchronously without synchronizing with the host I / O. This technique improves response performance, It does not improve the processing performance of the control device itself.
また、ライトキャッシュを用いると、データをキャッシュ上に書き込んだ時点でホストに終了報告をするため、キャッシュ上にディスク装置に未反映のホストデータが存在する。従って、突発的な電源断等の障害発生時のユーザデータロストを防ぐため、このライトキャッシュは、不揮発である必要がある。この際、ユーザデータだけでなく、このユーザデータを管理する管理情報もこのライトキャッシュ上または他の不揮発メモリ上に格納しておく必要がある。 In addition, when a write cache is used, since completion is reported to the host when data is written on the cache, there is host data that is not reflected in the disk device on the cache. Therefore, this write cache needs to be non-volatile in order to prevent lost user data when a failure such as a sudden power failure occurs. At this time, it is necessary to store not only the user data but also management information for managing the user data on the write cache or other nonvolatile memory.
このライトキャッシュおよび不揮発メモリは、一般的にプロセッサ外部に位置する。このため、ライトキャッシュおよび不揮発メモリに対するプロセッサからのアクセスは、プロセッサ内部にあるローカルメモリへのアクセスに比べると極めて低速である。このことは処理性能の低下を招いている。 This write cache and non-volatile memory are generally located outside the processor. For this reason, the access from the processor to the write cache and the non-volatile memory is extremely slow compared to the access to the local memory in the processor. This leads to a decrease in processing performance.
本発明の目的は、キャッシュメモリを備えた記憶制御装置において、信頼性を低下させることなく、キャッシュメモリの制御に伴う処理時間を削減し、記憶制御装置としての処理性能を向上させることにある。 An object of the present invention is to reduce processing time associated with cache memory control and improve processing performance as a storage control device without reducing reliability in a storage control device including a cache memory.
本発明の他の目的は、キャッシュメモリを備えた記憶制御装置において、ライト性能だけでなくリード性能についても同様に向上させることにある。 Another object of the present invention is to improve not only the write performance but also the read performance in a storage control device having a cache memory.
本発明の他の目的は、信頼性を維持しつつライトキャッシュ等のキャッシュメモリの制御に伴う処理時間を短縮し、キャッシュメモリを経由したデータ転送の処理速度を向上させることが可能なキャッシュメモリの制御技術を提供することにある。 Another object of the present invention is to provide a cache memory capable of reducing processing time associated with control of a cache memory such as a write cache while maintaining reliability, and improving processing speed of data transfer via the cache memory. To provide control technology.
本発明は、上位装置と記憶装置との間に介在し、上位装置と記憶装置との間におけるデータの授受を制御するとともに、データを一時的に格納するキャッシュメモリを備えた記憶制御装置において、キャッシュメモリに格納されたデータの管理情報は、不揮発性の第1の記憶手段と、第1の記憶手段よりもアクセス動作が高速な第2の記憶手段に多重に格納され、管理情報の参照は第2の記憶手段に対して実行され、管理情報の更新は第1および第2の記憶手段に対して実行されるようにしたものである。 The present invention is a storage control device including a cache memory that is interposed between a host device and a storage device, controls data exchange between the host device and the storage device, and temporarily stores data. The management information of the data stored in the cache memory is stored in multiple in the nonvolatile first storage means and the second storage means whose access operation is faster than the first storage means. The management information is updated with respect to the second storage means, and the management information is updated with respect to the first and second storage means.
また、本発明は、データの転送経路に介在し、データを一時的に保持するキャッシュメモリの制御方法において、キャッシュメモリに格納されたデータの管理情報を、不揮発性の第1の記憶手段と、第1の記憶手段よりもアクセス動作が高速な第2の記憶手段に多重に格納し、管理情報の参照は第2の記憶手段に対して実行し、管理情報の更新は第1および第2の記憶手段に対して実行するものである。 According to another aspect of the present invention, there is provided a cache memory control method that intervenes in a data transfer path and temporarily retains data, and management information of data stored in the cache memory is stored in a nonvolatile first storage unit; Multiple storage is performed in the second storage means, which is faster in access operation than the first storage means, management information is referred to the second storage means, and management information is updated in the first and second storage means. This is executed for the storage means.
より具体的には、一例として、ホストコンピュータとディスク等の記憶装置の間に位置し、ホストコンピュータの指示に基づいて記憶装置の制御、またはRAID制御を伴う記憶装置制御を行う、独立型またはホスト一体型、またはデバイス一体型の記憶制御装置において、当該記憶制御装置は、ユーザデータを一時的に格納しておく不揮発性のキャッシュ機構を持ち、当該キャッシュ上のユーザデータの管理情報を、低速であるが不揮発なメモリ上と、高速であるが揮発するメモリ上に2元管理するものである。そして、正常時の管理情報の参照は、高速な揮発メモリから行うことにより高速化を図る。突発的な電源断等の障害発生時には、不揮発メモリ上のユーザデータ/管理情報によりデータ消失を防ぎ、信頼性を向上させる。 More specifically, as an example, a stand-alone type or host that is located between a host computer and a storage device such as a disk and performs storage device control or storage device control with RAID control based on an instruction from the host computer In an integrated or device-integrated storage control device, the storage control device has a nonvolatile cache mechanism for temporarily storing user data, and the management information of the user data on the cache is transferred at a low speed. There are two types of management on a non-volatile memory and a high-speed but volatile memory. The normal management information is referred to from a high-speed volatile memory to increase the speed. When a failure such as a sudden power failure occurs, the user data / management information on the nonvolatile memory prevents data loss and improves reliability.
これらの制御機能を実現すべく、記憶制御装置の制御論理として、ユーザデータの管理情報を低速な不揮発メモリ上と高速な揮発メモリ上に2重書きする手段と、正常時には当該管理情報を高速な揮発メモリから参照する手段と、突発的な電源断等の障害発生時には、当該管理情報を不揮発メモリから参照する手段と、当該参照情報を揮発メモリ上に復元する手段を設ける。 In order to realize these control functions, as a control logic of the storage control device, a means for double-writing user data management information on a low-speed nonvolatile memory and a high-speed volatile memory, and when normal, the management information is high-speed Means for referring from the volatile memory, means for referring to the management information from the nonvolatile memory in the event of a failure such as a sudden power failure, and means for restoring the reference information on the volatile memory are provided.
本発明の記憶制御装置によれば、キャッシュメモリを備えた記憶制御装置において、信頼性を低下させることなく、キャッシュメモリの制御に伴う処理時間を削減し、記憶制御装置としての処理性能を向上させることができる、という効果が得られる。 According to the storage control device of the present invention, in a storage control device equipped with a cache memory, the processing time associated with the control of the cache memory is reduced and the processing performance as the storage control device is improved without reducing the reliability. The effect that it can be obtained.
本発明の記憶制御装置によれば、キャッシュメモリを備えた記憶制御装置において、ライト性能だけでなくリード性能についても同様に向上させることができる、という効果が得られる。 According to the storage control device of the present invention, in the storage control device provided with the cache memory, it is possible to improve not only the write performance but also the read performance in the same manner.
本発明のキャッシュメモリの制御方法によれば、信頼性を維持しつつライトキャッシュ等のキャッシュメモリの制御に伴う処理時間を短縮し、キャッシュメモリを経由したデータ転送の処理速度を向上させることができる、という効果が得られる。 According to the cache memory control method of the present invention, it is possible to reduce the processing time associated with the control of a cache memory such as a write cache while maintaining reliability and to improve the processing speed of data transfer via the cache memory. The effect of is obtained.
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
なお、以下の本実施の形態に示した構成は、あくまで一例であり、別の構成による実現も可能である。 Note that the configuration shown in the following embodiment is merely an example, and can be realized by another configuration.
図1は、本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法をディスクアレイ装置に適用した場合の構成の一例を示す概念図である。 FIG. 1 is a conceptual diagram showing an example of a configuration when a storage control device and a cache memory control method according to an embodiment of the present invention are applied to a disk array device.
図1において、1000はデータ処理を行う中央処理装置としてのホストコンピュータ、2000はディスク装置の制御を行う記憶制御装置、3000はホストデータを格納するディスク装置である。ここで、記憶制御装置2000は、ホストバスに直結したスロットに差し込みホスト筐体内に組み込む構成、記憶制御装置として独立した筐体に組み込む構成、ディスク装置を組み込んだ筐体として実現する構成のいずれの構成でもよい。
In FIG. 1, 1000 is a host computer as a central processing unit that performs data processing, 2000 is a storage control device that controls a disk device, and 3000 is a disk device that stores host data. Here, the
一例として、複数のディスク装置3000はディスクアレイを構成し、記憶制御装置2000のRAID制御により、ホストコンピュータ1000から受領したユーザデータおよび当該ユーザデータから生成された冗長データが複数のディスク装置3000に分散して格納される。
As an example, a plurality of
記憶制御装置2000は、ホストコンピュータ1000とのプロトコル制御を行うホストI/F制御部2100、コントローラ全体を制御するマイクロプロセッサ(以下、プロセッサと称す)2200、データの転送を実行するデータ転送制御部2300、ホストコンピュータ1000とディスク装置3000との間のデータ転送時に、リードデータおよびライトデータ等のユーザデータの一時的な格納に用いられる不揮発性のキャッシュメモリ(以下、キャッシュと称す)2400、各ディスク装置3000とのプロトコル制御を行うDRVI/F制御部2500より構成する。
The
プロセッサ2200に内部には、ローカルメモリ2210を内蔵している。
The
キャッシュ2400の内容について、図2を用いて説明する。キャッシュ2400は、ユーザデータ領域2410、当該ユーザデータを管理するためのキャッシュ内管理情報領域2420とから構成される。ユーザデータ領域2410には、実際のユーザデータが一時的に格納され、キャッシュ内管理情報領域2420には、当該ユーザデータを管理する上で必要な、データ属性(ライトデータ/リードデータ)、ホストコンピュータ1000が指定する当該ユーザデータの論理アドレス、空きエリア情報、キャッシュ記憶内容の置き換えにおける優先順位の管理情報等の情報が格納されている。本実施の形態では、管理情報領域をキャッシュ内に置いたが不揮発メモリであれば、他のメモリを用いても構わない。
The contents of the
ローカルメモリ2210の内容について、図3を用いて説明する。ローカルメモリ2210は、上述のキャッシュ内管理情報領域2420と同等の情報を格納しているローカルメモリ内管理情報領域2221、記憶制御装置2000の全体を制御するマイクロプログラムを格納しているプログラム領域2222とからなる。本実施の形態では、管理情報領域をローカルメモリ2210内に置いたが高速であれば、他のメモリを用いても構わない。
The contents of the
プロセッサ2200は、逐次プログラム領域をデコードしながら実行し、記憶制御装置2000を制御している。また、プロセッサ2200は、ユーザデータ領域2410に格納されているデータの管理情報をキャッシュ内管理情報領域2420とローカルメモリ内管理情報領域2221に2重書きして2元管理している。
The
ここで、ローカルメモリ2210は、プロセッサ2200の内部に位置しているため、プロセッサからのアクセスは高速に行える。これに比べキャッシュ2400は、外部メモリにあたるため、プロセッサ2200からのアクセスは極めて低速となる。近年、後述のPCIバスの発展によりポスティッド・ライト方式が採用されキャッシュ2400等の外部メモリに対してもライト(更新)速度は内部メモリ(ローカルメモリ2210)並みに高速化が図られているが、リード速度は、内部メモリの方がはるかに高速である。従って、データの管理情報の参照は、キャッシュ内管理情報領域2420を参照するよりローカルメモリ内管理情報領域2221の方を参照する方がメモリアクセスにかかるオーバヘッドを削減できる。
Here, since the
図4に、一例として、PCIバス4000を用いて、プロセッサ2200と、ホストI/F制御部2100、配下のデータ転送制御部2300、キャッシュ2400、DRVI/F制御部2500を制御する場合の接続構成例を示す。この場合、プロセッサ2200内には、ローカルメモリ2210のプログラム領域2222に格納されたマイクロプログラムにて動作するマイクロプロセッサユニット(MPU)2201、MPU2201と外部との間におけるPCIバスI/Fを実現するバスコントローラ2202が設けられている。
As an example, FIG. 4 illustrates a connection configuration when the
上述のポスティッド・ライトでは、たとえばMPU2201からバスコントローラ2202を経由したキャッシュ2400に対するデータライトに際しては、バスコントローラ2202に対するデータライト完にて、MPU2201でのデータライト処理が完結するため、キャッシュ2400でのライト完了を待つ必要がなく、外部への高速なデータライトが可能となる。これに対して、外部のキャッシュ2400等からのからMPU2201へのデータリード処理では、キャッシュ2400のアクセス速度に依存するため高速なデータリード(キャッシュ2400のキャッシュ内管理情報領域2420の参照等)が期待できない。
In the above-described posted write, for example, when data is written from the
そこで、本実施の形態の場合には、キャッシュ2400のキャッシュ内管理情報領域2420の参照する代わりに、等価な管理情報を保持するローカルメモリ2210のローカルメモリ内管理情報領域2221を参照することで、キャッシュ2400の制御の高速化を実現する。
Therefore, in this embodiment, instead of referring to the in-cache
次に、本実施の形態における、ディスクサブシステムでの、ホストコンピュータ1000からのI/O処理について図1、図2、図3、図6を用いて説明する。ホストコンピュータ1000からの書き込み処理について説明する。
Next, I / O processing from the
ホストコンピュータ1000からの書き込み要求時、プロセッサ2200は、ホストI/F制御部2100により、書き込み論理データを受領し、当該データをデータ転送制御部2300を通じてユーザデータ領域2410に書き込み、ホストコンピュータ1000に終了を報告する。このキャッシュ上のユーザデータ領域2410への書き込みを行うためには、空きエリアを検索する必要がある。この検索においては、プロセッサ2200は低速なキャッシュ内管理情報領域2420ではなく高速なローカルメモリ内管理情報領域2221を用いて検索する。空きエリアが見つかれば、当該エリアにデータを書き込み、キャッシュ内管理情報領域2420とローカルメモリ内管理情報領域2221の両方を更新する。この更新は、プロセッサ2200が両方を更新しても構わないし、プロセッサ2200の指示によりデータ転送制御部2300がキャッシュ内管理情報領域2420とローカルメモリ内管理情報領域2221に自動的に2重書きしても構わない。
At the time of a write request from the
このようにキャッシュ2400上のデータの管理情報を参照する場合には、高速なローカルメモリ2210から参照し、更新する場合にはキャッシュ2400とローカルメモリ2210の両方を更新する。前述のようにキャッシュ2400のリードアクセス速度が極めて低速(たとえばローカルメモリ2210の20倍程度)であるのに対し、キャッシュ2400のライトアクセス速度は、ポスティッド・ライトの採用によりローカルメモリ並みのため、この方式は有用である。
Thus, when referring to the management information of the data on the
すなわち、キャッシュ2400の管理情報をローカルメモリ2210にも2重書きするためのオーバヘッドの増加より、当該管理情報をキャッシュリードからローカルメモリリードに変更することによるオーバヘッドの削減の方がはるかに大きい。
That is, the overhead reduction by changing the management information from the cache read to the local memory read is much greater than the increase in the overhead for double-writing the management information of the
上記は、ホストコンピュータ1000からキャッシュ2400への書き込み処理について説明したが、本実施の形態によれば、この後、ホストコンピュータ1000とは非同期に行われる冗長データの生成、ライトデータおよび冗長データのディスク装置3000への書き込みにおいても同様にオーバヘッドの削減が図れる。例えば、ライトデータのディスク装置3000への書き込みにおいては、ユーザデータ領域2410上のライトデータの検索が必要であり、またライトデータのディスク装置3000への書き込み位置決定のために当該データの論理アドレスの参照が必要である。これらのデータ管理情報の参照をすべて高速なローカルメモリ内管理情報領域2221から行うことによりオーバヘッドを削減し、記憶制御装置2000におけるキャッシュ2400を経由したデータ転送速度等の高速化による処理性能の向上を実現することができる。
In the above description, the writing process from the
また、この高速化はホストコンピュータ1000からの読み込み処理においても同様に図ることができる。例えば、ホストコンピュータ1000から要求されたデータがユーザデータ領域2410上に存在するか否か(ヒット/ミス)判定するためには管理情報の参照が必要である。また、ユーザデータ領域2410上に存在しない場合には、ディスク装置3000からユーザデータ領域2410に読み込むために、ユーザデータ領域2410の空きエリアを検索する必要があり、やはり管理情報の参照が必要である。
This increase in speed can also be achieved in the reading process from the
このように、それが読み込み処理であれ、書き込み処理であれ、ホストコンピュータ1000とディスク装置3000間のデータ転送を制御するプロセッサ2200のオーバヘッドの多くは、ユーザデータ領域2410上のデータを管理する管理情報(2420および2221)の参照、更新である。本実施の形態は、この内、従来、特出して低速であった参照処理のオーバヘッドを削減する方式であり、あらゆるアクセス形態においても大幅にオーバヘッドの削減を実現し、記憶制御装置2000の高速化を図ることができる。上述のホストI/O処理の一例を図6のフローチャートにまとめて示す。
Thus, whether it is a read process or a write process, most of the overhead of the
次に、突発的な電源断等の障害時の復旧方式について図1、図2、図3、図5を用いて説明する。 Next, a recovery method in the event of a failure such as a sudden power failure will be described with reference to FIG. 1, FIG. 2, FIG. 3, and FIG.
突発的な電源断等の障害によりプロセッサ2200への電源供給が停止した場合、一般にプロセッサ内部メモリであるローカルメモリ2210は揮発メモリであり、ローカルメモリ2210内の情報は全て失われる。これに対し、キャッシュ2400は不揮発メモリであり、ユーザデータ領域2410、キャッシュ内管理情報領域2420ともに情報は保持される。
When power supply to the
ここで、障害が回復し、電源の再投入が実施されると、まずプロセッサ2200は、情報が失われてしまったローカルメモリ内管理情報領域2221の情報を復元するため、キャッシュ内管理情報領域2420内の情報を用いてローカルメモリ内管理情報領域2221を復元する。この復元はプロセッサ2200が自ら行っても構わないし、プロセッサ2200の指示により、データ転送制御部2300が行っても構わない。
Here, when the failure is recovered and the power is turned on again, the
この復元処理をしている間は、ホストコンピュータ1000からのI/O処理を一時止めておく(ホストコンピュータ1000からの要求を受けつけなくても構わないし、要求は受けつけキューイングのみは行い、実行のみを止めても構わない)か、または、データの管理情報の参照は、キャッシュ内管理情報領域2420から参照することで対応可能である。
While this restoration process is being performed, I / O processing from the
ローカルメモリ内管理情報領域2221の復元が完了すれば、これまでどおりのI/O処理を実行する。上述の電源投入時の一連の処理を図5のフローチャートに例示する。
When the restoration of the
このように、正常時はあたかも揮発するローカルメモリ2210でキャッシュ2400上のユーザデータを管理しているように見せながらも障害時には不揮発のキャッシュ2400上のキャッシュ内管理情報領域2420の管理情報等を用いてデータ消失を防ぎ、信頼性を低下させることなくキャッシュ2400を経由したデータ転送速度等の高速化を図ることができる。
In this way, the management data in the in-cache
以上説明したように、本実施の形態の記憶制御装置およびキャッシュメモリの制御方法によれば、ライトキャッシュを備えた記憶制御装置において、データの信頼性を落とすことなく、キャッシュ上のユーザデータに対するアクセス管理のオーバヘッドを大幅に削減できるようになり、あらゆるアクセス形態においても記憶制御装置の処理性能を向上することができる。 As described above, according to the storage control device and cache memory control method of the present embodiment, in a storage control device equipped with a write cache, access to user data on the cache without degrading data reliability. The management overhead can be greatly reduced, and the processing performance of the storage controller can be improved in any access mode.
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. Needless to say.
1000…ホストコンピュータ(上位装置)、2000…記憶制御装置、2100…ホストI/F制御部、2200…マイクロプロセッサ、2201…マイクロプロセッサユニット(MPU)、2202…バスコントローラ、2210…ローカルメモリ、2221…ローカルメモリ内管理情報領域(第2の記憶領域)、2222…プログラム領域、2300…データ転送制御部、2400…キャッシュメモリ、2410…ユーザデータ領域、2420…キャッシュ内管理情報領域(第1の記憶領域)、2500…DRVI/F制御部、3000…ディスク装置(記憶装置)、4000…PCIバス。 1000: Host computer (host device), 2000: Storage controller, 2100 ... Host I / F control unit, 2200 ... Microprocessor, 2201 ... Microprocessor unit (MPU), 2202 ... Bus controller, 2210 ... Local memory, 2221 ... Local memory management information area (second storage area) 2222... Program area, 2300... Data transfer control unit, 2400... Cache memory, 2410... User data area, 2420. ) 2500... DRVI / F control unit, 3000... Disk device (storage device), 4000.
Claims (25)
少なくとも1つのマイクロプロセッサと、
制御プログラム用およびメモリ内管理情報用であるが、前記ユーザデータ用でないローカルメモリと、
前記ユーザデータ用のキャッシュメモリであって、前記キャッシュメモリが内部にキャッシュ内管理情報を格納し、前記メモリ内管理情報が前記キャッシュ内管理情報を表し、前記メモリ内管理情報と前記キャッシュ内管理情報とがそれぞれ前記キャッシュメモリ内に格納したユーザデータに関連する情報であるキャッシュメモリとを有し、
前記マイクロプロセッサと前記ローカルメモリとの間でアクセス動作を行うアクセス時間が、同じアクセス動作に対して前記マイクロプロセッサと前記キャッシュメモリとの間でのアクセス時間より短く、
前記ローカルメモリおよび前記キャッシュメモリが前記少なくとも1つのマイクロプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのマイクロプロセッサと異なるマイクロプロセッサによって使用される管理情報を含まず、
前記制御プログラムが、前記ローカルメモリにアクセスして前記メモリ内管理情報にアクセスする工程と、前記メモリ内管理情報に基づいて読み込み要求に関連する読み込みデータが前記キャッシュメモリ内に格納された否かを決定する工程と、読み込みデータが前記キャッシュメモリ内に格納されている場合には前記キャッシュメモリにアクセスして前記読み込みデータにアクセスする工程と、前記読み込みデータが前記キャッシュメモリ内に格納されていない場合には前記データ記憶装置にアクセスして前記読み込みデータにアクセスし、前記キャッシュメモリ内の前記読み込みデータを格納し、前記メモリ内管理情報および前記キャッシュ内管理情報を更新して前記キャッシュメモリの更新を指し示す工程を行うことによって、前記マイクロプロセッサを作動させて前記読み込み要求を処理するように構成されていることを特徴とする記憶制御装置。 A storage control device for exchanging user data between a host device and a storage device,
At least one microprocessor;
A local memory for the control program and in-memory management information, but not for the user data;
A cache memory for user data, in which the cache memory stores in-cache management information; the in-memory management information represents the in-cache management information; and the in-memory management information and the in-cache management information Each having a cache memory that is information related to user data stored in the cache memory,
An access time for performing an access operation between the microprocessor and the local memory is shorter than an access time between the microprocessor and the cache memory for the same access operation,
The local memory and the cache memory store management information used only by the at least one microprocessor;
The local memory and the cache memory do not include management information used by a microprocessor different from the at least one microprocessor;
The control program accesses the local memory to access the in-memory management information, and whether or not the read data related to the read request is stored in the cache memory based on the in-memory management information. Determining, accessing the cache memory when the read data is stored in the cache memory, and accessing the read data; and when the read data is not stored in the cache memory The data storage device is accessed to access the read data, the read data in the cache memory is stored, the in-memory management information and the in-cache management information are updated, and the cache memory is updated. By performing the pointing process, Storage control apparatus characterized by black actuate the processor is configured to process the read request.
前記制御プログラムが、前記ローカルメモリにアクセスして前記メモリ内管理情報にアクセスする工程と、
前記メモリ内管理情報に基づいて前記キャッシュメモリ内の空のエリアを識別する工程と、
前記書き込み要求に関連される書き込みデータを前記空のエリアに格納する工程と、
前記メモリ内管理情報および前記キャッシュ内管理情報を更新して前記キャッシュメモリの更新を指し示す工程とを行うことによって、前記マイクロプロセッサを作動して前記書き込み要求を処理するようにさらに構成されていることを特徴とする記憶制御装置。 The storage control device according to claim 6.
The control program accessing the local memory to access the in-memory management information;
Identifying an empty area in the cache memory based on the in-memory management information;
Storing write data associated with the write request in the empty area;
And further configured to operate the microprocessor to process the write request by updating the in-memory management information and the in-cache management information to indicate an update of the cache memory. A storage control device.
前記ローカルメモリが前記マイクロプロセッサによってのみアクセス可能であることを特徴とする記憶制御装置。 The storage control device according to claim 6.
A storage controller, wherein the local memory is accessible only by the microprocessor.
前記ローカルメモリが前記マイクロプロセッサの構成要素であることを特徴とする記憶制御装置。 The storage control device according to claim 8.
The storage control device, wherein the local memory is a component of the microprocessor.
前記記憶制御装置が、前記上位装置と前記記憶装置との間で転送されるユーザデータ用のキャッシュメモリと、
前記記憶制御装置を制御するように動作可能であり、前記キャッシュメモリ内に格納されたデータに関連する制御プログラム用および管理情報用のローカルメモリを有する少なくとも1つのプロセッサとを有し、
前記プロセッサが、前記キャッシュメモリよりも高速で前記ローカルメモリにアクセス可能であり、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納せず、
前記制御プログラムが、前記プロセッサを作動させて、書き込み動作に応答して前記ローカルメモリ内の前記管理情報にアクセスし前記書き込み動作に関連するデータを格納するために前記キャッシュメモリ内に利用可能な空間を識別し、読み込み動作に応答して前記キャッシュメモリ内の前記管理情報にアクセスし前記読み込み動作に関連して要求されたデータが前記キャッシュメモリ内に含まれているか否か決定し、もし含まれていない場合には、前記ローカルメモリ内の前記管理情報にアクセスして前記要求されたデータを格納するために前記キャッシュメモリ内に利用可能な空間を識別し、前記記憶装置からの前記要求されたデータを獲得し、前記キャッシュメモリ内の前記利用可能な空間に前記要求されたデータを格納するように構成されたことを特徴とするディスクサブシステム。 A disk subsystem having a storage control device and a plurality of storage devices for storing data from a host device,
A cache memory for user data transferred between the storage device and the host device;
At least one processor operable to control the storage controller and having a local memory for control programs and management information associated with data stored in the cache memory;
The processor is capable of accessing the local memory faster than the cache memory;
The local memory and the cache memory store management information used only by the at least one processor;
The local memory and the cache memory do not include management information used by a processor different from the at least one processor;
The local memory does not store the user data;
Space available in the cache memory for the control program to operate the processor to access the management information in the local memory and store data associated with the write operation in response to a write operation , And in response to a read operation, access the management information in the cache memory to determine whether the requested data associated with the read operation is included in the cache memory. If not, identify the available space in the cache memory to access the management information in the local memory and store the requested data, and request the requested information from the storage device. To acquire data and store the requested data in the available space in the cache memory Disk subsystem, characterized in that it is made.
前記プロセッサ内の前記メモリが不揮発性メモリであることを特徴とするディスクサブシステム。 The disk subsystem of claim 10, wherein
A disk subsystem, wherein the memory in the processor is a non-volatile memory.
前記管理情報もまた前記キャッシュメモリ内に格納されていることを特徴とするディスクサブシステム。 The disk subsystem of claim 10, wherein
The disk subsystem characterized in that the management information is also stored in the cache memory.
前記プロセッサが、前記プロセッサ内の前記管理情報と一緒に、前記キャッシュメモリ内の前記管理情報を更新することを特徴とするディスクサブシステム。 The disk subsystem of claim 12,
The disk subsystem, wherein the processor updates the management information in the cache memory together with the management information in the processor.
前記記憶装置がRAID構成を有することを特徴とするディスクサブシステム。 The disk subsystem of claim 10, wherein
A disk subsystem, wherein the storage device has a RAID configuration.
前記記憶装置が磁気ディスク装置であることを特徴とするディスクサブシステム。 The disk subsystem of claim 10, wherein
A disk subsystem, wherein the storage device is a magnetic disk device.
前記上位装置との通信用の第1の制御部と、
前記記憶装置との通信用の第2の制御部と、
前記上位装置と前記記憶装置との間に転送されるユーザデータ用であり、内部に格納されたユーザデータに関連する管理情報を格納するキャッシュメモリと、
前記第1の制御部と前記キャッシュメモリとの間におよび前記第2の制御部と前記キャッシュメモリとの間にデータを転送するように構成されたデータ転送制御部と、
前記記憶制御装置を制御するとともに前記管理情報を記憶するために内部にローカルメモリを有する少なくとも1つのプロセッサとを有し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが前記少なくとも1つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納せず、
書き込みデータまたは読み込みデータへの動作に応答する前記プロセッサが、前記ローカルメモリ内に格納された前記管理情報にアクセスし、前記キャッシュメモリが前記動作に適応可能であるか否かを決定し、前記キャッシュメモリが前記動作に適応可能である場合には前記キャッシュメモリにアクセスして前記キャッシュメモリ内の前記書き込みデータまたは前記読み込みデータを格納するように構成されていることを特徴とする記憶制御装置。 A storage control device for data communication between a plurality of storage devices and at least one host device,
A first control unit for communication with the host device;
A second control unit for communication with the storage device;
A cache memory for storing management information related to user data stored therein, which is for user data transferred between the host device and the storage device;
A data transfer control unit configured to transfer data between the first control unit and the cache memory and between the second control unit and the cache memory;
At least one processor having a local memory therein for controlling the storage controller and storing the management information;
The local memory and the cache memory store management information used only by the at least one processor;
The local memory and the cache memory do not contain management information used by a processor different from the at least one processor;
The local memory does not store the user data;
The processor responsive to an operation on write data or read data accesses the management information stored in the local memory to determine whether the cache memory is adaptable to the operation; A storage control device configured to access the cache memory and store the write data or the read data in the cache memory when the memory is adaptable to the operation.
前記プロセッサと前記ローカルメモリとの間でのアクセス速度が、前記プロセッサと前記キャッシュメモリとの間でのアクセス速度より速いことを特徴とする記憶制御装置。 The storage control device according to claim 16, wherein
An access control speed between the processor and the local memory is faster than an access speed between the processor and the cache memory.
前記データ転送制御部が、前記キャッシュメモリから前記ローカルメモリまで前記管理情報を複写することを特徴とする記憶制御装置。 The storage control device according to claim 16, wherein
The storage control device, wherein the data transfer control unit copies the management information from the cache memory to the local memory.
前記データ転送制御部が、前記ローカルメモリから前記キャッシュメモリまで前記管理情報を複写することを特徴とする記憶制御装置。 The storage control device according to claim 16, wherein
The storage control device, wherein the data transfer control unit copies the management information from the local memory to the cache memory.
前記記憶制御装置が、前記上位装置と前記記憶装置との間に転送されたデータを一時的に格納するとともに、内部に格納されたユーザデータに関連する管理情報を格納するキャッシュメモリと、
前記記憶制御装置を制御し内部にローカルメモリを有する少なくとも1つのプロセッサとを有し、
前記プロセッサが、前記キャッシュメモリ内に格納された前記データに関連する前記管理情報の少なくとも1部分を前記ローカルメモリに格納するように構成され、
前記プロセッサが、前記ローカルメモリ内の前記管理情報にアクセスして、前記キャッシュメモリが書き込みデータまたは読み込みデータへの動作に適応可能か否かを決定し、前記キャッシュメモリにアクセスして、前記キャッシュメモリが前記動作に適応可能である場合には、前記キャッシュメモリ内の書き込みデータまたは読み込みデータを格納するようにさらに構成され、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも1つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納しないことを特徴とするディスクサブシステム。 A disk subsystem having a storage control device and a plurality of storage devices for storing data from a host device,
A cache memory that temporarily stores data transferred between the host device and the storage device, and stores management information related to user data stored therein;
And at least one processor that controls the storage controller and has a local memory therein,
The processor is configured to store in the local memory at least a portion of the management information associated with the data stored in the cache memory;
The processor accesses the management information in the local memory to determine whether the cache memory can be adapted to an operation on write data or read data, and accesses the cache memory to access the cache memory Is further adapted to store write data or read data in the cache memory,
The local memory and the cache memory store management information used only by the at least one processor;
The local memory and the cache memory do not include management information used by a processor different from the at least one processor;
The disk subsystem, wherein the local memory does not store the user data.
前記プロセッサ内の前記メモリが、前記記憶制御装置を制御する制御プログラムを格納していることを特徴とするディスクサブシステム。 The disk subsystem of claim 20,
The disk subsystem characterized in that the memory in the processor stores a control program for controlling the storage controller.
前記ローカルメモリが不揮発性メモリであることを特徴とするディスクサブシステム。 The disk subsystem of claim 20,
A disk subsystem characterized in that the local memory is a non-volatile memory.
前記管理情報が、前記キャッシュメモリ内の前記データを管理するデータ属性と、前記キャッシュメモリ内の前記データの論理アドレスと、前記キャッシュメモリ内の利用可能な記憶エリア情報と、前記キャッシュメモリのキャッシュ記憶内容の置き換えにおける優先順位の管理情報とのうち少なくとも1つを含むことを特徴とするディスクサブシステム。 The disk subsystem of claim 20,
The management information includes a data attribute for managing the data in the cache memory, a logical address of the data in the cache memory, usable storage area information in the cache memory, and cache storage of the cache memory. A disk subsystem comprising at least one of priority management information in content replacement.
前記上位装置と前記記憶装置との間に前記キャッシュメモリ内の前記ユーザデータを転送するデータ転送制御部をさらに備えていることを特徴とするディスクサブシステム。 24. The disk subsystem of claim 23.
The disk subsystem further comprising a data transfer control unit for transferring the user data in the cache memory between the host device and the storage device.
前記プロセッサが、前記キャッシュメモリおよび前記ローカルメモリ内の前記管理情報を更新することを特徴とするディスクサブシステム。 The disk subsystem of claim 20,
The disk subsystem, wherein the processor updates the management information in the cache memory and the local memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005357304A JP2006099802A (en) | 2005-12-12 | 2005-12-12 | Storage controller and cache memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005357304A JP2006099802A (en) | 2005-12-12 | 2005-12-12 | Storage controller and cache memory control method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35359599A Division JP2001166993A (en) | 1999-12-13 | 1999-12-13 | Storage control device and cache memory control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006099802A true JP2006099802A (en) | 2006-04-13 |
Family
ID=36239456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005357304A Pending JP2006099802A (en) | 2005-12-12 | 2005-12-12 | Storage controller and cache memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006099802A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013222434A (en) * | 2012-04-19 | 2013-10-28 | Nec Corp | Cache control device, cache control method, and program therefor |
JP2014067377A (en) * | 2012-09-27 | 2014-04-17 | Nec Corp | Cache control device, disk array device, array controller, and cache control method |
WO2015041653A1 (en) * | 2013-09-19 | 2015-03-26 | Intel Corporation | Methods and apparatus to manage cache memory in multi-cache environments |
JP2015099430A (en) * | 2013-11-18 | 2015-05-28 | 三菱電機株式会社 | Storage control device and storage control system |
US9582463B2 (en) | 2014-12-09 | 2017-02-28 | Intel Corporation | Heterogeneous input/output (I/O) using remote direct memory access (RDMA) and active message |
US9734087B2 (en) | 2014-03-28 | 2017-08-15 | Fujitsu Limited | Apparatus and method for controlling shared cache of multiple processor cores by using individual queues and shared queue |
-
2005
- 2005-12-12 JP JP2005357304A patent/JP2006099802A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013222434A (en) * | 2012-04-19 | 2013-10-28 | Nec Corp | Cache control device, cache control method, and program therefor |
US9268700B2 (en) | 2012-04-19 | 2016-02-23 | Nec Corporation | Cache control device, cache control method, and program thereof |
JP2014067377A (en) * | 2012-09-27 | 2014-04-17 | Nec Corp | Cache control device, disk array device, array controller, and cache control method |
WO2015041653A1 (en) * | 2013-09-19 | 2015-03-26 | Intel Corporation | Methods and apparatus to manage cache memory in multi-cache environments |
US9952999B2 (en) | 2013-09-19 | 2018-04-24 | Intel Corporation | Methods and apparatus to manage cache memory in multi-cache environments |
JP2015099430A (en) * | 2013-11-18 | 2015-05-28 | 三菱電機株式会社 | Storage control device and storage control system |
US9734087B2 (en) | 2014-03-28 | 2017-08-15 | Fujitsu Limited | Apparatus and method for controlling shared cache of multiple processor cores by using individual queues and shared queue |
US9582463B2 (en) | 2014-12-09 | 2017-02-28 | Intel Corporation | Heterogeneous input/output (I/O) using remote direct memory access (RDMA) and active message |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7111134B2 (en) | Subsystem and subsystem processing method | |
US20200034304A1 (en) | Techniques to perform power fail-safe caching without atomic metadata | |
US8862808B2 (en) | Control apparatus and control method | |
US8621144B2 (en) | Accelerated resume from hibernation in a cached disk system | |
US7441081B2 (en) | Write-back caching for disk drives | |
US8291175B2 (en) | Processor-bus attached flash main-memory module | |
US10802734B2 (en) | Method for fast boot read | |
US20150331624A1 (en) | Host-controlled flash translation layer snapshot | |
US20190324859A1 (en) | Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive | |
US8370587B2 (en) | Memory system storing updated status information and updated address translation information and managing method therefor | |
US20150339058A1 (en) | Storage system and control method | |
JPWO2009069326A1 (en) | Network boot system | |
JP7318367B2 (en) | Storage control device and storage control program | |
JP5977430B2 (en) | Storage system, storage system control method, and storage controller | |
CN113711189A (en) | System and method for managing reduced power failure energy requirements on solid state drives | |
JP2010152747A (en) | Storage system, cache control method and cache control program for storage | |
US8527733B2 (en) | Memory system | |
JP2006099802A (en) | Storage controller and cache memory control method | |
US20240061786A1 (en) | Systems, methods, and apparatus for accessing data in versions of memory pages | |
US11334508B2 (en) | Storage system, data management method, and data management program | |
TW201418984A (en) | Method for protecting data integrity of disk and computer program product for implementing the method | |
US20180052749A1 (en) | Information processing system and information processing method | |
JP2010257481A (en) | Data storage system and method for ensuring consistency of cache data | |
JP2010170268A (en) | Storage system control method, storage control device, and program | |
JP2001100938A (en) | Data writing method of disk array device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |