NOR Flash

所谓Flash,是内存(Memory)的一种,但兼有RAM和ROM 的优点,是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器,同时它的高集成度和低成本使它成为市场主流。

    Flash 芯片是由内部成千上万个存储单元组成的,每个单元存储一个bit。具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。

    作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。

    常用的Flash为8位或16位的数据宽度,编程电压为单3.3V。主要的生产厂商为INTEL、ATMEL、AMD、HYUNDAI等。Flash 技术根据不同的应用场合也分为不同的发展方向,有擅长存储代码的NOR Flash和擅长存储数据的NAND Flash。一下对NOR Flash和NAND Flash的技术分别作了相应的介绍。

 

一.NOR Flash

1.市场介绍

    随着技术的发展,愈来愈多的电子产品需要更多的智能化,这也对这些产品的程序存储提出了更高的要求。Flash 作为一种低成本、高集成度的存储技术在电子产品领域的应用非常广泛。今天90%的PC、超过90%的手机、超过50%的Modem,都是用了Flash,如今Flash市场规模已经超过了100亿美元。

    如此巨大的市场规模,也导致市场上的Flash 品牌层出不穷。在NOR Flash市场中,Intel公司是非常重要的一家生产厂商。Intel公司生产的Flash芯片多年来占据着市场的很大份额,而它的芯片封装形式和接口也成为业界标准,从而为不同品牌的Flash带来了兼容的方便。

2.NOR Flash 的硬件设计和调试

    首先,Flash 要通过系统总线接在处理器上,即保持一个高速的数据交换的通道。那么就必须了解一下Flash在系统总线上的基本操作。

    1)先了解一下处理器存储空间BANK的概念。以32位处理器S3C2410为例,理论上可以寻址的空间为4GB,但其中有3GB的空间都预留给处理器内部的寄存器和其他设备了,留给外部可寻址的空间只有1GB,也就是0X00000000~0X3fffffff,总共应该有30根地址线。这1GB的空间,2410处理器又根据所支持的设备的特点将它分为了8份,每份空间有128MB,这每一份的空间又称为一个BANK。为方便操作,2410独立地给了每个BANK一个片选信号(nGCS7~nGCS0)。其实这8个片选信号可以看作是2410处理器内部30根地址线的最高三位所做的地址译码的结果。正因为这3根地址线所代表的地址信息已经由8个片选信号来传递了,因此2410处理器最后输出的实际地址线就只有A26~A0(如下图1)

图1  2410内存BANK示意图

    2)以图2(带nWAIT信号)为例,描述一下处理器的总线的读操作过程,来说明Flash整体读、写的流程。第一个时钟周期开始,系统地址总线给出需要访问的存储空间地址,经过Tacs时间后,片选信号也相应给出(锁存当前地址线上地址信息),再经过Tcso时间后,处理器给出当前操作是读(nOE为低)还是写(nWE为低),并在Tacc时间内将数据数据准备好放之总线上,Tacc时间后(并查看nWAIT信号,为低则延长本次总线操作),nOE 拉高,锁存数据线数据。这样一个总线操作就基本完成

 

图2  带nWAIT 信号的总线读操作

    3NOR Flash的接口设计(现代的29LV160芯片)

29LV160存储容量为8M字节,工作电压为3.3V,采用56脚TSOP封装或48脚FBGA封装,16位数据宽度。29LV160仅需单3.3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除以及其他操作。引脚信号描述和接口电路分别如图3和图4所示。

 

图3 29LV160引脚信号描述

 

 

图4  FLASH(29LV160)接口电路

 

    可以从信号引脚图3和总线操作图2看出,NOR Flash的接口和系统总线接口完全匹配,可以很容易地接到系统总线上。

 

3.NOR Flash的软件设计

    Flash 的命令很多,但常用到的命令就3种:识别、擦除、编程命令。以下就对3种命令作分别的简要介绍:

    1)  NOR Flash的识别

29lv160_CheckId()

{

    U8 tmp;

    U16 manId,devId;

    int i;

    _RESET();

   

    _WR(0x555,0xaa);

    _WR(0x2aa,0x55);

    _WR(0x555,0x90);

    manId=_RD(0x0);

    devId=_RD(0x1);

 

    _RESET();  

    printf("Manufacture ID(0x22C4)=%4x, Device ID(0x2249)=%4x/n",manId,devId);

 

    if(manId == 0x22C4 && devId == 0x2249)

        return 1;

    else

        return 0;

}

    NOR Flash 的识别程序由四个读写周期就可以完成,在Flash的相关命令表中可以查到相应ID识别的命令。

 

    2) NOR Flash的擦除

    要对NOR Flash进行写操作,就一定要先进性擦除操作。NOR Flash 的擦除都是以块(sector)为单位进行的,但是每一种型号的Flash的sector的大小不同,即使在同一片的Flash内,,不同sector的大小也是不完全一样的。

void 29lv160db_EraseSector(int targetAddr)

{

    printf("Sector Erase is started!/n");

    _RESET();

    _WR(0x555,0xaa);

    _WR(0x2aa,0x55);

    _WR(0x555,0x80);

    _WR(0x555,0xaa);

_WR(0x2aa,0x55);

_WR(BADDR2WADDR(targetAddr),0x30);  

return  _WAIT(BADDR2WADDR(targetAddr);   

 }

             

                      图5  Erase Operation   

 

Int  _WAIT(void)

{

unsigned int state,flashStatus,old;

old=_RD(BADDR2WADDR(0x0));

while(1)

    {

        flashStatus=_RD(BADDR2WADDR(0x0));

        if( (old&0x40) == (flashStatus&0x40) )

            break;

        if( flashStatus&0x20 )

        {

        //printf("[DQ5=1:%x]/n",flashStatus);

        old=_RD(BADDR2WADDR(0x0));

        flashStatus=_RD(BADDR2WADDR(0x0));

        if( (old&0x40) == (flashStatus&0x40) )

            return 0;

        else return 1;

        }

        //printf(".");

        old=flashStatus;

    }                                            //printf("!/n");

    return 1;

}

 

 

图6  Toggle Bit Algorithm

       

    以上的方法为查询数据线上的一个特定位Toggle位。此外还有2种检测方法,一种为提供额外的Busy信号,处理器通过不断查询Busy信号来得知Flash的擦除操作是否完成,一般较少应用;一种为查询Polling位。

 

    3) NOR Flash 的编程操作

int 29lv160db_ProgFlash(U32 realAddr,U16 data)

{

        _WR(0x555,0xaa);

        _WR(0x2aa,0x55);

        _WR(0x555,0xa0);

 

        _WR(BADDR2WADDR(realAddr),data);

           return  _WAIT(BADDR2WADDR(realAddr);

         

}

    对擦除过的Flash进行编程比较简单,但仍然用到以上提到的查询算法,速度比较慢,一般为20uS,最长的达到500uS

<think>我们正在讨论NorFlash存储器的特点和版图设计。根据用户提供的引用和之前的对话,我们可以总结NorFlash的特点,并重点分析其版图设计的特点。NorFlash的特点:1.可以进行字节寻址,因此程序可以在NorFlash中运行(引用[1])。2.读取速度较快(几十到两百纳秒),但写入速度较慢(十到五十微秒)(引用[2])。3.每个存储单元直接连接在位线和字线上,每个单元独立,因此读取速度比NANDFlash稍快(引用[3])。版图设计特点:由于NorFlash存储单元是独立连接的,其版图设计会与NANDFlash有很大不同。我们可以从以下几个方面分析:1.**存储单元阵列结构**:-NorFlash存储单元是并行连接的,每个单元直接连接到位线和字线。因此,在版图上,每个存储单元都需要独立的位线和字线连接,这会导致大量的金属连线。-与NANDFlash的串联结构(引用[4])不同,NorFlash的阵列结构类似于一个网格,每个单元位于字线和位线的交叉点。2.**位线和字线布局**:-由于每个单元独立连接,位线和字线的数量会随着存储容量的增加而线性增长,这会导致布线复杂。-为了减少布线延迟,高层金属(如Metal3以上)通常用于全局位线和字线布线,以降低RC延迟。3.**外围电路布局**:-NorFlash需要大量的译码电路(行译码和列译码)来选择特定的单元。这些译码器通常放置在存储阵列的周围,以缩短字线和位线的长度。-由于NorFlash支持随机访问,其灵敏放大器设计尤为重要,用于快速读出数据。灵敏放大器需要对称布局,并采用模拟地(AGND)隔离以减少噪声(引用[2]中提到的AGND应用)。4.**工艺特点**:-NorFlash单元通常采用浮栅晶体管,在版图上需要特殊的层(如浮栅多晶硅)和隔离结构。-由于浮栅的存在,单元之间需要足够的隔离(如STI或场氧隔离)以防止干扰。5.**电源和接地**:-与之前讨论的存储器类似,NorFlash也需要强化的电源网络。特别是在编程和擦除时,需要较高的电压(如12V),因此高压器件需要隔离环(ISORing)和专门的电源网络(引用[2]中提到的PGND)。6.**验证规则**:-由于浮栅结构,设计规则检查(DRC)需要特别关注浮栅与相邻层的间距,以及高压器件的规则。-电学规则检查(ERC)要确保没有浮空的栅极,以及编程/擦除电压路径的正确连接。综上所述,NorFlash的版图设计特点包括:独立的单元连接导致密集的布线、高压器件的特殊处理、外围电路(尤其是灵敏放大器和译码器)的布局优化、以及电源网络的强化。根据上述内容,我们可以组织回答如下:---###**NorFlash存储器的特点**1.**字节寻址能力**NorFlash支持随机访问,允许直接读取任意字节,因此常用于存储引导代码(引用[1])。2.**读写性能差异**-读取速度较快(约几十到两百纳秒),但写入速度较慢(约十到五十微秒)(引用[2])。-由于写入速度慢,通常作为只读存储器使用。3.**存储单元结构**每个存储单元独立连接到字线和位线,形成并行结构,因此读取速度优于NANDFlash(引用[3])。---###**NorFlash版图设计特点**1.**单元阵列结构**-采用**并行连接**的网格状阵列,每个单元位于字线(WL)和位线(BL)交叉点。-单元独立连接导致金属布线密集,需使用**高层金属**(如Metal3+)进行全局布线以降低$RC$延迟。2.**高压器件隔离**-编程/擦除操作需高压($V_{pp}\approx12V$),高压晶体管需添加**隔离环**(ISORing)并连接专用接地(PGND)(引用[2])。-隔离环宽度需满足设计规则,防止闩锁效应(Latch-up)。3.**外围电路布局**|模|布局要求|优化目标||----------------|----------------------------|-----------------||**行译码器**|紧贴阵列左右边缘|缩短字线长度||**灵敏放大器**|对称布局+AGND隔离|降低读出噪声||**列选择器**|阵列顶部/底部|减少位线电容|4.**电源网络设计**-高压区($V_{pp}$)与低压区($V_{cc}$)物理分离,避免电压干扰。-采用**分级接地策略**:-灵敏放大器:AGND(模拟地)-高压电路:PGND(功率地)-数字电路:DGND(数字地)5.**特殊工艺层**-浮栅结构需两层多晶硅:-第一层多晶硅(Poly1)作为浮栅-第二层多晶硅(Poly2)作为控制栅-浮栅与衬底间氧化层厚度需严格控制(影响数据保持特性)。6.**验证重点**-**DRC**:检查浮栅间距、高压器件最小宽度规则。-**LVS**:验证浮栅与控制栅的连接关系。-**ERC**:检测高压路径是否与低压电路意外短路。---###**相关问题**1.NorFlash的浮栅氧化层厚度对数据保持时间有何影响?2.如何优化NorFlash版图中的字线RC延迟?3.在灵敏放大器布局中,AGND隔离的具体实现方法是什么?4.高压隔离环(ISORing)的设计规则有哪些关键参数?>**总结**:NorFlash版图以**并行阵列、高压隔离和多级接地**为核心,需协同处理高速读取与高压操作的矛盾[^1][^2][^3]。</think>### **Nor Flash存储器特点与版图设计核心特性** #### **一、Nor Flash存储器的核心特点** 1. **并行访问架构** - 每个存储单元**独立连接**到位线和字线(引用[3]),形成类似"网格"的并行结构,支持**字节级随机访问**(引用[1])。 - 读取速度优势:直接访问单元无需串联导通,读取周期约 **$50-200\ \text{ns}$**(引用[2]),比NAND Flash更快(引用[3])。 2. **读写性能差异** - **快速读取**:适用于代码执行(XIP,eXecute In Place),嵌入式系统常用作启动存储器(引用[1])。 - **慢速写入**:编程周期约 **$10-50\ \mu\text{s}$**(引用[2]),需高压操作,无法替代RAM。 3. **单元结构特性** - 浮栅晶体管构成存储单元,控制栅与浮栅间通过薄氧化层隔离。 - 擦除机制:通过 **$F-N$隧穿效应**(Fowler-Nordheim Tunneling)实现。 --- #### **二、Nor Flash版图设计特点** 1. **阵列拓扑结构** ```plaintext ┌───┬───┬───┐ │ C │ C │ C │ → 单元独立连接(字线/位线直连) ├───┼───┼───┤ │ C │ C │ C │ → 无串联晶体管(对比NAND串联结构[^4]) └───┴───┴───┘ ``` - **单元均一性**:所有单元尺寸严格一致,确保寻址精度。 - **金属布线密集**:独立连接导致位线/字线数量多,需**多层金属布线**(Metal1-Metal3用于局部互连)。 2. **高压器件隔离设计** - **编程/擦除高压电路**($V_{pp} \approx 12V$)需特殊处理: - 添加 **$ISO\ Ring$**(隔离环)包围高压器件(引用[2]的PGND隔离原理)。 - 采用 **$DWDM$**(双阱工艺)隔离NMOS/PMOS,防止闩锁效应。 - 高压走线间距扩大 **$2\times$** 以上,满足 **$DRC$** 规则。 3. **外围电路布局优化** | 模 | 布局要求 | 设计目标 | |---------------|-------------------------|------------------| | **灵敏放大器** | 对称布局+AGND隔离 | 抑制读出噪声 | | **行译码器** | 紧贴阵列边缘 | 缩短字线RC延迟 | | **电荷泵** | 远离敏感模 | 避免高压干扰 | 4. **电源网络分层策略** - **电压域分离**: - 核心逻辑: **$V_{cc} = 1.8V/3.3V$** - 编程电路: **$V_{pp} = 12V$**(独立电源网格) - **接地策略**: - 灵敏放大器: **$AGND$**(模拟地) - 高压区: **$PGND$**(功率地) - 数字电路: **$DGND$**(数字地) 5. **特殊工艺层要求** - **浮栅结构**:需两层多晶硅(Poly1浮栅 + Poly2控制栅)。 - **隧道氧化层**:厚度 **$<10\ \text{nm}$**,光刻对齐精度要求 **$\pm 3\ \text{nm}$**。 - **接触孔密度**:单元区接触孔密度是逻辑电路的 **$2-3\times$**。 --- #### **三、可靠性设计要点** 1. **耐久性提升** - 单元周围添加 **$Guard\ Ring$**(保护环),减少擦写次数导致的电荷泄漏。 - 浮栅边缘采用 **$Round\ Shape$**(圆角设计),避免电场集中(降低氧化层击穿风险)。 2. **信号完整性措施** - 位线两侧布 **$Shielding\ Line$**(接地屏蔽线),抑制串扰(引用[2]的SGND策略)。 - 字线分段驱动:每 **$256\ \text{单元}$** 插入驱动器,降低 **$RC$** 延迟(延迟模型: **$\tau \propto R \cdot C$**)。 --- ### **总结** Nor Flash版图设计核心在于: 1. **并行阵列结构** → 独立单元连接导致密集布线 2. **高压隔离** → ISO Ring/DWDM隔离 **$12V$** 电路 3. **信号分层** → AGND/PGND分离 + 屏蔽线抑噪 4. **工艺特殊性** → 浮栅双多晶硅 + 超薄氧化层控制 > 设计需协同考虑 **字节寻址优势** 与 **高压操作约束**[^1][^2][^3]。 --- ### **相关问题** 1. Nor Flash的浮栅氧化层厚度如何影响数据保持时间? 2. 在版图设计中如何优化字线RC延迟?给出定量计算公式。 3. Nor Flash的ISO Ring隔离设计有哪些关键参数? 4. 字节寻址功能对Nor Flash的译码器布局有何特殊要求?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值