CN110275838A - The address conversion and its accelerator of KV storage equipment - Google Patents

The address conversion and its accelerator of KV storage equipment Download PDF

Info

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
Application number
CN201810220728.3A
Other languages
Chinese (zh)
Other versions
CN110275838B (en
Inventor
孙唐
沈飞
古进
谈笑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING CORE TECHNOLOGY Co Ltd
Original Assignee
BEIJING CORE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING CORE TECHNOLOGY Co Ltd filed Critical BEIJING CORE TECHNOLOGY Co Ltd
Priority to CN201810220728.3A priority Critical patent/CN110275838B/en
Priority to CN202110814953.1A priority patent/CN113535601A/en
Priority to CN202110814983.2A priority patent/CN113505085A/en
Publication of CN110275838A publication Critical patent/CN110275838A/en
Application granted granted Critical
Publication of CN110275838B publication Critical patent/CN110275838B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address 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

The address conversion and its accelerator of KV storage equipment
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.
CN201810220728.3A 2018-03-16 2018-03-16 Address conversion of KV memory device and accelerator thereof Active CN110275838B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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