JP2016131037A - ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング - Google Patents
ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング Download PDFInfo
- Publication number
- JP2016131037A JP2016131037A JP2016070334A JP2016070334A JP2016131037A JP 2016131037 A JP2016131037 A JP 2016131037A JP 2016070334 A JP2016070334 A JP 2016070334A JP 2016070334 A JP2016070334 A JP 2016070334A JP 2016131037 A JP2016131037 A JP 2016131037A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- behavior
- devices
- proactive
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006399 behavior Effects 0.000 claims abstract description 91
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000013500 data storage Methods 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 46
- 230000009471 action Effects 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 14
- 239000007787 solid Substances 0.000 claims description 10
- 230000006266 hibernation Effects 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000007958 sleep Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 33
- 238000003491 array Methods 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000001747 exhibiting effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000013403 standard screening design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007727 cost benefit analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000375 direct analysis in real time Methods 0.000 description 1
- 238000012063 dual-affinity re-targeting Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
-
- 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/061—Improving I/O performance
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0653—Monitoring storage devices or systems
-
- 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
-
- 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/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】コンピュータシステムが、ネットワークを介して互いに結合されたクライアントコンピュータ及びデータストレージアレイを含む。データストレージアレイは、データ記憶のためにソリッドステートドライブ及びフラッシュメモリセルを利用する。データストレージアレイ内のストレージコントローラは、I/Oスケジューラを含む。予測時における比較的安定した応答時間を維持するために、対応するストレージデバイスの特性を使用して、ストレージデバイスへのI/O要求をスケジュールする。ストレージコントローラは、ストレージデバイスの予定外の挙動の可能性を低減するために、予定外の挙動の発生回数を低減する事前対応動作をストレージデバイス上でスケジュールするように構成される。
【選択図】図3
Description
これらのディスクは、毎分数千回転の速さで回転する。また、この回転ディスク上への磁気読み込み/書き込み装置の位置付けには、電磁アクチュエータが関与する。この装置の機械的及び電気機械的設計が、I/O特性に影響を与える。残念ながら、摩擦、摩耗、振動及び機械的不均衡によって信頼性問題が生じるとともに、HDDのI/O特性が影響を受けることがある。多くの現在のI/Oスケジューラは、HDDの入力/出力(I/O)特性を考慮するように設計されている。
まず、データストレージアレイ120a〜120bにより提供される機能のいくつかの概要について説明する。
繰り返すが、図示のように、ネットワークアーキテクチャ100は、ネットワーク180及び190を介して互いに及びデータストレージアレイ120a〜120bに相互接続されたクライアントコンピュータシステム110a〜110cを含む。ネットワーク180及び190は、無線接続、直接ローカルエリアネットワーク(LAN)接続、インターネットなどの広域ネットワーク(WAN)接続、ルータ、ストレージエリアネットワーク及びイーサネット(登録商標)などを含む様々な技術を含むことができる。ネットワーク180及び190は、1又はそれ以上のLANを含むことができ、これらは無線であってもよい。ネットワーク180及び190は、リモートダイレクトメモリアクセス(RDMA)ハードウェア及び/又はソフトウェア、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ハードウェア及び/又はソフトウェア、ルータ、リピータ、スイッチ及び/又はグリッドなどをさらに含むことができる。ネットワーク180及び190内では、ファイバチャネル、ファイバチャネルオーバーイーサネット(FCoE)及びiSCSIなどのプロトコルを使用することができる。スイッチ140は、ネットワーク180及び190の両方に関連するプロトコルを利用することができる。ネットワーク190は、伝送制御プロトコル(TCP)及びインターネットプロトコル(IP)、すなわちTCP/IPなどの、インターネット160に使用される通信プロトコルの組と整合することができる。スイッチ150は、TCP/IPスイッチとすることができる。
データストレージアレイ120a〜120bの各々は、データを記憶するためのストレージサブシステム170を含む。ストレージサブシステム170は、複数のストレージデバイス176a〜176mを含むことができる。これらのストレージデバイス176a〜176mの各々は、SSDとすることができる。コントローラ174は、受け取った読み込み/書き込み要求を処理するためのロジックを含むことができる。例えば、少なくともコントローラ174において、手短に上述したアルゴリズムを実行することができる。受け取った書き込み要求などのバッチ動作には、ランダムアクセスメモリ(RAM)172を使用することができる。様々な実施形態では、書き込み動作(又はその他の動作)をバッチ処理する際に、不揮発性ストレージ(NVRAMなど)を使用することができる。
I/Oスケジューラは、これらの特性及び状態を観察することにより、所与のデバイスが、長いI/Oレイテンシの挙動を示す状態にもうすぐ入るかもしれないと予測することができる。例えば、1つの実施形態では、I/Oスケジューラが、ストレージデバイスへの要求の応答時間に影響を与え得る内部キャッシュフラッシュがストレージデバイス内でまさに起きようとしていることを検出又は予測することができる。例えば、1つの実施形態では、一定時間にわたってアイドルのままであるストレージデバイスは、内部キャッシュをフラッシュする可能性がある。いくつかの実施形態では、所与のデバイスがアイドルであるかどうかが、デバイス外部の展望に基づくことができる。例えば、ある期間にわたってデバイスに動作がスケジュールされていない場合、このデバイスをほぼこの期間にわたってアイドルであると見なすことができる。このような実施形態では、このデバイスは、デバイス内の内部的に開始されたアクティビティに基づいて実際には稼働中の可能性がある。しかしながら、デバイスがアイドルであるかどうかを判断する際には、このような内部的に開始されたアクティビティは考慮されない。他の実施形態では、デバイスがアイドル中であるか、それとも稼働中であるか判断する際に、デバイスの内部的に開始されたアクティビティを考慮することができる。スケジューラは、デバイスの挙動を観察すること、及びこのデバイスが所与の時間にわたってアイドルであったと気付くことにより、いつ内部キャッシュフラッシュが発生し得るかを予測することができる。他の実施形態では、スケジューラが、デバイスの様々な状況又は状態を判断するためにデバイスにポーリングする能力を有することもできる。いずれにせよ、スケジューラは、予定外の挙動が発生するのを防ぐために、内部キャッシュフラッシュなどの予定外の挙動の可能性を判断して、事前対応動作を開始するように構成することができる。このようにして、スケジューラは、デバイス及びシステム内のイベントのタイミングを制御し、より良好に動作をスケジュールすることができる。
例えば、1つの実施形態では、このような状態の検出が、一定数のレイテンシの長いI/O要求、又は対応するデータの量が蓄積されて所与の閾値に達したことを検出することを含むことができる。或いは、受け取ったレイテンシの長い要求の割合が何らかの閾値に達することもある。数多くのこのような状態が可能であり、企図される。1つの実施形態では、このレイテンシの長い要求を、書き込み要求とすることができる。このような状態が生じた(条件付きブロック408)場合、ブロック410において、I/Oスケジューラは、所与のストレージデバイスにレイテンシの長いI/O要求を発行し始めることができる。このような発行される要求の数は、所与のアルゴリズムによって異なることがある。
この数は、一定の又はプログラム可能な書き込み数又はデータ量に対応することもできる。或いは、一定期間にわたって書き込みを発行することもできる。例えば、この期間は、特定の状態が存在しなくなる(例えば、受け取った書き込みの割合が下がる)まで、又は特定の状態が生じるまで継続することができる。或いは、デバイスに対するレイテンシの長い要求の発行をいつ開始すべきか、又はいつ停止すべきかを判断する際に、上記のいずれかの組み合わせを使用することができる。いくつかの実施形態では、書き込み要求ストリーム後の第1の読み込み要求が、他の読み込み要求と比較して相対的に遅いことがある。書き込み要求ストリームの直後に発行スロット内に「本物」の読み込み要求をスケジュールすることを避けるために、I/Oスケジューラを、書き込み要求ストリーム後に自動的に「ダミー」の読み込みをスケジュールするように構成することができる。この文脈では、「本物」の読み込みとは、ユーザ又はアプリケーションがデータが要求する読み込みのことであり、「ダミー」の読み込みとは、データを単純に破棄できる人工的に創出された読み込みのことである。様々な実施形態では、ダミーの読み込みが完了したものとして検出されるまで、書き込み要求が完了したと判断されない場合がある。また、様々な実施形態では、書き込みストリームの後にキャッシュフラッシュが続き、これを使用して書き込みがいつ完了したかを判断することができる。
スケジューリングロジック620は、対応するストレージデバイスにどの要求を発行すべきかを判断するとともに、要求を発行するタイミングを判断することができる。
当業者には、数多くのこのような優先順位付けスキーム及び技術が知られている。全てのこのような方法が企図されており、本明細書で説明するシステム及び方法に関連して使用することができる。
従って、再構成読み込みを開始することができる。このようなアクションは、(例えば)一定レベルの読み込みサービスパフォーマンスを維持するために行うことができる。なお、再構成読み込みを開始すべきかどうか判断する際には、現在の負荷、受け取られている要求のタイプ、要求の優先度、システム内の他のデバイスの状態、並びに図7及び図8で説明したような様々な特性などの他の要素を同様に考慮することができる。さらに、最初の読み込みの応答レイテンシが比較的長いという理由で再構成読み込みを開始することができるが、最初の読み込み要求は実際に完了することが予想される。実際には、最初の読み込み及び再構成読み込みがいずれも正常に完了して結果を提供することができる。従って、再構成読み込みは、最初の要求が処理されるようにするために必要なものではない。
このことは、トランザクションが正常に完了しない(又はその可能性がある)ことを示すレイテンシ及び何らかのエラー表示を検出することなどの、エラー状態に起因するレイテンシとは対照的である。例えば、所与のストレージの場所を読み込めないことに起因するデバイスタイムアウトは、完了することが予想されない応答を表す。このような場合、要求を処理するために再構成読み込みが必要となり得る。従って、様々な実施形態では、システムが、所与のデバイスの少なくとも2つのタイムアウト状態を効果的に含むことができる。第1のタイムアウトは、それ以降、必ずしも必要でなくても再構成読み込みを開始できるようになる期間に対応する。このようにして、再構成読み込みを、非エラーに関連するスケジューリングプロセスの通常部分としてスケジューリングアルゴリズムに組み込むことができる。第1のタイムアウト後に発生する第2のタイムアウトは、それ以降、エラー状態が発生したと考えられる期間を表す。この場合、エラーを示すデバイスが最初の読み込みを処理しないと予想されることを理由として再構成読み込みを開始することもできる。
302:1又はそれ以上のストレージデバイスの読み込み及び書き込み動作をスケジュール。
304:1又はそれ以上のストレージデバイスの挙動及びこのデバイスへのI/O要求をモニタ。
306:I/Oパフォーマンスに影響を与え得るデバイスの挙動を検出?
308:所与のデバイス上で事前対応的アクションをスケジュール。
310:予想外の時点における所与のデバイスの可変的挙動を検出?
312:所与のデバイス上で反応的アクションをスケジュール。
Claims (26)
- データを記憶するように構成された複数のストレージデバイス;および
データストレージコントローラを含み、
前記データストレージコントローラは:
特定のストレージデバイスが特定の動作状態であることを決定し、
特定のストレージデバイスが特定の動作状態である時間の長さを決定し、
前記特定の動作状態および前記特定のストレージデバイス前記動作状態である前記時間の長さに基づき、前記複数のストレージデバイスの1つの特定のストレージデバイスが相対的に長い応答レイテンシまたは相対的に低いスループットを含む予定外の挙動を示す時を予測し、
前記予測に基づいて、予定外の挙動の発生の可能性を削減するために1又はそれ以上の事前対応動作をスケジュールするよう、
構成されることを特徴とするコンピュータシステム。 - 前記ストレージコントローラは、前記特定のストレージデバイスに関連する最近のI/O要求の履歴に少なくとも部分的に基づいて1又はそれ以上の事前対応動作をスケジュールするように構成されることを特徴とする請求項1に記載のコンピュータシステム。
- 前記複数のデバイスのうちの1又はそれ以上は前記事前対応動作を示し、前記事前対応動作は前記複数のデバイスのうちの1又はそれ以上が相対的に長い応答レイテンシを示す状態に入るようにする、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記複数のストレージデバイスは、ソリッドステートストレージデバイスであり、前記事前対応動作は、キャッシュフラッシュ動作、セキュアな消去動作、トリム動作、スリープ動作、休止動作、パワーオン及びオフ動作、及びリセット動作のうちの1又はそれ以上を含む、
ことを特徴とする請求項3に記載のコンピュータシステム。 - 前記1又はそれ以上の事前対応動作は、ユーザ開始要求に対応しないことを特徴とする請求項1に記載のコンピュータシステム。
- 前記事前対応動作は、前記複数のデバイスのうちのあるデバイスを既知の状態に入れるように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージデバイスは、少なくとも1つのRAIDグループを含み、前記ストレージコントローラは、前記RAIDグループ内の前記複数のデバイスのうちのN個を超えないデバイスが、スケジュールされた長いレイテンシ動作を常に行っているように相対的に長いレイテンシ動作をスケジュールするように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 所与の時点に前記デバイスのうちのN個を超えるデバイスが使用中である決定に応答して、前記ストレージコントローラは、前記デバイスの少なくとも1つの長いレイテンシ動作の実行を休止するよう構成されることを特徴とする請求項7に記載のコンピュータシステム。
- 前記コントローラは、
前記複数のデバイスのうちの所与のデバイスが予定外の挙動を示していることを検出し、
前記所与のデバイスによる前記予定外の挙動の前記発生を検出したことに応答して、1又はそれ以上の反応的動作をスケジュールする、
ようにさらに構成され、前記1又はそれ以上の反応的動作は、前記所与のデバイスを既知の状態に入れるように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記コントローラは、
前記複数のストレージデバイスのうちの所与のストレージデバイスの状態をモニタし、
事前対応動作がない場合に予定外の挙動が行われる可能性があると予測したことに応答して、前記所与のストレージデバイスの前記事前対応動作をスケジュールする、
ように構成されることを特徴とする請求項1に記載のコンピュータシステム。 - 前記コントローラは、前記1又はそれ以上の事前対応動作を不定期にスケジュールするように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記ストレージコントローラは、長いレイテンシ動作がスケジュールされていたことを検出したことに応答して、所与のストレージデバイス上で前記長いレイテンシ動作に後続して1又はそれ以上の事前対応動作をスケジュールするように構成される、
ことを特徴とする請求項1に記載のコンピュータシステム。 - コンピューティングシステムで使用するための方法であって、前記方法は:
複数のストレージデバイスのうちの特定のストレージデバイスが特定の動作状態であることを決定し、
特定のストレージデバイスが特定の動作状態である時間の長さことを決定し、
前記特定の動作状態および前記特定のストレージデバイスが前記動作状態である前記時間の長さに基づき、前記複数のストレージデバイスのうちの1つの特定のストレージデバイスが相対的に長い応答レイテンシまたは相対的に低いスループットを含む予定外の挙動を示す時を予測し、
前記予測に基づいて、予定外の挙動の発生の可能性を削減するために1又はそれ以上の事前対応動作をスケジュールするステップ
を含む方法。 - 前記特定のストレージデバイスに関連する最近のI/O要求の履歴に少なくとも部分的に基づいて1又はそれ以上の事前対応動作をスケジュールするステップをさらに含む、
ことを特徴とする請求項13に記載の方法。 - 前記1またはそれ以上のデバイスは、現在前記予定外の挙動を現在示さないことを特徴とする請求項13に記載の方法。
- 前記複数のストレージデバイスは、ソリッドステートストレージデバイスであり、前記事前対応動作は、キャッシュフラッシュ動作、セキュアな消去動作、トリム動作、スリープ動作、パワーオン及びオフ動作、休止動作、及びリセット動作のうちの1又はそれ以上を含む、
ことを特徴とする請求項15に記載の方法。 - 前記1又はそれ以上の事前対応動作はユーザの開始要求に対応しないことを特徴とする請求項13に記載の方法。
- 前記事前対応動作は、前記複数のデバイスのうちのあるデバイスを既知の状態に入れるように構成される、
ことを特徴とする請求項17に記載の方法。 - 前記ストレージデバイスは、少なくとも1つのRAIDグループを含み、前記方法は、前記RAIDグループ内の前記複数のデバイスのうちのN個を超えないデバイスが、スケジュールされた長いレイテンシ動作を常に行っているように相対的に長いレイテンシ動作をスケジュールするステップをさらに含む、
ことを特徴とする請求項13に記載の方法。 - 所与の時点に前記デバイスのうちのN個を超えるデバイスが使用中である時に、前記方法は、前記デバイスの少なくとも1つにおけるレイテンシの長い動作の実行を中止するステップを含むことを特徴とする請求項19に記載の方法。
- 前記複数のデバイスのうちの所与のデバイスが予定外の挙動を示していることを検出するステップと、
前記所与のデバイスによる前記予定外の挙動の前記発生を検出したことに応答して、1又はそれ以上の反応的動作をスケジュールするステップと、
をさらに含み、前記1又はそれ以上の反応的動作は、前記所与のデバイスを既知の状態に入れるように構成される、
ことを特徴とする請求項13に記載の方法。 - 前記複数のストレージデバイスのうちの所与のストレージデバイスの状態をモニタするステップと、
事前対応動作がない場合に予定外の挙動が行われる可能性があると予測したことに応答して、前記所与のストレージデバイスの前記事前対応動作をスケジュールするステップと、
をさらに含むことを特徴とする請求項13に記載の方法。 - 前記1又はそれ以上の事前対応動作を不定期にスケジュールするステップをさらに含む、
ことを特徴とする請求項13に記載の方法。 - プログラム命令を含む持続性コンピュータ可読記憶媒体であって、前記プログラム命令は、処理デバイスによる実行時に、
複数のストレージデバイスのうちの特定のストレージデバイスが特定の動作状態であることを決定し、
特定のストレージデバイスが特定の動作状態である時間の長さことを決定し、
前記特定の動作状態および前記特定のストレージデバイスが前記動作状態である前記時間の長さに基づき、前記複数のストレージデバイスの1つの特定のストレージデバイスが相対的に長い応答レイテンシまたは相対的に低いスループットを含む予定外の挙動を示す時を予測し、
前記予測に基づいて、予定外の挙動の発生の可能性を削減するために1又はそれ以上の事前対応動作をスケジュールする、
ように動作可能であることを特徴とするコンピュータ可読記憶媒体。 - 前記1又はそれ以上の事前対応動作はユーザの開始要求に対応しないことを特徴とする請求項24に記載のコンピュータ可読記憶媒体
- 前記プログラム命令は、前記特定のストレージデバイスに関連する最近のI/O要求の履歴に少なくとも部分的に基づいて1又はそれ以上の事前対応動作をスケジュールするようにさらに動作可能である、
ことを特徴とする請求項25に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/882,854 | 2010-09-15 | ||
US12/882,854 US8589655B2 (en) | 2010-09-15 | 2010-09-15 | Scheduling of I/O in an SSD environment |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529309A Division JP5912120B2 (ja) | 2010-09-15 | 2011-09-14 | ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016131037A true JP2016131037A (ja) | 2016-07-21 |
JP6356720B2 JP6356720B2 (ja) | 2018-07-11 |
Family
ID=44759767
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529309A Active JP5912120B2 (ja) | 2010-09-15 | 2011-09-14 | ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング |
JP2016070334A Active JP6356720B2 (ja) | 2010-09-15 | 2016-03-31 | ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529309A Active JP5912120B2 (ja) | 2010-09-15 | 2011-09-14 | ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング |
Country Status (6)
Country | Link |
---|---|
US (5) | US8589655B2 (ja) |
EP (3) | EP4443306A2 (ja) |
JP (2) | JP5912120B2 (ja) |
KR (1) | KR101905645B1 (ja) |
CN (1) | CN103348314B (ja) |
WO (1) | WO2012037293A1 (ja) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353774B2 (en) * | 2015-10-30 | 2019-07-16 | International Business Machines Corporation | Utilizing storage unit latency data in a dispersed storage network |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
WO2012108040A1 (ja) * | 2011-02-10 | 2012-08-16 | 富士通株式会社 | ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム |
US9131265B2 (en) * | 2011-05-19 | 2015-09-08 | Maxlinear, Inc. | Method and system for providing satellite television service to a premises |
JP2012252558A (ja) * | 2011-06-03 | 2012-12-20 | Sony Corp | 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム |
US9286079B1 (en) * | 2011-06-30 | 2016-03-15 | Western Digital Technologies, Inc. | Cache optimization of a data storage device based on progress of boot commands |
US8856415B2 (en) * | 2012-02-01 | 2014-10-07 | National Instruments Corporation | Bus arbitration for a real-time computer system |
CN102662608B (zh) * | 2012-03-30 | 2015-11-25 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
WO2013145029A1 (en) * | 2012-03-30 | 2013-10-03 | Hitachi, Ltd. | Data storage system and control method therefor |
US9032177B2 (en) * | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
US9514041B2 (en) * | 2013-03-08 | 2016-12-06 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US10536565B2 (en) * | 2013-03-14 | 2020-01-14 | International Business Machines Corporation | Efficient centralized stream initiation and retry control |
US8775687B1 (en) | 2013-04-15 | 2014-07-08 | Lsi Corporation | Method to ensure data coherency in a scalable aggregate neighbor-device interface |
US9423978B2 (en) | 2013-05-08 | 2016-08-23 | Nexgen Storage, Inc. | Journal management |
US9280463B2 (en) | 2013-07-25 | 2016-03-08 | Globalfoundries Inc. | Semiconductor memory garbage collection |
JP2015111334A (ja) * | 2013-12-06 | 2015-06-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
US9798493B2 (en) | 2013-12-16 | 2017-10-24 | International Business Machines Corporation | Firmware bypass for medium-access commands |
JP2015138272A (ja) * | 2014-01-20 | 2015-07-30 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
US10235053B1 (en) * | 2014-03-31 | 2019-03-19 | Emc Corporation | Method and system for using host driver for flexible allocation fast-sideways data movements |
US9354971B2 (en) * | 2014-04-23 | 2016-05-31 | Facebook, Inc. | Systems and methods for data storage remediation |
US9081828B1 (en) | 2014-04-30 | 2015-07-14 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
US8935567B1 (en) * | 2014-04-30 | 2015-01-13 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
USRE48835E1 (en) | 2014-04-30 | 2021-11-30 | Rubrik, Inc. | Network addressable storage controller with storage drive profile comparison |
KR101652324B1 (ko) * | 2014-06-13 | 2016-08-31 | 고려대학교 산학협력단 | 요구 성능 보장 방법 및 요구 성능 보장 장치 |
US9917790B2 (en) | 2014-07-31 | 2018-03-13 | Microsoft Technology Licensing, Llc | Storage device access mediation |
CN104216836B (zh) * | 2014-08-28 | 2018-01-23 | 华为技术有限公司 | 一种存储系统的并行读写方法和装置 |
US10318420B2 (en) | 2014-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
US9921750B2 (en) | 2014-11-20 | 2018-03-20 | Samsung Electronics Co., Ltd. | Solid state drive (SSD) memory cache occupancy prediction |
US9519429B2 (en) * | 2014-12-09 | 2016-12-13 | Intel Corporation | Techniques to manage multiple sequential write streams to a solid state drive |
US10108339B2 (en) * | 2014-12-17 | 2018-10-23 | Intel Corporation | Reduction of intermingling of input and output operations in solid state drives |
US9116833B1 (en) | 2014-12-18 | 2015-08-25 | Igneous Systems, Inc. | Efficiency for erasure encoding |
KR102301937B1 (ko) | 2014-12-22 | 2021-09-15 | 삼성전자주식회사 | 가상 머신 환경에서의 입출력 방법 |
US10156994B2 (en) | 2015-02-27 | 2018-12-18 | Western Digital Technologies, Inc. | Methods and systems to reduce SSD IO latency |
US10073714B2 (en) | 2015-03-11 | 2018-09-11 | Western Digital Technologies, Inc. | Task queues |
US9361046B1 (en) | 2015-05-11 | 2016-06-07 | Igneous Systems, Inc. | Wireless data storage chassis |
US10289327B2 (en) * | 2015-06-05 | 2019-05-14 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
KR102519663B1 (ko) | 2015-07-31 | 2023-04-07 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 시스템 및 그것의 동작 방법 |
CN105511806B (zh) * | 2015-11-30 | 2018-09-07 | 华为技术有限公司 | 处理写请求的方法和移动终端 |
US9792051B2 (en) * | 2016-02-24 | 2017-10-17 | Samsung Electronics Co., Ltd. | System and method of application aware efficient IO scheduler |
US10592171B2 (en) | 2016-03-16 | 2020-03-17 | Samsung Electronics Co., Ltd. | Multi-stream SSD QoS management |
JP2018022397A (ja) * | 2016-08-04 | 2018-02-08 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
JP2018041154A (ja) * | 2016-09-05 | 2018-03-15 | 東芝メモリ株式会社 | ストレージシステムおよび処理方法 |
CN106484536B (zh) * | 2016-09-30 | 2020-04-03 | 杭州朗和科技有限公司 | 一种io调度方法、装置和设备 |
US10198205B1 (en) * | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US10524022B2 (en) | 2017-05-02 | 2019-12-31 | Seagate Technology Llc | Data storage system with adaptive data path routing |
CN111433754B (zh) | 2017-09-30 | 2024-03-29 | 美光科技公司 | 先占式闲置时间读取扫描 |
US11023166B2 (en) * | 2018-08-08 | 2021-06-01 | Micron Technology, Inc. | Quality of service control for read operations in memory systems |
US12056401B2 (en) | 2019-03-28 | 2024-08-06 | Nutanix, Inc. | Machine learning for local caching of remote data in a clustered computing environment |
US11422942B2 (en) | 2019-04-02 | 2022-08-23 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
KR20200137181A (ko) | 2019-05-29 | 2020-12-09 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵정보를 전송하는 장치 |
KR20210004322A (ko) | 2019-07-04 | 2021-01-13 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵정보 및 리드카운트를 전송하는 장치 및 방법 |
KR20200139433A (ko) | 2019-06-04 | 2020-12-14 | 에스케이하이닉스 주식회사 | 컨트롤러의 동작 방법 및 메모리 시스템 |
KR102666123B1 (ko) | 2019-07-05 | 2024-05-16 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR20200123684A (ko) | 2019-04-22 | 2020-10-30 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
US11137914B2 (en) | 2019-05-07 | 2021-10-05 | Western Digital Technologies, Inc. | Non-volatile storage system with hybrid command |
TWI719654B (zh) * | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
US11614890B2 (en) * | 2019-07-30 | 2023-03-28 | Micron Technology, Inc. | Handling of host-initiated requests in memory sub-systems |
EP3842952B1 (en) | 2019-12-23 | 2023-05-10 | Samsung Electronics Co., Ltd. | Storage controller managing completion timing, and operating method thereof |
KR20210080761A (ko) | 2019-12-23 | 2021-07-01 | 삼성전자주식회사 | 컴플리션 타이밍을 관리하는 스토리지 컨트롤러, 및 이의 동작 방법 |
US11243694B2 (en) | 2020-01-29 | 2022-02-08 | Samsung Electronics Co., Ltd. | Grouping key value object IOs to improve IO performance for key-value storage devices |
US11972361B2 (en) | 2020-01-29 | 2024-04-30 | Samsung Electronics Co., Ltd. | Performance optimization of object grouping schema in a network key-value storage device using adaptive regression |
LU101681B1 (en) * | 2020-03-16 | 2021-09-16 | Microsoft Technology Licensing Llc | Maintenance mode for storage nodes |
WO2022164490A1 (en) * | 2021-01-27 | 2022-08-04 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US11650753B2 (en) | 2021-07-27 | 2023-05-16 | Beijing Tenafe Electronic Technology Co., Ltd. | Firmware-controlled and table-based conditioning for synchronous handling of exception cases |
US11860788B2 (en) | 2021-09-08 | 2024-01-02 | Red Hat, Inc. | Prefetching data in a distributed storage system |
US20240069807A1 (en) * | 2022-08-31 | 2024-02-29 | Micron Technology, Inc. | Managing command completion notification pacing in a memory sub-system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0944314A (ja) * | 1995-07-21 | 1997-02-14 | Internatl Business Mach Corp <Ibm> | ディスク駆動制御方法及び装置 |
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
JPH09160729A (ja) * | 1995-12-12 | 1997-06-20 | Fujitsu Ltd | ディスクアレイ装置 |
JPH09244931A (ja) * | 1996-03-06 | 1997-09-19 | Mitsubishi Electric Corp | リアルタイムファイルシステム |
JP2004102539A (ja) * | 2002-09-06 | 2004-04-02 | Hitachi Communication Technologies Ltd | 記憶装置 |
US20070171562A1 (en) * | 2006-01-25 | 2007-07-26 | Fujitsu Limited | Disk array apparatus and disk-array control method |
JP2008251056A (ja) * | 1998-04-27 | 2008-10-16 | Oki Electric Ind Co Ltd | 半導体記憶装置及び半導体記憶装置の書き換え制御方法 |
Family Cites Families (169)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208813A (en) | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5403639A (en) | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
DE9310582U1 (de) | 1993-07-15 | 1993-09-23 | Paul Hettich GmbH & Co, 32278 Kirchlengern | Rasteinrichtung fuer schubkaesten o.dgl. |
JPH08249133A (ja) * | 1994-12-15 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | ディスク・ドライブ・アレイの故障対策の方法及びシステム |
US6412045B1 (en) * | 1995-05-23 | 2002-06-25 | Lsi Logic Corporation | Method for transferring data from a host computer to a storage media using selectable caching strategies |
US6018778A (en) | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
JPH103357A (ja) * | 1996-06-18 | 1998-01-06 | Nippon Telegr & Teleph Corp <Ntt> | ビデオサーバ |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US5940838A (en) | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system and method anticipating cache usage patterns |
US6038639A (en) | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
US6041366A (en) | 1998-02-02 | 2000-03-21 | International Business Machines Corporation | System and method for dynamic specification of input/output attributes |
US6157963A (en) | 1998-03-24 | 2000-12-05 | Lsi Logic Corp. | System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients |
US6301640B2 (en) | 1998-07-02 | 2001-10-09 | Lucent Technologies, Inc. | System and method for modeling and optimizing I/O throughput of multiple disks on a bus |
US6799283B1 (en) | 1998-12-04 | 2004-09-28 | Matsushita Electric Industrial Co., Ltd. | Disk array device |
JP2000181803A (ja) | 1998-12-18 | 2000-06-30 | Fujitsu Ltd | 鍵管理機能付電子データ保管装置および電子データ保管方法 |
US6292856B1 (en) | 1999-01-29 | 2001-09-18 | International Business Machines Corporation | System and method for application influence of I/O service order post I/O request |
US6321345B1 (en) | 1999-03-01 | 2001-11-20 | Seachange Systems, Inc. | Slow response in redundant arrays of inexpensive disks |
US6834298B1 (en) | 1999-09-21 | 2004-12-21 | Siemens Information And Communication Networks, Inc. | System and method for network auto-discovery and configuration |
US6804755B2 (en) | 2000-06-19 | 2004-10-12 | Storage Technology Corporation | Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme |
US6912537B2 (en) | 2000-06-20 | 2005-06-28 | Storage Technology Corporation | Dynamically changeable virtual mapping scheme |
JP2002108573A (ja) | 2000-09-28 | 2002-04-12 | Nec Corp | ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体 |
US6871011B1 (en) | 2000-09-28 | 2005-03-22 | Matsushita Electric Industrial Co., Ltd. | Providing quality of service for disks I/O sub-system with simultaneous deadlines and priority |
US6757769B1 (en) | 2000-11-28 | 2004-06-29 | Emc Corporation | Cooperative lock override procedure |
US6718448B1 (en) | 2000-11-28 | 2004-04-06 | Emc Corporation | Queued locking of a shared resource using multimodal lock types |
US20020065833A1 (en) * | 2000-11-30 | 2002-05-30 | Emc Corporation | System and method for evaluating changes in performance arising from reallocation of files among disk storage units |
JP2002182859A (ja) | 2000-12-12 | 2002-06-28 | Hitachi Ltd | ストレージシステムおよびその利用方法 |
US6850938B1 (en) | 2001-02-08 | 2005-02-01 | Cisco Technology, Inc. | Method and apparatus providing optimistic locking of shared computer resources |
EP1370950B1 (en) | 2001-02-13 | 2017-12-27 | NetApp, Inc. | System and method for policy based storage provisioning and management |
US6950966B2 (en) | 2001-07-17 | 2005-09-27 | Seachange International, Inc. | Data transmission from raid services |
US6986015B2 (en) | 2001-12-10 | 2006-01-10 | Incipient, Inc. | Fast path caching |
US6973549B1 (en) | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks in a raid system |
US7260628B2 (en) | 2002-09-06 | 2007-08-21 | Hitachi, Ltd. | Event notification in storage networks |
US7216164B1 (en) | 2002-10-09 | 2007-05-08 | Cisco Technology, Inc. | Methods and apparatus for determining the performance of a server |
US7028218B2 (en) | 2002-12-02 | 2006-04-11 | Emc Corporation | Redundant multi-processor and logical processor configuration for a file server |
US6922754B2 (en) | 2002-12-09 | 2005-07-26 | Infabric Technologies, Inc. | Data-aware data flow manager |
US20070162954A1 (en) | 2003-04-07 | 2007-07-12 | Pela Peter L | Network security system based on physical location |
US7424498B1 (en) | 2003-06-30 | 2008-09-09 | Data Domain, Inc. | Probabilistic summary data structure based encoding for garbage collection |
US7865485B2 (en) | 2003-09-23 | 2011-01-04 | Emc Corporation | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US7647327B2 (en) * | 2003-09-24 | 2010-01-12 | Hewlett-Packard Development Company, L.P. | Method and system for implementing storage strategies of a file autonomously of a user |
US7127545B1 (en) | 2003-11-19 | 2006-10-24 | Veritas Operating Corporation | System and method for dynamically loadable storage device I/O policy modules |
JP4426262B2 (ja) | 2003-11-26 | 2010-03-03 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の障害回避方法 |
US8560747B1 (en) | 2007-02-16 | 2013-10-15 | Vmware, Inc. | Associating heartbeat data with access to shared resources of a computer system |
JP4456909B2 (ja) | 2004-03-29 | 2010-04-28 | 株式会社日立製作所 | バックアップ方法、ストレージシステム及びそのプログラム |
JP2005293774A (ja) | 2004-04-02 | 2005-10-20 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の制御方法 |
US7424482B2 (en) | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
US20060074940A1 (en) | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | Dynamic management of node clusters to enable data sharing |
US7631023B1 (en) | 2004-11-24 | 2009-12-08 | Symantec Operating Corporation | Performance-adjusted data allocation in a multi-device file system |
US7363444B2 (en) | 2005-01-10 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Method for taking snapshots of data |
JP2006285889A (ja) | 2005-04-05 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
US7913300B1 (en) | 2005-04-08 | 2011-03-22 | Netapp, Inc. | Centralized role-based access control for storage servers |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US8364845B2 (en) | 2005-05-19 | 2013-01-29 | Wyse Technology Inc. | Method and system for thin client configuration |
WO2006123416A1 (ja) | 2005-05-19 | 2006-11-23 | Fujitsu Limited | ディスク故障復旧方法及びディスクアレイ装置 |
US7933936B2 (en) | 2005-06-10 | 2011-04-26 | Network Appliance, Inc. | Method and system for automatic management of storage space |
US7979613B2 (en) | 2005-07-15 | 2011-07-12 | International Business Machines Corporation | Performance of a storage system |
JP2007087036A (ja) | 2005-09-21 | 2007-04-05 | Hitachi Ltd | スナップショット維持装置及び方法 |
JP4662548B2 (ja) | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | スナップショット管理装置及び方法並びにストレージシステム |
US20070079074A1 (en) * | 2005-09-30 | 2007-04-05 | Collier Josh D | Tracking cache coherency in an extended multiple processor environment |
US7496796B2 (en) * | 2006-01-23 | 2009-02-24 | International Business Machines Corporation | Apparatus, system, and method for predicting storage device failure |
JP4927408B2 (ja) | 2006-01-25 | 2012-05-09 | 株式会社日立製作所 | 記憶システム及びそのデータ復元方法 |
US7743197B2 (en) | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
JP2007233903A (ja) | 2006-03-03 | 2007-09-13 | Hitachi Ltd | 記憶制御装置及び記憶制御装置のデータ回復方法 |
US8832247B2 (en) | 2006-03-24 | 2014-09-09 | Blue Coat Systems, Inc. | Methods and systems for caching content at multiple levels |
US7987438B2 (en) | 2006-08-10 | 2011-07-26 | International Business Machines Corporation | Structure for initializing expansion adapters installed in a computer system having similar expansion adapters |
US7555599B2 (en) | 2006-09-06 | 2009-06-30 | International Business Machines Corporation | System and method of mirrored RAID array write management |
US7475215B2 (en) | 2006-09-08 | 2009-01-06 | Lsi Corporation | Identification of uncommitted memory blocks during an initialization procedure |
WO2008065695A1 (fr) | 2006-11-27 | 2008-06-05 | Fujitsu Limited | Programme de gestion de serveur, programme de gestion de serveur de messagerie, système de gestion de serveur et procédé de gestion de serveur |
US8694712B2 (en) | 2006-12-05 | 2014-04-08 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US20080155191A1 (en) | 2006-12-21 | 2008-06-26 | Anderson Robert J | Systems and methods for providing heterogeneous storage systems |
US7937531B2 (en) * | 2007-02-01 | 2011-05-03 | Cisco Technology, Inc. | Regularly occurring write back scheme for cache soft error reduction |
US8370562B2 (en) | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US9632870B2 (en) | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
JP4529990B2 (ja) | 2007-03-30 | 2010-08-25 | ブラザー工業株式会社 | 画像処理プログラム及び画像処理装置 |
JP4900811B2 (ja) | 2007-03-30 | 2012-03-21 | 株式会社日立製作所 | 記憶システムおよび記憶制御方法 |
US7958303B2 (en) | 2007-04-27 | 2011-06-07 | Gary Stephen Shuster | Flexible data storage system |
US8086652B1 (en) | 2007-04-27 | 2011-12-27 | Netapp, Inc. | Storage system-based hole punching for reclaiming unused space from a data container |
EP2154815A4 (en) | 2007-05-30 | 2012-11-14 | Fujitsu Ltd | IMAGE ENCRYPTION DEVICE, IMAGE KEYING DEVICE, METHOD AND PROGRAM |
US7765426B2 (en) | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
US8874854B2 (en) | 2007-07-30 | 2014-10-28 | International Business Machines Corporation | Method for selectively enabling and disabling read caching in a storage subsystem |
US7877558B2 (en) | 2007-08-13 | 2011-01-25 | Advanced Micro Devices, Inc. | Memory controller prioritization scheme |
JP5292813B2 (ja) * | 2008-01-07 | 2013-09-18 | 日本電気株式会社 | ストレージ装置と方法とプログラム |
US7877380B2 (en) | 2008-02-25 | 2011-01-25 | Yahoo! Inc. | System for query scheduling to maximize work sharing |
US8473779B2 (en) | 2008-02-29 | 2013-06-25 | Assurance Software And Hardware Solutions, Llc | Systems and methods for error correction and detection, isolation, and recovery of faults in a fail-in-place storage array |
US7970994B2 (en) | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
US8352540B2 (en) | 2008-03-06 | 2013-01-08 | International Business Machines Corporation | Distinguishing data streams to enhance data storage efficiency |
US7870345B2 (en) * | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US7873619B1 (en) | 2008-03-31 | 2011-01-18 | Emc Corporation | Managing metadata |
US7788541B2 (en) | 2008-04-15 | 2010-08-31 | Dot Hill Systems Corporation | Apparatus and method for identifying disk drives with unreported data corruption |
US8621241B1 (en) | 2008-04-25 | 2013-12-31 | Netapp, Inc. | Storage and recovery of cryptographic key identifiers |
US8117464B1 (en) | 2008-04-30 | 2012-02-14 | Netapp, Inc. | Sub-volume level security for deduplicated data |
US9678879B2 (en) | 2008-05-29 | 2017-06-13 | Red Hat, Inc. | Set partitioning for encoding file system allocation metadata |
KR101474344B1 (ko) * | 2008-07-11 | 2014-12-18 | 시게이트 테크놀로지 엘엘씨 | 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템 |
US8392791B2 (en) | 2008-08-08 | 2013-03-05 | George Saliba | Unified data protection and data de-duplication in a storage system |
US8046551B1 (en) | 2008-08-14 | 2011-10-25 | Emc Corporation | Techniques for processing I/O requests |
US8296547B2 (en) | 2008-08-27 | 2012-10-23 | International Business Machines Corporation | Loading entries into a TLB in hardware via indirect TLB entries |
US20100057673A1 (en) | 2008-09-04 | 2010-03-04 | Boris Savov | Reusable mapping rules for data to data transformation |
US20100077205A1 (en) | 2008-09-19 | 2010-03-25 | Ekstrom Joseph J | System and Method for Cipher E-Mail Protection |
US8756369B2 (en) | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
JP4399021B1 (ja) | 2008-10-29 | 2010-01-13 | 株式会社東芝 | ディスクアレイ制御装置および記憶装置 |
US7945733B2 (en) | 2008-12-12 | 2011-05-17 | Lsi Corporation | Hierarchical storage management (HSM) for redundant array of independent disks (RAID) |
US8200922B2 (en) | 2008-12-17 | 2012-06-12 | Netapp, Inc. | Storage system snapshot assisted by SSD technology |
WO2010071655A1 (en) | 2008-12-19 | 2010-06-24 | Hewlett-Packard Development Company, L.P. | Redundant data storage for uniform read latency |
US8312204B2 (en) | 2009-01-23 | 2012-11-13 | Seagate Technology Llc | System and method for wear leveling in a data storage device |
JP4869368B2 (ja) | 2009-03-12 | 2012-02-08 | 株式会社東芝 | ストレージ装置及び仮想化装置 |
US7941584B2 (en) | 2009-03-26 | 2011-05-10 | Arm Limited | Data processing apparatus and method for performing hazard detection |
US8560787B2 (en) | 2009-03-30 | 2013-10-15 | International Business Machines Corporation | Incremental backup of source to target storage volume |
US8205065B2 (en) | 2009-03-30 | 2012-06-19 | Exar Corporation | System and method for data deduplication |
TWI397009B (zh) | 2009-04-30 | 2013-05-21 | Inventec Corp | 基本輸入輸出系統的資料處理裝置 |
US8180955B2 (en) | 2009-05-06 | 2012-05-15 | Via Telecom, Inc. | Computing systems and methods for managing flash memory device |
EP2299363B1 (fr) | 2009-09-21 | 2013-01-09 | STMicroelectronics (Rousset) SAS | Procédé de nivellement de l'usure dans une mémoire non volatile |
US8510569B2 (en) | 2009-12-16 | 2013-08-13 | Intel Corporation | Providing integrity verification and attestation in a hidden execution environment |
US9134918B2 (en) | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
US8452932B2 (en) | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US9059851B2 (en) | 2010-02-23 | 2015-06-16 | Salesforce.Com, Inc. | Method and computer program product for order preserving symbol based encryption |
US8281182B2 (en) * | 2010-03-12 | 2012-10-02 | Cleversafe, Inc. | Dispersed storage unit selection |
JP4892072B2 (ja) | 2010-03-24 | 2012-03-07 | 株式会社東芝 | ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法 |
US8738970B2 (en) | 2010-07-23 | 2014-05-27 | Salesforce.Com, Inc. | Generating performance alerts |
US8713268B2 (en) | 2010-08-05 | 2014-04-29 | Ut-Battelle, Llc | Coordinated garbage collection for raid array of solid state disks |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O 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 |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US20120117029A1 (en) | 2010-11-08 | 2012-05-10 | Stephen Gold | Backup policies for using different storage tiers |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8595267B2 (en) | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
US8751463B1 (en) | 2011-06-30 | 2014-06-10 | Emc Corporation | Capacity forecasting for a deduplicating storage system |
US8527544B1 (en) | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
US8788788B2 (en) | 2011-08-11 | 2014-07-22 | Pure Storage, Inc. | Logical sector mapping in a flash storage array |
US8806160B2 (en) | 2011-08-16 | 2014-08-12 | Pure Storage, Inc. | Mapping in a storage system |
US8793467B2 (en) | 2011-09-30 | 2014-07-29 | Pure Storage, Inc. | Variable length encoding in a storage system |
JP5768587B2 (ja) | 2011-08-17 | 2015-08-26 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US8700875B1 (en) | 2011-09-20 | 2014-04-15 | Netapp, Inc. | Cluster view for storage devices |
WO2013051129A1 (ja) | 2011-10-06 | 2013-04-11 | 株式会社 日立製作所 | 格納データの重複排除方法、格納データの重複排除装置、及び重複排除プログラム |
US8825605B2 (en) | 2011-10-11 | 2014-09-02 | Netapp, Inc. | Deduplication aware scheduling of requests to access data blocks |
US8918579B2 (en) | 2012-02-06 | 2014-12-23 | Sandisk Technologies Inc. | Storage device and method for selective data compression |
US9519647B2 (en) | 2012-04-17 | 2016-12-13 | Sandisk Technologies Llc | Data expiry in a non-volatile device |
US9075710B2 (en) | 2012-04-17 | 2015-07-07 | SanDisk Technologies, Inc. | Non-volatile key-value store |
US8996881B2 (en) | 2012-04-23 | 2015-03-31 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by encryption |
US8793466B2 (en) | 2012-04-27 | 2014-07-29 | Netapp, Inc. | Efficient data object storage and retrieval |
US9645177B2 (en) | 2012-05-04 | 2017-05-09 | Seagate Technology Llc | Retention-drift-history-based non-volatile memory read threshold optimization |
US8874850B1 (en) | 2012-05-10 | 2014-10-28 | Netapp, Inc. | Hierarchically tagged cache |
US20130318314A1 (en) | 2012-05-25 | 2013-11-28 | Red Hat, Inc. | Managing copies of data on multiple nodes using a data controller node to avoid transaction deadlock |
KR20150021117A (ko) | 2012-06-18 | 2015-02-27 | 액티피오 인크. | 강화형 데이터 관리 가상화 시스템 |
US8959305B1 (en) | 2012-06-29 | 2015-02-17 | Emc Corporation | Space reclamation with virtually provisioned devices |
US9489293B2 (en) | 2012-08-17 | 2016-11-08 | Netapp, Inc. | Techniques for opportunistic data storage |
US9154298B2 (en) | 2012-08-31 | 2015-10-06 | Cleversafe, Inc. | Securely storing data in a dispersed storage network |
JP5954081B2 (ja) | 2012-09-26 | 2016-07-20 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
US9176858B2 (en) | 2012-11-19 | 2015-11-03 | Hitachi, Ltd. | Storage system configured to selectively utilize data compression based on real pool usage rates |
US9348840B2 (en) | 2012-12-14 | 2016-05-24 | Intel Corporation | Adaptive data striping and replication across multiple storage clouds for high availability and performance |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9335932B2 (en) | 2013-03-15 | 2016-05-10 | Bracket Computing, Inc. | Storage unit selection for virtualized storage units |
US9519575B2 (en) | 2013-04-25 | 2016-12-13 | Sandisk Technologies Llc | Conditional iteration for a non-volatile device |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
JP6233086B2 (ja) | 2014-02-20 | 2017-11-22 | 富士通株式会社 | ストレージ制御装置,ストレージシステム及び制御プログラム |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9361469B2 (en) | 2014-03-26 | 2016-06-07 | Amazon Technologies, Inc. | Electronic communication with secure screen sharing of sensitive information |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US9563509B2 (en) | 2014-07-15 | 2017-02-07 | Nimble Storage, Inc. | Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
-
2010
- 2010-09-15 US US12/882,854 patent/US8589655B2/en active Active
-
2011
- 2011-09-14 EP EP24193735.8A patent/EP4443306A2/en active Pending
- 2011-09-14 KR KR1020137009549A patent/KR101905645B1/ko active IP Right Grant
- 2011-09-14 JP JP2013529309A patent/JP5912120B2/ja active Active
- 2011-09-14 WO PCT/US2011/051654 patent/WO2012037293A1/en active Application Filing
- 2011-09-14 CN CN201180053028.6A patent/CN103348314B/zh active Active
- 2011-09-14 EP EP11764901.2A patent/EP2616921B1/en active Active
- 2011-09-14 EP EP19162381.8A patent/EP3572922A1/en active Pending
-
2013
- 2013-11-18 US US14/083,163 patent/US9298376B2/en active Active
-
2016
- 2016-01-19 US US15/000,602 patent/US9569116B1/en active Active
- 2016-03-31 JP JP2016070334A patent/JP6356720B2/ja active Active
-
2017
- 2017-01-30 US US15/418,944 patent/US10126982B1/en active Active
-
2018
- 2018-09-26 US US16/142,690 patent/US10353630B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
JPH0944314A (ja) * | 1995-07-21 | 1997-02-14 | Internatl Business Mach Corp <Ibm> | ディスク駆動制御方法及び装置 |
US5797022A (en) * | 1995-07-21 | 1998-08-18 | International Business Machines Corporation | Disk control method and apparatus |
JPH09160729A (ja) * | 1995-12-12 | 1997-06-20 | Fujitsu Ltd | ディスクアレイ装置 |
JPH09244931A (ja) * | 1996-03-06 | 1997-09-19 | Mitsubishi Electric Corp | リアルタイムファイルシステム |
JP2008251056A (ja) * | 1998-04-27 | 2008-10-16 | Oki Electric Ind Co Ltd | 半導体記憶装置及び半導体記憶装置の書き換え制御方法 |
JP2004102539A (ja) * | 2002-09-06 | 2004-04-02 | Hitachi Communication Technologies Ltd | 記憶装置 |
US20070171562A1 (en) * | 2006-01-25 | 2007-07-26 | Fujitsu Limited | Disk array apparatus and disk-array control method |
JP2007199953A (ja) * | 2006-01-25 | 2007-08-09 | Fujitsu Ltd | ディスクアレイ装置およびディスクアレイ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US10126982B1 (en) | 2018-11-13 |
KR20130116253A (ko) | 2013-10-23 |
US9569116B1 (en) | 2017-02-14 |
CN103348314B (zh) | 2016-01-27 |
JP6356720B2 (ja) | 2018-07-11 |
US20140075105A1 (en) | 2014-03-13 |
US20120066447A1 (en) | 2012-03-15 |
EP4443306A2 (en) | 2024-10-09 |
EP2616921B1 (en) | 2019-03-13 |
EP3572922A1 (en) | 2019-11-27 |
JP5912120B2 (ja) | 2016-04-27 |
KR101905645B1 (ko) | 2018-10-10 |
CN103348314A (zh) | 2013-10-09 |
EP2616921A1 (en) | 2013-07-24 |
US9298376B2 (en) | 2016-03-29 |
US10353630B1 (en) | 2019-07-16 |
US8589655B2 (en) | 2013-11-19 |
WO2012037293A1 (en) | 2012-03-22 |
JP2013542494A (ja) | 2013-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6356720B2 (ja) | ソリッドステートドライブ(ssd)環境におけるi/oのスケジューリング | |
JP6337042B2 (ja) | ストレージ環境における再構成i/o読み込み動作のスケジューリング | |
JP6298098B2 (ja) | ストレージ環境におけるi/o書き込みのスケジューリング | |
US10228865B1 (en) | Maintaining a target number of storage devices for variable I/O response times in a storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170515 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20171114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180314 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180508 |
|
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: 20180605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6356720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |