Implementing snapshot and other functionality in KVSSD through garbage collection and FTL
AssigneeSamsung Electronics Co., Ltd.
InventorsAnahita Shayesteh, Jingpei Yang, Vijay Balakrishnan
Life of this patent
Estimating the term…
Abstract
According to one general aspect, an apparatus may include a storage memory to store a plurality of key-value pairs. The apparatus may include at least one snapshot counter configured to store an operation number associated with a respective snapshot of the plurality of key-value pairs. The apparatus may include a snapshot data structure configured to identify, for at least one key-value pair, which, if any, snapshot(s) the respective key-value pair is associated with.
Claims20
An apparatus comprising:
- a storage memory to store user data in key-value pairs;
- at least one snapshot counter configured to store an operation number associated with a snapshot of the key-value pairs, wherein the operation number is a number assigned to a memory operation that results in the storage of a key-value pair;
- and
- a snapshot data structure configured to identify, for at least one key-value pair, a snapshot the key-value pair is associated.
An apparatus comprising a storage device, the storage device comprising:
- a flash translation layer (FTL) circuit configured to:
- cause user data to be stored in key-value pairs, and
- associate, upon request, a set of key-value pairs with a snapshot;
- a storage memory configured to:
- store key-value data pairs, and
- store a snapshot data structure that identifies, for at least one key-value pair, a snapshot the key-value pair is associated;
- and
- a snapshot counter configured to store an operation number associated with a snapshot, wherein the operation number is a number assigned to a memory operation that results in the storage of a key-value pair.
A system comprising:
- a processor configured to:
- write and read user data in key-value pairs, and
- manipulate snapshots of sets of the key-value pairs;
- and
- a memory storage device comprising:
- a flash translation layer (FTL) circuit configured to:
- cause data to be stored in key-value pairs, and
- associate, upon request, a set of key-value pairs with a snapshot;
- and
- a storage memory configured to:
- store a plurality of key-value data pairs, and
- store a snapshot data structure that identifies which snapshot a key-value pair is associated with;
- and
- wherein, in response to the processor requesting the creation of a snapshot:
- the flash translation layer (FTL) circuit stores a most recent operation number in a snapshot counter, wherein the operation number is a number assigned to a memory operation;
- and
- the snapshot data structure sets a bitmap for a most recent key-value pair associated with a key in the set of key-value pairs, and wherein the bitmap indicates that the key-value pair may be garbage collected.
Dependencies are inferred from the claim text.