throbber
Ill 11111 11111R! 141.11990911111 111113 11111 liii
`IIIII!1)111191,1f191)111111111111111111111111111
`111111111111111111111111111
`11111 11111111
`[11] Patent Number: 5,479,639
`5,479,639
`[11] Patent Number:
`[45] Date of Patent: Dec. 26, 1995
`[45] Date of Patent:
`Dec. 26, 1995
`
`United States Patent [19]
`United States Patent [19]
`Ewertz et al.
`Ewertz et al.
`
`[54] COMPUTER SYSTEM WITH A PAGED
`[54] COMPUTER SYSTEM WITH A PAGED
`NON-VOLATILE MEMORY
`NON-VOLATILE MEMORY
`
`[75] Inventors: James H. Ewertz; Orville H.
`Inventors: James H. Ewertz; Orville H.
`[75]
`Christeson, both of Portland; Douglas
`Christeson, both of Portland; Douglas
`L. Gabel, Aloha; Sean T. Murphy,
`L. Gabel, Aloha; Sean T. Murphy,
`Portland, all of Oreg.
`Portland, all of Oreg.
`
`[73] Assignee: Intel Corporation, Santa Clara, Calif.
`[73] Assignee: Intel Corporation, Santa Clara, Calif.
`
`[21] Appi. No.: 279,692
`[21] Appl. No.: 279,692
`[22] Filed: Aug. 26, 1994
`[22] Filed:
`Aug. 26, 1994
`
`Related U.S. Application Data
`Related U.S. Application Data
`
`OTHER PUBLICATIONS
`OTHER PUBLICATIONS
`Markus A. Levy, "Designing with Flash Memory", Circuit
`Markus A. Levy, "Designing with Flash Memory", Circuit
`Cellar Ink, Dec. 1990, pp. 50-58.
`Cellar Ink, Dec. 1990, pp. 50-58.
`Jerry Jex, "Flash Memory BIOS For PC and Notebook
`Jerry Jex, "Flash Memory BIOS For PC and Notebook
`Computers", IEEE, 1990, pp. 692-695.
`Computers", IEEE, 1990, pp. 692-695.
`Waite, et al., "Soul of CP/M", Howard W Sams and Co.,
`Waite, et al., "Soul of CP/M", Howard W Sams and Co.,
`1983, pp. 2-7, 177-182 and 279-322.
`1983, pp. 2-7, 177-182 and 279-322.
`(List continued on next page.)
`(List continued on next page.)
`Primary Examiner—Tod R. Swann
`Primary Examiner—Tod R. Swann
`Assistant Examiner—Hiep T. Nguyen
`Assistant Examiner—Hiep T. Nguyen
`Attorney, Agent, or Finn—Blakely, Sokoloff, Taylor & Zaf-
`Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor & Zaf-
`man
`man
`[57] ABSTRACT
`ABSTRACT
`[57]
`A computer system wherein a paging technique is used to
`A computer system wherein a paging technique is used to
`expand the useable non-volatile memory capacity beyond a
`expand the useable non-volatile memory capacity beyond a
`fixed address space limitation. The computer system of the
`fixed address space limitation. The computer system of the
`preferred embodiment includes a flash memory component
`preferred embodiment includes a flash memory component
`for storing non-volatile code and data including a system
`for storing non-volatile code and data including a system
`BIOS in the upper 128K of memory. The useful BIOS
`BIOS in the upper 128K of memory. The useful BIOS
`memory space is effectively increased while maintaining the
`memory space is effectively increased while maintaining the
`address boundary of the upper 128K region. The address
`address boundary of the upper 128K region. The address
`space of the non-volatile memory device is logically sepa-
`space of the non-volatile memory device is logically sepa-
`rated into distinct pages of memory (Pages 1-4). Using the
`rated into distinct pages of memory (Pages 1-4). Using the
`apparatus and techniques of the present invention, Page 1,
`apparatus and techniques of the present invention, Page 1,
`Page 3 and Page 4 may be individually swapped into the
`Page 3 and Page 4 may be individually swapped into the
`address space originally occupied by Page 1 (the swappable
`address space originally occupied by Page 1 (the swappable
`page area). In the preferred embodiment, Page 2 is held
`page area). In the preferred embodiment, Page 2 is held
`static and thus is not used as a swap area. Each of the
`static and thus is not used as a swap area. Each of the
`swappable pages, Page 1, Page 3, and Page 4, contain
`swappable pages, Page 1, Page 3, and Page 4, contain
`processing logic called swapping logic used during the
`processing logic called swapping logic used during the
`swapping or paging operation. The swapping logic operates
`swapping or paging operation. The swapping logic operates
`in conjunction with paging hardware to effect the swapping
`in conjunction with paging hardware to effect the swapping
`of pages into the swappable page area. The high order
`of pages into the swappable page area. The high order
`processor address lines are input by a page decoder. The
`processor address lines are input by a page decoder. The
`page decoder is used to modify the address actually pre-
`page decoder is used to modify the address actually pre-
`sented to the non-volatile memory device. A page register
`sented to the non-volatile memory device. A page register
`provides a means by which the processor may select a page
`provides a means by which the processor may select a page
`in non-volatile memory. In an alternative embodiment of the
`in non-volatile memory. In an alternative embodiment of the
`present invention, several different forms of configuration or
`present invention, several different forms of configuration or
`identification information may be stored in a page of non-
`identification information may be stored in a page of non-
`volatile memory.
`volatile memory.
`
`14 Claims, 11 Drawing Sheets
`14 Claims, 11 Drawing Sheets
`
`[63] Continuation of Ser. No. 137,376, Oct. 14, 1993, Pat. No.
`[63] Continuation of Ser. No. 137,376, Oct. 14, 1993, Pat. No.
`5,371,876, which is a continuation of Ser. No. 698,318, May
`5,371,876, which is a continuation of Ser. No. 698,318, May
`10, 1991, abandoned.
`10, 1991, abandoned.
`[51] Int. C1.6
`[51] Int. C1.6
`[52] U.S. Cl.
`[52] U.S. Cl.
`
`GO6F 12/02
`GO6F 12/02
`395/430; 395/479; 395/413;
`395/430; 395/479; 395/413;
`395/419; 364/DIG. 1
`395/419; 364/DIG. 1
` 364/200 MS File,
`364/200 MS File,
`
`364/900 MS File; 395/400, 425
`364/900 MS File; 395/400, 425
`
`[58] Field of Search
`[58] Field of Search
`
`[56]
`[56]
`
`References Cited
`References Cited
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`5/1979 Poland 364/706
`4,153,937
`364/706
`5/1979 Poland
`4,153,937
`9/1981 Holtey et al 395/400
`4,290,104
`9/1981 Holtey et al.
`395/400
`4,290,104
`2/1983 Bradley et al. 395/400
`4,374,417
`2/1983 Bradley et al.
`4,374,417
`395/400
`4,441,155
`4/1984 Fletcher et al. 395/400
`4,441,155 4/1984 Fletcher et al.
`395/400
`4,443,847
`4/1984 Bradley et al. 395/425
`4,443,847
`395/425
`4/1984 Bradley et al.
`4,608,632
`8/1986 Kummer 395/425
`4,608,632
`8/1986 Kummer
`395/425
`4,763,333
`8/1988 Byrd 371/66
`4,763,333
`8/1988 Byrd
`371/66
`1/1989 Goss et al 395/700
`4,799,145
`4,799,145
`1/1989 Goss et al.
`395/700
`4,831,522
`5/1989 Henderson et al. 395/425
`4,831,522
`5/1989 Henderson et al.
`395/425
`4,862,349
`4/1989 Foreman et al. 395/700
`4,862,349
`4/1989 Foreman et al.
`395/700
`5,034,915
`7/1991 Styrna et al. 395/275
`7/1991 Styrna et al.
`5,034,915
`395/275
`5,053,990 10/1991 Kreifels et al. 395/425
`5,053,990 10/1991 Kreifels et al.
`395/425
`5,117,492
`5/1992 Nash 395/400
`5,117,492
`5/1992 Nash
`395/400
`5,126,808
`6/1992 Montalvo et al. 357/23.5
`5,126,808
`6/1992 Montalvo et al.
`357/23.5
`5,134,580
`7/1992 Bertram et al. 395/650
`5,134,580
`7/1992 Bertram et al.
`395/650
`8/1992 Bealkowski et al. 395/700
`5,136,713
`8/1992 Bealkowski et al.
`5,136,713
`395/700
`5,142,680
`8/1992 Ottman et al 395/700
`5,142,680
`8/1992 Ottman et al.
`395/700
`5,210,875
`5/1993 Bealkowski et al. 395/700
`5,210,875
`395/700
`5/1993 Bealkowski et al.
`
`POO'
`
`tOCAC
`3.4.11Te0 =AC
`
`316
`Ile
`
`106
`
`xe
`
`PAM
`1011.
`Wyse
`MOOVUM »OS ej3
`PLOW. MOM
`&ea
`Mlaelee.rs,/e owe.d hoe
`meet treelicuix,
`owe le.e.liceliel
`te«01
`Untie
`P.6051b letlatli
`111301.111 Mt MIR Me
`vwla
`ILLILAVEDIgILSYSTIM
`p1.1L--- Vv
`
`t
`
`Mt:COMO
`en11:01.1t.
`
`LOGIC
`
`SWAM. LC.
`ftlAMeGLOIIC
`
`32
`
`r2,4
`
`Page 1
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`5,479,639
`5,479,639
`Page 2
`Page 2
`
`OTHER PUBLICATIONS
`OTHER PUBLICATIONS
`Waite et al., "CP/M Bible", 1983, pp. 5-22 and 100.
`Waite et al., "CP/M Bible", 1983, pp. 5-22 and 100.
`Brett Glass, "The IBM PC BIOS", Byte, Apr. 1989, pp.
`Brett Glass, "The IBM PC BIOS", Byte, Apr. 1989, pp.
`303-310.
`303-310.
`Gus Venditto, "Pipeline", PC Magazine vol. 9, No. 3, Feb.
`Gus Venditto, "Pipeline", PC Magazine vol. 9, No. 3, Feb.
`1990, pp. 1-3.
`1990, pp. 1-3.
`Bill Machrone, "Bill Machrone", PC Magazine, vol. 9, No.
`Bill Machrone, "Bill Machrone", PC Magazine, vol. 9, No.
`
`7, Apr. 1990, pp. 1-2.
`7, Apr. 1990, pp. 1-2.
`Gus Venditto, "Intel's flash memory poised to give laptops
`Gus Venditto, "Intel's flash memory poised to give laptops
`their next great leap", PC Magazine vol. 9, No. 14, Aug.
`their next great leap", PC Magazine vol. 9, No. 14, Aug.
`1990, pp. 1-3.
`1990, pp. 1-3.
`John H. Wharton, "FLASH! memory technology marches
`John H. Wharton, "FLASH! memory technology marches
`on", Microprocessor Report, Aug. 1990, pp. 1-4.
`on", Microprocessor Report, Aug. 1990, pp. 1-4.
`
`Page 2
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`Waled 'S'a
`
`S66I `9Z .3aU
`
`la JO I paqs
`
`100
`100
`Bus
`Bus
`
`106
`106
`
`Data Storage Device
`Data Storage Device
`
`I
`
`103
`103
`
`Memory
`Memory
`Flash
`Flash
`
`Figure 1
`Figure 1
`
`105
`105
`
`Display Device
`Display Device
`
`1
`I
`
`102
`102
`
`Random Access
`Random Access
`
`Memory
`Memory
`
`104
`104
`
`Input Device
`Input Device
`
`
` I
`
`101
`101
`
`Processor
`Processor
`
`Page 3
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995
`U.S. Patent
`Dec. 26, 1995
`
`Sheet 2 of 11 5,479,639
`5,479,639
`Sheet 2 of 11
`
`FIGURE 2
`FIGURE 2
`
`256
`256
`
`11-.1-i-th
`11-1-1-1-11
`SWAPPING LOGIC
`SWAPPING LOGIC
`
`,........
`
`192
`192
`
`FOOD0h
`F0000h
`EFFFFh
`EFFFFh
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`RESERVED FOR SYSTEM (8K) 4
`
`
`
`VIDEO (32K) —
`VIDEO (32K)
`—
`
`128
`128
`
`E000011
`E0000h
`SWAPPING LOGIC —
`SWAPPING LOGIC
`—
`
`—
`
`SWAPPING LOGIC —
`SWAPPING LOGIC
`--•
`
`) PAGE 1
`PAGE 1
`(301)
`(301)
`
`PAGE 2
`PAGE 2
`(302)
`(302)
`
`)PAGE 3
`)PAGE 3
`(303)
`(303)
`
`315
`315
`
`316
`316
`
`306
`306
`
`307
`307
`
`308
`308
`
`309
`309
`
`310
`310
`
`311
`311
`
`312
`312
`
`320
`320
`
`321
`321
`
`) PAGE 4
`PAGE 4
`(304)
`(304)
`
`—.
`'-'
`....
`313
`313
`
`Page 4
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`ivalud 'S'11
`
`H Jo E WIN
`
`MEMORY
`MEMORY
`FLASH
`FLASH
`
`103
`103
`
`00000h - DI-H-Fh (64K)
`00000h - D1-1-1-Th (64K)
`E0000h - Ell-fq-h (64K)
`E0000h - El-t-teh (64K)
`OTHER ADDRESS RANGE (i.e. C0000h - C1-11-1-h)
`OTHER ADDRESS RANGE (i.e. C0000h - C1--H-Fh)
`OTHER ADDRESS RANGE (i.e. D0000h - DFH-q-h)
`OTHER ADDRESS RANGE (i.e. 13000011 - DEH-hh)
`E0000h - El-1H-ii (64K)
`E0000h - EI-11+11 (64K)
`F0000h -11-m+h (64K)
`F0000h -11-ri+h (64K)
`ADDRESS
`ADDRESS
`NON-VOLATILE MEMORY
`NON-VOLATILE MEMORY
`
`00000h - Dil-plii (64K)
`00000h - DI-i-i-i-h (64K)
`N/A
`N/A
`E0000h - El-H-01(64K)
`E0000h - E1-11-1.h (64K)
`N/A
`N/A
`F0000h - 111-11-11 (64K)
`F0000h - 1-11-11.11 (64K)
`4
`4
`F0000h -1.11-trli (64K)
`F0000h - 11-1.11.11 (64K)
`3
`3
`E000011 - Ell-tfh (64K)
`2 (STATIC) E0000h - EN-H-11(64K)
`2 (STATIC)
`F0000h -1-1-1-+Fh (64K)
`F0000h - 1.1-thi-b (64K)
`1
`1
`ADDRESS
`ADDRESS
`PROCESSOR
`PROCESSOR
`
`PAGE
`PAGE
`
`219
`219
`
`FIGURE 3B
`FIGURE 3B
`
`ADDRESS LINES
`ADDRESS LINES
`
`210
`210
`
`218
`218
`
`-7/
`4
`4
`
`PAGE DECODER
`z— PAGE DECODER
`
`217
`217
`
`J
`
`216
`216
`
`211
`211
`
`212
`212
`
`PAGE REGISTER
`PAGE REGISTER
`
`214
`214
`
`FIGURE 3A
`FIGURE 3A
`
`16
`16
`
`4
`
`215
`215
`
`PROCESSOR
`PROCESSOR
`
`101
`101
`
`Page 5
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`Sheet 4 of 11 5,479,639
`U.S. Patent Dec. 26, 1995
`5,479,639
`U.S. Patent
`Sheet 4 of 11
`Dec. 26, 1995
`FIGURE 4
`FIGURE 4
`
`C
`
`PAGE = NEW_PAGE
`101
`
`CT100
`START 100
`PAGE
` = NEW_PAGE
` 101
`V SWITCH_PAGE
` 102
`(D) 103
`
`V
`SWITCH_PAGE
`102
`
`C
`
`END
`103
`
`Page 6
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995 Sheet 5 of 11 5,479,639
`5,479,639
`U.S. Patent
`Dec. 26, 1995
`Sheet 5 of 11
`
`FIGURE 5
`FIGURE 5
`
`START)
`START
`500
`(1
`
`SW_SHADOW_OFF
`501
`
`SW_CACHE_OFF
`502
`
`PAGE >
`MAX_PAGE
`503
`
`4
`NO - 506
`NO 506
`
`PAGE_REG = PAGE_REG
`PAGE_REG = PAGE_REG
`AND PAGE_REG_MASK
`AND PAGE_REG MASK
`OR PAGE
`OR PAGE
`507
`507
`
`PAGE_ENTRY_TABLE
`PAGE_ENTRY_TABLE
`(PAGE*2)
`(PAGE*2)
`508
`508
`
`JUMP TO NEW
`PAGE
`509
`
`YES - 504-b
`YES - 504
`
`PAGE = 1
`PAGE = 1
`505
`505
`
`Page 7
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995 Sheet 6 of 11 5,479,639
`5,479,639
`U.S. Patent
`
`Dec. 26, 1995
`
`Sheet 6 of 11
`
`FIGURE 6
`FIGURE 6
`
`START
`600
`
`IF PAGE
`VALID
`601
`
`YES - 603
`YES - 603
`i v
`
`SW_SWADOW_ON
`SW_SWADOW_ON
`604
`604
`
`SW_CACHE_ON
`SW_CACHE_ON
`605
`605
`
`*
`
`TRUE_ENTRY_POINT
`606
`
`NO - 602
`NO - 602
`
`V
`
`PAGE = error page
`PAGE = error page
`605
`605
`
`SWITCH_PAGE
`SWITCH_PAGE
`
`Page 8
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995 Sheet 7 of 11 5,479,639
`5,479,639
`U.S. Patent
`Dec. 26, 1995
`Sheet 7 of 11
`
`705
`705 I
`
`FIGURE 7a
`FIGURE 7a
`
`'......„,.....
`
`706
`706
`1
`
`1-1+1-1-11
`1-ttakth
`SWAPPING LOGIC
`SWAPPING LOGIC
` —
`
`11-ti-1-h
`11-1-i-h
`SWAPPING LOGIC
`SWAPPING LOGIC
` —
`
`POST Program
`POST Program
`(701)
`(701)
`
`Page 1
`
`Swappable Page Area
`Swappable Page Area
`(700)
`(700)
`
`EFFFFh
`EFFFFh
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K) I
`1
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`.
`
`age 2
`age 2
`
`F0000h
`F0000h
`EFFFFh
`EFFFFh
`RECOVERY BIOS (16K)
`RECOVERY BIOS (I6K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`VIDEO (32K)
`VIDEO (32K)
`
`VIDEO (32K)
`VIDEO (32K)
`
`E0000h
`E0000h
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`E0000h
`E0000h
`
`Setup
`Setup
`Program
`Program
`(703)
`(703)
`
`Page 3
`Page 3
`
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`L -
`
`Run-Time BIOS
`Run-Time BIOS
`(704)
`(704)
`
`Page 4
`Page 4
`
`I
`
`Page 9
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent
`U.S. Patent
`
`Dec. 26, 1995 Sheet 8 of 11 5,479,639
`5,479,639
`Sheet 8 of 11
`Dec. 26, 1995
`
`705
`705
`
`FIGURE 7b
`FIGURE 7b
`
`706
`706
`
`1.1-.1-1-1-11
`H-H-i-n
`SWAPPING LOGIC _
`SWAPPING LOGIC
`
`H-Evrti
`1'1-1-1-1-h
`SWAPPING LOGIC _
`SWAPPING LOGIC
`
`POST Program
`POST Program
`(701)
`(70] )
`
`Page 1
`Page 1
`
`Swappable Page Area
`Swappable Page Area
`(700)
`(700)
`
`EFH-Fh
`El-i-H-ti
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`x
`
`age 2
`agc 2
`
`F0000h
`F0000h
`EFFFFh
`EFF'FFh
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`VIDEO (32K)
`VIDEO (32K)
`
`VIDEO (32K)
`VIDEO (32K)
`
`E0000h
`E0000h
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`E0000h
`E0000h
`
`Setup
`Setup
`Program
`Program
`(703)
`(703)
`
`Page 3
`Page 3
`
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`= -
`3
`
`Run-Time BIOS
`Run-Time BIOS
`(704)
`(704)
`
`Page 4
`Page 4
`
`Page 10
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995 Sheet 9 of 11 5,479,639
`5,479,639
`U.S. Patent
`
`Sheet 9 of 11
`
`Dec. 26, 1995
`
`705
`705
`
`FIGURE 7c
`FIGURE 7c
`r
`r•—
`•
`•
`
`OF
`
`706
`706
`
`I-I-H-1-h
`H-1-1-1-b
`SWAPPING LOGIC _
`SWAPPING LOGIC
`
`I-HI-Ph
`1-1-1-±-1-h
`SWAPPING LOGIC _
`SWAPPING LOGIC
`
`POST Program
`POST Program
`(701)
`(701)
`
`Page 1
`Page 1
`
`Swappable Page Area
`Swappable Page Area
`(700)
`(700)
`
`F0000h
`F0000h
`EFFFFh
`EF1-Fi-b
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`VIDEO (32K)
`VIDEO (32K)
`
`E0000h
`E0000h
`
`z
`
`E1-1-,1-i-th
`El-i-ki-b
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K) I
`RESERVED FOR USER (8K)
`
`1 age 2:
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`/
`
`I
`I
`
`I
`/
`I I
`I
`1
`I
`
`:
`
`a
`
`VIDEO (32K)
`VIDEO (32K)
`
`E0000h .
`E0000h
`SWAPPING LOGIC
`SWAPPING LOGIC
` —
`
`Setup
`Setup
`Program
`Program
`(703)
`(703)
`
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`Pagep
`
`r
`i
`
`=
`
`Run-Time BIOS
`Run-Time BIOS
`(704)
`(704)
`
`Page 4
`Page 4
`
`Page 11
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995 Sheet 10 of 11 5,479,639
`5,479,639
`U.S. Patent
`Sheet 10 of 11
`
`Dec. 26, 1995
`
`...........
`
`.....
`
`705
`705
`l
`
`FIGURE 7d
`FIGURE 7d
` ,......,
`.----
`
`706
`706
`L
`
` ,
`
`i...
`
`,.,
`.'............,..„
`
`1-.1-t-1-1411
`1.1-i-i-i:h
`SWAPPING LOGIC
`SWAPPING LOGIC
` —
`
`1-1-1-1-Fh
`1+11-1,b
`SWAPPING LOGIC .._
`SWAPPING LOGIC
`
`POST Program
`POST Program
`(701)
`(701)
`
`Page 1
`age 1
`
`Swappable Page Area
`Swappable Page Area
`(700)
`(700)
`
`F0000h
`F0000h
`EI-H-..t.n
`EI-1-},Fh
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EA000h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`VIDEO (32K)
`VIDEO (32K)
`
`E0000h
`E0000h
`
`Ell-Hrh
`E1-41.1-h
`RECOVERY BIOS (16K)
`RECOVERY BIOS (16K)
`(Electronically protected from
`(Electronically protected from
`erasure or modification)
`erasure or modification)
`EC000h
`EC000h
`RESERVED FOR USER (8K)
`RESERVED FOR USER (8K)
`EACO0h
`EA000h
`RESERVED FOR SYSTEM (8K)
`RESERVED FOR SYSTEM (8K)
`E8000h
`E8000h
`
`I
`F
`Page
`
`VIDEO (32K)
`VIDEO (32K)
`
`_ E0000h
`E0000h
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`.
`
`Setup
`Setup
`Program
`Program
`(703)
`(703)
`
`SWAPPING LOGIC
`SWAPPING LOGIC
` _
`
`==.
`
`Run-Time BIOS
`Run-Time BIOS
`(704)
`(704)
`
`Page:4
`
`Page 12
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`U.S. Patent Dec. 26, 1995
`U.S. Patent
`Dec. 26, 1995
`
`Sheet 11 of 11 5,479,639
`5,479,639
`Sheet 11 of 11
`
`FIGURE 8
`FIGURE 8
`
`( START )
`( START
`801
`801
`
`NiF
`COPY FLASH UPDATE ROUTINES
`COPY FLASH UPDATE ROUTINES
`TO RANDOM ACCESS MEMORY
`TO RANDOM ACCESS MEMORY
`802
`802
`
`ERASE
`ERASE
`FLASH
`FLASH
`BLOCK YES - 805
`YES - 805
`BLOCK
`804
`804
`
`SUBFUNCTION =02 OR 82H
`SUBFUNCTION = 02 OR 82H
`CLEAR NON-VOLATILE
`CLEAR NON-VOLATILE
`MEMORY?
`MEMORY?
`803
`803
`
`NO - 806
`NO - 806
`
`SU13FUNCTION =03 OR 8311
`SUBFUNCTION = 03 OR 83H
`WRITE NON-VOLATILE
`WRITE NON-VOLATILE
`MEMORY?
`MEMORY?
`807
`807
`
`YES 809
`YES - 809
`iv
`WRITE SLOT INFORMATION IN FLASH
`WRITE SLOT INFORMATION IN FLASH
`NON-VOLATILE MEMORY
`NON-VOLATILE MEMORY
`808
`808
`
`NO 813
`NO 813
`
`V
`UPDATE FLASH NON-VOLATILE
`UPDATE FLASH NON-VOLATILE
`BOOKKEEPING SECTION
`BOOKKEEPING SECTION
`810
`810
`.4
`4
`wir
`V
`RELEASE FLASH UPDATE ROUTINE
`RELEASE FLASH UPDATE ROUTINE
`RANDOM ACCESS MEMORY
`RANDOM ACCESS MEMORY
`811
`811
`
`( CONTINUE NORMAL )
`CONTINUE NORMAL
`PROCESSING
`PROCESSING
`812
`812
`
`Page 13
`
`IPR2021-01338
`ANCORA EX2015
`
`

`

`1
`1
`COMPUTER SYSTEM WITH A PAGED
`COMPUTER SYSTEM WITH A PAGED
`NON-VOLATILE MEMORY
`NON-VOLATILE MEMORY
`
`5,479,639
`5,479,639
`
`This is a continuation of application Ser. No. 08/137,376,
`This is a continuation of application Ser. No. 08/137,376,
`filed Oct. 14, 1993, now U.S. Pat. No. 5,371,876, which is 5
`filed Oct. 14, 1993, now U.S. Pat. No. 5,371,876, which is
`5
`a continuation of Ser. No. 07/698,318, filed May 19, 1991,
`a continuation of Ser. No. 07/698,318, filed May 19, 1991,
`abandoned.
`abandoned.
`
`FIELD OF THE INVENTION
`FIELD OF THE INVENTION
`The present invention relates to the field of computer
`The present invention relates to the field of computer
`systems. Specifically, the present invention relates to the
`systems. Specifically, the present invention relates to the
`field of computer system architectures incorporating a non-
`field of computer system architectures incorporating a non-
`volatile form of basic operating system processing logic.
`volatile form of basic operating system processing logic.
`
`2
`2
`contain processing logic for initializing and controlling
`contain processing logic for initializing and controlling
`many of the hardware systems and resources of the com-
`many of the hardware systems and resources of the com-
`puter system. With the increased functionality of modem
`puter system. With the increased functionality of modern
`computer systems, the complexity of hardware systems and
`computer systems, the complexity of hardware systems and
`resources increases as does the quantity of BIOS code
`resources increases as does the quantity of BIOS code
`required to support them. Also, because of new technologies
`required to support them. Also, because of new technologies
`and capabilities such as Extended Industry Standard Archi-
`and capabilities such as Extended Industry Standard Archi-
`tecture (EISA) systems, flash memory and multi-language
`tecture (EISA) systems, flash memory and multi-language
`support for international operation of a computer system, it
`support for international operation of a computer system, it
`is becoming increasingly unfeasible to fit all desired BIOS
`10
`10 is becoming increasingly unfeasible to fit all desired BIOS
`features within the 128K boundary of the IBM PC AT
`features within the 128K boundary of the IBM PC AT
`architecture. Other varieties of computer systems typically
`architecture. Other varieties of computer systems typically
`have an established limit for the size of their BIOS. Even
`have an established limit for the size of their BIOS. Even
`though the need for expanding the BIOS boundary is grow-
`though the need for expanding the BIOS boundary is grow-
`ing, the boundary cannot be arbitrarily modified without
`15
`15 ing, the boundary cannot be arbitrarily modified without
`losing compatibility with established standards.
`losing compatibility with established standards.
`Thus, a means for expanding the useable BIOS memory
`Thus, a means for expanding the useable BIOS memory
`space without violating established BIOS address boundary
`space without violating established BIOS address boundary
`standards is needed.
`standards is needed.
`
`20
`20
`
`BACKGROUND OF THE INVENTION
`BACKGROUND OF THE INVENTION
`Many prior art computer systems are typically configured
`Many prior art computer systems are typically configured
`at a minimum with a processor, a random access memory
`at a minimum with a processor, a random access memory
`device, and a read only memory device. Some systems, such
`device, and a read only memory device. Some systems, such
`as a variety of calculators, may operate with only a processor
`as a variety of calculators, may operate with only a processor
`and a read only memory device. Read only memory devices
`and a read only memory device. Read only memory devices
`(ROM) provide a non-volatile form of memory that is not
`(ROM) provide a non-volatile form of memory that is not
`destroyed when power is removed from the computer sys-
`destroyed when power is removed from the computer sys-
`tem.
`tem.
`Prior an computer systems are typically bootstrapped (i.e.
`Prior an computer systems are typically bootstrapped (i.e.
`power up initialized) using the processing logic (i.e. firm-
`power up initialized) using the processing logic (i.e. firm-
`ware) stored within the read only memory device internal to
`ware) stored within the read only memory device internal to
`the computer system. Since the read only memory device is
`the computer system. Since the read only memory device is
`non-volatile, the firmware within ROM is guaranteed to
`non-volatile, the firmware within ROM is guaranteed to
`contain valid data or instructions; thus, the prior an computer
`contain valid data or instructions; thus, the prior an computer
`system can be reliably bootstrapped using firmware within
`system can be reliably bootstrapped using firmware within
`ROM. Many computer systems have successfully used this
`ROM. Many computer systems have successfully used this
`technique. One such system is the IBM Personal Computer
`technique. One such system is the IBM Personal Computer
`(PC) developed by the IBM Corporation of Armonk, N.Y.
`(PC) developed by the IBM Corporation of Armonk, N.Y.
`Prior an versions of the IBM PC use read only memory
`Prior an versions of the IBM PC use read only memory
`devices for storage of firmware or a basic input/output
`devices for storage of firmware or a basic input/output
`system (BIOS) software program. The BIOS is an operating
`system (BIOS) software program. The BIOS is an operating
`system that provides the lowest level of software control
`system that provides the lowest level of software control
`over the hardware and resources of the computer system.
`over the hardware and resources of the computer system.
`ROM storage may also be used for non-volatile retention of
`ROM storage may also be used for non-volatile retention of
`network configuration data or application specific data.
`network configuration data or application specific data.
`ROM devices in the prior art include basic read only
`ROM devices in the prior art include basic read only
`memory devices (ROM), programmable read only memory
`memory devices (ROM), programmable read only memory
`devices (PROM), and erasable programmable read only
`devices (PROM), and erasable programmable read only
`memory devices (EPROM). Battery-backed random access
`memory devices (EPROM). Battery-backed random access
`memory devices such as CMOS RAM devices may also be
`memory devices such as CMOS RAM devices may also be
`used for non-volatile retention of network configuration data
`used for non-volatile retention of network configuration data
`or application specific data in a computer system.
`or application specific data in a computer system.
`Although ROM-based computer systems have been very
`50
`Although ROM-based computer systems have been very 50
`successful in the prior art, a number of problems exist with
`successful in the prior art, a number of problems exist with
`the use of these devices in a computer system. Most com-
`the use of these devices in a computer system. Most com-
`puter systems have a finite address space in which each of
`puter systems have a finite address space in which each of
`the computer system resources must operate. These
`the computer system resources must operate. These
`resources include ROM, random access memory (RAM),
`55
`resources include ROM, random access memory (RAM), 55
`input/output devices, and possibly other processors. ROM
`input/output devices, and possibly other processors. ROM
`devices with a BIOS contained therein are typically con-
`devices with a BIOS contained therein are typically con-
`strained to a specific address range within the addsess space
`strained to a specific address range within the addsess space
`available. In order to maintain compatibility with a particu-
`available. In order to maintain compatibility with a particu-
`lar computer architecture, designers and developers in the
`60
`lar computer architecture, designers and developers in the 60
`computer industry create products in reliance on a particular
`computer industry create products in reliance on a particular
`ROM address standard. For example, the IBM PC AT
`ROM address standard. For example, the IBM PC AT
`architecture mandates that the ROM BIOS and other firm-
`architecture mandates that the ROM BIOS and other firm-
`ware based applications are limited to a 128K address space
`ware based applications are limited to a 128K address space
`at the top of the first megabyte of memory. With this
`• 65
`at the top of the first megabyte of memory. With this 65
`architecture, however, the ROM BIOS cannot exceed 128K
`architecture, however, the ROM BIOS cannot exceed 128K
`of ROM space. Within this ROM space, the BIOS must
`of ROM space. Within this ROM space, the BIOS must
`
`SUMMARY OF THE INVENTION
`SUMMARY OF THE INVENTION
`The present invention is a computer system wherein a
`The present invention is a computer system wherein a
`paging technique is used to expand the useable non-volatile
`25 paging technique is used to expand the useable non-volatile
`25
`memory capacity beyond a fixed address space limitation.
`memory capacity beyond a fixed address space limitation.
`The computer system of the preferred embodiment com-
`The computer system of the preferred embodiment com-
`prises a bus for communicating information, a processor
`prises a bus for communicating information, a processor
`coupled with the bus for processing information, a random
`coupled with the bus for processing information, a random
`access memory device coupled with the bus for storing
`30 access memory device coupled with the bus for storing
`30
`information and instructions for the processor, an input
`information and instructions for the processor, an input
`device such as an alpha numeric input device or a cursor
`device such as an alpha numeric input device or a cursor
`control device coupled to the bus for communicating infor-
`control device coupled to the bus for communicating infor-
`mation and command selections to the processor, a display
`mation and command selections to the processor, a display
`device coupled to the bus for displaying information to a
`35 device coupled to the bus for displaying information to a
`35
`computer user, and a data storage device such as a magnetic
`computer user, and a data storage device such as a magnetic
`disk and disk drive coupled with the bus for storing infor-
`disk and disk drive coupled with the bus for storing infor-
`mation and instructions. In addition, the computer system of
`mation and instructions. In addition, the computer system of
`the preferred embodiment includes a flash memory compo-
`the preferred embodiment includes a flash memory compo-
`nent coupled to the bus for storing non-volatile code and
`40 nent coupled to the bus for storing non-volatile code and
`40
`data. Devices other than flash memory may be used for
`data. Devices other than flash memory may be used for
`storing nonvolatile code and data. Using the present inven-
`storing nonvolatile code and data. Using the present inven-
`tion, a paging technique expands the useable non-volatile
`tion, a paging technique expands the useable non-volatile
`memory capacity beyond a fixed address space limitation.
`memory capacity beyond a fixed address space limitation.
`The flash memory device used in the preferred embodi-
`The flash memory device used in the preferred embodi-
`ment contains four separately erasable/programmable non-
`ment contains four separately erasable/programmable non-
`symmetrical blocks of memory. One of these four blocks
`symmetrical blocks of memory. One of these four blocks
`may be electronically locked to prevent erasure or modifi-
`may be electronically locked to prevent erasure or modifi-
`cation of its contents once it is installed. This configuration
`cation of its contents once it is installed. This configuration
`allows the processing logic of the computer system to update
`allows the processing logic of the computer system to update
`or modify any selected block of memory without affecting
`or modify any selected block of memory without affecting
`the contents of other blocks. One memory block contains a
`the contents of other blocks. One memory block contains a
`normal BIOS. The BIOS comprises processing logic instruc-
`normal BIOS. The BIOS comprises processing logic instruc-
`tions that are executed by the processor.
`tions that are executed by the processor.
`In the preferred embodiment, the BIOS is constrained to
`In the preferred embodiment, the BIOS is constrained to
`the upper 128K of the first Mbyte of the addressable memory
`the upper 128K of the first Mbyte of the addressable memory
`space in the computer system. Because of computer system
`space in the computer sy

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