“Flash 闪存”基础知识及 “SD NAND Flash”产品测试指南

“Flash 闪存”基础知识及 “SD NAND Flash”产品测试指南FLASH 闪存是属于内存器件的一种 Flash

大家好,欢迎来到IT知识分享网。

“Flash 闪存”基础知识及 “SD NAND Flash”产品测试指南

一、“FLASH闪存”是什么?

1. 简介

FLASH闪存是属于内存器件的一种,“Flash”。闪存则是一种非易失性(Non-Volatile)内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。

各类 DDR、SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存。

2. 分类

NOR和NAND是市场上两种主要的非易失闪存技术。

在1984年,东芝公司的发明人舛冈富士雄首先提出了快速闪存存储器(此处简称闪存)的概念。与传统电脑内存不同,闪存的特点是NVM,其记录速度也非常快。

Intel是世界上第一个生产闪存并将其投放市场的公司。1988年,公司推出了一款256K bit闪存芯片。它如同鞋盒一样大小,并被内嵌于一个录音机里。后来的这种闪存被统称为NOR闪存。它结合EPROM和EEPROM两项技术,并拥有一个SRAM接口。

第二种闪存称为NAND闪存。它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。NAND的存储单元只有NOR的一半,在更小的存储空间中NAND获得了更好的性能。

3. 特点

性能方面,flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,而擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距。统计表明,选择存储解决方案时,设计师必须权衡以下的各项因素:

  • NOR的读速度比NAND稍快一些。
  • NAND的写入速度比NOR快很多。
  • NAND的4ms擦除速度远比NOR的5s快。
  • 大多数写入操作需要先进行擦除操作。
  • NAND的擦除单元更小,相应的擦除电路更少。

可靠性方面,采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。

耐用性方面,NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。

易于使用方面,NOR的闪存可以像其他存储器那样直接连接并运行代码,而NAND需要复杂的I/O接口,使用NAND器件时,必须先写入驱动程序。

4. 虚拟化

FLASH闪存是一种内存技术,与RAM不同,在断电时它仍旧可以保留所存储的信息。虽然FLASH闪存的读写操作速度不如RAM,但性能远高于典型的硬盘。FLASH闪存技术非常适合随机I/O,适用于虚拟服务器环境中存在的大量随机I/O。

目前有三种类型的FLASH闪存,耐久性各不相同:

  • 单阶存储单元(SLC)FLASH闪存在每个单元写一位数据,耐久性最好。
  • 多阶存储单元(MLC)FLASH闪存在每个单元写多位数据,耐久性排名第二。
  • 三阶存储单元(TLC)在每个单元写三位数据,耐久性最差。

二、SD NAND Flash

这里我以贴片式TF卡“CSNP32GCR01-AOW”型号为例介绍。

SD NAND

1. 概述

CSNP32GCR01-AOW是基于NAND闪存和SD控制器的32Gb密度嵌入式存储。该产品与原始NAND相比,有许多优点,包括嵌入式坏块管理和更强的嵌入式ECC。即使在异常断电的情况下,它仍然可以安全地保存数据。

2. 特点

  • 接口:标准SD规范2.0版,带有1-I/O和4-I/O。
  • 电源:Vcc=2.7V-3.6V。
  • 默认模式:可变时钟频率0-25 MHz,最高12.5 MB/秒接口速度(使用4条并行数据线)。
  • 高速模式:可变时钟频率0-50 MHz,最高25 MB/秒接口速度(使用4条并行数据线)。
  • 工作温度:-25°C至+85°C。
  • 储存温度:-40°C至+85°C。
  • 备用电流:<250uA。
  • 开关功能命令:支持高速、电子商务和未来功能。
  • 内容保护机制:符合SDMI标准的最高安全性。
  • 内置写保护功能:永久和临时。

3. 引脚分配

引脚分配

4. 数据传输模式

数据传输模式

5. SD NAND寄存器

SDNAND接口中定义了六个寄存器:OCR、CID、CSD、RCA、DSR和SCR。这些信息只能通过相应的命令访问。

  • CID register
    CID register
  • SCR register
    SCR register

6. 通电图

通电图

7. 参考设计

参考设计1

参考设计2

Tips:RDAT和RCMD(10K~100 kΩ)是上拉电阻器,当SDNAND处于状态时,保护CMD和DAT线路不受总线浮动的影响;在高阻抗模式下,即

使上拉电阻未使用,它们也会影响数据传输。

三、STM32测试例程

下面是STM32读写SD NAND的简单测试代码,包含基本的初始化、读取数据和写入数据。

1. STM32F103读写代码

#include "stm32f10x.h" // SD NAND flash commands #define CMD_READ 0x00 #define CMD_WRITE 0x01 #define CMD_ERASE 0x02 void SD_Init(void) { 
    // Initialization code for SD NAND } void SD_Write(uint32_t address, uint8_t* data, uint32_t length) { 
    // Write data to SD NAND } void SD_Read(uint32_t address, uint8_t* buffer, uint32_t length) { 
    // Read data from SD NAND } int main(void) { 
    uint8_t data[512]; uint8_t readBuffer[512]; SD_Init(); // Write data SD_Write(0x0000, data, sizeof(data)); // Read data SD_Read(0x0000, readBuffer, sizeof(readBuffer)); while (1) { 
    // Main loop } } 

以上示例代码仅供参考,具体实现需要根据具体的SD NAND Flash模块和STM32开发板来调整。希望本篇能够对读者了解和使用SD NAND Flash有所帮助。

============>认准这里哦

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127473.html

(0)
上一篇 2025-09-07 15:15
下一篇 2025-09-07 15:20

相关推荐

发表回复

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

关注微信