JP7315130B2 - システムガベージコレクションの方法およびソリッドステートディスクにおけるガベージコレクションの方法 - Google Patents
システムガベージコレクションの方法およびソリッドステートディスクにおけるガベージコレクションの方法 Download PDFInfo
- Publication number
- JP7315130B2 JP7315130B2 JP2020526891A JP2020526891A JP7315130B2 JP 7315130 B2 JP7315130 B2 JP 7315130B2 JP 2020526891 A JP2020526891 A JP 2020526891A JP 2020526891 A JP2020526891 A JP 2020526891A JP 7315130 B2 JP7315130 B2 JP 7315130B2
- Authority
- JP
- Japan
- Prior art keywords
- logical
- data
- solid state
- address
- chunk
- 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
Classifications
-
- 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
- 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- 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
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
[項目1]
システムガベージコレクションの方法であって、前記方法は、フラッシュメモリアレイに適用され、前記フラッシュメモリアレイは、システムコントローラおよび複数のソリッドステートディスクを含み、前記方法は、前記システムコントローラによって実行され、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクの少なくとも1つに記憶されたデータは、有効データを含み、前記第1の論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶された実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記有効データを記憶する前記第1のデータ論理チャンクが位置付けられたソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2の論理チャンクにおいて、第2の論理アドレスを前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記実アドレスとの間の対応関係に変更するように命令する段階と、を備える方法。
[項目2]
有効データを記憶する第1のデータ論理チャンクの量は、前記少なくとも1つの第2のデータ論理チャンクの量に等しい
項目1に記載の方法。
[項目3]
第2の論理チャンクグループを前記生成する段階は、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成する段階を有し、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
項目2に記載の方法。
[項目4]
前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
項目1から3のいずれか一項に記載の方法。
[項目5]
前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと同じである
項目4に記載の方法。
[項目6]
前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと異なる
項目4に記載の方法。
[項目7]
収集予定の第1の論理チャンクグループを前記決定する段階の前に、前記方法は、更に、前記第1の論理チャンクグループにおける有効データの量が特定された閾値未満であることを決定する段階を備える
項目1に記載の方法。
[項目8]
システムコントローラであって、前記システムコントローラは、
複数のソリッドステートディスクと通信するように構成されたインタフェースと、
プロセッサとを備え、前記プロセッサは、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、複数の異なるソリッドステートディスクに分散され、前記複数の第1のデータ論理チャンクの少なくとも1つに記憶されたデータは、有効データを含み、前記第1の論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶された実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記有効データを記憶する前記第1のデータ論理チャンクが位置付けられるソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2の論理チャンクにおいて、第2の論理アドレスを、前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記実アドレスとの間の対応関係に変更するように、前記インタフェースを介して命令する段階と、を行うように構成される、
システムコントローラ。
[項目9]
有効データを記憶する第1のデータ論理チャンクの量は、前記少なくとも1つの第2のデータ論理チャンクの量に等しい
項目8に記載のシステムコントローラ。
[項目10]
前記プロセッサは、具体的に、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成するように構成され、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
項目9に記載のシステムコントローラ。
[項目11]
前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
項目8から10のいずれか一項に記載のシステムコントローラ。
[項目12]
前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと同じである
項目11に記載のシステムコントローラ。
[項目13]
前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと異なる
項目11に記載のシステムコントローラ。
[項目14]
前記プロセッサは更に、前記収集予定の第1の論理チャンクグループを決定する前に、前記第1の論理チャンクグループにおける有効データの量が特定された閾値未満であることを決定するように構成される
項目8に記載のシステムコントローラ。
[項目15]
フラッシュメモリアレイであって、システムコントローラおよび複数のソリッドステートディスクを備え、
前記システムコントローラは、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクの少なくとも1つに記憶されたデータは、有効データを含み、前記第1の論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶される実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記有効データを記憶する前記第1のデータ論理チャンクが位置付けられるソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2の論理チャンクにおいて、第2の論理アドレスを前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記実アドレスとの間の対応関係に変更するように命令する段階とを行うように構成される
フラッシュメモリアレイ。
[項目16]
有効データを記憶する第1のデータ論理チャンクの量は、前記少なくとも1つの第2のデータ論理チャンクの量に等しい
項目15に記載のフラッシュメモリアレイ。
[項目17]
前記システムコントローラは、具体的に、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成するように構成され、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
項目16に記載のフラッシュメモリアレイ。
[項目18]
前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
項目15から17のいずれか一項に記載のフラッシュメモリアレイ。
[項目19]
前記有効データを記憶する前記ソリッドステートディスクは更に、前記有効データが位置付けられる第1の物理ブロックから、前記有効データおよび前記有効データの逆マッピング情報を読み出し、前記逆マッピング情報を前記システムコントローラに送信するように構成され、
前記システムコントローラは、更に、前記逆マッピング情報に基づいて、前記逆マッピング情報に対応する前記第2の論理アドレスを照会し、前記第2の論理アドレスを、前記有効データを記憶する前記ソリッドステートディスクに送信するように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、第3の論理アドレスを、前記有効データに割り当て、前記有効データを第2の物理ブロックにコピーするように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、前記第2の論理アドレスと前記実アドレスとの間の前記対応関係を削除し、前記第2の物理ブロックにおいて前記有効データが記憶される実アドレスと前記第3の論理アドレスとの間の対応関係を生成するように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、前記第1の物理ブロックが他の有効データを含まないということを決定する場合に、前記第1の物理ブロックにおけるデータを消去するように構成される
項目15に記載のフラッシュメモリアレイ。
[項目20]
前記逆マッピング情報は、前記有効データの仮想アドレスを含む
項目19に記載のフラッシュメモリアレイ。
[項目21]
ソリッドステートディスクにおけるガベージコレクションのための方法であって、
前記ソリッドステートディスクは、システムコントローラに接続され、
前記方法は、前記ソリッドステートディスクによて実行され、収集予定の第1の物理ブロックから、有効データおよび前記有効データの逆マッピング情報を読み出す段階と、
前記逆マッピング情報を前記システムコントローラに送信する段階と、
前記システムコントローラによって送信され、前記逆マッピング情報に対応するソース論理アドレスを受信する段階と、
ターゲット論理アドレスを前記有効データに割り当て、前記有効データを第2の物理ブロックにコピーする段階と、
前記第1の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ソース論理アドレスとの間の対応関係を削除し、前記第2の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ターゲット論理アドレスとの間の対応関係を生成する段階と、
前記第1の物理ブロックにおけるデータを消去する段階とを備える
方法。
[項目22]
前記逆マッピング情報は、前記有効データの仮想アドレスを含む
項目21に記載の方法。
[項目23]
ソリッドステートディスクであって、
前記ソリッドステートディスクは、コントローラと、第1の物理ブロックと、第2の物理ブロックとを備え、
前記コントローラは、
収集予定の前記第1の物理ブロックから、有効データおよび前記有効データの逆マッピング情報を読み出す段階と、
前記逆マッピング情報を前記システムコントローラに送信する段階と、
前記システムコントローラによって送信され、前記逆マッピング情報に対応するソース論理アドレスを受信する段階と、
ターゲット論理アドレスを前記有効データに割り当て、前記有効データを前記第2の物理ブロックにコピーする段階と、
前記第1の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ソース論理アドレスとの間の対応関係を削除し、前記第2の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ターゲット論理アドレスとの間の対応関係を生成する段階と、
前記第1の物理ブロックにおけるデータを消去する段階とを行うように構成される
ソリッドステートディスク。
[項目24]
前記逆マッピング情報は、前記有効データの仮想アドレスを含む
項目23に記載のソリッドステートディスク。
[項目25]
システムガベージコレクションの装置であって、前記装置は、フラッシュメモリアレイのシステムコントローラに位置付けられ、前記装置は、
収集予定の第1の論理チャンクグループを決定するように構成される決定モジュールであって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、前記フラッシュメモリアレイに含まれる複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクの少なくとも1つに記憶されたデータは、有効データを含み、前記第1の論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶される実アドレスと前記第1の論理アドレスとの間の対応関係がある、決定モジュールと、
第2の論理チャンクグループを生成するように構成される生成モジュールであって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記有効データを記憶する前記第1のデータ論理チャンクが位置づけられるソリッドステートディスクにおいて分散される、生成モジュールと、
前記少なくとも1つの第2の論理チャンクにおいて、第2の論理アドレスを前記有効データに割り当てるように構成される割り当てモジュールと、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記実アドレスとの間の対応関係に変更するよう命令するように構成される命令モジュールと、を備える
装置。
[項目26]
有効データを記憶する第1のデータ論理チャンクの量は、前記少なくとも1つの第2のデータ論理チャンクの量に等しい
項目25に記載の装置。
[項目27]
前記生成モジュールは、具体的に、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成するように構成され、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
項目26に記載の装置。
[項目28]
前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
項目25から27のいずれか一項に記載の装置。
[項目29]
前記決定モジュールは更に、前記収集予定の第1の論理チャンクグループを決定する前に、前記第1の論理チャンクグループにおける有効データの量が特定された閾値未満であるということを決定するように構成される
項目25に記載の装置。
[項目30]
ソリッドステートディスクにおけるガベージコレクションのための装置であって、
処理モジュールであって、収集予定の第1の物理ブロックから、有効データおよび前記有効データの逆マッピング情報を読み出す段階と、前記逆マッピング情報を前記システムコントローラに送信する段階と、前記システムコントローラによって送信され、前記逆マッピング情報に対応するソース論理アドレスを受信する段階と、ターゲット論理アドレスを前記有効データに割り当て、前記有効データを第2の物理ブロックにコピーする段階と、を行うように構成される処理モジュールと、
コレクションモジュールであって、前記第1の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ソース論理アドレスとの間の対応関係を削除し、前記第2の物理ブロックにおいて前記有効データが記憶される実アドレスと前記ターゲット論理アドレスとの間の対応関係を生成する段階と、前記第1の物理ブロックにおけるデータを消去する段階とを行うように構成されるコレクションモジュールと、を備える
装置。
[項目31]
前記逆マッピング情報は、前記有効データの仮想アドレスを含む
項目30に記載の装置。
Claims (26)
- システムガベージコレクションの方法であって、前記方法は、フラッシュメモリアレイに適用され、前記フラッシュメモリアレイは、システムコントローラおよび複数のソリッドステートディスクを含み、前記方法は、前記システムコントローラによって実行され、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、特定のRAIDタイプに従って、複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクのうちの少なくとも1つの第1のデータ論理チャンクに記憶されたデータは、有効データを含み、前記少なくとも1つの第1のデータ論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶された第1の実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記特定のRAIDタイプに従って、前記有効データを記憶する前記少なくとも1つの第1のデータ論理チャンクが位置付けられたソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2のデータ論理チャンクにおいて、第2の論理アドレスを前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記第1の実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記第1の実アドレスとの間の対応関係に変更するように命令する段階と、を備える方法。 - 有効データを記憶する第1のデータ論理チャンクの数は、前記少なくとも1つの第2のデータ論理チャンクの数に等しい
請求項1に記載の方法。 - 第2の論理チャンクグループを前記生成する段階は、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成する段階を有し、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
請求項2に記載の方法。 - 前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
請求項1から3のいずれか一項に記載の方法。 - 前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと同じである
請求項4に記載の方法。 - 前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと異なる
請求項4に記載の方法。 - 収集予定の第1の論理チャンクグループを前記決定する段階の前に、前記方法は、更に、前記第1の論理チャンクグループにおける無効データの量が特定された閾値未満であることを決定する段階を備える
請求項1から6のいずれか一項に記載の方法。 - 前記有効データの前記第1の実アドレスを変更することなく、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更する段階をさらに備える、請求項1から7のいずれか一項に記載の方法。
- 前記ソリッドステートディスクにおいて、前記有効データと、前記有効データの仮想アドレスとが同じ物理ブロックに書き込まれており、前記仮想アドレスは、ホストによって送信されたデータライト要求に含まれ、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更する場合、前記仮想アドレスは変化しない、請求項8に記載の方法。
- システムコントローラであって、前記システムコントローラは、
複数のソリッドステートディスクと通信するように構成されたインタフェースと、
プロセッサとを備え、前記プロセッサは、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、特定のRAIDタイプに従って、複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクのうちの少なくとも1つの第1のデータ論理チャンクに記憶されたデータは、有効データを含み、前記少なくとも1つの第1のデータ論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶された第1の実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記特定のRAIDタイプに従って、前記有効データを記憶する前記少なくとも1つの第1のデータ論理チャンクが位置付けられるソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2のデータ論理チャンクにおいて、第2の論理アドレスを、前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記第1の実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記第1の実アドレスとの間の対応関係に変更するように、前記インタフェースを介して命令する段階と、を行うように構成される、
システムコントローラ。 - 有効データを記憶する第1のデータ論理チャンクの数は、前記少なくとも1つの第2のデータ論理チャンクの数に等しい
請求項10に記載のシステムコントローラ。 - 前記プロセッサは、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成するように構成され、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
請求項11に記載のシステムコントローラ。 - 前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
請求項10から12のいずれか一項に記載のシステムコントローラ。 - 前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと同じである
請求項13に記載のシステムコントローラ。 - 前記第2のチェック論理チャンクが位置付けられる前記ソリッドステートディスクは、前記第1のチェック論理チャンクが位置付けられる前記ソリッドステートディスクと異なる
請求項13に記載のシステムコントローラ。 - 前記プロセッサは更に、前記収集予定の第1の論理チャンクグループを決定する前に、前記第1の論理チャンクグループにおける無効データの量が特定された閾値未満であることを決定するように構成される
請求項10から15のいずれか一項に記載のシステムコントローラ。 - 前記プロセッサは、さらに、
前記有効データの前記第1の実アドレスを変更することなく、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更するように構成される、請求項10から16のいずれか一項に記載のシステムコントローラ。 - 前記ソリッドステートディスクにおいて、前記有効データと、前記有効データの仮想アドレスとが同じ物理ブロックに書き込まれており、前記仮想アドレスは、ホストによって送信されたデータライト要求に含まれ、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更する場合、前記仮想アドレスは変化しない、請求項17に記載のシステムコントローラ。
- フラッシュメモリアレイであって、システムコントローラおよび複数のソリッドステートディスクを備え、
前記システムコントローラは、
収集予定の第1の論理チャンクグループを決定する段階であって、前記第1の論理チャンクグループは、複数の第1のデータ論理チャンクを含み、前記複数の第1のデータ論理チャンクは、特定のRAIDタイプに従って、複数の異なるソリッドステートディスクにおいて分散され、前記複数の第1のデータ論理チャンクのうちの少なくとも1つの第1のデータ論理チャンクに記憶されたデータは、有効データを含み、前記少なくとも1つの第1のデータ論理チャンクにおける前記有効データの位置は、第1の論理アドレスであり、ソリッドステートディスクにおいて前記有効データが記憶される第1の実アドレスと前記第1の論理アドレスとの間には対応関係がある、段階と、
第2の論理チャンクグループを生成する段階であって、前記第2の論理チャンクグループは、複数の第2のデータ論理チャンクを含み、少なくとも1つの第2のデータ論理チャンクは、前記特定のRAIDタイプに従って、前記有効データを記憶する前記少なくとも1つの第1のデータ論理チャンクが位置付けられるソリッドステートディスクにおいて分散される、段階と、
前記少なくとも1つの第2のデータ論理チャンクにおいて、第2の論理アドレスを前記有効データに割り当てる段階と、
前記有効データを記憶する前記ソリッドステートディスクに、前記第1の論理アドレスと前記第1の実アドレスとの間の前記対応関係を、前記第2の論理アドレスと前記第1の実アドレスとの間の対応関係に変更するように命令する段階とを行うように構成される
フラッシュメモリアレイ。 - 有効データを記憶する第1のデータ論理チャンクの数は、前記少なくとも1つの第2のデータ論理チャンクの数に等しい
請求項19に記載のフラッシュメモリアレイ。 - 前記システムコントローラは、前記複数のソリッドステートディスクにおける前記複数の第1のデータ論理チャンクの分散に基づいて、前記第2の論理チャンクグループを生成するように構成され、
前記第2の論理チャンクグループに含まれる前記複数の第2のデータ論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものと同じソリッドステートディスクに分散される
請求項20に記載のフラッシュメモリアレイ。 - 前記第1の論理チャンクグループは更に、第1のチェック論理チャンクを含み、前記第1のチェック論理チャンクは、前記複数の第1のデータ論理チャンクが位置付けられるものとは異なるソリッドステートディスクにおいて分散され、前記第2の論理チャンクグループは更に、第2のチェック論理チャンクを含み、前記第2のチェック論理チャンクは、前記複数の第2のデータ論理チャンクが位置づけられるものとは異なるソリッドステートディスクにおいて分散される
請求項19から21のいずれか一項に記載のフラッシュメモリアレイ。 - 前記有効データを記憶する前記ソリッドステートディスクは更に、前記有効データが位置付けられる第1の物理ブロックから、前記有効データおよび前記有効データの逆マッピング情報を読み出し、前記逆マッピング情報を前記システムコントローラに送信するように構成され、
前記システムコントローラは、更に、前記逆マッピング情報に基づいて、前記逆マッピング情報に対応する前記第2の論理アドレスを照会し、前記第2の論理アドレスを、前記有効データを記憶する前記ソリッドステートディスクに送信するように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、第3の論理アドレスを、前記有効データに割り当て、前記有効データを第2の物理ブロックにコピーするように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、前記第2の論理アドレスと前記第1の実アドレスとの間の前記対応関係を削除し、前記第2の物理ブロックにおいて前記有効データが記憶される第2の実アドレスと前記第3の論理アドレスとの間の対応関係を生成するように構成され、
前記有効データを記憶する前記ソリッドステートディスクは、更に、前記第1の物理ブロックが他の有効データを含まないということを決定する場合に、前記第1の物理ブロックにおけるデータを消去するように構成される
請求項19から22のいずれか一項に記載のフラッシュメモリアレイ。 - 前記逆マッピング情報は、前記有効データの仮想アドレスを含む
請求項23に記載のフラッシュメモリアレイ。 - 前記システムコントローラは、さらに、
前記有効データの前記第1の実アドレスを変更することなく、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更するように構成される、請求項19から24のいずれか一項に記載のフラッシュメモリアレイ。 - 前記ソリッドステートディスクにおいて、前記有効データと、前記有効データの仮想アドレスとが同じ物理ブロックに書き込まれており、前記仮想アドレスは、ホストによって送信されたデータライト要求に含まれ、前記有効データの前記第1の論理アドレスを前記第2の論理アドレスに変更する場合、前記仮想アドレスは変化しない、請求項25に記載のフラッシュメモリアレイ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811064493 | 2018-09-12 | ||
CN201811064493.X | 2018-09-12 | ||
CN201811233512.7 | 2018-10-23 | ||
CN201811233512.7A CN110895513A (zh) | 2018-09-12 | 2018-10-23 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
PCT/CN2019/079391 WO2020052216A1 (zh) | 2018-09-12 | 2019-03-23 | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021509981A JP2021509981A (ja) | 2021-04-08 |
JP7315130B2 true JP7315130B2 (ja) | 2023-07-26 |
Family
ID=69785401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020526891A Active JP7315130B2 (ja) | 2018-09-12 | 2019-03-23 | システムガベージコレクションの方法およびソリッドステートディスクにおけるガベージコレクションの方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11928053B2 (ja) |
EP (1) | EP3748509B1 (ja) |
JP (1) | JP7315130B2 (ja) |
CN (1) | CN110895513A (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI724550B (zh) * | 2019-09-19 | 2021-04-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN112131140B (zh) * | 2020-09-24 | 2023-07-14 | 北京计算机技术及应用研究所 | 基于ssd的支持高效存储空间管理的键值分离存储方法 |
US11500769B2 (en) * | 2020-12-21 | 2022-11-15 | Micron Technology, Inc. | Valid data identification for garbage collection |
US11567666B2 (en) * | 2021-03-24 | 2023-01-31 | Ati Technologies Ulc | Handling the migration of pages of memory accessible by input-output devices |
TWI773371B (zh) * | 2021-06-09 | 2022-08-01 | 宇瞻科技股份有限公司 | 固態硬碟 |
CN113590505A (zh) * | 2021-06-30 | 2021-11-02 | 深圳大普微电子科技有限公司 | 地址映射方法、固态硬盘控制器及固态硬盘 |
EP4250082A1 (en) * | 2022-03-24 | 2023-09-27 | Samsung Electronics Co., Ltd. | System and method for performing data read-write operations in zoned storage devices |
CN116756091A (zh) * | 2023-08-22 | 2023-09-15 | 深圳富联富桂精密工业有限公司 | 快照管理方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150378884A1 (en) | 2013-04-08 | 2015-12-31 | Avalanche Technology, Inc. | Storage system controlling addressing of solid storage disks (ssd) |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021187B2 (en) * | 2013-01-29 | 2015-04-28 | Sandisk Technologies Inc. | Logical block address remapping |
CN103970669A (zh) * | 2013-02-06 | 2014-08-06 | Lsi公司 | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 |
US9183142B2 (en) * | 2013-03-15 | 2015-11-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Reducing flash memory write amplification and latency |
JP2014203405A (ja) * | 2013-04-09 | 2014-10-27 | 富士通株式会社 | 情報処理装置、メモリ制御装置、データ転送制御方法及びデータ転送制御プログラム |
KR102072829B1 (ko) * | 2013-06-14 | 2020-02-03 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 글로벌 가비지 컬렉션 방법 |
WO2014203316A1 (ja) * | 2013-06-17 | 2014-12-24 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、及び制御方法 |
CN103744798A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法 |
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
KR102330391B1 (ko) | 2014-09-11 | 2021-11-24 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 가비지 컬렉션 방법 |
CN104407813B (zh) * | 2014-11-20 | 2019-02-19 | 上海宝存信息科技有限公司 | 一种基于固态存储介质的raid系统及方法 |
KR20160075229A (ko) * | 2014-12-19 | 2016-06-29 | 삼성전자주식회사 | 가비지 컬렉션 동작 방법 및 이를 적용하는 레이드 스토리지 시스템 |
KR20160083762A (ko) * | 2015-01-02 | 2016-07-12 | 삼성전자주식회사 | 스토리지 시스템에서의 매핑 테이블 관리 방법 및 이를 적용한 스토리지 시스템 |
CN104794070B (zh) | 2015-04-23 | 2017-10-31 | 南京道熵信息技术有限公司 | 基于动态非覆盖raid技术的固态闪存写缓存系统及方法 |
US10095423B2 (en) * | 2015-09-30 | 2018-10-09 | Toshiba Memory Corporation | Storage system that tracks mapping to a memory module to be detached therefrom |
CN105549908A (zh) | 2015-12-14 | 2016-05-04 | 深圳市万拓存储技术有限公司 | Raid磁盘阵列重新恢复冗余的方法 |
TWI609323B (zh) * | 2016-01-29 | 2017-12-21 | 捷鼎國際股份有限公司 | 資料儲存方法及其系統 |
US10185658B2 (en) * | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
CN106095342B (zh) * | 2016-06-15 | 2019-05-14 | 华中科技大学 | 一种动态可变长条带的瓦记录磁盘阵列构建方法及系统 |
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
SG11201707296QA (en) * | 2016-11-11 | 2018-06-28 | Huawei Tech Co Ltd | Storage system and system garbage collection method |
CN107391391B (zh) * | 2017-07-19 | 2019-05-14 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 |
TWI692690B (zh) * | 2017-12-05 | 2020-05-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
TWI670594B (zh) * | 2018-01-18 | 2019-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置 |
WO2020007030A1 (zh) * | 2018-07-06 | 2020-01-09 | 华为技术有限公司 | 一种系统控制器和系统垃圾回收方法 |
TWI703438B (zh) * | 2018-09-11 | 2020-09-01 | 慧榮科技股份有限公司 | 映射表更新方法 |
KR20200055349A (ko) * | 2018-11-13 | 2020-05-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210017912A (ko) * | 2019-08-09 | 2021-02-17 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2018
- 2018-10-23 CN CN201811233512.7A patent/CN110895513A/zh active Pending
-
2019
- 2019-03-23 EP EP19859851.8A patent/EP3748509B1/en active Active
- 2019-03-23 JP JP2020526891A patent/JP7315130B2/ja active Active
-
2020
- 2020-09-15 US US17/021,413 patent/US11928053B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150378884A1 (en) | 2013-04-08 | 2015-12-31 | Avalanche Technology, Inc. | Storage system controlling addressing of solid storage disks (ssd) |
Also Published As
Publication number | Publication date |
---|---|
JP2021509981A (ja) | 2021-04-08 |
US11928053B2 (en) | 2024-03-12 |
EP3748509B1 (en) | 2022-10-26 |
EP3748509A1 (en) | 2020-12-09 |
US20200409840A1 (en) | 2020-12-31 |
EP3748509A4 (en) | 2021-06-23 |
CN110895513A (zh) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7315130B2 (ja) | システムガベージコレクションの方法およびソリッドステートディスクにおけるガベージコレクションの方法 | |
US9996435B2 (en) | Reliability scheme using hybrid SSD/HDD replication with log structured management | |
US20180267856A1 (en) | Distributed storage system, data storage method, and software program | |
WO2016147281A1 (ja) | 分散型ストレージシステム及び分散型ストレージシステムの制御方法 | |
TWI533152B (zh) | 資料儲存裝置及方法 | |
WO2018189858A1 (ja) | ストレージシステム | |
US11321229B2 (en) | System controller and system garbage collection method | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
US20200183831A1 (en) | Storage system and system garbage collection method | |
WO2015162758A1 (ja) | ストレージシステム | |
US20190243758A1 (en) | Storage control device and storage control method | |
EP3798852B1 (en) | System controller and system garbage recovery method | |
US10365846B2 (en) | Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing | |
US11210214B2 (en) | Storage system and compression method of storing compressed data from storage controller physical address space to logical and physical address space of nonvolatile memory | |
US20210081137A1 (en) | Disk array device, control method for disk array device, and control program for disk array device | |
JP6817340B2 (ja) | 計算機 | |
WO2020052216A1 (zh) | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 | |
US11947799B1 (en) | Systems and methods for using the TRIM command with solid state devices | |
WO2017212515A1 (ja) | ストレージシステム、計算機、およびストレージ制御方法 | |
JP6605762B2 (ja) | 記憶ドライブの故障により消失したデータを復元する装置 | |
JP5648918B2 (ja) | ストレージシステム、ストレージ装置及びスナップショット処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200701 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220531 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220928 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221108 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221206 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20230110 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20230131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7315130 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |