闪存和CFI

2024-04-06 05:08
文章标签 闪存 cfi

本文主要是介绍闪存和CFI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考:毛德操的《嵌入式系统》和CFI标准协议

1、闪存的特点:

1、不挥发,即在断电是不会失去已经写入的内容。

2、随机可读,就像RAM和ROM一样,可以从任意地址读出,读出的速度与地址无关。

3、对于已经写入的内容可以成片擦除,不过只能成片地擦除,而不能随机擦除,并且必须遵循一定的步骤。

4、对于空白,或已经擦除内容的区间可以按一定规则随机写入,但是一经写入,便不能向相同的地址再写入,除非先擦除。

5、内容的写入和擦除一般不需要特殊的电压条件,不像EEPROM那样一定要有较高的电压。闪存的集成度较高,所以闪存芯片的容量也比ROM大。

2、CFI

(1)、Purpose
The Common Flash Interface (CFI) specification outlines device and host system software interrogation
handshake that allows specific vendor-specified software algorithms to be used for
entire families of devices.整个闪存家族
This allows device-independent, JEDEC ID-independent, and forward- and backward-compatible software
support for the specified flash device families. It allows flash vendors to standardize their existing interfaces
for long-term compatibility.

主要为了统一各种闪存芯片的接口,使软件能够通过统一的查询方式,得到此闪存芯片的操作规程和标准。

CFI规定,各厂商可以使用自己的操作规程和命令集,但是必须有一个统一的编号,并且在软件的查询下提供这个编号。而且,闪存芯片也可以同时支持两套操作规程和命令集,让软件选择使用。而且有规定闪存芯片必须提供更多的信息。

(2)、The CFI Query data structure contains a 16-bit Command Set and Control
Interface ID code that specifies a vendor-specific control interface for a family of Flash devices. Query also
contains general, common flash memory parameters and vendor-specified data areas.
These provide all the
necessary information for controlling Read/Write/Erase operations of a particular family of Flash devices
according to a vendor-specified interface. Any additional information not covered in the common CFI Query
data structure is located in vendor-specific extended Query tables, the address location(s) of which is (are)
contained in the general CFI Query structure.

为了表示出闪存芯片中读出的信息,为此还定义了一个用来提供详细信息的标准数据结构,凡支持CFI的闪存芯片在受到查询时都应按这个数据结构的格式提供信息,即CFI信息块。

(3)、CFI Hardware Interface

The Query addressing is always relative to the device word (largest supported) with data always presented on the lowest order byte (D7 - D0 outputs).




注:在CFI查询过程中使用的地址是以具体芯片的存储单元为单位的。以地址0x55为例,8位芯片的存储单元是字节,所以这就是字节地址,而16位芯片的存储单元是字,所以这就是字地址,换算成字节地址就成了0xaa,而32就变成了0x154。这里的地址变化很烦,具体的可以查看协议,可以看一下这个表:



      Notes:
1. The system must drive the lowest order addresses to access all the device’s array data when the device is configured in x8 mode.
Therefore, word or double addressing where the lower addresses are not toggled by the system is “Not Applicable” for x8-Configured
devices.
2. Flash devices may or may not have address sensitive query commands. Device drivers should always supply 55h on the address bus
(55h, AAh, and 154h respectively for command address location in bytes on x8, x16 and x32 data bus configured devices) and 98h on the
data bus to enter query mode, however Flash devices may choose to ignore the address bus and enter query mode if 98h is seen on the
data bus only.
3. Same as note 1 above but change x8 references to x16.
4. Devices with word addressing (16 bit or 32 bit) connected to systems with byte addressing, will have the address bus offset from the byte
address bus. For example on a 16-bit device, A0 of the device is connected to A1 of the system. To correctly address the Flash device,
the system must multiply the address by factors of 2. For a 16-bit device, the system address is twice the device address. For a 32-bit
device, the system address is 4 times the device address.

主要和芯片的类型和工作的模式有关,当然,也和几块芯片一起使用也有关系,比如用4块8位的组成32为总线。



这篇关于闪存和CFI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879066

相关文章

STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介  1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 2 通过在程序中编程(IAP)实现程序的自我更新 (OTA) 3在线编程(ICP把整个程序都更新掉) 1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动  4 IAP(自己写的Bootloader,实现程序升级) 1 比如蓝牙转串口,

“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程

“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程 文章目录 一、“FLASH闪存”是什么?1. 简介2. 特点3. 未来发展 二、SD NAND Flash1. 概述2. 特点3. 引脚分配4. 数据传输模式5. SD NAND寄存器6. 通电图7. 参考设计 三、STM32测试例程 三、STM32测试例程 本篇除了对flash闪存进行简单介绍外,另给读

【保姆级教程】“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程

文章目录 一、“FLASH闪存”是什么?1. 简介2. 特点2.1 性能2.2 可靠性2.3 耐用性2.4 易于使用 3. 未来发展 二、SD NAND Flash1. 概述2. 特点3. 引脚分配4. 数据传输模式5. SD NAND寄存器6. 通电图7. 参考设计 三、STM32测试例程1. 初始化2. 单数据块测试3. 多数据块测试4. 状态缓冲 本篇除了对flash闪存

集成电路学习:什么是Flash Memory闪存

Flash Memory:闪存         Flash Memory,即闪存,是一种电子式可清除程序化只读存储器的形式,它允许在操作中被多次擦除或写入数据。以下是关于Flash Memory(闪存)的详细解释: 一、Flash Memory闪存的定义与特点 Flash Memory闪存的定义:闪存是一种非易失性存储器,即断电后数据也不会丢失。它采用电子式存储方式,通过电荷的存储来代表

STM32——Flash闪存

以上部分,主存储器:程序存储器; 启动程序代码:系统存储器; 用户选择字节:选项字节 以下是闪存的管理员,用于擦除和读写的地址 C8T6一共64K,主存储器为64页 以下是整体框图: FLASH的整体流程: 1、解锁+加锁 通过键寄存器对FLASH进行解锁(先用KEY1解锁,再用KEY2解锁),上一步完成后,要尽快加锁:加锁的时候在LOCK位写1即可锁住 2、

NVF04M录音芯片在宠物喂食器的应用:录音播放功能,内置SPI闪存

在现代社会中,宠物已经成为人们生活中的一部分,而宠物喂食器作为宠物养护的重要工具,也越来越受到人们的关注。为了满足人们对宠物喂食器的多样化需求,九芯电子供应商研发了一款NVF04M录音芯片。它在宠物喂食器中的作用主要是提供语音提示和录音播放功能,以增强用户体验和宠物的幸福感。‌ NVF04M录音芯片是一款内置SPI闪存的芯片,无需外挂存储器,能够减少外围电路和生产成本。它支持实时录音播放

STM32单片机-FLASH闪存

STM32单片机-FLASH闪存 一、FLASH简介二、FLASH工作原理三、读写内部FLASH四、读取芯片ID 一、FLASH简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程读写FLASH的用途:   利用程序存储器的剩余空间来保存掉电不丢失的用户数据   通过在程序中编程(I

NAND闪存市场彻底复苏

在全球内存市场逐渐走出阴霾、迎来复苏曙光之际,日本存储巨头铠侠(Kioxia)凭借敏锐的市场洞察力和及时的战略调整,成功实现了从生产紧缩到全面复苏的华丽转身。这一转变不仅彰显了企业在逆境中的生存智慧,也为全球半导体产业的回暖增添了一抹亮色。 #### 生产复苏:满载产能应对需求回暖 面对2022年智能手机市场疲软导致的需求下滑,铠侠采取了大胆的生产削减措施,以应对库存压力和市场不确定性。然

STM32作业实现(六)闪存保存数据

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按键TPAD STM32作业实现(九)驱动舵机 源码位置 打

NetApp财季报告亮点:全闪存阵列需求强劲,云计算收入增长放缓但AI领域前景乐观

在最新的财季报告中,NetApp的收入因全闪存阵列的强劲需求而显著增长。截至2024年4月26日的2024财年第四季度,NetApp的收入连续第三个季度上升,达到了16.7亿美元,较前一年同期增长6%,超出公司指导中值。净利润为2.91亿美元,同比增长18.8%,标志着该公司连续第25个季度实现盈利。全闪存阵列的年度运行率(ARR)再创新高,达到了36亿美元,季度内全闪存收入达到8.5亿美元。