JP6513888B2 - データ量削減機能を有する計算機システム、及び、記憶制御方法 - Google Patents
データ量削減機能を有する計算機システム、及び、記憶制御方法 Download PDFInfo
- Publication number
- JP6513888B2 JP6513888B2 JP2018538974A JP2018538974A JP6513888B2 JP 6513888 B2 JP6513888 B2 JP 6513888B2 JP 2018538974 A JP2018538974 A JP 2018538974A JP 2018538974 A JP2018538974 A JP 2018538974A JP 6513888 B2 JP6513888 B2 JP 6513888B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- logical
- logical address
- storage
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0608—Saving storage space on 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/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/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
- G06F3/0641—De-duplication techniques
-
- 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
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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)
Description
(b1)ストレージコントローラ101は、第3物理アドレスに対応した更新前データCにゼロデータをライトする。具体的には、ストレージコントローラ101は、ゼロデータのライトコマンドを、第3物理アドレスに対応したFMDに送信する。結果として、そのFMDに、ゼロデータが圧縮されて追記され、故に、更新前データCがFMDにおいて無効データとなる。第3物理アドレスは、更新後データBのライト先である第3論理アドレスに静的マッピングされている物理アドレスである。ゼロデータは、全てのビットが0であるデータである。圧縮ゼロデータ(圧縮されたゼロデータ)が有効データとしてFMDに存在するが、ゼロデータは圧縮効果が高いため、圧縮ゼロデータのサイズは通常の圧縮データ(例えば、ユーザデータA、B、…)の圧縮データに比べて小さい。ゼロデータは、所定データの一例である。所定データは、全てのビットが1であるデータでもよい。
(b2)ストレージコントローラ101は、第3論理アドレスを第2物理アドレスに動的マッピングする。第3論理アドレスは、更新後データBのライト先である論理アドレスである。第2物理アドレスは、既存データBに対応した第2論理アドレスに静的マッピングされている物理アドレスである。
(c1)ストレージコントローラ101は、重複先論理アドレス(第3論理アドレス)の動的マッピング先を、重複元物理アドレス(第2物理アドレス)から、重複先論理アドレス(第3論理アドレス)の静的マッピング先(第3物理アドレス)に変更する。つまり、ストレージコントローラ101は、重複先論理アドレス(第3論理アドレス)について、動的マッピング先を静的マッピング先に一致させる。
(c2)ストレージコントローラ101は、第3物理アドレスに対応したゼロデータ(重複先データBに対応したゼロデータ)に、非重複データEを上書きする。
(d1)ストレージコントローラ101は、重複先論理アドレス(第3論理アドレス)の動的マッピング先を、重複元物理アドレス(第2物理アドレス)から、重複先論理アドレス(第3論理アドレス)の静的マッピング先(第3物理アドレス)に変更する。
(d2)ストレージコントローラ101は、重複元物理アドレス(第2物理アドレス)から重複先物理アドレス(第3物理アドレス)に重複元データBをコピーする。結果として、第3物理アドレスに対応したゼロデータが重複元データBで上書きされる。
(d3)ストレージコントローラ101は、第2物理アドレスに対応した重複元データBに、非重複データEを上書きする。
・重複元データAが、重複元論理アドレスに静的マッピングされている重複元物理アドレスに対して格納されている。ここで言う重複元物理アドレスは、重複管理ボリューム502における領域のアドレスと、その領域(アドレス)に割り当てられた実ページ(プール503の一部領域)における領域のアドレスとに関わる。重複元データAは、結果として、RG504及び仮想アドレス空間505を通じて、圧縮されてFMDアドレス空間506に格納されている(圧縮データa)。
・重複先データAについては、重複先論理アドレスが重複元物理アドレスに動的マッピングされている。重複先データAに代えて、ゼロデータが、重複先物理アドレスに対して格納されている。ここで言う重複先物理アドレスは、重複管理ボリューム502における領域のアドレスと、その領域(アドレス)に割り当てられた実ページ(プール503の一部領域)における領域のアドレスとに関わる。ゼロデータは、結果として、RG504及び仮想アドレス空間505を通じて、圧縮されてFMDアドレス空間506に格納されている。
Claims (8)
- 記憶媒体と、記憶デバイスコントローラ部とを有する記憶デバイスと、
前記記憶デバイスに接続されたストレージコントローラ部と、
を備えた計算機システムにおいて、
前記記憶デバイスの記憶デバイスコントローラ部は、
仮想アドレスでアドレスを規定される仮想化アドレス空間を提供する仮想化機能と、
アンマップコマンドで指定された仮想アドレスに対する前記記憶媒体での実アドレスのマッピングを解除するアンマップ機能と、
を実行し、
前記ストレージコントローラ部は、上位システムに提供する論理アドレスと、前記仮想アドレスに対応する物理アドレスとのマッピングを管理するマッピング機能を実行し、
第1の論理アドレスをライト先とした第1のデータと第2の論理アドレスをライト先とした第2のデータとが重複する場合、前記ストレージコントローラ部は、
前記第1の論理アドレスと前記第2の論理アドレスとが同じ物理アドレスにマッピングされるようにマッピングを変更し、
前記アンマップ機能を機能させるアンマップコマンドを、前記変更前に第1の論理アドレスにマッピングされていた第1の物理アドレスに従う仮想アドレスを指定して前記記憶デバイスに送信する、
計算機システム。 - 請求項1において、
前記第1の論理アドレスと前記第2の論理アドレスとは、前記変更前に前記第1の物理アドレス及び前記変更前に第2の論理アドレスにマッピングされていた第2の物理アドレスとは異なる第3の物理アドレスにマッピングされ、
前記アンマップ機能を機能させるアンマップコマンドを、前記第2の物理アドレスに従う仮想アドレスを指定して前記記憶デバイスに送信する
ことを特徴とする計算機システム。 - 請求項2において、
静的マッピング空間と、追記空間とを有し、
前記第1及び/または第2の物理アドレスは、前記静的マッピング空間に属し、前記第3の物理アドレスは、前記追記空間に属する
ことを特徴とする計算機システム。 - 請求項1において、
前記第1の論理アドレスが、第2の論理アドレスにマッピングされている第2の物理アドレスにマッピングされるようにマッピングを変更する
ことを特徴とする計算機システム。 - 記憶媒体と、記憶デバイスコントローラ部とを有する記憶デバイスと、
前記記憶デバイスに接続されたストレージコントローラ部と、
を備えた計算機システムにおいて、
前記記憶デバイスの記憶デバイスコントローラ部は、
前記記憶媒体の記憶容量を仮想化し、仮想アドレスでアドレスを規定される仮想化アドレス空間を提供する容量仮想化機能と、
データを圧縮する圧縮機能と、
を実行し、
前記ストレージコントローラ部は、上位システムに提供する論理アドレスと、前記仮想アドレスに対応する物理アドレスとのマッピングを管理するマッピング機能を実行し、
第1の論理アドレスをライト先とした第1のデータと第2の論理アドレスをライト先とした第2のデータとが重複する場合、前記ストレージコントローラ部は、
前記第1の論理アドレスと前記第2の論理アドレスとが同じ物理アドレスにマッピングされるようにマッピングを変更し、
前記圧縮機能を機能させる所定のデータのライトコマンドを、前記変更前に第1の論理アドレスにマッピングされていた第1の物理アドレスに従う仮想アドレスを指定して前記記憶デバイスに送信する、
計算機システム。 - 請求項5において、
前記所定データは、全ビット値が同じ値のデータである
ことを特徴とする計算機システム。 - 記憶媒体と、記憶デバイスコントローラ部とを有する記憶デバイスと、
前記記憶デバイスに接続されたストレージコントローラ部と、
を備えた計算機システムにおける記憶制御方法において、
前記記憶デバイスの記憶デバイスコントローラ部は、
仮想アドレスでアドレスを規定される仮想化アドレス空間を提供する仮想化機能と、
アンマップコマンドで指定された仮想アドレスに対する前記記憶媒体での実アドレスのマッピングを解除するアンマップ機能と、
を実行し、
前記ストレージコントローラ部は、上位システムに提供する論理アドレスと、前記仮想アドレスに対応する物理アドレスとのマッピングを管理するマッピング機能を実行し、
第1の論理アドレスをライト先とした第1のデータと第2の論理アドレスをライト先とした第2のデータとが重複する場合、前記ストレージコントローラ部は、
前記第1の論理アドレスと前記第2の論理アドレスとが同じ物理アドレスにマッピングされるようにマッピングを変更し、
前記アンマップ機能を機能させるアンマップコマンドを、前記変更前に第1の論理アドレスにマッピングされていた第1の物理アドレスに従う仮想アドレスを指定して前記記憶デバイスに送信する、
記憶制御方法。 - 記憶媒体と、記憶デバイスコントローラ部とを有する記憶デバイスと、
前記記憶デバイスに接続されたストレージコントローラ部と、
を備えた計算機システムにおける記憶制御方法において、
前記記憶デバイスの記憶デバイスコントローラ部は、
前記記憶媒体の記憶容量を仮想化し、仮想アドレスでアドレスを規定される仮想化アドレス空間を提供する容量仮想化機能と、
データを圧縮する圧縮機能と、
を実行し、
前記ストレージコントローラ部は、上位システムに提供する論理アドレスと、前記仮想アドレスに対応する物理アドレスとのマッピングを管理するマッピング機能を実行し、
第1の論理アドレスをライト先とした第1のデータと第2の論理アドレスをライト先とした第2のデータとが重複する場合、前記ストレージコントローラ部は、
前記第1の論理アドレスと前記第2の論理アドレスとが同じ物理アドレスにマッピングされるようにマッピングを変更し、
前記圧縮機能を機能させる所定のデータのライトコマンドを、前記変更前に第1の論理アドレスにマッピングされていた第1の物理アドレスに従う仮想アドレスを指定して前記記憶デバイスに送信する、
計算機システムにおける記憶制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/076904 WO2018051392A1 (ja) | 2016-09-13 | 2016-09-13 | データ量削減機能を有する計算機システム、及び、記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018051392A1 JPWO2018051392A1 (ja) | 2019-01-24 |
JP6513888B2 true JP6513888B2 (ja) | 2019-05-15 |
Family
ID=61618714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018538974A Active JP6513888B2 (ja) | 2016-09-13 | 2016-09-13 | データ量削減機能を有する計算機システム、及び、記憶制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11086562B2 (ja) |
JP (1) | JP6513888B2 (ja) |
WO (1) | WO2018051392A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086562B2 (en) * | 2016-09-13 | 2021-08-10 | Hitachi, Ltd. | Computer system having data amount reduction function and storage control method |
CN109117383B (zh) * | 2017-06-25 | 2022-09-20 | 慧荣科技股份有限公司 | 管理闪存模块的方法和闪存控制器 |
JP6608468B2 (ja) * | 2018-01-26 | 2019-11-20 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
US11663139B2 (en) * | 2019-04-22 | 2023-05-30 | SK Hynix Inc. | Apparatus for transmitting map information in memory system |
US11681459B2 (en) * | 2021-04-23 | 2023-06-20 | EMC IP Holding Company, LLC | System and method for minimizing write-amplification in log-structured writes |
CN113094003B (zh) * | 2021-05-12 | 2022-12-09 | 湖南国科微电子股份有限公司 | 数据处理方法、数据存储装置及电子设备 |
KR20230100008A (ko) * | 2021-12-28 | 2023-07-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128630A (en) * | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
JP5331323B2 (ja) * | 2007-09-26 | 2013-10-30 | 株式会社日立製作所 | ストレージサブシステム及びその制御方法 |
US20120317084A1 (en) * | 2011-06-13 | 2012-12-13 | Beijing Z&W Technology Consulting Co., Ltd. | Method and system for achieving data de-duplication on a block-level storage virtualization device |
US8527544B1 (en) * | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
US20130238832A1 (en) * | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Deduplicating hybrid storage aggregate |
WO2013160942A2 (en) * | 2012-04-25 | 2013-10-31 | Hitachi, Ltd. | File storage system and file cloning method |
US9727245B2 (en) * | 2013-03-15 | 2017-08-08 | Avalanche Technology, Inc. | Method and apparatus for de-duplication for solid state disks (SSDs) |
WO2015068233A1 (ja) * | 2013-11-07 | 2015-05-14 | 株式会社日立製作所 | ストレージシステム |
WO2015167493A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Duplicate data using cyclic redundancy check |
US10747440B2 (en) * | 2014-09-24 | 2020-08-18 | Hitachi, Ltd. | Storage system and storage system management method |
US10013169B2 (en) * | 2014-12-19 | 2018-07-03 | International Business Machines Corporation | Cooperative data deduplication in a solid state storage array |
US9733836B1 (en) * | 2015-02-11 | 2017-08-15 | Violin Memory Inc. | System and method for granular deduplication |
US9710165B1 (en) * | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10496626B2 (en) * | 2015-06-11 | 2019-12-03 | EB Storage Systems Ltd. | Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect |
US11086562B2 (en) * | 2016-09-13 | 2021-08-10 | Hitachi, Ltd. | Computer system having data amount reduction function and storage control method |
-
2016
- 2016-09-13 US US16/086,292 patent/US11086562B2/en active Active
- 2016-09-13 WO PCT/JP2016/076904 patent/WO2018051392A1/ja active Application Filing
- 2016-09-13 JP JP2018538974A patent/JP6513888B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20190095132A1 (en) | 2019-03-28 |
JPWO2018051392A1 (ja) | 2019-01-24 |
US11086562B2 (en) | 2021-08-10 |
WO2018051392A1 (ja) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6513888B2 (ja) | データ量削減機能を有する計算機システム、及び、記憶制御方法 | |
US11886294B2 (en) | Distributed storage system | |
CN107209714B (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
JP5918906B2 (ja) | ストレージ装置及びストレージ制御方法 | |
GB2536514A (en) | Storage device and method for controlling storage device | |
JP6429963B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP6677740B2 (ja) | ストレージシステム | |
JP6722216B2 (ja) | データ量削減機能を有する計算機システム、及び、記憶制御方法 | |
US20180307440A1 (en) | Storage control apparatus and storage control method | |
US10049042B2 (en) | Storage device, semiconductor memory device, and method for controlling same | |
US10114566B1 (en) | Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots | |
WO2015173925A1 (ja) | ストレージ装置 | |
US11288006B2 (en) | Storage system and volume copying method where changes to address conversion table is rolled back | |
US8732422B2 (en) | Storage apparatus and its control method | |
WO2015162766A1 (ja) | ストレージシステム及び半導体記憶装置 | |
JP7093799B2 (ja) | ストレージシステムおよびリストア制御方法 | |
US11947799B1 (en) | Systems and methods for using the TRIM command with solid state devices | |
US20240176520A1 (en) | Storage system and storage control method | |
JP7443404B2 (ja) | ストレージシステム | |
JP6605762B2 (ja) | 記憶ドライブの故障により消失したデータを復元する装置 | |
JP2023001471A (ja) | ストレージシステム、計算機システム及び制御方法 | |
WO2018051446A1 (ja) | オプショナルなデータ処理機能を有するストレージシステムを含んだ計算機システム、および、記憶制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180918 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180918 |
|
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: 20190402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6513888 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |