采用dd 工具做Nand Flash磨損均衡

采用dd工具做nandflash磨損均衡

文章采用dd工具,將/dev/zero 作為源文件來寫入到/mnt/data/stress-test-file文件中:

dd if=/dev/zero of=/mnt/data/stress-test-file bs=1M count=10

生成的stress-test-file文件大小為10M,內(nèi)容為全0。

基本思路就是獲取10M大小的數(shù)據(jù),寫入到測試文件中,然后再把測試文件中的內(nèi)容讀出來和0x00作比較,如果不為0x00說明Nand Flash可能出現(xiàn)了位反轉(zhuǎn)產(chǎn)生壞塊,就退出該nandflash的讀寫壓力測試。


按照博主的想法,我講源數(shù)據(jù)改為0x5a,寫入到測試文件。

1、產(chǎn)生10M大小 內(nèi)容為0x5a的文件:

!#/bin/bash

n=10000000

while [ $n -ne 0 ]

do

? ? echo -e '\0132\c' >> mydata

? ? ((n=n-1))

done

2、將源文件寫入到測試文件:

dd if= mydata of=/mnt/data/stress-test-file bs=1M count=10

3、修改判斷標(biāo)志

將原文中check_buf(buf, 0x00, ret)修改為check_buf(buf, 0x5a, ret)



該方法使用的讀寫操作包括dd工具都是基于文件系統(tǒng)(操作對象是源文件和測試文件,文件是基于文件系統(tǒng)),并沒有繞過FTL(flash tansfer layer)層。

FTL是Nand Flash的驅(qū)動層和文件系統(tǒng)層之間的一個均衡算法,不繞過FTL就沒有辦法對Nand Flash中固定的block做磨損測試,因為FTL會做一些均衡動作,使得Nand Flash的大部分塊都會被使用到而不是只使用某些塊。

所以這種方法并不能真正的實現(xiàn)nand flash的磨損測試。要實現(xiàn)nand flash的磨損測試,可以使用MTD tools,前提是nand flash的驅(qū)動是以MTD方式實現(xiàn)的(有的nand flash驅(qū)動是以block方式實現(xiàn))。以MTD方式實現(xiàn)的nand flash 驅(qū)動在Linux系統(tǒng)中會有./dev/mtd* 節(jié)點。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章,技術(shù)來源于韋東山著作,轉(zhuǎn)載請注明出處!![] 一、NAND_FLASH操作原理...
    ZebraWei閱讀 3,552評論 4 8
  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章,技術(shù)來源于韋東山著作,轉(zhuǎn)載請注明出處! 一、Nor Flash原理及硬件操作 ...
    ZebraWei閱讀 4,904評論 0 6
  • 學(xué)習(xí)stm32gpio 學(xué)習(xí)linux 程序員的三大方向 程序員的方向,一般可以分為3類:專業(yè)領(lǐng)域、業(yè)務(wù)領(lǐng)域、操作...
    王公民閱讀 954評論 0 3
  • 一句話簡介: 一本人人都能看懂的金融常識普及本,微觀描述了資本主義的運作模式 如果按順序簡單濃縮: 找好的工作 存...
    福爾摩洋閱讀 408評論 0 1
  • 繪畫工具:鉛筆,水鋼筆,彩色白板筆 畫的過程我忘了拍照,唯有直接上載完成品。 喜歡活潑可愛的小羅卜們,開心的栽種花...
    太陽的天空閱讀 1,278評論 0 1

友情鏈接更多精彩內(nèi)容