Low RAM space, high-throughput persistent key value store using secondary memory

    公开(公告)号:US11036799B2

    公开(公告)日:2021-06-15

    申请号:US16785587

    申请日:2020-02-08

    Abstract: Described is using flash memory (or other secondary storage), RAM-based data structures and mechanisms to access key-value pairs stored in the flash memory using only a low RAM space footprint. A mapping (e.g. hash) function maps key-value pairs to a slot in a RAM-based index. The slot includes a pointer that points to a bucket of records on flash memory that each had keys that mapped to the slot. The bucket of records is arranged as a linear-chained linked list, e.g., with pointers from the most-recently written record to the earliest written record. Also described are compacting non-contiguous records of a bucket onto a single flash page, and garbage collection. Still further described is load balancing to reduce variation in bucket sizes, using a bloom filter per slot to avoid unnecessary searching, and splitting a slot into sub-slots.

    Flash memory cache including for use with persistent key-value store
    2.
    发明授权
    Flash memory cache including for use with persistent key-value store 有权
    闪存缓存包括用于持久性键值存储

    公开(公告)号:US09436596B2

    公开(公告)日:2016-09-06

    申请号:US13919727

    申请日:2013-06-17

    Abstract: Described is using flash memory, RAM-based data structures and mechanisms to provide a flash store for caching data items (e.g., key-value pairs) in flash pages. A RAM-based index maps data items to flash pages, and a RAM-based write buffer maintains data items to be written to the flash store, e.g., when a full page can be written. A recycle mechanism makes used pages in the flash store available by destaging a data item to a hard disk or reinserting it into the write buffer, based on its access pattern. The flash store may be used in a data deduplication system, in which the data items comprise chunk-identifier, metadata pairs, in which each chunk-identifier corresponds to a hash of a chunk of data that indicates. The RAM and flash are accessed with the chunk-identifier (e.g., as a key) to determine whether a chunk is a new chunk or a duplicate.

    Abstract translation: 描述的是使用闪存,基于RAM的数据结构和机制来提供用于在闪存页中缓存数据项(例如键值对)的闪存。 基于RAM的索引将数据项映射到闪存页面,并且基于RAM的写入缓冲器保持要写入闪存存储器的数据项目,例如当可以写入全页时。 回收机制使得通过将数据项降级到硬盘或将其重新插入到写入缓冲器中,基于其访问模式,可用于闪存存储器中的使用页面。 闪存存储器可以用在数据重复数据删除系统中,其中数据项包括块标识符,元数据对,其中每个块标识符对应于指示的数据块的散列。 使用块标识符(例如,作为密钥)来访问RAM和闪存,以确定块是新的块还是重复的。

Patent Agency Ranking