Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus
First Claim
1. A method for controlling data stored in a first Solid State Drive (SSD) in a storage system having a data de-duplication function, wherein the first SSD is one of multiple SSDs being managed by a storage controller, and the storage controller is external to the multiple SSDs, the method comprising:
- obtaining, by the storage controller, stability information of a data segment stored in the first SSD at a certain logical address, wherein the stability information comprises a reference count of the data segment and an age of the data segment, wherein the age of the data segment corresponds to a length of a period of time the data segment has been stored in the first SSD, and wherein the reference count of the data segment is equal to a number of times that the storage controller receives the data segment;
identifying, by the storage controller, a stability level of the data segment based on both the reference count and the age of the data segment, wherein the stability level is positively related to the age and the reference count of the data segment;
sending to the first SSD, by the storage controller, the logical address of the data segment and the stability level of the data segment, wherein the data segment is assigned to a block of the first SSD with data segments having similar stability levels; and
moving, by the first SSD, the data segment stored at the logical address to the assigned block.
1 Assignment
0 Petitions
Accused Products
Abstract
In a method for controlling data stored in an Solid State Disk (SSD) of a data de-duplication system, a storage controller obtains stability information of a data block. The stability information comprises a reference count of the data block and a length of a period of time when the data block is stored in the SSD. The storage controller identifies a stability level of the data block according to the stability information, and sends the stability level of the data block to the SSD. The SSD moves the data block to a target block which corresponds to the stability level. Thereby, the SSD can store data blocks having a same stability level together.
-
Citations
12 Claims
-
1. A method for controlling data stored in a first Solid State Drive (SSD) in a storage system having a data de-duplication function, wherein the first SSD is one of multiple SSDs being managed by a storage controller, and the storage controller is external to the multiple SSDs, the method comprising:
-
obtaining, by the storage controller, stability information of a data segment stored in the first SSD at a certain logical address, wherein the stability information comprises a reference count of the data segment and an age of the data segment, wherein the age of the data segment corresponds to a length of a period of time the data segment has been stored in the first SSD, and wherein the reference count of the data segment is equal to a number of times that the storage controller receives the data segment; identifying, by the storage controller, a stability level of the data segment based on both the reference count and the age of the data segment, wherein the stability level is positively related to the age and the reference count of the data segment; sending to the first SSD, by the storage controller, the logical address of the data segment and the stability level of the data segment, wherein the data segment is assigned to a block of the first SSD with data segments having similar stability levels; and moving, by the first SSD, the data segment stored at the logical address to the assigned block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage controller in a storage system having a data de-duplication function, wherein the storage controller manages multiple solid state drives (SSDs), and the storage controller is external to the multiple SSDs, the storage controller comprising:
-
a memory, configured to store stability information of a data segment, wherein the data segment is stored in a first solid state drive (SSD) of the storage system at a certain logical address, wherein the stability information comprises a reference count of the data segment and an age of the data segment, wherein the age of the data segment corresponds to a length of a period of time the data segment has been stored in the first SSD, wherein the reference count of the data segment is the number of times that the storage controller receives the data segment, and wherein the first SSD is one of the multiple SSDs managed by the storage controller; and a processor, configured to; identify a stability level of the data segment based on both the reference count of the data segment and the age of the data segment, wherein the stability level is positively related to the age and the reference count of the data segment; and send the logical address of the data segment and the stability level of the data segment to the first SSD, so that the first SSD moves the data segment stored at the logical address to a block of the first SSD with data segments having similar stability levels. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification