【FLASH存储器系列十】ONFI数据接口的时序参数与时序图

👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容

目录

1.1 时序参数

1.2 时序图详解

1.2.1命令锁存时序

1.2.2地址锁存时序

1.2.3数据输入时序

1.2.4数据输出时序

1.2.5数据输出时序(EDO)

1.2.6读状态时序


1.1 时序参数

ONFI协议中明确规定了时序参数的范围,如果不满足要求的最小和最大时序参数时,闪存设备的行为是不确定的。SDR、NV-DDR接口模式下有6种时序,NV-DDR2、NV-DDR3、NV-LPDDR4有22种时序模式,上电后闪存设备处于模式0状态下,闪存设备可以不支持所有时序模式,判断设备是否支持更高时序模式的方法是通过读取闪存的参数页。

SDR、NV-DDR、NV-DDR2、NV-DDR3、NV-LPDDR4各自有一些不同的时序参数,这里只针对SDR和NV-DDR参数进行说明,其他的接口类似,大家可以自行查阅标准文档。

下表为SDR、NV-DDR、NV-DDR2、NV-DDR3、NV-LPDDR4共有的时序参数:

       下表为阵列时序参数,这些参数是固定的,具体查看芯片的datasheet。

(tRCBSY,tPCBSY)这两个busy 时间与 cache 操作关联,(tPLEBSY,tPLPBSY,tPLRBSY)这三个busy时间与多层操作关联。这些 busy 时间的典型值和最大值如下表:

       CE_n引脚减少机制可能被用于任何接口中。 如果 VccQ=3.3V 或 1.8V,则 CE_n 引脚reduction的配置应该使用 SDR 接口完成。如果 VccQ=1.2V, CE_n 引reduction 的配置应该使用 NV-DDR3 接口完成。在封装内的 daisy chain使用的enumeration信号时序以及 Volume 寻址的时序参数如下表所示。

       ZQ校准的时序参数如下表,SDR和NV-DDR没有ZQ校准:

       SDR的时序参数如下:

       NV-DDR的时序参数如下,所有NV-DDR接口的时序参数都是以CLK的上升沿或者 DQS的锁存沿为基准。注意, R/B_n和WP_n始终是异步信号。对于按时钟测量的参数(如 tDSH),参数分别从CLK或DQS的锁存沿开始测量。

      

       以下两张表为SDR六种时序模式下的参数值:

下表为NV-DDR六种时序模式下的参数值:

1.2 时序图详解

时序图分析仅以SDR接口为例。

1.2.1命令锁存时序

命令锁存是在CLE为高、ALE为低时,在WE_n的上升沿锁存IO引脚上的命令值。时序图如下:

       tCLS:CLE建立时间

       tCLH:CLE保持时间

       tCS:片选建立时间

       tCH:片选保持时间

       tWP:写使能脉冲宽度

       tALE:ALE建立时间

       tALH:ALE保持时间

       tDS:数据建立时间

       tDH:数据保持时间

       tWB:写使能拉高到SR[6]为低(写完命令后,有一段时间flash是无法接收命令的)

1.2.2地址锁存时序

地址锁存是在ALE为高、CLE为低时,在WE_n的上升沿锁存IO引脚上的地址值。时序图如下:

       tCLS:CLE建立时间

       tCS:片选建立时间

       tWC:写使能周期

       tWP:写使能脉冲宽度

       tWH:写使能高电平保持时间

       tALE:ALE建立时间

       tALH:ALE保持时间

       tDS:数据建立时间

       tDH:数据保持时间

1.2.3数据输入时序

在CLE、ALE、片选为低时,数据在写使能信号的上升沿写入数据寄存器中。

       参数含义同上。

1.2.4数据输出时序

在CLE、ALE、片选为低时,数据在读使能信号的下降沿延迟一段时间后输出到IO上。

       tCEA:片选接受时间

       tCHZ:片选拉高到输出高阻

       tCR:片选有效到读使能有效

       tRP:读使能脉冲宽度

       tCOH:片选拉高后的输出保持时间

       tRR:ready准备好到数据可以输出的间隔

       tRC:读使能信号周期

       tREH:读使能高电平保持时间

       tRHOH:读使能拉高后的输出保持时间

       tRHZ:读使能拉高到输出高阻

       tREA:读使能到数据可以输出

1.2.5数据输出时序(EDO)

在读使能信号周期小于30ns时,适用此时序图:

       tRLOH:读使能拉低后的输出保持时间

1.2.6读状态时序

相当于一段命令锁存时序,一段数据输出时序。在写使能上升沿将读状态命令70h锁存,经过一段时间后将状态寄存器SR的值输出到IO上。

       tWHR:命令、地址、数据输入周期到数据输出周期的间隔

       tIR:输出高阻到读使能拉低

       状态寄存器SR定义:

       如果RDY位被清 0,则状态byte中所有其他位(除WP_n外)都是无效的,host应忽略这些值。

FAIL

如果为1,则表示上一个命令失败。如果为 0,表示上一个命令成功。对于raw NAND操作,该位只在编程或擦除操作时有效。对于EZ NAND操作,该位在读、编程以及擦除操作中有效。在program cache操作期间,该位仅当 ARDY 为1时有效。在支持ZQ 校正的device中,如果ZQ校正失败,则该位被设为1。

FAILC

如果为1,则上一个命令的前一个命令失败(上上个命令)。如果该位为0,在上一个命令的前一个命令成功。该位仅在program cache操作中有效。在Page Cache Program序列中,该位直到第二个15h命令或10h命令被发送后才会有效。如果不支持program cache 操作,则该位不会使用,应被清0。对于EZ NAND操作,该位不被使用(EZ NAND不支持cache命令)。

ARDY

如果为1,则表示没有正在进行的阵列操作。如果为0,表示某个命令正在被执行(RDY被清为0),或正在进行一个阵列操作。如果不支持重叠多层操作(overlapped multi-plane)或cache命令,则该位不会被使用。

RDY

如果为1,表示另一个命令的 LUN 或层地址已经准备好,并且状态值中所有其他位都有效。如果为0,则表示发送的上一个命令还没有执行完,并且SR[5:0]位是无效的,应该被 host 忽略。该位会影响R/B_n 的值,参见 2.18.2(R/B_n 是对应NAND target或Volume上所有LUNs的SR[6](状态寄存器bit6)的值的逻辑与。例如,R/B3_n是所有CE3_n上LUNs的SR[6]值的逻辑与。因此,R/B_n 反映的是特定NAND target上的任何LUN是否处于busy状态)。当cache操作正在进行时,该位表示另一个命令是否可被接受,而ARDY表示上一个操作是否完成。

WP_n

如果为1,则表示 device 不是写保护的。如果为0,表示device是写保护的。不论RDY位是什么值,该位都始终是有效的。

VSP

供应商定义

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

highman110

你的鼓励将是我最大的创作动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值