Flash存儲器

一、基本概念

Flash存儲器,也稱閃存,是一種非易失性存儲器,用於存儲數據。它採用固態存儲技術,不需要動態維護電容或磁性材料來保存數據,能夠在無電源情況下保留數據。Flash存儲器的存儲單元是FLASH存儲單元,每個存儲單元可以存儲一位二進制數據,通常將多個存儲單元組合起來形成一個位元組、一個字、或者一組數據塊。Flash存儲器和DRAM有些相似,它也使用了存儲單元的陣列。

Flash存儲器相比於硬盤,具有讀寫速度快、體積小、耐用、低功耗、抗震抗壓等優勢。它在數字相機、存儲卡、閃存盤、移動設備等場合得到了廣泛應用。

二、分類

按照存儲方式和結構分類,Flash存儲器分為兩類:

1. NOR Flash

NOR Flash 存儲器由 Intel 公司在 1988 年開發。它採用並行讀寫方式,可進行部分擦除。在 NOR Flash 存儲器中,存儲單元和檢索引擎是分開的,每個存儲單元都可以被獨立編程,但只能進行一次全片擦除,費用相對較高。

    uint32_t nor_flash_address = 0x08000000;
    uint32_t nor_flash_data = 0xAA;
    HAL_StatusTypeDef status;
    status = HAL_NOR_Program(&hnor, &nor_flash_address, &nor_flash_data);
    // NOR FLASH編程

2. NAND Flash

NAND Flash 存儲器改進了 NOR 存儲器的缺陷,採用串行方式讀寫數據,可以進行片內全擦除。在 NAND Flash 存儲器中,檢索引擎集成進了存儲單元中,每次擦除是按塊擦除。

    uint32_t nand_flash_page_address = 0x00;
    uint32_t nand_flash_data_input = 0xAA;
    NAND_Write_Page(&hnand1, &nand_write_handle, &nand_flash_page_address, data, PAGE_SIZE>>2u);
    // NAND FLASH寫入

三、使用注意事項

在使用 Flash 存儲器時,需要注意以下幾點:

1. 重複寫入次數限制

Flash 存儲器擁有有限的重複寫入次數,常規 NAND FLASH 存儲器大約為 10 萬次,而 NOR FLASH 存儲器的重複寫入次數相對更高一些,大約達到了 100 萬次。因此,在使用時需要限制重複寫入次數。

2. 擦除次數限制

Flash 存儲器的擦除次數也是有限的。根據 NAND FLASH 的規格書要求,擦除次數一般為 10000-100000,但對於低成本 NAND FLASH 存儲器,其擦除次數僅有 1000-10000 次,因此需要在使用過程中做好記錄和控制。

3. 常規擦除不完整

由於 Flash 存儲器的固有物理結構,擦除時會出現不完整現象,被誤寫或未寫的部分可能導致錯誤。事實上,由於被誤寫和未寫的部分, Flash 存儲器的錯誤率會有大幅上升,通常在1%以上。

四、結論

總之,Flash 存儲器已經成為數字化生活中不可缺少的重要部分,它以其高速讀寫、可靠性以及低功耗等優點,被廣泛地應用於移動媒體、存儲卡、數碼相機等眾多應用領域。

原創文章,作者:HUJAZ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371068.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HUJAZ的頭像HUJAZ
上一篇 2025-04-23 00:48
下一篇 2025-04-23 00:48

相關推薦

  • 計算機存儲器詳解

    計算機存儲器是計算機系統中最為核心的部分之一,它是計算機系統中的數據存儲、讀寫操作的場所,使用了如 DRAM、SRAM 等芯片作為存儲媒介,是計算機系統中最快速的部分之一。以下從不…

    編程 2025-04-23
  • 谷歌瀏覽器如何安裝Flash插件

    一、什麼是Flash插件 Flash插件(Adobe Flash Player)是一種跨平台瀏覽器插件,用於在谷歌瀏覽器中播放多媒體內容,如動畫、音頻和視頻。該插件由Adobe公司…

    編程 2025-04-20
  • 磁芯存儲器——詳細解析

    一、起源和發展 磁芯存儲器是計算機中最早的存儲器之一,其原理可以追溯到二戰末期的美國。在當時,計算機需要一種穩定性能強的存儲器,而磁芯存儲器應運而生。隨着計算機技術的不斷發展和更新…

    編程 2025-04-13
  • 深入了解fastboot flash boot

    fastboot flash boot是一種Android開發板級操作系統中經常使用的指令。它可以將新的程序代碼(通常是內核文件)刷入系統引導分區,從而更新系統引導並導入新的內核程…

    編程 2025-04-13
  • 谷歌flash player不再支持怎麼辦

    Adobe於2020年底停止支持Flash Player,意味着所有瀏覽器都將無法使用Flash Player插件。雖然常見網站已經不再使用Flash,但仍有些老舊的網站和應用程序…

    編程 2025-04-02
  • 存儲器分類

    一、根據存儲介質分 存儲器按照不同的存儲介質可以分為:內存和外存。 內存:存儲在CPU外部但與CPU有高速率的數據傳輸通道連接的存儲器。 外存:存儲在CPU外部,與CPU的數據傳輸…

    編程 2025-02-24
  • Google不支持Flash怎麼辦

    一、什麼是Flash? Flash是Adobe公司開發的一種跨平台的應用程序和富媒體內容創作工具,主要用於製作網站動畫、廣告、遊戲等。但隨着HTML5的普及,Flash已經逐漸被淘…

    編程 2025-01-20
  • 停止支持python,停止支持flash

    本文目錄一覽: 1、Python 2.x有沒有新屬性發佈? 2、python自學用什麼版本 3、現在已經停止對python 2.7的維護支持嗎 Python 2.x有沒有新屬性發佈…

    編程 2025-01-16
  • flash里調用js代碼時,flash交互代碼

    本文目錄一覽: 1、flash怎麼在播放第一帖的時候自動調用js方法? 2、在FLASH里實現讓鼠標停留3秒後再執行當前網頁中的JS函數應該怎麼操作? 3、怎麼在flash播放完後…

    編程 2025-01-04
  • 用python編寫flash(用Python編寫函數)

    本文目錄一覽: 1、如何使用Python調用AutoIt來實現Flash控件的上傳功能 2、python怎麼做flash播放器? 3、flash轉換成python 4、python…

    編程 2024-12-26

發表回復

登錄後才能評論