JP6847694B2 - ソリッドステートドライブ、ガーベッジコレクションを遂行する方法、及びストレージ媒体を含む物品 - Google Patents
ソリッドステートドライブ、ガーベッジコレクションを遂行する方法、及びストレージ媒体を含む物品 Download PDFInfo
- Publication number
- JP6847694B2 JP6847694B2 JP2017023269A JP2017023269A JP6847694B2 JP 6847694 B2 JP6847694 B2 JP 6847694B2 JP 2017023269 A JP2017023269 A JP 2017023269A JP 2017023269 A JP2017023269 A JP 2017023269A JP 6847694 B2 JP6847694 B2 JP 6847694B2
- Authority
- JP
- Japan
- Prior art keywords
- solid state
- state drive
- garbage collection
- command
- ssd
- 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.)
- Active
Links
- 239000007787 solid Substances 0.000 title claims description 101
- 238000000034 method Methods 0.000 title claims description 44
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 11
- 150000001875 compounds Chemical class 0.000 description 8
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 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
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000029305 taxis Effects 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/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
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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)
- Memory System (AREA)
Description
大容量データベースの性能を改善し、そしてレイテンシの最小化及び維持費用の節減の2つの目標の均衡をなす方法に対する要求が存在する。
本発明の技術的思想の実施形態はソリッドステートドライブ(SSD)を含む。SSDはデータのためのストレージ、前記ストレージにおいてガーベッジコレクションを遂行するガーベッジコレクションロジック、遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンド及びデータ要請を受信する受信回路、前記条件を格納する条件ストレージ、前記SSDの状態を判別する状態判別器、及び前記条件と前記SSDの状態とを比較する比較器を含む。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記比較器が、前記SSDの前記状態が前記条件を満足することを示すと、前記ガーベッジコレクションロジックが前記ストレージにおいてガーベッジコレクションを遂行するようにトリガーするトリガー回路をさらに含む。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記条件は複合条件を含む。
本発明の技術的思想の実施形態は第2ステートメントにしたがうSSDを含み、前記トリガー回路は前記比較器が前記SSDの状態が前記条件を満足し、そして前記SSDの自由消去ブロックの数が閾値より低いことを示すと、前記ガーベッジコレクションロジックが前記ストレージにおいてガーベッジコレクションを遂行するようにトリガーする。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記受信回路はホストから前記構成コマンドを受信する。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記条件は遊休区間を含み、前記状態判別器は前記SSDに対する遊休時間を判別し、前記比較器は前記SSDに対する遊休時間を前記遊休区間と比較する。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記条件はキュー深さ閾値を含み、前記状態判別器は前記SSDに対するコマンドキュー深さを判別し、前記比較器は前記SSDに対する前記コマンドキュー深さを前記キュー深さ閾値と比較する。
本発明の技術的思想の実施形態は第7ステートメントにしたがうSSDを含み、前記状態判別器は複数の深さから前記SSDに対する前記コマンドキュー深さを判別する。
本発明の技術的思想の実施形態は第8ステートメントにしたがうSSDを含み、前記状態判別器は前記コマンドキュー深さを前記複数の深さの平均として計算する。
本発明の技術的思想の実施形態は第8ステートメントにしたがうSSDを含み、前記状態判別器は前記コマンドキュー深さを前記複数の深さの合計として計算する。
本発明の技術的思想の実施形態は第8ステートメントにしたがうSSDを含み、前記状態判別器は前記コマンドキュー深さを前記複数の深さの中央値として計算する。
本発明の技術的思想の実施形態は第8ステートメントにしたがうSSDを含み、前記状態判別器は前記コマンドキュー深さを前記複数の深さの最大として計算する。
本発明の技術的思想の実施形態は第8ステートメントにしたがうSSDを含み、前記状態判別器は前記コマンドキュー深さを前記複数の深さの最小として計算する。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記受信回路は前記ホストから命令を受信してガーベッジコレクションを遂行する。
本発明の技術的思想の実施形態は第1ステートメントにしたがうSSDを含み、前記構成コマンドは使用者が構成可能な構成コマンドである。
本発明の技術的思想の実施形態はガーベッジコレクションを遂行する方法を含む。ガーベッジコレクションを遂行する方法はソリッドステートドライブ(SSD)において遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンドを受信する段階、前記条件を前記SSDに格納する段階、及び前記条件を利用して前記SSDにおいてガーベッジコレクションを遂行する段階を含む。
本発明の技術的思想の実施形態は第16ステートメントにしたがう方法を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいてホストから前記構成コマンドを受信する段階を含む。
本発明の技術的思想の実施形態は第16ステートメントにしたがう方法を含み、前記条件を利用して前記SSDにおいてガーベッジコレクションを遂行する段階は、前記SSDの状態をモニターする段階、前記SSDの状態を前記条件と比較する段階、及び前記SSDの状態が前記条件を満足すれば、前記SSDにおいてガーベッジコレクションを遂行する段階を含む。
本発明の技術的思想の実施形態は第18ステートメントにしたがう方法を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記遊休区間を含む前記構成コマンドを受信する段階を含み、前記SSDの状態をモニターする段階は前記SSDに対する遊休時間を追跡する段階を含み、前記SSDの状態を前記条件と比較する段階は前記SSDに対する遊休時間を前記遊休区間と比較する段階を含む。
本発明の技術的思想の実施形態は第18ステートメントにしたがう方法を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記キュー深さ閾値を含む前記構成コマンドを受信する段階を含み、前記SSDの状態をモニターする段階は前記SSDに対するコマンドキュー深さを判別する段階を含み、そして前記SSDの状態を前記条件と比較する段階は前記キュー深さ閾値を前記SSDに対するコマンドキュー深さと比較する段階を含む。
本発明の技術的思想の実施形態は第20ステートメントにしたがう方法を含み、前記SSDの状態をモニターする段階は前記SSDに対するコマンドキュー深さを判別する段階を含み、前記SSDに対するコマンドキュー深さを判別する段階は複数のコマンドキューに対する複数の深さを判別する段階、及び前記複数の深さから前記コマンドキュー深さを判別する段階を含む。
本発明の技術的思想の実施形態は第21ステートメントにしたがう方法を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての平均として計算する段階を含む。
本発明の技術的思想の実施形態は第21ステートメントにしたがう方法を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての中央値として計算する段階を含む。
本発明の技術的思想の実施形態は第21ステートメントにしたがう方法を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての最大として計算する段階を含む。
本発明の技術的思想の実施形態は第21ステートメントにしたがう方法を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての最小として計算する段階を含む。
本発明の技術的思想の実施形態は第16ステートメントにしたがう方法を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて複合条件を含む構成コマンドを受信する段階を含む。
本発明の技術的思想の実施形態は第18ステートメントにしたがう方法を含み、前記SSDの状態が前記条件を満足すれば、前記SSDにおいてガーベッジコレクションを遂行する段階は前記SSDの状態が前記条件を満足し、そして前記SSDの自由消去ブロックの数が閾値より低い場合、前記SSDにおいてガーベッジコレクションを遂行する段階を含む。
本発明の技術的思想の実施形態は第16ステートメントにしたがう方法を含み、ホストから命令を受信してガーベッジコレクションを遂行する段階をさらに含む。
本発明の技術的思想の実施形態は第16ステートメントにしたがう方法を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記遊休区間及び前記キュー深さ閾値を含むセットから得られる条件を含む使用者が構成可能な構成コマンドを受信する段階を含む。
本発明の技術的思想の実施形態は有形のストレージ媒体を含む物品を含む。前記ストレージ媒体はそれに格納された非一時的命令を含む。前記非一時的命令が実行されれば、ソリッドステートドライブ(SSD)において遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンドを受信する段階、前記SSDに前記条件を格納する段階、及び前記条件を利用して前記SSDにおいてガーベッジコレクションを遂行する段階が誘発される。
本発明の技術的思想の実施形態は第31ステートメントにしたがう物品を含む。SSDにおいて構成コマンドを受信する段階は前記SSDにおいてホストから前記構成コマンドを受信する段階を含む。
本発明の技術的思想の実施形態は第31ステートメントにしたがう物品を含む。前記条件を利用して前記SSDにおいてガーベッジコレクションを遂行する段階は前記SSDの状態をモニターする段階、前記SSDの状態を前記条件と比較する段階、及び前記SSDの状態が前記条件を満足すれば、前記SSDにおいてガーベッジコレクションを遂行する段階を含む。
本発明の技術的思想の実施形態は第33ステートメントにしたがう物品を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記遊休区間を含む前記構成コマンドを受信する段階を含み、前記SSDの状態をモニターする段階は前記SSDに対する遊休時間を追跡する段階を含み、前記SSDの状態を前記条件と比較する段階は前記SSDに対する遊休時間を前記遊休区間と比較する段階を含む。
本発明の技術的思想の実施形態は第33ステートメントにしたがう物品を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記キュー深さ閾値を含む前記構成コマンドを受信する段階を含み、前記SSDの状態をモニターする段階は前記SSDに対するコマンドキュー深さを判別する段階を含み、そして前記SSDの状態を前記条件と比較する段階は前記キュー深さ閾値を前記SSDに対するコマンドキュー深さと比較する段階を含む。
本発明の技術的思想の実施形態は第35ステートメントにしたがう物品を含み、前記SSDの状態をモニターする段階は前記SSDに対するコマンドキュー深さを判別する段階を含み、前記SSDに対するコマンドキュー深さを判別する段階は複数のコマンドキューに対する複数の深さを判別する段階、及び前記複数の深さから前記コマンドキュー深さを判別する段階を含む。
本発明の技術的思想の実施形態は第36ステートメントにしたがう物品を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての平均として計算する段階を含む。
本発明の技術的思想の実施形態は第36ステートメントにしたがう物品を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての合計として計算する段階を含む。
本発明の技術的思想の実施形態は第36ステートメントにしたがう物品を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての中央値として計算する段階を含む。
本発明の技術的思想の実施形態は第36ステートメントにしたがう物品を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての最大として計算する段階を含む。
本発明の技術的思想の実施形態は第36ステートメントにしたがう物品を含み、前記複数の深さから前記コマンドキュー深さを判別する段階は前記コマンドキュー深さを前記複数の深さの全ての最小として計算する段階を含む。
本発明の技術的思想の実施形態は第31ステートメントにしたがう物品を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて複合条件を含む構成コマンドを受信する段階を含む。
本発明の技術的思想の実施形態は第33ステートメントにしたがう物品を含み、前記SSDの状態が前記条件を満足すれば、前記SSDにおいてガーベッジコレクションを遂行する段階は前記SSDの状態が前記条件を満足し、そして前記SSDの自由消去ブロックの数が閾値より低い場合、前記SSDにおいてガーベッジコレクションを遂行する段階を含む。
本発明の技術的思想の実施形態は第31ステートメントにしたがう物品を含み、前記ストレージ媒体は機械によって実行された時にホストから命令を受信してガーベッジコレクションを遂行する段階を発生させる非一時的命令をさらに格納する。
本発明の技術的思想の実施形態は第31ステートメントにしたがう物品を含み、SSDにおいて構成コマンドを受信する段階は前記SSDにおいて前記遊休区間及び前記キュー深さ閾値を含むセットから得られる条件を含む使用者構成可能な構成コマンドを受信する段階を含む。
106 ホスト
110 プロセッサ
115 メモリ
120 ソリッドステートドライブ(SSD)
205 メモリコントローラ
210 クロック
215 ネットワークコネクター
220 バス
225 使用者インターフェイス
230 入力/出力エンジン
305 受信回路
310 SSDコントローラ
315 フラッシュメモリ
320 状態判別器
325 比較器
330 条件ストレージ
335 トリガー回路
340 ガーベッジコレクションロジック
405 構成コマンド
410 条件
415、420、425 データ要請
505 遊休区間
510 遊休時間
515 トリガー
520 自由消去ブロックの数
605 キュー深さ閾値
610 コマンドキュー深さ
705、710、715 深さ
720 平均
725 合計
730 中央値
735 最小
740 最大
Claims (20)
- ソリッドステートドライブ(SSD)において、
データのためのストレージと、
前記ストレージにおいてガーベッジコレクションを遂行するガーベッジコレクションロジックと、
遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンド及びデータ要請を受信する受信回路と、
前記条件を格納する条件ストレージと、
前記ソリッドステートドライブの状態を判別する状態判別器と、
前記条件と前記ソリッドステートドライブの状態とを比較する比較器と、
前記ソリッドステートドライブの状態が前記条件を満足することを示す前記比較器の少なくとも一部に基づき、前記ストレージにおいて前記ガーベッジコレクションを遂行するように前記ガーベッジコレクションロジックにトリガー信号を伝送するトリガー回路と、
を含み、
ここで、前記トリガー回路は、前記ソリッドステートドライブにおいて入出力要請の間に前記ストレージにおいて前記ガーベッジコレクションを遂行するように動作し、
前記状態判別器は、前記ソリッドステートドライブに対する遊休時間を判別し、前記比較器は、前記ソリッドステートドライブに対する前記遊休時間を前記遊休区間と比較し、
前記構成コマンドはホストコンピュータから受信され、
前記条件は、前記遊休区間及び前記キュー深さ閾値の両方を含み、前記遊休区間は0単位時間より大きく、
前記状態判別器は、前記ソリッドステートドライブに対する前記遊休時間と前記ソリッドステートドライブに対するコマンドキュー深さを判別するよう動作し、
前記比較器は、前記ソリッドステートドライブに対する前記コマンドキュー深さを前記キュー深さ閾値と比較するよう動作し、
前記状態判別器は、複数のコマンドキューに対する複数の深さから前記ソリッドステートドライブに対する前記コマンドキュー深さを判別することを特徴とするソリッドステートドライブ。 - 前記トリガー回路は、前記ソリッドステートドライブの状態が前記条件を満足し、そして前記ソリッドステートドライブの自由消去ブロックの数が閾値より低いことを示す前記比較器の少なくとも一部に基づき、前記ガーベッジコレクションロジックが前記ストレージにおいて前記ガーベッジコレクションを遂行するようにトリガーすることを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記状態判別器は、前記コマンドキュー深さを前記複数の深さの平均(average)として計算することを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記状態判別器は、前記コマンドキュー深さを前記複数の深さの最大として計算することを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記状態判別器は、前記コマンドキュー深さを前記複数の深さの合計として計算することを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記状態判別器は、前記コマンドキュー深さを前記複数の深さの中央値(median)として計算することを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記状態判別器は、前記コマンドキュー深さを前記複数の深さの最小として計算することを特徴とする請求項1に記載のソリッドステートドライブ。
- 前記受信回路により受信された前記構成コマンドを確認し、前記条件を前記条件ストレージに格納し、前記条件に応答する前記ソリッドステートドライブの状態を判別する前記状態判別器を構成するプロセッサをさらに含むことを特徴とする請求項1に記載のソリッドステートドライブ。
- ガーベッジコレクションを遂行する方法において、
ソリッドステートドライブ(SSD)が、
遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンドを受信する段階と、
前記条件を前記ソリッドステートドライブに格納する段階と、
前記ソリッドステートドライブにおいて前記条件に基づき前記ガーベッジコレクションを遂行する段階と、を含み、
前記ソリッドステートドライブにおける前記条件に基づく前記ガーベッジコレクションの遂行は、入出力要請の間に前記ソリッドステートドライブにおいて前記ガーベッジコレクションを遂行するように動作し、
前記条件を利用して前記ソリッドステートドライブにおいて前記ガーベッジコレクションを遂行する段階は、
前記ソリッドステートドライブの状態をモニターする段階と、
前記ソリッドステートドライブの状態を前記条件と比較する段階と、
前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づいて前記ソリッドステートドライブにおいて前記ガーベッジコレクションを遂行する段階と、を含み、
前記ソリッドステートドライブにおいて、前記遊休区間と前記キュー深さ閾値を含むセットから得られた前記条件を含む前記構成コマンドを受信する段階は、
前記ソリッドステートドライブにおいて、前記遊休区間と前記キュー深さ閾値を含むセットから得られた前記条件を含む前記構成コマンドをホストコンピュータから受信することを含み、
前記遊休区間は、0単位時間より大きく、
前記ソリッドステートドライブの状態をモニターする段階は、
前記ソリッドステートドライブに対する遊休時間を追跡する段階と、前記ソリッドステートドライブに対する前記キュー深さ閾値を判別する段階と、を含み、
前記ソリッドステートドライブの状態を前記条件と比較する段階は、
前記ソリッドステートドライブに対する前記遊休時間を前記遊休区間と比較する段階と、前記キュー深さ閾値と前記ソリッドステートドライブに対するコマンドキュー深さを比較する段階と、を含み、
前記ソリッドステートドライブの状態をモニターする段階は、前記ソリッドステートドライブに対する前記コマンドキュー深さを判別する段階を含み、
前記ソリッドステートドライブに対する前記コマンドキュー深さを判別する段階は、
複数のコマンドキューに対する複数の深さを判別する段階と、
前記複数の深さから前記コマンドキュー深さを判別する段階と、を含むことを特徴とするガーベッジコレクションを遂行する方法。 - 前記ソリッドステートドライブにおいて前記構成コマンドを受信する段階は、前記遊休区間を含む前記構成コマンドを受信する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記ソリッドステートドライブにおいて前記構成コマンドを受信する段階は前記キュー深さ閾値を含む前記構成コマンドを受信する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記複数の深さから前記コマンドキュー深さを判別する段階は、前記コマンドキュー深さを前記複数の深さの全ての平均として計算する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記複数の深さから前記コマンドキュー深さを判別する段階は、前記コマンドキュー深さを前記複数の深さの全ての最大として計算する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記複数の深さから前記コマンドキュー深さを判別する段階は、前記コマンドキュー深さを前記複数の深さの全ての合計として計算する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記複数の深さから前記コマンドキュー深さを判別する段階は、前記コマンドキュー深さを前記複数の深さの全ての中央値として計算する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記複数の深さから前記コマンドキュー深さを判別する段階は、前記コマンドキュー深さを前記複数の深さの全ての最小として計算する段階を含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づいて、前記ソリッドステートドライブにおいて前記ガーベッジコレクションを遂行する段階は、前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づく前記ガーベッジコレクションの遂行と、前記ソリッドステートドライブの自由消去ブロックの数が閾値より低いことを含むことを特徴とする請求項9記載のガーベッジコレクションを遂行する方法。
- ホストコンピュータから命令を受信して前記ガーベッジコレクションを遂行する段階をさらに含むことを特徴とする請求項9に記載のガーベッジコレクションを遂行する方法。
- 有形の(tangible)ストレージ媒体を含む物品であって、
有形の非一時的(non−transitory)ストレージ媒体は、それに格納された命令を含み、前記命令が実行されれば、その結果としてソリッドステートドライブ(SSD)において遊休区間及びキュー深さ閾値を含むセットから得られる条件を含む構成コマンドを受信し、
前記ソリッドステートドライブに前記条件を格納し、
前記ソリッドステートドライブにおいてガーベッジコレクションを前記条件に基づいて遂行し、
前記条件に基づく前記ガーベッジコレクションの遂行は、前記ソリッドステートドライブの入出力要請の間に前記ソリッドステートドライブにおいて前記ガーベッジコレクションを遂行するように動作し、
前記条件を利用しての前記ソリッドステートドライブにおける前記ガーベッジコレクションの遂行は、
前記ソリッドステートドライブの状態のモニターと、
前記ソリッドステートドライブの状態と前記条件の比較と、
前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づく、前記ソリッドステートドライブの前記ガーベッジコレクションの遂行と、を含み、
前記ソリッドステートドライブにおいて、前記遊休区間と前記キュー深さ閾値を含むセットから得られた前記条件を含む前記構成コマンドの受信は、
前記ソリッドステートドライブにおいて、ホストコンピュータから前記構成コマンドを受信し、
前記構成コマンドは、前記遊休区間と前記キュー深さ閾値を含む前記条件を含み、
前記遊休区間は、0単位時間より大きく、
前記ソリッドステートドライブの状態のモニターは、
前記ソリッドステートドライブに対する遊休時間の追跡と、
前記ソリッドステートドライブに対するキュー深さの判別を含み、
前記ソリッドステートドライブの状態と前記条件の比較は、
前記ソリッドステートドライブに対する前記遊休時間と前記遊休区間の比較と、
前記キュー深さ閾値と前記ソリッドステートドライブに対するコマンドキュー深さの比較と、を含み、
前記キュー深さの判別は、複数のコマンドキューに対する複数の深さから前記ソリッドステートドライブに対する前記コマンドキュー深さを判別することを特徴とするストレージ媒体を含む物品。 - 前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づく前記ソリッドステートドライブにおける前記ガーベッジコレクションの遂行は、
前記条件を満足する前記ソリッドステートドライブの状態の少なくとも一部に基づく前記ソリッドステートドライブにおける前記ガーベッジコレクションの遂行と、
前記ソリッドステートドライブの自由消去ブロックの数が閾値より低いことを含むことを特徴とする請求項19に記載のストレージ媒体を含む物品。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662309954P | 2016-03-17 | 2016-03-17 | |
US62/309954 | 2016-03-17 | ||
US15/151,470 US10409719B2 (en) | 2016-03-17 | 2016-05-10 | User configurable passive background operation |
US15/151470 | 2016-05-10 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017168088A JP2017168088A (ja) | 2017-09-21 |
JP2017168088A5 JP2017168088A5 (ja) | 2020-03-05 |
JP6847694B2 true JP6847694B2 (ja) | 2021-03-24 |
Family
ID=59855673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017023269A Active JP6847694B2 (ja) | 2016-03-17 | 2017-02-10 | ソリッドステートドライブ、ガーベッジコレクションを遂行する方法、及びストレージ媒体を含む物品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10409719B2 (ja) |
JP (1) | JP6847694B2 (ja) |
KR (1) | KR20170108788A (ja) |
CN (1) | CN107203337B (ja) |
TW (1) | TWI682277B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018181281A (ja) * | 2017-04-21 | 2018-11-15 | 富士通株式会社 | ストレージシステム、制御装置及びストレージ装置 |
JP6785204B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11537513B2 (en) * | 2017-12-11 | 2022-12-27 | SK Hynix Inc. | Apparatus and method for operating garbage collection using host idle |
KR20190102390A (ko) * | 2018-02-26 | 2019-09-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20190108788A (ko) * | 2018-03-15 | 2019-09-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP6901427B2 (ja) * | 2018-03-27 | 2021-07-14 | キオクシア株式会社 | ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法 |
KR102546255B1 (ko) * | 2018-08-03 | 2023-06-21 | 삼성전자주식회사 | 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템 |
DE102019118631A1 (de) | 2018-08-03 | 2020-02-06 | Samsung Electronics Co., Ltd. | Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben |
TWI739075B (zh) * | 2019-01-03 | 2021-09-11 | 慧榮科技股份有限公司 | 閃存的資料寫入方法及電腦程式產品 |
US11288185B2 (en) | 2019-01-03 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product for performing data writes into a flash memory |
KR102689985B1 (ko) * | 2019-06-13 | 2024-08-01 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법 |
KR20210074876A (ko) | 2019-12-12 | 2021-06-22 | 삼성전자주식회사 | 호스트 장치와 인터페이스를 수행하는 스토리지 장치 및 이의 동작 방법 |
CN114168082B (zh) * | 2021-12-10 | 2023-07-04 | 深圳忆联信息系统有限公司 | 避免ssd空闲块耗尽的方法、装置、计算机设备及存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03141442A (ja) * | 1989-10-27 | 1991-06-17 | Hitachi Ltd | タスク制御方式 |
JP2002297443A (ja) * | 2001-04-02 | 2002-10-11 | Sharp Corp | 動的メモリ管理装置と動的メモリ管理方法とコンピュータプログラムとこれを記録した記録媒体およびこれらを備えた携帯端末 |
US7743276B2 (en) | 2006-09-27 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Sufficient free space for redundancy recovery within a distributed data-storage system |
CN101681282A (zh) | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
US8032724B1 (en) * | 2007-04-04 | 2011-10-04 | Marvell International Ltd. | Demand-driven opportunistic garbage collection in memory components |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8370720B2 (en) | 2009-08-19 | 2013-02-05 | Ocz Technology Group, Inc. | Mass storage device and method for offline background scrubbing of solid-state memory devices |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US8713268B2 (en) | 2010-08-05 | 2014-04-29 | Ut-Battelle, Llc | Coordinated garbage collection for raid array of solid state disks |
CN102147767B (zh) * | 2011-04-26 | 2014-04-02 | 记忆科技(深圳)有限公司 | 固态硬盘垃圾收集参数动态调整方法及其系统 |
US8527544B1 (en) | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
KR20130048594A (ko) | 2011-11-02 | 2013-05-10 | 삼성전자주식회사 | 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법 |
KR20130075018A (ko) * | 2011-12-27 | 2013-07-05 | 한국전자통신연구원 | 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법 |
US20130290601A1 (en) | 2012-04-26 | 2013-10-31 | Lsi Corporation | Linux i/o scheduler for solid-state drives |
US8898376B2 (en) | 2012-06-04 | 2014-11-25 | Fusion-Io, Inc. | Apparatus, system, and method for grouping data stored on an array of solid-state storage elements |
US8799561B2 (en) | 2012-07-27 | 2014-08-05 | International Business Machines Corporation | Valid page threshold based garbage collection for solid state drive |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9372642B2 (en) * | 2013-07-22 | 2016-06-21 | International Business Machines Corporation | RAID 10 reads optimized for solid state drives |
CN103914392B (zh) * | 2014-04-03 | 2017-05-03 | 深圳市硅格半导体有限公司 | 闪存的空块回收方法及装置 |
US9383926B2 (en) | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
KR20150139112A (ko) * | 2014-06-02 | 2015-12-11 | 삼성전자주식회사 | 가비지 컬렉션 유닛을 포함하는 메모리 시스템 및 동작 방법 |
US9525737B2 (en) * | 2015-04-14 | 2016-12-20 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM cache in a highly-distributed shared topology with direct memory access capable interconnect |
CN105373487B (zh) * | 2015-12-16 | 2018-06-08 | 浪潮(北京)电子信息产业有限公司 | 一种存储操作系统的碎片整理方法及系统 |
-
2016
- 2016-05-10 US US15/151,470 patent/US10409719B2/en active Active
- 2016-11-29 KR KR1020160160770A patent/KR20170108788A/ko not_active Application Discontinuation
- 2016-12-12 TW TW105140964A patent/TWI682277B/zh active
-
2017
- 2017-02-10 JP JP2017023269A patent/JP6847694B2/ja active Active
- 2017-03-13 CN CN201710149320.7A patent/CN107203337B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017168088A (ja) | 2017-09-21 |
US10409719B2 (en) | 2019-09-10 |
US20170270042A1 (en) | 2017-09-21 |
CN107203337A (zh) | 2017-09-26 |
TW201734804A (zh) | 2017-10-01 |
CN107203337B (zh) | 2021-11-09 |
TWI682277B (zh) | 2020-01-11 |
KR20170108788A (ko) | 2017-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6847694B2 (ja) | ソリッドステートドライブ、ガーベッジコレクションを遂行する方法、及びストレージ媒体を含む物品 | |
KR101629879B1 (ko) | 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템 | |
CN106326140B (zh) | 数据拷贝方法、直接内存访问控制器及计算机系统 | |
JP6007667B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP6691669B2 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
EP2863316A1 (en) | Method for controlling interruption in data transmission process | |
US9804787B2 (en) | Mitigating GC effect in a raid configuration | |
CN110765034B (zh) | 一种数据预取方法及终端设备 | |
TW201250471A (en) | Managing data placement on flash-based storage by use | |
CN104798007A (zh) | 用于控制存储设备的方法和装置 | |
KR20120112965A (ko) | 비휘발성 메모리 장치, 이를 스왑 메모리로 이용하는 데이터 처리 장치, 및 이를 이용한 스왑 방법 | |
KR101114791B1 (ko) | 전력 할당 방법 및 시스템 | |
KR102714198B1 (ko) | 스토리지 장치 및 그것의 링크 상태 제어 방법 | |
WO2017006675A1 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
WO2019118251A1 (en) | Performance level adjustments in memory devices | |
WO2017101263A1 (zh) | 管理存储设备的方法及装置 | |
US10152410B2 (en) | Magnetoresistive random-access memory cache write management | |
KR20190046840A (ko) | 하드웨어 제어형 분할된 스누프 디렉토리들을 사용한 코히어런트 인터커넥트 전력 감소 | |
JP6193189B2 (ja) | Nandバックグラウンド処理制御装置 | |
JP2017045199A (ja) | 制御装置 | |
CN108228104B (zh) | 数据传输方法及固态硬盘控制器 | |
WO2019091322A1 (zh) | 虚拟机快照处理方法、装置及系统 | |
WO2023124347A1 (zh) | 一种存储节点的配置方法以及相关装置 | |
US12026109B2 (en) | Operating method of transaction accelerator, operating method of computing device including transaction accelerator, and computing device including transaction accelerator | |
KR101831126B1 (ko) | 스토리지 내의 데이터 처리 장치의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200123 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200123 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200908 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201208 |
|
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: 20210202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210303 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6847694 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |