3
\$\begingroup\$

Some EEPROMs provide the possibility of a multi-byte write.

For example, the AT24C provides an 8-byte page write besides the classical single-byte write.

The datasheet specifies 5 ms as "Write Cycle Time". However, nowhere is it said that this is true for both types of write instructions. I would infer that it's the same, although it is never explicitly stated.

Can one safely assume that it takes the same time? (excluding, of course, communications overhead in case of external chips)

Can this be answered generally for EEPROM (which is strictly EEPROM, not something emulated in flash), instead of only for the product mentioned above?

\$\endgroup\$
2
  • \$\begingroup\$ some eeproms the write doesnt start until you stop writing (for some period of time) and then you get the 5 or 10ms write time. A nice use case was a box being loaded serially, the logic continued to write the last address over and over again, a new value would come in over the uart, bump the address, repeat until end of block then the logic would stop writing into the device and the device would then write to eeprom and take its 10ms. \$\endgroup\$
    – old_timer
    Commented Dec 21, 2017 at 15:03
  • \$\begingroup\$ I cant imagine you can generically say much about eeproms, and the total time I wouldnt assume from vendor to vendor, you should do some experiments with the parts you have to see how long the write time is for each page across the address space and how consistent that is. It may also be a case that as the part ages this time changes, talk to the FAEs at the part vendor on this. \$\endgroup\$
    – old_timer
    Commented Dec 21, 2017 at 15:05

1 Answer 1

4
\$\begingroup\$

Yes, or "maybe".

The datasheet guarantees a maximum tWR of 5 ms, no matter what you write. That is, it specifically guarantees this for both byte and page writes:

The write cycle time tWR is the time from a valid Stop condition of a write sequence to the end of the internal clear/write cycle

The actual time it takes can depend on quite a lot of things, and the only way you can find out if it is ready to accept another command is to perform the Acknowledge Polling procedure.

\$\endgroup\$
2
  • \$\begingroup\$ This is also what I assumed, based on the datasheet. They really could have written an additional sentence to the end, like ".. regardless whether the byte-write or page-write operation was performed", to not make us guessing how they meant it. \$\endgroup\$
    – vsz
    Commented Dec 21, 2017 at 9:19
  • 2
    \$\begingroup\$ @vsz Yep. Sometimes you have to read a datasheet like you're trying to read a legal document. They could have also written a typical time, for both byte and page. \$\endgroup\$
    – pipe
    Commented Dec 21, 2017 at 9:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.