Flash存储芯片:NOR Flash、NAND Flash、UFS和eMMC的比较与解析

2023-11-17

前言

        在数字化时代的今天,数据的存储和管理变得越来越重要。各种各样的存储技术应运而生,以满足不同的使用场景和需求。其中,Flash存储芯片以其非易失性、可擦写性和可编程性等优势,占据了重要地位。本博客将详细介绍Flash存储芯片中的NOR Flash、NAND Flash、UFS和eMMC,分析它们的用途、优缺点,并对其进行比较。

1.Nor Flash

1.1 用途特性

        NOR Flash是可编程存储器的一种,因其具有直接运行应用程序的能力而广受欢迎,由于存储容量较小,一般只有几MB~几十MB,因此适合存储较小的程序和数据。由于其读取速度快且可靠性高,NOR Flash在嵌入式系统和单片机等领域得到了广泛应用。

1.2 优劣性

优点

  • 非易失性:数据不会因断电而丢失,具有较好的数据保存能力。
  • 可编程性:通过特定的编程指令,可以实现数据的写入和擦除。
  • 快速读取:对于较小的数据块,读取速度较快。
  • 支持直接运行:由于其内部结构和RAM相似,因此可以直接运行应用程序。

缺点

  • 写入速度较慢:相较于其他类型的Flash存储器,写入速度较慢。
  • 擦除操作限制:在擦除操作时,需要一次性擦除整个块的数据,不能单独擦除某个数据位。
  • 成本较高:由于其内部复杂的结构,导致其成本相对较高。

2. Nand Flash

2.1 用途特性

        NAND Flash是闪存的一种,广泛应用于数据存储领域。它通常被用于存储用户数据、应用程序和操作系统等。由于其高存储密度和快速写入速度,NAND Flash在移动设备、数据中心和SSD硬盘等领域得到了广泛应用。

2.2 优劣性

优点

  • 存储密度高:在单位面积内存储更多的数据,适用于需要高密度存储的场景。
  • 读写速度快:尤其是写入速度,远高于NOR Flash。
  • 耐久性强:可以重复进行擦除和编程操作,具有较长的使用寿命。
  • 成本较低:由于其高存储密度,使得单位容量的成本相对较低。

缺点

  • 读取速度较慢:虽然写入速度较快,但读取速度较慢于NOR Flash。
  • 需要特殊操作:在使用NAND Flash时,需要了解其特殊的操作方式,例如需要进行块或页的擦除操作才能写入数据。
  • 对坏块敏感:NAND Flash的存储单元容易损坏,需要使用冗余算法来处理坏块问题。

Nor flash和Nand flash的比较

NOR Flash和NAND Flash都是非易失性(非易失性即掉电不丢失数据)存储器,但它们有一些区别:

  1. 存储逻辑 NOR Flash的存储方式类似于常规的存储器,可以使用随机访问方式读取和写入数据。而NAND Flash则使用页式存储方式,需要按页顺序顺序读取和写入。

  2. 速度 NOR Flash的读取速度相对较快,可以实现快速的指令执行和数据读取。而NAND Flash的数据读取速度相对较慢,需要先通过控制器将数据读取到缓存中再进行处理。

  3. 密度 NAND Flash的制造工艺更加先进,可以实现更高的密度,能够存储更多的数据。而NOR Flash的制造工艺相对落后,密度较低,无法存储大量的数据。

  4. 用途 NOR Flash被广泛用于嵌入式系统的引导存储器,可以存储操作系统的代码和引导程序。NAND Flash则被广泛应用于移动存储设备,例如USB闪存驱动器、SD存储卡和固态硬盘等。

3. UFS(Universal Flash Storage)

3.1 用途特性

        UFS是一种新型的闪存标准,旨在提供高性能、低功耗的存储解决方案,支持多通道数据传输和高速串行接口,能够达到更高的数据传输速度,适用于高速数据存储和传输场景。它通常被用于智能手机、平板电脑和其他移动设备中。UFS具备较高的读写性能和低功耗特性,使得移动设备的续航时间得以延长,同时提供了更快的数据传输速度。

3.2 优劣性

优点

  • 高性能:UFS具备较高的读写性能,可以满足移动设备对数据处理的需求。
  • 低功耗:相较于传统的Flash存储器,UFS具有较低的功耗,有助于延长移动设备的续航时间。
  • 可靠性高:UFS采用先进的错误纠正技术,能够提高数据的可靠性。
  • 集成度高:UFS将多种存储器的功能集成在一起,简化了硬件设计。

缺点

  • 成本较高:相较于其他类型的存储器,UFS的成本相对较高。
  • 不适用于所有设备:由于UFS是移动设备的专用存储标准,并不适用于所有类型的设备。

4. eMMC(Embedded Multi Media Card)

4.1 用途特性

        eMMC顾名思义是一个嵌入式多媒体卡,常被用于智能手机、平板电脑和其他移动设备中作为系统存储器。eMMC相当于Nand Flash+主控IC ,它的一个明显优势是在封装中集成了一个控制器,缩小了占用面积,提供标准接口并管理闪存。eMMC结合了Flash存储器和RAM的优点,既可以作为持久性存储器使用,也可以作为缓存或临时工作区使用。它具备较高的性能和可靠性,广泛应用于各种移动设备中。

4.2 优劣性

优点

  • 集成度高:eMMC将多种存储器的功能集成在一起,简化了硬件设计。
  • 可靠性高:eMMC经过专门设计,具备较高的数据可靠性。它采用了错误纠正技术来确保数据的完整性。
  • 快速读取:eMMC支持高速数据传输,适用于需要快速读取数据的场景。它采用了流水线式的数据传输方式,提高了读取效率。
  • 低功耗:eMMC的功耗相对较低,有助于延长移动设备的续航时间。通过采用休眠模式和动态功耗管理技术来实现低功耗目标。

缺点

  • 存储容量相对较小。eMMC的存储容量通常不超过256GB,相对于传统的机械硬盘和SSD容量较小。
  • 不易升级。eMMC储存无法更换或升级,因此需要在选择时考虑到后续升级和扩展的需求。
  • 寿命有限。eMMC闪存储存有一定的写入次数限制,对于长时间高负荷使用的设备,可能会出现寿命短的问题。

eMMC和UFS的比较

应用:

eMMC和UFS都被广泛应用于手机、平板电脑等消费类电子产品中。

eMMC起源较早,自2011年起便开始在手机上使用,而UFS则是在2015年左右开始大规模应用于手机上,现在很多高端点的手机相比于emmc基本使用UFS了。

比较:

读写速度:UFS的读写速度比eMMC更快。这是因为它采用了更高的数据传输速率和更快的总线速度。
功能:UFS支持更多的高级功能,例如命令队列和TRIM命令,可以提高读写性能,并更好地管理设备的电池寿命。
兼容性:由于eMMC起源较早,因此它可以与更多的设备兼容。而UFS是一种较新的标准,因此它只能与一些较新的设备兼容。

CS SD NAND

前段时间使用了一款CSNP4GCR01-AMW  存储芯片,它免驱动(即贴即用)直连SD/SPI接口即可使用,已内置Flash管理程序的NAND Flash,兼容SPI/SD接口,读写速度快,最高兼容SD3.0协议,兼容各大MCU平台,可替代普通TF卡/SD卡,擦写寿命可达5~10万次。感兴趣的可以去了解下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flash存储芯片:NOR Flash、NAND Flash、UFS和eMMC的比较与解析 的相关文章

  • _this2.setState is not a function错误解决办法

    编写RN的小伙伴都知道setState是RN最常见的一个函数 但是这个最简单的函数却是经常报错 这一次我们就来解决 this2 setState is not a function这个错误 首先来看一下我的代码 这段代码就是发送一个请求 然

随机推荐

  • 【SpringBoot学习笔记(四)】之扫描Bean,依赖注入,Bean的生命周期,自定义Bean

    本文章由公号 开发小鸽 发布 欢迎关注 老规矩 妹妹镇楼 一 扫描Bean 1 概述 之前 我们通过构造一个IOC容器来获取Bean 每个Bean对象都要添加 Bean注解 当Bean对象比较多的时候非常麻烦 这里我们使用 Componen
  • 解答:Java是如何实现跨平台运行的?

    Java有一个其他语言都没有特点 那就是跨平台 跨平台是什么意思呢 我们首先来看看平台是指什么 平台就是指我们计算机的操作系统 例如 Windows Linux Mac等操作系统 跨平台的意思就是Java程序 在一次编译后 在这些平台上都可
  • JAVA的内存模型

    Java的内存模型决定了一个线程对共享变量的写入何时对其他线程可见 Java内存模型定义了线程和主内存之间的抽象关系 具体如下 共享变量存储于主内存 计算机的RAM 之中 每个线程都可以访问 每个线程都有私有的工作内存或者称为本地内存 工作
  • ug10万能许可证一键安装_优胜UG4.0-UG12.0-许可证一键自动安装下载

    优胜UG许可证自动安装 NX4 0 NX12 0是优胜模具旗下相应模具软件的证书安装程序 压缩包里有对应的版本号选择 xp系统早年的32位也有对应msi exe验证文件 下方有详细说明 推荐给有需要的用户 ysugxkz nx4 0 nx1
  • Jenkins打包部署gitee项目至阿里云ECS服务器

    原文地址 Jenkins打包部署gitee项目至阿里云ECS服务器 BIGTREE whwtree com 所需插件 Git Parameter Plug In插件 Publish Over SSH插件 Gitee Plugin插件 Nod
  • 7-2 jmu-ds-最长数字序列 (20 分)

    输入一个字符串 求该字符串中最长连续数字序列出现的起始位置及其长度 输入格式 输入一个字符串 可包含空格 输出格式 输出内容 最长数字序列起始位置和长度空格隔开 输出尾部不能有空格 输入空串 输出 NULL 输入样例 123ab12345a
  • 【工具篇】IntelliJ IDEA 设置编码格式UTF-8

    系统 Win11 Idea IDEA 2022 3 2 Ultimate Edition 文件编码 Editor gt File Encodings 编译编码 Build Execution Deployment gt Complier g
  • 从微信授权登录到数据安全性的思考总结

    前置知识 微信授权登录过程和相关名词 access token code openid等 微信授权登录 大都是拉起微信授权页面 用户同意授权后 再跳到自己应用的绑定手机页面进行绑定手机的操作 绑定之后自动登录 会话就像不会过期一样 或者是过
  • 基于live555实现实时视频监控

    目录 1 所需软件 源码及下载地址 1 2安装软件及编译 1 2 1 安装Windows版的VLC
  • JavaScript全解析——循环结构语句

    循环控制 控制程序重复执行若干次相同或似的逻辑 理解并正确使用循环控制 需要搞清楚循环的3个要素 起始值 变化量 终止条件 起始值循环的起点 可以是 任意数据类型值 变化量是指 改变起始值的方式 终止条件 布尔类型值 它是循环停止的边界 w
  • springboot多版本管理

    达到的版本控制效果如下 1 api版本定义在url中 采用 api 项目名 pro v4 接口名 的形式 2 api版本号通过注解进行定义 3 如果请求中不指定api版本号则返回最新版本 4 版本的自动适配 如果请求的api版本不存在 则返
  • 详解微信小程序网络请求接口封装

    为实现定制要求和方便调用 对微信小程序的网络请求接口进行了封装 在根目录新建api文件夹并新建httpRequest js与config js文件 1 设置请求域名 设置请求域名 let ENV wxConfig envVersion le
  • the import org.junit.Assert.* cannot be revolved的解决方法

    the import org junit Assert cannot be revolved的解决方法 具体解决方法 右键单击项目名 选择buildpath gt add library 弹出配置对话框 选择junit next下一步 系统
  • python想获取字符串str的长度_如何使用python获取字符串长度?哪些方法?

    掌握多种python技巧 对于我们更好的灵活应用python是非常重要的 比如接下来给大家介绍的获取字节长度 那大家脑海里就该有印象了 有几种方法呢 一起来看下吧 1 使用len 函数 这是最直接的方法 在这里 我们使用len 函数 字符串
  • 【python】将python代码打包成系统可执行文件(Pyinstaller模块)

    python文件打包输出可执行文件 1 Pyinstaller模块下载 2 Pyinstaller的使用 2 1 打开命令行 指引文件路径 2 2 直接生成可执行文件 3 常用指令 3 1 修改图标 3 2 修改名称 3 3 修改路径 1
  • 知识图谱,为移动搜索而生

    核心提示 当你尝试搜索 冰桶挑战 是什么决定你在搜索引擎上看到的内容呢 移动互联网时代 搜索引擎如何才能足够精准 个性化呢 这背后需要一个共同的作用机制 知识图谱 最近 冰桶挑战 挺火的 好奇心驱使我百度一下 看到如下结果 可能是做搜索的职
  • 人脸口罩检测 Python

    随着全球疫情的爆发 佩戴口罩成为了一项重要的健康和安全措施 在这种情况下 开发一个能够自动检测人脸是否佩戴口罩的系统变得非常有用 在本文中 我们将使用 Python 编程语言来实现一个简单的人脸口罩检测系统 首先 我们需要安装一些必要的 P
  • R语言mgarch包的说明_【R语言】优雅的循环迭代:purrr包

    用 R 写 循环 从低到高有三种境界 手动 for 循环 apply 函数族 purrr 包泛函式编程 补充一点 关于purrr 与 apply 族 purrr 提供了更多的一致性 规范性和便利性 更容易记住和使用 速度来说 apply 族
  • java多线程中synchronized同步代码块执行问题

    在高洪岩老师的 java多线程编程核心技术 一书的用同步代码块解决同步方法的弊端一节中 p76页 有这样一句话 当一个线程访问object的一个synchronized同步代码块时 另一个线程依然可以访问该object对象中的非synchr
  • Flash存储芯片:NOR Flash、NAND Flash、UFS和eMMC的比较与解析

    前言 在数字化时代的今天 数据的存储和管理变得越来越重要 各种各样的存储技术应运而生 以满足不同的使用场景和需求 其中 Flash存储芯片以其非易失性 可擦写性和可编程性等优势 占据了重要地位 本博客将详细介绍Flash存储芯片中的NOR