FM24C64 64Kb FRAM Serial Memory Features 64K bit Ferroelectric Nonvolatile RAM • Organized as 8,192 x 8 bits • High Endurance 1 Trillion (1012) Read/Writes • 45 Year Data Retention • NoDelay™ Writes • Advanced High-Reliability Ferroelectric Process Fast Two-wire Serial Interface • Up to 1 MHz maximum bus frequency • Direct hardware replacement for EEPROM • Supports legacy timing for 100 kHz & 400 kHz Description The FM24C64 is a 64-kilobit nonvolatile memory employing an advanced ferroelectric process. A ferroelectric random access memory or FRAM is nonvolatile and performs reads and writes like a RAM. It provides reliable data retention for 45 years while eliminating the complexities, overhead, and system level reliability problems caused by EEPROM and other nonvolatile memories. Low Power Operation • 5V operation • 150 µA Active Current (100 kHz) • 10 µA Standby Current Industry Standard Configuration • Industrial Temperature -40° C to +85° C • 8-pin SOIC (-S) • “Green” 8-pin SOIC (-G) Pin Configuration A0 A1 A2 1 8 2 7 3 6 VSS 4 5 VDD WP SCL SDA The FM24C64 performs write operations at bus speed. No write delays are incurred. Data is written to the memory array in the cycle after it has been successfully transferred to the device. The next bus cycle may commence immediately. The FM24C64 is capable of supporting 1012 read/write cycles, or a million times more write cycles than EEPROM. These capabilities make the FM24C64 ideal for nonvolatile memory applications requiring frequent or rapid writes. Examples range from data collection where the number of write cycles may be critical, to demanding industrial controls where the long write time of EEPROM can cause data loss. The combination of features allows more frequent data writes with less overhead for the system. The FM24C64 provides substantial benefits to users of serial EEPROM, yet these benefits are available in a hardware drop-in replacement. The FM24C64 is available in an industry standard 8-pin SOIC package using a two-wire protocol. The specifications are guaranteed over an industrial temperature range of -40°C to +85°C. This product conforms to specifications per the terms of the Ramtron standard warranty. The product has completed Ramtron’s internal qualification testing and has reached production status. Rev. 3.0 Mar. 2005 Pin Names A0-A2 SDA SCL WP VSS VDD Function Device Select Address Serial Data/address Serial Clock Write Protect Ground Supply Voltage 5V Ordering Information FM24C64-S FM24C64-G 8-pin SOIC “Green” 8-pin SOIC Ramtron International Corporation 1850 Ramtron Drive, Colorado Springs, CO 80921 (800) 545-FRAM, (719) 481-7000 www.ramtron.com 1 of 12 FM24C64 Address Latch Counter 1,024 x 64 FRAM Array 8 SDA Serial to Parallel Converter Data Latch SCL WP Control Logic A0-A2 Figure 1. FM24C64 Block Diagram Pin Description Pin Name A0-A2 I/O Input SDA I/O SCL Input WP Input VDD VSS Rev. 3.0 Mar. 2005 Supply Supply Pin Description Address 2-0: These pins are used to select one of up to 8 devices of the same type on the same two-wire bus. To select the device, the address value on the three pins must match the corresponding bits contained in the device address. Serial Data Address: This is a bi-directional pin used to shift serial data and addresses for the two-wire interface. It employs an open-drain output and is intended to be wireOR’d with other devices on the two-wire bus. The input buffer incorporates a Schmitt trigger for noise immunity and the output driver includes slope control for falling edges. A pull-up resistor is required. Serial Clock: The serial clock input for the two-wire interface. Data is clocked out of the device on the SCL falling edge, and clocked in on the SCL rising edge. The SCL input also incorporates a Schmitt trigger input for improved noise immunity. Write Protect: When WP is high, addresses in the upper quadrant of the logical memory map will be write-protected. Write access is permitted to the lower threequarters of the address space. When WP is low, all addresses may be written. This pin must not be left floating. Supply Voltage: 5V Ground 2 of 12 FM24C64 Overview Two-wire Interface The FM24C64 is a serial FRAM memory. The memory array is logically organized as a 8,192 x 8 bit memory array and is accessed using an industry standard two-wire interface. Functional operation of the FRAM is similar to serial EEPROMs. The major difference between the FM24C64 and a serial EEPROM with the same pinout relates to its superior write performance. The FM24C64 employs a bi-directional two-wire bus protocol using few pins and little board space. Figure 2 illustrates a typical system configuration using the FM24C64 in a microcontroller-based system. The industry standard two-wire bus is familiar to many users but is described in this section. Memory Architecture When accessing the FM24C64, the user addresses 8,192 locations each with 8 data bits. These data bits are shifted serially. The 8,192 addresses are accessed using the two-wire protocol, which includes a slave address (to distinguish from other non-memory devices), and an extended 16-bit address. Only the lower 13 bits are used by the decoder for accessing the memory. The upper three address bits should be set to 0 for compatibility with larger devices in the future. The memory is read or written at the speed of the two-wire bus. Unlike an EEPROM, it is not necessary to poll the device for a ready condition since writes occur at bus speed. That is, by the time a new bus transaction can be shifted into the part, a write operation is complete. This is explained in more detail in the interface section below. Users can expect several obvious system benefits from the FM24C64 due to its fast write cycle and high endurance as compared with EEPROM. However there are less obvious benefits as well. For example in a high noise environment, the fast-write operation is less susceptible to corruption than an EEPROM since it is completed quickly. By contrast, an EEPROM requiring milliseconds to write is vulnerable to noise during much of the cycle. By convention, any device that is sending data onto the bus is the transmitter while the target device for this data is the receiver. The device that is controlling the bus is the master. The master is responsible for generating the clock signal for all operations. Any device on the bus that is being controlled is a slave. The FM24C64 always is a slave device. The bus protocol is controlled by transition states in the SDA and SCL signals. There are four conditions: Start, Stop, Data bit, and Acknowledge. Figure 3 illustrates the signal conditions that specify the four states. Detailed timing diagrams are shown in the Electrical Specifications section. VDD Rmin = 1.8 KΩ Rmax = tR/Cbus Microcontroller SDA SCL SDA SCL FM24C64 FM24C64 A0 A1 A2 A0 A1 A2 Figure 2. Typical System Configuration Note that the FM24C64 contains no power management circuits other than a simple internal power-on reset. It is the user’s responsibility to ensure that VDD is within datasheet tolerances to prevent incorrect operation. Rev. 3.0 Mar. 2005 3 of 12 FM24C64 Figure 3. Data Transfer Protocol Stop Condition A Stop condition is indicated when the bus master drives SDA from low to high while the SCL signal is high. All operations must end with a Stop condition. If an operation is pending when a stop is asserted, the operation will be aborted. The master must have control of SDA (not a memory read) in order to assert a Stop condition. Start Condition A Start condition is indicated when the bus master drives SDA from high to low while the SCL signal is high. All read and write transactions begin with a Start condition. An operation in progress can be aborted by asserting a Start condition at any time. Aborting an operation using the Start condition will ready the FM24C64 for a new operation. If during operation the power supply drops below the specified VDD minimum, the system should issue a Start condition prior to performing another operation Data/Address Transfer All data transfers (including addresses) take place while the SCL signal is high. Except under the two conditions described above, the SDA signal should not change while SCL is high. Acknowledge The Acknowledge takes place after the 8th data bit has been transferred in any transaction. During this state the transmitter should release the SDA bus to allow the receiver to drive it. The receiver drives the SDA signal low to acknowledge receipt of the byte. If the receiver does not drive SDA low, the condition is a No-Acknowledge and the operation is aborted. Rev. 3.0 Mar. 2005 The receiver could fail to acknowledge for two distinct reasons. First, if a byte transfer fails, the NoAcknowledge ends the current operation so that the device can be addressed again. This allows the last byte to be recovered in the event of a communication error. Second and most common, the receiver does not acknowledge the data to deliberately end an operation. For example, during a read operation, the FM24C64 will continue to place data onto the bus as long as the receiver sends acknowledges (and clocks). When a read operation is complete and no more data is needed, the receiver must not acknowledge the last byte. If the receiver acknowledges the last byte, this will cause the FM24C64 to attempt to drive the bus on the next clock while the master is sending a new command such as a Stop command. Slave Address The first byte that the FM24C64 expects after a start condition is the slave address. As shown in Figure 4, the slave address contains the Slave ID (device type), the device select address bits, and a bit that specifies if the transaction is a read or a write. Bits 7-4 define the device type and must be set to 1010b for the FM24C64. These bits allow other types of function types to reside on the 2-wire bus within an identical address range. Bits 3-1 are the select bits which are equivalent to chip select bits. They must match the corresponding value on the external address pins to select the device. Up to eight FM24C64s can reside on the same two-wire bus by assigning a different address to each. Bit 0 is the read/write bit. A 1 indicates a read operation, and a 0 indicates a write. 4 of 12 FM24C64 Memory Operation Device Select Slave ID 1 0 1 0 A2 A1 A0 R/W 7 6 5 4 3 2 1 0 Figure 4. Slave Address Addressing Overview After the FM24C64 (as receiver) acknowledges the device address, the master can place the memory address on the bus for a write operation. The address requires two bytes. The first is the MSB (upper byte). Since the device uses only 13 address bits, the value of the upper three bits are don’t care. Following the MSB is the LSB (lower byte) with the remaining eight address bits. The address value is latched internally. Each access causes the latched address value to be incremented automatically. The current address is the value that is held in the latch, either a newly written value or the address following the last access. The current address will be held as long as power remains or until a new value is written. Reads always use the current address. A random read address can be loaded by beginning a write operation as explained below. After transmission of each data byte and just prior to the acknowledge, the FM24C64 increments the internal address latch. This allows the next sequential byte to be accessed with no additional addressing externally. After the last address (1FFFh) is reached, the address latch will roll over to 0000h. There is no limit to the number of bytes that can be accessed with a single read or write operation. Data Transfer After the address information has been transmitted, data transfer between the bus master and the FM24C64 can begin. For a read operation, the FM24C64 will place 8 data bits on the bus then wait for an Acknowledge from the master. If the Acknowledge occurs, the FM24C64 will transfer the next sequential byte. If the Acknowledge is not sent, the FM24C64 will end the read operation. For a write operation, the FM24C64 will accept 8 data bits from the master and then send an Acknowledge. All data transfer occurs MSB (most significant bit) first. Rev. 3.0 Mar. 2005 The FM24C64 is designed to operate in a manner very similar to other 2-wire interface memory products. The major differences result from the higher performance write capability of FRAM technology. These improvements result in some differences between the FM24C64 and a similar configuration EEPROM during writes. The complete operation for both writes and reads is explained below. Write Operation All writes begin with a device address, then a memory address. The bus master indicates a write operation by setting the LSB of the device address to a 0. After addressing, the bus master sends each byte of data to the memory and the memory generates an acknowledge condition. Any number of sequential bytes may be written. If the end of the address range is reached internally, the address counter will wrap from 1FFFh to 0000h. Unlike other nonvolatile memory technologies, there is no write delay with FRAM. The entire memory cycle occurs in less time than a single bus clock. Therefore, any operation including a read or write can occur immediately following a write. Acknowledge polling, a technique used with EEPROMs to determine if a write is complete is unnecessary and will always return a ready condition. Internally, the actual memory write occurs after the 8th data bit is transferred. It will be complete before the Acknowledge is sent. Therefore, if the user desires to abort a write without altering the memory contents, this should be done using a Start or Stop condition prior to the 8th data bit. The FM24C64 uses no page buffering. Portions of the memory array can be write protected using the WP pin. Pulling the WP pin high (VDD) will write-protect addresses in the upper quadrant from 1800h to 1FFFh. The FM24C64 will not acknowledge data bytes that are written to protected addresses. In addition, the address counter will not increment if writes are attempted to these addresses. Pulling WP low (VSS) will deactivate this feature. WP should not be left floating. Figures 5 and 6 illustrate both a single-byte write and multiple-byte write. 5 of 12 FM24C64 Address and Data By Master Start DEVICE ADDRESS 0 A X X X S Stop ADDRESS LSB ADDRESS MSB A DATA BYTE A A P By FM24C64 ACKNOWLEDGE Figure 5. Byte Write Address and Data By Master Start S DEVICE ADDRESS ADDRESS LSB ADDRESS MSB 0 A X X X A DATA BYTE DATA BYTE A A Stop A P By FM24C64 ACKNOWLEDGE Figure 6. Multiple Byte Write Read Operation There are two basic types of read operations. They are current address read and selective address read. In a current address read, the FM24C64 uses the internal address latch to supply the address. In a selective read, the user performs a procedure to set the address to a specific value. Current Address & Sequential Read The FM24C64 uses an internal latch to supply the address for a read operation. A current address read uses the existing value in the address latch as a starting place for the read operation. The system reads from the address immediately following that of the last operation. To perform a current address read, the bus master supplies a device address with the LSB set to 1. This indicates that a read operation is requested. After receiving the complete device address, the FM24C64 will begin shifting out data from the current address on the next clock. The current address is the value held in the internal address latch. Beginning with the current address, the bus master can read any number of bytes. Thus, a sequential read is simply a current address read with multiple byte transfers. After each byte the internal address counter will be incremented. Each time the bus master acknowledges a byte, this indicates that the FM24C64 should read out the next sequential byte. There are four ways to properly terminate a read operation. Failing to properly terminate the read will likely create a bus contention as the FM24C64 Rev. 3.0 Mar. 2005 attempts to read out additional data onto the bus. The four valid methods are: 1. 2. 3. 4. The bus master issues a no-acknowledge in the 9th clock cycle and a stop in the 10th clock cycle. This is illustrated in Figures 7-9. This is the preferred method. The bus master issues a no-acknowledge in the 9th clock cycle and a start in the 10th. The bus master issues a stop in the 9th clock cycle. The bus master issues a start in the 9th clock cycle. If the internal address reaches 1FFFh, it will wrap around to 0000h on the next read cycle. Figures 7 and 8 show the proper operation for current address reads. Selective (Random) Read There is a simple technique that allows a user to select a random address location as the starting point for a read operation. This involves using the first three bytes of a write operation to set the internal address followed by subsequent read operations. To perform a selective read, the bus master sends out the device address with the LSB set to 0. This specifies a write operation. According to the write protocol, the bus master then sends the address bytes that are loaded into the internal address latch. After the FM24C64 acknowledges the address, the bus master issues a start condition. This simultaneously aborts the write operation and allows the read command to be issued with the device address LSB set to a 1. The operation is now a current address read. 6 of 12 FM24C64 Address By Master Start DEVICE ADDRESS No Acknowledge Stop DATA BYTE 1 A S 1 P By FM24C64 Acknowledge Data Figure 7. Current Address Read Address By Master Start DEVICE ADDRESS Acknowledge DATA BYTE 1 A S No Acknowledge Stop DATA BYTE A DATA BYTE A 1 P By FM24C64 Acknowledge Data Figure 8. Sequential Read Address By Master Start DEVICE ADDRESS S ADDRESS MSB 0 A X X X ADDRESS LSB A Acknowledge Start DEVICE ADDRESS A S DATA BYTE 1 A No Acknowledge Stop DATA BYTE A 1 P By FM24C64 Acknowledge Data Figure 9. Selective (Random) Read Endurance Internally, a FRAM operates with a read and restore mechanism. Therefore, endurance cycles are applied for each read or write cycle. The FRAM architecture is based on an array of rows which are subdivided into segments. Rows (defined by A12-A5) are subdivided into 4 segments (A4-A3). Each access causes an endurance cycle for a row segment. In the FM24C64, there are 8 bytes (defined by A2-A0) per Rev. 3.0 Mar. 2005 segment. Endurance can be optimized by ensuring frequently accessed data is located in different segments. Regardless, FRAM read and write endurance is effectively unlimited at the 1MHz twowire speed. Even at 3000 accesses per second to the same segment, 10 years time will elapse before 1 trillion endurance cycles occur. 7 of 12 FM24C64 Electrical Specifications Absolute Maximum Ratings Symbol Description VDD Power Supply Voltage with respect to VSS VIN Voltage on any signal pin with respect to VSS TSTG TLEAD VESD Storage temperature Lead temperature (Soldering, 10 seconds) Electrostatic Discharge Voltage - Human Body Model (JEDEC Std JESD22-A114-B) - Machine Model (JEDEC Std JESD22-A115-A) Package Moisture Sensitivity Level Ratings -1.0V to +7.0V -1.0V to +7.0V and VIN < VDD+1.0V * -55°C to + 125°C 300° C 4kV 250V MSL-1 * Exception: The “VIN < VDD+1.0V” restriction does not apply to the SCL and SDA inputs. Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only, and the functional operation of the device at these or any other conditions above those listed in the operational section of this specification is not implied. Exposure to absolute maximum ratings conditions for extended periods may affect device reliability. DC Operating Conditions (TA = -40° C to + 85° C, VDD = 4.5V to 5.5V unless otherwise specified) Symbol Parameter Min Typ Max Units VDD Main Power Supply 4.5 5.0 5.5 V IDD VDD Supply Current @ SCL = 100 kHz 115 150 µA @ SCL = 400 kHz 400 500 µA @ SCL = 1 MHz 1 1.2 mA ISB Standby Current 1 10 µA ILI Input Leakage Current ±1 µA ILO Output Leakage Current ±1 µA VIL Input Low Voltage -0.3 0.3 VDD V VIH Input High Voltage 0.7 VDD VDD + 0.5 V VOL Output Low Voltage 0.4 V @ IOL = 3 mA VHYS Input Hysteresis 0.05 VDD V Notes 1 2 3 3 4 Notes 1. SCL toggling between VDD-0.3V and VSS, other inputs VSS or VDD-0.3V 2. SCL = SDA = VDD. All inputs VSS or VDD. Stop command issued. 3. VIN or VOUT = VSS to VDD. 4. This parameter is characterized but not tested. Rev. 3.0 Mar. 2005 8 of 12 FM24C64 AC Parameters (TA = -40° C to + 85° C, VDD = 4.5V to 5.5V, CL = 100 pF unless otherwise specified) Min Max Min Max Min Max Symbol Parameter fSCL SCL Clock Frequency 0 100 0 400 0 1000 tLOW Clock Low Period 4.7 1.3 0.6 tHIGH Clock High Period 4.0 0.6 0.4 tAA SCL Low to SDA Data Out Valid 3 0.9 0.55 tBUF tHD:STA tSU:STA tHD:DAT tSU:DAT tR tF tSU:STO tDH tSP Bus Free Before New Transmission Start Condition Hold Time Start Condition Setup for Repeated Start Data In Hold Data In Setup Input Rise Time Input Fall Time Stop Condition Setup Data Output Hold (from SCL @ VIL) Noise Suppression Time Constant on SCL, SDA Units kHz µs µs µs 4.7 1.3 0.5 µs 4.0 4.7 0.6 0.6 0.25 0.25 µs µs 0 250 0 100 0 100 300 100 ns ns ns ns µs ns 50 ns 1000 300 4.0 0 300 300 0.6 0 50 0.25 0 50 Notes 1 1 Notes : All SCL specifications as well as start and stop conditions apply to both read and write operations. 1 This parameter is periodically sampled and not 100% tested. Capacitance (TA = 25° C, f=1.0 MHz, VDD = 5V) Symbol Parameter CI/O Input/Output Capacitance (SDA) CIN Input Capacitance Max 8 6 Units pF pF Notes 1 1 Notes 1 This parameter is periodically sampled and not 100% tested. Rev. 3.0 Mar. 2005 9 of 12 FM24C64 AC Test Conditions Equivalent AC Load Circuit Input Pulse Levels Input rise and fall times Input and output timing levels 5.5V 0.1 VDD to 0.9 VDD 10 ns 0.5 VDD 1700 Ω Diagram Notes All start and stop timing parameters apply to both read and write cycles. Clock specifications are identical for read and write cycles. Write timing parameters apply to slave address, word address, and write data bits. Functional relationships are illustrated in the relevant data sheet sections. These diagrams illustrate the timing parameters only. Output 100 pF Read Bus Timing tLOW tF tR tSP tSP tHIGH SCL 1/fSCL tSU:STA tSU:DAT tBUF SDA tAA Start Stop Start Data bit 7 from FM24C64 tHD:DAT Valid Valid tDH Data bit 6 from FM24C64 Data bits 5-0 from FM24C64 Acknowledge to FM24C64 Write Bus Timing tHD:STA tHD:DAT SCL tSU:DAT tSU:STO SDA Valid Start Stop Start Data/Address bit 7 to FM24C64 Data Retention (VDD = 4.5V to 5.5V, +85° C) Parameter Data Retention Rev. 3.0 Mar. 2005 Min 45 tAA Valid Data/Address bit 6 to FM24C64 Units Years Data/Address bit 5-0 to FM24C64 Acknowledge from FM24C64 Notes 10 of 12 FM24C64 Mechanical Drawing 8-pin SOIC (JEDEC Standard MS-012 variation AA) Recommended PCB Footprint 7.70 3.90 ±0.10 3.70 6.00 ±0.20 2.00 0.65 1.27 Pin 1 4.90 ±0.10 1.27 0.33 0.51 0.25 0.50 1.35 1.75 0.10 0.25 0.10 mm 0°- 8° 0.19 0.25 45° 0.40 1.27 Refer to JEDEC MS-012 for complete dimensions and notes. All dimensions in millimeters. SOIC Package Marking Scheme XXXXXXX-P LLLLLLL RICYYWW Legend: XXXX= part number, P= package type LLLLLLL= lot code RIC=Ramtron Int’l Corp, YY=year, WW=work week Example: FM24C64, Standard SOIC package, Year 2004, Work Week 39 FM24C64-S A40003S RIC0439 Rev. 3.0 Mar. 2005 11 of 12 FM24C64 Revision History Revision 0.1 1.0 1.1 2.1 Date 10/4/99 12/7/99 7/2/00 1/22/02 2.2 4/26/02 2.3 2.4 3.0 8/5/03 3/17/04 3/29/05 Rev. 3.0 Mar. 2005 Summary Initial Release Changed to Preliminary status. Removed Endurance chart. Changed to Production status. Added clarification to package standard and changed package name to SOIC. Changed endurance from 1010 to 1012 cycles. Rewrote Data Retention and Endurance section. Changed storage temp range -55 to +125 C. Removed Data Retention note. Removed DIP package option. Added “green” package. Updated package drawing. Changed Data Retention spec. Added ESD and package MSL ratings. New rev. number to comply with new scheme. 12 of 12