写flash,要不要加个判断?
相關(guān)文章
既生Flash,又何生EEPROM?
存儲器Flash頁、扇區(qū)、塊的區(qū)別
這是我一個知識星球朋友的提問
剛開始我沒有認(rèn)真去思考這個問題,之后我仔細(xì)查了下資料,里面的內(nèi)容還挺多。
先看看EMMC的結(jié)構(gòu)
EMMC 是在nand flash的基礎(chǔ)上增加了一個控制器,cpu和emmc交流實際上是和它的控制器進(jìn)行交流。相當(dāng)于emmc多了一個管家。
NAND FLASH的特點
1)? 初始存儲為1
2)寫0只要操作一個page
3)寫1需要操作整個block,1個block包含多個page
---
假裝解釋下為什么寫 FLASH前,要先判斷里面的內(nèi)容
從讀寫速度上解釋
上面是我從一個EMMC的規(guī)格書上截圖出來的資料,EMMC的讀寫速度是不同的,不同的讀寫速度肯定是存在不同的讀寫時序,既然讀寫時序不同,那當(dāng)然應(yīng)該讓代碼越快越好。
所以,從這點上看,先讀判斷數(shù)值是應(yīng)該的。
EMMC 可以無限次讀寫嗎?
剛開始在微信群里面討論的時候,得到的信息是,EMMC可以無限次讀,但是不能無限次寫。
因為寫會意味著需要對存儲區(qū)進(jìn)行擦擦操作,這個我是可以理解的。
但是實際上是怎樣的,我還是一知半解
然后,得到一個小姐姐指導(dǎo)之后,大概的理解是這樣的。
EMMC完全寫滿后擦除算一次,普通的EMMC可以擦除3000次,所以容量*3000 就是EMMC可以寫入的內(nèi)容大小。「計算壽命這點我還是持懷疑態(tài)度」
后面查資料了解到,不同的flash顆粒,它的擦除次數(shù)和速度是不同的,這就是不能無限寫的關(guān)鍵原因。
我們平時使用的EMMC是TLC種類,這樣的EMMC一個cell有3個bit位,可以表示 2^3 = 8中電平狀態(tài)。
狀態(tài)越少,需要表示的電平就約不精細(xì),計算也就會越快,當(dāng)然了,價格越貴,體積會越大,這樣反而不利于消費電子。
如上圖,SLC的速度很快,只需要兩個電壓級別。
TLC的速度會比較慢,需要8個電壓級別來表示。
為什么EMMC的規(guī)格書上面都不寫上最大擦除或者寫入的次數(shù)?「也就是emmc的壽命」
到目前我也沒有得到特別準(zhǔn)確的答案,有了解的同學(xué)可以在評論區(qū)回答。我猜測是,因為EMMC有控制器,如果你不斷的擦除一個位置,即使的超過最大次數(shù),但是因為EMMC的控制器存在,它可以改變實際存儲的EMMC地址,讓你做不到在同一個區(qū)域不斷的擦除。再加上容量的不確定,就不好確定EMMC的壽命了。
特斯拉召回是怎么回事?
我猜測,可能這個系統(tǒng)上的EMMC配置很小,可能就真的存在某個程序在不斷的寫入,導(dǎo)致EMMC擦除次數(shù)達(dá)到上限。
參考:
https://blog.csdn.net/weixin_42151788/article/details/114577735
https://szlin.me/2017/08/23/kernel_seccomp/
總結(jié)
以上是生活随笔為你收集整理的写flash,要不要加个判断?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学会看财务报表
- 下一篇: 高斯克吕格投影中有关带号与经度的关系