CN110275757A - Multi-protocol storage is provided using system abstraction layer - Google Patents

Multi-protocol storage is provided using system abstraction layer Download PDF

Info

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
Application number
CN201810220905.8A
Other languages
Chinese (zh)
Inventor
王树柯
田冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN201810220905.8A priority Critical patent/CN110275757A/en
Publication of CN110275757A publication Critical patent/CN110275757A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/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

Multi-protocol storage is provided using system abstraction layer
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.
CN201810220905.8A 2018-03-16 2018-03-16 Multi-protocol storage is provided using system abstraction layer Pending CN110275757A (en)

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)

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

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

Patent Citations (4)

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

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