0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32 FATFS+FTL Nand解決方案

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-09-08 13:55 ? 次閱讀

1. 方案簡介

Nand flash有非易失、存儲(chǔ)容量大、壽命長等優(yōu)點(diǎn);同時(shí)具有存在壞塊、擦除次數(shù)有限、易出現(xiàn)error bit的缺點(diǎn);并且具有擦除以block(塊)為單位,寫入以page(頁)為單位,讀取以sector(512 byte)為單位的特點(diǎn)。

基于上述原因,對(duì)Nand flash的應(yīng)用不僅要避免壞塊、均衡塊擦除次數(shù)、糾正error bit,而且需要按照其讀寫擦的特點(diǎn)進(jìn)行應(yīng)用。若沒有一套管理軟件針對(duì)nand的特性,則對(duì)其應(yīng)用將非常困難。

FTL(Flash Transform Layer)是基于nand flash的管理算法軟件,可解決上述提出的所有問題,將Nand flash模擬成如。

wKgZomT6tyuALfWtAABfyq_CB1s924.jpg

▲ FTL軟件架構(gòu)圖

2. 功能描述

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

? 地址映射:上層應(yīng)用使用邏輯地址來訪問,F(xiàn)TL把邏輯地址映射到不同物理地址上,管理著每個(gè)邏輯地址最新的數(shù)據(jù)存放的物理位置。

? 垃圾回收:隨著數(shù)據(jù)的寫入,閃存設(shè)備上有些塊的部分?jǐn)?shù)據(jù)已經(jīng)無效了,需要把有效的數(shù)據(jù)從塊上搬走,然后擦除用來接收新的數(shù)據(jù)。

? 磨損均衡:因?yàn)槊總€(gè)塊的P/E次數(shù)是有限的,某些塊可能被重復(fù)使用而損壞了,而有些塊數(shù)據(jù)很少被訪問,所以一直沒有進(jìn)行操作過。為了避免這種情況,F(xiàn)TL加入磨損均衡的功能,大致是通過控制垃圾回收和空塊池的管理,從而平衡每個(gè)塊的使用次數(shù)。

? 壞塊管理:由于Flash本身就存在部分壞塊,在使用的過程中部分塊會(huì)變壞,所以FTL在管理的時(shí)候需要避開這些無用塊,把使用后變得不穩(wěn)定塊上的數(shù)據(jù)及時(shí)拷貝到穩(wěn)定位置。

BCH軟件實(shí)現(xiàn)error bit錯(cuò)誤檢查和糾正功能,對(duì)于Nand flash本身不帶ECC “Error Correcting Code”功能的方案中是不可或缺的。BCH軟件對(duì)用戶寫入flash的數(shù)據(jù)進(jìn)行編碼,當(dāng)用戶讀取寫入flash的數(shù)據(jù)時(shí),按照編碼規(guī)則對(duì)數(shù)據(jù)進(jìn)行解碼,當(dāng)發(fā)現(xiàn)error bit時(shí),對(duì)error bit進(jìn)行糾正,保證數(shù)據(jù)可靠性。

3. 主要特性

相對(duì)于目前存在的Nand flash管理軟件方案,F(xiàn)TL具有讀寫速度快、內(nèi)存消耗小、擦除塊磨損均衡好的特點(diǎn)。

A) FTL方案在相同平臺(tái)下(GD32F450+SPI2G顆粒)與YAFFS嵌入式文件系統(tǒng)分別做性能測(cè)試,測(cè)試結(jié)果如下:

wKgZomT6tyyAI7WHAACQe5W9Zuo218.jpg

B) FTL方案在相同平臺(tái)下(GD32F450+SPI2G顆粒)與YAFFS嵌入式文件系統(tǒng)分別做內(nèi)存消耗統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果如下:

wKgaomT6ty6AfBD-AACDOsW9t_0437.jpg

C) FTL方案在相同平臺(tái)下(GD32F450+SPI2G顆粒)與YAFFS嵌入式文件系統(tǒng)分別做磨損均衡測(cè)試,統(tǒng)計(jì)結(jié)果如下:(注:block 1023為壞塊)

wKgZomT6ty-AabZvAABrE3tQcO4904.jpg

4. 開發(fā)資料

推薦用于功能評(píng)估的開發(fā)板型號(hào)為GD32450i-EVAL和GD32303E-EVAL,支持SPI/EXMC兩種接口nand flash。

我們可提供評(píng)估套件、用戶指南、硬件原理圖、軟件代碼等整套的開發(fā)資料,請(qǐng)聯(lián)系您當(dāng)?shù)氐腉igaDevice銷售辦事處或GD32授權(quán)代理商獲取。

5. 典型應(yīng)用

對(duì)于一些要求存儲(chǔ)容量較高的使用場(chǎng)景,F(xiàn)TL使用尤為突出。如圖片、音頻視頻的保存、重要信息的保存等。

工業(yè)領(lǐng)域,如電表、水表信息的存儲(chǔ);汽車電子領(lǐng)域,如設(shè)備運(yùn)行狀態(tài)信息存儲(chǔ);消費(fèi)電子領(lǐng)域,如攝像監(jiān)控視頻、圖片存儲(chǔ)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NAND
    +關(guān)注

    關(guān)注

    16

    文章

    1672

    瀏覽量

    135946
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1614

    瀏覽量

    147667
  • 兆易創(chuàng)新
    +關(guān)注

    關(guān)注

    23

    文章

    602

    瀏覽量

    80473
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    403

    瀏覽量

    24119
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于GD32 MCU的電機(jī)驅(qū)動(dòng)方案詳解

    兆易創(chuàng)新 GD32 MCU 在電機(jī)驅(qū)動(dòng)應(yīng)用上,經(jīng)過多年技術(shù)沉淀,在無刷電機(jī)和步進(jìn)電機(jī)的應(yīng)用中,形成自身完整可靠的解決方案,愿能為用戶提供更多的服務(wù)。
    發(fā)表于 07-03 16:43 ?7442次閱讀

    GD32 MCU移植

    gd32是一款國產(chǎn)單片機(jī)。該芯片在很多方面和STM32有異曲同工之處。資料不是很多! GD32在外設(shè)方面、和STM32沒有多大區(qū)別。 只是需要注意資源的引腳分配。雖然和STM32使用方式一樣、但是也存在GD自帶的一些設(shè)計(jì)理念。
    發(fā)表于 03-23 13:40

    GD32和STM32有哪些不同的地方

    一、前言GD32是國內(nèi)開發(fā)的一款單片機(jī),據(jù)說開發(fā)的人員是來自ST公司的,GD32也是以STM32作為模板做出來的。所以GD32和STM32有很多地方都是一樣的,不過GD32畢竟是不同的
    發(fā)表于 08-09 07:03

    什么是GD32

    一、前言什么GD32?GD32是國內(nèi)開發(fā)的一款單片機(jī),據(jù)說開發(fā)的人員是來自ST公司的,GD32也是以STM32作為模板做出來的。所以GD32和STM32有很多地方都是一樣的,不過
    發(fā)表于 08-12 07:46

    GD32可以替換STM32嗎

    什么是GD32?GD32與STM32的區(qū)別在哪?GD32可以替換STM32嗎?
    發(fā)表于 10-20 07:03

    GD32系列總結(jié)

    GD32系列總結(jié) - 時(shí)鐘樹總結(jié)及CubeMX生成代碼寫在前面時(shí)鐘樹HSE振蕩器時(shí)鐘(高速外部時(shí)鐘信號(hào))HSE用戶外部時(shí)鐘(旁路模式)HSE外部晶體/陶瓷諧振器HSI振蕩器時(shí)鐘PLL時(shí)鐘LSE時(shí)鐘
    發(fā)表于 02-11 07:11

    GD32和STM32的區(qū)別

    一、前言GD32是國內(nèi)開發(fā)的一款單片機(jī),據(jù)說開發(fā)的人員是來自ST公司的,GD32也是以STM32作為模板做出來的。所以GD32和STM32有很多地方都是一樣的,不過GD32畢竟是不同的
    發(fā)表于 11-18 20:51 ?47次下載
    <b class='flag-5'>GD32</b>和STM32的區(qū)別

    GD32選型手冊(cè)

    GD32選型手冊(cè)
    發(fā)表于 06-17 14:49 ?67次下載

    STM32、GD32、ESP32的區(qū)別

    GD32 是國產(chǎn)單片機(jī),據(jù)說開發(fā)人員來自ST公司,GD32 也是以 STM32 作為模板做出來的。所以 GD32 和 STM32 有很多地方都是一樣的,不過 GD32 畢竟是不同的產(chǎn)品
    的頭像 發(fā)表于 04-12 09:51 ?2998次閱讀

    GD32和AT32哪個(gè)好?

    GD32和AT32哪個(gè)好? GD32和AT32是兩種不同的微控制器型號(hào),它們都是國內(nèi)開發(fā)的芯片。GD32系列由國內(nèi)芯片制造商GigaDevice Semiconductor開發(fā),而AT32系列則由友
    的頭像 發(fā)表于 08-16 11:32 ?2277次閱讀

    GD32與STM32兼容嗎?

    GD32與STM32兼容嗎? GD32與STM32是兩個(gè)不同的微控制器系列,是由兩個(gè)不同的公司設(shè)計(jì)和生產(chǎn)的。GD32系列是由國內(nèi)的長沙國芯微電子設(shè)計(jì)和生產(chǎn)的,而STM32系列則是由歐洲
    的頭像 發(fā)表于 08-16 11:32 ?2814次閱讀

    STM32與GD32橫向?qū)Ρ葏^(qū)別

    GD32 是國產(chǎn)單片機(jī),據(jù)說開發(fā)人員來自ST公司,GD32 也是以 STM32 作為模板做出來的。所以 GD32 和 STM32 有很多地方都是一樣的
    的頭像 發(fā)表于 09-13 11:47 ?3546次閱讀
    STM32與<b class='flag-5'>GD32</b>橫向?qū)Ρ葏^(qū)別

    GD32如何替換STM32?

    GD32如何替換STM32?
    的頭像 發(fā)表于 09-18 10:58 ?2083次閱讀
    <b class='flag-5'>GD32</b>如何替換STM32?

    兆易創(chuàng)新GD32 MCU選型手冊(cè),適用于GD32全系列MCU

    兆易創(chuàng)新GD32MCU選型手冊(cè),適用于GD32全系列MCUGD32MCU選型手冊(cè),適用于GD32全系列MCU
    發(fā)表于 10-19 17:26 ?49次下載

    GD32如何替換STM32

    GD32替換Stm32注意事項(xiàng)
    發(fā)表于 08-23 11:31 ?3次下載