JP2010541107A - ソリッドステートドライブオプティマイザ - Google Patents
ソリッドステートドライブオプティマイザ Download PDFInfo
- Publication number
- JP2010541107A JP2010541107A JP2010528181A JP2010528181A JP2010541107A JP 2010541107 A JP2010541107 A JP 2010541107A JP 2010528181 A JP2010528181 A JP 2010528181A JP 2010528181 A JP2010528181 A JP 2010528181A JP 2010541107 A JP2010541107 A JP 2010541107A
- Authority
- JP
- Japan
- Prior art keywords
- ssd
- fragment
- free space
- threshold
- fragment size
- 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.)
- Pending
Links
- 239000007787 solid Substances 0.000 title claims abstract description 38
- 239000012634 fragment Substances 0.000 claims abstract description 204
- 238000000034 method Methods 0.000 claims abstract description 17
- 239000000945 filler Substances 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 abstract description 5
- 230000002829 reductive effect Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 7
- 238000013403 standard screening design Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/0638—Organizing or formatting or addressing of data
-
- 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/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/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
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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
この出願は、2007年10月5日に出願された米国仮特許出願連続番号第60/978,086号および2008年10月3日に出願された米国通常出願特許出願連続番号第12/244,771号の優先権を主張する。
この出願は、2006年10月10日に出願された米国特許出願連続番号第11/546,072号、2006年10月10日に出願された米国特許出願連続番号第11/546,514号および2006年6月19日日に出願された米国特許出願連続番号第11/471,466号をこの明細書中に引用により援用する。
この発明は、概して、ソリッドステートドライブに関する。より具体的には、この発明は、ソリッドステートドライブを最適化することに関する。
この節に説明されるアプローチは、遂行され得るアプローチであるが、以前に着想または遂行されたアプローチであるとは限らない。したがって、特に明記しない限り、この節に説明されるアプローチのいずれも、単にこの節に含まれるからといって先行技術と見なされるとみなされるべきでない。
以下の説明では、説明のために、多数の特定的な詳細が記載されて、この発明の完全な理解を与える。しかしながら、この発明はこういった特定的な詳細なしに実施されてもよいことが明らかであるだろう。他の例において、この発明を不必要に不明瞭にすることを避けるために、周知の構造および装置は、ブロック図形式で示されている。
ソリッドステートドライブ(SSD)の最適化方法が提供される。SSDへのファイル書込みは、書込まれている空き領域断片がそのファイル全体には小さすぎる場合、多数の消去および書込オペレーションを必要とすることがある。たとえば、ファイルが書込まれているSSDにある各空き領域断片がそのファイルのサイズよりも大幅に小さい場合、このファイルは、多数の断片に分割されることがあり、ファイル全体がSSDに書込まれるまで、各空き領域断片に対して書込オペレーションが必要とされることがある。したがって、この発明は、小さな空き領域断片が書込性能に影響を与えないように、この空き領域断片をデータで埋めることにより、または、この空き領域断片を大型化することにより、小さな空き領域断片を除去することで、SSDを最適化する。これは、オペレーティングシステムにファイルを順次または少なくともより少ない空き領域断片に書込ませ、これにより最高書込性能が得られる。
ファイルシステムレベルで参照される空き領域断片は、データを含んでいるものとは参照されないものであって、割当てに利用可能な、メモリブロックまたは記憶領域である。空き領域断片は、メモリに記憶されたオブジェクトがたとえばメモリ空間への参照を取除くことによって削除されるときに生成されることがある。オブジェクトは、オブジェクトが作成されたのと同じ順には削除されないことがあるので、削除されたオブジェクトに対応する空き領域断片がデータが記憶され参照されるメモリブロック間に作成される。各空き領域断片への書込は、消去オペレーションを必要とすることがあり、書込オペレーションを必要とする。したがって、空き領域断片がファイルを保持するには小さすぎる場合、ファイルは、断片化され、多くの異なる空き領域断片に書込まれなければならない。空き領域断片が小さいほど、ファイルを書込むのにいっそうの断片化が必要になる。ドライブが時間当たり行うことができる書込オペレーションの数には限界があるので、多数の小さな空き領域断片は、高レベルのファイル断片化を必要とし、ドライブの最大シーケンシャル書込速度の利用を妨げることがある。したがって、この発明のある実施例において、指定されたしきい値断片サイズよりも小さい空き領域断片は、除去される。空き領域断片の除去により、ファイルシステムによって書込まれる空き領域断片の数が減少する。
特定のコンピュータアーキテクチャがこの明細書中に説明されるものの、この発明の他の実施例は、しきい値断片サイズに基づいてソリッドステートドライブ(SSD)を最適化するために用いることができる任意のアーキテクチャに適用可能である。
インターフェイス(105)は、一般的に、データをSSD(100)とやり取りする(たとえばデータを記憶するまたはデータを取得する)ために用いることができる任意の接続を表わす。たとえば、インターフェイス(105)は、SSD(100)とデータ転送のためのマザーボードとの間の接続であってもよい。インターフェイス(105)は、データワードを並列にまたはビットシリアル形式で搬送してもよい。インターフェイス(105)の例には、アドバンスドテクノロジーアタッチメント(ATA)(たとえばシリアルアドバンスドテクノロジーアタッチメント(SATA)およびパラレルアドバンスドテクノロジーアタッチメント(PATA))またはインテリジェントドライブエレクトロニクス(IDE)またはスモールコンピュータシステムインターフェイス(SCSI)が含まれるが、これに限定されない。インターフェイス(105)は、外部構成要素がソリッドステートメモリ(115)に直接アクセスするまたはメモリコントローラ(110)を用いるコマンドを介してソリッドステートメモリ(115)に間接的にアクセスすることを可能にしてもよい。
1つ以上の実施例において、メモリコントローラ(110)は、一般的に、ソリッドステートメモリ(115)に出入りするデータの流れを管理するロジックを含む構成要素を表わす。メモリコントローラ(110)は、SSD(110)自体にあるものとして示されているものの、メモリコントローラ(110)は、ある実施例に従って別の構成要素上にあってもよい。メモリコントローラ(110)は、メモリコントローラ(110)をソリッドステートメモリ(115)に接続するために必要な配線の数または複雑性を減少させるために、一式のマルチプレクサおよびデマルチプレクサ、または、予め定義されたプロトコル(ATA)を介してソリッドステートメモリ(115)に接続されてもよい。
1つ以上の実施例において、ソリッドステートメモリ(115)は、一般的に、デジタルデータを保持するロジックを含むデータ記憶コンポーネントを表わす。ソリッドステートメモリ(115)は、ロジックとハードウェアとを含んでデジタルデータを保持する半導体装置を含む。たとえば、ソリッドステートメモリ(115)は、ビットを相変化RAM、シングルレベルセル(SLC)またはマルチレベルセル(MLC)に記憶してもよい。上述のしきい値断片サイズ(120)は、ビットがソリッドステートメモリ(115)内のSLCに記憶されたのかまたはMLCに記憶されたのかに基づいて、異なって演算されてもよい。さらに、しきい値断片サイズ(120)も、マルチレベルセル中のレベルの数に基づいて異なって演算されてもよい。ソリッドステートメモリ(115)は、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、パラメータランダムアクセスメモリ(PRAM)、フラッシュメモリ(たとえばNORフラッシュメモリおよびNANDフラッシュメモリ)、相変化メモリ(PCM)または別の種類の適切なメモリとして実装されてもよい。
1つ以上の実施例において、ソリッドステートドライブオプティマイザ(125)は、一般的に、SSD性能を向上させるためにSSD(100)を最適化するために用いられるソフトウェアおよび/またはハードウェアを表わす。たとえば、SSDオプティマイザ(125)は、SSD(100)に接続された装置上で実行されているソフトウェアアプリケーションに対応してもよい。コンピュータシステムにおいて、ソリッドステートオプティマイザ(125)は、データをSSD(100)に記憶する他のアプリケーションと同時に実行されるアプリケーションであってもよい。別の例において、SSDオプティマイザ(125)は、SSD(100)を最適化するために組み込まれたロジックを備えた装置に対応してもよい。図1においてSSD(100)に接続されたものとして示されているものの、SSDオプティマイザ(125)は、この発明のある実施例に従って、SSD(100)自体にあるソフトウェアおよび/またはコンポーネントにも対応してもよい。
1つ以上の実施例において、SSDオプティマイザ(125)に記憶されたものとして示されるしきい値断片サイズ(120)は、上述のタスクを行なう際にSSDオプティマイザ(125)によって用いられる特定の空き領域断片サイズに対応する。具体的には、しきい値断片サイズ(120)よりも小さい空き領域断片は、SSDオプティマイザ(125)によって除去され、しきい値断片サイズ(120)以上の大きさの空き領域断片は、SSDオプティマイザ(125)によるデータ記憶のために保持される。しきい値断片サイズ(120)よりも小さい空き領域断片を除去する際のしきい値断片サイズ(120)の使用により、ファイルシステムは、ファイルを単一の空き領域断片または多数の空き領域断片にSSDの1秒当りのメモリ書込IO(IOPS)の限界内でシーケンシャルに書込まざるをえなくなってもよく、これは、SSDの1秒当りの書込IOに基づいたSSD性能に影響を与えない。
図2には、1つ以上の実施例に従った、しきい値断片サイズを用いてソリッドステートドライブ(SSD)を最適化するためのフローチャートが示されている。以下に説明されるステップのうち1つ以上は、省略して、繰返して、および/または異なる順序で行なわれてもよい。したがって、図2に示されるステップの特定の配置は、この発明の範囲を限定するものであると解釈されるべきでない。
図3は、こコンピュータシステム300を説明するブロック図であり、このシステム上でこの発明のある実施例が実装されてもよい。コンピュータシステム300は、情報を通信するためのバス302または他の通信機構と、バス302と結合されて情報を処理するためのプロセッサ304とを含む。コンピュータシステム300は、バス302に結合され情報およびプロセッサ304によって実行されるべき命令を記憶するための、ランダムアクセスメモリ(RAM)または他の動的な記憶装置などのメインメモリ306も含む。メインメモリ306は、プロセッサ304によって実行されるべき命令の実行中に一時的変数または他の中間情報を記憶するためにも用いられてもよい。コンピュータシステム300は、さらに、バス302に結合され静的な情報およびプロセッサ304に対する命令を記憶するための読出専用メモリ(ROM)308または他の静的な記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置310は、情報および命令を記憶するために設けられ、バス302と結合されている。
前述の明細書において、この発明の実施例は、実装例ごとに変化することがある多数の特定的な詳細を参照して説明された。よって、発明であるものおよび出願人によって発明であると意図されるものを唯一および独占的に示すものは、この出願から生じるある請求項のセットであり、如何なる後の訂正も含めて、そのような請求項が発行される特定の形態におけるものである。そのような請求項に含まれる用語についてこの明細書中において明示的に記載されるいずれの定義も、請求項において用いられるようにそのような用語の意味を決定するものとする。したがって、請求項において明示的に記載されていない限定、要素、性質、特徴、利点または属性は、そのような請求項の範囲を如何なるようにも限定するものではない。したがって、明細書および図面は、限定的ではなく例示的に認識されるべきである。
Claims (17)
- SSD上の空き領域断片がしきい値断片サイズよりも小さいかどうかを決定するステップと、
前記SSD上の前記空き領域断片が前記しきい値断片サイズよりも小さい場合、前記空き領域断片を除去するステップと、
前記SSD上の前記空き領域断片が前記しきい値断片サイズよりも小さくない場合、データを記憶するために前記空き領域断片を保持するステップとを備える、方法。 - 前記しきい値断片サイズは、
前記SSDのシーケンシャル書込速度と、
前記SSDの1秒当りの入出力(I/O)とのうち少なくとも1つ以上に基づいて演算される、請求項1に記載の方法。 - 前記しきい値断片サイズは、前記SSDの前記シーケンシャル書込速度を前記SSDの前記1秒当りのI/Oで除算するステップを含む1つ以上のステップを用いて演算される、請求項2に記載の方法。
- 前記空き領域断片を除去するステップは、
前記空き領域断片を除去するのに必要な1つ以上のリソースの利用がアイドル基準にいつ準拠するかを決定するステップと、
前記アイドル基準に準拠している前記1つ以上のリソースの前記利用に応答して、前記空き領域断片を除去するステップとを含む、請求項1に記載の方法。 - 前記空き領域断片を除去するステップは、前記空き領域断片をファイルの少なくとも一部で埋めるステップを含む、請求項1に記載の方法。
- 前記ファイルは、
仮フィラーファイルと、
ほとんど使用されないファイルとのうち1つ以上である、請求項5に記載の方法。 - 第2の空き領域断片を除去するステップは、前記空き領域断片を隣接する空き領域断片とマージして、マージされた空き領域断片を得るステップを含み、前記マージされた空き領域断片は、前記しきい値断片サイズよりも大きい、請求項1に記載の方法。
- 前記しきい値断片サイズは、
ユーザから前記しきい値断片サイズを受取るステップ、
前記しきい値断片サイズを演算するステップ、
前記SSD内部に物理的に組込まれた要素から前記しきい値断片サイズを得るステップ、
前記しきい値断片サイズに対してさまざまな値をテストし、最適な性能が得られる前記しきい値断片サイズを選択することによって、前記しきい値断片サイズを決定するステップによって得られる、請求項1に記載の方法。 - ソリッドステートドライブ(SSD)オプティマイザであって、
前記SSD上の空き領域断片がしきい値断片サイズよりも小さいかどうかを決定するための手段と、
前記SSD上の前記空き領域断片が前記しきい値断片サイズよりも小さい場合、前記空き領域断片を除去するための手段と、
前記SSD上の前記空き領域断片が前記しきい値断片サイズより小さくない場合、データを記憶するために前記空き領域断片を保持するための手段とを備える、SSDオプティマイザー。 - 前記SSDのシーケンシャル書込速度と、
前記SSDの1秒当りの入出力(I/O)とのうち少なくとも1つ以上に基づいて、前記しきい値断片サイズを演算するための手段をさらに備える、請求項9に記載のSSDオプティマイザー。 - 前記しきい値断片サイズを演算するための前記手段は、前記しきい値断片サイズを決定するために前記SSDの前記シーケンシャル書込速度を前記SSDのI/O速度で除算するための手段を含む、請求項10に記載のSSDオプティマイザー。
- 前記空き領域断片を除去するための手段は、
前記空き領域断片を除去するのに必要な1つ以上のリソースの利用がいつアイドル基準に準拠するかを決定するための手段を含む、請求項9に記載のSSDオプティマイザー。 - 前記空き領域断片を除去するための前記手段は、
前記空き領域断片をファイルの少なくとも一部で埋めるための手段を含む、請求項9に記載のSSDオプティマイザー。 - 前記ファイルは、
仮フィラーファイルと、
ほとんど使用されないファイルとのうち1つ以上である、請求項13に記載のSSDオプティマイザー。 - 第2の空き領域断片を除去するための前記手段は、マージされた空き領域断片を得るために前記空き領域断片を隣接する空き領域断片とマージするための手段を含み、前記マージされた空き領域断片は、前記しきい値断片サイズよりも大きい、請求項9に記載のSSDオプティマイザー。
- ユーザから前記しきい値断片サイズを受取るための手段、
前記しきい値断片サイズを演算するための手段、
前記しきい値断片サイズを前記SSD内部に物理的に組込まれた要素から得るための手段、または
前記しきい値断片サイズに対してさまざまな値をテストし、最適な性能が得られる前記しきい値断片サイズを選択することによって、前記しきい値断片サイズを決定するための手段をさらに備える、請求項9に記載のSSDオプティマイザー。 - 1つ以上のプロセッサによって実行されると前記プロセッサに請求項1から8のいずれかに記載された方法を実行させる命令の1つ以上のシーケンスを備える、コンピュータ読取可能記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97808607P | 2007-10-05 | 2007-10-05 | |
PCT/US2008/078823 WO2009046353A1 (en) | 2007-10-05 | 2008-10-03 | Solid state drive optimizer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010541107A true JP2010541107A (ja) | 2010-12-24 |
JP2010541107A5 JP2010541107A5 (ja) | 2011-11-10 |
Family
ID=40097481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010528181A Pending JP2010541107A (ja) | 2007-10-05 | 2008-10-03 | ソリッドステートドライブオプティマイザ |
Country Status (10)
Country | Link |
---|---|
US (1) | US8086819B2 (ja) |
EP (1) | EP2195730A1 (ja) |
JP (1) | JP2010541107A (ja) |
KR (1) | KR20100071063A (ja) |
CN (1) | CN102203717A (ja) |
AU (1) | AU2008308549B9 (ja) |
CA (1) | CA2700872A1 (ja) |
RU (1) | RU2479013C2 (ja) |
TW (1) | TW200937276A (ja) |
WO (1) | WO2009046353A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030081A (ja) * | 2011-07-29 | 2013-02-07 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
JP2015513741A (ja) * | 2012-02-29 | 2015-05-14 | ネットアップ,インコーポレイテッド | 重複排除のオペレーションを実行するためのフラグメンテーションのコントロール |
JP2015141681A (ja) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875033B2 (en) * | 2009-05-12 | 2018-01-23 | International Business Machines Corporation | Apparatus and method for minimizing data storage media fragmentation |
US8285955B2 (en) * | 2009-10-16 | 2012-10-09 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for automatic solid state drive performance recovery |
KR20110046243A (ko) * | 2009-10-27 | 2011-05-04 | 삼성전자주식회사 | 사용자 장치 및 그것의 맵핑 데이터 관리 방법 |
KR101638061B1 (ko) * | 2009-10-27 | 2016-07-08 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법 |
US8638010B2 (en) * | 2010-02-17 | 2014-01-28 | Integrated Device Technology, Inc. | Systems, devices, and methods for providing backup power to a load |
US8380949B2 (en) | 2010-05-20 | 2013-02-19 | International Business Machines Corporation | Managing write operations to an extent of tracks migrated between storage devices |
US8615640B2 (en) | 2011-03-17 | 2013-12-24 | Lsi Corporation | System and method to efficiently schedule and/or commit write data to flash based SSDs attached to an array controller |
US8639900B2 (en) * | 2011-05-25 | 2014-01-28 | International Business Machines Corporation | Defragmentation of data storage pools |
US8990477B2 (en) * | 2012-04-19 | 2015-03-24 | Sandisk Technologies Inc. | System and method for limiting fragmentation |
US9443591B2 (en) | 2013-01-23 | 2016-09-13 | Seagate Technology Llc | Storage device out-of-space handling |
US9218281B2 (en) | 2012-05-04 | 2015-12-22 | Seagate Technology Llc | Maintaining ordering via a multi-level map of a solid-state media |
US8918583B2 (en) * | 2012-12-20 | 2014-12-23 | Virtium Technology, Inc. | Adapting behavior of solid-state drive using real usage model |
US20140359196A1 (en) * | 2013-05-31 | 2014-12-04 | Daniel J. Ragland | On-the-fly performance adjustment for solid state storage devices |
CN103631940B (zh) * | 2013-12-09 | 2017-02-08 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
US10621041B2 (en) * | 2016-03-25 | 2020-04-14 | Intel Corporation | Methods and apparatus to assign indices and relocate object fragments in distributed storage systems |
US9747106B1 (en) * | 2016-09-30 | 2017-08-29 | International Business Machines Corporation | Allocating multiple operand data areas of a computer instruction within a program buffer |
US11029856B2 (en) * | 2018-03-02 | 2021-06-08 | Qualcomm Incorporated | Flash memory device with data fragment function |
TWI687921B (zh) * | 2019-02-01 | 2020-03-11 | 宏碁股份有限公司 | 主機、疊瓦式磁記錄硬碟及其運作方法 |
US11520663B2 (en) * | 2019-09-04 | 2022-12-06 | Waters Technologies Ireland Limited | Techniques for analytical application installation optimization |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999015954A1 (en) * | 1997-09-24 | 1999-04-01 | Sony Pictures Entertainment, Inc. | Large block allocation for disk based file systems |
US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
JP2005050192A (ja) * | 2003-07-30 | 2005-02-24 | Matsushita Electric Ind Co Ltd | 情報記録システム |
JP2006113938A (ja) * | 2004-10-18 | 2006-04-27 | Ricoh Co Ltd | データの再配置方法と追加記録方法およびプログラム |
WO2007034706A1 (ja) * | 2005-09-22 | 2007-03-29 | Matsushita Electric Industrial Co., Ltd. | 情報記録媒体アクセス装置、及びデータ記録方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675790A (en) * | 1993-04-23 | 1997-10-07 | Walls; Keith G. | Method for improving the performance of dynamic memory allocation by removing small memory fragments from the memory pool |
US6330583B1 (en) * | 1994-09-09 | 2001-12-11 | Martin Reiffin | Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks |
JP4110593B2 (ja) * | 1997-05-19 | 2008-07-02 | ソニー株式会社 | 信号記録方法及び信号記録装置 |
JP3588231B2 (ja) * | 1997-08-04 | 2004-11-10 | 東京エレクトロンデバイス株式会社 | データ処理システム及びブロック消去型記憶媒体 |
US7268774B2 (en) * | 1998-08-18 | 2007-09-11 | Candledragon, Inc. | Tracking motion of a writing instrument |
US6591287B1 (en) * | 1999-09-08 | 2003-07-08 | Lucent Technologies Inc. | Method to increase the efficiency of job sequencing from sequential storage |
US7096327B2 (en) * | 2000-03-24 | 2006-08-22 | Koninklijke Philips Electronics N.V. | System for and method of accessing blocks on a storage medium |
US7170891B2 (en) * | 2001-08-30 | 2007-01-30 | Messenger Terabit Networks, Inc. | High speed data classification system |
US7076781B2 (en) * | 2002-05-31 | 2006-07-11 | International Business Machines Corporation | Resource reservation for large-scale job scheduling |
US7451704B1 (en) * | 2003-03-20 | 2008-11-18 | The United States Of America As Represented By The Secretary Of The Army | Multifunctional explosive fragmentation airburst munition |
RU2280273C2 (ru) * | 2003-07-16 | 2006-07-20 | Открытое акционерное общество "Научно-производственное объединение "Прибор" | Способ структурирования и записи цифровой информации и устройство для его осуществления |
US20050240934A1 (en) * | 2004-04-21 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Task management based on system utilization |
US20070143759A1 (en) * | 2005-12-15 | 2007-06-21 | Aysel Ozgur | Scheduling and partitioning tasks via architecture-aware feedback information |
GB2439577B (en) * | 2006-06-30 | 2011-12-14 | Data Equation Ltd | Data processing |
-
2008
- 2008-10-03 CN CN2008801104462A patent/CN102203717A/zh active Pending
- 2008-10-03 US US12/244,771 patent/US8086819B2/en active Active
- 2008-10-03 KR KR1020107007920A patent/KR20100071063A/ko not_active Application Discontinuation
- 2008-10-03 AU AU2008308549A patent/AU2008308549B9/en not_active Ceased
- 2008-10-03 EP EP08836059A patent/EP2195730A1/en not_active Withdrawn
- 2008-10-03 WO PCT/US2008/078823 patent/WO2009046353A1/en active Application Filing
- 2008-10-03 RU RU2010112956/08A patent/RU2479013C2/ru not_active IP Right Cessation
- 2008-10-03 CA CA2700872A patent/CA2700872A1/en not_active Abandoned
- 2008-10-03 TW TW097138233A patent/TW200937276A/zh unknown
- 2008-10-03 JP JP2010528181A patent/JP2010541107A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999015954A1 (en) * | 1997-09-24 | 1999-04-01 | Sony Pictures Entertainment, Inc. | Large block allocation for disk based file systems |
US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
JP2005050192A (ja) * | 2003-07-30 | 2005-02-24 | Matsushita Electric Ind Co Ltd | 情報記録システム |
JP2006113938A (ja) * | 2004-10-18 | 2006-04-27 | Ricoh Co Ltd | データの再配置方法と追加記録方法およびプログラム |
WO2007034706A1 (ja) * | 2005-09-22 | 2007-03-29 | Matsushita Electric Industrial Co., Ltd. | 情報記録媒体アクセス装置、及びデータ記録方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030081A (ja) * | 2011-07-29 | 2013-02-07 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
JP2015513741A (ja) * | 2012-02-29 | 2015-05-14 | ネットアップ,インコーポレイテッド | 重複排除のオペレーションを実行するためのフラグメンテーションのコントロール |
JP2015141681A (ja) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
RU2479013C2 (ru) | 2013-04-10 |
AU2008308549B2 (en) | 2012-08-09 |
TW200937276A (en) | 2009-09-01 |
CN102203717A (zh) | 2011-09-28 |
AU2008308549A2 (en) | 2010-06-24 |
CA2700872A1 (en) | 2009-04-09 |
AU2008308549A1 (en) | 2009-04-09 |
AU2008308549B9 (en) | 2012-10-18 |
WO2009046353A1 (en) | 2009-04-09 |
US8086819B2 (en) | 2011-12-27 |
US20090094433A1 (en) | 2009-04-09 |
KR20100071063A (ko) | 2010-06-28 |
EP2195730A1 (en) | 2010-06-16 |
RU2010112956A (ru) | 2011-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8086819B2 (en) | Solid state drive optimizer | |
US12039184B2 (en) | Apparatus and method for performing garbage collection in a memory system | |
US11340812B2 (en) | Efficient modification of storage system metadata | |
US7853759B2 (en) | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices | |
TWI539277B (zh) | 增加記憶體中之備用空間以延長記憶體之生命週期之系統、方法及電腦程式產品 | |
CN109213696B (zh) | 用于缓存管理的方法和设备 | |
US20160110121A1 (en) | Resource reservation for storage system metadata updates | |
AU2003286967B2 (en) | Dual journaling store method and storage medium thereof | |
CN103838676B (zh) | 数据存储系统、数据存储方法及pcm桥 | |
CN102349055A (zh) | 对存储在存储器上的文件的访问时间最优化 | |
US11436159B2 (en) | Using multi-tiered cache to satisfy input/output requests | |
WO2019062202A1 (zh) | 硬盘操作命令的执行方法、硬盘及存储介质 | |
CN101968755A (zh) | 一种自适应应用负载变化的快照生成方法 | |
US8161251B2 (en) | Heterogeneous storage array optimization through eviction | |
US20220269609A1 (en) | Apparatus and method for improving input/output throughput of memory system | |
CN107632781B (zh) | 一种分布式存储多副本快速校验一致性的方法及存储结构 | |
KR20140041408A (ko) | 저장 위치 속성 및 데이터 사용량 통계에 기초하여 데이터 저장을 위한 저장 위치 선택 | |
US8140804B1 (en) | Systems and methods for determining whether to perform a computing operation that is optimized for a specific storage-device-technology type | |
US11853618B2 (en) | Method, electronic device, and computer product for RAID reconstruction | |
KR20240011609A (ko) | 원격 서버로부터 읽은 낮은 레이턴시 데이터를 위한 데이터 프리패칭 시스템 및 방법 | |
Zuolo et al. | Memory driven design methodologies for optimal SSD performance | |
CN117420952A (zh) | 基于软件lun管理的aipr命令实现数据结构及方法 | |
CN119201010A (zh) | 一种记录数据处理方法、装置、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110916 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130514 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130702 |