Apparatus and method for assigning velocities to write data

    公开(公告)号:US11231873B2

    公开(公告)日:2022-01-25

    申请号:US16213274

    申请日:2018-12-07

    申请人: Intel Corporation

    发明人: Sanjeev N. Trika

    IPC分类号: G06F3/06

    摘要: An apparatus is described. The apparatus includes velocity assignment logic to assign a velocity to data that is to be written to a non volatile storage medium. The velocity assignment logic is to accept input information pertaining to an identity of an application that is writing the data, the data type of the data and the state of the application in order to determine the velocity.

    Update-insert for key-value storage interface

    公开(公告)号:US10831734B2

    公开(公告)日:2020-11-10

    申请号:US15973428

    申请日:2018-05-07

    申请人: Intel Corporation

    摘要: An update-insert (“upsert”) interface manages updates to key-value storage at a memory or storage device. An upsert token is used to store a key and data for a transform to update a previous value stored for a key-value pair. The upsert token processing includes an upsert command to generate the upsert token for an existing key-value pair and store the upsert token in one or more first non-volatile memory (NVM) devices maintained at a memory or storage device. A hash-to-physical (H2P) table or index stored in one or more second NVM devices of the memory or storage device is utilized to locate and read the data for the key and the data for the transform and coalesce the transform(s) into a current value for the key-value pair, thereby avoiding unnecessary read and write amplification when updating key-value storage.

    DATA MANAGEMENT SYSTEM EMPLOYING A HASH-BASED AND TREE-BASED KEY-VALUE DATA STRUCTURE

    公开(公告)号:US20190034427A1

    公开(公告)日:2019-01-31

    申请号:US15856686

    申请日:2017-12-28

    申请人: Intel Corporation

    IPC分类号: G06F17/30

    摘要: Disclosed is a data management system configured to provide a key-value data structure architecture for use with a storage device. The key-value data structure includes a logic tree having a tree-based index and a hash table having a hash-based index. For a ‘scan’ (or range query) operation, the data management system scans the tree-based index to determine which keys exist between two search keys in the tree-based index. For a ‘get’ (e.g., a value request) operation, the data management system applies a hash function to a provided key to determine an index in the hash table by which to retrieve a value that corresponds with the provided key. Other operations (e.g., ‘put’, ‘update’, ‘delete’) may include updating both the tree-based index and the hash-based index. The logic tree stores keys and stores a zero byte-sized value with each of the keys, to limit the size of the logic tree.