IP Library Granted Patent US 9,806,740
Granted Patent B1
US 9,806,740 · App. 15/653,597 · Granted Oct 31, 2017

Device and method for data compression

Inventors: An-Nan Chang (Taipei, TW); Shih-Chiang Tsao (Taipei, TW); Pao-Chien Li (Taipei, TW); Chih-Kang Nung (Taipei, TW)
Assignee: ACCELSTOR, INC.
H03M7/30H03M7/3091H03M7/3053
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,806,740
App. No.
15/653,597
Granted
Oct 31, 2017
Kind
B1
Abstract

A device for data compression includes a processing unit, a temporary memory, and a storage device. The temporary memory is used to temporarily store data to be compressed. The storage device includes multiple physical blocks. Each physical block has a same volume size. The processing unit compresses the to-be-compressed data, generates compressed data, and stores the compressed data into one of the physical blocks. The processing unit compares a data size of the compressed data and a volume size of one physical block, and when the data size of the compressed data is smaller than the volume size, the processing unit stores remnant data into the same physical block as the compressed data stored in, wherein the total data size of the remnant data plus the compressed data is equal to the volume size of the physical block both are stored in.

Claims (27)

1. A device for data compression comprising:

a temporary memory storing to-be-compressed data;

a storage device comprising multiple physical blocks, and each physical block having same volume size; and

a processing unit compressing the to-be-compressed data, generating compressed data, and storing the compressed data into one of the physical blocks; wherein the processing unit compares a data size of the compressed data and a volume size of one physical block, and when the data size of the compressed data is smaller than the volume size, the processing unit stores remnant data into the same physical block as the compressed data stored in, wherein the total data size of the remnant data plus the compressed data is equal to the volume size of the physical block both stored in.

2. The device according to claim 1 , wherein the physical block stored with the compressed data comprises a field of metadata, and when the data size of the compressed data is smaller than the volume size, the processing unit records a location of the physical block where the remnant data is stored in into the field of the metadata.

3. The device according to claim 1 , wherein the to-be-compressed data comprises multiple segments of at least one file, and the physical block stored with the compressed data comprises a field of metadata, wherein the processing unit records relevance between the compressed data and the segments into the field of the metadata.

4. The device according to claim 1 , wherein the to-be-compressed data comprises at least one file with multiple segments, when the processing unit compresses the to-be-compressed data, the processing unit compares the volume size of the physical block and data sizes of a first quantity of the segments after compressing, and compares the volume size of the physical block and data sizes of a second quantity of the segments after compressing, and when the data size of the first quantity of the segments after compressing is smaller than the volume size of the physical block and the data size of the second quantity of the segments after compressing is larger than the volume size of the physical block, the processing unit generates the compressed data according to a third quantity of the segments, wherein the second quantity is greater than the first quantity, and the third quantity is between the first quantity and the second quantity.

5. The device according to claim 1 , wherein the compressed data comprises multiple segments from the same one file or different files, the processing unit generates the compressed data according to the segments from the same one file or different files.

6. The device according to claim 1 , wherein the to-be-compressed data is stored in the storage device before storing into the temporary memory, when a volume size of the temporary memory is equal to or larger than a data size of the to-be-compressed data, the processing unit stores the to-be-compressed data into the temporary memory from the storage device, and the processing unit generates the compressed data according to the to-be-compressed data stored in the temporary memory.

7. A method for data compression comprising:

generating compressed data by way of a processing unit according to to-be-compressed data stored in a temporary memory;

storing the compressed data into one of multiple physical blocks of a storage device, wherein each physical block has the same volume size; and

comparing the data size of the compressed data and the volume size of the physical block; and

storing remnant data into the same physical block as the compressed data stored in, wherein the data size of the remnant data plus the data size of the compressed data is equal to the volume size of the physical block.

8. The method according to claim 7 , when the data size of the compressed data is smaller than the volume size of the physical block, the step of storing the remnant data into the same physical block as the compressed data stored in further comprising:

recording a location of the physical block where the remnant data is stored in into a field of metadata.

9. The method according to claim 7 , wherein the to-be-compressed data comprises multiple segments of at least one file, the step of storing the remnant data into the same physical block as the compressed data stored in further comprising:

recording relevance between the compressed data and the segments by way of the processing unit.

10. The method according to claim 7 , wherein the processing unit generates the compressed data according to the segments from the same one file or different files.

11. The method according to claim 7 , before the step of generating the compressed data by way of the processing unit according to the to-be-compressed data stored in the temporary memory, the method further comprising:

comparing data size of the compressed data and a volume size of the temporary memory by way of the processing unit;

storing the to-be-compressed data into the storage device by way of the processing unit when the data size of the to-be-compressed data is larger than the volume size of the temporary memory; and

storing the to-be-compressed data into the temporary memory from the storage device by way of the processing unit when the to-be-compressed data is smaller or equal to the volume size of the temporary memory.

12. The method according to claim 7 , wherein the to-be-compressed data comprises multiple segments of at least one file, and the step of generating the compressed data by way of the processing unit further comprising:

comparing the volume size of the physical block and data sizes of a first quantity of the segments after compressing;

comparing the volume size of the physical block and data sizes of a second quantity of the segments after compressing; and

generating the compressed data by way of the processing unit according to a third quantity when the data size of the first quantity of the segments after compressing is smaller than the volume size of the physical block and the data size of the second quantity of the segments after compressing is larger than the volume size of the physical block, wherein the second quantity is greater than the first quantity, and the third quantity is between the first quantity and the second quantity.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2020
From: ACCELSTOR SINGAPORE PTE. LTD.
To: ACCELSTOR TECHNOLOGIES LTD
Reel/Frame 053170/0957 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2020
From: INNODISK CORPORATION
To: ACCELSTOR SINGAPORE PTE. LTD.
Reel/Frame 052746/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2020
From: ACCELSTOR LTD.
To: INNODISK CORPORATION
Reel/Frame 051529/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2018
From: ACCELSTOR INC.
To: ACCELSTOR LTD.
Reel/Frame 045806/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2017
From: CHANG, AN-NAN; TSAO, SHIH-CHIANG; LI, PAO-CHIEN; NUNG, CHIH-KANG
To: ACCELSTOR, INC.
Reel/Frame 043039/0715 →
Priority Claims (1)
TW 106114895 A · May 5, 2017 · national