0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Flash的基本原理及分类是什么?

SoC芯片 来源:AMDDMA 作者:AMDDMA 2021-06-23 15:16 次阅读

一、Flash基本原理及分类

1.1、基本存储单元

存储数据基本的元件:浮栅场效应管

存储时,信息存放在浮置栅极中,浮置栅极有无电荷或电荷量来表明当前存储的数据:

1.2、存储颗粒分类

当前存储颗粒主要分类:SLC、MLC、TLC、QLC

单位存储单元下数据存储密度:(一个存储单元要表示的数据类型)

SLC (Single-Level Cell) 单个存储单元存储1bit数据,即表示2种(2^1)数据状态:0和1

MLC (Multi-Level Cell) 单个存储单元存储2bit数据,即表示4种(2^2)数据状态:00,01,10,11

TLC (Trinary-Level Cell) 单个存储单元存储3bit数据,即表示8种(2^3)数据状态:000,……,111

QLC (Quad-Level Cell) 单个存储单元存储4bit数据,即表示16种(2^4)数据状态:0000,……,1111

注:单个存储单元:指一个浮栅场效应管

对于一个存储单元存储多个bit的情况,识别和写入通常是通过控制阈值电压来实现,阈值电压可以通过调整浮置栅极的电荷量(电荷量越多导通性越好,分压越小)实现。

颗粒配合制作工艺实现:2D和3D Flash技术,2D最早在SLC阶段应用广泛,3D在TLC阶段应用广发,具体结构区分:

2D内部结构:

3D内部构造:

3D芯片内部结构:

1.3、Flash存储分类

存储技术分类:NandFlash、NorFlash

存储芯片分类:目前市面上常见的集成存储芯片类型:eMMC、UFS、SPI-Flash、QSPI-Flash、各尺寸的SD卡等。

NandFlash存储阵列:

NorFlash存储阵列:

写入数据:

NorFlash:热电子注入效应(高压沟道雪崩击穿注入电子流)

NandFlash:F-N隧道效应(P/N结半导体导电特性)

读取时控制栅极的控制电压不会过大影响浮置栅极的电荷,因此可以依据有无电荷读取存储的数据,当浮置栅极有电荷时,源极和漏极可以导通,读取到的bit是0;擦除后浮置栅极无电荷,源极和漏极不能导通,读取的bit是1(控制栅极的电平);

读取数据:

NorFlash一次最小可以读取1bit数据,NandFlash一次最小可以读取1byte数据;

擦除数据:

NorFlash和NandFlash都是通过F-N隧道效应擦除数据(消耗浮置栅极的电荷)

1.4、NandFlash和NorFlash异同

NandFlash:

存储容量:适用于大容量的场景,不可运行程序;

擦写次数:擦写次数相对NorFlash较高;

擦写方式:按块、页擦写,可擦写次数较多,读写速率相对较高;

硬件接口:I/O口是数据线和地址线复用,通过CS等控制引脚控制时序完成地址传输和数据传输;

缺陷:需要管理坏块,NandFlash存在随机坏块问题,需要算法探测坏块并本分数据,EDC/ECC等一般在文件系统下实现,时序操作负责容易引起错误,只能以块为单位擦写,整体寿命相对短;

应用:当前市场的NandFlash用于大容量产品,如SSD的Flash、EMMC的Flash、UFS的Flash等都是NandFlash,不同的是SSD、EMMC、UFS等芯片集成的控制器和对外接口类型不同。

常见产品:市场常见产品均是串行接口,集成了控制器,控制器中集成坏块替换、均衡等管理;

SSD(solid state disk)可以向外提供SATA或PCIe接口(代表产品有M.2 SSD,兼容SATA和PCIe接口);

EMMC(embeded MultiMedia Card)集成的控制器对外提供的接口类似于NandFlash的接口,统称SDIO(适用于SD卡的数据总线类型),以I/O地址数据线复用形式提供,CMD等实现指令操作;

UFS(Universal Flash Storage)对外提供的接口MIPI(Mobile Industry Processor Interface:该接口由ARM组织发起,目的是将摄像头、LCD显示屏、存储设备等统一为一个总线规范),处理器也需要支持MIPI接口,目前较新智能手机的SOC(ARM核)一般都支持该接口;

NorFlash:

存储容量:适用于存储容量小的场景,可运行程序;

擦写次数:擦写次数相对NandFlash较低;

擦写方式:按bit擦写,极少出现坏块,可靠性高,写入速率相对低,读取速率和NandFlash相差不大;

硬件接口:地址总线和数据总线是分开的,读写速率相对较高;

缺陷:写入速度低,可擦写次数相对NandFlash低;

应用:当前市场的NorFlash主要有串行和并行两种接口形式,并行的NorFlash芯片提供类似SRAM的接口,即有地址总线和数据总线,串行的NorFlash一般提供SPI等串行协议的接口实现数据读写;

二、Flash的硬件电气特性

2.1、芯片封装类型

芯片封装依据厂商的设计和应用场景而不同,目前主要有SOP类、BGA类,相关封装对应的引脚定义参见以下描述;数据通道依据不同芯片也有不同的设计,当前有8bit数据通道和16bit数据通道。

以下是NandFlash的常见芯片封装和引脚定义:

SOP类芯片封装

8根数据线的存储芯片:

16根数据线的存储芯片:

BGA类芯片封装

8根数据线的存储芯片:

16根数据线的存储芯片:

LGA-52封装尺寸:

其他封装具体参见开源文档《Open Nand Flash Interface》描述。

以下是NorFlash的常见芯片封装和引脚定义:

2.2、芯片和处理器接口

飞思卡尔(现属于NXP)处理器下,存储芯片等的硬件接口统称为IFC(Integrated flash controller),该总线在嵌入式系统中比较常见。IFC总线可以连接NandFlash、NorFlash、SRAM/DDR、EEPROM以及ASIC类,处理器的IFC总线一般带有NandFlash和NorFlash的控制器,以硬件的形式完成NandFlash或NorFlash的访问和控制;

以LS1021A处理器(ARM核)为例:

The IFC contains one NAND controller, one NOR flash controller, and one GPCM/generic-ASIC controller.

即IFC总线包含了NorFlash/NandFlash/GPCM/ASIC等控制器,帮助处理器完成对外围存储、器件的访问。

由上一节的芯片硬件接口可以看出,NandFlash没有数据线和地址线,只有I/O总线,其余引脚用于时序控制完成对应功能;

RK系列ARM处理器(瑞芯微),处理器对外的存储器接口,均以集成的方式展现,如MIPI、EMMC PHY等,这种情况下,就需要EMMC、UFS等芯片去连接,而不能直接用NandFlash连接到处理器上。

全志A、H系列ARM处理器,可以通过本地数据总线连接NandFlash,但名称不叫IFC,其中RK系列处理器的外置存储控制器,更适用于安卓系统的驱动,对于嵌入式系统也是一个新的发展趋势。

2.3、Flash读写

NorFlash需要热电子注入,因此需要升压,电压要高于当前芯片的逻辑电压,因此NorFlash的写入速度较低,同样电压低的器件速度快,CPU从最初的5V电源系统更新到3.3V,乃至最新的1.8V和1.2V,都是为了提高元件的运行速度(频率),减少因逻辑切换引起的电压变换时延。

NandFlash由于借助半导体的P/N结特性,不存在电压超过芯片自身工作电压的工作情况,因此写入速度要大于NorFlash。

NorFlash和NandFlash的擦除速度相当,擦除原理均基于P/N结特性(F-N隧道效应),因此擦除速率几乎相等。

NandFlash的读写命令字规定(来自ONFI标准):

注:此规定是ONFI规定的,并非某厂商芯片的使用说明,某型号的芯片需要参照相关数据手册。

Flash的读、写、擦以及回写操作应为原子操作,执行原子操作时不应切换逻辑分区选择!

读取(包含回读)

o 《CMD: 00h》 《ADDR: Column & Row》 《CMD: 30h》

o 《CMD: 00h》 《ADDR: Column & Row》 《CMD: 31h》

o 《CMD: 00h》 《ADDR: Column & Row》 《CMD: 32h》

o 《CMD: 00h》 《ADDR: Column & Row》 《CMD: 35h》

编程注意事项(包括回写编程):The Volume Select command may be issued prior to the 10h, 11h, or 15h command if the next command to this Volume is Change Row Address. After Volume Select command is issued to resume data input, the host shall wait tCCS before issuing Change Row Address command. o 《CMD: 80h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 10h》

o 《CMD: 80h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 11h》

o 《CMD: 80h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 15h》

o 《CMD: 81h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 10h》

o 《CMD: 81h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 11h》

o 《CMD: 81h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 15h》

o 《CMD: 85h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 10h》

o 《CMD: 85h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 11h》

o 《CMD: 85h》 《ADDR: Column & Row》 《DIN: Data Input》 《CMD: 15h》

• 擦除Flash命令:

o 《CMD: 60h》 《ADDR: Row》 《CMD: D0h》

o 《CMD: 60h》 《ADDR: Row》 《CMD: D1h》

o 《CMD: 60h》 《ADDR: Row》 《CMD: 60h》 《ADDR: Row》 《CMD: D1h》

2.4、制造工艺

制程相对CPU的小,一般在28nm左右

三、软件适配和文件系统

3.1、文件系统

此处以Linux为例。

Linux操作系统本身支持很多文件系统:ext系列(2~4)、cramfs、ubifs、jffs2、yaffs、yaffs2、等。

如果是发行版的linux,可以查看:/lib/modules/3.10.0-327.el7.x86_64/build/fs 目录下的文件夹,即可知道当前的linux支持的文件系统,同时该发行版支持的文件系统工具可以查看:ls /usr/sbin/ | grep mkfs。

如果是自行开发的linux内核,则在linux内核编译时,已由开发人员指定了内核支持的文件系统类型,(处理器架构非x86时)开启UBIFS选项如下图:

Linux下使用MTD工具管理Flash,其中支持在Flash上运行的文件系统有:cramfs、jffs、、ubifs等

Linux下文件系统的目录:

3.2、软件适配

Linux下适配NandFlash、NorFlash的分区信息时,通常是在设备树中配置mtd信息,以供linux启动后,用户层软件可以通过linux的ioctl实现对NandFlash或者NorFlash进行读写操作,来完成底层flash的数据替换等操作。

四、性能对比

各类型颗粒性能对比。

Nand和Nor特性参数对比。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1624

    浏览量

    147793

原文标题:Flash(NandFlash&NorFlash)基本原理

文章出处:【微信号:gh_9d9a609c9302,微信公众号:SoC芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RNN的基本原理与实现

    RNN,即循环神经网络(Recurrent Neural Network),是一种特殊类型的人工神经网络,专门设计用于处理序列数据,如文本、语音、视频等。以下是对RNN基本原理与实现的介绍: 一
    的头像 发表于 11-15 09:49 255次阅读

    滤波器的基本原理分类及实现方式

    滤波器是一种信号处理设备,用于从信号中去除不需要的频率成分,保留所需的频率成分。在信号处理中,滤波器起着至关重要的作用。 滤波器的基本原理 滤波器的基本原理是利用信号的频率特性来实现对信号的处理。在
    的头像 发表于 08-25 14:44 511次阅读

    限流保护电路的基本原理

    限流保护电路的基本原理是一个复杂但至关重要的概念,它涉及到电子电路中电流控制的多个方面。这种电路的主要目的是在电流超过预设的安全阈值时,通过一系列机制来限制或切断电流,从而保护电路中的元件和设备免受损坏。以下是对限流保护电路基本原理的详细阐述,包括其工作机制、主要元件、设
    的头像 发表于 08-19 17:55 1642次阅读

    无线充电技术的基本原理和应用领域

    无线充电技术作为近年来快速发展的电力传输方式,其基本原理和应用范围广泛,为人们的生活带来了极大的便利。以下将详细阐述无线充电技术的基本原理、主要类型、技术优势以及在不同领域的应用。
    的头像 发表于 07-26 17:56 2142次阅读

    电桥电路的基本原理分类及设计方法

    电路的基本原理 电桥电路的定义 电桥电路是一种由四个电阻或电感等元件组成的电路,其中两个元件作为臂,另外两个元件作为桥。当电桥达到平衡状态时,桥两端的电压差为零,此时电桥的输出电压也为零。 电桥电路的平衡条件 电
    的头像 发表于 07-26 14:21 2424次阅读

    CNN模型的基本原理、结构、训练过程及应用领域

    CNN模型的基本原理、结构、训练过程以及应用领域。 卷积神经网络的基本原理 1.1 卷积运算 卷积运算是CNN模型的核心,它是一种数学运算
    的头像 发表于 07-02 15:26 3159次阅读

    神经网络的基本原理

    神经网络,作为人工智能领域的一个重要分支,其基本原理和运作机制一直是人们研究的热点。神经网络的基本原理基于对人类大脑神经元结构和功能的模拟,通过大量的神经元相互连接、协同工作,实现对信息的处理、分析
    的头像 发表于 07-01 11:47 994次阅读

    AC/DC电源模块的基本原理与应用

    BOSHIDA AC/DC电源模块的基本原理与应用 AC/DC电源模块是一种将交流电转换为直流电的电子设备,它广泛应用于电子设备、电信设备、工控设备以及家电等领域。本文将介绍AC/DC电源模块
    的头像 发表于 05-21 11:15 781次阅读
    AC/DC电源模块的<b class='flag-5'>基本原理</b>与应用

    倍频器的基本原理分类及应用领域

    倍频器,作为电子技术中不可或缺的一部分,以其独特的频率变换功能,在无线通信、雷达系统、音频处理等领域发挥着重要作用。本文将深入探讨倍频器的基本原理分类、应用领域以及未来的发展趋势,旨在为读者提供一个全面而深入的了解。
    的头像 发表于 05-12 17:34 4201次阅读

    变频器的基本原理和主要分类

    独特的性能,如高效节能、精确控制、稳定可靠等,成为了现代工业自动化的关键组成部分。本文将对变频器的基本原理、发展历程、主要分类、应用领域及未来发展趋势进行详细的阐述。
    的头像 发表于 05-12 17:23 1637次阅读

    激光二极管基本原理介绍

    激光二极管基本原理介绍
    发表于 03-19 10:57

    浪涌抑制器的基本原理和种类?

    浪涌抑制器的基本原理和种类?|深圳比创达电子
    的头像 发表于 01-18 09:59 829次阅读
    浪涌抑制器的<b class='flag-5'>基本原理</b>和种类?

    支持向量机的基本原理 支持向量机可以解决什么问题

    支持向量机(Support Vector Machine,简称SVM)是一种非常流行和强大的机器学习算法,常用于分类和回归问题。它的基本原理源自于统计学和线性代数的理论基础,通过找到能够在特征空间
    的头像 发表于 01-17 11:17 1553次阅读

    人工智能中文本分类基本原理和关键技术

    在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。
    的头像 发表于 12-16 11:37 1181次阅读
    人工智能中文本<b class='flag-5'>分类</b>的<b class='flag-5'>基本原理</b>和关键技术

    运算放大器基本原理

    电子发烧友网站提供《运算放大器基本原理.pdf》资料免费下载
    发表于 11-30 09:23 3次下载
    运算放大器<b class='flag-5'>基本原理</b>