BitFieldProgMirrorBit AN

BitFieldProgMirrorBit AN
Bit Field Programming for Flash Products
Based on 230-nm and 200-nm MirrorBitTM
Application Note
In some Flash applications, multiple programming operations on the same byte or
word are required to incrementally change individual bits. These applications
could include packed bit fields, counters, and progress indicators with power loss
tolerance. In Flash products based on 230-nm and 200-nm MirrorBit™ technology,
a 16-word Write Buffer is used for optimal programming performance. The Write
Buffer can also be used for multiple programming operations to the same byte or
This application note discusses the optimal method to perform multiple
programming operations at the same location.
Scope of the Document
This document assumes that the reader is familiar with the Write Buffer Programming
function provided in SpansionTM Flash devices based on MirrorBit technology. The details
and benefits of using the Write Buffer Operation will not be repeated here. Refer to the
Write Buffer Programming Application Note for details regarding the Write Buffer
Programming function.
Publication Number BitFieldProgMirrorBit_AN
Revision A
Amendment 1
Issue Date October 10, 2005
P r e l i m i n a r y
Bit Field Programming
When Flash memory is erased, all the bits in the erased area are set to a logical “1”
(high signal level). Programming selectively changes bits to a logical “0” (Low signal
level). Flash memory is traditionally programmed a single byte or word at a time and
erased one sector at a time. Only an erase operation can return a “0” back to a
“1”(erased) state.
For Floating-Gate technology, it is possible to re-program (or write over) a byte or word
that has been previously programmed without first erasing the byte or word (as long
as no attempt is made to program a “0” to a “1”). This re-programming of byte or word
locations can be used to incrementally program individual bits to “0.” This incremental
programming is useful to track the progress in multi-step programming schemes such
as those used in a Flash File System.
Write Buffer Programming to the Same Address Range
For products based on 230-nm and 200-nm MirrorBit™ Flash Technology, the internal
structure of the memory is different from that used in Floating-Gate technology. In
230-nm and 200-nm MirrorBit™ Flash technology, the memory words are grouped in
to sets of 16 words, on 16-word boundaries, that are generally programmed as a group
in order to maximize programming performance. These 16-word sets are programmed
via the write buffer commands.
Each time a write buffer programming operation is started, all word locations may be
touched by the programming operation. In normal device programming this happens
once for each 16-word set. Repeated programming within the same 16-word set (the
write buffer address range) is restricted when any word location in the range may be
targeted for the changing of bit levels from “1” to “0” (programming). However, if
programming is always limited to certain locations, the restriction on repeated
programming can be avoided.
Each Write Buffer address range contains four pages with four words each, Page 0
through Page 3, as shown in Figure 1.
Page 0
Page 1
16-word Write Buffer
Page 2
Page 3
Figure 1. Write Buffer Architecture for Products Based on 230-nm and 200-nm MirrorBit™ Technology
The Write Buffer Load command is used to define which bits, in which byte or word
locations, will be programmed. Each byte or word location is individually
addressable during the Write Buffer Load command. Not all locations need to be
filled and any locations not filled are not programmed.
The “Program Buffer to Flash” command starts a write buffer programming
operation. The number of times that a write buffer programming operation may
be done, before an erase command is required, is shown in Table 1.
The limitation is on the allowed number of Write Buffer operations that affect
locations within an adjacent pair of pages, either page 0 & 1 or page 2 & 3. If only
the non-adjacent pages (0 and 2 or 1 and 3) are programmed, there is no
limitation to the number of times the locations in one non-adjacent page pair may
Bit Field Programming for Flash Products Based on 230-nm and 200-nm MirrorBitTM Technology
P r e l i m i n a r y
be re-programmed before erasing the sector. This is true as long as the other nonadjacent pair of pages (1 and 3 or 0 and 2) remains unused.
Table 1.
Number of Write Buffer Programming Operations Affecting Page Pairs
Pages (0 & 2) or (1 & 3)
Pages (0 & 1) or Pages (2 & 3)
This assumes that the sector being programmed is erased fewer than 1000 times
per day (no more than once per minute).
Single Word Programming
Though it is recommended to use the Write Buffer programming method for fast
programming, it is also possible to program the Am29LV-M, S29GL-M and
S29GL-A family devices by using legacy single-word write commands. However,
these commands simply initiate a Write Buffer operation in which a single word
has been loaded into the Write Buffer. The same re-programming restrictions of
Table 1 still apply.
For S29GL-M and S29GL-A families, eight programming operations are allowed in
adjacent page pairs. Thus eight programming operations are allowed on these
eight adjacent words - allowing each word to be programmed individually via the
single word programming command.
Due to the restriction of eight programming operations it is not possible to
program all byte locations, one byte at a time, when using a device in byte wide
mode - doing that would require 16 programming operations.
Similarly, the Am29LV-M family cannot be fully programmed using only singleword-write commands. One programming operation is allowed within adjacent
pages, thus in this family of devices it is necessary to use the Write Buffer to at
least write all eight locations within an adjacent page pair in a single Write Buffer
By using the page pair allocation method described in this application note, each
bit within one non-adjacent page pair, within each Write Buffer address range, can
be programmed individually, resulting in unlimited multiple program operations to
a byte or word. A non-adjacent page pair can be used to contain data types that
rely on heavy use of individual bit programming for applications such as packed
bit fields, counters, and progress indicators with power-loss tolerance. The
described technique allows bit level programming up to and including the entire
number of bits within the non-adjacent page pair used for repeated writing.
Bit Field Programming for Flash Products Based on 230-nm and 200-nm MirrorBitTM Technology
P r e l i m i n a r y
Revision History
Revision A0 (October 26, 2004)
Initial Release
Revision A1 (October 10, 2005)
Table 1: Changed number of writes for all four pages on the Am29LV-M from 8 to
Table 2: Changed number of writes within address range and number of
successive program operations for Am29LV-M from 8 to 1.
Changed description to clarify the page pair nature of bit field programming.
Table 1: Changed number of writes for adjacent pages on the Am29LV-M from 8
to 1.
Removed Table 2 from Apps Note.
Changed the note under Table 1 and text referring to write buffer architecture.
Re-ordered table 1.
The products described in this document are designed, developed and manufactured as contemplated for general use, including without limitation, ordinary
industrial use, general office use, personal use, and household use, but are not designed, developed and manufactured as contemplated (1) for any use that
includes fatal risks or dangers that, unless extremely high safety is secured, could have a serious effect to the public, and could lead directly to death, personal
injury, severe physical damage or other loss (i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control,
medical life support system, missile launch control in weapon system), or (2) for any use where chance of failure is intolerable (i.e., submersible repeater and
artificial satellite). Please note that Spansion LLC will not be liable to you and/or any third party for any claims or damages arising in connection with abovementioned uses of the products. Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage or loss from such
failures by incorporating safety design measures into your facility and equipment such as redundancy, fire protection, and prevention of over-current levels
and other abnormal operating conditions. If any products described in this document represent goods or technologies subject to certain restrictions on export under the Foreign Exchange and Foreign Trade Law of Japan, the US Export Administration Regulations or the applicable laws of any other country, the
prior authorization by the respective government entity will be required for export of those products.
Trademarks and Notice
The contents of this document are subject to change without notice. This document may contain information on a Spansion LLC product under development
by Spansion LLC. Spansion LLC reserves the right to change or discontinue work on any product without notice. The information in this document is provided
as is without warranty or guarantee of any kind as to its accuracy, completeness, operability, fitness for particular purpose, merchantability, non-infringement
of third-party rights, or any other warranty, express, implied, or statutory. Spansion LLC assumes no liability for any damages of any kind arising out of the
use of the information in this document.
Copyright ©2004–2005 Spansion LLC. All rights reserved. Spansion, the Spansion logo, and MirrorBit are trademarks of Spansion LLC. Other company and
product names used in this publication are for identification purposes only and may be trademarks of their respective companies
Bit Field Programming for Flash Products Based on 230-nm and 200-nm MirrorBitTM Technology
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF