Moving sequential sectors within a block of information in a flash ...
Transcript of Moving sequential sectors within a block of information in a flash ...
United States Patent [19]
Estakhri et al.
US005930815A
5,930,815 Jul. 27, 1999
[11] Patent Number:
[45] Date of Patent:
[54] MOVING SEQUENTIAL SECTORS WITHIN A BLOCK OF INFORMATION IN A FLASH MEMORY MASS STORAGE ARCHITECTURE
[75] Inventors: Petro Estakhri, Pleasanton; Berhanu Iman, Sunnyvale, both of Calif.
[73] Assignee: LeXar Media, Inc., Fremont, Calif.
[21] Appl. No.: 08/946,331
[22] Filed: Oct. 7, 1997
Related US. Application Data
[63] Continuation-in-part of application No. 08/831,266, Mar. 31, 1997, which is a continuation-in-part of application No. 08/509,706, Jul. 31, 1995.
[51] Int. Cl.6 ........................... .. G06F 12/02; G06F 12/10
[52] US. Cl. ........................ .. 711/103; 711/156; 711/165; 711/206
[58] Field of Search ................................... .. 711/103, 156, 711/ 165, 206
[56] References Cited
U.S. PATENT DOCUMENTS
4,405,952 9/1983 Slakmon ................................. .. 360/49
4,450,559 5/1984 Bond etal. .. 395/182.04 4,456,971 6/1984 Fukuda et al. 395/500 4,498,146 2/1985 Martinez ........ .. 711/115
4,525,839 7/1985 NozaWa et al. .. .. 371/102
4,616,311 10/1986 Sato ............... .. 711/206
4,654,847 3/1987 Dutton ........... .. 395/18204
4,710,871 12/1987 Belknap et al. ................. .. 395/20067
(List continued on neXt page.)
FOREIGN PATENT DOCUMENTS
0 557 723 1/1987 Australia . 0 220 718 A2 5/1987 European Pat. Off. . 0 243 503 A1 11/1987 European Pat. Off. . 0 424 191 A2 4/1991 European Pat. Off. . 0 489 204 A1 6/1992 European Pat. Off. . 0 522 780 A2 1/1993 European Pat. Off. . 0 544 252 A2 6/1993 European Pat. Off. .
0 686 976 A2 12/1995 European Pat. Off. .
(List continued on neXt page.)
OTHER PUBLICATIONS
ISBN 0—07—031556—6 Book —Computer Architecture and Parallel Processing, Kai HWang & Faye A. Briggs, McGraW—Hill Book Co., @ 1984, p. 64. 1990 WL 2208325 Magazine—“State of the Art: Magnetic VS. Optical Store Data in a Flash”, by Walter Lahti and Dean McCarron, Byte magazine dated Nov. 1, 1990, 311, vol. 15, No. 12. G11C16/06 P4A1 Magazine—Technology Updates, Inte grated Circuits, “1—Mbit ?ash memories seek their role in system design”, Ron Wilson, Senior Editor, Computer Design magazine 28 (1989) Mar. 1, No. 5, Tulsa OK, US, pp. 30 and 32..
Serial 9Mb F 1992 Symposium of VLSI Circuits Digest of Technical Papers, “EEPROM for Solid State Disk Applica tions”, S. Mehoura et al., SunDisk Corporation, Santa Clara, CA. R. W. Gregor et al., AT&T Bell Laboratories, Allen toWn, PA. pp. 24 and 25.
Primary Examiner—Eddie P. Chan Assistant Examiner—Reginald G. Bragdon Attorney, Agent, or Firm—Maryam Imam
[57] ABSTRACT
A method and apparatus is disclosed for increasing the system performance of a digital system having a controller for controlling nonvolatile devices for storing blocks of information, each block having a group of sectors. When sectors Within a block are being re-Written in sequential order, the controller Writes the neW sector information into a sector location of another block Without the need to move any of the sectors Within the original block thereby reducing the number of read and Write cycles needed to avoid erase-before-Write operations. A ‘used’ ?ag, stored in the sector location of each block, indicates that the sector has been transferred to another block or, alternatively, a move locator Word maintains status information regarding the position of the sectors Within the block that have been moved.
14 Claims, 34 Drawing Sheets
5,930,815 Page 2
US. PATENT DOCUMENTS 5,430,859 7/1995 Norman et a1. ....................... .. 711/103 _ 5,479,638 12/1995 Assaretal. ........................... .. 711/103
4746998 5/1988 Rotimson etal- ~~~~~~~~~~~~~~~~~~~ -- 360/72-1 5,485,595 1/1996 Assaret al. ........................... .. 711/104
4748320 5/1988 YonmOF‘’ 6‘ ‘11' ~ " 235/492 5,524,230 6/1996 Sakaue et a1. .. 711/103 477577474 7/1988 Fukush‘ 6‘ a1" 365/189'07 5,544,356 8/1996 Robinson et a1. .................... .. 707/205 4,774,700 9/1988 Satoh et al. 369/54
5,566,314 10/1996 DeMarco et a1. ..................... .. 711/103 4,800,520 1/1989 707/206 4,896,262 H1990 395500 5,586,285 12/1996 Hasbun et a1. ........................ .. 711/103
4,914,529 4/1990 360/48 4,920,518 4/1990 Nakamura et a1. . 365/228 FOREIGN PATENT DOCUMENTS 4,924,331 5/1990 Robinson et a1. . 360/72.1 4,953,122 8/1990 Williams . . . . . . . . . . . . .. 711/4 93 01908 8/1993 France~
5,070,474 12/1991 Tuma et a1. ..... .. .. 395/500 59-45695 9/1982 Japan
5,226,168 7/1993 Kobayashi et a1. 395/800 58-215794 12/1983 Japan 5,270,979 12/1993 Harari et a1. .... .. 365/185.09 58-215795 12/1983 Japan. 5,297,148 3/1994 Harari et a1. 371/10.2 59-162695 9/1984 Japan. 5,303,198 4/1994 Adachi et a1. . 365/185.11 60-212900 of 1985 Japan. 5,337,275 8/1994 Garner ..... .. 365/189.01 61-96598 5/1986 Japan. 5,341,330 8/1994 Wells et al.. 365/185.33 62-283496 12/1987 Japan. 5,341,339 8/1994 Wells ........... .. 364/185.11 62-283497 12/1987 Japan. 5,353,256 10/1994 Fandrich et al. 365/185.11 63-183700 7/1988 Japan . 5,357,475 10/1994 Hasbun et al. . 711/103 4-332999 11/1992 Japan . 5,388,083 2/1995 Assaretal. ...................... .. 365/185.33 84/00628 2/1984 WIPO.
U.S. Patent Jul. 27, 1999 Sheet 1 0f 34 5,930,815
mam SN 6%
wmoc
Q 0 0 0 I Q 0 0 0 0 0 0 0 0 0 0 0 0
@E 9:
NS @: ‘N: N: 0: mg
E5
95 9v: mmmzgé atwmkagm QSiBwD BOB 9E 95 E5 53%
U.S. Patent Jul. 27, 1999 Sheet 3 0f 34 5,930,815
Actual LBA/ Actual PBA
0 l
Virtual PBA old used del
O
3 4 5
FIG. 4
Actual LBA/ Actual PBA
O l 2 5 4 5 6
Virtual PBA old used def
FIG. 5
Actual LBA/ ACtUmPBA Virtual PBA old used def
FIG. 6
U.S. Patent Jul. 27, 1999 Sheet 4 0f 34 5,930,815
used def old Virtual PBA Actual LBA/ Actual PBA
used def old Virtual PBA Actual LBA/ Actual PBA
U.S. Patent Jul. 27, 1999 Sheet 5 0f 34 5,930,815
Receive Write Instruction 200 To Program Mass Storage
_ l
ll
Erase Flags And Data For NO All Blocks Having A Set
Old/New Flags Reset Detect Flag
Yes l 204
202 \
Locate Block With Unset Used/Free
Flag
Set Used/Free Flag And Program Data File N206
Will Data Supercede Previous
Data ?
Set Old/New Flag On Superceded Block
l
Update Map To Correlate Logical Address To Physical ~2l2
Address
FIG. 9
U.S. Patent Jul. 27, 1999 Sheet 6 0f 34 5,930,815
"w ||||||||||| I97 m3 2 2% 8m \\ Com
m m _w ........................................... L ............ : _ _ _ QT; :61 :0
_ _
n 1( NE m n 5885805 1 68803805 6382855
_ _ _ N ~ ~
_ _
n E: _ 62 § § _w |||||||||| |J_
_ _ _
_ EOE _ _
m 53805805 @N@ m m
_ . ~ N m Em 2? u
H #mm _ W 21m _
_
_ . _ _ _
q . __ 5 n _ _ u w v is; u q
_ . N Eom “ = u
_ 11
n E, E3 _ g 2% n
H m2 " Em _
n a _ N E _rl| |||||| IL“
“ 1 I _ _ mm M __ M
_ _
_ _ @Nm 825:: NE, \( 0E3 3%
h h 2 if 08
_ _ _ 5:228
_F ||||||||||| ||L "I |||||||||||| lwoimlm ||||||||||||||||||||||||||||||||||||||||| |||_ _
wow) #81
U.S. Patent Jul. 27, 1999 Sheet 18 0f 34 5,930,815
750 752 754 756 758 760
ECC Flags Blk Address 00
510 FIG. 22