JP2018132991A - 情報処理装置、データ圧縮方法及びデータ圧縮プログラム - Google Patents
情報処理装置、データ圧縮方法及びデータ圧縮プログラム Download PDFInfo
- Publication number
- JP2018132991A JP2018132991A JP2017027056A JP2017027056A JP2018132991A JP 2018132991 A JP2018132991 A JP 2018132991A JP 2017027056 A JP2017027056 A JP 2017027056A JP 2017027056 A JP2017027056 A JP 2017027056A JP 2018132991 A JP2018132991 A JP 2018132991A
- Authority
- JP
- Japan
- Prior art keywords
- compression
- data
- unit
- compressed
- input data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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/0661—Format or protocol conversion arrangements
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】特定部12は、入力データを所定サイズ毎に分けた場合の区分位置を特定する。共通領域圧縮部15は、入力データを圧縮した圧縮データにおける両端からのサイズが所定サイズ以上となる位置及び隣合う区分位置を挟みその間のサイズが所定サイズ以上となる位置に対応する入力データにおける圧縮位置を特定し、入力データにおける区分位置を挟んで並ぶ圧縮位置で挟まれた各先圧縮データの圧縮を行う。個別領域圧縮部16は、入力データにおける先圧縮データで分割された後圧縮データ毎に、後圧縮データに隣接する先圧縮データ及び各後圧縮データを基に圧縮を行う。
【選択図】図1
Description
次に、実施例1の変形例について説明する。本変形例に係るAFA1は、実施例1と各領域の圧縮の順番が異なる。図21は、実施例1の変形例における圧縮の順番を説明するための図である。
図30は、AFAのハードウェア構成の一例の図である。AFA1は、図30に示すように、CPU91、DIMM92及びSSD93を有する。CPU91は、DIMM92及びSSD93とバスで接続される。
2 サーバ
3 FC
11 送受信部
12 特定部
13 圧縮バッファ割当部
14 圧縮用情報記憶部
15 共通領域圧縮部
16 個別領域圧縮部
17 圧縮バッファ
18 再圧縮部
19 格納処理部
20 読出部
30 記憶部
141,142,144 ハッシュテーブル
143 メタデータ
151 第1圧縮部
152 第2圧縮部
161 第3圧縮部
162 第4圧縮部
181 第1再圧縮部
182 第2再圧縮部
Claims (8)
- 入力データを所定サイズ毎に分けた場合の区分位置を特定する特定部と、
前記入力データを圧縮した圧縮データにおける両端からのサイズが所定サイズ以上となる位置及び隣合う前記区分位置を挟みその間のサイズが所定サイズ以上となる位置に対応する前記入力データにおける圧縮位置を特定し、前記入力データにおける前記区分位置を挟んで並ぶ前記圧縮位置で挟まれた各先圧縮データの圧縮を行う先圧縮部と、
前記入力データにおける前記先圧縮データで分割された後圧縮データ毎に、前記後圧縮データに隣接する前記先圧縮データ及び各前記後圧縮データを基に圧縮を行う後圧縮部と
を備えたことを特徴とする情報処理装置。 - 前記所定サイズは、前記入力データの半分のサイズであり、
前記特定部は、前記入力データの中心位置を特定し、
前記先圧縮部は、前記圧縮データにおいて前記両端のそれぞれからのサイズが所定サイズとなる位置に対応する前記入力データにおける2つの前記圧縮位置を予測し、前記入力データにおける各前記圧縮位置で挟まれた前記先圧縮データの圧縮を行い、
前記後圧縮部は、前記入力データにおける前記先圧縮データで分割された2つの前記後圧縮データ毎に、前記先圧縮データ及び各前記後圧縮データを基に圧縮を行う
ことを特徴とする請求項1に記載の情報処理装置。 - 前記先圧縮部は、
前記圧縮データにおいて前記両端の一方からのサイズが所定サイズとなる位置に対応する前記入力データにおける第1圧縮位置を予測し、前記中心位置から前記第1圧縮位置までの第1データに対して、前記中心位置から前記第1圧縮位置に向けて前記第1データを基に第1圧縮を行う第1圧縮部と、
前記圧縮データにおいて前記両端の他方からのサイズが前記所定サイズとなる位置に対応する前記入力データにおける第2圧縮位置を予測し、前記中心位置から前記第2圧縮位置までの第2データに対して、前記中心位置から前記第2圧縮位置に向けて前記第1データ及び前記第2データを基に第2圧縮を行う第2圧縮部とを備え、
前記後圧縮部は、
前記第1圧縮位置から、前記入力データにおける先頭又は後尾の近い方の第1端部までの第3データに対して、前記第1圧縮位置から前記第1端部に向けて、前記第1データ、前記第2データ及び前記第3データを基に第3圧縮を行う第3圧縮部と、
前記第2圧縮位置から、前記入力データにおける先頭又は後尾の近い方の第2端部までの第4データに対して、前記第2圧縮位置から前記第2端部に向けて、前記第1データ、前記第2データ及び前記第4データを基に第4圧縮を行う第4圧縮部とを備えた
ことを特徴とする請求項2に記載の情報処理装置。 - 前記第1圧縮、前記第2圧縮、前記第3圧縮及び前記第4圧縮により生成された前記圧縮データを記憶部に格納する格納処理部と、
前記入力データのうちの前半のデータの読み出し要求を受けた場合、前記入力データの管理データを基に、前記圧縮データの先端から所定サイズのデータを読み出して展開し、展開したデータの先端から所定サイズのデータを取得し、前記入力データのうちの後半のデータの読み出し要求を受けた場合、前記管理データを基に、前記第1圧縮位置及び前記第2圧縮位置のうち前記入力データの先端に近い方に対応する前記圧縮データの上の基準位置から前記圧縮データの後端までのデータを読み出して展開し、展開したデータの先端から所定サイズのデータを取得する展開部をさらに備え、
前記第2圧縮部は、前記基準位置と前記圧縮データの中心位置との第1相対距離を、前記圧縮データの前記基準位置に登録し、
前記格納処理部は、前記記憶部における前記圧縮データ上の先端の位置及び前記圧縮データの先端の位置から前記基準位置までの第2相対距離を前記管理データに登録する
ことを特徴とする請求項3に記載の情報処理装置。 - 前記第1圧縮部は、前記入力データの圧縮を前記中心位置から前記圧縮データにおける前記両端の前記他方に向けて圧縮を実行していきながら第1圧縮率を算出し、算出した前記第1圧縮率から前記両端の一方から圧縮を終えた位置までの前記圧縮データの第2圧縮率を推測して、前記第1圧縮位置を予測する、
前記第2圧縮部は、前記入力データの圧縮を前記中心位置から前記圧縮データにおける前記両端の一方に向けて圧縮を実行していきながら第3圧縮率を算出し、算出した前記第3圧縮率から前記両端の前記他方から圧縮を終えた位置までの前記圧縮データの第4圧縮率を推測して、前記第2圧縮位置を予測する
ことを特徴とする請求項3又は4に記載の情報処理装置。 - 前記第1圧縮部、前記第2圧縮部、前記第3圧縮部及び前記第4圧縮部により生成された前記圧縮データにおいて前記第1圧縮位置に対応する位置から前記両端の一方までのサイズが所定サイズを超える場合、又は、前記第2圧縮位置に対応する位置から前記両端の前記他方までのサイズが所定サイズを超える場合、前記第2圧縮部、前記第3圧縮部及び前記第4圧縮部による圧縮結果を破棄して、前記入力データの先端から前記中心位置までの前半のデータに対して、前記前半のデータを基に圧縮を行い、且つ、前記入力データの中心位置から後端までの後半のデータに対して、前記後半のデータを基に圧縮を行う再圧縮部をさらに備えたことを特徴とする請求項3〜5のいずれか一つに記載の情報処理装置。
- 入力データを所定サイズ毎に分けた場合の区分位置を特定し、
前記入力データを圧縮した圧縮データにおける両端及び前記区分位置のそれぞれからのサイズが所定サイズとなる位置に対応する前記入力データにおける圧縮位置を予測し、
前記入力データにおける前記区分位置を挟んで並ぶ前記圧縮位置で挟まれた各先圧縮データの圧縮を行い、
前記入力データにおける前記先圧縮データで分割された後圧縮データ毎に、前記後圧縮データに隣接する前記先圧縮データ及び各前記後圧縮データを基に圧縮を行う
ことを特徴とするデータ圧縮方法。 - 入力データを所定サイズ毎に分けた場合の区分位置を特定し、
前記入力データを圧縮した圧縮データにおける両端及び前記区分位置のそれぞれからのサイズが所定サイズとなる位置に対応する前記入力データにおける圧縮位置を予測し、
前記入力データにおける前記区分位置を挟んで並ぶ前記圧縮位置で挟まれた各先圧縮データの圧縮を行い、
前記入力データにおける前記先圧縮データで分割された後圧縮データ毎に、前記後圧縮データに隣接する前記先圧縮データ及び各前記後圧縮データを基に圧縮を行う
処理をコンピュータに実行させることを特徴とするデータ圧縮プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017027056A JP6841074B2 (ja) | 2017-02-16 | 2017-02-16 | 情報処理装置、データ圧縮方法及びデータ圧縮プログラム |
US15/890,555 US10776052B2 (en) | 2017-02-16 | 2018-02-07 | Information processing apparatus, data compressing method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017027056A JP6841074B2 (ja) | 2017-02-16 | 2017-02-16 | 情報処理装置、データ圧縮方法及びデータ圧縮プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018132991A true JP2018132991A (ja) | 2018-08-23 |
JP6841074B2 JP6841074B2 (ja) | 2021-03-10 |
Family
ID=63104664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017027056A Active JP6841074B2 (ja) | 2017-02-16 | 2017-02-16 | 情報処理装置、データ圧縮方法及びデータ圧縮プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10776052B2 (ja) |
JP (1) | JP6841074B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2553557B (en) | 2016-09-08 | 2022-04-20 | V Nova Int Ltd | Data processing apparatuses, methods, computer programs and computer-readable media |
KR20230012872A (ko) * | 2021-07-16 | 2023-01-26 | 주식회사 쏠리드 | 프론트홀 다중화 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061518A (ja) * | 2008-09-05 | 2010-03-18 | Nec Corp | データ保存装置及びデータ保存方法並びにプログラム |
JP2010079535A (ja) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | データアクセス装置 |
WO2014097359A1 (ja) * | 2012-12-19 | 2014-06-26 | 富士通株式会社 | 圧縮プログラム、圧縮方法、圧縮装置およびシステム |
WO2015029224A1 (ja) * | 2013-08-30 | 2015-03-05 | 富士通株式会社 | データ圧縮装置、方法およびプログラム |
JP2016181212A (ja) * | 2015-03-25 | 2016-10-13 | 株式会社メガチップス | 半導体メモリ、メモリ制御装置、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003319186A (ja) | 2002-04-25 | 2003-11-07 | Nec Micro Systems Ltd | 圧縮画像データの復元システム及び復元方法 |
-
2017
- 2017-02-16 JP JP2017027056A patent/JP6841074B2/ja active Active
-
2018
- 2018-02-07 US US15/890,555 patent/US10776052B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061518A (ja) * | 2008-09-05 | 2010-03-18 | Nec Corp | データ保存装置及びデータ保存方法並びにプログラム |
JP2010079535A (ja) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | データアクセス装置 |
WO2014097359A1 (ja) * | 2012-12-19 | 2014-06-26 | 富士通株式会社 | 圧縮プログラム、圧縮方法、圧縮装置およびシステム |
US20150288382A1 (en) * | 2012-12-19 | 2015-10-08 | Fujitsu Limited | Method and system |
WO2015029224A1 (ja) * | 2013-08-30 | 2015-03-05 | 富士通株式会社 | データ圧縮装置、方法およびプログラム |
EP3041145A1 (en) * | 2013-08-30 | 2016-07-06 | Fujitsu Limited | Data compression device, method, and program |
JP2016181212A (ja) * | 2015-03-25 | 2016-10-13 | 株式会社メガチップス | 半導体メモリ、メモリ制御装置、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 |
Also Published As
Publication number | Publication date |
---|---|
US10776052B2 (en) | 2020-09-15 |
US20180232182A1 (en) | 2018-08-16 |
JP6841074B2 (ja) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572187B2 (en) | Controller, data storage device, and computer program product | |
KR101962359B1 (ko) | 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치 | |
CN110532201B (zh) | 一种元数据处理方法及装置 | |
EP3153987A1 (en) | Duplicate data deletion method and device | |
WO2015119974A1 (en) | Flash memory compression | |
US10585589B2 (en) | Data collation method, storage device, storage controller, and storage array | |
US11544159B2 (en) | Techniques for managing context information for a storage device while maintaining responsiveness | |
US20240103747A1 (en) | Data Storage Method and Apparatus | |
CN107135662B (zh) | 一种差异数据备份方法、存储系统和差异数据备份装置 | |
CN110597762A (zh) | 文件处理方法、装置、设备及存储介质 | |
US20180307426A1 (en) | Storage apparatus and storage control method | |
JP2017527877A (ja) | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 | |
US10402108B2 (en) | Efficient control of data storage areas based on a size of compressed data to be written | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
JP6841074B2 (ja) | 情報処理装置、データ圧縮方法及びデータ圧縮プログラム | |
WO2015162755A1 (ja) | データを圧縮して格納するストレージ装置 | |
US11487428B2 (en) | Storage control apparatus and storage control method | |
US20230142948A1 (en) | Techniques for managing context information for a storage device | |
JP2020135134A (ja) | ストレージシステム及び圧縮方法 | |
US11099739B2 (en) | System and method for accessing redundant array of independent disks | |
US20200319999A1 (en) | Storage device, control method of storage device, and storage medium | |
WO2019124320A1 (ja) | ストレージコントローラ、ストレージアレイ装置、データ格納方法、および記憶媒体 | |
CN113326001B (zh) | 数据处理方法、装置、设备、系统、介质及程序 | |
CN105159804A (zh) | 一种数据块处理的方法、装置及设备 | |
JP2008134777A (ja) | ファイル割当テーブルのキャッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201023 |
|
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: 20210119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6841074 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |