US6639843B2 - Semiconductor memory device with block-unit erase type nonvolatile memory - Google Patents

Semiconductor memory device with block-unit erase type nonvolatile memory Download PDF

Info

Publication number
US6639843B2
US6639843B2 US10/207,379 US20737902A US6639843B2 US 6639843 B2 US6639843 B2 US 6639843B2 US 20737902 A US20737902 A US 20737902A US 6639843 B2 US6639843 B2 US 6639843B2
Authority
US
United States
Prior art keywords
data
erase
block
conversion table
logical
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.)
Expired - Lifetime
Application number
US10/207,379
Other versions
US20030043634A1 (en
Inventor
Sigenori Miyauchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Assigned to MITSUBISHI DENKI KABUSHIKI KAISHA reassignment MITSUBISHI DENKI KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MIYAUCHI, SHIGENORI
Publication of US20030043634A1 publication Critical patent/US20030043634A1/en
Application granted granted Critical
Publication of US6639843B2 publication Critical patent/US6639843B2/en
Assigned to RENESAS ELECTRONICS CORPORATION reassignment RENESAS ELECTRONICS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MITSUBISHI DENKI KABUSHIKI KAISHA
Assigned to RENESAS ELECTRONICS CORPORATION reassignment RENESAS ELECTRONICS CORPORATION CHANGE OF ADDRESS Assignors: RENESAS ELECTRONICS CORPORATION
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Definitions

  • the present invention generally relates to a semiconductor memory device and, more particularly, to a semiconductor memory device having a nonvolatile memory of a block-unit erase type mounted thereon such as a flash memory which can erase data in predetermined units and which can necessary and optimum data management in a data write operation.
  • data transfer is performed in units of 512 bytes between a semiconductor memory device using a nonvolatile memory and an external information processing device such as a host computer terminal (to be referred to as a “host” hereinafter).
  • a host an external information processing device
  • data erase is performed in units of erase blocks, i.e., which are predetermined data units of several kilo bytes to several tens kilo bytes.
  • the size of the erase block unit is considerably larger than that of the data transfer unit (512 byte).
  • an erase block size of the nonvolatile memory in the semiconductor memory device is not equal to a data input/output unit size required by a host
  • data transfer between the host and the semiconductor memory device is performed in a manner such that the host gives a read/write request (command) to the semiconductor memory device with designation of an address representing a position in a storage region for the subject data.
  • a storage device using a storage medium such as a hard disk on which data can be overwritten data is overwritten to a storage region corresponding to a received address in a magnetic disk to perform a data write process.
  • data cannot be generally overwritten in a nonvolatile memory such as a flash memory for use in the semiconductor memory device.
  • an erase operation is always required to write data. For this reason, taking account of the number of times of the erase operations being limited, a process such as an address conversion process for data management is required.
  • the semiconductor memory device When data held in a nonvolatile memory is overwritten, an entire erase block including the data must be overwritten.
  • the semiconductor memory device is provided with a conversion table storage unit (RAM) for storing an address conversion table.
  • This address conversion table is used to correlate between logical sector addresses (logical sector numbers) transmitted from a host and physical sector addresses (physical sector numbers) in the nonvolatile memory.
  • a data write operation in the case where data has been previously written in a target sector of a sector number designated by a host, an unused sector is searched, and subject data is written in the searched unused sector.
  • the sector number (logical sector address) designated by the host since the data is written in the sector of the number different from the sector number designated by the host, the sector number (logical sector address) designated by the host must be converted into the number (physical sector number) of the searched sector in which the data is actually written.
  • the address conversion table is included in the semiconductor memory device.
  • an original erase block including the data to be overwritten is not processed, new data is written in a vacant region in a nonvolatile memory together with the data of the original erase block, and an address conversion table is overwritten to correspond to the new erase block. Thereafter, with reference to the address conversion table, a logical sector address sent from the host can be correlated to a physical sector address in the nonvolatile memory, so that the data in the nonvolatile memory can be accessed.
  • a method is disclosed in Japanese Unexamined Patent Laid-Open Publication No. 8-212019.
  • a quotient obtained by dividing a logical (sector) address designated from the host by the number of sectors which can be held in one erase block in a nonvolatile memory is set as a logical block address, and a residual thereof is set as an offset.
  • the logical (sector) address means a designated sector address transmitted from the host, and one sector is given to a block having, e.g., 512 bytes.
  • the offset is not changed, and the logical block address (i.e., logical block number) is converted into a physical block address (i.e., erase block number) by using the address conversion table, so that data can be are managed.
  • This address conversion method has a following advantage. That is, even though a semiconductor memory device has a large capacity, an offset is shared by sectors to make it possible to reduce data required for the address conversion table.
  • the present invention has been made to solve the above problem, and has an object to provide a semiconductor memory device having a block-unit erase type nonvolatile memory mounted thereon to perform necessary and optimum data management in a data write process and to shorten process time required for arranging unnecessary data and keep a data write rate constant even though data are written in units of sectors or data are written at random in a plurality of erase blocks.
  • a first aspect of the present invention provides a semiconductor memory device having a nonvolatile memory of which an erase block size is not equal to a data access size of a host section.
  • the semiconductor memory device includes a CPU which calculates a quotient and a residual through dividing a logical sector address given by the host section for a data transfer by a predetermined number of sectors possibly held in one erase block.
  • the quotient is used as a logical block number and the residual is used as an offset in a logical block.
  • the semiconductor memory device further includes: an address conversion table storage portion which holds an address conversion table used for converting the logical block number into an erase block number of the nonvolatile memory; and a conversion table creating unit which creates the address conversion table onto the address conversion table storage portion by dispersively storing pieces of address conversion table information in each of the erase blocks and reading out the logical block numbers from the erase blocks.
  • the CPU writes data received from the host section into a vacant erase block of the erase blocks in a data writing operation, and the CPU has a storage region for storing a used address of the vacant erase block and two physical block addresses corresponding to one logical block address.
  • a second aspect of the present invention provides a semiconductor memory device having a nonvolatile memory portion of a block-unit erase type for sending and receiving data to and from a host section.
  • the semiconductor memory device includes an arithmetic processing unit which entirely controls arithmetic processes of the semiconductor memory device and calculates logical block numbers from logical sector addresses given by the host section, and the nonvolatile memory portion includes a plurality of nonvolatile memories for dispersively storing data.
  • the semiconductor memory device further includes a conversion table storage portion which holds an address conversion table for converting the calculated logical block numbers into physical addresses serving as erase block numbers of the nonvolatile memories.
  • the arithmetic processing unit obtains the logical block numbers and offsets in logical blocks by calculating quotients and residuals, respectively, through dividing the logical sector addresses by a predetermined number of sectors possibly held in one erase block.
  • the address conversion table holds the erase block numbers of the nonvolatile memories corresponding to the calculated logical block numbers.
  • Each of the nonvolatile memories is divided into a plurality of erase blocks, and data erase is performed in units of the erase blocks, and pieces of address conversion table information are dispersively stored in each of the erase blocks, and the arithmetic processing unit reads out the logical block numbers from the erase blocks to thereby create the address conversion table on a RAM region of the conversion table storage portion.
  • necessary and optimum data management can be performed in a data write process, and even though data are written in units of sectors or data are written at random in a plurality of erase blocks, process time for arranging unnecessary data can be shortened, and a data write rate can be kept constant, and the process time can be reduced.
  • FIG. 1 is a block diagram showing the schematic configuration of a data processing system which inputs and outputs data between a semiconductor memory device according to the present invention and a host;
  • FIG. 2 is a block diagram of one embodiment of a semiconductor memory device according to the present invention.
  • FIG. 3 is a diagram showing an address conversion table of a semiconductor memory device according to the present invention.
  • FIG. 4A is a diagram typically showing a nonvolatile memory of a semiconductor memory device according to the present invention
  • FIG. 4B is a diagram typically showing a data format in an erase block in FIG. 4A;
  • FIG. 5 is a diagram typically showing a parameter management region of the semiconductor memory device according to the present invention.
  • FIG. 6 is a flow chart showing a data write operation of the semiconductor memory device according to the present invention.
  • FIG. 7 is a flow chart showing a data write operation of the semiconductor memory device according to the present invention.
  • FIG. 8 is a flow chart showing a data read operation of the semiconductor memory device according to the present invention.
  • FIG. 1 shows a schematic configuration of a data transfer process system which performs data transfer between a host 9 and a semiconductor memory device 10 having a block-unit erase type nonvolatile semiconductor memory according to Embodiment 1 of the present invention.
  • the semiconductor memory device 10 includes an interface circuit 11 , a central processing unit (CPU) 12 , a conversion table storage portion 13 , a sector buffer portion 15 for temporarily holding data, a memory control circuit 16 , and a nonvolatile memory assembly 17 for storing data.
  • CPU central processing unit
  • the interface circuit 11 inputs and outputs data with the host 9 , and the central processing unit (CPU) 12 integrally controls various arithmetic processes of the entire semiconductor memory device 10 .
  • the conversion table storage portion 13 is constituted by a buffer RAM, and holds an address conversion table for converting a logical sector address designated by the host 9 into a physical sector address of the nonvolatile memory assembly 17 .
  • the address conversion table storage portion may be constituted by an SRAM.
  • FIG. 2 shows a block configuration of a preferred Embodiment 2 of the semiconductor memory device 10 having a nonvolatile semiconductor memory according to the present invention.
  • the central processing unit 12 is a central controller unit constituted by a CPU (microprocessor).
  • the CPU 12 performs various arithmetic processes and integral control of the entire operation of the semiconductor memory device 10 .
  • the CPU 12 operates according to a program code stored in a specific region in a ROM built in the CPU or in a nonvolatile semiconductor memory.
  • the sector buffer portion 15 is constituted by, e.g., two sector buffers 15 a and 15 b (which may be also referred to as “buffer memories”) used to temporarily store data and to input/output data.
  • the nonvolatile memory assembly 17 is constituted by a plurality of nonvolatile memories 17 a to 17 d for storing data.
  • the two sector buffers which mediate data transfer between the host terminal and the nonvolatile memory are the first and second sector buffers ( 15 a and 15 b ) each having a capacity corresponding to one sector size of the nonvolatile memory.
  • a data transfer process between the host terminal and the sector buffer and a data transfer process between the nonvolatile memory and the sector buffer may be performed by selecting different buffers of the first and second sector buffers. More specifically, when one sector buffer (e.g. 15 a ) gives and receives data of one sector to/from the host terminal, the other sector buffer ( 15 b ) gives and receives data of different one sector to/from the nonvolatile memory.
  • the memory control circuit 16 controls the nonvolatile memories 17 a to 17 d on the basis of an instruction from the CPU 12 to generate various control signals required to control data transfer.
  • the sector buffers ( 15 a , 15 b ) are controlled to give and receive data of one sector to/from the nonvolatile memories.
  • control means such as a memory control circuit 16 may be controlled to apply a read/write command to a block of a nonvolatile memory in response to a command of data reading/writing sent from the host terminal, so that the control means sequentially gives and receives data between the host and the nonvolatile memory through the sector buffers every sector data.
  • the control means may be constituted to hold a control level to the nonvolatile memory such that, after one sector data is transferred, the following sector data can be continuously transferred.
  • an ECC circuit 14 for processing an error correction code is arranged to improve data reliability in a data transfer process.
  • the error correction means 14 for correcting and controlling an error of stored data may be arranged, and redundant data for error correction may also be stored immediately after respective sector data.
  • error correction means when data is read from the nonvolatile semiconductor memory 17 to the buffer 15 , sector data and redundant data are transferred to the error correction means in parallel with the data reading. When an correctable error is detected, the data held on the buffer is corrected.
  • sector data is transferred to the error correction means in parallel with the data writing to generate redundant data, and the generated redundant data can also be transferred to the nonvolatile semiconductor memory.
  • the data error correction control means is added, so that the reliability of data can be more improved.
  • the central processing unit (CPU) 12 , ECC circuit 14 , and memory control circuit 16 may be integrated with each other as one control block configuration.
  • FIG. 3 shows details of an address conversion table held in the conversion table storage portion 13 .
  • the address conversion table includes erase block numbers (i.e., physical block addresses) PBN (PBN 0 , PBN 1 , PBN 2 , . . . ) of nonvolatile memories corresponding to logical block numbers LBN (LN 0 , LBN 1 , LBN 2 , . . . ) which are calculated by the CPU 12 on the basis of logical sector addresses LSA given by the host. Offsets PBNfs in the erase blocks are obtained from offsets LBNOfs in the logical blocks.
  • PBN physical block addresses
  • the address conversion table is created by the CPU 12 when a power supply of the semiconductor memory device 10 is turned on, and is held in the conversion table storage portion 13 . More specifically, pieces of address conversion table information are dispersively stored in the erase blocks, respectively.
  • the logical block numbers LBN required to create the address conversion table are read from the erase blocks by the CPU to structure the address conversion table on the RAM of the conversion table storage portion 13 .
  • FIG. 4A shows a block configuration model of each of the nonvolatile memories 17 a to 17 d.
  • the internal structure of each nonvolatile memory is divided into a plurality of erase blocks 0 to n (each erase block is indicated by a reference number 30 ), and the data erase is performed in units of erase blocks.
  • FIG. 4B shows a schematic configuration model of an internal data format of each of the erase blocks 30 .
  • each of the erase blocks 30 has data storage regions 31 , ECC data storage regions 32 , and logical block number (LBN) storage regions 33 as a plurality of combinations, respectively.
  • the CPU 12 reads the logical block numbers LBN in the erase blocks 0 to n from the logical block number (LBN) storage regions 33 , so that an address conversion table can be created.
  • the values of the logical block numbers LBN in one erase block 30 are all equal.
  • the RAM region of the CPU 12 has a parameter management region required for data management according to the present invention.
  • FIG. 5 shows a schematic configuration model of the parameter management region 40 .
  • the parameter management region 40 includes a vacant erase block number storage region 41 which stores a vacant erase block number at which no data is stored, a next logical block number (nLBN) storage region 42 which stores a logical block number corresponding to write data, a next physical block number (nPBN) storage region 43 which is used to write data, a second next physical block number (nnPBN) storage region 44 which is used when a next physical block is written with data halfway, and a next erase block unused offset (ST) storage region 45 which represents a minimum offset which is not written in the next physical block.
  • nLBN next logical block number
  • nPBN next physical block number
  • ST next erase block unused offset
  • an address conversion table is created by the CPU 12 to be stored in the conversion table storage portion 13 when the semiconductor memory device 10 is powered on.
  • step S 1 a logical sector address LSA is received from the host, and a logical block number LBN and an offset LBNOfs are calculated by the CPU 12 to be obtained as the quotient and the residual of the division, respectively.
  • an erase block number PBN corresponding to the logical block number LBN is calculated by using the address conversion table in step S 3 .
  • a next erase block unused offset (ST) and a next physical block number (nPBN) are checked in step S 4 , it is decided in step S 5 whether the next physical block number (nPBN) data exists or not.
  • next physical block number (nPBN) data exist (Yes in step S 5 )
  • the offset LBNOfs in the logical block and the next erase block unused offset ST are compared with each other in size in steps S 7 and S 14 .
  • step S 18 It is decided in step S 18 whether the next erase block unused offset ST exceeds the range of the erase block or not.
  • the erase block number PBN is erased in step S 19 and registered in the vacant erase block number storage region 41 .
  • step S 20 the erase block number PBN registered in the address conversion table is rewritten by the next physical block number nPBN and the address conversion table is updated.
  • step S 7 When it is decided in step S 7 that the offset LBNOfs in the logical block is smaller than the next erase block unused offset ST (LBNOfs ⁇ ST), a new erase block is secured from the vacant erase block number storage region 41 in step S 8 .
  • the erase block is set as a second next physical block number (nnPBN).
  • the data in the range of offsets 0 to (LBNOfs ⁇ 1) of the erase block is copied (programmed) from nPBN to nnPBN (step S 9 ), and buffer data is programmed in nnPBN and LBNOfs (step S 10 ).
  • Data in the range of (LBNOfs+1) to (ST ⁇ 1) is copied (programmed) from the block number nPBN to the block number nnPBN in step S 11 , and the block number nPBN is erased in step S 12 and registered in the vacant erase block number storage region 41 , and the nnPBN is registered in the (nPBN) storage region 43 in step S 13 .
  • step S 21 it is decided in step S 21 whether the transfer is completed or not.
  • the logical sector address LSA is updated in step S 22 , and the control flow returns to the process in step S 1 .
  • the logical sector address LSA is received from the host in step S 71 , a logical block number LBN and an offset LBNOfs in a logical block are calculated by the CPU 12 .
  • An erase block number PBN corresponding to the logical block number LBN is calculated by using an address conversion table in step S 72 .
  • ST next erase block unused offset
  • nPBN next physical block number
  • step S 75 When the block number nPBN data does not exist, data are read from the block number PBN and the offset LBNOfs in the nonvolatile memory into the sector buffer portion 15 according to the address conversion in step S 77 .
  • step S 75 it is decided in step S 75 whether the offset LBNOfs in the logical block is smaller than the next erase block unused offset ST.
  • the control flow shifts to the process in step S 77 .
  • step S 76 the process of reading data from the block number and the offset LBNOfs in the nonvolatile memory is continued in step S 76 .
  • Data transfer from the buffer unit to the host is performed in step S 78 , and it is checked in step S 79 whether the transfer is completed or not.
  • the logical sector address LSA is updated in step S 80 , the control flow returns to the process in step S 71 .
  • a semiconductor memory device having a block-unit erase type nonvolatile memory which can perform necessary and optimum data management in a data write process.
  • process time for arranging unnecessary data can be reduced, and a data write rate can be kept constant.
  • An improvement in reliability of data can be achieved by error correction without deteriorating the above advantages.

Abstract

A CPU calculates a logical block number (LBN) based on a logical sector address (LSA) given by a host and converts the logical block number into a physical address (PBN) of a nonvolatile memory using an address conversion table. Pieces of address conversion table information are dispersively stored in erase blocks (30), and logical block numbers are read from the erase blocks in a power-on state to create the address conversion table on a RAM. When writing data from the host, the data is written in a vacant erase block, and an address of the used vacant erase block is stored by a CPU.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to a semiconductor memory device and, more particularly, to a semiconductor memory device having a nonvolatile memory of a block-unit erase type mounted thereon such as a flash memory which can erase data in predetermined units and which can necessary and optimum data management in a data write operation.
2. Description of the Prior Art
In general, data transfer is performed in units of 512 bytes between a semiconductor memory device using a nonvolatile memory and an external information processing device such as a host computer terminal (to be referred to as a “host” hereinafter). On the other hand, in the nonvolatile memory mounted on the semiconductor memory device, data erase is performed in units of erase blocks, i.e., which are predetermined data units of several kilo bytes to several tens kilo bytes. The size of the erase block unit is considerably larger than that of the data transfer unit (512 byte).
In a semiconductor memory device in which an erase block size of the nonvolatile memory in the semiconductor memory device is not equal to a data input/output unit size required by a host, when a data write process or the like is performed, data transfer between the host and the semiconductor memory device is performed in a manner such that the host gives a read/write request (command) to the semiconductor memory device with designation of an address representing a position in a storage region for the subject data.
In a storage device using a storage medium such as a hard disk on which data can be overwritten, data is overwritten to a storage region corresponding to a received address in a magnetic disk to perform a data write process. However, data cannot be generally overwritten in a nonvolatile memory such as a flash memory for use in the semiconductor memory device. In other words, an erase operation is always required to write data. For this reason, taking account of the number of times of the erase operations being limited, a process such as an address conversion process for data management is required.
When data held in a nonvolatile memory is overwritten, an entire erase block including the data must be overwritten. In order to improve a write efficiency, the semiconductor memory device is provided with a conversion table storage unit (RAM) for storing an address conversion table. This address conversion table is used to correlate between logical sector addresses (logical sector numbers) transmitted from a host and physical sector addresses (physical sector numbers) in the nonvolatile memory.
More specifically, in a data write operation, in the case where data has been previously written in a target sector of a sector number designated by a host, an unused sector is searched, and subject data is written in the searched unused sector. In this case, since the data is written in the sector of the number different from the sector number designated by the host, the sector number (logical sector address) designated by the host must be converted into the number (physical sector number) of the searched sector in which the data is actually written. For this purpose, the address conversion table is included in the semiconductor memory device.
When data is to be overwritten in a block-unit erase type semiconductor memory device, an original erase block including the data to be overwritten is not processed, new data is written in a vacant region in a nonvolatile memory together with the data of the original erase block, and an address conversion table is overwritten to correspond to the new erase block. Thereafter, with reference to the address conversion table, a logical sector address sent from the host can be correlated to a physical sector address in the nonvolatile memory, so that the data in the nonvolatile memory can be accessed.
Conventionally, as a general known address conversion method, a method is disclosed in Japanese Unexamined Patent Laid-Open Publication No. 8-212019. In this method, a quotient obtained by dividing a logical (sector) address designated from the host by the number of sectors which can be held in one erase block in a nonvolatile memory is set as a logical block address, and a residual thereof is set as an offset. In this case, the logical (sector) address means a designated sector address transmitted from the host, and one sector is given to a block having, e.g., 512 bytes. The offset is not changed, and the logical block address (i.e., logical block number) is converted into a physical block address (i.e., erase block number) by using the address conversion table, so that data can be are managed. This address conversion method has a following advantage. That is, even though a semiconductor memory device has a large capacity, an offset is shared by sectors to make it possible to reduce data required for the address conversion table.
However, in this conventional method using such an address conversion, when continuous data is written, processes can be conveniently performed without any loss. However, when data are written in units of sectors, or when data are written at random in a plurality of erase blocks, a process time required for arranging unnecessary data becomes long, and data write rate cannot be kept constant to be a problem.
SUMMARY OF THE INVENTION
The present invention has been made to solve the above problem, and has an object to provide a semiconductor memory device having a block-unit erase type nonvolatile memory mounted thereon to perform necessary and optimum data management in a data write process and to shorten process time required for arranging unnecessary data and keep a data write rate constant even though data are written in units of sectors or data are written at random in a plurality of erase blocks.
In order to achieve the above object, a first aspect of the present invention provides a semiconductor memory device having a nonvolatile memory of which an erase block size is not equal to a data access size of a host section. The semiconductor memory device includes a CPU which calculates a quotient and a residual through dividing a logical sector address given by the host section for a data transfer by a predetermined number of sectors possibly held in one erase block. The quotient is used as a logical block number and the residual is used as an offset in a logical block.
The semiconductor memory device further includes: an address conversion table storage portion which holds an address conversion table used for converting the logical block number into an erase block number of the nonvolatile memory; and a conversion table creating unit which creates the address conversion table onto the address conversion table storage portion by dispersively storing pieces of address conversion table information in each of the erase blocks and reading out the logical block numbers from the erase blocks.
In this construction, the CPU writes data received from the host section into a vacant erase block of the erase blocks in a data writing operation, and the CPU has a storage region for storing a used address of the vacant erase block and two physical block addresses corresponding to one logical block address.
A second aspect of the present invention provides a semiconductor memory device having a nonvolatile memory portion of a block-unit erase type for sending and receiving data to and from a host section. The semiconductor memory device includes an arithmetic processing unit which entirely controls arithmetic processes of the semiconductor memory device and calculates logical block numbers from logical sector addresses given by the host section, and the nonvolatile memory portion includes a plurality of nonvolatile memories for dispersively storing data.
The semiconductor memory device further includes a conversion table storage portion which holds an address conversion table for converting the calculated logical block numbers into physical addresses serving as erase block numbers of the nonvolatile memories.
In this construction, the arithmetic processing unit obtains the logical block numbers and offsets in logical blocks by calculating quotients and residuals, respectively, through dividing the logical sector addresses by a predetermined number of sectors possibly held in one erase block. The address conversion table holds the erase block numbers of the nonvolatile memories corresponding to the calculated logical block numbers. Each of the nonvolatile memories is divided into a plurality of erase blocks, and data erase is performed in units of the erase blocks, and pieces of address conversion table information are dispersively stored in each of the erase blocks, and the arithmetic processing unit reads out the logical block numbers from the erase blocks to thereby create the address conversion table on a RAM region of the conversion table storage portion.
According to the configuration of the present invention, necessary and optimum data management can be performed in a data write process, and even though data are written in units of sectors or data are written at random in a plurality of erase blocks, process time for arranging unnecessary data can be shortened, and a data write rate can be kept constant, and the process time can be reduced.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects and features of the present invention will be readily understood from the following detailed description taken in conjunction with preferred embodiments thereof with reference to the accompanying drawings, in which like parts are designated by like reference numerals and in which:
FIG. 1 is a block diagram showing the schematic configuration of a data processing system which inputs and outputs data between a semiconductor memory device according to the present invention and a host;
FIG. 2 is a block diagram of one embodiment of a semiconductor memory device according to the present invention;
FIG. 3 is a diagram showing an address conversion table of a semiconductor memory device according to the present invention;
FIG. 4A is a diagram typically showing a nonvolatile memory of a semiconductor memory device according to the present invention, and FIG. 4B is a diagram typically showing a data format in an erase block in FIG. 4A;
FIG. 5 is a diagram typically showing a parameter management region of the semiconductor memory device according to the present invention;
FIG. 6 is a flow chart showing a data write operation of the semiconductor memory device according to the present invention;
FIG. 7 is a flow chart showing a data write operation of the semiconductor memory device according to the present invention; and
FIG. 8 is a flow chart showing a data read operation of the semiconductor memory device according to the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Embodiment 1
An embodiment of the present invention will be described below with reference to the accompanying drawings. The same reference numerals denote common elements in the respective drawings, and overlapping descriptions will be omitted.
FIG. 1 shows a schematic configuration of a data transfer process system which performs data transfer between a host 9 and a semiconductor memory device 10 having a block-unit erase type nonvolatile semiconductor memory according to Embodiment 1 of the present invention. In FIG. 1, the semiconductor memory device 10 includes an interface circuit 11, a central processing unit (CPU) 12, a conversion table storage portion 13, a sector buffer portion 15 for temporarily holding data, a memory control circuit 16, and a nonvolatile memory assembly 17 for storing data.
The interface circuit 11 inputs and outputs data with the host 9, and the central processing unit (CPU) 12 integrally controls various arithmetic processes of the entire semiconductor memory device 10. The conversion table storage portion 13 is constituted by a buffer RAM, and holds an address conversion table for converting a logical sector address designated by the host 9 into a physical sector address of the nonvolatile memory assembly 17. In the address conversion table, since data is frequently written therein and erased therefrom, the address conversion table storage portion may be constituted by an SRAM.
FIG. 2 shows a block configuration of a preferred Embodiment 2 of the semiconductor memory device 10 having a nonvolatile semiconductor memory according to the present invention. As shown in FIG. 2, the central processing unit 12 is a central controller unit constituted by a CPU (microprocessor). The CPU 12 performs various arithmetic processes and integral control of the entire operation of the semiconductor memory device 10. The CPU 12 operates according to a program code stored in a specific region in a ROM built in the CPU or in a nonvolatile semiconductor memory. The sector buffer portion 15 is constituted by, e.g., two sector buffers 15 a and 15 b (which may be also referred to as “buffer memories”) used to temporarily store data and to input/output data. The nonvolatile memory assembly 17 is constituted by a plurality of nonvolatile memories 17 a to 17 d for storing data.
In the preferred embodiment, the two sector buffers which mediate data transfer between the host terminal and the nonvolatile memory are the first and second sector buffers (15 a and 15 b) each having a capacity corresponding to one sector size of the nonvolatile memory. A data transfer process between the host terminal and the sector buffer and a data transfer process between the nonvolatile memory and the sector buffer may be performed by selecting different buffers of the first and second sector buffers. More specifically, when one sector buffer (e.g. 15 a) gives and receives data of one sector to/from the host terminal, the other sector buffer (15 b) gives and receives data of different one sector to/from the nonvolatile memory.
The memory control circuit 16 controls the nonvolatile memories 17 a to 17 d on the basis of an instruction from the CPU 12 to generate various control signals required to control data transfer. The sector buffers (15 a, 15 b) are controlled to give and receive data of one sector to/from the nonvolatile memories.
In a preferred embodiment, the control means such as a memory control circuit 16 may be controlled to apply a read/write command to a block of a nonvolatile memory in response to a command of data reading/writing sent from the host terminal, so that the control means sequentially gives and receives data between the host and the nonvolatile memory through the sector buffers every sector data. The control means may be constituted to hold a control level to the nonvolatile memory such that, after one sector data is transferred, the following sector data can be continuously transferred.
In the preferred embodiment shown in FIG. 2, an ECC circuit 14 for processing an error correction code is arranged to improve data reliability in a data transfer process. In this manner, the error correction means 14 for correcting and controlling an error of stored data may be arranged, and redundant data for error correction may also be stored immediately after respective sector data.
Referring to the error correction means, when data is read from the nonvolatile semiconductor memory 17 to the buffer 15, sector data and redundant data are transferred to the error correction means in parallel with the data reading. When an correctable error is detected, the data held on the buffer is corrected.
When data is written from the buffer to the nonvolatile semiconductor memory, sector data is transferred to the error correction means in parallel with the data writing to generate redundant data, and the generated redundant data can also be transferred to the nonvolatile semiconductor memory. In this manner, the data error correction control means is added, so that the reliability of data can be more improved.
In the above configuration, the central processing unit (CPU) 12, ECC circuit 14, and memory control circuit 16 may be integrated with each other as one control block configuration.
FIG. 3 shows details of an address conversion table held in the conversion table storage portion 13. The address conversion table includes erase block numbers (i.e., physical block addresses) PBN (PBN0, PBN1, PBN2, . . . ) of nonvolatile memories corresponding to logical block numbers LBN (LN0, LBN1, LBN2, . . . ) which are calculated by the CPU 12 on the basis of logical sector addresses LSA given by the host. Offsets PBNfs in the erase blocks are obtained from offsets LBNOfs in the logical blocks.
The logical block number LBN is a quotient (=LSA/n) obtained by dividing the logical sector address LSA by the number n of sectors which can be held in one erase block. The offset LBNOfs in the logical block is calculated by the CPU 12 as a residual (=LSA%n) obtained by dividing the logical sector address LSA by the number n of sectors mentioned above.
The address conversion table is created by the CPU 12 when a power supply of the semiconductor memory device 10 is turned on, and is held in the conversion table storage portion 13. More specifically, pieces of address conversion table information are dispersively stored in the erase blocks, respectively. When the semiconductor memory device 10 is powered on, the logical block numbers LBN required to create the address conversion table are read from the erase blocks by the CPU to structure the address conversion table on the RAM of the conversion table storage portion 13.
FIG. 4A shows a block configuration model of each of the nonvolatile memories 17 a to 17 d. The internal structure of each nonvolatile memory is divided into a plurality of erase blocks 0 to n (each erase block is indicated by a reference number 30), and the data erase is performed in units of erase blocks.
FIG. 4B shows a schematic configuration model of an internal data format of each of the erase blocks 30. As shown in FIG. 4B, each of the erase blocks 30 has data storage regions 31, ECC data storage regions 32, and logical block number (LBN) storage regions 33 as a plurality of combinations, respectively. The CPU 12 reads the logical block numbers LBN in the erase blocks 0 to n from the logical block number (LBN) storage regions 33, so that an address conversion table can be created. The values of the logical block numbers LBN in one erase block 30 are all equal.
The RAM region of the CPU 12 has a parameter management region required for data management according to the present invention. FIG. 5 shows a schematic configuration model of the parameter management region 40. As shown in FIG. 5, the parameter management region 40 includes a vacant erase block number storage region 41 which stores a vacant erase block number at which no data is stored, a next logical block number (nLBN) storage region 42 which stores a logical block number corresponding to write data, a next physical block number (nPBN) storage region 43 which is used to write data, a second next physical block number (nnPBN) storage region 44 which is used when a next physical block is written with data halfway, and a next erase block unused offset (ST) storage region 45 which represents a minimum offset which is not written in the next physical block. These storage data are held in the RAM region of the CPU 12.
A procedure performed when data is written in the semiconductor memory device according to the present invention having the above configuration will be described below with reference to the flow charts shown in FIGS. 6 and 7.
At the start of the processes, an address conversion table is created by the CPU 12 to be stored in the conversion table storage portion 13 when the semiconductor memory device 10 is powered on. In step S1, a logical sector address LSA is received from the host, and a logical block number LBN and an offset LBNOfs are calculated by the CPU 12 to be obtained as the quotient and the residual of the division, respectively.
After the data is transfer from the host to the buffer portion in step S2, an erase block number PBN corresponding to the logical block number LBN is calculated by using the address conversion table in step S3. After a next erase block unused offset (ST) and a next physical block number (nPBN) are checked in step S4, it is decided in step S5 whether the next physical block number (nPBN) data exists or not.
When the physical block number (nPBN) data does not exist, an erase block number which has been erased is acquired from the vacant erase block number storage region 41 in step S6, and the acquired erase block number can be held as the next physical block number (nPBN). The next erase block unused offset (ST) is then initialized to be zero (ST=0, nLBN=LBN).
When the next physical block number (nPBN) data exist (Yes in step S5), the offset LBNOfs in the logical block and the next erase block unused offset ST are compared with each other in size in steps S7 and S14. When the offset LBNOFs in the logical block is equal to the next erase block unused offset ST (LBNOfs=ST), data received from the host are written into the next physical block number nPBN and the offset LBNOfs in the logical block in step S16 and then the next erase block unused offset ST is updated as ST=(LBNOfs+1) in step S17.
It is decided in step S18 whether the next erase block unused offset ST exceeds the range of the erase block or not. When the offset ST exceeds the range of the erase block, the erase block number PBN is erased in step S19 and registered in the vacant erase block number storage region 41. In step S20, the erase block number PBN registered in the address conversion table is rewritten by the next physical block number nPBN and the address conversion table is updated.
When it is decided in step S14 that the offset LBNOfs in the logical block is larger than the next erase block unused offset ST (LBNOfs>ST), data in the range of ST to (LBNOfs−1) is copied (programmed) from PBN to nPBN in step S15. Thereafter, the control flow shifts to step S16 to perform the same process as that performed when LBNOfs=ST.
When it is decided in step S7 that the offset LBNOfs in the logical block is smaller than the next erase block unused offset ST (LBNOfs<ST), a new erase block is secured from the vacant erase block number storage region 41 in step S8. The erase block is set as a second next physical block number (nnPBN). The data in the range of offsets 0 to (LBNOfs−1) of the erase block is copied (programmed) from nPBN to nnPBN (step S9), and buffer data is programmed in nnPBN and LBNOfs (step S10).
Data in the range of (LBNOfs+1) to (ST−1) is copied (programmed) from the block number nPBN to the block number nnPBN in step S11, and the block number nPBN is erased in step S12 and registered in the vacant erase block number storage region 41, and the nnPBN is registered in the (nPBN) storage region 43 in step S13.
Thereafter, it is decided in step S21 whether the transfer is completed or not. When the transfer is not completed, the logical sector address LSA is updated in step S22, and the control flow returns to the process in step S1.
A procedure for reading data from the semiconductor memory device according to the present invention will be described below with reference to the flow chart in FIG. 8.
The logical sector address LSA is received from the host in step S71, a logical block number LBN and an offset LBNOfs in a logical block are calculated by the CPU 12. An erase block number PBN corresponding to the logical block number LBN is calculated by using an address conversion table in step S72. After a next erase block unused offset (ST) and a next physical block number (nPBN) are checked in step S73, it is decided in step S74 whether next physical block number (nPBN) data exists or not.
When the block number nPBN data does not exist, data are read from the block number PBN and the offset LBNOfs in the nonvolatile memory into the sector buffer portion 15 according to the address conversion in step S77. When the block number nPBN exists, it is decided in step S75 whether the offset LBNOfs in the logical block is smaller than the next erase block unused offset ST. When the offset LBNOfs is larger than the offset ST, the control flow shifts to the process in step S77.
When the offset LBNOfs is smaller than the offset ST, the process of reading data from the block number and the offset LBNOfs in the nonvolatile memory is continued in step S76. Data transfer from the buffer unit to the host is performed in step S78, and it is checked in step S79 whether the transfer is completed or not. When the transfer is not completed, the logical sector address LSA is updated in step S80, the control flow returns to the process in step S71.
These processes are performed, so that a semiconductor memory device having stable performance can be achieved.
As described above, according to the present invention, there can be provided a semiconductor memory device having a block-unit erase type nonvolatile memory which can perform necessary and optimum data management in a data write process. In addition, even though data are written in units of sectors or data are written at random in a plurality of erase blocks, process time for arranging unnecessary data can be reduced, and a data write rate can be kept constant. An improvement in reliability of data can be achieved by error correction without deteriorating the above advantages.
Although the present invention has been described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications will be apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims, unless they depart therefrom.

Claims (3)

What is claimed is:
1. A semiconductor memory device having a nonvolatile memory portion of a block-unit erase type for sending and receiving data to and from a host section, the semiconductor memory device comprising:
an arithmetic processing unit which entirely controls arithmetic processes of the semiconductor memory device and calculates logical block numbers from logical sector addresses given by the host section;
the nonvolatile memory portion including a plurality of nonvolatile memories for dispersively storing data; and
a conversion table storage portion which holds an address conversion table for converting the calculated logical block numbers into physical addresses serving as erase block numbers of the nonvolatile memories,
wherein the arithmetic processing unit obtains the logical block numbers and offsets in logical blocks by calculating quotients and residuals, respectively, through dividing the logical sector addresses by a predetermined number of sectors possibly held in one erase block,
wherein the address conversion table holds the erase block numbers of the nonvolatile memories corresponding to the calculated logical block numbers,
wherein each of the nonvolatile memories is divided into a plurality of erase blocks, and data erase is performed in units of the erase blocks, and
wherein pieces of address conversion table information are dispersively stored in each of the erase blocks, and the arithmetic processing unit reads out the logical block numbers from the erase blocks to thereby create the address conversion table on a RAM region of the conversion table storage portion.
2. The semiconductor memory device according to claim 1, wherein each of the erase blocks of the nonvolatile memories includes data storage regions and logical block number storage regions as a plurality of combination pairs, and the arithmetic processing unit reads out the logical block numbers from the logical block number storage regions of the entire erase blocks to create the address conversion table.
3. The semiconductor memory device according to claim 1, wherein a RAM region of the arithmetic process unit has a parameter management region for data management which includes a vacant erase block number storage region for storing a vacant erase block number allocated with no data stored, a next logical block number storage region for storing a logical block number corresponding to write data, a next physical block number storage region for storing a next physical block number which is used to write data, a second next physical block number storage region for storing a second next physical block number which is used when a next physical block is written with data halfway, and a next erase block unused offset storage region for storing a next erase block unused offset which represents a minimum offset which is not written in the next physical block.
US10/207,379 2001-08-31 2002-07-30 Semiconductor memory device with block-unit erase type nonvolatile memory Expired - Lifetime US6639843B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001-263748 2001-08-31
JP2001263748A JP2003076605A (en) 2001-08-31 2001-08-31 Semiconductor storage device with block erasing type non-volatile memory mounted thereon and its data writing/reading method

Publications (2)

Publication Number Publication Date
US20030043634A1 US20030043634A1 (en) 2003-03-06
US6639843B2 true US6639843B2 (en) 2003-10-28

Family

ID=19090458

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/207,379 Expired - Lifetime US6639843B2 (en) 2001-08-31 2002-07-30 Semiconductor memory device with block-unit erase type nonvolatile memory

Country Status (2)

Country Link
US (1) US6639843B2 (en)
JP (1) JP2003076605A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117686A1 (en) * 2002-12-11 2004-06-17 Leonardo Vainsencher Error correction cache for flash memory
US20060002199A1 (en) * 2004-07-02 2006-01-05 Renesas Technology Corp. Nonvolatile memory apparatus
US20060053252A1 (en) * 2004-08-30 2006-03-09 Stefano Ghezzi Embedded storage device with integrated data-management functions and storage system incorporating it
US20070038802A1 (en) * 2005-07-29 2007-02-15 Yi-Lin Tsai System and method for configuration and management of flash memory
US20070168632A1 (en) * 2006-01-19 2007-07-19 Sigmatel, Inc. Non-volatile memory
US20090055655A1 (en) * 2002-11-27 2009-02-26 Aran Ziv Apparatus and Method For Securing Data on a Portable Storage Device
US20090180320A1 (en) * 2006-09-29 2009-07-16 Fujitsu Microelectronics Limited Nonvolatile semiconductor memory device
US20090180321A1 (en) * 2006-09-29 2009-07-16 Fujitsu Microelectronics Limited Nonvolatile semiconductor memory device, and reading method, writing method and erasing method of nonvolatile semiconductor memory device
US20090254762A1 (en) * 2008-04-04 2009-10-08 Arik Priel Access control for a memory device
US20100180183A1 (en) * 2009-01-12 2010-07-15 Macronix International Co., Ltd. Circuit for reducing the read disturbance in memory
US8055978B2 (en) * 2007-01-29 2011-11-08 Samsung Electronics Co., Ltd. Semiconductor memory system performing data error correction using flag cell array of buffer memory
US10162631B2 (en) * 2016-10-28 2018-12-25 Sanken Electric Co., Ltd. Micro controller unit

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2400927A (en) * 2003-04-22 2004-10-27 Hewlett Packard Development Co Method of managing memory by checking that none of the sectors in a block is needed before erasing the block.
JP4828816B2 (en) 2004-10-25 2011-11-30 株式会社東芝 Memory card, semiconductor device, and memory card control method
JP6131207B2 (en) * 2014-03-14 2017-05-17 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212019A (en) 1995-01-31 1996-08-20 Mitsubishi Electric Corp Semiconductor disk device
JPH09185551A (en) 1996-01-08 1997-07-15 Mitsubishi Electric Corp Semiconductor memory device
JPH09282111A (en) 1996-04-15 1997-10-31 Internatl Business Mach Corp <Ibm> Semiconductor memory device and its control method
JPH10124381A (en) 1996-10-21 1998-05-15 Mitsubishi Electric Corp Semiconductor storage device
US5841699A (en) * 1996-06-10 1998-11-24 Mitsubishi Denki Kabushiki Kaisha Storage device and method to detect its degradation
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6058047A (en) * 1996-08-16 2000-05-02 Tokyo Electron Limited Semiconductor memory device having error detection and correction
US6388919B2 (en) * 1999-12-20 2002-05-14 Tdk Corporation Memory controller for flash memory system and method for writing data to flash memory device

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212019A (en) 1995-01-31 1996-08-20 Mitsubishi Electric Corp Semiconductor disk device
US5627783A (en) 1995-01-31 1997-05-06 Mitsubishi Denki Kabushiki Kaisha Semiconductor disk device
JPH09185551A (en) 1996-01-08 1997-07-15 Mitsubishi Electric Corp Semiconductor memory device
US20020069314A1 (en) 1996-01-08 2002-06-06 Shigenori Miyauchi Semiconductor storage device
JPH09282111A (en) 1996-04-15 1997-10-31 Internatl Business Mach Corp <Ibm> Semiconductor memory device and its control method
US5963983A (en) 1996-04-15 1999-10-05 International Business Machines Corporation Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
US5841699A (en) * 1996-06-10 1998-11-24 Mitsubishi Denki Kabushiki Kaisha Storage device and method to detect its degradation
US6058047A (en) * 1996-08-16 2000-05-02 Tokyo Electron Limited Semiconductor memory device having error detection and correction
JPH10124381A (en) 1996-10-21 1998-05-15 Mitsubishi Electric Corp Semiconductor storage device
US5946714A (en) 1996-10-21 1999-08-31 Mitsubishi Denki Kabushiki Kaisha Semiconductor storage device utilizing address management tables and table state maps for managing data storage and retrieval
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6388919B2 (en) * 1999-12-20 2002-05-14 Tdk Corporation Memory controller for flash memory system and method for writing data to flash memory device

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119517A1 (en) * 2002-11-27 2009-05-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US8234500B2 (en) 2002-11-27 2012-07-31 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US8103882B2 (en) 2002-11-27 2012-01-24 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US8893263B2 (en) 2002-11-27 2014-11-18 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US20110167489A1 (en) * 2002-11-27 2011-07-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US7941674B2 (en) * 2002-11-27 2011-05-10 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US8694800B2 (en) 2002-11-27 2014-04-08 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US7900063B2 (en) 2002-11-27 2011-03-01 Sandisk Il Ltd. Apparatus and method for securing data on a portable storage device
US20090119502A1 (en) * 2002-11-27 2009-05-07 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US20110035603A1 (en) * 2002-11-27 2011-02-10 Aran Ziv Apparatus and Method for Securing Data on a Portable Storage Device
US20090055655A1 (en) * 2002-11-27 2009-02-26 Aran Ziv Apparatus and Method For Securing Data on a Portable Storage Device
US20040117686A1 (en) * 2002-12-11 2004-06-17 Leonardo Vainsencher Error correction cache for flash memory
US20080133986A1 (en) * 2002-12-11 2008-06-05 Nvidia Corporation Error correction for flash memory
US7844880B2 (en) 2002-12-11 2010-11-30 Nvidia Corporation Error correction for flash memory
US7296213B2 (en) * 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
US20080002480A1 (en) * 2004-07-02 2008-01-03 Tsutomu Nakajima Nonvolatile memory apparatus
US7283408B2 (en) * 2004-07-02 2007-10-16 Renesas Technology Corp. Nonvolatile memory apparatus enabling data to be replaced prior to supplying read data and prior to supplying write data
US20060002199A1 (en) * 2004-07-02 2006-01-05 Renesas Technology Corp. Nonvolatile memory apparatus
US20060053252A1 (en) * 2004-08-30 2006-03-09 Stefano Ghezzi Embedded storage device with integrated data-management functions and storage system incorporating it
US7461198B2 (en) * 2005-07-29 2008-12-02 Genesys Logic, Inc. System and method for configuration and management of flash memory
US20070038802A1 (en) * 2005-07-29 2007-02-15 Yi-Lin Tsai System and method for configuration and management of flash memory
US20070168632A1 (en) * 2006-01-19 2007-07-19 Sigmatel, Inc. Non-volatile memory
US7594087B2 (en) 2006-01-19 2009-09-22 Sigmatel, Inc. System and method for writing data to and erasing data from non-volatile memory
US8014198B2 (en) 2006-09-29 2011-09-06 Fujitsu Semiconductor Limited Nonvolatile semiconductor memory device
US8503234B2 (en) 2006-09-29 2013-08-06 Fujitsu Semiconductor Limited Nonvolatile semiconductor memory device
US8089808B2 (en) 2006-09-29 2012-01-03 Fujitsu Semiconductor Limited Nonvolatile semiconductor memory device, and reading method, writing method and erasing method of nonvolatile semiconductor memory device
US20090180320A1 (en) * 2006-09-29 2009-07-16 Fujitsu Microelectronics Limited Nonvolatile semiconductor memory device
US20090180321A1 (en) * 2006-09-29 2009-07-16 Fujitsu Microelectronics Limited Nonvolatile semiconductor memory device, and reading method, writing method and erasing method of nonvolatile semiconductor memory device
US8400828B2 (en) 2006-09-29 2013-03-19 Fujitsu Semiconductor Limited Nonvolatile semiconductor memory device
US8055978B2 (en) * 2007-01-29 2011-11-08 Samsung Electronics Co., Ltd. Semiconductor memory system performing data error correction using flag cell array of buffer memory
US8695087B2 (en) 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US20090254762A1 (en) * 2008-04-04 2009-10-08 Arik Priel Access control for a memory device
US20100180183A1 (en) * 2009-01-12 2010-07-15 Macronix International Co., Ltd. Circuit for reducing the read disturbance in memory
US10162631B2 (en) * 2016-10-28 2018-12-25 Sanken Electric Co., Ltd. Micro controller unit

Also Published As

Publication number Publication date
JP2003076605A (en) 2003-03-14
US20030043634A1 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
US6639843B2 (en) Semiconductor memory device with block-unit erase type nonvolatile memory
EP1564755B1 (en) Data management apparatus and method of flash memory
US6757800B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP5525605B2 (en) Flash memory module
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
EP2306321A1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
US20030177300A1 (en) Data processing method in high-capacity flash EEPROM card system
JPH10124381A (en) Semiconductor storage device
JP2006048893A (en) Flash memory device with defective block managing function and defective block managing method of the same
US6516400B1 (en) Data storage, data processing system and method
JP2000067574A (en) Semiconductor memory
JPWO2002052416A1 (en) Flash memory system
US20080082872A1 (en) Memory controller, memory system, and data transfer method
JP2000020252A (en) Storage device using nonvolatile semiconductor memory
JP5329689B2 (en) Memory controller and nonvolatile storage device
CN102473141B (en) Nonvolatile memory devices and memory controller
US20060155918A1 (en) Method of controlling a semiconductor memory device applied to a memory card
US6680870B2 (en) Memory device, data processing method and data processing program
US7886211B2 (en) Memory controller
JP3992960B2 (en) Recording apparatus and program
JP2007094639A (en) Memory controller and flash memory system
JP4655034B2 (en) Memory controller, flash memory system, and flash memory control method
JP2000285688A (en) Non-volatile semiconductor memory
JP4127307B2 (en) Data storage device, data processing system, data processing method, and data processing device
JP2005182538A (en) Data transfer device

Legal Events

Date Code Title Description
AS Assignment

Owner name: MITSUBISHI DENKI KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MIYAUCHI, SHIGENORI;REEL/FRAME:013405/0940

Effective date: 20020919

STCF Information on status: patent grant

Free format text: PATENTED CASE

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

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

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: RENESAS ELECTRONICS CORPORATION, JAPAN

Free format text: CHANGE OF ADDRESS;ASSIGNOR:RENESAS ELECTRONICS CORPORATION;REEL/FRAME:044928/0001

Effective date: 20150806