JP4399021B1 - ディスクアレイ制御装置および記憶装置 - Google Patents
ディスクアレイ制御装置および記憶装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk 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
【解決手段】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に接続される。
まず、図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以外のときは、図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自身となる。
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ドライブにパススルーされる。
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)デバイスのような記憶装置として実現することもできる。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
1…情報処理装置、11…ホスト、12…ストレージデバイス(記憶装置)、201…RSIDコントローラ、210…ドライブ、300…パススルー制御レジスタ、400…制御モジュール。
Claims (10)
- 複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、
ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、
前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とするディスクアレイ制御装置。 - 前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項1記載のディスクアレイ制御装置。
- 前記各ドライブはログページ構造を格納しており、
前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンドである場合、前記アクセス対象ドライブ番号を前記第1のレジスタにセットするために前記ホストからのデータを前記第1レジスタにライトすることを特徴とする請求項2記載のディスクアレイ制御装置。 - 前記ホストによって指定されるアクセス対象ログアドレスを保持する第2レジスタをさらに具備し、
前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内の第2の所定のログアドレスに対するログデータのリードまたはライトを指定するスマートコマンドである場合、前記第2レジスタの前記アクセス対象ログアドレスに対するログデータのリードまたはライトを指定するスマートコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出することを特徴とする請求項3記載のディスクアレイ制御装置。 - 前記ホストによって指定される動作モードを保持するレジスタをさらに具備し、
前記制御手段は、前記動作モードが、前記ホストからの全ての種類のコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するためのパススルーモードを示す場合、前記ホストから受信した各コマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出することを特徴とする請求項1記載のディスクアレイ制御装置。 - 筐体と、
前記筐体内に設けられた複数のドライブと、
前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストによって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記ホストから受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とする記憶装置。 - 前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項6記載の記憶装置。
- 前記各ドライブはログページ構造を格納しており、
前記制御手段は、前記ホストから受信したコマンドが、前記ログページ構造に割り当てられたログアドレス範囲内の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンドである場合、前記アクセス対象ドライブ番号を前記第1のレジスタにセットするために前記ホストからのデータを前記第1レジスタにライトすることを特徴とする請求項7記載の記憶装置。 - 前記各ドライブは、不揮発性メモリと、前記ディスクアレイコントローラからのコマンドに応じて、前記不揮発性メモリに対するアクセスを制御するコントローラとを含む、半導体ディスクドライブであることを特徴とする請求項6記載の記憶装置。
- 情報処理装置本体と、
前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、前記情報処理装置本体によって指定されるアクセス対象ドライブ番号を保持する第1のレジスタと、前記情報処理装置本体から受信したコマンドが前記各ドライブの保守に使用される所定のコマンドであるか否かを判定し、前記受信したコマンドが前記所定のコマンドである場合、前記受信したコマンドを、前記第1のレジスタの前記アクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する制御手段とを含む記憶装置とを具備することを特徴とする情報処理装置。
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)
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)
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)
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 | 株式会社東芝 | ディスクアレイ制御装置および記憶装置 |
-
2008
- 2008-10-29 JP JP2008278646A patent/JP4399021B1/ja not_active Expired - Fee Related
-
2009
- 2009-06-16 US US12/485,686 patent/US20100106905A1/en not_active Abandoned
-
2011
- 2011-06-09 US US13/157,011 patent/US8433882B2/en not_active Expired - Fee Related
Cited By (1)
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 |