IP Library Granted Patent US 9,606,750
Granted Patent B2
US 9,606,750 · App. 14/446,806 · Granted Mar 28, 2017

Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,606,750
App. No.
14/446,806
Granted
Mar 28, 2017
Kind
B2
Abstract

A method of storing data in a distributed manner based on data compression ratio prediction, and a mass storage device and system using the method are disclosed. The device includes a compression ratio predicting unit, a compressing unit, and a control unit. When an address and first unit sized data are received, the compression ratio predicting unit estimates the predicted compression ratio of the first unit sized data. The compressing unit generates compressed data. The control unit calculates the benefit of compression based on at least the estimated predicted compression ratio, stores the compressed data in a first storage area if the calculated benefit of compression is higher than a predetermined benefit threshold value, and stores the first unit sized data in the second storage area if the calculated benefit of compression is equal to or lower than the predetermined benefit threshold value.

Claims (315)

1. A method of distributively storing data in a mass storage device having logically or physically defined first and second storage areas, based on data compression ratio prediction, the method comprising:

receiving an address and a first unit sized data, together with a write command, from a host device;

estimating a predicted compression ratio of the first unit sized data, based on a Shannon byte entropy;

calculating a benefit of compression, based on the predicted compression ratio;

comparing the calculated benefit of compression with a predetermined benefit threshold value, and

in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, compressing the first unit sized data so as to store the compressed data in the first storage area, and

in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value, storing the first unit sized data in the second storage area;

wherein the predicted compression ratio is estimated using the following predicted compression ratio estimation formula:

C ( X )= H ( X ) c ;

wherein C(X) is a predicted compression ratio of sample data X,

c is a predicted compression index that is empirically given, based on a compression method, and

H(X) is the Shannon byte entropy of the sample data X, estimated using the following formula:

H

(

X

)

=

-

i

P

(

x

i

)

log

b

P

(

x

i

)

=

-

i

n

i

N

log

b

n

i

N

;

=

log

b

N

-

1

N

i

n

i

log

b

n

i

wherein sample data X includes a data symbol x i ,

n i is the frequency of appearance of each data symbol x i in the sample data X,

N is an overall frequency of appearance of all of the data symbols in the sample data X, and

P(x i ) is the probability mass function of the data symbol x i .

2. A method of distributively storing data in a mass storage device having logically or physically defined first and second storage areas, based on data compression ratio prediction, the method comprising:

receiving an address and a first unit sized data, together with a write command, from a host device;

estimating a predicted compression ratio of the first unit sized data, based on a Shannon byte entropy;

calculating a benefit of compression, based on the predicted compression ratio;

comparing the calculated benefit of compression with a predetermined benefit threshold value, and

in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, compressing the first unit sized data so as to store the compressed data in the first storage area, and

in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value, storing the first unit sized data in the second storage area;

wherein the predicted compression ratio is estimated using the following predicted compression ratio estimation formula:

C ( X )=2 H(x) 2 −1,

wherein C(X) is the predicted compression ratio of sample data X, and H(X) is the Shannon byte entropy of the sample data X.

3. The method of claim 1 , wherein the predicted compression ratio is estimated by referring to a look-up table that is constructed by mapping values of Shannon entropy to values of the predicted compression ratio based on actual compression ratio obtained using the compression method.

4. The method of claim 1 , wherein the benefit of compression is calculated, based on at least one of:

a remaining storage capacity of the first storage area, which is configured to store: compressed data, and

a remaining storage capacity of the second storage area, which is configured to store: uncompressed data, data fragmentation degree, compression-related overhead, an issuer of a write command and a size of a file, and the predicted compression ratio.

5. The method of claim 1 , wherein compressing the first unit sized data, and then storing the compressed data in the first storage area comprises:

converting the compressed data into at least one piece of second unit sized data having a second unit size for storing data in the first storage area; and

storing the second unit sized data in the first storage area;

wherein storing the first unit sized data in the second storage area comprises:

converting the first unit sized data into at least one piece of second unit sized data; and

storing the second unit sized data in the second storage area.

6. The method of claim 5 , further comprising:

mapping actual data locations of the second unit sized data in the first and second storage areas to the address of the first unit sized data; and

recording the actual data locations and the address together in a data location mapping unit.

7. The method of claim 6 , further comprising:

receiving an address of first unit sized data desired to be accessed, together with a read command, from the host device;

obtaining the actual data location corresponding to the address attached to the read command, by referring to the data location mapping unit, and

in response to the actual data location of the first unit sized data desired to be read corresponding to the first storage area, fetching compressed second unit sized data from the actual data location in the first storage area so as to generate the decompressed data, by decompressing the compressed second unit sized data; and

in response to the actual data location of the first unit sized data desired to be read corresponding to the second storage area, fetching uncompressed second unit sized data from the actual data location in the second storage area; and

generating the first unit sized data from the decompressed data or the uncompressed second unit sized data, so as to transmit the generated first unit sized data to the host device.

8. A device for distributively storing data based on data compression ratio prediction, the device capable of defining logically or physically first and second storage areas, the device comprising:

a compression ratio predicting unit configured to, in response to receiving an address and a first unit sized data, together with a write command, from a host device, estimate a predicted compression ratio of the first unit sized data, based on a Shannon byte entropy;

a compressing unit configured to generate compressed data, by compressing the first unit sized data; and

a control unit configured

to calculate benefit of compression, based on at least the estimated predicted compression ratio,

to compare the calculated benefit of compression with a predetermined benefit threshold value, and

to store the data compressed by the compressing unit in the first storage area, in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, and

to store the first unit sized data in the second storage area, in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value;

wherein the predicted compression ratio is estimated using the following predicted compression ratio estimation formula:

C ( X )= H ( X ) c ;

wherein C(X) is a predicted compression ratio of sample data X,

c is a predicted compression index that is empirically given, based on a compression method, and

H(X) is the Shannon byte entropy of the sample data X, estimated using the following formula:

H

(

X

)

=

-

i

P

(

x

i

)

log

b

P

(

x

i

)

=

-

i

n

i

N

log

b

n

i

N

;

=

log

b

N

-

1

N

i

n

i

log

b

n

i

wherein sample data X includes a data symbol x i ,

n i is the frequency of appearance of each data symbol x i in the sample data X,

N is an overall frequency of appearance of all of the data symbols in the sample data X, and

P(x i ) is the probability mass function of the data symbol x i .

9. A device for distributively storing data, based on data compression ratio prediction, the device capable of defining logically or physically first and second storage areas, the device comprising:

a compression ratio predicting unit configured to, in response to receiving an address and a first unit sized data, together with a write command, from a host device, estimate a predicted compression ratio of the first unit sized data, based on a Shannon byte entropy;

a compressing unit configured to generate compressed data, by compressing the first unit sized data; and

a control unit configured

to calculate benefit of compression, based on at least the estimated predicted compression ratio,

to compare the calculated benefit of compression with a predetermined benefit threshold value, and

to store the data compressed by the compressing unit in the first storage area, in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, and

to store the first unit sized data in the second storage area, in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value;

wherein the predicted compression ratio is estimated using the following predicted compression ratio estimation formula:

C ( X )=2 H(x) 2 −1; and

wherein C(X) is the predicted compression ratio of sample data X, and H(X) is the Shannon byte entropy of the sample data X.

10. The device of claim 8 , wherein the predicted compression ratio is estimated by referring to a look-up table that is constructed by mapping values of Shannon entropy to values of predicted compression ratio based on actual compression ratio obtained using the compression method.

11. The device of claim 8 , wherein the benefit of compression is calculated, based on at least one of:

a remaining storage capacity of the first storage area, which is configured to store: compressed data, and

a remaining storage capacity of the second storage area, which is configured to store: uncompressed data, data fragmentation degree, compression-related overhead, an issuer of a write command and a size of a file, and the predicted compression ratio.

12. The device of claim 8 , wherein the control unit is further configured to:

calculate the benefit of compression, based on at least the estimated predicted compression ratio, and compare the calculated benefit of compression with a predetermined benefit threshold value, and

in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, convert compressed data into at least one piece of second unit sized data having a second unit size for storing data in the first storage area, so as to store the second unit sized data in the first storage area, and

in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value, convert the first unit sized data into at least one piece of second unit sized data, so as to store the second unit sized data in the second storage area.

13. The device of claim 12 , further comprising

a data location mapping unit configured to map actual data locations of the second unit sized data in the first and second storage areas, to the address of the first unit sized data, so as to record the actual data locations and the address together.

14. The device of claim 13 , further comprising:

a decompressing unit configured to generate decompressed data, by decompressing the compressed second unit sized data;

wherein the control unit is further configured to, in response to receiving an address of first unit sized data desired to be accessed, together with a read command, from the host device:

obtain the actual data location corresponding to the address attached to the read command, by referring to the data location mapping unit, and

in response to the actual data location of the first unit sized data desired to be read corresponding to the first storage area, fetch compressed second unit sized data from the actual data location in the first storage area and generate the decompressed data, by decompressing the compressed second unit sized data, and

in response to the actual data location of the first unit sized data desired to be read corresponding to the second storage area, fetch uncompressed second unit sized data from the actual data location in the second storage area, and

generate the first unit sized data from the decompressed data or the uncompressed second unit sized data, so as to transmit the generated first unit sized data to the host device.

15. A system, capable of mounting first and second storage devices defined logically or physically for functioning as independent storage devices, the system comprising:

a compression ratio predicting unit configured to, in response to receiving an address and a first unit sized data, together with a write command, from a host device, estimate a predicted compression ratio of the first unit sized data based on a Shannon byte entropy;

a compressing unit configured to generate compressed data by compressing the first unit sized data; and

a control unit configured

to calculate benefit of compression, based on at least the estimated predicted compression ratio,

to compare the calculated benefit of compression with a predetermined benefit threshold value, and

to store the data compressed by the compressing unit in the first storage area, in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, and

to store the first unit sized data in the second storage area, in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value;

wherein the predicted compression ratio is estimated using the following predicted compression ratio estimation formula:

C ( X )= H ( X ) c ;

wherein C(X) is a predicted compression ratio of sample data X,

c is a predicted compression index that is empirically given, based on a compression method, and

H(X) is the Shannon byte entropy of the sample data X, estimated using the following formula:

H

(

X

)

=

-

i

P

(

x

i

)

log

b

P

(

x

i

)

=

-

i

n

i

N

log

b

n

i

N

;

=

log

b

N

-

1

N

i

n

i

log

b

n

i

wherein sample data X includes a data symbol x i ,

n i is the frequency of appearance of each data symbol x i in the sample data X,

N is an overall frequency of appearance of all of the data symbols in the sample data X, and

P(x i ) is the probability mass function of the data symbol x i .

16. The system of claim 15 , wherein the control unit is further configured to:

calculate the benefit of compression, based on at least the estimated predicted compression ratio, and compare the calculated benefit of compression with a predetermined benefit threshold value, and

in response to the calculated benefit of compression being higher than the predetermined benefit threshold value, convert the compressed data, which is compressed by the compressing unit, into at least one piece of second unit sized data having a second unit size for storing data in the first storage area, and store the second unit sized data in the first storage area, and

in response to the calculated benefit of compression being equal to or lower than the predetermined benefit threshold value, convert the first unit sized data into at least one piece of second unit sized data, and store the second unit sized data in the second storage area.

17. The system of claim 16 , further comprising:

a data location mapping unit configured to map actual data locations of the second unit sized data in the first and second storage areas, to the address of the first unit sized data, and then to record the actual data locations and the address together.

18. The system of claim 17 , further comprising

a decompressing unit configured to generate decompressed data, by decompressing the compressed second unit sized data;

wherein the control unit is further configured to, in response to receiving an address of first unit sized data desired to be accessed, together with a read command, from the host device:

obtain the actual data location corresponding to the address attached to the read command, by referring to the data location mapping unit, and

in response to the actual data location of the first unit sized data desired to be read corresponding to the first storage area, fetch compressed second unit sized data from the actual data location in the first storage area and generate the decompressed data, by decompressing the compressed second unit sized data, and

in response to the actual data location of the first unit sized data desired to be read corresponding to the second storage area, fetch uncompressed second unit sized data from the actual data location in the second storage area; and

generate the first unit sized data from the decompressed data or the uncompressed second unit sized data, and transmit the generated first unit sized data to the host device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: IP3 2019, SERIES 400 OF ALLIED SECURITY TRUST I
To: ZAMA INNOVATIONS LLC
Reel/Frame 057407/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2019
From: RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
To: IP3 2019, SERIES 400 OF ALLIED SECURITY TRUST I
Reel/Frame 051322/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: SEO, EUI SEONG; SEO, BON KEUN; KIM, HYEON HWA
To: RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
Reel/Frame 033423/0351 →