闪存flash基础原理

闪存flash基础原理转载自 ssdfans1 闪存基本介绍 Flash 存储是存储界的新人和红人 Flash 存储系统由于其优异的性能 高效的存储密度和出色的节能特性使得 Flash 存储有望替代机械磁盘成为企业级存储的核心 未来很有可能所有的数据都会存储在 Flash 存储介质上面 包括银行 中小企业 互联网 电信等存储大户 紫外线可擦除存储器当年沉迷于电子设计的时候 没有想到一个小小的 Flash 居然能够做成一个新兴的存储

转载自ssdfans

1、闪存基本介绍

Flash存储是存储界的新人和红人。Flash存储系统由于其优异的性能、高效的存储密度和出色的节能特性使得Flash存储有望替代机械磁盘成为企业级存储的核心。未来很有可能所有的数据都会存储在Flash存储介质上面,包括银行、中小企业、互联网、电信等存储大户。

紫外线可擦除存储器
当年沉迷于电子设计的时候,没有想到一个小小的Flash居然能够做成一个新兴的存储产业。做电子设计的时候,很多时候需要用到存储芯片,比较老的存储芯片如TI的27系列紫外线可擦除存储器。
在这里插入图片描述
该存储器需要通过紫外线照射的方式擦除已经存储的数据。也就是需要擦除数据的时候,将芯片放到太阳光底下去晒一段时间,晒完之后,存储在芯片内部的数据就没有了,芯片可以继续编程使用了。此类芯片使用非常麻烦,所以记得到2000年初的时候已经很少有人使用这种芯片了,取而代之用的最多的就是电可擦写存储器EEPROM。


电可擦写存储器EEPROM
在这里插入图片描述
EEPROM的典型代表是SPI接口的93CXX系列存储器,以及I2C接口的24CXX系列存储器。这些EEPROM容量都比较小,通常用来存储一些小容量数据,例如系统的配置信息。像网卡的配置信息、PCI桥的配置信息都存储在93C46之类的芯片中。

这种存储器一个比较好的特点是可以进行字节级编程,但是读写性能都很差。如果要进行大数据存储,是不能采用此类芯片的。例如,当初我设计一个收费站监控系统,需要存储一个月的营业额,那么需要采用大容量的可编程存储器进行数据存储。此时就需要采用Flash存储芯片了。

Flash存储芯片
在这里插入图片描述
和EEPROM相比,Flash存储芯片的一个特点是存储容量大,并且以块单元进行数据擦除操作,以Page页的方式进行数据读写。该类芯片都采用IO接口的方式与CPU相连,即通过命令的方式进行读写、擦除操作。

在电子设计的时候,使用Flash芯片最大的问题在于开发Flash的操作函数集,例如读page函数、写page函数、块擦除函数。在操作系统环境里,这些函数就构成了一个Flash芯片的驱动程序。此外,由于控制器通常采用GPIO和Flash相连,因此需要通过程序的方式模拟Flash接口时序。如果设计的板子上有FPGA/CPLD之类的可编程器件,那么可以通过Verilog/VHDL语言或者通过图形的方式设计一个Flash芯片的时序控制器,这样CPU控制器就无需采用软件方式模拟Flash时序了。

Flash的未来
在未踏入存储这个行业的时候,对NAND Flash也就是这个理解,仅仅是作为电子设计的一个大容量存储器而已,最多在嵌入式的环境下跑跑Flash的文件系统。但是,这么多年对存储进行深入研究、开发之后发现,NAND Flash的确拥有很多的优势,但是同时也存在很多的问题。如果想要将NAND Flash应用到企业级存储领域,那么面临的挑战将十分严峻。有一篇文章《采用NAND Flash设计存储设备的挑战在哪里 》也蜻蜓点水的分析了一下NAND Flash作为企业级存储介质存在的一些挑战,真正想把NAND Flash的特点发挥到极致,需要走的路还很长。

业内很多人都在研究Flash Translation Layer(FTL)算法,目的就是要把NAND Flash的问题屏蔽掉,然后对外提供标准的块设备接口,从而使得传统的应用软件可以直接在Flash上跑起来。

可以说FTL是Flash存储最底层的核心技术,其解决了不均衡的性能问题、写放大问题、块擦除的寿命问题。通过这些问题的解决,使得NAND Flash很多方面可以和传统的机械磁盘相媲美,在性能上远远超过传统硬盘。

到目前为止,个人认为FTL算法已经研究的相对很成熟了,所以,基于FTL的Flash盘应该说可以大规模应用了,其主要障碍就在于NAND Flash芯片成本了。

基于flash闪存存储系统重点
在企业级Flash存储中,仅仅有FTL算法是远远不够的。
基于Flash如何做盘阵?
基于Flash如果做文件系统?
基于Flash如果做大规模存储系统?
这些存储级别的问题还没有得到完美的解决。
个人认为,在Flash存储这一块,RAID技术、文件系统、互连技术、多处理器并行(集群)处理技术应该是研发攻关的重点。





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178326.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:32
下一篇 2026年3月26日 下午5:32


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号