15
120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Embed Size (px)

Citation preview

Page 1: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

120/MAPLD 2004

Maintaining Data Integrity in EEPROM’s

Ed Patnaude

Maxwell Technologies

San Diego, Ca

Page 2: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 2 120/MAPLD 2004

Contents

• EEPROM Technology• Sources of Data Corruption• Maintaining Data Integrity• Summary

Page 3: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 3 120/MAPLD 2004

EEPROM Technology

Most EEPROM’s utilize some variation of the

“Floating Gate Technology”

A positively charged gate is read as a logic 0.

Page 4: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 4 120/MAPLD 2004

Sources of Data Corruption

• Software Errors

• Insufficient Hardware Protection

• Programming Issues

Page 5: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 5 120/MAPLD 2004

Sources of Data Corruption

• Software Errors• Inadvertent Writes• Improper Timing / Buss Contention• Programming Across Page Boundaries

Page 6: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 6 120/MAPLD 2004

Sources of Data Corruption

• Insufficient Hardware Protection• Uncontrolled Power On/Off• Uncontrolled Inputs• Excessive Power Supply Noise • Data Buss Contention• No Hardware Write Protection

Implemented

Page 7: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 7 120/MAPLD 2004

Sources of Data Corruption

• Programming Issues

• Setting Write Protect, or Reset, active during a write cycle will halt programming resulting in corrupt data.

• Insufficient supply voltage, during a program cycle, can result in incorrect data being stored.

• Exceeding the manufactures write cycle endurance specification can cause permanent damage to the memory cells leaving them un-programmable.

Page 8: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 8 120/MAPLD 2004

Maintaining Data Integrity

• Hardware Protection • Software Protection• Proper Power Cycling• Error Detection and Correction (EDAC)• Power Supply Supervisory Circuitry• Contingency Plan

Page 9: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 9 120/MAPLD 2004

Maintaining Data Integrity

• Hardware ProtectionMost EEPROM’s have a RESET or Write Protect input, when set active, all erase/writes operations are blocked.

Page 10: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 10 120/MAPLD 2004

Maintaining Data Integrity

• Software Data Protection (SDP)

• SDP locks the memory preventing unintentional erase/writes from occurring.

• Normally implemented using the JEDEC Standard Algorithm

• SDP will only protect the memory contents when the supply voltage is within the normal operating range.

Page 11: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 11 120/MAPLD 2004

Maintaining Data Integrity

• Proper Power Cycling

• Allow Vcc to reach proper operating level before initiating any Reads or Writes to the EEPROM.

• Enable the EEPROM Hardware Write Protection, or Reset, prior to power down.

• Do not remove power while a write cycle is in process.

Page 12: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 12 120/MAPLD 2004

Maintaining Data Integrity

• Error Detection and Protection• Parity Bits• Checksum• Cyclic Redundancy Code• Error Correction Codes

• Hamming Code• Reed-Solomon

Page 13: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 13 120/MAPLD 2004

Maintaining Data Integrity

• Power Supervisory CircuitryMonitor Supply Voltages and provide a RESET signalwhen the voltage drops below a pre-described level

Page 14: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 14 120/MAPLD 2004

Maintaining Data Integrity

• Have a Contingency Plan

• Always verify data after a program cycle to assure an error has not occurred and re-program if necessary.

• Data retention time can be increased by periodically rewriting the data to the EEPROM.

• Have the ability to relocate bad data bytes.

• Use Redundancy if at all possible.

Page 15: 120/MAPLD 2004 Maintaining Data Integrity in EEPROM’s Ed Patnaude Maxwell Technologies San Diego, Ca

Patnaude 15 120/MAPLD 2004

Summary

A robust hardware and software design, along with a contingency plan should corruption occur, can greatly minimize the risk of system failure due to data corruption in a EEPROM.