First of all: Memory IC nomenclature is not robustly standardized; There is a lot of variation and even conflicting coding between manufacturers, on the order and meaning of the codes making up the part identifier.
That being said, here is an attempt at providing an overview:
The initial 2-digit code is the device family. A leading "24" indicates a I2C serially accessed EEPROM. Some other families are 95 (SPI serial EEPROM), Flash (e.g. 28F, 29F) and "standard" EEPROM (28).
Some manufacturers precede the 2 digits by a letter code, M for memory devices (STMicroelectronics, Atmel and others) optionally followed by an additional letter e.g. MX = Macronix memory.
Thus the device family becomes M24 for these examples.
The next letter or two usually indicates logic family / device voltage, but different manufacturers differ in their use of these codes:
- C = 5 Volts
- W = 2.7-3.6 Volts (sometimes 2.5 to 5.5 Volts)
- V = 3-3.6 Volts
- L = 4.5-5.5 Volts
- R = 1.8-5.5 Volts (typically STMicro)
- AA = 1.8-5.5 Volts (typically MicroChip)
- LC = 2.5-5.5 Volts
The digits after this do typically indicate memory capacity, but this is not simply the number of bits or bytes of memory. For instance, 512 = 512 Kilobits 8-bit EEPROM, but 516 = 512 Kilobits 16-bit EEPROM (usually, but not always!)
Some memory devices follow this up with a 2-digit access time code, i.e. access speed of the memory. Here again, 25 = 25 nanoseconds, but 10 = 100 nanoseconds usually.
This may be followed by a single or two-letter package indicator (B = Plastic DIP, N = TSOP, and a variety of other codes).
Last, a single-character (number or letter) device grade code may be added, i.e. various temperature ranges, military-grade, automobile grade, etc.
The only reliable way to interpret a particular memory IC's code, is to look it up in the datasheet, since there are wide variations, and even outright discrepancies, between manufacturers (and I suspect sometimes between production years too).
There are Application Notes for memory nomenclature by STM and several other manufacturers out there. Also, a fair guide to memory ICs, if somewhat incomplete, is here.
Best Answer
64x16 means that the memory is arranged as 64 words of 16 bits each. 128x8 means that the memory is arranged as 128 words of 8 bits each (i.e., 128 bytes). You read, erase, and write on a word-by-word basis.
In general, wider words are faster, but because you must erase an entire word at a time, they're less convenient.
Those are some pretty old memory chips you're looking at!