throbber
USOO7139864B2
`
`(12) United States Patent
`Bennett et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,139,864 B2
`Nov. 21, 2006
`
`(54) NON-VOLATILE MEMORY AND METHOD
`WITH BLOCK MANAGEMENT SYSTEM
`(75) Inventors: Alan David Bennett, Edinburgh (GB);
`Alan Douglas Bryce, Edinburgh (GB);
`Sergey Gorobets, Edinburgh (GB);
`Alan Welsh Sinclair, Falkirk (GB);
`Peter John Smith, Scotland (GB)
`
`(*) Notice:
`
`(73) Assignee: SanDisk Corporation, Milpitas, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 539 days.
`(21) Appl. No.: 10/750,155
`
`22) Filed:
`(22) File
`(65)
`
`Dec. 30, 2003
`ec. 5U,
`Prior Publication Data
`
`US 2005/O14436O A1
`
`Jun. 30, 2005
`
`(51) Int. Cl.
`(2006.01)
`G06F 12/00
`(52) U.S. Cl. ....................... 711/103; 711/100; 711/102;
`711/165; 711/200; 711/203; 711/209; 365/185.11;
`365/230.03
`(58) Field of Classification Search ........ 711/102-103,
`711/165
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`8, 1991 Harari
`5,043,940 A
`5,070,032 A 12/1991 Yuan et al.
`5,095,344 A
`3, 1992 Harari
`5,172,338 A 12/1992 Mehrotra et al.
`5,313,421 A
`5, 1994 Guterman et al.
`5,315,541 A
`5, 1994 Harari et al.
`5,343,063 A
`8, 1994 Yuan et al.
`5,367.484 A 1 1/1994 Alexander et al.
`5,404,485 A
`4, 1995 Ban ........................... T11 202
`5,532.962 A
`7, 1996 Auclair et al.
`
`5,570,315 A 10/1996 Tanaka et al.
`5,661,053 A
`8, 1997 Yuan
`5,742,934. A
`4, 1998 Shinohara ................... T11 103
`37. A
`3.
`th
`sy
`al
`5,774,397 A
`6/1998 Endoh et al.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`O887732
`12/1998
`
`EP
`
`(Continued)
`OTHER PUBLICATIONS
`USPTO, “Office Action,” mailed in related U.S. Appl. No.
`10/841,118, filed Jun. 16, 2006, 29 pages.
`(Continued)
`Primary Examiner Matthew Kim
`Assistant Examiner—Zhuo H. Li
`(74) Attorney, Agent, or Firm Parsons Hsue & de Runtz
`LLP
`
`(57)
`
`ABSTRACT
`
`A non-volatile memory system is organized in physical
`groups of physical memory locations. Each physical group
`(metablock) is erasable as a unit and can be used to store a
`logical group of data. A memory management system allows
`for update of a logical group of data by allocating a
`metablock dedicated to recording the update data of the
`logical group. The update metablock records update data in
`the order received and has no restriction on whether the
`recording is in the correct logical order as originally stored
`(sequential) or not (chaotic). Eventually the update meta
`block is closed to further recording. One of several processes
`will take place, but will ultimately end up with a fully filled
`metablock in the correct order which replaces the original
`metablock. In the chaotic case, directory data is maintained
`in the non-volatile memory in a manner that is conducive to
`frequent updates. The system Supports multiple logical
`groups being updated concurrently.
`
`32 Claims, 29 Drawing Sheets
`
`
`
`Request to write sector in L3 (Logical Groupx)
`
`does open update NO
`
`is number of No
`update blocks
`> Ca
`
`chaotic
`update block
`
`sequential
`update block
`
`------------
`
`YES
`
`Close
`sequential
`update block
`for LG
`
`54
`
`539
`
`550;
`
`Chastle Cissural
`No.
`sturber of
`sso 540
`distinct logica:
`sectors s.c.
`consolidate. E .
`chaotic update
`update block
`block for LG,
`for LG
`
`KIOXIA Ex-1007, Page 1
`
`

`

`US 7,139,864 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`8/1998 Lee et al.
`5,798,968 A
`1/1999 Matthews et al. .......... T11 165
`5,860,124 A
`3, 1999 Lee et al.
`5,890,192 A
`5, 1999 Takeuchi et al.
`5,903,495 A
`5, 1999 Estakhri et al.
`5,907,856 A
`6, 1999 So et al.
`5,909,449 A
`7, 1999 Lee et al.
`5,930,167 A
`8, 1999 Ban
`5.937,425 A
`1/2000 Eitan
`6,011,725 A
`3, 2000 Estakhri et al.
`6,034,897 A
`4/2000 Takeuchi et al.
`6,046,935 A
`9, 2000 Estakhri et al.
`6,125,435 A
`6,141,249 A 10, 2000 Estakhri et al.
`6,222,762 B1
`4/2001 Guterman et al.
`6,226,728 B1
`5, 2001 See et al.
`6,272.610 B1
`8/2001 Katayama et al.
`6,377,500 B1
`4/2002 Fujimoto et al.
`6,401,160 B1
`6/2002 See et al.
`6.421,279 B1
`7/2002 Tobita et al.
`6.426,893 B1
`7/2002 Conley et al.
`6,456,528 B1
`9, 2002 Chen
`6,490,649 B1
`12/2002 Sinclair
`6,522,580 B1
`2/2003 Chen et al.
`6,563,734 B1
`5, 2003 Taki
`6,567,307 B1
`5/2003 Estakhri ................ 365,185.11
`6,591,330 B1
`7/2003 Lasser
`6,725,321 B1
`4/2004 Sinclair et al.
`6,763,424 B1* 7/2004 Conley ....................... 711/103
`6,871,259 B1
`3/2005 Hagiwara et al. ........... T11 103
`6,895,464 B1
`5, 2005 Chow et al.
`6,898,662 B1
`5, 2005 Gorobets
`2002/0099904 A1
`7/2002 Conley
`2003.0053334 A1
`3/2003 Chen
`2003/0065899 A1
`4/2003 Gorobets .................... 711/165
`2003.0109093 A1
`6, 2003 Harari et al.
`2003/0110343 A1
`6, 2003 Masato et al.
`2004/O103241 A1
`5/2004 Chang et al. ............... T11 103
`2005, 0141312 A1
`6, 2005 Sinclair et al.
`2005, 0141313 A1
`6, 2005 Gorobets et al.
`2005/0143365 A1
`6/2005 Gorobets et al.
`2005/0144.357 A1
`6, 2005 Sinclair
`2005. O144358 A1
`6/2005 Conley et al.
`2005. O144363 A1
`6, 2005 Sinclair
`2005. O144367 A1
`6, 2005 Sinclair
`2005, 0166087 A1
`7/2005 Gorobets
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`JP
`WO
`
`O 977 121 A2
`1424631 A1
`5314019
`
`2, 2000
`6, 2004
`11, 1993
`8, 2000
`
`WO O2/O58074 A2
`WO
`WO O3,O27828
`WO
`WO O3,O29951 A2
`WO
`WO WO2004/04.0457 A1
`WO WO2004/04O458 A1
`WO WO2004/04.0459 A1
`WO WO2004/040578 A1
`
`7, 2002
`4/2003
`4, 2003
`5, 2004
`5, 2004
`5, 2004
`5, 2004
`
`OTHER PUBLICATIONS
`
`USPTO, “Office Action,” mailed in related U.S. Appl. No.
`10/749,189, filed Apr. 28, 2006, 13 pageS.
`EPO/ISA, "Notification of Transmittal of the International Search
`Report and the Written Opinion of the International Searching
`Authority, or the Declaration' mailed in related PCT/US2004/
`043762 (published as WO 2005/066793 A2) on Apr. 4, 2006, 14
`pages.
`Taiwanese Patent Office, “Preliminary Notice of Rejection of the
`IPO,” mailed in related Taiwanese patent application No.
`093141438 on Mar. 17, 2006, 2 pages.
`EPO/ISA, “Invitation to Pay Additional Fees, Communication
`Relating to the Results of the Partial International Search Report'.
`mailed in related International Application No. PCT/US2004/
`043762 on Dec. 8, 2005, 5 pages.
`EPO/ISA, "Notification of the Transmittal of the International
`Search Report and the Written Opinion of the International Search
`ing Authority, or the Declaration', mailed in related International
`Application No. PCT/US2004/043377 on Dec. 2, 2005, 10 pages.
`Bennett et al., “Scratch Pad Block”, U.S. Appl. No. 11/016,285,
`filed Dec. 16, 2004, 55 pages.
`Chang, Li-Pin et al., “An Adaptive Striping Architecture for Flash
`Memory Storage Systems of Embedded Systems'. Proceedings of
`the Eighth IEEE Real-Time and Embedded Technology and Appli
`cations Symposium, Sep. 24, 2002, pp. 187-196.
`EPO/ISA, "Notification of Transmittal of the International Search
`Report and the Written Opinion of the International Searching
`Authority, or the Declaration', mailed in related PCT/US2004/
`043597 on Aug. 8, 2005, 12 pages.
`EPO/ISA, "Notification of Transmittal of the International Search
`Report and the Written Opinion of the International Searching
`Authority, or the Declaration', mailed in related PCT/US2004/
`043680 on Sep. 23, 2005, 18 pages.
`ISA/EPO, “Communication Relating to the Results of the Partial
`International Search, mailed in related PCT/US2004/043680 on
`Jul. 5, 2005, 3 pages.
`EPO/ISA, "Notification of Transmittal of the International Search
`Report and the Written Opinion of the International Searching
`Authority, or the Declaration', mailed in related PCT/US2004/
`043692 on May 4, 2005, 9 pages.
`Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvola
`tile Memory Cell.” IEEElectron Device Letters, vol. 21, No. 1, Nov.
`2000, pp. 543-545.
`* cited by examiner
`
`KIOXIA Ex-1007, Page 2
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 1 of 29
`
`US 7,139,864 B2
`
`
`
`MEMORY SYSTEM20
`
`Controller 100
`
`Processor 120
`
`Optional
`CoProcessor 121
`
`Optional
`Programmable
`Nonvolatile Memory
`124
`
`Flash Memory 200
`
`FIG. 1
`
`KIOXIA Ex-1007, Page 3
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 2 of 29
`
`US 7,139,864 B2
`
`
`
`HOST 10
`
`Application
`
`OS/
`File System
`
`Clusters(Logical sectors)
`
`Host-side Memory Manager (Optional)
`
`Logical sectors
`
`MEMORY SYSTEM2O
`
`Flash Memory 200
`
`Memory-side Memory
`Manager
`
`Logical to Physical
`Address
`Translation
`
`Update Block
`Manager
`
`Erased Block
`Manager
`
`Metablock Link
`Manager
`
`FIG. 2
`
`KIOXIA Ex-1007, Page 4
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 3 of 29
`
`US 7,139,864 B2
`
`Logical Group () LG,
`
`0 ||
`
`1
`
`...
`
`I k
`
`k+1 ...
`
`Physical Group
`(Metablock)
`
`(ii) MB, 0
`
`1
`
`...
`
`I k
`
`k+1 ...
`
`(iii) MB, k k+1. N-1
`h
`Page Tag
`
`0
`
`1
`
`N-1
`
`N-1
`
`k-1
`
`Logical Group
`
`
`
`Physical Group
`(Metablock)
`
`FIG. 3A
`
`Logical to
`Physical
`Directories
`
`FIG. 3B
`
`KIOXIA Ex-1007, Page 5
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 4 of 29
`
`US 7,139,864 B2
`
`PHYSICAL GROUP's ALIGNMENT WITH MINIMUM ERASE UNITs
`
`
`
`MB
`
`Min. Erase Unit O
`
`1
`
`Min. Erase Unit 1
`
`s.
`
`s. To so,
`
`Min. Erase Unit P-1
`
`serviserum sp.,
`
`(N = PM)
`
`Sector O
`
`overhead
`
`data -
`
`Sector N-1
`
`F.G. 4
`
`KIOXIA Ex-1007, Page 6
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 5 Of 29
`
`US 7,139,864 B2
`
`MEMORY 200
`Chip 0
`Plane OO Plane O1 Plane O2
`
`...
`
`. . . . . . . . . . . . .
`Plane OW
`Plane ZO
`
`Chip Z
`
`
`
`FIG. 5A
`
`MEU
`
`MEU
`
`FIG. 5B
`
`FIG. 5C
`
`KIOXIA Ex-1007, Page 7
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 6 of 29
`
`US 7,139,864 B2
`
`Logical Sectors
`
`- - - - - - - - - - -
`CONTROLLER 100
`
`HOST INTERFACE 110
`
`LOGICAL TO PHYSICAL
`ADDRESS TRANSLATION
`
`
`
`140
`READ
`
`132
`
`WRITE
`
`Allocation
`
`134
`
`136
`
`Block List
`(ABL)
`Cleared
`Block List
`(CBL)
`- 170
`INITIALIZATION
`
`
`
`180
`
`
`
`Flash Memory200
`Group Address 21 O
`Tables (GAT)
`
`Chaotic Block
`Indices (CBI)
`
`UPDATE BLOCK MANAGER
`152
`
`Sequential Update
`
`154
`
`Chaotic Update
`
`
`
`
`
`METABLOCK LINK MANAGER
`
`170
`
`- - - - - - -
`
`KIOXIA Ex-1007, Page 8
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 7 Of 29
`
`US 7,139,864 B2
`
`
`
`Original
`Block
`
`Host Write
`Operation
`#1
`
`|
`
`Operation
`
`Update Block
`(Sequential)
`
`- - as as as as as -
`
`
`
`SEQUENTIAL. UPDATE
`Example
`
`FIG. 7A
`
`KIOXIA Ex-1007, Page 9
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 8 of 29
`
`US 7,139,864 B2
`
`
`
`Original
`Block
`
`
`
`- - -
`
`HOSt Write
`
`- - -
`
`- - - - - - - - - - - - - - - -
`
`Host Write
`
`Host Write
`
`Update Block
`(Sequential)
`
`
`
`2 Key: %
`
`CHAOTIC UPDATE
`(NONSEQUENTIAL)
`Example
`
`FIG. 7B
`
`KIOXIA Ex-1007, Page 10
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 9 Of 29
`
`US 7,139,864 B2
`
`
`
`Original
`Block
`
`Host Write
`Operation
`
`- - - - - - - - - - - - - - -
`| HOSt Write
`Padding
`Operation
`operation
`
`Update Block
`(Sequential)
`
`- - - - - - - -
`
`Key:
`
`
`
`%5% Erased
`
`
`
`
`
`FORCED SEGUENTIAL
`UPDATE
`Example
`
`FIG. 8
`
`KIOXIA Ex-1007, Page 11
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 10 of 29
`
`US 7,139,864 B2
`
`in a nonvolatile memory organized into blocks, each block
`partitioned into memory units that are erasable, each memory unit
`for storing a logical unit of data that are erasable together
`Organizing data into logical groups, each logical group partitioned
`into logical units
`Storing all logical units of a given logical group LG. among
`memory units of a first block according to a first order
`
`Request to write logical unit in LG.
`
`Storing logical unit to a second block dedicated to the given
`logical group acCording to a Second Order
`
`Does a predetermined closure condition exists?
`
`
`
`
`
`
`
`ls Second Order similar to first Order?
`
`
`
`
`
`
`
`
`
`NO
`
`Consolidating onto a third
`block according to the first
`Order a latest version of each
`logical unit of the given logical
`group gathered from the first
`and Second blocks
`
`
`
`260
`
`262
`264
`
`27O
`
`272
`
`274
`
`276
`
`290
`
`Replacing the first block with
`the Second block
`
`Replacing the first block with
`the third block
`
`292
`
`
`
`299
`
`
`
`
`
`
`
`
`
`FIG. 9
`
`KIOXIA Ex-1007, Page 12
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 11 of 29
`
`US 7,139,864 B2
`
`Request to write sector in LG. (Logical Group x)
`
`
`
`
`
`
`
`ls number of
`update blocks
`> CA?
`
`Does open update
`block for LG exist?
`ls Update block
`sequential?
`
`ls sector sequential?
`
`ls address jump > N
`C?
`ls number of
`unfilled phys.
`Sectors > CP
`
`Convert to
`chaotic
`update block
`
`Write padding
`SectOrs
`
`Close
`sequential
`update block
`
`Close least
`active among
`update blocks
`
`
`
`
`
`- - - - - - - - - - - - - - - - - - - - -
`
`Chaotic Closure
`
`ls number of
`distinct logical
`Sectors > C?
`
`
`
`Consolidate
`chaotic update
`block for LG
`
`NO
`
`560
`
`540
`
`
`
`Compact
`chaotic
`update block
`for LG
`
`YES
`
`Close
`sequential
`update block
`for LG
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`KIOXIA Ex-1007, Page 13
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 12 of 29
`
`US 7,139,864 B2
`
`Consolidation
`
`550
`
`Allocate a new update block
`Gather latest version of each logical sector among the
`chaotic update block and its associated original block
`Record the gathered sectors onto the new update block in
`logically sequential order to form an intact block
`Replace the original block with the intact block
`
`Erase the closed out update block and the original block
`
`551
`
`552
`
`554
`
`556
`
`558
`
`FIG. 1 1A
`
`
`
`Compaction
`
`Allocate a new update block
`Gather latest version of each logical sector among the
`existing chaotic update block to be closed out
`Record the gathered sectors onto the new update block to
`form a new update block having Compacted sectors
`Replace the existing update block with the new update
`block having Compacted sectors
`Erase the closed out update block
`
`561
`
`562
`
`564
`
`566
`
`568
`
`FIG. 11B
`
`KIOXIA Ex-1007, Page 14
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 13 Of 29
`
`US 7,139,864 B2
`
`
`
`filling
`
`Sequential
`host Write
`
`SEOUENTIAL
`UPDATE
`
`Consolidation
`
`
`
`sequential
`host Write
`
`
`
`non-sequential
`host Write
`
`
`
`
`
`Compaction
`
`CHAOTIC
`UPDATE
`
`LOGICAL GROUP STATES
`
`F.G. 12A
`
`KIOXIA Ex-1007, Page 15
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 14 of 29
`
`US 7,139,864 B2
`
`
`
`LOGICAL
`GROUP STATE
`
`w
`DESCRIPTION
`
`Intact
`
`Complete Logical Group in logically sequential order in a
`single metablock
`
`UnWritten
`
`No portion of the Logical Group has ever been written
`
`Sequential
`Update
`
`An update segment of the Logical Group is Written to an update
`block without changing its existing sequential nature
`
`Chaotic Update
`
`An update segment of the Logical Group is written to an update
`block in logically non-sequential order
`
`FIG. 12B
`
`KIOXIA Ex-1007, Page 16
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 15 Of 29
`
`US 7,139,864 B2
`
`
`
`eraSUre
`
`CHAOTIC
`UPDATE
`
`
`
`Non-sequential
`Write o copy
`
`SEOUENTIAL
`UPDATE
`
`
`
`last in group
`Sequential write or copy
`
`eaSUe
`
`Sector superseded
`
`PHYSICAL METABLOCK STATES
`
`FIG. 13A
`
`KIOXIA Ex-1007, Page 17
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 16 of 29
`
`US 7,139,864 B2
`
`
`
`METABLOCK
`STATE
`
`DESCRIPTION
`
`All the SectOrS in the metablock are erased
`
`Sequential
`Update
`
`The metablock is partially written with sectors in logically
`Sequential Order, possibly using page tag. All the sectors
`belong to the same logical group.
`
`Non-Sequential
`(Chaotic) Update
`
`The metablock is partially or fully written with sectors in logically
`non-sequential order. Any sector can be written more than
`once. All sectors belong to the same logical group
`
`Intact
`
`The metablock is fully written in logically sequential order,
`pOSSibly using page tag
`
`Original
`9
`
`The metablock was previously Intact but at least one sector has
`been made obsolete by a host data update
`
`FIG. 13B
`
`KIOXIA Ex-1007, Page 18
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 17 Of 29
`
`US 7,139,864 B2
`
`
`
`Operation
`
`Logical Group
`Transitions
`
`Physical Metablock Transitions
`
`(A)
`First Write
`
`(B)
`First Intact
`
`FIGs. 14(A)-14(B)
`
`KIOXIA Ex-1007, Page 19
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 18 Of 29
`
`US 7,139,864 B2
`
`
`
`Operation
`
`Logical Group
`Transitions
`
`Physical Metablock Transitions
`
`(C)
`First
`Chaotic
`
`(D)
`First
`Compact
`ion
`
`(E)
`First
`Consolidat
`ion
`
`Original block
`
`update block
`
`FIGs. 14(C)-14(E)
`
`KIOXIA Ex-1007, Page 20
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 19 Of 29
`
`US 7,139,864 B2
`
`
`
`Operation
`
`Logical Group
`Transitions
`
`Physical Metablock Transitions
`
`original block
`
`update block
`
`(F)
`Sequential
`Write
`
`(G)
`Sequential
`Fi
`
`(H)
`Non
`sequential
`Write
`
`FIGs. 14(F)-14(H)
`
`KIOXIA Ex-1007, Page 21
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 20 of 29
`
`US 7,139,864 B2
`
`
`
`Operation
`
`Logical Group
`Transitions
`
`Physical Metablock Transitions
`
`original
`
`old chaotic
`
`new chaotic
`
`old chaotic
`
`new chaotic
`
`(J)
`Consolidat
`ion
`
`FIGs. 14(I)-14(J)
`
`KIOXIA Ex-1007, Page 22
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 21 of 29
`
`US 7,139,864 B2
`
`-610
`Allocation Block List (ABL) (in Controller RAM)
`- - - - - - - - - - - - - - - - - - - - - - - -
`aa- a--
`
`Seq/
`
`Open Update Block List 614
`ii of Sectors
`
`Page
`
`Closed Update Block List 616
`
`LG | MB
`
`PageTag
`
`MB,
`
`KIOXIA Ex-1007, Page 23
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 22 of 29
`
`US 7,139,864 B2
`
`Chaotic Block Index (CBI) Sector
`
`Chaotic Block Index
`
`Chaotic Block Info
`
`CB Sector index
`
`F.G. 1.6A
`
`
`
`CBI Block 620
`CB Sector for LGo
`CBI Sector for LG,
`CB Sector for LG
`
`CB Sector for LG,
`
`CB Sector for LG, (latest version)
`CB Sector for LG
`CB Sector for LG,
`CB Sector for LG, (last written))
`
`unWritten
`
`FIG. 16B
`
`KIOXIA Ex-1007, Page 24
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 23 Of 29
`
`US 7,139,864 B2
`
`Chaotic Sector Lookup (Logical Group, logical sector)
`
`Begin locating a given logical sector of a given Logical Group
`
`
`
`Locate the last written CBI sector in CBI block
`
`Locate the chaotic update block or original block associated with
`the given logical group by looking up the Chaotic Block info
`field of the last Written CB Sector
`
`
`
`ls the last Written CBI sector directed to given logical group?
`
`650
`
`652
`
`654
`
`658
`
`Locate the CB Sector for the given logical group by looking up
`the Sector Index field of the last written CB Sector
`
`
`
`
`
`
`
`
`
`Locate the given logical sector among either the chaotic block or
`the original block by looking up the Chaotic Block Index field
`Of the located CB Sector
`
`662
`
`FIG. 16C
`
`KIOXIA Ex-1007, Page 25
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 24 of 29
`
`US 7,139,864 B2
`
`Chaotic Sector Lookup (Logical Group, Subgroup, logical sector)
`
`Partition each Logical Group into multiple subgroups and assign
`a CBI sector to each subgroup
`
`Begin locating a given logical sector of a given subgroup of a
`given logical group
`
`Locate the last written CB sector in the CBI block
`
`Locate the chaotic update block or original block associated with
`the given Subgroup by looking up the Chaotic Block Info field
`Of the last Written CBI Sector
`
`ls the last written CBI sector directed to given logical group?
`
`670
`
`68O
`
`682
`
`684
`
`YES
`N 686
`
`Locate the last Written of the multiple CBI sectors for the given
`logical group by looking up the indirect Sector Index field of
`the last Written CB Sector
`
`690
`
`At least a CB sector associated with one of the subgroups for
`the given logical group has been located
`
`691
`YES
`ls the located CBI sector directed to the given subgroup? N
`
`692
`
`Locate the CBI sector for the given subgroup by looking up the
`Direct Sector field of the Current CB Sector located
`
`Locate the given logical sector among either the chaotic block or
`the Original block by looking up the Chaotic Block index field
`of the CBI sector for the given subgroup
`
`694
`
`696
`
`FIG. 16D
`
`
`
`
`
`
`
`
`
`
`
`KIOXIA Ex-1007, Page 26
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 25 Of 29
`
`US 7,139,864 B2
`
`CBI Block
`
`Chaotic ;
`Chaotic : Block
`Sector index
`Info
`:
`Block Index :
`: Direct : Indirect
`
`62O
`?
`
`Last Written
`CB Sector
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`7OO
`
`
`
`Logical
`Group
`Logical
`Subgroup f------
`for "
`B (B.)
`
`- - - - - - -
`
`C
`
`D
`
`Chaotic
`Update
`
`704
`
`E (C,j) (valid)
`
`ast SectOr
`
`Chaotic Block Indexing Structure
`FIG. 16E
`
`KIOXIA Ex-1007, Page 27
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 26 of 29
`
`US 7,139,864 B2
`
`Group Address Table (GAT) sector
`GAT Entries
`GAT Sector Index
`
`GAT entry for LG,
`Metablock
`Page
`Relinked
`Number
`Tag
`Flag
`
`FIG. 17A
`
`GAT Block 720
`GAT Sector 0 (LG - LG.)
`GAT Sector 1 (LG-LG)
`GAT Sector 2 (LG-LG)
`
`GAT Sector 45 (obsolete)
`
`GAT Sector 45 (latest version)
`GAT Sector 55
`GAT Sector 35
`GAT Sector 56 (last written)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`s %
`
`FIG. 17B
`
`KIOXIA Ex-1007, Page 28
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 27 Of 29
`
`US 7,139,864 B2
`
`Allocated
`Control Blocks
`
`Updated Block
`Addr. to GAT
`
`Block Addr.
`from GAT
`
`Erased
`Control Blocks
`
`
`
`
`
`
`
`616
`Closed Update
`BlockS
`
`
`
`1617
`
`(CBL)
`Cleared
`Block List
`
`
`
`Backup of
`ABL after
`each Fill (JE
`
`Fil (e.g., when no blocks
`available in ABL)
`
`Empty
`
`--------------------- -
`
`
`
`
`
`(ABB)
`Available
`Block Buffer
`
`
`
`-1813
`(EBB)
`N
`Erased
`Block Buffer re
`F
`N-IN ;x
`
`MAP Exchange
`(e.g. when EBB
`is empty)
`
`784
`- - - - - - - - - - - - - - - - - - - - - - - - - -
`
`KIOXIA Ex-1007, Page 29
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 28 Of 29
`
`US 7,139,864 B2
`
`Logical
`Sector Address
`
`
`
`
`
`
`
`
`
`
`
`
`
`Sequential
`Update Block
`Address
`Translation
`
`Chaotic
`Update Block
`Address
`Translation
`
`
`
`Closed
`Update Block
`Address
`Translation
`
`ass
`Translation
`aSatC
`
`
`
`
`
`Metablock
`to Physical
`Address
`Translation
`
`
`
`Physical
`Sector Address
`
`890
`
`Address Translation
`FIG. 19
`
`KIOXIA Ex-1007, Page 30
`
`

`

`U.S. Patent
`
`Nov. 21, 2006
`
`Sheet 29 Of 29
`
`US 7,139,864 B2
`
`Update
`Chaotic Sector
`List
`
`RAM
`Data
`Structures
`
`
`
`ontrol Write Operation
`
`
`
`
`
`
`
`Update
`EBM Sector
`
`Update
`GAT Sector
`
`Update
`CB Sector
`
`
`
`
`
`Update
`MAP Sector
`
`ReWrite
`MAP BOCk
`
`
`
`
`
`ReWrite
`GAT Block
`
`ReWrite
`CBI BIOCK
`
`Flash
`Data
`Structures
`
`
`
`Update
`MAPA Sector
`
`Rewrite
`MAPA BIOCk
`
`Update
`Boot Sector
`
`Rewrite
`BOOtBlock
`
`Operations on Control Data Structures
`F.G. 20
`
`KIOXIA Ex-1007, Page 31
`
`

`

`1.
`NON-VOLATILE MEMORY AND METHOD
`WITH BLOCK MANAGEMENT SYSTEM
`
`FIELD OF THE INVENTION
`
`This invention relates generally to non-volatile semicon
`ductor memory and specifically to those having a memory
`block management system.
`
`BACKGROUND OF THE INVENTION
`
`Solid-state memory capable of nonvolatile storage of
`charge, particularly in the form of EEPROM and flash
`EEPROM packaged as a small form factor card, has recently
`become the storage of choice in a variety of mobile and
`handheld devices, notably information appliances and con
`Sumer electronics products. Unlike RAM (random access
`memory) that is also solid-state memory, flash memory is
`non-volatile, and retaining its stored data even after power
`is turned off. Also, unlike ROM (read only memory), flash
`memory is rewritable similar to a disk storage device. In
`spite of the higher cost, flash memory is increasingly being
`used in mass storage applications. Conventional mass Stor
`age, based on rotating magnetic medium Such as hard drives
`and floppy disks, is unsuitable for the mobile and handheld
`environment. This is because disk drives tend to be bulky,
`are prone to mechanical failure and have high latency and
`high power requirements. These undesirable attributes make
`disk-based storage impractical in most mobile and portable
`applications. On the other hand, flash memory, both embed
`ded and in the form of a removable card is ideally suited in
`the mobile and handheld environment because of its small
`size, low power consumption, high speed and high reliability
`features.
`Flash EEPROM is similar to EEPROM (electrically eras
`able and programmable read-only memory) in that it is a
`non-volatile memory that can be erased and have new data
`written or “programmed' into their memory cells. Both
`utilize a floating (unconnected) conductive gate, in a field
`effect transistor structure, positioned over a channel region
`in a semiconductor Substrate, between Source and drain
`regions. A control gate is then provided over the floating
`gate. The threshold Voltage characteristic of the transistor is
`controlled by the amount of charge that is retained on the
`floating gate. That is, for a given level of charge on the
`floating gate, there is a corresponding Voltage (threshold)
`that must be applied to the control gate before the transistor
`is turned “on” to permit conduction between its source and
`drain regions. In particular, flash memory Such as Flash
`EEPROM allows entire blocks of memory cells to be erased
`at the same time.
`The floating gate can hold a range of charges and there
`fore can be programmed to any threshold Voltage level
`within a threshold voltage window. The size of the threshold
`Voltage window is delimited by the minimum and maximum
`threshold levels of the device, which in turn correspond to
`the range of the charges that can be programmed onto the
`floating gate. The threshold window generally depends on
`the memory device's characteristics, operating conditions
`and history. Each distinct, resolvable threshold voltage level
`range within the window may, in principle, be used to
`designate a definite memory state of the cell.
`The transistor serving as a memory cell is typically
`programmed to a “programmed' state by one of two mecha
`nisms. In "hot electron injection, a high Voltage applied to
`the drain accelerates electrons across the Substrate channel
`region. At the same time a high Voltage applied to the control
`
`2
`gate pulls the hot electrons through a thin gate dielectric onto
`the floating gate. In “tunneling injection, a high Voltage is
`applied to the control gate relative to the substrate. In this
`way, electrons are pulled from the substrate to the interven
`ing floating gate. While the term “program' has been used
`historically to describe writing to a memory by injecting
`electrons to an initially erased charge storage unit of the
`memory cell so as to alter the memory state, it has now been
`used interchangeable with more common terms such as
`“write or “record.”
`The memory device may be erased by a number of
`mechanisms. For EEPROM, a memory cell is electrically
`erasable, by applying a high Voltage to the Substrate relative
`to the control gate so as to induce electrons in the floating
`gate to tunnel through a thin oxide to the Substrate channel
`region (i.e., Fowler-Nordheim tunneling.) Typically, the
`EEPROM is erasable byte by byte. For flash EEPROM, the
`memory is electrically erasable either all at once or one or
`more minimum erasable blocks at a time, where a minimum
`erasable block may consist of one or more sectors and each
`sector may store 512 bytes or more of data.
`The memory device typically comprises one or more
`memory chips that may be mounted on a card. Each memory
`chip comprises an array of memory cells Supported by
`peripheral circuits such as decoders and erase, write and read
`circuits. The more Sophisticated memory devices also come
`with a controller that performs intelligent and higher level
`memory operations and interfacing.
`There are many commercially Successful non-volatile
`Solid-state memory devices being used today. These memory
`devices may be flash EEPROM or may employ other types
`of nonvolatile memory cells. Examples of flash memory and
`systems and methods of manufacturing them are given in
`U.S. Pat. Nos. 5,070,032, 5,095,344, 5,315,541, 5,343,063,
`and 5,661,053, 5,313,421 and 6.222,762. In particular, flash
`memory devices with NAND string structures are described
`in U.S. Pat. Nos. 5,570,315, 5,903,495, 6,046,935. Also
`nonvolatile memory devices are also manufactured from
`memory cells with a dielectric layer for storing charge.
`Instead of the conductive floating gate elements described
`earlier, a dielectric layer is used. Such memory devices
`utilizing dielectric storage element have been described by
`Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit
`Nonvolatile Memory Cell.” IEEE Electron Device Letters,
`vol. 21, no. 11, November 2000, pp. 543–545. An ONO
`dielectric layer extends across the channel between Source
`and drain diffusions. The charge for one data bit is localized
`in the dielectric layer adjacent to the drain, and the charge
`for the other data bit is localized in the dielectric layer
`adjacent to the source. For example, U.S. Pat. Nos. 5,768,
`192 and 6,011,725 disclose a nonvolatile memory cell
`having a trapping dielectric sandwiched between two silicon
`dioxide layers. Multi-state data storage is implemented by
`separately reading the binary states of the spatially separated
`charge storage regions within the dielectric.
`In order to improve read and program performance,
`multiple charge storage elements or memory transistors in
`an array are read or programmed in parallel. Thus, a "page'
`of memory elements are read or programmed together. In
`existing memory architectures, a row typically contains
`several interleaved pages or it may constitute one page. All
`memory elements of a page will be read or programmed
`together.
`In flash memory systems, erase operation may take as
`much as an order of magnitude longer than read and program
`operations. Thus, it is desirable to have the erase block of
`
`US 7,139,864 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`KIOXIA Ex-1007, Page 32
`
`

`

`US 7,139,864 B2
`
`3
`Substantial size. In this way, the erase time is amortized over
`a large aggregate of memory cells.
`The nature of flash memory predicates that data must be
`written to an erased memory location. If data of a certain
`logical address from a host is to be updated, one way is
`rewrite the update data in the same physical memory loca
`tion. That is, the logical to physical address mapping is
`unchanged. However, this will mean the entire erase block
`contain that physical location will have to be first erased and
`then rewritten with the updated data. This method of update
`is inefficient, as it requires an entire erase block to be erased
`and rewritten, especially if the data to be updated only
`occupies a small portion of the erase block. It will also result
`in a higher frequency of erase recycling of the memory
`block, which is undesirable in view of the limited endurance
`of this type of memory device.
`Another problem with managing flash memory system
`has to do with system control and directory data. The data is
`produced and accessed during the course of various memory
`operations. Thus, its efficient handling and ready access will
`directly impact performance. It would be desirable to main
`tain this type of data in flash memory because flash memory
`is meant for storage and is nonvolatile. However, with an
`intervening file management system between the controller
`and the flash memory, the data can not be accessed as
`directly. Also, system control and directory data tends to be
`active and fragmented, which is not conducive to storing in
`a system with large size block erase. Conventionally, this
`type of data is set up in the controller RAM, thereby
`allowing direct access by the controller. After the memory
`device is powered up, a process of initialization enables the
`flash memory to be scanned in order to compile the neces
`sary system control and directory information to be placed
`in the controller RAM. This process takes time and requires
`controller RAM capacity, all the more so with ever increas
`ing flash memory capacity.
`U.S. Pat. No. 6,567,307 discloses a method of dealing
`with sector updates among large erase block including
`recording the update data in multiple erase blocks acting as
`scratch pad and eventually consolidating the valid sectors
`among the various blocks and rewriting the sectors after
`rearranging them in logically sequential order. In this way,
`a block needs not be erased and rewritten at every slightest
`update.
`WO 03/027828 and WO OOf 49488 both disclose a
`memory system dealing with updates among large erase
`block including partitioning the logical sector addresses in
`Zones. A Small Zone of logical address range is reserved for
`active system control data separate from another Zone for
`user data. In this way, manipulation of the system control
`data in its own Zone will not interact with the associated user
`data in another

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