Flash存储器

一、基本概念

Flash存储器,也称闪存,是一种非易失性存储器,用于存储数据。它采用固态存储技术,不需要动态维护电容或磁性材料来保存数据,能够在无电源情况下保留数据。Flash存储器的存储单元是FLASH存储单元,每个存储单元可以存储一位二进制数据,通常将多个存储单元组合起来形成一个字节、一个字、或者一组数据块。Flash存储器和DRAM有些相似,它也使用了存储单元的阵列。

Flash存储器相比于硬盘,具有读写速度快、体积小、耐用、低功耗、抗震抗压等优势。它在数字相机、存储卡、闪存盘、移动设备等场合得到了广泛应用。

二、分类

按照存储方式和结构分类,Flash存储器分为两类:

1. NOR Flash

NOR Flash 存储器由 Intel 公司在 1988 年开发。它采用并行读写方式,可进行部分擦除。在 NOR Flash 存储器中,存储单元和检索引擎是分开的,每个存储单元都可以被独立编程,但只能进行一次全片擦除,费用相对较高。

    uint32_t nor_flash_address = 0x08000000;
    uint32_t nor_flash_data = 0xAA;
    HAL_StatusTypeDef status;
    status = HAL_NOR_Program(&hnor, &nor_flash_address, &nor_flash_data);
    // NOR FLASH编程

2. NAND Flash

NAND Flash 存储器改进了 NOR 存储器的缺陷,采用串行方式读写数据,可以进行片内全擦除。在 NAND Flash 存储器中,检索引擎集成进了存储单元中,每次擦除是按块擦除。

    uint32_t nand_flash_page_address = 0x00;
    uint32_t nand_flash_data_input = 0xAA;
    NAND_Write_Page(&hnand1, &nand_write_handle, &nand_flash_page_address, data, PAGE_SIZE>>2u);
    // NAND FLASH写入

三、使用注意事项

在使用 Flash 存储器时,需要注意以下几点:

1. 重复写入次数限制

Flash 存储器拥有有限的重复写入次数,常规 NAND FLASH 存储器大约为 10 万次,而 NOR FLASH 存储器的重复写入次数相对更高一些,大约达到了 100 万次。因此,在使用时需要限制重复写入次数。

2. 擦除次数限制

Flash 存储器的擦除次数也是有限的。根据 NAND FLASH 的规格书要求,擦除次数一般为 10000-100000,但对于低成本 NAND FLASH 存储器,其擦除次数仅有 1000-10000 次,因此需要在使用过程中做好记录和控制。

3. 常规擦除不完整

由于 Flash 存储器的固有物理结构,擦除时会出现不完整现象,被误写或未写的部分可能导致错误。事实上,由于被误写和未写的部分, Flash 存储器的错误率会有大幅上升,通常在1%以上。

四、结论

总之,Flash 存储器已经成为数字化生活中不可缺少的重要部分,它以其高速读写、可靠性以及低功耗等优点,被广泛地应用于移动媒体、存储卡、数码相机等众多应用领域。

原创文章,作者:HUJAZ,如若转载,请注明出处:https://www.506064.com/n/371068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
HUJAZHUJAZ
上一篇 2025-04-23 00:48
下一篇 2025-04-23 00:48

相关推荐

  • 计算机存储器详解

    计算机存储器是计算机系统中最为核心的部分之一,它是计算机系统中的数据存储、读写操作的场所,使用了如 DRAM、SRAM 等芯片作为存储媒介,是计算机系统中最快速的部分之一。以下从不…

    编程 2025-04-23
  • 谷歌浏览器如何安装Flash插件

    一、什么是Flash插件 Flash插件(Adobe Flash Player)是一种跨平台浏览器插件,用于在谷歌浏览器中播放多媒体内容,如动画、音频和视频。该插件由Adobe公司…

    编程 2025-04-20
  • 磁芯存储器——详细解析

    一、起源和发展 磁芯存储器是计算机中最早的存储器之一,其原理可以追溯到二战末期的美国。在当时,计算机需要一种稳定性能强的存储器,而磁芯存储器应运而生。随着计算机技术的不断发展和更新…

    编程 2025-04-13
  • 深入了解fastboot flash boot

    fastboot flash boot是一种Android开发板级操作系统中经常使用的指令。它可以将新的程序代码(通常是内核文件)刷入系统引导分区,从而更新系统引导并导入新的内核程…

    编程 2025-04-13
  • 谷歌flash player不再支持怎么办

    Adobe于2020年底停止支持Flash Player,意味着所有浏览器都将无法使用Flash Player插件。虽然常见网站已经不再使用Flash,但仍有些老旧的网站和应用程序…

    编程 2025-04-02
  • 存储器分类

    一、根据存储介质分 存储器按照不同的存储介质可以分为:内存和外存。 内存:存储在CPU外部但与CPU有高速率的数据传输通道连接的存储器。 外存:存储在CPU外部,与CPU的数据传输…

    编程 2025-02-24
  • Google不支持Flash怎么办

    一、什么是Flash? Flash是Adobe公司开发的一种跨平台的应用程序和富媒体内容创作工具,主要用于制作网站动画、广告、游戏等。但随着HTML5的普及,Flash已经逐渐被淘…

    编程 2025-01-20
  • 停止支持python,停止支持flash

    本文目录一览: 1、Python 2.x有没有新属性发布? 2、python自学用什么版本 3、现在已经停止对python 2.7的维护支持吗 Python 2.x有没有新属性发布…

    编程 2025-01-16
  • flash里调用js代码时,flash交互代码

    本文目录一览: 1、flash怎么在播放第一帖的时候自动调用js方法? 2、在FLASH里实现让鼠标停留3秒后再执行当前网页中的JS函数应该怎么操作? 3、怎么在flash播放完后…

    编程 2025-01-04
  • 用python编写flash(用Python编写函数)

    本文目录一览: 1、如何使用Python调用AutoIt来实现Flash控件的上传功能 2、python怎么做flash播放器? 3、flash转换成python 4、python…

    编程 2024-12-26

发表回复

登录后才能评论