• 検索結果がありません。

ストレージシステムにおける高性能可逆データ圧縮方式の開発

N/A
N/A
Protected

Academic year: 2021

シェア "ストレージシステムにおける高性能可逆データ圧縮方式の開発"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 78 回全国大会. 1A-03. ストレージシステムにおける高性能可逆データ圧縮方式の開発 水島 永雅. 新井 政弘. 小関 英通. 河村 篤志†. 株式会社 日立製作所 研究開発グループ 情報通信イノベーションセンタ†. 1. 研究背景と課題. “abcdefebcdeabababcdef”. フラッシュメモリを媒体とする SSD の普及を加 速するには、依然低価格な HDD と競合させるべく SSD の容量単価の削減が必要である。その実現技術 の 1 つとして可逆データ圧縮がある。SSD はデータ アクセスの応答時間が HDD に比べて短いことが利 点であり、圧縮機能を搭載した場合でも応答性能 を極力悪化させないことが重要である。圧縮機能 を搭載する SSD の構成を図 1 に示す。データライ トではホストからの受信データを可逆圧縮してフ ラッシュメモリに格納するが、データをキャッシ ュした直後にホストに完了応答し、圧縮と格納を 後回しにするため直接的な性能影響はない。一方、 データリードではフラッシュメモリから読んだデ ータを伸張してホストに送信するが、応答時間に データの伸張時間が含まれるため、伸張に時間が かかるほど圧縮機能がない場合と比べて応答性能 が悪化する。ゆえに圧縮機能を搭載する SSD は伸 張処理をハードウェアで高速化する必要がある。. “abcdefe”[4,6]”ab”[4,2][4,15] 10010001 10010010 10010011 10010100 10010101 10010110 10010101. “a”. “b”. キャッシュ データ. ホスト. SSD 圧縮処理 伸張処理. フラッシュ メモリ. データ リード応答時間. 図1. 圧縮機能を搭載する SSD の構成. しかし従来の可逆圧縮アルゴリズムはハードウ ェアで伸張しても高速化に限界がある。最も一般 的な Deflate の圧縮方式[1](図 2)は、スライド辞 書圧縮 LZ77[2]に従い、平文データ(図上)を先頭か らスキャンし、直前までの所定長の文字列の中か ら最も長く一致する文字列を発見してコピー記号 に置換する(図中)。例えば 2 度目に現れる 4 文字 の”bcde”は 6 文字前と一致するため[4,6]へ置換す る。そして置換しなかった文字とコピー記号をハ フマン符号で符号化する(図下)。 圧縮データはビット長が一定でない符号の連結 で構成される。伸張処理はこれを元の平文データ に逆変換する処理だが、それを高速に行うには圧 縮データに含まれる複数の符号を同時に解釈して 復号すること(並列化)が望ましい。. “d”. “e”. “f”. “e”. 0000010 001001 10010001 10010010 0000010 00001 0000010 0011101 [4,6]. “a”. [4,2]. “b”. 図2. [4,15]. Deflate の圧縮方式. 10010001100100101001001110010100100101011001011010010101 ・・・. 先読み並列処理 で高速化したい. 復号して次の符号に ポインタ移動. 図3 ライト応答時間. “c”. しかし、符号境界が 未確定で先読み不可. x[0]~ x[10]~ x[20]~. 先読み並列処理の困難性. しかし各符号の長さは多様であるため、図 3 の ように離れた場所の符号を先読みして並列的な復 号を試みようにも符号間の境界が不明であり、直 前までの符号を全て復号するまでその境界が確定 しない。すなわち、伸張処理は一般に直列化せざ るを得ない。実際 333MHz 駆動のハードウェアは 1 サイクルで高々2 符号しか伸張できず、高速化限界 は 666MB/s となる。例えば 8KB リードでは、圧縮 の効かないデータで最悪 12.3μs の伸張時間を費や す。圧縮機能のない SSD の一般的なリード応答時 間を 150μs と想定すると 8.2%の応答性能悪化とな る。これを常に 1%未満に抑えたいなら、例えばデ ータを 16 個に分割して個別に圧縮し、伸張を 16 並 列化すれば 0.51%(0.77μs)に改善するが、辞書が分 断されて圧縮率が大きく悪化する。(これら従来方 式を、それぞれ単純圧縮、分離圧縮と呼ぶ。). 2. 開発した圧縮方式 我々は伸張の高速化困難性から、圧縮率の悪い 分離圧縮を選択せざるを得ない状況を回避したい と考え、先読み並列処理が可能な圧縮方式(図 4)と それに対応した伸張回路(図 5)を開発した。 圧縮手順は、まず平文データを N(B)単位で等分 割し(図は N=8)、各部分の LZ77 圧縮と符号化を行. Development of the High Performance Lossless Data Compression Method for Storage Systems † Nagamasa Mizushima, Masahiro Arai, Hideyuki Koseki and Atsushi Kawamura, Hitachi, Ltd., Center for Technology Innovation – Information and Telecommunications. 1-5. Copyright 2016 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 78 回全国大会. 8B. 8B. 8B. 8B. 平文データ. 24bit. 40bit. 48bit. 16bit. b. LZ77+符号化. a 24bit. 40bit. 48bit. 16bit. ヘッダ付加. 圧縮データ. 図4. b. [3,J]. a. c. [3,J]. a. g. c. [3,J]. a. b. e. g. c. [3,J]. a. b b b. 開発した圧縮方式 b. b. a. a. a. a. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. [J]. c. c. c. c. c. c. g. g. g. g. g. g. g. e. e. e. e. e. e. e. e. T2. T3. T4. T5. T6. T7. T8. T9 time. 伸張回路 ① ペイロード 抽出部. 図5. ② 符号 展開部. ③ 文字 解決部. 開発した伸張回路. う。圧縮率の悪化を抑えるため、LZ77 の辞書は分 割境界を超えて参照可能とするが、コピー記号へ 置換可能な文字列は分割境界を跨がないように置 換する。圧縮後の各符号列(ペイロード)の先頭にそ の長さが分かるヘッダを付加する。最後にそれら を連結して圧縮データを構成する。 伸張回路は 3 段の処理部で構成される。最初の ペイロード抽出部(図 6)は、1 サイクル毎にヘッダ を解析し、後続のペイロードを抽出して次段に送 出すると同時に解析位置を次ヘッダに移す。次段 の符号展開部(図 7)は、各ペイロードを 1 符号ずつ 復号するパイプラインであり、コピー符号[L, J]を L 個の空箱[J]に、他の符号を元の文字に変換する。 空箱とは辞書参照するまで未解決な部分を意味す る。最終の文字解決部(図 8)は、分割単位 N の幅を 持つシフトレジスタとセレクタで構成した辞書参 照回路であり、前段の空箱[J]にそこから距離 J の位 置の文字を引いて代入し、平文を全て復元する。 本伸張回路は 1 サイクル毎に N(B)の平文出力が可 能であり、駆動周波数 F(MHz)での伸張速度は常に N・F(MB/s)となる。N は応答時間の許容増加率に 基づき設計する。例えば F=333、N=32 とすれば 8KB リード応答時間は上記例と同じ 0.51%増となる。 PL1. HD1. PL2. HD2. PL3. HD8 PL8. T1. 図7 セレクタ. 符号展開部. 辞書参照で解決. b. b. h. r. q. w. n. a. a. u. v. p. b. k. [J]. w. n. h. k. f. p. t. o. r. t. [J]. z y x. q. m. e. c. a. e. f. d. g. g. f. k. z y x. s. c. h. a. e. e. o. s. b. m. v. T9. T10. [J]. 未解決 部分. b. 伸張出力. 図8. スライド辞書(シフトレジスタ). 距離 J の文字列. 文字解決部. 3. 効果 開発方式(辞書 8KB)による圧縮率を、圧縮ベンチ マーク[3]の”E.coli”の先頭 8KB を用いて従来方式と 比較した(表 1)。本方式は単純圧縮からの圧縮率悪 化を分離圧縮の約 6 割に抑えることができた。. 方式 伸張時間 圧縮結果 圧縮率. 表 1 圧縮方式比較 単純 分離 5.3μs 0.43μs 3528B 4544B 43.1% 55.5% (+12.4). 本開発 0.77μs 4125B 50.4% (+7.3). HD3. Dep1 Dep2. Dep9. Dep11. Dep3 HD: ヘッダ PL: ペイロード Dep: 符号展開. [1] RFC1951 DEFLATE Compressed Data Format Specification version 1.3, 1996. [2] Jacob Ziv and Abraham Lempel; A Universal Algorithm for Sequential Data Compression , IEEE Transactions on Information Theory, May 1977 [3] http://corpus.canterbury.ac.nz/descriptions/#large. Dep8 T1 T2 T3 T4 T5 T6 T7 T8 T9. 図6. 参考文献. Dep10. time. ペイロード抽出部. 1-6. Copyright 2016 Information Processing Society of Japan. All Rights Reserved..

(3)

参照

関連したドキュメント

The component that measures the rate computes the rate, outputs an analog voltage depending on the rate, and communicates with other devices using UART and/or I 2 C. The

Key Word: Reconfigurable Processor, Single Plane Multiple Function, Single Function Multiple Plane, Reconfigurable Part, Dynamic Loading, Fibonacci numbers..

津  波 避難 浸水・家屋崩壊 避難生活 がれき撤.

She has curated a number of major special exhibitions for the Gotoh Museum, including Meibutsu gire (From Loom to Heirloom: The World of Meibutsu-gire Textiles) in 2001,

Amount of Remuneration, etc. The Company does not pay to Directors who concurrently serve as Executive Officer the remuneration paid to Directors. Therefore, “Number of Persons”

○珠洲市宝立町春日野地内における林地開発許可の経緯(参考) 平成元年11月13日

とディグナーガが考えていると Pind は言うのである(このような見解はダルマキールティなら十分に 可能である). Pind [1999:327]: “The underlying argument seems to be

お客さまが発電設備を当社系統に連系(Ⅱ発電設備(特別高圧) ,Ⅲ発電設備(高圧) , Ⅳ発電設備(低圧)