JP2017120626A - 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法 - Google Patents
二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法 Download PDFInfo
- Publication number
- JP2017120626A JP2017120626A JP2016240058A JP2016240058A JP2017120626A JP 2017120626 A JP2017120626 A JP 2017120626A JP 2016240058 A JP2016240058 A JP 2016240058A JP 2016240058 A JP2016240058 A JP 2016240058A JP 2017120626 A JP2017120626 A JP 2017120626A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write request
- storage device
- application
- journal
- 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
Images
Classifications
-
- 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
- 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
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
-
- 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/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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】コンピュータ、ストレージ装置、アプリケーション、そしてコントローラを含む。コンピュータはプロセッサ及びメモリを含む。アプリケーションはプロセッサ上で実行され、ジャーナル書込み要請及びデータ書込み要請の両方をストレージ装置に伝送するように動作する。コントローラはストレージ装置上に位置し、ストレージ装置が第1ストリームと関連された第1ブロックにジャーナル情報を書き込み第2ストリームと関連された第2ブロックにデータを書き込むように指示する。ジャーナル書込み要請はジャーナル情報を含み、第1ストリームと関連される。データ書込み要請はデータを含み、第2ストリームと関連される。
【選択図】図1
Description
その重要な理由の1つは、SSDがフリー(free)フラッシュメモリブロックのみに書き込むことができ、再使用するためには、ガーベッジコレクション(garbage collection)を遂行して無効とされたフラッシュメモリブロックを回復する、という点である。従来のOS(オペレーティングシステム)及びアプリケーションがホット(hot)データとコールド(cold)データとを区別しないので、相異なる寿命(lifespan)を有するデータが通常、混合されている場合、フラッシュメモリを管理し、リクレイム(reclaim、再利用)するためのガーベッジコレクションの遂行をさらに難しくする。これはSSDの性能及び寿命の全てに影響を及ぼす。
これに、ストレージ装置の動作効率が増加する。
また、プロセッサ110はストレージ装置130及びネットワークコネクタ215に連結される。例えば、ネットワークコネクタ215はイーサネット(登録商標)(ethernet)コネクタである。また、他に色々の構成要素がある中で、プロセッサ110はバス220に連結される。バス220はユーザインタフェイス225と連結され、I/O(Input/Output)エンジン230を利用して管理されるI/Oインタフェイスポートに連結される。
ただ1つのソフトウェア要素(アプリケーション125、図3参照)がストレージ装置130と通信する本発明の一実施形態において、該ソフトウェア要素はジャーナリングを遂行する任意のソフトウェア要素である場合、図3において、アプリケーション125は適用性(applicability)を喪失すること無く、図1のデータストレージシステム120により置換できる。(以下の図7及び図8においては、図1のデータストレージシステム120及びアプリケーション125の両方がストレージ装置130とジャーナリングを遂行する本発明の別の実施形態が説明される。
ジャーナル情報305が直ちにストレージ装置130に書き込まれることを保障するために、ジャーナル書込み要請310は直接I/Oコマンドを使用して伝送される。又は別の選択肢として、同じくジャーナル情報305が直ちにストレージ装置130に書き込まれることを保障するために、ジャーナル書込み要請310は直ちに(一杯に書き込まれない場合にも)フラッシュ(flush)されるバッファに伝送される。
このようにして、アプリケーション125は無効化要請340をストレージ装置130に伝送して、ジャーナル情報305がストレージ装置130から削除されるように要請する。ジャーナル情報305がデータ325とは異なるブロック又はスーパーブロックに書き込まれたので、無効化要請340はストレージ装置130内に有効か無効かにより断片化された(validity−fragmented)ブロック又はスーパーブロックを誘発しない。
このような不一致はガーベッジコレクションがストレージ装置130の動作に否定的な影響を及ぼす理由を説明する。即ち、仮にガーベッジコレクションの対象であるブロックの単数又は複数のページ内に有効なデータがある場合、該ブロックがガーベッジコレクション動作の対象になる前にこのような有効データは他のブロックにコピーされなければならない。例えば、ページ445がフリー(free)である場合、仮にページ425が有効データを含む場合、ブロック405がガーベッジコレクション動作の対象になる前に該データは、例えば別のブロック410内のページ445にコピーされなければならない。
但し、スーパーブロックの概念がストレージ装置130内のガーベッジコレクションの具現上に影響を及ぼすが、理論的な観点からは、スーパーブロックはガーベッジコレクション目的のためのブロックサイズの再調整に過ぎない。複数のブロックに関する全ての論議はスーパーブロックにも同様に適用されることは容易に理解されよう。
上述した記述はこのような状況を単純化して記述したものである。但し、ジャーナル書込みは同一の時間に全て消去される必要がないので、一般的にジャーナル書込みはそれらが書き込まれた以後に、特にデータ書込みの寿命と比較して相対的に短い時間内に削除される。それ故、ブロックA(545)内の全てのデータは最後のジャーナル書込みがブロックA(545)に書き込まれた後の短時間内に無効化される筈である。その際、何らのデータも他のブロックにコピーされる必要がなく、全ページを含む該ブロックがガーベッジコレクションの対象になる。
しかし、図3と対照的に、アプリケーション125はデータ325及び第2ストリーム識別子330と共にデータ書込み要請320をストレージ装置130ではないデータストレージシステム120に伝送する。そうすると、データストレージシステム120はストレージ装置130に対するデータ325の書込み動作の監督を担当する。
しかし、他の実施形態では、データストレージシステム120は第2ジャーナル情報610、ジャーナル情報305の全てを削除するために第2無効化要請630を使用する。
また、他の実施形態で、アプリケーション125にアプリケーション125自身が無効化要請340を伝送できることを知らせるために、データストレージシステム120はデータ書き込み完了信号335をアプリケーション125に伝送する。
しかし、他の実施形態で、ストレージ装置130はデータ325のソースを知り、アプリケーション125及び/又はデータストレージシステム120に対する無効化要請340、第2無効化要請630の全て又は一部を伝送する必要を事前に防止して、データ書込み要請320、第2データ書き込み要請620の全て又は一部が完遂されれば、自動的にジャーナル情報305、第2ジャーナル情報610の全て又は一部を削除する。
斯くして、多重個のデータストレージシステム120の各々に対する第2ジャーナル情報610及びデータ325が、相異なるブロック又はスーパーブロックに存在するのみならず、相異なるデータストレージシステム120からの相異なる第2ジャーナル情報610は相異なるブロック又はスーパーブロック内に格納され、且つ、相異なるデータストレージシステム120からの相異なるデータ325は相異なるブロック又はスーパーブロック内に格納される。
一部の実施形態では、S715段階で、図1のアプリケーション125は図3のデータ書込み要請320をバッファリングされたI/Oコマンドとして図3のストレージ装置130に伝送する。続いて、S720段階で、図1のアプリケーション125は図1のストレージ装置130からデータ書き込み完了信号335を受信する。データ書き込み完了信号335は図3のデータ書込み要請320が完遂されたことを示す。最後に、S725段階で、図3のジャーナル情報305を削除するために、図1のアプリケーション125は図3の無効化要請340を図1のストレージ装置130に伝送する。
ここで、使用される‘マシン’という用語は幅広く、単体マシン、仮想マシン、又は、通信可能に結合された、マシン、仮想マシン、又は協同動作する装置からなるシステムを含む。例示的なマシンはパーソナル(Personal)コンピュータ、ワークステーション、サーバ、ポータブル(Portable)コンピュータ、ポケット用(Handheld)装置、携帯電話、タブレット等を含む。また、例示的なシステムは自動車、列車、タクシなどの、個人用又は公共用交通装置を含む。
プロセッサ及びメモリを含むコンピュータと、
ストレージ装置と、
プロセッサ上で実行され、ジャーナル書込み要請及びデータ書込み要請の両方を前記ストレージ装置に伝送するように動作するアプリケーションと、
前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリームと関連された第1ブロックにジャーナル情報を書き込み、第2ストリームと関連された第2ブロックにデータを書き込むように指示するコントローラと、を含み、
前記ジャーナル書込み要請は前記ジャーナル情報を含み、前記第1ストリームと関連され、
前記データ書込み要請は前記データを含み、前記第2ストリームと関連される。
前記データストレージシステムは第2データ書込み要請を前記ストレージ装置に伝送するように動作し、
前記第2データ書込み要請は前記データを含み、前記第2ストリームと関連される。
前記第2ジャーナル書込み要請は第2ジャーナル情報を含み、第3ストリームと連関される。
ジャーナル書込み及びデータ書込み両方を実行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データにガーベッジコレクションを遂行するストレージ装置にジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を含み、
前記ジャーナル書込み要請は第1ストリームに割当され、前記データ書込み要請は第2ストリームに割当される。
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は前記アプリケーションからSSD(Solid State Drive)に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は前記アプリケーションから前記SSDに前記データ書込み要請を伝送する段階を含む。
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は直接(direct)入出力コマンドを利用して前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階はバッファリングされた(buffered)書込みコマンドを利用して前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階を含む。
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む。
前記非一時的な命令はマシンによって実行される時、
ジャーナル書込み及びデータ書込み両方を実行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データにガーベッジコレクションを遂行するストレージ装置にジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を遂行し、
前記ジャーナル書込み要請は第1ストリームに割当され、前記データ書込み要請は第2ストリームに割当される。
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は前記アプリケーションからSSD(Solid State Drive)に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は前記アプリケーションから前記SSDに前記データ書込み要請を伝送する段階を含む。
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は直接(direct)入出力コマンドを利用して前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階はバッファリングされた(buffered)書込みコマンドを利用して前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階を含む。
前記非一時的な命令はマシンによって実行される時、
前記データ書込み要請が前記ストレージ装置に書き込まれた以後に前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに遂行する。
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む。
前記非一時的な命令はマシンによって実行される時、
前記第2データ書込み要請が前記ストレージ装置に書き込まれた以後に前記第2ジャーナル書込み要請によって書き込まれた前記データを削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに実行する。
110 プロセッサ
115 メモリ
120 データストレージシステム
125 アプリケーション
130 ストレージ装置
135 コントローラ
205 メモリコントローラ
210 クロック
215 ネットワークコネクタ
220 バス
225 ユーザインタフェイス
230 I/Oエンジン
305 ジャーナル情報
310 ジャーナル書込み要請
315 第1ストリーム識別子、第1ストリーム
320 データ書き込み要請
325 データ
330 第2ストリーム識別子、第2ストリーム
335 データ書き込み完了信号
340 無効化要請
405、410、415、420 ブロックA、B、C、D
425〜440、445〜460 ページ
505、535 ブロックA、A
510、515、520 ジャーナル書き込みを含むページ、ジャーナル書き込み
525、530、540 データ書き込みを含むページ、データ書き込み
545、550 ブロックA、C
605 第2ジャーナル書込み要請
610 第2ジャーナル情報
615 第3ストリーム識別子、第3ストリーム
620 第2データ書き込み要請
625 第2データ書き込み完了信号
630 第2無効化要請
Claims (20)
- ストレージ(格納)装置(device)を含むシステムであって、
プロセッサ及びメモリを含むコンピュータと、
ストレージ装置と、
前記プロセッサ上で実行され、ジャーナル(journal)書込み要請及びデータ書込み要請の両方を前記ストレージ装置に伝送するように動作するアプリケーションと、
前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリーム(stream)と関連された第1ブロック(block)にジャーナル情報を書き込み、第2ストリームと関連された第2ブロックにデータを書き込むように指示するコントローラと、を含み、
前記ジャーナル書込み要請は、前記ジャーナル情報を含み、前記第1ストリームと関連され、
前記データ書込み要請は、前記データを含み、前記第2ストリームと関連される、ことを特徴とするシステム。 - 前記コントローラは、前記データ書込み要請が完遂された以後に前記ジャーナル情報を削除するために無効化(invalidate)要請を受信するように動作する、ことを特徴とする請求項1に記載のシステム。
- 前記アプリケーションは、前記無効化要請を伝送するように動作する、ことを特徴とする請求項2に記載のシステム。
- 前記アプリケーションは、前記データ書込み要請が完遂されたという信号を前記アプリケーションが受信したことに反応して、前記無効化要請を伝送するように動作する、ことを特徴とする請求項3に記載のシステム。
- 前記アプリケーションは、前記データ書込み要請を前記プロセッサ上で実行されるデータストレージシステムに伝送するように動作し、
前記データストレージシステムは、第2データ書込み要請を前記ストレージ装置に伝送するように動作し、
前記第2データ書込み要請は、前記データを含み、前記第2ストリームと関連される、ことを特徴とする請求項1に記載のシステム。 - 前記データストレージシステムは、第2ジャーナル書込み要請を前記ストレージ装置に伝送するように動作し、
前記第2ジャーナル書込み要請は、第2ジャーナル情報を含み、第3ストリームと関連される、ことを特徴とする請求項5に記載のシステム。 - 前記データストレージシステムは、第2無効化要請を伝送するように動作する、ことを特徴とする請求項6に記載のシステム。
- ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データに対するガーベッジコレクション(garbage_collection)を遂行するストレージ装置に、ジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を含み、
前記ジャーナル書込み要請は、第1ストリームに割当てられ、前記データ書込み要請は、第2ストリームに割当てられる、ことを特徴とする二重書込み方法。 - 前記データ書込み要請に基づき前記データが前記ストレージ装置に書き込まれた以後に、前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項8に記載の二重書込み方法。
- 前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項9に記載の二重書込み方法。
- 前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階は、前記ストレージ装置上の前記データ書込み要請が完遂されたという信号を前記アプリケーションで受信する段階を含む、ことを特徴とする請求項10に記載の二重書込み方法。
- 前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は、
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階を含む、ことを特徴とする請求項8に記載の二重書込み方法。 - 前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は、前記データストレージシステムから前記ストレージ装置に、第2ジャーナル情報を含む第2ジャーナル書込み要請を伝送する段階を含む、ことを特徴とする請求項12に記載の二重書込み方法。
- 前記第2データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記第2ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項13に記載の二重書込み方法。
- 非一時的な(Non−Transitory)命令を格納した有形(tangible)のストレージ媒体(tangible storage medium)を含む装置(article)において、
前記非一時的な命令がマシンによって実行される時、
ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、
無効データに対するガーベッジコレクションを遂行するストレージ装置に、前記アプリケーションからジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を遂行し、
ここで前記ジャーナル書込み要請は、第1ストリームに割当てられ、前記データ書込み要請は、第2ストリームに割当てられる、ことを特徴とする装置。 - 前記非一時的な命令がマシンによって実行される時、
前記データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに遂行する、ことを特徴とする請求項15に記載の装置。 - 前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項16に記載の装置。
- 前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は、
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む、ことを特徴とする請求項15に記載の装置。 - 前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は、前記データストレージシステムから前記ストレージ装置に第2ジャーナル情報を含む第2ジャーナル書込み要請を伝送する段階を含む、ことを特徴とする請求項18に記載の装置。
- 前記非一時的な命令はマシンによって実行される時、
前記第2データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記第2ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに実行する、ことを特徴とする請求項19に記載の装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562273323P | 2015-12-30 | 2015-12-30 | |
US62/273,323 | 2015-12-30 | ||
US15/089,237 | 2016-04-01 | ||
US15/089,237 US9959046B2 (en) | 2015-12-30 | 2016-04-01 | Multi-streaming mechanism to optimize journal based data storage systems on SSD |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017120626A true JP2017120626A (ja) | 2017-07-06 |
JP2017120626A5 JP2017120626A5 (ja) | 2020-01-30 |
JP6734768B2 JP6734768B2 (ja) | 2020-08-05 |
Family
ID=59226308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016240058A Active JP6734768B2 (ja) | 2015-12-30 | 2016-12-12 | 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9959046B2 (ja) |
JP (1) | JP6734768B2 (ja) |
KR (1) | KR102412978B1 (ja) |
CN (1) | CN106933747B (ja) |
TW (1) | TWI702500B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107422992A (zh) * | 2017-07-31 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种SSD运行时Journal保存方法及系统 |
US11386002B2 (en) * | 2018-10-04 | 2022-07-12 | ScaleFlux, Inc. | Enhancing solid-state storage device speed performance through stream-aware garbage collection |
CN109491616B (zh) | 2018-11-14 | 2022-05-24 | 三星(中国)半导体有限公司 | 数据的存储方法和设备 |
KR20200145151A (ko) | 2019-06-20 | 2020-12-30 | 삼성전자주식회사 | 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치 |
KR20210097010A (ko) * | 2020-01-29 | 2021-08-06 | 삼성전자주식회사 | 키-값 스토리지 장치들에 대한 입출력 성능을 향상을 위한 키 값 객체 입출력들 그룹화 |
KR20210156190A (ko) | 2020-06-17 | 2021-12-24 | 삼성전자주식회사 | 스토리지 장치 지원 실시간 가상 머신 마이그레이션 |
KR20220086934A (ko) | 2020-12-17 | 2022-06-24 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템의 저널링 제어 장치 및 방법 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128630A (en) * | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
CA2511304C (en) | 2002-12-24 | 2011-09-20 | Lg Electronics, Inc. | Dual journaling store method and storage medium thereof |
US7363420B2 (en) * | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
US7197599B2 (en) * | 2003-12-29 | 2007-03-27 | Intel Corporation | Method, system, and program for managing data updates |
JP2008165624A (ja) * | 2006-12-28 | 2008-07-17 | Hitachi Ltd | 計算機システム及び第1記憶装置 |
US20090119352A1 (en) | 2007-11-05 | 2009-05-07 | Steven Joseph Branda | Method for Optimizing Generational Garbage Collection Through Object Life Heuristics |
WO2009079478A1 (en) * | 2007-12-14 | 2009-06-25 | Virident Systems, Inc. | Distributing metadata across multiple different disruption regions within an asymmetric memory system |
EP2263145B1 (en) * | 2008-02-12 | 2020-02-05 | NetApp, Inc. | Hybrid media storage system architecture |
US8949684B1 (en) * | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8700842B2 (en) | 2010-04-12 | 2014-04-15 | Sandisk Enterprise Ip Llc | Minimizing write operations to a flash memory-based object store |
JP2012084127A (ja) | 2010-09-15 | 2012-04-26 | Toshiba Corp | 半導体装置 |
US8738882B2 (en) | 2011-06-03 | 2014-05-27 | Apple Inc. | Pre-organization of data |
CN103858116B (zh) * | 2011-08-09 | 2015-09-02 | Lsi公司 | I/o设备及计算主机互操作 |
US10203881B2 (en) | 2011-12-19 | 2019-02-12 | Apple Inc. | Optimized execution of interleaved write operations in solid state drives |
KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
US9075731B2 (en) * | 2013-01-23 | 2015-07-07 | Vmware, Inc. | Using transaction entries to achieve crash consistency when performing write-behind caching using a flash storage-based cache |
JP6005566B2 (ja) * | 2013-03-18 | 2016-10-12 | 株式会社東芝 | 情報処理システム、制御プログラムおよび情報処理装置 |
KR101567134B1 (ko) | 2013-03-29 | 2015-11-09 | 이화여자대학교 산학협력단 | 비휘발성 메모리에 기반하여 저널링 기능을 통합한 버퍼 캐시 장치, 저널링 파일 시스템 및 저널링 방법 |
US10191822B2 (en) | 2014-02-20 | 2019-01-29 | Rambus Inc. | High performance persistent memory |
JP2016170583A (ja) | 2015-03-12 | 2016-09-23 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US20160283125A1 (en) | 2015-03-25 | 2016-09-29 | Kabushiki Kaisha Toshiba | Multi-streamed solid state drive |
US9696935B2 (en) | 2015-04-24 | 2017-07-04 | Kabushiki Kaisha Toshiba | Storage device that secures a block for a stream or namespace and system having the storage device |
US20170139825A1 (en) * | 2015-11-17 | 2017-05-18 | HGST Netherlands B.V. | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach |
-
2016
- 2016-04-01 US US15/089,237 patent/US9959046B2/en active Active
- 2016-08-02 KR KR1020160098623A patent/KR102412978B1/ko active IP Right Grant
- 2016-08-12 TW TW105125727A patent/TWI702500B/zh active
- 2016-09-29 CN CN201610867445.9A patent/CN106933747B/zh active Active
- 2016-12-12 JP JP2016240058A patent/JP6734768B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI702500B (zh) | 2020-08-21 |
KR102412978B1 (ko) | 2022-06-24 |
JP6734768B2 (ja) | 2020-08-05 |
CN106933747B (zh) | 2019-08-20 |
TW201723857A (zh) | 2017-07-01 |
CN106933747A (zh) | 2017-07-07 |
KR20170080419A (ko) | 2017-07-10 |
US20170192687A1 (en) | 2017-07-06 |
US9959046B2 (en) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6734768B2 (ja) | 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法 | |
KR102002830B1 (ko) | 세그먼트 클리닝 장치 및 방법 | |
US8918581B2 (en) | Enhancing the lifetime and performance of flash-based storage | |
RU2661280C2 (ru) | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных | |
US9535628B2 (en) | Memory system with shared file system | |
WO2017113213A1 (zh) | 访问请求处理方法、装置及计算机系统 | |
KR20210027642A (ko) | 메모리 시스템에서 맵 정보를 전송하는 방법 및 장치 | |
US11157402B2 (en) | Apparatus and method for managing valid data in memory system | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
US10416895B2 (en) | Storage devices managing duplicated data based on the number of operations | |
KR20210157537A (ko) | 메모리 시스템 및 그의 동작 방법 | |
WO2019090493A1 (zh) | 内存块回收方法和装置 | |
CN108228483B (zh) | 处理原子写命令的方法和设备 | |
US11422930B2 (en) | Controller, memory system and data processing system | |
KR20200132047A (ko) | 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치 | |
KR20210046377A (ko) | 마이그레이션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR20180032728A (ko) | 저장 장치, 저장 장치를 포함하는 사용자 장치, 및 사용자 장치의 동작 방법 | |
US20210026763A1 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
US20140095771A1 (en) | Host device, computing system and method for flushing a cache | |
CN110515861B (zh) | 处理刷写命令的存储设备及其方法 | |
JP6215631B2 (ja) | コンピュータシステム及びそのデータ管理方法 | |
WO2018041258A1 (zh) | 去分配命令处理的方法与存储设备 | |
KR20200014175A (ko) | 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치 | |
JP2004139353A (ja) | ディスクアレイ装置、ディスクアレイ装置の制御方法、及びストレージシステム | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191211 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191211 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191211 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200518 |
|
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: 20200623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6734768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |