JP2010092285A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2010092285A
JP2010092285A JP2008261997A JP2008261997A JP2010092285A JP 2010092285 A JP2010092285 A JP 2010092285A JP 2008261997 A JP2008261997 A JP 2008261997A JP 2008261997 A JP2008261997 A JP 2008261997A JP 2010092285 A JP2010092285 A JP 2010092285A
Authority
JP
Japan
Prior art keywords
data
storage
storage device
controller
logically divided
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
JP2008261997A
Other languages
English (en)
Other versions
JP4809413B2 (ja
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 JP2008261997A priority Critical patent/JP4809413B2/ja
Priority to US12/314,982 priority patent/US8370570B2/en
Publication of JP2010092285A publication Critical patent/JP2010092285A/ja
Application granted granted Critical
Publication of JP4809413B2 publication Critical patent/JP4809413B2/ja
Priority to US13/731,808 priority patent/US8966174B2/en
Priority to US14/624,638 priority patent/US9223508B2/en
Priority to US14/967,589 priority patent/US9710168B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ストレージシステム内のボトルネックを解消し、ハードウェアが備える帯域を効率的に使用し、かつ高信頼性が得られるストレージシステムを提供する。
【解決手段】データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、前記コントローラは、前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、一又は複数の前記物理ポートを前記論理分割された記憶領域に割り当てる。
【選択図】図4

Description

本発明は、ストレージシステムに関し、特に、ストレージシステムを高速化し、信頼性を向上する技術に関する。
ストレージシステム(ディスクアレイ装置)において、磁気ディスクドライブ(HDD)及び半導体記憶装置(SSD)等のストレージモジュールの大容量化に伴い、ストレージモジュールによって構成されるグループ(RAIDグループ、ストレージプール)容量が増大している。
一方、多くの場合は、ストレージモジュールによって構成されるグループ上に構成される論理ボリューム(LU)の容量の上限は2TBである。この容量の上限は、ブロックアクセス型のストレージ装置で標準的に使用されているSCSIプロトコルにおけるREAD(10)コマンド及びWRITE(10)コマンドのパラメータであるLBA指定領域が4バイトであるためである。このLBA領域を拡張したコマンドとして、可変長のREAD(16)コマンド及びWRITE(16)コマンドが定義されているが、これらのコマンドをサポートしていないストレージシステムが多い。
複数のLUが同一グループに含まれることのデメリットは、論理的には異なるLUへのアクセスであっても、物理的には同じ記憶装置へのアクセスであって、同じ記憶装置へのアクセスによって性能的なボトルネックが生じることである。
現在、記憶装置として主に使用されている磁気ディスクドライブは、ミリ秒オーダで、ディスクの回転による待ち時間や、ヘッドのシーク時間がある。このため、機械的な要因による性能が、インターフェースやコントローラの性能向上に追い付いていない。すなわち、機械的な要因が性能のボトルネックとなっている。
一方、半導体記憶装置(SSD)は、機械的な待ち時間が発生しないことから、高速にデータを読み書きすることができる。しかし、半導体記憶装置は、磁気ディスクドライブとの互換性を重視して設計されているため、半導体の読み書き性能を充分に生かすことができない。例えば、8個のポートが実装されているSASコントローラがあり、一つのSASインターフェースは6Gbpsでデータを転送可能であることから、合計の帯域は8×6Gbit/s=48Gbit/sとなる。SASでは、複数のリンクを束ねてデータ転送する機能(ワイドポートまたはワイドリンクと呼ばれる)があるので、この帯域を充分生かすことが可能である。
複数の物理リンクを束ねてデータを転送する方法として、特許文献1には、SASイニシエータ装置が、ワイドリンクのうちの何本の物理リンクをどのSASターゲット装置に割り当てるかを制御するストレージシステムが記載されている。また、特許文献2には、複数の物理リンクをまとめたワイドポートを用いてデータを転送する技術が記載されている。
特開2007−256993号公報 米国特許出願公開第2008/0104264号明細書 特開2005−165443号公報
SASインターフェースの磁気ディスクドライブは2ポートのコネクタを備え、この2ポートは冗長的に使用されるので、一つの磁気ディスクドライブのデータ転送性能は6Gbit/sである。この転送速度は磁気ディスクドライブには十分であるが、半導体記憶装置にとっては十分ではない。すなわち、半導体記憶装置は、データを高速で読み書きできることから、インターフェースの構成がボトルネックとなる場合がある。
しかし、前述した特許文献1に記載された技術では、ターゲットのSASポートは現用ポートと冗長ポートの二つである。
また、ストレージ装置の性能向上によって、コントローラの処理能力、記憶容量等のストレージ装置に備わるリソースを論理的に分割し、各分割された論理区画を独立してユーザに提供するストレージ論理分割(LPAR)技術がある。このような運用において、各ユーザに高い性能を提供するためには、論理区画内のボトルネックを排除する必要がある。
この点、前述した特許文献1に記載された技術では、ターゲット側での論理分割は考慮されていない。
さらに、信頼性及び性能が異なる複数の記憶装置を混載するストレージシステムでは、ボトルネックとなる性能及び信頼性が、ストレージシステムの性能及び信頼性となることから、他のボトルネック要因(書き込みデータの検証)についても検討する必要がある。
具体的には、従来のストレージシステムでは、データを書き込んだ後に、書き込まれたデータを読み出して、書き込みデータと読み出されたデータとを1バイト毎に比較していた。又は、書き込みデータの検証コードと読み出されたデータの検証コードとを比較していた。しかし、前述した従来の方法では、データを読み出すために転送帯域を消費し、データを比較するためにプロセッサの処理能力を消費するので、パフォーマンスの向上を妨げるという問題があった。このパフォーマンスの低下は、半導体記憶装置等の高速な処理が可能な記憶装置においては大きな問題となる。
本発明は、ストレージシステム内のボトルネックを解消し、ハードウェアが備える帯域を効率的に使用し、かつ高信頼性が得られるストレージシステムを提供することを目的とする。
本発明の代表的な一例を示せば以下の通りである。すなわち、データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、前記コントローラは、前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、一又は複数の前記物理ポートを前記論理分割された記憶領域に割り当てることを特徴とする。
また、本発明の別な一例は、データを記憶する記憶装置と、前記記憶装置に書き込まれるデータを一時的に格納するキャッシュメモリと、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記キャッシュメモリと前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、前記コントローラは、前記キャッシュメモリから前記記憶装置へデータを転送する場合、データの書き込みブロック毎に、書き込まれたデータの正当性を担保するための検証コードを生成し、前記生成された検証コードが付加されたデータを前記記憶装置に転送し、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、先頭のブロックから1又は複数のブロックのデータに付加された検証コードを使用しないで、前記記憶装置に書き込まれたデータを検証することを特徴とする。
本発明の実施の形態によると、ストレージシステムの性能を向上することができる。
以下、本発明の実施の形態について図面を参照して説明する。
<実施形態1>
図1A及び図1Bは、本発明の第1の実施の形態の概要を示す説明図である。
一般に、記憶装置22は、データを入出力する物理的なポートを1又は複数備える。例えば、図1Aに示すように、SASインターフェースを備える記憶装置は、二つの物理ポートを備える。これらのポートの一つは現用系に使用され、他方は待機系に使用される。そして、各ポートを用いてディスク制御部との間でデータを転送するための現用系及び待機系のパスを設定する。このため、記憶装置の記憶領域が論理的に分割されても、分割された記憶領域がポートと対応付けられていなかった。
これに対し、図1Bに示すように、第1の実施の形態の記憶装置は8個の物理ポートを備えるので、四つのポートが稼動系に使用することができ、他の4個のポートが待機系に使用することができる。そして、各ポートを用いてディスク制御部との間でデータを転送するためのパスを設定する。この場合、4個の各ポートを論理分割された各記憶領域に割り当て、各記憶領域に独立してデータを転送することができる。また、時分割された4個のポートを一つの記憶領域に割り当て、高速にデータを転送することができる。
また、第1の実施の形態の記憶装置22は、物理ポートの負荷を表示するLED223を備える。さらに、交替領域として使用される記憶領域を提供する補助記憶装置(例えば、SDメモリカード1000)を取り付けるインターフェース(SDメモリカードスロット222)を備える。このため、交替領域が不足した場合でも、SDメモリカード1000の記憶領域を交替領域とすることによって、記憶装置を延命することができる。
図2は、本発明の第1の実施の形態のストレージシステムの正面図である。
図2には、1台のコントローラ筐体1と、3台のドライブ筐体2を示す。コントローラ筐体1とドライブ筐体2との間、及び、ドライブ筐体2の間は、SASインターフェースによって接続される。
なお、コントローラ筐体1とドライブ筐体2とは同じ外観であるが、両者の外観は異なってもよい。
図3Aは、本発明の第1の実施の形態のコントローラ筐体1の前面扉を開いた状態の内部の構造を示す図である。
コントローラ筐体1の前面側には半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付けられるスロットが備わる。また、コントローラ筐体1の前面側の下部には電源ユニット1010が備わる。コントローラ筐体1に取り付けられた半導体記憶装置22は、バックプレーン(図示省略)によって接続される。
図3Bは、本発明の第1の実施の形態のコントローラ筐体1の背面扉を開いた状態の内部の構造を示す図である。
コントローラ筐体1の背面側の下部には、チャネル制御部100及びディスク制御部200が備わる。また、チャネル制御部100及びディスク制御部200の上部には、プロセッサ400、メモリ430及び共有メモリ450を備えるコントローラユニット1020が備わる。なお、チャネル制御部100、ディスク制御部200及びコントローラ1020以外の箇所は、半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付け可能なスロットが備わってもよい。
ドライブ筐体2の前面側の構造は、図3Aに示すコントローラ筐体1の前面側の構成と同じである。また、ドライブ筐体2の背面側の構造は、図3Aに示すコントローラ筐体1の前面側の構成と同様に、半導体記憶装置22(又は、磁気ディスクドライブ21)が取り付けられるスロットが備わる。
図4は、本発明の第1の実施の形態のストレージシステムの構成を示すブロック図である。
本実施の形態のストレージシステム(コントローラ筐体1)は、複数のチャネル制御部100、複数のディスク制御部200、キャッシュメモリ300、プロセッサ400、メモリ430及び共有メモリ450を備える。チャネル制御部100、ディスク制御部200、キャッシュメモリ300、プロセッサ400、メモリ430及び共有メモリ450は、データコントローラ500によって接続されている。図示したように、ストレージシステム1は、通常、複数のチャネル制御部100及び複数のディスク制御部200を備えるが、これらの各構成は一つだけ備わってもよい。
キャッシュメモリ300、プロセッサ400、メモリ430、共有メモリ450及びデータコントローラ500によって、コントローラユニット1020が構成される。
チャネル制御部100は、ホスト計算機10との間の通信プロトコルに従った信号を入出力するドライバである物理インターフェース、ホスト計算機10との間の通信プロトコルに従った信号の入出力を制御するプロトコル制御部、及び、チャネル制御部100からキャッシュメモリ300へ転送されるデータのアドレスを制御する転送制御部を備える。チャネル制御部100は、例えば、ファイバチャネルプロトコルを用いて通信するSAN11によって、ホスト計算機10に接続される。なお、チャネル制御部100とホスト計算機10とは、イーサネット(登録商標)によって接続されてもよい。この場合、チャネル制御部100とホスト計算機10との間はiSCSIプロトコルによって通信する。
ディスク制御部200は、記憶装置21、22との間の通信プロトコルに従った信号を入出力するドライバである物理インターフェース、記憶装置21、22との間の通信プロトコルに従った信号の入出力を制御するプロトコル制御部、及び、ディスク制御部200から転送されるデータのアドレスを制御する転送制御部を備える。本実施の形態のストレージシステムでは、ディスク制御部200は、4ポートのSAS(Serial Attached SCSI)インターフェースを備える。なお、ディスク制御部200と記憶装置21、22との間の接続は、複数のポートを一つのリンクとしてデータを転送するマルチポート接続が可能な方法であれば、他の接続方法でもよい。
本実施の形態のストレージシステム1は、記憶装置21、22に磁気ディスクドライブ21及び半導体記憶装置22を用いるが、これらの他に、光ディスク、磁気テープ等を用いてもよい。なお、図4には、記憶装置21、22が示されているが、ストレージシステムに記憶装置21、22が備わっても、記憶装置21、22を備えた別のサブシステムを接続する形態でも(一般的な、NASやVTLの形態でも)よい。
キャッシュメモリ300は、ホスト計算機10から書き込みを要求されたデータを一時的に格納し、記憶装置21、22から読み出されたデータを一時的に格納する。
プロセッサ400は、ストレージシステムの動作(例えば、チャネル制御部100からキャッシュメモリ300へのデータ転送の指示等)を制御する。
メモリ430は、プロセッサ400によって実行されるプログラム及びこのプログラムの実行時に必要とされるデータを格納する。
共有メモリ450は、各部で共通に使用されるデータ(例えば、ストレージシステムの構成情報)を格納する。
データコントローラ500は、チャネル制御部100、ディスク制御部200、キャッシュ部300、プロセッサ400、メモリ430及び共有メモリ450を接続するスイッチ(例えば、クロスバスイッチ)を備える。データコントローラ500によって、チャネル制御部100、ディスク制御部200、キャッシュ部300、プロセッサ400、メモリ430及び共有メモリ450を接続する内部ネットワークが構成される。この内部ネットワークによって、これら各部の間でデータが転送される。
ストレージシステムは、保守用端末が接続されるインターフェース(SVP)を備えてもよい。
チャネル制御部100は、ホスト計算機10からのデータ書込要求を受信すると、受信した書込要求をストレージシステム内のプロトコルに変換し、プロトコル変換された書込要求のアドレスを解析し、解析結果をプロセッサ400に送る。プロセッサ400は、アドレスの解析結果に基づいて、書込要求(データ)の転送先を決定し、転送先をデータコントローラ500に指示する。データコントローラ500は、プロセッサ400から指示された転送先にデータが転送されるようにスイッチを切り換えて、データを転送する。
ホスト計算機10からの書込要求(データ)は、チャネル制御部100からキャッシュメモリ300に転送され、キャッシュメモリ300に一時的に格納される。データがキャッシュメモリ300へ格納された時に(記憶装置21、22へデータが格納される前であっても)、ホスト計算機10には書込完了の報告が返答されるので、ホスト計算機10に対するレスポンスを向上させることができる。
キャッシュメモリ300に格納されたデータは、ディスク制御部200に転送される。ディスク制御部200は、転送されたデータを記憶装置21、22に転送するためのプロトコル(例えば、SASプロトコル)に変換する。プロトコルが変換されたデータは、記憶装置21、22に書き込まれる。
本実施の形態のストレージシステム1は、コントローラユニットの他に、SASエクスパンダ600、磁気ディスクドライブ21及び半導体記憶装置22を備える。
SASエクスパンダ600は、ディスク制御部200、磁気ディスクドライブ21及び半導体記憶装置22を接続するスイッチ(例えば、クロスバスイッチ)を備え、ディスク制御部200と磁気ディスクドライブ21(又は、半導体記憶装置22)との間でデータを転送する。SASエクスパンダ600は、接続先の記憶装置に対応した数のポートを使用して記憶装置21、22と接続する。例えば、SASエクスパンダ600と半導体記憶装置22との間は、現用系の4ポート又は待機系の4ポート(合計8ポート)によって接続される。
また、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に接続する。
また、SASエクスパンダ600は、他の筐体(例えば、ドライブ筐体2)のSASエクスパンダ600と、SASインターフェースによって接続される。
磁気ディスクドライブ21は、磁気ディスクにデータを記録する。磁気ディスクドライブ21は、SASインターフェースによって、SASエクスパンダ600を介して、ディスク制御部200と接続される。
半導体記憶装置22は、不揮発性メモリ(例えば、フラッシュメモリ)を備える、いわゆるSSD(Solid State Disk)であって、SASインターフェースによってディスク制御部200と接続される。なお、半導体記憶装置22を構成するメモリ素子は、フラッシュメモリに限らず、M-RAM、P−RAM、STT−RAM、レーストラックメモリ等の半導体素子であってもよい。
本実施の形態のストレージシステムのドライブ筐体2は、SASエクスパンダ600及び磁気ディスクドライブ21を備える。図4に示すドライブ筐体2は、磁気ディスクドライブ21のみを備えるが、磁気ディスクドライブ21の他に、半導体記憶装置22を備えてもよい。
図5は、本発明の第1の実施の形態の半導体記憶装置22の正面図である。
半導体記憶装置22は、その前面に、ラッチ解除レバー221、SDメモリカードスロット222及び状態表示LED223を備える。また、半導体記憶装置22は、その内部に、前面基板、ベース基板、増設メモリ基板1及び増設メモリ基板2を備える(図6参照)。
ラッチ解除レバー221は、半導体記憶装置22をコントローラ筐体1(又は、ドライブ筐体2)から取り外すときに操作される。
SDメモリカードスロット222は、半導体記憶装置22に交替領域を提供するSDメモリカード1000を装着するためのインターフェースである。なお、SDメモリカード1000へ書き込まれるデータは、半導体記憶装置22の制御部によって暗号化された後に書き込まれる。
状態表示LED223は、赤/青/緑を1セットとし、左右に4個ずつ(合計8個)を備える。各状態表示LED223は、8個の各ポートの負荷状態を表示する。例えば、高負荷の場合は赤色に点灯させ、中負荷の場合は黄色(赤:通常+緑:通常)に点灯させ、小負荷の場合は緑色に点灯させ、及び負荷が極めて小さい場合は青色に点灯させる。
また、状態表示LED223によって、半導体記憶装置22の動作状態を表示して、保守用途に使用してもよい。例えば、半導体記憶装置22に障害が発生した場合は、赤色に点滅させ、交替領域の残容量が閾値以下になった場合は、橙色(赤:通常+緑:減光)に点滅させることができる。この場合、ユーザは、状態表示LED223が橙色で点滅している半導体記憶装置22のSDメモリカードスロット222に、SDメモリカード1000を装着することによって、直ちに半導体記憶装置22を交換することなく、半導体記憶装置22を継続して動作させることができる。
このように、状態表示LED223を半導体記憶装置22の前面側から視認可能な位置に設けることによって、ユーザは、筐体の前面扉を開くことによって、ストレージシステムに実装された半導体記憶装置22の負荷状態を一目で確認することができ、ボリュームの負荷を直感的に理解することができる。このため、負荷を分散するための、ボリュームの再配置の計画が容易になる。
また、半導体記憶装置22の前面には、複数の空気導入孔224を備える。
図6Aは、本発明の第1の実施の形態の半導体記憶装置22のケースの構造を示す透視図である。
半導体記憶装置22は、前面に空気導入孔224を備え、背面に空気排出口225を備える。例えば、コントローラ筐体1の中央部に排気ファンを設けることによって、コントローラ筐体1内の気流を前面から中央部に及び背面から中央部に流れるように制御すれば、半導体記憶装置22の前面から背面に空気が流れる。
このようにすれば、磁気ディスクドライブ21が実装されたHDDモジュールの前面から導入した空気が、HDDの外周を流れるのに対し、半導体記憶装置22の内部へ空気を導入することができる。
半導体記憶装置22は、前面の下部にSDメモリカード1000を挿入するための穴226を備える。
図6Bは、本発明の第1の実施の形態の半導体記憶装置22の内部構造を示す斜視図である。
半導体記憶装置22は、ベース基板2201、前面基板2202及び増設メモリ基板2203、2204、2205)を備える。
ベース基板2201は、インターフェースコネクタ228、不揮発性メモリ2225(図7参照)、制御部2222、2223(図7参照)、コネクタ2211及びスタッキングコネクタ2212、2213を備える。コネクタ2211は、前面基板2202と接続される。スタッキングコネクタ2212は増設メモリ基板2203と接続される。スタッキングコネクタ2213は増設メモリ基板2204と接続される。
前面基板2202は、コネクタ2211によってベース基板2201に取り付けられる。前面基板2202は、左右に4個ずつ(合計8個)の状態表示LED223を備える。また、前面基板2202は、下部にSDメモリカードスロット222を備える。
増設メモリ基板2203は、スタッキングコネクタ2212によってベース基板2201に取り付けられる。増設メモリ基板2204は、スタッキングコネクタ2213によってベース基板2201に取り付けられる。増設メモリ基板2205は、スタッキングコネクタ2214によって増設メモリ基板2203に取り付けられる。増設メモリ基板2203、2204、2205は、不揮発性メモリ素子を備える。
スタッキングコネクタ2212、2213及び2214は、その長手方向が、半導体記憶装置22の前面から背面に向かう方向に沿って配設される。本実施の形態の半導体記憶装置22は、その内部に風を通す構造であるため、スタッキングコネクタが空気の流れを妨げないように、スタッキングコネクタの長手方向が空気の流れと並行になるように配置されている。
図7は、本発明の第1の実施の形態の半導体記憶装置22(ベース基板2201)の構成を示すブロック図である。
第1の実施の形態の半導体記憶装置22は、インターフェースコネクタ228、物理インターフェース2221、プロトコル制御部2222、プロセッサ2223、メモリ2224、不揮発性メモリ2225、SDメモリカードスロット222、状態表示LED223、電源コネクタ229、バックアップ電源2226及び増設メモリ接続用コネクタ2213を備える。
インターフェースコネクタ228は、図8B及び図8Cを用いて後述するように、8ポートのSASインターフェースを収容する高密度コネクタである。
物理インターフェース2221は、SASプロトコルに従った信号を入出力するためのドライバである。プロトコル制御部2222は、SASプロトコルに従った信号の入出力を制御するためのコントローラである。
SAS規格では、8個の物理ポートまでは同一SASアドレスでアクセス可能である。よって、従来の2個の物理ポートを備える記憶装置と同じ論理インターフェースによって本実施の形態の半導体記憶装置22のポート(現用系4ポート、待機系4ポート)を制御することができる。なお、現用系で8ポートを使用する場合は、待機系で8ポートを使用するので、現用系及び待機系で2つのSASアドレスが必要になる。なお、リンク毎にSASアドレスを設定してもよい。
プロセッサ2223は、メモリ2224に格納されたプログラムを実行することによって、半導体記憶装置22の動作、例えば、不揮発性メモリ2225へのデータの入出力を制御する。メモリ2224は、プロセッサ2223によって実行されるプログラム及びプログラムを実行するために必要なデータを格納する。不揮発性メモリ2225は、半導体記憶装置22に転送されるデータを格納するメモリである。
SDメモリカードスロット222は、半導体記憶装置22に交替領域を提供するSDメモリカード1000を装着するためのインターフェースである。状態表示LED223は、半導体記憶装置22の各ポートの負荷状態及び半導体記憶装置22の動作状態を表示する。
電源コネクタ229は、半導体記憶装置22に電源を供給するためのインターフェースである。バックアップ電源2226は、2次電池もしくは大容量キャパシタを備え、半導体記憶装置22への電源の供給が停止した後の所定時間、半導体記憶装置22の各部に電源を供給する。増設メモリ接続用コネクタ(スタッキングコネクタ)2212、2213は、増設メモリ基板2204を接続するためのインターフェースである。
図8Aから図8Cは、本発明の第1の実施の形態の記憶装置(磁気ディスクドライブ21、半導体記憶装置22)のインターフェースコネクタの配置の例を示す図である。
図8Aに示すように、SASインターフェースを備える磁気ディスクドライブ21は、二つのデータ入出力ポートが含まれるSASインターフェースコネクタ227を備える。
また、図8Bに示すように、半導体記憶装置22は、従来のSASインターフェースコネクタ227と、複数のデータ入出力ポートが含まれる高密度SASインターフェースコネクタ228とを備える。図8Bに示す場合、8ポートを高密度SASインターフェースコネクタ228経由で接続してもよく、2ポートを従来のSASインターフェースコネクタ227経由で、6ポートを高密度SASインターフェースコネクタ228経由で接続してもよい。また、半導体記憶装置22への電源は従来のSASインターフェースコネクタ227を経由して供給される。
また、図8Cに示すように、半導体記憶装置22は、複数のデータ入出力ポートが含まれる高密度SASインターフェースコネクタ228と、電源コネクタ229とを備えてもよい。図8Cに示す場合、8ポートが高密度SASインターフェースコネクタ228経由で提供される。また、半導体記憶装置22への電源は電源コネクタ229を経由して供給される。
すなわち、本実施の形態のストレージシステムにおいて、磁気ディスクドライブ21及び半導体記憶装置22は、従来のSASインターフェースコネクタ227、高密度SASインターフェースコネクタ228及び電源コネクタ229が互いに干渉することなく、必要なコネクタを使用することができる。この場合、磁気ディスクドライブ21は2ポートのみを使用し、半導体記憶装置22は8ポートを使用する。
図9Aから図9Hは、本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。
図9Aに示す半導体記憶装置22の場合、記憶領域は論理分割されず、一つの論理的記憶領域として提供される。この場合、現用系の4個のパスは24Gbit/sの一つのリンクを形成して、高速にデータを転送するワイドリンクパスとして使用される。
図9Bに示す半導体記憶装置22の場合、記憶領域は等しい容量の二つの領域に論理分割される。この場合、現用系の4個のパスは12Gbit/sのリンクを形成して、高速にデータを転送する二つのマルチリンクパスに設定され、各12Gbit/sのパスは論理分割された各記憶領域に割り当てられる。よって、論理分割された各記憶領域は、独立に12Gbit/sの帯域を使ってデータを転送することができる。本発明においては、このようにワイドリンクとして使用可能なリンク内を複数のリンクに分割し、前記分割したリンクを独立して転送可能とする技術を、従来技術であるワイドリンクと区別する為に、マルチリンクと称することにする。
図9Dに示す半導体記憶装置22の場合、記憶領域は等しい容量の四つの領域に論理分割される。この場合、現用系の4個の6Gbit/sのパスは論理分割された各記憶領域に割り当てられる。よって、論理分割された各記憶領域は、独立に6Gbit/sの帯域を使ってデータを転送することができる。
図9A、図9B及び図9Dに示す半導体記憶装置22の場合、記憶領域の分割の割合とパスの分割の割合とが均等であった。しかし、本発明の実施の形態では、記憶領域の分割の割合とパスの分割の割合とが均等でなくてもよい。
例えば、図9Cに示す半導体記憶装置22の場合、記憶領域は等しい容量の三つの領域に論理分割される。この場合、現用系の4個のパスは、一つの12Gbit/sのマルチリンクパスと二つの6Gbit/sのパスとに設定される。そして、論理分割された一つの領域には12Gbit/sのパスが割り当てられ、他の二つの領域には各々6Gbit/sのパスが割り当てられる。よって、論理分割された各記憶領域は、独立に割り当てられた12Gbit/s又は6Gbit/sの帯域を使ってデータを転送することができる。
このように論理分割された記憶領域に一つのパス又は複数のパスを纏めたマルチリンクパスを割り当てることによって、I/F全体の帯域を記憶装置の性能に応じて適切に配分できる。そして、磁気ディスクドライブより高い速度で読み書き可能な半導体記憶装置22の性能を生かすことができる。
すなわち、現用系で4ポートを使用し、記憶領域を論理的に4分割した場合、記憶領域の分割数が4までは記憶装置毎にポートを設定することができる。プロセッサ400は半導体記憶装置22にモードセレクトコマンドを送信し、論理分割数及び分割された各領域のアドレス範囲を指示する。半導体記憶装置22は、受信したモードセレクトコマンドに従って、論理分割された領域とポートとを関連付けし、論理分割された各領域に識別子(LUN)を割り当てる。
使用可能な物理ポート数を越えて記憶領域を分割した場合、コントローラ側(プロセッサ400)でI/Oターゲットの記憶領域を指定することが、パフォーマンス的には望ましい。しかし、半導体記憶装置22の処理能力に余裕がある場合は、記憶装置側でI/Oターゲットの記憶領域を判定してもよい。
このように、記憶領域の分割の割合とパスの分割の割合とを不均等にすることによって、ユーザの要求に適合するように論理分割された記憶領域を提供することができる。
また、記憶装置の論理分割を、ストレージシステムの論理分割と組み合わせることによって、さらにきめ細かい性能を調整することができる。
次に、磁気ディスクドライブ21の場合の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例について説明する。
図9Eに示す磁気ディスクドライブ21の場合、現用系のパスは1本しか設定できないので、待機系のパスを現用系に転用しない限り、パスを論理分割することはできない。よって、記憶領域が二つの領域に分割された場合でも、論理分割された各領域で6Gbit/sのパス(帯域)が、論理分割された二つの領域によって共用される。
また、図9Fに示す磁気ディスクドライブ21のように、記憶領域が分割できない場合、1本の現用系のパスが記憶領域に割り当てられる。よって、6Gbit/sのパス(帯域)が、一つの領域によって使用される。
図10は、図9Aから図9Fに示す論理分割とパスの割り当てとを実現するための構成情報の説明図である。
図10に示す構成情報はプロセッサ400によって管理され、共有メモリ450に格納されている。この構成情報は、ホストグループ1701、論理分割グループ1702、フロントエンドポート1703、システム処理能力1704、キャッシュ容量、モード1705、バックエンドゾーニング1706、ボリュームグループ1707、ドライブタイプ1708、及び論理分割の割当情報(領域情報1709、パス情報1710)を含む。
ホストグループ1701は、この論理分割グループ(記憶領域)にアクセスするホスト計算機10のグループの識別子である。論理分割グループ1702は、論理分割された記憶領域の識別子である。フロントエンドポート1703は、この論理分割グループへのアクセスのために使用されるチャネル制御部100のポートの識別子であり、この論理分割グループへのアクセスのために使用されるポート数の情報も含む。
システム処理能力1704は、この論理分割グループへのアクセス処理の性能である。キャッシュ容量、モード1705は、この論理分割グループへのアクセスのために使用されるキャッシュメモリ400の容量、及び、キャッシュメモリ400へのアクセスモード(ランダムアクセスか、シーケンシャルアクセスか)である。バックエンドゾーニング1706は、この論理分割グループへのアクセスに使用されるディスク制御部200下のパスのゾーニングの種類である。
ボリュームグループ1707は、この論理分割グループを構成する論理ボリュームの識別子である。ドライブタイプ1708は、この論理分割グループを構成する記憶装置の種類である。
論理分割の割当情報は、領域情報1709及びパス情報1710を含む。領域情報1709は、この論理分割グループを構成する記憶容量である。パス情報1710は、この論理分割グループへのアクセスに使用されるパスの帯域である。
想定負荷1711は、このテーブル内に例として設定された論理分割グループへのアクセス負荷の想定である。
なお、半導体記憶装置22は高速で応答が可能であるため、磁気ディスクドライブ21よりキャッシュメモリ400の容量の割り当てを小さくすることができる。また、図10に示す構成情報では、磁気ディスクドライブ21は、データ転送の速度より磁気ディスクへのアクセス性能がボトルネックであるため、一つのポートを割り当てている。しかし、半導体メモリを混載したハイブリッドタイプの磁気ディスクドライブの場合や、磁気ディスクの記録密度が向上して、磁気ディスクドライブのパフォーマンスが向上した場合等では、半導体記憶装置22と同様に複数のポートを割り当ててもよい。
図11は、本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。なお、図11は現用系のリンクのみを示し、待機系のリンクは図示した現用系のリンクと同数備わるとよい。
コントローラ筐体1のコントローラ600A上のプロトコル制御部602Aは各々8個の物理インターフェース601Aを制御している。各物理インターフェース601Aは、一つの物理ポートを提供し、各ポートが一つのリンクを形成している。
コントローラ筐体1から出力されるリンクのうち、半導体記憶装置22へのリンクは、4本ずつ纏められ、24Gbit/sの二つのリンクを形成している。一方、磁気ディスクドライブ21へのリンクは、6Gbit/sの八つのリンクを形成している。
コントローラ筐体1と接続されるドライブ筐体2AのSASエクスパンダ600Aは、コントローラ筐体1からの八つのリンクを4本ずつ纏め、24Gbit/sの二つを形成し、24Gbit/sのリンクを二つの半導体記憶装置22に提供する。
ドライブ筐体2AのSASエクスパンダ600Bは、6Gbit/sの八つのリンクのまま、ドライブ筐体2Bに出力する。ドライブ筐体2BのSASエクスパンダ600Cは、6Gbit/sの八つのリンクを磁気ディスクドライブ21に提供する。
すなわち、半導体記憶装置22へのデータ転送には、複数のリンクを纏めたマルチリンクを使用する。一方、磁気ディスクドライブ21へのデータ転送には、マルチリンクを使用しないで、各パスを独立に制御する。なお、記憶装置へのパスの一部分をマルチリンクとし、マルチリンクと独立のリンクを組み合わせてパスを形成してもよい。
次に、仮想的に構成されたマルチリンクについて説明する。
本実施の形態では、半導体記憶装置22の、各々6Gbit/sの四つのポートを使用して、仮想マルチリンクによって、最大12Gbit/sの4本の仮想リンクを構成する。
管理者は、ストレージシステムに(例えば、管理ネットワークを介して)接続された管理計算機を用いて、半導体記憶装置22の記憶容量を論理的に分割し、分割された記憶領域毎に仮想ストレージを構成する。
ストレージシステムのプロセッサ400は、管理者の指示に従って、コントローラユニット1020のリソース(各制御部の処理能力、プロセッサの処理能力、及びキャッシュの容量)を配分し、SASエクスパンダ600のゾーニングを設定することによって、仮想マルチリンクのための物理ポートのペアを設定する。さらに、仮想マルチリンクが適用される半導体記憶装置22にも、論理分割及び仮想マルチリンクを設定する。
SASエクスパンダ600及び半導体記憶装置22のマルチリンクの設定が完了した後、プロセッサ400は、マルチリンク開始のコマンドをSASエクスパンダ600に発行する。SASエクスパンダ600は、当該コマンドを受信した後、配下の半導体記憶装置22とリンクのネゴシエーションを開始する。SASエクスパンダ600は、当該ネゴシエーションの完了後、設定されたモードによる動作を開始し、当該動作が可能である旨の通知をプロセッサ400に報告する。
プロセッサ400は、当該通知を受信した後、同時に動作可能な二つのペア(例えば、ポート0/1とポート2/3、ポート1/2とポート0/3)の属する論理分割グループの並列処理を優先して行うように、ディスク制御部200等を設定する。
ディスク制御部200は、コントローラから書き込まれる処理キューを監視して、並列処理が可能なI/Oを優先的に実行するように、コマンドの実行順序を制御する。これによって、帯域を効率的に使用することができる。
また、SASエクスパンダ600は、一つの物理ポートを複数の論理区画に割り当てる仮想ゾーニーングによって、複数の論理区画で物理ポートを共用しつつ、論理区画毎にストレージドメインを形成することができる。
また、半導体記憶装置22とSASエクスパンダ600との間の複数のポートを、論理分割されたリンク毎に休止してもよい。また、ポート(リンク)の休止に対応して半導体記憶装置22の対応する記憶領域を停止してもよい。このように論理分割毎にストレージシステムの動作を停止することによって、消費電力を低減することができる。
また、各論理区画の負荷に応じて、半導体記憶装置22とSASエクスパンダ600との間の複数のポートの一部を休止してもよい。
図12Aから図12Dは、本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。図12Aから図12Dに示すリンクの例は、一つ又は複数のリンクを時分割して、複数の記憶領域で共用する。
図12Aは、論理分割された記憶領域に割り当てられたリンクを時分割で使用してデータを転送する仮想マルチリンクの例を示す。
記憶領域は四つの記憶領域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に転送される。
この場合、プロセッサ400もしくはディスク制御部200は、半導体記憶装置22にデータを転送する場合、割り当てられたポートをチェックして、ポートが空いているか否かを判定する。そして、空いているポートを使用して一つのリンクを形成するようにデータを転送する。
このように各リンクを時分割して使用することで、各記憶領域では最大12Gbit/sでデータを転送することができる。
図12Bは、図12Aに示すリンク1に障害が発生した場合に、待機系のリンク5を使用してデータを転送する状態を示す。
リンク1には障害が発生したので、リンク1の代わりに待機系のリンク5が現用系に割り当てられる。
このため、記憶領域1101にはリンク2及び5が割り当てられ、記憶領域1101に転送されるデータ1111はリンク2及び5によって転送される。記憶領域1103にはリンク4及び5が割り当てられ、記憶領域1103に転送されるデータ1113はリンク4及び5によって転送される。記憶領域1102及び1104に対するリンクの割り当ては、図12Aに示した場合と同じである。
このように、本実施の形態では、現用系及び待機系のパスを自由に組み合わせてリンクを形成することができるので、一部のリンクに障害が発生した場合でも、従来のSAS規格のワイドリンクのように、纏められたリンクの全てを切り換える必要がない。すなわち、現用系の一部のパスに障害が発生した場合、障害が発生した一部のパスのみを切り換えることによって、待機系のリンクの一部を併用して、データを転送することができる。このため、障害発生時も通常時と同じ帯域を使用してデータを転送することができる。
図12Cは、通常時に、現用系のリンク1〜4及び待機系のリンク5〜8も使用してデータを転送する例を示す。
記憶領域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に転送される。
このように現用系及び待機系のリンクを時分割して使用すると、各記憶領域では最大24Gbit/sでデータを転送することができ、ストレージシステムに備わるデータ転送帯域を有効に使用することができる。
図12Dは、図12Cに示すリンク1に障害が発生した場合に、リンク1を使用していた記憶領域へのデータ転送を縮退してデータを転送する状態を示す。
リンク1には障害が発生したので、記憶領域1101にはリンク7及び8が割り当てられ、データ1111はリンク7及び8によって記憶領域1101に転送される。記憶領域1103にはリンク6及び7が割り当てられ、データ1113はリンク6及び7によって記憶領域1103に転送される。記憶領域1102及び1104に対するリンクの割り当ては、図12Cに示した場合と同じである。
このように、本実施の形態では、現用系及び待機系のパスを自由に組み合わせてリンクを形成することができるので、従来のSAS規格のワイドリンクのように、纏められたリンクの全てを切り換える必要がない。すなわち、現用系のパスと同じ帯域の待機系のパスを用意しておかなくてもよい。このため、一部のパスに障害が発生した場合に、パスを縮退し、データの転送を継続することができる。
図13Aは、本発明の第1の実施の形態のプロセッサ400が管理する管理テーブル1200の構成を示す説明図である。
管理テーブル1200は、論理分割された記憶領域とディスク制御部200のポートとの関係を示し、論理分割グループ1201、仮想マルチリンク1202、ターゲットポート1203及びディスクグループ1204を含む。
論理分割グループ1201は、論理分割されたストレージシステムの論理区画の識別子である。仮想マルチリンク1202は、仮想的なマルチリンクとして使用されるリンクの数である。ターゲットポート1203は、ディスク制御部200のポートの識別子である。ディスクグループ1204は、SASエクスパンダ600のポート(このポートに接続されている記憶装置)の識別子である。
なお、管理テーブル1200のエントリ1205は通常時のポートの割り当てを示し、エントリ1206はポートA0に障害が発生した場合のポートの割り当てを示す。
図13Bは、本発明の第1の実施の形態のSASエクスパンダ600が管理する管理テーブル1210の構成を示す説明図である。
管理テーブル1210は、論理分割された記憶領域とSASエクスパンダ600のポートとの関係を示し、物理ポート1211、仮想ゾーングループ1212、仮想マルチリンク1213及び物理リンク1214のマッピング情報を含む。
物理ポート1211は、SASエクスパンダ600のポートの識別子である。仮想ゾーングループ1212は、論理分割されたストレージシステムの論理区画の識別子である。仮想マルチリンク1213は、仮想的なマルチリンクとして使用されるリンクの数である。物理リンク1214は、物理的リンクの識別子である。
管理テーブル1210から分かるように、仮想リンクは一つのゾーンに対応しており、物理リンクは複数のゾーンにシェアされている。
図14は、本発明の第1の実施の形態のコントローラ筐体1のプロセッサ400及びディスク制御部200において実行される処理のフローチャートである。
まず、ホスト計算機10からのI/O要求(書込要求、読出要求)を受けると、プロセッサ400は、記憶装置21、22へのI/Oを実行するためのコマンドを処理キューに格納し、コマンドを処理キューに格納した旨をディスク制御部200に指示する(S101)。
ディスク制御部200は、コマンドを処理キューに格納した旨の指示を受信した後、処理キューに格納されたコマンドを読み出す(S102)。そして、ディスク制御部200は、処理キューから読み出されたコマンドと並行して実行可能なコマンドがあるか否かを判定する(S103)。
判定の結果、処理キューから読み出されたコマンドと並行して実行可能なコマンドがある場合、ディスク制御部200は、処理キューから読み出されたコマンド及び並行して実行可能なコマンドを実行する(すなわち、実行されるコマンドに対応したI/OコマンドをSASインターフェース(SASエクスパンダ600)に出力する)。そして、両コマンドの実行が終了した後、処理キューから読み出されたコマンドをキューから削除し(S104)、並列して実行されたコマンドをキューから削除する(S105)。その後、ステップS107に進む。
一方、処理キューから読み出されたコマンドと並行して実行可能なコマンドがない場合、ディスク制御部200は、処理キューから読み出されたコマンドを実行する。そして、コマンドの実行が終了した後、処理キューから読み出されたコマンドをキューから削除する(S106)。その後、ステップS107に進む。
ステップS107では、ディスク制御部200は、全ての処理キューにコマンドが格納されているか否かを判定する。判定の結果、いずれの処理キューにもコマンドが格納されていない場合、待機状態へ移行する。一方、いずれかの処理キューにコマンドが格納されている場合、ステップS102へ戻り、処理キューに格納されているコマンドを処理する。
図15は、本発明の第1の実施の形態のコントローラ筐体1のSASエクスパンダ600において実行される処理のフローチャートである。
SASエクスパンダ600は、ディスク制御部200からのI/Oコマンドを受けると、I/Oコマンドによってデータを転送しようとするポートの状態を参照し、このポートはデータ転送中であるか否かを判定する(S111)。
判定の結果、I/Oコマンドによってデータを転送しようとするポートがデータ転送中である場合、さらに、管理テーブル1210(図13B)を参照し、このポートがマルチリンクされるポートであるか否かを判定する(S112)。
判定の結果、このポートがマルチリンクされるポートである場合、さらに、このI/Oはマルチリンクによって転送可能か否かを判定する(S113)。
判定の結果、このI/Oはマルチリンクによって転送可能である場合、受信したI/Oコマンドに従って、マルチリンクでI/Oを処理(データを転送)する(S114)。
一方、ポートがマルチリンクされるポートでない場合(S112でNO)、又は、このI/Oはマルチリンクによって転送不可能である場合(S113でNO)、ステップS111へ戻り、データを転送しようとするポートが空くまで待機する。
さらに、I/Oコマンドによってデータを転送しようとするポートがデータ転送中ではない場合(S111でNO)、さらに、データが転送されるポートがマルチリンクされるポートであるか否かを判定する(S115)。
判定の結果、このポートがマルチリンクされるポートである場合、受信したI/Oコマンドに従って、マルチリンクを使用してI/Oを処理(データを転送)する(S114)。
一方、ポートがマルチリンクされるポートでない場合、受信したI/Oコマンドに従って、処理通常の処理によって、I/Oを処理(データを転送)する(S116)。
図16は、本発明の第1の実施の形態の障害発生時のパス変更処理のフローチャートである。図16に示すパス変更処理によって、図12Bに示すようにパスが変更される。
仮想マルチリンクが設定されているポートの障害が検出された後に、SASエクスパンダ600は、障害が発生したポートの障害通知をディスク制御部200に通知する(S121)。
ディスク制御部200は、管理テーブル1200(図13A)を参照し、障害が検出されたポートが含まれるワイドリンクの全てのリンクが使用不能となったか否かを判定する(S122)。
判定の結果、障害が検出されたポートが含まれるワイドリンクの全てのリンクが使用不能となった場合、このポートに対応する待機系のポートにパスを変更する(S124)。
一方、障害が検出されたポートが含まれるワイドリンクの一部のリンクが使用可能である場合、このマルチリンクに含まれるリンクのペアを変更し、パスの変更を、SASエクスパンダ600に通知する(S123)。
SASエクスパンダ600は、パスの変更の通知を受信した後に、当該リンクのI/Oを変更されたパスへリダイレクトする(S125)。
なお、図12Dに示すパス変更の場合、障害が発生したパスを含む仮想マルチリンクの使用するリンク数を減らす設定がされる。
以上説明したように、第1の実施の形態では、論理分割された記憶領域に一つのパス又はマルチリンクパスを割り当てることによって、I/F全体の帯域を記憶装置の性能に応じて適切に配分でき、ストレージシステムの性能を向上することができる。
<実施形態2>
次に、本発明の第2の実施の形態について説明する。
従来のストレージシステムでは、記憶装置への所定の書き込み単位毎に、データが正しいことを保証する検証コードを付加している。例えば、半導体記憶装置(いわゆる、SSD)及びSATAのディスクドライブでは512バイト毎に、また、FCのディスクドライブでは520バイト毎に、LA、LRC等の検証コードを付加している。
さらに、コントローラが記憶装置にライト命令を発行しても、記憶装置にデータが書き込まれていないという問題が生じる場合がある。
そのため、従来技術では、データを書き込んだ後に、書き込まれたデータを読み出して、書き込みデータと読み出されたデータとを1バイト毎に比較していた。又は、書き込みデータの検証コードと読み出されたデータの検証コードとを全て比較していた。
しかし、前述した従来の方法では、書き込まれたデータを全て読み出すために転送帯域を消費し、データを比較するためにプロセッサの処理能力を消費するので、パフォーマンスの向上を妨げるという問題があった。このパフォーマンスの低下は、半導体記憶装置等の高速な処理が可能な記憶装置においては大きな問題となる。
この課題に対し、シーケンシャルデータについて、先頭及び最終ブロックのデータのみを比較することが提案されている(例えば、特開2005−165443号公報参照)。
しかし、前記の方法では、1回の書込みに対して、2回分のコマンド生成/発行およびステータス確認に要するオーバヘッドが大きいという問題があり、スループットの低下等が懸念される。
この問題を解決するために、第2の実施の形態では、記憶装置の複数のブロックのデータに付加された検証コードのうち、最後のブロックのみ又は最後のブロックから数ブロックのデータに付加された検証コードを使用して、データを検証する。
第2の実施の形態の検証コードは、例えば、8バイトで、アドレス検証コード(RAIDグループ内のアドレス等のシーケンシャルな番号)、連続性検証コード(データの書き込み毎に生成される識別子、書き込まれたデータの一連番号、データの先頭及び末尾を示すフラグ等)、データ検証コード(データ保証のためのCRC又はECC等のコード)、及び/又は、データ属性コード(データの種別(読取専用又はパリティ)等を示すコード)を用いることができる。
図17A及び図17Bは、本発明の第2の実施の形態の概要を説明する図である。
図17Aに示すように、プロセッサ400(コントローラ1020)は、記憶装置(磁気ディスクドライブ21又は半導体記憶装置22)に最終ブロックを書き込んだ(1601)後、書き込まれたデータを読み出すリード命令を発行し、書き込まれたデータを読み出す(1602)。そして、書き込みデータの検証コードと読み出されたデータの検証コードとを比較する(1603)。その結果、プロセッサ400は、検証が成功した場合、ライト応答をホスト計算機10に返信する。一方、プロセッサ400は、検証に失敗した(書き込みデータの検証コードと読み出されたデータの検証コードとが一致しない)場合、エラーをホスト計算機10に報告する。第2の実施の形態では、プロセッサ400は、最終ブロック(又は、最後から数ブロック)のデータを読み出すリード命令を発行し、最終ブロック(又は、最後から数ブロック)の検証コードのみを比較する。
図17Bに示すように、第2の実施の形態の書き込みデータの検証では、前述したプロセッサ400に代えて、SASエクスパンダ600又はHDDに接続されたポートアプリケータ610が、書き込みデータの検証コードと読み出されたデータの検証コードとを比較してもよい(1603)。
この場合、SASエクスパンダ600(又は、ポートアプリケータ610)は、記憶装置21、22に最終ブロックを書き込んだ(1601)後、記憶装置21、22のWRITEステータスを保留し、最終ブロック(又は、最後から数ブロック)のデータを記憶装置から読み出す(1602)。その後、SASエクスパンダ600は、書き込みデータの検証コードと読み出されたデータの検証コードとを比較する(1603)。その結果、SASエクスパンダ600は、検証が成功した場合、保留していたWRITE応答をコントローラ1020に返信する(1604)。一方、検証に失敗した場合、エラーをコントローラ1020に報告する(1604)。
このように、SASエクスパンダ600又はポートアプリケータ610が、書き込みデータを書き込みデータを検証することによって、書き込みデータの検証処理の負荷が分散され、コントローラ負荷を軽減することができる。
さらに、記憶装置21、22が、書き込みデータを検証してもよい。このように、記憶装置21、22において書き込みデータの検証を分散処理すると、コントローラの負荷を軽減することができる。
本実施の形態では、プロセッサ400(SASエクスパンダ600、ポートアプリケータ610)によって実行されるデータの検証処理において処理されるデータ量は小さいため、WRITE応答の待ち時間を短縮でき、コントローラ1020のタイムアウトを抑止することができる。また、検証処理に消費されるCPUの処理能力とデータ転送帯域を小さくしながら、書き込みデータを高信頼度で検証することができる。
第2の実施の形態の書き込みデータの検証では、所定の条件を満たす場合に、書き込まれたブロックの全ての検証コードを比較することによって、より信頼性を向上することができる。この所定の条件には、データ書き込み前の所定時間内に、コントローラ1020が記憶装置21、22のエラーを検出した場合、及び、データ書き込み時又は検証用のデータを読み出す時にエラーが発生した場合がある。このような場合には、記憶装置21、22の動作が不安定であったり、記憶装置21、22が故障している可能性がある。よって、書き込まれた全範囲のデータを検証することによって、データ書き込みの信頼性を向上させることができる。
また、周期的に(例えば、所定時間毎に)、書き込まれた全範囲のデータを検証することよい、このようにすることによって、記憶装置21、22の障害を早期に検出することができ、データ書き込みの信頼性をより向上させることができる。
また、検証コードの比較のためのデータを読み出す範囲を長くし、検証コードによるデータの不一致が検出される可能性を向上させることができる。すなわち、比較のために読み出される検証コードが多くなるので、異常な検証コードが含まれる確率が高くなるのである。
また、検証コード中に書き込み毎の管理コードを埋め込み、検証コードを比較するとよい。この管理コードは、データの書き込み毎に生成される識別子、書き込まれたデータの一連番号、データの先頭及び末尾を示すフラグ等、データの連続性を検証できる情報を用いるとよい。
図18は、本発明の第2の実施の形態のエラー検出モデルを示す説明図である。
図18では、例えば、10ブロックのデータ1801を書き込む場合を考える。データが正常に記憶装置21、22に書き込まれた場合は、10番目のデータは10番目のセクタに書き込まれる(1802)。
一方、記憶装置21、22で優先順位の高い内部処理による割り込みが発生することによって書き込みが中断した場合、記憶装置21、22は、割り込み処理の終了後にずれたセクタ1804から書き込みを再開する場合がある。本来はバグであるが、特定条件下での割り込みの競合など、再現や摘出が難しいケースでは見過ごされる事があり、結果、想定されていない状況が生じるため、このような場合、記憶装置21、22では、エラーを検出することができない場合がある。
しかし、この場合でも、最終1ブロックのデータを読み出すことによって、データが正常に書き込まれたかを検証することができる(1801)。さらに、最終ブロックの前後1ブロックのデータを読み出すことによって、データの連続性及び書き込み対象領域外1805への影響を確認することができる。
最終ブロックのデータのみを読み出すか、最終ブロックの前後数ブロックのデータを読み出すかは、管理者又はユーザの設定によって決めてもよい。また、書き込まれるデータが所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。具体的には、RAIDストライプサイズ以上のデータを書き込む場合、複数ブロックのデータを検証のために読み出してもよい。また、書き込みデータ長と読み出しデータ長の比率が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。また、データ書き込みのために消費される帯域が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。また、記憶装置の負荷が所定の閾値より大きい場合、複数ブロックのデータを検証のために読み出してもよい。
このように、検証のために読み出されるデータ長を、書き込まれるデータの長さによって制御することによって、さらに信頼性を向上させることができる。
図19は、本発明の第2の実施の形態のプロセッサ400によって実行されるデータ検証処理のフローチャートである。
まず、ホスト計算機10から書き込みデータを受領すると、チャネル制御部100は、受領したデータをキャッシュメモリ300に格納する(S131)。そして、プロセッサ400は、キャッシュメモリ300に格納されたデータを読み出して、ホスト計算機10から受領したデータの検証コードを生成する(S132)。プロセッサ400は、書き込みコマンドを生成し、対象の記憶装置にデータを書き込む(S133)。
その後、プロセッサ400は、プロセッサ400の負荷が所定の閾値より低いか否か、及び、書き込まれるデータの長さが所定の閾値を超えるか否かを判定する(S134)。
判定の結果、プロセッサ400の負荷が低い、又は、書き込まれたデータが長い場合、書き込まれた最終ブロックを含む、所定数のブロックのデータを読み出し(S137)、読み出された検証コードと書き込みデータの検証コードとを比較し、両者が一致するか否かを判定する(S138)。その結果、両者が一致しない場合、データは正しく書き込めていないと判定し、エラー処理を実行する(S139)。一方、両者が一致する場合、データは正しく書き込めたと判定し、このデータ検証処理を終了する。
ステップS134における判定の結果、プロセッサ400の負荷が高い、又は、書き込まれたデータが短い場合、書き込まれた最終ブロックのデータを読み出し(S135)、読み出された検証コードと書き込みデータの検証コードとを比較し、両者が一致するか否かを判定する(S136)。その結果、両者が一致しない場合、データは正しく書き込めていないと判定し、エラー処理を実行する(S139)。一方、両者が一致する場合、データは正しく書き込めたと判定し、このデータ検証処理を終了する。
以上説明したように、第2の実施の形態では、書き込みデータの検証のために消費される帯域が少ないので、パフォーマンスに優れている。このため、ユーザの高パフォーマンス要求に応えることができる。
また、第2の実施の形態は、前述した特開2005−165443号公報に記載された技術と異なり、書き込みデータがシーケンシャルデータであるかに拘わらず適用することができる。
また、第2の実施の形態では、前述した特開2005−165443号公報に記載された技術と異なり、最初のブロックのデータを用いていない。このため、連続したブロックのデータを1回の読み出しコマンドで読み出すことができ、従来技術のように最初ブロックと最後のブロックとを読み出すために2回の読み出しコマンドを発行する必要がない。
また、第2の実施の形態では、前述した特開2005−165443号公報に記載された技術と異なり、ブロックの全データを比較せず、検証コードのみを比較する。
さらに、第2の実施の形態では、最終ブロック以降のデータも読み出して検証する。よって、従来技術では含まれない範囲のデータ信頼性を向上させることができる。
さらに、第2の実施の形態では、検証コードに規則性がある情報を用いることによって、データ比較のようなOK又はNGの判断以外に、検証コードの規則性を用いてエラー原因を特定することができる。よって、データ書き込み処理の信頼性を向上させることができる。
さらに、第2の実施の形態では、比較するデータが少なく、単純な演算処理によって比較できることから、八一ドウェアヘの組み込みが容易となる。
本発明の第1の実施の形態の概要を示す説明図である。 本発明の第1の実施の形態の概要を示す説明図である。 本発明の第1の実施の形態のストレージシステムの正面図である。 本発明の第1の実施の形態のコントローラ筐体の前面扉を開いた状態の内部の構造を示す図である。 本発明の第1の実施の形態のコントローラ筐体の背面扉を開いた状態の内部の構造を示す図である。 本発明の第1の実施の形態のストレージシステムの構成を示すブロック図である。 本発明の第1の実施の形態の半導体記憶装置の正面図である。 本発明の第1の実施の形態の半導体記憶装置のケースの構造を示す透視図である。 本発明の第1の実施の形態の半導体記憶装置の内部構造を示す斜視図である。 本発明の第1の実施の形態の半導体記憶装置(ベース基板)の構成を示すブロック図である。 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。 本発明の第1の実施の形態の記憶装置のインターフェースコネクタの配置の例を示す図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 本発明の第1の実施の形態の記憶領域の論理分割と、論理分割された記憶領域のパス(帯域)の割り当ての例を示す説明図である。 図9Aから図9Fに示す論理分割とパスの割り当てとを実現するための構成情報の説明図である。 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンク例を説明する図である。 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。 本発明の第1の実施の形態のストレージシステムにおいて設定されたリンクの例を説明する図である。 本発明の第1の実施の形態のディスク制御部のプロトコル制御部に備わる管理テーブルの構成を示す説明図である。 本発明の第1の実施の形態のSASエクスパンダのプロトコル制御部に備わる管理テーブルの構成を示す説明図である。 本発明の第1の実施の形態のコントローラ筐体のプロセッサ及びディスク制御部において実行される処理のフローチャートである。 本発明の第1の実施の形態のコントローラ筐体のSASエクスパンダにおいて実行される処理のフローチャートである。 本発明の第1の実施の形態の障害発生時のパス変更処理のフローチャートである。 本発明の第2の実施の形態の概要を説明する図である。 本発明の第2の実施の形態の概要を説明する図である。 本発明の第2の実施の形態のエラー検出モデルを示す説明図である。 本発明の第2の実施の形態のデータ検証処理のフローチャートである。
符号の説明
21 磁気ディスクドライブ
22 半導体記憶装置
100 チャネル制御部
200 ディスク制御部
300 キャッシュメモリ
400 プロセッサ(CPU)
500 データコントローラ
600 SASエクスパンダ
610 ポートアプリケータ(ポート拡張器)

Claims (11)

  1. データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
    前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、
    前記コントローラは、
    前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、
    一又は複数の前記物理ポートを前記論理分割された記憶領域に割り当てることを特徴とする請求項1に記載のストレージシステム。
  2. 前記コントローラは、
    二つの前記物理ポートを前記論理分割された一つの記憶領域に排他的に割り当て、
    前記論理分割された記憶領域に割り当てられた二つのポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項1に記載のストレージシステム。
  3. 前記コントローラは、
    前記二つの物理ポートを前記論理分割された一つの記憶領域に現用系のポートとして排他的に割り当て、
    二つの他の前記物理ポートを前記論理分割された記憶領域に待機系のポートとして割り当て、
    前記論理分割された記憶領域に割り当てられた一の現用系のポートに障害が発生した場合、当該記憶領域に割り当てられた一の待機系のポート及び前記障害が発生していない現用系のポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項2に記載のストレージシステム。
  4. 前記コントローラは、
    前記複数の物理ポートを前記論理分割された記憶領域が共用するように割り当て、
    前記論理分割された記憶領域に割り当てられた複数のポートのうちデータ転送時に使用可能なポートを使って、一つのリンクを形成するように、データを転送することを特徴とする請求項1に記載のストレージシステム。
  5. 前記コントローラは、前記複数のポートを、前記論理分割された記憶領域に均等に又は不均等に割り当てることを特徴とする請求項1に記載のストレージシステム。
  6. 前記記憶装置の一部の記憶領域は、前記記憶領域が書換不能となった場合に使用される交替領域に設定されており、
    前記ストレージシステムは、前記交替領域が不足すると判定された場合に使用される補助記憶装置を装着するインターフェースを備えることを特徴とする請求項1に記載のストレージシステム。
  7. データを記憶する記憶装置と、前記記憶装置に書き込まれるデータを一時的に格納するキャッシュメモリと、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記キャッシュメモリと前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
    前記コントローラは、
    前記キャッシュメモリから前記記憶装置へデータを転送する場合、データの書き込みブロック毎に、書き込まれたデータの正当性を担保するための検証コードを生成し、
    前記生成された検証コードが付加されたデータを前記記憶装置に転送し、
    前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、先頭のブロックから1又は複数のブロックのデータに付加された検証コードを使用しないで、前記記憶装置に書き込まれたデータを検証することを特徴とするストレージシステム。
  8. 前記コントローラは、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後のブロックのデータに付加された検証コードのみを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。
  9. 前記コントローラは、前記記憶装置へ転送されるデータが所定の閾値より大きい場合、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後から先頭方向に、データ長より小さい所定数のブロックのデータに付加された検証コードを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。
  10. 前記コントローラは、前記記憶装置の複数のブロックに書き込まれたデータに付加された検証コードのうち、最後のブロックから前後に所定数のブロックのデータに付加された検証コードを使用して、前記記憶装置に書き込まれたデータを検証することを特徴とする請求項7に記載のストレージシステム。
  11. データを記憶する記憶装置と、前記記憶装置へのデータの入出力を制御するコントローラと、前記記憶装置と前記コントローラとを接続するインターフェースとを備えるストレージシステムであって、
    前記記憶装置は、前記インターフェースと接続された複数の物理ポートを備え、
    前記コントローラは、
    前記記憶装置の記憶領域を複数の記憶領域に論理的に分割して提供し、
    二つの前記物理ポートを前記論理分割された一つの記憶領域に現用系のポートとして排他的に割り当て、
    二つの他の前記物理ポートを前記論理分割された記憶領域に待機系のポートとして割り当て、
    通常運用時には、前記論理分割された記憶領域に割り当てられた二つの現用系のポートを使って、一つのリンクを形成するように、データを転送し、
    前記論理分割された記憶領域に割り当てられた一の現用系のポートに障害が発生した場合、当該記憶領域に割り当てられた一の待機系のポート及び前記障害が発生していない現用系のポートを使って、一つのリンクを形成するように、データを転送することを特徴とするストレージシステム。
JP2008261997A 2008-10-08 2008-10-08 ストレージシステム Expired - Fee Related JP4809413B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008261997A JP4809413B2 (ja) 2008-10-08 2008-10-08 ストレージシステム
US12/314,982 US8370570B2 (en) 2008-10-08 2008-12-19 Storage system
US13/731,808 US8966174B2 (en) 2008-10-08 2012-12-31 Storage system
US14/624,638 US9223508B2 (en) 2008-10-08 2015-02-18 Storage system
US14/967,589 US9710168B2 (en) 2008-10-08 2015-12-14 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008261997A JP4809413B2 (ja) 2008-10-08 2008-10-08 ストレージシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011158785A Division JP5314737B2 (ja) 2011-07-20 2011-07-20 ストレージシステム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2010092285A true JP2010092285A (ja) 2010-04-22
JP4809413B2 JP4809413B2 (ja) 2011-11-09

Family

ID=42076708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008261997A Expired - Fee Related JP4809413B2 (ja) 2008-10-08 2008-10-08 ストレージシステム

Country Status (2)

Country Link
US (4) US8370570B2 (ja)
JP (1) JP4809413B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048704A (ja) * 2010-08-25 2012-03-08 Lsi Corp シリアル・アドバンスト・テクノロジ・アタッチメント通信における改善されたホスト/イニシエータ利用のための方法および機器
JP2012073825A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd 計算機システム及び計算機システムの管理方法
JP2012118958A (ja) * 2010-12-03 2012-06-21 Lsi Corp Sasエクスパンダにおけるデータプリフェッチ
JP2013182404A (ja) * 2012-03-01 2013-09-12 Nec Corp ディスクアレイ装置及びこれの消費電力削減方法
JP2015011521A (ja) * 2013-06-28 2015-01-19 富士通株式会社 スイッチおよび制御方法
WO2015008337A1 (ja) * 2013-07-16 2015-01-22 富士通株式会社 情報処理装置、ポート制御プログラムおよびポート制御方法
JP2015519619A (ja) * 2012-05-16 2015-07-09 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ転送制御方法
US10649891B2 (en) 2016-08-24 2020-05-12 Toshiba Memory Corporation Storage device that maintains mapping data therein

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100036948A1 (en) * 2008-08-06 2010-02-11 Sun Microsystems, Inc. Zoning scheme for allocating sas storage within a blade server chassis
US8417895B1 (en) 2008-09-30 2013-04-09 Violin Memory Inc. System for maintaining coherency during offline changes to storage media
US8838850B2 (en) * 2008-11-17 2014-09-16 Violin Memory, Inc. Cluster control protocol
US8442059B1 (en) 2008-09-30 2013-05-14 Gridiron Systems, Inc. Storage proxy with virtual ports configuration
US8788758B1 (en) 2008-11-04 2014-07-22 Violin Memory Inc Least profitability used caching scheme
US8775741B1 (en) 2009-01-13 2014-07-08 Violin Memory Inc. Using temporal access patterns for determining prefetch suitability
US8443150B1 (en) 2008-11-04 2013-05-14 Violin Memory Inc. Efficient reloading of data into cache resource
US8671258B2 (en) * 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8667366B1 (en) 2009-04-17 2014-03-04 Violin Memory, Inc. Efficient use of physical address space for data overflow and validation
US8417871B1 (en) 2009-04-17 2013-04-09 Violin Memory Inc. System for increasing storage media performance
US8713252B1 (en) 2009-05-06 2014-04-29 Violin Memory, Inc. Transactional consistency scheme
US8402198B1 (en) 2009-06-03 2013-03-19 Violin Memory, Inc. Mapping engine for a storage device
US9069676B2 (en) 2009-06-03 2015-06-30 Violin Memory, Inc. Mapping engine for a storage device
US8402246B1 (en) 2009-08-28 2013-03-19 Violin Memory, Inc. Alignment adjustment in a tiered storage system
US8356198B2 (en) * 2010-03-30 2013-01-15 Hewlett-Packard Development Company, L.P. Performing power management based on information regarding zones of devices in a system
US8862817B2 (en) * 2010-06-09 2014-10-14 Taejin Info Tech Co., Ltd. Switch-based hybrid storage system
US8904104B2 (en) * 2010-06-09 2014-12-02 Taejin Info Tech Co., Ltd. Hybrid storage system with mid-plane
US8959288B1 (en) 2010-07-29 2015-02-17 Violin Memory, Inc. Identifying invalid cache data
US8832384B1 (en) 2010-07-29 2014-09-09 Violin Memory, Inc. Reassembling abstracted memory accesses for prefetching
US9336032B2 (en) 2010-10-28 2016-05-10 Hewlett Packard Enterprise Development Lp Zoning data to a virtual machine
US8972689B1 (en) 2011-02-02 2015-03-03 Violin Memory, Inc. Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media
US8635416B1 (en) 2011-03-02 2014-01-21 Violin Memory Inc. Apparatus, method and system for using shadow drives for alternative drive commands
CN102955502B (zh) * 2011-08-25 2017-05-17 赛恩倍吉科技顾问(深圳)有限公司 背板接口电路、硬盘背板及服务器系统
US8825915B2 (en) * 2012-03-12 2014-09-02 International Business Machines Corporation Input/output port rotation in a storage area network device
TWI470423B (zh) * 2012-03-30 2015-01-21 Ibm 磁碟陣列資料儲存系統
US8914585B1 (en) * 2012-03-31 2014-12-16 Emc Corporation System and method for obtaining control of a logical unit number
US8874799B1 (en) 2012-03-31 2014-10-28 Emc Corporation System and method for improving cache performance
US8914584B1 (en) 2012-03-31 2014-12-16 Emc Corporation System and method for improving cache performance upon detection of a LUN control event
US8756355B2 (en) * 2012-05-08 2014-06-17 Lsi Corporation Methods and structure for configuring a Serial Attached SCSI domain via a Universal Serial Bus interface of a Serial Attached SCSI expander
US9336171B2 (en) * 2012-11-06 2016-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Connection rate management in wide ports
US20150026503A1 (en) * 2013-07-17 2015-01-22 Lsi Corporation Appliances powered over sas
US9336174B1 (en) * 2013-07-29 2016-05-10 Cisco Technology, Inc. Dynamic interface model
US9377968B2 (en) * 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
US9390033B2 (en) * 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths
WO2015073608A1 (en) * 2013-11-13 2015-05-21 Sandisk Technologies Inc. Method and system for communicating with non-volatile memory
US9542349B2 (en) * 2013-12-04 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Wide port emulation at serial attached SCSI expanders using virtual physical links
WO2015087417A1 (ja) * 2013-12-11 2015-06-18 株式会社日立製作所 ストレージ装置及び制御方法
US9471259B2 (en) * 2014-01-28 2016-10-18 Netapp, Inc. Shared storage architecture
JP6260407B2 (ja) * 2014-03-28 2018-01-17 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US9619164B2 (en) * 2014-05-06 2017-04-11 Nimble Storage, Inc. Cluster solid state drives
US9760481B2 (en) * 2014-06-13 2017-09-12 Sandisk Technologies Llc Multiport memory
US9377958B2 (en) * 2014-08-12 2016-06-28 Facebook, Inc. Allocation of read/write channels for storage devices
JP6734058B2 (ja) * 2016-01-27 2020-08-05 株式会社バイオス 制御装置
KR101758558B1 (ko) * 2016-03-29 2017-07-26 엘에스산전 주식회사 에너지 관리 서버 및 그를 갖는 에너지 관리 시스템
US11543967B2 (en) * 2017-02-23 2023-01-03 Samsung Electronics Co., Ltd. Method for controlling BW SLA in NVME-of ethernet SSD storage systems
CN108959107B (zh) * 2017-05-18 2020-06-16 深圳市中兴微电子技术有限公司 一种共享方法及装置
KR20180130140A (ko) * 2017-05-29 2018-12-07 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 방법
US10768856B1 (en) * 2018-03-12 2020-09-08 Amazon Technologies, Inc. Memory access for multiple circuit components
US10853296B2 (en) * 2018-12-28 2020-12-01 Intel Corporation Technologies for establishing communication channel between accelerator device kernels
CN112104729A (zh) * 2020-09-10 2020-12-18 华云数据控股集团有限公司 一种存储系统及其缓存方法

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03211656A (ja) * 1989-11-17 1991-09-17 Texas Instr Inc <Ti> マルチプロセッサシステム
JP2001147831A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc デバッグ情報転送インターフェース
JP2004005370A (ja) * 2002-04-26 2004-01-08 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置
JP2005149276A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2005301638A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のリザーブ解除制御方法
JP2006072636A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd ディスクアレイ装置
JP2006195851A (ja) * 2005-01-17 2006-07-27 Hitachi Ltd ストレージシステム
JP2006252733A (ja) * 2005-03-14 2006-09-21 Fujitsu Ltd 媒体記憶装置及び媒体記憶装置のライト系経路診断方法。
JP2007094681A (ja) * 2005-09-28 2007-04-12 Hitachi Ltd アクセスパス管理方法及び装置
JP2007256993A (ja) * 2006-03-20 2007-10-04 Hitachi Ltd 物理リンクの割当てを制御するコンピュータシステム及び方法
JP2007280422A (ja) * 2007-06-28 2007-10-25 Hitachi Ltd ディスクアレイ装置
JP2007310495A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム
JP2007334878A (ja) * 2006-06-13 2007-12-27 Hitachi Ltd データを長期間アーカイブするシステムと方法
JP2008097578A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd ストレージサブシステム間におけるcdpジャーナルデータのマイグレーションのためのシステムおよび方法
JP2008108026A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP2008171420A (ja) * 2002-04-26 2008-07-24 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02226548A (ja) 1989-02-28 1990-09-10 Nec Eng Ltd 磁気ディスク装置
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
US6578158B1 (en) * 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
JP4220887B2 (ja) 2003-11-17 2009-02-04 株式会社日立製作所 ディスク装置及びその制御方法
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4585276B2 (ja) 2004-11-01 2010-11-24 株式会社日立製作所 ストレージシステム
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US8301810B2 (en) * 2004-12-21 2012-10-30 Infortrend Technology, Inc. SAS storage virtualization controller, subsystem and system using the same, and method therefor
JP2006268625A (ja) * 2005-03-25 2006-10-05 Hitachi Ltd アクセスパス管理方法及び装置
US7661002B2 (en) 2005-08-04 2010-02-09 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
JP2008112343A (ja) 2006-10-31 2008-05-15 Hitachi Ltd 計算機システム、アクセス制御方法及びホスト計算機
US8447872B2 (en) 2006-11-01 2013-05-21 Intel Corporation Load balancing in a storage system
US7443629B1 (en) * 2007-04-09 2008-10-28 International Business Machines Corporation Apparatus, system, and method for optimizing fast access data storage on segmented tape media
US8020035B2 (en) * 2008-07-30 2011-09-13 Hewlett-Packard Development Company, L.P. Expander circuit for a solid state persistent storage device that provides a plurality of interfaces to corresponding storage controllers
US9075957B2 (en) * 2008-08-04 2015-07-07 Sandisk Il Ltd. Backing up digital content that is stored in a secured storage device

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03211656A (ja) * 1989-11-17 1991-09-17 Texas Instr Inc <Ti> マルチプロセッサシステム
JP2001147831A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc デバッグ情報転送インターフェース
JP2008171420A (ja) * 2002-04-26 2008-07-24 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置
JP2004005370A (ja) * 2002-04-26 2004-01-08 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置
JP2005149276A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2005301638A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のリザーブ解除制御方法
JP2006072636A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd ディスクアレイ装置
JP2006195851A (ja) * 2005-01-17 2006-07-27 Hitachi Ltd ストレージシステム
JP2006252733A (ja) * 2005-03-14 2006-09-21 Fujitsu Ltd 媒体記憶装置及び媒体記憶装置のライト系経路診断方法。
JP2007094681A (ja) * 2005-09-28 2007-04-12 Hitachi Ltd アクセスパス管理方法及び装置
JP2007256993A (ja) * 2006-03-20 2007-10-04 Hitachi Ltd 物理リンクの割当てを制御するコンピュータシステム及び方法
JP2007310495A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム
JP2007334878A (ja) * 2006-06-13 2007-12-27 Hitachi Ltd データを長期間アーカイブするシステムと方法
JP2008097578A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd ストレージサブシステム間におけるcdpジャーナルデータのマイグレーションのためのシステムおよび方法
JP2008108026A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP2007280422A (ja) * 2007-06-28 2007-10-25 Hitachi Ltd ディスクアレイ装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048704A (ja) * 2010-08-25 2012-03-08 Lsi Corp シリアル・アドバンスト・テクノロジ・アタッチメント通信における改善されたホスト/イニシエータ利用のための方法および機器
US8281054B2 (en) 2010-08-25 2012-10-02 Lsi Corporation Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication
JP2012073825A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd 計算機システム及び計算機システムの管理方法
JP2012118958A (ja) * 2010-12-03 2012-06-21 Lsi Corp Sasエクスパンダにおけるデータプリフェッチ
JP2013182404A (ja) * 2012-03-01 2013-09-12 Nec Corp ディスクアレイ装置及びこれの消費電力削減方法
JP2015519619A (ja) * 2012-05-16 2015-07-09 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ転送制御方法
JP2015011521A (ja) * 2013-06-28 2015-01-19 富士通株式会社 スイッチおよび制御方法
WO2015008337A1 (ja) * 2013-07-16 2015-01-22 富士通株式会社 情報処理装置、ポート制御プログラムおよびポート制御方法
JPWO2015008337A1 (ja) * 2013-07-16 2017-03-02 富士通株式会社 情報処理装置、ポート制御プログラムおよびポート制御方法
US9921924B2 (en) 2013-07-16 2018-03-20 Fujitsu Limited Information processing device, port control method, and computer-readable recording medium
US10649891B2 (en) 2016-08-24 2020-05-12 Toshiba Memory Corporation Storage device that maintains mapping data therein

Also Published As

Publication number Publication date
US20100088469A1 (en) 2010-04-08
JP4809413B2 (ja) 2011-11-09
US9223508B2 (en) 2015-12-29
US20150160875A1 (en) 2015-06-11
US8966174B2 (en) 2015-02-24
US20160098196A1 (en) 2016-04-07
US9710168B2 (en) 2017-07-18
US20140101384A1 (en) 2014-04-10
US8370570B2 (en) 2013-02-05

Similar Documents

Publication Publication Date Title
JP4809413B2 (ja) ストレージシステム
US7617360B2 (en) Disk array apparatus and method of controlling the same by a disk array controller having a plurality of processor cores
US7447121B2 (en) Disk array system
US8930611B2 (en) Storage system and control method thereof
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
US8065483B2 (en) Storage apparatus and configuration setting method
US20080091972A1 (en) Storage apparatus
US20050149650A1 (en) Data storage systems for assigning control of serial ATA storage devices
JP2007114874A (ja) 記憶制御システム及び記憶制御方法
US8683260B1 (en) Managing ownership of logical volumes
US8402195B2 (en) Storage system mounted with plurality of processors
US7752358B2 (en) Storage apparatus and conversion board for increasing the number of hard disk drive heads in a given, limited space
JP5340411B2 (ja) 独立ドライブ電源制御
JP5314737B2 (ja) ストレージシステム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110727

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: 20110809

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110818

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

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