Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
First Claim
Patent Images
1. A method, comprising:
- referencing logical block usage information of a storage manager in response to one or more of a trigger condition and a pre-determined schedule, wherein the logical block usage information is maintained by the storage manager and is configured to associate objects managed by the storage manager with respective logical block addresses corresponding to a non-volatile storage volume managed by a storage controller, wherein data of the objects are stored on the non-volatile storage volume, and wherein the storage controller is configured to maintain logical-to-physical block usage information that translates logical block addresses to corresponding physical storage locations within the non-volatile storage volume; and
synchronizing the logical-to-physical block usage information maintained by the storage controller in response to the referenced logical block usage information maintained by the storage manager, wherein the logical-to-physical block usage information is maintained by the storage controller separate from the logical block usage information maintained by the storage manager, andwherein synchronizing the logical-to-physical block usage information comprises identifying a logical block address that was previously associated with an object managed by the storage manager, such that the identified logical block address translates to a physical storage location in the logical-to-physical block usage information maintained by the storage controller, and issuing a message to the storage controller indicating that the identified logical block address no longer references object data.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for data block usage information synchronization for a non-volatile storage volume. The method includes referencing first data block usage information for data blocks of a non-volatile storage volume managed by a storage manager. The first data block usage information is maintained by the storage manager. The method also includes synchronizing second data block usage information managed by a storage controller with the first data block usage information maintained by the storage manager. The storage manager maintains the first data block usage information separate from second data block usage information managed by the storage controller.
-
Citations
37 Claims
-
1. A method, comprising:
-
referencing logical block usage information of a storage manager in response to one or more of a trigger condition and a pre-determined schedule, wherein the logical block usage information is maintained by the storage manager and is configured to associate objects managed by the storage manager with respective logical block addresses corresponding to a non-volatile storage volume managed by a storage controller, wherein data of the objects are stored on the non-volatile storage volume, and wherein the storage controller is configured to maintain logical-to-physical block usage information that translates logical block addresses to corresponding physical storage locations within the non-volatile storage volume; and synchronizing the logical-to-physical block usage information maintained by the storage controller in response to the referenced logical block usage information maintained by the storage manager, wherein the logical-to-physical block usage information is maintained by the storage controller separate from the logical block usage information maintained by the storage manager, and wherein synchronizing the logical-to-physical block usage information comprises identifying a logical block address that was previously associated with an object managed by the storage manager, such that the identified logical block address translates to a physical storage location in the logical-to-physical block usage information maintained by the storage controller, and issuing a message to the storage controller indicating that the identified logical block address no longer references object data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a non-transitory computer readable storage medium having computer usable program code executable to perform operations, comprising:
-
referencing a block map defining logical block usage information pertaining to logical data blocks corresponding to a non-volatile storage medium in response to one or more of a trigger condition and a pre-determined schedule, the block map maintained by a storage manager to associate file data managed by the storage manager with respective logical data blocks, wherein the non-volatile storage medium is managed by a storage controller, and wherein the storage controller is configured to map logical data blocks to physical blocks on the non-volatile storage medium; identifying a set of one or more logical data blocks that are not associated with file data managed by the storage manager by use of the referenced block map, wherein one or more of the identified logical data blocks are associated with respective physical blocks on the non-volatile storage medium by the storage controller; and sending a message to the storage controller managing the non-volatile storage medium, the message indicating the identified set of logical data blocks that are not associated with file data managed by the storage manager. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A system, comprising:
-
a processor; a memory in communication with the processor; a block-oriented volume comprising a plurality of logical blocks in communication with the memory, wherein the block-oriented volume corresponds to a non-volatile storage device; a storage controller that stores data corresponding to the logical blocks of the block-oriented volume on the non-volatile storage device, and maintains a logical-to-physical translation layer that associates logical blocks of the block-oriented volume with corresponding physical storage locations of the non-volatile storage device; a storage manager that maintains a block map defining logical block usage information pertaining to the block-oriented volume, wherein the logical block usage information associates logical blocks of the block-oriented volume with files managed by the storage manager, and wherein the logical-to-physical translation layer maintained by the storage controller associates logical blocks corresponding to the files managed by the storage manager with physical storage locations of the non-volatile storage device storing data of the files; and a block usage synchronizer that determines logical block usage information pertaining to the block-oriented volume by use of the block map maintained by the storage manager in response to one or more of a trigger condition and a pre-determined schedule, and synchronizes the logical-to-physical translation layer maintained by the storage controller based on the determined logical block usage information by deallocating an association between a physical storage location of the non-volatile storage device and a logical block of the block-oriented volume that the determined logical block usage information indicates is not in use to reference data of a file managed by the storage manager. - View Dependent Claims (32, 33, 34)
-
-
35. An apparatus, comprising:
-
a reference module that references logical block usage information of a storage manager in response to one or more of a trigger condition and a pre-determined schedule, wherein the logical block usage information is maintained by the storage manager and is configured to associate objects managed by the storage manager with respective logical block addresses corresponding to a non-volatile storage volume managed by a storage controller, wherein data of the objects are stored on the non-volatile storage volume, and wherein the storage controller is configured to maintain logical-to-physical block usage information that translates logical block addresses to corresponding physical storage locations within the non-volatile storage volume; and a block usage synchronizer that synchronizes the logical-to-physical block usage information maintained by the storage controller in response to the referenced logical block usage information maintained by the storage manager, wherein the logical-to-physical block usage information is maintained by the storage controller separate from the logical block usage information maintained by the storage manager, wherein synchronizing the logical-to-physical block usage information comprises identifying a logical block address that was previously associated with an object managed by the storage manager, such that the identified logical block address translates to a physical storage location in the logical-to-physical block usage information maintained by the storage controller, and issuing a message to the storage controller indicating that the identified logical block address no longer references object data. - View Dependent Claims (36, 37)
-
Specification