図面 (/)

技術 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法

出願人 三星電子株式会社
発明者 ヒュオゥ,ジアンジアンチェ,チャンホゥ
出願日 2016年12月12日 (4年5ヶ月経過) 出願番号 2016-240058
公開日 2017年7月6日 (3年10ヶ月経過) 公開番号 2017-120626
状態 特許登録済
技術分野 記憶装置の信頼性向上技術 メモリシステム 検索装置 計算機におけるファイル管理
主要キーワード 実時間シミュレーション 協同動作 Oエンジン 組込みコントローラ 交通装置 ファイルストレージシステム 期待寿命 公共用
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年7月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

SSD内のフラッシュメモリ断片化を回避、乃至最少化した二重書込みを遂行するストレージ装置を含むシステムを提供する。

解決手段

コンピュータ、ストレージ装置、アプリケーション、そしてコントローラを含む。コンピュータはプロセッサ及びメモリを含む。アプリケーションはプロセッサ上で実行され、ジャーナル書込み要請及びデータ書込み要請の両方をストレージ装置に伝送するように動作する。コントローラはストレージ装置上に位置し、ストレージ装置が第1ストリームと関連された第1ブロックにジャーナル情報を書き込み第2ストリームと関連された第2ブロックにデータを書き込むように指示する。ジャーナル書込み要請はジャーナル情報を含み、第1ストリームと関連される。データ書込み要請はデータを含み、第2ストリームと関連される。

概要

背景

NANDフラッシュメモリベースSSD(Solid−State Drive)は、全ての種類のストレージ(格納)装置を含むシステムの速度を向上させるために事業用(enterprise)サーバデータセンタ内で広く使用されて来た。SSD内のフラッシュメモリ独特の特性を有する。従って、従来の磁気ディスク(magnetic disk)をSSDにより直接置換してもSSDに最大能力を発揮させて活用することにならない。
その重要な理由の1つは、SSDがフリー(free)フラッシュメモリブロックのみに書き込むことができ、再使用するためには、ガーベッジコレクション(garbage collection)を遂行して無効とされたフラッシュメモリブロックを回復する、という点である。従来のOS(オペレーティングシステム)及びアプリケーションホット(hot)データとコールド(cold)データとを区別しないので、相異なる寿命(lifespan)を有するデータが通常、混合されている場合、フラッシュメモリを管理し、リクレイム(reclaim、再利用)するためのガーベッジコレクションの遂行をさらに難しくする。これはSSDの性能及び寿命の全てに影響を及ぼす。

最近の多くのデータストレージシステムは、データ耐久性及び性能のためにジャーナリング(journaling)を使用する。データストレージシステムはオブジェクト(object)ストレージシステム(例、Ceph等)、ブロックストレージシステム(例、キャッシュ及び他のキャッシングシステム等)、そしてファイルストレージシステム(例、IBM JFS/JFS2、Linux(登録商標)_xfs、及びLinux(登録商標)_ext4等)を含む。このようなシステムは2つのデータコピーを格納する。1つのコピージャーナルセクション(journal section)に格納され、他の1つのコピーはデータセクションに格納される。

このようなシステムが純粋なSSD環境内に展開される場合、性能及び費用上の理由から、システムは一般的にジャーナルと実際データを同一のSSD上に格納する。データが書き込まれるために受信されると、データストレージシステムは先ず1つのデータコピーをディスクフラッシュ(flush、一斉書き込み)されるジャーナルに格納し、2番目のデータコピーをメモリファイルシステムページキャッシュ内に格納する。そうすると、データストレージシステムはユーザアプリケーションサクセス(後継動作、success)を返却(return)する。続いて後ほど、バックグラウンド(background)内で、データストレージシステムは、ファイルシステムページキャッシュ内のデータ記録をディスクにフラッシュ(flush、一斉書き込み)し、ディスク上のジャーナル内の同一のデータ記録を除去する。このような過程データ書き込みの各々に対して反複され、またジャーナルがメタデータのみに対して使用される場合にも生起される。

このような二重書込み(double−write)方式(approach)は、SSDと共に使用される場合、全てのSSDブロック内のフラッシュメモリの内部の断片化(fragmentation)という問題を惹起する。このような内部断片化問題はガーベッジコレクションの増大を引き起こして、ストレージシステムの性能を低下し、読出し書込みレイテンシ(latency、待ち時間)を増加し、SSDの寿命を短縮する。

そこで、SSD内のフラッシュメモリの断片化を回避できるか、或いは少なくとも最少化できるような、SSDに関する二重書込みアプローチ利用方法が要求される。

概要

SSD内のフラッシュメモリの断片化を回避、乃至最少化した二重書込みを遂行するストレージ装置を含むシステムを提供する。コンピュータ、ストレージ装置、アプリケーション、そしてコントローラを含む。コンピュータはプロセッサ及びメモリを含む。アプリケーションはプロセッサ上で実行され、ジャーナル書込み要請及びデータ書込み要請の両方をストレージ装置に伝送するように動作する。コントローラはストレージ装置上に位置し、ストレージ装置が第1ストリームと関連された第1ブロックにジャーナル情報を書き込み第2ストリームと関連された第2ブロックにデータを書き込むように指示する。ジャーナル書込み要請はジャーナル情報を含み、第1ストリームと関連される。データ書込み要請はデータを含み、第2ストリームと関連される。

目的

本発明の目的は、SSD内のフラッシュメモリの断片化を回避、乃至最少化した二重書込みを遂行するストレージ装置を含むシステム、装置及びその方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ストレージ(格納)装置(device)を含むシステムであって、プロセッサ及びメモリを含むコンピュータと、ストレージ装置と、前記プロセッサ上で実行され、ジャーナル(journal)書込み要請及びデータ書込み要請の両方を前記ストレージ装置に伝送するように動作するアプリケーションと、前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリーム(stream)と関連された第1ブロック(block)にジャーナル情報を書き込み、第2ストリームと関連された第2ブロックにデータを書き込むように指示するコントローラと、を含み、前記ジャーナル書込み要請は、前記ジャーナル情報を含み、前記第1ストリームと関連され、前記データ書込み要請は、前記データを含み、前記第2ストリームと関連される、ことを特徴とするシステム。

請求項2

前記コントローラは、前記データ書込み要請が完遂された以後に前記ジャーナル情報を削除するために無効化(invalidate)要請を受信するように動作する、ことを特徴とする請求項1に記載のシステム。

請求項3

前記アプリケーションは、前記無効化要請を伝送するように動作する、ことを特徴とする請求項2に記載のシステム。

請求項4

前記アプリケーションは、前記データ書込み要請が完遂されたという信号を前記アプリケーションが受信したことに反応して、前記無効化要請を伝送するように動作する、ことを特徴とする請求項3に記載のシステム。

請求項5

前記アプリケーションは、前記データ書込み要請を前記プロセッサ上で実行されるデータストレージシステムに伝送するように動作し、前記データストレージシステムは、第2データ書込み要請を前記ストレージ装置に伝送するように動作し、前記第2データ書込み要請は、前記データを含み、前記第2ストリームと関連される、ことを特徴とする請求項1に記載のシステム。

請求項6

前記データストレージシステムは、第2ジャーナル書込み要請を前記ストレージ装置に伝送するように動作し、前記第2ジャーナル書込み要請は、第2ジャーナル情報を含み、第3ストリームと関連される、ことを特徴とする請求項5に記載のシステム。

請求項7

前記データストレージシステムは、第2無効化要請を伝送するように動作する、ことを特徴とする請求項6に記載のシステム。

請求項8

ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、前記アプリケーションから無効データに対するガーベッジコレクション(garbage_collection)を遂行するストレージ装置に、ジャーナル書込み要請を伝送する段階と、前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を含み、前記ジャーナル書込み要請は、第1ストリームに割当てられ、前記データ書込み要請は、第2ストリームに割当てられる、ことを特徴とする二重書込み方法

請求項9

前記データ書込み要請に基づき前記データが前記ストレージ装置に書き込まれた以後に、前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項8に記載の二重書込み方法。

請求項10

前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項9に記載の二重書込み方法。

請求項11

前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階は、前記ストレージ装置上の前記データ書込み要請が完遂されたという信号を前記アプリケーションで受信する段階を含む、ことを特徴とする請求項10に記載の二重書込み方法。

請求項12

前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は、前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階を含む、ことを特徴とする請求項8に記載の二重書込み方法。

請求項13

前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は、前記データストレージシステムから前記ストレージ装置に、第2ジャーナル情報を含む第2ジャーナル書込み要請を伝送する段階を含む、ことを特徴とする請求項12に記載の二重書込み方法。

請求項14

前記第2データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記第2ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項13に記載の二重書込み方法。

請求項15

非一時的な(Non−Transitory)命令を格納した有形(tangible)のストレージ媒体(tangiblestoragemedium)を含む装置(article)において、前記非一時的な命令がマシンによって実行される時、ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、無効データに対するガーベッジコレクションを遂行するストレージ装置に、前記アプリケーションからジャーナル書込み要請を伝送する段階と、前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を遂行し、ここで前記ジャーナル書込み要請は、第1ストリームに割当てられ、前記データ書込み要請は、第2ストリームに割当てられる、ことを特徴とする装置。

請求項16

前記非一時的な命令がマシンによって実行される時、前記データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに遂行する、ことを特徴とする請求項15に記載の装置。

請求項17

前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項16に記載の装置。

請求項18

前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は、前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む、ことを特徴とする請求項15に記載の装置。

請求項19

前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は、前記データストレージシステムから前記ストレージ装置に第2ジャーナル情報を含む第2ジャーナル書込み要請を伝送する段階を含む、ことを特徴とする請求項18に記載の装置。

請求項20

前記非一時的な命令はマシンによって実行される時、前記第2データ書込み要請に基づきデータが前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記第2ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに実行する、ことを特徴とする請求項19に記載の装置。

技術分野

0001

本発明はストレージ(格納)装置(device)を含むシステムに関し、さらに具体的には、二重書込みを遂行するストレージ装置を含むシステム、装置(article)、及びその方法に関する。

背景技術

0002

NANDフラッシュメモリベースSSD(Solid−State Drive)は、全ての種類のストレージ(格納)装置を含むシステムの速度を向上させるために事業用(enterprise)サーバデータセンタ内で広く使用されて来た。SSD内のフラッシュメモリ独特の特性を有する。従って、従来の磁気ディスク(magnetic disk)をSSDにより直接置換してもSSDに最大能力を発揮させて活用することにならない。
その重要な理由の1つは、SSDがフリー(free)フラッシュメモリブロックのみに書き込むことができ、再使用するためには、ガーベッジコレクション(garbage collection)を遂行して無効とされたフラッシュメモリブロックを回復する、という点である。従来のOS(オペレーティングシステム)及びアプリケーションホット(hot)データとコールド(cold)データとを区別しないので、相異なる寿命(lifespan)を有するデータが通常、混合されている場合、フラッシュメモリを管理し、リクレイム(reclaim、再利用)するためのガーベッジコレクションの遂行をさらに難しくする。これはSSDの性能及び寿命の全てに影響を及ぼす。

0003

最近の多くのデータストレージシステムは、データ耐久性及び性能のためにジャーナリング(journaling)を使用する。データストレージシステムはオブジェクト(object)ストレージシステム(例、Ceph等)、ブロックストレージシステム(例、キャッシュ及び他のキャッシングシステム等)、そしてファイルストレージシステム(例、IBM JFS/JFS2、Linux(登録商標)_xfs、及びLinux(登録商標)_ext4等)を含む。このようなシステムは2つのデータコピーを格納する。1つのコピージャーナルセクション(journal section)に格納され、他の1つのコピーはデータセクションに格納される。

0004

このようなシステムが純粋なSSD環境内に展開される場合、性能及び費用上の理由から、システムは一般的にジャーナルと実際データを同一のSSD上に格納する。データが書き込まれるために受信されると、データストレージシステムは先ず1つのデータコピーをディスクフラッシュ(flush、一斉書き込み)されるジャーナルに格納し、2番目のデータコピーをメモリファイルシステムページキャッシュ内に格納する。そうすると、データストレージシステムはユーザアプリケーションサクセス(後継動作、success)を返却(return)する。続いて後ほど、バックグラウンド(background)内で、データストレージシステムは、ファイルシステムページキャッシュ内のデータ記録をディスクにフラッシュ(flush、一斉書き込み)し、ディスク上のジャーナル内の同一のデータ記録を除去する。このような過程データ書き込みの各々に対して反複され、またジャーナルがメタデータのみに対して使用される場合にも生起される。

0005

このような二重書込み(double−write)方式(approach)は、SSDと共に使用される場合、全てのSSDブロック内のフラッシュメモリの内部の断片化(fragmentation)という問題を惹起する。このような内部断片化問題はガーベッジコレクションの増大を引き起こして、ストレージシステムの性能を低下し、読出し書込みレイテンシ(latency、待ち時間)を増加し、SSDの寿命を短縮する。

0006

そこで、SSD内のフラッシュメモリの断片化を回避できるか、或いは少なくとも最少化できるような、SSDに関する二重書込みアプローチ利用方法が要求される。

先行技術

0007

米国特許第7,610,442号公報
米国特許第8、738、882号公報
米国特許第8、793,531号公報
米国特許公開第2014/0297918号明細書
国際特許公開第WO2015/126518号明細書

発明が解決しようとする課題

0008

従って本発明の目的は、SSD内のフラッシュメモリの断片化を回避、乃至最少化した二重書込みを遂行するストレージ装置を含むシステム、装置及びその方法を提供することにある。

課題を解決するための手段

0009

本発明の実施形態によるストレージ装置を含むシステムは、コンピュータ、ストレージ装置、アプリケーション、そしてコントローラを含む。コンピュータはプロセッサ及びメモリを含む。アプリケーションはプロセッサ上で実行され、ジャーナル(journal)書込み要請及びデータ書込み要請の両方をストレージ装置に伝送するように動作する。コントローラはストレージ装置上に位置し、ストレージ装置が第1ストリーム(stream)と関連された第1ブロック(block)にジャーナル情報を書き込み、第2ストリームと関連された第2ブロックにデータを書き込むように指示する。ジャーナル書込み要請はジャーナル情報を含み、第1ストリームと関連される。データ書込み要請はデータを含み、第2ストリームと関連される。

0010

本発明の他の実施形態による二重書込み方法は、ジャーナル書込み及びデータ書込みの両方を実行するアプリケーションから書き込まれるデータを識別する段階、アプリケーションから無効データに対するガーベッジコレクション(garbage collection)を遂行するストレージ装置に、ジャーナル書込み要請を伝送する段階、そしてアプリケーションからストレージ装置にデータ書込み要請を伝送する段階を含む。ジャーナル書込み要請は第1ストリームに割当てられ、データ書込み要請は第2ストリームに割当てられる。

0011

本発明の他の実施形態による非一時的な(Non−Transitory)命令を格納した有形(tangible)のストレージ媒体(tangible storage medium)を含む装置(article)において、非一時的な命令がマシンによって実行される時、ジャーナル書込み及びデータ書込みの両方を実行するアプリケーションから書き込まれるデータを識別する段階、無効データに対するガーベッジコレクションを遂行するストレージ装置にアプリケーションからジャーナル書込み要請を伝送する段階、そしてアプリケーションからストレージ装置にデータ書込み要請を伝送する段階を遂行する。ジャーナル書込み要請は第1ストリームに割当てられ、データ書込み要請は第2ストリームに割当てられる。

発明の効果

0012

本発明の実施形態によれば、ストレージ装置内の断片化されたブロックの誘発を防止しながら、二重書込み動作が可能である。これに、ストレージ装置の動作効率が増加する。
これに、ストレージ装置の動作効率が増加する。

図面の簡単な説明

0013

本発明の実施形態によるジャーナリングを備えたデータストレージを使用するサーバを示すブロック図である。
図1のサーバの詳細に示す図面である。
従来技術に係り、ジャーナリング及びデータ書込みの両方を遂行するために図1のストレージ装置と通信する図1のアプリケーションを示す図面である。
ジャーナル及びデータを格納するためにマルチストリーミングを使用する図1のストレージ装置を示す図面である。
従来のアプローチを使用する図1のストレージ装置の使用方法を示す図面である。
本発明の実施形態によるアプローチを使用する図1のストレージ装置の使用方法を示す図面である。
ジャーナリング及びデータ書込みの両方を遂行するために図1のストレージ装置と通信する図1のアプリケーション及び図1のデータストレージシステムを示す図面である。
ジャーナリング及びデータ書込みの両方を遂行するために図1のストレージ装置と通信する図1のアプリケーション及び図1のデータストレージシステムを示す図面である。
本発明の実施形態によってジャーナリング及びデータ書込みの両方を遂行し、図1のストレージ装置と通信するための図1のアプリケーション及び図1のデータストレージシステムに対する手続を例示的に示すフローチャートである。
本発明の実施形態によってジャーナリング及びデータ書込みの両方を遂行し、図1のストレージ装置と通信するための図1のアプリケーション及び図1のデータストレージシステムに対する手続を例示的に示すフローチャートである。

実施例

0014

以下では、本発明の技術分野で通常の知識を有する者が本発明を容易に実施できる程度に、本発明の実施形態を明確に、且つ詳細に記述する。

0015

本明細書では第1番目、第2番目等のような用語が多様な構成要素を表現するために使用されたが、このような構成要素がこのような用語によって限定されないことは容易に理解されよう。このような用語は単に、1つの構成要素を他の構成要素と区分するために使用されており、例えば、本発明の範囲を逸脱せずに、第1番目のモジュールは第2番目のモジュールと称され得るし、同様に、第2番目のモジュールは第1番目のモジュールと称され得る。

0016

図1は本発明の実施形態によるジャーナリングを備えたデータストレージシステムを使用するサーバを示すブロック図である。図1に示されたサーバ105は任意の種類のサーバである。サーバ105はプロセッサ110及びメモリ115を含む。プロセッサ110は任意の種類のプロセッサである。また、メモリ115は任意の種類のメモリである。

0017

プロセッサ110上で動作できるのはデータストレージシステム120である。データストレージシステム120は二重書込み(即ち、ジャーナリング及びデータ書込み)を遂行する任意の種類のシステムである。データストレージシステム120は‘Ceph’(登録商標)のようなオブジェクトストレージシステム及びファイルストレージシステムのみでなく、アプリケーションが二重書込みを遂行する他のオペレーティングシステム上で動作するアプリケーションを含む。(‘Ceph’は、Inktank Storage、Inc.の米国内で登録された商標である。)

0018

データストレージシステム120に加えて、アプリケーション125はデータストレージシステム120のさらに上(top)で動作する。本発明の一部の実施形態では、アプリケーション125自身が内部理由によって二重書込みを遂行できる。例えば、アプリケーション125が実時間シミュレーションプログラムの場合である。このようなプログラムは動作が遂行される時間に大きく依存する。仮にデータが、バッファリングされている(buffered)が書き込まれていない(unwriiten)状態で、実時間シミュレーションプログラムが中断される場合、シミュレーションの結果は捨てられる(wasted)。従って、データがデータストレージシステム120を通じてストレージ装置130に書き込まれない場合であっても、シミュレーションプログラムはデータがジャーナリングを通じて格納されることを保障させようとする。

0019

ストレージ装置130は、無効データのガーベッジコレクションを遂行できる多様な形態のストレージ装置の内の任意の一つである。例えば、ストレージ装置130はフラッシュベースのSSD(Solid State Drive)である。ストレージ装置130はストレージ装置130の動作の管理を担当するコントローラ135を含む。例えば、他に色々の機能がある中で、コントローラ135はデータ読出し及び書込みを管理し、ロジックブロック住所をストレージ装置305上の物理ブロック住所にマッピング(mapping)する。

0020

他の構成要素の中で、コントローラ135はコントローラ135を直接又は間接的にサーバ105に連結する物理インタフェイス、ストレージ装置130の動作を制御するプロセッサ、フラッシュストレージ内に格納されたデータに対してエラー感知し、訂正する機能を提供するECC(Error Correction Code)回路、ストレージ装置130内のDRAM(Dynamic Random Access Memory)を管理するDRAMコントローラ、そしてフラッシュストレージを管理する1つ又は1つ以上のフラッシュコントローラを含み得る。

0021

コントローラ135は、またマルチストリーミングコントローラを含み得る。マルチストリーミングコントローラは、何のデータが何のブロック(下で説明されるように、各ブロックは互に異なるストリームに関連付けされている)に書き込まれるかを管理する。一部の実施形態では、コントローラ135はこのような構成要素の機能をプログラムするのに適合する単一チップからなる。他の実施形態では、コントローラ135はこのような構成要素の全部又は一部を別々の構成要素(例えば、複数のチップ)として含む。

0022

図2図1のサーバの詳細に示す図面である。図2を参照すれば、一般的に単数又は複数のサーバ105は単数又は複数のプロセッサ110を含む。プロセッサ110はメモリコントローラ205と、サーバ105の構成要素の動作を調整するのに使用されるクロック210を含む。また、プロセッサ110はメモリ115に連結される。例えば、メモリ115はRAM(Random Access Memory)、ROM(Read−Only Memory)、又は他の状態保持媒体(state preserving media)を含む。
また、プロセッサ110はストレージ装置130及びネットワークコネクタ215に連結される。例えば、ネットワークコネクタ215はイーサネット(登録商標)(ethernet)コネクタである。また、他に色々の構成要素がある中で、プロセッサ110はバス220に連結される。バス220はユーザインタフェイス225と連結され、I/O(Input/Output)エンジン230を利用して管理されるI/Oインタフェイスポートに連結される。

0023

図3は従来技術に係り、ジャーナリング及びデータ書込みの両方を遂行するために図1のストレージ装置130と通信する図1のアプリケーション125を示す図面である。図3を参照すれば、アプリケーション125は、図1のデータストレージシステム120の利便を介すること無くストレージ装置130と通信する。
ただ1つのソフトウェア要素(アプリケーション125、図3参照)がストレージ装置130と通信する本発明の一実施形態において、該ソフトウェア要素はジャーナリングを遂行する任意のソフトウェア要素である場合、図3において、アプリケーション125は適用性(applicability)を喪失すること無く、図1のデータストレージシステム120により置換できる。(以下の図7及び図8においては、図1のデータストレージシステム120及びアプリケーション125の両方がストレージ装置130とジャーナリングを遂行する本発明の別の実施形態が説明される。

0024

図3を参照すれば、アプリケーション125はジャーナル書込み要請310をストレージ装置130に伝送する。ジャーナル書込み要請310はジャーナル情報305及び第1ストリーム識別子315を含む。第1ストリーム識別子315はジャーナル情報305が割当てられる特定ストリームを指定する。以下で図4を参照して説明されるように、相異なるストリームはストレージ装置130上の相異なるブロック又はスーパーブロック連関される。ストレージ装置130は単数又は複数の特性(例えば、期待寿命又は他の何らかの分割基準等)に基づいてデータを分割(partition)する。
ジャーナル情報305が直ちにストレージ装置130に書き込まれることを保障するために、ジャーナル書込み要請310は直接I/Oコマンドを使用して伝送される。又は別の選択肢として、同じくジャーナル情報305が直ちにストレージ装置130に書き込まれることを保障するために、ジャーナル書込み要請310は直ちに(一杯に書き込まれない場合にも)フラッシュ(flush)されるバッファに伝送される。

0025

また、アプリケーション125はデータ書込み要請320をストレージ装置130に伝送する。データ書込み要請320はデータ325及び第2ストリーム識別子330を含む。データ325がジャーナル情報305とは異なるストリームに書き込まれるように(結果的に相異なるブロック又はスーパーブロックに書き込まれる)するために、第2ストリーム識別子330は第1ストリーム識別子315と相異なるストリームを識別する。データ書込み要請320はバッファリングされた(buffered)書込み要請として伝送される。その際、ジャーナル書込み要請310が直ちにストレージ装置130に書き込まれているので、データ325は、必ず直ぐではないが、何れはストレージ装置130に書き込まれる。

0026

最終的に、ストレージ装置130はデータ書き込み完了信号335をアプリケーション125に伝送する。信号335はデータ書込み要請320が完了され、データ325がストレージ装置130に書き込まれたことを示す。このような観点で、ジャーナル情報305はデータがストレージ装置130上のどこかに書き込まれた(written)ことをそれ以上保障する必要がなくなる。ガーベッジコレクションを遂行するストレージ装置上で、データは一般的にデータがガーベッジコレクションを通じて削除される前に無効化(invalidated)される。
このようにして、アプリケーション125は無効化要請340をストレージ装置130に伝送して、ジャーナル情報305がストレージ装置130から削除されるように要請する。ジャーナル情報305がデータ325とは異なるブロック又はスーパーブロックに書き込まれたので、無効化要請340はストレージ装置130内に有効か無効かにより断片化された(validity−fragmented)ブロック又はスーパーブロックを誘発しない。

0027

図4はジャーナル及びデータを格納するためにマルチストリーミングを使用する図1のストレージ装置130を示す図面である。図4を参照すれば、複数のブロックA、B、C、D(405、410、415、420)に区分されたストレージ装置130が示された。複数のブロック405、410、415、420の各々は順にページに分割される。例えば、ブロック405は複数のページ425、430、435、440を含み、ブロック410は複数のページ445、450、455、460を含む。図4で、複数のブロック405、410、415、420の各々が4つのページを含むことと図示されたが、これは単なる例示的なものであり、複数のブロック405、410、415、420の各々は任意の望む数のページを含み得る。

0028

SSDにおいて生起するように、ページはストレージ装置130に書き込まれるか、或いは読み出される最小単位のデータを示す。反面に、一部の実施形態で、ブロックはガーベッジコレクションが遂行される最小単位のデータを示す。図4には図示しないが、一部の実施形態で、ストレージ装置130の複数のブロックはスーパーブロックであると称されるさらに大きいブロックに組織化されることができる。スーパーブロックはガーベッジコレクションが遂行される最小単位のデータである。ガーベッジコレクションがブロック又はスーパーブロック上で遂行されるかに拘わらず、ガーベッジコレクションの最小単位はページより大きい。
このような不一致はガーベッジコレクションがストレージ装置130の動作に否定的な影響を及ぼす理由を説明する。即ち、仮にガーベッジコレクションの対象であるブロックの単数又は複数のページ内に有効なデータがある場合、該ブロックがガーベッジコレクション動作の対象になる前にこのような有効データは他のブロックにコピーされなければならない。例えば、ページ445がフリー(free)である場合、仮にページ425が有効データを含む場合、ブロック405がガーベッジコレクション動作の対象になる前に該データは、例えば別のブロック410内のページ445にコピーされなければならない。

0029

一部の実施形態で、ページは複数のブロックに組織される。そして、ガーベッジコレクションが複数のブロックに別々に遂行されるよりは、複数のブロックがスーパーブロックに組織化されてガーベッジコレクションがスーパーブロック上で遂行される。
但し、スーパーブロックの概念がストレージ装置130内のガーベッジコレクションの具現上に影響を及ぼすが、理論的な観点からは、スーパーブロックはガーベッジコレクション目的のためのブロックサイズ再調整に過ぎない。複数のブロックに関する全ての論議はスーパーブロックにも同様に適用されることは容易に理解されよう。

0030

図3について上述したように、個別ブロックはストリームに割当てられる。例えば、複数のブロック405、410は第1ストリーム315に割当てられる。また、複数のブロック415、420は第2ストリーム330に割当てられる。実施形態として、ホット(hot)データ及びコールド(cold)データが相異なるストリームに区分できる状況で、ストリーム割当てはガーベッジコレクション動作に問題を惹起するジャーナル書込み及びデータ書込みの混在を防止することができる。

0031

図5及び図6は従来のアプローチ方法と本発明の実施形態によるアプローチ方法とを使用する図1のストレージ装置130の使用方法を比較して示す図面である。上述したように、従来のシステムでは、図5のブロックA(505)に示すように、ジャーナル書込み及びデータ書込みは図1のストレージ装置130内の同一のブロックに書き込まれる。図5を参照すれば、ブロックA(505)はジャーナル書込みを含む複数のページ510、515、520とデータ書込みを含む複数のページ525、530、540とを含む。

0032

ジャーナル書込みは対応するデータ書込み動作が完了されれば、削除可能になる、即ち、ジャーナル書込みは短い寿命を有する傾向が存在するので、ジャーナル書込み及びデータ書込みの混在はブロックA(535)に示すように断片化されたブロックを残す。ここで、ブロックA(535)は、ブロックA(505)と物理的には同一のブロックであるが、ジャーナル書込みが無効化された後のブロックAを表す。仮にその後にブロックA(535)がガーベッジコレクションの対象になれば、複数のページ525、530、540は先ず他のブロックにコピーされなければならない。このようなコピー動作は時間を消耗し、ストレージ装置130上の他の読出し及び書込み動作を遅延させる。

0033

しかし、本発明の実施形態のように、仮にジャーナル書込み及びデータ書込みが相異なるストリームに伝送されれば、ジャーナル書込みを消去することは断片化されたブロックを残さない。図6はこのような状況を示す。図6を参照すれば、ジャーナル書込みはブロックA(545)に伝送される。他方、データ書込みはブロックC(550)伝送される。複数のジャーナル書込み510、515、520が無効化する場合、ブロック545は他のブロックにコピーされなければならない何らのデータも格納しない。複数のデータ書込み525、530、540は予め、別のブロックC(550)に格納されているからである。
上述した記述はこのような状況を単純化して記述したものである。但し、ジャーナル書込みは同一の時間に全て消去される必要がないので、一般的にジャーナル書込みはそれらが書き込まれた以後に、特にデータ書込みの寿命と比較して相対的に短い時間内に削除される。それ故、ブロックA(545)内の全てのデータは最後のジャーナル書込みがブロックA(545)に書き込まれた後の短時間内に無効化される筈である。その際、何らのデータも他のブロックにコピーされる必要がなく、全ページを含む該ブロックがガーベッジコレクションの対象になる。

0034

図7及び図8はジャーナリング及びデータ書込みの両方を遂行するために図1のストレージ装置130と通信する図1のアプリケーション125及び図1のデータストレージシステム120を示す図面である。アプリケーション125がデータストレージシステム120の利便を介する事無くストレージ装置130と通信する図3対照的に、図7及び図8一連イベント進行手順においてデータストレージシステム120を含む。

0035

図7を参照すれば、アプリケーション125はジャーナル書込み要請310を図3の場合と同じようにジャーナル情報305及び第1ストリーム識別子315と共に伝送する。ジャーナル書込み要請310が直接I/Oコマンドであるので、図7で、アプリケーション125がジャーナル書込み要請310をストレージ装置130に伝送し、その際、データストレージシステム120をバイパス(bypass)することを示した。しかし、他の実施形態では、アプリケーション125はジャーナル書込み要請310をデータストレージシステム120に命令と共に伝送する。その際、該命令はデータストレージシステム120がジャーナル書込み要請310を完了するために直接I/Oコマンドを遂行させる。
しかし、図3と対照的に、アプリケーション125はデータ325及び第2ストリーム識別子330と共にデータ書込み要請320をストレージ装置130ではないデータストレージシステム120に伝送する。そうすると、データストレージシステム120はストレージ装置130に対するデータ325の書込み動作の監督を担当する。

0036

データストレージシステム120自身が自分のデータ及び/又はメタデータに対するジャーナリングを遂行できるので、データストレージシステム120は第2ジャーナル書込み要請605をストレージ装置130に伝送できる。第2ジャーナル書込み要請605は第2ジャーナル情報610及び第3ストリーム識別子615を含む。これは単一データユニットの書込みが複数のジャーナルを含み、従って複数のストリームを含み得ることを示す。

0037

図8を参照すれば、データストレージシステム120自身が自分の第2データ書込み要請620をストレージ装置130に伝送する。第2データ書込み要請620はデータ325及び第2ストリーム識別子330を含む。ここで、第2データ書込み要請620内のデータ325及びストリーム識別子330がデータ書込み要請320内のデータ325及びストリーム識別子330と同一であることが分かる。これで、同一のデータがデータストレージシステム120を通じて単に迂回して書き込まれることが理解されよう。最終的に、ストレージ装置130は第2データ書込み要請620を完遂したことをデータストレージシステム120に通報する第2データ書き込み完了信号625を伝送し、以後データストレージシステム120は第2ジャーナル情報610を削除するために第2無効化要請630を伝送する。

0038

また、仮にストレージ装置130がアプリケーション125の存在を分かる場合、ストレージ装置130はデータ書き込み完了信号335を再びアプリケーション125に伝送し、これに対してアプリケーション125は自身の無効化要請340を伝送する。
しかし、他の実施形態では、データストレージシステム120は第2ジャーナル情報610、ジャーナル情報305の全てを削除するために第2無効化要請630を使用する。
また、他の実施形態で、アプリケーション125にアプリケーション125自身が無効化要請340を伝送できることを知らせるために、データストレージシステム120はデータ書き込み完了信号335をアプリケーション125に伝送する。

0039

上述した実施形態で、アプリケーション125及び/又はデータストレージシステム120はジャーナル情報305、第2ジャーナル情報610の全て又は一部の消去を担当することができる。従って、ジャーナル情報305、第2ジャーナル情報610の全て又は一部の消去が何時可能になるかを知るために、アプリケーション125及び/又はデータストレージシステム120はデータ書き込み完了信号335、第2データ書き込み完了信号625を全て又は一部を受信する必要がある。
しかし、他の実施形態で、ストレージ装置130はデータ325のソースを知り、アプリケーション125及び/又はデータストレージシステム120に対する無効化要請340、第2無効化要請630の全て又は一部を伝送する必要を事前に防止して、データ書込み要請320、第2データ書き込み要請620の全て又は一部が完遂されれば、自動的にジャーナル情報305、第2ジャーナル情報610の全て又は一部を削除する。

0040

一部の実施形態では、多重個(multiple_instances)のデータストレージシステム120が単一ストレージ装置130上に共存する。例えば、ストレージ装置130は複数のジャーナリングファイルシステムパーティション(partitions)を含む。又は、ストレージ装置130は多重個のオブジェクト(object)ストレージを維持する。このような実施形態で、多重個のデータストレージシステム120の各々は自分の第2ジャーナル書込み要請605を同一のストレージ装置130に伝送する。各々の個別の第2ジャーナル書込み要請605は自分の第2ジャーナル情報610及び第3ストリーム識別子615を含む。多重個のデータストレージシステム120の各々は自分の第2データ書込み要請620を同一のストレージ装置130に伝送する。各々の個別の第2データ書込み要請620は自分のデータ325及び第2ストリーム識別子330を含む。

0041

多重個のデータストレージシステム120の各々は、自分の第2ジャーナル情報610及びデータ325を相異なるストリームに載せ、これに対してストレージ装置130は多様な第2ジャーナル情報610及びデータ325を相異なるブロック又はスーパーブロックに格納する。
斯くして、多重個のデータストレージシステム120の各々に対する第2ジャーナル情報610及びデータ325が、相異なるブロック又はスーパーブロックに存在するのみならず、相異なるデータストレージシステム120からの相異なる第2ジャーナル情報610は相異なるブロック又はスーパーブロック内に格納され、且つ、相異なるデータストレージシステム120からの相異なるデータ325は相異なるブロック又はスーパーブロック内に格納される。

0042

図9及び図10は本発明の実施形態によってジャーナリング及びデータ書込みの両方を遂行するために、図1のストレージ装置130と通信する図1のアプリケーション125及び図1のデータストレージシステム120に対する手続を例示的に示すフローチャートである。

0043

図9を参照すれば、S705段階で、図1のアプリケーション125は、図1のストレージ装置130に書き込まれるべき図3のデータ325を職別する。S710段階で、図3のストリーム識別子315を図3のジャーナル情報305に対して使用するためのストリームとして指定するために、図1のアプリケーション125は図3のジャーナル書込み要請310を直接I/Oコマンドとして図1のストレージ装置130に伝送する。

0044

この地点で、手続は相異なる経路に従って進行され得る。
一部の実施形態では、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に伝送する。

0045

又は、他の実施形態として、図1のアプリケーション125は、図3のデータ書込み要請320を図1のストレージ装置130に直接伝送せず、その代わりに、S730段階で、図1のアプリケーション125は図3のデータ書込み要請320を図1のデータストレージシステム120に伝送する。S735段階で、図1のデータストレージシステム120は図7の第2番目のジャーナル書込み要請605を図1のストレージ装置130に伝送する。S740段階で、図1のデータストレージシステム120は図8の第2番目のデータ書込み要請620を図1のストレージ装置130に伝送する。

0046

S745段階で、図1のデータストレージシステム120は図1のストレージ装置130から図8の第2データ書き込み完了信号625を受信する。第2データ書き込み完了信号625は図8の第2データ書込み要請620が完遂されたことを示す。また、S750段階で、図7の第2ジャーナル情報610を削除するために、図1のデータストレージシステム120は図8の第2無効化要請630を図1のストレージ装置130に伝送する。続いて、手続は図9のS720段階に進行される。

0047

図9及び図10において、本発明の一部の実施形態が示された。しかし、当業者は上述した段階の順序を変更するか、一部段階を省略するか、或いは図面に示されない連結を含む、相異なる実施形態が具現できることは容易に理解できよう。明示的に説明されたか否かに関係無く、このような順序の変形は本発明の実施形態として看做される。

0048

以下に、本発明の概念の特定形態が具現できる適切な単数又は複数のマシンに対する簡略であり、一般的な説明が提供される。単数又は複数のマシンは、キーボードマウス等のような従来の入力装置からの入力によって少なくとも一部が制御され、同様に他のマシン、VR(Virtual Reality、仮想)環境との相互作用バイオメトリック(biometric)フィードバック(feedback)、又は他の入力信号から受信された指示によっても制御され得る。
ここで、使用される‘マシン’という用語は幅広く、単体マシン、仮想マシン、又は、通信可能に結合された、マシン、仮想マシン、又は協同動作する装置からなるシステムを含む。例示的なマシンはパーソナル(Personal)コンピュータ、ワークステーション、サーバ、ポータブル(Portable)コンピュータ、ポケット用(Handheld)装置、携帯電話タブレット等を含む。また、例示的なシステムは自動車列車タクシなどの、個人用又は公共用交通装置を含む。

0049

マシンは組込み(embedded)コントローラ等を含む。例えば、組込みコントローラはプログラムが可能であるか、或いは不可能なロジック装置又はアレイ(Array)、ASIC(Application Specific IntegratedCircuits)、組込みコンピュータ、スマートカード等を含む。マシンは単数又は複数の遠隔マシンとの単数又は複の連結を使用できる。例えば、このような連結はネットワークインタフェイスモデム、又は他の擬似伝達連結を通じてなされ得る。

0050

マシンはイントラネットインタネット、LAN(Local Area Network)、WAN(Wide Area Network)等の物理的及び/又は論理的ネットワーク方法によって相互連結され得る。当業者はネットワーク通信が多様な有線及び/又は無線近距離又は長距離キャリヤ、及びプロトコルを利用できることを容易に理解できよう。例えば、キャリヤ及びプロトコルは、RF(Radio Frequency)、衛星(Satellite)、マイクロウェーブ(Microwave)、IEEE(Institute of Electrical and Electronics Engineers)802.11、Bluetooth(登録商標)、可視光線赤外線ケーブルレーザー等を含む。

0051

本発明の実施形態は機能、段階、データ構造アプリケーションプログラムを含む関連データを参照して説明される。これらの機能、段階、データ構造、アプリケーションプログラムは、マシンによってアクセスされる場合にマシンがタスクを遂行するか、或いは抽象的データタイプ又はローレベル(Low−Level)のハードウェアコンテキスト(Context)を定義するようにする。例えば、上述した関連データはRAM、ROMのような揮発性及び/又は不揮発性メモリに格納される。また、関連データは他のストレージ装置及びそれらの関連ストレージ媒体に格納される。例えば、関連ストレージ媒体はハードドライブフロッピーディスク(Floppy−Disks)、光学ストレージ(Optical Storage)、テープ(Tapes)、フラッシュメモリ(Flash Memory)、メモリスティック(Memory Sticks)、デジタルビデオディスク(Digital Video Disks)、生体ストレージ(Biological Storage)等を含む。

0052

関連データは、パケットシリアル(Serial)データ、パラレル(Parallel)データ、電波信号等の形態で、物理的及び/又は論理的ネットワークを含む通信環境を通じて伝送される。また、関連データは圧縮されるか、或いは暗号化された形態で利用される。関連データは分散環境で利用され得、マシンアクセスに対して局所的に、及び/又は、遠隔に格納される。

0053

本発明の実施形態は、有形(tangible)且つ非一時的な(Non−transitory)マシンリーダブル(Readable)媒体を含み得る。マシンリーダブル媒体は1つ又は1つ以上のプロセッサによって遂行される命令を含み、該命令はここで記述された本発明の要素を遂行する命令を含む。

0054

本発明の実施形態は、以下の例(statement)に何ら制限されることなく拡張され得る。

0055

第1例で、本発明の実施形態によるシステムは、
プロセッサ及びメモリを含むコンピュータと、
ストレージ装置と、
プロセッサ上で実行され、ジャーナル書込み要請及びデータ書込み要請の両方を前記ストレージ装置に伝送するように動作するアプリケーションと、
前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリームと関連された第1ブロックにジャーナル情報を書き込み、第2ストリームと関連された第2ブロックにデータを書き込むように指示するコントローラと、を含み、
前記ジャーナル書込み要請は前記ジャーナル情報を含み、前記第1ストリームと関連され、
前記データ書込み要請は前記データを含み、前記第2ストリームと関連される。

0056

第2例で、本発明の実施形態による第1例のシステムにおいて、前記ストレージ装置がSSD(Solid State Drive)を含む。

0057

第3例で、本発明の実施形態による第1例のシステムにおいて、前記アプリケーションは直接(direct)入出力コマンドを利用して前記ストレージ装置に前記ジャーナル書込み要請を伝送するように動作する。

0058

第4例で、本発明の実施形態による第1例のシステムにおいて、前記アプリケーションはバッファリングされた(buffered)書込みコマンドを利用して前記ストレージ装置に前記データ書込み要請を伝送するように動作する。

0059

第5例で、本発明の実施形態による第1例のシステムにおいて、前記コントローラはデータ書込み要請が完了された後に前記ジャーナル情報を削除するための無効化要請を受信するように動作する。

0060

第6例で、本発明の実施形態による第5例のシステムにおいて、前記アプリケーションは前記無効化要請を伝送するように動作する。

0061

第7例で、本発明の実施形態による第6例のシステムにおいて、前記データ書込み要請が完了したことの信号を前記アプリケーションが受信したことに反応して、前記アプリケーションが前記無効化要請を伝送するように動作する。

0062

第8例で、本発明の実施形態による第7例のシステムにおいて、前記データ書込み要請が完了したことの信号を前記コントローラから前記アプリケーションが受信したことに反応して、前記アプリケーションが前記無効化要請を伝送するように動作する。

0063

第9例で、本発明の実施形態による第1例のシステムにおいて、前記アプリケーションは前記プロセッサ上で実行されるデータストレージシステムに前記データ書込み要請を伝送するように動作し、
前記データストレージシステムは第2データ書込み要請を前記ストレージ装置に伝送するように動作し、
前記第2データ書込み要請は前記データを含み、前記第2ストリームと関連される。

0064

第10例で、本発明の実施形態による第9例のシステムにおいて、前記データストレージシステムは第2ジャーナル書込み要請を前記ストレージ装置に伝送するように動作し、
前記第2ジャーナル書込み要請は第2ジャーナル情報を含み、第3ストリームと連関される。

0065

第11例で、本発明の実施形態による第10例のシステムにおいて、前記データストレージシステムは第2無効化要請を伝送するように動作する。

0066

第12例で、本発明の実施形態による第10例のシステムにおいて、前記第2データ書込み要請が完了したことの第2信号を前記データストレージシステムが受信したことに反応して、前記データストレージシステムが前記第2無効化要請を伝送するように動作する。

0067

第13例で、本発明の実施形態による第12例のシステムにおいて、前記第2データ書込み要請が完了したことの第2信号を前記コントローラから前記データストレージシステムが受信したことに反応して、前記データストレージシステムが前記第2無効化要請を伝送するように動作する。

0068

第14例で、本発明の他の実施形態による方法は、
ジャーナル書込み及びデータ書込み両方を実行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データにガーベッジコレクションを遂行するストレージ装置にジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を含み、
前記ジャーナル書込み要請は第1ストリームに割当され、前記データ書込み要請は第2ストリームに割当される。

0069

第15例で、本発明の実施形態による第14例の方法において、
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は前記アプリケーションからSSD(Solid State Drive)に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は前記アプリケーションから前記SSDに前記データ書込み要請を伝送する段階を含む。

0070

第16例で、本発明の実施形態による第14例の方法において、
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は直接(direct)入出力コマンドを利用して前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階はバッファリングされた(buffered)書込みコマンドを利用して前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階を含む。

0071

第17例で、本発明の実施形態による第14例の方法において、前記データ書込み要請が前記ストレージ装置に書き込まれた以後に前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む。

0072

第18例で、本発明の実施形態による第17例の方法において、前記無効化要請を前記ストレージ装置に伝送する段階は前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む。

0073

第19例で、本発明の実施形態による第18例の方法において、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで受信する段階を含む。

0074

第20例で、本発明の実施形態による第19例の方法において、前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで受信する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで前記ストレージ装置から受信する段階を含む。

0075

第21例で、本発明の実施形態による第14例の方法において、前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階は、
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む。

0076

第22例で、本発明の実施形態による第21例の方法において、前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は前記データストレージシステムから前記ストレージ装置に第2ジャーナル書込み要請を伝送する段階を含む。

0077

第23例で、本発明の実施形態による第22例の方法において、前記第2データ書込み要請が前記ストレージ装置に書き込まれた以後に前記第2ジャーナル書込み要請によって書き込まれた前記データを削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む。

0078

第24例で、本発明の実施形態による第23例の方法において、前記無効化要請を前記ストレージ装置に伝送する段階は前記無効化要請を前記データストレージシステムから前記ストレージ装置に伝送する段階を含む。

0079

第25例で、本発明の実施形態による第24例の方法において、前記無効化要請を前記データストレージシステムから前記ストレージ装置に伝送する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記データストレージシステムで受信する段階を含む。

0080

第26例で、本発明の実施形態による第25例の方法において、前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記データストレージシステムで受信する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記データストレージシステムで前記ストレージ装置から受信する段階を含む。

0081

第27例で、本発明の実施形態による非一時的な(Non−Transitory)命令を格納する類型のストレージ媒体を含む装置において、
前記非一時的な命令はマシンによって実行される時、
ジャーナル書込み及びデータ書込み両方を実行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データにガーベッジコレクションを遂行するストレージ装置にジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、を遂行し、
前記ジャーナル書込み要請は第1ストリームに割当され、前記データ書込み要請は第2ストリームに割当される。

0082

第28例で、本発明の実施形態による第27例の装置において、
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は前記アプリケーションからSSD(Solid State Drive)に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階は前記アプリケーションから前記SSDに前記データ書込み要請を伝送する段階を含む。

0083

第29例で、本発明の実施形態による第27例の装置において、
前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階は直接(direct)入出力コマンドを利用して前記アプリケーションから前記ストレージ装置に前記ジャーナル書込み要請を伝送する段階を含み、
前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階はバッファリングされた(buffered)書込みコマンドを利用して前記アプリケーションから前記ストレージ装置に前記データ書込み要請を伝送する段階を含む。

0084

第30例で、本発明の実施形態による第27例の装置において、
前記非一時的な命令はマシンによって実行される時、
前記データ書込み要請が前記ストレージ装置に書き込まれた以後に前記ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに遂行する。

0085

第31例で、本発明の実施形態による第30例の装置において、前記無効化要請を前記ストレージ装置に伝送する段階は前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む。

0086

第32例で、本発明の実施形態による第31例の装置において、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで受信する段階を含む。

0087

第33例で、本発明の実施形態による第32例の装置において、前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで受信する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記記アプリケーションで前記ストレージ装置から受信する段階を含む。

0088

第34例で、本発明の実施形態による第27例の装置において、前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階は、
前記アプリケーションからデータストレージシステムに前記データ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を含む。

0089

第35例で、本発明の実施形態による第34例の装置において、前記データストレージシステムから前記ストレージ装置に前記第2データ書込み要請を伝送する段階は前記データストレージシステムから前記ストレージ装置に第2ジャーナル書込み要請を伝送する段階を含む。

0090

第36例で、本発明の実施形態による第35例の装置において、
前記非一時的な命令はマシンによって実行される時、
前記第2データ書込み要請が前記ストレージ装置に書き込まれた以後に前記第2ジャーナル書込み要請によって書き込まれた前記データを削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに実行する。

0091

第37例で、本発明の実施形態による第36例の装置において、前記無効化要請を前記ストレージ装置に伝送する段階は前記無効化要請を前記データストレージシステムから前記ストレージ装置に伝送する段階を含む。

0092

第38例で、本発明の実施形態による第37例の装置において、前記無効化要請を前記データストレージシステムから前記ストレージ装置に伝送する段階は前記ストレージ装置上の前記データ書込み要請が完了したことの信号を前記データストレージシステムで受信する段階を含む。

0093

上記に説明した内容は本発明を実施するための具体的な例である。本発明には上記に説明した実施形態のみだけでなく、単純に設計変更するか、或いは容易に変更できる実施形態も含まれる。また、本発明には上述した実施形態を利用して将来に容易に変形して実施できる技術も含まれる。

0094

105サーバ
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無効化要請

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2021/03/18)

    【課題】特定のコマンドの実行が完了する時間を保証することが可能なメモリシステムを提供する。【解決手段】メモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。メモリコントローラは、1以上の... 詳細

  • 株式会社日立製作所の「 計算機システム及び文書の分類方法」が 公開されました。( 2021/03/18)

    【課題】文書の分類結果とともに、分類の根拠をユーザに提示する計算機システム及び文書の分類方法を提供する。【解決手段】計算機システムは、文書のデータの入力を受け付け、文書及び文書の要素を構成要素とする非... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2021/03/18)

    【課題】信号の反射によるバスでの信号波形の品質の劣化を抑制できるメモリシステムを提供する。【解決手段】メモリシステムは、バスが形成された第1基板、第2基板部、第2基板部に配置されたメモリ、及びコントロ... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