JP5342014B2 - 複数のフラッシュパッケージを有するストレージシステム - Google Patents
複数のフラッシュパッケージを有するストレージシステム Download PDFInfo
- Publication number
- JP5342014B2 JP5342014B2 JP2011544717A JP2011544717A JP5342014B2 JP 5342014 B2 JP5342014 B2 JP 5342014B2 JP 2011544717 A JP2011544717 A JP 2011544717A JP 2011544717 A JP2011544717 A JP 2011544717A JP 5342014 B2 JP5342014 B2 JP 5342014B2
- Authority
- JP
- Japan
- Prior art keywords
- physical
- controller
- chunk
- block
- logical
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1035—Keeping track, i.e. keeping track of data and parity changes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(1)ホストが削除したファイルが格納されていた領域であって、ホストのファイルシステム内の領域;
(2)削除された論理ユニット;
(3)仮想ユニット内のいずれかの論理チャンクから解放された物理チャンク;
(4)或るドライブから別のドライブへ移動したデータが格納されていた移動元領域;
(5)特定のパターンのデータ(例えば“0”データ)が繰り返し書き込まれる領域、
が考えられる。対象領域は、前述した不要領域と同じであっても良いし、その不要領域よりも大きくても小さくても良い。対象領域は、例えば、不要領域に基づくRAIDグループのRAIDタイプを基に決定される。
(A)ホスト計算機2からのアクセス要求で指定されているアドレス;
(B)(A)のアドレスを有する論理チャンクに割り当てられた物理チャンクのRAIDグループ番号24および開始アドレス25、
を基に所定の計算を行うことで、ドライブ5に指定するアドレス(論理ブロック群におけるアドレス)を算出することができる。
(a)障害チップ43内のデータを含んだデータセット内の他のデータを記憶する、他のドライブA〜C内の良品チップ(故障の生じていないチップ)から、データを読み出す;
(b)読みだされたデータを用いたパリティ演算を行うことで、障害チップ43内のデータを復元する;
(c)復元したデータを、障害チップ43を含んだドライブD内のいずれかの良品チップに格納する、
を行う。なお、「データセット」は、RAIDグループに書き込まれるデータの単位である。例えば、RAID5であれば、複数のユーザデータとそれに基づいて生成されたパリティデータとを含んだデータである。
(方法1)データが失われた範囲をドライブ5に問い合わせ、回答された範囲について、データ復元処理を行う;
(方法2)ドライブ5全体に対してデータ復元処理を行う;
(方法3)ドライブ5の先頭から順にリードし、リードできなかった箇所について、データ復元処理を行う、
の少なくとも一つの方法に従って、フラッシュメモリデータ回復処理を行う。
全ての物理ブロックに対して処理が行われた場合(ステップ180で物理ブロックを選択できなかった場合)(ステップ181:YES)、このフラッシュメモリデータ回復処理は完了となる。まだ処理すべきブロックが残っていた場合(ステップ180で物理ブロックを選択できた場合)(ステップ181:NO)、ステップ173以降の処理が行われる。
S’=int((S+(P−1))/P)× P ・・・(1)
で求められる。ただし、int(A)は、Aを超えない最大の整数を表す。
E’=int((E+1)/P)× (P−1) ・・・(2)
で求められる。
(X)不良ドライブの消去回数が所定の閾値を超えたか否か;
(Y)不良ドライブの製造年月日から一定の期間が経過したか否か、
のうちの少なくとも一つの結果が肯定的であれば、偶発的故障ではないと判断する。
Claims (4)
- 外部装置に接続されたストレージシステムであって、
複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを構成する複数のフラッシュパッケージと、
前記複数のフラッシュパッケージに接続され前記外部装置からアクセス要求を受け付ける第1のコントローラと
を備え、
各フラッシュパッケージは、
複数の物理ブロックで構成された複数のフラッシュチップと、
前記複数のフラッシュチップに接続された第2のコントローラと
を有し、
前記第1のコントローラが、複数の論理チャンクで構成された仮想的な論理ユニットである仮想ユニットと、複数の物理チャンクとを管理し、
前記複数の物理チャンクは、前記複数のRAIDグループに基づく複数の論理的な記憶領域であり、
各物理チャンクは、いずれかのRAIDグループを構成する二以上のフラッシュパッケージに基づいており、
一つの物理チャンクには、その一つの物理チャンクの基になっているRAIDグループについての複数の論理ブロックのうちの二以上の論理ブロックが割り当てられており、
前記第1のコントローラは、どの論理チャンクにどの物理チャンクが割り当てられているかの仮想/実対応関係を管理し、
前記第2のコントローラは、どの論理ブロックにどの一以上の物理ブロックが割り当てられているかの論理/物理対応関係と、その第2のコントローラがあるフラッシュパッケージが有する空きブロックの総数であるトータル空きブロック数とを管理し、
前記第1のコントローラが受け付けたアクセス要求がライト要求の場合、前記第1のコントローラは、前記ライト要求を基に特定されるライト先の論理チャンクに物理チャンクが割り当てられているか否かを前記仮想/実対応関係を基に判断し、その判断の結果が否定的の場合、いずれかの未割当ての物理チャンクを前記ライト先の論理チャンクに割り当て、前記割り当てた物理チャンクに、前記ライト要求に付随するデータを書き込み、
前記第1のコントローラは、物理チャンクにデータを書き込む場合、その物理チャンクに従うアドレスを指定したライト指示を、そのアドレスを管理する第2のコントローラに送信し、そのライト指示を受けた第2のコントローラが、そのライト指示で指定されているアドレスを有する論理ブロックに割り当てられた物理ブロックに、そのライト指示の対象のデータを書き込み、
前記第1のコントローラは、物理チャンクからデータを読み出す場合、前記第1のコントローラは、その物理チャンクに従うアドレスを指定したリード指示を、そのアドレスを管理する第2のコントローラに送信し、そのリード指示を受けた第2のコントローラが、そのリード指示で指定されているアドレスを有する論理ブロックに割り当てられている物理ブロックを前記論理/物理対応関係を基に特定し、特定された物理ブロックからデータを読み出し、そのデータを前記第1のコントローラに送信し、
前記第2のコントローラは、或るライト指示に従う書き込みに失敗した場合、ライトエラーを前記第1のコントローラに応答し、
前記第1のコントローラは、前記或るライト指示の送信先の第2のコントローラからライトエラーを受けた場合、前記送信先の第2のコントローラに対応したフラッシュパッケージのトータル空きブロック数が所定の閾値未満か否かを判断し、その判断の結果が肯定的である場合にライトエラーハンドリング処理を実行し、
前記ライトエラーハンドリング処理において、
(H1)前記第1のコントローラが、前記或るライト指示に従うライト先領域に関わる物理チャンクを特定し;
(H2)前記第1のコントローラが、前記ライト先領域を有するフラッシュパッケージを含んだRAIDグループである第1のRAIDグループとは別の第2のRAIDグループを選択し;
(H3)前記第1のコントローラが、前記特定された物理チャンクである第1の物理チャンクからデータを読み出し、読み出したデータを、前記第2のRAIDグループが基になっている複数の物理チャンクのうちの未割当ての物理チャンクである第2の物理チャンクに書き込み;
(H4)前記第1のコントローラが、前記第1の物理チャンクの割当先の論理チャンクに対し、前記第1の物理チャンクに代えて前記第2の物理チャンクを割り当て;
(H5)前記第1のコントローラが、前記第1のRAIDグループに基づく全ての未割当ての物理チャンクを管理対象から外し、
(H6)前記第1のコントローラが、前記第1のRAIDグループを構成する各フラッシュパッケージが有する各第2のコントローラに、前記第1の物理チャンクに従うアドレスを含んだ解放指示と、管理対象から外された未割当ての物理チャンクに従うアドレスを含んだ解放指示とを送信し、解放指示を受けた第2のコントローラが、その解放指示で指定されているアドレスを有する論理ブロック部分に対応する物理ブロック部分を特定し、特定された物理ブロック部分を解放可能として管理し、解放可能として管理された物理ブロック部分を有する物理ブロックの全域が解放可能か否かを判断し、その判断の結果が肯定的の場合に、その物理ブロックを、その物理ブロックの割当先の論理ブロックから解放し、前記解放された物理ブロックを空きブロックとして管理し、
前記第1のコントローラは、未割当ての物理チャンクを管理対象から外したことに伴って物理チャンクの数に対する割当て済み物理チャンクの数の比率が所定の閾値を超えた場合、警告を発する、
ストレージシステム。 - 前記第2のコントローラは、解放する物理ブロックに対して消去処理を行い消去処理が施された物理ブロックを空きブロックとして管理するようになっており、
前記第1のコントローラは、各フラッシュパッケージのトータル消去回数を管理し、
前記トータル消去回数は、そのトータル消去回数に対応するフラッシュパッケージが有する各物理ブロックに対する消去処理回数の合計であり、
前記第2のRAIDグループは、書込み対象のデータを記憶するために必要な空きブロック数以上の空きブロックを有し、且つ、前記第1のRAIDグループ以外のRAIDグループのうちトータル消去回数が最も少ないRAIDグループである、
請求項1記載のストレージシステム。 - 前記第1のコントローラは、第1のRAIDグループ内の第1のフラッシュパッケージ内の第1のフラッシュチップに障害が発生した場合、前記第1のRAIDグループ内の、前記第1のフラッシュパッケージ以外のフラッシュパッケージからそれぞれデータを読み出し、読み出されたデータを用いて、前記第1のフラッシュチップ内のデータを復元し、復元されたデータを、前記第1のフラッシュパッケージ内の前記第1のフラッシュチップ以外のいずれかのフラッシュチップに書き込む、
請求項1又は2記載のストレージシステム。 - 前記第2のコントローラは、各物理ブロックの消去回数を管理し、
前記第2のコントローラは、解放される物理ブロックに対して消去処理を行った際に、消去処理が行われた物理ブロックの消去回数が所定の閾値を超えたか否かを判断し、その判断の結果が否定的の場合、前記消去処理が行われた物理ブロックを空きブロックとして管理し、その判断の結果が肯定的の場合、前記消去処理が行われた物理ブロックを割当て不可能な物理ブロックとして管理する、
請求項1乃至3のうちのいずれか1項に記載のストレージシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/004259 WO2011024239A1 (en) | 2009-08-31 | 2009-08-31 | Storage system having plurality of flash packages |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012523594A JP2012523594A (ja) | 2012-10-04 |
JP5342014B2 true JP5342014B2 (ja) | 2013-11-13 |
Family
ID=41800457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011544717A Expired - Fee Related JP5342014B2 (ja) | 2009-08-31 | 2009-08-31 | 複数のフラッシュパッケージを有するストレージシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8484414B2 (ja) |
JP (1) | JP5342014B2 (ja) |
WO (1) | WO2011024239A1 (ja) |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246701A1 (en) * | 2009-03-24 | 2011-10-06 | Hitachi, Ltd. | Storage apparatus and its data control method |
US8988800B1 (en) | 2009-09-15 | 2015-03-24 | Marvell International Ltd. | Error correction for storage devices |
US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
US8751740B1 (en) * | 2010-03-31 | 2014-06-10 | Emc Corporation | Systems, methods, and computer readable media for performance optimization of storage allocation to virtual logical units |
US9285993B2 (en) | 2010-08-30 | 2016-03-15 | Vmware, Inc. | Error handling methods for virtualized computer systems employing space-optimized block devices |
US9411517B2 (en) | 2010-08-30 | 2016-08-09 | Vmware, Inc. | System software interfaces for space-optimized block devices |
US8850114B2 (en) * | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US8612676B2 (en) | 2010-12-22 | 2013-12-17 | Intel Corporation | Two-level system main memory |
KR20120072228A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 플래시 메모리의 파일 시스템 |
US9009426B1 (en) * | 2010-12-30 | 2015-04-14 | Emc Corporation | Methods, computer readable media, and systems for optimizing cache utilization |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8700879B2 (en) * | 2011-08-31 | 2014-04-15 | Micron Technology, Inc. | Concurrent memory operations |
WO2013048493A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
US9069657B2 (en) * | 2011-12-12 | 2015-06-30 | Apple Inc. | LBA bitmap usage |
JP5853734B2 (ja) * | 2012-02-02 | 2016-02-09 | 富士通株式会社 | 仮想ストレージ装置,制御装置及び制御プログラム |
WO2013136362A1 (en) | 2012-03-13 | 2013-09-19 | Hitachi, Ltd. | Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory |
WO2013157032A1 (en) * | 2012-04-16 | 2013-10-24 | Hitachi, Ltd. | Storage subsystem and data management method of storage subsystem |
US8898405B2 (en) * | 2012-06-12 | 2014-11-25 | Storart Technology Co. Ltd | Method for static wear leveling in non-violate storage device |
TWI492051B (zh) * | 2012-09-05 | 2015-07-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
US10180901B2 (en) * | 2012-10-19 | 2019-01-15 | Oracle International Corporation | Apparatus, system and method for managing space in a storage device |
US9235344B2 (en) * | 2012-11-28 | 2016-01-12 | International Business Machines Corporation | Identifying redundant data for disk image streaming |
DE112013006504B4 (de) | 2013-01-25 | 2022-06-15 | Hitachi, Ltd. | Speichersystem und Datenverwaltungsverfahren |
US9514041B2 (en) | 2013-03-08 | 2016-12-06 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
JP2014211849A (ja) * | 2013-04-22 | 2014-11-13 | 富士通株式会社 | ストレージ制御装置、ストレージ装置、および制御プログラム |
JP6164003B2 (ja) * | 2013-09-25 | 2017-07-19 | 富士通株式会社 | メモリ制御装置、情報処理装置、及び情報処理装置の制御方法 |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9431052B2 (en) | 2014-06-26 | 2016-08-30 | Marvell World Trade Ltd. | Two dimensional magnetic recording systems, devices and methods |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9632702B2 (en) * | 2014-10-15 | 2017-04-25 | International Business Machines Corporation | Efficient initialization of a thinly provisioned storage array |
JP6142860B2 (ja) * | 2014-11-05 | 2017-06-07 | 日本電気株式会社 | ディスクアレイ装置、ディスク制御装置、ソリッドステートドライブ、ディスク制御方法、及びそのためのプログラム |
US10528272B2 (en) * | 2015-02-20 | 2020-01-07 | International Business Machines Corporation | RAID array systems and operations using mapping information |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
JP6453457B2 (ja) * | 2015-06-04 | 2019-01-16 | 株式会社日立製作所 | ストレージ装置 |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10275160B2 (en) | 2015-12-21 | 2019-04-30 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
JP2017219913A (ja) * | 2016-06-03 | 2017-12-14 | 富士通株式会社 | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム |
KR102573301B1 (ko) | 2016-07-15 | 2023-08-31 | 삼성전자 주식회사 | Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법 |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10200376B2 (en) | 2016-08-24 | 2019-02-05 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10176116B2 (en) | 2016-09-28 | 2019-01-08 | Intel Corporation | Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10795860B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | WAN optimized micro-service based deduplication |
US10795859B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | Micro-service based deduplication |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10936543B1 (en) * | 2017-07-21 | 2021-03-02 | EMC IP Holding Company LLC | Metadata protected sparse block set for SSD cache space management |
US10860212B1 (en) | 2017-07-21 | 2020-12-08 | EMC IP Holding Company LLC | Method or an apparatus to move perfect de-duplicated unique data from a source to destination storage tier |
US11461269B2 (en) | 2017-07-21 | 2022-10-04 | EMC IP Holding Company | Metadata separated container format |
US10949088B1 (en) | 2017-07-21 | 2021-03-16 | EMC IP Holding Company LLC | Method or an apparatus for having perfect deduplication, adapted for saving space in a deduplication file system |
US10459633B1 (en) | 2017-07-21 | 2019-10-29 | EMC IP Holding Company LLC | Method for efficient load balancing in virtual storage systems |
US11113153B2 (en) | 2017-07-27 | 2021-09-07 | EMC IP Holding Company LLC | Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network |
US10481813B1 (en) | 2017-07-28 | 2019-11-19 | EMC IP Holding Company LLC | Device and method for extending cache operational lifetime |
US10929382B1 (en) | 2017-07-31 | 2021-02-23 | EMC IP Holding Company LLC | Method and system to verify integrity of a portion of replicated data |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11093453B1 (en) | 2017-08-31 | 2021-08-17 | EMC IP Holding Company LLC | System and method for asynchronous cleaning of data objects on cloud partition in a file system with deduplication |
US10852966B1 (en) * | 2017-10-18 | 2020-12-01 | EMC IP Holding Company, LLC | System and method for creating mapped RAID group during expansion of extent pool |
KR20190044968A (ko) * | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
CN110688056A (zh) * | 2018-07-05 | 2020-01-14 | 北京忆恒创源科技有限公司 | Nvm组的存储介质替换 |
KR20200016076A (ko) * | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
CN111104047B (zh) * | 2018-10-25 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
JP6857673B2 (ja) * | 2019-02-14 | 2021-04-14 | 株式会社日立製作所 | マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法 |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
CN111158604B (zh) * | 2019-12-31 | 2022-02-11 | 西南科技大学 | 一种闪存颗粒阵列的物联网时间序列数据存储与检索方法 |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
WO2022040914A1 (en) * | 2020-08-25 | 2022-03-03 | Micron Technology, Inc. | Unmap backlog in a memory system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
CN113760781A (zh) * | 2021-03-05 | 2021-12-07 | 北京京东乾石科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11836073B2 (en) * | 2022-04-27 | 2023-12-05 | Dell Products L.P. | Storage device operating data counter system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW261687B (ja) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JP3231832B2 (ja) | 1991-11-26 | 2001-11-26 | 株式会社日立製作所 | フラッシュメモリを記憶媒体とした半導体ディスク |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
JP4426262B2 (ja) * | 2003-11-26 | 2010-03-03 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の障害回避方法 |
JP2007293442A (ja) * | 2006-04-21 | 2007-11-08 | Hitachi Ltd | ストレージシステム及びその制御方法 |
JP2007304794A (ja) * | 2006-05-10 | 2007-11-22 | Hitachi Ltd | ストレージシステム及びストレージシステムにおける記憶制御方法 |
JP4842719B2 (ja) * | 2006-06-28 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びそのデータ保護方法 |
JP4871701B2 (ja) * | 2006-11-02 | 2012-02-08 | 株式会社日立製作所 | ストレージシステム |
JP2008123314A (ja) * | 2006-11-14 | 2008-05-29 | Nec Electronics Corp | 半導体記憶装置への情報記録方法及び情報記録システム |
WO2008070813A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
JP2008146574A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
JP5042660B2 (ja) * | 2007-02-15 | 2012-10-03 | 株式会社日立製作所 | ストレージシステム |
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
US20100017649A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation | Data storage system with wear-leveling algorithm |
-
2009
- 2009-08-31 US US12/664,721 patent/US8484414B2/en active Active
- 2009-08-31 WO PCT/JP2009/004259 patent/WO2011024239A1/en active Application Filing
- 2009-08-31 JP JP2011544717A patent/JP5342014B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110231594A1 (en) | 2011-09-22 |
WO2011024239A1 (en) | 2011-03-03 |
US8484414B2 (en) | 2013-07-09 |
JP2012523594A (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5342014B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
US10459639B2 (en) | Storage unit and storage system that suppress performance degradation of the storage unit | |
JP5192352B2 (ja) | 記憶装置及びデータ格納領域管理方法 | |
JP5437373B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
JP5792313B2 (ja) | ストレージシステム | |
US20180275894A1 (en) | Storage system | |
JP6279620B2 (ja) | ストレージ装置 | |
US10545684B2 (en) | Storage device | |
WO2009130848A1 (ja) | ストレージシステム及びストレージシステムの制御方法 | |
EP2411914A1 (en) | Storage apparatus and its data control method | |
US20140075099A1 (en) | Control method and memory system of non-volatile semiconductor memory | |
JP5768118B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
JP6817340B2 (ja) | 計算機 | |
WO2018002999A1 (ja) | 記憶デバイス及びストレージ装置 | |
JP7140807B2 (ja) | 仮想ストレージシステム | |
JP6138318B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
JP5945040B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130426 |
|
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: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5342014 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |