JP2008015918A - Disk drive and disk controller - Google Patents

Disk drive and disk controller Download PDF

Info

Publication number
JP2008015918A
JP2008015918A JP2006188295A JP2006188295A JP2008015918A JP 2008015918 A JP2008015918 A JP 2008015918A JP 2006188295 A JP2006188295 A JP 2006188295A JP 2006188295 A JP2006188295 A JP 2006188295A JP 2008015918 A JP2008015918 A JP 2008015918A
Authority
JP
Japan
Prior art keywords
data
disk
host computer
cache memory
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006188295A
Other languages
Japanese (ja)
Inventor
Masanori Tomota
正憲 友田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2006188295A priority Critical patent/JP2008015918A/en
Publication of JP2008015918A publication Critical patent/JP2008015918A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To correctly write write data in a disk even though power failure is generated in the case of further transferring the write data to a cache memory in which valid write data exists. <P>SOLUTION: This disk controller 10 for controlling the writing of data from a host computer 17 into the disk 15 is provided with a nonvolatile cache memory 12 for storing the data from the host computer to be written in the disk, a nonvolatile storage area 11 for storing the data from the host computer and a data transferring means 31. The data transferring means acquires the data from the host computer, writes the acquired data in the storage area, transfers the data written in the storage area to the cache memory, acquires the next data from the host computer and writes the acquired data in the storage area. When data transfer is interrupted because of power failure, the data written in the storage area is transferred again to the cache memory when the power is recovered. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ディスク装置へのデータ転送を制御するディスクコントローラ、及びこのようなディスクコントローラを内蔵したディスク装置に関し、更に詳しくは、ホスト計算機からのデータの転送中に停電が発生した場合であっても、データを保護するディスク装置及びディスクコントーラに関する。   The present invention relates to a disk controller for controlling data transfer to a disk device, and a disk device incorporating such a disk controller. More specifically, the present invention relates to a case where a power failure occurs during data transfer from a host computer. The present invention also relates to a disk device and a disk controller for protecting data.

図19は、ホスト計算機200からのデータを、ディスク192に書き込むためのディスク装置190を示す。このディスク装置190は、不揮発性のキャッシュメモリ191を備えており、ディスク192へのライトデータ(図19に示す例では、すべて値は1)をホスト計算機200から取得し、ディスク192に書き込む前にキャッシュメモリ191に一旦保持している状態を示す。   FIG. 19 shows a disk device 190 for writing data from the host computer 200 to the disk 192. The disk device 190 includes a non-volatile cache memory 191. Before the write data to the disk 192 (all values are 1 in the example shown in FIG. 19) is acquired from the host computer 200 and written to the disk 192. The state once held in the cache memory 191 is shown.

通常は、この後、一定時間経過、あるいは、キャッシュメモリ191の不足等のイベントにより、ライトデータは、ディスク192へ書き込まれる。ディスク192への書き込みが実施されるまでの間に、万が一、停電が発生した場合には、キャッシュメモリ191のデータは、バッテリ等によりバックアップされて保持される。   Normally, after this, write data is written to the disk 192 due to an elapse of a certain time or an event such as a shortage of the cache memory 191. In the unlikely event that a power failure occurs before writing to the disk 192, the data in the cache memory 191 is backed up and held by a battery or the like.

そして、再び電力が供給されるようになると、ディスク装置190は起動処理を行う際に、キャッシュメモリ191にディスク192へ書き込んでいないデータがあることを認識し、ライトデータをディスク192へ書き込むことで、停電によるデータの消失が防止されている。   When power is supplied again, the disk device 190 recognizes that there is data that has not been written to the disk 192 in the cache memory 191 when performing the startup process, and writes write data to the disk 192. Data loss due to power failure is prevented.

一方、図19に示す状態において、ホスト計算機200が、さらに同一のディスク位置60へ別のライトコマンドを実行すると、図20に示すように、ホスト計算機200からの新たなライトデータ(図20に示す例では、すべて値は2)が、DMA(ダイレクトメモリアクセス)により、キャッシュメモリ191へ転送される。図21は、この転送途中の様子を示している。   On the other hand, when the host computer 200 further executes another write command to the same disk position 60 in the state shown in FIG. 19, as shown in FIG. 20, new write data (shown in FIG. 20) from the host computer 200 is obtained. In the example, all values 2) are transferred to the cache memory 191 by DMA (direct memory access). FIG. 21 shows a state during the transfer.

図21に示すような転送途中の状態において停電が発生すると、ライトデータはDMA転送中であるために、一部が新データ(値は2)で、一部が旧データ(値は1)となってしまう。   When a power failure occurs in the middle of the transfer as shown in FIG. 21, since the write data is being DMA-transferred, some of the data is new data (value is 2) and some is old data (value is 1). turn into.

この状態で再び電力が供給されると、ディスク装置190はこれらライトデータをディスク192へ書き込むために、値が2である新データと、値が1である旧データとが混合した状態となる。   When power is supplied again in this state, the disk device 190 is in a state where new data having a value of 2 and old data having a value of 1 are mixed in order to write these write data to the disk 192.

一般に、遅延書き込み用のキャッシュメモリを持たないディスク装置では、停電に対し、最小単位である1セクタ(通常は512バイト)に対しての書き込みで、以下の(1)から(3)のうちの何れかの状態となる。   In general, in a disk device that does not have a cache memory for delayed writing, writing to one sector (usually 512 bytes), which is the smallest unit, is performed in the following (1) to (3) in response to a power failure It will be in either state.

(1)旧データ(例えば、値は全て1)が全領域(512バイト)に書き込まれており、読み出すと、値1を読み出すことができる。   (1) Old data (for example, all values are 1) is written in the entire area (512 bytes), and when read, the value 1 can be read.

(2)新データ(例えば、値は全て2)が全領域(512バイト)に書き込まれており、読み出すと、値2を読み出すことができる。   (2) New data (for example, all values are 2) is written in the entire area (512 bytes), and when read, the value 2 can be read.

(3)メディアエラーとなり、全領域(512バイト)が読み出せなくなる。
特開2003−330627号公報 特開2004−342037号公報
(3) A media error occurs and the entire area (512 bytes) cannot be read.
JP 2003-330627 A JP 2004-342037 A

しかしながら、このような従来のディスク装置では、以下のような問題がある。   However, such a conventional disk device has the following problems.

すなわち、図21に示すような場合、従来のディスク装置では、上記(1)乃至(3)のうちの何れの状態とも異なり、例えば値が1である旧データと、例えば値が2である新データとが入り混じったデータを読み出すことになる。これは、遅延書き込み用のディスクと異なる動作を行うこととなり、不具合をもたらす可能性があるという問題がある。   That is, in the case shown in FIG. 21, in the conventional disk device, unlike any of the above (1) to (3), for example, old data with a value of 1, for example, and new data with a value of 2, for example. Data mixed with data is read out. This causes a problem that the operation is different from that of the disk for delayed writing, which may cause a problem.

また、DMA転送において、ホスト計算機200からのデータを暗号、あるいは、復号するような仕組みを備えたディスク装置190では、暗号アルゴリズムにブロック暗号を採用した場合、図21の状態からデータを読み出すと、例えば値が1であるような旧データでも、例えば値が2であるような新データでもないデータが読み出され、不具合をもたらす可能性があるという問題がある。   In the DMA transfer, in the disk device 190 having a mechanism for encrypting or decrypting data from the host computer 200, when the block cipher is adopted as the encryption algorithm, the data is read from the state of FIG. For example, even old data with a value of 1 or new data with a value of 2, for example, is read, which may cause a problem.

これら問題の解決に関連する技術としては、例えば特許文献1があるが、これは、停電による電圧低下が起こった時点で、DMA中のデータを不揮発性メモリに退避させるものであり、上記課題を解決するものではない。また、特許文献2には、DMA転送を行う前にキャッシュメモリの内容をディスク装置に書き戻す方式が開示されているが、この方式では、DMA転送を即時に行うことができない。   As a technique related to the solution of these problems, for example, there is Patent Document 1, which saves the data in the DMA to a nonvolatile memory at the time when a voltage drop due to a power failure occurs. It does not solve. Further, Patent Document 2 discloses a method of writing back the contents of the cache memory to the disk device before performing DMA transfer, but with this method, DMA transfer cannot be performed immediately.

本発明はこのような事情に鑑みてなされたものであり、有効なライトデータが存在するキャッシュメモリへ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスクに書き込むことが可能なディスク装置及びディスコントローラを提供することを目的とする。   The present invention has been made in view of such circumstances. Even when a power failure occurs when the write data is further transferred to a cache memory in which valid write data exists, the write data can be correctly written to the disk. It is an object of the present invention to provide a possible disk device and a disk controller.

上記の目的を達成するために、本発明では、以下のような手段を講じる。   In order to achieve the above object, the present invention takes the following measures.

すなわち、請求項1の発明は、ホスト計算機からのデータの、ディスクへの書き込みを制御するディスクコントローラであって、ディスクへ書き込まれるホスト計算機からのデータを記憶する不揮発性キャッシュメモリと、ホスト計算機からの所定量のデータを記憶する不揮発性記憶領域と、データ転送手段とを備えている。   That is, the invention of claim 1 is a disk controller for controlling writing of data from the host computer to the disk, and includes a nonvolatile cache memory for storing data from the host computer to be written to the disk, and the host computer. A non-volatile storage area for storing a predetermined amount of data, and a data transfer means.

このデータ転送手段は、ホスト計算機から所定量のデータを取得し、取得した所定量のデータを不揮発性記憶領域に書き込み、しかる後に、不揮発性記憶領域に書き込まれた所定量のデータを不揮発性キャッシュメモリに転送し、転送後に、ホスト計算機から所定量の次のデータを取得し、不揮発性記憶領域に、この取得したデータを書き込む。そして、停電によりデータ転送が中断した場合には、不揮発性記憶領域に書き込まれている所定量のデータを、復電時に、不揮発性キャッシュメモリに再度転送する。   The data transfer means acquires a predetermined amount of data from the host computer, writes the acquired predetermined amount of data to the nonvolatile storage area, and then stores the predetermined amount of data written to the nonvolatile storage area. The data is transferred to the memory, and after the transfer, a predetermined amount of next data is acquired from the host computer, and the acquired data is written in the nonvolatile storage area. When data transfer is interrupted due to a power failure, a predetermined amount of data written in the nonvolatile storage area is transferred again to the nonvolatile cache memory at the time of power recovery.

また、請求項2の発明は、不揮発性記憶領域を、不揮発性キャッシュメモリ又はデータ転送手段に備えた請求項1に記載のディスクコントローラである。   The invention according to claim 2 is the disk controller according to claim 1, wherein the nonvolatile storage area is provided in a nonvolatile cache memory or data transfer means.

更に、請求項3の発明は、ホスト計算機からのデータの、ディスクへの書き込みを制御するディスクコントローラであって、ホスト計算機からのデータを、ディスクへ書き込まれるキャッシュデータとして記憶することが可能な2つの記憶領域を備えた不揮発性キャッシュメモリと、ホスト計算機からデータを取得し、取得したデータを不揮発性キャッシュメモリに転送するデータ転送手段とを備えている。   Furthermore, the invention of claim 3 is a disk controller that controls writing of data from the host computer to the disk, and can store data from the host computer as cache data to be written to the disk. A non-volatile cache memory having two storage areas, and data transfer means for acquiring data from the host computer and transferring the acquired data to the non-volatile cache memory.

そして、不揮発性キャッシュメモリは、データ転送手段からデータが転送されてきた場合には、2つの記憶領域のうちの何れか一方の記憶領域にキャッシュデータとして記憶し、2つの記憶領域のうちの何れか一方の記憶領域にキャッシュデータを記憶している状態でデータ転送手段からデータが転送されてきた場合には、転送されたデータを2つの記憶領域のうちの他方の記憶領域に記憶し、この転送が完了した後に、他方の記憶領域に記憶されているデータを新たなキャッシュデータとするとともに、一方の記憶領域へデータを記憶できるようにした。   The non-volatile cache memory stores data as cache data in one of the two storage areas when data is transferred from the data transfer means, and stores either of the two storage areas. When data is transferred from the data transfer means in a state where cache data is stored in one of the storage areas, the transferred data is stored in the other storage area of the two storage areas. After the transfer is completed, the data stored in the other storage area is used as new cache data, and the data can be stored in one storage area.

請求項4乃至6の発明は、請求項1乃至3の発明のディスクコントローラをそれぞれ備えたディスク装置である。   The fourth to sixth aspects of the present invention are disk devices each including the disk controller of the first to third aspects of the invention.

本発明によれば、有効なライトデータが存在するキャッシュメモリへ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスクに書き込むことが可能なディスク装置及びディスコントローラを実現することができる。   According to the present invention, it is possible to realize a disk device and a discontroller capable of correctly writing write data to a disk even if a power failure occurs when the write data is further transferred to a cache memory in which valid write data exists. be able to.

以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

(第1の実施の形態)
第1の実施の形態に係るディスクコントローラについて説明する。
(First embodiment)
The disk controller according to the first embodiment will be described.

図1は、第1の実施の形態に係るディスクコントローラ10の構成例を示す機能ブロック図である。   FIG. 1 is a functional block diagram showing a configuration example of the disk controller 10 according to the first embodiment.

すなわち、本実施の形態に係るディスクコントローラ10は、ホスト計算機17に内蔵され、ホスト計算機17のメモリ18からのデータを、ディスク装置16内のディスク15に書き込むためのものであり、DMAコントローラ11、キャッシュメモリ12、ディスク制御部13、及びキャッシュ管理テーブル14を備えている。   That is, the disk controller 10 according to the present embodiment is built in the host computer 17 and is used to write data from the memory 18 of the host computer 17 to the disk 15 in the disk device 16. A cache memory 12, a disk control unit 13, and a cache management table 14 are provided.

なお、図1では、ホスト計算機17に関しては、簡略のために、ディスクコントローラ10の他には、本実施の形態に関連する構成要素であるメモリ18とドライバ19のみを示している。   In FIG. 1, with respect to the host computer 17, for simplicity, only the memory 18 and the driver 19, which are components related to the present embodiment, are shown in addition to the disk controller 10.

メモリ18は、ディスク15へ書き出す、あるいは、ディスク15から読み込むデータを格納する。   The memory 18 stores data to be written to the disk 15 or read from the disk 15.

ドライバ19は、RAIDコントローラ等のディスクコントローラ10へ、リード(読み出し)やライト(書き込み)のコマンドをディスク制御部13へ送信し、ディスク15へのアクセスを仲介する。   The driver 19 transmits a read (read) or write (write) command to the disk controller 13 to the disk controller 10 such as a RAID controller, and mediates access to the disk 15.

RAIDコントローラ等のディスクコントローラ10は、ホスト計算機17に内蔵され、PCI、PCI−X、PCIエクスプレスなどのIOバスを介してホスト計算機17内の各部位と接続している。   The disk controller 10 such as a RAID controller is built in the host computer 17 and is connected to each part in the host computer 17 via an IO bus such as PCI, PCI-X, and PCI Express.

ディスク制御部13は、ディスク(あるいはRAID)15の構成管理、ディスク15の制御などを行う。本実施の形態で特に関連するのは、ドライバ19からコマンドを受信し、その処理を行い、結果をドライバ19へ返却する機能である。また、コマンドの処理において、DMAコントローラ11、キャッシュメモリ12、及びキャッシュ管理テーブル14を用いる。   The disk control unit 13 performs configuration management of the disk (or RAID) 15, control of the disk 15, and the like. Particularly relevant in the present embodiment is the function of receiving a command from the driver 19, processing it, and returning the result to the driver 19. Further, in the command processing, the DMA controller 11, the cache memory 12, and the cache management table 14 are used.

キャッシュメモリ12は、ディスク15へ書き込むべきデータや、ディスク15から読み出したデータを保持する。ディスク15へ書き込むべきデータを一時的に蓄積するため、停電などによる処理の中断でデータを消失しないように、ディスクコントローラ10への電源供給が途絶えても、内容が消えない、不揮発性記憶媒体で構成する。   The cache memory 12 holds data to be written to the disk 15 and data read from the disk 15. Since the data to be written to the disk 15 is temporarily stored, the contents are not lost even if the power supply to the disk controller 10 is interrupted so that the data is not lost due to interruption of processing due to a power failure or the like. Constitute.

キャッシュ管理テーブル14は、キャッシュメモリ12と同様、不揮発性の記憶媒体上に配置され、図2にその一例を示すように、キャッシュメモリ12上に保持するデータの管理情報を保持する。この管理情報の項目は、キャッシュブロック番号14a、ディスク番号14b、ディスクアドレス14c、使用・未使用状態14d、ライトデータの有無14e、ロック状態14fからなる。   Similarly to the cache memory 12, the cache management table 14 is arranged on a non-volatile storage medium, and holds management information of data held on the cache memory 12 as shown in FIG. The management information items include a cache block number 14a, a disk number 14b, a disk address 14c, a used / unused state 14d, the presence / absence of write data 14e, and a lock state 14f.

本明細書では、説明のために、キャッシュメモリ12の管理単位(キャッシュブロック)は、ディスク15のセクタと同一サイズとする。キャッシュブロックのサイズは、性能や、管理の効率化のために、ディスクセクタの倍数であることがあり、その場合にはキャッシュ管理テーブル14の構造が一部図2と異なる場合があるが、本実施の形態での利用とは関係がないため、これ以上の説明は行わない。   In this specification, for the sake of explanation, the management unit (cache block) of the cache memory 12 has the same size as the sector of the disk 15. The size of the cache block may be a multiple of the disk sector for performance and management efficiency. In this case, the structure of the cache management table 14 may be partially different from that shown in FIG. Since there is no relationship with the use in the embodiment, no further explanation will be given.

キャッシュ管理テーブル14は、キャッシュメモリ12上の全キャッシュブロック分のエントリを、キャッシュブロック番号14aとして持つ。すなわち、1つのエントリは、キャッシュブロックに1対1で対応する。ディスク番号14bと、ディスクアドレス14cとは、キャッシュブロックに格納するデータと対応するディスクの位置を示す情報である。使用・未使用状態14dの項目は、キャッシュブロックを使用しているか、使用していないかを示す。ライトデータの有無14eは、キャッシュブロック上にディスク15が書き出していないデータが存在するかどうかを示す。ロック状態14fは、このエントリがロックされているかどうかを示す。   The cache management table 14 has entries for all cache blocks on the cache memory 12 as the cache block number 14a. That is, one entry corresponds to the cache block on a one-to-one basis. The disk number 14b and the disk address 14c are information indicating the position of the disk corresponding to the data stored in the cache block. The item of used / unused state 14d indicates whether a cache block is used or not used. The presence / absence 14e of the write data indicates whether there is data not written out by the disk 15 on the cache block. The lock state 14f indicates whether this entry is locked.

DMAコントローラ11は、ディスク制御部13から、データ転送のコマンドを受信し、ホスト計算機17とキャッシュメモリ12と間のデータ転送を制御する部位である。このようなDMAコントローラ11の構成例を図3の機能ブロック図に示す。図3に示すように、DMAコントローラ11は、コマンドバッファ30、転送制御部31、第1及び第2の転送エンジン32,33、データバッファ34、送信ポインタ35、及び受信ポインタ36を備えている。   The DMA controller 11 is a part that receives a data transfer command from the disk controller 13 and controls data transfer between the host computer 17 and the cache memory 12. A configuration example of such a DMA controller 11 is shown in a functional block diagram of FIG. As shown in FIG. 3, the DMA controller 11 includes a command buffer 30, a transfer control unit 31, first and second transfer engines 32 and 33, a data buffer 34, a transmission pointer 35, and a reception pointer 36.

コマンドバッファ30は、DMAコントローラ11が行うデータ転送の具体的な指示コマンド、パラメータを格納する。   The command buffer 30 stores specific instruction commands and parameters for data transfer performed by the DMA controller 11.

転送制御部31は、コマンドバッファ30に格納された具体的な指示を行うコマンドを元に、第1及び第2の転送エンジン32,33を制御してデータ転送を行い、その返答をディスク制御部13に返す。   The transfer control unit 31 controls the first and second transfer engines 32 and 33 to transfer data based on a command for performing a specific instruction stored in the command buffer 30, and sends a response to the disk control unit. Return to 13.

第1及び第2の転送エンジン32,33は、データバッファ34と、キャッシュメモリ12あるいはホスト計算機17のメモリ18へのデータ転送を司る。   The first and second transfer engines 32 and 33 manage data transfer to the data buffer 34 and the cache memory 12 or the memory 18 of the host computer 17.

データバッファ34は、不揮発性記憶媒体からなり、転送中のデータを保持する。データバッファの大きさは、ホスト計算機17とディスクコントローラ10のデータ転送の最小単位であるディスク15のセクタサイズ(通常は512バイト)より大きいサイズとする。   The data buffer 34 is composed of a nonvolatile storage medium and holds data being transferred. The size of the data buffer is larger than the sector size (usually 512 bytes) of the disk 15, which is the minimum unit of data transfer between the host computer 17 and the disk controller 10.

送信ポインタ35及び受信ポインタ36も同様に不揮発性記憶媒体上にあり、データバッファ34上のデータの送受信管理に用いる。   The transmission pointer 35 and the reception pointer 36 are also on the non-volatile storage medium and are used for data transmission / reception management on the data buffer 34.

コマンドバッファ30に格納するDMAコントローラ11のためのコマンドには、(1)ディスクコントローラ10のキャッシュメモリ12からホスト計算機17への転送、あるいはその逆方向への転送を行うデータ転送(送信又は受信)コマンドがある。このデータ転送コマンドには、パラメータとして、送信元、送信先のアドレスと、転送サイズがある。また、その他のコマンドとして、(2)データバッファ34のデータ再送コマンドがある。このコマンドは、データバッファ34に蓄積しているデータの再転送を行うためのコマンドである。   Commands for the DMA controller 11 stored in the command buffer 30 include (1) data transfer (transmission or reception) for transfer from the cache memory 12 of the disk controller 10 to the host computer 17 or in the opposite direction. There is a command. The data transfer command has parameters of a transmission source and a transmission destination and a transfer size as parameters. Other commands include (2) a data retransmission command for the data buffer 34. This command is a command for retransferring data stored in the data buffer 34.

次に、このようなコマンドを用いて行われる転送制御部31による処理の流れを図4のフローチャートを用いて示す。   Next, the flow of processing performed by the transfer control unit 31 using such a command will be described with reference to the flowchart of FIG.

コマンドバッファ30が、ディスク制御部13から送られたコマンドを転送制御部31を介して受信する(S41)。そして、このコマンドが、データ転送コマンドである場合(S42:Yes)であって、送信元がホスト計算機17のメモリ18であれば(S43:Yes)、ホスト計算機17からキャッシュメモリ12へのデータ転送処理が行われる(S44)。   The command buffer 30 receives the command sent from the disk control unit 13 via the transfer control unit 31 (S41). If this command is a data transfer command (S42: Yes) and the transmission source is the memory 18 of the host computer 17 (S43: Yes), data transfer from the host computer 17 to the cache memory 12 is performed. Processing is performed (S44).

一方、データ転送コマンドの送信元が、ホスト計算機17のメモリ18でなければ(S43:No)、キャッシュメモリ12のデータをホスト計算機17のメモリ18へ転送するデータ転送処理が行われる(S45)。   On the other hand, if the transmission source of the data transfer command is not the memory 18 of the host computer 17 (S43: No), a data transfer process for transferring the data in the cache memory 12 to the memory 18 of the host computer 17 is performed (S45).

更に、ステップS42において、データ転送コマンドではない場合(S42:No)には、データ再転送処理がなされる(S46)。   Furthermore, if it is not a data transfer command in step S42 (S42: No), a data retransfer process is performed (S46).

ステップS44乃至S46の処理の後、転送制御部31は、コマンド完了をディスク制御部13に返却する(S47)。   After the processing of steps S44 to S46, the transfer control unit 31 returns command completion to the disk control unit 13 (S47).

データバッファ34では、ホスト計算機17のメモリ18と、キャッシュメモリ12との間でなされるデータ転送処理において、送信ポインタ35と受信ポインタ36とを用いている。すなわち、データ転送処理においては、キャッシュメモリ12への送信を完了したデータの最後を示す送信ポインタ35と、ホスト計算機17からのデータの先頭を示す受信ポインタ36とを用いることによってデータバッファ34をリングバッファとして制御している。このような送信ポインタ35と受信ポインタ36との利用方法を図5を用いて説明する。   The data buffer 34 uses a transmission pointer 35 and a reception pointer 36 in data transfer processing performed between the memory 18 of the host computer 17 and the cache memory 12. That is, in the data transfer process, the data buffer 34 is ringed by using the transmission pointer 35 indicating the end of the data that has been transmitted to the cache memory 12 and the reception pointer 36 indicating the beginning of the data from the host computer 17. It is controlled as a buffer. A method of using the transmission pointer 35 and the reception pointer 36 will be described with reference to FIG.

図5(a)は、データバッファ34内のデータにおける送信ポインタ35と受信ポインタ36との初期位置を示している。データバッファ34がデータを受信すると、送信ポインタ35と受信ポインタ36との間に受信データが蓄積されることによって、受信ポインタ36が図5(b)に示すように図中右方向に進む。すなわち、受信ポインタ36は、ホスト計算機17から受信したデータの先頭を示し、送信ポインタ35は、キャッシュメモリ12への送信を完了したデータの最後を示している。   FIG. 5A shows the initial positions of the transmission pointer 35 and the reception pointer 36 in the data in the data buffer 34. When the data buffer 34 receives data, the received data is accumulated between the transmission pointer 35 and the reception pointer 36, so that the reception pointer 36 moves rightward in the figure as shown in FIG. 5B. That is, the reception pointer 36 indicates the beginning of data received from the host computer 17, and the transmission pointer 35 indicates the end of data that has been transmitted to the cache memory 12.

ステップS44で行われるホスト計算機17のメモリ18からのキャッシュメモリ12への転送処理(第1の転送エンジン32が行う)と、ステップS45で行われるキャッシュメモリ12からのメモリ18への転送処理(第2の転送エンジン33が行う)とは、転送効率の向上のために、並行して行われる。図6は、ステップS44における処理と、ステップS45における処理とを行う場合に、転送制御部31が第1の転送エンジン32及び第2の転送エンジン33に指示を送る処理の流れを示すフローチャートである。図6では、先ず、ステップS61において、第1の転送エンジン32に処理開始を指示し、ステップS62において、第2の転送エンジン33に処理開始を指示し、ステップS63において、第1の転送エンジン32及び第2の転送エンジン33の処理完了を待つように示しているが、ステップS61とステップS62との処理は同時に行われても、あるいは逆の順序で行われても良い。   Transfer processing from the memory 18 of the host computer 17 to the cache memory 12 performed in step S44 (performed by the first transfer engine 32), and transfer processing from the cache memory 12 to the memory 18 performed in step S45 (first step). 2) is performed in parallel to improve transfer efficiency. FIG. 6 is a flowchart showing a flow of processing in which the transfer control unit 31 sends instructions to the first transfer engine 32 and the second transfer engine 33 when performing the processing in step S44 and the processing in step S45. . In FIG. 6, first, in step S61, the first transfer engine 32 is instructed to start processing. In step S62, the second transfer engine 33 is instructed to start processing. In step S63, the first transfer engine 32 is instructed. Although the processing of the second transfer engine 33 is waited for to be completed, the processing in step S61 and step S62 may be performed simultaneously or in the reverse order.

図7は、ステップS61で行われる第1の転送エンジン32による処理の流れの詳細を示すフローチャートである。   FIG. 7 is a flowchart showing details of the flow of processing by the first transfer engine 32 performed in step S61.

第1の転送エンジン32は、コマンドバッファ30に格納されているコマンドの転送サイズ分のデータをホスト計算機17のメモリ18からデータバッファ34へ転送する。そして、このデータ転送が完了していれば(S71:Yes)、処理を終了する。   The first transfer engine 32 transfers data corresponding to the command transfer size stored in the command buffer 30 from the memory 18 of the host computer 17 to the data buffer 34. If this data transfer is completed (S71: Yes), the process is terminated.

完了していなければ(S71:No)、データバッファ34に空きがあるかどうかを確認する(S72)。データバッファ34は、図8に示すように、受信データで一杯になり、受信ポインタ36が送信ポインタ35と隣り合う状態になるまでデータを受信できるので、図8に示すように受信ポインタ36が送信ポインタ35と隣り合っていれば空きがなく(S72:No)、隣り合っていなければ空きがある(S72:Yes)と判定する。空きがなければ、ステップS72の処理を繰り返し、空きがあればステップS73の処理に進む。実際には、リングバッファのため、この条件判定だけでは十分でない場合があるが(境界の部分にまたがった場合)、その説明は割愛する。   If it has not been completed (S71: No), it is confirmed whether or not there is an empty space in the data buffer 34 (S72). As shown in FIG. 8, the data buffer 34 is filled with received data and can receive data until the reception pointer 36 is adjacent to the transmission pointer 35. Therefore, the reception pointer 36 transmits as shown in FIG. If it is adjacent to the pointer 35, there is no space (S72: No), and if it is not adjacent, it is determined that there is a space (S72: Yes). If there is no space, the process of step S72 is repeated, and if there is a space, the process proceeds to step S73. In practice, because of the ring buffer, this condition determination alone may not be sufficient (in the case of straddling the boundary), but the description thereof is omitted.

ステップS73では、ホスト計算機17のメモリ18からデータバッファ34へデータを転送する(S73)。この際、転送するデータ量は、データバッファ34の空き容量(送信ポインタ35と受信ポインタ36との差分から計算できる)か、転送すべきデータ量の残りかの小さい量とし、データの転送を実行する。転送を実行したら、受信ポインタ36を転送量の分だけ進める(S74)。   In step S73, data is transferred from the memory 18 of the host computer 17 to the data buffer 34 (S73). At this time, the amount of data to be transferred is set to a smaller amount of the free space of the data buffer 34 (which can be calculated from the difference between the transmission pointer 35 and the reception pointer 36) or the remaining amount of data to be transferred, and data transfer is executed. To do. When the transfer is executed, the reception pointer 36 is advanced by the transfer amount (S74).

また、図9は、ステップS62で行われる第2の転送エンジン33による処理の流れの詳細を示すフローチャートである。   FIG. 9 is a flowchart showing details of the flow of processing by the second transfer engine 33 performed in step S62.

すなわち、第2の転送エンジン33は、コマンドバッファ30に格納されているコマンドの転送サイズ分のデータをデータバッファ34からキャッシュメモリ12に転送する。そして、このデータ転送が完了していれば(S91:Yes)、処理を終了する。   That is, the second transfer engine 33 transfers data corresponding to the command transfer size stored in the command buffer 30 from the data buffer 34 to the cache memory 12. If this data transfer is completed (S91: Yes), the process is terminated.

完了していなければ(S91:No)、データバッファ34に512バイト以上データがあるかどうかを確認し(S92)、なければ、ステップS92の処理を繰り返し、あればステップS93の処理に進む。   If not completed (S91: No), it is confirmed whether or not there is data of 512 bytes or more in the data buffer 34 (S92). If not, the process in step S92 is repeated, and if there is, the process proceeds to step S93.

ステップS93では、データバッファ34からキャッシュメモリ12へデータを転送する(S93)。転送を実行したら、受信ポインタ36を転送量の分だけ進める(S94)。   In step S93, data is transferred from the data buffer 34 to the cache memory 12 (S93). When the transfer is executed, the reception pointer 36 is advanced by the transfer amount (S94).

このように、第2の転送エンジン33は、データバッファ34に512バイト分のデータが蓄積されたら、512バイト分のデータごとにキャッシュメモリ12へデータを転送する。このように転送することで、データ転送中のキャッシュメモリが512バイト分の領域のみであるように限定できる。また、データバッファ34に512バイトのデータが必ず蓄積されているので、停電等により処理を中断してしまった場合でも、次の実行時にデータバッファ34には転送中だったデータが512バイト分は必ず残されており、図10のフローチャートに示すように、データバッファ34に512バイト以上のデータが残っているか否かを判定する(S101)。これは、上述したように受信ポインタ36及び送信ポインタ35の値から判定する。そして、残っている場合(S101:Yes)には、512バイトの倍数分だけデータバッファ34からキャッシュメモリ12へデータを転送することにより再度転送する(S102)ことで、前回転送中だったデータをキャッシュメモリ12に完全に反映する。   As described above, when 512 bytes of data are accumulated in the data buffer 34, the second transfer engine 33 transfers the data to the cache memory 12 for every 512 bytes of data. By transferring in this way, the cache memory during data transfer can be limited to an area of 512 bytes. Also, since 512 bytes of data are always stored in the data buffer 34, even if the processing is interrupted due to a power failure or the like, 512 bytes of data being transferred to the data buffer 34 at the next execution will not be stored. As shown in the flowchart of FIG. 10, it is determined whether or not data of 512 bytes or more remains in the data buffer 34 (S101). This is determined from the values of the reception pointer 36 and the transmission pointer 35 as described above. If it remains (S101: Yes), data is transferred again from the data buffer 34 to the cache memory 12 by a multiple of 512 bytes (S102). This is completely reflected in the cache memory 12.

次にディスク制御部13の処理について図11に示すフローチャートを用いて説明する。   Next, the processing of the disk control unit 13 will be described using the flowchart shown in FIG.

ディスク制御部13は、ホスト計算機17のドライバ19からディスク15へのアクセスコマンドを処理する。図11は、ホスト計算機17のドライバ19からの処理の流れを示している。ホスト計算機17のドライバ19は、OSのモジュールとして動作し、ファイルシステムや、アプリケーションからディスク15へのアクセス要求を受信すると、ディスク制御部13に受け渡す(S111)。ディスク制御部13は、このアクセス要求を処理し(S112)、例えばホスト計算機17へ割り込むことによって応答を返す(S113)。その際、データのやりとりのために、ホスト計算機17上のメモリ18をバッファとして使用する。すると、ドライバ19の割り込み処理が動作し、ディスク15への要求処理を完了させる(S114)。   The disk control unit 13 processes an access command from the driver 19 of the host computer 17 to the disk 15. FIG. 11 shows the flow of processing from the driver 19 of the host computer 17. When the driver 19 of the host computer 17 operates as an OS module and receives an access request to the disk 15 from a file system or an application, it passes it to the disk controller 13 (S111). The disk control unit 13 processes this access request (S112), and returns a response by interrupting the host computer 17, for example (S113). At this time, the memory 18 on the host computer 17 is used as a buffer for data exchange. Then, the interrupt process of the driver 19 operates to complete the request process to the disk 15 (S114).

なお、ディスク15からのリード要求の場合には、ディスク15から読み出したデータは、最終的にホスト計算機17のメモリ18に読み込まれる。ディスク15へのライト要求の場合には、ホスト計算機17のメモリ18のデータがディスク15へ書き込まれることになる。   In the case of a read request from the disk 15, the data read from the disk 15 is finally read into the memory 18 of the host computer 17. In the case of a write request to the disk 15, data in the memory 18 of the host computer 17 is written to the disk 15.

次に、ディスク制御部13が要求を処理する流れを、図12のフローチャートを用いて示す。本発明では、ディスク15へのライト要求時の処理において、その効果があるため、図12は、ライト要求時の処理を示している。   Next, a flow in which the disk control unit 13 processes a request will be described with reference to the flowchart of FIG. Since the present invention is effective in the process at the time of a write request to the disk 15, FIG. 12 shows the process at the time of a write request.

ディスク制御部13が受信するライト要求は、実際は、対象となるディスク15と、そのオフセット、ライトデータのサイズ、ライトすべきデータが格納されているホスト計算機17のメモリアドレスからなる。そして、対象のディスク15とオフセット、そのサイズを元に、キャッシュメモリ12上に対応する領域を確保するための処理を行う。ここで確保したキャッシュメモリ12上に、ホスト計算機17のメモリ18からのデータを格納する。   The write request received by the disk control unit 13 is actually composed of the target disk 15 and its offset, the size of the write data, and the memory address of the host computer 17 in which the data to be written is stored. Then, based on the target disk 15, the offset, and its size, processing for securing a corresponding area on the cache memory 12 is performed. Data from the memory 18 of the host computer 17 is stored on the cache memory 12 secured here.

図12に示すフローチャートでは、ライトデータの全領域に対応するキャッシュメモリ12を確保するために、キャッシュメモリ12の割り当てと、ロックとを繰り返し実施している(S120)。キャッシュメモリ12の割り当ては、すでに該当するディスク15とオフセットに対応するエントリがキャッシュ管理テーブル14にあるかどうかを検索することで判定することができる。   In the flowchart shown in FIG. 12, in order to secure the cache memory 12 corresponding to the entire write data area, the allocation and locking of the cache memory 12 are repeatedly performed (S120). Allocation of the cache memory 12 can be determined by searching whether the cache management table 14 already has an entry corresponding to the disk 15 and the offset.

ライトデータの全てに対して、キャッシュメモリ12が割り当てられていない場合(S120:No)であり、キャッシュメモリ12がすでに割り当てられていて(S126:Yes)、ロックされている場合(S127:Yes)には、上書きができないため、ロックが解除されるまで、ロック待ちを行う。ロックされていない場合(S127:No)には、ロックを実施し(S128)、ステップS120に戻る。ロックの状態は、図2に示すキャッシュ管理テーブル14のロック状態14fの値にて管理する。   When the cache memory 12 is not assigned to all of the write data (S120: No), the cache memory 12 is already assigned (S126: Yes), and is locked (S127: Yes). Since it cannot be overwritten, it waits until the lock is released. If it is not locked (S127: No), locking is performed (S128), and the process returns to step S120. The lock state is managed by the value of the lock state 14f of the cache management table 14 shown in FIG.

キャッシュメモリ12が割り当てられていない場合(S126:No)には、キャッシュメモリ12の空きを探し、対応するエントリをキャッシュ管理テーブル14に作成し(S129)、ステップS128に進む。内容として、ディスク番号14b、使用・未使用(使用中)14d、オフセットをセットする。   When the cache memory 12 is not allocated (S126: No), the free space of the cache memory 12 is searched, a corresponding entry is created in the cache management table 14 (S129), and the process proceeds to step S128. As contents, disk number 14b, used / unused (in use) 14d, and offset are set.

このようにしてキャッシュメモリ12がすべて確保できたら(S120:Yes)、DMAコントローラ11にデータの転送を指示する(S121)。DMAコントローラ11は、図6に示すホスト計算機17とキャッシュメモリ12との間のデータ転送処理を開始する(S122)。   When all the cache memories 12 are secured in this way (S120: Yes), the DMA controller 11 is instructed to transfer data (S121). The DMA controller 11 starts data transfer processing between the host computer 17 and the cache memory 12 shown in FIG. 6 (S122).

データ転送が完了したら、キャッシュ管理テーブル14にて、対応するエントリに対し、ライトデータが存在することを記録し(S123)、ドライバ19に対して、要求の完了を返答し(S124)、各エントリのロックを解除し(S125)、処理を完了する。   When the data transfer is completed, it is recorded in the cache management table 14 that write data exists for the corresponding entry (S123), and the request 19 is returned to the driver 19 (S124). Is unlocked (S125), and the process is completed.

次に、キャッシュメモリ12からディスク15へのデータの書き出しについて説明する。   Next, data writing from the cache memory 12 to the disk 15 will be described.

図12に示すようなライトコマンドの処理では、ライトすべきデータはキャッシュメモリ12上にコピーされているが、ディスク15には実際に書き込まれていない。そこで、ディスク制御部13は、一定時間ごと、あるいは、キャッシュメモリ12の使用状態などに応じて、図13に示すようにして、キャッシュメモリ12上のデータをディスク15に書き込む処理を行う。   In the write command processing as shown in FIG. 12, the data to be written is copied onto the cache memory 12 but is not actually written on the disk 15. Therefore, the disk control unit 13 performs a process of writing the data on the cache memory 12 to the disk 15 as shown in FIG. 13 at regular time intervals or according to the usage state of the cache memory 12.

すなわち、キャッシュデータの書き出しを続ける場合(S131:No)、キャッシュメモリ12上に有効なデータが存在すれば(S132:No)、キャッシュデータを選択し(S133)、ロックし(S134)、ディスク15への書き込みを行い(S135)、ライトデータ無しに設定し(S136)、ロックを解除し(S137)、ステップS131の処理に戻る。   That is, when the cache data continues to be written (S131: No), if valid data exists in the cache memory 12 (S132: No), the cache data is selected (S133), locked (S134), and the disk 15 Is written (S135), no write data is set (S136), the lock is released (S137), and the process returns to step S131.

このように、キャッシュデータの書き出しの終了は、一定量、あるいは、キャッシュメモリ12上のライトデータの比率などにより、書き出しを終了するかどうか、などにより、決定する。書き出しを行う場合には、キャッシュ管理テーブル14を検索して、ライトデータを保持するエントリを選ぶ。エントリは、LRUなどの方法を用いて選択する。選択したキャッシュメモリ12のデータは、キャッシュ管理テーブル14を用いてロックされ、ディスク15に書き込まれる。   As described above, the end of the writing of the cache data is determined depending on whether or not to end the writing based on a certain amount or the ratio of the write data on the cache memory 12. When writing, the cache management table 14 is searched to select an entry that holds write data. The entry is selected using a method such as LRU. The selected data in the cache memory 12 is locked using the cache management table 14 and written to the disk 15.

次に、停電などの不意の停止からの再起動において、キャッシュメモリ12のデータをディスク15に書き戻す復旧方法について、図14に示すフローチャートを用いて説明する。   Next, a recovery method for writing back the data in the cache memory 12 to the disk 15 upon restart from an unexpected stop such as a power failure will be described using the flowchart shown in FIG.

図14のフローチャートに示す処理が、通常のキャッシュデータの書き戻しと異なるのは、ステップS142にてなされるDMAコントローラ11に再転送を指示する処理である。これにより、DMAコントローラ11内に保持している転送中のデータをディスク15のセクタ単位でキャッシュメモリ12に再転送する。この処理により、キャッシュメモリ12上で転送途中でデータが途切れた状態となっているキャッシュデータが、ディスク15のセクタ単位で正しくなり、停電等による不意の停止にともなう、キャッシュデータの内容の不整合を回避する。   The processing shown in the flowchart of FIG. 14 differs from normal cache data write-back in that the DMA controller 11 is instructed to perform retransfer in step S142. As a result, the data being transferred held in the DMA controller 11 is retransferred to the cache memory 12 in units of sectors on the disk 15. As a result of this processing, the cache data in which the data is interrupted in the middle of the transfer on the cache memory 12 becomes correct in units of sectors of the disk 15, and the contents of the cache data are inconsistent due to an unexpected stop due to a power failure or the like. To avoid.

上述したように、本実施の形態に係るディスクコントローラ10においては、上記のような作用により、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、キャッシュメモリ12上で転送途中でデータが途切れた状態となっているキャッシュデータが、ディスク15のセクタ単位で正しくなり、キャッシュデータの内容の不整合を回避することが可能となる。   As described above, in the disk controller 10 according to the present embodiment, even if a power failure occurs when the write data is further transferred to the cache memory 12 having valid write data due to the above-described operation, The cache data in which the data is interrupted in the middle of the transfer on the cache memory 12 becomes correct in units of sectors on the disk 15, and it is possible to avoid inconsistencies in the contents of the cache data.

(第2の実施の形態)
図15は、第2の実施の形態に係るディスクコントローラ150の構成例を含む機能ブロック図である。
(Second Embodiment)
FIG. 15 is a functional block diagram including a configuration example of the disk controller 150 according to the second embodiment.

本実施の形態に係るディスクコントローラ150は、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。   The disk controller 150 according to the present embodiment is a modification of the disk controller 10 according to the first embodiment. Therefore, the same parts are denoted by the same reference numerals to avoid overlapping explanations, and different points will be described.

第1の実施の形態に係るディスクコントローラ10は、ホスト計算機17に内蔵されていたが、本実施の形態に係るディスクコントローラ150は、ディスク装置16に内蔵されている。   The disk controller 10 according to the first embodiment is built in the host computer 17, but the disk controller 150 according to the present embodiment is built in the disk device 16.

ホスト計算機17ではなくディスク装置16に内蔵されていることの他に第1の実施の形態と異なる点は、ホスト計算機17と通信するためのインタフェースとしてSCSI(登録商標)コントローラ151を付加した点である。   In addition to being built in the disk device 16 instead of the host computer 17, the difference from the first embodiment is that a SCSI (registered trademark) controller 151 is added as an interface for communicating with the host computer 17. is there.

同様に、ホスト計算機17にも、ディスクコントローラ10と通信するためのインタフェースであるSCSI(登録商標)コントローラ152を付加している。   Similarly, a SCSI (registered trademark) controller 152 which is an interface for communicating with the disk controller 10 is also added to the host computer 17.

そして、SCSIコントローラ151と、SCSIコントローラ152とを接続することによって、ホスト計算機17とディスク装置16との通信を可能としている。   By connecting the SCSI controller 151 and the SCSI controller 152, the host computer 17 and the disk device 16 can communicate with each other.

第1の実施の形態では、図1に示すように、DMAコントローラ11とメモリ18とでデータの授受を直接行っていたが、本実施の形態では、DMAコントローラ11とメモリ18との間のデータ授受の際には、SCSIコントローラ151,152を介して行う。この点を除けば、ディスクコントローラ150内のその他の部位であるDMAコントローラ11、キャッシュメモリ12、ディスク制御部13、及びキャッシュ管理テーブル14は、第1の実施の形態で説明したものと同じ機能を有する。   In the first embodiment, as shown in FIG. 1, data is directly exchanged between the DMA controller 11 and the memory 18, but in this embodiment, data between the DMA controller 11 and the memory 18 is transferred. The exchange is performed via the SCSI controllers 151 and 152. Except for this point, the DMA controller 11, cache memory 12, disk control unit 13, and cache management table 14, which are other parts in the disk controller 150, have the same functions as those described in the first embodiment. Have.

なお、ディスク装置16とホスト計算機17とのインタフェースは、SCSIコントローラに限定される訳ではなく、FC(FiberChannel)や、その他のインタフェースであっても、同様の実装を取ることができる。   The interface between the disk device 16 and the host computer 17 is not limited to the SCSI controller, and FC (FiberChannel) or other interfaces can be similarly implemented.

また、SCSIコントローラ151とDMAコントローラ11とが一体となった実装を取り、SCSIコントローラ151が、第1の実施の形態におけるDMAコントローラ11の機能をも備えるようにしても良い。   Further, the SCSI controller 151 and the DMA controller 11 may be integrated and the SCSI controller 151 may have the function of the DMA controller 11 in the first embodiment.

上述したように、本実施の形態に係るディスクコントローラ150においては、上記のような作用により、ホスト計算機17ではなく、ディスク装置16に内蔵されている場合であっても、第1の実施の形態のディスクコントローラ10と同様に、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスク15に書き込むことが可能である。   As described above, in the disk controller 150 according to the present embodiment, due to the above-described operation, even if the disk controller 150 is built in the disk device 16 instead of the host computer 17, the first embodiment. As in the case of the disk controller 10, even if a power failure occurs when the write data is further transferred to the cache memory 12 in which valid write data exists, the write data can be correctly written to the disk 15.

(第3の実施の形態)
図16は、第3の実施の形態に係るディスクコントローラ160の構成例を含む機能ブロック図である。
(Third embodiment)
FIG. 16 is a functional block diagram including a configuration example of the disk controller 160 according to the third embodiment.

本実施の形態に係るディスクコントローラ160もまた、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。   The disk controller 160 according to the present embodiment is also a modification of the disk controller 10 according to the first embodiment. Therefore, the same parts are denoted by the same reference numerals to avoid overlapping explanations, and different points will be described.

すなわち、本実施の形態に係るディスクコントローラ160は、図1に示す第1の実施の形態に係るディスクコントローラ10におけるDMAコントローラ11の代わりに、データ転送部161を備えた点のみが異なる。   That is, the disk controller 160 according to the present embodiment is different only in that a data transfer unit 161 is provided instead of the DMA controller 11 in the disk controller 10 according to the first embodiment shown in FIG.

データ転送部161は、データ転送のみを行い、DMAコントローラ11とは異なり、データバッファ34、送信ポインタ35、受信ポインタ36のような不揮発性記憶媒体を備えていない。また、コマンドバッファ30や転送制御部31をも備えていない。   Unlike the DMA controller 11, the data transfer unit 161 performs only data transfer and does not include a nonvolatile storage medium such as the data buffer 34, the transmission pointer 35, and the reception pointer 36. Further, neither the command buffer 30 nor the transfer control unit 31 is provided.

このような構成の本実施の形態に係るディスクコントローラ160は、データ転送時におけるキャッシュメモリ12の管理方式が第1の実施の形態と異なる。   The disk controller 160 according to the present embodiment having such a configuration differs from the first embodiment in the management method of the cache memory 12 during data transfer.

すなわち、本実施の形態に係るディスクコントローラ160では、すでにライトデータを保持するキャッシュメモリ12への再度のライトデータの転送の場合には、キャッシュメモリ12上に仮領域を確保し、データ転送を行う。そして、データ転送が完了したら、仮の領域を本来のキャッシュデータとし、それまでのキャッシュ領域を解放する。こうすることで、キャッシュメモリ12上のライトデータへのデータ転送による上書きの状態を回避することができ、データ転送の中断によるデータの不整合が発生しないようにしている。   In other words, in the disk controller 160 according to the present embodiment, when the write data is transferred again to the cache memory 12 that already holds the write data, a temporary area is secured on the cache memory 12 and the data is transferred. . When the data transfer is completed, the temporary area is set as the original cache data, and the cache area up to that point is released. By doing so, it is possible to avoid an overwriting state due to data transfer to write data on the cache memory 12, and to prevent data inconsistency due to interruption of data transfer.

このような構成の本実施の形態に係るディスクコントローラ160によるライト要求処理時のキャッシュ管理の方法を図17に示すフローチャートを用いて説明する。   A cache management method at the time of write request processing by the disk controller 160 according to the present embodiment having such a configuration will be described with reference to the flowchart shown in FIG.

図17に示すフローチャートは、図12に示すフローチャートと同じ処理を行うステップについては、同一のステップ番号を付している。したがって、ここでは、ステップS170乃至ステップS172について説明する。   In the flowchart shown in FIG. 17, steps that perform the same processing as the flowchart shown in FIG. 12 are given the same step numbers. Therefore, step S170 thru | or step S172 are demonstrated here.

ステップS170では、すでにキャッシュメモリ12上にライトデータがある場合、上書きを避けるために、キャッシュメモリ12上に仮領域を確保する。   In step S170, if there is already write data on the cache memory 12, a temporary area is secured on the cache memory 12 to avoid overwriting.

ステップS171では、データ転送部161に対して、ホスト計算機17のメモリ18から、ステップS170で確保した仮領域を、データ転送先として指定する。   In step S171, the temporary area secured in step S170 is designated as the data transfer destination from the memory 18 of the host computer 17 to the data transfer unit 161.

ステップS172では、仮領域をキャッシュ領域とし、これまでデータを保持していたキャッシュ領域を解放する。   In step S172, the temporary area is set as a cache area, and the cache area that has been holding data is released.

上述したように、本実施の形態に係るディスクコントローラ160においては、上記のような作用により、データバッファ34、送信ポインタ35、受信ポインタ36のような不揮発性記憶領域を持つDMAコントローラ11を備えていない場合であっても、データ転送機能を備えたデータ転送部161を用いるとともに、キャッシュメモリ12上に仮のキャッシュ領域を確保することによって、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスク15に書き込むことが可能となる。   As described above, the disk controller 160 according to the present embodiment includes the DMA controller 11 having nonvolatile storage areas such as the data buffer 34, the transmission pointer 35, and the reception pointer 36 due to the above-described operation. Even if there is no data, the data transfer unit 161 having a data transfer function is used, and a temporary cache area is secured on the cache memory 12 to further write data to the cache memory 12 where valid write data exists. Even if a power failure occurs when transferring the write data, the write data can be correctly written to the disk 15.

(第4の実施の形態)
図18は、第4の実施の形態に係るディスクコントローラ180の構成例を含む機能ブロック図である。
(Fourth embodiment)
FIG. 18 is a functional block diagram including a configuration example of the disk controller 180 according to the fourth embodiment.

本実施の形態に係るディスクコントローラ180は、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。   The disk controller 180 according to the present embodiment is a modification of the disk controller 10 according to the first embodiment. Therefore, the same parts are denoted by the same reference numerals to avoid overlapping explanations, and different points will be described.

すなわち、本実施の形態に係るディスクコントローラ180は、第1の実施の形態に係るディスクコントローラ10におけるDMAコントローラ11とキャッシュメモリ12との間に暗号化装置181を付加した構成としている。   That is, the disk controller 180 according to the present embodiment has a configuration in which the encryption device 181 is added between the DMA controller 11 and the cache memory 12 in the disk controller 10 according to the first embodiment.

暗号化装置181は、ホスト計算機17のメモリ18のデータをDMAコントローラ11から渡され、そのデータを暗号化して、キャッシュメモリ12へ格納する。逆に、キャッシュメモリ12からDMAコントローラ11経由でホスト計算機17のメモリ18へデータを格納する際には、そのデータを復号化してDMAコントローラ11に渡す。なお、暗号化装置181が実施する暗号のアルゴリズムは、AESやDESなどのブロック暗号を想定しているが、これらは一例であって、限定されるものではない。   The encryption device 181 receives the data in the memory 18 of the host computer 17 from the DMA controller 11, encrypts the data, and stores it in the cache memory 12. On the contrary, when data is stored from the cache memory 12 to the memory 18 of the host computer 17 via the DMA controller 11, the data is decrypted and passed to the DMA controller 11. The encryption algorithm executed by the encryption device 181 is assumed to be a block cipher such as AES or DES, but these are examples and are not limited.

このような実装では、ホスト計算機17からのデータは、キャッシュメモリ12上ではすべて暗号化されていることになる。従って、ホスト計算機17からのデータは、全て暗号化された後にディスク15に保存される。   In such an implementation, all data from the host computer 17 is encrypted on the cache memory 12. Accordingly, all data from the host computer 17 is encrypted and stored in the disk 15.

この場合、停電等により転送が中断した場合、既に[背景技術]において説明したように、最初にホスト計算機17から転送されたデータと、DMA転送中だったデータの暗号化したデータが、キャッシュメモリ12上に入り混じる状態が発生する。図21では、一例として、キャッシュメモリ191に、値が1又は2のみのデータが記憶された状態を示しているが、それに代わって、値が暗号化されたデータが記憶されていることになる。   In this case, when the transfer is interrupted due to a power failure or the like, as already described in [Background Art], the data first transferred from the host computer 17 and the encrypted data of the data being DMA-transferred are stored in the cache memory. 12 is mixed up. In FIG. 21, as an example, the cache memory 191 shows a state in which data having only a value of 1 or 2 is stored. Instead, data in which the value is encrypted is stored. .

仮にこのような状態から、再度動作を開始し、このキャッシュメモリ12の内容をディスク15に書き込んでしまうと、このディスク15の内容をホスト計算機17からリードした場合、旧データと新データの暗号文が入り混じったデータをディスク15からキャッシュメモリ12へ読み出し、そのデータを復号することになる。そして、その後のリードアクセスでは、旧データでも新データでもないデータを読み出す事態が発生する。   If the operation is started again from this state and the contents of the cache memory 12 are written to the disk 15, the contents of the disk 15 are read from the host computer 17, and the ciphertext of the old data and the new data is read. Is read from the disk 15 to the cache memory 12, and the data is decoded. In the subsequent read access, data that is neither old data nor new data is read out.

このように暗号文が混合してしまった場合には、正しく復号を行うことができず、旧データでも新データでもないデータを復号してしまい、ホスト計算機17に返却する可能性がある。   When ciphertexts are mixed in this way, decryption cannot be performed correctly, and data that is neither old data nor new data may be decrypted and returned to the host computer 17.

本実施の形態においては、暗号化の処理以外の部分に対して、第1の実施の形態と同様の処理を行うことで、キャッシュメモリ12上に転送中だったデータの暗号文を完全に転送するので、暗号文が入り混じる状態を回避する。   In this embodiment, by performing the same processing as in the first embodiment for the portions other than the encryption processing, the ciphertext of the data being transferred to the cache memory 12 is completely transferred. Therefore, avoid the situation where ciphertext is mixed.

上述したように、本実施の形態に係るディスクコントローラ180においては、上記のような作用により、データの暗号化を伴う場合であっても、暗号化の処理以外の部分に対して、第1の実施の形態と同様の処理を行うことで、キャッシュメモリ12上に転送中だったデータの暗号文を完全に転送することができる。   As described above, in the disk controller 180 according to the present embodiment, due to the above-described operation, even if data encryption is involved, the first part is not applied to the part other than the encryption process. By performing the same processing as in the embodiment, the ciphertext of the data being transferred to the cache memory 12 can be completely transferred.

その結果、暗号文が入り混じる状態が回避され、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスク15に書き込むことが可能となる。   As a result, a mixed state of ciphertexts is avoided, and even if a power failure occurs when the write data is further transferred to the cache memory 12 where valid write data exists, the write data can be correctly written to the disk 15. It becomes.

以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。   The best mode for carrying out the present invention has been described above with reference to the accompanying drawings, but the present invention is not limited to such a configuration. Within the scope of the invented technical idea of the scope of claims, a person skilled in the art can conceive of various changes and modifications. The technical scope of the present invention is also applicable to these changes and modifications. It is understood that it belongs to.

第1の実施の形態に係るディスクコントローラの構成例を示す機能ブロック図。1 is a functional block diagram showing a configuration example of a disk controller according to a first embodiment. キャッシュ管理テーブルの一例を示すデータ構成図。The data block diagram which shows an example of a cache management table. DMAコントローラの構成例を示す機能ブロック図。The functional block diagram which shows the structural example of a DMA controller. 転送制御部による転送処理の流れを示すフローチャート。The flowchart which shows the flow of the transfer process by a transfer control part. 送信ポインタと受信ポインタとによってリングバッファとして用いられるデータバッファを示す図。The figure which shows the data buffer used as a ring buffer by the transmission pointer and the reception pointer. 転送制御部が第1及び第2の転送エンジンに指示を送る処理の流れを示すフローチャート。The flowchart which shows the flow of the process in which a transfer control part sends an instruction | indication to the 1st and 2nd transfer engine. ステップS61で行われる第1の転送エンジンによる処理の流れの詳細を示すフローチャート。The flowchart which shows the detail of the flow of a process by the 1st transfer engine performed by step S61. 受信データで一杯になった状態のデータバッファを示す図。The figure which shows the data buffer of the state filled with reception data. ステップS62で行われる第2の転送エンジンによる処理の流れの詳細を示すフローチャート。The flowchart which shows the detail of the flow of a process by the 2nd transfer engine performed by step S62. データ転送処理を再開する場合における処理の流れを示すフローチャート。The flowchart which shows the flow of a process in the case of restarting a data transfer process. ディスク制御部の処理の流れを示すフローチャート。The flowchart which shows the flow of a process of a disk control part. ディスク制御部が要求する処理の流れを示すフローチャート。The flowchart which shows the flow of the process which a disk control part requires. ディスク制御部がキャッシュメモリ上のデータをディスクに書き込む処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing in which the disk control unit writes data on the cache memory to the disk. 再起動時にキャッシュメモリのデータをディスクに書き戻す復旧処理の流れを示すフローチャート。The flowchart which shows the flow of the restoration process which writes the data of cache memory in a disk at the time of restart. 第2の実施の形態に係るディスクコントローラの構成例を含む機能ブロック図。FIG. 6 is a functional block diagram including a configuration example of a disk controller according to a second embodiment. 第3の実施の形態に係るディスクコントローラの構成例を含む機能ブロック図。FIG. 9 is a functional block diagram including a configuration example of a disk controller according to a third embodiment. 第3の実施の形態に係るディスクコントローラによるライト要求処理時のキャッシュ管理の処理の流れを示すフローチャート。15 is a flowchart showing a flow of cache management processing at the time of a write request processing by a disk controller according to a third embodiment. 第4の実施の形態に係るディスクコントローラの構成例を含む機能ブロック図。FIG. 10 is a functional block diagram including a configuration example of a disk controller according to a fourth embodiment. キャッシュメモリが、ライトデータをホスト計算機から取得し、ディスクに書き込む前に一旦保持している状態を示す図。The figure which shows the state in which the cache memory acquires write data from the host computer and temporarily holds it before writing it to the disk. ホスト計算機からの新たなライトデータが転送されている途中におけるキャッシュメモリの状態を示す図。The figure which shows the state of the cache memory in the middle of the transfer of the new write data from a host computer. ホスト計算機からのライトデータの転送途中に停電が発生した場合、復電後にディスクに書き込まれるデータの状態を示す図。The figure which shows the state of the data written in a disk after a power failure when a power failure occurs in the middle of transfer of the write data from a host computer.

符号の説明Explanation of symbols

10…ディスクコントローラ,11…DMAコントローラ,12…キャッシュメモリ,13…ディスク制御部,14…キャッシュ管理テーブル,15…ディスク,16…ディスク装置,17…ホスト計算機,18…メモリ,19…ドライバ,30…コマンドバッファ,31…転送制御部,32…第1の転送エンジン,33…第2の転送エンジン,34…データバッファ,35…送信ポインタ,36…受信ポインタ,150…ディスクコントローラ,151,152…SCSIコントローラ,160…ディスクコントローラ,161…データ転送部,180…ディスクコントローラ,181…暗号化装置,190…ディスク装置,191…キャッシュメモリ,192…ディスク,200…ホスト計算機   DESCRIPTION OF SYMBOLS 10 ... Disk controller, 11 ... DMA controller, 12 ... Cache memory, 13 ... Disk control part, 14 ... Cache management table, 15 ... Disk, 16 ... Disk apparatus, 17 ... Host computer, 18 ... Memory, 19 ... Driver, 30 ... Command buffer, 31 ... Transfer controller, 32 ... First transfer engine, 33 ... Second transfer engine, 34 ... Data buffer, 35 ... Send pointer, 36 ... Receive pointer, 150 ... Disk controller, 151, 152 ... SCSI controller, 160 ... disk controller, 161 ... data transfer unit, 180 ... disk controller, 181 ... encryption device, 190 ... disk device, 191 ... cache memory, 192 ... disk, 200 ... host computer

Claims (6)

ホスト計算機からのデータの、ディスクへの書き込みを制御するディスクコントローラであって、
前記ディスクへ書き込まれる前記ホスト計算機からのデータを記憶する不揮発性キャッシュメモリと、
前記ホスト計算機からの所定量のデータを記憶する不揮発性記憶領域と、
前記ホスト計算機から所定量のデータを取得し、取得した所定量のデータを前記不揮発性記憶領域に書き込み、しかる後に、前記不揮発性記憶領域に書き込まれた所定量のデータを前記不揮発性キャッシュメモリに転送し、転送後に、前記ホスト計算機から所定量の次のデータを取得し、前記不揮発性記憶領域に、この取得したデータを書き込むデータ転送手段とを備え、
前記データ転送手段は、停電によりデータ転送が中断した場合には、前記不揮発性記憶領域に書き込まれている所定量のデータを、復電時に、前記不揮発性キャッシュメモリに再度転送するようにした
ディスクコントローラ。
A disk controller that controls the writing of data from the host computer to the disk.
A non-volatile cache memory for storing data from the host computer to be written to the disk;
A non-volatile storage area for storing a predetermined amount of data from the host computer;
A predetermined amount of data is acquired from the host computer, the acquired predetermined amount of data is written to the nonvolatile storage area, and then the predetermined amount of data written to the nonvolatile storage area is stored in the nonvolatile cache memory. A data transfer means for acquiring a predetermined amount of next data from the host computer after the transfer and writing the acquired data in the nonvolatile storage area;
The data transfer means is a disk configured to transfer a predetermined amount of data written in the non-volatile storage area to the non-volatile cache memory again upon power recovery when the data transfer is interrupted due to a power failure. controller.
前記不揮発性記憶領域を、前記不揮発性キャッシュメモリ又は前記データ転送手段に備えた請求項1に記載のディスクコントローラ。   The disk controller according to claim 1, wherein the nonvolatile storage area is provided in the nonvolatile cache memory or the data transfer unit. ホスト計算機からのデータの、ディスクへの書き込みを制御するディスクコントローラであって、
前記ホスト計算機からのデータを、前記ディスクへ書き込まれるキャッシュデータとして記憶することが可能な2つの記憶領域を備えた不揮発性キャッシュメモリと、
前記ホスト計算機からデータを取得し、取得したデータを前記不揮発性キャッシュメモリに転送するデータ転送手段とを備え、
前記不揮発性キャッシュメモリは、前記データ転送手段からデータが転送されてきた場合には、前記2つの記憶領域のうちの何れか一方の記憶領域に前記キャッシュデータとして記憶し、前記2つの記憶領域のうちの何れか一方の記憶領域にキャッシュデータを記憶している状態で前記データ転送手段からデータが転送されてきた場合には、前記転送されたデータを前記2つの記憶領域のうちの他方の記憶領域に記憶し、この転送が完了した後に、前記他方の記憶領域に記憶されているデータを新たなキャッシュデータとするとともに、前記一方の記憶領域へデータを記憶できるようにした
ディスクコントローラ。
A disk controller that controls the writing of data from the host computer to the disk.
A non-volatile cache memory having two storage areas capable of storing data from the host computer as cache data written to the disk;
Data transfer means for acquiring data from the host computer and transferring the acquired data to the nonvolatile cache memory;
When the data is transferred from the data transfer means, the non-volatile cache memory stores the cache data in one of the two storage areas as the cache data, and stores the data in the two storage areas. When data is transferred from the data transfer means in a state where cache data is stored in any one of the storage areas, the transferred data is stored in the other storage area of the two storage areas. A disk controller that stores data in an area and, after the transfer is completed, uses the data stored in the other storage area as new cache data and stores the data in the one storage area.
ディスクを備え、ホスト計算機からのデータを、前記ディスクへ書き込むディスク装置であって、
前記ディスクへ書き込まれる前記ホスト計算機からのデータを記憶する不揮発性キャッシュメモリと、
前記ホスト計算機からの所定量のデータを記憶する不揮発性記憶領域と、
前記ホスト計算機から所定量のデータを取得し、取得した所定量のデータを前記不揮発性記憶領域に書き込み、しかる後に、前記不揮発性記憶領域に書き込まれた所定量のデータを前記不揮発性キャッシュメモリに転送し、転送後に、前記ホスト計算機から所定量の次のデータを取得し、前記不揮発性記憶領域に、この取得したデータを書き込むデータ転送手段とを備え、
前記データ転送手段は、停電によりデータ転送が中断した場合には、前記不揮発性記憶領域に書き込まれている所定量のデータを、復電時に、前記不揮発性キャッシュメモリに再度転送するようにした
ディスク装置。
A disk device comprising a disk and writing data from a host computer to the disk,
A non-volatile cache memory for storing data from the host computer to be written to the disk;
A non-volatile storage area for storing a predetermined amount of data from the host computer;
A predetermined amount of data is acquired from the host computer, the acquired predetermined amount of data is written to the nonvolatile storage area, and then the predetermined amount of data written to the nonvolatile storage area is stored in the nonvolatile cache memory. A data transfer means for acquiring a predetermined amount of next data from the host computer after the transfer and writing the acquired data in the nonvolatile storage area;
The data transfer means is a disk configured to transfer a predetermined amount of data written in the non-volatile storage area to the non-volatile cache memory again upon power recovery when the data transfer is interrupted due to a power failure. apparatus.
前記不揮発性記憶領域を、前記不揮発性キャッシュメモリ又は前記データ転送手段に備えた請求項4に記載のディスク装置。   The disk device according to claim 4, wherein the nonvolatile storage area is provided in the nonvolatile cache memory or the data transfer unit. ディスクを備え、ホスト計算機からのデータを、前記ディスクへ書き込むディスク装置であって、
前記ホスト計算機からのデータを、前記ディスクへ書き込まれるキャッシュデータとして記憶することが可能な2つの記憶領域を備えた不揮発性キャッシュメモリと、
前記ホスト計算機からデータを取得し、取得したデータを前記不揮発性キャッシュメモリに転送するデータ転送手段とを備え、
前記不揮発性キャッシュメモリは、前記データ転送手段からデータが転送されてきた場合には、前記2つの記憶領域のうちの何れか一方の記憶領域に前記キャッシュデータとして記憶し、前記2つの記憶領域のうちの何れか一方の記憶領域にキャッシュデータを記憶している状態で前記データ転送手段からデータが転送されてきた場合には、前記転送されたデータを前記2つの記憶領域のうちの他方の記憶領域に記憶し、この転送が完了した跡に、前記他方の記憶領域に記憶されているデータを新たなキャッシュデータとするとともに、前記一方の記憶領域へデータを記憶できるようにした
ディスク装置。
A disk device comprising a disk and writing data from a host computer to the disk,
A non-volatile cache memory having two storage areas capable of storing data from the host computer as cache data written to the disk;
Data transfer means for acquiring data from the host computer and transferring the acquired data to the nonvolatile cache memory;
When the data is transferred from the data transfer means, the non-volatile cache memory stores the cache data in one of the two storage areas as the cache data, and stores the data in the two storage areas. When data is transferred from the data transfer means in a state where cache data is stored in any one of the storage areas, the transferred data is stored in the other storage area of the two storage areas. A disk device that stores data in an area, makes the data stored in the other storage area new cache data at the completion of the transfer, and stores the data in the one storage area.
JP2006188295A 2006-07-07 2006-07-07 Disk drive and disk controller Pending JP2008015918A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006188295A JP2008015918A (en) 2006-07-07 2006-07-07 Disk drive and disk controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006188295A JP2008015918A (en) 2006-07-07 2006-07-07 Disk drive and disk controller

Publications (1)

Publication Number Publication Date
JP2008015918A true JP2008015918A (en) 2008-01-24

Family

ID=39072847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006188295A Pending JP2008015918A (en) 2006-07-07 2006-07-07 Disk drive and disk controller

Country Status (1)

Country Link
JP (1) JP2008015918A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193285A (en) * 2008-02-14 2009-08-27 Nec Corp Disc control apparatus
JP2010211420A (en) * 2009-03-09 2010-09-24 Fujitsu Ltd Storage management device, storage management method, and storage system
JP2013510627A (en) * 2009-11-11 2013-03-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Medicine delivery apparatus and method
WO2015173889A1 (en) * 2014-05-13 2015-11-19 株式会社日立製作所 Storage device
JP2016139354A (en) * 2015-01-29 2016-08-04 株式会社メガチップス Information processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193285A (en) * 2008-02-14 2009-08-27 Nec Corp Disc control apparatus
JP2010211420A (en) * 2009-03-09 2010-09-24 Fujitsu Ltd Storage management device, storage management method, and storage system
JP4719802B2 (en) * 2009-03-09 2011-07-06 富士通株式会社 Storage management device, storage management method and storage system
US8266475B2 (en) 2009-03-09 2012-09-11 Fujitsu Limited Storage management device, storage management method, and storage system
JP2013510627A (en) * 2009-11-11 2013-03-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Medicine delivery apparatus and method
WO2015173889A1 (en) * 2014-05-13 2015-11-19 株式会社日立製作所 Storage device
JP2016139354A (en) * 2015-01-29 2016-08-04 株式会社メガチップス Information processing system

Similar Documents

Publication Publication Date Title
US8140864B2 (en) Computer system, storage system, and data management method for updating encryption key
JP4877962B2 (en) Storage subsystem with encryption function
US8458381B2 (en) Processing host transfer requests for direct block access storage devices
US8301909B2 (en) System and method for managing external storage devices
KR101562973B1 (en) Memory apparatus and method for operating thereof
JP5409159B2 (en) Information processing apparatus, information processing apparatus control method, and program
US8713328B2 (en) Code conversion apparatus, code conversion method, and computer product
WO2013159582A1 (en) Preserving redundancy in data deduplication systems by encryption
US20100122017A1 (en) Memory controller, non-volatile memory system, and host device
JP2008015768A (en) Storage system and data management method using the same
WO2006107095A1 (en) Computer system, memory management method, and program thereof
KR101454146B1 (en) Storage device, controller, and recording medium
US20110188651A1 (en) Key rotation for encrypted storage media using a mirrored volume revive operation
KR20120069516A (en) Power isolation for memory backup
US9223695B2 (en) Information processing apparatus
JP2008015918A (en) Disk drive and disk controller
TW201915754A (en) Data storage device and operating method thereof
JP2014010498A5 (en)
JP2010238009A (en) Storage control device, storage system, and copying method
KR20120069518A (en) Data manipulation of power fail
KR20120069517A (en) Data manipulation during memory backup
US20080080706A1 (en) Code conversion apparatus, code conversion method, and computer product
US20130138851A1 (en) Method and apparatus for expander-based data duplication
JP4936088B2 (en) Disk array device, disk array system, and cache control method
JP5279626B2 (en) Storage device control program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090915