-
公开(公告)号:US10445372B2
公开(公告)日:2019-10-15
申请号:US15012606
申请日:2016-02-01
Applicant: SanDisk Technologies LLC
Inventor: Vishal Kanaujia , Manavalan Krishnan , Brian Walter O'Krafka , Ramesh Chander , Niranjan Patre Neelakanta
IPC: G06F16/00 , G06F16/901
Abstract: A method includes accessing, in response to initiating an operation targeting data, auxiliary mapping data to determine whether the auxiliary mapping data includes an indication of a key associated with a node of a hierarchical data structure that is associated with the data. In response to the auxiliary mapping data including the indication of the key, the data is accessed from a memory using a node identification associated with the key. In response to the auxiliary mapping data not including the indication of the key, the data is accessed from the memory using a search operation.
-
公开(公告)号:US11030156B2
公开(公告)日:2021-06-08
申请号:US15232789
申请日:2016-08-09
Applicant: SanDisk Technologies LLC
Inventor: Tomy Cheru , Brian O'Krafka , Allen Samuels , Manavalan Krishnan
IPC: G06F16/174 , G06F16/21
Abstract: Apparatuses, systems, methods, and computer program products are disclosed for key-value stores with partial data access. An interface module is configured to receive a data object for storage in a key-value store. The data object may include a key and a value. A block object module is configured to generate a plurality of block objects smaller than the data object. A block object may include a new key and a new value. The new key may be based on the key for the data object and on metadata for the new value. The new value may be based on at least a portion of the value for the data object. A storage module is configured to store the block objects in the key-value store.
-
公开(公告)号:US10705952B2
公开(公告)日:2020-07-07
申请号:US15157371
申请日:2016-05-17
Applicant: SanDisk Technologies LLC
Inventor: Vishal Kanaujia , Ramesh Chander , Manavalan Krishnan , Brian W. O'Krafka , Johann George
Abstract: Systems, methods, and/or devices are used to store metadata in a storage system. In one aspect, a first user space module sends a logical memory request to a memory management module of a kernel space module. The logical memory request includes data and metadata. A second user space module obtains the metadata of the logical memory request. A storage engine of the second user space module determines, in accordance with the obtained metadata, a location in non-volatile memory for the data. A second user space module generates a physical memory request including an indication of the non-volatile memory for the data. The second user space module transmits the physical memory request to the kernel space memory management module.
-
公开(公告)号:US20200341905A1
公开(公告)日:2020-10-29
申请号:US16925766
申请日:2020-07-10
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Frederic H. Tudor , Niranjan Patre Neelakanta , Manavalan Krishnan , Johann George , Evgeniy Firsov
IPC: G06F12/10 , G06F12/02 , G06F12/0802
Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
-
公开(公告)号:US20170242799A1
公开(公告)日:2017-08-24
申请号:US15208531
申请日:2016-07-12
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Frederic H. Tudor , Niranjan Patre Neelakanta , Manavalan Krishnan , Johann George , Evgeniy Firsov
IPC: G06F12/10 , G06F12/0802 , G06F12/02
CPC classification number: G06F12/10 , G06F12/0292 , G06F12/0802 , G06F2212/2022 , G06F2212/22 , G06F2212/65
Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
-
6.
公开(公告)号:US20170242626A1
公开(公告)日:2017-08-24
申请号:US15428086
申请日:2017-02-08
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Johann George , Vladislav Bolkhovitin , Manavalan Krishnan , Evgeniy Firsov
IPC: G06F3/06
CPC classification number: G06F3/0659 , G06F3/0611 , G06F3/064 , G06F3/0679 , G06F12/0246 , G06F12/0866 , G06F2212/1024 , G06F2212/466 , G06F2212/7201 , G06F2212/7203 , G06F2212/7208
Abstract: Systems, methods and/or devices are used to coalesce metadata and data writes via write serialization with device-level address remapping. In one aspect, a method of managing a storage system having one or more storage devices includes a serialized write operation to the storage system, in which a serialization segment accumulates data objects and mapping information until the segment is full, at which time the serialization segment is written to the storage system in a single contiguous write. As a result, the number of I/O operations is decreased from a minimum of two (one to write data and one to write updated mapping information) to a single write operation. Further, if the serialization segment contains existing valid data prior to accumulating data objects and mapping information, the valid data is moved to the beginning of the serialization segment using either a remap or xcopy operation.
-
公开(公告)号:US20170185625A1
公开(公告)日:2017-06-29
申请号:US15232789
申请日:2016-08-09
Applicant: SanDisk Technologies LLC
Inventor: Tomy Cheru , Brian O'Krafka , Allen Samuels , Manavalan Krishnan
IPC: G06F17/30
CPC classification number: G06F16/1744 , G06F16/217
Abstract: Apparatuses, systems, methods, and computer program products are disclosed for key-value stores with partial data access. An interface module is configured to receive a data object for storage in a key-value store. The data object may include a key and a value. A block object module is configured to generate a plurality of block objects smaller than the data object. A block object may include a new key and a new value. The new key may be based on the key for the data object and on metadata for the new value. The new value may be based on at least a portion of the value for the data object. A storage module is configured to store the block objects in the key-value store.
-
公开(公告)号:US11360908B2
公开(公告)日:2022-06-14
申请号:US16925766
申请日:2020-07-10
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Frederic H. Tudor , Niranjan Patre Neelakanta , Manavalan Krishnan , Johann George , Evgeniy Firsov
IPC: G06F12/00 , G06F12/10 , G06F12/02 , G06F12/0802
Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
-
公开(公告)号:US10747676B2
公开(公告)日:2020-08-18
申请号:US15208531
申请日:2016-07-12
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Frederic H. Tudor , Niranjan Patre Neelakanta , Manavalan Krishnan , Johann George , Evgeniy Firsov
IPC: G06F12/00 , G06F12/10 , G06F12/02 , G06F12/0802
Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
-
10.
公开(公告)号:US10289340B2
公开(公告)日:2019-05-14
申请号:US15428086
申请日:2017-02-08
Applicant: SanDisk Technologies LLC
Inventor: Brian W. O'Krafka , Johann George , Vladislav Bolkhovitin , Manavalan Krishnan , Evgeniy Firsov
IPC: G06F3/06 , G06F12/02 , G06F12/0866
Abstract: Systems, methods and/or devices are used to coalesce metadata and data writes via write serialization with device-level address remapping. In one aspect, a method of managing a storage system having one or more storage devices includes a serialized write operation to the storage system, in which a serialization segment accumulates data objects and mapping information until the segment is full, at which time the serialization segment is written to the storage system in a single contiguous write. As a result, the number of I/O operations is decreased from a minimum of two (one to write data and one to write updated mapping information) to a single write operation. Further, if the serialization segment contains existing valid data prior to accumulating data objects and mapping information, the valid data is moved to the beginning of the serialization segment using either a remap or xcopy operation.
-
-
-
-
-
-
-
-
-