JP4572859B2 - Cache memory control device, method and program, and disk array device - Google Patents

Cache memory control device, method and program, and disk array device Download PDF

Info

Publication number
JP4572859B2
JP4572859B2 JP2006097282A JP2006097282A JP4572859B2 JP 4572859 B2 JP4572859 B2 JP 4572859B2 JP 2006097282 A JP2006097282 A JP 2006097282A JP 2006097282 A JP2006097282 A JP 2006097282A JP 4572859 B2 JP4572859 B2 JP 4572859B2
Authority
JP
Japan
Prior art keywords
transfer
address
cache memory
data
completion flag
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.)
Expired - Fee Related
Application number
JP2006097282A
Other languages
Japanese (ja)
Other versions
JP2007272551A (en
Inventor
修 五十幡
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006097282A priority Critical patent/JP4572859B2/en
Publication of JP2007272551A publication Critical patent/JP2007272551A/en
Application granted granted Critical
Publication of JP4572859B2 publication Critical patent/JP4572859B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ディスクアレイ装置内のキャッシュメモリを制御するキャッシュメモリ制御装置等に関する。   The present invention relates to a cache memory control device for controlling a cache memory in a disk array device.

ディスクアレイ装置のキャッシュメモリは、安価で大容量である揮発性メモリ(DRAM)が使用されおり、ソフトエラーが発生したときのデータエラー検出及び訂正手段として、一般的に誤り訂正符号ECC(Error Checking and Correcting Code)が採用されている。ECCはハミングコードを用いてデータビットからチェックビットを生成し、データビットとチェックビットをDRAMに書き込んで、メモリを読み出した時に、読み出したデータビットとチェックビットからシンドロームを生成し、このシンドロームによって1ビットの誤り訂正及び2ビットの誤り検出を行っている。   As a cache memory of a disk array device, an inexpensive and large-capacity volatile memory (DRAM) is used. As a means for detecting and correcting a data error when a soft error occurs, an error correction code ECC (Error Checking) is generally used. and Correcting Code). The ECC generates a check bit from a data bit using a Hamming code, writes the data bit and the check bit into the DRAM, and generates a syndrome from the read data bit and the check bit when the memory is read. Bit error correction and 2-bit error detection are performed.

また、DRAMを使用する場合、DRAMが機能として備えている、ある決まった数のデータを連続して入出力するバースト転送(バーストライト又はバーストリード)を利用する。バースト転送において、連続して転送する長さ(バースト長)は、DRAMへの電源及びクロックが供給された後、DRAMのモードレジスタに設定しなければならない。一旦設定すると、再度設定を行うか、又は電源を切断するまで、設定値(バースト長)は保持される。そのため、一般的にDRAMへのアクセスは常に固定化したバースト長で行っている。   When a DRAM is used, burst transfer (burst write or burst read), which is a function of the DRAM and continuously inputs and outputs a certain number of data, is used. In burst transfer, the length of continuous transfer (burst length) must be set in the DRAM mode register after the power and clock are supplied to the DRAM. Once set, the set value (burst length) is held until the setting is performed again or the power is turned off. Therefore, in general, access to the DRAM is always performed with a fixed burst length.

従来技術では、キャッシュメモリにデータ転送する前に、DRAM内部データを確定値とするためのパディングデータとそのECCを、キャッシュメモリの全領域に書き込むという、キャッシュメモリのデータ初期化処理を行っている。その理由は、この種のディスクアレイ装置のキャッシュメモリは揮発性メモリで構成されているため、誤り訂正符号ECCを採用したキャッシュメモリにおいて電源投入時のDRAM内部データは不確定値となっているため、及び、通常のキャッシュメモリアクセス時にDRAMに設定したバースト長未満のアクセスが発生するためである。   In the prior art, before the data is transferred to the cache memory, the cache memory data initialization process is performed in which padding data for setting the DRAM internal data and its ECC are written to the entire area of the cache memory. . The reason for this is that the cache memory of this type of disk array device is composed of a volatile memory, so in the cache memory employing the error correction code ECC, the DRAM internal data at power-on is an indeterminate value. This is because an access less than the burst length set in the DRAM occurs during normal cache memory access.

特開平10−269150号公報Japanese Patent Laid-Open No. 10-269150

第1の問題点は、電源投入時や障害復旧時など、必ず、キャッシュメモリの初期化処理を実施しなければならないということである。一般的に、ディスクアレイ装置のキャッシュメモリに使用されているDRAMは、電源投入時にDRAM内部が不確定値となっているため、及び、通常のメモリアクセス時にキャッシュメモリのデータ幅に満たないパーシャル転送やDRAMに設定されているバースト長に満たないデータ転送が発生するため、キャッシュメモリへのデータ転送前にパディングデータとそのECCをキャッシュメモリ全領域にバーストライトを行う、初期化処理が必要であった。   The first problem is that the initialization process of the cache memory must be performed whenever the power is turned on or the failure is recovered. Generally, the DRAM used in the cache memory of the disk array device has an indeterminate value inside the DRAM when the power is turned on, and the partial transfer that does not satisfy the data width of the cache memory during normal memory access Since data transfer that does not meet the burst length set in the DRAM occurs, initialization processing is required to perform burst write of the padding data and its ECC to the entire cache memory area before data transfer to the cache memory. It was.

第2の問題点は、キャッシュメモリの初期化処理は、キャッシュメモリ搭載量に比例し、処理時間が大きくなっているということである。近年、ディスクアレイ装置のキャッシュメモリは大容量化が進んでおり、DRAMデータの初期化処理であるキャッシュメモリ全領域へのパディングデータを書き込む処理に多くの時間がかかるため、その処理期間中、物理的に実装された状態であっても、データ転送に使用できない期間が発生している。   The second problem is that the initialization process of the cache memory is proportional to the amount of cache memory installed and the processing time is long. In recent years, the cache memory of a disk array device has been increased in capacity, and it takes a lot of time to write padding data to the entire area of the cache memory, which is the initialization process of DRAM data. Even in a state of being mounted on a system, there is a period during which it cannot be used for data transfer.

そこで、本発明の目的は、キャッシュメモリの初期化処理を行う時間を不要とし、即座にキャッシュメモリへのリード転送又はライト転送を開始できる、キャッシュメモリ制御装置等を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a cache memory control device and the like that do not require time for cache memory initialization processing and can immediately start read transfer or write transfer to the cache memory.

本発明に係るキャッシュメモリ制御装置は、ディスクアレイ装置内に設けられたキャッシュメモリを制御するものであり、管理テーブル、テーブル制御手段及びバースト制御手段を備えている。管理テーブルは、キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する。テーブル制御手段は、ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる分割アドレス空間及びその完了フラグを管理テーブルから読み出す。バースト制御手段は、テーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する分割アドレス空間の全体にデータが書き込まれるように転送アドレス及び転送データを変更(変換、生成等)してキャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、テーブル制御手段で読み出された完了フラグが完了を示すとき、転送アドレス及び転送データをそのままキャッシュメモリへ出力するように指示する。   A cache memory control device according to the present invention controls a cache memory provided in a disk array device, and includes a management table, table control means, and burst control means. The management table divides the address space of the cache memory into a plurality of divided address spaces, and manages a completion flag indicating completion or incomplete of data initialization for each divided address space. The table control means reads from the management table the divided address space including the transfer address and the completion flag thereof among the transfer address and transfer data output from the host computer side. When the completion flag read by the table control means indicates incomplete, the burst control means changes the transfer address and the transfer data so that the data is written in the entire divided address space corresponding to the completion flag. Generated) and output to the cache memory and when the completion flag is instructed to be rewritten, and the completion flag read by the table control means indicates completion, the transfer address and the transfer data remain unchanged. Instructs output to cache memory.

本発明に係るキャッシュメモリ制御方法は、本発明に係るキャッシュメモリ制御装置の動作を方法の発明として捉えたものである。本発明に係るキャッシュメモリ制御プログラムは、本発明に係るキャッシュメモリ制御装置の各手段をコンピュータに機能させるためのものである。本発明に係るディスクアレイ装置は、本発明に係るキャッシュメモリ制御装置を備えたものである。   The cache memory control method according to the present invention captures the operation of the cache memory control device according to the present invention as a method invention. The cache memory control program according to the present invention is for causing a computer to function each means of the cache memory control device according to the present invention. The disk array device according to the present invention includes the cache memory control device according to the present invention.

従来技術では、キャッシュメモリのアドレス空間の全領域に対して、データ初期化を行っていた。これに対し、本発明では、そのデータ初期化を行わない代わりに、管理テーブル等を用いる。管理テーブルでは、各分割アドレス空間についてデータ初期化の完了又は未完了を示す、完了フラグを管理する。転送アドレスを含む分割アドレス空間の完了フラグが未完了であれば、その分割アドレス空間に対して転送アドレス及び転送データをそのまま書き込むと、分割アドレス空間の一部に不確定な値のデータ領域が残ることになる。そこで、転送アドレス及び転送データを変更することにより、その分割アドレス空間の全体にデータが書き込まれるようにする。この結果、キャッシュメモリのアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリへのデータ転送が可能となる。   In the prior art, data initialization is performed for the entire area of the address space of the cache memory. On the other hand, in the present invention, a management table or the like is used instead of not performing the data initialization. In the management table, a completion flag indicating completion or incomplete of data initialization is managed for each divided address space. If the completion flag of the divided address space including the transfer address is incomplete, writing the transfer address and transfer data as it is into the divided address space leaves a data area with an indeterminate value in part of the divided address space. It will be. Therefore, by changing the transfer address and transfer data, the data is written in the entire divided address space. As a result, it is not necessary to initialize the data in the address space of the cache memory, so that data can be immediately transferred to the cache memory at the time of startup or the like.

また、本発明は、次のように構成することもできる。   The present invention can also be configured as follows.

本発明は、管理テーブル、テーブル制御手段、バースト制御手段、アドレス変換手段、パディング手段等を備える。管理テーブルは、実装されたキャッシュメモリのアドレス空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間単位でDRAMデータの初期化処理の完了、未完了を示す完了フラグとを管理する。テーブル制御手段は、転送アドレス保持手段で示される転送アドレスから管理テーブルを索引し、転送アドレスに対応したバーストアドレス空間及びその完了フラグの読み出し制御を行う。バースト制御手段は、管理テーブルから読み出した完了フラグと、転送アドレス保持手段、転送レングス保持手段及び転送コマンド保持手段で保持されている転送要求の各情報とを元に、DRAMアクセス時のアドレスやデータへの変換、生成を指示する。アドレス変換手段は、バースト制御手段からの指示により、転送アドレス保持手段で示される転送アドレスを、DRAMへの転送アドレスに変換、生成する。パディング手段は、転送データ保持手段で示される転送ライトデータにパディングデータの付加を行う。   The present invention includes a management table, table control means, burst control means, address conversion means, padding means and the like. The management table manages a burst address space obtained by dividing the address space of the mounted cache memory by the burst length of the DRAM, and a completion flag indicating completion / uncompletion of initialization processing of DRAM data in units of the burst address space. . The table control means indexes the management table from the transfer address indicated by the transfer address holding means, and performs read control of the burst address space corresponding to the transfer address and its completion flag. Based on the completion flag read from the management table and the transfer request information held in the transfer address holding means, the transfer length holding means, and the transfer command holding means, the burst control means uses the address and data at the time of DRAM access. Instructs conversion to and generation. The address conversion unit converts and generates the transfer address indicated by the transfer address holding unit into a transfer address to the DRAM in accordance with an instruction from the burst control unit. The padding means adds padding data to the transfer write data indicated by the transfer data holding means.

次に、本発明の作用を説明する。テーブル制御手段は、キャッシュメモリ(DRAM)への転送要求を検出したとき、転送アドレス保持手段内の転送アドレスを元に管理テーブル内のエントリを索引し、転送アドレスが含まれているバーストアドレス空間を検索する。バーストアドレス空間を検出すると、そのバーストアドレス空間に対応する完了フラグを読み出す。バースト制御手段は、管理テーブルから読み出した完了フラグと転送コマンド保持手段内の転送コマンドとを参照し、転送アドレスを含んだバーストアドレス空間の初期化処理が完了しているか否かの判定を行い、転送要求の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換、生成するようアドレス変換手段及びパディング手段に対し、指示を行う。バースト制御手段は、完了フラグが初期化未完了であることを示している場合、その初期化未完了であるバーストアドレス空間へのデータライト動作(=初期化)が完了したら、管理テーブル内のバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するようテーブル制御手段に指示する。   Next, the operation of the present invention will be described. When the table control unit detects a transfer request to the cache memory (DRAM), the table control unit indexes entries in the management table based on the transfer address in the transfer address holding unit, and determines the burst address space including the transfer address. Search for. When the burst address space is detected, a completion flag corresponding to the burst address space is read. The burst control means refers to the completion flag read from the management table and the transfer command in the transfer command holding means, determines whether or not the initialization processing of the burst address space including the transfer address is completed, Instructions are given to the address conversion means and padding means to convert and generate each information of the transfer request into transfer address / length / data in accordance with the burst length of the DRAM. If the completion flag indicates that the initialization is not completed, the burst control means, when the data write operation (= initialization) to the burst address space that has not been initialized is completed, the burst in the management table The table control means is instructed to change the completion flag corresponding to the address space from “incomplete” to “completed”.

本発明では、キャッシュメモリに転送要求されているアドレスを元に、管理テーブルからそのアドレスを含むバーストアドレス空間の初期化完了又は未完了のステータスを読み出し、初期化が未完了である場合、DRAMのバースト長に合わせ込んだアドレス、レングス、及びライトデータを生成し、DRAMに転送する。そのため、ディスクアレイ装置の電源投入時やキャッシュメモリの障害復旧時などに、キャッシュメモリの初期化処理を行う時間が不要となるので、即座にキャッシュメモリへのリード転送又はライト転送が可能となる。また、信頼性の高いディスクアレイ装置のメモリアクセス方法を提供することができることに加え、平均復旧時間(MTTR:Mean Time To Repair)の短いディスクアレイ装置のメモリアクセス方法を提供することができる。   In the present invention, based on the address requested to be transferred to the cache memory, the initialization completion or uncompleted status of the burst address space including the address is read from the management table. The address, length, and write data adjusted to the burst length are generated and transferred to the DRAM. This eliminates the need for initialization time for the cache memory when the disk array device is powered on or when a failure of the cache memory is recovered, so that read transfer or write transfer to the cache memory is immediately possible. In addition to providing a highly reliable memory access method for a disk array device, it is also possible to provide a memory access method for a disk array device having a short mean time to repair (MTTR).

本発明によれば、ディスクアレイ装置の電源投入時やキャッシュメモリの障害復旧時などに、キャッシュメモリの初期化処理を行う時間が不要となるので、即座にキャッシュメモリへのリード転送又はライト転送が可能となる。   According to the present invention, when the disk array device is turned on or when the failure of the cache memory is recovered, the time for performing the initialization process of the cache memory is not required, so that read transfer or write transfer to the cache memory is immediately performed. It becomes possible.

図1は、本発明に係るキャッシュメモリ制御装置の第一実施形態を示すブロック図である。図2は、図1における管理テーブルの一例を示す図表である。以下、これらの図面に基づき説明する。   FIG. 1 is a block diagram showing a first embodiment of a cache memory control device according to the present invention. FIG. 2 is a chart showing an example of the management table in FIG. Hereinafter, description will be given based on these drawings.

本実施形態のキャッシュメモリ制御装置10は、管理テーブル16、テーブル制御手段15、バースト制御手段18、アドレス変換手段17、パディング手段19等を備えている。   The cache memory control device 10 of this embodiment includes a management table 16, table control means 15, burst control means 18, address conversion means 17, padding means 19 and the like.

管理テーブル16は、実装されたキャッシュメモリのアドレス空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間単位でDRAMデータの初期化処理の完了又は未完了を示す完了フラグとを管理する。テーブル制御手段15は、転送アドレス保持手段11で示される転送アドレスから管理テーブル16を索引し、転送アドレスに対応したバーストアドレス空間及びその完了フラグの読み出し制御を行う。バースト制御手段18は、管理テーブル16から読み出した完了フラグと、転送アドレス保持手段11、転送レングス保持手段12及び転送コマンド保持手段13で保持されている転送要求との各情報を元に、DRAMアクセス時のアドレスやデータへの変換又は生成を指示する。アドレス変換手段17は、バースト制御手段18からの指示によって、転送アドレス保持手段11で示される転送アドレスからDRAMへの転送アドレスに変換又は生成する。パディング手段19は、転送データ保持手段14で示される転送ライトデータにパディングデータの付加を行う。   The management table 16 manages a burst address space obtained by dividing an address space of the mounted cache memory by a DRAM burst length, and a completion flag indicating completion or incomplete of initialization processing of DRAM data in units of the burst address space. To do. The table control means 15 indexes the management table 16 from the transfer address indicated by the transfer address holding means 11, and performs read control of the burst address space corresponding to the transfer address and its completion flag. The burst control unit 18 accesses the DRAM based on each information of the completion flag read from the management table 16 and the transfer request held in the transfer address holding unit 11, the transfer length holding unit 12 and the transfer command holding unit 13. Instructs the conversion or generation to the time address and data. The address conversion unit 17 converts or generates a transfer address indicated by the transfer address holding unit 11 from a transfer address to the DRAM according to an instruction from the burst control unit 18. The padding means 19 adds padding data to the transfer write data indicated by the transfer data holding means 14.

テーブル制御手段15は、次のように動作する。キャッシュメモリ(DRAM)への転送要求を検出したとき、転送アドレス保持手段11内の転送アドレスを元に管理テーブル16内のエントリを索引し、転送アドレスが含まれているバーストアドレス空間を検索する。バーストアドレス空間を検出すると、そのバーストアドレス空間に対応する完了フラグを読み出す。   The table control means 15 operates as follows. When a transfer request to the cache memory (DRAM) is detected, the entries in the management table 16 are indexed based on the transfer address in the transfer address holding means 11 to search the burst address space containing the transfer address. When the burst address space is detected, a completion flag corresponding to the burst address space is read.

バースト制御手段18は、次のように動作する。管理テーブル16から読み出された完了フラグと転送コマンド保持手段13内の転送コマンドとを参照し、転送アドレスを含んだバーストアドレス空間の初期化処理が完了しているか判定を行い、転送要求の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう、アドレス変換手段17及びパディング手段19に対し指示を行う。また、完了フラグが初期化未完了であることを示している場合、その初期化未完了であるバーストアドレス空間へのデータライト動作(=初期化)が完了したら、管理テーブル16内のバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に指示する。   The burst control means 18 operates as follows. With reference to the completion flag read from the management table 16 and the transfer command in the transfer command holding means 13, it is determined whether or not the initialization processing of the burst address space including the transfer address is completed, and each transfer request is determined. Instructions are given to the address conversion means 17 and the padding means 19 so that the information is converted or generated into transfer address / length / data matching the burst length of the DRAM. Further, when the completion flag indicates that the initialization is not completed, when the data write operation (= initialization) to the burst address space that has not been initialized is completed, the burst address space in the management table 16 is completed. The table control means 15 is instructed to change the completion flag corresponding to “incomplete” from “incomplete” to “completed”.

次に、キャッシュメモリ制御装置10の各構成要素について更に詳しく説明する。   Next, each component of the cache memory control device 10 will be described in more detail.

転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14は、それぞれキャッシュメモリへの転送要求の各情報であるアドレス、レングス、コマンド及びデータを保持する。転送アドレス保持手段11は、データ転送するDRAMエリアを示すアドレス指定を示す。転送コマンド保持手段13は、DRAMへの転送種類であるリード、ライト等を示す。転送レングス保持手段12は、転送コマンド保持手段13で指示されているリード、ライト要求と、転送アドレス保持手段11で指定されている転送アドレスで指示される転送データとの長さを示す。管理テーブル16は、実装されているキャッシュメモリ空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間への初期化動作を行ったか否かを示す完了フラグとを管理する。テーブル制御手段15は、転送要求(転送アドレス等)を検出すると、その転送アドレスから管理テーブル16を索引し、対応したバーストアドレス空間と完了フラグの読み出しを行う。   The transfer address holding means 11, the transfer length holding means 12, the transfer command holding means 13 and the transfer data holding means 14 hold the address, length, command and data, which are each information of the transfer request to the cache memory. The transfer address holding means 11 indicates address designation indicating a DRAM area to which data is transferred. The transfer command holding means 13 indicates read, write, etc., which are types of transfer to the DRAM. The transfer length holding unit 12 indicates the length of the read / write request specified by the transfer command holding unit 13 and the transfer data specified by the transfer address specified by the transfer address holding unit 11. The management table 16 manages a burst address space obtained by dividing the mounted cache memory space by the burst length of the DRAM, and a completion flag indicating whether or not an initialization operation for the burst address space has been performed. When the table control means 15 detects a transfer request (transfer address or the like), it indexes the management table 16 from the transfer address and reads the corresponding burst address space and completion flag.

バースト制御手段18は、次のように動作する。管理テーブル16からの完了フラグの参照と同時に、転送コマンド保持手段13で保持されている転送コマンドの種別判定を行い、転送要求されている転送アドレスが対象としているアドレス空間のDRAMデータの初期化が完了しているか否かの判別を行う。その判別結果を元にアドレス変換手段17及びパディング手段19に対して、転送要求された各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう指示を出す。完了フラグが初期化・未完了を示している時、その未完了であるアドレス空間へのデータライト動作(初期化)が完了すると、管理テーブル16の該当するバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に指示する。   The burst control means 18 operates as follows. Simultaneously with reference to the completion flag from the management table 16, the type of the transfer command held by the transfer command holding means 13 is determined, and initialization of DRAM data in the address space targeted for the transfer address requested for transfer is performed. It is determined whether or not it has been completed. Based on the determination result, it instructs the address converting means 17 and the padding means 19 to convert or generate each transfer requested information into a transfer address / length / data matching the burst length of the DRAM. When the completion flag indicates initialization / incomplete, when the data write operation (initialization) to the incomplete address space is completed, the completion flag corresponding to the corresponding burst address space in the management table 16 is set to “ The table control means 15 is instructed to change from “incomplete” to “completed”.

図2に示すように、管理テーブル16内には、実装されているキャッシュメモリ空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間への初期化(バーストライト)処理を実施したか否かを示す完了フラグとが管理される。完了フラグは、バーストアドレス空間と1対1に対応付けて管理され、対応したバーストアドレス空間に対して、一度でもバーストライト(DRAMデータの初期化)が行われれば、“未完了”から“完了”というステータスに変更される。また、電源投入時又は未バーストライト(未初期化)時のバーストアドレス空間の完了フラグは、“未完了”というステータスを示している。なお、原理的に“完了”ステータスから“未完了”ステータスへの変更は行わない。   As shown in FIG. 2, in the management table 16, a burst address space obtained by dividing the mounted cache memory space by the burst length of the DRAM and initialization (burst write) processing to the burst address space are performed. And a completion flag indicating whether or not. The completion flag is managed in one-to-one correspondence with the burst address space. If burst write (initialization of DRAM data) is performed even once for the corresponding burst address space, “complete” to “complete” Status is changed to Further, the completion flag of the burst address space at the time of power-on or at the time of unburst write (uninitialization) indicates a status of “incomplete”. In principle, the status is not changed from the “completed” status to the “incomplete” status.

次に、キャッシュメモリ制御装置10の全体の動作について更に詳しく説明する。   Next, the overall operation of the cache memory control device 10 will be described in more detail.

キャッシュメモリへの転送要求が発生した場合、転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14は、それぞれキャッシュメモリへの転送要求の各情報であるアドレス、レングス、コマンド及びデータを保持する。   When a transfer request to the cache memory is generated, the transfer address holding means 11, the transfer length holding means 12, the transfer command holding means 13 and the transfer data holding means 14 are respectively an address which is each information of the transfer request to the cache memory, Holds length, command and data.

テーブル制御手段15は、次のように動作する。転送要求を検出したら、転送アドレス保持手段11内の転送アドレスを元に管理テーブル16内のエントリを索引し、転送アドレスを包括しているバーストアドレス空間を検索する。そして、転送アドレスを含むバーストアドレス空間を検出した後、そのバーストアドレス空間のエントリから完了フラグを読み出す。   The table control means 15 operates as follows. When a transfer request is detected, the entries in the management table 16 are indexed based on the transfer address in the transfer address holding means 11, and a burst address space including the transfer address is searched. Then, after detecting the burst address space including the transfer address, the completion flag is read from the entry of the burst address space.

バースト制御手段18は、次のように動作する。管理テーブル16から読み出された完了フラグを参照し、完了フラグが“未完了”、かつ転送コマンド保持手段13内の転送コマンドがライト転送である場合、転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14内の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう、アドレス変換手段17及びパディング手段19に対し指示を行う。転送アドレスは、DRAMのバースト長でアドレス境界が決定される。転送レングスは、DRAMのバースト長の定数倍になるレングスに伸張及び変換される。同時に、パディング手段19に対して、伸張されたレングスを満たすよう、転送要求時のライトデータにパディングデータを付加及び変換するようデータパディングの指示を行う。   The burst control means 18 operates as follows. With reference to the completion flag read from the management table 16, when the completion flag is “incomplete” and the transfer command in the transfer command holding means 13 is a write transfer, the transfer address holding means 11 and the transfer length holding means 12 The address conversion unit 17 and the padding unit 19 are instructed to convert or generate each information in the transfer command holding unit 13 and the transfer data holding unit 14 into a transfer address / length / data corresponding to the burst length of the DRAM. . The transfer boundary is determined by the burst length of the DRAM. The transfer length is expanded and converted to a length that is a constant multiple of the burst length of the DRAM. At the same time, it instructs the padding means 19 to add and convert the padding data to the write data at the time of the transfer request so as to satisfy the expanded length.

パディング手段19は、バースト制御手段18からの指示で転送要求のライトデータにパディングデータを付加し、バーストレングス分のデータサイズに伸張及び変換する。アドレス変換手段17も、バースト制御手段18からの同様の指示で、DRAMバースト長で決定したアドレス境界を元にDRAMアクセス時のアドレスを生成する。各手段で変換又は生成されたアドレス、レングス、データ及びコマンドがDRAMアクセス情報となり、DRAM(キャッシュメモリ)へのデータ転送が行われる。   The padding means 19 adds the padding data to the write data of the transfer request in response to an instruction from the burst control means 18 and expands and converts the data to the burst length data size. The address conversion means 17 also generates an address at the time of DRAM access based on the address boundary determined by the DRAM burst length by the same instruction from the burst control means 18. The address, length, data, and command converted or generated by each means become DRAM access information, and data transfer to the DRAM (cache memory) is performed.

バースト制御手段18は、完了フラグが“未完了”のとき、そのバーストアドレス空間に対するデータ転送(初期化動作)を行った場合、そのバーストアドレス空間に対応した完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に通知を行う。一方、完了フラグが“完了”を示しているとき、対応するバーストアドレス空間のDRAMデータ初期化は完了している。そのため、その後、バーストアドレス空間に含まれる転送アドレスの転送要求が発生したとしても、バースト制御手段18は、アドレス変換やデータパディングは行わず、転送要求されたアドレス、レングス、データでキャッシュメモリへのデータ転送を行う。   When the completion flag is “incomplete”, the burst control means 18 changes the completion flag corresponding to the burst address space from “incomplete” to “completed” when performing data transfer (initialization operation) to the burst address space. The table control means 15 is notified to change to "". On the other hand, when the completion flag indicates “complete”, initialization of DRAM data in the corresponding burst address space is completed. Therefore, even if a transfer request for the transfer address included in the burst address space is subsequently generated, the burst control means 18 does not perform address conversion or data padding, and transfers the requested address, length, and data to the cache memory. Perform data transfer.

図3は、キャッシュメモリ制御装置10の動作を説明するためのブロック図である。図4は、図3に示す動作において用いられる管理テーブル161を示す図表である。以下、キャッシュメモリ制御装置10の全体の動作についてより具体的に説明する。   FIG. 3 is a block diagram for explaining the operation of the cache memory control device 10. FIG. 4 is a chart showing the management table 161 used in the operation shown in FIG. Hereinafter, the overall operation of the cache memory control device 10 will be described more specifically.

図3及び図4は、DRAMバースト長が8バイト×4サイクルの32バイトというDRAM設定時に、キャッシュメモリへの転送要求が発生した場合である。このとき、転送アドレスは512バイト目、転送レングスは16バイト、転送コマンドはライトとし、キャッシュメモリのデータ初期化は全領域において実施されていないと仮定する。   3 and 4 show a case where a transfer request to the cache memory is generated when the DRAM burst length is set to 8 bytes × 32 cycles of 4 cycles. At this time, it is assumed that the transfer address is the 512th byte, the transfer length is 16 bytes, the transfer command is write, and the data initialization of the cache memory is not performed in all areas.

キャッシュメモリへの転送要求20として転送アドレス21、転送レングス22及び転送コマンド23を受け、ライトデータ24はレングス分である16バイトを受ける。テーブル制御手段15は、転送要求20を受けたことを契機に、転送アドレス21を元に管理テーブル161のエントリを索引する。転送アドレス21は、512バイトアドレスであるため、管理テーブル161内のバーストアドレス空間としては、エントリ1のアドレス空間に含まれる。合致したバーストアドレス空間のエントリを元に(エントリ1)、完了フラグを読み出す。キャッシュメモリのデータ初期化は行われていないため、完了フラグは“未完了=0”になっている。 A transfer address 21, a transfer length 22, and a transfer command 23 are received as a transfer request 20 to the cache memory, and the write data 24 receives 16 bytes corresponding to the length. The table control unit 15 indexes the entry of the management table 161 based on the transfer address 21 when the transfer request 20 is received. Since the transfer address 21 is a 512-byte address, the burst address space in the management table 161 is included in the entry 1 address space. The completion flag is read based on the matched burst address space entry (entry 1). Since the cache memory has not been initialized, the completion flag is “incomplete = 0”.

バースト制御手段18は、次のように動作する。読み出された完了フラグ、転送コマンド23、転送アドレス21、転送レングス22を参照する。完了フラグが“未完了”かつ転送コマンド23がライトである場合、転送アドレス21と転送レングス22の変換を行うために、アドレス変換手段17及びパディング手段19に対し、変換指示を出力する。このとき、DRAMのバースト設定に合わせ込むように、アドレス変換手段17にアドレス変換(今回の例では変換はない)、転送レングス22を16バイトから32バイトに変換させる。また、ライトデータ24も16バイトのデータに「32バイト−16バイト」分のパディングデータを付加するように、パディング手段19に指示を出す。これにより、DRAMアドレス31、バーストレングス32、転送コマンド33、ライトデータ34のDRAMへの転送情報を生成し、DRAMへの書き込みを行う。   The burst control means 18 operates as follows. The read completion flag, transfer command 23, transfer address 21, and transfer length 22 are referred to. When the completion flag is “incomplete” and the transfer command 23 is a write, a conversion instruction is output to the address conversion unit 17 and the padding unit 19 in order to convert the transfer address 21 and the transfer length 22. At this time, the address conversion means 17 converts the address (no conversion in this example) and the transfer length 22 from 16 bytes to 32 bytes so as to match the burst setting of the DRAM. The write data 24 also instructs the padding means 19 to add padding data of “32 bytes-16 bytes” to 16 bytes of data. As a result, transfer information of the DRAM address 31, burst length 32, transfer command 33, and write data 34 to the DRAM is generated and written to the DRAM.

上述では、管理テーブル161の索引した結果、完了フラグは“未完了”として仮定したが、このとき、完了フラグが“完了”であった場合、バースト制御手段18はアドレス変換手段17やパディング手段19に各転送情報の変換は指示しない。したがって、転送要求20で指示された転送アドレス21、ライトデータ24、転送レングス22は変換されずにDRAMアクセス情報30となり、DRAMへの書き込み動作が行われる。 In the above description, the completion flag is assumed to be “incomplete” as a result of the indexing of the management table 161. However, when the completion flag is “completed” at this time, the burst control means 18 uses the address conversion means 17 or the padding means 19. Does not instruct the conversion of each transfer information. Therefore, the transfer address 21, the write data 24, and the transfer length 22 instructed by the transfer request 20 are not converted but become DRAM access information 30, and a write operation to the DRAM is performed.

このように、本実施形態では、キャッシュメモリへの転送アドレスを参照し、その転送アドレスから管理テーブルを索引し、完了フラグを読み出し後、これを参照して、要求された転送アドレスのバーストアドレス空間のDRAMデータが初期化されているか否かの判断をし、初期化されていなければ、その転送要求をDRAMのバースト設定に合わせこむようアドレスやレングスを伸張、変換し、また、ライトデータも伸張したレングスに対して、不足データ数分をパディングし、DRAMアクセス情報として準備後、キャッシュメモリ(DRAM)にデータライトすることで、DRAM内データ値が確定していない(未初期化)バーストアドレス空間も通常のライト転送と同時に転送が可能になり、DRAMデータの初期化処理が不要となる。   As described above, in this embodiment, the transfer address to the cache memory is referred to, the management table is indexed from the transfer address, the completion flag is read, and then referred to, and the burst address space of the requested transfer address is referred to. If it is not initialized, the address and length are expanded and converted so that the transfer request matches the DRAM burst setting, and the write data is also expanded. Burst address space in which the data value in the DRAM is not fixed (uninitialized) by padding the length of the data with the number of insufficient data, preparing the data as DRAM access information, and writing the data to the cache memory (DRAM). Can be transferred at the same time as normal write transfer, and DRAM data initialization is not required. That.

更に、本実施形態では、キャッシュメモリの全領域をDRAMのバースト長で分割したバーストアドレス空間毎に完了フラグを設けているので、キャッシュメモリの容量に関係なく、DRAMデータの初期化処理が必要なくなるので、キャッシュメモリの復旧動作時において、平均復旧時間を短縮できるという効果もある。   Furthermore, in this embodiment, since a completion flag is provided for each burst address space obtained by dividing the entire area of the cache memory by the burst length of the DRAM, DRAM data initialization processing is not required regardless of the capacity of the cache memory. Therefore, the average recovery time can be shortened during the cache memory recovery operation.

なお、本実施形態のテーブル制御手段や管理テーブルは、ハードウェアで構成している例を示したが、ファームウェアなどで管理、制御してもよい。また、アドレス変換手段やパディング手段に関しても、ファームウェアで構成することができる。   In addition, although the table control means and management table of this embodiment showed the example comprised by the hardware, you may manage and control by firmware etc. Further, the address conversion means and the padding means can also be configured by firmware.

図5は、本発明に係るキャッシュメモリ制御方法の一実施形態を示すフローチャートである。以下、この図面に基づき説明する。   FIG. 5 is a flowchart showing an embodiment of the cache memory control method according to the present invention. Hereinafter, description will be given based on this drawing.

本実施形態のキャッシュメモリ制御方法は、キャッシュメモリ制御装置の第一実施形態における動作に相当する。まず、キャッシュメモリのアドレス空間をDRAMのバースト長で分割して複数のバーストアドレス空間を作成し、それぞれのバーストアドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用意する(ステップ41)。続いて、ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれるバーストアドレス空間及びその完了フラグを、管理テーブルから読み出す(ステップ42)。続いて、読み出された完了フラグが未完了を示すとき(ステップ43)、当該完了フラグに対応するバーストアドレス空間の全体にデータが書き込まれるように転送アドレス及び転送データを変更してキャッシュメモリへ出力するように指示するとともに(ステップ44)、当該完了フラグを完了に書き換えるように指示する(ステップ45)。一方、読み出された完了フラグが完了を示すとき(ステップ43)、転送アドレス及び転送データをそのままキャッシュメモリへ出力するように指示する(ステップ46)。   The cache memory control method of the present embodiment corresponds to the operation in the first embodiment of the cache memory control device. First, create a plurality of burst address spaces by dividing the address space of the cache memory by the burst length of the DRAM, and a management table that manages a completion flag indicating completion or incomplete of data initialization for each burst address space Prepare (step 41). Subsequently, out of the transfer address and transfer data output from the host computer side, the burst address space including the transfer address and its completion flag are read from the management table (step 42). Subsequently, when the read completion flag indicates incompletion (step 43), the transfer address and the transfer data are changed so that the data is written in the entire burst address space corresponding to the completion flag and transferred to the cache memory. Instruct to output (step 44) and instruct to rewrite the completion flag to complete (step 45). On the other hand, when the read completion flag indicates completion (step 43), an instruction is given to output the transfer address and transfer data to the cache memory as they are (step 46).

従来技術では、キャッシュメモリのアドレス空間の全領域に対して、データ初期化を行っていた。これに対し、本実施形態では、そのデータ初期化を行わない代わりに、管理テーブルを用いる。管理テーブルでは、各バーストアドレス空間についてデータ初期化の完了又は未完了を示す、完了フラグを管理する。転送アドレスを含むバーストアドレス空間の完了フラグが未完了であれば、そのバーストアドレス空間に対して転送アドレス及び転送データをそのまま書き込むと、そのバーストアドレス空間に不確定な値のデータ領域が残ることになる。そこで、転送アドレス及び転送データを変更することにより、そのバーストアドレス空間の全体にデータが書き込まれるようにする。この結果、キャッシュメモリのアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリへのデータ転送が可能となる。   In the prior art, data initialization is performed for the entire area of the address space of the cache memory. On the other hand, in this embodiment, a management table is used instead of performing the data initialization. The management table manages a completion flag indicating completion or incomplete of data initialization for each burst address space. If the completion flag of the burst address space including the transfer address is incomplete, writing the transfer address and transfer data as it is to the burst address space leaves an undefined value data area in the burst address space. Become. Therefore, by changing the transfer address and transfer data, the data is written in the entire burst address space. As a result, it is not necessary to initialize the data in the address space of the cache memory, so that data can be immediately transferred to the cache memory at the time of startup or the like.

図6は、本発明に係るキャッシュメモリ制御装置の第二実施形態における管理テーブルを示す図表である。以下、この図面に基づき説明する。   FIG. 6 is a chart showing a management table in the second embodiment of the cache memory control apparatus according to the present invention. Hereinafter, description will be given based on this drawing.

本実施形態では、その基本的構成は第一実施形態と同じであるが、管理テーブル50について更に工夫している。管理テーブル50内において、エントリ51に対し、バーストアドレス空間52及び完了フラグ54にリード違反フラグ53を加えて合計三つの要素を登録している。バーストアドレス空間52及び完了フラグ54に関する機能は、第一実施形態と同じである。   In the present embodiment, the basic configuration is the same as in the first embodiment, but the management table 50 is further devised. In the management table 50, for the entry 51, a read violation flag 53 is added to the burst address space 52 and the completion flag 54 to register a total of three elements. The functions related to the burst address space 52 and the completion flag 54 are the same as those in the first embodiment.

テーブル管理手段は、転送要求を検出した際、転送アドレスから管理テーブル50のエントリ51を索引し、転送アドレスを含むバーストアドレス空間52のエントリ51を検索し、検出したバーストアドレス空間52に対応した完了フラグ54を読み出す。このとき、バースト制御手段は、転送コマンドがリード要求であり、かつ、読み出した完了フラグが“未完了”であった場合、キャッシュメモリのDRAMデータの初期化が完了していない空間(バーストアドレス空間)に対するリード要求が発生したと認識し、リード違反フラグを、“0”から“1”に変更する。   When the table management means detects the transfer request, it indexes the entry 51 of the management table 50 from the transfer address, searches the entry 51 of the burst address space 52 including the transfer address, and completes corresponding to the detected burst address space 52 The flag 54 is read. At this time, if the transfer command is a read request and the read completion flag is “incomplete”, the burst control means is a space (burst address space) where initialization of DRAM data in the cache memory is not completed. The read violation flag is changed from “0” to “1”.

キャッシュメモリ(DRAMデータ)に誤り訂正符号ECCを付加し、エラー訂正/検出をするキャッシュメモリの場合、DRAMデータを初期化していないアドレスに対し、リード転送を実行すると、訂正不可能エラーが発生してしまう。そのため、通常のキャッシュメモリ転送では、未初期化のアドレス空間にリード転送を行うことはない。このような初期化が完了していないバーストアドレス空間に対するリード要求は、転送制御ファームウェアに不具合がある場合や制御回路の故障が発生した場合に限られる。   In the case of a cache memory in which error correction code ECC is added to the cache memory (DRAM data) and error correction / detection is performed, an uncorrectable error occurs if read transfer is executed to an address for which DRAM data has not been initialized. End up. Therefore, in normal cache memory transfer, read transfer is not performed to an uninitialized address space. Such a read request for a burst address space that has not been initialized is limited to when there is a problem with the transfer control firmware or when a control circuit failure occurs.

このように、本実施形態では、キャッシュメモリへのリード要求が発生した場合、管理テーブルを索引し、完了フラグを読み出すことで、リード要求されている転送アドレスの対象メモリ空間がDRAMデータの初期化が完了していない空間(バーストアドレス空間)であるか否かの判定を行う。これにより、制御ファームエリアの不具合や制御回路の故障を早期に検出でき、高い信頼性を得るという効果が得られる。   As described above, in this embodiment, when a read request to the cache memory is generated, the management table is indexed and the completion flag is read, so that the target memory space of the transfer address requested to read is initialized to DRAM data. It is determined whether or not the space is an uncompleted space (burst address space). As a result, it is possible to detect a malfunction in the control farm area and a failure in the control circuit at an early stage, and to obtain an effect of obtaining high reliability.

本発明に係るキャッシュメモリ制御装置の第三実施形態を示すブロック図である。以下、この図面に基づき説明する。ただし、図1と同じ部分は同じ符号を付すことにより説明を省略する。   It is a block diagram which shows 3rd embodiment of the cache memory control apparatus which concerns on this invention. Hereinafter, description will be given based on this drawing. However, the same parts as those in FIG.

本実施形態のキャッシュメモリ制御装置60は、キャッシュメモリへの転送要求である転送コマンドを識別するために、診断コマンド保持手段61を設けている。診断コマンド保持手段61は、キャッシュメモリへの転送要求の1つである診断コマンドを検出する機能を有する。診断コマンドとは、通常のリード、ライト転送とは異なり、DRAMのソフトエラー発生の有無を試験するためのコマンドであり、通常のリード/ライト転送と混在しながら転送され、キャッシュメモリの予防診断機能として利用されている。   The cache memory control device 60 of this embodiment is provided with a diagnostic command holding means 61 for identifying a transfer command that is a transfer request to the cache memory. The diagnostic command holding means 61 has a function of detecting a diagnostic command that is one of transfer requests to the cache memory. A diagnostic command is a command for testing whether or not a soft error has occurred in a DRAM, unlike normal read / write transfer, and is transferred while being mixed with normal read / write transfer. It is used as.

まず、最初に診断コマンド保持手段61の無い場合において、診断コマンドを受けた際の動作を説明する。診断コマンドの検出と同時に転送アドレスも検出され、それらの診断コマンド要求の各情報を元に、キャッシュメモリ(DRAM)からデータとECCが読み出され、読み出されたデータとECCの整合性がチェックされる。読み出されたデータとECCの整合性チェックで、訂正可能エラーが検出された場合は、読み出したデータ又はECCの訂正を行い、訂正したデータとECCを再びキャッシュメモリに書き込む。訂正不可能エラーを検出した場合、再書き込みは行われない。   First, the operation when a diagnostic command is received when there is no diagnostic command holding means 61 will be described. The transfer address is also detected at the same time as the diagnosis command is detected, and the data and ECC are read from the cache memory (DRAM) based on each information of the diagnosis command request, and the consistency between the read data and the ECC is checked. Is done. When a correctable error is detected in the consistency check between the read data and the ECC, the read data or ECC is corrected, and the corrected data and ECC are written in the cache memory again. If an uncorrectable error is detected, rewriting is not performed.

以上のように、診断コマンドを検出したときの動作は、DRAMから一旦データを読み出す必要があるため、診断要求(コマンド)の対象となるアドレス空間のDRAMは、必ず初期化を完了させておく必要がある。また、診断コマンドの対象となるアドレスは、通常のリード、ライト転送で使用されたか否かに関わらず、診断対象として選ばれる。そのため、DRAMデータの初期化転送しか実施されていないアドレス空間に対して、診断コマンドが発行される場合がある。   As described above, when the diagnosis command is detected, it is necessary to once read data from the DRAM. Therefore, the DRAM in the address space subject to the diagnosis request (command) must be initialized. There is. In addition, an address that is a target of a diagnostic command is selected as a diagnostic target regardless of whether it is used in normal read / write transfer. For this reason, a diagnostic command may be issued to an address space in which only initialization transfer of DRAM data is performed.

次に、診断コマンド保持手段61を採用している場合の動作説明を行う。基本的に転送要求の検出から完了フラグの読み出しまでは、上述した第一実施形態の動作と同様である。バースト制御手段18は、転送アドレスを含むバーストアドレス空間の完了フラグが読み出されたとき、診断コマンド保持手段61内に診断コマンドが存在するか否かのチェックを行う。   Next, the operation when the diagnostic command holding means 61 is employed will be described. The operations from the detection of the transfer request to the reading of the completion flag are basically the same as the operation of the first embodiment described above. The burst control means 18 checks whether or not there is a diagnostic command in the diagnostic command holding means 61 when the completion flag of the burst address space including the transfer address is read.

診断コマンドが存在していた場合、完了フラグの“完了”又は“未完了”のステータスを元にDRAMへの診断転送を実施する。完了フラグが“完了”を示す場合、診断対象となっている転送アドレスのDRAM内データは初期化が既に完了しているため、通常の診断動作(データ及びECC読み出し後、整合性チェック)を行う。   If there is a diagnostic command, diagnostic transfer to the DRAM is performed based on the status of the completion flag “completed” or “incomplete”. When the completion flag indicates “completed”, initialization of the data in the DRAM of the transfer address to be diagnosed has already been completed, and therefore normal diagnosis operation (consistency check after data and ECC reading) is performed. .

