JP2011204285A - Storage system and control method of the same - Google Patents

Storage system and control method of the same Download PDF

Info

Publication number
JP2011204285A
JP2011204285A JP2011158785A JP2011158785A JP2011204285A JP 2011204285 A JP2011204285 A JP 2011204285A JP 2011158785 A JP2011158785 A JP 2011158785A JP 2011158785 A JP2011158785 A JP 2011158785A JP 2011204285 A JP2011204285 A JP 2011204285A
Authority
JP
Japan
Prior art keywords
data
storage
storage device
controller
ports
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.)
Granted
Application number
JP2011158785A
Other languages
Japanese (ja)
Other versions
JP5314737B2 (en
JP2011204285A5 (en
Inventor
Mamoru Motonaga
守 本永
Takashi Chigusa
隆 千種
Takashi Nozawa
隆史 野澤
Sukemitsu Matsui
佑光 松井
Megumi Sotozono
恵 外薗
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011158785A priority Critical patent/JP5314737B2/en
Publication of JP2011204285A publication Critical patent/JP2011204285A/en
Publication of JP2011204285A5 publication Critical patent/JP2011204285A5/ja
Application granted granted Critical
Publication of JP5314737B2 publication Critical patent/JP5314737B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a storage system which solves a bottleneck in the storage system and efficiently uses a band provided by hardware, and in which high reliability can be obtained.SOLUTION: The storage system is a storage system provided with a storage device which stores data, a controller which controls an input and an output of data to the storage device, and an interface which connects the storage device with the controller. The storage device has a plurality of physical ports connected with the interface. The controller provides a plurality of storage domains by dividing the storage domain of the storage device into the plurality of storage domains logically, and assigns one or a plurality of physical ports to the storage domain which is divided logically.

Description

本発明は、ストレージシステムに関し、特に、ストレージシステムを高速化し、信頼性を向上する技術に関する。   The present invention relates to a storage system, and more particularly to a technique for increasing the speed of a storage system and improving reliability.

ストレージシステム(ディスクアレイ装置)において、磁気ディスクドライブ(HDD)及び半導体記憶装置(SSD)等のストレージモジュールの大容量化に伴い、ストレージモジュールによって構成されるグループ(RAIDグループ、ストレージプール)容量が増大している。   In storage systems (disk array devices), the capacity of groups (RAID groups, storage pools) composed of storage modules increases as the capacity of storage modules such as magnetic disk drives (HDDs) and semiconductor storage devices (SSDs) increases. is doing.

一方、多くの場合は、ストレージモジュールによって構成されるグループ上に構成される論理ボリューム(LU)の容量の上限は2TBである。この容量の上限は、ブロックアクセス型のストレージ装置で標準的に使用されているSCSIプロトコルにおけるREAD(10)コマンド及びWRITE(10)コマンドのパラメータであるLBA指定領域が4バイトであるためである。このLBA領域を拡張したコマンドとして、可変長のREAD(16)コマンド及びWRITE(16)コマンドが定義されているが、これらのコマンドをサポートしていないストレージシステムが多い。   On the other hand, in many cases, the upper limit of the capacity of a logical volume (LU) configured on a group configured by storage modules is 2 TB. The upper limit of this capacity is because the LBA designation area that is a parameter of the READ (10) command and the WRITE (10) command in the SCSI protocol that is normally used in the block access type storage apparatus is 4 bytes. Variable length READ (16) command and WRITE (16) command are defined as commands that expand the LBA area, but many storage systems do not support these commands.

複数のLUが同一グループに含まれることのデメリットは、論理的には異なるLUへのアクセスであっても、物理的には同じ記憶装置へのアクセスであって、同じ記憶装置へのアクセスによって性能的なボトルネックが生じることである。   The disadvantage of including multiple LUs in the same group is access to the same storage device even if it is logically access to different LUs. A bottleneck will occur.

現在、記憶装置として主に使用されている磁気ディスクドライブは、ミリ秒オーダで、ディスクの回転による待ち時間や、ヘッドのシーク時間がある。このため、機械的な要因による性能が、インターフェースやコントローラの性能向上に追い付いていない。すなわち、機械的な要因が性能のボトルネックとなっている。   Currently, magnetic disk drives mainly used as storage devices are on the order of milliseconds, and have a waiting time due to the rotation of the disk and a seek time of the head. For this reason, the performance due to mechanical factors has not caught up with the performance improvement of the interface and controller. In other words, mechanical factors are performance bottlenecks.

一方、半導体記憶装置(SSD)は、機械的な待ち時間が発生しないことから、高速にデータを読み書きすることができる。しかし、半導体記憶装置は、磁気ディスクドライブとの互換性を重視して設計されているため、半導体の読み書き性能を充分に生かすことができない。例えば、8個のポートが実装されているSASコントローラがあり、一つのSASインターフェースは6Gbpsでデータを転送可能であることから、合計の帯域は8×6Gbit/s=48Gbit/sとなる。SASでは、複数のリンクを束ねてデータ転送する機能(ワイドポートまたはワイドリンクと呼ばれる)があるので、この帯域を充分生かすことが可能である。   On the other hand, a semiconductor memory device (SSD) can read and write data at high speed because there is no mechanical waiting time. However, since the semiconductor memory device is designed with an emphasis on compatibility with a magnetic disk drive, the read / write performance of the semiconductor cannot be fully utilized. For example, there is a SAS controller with 8 ports mounted, and one SAS interface can transfer data at 6 Gbps, so the total bandwidth is 8 × 6 Gbit / s = 48 Gbit / s. Since SAS has a function of bundling a plurality of links and transferring data (referred to as a wide port or a wide link), it is possible to make full use of this bandwidth.

複数の物理リンクを束ねてデータを転送する方法として、特許文献1には、SASイニシエータ装置が、ワイドリンクのうちの何本の物理リンクをどのSASターゲット装置に割り当てるかを制御するストレージシステムが記載されている。また、特許文献2には、複数の物理リンクをまとめたワイドポートを用いてデータを転送する技術が記載されている。
特開2007−256993号公報 米国特許出願公開第2008/0104264号明細書 特開2005−165443号公報
As a method of transferring data by bundling a plurality of physical links, Patent Document 1 describes a storage system that controls how many physical links of wide links are assigned to which SAS target device by a SAS initiator device. Has been. Patent Document 2 describes a technique for transferring data using a wide port in which a plurality of physical links are collected.
JP 2007-259933 A US Patent Application Publication No. 2008/0104264 JP 2005-165443 A

SASインターフェースの磁気ディスクドライブは2ポートのコネクタを備え、この2ポートは冗長的に使用されるので、一つの磁気ディスクドライブのデータ転送性能は6Gbit/sである。この転送速度は磁気ディスクドライブには十分であるが、半導体記憶装置にとっては十分ではない。すなわち、半導体記憶装置は、データを高速で読み書きできることから、インターフェースの構成がボトルネックとなる場合がある。   The SAS interface magnetic disk drive has a two-port connector, and since these two ports are used redundantly, the data transfer performance of one magnetic disk drive is 6 Gbit / s. This transfer rate is sufficient for a magnetic disk drive, but not sufficient for a semiconductor memory device. That is, since the semiconductor memory device can read and write data at high speed, the configuration of the interface may become a bottleneck.

しかし、前述した特許文献1に記載された技術では、ターゲットのSASポートは現用ポートと冗長ポートの二つである。   However, in the technique described in Patent Document 1 described above, there are two target SAS ports, an active port and a redundant port.

また、ストレージ装置の性能向上によって、コントローラの処理能力、記憶容量等のストレージ装置に備わるリソースを論理的に分割し、各分割された論理区画を独立してユーザに提供するストレージ論理分割(LPAR)技術がある。このような運用において、各ユーザに高い性能を提供するためには、論理区画内のボトルネックを排除する必要がある。   Storage logical partitioning (LPAR) that logically divides the resources of the storage device such as the processing capacity and storage capacity of the controller and improves the performance of the storage device and provides each divided logical partition to the user independently There is technology. In such operation, in order to provide each user with high performance, it is necessary to eliminate a bottleneck in the logical partition.

この点、前述した特許文献1に記載された技術では、ターゲット側での論理分割は考慮されていない。   In this regard, the technology described in Patent Document 1 described above does not consider logical division on the target side.

さらに、信頼性及び性能が異なる複数の記憶装置を混載するストレージシステムでは、ボトルネックとなる性能及び信頼性が、ストレージシステムの性能及び信頼性となることから、他のボトルネック要因(書き込みデータの検証)についても検討する必要がある。   Furthermore, in a storage system in which a plurality of storage devices having different reliability and performance are mixed, the performance and reliability that become the bottleneck become the performance and reliability of the storage system. (Verification) also needs to be considered.

具体的には、従来のストレージシステムでは、データを書き込んだ後に、書き込まれたデータを読み出して、書き込みデータと読み出されたデータとを1バイト毎に比較していた。又は、書き込みデータの検証コードと読み出されたデータの検証コードとを比較していた。しかし、前述した従来の方法では、データを読み出すために転送帯域を消費し、データを比較するためにプロセッサの処理能力を消費するので、パフォーマンスの向上を妨げるという問題があった。このパフォーマンスの低下は、半導体記憶装置等の高速な処理が可能な記憶装置においては大きな問題となる。   Specifically, in a conventional storage system, after writing data, the written data is read, and the write data and the read data are compared for each byte. Alternatively, the verification code of the write data is compared with the verification code of the read data. However, the conventional method described above consumes a transfer band for reading data, and consumes the processing capacity of the processor for comparing data, and thus has a problem of hindering performance improvement. This deterioration in performance becomes a serious problem in a storage device capable of high-speed processing such as a semiconductor storage device.

本発明は、ストレージシステム内のボトルネックを解消し、ハードウェアが備える帯域を効率的に使用し、かつ高信頼性が得られるストレージシステムを提供することを目的とする。   An object of the present invention is to provide a storage system that eliminates bottlenecks in a storage system, efficiently uses a bandwidth provided by hardware, and obtains high reliability.

本発明の代表的な一例を示せば以下の通りである。すなわち、データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、前記コントローラは、前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、一又は複数の前記物理ポートを前記論理分割された記憶領域に割り当てることを特徴とする。
また、本発明の別な一例は、データを記憶する記憶装置と、前記記憶装置に書き込まれるデータを一時的に格納するキャッシュメモリと、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記キャッシュメモリと前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、前記コントローラは、前記キャッシュメモリから前記記憶装置へデータを転送する場合、データの書き込みブロック毎に、書き込まれたデータの正当性を担保するための検証コードを生成し、前記生成された検証コードが付加されたデータを前記記憶装置に転送し、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、先頭のブロックから1又は複数のブロックのデータに付加された検証コードを使用しないで、前記記憶装置に書き込まれたデータを検証することを特徴とする。
A typical example of the present invention is as follows. That is, a storage system including a storage device that stores data, a controller that controls input and output of data to and from the storage device, and an interface that connects the storage device and the controller, wherein the storage device includes: The controller includes a plurality of physical ports connected to the interface, and the controller logically divides a storage area of the storage device into a plurality of storage areas, and logically divides one or a plurality of the physical ports. It is characterized by allocating to a storage area.
Another example of the present invention is a storage device that stores data, a cache memory that temporarily stores data written to the storage device, a controller that controls input / output of data to the storage device, A storage system comprising an interface for connecting the storage device, the cache memory, and the controller, wherein the controller writes data for each data write block when transferring data from the cache memory to the storage device. A verification code for ensuring the validity of the generated data is generated, the data with the generated verification code added is transferred to the storage device, and added to the data written in a plurality of blocks of the storage device Append to the data of one or more blocks from the first block in the verification code Without using a verification code, characterized by verifying the data written in the storage device.

本発明の実施の形態によると、ストレージシステムの性能を向上することができる。   According to the embodiment of the present invention, the performance of the storage system can be improved.

本発明の第1の実施の形態の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the 1st Embodiment of this invention. 本発明の第1の実施の形態の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムの正面図である。1 is a front view of a storage system according to a first embodiment of this invention. 本発明の第1の実施の形態のコントローラ筐体の前面扉を開いた状態の内部の構造を示す図である。It is a figure which shows the internal structure of the state which opened the front door of the controller housing | casing of the 1st Embodiment of this invention. 本発明の第1の実施の形態のコントローラ筐体の背面扉を開いた状態の内部の構造を示す図である。It is a figure which shows the internal structure of the state which opened the back door of the controller housing | casing of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a storage system according to a first embodiment of this invention. 本発明の第1の実施の形態の半導体記憶装置の正面図である。1 is a front view of a semiconductor memory device according to a first embodiment of the present invention. 本発明の第1の実施の形態の半導体記憶装置のケースの構造を示す透視図である。1 is a perspective view showing a structure of a case of a semiconductor memory device according to a first embodiment of the present invention. 本発明の第1の実施の形態の半導体記憶装置の内部構造を示す斜視図である。1 is a perspective view showing an internal structure of a semiconductor memory device according to a first embodiment of the present invention. 本発明の第1の実施の形態の半導体記憶装置(ベース基板)の構成を示すブロック図である。1 is a block diagram showing a configuration of a semiconductor memory device (base substrate) according to a first embodiment of the present invention. 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。It is a figure which shows the example of arrangement | positioning of the interface connector of the memory | storage device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。It is a figure which shows the example of arrangement | positioning of the interface connector of the memory | storage device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。It is a figure which shows the example of arrangement | positioning of the interface connector of the memory | storage device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。It is explanatory drawing which shows the example of the logical division of the storage area of the 1st Embodiment of this invention, and the allocation of the path | pass (bandwidth) of the logically divided storage area. 図9Aから図9Fに示す論理分割とパスの割り当てとを実現するための構成情報の説明図である。FIG. 9B is an explanatory diagram of configuration information for realizing the logical division and path allocation shown in FIGS. 9A to 9F. 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。It is a figure explaining the example of the link set in the storage system of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。It is a figure explaining the example of the link set in the storage system of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンク例を説明する図である。It is a figure explaining the example of a link set in the storage system of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。It is a figure explaining the example of the link set in the storage system of the 1st Embodiment of this invention. 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。It is a figure explaining the example of the link set in the storage system of the 1st Embodiment of this invention. 本発明の第1の実施の形態のディスク制御部のプロトコル制御部に備わる管理テーブルの構成を示す説明図である。It is explanatory drawing which shows the structure of the management table with which the protocol control part of the disk control part of the 1st Embodiment of this invention is provided. 本発明の第1の実施の形態のSASエクスパンダのプロトコル制御部に備わる管理テーブルの構成を示す説明図である。It is explanatory drawing which shows the structure of the management table with which the protocol control part of the SAS expander of the 1st Embodiment of this invention is equipped. 本発明の第1の実施の形態のコントローラ筐体のプロセッサ及びディスク制御部において実行される処理のフローチャートである。It is a flowchart of the process performed in the processor and disk control part of the controller housing | casing of the 1st Embodiment of this invention. 本発明の第1の実施の形態のコントローラ筐体のSASエクスパンダにおいて実行される処理のフローチャートである。It is a flowchart of the process performed in the SAS expander of the controller housing | casing of the 1st Embodiment of this invention. 本発明の第1の実施の形態の障害発生時のパス変更処理のフローチャートである。It is a flowchart of the path | pass change process at the time of the failure generation of the 1st Embodiment of this invention. 本発明の第2の実施の形態の概要を説明する図である。It is a figure explaining the outline | summary of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の概要を説明する図である。It is a figure explaining the outline | summary of the 2nd Embodiment of this invention. 本発明の第2の実施の形態のエラー検出モデルを示す説明図である。It is explanatory drawing which shows the error detection model of the 2nd Embodiment of this invention. 本発明の第2の実施の形態のデータ検証処理のフローチャートである。It is a flowchart of the data verification process of the 2nd Embodiment of this invention.

以下、本発明の実施の形態について図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<実施形態1>
図1A及び図1Bは、本発明の第1の実施の形態の概要を示す説明図である。
<Embodiment 1>
1A and 1B are explanatory diagrams showing an overview of the first embodiment of the present invention.

一般に、記憶装置22は、データを入出力する物理的なポートを1又は複数備える。例えば、図1Aに示すように、SASインターフェースを備える記憶装置は、二つの物理ポートを備える。これらのポートの一つは現用系に使用され、他方は待機系に使用される。そして、各ポートを用いてディスク制御部との間でデータを転送するための現用系及び待機系のパスを設定する。このため、記憶装置の記憶領域が論理的に分割されても、分割された記憶領域がポートと対応付けられていなかった。   In general, the storage device 22 includes one or more physical ports for inputting and outputting data. For example, as illustrated in FIG. 1A, a storage device including a SAS interface includes two physical ports. One of these ports is used for the active system and the other is used for the standby system. Then, the active and standby paths for transferring data to and from the disk control unit are set using each port. For this reason, even if the storage area of the storage device is logically divided, the divided storage area is not associated with the port.

これに対し、図1Bに示すように、第1の実施の形態の記憶装置は8個の物理ポートを備えるので、四つのポートが稼動系に使用することができ、他の4個のポートが待機系に使用することができる。そして、各ポートを用いてディスク制御部との間でデータを転送するためのパスを設定する。この場合、4個の各ポートを論理分割された各記憶領域に割り当て、各記憶領域に独立してデータを転送することができる。また、時分割された4個のポートを一つの記憶領域に割り当て、高速にデータを転送することができる。   On the other hand, as shown in FIG. 1B, since the storage device of the first embodiment includes eight physical ports, four ports can be used for the active system, and the other four ports can be used. Can be used for standby systems. Then, a path for transferring data to and from the disk control unit is set using each port. In this case, each of the four ports can be assigned to each logically divided storage area, and data can be transferred independently to each storage area. In addition, four ports divided in time can be assigned to one storage area, and data can be transferred at high speed.

また、第1の実施の形態の記憶装置22は、物理ポートの負荷を表示するLED223を備える。さらに、交替領域として使用される記憶領域を提供する補助記憶装置(例えば、SDメモリカード1000)を取り付けるインターフェース(SDメモリカードスロット222)を備える。このため、交替領域が不足した場合でも、SDメモリカード1000の記憶領域を交替領域とすることによって、記憶装置を延命することができる。   The storage device 22 according to the first embodiment includes an LED 223 that displays the load of the physical port. Furthermore, an interface (SD memory card slot 222) for attaching an auxiliary storage device (for example, SD memory card 1000) that provides a storage area used as a replacement area is provided. For this reason, even when the spare area is insufficient, the storage device can be extended by setting the storage area of the SD memory card 1000 as the spare area.

図2は、本発明の第1の実施の形態のストレージシステムの正面図である。   FIG. 2 is a front view of the storage system according to the first embodiment of this invention.

図2には、1台のコントローラ筐体1と、3台のドライブ筐体2を示す。コントローラ筐体1とドライブ筐体2との間、及び、ドライブ筐体2の間は、SASインターフェースによって接続される。   FIG. 2 shows one controller housing 1 and three drive housings 2. The controller housing 1 and the drive housing 2 and the drive housing 2 are connected by a SAS interface.

なお、コントローラ筐体1とドライブ筐体2とは同じ外観であるが、両者の外観は異なってもよい。   The controller casing 1 and the drive casing 2 have the same appearance, but the appearances of the two may be different.

図3Aは、本発明の第1の実施の形態のコントローラ筐体1の前面扉を開いた状態の内部の構造を示す図である。   FIG. 3A is a diagram illustrating an internal structure in a state where the front door of the controller housing 1 according to the first embodiment of the present invention is opened.

コントローラ筐体1の前面側には半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付けられるスロットが備わる。また、コントローラ筐体1の前面側の下部には電源ユニット1010が備わる。コントローラ筐体1に取り付けられた半導体記憶装置22は、バックプレーン(図示省略)によって接続される。   The front side of the controller housing 1 is provided with a slot in which the semiconductor storage device 22 (or magnetic disk drive 21) is attached. In addition, a power supply unit 1010 is provided at the lower part on the front side of the controller housing 1. The semiconductor storage device 22 attached to the controller housing 1 is connected by a backplane (not shown).

図3Bは、本発明の第1の実施の形態のコントローラ筐体1の背面扉を開いた状態の内部の構造を示す図である。   FIG. 3B is a diagram illustrating the internal structure of the controller housing 1 according to the first embodiment of the present invention in a state where the back door is opened.

コントローラ筐体1の背面側の下部には、チャネル制御部100及びディスク制御部200が備わる。また、チャネル制御部100及びディスク制御部200の上部には、プロセッサ400、メモリ430及び共有メモリ450を備えるコントローラユニット1020が備わる。なお、チャネル制御部100、ディスク制御部200及びコントローラ1020以外の箇所は、半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付け可能なスロットが備わってもよい。   A channel control unit 100 and a disk control unit 200 are provided in the lower part on the back side of the controller housing 1. A controller unit 1020 including a processor 400, a memory 430, and a shared memory 450 is provided on the channel control unit 100 and the disk control unit 200. Note that a portion other than the channel control unit 100, the disk control unit 200, and the controller 1020 may be provided with a slot in which the semiconductor memory device 22 (or the magnetic disk drive 21) can be attached.

ドライブ筐体2の前面側の構造は、図3Aに示すコントローラ筐体1の前面側の構成と同じである。また、ドライブ筐体2の背面側の構造は、図3Aに示すコントローラ筐体1の前面側の構成と同様に、半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付けられるスロットが備わる。   The structure on the front side of the drive casing 2 is the same as the configuration on the front side of the controller casing 1 shown in FIG. 3A. Further, the structure on the back side of the drive housing 2 is provided with a slot in which the semiconductor memory device 22 (or the magnetic disk drive 21) is attached, similarly to the structure on the front side of the controller housing 1 shown in FIG. 3A.

図4は、本発明の第1の実施の形態のストレージシステムの構成を示すブロック図である。   FIG. 4 is a block diagram showing a configuration of the storage system according to the first embodiment of this invention.

本実施の形態のストレージシステム(コントローラ筐体1)は、複数のチャネル制御部100、複数のディスク制御部200、キャッシュメモリ300、プロセッサ400、メモリ430及び共有メモリ450を備える。チャネル制御部100、ディスク制御部200、キャッシュメモリ300、プロセッサ400、メモリ430及び共有メモリ450は、データコントローラ500によって接続されている。図示したように、ストレージシステム1は、通常、複数のチャネル制御部100及び複数のディスク制御部200を備えるが、これらの各構成は一つだけ備わってもよい。   The storage system (controller housing 1) of this embodiment includes a plurality of channel controllers 100, a plurality of disk controllers 200, a cache memory 300, a processor 400, a memory 430, and a shared memory 450. The channel controller 100, disk controller 200, cache memory 300, processor 400, memory 430, and shared memory 450 are connected by a data controller 500. As shown in the figure, the storage system 1 normally includes a plurality of channel controllers 100 and a plurality of disk controllers 200, but each of these components may include only one.

キャッシュメモリ300、プロセッサ400、メモリ430、共有メモリ450及びデータコントローラ500によって、コントローラユニット1020が構成される。   The cache memory 300, the processor 400, the memory 430, the shared memory 450, and the data controller 500 constitute a controller unit 1020.

チャネル制御部100は、ホスト計算機10との間の通信プロトコルに従った信号を入出力するドライバである物理インターフェース、ホスト計算機10との間の通信プロトコルに従った信号の入出力を制御するプロトコル制御部、及び、チャネル制御部100からキャッシュメモリ300へ転送されるデータのアドレスを制御する転送制御部を備える。チャネル制御部100は、例えば、ファイバチャネルプロトコルを用いて通信するSAN11によって、ホスト計算機10に接続される。なお、チャネル制御部100とホスト計算機10とは、イーサネット(登録商標)によって接続されてもよい。この場合、チャネル制御部100とホスト計算機10との間はiSCSIプロトコルによって通信する。   The channel control unit 100 is a physical interface that is a driver that inputs and outputs signals according to the communication protocol with the host computer 10, and a protocol control that controls input and output of signals according to the communication protocol with the host computer 10. And a transfer control unit that controls an address of data transferred from the channel control unit 100 to the cache memory 300. The channel control unit 100 is connected to the host computer 10 by, for example, a SAN 11 that communicates using a fiber channel protocol. The channel control unit 100 and the host computer 10 may be connected by Ethernet (registered trademark). In this case, the channel control unit 100 and the host computer 10 communicate with each other using the iSCSI protocol.

ディスク制御部200は、記憶装置21、22との間の通信プロトコルに従った信号を入出力するドライバである物理インターフェース、記憶装置21、22との間の通信プロトコルに従った信号の入出力を制御するプロトコル制御部、及び、ディスク制御部200から転送されるデータのアドレスを制御する転送制御部を備える。本実施の形態のストレージシステムでは、ディスク制御部200は、4ポートのSAS(Serial Attached SCSI)インターフェースを備える。なお、ディスク制御部200と記憶装置21、22との間の接続は、複数のポートを一つのリンクとしてデータを転送するマルチポート接続が可能な方法であれば、他の接続方法でもよい。   The disk control unit 200 is a physical interface that is a driver that inputs and outputs a signal according to a communication protocol between the storage devices 21 and 22, and a signal input / output according to a communication protocol between the storage devices 21 and 22. A protocol control unit for controlling and a transfer control unit for controlling an address of data transferred from the disk control unit 200 are provided. In the storage system according to the present embodiment, the disk controller 200 includes a 4-port SAS (Serial Attached SCSI) interface. The connection between the disk control unit 200 and the storage devices 21 and 22 may be another connection method as long as a multi-port connection that transfers data using a plurality of ports as one link is possible.

本実施の形態のストレージシステム1は、記憶装置21、22に磁気ディスクドライブ21及び半導体記憶装置22を用いるが、これらの他に、光ディスク、磁気テープ等を用いてもよい。なお、図4には、記憶装置21、22が示されているが、ストレージシステムに記憶装置21、22が備わっても、記憶装置21、22を備えた別のサブシステムを接続する形態でも(一般的な、NASやVTLの形態でも)よい。   In the storage system 1 of the present embodiment, the magnetic disk drive 21 and the semiconductor storage device 22 are used as the storage devices 21 and 22. However, in addition to these, an optical disk, a magnetic tape, or the like may be used. 4 shows the storage devices 21 and 22, the storage system may be provided with the storage devices 21 and 22 or may be connected to another subsystem having the storage devices 21 and 22 ( It may be in the form of a general NAS or VTL).

キャッシュメモリ300は、ホスト計算機10から書き込みを要求されたデータを一時的に格納し、記憶装置21、22から読み出されたデータを一時的に格納する。   The cache memory 300 temporarily stores data requested to be written by the host computer 10 and temporarily stores data read from the storage devices 21 and 22.

プロセッサ400は、ストレージシステムの動作(例えば、チャネル制御部100からキャッシュメモリ300へのデータ転送の指示等)を制御する。   The processor 400 controls the operation of the storage system (for example, an instruction to transfer data from the channel control unit 100 to the cache memory 300).

メモリ430は、プロセッサ400によって実行されるプログラム及びこのプログラムの実行時に必要とされるデータを格納する。   The memory 430 stores a program executed by the processor 400 and data required when the program is executed.

共有メモリ450は、各部で共通に使用されるデータ(例えば、ストレージシステムの構成情報)を格納する。   The shared memory 450 stores data (for example, storage system configuration information) that is commonly used by each unit.

データコントローラ500は、チャネル制御部100、ディスク制御部200、キャッシュ部300、プロセッサ400、メモリ430及び共有メモリ450を接続するスイッチ(例えば、クロスバスイッチ)を備える。データコントローラ500によって、チャネル制御部100、ディスク制御部200、キャッシュ部300、プロセッサ400、メモリ430及び共有メモリ450を接続する内部ネットワークが構成される。この内部ネットワークによって、これら各部の間でデータが転送される。   The data controller 500 includes a switch (for example, a crossbar switch) that connects the channel control unit 100, the disk control unit 200, the cache unit 300, the processor 400, the memory 430, and the shared memory 450. The data controller 500 constitutes an internal network connecting the channel control unit 100, the disk control unit 200, the cache unit 300, the processor 400, the memory 430, and the shared memory 450. Data is transferred between these units by the internal network.

ストレージシステムは、保守用端末が接続されるインターフェース(SVP)を備えてもよい。   The storage system may include an interface (SVP) to which a maintenance terminal is connected.

チャネル制御部100は、ホスト計算機10からのデータ書込要求を受信すると、受信した書込要求をストレージシステム内のプロトコルに変換し、プロトコル変換された書込要求のアドレスを解析し、解析結果をプロセッサ400に送る。プロセッサ400は、アドレスの解析結果に基づいて、書込要求(データ)の転送先を決定し、転送先をデータコントローラ500に指示する。データコントローラ500は、プロセッサ400から指示された転送先にデータが転送されるようにスイッチを切り換えて、データを転送する。   When the channel control unit 100 receives a data write request from the host computer 10, the channel control unit 100 converts the received write request into a protocol in the storage system, analyzes the address of the write request converted by the protocol, and displays the analysis result. Sent to the processor 400. The processor 400 determines a transfer destination of the write request (data) based on the analysis result of the address, and instructs the data controller 500 of the transfer destination. The data controller 500 transfers data by switching the switch so that the data is transferred to the transfer destination instructed by the processor 400.

ホスト計算機10からの書込要求(データ)は、チャネル制御部100からキャッシュメモリ300に転送され、キャッシュメモリ300に一時的に格納される。データがキャッシュメモリ300へ格納された時に(記憶装置21、22へデータが格納される前であっても)、ホスト計算機10には書込完了の報告が返答されるので、ホスト計算機10に対するレスポンスを向上させることができる。   A write request (data) from the host computer 10 is transferred from the channel control unit 100 to the cache memory 300 and temporarily stored in the cache memory 300. When the data is stored in the cache memory 300 (even before the data is stored in the storage devices 21 and 22), a report of the completion of writing is returned to the host computer 10, so the response to the host computer 10 Can be improved.

キャッシュメモリ300に格納されたデータは、ディスク制御部200に転送される。ディスク制御部200は、転送されたデータを記憶装置21、22に転送するためのプロトコル(例えば、SASプロトコル)に変換する。プロトコルが変換されたデータは、記憶装置21、22に書き込まれる。   Data stored in the cache memory 300 is transferred to the disk controller 200. The disk control unit 200 converts the transferred data into a protocol (for example, SAS protocol) for transferring to the storage devices 21 and 22. Data obtained by converting the protocol is written in the storage devices 21 and 22.

本実施の形態のストレージシステム1は、コントローラユニットの他に、SASエクスパンダ600、磁気ディスクドライブ21及び半導体記憶装置22を備える。   The storage system 1 of the present embodiment includes a SAS expander 600, a magnetic disk drive 21, and a semiconductor storage device 22 in addition to the controller unit.

SASエクスパンダ600は、ディスク制御部200、磁気ディスクドライブ21及び半導体記憶装置22を接続するスイッチ(例えば、クロスバスイッチ)を備え、ディスク制御部200と磁気ディスクドライブ21(又は、半導体記憶装置22)との間でデータを転送する。SASエクスパンダ600は、接続先の記憶装置に対応した数のポートを使用して記憶装置21、22と接続する。例えば、SASエクスパンダ600と半導体記憶装置22との間は、現用系の4ポート又は待機系の4ポート(合計8ポート)によって接続される。   The SAS expander 600 includes a switch (for example, a crossbar switch) that connects the disk control unit 200, the magnetic disk drive 21, and the semiconductor storage device 22, and the disk control unit 200 and the magnetic disk drive 21 (or the semiconductor storage device 22). Transfer data to and from. The SAS expander 600 connects to the storage devices 21 and 22 using the number of ports corresponding to the storage device to which it is connected. For example, the SAS expander 600 and the semiconductor memory device 22 are connected by 4 ports for the active system or 4 ports for the standby system (8 ports in total).

また、SASエクスパンダ600と磁気ディスクドライブ21との間は、磁気ディスクドライブ21が備えるインターフェースによって、接続されるポートの数が異なる。例えば、SASインターフェースを備える磁気ディスクドライブ21とSASエクスパンダ600との間は、現用系又は待機系の各々1ポートによって接続される。また、SATA(Serial Advanced Technology Attachment)インターフェースを備える磁気ディスクドライブ21とSASエクスパンダ600との間は、現用系の1ポート又は待機系の1ポートによって接続される。なお、SATAの磁気ディスクドライブ21は一つのポートのみ備えるので、磁気ディスクドライブ21のインターフェースにポート数を切り替えるポートアプリケータ610を設け、現用系の1ポート又は待機系の1ポート(合計2ポート)を1ポートに切り替えて、SATAの磁気ディスクドライブ21に接続する。   In addition, the number of ports connected between the SAS expander 600 and the magnetic disk drive 21 differs depending on the interface provided in the magnetic disk drive 21. For example, the magnetic disk drive 21 having the SAS interface and the SAS expander 600 are connected by one port for each of the active system and the standby system. In addition, the magnetic disk drive 21 having a SATA (Serial Advanced Technology Attachment) interface and the SAS expander 600 are connected by one port of the active system or one port of the standby system. Since the SATA magnetic disk drive 21 has only one port, a port applicator 610 for switching the number of ports is provided at the interface of the magnetic disk drive 21, and one port for the active system or one port for the standby system (two ports in total) Is connected to the SATA magnetic disk drive 21.

また、SASエクスパンダ600は、他の筐体(例えば、ドライブ筐体2)のSASエクスパンダ600と、SASインターフェースによって接続される。   The SAS expander 600 is connected to the SAS expander 600 of another housing (for example, the drive housing 2) by a SAS interface.

磁気ディスクドライブ21は、磁気ディスクにデータを記録する。磁気ディスクドライブ21は、SASインターフェースによって、SASエクスパンダ600を介して、ディスク制御部200と接続される。   The magnetic disk drive 21 records data on the magnetic disk. The magnetic disk drive 21 is connected to the disk control unit 200 via the SAS expander 600 by a SAS interface.

半導体記憶装置22は、不揮発性メモリ(例えば、フラッシュメモリ)を備える、いわゆるSSD(Solid State Disk)であって、SASインターフェースによってディスク制御部200と接続される。なお、半導体記憶装置22を構成するメモリ素子は、フラッシュメモリに限らず、M-RAM、P−RAM、STT−RAM、レーストラックメモリ等の半導体素子であってもよい。   The semiconductor memory device 22 is a so-called SSD (Solid State Disk) including a non-volatile memory (for example, a flash memory), and is connected to the disk controller 200 via a SAS interface. The memory elements constituting the semiconductor memory device 22 are not limited to flash memories, and may be semiconductor elements such as M-RAM, P-RAM, STT-RAM, racetrack memory, and the like.

本実施の形態のストレージシステムのドライブ筐体2は、SASエクスパンダ600及び磁気ディスクドライブ21を備える。図4に示すドライブ筐体2は、磁気ディスクドライブ21のみを備えるが、磁気ディスクドライブ21の他に、半導体記憶装置22を備えてもよい。   The drive chassis 2 of the storage system according to the present embodiment includes a SAS expander 600 and a magnetic disk drive 21. The drive housing 2 illustrated in FIG. 4 includes only the magnetic disk drive 21, but may include a semiconductor storage device 22 in addition to the magnetic disk drive 21.

図5は、本発明の第1の実施の形態の半導体記憶装置22の正面図である。   FIG. 5 is a front view of the semiconductor memory device 22 according to the first embodiment of this invention.

半導体記憶装置22は、その前面に、ラッチ解除レバー221、SDメモリカードスロット222及び状態表示LED223を備える。また、半導体記憶装置22は、その内部に、前面基板、ベース基板、増設メモリ基板1及び増設メモリ基板2を備える(図6参照)。   The semiconductor storage device 22 includes a latch release lever 221, an SD memory card slot 222, and a status display LED 223 on the front surface thereof. The semiconductor memory device 22 includes a front substrate, a base substrate, an additional memory substrate 1 and an additional memory substrate 2 therein (see FIG. 6).

ラッチ解除レバー221は、半導体記憶装置22をコントローラ筐体1(又は、ドライブ筐体2)から取り外すときに操作される。   The latch release lever 221 is operated when the semiconductor memory device 22 is removed from the controller housing 1 (or the drive housing 2).

SDメモリカードスロット222は、半導体記憶装置22に交替領域を提供するSDメモリカード1000を装着するためのインターフェースである。なお、SDメモリカード1000へ書き込まれるデータは、半導体記憶装置22の制御部によって暗号化された後に書き込まれる。   The SD memory card slot 222 is an interface for mounting an SD memory card 1000 that provides a replacement area for the semiconductor memory device 22. Note that the data written to the SD memory card 1000 is written after being encrypted by the control unit of the semiconductor memory device 22.

状態表示LED223は、赤/青/緑を1セットとし、左右に4個ずつ(合計8個)を備える。各状態表示LED223は、8個の各ポートの負荷状態を表示する。例えば、高負荷の場合は赤色に点灯させ、中負荷の場合は黄色(赤:通常+緑:通常)に点灯させ、小負荷の場合は緑色に点灯させ、及び負荷が極めて小さい場合は青色に点灯させる。   The status display LEDs 223 include red / blue / green as a set, and four LEDs on the left and right (a total of eight). Each status display LED 223 displays the load status of each of the eight ports. For example, light up red for high loads, light yellow (red: normal + green: normal) for medium loads, light green for light loads, and blue for very light loads. Light up.

また、状態表示LED223によって、半導体記憶装置22の動作状態を表示して、保守用途に使用してもよい。例えば、半導体記憶装置22に障害が発生した場合は、赤色に点滅させ、交替領域の残容量が閾値以下になった場合は、橙色(赤:通常+緑:減光)に点滅させることができる。この場合、ユーザは、状態表示LED223が橙色で点滅している半導体記憶装置22のSDメモリカードスロット222に、SDメモリカード1000を装着することによって、直ちに半導体記憶装置22を交換することなく、半導体記憶装置22を継続して動作させることができる。   Further, the operation state of the semiconductor memory device 22 may be displayed by the status display LED 223 and used for maintenance purposes. For example, when a failure occurs in the semiconductor memory device 22, it can be flashed in red, and when the remaining capacity of the replacement area is less than or equal to the threshold value, it can be flashed in orange (red: normal + green: dimmed). . In this case, the user installs the SD memory card 1000 in the SD memory card slot 222 of the semiconductor storage device 22 in which the status display LED 223 is blinking orange, so that the semiconductor storage device 22 is not immediately replaced without replacing the semiconductor storage device 22. The storage device 22 can be continuously operated.

このように、状態表示LED223を半導体記憶装置22の前面側から視認可能な位置に設けることによって、ユーザは、筐体の前面扉を開くことによって、ストレージシステムに実装された半導体記憶装置22の負荷状態を一目で確認することができ、ボリュームの負荷を直感的に理解することができる。このため、負荷を分散するための、ボリュームの再配置の計画が容易になる。   In this way, by providing the status display LED 223 at a position that can be seen from the front side of the semiconductor storage device 22, the user opens the front door of the housing to thereby load the semiconductor storage device 22 mounted in the storage system. The status can be confirmed at a glance, and the volume load can be understood intuitively. For this reason, it is easy to plan a volume relocation for distributing the load.

また、半導体記憶装置22の前面には、複数の空気導入孔224を備える。   In addition, a plurality of air introduction holes 224 are provided on the front surface of the semiconductor memory device 22.

図6Aは、本発明の第1の実施の形態の半導体記憶装置22のケースの構造を示す透視図である。   FIG. 6A is a perspective view showing the structure of the case of the semiconductor memory device 22 according to the first embodiment of the present invention.

半導体記憶装置22は、前面に空気導入孔224を備え、背面に空気排出口225を備える。例えば、コントローラ筐体1の中央部に排気ファンを設けることによって、コントローラ筐体1内の気流を前面から中央部に及び背面から中央部に流れるように制御すれば、半導体記憶装置22の前面から背面に空気が流れる。   The semiconductor memory device 22 includes an air introduction hole 224 on the front surface and an air discharge port 225 on the back surface. For example, by providing an exhaust fan in the central portion of the controller housing 1 so that the airflow in the controller housing 1 is controlled to flow from the front surface to the central portion and from the back surface to the central portion, from the front surface of the semiconductor memory device 22. Air flows on the back.

このようにすれば、磁気ディスクドライブ21が実装されたHDDモジュールの前面から導入した空気が、HDDの外周を流れるのに対し、半導体記憶装置22の内部へ空気を導入することができる。   In this way, air introduced from the front surface of the HDD module on which the magnetic disk drive 21 is mounted flows on the outer periphery of the HDD, whereas air can be introduced into the semiconductor memory device 22.

半導体記憶装置22は、前面の下部にSDメモリカード1000を挿入するための穴226を備える。   The semiconductor memory device 22 includes a hole 226 for inserting the SD memory card 1000 at the lower part of the front surface.

図6Bは、本発明の第1の実施の形態の半導体記憶装置22の内部構造を示す斜視図である。   FIG. 6B is a perspective view showing the internal structure of the semiconductor memory device 22 according to the first embodiment of the present invention.

半導体記憶装置22は、ベース基板2201、前面基板2202及び増設メモリ基板2203、2204、2205)を備える。   The semiconductor memory device 22 includes a base substrate 2201, a front substrate 2202, and additional memory substrates 2203, 2204, and 2205).

ベース基板2201は、インターフェースコネクタ228、不揮発性メモリ2225(図7参照)、制御部2222、2223(図7参照)、コネクタ2211及びスタッキングコネクタ2212、2213を備える。コネクタ2211は、前面基板2202と接続される。スタッキングコネクタ2212は増設メモリ基板2203と接続される。スタッキングコネクタ2213は増設メモリ基板2204と接続される。   The base board 2201 includes an interface connector 228, a nonvolatile memory 2225 (see FIG. 7), control units 2222 and 2223 (see FIG. 7), a connector 2211, and stacking connectors 2212 and 2213. Connector 2211 is connected to front substrate 2202. The stacking connector 2212 is connected to the additional memory board 2203. The stacking connector 2213 is connected to the additional memory board 2204.

前面基板2202は、コネクタ2211によってベース基板2201に取り付けられる。前面基板2202は、左右に4個ずつ(合計8個)の状態表示LED223を備える。また、前面基板2202は、下部にSDメモリカードスロット222を備える。   The front substrate 2202 is attached to the base substrate 2201 with a connector 2211. The front substrate 2202 includes four state display LEDs 223 (four in total) on the left and right. Further, the front substrate 2202 includes an SD memory card slot 222 at the bottom.

増設メモリ基板2203は、スタッキングコネクタ2212によってベース基板2201に取り付けられる。増設メモリ基板2204は、スタッキングコネクタ2213によってベース基板2201に取り付けられる。増設メモリ基板2205は、スタッキングコネクタ2214によって増設メモリ基板2203に取り付けられる。増設メモリ基板2203、2204、2205は、不揮発性メモリ素子を備える。   The additional memory board 2203 is attached to the base board 2201 by the stacking connector 2212. The additional memory board 2204 is attached to the base board 2201 by the stacking connector 2213. The expansion memory board 2205 is attached to the expansion memory board 2203 by the stacking connector 2214. The additional memory boards 2203, 2204, and 2205 include nonvolatile memory elements.

スタッキングコネクタ2212、2213及び2214は、その長手方向が、半導体記憶装置22の前面から背面に向かう方向に沿って配設される。本実施の形態の半導体記憶装置22は、その内部に風を通す構造であるため、スタッキングコネクタが空気の流れを妨げないように、スタッキングコネクタの長手方向が空気の流れと並行になるように配置されている。   The stacking connectors 2212, 2213, and 2214 are arranged along the direction from the front surface to the back surface of the semiconductor memory device 22. Since the semiconductor memory device 22 of the present embodiment has a structure that allows air to flow through the inside thereof, the stacking connector is arranged so that the longitudinal direction of the stacking connector is parallel to the air flow so as not to block the air flow. Has been.

図7は、本発明の第1の実施の形態の半導体記憶装置22(ベース基板2201)の構成を示すブロック図である。   FIG. 7 is a block diagram showing a configuration of the semiconductor memory device 22 (base substrate 2201) according to the first embodiment of the present invention.

第1の実施の形態の半導体記憶装置22は、インターフェースコネクタ228、物理インターフェース2221、プロトコル制御部2222、プロセッサ2223、メモリ2224、不揮発性メモリ2225、SDメモリカードスロット222、状態表示LED223、電源コネクタ229、バックアップ電源2226及び増設メモリ接続用コネクタ2213を備える。   The semiconductor storage device 22 according to the first embodiment includes an interface connector 228, a physical interface 2221, a protocol control unit 2222, a processor 2223, a memory 2224, a nonvolatile memory 2225, an SD memory card slot 222, a status display LED 223, and a power connector 229. A backup power source 2226 and an additional memory connection connector 2213.

インターフェースコネクタ228は、図8B及び図8Cを用いて後述するように、8ポートのSASインターフェースを収容する高密度コネクタである。   The interface connector 228 is a high-density connector that accommodates an 8-port SAS interface, as will be described later with reference to FIGS. 8B and 8C.

物理インターフェース2221は、SASプロトコルに従った信号を入出力するためのドライバである。プロトコル制御部2222は、SASプロトコルに従った信号の入出力を制御するためのコントローラである。   The physical interface 2221 is a driver for inputting and outputting signals according to the SAS protocol. The protocol control unit 2222 is a controller for controlling signal input / output in accordance with the SAS protocol.

SAS規格では、8個の物理ポートまでは同一SASアドレスでアクセス可能である。よって、従来の2個の物理ポートを備える記憶装置と同じ論理インターフェースによって本実施の形態の半導体記憶装置22のポート(現用系4ポート、待機系4ポート)を制御することができる。なお、現用系で8ポートを使用する場合は、待機系で8ポートを使用するので、現用系及び待機系で2つのSASアドレスが必要になる。なお、リンク毎にSASアドレスを設定してもよい。   In the SAS standard, up to eight physical ports can be accessed with the same SAS address. Therefore, it is possible to control the ports (active system 4 ports, standby system 4 ports) of the semiconductor storage device 22 of the present embodiment by the same logical interface as the storage device having two conventional physical ports. Note that when 8 ports are used in the active system, 8 ports are used in the standby system, so two SAS addresses are required in the active system and the standby system. Note that a SAS address may be set for each link.

プロセッサ2223は、メモリ2224に格納されたプログラムを実行することによって、半導体記憶装置22の動作、例えば、不揮発性メモリ2225へのデータの入出力を制御する。メモリ2224は、プロセッサ2223によって実行されるプログラム及びプログラムを実行するために必要なデータを格納する。不揮発性メモリ2225は、半導体記憶装置22に転送されるデータを格納するメモリである。   The processor 2223 controls the operation of the semiconductor memory device 22, for example, input / output of data to / from the nonvolatile memory 2225 by executing a program stored in the memory 2224. The memory 2224 stores a program executed by the processor 2223 and data necessary for executing the program. The nonvolatile memory 2225 is a memory that stores data transferred to the semiconductor memory device 22.

SDメモリカードスロット222は、半導体記憶装置22に交替領域を提供するSDメモリカード1000を装着するためのインターフェースである。状態表示LED223は、半導体記憶装置22の各ポートの負荷状態及び半導体記憶装置22の動作状態を表示する。   The SD memory card slot 222 is an interface for mounting an SD memory card 1000 that provides a replacement area for the semiconductor memory device 22. The status display LED 223 displays the load status of each port of the semiconductor memory device 22 and the operating status of the semiconductor memory device 22.

電源コネクタ229は、半導体記憶装置22に電源を供給するためのインターフェースである。バックアップ電源2226は、2次電池もしくは大容量キャパシタを備え、半導体記憶装置22への電源の供給が停止した後の所定時間、半導体記憶装置22の各部に電源を供給する。増設メモリ接続用コネクタ(スタッキングコネクタ)2212、2213は、増設メモリ基板2204を接続するためのインターフェースである。   The power connector 229 is an interface for supplying power to the semiconductor memory device 22. The backup power supply 2226 includes a secondary battery or a large-capacity capacitor, and supplies power to each part of the semiconductor memory device 22 for a predetermined time after the supply of power to the semiconductor memory device 22 is stopped. Additional memory connection connectors (stacking connectors) 2212 and 2213 are interfaces for connecting the additional memory board 2204.

図8Aから図8Cは、本発明の第1の実施の形態の記憶装置(磁気ディスクドライブ21、半導体記憶装置22)のインターフェースコネクタの配置の例を示す図である。   8A to 8C are diagrams showing examples of the arrangement of interface connectors of the storage devices (magnetic disk drive 21 and semiconductor storage device 22) according to the first embodiment of this invention.

図8Aに示すように、SASインターフェースを備える磁気ディスクドライブ21は、二つのデータ入出力ポートが含まれるSASインターフェースコネクタ227を備える。   As shown in FIG. 8A, the magnetic disk drive 21 having a SAS interface includes a SAS interface connector 227 including two data input / output ports.

また、図8Bに示すように、半導体記憶装置22は、従来のSASインターフェースコネクタ227と、複数のデータ入出力ポートが含まれる高密度SASインターフェースコネクタ228とを備える。図8Bに示す場合、8ポートを高密度SASインターフェースコネクタ228経由で接続してもよく、2ポートを従来のSASインターフェースコネクタ227経由で、6ポートを高密度SASインターフェースコネクタ228経由で接続してもよい。また、半導体記憶装置22への電源は従来のSASインターフェースコネクタ227を経由して供給される。   Further, as shown in FIG. 8B, the semiconductor memory device 22 includes a conventional SAS interface connector 227 and a high-density SAS interface connector 228 including a plurality of data input / output ports. In the case shown in FIG. 8B, 8 ports may be connected via the high-density SAS interface connector 228, 2 ports may be connected via the conventional SAS interface connector 227, and 6 ports may be connected via the high-density SAS interface connector 228. Good. Further, power to the semiconductor memory device 22 is supplied via a conventional SAS interface connector 227.

また、図8Cに示すように、半導体記憶装置22は、複数のデータ入出力ポートが含まれる高密度SASインターフェースコネクタ228と、電源コネクタ229とを備えてもよい。図8Cに示す場合、8ポートが高密度SASインターフェースコネクタ228経由で提供される。また、半導体記憶装置22への電源は電源コネクタ229を経由して供給される。   Further, as shown in FIG. 8C, the semiconductor memory device 22 may include a high-density SAS interface connector 228 including a plurality of data input / output ports, and a power connector 229. In the case shown in FIG. 8C, 8 ports are provided via the high density SAS interface connector 228. In addition, power to the semiconductor memory device 22 is supplied via the power connector 229.

すなわち、本実施の形態のストレージシステムにおいて、磁気ディスクドライブ21及び半導体記憶装置22は、従来のSASインターフェースコネクタ227、高密度SASインターフェースコネクタ228及び電源コネクタ229が互いに干渉することなく、必要なコネクタを使用することができる。この場合、磁気ディスクドライブ21は2ポートのみを使用し、半導体記憶装置22は8ポートを使用する。   In other words, in the storage system of the present embodiment, the magnetic disk drive 21 and the semiconductor storage device 22 have the necessary connectors without interfering with the conventional SAS interface connector 227, high-density SAS interface connector 228, and power connector 229. Can be used. In this case, the magnetic disk drive 21 uses only 2 ports, and the semiconductor memory device 22 uses 8 ports.

図9Aから図9Hは、本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。   9A to 9H are explanatory diagrams illustrating an example of logical partitioning of a storage area and allocation of paths (bandwidths) of the logically partitioned storage area according to the first embodiment of this invention.

図9Aに示す半導体記憶装置22の場合、記憶領域は論理分割されず、一つの論理的記憶領域として提供される。この場合、現用系の4個のパスは24Gbit/sの一つのリンクを形成して、高速にデータを転送するワイドリンクパスとして使用される。   In the case of the semiconductor memory device 22 shown in FIG. 9A, the storage area is not logically divided and is provided as one logical storage area. In this case, the four paths in the working system form one link of 24 Gbit / s and are used as wide link paths for transferring data at high speed.

図9Bに示す半導体記憶装置22の場合、記憶領域は等しい容量の二つの領域に論理分割される。この場合、現用系の4個のパスは12Gbit/sのリンクを形成して、高速にデータを転送する二つのマルチリンクパスに設定され、各12Gbit/sのパスは論理分割された各記憶領域に割り当てられる。よって、論理分割された各記憶領域は、独立に12Gbit/sの帯域を使ってデータを転送することができる。本発明においては、このようにワイドリンクとして使用可能なリンク内を複数のリンクに分割し、前記分割したリンクを独立して転送可能とする技術を、従来技術であるワイドリンクと区別する為に、マルチリンクと称することにする。   In the case of the semiconductor memory device 22 shown in FIG. 9B, the storage area is logically divided into two areas of equal capacity. In this case, the four paths of the working system form a 12 Gbit / s link and are set to two multilink paths that transfer data at high speed, and each 12 Gbit / s path is a logically divided storage area. Assigned to. Therefore, each logically divided storage area can independently transfer data using a bandwidth of 12 Gbit / s. In the present invention, in order to distinguish the technology that divides a link that can be used as a wide link into a plurality of links and enables the divided links to be transferred independently from the conventional wide link. This will be referred to as a multilink.

図9Dに示す半導体記憶装置22の場合、記憶領域は等しい容量の四つの領域に論理分割される。この場合、現用系の4個の6Gbit/sのパスは論理分割された各記憶領域に割り当てられる。よって、論理分割された各記憶領域は、独立に6Gbit/sの帯域を使ってデータを転送することができる。   In the case of the semiconductor memory device 22 shown in FIG. 9D, the storage area is logically divided into four areas of equal capacity. In this case, the four 6 Gbit / s paths in the active system are assigned to each logically divided storage area. Therefore, each of the logically divided storage areas can independently transfer data using a 6 Gbit / s band.

図9A、図9B及び図9Dに示す半導体記憶装置22の場合、記憶領域の分割の割合とパスの分割の割合とが均等であった。しかし、本発明の実施の形態では、記憶領域の分割の割合とパスの分割の割合とが均等でなくてもよい。   In the case of the semiconductor memory device 22 shown in FIGS. 9A, 9B, and 9D, the division ratio of the storage area and the division ratio of the path are equal. However, in the embodiment of the present invention, the storage area division ratio and the path division ratio may not be equal.

例えば、図9Cに示す半導体記憶装置22の場合、記憶領域は等しい容量の三つの領域に論理分割される。この場合、現用系の4個のパスは、一つの12Gbit/sのマルチリンクパスと二つの6Gbit/sのパスとに設定される。そして、論理分割された一つの領域には12Gbit/sのパスが割り当てられ、他の二つの領域には各々6Gbit/sのパスが割り当てられる。よって、論理分割された各記憶領域は、独立に割り当てられた12Gbit/s又は6Gbit/sの帯域を使ってデータを転送することができる。   For example, in the case of the semiconductor memory device 22 shown in FIG. 9C, the storage area is logically divided into three areas of equal capacity. In this case, the four paths in the active system are set to one 12 Gbit / s multilink path and two 6 Gbit / s paths. Then, a 12 Gbit / s path is assigned to one logically divided area, and a 6 Gbit / s path is assigned to each of the other two areas. Thus, each logically divided storage area can transfer data using a bandwidth of 12 Gbit / s or 6 Gbit / s allocated independently.

このように論理分割された記憶領域に一つのパス又は複数のパスを纏めたマルチリンクパスを割り当てることによって、I/F全体の帯域を記憶装置の性能に応じて適切に配分できる。そして、磁気ディスクドライブより高い速度で読み書き可能な半導体記憶装置22の性能を生かすことができる。   By assigning a single link or a multilink path in which a plurality of paths are combined to the logically divided storage area in this way, the bandwidth of the entire I / F can be appropriately distributed according to the performance of the storage device. The performance of the semiconductor memory device 22 that can read and write at a higher speed than the magnetic disk drive can be utilized.

すなわち、現用系で4ポートを使用し、記憶領域を論理的に4分割した場合、記憶領域の分割数が4までは記憶装置毎にポートを設定することができる。プロセッサ400は半導体記憶装置22にモードセレクトコマンドを送信し、論理分割数及び分割された各領域のアドレス範囲を指示する。半導体記憶装置22は、受信したモードセレクトコマンドに従って、論理分割された領域とポートとを関連付けし、論理分割された各領域に識別子(LUN)を割り当てる。   That is, when 4 ports are used in the active system and the storage area is logically divided into four, it is possible to set a port for each storage device up to four storage area divisions. The processor 400 transmits a mode select command to the semiconductor memory device 22 to instruct the logical division number and the address range of each divided area. In accordance with the received mode select command, the semiconductor memory device 22 associates the logically divided area with the port and assigns an identifier (LUN) to each logically divided area.

使用可能な物理ポート数を越えて記憶領域を分割した場合、コントローラ側(プロセッサ400)でI/Oターゲットの記憶領域を指定することが、パフォーマンス的には望ましい。しかし、半導体記憶装置22の処理能力に余裕がある場合は、記憶装置側でI/Oターゲットの記憶領域を判定してもよい。   When the storage area is divided beyond the number of usable physical ports, it is desirable in terms of performance to specify the storage area of the I / O target on the controller side (processor 400). However, if the processing capacity of the semiconductor memory device 22 is sufficient, the storage device side may determine the storage area of the I / O target.

このように、記憶領域の分割の割合とパスの分割の割合とを不均等にすることによって、ユーザの要求に適合するように論理分割された記憶領域を提供することができる。   In this manner, by making the storage area division ratio and the path division ratio non-uniform, it is possible to provide a storage area that is logically divided to meet the user's request.

また、記憶装置の論理分割を、ストレージシステムの論理分割と組み合わせることによって、さらにきめ細かい性能を調整することができる。   Further, finer performance can be adjusted by combining the logical division of the storage device with the logical division of the storage system.

次に、磁気ディスクドライブ21の場合の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例について説明する。   Next, an example of logical division of a storage area and assignment of a path (bandwidth) of the logically divided storage area in the case of the magnetic disk drive 21 will be described.

図9Eに示す磁気ディスクドライブ21の場合、現用系のパスは1本しか設定できないので、待機系のパスを現用系に転用しない限り、パスを論理分割することはできない。よって、記憶領域が二つの領域に分割された場合でも、論理分割された各領域で6Gbit/sのパス(帯域)が、論理分割された二つの領域によって共用される。   In the case of the magnetic disk drive 21 shown in FIG. 9E, since only one active path can be set, the path cannot be logically divided unless the standby path is diverted to the active system. Therefore, even when the storage area is divided into two areas, a 6 Gbit / s path (bandwidth) is shared by the two logically divided areas in each logically divided area.

また、図9Fに示す磁気ディスクドライブ21のように、記憶領域が分割できない場合、1本の現用系のパスが記憶領域に割り当てられる。よって、6Gbit/sのパス(帯域)が、一つの領域によって使用される。   If the storage area cannot be divided as in the magnetic disk drive 21 shown in FIG. 9F, one active path is assigned to the storage area. Therefore, a 6 Gbit / s path (bandwidth) is used by one area.

図10は、図9Aから図9Fに示す論理分割とパスの割り当てとを実現するための構成情報の説明図である。   FIG. 10 is an explanatory diagram of configuration information for realizing the logical partitioning and path allocation shown in FIGS. 9A to 9F.

図10に示す構成情報はプロセッサ400によって管理され、共有メモリ450に格納されている。この構成情報は、ホストグループ1701、論理分割グループ1702、フロントエンドポート1703、システム処理能力1704、キャッシュ容量、モード1705、バックエンドゾーニング1706、ボリュームグループ1707、ドライブタイプ1708、及び論理分割の割当情報(領域情報1709、パス情報1710)を含む。   The configuration information shown in FIG. 10 is managed by the processor 400 and stored in the shared memory 450. This configuration information includes host group 1701, logical partition group 1702, front end port 1703, system processing capacity 1704, cache capacity, mode 1705, back end zoning 1706, volume group 1707, drive type 1708, and logical partition allocation information ( Area information 1709 and path information 1710).

ホストグループ1701は、この論理分割グループ(記憶領域)にアクセスするホスト計算機10のグループの識別子である。論理分割グループ1702は、論理分割された記憶領域の識別子である。フロントエンドポート1703は、この論理分割グループへのアクセスのために使用されるチャネル制御部100のポートの識別子であり、この論理分割グループへのアクセスのために使用されるポート数の情報も含む。   The host group 1701 is an identifier of the group of the host computer 10 that accesses this logical partition group (storage area). The logical partition group 1702 is an identifier of a logically partitioned storage area. The front-end port 1703 is an identifier of the port of the channel control unit 100 used for accessing this logical partition group, and includes information on the number of ports used for accessing this logical partition group.

システム処理能力1704は、この論理分割グループへのアクセス処理の性能である。キャッシュ容量、モード1705は、この論理分割グループへのアクセスのために使用されるキャッシュメモリ400の容量、及び、キャッシュメモリ400へのアクセスモード(ランダムアクセスか、シーケンシャルアクセスか)である。バックエンドゾーニング1706は、この論理分割グループへのアクセスに使用されるディスク制御部200下のパスのゾーニングの種類である。   The system processing capacity 1704 is the performance of access processing to this logical partition group. The cache capacity and mode 1705 are the capacity of the cache memory 400 used for accessing this logical partition group and the access mode (random access or sequential access) to the cache memory 400. The back-end zoning 1706 is a zoning type of a path under the disk control unit 200 used for accessing this logical partition group.

ボリュームグループ1707は、この論理分割グループを構成する論理ボリュームの識別子である。ドライブタイプ1708は、この論理分割グループを構成する記憶装置の種類である。   The volume group 1707 is an identifier of a logical volume that constitutes this logical partition group. The drive type 1708 is the type of storage device that constitutes this logical partition group.

論理分割の割当情報は、領域情報1709及びパス情報1710を含む。領域情報1709は、この論理分割グループを構成する記憶容量である。パス情報1710は、この論理分割グループへのアクセスに使用されるパスの帯域である。   The logical partition allocation information includes area information 1709 and path information 1710. The area information 1709 is a storage capacity constituting this logical partition group. The path information 1710 is a bandwidth of a path used for accessing this logical partition group.

想定負荷1711は、このテーブル内に例として設定された論理分割グループへのアクセス負荷の想定である。   The assumed load 1711 is an assumption of an access load to the logical partition group set as an example in this table.

なお、半導体記憶装置22は高速で応答が可能であるため、磁気ディスクドライブ21よりキャッシュメモリ400の容量の割り当てを小さくすることができる。また、図10に示す構成情報では、磁気ディスクドライブ21は、データ転送の速度より磁気ディスクへのアクセス性能がボトルネックであるため、一つのポートを割り当てている。しかし、半導体メモリを混載したハイブリッドタイプの磁気ディスクドライブの場合や、磁気ディスクの記録密度が向上して、磁気ディスクドライブのパフォーマンスが向上した場合等では、半導体記憶装置22と同様に複数のポートを割り当ててもよい。   Since the semiconductor memory device 22 can respond at high speed, the allocation of the capacity of the cache memory 400 can be made smaller than that of the magnetic disk drive 21. In the configuration information shown in FIG. 10, the magnetic disk drive 21 is assigned one port because the access performance to the magnetic disk is a bottleneck based on the data transfer speed. However, in the case of a hybrid type magnetic disk drive in which semiconductor memories are mixed, or in the case where the recording density of the magnetic disk is improved and the performance of the magnetic disk drive is improved, a plurality of ports are provided as in the semiconductor memory device 22. It may be assigned.

図11は、本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。なお、図11は現用系のリンクのみを示し、待機系のリンクは図示した現用系のリンクと同数備わるとよい。   FIG. 11 is a diagram illustrating an example of links set in the storage system according to the first embodiment of this invention. FIG. 11 shows only the active links, and the standby links are preferably provided in the same number as the active links shown.

コントローラ筐体1のコントローラ600A上のプロトコル制御部602Aは各々8個の物理インターフェース601Aを制御している。各物理インターフェース601Aは、一つの物理ポートを提供し、各ポートが一つのリンクを形成している。   The protocol control unit 602A on the controller 600A of the controller housing 1 controls eight physical interfaces 601A. Each physical interface 601A provides one physical port, and each port forms one link.

コントローラ筐体1から出力されるリンクのうち、半導体記憶装置22へのリンクは、4本ずつ纏められ、24Gbit/sの二つのリンクを形成している。一方、磁気ディスクドライブ21へのリンクは、6Gbit/sの八つのリンクを形成している。   Of the links output from the controller housing 1, four links to the semiconductor storage device 22 are gathered together to form two links of 24 Gbit / s. On the other hand, the links to the magnetic disk drive 21 form eight links of 6 Gbit / s.

コントローラ筐体1と接続されるドライブ筐体2AのSASエクスパンダ600Aは、コントローラ筐体1からの八つのリンクを4本ずつ纏め、24Gbit/sの二つを形成し、24Gbit/sのリンクを二つの半導体記憶装置22に提供する。   The SAS expander 600A of the drive housing 2A connected to the controller housing 1 collects four links from the controller housing 1 by four, forms two of 24 Gbit / s, and links 24 Gbit / s. The two semiconductor memory devices 22 are provided.

ドライブ筐体2AのSASエクスパンダ600Bは、6Gbit/sの八つのリンクのまま、ドライブ筐体2Bに出力する。ドライブ筐体2BのSASエクスパンダ600Cは、6Gbit/sの八つのリンクを磁気ディスクドライブ21に提供する。   The SAS expander 600B of the drive chassis 2A outputs the 6 Gbit / s eight links to the drive chassis 2B as it is. The SAS expander 600C of the drive housing 2B provides eight links of 6 Gbit / s to the magnetic disk drive 21.

すなわち、半導体記憶装置22へのデータ転送には、複数のリンクを纏めたマルチリンクを使用する。一方、磁気ディスクドライブ21へのデータ転送には、マルチリンクを使用しないで、各パスを独立に制御する。なお、記憶装置へのパスの一部分をマルチリンクとし、マルチリンクと独立のリンクを組み合わせてパスを形成してもよい。   That is, for data transfer to the semiconductor memory device 22, a multilink in which a plurality of links are combined is used. On the other hand, for data transfer to the magnetic disk drive 21, each path is controlled independently without using a multilink. Note that a part of the path to the storage device may be a multilink, and the path may be formed by combining a multilink and an independent link.

次に、仮想的に構成されたマルチリンクについて説明する。   Next, the virtually configured multilink will be described.

本実施の形態では、半導体記憶装置22の、各々6Gbit/sの四つのポートを使用して、仮想マルチリンクによって、最大12Gbit/sの4本の仮想リンクを構成する。   In the present embodiment, four virtual links of a maximum of 12 Gbit / s are configured by virtual multilinks using four ports of 6 Gbit / s each of the semiconductor memory device 22.

管理者は、ストレージシステムに(例えば、管理ネットワークを介して)接続された管理計算機を用いて、半導体記憶装置22の記憶容量を論理的に分割し、分割された記憶領域毎に仮想ストレージを構成する。   The administrator logically divides the storage capacity of the semiconductor storage device 22 using a management computer connected to the storage system (for example, via a management network), and configures virtual storage for each divided storage area To do.

ストレージシステムのプロセッサ400は、管理者の指示に従って、コントローラユニット1020のリソース(各制御部の処理能力、プロセッサの処理能力、及びキャッシュの容量)を配分し、SASエクスパンダ600のゾーニングを設定することによって、仮想マルチリンクのための物理ポートのペアを設定する。さらに、仮想マルチリンクが適用される半導体記憶装置22にも、論理分割及び仮想マルチリンクを設定する。   The processor 400 of the storage system allocates the resources of the controller unit 1020 (the processing capacity of each control unit, the processing capacity of the processor, and the capacity of the cache) in accordance with an instruction from the administrator, and sets the zoning of the SAS expander 600 To set a physical port pair for virtual multilink. Furthermore, logical division and virtual multilink are also set in the semiconductor memory device 22 to which virtual multilink is applied.

SASエクスパンダ600及び半導体記憶装置22のマルチリンクの設定が完了した後、プロセッサ400は、マルチリンク開始のコマンドをSASエクスパンダ600に発行する。SASエクスパンダ600は、当該コマンドを受信した後、配下の半導体記憶装置22とリンクのネゴシエーションを開始する。SASエクスパンダ600は、当該ネゴシエーションの完了後、設定されたモードによる動作を開始し、当該動作が可能である旨の通知をプロセッサ400に報告する。   After the multi-link setting of the SAS expander 600 and the semiconductor storage device 22 is completed, the processor 400 issues a multi-link start command to the SAS expander 600. After receiving the command, the SAS expander 600 starts link negotiation with the subordinate semiconductor memory device 22. The SAS expander 600 starts the operation in the set mode after the completion of the negotiation, and reports to the processor 400 that the operation is possible.

プロセッサ400は、当該通知を受信した後、同時に動作可能な二つのペア(例えば、ポート0/1とポート2/3、ポート1/2とポート0/3)の属する論理分割グループの並列処理を優先して行うように、ディスク制御部200等を設定する。   After receiving the notification, the processor 400 performs parallel processing of the logical partition group to which two pairs that can operate simultaneously (for example, port 0/1 and port 2/3, port 1/2 and port 0/3) belong. The disk control unit 200 and the like are set so that priority is given.

ディスク制御部200は、コントローラから書き込まれる処理キューを監視して、並列処理が可能なI/Oを優先的に実行するように、コマンドの実行順序を制御する。これによって、帯域を効率的に使用することができる。   The disk control unit 200 monitors the processing queue written from the controller, and controls the execution order of commands so as to preferentially execute I / O that can be processed in parallel. As a result, the bandwidth can be used efficiently.

また、SASエクスパンダ600は、一つの物理ポートを複数の論理区画に割り当てる仮想ゾーニングによって、複数の論理区画で物理ポートを共用しつつ、論理区画毎にストレージドメインを形成することができる。   Further, the SAS expander 600 can form a storage domain for each logical partition while sharing the physical port among the plurality of logical partitions by virtual zoning in which one physical port is assigned to the plurality of logical partitions.

また、半導体記憶装置22とSASエクスパンダ600との間の複数のポートを、論理分割されたリンク毎に休止してもよい。また、ポート(リンク)の休止に対応して半導体記憶装置22の対応する記憶領域を停止してもよい。このように論理分割毎にストレージシステムの動作を停止することによって、消費電力を低減することができる。   A plurality of ports between the semiconductor memory device 22 and the SAS expander 600 may be suspended for each logically divided link. Further, the corresponding storage area of the semiconductor memory device 22 may be stopped in response to the suspension of the port (link). Thus, by stopping the operation of the storage system for each logical division, the power consumption can be reduced.

また、各論理区画の負荷に応じて、半導体記憶装置22とSASエクスパンダ600との間の複数のポートの一部を休止してもよい。   Further, some of the plurality of ports between the semiconductor memory device 22 and the SAS expander 600 may be suspended according to the load of each logical partition.

図12Aから図12Dは、本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。図12Aから図12Dに示すリンクの例は、一つ又は複数のリンクを時分割して、複数の記憶領域で共用する。   12A to 12D are diagrams for explaining examples of links set in the storage system according to the first embodiment of this invention. In the link examples shown in FIGS. 12A to 12D, one or a plurality of links are time-divided and shared by a plurality of storage areas.

図12Aは、論理分割された記憶領域に割り当てられたリンクを時分割で使用してデータを転送する仮想マルチリンクの例を示す。   FIG. 12A shows an example of a virtual multilink that transfers data using time-division links allocated to logically divided storage areas.

記憶領域は四つの記憶領域1101〜1104に分割されている。ポート(リンク)は複数の記憶領域によって共用されるように割り当てられる。すなわち、記憶領域1101にはリンク1及び2が割り当てられ、データ1111はリンク1及び2によって記憶領域1101に転送される。記憶領域1102にはリンク2及び3が割り当てられ、データ1112はリンク2及び3によって記憶領域1102に転送される。記憶領域1103にはリンク1及び4が割り当てられ、データ1113はリンク1及び4によって記憶領域1103に転送される。記憶領域1104にはリンク3及び4が割り当てられ、データ1114はリンク3及び4によって記憶領域1104に転送される。   The storage area is divided into four storage areas 1101 to 1104. A port (link) is allocated so as to be shared by a plurality of storage areas. That is, links 1 and 2 are allocated to the storage area 1101, and the data 1111 is transferred to the storage area 1101 by the links 1 and 2. Links 2 and 3 are allocated to the storage area 1102, and the data 1112 is transferred to the storage area 1102 by the links 2 and 3. Links 1 and 4 are allocated to the storage area 1103, and the data 1113 is transferred to the storage area 1103 by the links 1 and 4. Links 3 and 4 are allocated to the storage area 1104, and the data 1114 is transferred to the storage area 1104 through the links 3 and 4.

この場合、プロセッサ400もしくはディスク制御部200は、半導体記憶装置22にデータを転送する場合、割り当てられたポートをチェックして、ポートが空いているか否かを判定する。そして、空いているポートを使用して一つのリンクを形成するようにデータを転送する。   In this case, when transferring data to the semiconductor memory device 22, the processor 400 or the disk control unit 200 checks the assigned port to determine whether or not the port is free. Then, the data is transferred so as to form one link using the vacant port.

このように各リンクを時分割して使用することで、各記憶領域では最大12Gbit/sでデータを転送することができる。   Thus, by using each link in a time-sharing manner, data can be transferred at a maximum of 12 Gbit / s in each storage area.

図12Bは、図12Aに示すリンク1に障害が発生した場合に、待機系のリンク5を使用してデータを転送する状態を示す。   FIG. 12B shows a state in which data is transferred using the standby link 5 when a failure occurs in the link 1 shown in FIG. 12A.

リンク1には障害が発生したので、リンク1の代わりに待機系のリンク5が現用系に割り当てられる。   Since a failure has occurred in link 1, standby link 5 is assigned to the active system instead of link 1.

このため、記憶領域1101にはリンク2及び5が割り当てられ、記憶領域1101に転送されるデータ1111はリンク2及び5によって転送される。記憶領域1103にはリンク4及び5が割り当てられ、記憶領域1103に転送されるデータ1113はリンク4及び5によって転送される。記憶領域1102及び1104に対するリンクの割り当ては、図12Aに示した場合と同じである。   Therefore, links 2 and 5 are allocated to the storage area 1101, and data 1111 transferred to the storage area 1101 is transferred by the links 2 and 5. Links 4 and 5 are allocated to the storage area 1103, and data 1113 transferred to the storage area 1103 is transferred by the links 4 and 5. The allocation of links to the storage areas 1102 and 1104 is the same as that shown in FIG. 12A.

このように、本実施の形態では、現用系及び待機系のパスを自由に組み合わせてリンクを形成することができるので、一部のリンクに障害が発生した場合でも、従来のSAS規格のワイドリンクのように、纏められたリンクの全てを切り換える必要がない。すなわち、現用系の一部のパスに障害が発生した場合、障害が発生した一部のパスのみを切り換えることによって、待機系のリンクの一部を併用して、データを転送することができる。このため、障害発生時も通常時と同じ帯域を使用してデータを転送することができる。   As described above, in this embodiment, the link can be formed by freely combining the working and standby paths, so that even when a failure occurs in some links, the conventional wide link of the SAS standard is used. As described above, it is not necessary to switch all of the collected links. That is, when a failure occurs in a part of the working path, data can be transferred using a part of the standby system link by switching only the part of the path in which the failure has occurred. For this reason, even when a failure occurs, data can be transferred using the same bandwidth as in normal times.

図12Cは、通常時に、現用系のリンク1〜4及び待機系のリンク5〜8も使用してデータを転送する例を示す。   FIG. 12C illustrates an example in which data is transferred using the active links 1 to 4 and the standby links 5 to 8 in a normal state.

記憶領域1101にはリンク1、2、7及び8が割り当てられ、データ1111はリンク1、2、7及び8によって記憶領域1101に転送される。記憶領域1102にはリンク2、3、5及び8が割り当てられ、データ1112はリンク2、3、5及び8によって記憶領域1102に転送される。記憶領域1103にはリンク1、4、6及び7が割り当てられ、データ1113はリンク1、4、6及び7によって記憶領域1103に転送される。記憶領域1104にはリンク3、4、5及び6が割り当てられ、データ1114はリンク3、4、5及び6によって記憶領域1104に転送される。   Links 1, 2, 7, and 8 are allocated to the storage area 1101, and the data 1111 is transferred to the storage area 1101 by the links 1, 2, 7, and 8. Links 2, 3, 5, and 8 are allocated to the storage area 1102, and the data 1112 is transferred to the storage area 1102 by the links 2, 3, 5, and 8. Links 1, 4, 6 and 7 are allocated to the storage area 1103, and data 1113 is transferred to the storage area 1103 by the links 1, 4, 6 and 7. Links 3, 4, 5 and 6 are allocated to the storage area 1104, and the data 1114 is transferred to the storage area 1104 via the links 3, 4, 5 and 6.

このように現用系及び待機系のリンクを時分割して使用すると、各記憶領域では最大24Gbit/sでデータを転送することができ、ストレージシステムに備わるデータ転送帯域を有効に使用することができる。   Thus, when the active and standby links are used in a time-sharing manner, data can be transferred at a maximum of 24 Gbit / s in each storage area, and the data transfer band provided in the storage system can be used effectively. .

図12Dは、図12Cに示すリンク1に障害が発生した場合に、リンク1を使用していた記憶領域へのデータ転送を縮退してデータを転送する状態を示す。   FIG. 12D shows a state in which data transfer is performed by degenerating data transfer to the storage area using link 1 when a failure occurs in link 1 shown in FIG. 12C.

リンク1には障害が発生したので、記憶領域1101にはリンク7及び8が割り当てられ、データ1111はリンク7及び8によって記憶領域1101に転送される。記憶領域1103にはリンク6及び7が割り当てられ、データ1113はリンク6及び7によって記憶領域1103に転送される。記憶領域1102及び1104に対するリンクの割り当ては、図12Cに示した場合と同じである。   Since a failure has occurred in link 1, links 7 and 8 are allocated to storage area 1101, and data 1111 is transferred to storage area 1101 by links 7 and 8. Links 6 and 7 are allocated to the storage area 1103, and the data 1113 is transferred to the storage area 1103 by the links 6 and 7. The allocation of links to the storage areas 1102 and 1104 is the same as that shown in FIG. 12C.

このように、本実施の形態では、現用系及び待機系のパスを自由に組み合わせてリンクを形成することができるので、従来のSAS規格のワイドリンクのように、纏められたリンクの全てを切り換える必要がない。すなわち、現用系のパスと同じ帯域の待機系のパスを用意しておかなくてもよい。このため、一部のパスに障害が発生した場合に、パスを縮退し、データの転送を継続することができる。   As described above, in the present embodiment, since the link can be formed by freely combining the working and standby paths, all of the collected links are switched as in the case of the conventional SAS standard wide link. There is no need. In other words, it is not necessary to prepare a standby path having the same bandwidth as the active path. Therefore, when a failure occurs in a part of the paths, the paths can be degenerated and data transfer can be continued.

図13Aは、本発明の第1の実施の形態のプロセッサ400が管理する管理テーブル1200の構成を示す説明図である。   FIG. 13A is an explanatory diagram illustrating a configuration of a management table 1200 managed by the processor 400 according to the first embodiment of this invention.

管理テーブル1200は、論理分割された記憶領域とディスク制御部200のポートとの関係を示し、論理分割グループ1201、仮想マルチリンク1202、ターゲットポート1203及びディスクグループ1204を含む。   The management table 1200 shows the relationship between the logically partitioned storage areas and the ports of the disk controller 200, and includes a logical partition group 1201, a virtual multilink 1202, a target port 1203, and a disk group 1204.

論理分割グループ1201は、論理分割されたストレージシステムの論理区画の識別子である。仮想マルチリンク1202は、仮想的なマルチリンクとして使用されるリンクの数である。ターゲットポート1203は、ディスク制御部200のポートの識別子である。ディスクグループ1204は、SASエクスパンダ600のポート(このポートに接続されている記憶装置)の識別子である。   The logical partition group 1201 is an identifier of the logical partition of the logically partitioned storage system. The virtual multilink 1202 is the number of links used as a virtual multilink. The target port 1203 is a port identifier of the disk control unit 200. The disk group 1204 is an identifier of a port of the SAS expander 600 (a storage device connected to this port).

なお、管理テーブル1200のエントリ1205は通常時のポートの割り当てを示し、エントリ1206はポートA0に障害が発生した場合のポートの割り当てを示す。   Note that an entry 1205 of the management table 1200 indicates port assignment at the normal time, and an entry 1206 indicates port assignment when a failure occurs in the port A0.

図13Bは、本発明の第1の実施の形態のSASエクスパンダ600が管理する管理テーブル1210の構成を示す説明図である。   FIG. 13B is an explanatory diagram illustrating a configuration of the management table 1210 managed by the SAS expander 600 according to the first embodiment of this invention.

管理テーブル1210は、論理分割された記憶領域とSASエクスパンダ600のポートとの関係を示し、物理ポート1211、仮想ゾーングループ1212、仮想マルチリンク1213及び物理リンク1214のマッピング情報を含む。   The management table 1210 shows the relationship between the logically divided storage areas and the ports of the SAS expander 600, and includes mapping information of the physical port 1211, the virtual zone group 1212, the virtual multilink 1213, and the physical link 1214.

物理ポート1211は、SASエクスパンダ600のポートの識別子である。仮想ゾーングループ1212は、論理分割されたストレージシステムの論理区画の識別子である。仮想マルチリンク1213は、仮想的なマルチリンクとして使用されるリンクの数である。物理リンク1214は、物理的リンクの識別子である。   The physical port 1211 is a port identifier of the SAS expander 600. The virtual zone group 1212 is an identifier of a logical partition of the logically divided storage system. The virtual multilink 1213 is the number of links used as a virtual multilink. The physical link 1214 is a physical link identifier.

管理テーブル1210から分かるように、仮想リンクは一つのゾーンに対応しており、物理リンクは複数のゾーンにシェアされている。   As can be seen from the management table 1210, the virtual link corresponds to one zone, and the physical link is shared by a plurality of zones.

図14は、本発明の第1の実施の形態のコントローラ筐体1のプロセッサ400及びディスク制御部200において実行される処理のフローチャートである。   FIG. 14 is a flowchart of processing executed in the processor 400 and the disk control unit 200 of the controller housing 1 according to the first embodiment of this invention.

まず、ホスト計算機10からのI/O要求(書込要求、読出要求)を受けると、プロセッサ400は、記憶装置21、22へのI/Oを実行するためのコマンドを処理キューに格納し、コマンドを処理キューに格納した旨をディスク制御部200に指示する(S101)。   First, upon receiving an I / O request (write request, read request) from the host computer 10, the processor 400 stores a command for executing I / O to the storage devices 21 and 22 in the processing queue, The disk controller 200 is instructed that the command is stored in the processing queue (S101).

ディスク制御部200は、コマンドを処理キューに格納した旨の指示を受信した後、処理キューに格納されたコマンドを読み出す(S102)。そして、ディスク制御部200は、処理キューから読み出されたコマンドと並行して実行可能なコマンドがあるか否かを判定する(S103)。   After receiving the instruction that the command is stored in the processing queue, the disk control unit 200 reads the command stored in the processing queue (S102). Then, the disk control unit 200 determines whether there is a command that can be executed in parallel with the command read from the processing queue (S103).

判定の結果、処理キューから読み出されたコマンドと並行して実行可能なコマンドがある場合、ディスク制御部200は、処理キューから読み出されたコマンド及び並行して実行可能なコマンドを実行する(すなわち、実行されるコマンドに対応したI/OコマンドをSASインターフェース(SASエクスパンダ600)に出力する)。そして、両コマンドの実行が終了した後、処理キューから読み出されたコマンドをキューから削除し(S104)、並列して実行されたコマンドをキューから削除する(S105)。その後、ステップS107に進む。   If there is a command that can be executed in parallel with the command read from the processing queue as a result of the determination, the disk control unit 200 executes the command read from the processing queue and the command that can be executed in parallel ( That is, an I / O command corresponding to the command to be executed is output to the SAS interface (SAS expander 600). Then, after the execution of both commands is completed, the command read from the processing queue is deleted from the queue (S104), and the command executed in parallel is deleted from the queue (S105). Thereafter, the process proceeds to step S107.

一方、処理キューから読み出されたコマンドと並行して実行可能なコマンドがない場合、ディスク制御部200は、処理キューから読み出されたコマンドを実行する。そして、コマンドの実行が終了した後、処理キューから読み出されたコマンドをキューから削除する(S106)。その後、ステップS107に進む。   On the other hand, when there is no command that can be executed in parallel with the command read from the processing queue, the disk control unit 200 executes the command read from the processing queue. Then, after the execution of the command is completed, the command read from the processing queue is deleted from the queue (S106). Thereafter, the process proceeds to step S107.

ステップS107では、ディスク制御部200は、全ての処理キューにコマンドが格納されているか否かを判定する。判定の結果、いずれの処理キューにもコマンドが格納されていない場合、待機状態へ移行する。一方、いずれかの処理キューにコマンドが格納されている場合、ステップS102へ戻り、処理キューに格納されているコマンドを処理する。   In step S107, the disk control unit 200 determines whether the command is stored in all the processing queues. If no command is stored in any processing queue as a result of the determination, the process shifts to a standby state. On the other hand, if the command is stored in any of the processing queues, the process returns to step S102, and the command stored in the processing queue is processed.

図15は、本発明の第1の実施の形態のコントローラ筐体1のSASエクスパンダ600において実行される処理のフローチャートである。   FIG. 15 is a flowchart of processing executed in the SAS expander 600 of the controller housing 1 according to the first embodiment of this invention.

SASエクスパンダ600は、ディスク制御部200からのI/Oコマンドを受けると、I/Oコマンドによってデータを転送しようとするポートの状態を参照し、このポートはデータ転送中であるか否かを判定する(S111)。   When the SAS expander 600 receives an I / O command from the disk controller 200, the SAS expander 600 refers to the state of the port to which data is to be transferred by the I / O command, and determines whether this port is transferring data. Determination is made (S111).

判定の結果、I/Oコマンドによってデータを転送しようとするポートがデータ転送中である場合、さらに、管理テーブル1210(図13B)を参照し、このポートがマルチリンクされるポートであるか否かを判定する(S112)。   As a result of the determination, if a port to which data is to be transferred by an I / O command is being transferred, the management table 1210 (FIG. 13B) is further referred to and whether or not this port is a multi-linked port. Is determined (S112).

判定の結果、このポートがマルチリンクされるポートである場合、さらに、このI/Oはマルチリンクによって転送可能か否かを判定する(S113)。   If it is determined that the port is a multi-linked port, it is further determined whether or not the I / O can be transferred by the multi-link (S113).

判定の結果、このI/Oはマルチリンクによって転送可能である場合、受信したI/Oコマンドに従って、マルチリンクでI/Oを処理(データを転送)する(S114)。   As a result of the determination, if this I / O can be transferred by the multilink, the I / O is processed (data is transferred) by the multilink according to the received I / O command (S114).

一方、ポートがマルチリンクされるポートでない場合(S112でNO)、又は、このI/Oはマルチリンクによって転送不可能である場合(S113でNO)、ステップS111へ戻り、データを転送しようとするポートが空くまで待機する。   On the other hand, if the port is not a multi-linked port (NO in S112), or if this I / O cannot be transferred through the multi-link (NO in S113), the process returns to step S111 to try to transfer data. Wait until the port is free.

さらに、I/Oコマンドによってデータを転送しようとするポートがデータ転送中ではない場合(S111でNO)、さらに、データが転送されるポートがマルチリンクされるポートであるか否かを判定する(S115)。   Further, if the port to which data is to be transferred by the I / O command is not being transferred (NO in S111), it is further determined whether or not the port to which data is transferred is a multi-linked port ( S115).

判定の結果、このポートがマルチリンクされるポートである場合、受信したI/Oコマンドに従って、マルチリンクを使用してI/Oを処理(データを転送)する(S114)。   As a result of the determination, if this port is a multi-linked port, I / O is processed (data transfer) using the multi-link in accordance with the received I / O command (S114).

一方、ポートがマルチリンクされるポートでない場合、受信したI/Oコマンドに従って、処理通常の処理によって、I/Oを処理(データを転送)する(S116)。   On the other hand, if the port is not a multi-linked port, I / O is processed (data is transferred) by normal processing according to the received I / O command (S116).

図16は、本発明の第1の実施の形態の障害発生時のパス変更処理のフローチャートである。図16に示すパス変更処理によって、図12Bに示すようにパスが変更される。   FIG. 16 is a flowchart of path change processing when a failure occurs according to the first embodiment of this invention. By the path changing process shown in FIG. 16, the path is changed as shown in FIG. 12B.

仮想マルチリンクが設定されているポートの障害が検出された後に、SASエクスパンダ600は、障害が発生したポートの障害通知をディスク制御部200に通知する(S121)。   After the failure of the port for which the virtual multilink is set is detected, the SAS expander 600 notifies the disk controller 200 of the failure notification of the port where the failure has occurred (S121).

ディスク制御部200は、管理テーブル1200(図13A)を参照し、障害が検出されたポートが含まれるワイドリンクの全てのリンクが使用不能となったか否かを判定する(S122)。   The disk control unit 200 refers to the management table 1200 (FIG. 13A) and determines whether or not all the wide links including the port where the failure is detected have become unusable (S122).

判定の結果、障害が検出されたポートが含まれるワイドリンクの全てのリンクが使用不能となった場合、このポートに対応する待機系のポートにパスを変更する(S124)。   As a result of the determination, when all the wide links including the port where the failure is detected become unusable, the path is changed to a standby port corresponding to this port (S124).

一方、障害が検出されたポートが含まれるワイドリンクの一部のリンクが使用可能である場合、このマルチリンクに含まれるリンクのペアを変更し、パスの変更を、SASエクスパンダ600に通知する(S123)。   On the other hand, when a part of the wide link including the port in which the failure is detected is usable, the link pair included in the multilink is changed, and the change of the path is notified to the SAS expander 600. (S123).

SASエクスパンダ600は、パスの変更の通知を受信した後に、当該リンクのI/Oを変更されたパスへリダイレクトする(S125)。   After receiving the path change notification, the SAS expander 600 redirects the I / O of the link to the changed path (S125).

なお、図12Dに示すパス変更の場合、障害が発生したパスを含む仮想マルチリンクの使用するリンク数を減らす設定がされる。   In the case of the path change shown in FIG. 12D, a setting is made to reduce the number of links used by the virtual multilink including the path where the failure has occurred.

以上説明したように、第1の実施の形態では、論理分割された記憶領域に一つのパス又はマルチリンクパスを割り当てることによって、I/F全体の帯域を記憶装置の性能に応じて適切に配分でき、ストレージシステムの性能を向上することができる。   As described above, in the first embodiment, by assigning one path or multilink path to the logically divided storage area, the bandwidth of the entire I / F is appropriately allocated according to the performance of the storage device. And the performance of the storage system can be improved.

<実施形態2>
次に、本発明の第2の実施の形態について説明する。
<Embodiment 2>
Next, a second embodiment of the present invention will be described.

従来のストレージシステムでは、記憶装置への所定の書き込み単位毎に、データが正しいことを保証する検証コードを付加している。例えば、半導体記憶装置(いわゆる、SSD)及びSATAのディスクドライブでは512バイト毎に、また、FCのディスクドライブでは520バイト毎に、LA、LRC等の検証コードを付加している。   In the conventional storage system, a verification code for ensuring that the data is correct is added for each predetermined unit of writing to the storage device. For example, verification codes such as LA and LRC are added every 512 bytes in a semiconductor storage device (so-called SSD) and a SATA disk drive, and every 520 bytes in an FC disk drive.

さらに、コントローラが記憶装置にライト命令を発行しても、記憶装置にデータが書き込まれていないという問題が生じる場合がある。   Furthermore, even if the controller issues a write command to the storage device, there may be a problem that data is not written to the storage device.

そのため、従来技術では、データを書き込んだ後に、書き込まれたデータを読み出して、書き込みデータと読み出されたデータとを1バイト毎に比較していた。又は、書き込みデータの検証コードと読み出されたデータの検証コードとを全て比較していた。   Therefore, in the prior art, after writing data, the written data is read and the write data and the read data are compared for each byte. Alternatively, all the verification codes of the written data and the verification codes of the read data are compared.

しかし、前述した従来の方法では、書き込まれたデータを全て読み出すために転送帯域を消費し、データを比較するためにプロセッサの処理能力を消費するので、パフォーマンスの向上を妨げるという問題があった。このパフォーマンスの低下は、半導体記憶装置等の高速な処理が可能な記憶装置においては大きな問題となる。   However, the conventional method described above consumes a transfer bandwidth to read all the written data and consumes the processing capacity of the processor to compare the data, thus hindering improvement in performance. This deterioration in performance becomes a serious problem in a storage device capable of high-speed processing such as a semiconductor storage device.

この課題に対し、シーケンシャルデータについて、先頭及び最終ブロックのデータのみを比較することが提案されている(例えば、特開2005−165443号公報参照)。
しかし、前記の方法では、1回の書込みに対して、2回分のコマンド生成/発行およびステータス確認に要するオーバヘッドが大きいという問題があり、スループットの低下等が懸念される。
In order to deal with this problem, it has been proposed to compare only the data of the first and last blocks for sequential data (see, for example, JP-A-2005-165443).
However, the above method has a problem that the overhead required for command generation / issuance and status confirmation for two times is large with respect to one writing, and there is a concern about a decrease in throughput.

この問題を解決するために、第2の実施の形態では、記憶装置の複数のブロックのデータに付加された検証コードのうち、最後のブロックのみ又は最後のブロックから数ブロックのデータに付加された検証コードを使用して、データを検証する。   In order to solve this problem, in the second embodiment, among the verification codes added to the data of a plurality of blocks of the storage device, only the last block is added to the data of several blocks from the last block. Use a verification code to verify the data.

第2の実施の形態の検証コードは、例えば、8バイトで、アドレス検証コード(RAIDグループ内のアドレス等のシーケンシャルな番号)、連続性検証コード(データの書き込み毎に生成される識別子、書き込まれたデータの一連番号、データの先頭及び末尾を示すフラグ等)、データ検証コード(データ保証のためのCRC又はECC等のコード)、及び/又は、データ属性コード(データの種別(読取専用又はパリティ)等を示すコード)を用いることができる。   The verification code of the second embodiment is, for example, 8 bytes, an address verification code (sequential number such as an address in a RAID group), a continuity verification code (an identifier generated every time data is written, written) Serial number of data, flags indicating the beginning and end of data, etc., data verification code (code such as CRC or ECC for data guarantee), and / or data attribute code (data type (read only or parity) ) Etc. can be used.

図17A及び図17Bは、本発明の第2の実施の形態の概要を説明する図である。   FIG. 17A and FIG. 17B are diagrams for explaining the outline of the second exemplary embodiment of the present invention.

図17Aに示すように、プロセッサ400(コントローラ1020)は、記憶装置(磁気ディスクドライブ21又は半導体記憶装置22)に最終ブロックを書き込んだ(1601)後、書き込まれたデータを読み出すリード命令を発行し、書き込まれたデータを読み出す(1602)。そして、書き込みデータの検証コードと読み出されたデータの検証コードとを比較する(1603)。その結果、プロセッサ400は、検証が成功した場合、ライト応答をホスト計算機10に返信する。一方、プロセッサ400は、検証に失敗した(書き込みデータの検証コードと読み出されたデータの検証コードとが一致しない)場合、エラーをホスト計算機10に報告する。第2の実施の形態では、プロセッサ400は、最終ブロック(又は、最後から数ブロック)のデータを読み出すリード命令を発行し、最終ブロック(又は、最後から数ブロック)の検証コードのみを比較する。   As shown in FIG. 17A, the processor 400 (controller 1020) writes a final block to the storage device (the magnetic disk drive 21 or the semiconductor storage device 22) (1601), and then issues a read command for reading the written data. The written data is read (1602). Then, the verification code of the written data is compared with the verification code of the read data (1603). As a result, when the verification is successful, the processor 400 returns a write response to the host computer 10. On the other hand, if the verification fails (the verification code of the written data does not match the verification code of the read data), the processor 400 reports an error to the host computer 10. In the second embodiment, the processor 400 issues a read instruction for reading data of the last block (or several blocks from the end), and compares only the verification codes of the last block (or several blocks from the last).

図17Bに示すように、第2の実施の形態の書き込みデータの検証では、前述したプロセッサ400に代えて、SASエクスパンダ600又はHDDに接続されたポートアプリケータ610が、書き込みデータの検証コードと読み出されたデータの検証コードとを比較してもよい(1603)。   As shown in FIG. 17B, in the verification of the write data of the second embodiment, the port applicator 610 connected to the SAS expander 600 or the HDD replaces the processor 400 described above with the verification code of the write data. The verification code of the read data may be compared (1603).

この場合、SASエクスパンダ600(又は、ポートアプリケータ610)は、記憶装置21、22に最終ブロックを書き込んだ(1601)後、記憶装置21、22のWRITEステータスを保留し、最終ブロック(又は、最後から数ブロック)のデータを記憶装置から読み出す(1602)。その後、SASエクスパンダ600は、書き込みデータの検証コードと読み出されたデータの検証コードとを比較する(1603)。その結果、SASエクスパンダ600は、検証が成功した場合、保留していたWRITE応答をコントローラ1020に返信する(1604)。一方、検証に失敗した場合、エラーをコントローラ1020に報告する(1604)。   In this case, the SAS expander 600 (or the port applicator 610) writes the final block in the storage devices 21 and 22 (1601), and then holds the WRITE status of the storage devices 21 and 22 and holds the final block (or Data from the last several blocks) is read from the storage device (1602). Thereafter, the SAS expander 600 compares the verification code of the write data with the verification code of the read data (1603). As a result, if the verification is successful, the SAS expander 600 returns the pending WRITE response to the controller 1020 (1604). On the other hand, if the verification fails, an error is reported to the controller 1020 (1604).

このように、SASエクスパンダ600又はポートアプリケータ610が、書き込みデータを書き込みデータを検証することによって、書き込みデータの検証処理の負荷が分散され、コントローラ負荷を軽減することができる。   As described above, the SAS expander 600 or the port applicator 610 verifies the write data with respect to the write data, so that the load of the write data verification processing is distributed and the controller load can be reduced.

さらに、記憶装置21、22が、書き込みデータを検証してもよい。このように、記憶装置21、22において書き込みデータの検証を分散処理すると、コントローラの負荷を軽減することができる。   Further, the storage devices 21 and 22 may verify the write data. As described above, if the write data verification is distributed in the storage devices 21 and 22, the load on the controller can be reduced.

本実施の形態では、プロセッサ400(SASエクスパンダ600、ポートアプリケータ610)によって実行されるデータの検証処理において処理されるデータ量は小さいため、WRITE応答の待ち時間を短縮でき、コントローラ1020のタイムアウトを抑止することができる。また、検証処理に消費されるCPUの処理能力とデータ転送帯域を小さくしながら、書き込みデータを高信頼度で検証することができる。   In this embodiment, since the amount of data processed in the data verification process executed by the processor 400 (SAS expander 600, port applicator 610) is small, the wait time of the WRITE response can be shortened, and the controller 1020 times out. Can be suppressed. In addition, the write data can be verified with high reliability while reducing the processing capacity and data transfer bandwidth of the CPU consumed for the verification process.

第2の実施の形態の書き込みデータの検証では、所定の条件を満たす場合に、書き込まれたブロックの全ての検証コードを比較することによって、より信頼性を向上することができる。この所定の条件には、データ書き込み前の所定時間内に、コントローラ1020が記憶装置21、22のエラーを検出した場合、及び、データ書き込み時又は検証用のデータを読み出す時にエラーが発生した場合がある。このような場合には、記憶装置21、22の動作が不安定であったり、記憶装置21、22が故障している可能性がある。よって、書き込まれた全範囲のデータを検証することによって、データ書き込みの信頼性を向上させることができる。   In the verification of write data according to the second embodiment, reliability can be further improved by comparing all verification codes of written blocks when a predetermined condition is satisfied. This predetermined condition includes a case where the controller 1020 detects an error in the storage devices 21 and 22 within a predetermined time before writing data, and an error occurs when writing data or reading verification data. is there. In such a case, the operations of the storage devices 21 and 22 may be unstable, or the storage devices 21 and 22 may be out of order. Therefore, the reliability of data writing can be improved by verifying the entire written data.

また、周期的に(例えば、所定時間毎に)、書き込まれた全範囲のデータを検証することよい、このようにすることによって、記憶装置21、22の障害を早期に検出することができ、データ書き込みの信頼性をより向上させることができる。   In addition, it is better to verify the entire written data periodically (for example, every predetermined time). By doing so, the failure of the storage devices 21 and 22 can be detected early, The reliability of data writing can be further improved.

また、検証コードの比較のためのデータを読み出す範囲を長くし、検証コードによるデータの不一致が検出される可能性を向上させることができる。すなわち、比較のために読み出される検証コードが多くなるので、異常な検証コードが含まれる確率が高くなるのである。   In addition, it is possible to lengthen the range for reading data for comparison of verification codes, and improve the possibility of detecting data mismatch due to verification codes. That is, the number of verification codes read out for comparison increases, so the probability that an abnormal verification code is included increases.

また、検証コード中に書き込み毎の管理コードを埋め込み、検証コードを比較するとよい。この管理コードは、データの書き込み毎に生成される識別子、書き込まれたデータの一連番号、データの先頭及び末尾を示すフラグ等、データの連続性を検証できる情報を用いるとよい。   It is also preferable to embed a management code for each writing in the verification code and compare the verification codes. The management code may use information that can verify the continuity of data, such as an identifier generated every time data is written, a serial number of the written data, and a flag indicating the beginning and end of the data.

図18は、本発明の第2の実施の形態のエラー検出モデルを示す説明図である。   FIG. 18 is an explanatory diagram illustrating an error detection model according to the second embodiment of this invention.

図18では、例えば、10ブロックのデータ1801を書き込む場合を考える。データが正常に記憶装置21、22に書き込まれた場合は、10番目のデータは10番目のセクタに書き込まれる(1802)。   In FIG. 18, for example, a case where 10 blocks of data 1801 are written is considered. When the data is normally written in the storage devices 21 and 22, the tenth data is written in the tenth sector (1802).

一方、記憶装置21、22で優先順位の高い内部処理による割り込みが発生することによって書き込みが中断した場合、記憶装置21、22は、割り込み処理の終了後にずれたセクタ1804から書き込みを再開する場合がある。本来はバグであるが、特定条件下での割り込みの競合など、再現や摘出が難しいケースでは見過ごされる事があり、結果、想定されていない状況が生じるため、このような場合、記憶装置21、22では、エラーを検出することができない場合がある。   On the other hand, when the writing is interrupted due to an interrupt caused by internal processing having a high priority in the storage devices 21 and 22, the storage devices 21 and 22 may resume writing from the sector 1804 that has shifted after the end of the interrupt processing. is there. Although it is originally a bug, it may be overlooked in cases where reproduction and extraction are difficult, such as interrupt conflicts under specific conditions. As a result, an unexpected situation occurs. 22 may not be able to detect an error.

しかし、この場合でも、最終1ブロックのデータを読み出すことによって、データが正常に書き込まれたかを検証することができる(1801)。さらに、最終ブロックの前後1ブロックのデータを読み出すことによって、データの連続性及び書き込み対象領域外1805への影響を確認することができる。   However, even in this case, it is possible to verify whether the data has been normally written by reading the last one block of data (1801). Furthermore, by reading the data of one block before and after the last block, it is possible to confirm the continuity of data and the influence on the outside writing target area 1805.

最終ブロックのデータのみを読み出すか、最終ブロックの前後数ブロックのデータを読み出すかは、管理者又はユーザの設定によって決めてもよい。また、書き込まれるデータが所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。具体的には、RAIDストライプサイズ以上のデータを書き込む場合、複数ブロックのデータを検証のために読み出してもよい。また、書き込みデータ長と読み出しデータ長の比率が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。また、データ書き込みのために消費される帯域が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。また、記憶装置の負荷が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。   Whether to read only the data of the last block or the data of several blocks before and after the last block may be determined by the setting of the administrator or the user. In addition, when the data to be written is larger than a predetermined threshold, a plurality of blocks of data may be read for verification. Specifically, when data having a RAID stripe size or larger is written, a plurality of blocks of data may be read for verification. Further, when the ratio between the write data length and the read data length is larger than a predetermined threshold value, data of a plurality of blocks may be read for verification. In addition, when the bandwidth consumed for data writing is larger than a predetermined threshold, a plurality of blocks of data may be read for verification. Further, when the load on the storage device is larger than a predetermined threshold, data of a plurality of blocks may be read for verification.

このように、検証のために読み出されるデータ長を、書き込まれるデータの長さによって制御することによって、さらに信頼性を向上させることができる。   Thus, the reliability can be further improved by controlling the data length read for verification by the length of the data to be written.

図19は、本発明の第2の実施の形態のプロセッサ400によって実行されるデータ検証処理のフローチャートである。   FIG. 19 is a flowchart of a data verification process executed by the processor 400 according to the second embodiment of this invention.

まず、ホスト計算機10から書き込みデータを受領すると、チャネル制御部100は、受領したデータをキャッシュメモリ300に格納する(S131)。そして、プロセッサ400は、キャッシュメモリ300に格納されたデータを読み出して、ホスト計算機10から受領したデータの検証コードを生成する(S132)。プロセッサ400は、書き込みコマンドを生成し、対象の記憶装置にデータを書き込む(S133)。   First, when write data is received from the host computer 10, the channel control unit 100 stores the received data in the cache memory 300 (S131). Then, the processor 400 reads the data stored in the cache memory 300 and generates a verification code for the data received from the host computer 10 (S132). The processor 400 generates a write command and writes the data to the target storage device (S133).

その後、プロセッサ400は、プロセッサ400の負荷が所定の閾値より低いか否か、及び、書き込まれるデータの長さが所定の閾値を超えるか否かを判定する(S134)。   Thereafter, the processor 400 determines whether or not the load on the processor 400 is lower than a predetermined threshold, and whether or not the length of data to be written exceeds a predetermined threshold (S134).

判定の結果、プロセッサ400の負荷が低い、又は、書き込まれたデータが長い場合、書き込まれた最終ブロックを含む、所定数のブロックのデータを読み出し(S137)、読み出された検証コードと書き込みデータの検証コードとを比較し、両者が一致するか否かを判定する(S138)。その結果、両者が一致しない場合、データは正しく書き込めていないと判定し、エラー処理を実行する(S139)。一方、両者が一致する場合、データは正しく書き込めたと判定し、このデータ検証処理を終了する。   As a result of the determination, when the load on the processor 400 is low or the written data is long, the data of a predetermined number of blocks including the last written block is read (S137), and the verification code and the write data that are read Are compared with each other to determine whether or not they match (S138). As a result, if they do not match, it is determined that the data has not been written correctly, and error processing is executed (S139). On the other hand, if the two match, it is determined that the data has been correctly written, and the data verification process ends.

ステップS134における判定の結果、プロセッサ400の負荷が高い、又は、書き込まれたデータが短い場合、書き込まれた最終ブロックのデータを読み出し(S135)、読み出された検証コードと書き込みデータの検証コードとを比較し、両者が一致するか否かを判定する(S136)。その結果、両者が一致しない場合、データは正しく書き込めていないと判定し、エラー処理を実行する(S139)。一方、両者が一致する場合、データは正しく書き込めたと判定し、このデータ検証処理を終了する。   As a result of the determination in step S134, when the load on the processor 400 is high or the written data is short, the data of the last written block is read (S135), and the read verification code and the verification code of the write data are Are compared to determine whether or not they match (S136). As a result, if they do not match, it is determined that the data has not been written correctly, and error processing is executed (S139). On the other hand, if the two match, it is determined that the data has been correctly written, and the data verification process ends.

以上説明したように、第2の実施の形態では、書き込みデータの検証のために消費される帯域が少ないので、パフォーマンスに優れている。このため、ユーザの高パフォーマンス要求に応えることができる。   As described above, in the second embodiment, since the bandwidth consumed for verifying the write data is small, the performance is excellent. For this reason, it can respond to a user's high performance request.

また、第2の実施の形態は、前述した特開2005−165443号公報に記載された技術と異なり、書き込みデータがシーケンシャルデータであるかに拘わらず適用することができる。   The second embodiment can be applied regardless of whether the write data is sequential data, unlike the technique described in Japanese Patent Laid-Open No. 2005-165443 described above.

また、第2の実施の形態では、前述した特開2005−165443号公報に記載された技術と異なり、最初のブロックのデータを用いていない。このため、連続したブロックのデータを1回の読み出しコマンドで読み出すことができ、従来技術のように最初ブロックと最後のブロックとを読み出すために2回の読み出しコマンドを発行する必要がない。   Also, in the second embodiment, unlike the technique described in Japanese Patent Laid-Open No. 2005-165443 described above, the data of the first block is not used. For this reason, continuous block data can be read with one read command, and there is no need to issue two read commands to read the first block and the last block as in the prior art.

また、第2の実施の形態では、前述した特開2005−165443号公報に記載された技術と異なり、ブロックの全データを比較せず、検証コードのみを比較する。   Also, in the second embodiment, unlike the technique described in Japanese Patent Laid-Open No. 2005-165443 described above, only the verification codes are compared without comparing all the data of the blocks.

さらに、第2の実施の形態では、最終ブロック以降のデータも読み出して検証する。よって、従来技術では含まれない範囲のデータ信頼性を向上させることができる。   Furthermore, in the second embodiment, data after the last block is also read and verified. Therefore, it is possible to improve data reliability in a range not included in the conventional technology.

さらに、第2の実施の形態では、検証コードに規則性がある情報を用いることによって、データ比較のようなOK又はNGの判断以外に、検証コードの規則性を用いてエラー原因を特定することができる。よって、データ書き込み処理の信頼性を向上させることができる。   Furthermore, in the second embodiment, by using information with regularity in the verification code, the cause of the error is specified by using the regularity of the verification code in addition to the OK or NG determination such as data comparison. Can do. Therefore, the reliability of the data writing process can be improved.

さらに、第2の実施の形態では、比較するデータが少なく、単純な演算処理によって比較できることから、八一ドウェアヘの組み込みが容易となる。   Furthermore, in the second embodiment, since there are few data to be compared and the comparison can be performed by simple arithmetic processing, it is easy to incorporate into the software.

21 磁気ディスクドライブ
22 半導体記憶装置
100 チャネル制御部
200 ディスク制御部
300 キャッシュメモリ
400 プロセッサ(CPU)
500 データコントローラ
600 SASエクスパンダ
610 ポートアプリケータ(ポート拡張器)
21 Magnetic disk drive 22 Semiconductor memory device 100 Channel controller 200 Disk controller 300 Cache memory 400 Processor (CPU)
500 Data controller 600 SAS expander 610 Port applicator (port expander)

Claims (11)

データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、
前記コントローラは、
前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、
一又は複数の前記物理ポートを前記論理分割された記憶領域に割り当てることを特徴とする請求項1に記載のストレージシステム。
A storage system comprising a storage device that stores data, a controller that controls input and output of data to and from the storage device, and an interface that connects the storage device and the controller,
The storage device includes a plurality of physical ports connected to the interface,
The controller is
Providing the storage area of the storage device logically divided into a plurality of storage areas;
The storage system according to claim 1, wherein one or a plurality of the physical ports are allocated to the logically divided storage area.
前記コントローラは、
二つの前記物理ポートを前記論理分割された一つの記憶領域に排他的に割り当て、
前記論理分割された記憶領域に割り当てられた二つのポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項1に記載のストレージシステム。
The controller is
Two physical ports are exclusively assigned to one logically divided storage area,
2. The storage system according to claim 1, wherein data is transferred so as to form one link by using two ports allocated to the logically divided storage area.
前記コントローラは、
前記二つの物理ポートを前記論理分割された一つの記憶領域に現用系のポートとして排他的に割り当て、
二つの他の前記物理ポートを前記論理分割された記憶領域に待機系のポートとして割り当て、
前記論理分割された記憶領域に割り当てられた一の現用系のポートに障害が発生した場合、当該記憶領域に割り当てられた一の待機系のポート及び前記障害が発生していない現用系のポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項2に記載のストレージシステム。
The controller is
The two physical ports are exclusively assigned to the logically divided one storage area as working ports,
Two other physical ports are assigned to the logically divided storage areas as standby ports,
When a failure occurs in one active port assigned to the logically divided storage area, one standby port assigned to the storage area and an active port in which the failure has not occurred The storage system according to claim 2, wherein the data is transferred so as to form one link.
前記コントローラは、
前記複数の物理ポートを前記論理分割された記憶領域が共用するように割り当て、
前記論理分割された記憶領域に割り当てられた複数のポートのうちデータ転送時に使用可能なポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項1に記載のストレージシステム。
The controller is
Assigning the plurality of physical ports to be shared by the logically divided storage areas;
The data is transferred so as to form one link by using a port that can be used at the time of data transfer among a plurality of ports allocated to the logically divided storage area. Storage system.
前記コントローラは、前記複数のポートを、前記論理分割された記憶領域に均等に又は不均等に割り当てることを特徴とする請求項1に記載のストレージシステム。   The storage system according to claim 1, wherein the controller allocates the plurality of ports equally or unevenly to the logically divided storage areas. 前記記憶装置の一部の記憶領域は、前記記憶領域が書換不能となった場合に使用される交替領域に設定されており、
前記ストレージシステムは、前記交替領域が不足すると判定された場合に使用される補助記憶装置を装着するインターフェースを備えることを特徴とする請求項1に記載のストレージシステム。
A part of the storage area of the storage device is set as a replacement area used when the storage area becomes unrewritable,
The storage system according to claim 1, further comprising an interface for mounting an auxiliary storage device used when it is determined that the replacement area is insufficient.
データを記憶する記憶装置と、前記記憶装置に書き込まれるデータを一時的に格納するキャッシュメモリと、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記キャッシュメモリと前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
前記コントローラは、
前記キャッシュメモリから前記記憶装置へデータを転送する場合、データの書き込みブロック毎に、書き込まれたデータの正当性を担保するための検証コードを生成し、
前記生成された検証コードが付加されたデータを前記記憶装置に転送し、
前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、先頭のブロックから1又は複数のブロックのデータに付加された検証コードを使用しないで、前記記憶装置に書き込まれたデータを検証することを特徴とするストレージシステム。
A storage device that stores data; a cache memory that temporarily stores data to be written to the storage device; a controller that controls input / output of data to / from the storage device; the storage device; the cache memory; and the controller A storage system comprising an interface for connecting
The controller is
When transferring data from the cache memory to the storage device, for each data writing block, generate a verification code to ensure the validity of the written data,
Transferring the data to which the generated verification code is added to the storage device;
Of the verification codes added to the data written in the plurality of blocks of the storage device, the verification code added to the data of one or a plurality of blocks from the first block is used without being used in the storage device. A storage system characterized by verifying data.
前記コントローラは、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後のブロックのデータに付加された検証コードのみを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。   The controller uses only the verification code added to the data of the last block among the verification codes added to the data written to the plurality of blocks of the storage device, and the data written to the storage device The storage system according to claim 7, wherein the storage system is verified. 前記コントローラは、前記記憶装置へ転送されるデータが所定の閾値より大きい場合、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後から先頭方向に、データ長より小さい所定数のブロックのデータに付加された検証コードを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。   When the data transferred to the storage device is larger than a predetermined threshold, the controller determines the length of the verification code added to the data written in the plurality of blocks of the storage device from the last to the head. 8. The storage system according to claim 7, wherein the data written in the storage device is verified by using a verification code added to a small predetermined number of blocks of data. 前記コントローラは、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後のブロックから前後に所定数のブロックのデータに付加された検証コードを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。   The controller uses the verification code added to the data of a predetermined number of blocks before and after the last block among the verification codes added to the data written in the plurality of blocks of the storage device, 8. The storage system according to claim 7, wherein data written in the device is verified. データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、
前記コントローラは、
前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、
二つの前記物理ポートを前記論理分割された一つの記憶領域に現用系のポートとして排他的に割り当て、
二つの他の前記物理ポートを前記論理分割された記憶領域に待機系のポートとして割り当て、
通常運用時には、前記論理分割された記憶領域に割り当てられた二つの現用系のポートを使って、一つのリンクを形成するように、データを転送し、
前記論理分割された記憶領域に割り当てられた一の現用系のポートに障害が発生した場合、当該記憶領域に割り当てられた一の待機系のポート及び前記障害が発生していない現用系のポートを使って、一つのリンクを形成するように、データを転送することを特徴とするストレージシステム。
A storage system comprising a storage device that stores data, a controller that controls input and output of data to and from the storage device, and an interface that connects the storage device and the controller,
The storage device includes a plurality of physical ports connected to the interface,
The controller is
Providing the storage area of the storage device logically divided into a plurality of storage areas;
Two physical ports are exclusively assigned as active ports to one logically divided storage area,
Two other physical ports are assigned to the logically divided storage areas as standby ports,
During normal operation, data is transferred so as to form one link using the two active ports assigned to the logically divided storage areas,
When a failure occurs in one active port assigned to the logically divided storage area, one standby port assigned to the storage area and an active port in which the failure has not occurred A storage system characterized by transferring data so as to form a single link.
JP2011158785A 2011-07-20 2011-07-20 Storage system and control method thereof Expired - Fee Related JP5314737B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011158785A JP5314737B2 (en) 2011-07-20 2011-07-20 Storage system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011158785A JP5314737B2 (en) 2011-07-20 2011-07-20 Storage system and control method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008261997A Division JP4809413B2 (en) 2008-10-08 2008-10-08 Storage system

Publications (3)

Publication Number Publication Date
JP2011204285A true JP2011204285A (en) 2011-10-13
JP2011204285A5 JP2011204285A5 (en) 2011-12-22
JP5314737B2 JP5314737B2 (en) 2013-10-16

Family

ID=44880782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011158785A Expired - Fee Related JP5314737B2 (en) 2011-07-20 2011-07-20 Storage system and control method thereof

Country Status (1)

Country Link
JP (1) JP5314737B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235515B2 (en) 2012-03-29 2016-01-12 Semiconductor Energy Laboratory Co., Ltd. Array controller and storage system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02226548A (en) * 1989-02-28 1990-09-10 Nec Eng Ltd Magnetic disk device
US6219753B1 (en) * 1999-06-04 2001-04-17 International Business Machines Corporation Fiber channel topological structure and method including structure and method for raid devices and controllers
JP2005149173A (en) * 2003-11-17 2005-06-09 Hitachi Ltd Disk device and its control method
JP2006127398A (en) * 2004-11-01 2006-05-18 Hitachi Ltd Storage system
US20060215552A1 (en) * 2005-03-25 2006-09-28 Morihiro Iwata Method and an apparatus for managing access path
WO2007018778A1 (en) * 2005-08-04 2007-02-15 Dot Hill Systems Corporation Storage controller super capacitor dynamic voltage throttling
US20070220203A1 (en) * 2006-03-15 2007-09-20 Hitachi, Ltd. Management method for virtualized storage view
JP2007256993A (en) * 2006-03-20 2007-10-04 Hitachi Ltd Computer system and method of controlling allocation of physical link
JP2007280422A (en) * 2007-06-28 2007-10-25 Hitachi Ltd Disk array device
US20080104264A1 (en) * 2006-11-01 2008-05-01 Duerk Vicky P Load balancing in a storage system
JP2008112343A (en) * 2006-10-31 2008-05-15 Hitachi Ltd Computer system, access-controlling method, and host computer

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02226548A (en) * 1989-02-28 1990-09-10 Nec Eng Ltd Magnetic disk device
US6219753B1 (en) * 1999-06-04 2001-04-17 International Business Machines Corporation Fiber channel topological structure and method including structure and method for raid devices and controllers
JP2005149173A (en) * 2003-11-17 2005-06-09 Hitachi Ltd Disk device and its control method
JP2006127398A (en) * 2004-11-01 2006-05-18 Hitachi Ltd Storage system
US20060215552A1 (en) * 2005-03-25 2006-09-28 Morihiro Iwata Method and an apparatus for managing access path
JP2006268625A (en) * 2005-03-25 2006-10-05 Hitachi Ltd Access path management method and device
WO2007018778A1 (en) * 2005-08-04 2007-02-15 Dot Hill Systems Corporation Storage controller super capacitor dynamic voltage throttling
JP2009503724A (en) * 2005-08-04 2009-01-29 ドット・ヒル・システムズ・コーポレイション Memory controller supercapacitor dynamic voltage throttling
US20070220203A1 (en) * 2006-03-15 2007-09-20 Hitachi, Ltd. Management method for virtualized storage view
JP2007272875A (en) * 2006-03-15 2007-10-18 Hitachi Ltd Management method for virtualized storage view
JP2007256993A (en) * 2006-03-20 2007-10-04 Hitachi Ltd Computer system and method of controlling allocation of physical link
JP2008112343A (en) * 2006-10-31 2008-05-15 Hitachi Ltd Computer system, access-controlling method, and host computer
US20080104264A1 (en) * 2006-11-01 2008-05-01 Duerk Vicky P Load balancing in a storage system
JP2007280422A (en) * 2007-06-28 2007-10-25 Hitachi Ltd Disk array device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235515B2 (en) 2012-03-29 2016-01-12 Semiconductor Energy Laboratory Co., Ltd. Array controller and storage system

Also Published As

Publication number Publication date
JP5314737B2 (en) 2013-10-16

Similar Documents

Publication Publication Date Title
JP4809413B2 (en) Storage system
US7617360B2 (en) Disk array apparatus and method of controlling the same by a disk array controller having a plurality of processor cores
US9229652B2 (en) Computer system and storage control method of the same
JP4903415B2 (en) Storage control system and storage control method
US8839030B2 (en) Methods and structure for resuming background tasks in a clustered storage environment
US7447121B2 (en) Disk array system
KR101340176B1 (en) Smart scalable storage switch architecture
US8930611B2 (en) Storage system and control method thereof
US8065483B2 (en) Storage apparatus and configuration setting method
JP4818395B2 (en) Storage apparatus and data copy method
US7475169B2 (en) Storage control system and method for reducing input/output processing time involved in accessing an external storage subsystem
US20120216005A1 (en) Storage system and management method of the storage system
US20080091972A1 (en) Storage apparatus
US8683260B1 (en) Managing ownership of logical volumes
US9075527B2 (en) Computer realizing high-speed access and data protection of storage device, computer system, and I/O request processing method
US8402195B2 (en) Storage system mounted with plurality of processors
US20080034155A1 (en) Storage apparatus and conversion board
JP5340411B2 (en) Independent drive power control
JP5314737B2 (en) Storage system and control method thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130611

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130618

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130705

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees