throbber
United States Patent [191
`Miyauchi
`
`US005627783A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,627,783
`May 6, 1997
`
`[54] SEMICONDUCTOR DISK DEVICE
`
`[75] Inventor: Shigenori Miyauchi. Tokyo. Japan
`
`[73] Assignee: Mitsubishi Denki Kabushiki Kaisha.
`Tokyo. Japan
`
`[21] Appl. No.: 580,410
`[22] Filed:
`Dec. 28, 1995
`[30]
`Foreign Application Priority Data
`
`Jan. 31, 1995
`
`[JP]
`
`Japan .................................. .. 7-014030
`
`[51] Im. Cl.6 ................................................... .. CllC 13/00
`[52] us. (:1. .............. .. ass/185.33; 365/218; 365/230.03
`[58] Field ofSearch ............................. .. 365/185.33.218.
`365/2385. 230.03
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,065,364 11/1991 Atwood ............................ .. 365/185.33
`
`FOREIGN PATENT DOCUMENTS
`
`522780 1/1993 European Pat. 05..
`527924 2/1993 Japan.
`
`Primary Examiner—Terrell W. Fears
`Attorney, Agent, or F irm-Leydig. Voit & Mayer
`
`[57]
`
`ABSTRACT
`
`A semiconductor disk device comprising a ?ash memory
`having a plurality of blocks. and a CPU for converting a
`logical sector address into a physical-logical block number
`and its offset value. for searching for a block and a data
`memory area in the ?ash memory based on the physical
`logical block number and oifset value. and for reading the
`content of the data memory area when no chain data is stored
`in an update data chain information memory area. The block
`comprises a physical-logical block memory area. a plurality
`of data memory areas for storing data. data status ?ag
`memory areas. one disposed corresponding to each of the
`data memory areas. for storing a data status ?ag that
`indicates Whether the data memory area stores data. and
`update data chain information memory areas. one disposed
`corresponding to each of the data memory areas. for storing
`chain information indicative of the destination of data.
`
`The address conversion table for memory management is
`dispensed with and. accordingly. the data areas are
`expanded.
`
`9 Claims, 16 Drawing Sheets
`
`51
`
`HOST
`SYSTEM
`
`53
`
`E
`_.
`
`5
`
`>
`Q
`O
`5
`2
`:
`
`I 4
`
`CPU
`
`2A
`5 ____
`
`I 6
`
`I BA
`
`FLASH
`CONTROL
`CIRCUIT
`
`FLASH
`MEMORY
`
`i____T
`
`/ 7
`
`DATA INPUT/
`OUTPUT
`SECTOR
`BUFFER
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0001
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 1 0f16
`
`5,627,783
`
`QM m
`<m \ w \ w \ m
`
`19%
`
`
`12: 26% |
`65200 3%
`
`Eosmz m
`
`TIL A
`
`F
`1 m
`
`E C
`
`553m
`>92 55 m
`£98m m FDQHDO C
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0002
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 2 of 16
`
`5,627,783
`
`/9A
`
`5/ 9A
`
`r/QA
`
`//9A
`
`[19A
`
`[ABA
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0003
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 3 of 16
`
`5,627,783
`
`FIG. 3
`
`9A
`)
`20PM BLOCK INFORMATSON MEMORY AREA
`
`21 2» DATA MEMORY AREA
`
`/"‘\__ J 22
`“'23
`
`21 *-
`
`/”\._/ 22
`~42?)
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0004
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 4 0f 16
`
`5,627,783
`
`24
`
`25
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0005
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 5 of 16
`
`5,627,783
`
`_ _ _ _ _ _ _ _ _ _ _ _ _
`
`_ _ _ _ _ _ _ _ _ _
`
`_ _
`
`_ - ~
`
`_ u n
`
`_ m Div :6
`
`ll-lllllnll'lllulll'llu‘llllnlllllll.
`
`PM
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0006
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 6 0f 16
`
`5,627,783
`
`@ FIG. 6
`
`RECEIVE
`H43D
`ADDRESS
`
`CHS
`FORMAT '?
`
`YES
`
`NO
`
`coNvERT CHS
`INTO LSA
`<____—___I
`/
`coNvERT LSA
`INTO PLBN
`
`34
`
`READ NUMBER IN
`BLOCK OF FLASH
`MEMORY
`
`f
`
`READ NUMBER IN
`NEXT BLOCK
`
`AGREED
`WITH PLBN ?
`
`CHECK DATA
`N 37
`CHAIN
`INFORMATION
`
`CHAIN
`INFORMATION
`EXISTS ?
`
`READ DATA N 39
`
`@
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0007
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 7 0f 16
`
`5,627,783
`
`/55
`CHECK BLOCK
`HAVING MANY
`FLAGS I I I
`/56
`OEIERMINE
`BLOCK TO BE
`ERAsEO .COPY
`EFFECTIVE
`OATA IN BLOCK
`TO EMPTY AREA
`57
`/
`WRITE BLOCK
`NUMBER OF
`SOURCE BLOCK
`ONTO PLBN IN
`OEsTINATION
`BLOCK
`
`/58
`ERASE
`SOURCE BLOCK
`
`@ FIG. 7
`igggggs A240
`
`CONVERT CH8 x 42
`INTO LsA
`N0
`<—__—1
`
`CONVERT LsA w 43
`INTO PLBN
`III
`REAO BLOCK
`NUMBER IN BLOCK
`OF FLASH MEMORY
`.
`
`/46
`/44
`REAO PLEIN IN
`NEXT BLOCK
`
`45
`
`AGREED
`WITH PLBN '?
`
`READ FLAG "~47
`
`/5I
`CHECK EMPTY
`AREA IN BACKUP
`SECTOR
`
`52
`
`EMPTY
`AREA ExIsTs ?
`
`NO
`
`YES
`
`WRITE DATA . UPDATE _\, 53
`FLAG FROM (m TO [XIII
`\If
`UPDATE PREVIOUS
`DATA FLAG FROM OOI
`TO OI I .WRITE CHAIN
`INFORMATION
`
`WRTTE OATA N 49
`\I
`UPOATE FLAG N 50
`FROM 000 TO 001
`
`END
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0008
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 8 0f 16
`
`5,627,783
`
`195
`
`mm M
`mm \ w \ v \ m
`
`
`
`1211 50% |
`
`405200 3%
`
`E052 m
`
`.6;
`
`
`
`mohmw ..
`
`Ed; 65 zQwE>zoo m
`Eia T
`5&8 m5: w
`wwmmcnz m
`
`C m
`
`a
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0009
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 9 of 16
`
`5,627,783
`
`FIG. 9
`
`EA
`
`F’LBN
`
`PBN
`
`1
`
`2
`
`3
`
`8
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0010
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 10 of 16
`
`5,627,783
`
`198
`
`m W
`w \ w \ v x m
`
`OF
`E< mQma
`
`
`
`19$ 50% |
`
`
`
`SE28 I 3%
`
`n \ m \ m
`
`Eosmz m
`
`\ m
`
`Biz 6% $295 509 m
`wwwmg .u. Q58 zgmmwzso T mosmm
`
`
`
`
`5&8 50mm .595 m
`
`
`
`5Q:
`
`%
`
`1
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0011
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 11 0f 16
`
`5,627,783
`
`FIG. 11
`PRIOR ART
`
`5
`LSA
`
`1
`
`2
`
`3 h
`
`4
`
`PSA
`
`6
`
`1
`
`3
`
`n
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0012
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 12 0f 16
`
`5,627,783
`
`FIG. 12
`PRIOR ART
`
`0
`
`0
`
`-
`
`-
`
`-
`
`,9
`
`9
`
`#9
`
`o
`
`0
`
`-
`
`a
`
`.
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0013
`
`

`
`U.S. Patent
`
`May 6, 1997
`
`Sheet 13 of 16
`
`5,627,783
`
`FIG. I3
`PRIOR ART
`
`9
`I
`1OAVBLOCK INFORMATION MEMORY AREA
`
`1 1“?
`
`DATA MEMORY AREA
`
`»\~12
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0014
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 14 0f 16
`
`5,627,783
`
`OJ
`<11
`
`00
`
`wmco 9:82
`
`U)
`
`ED
`
`P
`
`0
`
`r—(‘\.ID’IJ
`
`RG36)
`
`cu!
`
`FIG. 14 PRIOR
`ART
`
`LO
`
`<1
`CEILJODCOCU
`cigrcum --,Q'
`
`__1
`
`HOST SYSTEM
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0015
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 15 0f 16
`
`5,627,783
`
`FIG. 15
`PRIORART
`
`$8
`
`1 A 1 4 D 4
`2
`5
`8 B 2 6
`
`7 C 310
`
`8
`9
`
`H
`12
`
`£5
`
`LSA PSA
`1
`1
`2
`8
`3
`7
`
`4 5
`
`6
`7
`8
`9
`1O
`11
`12
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0016
`
`

`
`US. Patent
`
`May 6, 1997
`
`Sheet 16 6f 16
`
`5,627,783
`
`FIG. 16
`PRIORART
`
`s8
`
`1 A 14 D 4
`2
`5 B 2
`3 B 2 6
`
`7 c 310
`8
`11
`9
`12
`
`s5
`
`7
`4
`
`LSA 28A
`1
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0017
`
`

`
`5,627,783
`
`1
`SEMICONDUCTOR DISK DEVICE
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to a semiconductor disk
`device such as a semiconductor disk card that uses a ?ash
`memory as its storage medium.
`2. Description of the Related Art
`In the personal computer ?eld. today. magnetic storage
`media such as hard disks are in widespread use to store
`relatively large amounts of data. Although the power con
`sumption of hard disk drives are large. they o?'er excellent
`cost performance.
`Semiconductor disk drive apparatuses have been intro
`duced which drive a semiconductor memory such as a ?ash
`memory in a manner similar to the manner in which the hard
`disk drive apparatus drives a hard disk. Unlike the hard disk
`drive. the semiconductor disk drive contains no mechanical
`parts such as a motor. Although the semiconductor disk
`device is outperformed by the magnetic storage medium
`system in cost performance. the semiconductor disk device
`presents advantages in power consumption and reliability
`over the magnetic storage system. Thus. the demand for the
`semiconductor disk device is growing. in particular. in the
`portable information terminal ?eld
`The ?ash memory has the following features. First. the
`?ash memory is a non-volatile memory electronically pro
`grammable and erasable. Second. the ?ash memory accepts
`no data overwriting on a memory cell that is already
`programmed with data (thus. a programming operation is
`always associated with an erasing operation). Third. the unit
`of erasing ranges from a few bytes to tens of K bytes. Fourth.
`there is a limitation on program/erase cycles.
`Referring to FIGS. 10 through 13. a prior art semicon
`ductor disk device is discussed. FIGS. 10 through 13 show
`a known semiconductor disk device disclosed in Japanese
`Patent Laid-Open 5-27924. FIG. 10 is a block diagram
`showing generally the prior art semiconductor disk device.
`FIG. 11 shows the internal construction of an address
`conversion table of the device of FIG. 10. FIG. 12 shows the
`internal construction of the ?ash memory of the device of
`FIG. 10. FIG. 13 shows the internal construction of the block
`of the ?ash memory of FIG. 12.
`As shown in FIG. 10. the prior art semiconductor disk
`device 2 comprises an interface circuit 3. CPU 4. an address
`conversion table 5. a ?ash control circuit 6. a data input!
`output sector buffer 7. and a ?ash memory 8. CPU 4 is
`construded of MCU. ROM. RAM. I/O port and the like.
`The host system 1 that is connected to the semiconductor
`disk device 2 is typically a notebook computer or a portable
`information terminal. Most of the semiconductor disk
`devices 2 are currently of a removable-card type. The
`interface circuit 3 performs information exchange with the
`host system 1. CPU 4 controls data input and output and
`issues instructions to the ?ash memory 8.
`The logical sector/physical sector address conversion
`table 5 is a table that converts a logical sedor address (LSA)
`into a physical sector address (PSA). LSAis a sector address
`the host system 1 speci?es to the semiconductor disk device
`2. PSA is an address in the ?ash memory 8 used in the
`semiconductor disk device 2.
`The ?ash control circuit 6 performs simple data process
`ing for the ?ash memory 8. For example. simple data
`exchange is accomplished by the ?ash control circuit 6. and
`the rest of the processing is accomplished by CPU 4. The
`
`5
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`2
`data input/output sector buffer 7 is used to output data from
`the ?ash memory 8 through the interface circuit 3 or input
`data through the interface circuit 3 into the ?ash memory 8.
`In FIG. 11. the address conversion table 5 is constructed
`of an LSA storage section and a PSA storage section.
`The LSA storage section stores the logical sector
`addresses. Their contents are ?xed. The PSA storage section
`stores arbitrary sector numbers (1 through n in FIG. 11) for
`the ?ash memory 8. The use of the address conversion table
`5 allows data to be written on the physical sector addresses
`in a way convenient for internal data management. without
`the need for paying attention to the logical address speci?ed
`by the host system 1. The address conversion table 5 is
`typically constructed of an SRAM. because it is frequently
`programmed and erased.
`The capacity of the address conversion table 5 is deter
`mined as follows. Assuming that a ?ash memory 8 of 20
`megabytes is used and that the unit of data for input and
`output (sector) is 512 bytes. the number of sectors in the
`semiconductor disk device 2 is calculated as follows:
`
`Number of sectors in the semiconductor disk device 2:20 mega
`bytes I512 bytes=40960 sectors
`
`The number of bits required to express 40960 in binary is
`as follows:
`
`ln 40960011 2:153
`
`To express 40960. 16 bits are required.
`The necessary capacity of the address conversion table 5
`is 40960x16=655360 bits. In conclusion. the necessary
`capacity is 80 kilobytes.
`In FIG. 12. the ?ash memory 8 is constructed of a
`plurality of blocks 9 and a plurality of backup blocks 9.
`The ?ash memory 8 is a non-volatile memory electroni
`cally programmable and erasable. Because of its non
`volatility. the ?ash memory 8 requires no backup battery.
`unlike DRAM and SRAM. Since the ?ash memory 8 has an
`electronically erasable capability. data modi?cation is per
`formed without detaching the ?ash memory 8 ?'om its board.
`unlike EPROM. Since a single cell stores one bit data. the
`manufacturing cost required is lower than that for an
`EEPROM. These are advantages of the ?ash memory 8. Its
`disadvantages: the maximum erase cycles permitted is
`somewhere between 100000 and 1000000 times; each write
`operation must be associated with an erase operation (data
`overwriting onto a cell that has already stored data is not
`permitted); and erasing operation is performed by block and
`the block, namely. the unit of erasing ranges from a few
`kilobytes to tens of kilobytes.
`As shown in FIG. 13. each block 9 has a block informa
`tion memory area 10 on its header. a plurality of data
`memory areas 11 and a plurality of LSA memory areas 12.
`The erase information memory area 10 stores the current
`block erase count. Each of the data memory areas 11 is
`typically 512 bytes (=one sector) large. Bach sector is
`associated with an LSA memory area 12. When writing data.
`the LSA memory area 12 stores the LSA speci?ed by the
`host system 1. If the logical sector/physical sector address
`conversion table 5 is made of an SRAM. data will be lost
`when power is cut off. When power is back on. the SRAM
`table 5 is reconstructed by searching all sectors in the LSA
`memory areas 12.
`Referring to FIGS. 14. 15 and 16. the operation of the
`prior art semiconductor disk device is discussed FIG. 14 is
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0018
`
`

`
`3
`an explanatory diagram showing the read operation by the
`prior art semiconductor disk device. FIGS. 15 and 16 are
`explanatory diagrams showing the write operation by the
`prior art semiconductor disk device.
`Unlike the hard disk system. the semiconductor disk
`device 2 employing the ?ash memory 8 is unable to over
`write data. Thus. the SRAM stores the address conversion
`table 5 that indicates the logical sector address of the data
`sent from the host system 1 and which physical sector
`address in the ?ash memory 8 is used for storage of the data.
`The use of the table 5 permits an e?icient use of the memory
`areas of the ?ash memory 8.
`Referring to FIG. 14. the data read operation of the
`semiconductor disk device 2 is discussed. The host system
`1 sends to the semiconductor disk device 2 the sector address
`of the data to be read. The address data sent from the host
`system 1 is arranged in two kinds of format: LSA and CHS.
`The LSA format speci?es each sector by a serial number
`from 1 through 11. The CHS format speci?es each data area
`by a combination of three data. namely. of a cylinder. a head
`and a sector used in the hard disk system. The semiconductor
`disk device 2 employs the LSA/PSA address conversion
`table 5. When the host system 1 sends the CHS formatted
`data. the interface circuit 3 converts it into LSA formatted
`data before next processing step.
`CPU 4 address converts the LSA speci?ed by the host
`system 1 into the PSA. referring to the address conversion
`table 5. Finally. the data corresponding to the PSA is read
`from the ?ash memory 8.
`When the LSA speci?ed by the host system 1 is 2. for
`example. the address conversion table 5 converts it into a
`PSA of 6. Accordingly. the data. A. is read. The LSA
`memory area 12 of the PSA. 6. stores 2 as its LSA.
`The write operation of the semiconductor disk device 2 is
`discussed referring to FIGS. 15 and 16. Suppose that data.
`A. B. and C are stored. respectively. in PSAs 1. 3. and 7 in
`the initial condition of the device. It should be noted that the
`?ash memory 8 permits no data overwriting in its write
`operation. In the above initial condition. PSAs 1. 3 and 7 are
`prohibited from overwriting.
`When the host system 1 speci?es an LSA with no data
`written. CPU 4 writes data on any appropriate empty area
`(PSAs 2. 4 through 6. and 8 through 12). and updates the
`data in the address conversion table 5. FIG. 15 shows that
`the host system 1 instructs the writing of data D onto the
`LSA 4. Data D and the LSA speci?ed by the host system I
`are written on the PSA 4. and the PSA. 4. is written on the
`address corresponding to the LSA 4 in the address conver
`sion table 5.
`When the host system 1 instructs the writing onto the area
`having data (for example. writing is attempted under the
`same ?le name already existing). the data to be written is
`written onto an empty area in the ?ash memory 8. and the
`address conversion table 5 is updated. FIG. 16 shows the
`result of the writing of LSA 2. Update data B‘ is written onto
`the empty PSA 5. and the PSA area corresponding to the
`LSA 2 in the address conversion table 5 is changed to 5. The
`CPU 4 in the card should know that the PSA 3 is the data
`already used.
`In the above described semiconductor disk device. the
`address conversion table 5 needs the memory area for
`storing a single PSA on the basis of a sector (the unit of data
`for data management). As the capacity of the ?ash memory
`8 increases. the capacity of the address conversion table 5
`must be increased accordingly.
`SUMMARY OF THE INVENTION
`The present invention has been developed with a view to
`the above-described problem. It is an object of the present
`
`45
`
`SO
`
`55
`
`65
`
`5,627,783
`
`15
`
`20
`
`25
`
`35
`
`4
`invention to provide a semiconductor disk device that
`requires no address conversion table for memory manage
`ment.
`It is another object of the present invention to provide a
`semiconductor disk device having a reduced-capacity
`address conversion table.
`The semiconductor disk device according to the present
`invention comprises a non-volatile. electronically program
`mable and erasable ?ash memory that is erased by the unit
`of block. interface means for exchanging data and address
`with an external system. ?ash control buffer means for
`performing data exchange between the ?ash memory and the
`interface means. and access means for converting the logical
`sector address coming in from the external system into a
`logical block number and for accessing the ?ash memory
`according to the logical block number.
`In the semiconductor disk device according to the present
`invention. said ?ash memory comprises a plurality of
`blocks. each block comprising a physical-logical block
`number memory area for storing a physical-logical block
`number and a plurality of data memory areas for storing
`data. and said access means converts the logical sector
`address coming in from the external system into the
`physical-logical block number and its o?‘set value and
`searches the block having the same physical-logical block
`number to access target data.
`The address conversion table for memory management is
`thus dispensed with. and the data area is accordingly
`expanded.
`The semiconductor disk device according to the present
`invention further comprises an address conversion table for
`converting a logical block number into a physical block
`number. whereby said ?ash memory comprises a plurality of
`blocks. each block comprising a physical-logical block
`number memory area for storing a physical-logical block
`number and a plurality of data memory areas for storing
`data. and said access means converts the logical sector
`address coming in from the external system into the
`physical-logical block number and its offset value. converts
`said converted physical-logical block number into a physical
`block number referring to the address conversion table. and
`accesses target data based on the physical block number and
`the offset value.
`The address conversion table for memory management is
`thus reduced in size. and the data area is accordingly
`expanded.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram showing generally the con
`struction of embodiment 1 of the present invention.
`FIG. 2 shows the internal construction of the ?ash
`memory of embodiment 1 of the present invention.
`FIG. 3 shows the construction of the block in the ?ash
`memory according embodiment 1 of the present invention.
`FIG. 4 shows the block information memory area in the
`erase block according to embodiment 1 of the present
`invention.
`FIG. 5 is an explanatory diagram showing the data read
`operation according to embodiment 1 of the present
`invention.
`FIG. 6 is a ?ow diagram showing the data read operation
`according to embodiment 1 of the present invention.
`FIG. 7 is a ?ow diagram showing the data write operation
`according to embodiment 1 of the present invention.
`FIG. 8 is a block diagram showing generally the con
`struction of embodiment 2 of the present invention.
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0019
`
`

`
`5,627,783
`
`5
`FIG. 9 shows the construction of the address conversion
`table according to embodiment 2 of the present invention.
`FIG. 10 is the block diagram showing the prior art
`semiconductor disk device.
`FIG. 11 shows the construction of the address conversion
`table of the prior art semiconductor disk device.
`FIG. 12 shows the construction of the ?ash memory of the
`prior art semiconductor disk device.
`FIG. 13 shows the block in the ?ash memory of the prior
`art semiconductor disk device.
`FIG. 14 shows the data read operation of the prior art
`semiconductor disk device.
`FIG. 15 shows the data write operation of the prior art
`semiconductor disk device.
`FIG. 16 shows the data write operation of the prior art
`semiconductor disk device.
`
`10
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`Embodiment 1
`
`6
`content is already copied to other memory area for update
`there and ready for erasing).
`Each state is expressed by a combination of bits. For
`example. 000 for an empty memory area. 001 for an occu
`pied memory area (without chain data). 011 for an occupied
`memory area (with chain data). and 111 for used memory
`area. Since the ?ash memory 8A is incapable of overwriting.
`such bit combination is used (bits 010 cannot be used).
`The chain data is used when the host system 1 issues an
`overwrite instruction on the same memory area. Since the
`?ash memory SA has no overwrite capability. data is written
`in another memory area that is empty when data overwriting
`is instructed. In this case. the update data chain information
`memory area 23 stores as the chain data the destination
`memory area of the data so that the destination memory area
`is searched for through the data area prior to transfer.
`In FIG. 4. the block information memory area 20 is
`constructed of an erase count memory area 24. a physical
`logical block number memory area 25. and a memory area
`26 for storing other information.
`The erase count memory area 24 stores the count of erase
`operations that have been performed up until now. Since the
`?ash memory SA has the maximum erase cycles of 100000
`to 1000000 times. the erase count memory area 24 having a
`memory capacity of 3 bytes or so is su?icient enough. The
`physical-logical block number memory area 25 stores a
`physical-logical block number. Unlike the physical block
`number (PEN). the physical-logical block number (PLBN)
`tags each block and each physical-logical block number will
`never be duplicated. Thus. one-to-one correspondence is
`assured between a physical block number and a physical
`logical block number to be used for memory management.
`To manufacture a semiconductor disk card of 20 MB. for
`example. each physical-logical block number needs 2 bytes
`because the number of blocks is 320 or so.
`The address calculation method in the embodiment l is
`now discussed. The address the host system 1 issues is in
`either the CH8 format or LSA format. When an address is
`sent in the CH5 format. the interface circuit 3 converts it into
`an LSA format address. Next. it is associated with a PSA.
`Specifically. a determination is made of which data memory
`area in which block is handled.
`In a storage medium having data overwriting capability
`and with the erase count being of no interest. no problem
`arises at all even if memory management is performed in
`one-to-one correspondence (for example. when an LSA is 1.
`the corresponding PSA is also 1). The LSA is divided by the
`number of data areas within a management block (namely.
`an erase block). The address calculation is performed based
`on the resulting quotient as a physical block number and the
`remainder as an offset value within the physical block. The
`PSAs of read/write data are thus easily determined.
`The ?rst embodiment uses the method of equalizing the
`erase count in each block without using the logical/physical
`address conversion table. To this end. each block 9A has its
`own physical-logical block number (PLBN). The LSA sent
`from the host system 1 is divided by the number of the data
`block in the management block (namely. the erase block).
`The resulting quotient is used as a PLBN and the remainder
`as the o?’set value in the PLBN. In this way. the erase count
`in each block 9A is equalized by rewriting the physical
`logical block number memory area 25 in the block 9A
`without using the address conversion table.
`The operation of the ?rst embodiment is discussed refer
`ring to FIGS. 5 through 7. FIG. 5 shows the read operation
`of the ?rst embodiment. FIG. 6 is the ?ow diagram showing
`
`25
`
`35
`
`50
`
`55
`
`The ?rst embodiment of the present invention is now
`discussed referring to FIGS. 1 through 4. FIG. 1 is a block
`diagram showing generally the construction of the ?rst
`embodiment of the present invention. FIG. 2 shows the
`internal construction of the ?ash memory in the device of
`FIG. 1. FIG. 3 shows the internal construction of the block
`in the ?ash memory of FIG. 2. FIG. 4 shows the internal
`construction of the block information memory area of the
`erase block of FIG. 3. Identical or similar parts are desig
`nated by the same reference numerals throughout the ?g
`ures.
`In FIG. 1. the semiconductor disk device 2A of the ?rst
`embodiment comprises an interface circuit 3. CPU 4. a ?ash
`control circuit 6. a data input/output sector buffer 7. and a
`?ash memory 8A. CPU 4. constituting the access means.
`comprises MCU. ROM. RAM and an I/O port. The ?ash
`control circuit 6 and the data input/output sector buffer 7
`constitute ?ash control buffer means.
`One of the di?erences between the semiconductor disk
`devices 2 and 2A is that the semiconductor disk device 2A
`has no logical sector/physical sector address conversion
`table. Accordingly. the capacity of the ?ash memory 8A is
`increased.
`In FIG. 2. the ?ash memory 8A is constructed of a
`plurality of blocks 9A and a plurality of baclmp blocks 9A.
`The ?ash memory 8A as the main memory is of a block
`erase type ?ash memory (the unit of erase block is 64
`kilobytes). The construction of the internal blocks in the
`?ash memory remains unchanged from the prior art.
`In FIG. 3. each block 9A comprises a block information
`memory area 20 at its header portion. a plurality of data
`memory areas 21. data state ?ags 22. one for each data
`memory area 21. and update data chain information (chain
`data) memory areas 23. Each update data chain information
`memory area 23 stores the logical block number of a
`destination to which data is transferred for update. and its
`o?set value (sector address in the block). Each of the data
`memory areas 21 is typically 512 bytes large (=one sector).
`Each data state ?ag 22 stores the data indicative of the
`state of the respective data memory area 21. Four states of
`the data memory area 21 are contemplated: empty memory
`area. occupied memory area (with chain data). occupied
`memory area (without chain data). used memory area (its
`
`APPLE INC.
`EXHIBIT 1107 - PAGE 0020
`
`

`
`5.627.783
`
`7
`the read operation of the first embodiment. FIG. 7 is the flow
`diagram showing the write operation of the first embodi-
`IIICDI.
`
`The data reading from the semiconductor disk device 2A
`is first discussed referring to FIGS. 5 and 6. As shown in
`FIG. 5. for convenience of explanation. the blocks 9A in the
`flash memory 8A are numbered with physical-logical block
`numbers (0 through 5) at the header portions; each of the
`blocks 9A has 3 data memory areas 21; and physical-logical
`blocks 4 and 5 are baclmps for data saving. If viewed from
`the host system 1. therefore. the capacity of the semicon-
`ductor disk device 2A is 512 bytesx3><4=6 kilobytes. LSAs
`sent from the host system 1 is 0 through 11.
`The semiconductor disk device 1 receives the sector
`information of the data to he read (step 30). This information
`is in either the LSA format or the CH5 format To standard-
`ize the formats to the LSA fomrat. the sector information
`sent in the CH3 format is converted into LSA format data
`(steps 31-32). This conversion may be performed by CPU 4
`in the semiconductor disk device 2A or by a dedicated circuit
`disposed in the semiconductor disk device 2A. The LSA
`format data is then converted into PLBN data (step 33). The
`calculation method for this conversion is as already
`described. This conversion may be also performed by CPU
`4 or a dedicated circuit.
`The above process results in the PLBN and its otfset
`value. Which block 9A in the flash memory 8A the PLBN
`finally obtained corresponds to is determined (step 34
`through 36). First. which block 9A’s infomtation memory
`area 20 in the flash memory SA houses the target physical-
`logical block number is determined.
`Suppose that the data. LSA=5.
`is input from the host
`system 1. According to PLBN conversion. the physical-
`logical block number=5/3:1. and the oflset va1ue=5-(l><3)
`=2. Both are expressed as (l. 2). hereinafter. Furthermore.
`the chain information is read from the update data chain
`information memory area 23 (steps 37-38). No chain infor-
`mation is stored. and the data to be read is A (step 39).
`When the data. LSA=6. is input from the host system 1.
`PLBN conversion results in (2. O). The update data chain
`information memory area 23 at the address (2. 0). storing 40.
`means that the data is transferred to the ofiset 0 at the
`physical-logical block number 4. Accordingly. the data to be
`read is found to be B‘ (steps 38. 34. 35. 37 through 39).
`In the semiconductor disk device having a flash memory
`of 20 megabytes (the size of block 64 kilobytes).
`the
`maximum number of blocks to be searched is equal to the
`number of blocks in the semiconductor disk device. thereby
`being 20 megabytes/64 lcilobytes=320. The maximum num-
`ber of blocks is 320. Files are usually written over continued
`disk areas. and a next search starts with the current block 9A.
`The number of files to be searched.
`in practice. is thus
`dramatically reduced
`In the embodiment 2. this action is performed according
`to a table. In this case. the size of the table is approximately
`one-two-hundred-twenty-seventh (1/227) that of the prior art
`logicallphysical address conversion table. If the table is
`constructed of an SRAM. however. data is lost when power
`is interrupted Thus. the RAM table should be reconstructed
`by making CPU check the correspondence between the
`physical-logical block number and the physical block
`number. when the semiconductor disk device is turned on
`again.
`The data writing to the semiconductor disk device 2A is
`now discussed referring to FIG. 7. Steps 40 through 46 in
`FIG. 7 are identical to steps 30 through 36 in FIG. 6. and
`
`5
`
`8
`their explanation will not be repeated. When the data status
`flag 22 read is 000. data is written onto the data memory area
`21. causing its data status flag to change to 001 (steps 47
`through 50).
`When the data status flag 22 is not 000 at step 48. namely.
`when the host system 1 instructs overwriting (updating) onto
`the data memory area 21 that has its data already written.
`data is written onto any other data memory area 21 that is
`empty in the same block 9A. and its corresponding data
`status flag 22 is set to 001. The data status flag 22 of the data
`memory area 21 that has the data already written is shifted
`from 001 to 011. The physical-logical block number and its
`ofiset value to which the data is newly written are written on
`the update data chain information memory area 23 (steps 48.
`51 through 54). Thus. by tracing the chain. the latest data is
`read.
`
`When no empty data memory areas 21 are available in the
`same block 9A. a block 9A that contains many data status
`flags 711 is searched for. The data status flag 111 is written
`by a delete instruction. Transfer of blocks 9A is involved
`(steps 52.55 through 58). The erase count is also taken into
`consideration.
`’
`First. data in the source. namely. in the block 9A that has
`been found to meet the above condition in the search action
`is transferred to a destination block 9A that is empty. The
`data that has been rendered unnecessary in the course of
`writing is not transferred The oflset value of the data to be
`transferred in the source block 9A is set to agree with the
`otfset value in the destination source block 9A Chain data.
`if any. is also written at the same time. When the transfer of
`the data is completed. the physical-logical block number in
`the source block is written onto the physical-logic

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