JP2016512365A - 不揮発性メモリシステムにおける同期ミラーリング - Google Patents
不揮発性メモリシステムにおける同期ミラーリング Download PDFInfo
- Publication number
- JP2016512365A JP2016512365A JP2016502240A JP2016502240A JP2016512365A JP 2016512365 A JP2016512365 A JP 2016512365A JP 2016502240 A JP2016502240 A JP 2016502240A JP 2016502240 A JP2016502240 A JP 2016502240A JP 2016512365 A JP2016512365 A JP 2016512365A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- data
- memory
- memory block
- memory 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
- 230000015654 memory Effects 0.000 title claims abstract description 650
- 230000001360 synchronised effect Effects 0.000 title claims description 152
- 239000003550 marker Substances 0.000 claims description 132
- 238000000034 method Methods 0.000 claims description 61
- 238000013519 translation Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 17
- 238000007726 management method Methods 0.000 description 117
- 238000011084 recovery Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 26
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000004888 barrier function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 238000013073 enabling process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000819 phase cycle Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2076—Synchronous techniques
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本出願は、2013年3月15日に出願された13/842,079号の優先権を主張し、その全てを引用して組み込む。
Claims (32)
- 第1の非対称メモリデバイスに格納するために第1のデータを受信することであって、読み出し操作の待ち時間が非対称メモリデバイスにおける書き込み操作の待ち時間とは異なる、受信することと;
第1の書き込みフェーズを現在の書き込みフェーズとして特定することと;
前記第1の非対称メモリデバイスに含まれる第1のセグメントを、データを書き込むために利用可能な次のセグメントとして特定することであって、セグメントは、非対称メモリデバイスにおける物理メモリ位置の論理マッピングを含み、単一操作において消去される前記物理メモリ位置の一部に関連付けられる、特定することと;
前記第1のデータを前記第1のセグメントに書き込むことであって、前記第1のデータは、データを書き込むために次に利用可能な前記第1のセグメントに含まれる第1のメモリブロックに書き込まれる、書き込むことと;
前記第1のセグメント内の前記次に利用可能なメモリブロックに前記第1のデータを書き込むことに関連して、前記第1のセグメントおよび前記第1のメモリブロックに関連する情報を、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す情報と共に格納することと;
前記非対称メモリに格納するために第2のデータを受信することと;
前記第1の書き込みフェーズが完了し、第2の書き込みフェーズが前記現在の書き込みフェーズであることを特定することと;
前記第1の非対称メモリデバイスに含まれる第2のセグメントを、データを書き込むために利用可能な前記次のセグメントとして特定することと;
前記第2のデータを前記第2のセグメントに書き込むことであって、前記データは、データを書き込むために次に利用可能な前記第2のセグメントに含まれる第2のメモリブロックに書き込まれる、書き込むことと;
前記第2のセグメント内の前記次に利用可能なメモリブロックに前記第2のデータを書き込むことに関連して、前記第2のセグメントおよび前記第2のメモリブロックに関連する情報を、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す情報と共に格納することと;
を含む、方法。 - ごく最近データが充填されたセグメントに関する情報に対する同期ミラーリングモジュールからのリクエストを受信することと;
前記リクエストに応答して、第1の書き込みフェーズおよび前記書き込みフェーズのどちらが完了したか、および、前記現在の書き込みフェーズはどちらかを決定することと;
前記第1の書き込みフェーズが完了し、前記第2の書き込みフェーズが前記現在の書き込みフェーズであることの決定に基づき、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記格納された情報を取得することと;
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を前記同期ミラーリングモジュールに、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報と共に、送信することと;
を含む、請求項1に記載の方法。 - 前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報に対する第1のクエリを送信することと;
前記第1のクエリに応答して、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を受信することと;
前記第1のセグメントおよび前記第1のメモリブロックに関する前記情報を、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報と共に、前記第1の非対称メモリデバイスと類似したデータを格納するために構成され、ネットワーク接続によって前記第1の非対称メモリデバイスに接続される第2の非対称メモリデバイスに送信することであって、前記第1のセグメントおよび前記第1のメモリブロックに関する前記情報は、前記第2の非対称メモリデバイス内に、データを格納するために構成されるメモリ位置とは異なる第1のメモリ位置における第1のマーカとして格納される、送信することと;
前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報に対する第2のクエリを送信することであって、前記第2のクエリは、前記第1のクエリが送信された後に送信される、送信することと;
前記第1のクエリに応答して、前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報を受信することと;
前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報を、前記第2の非対称メモリデバイスに、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す前記情報と共に送信することであって、前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報は、前記第2の非対称メモリデバイス内に、データを格納するために構成されるメモリ位置とは異なる第2のメモリ位置における第2のマーカとして格納される、送信することと;
を含む、請求項2に記載の方法。 - 前記第1のクエリまたは前記第2のクエリを送信することは、
前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報を問い合わせることについての閾値に到達したかどうかを決定することと;
閾値に到達したという決定に基づいて、前記第1のクエリまたは前記第2のクエリを送信することと;を含む、
請求項3に記載の方法。 - 前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す情報は、前記第1のマーカと共に前記第2の非対称メモリデバイスに格納され、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す情報は、前記第2のマーカと共に前記第2の非対称メモリデバイスに格納される、請求項3に記載の方法。
- 前記第1および第2のメモリ位置は、ランダムアクセスメモリ(RAM)および不揮発性非対称メモリから成るグループから選択される、請求項3に記載の方法。
- 前記同期ミラーリングモジュールにおいて、および、前記第2の非対称メモリデバイスから、前記第1のマーカのコピーを含むメッセージを受信することであって、前記メッセージは、前記第2の非対称メモリデバイスが停止から回復したことを示す、受信することと;
前記メッセージを受信することに基づいて、ごく最近データが充填されたセグメントに関する情報に対する新規クエリを送信することと;
前記新規クエリに応答して新規セグメントおよび新規メモリブロックに関連する情報を受信することであって、前記新規セグメントは前記第1の書き込みフェーズ中に書き込まれる、受信することと;
前記第1のマーカの前記受信したコピーから抽出される前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することであって、前記比較はデータを前記第1の書き込みフェーズまたは前記第2の書き込みフェーズにおいて書き込む間に実行される、比較することと;
前記比較に基づいて、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイスに格納されたデータを特定することと;
前記特定したデータを前記第2の非対称メモリデバイスに送信することと;
を含む、請求項3に記載の方法。 - 前記第2の非対称メモリデバイスから受信した前記第1のマーカの前記コピーは、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報を含み、
前記新規クエリを送信することは、前記第1の書き込みフェーズにおいて、ごく最近データが充填されたセグメントに関する情報に対する新規クエリを送信することを含む、
請求項7に記載の方法。 - データは、前記第1のセグメントおよび前記第1のメモリブロックに書き込まれるデータと比較して、遅い時間に前記新規セグメントおよび前記新規メモリブロックに書き込まれ、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイスに格納されたデータを特定することは:
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することに基づいて、前記第1のマーカが前記第2の非対称メモリデバイスに送信された後で、前記第1のマーカの前記コピーが前記第2の非対称メモリデバイスから受信される前に、前記第1の非対称メモリデバイスに書き込まれる物理メモリブロックを特定することと;
前記第1の非対称メモリデバイスに関連するトランスレーションテーブルを用いて、前記特定された物理メモリブロックに対応する前記第1の非対称メモリデバイス内の論理メモリブロックの検索を実行することと;
前記論理メモリブロックが有効なデータを保持しているかどうかを決定することと;
前記論理メモリブロックが有効なデータを保持していることの決定に基づいて、前記特定された物理メモリブロックおよび前記対応する論理メモリブロックを前記第2の非対称メモリデバイスに送信することと;を含む、
請求項7に記載の方法。 - 物理メモリブロックは書き込みページを含み、前記トランスレーションテーブルは、非対称メモリデバイス内の論理メモリブロックに対するセグメントおよび書き込みページのマッピングを提供する、請求項9に記載の方法。
- 前記第1のセグメントおよび前記第2のセグメントのうちの1つ以上が、前記第1の書き込みフェーズおよび前記第2の書き込みフェーズにおいてデータを格納するために選択される、請求項1に記載の方法。
- 前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報は、前記第1のセグメントに関連する第1のシーケンス番号と、前記第1のセグメント内の前記第1のブロックに関連する第2のシーケンス番号とを含み、前記第2のシーケンス番号は、前記第1のセグメント内の最初のブロックからのオフセットである、請求項1に記載の方法。
- 前記第1および第2の非対称メモリデバイスのそれぞれは、フラッシュベースのメモリシステムを含む、請求項1に記載の方法。
- プロセッサと;
前記プロセッサによって実行可能であり、実行される場合、以下:
第1の非対称メモリデバイスに格納するために第1のデータを受信することであって、読み出し操作の待ち時間が非対称メモリデバイスにおける書き込み操作の待ち時間とは異なる、受信することと;
第1の書き込みフェーズを現在の書き込みフェーズとして特定することと;
前記第1の非対称メモリデバイスに含まれる第1のセグメントを、データを書き込むために利用可能な次のセグメントとして特定することであって、セグメントは、非対称メモリデバイスにおける物理メモリ位置の論理マッピングを含み、単一操作において消去される前記物理メモリ位置の一部に関連付けられる、特定することと;
前記第1のデータを前記第1のセグメントに書き込むことであって、前記第1のデータは、データを書き込むために次に利用可能な前記第1のセグメントに含まれる第1のメモリブロックに書き込まれる、書き込むことと;
前記第1のセグメント内の前記次に利用可能なメモリブロックに前記第1のデータを書き込むことに関連して、前記第1のセグメントおよび前記第1のメモリブロックに関連する情報を、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す情報と共に格納することと;
前記非対称メモリに格納するために第2のデータを受信することと;
前記第1の書き込みフェーズが完了し、第2の書き込みフェーズが前記現在の書き込みフェーズであることを特定することと;
前記第1の非対称メモリデバイスに含まれる第2のセグメントを、データを書き込むために利用可能な前記次のセグメントとして特定することと;
前記第2のデータを前記第2のセグメントに書き込むことであって、前記データは、データを書き込むために次に利用可能な前記第2のセグメントに含まれる第2のメモリブロックに書き込まれる、書き込むことと;
前記第2のセグメント内の前記次に利用可能なメモリブロックに前記第2のデータを書き込むことに関連して、前記第2のセグメントおよび前記第2のメモリブロックに関連する情報を、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す情報と共に格納することと;
を含む操作を、前記プロセッサに実行させるよう構成される命令を格納する非一時的機械読取可能な媒体と;
を備える、システム。 - ごく最近データが充填されたセグメントに関する情報に対する同期ミラーリングモジュールからのリクエストを受信することと;
前記リクエストに応答して、第1の書き込みフェーズおよび前記書き込みフェーズのどちらが完了したか、および、前記現在の書き込みフェーズはどちらかを決定することと;
前記第1の書き込みフェーズが完了し、前記第2の書き込みフェーズが前記現在の書き込みフェーズであることの決定に基づき、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記格納された情報を取得することと;
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を前記同期ミラーリングモジュールに、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報と共に、送信することと;
を含む操作を前記プロセッサに実行させるよう構成される命令を含む、
請求項14に記載のシステム。 - 前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報に対する第1のクエリを送信することと;
前記第1のクエリに応答して、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を受信することと;
前記第1のセグメントおよび前記第1のメモリブロックに関する前記情報を、前記第2の非対称メモリデバイスに、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報と共に、前記第1の非対称メモリデバイスと類似したデータを格納するために構成され、ネットワーク接続によって前記第1の非対称メモリデバイスに接続される第2の非対称メモリデバイスに送信することであって、前記第1のセグメントおよび前記第1のメモリブロックに関する前記情報は、前記第2の非対称メモリデバイス内に、データを格納するために構成されるメモリ位置とは異なる第1のメモリ位置における第1のマーカとして格納される、送信することと;
前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報に対する第2のクエリを送信することであって、前記第2のクエリは、前記第1のクエリが送信された後に送信される、送信することと;
前記第1のクエリに応答して、前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報を受信することと;
前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報を、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す前記情報と共に送信することであって、前記第2のセグメントおよび前記第2のメモリブロックに関連する前記情報は、前記第2の非対称メモリデバイス内に、データを格納するために構成されるメモリ位置とは異なる第2のメモリ位置における第2のマーカとして格納される、送信することと;
を含む操作を前記プロセッサに実行させるよう構成される命令を含む、
請求項15に記載のシステム。 - 前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す情報は、前記第1のマーカと共に前記第2の非対称メモリデバイスに格納され、前記第2のセグメントおよび前記第2のメモリブロックが前記第2の書き込みフェーズにおいて書き込まれることを示す情報は、前記第2のマーカと共に前記第2の非対称メモリデバイスに格納される、請求項15に記載のシステム。
- 前記同期ミラーリングモジュールにおいて、および、前記第2の非対称メモリデバイスから、前記第1のマーカのコピーを含むメッセージを受信することであって、前記メッセージは、前記第2の非対称メモリデバイスが停止から回復したことを示す、受信することと;
前記メッセージを受信することに基づいて、ごく最近データが充填されたセグメントに関する情報に対する新規クエリを送信することと;
前記新規クエリに応答して新規セグメントおよび新規メモリブロックに関連する情報を受信することであって、前記新規セグメントは前記第1の書き込みフェーズ中に書き込まれる、受信することと;
前記第1のマーカの前記受信したコピーから抽出される前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することであって、前記比較はデータを前記第1の書き込みフェーズまたは前記第2の書き込みフェーズにおいて書き込む間に実行される、比較することと;
前記比較に基づいて、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイスに格納されたデータを特定することと;
前記特定したデータを前記第2の非対称メモリデバイスに送信することと;
を含む操作を前記プロセッサに実行させるよう構成される命令を含む、
請求項15に記載のシステム。 - 前記第2の非対称メモリデバイスから受信した前記第1のマーカの前記コピーは、前記第1のセグメントおよび前記第1のメモリブロックが前記第1の書き込みフェーズにおいて書き込まれることを示す前記情報を含み、
前記新規クエリを送信することを含む操作を前記プロセッサに実行させるよう構成される命令は、前記第1の書き込みフェーズにおいて、ごく最近データが充填されたセグメントに関する情報に対する新規クエリを送信することを含む操作を前記プロセッサに実行させるよう構成される命令を含む、
請求項18に記載のシステム。 - データは、前記第1のセグメントおよび前記第1のメモリブロックに書き込まれるデータと比較して、遅い時間に前記新規セグメントおよび前記新規メモリブロックに書き込まれ、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイスに格納されたデータを特定することを含む操作を前記プロセッサに実行させるよう構成される命令は、
以下:
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することに基づいて、前記第1のマーカが前記第2の非対称メモリデバイスに送信された後で、前記第1のマーカの前記コピーが前記第2の非対称メモリデバイスから受信される前に、前記第1の非対称メモリデバイスに書き込まれる物理メモリブロックを特定することと;
前記第1の非対称メモリデバイスに関連するトランスレーションテーブルを用いて、前記特定された物理メモリブロックに対応する前記第1の非対称メモリデバイス内の論理メモリブロックの検索を実行することと;
前記論理メモリブロックが有効なデータを保持しているかどうかを決定することと;
前記論理メモリブロックが有効なデータを保持していることの決定に基づいて、前記特定された物理メモリブロックおよび前記対応する論理メモリブロックを前記第2の非対称メモリデバイスに送信することと;
を含む操作を前記プロセッサに実行させるよう構成される命令を含む、
請求項18に記載のシステム。 - 物理メモリブロックは書き込みページを含み、前記トランスレーションテーブルは、非対称メモリデバイス内の論理メモリブロックに対するセグメントおよび書き込みページのマッピングを提供する、請求項20に記載のシステム。
- 前記第1のセグメントおよび前記第2のセグメントのうちの1つ以上が、前記第1の書き込みフェーズおよび前記第2の書き込みフェーズにおいてデータを格納するために選択される、請求項14に記載のシステム。
- 前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報は、前記第1のセグメントに関連する第1のシーケンス番号と、前記第1のセグメント内の前記第1のブロックに関連する第2のシーケンス番号とを含み、前記第2のシーケンス番号は、前記第1のセグメント内の最初のブロックからのオフセットである、請求項14に記載のシステム。
- 第1の非対称メモリデバイスに格納するために第1のデータを受信することであって、読み出し操作の待ち時間が非対称メモリデバイスにおける書き込み操作の待ち時間とは異なる、受信することと;
前記第1の非対称メモリデバイスに含まれる第1のセグメントを、データを書き込むために利用可能な次のセグメントとして特定することであって、前記第1のセグメントは、第1のセグメントグループの一部として書き込まれ、セグメントは、非対称メモリデバイスにおける物理メモリ位置の論理マッピングを含み、単一操作において消去される前記物理メモリ位置の一部に関連付けられる、特定することと;
前記第1のデータを前記第1のセグメントに書き込むことであって、前記第1のデータは、データを書き込むために次に利用可能な前記第1のセグメントに含まれる第1のメモリブロックに書き込まれる、書き込むことと;
前記第1のセグメント内の前記次に利用可能なメモリブロックに前記第1のデータを書き込むことに関連して、前記第1のセグメントおよび前記第1のメモリブロックに関連する情報を格納することと;
前記非対称メモリに格納するために第2のデータを受信することと;
前記第1のセグメントが、前記第1のセグメントに格納されたデータで一杯であることを決定することと;
前記第1のセグメントが一杯であることの決定に基づいて、前記第1の非対称メモリデバイス内の第2のセグメントグループを選択することであって、データは、前記第1のセグメントグループと交互に、前記第2のセグメントグループに書き込まれる、選択することと;
前記第2のセグメントグループに含まれる第2のセグメントを、データを書き込むために利用可能な前記次のセグメントとして特定することと;
前記第2のデータを前記第2のセグメントに書き込むことであって、前記データは、データを書き込むために次に利用可能な前記第2のセグメントに含まれる第2のメモリブロックに書き込まれる、書き込むことと;
前記第2のセグメント内の前記次に利用可能なメモリブロックに前記第2のデータを書き込むことに関連して、前記第2のセグメントおよび前記第2のメモリブロックに関連する情報を格納することと;
を含む、方法。 - ごく最近データが充填されたセグメントに関する情報に対する同期ミラーリングモジュールからのリクエストを受信することと;
前記リクエストに応答して、第1のセグメントおよび前記第2のセグメントのうちのどちらが、ごく最近データが充填されたかを決定することと;
前記第1のセグメントがごく最近データが充填されたことの決定に基づき、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記格納された情報を取得することと;
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を前記同期ミラーリングモジュールに送信することと;
を含む、請求項24に記載の方法。 - 前記同期ミラーリングモジュールによって、前記第1のデータおよび前記第2のデータを第2の非対称メモリデバイスに送信することであって、前記第2の非対称メモリデバイスは、前記第1の非対称メモリデバイスと類似したデータを格納するために構成され、前記第1の非対称メモリデバイスおよび前記第2の非対称メモリデバイスは、ネットワーク接続によって接続される、送信することと;
前記同期ミラーリングモジュールによって、ごく最近データが充填されたセグメントに関する情報を問い合わせることについての閾値に到達したかどうかを決定することと;
閾値に到達したことの決定に基づいて、ごく最近データが充填されたセグメントに関する情報に対する前記リクエストを送信することと;
前記リクエストに応答して、前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を受信することと;
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報を前記第2の非対称メモリデバイスに送信することと;
を含む、請求項25に記載の方法。 - 前記第1のセグメントおよび前記第1のメモリブロックに関する前記情報は、前記第2の非対称メモリデバイス内に、データを格納するために構成されるメモリ位置とは異なる第1のメモリ位置における第1のマーカとして格納される、請求項26に記載の方法。
- 前記同期ミラーリングモジュールにおいて、および、前記第2の非対称メモリデバイスから、前記第1のマーカのコピーを含むメッセージを受信することであって、前記メッセージは、前記第2の非対称メモリデバイスが停止から回復したことを示す、受信することと;
前記メッセージを受信することに基づいて、ごく最近データが充填されたセグメントに関する情報に対する新規リクエストを送信することと;
前記新規リクエストに応答して新規セグメントおよび新規メモリブロックに関連する情報を受信することであって、前記新規セグメントは前記第1のセグメントグループに含まれる、受信することと;
前記第1のマーカの前記受信したコピーから抽出される前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することであって、前記比較はデータを前記第2のセグメントグループに含まれるセグメントに書き込む間に実行される、比較することと;
前記比較に基づいて、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイス内の前記第1のセグメントグループに格納されたデータを特定することと;
前記特定したデータを前記第2の非対称メモリデバイスに送信することと;
を含む、請求項26に記載の方法。 - データは、前記第1のセグメントおよび前記第1のメモリブロックに書き込まれるデータと比較して、遅い時間に前記新規セグメントおよび前記新規メモリブロックに書き込まれ、前記第2の非対称メモリデバイスに格納されていない、前記第1の非対称メモリデバイス内の前記第1のセグメントグループに格納されたデータを特定することは:
前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報と、前記新規セグメントおよび前記新規メモリブロックに関連する前記情報とを比較することに基づいて、前記第1のマーカが前記第2の非対称メモリデバイスに送信された後で、前記第1のマーカの前記コピーが前記第2の非対称メモリデバイスから受信される前に、前記第1の非対称メモリデバイスに書き込まれる前記第1のセグメントグループに含まれるセグメント内のメモリブロックを特定することと;
前記第1の非対称メモリデバイスに関連するトランスレーションテーブルを用いて、前記第1のセグメントグループ内の前記特定された物理メモリブロックに対応する前記第1の非対称メモリデバイス内の物理メモリ位置の検索を実行することと;
前記物理メモリ位置が有効なデータを保持しているかどうかを決定することと;
前記物理メモリ位置から前記有効なデータを取得することと;を含む、
請求項28に記載の方法。 - メモリブロックは書き込みページを含み、前記トランスレーションテーブルは、非対称メモリデバイス内の物理メモリ位置に対するセグメントおよび書き込みページのマッピングを提供する、請求項29に記載の方法。
- データがごく最近格納された、前記第1のセグメントグループに含まれるセグメントが一杯である場合にのみ、データは前記第2のセグメントグループに含まれるセグメントに格納される、請求項24に記載の方法。
- 前記第1のセグメントおよび前記第1のメモリブロックに関連する前記情報は、前記第1のセグメントに関連する第1のシーケンス番号と、前記第1のセグメント内の前記第1のブロックに関連する第2のシーケンス番号とを含み、前記第2のシーケンス番号は、前記第1のセグメント内の最初のブロックからのオフセットである、請求項24に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/842,079 US9135164B2 (en) | 2013-03-15 | 2013-03-15 | Synchronous mirroring in non-volatile memory systems |
US13/842,079 | 2013-03-15 | ||
PCT/US2014/026773 WO2014151986A1 (en) | 2013-03-15 | 2014-03-13 | Synchronous mirroring in non-volatile memory systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017021554A Division JP6294518B2 (ja) | 2013-03-15 | 2017-02-08 | 不揮発性メモリシステムにおける同期ミラーリング |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016512365A true JP2016512365A (ja) | 2016-04-25 |
JP6144819B2 JP6144819B2 (ja) | 2017-06-07 |
Family
ID=51533820
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016502240A Active JP6144819B2 (ja) | 2013-03-15 | 2014-03-13 | 不揮発性メモリシステムにおける同期ミラーリング |
JP2017021554A Active JP6294518B2 (ja) | 2013-03-15 | 2017-02-08 | 不揮発性メモリシステムにおける同期ミラーリング |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017021554A Active JP6294518B2 (ja) | 2013-03-15 | 2017-02-08 | 不揮発性メモリシステムにおける同期ミラーリング |
Country Status (8)
Country | Link |
---|---|
US (2) | US9135164B2 (ja) |
EP (1) | EP2972889A4 (ja) |
JP (2) | JP6144819B2 (ja) |
KR (1) | KR101758544B1 (ja) |
CN (1) | CN105339907B (ja) |
AU (1) | AU2014236657B2 (ja) |
CA (1) | CA2905355C (ja) |
WO (1) | WO2014151986A1 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842660B1 (en) | 2012-12-28 | 2017-12-12 | Virident Systems, Llc | System and method to improve enterprise reliability through tracking I/O performance metrics in non-volatile random access memory |
US9286002B1 (en) | 2012-12-28 | 2016-03-15 | Virident Systems Inc. | Dynamic restriping in nonvolatile memory systems |
US8996796B1 (en) * | 2013-03-15 | 2015-03-31 | Virident Systems Inc. | Small block write operations in non-volatile memory systems |
US10073626B2 (en) | 2013-03-15 | 2018-09-11 | Virident Systems, Llc | Managing the write performance of an asymmetric memory system |
US9135164B2 (en) | 2013-03-15 | 2015-09-15 | Virident Systems Inc. | Synchronous mirroring in non-volatile memory systems |
CN103577338B (zh) * | 2013-11-14 | 2016-06-29 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
US20150205541A1 (en) * | 2014-01-20 | 2015-07-23 | Samya Systems, Inc. | High-capacity solid state disk drives |
US9715345B2 (en) * | 2014-04-25 | 2017-07-25 | Micron Technology, Inc. | Apparatuses and methods for memory management |
US10430472B2 (en) * | 2015-02-26 | 2019-10-01 | Cavium, Llc | Apparatus and method for collecting responses to a plurality of parallel lookup queries from a flow of packets at a network switch |
US9558344B2 (en) * | 2015-03-18 | 2017-01-31 | International Business Machines Corporation | Proximity based authentication for striped data |
US9658794B2 (en) * | 2015-05-08 | 2017-05-23 | Sonicwall Inc. | Two stage memory allocation using a cache |
KR102367982B1 (ko) | 2015-06-22 | 2022-02-25 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10180885B2 (en) * | 2015-11-10 | 2019-01-15 | Netapp, Inc. | Prioritized data recovery from an object storage service and concurrent data backup |
EP3391223B1 (en) * | 2015-12-16 | 2020-01-29 | AB Initio Technology LLC | High throughput, high reliability data processing system |
SG11201805106QA (en) * | 2015-12-16 | 2018-07-30 | Ab Initio Technology Llc | High throughput, high reliability data processing system |
US10185658B2 (en) | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
US10289340B2 (en) * | 2016-02-23 | 2019-05-14 | Sandisk Technologies Llc | Coalescing metadata and data writes via write serialization with device-level address remapping |
KR102593362B1 (ko) * | 2016-04-27 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN108121663B (zh) * | 2016-11-29 | 2022-05-03 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
KR20180062246A (ko) * | 2016-11-30 | 2018-06-08 | 삼성전자주식회사 | 재분배기를 포함하는 메모리 시스템 |
US9747158B1 (en) * | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10147501B1 (en) * | 2017-05-30 | 2018-12-04 | Seagate Technology Llc | Data storage device with rewriteable in-place memory |
KR102430791B1 (ko) * | 2017-07-19 | 2022-08-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR102479483B1 (ko) * | 2017-10-19 | 2022-12-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
CN108415512B (zh) * | 2018-03-06 | 2020-05-19 | 三星半导体(中国)研究开发有限公司 | 具有近场通信功能的可穿戴设备以及近场通信控制系统 |
CN110096237B (zh) * | 2019-04-30 | 2022-02-08 | 北京百度网讯科技有限公司 | 副本处理方法及节点、存储系统、服务器、可读介质 |
JP2021044030A (ja) * | 2019-09-06 | 2021-03-18 | 株式会社東芝 | 磁気ディスク装置、及びサーボリード処理方法 |
US11615029B2 (en) * | 2019-12-30 | 2023-03-28 | Micron Technology, Inc. | Full multi-plane operation enablement |
KR20210131058A (ko) * | 2020-04-23 | 2021-11-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 데이터를 보호하는 장치 및 방법 |
CN112328512B (zh) * | 2020-09-22 | 2023-07-28 | 北京计算机技术及应用研究所 | 一种应用于多控存储系统的缓存同步系统及方法 |
US11593309B2 (en) * | 2020-11-05 | 2023-02-28 | International Business Machines Corporation | Reliable delivery of event notifications from a distributed file system |
US20210191811A1 (en) * | 2020-12-23 | 2021-06-24 | Intel Corporation | Memory striping approach that interleaves sub protected data words |
US20230376228A1 (en) * | 2022-05-17 | 2023-11-23 | Micron Technology, Inc. | Techniques for sequential access operations |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004523017A (ja) * | 2000-06-05 | 2004-07-29 | ミラリンク コーポレイション | 柔軟なリモート・データ・ミラーリング |
JP2008015769A (ja) * | 2006-07-05 | 2008-01-24 | Hitachi Ltd | ストレージシステム及び書き込み分散方法 |
WO2008105098A1 (ja) * | 2007-02-28 | 2008-09-04 | Fujitsu Limited | メモリミラー化制御方法 |
JP2010092200A (ja) * | 2008-10-07 | 2010-04-22 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
WO2012100087A2 (en) * | 2011-01-19 | 2012-07-26 | Fusion-Io, Inc. | Apparatus, system, and method for managing out-of-service conditions |
US20120198138A1 (en) * | 2007-10-19 | 2012-08-02 | Virident Systems Inc. | Managing Memory Systems Containing Components with Asymmetric Characteristics |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3363240A (en) * | 1964-06-22 | 1968-01-09 | Burroughs Corp | Solid state electron emissive memory and display apparatus and method |
US5276835A (en) | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5734861A (en) | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity |
US5787466A (en) | 1996-05-01 | 1998-07-28 | Sun Microsystems, Inc. | Multi-tier cache and method for implementing such a system |
US6018779A (en) | 1997-12-15 | 2000-01-25 | Emc Corporation | System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith |
US6895490B1 (en) | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US6785169B1 (en) * | 2002-04-05 | 2004-08-31 | T-Ram, Inc. | Memory cell error recovery |
US7337351B2 (en) | 2002-09-18 | 2008-02-26 | Netezza Corporation | Disk mirror architecture for database appliance with locally balanced regeneration |
US6940777B2 (en) * | 2002-10-31 | 2005-09-06 | Renesas Technology Corp. | Semiconductor device and semiconductor memory device provided with internal current setting adjustment circuit |
US7158402B2 (en) * | 2003-08-06 | 2007-01-02 | Texas Instruments Incorporated | Asymmetric static random access memory device having reduced bit line leakage |
JP2005115562A (ja) * | 2003-10-06 | 2005-04-28 | Media Logic:Kk | フラッシュrom制御装置 |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP4582297B2 (ja) | 2004-06-25 | 2010-11-17 | 日本電気株式会社 | レプリケーションシステム、装置、方法、およびプログラム |
JP2006107151A (ja) | 2004-10-06 | 2006-04-20 | Hitachi Ltd | ストレージシステム及びストレージシステムの通信パス制御方法 |
US7613870B2 (en) | 2004-11-18 | 2009-11-03 | International Business Machines Corporation | Efficient memory usage in systems including volatile and high-density memories |
US7363421B2 (en) | 2005-01-13 | 2008-04-22 | Stmicroelectronics S.R.L. | Optimizing write/erase operations in memory devices |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7370143B1 (en) | 2005-06-20 | 2008-05-06 | Network Appliance, Inc. | Controlling write request access to a non-volatile log |
CN100573476C (zh) * | 2005-09-25 | 2009-12-23 | 深圳市朗科科技股份有限公司 | 闪存介质数据管理方法 |
US8060718B2 (en) | 2006-06-20 | 2011-11-15 | International Business Machines | Updating a memory to maintain even wear |
US7818489B2 (en) * | 2006-11-04 | 2010-10-19 | Virident Systems Inc. | Integrating data from symmetric and asymmetric memory |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
WO2009079478A1 (en) * | 2007-12-14 | 2009-06-25 | Virident Systems, Inc. | Distributing metadata across multiple different disruption regions within an asymmetric memory system |
US8621137B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
US7971093B1 (en) | 2008-01-16 | 2011-06-28 | Network Appliance, Inc. | Apparatus and method to proactively address hard disk drive inefficiency and failure |
US8275945B2 (en) | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
TW200935422A (en) | 2008-02-05 | 2009-08-16 | Phison Electronics Corp | Flash memory data writing method and controller thereof |
US8762661B2 (en) | 2008-09-18 | 2014-06-24 | Seagate Technology Llc | System and method of managing metadata |
US8266408B2 (en) * | 2009-03-17 | 2012-09-11 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
US8578084B2 (en) | 2009-04-08 | 2013-11-05 | Google Inc. | Data storage device having multiple removable memory boards |
US8688896B2 (en) | 2009-05-21 | 2014-04-01 | Panasonic Corporation | High speed writing mode in memory controller, nonvolatile storage device, accessing device, nonvolatile storage system, and method and program for writing data |
KR101638061B1 (ko) | 2009-10-27 | 2016-07-08 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법 |
TWI421870B (zh) | 2009-10-30 | 2014-01-01 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 |
US8285918B2 (en) | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
US8621145B1 (en) | 2010-01-29 | 2013-12-31 | Netapp, Inc. | Concurrent content management and wear optimization for a non-volatile solid-state cache |
US8239617B1 (en) | 2010-02-12 | 2012-08-07 | Emc Corporation | Enterprise data storage system using multi-level cell flash memory |
US8650446B2 (en) | 2010-03-24 | 2014-02-11 | Apple Inc. | Management of a non-volatile memory based on test quality |
US8499227B2 (en) | 2010-09-23 | 2013-07-30 | Micron Technology, Inc. | Memory quality monitor based compensation method and apparatus |
US9026748B2 (en) | 2011-01-11 | 2015-05-05 | Hewlett-Packard Development Company, L.P. | Concurrent request scheduling |
US8957458B2 (en) * | 2011-03-24 | 2015-02-17 | Zeno Semiconductor, Inc. | Asymmetric semiconductor memory device having electrically floating body transistor |
US20130019057A1 (en) | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US8583868B2 (en) | 2011-08-29 | 2013-11-12 | International Business Machines | Storage system cache using flash memory with direct block access |
US8627021B2 (en) | 2011-08-31 | 2014-01-07 | Qualcomm Incorporated | Method and apparatus for load-based prefetch access |
US8874828B2 (en) | 2012-05-02 | 2014-10-28 | Apple Inc. | Systems and methods for providing early hinting to nonvolatile memory charge pumps |
EP2877928A4 (en) | 2012-07-24 | 2016-03-23 | Intel Corp | SYSTEM AND METHOD FOR IMPLEMENTING SSD BASED I / O CACHES |
US20140068182A1 (en) | 2012-09-04 | 2014-03-06 | Drobo, Inc. | Storage Virtualization In A Block-Level Storage System |
US9280497B2 (en) | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US9122588B1 (en) | 2013-03-15 | 2015-09-01 | Virident Systems Inc. | Managing asymmetric memory system as a cache device |
US9135164B2 (en) | 2013-03-15 | 2015-09-15 | Virident Systems Inc. | Synchronous mirroring in non-volatile memory systems |
US10073626B2 (en) | 2013-03-15 | 2018-09-11 | Virident Systems, Llc | Managing the write performance of an asymmetric memory system |
-
2013
- 2013-03-15 US US13/842,079 patent/US9135164B2/en not_active Expired - Fee Related
-
2014
- 2014-03-13 JP JP2016502240A patent/JP6144819B2/ja active Active
- 2014-03-13 AU AU2014236657A patent/AU2014236657B2/en active Active
- 2014-03-13 CA CA2905355A patent/CA2905355C/en active Active
- 2014-03-13 WO PCT/US2014/026773 patent/WO2014151986A1/en active Application Filing
- 2014-03-13 EP EP14768560.6A patent/EP2972889A4/en not_active Withdrawn
- 2014-03-13 KR KR1020157029461A patent/KR101758544B1/ko active IP Right Grant
- 2014-03-13 CN CN201480022652.3A patent/CN105339907B/zh active Active
-
2015
- 2015-09-11 US US14/851,120 patent/US9734027B2/en active Active
-
2017
- 2017-02-08 JP JP2017021554A patent/JP6294518B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004523017A (ja) * | 2000-06-05 | 2004-07-29 | ミラリンク コーポレイション | 柔軟なリモート・データ・ミラーリング |
JP2008015769A (ja) * | 2006-07-05 | 2008-01-24 | Hitachi Ltd | ストレージシステム及び書き込み分散方法 |
WO2008105098A1 (ja) * | 2007-02-28 | 2008-09-04 | Fujitsu Limited | メモリミラー化制御方法 |
US20120198138A1 (en) * | 2007-10-19 | 2012-08-02 | Virident Systems Inc. | Managing Memory Systems Containing Components with Asymmetric Characteristics |
JP2010092200A (ja) * | 2008-10-07 | 2010-04-22 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
WO2012100087A2 (en) * | 2011-01-19 | 2012-07-26 | Fusion-Io, Inc. | Apparatus, system, and method for managing out-of-service conditions |
Also Published As
Publication number | Publication date |
---|---|
US20140281138A1 (en) | 2014-09-18 |
CA2905355C (en) | 2018-02-27 |
US9734027B2 (en) | 2017-08-15 |
CN105339907A (zh) | 2016-02-17 |
KR101758544B1 (ko) | 2017-07-14 |
CN105339907B (zh) | 2019-02-22 |
CA2905355A1 (en) | 2014-09-25 |
US20160004612A1 (en) | 2016-01-07 |
AU2014236657B2 (en) | 2017-11-02 |
JP6144819B2 (ja) | 2017-06-07 |
AU2014236657A1 (en) | 2015-10-08 |
JP6294518B2 (ja) | 2018-03-14 |
KR20160003657A (ko) | 2016-01-11 |
JP2017102964A (ja) | 2017-06-08 |
EP2972889A1 (en) | 2016-01-20 |
WO2014151986A1 (en) | 2014-09-25 |
EP2972889A4 (en) | 2016-11-30 |
US9135164B2 (en) | 2015-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6294518B2 (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
US11960777B2 (en) | Utilizing multiple redundancy schemes within a unified storage element | |
US11593036B2 (en) | Staging data within a unified storage element | |
US9898196B1 (en) | Small block write operations in non-volatile memory systems | |
US9043639B2 (en) | Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare | |
EP2885711B1 (en) | Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system | |
US20230229363A1 (en) | Tiering Valid Data after a Disaster Recovery Operation | |
US11592988B2 (en) | Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage | |
US11061818B1 (en) | Recovering from write cache failures in servers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170208 |
|
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: 20170411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6144819 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
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 |