JPWO2017006674A1 - 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム - Google Patents
情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム Download PDFInfo
- Publication number
- JPWO2017006674A1 JPWO2017006674A1 JP2017527130A JP2017527130A JPWO2017006674A1 JP WO2017006674 A1 JPWO2017006674 A1 JP WO2017006674A1 JP 2017527130 A JP2017527130 A JP 2017527130A JP 2017527130 A JP2017527130 A JP 2017527130A JP WO2017006674 A1 JPWO2017006674 A1 JP WO2017006674A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- storage medium
- fragmentation
- write
- 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
- 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/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- 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/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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価手段と、
前記断片化評価手段が評価するタイミングを選定するタイミング選定手段と、
前記タイミングにおいて前記断片化評価手段が評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示手段と、
を備える。
ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価ステップと、
前記断片化評価ステップにおいて評価するタイミングを選定するタイミング選定ステップと、
前記タイミングにおいて前記断片化評価ステップにおいて評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示ステップと、
を含む。
ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価ステップと、
前記断片化評価ステップにおいて評価するタイミングを選定するタイミング選定ステップと、
前記タイミングにおいて前記断片化評価ステップにおいて評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示ステップと、
をコンピュータに実行させる。
ホストコンピュータと、
記憶媒体と、
前記ホストコンピュータによる前記記憶媒体へのアクセスを制御する記憶制御装置と、
を備え、
前記記憶制御装置は、
前記ホストコンピュータが前記記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価手段と、
前記断片化評価手段が評価するタイミングを選定するタイミング選定手段と、
前記タイミングにおいて前記断片化評価手段が評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示手段と、
を有する。
本発明の第1実施形態としての記憶制御装置100について、図1を用いて説明する。記憶制御装置100は、ホストコンピュータによる記憶媒体のアクセスを制御する装置である。
次に、本発明の第2実施形態に係る記憶制御装置を記憶制御部としてホストコンピュータ内に含む情報処理システムについて説明する。本実施形態に係る情報処理システムにおいては、記憶制御部が、ホストコンピュータのOS(Operating System)やアプリケーションプログラム(以下、アプリケーションと称す)の記憶媒体へのアクセス(ReadおよびWrite)における履歴情報から、一連のデータを書き込むWriteアクセスの終了を再配置処理とタイミングを選定して、記憶媒体における物理アドレス空間における記憶領域の断片化状態を推定する。そして、断片化状態があらかじめ定めた状態を超えている場合、断片化状態の領域をまとめて再配置することにより、断片化解消を実現する。
本実施形態の記憶制御方法を説明する前に、その前提となる記憶制御技術を説明する。
上記前提技術の課題を解決するため、第2実施形態乃至第5実施形態においては、SSDの内部で実行される、NANDフラッシュの記憶領域に対する内部処理の1つであるGCにおいて、回収対象のブロックから有効なデータを退避するための処理に伴う負荷を軽減し、SSDのアクセス性能の向上、長寿命化を図るための技術を提供する。
図2は、本実施形態に係る情報処理システム200の構成を示す図である。
図3Aは、本実施形態に係る記憶制御装置としての記憶制御部220の機能構成を示すブロック図である。
図3Bは、本実施形態に係る再配置開始部320の機能構成を示すブロック図である。
図4Aは、本実施形態に係る断片化状態管理テーブル303の構成を示す図である。断片化状態管理テーブル303は、記憶媒体240の現在の総Write量を管理する総Write量管理テーブル410と、格納処理の途中の各データに対してエントリを保持する格納エントリテーブル420と、を有する。
図4Bは、本実施形態に係る更新履歴管理テーブル305の構成を示す図である。
図4Cは、本実施形態に係る格納終了検出テーブル341の構成を示す図である。格納終了検出テーブル341は、タイミング選定部304において、断片化の度合いを評価して再配置を指示するタイミングを選定するために使用される。
図4Dは、本実施形態に係る断片化評価テーブル361の構成を示す図である。断片化評価テーブル361は、断片化評価部306において、タイミング選定部304が選定したタイミングで断片化の度合いを評価するために使用される。
図4Eは、本実施形態に係る再配置評価テーブル371の構成を示す図である。再配置評価テーブル371は、再配置指示部307において、タイミング選定部304が選定したタイミングで再配置を指示するか否かを判定するために使用される。
図5は、本実施形態に係る記憶制御部220を含むホストコンピュータ210のハードウェア構成を示すブロック図である。なお、図5においては、記憶制御部220はホストコンピュータ210のソフトウェア処理として図示するが、記憶制御部220を、ホストコンピュータ210とは独立したワンチップのコンピュータで実現してもよい。
図6は、本実施形態に係る記憶制御部220の処理手順を示すフローチャートである。このフローチャートは、図5のCPU510がRAM540を使用して実行し、図3Aおよび図3Bの機能構成部を実現する。
図7は、本実施形態に係るRead処理(S613)の手順を示すフローチャートである。図7は、図6のステップS613において、例えば、OSからRead要求を受け取り、要求されたデータを返す手順である。
図8Aおよび図8Bは、本実施形態に係るWrite処理(S623)の手順を示すフローチャートである。図8Aおよび図8Bは、例えば、図6のステップS623において、OSからWrite要求を受け取り、Writeキュー311に格納するまでの手順である。
図9Aおよび図9Bは、本実施形態に係る断片化制御処理(S633)の手順を示すフローチャートである。本実施形態に係る断片化制御処理は、各データに対する格納処理の終了を検出し、再配置処理が必要であるか判定を行い、再配置制御部330が再配置処理を開始する手順である。
次に、本発明の第3実施形態に係る記憶制御装置を記憶制御部としてホストコンピュータ内に含む情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態と比べると、記憶制御装置が断片化解消の再配置処理中に、ホストコンピュータ210で動作するソフトウェアやOSによる新たなWrite要求を受けた場合に、再配置処理を中止または中断するか否かを判定する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態に係る記憶制御装置としての記憶制御部1020の機能構成は、図3Aと同様である。しかしながら、本実施形態においては、再配置制御部330が再配置処理中に、ホストコンピュータ1210で動作するソフトウェアやOSによる新たなWrite要求を受けた場合に、再配置処理を中止または中断するか否かを判定する。なお、本実施形態において、再配置開始部320の構成は第2実施形態の構成に限定されず、所定の断片化条件で再配置の開始を指示する構成であればよい。
図10は、本実施形態に係る再配置制御部330の機能構成を示すブロック図である。
例えば、再配置制御部330は、図10に示すWrite要求待機制御部と、再配置処理部として機能するとも考えられる。この場合、Write要求待機制御部と再配置処理部との処理は以下のようになる。
図11Aは、本実施形態に係る再配置評価テーブル1051の構成を示す図である。再配置評価テーブル1051は、再配置処理評価部1005が、現在実行中の再配置処理の効果を評価するために使用される。なお、図11Aにおいて、図4Eと同様の要素には同じ参照番号を付して、説明を省略する。
図11Bは、本実施形態に係る優先処理判定テーブル1061の構成を示す図である。優先処理判定テーブル1061は、優先処理判定部1006が、Writeキュー311の最後の予測処理時刻と、現在実行中の再配置処理の効果とを参照して、現在実行中の再配置処理を維持するか、中止または中断するかを判定するために使用される。なお、優先処理判定テーブル1061には、Writeキュー311の最後の予測処理時刻の算出も示されている。
図12は、本実施形態に係る記憶制御部1020を含むホストコンピュータ1210のハードウェア構成を示すブロック図である。なお、図12において、図5と同様の構成要素には同じ参照番号を付して、説明は省略する。図12においては、第2実施形態において使用されるテーブルやモジュールは、表示を簡略化ないしは省略している。
図13Aおよび図13Bは、本実施形態に係る記憶制御部1020における再配置中のWrite要求に対する処理手順を示すフローチャートである。このフローチャートは、図12のCPU510がRAM1240を使用して実行し、図10の機能構成部を実現する。
次に、本発明の第4実施形態に係る記憶制御装置を記憶制御部としてホストコンピュータ内に含む情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態および第3実施形態と比べると、再配置処理の開始タイミングおよび再配置処理中のWrite要求処理を共に行なう点で異なる。その他の構成および動作は、第2実施形態や第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
図14は、本実施形態に係る記憶制御装置としての記憶制御部1420の機能構成を示すブロック図である。なお、図14において、図3B、図10と同様の機能構成部には同じ参照番号を付して、説明は省略する。
次に、本発明の第5実施形態に係る記憶制御装置を記憶制御部としてホストコンピュータ内に含む情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第4実施形態と比べると、断片化が著しいと評価される領域へのWrite処理を代替するためのバッファを有する点で異なる。その他の構成および動作は、第2実施形態から第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
図15は、本実施形態に係る情報処理システム1500の構成を示す図である。なお、図15において、図2と同様の機能構成部には同じ参照番号を付して、説明を省略する。
次に、本発明の第6実施形態に係る記憶制御装置を記憶制御部としてホストコンピュータ内に含む情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第5実施形態と比べると、記憶制御部が記憶媒体側にある点、あるいは、ネットワークを介してホストコンピュータの外部にある点で異なる。その他の構成および動作は、第2実施形態から第5実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
図16は、本実施形態に係る記憶制御部1643または1620を含む情報処理システム1600の構成を示す図である。なお、図16において、図2と同様の構成要素には同じ参照番号を付して、説明を省略する。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
Claims (15)
- ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価手段と、
前記断片化評価手段が評価するタイミングを選定するタイミング選定手段と、
前記タイミングにおいて前記断片化評価手段が評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示手段と、
を備える記憶制御装置。 - 前記タイミング選定手段は、一連のデータを書き込むWriteアクセスの終了を、前記断片化評価手段が評価するタイミングと選定する、請求項1に記載の記憶制御装置。
- 前記一連のデータを書き込むWriteアクセスの終了は、前記ホストコンピュータからの前記一連のデータを含むファイルのクローズ要求、前記一連のデータの格納に対する終了指示、前記ホストコンピュータからの前記記憶媒体とのセッションの切断またはコネクションの切断、または、前記記憶媒体への最終書き込みからの時間経過によって検出される、請求項2に記載の記憶制御装置。
- 前記断片化評価手段は、一連のデータを書き込むWriteアクセスが終了した際に、前記一連のデータのサイズと、前記Writeアクセスの開始時から終了時までの間に、前記Writeアクセスとは別のWriteアクセスにより前記記憶媒体に対して書き込まれたデータのサイズと、に基づいて、前記一連のデータの断片化されて記憶されている前記度合いを評価する、請求項1乃至3のいずれか1項に記載の記憶制御装置。
- 前記再配置指示手段は、前記データ再配置処理により前記記憶媒体へのアクセスの性能が向上するか否かを評価し、前記データ再配置処理により前記記憶媒体へのアクセスの性能が向上すると評価した場合に、前記データ再配置処理の実行を指示する、請求項1乃至4のいずれか1項に記載の記憶制御装置。
- 前記再配置指示手段は、前記データ再配置処理の実行によって前記記憶媒体の内部処理に伴うデータの移動量の削減期待値が、前記データ再配置処理により一連のデータを読み出して書き込むために必要とするデータの移動量を超える場合に、前記データ再配置処理が前記記憶媒体へのアクセス性能を向上させると評価する、請求項5に記載の記憶制御装置。
- 前記削減期待値は、前記データ再配置処理を行った場合の前記内部処理によって移動されるデータの合計サイズに関する期待値と、前記データ再配置処理を行わなかった場合の前記合計サイズに関する期待値との差によって算出される、請求項6に記載の記憶制御装置。
- 前記合計サイズに関する期待値は、1回あたりの前記内部処理で移動されるデータ量と、前記断片化評価手段が評価した前記度合いを考慮した、データが更新または削除されるまでの間に前記内部処理によって回収される回数の期待値との積によって計算される、請求項7に記載の記憶制御装置。
- 前記内部処理は、ガベージコレクションを含む、請求項6乃至8のいずれか1項に記載の記憶制御装置。
- 前記ホストコンピュータからのWriteが行われていない状態を検出した場合に、前記再配置指示手段により指示された前記データ再配置処理を開始する再配置制御手段をさらに備える請求項1乃至9前記データのいずれか1項に記載の記憶制御装置。
- 前記再配置制御手段は、前記データ再配置処理の処理中に前記ホストコンピュータからWrite要求を受け取ったときに、前記データ再配置処理が前記記憶媒体へのアクセスの性能を向上させるか否かを評価して、前記アクセスの性能を向上させる場合は前記データ再配置処理の継続を指示し、前記アクセスの性能を向上させない場合は前記データ再配置処理の中止または中断を指示する、請求項10に記載の記憶制御装置。
- 前記アクセスの性能を向上させる場合は前記Write要求の待機を指示し、前記アクセスの性能を向上させない場合は前記Write要求の実行を指示するWrite要求制御手段を、さらに備える請求項11に記載の記憶制御装置。
- ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価ステップと、
前記断片化評価ステップにおいて評価するタイミングを選定するタイミング選定ステップと、
前記タイミングにおいて前記断片化評価ステップにおいて評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示ステップと、
を含む記憶制御方法。 - ホストコンピュータが記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価ステップと、
前記断片化評価ステップにおいて評価するタイミングを選定するタイミング選定ステップと、
前記タイミングにおいて前記断片化評価ステップにおいて評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示ステップと、
をコンピュータに実行させる記憶制御プログラム。 - ホストコンピュータと、
記憶媒体と、
前記ホストコンピュータによる前記記憶媒体へのアクセスを制御する記憶制御装置と、
を備え、
前記記憶制御装置は、
前記ホストコンピュータが前記記憶媒体にアクセスする際に用いる論理アドレス空間における論理アドレス領域に対応するデータが、前記記憶媒体の内部で使用される物理アドレス空間において、複数の物理アドレス領域に断片化されて記憶されている度合いを評価する断片化評価手段と、
前記断片化評価手段が評価するタイミングを選定するタイミング選定手段と、
前記タイミングにおいて前記断片化評価手段が評価した前記度合いに基づいて、前記論理アドレス領域に対応するデータを前記記憶媒体の内部の連続した物理アドレス領域に書き込まれるように再配置するデータ再配置処理の実行を指示する再配置指示手段と、
を有する、情報処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015135002 | 2015-07-06 | ||
JP2015135002 | 2015-07-06 | ||
PCT/JP2016/066684 WO2017006674A1 (ja) | 2015-07-06 | 2016-06-03 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017006674A1 true JPWO2017006674A1 (ja) | 2018-04-19 |
JP6691669B2 JP6691669B2 (ja) | 2020-05-13 |
Family
ID=57685315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017527130A Active JP6691669B2 (ja) | 2015-07-06 | 2016-06-03 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10402114B2 (ja) |
JP (1) | JP6691669B2 (ja) |
WO (1) | WO2017006674A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346054B1 (en) * | 2017-07-13 | 2019-07-09 | EMC IP Holding Company LLC | Policy driven IO scheduler resilient to storage subsystem performance |
US10509739B1 (en) | 2017-07-13 | 2019-12-17 | EMC IP Holding Company LLC | Optimized read IO for mix read/write scenario by chunking write IOs |
US10719245B1 (en) | 2017-07-13 | 2020-07-21 | EMC IP Holding Company LLC | Transactional IO scheduler for storage systems with multiple storage devices |
US10599340B1 (en) | 2017-07-13 | 2020-03-24 | EMC IP Holding LLC | Policy driven IO scheduler to improve read IO performance in hybrid storage systems |
US10592123B1 (en) | 2017-07-13 | 2020-03-17 | EMC IP Holding Company LLC | Policy driven IO scheduler to improve write IO performance in hybrid storage systems |
US11029856B2 (en) * | 2018-03-02 | 2021-06-08 | Qualcomm Incorporated | Flash memory device with data fragment function |
CN110928852B (zh) * | 2019-12-09 | 2022-12-02 | Oppo广东移动通信有限公司 | 一种垃圾回收方法、装置及计算机可读存储介质 |
KR20210157157A (ko) | 2020-06-19 | 2021-12-28 | 삼성전자주식회사 | 메모리 컨트롤러의 구동방법, 호스트의 구동방법 및 스토리지 장치 |
US11809736B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for quantifying storage fragmentation and predicting performance drop |
US11809747B2 (en) * | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for optimizing write-amplification factor, endurance, and latency during a defragmentation operation |
US11847343B2 (en) | 2021-12-22 | 2023-12-19 | Western Digital Technologies, Inc. | Storage system and method for non-blocking coherent re-writes |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JP4257834B2 (ja) * | 2003-05-06 | 2009-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 磁気ディスク装置、ファイル管理システム及びその方法 |
JP4146380B2 (ja) * | 2004-03-29 | 2008-09-10 | 東芝ソリューション株式会社 | ストレージシステム、ブロック再配置制御方法及びプログラム |
JP2008198102A (ja) * | 2007-02-15 | 2008-08-28 | Dainippon Screen Mfg Co Ltd | データ処理システム、データ記憶装置、ハードディスク装置、およびデータ記憶装置におけるデータ管理方法 |
US8572307B2 (en) | 2007-07-20 | 2013-10-29 | Panasonic Corporation | Memory controller, memory card, and nonvolatile memory system |
US8639900B2 (en) | 2011-05-25 | 2014-01-28 | International Business Machines Corporation | Defragmentation of data storage pools |
CN103827970B (zh) | 2012-09-25 | 2016-05-18 | 株式会社东芝 | 对固态驱动器再配置数据的存储装置、存储控制器以及方法 |
US20140281132A1 (en) * | 2013-03-15 | 2014-09-18 | Marielle Bundukin | Method and system for ram cache coalescing |
US9645742B2 (en) * | 2014-02-05 | 2017-05-09 | Sandisk Technologies Llc | Storage module and host device for storage module defragmentation |
-
2016
- 2016-06-03 US US15/742,176 patent/US10402114B2/en active Active
- 2016-06-03 WO PCT/JP2016/066684 patent/WO2017006674A1/ja active Application Filing
- 2016-06-03 JP JP2017527130A patent/JP6691669B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6691669B2 (ja) | 2020-05-13 |
US10402114B2 (en) | 2019-09-03 |
US20180196619A1 (en) | 2018-07-12 |
WO2017006674A1 (ja) | 2017-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6691669B2 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
WO2017006675A1 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
WO2016175028A1 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
CA2894936C (en) | Controller, flash memory apparatus, and method for writing data into flash memory apparatus | |
EP3103009B1 (en) | Flash memory compression | |
US8904061B1 (en) | Managing storage operations in a server cache | |
US20160162187A1 (en) | Storage System And Method For Processing Writing Data Of Storage System | |
US9507720B2 (en) | Block storage-based data processing methods, apparatus, and systems | |
US9182912B2 (en) | Method to allow storage cache acceleration when the slow tier is on independent controller | |
EP2665065A2 (en) | Electronic device employing flash memory | |
KR20140006299A (ko) | 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치 | |
JPWO2013186828A1 (ja) | 計算機システム及び制御方法 | |
KR20090107098A (ko) | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 | |
WO2016002325A1 (ja) | 情報処理システム、情報処理方法、記憶制御装置およびその制御方法と制御プログラム | |
JP2021135538A (ja) | ストレージ制御装置及びストレージ制御プログラム | |
CN108334457B (zh) | 一种io处理方法及装置 | |
JP4765967B2 (ja) | 情報処理装置及び情報処理方法並びにプログラム | |
JP5910596B2 (ja) | ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム | |
CN102622307B (zh) | 硬盘数据的操作方法和硬盘控制器 | |
WO2018008676A1 (ja) | 情報処理システム、キャッシュ容量配分方法、記憶制御装置、記憶制御方法、及び記録媒体 | |
US10007437B2 (en) | Management apparatus, storage system, method, and computer readable medium | |
JP6668785B2 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
CN116583827A (zh) | 数据存取方法、装置、磁盘控制器、磁盘和数据存储*** | |
KR101426806B1 (ko) | 오브젝트 아이디에 기반하여 저장 매체에서의 영속화를 제어하는 방법, 그 컴퓨터 시스템 및 스토리지 시스템 | |
WO2017168690A1 (ja) | ストレージ装置、及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171121 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191007 |
|
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: 20200312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6691669 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |