CN108628760A - The method and apparatus of atom write order - Google Patents

The method and apparatus of atom write order Download PDF

Info

Publication number
CN108628760A
CN108628760A CN201710158505.4A CN201710158505A CN108628760A CN 108628760 A CN108628760 A CN 108628760A CN 201710158505 A CN201710158505 A CN 201710158505A CN 108628760 A CN108628760 A CN 108628760A
Authority
CN
China
Prior art keywords
subcommand
logical address
atom
lock
write order
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
CN201710158505.4A
Other languages
Chinese (zh)
Other versions
CN108628760B (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 Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze 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 Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN201710158505.4A priority Critical patent/CN108628760B/en
Publication of CN108628760A publication Critical patent/CN108628760A/en
Application granted granted Critical
Publication of CN108628760B publication Critical patent/CN108628760B/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Abstract

This application provides the execution method and apparatus of atom write order.The atom write order provided includes multiple subcommands, and this method includes:Multiple subcommands are sorted according to each subcommand logical address to be accessed;The the first most preceding subcommand that sorts in multiple subcommands not processed in the multiple subcommand is obtained, the first logical address to be accessed according to the first subcommand, a pair FTL list items corresponding with first logical address lock;If a pair FTL list items corresponding with first logical address lock successfully, then next subcommand is obtained according to the sequence of subcommand, according to next subcommand the second logical address to be accessed, pair corresponding with second logical address FTL list items lock, until the corresponding FTL list items of each subcommand logical address to be accessed of all subcommands to belonging to the atom write order lock it is successful.

Description

The method and apparatus of atom write order
Technical field
This application involves technical field of memory more particularly to the method and apparatus of atom write order.
Background technology
Fig. 1 illustrates the block diagram of storage device.Storage device 102 is coupled with host, for providing storage energy for host Power.Host can be coupled in several ways between storage device 102, and coupled modes include but not limited to for example, by SATA (Serial Advanced Technology Attachment, Serial Advanced Technology Attachment), SCSI (Small Computer System Interface, small computer system interface), SAS (Serial Attached SCSI, Serial Attached SCSI (SAS)), (Universal Serial Bus lead to by IDE (Integrated Drive Electronics, integrated drive electronics), USB With universal serial bus), PCIE (Peripheral Component Interconnect Express, PCIe, peripheral component Interconnection), NVMe (NVM Express, high speed non-volatile memory), Ethernet, optical-fibre channel, the connection host such as cordless communication network With solid storage device 102.Host can be the information processing equipment that can be communicated through the above way with storage device, example Such as, personal computer, tablet computer, server, portable computer, the network switch, router, cellular phone, a number Word assistant etc..Storage device 102 includes interface 103, control unit 104, one or more NVM chips 105 and DRAM (Dynamic Random Access Memory, dynamic RAM) 110.
Wherein, nand flash memory, phase transition storage, FeRAM (Ferroelectric RAM, ferroelectric memory), MRAM (Magnetic Random Access Memory, magnetoresistive memory), RRAM (Resistive Random Access Memory, resistance-variable storing device) etc. be common NVM (Non-Volatile Memory, nonvolatile storage).
Control unit 104 is used to control the data transmission between interface 103, NVM chips 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 array, field programmable gate array), ASIC (Application Specific Integrated Circuit, application specific integrated circuit) or a combination thereof form.Control unit 104 can also 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 tables 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 chips 105, and sent out to NVM chips 105 in a manner of following the interface protocol of NVM chips 105 Go out order, to operate NVM chips 105, and receives the command execution results exported from NVM chips 105.Known NVM chips connect Mouth agreement includes " Toggle ", " ONFI " etc..
The software and/or firmware run in control unit 104 (referred to collectively below as " firmware ") can be stored in NVM chips 105 or other firmware memory in.When solid storage device 102 powers on, from firmware memory by firmware loads to In memory inside DRAM110 and/or control unit 104.Optionally, it receives and loads by interface 103 or debugging interface Firmware.
NVMe specifications (http://nvmexpress.org/wp-content/uploads/NVM_Express_1_2_ 1_Gold_20160603.pdf) defined in atomic operation (Atomic Operation).Atomic operation includes atomic write life It enables.To execute atom write order, solid storage device ensures to refer to the data shown in atom write order or is all written to solid-state It in storage device or is all not written in solid storage device, without having other Proper Motions.When existing simultaneously to identical Or the identical address in part write-in data two or more atom write orders when, the implementing results of these atom write orders be as It is serially executed with these atomic write orders.
For example, referring to table 1, atom write order A is written to logical address (Logic Block Address, LBA) LBA0-3 Data, atom write order B is to logical address LBA1-4 write-ins data (with " A " instruction by the number of atom write order A write-ins in table 1 According to, and by " B " instruction by the data of atom write order B write-ins).2nd row of following table and the 3rd row show order A and order B's Correct implementing result.Referring to table 1, it is that write order A is written that a kind of possible result, which is LBA 0-3 (as shown in the 2nd row of following table), Data, and LBA 4 is the data that write order B is written, and in other words, write order B first comes into force, and has updated LBA to atomicity 1-4, following write order A come into force, but atomicity have updated LBA 0-3.Alternatively possible result is (such as the 3rd row institute of following table Show) be LBA 0 it is the data that write order A is written, and LBA 2-4 are the data that write order B is written, and in other words, write life Enable A first come into force, have updated to atomicity LBA 0-3, following write order B comes into force, and atomicity have updated LBA 1-4.It removes Two kinds above-mentioned as a result, other any results do not comply with requirement of the NVMe specifications to atom write order.
Table 1
LBA 0 LBA 1 LBA 2 LBA 3 LBA 4 LBA 5 LBA 6
Effective result A A A A B
Effective result A B B B B
Null result A A B B B
Invention content
In view of this, the application provides a kind of execution method and apparatus of atom write order.
According to the first aspect of the invention, the first atom write order side of execution according to a first aspect of the present invention is provided Method, including:Atom write order is received from host;Obtain the atom write order logical address to be accessed;Atom write order will access Logical address, pair corresponding with a logical address FTL list items lock;If locking successfully, atom write order is handled.
The first atomic write command executing method according to the first aspect of the invention, provides according to a first aspect of the present invention The second atomic write command executing method, further include:If locking failure, suspend processing to atom write order, until lock at Work(.
First or second atomic write command executing method according to the first aspect of the invention is provided according to the present invention the The third atomic write command executing method of one side, wherein the processing to atom write order includes:For atom write order allotment Manage address;The corresponding data of atom write order are written in distributed physical address;And to be accessed atom write order Logical address is recorded in the physical address distributed in the FTL list items being locked.
The first, second or third atomic write command executing method according to the first aspect of the invention is provided according to this 4th atomic write command executing method of invention first aspect further includes:Atom write order is split into multiple subcommands, wherein The range for the logical address that each subcommand is accessed is no more than the ranges of logical addresses indicated by a FTL list item.
According to the second aspect of the invention, the first atom write order side of execution according to a second aspect of the present invention is provided Method, wherein atom write order include multiple subcommands, and this method includes:Multiple subcommands are patrolled according to what each subcommand to be accessed Collect address sort;Obtain the first most preceding subcommand that sorts in multiple subcommands not processed in the multiple subcommand, root The first logical address to be accessed according to the first subcommand, a pair FTL list items corresponding with first logical address lock;If pair with should The corresponding FTL list items of first logical address lock successfully, then obtain next subcommand according to the sequence of subcommand, next according to this Subcommand the second logical address to be accessed, a pair FTL list items corresponding with second logical address lock, until to belonging to this The corresponding FTL list items of each subcommand logical address to be accessed of all subcommands of atom write order lock successful.
The first atomic write command executing method according to the second aspect of the invention, provides according to a second aspect of the present invention The second atomic write command executing method, further include:If a pair FTL list items corresponding with first logical address lock failure, temporarily Stop the execution to the atom write order, until a pair FTL list items corresponding with first logical address lock successfully.
The second atomic write command executing method according to the second aspect of the invention, provides according to a second aspect of the present invention Third atomic write command executing method, until a pair FTL list items corresponding with first logical address lock successfully, just according to son The sequence of order obtains next subcommand.
Second according to the second aspect of the invention or third atomic write command executing method are provided according to the present invention the 4th atomic write command executing method of two aspects, wherein if FTL list items have been locked, next the FTL list items are added Lock can fail.
The first to one of 4th atomic write command executing method according to the second aspect of the invention, provides according to this hair 5th atomic write command executing method of bright second aspect, wherein if FTL list items are not locked, next to the FTL list items Locking can succeed.
The first to one of 5th atomic write command executing method according to the second aspect of the invention, provides according to this hair 6th atomic write command executing method of bright second aspect further includes:In response to a couple FTL corresponding with the logical address of subcommand List item locks successfully, handles the subcommand.
The first to one of 5th atomic write command executing method according to the second aspect of the invention, provides according to this hair 7th atomic write command executing method of bright second aspect further includes:In response to all sub- lives pair with the atom write order The corresponding FTL list items of logical address of order all lock success, just handle the corresponding subcommand of the atom write order.
The first to one of 7th atomic write command executing method according to the second aspect of the invention, provides according to this hair 8th atomic write command executing method of bright second aspect further includes:The second atom write order is received from host;By the second atom Write order splits into a subcommand more than second;More than second a subcommands are arranged according to each subcommand logical address to be accessed Sequence;And obtain the third subcommand for sorting most preceding in multiple subcommands not processed in more than second a subcommand, root The third logical address to be accessed according to third subcommand, a pair FTL list items corresponding with the third logical address lock;If pair with should The corresponding FTL list items of third logical address lock successfully, then obtain next subcommand according to the sequence of subcommand, next according to this Subcommand the 4th logical address to be accessed, pair corresponding with a 4th logical address FTL list items lock, until to belonging to the The corresponding FTL list items of each subcommand logical addresses to be accessed of all subcommands of two atom write orders lock at Work(.
The first to one of 8th atomic write command executing method according to the second aspect of the invention, provides according to this hair 9th atomic write command executing method of bright second aspect will belong to multiple subcommands of the atom write order logically The ascending sort of location numerical value, alternatively, the logically descending sort of address value.
The first to one of 9th atomic write command executing method according to the second aspect of the invention, provides according to this hair Tenth atomic write command executing method of bright second aspect further includes:In response to belonging to all sub- lives of the atom write order Processing is enabled to complete, just the lock of release corresponding FTL list items with all subcommands of the atom write order.
The 6th to one of tenth atomic write command executing method according to the second aspect of the invention, provides according to this hair 11st atomic write command executing method of bright second aspect, wherein processing subcommand, including:Physically for subcommand distribution Location;The corresponding data of subcommand are written in distributed physical address;And the logical address to be accessed subcommand and institute The physical address of distribution is recorded in the FTL list items being locked.
According to the third aspect of the invention we, it is proposed that the first atomic commands according to a third aspect of the present invention execute method, Including:Atom read command is received from host;Obtain the atom read command logical address to be accessed;It to be accessed according to atom read command Logical address, pair corresponding with a logical address FTL list items lock;If locking successfully, atom read command is handled.
The first atomic commands according to the third aspect of the invention we execute method, it is proposed that according to a third aspect of the present invention Second atomic commands execute method, further include:If locking failure, suspend the processing to atom read command, until locking successfully.
First or second atomic commands according to the third aspect of the invention we execute method, it is proposed that according to third of the present invention The third atomic commands of aspect execute method, wherein the processing to atom read command includes:It is obtained physically from FTL list items Location;And read data from acquired physical address.
The first, second or third atomic commands according to the third aspect of the invention we execute method, it is proposed that according to this hair 4th atomic commands of the bright third aspect execute method, further include:Atom read command is split into multiple subcommands, wherein each The range for the logical address that subcommand is accessed is no more than the ranges of logical addresses indicated by a FTL list item.
According to the fourth aspect of the invention, the first atom read command side of execution according to the fourth aspect of the invention is provided Method, including:Multiple subcommands are sorted according to each subcommand logical address to be accessed;Obtain in the multiple subcommand not by Sort the first most preceding subcommand in multiple subcommands of processing, and the first logical address to be accessed according to the first subcommand is right FTL list items corresponding with first logical address lock;If a pair FTL list items corresponding with first logical address lock successfully, Then obtain next subcommand according to the sequence of subcommand, according to next subcommand the second logical address to be accessed, pair with should The corresponding FTL list items of second logical address lock, until every height of all subcommands to belonging to the atom read command is ordered The corresponding FTL list items of the logical address to be accessed are enabled to lock successful.
The first atom read command according to the fourth aspect of the invention executes method, provides four directions according to the present invention The second atom read command in face executes method, further includes:If a pair FTL list items corresponding with first logical address lock failure, Suspend the execution to the atom read command, until a pair FTL list items corresponding with first logical address lock successfully.
The second atom read command according to the fourth aspect of the invention executes method, provides four directions according to the present invention The third atom read command in face executes method, until a pair FTL list items corresponding with first logical address lock successfully, just according to The sequence of subcommand obtains next subcommand.
Second or third atom read command according to the fourth aspect of the invention executes method, provides according to the present invention 4th atom read command of fourth aspect executes method, wherein if FTL list items have been locked, next to the FTL list items Locking can fail.
The first to one of 4th atom read command according to the fourth aspect of the invention executes method, provides according to this hair 5th atom read command of bright fourth aspect executes method, wherein if FTL list items are not locked, next to the FTL tables The locking of item can succeed.
The first to one of 5th atom read command according to the fourth aspect of the invention executes method, provides according to this hair 6th atom read command of bright fourth aspect executes method, further includes:It is corresponding with the logical address of subcommand in response to pair FTL list items lock successfully, handle the subcommand.
The first to one of 5th atom read command according to the fourth aspect of the invention executes method, provides according to this hair 7th atom read command of bright fourth aspect executes method, further includes:In response to all sons pair with the atom read command The corresponding FTL list items of logical address of order all lock success, just handle the corresponding subcommand of the atom read command.
The first to one of 7th atom read command according to the fourth aspect of the invention executes method, provides according to this hair 8th atom read command of bright fourth aspect executes method, further includes:The second atom read command is received from host;By the second original Sub- read command splits into a subcommand more than second;More than second a subcommands are carried out according to each subcommand logical address to be accessed Sequence;And the third subcommand for sorting most preceding in multiple subcommands not processed in more than second a subcommand is obtained, The third logical address to be accessed according to third subcommand, a pair FTL list items corresponding with the third logical address lock;If pair with The corresponding FTL list items of the third logical address lock successfully, then next subcommand are obtained according to the sequence of subcommand, according under this One subcommand the 4th logical address to be accessed, a pair FTL list items corresponding with the 4th logical address lock, until to belonging to The corresponding FTL list items of each subcommand logical addresses to be accessed of all subcommands of second atom read command lock at Work(.
The first to one of 8th atom read command according to the fourth aspect of the invention executes method, provides according to this hair 9th atom read command of bright fourth aspect executes method, will belong to multiple subcommands of the atom read command logically The ascending sort of address value, alternatively, the logically descending sort of address value.
The first to one of 9th atom read command according to the fourth aspect of the invention executes method, provides according to this hair Tenth atom read command of bright fourth aspect executes method, further includes:In response to belonging to all sons of the atom read command Order processing is completed, just the lock of release corresponding FTL list items with all subcommands of the atom read command.
The 6th to one of tenth atom read command according to the fourth aspect of the invention executes method, provides according to this hair 11st atom read command of bright fourth aspect executes method, wherein processing subcommand, including:From the logic with subcommand Physical address is obtained in the corresponding FTL list items in address;And read data from acquired physical address.
According to the fifth aspect of the invention, the first atomic commands provided according to a fifth aspect of the present invention execute method, Including:The first subcommand is received from host, obtains the first subcommand the first logical address to be accessed, and obtains the first son life Enable the sequence in not processed multiple subcommands in the atomic commands belonging to it;If original of first subcommand belonging to it Before sorting most in not processed multiple subcommands in subcommand, then according to the first subcommand to be accessed first logically Location, a pair FTL list items corresponding with first logical address lock.
The first atomic commands according to the fifth aspect of the invention execute method, provide according to a fifth aspect of the present invention Second atomic commands execute method, wherein the type of atomic commands includes atom write order and atom read command.
First or second atomic commands according to the fifth aspect of the invention execute method, provide according to the present invention the 5th The third atomic commands of aspect execute method, further include:If not processed in atomic commands of first subcommand belonging to it Multiple subcommands in sequence be not most before, then processing of the pause to the first subcommand.
First or second atomic commands according to the fifth aspect of the invention execute method, provide according to the present invention the 5th 4th atomic commands of aspect execute method, further include:If pair corresponding with the first logical address that first subcommand to be accessed FTL list items lock successfully, handle first subcommand.
The first to one of 4th atomic commands according to the fifth aspect of the invention execute method, provide according to the present invention 5th atomic commands of the 5th aspect execute method, further include:For all sons in the atomic commands belonging to the first subcommand Order, it is successful until being locked to the corresponding FTL list items of each subcommand logical address to be accessed in all subcommands, The just lock of release corresponding FTL list items with all subcommands.
According to the sixth aspect of the invention, the first atomic commands provided according to a sixth aspect of the present invention execute method, The wherein described atomic commands include multiple subcommands, and this method includes:The type of atomic commands is determined, if the type of atomic commands For atom read command, and the atom read command needs to meet general atomicity, and multiple subcommands will be accessed according to each subcommand Logical address sequence;Obtain the first most preceding son life that sorts in multiple subcommands not processed in the multiple subcommand It enables, the first logical address to be accessed according to the first subcommand, a pair FTL list items corresponding with first logical address lock;If Pair FTL list items corresponding with first logical address lock successfully, then obtain next subcommand according to the sequence of subcommand, according to Next subcommand the second logical address to be accessed, a pair FTL list items corresponding with second logical address lock, until to same The corresponding FTL list items of each subcommand logical address to be accessed for belonging to all subcommands of the atom read command lock Success.
The first atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to a sixth aspect of the present invention the Two atomic commands execute method, further include:If a pair FTL list items corresponding with first logical address lock failure, suspend to institute The execution for stating atom read command, until a pair FTL list items corresponding with first logical address lock successfully.
The second atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to a sixth aspect of the present invention the Three atomic commands execute method, until a pair FTL list items corresponding with first logical address lock successfully, just according to subcommand Sequence obtains next subcommand.
The first, second or third atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention 4th atomic commands of the 6th aspect execute method, further include:In response to a pair FTL list items corresponding with the logical address of subcommand It locks successfully, handles the subcommand.
The first to one of 4th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention the 5th atomic commands of six aspects execute method, further include:All subcommands in response to belonging to the atom read command are located Reason is completed, just the lock of release corresponding FTL list items with all subcommands of the atom read command.
The first to one of 5th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention the 6th atomic commands of six aspects execute method, further include:If the atom read command need not meet general atomicity, processing is every A subcommand, and the locking result and/or handling result for other subcommands need not be relied on.
The 4th to one of 6th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention the 7th atomic commands of six aspects execute method, wherein processing subcommand, including:From corresponding with the logical address of subcommand Physical address is obtained in FTL list items;And read data from acquired physical address.
The first to one of 7th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention the 8th atomic commands of six aspects execute method, further include:If the type of atomic commands is atom write order, and the atomic write is ordered Order needs to meet general atomicity or power down atomicity, then arranges multiple subcommands according to each subcommand logical address to be accessed Sequence;The the first most preceding subcommand that sorts in multiple subcommands not processed in the multiple subcommand is obtained, according to the first son The first logical address to be accessed is ordered, a pair FTL list items corresponding with first logical address lock;If pair with first logic The corresponding FTL list items in address lock successfully, then obtain next subcommand according to the sequence of subcommand, wanted according to next subcommand The second logical address accessed, a pair FTL list items corresponding with second logical address lock, until to belonging to atomic write life The corresponding FTL list items of each subcommand logical address to be accessed of all subcommands enabled lock successful.
The 8th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to a sixth aspect of the present invention the Nine atomic commands execute method, further include:If a pair FTL list items corresponding with first logical address lock failure, suspend to institute The execution for stating atom write order, until a pair FTL list items corresponding with first logical address lock successfully.
The 9th atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to a sixth aspect of the present invention the Ten atomic commands execute method, until a pair FTL list items corresponding with first logical address lock successfully, just according to subcommand Sequence obtains next subcommand.
The 8th to one of tenth atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention the 11st atomic commands of six aspects execute method, further include:In response to a pair FTL list items corresponding with the logical address of subcommand It locks successfully, handles the subcommand.
The 8th to one of 11st atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention The twelve source acupoint subcommand of 6th aspect executes method, further includes:In response to belonging to all subcommands of the atom write order Processing is completed, just the lock of release corresponding FTL list items with all subcommands of the atom write order.
The 8th to one of 12nd atomic commands according to a sixth aspect of the present invention execute method, it is proposed that according to the present invention 13rd atomic commands of the 6th aspect execute method, further include:If the atom write order need not meet general atomicity or Power down atomicity handles each subcommand, and need not rely on the locking result and/or handling result for other subcommands.
According to the seventh aspect of the invention, the first atom write order provided according to a seventh aspect of the present invention executes dress It sets, including:Order receiver module, for receiving atom write order from host;Logical address acquisition module, for obtaining atomic write Order the logical address to be accessed;Module is locked, for according to the atom write order logical address to be accessed, logically pair with this The corresponding FTL list items in location lock;If command processing module is handled atom write order for locking successfully.
According to the eighth aspect of the invention, the first atom write order provided according to a eighth aspect of the present invention executes dress It sets, wherein the atomic write order includes multiple subcommands, which includes:Subcommand sorting module is used for multiple sub- lives It enables and sorting according to each subcommand logical address to be accessed;Subcommand acquisition module, for obtaining in the multiple subcommand not Sort the first most preceding subcommand in processed multiple subcommands;Module is locked, for what is accessed according to the first subcommand First logical address, a pair FTL list items corresponding with first logical address lock;Subcommand acquisition module, if be additionally operable to pair with The corresponding FTL list items of first logical address lock successfully, then obtain next subcommand according to the sequence of subcommand;And it locks Module is additionally operable to the second logical address to be accessed according to next subcommand, pair FTL tables corresponding with second logical address Item locks, until each subcommand logical address to be accessed of all subcommands to belonging to the atom write order is corresponding FTL list items lock it is successful.
According to the ninth aspect of the invention, the first atomic commands executive device according to a ninth aspect of the present invention is provided, Including:Order receiver module, for receiving atom read command from host;Logical address acquisition module reads life for obtaining atom Enable the logical address to be accessed;Lock module, for according to the atom read command logical address to be accessed, pair with the logical address Corresponding FTL list items lock;Command processing module, for handling atom read command.
According to the tenth aspect of the invention, the first atom read command provided according to a tenth aspect of the present invention executes dress It sets, wherein the atom read command includes multiple subcommands, which is characterized in that including:Subcommand sorting module, being used for will be multiple Subcommand is ranked up according to each subcommand logical address to be accessed;Subcommand acquisition module, for obtaining the multiple son Sort in order in not processed multiple subcommands the first most preceding subcommand;Module is locked, is additionally operable to be ordered according to the first son The first logical address to be accessed is enabled, a pair FTL list items corresponding with first logical address lock;If first logically pair with this The corresponding FTL list items in location lock successfully, then subcommand acquisition module, are additionally operable to obtain next sub- life according to the sequence of subcommand It enables;Module is locked, the second logical address to be accessed according to next subcommand is additionally operable to, it is pair corresponding with second logical address FTL list items lock, until all subcommands for belonging to the atom read command, to same each subcommand logic to be accessed The corresponding FTL list items in address lock processing and complete.
According to the eleventh aspect of the invention, it provides and executes dress according to the first atomic commands of the tenth one side of the invention It sets, including:Order receiver module, for receiving the first subcommand from host;Logical address acquisition module, for obtaining the first son Order the first logical address to be accessed;And subcommand sorts acquisition module, for obtaining first subcommand belonging to it The sequence in not processed multiple subcommands in atomic commands;If in atomic commands of first subcommand belonging to it not Before sorting most in processed multiple subcommands, then module is locked, first for be accessed according to the first subcommand is logically Location, a pair FTL list items corresponding with first logical address lock.
According to the twelfth aspect of the invention, it provides and executes dress according to the first atomic commands of the twelfth aspect of the present invention It sets, wherein the atomic commands include multiple subcommands, which is characterized in that including:Atomic commands determination type module, for true Determine the type of atomic commands;Logical address sorting module, if the type for atomic commands is atom read command, and the atom is read Order needs to meet general atomicity, and multiple subcommands are sorted according to each subcommand logical address to be accessed;Subcommand obtains Modulus block, for obtaining the first most preceding subcommand that sorts in multiple subcommands not processed in the multiple subcommand;Add Lock module, for the first logical address to be accessed according to the first subcommand, pair FTL list items corresponding with first logical address It locks;Subcommand acquisition module locks successfully if being additionally operable to a pair FTL list items corresponding with first logical address, according to son The sequence of order obtains next subcommand;Module is locked, it is right for the second logical address to be accessed according to next subcommand FTL list items corresponding with second logical address lock, until each of all subcommands to belonging to the atom read command The corresponding FTL list items of the subcommand logical address to be accessed lock successful.
According to the thirteenth aspect of the invention, the first solid storage device according to the 13rd aspect of the present invention is provided, Including control unit and the memory outside control unit, control unit includes flash interface and at least one CPU, and CPU is logical The NVM chips in flash interface access solid storage device are crossed, FTL tables, FTL tables are stored in the memory outside control unit Including multiple list items, CPU is for executing according to the first aspect of the invention or the method for second aspect.
According to the fourteenth aspect of the invention, the first solid storage device according to fourteenth aspect of the present invention is provided, Including control unit and the memory outside control unit, control unit includes flash interface and at least one CPU, and CPU is logical The NVM chips in flash interface access solid storage device are crossed, FTL tables, FTL tables are stored in the memory outside control unit Including multiple list items, CPU is used to receive atom read command from host;Obtain the atom read command logical address to be accessed;Foundation The atom read command logical address to be accessed, a pair FTL list items corresponding with the logical address lock;If locking successfully, to atom Read command is handled.
According to the fifteenth aspect of the invention, the first solid storage device according to the fifteenth aspect of the present invention is provided, Including control unit and the memory outside control unit, control unit includes flash interface and at least one CPU, and CPU is logical The NVM chips in flash interface access solid storage device are crossed, FTL tables, FTL tables are stored in the memory outside control unit Including multiple list items, which is characterized in that CPU for execute according to the third aspect of the invention we, fourth aspect, the 5th aspect or the The method of six aspects.
According to the sixteenth aspect of the invention, a kind of program including program code is provided, is set when being loaded into solid-state storage Standby and when being executed on solid storage device, said program code makes the solid storage device execute according to first party of the present invention The atomic write command executing method in face.
According to the seventeenth aspect of the invention, a kind of program including program code is provided, is set when being loaded into solid-state storage Standby and when being executed on solid storage device, said program code makes the solid storage device execute according to second party of the present invention The atomic write command executing method in face.
According to the eighteenth aspect of the invention, a kind of program including program code is provided, is set when being loaded into solid-state storage Standby and when being executed on solid storage device, said program code makes the solid storage device execute according to third party of the present invention The atomic commands in face execute method.
According to the nineteenth aspect of the invention, a kind of program including program code is provided, is set when being loaded into solid-state storage Standby and when being executed on solid storage device, said program code makes the solid storage device execute according to present invention four directions The atom read command in face executes method.
According to a twentieth aspect of the invention, a kind of program including program code is provided, is set when being loaded into solid-state storage Standby and when being executed on solid storage device, said program code makes the solid storage device execute according to present invention four directions The execution method of the atomic commands in face.
According to the twenty-first aspect of the invention, a kind of program including program code is provided, when being loaded into solid-state storage Equipment and when being executed on solid storage device, said program code make the solid storage device execute according to the present invention the 4th The atomic commands of aspect execute method.
Description of the drawings
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, embodiment will be described below Needed in attached drawing be briefly described, it should be apparent that, the accompanying drawings in the following description be only the present invention some Embodiment for those of ordinary skill in the art without creative efforts, can also be attached according to these Figure obtains other attached drawings.
Fig. 1 is the block diagram of the storage device of the prior art;
Fig. 2 is that the control unit of the prior art accesses the schematic diagram of FTL tables;
Fig. 3 is the schematic diagram according to the I/O command and IO subcommands of the embodiment of the present invention;
Fig. 4 is the flow chart according to the processing atom write order of the embodiment of the present invention;
Fig. 5 is the schematic diagram according to the atomic commands of the embodiment of the present invention;
Fig. 6 is the schematic diagram of a FTL table during the atomic commands according to processing Fig. 5 of the embodiment of the present invention;
Fig. 7 is the schematic diagram of the another FTL tables during the atomic commands according to processing Fig. 5 of the embodiment of the present invention;
Fig. 8 is the schematic diagram according to the atomic commands of further embodiment of this invention;
Fig. 9 is the schematic diagram of a FTL table during the atomic commands according to processing Fig. 8 of the embodiment of the present invention;
Figure 10 is the schematic diagram of the another FTL tables during the atomic commands according to processing Fig. 8 of the embodiment of the present invention;
Figure 11 is the schematic diagram of the another FTL tables during the atomic commands according to processing Fig. 8 of the embodiment of the present invention;
Figure 12 is the flow chart according to the processing atom read command of the embodiment of the present invention.
Figure 13 is the flow chart according to the processing atomic commands of the embodiment of the present invention;
Figure 14 is the schematic diagram according to the atomic commands of further embodiment of this invention;
Figure 15 is the schematic diagram of a FTL table during the atomic commands according to processing Figure 14 of the embodiment of the present invention;
Figure 16 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 14 of the embodiment of the present invention;
Figure 17 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 14 of the embodiment of the present invention;
Figure 18 is the schematic diagram according to the atomic commands of further embodiment of this invention;
Figure 19 is the schematic diagram of a FTL table during the atomic commands according to processing Figure 18 of the embodiment of the present invention;
Figure 20 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 18 of the embodiment of the present invention;
Figure 21 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 18 of the embodiment of the present invention;
Figure 22 is the schematic diagram according to the atomic commands of further embodiment of this invention;
Figure 23 is the schematic diagram of a FTL table during the atomic commands according to processing Figure 22 of the embodiment of the present invention;
Figure 24 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 22 of the embodiment of the present invention;
Figure 25 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 22 of the embodiment of the present invention;
Figure 26 is the schematic diagram of the another FTL tables during the atomic commands according to processing Figure 22 of the embodiment of the present invention.
Specific implementation mode
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation describes, it is clear that described embodiments are some of the embodiments of the present invention, instead of all the embodiments.Based on this hair Embodiment in bright, every other implementation obtained by those of ordinary skill in the art without making creative efforts Example, shall fall within the protection scope of the present invention.
The table structure for storing the map information from logical address to physical address is referred to as FTL tables.FTL tables are that solid-state is deposited Store up the important metadata in equipment.FTL tables have recorded the address mapping relation as unit of data page in storage device.FTL tables List item (or entry) including multiple FTL tables.
In one example, it is corresponding with Physical Page that a logical page address is had recorded in the list item of each FTL tables Relationship.As another example, the list item of each FTL tables has recorded the correspondence of logical address and physical address, and every Data corresponding to a list item are known as data frame, and the size of data frame can be 512 bytes or 4K bytes etc..
In another example, had recorded in the list item of each FTL tables continuous multiple logical page addresses with it is continuous more The correspondence of a Physical Page.In yet another embodiment, logical block address and physical block are had recorded in the list item of each FTL tables The correspondence of address.The mapping that logical block address and physical block address are recorded in still another example, in FTL tables is closed The mapping relations of system and/or logical page address and physical page address.
Table 2 illustrates illustrative FTL tables.The corresponding physical page address of logical address LBA0-LBA7 is shown in table 2, The form of physical address is " a-b ", and preceding symbol a indicates physical block address, and posterior symbol b indicates physical page address. By taking physical block 1 as an example, physical address (Physical Black Address, PBA) be " PBA 1-4 " Physical Page in store Logical address is the data of " LBA 0 ".
Table 2
LBA0 PBA 1-4
LBA1 PBA 3-6
LBA2 PBA 1-9
LBA3 PBA 1-10
LBA4 PBA 3-15
LBA5 PBA 3-13
LBA6 PBA 3-3
LBA7 PBA 1-15
Fig. 2 is that the control unit of the prior art accesses the schematic diagram of FTL tables.Control unit 204 includes multiple CPU (CPU 210, CPU 212 and CPU 214) and flash interface, the CPU of control unit pass through flash interface and access in solid storage device NVM chips.FTL tables are stored in the memory outside control unit 204, FTL tables include multiple list items (list item 220, list item 222 with list item 224).Each of multiple CPU being capable of independent access FTL tables.Since FTL list items may simultaneously be visited by multiple CPU It asks, to realize data consistency, lock is provided for each FTL list items.
Referring to Fig. 2, to update FTL list items 224, CPU 210 checks the lock 234 of FTL list items 224, in 234 instruction FTL of lock In the case that list item 224 is not locked, CPU 210 obtains lock 234 (for example, setting lock 234 to locking state), and obtains FTL list items 224 (t1 moment).Next, CPU 210 operates the FTL list items 224 of acquisition, and FTL is updated at the t4 moment List item 224, and will 234 release of lock (for example, setting lock 234 to unlocked state).During the t1-t4 moment, other CPU (CPU 212 and CPU 214) retrieves the presence of lock 234, and temporarily abandons the access to FTL list items 224.In fig. 2, when t2 It carves, CPU 212 attempts to access FTL list items 224, but finds that lock 234 can not be obtained, in being to give up the access to FTL list items 224. Similarly, CPU214 is also due to can not obtain lock 234 and abandon the access at the t3 moment to FTL list items 224.And in t4 it Afterwards, that CPU that lock 234 is got in the releases of CPU 210 lock 234, CPU 212 and CPU 214, will access FTL list items 234. In another example, within the t1-t4 periods, a task of CPU 210 obtains lock 234, and another in CPU 210 Business also temporarily abandons the access to FTL list items 224 due to there is no lock 234.
The lock of FTL list items can be stored in the same position of corresponding FTL list items, or will in other memory space The lock of multiple FTL list items is centrally stored.
Ranges of logical addresses corresponding to FTL list items presses specified aligned in position (for example, being aligned by 4KB, starting point Location is located at the integral multiple address of 4KB, for example, 0,4KB, 8KB).As an example, with the logical address model corresponding to FTL list items Address of the first address enclosed as the FTL list items.
It is to be appreciated that even if control unit 204 only includes single CPU, to multiple I/O commands and/or I/O command When multiple subcommand parallel processings, lock can also be used to ensure data consistency.
According to an embodiment of the invention, solid storage device receives I/O command from host.I/O command may indicate that it is atom Operation.
In some cases, the ranges of logical addresses that I/O command accesses is less than the range indicated by FTL list items.For example, FTL List item indicates the range of 4KB logical addresses, and data are written in 2KB of the I/O command into the 4KB ranges.Access a FTL list item The I/O command can be responded.In still other situations, the ranges of logical addresses (for example, 128KB) that I/O command accesses is more than FTL tables I/O command is split as multiple subcommands, each subcommand is visited by the ranges of logical addresses (for example, 4KB) of item in the case The ranges of logical addresses asked is no more than the ranges of logical addresses of a FTL list item.To handle each subcommand, according to subcommand Logical address accesses corresponding FTL list items.
Fig. 3 illustrates the schematic diagram of I/O command according to the ... of the embodiment of the present invention and IO subcommands.As an example, I/O command 310 access the logical address space of 1KB-10KB, and each FTL list items correspond to 4KB address spaces.It, will to handle I/O command 310 I/O command 310 splits into subcommand 312, subcommand 314 and subcommand 316.The size that subcommand 312 accesses 1KB-3KB is 3KB Ranges of logical addresses, the ranges of logical addresses that the size that subcommand 314 accesses 4KB-7KB is 4KB, subcommand 316 access 8KB- The size of 10KB is the address range of 3KB.The range for the logical address that each subcommand accesses is no more than patrolling for FTL list item Collect address range.
Optionally, the logical address space corresponding to I/O command is without continuous and subcommand logical address space Without continuous.
Embodiment one
Fig. 4 is the flow chart of according to embodiments of the present invention one processing atom write order.Include multiple subcommands for processing Atom write order, the same multiple subcommands of atom write order will be belonged to, by subcommand access logical address value sort (401).It is handled in a most preceding subcommand sorting every time, after processing is completed, by not processed multiple sub- lives The sequence of the logical address of order handles next subcommand.
When handling a subcommand, according to the logical address that subcommand accesses, ask to be corresponding with the logical address FTL list items lock (402).To be locked, when the lock of FTL list items indicates that the list item has been locked, locking operation failure.And If the lock of FTL list items indicates that the list item is not locked, locking operation will succeed, and the lock of FTL list items is arranged to be added Lock status.If locking operation is unsuccessful, can again or make repeated attempts to FTL list items lock, until locking operation success.Adding Before lock operates successfully, which is not handled, also not to the sequence of the atom write order after the subcommand Other subcommands are handled.
In response to locking successfully, subcommand is handled, for example, being subcommand allocated physical address, by subcommand pair The data answered are written distributed physical address, and by the logical address of subcommand and the physical address distributed be recorded in by In the FTL list items of locking (403).Optionally, solid storage device ensures after locking successfully, will be held to the processing of subcommand Row is completed.Even if the anomalous events such as power down occur in subcommand processing procedure, by using stand-by power supply, solid storage device Still ensure that subcommand processing is performed completion.
Next, it is determined whether being the corresponding FTL list items of all subcommands all lockings of the atom write order (404).If not locking all, according to the sequence of the logical address of not processed multiple subcommands, next height life is handled It enables (402).If the corresponding FTL list items of all subcommands of the atom write order are all locked, can continue to complete to this The processing (405) of a little multiple subcommands.Until all subcommands of atom write order all handle completion, release is the same as these all sons Order the lock of corresponding FTL list items so that the lock of corresponding FTL list items indicates that the list item is not locked with these all subcommands (406)。
Optionally, step 403 can be exchanged with the sequence of step 404.In step 402, to sort, preceding subcommand obtains After the lock that FTL list items must be corresponded to, it is pending can other subcommands directly to be judged whether there is by step 404.And return to step 402 For the corresponding FTL list items request lock of logical address of next subcommand in multiple subcommands of sequence.And to obtaining the one of lock A or multiple subcommands are handled (403) subcommand by executing step 403.And step 406, then it needs to be happened at step Judge in rapid 404 be the atom write order the corresponding FTL list items of all subcommands all lock after.
Optionally, completion is executed in step 405, executes step 406.Or judge to be the original in step 404 After the corresponding FTL list items of all subcommands of sub- write order all lock, patrolled by multiple subcommands of the atom write order Sequence of addresses is collected, the lock of the corresponding FTL list items of logical address for the subcommand completed with processing is discharged.
According to an embodiment of the present application one, when handling each atom write order, meet two conditions:
(1) sequence for pressing the value of the logical address of multiple subcommands of atom write order is the corresponding FTL of each subcommand List item locks, and only after locking successfully, next subcommand that the value of logical address sorts is pressed in just processing;
(2) after all having updated corresponding FTL list items according to all subcommands of atom write order, just release is the same as the atom The lock of the corresponding FTL list items of all subcommands of write order.
Optionally, if during handling atom write order, pending atom read command or its subcommand are then being handled When atom read command, without checking whether correlation FTL list items are locked, also need not to handle atom read command or its subcommand and Related FTL list items are locked.It is to be appreciated that when handling atom read command, it also can be in the case where obtaining lock, just to atom Read command is handled.
Optionally, it sorts by logical address order for multiple subcommands to atom write order, it can be by logical address number The ascending sort of value, can also be by the descending sort of logical address numerical value.No matter use which kind of mode as the foundation of sequence, it is right In multiple atom write orders of processing, identical sortord is used.
According to an embodiment of the present application, in the case where meeting above-mentioned two condition, multiple atomic writes can be ordered The multiple subcommand parallel processings enabled.
Embodiment two
Fig. 5 is the schematic diagram of according to embodiments of the present invention two atomic commands.Fig. 6 and Fig. 7 is the atomic commands for handling Fig. 5 The schematic diagram of FTL tables in the process.Fig. 5 illustrates the atom write order A that solid storage device is received from host and is ordered with atomic write Enable B.Atom write order A includes 3 subcommands (X (t1), X+1 (t5) and X+2 (t3)), and atom write order B includes 3 subcommands (X (t4), X+1 (t2) and X+2 (t6)).In Figure 5, subcommand is indicated by each box, for example, indicating wherein one with X (t1) A subcommand, X indicate that the logical address that subcommand accesses, t1 indicate to receive the time of the subcommand, and the big little finger of toe of number Chronological order is shown.
The t1 moment receives the data of the subcommand X (t1) of atom write order A.By logical address order processing atomic write life Enable multiple subcommands of A.Due to subcommand X (t1) be atom write order A multiple subcommands in logical address sequence it is most preceding Subcommand can be handled (referring also to Fig. 4, step 402) subcommand X (t1).For the corresponding FTL of same logical address X List item 610 (referring to Fig. 6) application lock, and apply successfully;In Fig. 6, the corresponding lock A (t1) of FTL list items 610 indicates the lock of the list item Belong to atom write order A.It is to be appreciated that the lock recorded in memory can only indicate the existence of lock, it is somebody's turn to do without indicating Object belonging to lock.
The t2 moment receives the data of the subcommand X+1 (t2) of atom write order B.Due to needing the sequence by logical address Multiple subcommands of atom write order B are handled, and in multiple subcommands of atom write order B, the preceding son of logical address sequence The data of order X (t4) not yet receive, and are unable to start to process subcommand X+1 (t2) at this time.
The t3 moment receives the data of the subcommand X+2 (t3) of atom write order A.Due to needing the sequence by logical address Multiple subcommands of atomic commands A are write in processing, and in multiple subcommands of atom write order A, the preceding son of logical address sequence The data of order X+1 (t5) not yet receive, and are unable to start to process subcommand X+2 (t3) at this time.
The t4 moment receives the data of the subcommand X (t4) of atom write order B.By the sequential processes atomic write of logical address Multiple subcommands of B are ordered, subcommand X (t4) is logical address in not yet processed multiple subcommands of atom write order B The most preceding subcommand of sequence, thus subcommand X (t4) can be handled.For processing X (t4), FTL table of the request for logical address X 610 lock, and at this point, lock A (t1) belongs to atom write order A, thus it is used for logical address X for the B requests of atom write order FTL list items 610 lock failure, be unable to start to process subcommand X (t4) at this time.
The t5 moment receives the data of the subcommand X+1 (t5) of atom write order A, by the sequential processes atom of logical address Multiple subcommands of write order A, subcommand X+1 (t5) are that atom write order A is not yet obtained and sorted most in multiple subcommands of lock Preceding subcommand, thus apply for the corresponding FTL list items 612 (referring to Fig. 6) with the logical address X+1 of subcommand X+1 (t5) Lock, and apply successfully;The corresponding lock A (t5) of FTL list items 612 indicates that the lock of the list item belongs to atom write order A.
Since the 2nd subcommand X+1 (t5) application by logical address sequence for atom write order A is to lock, next The 3rd subcommand X+2 (t3) that atom write order A can be handled, for the corresponding 614 (ginsengs of FTL list items of same logical address X+2 See Fig. 6) application lock, and apply successfully;The corresponding lock A (t3) of FTL list items 614 indicates that the lock of the list item belongs to atom write order A. And (referring also to Fig. 4, step 404), release belongs to atom write order after the completion of the processing of all subcommands of atom write order A The lock of all subcommands of A is (referring also to Fig. 4, step 406).
Next, whether the processing opportunity of other pending subcommands such as inspection meets.The subcommand of atom write order B X (t4) be atom write order B multiple subcommands in logical address sort most preceding subcommand, apply for subcommand X (t4) To the lock B (t4) of the FTL list items 710 (referring to Fig. 7) of the logical address X for subcommand X (t4).Due to for atom write order B The application of the 1st subcommand X (t4) to lock, next can handle the 2nd subcommand X+1 (t2) of atom write order B, and at Lock B (t2) of the work(application to the FTL list items 712 (referring to Fig. 7) for logical address X+1.Next atom is received at the t6 moment The 3rd subcommand X+2 (t6) of write order B, and because subcommand X+2 (t6) is the not processed son life of atom write order B The most preceding subcommand of logical address sequence, can be handled it in order, and successfully the FTL for logical address X+2 is arrived in application The lock B (t6) of list item 714 (referring to Fig. 7).And after the completion of the processing of all subcommands of atom write order B (referring also to Fig. 4, Step 404), release belong to the lock of all subcommands of atom write order B (referring also to Fig. 4, step 406).
Referring to table 3, the second row shows embodiment two according to the present invention, effective knot after the completion of the A execution of atom write order Fruit:It is the data X (t1), X+ that atom write order A is written respectively in logical address LBA (x), LBA (x+1) and LBA (x+2) 1 (t5) and X+2 (t3).The third line of table 3 shows effective result after the completion of the B execution of atom write order:In LBA (x), LBA (x+1) and in LBA (x+2) it is the data X (t4), X+1 (t2) and X+2 (t6) that atom write order B is written respectively.Thus, really Protected in logical address X to X+2 ranges, be not in part logical address be atom write order A write-in data and part Logical address is the situation of the data of atom write order B write-ins, realizes the atomicity of atomic write command process.
Table 3
Embodiment three
Fig. 8 is the schematic diagram of according to embodiments of the present invention three atomic commands.Fig. 9 to Figure 11 is the atom life for handling Fig. 8 The schematic diagram of FTL tables during order.Fig. 8 illustrates atom write order C, the atomic write life that solid storage device is received from host Enable D and atom write order E.Atom write order C includes subcommand (X (t1), X+1 (t5) and X+2 (t6));Atom write order D packets Enclosed tool order (X (t7), X+1 (t8) and X+2 (t9));Atom write order D includes subcommand (X+1 (t2), X+2 (t3) and X+3 (t4)).In fig. 8, subcommand is indicated by each box, for example, indicating that one of subcommand, X indicate subcommand with X (t1) The logical address of access, t1 indicates to receive the time of the subcommand, and the size of number indicates chronological order.
The t1 moment receives the data of the subcommand X (t1) of atom write order C.By logical address order processing atomic write life Enable multiple subcommands of C.Due to subcommand X (t1) be atom write order C multiple subcommands in logical address sequence it is most preceding Subcommand can be handled (referring also to Fig. 4, step 402) subcommand X (t1).For the corresponding FTL of same logical address X List item 910 (referring to Fig. 9) application lock, and apply successfully.In Fig. 9, the corresponding lock C (t1) of FTL list items 910 indicates the lock of the list item Belong to atom write order C.It is to be appreciated that the lock recorded in memory can only indicate the existence of lock, it is somebody's turn to do without indicating Object belonging to lock.
The t2 moment receives the data of the subcommand X+1 (t2) of atom write order E.Atomic write is handled by logical address order Order multiple subcommands of E.Due to subcommand X+1 (t2) be atom write order E multiple subcommands in logical address sequence most Preceding subcommand can be handled (referring also to Fig. 4, step 402) subcommand X+1 (t2).For same subcommand X+1 (t2) The corresponding FTL list items of logical address X+1 912 (referring to Fig. 9) application lock, and apply successfully;912 corresponding lock E of FTL list items (t2) indicate that the lock of the list item belongs to atom write order E.
The t3 moment receives the data of the subcommand X+2 (t3) of atom write order E.By the sequential processes atom of logical address Multiple subcommands of write order E.Subcommand X+2 (t3) is logic in not yet processed multiple subcommands of atom write order E The most preceding subcommand of address sort, thus subcommand X+2 (t3) can be handled.For same subcommand X+2 (the logical address X+ of t3 2 corresponding FTL list items 914 (referring to Fig. 9) application locks, and apply successfully.914 corresponding lock E (t3) of FTL list items indicates the list item Lock belong to atom write order E.
The t4 moment receives the data of the subcommand X+3 (t4) of atom write order E.Life is write by the sequential processes of logical address Enable multiple subcommands of E.Subcommand X+3 (t4) is logical address in not yet processed multiple subcommands of atom write order E The most preceding subcommand of sequence, thus subcommand X+3 (t4) can be handled.For X+3 pairs of the logical address of same subcommand X+3 (t4) FTL list items 916 (referring to Fig. 9) the application lock answered, and apply successfully.The corresponding lock E (t4) of FTL list items 916 indicates the list item Lock belongs to atom write order E.And after the completion of the processing of all subcommands of atom write order E (referring also to Fig. 4, step 404), Release belongs to the lock of all subcommands of atom write order E (referring also to Fig. 4, step 406).
The t5 moment receives the data of the subcommand X+1 (t5) of atom write order C.Atomic write is handled by logical address order Order multiple subcommands of C.Due to subcommand X+1 (t5) be atom write order C not yet processed multiple subcommands in patrol The most preceding subcommand of address sort is collected, subcommand X+1 (t5) can be handled.For the logic of same subcommand X+1 (t5) Corresponding 912 (referring to Figure 10) application locks of FTL list items of address X+1, and apply successfully;912 corresponding lock C (t5) of FTL list items refers to Show that the lock of the list item belongs to atom write order C.
The t6 moment receives the data of the subcommand X+2 (t6) of atom write order C.Since subcommand X+2 (t) is atomic write Order in not yet processed multiple subcommands of C logical address to sort most preceding subcommand, can to subcommand X+2 (t6) into Row processing.Corresponding 914 (referring to Figure 10) applications of FTL list items of logical address X+2 for same subcommand X+2 (t6) are locked, and Shen It please succeed.The corresponding lock C (t6) of FTL list items 914 indicates that the lock of the list item belongs to atom write order C.And in atom write order C The processing of all subcommands after the completion of (referring also to Fig. 4, step 404), release belongs to the lock of all subcommands of atom write order C (referring also to Fig. 4, step 406).
And compared with Fig. 9, the lock of Tu10Zhong, FTL list items 916 have been released.
The t7 moment receives the data of the subcommand X (t7) of atom write order D.Since subcommand X (t7) is atom write order Logical address sorts most preceding subcommand in not yet processed multiple subcommands of D, can be to subcommand X (t7) at Reason.For corresponding 910 (referring to Figure 11) application locks of FTL list items of logical address X of same subcommand X (t7), and apply successfully. The corresponding lock D (t7) of FTL list items 910 indicates that the lock of the list item belongs to atom write order D.
The t8 moment receives the data of the subcommand X+1 (t8) of atom write order D.Since subcommand X+1 (t8) is atomic write Order in not yet processed multiple subcommands of D logical address to sort most preceding subcommand, can to subcommand X+1 (t8) into Row processing.Corresponding 912 (referring to Figure 11) applications of FTL list items of logical address X+1 for same subcommand X+1 (t8) are locked, and Shen It please succeed.The corresponding lock D (t8) of FTL list items 912 indicates that the lock of the list item belongs to atom write order D.
The t9 moment receives the data of the subcommand X+2 (t9) of atom write order D.Since subcommand X+2 (t9) is atomic write Order in not yet processed multiple subcommands of D logical address to sort most preceding subcommand, can to subcommand X+2 (t9) into Row processing.Corresponding 914 (referring to Figure 11) applications of FTL list items of logical address X+2 for same subcommand X+2 (t9) are locked, and Shen It please succeed.The corresponding lock D (t9) of FTL list items 914 indicates that the lock of the list item belongs to atom write order D.And in atom write order D The processing of all subcommands after the completion of (referring also to Fig. 4, step 404), release belongs to the lock of all subcommands of atom write order D (referring also to Fig. 4, step 406).
Referring to table 4, the second row shows embodiment three according to the present invention, effective knot after the completion of the E execution of atom write order Fruit:It is the data X+1 that atom write order E is written respectively in logical address LBA (X+1), LBA (X+2) and LBA (X+3) (t2), X+2 (t3) and X+3 (t4), and be then the data X (t1) that atom write order C is written in logical address LBA (X).Table 4 the third line shows effective result after the completion of the C execution of atom write order:In logical address LBAX, LBA (X+1) and LBA (X + 2) it is the data X (t1) that atom write order C is written, X+1 (t5) and X+2 (t6) respectively in, and at logical address LBA (X+3) Place then remains the data X+3 (t4) that atom write order E is written.The fourth line of table 4 shows that atom write order D executes completion Effective result afterwards:It is the number that atom write order D is written respectively in logical address LBA (X), LBA (X+1) and LBA (X+2) According to X (t7), X+1 (t8) and X+2 (t9), and the number that atom write order E is written then is remained at logical address LBA (X+3) According to X+3 (t4).
Table 4
According to an embodiment of the present application two or three, optionally, if during handling atom write order, pending reading life It enables or its subcommand, without checking whether correlation FTL list items are locked, also need not read life then when handling read command for processing Enable or its subcommand and to related FTL list items lock.It is to be appreciated that when handling read command, can also the case where locking be being obtained Under, just read command is handled.
By handling atom write order in a manner of disclosed above, disclosure satisfy that in NVMe agreements to power down atomicity The requirement of (AWUPF, Atomic Write Unit Power Fail), guarantee has been interrupted in power down or other error conditions writes behaviour When making, processing behavior of the solid storage device to write operation.Solid storage device ensures, if because of power down or other error conditions Command process is caused to fail, then will be obtained to the follow-up read command for being associated with the logical address unsuccessfully ordered:(1) all old Data (initial data in logical address that the write order being interrupted accesses);Or (what is be interrupted writes the new data that (2) are all Order total data be written).
Example IV
General atomicity (AWUN, Atomic Write Unit Normal) is also defined in NVMe specifications.General atom Property define order execute relative to other order atomicity, it is ensured that write order has relative to other read commands or write order Atomicity.In addition to require write-in NVM chips data will not simultaneously include newer command partial data and newer command other than its The partial data that he orders, it is also necessary to ensure that the portion of newer command will not be included in the data that the read command that host is sent out is read simultaneously The partial data of divided data and other orders except newer command.
According to an embodiment of the present application, solid storage device by realizing the atom processing of read command and writing life simultaneously The atom of order handles to realize the general atomicity (AWUN) for meeting NVMe code requirements.
Figure 12 is the flow chart of according to embodiments of the present invention four processing atom read command.Atom read command can be split as Multiple subcommands, each subcommand have accessed logical address.Include the atom read command of multiple subcommands for processing, it will Belong to the same multiple subcommands of atom read command, the value of the logical address accessed by subcommand sorts (121).Exist every time to sequence A most preceding subcommand is handled, after processing is completed, by the sequence of the logical address of not processed multiple subcommands Handle next subcommand.
When handling a subcommand, according to the logical address that subcommand accesses, ask to be corresponding with the logical address FTL list items lock (122).To be locked, when the lock of FTL list items indicates that the list item has been locked, locking operation failure.And If the lock of FTL list items indicates that the list item is not locked, locking operation will succeed, and by the lock of FTL list items be arranged to by Locking state.If locking operation is unsuccessful, can again or make repeated attempts to FTL list items lock, until locking operation success. Before locking operation success, which is not handled.Also not to the sequence of the atom write order after the subcommand Other subcommands handled.
In response to locking successfully, (123) are handled to subcommand, for example, the logical address acquisition pair according to subcommand The physical address answered reads data from acquired physical address.
Next, it is determined whether being the corresponding FTL list items of all subcommands all lockings of the atom write order (124).If not locking all, according to the sequence of the logical address of not processed multiple subcommands, next height life is handled It enables (122).If the corresponding FTL list items of all subcommands of the atom write order are all locked, can continue to complete to this The processing (125) of a little multiple subcommands.Until all subcommands of atom read command all handle completion, release is the same as these all sons Order the lock (126) of corresponding FTL list items so that the lock with the corresponding FTL list items of these all subcommands indicates corresponding table Xiang Wei is locked.
Optionally, step 123 can be exchanged with the sequence of step 124.It is preceding subcommand acquisition of sorting in step 122 After the lock of corresponding FTL list items, it is pending can other subcommands directly to be judged whether there is by step 124.And return to step 122 is The corresponding FTL list items request lock of logical address of next subcommand in multiple subcommands of sequence.And to obtaining one locked Or multiple subcommands, subcommand is handled (123) by executing step 123.And step 126, then it needs to be happened at step Judge in 124 be the atom read command the corresponding FTL list items of all subcommands all lock after.
Optionally, completion is executed in step 125, executes step 126.Or judge to be the original in step 124 After the corresponding FTL list items of all subcommands of sub- read command all lock, patrolled by multiple subcommands of the atom read command Sequence of addresses is collected, the lock of the corresponding FTL list items of logical address for the subcommand completed with processing is discharged.
Optionally, after FTL list items corresponding to the subcommand of atom read command lock successfully, you can the subcommand is handled, According to the physical address that is obtained from FTL list items, data are read from physical address, as the data needed for the subcommand, and nothing It must wait for and all lock success for the corresponding FTL list items of all subcommands of the read command.
According to an embodiment of the present application four, when handling each atom read command, meet two conditions:
(1) sequence for pressing the value of the logical address of multiple subcommands of atom read command is the corresponding FTL of each subcommand List item locks, and only after locking successfully, next subcommand that the value of logical address sorts is pressed in just processing;
(2) lock that corresponding FTL list items are all obtained in all subcommands according to atom read command is remembered with FTL list items After the physical address of record, the lock of the corresponding FTL list items with all subcommands of the atom read command is just discharged.
Optionally, it sorts by logical address order for multiple subcommands to atom read command, it can be by logical address number The ascending sort of value, can also be by the descending sort of logical address numerical value.No matter use which kind of mode as the foundation of sequence, it is right In multiple atom read commands of processing and/or atom write order, identical sortord is used.
According to an embodiment of the present application, in the case where meeting above-mentioned two condition, multiple atoms can be read to order The multiple subcommand parallel processings enabled.
Embodiment five
Figure 13 is the flow chart of according to embodiments of the present invention five processing atomic commands.According to an embodiment of the invention five In, solid storage device receives atomic commands from host, and the type of atomic commands is indicated in atomic commands (for example, atom is read Order or atom write order), if the type of atomic commands is atom read command (130), also determine whether the atom read command needs Meet general atomicity (1310).
In one example, if the atom read command needs to meet general atomicity, and atom read command be split as it is more A subcommand, then according to flow shown in Figure 12 (referring also to the description to example IV) come handle the atom read command (referring to Figure 12).
If the atom read command need not meet general atomicity, it need not check whether correlation FTL list items are locked, Related FTL list items are locked without being processing atom read command or its subcommand, and directly handles and belongs to atom reading order order Each subcommand (1330).
If the type of atomic commands is atom write order, continue to determine whether the atom write order needs to meet general atom Property or power down atomicity (1340).If the atom write order needs to meet general atomicity or power down atomicity, and atomic write is ordered Order includes multiple subcommands, then the atom write order is handled (referring also to the description to embodiment one) according to flow shown in Fig. 4.
Thus, in embodiment five, if solid storage device needs to meet power down atomicity, to atom write order, by Fig. 4 Shown in flow handled, and to the processing of atom read command then without constraint (without for a subcommand by logical address Order request is locked).If solid storage device needs to meet general atomicity, in the flow to atom write order as shown in Figure 4 While processing, atom read command is handled by flow shown in Figure 12.
Embodiment six
Figure 14 is the schematic diagram of six atomic commands according to an embodiment of the invention.Figure 15 to Figure 17 is the original for handling Figure 14 The schematic diagram of FTL tables during subcommand.Figure 14 illustrates atom write order F, the original that solid storage device is received from host Sub- read command G and atom write order H.Atom write order F includes subcommand (X (t1), X+1 (t2) and X+2 (t3));Atom reads life It includes subcommand (X (t4), X+1 (t8) and X+2 (t9)) to enable G;Atom write order H includes subcommand (X (t5), X+1 (t6) With X+2 (t7)).In fig. 14, subcommand is indicated by each box, for example, indicating one of subcommand, X instructions with X (t1) The logical address that subcommand accesses, t1 indicate to receive time of the subcommand, and to indicate time order and function suitable for the size of number Sequence.In embodiment six, Figure 14 atomic commands shown are handled according to flow chart shown in Figure 13.
The t1 moment receives the data of the subcommand X (t1) of atom write order F.By logical address order processing atomic write life Enable multiple subcommands of F.Due to subcommand X (t1) be atom write order F multiple subcommands in logical address sequence it is most preceding Subcommand, subcommand X (t1) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).For same sub- life The corresponding application locks of FTL list items 1510 (referring to Figure 15) of the logical address X of X (t1) are enabled, and are applied successfully.In Figure 15, FTL list items 1510 corresponding lock F (t1) indicate that the lock of the list item belongs to atom write order F.
The t2 moment receives the data of the subcommand X+1 (t2) of atom write order F.Atomic write is handled by logical address order Order multiple subcommands of F.Subcommand X+1 (t2) is in not yet processed multiple subcommands of atom write order F, logically Sort most preceding subcommand for location, thus can handle subcommand X+1 (t2).For the logical address X+1 of same subcommand X+1 (t2) The corresponding application lock of FTL list items 1512 (referring to Figure 15), and apply successfully.1512 corresponding lock F (t2) of FTL list items indicates the table The lock of item belongs to atom write order F.
The t3 moment receives the data of the subcommand X+2 (t3) of atom write order F.Atomic write is handled by logical address order Order multiple subcommands of F.Subcommand X+2 (t3) is in not yet processed multiple subcommands of atom write order F, logically Sort most preceding subcommand for location, thus can handle subcommand X+2 (t3).For the logical address X+2 of same subcommand X+2 (t3) Corresponding FTL list items 1514 (referring to Figure 15) application lock, and apply successfully;1514 corresponding lock F (t3) of FTL list items indicates the table The lock of item belongs to atom write order F.Next, (referring also to Fig. 4, step after the completion of the processing of all subcommands of atom write order F Rapid 405, Figure 13, step 1350), release belongs to the corresponding FTL list items 1510 of all subcommands, the FTL list items of atom write order F 1512 with the locks of FTL list items 1514 (referring also to Fig. 4, step 406, Figure 13, step 1352).
The t4 moment receives the subcommand X (t4) of atom read command G.By the more of logical address order processing atom read command G A subcommand.Subcommand X (t4) is in not yet processed multiple subcommands of atom read command G, before logical address sequence most Subcommand, thus subcommand X (t4) can be handled.For the corresponding FTL list items of logical address X of same subcommand X (t4) 1510 application locks (referring to Figure 16), and apply successfully;The corresponding lock G (t4) of FTL list items 1510 indicates that the lock of the list item belongs to former Sub- read command G.
The t5 moment receives the data of the subcommand X (t5) of atom write order H.By the sequential processes atomic write of logical address Order multiple subcommands of H.Subcommand X (t5) is logical address in not yet processed multiple subcommands of atom write order H The most preceding subcommand of sequence, thus subcommand X (t5) can be handled.For processing subcommand X (t5), request is used for logical address X FTL list items 1510 lock, and at this point, lock G (t4) belongs to atom read command G, thus be the H requests of atom write order for patrolling The lock failure for collecting the FTL list items 1510 of address X, is unable to start to process subcommand X (t5) at this time.
The t6 moment receives the data of the subcommand X+1 (t6) of atom write order H.By the sequential processes atom of logical address Multiple subcommands of write order H.Since atom write order H is not yet applied by the preceding subcommand X (t5) of logical address sequence To lock, thus the posterior subcommand X+1 (t6) of sequence for belonging to subcommand X (t5) atom write order H wouldn't be handled.
The t7 moment receives the data of the subcommand X+2 (t7) of atom write order H.By the sequential processes atom of logical address Multiple subcommands of write order H.Since atom write order H is by the preceding subcommand X (t5) of logical address sequence and X+1 (t6) Not yet lock is arrived in application, thus the posterior subcommand X of sequence of atom write order H is belonged to subcommand X (t5) and X+1 (t6) + 2 (t7) wouldn't also be handled.
The t8 moment receives the subcommand X+1 (t8) of atom read command G.By the sequential processes atom read command G of logical address Multiple subcommands.Since the 1st subcommand X (t4) by logical address sequence of atom read command G has been applied to lock, connect down The 2nd subcommand X+1 (t8) of atom read command G can be handled.It is corresponding for the logical address X+1 of same X+1 (t8) FTL list items 1512 (referring to Figure 16) application lock, and apply successfully, the corresponding lock G (t8) of FTL list items 1512 indicates the lock of the list item Belong to atom read command G.
The t9 moment receives the subcommand X+2 (t9) of atom read command G, by the sequential processes atom read command G of logical address Multiple subcommands.Subcommand X+2 (t9) is logical address row in not yet processed multiple subcommands of atom read command G The most preceding subcommand of sequence, thus subcommand X+2 (t9) can be handled.For the corresponding FTL of logical address X+2 of same X+2 (t9) The application lock of list item 1514 (referring to Figure 16), and apply successfully;The corresponding lock G (t9) of FTL list items 1514 indicates the lock category of the list item In atom read command G.And (referring also to Figure 12, step 125 after the completion of the processing of all subcommands of atom read command G;And Figure 13, step 1320), release belong to the corresponding FTL list items 1510 of all subcommands of atom read command G, FTL list items 1512 with FTL list items 1514 lock (referring also to Figure 12, step 126 and Figure 13, step 1322).
Next, whether the processing opportunity of other pending subcommands such as inspection meets.The subcommand of atom write order H X (t5) be atom write order H multiple subcommands in logical address sort most preceding subcommand.Due to being atomic write life before Enable H's to ask lock by the subcommand X (t5) at first that logical address sorts, after the lock of FTL list items 1510 is released, for son life X (t5) applications are enabled to obtain the lock H (t5) of the FTL list items 1510 (referring to Figure 17) for logical address X.Due to for atom write order Next the 1st subcommand X (t5) application of H can handle the posterior subcommand X+1 of sequence of atom write order H to lock (t6) with X+2 (t7).It respectively is the FTL tables of the logical address X+1 and X+2 of subcommand X+1 (t6) and subcommand X+2 (t7) Item 1512 is locked with FTL list items 1514 (referring to Figure 17) application, and is applied successfully;1512 corresponding lock H (t6) of FTL list items and FTL 1514 corresponding lock H (t7) of list item indicates that it belongs to atom write order H.And at all subcommands of atom write order H (referring also to Fig. 4, step 405, Figure 13, step 1350) discharges all subcommands correspondence for belonging to atom write order H after the completion of reason FTL list items 1510, FTL list items 1512 and FTL list items 1514 lock (referring also to Fig. 4, step 406 and Figure 13, step 1352)。
Referring to table 5, the second row shows embodiment six according to the present invention, effective knot after the completion of the F execution of atom write order Fruit:It is the data X (t1) that atom write order F is written respectively in logical address LBA (x+1), LBA (x+2) and LBA (x+3) (indicating data that the subcommand is written with subcommand X (t1) here), X+1 (t2) and X+2 (t3).Three atoms of Figure 14 are ordered In order, atom read command G is performed completion prior to atom write order H.The third line of table 5 shows that atom read command G is read Result:Data X (t1) (this that atom read command G is read respectively from logical address LBA (x), LBA (x+1) and LBA (x+2) In read with X (t1) instructions is data that subcommand X (t1) is written), X+1 (t2) and X+2 (t3).The fourth line of table 5 is shown Effective result after the completion of atom write order H is executed is gone out:In logical address LBA (x), LBA (x+1) and LBA (x+2) respectively It is data X (t5), X+1 (t6) and the X+2 (t7) that atom write order H is written.
Table 5
Embodiment seven
Figure 18 is the schematic diagram of seven atomic commands according to an embodiment of the invention.Figure 19 to Figure 21 is the original for handling Figure 18 The schematic diagram of FTL tables during subcommand.Figure 18 illustrates atom write order I, the original that solid storage device is received from host Sub- read command J and atom write order K.Atom write order I includes subcommand (X (t1), X+1 (t2) and X+2 (t3));Atom reads life It includes subcommand (X (t9), X+1 (t4) and X+2 (t7)) to enable J;Atom write order K includes subcommand (X (t5), X+1 (t6) and X+ 2(t8)).In embodiment seven, Figure 18 atomic commands shown are handled according to flow chart shown in Figure 13.
The t1 moment receives the data of the subcommand X (t1) of atom write order I.By logical address order processing atomic write life Enable multiple subcommands of I.Due to subcommand X (t1) be atom write order I multiple subcommands in logical address sequence it is most preceding Subcommand, subcommand X (t1) can be handled (referring also to Fig. 4, step 402, Figure 13,1344).For same subcommand X (t1) the corresponding application locks of FTL list items 1910 (referring to Figure 19) of logical address X, and apply successfully.In Figure 19, FTL list items 1910 corresponding lock I (t1) indicate that the lock of the list item belongs to atom write order I.
The t2 moment receives the data of the subcommand X+1 (t2) of atom write order I.Atomic write is handled by logical address order Order multiple subcommands of I.Subcommand X+1 (t2) is in not yet processed multiple subcommands of atom write order I, logically Sort most preceding subcommand for location, thus can handle subcommand X+1 (t2).For the logical address X+1 of same subcommand X+1 (t2) The corresponding application lock of FTL list items 1912 (referring to Figure 19), and apply successfully.1912 corresponding lock I (t2) of FTL list items indicates the table The lock of item belongs to atom write order I.
The t3 moment receives the data of the subcommand X+2 (t3) of atom write order I.Atomic write is handled by logical address order Order multiple subcommands of I.Subcommand X+2 (t3) is in not yet processed multiple subcommands of atom write order I, logically Sort most preceding subcommand for location, thus can handle subcommand X+2 (t3).For the logical address X+2 of same subcommand X+2 (t3) Corresponding FTL list items 1914 (referring to Figure 19) application lock, and apply successfully;1914 corresponding lock I (t3) of FTL list items indicates the table The lock of item belongs to atom write order I.Next, (referring also to Fig. 4, step after the completion of the processing of all subcommands of atom write order I Rapid 405, Figure 13, step 1350), release belongs to the corresponding FTL list items 1910 of all subcommands, the FTL list items of atom write order I 1912 with the locks of FTL list items 1914 (referring also to Fig. 4, step 406, Figure 13, step 1352).
The t4 moment receives the subcommand X+1 (t4) of atom read command J.Due to needing to handle atom by logical address order Multiple subcommands of read command J, and in multiple subcommands of atom read command J, the preceding subcommand X (t9) of logical address sequence It not yet receives, is unable to start to process subcommand X+1 (t4) at this time.
The t5 moment receives the data of the subcommand X (t5) of atom write order K.By logical address order processing atomic write life Enable multiple subcommands of K.Due to subcommand X (t5) be atom write order K multiple subcommands in logical address sequence it is most preceding Subcommand, subcommand X (t5) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).For same sub- life The corresponding application locks of FTL list items 1910 (referring to Figure 20) of the logical address X of X (t5) are enabled, and are applied successfully.In Figure 20, FTL list items 1910 corresponding lock K (t5) indicate that the lock of the list item belongs to atom write order K.
The t6 moment receives the data of the subcommand X+1 (t6) of atom write order K.Atomic write is handled by logical address order Order multiple subcommands of K.Due to subcommand X+1 (t6) be atom write order K multiple still untreated subcommands in logic The most preceding subcommand of address sort, subcommand X+1 (t6) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).(referring to Figure 20) is locked in the corresponding applications of FTL list items 1910 of logical address X+1 for same subcommand X+1 (t6), and Shen It please succeed.In Figure 20, the corresponding lock K (t6) of FTL list items 1910 indicates that the lock of the list item belongs to atom write order K.
The t7 moment receives the subcommand X+2 (t7) of atom read command J.Due to needing to handle atom by logical address order Multiple subcommands of read command J, and in multiple subcommands of atom read command J, due to not yet being arranged for the logical address of read command J Preceding subcommand X (t9) the application lock of sequence, thus it is unable to start to process subcommand X+2 (t7).
The t8 moment receives the data of the subcommand X+2 (t8) of atom write order K.Atomic write is handled by logical address order Order multiple subcommands of K.Due to subcommand X+2 (t8) be atom write order K multiple still untreated subcommands in logic The most preceding subcommand of address sort, subcommand X+2 (t8) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).(referring to Figure 20) is locked in the corresponding applications of FTL list items 1914 of logical address X+2 for same subcommand X+2 (t8), and Shen It please succeed.In Figure 20, the corresponding lock K (t8) of FTL list items 1914 indicates that the lock of the list item belongs to atom write order K.And in original (referring also to Fig. 4, step 405, Figure 13, step 1350) discharges and belongs to atom after the completion of all subcommands processing of sub- write order K The corresponding FTL list items 1910 of all subcommands of write order K, FTL list items 1912 and FTL list items 1914 lock (referring also to Fig. 4, Step 406, Figure 13, step 1352).
The T9 moment receives the subcommand X (t9) of atom read command J.By the more of logical address order processing atom write order J A subcommand.Due to subcommand X (t9) be atom write order J multiple subcommands in logical address sort most preceding subcommand, Subcommand X (t9) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1314).For same subcommand X (t9) Logical address X corresponding FTL list items 1910 application locks (referring to Figure 21), and apply successfully.In Figure 21, FTL list items 1910 are right The lock J (t9) answered indicates that the lock of the list item belongs to atom write order J.
Next, whether the processing opportunity of other pending subcommands such as inspection meets.Due to being atom read command J Locked successfully by subcommand X (t9) requests at first of logical address sequence, thus the sequence that can handle atom read command exists Subcommand X+1 (t4) afterwards and X+2 (t7).It respectively is the logical address X+ of subcommand X+1 (t4) and subcommand X+2 (t7) The FTL list items 1912 of 1 and X+2 are locked with FTL list items 1914 (referring to Figure 21) application, and are applied successfully;FTL list items 1912 are corresponding Lock J (t4) lock J (t7) corresponding with FTL list items 1914 indicate that it belongs to atom read command J.And atom read command J's (referring also to Figure 12, step 125, Figure 13, step 1320) discharges and belongs to atom read command J's after the completion of all subcommand processing The corresponding FTL list items 1910 of all subcommands, FTL list items 1912 and FTL list items 1914 lock (referring also to Figure 12, step 126, Figure 13, step 1322).
Referring to table 6, the second row shows embodiment seven according to the present invention, effective knot after the completion of the I execution of atom write order Fruit:In logical address LBA (x+1), LBA (x+2) and LBA (x+3) be respectively atom write order I be written data X (t1), X+1 (t2) and X+2 (t3).Atom write order K is performed completion before atom read command J.The third line of table 6 shows atom Effective result after the completion of write order K execution:It is atom write order K institutes respectively in LBA (x), LBA (x+1) and LBA (x+2) X (t5), X+1 (t6) and the X+2 (t8) of write-in.The fourth line of table 6 shows the result that atom read command J is read:From LBA (x), that read respectively in LBA (x+1) and LBA (x+2) is data X (t5), X+1 (t6) and the X+2 that atom write order K is written (t8)。
Table 6
Embodiment eight
Figure 22 is the schematic diagram of according to embodiments of the present invention eight atomic commands.Figure 22 to Figure 26 is the atom for handling Figure 22 The schematic diagram of FTL tables in command procedure.Figure 22 illustrates atom write order L, the atom that solid storage device is received from host Read command M, atom write order N and atom write order O.Atom write order L includes subcommand (X (t1), X+1 (t6) and X+2 (t7));Atom read command M includes subcommand (X (t8), X+1 (t9) and X+2 (t10));Atom write order N includes subcommand (X+ 1 (t2), X+2 (t4) and X+3 (t5));Atom read command O includes subcommand (X-1 (t3), X (t11), X+1 (t12), X+2 (t13) with X+3 (t14)).
The t1 moment receives the data of the subcommand X (t1) of atom write order L.By logical address order processing atomic write life Enable multiple subcommands of L.Due to subcommand X (t1) be atom write order L multiple subcommands in logical address sequence it is most preceding Subcommand, subcommand X (t1) can be handled (referring also to Fig. 4, step 402, Figure 13,1344).For same subcommand X (t1) the corresponding application locks of FTL list items 2310 (referring to Figure 23) of logical address X, and apply successfully.In Figure 23, FTL list items 2310 corresponding lock L (t1) indicate that the lock of the list item belongs to atom write order L.
The t2 moment receives the data of the subcommand X+1 (t2) of atom write order N.Atomic write is handled by logical address order Order multiple subcommands of N.Due to subcommand X+1 (t2) be atom write order N multiple subcommands in logical address sequence most Preceding subcommand, subcommand X+1 (t2) can be handled (referring also to Fig. 4, step 402, Figure 13,1344).For same son The corresponding application locks of FTL list items 2312 (referring to Figure 23) of the logical address X+1 of X+1 (t2) are ordered, and are applied successfully.In Figure 23, The corresponding lock N (t2) of FTL list items 2312 indicates that the lock of the list item belongs to atom write order N.
The t3 moment receives the data of the subcommand X-1 (t3) of atom read command O.It is read by logical address order processing atom Order multiple subcommands of O.Due to subcommand X-1 (t3) be atom read command O multiple subcommands in logical address sequence most Preceding subcommand, subcommand X-1 (t3) can be handled (referring also to Figure 12, step 122, Figure 134 4).For same sub- life The corresponding application locks of FTL list items 2318 (referring to Figure 23) of the logical address X-1 of X-1 (t3) are enabled, and are applied successfully.In Figure 23, FTL The corresponding lock O (t3) of list item 2318 indicates that the lock of the list item belongs to atom read command O.
The t4 moment receives the data of the subcommand X+2 (t4) of atom write order N.Atomic write is handled by logical address order Order multiple subcommands of N.Due to subcommand X+2 (t4) be atom write order N multiple still untreated subcommands in logic The most preceding subcommand of address sort, subcommand X+2 (t4) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).(referring to Figure 23) is locked in the corresponding applications of FTL list items 2314 of logical address X+2 for same subcommand X+2 (t4), and Shen It please succeed.In Figure 23, the corresponding lock N (t4) of FTL list items 2314 indicates that the lock of the list item belongs to atom write order N.
The t5 moment receives the data of the subcommand X+3 (t5) of atom write order N.Atomic write is handled by logical address order Order multiple subcommands of N.Due to subcommand X+3 (t5) be atom write order N multiple still untreated subcommands in logic The most preceding subcommand of address sort, subcommand X+3 (t5) can be handled (referring also to Fig. 4, step 402, Figure 13, step 1344).(referring to Figure 23) is locked in the corresponding applications of FTL list items 2316 of logical address X+3 for same subcommand X+3 (t5), and Shen It please succeed.In Figure 23, the corresponding lock N (t5) of FTL list items 2316 indicates that the lock of the list item belongs to atom write order N.Aftert, The FTL list items corresponding to all subcommands for atom write order N have applied for lock.And multiple sons in atom write order N (referring also to Fig. 4, step 405, Figure 13, step 1350) discharges all sub- lives for belonging to atom write order N after the completion of command process Enable corresponding FTL list items 2312, FTL list items 2314 and FTL list items 2316 lock (referring also to Fig. 4, step 406, Figure 13, step 1352)。
The t6 moment receives the data of the subcommand X+1 (t6) of atom write order L.Atomic write is handled by logical address order Order multiple subcommands of L.Since subcommand X (t1) applications for sorting most preceding by logical address for being atom write order L are arrived Lock, and subcommand X+1 (t6) be atom write order L multiple still untreated subcommands in logical address sort most preceding son life It enables, thus subcommand X+1 (t6) can be handled.For the corresponding FTL of logical address X+1 of same subcommand X+1 (t6) The application lock of list item 2312 (referring to Figure 24), and apply successfully.In Figure 24,2312 corresponding lock L (t6) of FTL list items indicates the list item Lock belong to atom write order L.
The t7 moment receives the data of the subcommand X+2 (t7) of atom write order L.Atomic write is handled by logical address order Order multiple subcommands of L.Due to subcommand X+2 (t7) be atom write order L multiple still untreated subcommands in logic The most preceding subcommand of address sort, subcommand X+2 (t7) can be handled (referring also to Fig. 4, step 402, Figure 13, 1344).(referring to Figure 24) is locked in the corresponding applications of FTL list items 2314 of logical address X+2 for same subcommand X+2 (t7), and Shen It please succeed.In Figure 24, the corresponding lock L (t7) of FTL list items 2314 indicates that the lock of the list item belongs to atom write order L.And in original (referring also to Fig. 4, step 405, Figure 13, step 1350) discharges and belongs to atom after the completion of multiple subcommands processing of sub- write order L The corresponding FTL list items 2310 of all subcommands of write order L, FTL list items 2312 and FTL list items 2314 lock (referring also to Fig. 4, Step 406, Figure 13, step 1352).
And compared with Figure 24, the lock of Tu23Zhong, FTL list items 2316 have been released.
The t8 moment receives the subcommand X (t8) of atom read command M.By the more of logical address order processing atom read command M A subcommand.Due to subcommand X (t8) be atom read command M multiple subcommands in logical address sort most preceding subcommand, Subcommand X (t8) can be handled (referring also to Figure 12, step 122 and Figure 13, step 1314.For same subcommand X (t8) the corresponding application locks of FTL list items 2310 (referring to Figure 25) of logical address X, and apply successfully.In Figure 25, FTL list items 2310 corresponding lock M (t8) indicate that the lock of the list item belongs to atom read command M.
The t9 moment receives the subcommand X+1 (t9) of atom read command M.By logical address order processing atom read command M's Multiple subcommands.Due to subcommand X+1 (t9) be atom read command M multiple still untreated subcommands in logical address sort Most preceding subcommand, subcommand X+1 (t9) can be handled (referring also to Figure 12, step 122, Figure 13, step 1314).Needle Lock (referring to Figure 25) is applied to the corresponding FTL list items 2312 of the logical address X+1 of same subcommand X+1 (t9), and is applied successfully.Figure In 25, the corresponding lock M (t9) of FTL list items 2312 indicates that the lock of the list item belongs to atom read command M.
The t10 moment receives the subcommand X+2 (t10) of atom read command M.By logical address order processing atom read command M Multiple subcommands.Due to subcommand X+2 (t10) be atom read command M multiple still untreated subcommands in logical address The most preceding subcommand of sequence, subcommand X+2 (t10) can be handled (referring also to Figure 12, step 122, Figure 13, step 1314).(referring to Figure 25) is locked in the corresponding applications of FTL list items 2314 of logical address X+2 for same subcommand X+2 (t10), and Shen It please succeed.In Figure 25, the corresponding lock M (t10) of FTL list items 2314 indicates that the lock of the list item belongs to atom read command M.And in original (referring also to Figure 12, step 125, Figure 13, step 1320) discharges and belongs to former after the completion of multiple subcommands processing of sub- read command M The corresponding FTL list items 2310 of all subcommands of sub- read command M, FTL list items 2312 and FTL list items 2314 lock (referring also to figure 12, step 126, Figure 13, step 1322).
The t11 moment receives the data of the subcommand X (t11) of atom read command O.It is read by logical address order processing atom Order multiple subcommands of O.Due to subcommand X-1 (t3) applications for sorting most preceding by logical address for being atom read command O To lock, and subcommand X (t11) be atom read command O multiple still untreated subcommands in logical address sort most preceding son Order, thus subcommand X (t11) can be handled.For the corresponding FTL tables of logical address X of same subcommand X (t11) 2310 application lock (referring to Figure 26) of item, and apply successfully.In Figure 26,2310 corresponding lock O (t11) of FTL list items indicates the list item Lock belong to atom read command O.
Next, at the t12 moment, receive the data of the subcommand X+1 (t12) of atom read command O.At logical address order Manage multiple subcommands of atom read command O.Since subcommand X+1 (t12) is multiple still untreated sub- lives of atom read command O The most preceding subcommand of logical address sequence in order, thus subcommand X+1 (t12) can be handled.For same subcommand X+1 (t12) the corresponding application locks of FTL list items 2312 (referring to Figure 26) of logical address X+1, and apply successfully.In Figure 26, FTL list items 2312 corresponding lock O (t12) indicate that the lock of the list item belongs to atom read command O.
Next, at the t13 moment, receive the data of the subcommand X+2 (t13) of atom read command O.At logical address order Manage multiple subcommands of atom read command O.Since subcommand X+2 (t13) is multiple still untreated sub- lives of atom read command O The most preceding subcommand of logical address sequence in order, thus subcommand X+2 (t13) can be handled.For same subcommand X+2 (t13) the corresponding application locks of FTL list items 2314 (referring to Figure 26) of logical address X+2, and apply successfully.In Figure 26, FTL list items 2314 corresponding lock O (t13) indicate that the lock of the list item belongs to atom read command O.
Next, at the t14 moment, receive the data of the subcommand X+3 (t14) of atom read command O.At logical address order Manage multiple subcommands of atom read command O.Since subcommand X+3 (t14) is multiple still untreated sub- lives of atom read command O The most preceding subcommand of logical address sequence in order, thus subcommand X+3 (t14) can be handled.For same subcommand X+3 (t14) the corresponding application locks of FTL list items 2316 (referring to Figure 26) of logical address X+3, and apply successfully.In Figure 26, FTL list items 2316 corresponding lock O (t14) indicate that the lock of the list item belongs to atom read command O.
After the t14 moment, the lock of the FTL list items corresponding to all subcommands for atom read command O applies for success. And (referring also to Figure 12, step 125, Figure 13, step 1320) is released after the completion of the processing of multiple subcommands of atom read command O Put the corresponding FTL list items 2310 of all subcommands, FTL list items 2312, FTL list items 2314, the FTL tables for belonging to atom read command O 2316 and the lock of FTL list items 2318 (referring also to Figure 12, step 126, Figure 13, step 1322).
Four atomic commands in Figure 22 are read by atom write order N, atom write order L, atom read command M and atom The sequence of order O has been processed into.Referring to table 7, the second row shows that embodiment eight according to the present invention, atom write order N execute Effective result after the completion:It is the data that atom write order N is written respectively in LBA (x+1), LBA (x+2) and LBA (x+3) X+1 (t2), X+2 (t4) and X+3 (t5).The third line of table 7 shows effective result after the completion of the L execution of atom write order: It is the data X (t1), X+1 that atom write order L is written respectively in LBA (x), LBA (x+1), LBA (x+2) and LBA (X+3) (t6) and the data X+3 (t5) that is written of X+2 (t7) and atom write order N.The fourth line of table 7 shows atom read command M The result read after the completion of execution:What is read from LBA (x), LBA (x+1) and LBA (x+2) is atom write order L institutes respectively The data X (t1) of write-in, X+1 (t6) and X+2 (t7).The fifth line of table 7 shows and is read after the completion of atom read command O is executed Result:What is read from LBA (x-1), LBA (x), LBA (x+1), LBA (x+2) and LBA (x+3) is atom write order respectively The data X-1 (t3) that logical address LBA (x-1) is written into before executing (it is to be appreciated that use X-1 (t3) to indicate subcommand here The data that X-1 (t3) is read), the data X (t1) that atom write order L is written, X+1 (t6) and X+2 (t7) and atomic write The data X+3 (t5) that order N is written.
Table 7
The above description is merely a specific embodiment, but scope of protection of the present invention is not limited thereto, any Those familiar with the art in the technical scope disclosed by the present invention, can easily think of the change or the replacement, and should all contain Lid is within protection scope of the present invention.Therefore, protection scope of the present invention should be subject to the protection scope in claims.

Claims (10)

1. a kind of execution method of atom write order, which is characterized in that including:
Atom write order is received from host;
Obtain the atom write order logical address to be accessed;
According to the atom write order logical address to be accessed, a pair FTL list items corresponding with the logical address lock;
If locking successfully, atom write order is handled.
2. a kind of execution method of atom write order, wherein the atomic write order includes multiple subcommands, which is characterized in that packet It includes:
Multiple subcommands are sorted according to each subcommand logical address to be accessed;
The the first most preceding subcommand that sorts in multiple subcommands not processed in the multiple subcommand is obtained, according to the first son The first logical address to be accessed is ordered, a pair FTL list items corresponding with first logical address lock;
If a pair FTL list items corresponding with first logical address lock successfully, next sub- life is obtained according to the sequence of subcommand It enables, according to next subcommand the second logical address to be accessed, a pair FTL list items corresponding with second logical address lock, Until the corresponding FTL tables of each subcommand logical address to be accessed of all subcommands to belonging to the atom write order Item locks successful.
3. according to the method described in claim 2, it is characterized in that, until a pair FTL list items corresponding with first logical address It locks successfully, just obtains next subcommand according to the sequence of subcommand.
4. according to the method in claim 2 or 3, which is characterized in that further include:In response to pair with the atom write order The corresponding FTL list items of logical address of all subcommands all lock success, just handle the corresponding subcommand of the atom write order.
5. according to the method described in one of claim 2-4, which is characterized in that further include:
The second atom write order is received from host;
Second atom write order is split into a subcommand more than second;
More than second a subcommands are ranked up according to each subcommand logical address to be accessed;And
The third subcommand for sorting most preceding in multiple subcommands not processed in a subcommand more than described second is obtained, according to The three subcommands third logical address to be accessed, a pair FTL list items corresponding with the third logical address lock;
If a pair FTL list items corresponding with the third logical address lock successfully, next sub- life is obtained according to the sequence of subcommand It enables, according to next subcommand the 4th logical address to be accessed, a pair FTL list items corresponding with the 4th logical address lock, Until the corresponding FTL of each subcommand logical address to be accessed of all subcommands to belonging to the second atom write order List item locks successful.
6. according to the method described in one of claim 2-5, which is characterized in that further include:In response to belonging to the atomic write life All subcommands enabled handle completion, just the lock of release corresponding FTL list items with all subcommands of the atom write order.
7. a kind of atom write order executive device, wherein the atomic write order includes multiple subcommands, which is characterized in that packet It includes:
Subcommand sorting module, for multiple subcommands to sort according to each subcommand logical address to be accessed;
Subcommand acquisition module, for obtaining most preceding of sorting in multiple subcommands not processed in the multiple subcommand One subcommand;
Module is locked, it is pair corresponding with first logical address for the first logical address to be accessed according to the first subcommand FTL list items lock;
Subcommand acquisition module locks successfully if being additionally operable to a pair FTL list items corresponding with first logical address, according to sub- life The sequence of order obtains next subcommand;And
Lock module, be additionally operable to the second logical address to be accessed according to next subcommand, pair with second logical address pair The FTL list items answered lock, until each subcommand logic to be accessed of all subcommands to belonging to the atom write order The corresponding FTL list items in address lock successful.
8. atom write order executive device according to claim 7, which is characterized in that further include:
Order receiver module, for receiving the second atom write order from host;Subcommand splits module, is used for the second atomic write Order splits into a subcommand more than second;
Logical address sorting module is additionally operable to arrange more than second a subcommands according to each subcommand logical address to be accessed Sequence;Subcommand acquisition module is additionally operable to obtain and sort most in multiple subcommands not processed in a subcommand more than described second Preceding third subcommand;Module is locked, the third logical address to be accessed according to third subcommand is additionally operable to, pair is patrolled with the third The corresponding FTL list items in address are collected to lock;
If a pair FTL list items corresponding with the third logical address lock successfully, order acquisition module is additionally operable to according to subcommand Sequence obtain next subcommand, lock module and be additionally operable to the 4th logical address to be accessed according to next subcommand, pair with The corresponding FTL list items of 4th logical address lock, every height life of all subcommands until belonging to the second atom write order The corresponding FTL list items of the logical address to be accessed are enabled to lock successful.
9. a kind of solid storage device, including control unit and the memory outside control unit, control unit includes flash memory Interface and at least one CPU, CPU access the NVM chips in solid storage device by flash interface, outside control unit FTL tables being provided in memory, FTL tables include multiple list items, which is characterized in that CPU is used to receive atom write order from host, and Obtain the atom write order logical address to be accessed;And according to the atom write order logical address to be accessed, pair with the logic The corresponding FTL list items in address lock;If locking successfully, atom write order is handled.
10. a kind of solid storage device, including control unit and the memory outside control unit, control unit includes flash memory Interface and at least one CPU, CPU access the NVM chips in solid storage device by flash interface, outside control unit FTL tables are stored in memory, FTL tables include multiple list items, which is characterized in that CPU is for executing atom according to claim 1 The execution method of write order, or atom write order according to one of claim 2-6 execution method.
CN201710158505.4A 2017-03-16 2017-03-16 Method and device for atomic write command Active CN108628760B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710158505.4A CN108628760B (en) 2017-03-16 2017-03-16 Method and device for atomic write command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710158505.4A CN108628760B (en) 2017-03-16 2017-03-16 Method and device for atomic write command

Publications (2)

Publication Number Publication Date
CN108628760A true CN108628760A (en) 2018-10-09
CN108628760B CN108628760B (en) 2021-05-18

Family

ID=63686559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710158505.4A Active CN108628760B (en) 2017-03-16 2017-03-16 Method and device for atomic write command

Country Status (1)

Country Link
CN (1) CN108628760B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377230A (en) * 2019-06-29 2019-10-25 苏州浪潮智能科技有限公司 A kind of atom write-in method and device applied to solid state hard disk
CN110390969A (en) * 2019-06-28 2019-10-29 苏州浪潮智能科技有限公司 A kind of method and system for realizing atomic write
CN111522510A (en) * 2020-04-22 2020-08-11 杭州宏杉科技股份有限公司 Command processing method and device
WO2023093334A1 (en) * 2021-11-29 2023-06-01 上海商汤智能科技有限公司 System for executing atomic operation, and atomic operation method and apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399825A (en) * 2013-08-05 2013-11-20 武汉邮电科学研究院 Unlocked memory application releasing method
US20140208004A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Translation layer partitioned between host and controller
CN104407820A (en) * 2014-12-12 2015-03-11 华为技术有限公司 Solid state disk storage system based data processing method, device and system
CN104636285A (en) * 2015-02-03 2015-05-20 北京麓柏科技有限公司 Flash memory storage system and reading, writing and deleting method thereof
US9229854B1 (en) * 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
CN106020731A (en) * 2016-05-23 2016-10-12 中国科学技术大学 Storage device, storage device array and network adapter
CN106471478A (en) * 2014-06-24 2017-03-01 Arm 有限公司 For executing multiple device controllers writing affairs and method in non-volatile data storage in the way of atom

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140208004A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Translation layer partitioned between host and controller
US9229854B1 (en) * 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
CN103399825A (en) * 2013-08-05 2013-11-20 武汉邮电科学研究院 Unlocked memory application releasing method
CN106471478A (en) * 2014-06-24 2017-03-01 Arm 有限公司 For executing multiple device controllers writing affairs and method in non-volatile data storage in the way of atom
CN104407820A (en) * 2014-12-12 2015-03-11 华为技术有限公司 Solid state disk storage system based data processing method, device and system
CN104636285A (en) * 2015-02-03 2015-05-20 北京麓柏科技有限公司 Flash memory storage system and reading, writing and deleting method thereof
CN106020731A (en) * 2016-05-23 2016-10-12 中国科学技术大学 Storage device, storage device array and network adapter

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390969A (en) * 2019-06-28 2019-10-29 苏州浪潮智能科技有限公司 A kind of method and system for realizing atomic write
CN110377230A (en) * 2019-06-29 2019-10-25 苏州浪潮智能科技有限公司 A kind of atom write-in method and device applied to solid state hard disk
CN111522510A (en) * 2020-04-22 2020-08-11 杭州宏杉科技股份有限公司 Command processing method and device
CN111522510B (en) * 2020-04-22 2022-08-09 杭州宏杉科技股份有限公司 Command processing method and device
WO2023093334A1 (en) * 2021-11-29 2023-06-01 上海商汤智能科技有限公司 System for executing atomic operation, and atomic operation method and apparatus

Also Published As

Publication number Publication date
CN108628760B (en) 2021-05-18

Similar Documents

Publication Publication Date Title
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
CN110658990A (en) Data storage system with improved preparation time
CN108628760A (en) The method and apparatus of atom write order
CN101271383A (en) Data processing system operating method, method and computer program product
CN107797934B (en) Method for processing de-allocation command and storage device
KR102595233B1 (en) Data processing system and operating method thereof
CN103324466B (en) Data dependency serialization IO parallel processing method
US11016904B2 (en) Storage device for performing map scheduling and electronic device including the same
CN107797938B (en) Method for accelerating de-allocation command processing and storage device
CN108664213A (en) Atom write command processing method based on distributed caching and solid storage device
CN104102458A (en) Multi-core CPU (Central Processing Unit) load balancing method, multi-core CPU and solid state disk
CN108628761A (en) Atomic commands execute method and apparatus
DE102020211544A1 (en) CONTROL, OPERATING PROCEDURES OF THE CONTROL AND STORAGE DEVICE WITH THE SAME
CN111324414B (en) NVM storage media emulator
US10713162B1 (en) System and method for computer data garbage collection acceleration using peer to peer data transfers
US9971549B2 (en) Method of operating a memory device
CN104598409A (en) Method and device for processing input and output requests
CN109840048A (en) Store command processing method and its storage equipment
US20190227740A1 (en) Atomic write method for multi-transaction
WO2018041258A1 (en) Method for processing de-allocation command, and storage device
CN106055488A (en) Data storage device and operating method thereof
CN108920293A (en) The processing method and solid state hard disk of solid state disk write failure
CN108984108A (en) For dispatching the method and solid storage device of I/O command
CN110096452A (en) Non-volatile random access memory and its providing method
US9507702B2 (en) Method of performing write access by distributing control rights to threads, memory controller and flash memory storage device using the same

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Patentee after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100192 Room 302, 3 / F, building B-2, Dongsheng Science Park, 66 xixiaokou Road, Haidian District, Beijing

Patentee before: MEMBLAZE TECHNOLOGY (BEIJING) Co.,Ltd.