Apparatus, system, and method for identifying data that is no longer in use
DC CAFCFirst Claim
Patent Images
1. A method for managing data stored on non-volatile storage media, the method comprising:
- receiving a message, at a storage controller, comprising a logical identifier, the message indicating that a storage client has deleted a block associated with the logical identifier such that data of the logical identifier does not need to be preserved on a non-volatile storage medium, wherein the logical identifier is associated with a physical storage location on the non-volatile storage medium; and
indicating that contents of the physical storage location do not need to be preserved on the non-volatile storage medium in response to the message.
16 Assignments
Litigations
2 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.
-
Citations
30 Claims
-
1. A method for managing data stored on non-volatile storage media, the method comprising:
-
receiving a message, at a storage controller, comprising a logical identifier, the message indicating that a storage client has deleted a block associated with the logical identifier such that data of the logical identifier does not need to be preserved on a non-volatile storage medium, wherein the logical identifier is associated with a physical storage location on the non-volatile storage medium; and indicating that contents of the physical storage location do not need to be preserved on the non-volatile storage medium in response to the message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
receiving, at a storage driver configured to maintain mappings between logical identifiers and physical addresses of a non-volatile storage device, an indication comprising a logical identifier corresponding to data that does not need to be preserved on the non-volatile storage device, wherein the logical identifier is associated with a storage client data identifier, and wherein the logical identifier is mapped to a physical storage location of the data on the non-volatile storage device in an index; and removing a mapping between the logical identifier and the physical address of the data of the specified logical identifier on the non-volatile storage device in response to the indication comprising the logical identifier, wherein removal of the mapping indicates that the data corresponding to the logical identifier does not need to be preserved on the non-volatile storage device. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus, comprising:
-
a non-volatile storage medium; a request receiver module of a storage layer for the non-volatile storage medium configured to receive an indication that a data structure, corresponding to data stored on the non-volatile storage medium, has been deleted, wherein the indication comprises a logical identifier that is associated with the data structure by a storage client, and wherein the logical identifier is mapped to a physical address of the data on the non-volatile storage medium; and a marking module configured to record that the data stored at the physical address mapped to the logical identifier can be erased from the non-volatile storage medium in response to receiving the indication. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system comprising:
-
a flash storage medium; and a storage layer for the flash storage medium, comprising; an index module configured to maintain an index comprising a plurality of entries, wherein the individual entries associate a logical identifier with a physical storage location of the flash storage medium that comprises data associated with the logical identifier; and a request receiver module configured to receive an indication comprising a logical identifier that is empty, wherein the logical identifier is associated with a data identifier of a storage client, and wherein the logical identifier is associated with a physical storage location in the index, wherein the index module is configured to update the index, in response to the indication, to indicate that contents of the physical storage location associated with the logical identifier do not need to be preserved on the flash storage medium, wherein the index module is configured to update the index by one or more of (a) removing an entry from the index that associates the specified logical identifier with the physical storage location, and (b) adding an entry to the index. - View Dependent Claims (28, 29)
-
-
30. A system, comprising:
-
a flash storage medium; an index module configured to maintain an index comprising a plurality of entries, wherein the individual entries associate a logical identifier with a physical storage location of the flash storage medium that comprises data associated with the logical identifier; a request receiver module configured to receive an indication that a specified logical identifier is empty, wherein the logical identifier is associated with a data identifier of a storage client, and wherein the logical identifier is associated with a physical storage location in the index, wherein the index module is configured to update the index, in response to the indication, to indicate that contents of the physical storage location associated with the logical identifier do not need to be preserved on the flash storage medium, wherein the index module is configured to update the index by one or more of (a) removing an entry from the index that associates the specified logical identifier with the physical storage location, and (b) adding an entry to the index; and a read request response module configured to return an indication that the logical identifier is empty in response to a request to read data of the logical identifier while the data remains on the flash storage medium.
-
Specification