JP2005157636A - 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置 - Google Patents

処理オフロード機能モジュールを備えた磁気ディスクアレイ装置 Download PDF

Info

Publication number
JP2005157636A
JP2005157636A JP2003393912A JP2003393912A JP2005157636A JP 2005157636 A JP2005157636 A JP 2005157636A JP 2003393912 A JP2003393912 A JP 2003393912A JP 2003393912 A JP2003393912 A JP 2003393912A JP 2005157636 A JP2005157636 A JP 2005157636A
Authority
JP
Japan
Prior art keywords
command
processing
ata
magnetic disk
offload
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
JP2003393912A
Other languages
English (en)
Other versions
JP2005157636A5 (ja
JP4383148B2 (ja
Inventor
Masahiro Arai
政弘 新井
Naoto Matsunami
直人 松並
Ikuya Yagisawa
育哉 八木沢
Akihiro Mannen
暁弘 萬年
Masahiko Sato
雅彦 佐藤
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 JP2003393912A priority Critical patent/JP4383148B2/ja
Priority to US10/783,337 priority patent/US7120705B2/en
Publication of JP2005157636A publication Critical patent/JP2005157636A/ja
Publication of JP2005157636A5 publication Critical patent/JP2005157636A5/ja
Application granted granted Critical
Publication of JP4383148B2 publication Critical patent/JP4383148B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/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/0661Format or protocol conversion 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

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)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】ATAディスクの利用を可能としつつ、FC−ATAコマンド変換によるオーバーヘッドを削減し、最適なATAコマンドを生成し、ID等のリソースを無消費にして、オフロード処理を実現すること。
【解決手段】ATA磁気ディスクと、ATA磁気ディスクを制御するディスクアレイコントローラと、ディスクアレイコントローラとATA磁気ディスクとの間の処理オフロード機能モジュールと、を備えた磁気ディスクアレイ装置であって、ディスクコントローラは、リード又はライト等の処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を出力し、処理オフロード機能モジュールは、標準処理FCコマンドに対しコマンドマッピングして対応するATAコマンドをATA磁気ディスクに発行し、オフロード処理FCコマンドに対しATAプロトコルで最適処理となるATAコマンド群を用意する。
【選択図】図1

Description

本発明は、主としてコンピュータの外部記憶装置システムに関わり、特に、磁気ディスクアレイ装置の性能向上を図る技術に関する。
従来技術として、複数のディスクにデータの処理を分散させ且つ冗長データを記録することによって、高信頼で高速にデータを記録する磁気ディスクアレイ装置(RAID装置: Redundant Arrays of Inexpensive Disks)が広く用いられている。磁気ディスクアレイの詳細については、例えば非特許文献1に記載されている。
一般に、磁気ディスクアレイ装置は、多数のディスクを搭載しており、これらの磁気ディスクに適切にデータを分散格納し処理するために、入出力制御装置であるディスクアレイコントローラが搭載されている。
ディスクアレイコントローラは、データを適切なディスクに格納するための処理を行う機能の他に、複数のディスクをRAID向けにフォーマットする機能や、ディスクの万一の故障においてもデータを失うことのないように冗長データを計算して書き込む機能や、また、故障予兆のあるディスクを未然に検出する予防保守機能などを有していて、磁気ディスクへの入出力の他にも多数の制御処理を行っている。このため、ディスクアレイコントローラには高速にデータを処理する性能が求められており、改良が進められてきた。
一方で、磁気ディスクアレイ装置の高性能化を図る別の手法として、全ての処理をディスクアレイコントローラに一任するのではなく、配下に処理の一部を肩代わりさせるサブコントローラを設け、これらのサブコントローラに処理を任せるオフロード処理(ディスクコントローラからロード(負荷)をオフにする処理)という方法がある。
オフロード処理により処理高速化を図る方法としては、例えば、特許文献1において、ファイバチャネルループを複数のループに分断し、ループごとに置かれるサブコントローラを用いることで、複数のフォーマットを多重実行する方法が開示されている。
この特許文献1には、データの流れるファイバチャネルループを分断することによって、ループ上を流れるデータを局所化し、更に、コントローラのデータバスの使用効率を改善することが可能である旨が開示されている。また、コントローラが行う処理の一部をサブコントローラに行わせることによって、コントローラのI/O処理負荷を軽減することが可能である旨が開示されている。さらに、ディスク間のコピーや、装置を停止させずにオンライン中にディスクの表面チェックを行う、予防保守の一種であるオンラインベリファイなどの処理も可能である旨が開示されている。
特開2001−22526号公報 「A Case for Redundant Arrays of Inexpensive Disks (RAID)」, David A.Patterson, Garth Gibson, and Randy H.Katz, CoMPUter Science Division Department of Electrical Engineering and CoMPUter Sciences, University of California Berkeley
磁気ディスクアレイ装置に対する要望としては、磁気ディスクアレイ装置の高性能化が求められる一方で、データの爆発的増加を背景に業務用途やデータの種類・重要度に応じて、格納先となる磁気ディスクに従来のような高いサーバ用ディスクではなくて、より安価なディスクに保存したいという利用者のニーズが生まれてきている。このようなニーズに基づいて、近年では主に個人向けパソコン(PC)などで多用されてきたATA(AT Attachement)規格磁気ディスク(以下、ATAディスクと称する)を、企業向け磁気ディスクアレイ装置でも利用する動きがある。
ATAディスクは、ホストのインターフェースコントローラ部に当たる機能をディスク内に内蔵し、従来から主にサーバ用途で多用されてきたSCSIディスクやFC(Fibre Channel)ディスクに比べて、複雑な回路を必要とせず、安価に製造が可能なディスクである。
また、ATA規格の論理仕様である制御コマンドは、ディスクコントローラが複雑な判断をせずに済むように、機能の微妙な違いごとに異なるコマンドが割り当てられている。例えば、ライト系コマンドでは、一般のWRITEコマンドのほか、DMA(Direct Memory Access)が設定されている場合にはDMA転送でライト行うWRITE DMA、セクタ単位での書き込みを行うWRITE SECTORSなどがあり、さらに、それぞれのコマンドに、WRITE(RETRY)、WRITE(NORETRY)のように失敗時にリトライ処理を行うか否かで2種類の別々のコマンドが用意される。
一方、物理的な仕様においては、元来多数のディスクを接続する必要がないPC内蔵用として設計されているため、パラレルケーブルを用いて接続するParallel ATAディスクでは1バスあたりに最大2台しか接続できず、インターフェース高速化のためParallel ATAに代わって登場してきたSerial ATA(以下、SATAと称する)では、Point to Point接続形態により1バスに1台しか接続できない。また、コントローラとディスク間のケーブルも1m以下と制限がある。このようなことから、多数の磁気ディスクを複数の磁気ディスク格納筐体にわたって格納し、さらに、これらの磁気ディスクをディスクアレイコントローラと接続する必要がある磁気ディスクアレイ装置では、接続形態ならびに接続距離においてATAディスクをそのまま適用するのは難しい。そのため、磁気ディスクアレイ装置では従来より使われてきたファイバチャネル(以下、FCと称する)にコマンドや物理インターフェースを変換して接続するFC−ATA変換接続方式が用いられている。
このFC−ATA変換接続方式は、ATAコマンドを対応するFCコマンドにマッピングすることでFC−ATA論理変換を実現し、さらに、ATAとFCの信号レベルなどの物理インターフェースを変換することで、ディスクアレイコントローラからはATAディスクをFCディスクであるかのように扱えるようにするものである。
FC−ATA論理変換部においては、2つのプロトコル間で類似するコマンドをマッピングすることとなるが、2つの規格はそれぞれ別の団体が策定した規格であり、まったく異なる仕様を持つ。このため、備える機能もおのずと違い、実際にはFCディスクの備える機能に対して、ATAディスクには該当する機能がないものもある。このような機能を呼び出すFCコマンドに対しては、ATAコマンドをマッピングすることはできない。
従って、ディスクアレイコントローラでは、コマンド発行に先立ち、まずターゲットがFC−ATA変換によって、FCコマンドを受け付けられるATAディスクなのか、単なるFCディスクなのかを判別する必要がある。その後、ターゲットがATAディスクであった場合、発行しようとするコマンドがFC−ATA変換で変換可能なコマンドであるか否かを判別し、さらに、変換不可能なコマンドであった場合には、他のFCコマンドの組み合わせで、ほぼ同等の処理を行えるようにするか、もしくは、コマンドの発行を取りやめるかを選択する必要がある。その結果、ディスクアレイコントローラでは判別のための処理が必要となり、処理に要する負荷が増大し、結果として性能を落としてしまう可能性がある。
一方、マッピングされるATAコマンドから見た場合、FCのコマンドにマッピングできるのは、FCコマンドに仕様としてあるものだけである。上述したように、ATAは目的の違いに応じて同種のコマンドが複数存在する。しかし、FC−ATA変換においてディスクアレイコントローラから発行されるFCコマンドを択一的にマッピングするしかなく、豊富なATAのコマンドを十分に活かしきれない。また、FC規格上に該当する機能がないものは、そもそもマッピングすることができないという課題が生じる。
上述したような背景をもつATAディスクを用いた磁気ディスクアレイ装置に対して、従来技術のようなオフロード処理の適用を考えた場合に次のような課題が生じる。
第1の課題は、コマンドオーバーヘッドの増加である。従来技術のようにサブコントローラを設けた場合、オフロード処理によってディスクアレイコントローラの処理は分散できるものの、ディスクアレイコントローラからの指示は、サブコントローラでFCコマンドでの処理に展開され、次に、FC−ATA変換部でATAコマンドに変換され、そして、ATAディスクへと伝播するという冗長な経路を取る。即ち、ディスクアレイコントローラ、サブコントローラ、FC−ATA変換部という構成要素が縦続的に接続される経路を構成している。また、この処理に対する応答も同じ経路をたどるため、結果としてコマンドに対するディスクの応答が悪化してしまうおそれがある。
第2の課題は、FC−ATA変換では必ずしも最適なATAコマンドが選択されないという課題を依然として解決できない点である。前述の特許文献1によれば、サブコントローラはFCループ上にあるため、発行できるコマンドもおのずとFCコマンドとなってしまう。このため、FC−ATA変換における最適なATAコマンドの選択に課題が残る。
第3の課題は、IDリソース消費による接続可能なディスク台数の減少である。サブコントローラがディスクコントローラから指示を直接受けるためにはFCループ上のデバイスとして認識できる必要があり、この認識のためにループIDを消費する。サブコントローラを多数設置すればそれだけ多重化が可能となるが、この多数設置の分だけIDが消費されるため、接続できるディスク台数は減少し、大容量化のニーズに相反することになる。
そこで、本発明の目的は、ATAディスクの利用を可能としながら、FC−ATAコマンド変換によるオーバーヘッドを削減し、最適なATAコマンドを活用し、さらに、ID等のリソースを無消費にして、オフロード処理を実現する磁気ディスクアレイ装置を提供することにある。
前記課題を解決するために、本発明は主として次のような構成を採用する。
ATA磁気ディスクと、前記ATA磁気ディスクを制御するディスクアレイコントローラと、前記ディスクアレイコントローラと前記ATA磁気ディスクとのパス上に存在するインターフェースカード内の処理オフロード機能モジュールと、を備えた磁気ディスクアレイ装置であって、
前記ディスクコントローラは、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記インターフェースカードに出力し、
前記インターフェースカード内の前記処理オフロード機能モジュールは、前記標準処理FCコマンドに対しコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに発行し、前記オフロード処理FCコマンドに対しATAプロトコルで最適処理となるATAコマンド群を用意し必要なときには演算する構成とする。
本発明によれば、ATAディスクの利用を可能としながらも、コマンド変換によるオーバーヘッドの増加を最小限にし、かつ、ディスクの論理インターフェースに合わせた最適なコマンド変換を実現し、ID等のリソースを無消費にしてオフロード処理を可能とすることができる。
さらに、論理インターフェースの異なる複数種の磁気ディスクを同一の上位コマンドで操作することが可能である。
また、全てのオフロード処理用コマンドは、対象となる磁気ディスクに対して通常(標準)コマンドと同じように発行する形式をとることから、たとえば受け取ったデータを暗号化又は復号化してリード又はライトを行うオフロード処理機能を用意し、すべてのリード又はライトをこの機能を呼び出すベンダユニークコマンドによって行えば、容易に暗号化機能付きディスクアレイ装置を提供することも可能である。
「第1の実施形態」
図1は、本発明の第1の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールを磁気ディスク格納筐体のインターフェースカードに実装した構成を示す図である。図面において、以下、xは任意の整数を表す。
磁気ディスクアレイ装置101(以下、ディスクアレイと称する)は、SANクライアント120xからSAN(Storage Area Network)111と呼ばれるネットワークを通じてアクセスされる二次記憶装置である。SANクライアント120xはSAN111を経由せず直接接続することも可能である。磁気ディスクアレイ装置101は、ATA磁気ディスク17xxに対しデータ転送制御を行うディスクアレイコントローラ102xと、複数のATA磁気ディスクを格納する磁気ディスク格納筐体104xと、を備えている。ディスクアレイ格納筐体104xとディスクアレイコントローラ102xは、ファイバチャネル(以下、FCと称する)113x,114xで接続される。
磁気ディスク格納筐体104xは、複数のATA磁気ディスク17xxとインターフェースカード105xとから構成されており、ディスクアレイコントローラ102xは前記インターフェースカード105xを通じて磁気ディスク17xxにデータ転送を行う。インターフェースカード17xxは、ディスクアレイコントローラ102xと後続する磁気ディスク格納筐体とを相互に接続するFC接続部115(例えば、スイッチなど)と、図示するようにFC接続部115に接続される処理オフロード機能モジュール106と、から構成される。
尚、図1では、ディスクアレイコントローラは磁気ディスク格納筐体の外部に配置されているが、本発明においては、ディスクアレイコントローラが磁気ディスク格納筐体内にあっても構わない。また、ディスクアレイコントローラにおいては図示の例では2つ記載されているが、1つでも又は3つ以上存在しても構わない。
次に、図2はディスクアレイコントローラ102xの内部構成を示す図である。フロントエンド接続インターフェースコントローラ201はFCケーブル108xを通じ、SAN111と接続され、データ転送やコマンドデータの送受信を行う。バックエンド接続インターフェースコントローラ207xはATA磁気ディスク間とデータ送受信を行うためのものである。205は中央処理制御部であり、メモリ206に格納されたディスクアレイ制御プログラム2061を動作させる。メモリ206は前記ディスクアレイ制御プログラム2061の他に、ディスク情報取得プログラム2062とディスク情報管理テーブル2063とを備える。ディスク情報取得プログラム2062は起動時に接続されたATA磁気ディスク17xxの情報を取得するためのものであり、内部に処理オフロード機能モジュール(以下、機能モジュールと称する)106の有無と利用可能なオフロード処理の判別を行うオフロード処理判別部103xを備える。ディスクアレイ制御プログラム2061はオフロード処理判別部103xに加えて、オフロード処理用のベンダユニークコマンド発行部2064を有する。
202はデータ転送コントローラであり、ディスクアレイ制御プログラム2061やディスク情報取得プログラム2062の指示により、フロントエンド接続インターフェースコントローラ201、バックエンド接続インターフェースコントローラ207x、データバッファ203間のデータ移動を行う。
管理ネットワークコントローラ204は、ディスクアレイコントローラ102xの管理用LAN109xを通じ、管理用端末110から各種監視やディスク構成や設定の変更を行うために用いられる。管理用端末は管理用LAN109xを経由せず直接接続されていてもよい。
次に、図3は本発明の第1の実施形態に関する処理オフロード機能モジュールの内部構成を示す図である。302xはFC接続インターフェースであり、203xを介してFC接続部115と接続される。FCインターフェースコントローラ303は、FC接続インターフェース302xを通じてデータバッファ301を用いてデータの送受信を行う。同様に、308xはATA接続インターフェースであり、ATA接続ライン310xを用いてATA磁気ディスクドライブ17xxと接続され、ATAインターフェースコントローラ306はデータバッファ301とATA接続インターフェース308x間のデータ送受信を行う。
MPU305は、メモリ307に格納されたプログラム等を用いて演算処理やコマンド変換、インターフェースコントローラ303,306の制御を行う処理演算装置である。3091はFCのIDとそれに対応するATA磁気ディスクの関連付けを管理するためのディスクID情報管理テーブルである。ATA磁気ディスクはIDという概念はなく、直接にFC IDを持つことができない。そこで、このテーブル3091において、FCのIDとATA接続インターフェースNoとの対応関係を記録することにより、間接的にFC IDの割り当てを実現する。また同様に、ATAディスクはFCディスクが持つディスク固有の識別子であるWWNをもてないため、WWNとATA磁気ディスクの固有番号である製造番号との対応付けについてもこのテーブル3091で管理する。
3092はオフロード処理時の各コマンドの実行状況を管理するコマンド実行状況管理テーブルであり、コマンドとそのコマンドの実行ステータス、ならびにデータの受信があった場合にはそのバッファのアドレスが記録される。3093はコマンド解析処理プログラム、3094はステータス処理プログラム、3095はATAコマンドマッピングテーブルであり、3096は演算処理プログラムである。
次に、図4は図2に示すディスク情報管理テーブル2063の詳細構造を示す図である。401は磁気ディスクアレイ装置101で管理される磁気ディスクの番号、402は磁気ディスクの製造社名(ベンダ名)であり、403は製品名、404は各磁気ディスクに固有の製造番号である。405はその磁気ディスクの容量を表す。また、407は機能モジュール106によって提供される処理オフロード機能であり、各磁気ディスクに対してどの機能が利用可能であるかを表す。図示するオフロード機能としては、パリティ演算付きライト、RAIDフォーマット、複数ディスクベリファイ、ディスクコピーの機能がある。なお、情報の取得の仕方については後述する。このディスク情報管理テーブルについては、図示するよりも、より多くの項目があってもよいし、項目の順序や名称、記載方法に関して異なっていてもよい。
次に、本発明の第1の実施形態に係る磁気ディスクアレイ装置におけるディスク情報取得処理の動作について、図5を参照しながら以下説明する。図5は、ディスクアレイコントローラ102xのディスク情報取得プログラム2062が、当該コントローラ102xで使用するATA磁気ディスク17xxを認識し、図4に示したディスク情報管理テーブル2063に情報登録を行う動作を示したフローチャートである。破線枠501で囲まれた処理はディスクアレイコントローラ102xでの動作を示し、同様に、502は処理オフロード機能モジュール(機能モジュール)106での動作を示し、503は磁気ディスクでの動作を示す。
ディスクアレイコントローラ102xは磁気ディスクアレイ装置101の電源が投入され、コントローラ内部の初期設定が終了すると、ディスク情報取得プログラム2062を起動する(5000)。
ディスク情報取得プログラム2062は、接続されている全ディスクの状態を取得するため、ディスクの構成情報をチェックするFCコマンドであるInquiryコマンドと、磁気ディスクを一意に特定可能なFC IDを指定して、データバッファ203に用意する。なお、ここでは、FC IDは0から始まるものとする(5001、5002、5003)。データバッファ203にデータが用意できると、当該プログラム2062はデータ転送コントローラ202(図2を参照)とバックエンド接続インターフェースコントローラ207xに指示を出し(5003)、113xないし114xを通じて、コマンドを発行する(5004)。
発行されたコマンドは、各磁気ディスク格納筐体104xのインターフェースカード105xを介して伝達する。ディスクアレイコントローラ103xは該当IDをもつディスクに向かってコマンドを発行しているが、実際にはATAディスクがFC IDを直接持つことはできない。そのため、機能モジュール106がそのIDとディスクの対応付けを管理しており、該当IDを持つ磁気ディスクを管理する機能モジュール106がディスクに代わってコマンドを受領する(5006)
機能モジュール106がコマンドを受領すると、機能モジュール106内にあるFCインターフェースコントローラ303は、モジュール内データバッファ301にそのコマンドを格納し(5007)、割り込みを用いてMPU305に通知する(5008)。MPU305に通知が来ると、コマンド解析処理プログラム3093はモジュール内データバッファ301からコマンドを読み込み、解析を行う(5009)。解析により当該プログラム3093はコマンドがATAのコマンドにマッピング可能かどうか判断する(5010)。
マッピング可能な場合、コマンド解析処理プログラム3093は、コマンドマッピングテーブル3095を用いて対応するATAコマンドを選択し、この選択したコマンドと、ディスクID情報管理テーブル3091からFC IDと対応によって得られるATA接続インターフェースNo(ATA接続インターフェースNoとATAディスクNoとは対応付けされている)と、必要であればコマンドの実行により得られるデータを格納するモジュール内データバッファ301の格納先アドレスの3つを用意し、前記データバッファ301内に用意する(5011)。もし、マッピング可能でなかった場合には、コマンド解析処理プログラム3093は演算処理プログラム3096に処理を移し、適切な処理を行う(5012)。なお、演算処理プログラム3096に処理を移した場合の詳細な動作については別の処理において説明する。
コマンドが前記データバッファ301に用意できると、コマンド解析処理プログラム3093はATAインターフェースコントローラ306に指示をして、モジュール内データバッファ301で指定されたNoをもつATA接続インターフェースを介してATA磁気ディスクにコマンドを発行する(5014)。
コマンドに対しディスクが応答すると(5016)、応答はATA接続インターフェース308xを介して、ATAインターフェースコントローラ306によってデータバッファ301に格納され(5018)、格納したことをMPU305に通知する(5019)。
以下、上述した手順とは逆に、ステータス処理プログラム3094は該当する応答内容から、FCコマンド用のステータスを作成し(5020)、バッファに格納(5021)し、FCインターフェースコントローラ303に指示を出し(5022)、ステータスをディスクアレイコントローラ103xに報告する(5023)。以上の一連の動作により、ディスクアレイコントローラ103xはコマンドの結果を得るが、ディスクアレイコントローラ103xからは直接磁気ディスクが応答したかのように見えるため、処理過程において、処理オフロード機能モジュールの仲介はディスクアレイコントローラ103xにとって透過的である。
報告を受けた磁気ディスクアレイ装置は、同様の手順によって、READ CAPACITYコマンドでディスクの容量を取得する(5025)。また、ベンダユニークなコマンドによって、該当ディスクに対し利用可能なオフロード処理機能についての情報を問い合わせ(5026)、得られた情報をディスク情報管理テーブル2063に登録していく(5027)。なお、ベンダユニークコマンドの処理に関しては後述する。1台のディスクが終わると、最後のIDまで同様の処理を繰り返す(5028,5029)。
以上のようにしてディスク情報を登録するが、全てのディスクに対して情報を取得できるのであれば、他の方法でも良い。また、1コマンドで機能モジュールに接続される全ディスクの情報を取得するようなベンダユニークコマンドを用意し、そのベンダユニークコマンドによって情報取得してもかまわない。また、図4のディスク情報管理テーブル2063に示した管理情報は一例であり、項目内容や情報や登録表記方法が異なっていても構わない。
次に、本発明の第1の実施形態に係る磁気ディスクアレイ装置において、複数のディスクに異なるコマンドを送るオフロード処理について以下説明する。複数のディスクに異なるコマンドを送るオフロード処理例として、パリティ演算付きライトの動作を説明する。図6は、図5に示す処理5010において演算処理プログラムが呼び出された場合の処理5012を示したものである。
ディスクアレイコントローラ102xは、ホスト120xからコマンドとライトするデータを受け取ると、ディスクアレイ制御プログラム2061における処理の過程上でパリティ演算が必要かどうかを判断する。演算が必要であった場合、ディスクアレイ制御プログラム2061はディスク情報管理テーブル2063を参照し、データを書き出す磁気ディスク17xxが該当オフロード処理を実行可能かどうか判別する。判別の結果、実行可能な場合は、当該処理を指示するベンダユニークなコマンドを生成し、図5に示すステップ5003〜5005の動作によりライトを行うディスクのうちの1つに対して発行する。コマンドは、コマンド識別番号、データを書き出すディスクのIDとパリティを書き出すディスクのIDからなるIDリスト、ライトするデータの長さ、などの情報を持つ。なお、リストにおいてデータ書き出すディスクのIDは複数あってよい。
コマンドを発行されたディスクを管理する機能モジュール106がコマンドを受領すると、前述した図5のステップ5007の動作によりコマンドとライトする新データをモジュール内データバッファ301に格納する。その後、ステップ5009の動作により、コマンド解析処理プログラム3093はコマンド解析を開始する。このコマンド3093はオフロード処理を行うベンダユニークコマンドであるため、図5に示すステップ5010、5012の動作により、その処理を演算処理プログラム3096に引き継ぐ。
演算処理プログラム3096の目的は、与えられたオフロード処理を達成するためにATAプロトコルで最適な処理となるようコマンド群を用意し、必要であれば演算を行い、目的の処理を達成し、結果をディスクアレイコントローラ102xに報告することである。このコマンド3096で行う処理は、新データと旧データ並びに旧パリティデータから演算によって新パリティデータを算出し、該当ディスクへ新データ、新パリティデータを書き出すことである。この処理を大きく分けると、旧データ及び旧パリティの読み出し(処理A)、新パリティの算出(処理B)、新データ及び新パリティの書き込み(処理C)の大きく3段階に分かれる。
演算処理プログラム3096は、まず、旧データ及び旧パリティの読み出し処理(処理A)を実現するために、コマンド解析処理プログラム3093が解析した結果から、データを書き出すディスクのID群とパリティを書き出すディスクのIDを取得し、ディスクID情報管理テーブル3091より、対応するATA接続インターフェースNoを順に取得する(6001)。次に、処理に最適なATAリードコマンドを選択し(6002)、このコマンドと、前記ATA接続インターフェースNoと、リードしたデータを格納するためのモジュール内バッファ301のデータ格納アドレスとを、データないしパリティのリードが必要なディスク台数分繰り返して、コマンド実行状況管理テーブル3092に登録する(6003,6004)。ここで、処理に最適なATAリードコマンドには、前述した旧データ及び旧パリティの読み出し処理が旧データと旧パリティを高速かつ確実に読み上げることであることから、高速転送可能でかつリードに失敗すると再試行を試みてくれるREAD DMA(RETRY)コマンドを用いる。コマンドの登録が終了したらこの管理テーブル3092の情報を、モジュール内データバッファ301に転送し(6005)、コマンド実行状況管理テーブル3092の各コマンドの処理状況を「コマンド発行待ち」に設定する(6006)。
モジュール内データバッファ301にコマンドの登録が終わると演算処理プログラム3096は、ATAインターフェースコントローラ306に指示をして前述した一連のコマンドを発行させる(6007)。ATAインターフェースコントローラ306はコマンドの発行が終わると、割り込みによって発行処理終了を知らせる(6008)。演算処理プログラム3096は発行終了割り込みを受けると、コマンド実行状況管理テーブル3092に登録したコマンドの処理状況を、「応答待ち」に変更する(6009)。
その後、当該磁気ディスク17xxがコマンドを受領し、データの転送を終了し、応答ステータスを返すと(6011,6012)、ATAインターフェースコントローラ306は応答ステータスを受領したことを、割り込みによって演算処理プログラム3096に通知する(6013)。演算処理プログラム3096はモジュール内データバッファ301からステータスを読み取り、成功していればコマンド実行状況管理テーブル3092における該当コマンドの処理状況を「完了」にし、リードしたデータが格納されているデータバッファアドレスをコマンド実行状況管理テーブル3092に登録し、失敗していればエラーとして、そのエラー内容を処理状況に登録する(6014)。
コマンド実行状況管理テーブル3092上のコマンドの処理状況がすべて「完了」になった場合、演算処理プログラムは、前述した3段階の内の新パリティの算出処理に移行する。もし、このテーブル3092上に1つでもエラーがある場合には、演算処理プログラムはエラーレポートを作成し、ディスクアレイコントローラ102xにエラー通知を行い、以降、新パリティの算出処理、新データ及び新パリティの書き込み処理に移らずに、オフロード処理を終了する(6017)。エラーレポートは、エラー通知とともにディスクアレイコントローラ102xに通知される。なお、コマンド実行状況管理テーブル3092上のコマンドに「応答待ち」が残っていた場合、一定時間を待って、さらに応答が帰ってこない場合には当該コマンドはタイムアウトとしてエラー処理する(6015,6016,6017)。
3段階の内の新パリティの算出処理(処理B)に移行すると、演算処理プログラム3096は、あらかじめ指定したデータバッファのアドレスに格納されていた新データと旧データ及び旧パリティの読み出し処理によって取得した旧データ、旧パリティデータより排他的演算処理を行い、新パリティデータを算出する(6019)。なお、パリティデータは他の方法で算出されてもかまわず、また、図6ではパリティデータは1つとしているが、複数のパリティデータがあってもよい。
次に、3段階の内の新データ及び新パリティの書き込み処理(処理C)に移行し、最適なATAライトコマンドを選択し、ライトを行う全ディスクに対してコマンドと該当ディスクが接続されている接続インターフェースNo、書き込みデータが格納されているバッファのアドレスをコマンド実行状況管理テーブル3092に登録し(6020,6021,6022)、次に、旧データ及び旧パリティの読み出し処理と同様に、モジュール内データバッファ301にコマンドを格納してATAインターフェースコントローラ306にコマンド発行を指示し、ディスクからの応答を待つ(6100)。パリティ演算でのライトは確実に高速かつ書き込めることが望まれるため、ATAコマンドにはWRITE DMA(RETRY)を利用する。
演算処理プログラム3096はATAインターフェースコントローラ306を通じて新データと新パリティを無事書き込めたという報告を受け取ると、FCステータスを作成し(6030)、ディスクアレイコントローラ102xに報告を行い(6033)、オフロード処理を終了する。
次に、本発明の第1の実施形態に係る磁気ディスクアレイ装置において、複数のディスクに対して同一のコマンドを送る処理について以下説明する。複数のディスクに対して同一のコマンドを送る処理例として、オンラインベリファイ処理の動作を説明する。ここで、オンラインベリファイとは、ホストからのI/Oとは非同期でディスクの表面チェックを行い、故障予兆のあるディスクを検出することを目的とする保守作業である。
通常、ディスクアレイコントローラでオンラインベリファイを行う際は、各ディスクに対しVERIFYコマンドをディスク全体がチェックし終わるまで複数回発行し、さらにこれをディスク台数分繰り返す必要がある。本発明では、オフロード処理用コマンドとして、コマンド識別番号と同時実行したいディスクのIDをリストにしたものを、代表ディスクにのみ1コマンドを発行するだけで、対象とする全てのディスクに対して、同時にオンラインベリファイ処理を実行可能するものである。以下にその動作を説明する。
ディスクアレイコントローラ102xは、動作経過時間などの或る契機によってオンラインベリファイが必要となったディスクがあると、実行対象となるディスクのIDをリストにする。ここで対象となるディスクは単数でもよいが、ここでの説明では複数を想定する。ディスクアレイコントローラ102xはオンラインベリファイ処理の必要な磁気ディスクのFC IDのリストとコマンド識別番号を用いて、オンラインベリファイオフロード処理実行用のベンダユニークなコマンドを作成し、代表ディスクに発行する。ここで、代表ディスクとはリストに渡されるIDを割り当てられたディスクのうちの1つである。なお、ディスクアレイコントローラがコマンドを発行する手順については、図5のステップ5003〜5005の動作と同じく、データバッファ203にコマンドと送信先IDを格納し、データ転送コントローラ202と、バックエンド接続インターフェースコントローラ207xに指示することで行う。
当該IDを管理する機能モジュール106がコマンドを受け取ると、コマンド解析処理プログラム3093は受け取ったコマンドがオフロード処理用コマンドであると判別し、演算処理プログラム3096に処理を渡す。演算処理プログラム3096では、リストとして渡されたIDに対応するディスクごとに、ベリファイを行うためのコマンドをモジュール内データバッファ301に用意する。ベリファイにはディスクのセクタごとに設けられたECC情報のみをチェックする方法と、セクタ全体を読み出せるかチェックする方法とがあるが、前者のチェックはセクタに格納されたデータが読み出せるかどうかをチェックの対象とはしないため信頼性は低い。
ここでの説明では、後者の方法によるセクタ全体に対するベリファイを考えるが、セクタ全体をチェックするベリファイコマンドはATAコマンドに存在しない。そこで、セクタ単位でのリードを試み、かつ失敗した際には再試行を試みずにすぐにエラーを返すREAD SECTORS(NORETRY)コマンドによりデータがセクタごとに読み出せるかチェックすることにより同等の機能を実現する。
このコマンドが全ての対象ディスクに対して実行されるように、コマンド実行状況管理テーブル3092に登録が終わると、このコマンドリストをモジュール内データバッファ301に用意し、ATAインターフェースコントローラ306に指示を出してコマンドを発行する。コマンドに対して全てのディスクから応答が返り、応答の中にエラーがなければ、上述した方法と同様の手順によって、各ディスクの次のセクタを検査する。これをディスクの領域の最後まで繰り返す。エラーが発生した場合には、そのディスクとセクタ位置を特定できるエラーレポートを作成し処理を続行する。
全ての領域の検査が終われば、演算処理プログラム3096はディスクアレイコントローラ102xに報告して、オフロード処理を完了する。
以上説明したように、本発明の第1の実施形態に係る磁気ディスクアレイ装置の概要を図11を参照して再度説明する。図11は本発明の実施形態に係る磁気ディスクアレイ装置におけるディスクアレイコントローラ及び処理オフロード機能モジュールの処理態様の概要を説明する図である。
ディスクアレイコントローラは、ホストからのコマンドとデータに基づいて、通常(標準)のコマンド(例えば、リード、ライト)と、ベンダユニーク(製造元独自)なコマンド(例えば、パリティ演算付きライト、RAIDフォーマット、オンライン複数ベリファイ、ディスク間コピー(図4参照))とを生成して、処理オフロード機能モジュールに出力する。処理オフロード機能モジュールは、図5に示すように、コマンド解析処理プログラム、演算処理プログラム、及びマッピングテーブルなどを備えており、ディスクアレイコントローラからのFCコマンドをコマンド解析処理プログラムによって解析して、ATAコマンドにマッピング可能か否かを判断し、標準FCコマンドの場合には、マッピングテーブルから対応するATAコマンドを選択してATAディスクに当該ATAコマンドを発行する。
図11において、ベンダユニークな4つのコマンドの内で、RAIDフォーマットとオンライン複数ベリファイのコマンドは、ディスクアレイコントローラベンダユニークなオフロード処理コマンドであり、パリティ演算付きライトとディスク間コピーのコマンドは、ディスクベンダユニークなオフロード処理コマンドである。なお、ディスクアレイコントローラからのディスクベンダユニークなFCコマンド(ディスクアレイコントローラからのFCコマンドはFCディスクのIDを指定している)は、ディスク群にFCディスクがあれば、機能モジュールで処理されることなくFCディスクにコマンド発行されることとなる。
ベンダユニークなFCコマンドはコマンド解析処理プログラムによって1対1のATAコマンドにマッピングできないと判断されて、このベンダユニークFCコマンドは機能モジュール内の演算処理プログラムに引き継がれて、図6に示すフローにしたがって演算処理される。図11におけるパリティ演算付きライトコマンドの例で説明すると、旧データと旧パリティのREAD(RETRY)がATAディスクに発行され、次に、パリティ演算されて新データと新パリティがATAディスクにWRITE(RETRY)される。図11において実線はデータの流れを示し、破線はステータスの流れを示す。
本実施形態において、ATAディスクにはIDが付加されていないので、サブコントローラである処理オフロード機能モジュールがATAディスクを管理することになる。ディスクアレイコントローラは配下のIDに対してコマンドを発行するため、ディスクコントローラからのコマンドは一旦サブコントローラが全て受け取って処理した後にATAディスクにコマンドを発行することになる。換言すると、ディスクコントローラは配下のディスクIDに向かってコマンドを発行しているのであるから、サブコントローラの存在は見えていない(換言すると、サブコントローラはディスクアレイコントローラに対して透過的にディスクを見せる機能を奏する)ことになる。
一方、従来技術においては、ディスクアレイコントローラ配下にサブコントローラとFCディスクがFCループを形成していて、このFCループ上にサブコントローラとFCディスクとがそれぞれIDを有しているので(FC規格上で1ループ当たり127台のサブコントローラとFCディスクが設置可能)、ディスクアレイコントローラはIDで管理しているので、サブコントローラとFCディスクを別々に意識してこれらにそれぞれコマンド発行する必要があり、場合によってはコマンド実行順序が保証されない(例えば、FCディスクからリードした後にライトすべきところを、先にFCディスクにライトするという不都合が生じ得る)。また、従来技術では、サブコントローラとFC−ATA変換部とが別個に縦続接続されていたので、サブコントローラでオフロード処理のFCコマンドが発せられても、FC−ATA変換部において、入力されたFCコマンドに1対1のATAコマンドが対応しない場合が多々あった。
本発明の実施形態においては、処理オフロード機能モジュールがその内部に、図3に示すように、コマンド解析処理プログラム、演算処理プログラム、ATAコマンドマッピングテーブル等を備えて、図5と図6の処理フローを実行することで、オフロード処理を内部でATAコマンドに展開することができて、ATAコマンドには直接マッピング不可能なFCコマンドが変換利用できることとなる。また、本実施形態の機能モジュール(サブコントローラ)がFCループIDとATAディスクの対応付けを管理するため、機能モジュールが自分用のIDを持つ必要が無く、即ち、ディスクアレイコントローラが管理の対象とするIDを、機能モジュールで使用(消費)することがない。また、本実施形態では、ディスクアレイコントローラは、標準コマンドもディスクベンダユニークコマンド(パリティ演算付けライト、ディスク間コピー)もコントローラベンダユニークコマンド(RAIDフォーマット、オンライン複数ベリファイ)も、サブコントローラとディスクとを意識し区分けしてそれらのコマンドを発行する必要がなく、対象ディスクのIDに対して発行すれば済む(機能モジュールが全てのコマンドを受け取ってディスク管理するので)。
このように、本発明の第1の実施形態に係る磁気ディスクアレイ装置によれば、オフロード処理用FCコマンドを直接ATAコマンドに変換して処理するため、コマンド変換によるオーバーヘッドを最小にして実行することができる。また、オフロード処理の内容に応じて最適なATAコマンドを用いて処理をすることが可能である。また、本実施形態と同様の方法によって、ドライブ間のデータコピーや複数ディスクにRAIDフォーマット処理も行うことが可能である。
「第2の実施形態」
図7は、本発明の第2の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールを磁気ディスク格納筐体のキャニスタに実装した構成を示す図である。図7において、80xはキャニスタ(ディスク収納容器)を表し、810xは各キャニスタ内に組み込まれた処理オフロード機能モジュールを表す。
図8は処理オフロード機能モジュールをキャニスタ内に実装した場合の内部構成を示す図である。8200は第2の実施形態に関する処理オフロード機能モジュール810xを搭載したコネクタボードであり、磁気ディスク格納筐体側接続インターフェース8201とディスク側接続インターフェース接続用インターフェース8202を備える。
本発明の第2の実施形態によれば、上述した第1の実施形態と同様の効果を得られる上に、ディスクごとにオフロード処理が可能となる。オフロード処理で生じるデータの移動はキャニスタ内に限定されるため、データのバス効率はよりよくなる。また、処理の並列多重度が上がり、ディスクアレイコントローラやアレイコントローラにつながるバス上にほとんど負荷をかけることなく単位時間当たり処理性能を向上させることが可能である。
「第3の実施形態」
図9は、本発明の第3の実施形態に係る磁気ディスクアレイ装置における処理オフロード機能モジュールのブロック図であり、FCディスクとATAディスクを混載可能とした場合の構成を示す図である。図9において、同一の磁気ディスク格納筐体104x内に、収めるATAディスクの一部をFCディスクに置き換えて混在させた場合における処理オフロード機能モジュール106の内部構成を示している。
本発明の第1の実施形態の構成に比べて、混在を実現するために、機能モジュール106はFCディスク970xを接続するためのFC接続インターフェース908xと、このインターフェースをコントロールするためのFCインターフェースコントローラ906と、オフロード処理を適切なFCコマンド群に展開するためのFCコマンドマッピングテーブル9098と、を新たに備えている。
本発明の第1の実施形態との動作上の差異について以下説明する。FCインターフェースコントローラ303が上位のFC接続インターフェース302xを通じてコマンドを受け取ると、コマンド解析処理プログラム3093はディスクID情報管理テーブル3091を参照して、そのコマンドがATAディスクに対するものなのかFCディスクに対するものなのかを判別する。送られてきたコマンドが通常のFCコマンドであり、かつFCディスクを対象としているのであれば、当該FCコマンドを変換することなく素通りさせ、ATAディスクが対象であった場合は、ATAコマンドマッピングテーブル3096を用いて、最適なATAコマンド群に変換する。
また、受け取ったコマンドがオフロード処理用コマンドだった場合、コマンド解析処理プログラム3093は演算処理プログラム3097に処理を移し、対象ディスクの種別と処理内容に応じて最適なコマンド群に変換して処理を行う。
本発明の第3の実施形態によれば、第1の実施形態で得られる効果に加え、異なるディスクを同一の上位コマンドで操作することが可能であり、また、その上位コマンドをディスクの種類と処理内容に応じた最適なコマンド群を用いて処理することが可能である。
「第4の実施形態」
図10は、本発明の第4の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールをディスクアレイコントローラに実装した構成を示す図である。図10にはディスクアレイコントローラ102xに処理オフロード機能モジュール1103xを実装した場合の磁気ディスクアレイ装置の構成示している。
処理オフロード機能モジュール1103xを搭載するディスクアレイコントローラ102xは、複数のATAディスクをスイッチ的に接続するATA接続部11110と、同様の方法によってFCディスクを接続するFC接続部11120とを介して、ATAディスク17xxと、FCディスク110xxとに接続される。なお、図10において、x、y、z、a、b、m、nは任意の自然数である。
また、図10では、ATAディスクとFCディスクを挙げているが、これ以外のディスクの組み合わせでもよい。例としては、ATAディスクと、SAS(Serial Attached SCSI)ディスクの組みあわせ等であってもよい。また、磁気ディスクの種類は2種類以上あってもよい。
本発明の第4の実施形態によれば、ディスクアレイコントローラは一種類のコマンドが発行できればよく、下位に接続されるディスクのインターフェースごとにコマンドを用意する必要がなくなり、上述した第3の実施形態と同様に、ディスクに応じた最適なコマンド処理を実行することが可能である。また、処理オフロード機能モジュールはディスクアレイコントローラ上に実装されるため、ディスクアレイコントローラ処理部(図2に示す構成と同様な構成)と処理オフロード機能モジュール間のプロトコルは、ベンダユニークな第3のコマンド体系であってもよい。
本発明の第1の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールを磁気ディスク格納筐体のインターフェースカードに実装した構成を示す図である。 本発明の第1実施形態におけるディスクアレイコントローラの内部構成を示す図である。 本発明の第1の実施形態に関する処理オフロード機能モジュールの内部構成を示す図である。 図2に示すディスク情報管理テーブル2063の詳細構造を示す図である。 本発明の第1の実施形態に係る磁気ディスクアレイ装置におけるディスク情報取得処理の動作を示すフローチャートである。 本発明の第1の実施形態に係る磁気ディスクアレイ装置において、複数のディスクに異なるコマンドを送るオフロード処理例としてのパリティ演算付きライトの動作を示すフローチャートである。 本発明の第2の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールを磁気ディスク格納筐体のキャニスタに実装した構成を示す図である。 本発明の第2の実施形態に関する処理オフロード機能モジュールをキャニスタ内に実装した場合の内部構成を示す図である。 本発明の第3の実施形態に係る磁気ディスクアレイ装置における処理オフロード機能モジュールのブロック図であり、FCディスクとATAディスクを混載可能とした場合の構成を示す図である。 本発明の第4の実施形態に係る磁気ディスクアレイ装置における全体構成のブロック図であり、処理オフロード機能モジュールをディスクアレイコントローラに実装した構成を示す図である。 本発明の実施形態に係る磁気ディスクアレイ装置におけるディスクアレイコントローラ及び処理オフロード機能モジュールの処理態様の概要を説明する図である。
符号の説明
101 磁気ディスクアレイ装置
110 管理用端末
111 SAN(ストレージエリアネットワーク)
115 FC接続部
106 処理オフロード機能モジュール
120x SANホスト
102x ディスクアレイコントローラ
104x 磁気ディスク格納筐体
105x インターフェースカード
170x,171x ATA磁気ディスク
2061 ディスクアレイ制御プログラム
2062 ディスク情報取得プログラム
2063 ディスク情報管理テーブル
3092 コマンド実行状況管理テーブル
3093 コマンド解析処理プログラム
3094 ステータス処理プログラム
3095 ATAコマンドマッピングテーブル
3096 演算処理プログラム
80x キャニスタ
8200 コネクタボード
310x ATA接続ライン
910x FC接続ライン

Claims (14)

  1. ATA磁気ディスクと、前記ATA磁気ディスクを制御するディスクアレイコントローラと、前記ディスクアレイコントローラと前記ATA磁気ディスクとのパス上に存在するインターフェースカード内の処理オフロード機能モジュールと、を備えた磁気ディスクアレイ装置であって、
    前記ディスクコントローラは、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記インターフェースカードに出力し、
    前記インターフェースカード内の前記処理オフロード機能モジュールは、前記標準処理FCコマンドに対しコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに発行し、前記オフロード処理FCコマンドに対しATAプロトコルで最適処理となるATAコマンド群を用意し必要なときには演算する
    ことを特徴とする磁気ディスクアレイ装置。
  2. 請求項1に記載の磁気ディスクアレイ装置において、
    前記処理オフロード機能モジュールは、コマンド解析処理部と演算処理部を備え、
    前記コマンド解析処理部において、前記ディスクアレイコントローラからの標準処理FCコマンドがATAコマンドにマッピング可能であるか否かを判断し、
    前記演算処理部において、前記オフロード処理FCコマンドを前記コマンド解析部から引き継いで前記ATAコマンド群を用意する
    ことを特徴とする磁気ディスクアレイ装置。
  3. 請求項1又は2に記載の磁気ディスクアレイ装置において、
    前記ディスクコントローラは、前記磁気ディスクアレイ装置の内部に前記処理オフロード機能モジュールの存在有無と利用可能なオフロード処理の判別を行うオフロード処理判別部を備える
    ことを特徴とする磁気ディスクアレイ装置。
  4. 請求項2に記載の磁気ディスクアレイ装置において、
    前記演算処理部は、前記オフロード処理FCコマンドがパリティ演算付きライトであるときに、ATA磁気ディスクから読み出すリードコマンド発行と、パリティ演算の実行と、ATA磁気ディスクへ書き込むライトコマンド発行と、を行う
    ことを特徴とする磁気ディスクアレイ装置。
  5. 請求項2に記載の磁気ディスクアレイ装置において、
    前記演算処理部は、前記オフロード処理FCコマンドがオンライン複数ディスクベリファイであるときに、前記コマンド解析処理部から前記オフロード処理FCコマンドを引き継いで、リストとして渡されたIDに対応する磁気ディスクにリードコマンドを同時発行する
    ことを特徴とする磁気ディスクアレイ装置。
  6. ATA磁気ディスクと、前記ATA磁気ディスクを制御するディスクアレイコントローラと、の間のパス上に存在するインターフェースカード内の処理オフロード機能モジュールであって、
    前記処理オフロード機能モジュールは、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記ディスクコントローラから受け取り、
    前記標準処理FCコマンドに対しコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに発行し、前記オフロード処理FCコマンドに対しATAプロトコルで最適処理となるATAコマンド群を用意し必要なときには演算する
    ことを特徴とする処理オフロード機能モジュール。
  7. 請求項6に記載の処理オフロード機能モジュールにおいて、
    前記処理オフロード機能モジュールは、コマンド解析処理部と演算処理部を備え、
    前記コマンド解析処理部において前記ディスクアレイコントローラからの標準処理FCコマンドがATAコマンドにマッピング可能であるか否かを判断し、
    前記演算処理部において前記オフロード処理FCコマンドを前記コマンド解析部から引き継いで前記ATAコマンド群を用意する
    ことを特徴とする処理オフロード機能モジュール。
  8. 請求項7に記載の処理オフロード機能モジュールにおいて、
    前記オフロード処理FCコマンドは、パリティ演算付きライトコマンド、オンライン複数ディスクベリファイコマンド、RAIDフォーマットコマンド、又はディスク間コピーコマンドである
    ことを特徴とする処理オフロード機能モジュール。
  9. ATA磁気ディスクと、前記ATA磁気ディスクを制御するディスクアレイコントローラと、前記ディスクアレイコントローラと前記ATA磁気ディスクとのパス上に存在するインターフェースカードと、を備えた磁気ディスクアレイ装置であって、
    前記ATA磁気ディスク毎に処理オフロード機能モジュールを接続したディスク収納容器を1つ以上設け、
    前記ディスクコントローラは、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記インターフェースカードに出力し、
    前記処理オフロード機能モジュールは、前記標準処理FCコマンドに対しコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに発行し、前記オフロード処理FCコマンドに対しATAプロトコルで最適処理となるATAコマンド群を用意する
    ことを特徴とする磁気ディスクアレイ装置。
  10. 請求項9に記載の磁気ディスクアレイ装置において、
    前記処理オフロード機能モジュールは、コマンド解析処理部と演算処理部を備え、
    前記コマンド解析処理部において、前記ディスクアレイコントローラからの標準処理FCコマンドがATAコマンドにマッピング可能であるか否かを判断し、
    前記演算処理部において、前記オフロード処理FCコマンドを前記コマンド解析部から引き継いで前記ATAコマンド群を用意する
    ことを特徴とする磁気ディスクアレイ装置。
  11. 請求項9又は10に記載の磁気ディスクアレイ装置において、
    前記オフロード処理FCコマンドは、パリティ演算付きライトコマンド、オンライン複数ディスクベリファイコマンド、RAIDフォーマットコマンド、又はディスク間コピーコマンドである
    ことを特徴とする磁気ディスクアレイ装置。
  12. 磁気ディスクと、前記磁気ディスクを制御するディスクアレイコントローラと、前記ディスクアレイコントローラと前記磁気ディスクとのパス上に存在するインターフェースカード内の処理オフロード機能モジュールと、を備えた磁気ディスクアレイ装置であって、
    前記磁気ディスクは、ATA磁気ディスクとFC磁気ディスクとが混在配置され、
    前記ディスクコントローラは、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記インターフェースカードに出力し、
    前記インターフェースカード内の前記処理オフロード機能モジュールは、前記ディスクコントローラからのFCコマンドが、前記標準処理FCコマンドであり且つFC磁気ディスクを対象としたコマンドであれば、当該FCコマンドに対して処理を加えずに素通りさせて該当するFC磁気ディスクに送り、前記標準処理FCコマンドであり且つATA磁気ディスクを対象としたコマンドであれば、当該FCコマンドに対してコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに発行し、
    前記処理オフロード機能モジュールは、前記ディスクコントローラからのFCコマンドが、前記オフロード処理FCコマンドであれば、対象とする磁気ディスクの種別と処理内容に応じた最適なコマンド群に変換し処理を行う
    ことを特徴とする磁気ディスクアレイ装置。
  13. 請求項12に記載の磁気ディスクアレイ装置において、
    前記処理オフロード機能モジュールは、コマンド解析処理部と演算処理部を備え、
    前記コマンド解析処理部において、前記ディスクアレイコントローラからのFCコマンドが、標準処理FCコマンドであり且つATA磁気ディスクを対象としたコマンドであれば、ATAコマンドにマッピング可能であるか否かを判断し、
    前記演算処理部において、前記ディスクコントローラからのFCコマンドが前記オフロード処理FCコマンドであれば、前記オフロード処理FCコマンドを前記コマンド解析部から引き継いで最適なコマンド群に変換し処理を行う
    ことを特徴とする磁気ディスクアレイ装置。
  14. 磁気ディスクと、前記磁気ディスクを制御するディスクアレイコントローラと、前記ディスクアレイコントローラと前記磁気ディスクとのパス上に存在するインターフェースカードと、を備えた磁気ディスクアレイ装置であって、
    前記磁気ディスクは、ATA磁気ディスクとFC磁気ディスクとが混在配置され、
    前記ディスクアレイコントローラはコントローラ処理部を有し、前記コントローラ処理部に接続された処理オフロード機能モジュールが前記ディスクアレイコントローラ毎に設置され、
    前記コントローラ処理部は、リード又はライトを一例とする標準処理を行う標準処理FCコマンドと、ベンダユニークなオフロード処理を行うオフロード処理FCコマンドと、を前記処理オフロード機能モジュールに出力し、
    前記ディスクアレイコントローラ内の前記処理オフロード機能モジュールは、前記コントローラ処理部からのFCコマンドが、前記標準処理FCコマンドであり且つFC磁気ディスクを対象としたコマンドであれば、当該FCコマンドに対して処理を加えずに素通りさせて該当するFC磁気ディスクに前記インターフェースカードを介して送り、前記標準処理FCコマンドであり且つATA磁気ディスクを対象としたコマンドであれば、当該FCコマンドに対してコマンドマッピングテーブルを用いて対応するATAコマンドを前記ATA磁気ディスクに前記インターフェースカードを介して発行し、
    前記処理オフロード機能モジュールは、前記コントローラ処理部からのFCコマンドが、前記オフロード処理FCコマンドであれば、対象とする磁気ディスクの種別と処理内容に応じた最適なコマンド群に変換し処理を行う
    ことを特徴とする磁気ディスクアレイ装置。
JP2003393912A 2003-11-25 2003-11-25 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置 Expired - Fee Related JP4383148B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003393912A JP4383148B2 (ja) 2003-11-25 2003-11-25 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
US10/783,337 US7120705B2 (en) 2003-11-25 2004-02-20 Magnetic disk array device with processing offload function module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003393912A JP4383148B2 (ja) 2003-11-25 2003-11-25 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置

Publications (3)

Publication Number Publication Date
JP2005157636A true JP2005157636A (ja) 2005-06-16
JP2005157636A5 JP2005157636A5 (ja) 2006-03-09
JP4383148B2 JP4383148B2 (ja) 2009-12-16

Family

ID=34587566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003393912A Expired - Fee Related JP4383148B2 (ja) 2003-11-25 2003-11-25 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置

Country Status (2)

Country Link
US (1) US7120705B2 (ja)
JP (1) JP4383148B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209773A (ja) * 2005-01-28 2006-08-10 Internatl Business Mach Corp <Ibm> ストレージ・デバイスを保守する装置、システム、プログラム、および方法(ストレージ・デバイスの保守を実行する装置、システム、および方法)
JP2008041080A (ja) * 2006-07-10 2008-02-21 Hitachi Ltd 記憶制御システム、記憶制御システムの制御方法、ポートセレクタ、及びコントローラ
JP2008547330A (ja) * 2005-06-30 2008-12-25 インテル・コーポレーション 自動化シリアルプロトコルイニシエータポートトランスポート層再試行機構
KR101410596B1 (ko) 2012-08-30 2014-06-20 후지쯔 가부시끼가이샤 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법
WO2018116453A1 (ja) * 2016-12-22 2018-06-28 株式会社日立製作所 アクセスシステム及びアクセス方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949792B2 (en) * 2004-02-27 2011-05-24 Cisco Technology, Inc. Encoding a TCP offload engine within FCP
US20050283682A1 (en) * 2004-06-18 2005-12-22 Hitachi, Ltd. Method for data protection in disk array systems
JP2006277320A (ja) * 2005-03-29 2006-10-12 Toshiba Corp ディスクアレイ装置、ディスクアレイ制御方法及びプログラム
US7743178B2 (en) * 2005-04-11 2010-06-22 Emulex Design & Manufacturing Corporation Method and apparatus for SATA tunneling over fibre channel
US7853741B2 (en) * 2005-04-11 2010-12-14 Emulex Design & Manufacturing Corporation Tunneling SATA targets through fibre channel
US7516274B2 (en) * 2005-11-15 2009-04-07 Sun Microsystems, Inc. Power conservation via DRAM access reduction
US7958312B2 (en) * 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US7934054B1 (en) 2005-11-15 2011-04-26 Oracle America, Inc. Re-fetching cache memory enabling alternative operational modes
US7899990B2 (en) * 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
US7873788B1 (en) 2005-11-15 2011-01-18 Oracle America, Inc. Re-fetching cache memory having coherent re-fetching
US7774560B2 (en) * 2007-11-30 2010-08-10 Aten International Co., Ltd. Storage emulator and method thereof
US8595397B2 (en) * 2009-06-09 2013-11-26 Netapp, Inc Storage array assist architecture
US9015333B2 (en) 2009-12-18 2015-04-21 Cisco Technology, Inc. Apparatus and methods for handling network file operations over a fibre channel network
US9864534B1 (en) 2016-10-27 2018-01-09 International Business Machines Corporation Validation of storage volumes that are in a peer to peer remote copy relationship
US10120598B2 (en) * 2016-10-27 2018-11-06 International Business Machines Corporation Validation of write data subsequent to destaging to auxiliary storage for completion of peer to peer remote copy
CN106598883B (zh) * 2016-11-01 2019-09-17 北京腾凌科技有限公司 基于fpga的sas错误状态命令的处理方法及装置
CN107391325B (zh) * 2017-06-30 2021-03-12 苏州浪潮智能科技有限公司 一种硬盘的测试方法、装置及终端
US10908820B2 (en) 2017-09-14 2021-02-02 Samsung Electronics Co., Ltd. Host-based and client-based command scheduling in large bandwidth memory systems
US11741056B2 (en) 2019-11-01 2023-08-29 EMC IP Holding Company LLC Methods and systems for allocating free space in a sparse file system
US11449443B2 (en) * 2020-10-16 2022-09-20 Western Digital Technologies, Inc. Identification and classification of write stream priority
US11567704B2 (en) 2021-04-29 2023-01-31 EMC IP Holding Company LLC Method and systems for storing data in a storage pool using memory semantics with applications interacting with emulated block devices
US11579976B2 (en) 2021-04-29 2023-02-14 EMC IP Holding Company LLC Methods and systems parallel raid rebuild in a distributed storage system
US11669259B2 (en) 2021-04-29 2023-06-06 EMC IP Holding Company LLC Methods and systems for methods and systems for in-line deduplication in a distributed storage system
US11604610B2 (en) * 2021-04-29 2023-03-14 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components
US11740822B2 (en) 2021-04-29 2023-08-29 EMC IP Holding Company LLC Methods and systems for error detection and correction in a distributed storage system
US11892983B2 (en) 2021-04-29 2024-02-06 EMC IP Holding Company LLC Methods and systems for seamless tiering in a distributed storage system
US11762682B2 (en) 2021-10-27 2023-09-19 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components with advanced data services
US12007942B2 (en) 2021-10-27 2024-06-11 EMC IP Holding Company LLC Methods and systems for seamlessly provisioning client application nodes in a distributed system
US11922071B2 (en) 2021-10-27 2024-03-05 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components and a GPU module
US11677633B2 (en) 2021-10-27 2023-06-13 EMC IP Holding Company LLC Methods and systems for distributing topology information to client nodes
CN117311646B (zh) * 2023-11-29 2024-02-23 苏州元脑智能科技有限公司 固态硬盘配置管理方法、装置、计算机设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2548480B2 (ja) * 1992-02-10 1996-10-30 富士通株式会社 アレイディスク装置のディスク装置診断方法
US5727184A (en) 1994-06-27 1998-03-10 Cirrus Logic, Inc. Method and apparatus for interfacing between peripherals of multiple formats and a single system bus
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
JP3279248B2 (ja) 1998-02-27 2002-04-30 日本電気株式会社 スイッチ機構およびこれを有するディスクアレイ装置およびコンピュータシステム
JP2001022526A (ja) 1999-07-07 2001-01-26 Hitachi Ltd 外部記憶装置およびその動作方法
US6526458B1 (en) 1999-12-30 2003-02-25 Agilent Technologies, Inc. Method and system for efficient i/o operation completion in a fibre channel node using an application specific integration circuit and determining i/o operation completion status within interface controller
US6834326B1 (en) 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US6496900B1 (en) 2000-09-12 2002-12-17 3Ware, Inc. Disk array system, controller, and method for verifying command data written to disk drives
US6862648B2 (en) * 2000-10-30 2005-03-01 Sun Microsystems, Inc. Interface emulation for storage devices
US6941405B2 (en) 2001-08-21 2005-09-06 02Micro International Limited System and method capable of offloading converter/controller-specific tasks to a system microprocessor
TW579503B (en) 2001-08-24 2004-03-11 Icp Electronics Inc Disk array control apparatus
US6925531B2 (en) 2002-07-11 2005-08-02 Storage Technology Corporation Multi-element storage array
US7277995B2 (en) 2003-10-29 2007-10-02 Dot Hill Systems Corporation Storage controller and method for performing host access control in the host interface adapter

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209773A (ja) * 2005-01-28 2006-08-10 Internatl Business Mach Corp <Ibm> ストレージ・デバイスを保守する装置、システム、プログラム、および方法(ストレージ・デバイスの保守を実行する装置、システム、および方法)
JP2008547330A (ja) * 2005-06-30 2008-12-25 インテル・コーポレーション 自動化シリアルプロトコルイニシエータポートトランスポート層再試行機構
JP2008041080A (ja) * 2006-07-10 2008-02-21 Hitachi Ltd 記憶制御システム、記憶制御システムの制御方法、ポートセレクタ、及びコントローラ
KR101410596B1 (ko) 2012-08-30 2014-06-20 후지쯔 가부시끼가이샤 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법
WO2018116453A1 (ja) * 2016-12-22 2018-06-28 株式会社日立製作所 アクセスシステム及びアクセス方法

Also Published As

Publication number Publication date
US7120705B2 (en) 2006-10-10
US20050114557A1 (en) 2005-05-26
JP4383148B2 (ja) 2009-12-16

Similar Documents

Publication Publication Date Title
JP4383148B2 (ja) 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
JP4897387B2 (ja) ストレージ装置およびこれを用いたデータの管理方法
US7404038B2 (en) Storage system having a plurality of interfaces
US7617306B2 (en) Operation management system, management apparatus, management method and management program
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US7886109B2 (en) Storage system coupled to management server and a monitoring method of a stopped device executed by the storage system
JP2005250938A (ja) 記憶制御システム及び方法
US20070083707A1 (en) Using OOB to provide communication in a computer storage system
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
JP2005149082A (ja) ストレージ制御装置、及びストレージ制御装置の制御方法
JP4794194B2 (ja) ストレージシステム及び記憶制御方法
JP2004220216A (ja) San/nas統合型ストレージ装置
JPH0784876A (ja) データ記憶装置のマトリックス構造
US10788999B2 (en) Information system, management program, and program exchange method of information system
US20050125426A1 (en) Storage system, storage control device, and control method for storage system
US20130145209A1 (en) Disk system, data retaining device, and disk device
JP5294742B2 (ja) 機器の間のアクセスを管理する装置及び方法
JP2006185000A (ja) ストレージ装置
JP2005115603A (ja) 記憶デバイス制御装置及びその制御方法
JP5038589B2 (ja) ディスクアレイ装置及びその負荷分散方法
JP2005202893A (ja) 記憶デバイス制御装置、ストレージシステム、プログラムを記録した記録媒体、情報処理装置、及びストレージシステムの制御方法
JP2003150319A (ja) ディスクエンクロージャおよびディスクストレージ
JP2010191583A (ja) ストレージシステム,ストレージ制御装置,受信制御装置および制御方法
JP2002116883A (ja) ディスクアレイ制御装置
JP2005346426A (ja) データ共有ディスク装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090702

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

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

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees