Micro Firmware Tech Support

Some General Information on Flash BIOS Chips


Filename: FLASHCHP.TXT
WWW URL:  http://www.firmware.com/support/bios/flashchp.htm
FTP URL:  ftp://ftp.firmware.com/text/flashchp.txt
Revision: 02/16/99  TLS   Micro Firmware Technical Support
Summary:  Some general information on flash chips as used in PC
          systems to store the ROM BIOS.

Flash chips are a relatively new type of non-volatile memory chip that can be erased and reprogrammed without being removed from the system they are used in. Flash chips are sometimes referred to as flash ROMs or flash EEPROMs (Electrically Eraseable Programable Read Only Memory). While this may be acceptable usage, technically flash memory is a distinct and different type of technology.

Flash chips began to be used on PC motherboards in the early-to-mid 1990's to store the system ROM BIOS. This allows motherboard manufacturers to make BIOS updates available electronically (such as through FTP sites, web sites, and BBSs or on diskette), instead of requiring chips to be removed and replaced.

There are many types, packages, and capacities of flash chips made by various manufacturers. The ones that we have seen most commonly used on motherboards are 32-pin PLCC chips, specifically the Intel N28F001BXT. This chip is about 5/8" by 1/2" in size.

A functionally equivalent chip in a DIP package, the Intel P28F001BXT, is also commonly used on PC motherboards.

The Intel N28F001BXT chip has a capacity of 128KB (1 megabit). It is divided into several sections or "blocks". The Main Block is 112KB, the Boot Block is 8KB, and two Parameter Blocks are 4KB each. Programming voltage of 12 volts must be enabled in order to erase the chip, which must be done before it can be programmed.

The boot block is a protected area that is not erased when the main blocks of the chip are reprogrammed in the system. The boot block normally contains special code known as "boot block code" that can be activated to restore a BIOS into the chip if the BIOS code has become corrupt or if the BIOS has been erased or if the chip has been accidentally reprogrammed with the wrong BIOS code.

Here is a diagram of the Intel N28F001BXT:


System address: _______________
FFFFF | | 8KB Boot Block
|______________ |
|______________ | 4KB Parameter Block
|_______________| 4KB Parameter Block
FBFFF | |
| |
| |
| 48KB |
| |
F0000 | _________ |
EFFFF | | 112KB Main Block
| |
| |
| |
| 64KB |
| |
| |
| |
| |
E0000 |_______________|

On many systems, address line A16 to the flash chip is inverted, which causes the chip to be addressed as if the top and bottom halves are interchanged as is shown below:


Non-inverted Inverted
_______________ _______________ FFFFF | |8K Boot Blk FFFFF | |
|______________ | | |
|______________ |4K Parm Blk | |
|_______________|4K Parm Blk | |
| | | | 64K BIOS
| |48K BIOS | |
| | | |
| | | |
| | | | F0000 |_______________| F0000 |______________| EFFFF | | EFFFF | | 8K Boot Blk
| | |______________|
| | |______________| 4K Parm Blk
| | |______________| 4K Parm Blk
| |64K BIOS | |
| | | |
| | | | 48K BIOS
| | | |
| | | | E0000 |_______________| E0000 |______________|

When a PC is powered on, the 80x86 CPU loads its CS:IP registers with F000:FFF0, which tells it where to go from there. Normally, the next step is to copy the BIOS code into RAM (known as shadowing). On most newer PCs, the system ROM BIOS is always shadowed. It is much faster to access the BIOS from RAM than to access it from a ROM chip or flash chip. Also on systems with flash BIOSes, the BIOS code may not be contiguous in the flash chip and may also be compressed, so that it is not ready to do its job until it has been copied to RAM.

The boot block code can be implemented in various ways. In the inverted model above, the two halves of the chip can be reversed with a jumper or switch on the motherboard so that the boot block code appears at the top and will load into memory and execute instead of the system BIOS. Normally the boot block code consists of a small program that will erase the flash chip and reprogram it with code on a diskette in drive A:.

On some systems the flash chip is not ever inverted and the boot block code which appears at the top of the chip will run on every boot and will check to see if the BIOS is corrupt or missing. If the BIOS is OK, the boot block code jumps to the appropriate location to let the BIOS take over. If the boot block code finds that the BIOS is not functional, it should then attempt to reprogram the chip using the contents of a diskette in drive A:.

Some boot block code will program a chip with whatever happens to be on a diskette. Many computer users accidentally reprogram their flash chips with DOS boot disks and various other diskettes. The diskette that is used for the boot block recovery procedure (known as a BIOS recovery disk) must be in a particular format, which varies from system to system. Some recovery disks use a non-DOS format, so that they may not be accessible under DOS or Windows. Some boot block programs will verify that a diskette is a valid recovery disk before proceeding. Some boot block programs will turn control over to a program on the recovery disk.

Flash chips can go bad just as any other type of chip can. Normally flash chips are socketted, in which case they can be easily replaced, but on many motherboards (specifically Intel motherboards) they are soldered on, making replacement difficult and impractical. Some people are concerned about the fact that flash chips can be written to a limited number of times. The standard flash chip used on PCs can be written to 100,000 times, so this really is not a reason for concern. A flash chip can be defective in such a way that it may function just fine with the system's BIOS code being read from it on every boot but will not allow erase or new code to be programmed into it. If it cannot be erased then it cannot be reprogrammed. Sometimes a defective flash chip will erase but cannot be reprogrammed.

Most motherboard manuals and PC system manuals do not adequately (or even at all) address the issues of BIOS updates and BIOS recovery disks. These issues are the responsibility of the motherboard manufacturer and/or system vendor. Many computer technicians are not familiar with issues concerning flash BIOSes and will assume that a motherboard is dead and must be replaced when it really just needs to have a BIOS flashed in with a recovery disk. Many system vendors are not equipped to deal with these issues. It may sometimes be useful to consult with the manufacturer of the motherboard if the system vendor is unable to help. Micro Firmware is able to provide assistance only on motherboards for which we have developed BIOS upgrades. We make BIOS recovery disks for these motherboards available to anyone who needs them through our BBS and FTP site. Note that companies such as AMI, Award, and Phoenix, who license BIOS source code to manufacturers, are not able to provide any assistance to end users as they did not write the BIOS as actually implemented on a particular system.

We have Intel N28F001BXT flash chips available for $19.95 plus shipping. Note that the chip will not be of any use unless code has been programmed into it.

It is very easy to damage a PLCC flash chip or its socket when removing or replacing the chip. There should be notches on two diagonally opposite corners of the socket. While it is possible to use various items such as a strong paperclip to remove the chip, it is advisable to use the correct tool, a PLCC chip extractor, to avoid damaging the socket or the chip. It is also possible to insert a flash chip into the socket backwards. This will normally result in the chip being destroyed when the system is powered on.

Here are some part numbers and sources for PLCC extractors:

AMP 821903-1

OK Industries EX-5

Radio Shack - #276-2101

The AMP and the OK tools are available from Digikey at 800-344-4539


Detailed information on flash memory can be found in a 2-volume set of books from Intel titled "Flash Memory: Volume 1" and "Flash Memory: Volume 2". These books are published by McGraw Hill, whose phone number is 800-722-4726.

Much of the information contained in these books is also available on Intel's web site at this URL:

http://developer.intel.com/design/flash/


SALES - SUPPORT - CONTACT - LINKS - HOME


Micro Firmware, Inc.
330 W. Gray Street
Norman, Oklahoma 73069-7111
Toll-Free Sales (USA/Canada): 1-800-767-5465 or 1-888-4-PC-BIOS
Support & Sales: +1 405-321-8333
Sales Department FAX: +1 405-573-5535
Technical Support FAX: +1 405-321-8342
Email: sales@firmware.com support@firmware.com

© 1998 Micro Firmware, Inc. - All Rights Reserved
While every attempt is made to ensure the accuracy of our support documents, Micro Firmware provides these documents on an AS-IS basis for information purposes only.