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

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

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

芯片內(nèi)部存儲(chǔ)布局及存儲(chǔ)操作特點(diǎn)

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-04-25 14:18 ? 次閱讀

由于在裸板或者在uboot存在的情況燒寫kernel以及yaffs2 fs的時(shí)候 Nand 中oob、bbt、ecc很大程度上影響了燒寫的成功率,所以我們下面進(jìn)行沒含義進(jìn)行了解:

芯片內(nèi)部存儲(chǔ)布局及存儲(chǔ)操作特點(diǎn):

一片Nandflash為一個(gè)設(shè)備(device), 其數(shù)據(jù)存儲(chǔ)分層為:

1 (Device) =4096 (Blocks)

1 (Block) -= 32 (Pages/Rows)頁(yè)與行是相同的意思,叫法不一樣

1(Page) = 528 (Bytes) =數(shù)據(jù)塊大小(512Bytes) + OOB 塊大小(16Bytes)

在每一頁(yè)中,最后16個(gè)字節(jié)(又稱OOB)用于NandFlash命令執(zhí)行完后設(shè)置狀態(tài)用,剩余512個(gè)字節(jié)又分為前半部分和后半部分。可以通過NandFlash命令00h/01h/50h分別對(duì)前半部、后半部、OOB進(jìn)行定位通過

Nand Flash內(nèi)置的指針指向各自的首地址。

存儲(chǔ)操作特點(diǎn):

1.擦除操作的最小單位是塊。

2. NandFlash芯片每一位(bit)只能從1變?yōu)?,而不能從0變?yōu)?,所以在對(duì)其進(jìn)行寫入操作之前要一定將相應(yīng)塊擦除(擦除即是將相應(yīng)塊得位全部變?yōu)?).

3.OOB部分的第六字節(jié)(即517字節(jié))標(biāo)志是否是壞塊,如果不是壞塊該值為FF,否則為壞塊。

4.除OOB第六字節(jié)外,通常至少把OOB的前3個(gè)字節(jié)存放Nand Flash硬件ECC碼。

BBT:bad blocktable,即壞塊表。各家對(duì)nand的壞塊管理方法都有差異。比如專門用nand做存儲(chǔ)的,會(huì)把bbt放到block0,因?yàn)榈?塊一定是好的塊。但是如果nand本身被用來boot,那么第0塊就要存放程序,不能放bbt了。

有的把bbt放到最后一塊,當(dāng)然,這一塊不能為壞塊。

有的bbt中用2個(gè)bits表示1個(gè)block的狀態(tài),所以1個(gè)字節(jié)可以表示4個(gè)blocks。

bbt的大小跟nand大小有關(guān),nand越大,需要的bbt也就越大。

所以具體代碼具體分析。

ECC:

NANDFlash出錯(cuò)的時(shí)候一般不會(huì)造成整個(gè)Block或是Page不能讀取或是全部出錯(cuò),而是整個(gè)Page(例如512Bytes)中只有一個(gè)或幾個(gè)bit出錯(cuò)。一般使用一種比較專用的校驗(yàn)——ECC。ECC能糾正單比特錯(cuò)誤和檢測(cè)雙比特錯(cuò)誤,而且計(jì)算速度很快,但對(duì)1比特以上的錯(cuò)誤無法糾正,對(duì)2比特以上的錯(cuò)誤不保證能檢測(cè)。

ECC一般每256字節(jié)原始數(shù)據(jù)生成3字節(jié)ECC校驗(yàn)數(shù)據(jù),這三字節(jié)共24比特分成兩部分:6比特的列校驗(yàn)和16比特的行校驗(yàn),多余的兩個(gè)比特置1.

當(dāng)往NANDFlash的page中寫入數(shù)據(jù)的時(shí)候,每256字節(jié)我們生成一個(gè)ECC校驗(yàn)和,稱之為原ECC校驗(yàn)和,保存到PAGE的OOB(out-of-band)數(shù)據(jù)區(qū)中。其位置就是eccpos[]。

校驗(yàn)的時(shí)候,根據(jù)上述ECC生成原理不難推斷:將從OOB區(qū)中讀出的原ECC校驗(yàn)和新ECC校驗(yàn)和按位異或,若結(jié)果為0,則表示不存在錯(cuò)(或是出現(xiàn)了ECC無法檢測(cè)的錯(cuò)誤);若3個(gè)字節(jié)異或結(jié)果中存在11個(gè)比特位為1,表示存在一個(gè)比特錯(cuò)誤,且可糾正;若3個(gè)字節(jié)異或結(jié)果中只存在1個(gè)比特位為1,表示OOB區(qū)出錯(cuò);其他情況均表示出現(xiàn)了無法糾正的錯(cuò)誤。

聲明:本文內(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)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51062

    瀏覽量

    425806
  • 嵌入式
    +關(guān)注

    關(guān)注

    5089

    文章

    19161

    瀏覽量

    306666
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4341

    瀏覽量

    86030

原文標(biāo)題:嵌入式 Nand 中oob、bbt、ecc含義小結(jié)

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NAND 閃速存儲(chǔ)器的內(nèi)部結(jié)構(gòu)

    TC58V64的內(nèi)部結(jié)構(gòu)如圖所示。閃速存儲(chǔ)器的容量增大,則塊數(shù)也將增加,但內(nèi)部的基本結(jié)構(gòu)沒有改變。NAND 閃速存儲(chǔ)器的特點(diǎn)①按順序存取數(shù)據(jù)
    發(fā)表于 04-11 10:11

    EEPROM的存儲(chǔ)原理/選型/特點(diǎn)/應(yīng)用

    寫入。但由于EEPROM的存儲(chǔ)容量一般不大,因此主要應(yīng)用在小存儲(chǔ)數(shù)據(jù)的場(chǎng)合,比如電腦的BIOS ROM芯片和配置信息存儲(chǔ)等。 EEPROM選型 EEPROM
    發(fā)表于 12-16 16:27

    STM32控制器芯片內(nèi)部的程序存儲(chǔ)空間

    以下內(nèi)容整理自《STM32中文參考手冊(cè)》、正點(diǎn)原子《STM32F1開發(fā)指南--庫(kù)函數(shù)版》、野火《零死角玩轉(zhuǎn)STM32F103霸道V2》,僅為個(gè)人學(xué)習(xí)方便所整理1.STM32控制器芯片內(nèi)部有一定大小
    發(fā)表于 08-05 06:55

    詳細(xì)介紹關(guān)于SRAM隨機(jī)存儲(chǔ)器的特點(diǎn)及結(jié)構(gòu)

    隨機(jī)存儲(chǔ)器的特點(diǎn)及結(jié)構(gòu)。SRAM隨機(jī)存儲(chǔ)器的特點(diǎn)隨機(jī)存儲(chǔ)器最大的特點(diǎn)就是可以隨時(shí)對(duì)它進(jìn)行讀寫
    發(fā)表于 11-17 16:58

    智能卡操作系統(tǒng)中存儲(chǔ)管理設(shè)計(jì)

    介紹了智能卡操作系統(tǒng)中存儲(chǔ)管理的設(shè)計(jì)方法,給出了存儲(chǔ)管理所涉及的數(shù)據(jù)結(jié)構(gòu),分析了各種存儲(chǔ)管理的特點(diǎn)及應(yīng)用。
    發(fā)表于 09-14 15:05 ?18次下載

    智能卡操作系統(tǒng)中存儲(chǔ)管理設(shè)計(jì)

    介紹了智能卡操作系統(tǒng)中存儲(chǔ)管理的設(shè)計(jì)方法,給出了存儲(chǔ)管理所涉及的數(shù)據(jù)結(jié)構(gòu),分析了各種存儲(chǔ)管理的特點(diǎn)及應(yīng)用。
    發(fā)表于 09-22 11:42 ?6次下載

    ISD4004語(yǔ)音芯片內(nèi)部存儲(chǔ)信息管理

    文章分析了ISD4004語(yǔ)音芯片內(nèi)部存儲(chǔ)信息管理機(jī)制, 以具體實(shí)例介紹了錄音控制過程, 實(shí)現(xiàn)了對(duì)語(yǔ)音地址的準(zhǔn)確控制。
    發(fā)表于 09-29 16:31 ?105次下載

    隨機(jī)存取存儲(chǔ)器的最大特點(diǎn)

    隨機(jī)存取存儲(chǔ)器(randomaccessmemory,RAM)又稱作“隨機(jī)存儲(chǔ)器”,是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器,也叫主存(內(nèi)存)。它可以隨時(shí)讀寫,而且速度很快,通常作為
    的頭像 發(fā)表于 11-24 10:59 ?4.5w次閱讀

    內(nèi)部部署存儲(chǔ)和云存儲(chǔ)有什么差異

    內(nèi)部部署存儲(chǔ)和云存儲(chǔ)位于兩個(gè)不同的位置。內(nèi)部存儲(chǔ)利用內(nèi)部部署的硬件和軟件。也就是說,硬件由企業(yè)和
    發(fā)表于 12-05 09:45 ?1213次閱讀

    浪潮存儲(chǔ)在全閃存儲(chǔ)領(lǐng)域的產(chǎn)品及技術(shù)布局

    存儲(chǔ)作為新存儲(chǔ)引領(lǐng)者,以“云存智用 運(yùn)籌新數(shù)據(jù)”理念,加快布局閃存存儲(chǔ)步伐,針對(duì)用戶不同的應(yīng)用場(chǎng)景和需求,創(chuàng)新研發(fā)了浪潮新一代全閃存儲(chǔ)平臺(tái)
    的頭像 發(fā)表于 08-10 14:32 ?2474次閱讀

    外部存儲(chǔ)內(nèi)部存儲(chǔ)的區(qū)別

    Android中根據(jù)數(shù)據(jù)是否為應(yīng)用私有、是否需要給外部應(yīng)用暴露以及數(shù)據(jù)的大小可以有以下幾種選擇: * Shared Preferences * 內(nèi)部存儲(chǔ) * 外部存儲(chǔ) * 本地?cái)?shù)據(jù)庫(kù)
    的頭像 發(fā)表于 05-26 11:30 ?1772次閱讀
    外部<b class='flag-5'>存儲(chǔ)</b>和<b class='flag-5'>內(nèi)部</b><b class='flag-5'>存儲(chǔ)</b>的區(qū)別

    存儲(chǔ)主控芯片是什么 主控芯片存儲(chǔ)芯片怎么選

    存儲(chǔ)主控芯片是一種集成電路芯片,用于控制和管理存儲(chǔ)設(shè)備。它負(fù)責(zé)管理多個(gè)存儲(chǔ)單元(如內(nèi)存、固態(tài)硬盤、閃存卡等)之間的數(shù)據(jù)傳輸和存取
    發(fā)表于 07-10 15:50 ?5178次閱讀

    微控制器內(nèi)部存儲(chǔ)器有哪些

    微控制器(MCU)內(nèi)部存儲(chǔ)器是微控制器系統(tǒng)的重要組成部分,它負(fù)責(zé)存儲(chǔ)程序代碼、數(shù)據(jù)以及控制邏輯等信息。這些存儲(chǔ)器類型多樣,各具特點(diǎn),共同支
    的頭像 發(fā)表于 08-22 10:41 ?843次閱讀

    內(nèi)部存儲(chǔ)器有哪些

    內(nèi)部存儲(chǔ)器,也稱為內(nèi)存(Memory),是計(jì)算機(jī)系統(tǒng)中用于暫時(shí)存儲(chǔ)程序和數(shù)據(jù)的重要組件。它直接與CPU相連,是CPU處理數(shù)據(jù)的主要來源。內(nèi)部存儲(chǔ)
    的頭像 發(fā)表于 09-05 10:42 ?1885次閱讀

    存儲(chǔ)芯片內(nèi)部結(jié)構(gòu)及其引腳類型

    內(nèi)部結(jié)構(gòu)和引腳類型對(duì)于它們的功能和與外部設(shè)備的兼容性至關(guān)重要。 存儲(chǔ)芯片內(nèi)部結(jié)構(gòu) 存儲(chǔ)單元 :存儲(chǔ)
    的頭像 發(fā)表于 09-18 11:04 ?1203次閱讀