Browse Prior Art Database

EEPROM Detection

IP.com Disclosure Number: IPCOM000022480D
Publication Date: 2004-Mar-17
Document File: 3 page(s) / 35K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that dynamically detects EEPROM type and size. Benefits include enabling network adapters to contain various types and sizes of EEPROM parts, without adding additional costs and complex logic.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

EEPROM Detection

Disclosed is a method that dynamically detects EEPROM type and size. Benefits include enabling network adapters to contain various types and sizes of EEPROM parts, without adding additional costs and complex logic.

Background

Many different types of EEPROM devices exist on the market today. Because non-volatile memory (NVM) is becoming more affordable and products are becoming more customized, it is being used more often in many devices. Some devices use larger sized EEPROMs for increased performance, while others use smaller sizes that cost less. However, the various sized EEPROMs require different methods to address the part.

These different requirements can lead to incorrect addressing. Improperly addressed EEPROM reads will return wrong values, while writes risk corrupting the NVM contents. This creates an implementation dilemma for hardware, drivers, and other software written to operate these devices. The device needs to know what type and size EEPROM is on the adapter in order to properly program, configure, and operate the device. While Flash memory generally provides a command to identify the type of memory in use, EEPROMs do not.

General Description

The disclosed method provides an algorithm to determine both the EEPROM type and size. This algorithm can be implemented in hardware or software. While several models of EEPROMs exist on the market, there are some general similarities. First, there are a couple common EEPROM interfaces being used, the main differences being the timing required for reads/writes, and the number of address bits. Table 1 shows the EEPROM sizes, utilized address bits, and address sizes for two EEPROM families, SPI and MICROWIRETM.

Table 1

Each family has a different addressing protocol. During initialization, the EEPROM type and size must be determined. This is done using the following algorithms:

The Type algorithm:

1.      Select a mode such as 9-bit addressable SPI.

2.      Read the first WORD in the EEPROM and cache it off.

3.      Write a signature WORD value into the first WORD. A value such as A55Ah or one that would be unlikely to naturally occur should be used.

4.      Read the first WORD and see if it matches the value just written.

5.      If not, select a different mode such as 16-bit addressable SPI a...