US 11,940,911 B2
Persistent key-value store and journaling system
Sudheer Kumar Vavilapalli, San Jose, CA (US); Asif Imtiyaz Pathan, San Jose, CA (US); Parag Sarfare, San Jose, CA (US); Nikhil Mattankot, Pleasanton, CA (US); Stephen Wu, Sacramento, CA (US); and Amit Borase, San Mateo, CA (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Dec. 17, 2021, as Appl. No. 17/553,930.
Prior Publication US 2023/0195622 A1, Jun. 22, 2023
Int. Cl. G06F 12/0802 (2016.01); G06F 3/06 (2006.01)
CPC G06F 12/0802 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0653 (2013.01); G06F 3/0673 (2013.01); G06F 2212/60 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising: a persistent key-value store hosted as a primary cache for a node for caching key-value record pairs for read and write access until written in a distributed manner across distributed storage; and a storage management system configured to: store the key-value record pairs within multiple chains within the persistent key-value store, wherein a chain includes an operation header bucket for recording key entries of key records and metadata of the key records, a data bucket for recording value entries of value records, and a meta bucket for recording bucket chain metadata pointing to the operation header bucket that points to the data bucket; and in response to receiving a write operation for a key-value record pair: generate a global virtual write index value for the key-value record pair based upon data within the write operation; select a first chain from the multiple chains for caching the key-value record pair based upon the global virtual write index value not occurring within the first chain; and perform a two phase commit process including a first phase to record a value record of the key-value record pair as a value entry within the first chain and a second phase, performed subsequent the first phase, to record a key record of the key-value record pair as a key entry within the first chain.