转载自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时序了。

这些事情是电子设计工程师经常干的,而且也非常熟悉的东西。基于NAND Flash设计的存储系统电路图比较简单,如下图所示:

上面提到的Flash其实是NAND Flash,在电子设计的时候还会经常用到另外一种Flash——NOR Flash。

NOR Flash通常是用作程序存储器,容量不是很大。和NAND Flash相比,其最大的特点是读取速度快,但是写入速度要比NAND Flash慢,容量要小的多。因此,NOR Flash通常被用作程序存储器。

在低速的51系统中,程序可以直接运行在NOR Flash上;在高速的ARM系统中,程序需要从NOR Flash中引导到Memory中,然后在Memory中运行。和NAND Flash相比,NOR Flash的接口也大不一样。NOR Flash采用的是标准总线接口,有地址线、数据线和控制线之分,因此,处理器可以直接与NOR Flash相连,而不像NAND Flash一样还需要接口控制器。一个典型的NOR Flash电路原理图如下所示:

NOR Flash中的程序是需要编程写入的。如果是外置式的NOR Flash,那么需要一些小的技巧才能将程序写入NOR Flash。在ARM处理器中,最常用的思路是首先编写一个小的NOR Flash烧录程序,通过ARM处理器内部的Bootload程序将这个烧录程序下载到内存中,然后运行该烧录程序。编写的该烧录程序有如下几个方面的功能:
1、初始化内存,使得ARM处理器能够使用所有的板载内存
2、通过串口接收需要烧录的程序数据,并且把需要下载的数据缓存至内存中
3、能够操作NOR Flash,并且将内存中的数据烧写入NOR 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技术、文件系统、互连技术、多处理器并行(集群)处理技术应该是研发攻关的重点。

闪存flash基础原理相关推荐

  1. NAND闪存与NOR闪存的工作原理详解

    经典物理学认为 物体越过势垒,有一阈值能量:粒子能量小于此能量则不能越过,大于此能量则可以越过.例如骑自行车过小坡,先用力骑,如果坡很低,不蹬自行车也能靠惯性过去.如果坡很高,不蹬自行车,车到一半就停 ...

  2. (闪存)存储基础知识

    闪存的特性: 1.闪存在写之前必须先擦除,不能覆盖写,于是固态硬盘才需要垃圾回收(Garbage Collection,或者叫Recycle): 2.坏块: 闪存每个块(Block)擦写次数达到一定值 ...

  3. [闪存2.1.3] 固态硬盘闪存的物理学原理_NAND Flash 的读、写、擦工作原理

    ​ 声明 ​​ 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载.​ 内容摘要 2.1.3.1 Flash 的物理学原理与发明历程 经典物理学 ...

  4. flash写保护原理_一文详解闪存flash读写的原理

    首先讲述的是基本原理,因为前面总结了很多基本原理,所以这个位置比较粗略的带过. 1.基本原理 从图上可以看出,Vt为开启电压,对于N沟道的cmos,当门极加的电压逐渐变大的时候,多数载流子被门极所吸引 ...

  5. linux 区分flash和u盘,闪存盘和u盘的区别

    U盘,全称USB闪存盘,英文名"USB flash disk". 它是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用.但U盘和闪 ...

  6. 内存、外存、硬盘、磁盘、闪存,傻傻分不清?

    引言   平时我们买手机,关注最多的配置就是内存了,比如6G+64G.8G+128G等等.但是很多人容易弄混这两个概念.之前我遇到有人问我,说买平板是64G内存,还是128G内存好,128G有点贵,6 ...

  7. Linux文件系统与持久性内存介绍:块设备、闪存(NAND/NOR)、NVDIMM(非易失性内存)、PMEM(PMDK)- ndctl

    <持久内存开发套件(Persistent Memory Development Kit-PMDK) - pmem.io: PMDK> <PMDK介绍> <PMDK(NVM ...

  8. 技术市场分析:闪存阵列中默默服务的SAS SSD

    " 关于闪存.SSD方面的技术, 包括性能.寿命等我之前写过一些. 这次想站在行业的角度写个点评, 目标先面向企业存储中SAS接口的SSD. " 双端口SCSI协议是SAS最显著的 ...

  9. 【精华】构建闪存系统和生态环境

     ICT架构师技术交流(微信号ICT_Architect) 介绍分析和交流ICT行业最前沿技术,分享云计算.存储.服务器.数据中心.网络.软件定义和虚拟化等相关知识,旨在知识交流.开放共享和共同进 ...

  10. 闪存浪潮下不得不知的知识(2)-颗粒篇

      近两年随着闪存颗粒密度增加.价格下降,SSD成为一个炙手可热的话题:今天有幸跟大家交流一下闪存颗粒的相关技术.闪存(Flash)是相对于HDD而言的一种非易失性存储器,Flash分为NOR ...

最新文章

  1. 理解 Delphi 的类(十) - 深入方法[23] - 重载
  2. Steve J. Luck推出最新ERPs独家视频课程
  3. 7.06 生成累计和
  4. IFE JavaScript Task0002-1 小练习1:处理用户输入
  5. BZOJ 3270: 博物馆
  6. Nest,很酷的东西
  7. 安卓非常实用的自动化测试工具 -- Monkey详细的说明
  8. 前端如何更精准的评估开发时间
  9. Jenkins+码云 搭建持续集成环境
  10. 关于ADO.Net连接池(Connection Pool)的一些个人见解
  11. windows xp下Apache2.2.11整合Tomcat6.0.20
  12. 网路收包流程-网桥的处理流程(br网桥)(四)
  13. NB-Iot烟感02:NB-IOT概念和技术特点
  14. OpenLayers 3加载矢量地图源
  15. 静默安装Oracle19c软件与数据库
  16. spss和python财务数据分析_用SPSS做数据分析?先弄懂SPSS的基础知识吧
  17. android rar文件怎么打开方式,rar文件手机上怎么打开 手机怎么打开zip文件
  18. 新Macbook电池续航能力表现欠佳,用户表示用不到5小时
  19. python余弦相似度_Python 简易聊天机器人(附带基础余弦相似度实现)
  20. 猫哥教你写爬虫 000--开篇

热门文章

  1. 统计软件SAS入门教程:SAS程序初步
  2. 移动IPv6光猫登录的一般ip地址账号与密码,移动光猫变桥接模式
  3. ECSHOP彩虹易支付插件,彩虹易支付对接ECshop支付接口插件,ECSHOP对接易支付接口插件【2022免签约免申请免企业免年费个人支付接口】
  4. 数字图像处理MFC程序设计之灰度图像的线性变换
  5. 北斗芯片是如何决定着北斗产业的未来?
  6. 使用ps删除多余的内容
  7. M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network AAAI2019
  8. FGSM对抗样本trick汇总
  9. linux一键ghost,linux 下一键 Ghost
  10. ffmpeg 推流MP4文件,采用rtmp协议