一方、完了フラグが“未完了”を示している場合、バースト制御手段18は、転送アドレス保持手段11で保持されている転送アドレスをDRAMバースト長に合わせ込んだ後、一旦DRAMにデータをライトする。診断コマンド時、転送要求にはライトデータが付随していない。そのため、パディング手段19は、DRAMのバースト長分のライトデータ(ダミーデータ)を生成し、ライト転送する。バースト制御手段18は、ダミーデータのライト動作が終了後、すぐに同アドレスのリード転送を行い、直前にライトしたデータとECCを読み出し、整合性チェックを行う。整合性チェック後の動作は、上述した動作と変わりはない。   On the other hand, when the completion flag indicates “incomplete”, the burst control means 18 adjusts the transfer address held by the transfer address holding means 11 to the DRAM burst length, and then once writes the data to the DRAM. . At the time of diagnosis command, the transfer request does not accompany the write data. Therefore, the padding means 19 generates write data (dummy data) corresponding to the burst length of the DRAM and performs write transfer. The burst control means 18 performs read transfer of the same address immediately after the dummy data write operation is completed, reads the data and ECC written immediately before, and performs consistency check. The operation after the consistency check is not different from the above-described operation.

このように、本実施形態では、通常のリード、ライトコマンドと診断コマンドの判別を行い、診断コマンド時も管理テーブルを参照し、完了フラグを読み出した後、診断コマンドの対象アドレス空間の初期化状況を認識することで、未初期化のアドレス空間に対しても診断動作が可能になるという効果がある。これは、未初期化のアドレス空間に対し、初期化動作と同時に診断動作を行えるということで、通常のリード、ライト転送と診断転送(コマンド)が混在し、通常のデータ転送を行いながら、並行して、初期化処理が行うことが可能となる。   As described above, in this embodiment, normal read / write commands and diagnosis commands are discriminated, the management table is also referred to at the time of diagnosis commands, the completion flag is read, and then the initialization status of the target address space of the diagnosis commands By recognizing this, there is an effect that a diagnostic operation can be performed even for an uninitialized address space. This is because the diagnosis operation can be performed simultaneously with the initialization operation for the uninitialized address space, and normal read / write transfer and diagnosis transfer (command) are mixed, and normal data transfer is performed in parallel. Thus, the initialization process can be performed.

図8は、本発明に係るディスクアレイ装置の第一実施形態を示すブロック図である。以下、この図面に基づき説明する。   FIG. 8 is a block diagram showing a first embodiment of the disk array device according to the present invention. Hereinafter, description will be given based on this drawing.

本実施形態のディスクアレイ装置70は、ホストアダプタ71、キャッシュメモリコントローラ72、キャッシュメモリ73、ディスクアダプタ74、ハードディスク群75等から成り、ホストコンピュータ群80と接続されている。キャッシュメモリコントローラ72には、前述のキャッシュメモリ制御装置10が一機能として実装されている。 The disk array device 70 of this embodiment includes a host adapter 71, a cache memory controller 72, a cache memory 73, a disk adapter 74, a hard disk group 75, and the like, and is connected to a host computer group 80. The cache memory controller 72 is mounted with the above-described cache memory control device 10 as one function.

ディスクアレイ装置70によれば、キャッシュメモリ制御装置10を備えたことにより、キャッシュメモリ73のアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリ73へのデータ転送が可能となる。 According to the disk array device 70 , since the cache memory control device 10 is provided, it is not necessary to initialize the data in the address space of the cache memory 73, so that data can be immediately transferred to the cache memory 73 at the time of startup or the like. Become.

なお、ディスクアレイ装置70及びキャッシュメモリコントローラ72におけるキャッシュメモリ制御装置10を除く他の機能は、従来技術と同じであるので、説明を省略する。 The other functions of the disk array device 70 and the cache memory controller 72 other than the cache memory control device 10 are the same as those of the prior art, and thus description thereof is omitted.

本発明に係るキャッシュメモリ制御装置の第一実施形態を示すブロック図である。1 is a block diagram showing a first embodiment of a cache memory control device according to the present invention. FIG. 図1のキャッシュメモリ制御装置における管理テーブルの一例を示す図表である。4 is a chart showing an example of a management table in the cache memory control device of FIG. 1. 図1のキャッシュメモリ制御装置の動作を説明するためのブロック図である。FIG. 2 is a block diagram for explaining the operation of the cache memory control device of FIG. 1. 図3のキャッシュメモリ制御装置の動作において用いられる管理テーブルを示す図表である。4 is a chart showing a management table used in the operation of the cache memory control device of FIG. 3. 本発明に係るキャッシュメモリ制御方法の第一実施形態を示すフローチャートである。It is a flowchart which shows 1st embodiment of the cache memory control method which concerns on this invention. 本発明に係るキャッシュメモリ制御装置の第二実施形態における管理テーブルを示す図表である。It is a chart which shows the management table in 2nd embodiment of the cache memory control apparatus which concerns on this invention. 本発明に係るキャッシュメモリ制御装置の第三実施形態を示すブロック図である。It is a block diagram which shows 3rd embodiment of the cache memory control apparatus which concerns on this invention. 本発明に係るディスクアレイ装置の第一実施形態を示すブロック図である。1 is a block diagram showing a first embodiment of a disk array device according to the present invention.

符号の説明Explanation of symbols

10,60 キャッシュメモリ制御装置
11 転送アドレス保持手段
12 転送レングス保持手段
13 転送コマンド保持手段
14 転送データ保持手段
15 テーブル制御手段
16,161,50 管理テーブル
17 アドレス変換手段
18 バースト制御手段
19 パディング手段
20 転送要求
21 転送アドレス
22 転送レングス
23 転送コマンド
24 ライトデータ
30 DRAMアクセス情報
31 DRAMアドレス
32 バーストレングス
33 転送コマンド
34 ライトデータ、パディングデータ
51 エントリ
52 バーストアドレス空間
53 リード違反フラグ
54 完了フラグ
61 診断コマンド保持手段
70 ディスクアレイ装置
DESCRIPTION OF SYMBOLS 10,60 Cache memory control apparatus 11 Transfer address holding means 12 Transfer length holding means 13 Transfer command holding means 14 Transfer data holding means 15 Table control means 16, 161, 50 Management table 17 Address conversion means 18 Burst control means 19 Padding means 20 Transfer request 21 Transfer address 22 Transfer length 23 Transfer command 24 Write data 30 DRAM access information 31 DRAM address 32 Burst length 33 Transfer command 34 Write data, padding data 51 Entry 52 Burst address space 53 Read violation flag 54 Completion flag 61 Diagnostic command holding Means 70 Disk array device

Claims (6)

ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御装置において、
前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルと、
ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出すテーブル制御手段と、
このテーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、前記テーブル制御手段で読み出された完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示するバースト制御手段と、
前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送アドレスを変換又は生成するアドレス変換手段と、
前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送データにパディングデータを付加するパディング手段と、
を備えたことを特徴とするキャッシュメモリ制御装置。
In a cache memory control device that controls a cache memory provided in a disk array device,
A management table that divides the address space of the cache memory into a plurality of divided address spaces, and manages a completion flag indicating completion or incomplete of data initialization for each divided address space;
Of the transfer address and transfer data output from the host computer side, table control means for reading the division address space including the transfer address and the completion flag from the management table;
When the completion flag read by the table control means indicates incomplete, the cache address is changed by changing the transfer address and the transfer data so that data is written in the entire divided address space corresponding to the completion flag. An instruction to output to the memory and an instruction to rewrite the completion flag to completion, and when the completion flag read by the table control means indicates completion, the transfer address and the transfer data are used as they are in the cache memory. Burst control means for instructing to output to,
Address conversion means for converting or generating the transfer address according to an instruction output from the burst control means when the completion flag indicates incomplete;
Padding means for adding padding data to the transfer data according to an instruction output from the burst control means when the completion flag indicates incomplete;
A cache memory control device comprising:
前記分割アドレス空間は、前記キャッシュメモリのアドレス空間をバースト長で分割したバーストアドレス空間である、
ことを特徴とする請求項記載のキャッシュメモリ制御装置。
The divided address space is a burst address space obtained by dividing the address space of the cache memory by a burst length.
The cache memory control device according to claim 1 .
前記キャッシュメモリがDRAMから成る、
ことを特徴とする請求項1又は2記載のキャッシュメモリ制御装置。
The cache memory comprises DRAM;
3. The cache memory control device according to claim 1, wherein the cache memory control device is a cache memory control device.
ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御方法において、
前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用意し、
ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出し、
読み出された前記完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、
読み出された前記完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示する
前記完了フラグが未完了を示すときに出力された前記指示によって、前記転送アドレスを変換又は生成し、
前記完了フラグが未完了を示すときに出力された前記指示によって、前記転送データにパディングデータを付加する
ことを特徴とするキャッシュメモリ制御方法。
In a cache memory control method for controlling a cache memory provided in a disk array device,
Dividing the address space of the cache memory into a plurality of divided address spaces, preparing a management table for managing a completion flag indicating completion or incomplete of data initialization for each divided address space,
Among the transfer address and transfer data output from the host computer side, the division address space including the transfer address and the completion flag are read from the management table,
When the read completion flag indicates incomplete, the transfer address and the transfer data are changed and output to the cache memory so that data is written to the entire divided address space corresponding to the completion flag. And instructing the completion flag to be rewritten to completion,
When read the completion flag has been indicated completion, to an instruction to output the transfer address and the transfer data directly to the cache memory,
According to the instruction output when the completion flag indicates incomplete, the transfer address is converted or generated,
A cache memory control method , wherein padding data is added to the transfer data according to the instruction output when the completion flag indicates incomplete .
ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御プログラムにおいて、
前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用いるとともに、
ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出すテーブル制御手段
このテーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、前記テーブル制御手段で読み出された完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示するバースト制御手段、
前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送アドレスを変換又は生成するアドレス変換手段、並びに、
前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送データにパディングデータを付加するパディング手段、
としてコンピュータを機能させることを特徴とするキャッシュメモリ制御プログラム。
In a cache memory control program for controlling a cache memory provided in a disk array device,
Dividing the address space of the cache memory into a plurality of divided address spaces, and using a management table for managing a completion flag indicating completion or incomplete of data initialization for each divided address space,
Of the transfer address and transfer data output from the host computer side, table control means for reading out the divided address space including the transfer address and the completion flag from the management table ,
When the completion flag read by the table control means indicates incomplete, the cache address is changed by changing the transfer address and the transfer data so that data is written in the entire divided address space corresponding to the completion flag. An instruction to output to the memory and an instruction to rewrite the completion flag to completion, and when the completion flag read by the table control means indicates completion, the transfer address and the transfer data are used as they are in the cache memory. Burst control means for instructing to output to
Address conversion means for converting or generating the transfer address according to an instruction output from the burst control means when the completion flag indicates incomplete, and
Padding means for adding padding data to the transfer data according to an instruction output from the burst control means when the completion flag indicates incomplete;
A cache memory control program for causing a computer to function as:
請求項1乃至のいずれか1項に記載のキャッシュメモリ制御装置を、
備えたことを特徴とするディスクアレイ装置。
The cache memory control device according to any one of claims 1 to 3 ,
A disk array device comprising the disk array device.
JP2006097282A 2006-03-31 2006-03-31 Cache memory control device, method and program, and disk array device Expired - Fee Related JP4572859B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006097282A JP4572859B2 (en) 2006-03-31 2006-03-31 Cache memory control device, method and program, and disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006097282A JP4572859B2 (en) 2006-03-31 2006-03-31 Cache memory control device, method and program, and disk array device

Publications (2)

Publication Number Publication Date
JP2007272551A JP2007272551A (en) 2007-10-18
JP4572859B2 true JP4572859B2 (en) 2010-11-04

Family

ID=38675295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006097282A Expired - Fee Related JP4572859B2 (en) 2006-03-31 2006-03-31 Cache memory control device, method and program, and disk array device

Country Status (1)

Country Link
JP (1) JP4572859B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5286796B2 (en) * 2008-01-17 2013-09-11 日本電気株式会社 Memory control device
JP2010157129A (en) 2008-12-27 2010-07-15 Toshiba Information Systems (Japan) Corp Semiconductor memory device
JP6750502B2 (en) * 2014-10-24 2020-09-02 ソニー株式会社 Memory controller, storage device, information processing system, and memory control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173166A (en) * 1987-12-28 1989-07-07 Hitachi Ltd Arithmetic processing system
JPH076063A (en) * 1993-06-08 1995-01-10 Internatl Business Mach Corp <Ibm> Method and system for creation of storage dump, method and system for capture of information as well as method and system for provision of storage dump
JP2002297455A (en) * 2001-03-29 2002-10-11 Fujitsu Ltd Reproducing method among data fields of memory device and memory system
JP2005321854A (en) * 2004-05-06 2005-11-17 Hitachi Ltd Storage system, computer system, and setting method for storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173166A (en) * 1987-12-28 1989-07-07 Hitachi Ltd Arithmetic processing system
JPH076063A (en) * 1993-06-08 1995-01-10 Internatl Business Mach Corp <Ibm> Method and system for creation of storage dump, method and system for capture of information as well as method and system for provision of storage dump
JP2002297455A (en) * 2001-03-29 2002-10-11 Fujitsu Ltd Reproducing method among data fields of memory device and memory system
JP2005321854A (en) * 2004-05-06 2005-11-17 Hitachi Ltd Storage system, computer system, and setting method for storage system

Also Published As

Publication number Publication date
JP2007272551A (en) 2007-10-18

Similar Documents

Publication Publication Date Title
KR101964207B1 (en) Data memory device and controller with interface error detection and handling logic
TWI444825B (en) Memory storage device, memory controller thereof, and method for programming data thereof
US7647544B1 (en) Disk drive implementing data path protection without writing the error detection code data to the disk
US7984325B2 (en) Storage control device, data recovery device, and storage system
US7921339B2 (en) Flash storage device with data correction function
US9223648B2 (en) Memory storage device, memory controller thereof, and method for processing data thereof
TWI396202B (en) Error correcting controller and flash memory chip system and error correcting method thereof
US20210103495A1 (en) Operation methods of memory system and host, and computing system
US10606696B2 (en) Internally-generated data storage in spare memory locations
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
JPH1153266A (en) Semiconductor storage device and its control method
US11281549B2 (en) Storage device and method of operating storage device
TW201003662A (en) Memory malfunction prediction system and method
US8839072B2 (en) Access control apparatus, storage apparatus, and method
CN113778822B (en) Error correction capability test method and device, readable storage medium and electronic equipment
JP4114877B2 (en) Apparatus, method, and program for detecting illegal data
US8301981B2 (en) Data access method for flash memory and storage system and controller thereof
TWI473103B (en) Flash memory storage device and method for determining bad storage area thereof
JP2008262325A (en) Memory control device, memory control method, information processing system, and program and storage medium thereof
TWI509615B (en) Data storing method, and memory controller and memory storage apparatus using the same
JP4572859B2 (en) Cache memory control device, method and program, and disk array device
US8966161B2 (en) Memory storage device and restoring method thereof
TWI467364B (en) Memory storage device, memory controller thereof, and method for programming data thereof
TWI526818B (en) Method of enabling sleep mode, memory control circuit unit and storage appartus
JP2007305105A (en) Memory controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees