JP2017120626A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2017120626A5 JP2017120626A5 JP2016240058A JP2016240058A JP2017120626A5 JP 2017120626 A5 JP2017120626 A5 JP 2017120626A5 JP 2016240058 A JP2016240058 A JP 2016240058A JP 2016240058 A JP2016240058 A JP 2016240058A JP 2017120626 A5 JP2017120626 A5 JP 2017120626A5
- Authority
- JP
- Japan
- Prior art keywords
- data
- write request
- storage device
- journal
- request
- 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
Description
上記目的を達成するためになされた本発明によるシステムは、ストレージ(格納)装置(device)を含むシステムであって、プロセッサ及びメモリを含むコンピュータと、ストレージ装置と、前記プロセッサ上で実行され、ジャーナル(journal)書込み要請をストレージ装置に伝送し、データ書込み要請をデータストレージシステムに伝送するように動作するアプリケーションと、第2ジャーナル書込み要請を前記ストレージ装置に伝送し、第2データ書込み要請を前記ストレージ装置に伝送するように動作する前記データストレージシステムと、前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリーム(stream)に割り当てられた第1ブロック(block)にジャーナル情報を書き込み、第2ストリームに割り当てられた第2ブロックにデータを書き込み、第3ストリームに割り当てられた第3ブロックに第2ジャーナル情報を書き込むように指示するコントローラと、を含み、前記ジャーナル書込み要請は、前記ジャーナル情報を含み、前記第1ストリームに割り当てられ、前記データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、前記アプリケーションは、前記データ書込み要請を前記プロセッサ上で実行されるデータストレージシステムに伝送するように動作し、前記第2ジャーナル書込み要請は、第2ジャーナル情報を含み、第3ストリームに割り当てられ、前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、前記第1ストリーム、第2ストリーム、第3ストリームは、データ特性によって定義されることを特徴とする。
上記目的を達成するためになされた本発明による二重書込み方法は、ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、前記アプリケーションから無効データに対するガーベッジコレクション(garbage_collection)を遂行するストレージ装置に、ジャーナル書込み要請を伝送する段階と、前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、前記アプリケーションからデータストレージシステムにデータ書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に第2ジャーナル書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を有し、前記ジャーナル書込み要請は、第1ストリームに割り当てられ、直接入出力(I/O)要請として伝送され、前記データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、バッファリングされた入出力(I/O)要請として伝送され、前記第2ジャーナル書込み要請は、第3ストリームに割り当てられ、前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、前記ジャーナル書込み要請及び前記第2ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする。
上記目的を達成するためになされた本発明による装置は、非一時的な(Non−Transitory)命令を格納した有形(tangible)のストレージ媒体(tangible storage medium)を含む装置(article)において、前記非一時的な命令がマシンによって実行される時、ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、無効データに対するガーベッジコレクションを遂行するストレージ装置に、前記アプリケーションからジャーナル書込み要請を伝送する段階と、前記アプリケーションからデータストレージシステムにデータ書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に、第2ジャーナル書込み要請を伝送する段階と、前記データストレージシステムから前記ストレージ装置に、第2データ書込み要請を伝送する段階と、を遂行し、前記ジャーナル書込み要請は、第1ストリームに割り当てられ、直接入出力(I/O)要請として伝送され、前記データ書込み要請は、第2ストリームに割り当てられ、バッファリングされた入出力(I/O)要請として伝送され、前記第2ジャーナル書込み要請は、第3ストリームに割り当てられ、前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、前記ジャーナル書込み要請及び前記第2ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする。
Claims (21)
- ストレージ(格納)装置(device)を含むシステムであって、
プロセッサ及びメモリを含むコンピュータと、
ストレージ装置と、
前記プロセッサ上で実行され、ジャーナル(journal)書込み要請をストレージ装置に伝送し、データ書込み要請をデータストレージシステムに伝送するように動作するアプリケーションと、
第2ジャーナル書込み要請を前記ストレージ装置に伝送し、第2データ書込み要請を前記ストレージ装置に伝送するように動作する前記データストレージシステムと、
前記ストレージ装置上に位置し、前記ストレージ装置が第1ストリーム(stream)に割り当てられた第1ブロック(block)にジャーナル情報を書き込み、第2ストリームに割り当てられた第2ブロックにデータを書き込み、第3ストリームに割り当てられた第3ブロックに第2ジャーナル情報を書き込むように指示するコントローラと、を含み、
前記ジャーナル書込み要請は、前記ジャーナル情報を含み、前記第1ストリームに割り当てられ、
前記データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、
前記アプリケーションは、前記データ書込み要請を前記プロセッサ上で実行されるデータストレージシステムに伝送するように動作し、
前記第2ジャーナル書込み要請は、第2ジャーナル情報を含み、第3ストリームに割り当てられ、
前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、
前記第1ストリーム、第2ストリーム、第3ストリームは、データ特性によって定義されることを特徴とするシステム。 - 前記コントローラは、前記データ書込み要請が完遂された以後に前記ジャーナル情報を削除するために無効化(invalidate)要請を受信するように動作する、ことを特徴とする請求項1に記載のシステム。
- 前記アプリケーションは、前記無効化要請を伝送するように動作する、ことを特徴とする請求項2に記載のシステム。
- 前記アプリケーションは、前記データ書込み要請が完遂されたという信号を前記アプリケーションが受信したことに応答して、前記無効化要請を伝送するように動作する、ことを特徴とする請求項3に記載のシステム。
- 前記データストレージシステムは、第2無効化要請を伝送するようにさらに動作する、ことを特徴とする請求項1に記載のシステム。
- 前記データストレージシステムは、第2データ書込み要請が完了した後、前記ジャーナル情報を削除するために第2無効化要請を伝送するようにさらに動作する、ことを特徴とする請求項5に記載のシステム。
- 前記ジャーナル書込み要請は、直接入出力(I/O)要請として伝送され、
前記データ書込み要請は、バッファリングされた入出力(I/O)要請として伝送され、
前記ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする請求項1に記載のシステム。 - 前記第2データ書込み要請に含まれるデータは、前記データ書込み要請に含まれるデータであることを特徴とする請求項1に記載のシステム。
- 前記ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする請求項1に記載のシステム。
- 前記第3ブロックは、前記第1ブロックであることを特徴とする請求項1に記載のシステム。
- 前記ジャーナル書込み要請は、前記アプリケーションによって前記第1ストリームに割り当てられ、
前記データ書込み要請は、前記アプリケーションによって前記第2ストリームに割り当てられることを特徴とする請求項1に記載のシステム。 - 前記第1ブロック及び前記第2ブロックは、単一の媒体(media)タイプであることを特徴とする請求項1に記載のシステム。
- ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、
前記アプリケーションから無効データに対するガーベッジコレクション(garbage_collection)を遂行するストレージ装置に、ジャーナル書込み要請を伝送する段階と、
前記アプリケーションから前記ストレージ装置にデータ書込み要請を伝送する段階と、
前記アプリケーションからデータストレージシステムにデータ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2ジャーナル書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に第2データ書込み要請を伝送する段階と、を有し、
前記ジャーナル書込み要請は、第1ストリームに割り当てられ、直接入出力(I/O)要請として伝送され、
前記データ書込み要請は、前記データを含み、第2ストリームに割り当てられ、バッファリングされた入出力(I/O)要請として伝送され、
前記第2ジャーナル書込み要請は、第3ストリームに割り当てられ、
前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、
前記ジャーナル書込み要請及び前記第2ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする二重書込み方法。 - 前記データ書込み要請が前記ストレージ装置に書き込まれた以後に、ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項13に記載の二重書込み方法。
- 前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項14に記載の二重書込み方法。
- 前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階は、前記ストレージ装置上の前記データ書込み要請が完遂されたという信号を前記アプリケーションで受信する段階を含む、ことを特徴とする請求項15に記載の二重書込み方法。
- 前記第2データ書込み要請が前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記データを削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに含む、ことを特徴とする請求項13に記載の二重書込み方法。
- 非一時的な(Non−Transitory)命令を格納した有形(tangible)のストレージ媒体(tangible storage medium)を含む装置(article)において、
前記非一時的な命令がマシンによって実行される時、
ジャーナル書込み及びデータ書込みの両方を遂行するアプリケーションから書き込まれるデータを識別する段階と、
無効データに対するガーベッジコレクションを遂行するストレージ装置に、前記アプリケーションからジャーナル書込み要請を伝送する段階と、
前記アプリケーションからデータストレージシステムにデータ書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に、第2ジャーナル書込み要請を伝送する段階と、
前記データストレージシステムから前記ストレージ装置に、第2データ書込み要請を伝送する段階と、を遂行し、
前記ジャーナル書込み要請は、第1ストリームに割り当てられ、直接入出力(I/O)要請として伝送され、
前記データ書込み要請は、第2ストリームに割り当てられ、バッファリングされた入出力(I/O)要請として伝送され、
前記第2ジャーナル書込み要請は、第3ストリームに割り当てられ、
前記第2データ書込み要請は、前記データを含み、前記第2ストリームに割り当てられ、
前記ジャーナル書込み要請及び前記第2ジャーナル書込み要請は、前記データ書込み要請の前記データを前記ストレージ装置に確実に書き込むために用いられることを特徴とする装置。 - 前記非一時的な命令を格納した有形のストレージ媒体を含む装置において、前記非一時的な命令がマシンによって実行される時、
前記データ書込み要請が前記ストレージ装置に書き込まれた以後に、ジャーナル情報を削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに遂行する、ことを特徴とする請求項18に記載の装置。 - 前記無効化要請を前記ストレージ装置に伝送する段階は、前記無効化要請を前記アプリケーションから前記ストレージ装置に伝送する段階を含む、ことを特徴とする請求項19に記載の装置。
- 前記非一時的な命令を格納した有形のストレージ媒体を含む装置において、前記非一時的な命令がマシンによって実行される時、
前記第2データ書込み要請が前記ストレージ装置に書き込まれた以後に、前記第2ジャーナル書込み要請によって書き込まれた前記データを削除するために無効化要請を前記ストレージ装置に伝送する段階をさらに実行する、ことを特徴とする請求項18に記載の装置。
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 US9959046B2 (en) | 2015-12-30 | 2016-04-01 | Multi-streaming mechanism to optimize journal based data storage systems on SSD |
US15/089,237 | 2016-04-01 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017120626A JP2017120626A (ja) | 2017-07-06 |
JP2017120626A5 true 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 | 삼성전자주식회사 | 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치 |
KR102698959B1 (ko) * | 2020-01-29 | 2024-08-27 | 삼성전자주식회사 | 키-값 스토리지 장치들에 대한 입출력 성능을 향상을 위한 키 값 객체 입출력들 그룹화 |
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 |
JP2011515727A (ja) * | 2008-02-12 | 2011-05-19 | ネットアップ,インコーポレイテッド | ハイブリッド媒体ストレージシステムアーキテクチャ |
US8949684B1 (en) * | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8725951B2 (en) | 2010-04-12 | 2014-05-13 | Sandisk Enterprise Ip Llc | Efficient 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 |
US9389805B2 (en) * | 2011-08-09 | 2016-07-12 | Seagate Technology Llc | I/O device and computing host interoperation |
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 | 이화여자대학교 산학협력단 | 비휘발성 메모리에 기반하여 저널링 기능을 통합한 버퍼 캐시 장치, 저널링 파일 시스템 및 저널링 방법 |
WO2015126518A2 (en) | 2014-02-20 | 2015-08-27 | Rambus Inc. | High performance persistent memory |
JP2016170583A (ja) | 2015-03-12 | 2016-09-23 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US20160283124A1 (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
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017120626A5 (ja) | ||
JP2015144000A5 (ja) | ||
JP2010055557A5 (ja) | ||
JP2015069651A5 (ja) | ||
JP2010113702A5 (ja) | ||
JP2014524610A5 (ja) | ||
JP2014513338A5 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
JP2011519461A5 (ja) | ||
TWI702500B (zh) | 使用多串流的系統、方法以及製品 | |
US9400603B2 (en) | Implementing enhanced performance flash memory devices | |
JP2012242961A5 (ja) | ||
JP2004021556A5 (ja) | ||
CN105339909B (zh) | 存储系统和有别名的存储器 | |
JP2016186828A5 (ja) | 記憶装置および記憶制御方法 | |
JP2008171278A5 (ja) | ||
JP2011508296A5 (ja) | ||
JP2018531471A6 (ja) | 分散キャッシュライブマイグレーション | |
JP2015150706A5 (ja) | ||
CN104239252A (zh) | 数据存储系统的数据传输方法、装置及系统 | |
JP2018129074A5 (ja) | ストレージシステム、およびストレージシステムの制御方法 | |
WO2014100954A1 (zh) | 数据控制方法及系统 | |
TWI530785B (zh) | 電腦系統及非揮發性記憶體的控制方法 | |
TWI540511B (zh) | 用以存取虛擬機器之電腦系統及方法 | |
CN105229622B (zh) | 应用和硬件设备之间的通信系统和方法 | |
KR20090098275A (ko) | 플래시 메모리 시스템 |