【FLASH存储器系列八】ONFI数据接口详述之一

本文详细介绍了ONFI接口的不同类型,包括SDR、NV-DDR、NV-DDR2、NV-DDR3和NV-LPDDR4,强调了各接口的数据传输特性和信号功能分配。在接口模式切换方面,详细阐述了如何在不同接口间转换,并提到了转换过程中的限制和注意事项。内容深入浅出,适合硬件工程师参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

目录

1.1 数据接口类型概览

1.2 信号功能分配

1.3 接口模式切换


1.1 数据接口类型概览

        ONFI目前支持5中不同的数据接口类型:SDR,NV-DDR,NV-DDR2、NV-DDR3和NV-LPDDR4。SDR是传统的NAND接口,使用RE_n锁存读数据,WE_n锁存写数据,没有时钟。NV-DDR是双数据率(DoubleDataRate-DDR)接口,含有用来锁存命令和地址的时钟,和一个用来锁存数据的数据选通信号。NV-DDR2是双数据率接口,含有额外的扩展速度(scaling speed)的功能,像on-dietermination以及差分信号。NV-DDR3接口包含所有NV-DDR2的特性,但操作在VccQ=1.2V。NV-LPDDR4接口IO使用LTT电平信号。数据接口包含的特性如下表所示。

        不同数据速率下所需的功能对照表:

        如果上电时VccQ=1.8V或3.3V,则 device 应该操作在SDR接口timing mode 0。如果 Host 在参数page中判定 NV-DDR 和NV-DDR2都被支持,则host可以通过Feature Address为01h的Set Feature命令,来选择其中一个接口以及支持的timing mode。参见ONFI 5.1 5.31.1。

        如果上电时VccQ=1.2V,则 device 应操作在NV-DDR3接口timing mode 0。如果host 在参数page中判明了支持的NV-DDR3 timing mode,则host可以通过将CE_n转为高来使能支持的timing mode,并将接口速度改变为期望的timing mode。当host 将CE_n 拉低后,新的timing mode会生效。参见ONFI 5.1 5.31.1。

        NV-DDR、NV-DDR2、NV-DDR3、NV-LPDDR4接口使用DDR协议。因此,传输的数据总是偶数byte的。当使用DDR协议时,列地址的最低位应该始终为 0。如果使用 DDR 协议时,列地址的最低位被设为了1,则结果是不确定的。

        对于支持2400以上数据速率的设备,NV-DDR3和NV-LPDDR4接口实现具有以下选项。有关这些可选的或供应商特定的模式支持,请参阅供应商数据表。

        输入路径拓扑:DQS是否匹配

        通电时的差分信号:供应商特定

        均衡:可选和供应商特定

        写入占空比调整(WDCA):可选

        写训练监视器:可选

        每引脚Vrefq调整:可选

1.2 信号功能分配

        对于NV-DDR,NV-DDR2、NV-DDR3和NV-LPDDR4接口,与 SDR 接口相比,其共同的变化有:

· I/O总线重命名为DQ总线

· 新加了一个名为DQS(DQ strobe)的 DQ 数据总线选通信号。DQS是双向信号,用于数据传输。DQS不能用于命令或地址周期。对于从host到device的数据传输(写),DQS的锁存沿对齐到有效数据窗口的中间;对于从device到host的数据传输(读),DQS的锁存沿对齐到DQ总线的转换沿。当操作在SDR接口时,DQS应该被host拉高,被device忽略。

        对于 NV-DDR 接口,与SDR接口相比,主要变化有:

·WE_n变成时钟信号(CLK)。 CLK应该被使能并且具有有效的时钟周期,不论命令周期,地址周期和数据周期什么时候发生。在CE_n为低期间,CLK应保持相同的频率。参见2.9.1。

·RE_n变成写/读方向信号(W/R_n)。该信号表示谁拥有DQ总线和DQS信号。 Host应该仅在ALE和CLE被锁存到0时才能转换W/R_n。参见4.20.2.6中W/R_n 要求。

        对于NV-DDR2和NV-DDR3接口,与SDR接口相比,主要变化有:

·RE_n 可作为单端信号(single-ended)或者作为一个互补信号对(RE_t,RE_c)使用

·增加了名为DQS(DQ strobe)的DQ数据总线选通信号。DQS可作为单端信号或者作为一个互补信号对(DQS_t,DQS_c)使用。

        对于NV-LPDDR4数据接口,与SDR数据接口相比,变化如下:

•RE_n必须用作互补信号对(RE_t、RE_c)。

•增加了一个用于DQ数据总线的选通信号,称为DQS(DQ选通)。DQS必须用作互补信号对(DQS_t、DQS_c)。

•添加了一个用于DQ数据总线的可选数据总线反相信号,称为DBI_n。DBI_ n指定DQ信号是否被反转。DBI_n被视为DQ,因此AC参数和接口训练等规范应适用于DBI。

        信号的对比表格如下:

        所有信号定义如下表,不一一翻译了:

1.3 接口模式切换

        以下是支持的数据接口间的转换:

        · SDR 到 NV-DDR

        · SDR 到 NV-DDR2

        · NV-DDR 到 SDR

        · NV-DDR2 到 SDR

        · NV-DDR3 到NV-LPDDR4

        不支持从 NV-DDR 直接转到 NV-DDR2(反之亦然)。这种情况, host 应先转到 SDR 接口,然后再选择期望的NV-DDR或NV-DDR2接口。而NV-DDR3、NV-LPDDR4的VCCQ为1.2V,自然也不能与其他接口互转。

        为了转变接口为 NV-DDR 或 NV-DDR2,或者转变任何时序模式,则需要使用带有Timing Mode feature的Set Feature命令。 Set Feature 命令(EFh),Feature Address,及四个参数,使用当前选定的接口,用当前选中的时序模式来执行。 当发送 Set Feature 命令时,host应在整个命令执行期间(包括参数)驱动DQS信号为高(如果接口支持,则发送Set Feature命令)。 在第四个参数 P4 被执行后,直到经过tlTC 时间之前,host 不能向 device 发送任何命令。在发送 Set Feature 命令后,CE_n 信号转变为高之前, host应在一个idle状态周期内保持信号,并且DQS应被设为1。另外,当使用NV-DDR 接口时,CLK只能在CE_n为高时改变。

        不支持从 NV-DDR3或NV-LPDDR4转到其它接口(SDR,NV-DDR或NV-DDR2)。如果 VccQ=1.2V,则只支持 NV-DDR3或NV-LPDDR4 接口。为了改变 NV-DDR3或NV-LPDDR4的时序模式,host应将CE_n变为高,然后将接口速度转换为期望的时序模式。当 host 将 CE_n 拉低后,新的时序模式生效。当转变NV-DDR3 的时序模式时,CE_n变为高之前, host应在一个idle总线状态中保持信号,并且 DQS 应被设为 1。

        向device发送任何新命令之前,host应将CE_n转为高。当host将CE_n拉低后,新的接口或时序模式生效。

        今天分享到这里,下篇分享ONFI数据接口相关的剩下内容,谢谢

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

highman110

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

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

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

打赏作者

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

抵扣说明:

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

余额充值