单片机
返回首页

GD32 FATFS+FTL Nand解决方案

2024-11-06 来源:elecfans

1. 方案简介

Nand flash有非易失、存储容量大、寿命长等优点;同时具有存在坏块、擦除次数有限、易出现error bit的缺点;并且具有擦除以block(块)为单位,写入以page(页)为单位,读取以sector(512 byte)为单位的特点。


基于上述原因,对Nand flash的应用不仅要避免坏块、均衡块擦除次数、纠正error bit,而且需要按照其读写擦的特点进行应用。若没有一套管理软件针对nand的特性,则对其应用将非常困难。

FTL(Flash Transform Layer)是基于nand flash的管理算法软件,可解决上述提出的所有问题,将Nand flash模拟成如。

wKgZomT6tyuALfWtAABfyq_CB1s924.jpg

▲ FTL软件架构图

2. 功能描述

FTL(Flash Transform Layer)是基于nand flash的管理算法软件,具有地址映射管理,垃圾回收,坏块管理和磨损均衡等功能。

• 地址映射:上层应用使用逻辑地址来访问,FTL把逻辑地址映射到不同物理地址上,管理着每个逻辑地址最新的数据存放的物理位置。

• 垃圾回收:随着数据的写入,闪存设备上有些块的部分数据已经无效了,需要把有效的数据从块上搬走,然后擦除用来接收新的数据。

• 磨损均衡:因为每个块的P/E次数是有限的,某些块可能被重复使用而损坏了,而有些块数据很少被访问,所以一直没有进行操作过。为了避免这种情况,FTL加入磨损均衡的功能,大致是通过控制垃圾回收和空块池的管理,从而平衡每个块的使用次数。

• 坏块管理:由于Flash本身就存在部分坏块,在使用的过程中部分块会变坏,所以FTL在管理的时候需要避开这些无用块,把使用后变得不稳定块上的数据及时拷贝到稳定位置。

BCH软件实现error bit错误检查和纠正功能,对于Nand flash本身不带ECC “Error Correcting Code”功能的方案中是不可或缺的。BCH软件对用户写入flash的数据进行编码,当用户读取写入flash的数据时,按照编码规则对数据进行解码,当发现error bit时,对error bit进行纠正,保证数据可靠性。

3. 主要特性

相对于目前存在的Nand flash管理软件方案,FTL具有读写速度快、内存消耗小、擦除块磨损均衡好的特点。

A) FTL方案在相同平台下(GD32F450+SPI2G颗粒)与YAFFS嵌入式文件系统分别做性能测试,测试结果如下:

wKgZomT6tyyAI7WHAACQe5W9Zuo218.jpg

B) FTL方案在相同平台下(GD32F450+SPI2G颗粒)与YAFFS嵌入式文件系统分别做内存消耗统计,统计结果如下:

wKgaomT6ty6AfBD-AACDOsW9t_0437.jpg

C) FTL方案在相同平台下(GD32F450+SPI2G颗粒)与YAFFS嵌入式文件系统分别做磨损均衡测试,统计结果如下:(注:block 1023为坏块)

wKgZomT6ty-AabZvAABrE3tQcO4904.jpg

4. 开发资料

推荐用于功能评估的开发板型号为GD32450i-EVAL和GD32303E-EVAL,支持SPI/EXMC两种接口nand flash。

我们可提供评估套件、用户指南、硬件原理图、软件代码等整套的开发资料,请联系您当地的GigaDevice销售办事处或GD32授权代理商获取。

5. 典型应用

对于一些要求存储容量较高的使用场景,FTL使用尤为突出。如图片、音频、视频的保存、重要信息的保存等。

工业领域,如电表、水表信息的存储;汽车电子领域,如设备运行状态信息存储;消费电子领域,如摄像监控视频、图片存储。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章