ONFI协议研究

ONFI5.0 解析第五章 NAND ONFI 阅读详情

概述

ONFI是Nand Flash的一套公开标准
官网:http://www.onfi.org/

机缘巧合,就看一下
官网有提供PDF下载,最新版本5.0,383页

上来就看英文实在一头雾水,最后找到了4.0的中文版
电子发烧友网:http://www.elecfans.com/soft/68/guide/2017/20170727535427.html

后来,还是想先看些入门科普级的
于是在京东读书上找到了《固态存储:原理、架构和数据安全》

ONFI 5.0目录

  1. 总体介绍,概念缩写
  2. 对外的物理接口(管脚)
  3. 内部的物理结构
  4. 数据接口和时序
  5. 命令字
  6. 组合操作
  7. 操作流程

第一章

第二章:管脚

Bing搜了把tsop-48
https://cn.bing.com/search?q=tsop-48&qs=n&form=QBRE&sp=-1&pq=tsop-48&sc=1-7&sk=&cvid=94EEFB7B26BE45B6877E2025ACCAEE7D
很多是卖存储贴片(?成品)

有些管脚硬件和工艺人员更关注,比如电源等不可变的
有些软件和驱动人员更关注,比如查询状态、控制使能等可变的

所以重点看2.8章:信号描述
像看寄存器手册一样,尽力理解每个管脚干啥的

管脚理解
R/B_x_n。OReady/Busy。输出管脚。用于获取Ready/Busy状态
RE_x_n(RE_x_t)。IRead Enable (True)。输入管脚。用于设置读模式
RE_x_c。IRead Enable Complement。输入管脚。一定场景选用
W/R_x_n。IWrite/Read Direction。输入管脚。看名字像是可以控制读写方向(再进一步怎么玩,没有项目实践,还真就不知道)
CE_x_n。IChip Enable。输入管脚。用于多芯片场景,表示选中
(后面再慢慢看)

第三章:内部结构

能不能真正入门,就看对这一章节的理解了

一个设备有多个target(用CE_n信号选中)。一个target包含若干个LUN(逻辑单元)

LUN是能够独立执行CMD和上报状态的最小单元。特别是,各个独立的LUN,可以并行执行任意命令序列。
例如,允许在LUN 0上执行Page Program操作,同时在LUN 1上执行Read命令
到3.1.3章节看多LUN操作限制
一个LUN包括至少一个Page寄存器和一个Flash阵列
Page寄存器数量取决于LUN支持的多Plane操作数量
Flash阵列包含若干Block

Block是LUN Flash阵列中,可擦除数据的最小单元。LUN中的Block数量没有限制
Block包含若干Page

Page是读写操作寻址的最小单元。Page包含若干Byte或Word。每个Page的用户数据Byte数量,不包括额外的数据区,应该是2的N次方。每个Block中的Page数量应该是32的倍数

每个LUN应该有至少一个Page寄存器。Page寄存器用于临时存储数据,在移到Flash阵列的Page之前,或者在从Flash阵列的Page移出之后

Page寄存器中的Byte或Word位置,被称为Column

在这种结构里,有2种机制实现并行。同时会有多个CMD到不同的LUN。为了进一步在一个LUN中实现并行,多Plane操作可能用于执行额外的并行依赖操作

第四章:数据接口和时序

ONFI支持5种不同的数据接口类型:SDR、NV-DDR、...
SDR数据接口是传统的NAND接口,使用RE_n去锁定数据读取,WE_n去锁定数据写入,不包括时钟
NV-DDR数据接口双倍数据数率,包括标识锁定哪些命令字和地址的一个时钟,标识锁定哪个数据的一个数据闸门
...

第五章:CMD定义

表5-1概述ONFI的命令集

第一个CMD周期的指定值,表示将要执行的CMD。有些CMD有第二个CMD周期,表5-1有指定。通常,CMD有第二个CMD周期的,都有一个地址

第六章:多平面操作

LUN支持多平面读取、写和擦除操作。多平面操作是指向同一LUN上的不同Block发出相同类型的多个命令。有关解决多平面操作的限制,请参见第5.7.1.27节。多平面操作有两种方法:并行操作和重叠操作。
在执行多平面操作时,这些操作/功能应为相同的类型。可用于多平面操作的功能有:
- 写Page
- Copyback方式的读和写
- 块擦除
- 写

第七章:操作流程

7.1.目标操作流程
目标状态机描述了与目标一起操作时允许的序列。如果没有一个弧为真,则目标仍处于当前状态。

7.1.1.变量
本节描述了在目标状态机中使用的变量。

tbStatusOut
当数据读取周期应该返回状态值时,此变量被设置为TRUE。此变量的上电值为FALSE。

tbChgCol
允许使用“Change Read Column”更改列时,将此变量设置为TRUE。此变量的上电值为FALSE。

tbChgColEnh
当允许使用“Change Read Column Enhanced”更改列时,将此变量设置为TRUE。此变量的上电值为FALSE。

tCopyback
如果目标正在发出Copyback命令,则此变量设置为TRUE。此变量的上电值为FALSE。

tLunSelected
此变量包含主机当前选择的LUN。此变量的上电值为0。

tLastCmd
此变量包含目标所接收到的最后一个命令的第一个周期(除了70h/78h)。

tReturnState
此变量包含状态操作后要返回的状态。

tbStatus78hReq
当下一个状态操作应为78h命令(而不是70h命令)时,此变量被设置为TRUE。此变量的上电值为FALSE。

其它网文参考

  • NAND FLash基础概念介绍
    https://www.cnblogs.com/yfceshi/p/6854968.html

  • Nand Flash数据存储单元的整体架构
    https://www.cnblogs.com/yfceshi/p/6854968.html

SDR和DDR,Sync和Async,ONFI和Toggle的区别 SDR(Single Data Rate),写读数据使用上升沿或下降沿来触发;因为只用上升沿或下降沿,对信号准确性要求较低; DDR(Double Data Rate),写数据时通过MCU来控制DQS信号跳变沿来触发(即上升沿和下降沿均触发),所以对信号的准确性要求较高,可以通过增加同步时钟信号来提高信号的准确性; Sync模式: 是指Flash操作时需要一个源时钟来对锁存信号进行同步,提高信号采集的准确性。 因为另外一个源时钟信号来进行同步,所以对Flash的品质要求较高,如果信号不稳定,很容易导致源时钟 阅读详情

相关推荐

【FLASH存储器系列】ONFI接口时序参数实战解析:从规范到硬件设计

本文深入解析ONFI接口时序参数在FLASH存储器设计中的关键作用,从基础概念到硬件实现提供实战指南。详细介绍了建立时间、保持时间等核心参数,分享PCB布线、时序裕量计算等实用技巧,并通过典型案例演示问题排查方法,帮助工程师优化NAND Flash接口设计。

weixin_38168590的博客 330

ONFI3.2协议

最新的ONFI3.2的协议,NAND Flash的最新标准,欢迎大家下载,非常好的Spec

ONFI5.0命令字实战指南:从基础操作到高级应用

本文深入解析ONFI5.0协议的核心——命令字,提供从基础操作到高级应用的实战指南。详细拆解了NAND闪存的复位、读状态、数据读取(00-30)、页编程(80-10)和块擦除(60-D0)等关键命令周期,并探讨了多平面操作与缓存操作等高级性能优化技巧,帮助开发者高效、稳定地与NAND芯片进行底层交互。

vscode5coder的博客 442

ONFI规范各版本合集NAND(1.0-5.1)

ONFI规范各版本合集,学习NAND FLASH必备,仅用于学习交流。

ONFI协议4.0规范资源下载

ONFI协议4.0规范资源下载 【下载地址】ONFI协议4.0规范资源下载 《Open NAND Flash Interface Specification Revision 4.0》是一份标准化NAND闪存设备接口规范,定义了统一的接口标准,使系统能够支持多种NAND Flash设备,无需预先关联设计。该规范助力开发人...

gitblog_06707的博客 449

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

详述ONFI数据接口定义及技术演进

highman110的博客 1万+

什么是ONFI

转载地址:https://zhidao.baidu.com/question/2202322653451112348.html Intel的5系芯片组挟强劲Core i7处理器已经上市了一段时间,如果细心的朋友或许会发现,在一些高端的P55主板上出现一种新的插槽——ONFI插槽或直接板载了NAND Flash颗粒,结合NAND Flash闪存可以让系统运行速度更快。P55主板上的这种新功能就...

kunkliu的博客 1万+

ONFI协议4.0规范资源下载:标准化NAND Flash设备接口,提升系统兼容性

ONFI协议4.0规范资源下载:标准化NAND Flash设备接口,提升系统兼容性 【下载地址】ONFI协议4.0规范资源下载 《Open NAND Flash Interface Specification Revision 4.0》是一份标准化NAND闪存设备接口规范,定义了统一的接口标准,使系统能够支持多种NAND...

gitblog_06738的博客 431

onfi-5-1中文翻译资源下载:助力国内工程师掌握NAND Flash标准

onfi-5-1中文翻译资源下载:助力国内工程师掌握NAND Flash标准 去发现同类优质开源项目:https://gitcode.com/ 在当今快速发展的信息技术领域,NAND Flash存储技术因其高密度存储和快速读写能力而备受青睐。onfi-5-1中文翻译资源下载项目正是为国内工程师和技术人员量身打造,帮助大家深入理解和应用ONFI 5.1规范。 项目介绍 onfi-5-1中文翻译资源下...

gitblog_06783的博客 407

【免费下载】 ONFI规范各版本合集NAND(1.0-5.1)

本仓库提供ONFI(Open NAND Flash Interface)规范各版本的合集,涵盖了从1.0到5.1的所有版本。这些规范文件是学习和研究NAND FLASH技术的必备资料,尤其适合对NAND FLASH有深入了解需求的专业人士和学生。 ## 资源内容 - **ONFI 1.0** - **ONFI 2.0** - **ONFI 2.1** - **ONFI 2.2** - **ON

gitblog_09701的博客 1249

黑猫带你学Nand第2篇:NandFlash部分相关名词释义

本文为本人工作学习中常听到或常用到关乎于nandflash/fw的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。

黑猫奥利奥的博客 748

NAND Flash时序详解:从接口信号到读写流程的底层通信协议

嵌入式存储和固态硬盘(SSD)领域,时序是数字电路可靠通信的物理基础,它定义了信号间必须满足的最小时间间隔,如同设备间的精密对话协议。其核心原理在于通过控制信号(如WE#、RE#)的特定电平变化,在严格的时间窗口内传输命令、地址和数据,以确保信号的正确建立与保持。掌握时序对于优化存储性能和保障系统可靠性至关重要,尤其在追求高性能的SSD主控设计或资源受限的嵌入式系统中,精准的时序控制直接决定了数据访问的速度与稳定性。本文聚焦NAND Flash基础时序,深入解析其关键参数与操作流程,为驱动开发和硬件设计提

weixin_34301132的博客 398

当 FPGA 遇上 Python:Glasgow 如何玩转数字接口(开源硬件 & 软件)

最后,这个项目还没完结,整体扩展性很高,但是目前实现的功能和tigard(主页:https://github.com/tigard-tools/tigard)差不多,而且tigard硬件成本更低~Glasgow 是一个值得关注的一体化接口探索平台,无论是想探索Amaranth语言的应用还是各种接口的应用,最主要是软、硬件联合开发的能力。它包括硬件板卡 + 软件框架组合,可以连接到目标设备的多种数字总线,不需要额外有源/无源前端电路,并配有一定的保护措施以应对错误操作**。

OpenFPGA的博客 675

【免费下载】 最全的ONVIF2.0协议(中文版本)资源下载

最全的ONVIF2.0协议(中文版本)资源下载 【下载地址】最全的ONVIF2.0协议中文版本资源下载分享 最全的ONVIF2.0协议(中文版本)资源下载 项目地址: https://gitcode.com/Open-source...

gitblog_06614的博客 697

<span class=“js_title_inner“>当 FPGA 遇上 Python:Glasgow 如何玩转数字接口(开源硬件 & 软件)</span>

最后,这个项目还没完结,整体扩展性很高,但是目前实现的功能和tigard(主页:https://github.com/tigard-tools/tigard)差不多,而且tigard硬件成本更低~Glasgow 是一个值得关注的一体化接口探索平台,无论是想探索Amaranth语言的应用还是各种接口的应用,最主要是软、硬件联合开发的能力。它包括硬件板卡 + 软件框架组合,可以连接到目标设备的多种数字总线,不需要额外有源/无源前端电路,并配有一定的保护措施以应对错误操作**。

OpenFPGA的博客 524

从零构建Flash固件:主控开发与存储实战入门

本文详细介绍了从零开始构建Flash固件的完整流程,涵盖主控芯片原理、固件烧录方法、Flash特性(读写擦除与坏块管理)以及磨损均衡等高级优化技术。通过实战案例解析SSD固件开发全流程,为开发者提供存储设备开发的实用指南和入门路径。

sql99的博客 605

SSD想偷你点东西太容易了(上)

不管如何当时最近SSD圈里爆出了个新闻:台湾某品牌的SSD控制器可能存在后门从而导致用户数据被擦除的。这个新闻是一周前爆出的,冬瓜哥其实早想写点东西,只不过,由于写书处于最后冲刺阶段,实在挤不出时间,没能赶上应景的时候发表这篇文章,姗姗来迟。冬瓜哥并没有去仔细研究该新闻具体的实时以及后续情况,但是凭感觉判断,觉得这里面有些蹊跷之处在于,任何硬盘其实都是可以接收标准指令从而将数据擦除的。比如SCSI

大话存储 624
上一篇: “卑”“亢”较量
李悠远
博客等级 码龄9年 8粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值