JP2008015918A - Disk drive and disk controller - Google Patents
Disk drive and disk controller Download PDFInfo
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
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
通常は、この後、一定時間経過、あるいは、キャッシュメモリ191の不足等のイベントにより、ライトデータは、ディスク192へ書き込まれる。ディスク192への書き込みが実施されるまでの間に、万が一、停電が発生した場合には、キャッシュメモリ191のデータは、バッテリ等によりバックアップされて保持される。
Normally, after this, write data is written to the
そして、再び電力が供給されるようになると、ディスク装置190は起動処理を行う際に、キャッシュメモリ191にディスク192へ書き込んでいないデータがあることを認識し、ライトデータをディスク192へ書き込むことで、停電によるデータの消失が防止されている。
When power is supplied again, the
一方、図19に示す状態において、ホスト計算機200が、さらに同一のディスク位置60へ別のライトコマンドを実行すると、図20に示すように、ホスト計算機200からの新たなライトデータ(図20に示す例では、すべて値は2)が、DMA(ダイレクトメモリアクセス)により、キャッシュメモリ191へ転送される。図21は、この転送途中の様子を示している。
On the other hand, when the
図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
一般に、遅延書き込み用のキャッシュメモリを持たないディスク装置では、停電に対し、最小単位である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
(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バイト)が読み出せなくなる。
しかしながら、このような従来のディスク装置では、以下のような問題がある。 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
これら問題の解決に関連する技術としては、例えば特許文献1があるが、これは、停電による電圧低下が起こった時点で、DMA中のデータを不揮発性メモリに退避させるものであり、上記課題を解決するものではない。また、特許文献2には、DMA転送を行う前にキャッシュメモリの内容をディスク装置に書き戻す方式が開示されているが、この方式では、DMA転送を即時に行うことができない。
As a technique related to the solution of these problems, for example, there is
本発明はこのような事情に鑑みてなされたものであり、有効なライトデータが存在するキャッシュメモリへ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスクに書き込むことが可能なディスク装置及びディスコントローラを提供することを目的とする。 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
このデータ転送手段は、ホスト計算機から所定量のデータを取得し、取得した所定量のデータを不揮発性記憶領域に書き込み、しかる後に、不揮発性記憶領域に書き込まれた所定量のデータを不揮発性キャッシュメモリに転送し、転送後に、ホスト計算機から所定量の次のデータを取得し、不揮発性記憶領域に、この取得したデータを書き込む。そして、停電によりデータ転送が中断した場合には、不揮発性記憶領域に書き込まれている所定量のデータを、復電時に、不揮発性キャッシュメモリに再度転送する。 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
更に、請求項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
すなわち、本実施の形態に係るディスクコントローラ10は、ホスト計算機17に内蔵され、ホスト計算機17のメモリ18からのデータを、ディスク装置16内のディスク15に書き込むためのものであり、DMAコントローラ11、キャッシュメモリ12、ディスク制御部13、及びキャッシュ管理テーブル14を備えている。
That is, the
なお、図1では、ホスト計算機17に関しては、簡略のために、ディスクコントローラ10の他には、本実施の形態に関連する構成要素であるメモリ18とドライバ19のみを示している。
In FIG. 1, with respect to the
メモリ18は、ディスク15へ書き出す、あるいは、ディスク15から読み込むデータを格納する。
The
ドライバ19は、RAIDコントローラ等のディスクコントローラ10へ、リード(読み出し)やライト(書き込み)のコマンドをディスク制御部13へ送信し、ディスク15へのアクセスを仲介する。
The
RAIDコントローラ等のディスクコントローラ10は、ホスト計算機17に内蔵され、PCI、PCI−X、PCIエクスプレスなどのIOバスを介してホスト計算機17内の各部位と接続している。
The
ディスク制御部13は、ディスク(あるいはRAID)15の構成管理、ディスク15の制御などを行う。本実施の形態で特に関連するのは、ドライバ19からコマンドを受信し、その処理を行い、結果をドライバ19へ返却する機能である。また、コマンドの処理において、DMAコントローラ11、キャッシュメモリ12、及びキャッシュ管理テーブル14を用いる。
The
キャッシュメモリ12は、ディスク15へ書き込むべきデータや、ディスク15から読み出したデータを保持する。ディスク15へ書き込むべきデータを一時的に蓄積するため、停電などによる処理の中断でデータを消失しないように、ディスクコントローラ10への電源供給が途絶えても、内容が消えない、不揮発性記憶媒体で構成する。
The
キャッシュ管理テーブル14は、キャッシュメモリ12と同様、不揮発性の記憶媒体上に配置され、図2にその一例を示すように、キャッシュメモリ12上に保持するデータの管理情報を保持する。この管理情報の項目は、キャッシュブロック番号14a、ディスク番号14b、ディスクアドレス14c、使用・未使用状態14d、ライトデータの有無14e、ロック状態14fからなる。
Similarly to the
本明細書では、説明のために、キャッシュメモリ12の管理単位(キャッシュブロック)は、ディスク15のセクタと同一サイズとする。キャッシュブロックのサイズは、性能や、管理の効率化のために、ディスクセクタの倍数であることがあり、その場合にはキャッシュ管理テーブル14の構造が一部図2と異なる場合があるが、本実施の形態での利用とは関係がないため、これ以上の説明は行わない。
In this specification, for the sake of explanation, the management unit (cache block) of the
キャッシュ管理テーブル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
DMAコントローラ11は、ディスク制御部13から、データ転送のコマンドを受信し、ホスト計算機17とキャッシュメモリ12と間のデータ転送を制御する部位である。このようなDMAコントローラ11の構成例を図3の機能ブロック図に示す。図3に示すように、DMAコントローラ11は、コマンドバッファ30、転送制御部31、第1及び第2の転送エンジン32,33、データバッファ34、送信ポインタ35、及び受信ポインタ36を備えている。
The
コマンドバッファ30は、DMAコントローラ11が行うデータ転送の具体的な指示コマンド、パラメータを格納する。
The
転送制御部31は、コマンドバッファ30に格納された具体的な指示を行うコマンドを元に、第1及び第2の転送エンジン32,33を制御してデータ転送を行い、その返答をディスク制御部13に返す。
The
第1及び第2の転送エンジン32,33は、データバッファ34と、キャッシュメモリ12あるいはホスト計算機17のメモリ18へのデータ転送を司る。
The first and
データバッファ34は、不揮発性記憶媒体からなり、転送中のデータを保持する。データバッファの大きさは、ホスト計算機17とディスクコントローラ10のデータ転送の最小単位であるディスク15のセクタサイズ(通常は512バイト)より大きいサイズとする。
The
送信ポインタ35及び受信ポインタ36も同様に不揮発性記憶媒体上にあり、データバッファ34上のデータの送受信管理に用いる。
The
コマンドバッファ30に格納するDMAコントローラ11のためのコマンドには、(1)ディスクコントローラ10のキャッシュメモリ12からホスト計算機17への転送、あるいはその逆方向への転送を行うデータ転送(送信又は受信)コマンドがある。このデータ転送コマンドには、パラメータとして、送信元、送信先のアドレスと、転送サイズがある。また、その他のコマンドとして、(2)データバッファ34のデータ再送コマンドがある。このコマンドは、データバッファ34に蓄積しているデータの再転送を行うためのコマンドである。
Commands for the
次に、このようなコマンドを用いて行われる転送制御部31による処理の流れを図4のフローチャートを用いて示す。
Next, the flow of processing performed by the
コマンドバッファ30が、ディスク制御部13から送られたコマンドを転送制御部31を介して受信する(S41)。そして、このコマンドが、データ転送コマンドである場合(S42:Yes)であって、送信元がホスト計算機17のメモリ18であれば(S43:Yes)、ホスト計算機17からキャッシュメモリ12へのデータ転送処理が行われる(S44)。
The
一方、データ転送コマンドの送信元が、ホスト計算機17のメモリ18でなければ(S43:No)、キャッシュメモリ12のデータをホスト計算機17のメモリ18へ転送するデータ転送処理が行われる(S45)。
On the other hand, if the transmission source of the data transfer command is not the
更に、ステップ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
データバッファ34では、ホスト計算機17のメモリ18と、キャッシュメモリ12との間でなされるデータ転送処理において、送信ポインタ35と受信ポインタ36とを用いている。すなわち、データ転送処理においては、キャッシュメモリ12への送信を完了したデータの最後を示す送信ポインタ35と、ホスト計算機17からのデータの先頭を示す受信ポインタ36とを用いることによってデータバッファ34をリングバッファとして制御している。このような送信ポインタ35と受信ポインタ36との利用方法を図5を用いて説明する。
The
図5(a)は、データバッファ34内のデータにおける送信ポインタ35と受信ポインタ36との初期位置を示している。データバッファ34がデータを受信すると、送信ポインタ35と受信ポインタ36との間に受信データが蓄積されることによって、受信ポインタ36が図5(b)に示すように図中右方向に進む。すなわち、受信ポインタ36は、ホスト計算機17から受信したデータの先頭を示し、送信ポインタ35は、キャッシュメモリ12への送信を完了したデータの最後を示している。
FIG. 5A shows the initial positions of the
ステップ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
図7は、ステップS61で行われる第1の転送エンジン32による処理の流れの詳細を示すフローチャートである。
FIG. 7 is a flowchart showing details of the flow of processing by the
第1の転送エンジン32は、コマンドバッファ30に格納されているコマンドの転送サイズ分のデータをホスト計算機17のメモリ18からデータバッファ34へ転送する。そして、このデータ転送が完了していれば(S71:Yes)、処理を終了する。
The
完了していなければ(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
ステップS73では、ホスト計算機17のメモリ18からデータバッファ34へデータを転送する(S73)。この際、転送するデータ量は、データバッファ34の空き容量(送信ポインタ35と受信ポインタ36との差分から計算できる)か、転送すべきデータ量の残りかの小さい量とし、データの転送を実行する。転送を実行したら、受信ポインタ36を転送量の分だけ進める(S74)。
In step S73, data is transferred from the
また、図9は、ステップS62で行われる第2の転送エンジン33による処理の流れの詳細を示すフローチャートである。
FIG. 9 is a flowchart showing details of the flow of processing by the
すなわち、第2の転送エンジン33は、コマンドバッファ30に格納されているコマンドの転送サイズ分のデータをデータバッファ34からキャッシュメモリ12に転送する。そして、このデータ転送が完了していれば(S91:Yes)、処理を終了する。
That is, the
完了していなければ(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
このように、第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
次にディスク制御部13の処理について図11に示すフローチャートを用いて説明する。
Next, the processing of the
ディスク制御部13は、ホスト計算機17のドライバ19からディスク15へのアクセスコマンドを処理する。図11は、ホスト計算機17のドライバ19からの処理の流れを示している。ホスト計算機17のドライバ19は、OSのモジュールとして動作し、ファイルシステムや、アプリケーションからディスク15へのアクセス要求を受信すると、ディスク制御部13に受け渡す(S111)。ディスク制御部13は、このアクセス要求を処理し(S112)、例えばホスト計算機17へ割り込むことによって応答を返す(S113)。その際、データのやりとりのために、ホスト計算機17上のメモリ18をバッファとして使用する。すると、ドライバ19の割り込み処理が動作し、ディスク15への要求処理を完了させる(S114)。
The
なお、ディスク15からのリード要求の場合には、ディスク15から読み出したデータは、最終的にホスト計算機17のメモリ18に読み込まれる。ディスク15へのライト要求の場合には、ホスト計算機17のメモリ18のデータがディスク15へ書き込まれることになる。
In the case of a read request from the
次に、ディスク制御部13が要求を処理する流れを、図12のフローチャートを用いて示す。本発明では、ディスク15へのライト要求時の処理において、その効果があるため、図12は、ライト要求時の処理を示している。
Next, a flow in which the
ディスク制御部13が受信するライト要求は、実際は、対象となるディスク15と、そのオフセット、ライトデータのサイズ、ライトすべきデータが格納されているホスト計算機17のメモリアドレスからなる。そして、対象のディスク15とオフセット、そのサイズを元に、キャッシュメモリ12上に対応する領域を確保するための処理を行う。ここで確保したキャッシュメモリ12上に、ホスト計算機17のメモリ18からのデータを格納する。
The write request received by the
図12に示すフローチャートでは、ライトデータの全領域に対応するキャッシュメモリ12を確保するために、キャッシュメモリ12の割り当てと、ロックとを繰り返し実施している(S120)。キャッシュメモリ12の割り当ては、すでに該当するディスク15とオフセットに対応するエントリがキャッシュ管理テーブル14にあるかどうかを検索することで判定することができる。
In the flowchart shown in FIG. 12, in order to secure the
ライトデータの全てに対して、キャッシュメモリ12が割り当てられていない場合(S120:No)であり、キャッシュメモリ12がすでに割り当てられていて(S126:Yes)、ロックされている場合(S127:Yes)には、上書きができないため、ロックが解除されるまで、ロック待ちを行う。ロックされていない場合(S127:No)には、ロックを実施し(S128)、ステップS120に戻る。ロックの状態は、図2に示すキャッシュ管理テーブル14のロック状態14fの値にて管理する。
When the
キャッシュメモリ12が割り当てられていない場合(S126:No)には、キャッシュメモリ12の空きを探し、対応するエントリをキャッシュ管理テーブル14に作成し(S129)、ステップS128に進む。内容として、ディスク番号14b、使用・未使用(使用中)14d、オフセットをセットする。
When the
このようにしてキャッシュメモリ12がすべて確保できたら(S120:Yes)、DMAコントローラ11にデータの転送を指示する(S121)。DMAコントローラ11は、図6に示すホスト計算機17とキャッシュメモリ12との間のデータ転送処理を開始する(S122)。
When all the
データ転送が完了したら、キャッシュ管理テーブル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
次に、キャッシュメモリ12からディスク15へのデータの書き出しについて説明する。
Next, data writing from the
図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
すなわち、キャッシュデータの書き出しを続ける場合(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
このように、キャッシュデータの書き出しの終了は、一定量、あるいは、キャッシュメモリ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
次に、停電などの不意の停止からの再起動において、キャッシュメモリ12のデータをディスク15に書き戻す復旧方法について、図14に示すフローチャートを用いて説明する。
Next, a recovery method for writing back the data in the
図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
上述したように、本実施の形態に係るディスクコントローラ10においては、上記のような作用により、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、キャッシュメモリ12上で転送途中でデータが途切れた状態となっているキャッシュデータが、ディスク15のセクタ単位で正しくなり、キャッシュデータの内容の不整合を回避することが可能となる。
As described above, in the
(第2の実施の形態)
図15は、第2の実施の形態に係るディスクコントローラ150の構成例を含む機能ブロック図である。
(Second Embodiment)
FIG. 15 is a functional block diagram including a configuration example of the
本実施の形態に係るディスクコントローラ150は、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。
The
第1の実施の形態に係るディスクコントローラ10は、ホスト計算機17に内蔵されていたが、本実施の形態に係るディスクコントローラ150は、ディスク装置16に内蔵されている。
The
ホスト計算機17ではなくディスク装置16に内蔵されていることの他に第1の実施の形態と異なる点は、ホスト計算機17と通信するためのインタフェースとしてSCSI(登録商標)コントローラ151を付加した点である。
In addition to being built in the
同様に、ホスト計算機17にも、ディスクコントローラ10と通信するためのインタフェースであるSCSI(登録商標)コントローラ152を付加している。
Similarly, a SCSI (registered trademark) controller 152 which is an interface for communicating with the
そして、SCSIコントローラ151と、SCSIコントローラ152とを接続することによって、ホスト計算機17とディスク装置16との通信を可能としている。
By connecting the SCSI controller 151 and the SCSI controller 152, the
第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
なお、ディスク装置16とホスト計算機17とのインタフェースは、SCSIコントローラに限定される訳ではなく、FC(FiberChannel)や、その他のインタフェースであっても、同様の実装を取ることができる。
The interface between the
また、SCSIコントローラ151とDMAコントローラ11とが一体となった実装を取り、SCSIコントローラ151が、第1の実施の形態におけるDMAコントローラ11の機能をも備えるようにしても良い。
Further, the SCSI controller 151 and the
上述したように、本実施の形態に係るディスクコントローラ150においては、上記のような作用により、ホスト計算機17ではなく、ディスク装置16に内蔵されている場合であっても、第1の実施の形態のディスクコントローラ10と同様に、有効なライトデータが存在するキャッシュメモリ12へ更にライトデータを転送する場合に停電が発生しても、ライトデータを正しくディスク15に書き込むことが可能である。
As described above, in the
(第3の実施の形態)
図16は、第3の実施の形態に係るディスクコントローラ160の構成例を含む機能ブロック図である。
(Third embodiment)
FIG. 16 is a functional block diagram including a configuration example of the
本実施の形態に係るディスクコントローラ160もまた、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。
The
すなわち、本実施の形態に係るディスクコントローラ160は、図1に示す第1の実施の形態に係るディスクコントローラ10におけるDMAコントローラ11の代わりに、データ転送部161を備えた点のみが異なる。
That is, the
データ転送部161は、データ転送のみを行い、DMAコントローラ11とは異なり、データバッファ34、送信ポインタ35、受信ポインタ36のような不揮発性記憶媒体を備えていない。また、コマンドバッファ30や転送制御部31をも備えていない。
Unlike the
このような構成の本実施の形態に係るディスクコントローラ160は、データ転送時におけるキャッシュメモリ12の管理方式が第1の実施の形態と異なる。
The
すなわち、本実施の形態に係るディスクコントローラ160では、すでにライトデータを保持するキャッシュメモリ12への再度のライトデータの転送の場合には、キャッシュメモリ12上に仮領域を確保し、データ転送を行う。そして、データ転送が完了したら、仮の領域を本来のキャッシュデータとし、それまでのキャッシュ領域を解放する。こうすることで、キャッシュメモリ12上のライトデータへのデータ転送による上書きの状態を回避することができ、データ転送の中断によるデータの不整合が発生しないようにしている。
In other words, in the
このような構成の本実施の形態に係るディスクコントローラ160によるライト要求処理時のキャッシュ管理の方法を図17に示すフローチャートを用いて説明する。
A cache management method at the time of write request processing by the
図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
ステップS171では、データ転送部161に対して、ホスト計算機17のメモリ18から、ステップS170で確保した仮領域を、データ転送先として指定する。
In step S171, the temporary area secured in step S170 is designated as the data transfer destination from the
ステップ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
(第4の実施の形態)
図18は、第4の実施の形態に係るディスクコントローラ180の構成例を含む機能ブロック図である。
(Fourth embodiment)
FIG. 18 is a functional block diagram including a configuration example of the
本実施の形態に係るディスクコントローラ180は、第1の実施の形態に係るディスクコントローラ10の変形例である。したがって、同一箇所については同一符番を付すことにより、重複説明を避け、異なる点について説明する。
The
すなわち、本実施の形態に係るディスクコントローラ180は、第1の実施の形態に係るディスクコントローラ10におけるDMAコントローラ11とキャッシュメモリ12との間に暗号化装置181を付加した構成としている。
That is, the
暗号化装置181は、ホスト計算機17のメモリ18のデータをDMAコントローラ11から渡され、そのデータを暗号化して、キャッシュメモリ12へ格納する。逆に、キャッシュメモリ12からDMAコントローラ11経由でホスト計算機17のメモリ18へデータを格納する際には、そのデータを復号化してDMAコントローラ11に渡す。なお、暗号化装置181が実施する暗号のアルゴリズムは、AESやDESなどのブロック暗号を想定しているが、これらは一例であって、限定されるものではない。
The
このような実装では、ホスト計算機17からのデータは、キャッシュメモリ12上ではすべて暗号化されていることになる。従って、ホスト計算機17からのデータは、全て暗号化された後にディスク15に保存される。
In such an implementation, all data from the
この場合、停電等により転送が中断した場合、既に[背景技術]において説明したように、最初にホスト計算機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
仮にこのような状態から、再度動作を開始し、このキャッシュメモリ12の内容をディスク15に書き込んでしまうと、このディスク15の内容をホスト計算機17からリードした場合、旧データと新データの暗号文が入り混じったデータをディスク15からキャッシュメモリ12へ読み出し、そのデータを復号することになる。そして、その後のリードアクセスでは、旧データでも新データでもないデータを読み出す事態が発生する。
If the operation is started again from this state and the contents of the
このように暗号文が混合してしまった場合には、正しく復号を行うことができず、旧データでも新データでもないデータを復号してしまい、ホスト計算機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
本実施の形態においては、暗号化の処理以外の部分に対して、第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
上述したように、本実施の形態に係るディスクコントローラ180においては、上記のような作用により、データの暗号化を伴う場合であっても、暗号化の処理以外の部分に対して、第1の実施の形態と同様の処理を行うことで、キャッシュメモリ12上に転送中だったデータの暗号文を完全に転送することができる。
As described above, in the
その結果、暗号文が入り混じる状態が回避され、有効なライトデータが存在するキャッシュメモリ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
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。 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.
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
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.
前記ホスト計算機からのデータを、前記ディスクへ書き込まれるキャッシュデータとして記憶することが可能な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.
前記ホスト計算機からのデータを、前記ディスクへ書き込まれるキャッシュデータとして記憶することが可能な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.
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)
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 |
-
2006
- 2006-07-07 JP JP2006188295A patent/JP2008015918A/en active Pending
Cited By (7)
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 |