Snapshots for a non-volatile device
First Claim
Patent Images
1. A method comprising:
- servicing one or more requests from one or more storage clients to write data to a non-volatile memory device, by writing the data in a sequential log on the non-volatile memory device, the data comprising data segments;
storing logical addresses for the data segments with the data segments in the sequential log;
initializing a snapshot of the data by marking a point in the sequential log;
activating the snapshot for access by a client, wherein activating the snapshot comprises populating a snapshot logical-to-physical mapping by mapping logical addresses stored in the sequential log prior to initializing the snapshot to physical locations of data segments stored in the sequential log prior to initializing the snapshot, the snapshot logical-to-physical mapping differing from a current logical-to-physical mapping;
servicing a client request to access the snapshot, by using the snapshot logical-to-physical mapping to access data stored in the sequential log prior to initializing the snapshot, while preserving data stored in the sequential log subsequent to the initializing the snapshot; and
servicing a client request to access data stored in the sequential log subsequent to the initializing the snapshot, by using the current logical-to-physical mapping.
6 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, and methods are disclosed for snapshots of a non-volatile device. A method includes writing data in a sequential log structure for a non-volatile device. A method includes marking a point, in a sequential log structure, for a snapshot of data. A method includes preserving a logical-to-physical mapping for a snapshot based on a marked point and a temporal order for data in a sequential log structure.
352 Citations
17 Claims
-
1. A method comprising:
-
servicing one or more requests from one or more storage clients to write data to a non-volatile memory device, by writing the data in a sequential log on the non-volatile memory device, the data comprising data segments; storing logical addresses for the data segments with the data segments in the sequential log; initializing a snapshot of the data by marking a point in the sequential log; activating the snapshot for access by a client, wherein activating the snapshot comprises populating a snapshot logical-to-physical mapping by mapping logical addresses stored in the sequential log prior to initializing the snapshot to physical locations of data segments stored in the sequential log prior to initializing the snapshot, the snapshot logical-to-physical mapping differing from a current logical-to-physical mapping; servicing a client request to access the snapshot, by using the snapshot logical-to-physical mapping to access data stored in the sequential log prior to initializing the snapshot, while preserving data stored in the sequential log subsequent to the initializing the snapshot; and servicing a client request to access data stored in the sequential log subsequent to the initializing the snapshot, by using the current logical-to-physical mapping. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a log storage module configured to service one or more requests from one or more storage clients to write data to a non-volatile memory device, by writing the data in a sequential log on the non-volatile memory device, the data comprising data segments; a temporal order module configured to store logical addresses for the data segments with the data segments in the sequential log; a creation module configured to initialize a snapshot of the data by marking a point in the sequential log; an activation module configured to activate the snapshot for access by a client, wherein activating the snapshot comprises populating a snapshot logical-to-physical mapping by mapping logical addresses stored in the sequential log prior to initializing the snapshot to physical locations of data segments stored in the sequential log prior to initializing the snapshot, the snapshot logical-to-physical mapping differing from a current logical-to-physical mapping; a snapshot interface module configured to service a client request to access the snapshot, by using the snapshot logical-to-physical mapping to access data stored in the sequential log prior to initializing the snapshot, while preserving data stored in the sequential log subsequent to the initializing the snapshot; and a non-volatile memory controller configured to service a client request to access data stored in the sequential log subsequent to the initializing the snapshot, by using the current logical-to-physical mapping, wherein the log storage module, the temporal order module, the creation module, the activation module, and the snapshot interface module comprise one or more of logic hardware and a non-transitory computer readable storage medium storing computer usable program code. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus comprising:
-
means for servicing one or more requests from one or more storage clients to write data to a non-volatile memory device, by writing the data in a sequential log on the non-volatile memory device, the data comprising data segments; means for storing logical addresses for the data segments with the data segments in the sequential log; means for initializing a snapshot of the data by marking a point in the sequential log; means for activating the snapshot for access by a client, wherein activating the snapshot comprises populating a snapshot logical-to-physical mapping by mapping logical addresses stored in the sequential log prior to initializing the snapshot to physical locations of data segments stored in the sequential log prior to initializing the snapshot, the snapshot logical-to-physical mapping differing from a current logical-to-physical mapping; means for servicing a client request to access the snapshot, by using the snapshot logical-to-physical mapping to access data stored in the sequential log prior to initializing the snapshot, while preserving data stored in the sequential log subsequent to the initializing the snapshot; and means for servicing a client request to access data stored in the sequential log subsequent to the initializing the snapshot, by using the current logical-to-physical mapping. - View Dependent Claims (17)
-
Specification