Summary of the invention
One of object of the present invention is to provide a kind of production line reading method of flash memory, is intended to solve the slow problem of flash memory reading speed in prior art.
In order to realize goal of the invention, described system comprises:
Support edo mode, storage data and data exported to the flash memory of input/output bus, and the controller that is connected and carries out data interaction by input/output bus with described flash memory, described controller sends read pulse to flash memory, and latch flash memory exports the data of input/output bus to.Described controller exports data in the time of input/output bus according to current m read pulse at flash memory, sends continuously m+1, m+2 ..., m+n read pulse is to flash memory, and the data latch of naming a person for a particular job corresponding at reasonable time is come in;
Described n >=1.
Described controller comprises:
Register cell, for the waveform of the read pulse that outputs to flash memory is set, and the time point of latch data that flash memory is exported;
Steering logic unit, the waveform of the read pulse signal that register cell is produced is sent to flash memory, and controls the data of first in first out unit latches flash memory output;
First in first out unit, the data for latch from flash memory output.
Described register cell comprises:
Register A, setting outputs to the waveform width of the read pulse signal of flash memory;
Register B, arranges cycle of read pulse;
Register C, arranges the time point of latch data that flash memory is exported.
In order to realize better goal of the invention,
The value of described register B is greater than the value of register A, and is less than the value of register C.
Described flash memory comprises:
Cells of memory arrays, storage data and according to the reading order reading out data of controller to buffer unit;
Buffer unit, the data that cells of memory arrays is read are temporary, and according to the read pulse of controller, data are delivered in input/output bus.
In order to realize better goal of the invention, described method comprises:
Steps A. controller sends current m read pulse to flash memory;
Current m the read pulse that described in step B., controller sends according to controller at flash memory also exported in the time of corresponding data, m+1 after sending continuously, and m+2 ..., m+n read pulse is to flash memory;
The data that described in step C., controller is exported according to described each read pulse at suitable time point latch flash memory;
Described n >=1.
Before described steps A, also comprise:
The width of read pulse signal waveform is set;
The cycle of read pulse is set;
The time point of latch flash memory output data is set.
Described step C comprises:
Step C1. controller latch flash memory is according to current m the data that read pulse is exported;
Step C2. controller latch flash memory is according to m+1, m+2 ..., m+n the data that read pulse is exported.
The cycle of the read pulse that further, described controller sends is less than the time of flash memory output data.
As from the foregoing, the present invention reads in process flash memory, difference with the prior art is that controller sends continuously multiple read pulses to flash memory in flash memory is read time of current data, and the data of exporting at reasonable time point latch flash memory, has therefore improved the reading speed of flash memory.
Embodiment
In the present invention, controller sends continuously multiple read pulses to flash memory in flash memory is read time of current data, and in the data of suitable time point latch flash memory output, has improved the reading speed of flash memory.
Fig. 2 shows the structure of the reading system of flash memory in one embodiment of the present of invention, this system comprises controller 10, is connected with controller 10 and carries out the flash memory 20 of data interaction and for being connected controller 10 and flash memory 20 and carrying out input and output (Input/Output, be called for short " the I/O ") bus 30 of data transmission.It should be noted that in all diagrams of the present invention, the annexation between each equipment is for the needs of clear its information interaction of explaination and control procedure, therefore should be considered as annexation in logic, and should not only limit to physical connection.It should be noted that in addition, the communication mode between each functional module can be taked multiple, and protection scope of the present invention should not be defined as the communication mode of certain particular type.Wherein:
Controller 10, is connected and is carried out data interaction by input and output (Input/Output is called for short " I/O ") bus 30 with flash memory 20, send read pulse to flash memory 20, and latch flash memory 20 outputs to the data of I/O bus 30 according to read pulse.
Flash memory 20, supports EDO pattern, is connected by I/O bus 30 with controller 10, for storing data, and exports data to I/O bus 30 according to the read pulse of controller transmission, reads and latch for controller 10.
I/O bus 30, connects controller 10 and flash memory 20 and carries out data transmission, the data that temporary flash memory 20 is exported.
In a preferred embodiment, controller 10 sends read pulse and meets to the frequency of operation of flash memory 20 requirement of flash memory 20 reading out datas.For example: in one embodiment, in flash memory 20, receive the time tREA that read pulse is driven in I/O bus 30 to data and have a maximal value, then n the read pulse time tRLOH that step-down is cancelled to a front m data again has a minimum value, more than the frequency of operation of controller 10 reaches 1/tRLOH, can within the tRLOH time, send out one or n read pulse.
In another preferred embodiment, controller 10 reads in current m data procedures at flash memory 20, continuously by m+1, and m+2 ..., m+n read pulse is sent to flash memory 20, wherein, and n >=1.
Fig. 3 shows the structure of one embodiment of the present of invention middle controller 10 and flash memory 20, and controller 10 comprises:
Register cell 101, for width and the cycle of the read pulse that outputs to flash memory 20 are set, and the time point of latch flash memory 20 data of exporting;
Steering logic unit 102, is connected with register cell 101 and first in first out unit 103 and carries out data interaction, is sent to flash memory 20 for the signal waveform that register cell is produced;
First in first out unit 103, is connected with controller logic unit 102 and carries out data interaction, the data of exporting from flash memory 20 for latch.
Flash memory 20 comprises:
Cells of memory arrays 201, exports data to buffer unit 202 for the read pulse of storing data and send according to controller 10;
Buffer unit 202, is connected with cells of memory arrays and carries out data interaction, for the read pulse sending according to controller 10, data is transported to I/O bus 30.
Fig. 4 shows the structure of register cell 101 in one embodiment of the present of invention, and this register cell 101 comprises:
(1) register A, is connected with steering logic unit 102 and carries out data interaction, and its value is for arranging the waveform width of the read pulse signal that outputs to flash memory 20;
(2) register B, is connected with steering logic unit 102 and carries out data interaction, and its value is for arranging the wave period of read pulse signal;
(3) register C, is connected and carries out data interaction with first in first out unit (First Input First Output is called for short " FIFO ") 103, and its value is for controlling the time point of data in FIFO latch I/O bus 30.
In a preferred embodiment, the value of register B is greater than the value of register A, and is less than the value of register C, i.e. read pulse cycle tRC is less than the time point of latch data, and system works is at pipeline state.In one embodiment, suppose that the time (tREA) that current m data are urged to I/O bus 30 by flash memory 20 is 25ns to the maximum, the individual read pulse of rear n (n >=1) time (tRLOH) that step-down is cancelled to a front m data is again minimum is 10ns, the minimum pulse width (tRP) of read pulse is 10ns, can be set for 20ns the read pulse cycle (tRC), the time point that latch data is set is 28ns, and the course of work of controller 10 is as follows:
Steering logic unit 102 is in tRC (20ns) moment, the read pulse of rear one-period data is sent to flash memory 20 in advance, and the value control FIFO of register C at tREA (25ns) afterwards, and it in the scope of tRC+tRLOH (20ns+10ns), is the time point latch data of 28ns.Between the time range of the valid data maximal value 25ns to tRC+tRLOH (30ns) that is tREA, the data of now latch are valid data.
Fig. 5 shows the production line reading method flow process of flash memory in an embodiment in the present invention, the system architecture of the method flow process based on shown in Fig. 2, carry out institute in steps before, the read command that flash memory 20 sends according to controller 10, reads buffer unit 202 by corresponding data from cells of memory arrays 201.Detailed process is as follows:
In step S501, controller 10 sends m read pulse to flash memory 20;
In step S502, flash memory 20 is exported the data of corresponding m read pulse to I/O bus 30, and controller sends m+n read pulse to flash memory 20;
In step S503, the data that controller 10 is exported according to each read pulse at suitable time point latch flash memory 20.
Wherein, n >=1.
In a preferred embodiment, controller 10 is exported according to m read pulse at suitable time point successively latch flash memory 20 data and flash memory 20 data that individual read pulse is exported according to m+n (1).
In another preferred embodiment, controller 10 sends first reading order (such as " 00H ") to flash memory 20, flash memory 20 reads data buffer unit 202 from cells of memory arrays 201, after pending buffer device unit 202 is ready, controller 10 sends second reading order (such as " 30H ") again to flash memory 20.Meanwhile, controller sends m read pulse, and flash memory 20 is by the data-driven in buffer unit 202 to I/O bus 30, and when data are not driven into I/O bus 30, controller sends m+1 read pulse.In the time that data are driven into I/O bus 30, controller 10 m data in latch I/O bus 30 and the individual data of m+n (1) continuously successively.Repeat this flow process, until that all data read is complete.
N=2 in another preferred embodiment, in the present invention, the detailed process of the production line reading method of flash memory is, controller sends m read pulse, flash memory 20 starts the data-driven in buffer unit 202 to I/O bus 30, when flash memory 20 is not also driven into I/O bus 30 by data, controller sends m+2 read pulse.In the time that flash memory 20 is driven into data I/O bus 30, controller 10 m data and m+2 data in latch I/O bus 30 continuously successively.Repeat this flow process, until that all data read is complete.
Fig. 6 shows n=1 Time Controller 10 in one embodiment of the present of invention and sends the work schedule of read pulse, and detailed process is as follows:
Controller 10 sends m read pulse to flash memory 20 through the time of tRC, flash memory 20 by data by buffer unit 202, time through tREA transfers data to I/O bus 30, and within the tRC moment, controller 10 sends m+1 read pulse to flash memory 20, and m+1 data occur, by the scope of the time (be greater than tREA, be less than tROH+tRC) before cancelling, data being latching to FIFO in I/O bus 30.The rest may be inferred, and in the time of n=2, in the moment of tRC, controller 10 sends m+2 read pulse to flash memory 20.
Fig. 7 shows flash memory 20 in one embodiment of the present of invention and exports the flow process of data, the system architecture of this flow process based on shown in Fig. 2, and detailed process is as follows:
In step S701, the read pulse that flash memory 20 sends according to controller 10 reads buffer unit 202 by data from cells of memory arrays 201;
In step S702, buffer unit 202 according to the read pulse cycle by data-driven to I/O bus 30.
In a preferred embodiment, flash memory 20 is within the time in current read pulse cycle, and next the cycle read pulse sending according to controller reads buffer unit 202 by data from reading cells of memory arrays 201.
In another preferred embodiment, buffer unit 202 is greater than data-driven the cycle of read pulse to the time of I/O bus 30.
Fig. 8 shows in one embodiment of the present of invention in the time of n=1, the course of work of controller 10 latch datas, the system architecture of the course of work of this controller 10 based on Fig. 2, first in first out unit 103 is connected with register cell 101 and steering logic unit 102, and by the input and output of data in counter controls flash memory 20.Wherein:
First in first out unit 103 is connected with the register C in register cell 101 and carries out data interaction, and is connected with flash memory 20 by I/O bus 30.In a preferred embodiment, the value of the register C being connected with first in first out unit 103 is for the time point of latch data is set, and its value is greater than and is respectively used to the value of the register A that read pulse width is set and for the value of register B of data read cycle of flash memory 20 is set.For example, if the value of register C is " 4 ", the value of register B is " 2 ", and the value of register A is " 1 ".In one embodiment, register A and register B use same counter 30, and arranging of this counter 30 is as follows: when the count value meter of counter 30 is to time " 0 ", steering logic unit 102 sends read pulse; When the count value meter of counter 30 is to time register A settings " 1 " (read pulse width), read pulse is drawn high, and then this high level remains to the end of read cycle always; And in the time that the next count value of counter 30 is register B settings " 2 " (read pulse cycle), the count value of counter 30 clear " 0 ".Register C uses another one counter 40, and when the count value of counter 40 is the settings " 4 " (time point of latch data) of register C, the value that counter 40 is set becomes the next count value " 2 " of counter 30.Like this, even the value of the value > register B of register C, the count cycle of the count cycle sum counter 30 of counter 40 still can be consistent.In the time that the next count value of counter 40 is the settings " 4 " of register C, lock valid data to deposit into from I/O bus 30 in first in first out unit 103.This process constantly circulates, until that needed data read is complete.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, all any amendments of doing within the spirit and principles in the present invention, be equal to and replace and improvement etc., within all should being included in protection scope of the present invention.