CN105224240A - By the method for data write storage device, device and memory device - Google Patents

By the method for data write storage device, device and memory device Download PDF

Info

Publication number
CN105224240A
CN105224240A CN201410240801.5A CN201410240801A CN105224240A CN 105224240 A CN105224240 A CN 105224240A CN 201410240801 A CN201410240801 A CN 201410240801A CN 105224240 A CN105224240 A CN 105224240A
Authority
CN
China
Prior art keywords
data
write request
data write
type
memory block
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
CN201410240801.5A
Other languages
Chinese (zh)
Other versions
CN105224240B (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 CN201910228939.6A priority Critical patent/CN109947370A/en
Priority to CN201410240801.5A priority patent/CN105224240B/en
Publication of CN105224240A publication Critical patent/CN105224240A/en
Application granted granted Critical
Publication of CN105224240B publication Critical patent/CN105224240B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclose a kind of method data being write solid storage device, comprising: receive data write request; Based on this data write request, determine that this data write request is the first kind, Second Type or the 3rd type; When this data write request is the first kind, by the first memory block of data corresponding for this data write request write solid storage device; When this data write request is Second Type, by the second memory block of data corresponding for this data write request write solid storage device; When this data write request is the 3rd type, by the 3rd memory block of data corresponding for this data write request write solid storage device; Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.Also disclose the system and memory device that data are write solid storage device.

Description

By the method for data write storage device, device and memory device
Technical field
The present invention relates to solid storage device (SolidStorageDevice, SSD), more specifically, the present invention relates to the method, the device that data are write solid storage device and achieve the memory device of the method.
Background technology
Similar with mechanical type hard disk, solid storage device is also Large Copacity, non-volatile memory device for computer system.Solid storage device is generally using flash memory (Flash) as storage medium.High performance solid storage device is used to high-performance computer.
Use flash memory memory device in, generally the storage space of data is organized as block and or page, multiple page can be comprised in each storage block.Can logarithm according to this page be that unit carries out write operation.But when carrying out Data Update, even if what upgrade is the data of single page, generally also need first to wipe whole piece, then by the every one page in the data write-in block of data original in block and renewal.For improving the performance of renewal rewards theory, block idle in memory device can be selected to carry the data of new write, to postpone the generation of erase operation.When free block is depleted or under some other condition, implement garbage reclamation operation and obtain free block.
Flash block also has limited erasing times.For extending the life-span of the memory device using flash memory, erasure balance technology is adopted the wearing and tearing of flash block to be dispersed in multiple or whole flash block of whole flash memory device.
Garbage reclamation and erasure balance can increase the erasing times to flash block, and this is called as writes amplification.Write serviceable life and performance that amplification can reduce flash memory.Thus the data writing process carefully designing memory device is necessary.
Publication number is disclose in the Chinese patent application of CN102693184A to identify whether data to be written are dynamic data; Dynamic data is written in dynamic flow block.Publication number is the more characteristics considering data to be written in the Chinese patent application of CN103019958A, as the size etc. of cold data, dsc data, random access, sequential access and data access.
Recognize in prior art, for space distribution having randomness and the data (dsc data) of frequent write, for it distributes special storage block or memory block, reduction will be contributed to and write amplification.Because with the passing of time, store in the memory block of dsc data, because data write the generation of (renewal) again, invalid data increases, and the accounting of invalid data is relatively large; To this part memory block implement that garbage reclamation introduces to write amplification relatively little.
Summary of the invention
Although data to be updated are divided into cold data and dsc data by prior art, just pay close attention to the accessing characteristic of dsc data, and will the data of dsc data do not belonged to without exception by cold data processing.But, exist in practice and clearly cannot distinguish the cold and hot situation of data in a large number, even whether the owner of data also cannot will be infrequently updated by explicit data.
Applicant recognizes, read-only data or the lower data of the possibility that is updated and other data is distinguished, and deposits in different physical storage locations, by contribute to reducing based on flash memory memory device write amplification, and improve performance.Due to read-only data or be updated that the lower data of possibility are unlikely to be updated, this makes the active block comprising larger proportion in corresponding physical storage block, in other words, comprises less invalid block in corresponding physical storage block.This makes these storage blocks can be in effective status for a long time.And then, without the need to implementing garbage reclamation operation to these blocks, thus reduce and write amplification, extend the life-span of memory device.On the other hand, the probability be updated due to these blocks is low, can by directly as long-life block in erasure balance operation, and eliminates the operation that data block lifetime checks, and then improves the performance of memory device.
Thus the present invention solve at least in solid storage device and writes scale-up problem, extends the serviceable life of memory device.
According to one embodiment of present invention, provide a kind of method data being write solid storage device, comprising: receive data write request; Based on this data write request, determine that this data write request is the first kind, Second Type or the 3rd type; When this data write request is the first kind, by the first memory block of data corresponding for this data write request write solid storage device; When this data write request is Second Type, by the second memory block of data corresponding for this data write request write solid storage device; When this data write request is the 3rd type, by the 3rd memory block of data corresponding for this data write request write solid storage device; Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
According to another embodiment of the invention, provide a kind of system data being write solid storage device, comprising: for receiving the module of data write request; For based on this data write request, determine that this data write request is the module of the first kind, Second Type or the 3rd type; For when this data write request is the first kind, by the module of the first memory block of data corresponding for this data write request write solid storage device; For when this data write request is Second Type, by the module of the second memory block of data corresponding for this data write request write solid storage device; For when this data write request is the 3rd type, by the module of the 3rd memory block of data corresponding for this data write request write solid storage device; Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
According to still another embodiment of the present invention, provide a kind of memory device, comprising: network adapter, controller and be coupled to multiple drivers of described controller; Described memory device is coupled to network by described network adapter, and receives data write request; Based on this data write request, described controller determines that this data write request is the first kind, Second Type or the 3rd type, when this data write request is the first kind, data corresponding for this data write request are write the first memory block of multiple driver; When this data write request is Second Type, data corresponding for this data write request are write the second memory block of multiple driver; When this data write request is the 3rd type, data corresponding for this data write request are write the 3rd memory block of multiple driver; Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
According to still another embodiment of the present invention, provide a kind of storage medium storing computer program, described computer program when executed by a computer, makes computing machine, by performing the following step, data be write solid storage device: to receive data write request; Based on this data write request, determine that this data write request is the first kind, Second Type or the 3rd type; When this data write request is the first kind, by the first memory block of data corresponding for this data write request write solid storage device; When this data write request is Second Type, by the second memory block of data corresponding for this data write request write solid storage device; When this data write request is the 3rd type, by the 3rd memory block of data corresponding for this data write request write solid storage device; Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
Accompanying drawing explanation
When reading together with accompanying drawing, by reference to below to the detailed description of the embodiment of illustrating property, will understand the present invention and preferred using forestland and its further object and advantage best, wherein accompanying drawing comprises:
Fig. 1 is the structured flowchart of the memory device according to the embodiment of the present invention;
Fig. 2 is the system assumption diagram according to the embodiment of the present invention;
Fig. 3 shows the distribution of the amount of physical memory of the memory device according to the embodiment of the present invention;
Fig. 4 be according to the embodiment of the present invention by the process flow diagram of data write storage device;
Fig. 5 is the curve map according to the address of the data write request of the embodiment of the present invention and the corresponding relation of access number;
Fig. 6 is the block diagram of the computer system according to the embodiment of the present invention; And
Fig. 7 is the block diagram of the memory device according to the embodiment of the present invention.
Embodiment
Fig. 1 is the structured flowchart of the memory device according to the embodiment of the present invention.The memory device 102 that embodiment as shown in Figure 1 comprises main frame 101 and is coupled with main frame 101.Main frame 101 is coupled by various ways with between memory device 102, and coupling scheme include but not limited to connect main frame 101 and memory device 102 by such as SATA, IDE, USB, PCIE, SCSI, Ethernet, optical-fibre channel, cordless communication network etc.Main frame 101 can be can by the way with the messaging device that memory device communicates, such as, and personal computer, panel computer, server, portable computer, the network switch, router, cell phone, personal digital assistant etc.Memory device 102 comprises interface 103, control circuit 104, one or more flash chip 105 and memory buffer 106.Interface 103 can adapt to and exchange data by the modes such as such as SATA, IDE, USB, PCIE, SCSI, Ethernet, optical-fibre channel and main frame 101.Control circuit 104 for control between interface 103, flash chip 105 and memory buffer 106 data transmission, also for flash memory management, host logical address to flash memory physical address map, erasure balance, bad block management etc.Control circuit 104 is realized by software, hardware, firmware or its various ways combined.Control circuit 104 can be FPGA (Field-ProgrammableGateArray, field programmable gate array), ASIC (ApplicationSpecificIntegratedCircuit, application specific integrated circuit) or its combination form.Control circuit 104 also can comprise processor or controller.
According to one embodiment of present invention, main frame 101 sends the request of reading or write request to memory device 102.Control circuit 104 receives this reading request or write request via interface 103.
According to another embodiment of the invention, memory device 102 is not directly coupled to main frame 101, but is coupled to main frame 101 by intermediate equipment (not shown).Intermediate equipment can be coupled multiple memory device 102, and presents single storage space or multiple storage space independent of each other to main frame 101.
Fig. 2 shows the system assumption diagram of the storage system according to the embodiment of the present invention.In the embodiment of fig. 2, the interface that application 202 is provided by file system 204 sends storage resource request, and storage resource request can be the storage device access request of such as read request, write request.Storage resource request can also comprise the characteristic that access lower devices (such as flash translation layer (FTL) 206 (FTL, FlashTranslationLayer) or storage medium 208) provides.Such as, application 202 can send such as garbage reclamation request to the lower devices of storage system, or additional relevant information in reading and writing request, additional relevant information can indicate this write request to be random write request, and/or address corresponding to this write request or data will be infrequently updated.Additional relevant information can also indicate this write request to be that random write request and/or the address corresponding to this write request or data maybe can not be updated being seldom updated.This additional relevant information also can indicate this write request to be that sequential write request maybe will have the continuous write request of multi-group data.This additional relevant information can also indicate application 202 to can not determine the characteristic of this request, such as, can not determine whether the address that this write request is corresponding or data can be frequently changed.
Application 202 can be that the client of such as word processor quotes, also can operating system process or server processes.
File system 204 can manage or safeguard memory device on logical address space, by abstract for storage system for providing the equipment of file, directory service, or the equipment providing " key-value " to serve.
The back and forth conversion of FTL206 primary responsibility between logical address space and the physical address space of storage medium 208.Conversion is realized by the mapping between logical address space and physical address space.The granularity mapped can based on data block, also can based on data page.Each data block can comprise multiple data page.Mapping based on data block needs less storage space memory map assignments, and needs larger storage space memory map assignments based on the mapping of data page.Also can block-based mapping used in combination and the mapping based on page.
The physical storage device that storage medium 208 is made up of such as flash memory.
File system 204 or FTL206 are not necessary, and if necessary, application 202 also directly can be accessed and safeguard storage medium 208.File system 204, FTL206 can be arranged in the main frame or server that run application 202, also can be integrated in memory device.File system 204, FTL206 can be realized by software, hardware, firmware or its combination.
Fig. 3 shows the distribution of the amount of physical memory of the memory device according to the embodiment of the present invention.The amount of physical memory of memory device 302 comprises general data district 304, dsc data district 306 and cold data field 306.The usual mode that available prior art provides uses general data district, is used for storing data.In an embodiment according to the present invention, dsc data district 306 is used for storing the data of frequent updating, cold data field 308 is used for storing the data that few renewal maybe can not be updated, and general data district 304 is used for storing other data, such as, cannot determine the data of its renewal frequency.
In a further preferred embodiment, dsc data district 306 is used for storing random writing and the data of frequent updating, and cold data field 308 is used for storing random writing and few data upgraded, and general data district is used for the data of storage order write.Random data district 310 can also be provided in memory device 302, be used for storing random writing but the data of its renewal frequency cannot be determined.
In a further embodiment, more data field can be provided, be used for storing the data with different update frequency respectively.Such as, the 4th data field can be provided, low for the renewal frequency storing the data in specific heat data field 306, but the data higher than the renewal frequency of the data in cold data field 306; And the 5th data field is provided, be used for storing lower than the renewal frequency of the data in the 4th data field, but data higher than the renewal frequency of the data in cold data field 306.
General memory area 304, dsc data district 306, cold data field 308 and random data district 310 are without the need to being arranged in the fixed position of the amount of physical memory of memory device 302.That is, general memory area 304, dsc data district 306, cold data field 308 and random data district 310 are without the need to being associated with specific physical storage block.But position and/or the size of each memory block can be indicated by status information when running.
Generally speaking, general data district 304 has storage blocks much more relatively and thus has relatively large memory capacity, and dsc data district 306, cold data field 308 have relatively few storage block.Random data district 310 also has relatively few storage block.This is because in general application 202 (see Fig. 2), the data of frequent updating or few data upgraded need ratio shared in the data upgraded lower all.And thus, preferably, adjust the size in general data district 304, dsc data district 306 and cold data field 308 and/or random data district 310 according to the feature of application 202.To the adjustment of the size in general data district 304, dsc data district 306 and cold data field 308 and/or random data district 310, can implement according to the actual service condition of each data field; Also can implement under the instruction of application 202, file system 204 or FTL206.Such as, application 202 is known it and will be upgraded one group of data at random and continually, and application 202 can indicate memory device 302 that dsc data district 306 is adjusted to larger capacity, during to reduce Data Update generation, because dsc data district exhausts brought garbage reclamation operation.Similarly, the renewal frequency that application 202 also can know some data can be very low, the static Web page data that such as web server is safeguarded, application 202 can indicate memory device 302 that cold data field 308 is adjusted to larger capacity.
Disclose in prior art and the data centralization of frequent updating has been stored in the benefit brought in dsc data district 306.It makes dsc data district 306 have accumulated more invalid data owing to being infrequently updated, thus reduces the unnecessary migration to valid data.
Contrary with the situation in dsc data district 306, more valid data can be assembled in cold data field 308, thus due to invalid data less and need not move.And, along with time lapse, in memory device 304, the degree of wear of the physical storage block of cold data field 308 is relatively low compared with other storage blocks, when erasure balance operation implemented by needs, the storage block of storage block high for the degree of wear and cold data field 308 can be exchanged, thus simplify the process found for the storage block of replacing.Preferably, the storage block of the storage block in dsc data district 306 and cold data field 308 is exchanged, make old dsc data district become cold data field, and old cold data field becomes dsc data district.In certain embodiments, the storage block in the storage block in dsc data district 306 and general data district 304 is exchanged.In still some embodiments, the storage block of cold data field 308 and the storage block in general data district 304 are exchanged.
In a further embodiment, map based on block, LBA (Logical Block Addressing) is mapped as the physical block address in general data district 304; And map based on page, logical page address is mapped as the physical page address in dsc data district 306, cold data field 308 and/or random data district 310.Address maps based on page can bring the storage space utilization factor of higher memory device and reduce writes amplification, but needs more memory storage space to carry out memory map assignments.The storage space of the memory map assignments required for block-based address maps is relatively little.In further embodiments, block-based mapping is all implemented for general data district 304, dsc data district 306 and cold data field 308.In still other embodiments, the mapping based on page is all implemented for general data district 304, dsc data district 306 and cold data field 308.
Fig. 4 be according to the embodiment of the present invention by the process flow diagram of data write storage device.Receive data write request (402), determine the type (404) of write request.Data write request can from user application, operating system or server; Data write request also can from file system or flash translation layer (FTL) (FTL).The type of write request includes but not limited to: this write request is random write request, address corresponding to this write request or data will be infrequently updated, this write request is that random write request and/or the address corresponding to this write request or data maybe can not be updated being seldom updated, this write request is that sequential write request maybe will have the continuous write request of multi-group data, and/or the characteristic of this request still uncertain.
In one embodiment, the type of the information determination write request provided based on application program.Such as application program can in write request additional relevant information, additional relevant information can indicate this write request to be random write request, and/or address corresponding to this write request or data will be infrequently updated.Additional relevant information can also indicate this write request to be that random write request and/or the address corresponding to this write request or data maybe can not be updated being seldom updated.This additional relevant information also can indicate this write request to be that sequential write request maybe will have the continuous write request of multi-group data.This additional relevant information can also indicate application program to can not determine the characteristic of this request, such as, can not determine whether the address that this write request is corresponding or data can be frequently changed.
In a still embodiment, based on the type of the context determination write request of write request.Such as, write request type is determined based on sending the user of write request, user's group, application program, Application Type and/or current session.
In a still embodiment, based on the logical address indicated by data write request, determine the type of this data write request.Such as, the mapping table of the write frequency of address and this address is set up.The type of the write request for the address corresponding with this frequency is determined based on write frequency.Again such as, record the address of nearest several times write request, determine the type of write request based on nearest least referenced (LRU) algorithm or nearest access (MRU) algorithm at most.
In a still embodiment, based on the data indicated by data write request, determine the type of this data write request.Such as can based on the type of frequency or LRU, MRU scheduling algorithm determination write request.One of ordinary skill in the art will recognize, there is the mode that other identify the type of write request.
When judging that data write request is the first kind, by data corresponding for this data write request write dsc data district (406).In this process, the operation of storage block can be distributed along with the dsc data district from solid storage device.In one embodiment, the data that the first kind indicates this data write request to write can be infrequently updated; In a still embodiment, the random write request that the first kind indicates this data write request to be logical address stochastic distribution and the data write can be infrequently updated.
When this data write request is Second Type, data corresponding for this data write request are write this cold data field (408).In this process, the operation of storage block can be distributed along with the cold data field from solid storage device.In one embodiment, the data that Second Type indicates this data write request to write will seldom be updated.In still another embodiment, the random write request that Second Type indicates this data write request to be logical address stochastic distribution and the data write will seldom be updated.
When this data write request is the 3rd type, data corresponding for this data write request are write the 3rd memory block (410).In this process, the operation of storage block can be distributed along with the 3rd memory block from solid storage device.In one embodiment, the characteristic that the data that the 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.In a still embodiment, the 3rd type instruction there is no the characteristic that method determines this request of data.
Fig. 5 is the curve map according to the address of the data write request of the embodiment of the present invention and the corresponding relation of access number.In Fig. 5, horizontal ordinate is the address of write request, and ordinate is the quantity that in a period of time, write request occurs.The curve map of Fig. 5 obtains by the process of test, simulation, emulation or tuning.Also can carry out statistics when system cloud gray model to request of access to obtain.As shown in Figure 5, the write request occurrence frequency between address realm A1-A2 is higher, and address realm is less than A3 or it is lower to be greater than the write request occurrence frequency of A4.And the write request of address realm between A3-A1 or A2-A4, the feature of its occurrence frequency is also not obvious.
In one embodiment, according to the write request quantity of address realm A1-A2 or the size in frequency adjustment dsc data district 306.According to address be less than A3 and or address be greater than the size that the quantity of the write request of A4 or frequency adjust cold data field 308.According to the quantity of the write request of address realm A3-A1 or address realm A2-A4 or the size in frequency adjustment general data district 304.
In another embodiment, according to the random write number of requests of address realm A1-A2 or the size in frequency adjustment dsc data district 306.According to address be less than A3 and or address be greater than the size that the quantity of the write request of A4 or frequency adjust cold data field 308.According to the quantity of the write request of address realm A3-A1 or address realm A2-A4 or the size in frequency adjustment general data district 304 or random data district 310.
In still another embodiment, the time that statistics write request occurs, to obtain write request distribution in time, or the write request distribution be in time associated with address.And then determine that write request is the write request of random address or the write request of continuation address, or determine the random degree of Address d istribution of write request.The size in dsc data district 306, cold data field 308, random data district 310 and/or general data district 304 is adjusted according to the quantity of the write request of random address or frequency.
Fig. 6 is the block diagram of the computer system according to the embodiment of the present invention.Computing machine 600 can implement the method according to the embodiment of the present invention, with by data write storage device.
Computing machine 600 comprises mainboard 610.Mainboard 610 is furnished with CPU (central processing unit) (CPU, CentralProcessingUnit) 612 and expansion card 614.Mainboard 610 also can be furnished with the parts such as chipset, storer.Expansion card 614 is for being coupled to computing machine 600 by multiple memory disc.Expansion card 614 is by such as PCIE (PeripheralComponentInterconnectExpress, quick peripheral assembly interconnecting), the multiple interfaces such as PCI (PeripheralComponentInterconnect, periphery component interconnection) is coupled to mainboard 610.Expansion card 614 is by multiple interfaces coupled storage dish, multiple interfaces includes but not limited to SATA (SerialAdvancedTechnologyAttachment, Serial Advanced Technology Attachment), USB (UniversalSerialBus, USB (universal serial bus)), PCIE, SCSI (SmallComputerSystemInterface, small computer system interface), IDE (IntegratedDriveElectronics, integrated drive electronics) etc.Multiple memory disc comprises dish 620,622,624 and 626.Expansion card 614 can be coupled the memory disc of varying number.Flash translation layer (FTL) (FlashTranslationLayer, FTL) parts can be comprised, in order to the memory disc request of access of logic-based address to be converted to the memory disc request of access of physically based deformation address in expansion card 614.Memory disc can be solid-state disk, and solid-state disk is using flash chip as storage medium, and solid-state disk is also applicable to the storage chip of other types, such as, and phase transition storage, Memister, ferroelectric memory etc.
In one embodiment, in mainboard 610, expansion card 614 can not be comprised, and by being arranged on the interfaces such as such as PCIE, IDE, SCSI and/or SATA on mainboard 610, dish 620,622,624 and 626 is coupled to mainboard 610.And, in the operating system or application program of computing machine 600, provide flash translation layer (FTL) software, in order to the memory disc request of access of logic-based address to be converted to the memory disc request of access of physically based deformation address.Flash translation layer (FTL) parts can also be arranged in CPU, chipset or other integrated circuit.
Expansion card 614 can be furnished with control circuit, in order to implement to control to write the data of dish 620,622,624,626 according to the method for the embodiment of the present invention.Control circuit can be FPGA (Field-programmablegatearray, field programmable gate array), ASIC (ApplicationSpecificIntegratedCircuit, application specific integrated circuit) or its combination form.Control circuit also can comprise one or more processor or controller.Flash translation layer (FTL) parts can realize with hardware circuit form in FPGA, ASIC, and the software form operated in processor or controller also can be adopted to realize.
In one embodiment, cold data field can be set to by such as coiling 620, dish 622 be set to dsc data district, and dish 624-626 is set to random data district.Dish 622 is set to dsc data district, wearing and tearing can be concentrated on dish 622, and then carry out implementation system maintenance effectively by replacement dish 622.In another embodiment, dsc data district and/or cold data field can be arranged on the same dish of dish 620-626.In still another embodiment, dsc data district and/or cold data field can be arranged on multiple dishes of dish 620-626.
Fig. 7 is the block diagram of the memory device according to the embodiment of the present invention.Memory device 700 can implement the method according to the embodiment of the present invention, with by data write storage device.Disclose the block diagram of the computer system according to the embodiment of the present invention above in figure 6.And the embodiment of Fig. 7 is for providing the memory device of stores service by network.Memory device 700 comprises backboard 710.Backboard 710 is furnished with controller 714.Backboard 710 also can be furnished with the parts such as chipset, storer.Controller 714 is for being coupled to memory device 700 by multiple memory disc.Controller 714 is by multiple interfaces coupled storage dish, and multiple interfaces includes but not limited to SATA, USB, PCI, PCIE, SCSI, IDE etc.Controller 714 is also indirectly coupled to memory disc by chipset or expansion card.Multiple memory disc comprises dish 720,722,724 and 726.Controller 714 can be coupled the memory disc of varying number.Flash translation layer (FTL) (FlashTranslationLayer, FTL) parts can be comprised, in order to the memory disc request of access of logic-based address to be converted to the memory disc request of access of physically based deformation address in controller 714.Memory disc can be solid-state disk, and solid-state disk is using flash chip as storage medium, and solid-state disk is also applicable to the storage chip of other types, such as, and phase transition storage, Memister, ferroelectric memory etc.
In one embodiment, in the operating system or other programs of memory device 700, provide flash translation layer (FTL) software, in order to the memory disc request of access of logic-based address to be converted to the memory disc request of access of physically based deformation address.Flash translation layer (FTL) parts can also be arranged in CPU, chipset or other integrated circuit.
Controller 714, can in order to implement the access controlling dish 720,722,724,726 according to the method for the embodiment of the present invention.Controller 714 can be the form of FPGA, ASIC or its combination.Controller 714 also can comprise one or more processor or controller.Flash translation layer (FTL) parts can realize with hardware circuit form in FPGA, ASIC, and the software form operated in processor or controller also can be adopted to realize.
Backboard 710 is also furnished with network adapter 730,732.There is provided 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 is also coupled to network 734, and by network 734 accessing storage device 700.In other embodiments, client 740,742 can not be directly coupled to network adapter 730 and/or 732 via network 734.
Present the description of this invention in order to the object illustrated 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 change are apparent.

Claims (16)

1. data are write a method for solid storage device, comprising:
Receive data write request;
Based on this data write request, determine that this data write request is the first kind, Second Type or the 3rd type;
When this data write request is the first kind, by the first memory block of data corresponding for this data write request write solid storage device;
When this data write request is Second Type, by the second memory block of data corresponding for this data write request write solid storage device;
When this data write request is the 3rd type, by the 3rd memory block of data corresponding for this data write request write solid storage device;
Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
2. method according to claim 1, wherein
Based on the logical address indicated by this data write request, determine that this data write request is the first kind, Second Type or the 3rd type.
3. method according to claim 1, wherein
Based on the data indicated by this data write request, determine that this data write request is the first kind, Second Type or the 3rd type.
4. method according to claim 1, wherein
Based on the indication information entrained by this data write request, determine that this data write request is the first kind, Second Type or the 3rd type.
5. method according to claim 1, wherein
Based on the contextual information of this data write request, determine that this data write request is the first kind, Second Type or the 3rd type.
6. method according to claim 1, wherein
The random write request that the first kind indicates this data write request to be address stochastic distribution and the data write can be infrequently updated; The random write request that Second Type indicates this data write request to be address stochastic distribution and the data write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
7. method according to claim 1, wherein
The size of the first memory block is much smaller than the 3rd memory block;
The size of the second memory block is much smaller than the 3rd memory block; And
In first memory block, physical address and logical address are pressed page and are mapped; In second memory block, physical address and logical address are pressed page and are mapped, and in the 3rd memory block, physical address and logical address are pressed block and mapped; And wherein, each piece comprises multiple page.
8. method according to claim 1, wherein
Based on this data write request, the data write request of the 3rd type is defined as further the 4th type or the 5th type, the renewal frequency of the data that the renewal frequency of the data that the 4th type indicates this data write request to write writes lower than the data write request of the first kind, but the renewal frequency of the data write higher than the data write request of the 5th type;
The renewal frequency of the data that the renewal frequency of the data that the 5th type indicates this data write request to write writes lower than the data write request of the 4th type, but the renewal frequency of the data write higher than the data write request of Second Type.
9. method according to claim 8, wherein
When this data write request is the 4th type, distributes the 4th storage block from the 4th memory block of solid storage device, data corresponding for this data write request are write the 4th storage block;
When this data write request is the 5th type, distributes the 5th storage block from the 5th memory block of solid storage device, data corresponding for this data write request are write the 5th storage block.
10., according to the method one of claim 1-9 Suo Shu, also comprise:
Adjust the size of described first memory block, the second memory block or the 3rd memory block.
11. methods according to claim 10, wherein
The size of the first memory block is adjusted according to the quantity corresponding with the data write request of the first kind or frequency; And/or
The size of the second memory block is adjusted according to the quantity corresponding with the data write request of Second Type or frequency; And/or
The size of the 3rd memory block is adjusted according to the quantity corresponding with the data write request of the 3rd type or frequency.
12., according to the method one of claim 1-9 Suo Shu, also comprise:
After the free memory blocks of the first memory block is depleted, the storage block of the storage block of the first memory block and the second memory block or the 3rd memory block is exchanged.
13. according to the method one of claim 1-9 Suo Shu, wherein:
When this data write request is the first kind, distribute the first storage block from the first memory block of solid storage device, data corresponding for this data write request are write this first storage block;
When this data write request is Second Type, distribute the second storage block from the second memory block of solid storage device, data corresponding for this data write request are write this second storage block;
When this data write request is the 3rd type, distributes the 3rd storage block from the 3rd memory block of solid storage device, data corresponding for this data write request are write the 3rd storage block.
14. 1 kinds of systems data being write solid storage device, comprising:
For receiving the module of data write request;
For based on this data write request, determine that this data write request is the module of the first kind, Second Type or the 3rd type;
For when this data write request is the first kind, by the module of the first memory block of data corresponding for this data write request write solid storage device;
For when this data write request is Second Type, by the module of the second memory block of data corresponding for this data write request write solid storage device;
For when this data write request is the 3rd type, by the module of the 3rd memory block of data corresponding for this data write request write solid storage device;
Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
15. 1 kinds of memory devices, comprising: network adapter, controller and be coupled to multiple drivers of described controller;
Described memory device is coupled to network by described network adapter, and receives data write request;
Based on this data write request, described controller determines that this data write request is the first kind, Second Type or the 3rd type, when this data write request is the first kind, data corresponding for this data write request are write the first memory block of multiple driver; When this data write request is Second Type, data corresponding for this data write request are write the second memory block of multiple driver; When this data write request is the 3rd type, data corresponding for this data write request are write the 3rd memory block of multiple driver;
Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
16. 1 kinds of storage mediums storing computer program, described computer program when executed by a computer, makes computing machine, by performing the following step, data be write solid storage device:
Receive data write request;
Based on this data write request, determine that this data write request is the first kind, Second Type or the 3rd type;
When this data write request is the first kind, by the first memory block of data corresponding for this data write request write solid storage device;
When this data write request is Second Type, by the second memory block of data corresponding for this data write request write solid storage device;
When this data write request is the 3rd type, by the 3rd memory block of data corresponding for this data write request write solid storage device;
Wherein, the data that the first kind indicates this data write request to write can be infrequently updated; The data that Second Type indicates this data write request to write will seldom be updated; The characteristic that the data that 3rd type indicates this data write request to write are updated is different from the instruction of the above-mentioned first kind or Second Type.
CN201410240801.5A 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment Active CN105224240B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910228939.6A CN109947370A (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment
CN201410240801.5A CN105224240B (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410240801.5A CN105224240B (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910228939.6A Division CN109947370A (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment

Publications (2)

Publication Number Publication Date
CN105224240A true CN105224240A (en) 2016-01-06
CN105224240B CN105224240B (en) 2019-04-30

Family

ID=54993247

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910228939.6A Pending CN109947370A (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment
CN201410240801.5A Active CN105224240B (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910228939.6A Pending CN109947370A (en) 2014-05-30 2014-05-30 Write data into the method, apparatus and storage equipment of storage equipment

Country Status (1)

Country Link
CN (2) CN109947370A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193487A (en) * 2017-04-26 2017-09-22 华中科技大学 A kind of random access recognition methods and system
CN107203330A (en) * 2016-03-17 2017-09-26 北京忆恒创源科技有限公司 A kind of flash data location mode towards read-write data flow
CN107423229A (en) * 2017-03-16 2017-12-01 杭州电子科技大学 A kind of buffering area improved method towards page level FTL
CN107562378A (en) * 2017-08-28 2018-01-09 记忆科技(深圳)有限公司 A kind of method for lifting the solid storage device life-span
WO2018032510A1 (en) * 2016-08-19 2018-02-22 华为技术有限公司 Method and apparatus for processing access request applied to storage device
WO2018033036A1 (en) * 2016-08-19 2018-02-22 深圳大普微电子科技有限公司 Solid state hard disk and data access method for use with solid state hard disk
CN107728930A (en) * 2016-08-10 2018-02-23 中国移动通信集团重庆有限公司 A kind of data access method and system
CN110069218A (en) * 2019-04-22 2019-07-30 珠海全志科技股份有限公司 Cold and hot data separation method, device, computer equipment and storage medium
CN111208944A (en) * 2019-12-30 2020-05-29 深圳佰维存储科技股份有限公司 Data prejudging method and device and readable storage medium
CN111324298A (en) * 2018-12-17 2020-06-23 西部数据技术公司 Data storage system and method for autonomic tuning of data storage system performance, capacity and/or operational requirements
CN111858395A (en) * 2020-06-30 2020-10-30 维沃移动通信有限公司 Data management method and device
WO2022021280A1 (en) * 2020-07-31 2022-02-03 华为技术有限公司 Storage controller, storage control method, solid state disk and storage system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711386B (en) * 2021-01-18 2021-07-16 深圳市龙信信息技术有限公司 Storage capacity detection method and device of storage device and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566924A (en) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 Data read-write method of disk array
CN102799534A (en) * 2012-07-18 2012-11-28 上海宝存信息科技有限公司 Storage system and method based on solid state medium and cold-hot data identification method
CN103616944A (en) * 2013-10-18 2014-03-05 杭州电子科技大学 Consumption reduction method in cloud storage system based on pre-judging green data classification strategy

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791325B1 (en) * 2006-10-27 2008-01-03 삼성전자주식회사 Apparatus and method for managing nonvolatile memory
KR101467941B1 (en) * 2011-04-26 2014-12-02 엘에스아이 코포레이션 Variable over­provisioning for non­volatile storage
CN102279712A (en) * 2011-08-10 2011-12-14 北京百度网讯科技有限公司 Storage control method, system and device applied to network storage system
CN203191968U (en) * 2013-03-11 2013-09-11 北京忆恒创源科技有限公司 Storage equipment with a plurality of solid-state discs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566924A (en) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 Data read-write method of disk array
CN102799534A (en) * 2012-07-18 2012-11-28 上海宝存信息科技有限公司 Storage system and method based on solid state medium and cold-hot data identification method
CN103616944A (en) * 2013-10-18 2014-03-05 杭州电子科技大学 Consumption reduction method in cloud storage system based on pre-judging green data classification strategy

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203330A (en) * 2016-03-17 2017-09-26 北京忆恒创源科技有限公司 A kind of flash data location mode towards read-write data flow
CN107203330B (en) * 2016-03-17 2021-03-23 北京忆恒创源科技有限公司 Read-write data stream oriented flash memory data distribution method
CN107728930A (en) * 2016-08-10 2018-02-23 中国移动通信集团重庆有限公司 A kind of data access method and system
CN109564502B (en) * 2016-08-19 2020-12-08 华为技术有限公司 Processing method and device applied to access request in storage device
US10810127B2 (en) 2016-08-19 2020-10-20 Shenzhen Dapu Microelectronics Co., Ltd. Solid-state hard disk and data access method for use with solid-state hard disk
WO2018033036A1 (en) * 2016-08-19 2018-02-22 深圳大普微电子科技有限公司 Solid state hard disk and data access method for use with solid state hard disk
WO2018032510A1 (en) * 2016-08-19 2018-02-22 华为技术有限公司 Method and apparatus for processing access request applied to storage device
CN109564502A (en) * 2016-08-19 2019-04-02 华为技术有限公司 Treating method and apparatus applied to the access request in storage equipment
CN107423229A (en) * 2017-03-16 2017-12-01 杭州电子科技大学 A kind of buffering area improved method towards page level FTL
CN107423229B (en) * 2017-03-16 2020-09-01 杭州电子科技大学 Buffer area improvement method for page-level FTL
CN107193487A (en) * 2017-04-26 2017-09-22 华中科技大学 A kind of random access recognition methods and system
CN107193487B (en) * 2017-04-26 2019-11-12 华中科技大学 A kind of random access recognition methods and system
CN107562378A (en) * 2017-08-28 2018-01-09 记忆科技(深圳)有限公司 A kind of method for lifting the solid storage device life-span
CN111324298A (en) * 2018-12-17 2020-06-23 西部数据技术公司 Data storage system and method for autonomic tuning of data storage system performance, capacity and/or operational requirements
CN111324298B (en) * 2018-12-17 2023-10-24 西部数据技术公司 Data storage system and method for autonomously adjusting data storage system performance, capacity, and/or operational requirements
CN110069218A (en) * 2019-04-22 2019-07-30 珠海全志科技股份有限公司 Cold and hot data separation method, device, computer equipment and storage medium
CN111208944A (en) * 2019-12-30 2020-05-29 深圳佰维存储科技股份有限公司 Data prejudging method and device and readable storage medium
CN111208944B (en) * 2019-12-30 2023-06-27 深圳佰维存储科技股份有限公司 Data prejudging method, device and readable storage medium
CN111858395A (en) * 2020-06-30 2020-10-30 维沃移动通信有限公司 Data management method and device
CN111858395B (en) * 2020-06-30 2024-03-19 维沃移动通信有限公司 Data management method and device
WO2022021280A1 (en) * 2020-07-31 2022-02-03 华为技术有限公司 Storage controller, storage control method, solid state disk and storage system
EP4187363A4 (en) * 2020-07-31 2023-09-06 Huawei Technologies Co., Ltd. Storage controller, storage control method, solid state disk and storage system

Also Published As

Publication number Publication date
CN105224240B (en) 2019-04-30
CN109947370A (en) 2019-06-28

Similar Documents

Publication Publication Date Title
CN105224240A (en) By the method for data write storage device, device and memory device
US10275162B2 (en) Methods and systems for managing data migration in solid state non-volatile memory
US10255177B2 (en) System and method for adaptive optimization for performance in solid state drives based on read/write intensity
US9495105B2 (en) System managing a plurality of flash memory devices
KR100823171B1 (en) Computer system having a partitioned flash translation layer and flash translation layer partition method thereof
US11429284B2 (en) Data categorization based on invalidation velocities
US10802733B2 (en) Methods and apparatus for configuring storage tiers within SSDs
US20100287217A1 (en) Host control of background garbage collection in a data storage device
TWI454916B (en) Storage unit management method, memory controller and memory storage device using the same
KR20130031046A (en) Flash memory device and data manage method thererof
CN103597444A (en) Managing data placement on flash-based storage by use
CN112041805A (en) Specifying media type in write command
US20160350025A1 (en) Data storage device
KR20110110720A (en) Method and system for wear leveling in a solid state drive
CN103294604A (en) Flash memory device and electronic device employing thereof
KR20130112210A (en) Page replace method and memory system using the same
CN112115067A (en) Flash memory physical resource set management device and method and computer readable storage medium
KR20200114086A (en) Controller, memory system and operating method thereof
US8214609B2 (en) Data transference to virtual memory
KR102425470B1 (en) Data storage device and operating method thereof
CN110069427A (en) The operating method of Memory Controller and Memory Controller
JP2020046752A (en) Storage device and information processing system
CN115344201A (en) Data storage method, data query method and device
US8364893B2 (en) RAID apparatus, controller of RAID apparatus and write-back control method of the RAID apparatus
CN110658999A (en) Information updating method, device, equipment and computer readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room A302, B-2 Building, North Territory of Dongsheng Science Park, Zhongguancun, 66 Xixiaokou Road, Haidian District, Beijing, 100192

Applicant after: Beijing Memblaze Technology Co., Ltd.

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

Applicant before: Beijing Memblaze Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and apparatus for writing data into storage device and storage device

Effective date of registration: 20191024

Granted publication date: 20190430

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: Beijing Memblaze Technology Co., Ltd.

Registration number: Y2019990000404

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210820

Granted publication date: 20190430

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: MEMBLAZE TECHNOLOGY (BEIJING) Co.,Ltd.

Registration number: Y2019990000404

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: Room A302, B-2 Building, North Territory of Dongsheng Science Park, Zhongguancun, 66 Xixiaokou Road, Haidian District, Beijing, 100192

Patentee before: MEMBLAZE TECHNOLOGY (BEIJING) Co.,Ltd.