CN108628760A - The method and apparatus of atom write order - Google Patents
The method and apparatus of atom write order Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration 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
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.
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)
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)
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 |
-
2017
- 2017-03-16 CN CN201710158505.4A patent/CN108628760B/en active Active
Patent Citations (7)
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)
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. |