ONFI5.0 解析第五章

文章详细阐述了NAND闪存的ONFI命令集合,强调了熟悉并理解这些命令对于成为专家的重要性。内容包括读(如read,multi-planeread,cacheread的区别)、写(program,multi-planeprogram,cacheprogram)命令,以及命令周期类型和时序图的解析。此外,还提到一些命令是标准的,而其他则由厂商自定义,强调了对readstatus和特定功能如setfeature,training的理解。

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

其实做FW的看第五章就足够了;

前面的章节都是讲述硬件接口和原理;

本章是讲述怎么使用NAND的;

就是ONFI的命令字或者叫命令集合;

请看下表的命令集合:

O/M 表示是否要求强制支持;

1st cycle 和2nd cycle;表示有的命令需要1个cycle,有的是需要2个cycle 传递信息的;

每个cycle 对应DQ0:7传递一个信号,就是8bit,就是1BYTE;

所以1个cycle就是1byte;

比如00-30表示read命令;其他都类似;

如果把这些命令熟背抄写三遍,连续七天,刻进脑海,就可以称为专家了;这是真的;

读cmd:00-30表示读;00-32表示multi-plane read;00-31表示cache read;

这三者之间有什么差别:00-30 表示发送读命令到NAND,NAND处理,获取数据(需要时间)完毕返回数据;00-32表示因为一个DIE支持多个plane,所以给第一个plane发完命令00-32后,可以接着给第二个plane发读命令发00-32即可,,但是结束必须发送00-30/31;然后再收DQ的数据;

写cmd:80-10program;80-11 multi plane program;80-15 cache program;

 

 此处提到了; 有些cmd是标准的,有些是预留给厂商自定义的;每个厂商酌情使用;

 

cycle type是说明这个cycle的功能;比如cmd表示此时cle打开了,DQ上传递的就是cmd命令字;

addr表示ALE打开了,此时DQ上传递的是address信息(address的概念前面讲了的);

DIN表示此时DQ上传递的是data数据;

比如reset时序图中,CLE打开,就可以发送FF的cmd命令字了;

 比如read status 中每个bit都有含义定义的,非常重要,请参考说明;

 比如 00-30 的时序如上所示:先发00,再发address,然后再发30h,需要等待一会再获取数据date output;

其他的命令都是类似,请自行研究下;

后面讲的都是有些特定功能,比如怎么set feature ,怎么cache read 或者training 等功能,还有calibration怎么做;

第五章完成;

### 关于SanDisk NAND Flash数据手册 对于查找特定厂商(如SanDisk)的NAND Flash数据手册或规格文档,通常可以通过访问该公司的官方网站获取最新的技术资料。SanDisk作为ONFI标准的支持者之一[^2],其产品遵循开放NAND闪存接口(ONFI),这使得不同制造商之间的NAND存储器具有兼容性和标准化操作。 为了找到具体的SanDisk NAND Flash数据手册PDF文件: 1. **官方资源**:前往Western Digital(收购了SanDisk)官网的技术支持页面,这里提供了各种产品的详细技术文档和数据表。 2. **关键词搜索**:利用搜索引擎输入精确的关键字组合,例如“SanDisk NAND Flash Datasheet PDF”,可以快速定位目标文档。 3. **第三方平台**:部分电子元器件分销商网站也可能提供下载链接,比如Digi-Key、Mouser Electronics等,在这些地方同样能够检索并获得所需的产品规格书。 以下是基于Python的一个简单脚本示例来演示如何自动化地从网络上抓取这类信息(仅作教学用途,请勿滥用爬虫): ```python import requests from bs4 import BeautifulSoup def search_datasheets(keyword): url = f"https://www.google.com/search?q={keyword}+datasheet" headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text,"html.parser") results = [] for item in soup.find_all('a'): link = item.get('href') if ".pdf" in str(link): results.append(link) return results[:5] print(search_datasheets("Sandisk nand flash")) ``` 此代码片段通过模拟HTTP请求向Google发送查询,并解析返回的结果以提取可能包含的数据表URL地址列表。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值