RM24C256DS
256-Kbit 1.65V Minimum
Non-volatile Serial EEPROM
I 2 C Bus
Advance Datasheet
Features
Memory array: 256Kbit non-volatile serial EEPROM memory
Single supply voltage: 1.65V - 3.6V
2-wire I2C interface
Compatible with I2C bus modes:
-100kHz
-400kHz
-1MHz
Page size: 64 bytes
-Byte and Page Write from 1 to 64 bytes
128-byte, One-Time Programmable (OTP) Security Register
- 64 bytes factory programmed with a unique identifier
- 64 bytes user programmable
Low Energy Byte Write
-Byte Write consuming 50 nJ
Low power consumption
-0.25 mA active Read current
-1.0 mA active Write current
-1.0 µA Standby current
Fast Write
-Page Write in 1.5 ms (64 byte page)
-Byte Write within 60 µs
Random and sequential Read modes
Industry’s lowest read cycle latency
Unlimited read cycles
Write protect of the whole memory array
8-lead SOIC, 8-lead TSSOP, 8-pad UDFN and WLCSP packages
RoHS-compliant and halogen-free packaging
Data Retention: >40 years at 125°C
Endurance: 100,000 write cycles (for both byte and page write cycles)
- No degradation across temperature range
No data loss under UV exposure on bare die or WLCSP
Based on Adesto's proprietary CBRAM® technology
Description
The Adesto® RM24C256DS is a 256Kbit, serial EEPROM memory device that utilizes
Adesto's CBRAM® resistive technology. The memory devices use a single lowvoltage supply ranging from 1.65V to 3.6V.
DS-RM24C256DS–085B–11/2016
The Adesto® I2C device is accessed through a 2-wire I2C compatible interface consisting of a Serial Data (SDA) and
Serial Clock (SCL). The maximum clock (SCL) frequency is 1MHz. The devices have both byte write and page write
capability. Page write is 64 bytes. The Byte Write operation of CBRAM consumes only 10% of the energy consumed by
a Byte Write operation of EEPROM devices of similar size.
Adesto's EEPROM endurance can be as much as 40X higher than industry standard EEPROM devices operating in byte
write mode at 85°C. Unlike EEPROMs based on floating gate technology (which require read-modify-write on a whole
page for every write operation) CBRAM write endurance is based on the capability to write each byte individually,
irrespective of whether the user writes single bytes or an entire page. Additionally, unlike floating gate technology,
CBRAM does not experience any degradation of endurance across the full temperature range. By contrast, in order to
modify a single byte, most EEPROMs modify and write full pages of 32, 64 or 128 bytes. This provides significantly less
endurance for floating gate devices used in byte write mode when compared to page write mode.
The Page Write operation of CBRAM is 4-6 times faster than the Page Write operation of similar EEPROM devices. Both
random and sequential reads are available. Sequential reads are capable of reading the entire memory in one operation.
External address pins permit up to eight devices on the same data bus. The devices are available in standard 8-pin
SOIC, TSSOP and 8-pad UDFN.
RM24C256DS
DS-RM24C256DS–085B–11/2016
2
Block Diagram
Figure 1-1. Block Diagram
I/O Buffers and Data
Latches
VCC
SCL
SDA
I/O
Control
Logic
Page Buffer
E0
E1
E2
Y-Decoder
Memory
Control
Logic
WP
GND
Address
Latch
&
Counter
X-Decoder
1.
256 Kb
Resistive Memory
RM24C256DS
DS-RM24C256DS–085B–11/2016
3
2.
Pin/Signal Descriptions
Table 2-1.
Symbol
Pin/Signal Descriptions
Pin #
Name/Function
Description
LSB - Least Significant Bit,
External Enable
LSB of the three external enable bits (E0, E1 and E2). The levels of
the external enable bits are compared with three enable bits in the
received control byte to provide device selection. The device is
selected if the comparison is true. Up to eight devices may be
connected to the same bus by using different E0, E1, E2
combinations.
2
External Enable
The middle of the three external enable bits (E0, E1 and E2). The
levels of the enable bits are compared with three enable bits in the
received control byte to provide device selection. Also see the E0,
E2 pin.
E2
3
MSB - Most Significant Bit,
External Enable
MSB of the three external enable bits (E0, E1 and E2). The levels
of the enable bits are compared with three enable bits in the
received control byte to provide device selection. Also see the E0,
E1 pin.
GND
4
Ground
E0
1
E1
SDA
5
Serial Data
Bidirectional pin used to transfer addresses and data into and data
out of the device. It is an open-drain terminal, and therefore
requires a pull-up resistor to VCC. Typical pull-up resistors are:
10KΩ for 100KHz, and 2KΩ for 400KHz and 1MHz.
For normal data transfer, SDA is allowed to change only during SCL
low. Changes during SCL high are reserved for indicating the
START and STOP conditions.
SCL
6
Serial Clock
This input is used to synchronize the data transfer from and to the
device. SCL is an input only, since it is a slave-only device.
WP
7
Write Protect
Connect to either VCC or GND. If pulled low, write operations are
enabled. If pulled high, write operations are inhibited, but read
operations are not affected.
Vcc
8
Power
Power supply pin
2.1
Pin Out Diagram
2.1.1
Pinouts
8-Lead SOIC, TSSOP and 8-pad UDFN (Top View)
WLCSP (Contact Adesto)
RM24C256DS
DS-RM24C256DS–085B–11/2016
4
3.
I2C Bus Protocol
I2C is a 2-wire serial bus architecture with a clock pin (SCL) for synchronization, and a data pin (SDA) for data transfer.
On the device the SDA pin is bi-directional. The SCL pin is an input only, because the device is slave-only. The SCL and
SDA pins are both externally connected to a positive supply voltage via a current source or pull-up resistor. When the bus
is free, both lines are high. The output stages of devices connected to the bus must have an open drain or open collector
to perform a wired-AND function. Data on the I2C bus can be transferred at rates of up to 1 Mbit/s. The number of
interfaces that may be connected to the bus is solely dependent on the bus capacitance limit of 400pF.
The data on the SDA line must be stable during the high period of the clock. The high or low state of the data line can
only change when the clock signal on the SCL line is low (see Figure 1-1).
Figure 3-1. Bit Transfer on the I2C bus
A high-to-low transition on the SDA line while SCL is high indicates a START condition. A low-to-high transition on the
SDA line while SCL is high defines a STOP condition.
START and STOP conditions are always generated by the master. The bus is considered to be busy after the START
condition. The bus is considered to be free again a certain time after the STOP condition (see Figure 3-2).
Figure 3-2. START and STOP conditions
Every byte put on the SDA line must be 8 bits long. The number of bytes that can be transmitted per transfer is
unrestricted. Each byte must be followed by an acknowledge bit; therefore, the number of clock cycles to transfer one
byte is nine. Data is transferred with the most significant bit (MSB) first.
RM24C256DS
DS-RM24C256DS–085B–11/2016
5
3.1
I2C Master and Slave Configuration
The device has a two-pin industry-standard I2C interface. It is configured as a slave-only device and therefore does not
generate a clock. By connecting the E0, E1 and E2 enable pins in the configuration shown in Figure 3-3, up to eight
devices can be connected onto an I2C Interface bus controlled by an I2C master device, such as a microcontroller.
Figure 3-3. Connection between I2C Master and Slaves
4.
Device Timing
Figure 4-1. Bus Timing Data
Figure 4-2. Power-up Timing
VCC
VCCmax
Program, Read, Erase and Write Commands Rejected
VCCmin
VVCCI
Device Fully
Accessible
Device in Reset
tPUD
TIME
Power up delay tPUD is based on VCCi which is the voltage level at which the internal reset circuit releases and signals the
controller to initiate the power-on reset condition for a 75µS maximum period.
RM24C256DS
DS-RM24C256DS–085B–11/2016
6
5.
Device Addressing
The first byte sent from the master device to the EEPROM following the START condition is the control byte (See Figure
5-1). The first four bits of the control byte is the Control Code. When accessing the EEPROM memory area, the Control
Code is “1010” both for read and for write operations. When accessing the OTP Security Registers, the Control Code is
“1011” both for read and for write operations. The next three bits of the control byte are the enable bits (E2, E1 and E0),
which are compared to the levels set on the E0, E1 and E2 pins. The E0, E1 and E2 bits sent in the control byte must
correspond to the logic levels set on the corresponding E0, E1 and E2 pins for a device to be selected. In effect, the E0,
E1 and E2 bits in the control register act as the three MSB bits of a word address. These three bits allow the use of up to
eight devices on the same bus. The last bit of the control byte (R/W) defines the operation to be performed, read or write:
if set to a one, a read operation is selected; if set to a zero, a write operation is selected.
Figure 5-1. Control Byte, EEPROM access
Figure 5-2. Control Byte, OTP Security Register Access
Upon receiving the correct Control Code, the chip enable bits, and the R/W bit, the device performs an acknowledge by
pulling the SDA line low during the 9th clock pulse. As stated above, the device will now be set for either a read or a write
operation by the R/W bit.
After the device acknowledges the control byte, two additional bytes are sent by the master to the slave. These define the
target address of the byte in the device to be written. The bit assignment for the address is shown in Figure 5-3.
It should be noted that not all the address bits are used. For the 256-Kbit device, only address A0 to A14 are used; the
rest are don't cares and must be set to "0".
RM24C256DS
DS-RM24C256DS–085B–11/2016
7
Figure 5-3. Address sequence bit assignment
The device will acknowledge each byte of data that is received by pulling the SDA line low during the 9th clock pulse. If
the device does not provide an acknowledge, it has not received the data; consequently the entire sequence, starting
with the control byte, must be resent.
6.
Byte Write Operation
If the R/W bit in the control byte is set to zero, the device will be in write mode. Once the control byte is received, the
device will perform an acknowledge; it will then be ready to receive the Address High Byte (see Figure 6-1). After
receiving the Address High Byte, the device acknowledges and then is ready to receive the Address Low Byte. After
receiving the Address Low Byte, the device will acknowledge and then write the address (expressed by the high and low
address bytes) into its address pointer. The device is then ready to receive a byte of data to be written into the addressed
memory location. After the device receives the data, it performs an acknowledge. After the master has received the last
acknowledge (after the data byte) the master should send a STOP condition. The STOP condition initiates the internal
write cycle in the device. If the master does not send a STOP, the device will not write the data into the addressed
memory location.
While the device is in the write cycle it will not generate an acknowledge signal. Meanwhile, the master can poll the
device to determine when the write cycle is complete by sending it a control byte and looking for an acknowledge. Once
the write cycle has completed, the device will acknowledge a control byte sent to it.
If, in the RM24C256DS, the byte written is the last byte in a 64-byte page, the address will wrap around to the beginning
of the same page. For instance, if the byte is written to address 007Fh, the incremented address will be 0040h. If the byte
is written to address 07FFh, the incremented address will be 07C0h.
If a write cycle is attempted with the WP (write protect) pin held high, the device will acknowledge the command, address,
and data, but no write cycle will occur following the STOP command. The data will not be written, and the device will
immediately be available to accept a new command. However, the internal address pointer will be written; so after the
data byte is transmitted to the device and the STOP command issued by the master, the internal address pointer will
again be incremented by one.
Figure 6-1. Byte Write Cycle
RM24C256DS
DS-RM24C256DS–085B–11/2016
8
7.
Page Write Operation
Table 7-1.
Density and Page Size
Product
Density
Page Size (byte)
RM24C256DS
256 Kbit
64
During a Page Write cycle, a page with up to 64 bytes of data can be written in one continuous write command. The Page
Write starts in the same manner as the Byte Write. In a Page Write, after the acknowledge following the first data byte,
the master does not send a STOP, but continues to send additional data bytes. (See Figure 7-1.) At the end of the
number of bytes to be written, the master sends a STOP command. Once the STOP command is sent, the device will
write all the data bytes into memory, starting at the address location given in the address bytes.
If the master should transmit more than 64 bytes prior to generating the STOP command, the internal 64-byte data buffer
in the device will wrap around and the first data bytes transmitted will be overwritten.
The internal address pointer will not increment beyond a page boundary but will instead wrap around to the first byte of
the addressed page.
As with the Byte Write cycle, once the STOP command is received the device enters a write cycle. During the write cycle,
the device will not generate an acknowledge signal. Meanwhile, the master can poll the device to determine when the
write cycle is complete by sending it a control byte and looking for an acknowledge. Once the write cycle has completed,
the device will acknowledge a control byte sent to it.
During the Page Write cycle, the first byte in the data byte buffer will be written in the address location indicated by the
address bytes transmitted to the device. Each successive data byte will be written in the successive address locations.
If a Page Write cycle is attempted with the WP pin held high, the device will acknowledge the command, address and
data bytes, but will not enter a write cycle after the STOP command is issued. No data will be written, and the device will
immediately be available to accept a new command. However, the internal address pointer will be written; so after the
Page Write data bytes are transmitted to the device and the STOP command issued by the master, the internal address
pointer will be incremented by the number of data bytes sent (but only within the page addressed).
Note that the Page Write operation is internally executed by sequentially writing the words in the Page Buffer. Therefore
the Page Write time can be estimated as Byte Write time multiplied by the Number of Words to be written.
Figure 7-1. Page Write Cycle
8.
OTP Security Register Write Operation
Table 8-1.
OTP Security Register
Security Register Byte Number
0
Data Type
1
···
One-Time User Programmable
63
64
65
···
127
Factory Programmed by Adesto
RM24C256DS
DS-RM24C256DS–085B–11/2016
9
The OTP Security Register Write Operation allows to user to write the 64 bytes of user programmable OTP data. Be
aware that the OTP Security Registers can only be written once, even if only a few bytes are written. Once the OTP
Security Register Write Operation is executed, the OTP Security Registers are locked from further updates.
The OTP Security Register Write Operation is similar to the Page Write Operation, except that the Control Code (the first
four bits of the Command Byte) is “1011” instead of “1010”.
During a Security Register Write cycle, a page with up to 64 bytes of data can be written in one continuous write
command. The Security Register Write starts in the same manner as the Byte Write. In a Security Register Write, after
the acknowledge following the first data byte, the master does not send a STOP, but continues to send additional data
bytes. (See Figure 8-1.) At the end of the number of bytes to be written, the master sends a STOP command. Once the
STOP command is sent, the device will write all the data bytes into memory, starting at the address location given in the
address bytes.
Note that only the lower 6 bits of the address will be considered by the OTP Security Register Write Operation. The upper
12 bits will be masked out and considered to be 0. An attempt to write to address 128, for instance, will become a write to
address 0.
If the master should transmit more than 64 bytes prior to generating the STOP command, the internal 64-byte data buffer
in the device will wrap around and the first data bytes transmitted will be overwritten.
The internal address pointer will not increment beyond a page boundary but will instead wrap around to the first byte of
the OTP Security Registers.
As with the Byte Write cycle, once the STOP command is received the device enters a write cycle. During the write cycle,
the device will not generate an acknowledge signal. Meanwhile, the master can poll the device to determine when the
write cycle is complete by sending it a control byte and looking for an acknowledge. Once the write cycle has completed,
the device will acknowledge a control byte sent to it.
During the Security Register Write cycle, the first byte in the data byte buffer will be written in the address location
indicated by the address bytes transmitted to the device. Each successive data byte will be written in the successive
address locations.
If a Security Register Write cycle is attempted with the WP pin held high, the device will acknowledge the command,
address and data bytes, but will not enter a write cycle after the STOP command is issued. This operation will not be
considered a write, and the OTP Security Registers can still be written by a later command if they have not been written
already. No data will be written, and the device will immediately be available to accept a new command. However, the
internal address pointer will be written; so after the Security Register Write data bytes are transmitted to the device and
the STOP command issued by the master, the internal address pointer will be incremented by the number of data bytes
sent (but only within the page addressed).
Note that the Security Register Write operation is internally executed by sequentially writing the words in the Page Buffer.
Therefore the Security Register Write time can be estimated as Byte Write time multiplied by the Number of Words to be
written.
Figure 8-1. OTP Security Register Write Cycle
RM24C256DS
DS-RM24C256DS–085B–11/2016
10
9.
Write Protection
The WP pin allows the user to write-protect the entire memory array when the pin is tied to VCC. If the WP pin is tied to
GND, write protection is disabled. The WP pin is sampled at the STOP command for every Write command. Toggling the
WP pin after the STOP command will have no effect on the execution of the write cycle.
10.
Polling
The fact that the device will not acknowledge during a write cycle can be used to determine when the write cycle is
complete. By polling the device during the write cycle, bus throughput can be maximized.
Once the STOP command for the write cycle is sent by the master, the device initiates the internally timed write cycle.
Acknowledge polling, by the master, can be initiated immediately. Acknowledge polling involves the master sending a
START command, followed by the control byte for a write command (R/W=0). If the device is still busy with the write
cycle, no acknowledge is returned. If no acknowledge is returned, the START command and control byte can be retransmitted. If the write cycle is complete, the device will return an acknowledge. The master can then proceed with the
next read or write command. See for a flow diagram.
NOTE: Care must be taken when polling the device. The control byte that was used to initiate the write must match the
control byte used for polling.
Figure 10-1. Acknowledge Polling Flow
11.
Read Operation
Read operations are initiated in the same way as the write operations, except that the R/W bit of the control byte is set to
one. There are three types of read operations: Current Address Read, Random Read, and Sequential Read.
RM24C256DS
DS-RM24C256DS–085B–11/2016
11
Note that the same address pointer is used for accessing both the EEPROM array and the OTP Security registers.
Changes done to the address register as a result of access to one of the arrays will affect the access of the other unless
the address pointer gets updated again.
11.1
Current Address Read
The device internal address pointer maintains the address of the last word accessed, internally incremented by one.
Therefore, if the previous read access was to address n (any legal address), the next Current Address Read operation
would access data from address n+1. After the last memory address, the address counter “rolls-over”, and the device
continues to output data from memory address 00h.
If a Current Address Read is performed after a Byte Write or Page Write, care must be taken to understand that during
the page/byte write command, the address can wrap around within the same page.
Upon receipt of the control byte with the R/W bit set to one, the device issues an acknowledge and transmits the 8-bit
data word located at the address of the internal address pointer. The master will not acknowledge the transfer, but does
generate a STOP condition and the device discontinues transmission. See Figure 11-1.
Figure 11-1. Current Address Read
11.2
Random Read
Random read operations allow the master to access any memory location in a random manner. To perform a Random
Read, first the address to be accessed must be set. This is done by sending the address to the device as part of a write
operation (R/W = 0). After the address is sent and acknowledged by the device, the master generates a START. This
terminates the write operation, but the address pointer will be set to the address sent. The master then issues the same
control byte as the write operation, but with the R/W bit set to 1. The device will acknowledge and transmit the 8-bit data
byte located at the address location written. The master will not acknowledge the transfer of the data byte, but will instead
generate a STOP condition, which causes the device to discontinue transmission. See Figure 11-2. After the Random
Read operation, the internal address counter will increment to the address location following the one that was just read.
Figure 11-2. Random Read
11.3
Sequential Read
Sequential read allows the whole memory contents to be serially read during one operation. Sequential Read is initiated
in the same way as a Random Read except that after the device transmits the first data byte, the master issues an
acknowledge instead of a STOP condition. This acknowledge from the master directs the device to transmit the next
sequentially addressed byte (See Figure 11-3). Following the final byte transmitted to the master, the master will not
generate an acknowledge, but will generate a STOP condition which causes the device to discontinue transmission.
RM24C256DS
DS-RM24C256DS–085B–11/2016
12
To provide the Sequential Read, the device contains an internal address pointer which is incremented by one at each
acknowledge received by the master, and by the STOP condition.
Figure 11-3. Sequential Read
12.
OTP Security Register Read Operation
OTP Security Register Read operations are initiated in the same way as the write operations, except that the R/W bit of
the control byte is set to one. There are three types of OTP Security Register Read operations: OTP Security Register
Current Address Read, OTP Security Register Random Read, and OTP Security Register Sequential Read.
Note that the same address pointer is used for accessing both the EEPROM array and the OTP Security registers.
Changes done to the address register as a result of access to one of the arrays will affect the access of the other unless
the address pointer gets updated again.
The OTP Security Register Read operations will mask off the upper 9 bits of the address pointer and only consider the
lower 7, but all bits of the address pointer will be updated by these read operations.
Reading address 0-63 provides access to the user programmable section of the OTP Security Registers, while reading
address 64-127 provides access to the registers that are factory programmed by Adesto. See Table 8-1 for details.
12.1
OTP Security Register Current Address Read
The device internal address pointer maintains the address of the last word accessed, internally incremented by one.
Therefore, if the previous read access was to address n (any legal address), the next Current Address Read operation
would access data from address n+1. Upon receipt of the control byte with the R/W bit set to one, the device issues an
acknowledge and transmits the 8-bit data word located at the address of the internal address pointer. The master will not
acknowledge the transfer, but does generate a STOP condition and the device discontinues transmission. See Figure 121.
Figure 12-1. OTP Security Register Current Address Read
RM24C256DS
DS-RM24C256DS–085B–11/2016
13
12.2
OTP Security Register Random Read
Random read operations allow the master to access any OTP Security Register location in a random manner. To perform
a OTP Security Register Random Read, first the address to be accessed must be set. This is done by sending the
address to the device as part of a write operation (R/W = 0). After the address is sent and acknowledged by the device,
the master generates a START. This terminates the write operation, but the address pointer will be set to the address
sent. The master then issues the same control byte as the write operation, but with the R/W bit set to 1. The device will
acknowledge and transmit the 8-bit data byte located at the address location written. The master will not acknowledge
the transfer of the data byte, but will instead generate a STOP condition, which causes the device to discontinue
transmission. See Figure 12-2. After the OTP Security Register Random Read operation, the internal address counter
will increment to the address location following the one that was just read.
Figure 12-2. OTP Security Register Random Read
12.3
OTP Security Register Sequential Read
Sequential read allows the whole OTP Security Register contents to be serially read during one operation. Sequential
Read is initiated in the same way as a Random Read except that after the device transmits the first data byte, the master
issues an acknowledge instead of a STOP condition. This acknowledge from the master directs the device to transmit the
next sequentially addressed byte (See Figure 12-3). Following the final byte transmitted to the master, the master will not
generate an acknowledge, but will generate a STOP condition which causes the device to discontinue transmission.
To provide the OTP Security Register Sequential Read, the device contains an internal address pointer which is
incremented by one at each acknowledge received by the master, and by the STOP condition.
Figure 12-3. OTP Security Register Sequential Read
RM24C256DS
DS-RM24C256DS–085B–11/2016
14
13.
Electrical Specifications
13.1
Absolute Maximum Ratings
Table 13-1. Absolute Maximum Ratings*
Parameter
Specification
Operating ambient temp range
-40°C to +85°C
Storage temperature range
-65°C to +150°C
Input supply voltage, VCC to GND
- 0.3V to 3.6V
Voltage on any pin with respect to GND
-0.5V to (VCC + 0.5V)
ESD protection on all pins (Human Body Model)
>2kV
Junction temperature
125°C
*NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at these, or any other conditions beyond those
indicated in the operational sections of this specification, is not implied. Exposure to absolute maximum rating conditions
for extended periods may affect device reliability.
13.2
DC Characteristics
Symbol
Parameter
Condition
Max
Units
3.6
V
1.55
V
0.25
0.5
mA
1
3
mA
@25C
1
3
@85C
6
11
@25C
2.2
3
@85C
11
17
Min
Typ
TA = ‐40°C to +85° C, VCC = 1.65V to 3.6V
VCC
Supply Range
1.65V to 3.6V
VVCCI
VCC Inhibit
VCC= 3.3V SCL at 1MHz
ICC2
VCC= 3.3V
VCC= 1.65V. SCL=SDA=1.65V
ICC3
Supply Current,
Standby (1)
VCC= 3.3V. SCL=SDA=3.3V
1.
1.65
µA
IIL
Input Leakage
SCL, SDA, WP, E0, E1, E2, VIN=0V or
+1
µA
IOL
Output Leakage
SDA VIN=0V to VCC
+1
µA
VIL
Input Low Voltage
SCL, SDA, WP, E0, E1, E2
-0.3
VCC x
V
VIH
Input High Voltage
SCL, SDA, WP, E0, E1, E2
VCC x 0.7
VCC +
V
VOL
Output Low Voltage
SDA IOL = 3.0mA
0.4
V
Values are based on device characterization, not 100% tested in production.
RM24C256DS
DS-RM24C256DS–085B–11/2016
15
13.3
AC Characteristics
Applicable over recommended operating range:
TA = -40°C to +85° C, VCC = 1.65V to 3.6V, CL = CB