JP4521206B2 - ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法 - Google Patents

ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法 Download PDF

Info

Publication number
JP4521206B2
JP4521206B2 JP2004056585A JP2004056585A JP4521206B2 JP 4521206 B2 JP4521206 B2 JP 4521206B2 JP 2004056585 A JP2004056585 A JP 2004056585A JP 2004056585 A JP2004056585 A JP 2004056585A JP 4521206 B2 JP4521206 B2 JP 4521206B2
Authority
JP
Japan
Prior art keywords
command
disk
address
file
information
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.)
Expired - Fee Related
Application number
JP2004056585A
Other languages
English (en)
Other versions
JP2005250582A (ja
JP2005250582A5 (ja
Inventor
淑子 保田
美穂 岩永
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 JP2004056585A priority Critical patent/JP4521206B2/ja
Priority to TW093126363A priority patent/TWI254239B/zh
Priority to US10/933,293 priority patent/US7370142B2/en
Publication of JP2005250582A publication Critical patent/JP2005250582A/ja
Publication of JP2005250582A5 publication Critical patent/JP2005250582A5/ja
Application granted granted Critical
Publication of JP4521206B2 publication Critical patent/JP4521206B2/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0656Data buffering arrangements

Description

本発明は、クライアントのデータを格納するディスク装置に対するディスクアクセスコマンド制御方法およびディスクアクセスコマンド制御機能を備えたネットワークストレージシステムに関する。
近年のネットワーク技術の発展によりクライアント計算機に格納すべきデータ量が飛躍的に増大している。それに伴い、DAS(Direct Attached Storage)の大容量化やネットワークに接続したストレージシステム(ネットワークストレージ)の導入が進みつつある。
DASは、クライアント計算機にSCSI等のインタフェースを用いて直接接続されたストレージデバイスである。DAS上のデータは直接接続するクライアント計算機を介してのみアクセス可能である。
一方、ネットワークストレージは、ネットワークに接続したストレージシステムである。複数のクライアント計算機間でデータを共有できるため、DASよりも効率よく共有データを管理することができる。ネットワークストレージの例としては、SAN(Storage Area Network)で接続されてブロックアクセスを提供するSANストレージ、IPネットワークやInfiniband等で接続されてブロックアクセスを提供するiSCSIストレージ、ファイルアクセスを提供するNAS(Network Attached Storage)がある。
DASやiSCSIストレージにファイルを保持する場合、クライアント計算機は、まず物理的なストレージデバイス(物理ディスク)を一つ以上の論理的なディスク(パーティション)に分割し、フォーマットする必要がある。各パーティションは、クライアント計算機のOS(オペレーティングシステム)がサポートするファイルシステムの形式でフォーマットされる。例えば、クライアント計算機のOSがWindows(登録商標)の場合は、通常NTFSあるいはFAT形式でフォーマットされる。クライアント計算機のOSがUNIX(登録商標)の場合、通常ext2ファイルシステムあるいはext3ファイルシステムの形式でフォーマットされる。これ以外のファイルシステムの形式でもOSがサポートしていればパーティションをその形式でフォーマットすることができる。
一般にファイルシステムは、ユーザのデータのほかに、システムがユーザデータを管理するために使用する情報も保持する。例えば、NTFS形式でパーティションをフォーマットした場合には、パーティションの中の各ディスクブロックの空き情報を管理する領域や、各ファイルの実データを書き込むためのディスクブロックのアドレスを管理する領域があらかじめ確保される。OSはこれらの領域に保持される情報を使用してユーザファイルを管理する。そのため、このようなファイルシステムでは、ユーザがディスク装置に対してデータを書き込む場合に、管理データも書き込む必要がある。
様々なファイルシステム形式の中で、近年、ジャーナリングを行うファイルシステムが多用されてきている。ジャーナリングは、OSやユーザがディスク装置に対してデータを書き込むたびにあらかじめ確保したログ領域にその履歴を記録する。障害が発生しシステムダウンした場合でもログに記録された情報を使用することで、データの消失を最小限に抑えて正常にシステムを再起動できる。ジャーナリングを行うファイルシステムでは、障害が発生しても元の状態に戻れるように、ユーザからのデータ書き込みに応答して随時OSがログを記録する必要がある。
一般に、このようなファイルシステム形式では、ユーザデータを格納するディスク装置のディスクブロック領域と、OSが使用する管理データを格納するディスク装置内のディスクブロック領域とを分けて管理する。そのため、ログを含む管理データに対するアクセスが頻発するジャーナリングファイルシステムでは、ユーザデータに対するディスクアクセスとOSの管理データに対するディスクアクセスが混在し、飛び飛びのディスクブロックに対するアクセスが多発する。ディスク装置は、連続したディスクブロックに対する書き込みであれば短時間でアクセスすることができるが、飛び飛びのディスクブロックに対してはアクセス時間が長くなり、その結果性能が大幅に低下してしまう。
このようなディスク装置に対する非効率なアクセスを最適化するための方法として、ディスク装置の持つ情報を利用してディスク装置側でディスクアクセスコマンドの実行順序を制御する技術が開示されている。
例えば、特許文献1には、複数のディスクアクセスコマンドを多重に受け付け、キューバッファに保持できるディスク装置において、ディスク装置がキューイングしたディスクアクセスコマンド群に対して、ヘッドの移動時間やヘッドの現在位置からコマンド開始セクタまでのディスクの回転時間を計算し、その2つの時間から待ち時間を計算し、その待ち時間が最小となるコマンドを選択して実行することで、コマンドの処理時間を短縮する技術が開示されている。
また、特許文献2には、複数のディスクドライブで構成するディスク装置システムにおけるコマンド処理を高速化する技術が開示されている。特許文献2では、並び替えキューと待機キューの2種類のコマンドキューを持ち、実行するコマンドは、並び替えキューから選択し、新たに入ってくるコマンドは待機キューに入れる。これにより、RAIDのようにコマンドが複数のディスクドライブを使用する場合に、ディスクドライブの一つにアクセス待ちが発生しても、他ディスクドライブにアクセスできるようになるため、ディスクアクセス性能を改善できる。
さらに、特許文献3には、ディスクドライブでキューイングされたI/Oコマンドの実行順序を変更するためのスケジューリングアルゴリズムとそれを適用した装置が開示されている。この方法では、シーク時間と特定のヘッドからターゲットの物理セクタに移動するまでの時間からなるディスクアクセス時間を短縮するため、キューイングされたコマンド群に対して、ディスクコントローラが各コマンドのexpected access timeを概算し、その時間が最も短いものを選択してコマンドを実行することによりディスクI/Oの平均アクセス時間を改善できる。
特開平5−27911号公報 特開平6−259198号公報 米国特許公報6574676号(US6574676B1)
上記特許文献1及び特許文献2及び特許文献3に記載された技術では、ディスク装置に機能を追加し、リオーダキューの中のコマンド群に対して、ヘッドの移動時間やディスクの回転時間といったディスク装置の持つ情報を利用してコマンドの実行順序を制御する。
先に述べたように、DASやNASはますます大容量化している。しかしながら、上記特許文献1及び特許文献2及び特許文献3では、ディスク装置が大容量になるほど、リオーダするコマンド群がアクセス対象とするディスクブロックが広範囲となり、リオーダ処理の効率が悪くなる。
これを解決するために、コマンドのリオーダ対象アドレスの範囲を限定するコマンド制御方法が必要である。
また、上記特許文献1及び特許文献2及び特許文献3では、コマンドの実行順序を制御するためにディスク装置に機能を追加する必要があり、汎用的なディスク装置を用いたNASに適用するのが難しい。
これを解決するために、ディスク装置に特別な機能を持たなくてもコマンドの実行順序を最適化できるコマンド制御方法が必要である。
さらに、上記特許文献1及び特許文献2及び特許文献3では、ディスク装置に機能を追加するため、ディスク装置が複数存在する場合には、複数のディスク装置に跨った広範囲の最適化ができず、コマンド処理効率が悪い。
これを解決するため、ディスク装置が複数存在する場合に、複数のディスク装置に跨ってコマンドの実行順序を最適化するコマンド制御方法が必要である。
本発明の第1の課題は、ディスクアクセスコマンドの実行順序を最適化するため、ディスクアクセスコマンドの対象となるアドレス範囲を限定できるコマンド制御方法を提供することにある。
本発明の第2の課題は、ディスク装置に特別な機能を持たせずに、ディスクアクセスコマンドの実行順序を最適化できるコマンド制御方法を提供することにある。
本発明の第3の課題は、ディスク装置が複数存在する場合に、複数のディスク装置に跨ってディスクアクセスコマンドの実行順序を最適化できるコマンド制御方法を提供することにある。
本発明の第1の課題は、クライアントからのファイルアクセス要求を受け付ける要求受付手段と、その要求をディスクアクセスコマンドに変換するファイルシステム制御手段を含む、一つ以上のディスク装置が接続するネットワークストレージシステムに、ファイルシステム制御手段が変換したディスクアクセスコマンドを受け付け、ファイルシステム制御手段が管理する配置情報を用いてディスクアクセスコマンドを分類し、分類したコマンド毎にコマンドの送出順序を最適化するコマンドコントローラを設けることで解決できる。
本発明の第2の課題は、ディスクアクセスコマンドを分類するために、ファイルシステム制御手段が作成するディスクアクセスコマンドに特別な情報を埋め込むのではなく、ファイルシステム制御手段が管理する配置情報を記録するアドレス管理テーブルと、分類したディスクアクセスコマンドをどのように送出するかを制御する情報を記録するポリシーテーブルと、それらの情報をテーブルに登録するための手段を設けることで解決できる。
本発明の第3の課題は、第1及び2の課題を解決する手段に加えて、複数のディスク装置が接続するネットワークストレージシステムのコマンドコントローラに、さらに、ディスクアクセスコマンドの対象アドレス情報と再配置先のアドレス情報の対応関係を記録するマッピングテーブルとマッピング手段を設けることで解決できる。
一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、要求受付手段がクライアントからのファイルアクセス要求を受け付け、ファイルシステム制御手段がそのファイルアクセス要求をディスクアクセスコマンドに変換し、コマンドコントローラが、ファイルシステム制御手段が管理する情報を利用してディスクアクセスコマンドを分類して、分類したコマンド毎にその送出順序を変更できるため、コマンドのアクセス対象のアドレス範囲を限定して効率よくコマンドの送出順序を最適化できる。
また、一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、ファイルシステム制御手段が管理する配置情報をコマンドコントローラに設けたアドレス管理テーブルに記録し、さらにコマンドの送出順序を制御するための情報をコマンドコントローラに設けたポリシーテーブルに記録するため、ファイルシステム制御手段から送出されるディスクアクセスコマンドに特別な情報を付加することなく、ディスクアクセスコマンドを分類して効率よくコマンドの送出順序を最適化できる。
さらに、一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、特定のディスクアクセスコマンドのアクセス対象アドレス情報を別のアドレス情報に変更するための対応関係をマッピングテーブルに記録し、コマンドコントローラのコマンド選択手段がマッピングテーブルを利用してディスクアクセスコマンドのアドレスを付け替えることができるため、広範囲にわたって効率よくコマンドの送出順序を最適化できる。
一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、コマンドコントローラが、ファイルアクセス制御手段が管理する情報を利用してディスクアクセスコマンドを分類し、分類したディスクアクセスコマンド毎に送出順序を変更することができる。これにより、ディスクアクセスコマンドを最適化するためのアドレス範囲を限定して効率よくコマンドの送出順序を最適化することができる。その結果、ディスクアクセス時間を削減できる。
また、一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、コマンドコントローラに、ファイルアクセス制御手段が管理する情報を保持するため、コマンドコントローラがこの情報を利用することができる。これにより、ディスクアクセスコマンドに特別な情報を付加しなくてもコマンドコントローラにおいて、ディスクアクセスコマンドを分類できる。その結果、汎用のディスク装置を使用できるようになる。
さらに、一つ以上のディスク装置が接続するネットワークストレージシステムにおいて、コマンドコントローラにディスクアクセスコマンドがアクセス対象とするアドレスを変換するためのマッピングテーブルを持つことで、複数のディスク装置に跨って、コマンドの送出順序を最適化することができる。
<代表的実施の形態>
図1に本発明の実施の形態であるネットワークストレージシステムの全体の構成例を示す。ネットワークストレージシステムを含む情報処理システムは、クライアント100〜101、ネットワーク102、ネットワークストレージシステム103で構成する。本実施の形態では、クライアント100〜101がネットワークストレージシステム103を使用してファイル共有を行っている場合に、ディスク装置に対して送出するコマンドの順序を最適化する方法について詳細に説明する。
クライアント100〜101は、NFS(Network File System)クライアントプログラムあるいはCIFS(Common Internet File System)を介して、ネットワーク102経由で、ネットワークストレージシステム103にアクセスする。ここで、クライアントとしてNFSとCIFSのみを例に採ったが、これ以外の標準的なファイルアクセスプロトコルを利用してもよい。その他のファイルアクセスプロトコルとしては、AFP(Apple File Protocol)やNCP(Netware Core Protocols)等がある。
ネットワーク102は、IPネットワークであれば、ローカルエリアネットワーク(LAN)でも、ワイドエリアネットワーク(WAN)でもよい。
ネットワークストレージシステム103は、システム制御部104と、コマンドコントローラ112、ディスク装置113で構成する。
システム制御部104とコマンドコントローラ112間、コマンドコントローラ112とディスク装置113間は、標準的なディスクアクセスインタフェースをやり取りする。具体的には、SCSIインタフェースを用いて、SCSIコマンドをやり取りする。
システム制御部104は、要求受付手段110とファイルシステム制御手段111を含む。システム制御部104は、専用装置であってもよいし、汎用サーバ、ワークステーション、あるいはパーソナルコンピュータなどでもよい。OSを搭載する標準的な計算機であればどれでもよい。本発明の実施の形態では、要求受付手段110とファイルシステム制御手段111はOSに内蔵されているものとする。要求受付手段110およびファイルシステム制御手段111の詳細については後述する。
ディスク装置113はディスクアクセスコマンドを受け付けるコマンドインタフェースを持ち、データの読み書きを行う。これはディスクアクセスのための標準的なインタフェースを持つものであればなんでもよい。ディスクアクセスのための標準的なインタフェースとしては、例えばSCSIインタフェースがある。本発明の実施の形態では、ディスク装置113はSCSIインタフェースを持つ。ディスク装置113に対する読み書きはSCSIコマンドを用いて行う。SCSIコマンドは、読み出し・書き込み等の命令を示すコマンド部分と、そのコマンドがアクセス対象とするディスク装置の位置を示すアドレス部分から構成される。アドレス部分は、LUNと論理ブロックアドレス(LBA)を含む。ディスク装置は、上位から転送されてくるSCSIコマンドの論理ブロックアドレスを解析し、論理ブロックアドレスをディスクの物理アドレス(シリンダやセクタやトラック)に変換して、データの読み書きを行う。
要求受付手段110は、クライアント100〜101からのマウント要求を処理する。また要求受付手段110は、クライアント100〜101からのファイルアクセス要求を受け付け、そのファイルアクセス要求をファイルシステム制御手段111に転送する。マウントとは、ネットワークを介してアクセスするネットワークストレージシステムのファイルシステムをクライアント計算機のファイルシステムの一部分にする処理である。例えば、CIFSクライアントの場合、マウント処理とは、ネットワークストレージシステム103のファイルシステムをクライアント計算機のネットワークドライブに割り当てることである。マウント処理により、クライアントはネットワーク上に分散するストレージ装置をあたかもクライアントのローカルファイルシステムのようにアクセスできる。本実施の形態では、クライアント100〜101は、前述のNFSプロトコルあるいはCIFSプロトコルを用いて、要求受付手段110にアクセスする。要求受付手段110におけるNFSプロトコルあるいはCIFSプロトコルを使用したファイルアクセスは、公知の技術を用いて実現できるため、ここでは詳細には説明しない。
ファイルシステム制御手段111は、要求受付手段110から受け取ったファイルアクセス要求を解析し、ディスク装置113が解釈可能なディスクアクセスコマンドに変換する。本発明では、SCSIインタフェースを使用しているため、ファイルシステム制御手段111はファイルアクセス要求をSCSIコマンドに変換する。また、ファイルシステム制御手段111は、ネットワークストレージシステムが搭載するOSがサポートするファイルシステム形式でディスク装置113のフォーマット処理も行う。これらの処理は、公知の技術であるため詳細には説明しない。
UNIX(登録商標)系のOSとしては、サン・マイクロシステムズ社のSolaris、インターナショナル・ビジネス・マシーン社(International Business Machines Corporation)のAIX、ヒューレット・パッカード社(Hewlett−Packard Company)のHP―UX、Linux、及び、FreeBSD等がある。各OSは、複数のファイルシステム形式をサポートする。UNIX系のOSがサポートするファイルシステム形式としては、ext2やext3がある。また、Windows(登録商標)系のOSがサポートするファイルシステム形式としては、FATやNTFS等がある。そのほかにも、XFSやJFSやReiserFSのようなファイルシステム形式もある。これらファイルシステム形式でディスク装置をフォーマットすることにより、ディスク装置113においてファイルの読み書きができるようになる。
コマンドコントローラ112は、システム制御部104から転送される複数のディスクアクセスコマンドを受け付け、ファイルシステム制御手段111が管理するファイルの配置情報を利用してそれらを分類し、分類に従ってディスクアクセスコマンド群を効率よくディスク装置113に転送する。コマンドコントローラ112、およびその分類方法、選択方法が本発明で特徴となる部分である。システム制御部104から転送されるコマンドは、システム制御部104上で稼動するアプリケーションが直接発行する場合もあれば、先に説明したようにファイルシステム制御手段111から転送される場合もある。また、本発明の実施の形態では、ディスクアクセスコマンドはSCSIコマンドとする。
コマンドコントローラ112は、コマンド分類手段120、コマンド選択手段121、アドレス更新手段122、テーブル設定手段123、アドレス管理テーブル130、ポリシーテーブル131、コマンドバッファ132で構成する。
コマンド分類手段120は、システム制御部104からディスクアクセスコマンドを受け付け、アドレス管理テーブル130の内容に従ってディスクアクセスコマンドを分類する。コマンド分類手段120の詳細については後述する。また、アドレス管理テーブル130の詳細についても後述する。
コマンド選択手段121は、ポリシーテーブル131の内容に従い、コマンドバッファ132に保持したディスクアクセスコマンド群から特定のディスクアクセスコマンドを選択し、ディスク装置113に送出する。ポリシーテーブル131の詳細およびコマンド選択手段121の詳細については後述する。
アドレス更新手段122は、一定時間毎に、ファイルシステム制御手段111が管理するファイルの配置情報を調査し、アドレス管理テーブル130の内容を更新する。アドレス更新手段122の詳細については後述する。
テーブル設定手段123は、テーブルの初期化を行う。具体的にはコマンド分類手段120の分類対象項目をアドレス管理テーブル130に設定する。また、テーブル設定手段123は、ポリシーテーブル131にポリシーを設定する。ファイルシステム制御手段111がディスク装置をフォーマットするときに自動的に分類項目やポリシーが設定されるように、特別なコマンドシーケンスを用意してもよいし、管理者がコンソールやWebサーバ経由でアドレス管理テーブル130に値を設定できるようにしてもよい。Webサーバ経由の場合、例えばコマンドコントローラ112にApacheのようなWebサーバを搭載し、クライアントがWebブラウザを使用して分類項目を設定すればよい。また、ポリシーテーブル131に設定する値は、ディスク装置113の性能や使用方法に合わせて調整すればよい。
アドレス管理テーブル130は、システム制御部104のファイルシステム制御手段111が管理する配置情報を利用して、特定のファイル群とディスクアクセスコマンドに含まれる論理ブロックアドレスの対応関係を記録する。アドレス管理テーブル130は、コマンド分類手段120により参照され、アドレス更新手段122により更新される。ファイルシステム制御手段111は、各ファイルをディスク装置113に格納するために、各ファイルのデータがどの論理ブロックアドレスに配置されているかという配置情報を管理している。そこで、この配置情報をアドレス管理テーブル130に記録する。例えば、大容量のファイル群をユーザが使用するファイルとシステムが使用する管理ファイルという2種類に分類する場合には、ユーザが使用するファイルが配置される論理ブロックアドレスの範囲とシステムが使用するファイルが配置される論理ブロックアドレスの範囲を記録する。図2にアドレス管理テーブル130の構造を示す。201の行は、コマンド分類識別子を示す。コマンド分類識別子は、分類対象項目毎に一意な値である。ここでは、CID=0はユーザが使用するファイルに対してアクセスするコマンドを表わし、CID=1はシステムが使用するファイルに対してアクセスするコマンドを表わす。202の行は、コマンド分類識別子に属するディスクアクセスコマンドがアクセスする可能性のある論理ブロックアドレスの最小値MINを示す。203の行は、コマンド分類の識別子に属するディスクアクセスコマンドがアクセスする可能性のある論理ブロックアドレスの最大値MAXを示す。図2の例では、CID=0に分類されるコマンドはアドレス0から999の範囲にアクセスし、CID=1に分類されるコマンドはアドレス1000から20000の範囲にアクセスする。本発明の実施の形態では、コマンド分類項目を2つ設定するためコマンド分類識別子を2つ設け、ユーザファイル群とシステムファイル群という分類でテーブルに記録をしたが、ユーザファイル群をより詳細に分類し、特定ユーザのファイルを配置する論理ブロックアドレスの範囲を記録してもよい。あるいはログファイルのような特定のシステムファイルを配置する論理ブロックアドレスの範囲を記録してもよい。さらに、プライオリティの高いファイル群とそれらを配置した論理ブロックアドレスの範囲の対応関係を記録してもよい。また、本発明の実施の形態のように、分類対象項目が2つしかないような場合には、いずれか一方の論理ブロックアドレスの範囲のみを記録してもよい。また、本発明の実施の形態では、各コマンド分類識別子の属するアドレス範囲を一組の最小値と最大値で表わしたが、各識別子に対して、複数の最小値と最大値の組み合わせを記録してもよい。このようにファイルシステム制御手段111が管理する配置情報を利用することにより、コマンドコントローラ112が、ディスクアクセスコマンドに含まれる論理ブロックアドレスから、そのディスクアクセスコマンドのアクセス対象ファイルを特定することができる。アドレス管理テーブル130の登録方法および更新方法については後述する。
ポリシーテーブル131は、コマンド選択手段121により参照され、テーブル設定手段123により設定される。ポリシーテーブル131は、分類したディスクアクセスコマンド群のディスク装置への送出単位を記録する。送出単位は、時間であってもよいし、個数であってもよい。図3にポリシーテーブル131の構造を示す。ポリシーテーブル131では、コマンド分類識別子毎にコマンド選択ポリシーを設定する。本発明の実施の形態におけるコマンド選択ポリシーは、最大送出単位CMAX、最大経過時間TMAX、重み付けとする。302の行は、最大送出単位CMAXを示す。図3では、CID=0の場合、最大5個までコマンドを連続して送出する。CID=1の場合、最大3個まで、コマンドを連続して送出する。303の行は、最大経過時間TMAXを示す。特定のコマンドバッファを選択してから、最大TMAX経過したら、コマンドバッファを選択しなおす。304の行は、重み付けである。複数のコマンドバッファを、どのように選択するかを示す。図3の場合、重み付けが1対1で設定されているため、CID=0に対応するコマンドバッファとCID=1に対応するコマンドバッファを均等に選択する。本発明の実施の形態では、コマンド分類識別子CIDごとにポリシーを設定したが、複数のコマンド分類識別子で同じポリシーを設定してもよい。また、本発明では、3つのポリシーを設定したが、それ以外のポリシーを設定してもよい。設定するポリシーはディスク装置の性能やネットワークストレージシステム上で稼動するアプリケーションの性質に合わせて設定すればよい。
コマンドバッファ132は、コマンド分類手段120が分類したディスクアクセスコマンド群を保持する。コマンドバッファ132は、複数面用意し、各面をコマンド分類識別子に対応させ、コマンド分類識別子に対応するコマンドを登録する。本発明の実施の形態では、コマンド分類手段120が分類したコマンドがコマンド分類識別子CID=0に属する場合、コマンドバッファ140に登録し、コマンド分類識別子CID=1に属する場合、コマンドバッファ141に登録する。本発明の実施の形態では、コマンドバッファ132をコマンドバッファ140およびコマンドバッファ141のように複数面用意したが、複数面用意しなくてもよい。コマンド分類手段120がディスクアクセスコマンドを識別できる方法であれば、どのような方法でもよい。
次に、図4を用いてコマンド分類手段120の詳細について説明する。コマンド分類手段120は、アドレス解析部401、アドレス比較部402、バッファ登録部403で構成する。アドレス解析部401はシステム制御部104から受け付けたディスクアクセスコマンドを解析し、アドレス情報を抽出する。より具体的には、論理ブロックアドレスを抽出する。アドレス比較部402は、アドレス解析部401で抽出した論理ブロックアドレスと、アドレス管理テーブル130に登録された論理ブロックアドレスを比較し、コマンド分類識別子を特定する。バッファ登録部403は、アドレス比較部402で特定したコマンド分類識別子に対応するコマンドバッファにコマンドを登録する。
次に、図5を用いてコマンド選択手段121の詳細について説明する。コマンド選択手段121は、バッファ選択部501、コマンド送出判定部502、コマンド選択部503、コマンド送出部504、送出カウンタ510で構成する。
バッファ選択部501は、ポリシーテーブル131を参照してコマンドバッファ132のいずれかの面を選択する。コマンド送出判定部502は、選択したコマンドバッファが空か、あるいは一定時間が経過したか、あるいは送出カウンタ510の値Cntがポリシーテーブル131に設定されているCmaxに到達したかどうかを判定する。送出カウンタ510については後述する。コマンド選択部503は、バッファ選択部501で選択したコマンドバッファに保持したコマンド群から、コマンドを選択する。例えば、論理ブロックアドレスが連続するような順番に選択する。あるいは同じ論理ブロックアドレスに対する複数の書き込みコマンドが存在する場合、後のコマンドのみディスク装置に転送するといった最適化も行うことも考えられる。コマンド送出部504は、コマンド選択部503で選択したコマンドをディスク装置に対して送出する。
送出カウンタ510は、コマンドバッファを選択した後、ディスク装置に送出したコマンド数を管理する。このカウンタは、コマンドバッファが選択されると初期化され、選択したコマンドバッファに登録されているコマンドをディスク装置に送出するたびに、インクリメントされる。コマンドバッファに多くのコマンドが登録されている場合には、ポリシーテーブル131のCMAXに登録された数だけ、連続してディスク装置に送出することができる。
次に、コマンドコントローラ112が行うコマンド制御処理について説明する。コマンド制御処理は、コマンド分類処理とコマンド選択処理からなる。コマンド分類処理とコマンド選択処理は、並列に動作する。
図6にコマンド分類処理フローを示す。コマンドコントローラ112はシステム制御部104からディスクアクセスコマンドを受け付けると、コマンド分類手段120を呼びだす。プロセス602では、システム制御部104から受け付けたディスクアクセスコマンドを解析し、アドレス情報、本発明の実施の形態では論理ブロックアドレスを抽出する。次に、プロセス603では、アドレス管理テーブル130に設定されたアドレス範囲と、抽出した論理ブロックアドレスを比較する。そして、プロセス604において、そのディスクアクセスコマンドがどのコマンド分類識別子に属するかを特定する。最後に、プロセス605において、そのディスクアクセスコマンドをコマンドバッファ132のコマンド分類識別子に対応するバッファに登録する。CID=0であれば、コマンドバッファ140に登録し、CID=1であれば、コマンドバッファ141に登録する。
コマンド選択手段121はコマンドコントローラ112に常駐している。図7にコマンド選択処理フローを示す。プロセス702において、ポリシーテーブル131に設定された内容に従って、コマンドバッファ132のいずれかの面を選択する。例えば、図3に示すポリシーテーブル131では、コマンドバッファを均等に選択するように重み付けされているため、最初にCID=0に属するコマンドバッファ140を選択する。そして、プロセス703において、そのバッファから連続していくつのコマンドを送出したかを示す送出カウンタ501に0をセットする。そして、経過時間を測定するためのタイマーをスタートする。プロセス704では、選択したコマンドバッファが空か、あるいは一定時間が経過したか、あるいは送出カウンタ510の値CntがCmaxに到達したかどうかを判定する。これらの条件のいずれかが成立した場合には、プロセス702に戻って、バッファを選択しなおす。
これらの条件が成立しない場合には、プロセス705において選択したバッファからコマンドを選択する。最も簡単な選択方法は、FIFO形式でコマンドを選択する。あるいは、コマンドのアクセス対象の論理ブロックアドレスが連続になるように順序を入れ替えて選択してもよい。
そしてプロセス706では、そのディスクアクセスコマンドをディスク装置に対して送出する。最後に、プロセス707において送出カウンタ510の値Cntをインクリメントしてプロセス704に戻る。
次に、アドレス更新手段122におけるアドレス管理テーブル130の更新処理について説明する。ディスク装置113をフォーマット直後は、システムが管理するファイルも少なく、またユーザファイルもない状態である。ところが、クライアントがネットワークストレージシステム103を使い続けていくと、ディスク装置113に保持されるユーザファイルの数も増大し、それに伴いユーザファイルを管理するシステムファイルやそのためのディスク領域も増大する。それにより、アドレス管理テーブル130に登録した論理ブロックアドレスの範囲が異なってくる。テーブル更新手段122は、一定時間毎にアドレス管理テーブル130の登録内容を更新する。
更新にあたっては、3つの方法が考えられる。第1の方法は、ファイルシステム制御手段111に問い合わせる方法である。この方法は、ファイルシステム制御手段111が管理する情報がどこにあるかが分からない場合に使用する。ファイルシステム制御手段111とアドレス更新手段122のそれぞれに問い合わせを行うためのエージェントを用意する。アドレス更新手段122は、一定時間毎にファイルシステム制御手段111に管理情報を問い合わせ、問い合わせの結果、ファイルシステム制御手段111がそのときのファイル群とアドレスの対応関係をアドレス更新手段122に通知する。アドレス更新手段122は、その情報を利用してアドレス管理テーブル130の登録内容を更新する。第2の方法は、あらかじめファイルシステム制御手段111が管理情報を置いておく論理ブロックアドレスが分かっている場合に使用する。アドレス更新手段122が一定時間毎に、ファイルシステム制御手段111が管理情報を配置するディスク領域に直接アクセスし、データを読み出す。第3の方法は、ファイルシステム制御手段111に機能を追加し、ファイルシステム制御手段111が管理するファイルの配置情報が変わるたびに、アドレス更新手段122にその変更を通知する方法である。その他、管理者がファイルシステム制御手段111にアクセスしてアドレス範囲を調査し、その結果を手動でアドレス管理テーブル130に設定することも可能である。アドレス更新手段122が、ファイルシステム制御手段111が管理する論理ブロックアドレスの範囲が変更になったことを知る方法であれば、いずれの方法でもよい。
次に、本実施の形態におけるコマンド制御処理全体の流れについて図1、図2、図3、図6、図7を用いて説明する。アドレス管理テーブル130、ポリシーテーブル131、マッピングテーブル、コマンドバッファ132はネットワークストレージシステム103構築時にあらかじめ初期化する。アドレス管理テーブル130には初期値として、システムが使用する領域とユーザが使用する領域の2種類を設定し、ディスク装置113がファイルシステム制御手段111によりフォーマットされた後、コマンド分類識別子に対応するアドレス範囲があらかじめ設定されるようにする。ポリシーテーブル131にもあらかじめ図3に示すポリシーを設定する。これらの情報は、ネットワークストレージシステム103の構築時に、テーブル設定手段123を介してアドレス管理テーブル130に設定する。
図1のクライアント100および101がいくつかのファイルに対して書き込みを行っている状況を想定する。クライアント100および101にファイルを書き込むと、要求受付手段110がファイルアクセス要求を受け付け、ファイルシステム制御手段111がその要求をディスクアクセスコマンドに変換して、コマンドコントローラ112に送出する。図8にファイルシステム制御手段111から送出されるディスクアクセスコマンドの例を示す。ディスクアクセスコマンドは、ディスクアクセス命令と論理ブロックアドレス(10進表示)とデータサイズを含む。ここでは、ファイルシステム制御手段111から連続して6個のディスクアクセスコマンドが転送されてきた例について説明する。
コマンド分類手段120はファイルシステム制御手段111から送出されたディスクアクセスコマンドを1番目(801)から順次受け取り、コマンド分類処理を開始する。次に図6を用いて、コマンド分類処理を説明する。コマンド分類処理では、プロセス602で1番目のディスクアクセスコマンド801を解析し、コマンド801の論理ブロックアドレス「640」を抽出する。プロセス603では、アドレス管理テーブル130に設定されたアドレスと抽出したコマンドアドレスを比較する。コマンドのアドレスは「640」であるため、コマンド分類識別子はCID=0となる。次に、プロセス605においてCID=0に属するコマンドバッファ140にこのコマンドを登録する。2番目以降のコマンドも同様に処理をする。その結果、コマンドバッファ140には、#1(コマンド801)、#3(コマンド803)、#5(コマンド805)のコマンドが登録され、コマンドバッファ141には、#2(コマンド802)、#4(コマンド804)、#6(コマンド806)が登録される。
コマンド選択手段121は、まず図7のプロセス702で、CID=0のコマンドを保持するコマンドバッファ140を選択する。プロセス703では、送出カウンタ510を初期化し、あわせてコマンドバッファを選択している経過時間を測定するタイマーをスタートする。プロセス704では、条件が成立するかどうかを判定する。タイマーの値は0、コマンドバッファ140は空でなく、送出カウンタ510の値はCMAXの値よりも小さいため、条件判定は“NO”となる。次にプロセス705において、コマンドバッファ140に登録されたコマンドから一つを選択する。コマンドがFIFO形式で選択される場合には、#1(コマンド801)が選択される。プロセス706では、コマンド801をディスク装置に送出して、プロセス707で送出カウンタ510の値を1にインクリメントしプロセス704に戻る。
プロセス704では、選択したコマンドバッファ140にまだコマンドがあるため、条件判定が“NO”となり、プロセス705で#3(コマンド803)が選択される。そして、コマンド803はプロセス706でディスク装置に送出され、プロセス707では、送出カウンタ510の値が2にインクリメントされる。
同様に#5(コマンド805)がディスク装置に送出され、プロセス704では、コマンドバッファが空となる。その結果、条件判定が“YES”となり、プロセス702を行う。
プロセス702では、図3に示したポリシーテーブル131の重み付けでは、バッファ選択は均等であるため、次にコマンドバッファ141が選択される。そして、プロセス703において、送出カウンタ510に0をセットし、経過時間を計測するタイマーを開始する。プロセス704では、先の説明と同じように、最初は条件が成立しないため、条件判定の結果“NO”となり、プロセス705ではコマンドバッファ141から#2(コマンド802)を選択する。そして、プロセス706では、コマンドをディスク装置に送出し、プロセス707で送出カウンタ510の値を1に増加する。そして、プロセス704の条件判定に戻る。
同様に、#4(コマンド804)と#6(コマンド806)をディスク装置113に送出して、処理待ち状態となる。これらの処理の結果、ディスク装置は、#1(コマンド801)、#3(コマンド803)、#5(コマンド805)、#2(コマンド802)、#4(コマンド804)、#6(コマンド806)の順序でデータの書き込みを行えるようになり、ディスクアクセスを効率よく行える。
(実施の形態の変形例1)
上述した代表的実施の形態では、ディスク装置が一つの場合について、ファイルシステム制御手段が管理するアドレス情報を用いて、ディスクアクセスコマンドの送出順序を制御する方法について説明した。
ジャーナリングファイルシステムを使用するような場合、システムが管理する特定のファイル、例えばログファイル、への書き込みが頻発する。代表的実施の形態では、システムが管理する情報を保持するディスク領域へのアクセスとユーザファイルを保持するディスク領域へのアクセスを分類することで、アクセスのローカリティを高め、ディスク装置に対するアクセスを効率よく行えるようにした。しかしながら、同一のディスク装置に対するアクセスの場合、書き込みが逐次化されてしまう。そこで、変形例1では、ログファイルのみを別のディスク装置に書き込むことにより、ディスク装置をより効率よく使用できるようにする。
図9に変形例1におけるネットワークストレージシステムの全体構成を示す。変形例1では、ネットワークストレージシステム103が複数のディスク装置(ディスク装置913およびディスク装置914)を備え、コマンドコントローラ912にマッピングテーブル933とマッピング手段924を備えることが、代表的実施の形態とは異なる部分である。また、コマンド選択手段921における処理も、代表的実施の形態とは異なる。さらに、ネットワークストレージシステム103に複数のディスク装置を備えるため、アドレス管理テーブル930を、複数のディスク装置を識別するための装置識別子に対応して持つことも代表的実施の形態とは異なる。ディスク装置対応にコマンド選択ポリシーを変更する場合には、ポリシーテーブル931を装置識別子対応に持てばよい。あるいは、装置識別子とコマンド分類識別子CIDの組み合わせ毎にアドレス管理テーブル930あるいはポリシーテーブル931の値を設定してもよい。
マッピングテーブル933は、特定のファイルのみを別のディスク装置に配置する場合や、ディスクアクセスコマンドのアクセス対象データを別のアドレスに再配置する場合に使用する。ディスクアクセスコマンドのアクセス対象データを別の論理ブロックアドレスに再配置する場合とは、ディスク装置にフラグメンテーションが発生しているような状況で、フラグメンテーションを解消する場合に相当する。マッピングテーブル933は、元のアドレスと再配置先のアドレスの対応関係を記録する。アドレスには、装置識別子と論理ブロックアドレスを含む。装置識別子は、複数のディスク装置を識別する情報である。変形例1では、ディスク装置が2台の場合について説明したが、ディスク装置が1台の場合、装置識別子を記録しなくてもよい。また3台以上の場合は、台数に対応した識別子を記録すればよい。
マッピング手段924は、マッピングフラグ950とマッピングアドレス951を含む。マッピング手段924は、ディスクアクセスコマンドがアクセス対象とするディスクアドレスを別のアドレスに変更する場合に、マッピングフラグ950に1を設定し、マッピングアドレス951あるいはマッピングテーブル933に値を設定する。マッピングアドレス951は、特定のファイルの保管されているディスクアドレスを別のアドレスに変更する場合や、特定の分類に属するファイル全てを別のアドレスにシフトする場合に使用する。マッピングテーブル933は、ディスクアドレスの使用状況に応じて、再配置先アドレスを柔軟に変更する場合に使用する。例えば、特定のファイルにアクセスするディスクアクセスコマンド全てを再配置する場合には、再配置先の初期論理ブロックアドレスと装置識別子をマッピングアドレス951に設定すればよい。
マッピングフラグ950およびマッピングアドレス951は、ネットワークストレージシステム構築時にあらかじめ設定されるようにしてもよいし、運用後、クライアント計算機やコンソールを利用して管理者が設定できるようにしてもよい。ネットワークストレージシステム構築時にあらかじめ設定する場合には、ファイルシステム制御手段111がディスク装置913および914をフォーマットする場合に、フォーマット時のオプションメニューとして選択し設定できるようにし、管理者がオプションメニューを選択した場合に、コマンドコントローラ912のマッピングフラグ950およびマッピングアドレス951に値が設定されるようにしてもよい。この場合、独自のインタフェースを用いて設定してもよいし、Webインタフェースを用いて設定できるようにしてもよい。クライアント計算機からコマンドコントローラ912に値を設定する方法であれば、どんな方法を用いてもよい。
マッピング手段924を用いて、マッピングテーブル933に値を設定する場合、再配置先のディスク装置の使用状況を知る必要がある。ディスク装置の使用状況は、オンデマンドあるいは一定時間ごとにファイルシステム制御手段111に問い合わせるか、ディスク装置の使用状況を管理するディスク領域を直接読み出すことにより知ることができる。ファイルシステム制御手段111は、通常、ディスク装置913および914の空き情報を、ディスク装置913および914の特定のアドレス範囲で管理する。そこで、そのアドレス範囲にあるデータを読み出すことにより、それぞれのディスク装置の空き情報を知ることができる。マッピング手段924は、受け付けたディスクアクセスコマンドの対象アドレスを再配置する場合には、まず、再配置先のディスク装置の空き情報を調査する。マッピングテーブル933は元のアドレス情報と再配置先のアドレス情報を管理できれば、どのように設定してもよい。再配置のポリシーとしては、特定の分類に属する書き込み系のディスクアクセスコマンドのディスクアクセス対象アドレスが連続になるように設定してもよいし、ディスクアクセスコマンドのアクセス履歴を記録しておき、離れたディスク領域に対するアクセスが特定のパターンで発生するかどうかをチェックし、そのような場合にアドレス情報を変更するようにマッピングテーブル933に値を設定してもよい。
図10に変形例1におけるコマンド選択手段921の構成を示す。変形例1では、コマンド選択手段921は、代表的実施の形態におけるコマンド選択手段121の構成要素に加えて、マッピング判定部1000とコマンド再構築部1001を含む。
マッピング判定部1000は、マッピングフラグ950をチェックし、マッピング変更が設定されているかどうかを判定する。また、コマンド再構築部1001は、マッピング変更が設定されている場合、即ちマッピングフラグ950に1が設定されている場合に、コマンドのアクセス対象アドレス情報をマッピングアドレス951あるいはマッピングテーブル933の内容に従って再配置先アドレスに変更して、コマンドを再構築する。
図11にコマンド選択手段921におけるコマンド選択処理フローを示す。ここでは、コマンド選択処理の中に、マッピング処理を埋め込む例について説明する。プロセス1102、1103、1104、1105、1106の処理は、代表的実施の形態における図7のコマンド選択処理フローのプロセス702、703、704、705、707と同等である。プロセス1105において、選択したコマンドバッファからコマンドを選択すると、プロセス1107において、コマンドの対象アドレスを変更するかどうかを判定する。このとき、マッピングテーブル933にマッピング変更情報が設定されていれば、プロセス1108を処理する。マッピング変更情報が設定されているかどうかは、マッピングフラグ950の値をチェックすることにより判定できる。条件判定の結果、マッピングフラグの値が0であれば、プロセス1108を行うことなくプロセス1109においてコマンドをそのままアクセス対象のディスク装置に送出する。マッピングフラグに1がセットされていた場合、プロセス1108において、コマンドのアクセス対象のアドレス情報をマッピング先のアドレス情報に変更してコマンドを再構成する。そしてプロセス1109において、コマンドをディスク装置に対して送出する。
(実施の形態の変形例2)
上述の代表的実施の形態では、ファイルシステム制御手段111とディスク装置113の間では、SCSIインタフェースを用いて、SCSIコマンドを制御するコマンドコントローラについて説明した。実施の形態の変形例2では、ファイルシステム制御手段とコマンドコントローラの間で、iSCSIインタフェースを使用する点が代表的実施の形態および変形例1とは異なる。
図12は、本発明の実施の形態の変形例2におけるネットワークストレージシステム全体の構成例を示す。変形例2におけるシステム制御部1204は、リモートディスク制御手段1215を含む点が、代表的実施の形態および変形例1とは異なる。また、コマンドコントローラ1212にも、リモートディスク制御手段1225を含む点も先の実施例とは異なる。また、システム制御部1204とコマンドコントローラ1212は、内部ネットワーク1205で接続する。内部ネットワーク1205は標準的なIPネットワークである。ここでは、ネットワーク1202と内部ネットワーク1205を独立に設けたが、同一のネットワークに接続してもよい。
リモートディスク制御手段1215は、ファイルシステム制御手段1211から受け取ったディスクアクセスコマンドをiSCSIコマンドにパッキングし、内部ネットワーク1205に転送する。変形例2では、ディスクアクセスコマンドとして、SCSIコマンドを使用しているものとする。また、コマンドコントローラ1212のリモートディスク制御手段1225は、内部ネットワーク1205から受け取ったiSCSIコマンドをアンパッキングし、ディスクアクセスコマンドに変換して、コマンド分類手段1220に転送する。コマンド分類手段1220に転送されたディスクアクセスコマンドは、代表的実施の形態および変形例1と同様に処理される。ここで、リモートディスク制御手段1215および1225は公知の技術で実現できるため、詳細については説明を省略する。しかしながら、変形例2では、アドレス管理テーブル1230、ポリシーテーブル1231、マッピング手段1224に設けるマッピングフラグ及びマッピングアドレスを設定する場合に、iSCSIプロトコルに規定されているテキストコマンドText Request PDUs(Protocol Data Units)とText Response PDUsを使用する。iSCSIプロトコルでは、リモートディスク制御手段1215と1225の間でディスクアクセスコマンド以外のテキストコマンドをやり取りできる。そこで、変形例2では、ファイルシステム制御手段1211が管理するアドレス情報の設定、アドレス管理テーブル1230の更新、クライアント計算機やコンソール経由で管理者が設定するポリシーやマッピング情報のやり取りのためのテキストコマンドを用意する。これにより、ファイルシステム制御手段1211とコマンドコントローラ1212の間における情報を独自のインタフェースではなく、iSCSIインタフェースを用いてやり取りできるようになる。
(実施の形態の変形例3)
上述の代表的実施の形態のネットワークストレージシステムおよび変形例1および変形例2に示すネットワークストレージシステムでは、ディスク装置とシステム制御部とは独立して、コマンドを最適化するコマンドコントローラを設けた。変形例3では、コマンドコントローラをシステム制御部に内蔵する。この場合、システム制御部に、アドレス管理テーブルやポリシーテーブル、マッピングテーブルに値を設定するためのインタフェースを備える。
(実施の形態の変形例4)
上述の代表的実施の形態のネットワークストレージシステムでは、ディスク装置とシステム制御部とは別にコマンドを最適化するコマンドコントローラを設けた。また、変形例3では、コマンドコントローラをシステム制御部に内蔵した。代表的実施の形態の変形例4では、コマンドコントローラをディスク装置に内蔵する。
変形例4では、ディスク装置が、アドレス管理テーブルやポリシーテーブル、マッピングテーブルに値を設定するためのインタフェースを備える。
(実施の形態の変形例5)
上述の代表的実施の形態および変形例では、コマンドコントローラが定常的に動作し、コマンドの最適化を行っていた。クライアントからのファイルアクセスが頻発する場合には、コマンド最適化の効果が大きいが、クライアントからのファイルアクセスが少ない場合には、コマンドの最適化の効果が小さいため、コマンドを最適化する必要はない。
そこで、変形例5では、管理者あるいはシステムがコマンド最適化を必要としないと判断する場合には、コマンドコントローラを使用せず、直接ディスク装置に対してコマンドを送出する。それにより、最適化が必要ない場合には、コマンドを解析するオーバヘッドを削減することができる。
図13に変形例5におけるネットワークストレージシステムの構成を示す。図9に示す変形例1の構成に比べて、コマンド最適化フラグ1300、アクセス頻度フラグ1301、アクセス頻度監視手段1302、コマンド最適化判定手段1303が追加されている。変形例5では、変形例1に対して機能を追加した例を示すが、代表的実施の形態のネットワークストレージシステムにも、変形例2および3および4のネットワークストレージシステムのいずれに対しても適用可能である。
コマンド最適化フラグ1300は、コマンドの最適化を行うかどうかを示すフラグである。ネットワークストレージシステム構築時等に、設定ウィザード等を用いて管理者がコマンド最適化を指示した場合に、1がセットされる。設定ウィザードはコンソールを用いて立ち上げてもよいし、Webサーバ経由で立ち上げてもよい。いずれの場合でも、コマンドコントローラの設定ウィザードあるいはシーケンスの中に、コマンドの最適化を行うかどうかを指定する項目があればよい。また、コマンド最適化フラグ1300は、ネットワークストレージシステムの構築後であっても、セットあるいはリセットできる。この場合は、ネットワークストレージシステムの管理ウィザードに、コマンド最適化を指定あるいは解除する項目を含める。
アクセス頻度フラグ1301は、コマンドコントローラ912に投入されるディスクアクセスコマンドが多いかどうかを示す。アクセス頻度監視手段1302によりセット、リセットされる。
アクセス頻度監視手段1302は、コマンドコントローラ912に投入されるディスクアクセスコマンドを監視し、監視間隔Tcに投入されるコマンドが一定量Tmaxを超えると、アクセス頻度フラグ1301に1をセットする。監視間隔Tcおよびコマンド量Tmaxの値は、設定ウィザード等によりあらかじめ設定される。これにより、ディスクアクセスコマンドがあまり投入されないような場合には、コマンドを解析して分類することはせずに直接ディスク装置に対して転送できるため、コマンド解析のオーバヘッドを削減できる。ただし、マッピングを変更しているかどうかのチェックは行う。
コマンド最適化判定手段1303は、コマンド最適化フラグ1300とアクセス頻度フラグ1301を用いて、コマンドの最適化を行うかどうかを判定する。
図14に変形例5におけるコマンド処理のフローを示す。プロセス1402では、コマンド最適化フラグ1300をチェックし、コマンドを最適化する必要があるかどうかを判定する。コマンド最適化フラグ1300の値が0である場合、コマンドを最適化しないため、プロセス1407を行い、そのコマンドをディスク装置に対して送出する。コマンド最適化フラグ1300の値が1である場合、コマンドを最適化するため、次のプロセスを行う。プロセス1403では、アクセス頻度フラグ1301に1がセットされているかどうかを判定する。アクセス頻度フラグ1301に1がセットされている場合、プロセス1404を行う。アクセス頻度フラグ1301の値が0の場合は、プロセス1406を行う。プロセス1402とプロセス1403がコマンド最適化判定処理に相当する。
プロセス1404は、コマンド分類処理を行う。コマンド分類処理の内部フローは代表的実施の形態と同じである。プロセス1405では、コマンド選択処理を行う。ここで、コマンド選択処理とは、コマンドバッファ932からコマンドを選択する部分までとする。そして次に、プロセス1406において、コマンドマッピング処理を行う。コマンドマッピング処理は図11のプロセス1107とプロセス1108に相当する。コマンドマッピング処理は、まずマッピングフラグ950の値をチェックし、1がセットされている場合にはマッピングテーブル933を参照してコマンドのアクセス対象アドレスをマッピング先に変更する。従って、マッピングフラグ950に1がセットされていない場合には、コマンドを解析することはない。最後に、プロセス1407では、コマンドをディスク装置に対して送出する。
以上のように、変形例5では、コマンドの最適化が必要でない場合や、コマンドコントローラ912が処理するディスクアクセスコマンド数が少ない場合には、コマンドを解析せずに、ディスク装置に対してコマンドを送出することができるため、より柔軟にコマンドの最適化を行うことができる。
本発明の実施の形態であるネットワークストレージシステムの全体構成を示すブロック図である。 上記実施の形態におけるアドレス管理テーブルの構成を示す図である。 上記実施の形態におけるポリシーテーブルの構成を示す図である。 上記実施の形態におけるコマンド分類手段の構成を示す図である。 上記実施の形態におけるコマンド選択手段の構成を示す図である。 上記実施の形態におけるコマンド分類手段の処理フローを示す図である。 上記実施の形態におけるコマンド選択手段の処理フローを示す図である。 上記実施の形態におけるディスクアクセスコマンドの例を示す図である。 代表的実施の形態の変形例1であるネットワークストレージシステムの全体構成を示すブロック図である。 変形例1のコマンド選択手段の構成を示す図である。 変形例1のコマンド選択手段の処理フローを示す図である。 代表的実施の形態の変形例2であるネットワークストレージシステムの全体構成を示すブロック図である。 代表的実施の形態の変形例5であるネットワークストレージシステムの全体構成を示すブロック図である。 変形例5のコマンド処理のフローを示す図である。
符号の説明
100,101…クライアント、102…ネットワーク、103…ネットワークストレージシステム、104…システム制御部、110…要求受付手段、111,1211…ファイルシステム制御手段、112,912,1212…コマンドコントローラ、113,913〜914…ディスク装置、120,1220…コマンド分類手段、121,1221…コマンド選択手段、122,1222…アドレス更新手段、123,1223…テーブル設定手段、130…アドレス管理テーブル、131…ポリシーテーブル、132,140〜141…コマンドバッファ、401…アドレス解析部、402…アドレス比較部、403…バッファ登録部、501…バッファ選択部、502…コマンド送出判定部、503…コマンド選択部、504…コマンド送出部、510…送出カウンタ、924…マッピング手段、933…マッピングテーブル、950…マッピングフラグ、951…マッピングアドレス、1000…マッピング判定部、1001…コマンド再構築部、1215,1225…リモートディスク制御手段、1300…コマンド最適化フラグ、1301…アクセス頻度フラグ、1302…アクセス頻度監視手段、1303…コマンド最適化判定手段。

Claims (7)

  1. ネットワークを介してクライアントからのファイルアクセス要求を受け付け、ディスク装置にアクセスするネットワークストレージシステムであって、
    前記ネットワークストレージシステムは、要求受付手段と、ファイルシステム制御手段と、コマンドコントローラと一つ以上のディスク装置を有し、
    前記ファイルシステム制御手段は、ファイルシステムにおけるファイルの配置情報を管理し、
    前記要求受付手段は、前記クライアントからの前記ファイルアクセス要求を受け付け前記ファイルシステム制御手段に転送し、
    前記ファイルシステム制御手段は、前記ファイルアクセス要求を前記ディスク装置に対するディスクアクセスコマンドに変換して前記コマンドコントローラに転送し、
    前記コマンドコントローラは、前記ファイルシステム制御手段が管理する配置情報から取得した情報を利用して、前記ディスク装置の領域を利用する、特定のファイルと、当該ファイルの配置のアドレスとの対応関係の情報を保持するアドレス管理テーブルと、前記ディスクアクセスコマンドの選択順序を制御するためのポリシー情報を保持するポリシーテーブルと、を有し、
    前記コマンドコントローラは、前記ファイルシステム制御手段が変換した前記ディスクアクセスコマンドを受け付け、前記アドレス管理テーブルで保持された前記対応関係の情報により当該ディスクアクセスコマンドを類別し、前記ポリシーテーブルで保持されたポリシー情報にしたがって、前記ディスク装置に送出する当該ディスクアクセスコマンドの順序を変更することを特徴とするネットワークストレージシステム。
  2. 前記コマンドコントローラは、前記ポリシー情報に基づき、前記転送されたディスクアクセスコマンドの量が、予め設定された時間間隔で一定量を超えた場合のみ、前記ディスク装置に送出するディスクアクセスコマンドの順序を変更することを特徴とする請求項1記載のネットワークストレージシステム。
  3. 前記コマンドコントローラは、前記受け付けたディスクアクセスコマンドのアクセス対象となるアドレス情報と再配置先のアドレス情報の対応関係を保持するマッピングテーブルを備え、前記マッピングテーブルの情報に従って、前記ディスクアクセスコマンドを再構築する手段を備えることを特徴とする請求項1記載のネットワークストレージシステム。
  4. 前記マッピングテーブルは、前記ディスク装置を識別するための装置識別子と論理ブロックアドレスを含むことを特徴とする請求項3記載のネットワークストレージシステム。
  5. 一つ以上のディスク装置に対してディスクアクセスコマンドを送出するコマンドコントローラであって、
    前記コマンドコントローラは、ファイルシステム制御手段が管理する配置情報から取得した情報を利用して、前記ディスク装置の領域を利用する、特定のファイルと、前記当該ファイルの配置のアドレスとの対応関係の情報を保持するアドレス管理テーブルと、前記ディスクアクセスコマンドの選択順序を制御するためのポリシー情報を保持するポリシーテーブルと、を有し、
    前記コマンドコントローラは、コマンド分類手段と、コマンド選択手段を有し、
    前記コマンド分類手段は、
    前記ディスクアクセスコマンドのアクセス対象アドレスを特定するアドレス解析手段と、
    前記アクセス対象アドレスと前記アドレス管理テーブルのアドレスの情報を比較するアドレス比較手段と、
    前記比較結果に従い前記ディスクアクセスコマンドをバッファに登録するバッファ登録手段を含み、
    前記コマンド選択手段は、
    前記ポリシーテーブルに基づいて、
    前記バッファを選択するバッファ選択手段と、
    前記バッファの空き状況と、前記バッファを選択した経過時間と、前に連続して前記ディスク装置に送出した前記ディスクアクセスコマンド数から、当該ディスクアクセスコマンドを送出すべきかどうかを判定する判定手段と、
    前記判定手段の結果を受けて前記選択したバッファから前記ディスクアクセスコマンドを選択する手段とを含むことを特徴とするコマンドコントローラ。
  6. 前記コマンドコントローラは、
    前記コマンドコントローラが受け付けた前記ディスクアクセスコマンドの量を監視する監視手段と、
    前記監視手段の監視結果に応じて、前記ディスクアクセスコマンドの送出順序を制御するかどうかを判定する第2の判定手段を有することを特徴とする請求項5記載のコマンドコントローラ。
  7. ネットワークを介してクライアントからのファイルアクセス要求を受け付け、それをディスクアクセスコマンドに変換するシステム制御部と一つ以上のディスク装置を有するネットワークストレージシステムにおけるコマンド制御方法であって、
    前記ネットワークストレージシステムは、前記システム制御部からの前記ディスクアクセスコマンドを受け付け、前記ディスク装置に転送するコマンドコントローラを有し、
    前記コマンドコントローラは、前記システム制御部のファイルシステム制御手段が管理する配置情報から取得した情報を利用して、前記ディスク装置の領域を利用する、特定のファイルと、当該ファイルの配置のアドレスとの対応関係の情報を保持するアドレス管理テーブルと、前記ディスクアクセスコマンドの選択順序を制御するためのポリシー情報を保持するポリシーテーブルと、を有し、
    前記コマンドコントローラにおけるコマンド制御方法は、
    前記ディスクアクセスコマンドを解析するステップと、
    前記解析したディスクアクセスコマンドに含まれるアドレス情報と前記アドレス管理テーブルのアドレスの情報を比較するステップと、
    前記比較結果から前記ディスクアクセスコマンドを分類するステップと、
    前記ポリシーテーブルに従い、前記ディスク装置に送出する当該ディスクアクセスコマンドの順序を変更するステップとを有することを特徴とするネットワークストレージシステムにおけるコマンド制御方法。
JP2004056585A 2004-03-01 2004-03-01 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法 Expired - Fee Related JP4521206B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004056585A JP4521206B2 (ja) 2004-03-01 2004-03-01 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
TW093126363A TWI254239B (en) 2004-03-01 2004-09-01 Network storage system, command control method in network storage system, command controller for transmitting disc access command to the disc apparatus, and the command control method of the same
US10/933,293 US7370142B2 (en) 2004-03-01 2004-09-03 Command control method in network storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004056585A JP4521206B2 (ja) 2004-03-01 2004-03-01 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法

Publications (3)

Publication Number Publication Date
JP2005250582A JP2005250582A (ja) 2005-09-15
JP2005250582A5 JP2005250582A5 (ja) 2007-02-22
JP4521206B2 true JP4521206B2 (ja) 2010-08-11

Family

ID=34879823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004056585A Expired - Fee Related JP4521206B2 (ja) 2004-03-01 2004-03-01 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法

Country Status (3)

Country Link
US (1) US7370142B2 (ja)
JP (1) JP4521206B2 (ja)
TW (1) TWI254239B (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711539B1 (en) * 2002-08-12 2010-05-04 Netapp, Inc. System and method for emulating SCSI reservations using network file access protocols
JP2007502470A (ja) 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US7953935B2 (en) * 2005-04-08 2011-05-31 Panasonic Corporation Cache memory system, and control method therefor
JP4804175B2 (ja) * 2006-03-02 2011-11-02 株式会社日立製作所 I/oコマンドをキューイングするストレージシステム及びその制御方法
JP5048760B2 (ja) 2006-05-24 2012-10-17 コンペレント・テクノロジーズ Raid管理、再割振り、およびリストライピングのためのシステムおよび方法
CN100571280C (zh) * 2006-10-13 2009-12-16 华为技术有限公司 一种网络存储系统及网络存储内容访问控制方法
JP5057792B2 (ja) * 2007-01-29 2012-10-24 株式会社日立製作所 性能ボトルネックを緩和する機能を備えたストレージシステム
US9152349B2 (en) * 2007-03-23 2015-10-06 Emc Corporation Automated information life-cycle management with thin provisioning
JP5154200B2 (ja) * 2007-11-09 2013-02-27 株式会社日立製作所 データ読出し方法、データ管理システム及びストレージシステム
TWI384488B (zh) * 2007-12-24 2013-02-01 Skymedi Corp Nonvolatile storage device and its data writing method
US8103844B2 (en) * 2008-02-01 2012-01-24 Donald Rozinak Beaver Secure direct platter access
US8949719B2 (en) * 2008-05-23 2015-02-03 Viasat, Inc. Methods and systems for user interface event snooping and prefetching
JP5171602B2 (ja) * 2008-12-25 2013-03-27 京セラドキュメントソリューションズ株式会社 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
EP2427848A4 (en) * 2009-05-08 2014-08-20 Hitachi Lg Data Storage Korea ACCESS, COMPRESS AND STORE MEDIA STORED IN AN OPTICAL DATA STORAGE SYSTEM
JP5775367B2 (ja) * 2011-06-06 2015-09-09 キヤノン株式会社 情報処理装置及びその制御方法と、ミラーリングシステム及びraid制御装置
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
CN103530319B (zh) * 2013-09-16 2017-12-15 华为技术有限公司 一种操作请求的处理方法和装置
US9432839B2 (en) * 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on thermal conditions
US9813990B2 (en) 2014-05-30 2017-11-07 Apple Inc. Dynamic adjustment of mobile device based on voter feedback
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9600191B2 (en) * 2014-06-02 2017-03-21 Micron Technology, Inc. Systems and methods for reordering packet transmissions in a scalable memory system protocol
US20160299686A1 (en) * 2015-04-08 2016-10-13 Kabushiki Kaisha Toshiba Disk device and controlling method of disk device
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
JP6916529B2 (ja) * 2018-06-29 2021-08-11 サイレックス・テクノロジー株式会社 デバイスサーバ及びデバイスサーバの制御方法
WO2020236261A1 (en) * 2019-05-23 2020-11-26 Cray Inc. Dragonfly routing with incomplete group connectivity
CN113448891B (zh) * 2020-03-25 2023-07-21 澜起科技股份有限公司 存储器控制器以及用于监测对存储模块的访问的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209218A (ja) * 1999-01-13 2000-07-28 Sony Corp 情報記録装置
JP2001351310A (ja) * 2000-06-12 2001-12-21 Fujitsu Ltd ディスク装置およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体
JP2002023962A (ja) * 2000-07-07 2002-01-25 Fujitsu Ltd ディスク装置及び制御方法
JP2003533843A (ja) * 2000-05-12 2003-11-11 ティヴォ インク バンド幅効率の改善方法
JP2005535008A (ja) * 2002-05-31 2005-11-17 フジツウ アイティー ホールディングス,インコーポレイティド インテリジェント記憶装置管理方法およびシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201949A (en) * 1981-06-05 1982-12-10 Hitachi Ltd Secondary storage controller
JPH0527911A (ja) 1991-07-22 1993-02-05 Matsushita Electric Ind Co Ltd デイスク装置のコマンド実行順序決定方法
JP3250861B2 (ja) 1993-03-09 2002-01-28 株式会社日立製作所 ディスク装置システム
JP3209634B2 (ja) * 1994-03-28 2001-09-17 株式会社日立製作所 計算機システム
US6002866A (en) * 1995-09-01 1999-12-14 Sun Microsystems, Inc. Partitioning within a partition in a disk file storage system
JP2950223B2 (ja) * 1996-01-12 1999-09-20 日本電気株式会社 データ読出装置
US6449607B1 (en) * 1998-09-11 2002-09-10 Hitachi, Ltd. Disk storage with modifiable data management function
DE60038448T2 (de) * 1999-10-14 2009-04-02 Bluearc Uk Ltd. Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
US6574676B1 (en) * 2000-01-11 2003-06-03 International Business Machines Corporation System and method for scheduling disk drive commands by expected total access time
US6615312B1 (en) * 2000-02-29 2003-09-02 Western Digital Ventures, Inc. Method for processing file system service requests in a computer having an attached disk drive that can reproduce stream data and non-stream data
US6766430B2 (en) * 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
US6665739B2 (en) * 2000-09-29 2003-12-16 Emc Corporation Method for enabling overlapped input/output requests to a logical device using assigned and parallel access unit control blocks
US6529998B1 (en) * 2000-11-03 2003-03-04 Emc Corporation Adaptive prefetching of data from a disk
WO2003025929A1 (en) * 2001-09-14 2003-03-27 Seagate Technology Plc Prioritizing commands in a data storage device
JP2003316521A (ja) * 2002-04-23 2003-11-07 Hitachi Ltd 記憶制御装置
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209218A (ja) * 1999-01-13 2000-07-28 Sony Corp 情報記録装置
JP2003533843A (ja) * 2000-05-12 2003-11-11 ティヴォ インク バンド幅効率の改善方法
JP2001351310A (ja) * 2000-06-12 2001-12-21 Fujitsu Ltd ディスク装置およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体
JP2002023962A (ja) * 2000-07-07 2002-01-25 Fujitsu Ltd ディスク装置及び制御方法
JP2005535008A (ja) * 2002-05-31 2005-11-17 フジツウ アイティー ホールディングス,インコーポレイティド インテリジェント記憶装置管理方法およびシステム

Also Published As

Publication number Publication date
TWI254239B (en) 2006-05-01
JP2005250582A (ja) 2005-09-15
US7370142B2 (en) 2008-05-06
US20050193058A1 (en) 2005-09-01
TW200530905A (en) 2005-09-16

Similar Documents

Publication Publication Date Title
JP4521206B2 (ja) ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
US10055133B2 (en) System and method for controlling automated page-based tier management in storage systems
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
EP2411918B1 (en) Virtualized data storage system architecture
EP1889142B1 (en) Quality of service for data storage volumes
US8554808B2 (en) File management sub-system and file migration control method in hierarchical file system
US8433848B1 (en) Analysis tool for a multi-tier storage environment
US6895483B2 (en) Method and apparatus for data relocation between storage subsystems
EP1769329B1 (en) Dynamic loading of virtual volume data in a virtual tape server
US20130097400A1 (en) Storage system and controlling methods for the same
US20130311527A1 (en) System and method for implementing a networked file system utilizing a media library
US20120096059A1 (en) Storage apparatus and file system management method
EP2306293A2 (en) Methods and apparatus for managing virtual ports and logical units on storage systems
JP2015519667A (ja) データ・マイグレーションのための方法、システム、およびコンピュータ・プログラム
JP2014525058A (ja) ストレージシステムコントローラ、ストレージシステム及びアクセス制御方法
JP2005165852A (ja) ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法
US7516133B2 (en) Method and apparatus for file replication with a common format
JP5246872B2 (ja) ストレージシステムおよびストレージ管理方法
JP4160817B2 (ja) ディスクサブシステム、計算機システム、それを管理するためのストレージ管理方法、および、管理プログラム
US11249666B2 (en) Storage control apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

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

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

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4521206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees