[go: up one dir, main page]

CN104054071A - Method for accessing storage device and storage device - Google Patents

Method for accessing storage device and storage device Download PDF

Info

Publication number
CN104054071A
CN104054071A CN201280002763.9A CN201280002763A CN104054071A CN 104054071 A CN104054071 A CN 104054071A CN 201280002763 A CN201280002763 A CN 201280002763A CN 104054071 A CN104054071 A CN 104054071A
Authority
CN
China
Prior art keywords
key
physical block
block address
storage device
string
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.)
Pending
Application number
CN201280002763.9A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104054071A publication Critical patent/CN104054071A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for accessing a storage device and a storage device, to solve a problem that address translation is performed too many times when the storage device is accessed. The method comprises: a storage device receiving an interface command comprising a destination key; converting the destination key to obtain a physical block address corresponding to the destination key; and executing the interface command according to the obtained physical block address. The storage device comprises: an interface, a controller, and a storage medium. The interface receives an interface command comprising a destination key and sends the interface command to the controller. The controller converts the destination key to obtain a physical block address corresponding to the destination key. The controller executes the interface command for the storage medium according to the obtained physical block address. This technical solution reduces the address translation times, raises the speed of accessing a storage device in a computer system, and therefore improves the performance of the whole computer system.

Description

Method for accessing storage device and storage device
Access the method and storage device technical field of storage device
The present invention relates to data storage and management domain, and more particularly, to the method and storage device for accessing storage device.Background technology
Storage device is used to store the data and program in computer system.With the development of science and technology, storage device gradually expands to variform, according to storage medium point, such as including mechanical hard disk(HDD, Hard Disk Drive), nonvolatile memory(NVM, Non- Volatile Memory) etc., wherein NVM can be specifically divided into solid state hard disc (SSD, Solid State Disk), the free pouring-in random access person of depositing device again(STT-RAM, Spin-transfer Torque Random-Access Memory), the ferroelectricity person's of depositing device (FeRAM, Ferroelectric Random-Access Memory), 4 mesh become the person's of depositing device (PCM, phase change memory), resistor type random access accesses the person's of depositing device (RRAM, Resistive random-access Memory) etc..
Because the data service of computer system processor is increasingly heavy, evaluating the important indicator of computer system at least includes:Access storage device speed and computer system performance it is high with it is low.In the prior art, usual central processing unit(CPU, Central Processing Unit) read write command is produced, it is necessary to by many complex mechanisms, include but is not limited to:Complicated memory block distribution mechanism, complicated high speed Slow punchings (buffer cache) design, allow file system crash(Crash it) can recover, and at least need multiple address translation process to position the physical space of accessed storage device, while adding complexity, reduce the speed that computer accesses storage device, the reduction of simultaneous computer systematic function.Accordingly, it would be desirable to a kind of method that can reduce address conversion number of times when accessing storage device.The content of the invention
In view of this, the embodiment of the present invention provides a kind of method and storage device for accessing storage device, the problem of address conversion number of times is excessive during solving to access storage device.
First aspect there is provided it is a kind of access storage device method, including:Storage device, which is received, includes the interface command of object key;Switch target key is to obtain the corresponding physical block address of object key;According to acquired physical block address, interface command is performed.
In the first possible implementation, method also includes:Storage device prestores the same physics of key The mapping table of block address, then switch target key be specially to obtain the corresponding physical block address of object key:Mapping table is inquired about according to object key, the corresponding physical block address of object key is obtained.
With reference to the first possible implementation of first aspect, in second of possible implementation, the key that storage device is prestored is hash index table with the mapping table of physical block address, mapping relations of at least one key with physical block address are included in associated map listing, map listing including hash index number and with hash index number;Then switch target key is specially to obtain the corresponding physical block address of object key:Object key is carried out Hash operation to obtain the hash index number of the object key, mapping relations of at least one key with physical block address are inquired about in the map listing associated with the hash index number of object key of hash index table, physical block address corresponding with object key is obtained.
With reference to the first possible implementation of first aspect, in the third possible implementation, the key that storage device is prestored is static mappings table with the mapping table of physical block address, and the static mappings table includes key and physical block address corresponding with key;Then switch target key is specially to obtain the corresponding physical block address of object key:According to object key queries static mapping table, the corresponding physical block address of object key is obtained.
With reference to the first possible implementation of first aspect, in the 4th kind of possible implementation, the key that storage device is prestored is multichannel search tree with the mapping table of physical block address, including the multipath based on key searches the mapping relations of subtree and a key associated with each node in multipath lookup subtree and physical block address;Then switch target key is specially to obtain the corresponding physical block address of object key:Node corresponding with object key is searched in multipath searches subtree, and physical block address corresponding with object key is determined according to the key and the mapping relations of physical block address being associated with the node.
With reference to first aspect or the above-mentioned possible implementation of first aspect, in the 5th kind of possible implementation, Hash operation is carried out to key to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of key;Or the idle physical block of stochastic searching, it regard the physical block address of the free physical block as physical block address corresponding with key.
With reference to first aspect or the above-mentioned possible implementation of first aspect, in the 6th kind of possible implementation, Hash operation is carried out to object key to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of object key;Or the idle physical block of stochastic searching, it regard the physical block address of the free physical block as physical block address corresponding with object key.
With reference to first aspect or the above-mentioned possible implementation of first aspect, in the 7th kind of possible implementation, interface command includes one of following interface command: Put ( String Key, String Version optional, String Value );Or Write (String Key, String Version optional, String Value);Or Get (String Key, String Version optional);Or Read (String Key, String Version optional );Or Delete (String Key, String Version Optional);Or TRIM (String Key, String Version Optional).
With reference to first aspect or the above-mentioned possible implementation of first aspect, in the 8th kind of possible implementation, the interface command that storage device is supported is carried on one or more of following agreement:NVM Express ten do view, SCSI (small computer system interface, small computer system interface) agreement, (Advanced Technology Attachment, advanced techniques are attached by ATA)(SCSI over PCI-E carry SCSI protocol message on PCI-E passages by agreement, SOP)Agreement, HTTP/REST (hypertext transfer protocol/resource state transfer, the transfer of HTTP/resource status) agreement, HTTP/SOAP (hypertext transfer protocol/simple object access protocol, HTTP/cylinder single object access protocol)Agreement and RPC (remote process call, remote procedure call)Agreement.
Second aspect is there is provided a kind of storage device, including interface, controller and storage medium, and interface includes the interface command of object key and is sent to controller;Controller switch target key is to obtain the corresponding physical block address of object key;Controller performs interface command according to acquired physical block address to storage medium.
In the first possible implementation, storage device also includes internal memory, and storage medium is additionally operable to store mapping table of the key with physical block address;Then controller inquires about mapping table according to object key specifically for reading internal memory with the mapping table of physical block address from storage medium by key in internal memory, obtains physical block address corresponding with object key.
With reference to the implementation of second aspect, in second of possible implementation, storage device also includes internal memory, and internal memory is used to store mapping table of the key with physical block address;Then controller obtains physical block address corresponding with object key specifically for inquiring about mapping table in internal memory according to object key.
With reference to the implementation of second aspect, in the third possible implementation, controller to object key specifically for carrying out Hash operation to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of object key;Or the idle physical block of stochastic searching, it regard the physical block address of the free physical block as physical block address corresponding with object key.
With reference to second aspect or the above-mentioned possible implementation of second aspect, in the 4th kind of possible implementation, the interface command that controller is received includes one or more of following interface command: Put ( String Key, String Version optional, String Value );Or Write (String Key, String Version optional, String Value);Or Get (String Key, String Version optional);Or Read (String Key, String Version optional);Or Delete (String Key, String Version Optional );Or TRIM (String Key, String Version Optional).
With reference to second aspect or the above-mentioned possible implementation of second aspect, in the 5th kind of possible implementation, storage device is one kind of following equipment:Mechanical hard disk(HDD), solid state hard disc(SSD), free pouring-in random access storage device(STT-RAM), ferroelectric memory(FeRAM), phase transition storage(PCM), resistor type random access accesses memory(RRAM ).
With reference to second aspect or the above-mentioned possible implementation of second aspect, in the 6th kind of possible implementation, the physical channel that storage device is supported is included with one or more of lower interface:SAS (Serial Attached SCSI, serial message computer system)Interface, SATA (Serial ATA, serial data communication) interface, (peripheral component interconnected express, sunset fore-telling sets interconnection standard to PCI-E)Interface, Infiniband interfaces, Ethernet interface and USB (Universal Serial Bus, USB)Interface.
With reference to second aspect or the above-mentioned possible implementation of second aspect, in the 7th kind of possible implementation, the interface command that storage device is supported is carried on one or more of following agreement:NVM Express agreements, SCSI protocol, ATA agreements, SOP agreements, HTTP/REST agreements, HTTP/SOAP agreements and RPC agreements.
Above-mentioned technical proposal can pass through key-value storage mode, storage device, which is received, includes the interface command of object key, then the object key is changed to obtain the corresponding physical block address of the object key, interface command is performed further according to the physical block address of acquisition, so as to reduce the number of times of address conversion, the speed that storage device is accessed in computer system is improved, it is thus overall to improve computer system performance.Brief description of the drawings
Technical scheme in order to illustrate the embodiments of the present invention more clearly, cylinder will be made to the required accompanying drawing used in embodiment or description of the prior art below singly to introduce, apparently, drawings in the following description are only some embodiments of the present invention, for those of ordinary skill in the art, on the premise of not paying creative work, other accompanying drawings can also be obtained according to these accompanying drawings.
Figure 1A to Fig. 1 D be in the prior art it is a kind of by key-value access storage device method.
Fig. 2 be in the prior art it is another by key-value access storage device method.
Fig. 3 is the schematic flow diagram of the method for the access storage device of the embodiment of the present invention.
Fig. 4 is the schematic flow diagram of the method for the access storage device of another embodiment of the present invention.
Fig. 5 A to Fig. 5 C are the schematic diagram of the key-value that a kind of embodiment of the present invention is set up and the mapping relations of physical block address respectively. Fig. 6 A to Fig. 6 B are the schematic block diagrams of the storage device of the embodiment of the present invention.Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is a part of embodiment of the invention, rather than whole embodiments.Based on the embodiment in the present invention, the every other embodiment that those of ordinary skill in the art are obtained under the premise of creative work is not made belongs to the scope of protection of the invention.
Cloud storage is in the conceptive extension of cloud computing and the new concept that developed, refer to by functions such as cluster application, grid or distributed file systems, a large amount of various types of storage devices in network are gathered into collaborative work by application software, the common system that data storage and Operational Visit function are externally provided.When the core of cloud computing system computing and processing is the storage and management of mass data, it is accomplished by configuring substantial amounts of storage device in cloud computing system, so cloud computing system is transformed into as a cloud storage system, so cloud storage is one with the cloud computing system of data storage and management for core.
Recently, a large amount of non-relationals for increasing income and closing source are occurred in that(NoSQL the concept of) database, wherein NoSQL refers to provide non-relational, distribution, offer or can not provide the semantic database design schemas of ACID.ACID, refers to the abbreviation for four fundamentals that db transaction is correctly performed, including atomicity(Atomicity), uniformity(Consistency), isolation(Isolation), persistence (Durability).NoSQL databases are divided into key-value according to different pieces of information model(Key- Value) database, row race(Column Family) database, document database and chart database.Former three is all based on key-value organizational data model.Key-value data model is characterised by, centered on major key, and data entity is by key (Key) unique mark, and system is numerical value(Value) work as black box for processing, do not explain, onrelevant relation between data field.Based on the characteristic, current NoSQL is widely used in multiple fields, the particularly cloud computing systems such as internet, unstructured data backup, search.
In the prior art, when computer system is based on key-value tissue data, accessing the method for storage device includes the method shown in Figure 1A to Fig. 1 D.In context, it is to refer to access storage device to access database.
Figure 1A to Fig. 1 D be in the prior art it is a kind of by key-value access storage device method.
As shown in FIG. 1A and 1B, conventional solid-state hard disk (SSD) is to upper offer conventional block interface reference address(LBA, Logic Block Address) application(Application) logical block address on SSD is specified to be LBA, generally by calling traditional file systemses (such as the Ext3 or Ext4 of Linux) to connect Mouthful, use standard POSIX (Portable Operating System Interface, portable operating system interface)File access interface conducts interviews.During reading, by providing LBA, by SSD flash memory translation layer(FTL, Flash Translation Layer) address translation is carried out, obtain nand flash memory(NAND Flash Memory) or other medium forms in physical address(), PBA the reading of data block is carried out.During write-in, by providing LBA, mapping relations of the LBA spaces with PBA spaces of free block, write-in data, and refresh controller maintenance are found in dielectric space by SSD controller.LBA spaces refer to Fig. 1 C with the mapping relations in PBA spaces.The collection of physical address is collectively referred to as physical space, also referred to as memory space.
With reference to Fig. 1 D, using by using file access mode 11 or block(Block) the access interface of access mode 12, needs the content accessed to be obtained with specified LBA user, or it is the logical address that content is deposited to distribute LBA by file system.NVM controller can maintain LBA with PBA mapping relations.
In the above prior art, because traditional file systemses are directed to SAS (Serial Attached SCSI, serial SCSI) memory, SATA (Serial Advanced Technology Attachment, serial ATA) memory is designed, its internal many complex mechanism of offer, includes but is not limited to:The memory block distribution mechanism of complexity, complicated high speed Slow deposit design, file system crash can be recovered.In key-value storage, enter key(Key), file identifier can be converted into, by complicated file layers, LBA is converted to.Inside NVM, LBA can be converted to physical space address in NVM, that is, PBA by controller again.By two layers of transfer process, behavior is complicated;And file system considers the characteristics of hard disk is good to sequential access performance, has carried out input and output(I/O scheduling, merging and the queuing) accessed.But on NVM media, it is made up of multiple particles that can concurrently access, and there is huge advantage to I/O, and thus file system brings heavy cost to whole access process.If directly accessed by block access mode, it is also desirable to safeguard a huge key in data management software layer(Key) space and LBA mapping are, it is necessary to which one layer of conversion layer, adds the complexity of access process.These can all reduce the access speed that computer system integrally externally embodies, and reduce the performance of computer system.
Fig. 2 be in the prior art it is another by key-value access storage device method 20.
, can be according to key in the distributed memory system for supporting key-value(Key) by name space(Name space) in different keys(Key) corresponding numerical value (Value) carries out scattered storage on distributed storage node.It is being locally stored on node, input<Key, Version optional, Value>Also it can be deposited according to certain key-value data organizational form.The engine that is locally stored of several forms is all directed to input< ^ Version optional, &11½>The different data tissue of progress and storage.It is for input, in the middle of the data management for finally changing into the address format that can be understood by storage device with key (key) that engine, which is locally stored, Part.
Said system would generally apply for one big file, such as 100GB, and the data for carrying out local storage medium according to customized data organizational form in big file are deposited and read.This mode is similar to " the block access mode " mentioned in previous access mode in the prior art 12.
Meanwhile, in NVM Express standards, define NVM read-writes and the operational order such as compare, to read(Read), write(Write exemplified by) ordering, its parameter needed includes LBA.This mode safeguards huge key by the data management layer that user oneself develops on node is locally stored(Key) with LBA mapping;LBA to PBA mapping relations are carried out by NVM controller in NVM.There is cost in conversion, reduction accesses the speed of storage device or reduces the performance of computer system.
The embodiments of the invention provide a kind of method for accessing storage device, complexity when accessing storage device can be reduced.In embodiments of the present invention, storage device receiving interface order, object key is included in the interface command, storage device is changed to the object key directly to obtain physical block address corresponding with the object key, and the interface command is performed based on the physical block address.Described being changed to the object key directly to obtain physical block address corresponding with the object key can be realized by the embodiment of below figure 3, the mapping table of key and physical block address is stored in storage device in advance, inquires about the mapping table to obtain the corresponding physical block address of the object key based on the object key;Can also be realized by the embodiment of below figure 4, i.e., directly the object key calculate obtaining the corresponding physical block address of the object key.Referring specifically to the following examples description.
Fig. 3 is the schematic flow diagram of the method 30 of the access storage device of the embodiment of the present invention, including herein below.
S31, storage device, which is received, includes object key(Key interface command).
Interface command includes the operational orders such as common reading and writing, deletion.For example, interface command can be defined as following form.
Writing commands form is:Object key is included in Put (String Key, String Version optional, String Value) or Write (String Key, String Version optional, String Value), the writing commands(Key), optional version(Version) information, and prepare the numerical value of write-in( Value ).
Read-out command form is:Get (String Key, String Version optional) or Read (String Key, String Version optional), object key (Key), optional version (Version) information are included in the read-out command.
J is except command format:Object key is included in Delete (String Key, String Version optional) or Trim (String Key, String Version optional), the delete command(Key), optional version This (Version) information.
Optionally, comparison command can also be supported, form is: Compare(String Key, String Version optional, String Value).Value in the memory space that key (Key) and optional version (Version) are specified is taken out, the numerical value carried with the comparison command(Value) parameter is compared.
Meanwhile, optionally, also support that (Non- Volatile Memory Express, PCI-E SSD are with the interface protocol between Host and relevant criterion tissue by NVMe)The data set management of definition(Dataset Management) and lower U (Flush) order, and can not father just order (Write uncorrectable), the address space that mentioned order is used is all based on key(Key the address space for) inputting and specifying as logical address.
Further, it is also possible to support SCSI (small computer System Interface, small computer system interface)(SCSI over PCI-E carry SCSI protocol message on PCI-E passages by standard and SOP)All orders relevant with LBA of definition, the space that LBA spaces are revised as specifying based on Key.
The order such as reading and writing defined in existing standard is changed in NVM interface to input as address based on LBA, and the mode of address of cache is carried out in NVM controller;And use key(Key) inputted as address, so as to avoid the expense that file access mode or block access mode are brought.
Storage device in the embodiment of the present invention can have with one or more of lower interface, such as conventional hard interface, Infiniband interfaces, Ethernet(Ethernet) interface, PCI-E (peripheral component interconnected express) interface and USB interface etc..Conventional hard interface can include SAS interfaces, SATA interface etc..
According to specific entity, to NVM, physical channel can be SAS interfaces, SATA interface, PCI-E interface, Infiniband interfaces and USB interface etc.;Command history agreement thereon can be a subset, ATA agreements or SOP agreements of scsi command set that the standard that defines of NVM Express normal structures, T10 are defined etc..
To mechanical hard disk and its hard disk of extension, physical channel can be SAS interfaces, SATA interface,
Infiniband interfaces, Ethernet interface, PCI-E interface and USB interface etc.;Command history agreement thereon is the scsi command set that T10 is defined, and individually can divide a subset to use, or ATA agreements etc..
S32, switch target key is to obtain the corresponding physical block address of object key.
In embodiments of the present invention, key can be previously stored with storage device() and physical block address Key(PBA mapping table), it is corresponding so as to obtain object key based on object key inquiry mapping table Physical block address.
The mapping table can be set up by a variety of implementations, and Fig. 5 A to Fig. 5 C, which are shown respectively, a kind of provided in an embodiment of the present invention sets up key() and physical block address Key(PBA the method for mapping relations).As shown in Figure 5A, by key(Key Hash) is carried out(Hash, Hash)Computing, such as using Secure Hash Algorithm(SHA-1, secure hash algorithm) Hash operation is carried out to the key (Key), the result of the Hash operation is subjected to modulo operation to the PBA addresses upper limit, so as to obtain PBA blocks number.Hash operation is exactly the input random length(It is called and does preliminary mapping, pre-image), by hash algorithm, the output of regular length is transformed into, the output is exactly cryptographic Hash.This conversion is a kind of compression mapping, it is, the length of cryptographic Hash is generally much less than the length of input, different inputs may be hashed into identical output, therefore input value, i.e. key can not be uniquely determined from cryptographic Hash(Key) mapping with cryptographic Hash can be many-to-one relationship.It is described as follows:
In the embodiment of the present invention, a hash index table is safeguarded in storage device, the hash index table branch records, is referred to as hash index row per a line record cylinder, includes the hash index number (Hashlndex) and map listing of the row(), Map_List wherein the hash index number(Hashlndex) it is certain Key cryptographic Hash resulting after Hash operation, the map listing(Map_List one or more can) be included<Key, PBA>Mapping relations, described here one or more<Key, PBA>The cryptographic Hash passed through obtained by Hash operation of one or more of mapping relations Key be the hash index number, the mapping relations indicate to be put into Key corresponding Value in the memory cell of PBA sensings.The process for setting up the hash index table is:To any Key, such as Key2, Hash calculation is carried out to Key 2 first, the corresponding hash index Hashlndexm of the Key2 are obtained.Obtained Hashlndexm is corresponded to m-th of hash index row of the hash index table, the corresponding physical block address of the Key2 is then obtained(PBA), in the embodiment of the present invention, the corresponding physical block address of described acquisition Key2(PBA can be) that the hash index Hashlndexm carried out to Key2 obtained by Hash operation is subjected to modulus to the PBA address upper limit, the result of the modulo operation is the physical block address corresponding to Key2(), PBA such as PBA6;Or one free physical block of searching is used as the corresponding physical block address of Key2 at random in whole PBA spaces(), PBA such as PBA6.Then Key2 and PBA6 mapping relations are inserted into the hash index as a node(It is Hashlndexm herein) in corresponding Map_List (being herein Map_Listm), wherein can be recorded as<Key2, PBA6>, that is, indicate to be put into Key2 corresponding Value in the memory cell of PBA6 sensings.Aforesaid operations are carried out to every Key, the corresponding hash indexs number of each Key and its corresponding mapping relations are specified<Key, PBA>And be stored in the manner described above in the hash index table, in this process, if entered to certain Key The hash index number obtained after row Hash operation is identical with certain hash index number above once occurred, that is, occurs in that Hash is collided, then new node, mapping relations of the recording needle to certain Key are inserted in the corresponding Map_List of the hash index number<Key, PBA >.For example, if carrying out Hash operation to Key_N, obtained hash index number also (has identical hash index number for Hashlndexm with Key2), using it is above-mentioned it is same by the way of, obtain the corresponding physical block address of Key_N for PBA_N, then a new node inserted in the corresponding Map_Listm of hash index row Hashlndexm, mapping relations are recorded in the node<Key_N, PBA_N>, that is, indicate to be put into Key_N corresponding Value in the memory cell of PBA_N sensings.It follows that in each hash index row, with same hash index number(Hashlndex) can there are 1 or a plurality of mapping pass in corresponding mapping table Map_List<Key, PBA >.
It should be noted that, hash index number is subjected to modulo operation to the PBA address upper limit, it is possible that collision, i.e. different hash indexs number after PBA address upper limit modulus to obtaining identical mould, at this moment it is to avoid colliding, function Hash (Key) can be again carried out after a Hash calculation, then to PBA address upper limit modulus, formula is(Hash (Hash (Key) the % PBA address upper limit), untill obtaining the PBA blocks of free time.
Optionally, as another implementation, there is the scene of identical hash index number (Hashlndex) for multiple different Key, each record in the Map_List of the corresponding hash index row of the hash index number< Key, PBA >A pointer is safeguarded below, for pointing to next in the Map_List< 6^ ΡΒΑ>, so a plurality of mapping relations in the Map_List can be conspired to create by pointer by a chained list.
Based on above-mentioned hash index mapping table, the storage device is after certain interface command is received, object key in the interface command is carried out Hash operation to obtain the hash index number of the object key, then mapping relations of at least one key with physical block address are inquired about in the map listing associated with the hash index number of the object key of the hash index table, so as to obtain physical block address corresponding with the object key.
In the embodiment of the present invention, above-mentioned hash index table can operationally be generated in internal memory, can be stored in internal memory as the key of the embodiment of the present invention and PBA mapping table.Optionally, as different embodiments, for prevent the mapping relations due to internal memory falls electricity Er Lost loses, the mapping relations can also be persisted in the interval that storage medium specifies, and the region specified becomes index area.
When storage device is NVM, NVM ardware feature determines that data deletion or read-write operation have the limitation of access times.By Hash operation, effectively by data hash to different PBA spaces, Meet abrasion equilibration(Wear leveling) expectation, the NVM life-spans can be lifted.Also, based on key(Key) the feature of hash, the characteristics of can giving full play to random NVM particles and good concurrency, improves concurrency.
When storage device is HDD, HDD ardware feature determines that data need the characteristic sequentially read.Pass through Hash operation, can be effectively by data hash to different PBA spaces, although the order for destroying hard disk reads characteristic, but by the difference for taking into full account disk Internal and external cycle access speed, logarithm value (Value) storage area across magnetic track can be deposited, to comprehensively utilize hard disk performance.Under large-scale distributed environment, the load balancing of polylith hard disk access can be met, with global performance effect in a balanced way.
The mapping relations of key (Key) and PBA are set up as shown in Figure 5 B or in static mappings table mode.
With regard to any Key, the corresponding PBA of the Key are determined.It can refer to the mode described by above-described embodiment, it can be the cryptographic Hash that will be obtained after Key progress Hash operations, the PBA corresponding to the Key is obtained to PBA address upper limit modulus again, or one free physical block of searching is used as corresponding PBA of the Key etc. at random in PBA spaces, in the embodiment of the present invention, it is assumed that the corresponding PBA of Keyl are PBA1.By mapping relations<Keyl, PBA1>Note is in index record.It is follow-up when if desired writing the corresponding Value of new Key, can be with above-mentioned processing procedure.
Based on above-mentioned static mappings table, the storage device inquires about the static mappings table after certain interface command is received according to the object key, obtains the corresponding physical block address of the object key.
As shown in Figure 5 C, in the embodiment of the present invention, key can also be set up by multichannel search tree(Key) with PBA mapping relations, in the embodiment of the present invention, the multichannel search tree can search the mapping relations of subtree and a key associated with each node in multipath lookup subtree and physical block address comprising the multipath based on key.It can realize that B+Tree technologies can keep the data arrangement steady ordered of key using B+Tree mode that the multipath, which searches subtree, and the insertion and modification for making key have relatively stable logarithmic time complexity.Each node in B+Tree can include substantial amounts of keyword message and branch according to actual conditions;The depth so set is reduced, as long as this means that one element of lookup seldom node, reads in internal memory from storage device such as external memory disk, the data to be searched are had access to quickly.B+Tree modes can also be placed into NVM address spaces with fully hashing data, so as to lift the NVM life-spans.
The following detailed description of passing through multichannel search tree in the embodiment of the present invention(B+Tree key) is set up(Key) with the process of PBA mapping relations:
It is 4 units to assume first that node space size of the multichannel search tree per sub-distribution.Assuming that first 4 times insert 2,10,15,20,4 keys of correspondence respectively(Key ). The 5th inserts 3, but 4 units of the node space of distribution have been used up, and now redistributes a new node, the new node is also comprising 4 units.Because 3 to 2 is big, smaller than 10, therefore it is the corresponding node of subtree between 2 and 10 to be inserted into position.
Later insertion process is similar, progressively sets up classification multichannel tree construction.For each Key, spatially apply for a unit in B+Tree Key, record the Key.Simultaneously, obtain the corresponding PBA of the Key, it can refer to the mode described by above-described embodiment, it can be the cryptographic Hash that will be obtained after Key progress Hash operations, the PBA corresponding to the Key is obtained to PBA address upper limit modulus again, or a free physical block is found at random in PBA spaces as corresponding PBA of the Key etc., then by the Key of the unit of each in B+Tree with the mapping relations corresponding Key<Key, PBA>Associate, on the right side of Fig. 5 C shown in list.
It is clean for cylinder in Fig. 5 C, only it is illustrated with two-stage tree construction, but the embodiment of the present invention is not limited this.Finally, all established as any key of node space on B+Tree and the PBA addresses in PBA spaces --- corresponding relation, i.e., the key of the embodiment of the present invention and PBA mapping relations are generated by the above method.
Based on above-mentioned multichannel search tree, the storage device is after certain interface command is received, node corresponding with the object key is searched in its multipath searches subtree, and physical block address corresponding with the object key is determined according to the key and the mapping relations of physical block address being associated with the node.
It will be appreciated by persons skilled in the art that setting up key(Key) it is not limited to the implementation of PBA mapping relations above-mentioned several.
S33, according to acquired physical block address, performs interface command.
For example, the physical block address obtained according to inquiry(PBA), for writing commands, in the corresponding physical block address of key (Key)(PBA data are write in the memory cell pointed by);For read-out command, the corresponding physical block address of the key (Key) is returned(PBA the data stored in the memory cell pointed by);For delete command, discharge in key(Key) corresponding physical block address(PBA the data stored in the memory cell pointed by).
Further, the method for the embodiment of the present invention also includes returning to the implementing result for the interface command, is such as directed to write order, returns to the whether successful information of write operation;For read-out command, the corresponding physical block address of the key (Key) is returned(PBA the data stored in the memory cell pointed by);For delete command, the whether successful information of deletion action is returned.
The embodiment of the present invention is by key-value storage mode, and storage device, which is received, includes the interface command of object key, and then switch target key is to obtain the corresponding PBA of object key, and the PBA execution further according to acquisition connects Mouth order.Avoid carrying out Key in the embodiment of the present invention<->File<->LBA<->PBA multiple conversions, or Key<-> LBA<->PBA multiple conversions, above-mentioned multiple conversions need multiple interactions between processor, file system and storage device.The embodiment of the present invention directly obtains its corresponding PBA by Key, so as to reduce the number of times of address conversion, the performance loss of computer system is reduced while reducing the complexity for the management software for safeguarding address conversion, the speed that storage device is accessed in computer system is improved, computer system performance is thus integrally improved.
Fig. 4 is the schematic flow diagram of the method 40 of the access storage device of another embodiment of the present invention, in the embodiment, can be without mapping table of the key described by above-described embodiment with physical block address be stored in storage device in advance, but after the interface command comprising object key is received, directly calculate to obtain the corresponding physical block address of the object key according to the object key(), PBA herein below is specifically included.
S41, storage device, which is received, includes the interface command of object key.
Interface command includes the operational orders such as common reading and writing, deletion.For example, interface command can be defined as following form.
Writing commands form is:Object key is included in Put (String Key, String Version optional, String Value) or Write (String Key, String Version optional, String Value), the writing commands(Key), optional version(Version) information, and prepare the numerical value of write-in( Value ).
Read-out command form is:Get (String Key, String Version optional) or Read (String Key, String Version optional), object key (Key), optional version (Version) information are included in the read-out command.
Delete command form is:Delete (String Key, String Version optional) or Trim (String
Key, String Version optional), object key is included in the delete command(Key), optional version (Version) information.
Optionally, comparison command can also be supported, form is: Compare(String Key, String Version optional, String Value).Value in the memory space that key (Key) and optional version (Version) are specified is taken out, the numerical value carried with the comparison command(Value) parameter is compared.
Meanwhile, optionally, also support that (Non- Volatile Memory Express, PCI-E SSD are with the interface protocol between Host and relevant criterion tissue by NVMe)The data set management of definition(Dataset Management) and lower Cock ' J (Flush) order, and can not father just order(Write uncorrectable), the address space that mentioned order is used is all based on key(Key the address space for) inputting and specifying as logical address.
Further, it is also possible to support SCSI (small computer System Interface, minicom System interface)(SCSI over PCI-E carry SCSI protocol message on PCI-E passages by standard and SOP)All orders relevant with LBA of definition, the space that LBA spaces are revised as specifying based on Key.
The order such as reading and writing defined in existing standard is changed in NVM interface to input as address based on LBA, and the mode of address of cache is carried out in NVM controller;And use key(Key) inputted as address, so as to avoid the expense that file access mode or block access mode are brought.
Storage device in the embodiment of the present invention can have with one or more of lower interface, such as conventional hard interface, Infiniband interfaces, Ethernet(Ethernet) interface, PCI-E (peripheral component interconnected express) interface and USB interface etc..Conventional hard interface can include SAS interfaces, SATA interface etc..
According to specific entity, to NVM, physical channel can be SAS interfaces, SATA interface, PCI-E interface, Infiniband interfaces and USB interface etc.;Command history agreement thereon can be a subset, ATA agreements or SOP agreements of scsi command set that the standard that defines of NVM Express normal structures, T10 are defined etc..
To mechanical hard disk and its hard disk of extension, physical channel can be SAS interfaces, SATA interface,
Infiniband interfaces, Ethernet interface, PCI-E interface and USB interface etc.;Command history agreement thereon is the scsi command set that T10 is defined, and individually can divide a subset to use, or ATA agreements etc..
S42, physical block address is determined according to the object key(PBA ).
In the embodiment, can be without mapping table of the key described by above-described embodiment with physical block address be stored in storage device in advance, but after the interface command comprising object key is received, directly calculate to obtain the corresponding physical block address of the object key according to the object key(PBA), the process specifically can refer to the implementation of the foundation such as Fig. 5 A-5C mapping table described in above-described embodiment, and the present embodiment will not be repeated here.
S43, according to identified physical block address, performs the interface command.
For example, for writing commands, in key(Key) corresponding physical block address(PBA data are write in the memory cell pointed by);For read-out command, the key is returned(Key) corresponding physical block address(PBA the data stored in the memory cell pointed by);For delete command, discharge in the corresponding physical block address of key (Key)(PBA the data stored in the memory cell pointed by).
Further, the method for the embodiment of the present invention also includes returning to the implementing result for the interface command, is such as directed to write order, returns to the whether successful information of write operation;For read-out command, return described The corresponding physical block address of key (Key)(PBA the data stored in the memory cell pointed by);For delete command, the whether successful information of deletion action is returned.
The embodiment of the present invention passes through key-value storage mode, storage device, which is received, includes the interface command of object key, then calculate obtaining the corresponding physical block address of the object key (PBA) according to the object key, interface command is performed further according to the PBA of acquisition.Avoid carrying out Key in the embodiment of the present invention<->File<->LBA<->PBA multiple conversions, or Key<-> LBA<->PBA multiple conversions, above-mentioned multiple conversions need multiple interactions between processor, file system and storage device.The embodiment of the present invention directly obtains its corresponding PB A by Key, so as to reduce the number of times of address conversion, the performance that computer system is reduced while reducing the complexity for the management software for safeguarding address conversion is damaged, consumption improves the speed that storage device is accessed in computer system, is thus integrally improved computer system performance.
Fig. 6 A are the schematic block diagrams of the storage device 60 of the embodiment of the present invention.Storage device 60 includes interface 61, controller 62 and storage medium 63.
Interface 61 receives the interface command for including object key and is sent to controller 62.
Controller 62 changes the object key to obtain the corresponding physical block address of the object key;According to acquired physical block address, the interface command is performed to the storage medium.
Fig. 6 B are the schematic block diagrams of the storage device 60 of another embodiment of the present invention.Storage device provided in an embodiment of the present invention also includes internal memory 64, the mapping table of key and physical block address can be stored in the internal memory 64 in advance, then the controller 62 is after the interface command from interface 61 is received, the mapping table is inquired about into the internal memory 64 according to the object key carried in the interface command, so as to obtain physical block address corresponding with the object key.
Optionally, it is used as different embodiments, to prevent because the power down of internal memory 64 causes the Ying She Biao Lost to lose, the mapping table can also be stored to the designated area to storage medium 63, the mapping table that then controller 62 can store the storage medium 63 is read in the internal memory 64, the mapping table is inquired about into the internal memory 64 according to the object key carried in the interface command, so as to obtain physical block address corresponding with the object key.
Described mapping table structure will not be repeated here referring in particular to the content as described in Fig. 5 A, 5B or 5C and corresponding embodiment part.
The storage medium 63 is used for data storage, and the controller 62 performs the interface command to the storage medium 63 according to acquired physical block address can specifically following several situations:
For writing commands, then controller 62 instructs the data for writing and being carried in the writing commands in the memory cell in the storage medium 63 pointed by the corresponding physical block address of object key;For reading Order, then controller 62 instructs the data for reading and being stored in the memory cell from the memory cell in the storage medium 63 pointed by the corresponding physical block address of object key;For delete command, then controller 62 instructs the data for discharging and being stored in the memory cell from the memory cell in the storage medium 63 pointed by the corresponding physical block address of object key.Further, the method for the embodiment of the present invention also includes returning to the implementing result for the interface command, is such as directed to write order, returns to the whether successful information of write operation;For read-out command, the corresponding physical block address of the key (Key) is returned(PBA the data stored in the memory cell pointed by);For delete command, the whether successful information of deletion action is returned.
Described controller 62 can be SoC (System On Chip, on-chip system), ASIC (application-specific IC, Application Specific Integrated Circuit), DSP (Digital Signaling Processor, digital signal processor), FPGA (Field-Programmable Gate Array, field programmable gate array), and general processor etc..
Storage device provided in an embodiment of the present invention passes through key-value storage mode data storage, storage device, which is received, includes the interface command of object key, then the object key is changed to obtain the corresponding physical block address of the object key, and interface command is performed further according to the physical block address of acquisition.Avoid carrying out Key in the embodiment of the present invention<->File<->LBA<->PBA multiple conversions, or Key<-> LB A<->PB A multiple conversions, above-mentioned multiple conversions need multiple interactions between processor, file system and storage device.The embodiment of the present invention directly obtains its corresponding PBA by Key, so as to reduce the number of times of address conversion, the performance loss of computer system is reduced while reducing the complexity for the management software for safeguarding address conversion, the speed of computer system accesses storage device is improved, computer system performance is thus integrally improved.
Optionally, can be without in advance in the storage medium of the storage device as different embodiments
63 or internal memory 64 in store mapping table of the described key with physical block address, but after the interface command comprising object key is received, the controller 62 directly calculates to obtain the corresponding physical block address of the object key according to the object key(PBA), the process specifically can refer to the implementation of the foundation such as Fig. 5 A-5C mapping table described in above-described embodiment, and the present embodiment will not be repeated here.
Optionally, as different embodiments, the interface command that controller 62 is received can include one in following interface command.
Put ( String Key, String Version optional, String Value );Or
Write ( String Key, String Version optional, String Value );Or
Get ( String Key, String Version optional );Or
Read ( String Key, String Version optional );Or
Delete ( String Key, String Version Optional );Or TRIM ( String Key, String Version Optional )。
As different implementations, storage device 60 can be combined by controller 62 from different storage mediums, form various storage devices.Storage medium can be magnetic disk media or solid-state electronic storage medium etc..For example, storage device 60 can be mechanical hard disk(HDD), solid state hard disc(SSD), free pouring-in random access storage device(STT-RAM), ferroelectric memory(FeRAM), phase transition storage(PCM), resistor type random access accesses memory (RRAM) etc..
As possible implementation, the physical channel that storage device 60 can be supported is included with one or more of lower interface:SAS interfaces, SATA interface, PCI-E interface, Infiniband interfaces, Ethernet interface and USB interface.
As possible implementation, the interface command that storage device 60 can be supported is carried on one or more of following agreement:NVM Express agreements, SCSI protocol, ATA agreements, SOP agreements, HTTP/REST agreements, HTTP/SOAP agreements and RPC agreements.
Storage device 60 realizes method 40 or method 30, key and the mapping relations of physical block address being stored by inquiry or by directly being calculated object key and being obtained, the number of times of address conversion is reduced, so as to improve the speed that storage device is accessed in computer system.
Those of ordinary skill in the art are it is to be appreciated that the unit and algorithm steps of each example described with reference to the embodiments described herein, can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are performed with hardware or software mode actually, depending on the application-specific and design constraint of technical scheme.Professional and technical personnel can realize described function to each specific application using distinct methods, but this realization is it is not considered that beyond the scope of this invention.
It is apparent to those skilled in the art that, the specific work process of the system of foregoing description, device and unit clean for the convenience and cylinder of description may be referred to the corresponding process in preceding method embodiment, will not be repeated here.
In several embodiments provided herein, it should be understood that disclosed systems, devices and methods, it can realize by another way.For example, device embodiment described above is only schematical, for example, the division of the unit, it is only a kind of division of logic function, there can be other dividing mode when actually realizing, such as multiple units or component can combine or be desirably integrated into another system, or some features can be ignored, or do not perform.Another, it, by some interfaces, the INDIRECT COUPLING or communication connection of device or unit, can be electrical, machinery or other forms that shown or discussed coupling or direct-coupling or communication connection each other, which can be,.
The unit illustrated as separating component can be or may not be it is physically separate, make It can be for the part that unit is shown or may not be physical location, you can with positioned at a place, or can also be distributed on multiple NEs.Some or all of unit therein can be selected to realize the purpose of this embodiment scheme according to the actual needs.
In addition, each functional unit in each of the invention embodiment can be integrated in a processing unit or unit is individually physically present, can also two or more units it is integrated in a unit.
If the function is realized using in the form of SFU software functional unit and as independent production marketing or in use, can be stored in an embodied on computer readable storage device.Understood based on such, the part or the part of the technical scheme that technical scheme substantially contributes to prior art in other words can be embodied in the form of software product, the computer software product is stored in a storage medium, including some instructions are to cause a computer equipment(Can be personal computer, server, or network equipment etc.)Perform all or part of step of each embodiment methods described of the invention.And foregoing storage device includes:USB flash disk, mobile hard disk, read-only storage(ROM, Read-Only Memory), random access memory(RAM, Random Access Memory), magnetic disc or CD etc. are various can be with the medium of store program codes.
It is described above; only embodiment of the invention, but protection scope of the present invention is not limited thereto, any one skilled in the art the invention discloses technical scope in; change or replacement can be readily occurred in, should be all included within the scope of the present invention.Therefore, protection scope of the present invention described should be defined by scope of the claims.

Claims (16)

  1. Claim
    1. a kind of method for accessing storage device, it is characterised in that including:
    The storage device, which is received, includes the interface command of object key;
    The object key is changed to obtain the corresponding physical block address of the object key;
    According to acquired physical block address, the interface command is performed.
    2. according to the method described in claim 1, it is characterised in that the storage device prestores mapping table of the key with physical block address, then the conversion object key is specially to obtain the corresponding physical block address of the object key:
    The mapping table is inquired about according to the object key, the corresponding physical block address of the object key is obtained.3. method according to claim 2, it is characterized in that, the key that the storage device is prestored is hash index table with the mapping table of physical block address, mapping relations of at least one key with physical block address are included in the associated map listing including hash index number and with the hash index number, the map listing;
    Then the conversion object key is specially to obtain the corresponding physical block address of the object key:The object key is carried out Hash operation to obtain the hash index number of the object key, mapping relations of at least one key with physical block address are inquired about in the map listing associated with the hash index number of the object key of the hash index table, physical block address corresponding with the object key is obtained.
    4. method according to claim 2, it is characterised in that the key that the storage device is prestored is static mappings table with the mapping table of physical block address, the static mappings table includes key and physical block address corresponding with the key;
    Then the conversion object key is specially to obtain the corresponding physical block address of the object key:The static mappings table is inquired about according to the object key, the corresponding physical block address of the object key is obtained.
    5. method according to claim 2, it is characterized in that, the key that the storage device is prestored is multichannel search tree with the mapping table of physical block address, including the multipath based on key searches the mapping relations of subtree and a key associated with each node in multipath lookup subtree and physical block address;
    Then the conversion object key is specially to obtain the corresponding physical block address of the object key:Node corresponding with the object key is searched in the multipath searches subtree, and physical block address corresponding with the object key is determined according to the key and the mapping relations of physical block address being associated with the node.
    6. the method according to any one of claim 3 to 5, it is characterised in that the mapping relations of key and physical block address in the mapping table are set up especially by following manner:
    Hash operation is carried out to the key to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of the key;Or
    The idle physical block of stochastic searching, regard the physical block address of the free physical block as physical block address corresponding with the key.
    7. according to the method described in claim 1, it is characterised in that the conversion object key is specially to obtain the corresponding physical block address of the object key:
    Hash operation is carried out to the object key to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of the object key;Or
    The idle physical block of stochastic searching, regard the physical block address of the free physical block as physical block address corresponding with the object key.
    8. the method according to any one of claim 1 to 7, it is characterised in that the interface command includes one of following interface command:
    Put ( String Key, String Version optional, String Value );Or
    Write ( String Key, String Version optional, String Value );Or
    Get ( String Key, String Version optional );Or
    Read ( String Key, String Version optional );Or
    Delete ( String Key, String Version Optional );Or
    TRIM ( String Key, String Version Optional )。
    9. the method according to any one of claim 1 to 7, it is characterised in that the interface command that the storage device is supported is carried on one or more of following agreement:
    NVM Express agreements, SCSI protocol, ATA agreements, SOP agreements, HTTP/REST agreements, HTTP/SOAP agreements and RPC agreements.
    10. a kind of storage device, it is characterised in that including interface, controller and storage medium:The interface includes the interface command of object key and is sent to the controller;
    The controller changes the object key to obtain the corresponding physical block address of the object key;The controller performs the interface command according to acquired physical block address to the storage medium.
    11. storage device according to claim 10, it is characterised in that the storage device also includes internal memory, the storage medium is additionally operable to store mapping table of the key with physical block address; Then the controller inquires about the mapping table according to the object key specifically for reading the internal memory with the mapping table of physical block address from the storage medium by the key in the internal memory, obtains physical block address corresponding with the object key.
    12. storage device according to claim 10, it is characterised in that the storage device also includes internal memory, the internal memory is used to store mapping table of the key with physical block address;
    Then the controller obtains physical block address corresponding with the object key specifically for inquiring about the mapping table in the internal memory according to the object key.
    13. storage device according to claim 10, it is characterised in that:
    The controller to the object key specifically for carrying out Hash operation to obtain cryptographic Hash, by address upper limit modulus of the cryptographic Hash to physical block address, so as to obtain the corresponding physical block address of the object key;Or the idle physical block of stochastic searching, it regard the physical block address of the free physical block as physical block address corresponding with the object key.
    14. the storage device according to any one of claim 10 to 13, it is characterised in that the interface command that the controller is received includes one or more of following interface command:
    Put ( String Key, String Version optional, String Value );Or
    Write ( String Key, String Version optional, String Value );Or
    Get ( String Key, String Version optional );Or
    Read ( String Key, String Version optional );Or
    Delete ( String Key, String Version Optional );Or
    TRIM ( String Key, String Version Optional )。
    15. the storage device according to any one of claim 10 to 13, it is characterised in that the storage device is one kind of following equipment:
    Mechanical hard disk HDD, solid-state hard disk SSD, free pouring-in random access storage device STT-RAM, ferroelectric memory FeRAM, phase transition storage PCM, resistor type random access access memory RRAM.
    16. the storage device according to any one of claim 10 to 13, it is characterised in that the physical interface that the storage device is supported is included with one or more of lower interface:
    SAS interfaces, SATA interface, PCI-E interface, Infiniband interfaces, Ethernet interface and USB interface.
    17th, the storage device according to any one of claim 10 to 13, it is characterised in that the interface command that the storage device is supported is carried on one or more of following agreement:
    NVM Express agreements, SCSI protocol, ATA agreements, SOP agreements, HTTP/REST associations View, HTTP/SOAP agreements and RPC agreements
CN201280002763.9A 2012-12-14 2012-12-14 Method for accessing storage device and storage device Pending CN104054071A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086667 WO2014089828A1 (en) 2012-12-14 2012-12-14 Method for accessing storage device and storage device

Publications (1)

Publication Number Publication Date
CN104054071A true CN104054071A (en) 2014-09-17

Family

ID=50933732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280002763.9A Pending CN104054071A (en) 2012-12-14 2012-12-14 Method for accessing storage device and storage device

Country Status (2)

Country Link
CN (1) CN104054071A (en)
WO (1) WO2014089828A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018966A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 A kind of memory, storage system, host and data manipulation, rubbish recovering method
CN110187826A (en) * 2018-02-22 2019-08-30 三星电子株式会社 Key-value storage device and method of operation thereof
CN111813345A (en) * 2020-07-17 2020-10-23 济南浪潮数据技术有限公司 Data transmission method, device, server and readable storage medium
CN112506814A (en) * 2020-11-17 2021-03-16 合肥康芯威存储技术有限公司 Memory, control method thereof and memory system
CN113485948A (en) * 2021-06-29 2021-10-08 成都忆芯科技有限公司 NVM bad block management method and control unit
CN114265958A (en) * 2022-03-01 2022-04-01 南京得瑞芯存科技有限公司 Mapping management method and device of KV SSD and storage medium
CN114465770A (en) * 2021-12-29 2022-05-10 天翼云科技有限公司 Data processing method and related device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209644B (en) 2015-12-28 2020-04-28 华为技术有限公司 A data processing method and NVMe memory
CN111752480B (en) * 2016-03-24 2025-01-24 华为技术有限公司 A data writing method, a data reading method and related equipment and system
CN108614668B (en) * 2016-12-12 2022-12-06 北京忆恒创源科技股份有限公司 KV model-based data access method and solid-state storage device
CN108614669B (en) * 2016-12-12 2023-02-17 北京忆恒创源科技股份有限公司 Key-data access method for solving hash collision and solid-state storage device
CN108614671B (en) * 2016-12-12 2023-02-28 北京忆恒创源科技股份有限公司 Key-data access method based on namespace and solid-state storage device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012846A1 (en) * 1993-11-02 1995-05-11 Paracom Corporation Apparatus for accelerating processing of transactions on computer databases
CN101901270A (en) * 2010-08-05 2010-12-01 上海酷吧信息技术有限公司 Internal memory database method supporting mass memory
CN102043852A (en) * 2010-12-22 2011-05-04 东北大学 Path information based extensible markup language (XML) ancestor-descendant indexing method
CN102521228A (en) * 2011-11-01 2012-06-27 浙江省电力试验研究院 Key value mapping method for linear data table
CN102737127A (en) * 2012-06-20 2012-10-17 厦门聚海源物联网络技术有限公司 Massive data storage method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012846A1 (en) * 1993-11-02 1995-05-11 Paracom Corporation Apparatus for accelerating processing of transactions on computer databases
CN101901270A (en) * 2010-08-05 2010-12-01 上海酷吧信息技术有限公司 Internal memory database method supporting mass memory
CN102043852A (en) * 2010-12-22 2011-05-04 东北大学 Path information based extensible markup language (XML) ancestor-descendant indexing method
CN102521228A (en) * 2011-11-01 2012-06-27 浙江省电力试验研究院 Key value mapping method for linear data table
CN102737127A (en) * 2012-06-20 2012-10-17 厦门聚海源物联网络技术有限公司 Massive data storage method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018966A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 A kind of memory, storage system, host and data manipulation, rubbish recovering method
CN110187826A (en) * 2018-02-22 2019-08-30 三星电子株式会社 Key-value storage device and method of operation thereof
US12001413B2 (en) 2018-02-22 2024-06-04 Samsung Electronics Co., Ltd. Key-value storage device and operating method thereof
US12019602B2 (en) 2018-02-22 2024-06-25 Samsung Electronics Co., Ltd. Key-value storage device and operating method thereof
CN111813345A (en) * 2020-07-17 2020-10-23 济南浪潮数据技术有限公司 Data transmission method, device, server and readable storage medium
CN112506814A (en) * 2020-11-17 2021-03-16 合肥康芯威存储技术有限公司 Memory, control method thereof and memory system
CN112506814B (en) * 2020-11-17 2024-03-22 合肥康芯威存储技术有限公司 Memory, control method thereof and memory system
CN113485948A (en) * 2021-06-29 2021-10-08 成都忆芯科技有限公司 NVM bad block management method and control unit
CN113485948B (en) * 2021-06-29 2023-11-14 成都忆芯科技有限公司 NVM bad block management method and control part
CN114465770A (en) * 2021-12-29 2022-05-10 天翼云科技有限公司 Data processing method and related device
CN114265958A (en) * 2022-03-01 2022-04-01 南京得瑞芯存科技有限公司 Mapping management method and device of KV SSD and storage medium

Also Published As

Publication number Publication date
WO2014089828A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
CN104054071A (en) Method for accessing storage device and storage device
US10761758B2 (en) Data aware deduplication object storage (DADOS)
JP7053682B2 (en) Database tenant migration system and method
CN103345472B (en) Deduplication File System Based on Finite Binary Tree Bloom Filter and Its Construction Method
US9239691B2 (en) System and method for distributed computing in non-volatile memory
US9021189B2 (en) System and method for performing efficient processing of data stored in a storage node
US10242050B2 (en) Database caching in a database system
US9092321B2 (en) System and method for performing efficient searches and queries in a storage node
CN103812939B (en) Big data storage system
US9311252B2 (en) Hierarchical storage for LSM-based NoSQL stores
CN105718217B (en) A kind of method and device of simplify configuration storage pool data sign processing
US20160203135A1 (en) In-memory latch-free index structure
CN109558084B (en) A data processing method and related equipment
US10216418B2 (en) Storage apparatus and method for autonomous space compaction
CN105493043A (en) System and method for virtual machine conversion
CN103139300A (en) Virtual machine image management optimization method based on data de-duplication
CN106354805A (en) Optimization method and system for searching and caching distribution storage system NoSQL
CN106570113B (en) Mass vector slice data cloud storage method and system
CN106406759A (en) Data storage method and device
US9336135B1 (en) Systems and methods for performing search and complex pattern matching in a solid state drive
CN109933564A (en) File system management method, device, terminal and medium for fast rollback based on linked list and N-ary tree structure
KR20170085951A (en) Versioning storage devices and methods
WO2015024406A1 (en) Data file management method and device
CN113535670A (en) Virtual resource mirror image storage system and implementation method thereof
WO2022121274A1 (en) Metadata management method and apparatus in storage system, and storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140917