CN203191967U - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
CN203191967U
CN203191967U CN 201320109857 CN201320109857U CN203191967U CN 203191967 U CN203191967 U CN 203191967U CN 201320109857 CN201320109857 CN 201320109857 CN 201320109857 U CN201320109857 U CN 201320109857U CN 203191967 U CN203191967 U CN 203191967U
Authority
CN
China
Prior art keywords
data
expansion card
physical address
write
cell 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.)
Expired - Lifetime
Application number
CN 201320109857
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 CN 201320109857 priority Critical patent/CN203191967U/en
Application granted granted Critical
Publication of CN203191967U publication Critical patent/CN203191967U/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The utility model provides a computer system. The computer system comprises a main board, an expansion card arranged on the main board, a CPU and a plurality of drivers coupled to the expansion card; the request written to a first logic address by first data is sent to the expansion card by the CPU; a first physical address for the first logic address is generated by the expansion card, a write-in command is generated by the expansion card and is sent to one of the drivers, and the first data are written to the first physical address by the indication of the write-in command; the expansion card further determines whether verification data are generated or not, if the expansion card generates the verification data, first verification data are generated based on the first data, a second write-in command is generated and is sent to one of the drivers, and the first verification data is written in a second physical address by the indications of the second write-in command. The computer system solves the problem of write-in amplification in a RAID storage device formed by a solid-state disc and prolongs service life of the storage device.

Description

Computer system
Technical field
The utility model relates to solid storage device, and (Solid Storage Device, SSD), more specifically, the utility model relates to for the computing machine of visiting a plurality of solid-state disks simultaneously.
Background technology
Similar with the mechanical type hard disk, solid storage device also is big 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, LogicUnit 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 the logical block can parallel access, and a plurality of logical blocks in the nand flash memory chip fill order and report condition independently of one another.Can from
Http:// www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gol d.ashx acquisition " Open NAND Flash Interface Specification(Revision3.0) " in, 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 the mainboard.Solid storage device also can have 3.5,2.5 or 1.8 inches driver shapes, can be installed in frame or the 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 the solid-state memory.Referring to Fig. 1, one group of page or leaf of solid-state memory is called as " step pitch (stride) ", and each step pitch comprises one group of page or leaf from each passage, and wherein one of each passage group of page or leaf is called as " bar " (strip).For having identified LBA(Logic Block Address, LBA (Logical Block Addressing)) the request that writes, be implemented in the step pitch from LBA to PBA(Physical Block Address, physical block address) mapping, and fill interior each bar (id among Fig. 1 is respectively 31,52,44,67 bar) of step pitch.Can be continuous or parallel to a plurality of filling in the step pitch.Like this, with RAID(Redundant Array of Independent Disks, Redundant Array of Independent Disks (RAID)) pattern is incorporated in the solid storage device, improved performance and the reliability of solid storage device.
Yet, a plurality of solid-state disks of possibility or a plurality of storage card in the 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 writing data, consider that the particular characteristic of each solid-state disk or storage card will help to improve the performance of memory device.And writing data volume entrained in the request may be different with the data capacity of " step pitch ".Need provide corresponding means to mate capacity from the storage unit of the request of access of client and memory device.
The utility model content
The utility model has solved in the raid storage devices that solid-state disk forms and has write scale-up problem, has prolonged the serviceable life of memory device.
According to first aspect of the present utility model, a kind of method of a plurality of drivers for accessing storage device is provided, described method comprises: receive first data are write request for first logical address of described memory device;
For described first logical address generates first physical address; Generation writes order, and its indication writes described first physical address with described first data; Determine whether to generate checking data; If generate first checking data based on described first data, and described first checking data write second physical address.
Method according to first aspect of the present utility model also comprises: storing metadata on one or more in described a plurality of drivers, described metadata indicates described first physical address, described second physical address to have incidence relation.
According to the method for first aspect of the present utility model, wherein by selecting first driver in described a plurality of driver to come for described first logical address generates first physical address, described first physical address is indicated the memory location in described first driver.
Method according to first aspect of the present utility model, wherein provide write pointer for each driver, write pointer indication writes the physical address of data, generates described first physical address based on the write pointer of selected first driver, and the write pointer of described first driver is increased progressively.
Method according to first aspect of the present utility model, wherein in response to receiving first data are write request for first logical address of described memory device, memory allocated unit group, described cell group 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.
According to the method for first aspect of the present utility model, wherein said storage unit is one or more pages or leaves.
Method according to first aspect of the present utility model, wherein provide write pointer for cell group, write pointer is indicated a storage unit in the described cell group, write pointer based on the cell group of distributing generates described first physical address, and makes the write pointer of the cell group of distributing indicate another storage unit in the described cell group.
Method according to first aspect of the present utility model, wherein in response to memory allocated unit group, state based on a plurality of drivers at each storage unit place of described cell group, select a storage unit to come for described first logical address generates first physical address from described cell group, described first physical address is indicated selected storage unit.
According to the method for first aspect of the present utility model, 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.
According to the method for first aspect of the present utility model, if wherein received for N data that generate checking data, then determine to generate checking data, N is natural number.
According to the method for first aspect of the present utility model, if wherein do not receive as yet 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.
According to the method for first aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, operate to be formed for generating N data of checking data by carrying out garbage reclamation, and determine to generate checking data.
According to the method for first aspect of the present utility model, wherein indication generates checking data in described request.
According to the method for first aspect of the present utility model, the value of the described N of indication in the wherein said request.
According to the method for first aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, and padding data is formed for generating N data of checking data, and generates checking data.
According to the method for first aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, padding data is formed for generating N data of checking data, and generates checking data.
Method according to first aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Method according to first aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, carry out N the data that garbage reclamation operates to be formed for generating checking data, and generate checking data.
According to second aspect of the present utility model, a kind of device of a plurality of drivers for accessing storage device is provided, described device comprises: be used for receiving first data are write module for the request of first logical address of described memory device; Be used to described first logical address to generate the module of first physical address; Be used for generating the module that writes order, said write order indication writes described first physical address with described first data; Be used for determining whether to generate the module of checking data; Be used under the situation of determining the generation checking data, generating first checking data based on described first data, and described first checking data write the module of second physical address.
According to the third aspect of the present utility model, 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 first logical address for described memory device with first data; Described controller is that described first logical address generates first physical address, and generates and to write order and send to one of described a plurality of drivers, and its indication writes described first physical address with described first data; Described controller also determines whether to generate checking data, if, generating first checking data based on described first data, and generate second and write order and send to one of described a plurality of drivers, its indication writes second physical address with described first checking data.
Memory device according to the third aspect of the present utility model also comprises: described controller is with metadata store one or more in described a plurality of drivers, and described metadata indicates described first physical address, described second physical address to have incidence relation.
Memory device according to the third aspect of the present utility model, wherein said controller comes for described first logical address generates first physical address by selecting first driver in described a plurality of driver, and described first physical address is indicated the memory location in described first driver.
According to the memory device of the third aspect of the present utility model, wherein in described controller, safeguard write pointer for each driver, the write pointer indication writes the physical address of data; Described controller also generates described first physical address based on the write pointer of selected first driver, and the write pointer of described first driver is increased progressively.
Memory device according to the third aspect of the present utility model, wherein said controller writes request for first logical address of described memory device in response to receiving with 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 the third aspect of the present utility model, wherein said controller is that cell group is safeguarded write pointer, write pointer is indicated a storage unit in the described cell group, described controller generates described first physical address based on the write pointer of the cell group of distributing, and makes the write pointer of the cell group of distributing indicate another storage unit in the described cell group.
Memory device according to the third aspect of the present utility model, wherein in response to memory allocated unit group, described controller is inquired about the state of a plurality of drivers at each storage unit place of described cell group, and from described cell group, select a storage unit to come for described first logical address generates first physical address based on described state, described first physical address is indicated selected storage unit.
According to the memory device of the third aspect of the present utility model, 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.
According to the memory device of the third aspect of the present utility model, if wherein described memory device has been received for N data that generate checking data, then described controller is determined to generate checking data, and N is natural number.
Memory device according to the third aspect of the present utility model, if wherein described memory device is not received as yet for N data that generate checking data, then 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 the third aspect of the present utility model, if wherein described memory device is not received as yet for N data that generate checking data, then 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.
According to the memory device of the third aspect of the present utility model, the value of the described N of indication in the wherein said request.
According to the memory device of the third aspect of the present utility model, wherein indication generates checking data in described request.
According to the memory device of the third aspect of the present utility model, the value of the described N of indication in the wherein said request.
Memory device according to the third aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, and padding data is formed for generating N data of checking data, and generates checking data.
Memory device according to the third aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, padding data is formed for generating N data of checking data, and generates checking data.
Memory device according to the third aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Memory device according to the third aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, carry out N the data that garbage reclamation operates to be formed for generating checking data, and generate checking data.
According to fourth aspect of the present utility model, provide a kind of computer system, a plurality of drivers that comprise mainboard, are arranged in expansion card, the CPU on the mainboard and are coupled to described expansion card; Described CPU sends to described expansion card to the request that first data is write first logical address; Described expansion card is that described first logical address generates first physical address, and generates and to write order and send to one of described a plurality of drivers, and said write order indication writes described first physical address with described first data; Described expansion card also determines whether to generate checking data, if, generate first checking data based on described 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 second physical address with described first checking data.
Computer system according to fourth aspect of the present utility model, also comprise: described expansion card is with metadata store one or more in described a plurality of drivers, and described metadata indicates described first physical address, described second physical address to have incidence relation.
Computer system according to fourth aspect of the present utility model, wherein said expansion card comes for described first logical address generates first physical address by selecting first driver in described a plurality of driver, and described first physical address is indicated the memory location in described first driver.
According to the computer system of fourth aspect of the present utility model, wherein in described expansion card, safeguard write pointer for each driver, the write pointer indication writes the physical address of data; Described expansion card also generates described first physical address based on the write pointer of selected first driver, and the write pointer of described first driver is increased progressively.
Computer system according to fourth aspect of the present utility model, wherein said expansion card writes request for first logical address of described memory device in response to receiving with 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 fourth aspect of the present utility model, wherein said expansion card is that cell group is safeguarded write pointer, write pointer is indicated a storage unit in the described cell group, described expansion card generates described first physical address based on the write pointer of the cell group of distributing, and makes the write pointer of the cell group of distributing indicate another storage unit in the described cell group.
Computer system according to fourth aspect of the present utility model, wherein in response to memory allocated unit group, described expansion card is inquired about the state of a plurality of drivers at each storage unit place of described cell group, and from described cell group, select a storage unit to come for described first logical address generates first physical address based on described state, described first physical address is indicated selected storage unit.
According to the computer system of fourth aspect of the present utility model, 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.
According to the computer system of fourth aspect of the present utility model, if wherein described expansion card has been received for N data that generate checking data, then determine to generate checking data, N is natural number.
Computer system according to fourth aspect of the present utility model, if wherein described expansion card is not received as yet for N data that generate checking data, then 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 fourth aspect of the present utility model, if wherein described expansion card is not received as yet for N data that generate checking data, then 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.
According to the computer system of fourth aspect of the present utility model, the value of the described N of indication in the wherein said request.
According to the computer system of fourth aspect of the present utility model, the value of the described N of indication in the wherein said request.
According to the computer system of fourth aspect of the present utility model, wherein indication generates checking data in described request.
According to the computer system of fourth aspect of the present utility model, the value of the described N of indication in the wherein said request.
Computer system according to fourth aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, and padding data is formed for generating N data of checking data, and generates checking data.
Computer system according to fourth aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, padding data is formed for generating N data of checking data, and generates checking data.
Computer system according to fourth aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and indication generates checking data in the described request, carries out N the data that garbage reclamation operates to be formed for generating checking data, and generates checking data.
Computer system according to fourth aspect of the present utility model, if wherein do not receive as yet for N data that generate checking data, and force the event of calculation check data to take place, 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 detailed description of reference back to the embodiment of illustrating property, will understand the utility model best and preferably use pattern and its further purpose and advantage, wherein accompanying drawing comprises:
Fig. 1 has showed the data tissue of solid state hard disc of the prior art;
Fig. 2 is the data tissue according to the memory device of embodiment of the present utility model;
Fig. 3 is the block diagram according to the computer system of the utility model embodiment;
Fig. 4 is the process flow diagram according to the method for a plurality of drivers of visit of the utility model embodiment;
Fig. 5 is the process flow diagram according to the method for a plurality of drivers of visit of the further embodiment of the utility model;
Fig. 6 is according to the utility model further process flow diagram of the method for a plurality of drivers of visit of embodiment still;
And
Fig. 7 is the block diagram according to the memory device of the utility model embodiment.
Embodiment
Fig. 2 is the data tissue according to the memory device of embodiment of the present utility model.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 the flash chip of varying number and/or different capabilities respectively.Flash chip in the solid-state disk can be organized as a plurality of passages, to accept or reject between the concurrent access of employed interface pin quantity and a plurality of flash chips.For example, provide the multiple mode that flash chip is organized as passage at application number for 201210448894.1, 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.The piece that also can comprise other quantity in the flash chip.In each piece, comprise a plurality of pages or leaves.For nand flash memory, be that unit carries out the reading and writing operation with the page or leaf, and be that unit implements erase operation with the piece that 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 that the piece that is positioned at plane 0 and the piece that is positioned at plane 1 can parallel work-flows.Flash chip can have the page or leaf of varying number.Flash chip can also comprise one or more tube cores.
According to embodiment of the present utility model, the page or leaf 211 of solid-state disk 200, the page or leaf 231 of solid-state disk 220 are grouped in the page or leaf 261 of solid-state disk 260, form cell group.Provide in for 201310003789.1 and 201310003898.3 Chinese patent application at application number and will be mapped to the mode of cell group from the logical address of main frame.Each page or leaf in the cell group is operated the checking data that wherein can store user data and be produced by user data together.When damaging for one or more pages in the cell group, the data that can recover to damage based on other pages in the cell group.For example, cell group can comprise N+P page or leaf, and wherein N page or leaf is used for the storage user data, and P page or leaf is used for the storage checking data.Preferably, memory allocated unit group when making one or more when removing solid-state disk 200,220 and 260 in, can be utilized the remaining solid-state disk recovery data of storing in the solid-state disk that remove.In an example, page or leaf 211, page or leaf 231 have identical physical address respectively with page or leaf 261 in solid-state disk 200, solid-state disk 220 and solid-state disk 260, can easily determine to form each page or leaf of cell group like this, and the metadata that need not add.By this way, the page or leaf 1 of the piece 0 of the chip 221 of the page or leaf 1 of the piece 0 of the chip 201 of dish 200, dish 220 is formed another cell group with the page or leaf 1 of the piece 0 of the chip 261 of dish 260.Comprise 3 pages or leaves though cell group has been shown in the embodiment of Fig. 2, be appreciated that cell group can have the page or leaf of other varying numbers.
In one embodiment, comprise each the page or leaf that comes an a plurality of solid-state disk (200,220 and 260) in the cell group.In another embodiment, comprise one or more pages or leaves from a plurality of solid-state disks in the cell group.Also can comprise a plurality of pages or leaves from a solid-state disk in the cell group.
Continuation is with reference to Fig. 2, and in one embodiment, page or leaf 215, page or leaf 235 are formed cell group with page or leaf 265.Page or leaf 215, page or leaf 235 can have identical or different physical address with page or leaf 265, thereby need provide additional metadata to indicate page or leaf 215, page or leaf 235 to form cell group with page or leaf 265.Can be in (Out-Of-Band) data outside page or leaf 215, page or leaf 235 and page or leaf 265 the band storing metadata, can also be at storing metadata (correspondingly reducing the memory capacity of user data) in page or leaf 215, page or leaf 235 and page or leaf 265 the user data area, can also be in other pages or leaves storing metadata.Because the page or leaf in the flash memory may damage, utilize the metadata indication to form a plurality of pages or leaves of cell group, can effectively the page or leaf that damages be got rid of, and utilize the page or leaf with identical or different physical address to form cell group, thereby improve operating factor of memory space.
Fig. 3 is the block diagram according to the computer system of the utility model embodiment.Computing machine 300 comprises mainboard 310.Be furnished with CPU (central processing unit) (CPU, Central Processing Unit) 312 and expansion card 314 on the mainboard 310.Also can be furnished with parts such as chipset, storer on the 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 System Interface, 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 in the expansion card 314 that (Flash Translation Layer, FTL) parts are 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 to flash translation layer (FTL).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 the mainboard 310, and by be arranged on the mainboard 310 such as interfaces such as PCIE, IDE, SCSI and/or SATA, will coil 320,322,324 and 326 and be coupled to mainboard 310.And, in the operating system of computing machine 300 or application program, provide flash translation layer (FTL) software, 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 the expansion card 314, operate the visit of controlling coiling 320,322,324,326 in order to each that implement in Fig. 4-Fig. 6, to describe.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 the controller to realize.
Fig. 4 is the process flow diagram according to the method for a plurality of drivers of visit of the utility model embodiment.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 the 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 the 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 the 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 or leaves in a plurality of solid-state disks are grouped in together, form cell group.By mapping table or order mapping mode logical address is converted to address for cell group.For the write request that receives continuously, its logical address is converted to identical storage unit group address, up to having filled the data page of the N in the cell group.And then obtain physical address based on the address of cell group.Resulting physical address has been indicated the storage unit in this cell group.And write request or logical address can Maintenance free cell 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, comprise a plurality of pages or leaves in the cell group, and the request that writes is less than the capacity of cell group to the data of correspondence.Then go back buffering write data, with thinking that corresponding cell group generates checking data.In one embodiment, also write the metadata of indication cell group information to memory device.
In step 430, judge whether to generate checking data.If not, then return step 400 to receive other write request.If, then in step 440 calculation check data.Calculate the checking data of P page or leaf based on the user data of N page or leaf.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 cell 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 or leaf.
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 cell group information to memory device.
Fig. 5 is the process flow diagram according to the method for a plurality of drivers of visit of the further embodiment of the utility model.Process flow diagram shown in Fig. 5 with respect to the process flow diagram among Fig. 4, has further been showed the multiple mode of obtaining 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 solid-state disk in several ways.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 select to write formation and distribute solid-state disk than the mode of short solid-state disk by relatively corresponding to the length that writes formation of solid-state disk.In step 512, at 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 or leaf of this solid-state disk.In one embodiment, a plurality of pages of composition cell group from one or more solid-state disks of distributing for continuous a plurality of write requests.The N of cell group page or leaf 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 cell group page or leaf 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 solid-state disk in several ways.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 select to write formation and distribute solid-state disk than the mode of short solid-state disk by relatively corresponding to the length that writes formation of solid-state disk.In step 514, at selected solid-state disk, the write pointer of this solid-state disk as the physical address that will write data, 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 that will write data, make the continuous write operation on a solid-state disk to carry out at the continuous physical address of 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 or leaf of this solid-state disk.In one embodiment, a plurality of pages of composition cell group from one or more solid-state disks of distributing for continuous a plurality of write requests.The N of cell group page or leaf 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 cell group page or leaf 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.Cell group comprises a plurality of pages or leaves.Constitute storage unit a plurality of pages or leaves from a plurality of solid-state disks.For example, cell group can comprise N+P page or leaf, and N page or leaf is used for the storage user data, and P page or leaf is used for the storage checking data.N+P page or leaf is from N+P solid-state disk, and each solid-state disk provides a page or leaf.In another embodiment, N+P page or leaf is from being less than N+P solid-state disk.In one embodiment, comprise during the memory device initialization of a plurality of solid-state disks, determine the quantity of cell group and the mapping mode that cell group arrives Physical Page.A plurality of pages or leaves of cell group can be positioned at same position or the diverse location of a plurality of solid-state disks.Preferably, memory allocated unit group makes that the continuous write operation on a solid-state disk can carry out at the continuous physical address of this solid-state disk.For example, if a page or leaf of the cell group of current distribution has physical address P (i), when distributing next cell group, select the corresponding cell group of physical address P (i+1).In another example, the N+P of cell group K page or leaf be from each of N+P solid-state disk, and this N+P page have identical physical address P (K), and each page of cell group K+1 has identical physical address P(K+1); Then after memory allocated unit K, memory allocated unit group K+1.In step 516, at the cell group of distributing, the write pointer of this cell group as the physical address that will write data, 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 that will write data.
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, at the cell group of distributing, the Physical Page that is not assigned with as yet 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 to be assigned with Physical Page as yet 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 are not assigned with as yet 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 are not assigned with as yet in the cell 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, then return step 500 to receive other write request.If, then in step 540 calculation check data.Also determine physical address for checking data.For example, for the user data in the cell group, for corresponding checking data distributes P page the physical address that belongs to this cell group, this P page or leaf 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 cell group.
In step 550, based on physical address, with the checking data write storage device.
Fig. 6 is according to the utility model further process flow diagram of the method for a plurality of drivers of visit of embodiment still.Process flow diagram shown in Fig. 6 with respect to the process flow diagram among Fig. 4, has further been showed the multiple mode that determines whether to generate checking data.Generally speaking, behind the whole user data that receive a cell group, generate checking data based on these user data.Under such as 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 cell group.If not, then return step 600 to receive other write request.If, then in step 640 calculation check data.Whole user data of a cell group can be N the pages or leaves that for example will be stored in this cell group.In one embodiment, when the corresponding data of a plurality of write requests that receive in order reach N page or leaf big or small, definite whole user data that received for a cell group.In another embodiment, when the N in the cell group page or leaf has been assigned with, determine to have received the whole user data for a cell 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), do not receive the whole user data for a cell group as yet; But the event of calculation check data has appearred requiring to force.Force the calculation check data to be because 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 cell group that on memory device, also can't obtain finishing.If being judged as not of step 634 then returned step 600 to receive other write request; If yes, then 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 constitute the N page data, and can in step 640, calculate P page or leaf checking data.Can also carry out the garbage reclamation operation at 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), do not receive the whole user data for a cell group as yet; But in write request, indicated the data that will write to have only the m page or leaf.In write request, indicated the data that will write to have only the m page or leaf, meaned and finish from the write operation of operating system or application program, and hinting in a period of time in future there is not 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 not of step 636 then returned step 600 to receive other write request; If yes, then 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 constitute the N page data, and can in step 640, calculate P page or leaf checking data.Can also carry out the garbage reclamation operation at 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), do not receive the whole user data for a cell group as yet; But to carry out the garbage reclamation operation at memory device.If not, then return step 600 to receive other write request; If then use the write request that produces in the garbage reclamation operation to fill the N-m page data, and in step 640, calculate P page or leaf checking 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.
In step 650, based on physical address, with the checking data write storage device.
By above-described embodiment of the present utility model, 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 cell group, improved the reliability of memory device.
Fig. 7 is the block diagram according to the memory device of the utility model embodiment.Block diagram according to the computer system of the utility model embodiment is disclosed in Fig. 3 above.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 the backboard 710.Also can be furnished with parts such as chipset, storer on the 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 in the controller 714 that (Flash Translation Layer, FTL) parts are 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 to flash translation layer (FTL).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, in the operating system of memory device 700 or other programs, provide flash translation layer (FTL) software, 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 be operated the visit 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 the controller to realize.
Also be furnished with network adapter 730,732 on the 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.
To have represented description of the present utility model in order illustrating with purpose of description, and not to be intended to disclosed form limit or restriction the utility model.To one of ordinary skill in the art, many adjustment and variation are apparent.

Claims (10)

1. computer system, a plurality of drivers that comprise mainboard, are arranged in expansion card, the CPU on the mainboard and are coupled to described expansion card;
Described CPU sends to described expansion card to the request that first data is write first logical address;
Described expansion card is that described first logical address generates first physical address, and generates and to write order and send to one of described a plurality of drivers, and said write order indication writes the indicated memory location of described first physical address with described first data;
Described expansion card also determines whether to generate checking data, if, generate first checking data based on described 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 indicated memory location of second physical address with described first checking data.
2. computer system according to claim 1 also comprises:
Described expansion card is with metadata store one or more in described a plurality of drivers, and described metadata indicates described first physical address, described second physical address to have incidence relation.
3. computer system according to claim 1, wherein said expansion card comes for described first logical address generates first physical address by selecting first driver in described a plurality of driver, and described first physical address is indicated the memory location in described first driver.
4. computer system according to claim 3 is wherein safeguarded write pointer for each driver in described expansion card, and the write pointer indication writes the physical address of data; Described expansion card also generates described first physical address based on the write pointer of selected first driver, and the write pointer of described first driver is increased progressively.
5. computer system according to claim 1, wherein said expansion card writes request for first logical address of described memory device in response to receiving with first data, memory allocated unit group, described cell group 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. computer system according to claim 5, wherein said expansion card is that cell group is safeguarded write pointer, write pointer is indicated a storage unit in the described cell group, described expansion card generates described first physical address based on the write pointer of the cell group of distributing, and makes the write pointer of the cell group of distributing indicate another storage unit in the described cell group.
7. computer system according to claim 5, wherein in response to memory allocated unit group, described expansion card is inquired about the state of a plurality of drivers at each storage unit place of described cell group, and from described cell group, select a storage unit to come for described first logical address generates first physical address based on described state, described first physical address is indicated selected storage unit.
8. computer system according to claim 1 if wherein described expansion card has been received for N data that generate checking data, is then determined to generate checking data, and N is natural number.
9. according to claim 1 or 8 described computer systems, if wherein described expansion card is not received as yet for N data that generate checking data, then described expansion card 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 computer systems, if wherein described expansion card is not received as yet for N data that generate checking data, then 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.
CN 201320109857 2013-03-11 2013-03-11 Computer system Expired - Lifetime CN203191967U (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201320109857 CN203191967U (en) 2013-03-11 2013-03-11 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201320109857 CN203191967U (en) 2013-03-11 2013-03-11 Computer system

Publications (1)

Publication Number Publication Date
CN203191967U true CN203191967U (en) 2013-09-11

Family

ID=49108810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201320109857 Expired - Lifetime CN203191967U (en) 2013-03-11 2013-03-11 Computer system

Country Status (1)

Country Link
CN (1) CN203191967U (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218270A (en) * 2013-03-11 2013-07-24 北京忆恒创源科技有限公司 Computer with plurality of solid state disks
CN108563585A (en) * 2018-03-27 2018-09-21 深圳忆联信息***有限公司 A method of it reducing SSD and writes amplification
CN110865945A (en) * 2018-08-28 2020-03-06 上海天王星智能科技有限公司 Extended address space for memory devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218270A (en) * 2013-03-11 2013-07-24 北京忆恒创源科技有限公司 Computer with plurality of solid state disks
CN103218270B (en) * 2013-03-11 2016-08-17 北京忆恒创源科技有限公司 There is the computer of multiple solid-state disk
CN108563585A (en) * 2018-03-27 2018-09-21 深圳忆联信息***有限公司 A method of it reducing SSD and writes amplification
CN110865945A (en) * 2018-08-28 2020-03-06 上海天王星智能科技有限公司 Extended address space for memory devices

Similar Documents

Publication Publication Date Title
CN103218270A (en) Computer with plurality of solid state disks
CN103176858A (en) Storage device with multiple solid-state discs
CN103150261A (en) Method and device for simultaneously accessing multiple solid-state disks
Chen et al. Understanding intrinsic characteristics and system implications of flash memory based solid state drives
CN109358809B (en) RAID data storage system and method
US20130019057A1 (en) Flash disk array and controller
CN103635968A (en) Apparatus including memory system controllers and related methods
WO2014169015A1 (en) Multiprocessor system with independent direct access to bulk solid state memory resources
US8918554B2 (en) Method and apparatus for effectively increasing a command queue length for accessing storage
CN109101185B (en) Solid-state storage device and write command and read command processing method thereof
WO2018089097A1 (en) Method and system for write amplification analysis
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
CN107797938B (en) Method for accelerating de-allocation command processing and storage device
CN109213693A (en) Memory management method, storage system and computer program product
CN110489056A (en) Controller and storage system including the controller
US20190286363A1 (en) Storage System and Method for Determining Ecosystem Bottlenecks and Suggesting Improvements
CN203191967U (en) Computer system
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
US20230384966A1 (en) Storage System and Method for Data Placement in Zoned Storage
CN103914401B (en) Storage device with multiple processors
US11698734B2 (en) Collision reduction through just-in-time resource allocation
US11314428B1 (en) Storage system and method for detecting and utilizing wasted space using a file system
US20220075560A1 (en) NVMe Simple Copy Command Support Using Dummy Virtual Function

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
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.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20130911