throbber
United States Patent 19
`Sukegawa
`
`(54) FLASH MEMORY CHIPS
`75) Inventor: Hiroshi Sukegawa, Tokyo, Japan
`73) Assignee: Kabushiki Kaisha Toshiba, Kawasaki,
`Japan
`
`Appl. No.: 132,313
`(21
`(22 Filed:
`Oct. 6, 1993
`30)
`Foreign Application Priority Data
`Oct. 6, 1992 (JPl
`Japan .................................... 4-267212
`(51) Int. Cl." ....................................... G11C 17/00
`52 U.S. Cl. ................................ 365/185.33; 365/185.11;
`365/185.12; 365/185.29; 365/230.01; 365/230.03;
`365/230.06; 365/239
`58) Field of Search ............................... 365/900, 230.01,
`365/185,230.05, 185.33, 185.11, 185.12,
`185.29, 230.03, 230.06, 239
`References Cited
`U.S. PATENT DOCUMENTS
`4,817,035 3/1989 Timsit.
`4,849,929 7/1989 Timsit.
`
`(56)
`
`|||||||III
`US005572466A
`5,572,466
`11) Patent Number:
`45) Date of Patent:
`Nov. 5, 1996
`
`... 36.5/218
`5,270,979 12/1993 Harari et al......
`... 395/500
`5,291584 3/1994 Challa et al. ....
`5,297,148 3/1994 Harariet al. ........................... 371/10.2
`FOREIGN PATENT DOCUMENTS
`4-57295 2/1992 Japan.
`Primary Examiner-Viet Q. Nguyen
`Attorney, Agent, or Firm-Oblon, Spivak, McClelland,
`Maier & Neustadt, P.C.
`57
`ABSTRACT
`A plurality of consecutive sector numbers are assigned to a
`plurality of flash EEPROM chips in a semiconductor
`memory system. The results of assigning the consecutive
`sector numbers are held in an address conversion table as
`address conversion information. Thus, the flash EEPROM
`chips are simultaneously accessed when a host CPU desig
`nates the consecutive sector numbers for the same track. The
`access speed of the semiconductor memory system can
`therefore be increased when the system is controlled by the
`existing disk access method in which the sectors to be
`accessed sequentially are assigned to the same track. The
`semiconductor memory system can thereby be used effi
`ciently in place of a data storage disk.
`
`10 Claims, 14 Drawing Sheets
`
`PAGE
`
`PAGE
`
`sigOR 0.
`
`O
`
`
`
`
`
`
`
`
`
`
`
`
`
`PAGE
`
`SEg|OR 0.
`8
`segOR 2
`9
`3
`sigor:
`
`...'"
`
`PAGE
`SEOR 0.
`6
`SFIOR 2
`{7
`is
`:
`1 :
`SECTOR
`23:14
`| 5
`
`f
`
`PAGE
`SEOR 0.
`24
`SEOR 2
`25 3
`:
`|
`:
`SECTOR
`4.
`} 31
`# 5
`
`stgor
`32
`SEOR
`33
`
`sigor
`39
`
`?
`
`w
`
`KIOXIA Ex-1005, Page 1
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 1 of 14
`
`5,572,466
`
`TRANSFERED ADDRESS FROM HOST
`
`--N
`N
`
`X
`
`W
`
`
`
`N- -1
`BTS TO BE
`V
`DECODED
`TO CS SGNAL
`
`O
`
`ADDRESS IN CHIP
`
`F G.
`
`(PRIOR ART)
`
`F G. 2 (PRIOR ART)
`
`KIOXIA Ex-1005, Page 2
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 2 of 14
`
`5,572,466
`
`F G.
`3E
`(PRIOR ART)
`
`O O O O O
`
`o O
`
`6 BTS
`
`N--
`2 BITS
`
`9 BTS
`
`KIOXIA Ex-1005, Page 3
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 3 of 14
`
`5,572,466
`
`REQUEST WRTNG
`ACCESS
`
`A
`
`ACCESS BLOCK
`
`A3
`
`A5
`
`A7
`
`NO
`
`
`
`
`
`
`
`
`
`NCREASE REWRITE
`COUNT DATA OF
`BLOCK
`
`
`
`HAS CARRY
`OCCURRED
`2
`
`
`
`S T PROPER
`FOR SWAPPNG
`2
`
`SWAP BLOCK
`
`
`
`REWRITE TABLE
`
`A5
`
`ERASE DATA
`N BLOCK AND
`WRITE DATA INTO
`THE BLOCK
`
`F G. 5 (PRIOR ART)
`
`KIOXIA Ex-1005, Page 4
`
`

`

`U.S. Patent
`
`
`
`5,572,466
`
`O}9 9 | -
`
`
`
`MJETTO MJ1N00 J / I ISOH
`
`KIOXIA Ex-1005, Page 5
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 5 of 14
`
`5,572,466
`
`‘ONYOLISS
`
`‘ONMOWYL
`
`LZOld
`
`t—Ft
`
`O-tt
`
`KIOXIA Ex-1005, Page 6
`
`KIOXIA Ex-1005, Page 6
`
`
`
`
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 6 of 14
`
`5,572,466
`
`WRITING PAGE
`
`O segro
`
`O
`
`2 sector
`
`4 sigror
`
`7
`
`BRASE BLOCK
`
`
`
`O
`
`254
`
`255
`
`KIOXIA Ex-1005, Page 7
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 7 of 14
`
`5,572,466
`
`YOLOAS
`
`cf
`
`YOLISS
`
`Ee
`
`YOL05S
`
`6£
`|
`
`ioYOLOSS
`!be
`
`
`
`//
`
`f
`
`//
`
`!
`
`I
`
`J9Vd
`
`J9Vd
`
`J9Vd
`
`A9Vd
`
`|
`
`io¥OLI3S
`Fgt
`
`!
`
`igYOLDAS
`it
`
` Gt;{1FEvtMOLISS
`/G1iGe2!4OLJas
`ar!fy2YOLI3SS
`|Gtbi€2e”"yoldas
`yy*f¢
`{1OWL;|!GtGI
`,uoiaas|
`6zYOLISS
`(Ff401935éEfIoYOLISS
`
`P|
`
`rn...
`
`{
`~T_ wo
`
`KIOXIA Ex-1005, Page 8
`
`KIOXIA Ex-1005, Page 8
`
`
`
`
`

`

`U.S. Patent
`
`
`
`Nov. 5, 1996
`
`Sheet 8 of 14
`
`5,572,466
`
`
`
`———— —— —————
`
`
`
` [ 10 , [ 8 0 ‘‘001[ 00 ‘‘001|×
`
`0 0 ]
`
`g?30wd
`
`992xov?I
`
`992
`
`X10 OT18
`
`KIOXIA Ex-1005, Page 9
`
`

`

`Nov. 5, 1996
`
`2
`
`5,572,466
`
`Sheet 9 of 14
`
`U.S. Patent
`ADDRESS
`CONVERSION
`TABLE
`REAL MEMORY ADDRESS
`LOGICAL ADDRESS
`TRACK NoSECTOR Noll CHP No. BLOCK No.
`PAGE NO.
`
`
`
`KIOXIA Ex-1005, Page 10
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 10 of 14
`
`5,572,466
`
`
`
`KIOXIA Ex-1005, Page 11
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 11 of 14
`
`5,572,466
`
`PAGEO
`
`DATA
`
`LWC
`
`FOR
`
`PAGE5
`
`DATA
`
`F2S,
`
`BLOCK
`
`
`
`WRITE COUNT TABLE
`
`KIOXIA Ex-1005, Page 12
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 12 of 14
`
`5,572,466
`
`80 103S
`62 ~ 22
`
`( O XOOT8)( O XOOT8 )( O XOOT8)
`
`(
`
`)
`
`KIOXIA Ex-1005, Page 13
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 13 of 14
`
`5,572,466
`
`
`
`
`
`
`
`REQUEST WRITING
`ACCESS
`
`B
`
`ACCESS BLOCK
`
`B3
`
`NCREASE LWC
`OF BLOCK
`
`B5
`
`B7
`
`HAS PREDETERMINED
`BTS INCREMENTED
`
`IS IT PROPER
`FOR SWAPPING
`N CHP 2
`
`
`
`
`
`
`
`
`
`EXECUTE
`SWAPPNG PROCESS
`
`REW RTE TABLES
`
`END
`
`F G.
`
`6
`
`B5
`
`B 7
`
`1ST PROPER
`FOR SWAPPNG
`N GROUP 2
`
`
`
`
`
`ERASE DATA
`N BLOCK AND
`WRITE DATA NTO
`THE BLOCK
`
`KIOXIA Ex-1005, Page 14
`
`

`

`U.S. Patent
`
`Nov. 5, 1996
`
`Sheet 14 of 14
`
`5,572,466
`
`
`
`-
`
`- 2
`
`- 3
`
`- 4
`
`- -2
`
`F G.
`
`7 C
`
`KIOXIA Ex-1005, Page 15
`
`

`

`1.
`FLASH MEMORY CHIPS
`
`5,572,466
`
`10
`
`5
`
`20
`
`25
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to a semiconductor memory
`system equipped with a flash EEPROM (Electrically Eras
`able and Programable Read Only Memory) which is a
`non-volatile memory that is electrically and collectively
`erasable. More particularly, this invention relates to a semi
`conductor memory system that can employ an existing disk
`accessing scheme.
`2. Description of the Related Art
`Most conventional information processing system, such
`as a work station and a personal computer, use a magnetic
`disk drive as a memory device. The magnetic disk drive has
`advantages such as a high recording reliability and low bit
`price while having some short-comings such as its being
`large and susceptible to physical impact.
`The operational principle of magnetic disk drives is to
`move a magnetic head on a rotating disk to write or read data
`on or from that disk. The mechanical moving portions, such
`as the rotatable disk and the magnetic head, may malfunc
`tion or may be damaged when a physical shock is applied to
`the disk drive. Further, the necessity of those mechanical
`movable portions gets in the way of making the whole drive
`compact.
`To compensate for data when the aforementioned mal
`function or damage occurs, conventionally, there is a tech
`nique of distributively storing data into a plurality of disk
`drives. This technique divides each word constituting data
`sent from a host system (computer main body) into prede
`termined bits and stores the data in the individual disk drives
`in that form. According to this technique, a spare disk drive
`for storing redundant or dummy data is provided to correct
`data even when one of a plurality of magnetic disk drives
`becomes entirely disabled.
`As data is distributively stored into a plurality of disk
`drives to accomplish error correction according to this
`conventional technique, the length of one unit of data
`assigned to each disk drive is limited. According to this
`technique, after data is transferred to a magnetic disk drive,
`the transferred data is immediately recorded into a storage
`medium. To perform fast data reading/writing effectively
`using the performance of the magnetic disk drive, it is
`necessary to keep fast data transfer to the storage medium in
`a plurality of magnetic disk drives. Further, to read data from
`a plurality of disk drives, a buffer is necessary to restore a
`50
`word that has been divided into predetermined bits.
`Since magnetic disk drives require the mechanical mov
`able portions as described above, it is difficult to make the
`entire disk drive compact. While such a magnetic disk drive
`will not raise any problem when used in a desktop computer
`which stays on a desk for usage, the aforementioned draw
`backs become a bottleneck when it is used in a small
`portable laptop computer or notebook type computer.
`Today, therefore, a lot of attention has been paid to a
`semiconductor disk drive which is small in size and is not
`60
`susceptible to physical impact. Like the conventional mag
`netic disk drive, this semiconductor disk drive uses a flash
`EEPROM (Electrically Erasable and Programmable Read
`Only Memory), which is a non-volatile memory that is
`electrically and collectively erasable by the units of prede
`termined blocks, as a secondary memory device for a
`personal computer or the like. Like a DRAM (Dynamic
`
`45
`
`30
`
`35
`
`40
`
`55
`
`65
`
`2
`Random Access Memory) and mask ROM (Read Only
`Memory) the flash EEPROM, which is also a semiconductor
`memory device, can achieve high density. As the semicon
`ductor disk drive, unlike the magnetic disk drive, has no
`mechanical movable portions, it will not easily have a
`physical-impact oriented malfunction or damage. In addi
`tion, it has a smaller size which is advantageous.
`Jpn. Pat. Appln. KOKAI Publication No. 4-57295,
`entitled "Electrically Programmable Memory Circuit,”
`applied by NEC Corporation, discloses an example of a
`semiconductor disk drive which is designed to accomplish
`efficient data writing without wait using a plurality of
`semiconductor chips. The disclosed technique is designed to
`eliminate the wait time in one write cycle. This technology
`is targeted to an EEPROM as a semiconductor memory
`device. Normally, data is written byte by byte in an
`EEPROM in accordance with byte-by-byte data transfer. In
`a flash EEPROM, on the other hand, after data consisting of
`a predetermined number of consecutive bytes is transferred,
`it is written in the chips independently.
`FIG. 1 illustrates an address which is sent to a semicon
`ductor device (chip) from a host according to the technology
`by NEC Corporation. As shown in FIG. 1, predetermined
`bits of the address are used to control a CS (Chip Select)
`signal which selects one of a plurality of chips provided in
`the memory device. For instance, when four memory chips
`#0 to #3 are provided in the memory device as shown in FIG.
`2, two bits in the logical address are used to control the CS
`signal. Those two bits are input to a predetermined decoder
`and is decoded into the CS signal there.
`The upper and lower bits, excluding those two bits to
`control the CS signal, become a real memory address of that
`memory chip which become active by the CS signal. The
`number of the lower bits is enough to address the amount of
`data which can be written at a time, i.e., the amount of data
`which is written by the writing operation in one cycle. When
`64-byte page writing is possible by the writing operation in
`one cycle for each of the memory chips #0 to #3, therefore,
`nine bits are assigned to the lower bits of the memory
`address so that 64 bytes can be addressed.
`This bit assignment in the memory device provided with
`a plurality of memory chips can eliminate the wait time
`included in one writing cycle when data corresponding to
`consecutive addresses are written.
`The continuous writing operation will now be described
`referring to FIGS. 2, 3A to 3E and 4A to 4D. Suppose that
`a semiconductor memory device is provided with the
`memory chips #0 to #3 as shown in FIG. 2, and those
`memory chips #0-#3 can each accomplish 64-byte page
`writing by one writing cycle. A write enable signal is output
`from the decoder to the memory chip #0 when predeter
`mined two bits are "00," to the memory chip #1 when they
`are "01,” the memory chip #2 when they are “10," and to the
`memory chip #3 when they are “11."
`First,
`in writing data at consecutive address
`("00000000000000000” to "000001001111111111") shown
`in FIGS. 3A-3E, as the predetermined bits in the data
`corresponding to the address shown in FIG. 3A are "00," the
`data is stored on one page (page A, see FIG. 2) correspond
`ing
`to
`the
`address
`("000000000000000”
`to
`"000000111111111") in the memory chip #0. Likewise, the
`data corresponding to the addresses shown in FIGS. 3B to
`3D are stored in the areas which correspond to the address
`("000000000000000” to "000000111111111") in the respec
`tive memory chips #1 to #3 (pages B-D; see FIG. 2). As the
`predetermined bits in the data corresponding to the address
`
`KIOXIA Ex-1005, Page 16
`
`

`

`3
`shown in FIG. 3E are "00," the data is stored on page E (see
`FIG.
`2)
`corresponding
`O
`the
`addresses
`("000001000000000” to "000001111111111") again in the
`memory chip #0.
`The target memory chip for data writing therefore
`changes page by page in the order of #0, #1, #2, #3 and #0
`again as shown in FIG. 2. Accordingly, the wait time
`becomes as shown in the timing charts given in FIGS. 4A to
`4D; it is apparent that the wait time included in one writing
`cycle can be eliminated.
`Since this scheme produces a CS signal by decoding
`predetermined bits in the address sent from a host, the
`addresses in each memory chip should be fixed in a con
`secutive order. If a specific area (block) becomes disabled
`due to deterioration or the like, therefore, data cannot be
`written at consecutive addresses including the address which
`corresponds to that area.
`Suppose page B in the memory chip #1 shown in FIG. 2
`is damaged and unaccessible. Then, since the addresses
`corresponding to the areas of pages A to E (the addresses
`sent from a host) are fixed and consecutive, page F cannot
`be used for the lost page B. It is apparent that while the
`scheme taught by NEC Corporation can eliminate the wait
`time included in one writing cycle, it cannot flexibly cope
`with a damage or the like of a memory area (block) which
`may be caused by deterioration or the like.
`There is a so-called swapping process which is designed
`to cope with damaged blocks in a flash EEPROM which are
`originated from the frequent erasing/writing action or the
`like. This swapping process prevents the concentration of
`rewriting to a specific block in a flash EEPROM, whose
`rewrite count is limited, at the time data is written. In
`addition, the swapping processes is executed only in each
`flash EEPROM chip.
`The swapping processes will be briefly described with
`reference to the flowchart illustrated in FIG. 5. The details
`of the swapping process are described in U.S. patent appli
`cation Ser. No. 001,750.
`To execute a swapping process, a memory area for storing
`data of the rewrite count is provided block by block in a flash
`EEPROM chip. This rewrite count data is incremented every
`time the accessed block is rewritten. In addition to the
`memory area for the rewrite count data, an area for storing
`the upper data (upper bits) of the rewrite count data of each
`block is provided. The upper data to be stored in this area is
`updated when a predetermined carry of the rewrite count
`(renewal of predetermined upper bits) occurs, and will not
`be updated every time a normal rewriting action is taken.
`When a writing access to a designated address is
`requested under the above conditions, the block which
`corresponds to this designated address is accessed (steps A1
`and A3). Then, the rewrite count data stored in the accessed
`block is incremented after which it is determined if a
`predetermined carry has occurred (steps A5 and A7).
`When a predetermined carry occurs (YES in steps A7), it
`is determined if a swapping process should be performed,
`referring to the upper data of the rewrite count data (step
`A9). This decision on the swapping process is performed for
`example by comparing the upper data of the accessed block
`with the upper data of other blocks and detecting that block
`whose rewrite count is less by more than a predetermined
`number than the rewrite count of the accessed block. Con
`sequently, the block whose rewire count is less by more than
`a predetermined number than the rewire count of the
`accessed block is selected and the execution of the swapping
`process is determined. Then, data to be written in the
`
`4
`accessed block is replaced with the data that is held in the
`block selected in step A9 (step A11).
`When data replacement is complete, a table which cor
`relates the area for storing the upper data, the logical address
`and the real memory address with one another are changed
`(step A13).
`When a predetermined carry has not occurred (No in step
`A7) or no block whose rewrite count is less by more than a
`predetermined number than the rewrite count of the accessed
`block has not been detected (NO in step A9), the swapping
`process will not be performed and the accessed block is
`entirely erased before the requested data is written there
`(step A15).
`This swapping process prevents the concentration of
`rewriting to a specific block to thereby provide the average
`rewrite frequency for the individual blocks. It is therefore
`possible to prolong the service life of the individual blocks
`in a flash EEPROM whose rewrite counts are limited.
`As mentioned above, the swapping of data is limited
`within each chip in this swapping process. While the rewrit
`ing frequencies of the individual block in each chip can be
`averaged, therefore, the average rewrite frequency cannot be
`provided for the individual chips provided in the semicon
`ductor disk drive.
`If a semiconductor disk drive using a flash EEPROM is
`used as a spare disk, the logical address sent from a host
`system is converted into the real address in the semicon
`ductor disk drive. Normally, a plurality of semiconductor
`chips are populated on a semiconductor disk drive. The
`above address conversion is executed by correlating the
`track number and sector number given by the logical address
`from the host system to the real memory address by which
`the flash EEPROMs in the semiconductor disk drive are
`selectively accessed.
`There is no established scheme for determining how to
`correlate the track number and sector number given by the
`logical address from the host system with the internal real
`memory address.
`With a semiconductor disk drive in use, therefore, the
`conventional disk accessing scheme in the host system
`which arranges consecutive data within the same track to
`suppress the frequency per track as much as possible cannot
`be used effectively. In other words, conventionally, the
`conventional disk access scheme of the host system cannot
`be employed, making it difficult to effectively use a semi
`conductor disk drive as a spare disk.
`
`SUMMARY OF THE INVENTION
`It is therefore a primary object of the present invention to
`provide a semiconductor memory system which is designed
`to permit parallel access to a plurality of flash EEPROMs
`when consecutive sector numbers in the same track are
`designated, so that the existing disk access scheme of a host
`System for limiting consecutive sectors to be accessed to the
`same track can be effectively used.
`It is another object of this invention to provide a semi
`conductor memory system, which can give the averaged
`rewrite frequency for the individual flash EEPROM chips
`using a swapping process as well as can achieve the first
`object.
`To achieve the foregoing objects, according to one aspect
`of this invention, there is provided a semiconductor memory
`system having a plurality of flash EEPROM chips, compris
`ing: address converting means for converting a logical
`
`5,572,466
`
`O
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`KIOXIA Ex-1005, Page 17
`
`

`

`5,572,466
`
`6
`obvious from the description, or may be learned by practice
`of the invention. The objects and advantages of the invention
`may be realized and obtained by means of the instrumen
`talities and combinations particularly pointed out in the
`appended claims.
`
`10
`
`15
`
`20
`
`5
`address designated by a host system by using a track number
`and a sector number, into a real memory address for access
`ing at least one of the plurality of flash EEPROM chips
`based on address conversion information, memory access
`means for performing a read/write access to the plurality of
`flash EEPROM chips in accordance with the real memory
`address converted from the logical address by the address
`converting means, and means for assigning sequential
`sector number sets to sequential flash EEPROM chips so as
`to permit the memory access means to parallelly access the
`plurality of flash EEPROM chips, and for holding results of
`assigning the sequential-sector number sets as the address
`conversion information.
`The system according to the aspect of this invention,
`further comprising: means for performing a swapping pro
`cess for averaging numbers of a respective write operation
`of each memory area corresponding to one track number in
`a logical address.
`According to another aspect of this invention, there is
`provided a method of controlling data stored in a semicon
`ductor memory system connected to a host system and
`having a plurality of flash EEPROM chips, means for
`assigning sequential-sector number sets to sequential flash
`EEPROM chips so as to permit the memory access means to
`parallelly access the plurality of flash EEPROM chips,
`means for holding results of assigning the sequential-sector
`number sets as the address conversion information, means
`for performing a swapping process for uniforming a number
`of write operations each performed in units of blocks each
`having a predetermined size, and group information holding
`means for holding group information having real memory
`addresses corresponding to the sector numbers assigned to
`one track, the method comprising: a conversion step for
`converting a logical address designated by the host system
`by using a track number and a sector number, into a real
`memory address for accessing at least one of the plurality of
`flash EEPROM chips based on address conversion informa
`tion; a memory access step of performing a read/write access
`to the plurality of flash EEPROM chips in accordance with
`the real memory address converted in the conversion step;
`and a step of determining, based on the group information
`held by the group information holding means, whether the
`swapping process should be performed on the blocks which
`belong to different chips.
`45
`With the above-described semiconductor memory system,
`consecutive sector numbers are allocated to flash EEPROM
`chips so as to cover the latter and the contents of the
`allocation are stored as address conversion information used
`for converting the logical address from the host system into
`the real memory address. This allows flash EEPROM chips
`to be accessed parallelly, when consecutive sector numbers
`in the same track are specified by the host system. Accord
`ingly, by an existing disk accessing technique in the host
`system of arranging consecutively accessed sectors in the
`same track, the accessing speed of the semiconductor disk
`system can be improved, making possible effective use of
`the semiconductor disk system as an alternative disk unit.
`Additionally, to achieve the swapping process inside and
`outside the memory chips, the correspondence between the
`logical address and the read addresses in the address con
`version information only has to be rewritten, enabling the
`use of an existing disk accessing method. With the above
`described semiconductor memory system, it is possible to
`execute a swapping process in units of chips.
`Additional objects and advantages of the invention will be
`set forth in the description which follows, and in part will be
`
`50
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The accompanying drawings, which are incorporated in
`and constitute a part of the specification, illustrate a pres
`ently preferred embodiment of the invention, and together
`with the general description given above and the detailed
`description of the preferred embodiment given below, serve
`to explain the principles of the invention, in which:
`FIG. 1 is a pictorial diagram of the structure of an address
`sent from the host system in a memory device using
`EEPROMs;
`FIG. 2 shows the arrangement of the individual EEPROM
`chips for explaining the continuous write operations in the
`memory device;
`FIGS. 3A to 3E show an address per page sent from the
`host system, respectively, all the addresses shown in FIGS.
`3A to 3E being consecutive;
`FIGS. 4A to 4D are timing charts for the write operation
`according to the consecutive addresses shown in FIGS. 3A
`to 3E, and correspond to memory chips #0 to #3, respec
`tively;
`FIG. 5 is a flowchart for explaining the swapping process
`in a flash EEPROM;
`FIG. 6 is a block diagram of a semiconductor disk drive
`according to an embodiment of the present invention;
`FIG. 7 is an illustration for explaining the principle of
`allocating addresses to flash EEPROM chips provided in the
`semiconductor disk drive of the embodiment;
`FIG. 8 is an illustration for explaining an example of data
`write unit/erase unit in the flash EEPROM chips provided in
`the semiconductor disk drive of the embodiment;
`FIG. 9 is an illustration for describing a concrete example
`of allocating addresses to the flash EEPROMs provided in
`the semiconductor disk drive of the embodiment;
`FIG. 10 is an illustration for describing a concrete
`example of allocating addresses to the flash EEPROMs
`provided in the semiconductor disk drive of the embodi
`ment,
`FIG. 11 shows an example of the structure of an address
`conversion table provided in the semiconductor disk drive of
`the embodiment;
`FIG. 12 is an illustration for explaining the data write
`operation in the semiconductor disk drive of the embodi
`ment;
`FIG. 13 is a block diagram of a schematic structure of
`each page constituting blocks of the flash EEPROM chips of
`the embodiment;
`FIG. 14 is an illustration of a write count table provided
`in the flash EEPROM chips of the embodiment;
`FIG. 15 is an illustration for describing allocating groups
`in executing the swapping process between the flash
`EEPROM chips of the embodiment;
`FIG.16 is a flowchart for explaining the swapping process
`of the embodiment; and
`FIGS. 17A to 17C are illustrations for describing blocks
`in which the data to be changed by the swapping process of
`the embodiment is stored.
`
`25
`
`30
`
`35
`
`40
`
`55
`
`60
`
`65
`
`KIOXIA Ex-1005, Page 18
`
`

`

`5,572,466
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`7
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`Hereinafter, an embodiment of the present invention will
`be described with reference to the accompanying drawings.
`FIG. 6 shows the structure of a semiconductor disk drive
`according to an embodiment of the present invention. The
`semiconductor disk drive 10 is used as a secondary memory
`for a personal computer in place of a hard disk drive or a
`floppy disk drive, and has a PCMCIA (Personal Computer
`Memory Card International Association) interface or an IDE
`(Integrated Drive. Electronics) interface, for example. The
`semiconductor disk drive 10 is provided with flash
`EEPROM chips 11-0 through 11-4 as data storage elements.
`In these flash EEPROM chips 11-0 through 11-4, the mini
`mum unit of data amount handled in a write or an erase
`operation is determined and the unit amount of data will be
`handled in unison. Here, as an example, it is assumed that
`the flash EEPROM chips 11-0 through 11-4 allow data write
`in pages of 256 bytes and data erase in blocks of 4K bytes.
`In this case, for these flash EEPROMs, it is preferable to use
`Toshiba's 16M-bit NAND flash EEPROMs. Each of the
`flash EEPROMs 11-0 through 11-4 is provided with a WC
`(write count) table explained later, so that the number of
`writes in each block more than a predetermined value may
`be stored in one block of a memory area.
`The semiconductor disk drive 10 comprises an access
`controller 12, a host interface controller 13, a host interface
`14, and a data buffer 15. The access controller 12 provides
`access control of the flash EEPROM chips 11-0 through 11-4
`via the host interface 14 and the host interface controller 13,
`in response to an disk access request supplied from a host
`CPU.
`This access can be achieved by a command method where
`an operation mode of the flash EEPROM chips is specified
`by a command. Specifically, the access controller 12 first
`specifies an operation mode (write, read, erase, verify, etc.)
`of the flash EEPROM chips and then supplies an address (an
`address and the write data in the case of the write mode)
`indicating an access position to the flash EEPROM chips.
`Each flash EEPROM chip is provided with, for example, a
`256-byte input/output register. Thus, for example, in the
`write mode, after the write data has been transferred to the
`register by the access controller 12, a write operation is
`carried out inside the flash EEPROM chips. As a result, the
`access controller 12 is freed from the write access control.
`The access controller 12 is provided with an address
`conversion table 121 and a group table 122. In the address
`conversion table 121, the correspondence between the logi
`cal addresses (the track numbers and the sector numbers)
`from the host CPU and the real addresses for accessing the
`flash EEPROM chips 11-0 through 11-4 is defined. In this
`case, the consecutive sector numbers in the same track are
`arranged so as to cover the flash EEPROM chips 11-0
`through 11-4. In the group table 122, a block of each flash
`EEPROM chip corresponding to one track is defined as a
`group.
`The host interface 14, like a hard disk drive connectable
`to a host system bus, has, for example, a 40-pin arrangement
`conforming with the IDE interface, or like an IC card
`installable in an IC card slot, has, for example, a 68-pin
`arrangement conforming with the PCMCIA interface.
`The host interface controller 13, which is used as an
`interface between the host interface 14 and the access
`controller 12, comprises a real track.sector number register
`131, a register 13 representing the access start position, a
`sector count register 133, and a data register 134. These
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`registers can be read from and written into by the host CPU.
`The register 132 is composed of a sector number register
`132a, a cylinder number register 132b, and a head number
`register 132c.
`The real track.sector number register 131 holds the infor
`mation indicating the number of sectors per track allocated
`to the flash EEPROM chips 11-0 through 11-4. This infor
`mation is read by the host CPU. The access start position
`logical address specified by the host CPU is written into the
`access start position register 132. The data representing the
`data length specified by the host CPU is written into the data
`length register 133. The write data inputted from the host
`CPU or the read data outputted to the host CPU is set in the
`data register 134.
`The data buffer 15 holds the write data sent from the host
`CPU or the read data from the flash memories 11-0 through
`11-4. The access controller 12 selects flash EEPROMs 11-0
`through 11-4 and reads and writes data from and into the
`selected flash EEPROM. In this case, the access controller
`12 selectively supplies chip select signals CS-0 through
`CS-4 to the flash EEPROMs 11-0 through 11-4 in order to
`select the flash EEPROM corresponding to the memory chip
`number outputted from the address conversion table 121.
`The access controller 12 counts up the start address so that
`the data of the size generated with the memory address from
`the address conversion table 121 as the start address and sent
`from the host CPU may be read and written.
`Referring to FIG. 7, the principle of allocating addresses
`to the flash EEPROMs 11-0 through 11-4 will be described.
`In FIG. 7, () represents a write unit. In , the numbers 00,
`01, 02, 03, 04, 05, . . . on the left indicate track numbers
`viewed from the host CPU, and the numbers 00, 0, 02,03,
`04, ... on the right indicate sector numbers viewed from the
`host CPU.
`In this way, a write unit for the flash EEPROMs 11-0
`through 11-4 is allocated consecutive sector numbers in the
`same track viewed from the host CPU so that the numbers
`may cover the flash EEPROMs 11-0 through 11-4. With this
`allocation, when the host CPU specifies a write operation for
`five consecutive sectors in the same track, the flash
`EEPROMs 11-0 through 11-4 are written into parallelly,
`enabling parallel write operation on the five sectors.
`FIG. 8 shows a write unit and an erase unit for the flash
`EEPROM 11-0. As shown, the flash EEPROM 11-0 has an
`erase block size of 4K bytes and is designed to perform a
`write operation in pages of 256 by

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket