FM22L16
Document Number: 001-86188 Rev. *E Page 4 of 22
Device Operation
The FM22L16 is a word wide F-RAM memory logically organized
as 262,144 × 16 and accessed using an industry-standard
parallel interface. All data written to the part is immediately
nonvolatile with no delay. The device offers page mode
operation, which provides high-speed access to addresses
within a page (row). Access to a different page requires that
either CE
transitions LOW or the upper address (A
17
–A
2
)
changes. See the Functional Truth Table on page 17 for a
complete description of read and write modes.
Memory Operation
Users access 262,144 memory locations, each with 16 data bits
through a parallel interface. The F-RAM array is organized as
eight blocks, each having 8192 rows. Each row has four column
locations, which allow fast access in page mode operation.
When an initial address is latched by the falling edge of CE
,
subsequent column locations may be accessed without the need
to toggle CE
. When CE is deasserted HIGH, a pre-charge
operation begins. Writes occur immediately at the end of the
access with no delay. The WE pin must be toggled for each write
operation. The write data is stored in the nonvolatile memory
array immediately, which is a feature unique to F-RAM called
NoDelay writes.
Read Operation
A read operation begins on the falling edge of CE. The falling
edge of CE causes the address to be latched and starts a
memory read cycle if WE is HIGH. Data becomes available on
the bus after the access time is met. When the address is latched
and the access completed, a new access to a random location
(different row) may begin while CE
is still LOW. The minimum
cycle time for random addresses is t
RC
. Note that unlike SRAMs,
the FM22L16’s CE-initiated access time is faster than the
address access time.
The FM22L16 will drive the data bus when OE
and at least one
of the byte enables (UB
, LB) is asserted LOW. The upper data
byte is driven when UB
is LOW, and the lower data byte is driven
when LB is LOW. If OE is asserted after the memory access time
is met, the data bus will be driven with valid data. If OE
is
asserted before completing the memory access, the data bus will
not be driven until valid data is available. This feature minimizes
supply current in the system by eliminating transients caused by
invalid data being driven to the bus. When OE
is deasserted
HIGH, the data bus will remain in a HI-Z state.
Write Operation
In the FM22L16, writes occur in the same interval as reads. The
FM22L16 supports both CE
and WE controlled write cycles. In
both cases, the address A
17
–A
2
is latched on the falling edge of
CE
.
In a CE
-controlled write, the WE signal is asserted before
beginning the memory cycle. That is, WE
is LOW when CE falls.
In this case, the device begins the memory cycle as a write. The
FM22L16 will not drive the data bus regardless of the state of OE
as long as WE is LOW. Input data must be valid when CE is
deasserted HIGH. In a WE
-controlled write, the memory cycle
begins on the falling edge of CE. The WE signal falls some time
later. Therefore, the memory cycle begins as a read. The data
bus will be driven if OE
is LOW; however, it will be HI-Z when WE
is asserted LOW. The CE- and WE-controlled write timing cases
are shown in the Figure 12 on page 14.
Write access to the array begins on the falling edge of WE
after
the memory cycle is initiated. The write access terminates on the
rising edge of WE
or CE, whichever comes first. A valid write
operation requires the user to meet the access time specification
before deasserting WE
or CE. The data setup time indicates the
interval during which data cannot change before the end of the
write access (rising edge of WE or CE).
Unlike other nonvolatile memory technologies, there is no write
delay with F-RAM. Because the read and write access times of
the underlying memory are the same, the user experiences no
delay through the bus. The entire memory operation occurs in a
single bus cycle. Data polling, a technique used with EEPROMs
to determine if a write is complete, is unnecessary.
Page Mode Operation
The F-RAM array is organized as eight blocks, each having 8192
rows. Each row has four column-address locations. Address
inputs A
1
–A
0
define the column address to be accessed. An
access can start on any column address, and other column
locations may be accessed without the need to toggle the CE pin.
For fast access reads, after the first data byte is driven to the bus,
the column address inputs A
1
–A
0
may be changed to a new
value. A new data byte is then driven to the DQ pins no later than
t
AAP
, which is less than half the initial read access time. For fast
access writes, the first write pulse defines the first write access.
While CE is LOW, a subsequent write pulse along with a new
column address provides a page mode write access.
Pre-charge Operation
The pre-charge operation is an internal condition in which the
memory state is prepared for a new access. Pre-charge is
user-initiated by driving the CE
signal HIGH. It must remain
HIGH for at least the minimum pre-charge time, t
PC
.
Pre-charge is also activated by changing the upper addresses,
A
17
–A
2
. The current row is first closed before accessing the new
row. The device automatically detects an upper order address
change, which starts a pre-charge operation. The new address
is latched and the new read data is valid within the t
AA
address
access time; see Figure 9 on page 13. A similar sequence occurs
for write cycles; see Figure 14 on page 14. The rate at which
random addresses can be issued is t
RC
and t
WC
, respectively.
Sleep Mode
The device incorporates a sleep mode of operation, which allows
the user to achieve the lowest power supply current condition. It
enters a low-power sleep mode by asserting the ZZ pin LOW.
Read and write operations must complete before the ZZ
pin
going LOW. When ZZ
is LOW, all pins are ignored except the ZZ
pin. When ZZ is deasserted HIGH, there is some time delay
(t
ZZEX
) before the user can access the device.
If sleep mode is not used, the ZZ
pin should be tied to V
DD
.
FM22L16
Document Number: 001-86188 Rev. *E Page 5 of 22
Software Write Protect
The 256K × 16 address space is divided into eight sectors
(blocks) of 32K × 16 each. Each sector can be individually
software write-protected and the settings are nonvolatile. A
unique address and command sequence invokes the
write-protect mode.
To modify write protection, the system host must issue six read
commands, three write commands, and a final read command.
The specific sequence of read addresses must be provided to
access the write-protect mode. Following the read address
sequence, the host must write a data byte that specifies the
desired protection state of each sector. For confirmation, the
system must then write the complement of the protection byte
immediately after the protection byte. Any error that occurs
including read addresses in the wrong order, issuing a seventh
read address, or failing to complement the protection value will
leave the write protection unchanged.
The write-protect state machine monitors all addresses, taking
no action until this particular read/write sequence occurs. During
the address sequence, each read will occur as a valid operation
and data from the corresponding addresses will be driven to the
data bus. Any address that occurs out of sequence will cause the
software protection state machine to start over. After the address
sequence is completed, the next operation must be a write cycle.
The lower data byte contains the write-protect settings. This
value will not be written to the memory array, so the address is a
don't-care. Rather it will be held pending the next cycle, which
must be a write of the data complement to the protection settings.
If the complement is correct, the write-protect settings will be
adjusted. Otherwise, the process is aborted and the address
sequence starts over. The data value written after the correct six
addresses will not be entered into the memory.
The protection data byte consists of eight bits, each associated
with the write-protect state of a sector. The data byte must be
driven to the lower eight bits of the data bus, DQ
7
–DQ
0
. Setting
a bit to ‘1’ write-protects the corresponding sector; a ‘0’ enables
writes for that sector. The following table shows the write-protect
sectors with the corresponding bit that controls the write-protect
setting.
The write-protect address sequence follows:
1. Read address 24555h
2. Read address 3AAAAh
3. Read address 02333h
4. Read address 1CCCCh
5. Read address 000FFh
6. Read address 3EF00h
7. Write address 3AAAAh
8. Write address 1CCCCh
9. Write address 0FF00h
10.Read address 00000h
Note If CE
is LOw entering the sequence, then an address of
00000h must precede 24555h.
The address sequence provides a secure way of modifying the
protection. The write-protect sequence has a one in 3 × 10
32
chance of randomly accessing exactly the first six addresses.
The odds are further reduced by requiring three more write
cycles, one that requires an exact inversion of the data byte.
Figure 3 on page 6 shows a flow chart of the entire write-protect
operation. The write-protect settings are nonvolatile. The factory
default: all blocks are unprotected.
For example, the following sequence write-protects addresses
from 18000h to 27FFFh (sectors 3 and 4):
Figure 2. Sleep/Standby State Diagram
Initialize
Normal
Operation
Standby
Sleep
Power
Applied
ZZ LOW
ZZ HIGH
CE HIGH,
ZZ HIGH
CE LOW,
ZZ HIGH
CE LOW,
ZZ HIGH
ZZ LOW
CE HIGH,
ZZ HIGH
Table 1. Write Protect Sectors - 32K x 16 Blocks
Sectors Blocks
Sector 7 3FFFFh–38000h
Sector 6 37FFFh–30000h
Sector 5 2FFFFh–28000h
Sector 4 27FFFh–20000h
Sector 3 1FFFFh–18000h
Sector 2 17FFFh–10000h
Sector 1 0FFFFh–08000h
Sector 0 07FFFh–00000h
Address Data
Read 24555h
Read 3AAAAh
Read 02333h
Read 1CCCCh
Read 000FFh
Read 3EF00h
Write 3AAAAh 18h; bits 3 and 4 = 1
Write 1CCCCh E7h; complement of 18h
Write 0FF00h Don’t care
Read 00000h
FM22L16
Document Number: 001-86188 Rev. *E Page 6 of 22
Figure 3. Write-Protect State Machine
Normal Memory
Operation
Read 24555h?
Read
3AAAAh?
Any other
operation
Read 02333h?
Read
1CCCCh?
Read 000FFh?
Read 3EF00h?
Hold Data Byte
Write
1CCCCh?
Write
0FF00h?
y
n
n
n
n
n
y
y
y
y
n
y
Write 3AAAAh?
y
y
n
Read 00000h
To enter new write
protect settings
n
Read 1AAAAh to
drive write protect
settings
Write
1CCCCh?
y
Read 00000h
n
y
n
Change Write Protect
Settings
Read Write Protect
Settings
Sequence Detector
Data
Complement?
y
n

FM22L16-55-TG

Mfr. #:
Manufacturer:
Cypress Semiconductor
Description:
F-RAM 4M (256Kx16) 55ns F-RAM
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet