Systems and methods for identifying storage resources that are not in use
DC CAFCFirst Claim
Patent Images
1. An apparatus, comprising:
- a solid-state storage medium;
a solid-state storage controller configured to implement storage operations on the solid state storage medium in response to requests from a computer system, including storing data pertaining to logical addresses of a logical address space at respective physical addresses of the solid-state storage medium; and
an indexer, comprised within the solid-state storage controller, wherein the indexer is configured to assign logical addresses of the logical address space to physical addresses in use to store data pertaining to the logical addresses on the solid-state storage medium;
wherein the indexer is further configured to remove an assignment between an identified logical address and a physical address of the solid-state storage medium in response to a message received from a host operating system, the message indicating that the identified logical address is erased.
14 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
16 Claims
-
1. An apparatus, comprising:
-
a solid-state storage medium; a solid-state storage controller configured to implement storage operations on the solid state storage medium in response to requests from a computer system, including storing data pertaining to logical addresses of a logical address space at respective physical addresses of the solid-state storage medium; and an indexer, comprised within the solid-state storage controller, wherein the indexer is configured to assign logical addresses of the logical address space to physical addresses in use to store data pertaining to the logical addresses on the solid-state storage medium; wherein the indexer is further configured to remove an assignment between an identified logical address and a physical address of the solid-state storage medium in response to a message received from a host operating system, the message indicating that the identified logical address is erased. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
means for controlling a solid-state storage medium, comprising, means for storing data referenced by logical blocks of a logical address space on physical storage blocks of the solid-state storage medium, and means for maintaining logical-to-physical mappings between the logical blocks of the logical address space and physical storage blocks storing data referenced by the respective logical blocks on the solid-state storage medium; and means for receiving a message from a storage client that identifies a logical block that is not being used to reference data stored on the solid-state storage medium, wherein the logical block is mapped to a particular physical storage block on the solid-state storage medium by the logical-to-physical mappings; and wherein the means for controlling the solid-state storage medium further comprise means for unmapping the identified logical block from the particular physical storage block in the logical-to-physical mappings. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-volatile solid-state storage system, comprising:
-
a storage interface configured to communicate with a storage client; a storage processor coupled to the storage interface; a flash memory device coupled to the storage processor; and a logical-to-physical translation layer maintained by the storage processor, wherein the logical-to-physical translation layer maps logical block addresses to corresponding respective physical block addresses of the flash memory device, wherein the storage processor is configured to; receive, from the storage client through the storage interface, an empty-block directive command and a range of logical block addresses, update the logical-to-physical translation layer to indicate that data stored in physical block addresses corresponding to the received logical block addresses do not need to be preserved, and store persistent data on the flash memory device, the persistent data indicating that the data corresponding to the received logical block addresses is deleted at the storage client. - View Dependent Claims (13, 14, 15, 16)
-
Specification