Storage device and deduplication method
First Claim
1. A flash memory controller for use in a flash memory module,wherein the flash memory module includes at least one flash memory chip for providing a storage area, wherein the storage area includes a physical unit memory area, and wherein the physical unit memory area includes a prescribed management information storage area,wherein the flash memory controller controls reading and writing of data from and into the at least one flash memory chip,wherein the flash memory controller performs deduplication processing by storing logical addresses of one or more corresponding logical unit memory areas in the prescribed management information storage area, wherein the one or more logical unit memory areas are associated with the physical unit memory area, andwherein the number of said physical unit memory areas storing identical data is defined as X, the total number of valid logical addresses stored in the management information storage areas of the physical unit memory areas storing the identical data is defined as Y, the maximum number of said logical addresses that can be stored in the management information storage area is defined as n, and the smallest integer not less than (Y/n) is defined as Z,wherein if a difference of X and Z is equal or greater than a prescribed value, the flash memory controller eliminates duplicated data by storing the identical data to unused physical unit memory areas, in which a number of the unused physical unit memory areas is equal to Z.
0 Assignments
0 Petitions
Accused Products
Abstract
This storage device performs deduplication of eliminating duplicated data by storing a logical address of one or more corresponding logical unit memory areas in a prescribed management information storage area of a physical unit memory area defined in the storage area provided by the flash memory chip, and executes a reclamation process of managing a use degree as the total number of the logical addresses used stored in the management information storage area and a duplication degree as the number of valid logical addresses corresponding to the physical unit memory area for each of the physical unit memory areas, and returning the physical unit memory area to an unused status when the difference of the use degree and the duplication degree exceeds a default value in the physical unit memory area.
75 Citations
14 Claims
-
1. A flash memory controller for use in a flash memory module,
wherein the flash memory module includes at least one flash memory chip for providing a storage area, wherein the storage area includes a physical unit memory area, and wherein the physical unit memory area includes a prescribed management information storage area, wherein the flash memory controller controls reading and writing of data from and into the at least one flash memory chip, wherein the flash memory controller performs deduplication processing by storing logical addresses of one or more corresponding logical unit memory areas in the prescribed management information storage area, wherein the one or more logical unit memory areas are associated with the physical unit memory area, and wherein the number of said physical unit memory areas storing identical data is defined as X, the total number of valid logical addresses stored in the management information storage areas of the physical unit memory areas storing the identical data is defined as Y, the maximum number of said logical addresses that can be stored in the management information storage area is defined as n, and the smallest integer not less than (Y/n) is defined as Z, wherein if a difference of X and Z is equal or greater than a prescribed value, the flash memory controller eliminates duplicated data by storing the identical data to unused physical unit memory areas, in which a number of the unused physical unit memory areas is equal to Z.
-
6. A flash memory controller for use in a flash memory module,
wherein the flash memory module includes at least one flash memory chip for providing a storage area, wherein the storage area includes a physical unit memory area, and wherein the physical unit memory area includes a prescribed management information storage area, wherein the flash memory controller controls reading and writing of data from and into the at least one flash memory chip, wherein the flash memory controller performs deduplication processing by storing logical addresses of one or more corresponding logical unit memory areas in the prescribed management information storage area, wherein the one or more logical unit memory areas are associated with the physical unit memory area, and wherein the flash memory controller eliminates duplicated data by selecting a first physical unit memory area with the largest unused management information storage area for the logical address and selecting a second physical unit memory area with the smallest unused management information storage area for the logical address and the smallest number of valid logical addresses stored in the management information storage area among a plurality of the physical unit memory areas storing identical data, and copying valid logical addresses stored in the management information storage area of the second physical unit memory area to an unused area of the management information storage area of the first physical unit memory area when the number of unused management information storage areas for the logical address of the first physical unit memory area is equal or greater than the number of the valid logical addresses stored in the management information storage area of the second physical unit memory area.
-
8. A method for use in a flash memory controller in a flash memory module,
wherein the flash memory module includes at least one flash memory chip for providing a storage area, wherein the storage area includes a physical unit memory area, and wherein the physical unit memory area includes a prescribed management information storage area, wherein the method comprises: -
the flash memory controller performing deduplication processing by storing logical addresses of one or more corresponding logical unit memory areas in the prescribed management information storage area, wherein the one or more logical unit memory areas are associated with the physical unit memory area; wherein the number of said physical unit memory areas storing identical data is defined as X, the total number of valid logical addresses stored in the management information storage areas of the physical unit memory areas storing the identical data is defined as Y, the maximum number of said logical addresses that can be stored in the management information storage area is defined as n, and the smallest integer not less than (Y/n) is defined as Z, wherein if a difference of X and Z is equal or greater than a prescribed value, the flash memory controller eliminates duplicated data by storing the identical data to unused physical unit memory areas, in which a number of the unused physical unit memory areas is equal to Z. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for use in a flash memory controller in a flash memory module,
wherein the flash memory module includes at least one flash memory chip for providing a storage area, wherein the storage area includes a physical unit memory area, and wherein the physical unit memory area includes a prescribed management information storage area, wherein the method comprises: -
a step of the flash memory controller performing deduplication processing by storing logical addresses of one or more corresponding logical unit memory areas in the prescribed management information storage area, wherein the one or more logical unit memory areas are associated with the physical unit memory area; wherein at the step, duplicated data is eliminated by selecting a first physical unit memory area with the largest unused management information storage area for the logical address, selecting a second physical unit memory area with the smallest unused management information storage area for the logical address and the smallest number of valid logical addresses stored in the management information storage area among a plurality of the physical unit memory areas storing identical data, and copying valid logical addresses stored in the management information storage area of the second physical unit memory area to an unused area of the management information storage area of the first physical unit memory area when the number of unused management information storage areas for the logical address of the first physical unit memory area is equal or greater than the number of the valid logical addresses stored in the management information storage area of the second physical unit memory area. - View Dependent Claims (14)
-
Specification