HN29V1G91T-35 [ETC]

Flash Application Design Guidelines Others ; Flash应用程序设计指南其他\n
HN29V1G91T-35
型号: HN29V1G91T-35
厂家: ETC    ETC
描述:

Flash Application Design Guidelines Others
Flash应用程序设计指南其他\n

文件: 总55页 (文件大小:300K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
To all our customers  
Regarding the change of names mentioned in the document, such as Hitachi  
Electric and Hitachi XX, to Renesas Technology Corp.  
The semiconductor operations of Mitsubishi Electric and Hitachi were transferred to Renesas  
Technology Corporation on April 1st 2003. These operations include microcomputer, logic, analog  
and discrete devices, and memory chips other than DRAMs (flash memory, SRAMs etc.)  
Accordingly, although Hitachi, Hitachi, Ltd., Hitachi Semiconductors, and other Hitachi brand  
names are mentioned in the document, these names have in fact all been changed to Renesas  
Technology Corp. Thank you for your understanding. Except for our corporate trademark, logo and  
corporate statement, no changes whatsoever have been made to the contents of the document, and  
these changes do not constitute any alteration to the contents of the document itself.  
Renesas Technology Home Page: http://www.renesas.com  
Renesas Technology Corp.  
Customer Support Dept.  
April 1, 2003  
Cautions  
Keep safety first in your circuit designs!  
1. Renesas Technology Corporation puts the maximum effort into making semiconductor products better and more reliable, but  
there is always the possibility that trouble may occur with them. Trouble with semiconductors may lead to personal injury, fire  
or property damage.  
Remember to give due consideration to safety when making your circuit designs, with appropriate measures such as (i)  
placement of substitutive, auxiliary circuits, (ii) use of nonflammable material or (iii) prevention against any malfunction or  
mishap.  
Notes regarding these materials  
1. These materials are intended as a reference to assist our customers in the selection of the Renesas Technology Corporation  
product best suited to the customer's application; they do not convey any license under any intellectual property rights, or any  
other rights, belonging to Renesas Technology Corporation or a third party.  
2. Renesas Technology Corporation assumes no responsibility for any damage, or infringement of any third-party's rights,  
originating in the use of any product data, diagrams, charts, programs, algorithms, or circuit application examples contained in  
these materials.  
3. All information contained in these materials, including product data, diagrams, charts, programs and algorithms represents  
information on products at the time of publication of these materials, and are subject to change by Renesas Technology  
Corporation without notice due to product improvements or other reasons. It is therefore recommended that customers contact  
Renesas Technology Corporation or an authorized Renesas Technology Corporation product distributor for the latest product  
information before purchasing a product listed herein.  
The information described here may contain technical inaccuracies or typographical errors.  
Renesas Technology Corporation assumes no responsibility for any damage, liability, or other loss rising from these  
inaccuracies or errors.  
Please also pay attention to information published by Renesas Technology Corporation by various means, including the  
Renesas Technology Corporation Semiconductor home page (http://www.renesas.com).  
4. When using any or all of the information contained in these materials, including product data, diagrams, charts, programs, and  
algorithms, please be sure to evaluate all information as a total system before making a final decision on the applicability of  
the information and products. Renesas Technology Corporation assumes no responsibility for any damage, liability or other  
loss resulting from the information contained herein.  
5. Renesas Technology Corporation semiconductors are not designed or manufactured for use in a device or system that is used  
under circumstances in which human life is potentially at stake. Please contact Renesas Technology Corporation or an  
authorized Renesas Technology Corporation product distributor when considering the use of a product contained herein for  
any specific purposes, such as apparatus or systems for transportation, vehicular, medical, aerospace, nuclear, or undersea  
repeater use.  
6. The prior written approval of Renesas Technology Corporation is necessary to reprint or reproduce in whole or in part these  
materials.  
7. If these products or technologies are subject to the Japanese export control restrictions, they must be exported under a license  
from the Japanese government and cannot be imported into a country other than the approved destination.  
Any diversion or reexport contrary to the export control laws and regulations of Japan and/or the country of destination is  
prohibited.  
8. Please contact Renesas Technology Corporation for further details on these materials or the products contained therein.  
Flash Application Design Guidelines  
ADE-603-010A  
Rev. 2.0  
12/5/00  
Hitachi, Ltd.  
Cautions  
1. Hitachi neither warrants nor grants licenses of any rights of Hitachi’s or any third party’s  
patent, copyright, trademark, or other intellectual property rights for information contained in  
this document. Hitachi bears no responsibility for problems that may arise with third party’s  
rights, including intellectual property rights, in connection with use of the information  
contained in this document.  
2. Products and product specifications may be subject to change without notice. Confirm that you  
have received the latest product standards or specifications before final design, purchase or  
use.  
3. Hitachi makes every attempt to ensure that its products are of high quality and reliability.  
However, contact Hitachi’s sales office before using the product in an application that  
demands especially high quality and reliability or where its failure or malfunction may directly  
threaten human life or cause risk of bodily injury, such as aerospace, aeronautics, nuclear  
power, combustion control, transportation, traffic, safety equipment or medical equipment for  
life support.  
4. Design your application so that the product is used within the ranges guaranteed by Hitachi  
particularly for maximum rating, operating supply voltage range, heat radiation characteristics,  
installation conditions and other characteristics. Hitachi bears no responsibility for failure or  
damage when used beyond the guaranteed ranges. Even within the guaranteed ranges,  
consider normally foreseeable failure rates or failure modes in semiconductor devices and  
employ systemic measures such as fail-safes, so that the equipment incorporating Hitachi  
product does not cause bodily injury, fire or other consequential damage due to operation of  
the Hitachi product.  
5. This product is not designed to be radiation resistant.  
6. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document  
without written approval from Hitachi.  
7. Contact Hitachi’s sales office for any questions regarding this document or Hitachi  
semiconductor products.  
Preface  
This document presents flash application guidelines, including points requiring special attention,  
for developing systems using Hitachi AND flash memory.  
System design  
System  
Relevant Sections in Flash Application Design Guidelines Rev. 2.0 Page  
amendment  
Start of system  
study  
Hitachi AND Flash Write Commands  
(List of Program Functions, Areas Subject  
to Programming, Programming Example)  
Concept of Number of Rewrites  
Sample SH Interface  
: P1 to P4  
NG  
NG  
NG  
: P11, P12  
: P13 to P16  
Next Step  
Start of system  
design  
Hitachi AND Flash Write Commands  
Error Handling and Bad Sector Processing  
(Errors during reading, erasing, and writing)  
Sample SH Interface (Input Waveforms)  
Power Shutdown Processing  
: P3 to P5  
: P6 to P10  
: P17 to P20  
: P24, P25  
Next Step  
Start of system  
evaluation  
Hitachi AND Flash Write Commands  
Error Handling and Bad Sector Processing  
(Errors during reading, erasing, and writing)  
Concept of Number of Rewrites  
: P1 to P5  
: P6 to P10  
: P11, P12  
Sample SH Interface  
: P13 to P20  
(Basic Specifications, Overview, Sample Circuit,  
Input Waveforms)  
Next Step  
Sample H8S Interface  
: P20 to P22  
: P24, P25  
(Operating Mode, Control Method, Sample Circuit,  
Port Settings, Data Transfer to On-Chip RAM)  
Power Shutdown Processing  
Data Sheet  
check  
Data Sheet  
: Next page  
NG  
Next Step  
Contact Hitachi  
representative  
OK  
Please contact a Hitachi representative in the event of problems relating to flash memory. Early  
diagnosis is vital for solving problems.  
Rev. 2.0, 12/00, page iii of 6  
Data Sheet pages for reference during the design of a system using Hitachi AND flash memory are  
shown below.  
System design  
System  
amendment  
Relevant section and page in HN29W25611 Series Data Sheet  
ADE-203-1178A Rev. 1.0  
Pin functions  
Mode setting  
P6  
NG  
NG  
NG  
NG  
NG  
NG  
NG  
NG  
P7  
Pin arrangement  
P3  
Absolute  
maximum ratings  
P17  
P17  
P8, 9  
P16  
Capacitance  
Command  
descriptions  
State transitions  
Reading  
Auto-erase  
Auto-program  
: P10  
: P10  
: P10  
: P11  
: P11  
: P12  
Mode descriptions  
Status register read  
Product ID read  
Data recovery read/write  
Command/address/  
data input order  
Serial read  
Single-sector erase  
Programming  
Product ID code read  
Data recovery read/write  
: P13  
: P13  
: P14, 15  
: P15  
: P15  
NG  
Function descriptions  
DC characteristics  
P36  
P18  
NG  
NG  
Test conditions  
Parameters  
: P18  
AC characteristics  
NG  
Power-on/off, serial mode  
Program, erase, and erase-verify  
Timing waveforms  
: P19, 20  
: P21, 22  
Power-on/off  
: P23  
Serial read  
: P24, 25  
: P25  
: P26 to 31  
: P32  
: P33, 34  
: P35  
Erase and status data polling  
Program and status polling  
Product ID and status register  
Data recovery read/write  
Clear status register  
Spec for system use  
Handling of invalid sectors  
Securing system reliability  
Concerning  
system use  
: P36  
: P37  
: P38  
NG  
OK  
Rev. 2.0, 12/00, page iv of 6  
Contents  
1. Hitachi AND Flash Write Commands .......................................................... 1  
2. Error Handling and Bad Sector Processing .................................................. 6  
3. Concept of Number of Rewrites ................................................................... 11  
4. Sample Microcomputer Interfaces................................................................ 13  
5. Power Shutdown Recovery Method ............................................................. 24  
6 Examples of Sector Management Method..................................................... 26  
7 Some Common Questions ............................................................................. 34  
8. Check List..................................................................................................... 46  
Rev. 2.0, 12/00, page v of 6  
Rev. 2.0, 12/00, page vi of 6  
1. Hitachi AND Flash Write Commands  
1.1  
Overview  
This section describes the differences between the four kinds of auto-program commands,  
Program (1) to Program (4).  
Programming operations can be broadly classified into the following three kinds:  
Additional write  
Performs additional writing to arbitrary bytes in the erased state (FFH) within a sector.  
(Program1, Program3)  
Write  
Performs writing to a sector in the erased state. (Program2)  
Rewrite  
Rewrites data regardless of the write target byte data. (Program4)  
Rev. 2.0, 12/00, page 1 of 46  
1.2  
List of Hitachi AND Flash Program Functions  
Target Area  
(Column Address  
CA Range)  
Column  
Address  
Program No.  
Function  
Figure No.  
Program(1)  
Additional write (CA0 to CA2047)  
Data area  
Yes  
Performs additional writes starting at  
byte indicated by input column address.  
Additional writes are possible on  
unwritten (FFH) bytes.  
Figure 1.2  
+
Control area  
(CA2048 to CA2111)  
FFH is input for bytes on which writes  
are not performed.  
No  
Performs additional writes on sector.  
Additional writes are possible on  
unwritten (FFH) bytes.  
Figure 1.3  
FFH is input for bytes on which writes  
are not performed.  
Program(2)  
Write  
Data area  
(CA0 to CA2047)  
+
Control area  
(CA2048 to CA2111)  
No  
No  
Performs additional writes on sectors  
in erased state (all FFH).  
FFH is input for bytes on which writes  
are not performed.  
Figure 1.4  
Figure 1.5  
Program(3)  
Control area  
additional write  
Control area  
(CA2048 to CA2111)  
Performs additional writes on control  
area.  
Additional writes are possible on  
unwritten (FFH) bytes.  
FFH is input for bytes on which writes  
are not performed.  
Program(4)  
Rewrite  
Data area  
(CA0 to CA2047)  
+
Control area  
(CA2048 to CA2111)  
Yes  
No  
Performs rewrites starting at byte  
indicated by input column address.  
Rewrites with input data (including FFH  
data).  
Figure 1.6  
Figure 1.7  
Performs rewrites on sector.  
Rewrites with input data (including FFH  
data).  
Notes on Use of Additional Writes  
As additional writes by Program(1) and Program(3) are also counted in the number of rewrites,  
the stipulated number of rewrites should not be exceeded. For the method of counting rewrites,  
see section 3, Concept of Number of Rewrites.  
Additional rewrites are performed in byte units.  
Rev. 2.0, 12/00, page 2 of 46  
1.3  
Areas Subject to Hitachi AND Flash Programming  
• Program(1) without CA  
• Program(2)  
• Program(4) without CA  
• Program(1) with CA  
• Program(4) with CA  
• Program(3)  
Memory array  
Memory array  
Memory array  
(Sector)  
16383  
(Sector)  
16383  
(Sector)  
16383  
Sector  
address  
Sector  
address  
Sector  
address  
0
0
0
0
2111  
(Column)  
0
2111  
(Column)  
0
2048 2111  
2048 2111  
Register  
Register  
Register  
0
2111  
0
2111  
0
Column  
address  
Figure 1.1 Areas Subject to Hitachi AND Flash Programming  
1.4  
Examples of Use of Hitachi AND Flash Program Modes  
Examples of the use of the various program modes are shown below.  
1. Program(1) with CA (additional write)  
Writes are performed on bytes with a value of FFH. (Byte-unit additional writes)  
Note: When FFH is input, the result is no change to the existing stored data.  
0
2111(Column address)  
...  
(Data)  
Memory cell data before writing 10 20 30 40 FF FF FF FF 50 60 70 80 FF FF FF FF 90 A0 B0 C0 FF FF  
FF  
Write data from outside  
10 20 30 40 FF FF FF FF 50 60 70 80 No data  
...  
Buffer data in actual writes  
10 20 30 40 10 20 30 40 50 60 70 80 50 60 70 80 90 A0 B0 C0 FF FF  
FF  
Figure 1.2 Program Mode Example 1  
2. Program(1) without CA (additional write)  
0
2111(Column address)  
...  
(Data)  
Memory cell data before writing 10 20 30 40 FF FF FF FF 50 60 70 80 FF FF FF FF 90 A0 B0 C0 FF FF  
FF  
Write data from outside  
FF FF FF FF 10 20 30 40 FF FF FF FF 50 60 70 80 No data  
...  
Buffer data in actual writes  
10 20 30 40 10 20 30 40 50 60 70 80 50 60 70 80 90 A0 B0 C0 FF FF  
FF  
Figure 1.3 Program Mode Example 2  
Rev. 2.0, 12/00, page 3 of 46  
3. Program(2) (write for pre-erased sectors)  
Writing is performed on sectors in the erased state.  
Note: When FFH is input, the result is no change to the existing stored data.  
0
2111(Column address)  
...  
(Data)  
Memory cell data before writing FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  
FF  
Write data from outside  
FF FF FF FF 10 20 30 40 FF FF FF FF 50 60 70 80 No data  
...  
Buffer data in actual writes  
FF FF FF FF 10 20 30 40 FF FF FF FF 50 60 70 80 FF FF FF FF FF FF  
FF  
Figure 1.4 Program Mode Example 3  
4. Program(3) (additional write to control area)  
Writing is performed on bytes with a value of FFH in the control area.  
Note: When FFH is input, the result is no change to the existing stored data.  
0
2048  
2111(Column address)  
...  
...  
(Data)  
Memory cell data before writing 10 20 30 40  
20 30 40 50 60 70 80 FF FF FF FF 90 A0 B0 C0 FF FF  
FF  
Write data from outside  
FF FF FF FF 50 60 70 80 No data  
...  
...  
Buffer data in actual writes  
10 20 30 40  
20 30 40 50 60 70 80 50 60 70 80 90 A0 B0 C0 FF FF  
FF  
Figure 1.5 Program Mode Example 4  
5. Program(4) with CA (rewrite)  
Performs rewriting.  
Addresses for which data has been entered from outside are rewritten. (FFH data rewriting is  
also performed.)  
0
2111(Column address)  
...  
(Data)  
Memory cell data before writing 10 20 30 40 FF FF FF FF 50 60 70 80 FF FF FF FF 90 A0 B0 C0 FF FF  
FF  
Write data from outside  
50 60 70 80 10 20 30 40 FF FF FF FF 50 60 70 80 No data  
...  
Buffer data in actual writes  
50 60 70 80 10 20 30 40 FF FF FF FF 50 60 70 80 90 A0 B0 C0 FF FF  
FF  
Figure 1.6 Program Mode Example 5  
6. Program(4) without CA (rewrite)  
0
2111(Column address)  
...  
(Data)  
Memory cell data before writing 10 20 30 40 FF FF FF FF 50 60 70 80 FF FF FF FF 90 A0 B0 C0 FF FF  
FF  
Write data from outside  
50 60 70 80 10 20 30 40 FF FF FF FF 50 60 70 80 No data  
...  
Buffer data in actual writes  
50 60 70 80 10 20 30 40 FF FF FF FF 50 60 70 80 90 A0 B0 C0 FF FF  
FF  
Figure 1.7 Program Mode Example 6  
Rev. 2.0, 12/00, page 4 of 46  
Conditions for the use of the Program(1) to Program(4) modes are summarized below.  
Write execution  
Write target  
No  
sector in erased  
state?  
Yes  
Write target  
byte in erased  
state?  
No  
No  
Yes  
Write  
of control bytes  
only?  
Yes  
Program(1)  
Program(2)  
Program(3)  
Program(4)  
can be used  
Program(1)  
Program(3)  
Program(4)  
can be used  
Program(1)  
Program(4)  
can be used  
Program(4)  
can be used  
Figure 1.8 Conditions for Use of Each Program Mode  
Rev. 2.0, 12/00, page 5 of 46  
2. Error Handling and Bad Sector Processing  
A read, erase, or rewrite error may occur when Hitachi AND flash memory is programmed. To  
secure system reliability, provisions must be made to handle such errors when they occur.  
The approach to error handling and bad sector processing is outlined below. The most appropriate  
processing should be incorporated into the system after checking details of flash memory state  
transitions, status information, etc., in the Data Sheet.  
2.1  
Errors during Reading  
When a data read is performed, the read data may differ from the written data. Therefore, an ECC  
correction function of 3 or more bits per sector (2 kbytes) should be provided.  
ECC Generation when Writing  
ECC Check when Reading  
Start  
Start  
2-kbyte data preparation  
ECC code generation  
Write data + ECC code  
Read data + ECC code  
ECC check  
OK  
NG  
Error correction  
End  
Write data + ECC code  
(Rewrite corrected data)  
... Flash processing  
... Controller processing  
End  
Figure 2.1 Example of Read Error Handling  
Rev. 2.0, 12/00, page 6 of 46  
2.2  
Errors during Erasing  
The main points for attention when an error occurs during erasing are given below.  
(1) Factory shipped bad sectors, or sectors that have become bad due to erasing or writing, should  
not be erased or written.  
(2) Carry out a good sector code check before writing or erasing. One option may be to create a  
check table in which such sectors are recorded.  
(3) Data in a sector in which an error has occurred during erasing will be undefined, and  
meaningless data will be returned if the sector is read.  
(4) If an error occurs, record the bad sector, and then issue a Clear Status Register command and  
restore the flash memory to the state in which commands can be received.  
Start  
Read good sector code  
Bad sector  
Code check  
Good sector  
Record bad sector  
Erase  
End  
Busy  
NG  
Ready/Busy  
Ready  
Status read  
OK  
Record bad sector  
Clear status  
register  
... Flash processing  
End  
... Controller processing  
Figure 2.2 Example of Erase Error Handling  
Rev. 2.0, 12/00, page 7 of 46  
2.3  
Errors during Writing  
The main points for attention when an error occurs during writing are given below.  
(1) Factory shipped bad sectors, or sectors that have become bad due to erasing or writing, should  
not be erased or written.  
(2) Carry out a good sector code check before writing or erasing. One option may be to create a  
check table in which such sectors are recorded.  
(3) Error confirmation can be achieved by performing a status register read after writing.  
(4) Data in a sector in which a write error has occurred will be indeterminate, and should not be  
used for rewriting to a spare sector.  
(5) Any of the following three methods can be used for rewriting.  
(a) Writing data reloaded from an external buffer (See figure 2.4.)  
Requires host to maintain data buffer until successful completion of write command.  
(b) Data recovery read (See figure 2.5.)  
(c) Data recovery write (See figure 2.6.)  
(6) Do not perform any further accesses to a sector in which an error has occurred.  
Rev. 2.0, 12/00, page 8 of 46  
Start  
(a) Writing data reloaded from an external  
buffer (See figure 2.4.)  
Requires host to maintain data buffer until  
successful completion of write command.  
(b) Data recovery read (See figure 2.5.)  
(c) Data recovery write (See figure 2.6.)  
Write  
Busy  
Ready/Busy  
Ready  
NG  
Status read  
OK  
Clear status register  
External buffer  
data load  
Data recovery read  
(a)  
(b)  
Record bad sector  
Find spare sector  
Write  
Record bad sector  
Find spare sector  
Data recovery write  
(c)  
NG  
Status read  
OK  
... Flash processing  
... Controller processing  
End  
Figure 2.3 Example of Write Error Handling  
Rev. 2.0, 12/00, page 9 of 46  
Controller  
Flash  
NG  
(1)  
(2)  
2 kB + ECC  
Data buffer  
Sector  
addresses  
Rewrite destination  
2 kB + ECC  
Figure 2.4 Writing Data Reloaded from an External Buffer  
Controller  
Flash  
NG  
(1)  
(2)  
2 kB + ECC  
Data buffer  
Sector  
addresses  
(3)  
Rewrite destination  
2 kB + ECC  
Figure 2.5 Data Recovery Read  
Controller  
Flash  
NG  
(1)  
2 kB + ECC  
Data buffer  
Sector  
addresses  
(2)  
Rewrite destination  
2 kB + ECC  
Figure 2.6 Data Recovery Write  
Rev. 2.0, 12/00, page 10 of 46  
3. Concept of Number of Rewrites  
3.1  
Definition of Number of Rewrites  
This is calculated by totaling the number of operations for each process per sector unit (see  
below).  
Erase + Write  
Additional write 1.0  
Rewrite 1.0  
1.0  
3.2  
Definition of Bad Sector Occurrence Rate [= 1.8(%)]  
The probability of a defect occurring when the same sector is rewritten 300,000 times. (See figure  
3.1.)  
N = Stipulated number of rewrites  
1.8%  
N
Number of rewrites  
Figure 3.1 Definition of Bad Sector Occurrence Rate  
3.3  
Sample Calculation of Number of Spare Sectors  
Example: Number of spare sectors needed when the entire area of 98% MGM flash is rewritten  
300,000 times  
Defect rate of 1.8(%) for 300,000 rewrites with total of 16,384 sectors and MGM rate  
of 98(%)  
Number of spare sectors needed = 16,384 × 0.98 × 0.018 = 290 (sectors) or more  
Rev. 2.0, 12/00, page 11 of 46  
3.4  
Notes on Number of Rewrites  
(1) Do not exceed the stipulated number of rewrites on the same sector.  
(2) If the stipulated number of rewrites is exceeded, unexpected errors may occur in that sector.  
(3) Execute processing on the system side to prevent a system crash in the event of such an error.  
Rev. 2.0, 12/00, page 12 of 46  
4.  
Sample Microcomputer Interfaces  
4.1  
Sample SH Interface  
This section shows examples of the interface to a microcomputer. Operation of the sample SH  
interface circuit has been confirmed with an SH7709.  
4.1.1  
Basic Specifications  
Embedded flash (AND) control is performed from the SH by means of simple flash control logic  
(TTLIC, GA, etc.).  
(1) Interfacing is performed via area n (CSn).  
(2) A register to control the flash pins is provided at an area n (CSn) address (Address: AP).  
(External ports: CE, WE, CDE, SC)  
(3) Flash is accessed by area n (CSn) address (Address: AF).  
(4) 2.5 kbytes of RAM are necessary (5 kbytes recommended) as a buffer for providing a spare  
sector in the event of a flash memory write or read error.  
TTLIC, GA, etc.  
A0  
RAM  
Minimum requirement:  
2.5 kbytes  
Flash  
control logic  
Can be connected  
externally  
SH  
Flash  
Data bus  
Figure 4.1 Flash Memory Interface Block Configuration  
Rev. 2.0, 12/00, page 13 of 46  
4.1.2  
Overview  
(1) CDE performs command/address switching, and so can be low during polling.  
(2) CE disables all input (including SC), so is overlapped with WE, SC, etc.  
(3) Operation is not started by a command not stipulated in the Data Sheet.  
Ex: 02H, 03H, ... 07H, etc.  
(4) SC becomes valid after the prescribed procedure.  
After SA(2) + first access when reading; after SA(2) CDE fall when writing.  
(5) Polling is performed by I/O7. (R/B not used.)  
CPU bus  
VCC  
Flash  
VCC  
Power on reset  
RESET  
Latch  
Address  
Qualifier  
An to Am,  
CSn  
SC  
R/B  
D0 to D7  
GND  
I/O0 to I/O7  
VSS  
Figure 4.2 Flash Memory Interface Block Configuration  
Description of Blocks  
Address Qualifier  
Selects whether an input value from the data bus is to be latched as a signal for control signal  
setting, or the latch data is to be held.  
During the latch data hold period, control signals are output to the flash memory, so command,  
sector address, or other input is performed from the data bus to the flash memory.  
Latch  
Latches data input from the data bus, and provides the necessary control signal to the flash  
memory on the basis of that latched data.  
Rev. 2.0, 12/00, page 14 of 46  
4.1.3  
Sample Circuit  
CPU bus  
Flash  
RESET  
Power-on reset  
Latch  
Address Qualifier  
R/B  
A0  
D
D
D
D
Q
Q
Q
Q
I/O7  
I/O6  
I/O5  
I/O4  
I/O3  
I/O2  
I/O1  
I/O0  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
Figure 4.3 Flash Control Logic  
Various kinds of processing are performed on the flash memory by combining the states in (1) and  
(2) below (see section 4.1.4, Input Waveforms, for the flow).  
Rev. 2.0, 12/00, page 15 of 46  
(1) Address A0 = High & C  
                       
S
                        
n
                         
= Low  
Flash control signals are set in the latch (command setting, sector address setting, data read/write  
CE, OE, WE, CDE, etc.).  
Latch Input Signal Name  
D0  
Latch Data  
Output Signal State  
WE0 WE  
WE Fixed high  
CDE Fixed high  
CDE Fixed low  
WE0 SC  
1)  
2)  
3)  
4)  
1;  
0;  
1;  
0;  
1;  
0;  
1;  
0;  
D1  
D2  
D3  
RD  
CE  
CE  
SC  
Fixed high  
Fixed low  
(2) Address A0 = Low & CSn = High  
Latch hold state; command setting and data read/write access executed on the flash memory.  
Rev. 2.0, 12/00, page 16 of 46  
4.1.4  
Input Waveforms  
Sample input waveforms in read, program, and erase operations are shown below.  
Serial Read  
Program  
Erase  
(1) (2)  
(1) (3)  
(1) (4)  
(1) Command and Address Setting  
A0  
*2  
*2  
*1  
01H  
Com  
03H  
SA1  
SA2  
D0 to D7  
SC  
Latch set  
Command set  
Latch set  
Address set  
Address set  
*1 Com flash commands  
Serial Read:  
Program2:  
00H  
1FH  
Sing Sec Erase: 20H  
*2 SA1, SA2 sector addresses  
Figure 4.4 Example of Timing Waveforms in Command and Address Setting  
Rev. 2.0, 12/00, page 17 of 46  
(2) Read  
A0  
0FH  
D0 to D7  
SC  
Data read  
Data read  
Data read  
Data read  
Latch set  
SB  
SB  
SB  
SB  
Figure 4.5 Example of Read Timing Waveforms  
Read flow  
I/O  
O
O
O
O
O
O
I
A0  
D0 to D7  
1
1
0
1
0
0
0
:
0FH (Clear)  
01H (Com Latch)  
00H (Serial Read)  
03H (Add Latch)  
AAH (Sector Add 1)  
AAH (Sector Add 2)  
Data (Read Data)  
:
:
O
1
0FH (Clear)  
Rev. 2.0, 12/00, page 18 of 46  
(3) Program  
Wait  
A0  
04H  
01H  
0FH  
D0 to D7  
Program start  
SC  
Latch set  
Data write  
Data write  
Latch set  
Command set  
Status read  
Latch set  
SB  
SB  
Figure 4.6 Example of Program Timing Waveforms  
Programming flow  
A0  
I/O  
O
O
O
O
O
O
O
O
:
D0 to D7  
1
1
0
1
0
0
1
0
:
0FH (Clear)  
01H (Com Latch)  
11H (Program 4)  
03H (Add Latch)  
AAH (Sector Add 1)  
AAH (Sector Add 2)  
04H (SC Latch)  
DDH (Data Input)  
:
O
O
1
0
01H (Com Latch)  
40H (Prg Start)  
(Status Read)  
O
1
0FH (Clear)  
Rev. 2.0, 12/00, page 19 of 46  
(4) Erase  
Wait  
A0  
01H  
0FH  
D0 to D7  
Erase start  
SC  
Latch set  
Command set  
Status read  
Latch set  
Figure 4.7 Example of Erase Timing Waveforms  
Erase flow  
I/O  
O
O
O
O
O
O
O
O
A0  
D0 to D7  
1
1
0
1
0
0
1
0
0FH (Clear)  
01H (Com Latch)  
20H (Single Erase)  
03H (Add Latch)  
AAH (Sector Add 1)  
AAH (Sector Add 2)  
01H (Com Latch)  
B0H (Erase Start)  
(Status Read)  
O
1
0FH (Clear)  
4.2  
Sample H8S Interface  
4.2.1  
Operating Mode  
Mode 3/EXPE = 0 normal single-chip mode is used.  
Rev. 2.0, 12/00, page 20 of 46  
4.2.2  
Control Method  
Control is performed using ports in order to implement simple signal connection and control.  
Port 1 is used for signal control.  
Port 2 is used for data input/output.  
Port 1  
H8S  
Flash  
Control signals  
Port 2  
Data  
Figure 4.8 Control Method  
4.2.3  
Sample Circuit  
P10  
P11  
P12  
P13  
P14  
P15  
P16  
P17  
OE  
WE  
CDE  
SC  
CE1  
Open  
RDY  
/Busy  
H8S/2100  
Flash 1  
I/O0  
I/O1  
I/O2  
I/O3  
I/O4  
I/O5  
I/O6  
I/O7  
RES  
P20  
P21  
P22  
P23  
P24  
P25  
P26  
P27  
OE  
WE  
CDE  
SC  
CE2  
RDY  
/Busy  
I/O0  
I/O1  
I/O2  
I/O3  
I/O4  
I/O5  
I/O6  
I/O7  
RES  
Flash 2  
Power on reset circuit  
Figure 4.9 Sample Circuit  
Rev. 2.0, 12/00, page 21 of 46  
4.2.4  
Port Settings  
Port 1 Settings  
Port 1  
P10  
P11  
WE  
Out  
Yes  
P12  
CDE  
Out  
P13  
SC  
Out  
No  
P14  
CE1  
Out  
Yes  
P15  
CE2  
Out  
Yes  
P16  
P17  
Flash memory OE  
Input/output  
RDY/Busy  
In  
Out  
Out  
Yes  
Pull up  
Yes  
Yes  
Yes  
Port 2 Settings  
Port 2  
P20  
P21  
I/O1  
I/O  
P22  
I/O2  
I/O  
P23  
I/O3  
I/O  
P24  
I/O4  
I/O  
P25  
I/O5  
I/O  
P26  
I/O6  
I/O  
P27  
I/O7  
I/O  
Flash memory I/O0  
Input/output  
Pull up  
I/O  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
Yes  
4.2.5  
Data Transfer to On-Chip RAM  
If the on-chip RAM capacity is not sufficient for one flash sector of data to be transferred, one  
sector of data should be divided for transfer as shown in the example below.  
Example: One sector of data is divided into four parts, which are transferred separately.  
Taking 2048 + 64 bytes as (512 (data area) + 16 (management area)) × 4 bytes, 528  
bytes are transferred at a time.  
H8S microcomputer  
Flash  
(1) Transfer of 528-byte unit  
(3) Transfer of 528-byte unit  
On-chip RAM  
528  
528  
528  
528  
528  
(2) 528-byte data processing  
Figure 4.10 Example of Data Transfer  
Rev. 2.0, 12/00, page 22 of 46  
4.3  
Reference Materials  
(1) 256-Mbit flash memory (HN29W25611 Series) Data Sheet  
(2) SH Series Hardware Manual  
(3) H8S Series Hardware Manual  
Rev. 2.0, 12/00, page 23 of 46  
5. Power Shutdown Recovery Method  
5.1  
Internal Circuitry that Executes Erasing/Writing  
Figure 5.1 shows the 256-Mbit flash memory circuit configuration and memory cell erase/write  
operations. Memory cells are linked by a source line, word line, and data line, with each signal  
line driven by peripheral circuitry.  
In a write, a charge is injected into the floating gate by setting the word line to positive potential.  
In an erase, the floating gate charge is discharged by setting the word line to negative potential.  
When power is shut down, the memory cells themselves in the flash memory are not damaged, but  
memory cell data may become invalid due to faulty operation of the peripheral circuitry that  
controls memory cell erasing, writing, etc. (see figure 5.1).  
256M flash memory (AND type)  
Peripheral circuitry  
V
V
CC  
Word line  
SS  
Erase processing  
Word line  
Write processing  
Word line  
Data  
line  
Source  
line  
Flash  
memory  
cell  
Floating  
Floating  
Word line  
Word line  
Source  
line  
Data  
line  
Source  
line  
Data  
line  
Reset  
IC  
gate  
gate  
e
e
e
e
e
e
(b) Flash Memory Erase and  
Write Operations  
Sense amp  
Data buffer  
(Based on 256M Flash Memory)  
I/O  
[7:0]  
(a) Image of Flash Memory Circuit  
Configuration  
(256M Flash Memory)  
Figure 5.1 Flash Memory Circuit Configuration Image and  
Erase and Write Operations  
Rev. 2.0, 12/00, page 24 of 46  
5.2  
Processing when Power Shutdown Occurs during Erase or Write  
Operations  
If power is shut down during erase or write processing, the following processing should be  
executed.  
(1) Execute a reset by activating the RES signal. (The peripheral circuitry will be initialized.)  
(2) Perform erase/write processing again on any sector in which the data has been corrupted due to  
erasing/writing when the power shutdown occurred.  
(3) Read the good sector codes of all sectors, and perform erase/write processing again on any  
other sectors that have become bad.  
Note that the processing in (1) and (3) above can be eliminated by connecting an external Reset IC  
(see figure 5.1). In this case, only the processing in (2) should be carried out.  
5.3  
When Power Shutdown Occurs during Reset, Read Transfer, or  
Other Processing  
Execute the processing in (1) and (3) above.  
Note that this processing can be eliminated by connecting an external Reset IC.  
5.4  
If sectors in which a fault has occurred cannot be restored by means of the above  
processing, processing should be carried out to prevent use of those sectors in the  
system.  
Rev. 2.0, 12/00, page 25 of 46  
6 Examples of Sector Management Method  
6.1  
Flash Configuration  
The flash configuration in the case of a 256-Mbit product is shown in figure 6.1. The (2048 + 64)  
bytes constituting a sector are divided into four, giving (512 + 16) bytes as the minimum unit of  
data. In this section, (512 + 16) bytes is called a sector, and (2048 + 64) bytes is called a block.  
256-Mbit flash is composed of 16,384 blocks, with each block consisting of four (512 + 16)-byte  
sectors.  
For data writing, the Program (4) program command is used. An erase command is only used  
when erasing data as a block.  
(2048 + 64) bytes  
Block 0  
Block 1  
Block 2  
Block 3  
Sector 0  
Sector 1  
Sector 2  
Sector 3  
(512 + 16) bytes (512 + 16) bytes (512 + 16) bytes (512 + 16) bytes  
4 sectors/block  
Block 16382  
Block 16383  
Total number of blocks: 16,384  
Capacity: (2048 + 64) bytes/block  
Figure 6.1 Flash Configuration  
Each sector is composed of a 512-byte data area, ECC bytes, and sector management bytes.  
16 bytes  
ECC +  
16 bytes  
ECC +  
16 bytes  
ECC +  
16 bytes  
ECC +  
512 bytes  
Data  
512 bytes  
Data  
512 bytes  
Data  
512 bytes  
Data  
management  
management  
management  
management  
Rev. 2.0, 12/00, page 26 of 46  
6.2  
Block Management Method  
The block configuration is shown in table 6.1.  
Table 6.1 Block Configuration  
Item  
Number of Blocks Used  
Description  
Bad block  
1 block  
Stores good/bad block information  
recording table  
Block  
management table  
16 blocks  
m blocks  
Manages correspondence between physical  
block numbers and logical block numbers.  
Logical block numbers are consecutive  
Spare block  
area (1)  
Area reserved for bad blocks.  
For 256-Mbyte flash, from Data Sheet, m =  
16,384 × 0.98 × 0.018 290 blocks  
Spare block  
area (2)  
n blocks  
Area reserved for initial bad blocks. n = 0 to  
328  
Data block area  
16384 (m +n +16 +1)  
Area that can be used as data area. For 256-  
Mbyte flash, min = 15,750 blocks, max = 16,078  
blocks  
Block information  
1 block  
Stores total number of blocks in data block area  
(1) Bad block recording table  
This table performs management of good/bad flash blocks. The management information is  
created when flash formatting is carried out. This data is saved as a backup for the initial  
good/bad block information.  
Good/bad information is stored as 1-bit data, and data is held for each physical block.  
512 bytess: 4,096 blocks can be recorded  
16 bytes  
0
1
2
3
4
5
6
512  
ECC  
+ management  
Bad block  
Good block  
1
0
1
1
2
0
3
1
4
1
5
0
6
1
7
Physical  
block number  
1
Figure 6.2 Block Recording Table  
Rev. 2.0, 12/00, page 27 of 46  
(2) Block management table  
This table manages the correspondence between physical block numbers and logical block  
numbers for usable blocks. The management information is created when flash formatting is  
carried out.  
The table is updated whenever a bad block occurs during use.  
The block information in the block management table is shown in figure 6.3. Two bytes of data  
are provided for each logical block, holding the physical block number corresponding to the  
logical block number. The effective capacity information bit indicates whether a logical block  
corresponds to a data area.  
512 bytes: 256 blocks can be recorded  
16 bytes  
Logical  
block number  
0
0
1
1
2
2
3
3
4
5
5
6
6
255  
ECC  
+ management  
XX  
XX: Spare block number  
Physical block number  
(14 bits)  
Blank  
Effective capacity information  
Corresponding physical block present : 0  
No corresponding physical block  
: 1  
Figure 6.3 Block Management Table  
(3) Spare block areas  
The spare block areas are spare areas in the event of a bad block.  
Figure 6.4 shows the location of each area. The data area is located starting at flash physical block  
number 0000H.  
A bad block in the data area is switched to spare block area (1).  
Starting from the highest physical block number, the bad block recording table, block management  
table, and spare block areas, are located in that order. When there is a bad block, it is placed in the  
lower good block. For example, if physical block number 3FFFH is a bad block, the bad block  
recording table is placed at 3FFEH.  
Rev. 2.0, 12/00, page 28 of 46  
0000H  
Data area  
Spare block area (1)  
Spare block area (2)  
0 to 328 blocks  
290 blocks  
16 blocks  
1 block  
Block management table  
Bad block recording table  
Figure 6.4 Alternate Block Areas  
Rev. 2.0, 12/00, page 29 of 46  
6.3  
Sector Management Codes  
Sectors are managed by means of 16-byte management data  
The management data consists of a sector identification code, block number, good sector  
identification code, and ECC code.  
16 bytes  
ECC  
+ management  
16 bytes  
ECC  
+ management  
16 bytes  
ECC  
+ management  
16 bytes  
ECC  
+ management  
512 bytes  
Data  
512 bytes  
Data  
512 bytes  
Data  
512 bytes  
Data  
Sector identification  
Block identification  
ECC bytes  
Blank  
Block number  
Good block code  
Sector management bytes  
Figure 6.5 Sector Management Codes  
(1) Good block code  
Stores 3 bytes (1C71C7H) of the ex-factory good block code.  
(2) Block number  
Stores the logical block number to which the sector belongs.  
(3) Block identification code  
Indicates which area (data area, spare block area, block management table, or bad block  
recording table) the block belongs to. The same code is stored for sectors within the same  
block (see table 6.2).  
(4) Sector identification  
Indicates the sector status (in use or not used) (see table 6.3).  
(5) ECC bytes  
These bytes store the EEC code for 512 bytes of data.  
Rev. 2.0, 12/00, page 30 of 46  
Table 6.2 Examples of Block Identification Code  
Block Type  
Example of Code  
Data area  
0FH  
Spare block area (1)  
Spare block area (2)  
01H  
Substituted  
Not used  
10H  
1FH  
Block management table  
Bad block recording table  
Ex-factory bad block  
Acquired bad block  
00H  
F0H  
Undefined  
FFH  
Table 6.3 Examples of Sector Identification Code  
Sector Status  
In use  
Example of Data  
00H  
FFH  
Not used  
Rev. 2.0, 12/00, page 31 of 46  
6.4  
Sector Access Methods  
Data area sectors are accessed by sector number. Sector numbers start from 0.  
The quotient resulting from dividing a sector number by 4 is the flash logical block number, and  
the remainder is the sector position within the block.  
Figure 6.6 shows a comparison between physical block numbers and logical block numbers.  
Physical format  
Logical format  
0
1
2
3
4
5
6
7
block 0  
block 1  
block 2  
block 0  
block 1  
block 2  
block 3  
block 4  
block 5  
block 6  
block 7  
bad block (initial)  
block 4  
block 5  
bad block (acquired)  
block 7  
Spare block  
area (2)  
block 3  
Spare block  
area (1)  
block 6  
16 blocks  
Block management table  
Bad block recording table  
Figure 6.6 Comparison of Physical and Logical Formats  
With this sector management method, except for bad sectors, logical block number = physical  
block number.  
Therefore, a method whereby a sector is accessed by performing physical/logical block number  
conversion, and a method whereby a sector is accessed by performing only bad block  
physical/logical block number conversion, are possible.  
Rev. 2.0, 12/00, page 32 of 46  
Access method (1)  
Start  
Access method (2)  
Start  
Logical block number sector  
position calculation  
Logical block number sector  
position calculation  
Logical block number calculation  
from block management table  
Bad sector  
Sector management  
information read  
Good sector  
Logical block number calculation  
from block management table  
Access to data  
Access to data  
Access to data  
Figure 6.7 Sector Access Methods  
If a sector error occurs, the block to which the relevant sector belongs is identified as a bad block,  
and substitution is performed.  
Rev. 2.0, 12/00, page 33 of 46  
7 Some Common Questions  
This section presents a number of technical questions that have been received concerning AND  
flash memory, in a Q&A format.  
7.1  
Concerning Flash Memory  
[Question]  
What kind of memory is flash memory?  
[Answer]  
Flash memory is a kind of nonvolatile memory (NVM), which retains its data even if power is cut,  
and features both a high level of integration and electrical programming functions.  
Flash memory is broadly divided into two kinds: random access type and serial access type. AND  
flash is serial access flash memory.  
[Question]  
What is the difference between AND flash and NAND flash?  
[Answer]  
Both are serial access type flash memory for data storage use, featuring large capacity and high-  
speed reading, wiring, and erasing.  
A major difference between the two relates to the write/erase units.  
With AND flash, the write unit and erase unit are the same. For 256-Mbyte flash, this is the (2k +  
64)-byte sector unit.  
With NAND flash, the write unit and erase unit are different, with a (512 + 16)-byte page used for  
writing, and an 8- to 16-kbyte block unit for erasing.  
[Question]  
What is MGM?  
[Answer]  
MGM is an abbreviation of Mostly Good Memory. 98% MGM refers to memory in which fewer  
than 2% of all sectors are invalid (bad) when the product is shipped. This increases chip yield and  
helps to lower costs.  
Rev. 2.0, 12/00, page 34 of 46  
[Question]  
What is multi-level technology?  
[Answer]  
In contrast to the two threshold levels, 0 and 1, of conventional memory, this technology controls  
four threshold levels, 00, 01, 10, and 11, enabling two memory cells' worth of data to be stored in  
a single memory cell.  
As multi-level technology enables twice the capacity of conventional technology to be achieved  
with the same number of memory cells, it is effective in cutting costs by increasing capacity and  
reducing chip size.  
Conventional cell type  
Multi-level cell type  
Memory cell distribution  
Memory cell distribution  
Rev. 2.0, 12/00, page 35 of 46  
7.2  
Concerning the Interface  
[Question]  
Is it possible to design a system that can support future large-capacity products (512 Mbytes and  
up)?  
[Answer]  
Yes. The functions, command system, and electrical characteristics are compatible with current  
512-Mbyte flash, but the increase in addresses has to be taken into consideration. The package,  
also, is identical to the 48-pin TSOP (I), and the pins necessary for control are also the same.  
[Question]  
How should AND flash be used?  
[Answer]  
The optimum method of use is determined by the requirements for the target system flash.  
Generally speaking, there are two methods of use, involving a trade-off between mounting area  
and performance:  
1) Using a dedicated controller and a software driver for its interface (PC-ATA or IDE)  
2) Incorporating the flash driver in the host CPU firmware, and performing direct control with a  
CPU of adequate performance (SH-3 80 MHz level)  
(1) Using a dedicated controller  
CPU  
(2) Direct control by the CPU  
ROM  
Firmware  
CPU  
Flash Driver  
PC-ATA/IDE  
Controller  
AND Flash  
AND Flash  
Rev. 2.0, 12/00, page 36 of 46  
7.3  
Concerning Power Shutdown  
[Question]  
Are there any points requiring attention when powering on and off?  
[Answer]  
The RES pin should be driven low before turning on the power.  
When powering off, check that the chip is in the Ready state, then drive the RES pin low and cut  
the power. Using this procedure will ensure that data is protected even if the input signal becomes  
unstable when powering on or off  
VCC  
ViHR  
RES  
ViLR  
ViLR  
ViLR = VSS ±0.2 V  
ViHR = VCC ±0.2 V  
Input signal  
Dont care  
.
After power-on, the chip performs internal initialization processing, and automatically goes to the  
standby state. Operation is possible as soon as the status changes to Ready.  
[Question]  
Won't data be lost if a power cut (momentary power interruption) occurs?  
[Answer]  
Data will not be lost if the flash status is Ready.  
In addition, data will not be lost when the status is Busy during reading.  
If the status is Busy during writing/erasing, operation is forcibly terminated before the memory  
cells go to the normal write/erase state, and so the data in the relevant sector will be undefined.  
For the sector recovery method in this case, see section 5, Power Shutdown Recovery Method.  
Rev. 2.0, 12/00, page 37 of 46  
7.4  
Concerning Reset Operations  
[Question]  
Can operation be forcibly reset by issuing a reset command (FFH) in the Busy state?  
[Answer]  
No. No commands are accepted in the Busy state.  
In the case of writing/erasing, it is possible to transit to the standby state by using a reset command  
(FFH) during the setup state before a start command (writing: 40H, erasing: B0H) is issued.  
[Question]  
What happens if a hardware reset (RES: low) is performed in the Busy state?  
[Answer]  
All operations are forcibly terminated and a transition is made to the deep standby state.  
In the case of writing/erasing, the data in the relevant sector will be undefined.  
The recovery method for a sector with undefined data due to a hardware reset is the same as the  
sector recovery method after power is cut. See section 5, Power Shutdown Recovery Method.  
Rev. 2.0, 12/00, page 38 of 46  
7.5  
Concerning Write Operations  
[Question]  
How many times can Program (1) and (3) additional writes be performed?  
[Answer]  
There is no limit to the number of writes that can be performed with the additional write function.  
However, an additional write should be counted as one rewrite (programming) operation.  
For example, when performing additional writes with one sector (2 kbytes) divided into four 512-  
byte units, the number of rewrite operations for that sector should be counted as 4.  
[Question]  
What is the difference between Program (1) and (3) additional writes and Program (4) rewriting?  
[Answer]  
An additional write can only be performed on FFH data (i.e. data in the erased state) in a sector.  
Rewriting (programming) is a data contents update and overwrite function.  
For details, see section 1, Hitachi AND Flash Write Commands.  
[Question]  
If writing is performed with Program (4) by specifying a column address, what happens to data  
outside the specified range?  
[Answer]  
For data outside the specified range—that is, areas with no data input from outside—the data prior  
to the write is retained.  
Rev. 2.0, 12/00, page 39 of 46  
7.6  
Concerning Bad Sectors  
[Question]  
What is a bad sector (invalid sector) in AND flash?  
[Answer]  
AND flash memory is based on the MGM (Mostly Good Memory) concept, and allows the  
existence of sectors that do not operate normally—that is, defective sectors—within the chip.  
These defective sectors are called bad sectors.  
Both bad sectors present when the product is shipped from the factory, and bad sectors that arise  
later within the user system (acquired bad sectors), are permitted.  
[Question]  
How many bad sectors can be expected?  
[Answer]  
When flash is shipped from the factory, fewer than 2% of all sectors are bad. With 256-Mbyte  
flash this means 16,384 × 2% 328 sectors.  
[Question]  
Do bad sectors occur during use in the system?  
[Answer]  
Yes. Of the 98% or more ex-factory good sectors, it is possible that 1.8% (with 256-Mbyte flash:  
16,384 (total number of sectors) × 98% × 1.8% 290 sectors) may become bad.  
[Question]  
How are ex-factory bad sectors identified?  
[Answer]  
The data shown in the table below is written in good sectors. If column addresses 820H to 825H  
are as shown in the table, the sector is good. Data in a bad sector is undefined.  
Column 000H to  
address 81FH  
826H to  
83FH  
820H  
821H  
822H  
823H  
824H  
825H  
Data  
00H  
1CH  
71H  
17H  
1CH  
71H  
C7H  
FFH  
Rev. 2.0, 12/00, page 40 of 46  
[Question]  
How can the occurrence of bad sectors be identified during use in the system?  
[Answer]  
An error during writing/erasing is identified by reading the status register.  
After writing/erasing has been performed and the Ready state is entered, the relevant bit of the  
status register (bit 4 for writing, bit 5 for erasing) is checked, and processing ends normally if the  
bit is 0, or ends with an error if the bit is 1. In a normal end, the memory data values are as  
expected.  
Read errors should be detected using a method such as ECCs.  
Mode  
Detection Method  
Status register read  
Status register read  
ECC check, etc.  
Erase error  
Write error  
Read error  
[Question]  
When a sector that did not have a good sector code at the time of shipment was rewritten, the  
processing ended normally. Can this sector be used as a good sector?  
[Answer]  
A sector that does not have a good sector code at the time of shipment is a bad sector. A bad  
sector is one with a defect of some kind, or one that has a high probability of developing a defect.  
Even if rewriting is performed normally, there is still a possibility of some kind of problem  
arising, such as with the reliability of the data, for instance. Therefore, bad sectors should not be  
accessed.  
[Question]  
When a bad sector is read, data of some kind is obtained. Will the same data be obtained however  
many times that sector is read?  
[Answer]  
As data in a bad sector lacks reliability, there is no guarantee that the same data will be obtained  
again.  
Rev. 2.0, 12/00, page 41 of 46  
7.7  
Concerning Sector Information (Good/Bad Sectors)  
[Question]  
Is it possible to recover ex-factory sector information if it has been erased?  
[Answer]  
It is extremely difficult to do so. Ex-factory bad sectors are identified as the result of various tests  
conducted during the manufacturing process. In addition to simple write/erase/read tests, a test  
mode is also used that takes past experience into consideration.  
There are many modes for the occurrence of a bad sector, and only some of these are tested in  
ordinary write/erase tests.  
It is important to save sector information in some way, and ensure that it is not lost.  
[Question]  
Is it OK for sector codes written at the time of shipment to be overwritten with different codes?  
[Answer]  
Yes, this is possible. As long as good/bad sector information can be saved, the method is  
immaterial. The most appropriate method for the system should be used.  
[Question]  
Will any problems occur if ex-factory sector information is not used?  
[Answer]  
Bad sectors will be used. If a bad sector is used, the data in that sector will be unreliable. Even if  
writing/erasing ends normally, there is a possibility of problems occurring such as data become  
corrupted when left for a short while.  
[Question]  
Can bad sectors be managed by writing a bad sector code?  
[Answer]  
No. No data whatever can be written to a bad sector. Even if a write is performed successfully,  
the data will be unreliable.  
Rev. 2.0, 12/00, page 42 of 46  
7.8  
Concerning Sector Management  
[Question]  
What kind of management is necessary?  
[Answer]  
The following three kinds of management should be carried out.  
(1) Preventing ex-factory bad sectors from being accessed  
(2) Identifying bad sectors that occur during use in the system, and preventing their subsequent  
access  
(3) Performing sector replacement processing  
[Question]  
If a power interruption occurs after erasing is completed when rewriting data in the system, the  
good sector code is lost, and when power is restored the relevant sector becomes a bad sector. Is  
there any way of preventing this conversion to a bad sector?  
[Answer]  
One method is to hold a sector management table in the flash together with the good sector codes.  
Rev. 2.0, 12/00, page 43 of 46  
7.9  
Concerning Error Handling and Sector Substitution Processing  
[Question]  
When a write error occurs, is it OK to perform a retry on the same sector?  
[Answer]  
There is a possibility of an error occurring again. The retry should be performed on a different  
sector.  
[Question]  
How is the spare block decided when a sector error occurs and sector replacement is performed?  
[Answer]  
There is no fixed procedure.  
A method appropriate to the system should be used, such as reserving a certain area as a spare  
block area, or finding an empty sector when an error occurs and using that sector as the spare  
block.  
Rev. 2.0, 12/00, page 44 of 46  
7.10  
Concerning ECCs  
[Question]  
The sector data area is divided into four 512-byte units for use. Is a 3-bit ECC necessary for 512  
bytes in this case?  
[Answer]  
Yes.  
[Question]  
Is it OK to write a code generated by the ECC function to a management area?  
[Answer]  
Yes, this can be done.  
[Question]  
Why are ECCs necessary?  
[Answer]  
They are used for detecting/correcting random bit errors due to data retention, and preventing read  
errors.  
A write error can easily be identified by checking the status, but a read error may occur due to data  
retention after the write has ended normally. As flash outputs data without detecting changes that  
may have occurred due to data retention, verification of read data is necessary on the system side.  
7.11  
Concerning Disturbance  
[Question]  
Are there any write patterns that are susceptible to disturbance?  
[Answer]  
No. There is no disturbance problem with good sectors.  
Rev. 2.0, 12/00, page 45 of 46  
8. Check List  
When designing a system incorporating Hitachi AND flash memory, the specifications in the  
following check list should be confirmed before starting the design work.  
Check  
Column  
Relevant Page of Data Sheet  
(ADE-203-1178A(Z))  
Remarks  
Item  
Pin arrangement  
P3, 6  
P17  
Absolute ratings  
Operating environment  
VCC  
Topr  
E/W  
3.3 0.3 V  
P1, 18  
P17  
0 to 70˚C  
300K times  
30 mA  
P36 (290 alternate sectors when using 3-bit ECC)  
ICC2 (Typ.)  
P18 (f = 20 MHz)  
P18  
VIH (Min.)  
2.0 V  
V
CC – 0.2 V  
P18 (  
P18  
)
VIL (Max.)  
0.8 V  
0.2 V  
5 ns  
P18 (  
P19  
)
tr/tf  
Other  
Mode setting  
Power-on sequence  
P6, 10, 11, 12  
P23  
Manufacturer’s code read  
Product code read  
P32  
P32  
Status register read  
Clear status register  
P32  
P35  
Serial read  
(1)  
(2)  
(1)  
(2)  
(3)  
(4)  
P24, 25  
P24, 25  
P26, 27  
P28  
Programming  
P29  
P30, 31  
P33  
Recovery read  
Recovery write  
P34  
Power-off sequence  
All timing items  
P23  
P19 to 22  
Understood that this is MGM.  
Possibility of up to 2% random bad sectors out of 16,384 sectors.  
Only good sectors must be accessed.  
System should not stop even if a good sector becomes a bad sector  
when accessed.  
Good sector code must not be deleted except in case of error occurrence.  
If power supply (3.0 V min.) cannot be sustained, Hitachi’s recommended  
power-off sequence must be executed.  
Error provisions  
(1) Provide alternate sectors (at least 290).  
(2) Perform at least 3-bit ECC.  
Power shutdown provisions  
In case of emergency, perform chip-internal processing with /RES  
signal before powering off.  
If there is chain data, system must ensure that there is no problem  
if chain is broken midway.  
Rev. 2.0, 12/00, page 46 of 46  
Flash Application Design Guidelines  
Publication Date: 1st Edition, March 2000  
2nd Edition, December 2000  
Published by:  
Electronic Devices Sales & Marketing Group  
Semiconductor & Integrated Circuits  
Hitachi, Ltd.  
Edited by:  
Technical Documentation Group  
Hitachi Kodaira Semiconductor Co., Ltd.  
Copyright © Hitachi, Ltd., 2000. All rights reserved. Printed in Japan.  

相关型号:

HN29V25611A

256M AND type Flash Memory More than 16,057-sector (271,299,072-bit)
RENESAS

HN29V25611ABP-50

FLASH 3V PROM, PBGA72, 0.80 MM PITCH, CSP-72
RENESAS

HN29V25611ABP-50

Flash, 256MX1, 50ns, PBGA72, 0.80 MM PITCH, CSP-72
HITACHI

HN29V25611AT-50

256M AND type Flash Memory More than 16,057-sector (271,299,072-bit)
RENESAS

HN29V25611AT-50

Flash, 32MX8, 50ns, PDSO48, 12 X 18.40 MM, 0.50 MM PITCH, PLASTIC, TSOP1-48
HITACHI

HN29V25611AT-50H

256M AND type Flash Memory More than 16,057-sector (271,299,072-bit)
RENESAS

HN29V256A0BBP-30

16MX16 FLASH 2.7V PROM, 35ns, PBGA95, 10 X 11.50 MM, 0.80 MM PITCH, LEAD FREE, CSP-95
RENESAS

HN29V256A1BBP-30

32MX8 FLASH 2.7V PROM, 35ns, PBGA95, 10 X 11.50 MM, 0.80 MM PITCH, LEAD FREE, CSP-95
RENESAS

HN29V2G74WT-30

128MX8 FLASH 3V PROM, 25ns, PDSO48, 12 X 17 MM, 0.5 MM PITCH, LEAD FREE, PLASTIC, WSOP-48
RENESAS

HN29V51211

512M AND type Flash Memory More than 32,113-sector (542,581,248-bit)
HITACHI

HN29V51211T-50

512M AND type Flash Memory More than 32,113-sector (542,581,248-bit)
HITACHI

HN29V51211T-50H

Flash, 64MX8, 50ns, PDSO48, 12 X 20 MM, 0.50 MM PITCH, PLASTIC, TSOP1-48
HITACHI