US 11,868,615 B2
Compression device and control method
Youhei Fukazawa, Kawasaki Kanagawa (JP); Kohei Oikawa, Kawasaki Kanagawa (JP); Sho Kodama, Kawasaki Kanagawa (JP); Keiri Nakanishi, Kawasaki Kanagawa (JP); Takashi Miura, Yokohama Kanagawa (JP); Daisuke Yashima, Tachikawa Tokyo (JP); Masato Sumiyoshi, Yokohama Kanagawa (JP); and Zheye Wang, Kawasaki Kanagawa (JP)
Assigned to Kioxia Corporation, Tokyo (JP)
Filed by Kioxia Corporation, Tokyo (JP)
Filed on Sep. 9, 2021, as Appl. No. 17/471,107.
Claims priority of application No. 2020-206930 (JP), filed on Dec. 14, 2020.
Prior Publication US 2022/0187994 A1, Jun. 16, 2022
Int. Cl. G06F 3/06 (2006.01); H03M 7/30 (2006.01)
CPC G06F 3/0608 (2013.01) [G06F 3/0638 (2013.01); G06F 3/0646 (2013.01); G06F 3/0683 (2013.01); H03M 7/3084 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A compression device comprising:
a first storage unit configured to include first storage areas that each store a dictionary address corresponding to a piece of dictionary data and that each have a first storage area address which matches a hash value;
a second storage unit configured to include second storage areas that each store data and that each have an associated address which matches the dictionary address stored in one of the first storage areas;
a calculation unit configured to:
determine a first hash function that changes depending on at least part of first data; and
calculate a first hash value of at least part of second data by using the determined first hash function, the second data being a part of the first data; and
a comparison unit configured to:
acquire third data from a third storage area of the second storage areas, wherein the third storage area has the associated address that matches the dictionary address that is stored in a fourth storage area of the first storage areas, and the fourth storage area has the first storage area address that matches the calculated first hash value; and
compare the second data with the third data to acquire a length of a matching portion between the second data and the third data; and an entropy encoding unit configured to perform entropy encoding, wherein
the first data includes n-byte data comprised of one or more data portions,
each of the one or more data portions has a length of m bits,
n is an integer of one or more,
m is an integer of two or more,
the calculation unit is configured to:
calculate a first ratio of bits which are 0 among one or more i-th bits that are each included in one of the one or more data portions, or a second ratio of bits which are 1 among the one or more i-th bits; and
determine the first hash function based on the first ratio or the second ratio, the entropy encoding unit is configured to acquire encoded data by performing entropy encoding on a combination of the dictionary address stored in the fourth storage area and the length of the matching portion, and
i is an integer of zero or more and less than m.