“寫flash,要不要加個判斷?”這是我一個朋友的提問。
剛開始,我并沒有認(rèn)真去思考這個問題。但之后我仔細(xì)查了下資料,發(fā)現(xiàn)里面的內(nèi)容還挺多。
先看看EMMC的結(jié)構(gòu)
EMMC 是在nand flash的基礎(chǔ)上增加了一個控制器,cpu和emmc交流實(shí)際上是和它的控制器進(jìn)行交流。相當(dāng)于emmc多了一個管家。
NAND FLASH的特點(diǎn):
1) 初始存儲為1
2)寫0只要操作一個page
3)寫1需要操作整個block,1個block包含多個page
--- 假裝解釋下為什么寫FLASH前,要先判斷里面的內(nèi)容。
從讀寫速度上解釋
?
上面是我從一個EMMC的規(guī)格書上截圖出來的資料,EMMC的讀寫速度是不同的,不同的讀寫速度肯定是存在不同的讀寫時序,既然讀寫時序不同,那當(dāng)然應(yīng)該讓代碼越快越好。
所以,從這點(diǎn)上看,先讀判斷數(shù)值是應(yīng)該的。
EMMC可以無限次讀寫嗎?
剛開始在微信群里面討論的時候,得到的信息是,EMMC可以無限次讀,但是不能無限次寫! 因?yàn)閷憰馕吨枰獙Υ鎯^(qū)進(jìn)行擦擦操作,這個我是可以理解的。
但是實(shí)際上是怎樣的,我還是一知半解……
然后,得到一個小姐姐的指導(dǎo)之后,我大概的理解是這樣的:
EMMC完全寫滿后擦除算一次,普通的EMMC可以擦除3000次,所以容量*3000 就是EMMC可以寫入的內(nèi)容大小。「
計算壽命這點(diǎn)我還是持懷疑態(tài)度」
?
后面通過查資料了解到,不同的flash顆粒,它的擦除次數(shù)和速度是不同的,這就是不能無限寫的關(guān)鍵原因。 ?
我們平時使用的EMMC是TLC種類,這樣的EMMC一個cell有3個bit位,可以表示 2^3 = 8中電平狀態(tài)。
狀態(tài)越少,需要表示的電平就約不精細(xì),計算也就會越快,當(dāng)然了,價格越貴,體積會越大,這樣反而不利于消費(fèi)電子。
如上圖所示,SLC的速度很快,只需要兩個電壓級別。TLC的速度會比較慢,需要8個電壓級別來表示。
為什么EMMC的規(guī)格書上面都不寫上最大擦除或者寫入的次數(shù)?
「也就是emmc的壽命」
到目前我也沒有得到特別準(zhǔn)確的答案,有了解的同學(xué)可以在評論區(qū)回答。
不過我猜測是,因?yàn)镋MMC有控制器,如果你不斷的擦除一個位置,即使的超過最大次數(shù),但是因?yàn)镋MMC的控制器存在,它可以改變實(shí)際存儲的EMMC地址,讓你做不到在同一個區(qū)域不斷的擦除。再加上容量的不確定,就不好確定EMMC的壽命了。
特斯拉召回是怎么回事?
?
我猜測,可能這個系統(tǒng)上的EMMC配置很小,可能就真的存在某個程序在不斷的寫入,導(dǎo)致EMMC擦除次數(shù)達(dá)到上限。
審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
114文章
17095瀏覽量
184147 -
Nand flash
+關(guān)注
關(guān)注
7文章
243瀏覽量
40784 -
emmc
+關(guān)注
關(guān)注
7文章
229瀏覽量
53988
原文標(biāo)題:寫flash,要不要加個判斷?
文章出處:【微信號:玩點(diǎn)嵌入式,微信公眾號:玩點(diǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
layout的時候晶振下面到底要不要挖空?
設(shè)計成品時,要不要加入電池啊
板子買錯了。。。不知道要不要退了重新買天祥板子
測控類要不要學(xué)習(xí)板卡?。。。?!
方波產(chǎn)生電路要不要輸入信號呢?
技巧:快說iOS 10.2到底要不要升級
電腦固態(tài)硬盤到底要不要分區(qū)
DC-DC電路中的電感下面要不要鋪銅

評論