91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是Flash閃存以及STM32使用NAND Flash

jim ? 來源:雷龍發展 ? 作者:雷龍發展 ? 2025-07-03 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NAND

文章目錄

NAND

一、FLASH閃存是什么?

二、SD NAND Flash

三、STM32例程

一、FLASH閃存是什么?

簡介

FLASH閃存是屬于內存器件的一種,“Flash”。閃存則是一種非易失性( Non-Volatile )內存,在沒有電流供應的條件下也能夠長久地保持數據,其存儲特性相當于硬盤,這項特性正是閃存得以成為各類便攜型數字設備的存儲介質的基礎。


各類 DDR 、 SDRAM 或者 RDRAM 都屬于揮發性內存,只要停止電流供應內存中的數據便無法保持,因此每次電腦開機都需要把數據重新載入內存。


閃存則是一種非易失性( Non-Volatile )內存,在沒有電流供應的條件下也能夠長久地保持數據,其存儲特性相當于硬盤,這項特性正是閃存得以成為各類便攜型數字設備的存儲介質的基礎。


分類

NOR和NAND是市場上兩種主要的非易失閃存技術。


在1984年,東芝公司的發明人舛岡富士雄首先提出了快速閃存存儲器(此處簡稱閃存)的概念。與傳統電腦內存不同,閃存的特點是NVM,其記錄速度也非常快。


Intel是世界上第一個生產閃存并將其投放市場的公司。1988年,公司推出了一款256K bit閃存芯片。它如同鞋盒一樣大小,并被內嵌于一個錄音機里。後來,Intel發明的這類閃存被統稱為NOR閃存。它結合EPROM和EEPROM兩項技術,并擁有一個SRAM接口


第二種閃存稱為NAND閃存。它由日立公司于1989年研制,并被認為是NOR閃存的理想替代者。NAND閃存的寫周期比NOR閃存短90%,它的保存與刪除處理的速度也相對較快。NAND的存儲單元只有NOR的一半,在更小的存儲空間中NAND獲得了更好的性能。鑒于NAND出色的表現,它常常被應用于諸如CompactFlash、SmartMedia、 SD、 MMC、 xD、 and PC cards、USB sticks等存儲卡上。


NAND 閃存的存儲單元采用串行結構,存儲單元的讀寫是以頁和塊為單位來進行(一頁包含若干字節,若干頁則組成儲存塊, NAND 的存儲塊大小為 8 到 32KB ),這種結構最大的優點在于容量可以做得很大,超過 512MB 容量的 NAND 產品相當普遍, NAND 閃存的成本較低,有利于大規模普及。


特點

性能


flash閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位都寫為1。


由于擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執行相同的操作最多只需要4ms。


執行擦除時塊尺寸的不同進一步拉大了NOR和NADN之間的性能差距,統計表明,對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于NOR的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素。


● NOR的讀速度比NAND稍快一些。


● NAND的寫入速度比NOR快很多。


● NAND的4ms擦除速度遠比NOR的5s快。


● 大多數寫入操作需要先進行擦除操作。


● NAND的擦除單元更小,相應的擦除電路更少。


可靠性


采用flash介質時一個需要重點考慮的問題是可靠性。對于需要擴展MTBF的系統來說,Flash是非常合適的存儲方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。


耐用性


在NAND閃存中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具有10比1的塊擦除周期優勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內的刪除次數要少一些。


易于使用


可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直接運行代碼。


由于需要I/O接口,NAND要復雜得多。各種NAND器件的存取方法因廠家而異。


在使用NAND器件時,必須先寫入驅動程序,才能繼續執行其他操作。向NAND器件寫入信息需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進行虛擬映射。


其他作用


驅動還用于對DiskOnChip產品進行仿真和NAND閃存的管理,包括糾錯、壞塊處理和損耗平衡。


虛擬化

FLASH閃存是一種內存技術,與RAM不同,在斷電時它仍舊可以保留所存儲的信息。盡管FLASH閃存在執行讀寫操作時并不像RAM那樣快,但性能遠遠高于典型的硬盤。更為重要的是,FLASH閃存訪問數據時幾乎不存在任何時間延遲。FLASH閃存技術非常適合隨機I/O,而虛擬服務器環境中恰恰存在大量的隨機I/O。


對FLASH閃存主要的關注點之一是其執行寫操作的方式。FLASH閃存可以執行的寫操作次數有限,這意味著FLASH閃存廠商需要開發復雜的控制器技術,對寫入FLASH閃存模塊的方式進行管理,確保每個FLASH閃存單元接收相同的寫請求。


目前有三種類型的FLASH閃存,耐久性各不相同。單階存儲單元(SLC)FLASH閃存在每個單元寫一位數據,耐久性最好。多階存儲單元(MLC)FLASH閃存在每個單元寫多位數據,耐久性排名第二。三階存儲單元(TLC)在每個單元寫三位數據,耐久性最差。每個單元寫入的數據位越多意味著每個單元的容量越高,每GB的成本越低,同樣意味著平均壽命更短。


SLC是數據中心標準,但控制器技術的不斷優化使得MLC被大多數用例所接受。尤其是在采用了某種方式的數據保護,比如鏡像或者RAID或者使用了FLASH閃存層時。


二、SD NAND Flash

我以貼片式TF卡“CSNP32GCR01-AOW”型號為例介紹

wKgZPGhmI6KAVoUPAACsZyGq-_Q785.png


芯片樣子都一樣,這里隨便放一張


概述

CSNP32GCR01-AOW是基于NAND閃存和SD控制器的32Gb密度嵌入式存儲。該產品與原始NAND相比,它有許多優點,包括嵌入式壞塊管理和更強的嵌入式ECC。即使在異常斷電的情況下,它仍然可以安全地保存數據。


特點

接口:標準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標準的最高安全性。


SD NAND的密碼保護(CMD42-鎖定和解鎖)


使用機械開關的寫保護功能


內置寫保護功能(永久和臨時)


特定于應用程序的命令

3. 引腳分配

wKgZO2hmI6KAGyTJAABukkuYxJE179.pngwKgZPGhmI6OASJUeAAJiFzLu7I8327.png


4.數據傳輸模式

wKgZO2hmI6SAY_t_AAL1iypAqEc543.png

5. SD NAND寄存器


SDNAND接口中定義了六個寄存器:OCR、CID、CSD、RCA、DSR和SCR。這些信息只能通過


相應的命令。OCR、CID、CSD和SCR寄存器攜帶SDNAND/內容特定信息,而RCA、DSR寄存器是存儲實際配置參數的配置寄存器(這里選取倆個寄存器進行展示)。


CID register

wKgZPGhmI6SARM43AAHFad0sbMI351.png

SCR register

wKgZO2hmI6WAfzxpAAJP-9vA2FY445.png


通電圖

wKgZO2hmI6aAELOVAAD5Io3_kmI870.png

通電時間

wKgZPGhmI6eACfTOAAD-JOzJKXY034.pngwKgZO2hmI6eAf9pBAAErqiJ_x1M144.png


Tips: RDAT和RCMD(10K~100 kΩ)是上拉電阻器,當SDNAND處于a狀態時,保護CMD和DAT線路不受總線浮動的影響;在高阻抗模式,即使主機僅在SD模式下使用SDNAND作為1位模式,主機也應通過RDAT上拉所有DAT0-3線。它是建議VCC上有2.2uF電容。RCLK參考0~120Ω。


wKgZPGhmI6iAa6vTAAGl2rsLFdc671.png

?

三、STM32例程

1. 初始化




SD_Error SD_Init(void)


{


uint32_t i = 0;




/*!< Initialize SD_SPI */


GPIO_Configuration();




/*!< SD chip select high */


SD_CS_HIGH();




/*!< Send dummy byte 0xFF, 10 times with CS high */


/*!< Rise CS and MOSI for 80 clocks cycles */


for (i = 0; i <= 9; i++)


{


/*!< Send dummy byte 0xFF */


SD_WriteByte(SD_DUMMY_BYTE);


}



//獲取卡的類型,最多嘗試10次


i=0;


do


{


/*------------Put SD in SPI mode--------------*/


/*!< SD initialized and set to SPI mode properly */


SD_GoIdleState();




/*Get card type*/


SD_GetCardType();



}while(SD_Type == SD_TYPE_NOT_SD && i++ >10);



//不支持的卡


if(SD_Type == SD_TYPE_NOT_SD)


return SD_RESPONSE_FAILURE;



return SD_GetCardInfo(&SDCardInfo);



}


2. 單數據塊測試




void SD_SingleBlockTest(void)


{


/*------------------- Block Read/Write --------------------------*/


/* Fill the buffer to send */


Fill_Buffer(Buffer_Block_Tx, BLOCK_SIZE, 0x320F);




if (Status == SD_RESPONSE_NO_ERROR)


{


/* Write block of 512 bytes on address 0 */


Status = SD_WriteBlock(Buffer_Block_Tx, 0x00, BLOCK_SIZE);


/* Check if the Transfer is finished */


}




if (Status == SD_RESPONSE_NO_ERROR)


{


/* Read block of 512 bytes from address 0 */


Status = SD_ReadBlock(Buffer_Block_Rx, 0x00, BLOCK_SIZE);




}




/* Check the correctness of written data */


if (Status == SD_RESPONSE_NO_ERROR)


{


TransferStatus1 = Buffercmp(Buffer_Block_Tx, Buffer_Block_Rx, BLOCK_SIZE);


}



if(TransferStatus1 == PASSED)


{


LED2_ON;


printf("Single block 測試成功!n");




}


else


{


LED1_ON;


printf("Single block 測試失敗,請確保SD卡正確接入開發板,或換一張SD卡測試!n");



}


}


3. 多數據塊測試



void SD_MultiBlockTest(void)


{


/*--------------- Multiple Block Read/Write ---------------------*/


/* Fill the buffer to send */


Fill_Buffer(Buffer_MultiBlock_Tx, MULTI_BUFFER_SIZE, 0x0);




if (Status == SD_RESPONSE_NO_ERROR)


{


/* Write multiple block of many bytes on address 0 */


Status = SD_WriteMultiBlocks(Buffer_MultiBlock_Tx, 0x00, BLOCK_SIZE, NUMBER_OF_BLOCKS);


/* Check if the Transfer is finished */


}




if (Status == SD_RESPONSE_NO_ERROR)


{


/* Read block of many bytes from address 0 */


Status = SD_ReadMultiBlocks(Buffer_MultiBlock_Rx, 0x00, BLOCK_SIZE, NUMBER_OF_BLOCKS);


/* Check if the Transfer is finished */


}




/* Check the correctness of written data */


if (Status == SD_RESPONSE_NO_ERROR)


{


TransferStatus2 = Buffercmp(Buffer_MultiBlock_Tx, Buffer_MultiBlock_Rx, MULTI_BUFFER_SIZE);


}



if(TransferStatus2 == PASSED)


{


LED2_ON;


printf("Multi block 測試成功!");




}


else


{


LED1_ON;


printf("Multi block 測試失敗,請確保SD卡正確接入開發板,或換一張SD卡測試!");


}


}


4. 狀態緩沖



TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint32_t BufferLength)


{


while (BufferLength--)


{


if (*pBuffer1 != *pBuffer2)


{


return FAILED;


}




pBuffer1++;


pBuffer2++;


}




return PASSED;


}




void Fill_Buffer(uint8_t *pBuffer, uint32_t BufferLength, uint32_t Offset)


{


uint16_t index = 0;




/* Put in global buffer same values */


for (index = 0; index < BufferLength; index++)


{


pBuffer[index] = index + Offset;


}


}

了解產品更多詳情:官網 http://www.longsto.com/

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NAND
    +關注

    關注

    16

    文章

    1722

    瀏覽量

    138110
  • SD
    SD
    +關注

    關注

    1

    文章

    168

    瀏覽量

    34501
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是Flash閃存以及STM32使用NAND Flash

    NAND 文章目錄 NAND 一、FLASH閃存是什么? 二、SD NAND Flash 三、
    發表于 07-03 14:33

    Flash閃存技術是什么?創世SD NAND Flash又有何獨特之處?#嵌入式開發 #存儲芯片 #閃存

    閃存
    深圳市雷龍發展有限公司
    發布于 :2025年06月05日 17:58:25

    兆易創新推出GD5F1GM9系列高速QSPI NAND Flash

    今日,兆易創新宣布推出GD5F1GM9系列高速QSPI NAND Flash,該系列以其突破性的讀取速度和創新的壞塊管理(BBM)功能,可有效解決傳統SPI NAND Flash響應速
    的頭像 發表于 04-16 13:50 ?571次閱讀

    NAND Flash與SD NAND的存儲扇區架構差異

    NAND Flash?和?SD卡(SD NAND)的存儲扇區分配表都是用于管理存儲設備中扇區的分配信息。它們記錄了哪些扇區已被使用、哪些是空閑的,以及文件或數據與扇區的對應關系,以便實
    的頭像 發表于 03-13 15:20 ?1124次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>與SD <b class='flag-5'>NAND</b>的存儲扇區架構差異

    NAND Flash廠商2025年重啟減產策略

    根據知名研調機構集邦(TrendForce)最新發布的研究報告,NAND Flash產業預計在2025年將持續面臨需求疲弱與供給過剩的雙重嚴峻挑戰。這一趨勢迫使NAND Flash的主
    的頭像 發表于 01-24 14:20 ?744次閱讀

    【半導體存儲】關于NAND Flash的一些小知識

    是數據存儲的最小單位,目前閃存已經由數千億個存儲單元組成,通過將電子移入和移出封閉在絕緣體中的電荷存儲膜來存儲數據。 []()   NAND Flash存儲器使用浮柵晶體管,它能在沒有電源的情況下
    發表于 12-17 17:34

    國產安路FPGA SD NAND FLASH 初步描述

    說起SD NAND FLASH常被聯想到SD卡,SD NAND FLASH具備當前SD卡的基本功能,并具有更高的存儲密度,更小的體積,通過芯片形式焊接在電路中穩定可靠,在電路中高度集成
    發表于 10-16 18:12

    NAND FLASH晶圓和主控的SDIO工作接口原理

    今天和大家一起學習NAND Flash與主控HOST之間的SDIO接口工作原理、接口優勢以及主控的作用,這是構建高效、可靠數據存儲系統的核心要素。以下是對這些方面的詳細闡述,旨在以有說服力的方式展現
    的頭像 發表于 10-11 10:25 ?991次閱讀

    DM368 NAND Flash啟動揭秘

    電子發燒友網站提供《DM368 NAND Flash啟動揭秘.pdf》資料免費下載
    發表于 08-27 09:22 ?0次下載
    DM368 <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>啟動揭秘

    打開NAND Flash接口規范

    電子發燒友網站提供《打開NAND Flash接口規范.pdf》資料免費下載
    發表于 08-21 12:21 ?0次下載

    NAND Flash與其他類型存儲器的區別

    NAND Flash作為一種基于NAND技術的非易失性存儲器,具有多個顯著優點,這些優點使其在數據存儲領域得到了廣泛應用。以下是對NAND Flas
    的頭像 發表于 08-20 10:24 ?1314次閱讀

    NAND閃存是什么意思

    NAND閃存,又稱之為“NAND Flash”,是一種基于Flash存儲技術的非易失性閃存芯片。
    的頭像 發表于 08-10 15:57 ?8498次閱讀

    K210使用創世NAND flash完成火災檢測

    K210使用創世NAND flash完成火災檢測
    的頭像 發表于 08-10 11:29 ?1043次閱讀
    K210使用創世<b class='flag-5'>NAND</b> <b class='flag-5'>flash</b>完成火災檢測

    NAND Flash的擦寫次數介紹

    NAND Flash作為非易失性存儲技術的重要一員,其擦寫次數是評估其性能和壽命的關鍵因素之一。以下將詳細介紹NAND Flash的擦寫次數,包括其定義、不同類型
    的頭像 發表于 07-29 17:18 ?5571次閱讀

    NAND Flash和NOR Flash哪個更好

    在討論NAND Flash和NOR Flash哪個更好時,我們需要從多個維度進行深入分析,包括它們的技術特性、應用場景、成本效益以及未來發展趨勢等。
    的頭像 發表于 07-29 16:59 ?2555次閱讀
    主站蜘蛛池模板: 海外毛片 | 美欧毛片| 美女涩涩网站 | 69pao强力打造免费高速 | 91大神成人偷拍在线观看 | 可以看黄色的网站 | 国产午夜三区视频在线 | 女人被免费网站视频在线 | 欧美不在线 | 日本a级三级三级三级久久 日本a级影院 | 四虎影院中文字幕 | 午夜性视频播放免费视频 | 美女喷白浆视频 | 久久综合久久久久 | 一级特黄女人生活片 | 免费人成网站 | 国产女在线 | 手机在线看片国产日韩生活片 | 四虎在线永久视频观看 | 天天添天天干 | 日本黄色大片免费观看 | 奇米色婷婷 | 亚洲欧美国产高清va在线播放 | 在线看免费视频 | 最近2018中文字幕2019视频 | 久久人人精品 | 天天射夜夜骑 | 福利视频第一区 | 国产农村一级特黄α真人毛片 | 亚州人成网在线播放 | 最新激情网站 | 亚洲成在人线久久综合 | 两性色午夜视频自由成熟的性 | 噜噜色网 | 天天操天天干天天射 | 最新黄色地址 | 国产亚洲综合精品一区二区三区 | 国产精品午夜久久久久久99热 | 丁香花的视频免费观看 | 欧美满足你的丝袜高跟ol | 最新版天堂资源8网 |