CN110275757A - Multi-protocol storage is provided using system abstraction layer - Google Patents
Multi-protocol storage is provided using system abstraction layer Download PDFInfo
- Publication number
- CN110275757A CN110275757A CN201810220905.8A CN201810220905A CN110275757A CN 110275757 A CN110275757 A CN 110275757A CN 201810220905 A CN201810220905 A CN 201810220905A CN 110275757 A CN110275757 A CN 110275757A
- Authority
- CN
- China
- Prior art keywords
- agreement
- ocssd
- task
- address
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 26
- 239000007787 solid Substances 0.000 description 18
- 238000013507 mapping Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
It provides and provides multi-protocol storage using system abstraction layer.Provided storage equipment, including control unit and the NVM storage medium for being coupled to control unit, control unit includes CPU, host interface and Media Interface Connector, operating system and one or more tasks are run on CPU, the service that task is provided by system abstraction layer interface that operating system provides using operating system, operating system includes one or more drivers, and operating system dispatches one or more tasks;The I/O command of one or more tasks processing access storage equipment of CPU operation.
Description
Technical field
This application involves storage equipment, and in particular, to it is a variety of to provide support based on the system abstraction layer of storage equipment
Store the storage equipment of agreement.
Background technique
Fig. 1 illustrates the block diagram of solid storage device.Solid storage device 102 is coupled with host, for mentioning for host
For storage capacity.Host can be coupled in several ways between solid storage device 102, and coupled modes include but is 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)), IDE (Integrated Drive Electr onics, integrated drive electronics), USB
(Universal Serial Bus, universal serial bus), PCIE (Peripheral Componen t Interconnect
Express, PCIe, high speed peripheral component interconnection), NVMe (NVM Express, high speed non-volatile memory), Ethernet, optical fiber it is logical
Road, cordless communication network etc. connect host and solid storage device 102.Host, which can be, to be set through the above way with storage
The standby information processing equipment communicated, for example, personal computer, tablet computer, server, portable computer, network exchange
Machine, router, cellular phone, personal digital assistant etc..Storing equipment 102 includes interface 103, control unit 104, one or more
A NVM chip 105 and DRAM (Dynamic Random Access Memory, dynamic RAM) 110.
Nand flash memory, phase transition storage, FeRAM (Ferroelectric RAM, ferroelectric memory), MRAM (Magnetic
Ran dom Access Memory, magnetoresistive memory), RRAM (deposit by Resistive Random Access Memory, resistive
Reservoir), XP oint memory etc. be common NVM.
Interface 103 can be adapted to for example, by the side such as SATA, IDE, USB, PCIE, NVMe, SAS, Ethernet, optical-fibre channel
Formula and host exchanging data.
Control unit 104 is used to control the data transmission between interface 103, NVM chip 105 and DRAM 110, also
For storage management, host logical address to flash memory physical address map, erasure balance, bad block management etc..Control unit 104 can
It is realized by the various ways of software, hardware, firmware or combinations thereof, for example, control unit 104 can be FPGA (Field-
Programmable gate arr ay, field programmable gate array), ASIC (Application Specific
Integrated Circuit, application specific integrated circuit) or a combination thereof form.Control unit 104 also may include place
Device (CPU) or controller are managed, software is executed in processor or controller and carrys out the hardware of manipulation and control component 104 to handle IO
(Input/Output) it orders.Control unit 104 is also coupled to DRAM 110, and may have access to the data of DRAM 110.?
DRAM can store the data of the I/O command of FTL table and/or caching.
Control unit 104 includes flash interface controller (or being Media Interface Connector controller, flash memory channel controller), is dodged
It deposits interface controller and is coupled to NVM chip 105, and sent out in a manner of the interface protocol to follow NVM chip 105 to NVM chip 105
It orders out, to operate NVM chip 105, and receives the command execution results exported from NVM chip 105.Known NVM chip connects
Mouth agreement includes " Toggle ", " ONFI " etc..
Memory target (Target) is shared CE (, Chip Enable, chip enabled) signal in nand flash memory encapsulation
One or more logic units (LUN, Logic UNit).It may include one or more tube cores (Die) in nand flash memory encapsulation.
Typically, logic unit corresponds to single tube core.Logic unit may include multiple planes (Plane).It is more in logic unit
A plane can be with parallel access, and multiple logic units in nand flash memory chip can execute order and report independently of one another
State.
Data are usually stored and read on storage medium by page.And data are erased in blocks.Block (also referred to as physical block) packet
Containing multiple pages.Block includes multiple pages.Page (referred to as Physical Page) on storage medium has fixed size, such as 17664 bytes.
Physical Page also can have other sizes.
Bulk includes coming from multiple logic units (LUN), also referred to as the physical block of each of logic unit group.Each logic
Unit can provide a physical block for bulk.For example, in the schematic diagram of bulk out shown in Fig. 2, in every 16 logic lists
Bulk is constructed on first (LUN).Each bulk includes 16 physical blocks respectively from 16 logic units (LUN).In the example of Fig. 2
In son, bulk 0 includes the physical block 0 of each logic unit in 16 logic units (LUN), and bulk 1 includes coming from
The physical block 1 of each logic unit (LUN).Bulk can also be constructed in many other ways.
For example, constructing page band in bulk, the Physical Page of each interior same physical address of logic unit (LUN) is constituted
" page band ".In Fig. 2, Physical Page P0-0, Physical Page P0-1 ... and Physical Page P0-x constitute page band 0, wherein Physical Page
P0-0, Physical Page P0-1 ... Physical Page P0-14 are for storing user data, and Physical Page P0-x is for storing according in band
The verification data that are calculated of all customer data.Similarly, in Fig. 2, Physical Page P2-0, Physical Page P2-1 ... and physics
Page P2-x constitutes page band 2.Physical Page for storing verification data can be located at any position in page band.As again
One example, to the correlation of Fig. 3 A in Fig. 3 A and its specification application No. is 201710752321.0 Chinese patent application
In description, another make of bulk is provided.
In solid storage device, safeguarded using FTL (Flash Translation Layer, flash translation layer (FTL)) from
Map information of the logical address to physical address.Logical address constitutes the solid-state that the upper layer software (applications)s such as operating system are perceived and deposits
Store up the memory space of equipment.Physical address is the address for accessing the physical memory cell of solid storage device.In related skill
Also implement address of cache using intermediate address form in art.Such as logical address is mapped as intermediate address, and then will be intermediate
Address is further mapped as physical address.
The table structure for storing the map information from logical address to physical address is referred to as FTL table.FTL table is that solid-state is deposited
Store up the important metadata in equipment.FTL table includes multiple FTL table clauses (or list item).In one case, each FTL table
The corresponding relationship of a logical page address and a Physical Page is had recorded in entry.In another case, each FTL table clause
In have recorded the corresponding relationships of continuous multiple logical page addresses and continuous multiple Physical Page.In still another case, each
The corresponding relationship of logical block address and physical block address is had recorded in FTL table clause.In the case that still another, in FTL table
Record the mapping relations and/or logical page address of logical block address and physical block address and the mapping relations of physical page address.
When handling read command from host, solid storage device is using the logical address carried in read command from FTL
Obtain corresponding physical address in table, and issue read request to NVM chip according to physical address, and receive NVM chip in response to
The data of read request output.When handling the write order from host, solid storage device is write order allocated physical address,
In FTL table record write order logical address and distribution physical address corresponding relationship, and according to the physical address of distribution to
NVM chip issues write request.
There are many agreement (also referred to as memory interface protocol) is stored, equipment is stored according to storage protocol access.For example, SCSI
(Small Co mputer System Interface, small computer system interface) agreement, NVMe (NVM Express) association
View.In SCSI protocol and NVMe agreement, storage equipment exposes linear logic to its electronic equipment (such as host) coupled
Address space.Host uses logical address access storage equipment.
Also there is OCSSD (Open Channel Solid State Drive, open channel solid state drive) storage
Agreement (" Open Channel Solid Drive Specification " Revision on January 29th, 2.0,2018, from
Http:// lightnvm.io/docs/OCSS D-2_0-20180129.pdf can get), the electricity coupled to same storage equipment
Sub- equipment exposes more physical message relevant to NVM storage medium, so that host is visited using the addressing system that OCSSD is defined
Ask the storage medium of storage equipment.The addressing system of OCSSD protocol definition can be used in NVMe agreement.
The addressing system that OCSSD is defined includes PU (Parallel Unit, Parallel Unit), group (Group), fritter
(chunk), logical block (Logical block) and r/w cell (Write Unit), respective meaning can be from OCSSD agreement
It obtains.
Summary of the invention
There are many available control unit, NVM chip, memories etc. for constructing storage equipment.For adaptation control unit,
The change of NVM chip, memory etc., needs to change or software of the developing operation in the processor of control unit is (or solid again
Part) so that the development cycle side length of storage equipment, development cost are got higher, more defects can be also introduced in the process of development.It is uncommon
Hope that providing system abstraction layer provides unified system architecture come the software (or firmware) in the processor to operate in control unit.
Unified system architecture is used for a variety of storage equipment with different control units, NVM chip, memory, is running in control
Software (or firmware) in the processor of component processed uses or with the software (or firmware) operated in the processor of control unit
Interaction.System architecture includes the NVM storage medium, unified using control unit and the interface of memory etc. of unified form.
The NVM storage medium for being desirable to provide unified form solves the problems, such as that the diversification of NVM chip introduces.NVM chip comes
It is accessed with different interface commands from different manufacturers, configuration with different capacity and storage unit (physics number of blocks,
Physical Page quantity, size of Physical Page that Physical Page includes etc.).The NVM storage medium of unified form shields above-mentioned otherness, makes
The software (or firmware) operated in the processor of control unit accesses NVM chip in a uniform manner, and need not take NVM core into account
The variation of piece.
Diversification is also presented in storage agreement, for example, OCSSD agreement, NVMe agreement, SCSI protocol etc..Equipment is stored to support
Storage agreement limit storage equipment purposes.Wish that storing equipment supports a variety of storage agreements, so that storage equipment can answer
For several scenes, a variety of computer/servers of arranging in pairs or groups, and the complexity for not dramatically increasing control unit is set with storage is obtained
Standby cost.
According to a first aspect of the present application, it provides the first storage equipment, including control unit and is coupled to control unit
NVM storage medium, control unit includes CPU, host interface and Media Interface Connector, on CPU operation operating system with one or more
A task, the service that task is provided by system abstraction layer interface that operating system provides using operating system, operating system
Including one or more drivers, operating system dispatches one or more tasks;One or more tasks processing of CPU operation
The I/O command of access storage equipment.
According to the first of the application first aspect the storage equipment, provides and set according to the second of the application first aspect the storage
It is standby, wherein task obtains I/O command from host interface by system abstraction layer interface call driver.
According to the second of the application first aspect the storage equipment, provides and set according to the third storage of the application first aspect
It is standby, wherein the driver of task call host interface obtains I/O command from host interface.
According to the second of the application first aspect the storage equipment, provides and set according to the 4th of the application first aspect the storage
It is standby, wherein task call queue driver obtains I/O command from the queue of host interface.
According to one of the first to fourth of the application first aspect storage equipment, provide according to the application first aspect
5th storage equipment, wherein one or more tasks and operating system are in identical level of privilege.
According to one of the first to fourth of the application first aspect storage equipment, provide according to the application first aspect
6th storage equipment, wherein one or more tasks are from operating system in different level of privilege.
According to the 6th of the application first aspect the storage equipment, provides and set according to the 7th of the application first aspect the storage
It is standby, wherein in response to task call system abstraction layer interface, level of privilege switching occurs.
According to one of the first to the 7th of the application first aspect storage equipment, provide according to the application first aspect
8th storage equipment, wherein task call Media Interface Connector driver accesses NVM storage medium.
According to one of the first to the 8th of the application first aspect storage equipment, provide according to the application first aspect
9th storage equipment, wherein Media Interface Connector driver includes virtual medium layer program, and virtual medium layer program will comply with OCSSD
The address of cache of agreement is the physical address of NVM chip.
According to the 9th of the application first aspect the storage equipment, provides and set according to the tenth of the application first aspect the storage
Standby, the address that wherein one or more tasks will comply with OCSSD agreement is supplied to Media Interface Connector driver to access NVM core
Piece.
According to the tenth of the application first aspect the storage equipment, provide according to the 11st of the application first aspect the storage
Equipment, wherein task follows the address of OCSSD agreement from the received I/O command instruction of host interface, and task will comply with OCSSD association
The address of view is supplied to Media Interface Connector driver.
According to one of the 9th to the 11st of the application first aspect the storage equipment, provide according to the application first aspect
The 12nd storage equipment, wherein task indicates that logical address, task are obtained with logically from the received I/O command of host interface
The corresponding address for following OCSSD agreement in location is simultaneously supplied to Media Interface Connector driver.
According to one of the first to the 12nd of the application first aspect storage equipment, provide according to the application first aspect
The 13rd storage equipment, the storage agreement that wherein task recognition is followed from the received I/O command of host interface, and according to IO
Order followed storage agreement that I/O command is transmitted to corresponding task.
According to one of the first to the 12nd of the application first aspect storage equipment, provide according to the application first aspect
The 14th storage equipment, wherein host interface identification the storage agreement that is followed of received I/O command, and according to I/O command
The corresponding task of the storage notice of settlement followed handles I/O command.
According to one of the first to the 14th of the application first aspect storage equipment, provide according to the application first aspect
The 15th storage equipment, wherein one or more tasks are application programs, and the address that application program will comply with OCSSD agreement mentions
Feeding medium interface drive program stores the memory space of equipment to access.
According to one of the 9th to the 12nd of the application first aspect the storage equipment, provide according to the application first aspect
The 16th storage equipment, the group that wherein virtual medium layer will comply with the address of OCSSD agreement is mapped as being coupled to control unit
Channel, the Parallel Unit (PU) that will comply with the address of OCSSD agreement is mapped as being coupled to the logic unit of control unit, will abide by
The fritter (block) for following the address of OCSSD agreement is mapped as being coupled to the physical block of logic unit.
According to the 16th of the application first aspect the storage equipment, provides and deposited according to the 17th of the application first aspect the
Equipment is stored up, it is the Physical Page in physical block that wherein virtual medium layer, which also will comply with the logical block maps of the address of OCSSD agreement, or
The r/w cell that person will comply with the address of OCSSD agreement is mapped as the Physical Page in physical block.
According to one of the 9th to the 12nd of the application first aspect the storage equipment, provide according to the application first aspect
The 18th storage equipment, the storage agreement that wherein task recognition is followed from the received I/O command of host interface, if I/O command
OCSSD agreement is followed, task obtains the address for following OCSSD from I/O command, and the address that will comply with OCSSD agreement is supplied to Jie
Matter interface drive program;If task obtains the logic for following NVMe agreement from I/O command if I/O command follows NVMe protocol
Address obtains with logical address the corresponding address for following OCSSD agreement, and the address that will comply with OCSSD agreement is supplied to Jie
Matter interface drive program.
According to the 16th or the 17th of the application first aspect the storage equipment, provide according to the application first aspect
19th storage equipment, the Parallel Unit (PU) that wherein virtual medium layer will comply with the address of OCSSD agreement are mapped as coupling
Multiple logic units of control unit are closed, or will comply with multiple Parallel Units (PU) of the address of OCSSD agreement and be mapped as
It is coupled to a logic unit of control unit.
According to the 19th of the application first aspect the storage equipment, provides and deposited according to the 20th of the application first aspect the
Equipment is stored up, the fritter (chunk) that wherein virtual medium layer will comply with the address of OCSSD agreement is mapped to the more of NVM storage medium
A physical block.
According to the 20th of the application first aspect the storage equipment, the 21st according to the application first aspect is provided
Equipment is stored, wherein the multiple physical blocks for being mapped to same fritter (chunk) are organized as bulk.
According to one of the first to the 21st of the application first aspect storage equipment, provide according to the application first party
The 22nd storage equipment in face, one of task is reliable virtual medium management role, reliable virtual medium management role
The multiple PU and/or fritter (chunk) tissue that will comply with OCSSD agreement are bulk.
According to the 22nd of the application first aspect the storage equipment, the 20th according to the application first aspect is provided
Three storage equipment write IO life for carrying wherein the bulk provided from reliable virtual medium management role obtains PU and logical block
Enable the data to be written.
According to the 22nd or the 23rd of the application first aspect the storage equipment, provide according to the application first party
The 24th storage equipment in face, wherein in response to the data presence not correctable error read from the first logical block, from reliable
Virtual medium management role obtain the first logical block belonging to the first bulk, from other logical blocks of the first bulk read data with
Restore the data of the first logical block storage.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, to embodiment or will show below
There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
The some embodiments recorded in application can also be obtained according to these attached drawings other for those of ordinary skill in the art
Attached drawing.
Fig. 1 is the block diagram of solid storage device in the related technology;
Fig. 2 illustrates the schematic diagram of bulk;
Fig. 3 is the schematic diagram according to the storage equipment of the embodiment of the present application;
Fig. 4 is the schematic diagram according to the storage equipment of the another embodiment of the application;
Fig. 5 is the schematic diagram according to the application still storage equipment of another embodiment;
Fig. 6 is the schematic diagram according to the storage equipment of the application another embodiment;And
Fig. 7 is the schematic diagram according to the storage equipment of the another embodiment of the application.
Specific embodiment
Below with reference to the attached drawing in the embodiment of the present application, technical solutions in the embodiments of the present application carries out clear, complete
Ground description, it is clear that described embodiment is some embodiments of the present application, instead of all the embodiments.Based on the application
In embodiment, those skilled in the art's every other embodiment obtained without making creative work, all
Belong to the range of the application protection.
Fig. 3 is the schematic diagram according to the storage equipment of the embodiment of the present application.
Storage equipment includes the control unit for being coupled to NVM storage medium Yu memory (for example, DRAM).Optionally, make
DRAM is partly or entirely substituted with SRAM.SRAM can be integrated in inside control unit.Control includes one or more CPU, is situated between
Matter interface, host interface, the storage control for accessing memory, error checking unit (ECC), and it is optionally a kind of or
A variety of accelerators.Media Interface Connector is for accessing NVM storage medium.
Host interface is used for host exchange command and data.For example, host and storage equipment pass through NVMe/PCIe agreement
Communication, host interface handle PCIe protocol data packet, extract NVMe protocol command, and return to NVMe protocol command to host
Processing result.As another example, host interface is coupled to network for equipment is stored, such as passes through Ethernet, wireless ether
Net, optical-fibre channel are coupled to network.Error checking unit is such as BCH, LDPC codec, for being situated between to write-in NVM storage
The data of matter carry out error checking coding, and carry out error checking decoding to the data read from NVM storage medium.Accelerator
Including one or more hardware accelerators, for example, AI (artificial intelligence) accelerator, multimedia accelerator, chained list/tree construction access
Accelerator etc..
The runs software on the CPU of control unit, software cooperate with to handle from host and connect with other hardware of control unit
The received I/O command of mouth, to provide the store function of storage equipment, and optionally other function.Software include operating system with
One or more tasks.Operating system provides system abstraction layer interface, and one or more tasks are connect by using system abstraction layer
Mouth carrys out the service provided using operating system.One or more tasks are used for alone or collaboration handles I/O request.For example, one is appointed
Business is FTL task, accesses FTL table for logical address based on the received and exports physical address;One task is that (rubbish returns GC
Receive) task, for recycling the valid data in NVM storage medium and wiping the physical memory cell in NVM storage medium;One
Task is storage agreement (such as NVMe) task, and the received I/O command for following storage agreement or other orders, are asked for identification
Other task assist process orders are asked, and command processing result is supplied to the sending of order in a manner of following storage agreement
Side.Still optionally, the one or more tasks run on CPU are application programs.Application program provides such as numerical value and calculates, closes
The multi abilities such as keyword retrieval, image characteristics extraction.As an example, host and application program are assisted by privately owned order or NVMe
The explosion command of view communicates.The processing result of application program is supplied to host by host interface.
Operating system provide Memory Allocation, task management (creation, delete, scheduling etc.), intertask communication, interrupt management,
Critical resource management etc. services (or function), and provides service to task by system abstraction layer interface.Operating system is for example
Operating system existing in the prior art, or generating in the future.In one embodiment, operating system is not distinguished User space and is appointed
Business and kernel state task, operating system and task run CPU identical level of privilege, task using system abstraction layer interface without
Cause the switching of User space and kernel state, to improve the processed efficiency of task.In yet another embodiment, operating system
Distinguish User space task and kernel state task, operating system and task run and ask processing IO in the different level of privilege of CPU
Application program (task) is operated in User space in kernel state by the one or more task runs asked, so that both guarantee was handled
The execution efficiency of the task of I/O request also avoids application program (task) from endangering the safety of operating system.Operate in kernel state
Do not cause the switching of system mode (kernel state and User space) when task is using system abstraction layer interface, and application program (task)
The switching of system mode is caused (to enter kernel state by User space, complete in operating system processing when using system abstraction layer interface
Afterwards, then by kernel state User space is returned to).
Operating system further includes one or more drivers, for example, host interface driving, Media Interface Connector driving, queue
Driving, storage drive etc..Driver provides simplified usage mode for hardware, hard to promote task and operating system to use
Part.One or more system abstraction layer interfaces are for accessing hardware (host interface, Media Interface Connector, Memory Controller, acceleration
Device, error checking unit etc.), system abstraction layer interface based on the received completed using driver to hard by hardware access requests
The access of part, and obtain access result.
Optionally, system abstraction layer interface also provides such as POSIX standard operation system of (portable operating system interface)
System interface, and/or the standard interface towards high-level programming language of such as STL (Standard Template Library).
Fig. 4 is the schematic diagram according to the storage equipment of the another embodiment of the application.
According to the embodiment of Fig. 4, compared with the embodiment that Fig. 3 is shown, the software of storage unit operation further includes virtually being situated between
Matter layer.As an example, Media Interface Connector driving uses virtual medium layer, to pass through system abstraction layer interface to one or more tasks
The unified addressing system for meeting OCSSD agreement of exposure.It is to be appreciated that virtual medium layer is the program operated on CPU.
As an example, the addressing system that virtual medium layer shows will be coupled into the physics of the NVM storage medium of control unit
Address expose as include OCSSD protocol definition group (group), PU (Parallel Unit), fritter (chunk) and logical block
Parts such as (logical block).To which for following the I/O request of OCSSD agreement, task can be used and obtain from I/O request
Physical address directly access Media Interface Connector driving, and need not inquiry FTL table.
Optionally, the addressing system that virtual medium layer shows will be coupled into the NVM storage medium of control unit physically
Location exposes as virtual NVM chip.Using channel (channel), logic unit (LUN), physical block (physical block) with
The part such as Physical Page (physical page) addresses virtual NVM chip.
Fig. 5 is the schematic diagram according to the application still storage equipment of another embodiment.
In order to which clearly purpose, the host that Fig. 5 illustrates the control unit of the storage equipment according to the embodiment of the present application connect
Mouth and Media Interface Connector operate in the host interface driving, Media Interface Connector driving and processing of the software on the CPU of control unit
The task of OCSSD agreement.Optionally, the software run on the CPU of control unit further includes application program.
Host interface will store equipment for example, by PCIe link (not shown) and be coupled to host, and Media Interface Connector is by control unit
Part is coupled to the NVM chip of storage equipment.NVM chip is coupled to control unit by multiple channels.NVM chip is such as NAND
Flash memory.4 channels are illustrated in Fig. 5.4 logic units have been coupled on each channel.
The group (group) of physical address is mapped to the channel for coupling NVM chip by virtual medium layer, by physical address
PU be mapped to the logic unit (LUN) of NVM chip, fritter (chunk) is mapped to the physical block of NVM chip, by logical block
(logical block) is mapped to the Physical Page of NVM chip.Optionally, virtual medium layer is by logical block (logical block)
It is mapped to the part (referred to as data frame) of Physical Page, and r/w cell (Write Unit) is mapped to Physical Page.To virtually be situated between
The storage unit for the NVM chip that matter layer obtains being accessed according to the physical address for following OCSSD agreement.In one example, empty
Quasi- dielectric layer obtains the quantity for being coupled to the channel of NVM chip of control unit in storage equipment, is each channel number, and will
Group (group) is mapped to channel number, to address a channel according to group (group).Similarly, virtual medium layer Acquisition channel
In number of logic cells, be each logical unit number, and PU be mapped to logical unit number, according to group (group)
With the specified logic unit in PU addressing dedicated tunnel.Optionally, having the same match in each channel for being coupled to control unit
Set (for example, respectively containing the logic unit of identical quantity, each logic unit is also identical).Still optionally, it is coupled to control unit
Each channel of part has different configurations (for example, the logic unit and/or each logic unit that respectively contain different number are not
Together).Still optionally, each channel couples different NVM chips, for example, the 3D NAND of the NVM chip of channel coupling dodges
It deposits, and the NVM chip of another channel coupling is 3D XPoint chip or MRAM chip.
In one embodiment, virtual medium layer directly provides received physical address to Media Interface Connector, to access NVM
Chip.In having an example, virtual medium layer obtains (parallel single corresponding to group (group), PU from received physical address
Member), each section of fritter (chunk) and logical block (logical block) etc., each section is respectively mapped to channel, logic
Unit, physical block and Physical Page.Mapping is the mapping for example converted by analytic expression, or by searching for table mapping.
In yet another embodiment, from group (group), PU (Parallel Unit), fritter (chunk) and logical block
The each section of (logical block), the mapping to channel, logic unit, physical block and Physical Page are one-to-many or many-one
Mapping.For example, being mapped to the same channel for multiple groups, a PU is mapped to multiple logic units.Optionally, in China
It is provided in patent application (201710915806.7) by multiple embodiments of virtual LUN mapping to logic unit, by its full text
The application is incorporated by reference into, and by using PU as the substitution of virtual LUN, by virtual LUN mapping to logic unit
PU is mapped to logic unit by mode.So that multiple PU map to same logical units or a PU is mapped to multiple patrol
Collect unit.
It include such as 8 PU in group in the virtual NVM storage medium that virtual medium layer shows in another example, and
PU includes such as 1024 fritters (chunk).And be coupled on each channel of control unit and coupled 2 NVM chips, each
NVM chip includes logic unit, and each logic unit includes 512 physical blocks.Virtual medium layer, the mapping shown according to table 1
Relationship will be mapped to physical address (channel, logic list of NVM chip according to the physical address of OCSSD agreement (group, PU, fritter)
Member, physical block), and by the logical block of the OCSSD agreement address (Logical block) directly as the Physical Page of NVM chip
Location.
To which one of ordinary skill in the art will realize the address of cache by virtual medium layer, will comply with OCSSD association
The storage medium that the physical address of view is showed, by configuring with identical or different (for example, logic unit different in every chip
Quantity, different physics number of blocks in every LUN, different Physical Page quantity, the size etc. of Physical Page in every physical block) NVM
Chip provides.Optionally, different configuration of NVM chip is mapped as the identical object by following OCSSD agreement by virtual medium layer
The storage medium that reason address is showed.When to change in the NVM chip for storing equipment, the application journey of storage equipment is used
Sequence/host need not be modified, also need not modification by each task that virtual medium layer accesses NVM chip in solid storage device.
For example, each LUN includes 512 physical blocks in a kind of NVM chip (A), and each LUN includes 384 in another NVM chip (B)
Both NVM chips are all mapped as every PU with 512 fritters by following OCSSD agreement by a physical block, virtual medium layer
The storage medium that is showed of physical address, 1 PU is mapped to 1 logic unit of NVM chip A, and 1 PU is mapped to
The part of multiple 512 physical blocks is given up not in 2 logic units of NVM chip B and 2 logic units of NVM chip B
With, or be total to other purposes and be not applied to user.And the mapping mode by configuration change virtual medium layer.
Optionally, virtual medium layer will comply with logical block (logical block) mapping of the physical address of OCSSD agreement
For the data cell in the Physical Page of NVM chip, Physical Page includes one or more data cells.And virtual medium layer will abide by
The r/w cell (write unit) for following the physical address of OCSSD agreement is mapped as the Physical Page of NVM chip.
Table 1
With continued reference to Fig. 5, host issues I/O command to storage equipment according to OCSSD agreement.Host interface receiving host mentions
The I/O command of confession.The task of processing OCSSD agreement is based on the poll to host interface state or interrupting identification has order to appear in
Host interface, calls host interface driving access host interface (1.), and the IO obtained from host interface is ordered in host interface driving
Enable the task (2.) for being supplied to processing OCSSD agreement.By taking read command as an example, the task analysis I/O command of OCSSD is handled, it is extracted
In the physical address for following OCSSD agreement, by physical address be supplied to Media Interface Connector driving (3.).Media Interface Connector controls and receives
Physical address carries out necessary mapping to physical address by virtual medium layer, in access Media Interface Connector to access NVM chip
(④)。
Fig. 6 is the schematic diagram according to the storage equipment of the application another embodiment.
According to the storage equipment of the embodiment of Fig. 6, while supporting the I/O command for following OCSSD agreement and following NVMe agreement
I/O command.Host Command is run on the CPU of storage unit obtains task, the handling OCSSD agreement of the task and processing NVMe
The task of agreement, both rear processing respectively follow the I/O command of OCSSD agreement and follow the I/O command of NVMe agreement.Optionally,
The acquisition of Host Command had both been handled by same task, processing follows the order of OCSSD agreement, also processing follows the IO of NVMe agreement
Order.
According to the embodiment of Fig. 6, Host Command obtains the storage agreement that task follows the I/O command received
(OCSSD agreement, NVMe agreement, and optionally other storage agreements) distinguishes, and optionally, according to according to not going out
The storage protocol type come, the mark of storage agreement used in addition instruction in I/O command, and/or I/O command is distributed to
It handles the task of OCSSD agreement or handles the task of NVMe agreement.
Host issues I/O command to storage equipment according to storage agreement.The I/O command that host interface receiving host provides.It is main
Machine order obtains task based on the poll to host interface state or interrupting identification has order to appear in host interface, calls host
Interface driver accesses host interface (5), and the I/O command obtained from host interface is supplied to Host Command and obtained by host interface driving
Take task (6).
By taking read command as an example, Host Command obtains task analysis I/O command, identifies its storage agreement followed.If IO is ordered
Order follows OCSSD agreement, and Host Command obtains the task (7) that the I/O command is handed to processing OCSSD agreement by task.Processing
The task of OCSSD agreement extracts the physical address for following OCSSD agreement in received I/O command, and physical address is supplied to Jie
Matter interface driver (8).Media Interface Connector controls and receives physical address, carries out necessary mapping to physical address by virtual medium layer,
In access Media Interface Connector to access NVM chip (9).
If I/O command follows NVMe agreement, Host Command, which obtains task recognition, has order to appear in host interface, calls master
Machine interface driver accesses host interface (10), and the I/O command obtained from host interface is supplied to Host Command by host interface driving
Acquisition task (11).Host Command obtains task analysis I/O command, identifies that it follows NVMe storage agreement, and by the I/O command
Hand to the task (12) of processing NVMe agreement.The task of processing NVMe agreement is extracted in received I/O command and follows NVMe association
Logical address is supplied to FTL task (13) by the logical address of view.Logical address exports same logic to FTL task based on the received
The corresponding physical address in address and the task (13) for returning to processing NVMe agreement.Optionally, FTL task provides physically
Location has with the identical format of physical address and meaning for following OCSSD agreement, and in other words, FTL task provides physically
Location is the physical address for following OCSSD agreement exposed by virtual medium layer.Handle the task of NVMe agreement based on the received
Physical address, access Media Interface Connector driving (14).Media Interface Connector controls and receives physical address, by virtual medium layer to physical address
Necessary mapping is carried out, in access Media Interface Connector to access NVM chip (15).
In alternative embodiments, storage equipment is dynamically or statically configured to know storage that I/O command is followed
Agreement.To save Host Command obtain task, and by the state for occurring I/O command to be processed to host interface bind to
OCSSD protocol processing task or NVMe protocol processing task.It is responded by OCSSD protocol processing task or NVMe protocol processing task
Host interface driving acquisition I/O command is accessed in the pending I/O command of host interface and is handled.Although not ordering IO
It enables followed storage agreement be identified, depends on binding relationship, the I/O command that OCSSD protocol processing task obtains always is abided by
The I/O command of OCSSD agreement is followed, and the I/O command that NVMe protocol process module obtains always follows the I/O command of NVMe agreement.It is main
Machine interface can quilt when solid storage device works with the binding relationship of OCSSD protocol processing task or NVMe protocol processing task
Change.
In yet another alternative embodiment, obtaining for Host Command had both been handled by same task (referred to as combined task)
It takes, handle the order for following OCSSD agreement, also processing follows the I/O command of NVMe agreement.And the control unit in storage equipment
Multiple combined tasks are run in part, each combined task respectively handles I/O command, to handle multiple I/O commands simultaneously, promotion is deposited
It stores up the handling capacity of equipment I/O command processing and reduces because of task switching bring I/O command processing delay.
In still yet another alternative embodiment, host interface identifies the storage association that received I/O command is followed
View, and according to recognition result, indicate OCSSD protocol processing task or the pending I/O command of NVMe protocol processing task.Example
Such as, host interface is the I/O command difference maintenance command queue for following the I/O command of OCSSD agreement and following NVMe agreement, according to
I/O command is inserted respective command queue by the agreement that I/O command is followed.Command queue for OCSSD agreement is the same as processing
The task of OCSSD agreement is bound, and the command queue for NVMe agreement is the same as the task binding for handling NVMe agreement.In response to order
There is I/O command to be processed in queue, and the task of the task and processing NVMe agreement that handle OCSSD is based on to command queue's state
Poll or interrupting identification has order to appear in in the command queue respectively bound.
The I/O command of NVMe agreement is followed using logical address access storage equipment, needs to obtain same patrol by FTL task
Collect the corresponding physical address in address.And the I/O command for following OCSSD agreement is deposited using the physical address access for following OCSSD agreement
Equipment is stored up, to carry out address conversion without FTL task.And according to an embodiment of the present application, the receiving of virtual medium layer is abided by
The physical address of OCSSD agreement is followed for accessing NVM chip, to handle the task of NVMe agreement and handle OCSSD agreement
Task is driven using the physical address access Media Interface Connector for following OCSSD agreement of same format.By this method, in single storage
In equipment, OCSSD was both supported to store agreement, and also NVMe had been supported to store agreement.Optionally, or further, storage equipment is also transported
The task of row processing SCSI protocol, and/or handle the task of other storage agreements.These handle the task of different storage agreements,
If desired, being the physical address for following OCSSD agreement by the address conversion carried in received I/O command, and accesses medium and connect
Mouth driving.A variety of storage agreements can easily thus be supported according to the storage equipment of the embodiment of the present application, and single in support
When storing agreement, not because that other can be supported to store agreements due to loss of performance or efficiency.The handling different storage agreements of the task shares
Identical Media Interface Connector driving.
Fig. 7 is the schematic diagram according to the storage equipment of the another embodiment of the application.
According to the storage equipment of the embodiment of Fig. 7, compared with the storage equipment according to the embodiment of Fig. 6, in storage unit
CPU on virtual medium management role also reliable for operation.Reliable virtual medium management role will comply with multiple PU of OCSSD agreement
And/or fritter (chunk) tissue is bulk, to provide the data protection of enhancing for storage equipment.Optionally, reliable virtual medium
The function of management role is incorporated into other tasks of such as FTL task, thus when using bulk correlation function, without generation
Task switching.Still optionally, the function of reliable virtual medium management role is incorporated into virtual medium layer, and will comply with
OCSSD agreement fritter (chunk) is mapped to multiple physical blocks of NVM chip, and will be mapped to that the more of same fritter (chunk)
A physical block tissue is bulk, so that the fritter for following OCSSD be made to be mapped as bulk, and has the data reliability of enhancing.
With continued reference to Fig. 7, the PU0 that virtual medium layer will comply with the physical address of OCSSD is mapped to logic unit 710, will
PU1 is mapped to logic unit 712, PU2 is mapped to logic unit 714, and PU3 is mapped to logic unit 716.It is reliable empty
Quasi- medium management task constructs PU group (being denoted as PUG0) with PU0, PU1, PU2 and PU3, and bulk is constructed in PU group (PUG0).
For example, construct bulk in such a way that Fig. 2 is shown, or by application No. is the figures of 201710752321.0 Chinese patent application
Bulk is constructed to the mode of the associated description of Fig. 3 A in 3A and its specification, or is constructed greatly in such a way that the prior art provides
Block.
For writing I/O command (also referred to as write order), the bulk that reliable virtual medium management role provides is write for carrying
The data of order.Bulk that FTL task is provided from reliable virtual medium management role (and in bulk page band (or according to
OCSSD agreement is referred to as logical block (Logical block) band, and logical block band includes multiple logical blocks, is stored thereon
By the user data and verification data of RAID configuration)) in the available physical address of distribution, the form of available physical address abides by
Follow OCSSD agreement.For example, reliable virtual medium management role is by PU group (PUG0) and wherein, available page band is supplied to
FTL task.When FTL task is write order allocated physical address, physical address is obtained from the available page band of PU group (PUG0),
And the physical address of distribution is recorded in FTL table in association with logical address.In response to the available page item of PU group (PUG0)
Band is used up, and reliable virtual medium management role also provides another available PU group.
For read command, occurring what error checking unit can not correct from the data that NVM chip obtains according to read command
When mistake, each logical block in the page band where requesting reliable virtual medium management role to provide read command data streams read
The address (Logical block), and the data stored from each logical block of page band to the read command data to be read into
Row restores.
Reliable virtual medium management role records and bulk and/or page band also in each fritter or logical block of bulk
Relevant metadata.To Fig. 3 B's in Fig. 3 B and its specification application No. is 201710752321.0 Chinese patent application
The meaning and usage mode of metadata are provided in associated description.
A kind of solid storage device is additionally provided according to an embodiment of the present application, which includes that controller is deposited with non-volatile
Memory chip, wherein controller executes any one processing method provided by the embodiments of the present application.
A kind of program being stored on readable medium is additionally provided according to an embodiment of the present application, when by solid storage device
Controller operation when so that solid storage device execute according to any one processing method provided by the embodiments of the present application.
Although the preferred embodiment of the application has been described, it is created once a person skilled in the art knows basic
Property concept, then additional changes and modifications may be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as
It selects embodiment and falls into all change and modification of the application range.Obviously, those skilled in the art can be to the application
Various modification and variations are carried out without departing from spirit and scope.If in this way, these modifications and variations of the application
Belong within the scope of the claim of this application and its equivalent technologies, then the application is also intended to encompass these modification and variations and exists
It is interior.
Claims (10)
1. a kind of storage equipment, including control unit and the NVM storage medium for being coupled to control unit, control unit include CPU,
Host interface and Media Interface Connector, operation operating system and one or more tasks, task are by what operating system provided on CPU
System abstraction layer interface carrys out the service provided using operating system, and operating system includes one or more drivers, operating system
Dispatch one or more tasks;The I/O command of one or more tasks processing access storage equipment of CPU operation.
2. storage equipment according to claim 1, task is connect by system abstraction layer interface call driver from host
Mouth obtains I/O command.
3. storage equipment according to claim 1 or 2, wherein task call Media Interface Connector driver access NVM storage
Medium, wherein Media Interface Connector driver includes virtual medium layer program, and virtual medium layer program will comply with the ground of OCSSD agreement
Location is mapped as the physical address of NVM chip.
4. storage equipment according to claim 3, wherein task indicates logical address from the received I/O command of host interface,
Task obtains the corresponding address for following OCSSD agreement with logical address and is supplied to Media Interface Connector driver.
5. storage equipment described in one of -4 according to claim 1, wherein task recognition is from the received I/O command institute of host interface
The storage agreement followed, and I/O command is transmitted to corresponding task by the storage agreement followed according to I/O command.
6. storage equipment described in one of -5 according to claim 1, wherein one or more tasks are application program, application program
The address that will comply with OCSSD agreement is supplied to Media Interface Connector driver to access the memory space of storage equipment.
7. storage equipment according to claim 3 or 4, wherein virtual medium layer will comply with the group of the address of OCSSD agreement
It is mapped as being coupled to the channel of control unit, the Parallel Unit (PU) that will comply with the address of OCSSD agreement is mapped as being coupled to control
The logic unit of component processed, the fritter (block) that will comply with the address of OCSSD agreement are mapped as being coupled to the physics of logic unit
Block.
8. storage equipment according to claim 7, wherein virtual medium layer will comply with one of the address of OCSSD agreement simultaneously
Row unit (PU) is mapped as being coupled to multiple logic units of control unit, or will comply with OCSSD agreement address it is multiple
Parallel Unit (PU) is mapped as being coupled to a logic unit of control unit.
9. storage equipment described in one of -8 according to claim 1, wherein task recognition is from the received I/O command institute of host interface
The storage agreement followed, if I/O command follows OCSSD agreement, task obtains the address for following OCSSD from I/O command, and will comply with
The address of OCSSD agreement is supplied to Media Interface Connector driver;If if I/O command follows NVMe protocol, task is from I/O command
The logical address for following NVMe agreement is obtained, obtains with logical address the corresponding address for following OCSSD agreement, and will comply with
The address of OCSSD agreement is supplied to Media Interface Connector driver.
10. storage equipment described in one of -9 according to claim 1, one of task is reliable virtual medium management role,
Reliable virtual medium management role will comply with multiple PU of OCSSD agreement and/or fritter (chunk) tissue is bulk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810220905.8A CN110275757A (en) | 2018-03-16 | 2018-03-16 | Multi-protocol storage is provided using system abstraction layer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810220905.8A CN110275757A (en) | 2018-03-16 | 2018-03-16 | Multi-protocol storage is provided using system abstraction layer |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110275757A true CN110275757A (en) | 2019-09-24 |
Family
ID=67957913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810220905.8A Pending CN110275757A (en) | 2018-03-16 | 2018-03-16 | Multi-protocol storage is provided using system abstraction layer |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110275757A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399771A (en) * | 2020-02-28 | 2020-07-10 | 苏州浪潮智能科技有限公司 | Protocol configuration method, device and equipment of MCS storage system |
CN113472744A (en) * | 2021-05-31 | 2021-10-01 | 浪潮(北京)电子信息产业有限公司 | Data interaction method, device, equipment and medium under different storage protocols |
CN114138422A (en) * | 2021-12-10 | 2022-03-04 | 上海交通大学 | Extensible NVMe storage virtualization method and system |
CN114168068A (en) * | 2020-09-10 | 2022-03-11 | 美光科技公司 | Memory search component |
CN114138422B (en) * | 2021-12-10 | 2024-05-28 | 上海交通大学 | Scalable NVMe storage virtualization method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627377A (en) * | 2007-03-09 | 2010-01-13 | 微软公司 | Abstracting operating environment from operating system |
US20100250836A1 (en) * | 2009-03-25 | 2010-09-30 | Anobit Technologies Ltd | Use of Host System Resources by Memory Controller |
CN106575271A (en) * | 2014-06-23 | 2017-04-19 | 谷歌公司 | Managing storage devices |
CN106708425A (en) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | Distributed multimode storage management |
-
2018
- 2018-03-16 CN CN201810220905.8A patent/CN110275757A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627377A (en) * | 2007-03-09 | 2010-01-13 | 微软公司 | Abstracting operating environment from operating system |
US20100250836A1 (en) * | 2009-03-25 | 2010-09-30 | Anobit Technologies Ltd | Use of Host System Resources by Memory Controller |
CN106575271A (en) * | 2014-06-23 | 2017-04-19 | 谷歌公司 | Managing storage devices |
CN106708425A (en) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | Distributed multimode storage management |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399771A (en) * | 2020-02-28 | 2020-07-10 | 苏州浪潮智能科技有限公司 | Protocol configuration method, device and equipment of MCS storage system |
CN111399771B (en) * | 2020-02-28 | 2023-01-10 | 苏州浪潮智能科技有限公司 | Protocol configuration method, device and equipment of MCS storage system |
CN114168068A (en) * | 2020-09-10 | 2022-03-11 | 美光科技公司 | Memory search component |
CN114168068B (en) * | 2020-09-10 | 2024-05-14 | 美光科技公司 | Memory search component |
CN113472744A (en) * | 2021-05-31 | 2021-10-01 | 浪潮(北京)电子信息产业有限公司 | Data interaction method, device, equipment and medium under different storage protocols |
CN114138422A (en) * | 2021-12-10 | 2022-03-04 | 上海交通大学 | Extensible NVMe storage virtualization method and system |
CN114138422B (en) * | 2021-12-10 | 2024-05-28 | 上海交通大学 | Scalable NVMe storage virtualization method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901794A (en) | The device and method of garbage collection are operated using Host Idle | |
CN105745627A (en) | Address translation for a non-volatile memory storage device | |
CN106681931A (en) | Data storage device and operating method thereof | |
US20130275657A1 (en) | Data storage device and operating method thereof | |
CN107908571B (en) | Data writing method, flash memory device and storage equipment | |
CN103999060A (en) | Solid-state storage management | |
US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN108694135A (en) | For the method and apparatus that persistently cache stores data in page cache | |
CN109871182A (en) | Storage device and its operating method and the method for issuing order | |
CN110275757A (en) | Multi-protocol storage is provided using system abstraction layer | |
WO2024098635A1 (en) | Raid management method and system, and electronic device and non-volatile readable storage medium | |
CN105159800A (en) | Data recovery method, data backup method, data recovery equipment, data backup equipment, data recovery system and data backup system | |
CN109164976A (en) | Optimize storage device performance using write buffer | |
CN109558333A (en) | Solid storage device NameSpace with variable additional storage space (OP) | |
CN110377221A (en) | Dual-port solid storage device and its data processing method | |
CN109976664A (en) | The daily record data tissue of solid storage device | |
CN110554833B (en) | Parallel processing IO commands in a memory device | |
CN113468083B (en) | Dual-port NVMe controller and control method | |
KR102270103B1 (en) | Data storage device and operating method thereof | |
CN109426436A (en) | Rubbish recovering method and device based on variable length bulk | |
CN109840048A (en) | Store command processing method and its storage equipment | |
CN109213425A (en) | Atomic commands are handled in solid storage device using distributed caching | |
CN110865945B (en) | Extended address space for memory devices | |
CN112148626A (en) | Storage method and storage device for compressed data | |
CN110515861A (en) | Handle the storage device and method thereof of flash command |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd. Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd. |