US20020083262A1 - Memory device operable with a small-capacity buffer memory and having a flash memory - Google Patents
Memory device operable with a small-capacity buffer memory and having a flash memory Download PDFInfo
- Publication number
- US20020083262A1 US20020083262A1 US09/395,941 US39594199A US2002083262A1 US 20020083262 A1 US20020083262 A1 US 20020083262A1 US 39594199 A US39594199 A US 39594199A US 2002083262 A1 US2002083262 A1 US 2002083262A1
- Authority
- US
- United States
- Prior art keywords
- data
- external
- read
- write
- internal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Definitions
- the present invention relates to a memory device, and more specifically, to a memory device having a flash memory.
- a flash memory is a non-volatile, rewritable semiconductor memory device that allows the erase operation of data one section at a time.
- the flash memory integrates storage elements at a high density, and, in order to enable a fast-speed data transmission and reception, specifies a sector address, and reads, erases, and writes (programs) a certain amount of data one sector at a time.
- program refers to setting the state of a memory cell in a flash memory to correspond to the value of either 1 or 0 according to data provided from outside.
- the sector capacity the unit of data the flash memory reads out at one time, tends to increase in size as well. For instance, in an AND-type flash memory of 256 Mbits, the sector capacity is 2048 bytes.
- the data capacity (hereinafter referred to as a medium sector capacity), which is a unit of data the informational equipment such as a personal computer transmits to and receives from a memory device such as a hard disk or a memory card, is normally 512 bytes, for example, and no such tendency to increase in the medium sector capacity is noted in particular.
- a buffer memory for temporarily storing sector data of a flash memory and for adjusting the timing and the capacity for the data transfer between the memory device and the host system.
- SRAM Static Random Access Memory
- the buffer memory was required to be have a capacity of the same or a larger size than the sector capacity of the flash memory even when the capacity of data transfer between the memory device and the host system, i.e. the medium sector capacity, was smaller than the sector capacity of the flash memory.
- An object of the present invention is to provide a memory device having a flash memory that allows the incorporation of a buffer memory of a small capacity equivalent to the medium sector capacity as well as the reduction in cost.
- the present invention is a memory device with a flash memory and having a write mode in which data is stored upon the reception of an external write address signal and an external write data train from a host system, and including a flash memory and a data input/output portion.
- the data input/output portion receives the external write address signal and generates an internal write address signal, receives and retains the external write data train, and outputs the internal write data train based on the external write data train and the external write address signal.
- the data input/output portion includes a first interface portion, a buffer memory, and a second interface portion.
- The-first interface portion receives the external write data train and the external write address signal from the host system in the write mode.
- the buffer memory has a storage capacity corresponding to data elements not smaller in number than data elements contained in the external write data train and smaller in number than data elements contained in the internal write data train. In the write mode, the buffer memory receives the external write data train from the first interface portion.
- the second interface portion receives the external write address signal from the first interface portion and generates the internal write address signal, adds to the external write data train read out from the buffer memory dummy data which does not cause data overwrite in the memory region according to the external write address signal to generate the internal write data train.
- a memory device having a flash memory which receives an external address signal from a host system and communicates an external data train when storing data, and which includes a data input/output portion and a flash memory.
- the data input/output portion generates an internal main address and an internal sub-address corresponding to an external address.
- a memory region holding a prescribed number of bits of data is erased at one time as the smallest unit in the data erase operation, the internal main address selects a memory region as a unit, the internal sub-address specifies a data transmission and reception start location within the memory region, and an internal data train containing a plurality of data elements can be received and transmitted.
- the storage capacity of the memory region is larger than the storage capacity corresponding to the number of data elements contained in the external data train.
- the data input/output portion adds to a lead address of the memory region a number corresponding to the non-negative integer multiple of the number of data elements contained in the external write data train to produce the internal sub-address.
- the main advantage of the present invention is that, when a flash memory for sector reading is used as a semiconductor device for data storage, the incorporation of a small-capacity buffer memory is advantageous with respect to the cost.
- FIG. 1 is a block diagram showing a schematic configuration of a memory device 1 having a flash memory.
- FIG. 2 is a memory map showing the correspondence between a medium sector address and an address of the flash memory in the first embodiment.
- FIG. 3 is a diagram relating to the description of the conversion of a medium sector address into a flash sector address and column address offset generation bits.
- FIG. 4 is a diagram showing the relation between a column address offset and the two lower bits of a medium sector address.
- FIG. 5 is a diagram showing the main flow of the processing of the memory device in the first embodiment.
- FIG. 6 is a flow chart representing in detail the read process of step S 04 shown in FIG. 5.
- FIG. 7 is a diagram illustrating the relation between the steps of the read process shown in FIG. 6 and the respective blocks in the memory device in which the steps are performed.
- FIG. 8 is a flow chart illustrating in detail the write process in step S 05 shown in FIG. 5.
- FIG. 9 is a diagram showing how each step of the write process shown in FIG. 8 is performed between a host system and a controller, and between the controller and a flash memory.
- FIG. 10 is a block diagram representing in detail a data transfer control portion 8 shown in FIG. 1.
- FIG. 11 is a timing diagram showing the manner of data transfer from the flash memory to the buffer memory.
- FIG. 12 is an operation waveform chart illustrating in detail the data write operation to the buffer memory shown in FIG. 11.
- FIG. 13 is a timing diagram showing the manner of data transfer from the buffer memory to the flash memory.
- FIG. 14 is an operation waveform chart relating to a more detailed description of the manner of data transfer from the buffer memory to the flash memory shown in FIG. 13.
- FIG. 15 is a block diagram showing a schematic configuration of a memory device 51 of the second embodiment.
- FIG. 16 is a memory map showing the correspondence between a medium sector address and a flash memory address in the second embodiment.
- FIG. 17 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and a start column address.
- FIG. 18 is a diagram showing the relation between a start column address and the two lower bits of the medium sector address.
- FIG. 19 is a conceptual diagram relating to the description of a start column address.
- FIG. 20 is an operational waveform chart relating to the description of the command setting and the address setting when reading data from the flash memory having a partial read/program function.
- FIG. 21 is a diagram showing an input waveform when writing data into the flash memory in the second embodiment.
- FIG. 22 is a diagram showing the main flow of the processing of the memory device in the second embodiment.
- FIG. 23 is a flow chart representing in detail the read process of step S 104 shown in FIG. 22.
- FIG. 24 is a diagram illustrating the relation between the steps of the read process shown in FIG. 23 and the respective blocks in the memory device in which the steps are performed.
- FIG. 25 is a flow chart illustrating in detail the write process in step S 105 shown in FIG. 22.
- FIG. 26 is a diagram showing how each step of the write process shown in FIG. 25 is performed between a host system and a controller, and between the controller and a flash memory.
- FIG. 27 is a block diagram representing in detail a column address control portion 58 shown in FIG. 15.
- FIG. 1 is a block diagram showing a schematic configuration of a memory device 1 having a flash memory.
- Data input/output portion 9 includes a host interface portion 2 for performing the data transfer with the host system, a buffer memory 4 having a capacity of 512 bytes for temporarily storing a portion of sector data of a flash memory to allow host interface portion 2 to perform the data transfer with host system 12 , a flash interface portion 7 for controlling the data transmission and reception between buffer memory 4 and the flash memory according to a command from host interface portion 2 , and a flash memory 10 which is a semiconductor device for holding the data to be stored in memory device 1 .
- Flash interface portion 7 includes a sequencer portion 6 for sending, to the flash memory according to the specification of the flash memory, a command for setting the operation such as the read or write operation and an address for specifying a memory region during the read or write operation, and a data transfer control portion 8 for generating from a medium sector address provided from host system 12 a sector address and a column address offset of the flash memory.
- Flash memory 10 has a plurality of sectors, each of which having a capacity of 2084 bytes. When the sector address is specified, flash memory 10 can serially output 2048 bytes of data stored in the specified sector.
- FIG. 2 is a memory map showing the correspondence between a media sector address and an address of the flash memory in the first embodiment.
- a medium sector address 0h corresponds to flash memory column addresses 0h to 1FFh of a flash memory sector address 0h.
- a medium sector address 1h corresponds to flash memory column addresses 200h to 3FFh of flash memory sector address 0h.
- a medium sector address 2h corresponds to flash memory column addresses 400h to 5FFh of flash memory sector address 0h.
- a medium sector 3h corresponds to flash memory column addresses 600h to 7FFh of flash memory sector address 0h.
- FIG. 3 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and column address offset generation bits.
- the column address offset is set to 400h, and the data transmission and reception take place between the buffer memory and the flash memory.
- the column address offset is set to 600h, and the data transmission and reception take place between the buffer memory and the flash memory.
- FIG. 5 is a diagram showing the main flow of the processing of the memory device in the first embodiment.
- step S 01 the memory device waits for a request from the host system. Then step S 02 determines whether a read request has been made. If the read request has been made, the read process is performed in step S 04 . When the read process is complete, a return is made to step S 01 and once again the memory device waits for a request from the host system.
- step S 03 determines whether a write request has been made by the host system. If the write request has been made, the write process is performed in step S 05 . When the write process is complete, a return is made to step S 01 and once again the memory device waits for a request from the host system.
- step S 03 If no write request has been made in step S 03 , a return is made to step S 01 , and once again the memory device waits for a request from the host system.
- FIG. 6 is a flow chart representing in detail the read process of step S 04 shown in FIG. 5.
- the read process is started in step S 11 .
- step S 12 the memory device receives the medium sector address from the host system. Then, the address conversion is performed based on the medium sector address received, and the value of the column address offset shown in FIG. 4 is generated.
- step S 14 a sector read operation is performed from the flash memory.
- the data read out is written into the buffer memory based on the offset value in step S 15 .
- step S 16 an interrupt signal is sent to the host system, and in step S 17 the data written into the buffer memory is sent as read data to the host system.
- the read operation ends in step S 18 .
- FIG. 7 is a diagram illustrating the relation between the steps of the read process shown in FIG. 6 and the respective blocks in the memory device in which the steps are performed.
- controller refers to a portion including host interface portion 2 , flash interface sequencer portion 6 , and the buffer memory in FIG. 1.
- a sector address SA and an offset value of the flash memory is generated from the medium sector address in the controller. Then, a read command and sector address SA are transmitted to the flash memory. As a consequence, the sector read operation is performed in the flash memory, and 2048 bytes of data is sent successively to the controller as a flash interface data output. Then the controller takes out the 512 bytes data corresponding to the offset based on the medium sector address and transfers the data to the buffer memory.
- the controller makes a read request for the data from the medium sector address, and the host system accepts an interrupt. Thereafter, the controller outputs data from the buffer memory, whereby the data read operation of the medium sector address is performed. Then the read operation is completed.
- FIG. 8 is a flow chart illustrating in detail the write process in step S 05 shown in FIG. 5.
- step S 21 the write operation starts in step S 21 .
- step S 22 the medium sector address transmitted from the host system is received by the memory device.
- step S 23 the memory device requests the host system to send data, and in step S 24 , the memory device receives the data from the host system. The data is written into the buffer memory in step S 25 .
- step S 26 an offset value is generated from the medium sector address received in step S 22 . Then, in step S 27 a program command for the flash memory is set. In step S 28 data from the buffer memory and the initial value data are combined, and the combined data is written into the flash memory at a prescribed timing.
- FIG. 9 is a diagram showing how each step of the write process shown in FIG. 8 is performed between the host system and the controller, and between the controller and the flash memory.
- a write request for the medium sector address is transmitted from the host system to the controller.
- the controller receives this request and makes a data write request for the medium sector address to the host system.
- the host system writes the data into the medium sector address.
- the data is input into the buffer memory via the controller.
- a sector address and an offset value of the flash memory are generated from the medium sector address which had been received.
- the program command and the sector address are transmitted to the flash memory.
- the flash memory is rendered data writable.
- the stored 512 byte data is transferred from the buffer memory based on the offset value.
- the time period other than the time period in which data stored in the buffer memory is transferred involves the transfer of write data “FFh.”
- Each memory cell in the flash memory is formed by an MOS transistor having a floating gate.
- Each memory cell holds data “1” or “0” depending on the state of the threshold voltage of the MOS transistor.
- the state of the memory cell immediately after erasing the data of the memory cell corresponds to the held data “1.”
- the threshold voltage changes, and the state of the memory cell having the threshold voltage after the change corresponds to the held data “0.”
- the threshold voltages does not change. Therefore, even when data “1” is written into the memory cell which holds data “0” as the initial state, the held data does not change.
- FFh is written as the data without performing the erase operation in the first embodiment.
- FFh is one-byte data containing all “1” bits so that the flash memory retains the data it held before the write operation.
- FIG. 10 is a block diagram representing in detail a data transfer control portion 8 shown in FIG. 1.
- data transfer control portion 8 includes a flip-flop 22 for latching in synchronism with the rise of a clock signal SC a read sector enable signal RSE# generated inside the memory device, an AND circuit 24 for outputting as a reset signal RST the logical sum of the output from flip-flop 22 and a write sector enable signal WSE# generated inside the memory device, an SC counter 26 which is reset by reset signal RST and thereafter starts the count-up in response to the rise of clock signal SC, a medium sector address latch portion 30 for latching a 16 bit medium sector address from the host system and for outputting the 14 higher bits as a sector address SA 0 to SA 15 to sequencer portion 6 , and a comparator 32 for comparing the 2 higher bits of the 11 bit count value of the output from SC counter 26 with the 2 lower bits of the medium sector address latched by medium sector address latch portion 30 .
- Comparator 32 outputs a comparison result signal CMP that attains a low or logic “L” level when the 2 bit data from SC counter 26 matches the 2 bit data from medium sector address latch portion 30 .
- Data transfer control portion 8 further includes a gate circuit 28 which receives the output from flip-flop 22 , clock signal SC, and result signal CMP and outputs a write enable signal /WE#, and a selector 34 which receives the output from buffer memory 4 and the fixed data “FFh” and outputs either of the received output from buffer memory 4 or “FFh” to the flash memory according to comparison result signal CMP.
- Selector 34 outputs to the flash memory the output from the buffer memory when comparison signal CMP is at a logic “L” level, and outputs fixed data “FFh” to the flash memory when comparison signal CMP is at a high or logic “H” level.
- buffer memory 4 is illustrated additionally in FIG. 10.
- Buffer memory 4 receives the 9 lower bits of the 11 bit count value of SC counter 26 as an address signal ADR, write sector enable signal WSE# as an output enable signal /OE#, and the output of gate circuit 28 as write enable signal /WE#, and, in response to these signals, holds data input DI from the flash memory, or sends data output DO to the flash memory via selector 34 .
- FIG. 11 is a timing diagram showing the manner of data transfer from the flash memory to the buffer memory.
- a data signal DATA is read from the flash memory according to clock signal SC from time T 1 . Since this read operation is performed sector by sector, normally 2048 bytes of data is read out continuously thereafter.
- FIG. 12 is an operation waveform chart illustrating in detail the data write operation to the buffer memory shown in FIG. 11.
- read sector enable signal RSE# falls from a logic “H” level to a logic “L” level with the read request being made from the host system.
- reset signal RST falls from the logic “H” level to the logic “L” level, and the reset of SC counter 26 is released.
- SC counter 26 counts up the 11 bit count value from 0h to 1FFh according to the input of clock signal SC.
- address signal ADR which is the 9 lower bits of the count value and is input into the buffer memory, changes from 0h to 1FFh.
- comparison result signal CMP is at the logic “H” level indicating a mismatch.
- comparison result signal CMP falls from the logic “H” level to the “L” level.
- Comparison result signal CMP maintains the logic “L” level while the count value is between 200h to 3FFh.
- gate circuit 28 outputs clock signal SC as write enable signal /WE# to the buffer memory. Since write enable signal /WE# is input into buffer memory 4 , the input data, data 0h to data 1FFh, are written into the address indicated by address signal ADR at the leading edge of write enable signal /WE#.
- FIG. 13 is a timing diagram showing the manner of data transfer from the buffer memory to the flash memory.
- the memory device is most suitable for use including, for instance, the temporary storage of digital camera images, the storage of acoustic signals of portable digital audio equipment, and the like, where stored data is erased one unit at a time, and thereafter, new data is added in order into the unit that was erased.
- dummy data “FFh” is written as is the case between time t 1 and time t 2 .
- write sector enable signal WSE# falls from the logic “H” level to the “L” level in response to the write request from the host system. Accordingly, reset signal RST falls from the logic “H” level to the logic “L” level, and the reset of SC counter 26 is released. In addition, output enable input signal /OE# of the buffer memory falls from the “H” level to the “L” level, and buffer memory 4 becomes accessible.
- comparison result signal CMP falls from the logic “H” level to the “L” level according to the change in the count value.
- Data at the address specified by address signal ADR is read from buffer memory 4 , and is transferred to the flash memory as data output signal DO via selector 34 . From then on until time t 3 , the data transfer from the buffer memory to the flash memory takes place.
- comparison result signal CMP rises from the “L” level to the “H” level according to the change in the count value at time t 3 so that the data output signal once again attains fixed value “FFh” output by selector 34 when comparison result signal CMP is at the “H” level.
- the memory device is most suitable for use including, for instance, the temporary storage of digital camera images, the storage of acoustic signals of portable digital audio equipment, and the like, where data is erased one unit at a time, and thereafter, new data is added in order into the unit that was erased.
- medium sector capacity which is the capacity unit for data transfer with the host system
- capacity of a sector of the flash memory used the capacity of the buffer memory for the temporary storage of data can be made smaller according to the medium sector capacity so that a memory device having an advantage with respect to the cost can be provided in constructing the hardware.
- FIG. 15 is a block diagram showing a schematic configuration of a memory device 51 of the second embodiment.
- a memory device 51 for transmitting to and receiving from a host system 12 the external data to be stored.
- Memory device 51 includes a data input/output portion 59 for receiving a medium address from the host system to perform address conversion and for performing the data conversion so as to allow the transmission and the reception of the external data between the memory device and the host system, and a flash memory 60 for performing the data transmission and reception according to an address signal converted by data input/output portion 59 .
- Data input/output portion 59 performs the data conversion from the data to be input into or output from flash memory 60 into the external data, and vice versa.
- Data input/output portion 59 includes a host interface portion 52 for performing the data transfer with host system 12 , a buffer memory 54 having a capacity of 512 bytes for temporarily storing storage data to allow host interface portion 52 to perform the data transfer with host system 12 , and a flash interface portion 57 for controlling the data transmission and reception between buffer memory 54 and flash memory 60 according to a command from host interface portion 52 .
- Flash interface portion 57 includes a sequencer portion 56 for sending, to the flash memory according to the specification of the flash memory, a command for setting the operation such as the read or write operation and an address for specifying a memory region during the read or write operation, and a column address control portion 58 for generating from a medium sector address provided from host system 12 a sector address of the flash memory and a start column address for specifying the read start location of the column specified by the sector address.
- flash memory 60 has a partial read/program function in which the data read and write operations can be started from any column address of a sector.
- Flash memory 60 has a plurality of sectors, each of which having a capacity of 2048 bytes.
- sector address When the sector address is specified, flash memory 60 can serially output the data corresponding to the specified sector alone in synchronism with a clock signal. Further, when a start column address is specified, the data corresponding to the column address of the specified sector up to the data corresponding to the final address of the sector can be serially output in synchronism with a clock signal.
- FIG. 16 is a memory map showing the correspondence between a medium sector address and a flash memory address in the second embodiment.
- FIG. 17 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and a start column address.
- the 14 higher bits MA 15 to MA 2 of a medium sector address are used as bits of a flash sector address SA 13 to SA 0 .
- MA 1 and MA 0 which are two lower bits in a medium sector address are used as CA 10 and CA 9 , respectively, in the start column address.
- CA 1 and CA 8 to CA 0 are all set to “0h.”
- FIG. 18 is a diagram showing the relation between the start column address of the flash memory and the two lower bits of a medium sector address.
- the start column address is set to 0h, and when MA 1 and MA 0 are 0 and 1, respectively, the start column address is set to 200h.
- the start column address is set to 400h, and when MA 1 and MA 0 are both 1's, the start column address is set to 600h.
- the address conversion is performed in column address control portion 58 of FIG. 15, which is readily implemented by providing the wiring connection corresponding to FIG. 18.
- FIG. 19 is a conceptual diagram relating to the description of a start column address.
- FIG. 20 is an operational waveform chart relating to the description of the command setting and the address setting when reading data from the flash memory having a partial read/program function.
- CA( 1 ) which is the 8 lower bits of start column address CA is taken into the flash memory at the leading edge of write enable signal /WE#.
- CA( 2 ) which is the 4 higher bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#.
- FIG. 21 is a diagram showing an input waveform when writing data into the flash memory in the second embodiment.
- CA( 1 ) which is the 8 lower bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#.
- CA( 2 ) which is the 4 higher bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#.
- FIG. 22 is a diagram showing the main flow of the processing of the memory device in the second embodiment.
- the main flow of the processing of the memory device in the second embodiment differs from the flow shown in FIG. 5 in that read process step S 04 of the first embodiment shown in FIG. 5 is replaced by step S 104 , and that write process step S 05 is replaced by step S 105 .
- Other parts are identical to the flow shown in FIG. 5, and the description thereof will not be repeated.
- FIG. 23 is a flow chart representing in detail the read process of step S 104 shown in FIG. 22.
- the read operation is started in step S 111 .
- step S 112 the memory device receives a medium sector address from the host system. Then, in step S 113 , the received medium sector address is converted into sector address SA and start column address CA of the flash memory. In step S 114 , a partial read command of the flash memory is set, and sector address SA and start column address CA are also specified. Then in step S 115 , data is read from the flash memory and written into the buffer memory.
- step S 117 data written into the buffer memory is sent as read data to the host system.
- step S 118 the read operation is completed.
- FIG. 24 is a diagram illustrating the relation between the steps of the read process shown in FIG. 23 and the respective blocks in the memory device in which the steps are performed.
- controller refers to a portion including host interface portion 52 , flash interface sequencer portion 56 , and the buffer memory 54 in FIG. 15.
- sector address SA and start column address CA of the flash memory are generated from the medium sector address in the controller. Then, the controller sends a read command, sector address SA and the start column address to the flash memory. Consequently, a partial read operation is performed in the flash memory, and 512 bytes of data is output to the buffer memory.
- the controller makes a read request for data from the specified medium sector address to the host system. The data is read from the buffer memory to the host system, and the read operation is completed.
- FIG. 25 is a flow chart illustrating in detail the write process in step S 105 shown in FIG. 22.
- step S 121 the write operation starts in step S 121 .
- step S 122 the medium sector address transmitted from the host system is received by the memory device.
- step S 123 the memory device requests the host system to send data, and receives the data from the host system in step S 124 .
- the data is written into the buffer memory in step S 125 .
- step S 126 sector address SA and start column address CA of the flash memory are generated from the medium sector address received in step S 122 . Then, in step S 127 a partial program command is set for the flash memory, and thereafter, sector address SA and start column address CA are specified.
- step S 128 the data is read from the buffer memory and is written into the flash memory. Then the data write operation ends in step S 129 .
- FIG. 26 is a diagram showing how each step of the write process shown in FIG. 25 is performed between the host system and the controller, and between the controller and the flash memory.
- a write request for the medium sector address is transmitted from the host system to the controller.
- the controller receives this request and makes a data write request for the medium sector address to the host system.
- the host system writes the data into the medium sector address.
- the data is input into the buffer memory via the controller.
- sector address SA and start column address CA of the flash memory are generated from the medium sector address which had been received.
- the controller sets the program command, sector address /SA and start column address /CA for the flash memory. Consequently, the flash memory performs a partial program operation.
- the 512 bytes of data is input from the buffer memory to the flash memory, and the data write operation is performed starting with a prescribed column address.
- the write operation ends after a prescribed wait time.
- FIG. 27 is a block diagram representing in detail a column address control portion 58 shown in FIG. 15.
- column address control portion 58 includes a flip-flop 72 for latching in synchronism with the rise of a clock signal SC a read sector enable signal RSE# generated inside the memory device, an AND circuit 74 for outputting as a reset signal RST the logical sum of the output from flip-flop 72 and a write sector enable signal WSE# generated inside the memory device, a 9 bit SC counter 76 which is reset by reset signal RST and thereafter starts the count-up in response to the rise of clock signal SC, a medium sector address latch portion 80 for latching a 16 bit medium sector address from the host system and for outputting the 14 bits SAO to SA 13 of a sector address and 12 bits CA 0 to CA 11 of a start column address, to sequencer portion 6 , and a gate circuit 78 for receiving the output from flip-flop 72 and clock signal SC to output a write enable signal /WE#.
- buffer memory 54 receives the 9 bits of the count value of SC counter 76 as an address signal ADR, write sector enable signal WSE# as an output enable signal /OE#, and the output of gate circuit 78 as write enable signal /WE#, and, in response to the these signals, receives and holds data input DI from the flash memory, or sends data output DO to the flash memory.
- the capacity of the buffer memory for the temporary storage of data during the data transfer between the host interface portion and the host system can be made smaller than the capacity of one sector of the flash memory so that a memory device having an advantage with respect to the cost can be provided.
- the provision and the use of a flash memory capable of performing the partial read/program allow the read and rewrite operations one medium sector as a unit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
Description
- 1. Field of the Invention
- The present invention relates to a memory device, and more specifically, to a memory device having a flash memory.
- 2. Description of the Background Art
- In recent years, with the advance of the semiconductor manufacture technology, storage capacities of flash memories have become increasingly larger. With the increase in the storage capacity, the use of a memory device having a flash memory as a storage medium being advantageously small in size and low in power consumption has gradually been accepted particularly in the field of portable equipment.
- A flash memory is a non-volatile, rewritable semiconductor memory device that allows the erase operation of data one section at a time. The flash memory integrates storage elements at a high density, and, in order to enable a fast-speed data transmission and reception, specifies a sector address, and reads, erases, and writes (programs) a certain amount of data one sector at a time. In the present specification, the term “program” refers to setting the state of a memory cell in a flash memory to correspond to the value of either 1 or 0 according to data provided from outside. As the capacity of the flash memory increases in size, the sector capacity, the unit of data the flash memory reads out at one time, tends to increase in size as well. For instance, in an AND-type flash memory of 256 Mbits, the sector capacity is 2048 bytes.
- On the other hand, the data capacity (hereinafter referred to as a medium sector capacity), which is a unit of data the informational equipment such as a personal computer transmits to and receives from a memory device such as a hard disk or a memory card, is normally 512 bytes, for example, and no such tendency to increase in the medium sector capacity is noted in particular.
- In such a memory device having a flash memory with a sector structure, it is necessary to incorporate into the memory device a buffer memory for temporarily storing sector data of a flash memory and for adjusting the timing and the capacity for the data transfer between the memory device and the host system. Normally, an SRAM (Static Random Access Memory) or the like is used as the buffer memory.
- The buffer memory was required to be have a capacity of the same or a larger size than the sector capacity of the flash memory even when the capacity of data transfer between the memory device and the host system, i.e. the medium sector capacity, was smaller than the sector capacity of the flash memory.
- The sector capacity of the flash memory, however, is on the increase every year so that the incorporation of an SRAM of a large capacity is required, which is a disadvantage with respect to the cost.
- An object of the present invention is to provide a memory device having a flash memory that allows the incorporation of a buffer memory of a small capacity equivalent to the medium sector capacity as well as the reduction in cost.
- In summary, the present invention is a memory device with a flash memory and having a write mode in which data is stored upon the reception of an external write address signal and an external write data train from a host system, and including a flash memory and a data input/output portion.
- In the flash memory, in the data erase operation, a memory region holding a prescribed number of bits of data is erased at one time as the smallest unit, and in the write mode an internal write data train having a prescribed data length is written according to an internal write address signal.
- In the write mode, the data input/output portion receives the external write address signal and generates an internal write address signal, receives and retains the external write data train, and outputs the internal write data train based on the external write data train and the external write address signal.
- The data input/output portion includes a first interface portion, a buffer memory, and a second interface portion.
- The-first interface portion receives the external write data train and the external write address signal from the host system in the write mode.
- The buffer memory has a storage capacity corresponding to data elements not smaller in number than data elements contained in the external write data train and smaller in number than data elements contained in the internal write data train. In the write mode, the buffer memory receives the external write data train from the first interface portion.
- In the write mode, the second interface portion receives the external write address signal from the first interface portion and generates the internal write address signal, adds to the external write data train read out from the buffer memory dummy data which does not cause data overwrite in the memory region according to the external write address signal to generate the internal write data train.
- According to another aspect of the present invention, a memory device having a flash memory is provided which receives an external address signal from a host system and communicates an external data train when storing data, and which includes a data input/output portion and a flash memory.
- The data input/output portion generates an internal main address and an internal sub-address corresponding to an external address.
- In the flash memory, a memory region holding a prescribed number of bits of data is erased at one time as the smallest unit in the data erase operation, the internal main address selects a memory region as a unit, the internal sub-address specifies a data transmission and reception start location within the memory region, and an internal data train containing a plurality of data elements can be received and transmitted.
- The storage capacity of the memory region is larger than the storage capacity corresponding to the number of data elements contained in the external data train.
- The data input/output portion adds to a lead address of the memory region a number corresponding to the non-negative integer multiple of the number of data elements contained in the external write data train to produce the internal sub-address.
- Thus, the main advantage of the present invention is that, when a flash memory for sector reading is used as a semiconductor device for data storage, the incorporation of a small-capacity buffer memory is advantageous with respect to the cost.
- Other advantages of the present invention are that the incorporation of a small-capacity buffer memory is advantageous with respect to the cost, and that data rewrite per medium sector is possible.
- The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
- FIG. 1 is a block diagram showing a schematic configuration of a
memory device 1 having a flash memory. - FIG. 2 is a memory map showing the correspondence between a medium sector address and an address of the flash memory in the first embodiment.
- FIG. 3 is a diagram relating to the description of the conversion of a medium sector address into a flash sector address and column address offset generation bits.
- FIG. 4 is a diagram showing the relation between a column address offset and the two lower bits of a medium sector address.
- FIG. 5 is a diagram showing the main flow of the processing of the memory device in the first embodiment.
- FIG. 6 is a flow chart representing in detail the read process of step S04 shown in FIG. 5.
- FIG. 7 is a diagram illustrating the relation between the steps of the read process shown in FIG. 6 and the respective blocks in the memory device in which the steps are performed.
- FIG. 8 is a flow chart illustrating in detail the write process in step S05 shown in FIG. 5.
- FIG. 9 is a diagram showing how each step of the write process shown in FIG. 8 is performed between a host system and a controller, and between the controller and a flash memory.
- FIG. 10 is a block diagram representing in detail a data
transfer control portion 8 shown in FIG. 1. - FIG. 11 is a timing diagram showing the manner of data transfer from the flash memory to the buffer memory.
- FIG. 12 is an operation waveform chart illustrating in detail the data write operation to the buffer memory shown in FIG. 11.
- FIG. 13 is a timing diagram showing the manner of data transfer from the buffer memory to the flash memory.
- FIG. 14 is an operation waveform chart relating to a more detailed description of the manner of data transfer from the buffer memory to the flash memory shown in FIG. 13.
- FIG. 15 is a block diagram showing a schematic configuration of a
memory device 51 of the second embodiment. - FIG. 16 is a memory map showing the correspondence between a medium sector address and a flash memory address in the second embodiment.
- FIG. 17 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and a start column address.
- FIG. 18 is a diagram showing the relation between a start column address and the two lower bits of the medium sector address.
- FIG. 19 is a conceptual diagram relating to the description of a start column address.
- FIG. 20 is an operational waveform chart relating to the description of the command setting and the address setting when reading data from the flash memory having a partial read/program function.
- FIG. 21 is a diagram showing an input waveform when writing data into the flash memory in the second embodiment.
- FIG. 22 is a diagram showing the main flow of the processing of the memory device in the second embodiment.
- FIG. 23 is a flow chart representing in detail the read process of step S104 shown in FIG. 22.
- FIG. 24 is a diagram illustrating the relation between the steps of the read process shown in FIG. 23 and the respective blocks in the memory device in which the steps are performed.
- FIG. 25 is a flow chart illustrating in detail the write process in step S105 shown in FIG. 22.
- FIG. 26 is a diagram showing how each step of the write process shown in FIG. 25 is performed between a host system and a controller, and between the controller and a flash memory.
- FIG. 27 is a block diagram representing in detail a column
address control portion 58 shown in FIG. 15. - The embodiments of the present invention will be described in detail below with reference to the drawings. In the drawings, some reference characters denote the same reference or corresponding portions.
- First Embodiment
- FIG. 1 is a block diagram showing a schematic configuration of a
memory device 1 having a flash memory. - In FIG. 1, a
memory device 1 is provided for transmitting to and receiving from ahost system 12 the external data to be stored.Memory device 1 includes a data input/output portion 9 for receiving a medium address from the host system to perform the address conversion and for performing the data conversion so as to allow the transmission and the reception of the external data between the memory device and the host system, and aflash memory 10 for performing the data transmission and reception according to an address signal converted by data input/output portion 9. Data input/output portion 9 performs the data conversion from the data to be input into or output fromflash memory 10 into the external data, and vice versa. - Data input/
output portion 9 includes ahost interface portion 2 for performing the data transfer with the host system, abuffer memory 4 having a capacity of 512 bytes for temporarily storing a portion of sector data of a flash memory to allowhost interface portion 2 to perform the data transfer withhost system 12, aflash interface portion 7 for controlling the data transmission and reception betweenbuffer memory 4 and the flash memory according to a command fromhost interface portion 2, and aflash memory 10 which is a semiconductor device for holding the data to be stored inmemory device 1. -
Flash interface portion 7 includes asequencer portion 6 for sending, to the flash memory according to the specification of the flash memory, a command for setting the operation such as the read or write operation and an address for specifying a memory region during the read or write operation, and a datatransfer control portion 8 for generating from a medium sector address provided from host system 12 a sector address and a column address offset of the flash memory. -
Flash memory 10 has a plurality of sectors, each of which having a capacity of 2084 bytes. When the sector address is specified,flash memory 10 can seriallyoutput 2048 bytes of data stored in the specified sector. - FIG. 2 is a memory map showing the correspondence between a media sector address and an address of the flash memory in the first embodiment.
- Shown in FIG. 2 is the memory map in the case in which medium sector capacity, or a sector capacity which is a unit by which
memory device 1 transmits and receives data at a time, is 512 bytes and the capacity of a sector offlash memory 10 is 2048 bytes. A one-fourth sector offlash memory 10 is assigned as a medium sector. - For instance, a
medium sector address 0h corresponds to flash memory column addresses 0h to 1FFh of a flashmemory sector address 0h. Amedium sector address 1h corresponds to flash memory column addresses 200h to 3FFh of flashmemory sector address 0h. Similarly, amedium sector address 2h corresponds to flash memory column addresses 400h to 5FFh of flashmemory sector address 0h. Amedium sector 3h corresponds to flash memory column addresses 600h to 7FFh of flashmemory sector address 0h. Thus, each flash memory sector address is divided into four regions, and the lead address of each divided region is assigned for a medium sector address. - FIG. 3 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and column address offset generation bits.
- As seen in FIG. 3, the14 higher bits MA15 to MA2 of a medium sector address are used as flash sector address bits SA13 to SA0. In addition, MA1 and MA0 which are the two lower bits in a medium sector address are used as column address offset generation bits C1 and C0, and a column address offset described below is generated from these column address offset generation bits.
- FIG. 4 is a diagram showing the relation between the column address offset and the two lower bits of the medium sector address.
- As seen in FIG. 4, when MA1 and MA0 are both 0's, the column address offset is set to 0h, and the transmission and the reception of 512 bytes of data which is the medium sector capacity take place between the buffer memory and the flash memory.
- When MA1 and MA0 are 0 and 1, respectively, the column address offset is set to 200h, and the data transmission and reception take place between the buffer memory and the flash memory.
- When MA1 and MA0 are 1 and 0, respectively, the column address offset is set to 400h, and the data transmission and reception take place between the buffer memory and the flash memory.
- When MA1 and MA0 are both 1's, the column address offset is set to 600h, and the data transmission and reception take place between the buffer memory and the flash memory.
- FIG. 5 is a diagram showing the main flow of the processing of the memory device in the first embodiment.
- As seen in FIG. 5, in step S01, the memory device waits for a request from the host system. Then step S02 determines whether a read request has been made. If the read request has been made, the read process is performed in step S04. When the read process is complete, a return is made to step S01 and once again the memory device waits for a request from the host system.
- If no read request has been made in step S02, step S03 is performed. Step S03 determines whether a write request has been made by the host system. If the write request has been made, the write process is performed in step S05. When the write process is complete, a return is made to step S01 and once again the memory device waits for a request from the host system.
- If no write request has been made in step S03, a return is made to step S01, and once again the memory device waits for a request from the host system.
- FIG. 6 is a flow chart representing in detail the read process of step S04 shown in FIG. 5.
- As seen in FIG. 6, the read process is started in step S11.
- In step S12, the memory device receives the medium sector address from the host system. Then, the address conversion is performed based on the medium sector address received, and the value of the column address offset shown in FIG. 4 is generated.
- Thereafter, in step S14, a sector read operation is performed from the flash memory. The data read out is written into the buffer memory based on the offset value in step S15. Then in step S16, an interrupt signal is sent to the host system, and in step S17 the data written into the buffer memory is sent as read data to the host system. The read operation ends in step S18.
- FIG. 7 is a diagram illustrating the relation between the steps of the read process shown in FIG. 6 and the respective blocks in the memory device in which the steps are performed.
- As seen in FIG. 7, a read request for the medium sector address is transmitted to a controller from the host system. The term “controller” refers to a portion including
host interface portion 2, flashinterface sequencer portion 6, and the buffer memory in FIG. 1. - Consequently, a sector address SA and an offset value of the flash memory is generated from the medium sector address in the controller. Then, a read command and sector address SA are transmitted to the flash memory. As a consequence, the sector read operation is performed in the flash memory, and 2048 bytes of data is sent successively to the controller as a flash interface data output. Then the controller takes out the 512 bytes data corresponding to the offset based on the medium sector address and transfers the data to the buffer memory.
- When the storing of data into the buffer memory is completed, the controller makes a read request for the data from the medium sector address, and the host system accepts an interrupt. Thereafter, the controller outputs data from the buffer memory, whereby the data read operation of the medium sector address is performed. Then the read operation is completed.
- FIG. 8 is a flow chart illustrating in detail the write process in step S05 shown in FIG. 5.
- As seen in FIG. 8, the write operation starts in step S21.
- Then, in step S22 the medium sector address transmitted from the host system is received by the memory device.
- In step S23, the memory device requests the host system to send data, and in step S24, the memory device receives the data from the host system. The data is written into the buffer memory in step S25.
- In step S26 an offset value is generated from the medium sector address received in step S22. Then, in step S27 a program command for the flash memory is set. In step S28 data from the buffer memory and the initial value data are combined, and the combined data is written into the flash memory at a prescribed timing.
- The write operation ends in step S29.
- FIG. 9 is a diagram showing how each step of the write process shown in FIG. 8 is performed between the host system and the controller, and between the controller and the flash memory.
- As seen in FIG. 9, first, a write request for the medium sector address is transmitted from the host system to the controller. The controller receives this request and makes a data write request for the medium sector address to the host system. In response, the host system writes the data into the medium sector address. The data is input into the buffer memory via the controller.
- In the controller, a sector address and an offset value of the flash memory are generated from the medium sector address which had been received. The program command and the sector address are transmitted to the flash memory.
- Consequently, the flash memory is rendered data writable. Moreover, according to a prescribed signal from the controller the stored 512 byte data is transferred from the buffer memory based on the offset value. Of the entire time period in which the write data is being transferred to the flash memory, the time period other than the time period in which data stored in the buffer memory is transferred involves the transfer of write data “FFh.” After the write data including the buffer memory data is input into the flash memory, the write operation ends after a prescribed wait time.
- Now, write data “FFh” will be described.
- Each memory cell in the flash memory is formed by an MOS transistor having a floating gate. Each memory cell holds data “1” or “0” depending on the state of the threshold voltage of the MOS transistor. In general, the state of the memory cell immediately after erasing the data of the memory cell corresponds to the held data “1.” When data “0” is written, the threshold voltage changes, and the state of the memory cell having the threshold voltage after the change corresponds to the held data “0.” On the other hand, when data “1” is written, the threshold voltages does not change. Therefore, even when data “1” is written into the memory cell which holds data “0” as the initial state, the held data does not change.
- Thus, although the data write operation is normally performed after the memory data is erased, “FFh” is written as the data without performing the erase operation in the first embodiment. “FFh” is one-byte data containing all “1” bits so that the flash memory retains the data it held before the write operation.
- FIG. 10 is a block diagram representing in detail a data
transfer control portion 8 shown in FIG. 1. - As seen in FIG. 10, data
transfer control portion 8 includes a flip-flop 22 for latching in synchronism with the rise of a clock signal SC a read sector enable signal RSE# generated inside the memory device, an ANDcircuit 24 for outputting as a reset signal RST the logical sum of the output from flip-flop 22 and a write sector enable signal WSE# generated inside the memory device, anSC counter 26 which is reset by reset signal RST and thereafter starts the count-up in response to the rise of clock signal SC, a medium sectoraddress latch portion 30 for latching a 16 bit medium sector address from the host system and for outputting the 14 higher bits as a sector address SA0 to SA15 tosequencer portion 6, and acomparator 32 for comparing the 2 higher bits of the 11 bit count value of the output from SC counter 26 with the 2 lower bits of the medium sector address latched by medium sectoraddress latch portion 30. -
Comparator 32 outputs a comparison result signal CMP that attains a low or logic “L” level when the 2 bit data from SC counter 26 matches the 2 bit data from medium sectoraddress latch portion 30. - Data
transfer control portion 8 further includes agate circuit 28 which receives the output from flip-flop 22, clock signal SC, and result signal CMP and outputs a write enable signal /WE#, and aselector 34 which receives the output frombuffer memory 4 and the fixed data “FFh” and outputs either of the received output frombuffer memory 4 or “FFh” to the flash memory according to comparison result signal CMP.Selector 34 outputs to the flash memory the output from the buffer memory when comparison signal CMP is at a logic “L” level, and outputs fixed data “FFh” to the flash memory when comparison signal CMP is at a high or logic “H” level. - For ease of description,
buffer memory 4 is illustrated additionally in FIG. 10.Buffer memory 4 receives the 9 lower bits of the 11 bit count value of SC counter 26 as an address signal ADR, write sector enable signal WSE# as an output enable signal /OE#, and the output ofgate circuit 28 as write enable signal /WE#, and, in response to these signals, holds data input DI from the flash memory, or sends data output DO to the flash memory viaselector 34. - FIG. 11 is a timing diagram showing the manner of data transfer from the flash memory to the buffer memory.
- As shown in FIG. 11, a data signal DATA is read from the flash memory according to clock signal SC from time T1. Since this read operation is performed sector by sector, normally 2048 bytes of data is read out continuously thereafter.
- Here, when the 2 lower bits (MA1, MA0) of the medium sector address specified by the host system are (0, 1), the data read out from the flash memory is not transferred to the buffer memory between time ti and time t2.
- From time t2 to time t3, while data corresponding to column addresses 200h to 3FFh is read out from the flash memory, this data is transferred to and retained in the buffer memory. This retained data is 512 bytes or one-fourth of 2048 bytes of the sector capacity read out from the flash memory.
- After time t3, data corresponding to
column address 400h and onward is read out successively. This data, however, is not retained in the buffer memory. - FIG. 12 is an operation waveform chart illustrating in detail the data write operation to the buffer memory shown in FIG. 11.
- As seen in FIGS. 10 and 12, at time to, read sector enable signal RSE# falls from a logic “H” level to a logic “L” level with the read request being made from the host system. Then, at time t1, reset signal RST falls from the logic “H” level to the logic “L” level, and the reset of
SC counter 26 is released. Thereafter, from time t1 to time t2, SC counter 26 counts up the 11 bit count value from 0h to 1FFh according to the input of clock signal SC. Similarly, address signal ADR, which is the 9 lower bits of the count value and is input into the buffer memory, changes from 0h to 1FFh. At this time, since the 2 higher bits of the count value input intocomparator 32 are (0, 0), while the 2 bits input from medium sectoraddress latch portion 30 are (0, 1), comparison result signal CMP is at the logic “H” level indicating a mismatch. Thus, from time t1 to time t2, the content of data input signal DI is not written intobuffer memory 4. - At time t2, the count value of
SC counter 26 attains 200h, and the 2 higher bits of the count value match the 2 bit signal input from medium sectoraddress latch portion 30. Accordingly, comparison result signal CMP falls from the logic “H” level to the “L” level. Comparison result signal CMP maintains the logic “L” level while the count value is between 200h to 3FFh. According to the change in this comparison result signal CMP,gate circuit 28 outputs clock signal SC as write enable signal /WE# to the buffer memory. Since write enable signal /WE# is input intobuffer memory 4, the input data,data 0h to data 1FFh, are written into the address indicated by address signal ADR at the leading edge of write enable signal /WE#. - Since the count value of
SC counter 26 is 400h or greater after time t3, comparison result signal CMP once again attains the logic “H” level, and data to be input thereafter is not written into the buffer memory. - FIG. 13 is a timing diagram showing the manner of data transfer from the buffer memory to the flash memory.
- As seen in FIG. 13, when medium sector address (MA1, MAO) is (0, 1), dummy data “FFh” is written into column addresses 0h to 1FFh of the flash memory from time t1 to time t2. The dummy data is the data corresponding to the initial value held immediately after the flash memory is erased. In general, data held inside the flash memory is not destroyed by writing such initial value data into the flash memory.
- Thus, the memory device according to the first embodiment is most suitable for use including, for instance, the temporary storage of digital camera images, the storage of acoustic signals of portable digital audio equipment, and the like, where stored data is erased one unit at a time, and thereafter, new data is added in order into the unit that was erased.
- From time t2 to time t3, data from the buffer memory is successively written into column addresses 200h to 3FFh of the flash memory. This data is 512 bytes corresponding to one-fourth of the sector capacity of the flash memory.
- After time t3, dummy data “FFh” is written as is the case between time t1 and time t2.
- FIG. 14 is an operation waveform chart relating to a more detailed description of the manner of data transfer from the buffer memory to the flash memory shown in FIG. 13.
- As seen in FIGS. 10 and 14, at time t0 write sector enable signal WSE# falls from the logic “H” level to the “L” level in response to the write request from the host system. Accordingly, reset signal RST falls from the logic “H” level to the logic “L” level, and the reset of
SC counter 26 is released. In addition, output enable input signal /OE# of the buffer memory falls from the “H” level to the “L” level, andbuffer memory 4 becomes accessible. - From time t1 to time t2, the data output signal output from
selector 34 is written into the flash memory in synchronism with the rise of clock signal SC. The count value corresponding to the write column address at this time is count up bySC counter 26. Since medium sector address (MA1, MA0) does not match the 2 higher bits ofSC counter 26 between time t1 and time t2, data output signal DO is fixed data “FFh” output byselector 34 when comparison result signal CMP is at the “H” level. - At time t2, comparison result signal CMP falls from the logic “H” level to the “L” level according to the change in the count value. Data at the address specified by address signal ADR is read from
buffer memory 4, and is transferred to the flash memory as data output signal DO viaselector 34. From then on until time t3, the data transfer from the buffer memory to the flash memory takes place. - When 512 bytes of data from
data 0h to data 1FFh is transferred, comparison result signal CMP rises from the “L” level to the “H” level according to the change in the count value at time t3 so that the data output signal once again attains fixed value “FFh” output byselector 34 when comparison result signal CMP is at the “H” level. - As described above, the memory device according to the first embodiment is most suitable for use including, for instance, the temporary storage of digital camera images, the storage of acoustic signals of portable digital audio equipment, and the like, where data is erased one unit at a time, and thereafter, new data is added in order into the unit that was erased.
- When medium sector capacity, which is the capacity unit for data transfer with the host system, is smaller than the capacity of a sector of the flash memory used, the capacity of the buffer memory for the temporary storage of data can be made smaller according to the medium sector capacity so that a memory device having an advantage with respect to the cost can be provided in constructing the hardware.
- Second Embodiment
- FIG. 15 is a block diagram showing a schematic configuration of a
memory device 51 of the second embodiment. - As seen in FIG. 15, a
memory device 51 is provided for transmitting to and receiving from ahost system 12 the external data to be stored.Memory device 51 includes a data input/output portion 59 for receiving a medium address from the host system to perform address conversion and for performing the data conversion so as to allow the transmission and the reception of the external data between the memory device and the host system, and aflash memory 60 for performing the data transmission and reception according to an address signal converted by data input/output portion 59. Data input/output portion 59 performs the data conversion from the data to be input into or output fromflash memory 60 into the external data, and vice versa. - Data input/
output portion 59 includes ahost interface portion 52 for performing the data transfer withhost system 12, abuffer memory 54 having a capacity of 512 bytes for temporarily storing storage data to allowhost interface portion 52 to perform the data transfer withhost system 12, and aflash interface portion 57 for controlling the data transmission and reception betweenbuffer memory 54 andflash memory 60 according to a command fromhost interface portion 52. -
Flash interface portion 57 includes asequencer portion 56 for sending, to the flash memory according to the specification of the flash memory, a command for setting the operation such as the read or write operation and an address for specifying a memory region during the read or write operation, and a columnaddress control portion 58 for generating from a medium sector address provided from host system 12 a sector address of the flash memory and a start column address for specifying the read start location of the column specified by the sector address. - In FIG. 15,
flash memory 60 has a partial read/program function in which the data read and write operations can be started from any column address of a sector. -
Flash memory 60 has a plurality of sectors, each of which having a capacity of 2048 bytes. When the sector address is specified,flash memory 60 can serially output the data corresponding to the specified sector alone in synchronism with a clock signal. Further, when a start column address is specified, the data corresponding to the column address of the specified sector up to the data corresponding to the final address of the sector can be serially output in synchronism with a clock signal. - FIG. 16 is a memory map showing the correspondence between a medium sector address and a flash memory address in the second embodiment.
- Since the memory map shown in FIG. 16 and the memory map used for the first embodiment shown in FIG. 2 are identical in mapping, the description thereof will not be repeated here.
- FIG. 17 is a diagram relating to the description of the conversion of a medium sector address into a flash memory sector address and a start column address.
- As seen in FIG. 17, the 14 higher bits MA15 to MA2 of a medium sector address are used as bits of a flash sector address SA13 to SA0. In addition, MA1 and MA0 which are two lower bits in a medium sector address are used as CA10 and CA9, respectively, in the start column address. Further, other bits in the start column address, CA1 and CA8 to CA0 are all set to “0h.”
- FIG. 18 is a diagram showing the relation between the start column address of the flash memory and the two lower bits of a medium sector address.
- As seen in FIG. 18, when MA1 and MA0 are both 0's, the start column address is set to 0h, and when MA1 and MA0 are 0 and 1, respectively, the start column address is set to 200h.
- When MA1 and MA0 are 1 and 0, respectively, the start column address is set to 400h, and when MA1 and MA0 are both 1's, the start column address is set to 600h. The address conversion is performed in column
address control portion 58 of FIG. 15, which is readily implemented by providing the wiring connection corresponding to FIG. 18. - FIG. 19 is a conceptual diagram relating to the description of a start column address.
- As seen in FIG. 19, when one sector contains 2048 bytes, column addresses of 0h to 7FFh exist corresponding to flash sector address SA. When start column address CA is set, the read operation is started, in synchronism with a clock signal, from the data of the column corresponding to the start column address in the set flash sector address SA being set.
- FIG. 20 is an operational waveform chart relating to the description of the command setting and the address setting when reading data from the flash memory having a partial read/program function.
- As seen in FIG. 20, at time t1, when the rise of write enable signal /WE# is detected while a command data enable signal /CDE# is at the “L” level, a read command is taken into the flash memory at the time of detection.
- At time t2, SA(1) which is the 8 lower bits of the sector address is taken into the flash memory at the leading edge of write enable signal /WE#. Then at time t3, SA(2) which is the 6 higher bits of the sector address is taken into the flash memory at the leading edge of write enable signal /WE#.
- Thereafter, at time t4, CA(1) which is the 8 lower bits of start column address CA is taken into the flash memory at the leading edge of write enable signal /WE#. Then at time t5, CA(2) which is the 4 higher bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#.
- After time t6, data is output from the flash memory from an address/data input/output terminal in synchronism with clock signal SC, starting with the data from the specified start column address.
- FIG. 21 is a diagram showing an input waveform when writing data into the flash memory in the second embodiment.
- As seen in FIG. 21, at time t1, when the leading edge of write enable signal /WE# is detected while command data enable input /CDE# is at the “L” level, a program command is taken into the flash memory.
- Thereafter, at time t2, SA(1) which is the 8 lower bits of the sector address is taken into the flash memory at the leading edge of write enable signal /WE#. Then at time t3, SA(2) which is the 6 higher bits of the sector address is taken into the flash memory at the leading edge of write enable signal /WE#.
- At time t4, CA(1) which is the 8 lower bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#. Then at time t5, CA(2) which is the 4 higher bits of the start column address is taken into the flash memory at the leading edge of write enable signal /WE#. Thus, the address setting is completed.
- After time t6, data is input serially in synchronism with clock signal SC starting with the data corresponding to the start column address of the sector address which was set, and the data is written into a corresponding address.
- The provision of a command or an address signal to the flash memory shown in FIGS. 20 and 21 is controlled by flash
interface sequencer portion 56 in FIG. 15. - FIG. 22 is a diagram showing the main flow of the processing of the memory device in the second embodiment.
- As shown in FIG. 22, the main flow of the processing of the memory device in the second embodiment differs from the flow shown in FIG. 5 in that read process step S04 of the first embodiment shown in FIG. 5 is replaced by step S104, and that write process step S05 is replaced by step S105. Other parts are identical to the flow shown in FIG. 5, and the description thereof will not be repeated.
- FIG. 23 is a flow chart representing in detail the read process of step S104 shown in FIG. 22.
- As seen in FIG. 23, the read operation is started in step S111.
- In step S112, the memory device receives a medium sector address from the host system. Then, in step S113, the received medium sector address is converted into sector address SA and start column address CA of the flash memory. In step S114, a partial read command of the flash memory is set, and sector address SA and start column address CA are also specified. Then in step S115, data is read from the flash memory and written into the buffer memory.
- When the write operation to the buffer memory is complete, an interrupt signal is sent to the host system in step S16.
- In step S117, data written into the buffer memory is sent as read data to the host system. In step S118, the read operation is completed.
- FIG. 24 is a diagram illustrating the relation between the steps of the read process shown in FIG. 23 and the respective blocks in the memory device in which the steps are performed.
- As seen in FIG. 24, a read request for a medium sector address is transmitted to a controller from the host system. The term “controller” refers to a portion including
host interface portion 52, flashinterface sequencer portion 56, and thebuffer memory 54 in FIG. 15. - Consequently, sector address SA and start column address CA of the flash memory are generated from the medium sector address in the controller. Then, the controller sends a read command, sector address SA and the start column address to the flash memory. Consequently, a partial read operation is performed in the flash memory, and 512 bytes of data is output to the buffer memory. When the data write operation to the buffer memory is completed, the controller makes a read request for data from the specified medium sector address to the host system. The data is read from the buffer memory to the host system, and the read operation is completed.
- FIG. 25 is a flow chart illustrating in detail the write process in step S105 shown in FIG. 22.
- As seen in FIG. 25, the write operation starts in step S121.
- Then, in step S122 the medium sector address transmitted from the host system is received by the memory device.
- In step S123, the memory device requests the host system to send data, and receives the data from the host system in step S124. The data is written into the buffer memory in step S125.
- In step S126 sector address SA and start column address CA of the flash memory are generated from the medium sector address received in step S122. Then, in step S127 a partial program command is set for the flash memory, and thereafter, sector address SA and start column address CA are specified.
- In step S128 the data is read from the buffer memory and is written into the flash memory. Then the data write operation ends in step S129.
- FIG. 26 is a diagram showing how each step of the write process shown in FIG. 25 is performed between the host system and the controller, and between the controller and the flash memory.
- As seen in FIG. 26, first, a write request for the medium sector address is transmitted from the host system to the controller. The controller receives this request and makes a data write request for the medium sector address to the host system. In response, the host system writes the data into the medium sector address. The data is input into the buffer memory via the controller.
- In the controller, sector address SA and start column address CA of the flash memory are generated from the medium sector address which had been received. The controller sets the program command, sector address /SA and start column address /CA for the flash memory. Consequently, the flash memory performs a partial program operation. The 512 bytes of data is input from the buffer memory to the flash memory, and the data write operation is performed starting with a prescribed column address. When 512 bytes of write data is input from the buffer memory to the flash memory, the write operation ends after a prescribed wait time.
- In the second embodiment, the address control of the buffer memory and the generation of the address signal provided to the flash memory from the medium sector address take place in column
address control portion 58 shown in FIG. 15. - FIG. 27 is a block diagram representing in detail a column
address control portion 58 shown in FIG. 15. - As seen in FIG. 27, column
address control portion 58 includes a flip-flop 72 for latching in synchronism with the rise of a clock signal SC a read sector enable signal RSE# generated inside the memory device, an ANDcircuit 74 for outputting as a reset signal RST the logical sum of the output from flip-flop 72 and a write sector enable signal WSE# generated inside the memory device, a 9bit SC counter 76 which is reset by reset signal RST and thereafter starts the count-up in response to the rise of clock signal SC, a medium sectoraddress latch portion 80 for latching a 16 bit medium sector address from the host system and for outputting the 14 bits SAO to SA13 of a sector address and 12 bits CA0 to CA11 of a start column address, tosequencer portion 6, and agate circuit 78 for receiving the output from flip-flop 72 and clock signal SC to output a write enable signal /WE#. - For ease of description,
buffer memory 54 is illustrated in FIG. 27.Buffer memory 54 receives the 9 bits of the count value of SC counter 76 as an address signal ADR, write sector enable signal WSE# as an output enable signal /OE#, and the output ofgate circuit 78 as write enable signal /WE#, and, in response to the these signals, receives and holds data input DI from the flash memory, or sends data output DO to the flash memory. - As described above, in the second embodiment, the capacity of the buffer memory for the temporary storage of data during the data transfer between the host interface portion and the host system can be made smaller than the capacity of one sector of the flash memory so that a memory device having an advantage with respect to the cost can be provided. In addition, the provision and the use of a flash memory capable of performing the partial read/program allow the read and rewrite operations one medium sector as a unit.
- Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09801999A JP4141581B2 (en) | 1999-04-05 | 1999-04-05 | Storage device with flash memory |
JP11-098019 | 1999-04-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020083262A1 true US20020083262A1 (en) | 2002-06-27 |
US6434658B1 US6434658B1 (en) | 2002-08-13 |
Family
ID=14208160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/395,941 Expired - Fee Related US6434658B1 (en) | 1999-04-05 | 1999-09-14 | Memory device operable with a small-capacity buffer memory and having a flash memory |
Country Status (2)
Country | Link |
---|---|
US (1) | US6434658B1 (en) |
JP (1) | JP4141581B2 (en) |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030147297A1 (en) * | 2002-02-07 | 2003-08-07 | Hitachi, Ltd. | Memory system |
US20050015679A1 (en) * | 2003-07-15 | 2005-01-20 | Edgar Brian T. | Simulated error injection system in target device for testing host system |
US20050160248A1 (en) * | 2004-01-15 | 2005-07-21 | Hitachi, Ltd. | Distributed remote copy system |
US20050213382A1 (en) * | 2004-03-29 | 2005-09-29 | Nec Electronics Corporation | Nonvolatile semiconductor memory and driving method the same |
WO2006065566A1 (en) * | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Scratch pad block |
WO2006065668A2 (en) | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
WO2006065655A1 (en) | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
WO2006065575A1 (en) * | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US20060136649A1 (en) * | 2004-12-17 | 2006-06-22 | Samsung Electronics Co., Ltd. | Flash memory data storage apparatus |
US20070076484A1 (en) * | 2005-10-04 | 2007-04-05 | Hyun-Duk Cho | Read operation for semiconductor memory devices |
US20070100893A1 (en) * | 2005-10-31 | 2007-05-03 | Sigmatel, Inc. | System and method for accessing data from a memory device |
US20080155182A1 (en) * | 2006-10-30 | 2008-06-26 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory system and data write method thereof |
US20090094389A1 (en) * | 2007-10-09 | 2009-04-09 | Seagate Technology, Llc | System and method of matching data rates |
US20140177358A1 (en) * | 2012-12-24 | 2014-06-26 | SK Hynix Inc. | Address counting circuit and semiconductor apparatus using the same |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9099187B2 (en) * | 2009-09-14 | 2015-08-04 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
CN108694982A (en) * | 2017-04-12 | 2018-10-23 | 意法半导体(鲁塞)公司 | The method being written in nonvolatile memory device and corresponding storage component part |
US10133686B2 (en) | 2009-09-07 | 2018-11-20 | Bitmicro Llc | Multilevel memory bus system |
US10149399B1 (en) | 2009-09-04 | 2018-12-04 | Bitmicro Llc | Solid state drive with improved enclosure assembly |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US20210263885A1 (en) * | 2018-04-04 | 2021-08-26 | Lawrence Livermore National Security, Llc | Massively parallel hierarchical control system and method |
US20220137862A1 (en) * | 2020-11-04 | 2022-05-05 | Kioxia Corporation | Memory card, memory system, and method of consolidating fragmented files |
US20230333763A1 (en) * | 2020-11-04 | 2023-10-19 | SK Hynix Inc. | Memory system and method of operating the same |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
JP4711531B2 (en) * | 2001-03-23 | 2011-06-29 | ルネサスエレクトロニクス株式会社 | Semiconductor memory device |
WO2003085677A1 (en) * | 2002-04-05 | 2003-10-16 | Renesas Technology Corp. | Nonvolatile storage device |
US7174348B1 (en) * | 2002-11-26 | 2007-02-06 | Unisys Corporation | Computer program having an object module and a software development tool integration module which automatically interlink artifacts generated in different phases of a software project |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
KR100528482B1 (en) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | Flash memory system capable of inputting/outputting sector dara at random |
KR100606242B1 (en) * | 2004-01-30 | 2006-07-31 | 삼성전자주식회사 | Volatile Memory Device for buffering between non-Volatile Memory and host, Multi-chip packaged Semiconductor Device and Apparatus for processing data using the same |
JP4713867B2 (en) * | 2004-09-22 | 2011-06-29 | 株式会社東芝 | Memory controller, memory device, and memory controller control method |
US7395404B2 (en) * | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
KR100660553B1 (en) | 2005-10-18 | 2006-12-22 | 삼성전자주식회사 | Onenand flash memory device capable of increasing data burst frequency |
JP4661748B2 (en) * | 2006-09-22 | 2011-03-30 | Tdk株式会社 | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
JP4498341B2 (en) * | 2006-11-20 | 2010-07-07 | 株式会社東芝 | Memory system |
KR100898653B1 (en) * | 2007-07-25 | 2009-05-22 | 주식회사 하이닉스반도체 | Flash memory device and method of programming the same |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137634A (en) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | Flash disk card |
JPH08212019A (en) * | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | Semiconductor disk device |
US5765002A (en) * | 1995-03-13 | 1998-06-09 | Intel Corporation | Method and apparatus for minimizing power consumption in a microprocessor controlled storage device |
JPH09244961A (en) * | 1996-03-08 | 1997-09-19 | Mitsubishi Electric Corp | Flash ata-pc card |
JPH10207726A (en) | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | Semiconductor disk device |
JP3544859B2 (en) * | 1998-05-11 | 2004-07-21 | 富士通株式会社 | Secondary storage device using nonvolatile semiconductor memory |
-
1999
- 1999-04-05 JP JP09801999A patent/JP4141581B2/en not_active Expired - Fee Related
- 1999-09-14 US US09/395,941 patent/US6434658B1/en not_active Expired - Fee Related
Cited By (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450457B2 (en) | 2002-02-07 | 2008-11-11 | Solid State Storage Solutions Llc | Memory system comprising a controller managing independent data transfer between input-output terminal, synchronous dynamic random access memory, and flash memory |
US6744692B2 (en) * | 2002-02-07 | 2004-06-01 | Renesas Technology Corp. | Memory system's improvement in efficiency of data process between host, buffer memory and nonvolatile memory |
US7206233B2 (en) | 2002-02-07 | 2007-04-17 | Renesas Technology Corp. | Memory system with parallel data transfer between host, buffer and flash memory |
US20050162929A1 (en) * | 2002-02-07 | 2005-07-28 | Renesas Technology Corp. | Memory system |
US20070285997A1 (en) * | 2002-02-07 | 2007-12-13 | Shigemasa Shiota | Memory system |
US20030147297A1 (en) * | 2002-02-07 | 2003-08-07 | Hitachi, Ltd. | Memory system |
US8036040B2 (en) | 2002-02-07 | 2011-10-11 | Solid State Storage Solutions Llc | Memory system with improved efficiency of data transfer between host, buffer, and nonvolatile memory |
US20100054069A1 (en) * | 2002-02-07 | 2010-03-04 | Solid State Storage Solutions Llc | Memory system |
US20050015679A1 (en) * | 2003-07-15 | 2005-01-20 | Edgar Brian T. | Simulated error injection system in target device for testing host system |
US7406628B2 (en) * | 2003-07-15 | 2008-07-29 | Seagate Technology Llc | Simulated error injection system in target device for testing host system |
US20050160248A1 (en) * | 2004-01-15 | 2005-07-21 | Hitachi, Ltd. | Distributed remote copy system |
US7600087B2 (en) * | 2004-01-15 | 2009-10-06 | Hitachi, Ltd. | Distributed remote copy system |
US7355895B2 (en) * | 2004-03-29 | 2008-04-08 | Nec Electronics Corporation | Nonvolatile semiconductor memory and driving method the same |
US20050213382A1 (en) * | 2004-03-29 | 2005-09-29 | Nec Electronics Corporation | Nonvolatile semiconductor memory and driving method the same |
US20060155921A1 (en) * | 2004-12-16 | 2006-07-13 | Gorobets Sergey A | Non-volatile memory and method with multi-stream update tracking |
EP2336891A1 (en) * | 2004-12-16 | 2011-06-22 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
WO2006065566A1 (en) * | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Scratch pad block |
WO2006065668A3 (en) * | 2004-12-16 | 2006-12-07 | Sandisk Corp | Non-volatile memory and method with multi-stream updating |
US20060155920A1 (en) * | 2004-12-16 | 2006-07-13 | Smith Peter J | Non-volatile memory and method with multi-stream updating |
US7366826B2 (en) | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7386655B2 (en) | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
TWI393140B (en) * | 2004-12-16 | 2013-04-11 | Sandisk Technologies Inc | Methods of storing data in a non-volatile memory |
KR101202620B1 (en) | 2004-12-16 | 2012-11-19 | 쌘디스크 코포레이션 | Non-volatile memory and method with multi-stream updating |
US7412560B2 (en) | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
CN101124555B (en) * | 2004-12-16 | 2012-05-09 | 桑迪士克股份有限公司 | Non-volatile memory and method with multi-stream updating |
US20080301359A1 (en) * | 2004-12-16 | 2008-12-04 | Peter John Smith | Non-Volatile Memory and Method With Multi-Stream Updating |
US8151035B2 (en) | 2004-12-16 | 2012-04-03 | Sandisk Technologies Inc. | Non-volatile memory and method with multi-stream updating |
KR101089576B1 (en) | 2004-12-16 | 2011-12-07 | 쌘디스크 코포레이션 | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
WO2006065668A2 (en) | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
WO2006065575A1 (en) * | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
WO2006065655A1 (en) | 2004-12-16 | 2006-06-22 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7467251B2 (en) * | 2004-12-17 | 2008-12-16 | Samsung Electronics Co., Ltd. | Flash memory data storage apparatus |
US20060136649A1 (en) * | 2004-12-17 | 2006-06-22 | Samsung Electronics Co., Ltd. | Flash memory data storage apparatus |
US7571276B2 (en) * | 2005-10-04 | 2009-08-04 | Samsung Electronics Co., Ltd. | Read operation for semiconductor memory devices |
US20070076484A1 (en) * | 2005-10-04 | 2007-04-05 | Hyun-Duk Cho | Read operation for semiconductor memory devices |
US20070100893A1 (en) * | 2005-10-31 | 2007-05-03 | Sigmatel, Inc. | System and method for accessing data from a memory device |
US20080155182A1 (en) * | 2006-10-30 | 2008-06-26 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory system and data write method thereof |
US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
US20090094389A1 (en) * | 2007-10-09 | 2009-04-09 | Seagate Technology, Llc | System and method of matching data rates |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US10120586B1 (en) | 2007-11-16 | 2018-11-06 | Bitmicro, Llc | Memory transaction with reduced latency |
US10149399B1 (en) | 2009-09-04 | 2018-12-04 | Bitmicro Llc | Solid state drive with improved enclosure assembly |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US10133686B2 (en) | 2009-09-07 | 2018-11-20 | Bitmicro Llc | Multilevel memory bus system |
US9099187B2 (en) * | 2009-09-14 | 2015-08-04 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9484103B1 (en) * | 2009-09-14 | 2016-11-01 | Bitmicro Networks, Inc. | Electronic storage device |
US10082966B1 (en) | 2009-09-14 | 2018-09-25 | Bitmicro Llc | Electronic storage device |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US10180887B1 (en) | 2011-10-05 | 2019-01-15 | Bitmicro Llc | Adaptive power cycle sequences for data recovery |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9996419B1 (en) | 2012-05-18 | 2018-06-12 | Bitmicro Llc | Storage system with distributed ECC capability |
US20140177358A1 (en) * | 2012-12-24 | 2014-06-26 | SK Hynix Inc. | Address counting circuit and semiconductor apparatus using the same |
US9336842B2 (en) * | 2012-12-24 | 2016-05-10 | SK Hynix Inc. | Address counting circuit and semiconductor apparatus using the same |
US9977077B1 (en) | 2013-03-14 | 2018-05-22 | Bitmicro Llc | Self-test solution for delay locked loops |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US10423554B1 (en) | 2013-03-15 | 2019-09-24 | Bitmicro Networks, Inc | Bus arbitration with routing and failover mechanism |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9934160B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Llc | Bit-mapped DMA and IOC transfer with dependency table comprising plurality of index fields in the cache for DMA transfer |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US10013373B1 (en) | 2013-03-15 | 2018-07-03 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US10210084B1 (en) | 2013-03-15 | 2019-02-19 | Bitmicro Llc | Multi-leveled cache management in a hybrid storage system |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US10042799B1 (en) | 2013-03-15 | 2018-08-07 | Bitmicro, Llc | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
CN108694982A (en) * | 2017-04-12 | 2018-10-23 | 意法半导体(鲁塞)公司 | The method being written in nonvolatile memory device and corresponding storage component part |
US10732894B2 (en) * | 2017-04-12 | 2020-08-04 | Stmicroelectronics (Rousset) Sas | Method of writing in a non-volatile memory device and corresponding non-volatile memory device |
US20210263885A1 (en) * | 2018-04-04 | 2021-08-26 | Lawrence Livermore National Security, Llc | Massively parallel hierarchical control system and method |
US11947470B2 (en) * | 2018-04-04 | 2024-04-02 | Lawrence Livermore National Security, Llc | Massively parallel hierarchical control system and method |
US20220137862A1 (en) * | 2020-11-04 | 2022-05-05 | Kioxia Corporation | Memory card, memory system, and method of consolidating fragmented files |
US20230333763A1 (en) * | 2020-11-04 | 2023-10-19 | SK Hynix Inc. | Memory system and method of operating the same |
US11847341B2 (en) * | 2020-11-04 | 2023-12-19 | Kioxia Corporation | Memory card, memory system, and method of consolidating fragmented files |
Also Published As
Publication number | Publication date |
---|---|
JP2000293427A (en) | 2000-10-20 |
JP4141581B2 (en) | 2008-08-27 |
US6434658B1 (en) | 2002-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6434658B1 (en) | Memory device operable with a small-capacity buffer memory and having a flash memory | |
USRE50067E1 (en) | Storage device including flash memory and capable of predicting storage device performance based on performance parameters | |
US5548741A (en) | IC memory card system having a host processor selectively operable with an IC memory card including either an SRAM or an EEPROM | |
US6525952B2 (en) | Recording system, data recording apparatus, memory apparatus, and data recording method | |
EP0712067B1 (en) | Flash disk card | |
KR102641521B1 (en) | Key-value storage device and operating method thereof | |
US7039781B2 (en) | Flash memory apparatus and method for merging stored data items | |
US7555629B2 (en) | Memory card providing hardware acceleration for read operations | |
US6477632B1 (en) | Storage device and accessing method | |
US7245527B2 (en) | Nonvolatile memory system using magneto-resistive random access memory (MRAM) | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
JPH08263361A (en) | Flash memory card | |
JP4874588B2 (en) | Storage device and host device | |
JP4034971B2 (en) | Memory controller and memory system device | |
US20080209161A1 (en) | Storage device and method of mapping a nonvolatile memory based on a map history | |
US5724544A (en) | IC memory card utilizing dual eeproms for image and management data | |
US20070047308A1 (en) | Memory controller, flash memory system and control method for flash memory | |
CN114328297A (en) | Mapping table management method, memory control circuit unit and memory storage device | |
CN100437458C (en) | Storage device and host apparatus | |
TWI793993B (en) | Memory system and memory control method | |
KR100538338B1 (en) | Method for Uniformly Distributing Memory Blocks of Flash Memory and Data Storage Device Using The Method | |
JP4731584B2 (en) | Storage device with flash memory | |
JP2003178280A (en) | Memory card | |
JP2007299142A (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and method for writing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MITSUBISHI DENKI KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FUKUZUMI, TOMOYA;REEL/FRAME:010248/0031 Effective date: 19990903 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: RENESAS TECHNOLOGY CORP.,JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MITSUBISHI DENKI KABUSHIKI KAISHA;REEL/FRAME:024066/0781 Effective date: 20100304 |
|
AS | Assignment |
Owner name: RENESAS ELECTRONICS CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MITSUBISHI DENKI KABUSHIKI KAISHA;REEL/FRAME:025980/0219 Effective date: 20110307 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20140813 |