[go: up one dir, main page]

JP4399021B1 - ディスクアレイ制御装置および記憶装置 - Google Patents

ディスクアレイ制御装置および記憶装置 Download PDF

Info

Publication number
JP4399021B1
JP4399021B1 JP2008278646A JP2008278646A JP4399021B1 JP 4399021 B1 JP4399021 B1 JP 4399021B1 JP 2008278646 A JP2008278646 A JP 2008278646A JP 2008278646 A JP2008278646 A JP 2008278646A JP 4399021 B1 JP4399021 B1 JP 4399021B1
Authority
JP
Japan
Prior art keywords
command
drive
register
host
log
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
JP2008278646A
Other languages
English (en)
Other versions
JP2010108174A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008278646A priority Critical patent/JP4399021B1/ja
Priority to US12/485,686 priority patent/US20100106905A1/en
Application granted granted Critical
Publication of JP4399021B1 publication Critical patent/JP4399021B1/ja
Publication of JP2010108174A publication Critical patent/JP2010108174A/ja
Priority to US13/157,011 priority patent/US8433882B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】オペレーティングシステムが動作している状態であっても各ドライブの保守に関する処理を実行することができるディスクアレイ制御装置を実現する。
【解決手段】RAIDコントローラ201内の制御モジュール400は、ホスト11から送信されるコマンドを受信する。そして、制御モジュール400は、受信したコマンドがドライブの保守に使用される所定のコマンドであるか否かを判定する。受信したコマンドが所定のコマンドである場合、制御モジュール400は、受信したコマンドを、ホスト11によってパススルー制御レジスタ300に設定されたアクセス対象ドライブ番号によって指定されるドライブ210に送出するパススルー処理を実行する。
【選択図】 図1

Description

本発明は複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置、および同ディスクアレイ制御装置を備えた記憶装置に関する。
近年、サーバ、パーソナルコンピュータといった情報処理装置においては、RAIDのようなディスクアレイ制御システムが使用されている。
ディスクアレイ制御システムは、ハードディスクドライブのような複数のドライブを一つの論理ドライブとして扱うシステムである。ディスクアレイ制御システムにおいては、データはデータブロック単位で複数のドライブに分散してライトされる。したがって、データのライトおよびリードそれぞれの性能の向上を図ることができる。
特許文献1には、複数のディスクドライブから構成されるアレイディスクを制御するディスクアレイコントローラが開示されている。このディスクアレイコントローラは、各ディスクドライブのファームウェアをアップデートできるようにするために、複数のディスクドライブをアレイディスクとして使用するか、単体のディスクドライブとして使用するかを指定するフラグが格納される記憶部を備えている。ディスクアレイコントローラは、上述のフラグが“1”の場合は、複数のディスクドライブをアレイ制御するための処理を実行する。一方、上述のフラグが“0”の場合には、ディスクアレイコントローラは、システム装置が各ディスクドライブを単体のディスクドライブとしてアクセスすることを可能にする。
特開2007−188372号公報
しかし、特許文献1のディスクアレイコントローラにおいては、上述のフラグが“0”の場合には、アレイ制御のための処理は一切行われず、データリード/ライトコマンドを含む、システムからの全てのコマンドが、あるディスクドライブに直接送られる。したがって、複数のディスクドライブがアレイ制御されているシステム稼働中に、もしフラグを“0”に設定すると、アレイディスク上に構築されたデータ構造が破壊されてしまう可能性がある。よって、システム稼働中にファームウェアのアップデートを行うことは実際上困難である。
したがって、オペレーティングシステムが動作している状態であっても各ドライブの保守に関する処理を実行することができる新たな機能の実現が必要である。
本発明は上述の事情を考慮してなされたものであり、オペレーティングシステムが動作している状態であっても個々のドライブの保守に関する処理を実行することができるディスクアレイ制御装置および記憶装置を提供することを目的とする。
上述の課題を解決するため、本発明の一観点によれば、複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とするディスクアレイ制御装置が提供される。
また、本発明の別の観点によれば、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とする記憶装置が提供される。
さらに本発明のまた別の観点によれば、情報処理装置本体と、前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、前記情報処理装置本体によって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記情報処理装置本体から受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを含む記憶装置とを具備することを特徴とする情報処理装置が提供される。
本発明によれば、オペレーティングシステムが動作している状態であっても個々のドライブの保守に関する処理を実行することができる。
以下、図面を参照して、本発明の実施形態を説明する。
まず、図1を参照して、本発明の一実施形態に係る記憶装置の構成例を説明する。この記憶装置は、例えば、ATA規格に準拠したストレージデバイスとして実現されている。このストレージデバイス12は、サーバ、パーソナルコンピュータといった情報処理装置1の外部記憶装置として機能するドライブ装置である。情報処理装置1の情報処理装置本体内には、ホスト11とストレージデバイス12とが設けられる。ホスト11は情報処理装置1のコアユニットであり、各種プログラムを実行するCPU、およびメモリ等から構成される。ストレージデバイス12は、シリアルATAのようなATAインタフェースを介してホスト11に接続される。
ストレージデバイス12は、RAIDコントローラ201と、複数のドライブ210ととから構成されている。RAIDコントローラ201は、複数のドライブ210を一つの論理ドライブとして扱うためのディスクアレイコントローラである。本実施形態では、RAIDコントローラ201と、n台のドライブ210とがストレージデバイス12の筐体内に設けられている。ここでnは2以上の整数である。
RAIDコントローラ201は、ホスト11とn台のドライブ210との間に介在している。RAIDコントローラ201は、ホスト側ATAインタフェース101と、n個のドライブ側ATAインタフェース111とを有している。RAIDコントローラ201はホスト側ATAインタフェース101を介してホスト11に接続されている。また、RAIDコントローラ201のn個のドライブ側ATAインタフェース111には、n台のドライブ210がそれぞれ接続されている。
各ドライブ210は、ATA規格に準拠したドライブであるATAデバイスとして機能する。各ドライブ210は、例えば、ハードディスクドライブ(HDD)、またはソリッドステートドライブ(SSD)から構成されている。SSDは、MAND型フラッシュメモリのような不揮発性半導体メモリにデータを格納する半導体ディスクドライブである。
RAIDコントローラ201は、n台のドライブ210をホスト11に一つのドライブとして見せるためのコントローラである。RAIDコントローラ201およびn台のドライブ210内に内蔵されているので、ストレージデバイス12は、ホスト11からは一つのATAデバイスとしてアクセスされる。RAIDコントローラ201はデータのリードおよびライト性能の向上を図るために、データをn台のドライブ210に跨って分散する。RAIDコントローラ201には、RAID0、RAID3、RAID5のような様々なRAIDレベルを適用可能である。本実施形態では、RAIDコントローラ201が、例えばRAID0に対応するディススクアレイコントローラとして実現されている場合を想定する。
RAIDコントローラ201は、RAIDコントローラ201配下のn台のドライブ210を個々にホスト11から直接的にアクセスできるようにするためのコマンドパススルー制御機能を有している。このコマンドパススルー制御機能は、例えば、ドライブの保守に関するホスト11からの所定のコマンドのみをn台のドライブ210内の任意のドライブに直接的に送出する(パススルー)ことができる。このコマンドパススルー制御機能を実現するために、RAIDコントローラ201はパススルー制御レジスタ300を備えている。パススルー制御レジスタ300は、ホスト11がATA規格で規定されたコマンドを用いてアクセス可能なレジスタである。パススルー制御レジスタ300は、例えば、ホスト11によって指定されるアクセス対象ドライブ番号を保持するために使用される。
RAIDコントローラ201内の制御モジュール400は、RAIDコントローラ201の動作を制御するプロセッサである。制御モジュール400は、図2のフローチャートに示されているように、ホスト11から送信されるコマンドを受信する(ステップS11)。そして、制御モジュール400は、受信したコマンドがドライブの保守に使用される所定のコマンドであるか否かを判定する(ステップS12)。受信したコマンドが所定のコマンドである場合、制御モジュール400は、受信したコマンドを、ホスト11によってパススルー制御レジスタ300に設定されたアクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する(ステップS13)。例えば、ドライブ番号0を指定するアクセス対象ドライブ番号がパススルー制御レジスタ300にセットされている状態で、ホスト11が上述の所定のコマンドをストレージデバイス12に送信したならば、RAIDコントローラ201の制御モジュール400は、ホスト11から受信したコマンドを、ドライブ番号0に対応するドライブ(ATAドライブ0)に送出する。一方、受信したコマンドが所定のコマンドではない場合、例えば、受信したコマンドがデータリード/ライトコマンドであるならば、制御モジュール400は、n台のドライブ210に跨ったデータのリード/ライトを実行するためのRAID制御処理を実行する(ステップS14)。
上述の所定のコマンドとしては、ダウンロードマイクロコードコマンド(DOWNLOAD MICROCODE コマンド)を使用することができる。DOWNLOAD MICROCODE コマンドは、ホスト11がドライブのマイクロコード(ファームウェア)を変更するために使用するATAコマンドである。
また、上述の所定のコマンドとして、スマートコマンド(SMARTコマンド)を使用することもできる。SMARTコマンドは、ドライブ210内に格納されるログページ構造(SMART情報)をリードまたはライトするためのATAコマンドである。
このように、本実施形態のコマンドパススルー制御機能は、ホスト11からのコマンドの内、DOWNLOAD MICROCODEコマンド、SMARTコマンドのような、ある限られた所定のコマンドに対応する動作にしか影響を与えない。よって、ホスト11上でオペレーティングシステムが実行されている期間中においても、コマンドパススルー制御機能を利用することが出来る。つまり、オペレーティングシステムが動作している状態であっても、n台のドライブ210に跨って記録されたデータ構造に影響を与えることなく、各ドライブの保守に関する処理(マイクロコードの変更、ログデータのリード/ライト、等)を実行することができる。
さらに、本実施形態のコマンドパススルー制御機能は、ホスト11からの全ての種類のコマンドを、パススルー制御レジスタ300に設定されたアクセス対象ドライブ番号によって指定されるドライブに送出するパススルーモードも有している。このパススルーモードは、例えば、ストレージデバイス12の出荷時などにおいて、各ドライブ210の動作を評価するために使用することが出来る。
パススルー制御レジスタ300は、ドライブ選択レジスタ301、パススルーモード(PTM)レジスタ302、およびページ選択レジスタ303を含んでいる。これらドライブ選択レジスタ301、パススルーモード(PTM)レジスタ302、およびページ選択レジスタ303に対するアクセスには、セルアテストの結果等の各種ログ情報を格納するためのログページ構造(SMARTログページ構造)に割り当てられたログアドレス範囲内に属する、ベンダー固有の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンド(第1の所定のログアドレスに対するSMART WRITE LOGコマンド、または第1の所定のログアドレスに対するWRITE LOG EXTコマンド)を使用し得る。すなわち、各ドライブに格納されるログページ構造には、図3に示すように、ログアドレス範囲(00h〜FFh)が割り当てられており、ログページ構造は256ページから構成されている。ログアドレス範囲(00h〜FFh)の内、A0h〜BFhはベンダー固有(VENDOR SPECIFIC)のアドレス群(ページ群)である。VENDOR SPECIFICのアドレスは、ストレージデバイス12の製造元(ベンダー)の固有の目的のために予約されたアドレスである。本実施形態では、例えば、ログアドレスA0h(ページA0hとも云う)に対するスマートライトコマンドがパススルー制御レジスタ300のアクセスに使用される。
パススルー制御レジスタ300に対するアクセスはベンダー固有コマンド(VENDOR SPECIFICコマンド)を用いても実現し得る。しかし、ホスト11によって実行されるドライバソフトウェアやホスト11内のブリッジによっては、コマンドプロトコルが定義されていないベンダー固有コマンドをサポートしていないものがある。本実施形態では、プロトコルが定義されているスマートコマンドをパススルー制御レジスタ300に対するアクセスに使用しているため、高い互換性を得ることができる。
ドライブ選択レジスタ301はホスト11によって指定されるアクセス対象ドライブ番号を保持するためのレジスタである。パススルーモード(PTM)レジスタ302は、ホスト11によって指定される動作モードを保持するレジスタである。動作モードには、ホスト11からの全ての種類のコマンドを、アクセス対象ドライブ番号によって指定されるドライブに送出するための上述のパススルーモードがある。さらに、動作モードには、ログページモード、およびスマートリードデータ(SMART READ DATA)モードがある。
ログページモードは、ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第2の所定のログアドレスに対するスマートコマンド(第2の所定のログアドレスに対するSMART READ LOGコマンド、または第2の所定のログアドレスに対するSMART WRITE LOGコマンド)を用いて、ログページ構造(SMART情報)をリード/ライトするためのモードである。この場合、ログページ構造内のアクセス対象のページ(ログアドレス)は、ページ選択レジスタ303に保持されているアクセス対象ログアドレスによって指定される。第2の所定のログアドレスとしては、例えば、ログアドレスA1h(ページA1hとも云う)が使用される。つまり、ページA1hは、ログページ構造をアクセスするためのウィンドウとして使用される。
SMART READ DATAモードは、ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第2の所定のログアドレスに対するスマートコマンド(第2の所定のログアドレスに対するSMART READ LOGコマンド、または第2の所定のログアドレスに対するSMART WRITE LOGコマンド)を用いて、上述のログページ構造とは別のスマート情報であるスマートデータ構造をリードするためのモードである。SMART READ DATAモードにおいては、ページ選択レジスタ303は使用されず、スマートデータ構造全体がホスト11にリターンされる。
図4は、ページA0hに割り当てられたパススルー制御レジスタ300の構成例を示している。
ページA0hに対応する512バイトのデータ記憶領域の内、バイト0に対応するデータ記憶領域はドライブ選択レジスタ301として使用される。バイト0のbit7=0は、RAIDコントローラ201を示し、bit7=1は、ATAドライブを示す。バイト0のbit6−0は、アクセス対象ドライブ番号(アクセス対象ATAドライブ番号)を示す。bit7=1の時、bit6−0によって指定されるドライブ210がアクセス対象となる。
ページA0hに対応する512バイトのデータ領域の内、バイト1のデータ領域はページ選択レジスタ303として使用される。バイト2の1バイトデータの値は、アクセス対象ログアドレス(アクセス対象ログページ)を示す。
ページA0hに対応する512バイトのデータ領域の内、バイト2のデータ領域はPTMレジスタ302として使用される。バイト2の1バイトデータ=00hは、ログページモードを示す。バイト2の1バイトデータ=01hは、SMART READ DATAモードを示す。バイト2の1バイトデータ=FFhは、パススルーモードを示す。
制御モジュール400は、ホスト11から受信したコマンドが、ログページA0hに対するログデータのライトを指定するスマートコマンドである場合、アクセス対象ドライブ番号、アクセス対象ログアドレス、または動作モード(ログページモード、SMART READ DATAモード、パススルーモード)をパススルー制御レジスタ300にセットするために、ホスト11からのデータ(512バイトのログデータ)をパススルー制御レジスタ300にライトする。
パススルーモード以外の動作モードにおいては、DOWNLOAD MICROCODEコマンドと、ログページA1hに対するスマートコマンドがドライブ210にパススルーされる所定のコマンドとなる。
このように、本実施形態のRAIDコントローラ201は、DOWNLOAD MICROCODEコマンド(以下DLMCコマンドと称する)による直接アクセス、SMARTコマンドによる直接アクセス、および、パススルーモードによる直接アクセスの3種類の直接アクセス方式を提供することができる。
RAIDコントローラ201にはドライブ選択レジスタ301、ページ選択レジスタ303、パススルーモードレジスタ(PTMレジスタ)302が設けられており、これらレジスタの値の組み合わせでRAIDコントローラ201の動作を変えることができる。
パススルー制御レジスタ300(ドライブ選択レジスタ301、ページ選択レジスタ303、およびPTMレジスタ302)は、電源投入時、および、ソフトウェアリセットでクリアされる。パススルー制御レジスタ300のデフォルト値はオール零である。
パススルー制御レジスタ300の値は、ホスト11からのページA0hに対するSMART WRITE LOGコマンド、またはホスト11からのページA0hに対するWRITE LOG EXTコマンドで変更できる。
以下、RAIDコントローラ201によって実行されるパススルー制御動作を具体的に説明する。
<DLMCコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図5に示すように、ドライブ選択レジスタ301の値に応じて、DLMCコマンドに対するパススルー制御動作が変わる。
PTMレジスタ302がFFh以外の場合において、ドライブ選択レジスタ301のbit7が0のときは、DLMCコマンドのパススルー先(アクセス先)はRAIDコントローラ201自身となる。つまり、RAIDコントローラ201のマイクロコードの変更が行われる。ドライブ選択レジスタ301のbit7が1のときは、DLMCコマンドのパススルー先は、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。例えば、bit6−0が示すATAドライブ番号がkならば、ドライブ番号kのドライブにDLMCコマンドがパススルーされる。
PTMレジスタ302がFFhの場合においては、ドライブ選択レジスタ301のbit7の値は使用されず、ホスト11かせの全てのコマンドが、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。
<スマートコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図6に示すように、ページA1hに対するスマートコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。一方、ページA1h以外のページに対するスマートコマンドのパススルー先(アクセス先)はRAIDコントローラ201自身となる。
スマートコマンドには、ログページ構造内のあるページのログをリード/ライトアクセスするためのコマンド(SMART READ LOGコマンド,SMART WRITE LOGコマンド,READ LOG EXTコマンド,WRITE LOG EXTコマンド)と、スマートデータ構造をリードするためのコマンド(SMART READ DATAコマンド)とがある。本実施形態では、ログページ構造またはスマートデータ構造のどちらをアクセスする場合であっても、ホスト11は、ページA1hに対するスマートコマンドを使用する。
まず、ログページに対するアクセスについて説明する。
PTMレジスタ302が00hのときは、ホスト11は、ページA1hを通して、ATAドライブのLogページにアクセスすることができる。ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するSMART WRITE LOGコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブの、ページ選択レジスタ303が示すページ番号へのSMART READ/WRITE LOGコマンドとしてパススルーされる。例えば、ドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであり、ページ選択レジスタ303が示すページ番号がjであれば、ページ番号jに対するSMART READ LOGコマンドまたはページ番号jに対するSMART WRITE LOGコマンドが、ドライブ番号kのドライブに送信される。
ページA1hに対するREAD LOG EXTコマンドまたはページA1hに対するWRITE LOG EXTコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブの、ページ選択レジスタ303が示すページ番号へのREAD/WRITE LOG EXTコマンドとしてパススルーされる。例えば、ドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであり、ページ選択レジスタ303が示すページ番号がjであれば、ページ番号jに対するREAD LOG EXTコマンドまたはページ番号jに対するWRITE LOG EXTコマンドが、ドライブ番号kのドライブに送信される。
次に、スマートデータに対するアクセスについて説明する。
PTMレジスタが01hのときは、ホスト11は、ページA1hを通して、ATAドライブのSMART READ DATAにアクセスすることができる。
ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブへのSMART READ DATAコマンドとしてパススルーされる。つまり、ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドはRAIDコントローラ201によってSMART READ DATAコマンドに変換される。もしドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであれば、SMART READ DATAコマンドは、ドライブ番号kのドライブに送信される。
<パススルーモードにおけるパススルー制御>
PTMレジスタ302がFFhのとき、すべてのコマンドはドライブ選択レジスタのbit6−0が示すATAドライブにパススルーされる。
パススルーモードの解除には、ソフトウェアリセットが使用される。動作モードが一旦パススルーモードに設定された後は、ページA0hに対するスマートコマンドを含む全てのコマンドがパススルーされてしまうため、ホスト11からのコマンドによってパススルー制御レジスタ300の内容を更新することができないからである。
次に、図7のフローチャートを参照して、制御モジュール400によって実行されるパススルー制御レジスタ300に対するアクセス処理について説明する。
制御モジュール400は、ホスト11から送信されるコマンドを受信する(ステップS21)。制御モジュール400は、受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであるか否かを判定する(ステップS22)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであれば、制御モジュール400は、パススルー制御レジスタ300をライトアクセスして、ホスト11からのログデータをパススルー制御レジスタ300にライトする(ステップS23)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドではないならば、制御モジュール400は、他の処理(コマンド処理)を実行する(ステップS24)。
次に、図8のフローチャートを参照して、制御モジュール400によって実行されるDLMCコマンドに対するパススルー制御処理について説明する。
制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS31)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS32)。
一方、PTMレジスタ302の値がFFh以外であるならば、制御モジュール400は、ホスト11からコマンドを受信する度に、その受信したコマンドがDLMCコマンドであるか否かを判定する(ステップS33,S34)。受信したコマンドがDLMCコマンドであるならば、制御モジュール400は、受信したコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS35)。一方、受信したコマンドがDLMCコマンド以外のコマンドであるならば、制御モジュール400は、他の処理を実行する(ステップS36)。
次に、図9のフローチャートを参照して、制御モジュール400によって実行されるスマートコマンドに対するパススルー制御処理について説明する。
制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS41)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS42)。
一方、PTMレジスタ302の値がFFh以外であるならば、制御モジュール400は、ホスト11からコマンドを受信する度に、その受信したコマンドがページA1hに対するスマートコマンド(ページA1hに対するSMART READ LOGコマンド、ページA1hに対するSMART WRITE LOGコマンド、ページA1hに対するREAD LOG EXTコマンド、またはページA1hに対するWRITE LOG EXTコマンド)であるか否かを判定する(ステップS44,S45)。
受信したコマンドがページA1hに対するスマートコマンドであるならば、制御モジュール400は、ログページ構造又はスマートデータ構造をアクセスするためのスマートコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS47−S49)。具体的には、ステップS47−S49においては、例えば、制御モジュール400は、動作モードがログページモードまたはSMART READ DATAモードのいずれであるかを判定する(ステップS47)。動作モードがログページモードであるならば、制御モジュール400は、ページ選択レジスタ303が示すページ番号jに対するスマートコマンド(ページjに対するSMART READ LOGコマンド、ページjに対するSMART WRITE LOGコマンド、ページjに対するREAD LOG EXTコマンド、またはページjに対するWRITE LOG EXTコマンド)を、ドライブ選択レジスタ301のbit6−0が示すドライブ番号kのドライブに送信する(ステップS48)。動作モードがSMART DATA READモードである場合には、制御モジュール400は、ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドを、SMART READ DATAコマンドに変換する処理を実行する(ステップS49)。すなわち、受信コマンドがページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドであり、且つ動作モードがSMART DATA READモードである場合には、制御モジュール400は、SMART READ DATAコマンドを、ドライブ選択レジスタ301のbit6−0が示すドライブ番号kのドライブに送信する。
図10は、ストレージデバイス12の実装例を示している。
図10においては、ストレージデバイス12が複数のSSD、例えば2つのSSDを内蔵する半導体ディスクドライブとして実現されている場合を想定する。ストレージデバイス12は、例えば、2.5インチ型HDDと同じ外形寸法を有する筐体500を備えている。この筐体500内には、RAIDコントローラ201が実装された回路基板503と、2台のSSD210それぞれが実装される2つの回路基板501,502とが設けられている。RAIDコントローラ201は、2台のSSD210を、例えばRAIDレベル0のディスクアレイとして制御する。各SSD210の記憶容量が128GBである場合、RAIDコントローラ201は、2台のSSD210を、記憶容量が256GBの1台のSSDとして扱うことが出来る。ホスト11は、ストレージデバイス12を記憶容量が256GBの1台のSSD(ATAドライブ)として認識する。
各SSD210は、コントローラ601と、DRAM602と、複数の不揮発性半導体メモリ607から構成されている。各不揮発性半導体メモリ607は、例えば、NAND型フラッシュEEPROMから構成されている。なお、RAIDコントローラ201と2台のSSD210とを、同一の回路基板上に実装することも出来る。
図10に示すような構造のストレージデバイス12においては、各SSD210を筐体500から取り外すことは実際上困難である。本実施形態のパススルー制御機能は、DLMCコマンド、スマートコマンドといったドライブの保守に関するコマンドのみを対象にパススルー処理を実行することができるので、オペレーティングシステムが動作している状態であっても、2台のSSD210に跨って記録されたユーザデータに影響を与えることなく、また各SSD210を筐体500から取り外すことなく、任意のSSD210に対してその保守のための処理(スマート情報の収集、ファームウェアの更新)をお個なうことができる。
次に、図11を参照して、ストレージデバイス12を内蔵した情報処理装置1の構成例を説明する。
情報処理装置1は、例えば、ノートブック型のポータブルコンピュータとして実現し得る。図11は、ポータブルコンピュータとして実現された情報処理装置1の外観を示す斜視図である。
この情報処理装置1は、情報処理装置本体2と、ディスプレイユニット3とから構成されている。ディスプレイユニット3には、LCD(Liquid Crystal Display)4で構成される表示装置が組み込まれている。
ディスプレイユニット3は、情報処理装置本体2に対し、この本体2の上面が露出される開放位置と本体2の上面を覆う閉塞位置との間を回動自由に取り付けられている。本体2は薄い箱形の筐体を有しており、その上面には、電源スイッチ5、キーボード6、タッチパッド7等が配置されている。
また、本体2の前面には、LED(Light Emitting Diode)8が配置され、その右側面には、DVD(Digital Versatile Disc)の光ディスクメディアに対するデータの書き込みおよび読み出しが可能な光ディスクドライブ(ODD)9、PCカードを取り外し自在に収容するPCカードスロット10等が配置されている。そして、本情報処理装置1では、起動ドライブとして機能する外部記憶装置として、本体2の内部に、本実施形態のストレージデバイス12が収容されている。このストレージデバイス12は、例えば、図10で説明したような構造を有する半導体ディスクドライブとして実現されている。情報処理装置本体2が、上述のホスト11として機能する。
図12は、図11の情報処理装置1のシステム構成を示すブロック図である。
情報処理装置1は、図12に示すように、前述のLCD4、電源スイッチ5、キーボード6、タッチパッド7、LED8、ODD9、PCカードスロット10、およびストレージデバイス12のほかに、CPU100、ノースブリッジ102、メインメモリ103、GPU(Graphic Processing Unit)104、サウスブリッジ105、フラッシュメモリ106、EC/KBC(Embedded Controller/Keyboard Controller)107、ファン108等を備えている。
CPU100は、情報処理装置1の動作を制御するプロセッサであり、ストレージデバイス12からメインメモリ103にロードされる、オペレーティングシステムや、ユーティリティを含む各種アプリケーションプログラムを実行する。また、CPU100は、フラッシュメモリ106に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
ノースブリッジ102は、CPU100のローカルバスとサウスブリッジ105との間を接続するブリッジデバイスである。ノースブリッジ102は、バスを介してGPU104との通信を実行する機能を有しており、また、メインメモリ103をアクセス制御するメモリコントローラも内蔵されている。GPU104は、情報処理装置1の表示装置として使用されるLCD4を制御する。
サウスブリッジ105は、ストレージデバイス12、ODD9、PCカードスロット10に収容されたPCカード、フラッシュメモリ106等の各種デバイスを制御するコントローラである。
EC/KBC107は、電力管理のための組み込みコントローラと、キーボード6およびタッチパッド7を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC107は、LED8および冷却用のファン108の制御も実行する。
以上説明したように、本実施形態のコマンドパススルー制御機能によれば、以下の効果が得られる。
すなわち、一般的なRAIDシステムでは、個々のドライブに直接アクセスすることができないが、本実施形態では、フィールドにおいて、個々のドライブに対するファームウェアの更新やSMART情報の収集といった保守機能を実現することができる。この場合、本実施形態のコマンドパススルー制御機能は、パススルーモード(PTMレジスタ=FFh)以外においては、DLMCコマンド、および、ページA1hに対するSMART READ/WRITE LOGコマンド、ページA1hに対するREAD/WRITE LOG EXTコマンドの動作にしか影響を与えない。したがって、オペレーティングシステムが動作している期間中であって、個々のドライブに対するファームウェアの更新やSMART情報の収集といった保守処理を容易に実行することができる。
また、プロトコルが定義されているスマートコマンドをパススルー制御レジスタ300のアクセスのために使用しているので、様々なホストとの高い互換性を実現することができる。
また、パススルーモード(PTMレジスタ=FFh)の実装はオプションとすることもできる。
なお、本実施形態に示したページ番号や、データの並び、値の意味づけは一例であって、別の定義を行っても本発明の範疇である。
また、ストレージデバイス12は、例えば、NAS(network-attached storage)デバイスのような記憶装置として実現することもできる。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
本発明の一実施形態に係る記憶装置の構成例を示すブロック図。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行されるコマンドパススルー制御処理の手順の例を示すフローチャート。 同実施形態の記憶装置内に設けられた複数のドライブの各々に保持されるログページ構造の例を示す図。 同実施形態の記憶装置内に設けられたパススルー制御レジスタの構成例を示す図。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、ダウンロードマイクロコードコマンドに対するパススルー制御動作を説明するための図。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、スマートコマンドに対するパススルー制御動作を説明するための図。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、記憶装置内のパススルー制御レジスタに対するアクセス処理の手順の例を説明するためのフローチャート。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、ダウンロードマイクロコードコマンドに対するパススルー制御処理の手順の例を説明するためのフローチャート。 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、スマートコマンドに対するパススルー制御処理の手順の例を説明するためのフローチャート。 同実施形態の記憶装置の実装例を示す図。 同実施形態の記憶装置が収容される本体を含む情報処理装置の外観を示す斜視図。 図11に示す情報処理装置の構成を示すブロック図。
符号の説明
1…情報処理装置、11…ホスト、12…ストレージデバイス(記憶装置)、201…RSIDコントローラ、210…ドライブ、300…パススルー制御レジスタ、400…制御モジュール。

Claims (10)

  1. 複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、
    ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、
    前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とするディスクアレイ制御装置。
  2. 前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項1記載のディスクアレイ制御装置。
  3. 前記各ドライブはログページ構造を格納しており、
    前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンドである場合、前記アクセス対象ドライブ番号を前記第1のレジスタにセットするために前記ホストからのデータを前記第1レジスタにライトすることを特徴とする請求項2記載のディスクアレイ制御装置。
  4. 前記ホストによって指定されるアクセス対象ログアドレスを保持する第2レジスタをさらに具備し、
    前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内の第2の所定のログアドレスに対するログデータのリードまたはライトを指定するスマートコマンドである場合、前記第2レジスタの前記アクセス対象ログアドレスに対するログデータのリードまたはライトを指定するスマートコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出することを特徴とする請求項3記載のディスクアレイ制御装置。
  5. 前記ホストによって指定される動作モードを保持するレジスタをさらに具備し、
    前記制御手段は、前記動作モードが、前記ホストからの全ての種類のコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するためのパススルーモードを示す場合、前記ホストから受信した各コマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出することを特徴とする請求項1記載のディスクアレイ制御装置。
  6. 筐体と、
    前記筐体内に設けられた複数のドライブと、
    前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とする記憶装置。
  7. 前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項6記載の記憶装置。
  8. 前記各ドライブはログページ構造を格納しており、
    前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンドである場合、前記アクセス対象ドライブ番号を前記第1のレジスタにセットするために前記ホストからのデータを前記第1レジスタにライトすることを特徴とする請求項7記載の記憶装置。
  9. 前記各ドライブは、不揮発性メモリと、前記ディスクアレイコントローラからのコマンドに応じて、前記不揮発性メモリに対するアクセスを制御するコントローラとを含む、半導体ディスクドライブであることを特徴とする請求項6記載の記憶装置。
  10. 情報処理装置本体と、
    前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、前記情報処理装置本体によって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記情報処理装置本体から受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを含む記憶装置とを具備することを特徴とする情報処理装置。
JP2008278646A 2008-10-29 2008-10-29 ディスクアレイ制御装置および記憶装置 Expired - Fee Related JP4399021B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008278646A JP4399021B1 (ja) 2008-10-29 2008-10-29 ディスクアレイ制御装置および記憶装置
US12/485,686 US20100106905A1 (en) 2008-10-29 2009-06-16 Disk array control device and storage device
US13/157,011 US8433882B2 (en) 2008-10-29 2011-06-09 Disk array control device and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008278646A JP4399021B1 (ja) 2008-10-29 2008-10-29 ディスクアレイ制御装置および記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009243592A Division JP2010108497A (ja) 2009-10-22 2009-10-22 ディスクアレイ制御装置および記憶装置

Publications (2)

Publication Number Publication Date
JP4399021B1 true JP4399021B1 (ja) 2010-01-13
JP2010108174A JP2010108174A (ja) 2010-05-13

Family

ID=41591584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008278646A Expired - Fee Related JP4399021B1 (ja) 2008-10-29 2008-10-29 ディスクアレイ制御装置および記憶装置

Country Status (2)

Country Link
US (2) US20100106905A1 (ja)
JP (1) JP4399021B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI490866B (zh) * 2010-02-18 2015-07-01 Samsung Electronics Co Ltd 非揮發性記憶體裝置、其程式化方法以及包含該裝置與方法之記憶體系統

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4399021B1 (ja) * 2008-10-29 2010-01-13 株式会社東芝 ディスクアレイ制御装置および記憶装置
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8108737B2 (en) * 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device
US9324440B2 (en) 2010-02-09 2016-04-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691088B1 (ko) 2010-02-17 2016-12-29 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9378831B2 (en) 2010-02-09 2016-06-28 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101658479B1 (ko) 2010-02-09 2016-09-21 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8908431B2 (en) 2010-02-17 2014-12-09 Samsung Electronics Co., Ltd. Control method of nonvolatile memory device
US8923060B2 (en) 2010-02-17 2014-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory devices and operating methods thereof
JP5788183B2 (ja) * 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
US8553466B2 (en) * 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US8792282B2 (en) 2010-03-04 2014-07-29 Samsung Electronics Co., Ltd. Nonvolatile memory devices, memory systems and computing systems
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8468318B2 (en) * 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
KR101762828B1 (ko) 2011-04-05 2017-07-31 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
JP5775367B2 (ja) * 2011-06-06 2015-09-09 キヤノン株式会社 情報処理装置及びその制御方法と、ミラーリングシステム及びraid制御装置
US8984225B2 (en) 2011-06-22 2015-03-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Method to improve the performance of a read ahead cache process in a storage array
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US9063967B2 (en) 2013-01-10 2015-06-23 Pure Storage, Inc. Performing copies in a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
TW201430581A (zh) * 2013-01-22 2014-08-01 Hon Hai Prec Ind Co Ltd 筆記本電腦
US9009375B2 (en) * 2013-06-11 2015-04-14 Lsi Corporation Sharing of bypassed I/O transaction information
US9058267B2 (en) 2013-06-11 2015-06-16 Avago Technologies General IP Singapore) Pte Ltd I/O path selection
KR102242022B1 (ko) 2013-09-16 2021-04-21 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
KR102272238B1 (ko) * 2014-09-02 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US12175076B2 (en) 2014-09-08 2024-12-24 Pure Storage, Inc. Projecting capacity utilization for snapshots
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
JP2017078958A (ja) 2015-10-20 2017-04-27 株式会社東芝 半導体装置
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10613974B2 (en) 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10747437B2 (en) * 2017-05-02 2020-08-18 Quanta Computer Inc. SAS hard disk drive update via management controller
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US11100996B2 (en) 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US12135888B2 (en) 2019-07-10 2024-11-05 Pure Storage, Inc. Intelligent grouping of data based on expected lifespan
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US12153670B2 (en) 2019-11-22 2024-11-26 Pure Storage, Inc. Host-driven threat detection-based protection of storage elements within a storage system
US12050683B2 (en) * 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US12248566B2 (en) 2019-11-22 2025-03-11 Pure Storage, Inc. Snapshot deletion pattern-based determination of ransomware attack against data maintained by a storage system
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US12204657B2 (en) 2019-11-22 2025-01-21 Pure Storage, Inc. Similar block detection-based detection of a ransomware attack
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802264A (en) * 1991-11-15 1998-09-01 Fujitsu Limited Background data reconstruction in a storage device array system
JP2868141B2 (ja) * 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
EP0613151A3 (en) * 1993-02-26 1995-03-22 Tokyo Shibaura Electric Co Semiconductor memory system with flash EEPROM.
JP3681766B2 (ja) 1994-01-10 2005-08-10 富士通株式会社 ディスクアレイ装置
JP2541780B2 (ja) 1994-04-20 1996-10-09 茨城日本電気株式会社 ミラ―リング磁気ディスク装置
JP3090182B2 (ja) 1995-07-27 2000-09-18 エヌイーシーソフト株式会社 代替セクタの登録方式
JPH09274541A (ja) * 1996-04-08 1997-10-21 Canon Inc 記憶装置及び該装置の制御方法及び記憶システム及び該システムの制御方法
JP3120753B2 (ja) 1997-05-28 2000-12-25 日本電気株式会社 ディスクアレイ装置の障害復旧装置
US5887164A (en) * 1997-06-06 1999-03-23 National Instruments Corporation System and method for enabling a target computer to use storage resources of a host computer
US6065096A (en) 1997-09-30 2000-05-16 Lsi Logic Corporation Integrated single chip dual mode raid controller
JPH11184643A (ja) 1997-12-22 1999-07-09 Nec Corp ディスクアレイ装置の管理方法及びプログラムを記録した機械読み取り可能な記録媒体
JPH11306644A (ja) 1998-04-17 1999-11-05 Nec Eng Ltd ディスクアレイ装置
JP3601982B2 (ja) 1998-08-11 2004-12-15 日本電気株式会社 ディスクアレイ装置の制御方法及びディスクアレイ装置
US6772108B1 (en) * 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
JP3682256B2 (ja) * 2001-11-30 2005-08-10 株式会社東芝 ディスクアレイ装置及び同装置におけるパリティ処理方法
FI111887B (fi) * 2001-12-17 2003-09-30 Nokia Corp Menetelmä ja järjestely trelliksen läpikäymisen tehostamiseksi
US6728833B2 (en) * 2002-02-28 2004-04-27 International Business Machines Corporation Upgrading firmware on disks of the raid storage system without deactivating the server
JP2003316525A (ja) 2002-04-26 2003-11-07 Seiko Epson Corp ディスクアレイ制御装置
JP2004185477A (ja) 2002-12-05 2004-07-02 Hitachi Ltd 光記憶媒体アレイ装置およびデータ転送方法
US7167929B2 (en) 2003-01-13 2007-01-23 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays, and a storage-shelf-interface tunneling method and system
JP3960257B2 (ja) 2003-04-25 2007-08-15 セイコーエプソン株式会社 光通信モジュール、光通信装置、及びその製造方法
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
JP2005122338A (ja) 2003-10-15 2005-05-12 Hitachi Ltd スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法
US7042664B2 (en) * 2004-01-26 2006-05-09 Seagate Technology Llc Method and system for host programmable data storage device self-testing
US20050268132A1 (en) * 2004-02-19 2005-12-01 Samsung Electronics Co., Ltd. Method of controlling idle mode of hard disc drive and apparatus therefor
US7558915B2 (en) * 2005-06-06 2009-07-07 Dell Products L.P. System and method for updating the firmware of a device in a storage network
WO2007024740A2 (en) 2005-08-25 2007-03-01 Silicon Image, Inc. Smart scalable storage switch architecture
US20070067563A1 (en) * 2005-09-19 2007-03-22 Lsi Logic Corporation Updating disk drive firmware behind RAID controllers
JP2007188372A (ja) 2006-01-16 2007-07-26 Hitachi Ltd ディスクアレイコントローラ
JP2009075716A (ja) * 2007-09-19 2009-04-09 Nec Corp ディスクアレイ装置
JP4399021B1 (ja) * 2008-10-29 2010-01-13 株式会社東芝 ディスクアレイ制御装置および記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI490866B (zh) * 2010-02-18 2015-07-01 Samsung Electronics Co Ltd 非揮發性記憶體裝置、其程式化方法以及包含該裝置與方法之記憶體系統

Also Published As

Publication number Publication date
US8433882B2 (en) 2013-04-30
JP2010108174A (ja) 2010-05-13
US20100106905A1 (en) 2010-04-29
US20110238913A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP4399021B1 (ja) ディスクアレイ制御装置および記憶装置
JP5984118B2 (ja) 格納デバイスの仮想化
EP2538337B1 (en) Command resequencing in memory operations
US8135902B2 (en) Nonvolatile semiconductor memory drive, information processing apparatus and management method of storage area in nonvolatile semiconductor memory drive
US8054686B2 (en) Flash memory storage apparatus, flash memory controller, and switching method thereof
JP4510359B2 (ja) 多機能半導体記憶装置、及びホスト・コンピュータを起動させる方法
JP4327585B2 (ja) 記憶装置
JP4791286B2 (ja) ディスク装置および電子装置
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US20060069848A1 (en) Flash emulation using hard disk
US20090222615A1 (en) Information Processing Apparatus and Nonvolatile Semiconductor Memory Drive
JP2008071189A (ja) ディスクアレイ装置、raidコントローラおよびディスクアレイ装置のディスクアレイ構築方法
US20090307389A1 (en) Switchable access states for non-volatile storage devices
US20090222614A1 (en) Information processing apparatus and nonvolatile semiconductor memory drive
JP2012038212A (ja) ストレージ装置及びその制御方法
JP2010108497A (ja) ディスクアレイ制御装置および記憶装置
TWI390399B (zh) 具有虛擬儲存裝置之外接裝置
US8595417B2 (en) Memory configuring method, memory controller and memory storage apparatus
JP4875148B2 (ja) 情報処理装置および記憶メディアドライブ
CN101739216B (zh) 具有虚拟存储装置的外接装置
CN103870207B (zh) 可携式装置的虚拟光驱的光盘数据切换系统及其方法
JP2007316736A (ja) 記録制御装置及びその制御方法
JP2010152517A (ja) 不揮発性半導体メモリドライブ装置および不揮発性半導体メモリドライブ装置のアドレス管理方法
JP2010518463A (ja) 情報処理装置及び不揮発性半導体メモリドライブ
CN101782873B (zh) 具有自带保全功能的外接储存装置

Legal Events

Date Code Title Description
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: 20090929

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

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

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees