CN110275838A - The address conversion and its accelerator of KV storage equipment - Google Patents
The address conversion and its accelerator of KV storage equipment Download PDFInfo
- Publication number
- CN110275838A CN110275838A CN201810220728.3A CN201810220728A CN110275838A CN 110275838 A CN110275838 A CN 110275838A CN 201810220728 A CN201810220728 A CN 201810220728A CN 110275838 A CN110275838 A CN 110275838A
- Authority
- CN
- China
- Prior art keywords
- key
- node
- tree
- pointer
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Abstract
This application discloses the address conversions and its accelerator of KV storage equipment, are related to KV technical field of memory, solve the technical issues of reading low-response from KV storage equipment in the prior art.The KV storage equipment of the application includes: sequencing table and NVM storage medium, and sequencing table includes multiple entries, and each entry has recorded key and value address list corresponding with the key.The application is mainly used for KV storage.
Description
Technical field
This application involves KV to store equipment, and in particular to the address conversion and its accelerator of KV storage equipment.
Background technique
Figure 1A is the block diagram of solid storage device.Solid storage device 102 is coupled with host, deposits for providing for host
Energy storage power.Host can be coupled in several ways between solid storage device 102, and coupled modes include but is not limited to pass through
Such as SATA (Serial Advanced Technology Attac hment, Serial Advanced Technology Attachment), SCSI (Small
Computer System Interface, small computer system interface), (Serial Attached SCSI, serially connects SAS
Meet SCSI), IDE (Integrated Drive Electronics, integrated drive electronics), USB (Universal Serial
Bus, universal serial bus), (Peripheral Component Interconnect Express, PCIe, high speed are outer by PCIE
Enclose component interconnection), NVMe (NVM Express, high speed non-volatile memory), Ethernet, optical-fibre channel, cordless communication network etc. even
Connect host and solid storage device 102.Host can be the information processing that can be communicated through the above way with storage equipment
Equipment, for example, personal computer, tablet computer, server, portable computer, the network switch, router, cellular phone,
Personal digital assistant etc..Store equipment 102 include interface 103, control unit 104, one or more N VM chip 105 and
DRAM (Dynamic Random Access Memory, dynamic RAM) 110.
Nand flash memory, phase transition storage, FeRAM (Ferroelectric RAM, ferroelectric memory), MRAM (Magnetic
Random Access Memory, magnetoresistive memory), RRAM (deposit by Resi stive Random Access Memory, resistive
Reservoir) etc. be common NVM.
Interface 103 can be adapted to for example, by the side such as SATA, IDE, USB, PCIE, NVMe, SAS, Ethernet, optical-fibre channel
Formula and host exchanging data.
Control unit 104 is used to control the data transmission between interface 103, NVM chip 105 and DRAM 110, also
For storage management, host logical address to flash memory physical address map, erasure balance, bad block management etc..Control unit 104 can
It is realized by the various ways of software, hardware, firmware or combinations thereof, for example, control unit 104 can be FPGA (Field-
Programmable gate arr ay, field programmable gate array), ASIC (Application Specific
Integrated Circuit, application specific integrated circuit) or a combination thereof form.Control unit 104 also may include place
Device or controller are managed, software is executed in processor or controller and carrys out the hardware of manipulation and control component 104 to handle IO
(Input/Output) it orders.Control unit 104 is also coupled to DRAM 110, and may have access to the data of DRAM 110.?
DRAM can store the data of the I/O command of FTL table and/or caching.
Control unit 104 includes flash interface controller (or being Media Interface Connector controller, flash memory channel controller), is dodged
It deposits interface controller and is coupled to NVM chip 105, and sent out in a manner of the interface protocol to follow NVM chip 105 to NVM chip 105
It orders out, to operate NVM chip 105, and receives the command execution results exported from NVM chip 105.Known NVM chip connects
Mouth agreement includes " Toggle ", " ONFI " etc..
Data are usually stored and read on storage medium by page.And data are erased in blocks.Block (also referred to as physical block) packet
Containing multiple pages.Block includes multiple pages.Page (referred to as Physical Page) on storage medium has fixed size, such as 17664 bytes.
Physical Page also can have other sizes.
In solid storage device, safeguarded using FTL (Flash Translation Layer, flash translation layer (FTL)) from
Map information of the logical address to physical address.Logical address constitutes the solid-state that the upper layer software (applications)s such as operating system are perceived and deposits
Store up the memory space of equipment.Physical address is the address for accessing the physical memory cell of solid storage device.In related skill
Also implement address of cache using intermediate address form in art.Such as logical address is mapped as intermediate address, and then will be intermediate
Address is further mapped as physical address.
The table structure for storing the map information from logical address to physical address is referred to as FTL table.FTL table is that solid-state is deposited
Store up the important metadata in equipment.The data item of usual FTL table has recorded the ground in solid storage device as unit of data page
Location mapping relations.
FTL table includes multiple FTL table clauses (or list item).In one case, one is had recorded in each FTL table clause
The corresponding relationship of a logical page address and a Physical Page.In another case, it is had recorded in each FTL table clause continuous
The corresponding relationship of multiple logical page addresses and continuous multiple Physical Page.In still another case, it is recorded in each FTL table clause
The corresponding relationship of logical block address and physical block address.In the case that still another, in FTL table record logical block address with
The mapping relations and/or logical page address of physical block address and the mapping relations of physical page address.
The storage equipment for supporting Key-Value (key-data, also referred to as " KV ") storage model, is provided based on key (Key)
Read operation (Get (Key)) and write operation (Put (Key, Value)).To execute write operation, host provides key to storage equipment
(Key) with data (Value), to write data into storage equipment, and using key as the index for the data being written.To execute reading
Operation, host provide key to storage equipment, store equipment according to key and find data, and serve data to host.Thus in K V
In storage system, key is the index for accessing data, and data (Value) are accessed data.Generally, key and data
Length be not fixed length.And optionally, in order to reduce complexity, the length of key and/or data can have specified range.
Figure 1B is the schematic diagram of the address conversion system of the solid storage device of the prior art.Support consolidating for KV storage model
State store equipment address conversion system (also referred to as FTL table) provide from by physical address (for example, PPA, Physical
Page Address, physical page address) mapping.Optionally, in addition to physical page address, the physical address recorded in FTL table can
To be the initial address of data frame (Da ta frame) inside Physical Page.Data frame is the data cell with fixed size,
Physical Page includes one or more data frames.
It uses key as search index FTL table, obtains corresponding physical address.FTL table can be more by array, chained list, tree etc.
Kind data structure is realized.Optionally, the key of random length is subjected to Hash operation, obtains the Hash keys of fixed length (for example, 4 byte/8
Byte), the index as FTL table.
Summary of the invention
According to a first aspect of the present application, it provides and equipment, including row is stored according to the first KV of the application first aspect
Sequence table and NVM storage medium, sequencing table include multiple entries, and each entry has recorded key and value address column corresponding with the key
Table.
The first KV according to a first aspect of the present application stores equipment, provides the 2nd KV according to the application first aspect
Store equipment, the size sequence of multiple entry keys of sequencing table.
First or second KV according to a first aspect of the present application stores equipment, provides according to the application first aspect
3rd KV stores equipment, and value address list has recorded the address of 0, one or more corresponding values with key, can according to each address
Access the NVM storage medium of KV storage equipment.
The 3rd KV according to a first aspect of the present application stores equipment, provides the 4th KV according to the application first aspect
Equipment is stored, the address of value address list record is logical address.
The 3rd KV according to a first aspect of the present application stores equipment, provides the 5th KV according to the application first aspect
Store equipment, further include FTL table, had recorded in FTL table logical address to NVM storage medium physical address mapping relations.
One of the first to the 5th KV storage equipment according to a first aspect of the present application, provides according to the application first party
6th KV in face stores equipment, and the address recorded in the value address table of sequencing table is the physical address of NVM storage medium.
One of the first to the 6th KV storage equipment according to a first aspect of the present application, provides according to the application first party
7th KV in face stores equipment, and the Method of Data Organization for being worth address table is one of array, chained list, Hash table, tree or a variety of.
One of the first to the 7th KV storage equipment according to a first aspect of the present application, provides according to the application first party
8th KV in face stores equipment, records key by Hash table and is worth the corresponding relationship of address table.
One of the first to the 8th KV storage equipment according to a first aspect of the present application, provides according to the application first party
9th KV in face stores equipment, obtains value address list with key inquiry sequencing table, is obtained according to each address in value address list
Access evidence, as the response to read operation.
One of the first to the 9th KV storage equipment according to a first aspect of the present application, provides according to the application first party
Tenth KV in face stores equipment, and the length or size of corresponding value is also recorded in each node for being worth address table.
One of the first to the tenth KV storage equipment according to a first aspect of the present application, provides according to the application first party
11st KV in face stores equipment, and each node for being worth address table also records the next node for being directed toward and belonging to same value address table
Pointer or address.
One of the first to the 11st KV storage equipment according to a first aspect of the present application, provides according to the application first
12nd KV of aspect stores equipment, and each node for being worth address table also records extension key.
The 12nd KV according to a first aspect of the present application stores equipment, provides the tenth according to the application first aspect
Three KV store equipment, and extension key belongs to multiple nodes of same value address table for unique identification.
The the 12nd or the 13rd KV according to a first aspect of the present application stores equipment, provides according to the application first party
14th KV in face stores equipment, obtains with the cryptographic Hash of the corresponding value of the node of value address table or according to specified checking algorithm
Check value is as extension key.
The the 12nd to the 14th KV storage one of equipment according to a first aspect of the present application is provided according to the application the
15th KV of one side stores equipment, with the value key of storage extension in association in NVM storage medium.
One of the first to the 15th KV storage equipment according to a first aspect of the present application, provides according to the application first
16th KV of aspect stores equipment, and sequencing table and value address table are set in memory.
One of the first to the 15th KV storage equipment according to a first aspect of the present application, provides according to the application first
17th KV of aspect stores equipment, and some or all of sequencing table and value address table are stored in NVM storage medium.
One of the first to the 17th KV storage equipment according to a first aspect of the present application, provides according to the application first
18th KV of aspect stores equipment, and the KV storage device processes include read operation, write operation, delete operation, additional behaviour
One of work, covering write operation, replacement write operation or a variety of operations.
The 18th KV according to a first aspect of the present application stores equipment, provides the tenth according to the application first aspect
Nine KV store equipment, are the wherein additional operation instruction the first key and the first value to be added in response to receiving additional operation
One value distributes address, by the address additional record distributed for the first value in the corresponding value address table of the first key.
The 19th KV according to a first aspect of the present application stores equipment, provides second according to the application first aspect
Ten KV store equipment, and with node is increased in the corresponding value address table of the first key, increased node is designated as the distribution of the first value
Address.
The 19th KV according to a first aspect of the present application stores equipment, provides second according to the application first aspect
11 KV store equipment, if into sequencing table, addition is with the first key there is no the entry for taking the first key as index in sequencing table
For the first entry of index.
The 21st KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
22 KV store equipment, the pointer of the value address table of record instruction first entry in first entry, in the value of first entry
Node is added in address table, increased node is designated as the address of the first value distribution.
One of the 18th to the 22nd KV storage equipment according to a first aspect of the present application, provides according to the application
23rd KV of first aspect stores equipment, in response to receiving covering write operation, in sequencing table to cover indicated by write operation
The second key be record instruction second value address table in the entry of index pointer, only have recorded single section in second value address table
Point, the node recorded in second value address table indicate the address that corresponding value is write in covering.
The 23rd KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
24 KV store equipment, in sequencing table before the corresponding value address table of same second key that records be dropped, the value being dropped
The value that each node in address table is recorded is dropped.
One of the 18th to the 24th KV storage equipment according to a first aspect of the present application, provides according to the application
25th KV of first aspect stores equipment, and replacement write operation indicates third key, third extension key and third value.
The 25th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
26 KV store equipment, and in response to receiving replacement write operation, the third entry as indicated by third key is searched in sequencing table.
The the 25th or the 26th KV according to a first aspect of the present application stores equipment, provides according to the application the
27th KV of one side stores equipment, and in the value address table indicated by third entry, searching has third extension key
The value address of the node with third extension key found is updated to the third value that instruction replacement write operation is written by node
Address.
The 27th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
28 KV store equipment, the length of the third value recorded in the also more new-found node with third extension key.
One of the 18th to the 28th KV storage equipment according to a first aspect of the present application, provides according to the application
29th KV of first aspect stores equipment, in response to receiving delete operation, searches as indicated by the 4th key in sequencing table
Fourth entry, wherein the delete operation indicates the 4th key;Value address table indicated by fourth entry is updated to sky, with instruction
There is no with the corresponding value address table of the 4th key.
The 29th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
30 KV store equipment, indicate value address table, and the indicated value in the fourth entry for indicating value address table in fourth entry
Any effective node is not present in address table.
One of the 18th to the 28th KV storage equipment according to a first aspect of the present application, provides according to the application
31st KV of first aspect stores equipment, and delete operation indicates the 5th key and the 5th extension key.
The 31st KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
32 KV store equipment, in response to receiving delete operation, the fifth entry as indicated by the 5th key are searched in sequencing table, the
In value address table indicated by five entries, the node with the 5th extension key, the value address table indicated by fifth entry are searched
It is middle to delete the node with the 5th extension key.
The first to the 32nd KV storage one of equipment according to a first aspect of the present application is provided according to the application the
33rd KV of one side stores equipment, and sequencing table is B+ tree construction, and the node of B+ tree includes root node, intermediate node and leaf
Node.
The 33rd KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
34 KV store equipment, and each of root node, intermediate node and leaf node include that multiple keys and finger are directed to, and wherein pointer indicates
Subtree.
The the 33rd or the 34th KV according to a first aspect of the present application stores equipment, provides according to the application the
35th KV of one side stores equipment, and the multiple keys and finger in root node and intermediate node, which are directed to, is adjacent to storage.
One of the 33rd to the 35th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 36th KV of first aspect store equipment, multiple keys in each of root node and intermediate node are directed to finger, according to
The size of key sorts.
One of the 33rd to the 36th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 37th KV of first aspect store equipment, the key of each key and pointer centering is the minimum of the key of subtree shown in pointer
Value, and it is greater than the maximum value of the key of subtree shown in the pointer of adjacent prior pointer pair or the meaning of adjacent previous node
Any key for the subtree shown.
One of the 33rd to the 37th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 38th KV of first aspect store equipment, including n key in the node for having n stalk tree of B+ tree, n is natural number.
One of the 33rd to the 38th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 39th KV of first aspect store equipment, one or more sequence table clauses are had recorded in leaf node.
One of the 33rd to the 39th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 40th KV of first aspect store equipment, leaf node further includes the pointer of the instruction leaf node adjacent with the leaf node.
One of the 33rd to the 40th KV storage equipment according to a first aspect of the present application, provides according to the application
41st KV of first aspect stores equipment, and multiple sequence table clauses in leaf node sort according to the size of key.
One of the 33rd to the 41st KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please first aspect the 42nd KV store equipment, all sequence table clauses that all leaf nodes of B+ tree are recorded, are that KV is deposited
Store up all entries of the sequencing table of equipment.
One of the 33rd to the 42nd KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 43rd KV of first aspect store equipment, in response to accessed, KV stores equipment according to accessed key, traversal B+ tree
To find the leaf node for having recorded the accessed key.
One of the 33rd to the 43rd KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please first aspect the 44th KV store equipment, including the accelerator for traversing B+ tree.
The 44th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
45 KV store equipment, and accelerator includes Data access module, B+ tree spider module and leaf node search module.
The 45th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
46 KV store equipment, and Data access module is used to obtain B+ tree from memory according to pointer corresponding with key to be visited
Node.
The the 45th or the 46th KV according to a first aspect of the present application stores equipment, provides according to the application the
47th KV of one side stores equipment, and B+ tree spider module accesses the root node or middle node of B+ tree according to key to be visited
Point, and determine next node to be traversed.
One of the 45th to the 47th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please first aspect the 48th KV store equipment, B+ tree spider module includes nodal cache.
One of the 45th to the 48th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 49th KV of first aspect store equipment, leaf node search module searches for leaf node according to key to be visited, to obtain
With the corresponding value address table of key to be visited.
One of the 44th to the 49th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please first aspect the 50th KV store equipment, for traverse B+ tree, to accelerator offer B+ tree first node pointer with wait visit
The first key asked, wherein first node pointer indicates the first node of B+ tree;B+ tree spider module designation date access modules are read
The first node of B+ tree is taken, Data access module reads the first node of B+ tree;Data access module is by the of the B+ tree of reading
One node is supplied to B+ tree spider module;" the key-of B+ tree spider module the first key more to be visited and the first node of B+ tree
Second key of the pointer " to index indicated " key-pointer " pair, the second node of designation date access modules reading B+ tree;Number
The leaf node of reading is supplied to leaf node search module according to access modules.
The 50th KV according to a first aspect of the present application stores equipment, provides the 5th according to the application first aspect
11 KV store equipment, and B+ tree spider module is the index of node initializing second for being stored in nodal cache, refer to the second index
First of " key-pointer " of multiple sequences into the node for being stored in nodal cache couple.
The the 50th or the 51st KV according to a first aspect of the present application stores equipment, provides according to the application first
52nd KV of aspect stores equipment, if the first key is greater than the second key, and the second index instruction is the last of present node
One " key-pointer " right, and B+ tree spider module obtains the second pointer of the second index corresponding " key-pointer " pair, if second refers to
Needle indicates leaf node, reads second according to the second pointer designation date access modules and indexes corresponding " key-pointer " to instruction
Leaf node.
The 52nd KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
53 KV store equipment, and the leaf node of reading is supplied to leaf node search module by Data access module.
The 53rd KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
Third key in the leaf node of 54 KV storage equipment, leaf node search module the first key more to be checked and acquisition, and
Export have with the identical third key of the first key sequence table clause or in which value address list.
The the 53rd or the 54th KV according to a first aspect of the present application stores equipment, provides according to the application the
55th KV of one side stores equipment, if being can not find in leaf node with the sequencing table with the identical third key of the first key
Entry, leaf node search module indicate the inquiry failure of the first key.
One of the 52nd to the 55th KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 56th KV of first aspect store equipment, if B+ tree spider module obtains the second index corresponding " key-pointer " pair
The instruction of second pointer is intermediate node, then reads the corresponding " key-of the second index according to the second pointer designation date access modules
The intermediate node of the second pointer instruction of pointer " pair.
The 56th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
57 KV store equipment, and Data access module reads intermediate node, and the intermediate node of reading is supplied to B by Data access module
+ tree spider module.
The 56th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
58 KV store equipment, and B+ tree spider module stores the received intermediate node of institute in nodal cache.
The the 56th to the 58th KV according to a first aspect of the present application stores equipment, provides according to the application the
59th KV of one side stores equipment, and B+ tree spider module is the second index of intermediate node initialization newly cached, is allowed to
It is directed toward first of " key-pointer " pair of multiple sequences in node.
The 59th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
60 KV store equipment, if the first key be greater than the second key, and second index instruction be not present node the last one " key-
Pointer " is right, and it is right to obtain the sequence of present node posterior next " key-pointer " that B+ tree spider module updates the second index.
One of the 51st to the 60th KV storage equipment according to a first aspect of the present application, provides according to the application
61st KV of first aspect stores equipment, if B+ tree spider module identifies that the first key is equal to the second key, B+ tree traverses mould
Block obtains the second pointer of the second index corresponding " key-pointer " pair.
The the 60th or the 61st KV according to a first aspect of the present application stores equipment, provides according to the application first
62nd KV of aspect stores equipment, if the pointer indicates leaf node, and before being read according to pointer designation date access modules
Corresponding " key-pointer " is indexed to the leaf node of instruction.
One of the 51st to the 62nd KV storage equipment according to a first aspect of the present application, provides according to this Shen
Please the 63rd KV of first aspect store equipment, if identifying the first key less than the second key, and the second index instruction is not
Second index upgrade is indicate current " key-pointer " pair adjacent previous by first " key-pointer " clock synchronization of present node
" key-pointer " is right.
The 63rd KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
64 KV store equipment, if second index instruction be present node first " key-pointer " it is right, indicate that the first key is looked into
Ask failure.
One of the 45th to 64 KV storage equipment according to a first aspect of the present application, provides according to the application
65th KV of first aspect stores equipment, and B+ tree spider module and leaf node search module safeguard multiple contexts, each
Context is used for a B+ tree query.
The 65th KV according to a first aspect of the present application stores equipment, provides the according to the application first aspect
66 KV store equipment, context include caching node or leaf node and node " key-pointer " to index.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, to embodiment or will show below
There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
The some embodiments recorded in application can also be obtained according to these attached drawings other for those of ordinary skill in the art
Attached drawing.
Figure 1A is the block diagram of solid storage device;
Figure 1B is the schematic diagram of the address conversion system of the solid storage device of the prior art;
Fig. 2 is the schematic diagram that equipment is stored according to the KV of the embodiment of the present application;
Fig. 3 is the data organization according to the sequencing table of the another embodiment of the application;
Fig. 4 is the schematic diagram according to the additional operation of the embodiment of the present application;
Fig. 5 is the schematic diagram according to the covering write operation of the embodiment of the present application;
Fig. 6 is the schematic diagram according to the replacement write operation of the embodiment of the present application;
Fig. 7 A is the schematic diagram according to the delete operation of the embodiment of the present application;
Fig. 7 B is the schematic diagram according to the delete operation of the another embodiment of the application;
Fig. 8 is the data organization according to the application still sequencing table of another embodiment;
Fig. 9 be according to the application still another embodiment traversal B+ tree accelerator block diagram;
Figure 10 is the flow chart for passing through traversal B+ tree search key (K) according to the B+ tree spider module of Fig. 9 embodiment.
Specific embodiment
With reference to the attached drawing in the embodiment of the present invention, technical solution in the embodiment of the present invention carries out clear, complete
Ground description, it is clear that described embodiments are some of the embodiments of the present invention, instead of all the embodiments.Based on the present invention
In embodiment, those skilled in the art's every other embodiment obtained without making creative work, all
Belong to the scope of protection of the invention.
Embodiment one
Fig. 2 is the schematic diagram that equipment is stored according to the KV of the embodiment of the present application.KV stores equipment and responds the access based on key
Request.
Embodiment according to Fig.2, KV store plant maintenance sequencing table, and sequencing table includes multiple entries, each entry
Have recorded the corresponding relationship of key Yu value address list.Multiple entry keys of sequencing table sort.Value address list has recorded 0 and arrives
The address of the corresponding value of multiple same keys may have access to the NVM storage medium of KV storage equipment according to each address.For example, eachly
Location is logical address, and KV storage equipment also safeguards FTL table, wherein have recorded logical address to physical address mapping relations.Row
The address of the value address table of sequence table is also possible to the physical address of NVM storage medium.Be worth address table can using array, chained list,
A variety of Method of Data Organization such as Hash table, tree have recorded such as value address table in association in the entry of sequencing table with key
Pointer or index.
Optionally, key is recorded by Hash table in KV storage equipment and is worth the corresponding relationship of address table.
The KV of embodiment according to fig. 2 stores equipment, with such as host of KV storage equipment coupling, accesses KV by key and deposits
Store up equipment.For example, the instruction Key to be read is key in the read operation (Get (Key)) that host is issued to KV storage equipment.KV is deposited
Equipment receive key is stored up, value address list is obtained with key inquiry sequencing table, data is obtained according to each address in value address list,
As the response to read operation (G et (Key)).
Embodiment two
Fig. 3 is the data organization according to the sequencing table of the another embodiment of the application.
The sequencing table of the embodiment of Fig. 3 illustrates 4 entries, is respectively provided with key 1, key 2, key 3 and key 4 as indexing, respectively
Have recorded the pointer for being directed toward the value address table of chain sheet form in entry in association with key.
Value address table indicated by pointer 1 has recorded two nodes, respectively refers to the storage address of indicating value 1 and depositing for value 1-1
Address is stored up, the length or size (such as unit of byte) of corresponding value is also recorded in each node for being worth address table.Value
Each node of address table also records the pointer (address) or indicated value for being directed toward the next node for belonging to same value address table
The end mark (tail node that the node is chained list) of address.The value address table that pointer 2 indicates has 1 node, pointer 3 and pointer
The value address table of 4 instructions respectively has 2 nodes.It should be understood that value address table can have any number of node.
Still optionally, each node (not shown) for being worth address table also records extension key (ExKey), and extension key is for only
One mark belongs to multiple nodes of same value address table.For example, the cryptographic Hash or foundation of the corresponding value of node with value address table
The check value that specified checking algorithm obtains is as extension key.Still optionally, it is stored in association in NVM storage medium with value
Extend key.
Optionally, sequencing table and value address table are set in memory, in order to low latency from sequencing table and value address
Table obtains data.Still optionally, some or all of sequencing table and value address table are stored in NVM storage medium, with section
Save the EMS memory occupation to storage equipment.
Equipment is stored according to the KV of the embodiment of the present application, in addition to similar compared with the KV storage equipment of technology to host offer
Operation interface (for example, read operation (Get (Key)), write operation (Put (Key, Value)) and/or delete operation (Delete
(Key)) additional operation (Append (Key, Value)), is also provided, covering write operation (OverWrite (Key, Value)), is replaced
Change write operation (Replace (Key, ExKey, Value)).
Fig. 4 is the schematic diagram according to the additional operation (Append (Key, Value)) of the embodiment of the present application.
As shown in figure 4, in response to receiving additional operation (Append (Key, Value)), according to the KV of the embodiment of the present application
The address additional record of (Value) will be worth in the corresponding value address table of same key (Key) by storing equipment.For example, referring to Fig. 4, together
There is 1 node in the corresponding value address table of key (Key), has then increased a node, node instruction in the value address table
It is directed toward the address of the value of additional operation write-in KV storage equipment.If there is no the items for taking the key (Key) as index in sequencing table
Mesh then handles addition operation in such a way that same write operation is identical.Include in sequencing table add with key (Key) be index item
Mesh records the pointer of indicated value address table in the entry, and a node is added in value address table, storage is had recorded in node and chases after
The address of value corresponding to add operation.
Fig. 5 is the schematic diagram according to the covering write operation (OverWrite (Key, Value)) of the embodiment of the present application.
As shown in figure 5, in response to receiving covering write operation (OverWrite (Key, Value)), according to the embodiment of the present application
KV storage equipment sequencing table with cover key indicated by write operation (Key) be index entry in record indicated value address table
Pointer, only have recorded single node in the value address table, which indicates the address that corresponding value is write in covering.And it is arranging
The same corresponding value address table of key (Key) recorded before in sequence table is dropped, wherein the value that each node is recorded is dropped.
Fig. 6 is the schematic diagram according to the replacement write operation (Replace (Key, ExKey, Value)) of the embodiment of the present application.
As shown in fig. 6, replacement write operation (Replace (Key, ExKey, Value)) indicates key (Key), extension key
(ExKey) and it is worth.In response to receiving replacement write operation, equipment is stored according to the KV of the embodiment of the present application and is searched in sequencing table by key
(Key) entry indicated by the value address table indicated by entry, is searched the node with extension key (ExKey), will be found
The value address of node be updated to the address of value that instruction replacement write operation is written.Optionally, in also more new-found node
The length of the value of record.
Fig. 7 A is the schematic diagram according to the delete operation (Delete (Key)) of the embodiment of the present application.
As shown in Figure 7 A, it in response to receiving delete operation (Delete (Key)), is set according to the KV storage of the embodiment of the present application
It is standby to search the entry as indicated by key (Key) in sequencing table, value address table indicated by the entry is updated to sky, to indicate not
In the presence of with the corresponding value address table of key (Key).Optionally, value address table is indicated in the entry, and in the value address table
Any effective node is not present in first entry in indicated value address table.
Fig. 7 B is the schematic diagram according to the delete operation (Delete (Key, ExKey)) of the another embodiment of the application.
As shown in Figure 7 B, delete operation (Delete (Key, ExKey)) indicates key (Key) and extension key (ExKey).It rings
Ying Yu receives delete operation, stores equipment according to the KV of the embodiment of the present application and searches the item as indicated by key (Key) in sequencing table
Mesh in the value address table indicated by entry, searches the node with extension key (ExKey), deleting in value address table has
Extend the node of key (ExKey).Optionally, adjusted value address table is gone back, the pointer for being deleted the node before node is made to be directed toward quilt
Node after deletion of node.
Embodiment three
Fig. 8 is the data organization according to the application still sequencing table of another embodiment.
The sequencing table that Fig. 8 is shown is organized as B+ tree construction, including root node 810, intermediate node (820,822 and 824)
With leaf node (830,832,834,836,838 ...).Each of root node, intermediate node and leaf node include multiple keys and refer to
For.Multiple keys and finger in node, which are directed to, is adjacent to storage.By taking root node 810 as an example, wherein " 5 " are key, " P1 " is pointer,
Pointer " P1 " indicates intermediate node 820." key 5 " is the minimum key in the subtree as indicated by pointer " P1 ".In root node 810
In, with " 5-P1 " to adjacent " 28-P2 " centering, " 28 " are key, and " P2 " is directed toward another intermediate node 822 (as another son
The root node of tree), key " 28 " is greater than the son indicated by intermediate node 820 (adjacent with intermediate node 822, and sort preceding)
Any key of tree.For intermediate node (such as 822), wherein the key recorded is directed to finger, such as " 35-P8 " right, key
" 35 " are the minimum values of the key of subtree indicated by pointer " P8 ", and with " 35-P8 " to adjacent and sequence in intermediate node 822
The key " 56 " of posterior " 56-P9 " pair is the minimum value of the key of subtree indicated by pointer " P9 ", and key " 56 " is greater than pointer
The maximum value of the key of subtree indicated by " P8 ".Multiple keys in each of root node and intermediate node are directed to finger, according to key
Size sequence.
It include n key in the node for having n stalk tree of B+ tree, n is natural number.The node for not being directed toward any subtree is leaf
Node.
One or more sequence table clauses of KV storage equipment are had recorded in leaf node.Sequence table clause includes key and instruction
It is worth the pointer (not shown) of address list.In Fig. 8, leaf node 830 has recorded 3 sequence table clauses, respectively by key K1 (5), K2
(8) indicated with K3 (9), the number in bracket is key itself, the serial number of the digital indication key outside bracket.Optionally, leaf
Node further includes pointer Q, indicates the address of the leaf node adjacent with the leaf node.Multiple sequence table clauses in leaf node, are pressed
According to the size sequence of key.All sequence table clauses that all leaf nodes of B+ tree are recorded are the sequencing tables of KV storage equipment
All entries.
In response to accessed, KV stores equipment according to accessed key, traverses B+ tree to find the leaf segment for having recorded the key
Point.
Fig. 9 be according to the application still another embodiment traversal B+ tree accelerator block diagram.Figure 10 is according to Fig. 9 reality
The B+ tree spider module for applying example passes through the flow chart of traversal B+ tree search key (K).
Accelerator includes Data access module, B+ tree spider module and leaf node search module.Data access module is used for
The node (root node, intermediate node and/or leaf node) of B+ tree is obtained from memory according to pointer.The B+ tree of accelerator traverses
Module according to the root node or intermediate node of key access B+ tree to be visited, and determines next node to be traversed.Leaf node
Search module searches for leaf node according to key to be visited, to obtain with the corresponding value address table of value to be visited.
To traverse B+ tree, the root node pointer and key (K) (1010) to be checked for providing B+ tree to accelerator are (by 1. signified
Show).B+ tree spider module designation date access modules read root node.Data access module reads root node (by 2. signified
Show).The root node of reading is supplied to B+ tree spider module (by 3. indicated) by Data access module.B+ tree spider module is saving
The received root node of the institute of storage in point cache.
For the node of nodal cache is newly written, B+ tree spider module initializes " key-pointer " to index for it, is allowed to refer to
First of " key-pointer " of multiple sequences into node couple.
B+ tree spider module key more to be checked (K) is with " key-pointer " to the key of index indicated " key-pointer " pair
(being denoted as Kt)." key (Kt)-pointer " of current index instruction is read to (1020).If key (K) is greater than key (Kt) (1100) and rope
Draw instruction be present node the last one " key-pointer " to (1200), the acquisition of B+ tree spider module currently indexes corresponding
The pointer of " key-pointer " pair.If the pointer indicates leaf node (1300), current cable is read according to pointer designation date access modules
Draw corresponding " key-pointer " to the leaf node (1030) of instruction (by 4. indicated).Data access module is by the leaf node of reading
It is supplied to leaf node search module (by 5. indicated).Leaf node search module key more to be checked (K) and the leaf segment obtained
Key (being denoted as Kl) in point, and export have same key (K) identical key (Kl) sequence table clause (or in which value address column
Table).If being can not find in leaf node with the sequence table clause with key (K) identical key (Kl), the instruction of leaf node search module
Key (K) inquiry failure, it means that same key (K) corresponding entry is not present in B+ tree (sequencing table).If B+ tree spider module
Obtain the pointer instruction for currently indexing corresponding " key-pointer " pair is intermediate node, then is accessed according to the pointer designation date
Module reads the intermediate node for currently indexing the pointer instruction of corresponding " key-pointer " pair.Data access module reads middle node
Point (by 2. indicated).The intermediate node of reading is supplied to B+ tree spider module (by 3. indicated) by Data access module.B+
Tree spider module stores the received intermediate node of institute in nodal cache.B+ tree spider module is that the intermediate node that newly caches is initial
Change " key-pointer " to index, is allowed to be directed toward first of " key-pointer " couple of multiple sequences in node.
Continue with description B+ tree spider module.If key (K) is greater than key (Kt) and what index indicated is not present node
The last one " key-pointer " is right, and B+ tree spider module updates index to obtain the posterior next " key-of the sequence of present node
Pointer " is to (1050).And continue the key (being denoted as Kt) of " key-pointer " indicated by comparison key (K) and updated index pair.
If B+ tree spider module identifies that key (K) is equal to key (Kt) (1400), B+ tree spider module obtains current index pair
The pointer of " key-pointer " answered pair.If the pointer indicates leaf node (1300), and is read according to pointer designation date access modules
It is preceding to index corresponding " key-pointer " to the leaf node (1030) of instruction (by 4. indicated).Data access module is by the leaf of reading
Node is supplied to leaf node search module (by 5. indicated).Leaf node search module key more to be checked (K) and acquisition
Key (being denoted as Kl) in leaf node, and export have same key (K) identical key (Kl) sequence table clause (or in which value address
List).If what B+ tree spider module obtained the pointer instruction for currently indexing corresponding " key-pointer " pair is intermediate node, root
The intermediate node for currently indexing the pointer instruction of corresponding " key-pointer " pair is read according to the pointer designation date access modules
(1040).The intermediate node that Data access module is read (by 2. indicated).Data access module mentions the intermediate node of reading
Supply B+ tree spider module (by 3. indicated).B+ tree spider module stores the received intermediate node of institute in nodal cache.B+
Tree spider module is that the intermediate node newly cached initializes " key-pointer " to index, is allowed to be directed toward multiple sequences in node
First of " key-pointer " couple.
If B+ tree spider module identifies that key (K) is less than key (Kt) (1500), and current index instruction is not to work as prosthomere
Index upgrade is the adjacent previous " key-of instruction current " key-pointer " pair by first " key-pointer " clock synchronization (1600) of point
Pointer " is to (1060), and B+ tree spider module obtains the pointer for currently indexing corresponding " key-pointer " pair, if the pointer indicates leaf
Node currently indexes corresponding " key-pointer " to the leaf node of instruction (by 4. institute according to the reading of pointer designation date access modules
Instruction).The leaf node of reading is supplied to leaf node search module (by 5. indicated) by Data access module.Leaf segment point search mould
Key (being denoted as Kl) in block key more to be checked (K) and the leaf node obtained, and export with same key (K) identical key (Kl)
Sequence table clause (or in which value address list).If it is right that the acquisition of B+ tree spider module currently indexes corresponding " key-pointer "
Pointer instruction be intermediate node, then currently index that corresponding " key-refers to according to pointer designation date access modules reading
The intermediate node of the pointer instruction of needle " pair.The intermediate node that Data access module is read (by 2. indicated).Data access module
The intermediate node of reading is supplied to B+ tree spider module (by 3. indicated).B+ tree spider module stores institute in nodal cache
Received intermediate node.B+ tree spider module is that the intermediate node newly cached initializes " key-pointer " to index, is allowed to be directed toward section
First of " key-pointer " of multiple sequences in point couple.
If B+ tree spider module identifies that key (K) is less than key (Kt), if current index instruction is the first of present node
A " key-pointer " is right, then indication key (K) inquiry failure (1070), it means that same key (K) is not present in B+ tree (sequencing table)
Corresponding entry.
Optionally, B+ tree spider module and leaf node search module safeguard that multiple contexts, each context are used for a B
+ tree query.Context include caching node or leaf node and node " key-pointer " to index.To which accelerator can
The multiple B+ tree queries of concurrent processing.
Below with B+ tree shown in Fig. 8, for key to be searched (26), the accelerator of Fig. 9 is described according to Fig.10,
The search process of flow chart.
(1) root node 810 (referring also to Fig. 8) of B+ tree, the root node quilt of reading are obtained according to the root node pointer of B+ tree
It is buffered in the nodal cache of B+ tree spider module.Table 1 illustrates the root node in nodal cache.Index is initialised, to refer to
Show first " key-pointer " of root node to (" 5-P1 " in table 1);
Table 1
5 | 28 | 65 |
P1 | P2 | P3 |
(2) key (Kt=5) of comparison key (K=26) and current " key-pointer " for indexing instruction pair, K > Kt;
(3) " key-pointer " of current index instruction is not the last " key-of present node (root node 810) to (" 5-P1 ")
Pointer " is right;
(4) current index is updated, is directed toward next " key-pointer " to (" 28-P2 ");
(5) key Kt=28 is invited according to current cable, compares K (=26) and Kt, K < Kt;
(6) " key-pointer " of current index instruction is not that first " key-pointer " of present node (root node 810) is right;
(7) current index is updated, indicates upper one " key-pointer " to (" 5-P1 ");
(8) nonleaf node of " key-pointer " of current index instruction to pointer (P1) instruction of (" 5-P1 ");
(9) the B+ tree node 820 of (P1) instruction is read;Table 2 illustrates the node 820 in nodal cache.It indexes initial
Change, to indicate first " key-pointer " of node 820 to (" 5-P4 " in table 2);
Table 2
5 | 10 | 20 |
P4 | P5 | P6 |
(10) key (Kt=5) of comparison key (K=26) and current " key-pointer " for indexing instruction pair, K > Kt;
(11) " key-pointer " of current index instruction is not that " key-refers to for present node (node 820) last to (" 5-P4)
Needle " is right;
(12) current index is updated, is directed toward next " key-pointer " to (" 10-P5 ");
(13) key (Kt=10) of comparison key (K=26) and current " key-pointer " for indexing instruction pair, K > Kt;
(14) " key-pointer " of current index instruction is not the last " key-of present node (node 820) to (" 10-P5)
Pointer " is right;
(15) current index is updated, is directed toward next " key-pointer " to (" 20-P6 ");
(16) key (Kt=20) of comparison key (K=26) and current " key-pointer " for indexing instruction pair, K > Kt;
(17) " key-pointer " of current index instruction is that " key-refers to for present node (node 820) last to (" 20-P6)
Needle " is right;
(18) " key-pointer " of current index instruction to pointer (P1) instruction of (" 20-P6 ") is leaf node 830;
(19) leaf node 830 is obtained, leaf node 830 is traversed, it is identical with key (26) to be searched to obtain key K3 (26), from key
Sequence table clause acquired value address list where K3.
Although the preferred embodiment of the application has been described, it is created once a person skilled in the art knows basic
Property concept, then additional changes and modifications may be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as
It selects embodiment and falls into all change and modification of the application range.Obviously, those skilled in the art can be to the application
Various modification and variations are carried out without departing from spirit and scope.If in this way, these modifications and variations of the application
Belong within the scope of the claim of this application and its equivalent technologies, then the application is also intended to encompass these modification and variations and exists
It is interior.
Claims (10)
1. a kind of KV stores equipment, which is characterized in that including sequencing table and NVM storage medium, sequencing table includes multiple entries, often
A entry has recorded key and value address list corresponding with the key.
2. KV as described in claim 1 stores equipment, which is characterized in that value address list have recorded 0, one or more together
The address of the corresponding value of key may have access to the NVM storage medium of KV storage equipment according to each address.
3. as the described in any item KV of claims 1 or 2 store equipment, which is characterized in that the KV storage device processes packet
Include one of read operation, write operation, delete operation, additional operation, covering write operation, replacement write operation or a variety of operations.
4. KV as claimed in claim 3 stores equipment, which is characterized in that in response to receiving additional operation, wherein additional operation
The first key and the first value to be added are indicated, address is distributed for the first value, the address additional record distributed for the first value is existed
With in the corresponding value address table of the first key.
5. KV as described in claim 3 or 4 stores equipment, which is characterized in that in response to receiving covering write operation, in sequencing table
To cover the pointer of record instruction second value address table in the entry that the second key indicated by write operation is index, second value address
Single node is only had recorded in table, the node recorded in second value address table indicates the address that corresponding value is write in covering.
6. as the described in any item KV of claim 3 to 5 store equipment, which is characterized in that delete operation indicate the 5th key with
5th extension key searches the fifth entry as indicated by the 5th key in sequencing table, in fifth entry in response to receiving delete operation
In indicated value address table, the node with the 5th extension key is searched, is deleted in the value address table indicated by fifth entry
Node with the 5th extension key.
7. as KV as claimed in any one of claims 1 to 6 stores equipment, which is characterized in that sequencing table is B+ tree construction, B+ tree
Node includes root node, intermediate node and leaf node, and each of root node, intermediate node and leaf node include multiple keys and pointer
Right, wherein pointer indicates subtree.
8. KV as claimed in claim 7 stores equipment, which is characterized in that including the accelerator for traversing B+ tree, accelerator
Including Data access module, B+ tree spider module and leaf node search module.
9. KV as claimed in claim 8 stores equipment, which is characterized in that Data access module is used for basis and key to be visited
Corresponding pointer obtains the node of B+ tree from memory, and B+ tree spider module accesses the root node of B+ tree according to key to be visited
Or intermediate node, and determining next node to be traversed, leaf node search module searches for leaf node according to key to be visited, with
It obtains with the corresponding value address table of key to be visited.
10. KV as claimed in claim 8 or 9 stores equipment, which is characterized in that traverse B+ tree,
The first node pointer and the first key to be visited of B+ tree are provided to accelerator, wherein first node pointer indicates B+ tree
First node;
B+ tree spider module designation date access modules read the first node of B+ tree, and Data access module reads the first of B+ tree
Node;
The first node of the B+ tree of reading is supplied to B+ tree spider module by Data access module;
" key-pointer " of B+ tree spider module the first key more to be visited and the first node of B+ tree is to indicated by index
Second key of " key-pointer " pair, designation date access modules read the second node of B+ tree;
The leaf node of reading is supplied to leaf node search module by Data access module.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810220728.3A CN110275838B (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN202110814953.1A CN113535601A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN202110814983.2A CN113505085A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810220728.3A CN110275838B (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110814983.2A Division CN113505085A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN202110814953.1A Division CN113535601A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275838A true CN110275838A (en) | 2019-09-24 |
CN110275838B CN110275838B (en) | 2021-08-10 |
Family
ID=67957908
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110814953.1A Pending CN113535601A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN202110814983.2A Pending CN113505085A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN201810220728.3A Active CN110275838B (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110814953.1A Pending CN113535601A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
CN202110814983.2A Pending CN113505085A (en) | 2018-03-16 | 2018-03-16 | Address conversion of KV memory device and accelerator thereof |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN113535601A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338989A (en) * | 2020-02-12 | 2020-06-26 | 合肥康芯威存储技术有限公司 | Memory, control method thereof and memory system |
CN111581441A (en) * | 2019-08-30 | 2020-08-25 | 上海忆芯实业有限公司 | Accelerator for cluster computation |
CN111581247A (en) * | 2019-10-01 | 2020-08-25 | 上海忆芯实业有限公司 | Data manager, time sequence database and information processing system |
CN113821160A (en) * | 2020-11-27 | 2021-12-21 | 北京京东拓先科技有限公司 | Memory data access device and memory data storage and reading method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190034427A1 (en) * | 2017-12-28 | 2019-01-31 | Intel Corporation | Data management system employing a hash-based and tree-based key-value data structure |
CN114281248B (en) * | 2021-11-29 | 2022-12-09 | 深圳三地一芯电子有限责任公司 | Method for improving read-write performance of RAM, electronic equipment and medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092775A (en) * | 2013-01-31 | 2013-05-08 | 武汉大学 | Spatial data double cache method and mechanism based on key value structure |
CN105426131A (en) * | 2015-12-03 | 2016-03-23 | 成都华为技术有限公司 | KV (Key Value) storage implementation method and device |
CN105930345A (en) * | 2016-04-05 | 2016-09-07 | 国网浙江省电力公司湖州供电公司 | Hierarchical indexing method based on distributed real-time database system (DRTDBS) |
US20170139594A1 (en) * | 2015-11-17 | 2017-05-18 | Samsung Electronics Co., Ltd. | Key-value integrated translation layer |
CN107066498A (en) * | 2016-12-30 | 2017-08-18 | 成都华为技术有限公司 | Key assignments KV storage methods and device |
-
2018
- 2018-03-16 CN CN202110814953.1A patent/CN113535601A/en active Pending
- 2018-03-16 CN CN202110814983.2A patent/CN113505085A/en active Pending
- 2018-03-16 CN CN201810220728.3A patent/CN110275838B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092775A (en) * | 2013-01-31 | 2013-05-08 | 武汉大学 | Spatial data double cache method and mechanism based on key value structure |
US20170139594A1 (en) * | 2015-11-17 | 2017-05-18 | Samsung Electronics Co., Ltd. | Key-value integrated translation layer |
CN105426131A (en) * | 2015-12-03 | 2016-03-23 | 成都华为技术有限公司 | KV (Key Value) storage implementation method and device |
CN105930345A (en) * | 2016-04-05 | 2016-09-07 | 国网浙江省电力公司湖州供电公司 | Hierarchical indexing method based on distributed real-time database system (DRTDBS) |
CN107066498A (en) * | 2016-12-30 | 2017-08-18 | 成都华为技术有限公司 | Key assignments KV storage methods and device |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581441A (en) * | 2019-08-30 | 2020-08-25 | 上海忆芯实业有限公司 | Accelerator for cluster computation |
CN111581247A (en) * | 2019-10-01 | 2020-08-25 | 上海忆芯实业有限公司 | Data manager, time sequence database and information processing system |
CN111581247B (en) * | 2019-10-01 | 2022-04-01 | 上海忆芯实业有限公司 | Data manager, time sequence database and information processing system |
CN111338989A (en) * | 2020-02-12 | 2020-06-26 | 合肥康芯威存储技术有限公司 | Memory, control method thereof and memory system |
CN111338989B (en) * | 2020-02-12 | 2021-01-12 | 合肥康芯威存储技术有限公司 | Memory, control method thereof and memory system |
CN113821160A (en) * | 2020-11-27 | 2021-12-21 | 北京京东拓先科技有限公司 | Memory data access device and memory data storage and reading method |
Also Published As
Publication number | Publication date |
---|---|
CN113505085A (en) | 2021-10-15 |
CN110275838B (en) | 2021-08-10 |
CN113535601A (en) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275838A (en) | The address conversion and its accelerator of KV storage equipment | |
KR102042643B1 (en) | Managing multiple namespaces in a non-volatile memory (nvm) | |
US20180089074A1 (en) | Techniques to Manage Key-Value Storage at a Memory or Storage Device | |
CN108139902A (en) | The method and apparatus of SSD drive are accessed for providing mixed mode | |
CN108595349A (en) | The address conversion method and device of mass-memory unit | |
CN105095113B (en) | A kind of buffer memory management method and system | |
CN104054071A (en) | Method for accessing storage device and storage device | |
WO2017213908A1 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN108614668A (en) | Data access method based on KV models and solid storage device | |
US11449270B2 (en) | Address translation method and system for KV storage device | |
CN107273443B (en) | Mixed indexing method based on metadata of big data model | |
CN110321057A (en) | Storage equipment with the enhancing deterministic caching of IO performance | |
CN108628762A (en) | More NameSpaces | |
CN109840048A (en) | Store command processing method and its storage equipment | |
CN108614671B (en) | Key-data access method based on namespace and solid-state storage device | |
CN115048034A (en) | Storage space mapping method and device for SGL (serving gateway L) | |
CN111625198A (en) | Metadata caching method and metadata caching device | |
CN110968527A (en) | FTL provided caching | |
CN110019016A (en) | The KV for providing logic key stores device and method thereof | |
WO2021121054A1 (en) | Sgl processing acceleration method and storage device | |
CN110096452A (en) | Non-volatile random access memory and its providing method | |
CN208569620U (en) | Storage equipment with the pond NID | |
US20160335198A1 (en) | Methods and system for maintaining an indirection system for a mass storage device | |
CN110968520B (en) | Multi-stream storage device based on unified cache architecture | |
CN109840219B (en) | Address translation system and method for mass solid state storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |