CN103176858A - Storage device with multiple solid-state discs - Google Patents

Storage device with multiple solid-state discs Download PDF

Info

Publication number
CN103176858A
CN103176858A CN201310077076XA CN201310077076A CN103176858A CN 103176858 A CN103176858 A CN 103176858A CN 201310077076X A CN201310077076X A CN 201310077076XA CN 201310077076 A CN201310077076 A CN 201310077076A CN 103176858 A CN103176858 A CN 103176858A
Authority
CN
China
Prior art keywords
data
storage unit
physical address
memory device
unit group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310077076XA
Other languages
Chinese (zh)
Other versions
CN103176858B (en
Inventor
殷雪冰
路向峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN201611089871.0A priority Critical patent/CN107066202B/en
Priority to CN201310077076.XA priority patent/CN103176858B/en
Publication of CN103176858A publication Critical patent/CN103176858A/en
Priority to PCT/CN2014/073155 priority patent/WO2014139390A1/en
Application granted granted Critical
Publication of CN103176858B publication Critical patent/CN103176858B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention provides a storage device with multiple solid-state discs. The storage device comprises a network adapter, a controller and a plurality of drivers coupled on the controller. The network adapter connects the storage device to a network in a coupling mode, and receives access requests from a client-side, and the access requests indicate first data to be written into a first logic address used for the storage device. The controller generates a first physical address for the first logic address, generates writing commands and sends the writing commands to one of the plurality of drivers, and indicates the first data to be written into the first physical address. The controller also confirms whether detection data are generated, if the detection data are generated, first detection data based on the first data are generated, and a second writing command is generated to be sent to one of the plurality of drivers, and the second writing command instructs the drivers to write the first detection data into a second physical address. The storage device with the multiple solid-state discs solves the writing amplification problem of a redundant array of inexpensive disks (RAID) storage device formed by the solid-state discs, and the service life of the storage device is prolonged.

Description

Memory device with a plurality of solid-state disks
Technical field
The present invention relates to solid storage device (Solid Storage Device, SSD), more specifically, the present invention relates to for the memory device of accessing simultaneously a plurality of solid-state disks.
Background technology
Similar with the mechanical type hard disk, solid storage device is also large capacity, the non-volatile memory device for computer system.Solid storage device generally with flash memory (Flash) as storage medium.High performance solid storage device is used to high-performance computer.
Memory target (Target) is one or more logical blocks (Logic Unit) of shared chip enable (CE, the Chip Enable) signal in the nand flash memory encapsulation.Each logical block has logical unit number (LUN, Logic Unit Number).Can comprise one or more tube cores (Die) in the nand flash memory encapsulation.Typically, logical block is corresponding to single tube core.Logical block can comprise a plurality of planes (Plane).A plurality of planes in logical block can parallel access, and a plurality of logical blocks in nand flash memory chip fill order and report condition independently of one another.Can from http://www.micron.com/~/ " Open NAND Flash Interface Specification(Revision3.0) " that media/Documents/Products/Other%20Documents/ONFI3_0Gold.a shx obtains, implication about target (target), logical block, LUN, plane (Plane) is provided, and it is the part of prior art.
Solid storage device can have the expansion card shape, can be installed to PCIE or similar interface on mainboard.Solid storage device also can have 3.5,2.5 or 1.8 inches driver shapes, can be installed in frame or dish battle array equipment, and it generally is called as solid-state disk (Solid State Disk).
Publication number is that the Chinese patent application of CN102656567A discloses the data management in solid-state memory.Referring to Fig. 1, one group of page of solid-state memory is called as " step pitch (stride) ", and each step pitch comprises one group of page from each passage, and wherein one of each passage group of page is called as " bar " (strip).For having identified LBA(Logic Block Address, LBA (Logical Block Addressing)) write request, be implemented in step pitch from LBA to PBA(Physical Block Address, physical block address) mapping, and fill step pitch interior each (id in Fig. 1 is respectively 31,52,44,67 bar).Can be continuous or parallel to the filling of a plurality of in step pitch.Like this, with RAID(Redundant Array of Independent Disks, Redundant Array of Independent Disks (RAID)) pattern is incorporated in solid storage device, improved the performance and reliability of solid storage device.
Yet, a plurality of solid-state disks of possibility or a plurality of storage card in memory device, each solid-state disk or storage card may have different capacity and performance, and as time goes by, each solid-state disk or storage card also can show different characteristics.When data writing, consider that the particular characteristic of each solid-state disk or storage card will help to improve the performance of memory device.And data volume entrained in write request may be different from the data capacity of " step pitch ".Need to provide corresponding means to mate capacity from the storage unit of the request of access of client and memory device.
Summary of the invention
The invention solves in the raid storage devices that solid-state disk forms and write scale-up problem, extended the serviceable life of memory device.
According to a first aspect of the invention, provide a kind of method of a plurality of drivers for accessing storage device, described method comprises: receive the first data are write request for the first logical address of described memory device;
For described the first logical address generates the first physical address; Generation writes order, and its indication writes described the first physical address with described the first data; Determine whether to generate checking data; If generate the first checking data based on described the first data, and described the first checking data write the second physical address.
Method according to a first aspect of the invention also comprises: storing metadata on one or more in described a plurality of drivers, described the first physical address of described metadata indication, described the second physical address have incidence relation.
Method according to a first aspect of the invention, wherein by selecting the first driver in described a plurality of driver to come for described the first logical address generates the first physical address, described the first physical address is indicated the memory location in described the first driver.
Method according to a first aspect of the invention, wherein provide write pointer for each driver, the physical address of write pointer indication data writing based on described first physical address of write pointer generation of selected the first driver, and increases progressively the write pointer of described the first driver.
Method according to a first aspect of the invention, wherein in response to receiving, the first data are write request for the first logical address of described memory device, memory allocated unit group, described storage sets comprises a plurality of storage unit, and each in described a plurality of storage unit is positioned at one of described a plurality of drivers.
Method according to a first aspect of the invention, wherein said storage unit are one or more pages.
Method according to a first aspect of the invention, wherein provide write pointer for the storage unit group, a storage unit in the described storage unit group of write pointer indication, generate described the first physical address based on the write pointer of the storage unit group of distributing, and make another storage unit in the described storage unit group of write pointer indication of the storage unit group of distributing.
Method according to a first aspect of the invention, wherein in response to memory allocated unit group, state based on a plurality of drivers at each storage unit place of described storage unit group, select a storage unit to come for described the first logical address generates the first physical address from described storage unit group, described the first selected storage unit of physical address indication.
Method according to a first aspect of the invention, wherein for each driver in described a plurality of drivers provides write queue, be used for will write order send to driver before memory writer command.
Method according to a first aspect of the invention if wherein received for N data that generate checking data, is determined to generate checking data, and N is natural number.
Method according to a first aspect of the invention, if wherein not yet receive for N data that generate checking data, the filling tentation data is formed for generating N data of checking data, and determines to generate checking data.
Method according to a first aspect of the invention if wherein not yet receive for N data that generate checking data, operates to be formed for generating N data of checking data by the execution garbage reclamation, and determines to generate checking data.
Method according to a first aspect of the invention wherein generates checking data at the described request indicating.
Method according to a first aspect of the invention, the value of the described N of wherein said request indicating.
Method according to a first aspect of the invention, if wherein not yet receive for N data that generate checking data, and described request indicating generation checking data, padding data is formed for generating N data of checking data, and generates checking data.
Method according to a first aspect of the invention if wherein not yet receive for N data that generate checking data, and forces the event of calculation check data to occur, and padding data is formed for generating N data of checking data, and generates checking data.
Method according to a first aspect of the invention, if wherein not yet receive for N data that generate checking data, and the described request indicating generates checking data, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Method according to a first aspect of the invention, if wherein not yet receive for N data that generate checking data, and force the event of calculation check data to occur, carry out N the data that garbage reclamation operates to be formed for generating checking data, and generate checking data.
According to a second aspect of the invention, provide a kind of device of a plurality of drivers for accessing storage device, described device comprises: be used for receiving the first data are write module for the request of the first logical address of described memory device; Be used to described the first logical address to generate the module of the first physical address; Be used for generating the module that writes order, said write order indication writes described the first physical address with described the first data; Be used for determining whether to generate the module of checking data; Be used for generating the first checking data in the situation that determine to generate checking data based on described the first data, and described the first checking data write the module of the second physical address.
According to a third aspect of the invention we, provide a kind of memory device, a plurality of drivers that comprise network adapter, controller and be coupled to described controller; Described network adapter is coupled to network with described memory device, and receives the request of access from client, and described request of access indication writes the first logical address for described memory device with the first data; Described controller is that described the first logical address generates the first physical address, and generates and write order and send to one of described a plurality of drivers, and its indication writes described the first physical address with described the first data; Described controller also determines whether to generate checking data, if, generating the first checking data based on described the first data, and generate second and write order and send to one of described a plurality of drivers, its indication writes the second physical address with described the first checking data.
Memory device according to a third aspect of the invention we also comprises: described controller is one or more in described a plurality of drivers with metadata store, and described the first physical address of described metadata indication, described the second physical address have incidence relation.
Memory device according to a third aspect of the invention we, wherein said controller is by selecting the first driver in described a plurality of driver to come for described the first logical address generates the first physical address, and described the first physical address is indicated the memory location in described the first driver.
Memory device is according to a third aspect of the invention we wherein safeguarded write pointer for each driver in described controller, the physical address of write pointer indication data writing; Described controller also generates described the first physical address based on the write pointer of selected the first driver, and the write pointer of described the first driver is increased progressively.
Memory device according to a third aspect of the invention we, wherein said controller writes request for the first logical address of described memory device in response to receiving with the first data, memory allocated unit group, described storage sets comprises a plurality of storage unit, and each in described a plurality of storage unit is positioned at one of described a plurality of drivers.
Memory device according to a third aspect of the invention we, wherein said controller is that the storage unit group is safeguarded write pointer, a storage unit in the described storage unit group of write pointer indication, described controller generates described the first physical address based on the write pointer of the storage unit group of distributing, and makes another storage unit in the described storage unit group of write pointer indication of the storage unit group of distributing.
Memory device according to a third aspect of the invention we, wherein in response to memory allocated unit group, the state of a plurality of drivers at each storage unit place of the described storage unit group of described controller inquiry, and select a storage unit to come for described the first logical address generates the first physical address from described storage unit group based on described state, described the first selected storage unit of physical address indication.
Memory device according to a third aspect of the invention we, wherein said controller provides write queue for each driver in described a plurality of drivers, described write queue be used for will write order send to driver before memory writer command.
Memory device according to a third aspect of the invention we, if wherein described memory device has been received for N data that generate checking data, described controller is determined to generate checking data, N is natural number.
Memory device according to a third aspect of the invention we, if wherein described memory device is not yet received for N data that generate checking data, described controller is filled N the data that tentation data is formed for generating checking data, and determines to generate checking data.
Memory device according to a third aspect of the invention we, if wherein described memory device is not yet received for N data that generate checking data, described controller initiates to operate to be formed for generating N data of checking data for one or more garbage reclamation of described a plurality of drivers, and determines to generate checking data.
Memory device according to a third aspect of the invention we, the value of the described N of wherein said request indicating.
Memory device according to a third aspect of the invention we wherein generates checking data at the described request indicating.
Memory device according to a third aspect of the invention we, the value of the described N of wherein said request indicating.
Memory device according to a third aspect of the invention we, if wherein not yet receive for N data that generate checking data, and described request indicating generation checking data, padding data is formed for generating N data of checking data, and generates checking data.
Memory device according to a third aspect of the invention we if wherein not yet receive for N data that generate checking data, and forces the event of calculation check data to occur, and padding data is formed for generating N data of checking data, and generates checking data.
Memory device according to a third aspect of the invention we, if wherein not yet receive for N data that generate checking data, and the described request indicating generates checking data, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Memory device according to a third aspect of the invention we, if wherein not yet receive for N data that generate checking data, and force the event of calculation check data to occur, carry out N the data that garbage reclamation operates to be formed for generating checking data, and generate checking data.
According to a forth aspect of the invention, provide a kind of computer system, a plurality of drivers that comprise mainboard, are arranged in expansion card, the CPU on mainboard and are coupled to described expansion card; Described CPU sends to described expansion card to the request that the first data is write the first logical address; Described expansion card is that described the first logical address generates the first physical address, and generates and write order and send to one of described a plurality of drivers, and said write order indication writes described the first physical address with described the first data; Described expansion card also determines whether to generate checking data, if, generate the first checking data based on described the first data, and generate second and write order and send to one of described a plurality of drivers, described second writes the order indication writes the second physical address with described the first checking data.
Computer system according to a forth aspect of the invention also comprises: described expansion card is one or more in described a plurality of drivers with metadata store, and described the first physical address of described metadata indication, described the second physical address have incidence relation.
Computer system according to a forth aspect of the invention, wherein said expansion card is by selecting the first driver in described a plurality of driver to come for described the first logical address generates the first physical address, and described the first physical address is indicated the memory location in described the first driver.
Computer system is according to a forth aspect of the invention wherein safeguarded write pointer for each driver in described expansion card, the physical address of write pointer indication data writing; Described expansion card also generates described the first physical address based on the write pointer of selected the first driver, and the write pointer of described the first driver is increased progressively.
Computer system according to a forth aspect of the invention, wherein said expansion card writes request for the first logical address of described memory device in response to receiving with the first data, memory allocated unit group, described storage sets comprises a plurality of storage unit, and each in described a plurality of storage unit is positioned at one of described a plurality of drivers.
Computer system according to a forth aspect of the invention, wherein said expansion card is that the storage unit group is safeguarded write pointer, a storage unit in the described storage unit group of write pointer indication, described expansion card generates described the first physical address based on the write pointer of the storage unit group of distributing, and makes another storage unit in the described storage unit group of write pointer indication of the storage unit group of distributing.
Computer system according to a forth aspect of the invention, wherein in response to memory allocated unit group, the state of a plurality of drivers at each storage unit place of the described storage unit group of described expansion card inquiry, and select a storage unit to come for described the first logical address generates the first physical address from described storage unit group based on described state, described the first selected storage unit of physical address indication.
Computer system according to a forth aspect of the invention, wherein said expansion card provides write queue for each driver in described a plurality of drivers, described write queue be used for will write order send to driver before memory writer command.
Computer system according to a forth aspect of the invention if wherein described expansion card has been received for N data that generate checking data, is determined to generate checking data, and N is natural number.
Computer system according to a forth aspect of the invention, if wherein described expansion card is not yet received for N data that generate checking data, described expansion card is filled N the data that tentation data is formed for generating checking data, and determines to generate checking data.
Computer system according to a forth aspect of the invention, if wherein described expansion card is not yet received for N data that generate checking data, described expansion card initiates to operate to be formed for generating N data of checking data for one or more garbage reclamation of described a plurality of drivers, and determines to generate checking data.
Computer system according to a forth aspect of the invention, the value of the described N of wherein said request indicating.
Computer system according to a forth aspect of the invention, the value of the described N of wherein said request indicating.
Computer system according to a forth aspect of the invention wherein generates checking data at the described request indicating.
Computer system according to a forth aspect of the invention, the value of the described N of wherein said request indicating.
Computer system according to a forth aspect of the invention, if wherein not yet receive for N data that generate checking data, and the described request indicating generates checking data, and padding data is formed for generating N data of checking data, and generates checking data.
Computer system according to a forth aspect of the invention, if wherein not yet receive for N data that generate checking data, and force the event of calculation check data to occur, padding data is formed for generating N data of checking data, and generates checking data.
Computer system according to a forth aspect of the invention, if wherein not yet receive for N data that generate checking data, and the described request indicating generates checking data, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Computer system according to a forth aspect of the invention, if wherein not yet receive for N data that generate checking data, and force the event of calculation check data to occur, carry out N the data that garbage reclamation operates to be formed for generating checking data, and generate checking data.
Description of drawings
When reading together with accompanying drawing, by the reference back detailed description to the embodiment of illustrating property, will understand best the present invention and preferably use pattern and its further purpose and advantage, wherein accompanying drawing comprises:
Fig. 1 has showed the Organization of Data of solid state hard disc of the prior art;
Fig. 2 is the Organization of Data of memory device according to an embodiment of the invention;
Fig. 3 is the block diagram according to the computer system of the embodiment of the present invention;
Fig. 4 is the process flow diagram according to the method for a plurality of drivers of access of the embodiment of the present invention;
Fig. 5 is the process flow diagram of method of a plurality of drivers of access of the further embodiment according to the present invention;
Fig. 6 is the further process flow diagram of the method for a plurality of drivers of access of embodiment still according to the present invention; And
Fig. 7 is the block diagram according to the memory device of the embodiment of the present invention.
Embodiment
Fig. 2 is the Organization of Data of memory device according to an embodiment of the invention.Memory device comprises solid-state disk 200, solid-state disk 220 ... solid-state disk 260.Each solid-state disk can be to have standard-sized 3.5,2.5 or 1.8 inches drivers.Solid-state disk 200 can comprise flash chip 201 and flash chip 202.Solid-state disk 220 comprises flash chip 221, and solid-state disk 260 comprises flash chip 261.Solid-state disk 200 also can comprise the flash chip of varying number.And solid-state disk 200, solid-state disk 220 and solid-state disk 260 can comprise respectively the flash chip of varying number and/or different capabilities.Flash chip in solid-state disk can be organized as a plurality of passages, to accept or reject between the concurrent access of the interface pin quantity of being used and a plurality of flash chips.For example, at application number for 201210448894.1, provide the multiple mode that flash chip is organized as passage in the Chinese patent application of 201210449387.X.
As an example, flash chip 201 comprises a plurality of, for example piece 0, piece 1, piece 2 and piece 3.Also can comprise the piece of other quantity in flash chip.Comprise a plurality of pages at each piece.For nand flash memory, carry out reading and writing operations take page as unit, and implement erase operation take piece as unit, this is that physical arrangement by nand flash memory determines.As an example, flash chip 201 also comprises plane 0 and plane 1.Plane 0 comprises piece 0 and piece 2, and plane 1 comprises piece 1 and piece 3.Plane 0 has page register separately with plane 1, makes the piece that is positioned at plane 0 and the piece that is positioned at plane 1 can parallel work-flow.Flash chip can have the page of varying number.Flash chip can also comprise one or more tube cores.
According to embodiments of the invention, together with the page 261 of the page 211 of solid-state disk 200, the page 231 of solid-state disk 220 and solid-state disk 260 is grouped in, composition storage unit group.Provide in for 201310003789.1 and 201310003898.3 Chinese patent application at application number and will be mapped to from the logical address of main frame the mode of storage unit group.Each page in the storage unit group is operated together, the checking data that wherein can store user data and be produced by user data.When damaging for one or more pages in the storage unit group, can come based on other pages in the storage unit group data of Recover from damaging.For example, the storage unit group can comprise N+P page, and wherein N page is used for the storage user data, and P page is used for the storage checking data.Preferably, memory allocated unit group when making one or more in removing solid-state disk 200,220 and 260, can utilize remaining solid-state disk to recover the data of storing in solid-state disk that remove.In an example, page 211, page 231 have identical physical address respectively with page 261 in solid-state disk 200, solid-state disk 220 and solid-state disk 260, can easily determine like this to form each page of storage unit group, and the metadata that need not add.By this way, the page 1 of the piece 0 of the chip 221 of the page 1 of the piece 0 of the chip 201 of dish 200, dish 220 forms another storage unit group with the page 1 of the piece 0 of the chip 261 of dish 260.Comprise 3 pages although the storage unit group has been shown in the embodiment of Fig. 2, be appreciated that the storage unit group can have the page of other varying numbers.
In one embodiment, the storage unit group comprises each the page that comes an a plurality of solid-state disk (200,220 and 260).In another embodiment, the storage unit group comprises the one or more page from a plurality of solid-state disks.Also can comprise a plurality of pages from a solid-state disk in the storage unit group.
Continuation is with reference to Fig. 2, and in one embodiment, page 215, page 235 form the storage unit group with page 265.Page 215, page 235 can have identical or different physical address with page 265, thereby need to provide additional metadata to indicate page 215, page 235 to form the storage unit group with page 265.Can be in (Out-Of-Band) data outside page 215, page 235 and page 265 band storing metadata, can also be at storing metadata (correspondingly reducing the memory capacity of user data) in page 215, page 235 and page 265 user data area, can also be in other pages storing metadata.Because the page in flash memory may damage, utilize the metadata indication to form a plurality of pages of storage unit group, can effectively the page that damages be got rid of, and utilize the page with identical or different physical address to form the storage unit group, thereby improve the utilization factor of storage space.
Fig. 3 is the block diagram according to the computer system of the embodiment of the present invention.Computing machine 300 comprises mainboard 310.Be furnished with CPU (central processing unit) (CPU, Central Processing Unit) 312 and expansion card 314 on mainboard 310.Also can be furnished with the parts such as chipset, storer on mainboard 310.Expansion card 314 is used for a plurality of memory discs are coupled to computing machine 300.Expansion card 314 can pass through such as PCIE(Peripheral Component Interconnect Express, quick peripheral assembly interconnecting), PCI(Peripheral Component Interconnect, periphery component interconnection) etc. multiple interfaces be coupled to mainboard 310.Expansion card 314 can pass through multiple interfaces coupled storage dish, multiple interfaces includes but not limited to SATA(Serial Advanced Technology Attachment, Serial Advanced Technology Attachment), USB(Universal Serial Bus, USB (universal serial bus)), PCIE, SCSI(Small Computer SystemInterface, small computer system interface), IDE(Integrated Drive Electronics, the integrated drive electronics) etc.A plurality of memory discs comprise dish 320,322,324 and 326.Can the be coupled memory disc of varying number of expansion card 314.Can comprise flash translation layer (FTL) (Flash Translation Layer, FTL) parts in expansion card 314, be converted to memory disc request of access based on physical address in order to the memory disc request of access with the logic-based address.Memory disc can be solid-state disk, and as storage medium, solid-state disk also is applicable to the storage chip of other types to solid-state disk with flash chip, for example, and phase transition storage, Memister, ferroelectric memory etc.
In one embodiment, can not comprise expansion card 314 in mainboard 310, and by being arranged on the interfaces such as PCIE, IDE, SCSI and/or SATA on mainboard 310, will coiling 320,322,324 and 326 and be coupled to mainboard 310.And, provide flash translation layer (FTL) software in the operating system of computing machine 300 or application program, be converted to memory disc request of access based on physical address in order to the memory disc request of access with the logic-based address.The flash translation layer (FTL) parts can also be arranged in CPU, chipset or other integrated circuit.
Can be furnished with control circuit on expansion card 314, operate in order to each that implement to describe access of controlling coiling 320,322,324,326 in Fig. 4-Fig. 6.Control circuit can be FPGA(Field-programmable gate array, field programmable gate array), ASIC(Application Specific Integrated Circuit, the application specific integrated circuit) or the form of its combination.Control circuit also can comprise one or more processors or controller.The flash translation layer (FTL) parts can be realized with the hardware circuit form in FPGA, ASIC, also can adopt the software form that operates in processor or controller to realize.
Fig. 4 is the process flow diagram according to the method for a plurality of drivers of access of the embodiment of the present invention.In step 400, receive write request.Write request can be from the CPU312 of computing machine 300.Write request can be sent by the operating system or the application software that operate on computing machine 300, and indicates in the memory device that writes data into such as solid-state disk.Can carry or indicate logical address in write request, the logical address space that logical address indication memory device represents.
In step 410, obtain physical address.Obtain logical address based on write request, for example can be from write request the extraction logic address, also can come indirect extraction logic address based on the indication in write request (for example, to the indication of the storage space of store logical addresses, or with respect to the skew of last logical address).Then, by mapping table, logical address is converted to physical address.In a further embodiment, a plurality of pages in a plurality of solid-state disks are grouped in together, form the storage unit group.By mapping table or Sequential Mapping mode, logical address is converted to address for the storage unit group.For the write request that receives continuously, its logical address is converted to identical storage unit group address, until filled N data page in the storage unit group.And then obtain physical address based on the address of storage unit group.Resulting physical address has been indicated the storage unit in this storage unit group.And write request or logical address can Maintenance free storage unit group structures.
In step 420, based on physical address, the data write storage device that write request is indicated.In one embodiment, for each solid-state disk provides write queue, in the mode of first in first out based on physical address with the data write storage device.In another embodiment, provide shared write queue for a plurality of or all solid-state disks.In a further embodiment, the storage unit group comprises a plurality of pages, and write request is less than the capacity of storage unit group to the data of correspondence.Go back buffering write data, with thinking that corresponding storage unit group generates checking data.In one embodiment, also write the metadata of indication storage unit group information to memory device.
In step 430, judge whether to generate checking data.If not, return to step 400 to receive other write request.If, in step 440 calculation check data.Calculate the checking data of P page based on the user data of N page.For example, can adopt the parity calculation checking data, also can adopt other habitual checking data generating modes of all spectra.In one embodiment, before the calculation check data, the interim user data of storing corresponding to a storage unit group, and after the calculation check data, can discharge the memory block of interim storage user data.Also based on the storage unit group address, be identified for storing the physical address of the checking data of P page.
In step 450, based on physical address, with the checking data write storage device.Write queue can be provided, with first-in first-out with the checking data write storage device.In one embodiment, also write the metadata of indication storage unit group information to memory device.
Fig. 5 is the process flow diagram of method of a plurality of drivers of access of the further embodiment according to the present invention.Process flow diagram shown in Fig. 5 with respect to the process flow diagram in Fig. 4, has further been showed the various ways that obtains physical address based on the corresponding logical address of write request.
In step 500, receive write request.
By step 511 and step 512, showed a kind of mode of obtaining physical address.In step 511, distribute one of a plurality of solid-state disks.Can distribute in several ways solid-state disk.For example, can distribute solid-state disk by round robin; Can be by the state of inquiry solid-state disk, and the mode of selecting to be in the solid-state disk of idle condition is distributed solid-state disk; Also can be by relatively corresponding to the length that writes formation of solid-state disk, the mode of selecting to write the shorter solid-state disk of formation is distributed solid-state disk.In step 512, for selected solid-state disk, logical address is mapped to the physical address of this solid-state disk of indication.Physical address can be indicated the physical location of the page of this solid-state disk.A plurality of pages of composition storage unit groups from one or more solid-state disks of distributing for continuous a plurality of write requests in one embodiment.The N of storage unit group page can be from each of N solid-state disk, N page of same position or the diverse location that can be positioned at each solid-state disk.The N of storage unit group page also can or be less than N solid-state disk from one.
By step 513 and step 514, showed that another obtains the mode of physical address.In step 513, distribute one of a plurality of solid-state disks.Can distribute in several ways solid-state disk.For example, can distribute solid-state disk by round robin; Can be by the state of inquiry solid-state disk, and the mode of selecting to be in the solid-state disk of idle condition is distributed solid-state disk; Also can be by relatively corresponding to the length that writes formation of solid-state disk, the mode of selecting to write the shorter solid-state disk of formation is distributed solid-state disk.In step 514, for selected solid-state disk, the write pointer of this solid-state disk as the physical address of wanting data writing, and is increased progressively this write pointer.In this way, each solid-state disk has the write pointer for himself, write pointer has been indicated the position of wanting data writing, make at the continuous write operation on a solid-state disk and can carry out on the continuous physical address at this solid-state disk, and then can be reduced in the caused enlarge-effect of writing in the erasure balance process, thereby improve the serviceable life of memory device.Physical address can be indicated the physical location of the page of this solid-state disk.A plurality of pages of composition storage unit groups from one or more solid-state disks of distributing for continuous a plurality of write requests in one embodiment.The N of storage unit group page can be from each of N solid-state disk, N page of same position or the diverse location that can be positioned at each solid-state disk.The N of storage unit group page also can or be less than N solid-state disk from one.
By step 515 and step 516, showed that another obtains the mode of physical address.In step 515, memory allocated unit group.The storage unit group comprises a plurality of pages.Consist of storage unit a plurality of pages from a plurality of solid-state disks.For example, the storage unit group can comprise N+P page, and N page is used for the storage user data, and P page is used for the storage checking data.N+P page is from N+P solid-state disk, and each solid-state disk provides a page.In another embodiment, N+P page is from being less than N+P solid-state disk.In one embodiment, during comprising the memory device initialization of a plurality of solid-state disks, determine the quantity of storage unit group and the mapping mode that the storage unit group arrives Physical Page.A plurality of pages of storage unit group can be positioned at same position or the diverse location of a plurality of solid-state disks.Preferably, memory allocated unit group makes at the continuous write operation on a solid-state disk and can carry out on the continuous physical address at this solid-state disk.For example, if a page of the storage unit group of current distribution has physical address P (i), when distributing next storage unit group, select the corresponding storage unit group of physical address P (i+1).In another example, N+P of storage unit group K page be from each of N+P solid-state disk, and this N+P page have identical physical address P (K), and each page of storage unit group K+1 has identical physical address P(K+1); After memory allocated unit K, memory allocated unit group K+1.In step 516, for the storage unit group of distributing, the write pointer of this storage unit group as the physical address of wanting data writing, and is increased progressively this write pointer.In this way, the current memory cell group has the write pointer for himself, and write pointer has been indicated the position of wanting data writing.
By step 517 and step 518, showed that another obtains the mode of physical address.In step 517, memory allocated unit group.In step 518, for the storage unit group of distributing, the Physical Page that not yet is assigned with in the select storage unit group, with the address of this Physical Page as the physical address that distributes.Can select in several ways not yet to be assigned with Physical Page in the physical location group.For example, can select Physical Page based on the idle condition of the corresponding a plurality of disks of a plurality of Physical Page that not yet are assigned with in the physical location group; Can also select Physical Page based on the write queue length of the corresponding a plurality of disks of a plurality of Physical Page that not yet are assigned with in the storage unit group.
In step 520, based on physical address, the data write storage device that write request is indicated.
In step 530, judge whether to generate checking data.If not, return to step 500 to receive other write request.If, in step 540 calculation check data.Also determine physical address for checking data.For example, for the user data in the storage unit group, distribute the physical address of P the page that belongs to this storage unit group for corresponding checking data, this P page is used for the storage checking data.Again for example, for user data and the checking data that generates based on user data, allocated physical address, and make this user data and checking data be stored in same storage unit group.
In step 550, based on physical address, with the checking data write storage device.
Fig. 6 is the further process flow diagram of the method for a plurality of drivers of access of embodiment still according to the present invention.Process flow diagram shown in Fig. 6 with respect to the process flow diagram in Fig. 4, has further been showed the various ways that determines whether to generate checking data.Generally speaking, after the whole user data that receive a storage unit group, generate checking data based on these user data.In some other situations such as shutdown or power down, also need to generate checking data.
In step 600, receive write request.In step 610, obtain physical address.In step 620, based on physical address, the data write storage device that write request is indicated.
Step 632 has been showed a kind of mode that determines whether to generate checking data of obtaining.In step 632, determine whether to receive the whole user data for a storage unit group.If not, return to step 600 to receive other write request.If, in step 640 calculation check data.Whole user data of a storage unit group can be N the pages that for example will be stored in this storage unit group.In one embodiment, when the corresponding data of a plurality of write requests that receive in order reach N page big or small, definite whole user data that received for a storage unit group.In another embodiment, when the N in the storage unit group page has been assigned with, determine to have received the whole user data for a storage unit group.
Step 634 has been showed the another kind of mode that determines whether to generate checking data of obtaining.In step 634, judge whether to have received the page data of m(<N), not yet receive the whole user data for a storage unit group; But the event of calculation check data has appearred requiring to force.Forcing the calculation check data may be due to fortuitous events such as computing machine power down, shutdown, can also be receive the buffer zone request of washing away that operating system or application program send or m page data buffer memory the long time.As not calculating checking data, the m page data of interim storage will lose, the storage unit group that also can't obtain completing on memory device.If being judged as NO of step 634 returned to step 600 to receive other write request; If yes, in step 640 calculation check data.And be the calculation check data, also use predetermined data value (for example, 0,1 or other predetermined values) to fill the N-m page data, make the m page data that receives and the N-m page data of filling consist of the N page data, and can calculate P page checking data in step 640.Can also carry out the garbage reclamation operation on memory device or solid-state disk, use the write request that produces in the garbage reclamation operation to fill the N-m page data.In another embodiment, the data of reception may be by the page boundary alignment, and correspondingly, the data of filling can not alignd by page boundary yet.
Step 636 has been showed the another kind of mode that determines whether to generate checking data of obtaining.In step 636, judge whether to have received the page data of m(<N), not yet receive the whole user data for a storage unit group; But at the write request indicating data that will write only have the m page.At the write request indicating data that will write only have the m page, mean and complete from the write operation of operating system or application program, and hinting within a period of time in future there is no follow-up write request; Can mean that also the prediction of operating system or application program is in the unlikely write request that occurs of a period of time in future.In the case, continue interim storage m page data and can increase power consumption, and reduce the performance of memory device because storage space is occupied.If being judged as NO of step 636 returned to step 600 to receive other write request; If yes, in step 640 calculation check data.And be the calculation check data, also use predetermined data value (for example, 0,1 or other predetermined values) to fill the N-m page data, make the m page data that receives and the N-m page data of filling consist of the N page data, and can calculate P page checking data in step 640.Can also carry out the garbage reclamation operation on memory device or solid-state disk, use the write request that produces in the garbage reclamation operation to fill the N-m page data.In another embodiment, the data of reception may be by the page boundary alignment, and correspondingly, the data of filling can not alignd by page boundary yet.
Step 638 has been showed the another kind of mode that determines whether to generate checking data of obtaining.In step 638, judge whether to have received the page data of m(<N), not yet receive the whole user data for a storage unit group; But to carry out the garbage reclamation operation on memory device.If not, return to step 600 to receive other write request; If use the write request that produces in the garbage reclamation operation to fill the N-m page data, and calculate P page checking data in step 640.In another embodiment, the data of reception may be by the page boundary alignment, and correspondingly, the data of filling can not alignd by page boundary yet.
In step 650, based on physical address, with the checking data write storage device.
By above-described embodiments of the invention, just data are written to a plurality of solid-state disks of memory device simultaneously, have improved the degree of parallelism of write operation.And, provide the protection extra to data by the storage unit group, improved the reliability of memory device.
Fig. 7 is the block diagram according to the memory device of the embodiment of the present invention.The above discloses the block diagram according to the computer system of the embodiment of the present invention in Fig. 3.And the embodiment of Fig. 7 is for providing the memory device of stores service by network.Memory device 700 comprises backboard 710.Be furnished with controller 714 on backboard 710.Also can be furnished with the parts such as chipset, storer on backboard 710.Controller 714 is used for a plurality of memory discs are coupled to memory device 700.Controller 714 can pass through multiple interfaces coupled storage dish, and multiple interfaces includes but not limited to SATA7, USB7, PCI, PCIE, SCSI7, IDE7 etc.Controller 714 also can be indirectly coupled to memory disc by chipset or expansion card.A plurality of memory discs comprise dish 720,722,724 and 726.Can the be coupled memory disc of varying number of controller 714.Can comprise flash translation layer (FTL) (Flash Translation Layer, FTL) parts in controller 714, be converted to memory disc request of access based on physical address in order to the memory disc request of access with the logic-based address.Memory disc can be solid-state disk, and as storage medium, solid-state disk also is applicable to the storage chip of other types to solid-state disk with flash chip, for example, and phase transition storage, Memister, ferroelectric memory etc.
In one embodiment, provide flash translation layer (FTL) software in the operating system of memory device 700 or other programs, be converted to memory disc request of access based on physical address in order to the memory disc request of access with the logic-based address.The flash translation layer (FTL) parts can also be arranged in CPU, chipset or other integrated circuit.
Controller 714 can operate the access of controlling coiling 720,722,724,726 in order to each that describe above implementing in Fig. 4-Fig. 6.Controller 714 can be the form of FPGA, ASIC or its combination.Controller 714 also can comprise one or more processors or controller.The flash translation layer (FTL) parts can be realized with the hardware circuit form in FPGA, ASIC, also can adopt the software form that operates in processor or controller to realize.
Also be furnished with network adapter 730,732 on backboard 710.Provide two network adapter, to improve the reliability of memory device.The network adapter of one or other quantity also can be provided.By network adapter 730,732, memory device 700 is coupled to network 734.Network 734 can be Ethernet, PCIE net or fiber channel network.Client 740,742 also is coupled to network 734, and by network 734 accessing storage devices 700.In other embodiments, client 740,742 can not be directly coupled to network adapter 730 and/or 732 via network 734.
Represented the description of this invention for the purpose that illustrates and describe, and be not intended to disclosed form limit or restriction the present invention.To one of ordinary skill in the art, many adjustment and variation are apparent.

Claims (10)

1. memory device, a plurality of drivers that comprise network adapter, controller and be coupled to described controller;
Described network adapter is coupled to network with described memory device, and receives the request of access from client,
The indication of described request of access writes the first logical address for described memory device with the first data;
Described controller is that described the first logical address generates the first physical address, and generates and write order and send to one of described a plurality of drivers, and its indication writes described the first physical address indicated memory location with described the first data;
Described controller also determines whether to generate checking data, if, generate the first checking data based on described the first data, and generate second and write order and send to one of described a plurality of drivers, its indication writes the second physical address indicated memory location with described the first checking data.
2. memory device according to claim 1 also comprises:
Described controller is one or more in described a plurality of drivers with metadata store, and described the first physical address of described metadata indication, described the second physical address have incidence relation.
3. memory device according to claim 1, wherein said controller is by selecting the first driver in described a plurality of driver to come for described the first logical address generates the first physical address, and described the first physical address is indicated the memory location in described the first driver.
4. memory device according to claim 3, wherein safeguard write pointer for each driver in described controller, the physical address of write pointer indication data writing; Described controller also generates described the first physical address based on the write pointer of selected the first driver, and the write pointer of described the first driver is increased progressively.
5. memory device according to claim 1, wherein said controller writes request for the first logical address of described memory device in response to receiving with the first data, memory allocated unit group, described storage sets comprises a plurality of storage unit, and each in described a plurality of storage unit is positioned at one of described a plurality of drivers.
6. memory device according to claim 5, wherein said controller is that the storage unit group is safeguarded write pointer, a storage unit in the described storage unit group of write pointer indication, described controller generates described the first physical address based on the write pointer of the storage unit group of distributing, and makes another storage unit in the described storage unit group of write pointer indication of the storage unit group of distributing.
7. memory device according to claim 5, wherein in response to memory allocated unit group, the state of a plurality of drivers at each storage unit place of the described storage unit group of described controller inquiry, and select a storage unit to come for described the first logical address generates the first physical address from described storage unit group based on described state, described the first selected storage unit of physical address indication.
8. memory device according to claim 1, if wherein described memory device has been received for N data that generate checking data, described controller is determined the generation checking data, N is natural number.
9. according to claim 1 or 8 described memory devices, if wherein described memory device is not yet received for N data that generate checking data, described controller is filled N the data that tentation data is formed for generating checking data, and determines to generate checking data.
10. according to claim 1 or 8 described memory devices, if wherein described memory device is not yet received for N data that generate checking data, described controller initiates to operate to be formed for generating N data of checking data for one or more garbage reclamation of described a plurality of drivers, and determines to generate checking data.
CN201310077076.XA 2013-03-11 2013-03-11 Storage device with multiple solid-state discs Active CN103176858B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201611089871.0A CN107066202B (en) 2013-03-11 2013-03-11 Storage device with multiple solid state disks
CN201310077076.XA CN103176858B (en) 2013-03-11 2013-03-11 Storage device with multiple solid-state discs
PCT/CN2014/073155 WO2014139390A1 (en) 2013-03-11 2014-03-10 Storage device and accessing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310077076.XA CN103176858B (en) 2013-03-11 2013-03-11 Storage device with multiple solid-state discs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201611089871.0A Division CN107066202B (en) 2013-03-11 2013-03-11 Storage device with multiple solid state disks

Publications (2)

Publication Number Publication Date
CN103176858A true CN103176858A (en) 2013-06-26
CN103176858B CN103176858B (en) 2017-05-03

Family

ID=48636758

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201611089871.0A Active CN107066202B (en) 2013-03-11 2013-03-11 Storage device with multiple solid state disks
CN201310077076.XA Active CN103176858B (en) 2013-03-11 2013-03-11 Storage device with multiple solid-state discs

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201611089871.0A Active CN107066202B (en) 2013-03-11 2013-03-11 Storage device with multiple solid state disks

Country Status (1)

Country Link
CN (2) CN107066202B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014139390A1 (en) * 2013-03-11 2014-09-18 北京忆恒创源科技有限公司 Storage device and accessing method thereof
CN104407813A (en) * 2014-11-20 2015-03-11 上海宝存信息科技有限公司 RAID (Redundant Array of Independent Disk) system and method based on solid-state storage medium
WO2015055033A1 (en) * 2013-10-17 2015-04-23 华为技术有限公司 Metadata protection method and device
CN109558333A (en) * 2017-09-27 2019-04-02 北京忆恒创源科技有限公司 Solid storage device NameSpace with variable additional storage space (OP)
CN109669626A (en) * 2017-10-16 2019-04-23 光宝电子(广州)有限公司 Solid state storage device and its related data management method
CN111625477A (en) * 2016-07-01 2020-09-04 北京忆恒创源科技有限公司 Method and device for processing read request for accessing erase block
CN113867650A (en) * 2016-12-23 2021-12-31 北京忆芯科技有限公司 IO command processing method and solid-state storage device
CN114003168A (en) * 2020-07-28 2022-02-01 三星电子株式会社 Storage device and method for processing commands

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161932A1 (en) * 2008-12-18 2010-06-24 Ori Moshe Stern Methods for writing data from a source location to a destination location in a memory device
CN101777013A (en) * 2009-01-12 2010-07-14 成都市华为赛门铁克科技有限公司 Solid state disk and data read-write method
WO2012064464A1 (en) * 2010-11-08 2012-05-18 Greenliant Llc Memory controller and system for storing blocks of data in non-volatile memory devices in a redundant manner
CN102656567A (en) * 2009-12-17 2012-09-05 国际商业机器公司 Data management in solid state storage devices
CN102830942A (en) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 Method for mapping disk array of solid hard disk and solid hard disk
EP2565772A1 (en) * 2010-12-30 2013-03-06 Huawei Technologies Co., Ltd. Storage array, storage system, and data access method
CN203191968U (en) * 2013-03-11 2013-09-11 北京忆恒创源科技有限公司 Storage equipment with a plurality of solid-state discs

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015655A1 (en) * 2003-06-30 2005-01-20 Clayton Michele M. Intermediate station
CN100470506C (en) * 2007-06-08 2009-03-18 马彩艳 Flash memory management based on sector access
CN101582903B (en) * 2009-06-24 2012-08-08 浙江宇视科技有限公司 Storing method of streaming media resource and device
CN101719103B (en) * 2009-11-25 2012-07-18 成都市华为赛门铁克科技有限公司 Memory device and information processing method based on same
CN102662606B (en) * 2012-03-12 2015-07-08 记忆科技(深圳)有限公司 Raid configuration information processing method and raid controller

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161932A1 (en) * 2008-12-18 2010-06-24 Ori Moshe Stern Methods for writing data from a source location to a destination location in a memory device
CN101777013A (en) * 2009-01-12 2010-07-14 成都市华为赛门铁克科技有限公司 Solid state disk and data read-write method
CN102656567A (en) * 2009-12-17 2012-09-05 国际商业机器公司 Data management in solid state storage devices
WO2012064464A1 (en) * 2010-11-08 2012-05-18 Greenliant Llc Memory controller and system for storing blocks of data in non-volatile memory devices in a redundant manner
EP2565772A1 (en) * 2010-12-30 2013-03-06 Huawei Technologies Co., Ltd. Storage array, storage system, and data access method
CN102830942A (en) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 Method for mapping disk array of solid hard disk and solid hard disk
CN203191968U (en) * 2013-03-11 2013-09-11 北京忆恒创源科技有限公司 Storage equipment with a plurality of solid-state discs

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014139390A1 (en) * 2013-03-11 2014-09-18 北京忆恒创源科技有限公司 Storage device and accessing method thereof
WO2015055033A1 (en) * 2013-10-17 2015-04-23 华为技术有限公司 Metadata protection method and device
CN104407813A (en) * 2014-11-20 2015-03-11 上海宝存信息科技有限公司 RAID (Redundant Array of Independent Disk) system and method based on solid-state storage medium
US10353614B2 (en) 2014-11-20 2019-07-16 Shannon Systems Ltd. Raid system and method based on solid-state storage medium
CN111625477B (en) * 2016-07-01 2023-09-05 北京忆恒创源科技股份有限公司 Processing method and device for read request for accessing erase block
CN111625477A (en) * 2016-07-01 2020-09-04 北京忆恒创源科技有限公司 Method and device for processing read request for accessing erase block
CN113867650A (en) * 2016-12-23 2021-12-31 北京忆芯科技有限公司 IO command processing method and solid-state storage device
CN109558333A (en) * 2017-09-27 2019-04-02 北京忆恒创源科技有限公司 Solid storage device NameSpace with variable additional storage space (OP)
CN109558333B (en) * 2017-09-27 2024-04-05 北京忆恒创源科技股份有限公司 Solid state storage device namespaces with variable additional storage space
CN109669626B (en) * 2017-10-16 2021-12-03 建兴储存科技(广州)有限公司 Solid state storage device and related data management method thereof
CN109669626A (en) * 2017-10-16 2019-04-23 光宝电子(广州)有限公司 Solid state storage device and its related data management method
CN114003168A (en) * 2020-07-28 2022-02-01 三星电子株式会社 Storage device and method for processing commands
CN114003168B (en) * 2020-07-28 2024-02-06 三星电子株式会社 Storage device and method for processing commands

Also Published As

Publication number Publication date
CN107066202B (en) 2020-07-28
CN103176858B (en) 2017-05-03
CN107066202A (en) 2017-08-18

Similar Documents

Publication Publication Date Title
CN103176858A (en) Storage device with multiple solid-state discs
CN103218270A (en) Computer with plurality of solid state disks
CN103150261A (en) Method and device for simultaneously accessing multiple solid-state disks
AU2015258208B2 (en) Resource allocation and deallocation for power management in devices
US8250283B1 (en) Write-distribute command for RAID mirroring
US20130019057A1 (en) Flash disk array and controller
CN109358809B (en) RAID data storage system and method
US8230159B2 (en) System, method, and computer program product for sending logical block address de-allocation status information
CN109101185B (en) Solid-state storage device and write command and read command processing method thereof
CN106873903B (en) Data storage method and device
CN107797938B (en) Method for accelerating de-allocation command processing and storage device
US11126367B2 (en) Storage system and method for determining ecosystem bottlenecks and suggesting improvements
CN110489056A (en) Controller and storage system including the controller
TWI714975B (en) Data storage device and control method for non-volatile memory
CN203191967U (en) Computer system
JP7146054B2 (en) System controller and system garbage collection methods
US11698734B2 (en) Collision reduction through just-in-time resource allocation
CN108877862B (en) Data organization of page stripes and method and device for writing data into page stripes
CN203191968U (en) Storage equipment with a plurality of solid-state discs
CN103645995B (en) Write the method and device of data
US9652172B2 (en) Data storage device performing merging process on groups of memory blocks and operation method thereof
US20170308326A1 (en) Storage system and method for improved command flow
US11314428B1 (en) Storage system and method for detecting and utilizing wasted space using a file system
Hung et al. PCI express-based NVMe solid state disk
CN114168067A (en) NVMe simple copy command support using dummy virtual functions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

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

Patentee after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100085 Beijing Haidian District Shangdi Information Road 2 Pioneer Park D 609

Patentee before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd.