CN1521633A - Window substratum flash memory storage system, management method and access method thereof - Google Patents

Window substratum flash memory storage system, management method and access method thereof Download PDF

Info

Publication number
CN1521633A
CN1521633A CNA031023444A CN03102344A CN1521633A CN 1521633 A CN1521633 A CN 1521633A CN A031023444 A CNA031023444 A CN A031023444A CN 03102344 A CN03102344 A CN 03102344A CN 1521633 A CN1521633 A CN 1521633A
Authority
CN
China
Prior art keywords
window
flash memory
sector
information
write
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
CNA031023444A
Other languages
Chinese (zh)
Other versions
CN1324482C (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.)
Solid State System Co Ltd
Original Assignee
Solid State System 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 Solid State System Co Ltd filed Critical Solid State System Co Ltd
Priority to CNB031023444A priority Critical patent/CN1324482C/en
Publication of CN1521633A publication Critical patent/CN1521633A/en
Application granted granted Critical
Publication of CN1324482C publication Critical patent/CN1324482C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

A window substrate flash memory system and method for management and access, wherein the window substrate flash memory system has a window substrate region and an extra reservation region including a dynamic linking region, a window information region, a dynamic linking information region and a starting information region, the dynamic linking region includes a plurality of dynamic allocation blocks, the window information region corresponds to each window, and in a storage range, at least one piece of window information.

Description

Window substrates flash memory system and management method thereof and access method
Technical field
The invention relates to a kind of extensive stocking system, and particularly relevant for a kind of window substrates flash memory system and management method and access method.
Background technology
Flash memory system generally contains the two large divisions: one is flash memory, and one is controller.Flash memory is the place of data storage; Controller is shouldered the task of linking up and managing flash memory with main frame then as the bridge of flash memory and main frame.Controller is made up of several part, contains microprocessor, ROM (read-only memory), static random access memory (SRAM), flash interface and host interface etc.ROM (read-only memory) has mainly been placed program code required when microprocessor operates; SRAM mainly contains two purposes: one for placing the relevant information of window; Two for treating as the data buffer zone between flash memory and the host computer system.Controller sees through host interface with the main frame communication and with the data in the flash interface access flash memory.
Flash memory is constituted (Blocks) by many blocks, and the block of some can be classified as a window, write down each window relevant information we be referred to as window information.In general flash memory system, in order to reduce the cost that uses SRAM, window information can be stored in the flash memory, when System Operation, only load the window information of a part in SRAM simultaneously.
If when we will do read-write at a certain window, at first need by the window information that loads this window in the flash memory in SRAM, secondly we could do the action of read-write to this window.If do not back up during backflash deposits because of factor regular meetings such as undesired outage or plug cause some window information in SRAM.If when using next time, directly these window informations in the flash memory are loaded among the SRAM, will cause the situation of data entanglement.
When read-write is done in the sector (Sector) in one window, must be through several stages (Stage).If when having sector more than 2 to read and write, existing processing mode is the stage that all stages of handling a sector begins to handle another sector again, but this kind mode will reduce the usefulness of access; Or utilize the flash memory of two above different control units to increase read-write usefulness in the staggered mode of (Interleave) in turn, but this kind mode has its restriction, and will produce the excessive negative effect of moment power consumption (Penalty).
Summary of the invention
In view of this, the present invention proposes a kind of window substrates flash memory system and management method and access method, and it provides a kind of pattern comparatively reliably to load window information, and significantly promotes the usefulness of read-write in the mode of parallel control pipeline.
The present invention proposes a kind of window substrates flash memory system, and it has window base base area and extra reserved area.Wherein, the window substrates fauna is in order to storing a plurality of window areas, and each window area all has corresponding a plurality of physical blocks.Extra reserved area then has dynamic binding district, and the window information district dynamically links the block of information and opens the beginning block of information.Wherein, dynamically link the district and have a plurality of dynamic assignment blocks, these dynamic assignment blocks can be distributed to any window arbitrarily.The window information district then stores at least one window information in a storage scope corresponding to each window.Dynamically link the block of information and then distribute to the allocation situation of window in order to note down above-mentioned dynamic assignment block.
The present invention also proposes a kind of management method of window substrates flash memory system, and it is applicable on the flash memory with window information district.Wherein, the window information district comprises a plurality of window information blocks, in these window information blocks each then can store a plurality of window informations, and in these window information blocks any therewith the included window information of window information block system corresponding to same window.This management method is at first when system comes into operation, select the some in the above-mentioned window information block, and the window information of each taking-up from selected window information block, and these window informations that will take out load in static random access memories (SRAM).Afterwards, will be placed in the active window variable range of SRAM corresponding to the part information of the window information that uses window.And if when using window to be replaced, just initiatively the window variable range part information of being put moves to and stores among the SRAM in one of window information preparation window.And when the predetermined use window that will use does not belong to the pairing window of window information that is stored among the SRAM, just in the stored window information of SRAM, select during one backup backflash deposits, replace the window information of backup backflash in depositing with a window information one of in the predetermined window information block that uses window institute correspondence again, and this is scheduled to use window is set at the use window.
In one embodiment of the invention, loading the window information among the SRAM, is whether differentiate corresponding window information by write area bulk state and vacant block state correct.
And in a preferred embodiment of the present invention, above-mentionedly differentiate whether correct method of corresponding window information with write area bulk state and vacant block state, be with following criterion row it: 1. the bug patch code of acknowledgement window information is correct.2. the totalling check code of acknowledgement window information is correct.3. confirm that vacant block is the block that was eliminated.4. confirm to write block stored logical blocks numbering, circulation register and write write down in sector system and the write area bulk state consistent at last.5. confirming to write the stored phase locking flag target value of block is not equal in order to represent the value of first blank sector in the window information block.
And when window information is incorrect, in one embodiment of the invention, system according to window information the available window information in the stored window information in the window information block of correspondence, give all blocks that belong to corresponding to the window of this window information for change, to rebuild this window information.Wherein, available window information be bug patch code in data blocks and the logical blocks corresponding tables for revising, and the totalling check code of write area bulk state and vacant block state is correct window information.
And in another preferred embodiment of the present invention, when window information is incorrect, just in the storage area of flash memory, look for the block that belongs to corresponding to the window of this window information, to rebuild this window information.
The present invention also proposes a kind of access method of window substrates flash memory system, and it is applicable on the flash memory with window information district and extra reserved area, and this window substrates flash memory system has a plurality of buffer zones.In addition, a window information district is corresponding to a window with a plurality of physical blocks, and the window information district stores a window information.Wherein, each in the above-mentioned physical blocks all has a plurality of sectors.This access method at first will be scheduled to use the pairing window information of window to be loaded on SRAM.Next, find out the desired demand of data demand assembly sector, and this demand sector is loaded in first buffer zone from flash memory.Afterwards, the demand sector that is loaded on first buffer zone is sent to data demand assembly.And all will be sent in the data demand assembly, and above-mentioned steps is just carried out with the method for pipeline in adjacent sector, demand sector therewith, with the sector pipelineization that these are adjacent with the demand sector, is sent in the data demand assembly through above-mentioned buffer zone.
In addition, the present invention proposes a kind of access method of window substrates flash memory system in addition, and it is applicable on the flash memory with window information district and extra reserved area and this window substrates flash memory system has a plurality of buffer zones.In addition, a window information district is corresponding to a window with a plurality of physical blocks, and the window information district stores a window information.Wherein, each in the above-mentioned physical blocks all has a plurality of sectors.This access method at first transmit to write flash memory write the sector in first buffer zone, and calculate and write the address of sector in flash memory.Next, on checking, once write the operation of flash memory whether correct after, send write command and to flash memory, be stored to flash memory will write the sector.And to write the adjacent sector that writes of flash memory, just by pipeline operation via above-mentioned buffer zone pipelineization and be sent in the flash memory.
In sum, the present invention stores the summary data of relevant each window by extra reserved area, and by setting up method fast, normally setting up method and progressively search the method for setting up and make the beginning of opening of window substrates flash memory system speed up.And by the present invention with the software operating process of pipelineization in addition, also can further quicken the operating speed of whole window substrates flash memory system.
State with other purpose, feature and advantage and can become apparent on the present invention for allowing, a preferred embodiment cited below particularly, and cooperate appended graphicly, be described in detail below:
Description of drawings
What Fig. 1 illustrated is according in the window substrates flash memory system of the present invention, the hold-down bar composition of flash memory;
What Fig. 2 illustrated is block or the data structure diagram that writes a preferred embodiment of extra byte in the block;
What Fig. 3 illustrated is the data structure diagram of a preferred embodiment of write area bulk state or vacant block state;
What Fig. 4 illustrated is the process flow diagram that each module operates when read-write according to a preferred embodiment of the present invention;
What Fig. 5 illustrated is use window in the static random access memory (SRAM) and the Organization Chart for preparing a preferred embodiment of window;
What Fig. 6 illustrated is the process flow diagram of window information loading SRAM according to a preferred embodiment of the present invention;
Fig. 7 illustrates be the window module for reading and writing a preferred embodiment in write process flow diagram;
What Fig. 8 illustrated is known mode of reading the sector data;
Fig. 9 illustrates is that according to a preferred embodiment of the present invention parallel pipeline is read the process flow diagram of sector data;
What Figure 10 illustrated is the process flow diagram that parallel pipeline is according to a preferred embodiment of the present invention read;
Figure 11 illustrates be according to a preferred embodiment of the present invention in, data is write the process flow diagram of flash memory via parallel pipeline; And
What Figure 12 illustrated is the process flow diagram that parallel pipeline according to a preferred embodiment of the present invention writes.
Description of reference numerals
100: window area 101: dynamically link the district
102: window information district 103: dynamically link the block of information
104: open beginning block of information 105: physical format
106: logical format 107: the block number
108: relative block number 109: relative logical blocks number
110: logical blocks number 111: relative logic sector number
112: logic sector number 120: the window base base area
121: extra reserved area 201: logical blocks is numbered relatively
202,303: window number 203: cycle counter
204: phase locking flag 205,305: add up check code
206: data mistake flag 207,307: block errors flag
208,308: bug patch code
301: block is numbered relatively
302: relative logical sector number
304: write the block cycle counter
306: the cycle counter of window information
401-403,601-609,701-710,901-910,1001-1007,1101-1109,
1201-1208: the step of a preferred embodiment of the present invention
501: preparation window variable range
502: active window variable range
503-505: preparation window variable
801-802: the employed read method step of known techniques
Embodiment
What Fig. 1 illustrated is according in the window substrates flash memory system of the present invention, the hold-down bar composition of flash memory.Flash memory is made of many blocks, and all blocks can be divided into the two large divisions: window base base area 120 and extra reserved area 121.
Each window number zone 1 to 15 has respectively comprised 512 data blocks in the window base base area, but last window number zone 15 is not just to be 512 sometimes.Four big zones can be divided in extra reserved area, are respectively dynamic binding district 101, window information district 102, dynamically link block of information 103 and open beginning block of information 104.The block that dynamically links district 101 can be used to configuration and uses for each window; Each window can be assigned to two blocks and write down its window information in window information district 102; Dynamically link 103 configuration states that write down dynamic binding district in block of information; Open beginning 104 of block of information and write down information such as trizonal position, front and the storable logic sector sum of native system.
As Fig. 1, physical format 105 has been represented the mode of controller addressing flash memory; 106 of logical formats have been represented the mode of host computer system to the flash memory system addressing.Flash memory amounts to 8192 blocks among Fig. 1, and each block is made of 32 sectors.Block numbering 107 be from 0 to 8191 in physical format 105, and block numbering 108 is a unit with per 512 blocks relatively, and except that window 15, the relative block of each window is numbered 0 to 511, and the relative block of extra reserved area is numbered since 512 calculating.Also comprised logical blocks numbering 110 in the logical format 106 for from 0 to 7999; Logical blocks numbering 109 is a unit with per 512 blocks also relatively, and except that window 15, the relative logical blocks of each window is numbered 0 to 511; Because of a logical blocks also is made of 32 logic sectors, so logical sector number 112 is from 0 to 255999; Logical sector number 111 is a unit with per 1638 sectors relatively, and except that window 15, the relative logical blocks of each window is numbered 0 to 16383.We can be clearly seen that the logic addressing mode of host computer system can't find extra reserved area by Fig. 1.
Each window comprises three types block, is respectively data blocks (Data Block), writes block (Writing Block) and vacant block (Spare Block).When we will write data to original data blocks, can do the action that writes to writing block earlier; Write and again another data blocks is made write activity when full if write block, then write block and can replace original data blocks; Original data blocks can be eliminated becomes vacant block; Vacant block can be brought as writing block and write fashionable use for another data blocks.
As Fig. 1, window 0 zone 100 contains 512 data blocks, belongs in the time of at the beginning that of window 0 writes block and a vacant block is configured in dynamic binding district 101.Each window information has comprised the corresponding tables of central data blocks of this window and logical blocks and has write block and the state of vacant block.Contain 512 data blocks with one, a window that writes a block and a vacant block, need use two sectors and come record window information, user's information data area of these two sectors has write down the corresponding relation of 512 data blocks and logical blocks, and extra 16 bytes of two sectors have then write down the state that writes block and vacant block respectively.
Please refer to Fig. 2, it has illustrated is block or the data structure diagram that writes a preferred embodiment of extra byte in the block.
As shown in the figure, logical blocks numbering 201 has write down the relative logical blocks numbering that this block corresponded to relatively.Window number 202 has write down the window that this block belonged to.Circulation register 203 is to be used for differentiating the new and old of data, writes fashionablely, and the circulation register value that writes block is that the value of data blocks adds one.Phase locking flag 204 writing down window information should back up back the sector position of window information block, whether a flag once backs up success before can differentiating window information thus.Adding up check code 205 is the totalling check code of aforesaid data.Data mistake flag 206 is pointed out user's information data area data correctness of sector.Block errors flag 207 points out whether block has problem.208 of bug patch codes are the bug patch code of user's information data area of sector.
Please refer to Fig. 3, it has illustrated the data structure diagram of a preferred embodiment of write area bulk state or vacant block state.
As shown in the figure, block numbering 301 has write down the position that writes block or vacant block place relatively.If relatively the value 0xFFFF of logical sector number 302 represents that these data are vacant block state, otherwise value can get and writes the sector position that writes block to the end thus.Window number 303 has write down the window that this block belonged to.Write the value that block circulation register 304 records write block circulation register.Totalling check code 305 is that the data except that block errors flag and bug patch code adds up check code.The window information block that 306 of the circulation registers of window information can be differentiated that is newer.Block errors flag 307 can point out whether block has problem.308 of bug patch codes are the bug patch code of user's information data area of sector.
The flow process of whole flash reading and writing is to be finished by three modules, is respectively window and sets up module, window module for reading and writing and flash memory access module.Window is set up module and mainly is responsible for using the correct window information of window to load in the static random access memory (SRAM) desire.The window module for reading and writing mainly is the requirement of response host computer system and the data that determines that block in the access flash memory.The flash memory access module is mainly the requirement of accepting other module, directly flash memory is read, writes, is eliminated and action such as inspection state, to simplify the complexity of other module.For instance, please refer to Fig. 4, it illustrates is the process flow diagram of preferred embodiment each module running when read-write one of according to the present invention.In the present embodiment, at first finish window and set up module 401, and then carry out window module for reading and writing 402, up to finishing the sector that all should be handled.Set up module if need then need to reenter window when still being untreated again at another window running.Though do not demonstrate the flash memory access module in this process flow diagram, in fact set up and all need call out the flash memory access module when module and window module for reading and writing are done access to flash memory in window.
Set up in the implementation of module at window, how at first to consider each window information among the efficient running SRAM.To switch the time that each window information spent in order being reduced between flash memory and SRAM, minimumly should to load plural window information.Though many more window informations can reduce switching time, but still should consider the cost of SRAM.In a preferred embodiment of the present invention, be to illustrate to load three window informations, wherein necessarily comprise window 0, because be bound to relevant with this window with the running of DOS archives economy.
From flash memory, be loaded into the window information among the SRAM, wherein constituted so-called window variable among the SRAM about the data that writes block and vacant block state.These window variablees are often to need access when System Operation, so complexity and lifting program code efficiency of operating in order to reduce program, and we can use desire the window variable to move on to a fixed position.For example, as shown in Figure 5, address 400 to 459 is preparation window variable range 501 in SRAM, places preparation window 0 variable 503, preparation window 1 variable 504 and preparation window 2 variablees 505.
If desire uses window to be window 0, because of it is the preparation window, so only need the window variable of 20 bytes of preparation window 0 is moved on to the place of address 20 to 39 by address 400 to 419, use just that variable 1 is to the position of variable 20 in the window variable range 502, so window 0 just becomes the use window.When desire uses window to become window 2, the variable that at first must will be stored in the use window 0 in the active window variable range 502 is retracted the position of the variable of former preparation window 0, the variable that will prepare window 2 simultaneously moves on in the active window variable range 502, and so window 2 just becomes the use window.In the planning of program, then only do access to variable 20, so can reduce the complexity of program code and promote the efficient of program code at the variable 1 that uses window.
Use window non-during when desire, at first will use window to retract in the former preparation window region, use the variable of window in use window variable range by loading desire in the flash memory again when selecting a preparation window backup backflash to deposit then for the preparation window.Window information when clearly this kind backup mode can not guarantee to use next time in the flash memory is all normally, but this kind situation is just as the situation of suffering undesired outage or plug.Emphasis is how can load among the SRAM fast and with correct window information when using next time.
Below will describe the three kind different modes of the present invention in detail in order to address the above problem.
One: set up method fast
This kind method mainly is whether the window information that can differentiate fast in flash memory has problem on earth.If the window information in the flash memory satisfies following condition, then we conclude that it is normal.
1. bug patch code is no problem in this window information sector.
2. it is no problem to add up check code in this window information sector.
3. block (vacant block) pointed is the block that was eliminated really in the vacant block state.
4. that is write down in its logical blocks numbering, circulation register and sector that last writes and the write area bulk state in the block (writing block) pointed in the write area bulk state is consistent.
In the write area bulk state in the block (writing block) pointed its phase locking flag target value be not equal to the value of first blank sector in the window information block.
Window information because of major part on the practice is all normally, and we just directly load window information in SRAM, utilizes this method to differentiate whether window information is normal again.If abnormal words then need adopt one of following two kinds of methods so that correct window information is loaded among the SRAM.Two: normally set up method
When can not be when setting up method fast, we can back find one by a last window information ' available window information ', because data blocks and logical blocks corresponding tables have write down the position of all affiliated data blocks of this window in the window information, write area bulk state and vacant block state have then write down the position that writes block and vacant block under this window, so our all blocks that can find this window are to rebuild the correct window information under this window and to load among the SRAM.Above-mentioned what is called ' available window information ' should satisfy following condition:
1. the data of the data blocks of this window information and logical blocks corresponding tables does not have the bug patch code that can not repair.
2. it is correct adding up check code in the state that writes block and vacant block of this window information.
Ginseng: progressively search the method for setting up
Another kind of be exactly in the method that can not can use when setting up method fast, can be on the possible storage area of window block, search belongs to all blocks of this window one by one, and then rebuilds correct window information.Because the block of each window can not exchange, so we only need search window numbering area and block that all have dynamically been distributed.If vacant block when being positioned at dynamic binding district because of and to be not easy to differentiate be to belong to that window, so we only give the data blocks that belongs to this window for change and write block basically, and then reconfigure a vacant block.So we can rebuild correct window information and load among the SRAM.
Fig. 6 is the thin portion flow process that Fig. 4 step 401 window is set up module, has illustrated how window information is loaded SRAM.At first we judge whether desire use window is to use window, as step 601, if then only need get final product at using window to operate; If not, enter step 602 present use window is retracted former preparation position of window.Enter step 603 again, differentiate desire and use whether window is one of preparation window.If then make way for the desire of dark zone and use window to become the use window; If not, then enter step 604, during selection one preparation window backup backflash is deposited.Continuation is according to step 605, and use is set up method fast and loaded the window information of desire use window in SRAM.If successful words are promptly finished the foundation of using window, if the words of failure are then utilized the method for normally setting up of step 606.If successful words are promptly finished the foundation of using window, if the words of failure then utilize the progressively search of step 607 to set up method again, when continuing at step 608, progressively to search the up-to-date window information backup earlier that the method for setting up finishes a in flash memory with utilizing, and finish the action that loads among the SRAM when step 609.
Thin portion flow process when Fig. 7 is Fig. 4 step 402 window module for reading and writing execution window write activity.Step 701 at first differentiates whether make write activity at original block that writes.If at original block that writes, when step 702, differentiate and whether can repeat to write the sector of having write, if can not produce this situation, then execution in step 707 differentiates whether carry out the action of writing in advance.If can produce and repeat to write, then enter step 703, write the block removing and give original block that writes with vacant block arrangement original in step 704, get back to step 701 then.
If be not that original block that writes is made write activity when step 701, then proceed to step 705, original block that writes is removed, entered step 707 then and differentiate whether carry out the action of writing in advance when step 706, vacant block arrangement for simultaneously the at present required block that writes.
No matter whether carry out the action of writing in advance, all can enter step 709 doing the action write to writing block, the block that writes that this step is only done is up till now write full or data has been write.Step 710, whether differentiation is write the data of this window is over.If then finish the write activity of this window; If not, then get back to step 701.
Step 703 or 705 is removed the action that writes block and is comprised following step:
1. the sector that writes the block blank is mended full by the data in the data blocks.
2. will write block and make data blocks into, promptly upgrade the corresponding relation of data blocks and logical blocks in the window information.
3. eliminate original data blocks, to convert thereof into vacant block.
It is for the maintenance data writes in regular turn that step 707 is write data in advance, and host computer system
Do not prepare the sector data that writes, move to by data blocks and write block.
It is fairly simple that reading in the step 402 execution window module for reading and writing of Fig. 4 moved.Check that at first the data that will read is whether in writing block.If the data that then writes in the block of words be the data that will read; If not words then data just in data blocks.
The mode that adopts parallel pipeline during read-write mainly is the usefulness that is used for improving when reading and writing.But should satisfy following condition and could promote usefulness.
1. contain two independently buffer zones on the hsrdware requirements at least.When a buffer zone and main frame transmission data, another can do the action of access simultaneously to flash memory.
2. the data of main frame access is minimum in this window contains sector continuous more than two.
Read the running of a sector with a main frame from flash memory system, can be divided into three phases.That position in flash memory, sector that phase one reads for the requirement of microprocessor computation host.Subordinate phase is that microprocessor is sent the order of reading (Read) to flash memory, waits for that flash memory is ready to data (Ready), reads this sector then and be placed in the buffer zone from flash memory, and do the inspection of bug patch code and the action of corrigendum.Phase III be main frame learn in the buffer zone data all set, and the complete data that reads this sector.
Suppose that the stage one takes 25 microseconds, the stage two takes 65 microseconds, and the stage three takes 100 microseconds.As shown in Figure 8, be general playback mode, we can find the 801 need process three phases of reading of sector 1, spend 190 microseconds altogether.After running through, sector one carries out 802 actions of reading of sector two again, same 190 microseconds that also spent.If total n sector will be read, need the time of cost 190*n microsecond.
As shown in Figure 9, be the playback mode of parallel pipeline, we can find the 901 need process three phases of reading of sector 1, spend 190 microseconds altogether.But one when carrying out the action in stage 2 902 in the sector, and the action of reading of sector two-stage 1 is also carried out simultaneously; One when carrying out the action in stage 3 904 in the sector, and the action in sector two-stage 2 905 and three stages 1 of sector is also carried out simultaneously.Therefore reading the 907 only uses time of expense sector two-stage three of sector two, promptly 100 microseconds are also carried out three stages 2 909 of sector and sector quadravalence section 1 simultaneously this moment, but still reading of inference sector three also spend 100 microseconds.Hence one can see that, if there be n sector to read, then only needs the time of cost 190+100* (n-1) microsecond.
Figure 10 reads the process flow diagram of action for using parallel pipeline.At first we to calculate the sector that will read be that position in flash memory, as step 1001.Enter preceding half section of subordinate phase then, as step 1002.Next we can calculate the position of the next sector that will read, as step 1003.In step 1004, finish the subordinate phase rest parts again.Step 1005 checks at first whether main frame has received the data of last sector in the buffer zone, if not moving for first sector does not just need this of carrying out at present notifies main frame to collect the data of this sector in the buffer zone then.Judge whether the data that to read in addition in step 1006 again.If have, then continue to get back to step 1002; If do not have, as step 1007, the data that then waits main frame to collect sector in the buffer zone promptly finishes running.
Host computer system also can be divided into three phases with the action that the data of sector writes in the flash memory system: the phase one is that microprocessor requirement main frame begins the transmission data, and has transmitted the data of a sector in buffer zone by main frame.Subordinate phase is that microprocessor calculates the position that will write the sector.Phase III has transmitted the data of buffer zone then and has sent write command in flash memory for checking that last write activity is whether correct and send order and address.
Figure 11 writes data via parallel pipeline the process flow diagram of flash memory in according to a preferred embodiment of the present invention.This preferred embodiment system is divided into three phases with write operation.Stage 1 is will write of flash memory to write the sector and be sent in the buffer zone.Stage 2 is to calculate in flash memory, and this writes the address of sector.3 of stages are to check whether the write operation of previous flash memory is correct, and then the sector that writes in the buffer zone are sent in the flash memory.Moreover, in this preferred embodiment, before first write operation that writes the stage 1 (1101) of sector finishes, can enter into the stage 2 (1102) by the stage 1 (1101) at first write operation that writes the sector, and also can before finishing, just finish the stage 2 (1102) in the stage 1 (1101).Second write operation that writes the stage 1 (1103) of sector carry out during, the beginning that the stage 2 (1105) that first stage 3 (1104) and second that writes the sector write the sector also can be in succession.Second stage 2 (1105) that writes the sector finished at first, afterwards the end operation that then continues of first stage 3 (1104) that writes the sector and second stage 1 (1103) that writes the sector.All finish beginning and end that other stage of write operation can continue with similar above-mentioned order.At last, last writes stages 3 (1109) the meeting beginning and the end alone of sector.
Figure 12 one makes the process flow diagram of write activity for using parallel pipeline.This process flow diagram is the thin portion action in Fig. 7 step 709.We begin just to begin in 700 o'clock to transmit first sector in buffer zone at Fig. 7 process flow diagram.In Figure 12, calculating the sector that will write when step 1201 is that position in flash memory.Whether step 1202 waits for that main frame completes a buffer zone, differentiate simultaneously to also have data not put into buffer zone, if the words that have require main frame to transmit next sector.Step 1203 checks whether the last action that writes is correct, if what handle at present be then this action omission of first sector, sends order and address then and begins data transmission with buffer zone in flash memory.Step 1204, calculating next sector that will write is that position in flash memory.Step 1205, transmission data in pending buffer district is finished to the action of flash memory, and sends to write and instruct in the flash memory.Step 1206 checks whether write block writes full.If, check the state constipation bundle after the front writes as step 1208; If not, then enter step 1207, differentiate whether all data have passed finishes.If, then enter step 1208, check the state constipation bundle after the front writes; If not, then get back to step 1202.
If find the write activity failure when carrying out parallel pipeline, then with following step process.
1. stop the carrying out of parallel pipeline.
2. obtain an available vacant block.
3. useful data in the block that lost efficacy is moved in the vacant block.
4. indicate the block errors flag in the block of Shi Xiaoing, and replace the block of inefficacy with block obtained in the step 2.
5. rebuild the carrying out of parallel pipeline.
In sum, existing that advantage outline of the present invention is as follows.The present invention loads window information among the SRAM with three kinds of methods, and these methods comprise the method for setting up fast, normally set up method and progressively search the method for setting up.After window information loaded SRAM, the present invention also utilized the method for parallel pipeline to promote the performance of read-write.Using parallel pipeline mainly is can break a sector to have read and write the rule of reading and writing another sector again, that is to say, during stage in the middle of proceeding to a sector, just can carry out another stage of other sector simultaneously.
Though the present invention discloses as above with a preferred embodiment; right its is not in order to limit the present invention; anyly have the knack of this skill person; without departing from the spirit and scope of the invention; when can doing a little change and retouching, so the present invention's protection domain attached claims person of defining after looking is as the criterion.

Claims (18)

1. the management method of a window substrates flash memory system, be applicable to and have on one of the window information district flash memory, this window information district comprises a plurality of window information blocks, in those window information blocks each can store a plurality of window informations, and in those window information blocks one with included those window informations systems corresponding to the same window, the management method of this window substrates flash memory system comprises:
When system comes into operation, select the some in those window information blocks, and
From selected those window information blocks each is taken out this window information,
And those window informations that will take out load in the static random access memory;
To use a part of information of this window information of window to be placed in this corresponding to one
One active window variable range of static random access memory;
If this uses window is when being replaced, this that then will this active window variable range be put
Partly information moves to a preparation that stores this window information in this static random access memory
In the window; And
When a predetermined use window that will use does not belong to the pairing window of those window informations that is stored in this static random access memory, selecting one in those window informations backs up back in this flash memory, replace this window information that backs up back in this flash memory to select one in these predetermined those window informations that use in pairing this window information block of window, and should be scheduled to use window to be set at this use window.
2. the management method of window substrates flash memory system as claimed in claim 1, the pairing window of those window informations that it is characterized in that wherein loading in this static random access memory comprises window zero.
3. the management method of window substrates flash memory system as claimed in claim 1 is characterized in that wherein this window information comprises:
One data blocks and logical blocks corresponding tables, the corresponding relation between storage and the employed a plurality of solid data blocks of the corresponding window of this window information and the pairing a plurality of logic data block;
One write area bulk state stores the state that writes block corresponding to the window of this window information employed; And
One vacant block state stores the state corresponding to the employed vacant block of the window of this window information.
4. the management method of window substrates flash memory system as claimed in claim 3 is characterized in that wherein those window informations being loaded more comprising the step of this static random access memory:
Load those window informations, whether correct by this write area bulk state and corresponding this window information of this vacant block condition discrimination again; And
When this window information is incorrect,, and revised this window information loaded this static random access memory according to stored this window information of content correction of this flash memory.
5. the management method of window substrates flash memory system as claimed in claim 4 is characterized in that wherein differentiating the correct step of this window information, comprising:
The bug patch code of confirming this window information is correct;
The totalling check code of confirming this window information is correct;
Confirm that this vacant block is the block that was eliminated;
Confirm that this writes one of the stored logical blocks numbering of block, a circulation register and and writes write down in sector system and this write area bulk state consistent at last; And
Confirm that this writes the stored phase locking flag target value of block and is not equal in order to represent the value of first blank sector in this window information block.
6. the management method of window substrates flash memory system as claimed in claim 4 is characterized in that wherein more comprising according to the step of stored this window information of content correction of this flash memory:
According to the available window information in those stored in pairing this window information block of this window information window informations, give all blocks that belong to corresponding to this window of this window information for change, to rebuild this window information, wherein, this available window information be bug patch code in this data blocks and the logical blocks corresponding tables for revising, and the totalling check code of this write area bulk state and this vacant block state is this correct window information.
7. the management method of window substrates flash memory system as claimed in claim 4 is characterized in that wherein more comprising according to the step of stored this window information of content correction of this flash memory:
In a storage area of this flash memory, look for the block that belongs to corresponding to this window of this window information, to rebuild this window information.
8. window substrates flash memory system comprises:
One window base base area, in order to store a plurality of window areas, each in those window areas has corresponding a plurality of physical blocks; And
One extra reserved area comprises:
One dynamically links the district, has a plurality of dynamic assignment blocks, and arbitrary those dynamic assignment blocks can be distributed to arbitrary those windows;
One window information district corresponding to each those window, stores at least one window information in a storage scope;
One dynamically links the block of information, notes down the allocation situation of those dynamic assignment blocks; And
One opens the beginning block of information.
9. window substrates flash memory system as claimed in claim 8 is characterized in that wherein this opens the beginning block of information and stores this at least and dynamically link the district, this window information district and the position in this window substrates flash memory system that should dynamically link the block of information.
10. window substrates flash memory system as claimed in claim 8 is characterized in that wherein this opens the beginning block of information and stores the logic sector sum that this window substrates flash memory system can store at least.
11. the access method of a window substrates flash memory system, be applicable on the flash memory with a window information district and an extra reserved area, and this window substrates flash memory system has a plurality of buffer zones, this window information district is corresponding to the window with a plurality of physical blocks, and this window information district has a window information, wherein, each in those physical blocks has plurality of sectors, and the access method of this window substrates flash memory system comprises:
A. pairing this window information of window that desire is used is loaded in the static random access memory;
B. find out the desired demand sector of a data demand assembly, and this demand sector is loaded in one first buffer zone from this flash memory;
This demand sector that C. will be loaded on this first buffer zone is sent to this data demand assembly; And
D. with parallel pipeline method execution in step B to C, those sector pipelineizations of this data demand assembly is required and contiguous this demand sector are sent in this data demand assembly through those buffer zones.
12. the access method of window substrates flash memory system as claimed in claim 11 is characterized in that wherein when any data transmission in those buffer zones during to this data demand assembly this flash memory of the access simultaneously of another in those buffer zones.
13. the access method of window substrates flash memory system as claimed in claim 11 is characterized in that wherein, when this demand sector is loaded on this first buffer zone, and this demand sector is carried out the inspection and the corrigendum of bug patch code.
14. the access method of window substrates flash memory system as claimed in claim 11 is characterized in that wherein finding out the step of this demand sector more comprising the address of calculating this demand sector.
15. the access method of a window substrates flash memory system, be applicable on the flash memory with a window information district and an extra reserved area, and this window substrates flash memory system has a plurality of buffer zones, this window information district is corresponding to the window with a plurality of physical blocks, and this window information district has a window information, wherein, each in those physical blocks has plurality of sectors, and the access method of this window substrates flash memory system comprises:
A. begin to transmit and to write one of this flash memory and write in first buffer zone of sector to one and calculate this and write the address of sector in this flash memory;
B. check whether the last operation that writes this flash memory is correct, and send a write command and to this flash memory, be stored to this flash memory this is write the sector; And
C. with parallel pipeline method execution in step A to B, adjacent those that will write this flash memory write the sector, are sent in this flash memory through those buffer zone pipelineizations.
16. the access method of window substrates flash memory system as claimed in claim 15 is characterized in that wherein when in those buffer zones any receives this and write the sector this flash memory of the access simultaneously of another in those buffer zones.
17. the access method of a window substrates flash memory system, be applicable on the flash memory with a window information district and an extra reserved area, and this window substrates flash memory system has a plurality of buffer zones, this window information district is corresponding to the window with a plurality of physical blocks, and this window information district has a window information, wherein, each in those physical blocks has plurality of sectors, and the access method of this window substrates flash memory system comprises three phases:
Stage 1: find out by the desired demand sector of a data demand assembly;
Stage 2: this demand sector one of is loaded those buffer zones from this flash memory; And
Stage 3: this demand sector that will load in this buffer zone is sent to this data demand assembly;
Wherein, the three phases system of those demand sectors carries out with parallel pipe linearize operation, and stage 2 of one first demand sector the term of execution carry out stage 1 of one second demand sector, the term of execution of stage 3 of this first demand sector, carry out the stage 2 of this second demand sector, and the stage 1 of the term of execution of stage 2 of this second demand sector, carrying out one the 3rd demand sector.
18. the access method of a window substrates flash memory system, be applicable on the flash memory with a window information district and an extra reserved area, and this window substrates flash memory system has a plurality of buffer zones, this window information district is corresponding to the window with a plurality of physical blocks, and this window information district has a window information, wherein, each in those physical blocks has plurality of sectors, and the access method of this window substrates flash memory system comprises three phases:
Stage 1: transmission will write one of this flash memory write the sector to those buffer zones one of them;
Stage 2: calculate this and write the address of sector in this flash memory; And
Stage 3: check whether the previous write operation on this flash memory correct, and after in this buffer zone this write the sector reach this flash memory;
Wherein, those three phases systems that write the sector carry out with parallel pipe linearize operation, and one first write the sector stage 1 the term of execution carry out stage 2 of this first demand sector, carry out this first stage 3 that writes the sector write stage 1 of sector the term of execution one second, first carry out this write stage 3 of sector the term of execution and second write the stage 2 of sector at this, and begin alone and finish a stage 3 that writes the sector at last.
CNB031023444A 2003-01-31 2003-01-31 Window substratum flash memory storage system, management method and access method thereof Expired - Lifetime CN1324482C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031023444A CN1324482C (en) 2003-01-31 2003-01-31 Window substratum flash memory storage system, management method and access method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031023444A CN1324482C (en) 2003-01-31 2003-01-31 Window substratum flash memory storage system, management method and access method thereof

Publications (2)

Publication Number Publication Date
CN1521633A true CN1521633A (en) 2004-08-18
CN1324482C CN1324482C (en) 2007-07-04

Family

ID=34281672

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031023444A Expired - Lifetime CN1324482C (en) 2003-01-31 2003-01-31 Window substratum flash memory storage system, management method and access method thereof

Country Status (1)

Country Link
CN (1) CN1324482C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105788030A (en) * 2016-03-25 2016-07-20 航天科技控股集团股份有限公司 Memory-saving cyclic replacement type data transmission method
TWI619017B (en) * 2017-01-23 2018-03-21 美光科技公司 Partially written block treatment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105788030A (en) * 2016-03-25 2016-07-20 航天科技控股集团股份有限公司 Memory-saving cyclic replacement type data transmission method
CN105788030B (en) * 2016-03-25 2018-07-06 航天科技控股集团股份有限公司 A kind of cycle for saving memory replaces formula data transmission method for uplink
TWI619017B (en) * 2017-01-23 2018-03-21 美光科技公司 Partially written block treatment

Also Published As

Publication number Publication date
CN1324482C (en) 2007-07-04

Similar Documents

Publication Publication Date Title
EP1576478B1 (en) Method and apparatus for grouping pages within a block
US7237057B2 (en) Window-based flash memory storage system and management and access methods thereof
CN100538659C (en) Effectively allow the out-of-sequence method and apparatus of writing processing in the Nonvolatile memory system
CN1652253A (en) Memory card and semiconductor device
CN1331817A (en) Method and appts. for concurrent DBMS table operations
CN1719422A (en) Virtual access method of storage document data
CN1466060A (en) Flash memory file system
CN104298465A (en) Block grouping method in SSD
CN1722109A (en) The storage system of increment merging method and this method of use
CN1701309A (en) Wear leveling in non-volatile storage systems
CN101908368A (en) Electronic storage device and operation method thereof
CN1701390A (en) Tracking the most frequently erased blocks in non-volatile memory systems
CN1967504A (en) Control apparatus and method of flash memory
CN1701308A (en) Maintaining erase counts in non-volatile storage systems
CN1311366C (en) Parallel double-track using method for quick flashing storage
CN101061466A (en) Apparatus and method for processing data of flash memory
CN1249463A (en) Microcomputer provided with flash memory and its program store method
CN101630233A (en) Data access method used for flash memory, storage system and controller
CN1447242A (en) Control device suitable to quick flash memory card and its construction methods
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
CN101866320A (en) Data management method and flash memory storage system and controller using the same
CN1324482C (en) Window substratum flash memory storage system, management method and access method thereof
CN1295778C (en) Method for verifying consistency of chip hardware behavior and software simulation behavior
CN1447243A (en) Calculation method executed in quick flash memory fast and not caused abnormal power breakdown as well as its control system
CN100351813C (en) Method of storage unit access in digital signal processing system and processing system therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070704