Source: https://patents.google.com/patent/CN106126439A/en
Timestamp: 2020-05-29 00:20:45
Document Index: 89776343

Matched Legal Cases: ['Application No. 200880100393', 'art.302', 'art 1106', 'art 1502', 'arts 1502', 'art 1502', 'arts 1502', 'arts 1504', 'arts 1504', 'art 1504', 'arts 1508', 'arts 1508', 'art 1506', 'art 1508', 'art 1540']

CN106126439A - Variable partition in mixing storage subsystem - Google Patents
Variable partition in mixing storage subsystem Download PDF
CN106126439A
CN106126439A CN201610473969.XA CN201610473969A CN106126439A CN 106126439 A CN106126439 A CN 106126439A CN 201610473969 A CN201610473969 A CN 201610473969A CN 106126439 A CN106126439 A CN 106126439A
CN201610473969.XA
R·萨尔托热
技佳科技有限公司
2007-07-25 Priority to US11/881,248 priority Critical
2007-07-25 Priority to US11/881,248 priority patent/US8046546B2/en
2008-07-25 Application filed by 技佳科技有限公司 filed Critical 技佳科技有限公司
2008-07-25 Priority to CN2008801003936A priority patent/CN101960528A/en
2016-11-16 Publication of CN106126439A publication Critical patent/CN106126439A/en
230000015654 memory Effects 0 claims abstract description 281
This application discloses the variable partition in mixing storage subsystem.A kind of storage subsystem in device includes: volatile memory；Nonvolatile memory, the capacity of described nonvolatile memory is more than the capacity of described volatile memory；A kind of logic, this logic makes at least some of volatile memory of the device equipped with this logic be backed up to nonvolatile memory when device power-off；And logic, this logic can make at least some of volatile memory of this device will not be backed up to nonvolatile memory when device power-off.
Variable partition in mixing storage subsystem
Present patent application be international application no be PCT/US2008/071112, international filing date is on July 25th, 2008, Enter the Application No. 200880100393.6 of National Phase in China, entitled " variable partition in mixing storage subsystem " The divisional application of application for a patent for invention.
It relates to the mixing comprising volatile memory elements and non-volatile memory device stores system and monolithic is non-easily Mistake stores.When power-off occurs, single-chip non-volatile memory can be used the electric energy of storage in electric capacity or be made by of short duration Data preservation is carried out with battery.
A lot of computer utilitys (computing applications) would benefit from the application of flash non-volatile memorizer, Including disk cache, solid state hard disc, hard disk emulates, hybrid hard disk and file system.
Such as based on FAT (file allocation table) popular PC file system and NTFS (New Technology File System) are responsible for writing and depositing The file management data that storage file is relevant.These data are called the data of " metadata "-management file system.For based on For the file system of FAT32 and FAT16, this is called " FAT ", and for a new technology file system, this is called " MTF " (MFT).
Metadata is extremely important for the operation of file system accurately.File system can be at one or more (repetition) disk File preserves their metadata.But the importance of metadata, the access of metadata and change frequency and to accessing and more The rate request metadata of metadata to be especially suitable for storing in the nonvolatile memory rather than be stored in the slowest magnetic In dish file (or rapid wear nand flash memory device), can not store as the disk buffering for file system operation service.
Conventional module or the nonvolatile memory of page access, the multilamellar of such as one limited use (limited erase-write cycles) Unit (MLC) nand flash memory device can be used to store the data that access frequency is the highest.But for relating to store frequently For some application program run, directly it is written and read nand flash memory to seem slow and lengthy and tedious, because filling with this flash memory Put relevant access method and mostly be non-internal storage access (such as sequence of modules).The property of data is frequently changed in this application program Matter can cause storage system premature failure because nand flash memory device be lost completely and become unreliable before its wipe Write capability is limited.This may result in system and runs unreliable replacing nand flash memory of finally having to.Frequently change NAND Flash memory can increase the cost in the system phase in service life.
In all of figure, in order to make it easy to understand, all identical instruction numbers and abbreviation all represent identical or like function Element or behavior.For the ease of discussing a specific element or behavior, the most significant digit in instruction number is this The number of place figure when element occurs for the first time.
Fig. 1 is the structure chart of mixing storage subsystem embodiment.
Fig. 2 is the flow chart of data backup procedure embodiment.
Fig. 3 is the flow chart of data recovery procedure embodiment.
Fig. 4 is the structure chart of mixing storage subsystem embodiment, and this subsystem provides an external system by SDRAM interface.
Fig. 5 describes an embodiment comprising multiple stand-by power supply electric capacity.
The embodiment flow chart of checking capacitor power when Fig. 6 is system power supply recovery.
Fig. 7 is the embodiment explanatory diagram of RC discharge curve under predetermined load (R) and voltage.
Fig. 8 is the diagram of LC (inductance capacitance) loop circuit embodiment.
Fig. 9 is the embodiment flow chart initializing a mixing storage subsystem process.
Figure 10 recovers to make a response for running external system power supply when power-off preserves after mixing storage subsystem system cut-off outside The flow chart of embodiment of process.
Figure 11 be mixing storage subsystem power-off time under different non-volatile memory capacity situations memory allocation map.
Figure 12 is the flow chart of mixing storage subsystem power up process embodiment.
Figure 13 and 14 is the embodiment flow chart of the power process that mixing storage subsystem is caused by external system power-off.
Figure 15 is mixing storage subsystem variable partition embodiment structure chart.
The implementation of invention and industrial applicability
" embodiment " is although referring to same embodiment sometimes but not necessarily always referring to same embodiment.
Unless particularly pointed out within a context, describe and claim in use " forgiving " and this type of word it should be understood that " include but not limited to ".The word using odd number or plural number also includes plural number or odd number.It addition, " this ", " more than ", " below " and The use of other similar words be for the application generally speaking rather than application a certain specific part.In rights protection Use " or " word, when referring to two and it comprises following implication during more project: any one in Listed Items Project, all items in Listed Items and the easily combination in Listed Items.
" logic " word refers to affect signal and (or) the information of a plant running.Software, hardware and firmware can be referred to as patrolling Volume.Hardware can embody in circuit.Generally speaking, logic forgives the combination of software, hardware and (or) firmware.
The personnel grasping art technology are appreciated that logic can be distributed by one or more devices, by memorizer The combination of instruction, disposal ability, circuit and other compositions.In order to distinct and correct for the sake of, even if logic inevitably goes out In the diagram of device and system, the most always clearly add explanation.
Mixing storage subsystem
Fig. 1 is the structure chart of mixing storage subsystem embodiment.The mixing storage subsystem volatile storage by low cost Device 102 and low cost nonvolatile memory 104 with the use of providing a low cost, high density, non-volatile deposit Reservoir.
Storage subsystem includes but not limited to SDRAM 102 (volatile memory), nand flash memory 104 (non-volatile memories Device), analog power control circuit 106, power capacitor 108 and a system controller 110.Other elements and (or) element group Close and those skilled in the art are readily understood that.
Volatile memory in present embodiment is SDRAM 102 (synchronous DRAM).Other kinds of volatile Property random access memory is likely to be employed.Nonvolatile memory in present embodiment is nand flash memory 104, equally, Other kinds of nonvolatile memory is likely to be employed.
Analog power control circuit 106 is connected by external power supply with storage subsystem, and usually one comprises and uses this and mixes Close the power supply of the bigger system of storage subsystem.Such as, external power supply is probably the individual or business comprising storage subsystem Business computer system.
Analog power control circuit 106 is also connected by the local stand-by power supply of storage subsystem with storage subsystem.Such as, originally Ground stand-by power supply is probably the battery (or combination) of electric capacity 108 or less.In the embodiment of figure 1, electric capacity 108 outside dump time power supply is temporarily provided to storage subsystem.Electric capacity 108 can provide enough power supplys for from volatibility Memorizer 102 replicates data module to nonvolatile memory 104.
When external power cuts off, mixing storage subsystem can work as the independent particle system of a bigger External System.Mould Intend power circuit 106 and can identify External System power-off.System controller 110 can start backup, deposits being currently stored in volatibility The data of reservoir 102 copy to nonvolatile memory 104.Here, " backup " meaning is the data quilt of volatile memory 102 It is saved in nonvolatile memory 104.When external power up, system controller 110 can be in nonvolatile memory 104 Data return to volatile memory 102.Deposited here, the meaning of " recovery " is the data in nonvolatile memory 104 Storage is to volatile memory 102.
Therefore system controller 110 just include when external dump data from volatile memory 102 backup to non-easily The property the lost logic of memorizer 104 and data are returned to volatibility from nonvolatile memory 104 when external power up The logic of memorizer 102.
Grasp the personnel of art technology and be appreciated that the element of various difference in functionality, such as power controller logic 106 and be System controller 110 even volatile memory 102 and nonvolatile memory 104 can integrate as one or more collection Become circuit arrangement to run together, can combine as the solid element of one or more separation.
Even if the data being stored in mixing storage subsystem also can preserve in the case of external dump.Even if external system is electric Source lacks, and data also can be by the storage subsystem being internally kept in nonvolatile memory 104.Although system power supply lacks outside Data of missing the season are internally kept on nonvolatile memory 104 by storage subsystem, and external system can also store subsystem with mixing System forms interaction, just as interactive with volatile memory 102 (identical or other models).
Mixing storage system system power supply the most outside just can write data to nonvolatile memory 104 when cutting off.Every with data Will be written into during secondary write mixing storage subsystem and compare, nonvolatile memory 104 can experience less write cycle. If nonvolatile memory 104 is the nand flash memory of low price and only limit cycle, do so can extend non-volatile depositing The service life of reservoir 104.
System controller 110 is provided a storage interface to external system.Storage interface forgive a normal data and certain The control interface of a little particular kind of volatile memory.Such as, system controller can provide the SDRAM number to external system According to, address and control interface.Interface to external system can be to may not be this type volatibility that storage subsystem uses The interface of memorizer 102.
System controller 110 can be provided that another one interface, sends life can to mixing storage subsystem by its external system Order or the situation of acquisition.Such as, in some embodiments, even if external system can also in the case of external power does not cut off Order mixing storage subsystem starts backup functionality and data is backuped to nonvolatile memory 104 from volatile memory 102. It addition, mixing storage subsystem or external system can provide an end user interface, such as on graphic user interface Switch or control, can copy to nonvolatile memory data from volatile memory 102 by its external system user 104.Another behavior, namely returns to volatile memory 102 data from nonvolatile memory 104, at some Embodiment can be realized by the system interface of system controller 110 or directly by user.Some embodiment party In formula, external system can use it to realize the selftest to mixing storage subsystem with the interface mixing storage control 110.
Example or the embodiment of other various system elements are readily understood that for person skilled in the art.
Mixing storage subsystem is run
As described previously, system controller 110 may comprise the logic connecting volatile memory 102 to external system, such as Personal computer system or business computer system.The example of other application mixing storage subsystems is embedded Control application, logical News and consumer products.
System controller 110 can present an interface to external system, so volatile memory 102 can be visited by external system Ask, realize the read-write of data.
Cut from least one power supply in the power supply of the arrival volatibility of external system and nonvolatile memory and controller Time disconnected, power controller logic just it appeared that.Such as, external system is it is possible that power interruptions or battery runs down.When outward When system power supply is cut off, power-supply controller of electric 106 can be supplied to volatile memory 102, nonvolatile memory 104 and controller 110 enough stand-by power supplies make data backup to nonvolatile memory 104 from volatile memory 102.Electric capacity or battery electricity Source 108 now works as stand-by power supply.
Controller 110 can include making external system start backup functionality data from volatile memory in some embodiments 102 logics backuping to nonvolatile memory 104 rather than the most just start backup functionality.Controller 110 is also possible to Forgiving a kind of logic, this logic can imitate a kind of volatile memory rather than certain certain types of volatile storage at external system Device.Such as, in inside, storage subsystem may apply SDRAM to simulate the function of volatile memory 102.But, control Device is possibly comprised in external system and imitates single data rate internal memory (SDRAM), double-speed internal memory (DDRAM), DDR2, Asynchronous SRAM, The logic (other examples are enumerated the most one by one) of C-F card or PCI-E.
Volatile memory 102, nonvolatile memory 104, controller 110 and power-supply controller of electric 106 can be with various differences Mode implement.Such as, these elements can become one in multi-chip group, and a panel subsystem or a single-chip are real Execute.
Shown in Fig. 1 embodiment be data pass through controller 110 from volatile memory 102 to nonvolatile memory During 104 motion (or adverse movement) back up and recovery is achieved.In other embodiments, data may be by from volatile Property memorizer 102 to nonvolatile memory 104 motion realize backup and recover, need not be through controller 110.
Fig. 2 is the flow chart of data backup procedure embodiment.If external system dump (see 202), local stand-by power supply As capacitor power will support that storage subsystem (see 204) works.206, data backup to non-volatile from volatile memory Property memorizer.208, process terminates.
Stand-by power supply was discussed as this locality mixing one electric capacity of storage subsystem or some electric capacity.But external system is also One or several electric capacity can be provided.
Use when stand-by power supply system power supply outside (namely original power) is cut off.But inherently there is switching in power supply switching Postpone (switching time), if handoff failure or slow being possible to cause storage subsystem to lose all electric energy.So In some embodiments, power supply is supplied to mix storage subsystem always by stand-by power supply.Such as mixing storage subsystem is total Being can to obtain required power supply from one or several idle capacities, when external system power up, electric capacity can fill again again Electricity.After external power cuts off, storage subsystem continues to obtain power supply from idle capacity, reduces voltage simultaneously from volatile memory 102 run power-off to nonvolatile memory 104 preserves data function.
Therefore, " external system power supply " can refer to, from external system, execute via one or more stand-by power supplies (such as power capacitor) Add to the power supply of storage subsystem." stand-by power supply " can refer to when from the dump of external system via standby power system It is applied to the power supply of storage subsystem.
External system utilizes two kinds of methods of storage subsystem it to be isolated with external system.First, (permissible for controller interface 110 Volatile memory 102 interface, it is also possible to different) be placed between storage subsystem and external system realize storage access every From.Second, " blocking-up " external system power supply passes through stand-by power supply, realizes the isolated from power with main system with this.
When external system power up, the logic of controller 110 will return to volatibility data from nonvolatile memory 104 Memorizer 102.
Fig. 3 is data recovery procedure embodiment flow chart.302, if external system power up, analog control circuit will Identify power up.304, data return to volatile memory from nonvolatile memory.Terminate in 306 processes.
Fig. 4 is mixing storage subsystem embodiment structure chart, and mixing storage subsystem provides SDRAM circle to external system Face.This system is structurally similar to Fig. 1 embodiment.Mixing storage subsystem provides SDRAM compatible data, and address is with external Control/the status signal of system.So external system just can in the way of interactive with typical case SDRAM with mix storage subsystem shape Become interaction.Mixing storage subsystem causes the appearance of nonvolatile memory 104, and external system need not change and mix storage The interaction mode of system.During dump, volatile memory 102 is sub by mixing storage with the interaction of nonvolatile memory 104 Internal system processes.Interactive details need not inform external system.
Controller 110 uses so this interface, the interface to nonvolatile memory 104 just can avoid contacting with external system.Control Device 110 processed promotes patrolling of volatile memory 102 and nonvolatile memory 104 interaction when forgiving dump outside and recover Volume.
In the embodiment illustrated in fig. 4, mixing storage subsystem controller 110 provide one " passage " transmit by external system to The data of volatile memory 102, address and control signal.When controller 110 provides one to store son with mixing to external system During this type volatile memory consistent volatile memory interface that system uses, transmission " passage " is possibly realized.Such as, If the interface to external system is SDRAM interface, mix storage subsystem at inside use SDRAM as volatile memory, Controller 110 just can transmit signal by " passage " from external system internally SDRAM.This " passage " transmission signal improves Performance.
In the embodiment illustrated in fig. 4, mixing storage subsystem controller 110 carries to volatile memory 102 in turn from external system For " clock recovery " data, address and the information of control.This be achieved require controller 110 to external system provide one with mix The consistent volatile memory interface of this type volatile memory that storage subsystem uses, if but simultaneously will by one or A dry clock delay resets signal time.Such as, if externally system interface is SDRAM interface, mixing storage subsystem Unite and use in inside SDRAM can the signal from external system internally SDRAM to be entered as volatile memory, controller 110 Row " clock recovery " or " re-registering ".Another kind of performance can be obtained by " clock recovery " signal.
In other cases, the external system interface type that inherent volatile memory 102 may provide with controller 110 is not With.Controller 110 is compatible with inherent volatile memory 102 phase by the signal from external system is translated in this case Type.Performance may be reduced in signal translation process.
Controller 110 can be provided that other control/status signal is to external system.These other signals can strengthen and (or) Change controller 110 is supplied to the typical volatile storage interface of external system.External system may be forgiven and is likely to not forgive utilization The logic of this signal.
Capacitive electric energy sends checking
Electric capacity 108 or other stand-by power supplies be make storage subsystem system power supply be discontinuous outside in the case of the pass of reliably working Key elements.Therefore the reliability of electric capacity 108 or other stand-by power supplies is critically important.
Fig. 5 is electric capacity verifying logic 502 embodiment structure chart.Electric capacity verifying logic 502 can be forgiven at power-supply controller of electric 106 In, even if the most this situation of reality.Verifying logic 502 verifies that one or more stand-by power supply electric capacity the most normally works And its speed.
Some embodiments may use multiple power capacitor.Multiple power capacitor is used to there may be several advantage, these Advantage includes sending extra stand-by electric energy, may further ensure that reliability service.Such as, if a power capacitor is cut Disconnected, system can still rely on other power capacitor reliably workings.Electric capacity compares and compares for other system element at a low price, institute I.e. can be able to obtain with relatively low expenditure relative to the advantage of Single Capacitance with these.
Logic 502 may insure that at least one power capacitor, such as electric capacity 108, has outside enough during system power supply shakiness Electricity makes data backup to storage subsystem nonvolatile memory 104 from storage subsystem volatile memory 102.
The capacitance of checking electric capacity can be realized by a lot of methods.A kind of method is at least to count under predetermined load and voltage Calculate charge rate and discharge rate one of them.Fig. 7 is the discharge curve embodiment figure of electric capacity under predetermined load (R) and voltage Solve.Time T1 represents first time voltage measurement point on discharge curve, and T2 represents second time voltage measurement point.Twice measurement is all When data backup, the working region of electric capacity obtains.If discharge rate means that the most greatly capacitance is improper, installation is not inconsistent Or it is aging, already close to reliable service life.
The method of another checking capacitive electric energy transmitting capacity is when the backup from volatile memory to nonvolatile memory At the end of measure end capacitance voltage, judge whether that electric capacity also has enough marginal voltage to ensure need for reliable backup with this.At Fig. 7 In, capacitance voltage can be measured at T1, it is simply that when completing from volatile memory to non-volatile memory backup.The electricity of T2 Pressure represents and judges whether electric capacity has enough limit voltage to ensure the reference point run.If the voltage difference between T1 and T2 is not Marginal operational can be realized, mean that electric capacity is now already close to representated by reliable service life or 102,104,106 and 110 Power source loads or extreme environment have exceeded the scope that subsystem can bear.
The method of another checking capacitive electric energy transmitting capacity is (to include inductance unit when electric capacity is connected to a predetermined impedance Part) time measure electric capacity natural frequency of oscillation.Fig. 8 is LC (inductance capacitance) loop circuit i.e. inductance RC agitator Embodiment structure chart.In order to electric energy is verified, inducer 804 can be connected to electric capacity 802 with a ring.Electric capacity 802 can be to inductance Device 804 discharges, and vice versa, forms a resonant frequency in ring.This frequency just represents the electric current of now electric capacity 802 and holds Amount, the electric energy transmitting capacity for electric capacity 802 provides reference frame.
More senior embodiments can include more logic, and this logic can be measured when capacitive electric energy is verified and apply work Temperature, running voltage and capacity cell use the one or more factors in three factors of time.Some embodiments even may be used The previous work performance of energy application system and (or) electric capacity carries out electric energy checking.
Capacitive electric energy checking may be carried out in different situations.Such as, checking may recover again after external power drop Time or carry out when for the first time using this power supply.This situation illustrates at Fig. 6, sees that system recovery energising capacitive electric energy is tested Card embodiment.
In figure 6, external system power supply is employed (602) capacitive electric energy transmitting capacity and is determined (604).If electric capacity has enough Electric energy transmitting capacity (606), storage subsystem is activated (608).Otherwise storage subsystem cannot start (610).In 612 processes Terminate.
In other implementations, checking can periodically be carried out, and may carry out at timed intervals or when one day specific Between or the specific date carry out, it is also possible to carry out when producing external signal, such as, carry out the signal produced during customary diagnosis.
Verifying logic 502 can send signal to external system, informs capacitive electric energy the result.Such as, verifying logic 502 can basis The result informs that external system storage system is working properly, operation irregularity or the MODE of operation in loss.If electric capacity quilt Checking does not has enough electric energy that data are copied to non-volatile depositing from volatile memory 102 in the case of external power instability During reservoir 104, storage system can be considered to work under degraded mode.The storage capacity such as reducing storage subsystem will be by Think and work at degraded mode.Such as verifying logic 502 judges that the electricity of power capacitor can only back up from volatile memory 102 The data of 50% are to nonvolatile memory 104, and storage subsystem will indicate external system, and it only has complete storage capacity 50%.
In some embodiments, verifying logic 502 can preferentially use multiple electric capacity as standby electricity according to electric energy the result Source.Such as, under conditions of other conditions are identical, electric capacity 108 is first-selected stand-by power supply, and other electric capacity divide and arrange the two or three. If but the 60% of checking display electric capacity 108 only rated functional, verifying logic can specify another one first-selection stand-by power supply, At this moment the 3rd electric capacity becomes second and electric capacity 108 becomes the 3rd.
Storage subsystem initializes
Fig. 9 initializes mixing storage subsystem process embodiment flow chart.Storage subsystem can when using for the first time and (or) other time initialize.Storage subsystem initialize after can be placed in energising running status under, need not be stored in non-easily The data of the property lost memorizer 104 occupy volatile memory 102.
Initialization can relate to above-mentioned electric capacity checking and non-volatile storage capacity is verified.
Minimum available flash memory module is in erased state, can support that power-off preserves operation, then non-volatile memories energy Power is by checking (902), and this may occur in flash memory is taken as the embodiment of nonvolatile memory 104.Checking is available Whether flash memory module is in erased state needs to check each erasable flash memory module whether " dirty ", that is whether there is volume Program writing, if there is being wiped free of.The flash memory module of a series of available erasings sets up (904).
Existence and the electric energy transmitting capacity of mixing storage subsystem stand-by power supply are verified (906).Stand-by power supply is probably one Or multiple electric capacity.Existence and the electric energy transmitting capacity of checking mixing storage subsystem stand-by power supply can ensure that when dump There are enough electricity that data are backuped to nonvolatile memory 104 from nonvolatile memory 102.908, initialization completes.
Dump interrupts recovering
Figure 10 recovers to react for running external system power supply when power-off preserves after mixing storage subsystem system cut-off outside The flow chart of embodiment of process.It is exactly when not yet completing from non-volatile in storage subsystem after external system dump Memorizer 102 recovers again to power supply during the backup of nonvolatile memory 104.Controller 110 starts, and commands and (or) runs Dump stops recovery process.
" termination recovery time " is the interval time that external system dump recovers again, and after recovery, storage subsystem can be used again. Stopping recovery time to reduce, storage subsystem can send signal instruction once Nonvolatile memory system 104 to external system Having the sufficient space backup data from volatile memory 102, storage subsystem can be run at once.
If external system power supply occurs power-off again when system is processing a power up, interrupted by power up before Power-off save routine will be again started up from the place of interrupting again.
Storage subsystem may forgive a kind of logic, and this logic is recovered to interrupt by external power at storage subsystem power-off save routine External system can be postponed later and use storage subsystem.Storage subsystem guarantee is generally enough allowed retardation time to have enough Storage subsystem non-volatile memory capacity backs up some volatile storage capacity, and these volatile storage capacity are by storing son System is supplied to external system.
In certain embodiment, it is supplied to the same amount of volatile storage capacity of external system to back up storage subsystem, Storage subsystem wants the dirty module of erasable nonvolatile memorizer, has at this moment occurred as soon as the retardation time needed.But, if had Enough Nonvolatile memory system capacity back up storage subsystem and are supplied to the volatile storage capacity of external system, would not Have retardation time, to external system, storage subsystem can illustrate that it is immediately available.
In some embodiments, storage subsystem illustrates that to external system it can use, but also can use external system The upgrading of volatile memory capacity, such as by erasable nonvolatile memory module, more non-volatile memory capacity can With.
1002, storage subsystem checks whether stand-by power supply (being an electric capacity in this embodiment) has enough electricity to complete to break Electricity preserve, including from volatile memory 102 Backup Data to nonvolatile memory 104.In some embodiments, disconnected When electricity stops to recover, 1002 may will not occur every time.The recovery of external power may cause ongoing from volatile storage Device 102 runs time-out to the data backup of nonvolatile memory 104.In this case, volatile memory 102 continues to obtain Obtain electric energy and retain its data content.If at this moment power up, data backup does not complete or stand-by electric energy does not exhaust, Continue to carry out backing up to nonvolatile memory 104 from volatile memory 102 just to become there is no need.But, non-volatile Property memorizer 104 do not have enough can with erasing memory capacity complete the content backup to volatile memory 102 before, Storage subsystem would not instruct that external system, and it can use.Otherwise, if external power is again switched off after recovering at once, non-volatile deposit Reservoir 104 does not just have enough capacity to complete the backup to volatile memory 102 content, and useful data will be lost.
When in succession occurring that external power cuts off, whether assessment (1004) has enough can be backed up volatibility with erasing flash memory module The content of memorizer 102 is to nonvolatile memory 104.Next data module can be wiped free of (1006) until there being sufficient amount Erasing can use non-volatile memory modules.Enough can back up volatile memory 102 with erasing flash memory module when having and arrive During nonvolatile memory 104, storage subsystem can indicate it can use external system.This instruction may be passed by aspect Reach to external system, or the condition mode that can be read by external system conveys to external system.Terminate in 1010 these processes.
If being wiped free of (1006) dump later at one or more flash memory module, stopping recovery process will stop, Will restart from volatile memory 102 to the data backup of nonvolatile memory 104 for the module being wiped free of, But (do not wipe module to be still backed up at nonvolatile memory) the most such for the module do not wiped.Therefore, Storage subsystem potentially includes a kind of logic, this logic wiped before external system uses storage subsystem enough dirty non-easily The property lost memorizer backs up storage subsystem and is supplied to the volatile storage capacity of external system.If use storage subsystem it Front external power cuts off, and storage subsystem can back up to small part and contain relative with the data being wiped free of from Nonvolatile memory system The data answered.
Figure 11 be mixing storage subsystem power-off time under different non-volatile memory capacity situations memory allocation map.Controller 110 are again started up, and command and (or) run this process.
Flash memory 104 is forgiven and is programmed that " dirty " module 1102, " can use " module 1104 are in erasing state and are not damaged by other Bad.Whole interior to volatile memory 102 when that Regional Representative between dotted line system power supply outside being cut off in fig. 11 Hold and carry out backing up required nonvolatile memory 104.In the case of A, although nonvolatile memory 104 has some dirty modules 1102, but but have and abundant can run backup by erasing module 1104.It is true that total flash capacity is the most volatile More than two times of memorizer 102 of property, so there just have enough erasing modules when external system dump in this case to be right The content of volatile memory 102 backs up.External system can be used after recovering by storage subsystem system power supply outside immediately.
The available modules of dirty module and erasing is at adjacent scope when illustrating.But it is the most this Situation, no matter whether adjacent non-volatile memory modules is, and this process is the most identical.
Nonvolatile memory 104 (as shown in state B) also has dirty module 1102 and erasing available modules 1104.This In the case of nonvolatile memory 104 do not have enough erasings and available modules to back up the interior of volatile memory 102 completely Hold.Space needed for a part 1106 backup volatile memory 102 is not the most wiped free of.
When nonvolatile memory 104 (as shown in state C) starts and state B has same amount of dirty and erasing flash memory mould Block.But it is made available by memorizer 104 by erasing in the disabled part of state B (1106) erasing module.Therefore, shape The memorizer 104 of state C has relatively little of dirty module than state B and more wipes module, has thus had enough erasings can By module, the full content of volatile memory 102 is backed up.When carrying out the erasing of dirty module, wipe complete mould Block is placed on specific position the most in a certain order.When erasing is complete and available modules is equal to or more than external system During the quantity of volatibility 102 memorizer that will use, storage subsystem can send instruction explanation to external system, and it can use.
Figure 12 is the flow chart of mixing storage subsystem power up process embodiment.Power up process can include data from Nonvolatile memory (such as flash memory) 104 returns to volatile memory 102.Controller 110 starts, and commands and (or) runs electricity Source recovery process.
Once external system power supply can use (1202), if initialization procedure does not has started (1204), initializes at Fig. 9, and 902 open Begin.
If subsystem is in suitable init state, the data of a Hash memory pages have just been stored in volatile memory (1206).As long as there being more Hash memory pages can be stored (1208), this process will continue to.
After all of stored Hash memory pages containing data is processed, this behavior is at Figure 10, and 1004 continue.
If external power is 1204, the whenever cut-out of 1206, or 1208, this process is it is possible to be aborted.Storage subsystem System can comprise a kind of logic, and when data backup is not fully complete external system power up, this logic can be deleted from storage subsystem easy The property lost memorizer 102 is to the data backup of storage subsystem nonvolatile memory 104.
After being backed up to nonvolatile memory 104 completely from the data of volatile memory 102, closing storage subsystem Before system, back up and resume work being complete.In general, before recovering completely, storage subsystem will not start erasing The module of nonvolatile memory 104.
Therefore, storage subsystem can include a kind of logic, has enough storage subsystem non-volatile memory capacity determining Before backing up the volatile storage capacity that a number of storage subsystem is supplied to external system, system power supply recovers it outside After, this logic returns to volatile memory 102 data from nonvolatile memory 104.Only recover not in system power supply When interrupting power-off preservation, storage subsystem just can return to volatile memory data from nonvolatile memory 104 102。
Power-off preserves
Figure 13 and 14 is the embodiment flow chart of the power process that mixing storage subsystem is caused by external system power-off.Power supply control Logic 106 processed can identify that then external system power cut-off notifies to controller 110.Controller 110 starts, and commands and (or) runs Power-down procedure.
Storage subsystem starts to forbid that external system uses storage subsystem (1302).This disabling is the most all at external system It is that complete in the case of solving and participating in so that external system completes atomic data and runs.Once disabling, data will be from volatile storage Device reads (1304).These data can be written into non-volatile memories page (1306).Just it is written of non-volatile memories page Data (1308) will be written into.(they the most every time can be with a mould by being write by little data increment for non-volatile memories page The increment of block size is read and wipes).If the data read from volatile memory will not fill up non-volatile memories page, The most more write data will be read (1304) from volatile memory.Fill up at 1314 non-volatile memories pages.
One new non-volatile memories page coding is now run.Not by from volatile memory during page programing operation The partial data read is retained.To come in fact by concentrating refresh volatile memories for DRAM memory to be refreshed Existing data retain, and concentrate to refresh and determine according to the worst case page programming persistent period.At 1314 new non-volatile memories page quilts Write.At Figure 14,1402 process continuation.
If the most more data need to be saved in nonvolatile memory, more non-volatile memories page needs to write (1402), volatile memory will be from forwarding full-speed operation pattern to less than the mode of operation of full-speed operation to be read and obtaining Obtain and do not preserve data (1404).At Figure 13,1304 process continuation.
Needing to be saved in nonvolatile memory from volatile memory without more data, storage subsystem is closed (1406), process completes (1408).
Therefore, storage subsystem can include a logic, and this logic can concentrate refresh volatile memories 102, interval time At least equal to worst case non-volatile memories page time, handle new non-volatile memories page prepares and writes when Volatile memory 102 is placed in the state of below full speed operation state all the time.Prepare and write at new non-volatile memories page After, volatile memory 102 is placed in full speed operation state.
One group of buffer 1510 or other devices may be employed to make external system possess repacking storage subsystem volatile storage Device 102 and the ability of nonvolatile memory 104.In some cases, storage subsystem is hardwire for specific repacking 's.
A part of or the many part 1502 of this repacking regulation volatile memory 102 standby appearance by nonvolatile memory Amount 1506 is supported.External system can read and write from these parts 1502 just as (such as using RAM with volatile memory Data/address protocol) interactive, but when these part 1502 system power supplies outside are cut off, meeting automated back-up is to non-volatile memories Device 1502.Therefore these parts 1502 can be regarded as by external system and have the non-volatile of volatile memory speed and usability advantage Property memorizer.
Other parts 1504 of volatile memory 102 can be used as standard volatile memory by external system.Change sentence Talking about, these parts 1504 can be read and write data by external system, just as (such as using RAM number with volatile memory According to/address protocol) interactive, but as typical volatile memory, these part 1504 system power supplies outside are cut off Shi Buhui automated back-up is to nonvolatile memory 104.
Other parts 1508 of nonvolatile memory 104 can be used as nonvolatile memory by external system.Outer system These parts 1508 can be directly read and write data by controller 110 by system.Data can quilt from volatile memory 102 Backup to nonvolatile memory 104, but first volatile memory 102 need not be write data.
Therefore, mixing storage subsystem is retrofitted to provide the memorizer of three types for external system.One is " non-volatile Property " memorizer 1502, it has the advantage (such as speed and reusability) of volatile random access memory, at system electricity Source can be by a part 1506 for automated back-up to nonvolatile random access memory when cutting off.Another is supplied to external system Memorizer be standard random access volatile memory 1504.Also having a kind of memorizer being supplied to external system is that standard is non-easily Lose property memorizer 1508, it can by the way of nonvolatile memory is intrinsic (sequence of modules rather than random access) interviewed Ask.
A part 1508 for nonvolatile memory be not left as back up volatile memory 1502, it can comprise procedure code or Other information, it is possible to " startup " or be loaded into the part 1540 of the volatile memory being not backed up.Therefore, non-easily The property lost memorizer 104 can be stored as the data for stored program code or other " image " information used by external system Storehouse.
Therefore volatile memory 102 can be divided into three logical storage area: " nonvolatile memory " (1502), it be System power supply is backed up to the volatile memory of nonvolatile memory when cutting off；Volatile memory (1504), it be The volatile memory that system power supply will not be backed up when cutting off；Volatile memory (potential present in 1504), it is to be The volatile memory will not being backed up during system dump, but in the part of the nonvolatile memory being used that do not backups 1508 have corresponding image.
Mixing storage subsystem can include a kind of logic, when installation's power source cuts off, makes the device being provided with this logic at least can Enough back up a part of volatile memory to nonvolatile memory.This logic can make device when dump at least Point volatile memory is not backed up to nonvolatile memory, at least makes a part of nonvolatile memory not be left as backup Volatile memory is used.
It is the most volatile that storage subsystem can include that one or more modified cache device makes device guarantee when dump Property memorizer be backed up to nonvolatile memory, it is ensured that at least some of nonvolatile memory is not left as backing up volatibility Memorizer is used.
Grasp the technical staff of this area skill be readily appreciated that various carrier can implement process described herein and (or) System (such as hardware, software and (or firmware)), preferred carrier can be different according to the difference of the background of process utilization. Such as, if implementing device to judge that speed and accuracy are mostly important, implementing device and may select hardware and (or) firmware vehicle；If Motility is mostly important, then implements device and may select single software enforcement case；Or, implement device and may select some softwares, Hardware and (or) the combination of firmware.Accordingly, there exist several possible carrier to implement process described herein, any carry Body is not the most intrinsic to be better than other carriers, because the selection of any carrier to be all suitable for, according to carrier, the back of the body applied Scape and it can make for implementing the concrete advantage (such as speed, motility or predictability) that bring of device, these advantages can Can change therewith.Grasp the personnel of this art and be appreciated that light state implements may relate to optical hardware, software and (or) solid Part.
Above-mentioned detailed description, by structure chart, flow chart and (or) example use propose various different devices and (or) The embodiment of process.As long as these structure charts, flow chart and (or) example comprise one or more functions and (or) effect, Grasp each function that the personnel of this art are appreciated that these structure charts, flow chart and (or) example comprised and (or) effect can pass through a variety of hardware, software, firmware or their any combination and individually and (or) jointly realize.This In several parts of described object can pass through specific integrated circuit (ASICs), field programmable gate array (FPGAs), Digital Signal Processing (DSPs), or other integrated form implements.But, the personnel grasping this art can be appreciated that at this Some aspects of some embodiments described, can implement completely or partially in standard integrated circuit, can conduct In one or more one or more program run on computers (such as at one or more in computer system One or more program of upper operation), can be as one or more journey run on one or more processor Sequence (such as on one or more microprocessor run one or more program), it is also possible to as firmware or they Combination in any.Open according to this, grasp the personnel of this art be easy for can with specified circuit and (or) for software with (or) firmware writes code.It addition, the personnel grasping this art would appreciate that object device described here can be with various Mode is also easy to by any medium in market distribution, the illustrated embodiment of object described here as program product Propagate.These media include but not limited in the following manner: can store medium, such as floppy disk, hard disk, CD ROM, digital magnetic tape and electricity Brain memorizer；Communication media, as used the numeral of TDM and analog communication links or IP-based communication link (such as bag chain Road).
On the whole, grasp the personnel of this art and will appreciate that various aspects described here can individually and (or) common Ground is implemented by a variety of hardware, software, firmware or any combination.These aspects may be considered by various types of " electricity Pneumoelectric road " form.So " electric circuit " described herein includes but not limited at least contain the electric of a split circuit Circuit, at least contains the electric circuit of an integrated circuit, at least contains the electric circuit of a specific integrated circuit, it is possible to shape (such as one is formed by computer program transformation to become the electric circuit by the multipurpose calculating device of computer program transformation Multi-application computer at least can partly implement process described here and (or) device, or one is changed by computer program The microprocessor made at least can partly implement process described here and (or) device), it is possible to form storage device Electric circuit (the most various forms of random access storage device), and (or) the electric circuit of communicator can be formed (such as Modem, communication switch, or optoelectronic device).
Grasp the personnel of this art to will understand that and describe the device herein proposed and (or) then process applies the design of standard Method device described here and (or) process conformity to the most common in this field in bigger system.It is to say, extremely A part for few device described here and (or) process can be integrated in network processing system by lot of experiments.
The various aspects described before this describe different elements, and these different elements are contained in again or are connected to different its Its element.It should be noted that those models described are example, much other model can also obtain same function.From generally Saying in the sense that thought, the element arrangement of any acquirement identical function is all associated, and such required function could realize.Cause This, any two element is combined and can be obtained a specific function, and the two element is exactly " to contact " each other, nothing Opinion applies which kind of structure and which kind of medium element, and this combination all achieves the function of needs.Equally, any two so joins The element of system can be considered as to obtain required function " operation connects " together.
A most available storage subsystem is forgiven:
Volatile memory；
Nonvolatile memory；
One logic, this logic make when installation's power source cuts off device at least can back up a part of volatile memory to non-easily The property lost memorizer,
One logic, it is non-volatile that this logic makes at least some of volatile memory not be backed up to when installation's power source cuts off Memorizer.
2., according to claim 1, storage subsystem is forgiven further:
One logic, this logic make at least some of nonvolatile memory be not left as volatile memory backup be used.
3., according to claim 1, storage subsystem is forgiven further:
When installation's power source cuts off, one or more allocating cache device makes device ensure at least some of volatile memory not It is left as depositing backup be used for non-volatile.
4., according to claim 2, storage subsystem is forgiven further:
One or more allocating cache device makes device ensure, and at least some of nonvolatile memory is not left as volatibility Memory backup is used.
5. a device is forgiven:
Storage subsystem, storage subsystem forgives volatile memory, nonvolatile memory；
One logic, this logic make when installation's power source cuts off device at least can back up a part of volatile memory to non-easily The property lost memorizer；
6., according to claim 5, storage subsystem is forgiven further:
7., according to claim 5, storage subsystem is forgiven further:
When installation's power source cuts off, one or more allocating cache device makes device ensure at least some of volatile memory quilt Backup to nonvolatile memory.
8., according to claim 6, storage subsystem is forgiven further:
9. the method for a conversion apparatus memorizer is forgiven:
Make to store system volatile memory at least partially to be backed up to store system non-volatile when installation's power source cuts off Memorizer；
Make to store at least partially system volatile memory not to be backed up to storage system non-volatile when installation's power source cuts off Property memorizer.
10. forgive further according to claim 9 method:
Make at least some of nonvolatile memory not be left as volatile memory backup to be used.
11. in one apparatus can storage subsystem forgive:
One logic, this logic makes at least some of nonvolatile memory not be left as volatibility when installation's power source cuts off Memory backup is used.
12. forgive further according to claim 11, storage subsystem:
One logic, this logic makes at least some of volatile memory not be backed up to nonvolatile memory.
13. forgive further according to claim 11, storage subsystem:
14. forgive further according to claim 12, storage subsystem:
15. 1 devices are forgiven:
16. according to claim 15, and storage subsystem is forgiven and forgiven further:
17. according to claim 15, and storage subsystem is forgiven and forgiven further:
When device power-off, one or more allocating cache device makes at least some of volatile memory of device guarantee be backed up To nonvolatile memory.
18. according to claim 16, and storage subsystem is forgiven and forgiven further:
The method of 19. 1 conversion apparatus memorizeies is forgiven:
Make at least partly to store system volatile memory to be backed up to store system non-volatile deposit when installation's power source cuts off Reservoir；
Make at least part of nonvolatile memory not be left as volatile memory backup to be used when installation's power source cuts off.
20. forgive further according to claim 19, method:
At least part of volatile memory is made not to be backed up to nonvolatile memory.
CN201610473969.XA 2007-07-25 2008-07-25 Variable partition in mixing storage subsystem CN106126439A (en)
US11/881,248 2007-07-25
US11/881,248 US8046546B2 (en) 2007-07-25 2007-07-25 Variable partitioning in a hybrid memory subsystem
CN2008801003936A CN101960528A (en) 2007-07-25 2008-07-25 Variable partitioning in a hybrid memory subsystem
CN2008801003936A Division CN101960528A (en) 2007-07-25 2008-07-25 Variable partitioning in a hybrid memory subsystem
CN106126439A true CN106126439A (en) 2016-11-16
ID=40281837
CN201610473969.XA CN106126439A (en) 2007-07-25 2008-07-25 Variable partition in mixing storage subsystem
US (1) US8046546B2 (en)
CN (2) CN106126439A (en)
WO (1) WO2009015310A1 (en)
CN106951376A (en) * 2017-02-27 2017-07-14 清华大学 Towards the fine granularity nonvolatile cache system and buffer memory management method of flash memory
CN102110063B (en) * 2009-12-28 2013-11-06 宇瞻科技股份有限公司 Storage system capable of promoting operation speed
CN101794246B (en) * 2010-02-24 2013-03-20 成都市华为赛门铁克科技有限公司 Backup storage system, backup system, data backup method and recovery method
US8886904B2 (en) * 2011-04-14 2014-11-11 Kaminario Technologies Ltd. Managing a solid-state storage device
US9064562B2 (en) * 2013-04-03 2015-06-23 Hewlett-Packard Development Company, L.P. Memory module having multiple memory banks selectively connectable to a local memory controller and an external memory controller
US20010055234A1 (en) * 2000-06-27 2001-12-27 Toshiba Tec Kabushiki Kaisha Electronic apparatus storing therein data by using a volatile memory and method for protecting data stored in said electronic apparatus
CN1936855A (en) * 2005-09-22 2007-03-28 三洋电机株式会社 Control unit and portable terminal
2007-07-25 US US11/881,248 patent/US8046546B2/en active Active
2008-07-25 CN CN201610473969.XA patent/CN106126439A/en active Search and Examination
2008-07-25 CN CN2008801003936A patent/CN101960528A/en not_active Application Discontinuation
2008-07-25 WO PCT/US2008/071112 patent/WO2009015310A1/en active Application Filing
CN106951376B (en) * 2017-02-27 2019-10-29 清华大学 Fine granularity nonvolatile cache system and buffer memory management method towards flash memory
US8046546B2 (en) 2011-10-25
WO2009015310A1 (en) 2009-01-29
CN101960528A (en) 2011-01-26
US20090031098A1 (en) 2009-01-29
US9520191B2 (en) 2016-12-13 Apparatus, systems, and methods for operating flash backed DRAM module
CN105009094B (en) 2019-04-12 The method, apparatus and system of two ranks power-up mapping are rebuild using space free count in solid state drive
CN103956185B (en) 2019-01-18 Processing unit with non-volatile logic array backup related application
US20150242321A1 (en) 2015-08-27 Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US20150339075A1 (en) 2015-11-26 Non-volatile memory systems and methods of managing power of the same
CN105122220B (en) 2018-10-26 Atom writing commands in solid state drive are supported
US8169839B2 (en) 2012-05-01 Flash backed DRAM module including logic for isolating the DRAM
US7830732B2 (en) 2010-11-09 Staged-backup flash backed dram module
US20160232092A1 (en) 2016-08-11 Management of memory array with magnetic random access memory (mram)
CN101218566B (en) 2011-11-23 Method and system for facilitating fast wake-up of a flash memory system
TWI375151B (en) 2012-10-21 A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same
US8566639B2 (en) 2013-10-22 Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus