Data storage device and method performing background operation with selected data compression
First Claim
Patent Images
1. A method of storing data in a storage medium of a data storage device, comprising:
- storing input data in the storage medium; and
reading the input data from the storage medium and compressing the read input data during a background operation of the data storage device;
wherein the background operation comprises a merge operation, and compressing data stored in the storage medium comprises;
determining whether a free block can be generated by merging “
M”
selected memory blocks to be merged using a first merge scheme;
performing the merge operation according to the first merge scheme if a free block can be generated by merging the “
M”
selected memory blocks using the first merge scheme; and
performing the merge operation according to a second merge scheme different from the first merge scheme if a free block cannot be generated by merging the “
M”
selected memory blocks using the first merge scheme;
wherein the first merge scheme comprises reading valid data from “
M”
used memory blocks in the storage medium as the read input data, compressing the read valid data to generate compressed data, and storing the compressed data in free memory blocks of the storage medium; and
wherein the second merge scheme comprises reading valid data from “
N”
used memory blocks in the storage medium as the read input data, where N is greater than M, and storing the read valid data in free memory blocks of the storage medium.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of storing data in a storage medium of a data storage device comprises storing input data in the storage medium, and reading the input data from the storage medium and compressing the read data during a background operation of the data storage device.
24 Citations
12 Claims
-
1. A method of storing data in a storage medium of a data storage device, comprising:
-
storing input data in the storage medium; and reading the input data from the storage medium and compressing the read input data during a background operation of the data storage device; wherein the background operation comprises a merge operation, and compressing data stored in the storage medium comprises; determining whether a free block can be generated by merging “
M”
selected memory blocks to be merged using a first merge scheme;performing the merge operation according to the first merge scheme if a free block can be generated by merging the “
M”
selected memory blocks using the first merge scheme; andperforming the merge operation according to a second merge scheme different from the first merge scheme if a free block cannot be generated by merging the “
M”
selected memory blocks using the first merge scheme;wherein the first merge scheme comprises reading valid data from “
M”
used memory blocks in the storage medium as the read input data, compressing the read valid data to generate compressed data, and storing the compressed data in free memory blocks of the storage medium; andwherein the second merge scheme comprises reading valid data from “
N”
used memory blocks in the storage medium as the read input data, where N is greater than M, and storing the read valid data in free memory blocks of the storage medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage device, comprising:
-
a storage medium comprising memory blocks; a memory translation layer configured to select “
M”
memory blocks of the storage medium in which input data is to be stored; anda compression block configured to compress data stored in the “
M”
selected memory blocks during a background operation of the data storage device;wherein the background operation comprises a merge operation, and data compression is accomplished by determining whether a free block can be generated by merging the “
M”
selected memory blocks using a first merge scheme, performing the merge operation according to the first merge scheme if a free block can be generated by merging the “
M”
selected memory blocks using the first merge scheme, and performing the merge operation according to a second merge scheme different from the first merge scheme if no free block can be generated by merging the “
M”
selected memory blocks using the first merge scheme;wherein the first merge scheme comprises reading valid data from “
M”
used memory blocks in the storage medium as the read input data, compressing the read valid data to generate compressed data, and storing the compressed data in free memory blocks of the storage medium; andwherein the second merge scheme comprises reading valid data from “
N”
used memory blocks in the storage medium as the read input data, where N is greater than M and storing the read valid data in free memory blocks of the storage medium. - View Dependent Claims (10)
-
-
11. A method of operating a data storage device, comprising:
-
storing input data in a log block; updating a log block mapping table to reflect the storage of the input data in the log block; during a background operation of the data storage device, reading the input data from the log block, compressing the read input data to produce compressed data, and storing the compressed data in a data block; and updating a data block mapping table to reflect storage of the compressed data in the data block; wherein the background operation comprises a merge operation, and data compression is accomplished by determining whether a free block can be generated by merging the log block with at least one other memory block using a first merge scheme, performing the merge operation according to the first merge scheme if a free block can be generated by the merging using the first merge scheme, and performing the merge operation according to a second merge scheme different from the first merge scheme if no free block can be generated by the merging using the first merge scheme; wherein the first merge scheme comprises reading valid data from “
M”
used memory blocks in the storage medium as the read input data, compressing the read valid data to generate compressed data, and storing the compressed data in free memory blocks of the storage medium; andwherein the second merge scheme comprises reading valid data from “
N”
used memory blocks in the storage medium as the read input data, where N is greater than M and storing the read valid data in free memory blocks of the storage medium. - View Dependent Claims (12)
-
Specification