當前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導讀]推薦語 本次推薦的是朱老師寫的關于EMMC和Nand的科普性區(qū)分的文章,通過文章我們可以通俗易懂地理解Nand與EMMC的一些關聯(lián)及不同之處。下轉原文: 1.背景 今天偶然在一個群里看到有人聊EMMC和Nand,相信很多嵌入式er都用過或者至少聽說過這2種板載存儲芯片,但

推薦語

本次推薦的是朱老師寫的關于EMMC和Nand的科普性區(qū)分的文章,通過文章我們可以通俗易懂地理解Nand與EMMC的一些關聯(lián)及不同之處。下轉原文:


1.背景

今天偶然在一個群里看到有人聊EMMC和Nand,相信很多嵌入式er都用過或者至少聽說過這2種板載存儲芯片,但是很多人不清楚這2種的差異,也不明白什么時候應該用EMMC什么時候用Nand,如何選擇?今天我們就來聊聊這個問題。



2.Nand是這樣的

Nand是一種flash,所以又叫NandFlash。 大家知道Flash叫閃存(flash這個英語單詞就有閃爍的意思),閃存這種存儲設備是用電信號來做擦除和讀寫的。也就是說你可以把Flash看成是一個二進制數(shù)據(jù)倉庫,你可以用電信號擦除它(清除掉倉庫里的存貨),也可以用電信號讀取它(將倉庫內存儲的物品取出),也可以用電信號寫入它(將物品放入倉庫儲存)。
好,問題來了,怎么去擦除、讀寫呢? 這東西又聽不懂人話,所以必須按照它的時序規(guī)則用電平信號和他交互。



上圖中左側是一個NandFlash實物圖,大家可以看到有很多引腳。右側是NandFlash和STM32單片機的連接接線圖。

這些芯片上的引腳就是Nand和外界進行數(shù)據(jù)交流的通道。其中IO0-IO15是數(shù)據(jù)通道,通信時的地址和數(shù)據(jù)就是從這些引腳傳輸?shù)?。而CLE、ALE等剩余引腳就是時序控制線,用來做通信控制和同步。當然Nand工作時還需要供電的,圖中并沒有畫出電源引腳但是實際是有的。

這就是NandFlash,通過很多個引腳(圖中可見至少二三十個)和外界通信,很大的一個薄片狀芯片。能存儲數(shù)據(jù)。

常見Nand的容量一般幾十Mb到幾個Gb(注意存儲設備的容量都是b而不是B),應該說容量不算大。

Nand內部的存儲單元有兩大類,MLC和SLC。具體的細節(jié)暫不去管,大家只需要知道SLC Nand容量小價格高,但是質量好不容易壞。而MLC Nand容量大價格便宜,但是質量不好容易出現(xiàn)壞塊。其實不能說是質量好壞,而是工藝本身特性決定的,咱們反正是科普,就簡單粗暴給他歸個類吧。


3.Nand的優(yōu)勢和劣勢

Nand的優(yōu)勢都是相對于它的前代產(chǎn)品來說的。在Nand之前,人類使用的大容量存儲主要是磁性存儲(軟盤、硬盤)和光存儲(DVD光盤),這些東西都不太完美。譬如光盤不能反復擦寫而且讀盤設備和盤片都經(jīng)常壞(大家你想想家里老式光碟機是不是經(jīng)常讀不出盤),硬盤雖然今天也還在大量用,但是速度有極限并且體積太大,所以今天的高端筆記本電腦都不用機械硬盤改用SSD了(SSD其實也是Flash)。

我們主要講講Nand的劣勢。

Nand的第1大劣勢就是接口和時序不標準。大家可能沒意識到,NandFlash其實是一個品類而不是一個固定產(chǎn)品,你去看全世界有多家公司都在生產(chǎn)Nand,但是他們的產(chǎn)品并不能直接通用,也就是說你不能把一款Nand直接替換另一款而不需改動軟硬件。這就頭痛了,麻煩的要死。

Nand的第2大劣勢就是引腳太多,體積大。所以Nand芯片不能用在對體積要求很高的小型產(chǎn)品上,這極大限制了Nand的直接使用。

Nand的第3大劣勢就是容量不能靈活控制。就算你用同一家廠商的Nand芯片,但是不同容量的芯片引腳接口和封裝等也可能不同,這樣你如果做產(chǎn)品時有不同容量版本的產(chǎn)品,還得分開設計,分開生產(chǎn),很麻煩。

Nand的第4大劣勢就是壞塊的管理。存儲設備其實就相當于有很多小房間的一個大倉庫,而這個倉庫的每個小房間都是獨立的。因為技術原因有時候一些小房間就會壞掉,沒法使用,那我們不可能因為一個小房間壞掉了就把整個倉庫都丟掉吧?

于是乎人們就發(fā)明了壞塊管理技術。也就是說我們去標記上每個房間是好的還是壞的,如果發(fā)現(xiàn)某個房間壞了那就標記成壞塊,就不再使用這個房間了,而其他的好塊還是可以繼續(xù)用的。這種壞塊管理技術可以很大程度延長Nand的整體壽命。

和壞塊相似的還有個ECC(錯誤校驗)問題。正常情況下Nand中每個好塊中存儲的數(shù)據(jù)都會一直保持正確,即使過了幾年時間你去讀他還是原來的數(shù)據(jù)。但是事實往往沒有這么理想,有時候一些塊中的某些特定位就是會在隔了一段時間去讀取時發(fā)生了翻轉,這里原來存進去是1結果讀出來是0了。

這就難受了啊,最痛苦的是你也不知道原來存進去到底是1還是0,也不確定讀出來的還是不是原來的數(shù),所以搞得你沒法相信任何一個數(shù)據(jù),因為任何一個數(shù)據(jù)都有可能會翻轉啊,那豈不是整個數(shù)據(jù)都不可信了。

解決辦法就是ECC,我們寫入時先用算法計算得到數(shù)據(jù)的ECC值,把ECC值和塊內數(shù)據(jù)一起存入Nand中。待讀出時也是把塊內數(shù)據(jù)和ECC一起讀出,然后再用相同的算法計算塊內數(shù)據(jù)的ECC,和讀出的ECC進行比較,如果相同就認為數(shù)據(jù)未發(fā)生任何反轉,如果不同就認為數(shù)據(jù)已經(jīng)發(fā)生變質,沒法相信了。

本來有壞塊標記和ECC技術,Nand已經(jīng)挺好用了,也確實可以用了。但是麻煩的是Nand的ECC和壞塊標記都需要主控CPU來做,Nand自己是不管的。所以使用Nand很麻煩,你得編程解決很多細節(jié)問題(時序、ECC、壞塊管理)。

所以Nand最大的問題,其實就是不夠好用。那怎么辦呢?進化。


4.EMMC其實是從Nand進化而來

EMMC其實就是Nand包了一層后形成的。

EMMC內部真正用來存儲的倉庫就是Nand,而且EMMC基本都是MLC Nand,因為便宜啊。那EMMC解決了Nand的什么問題呢?

首先,EMMC是封裝和引腳都是標準的。什么標準?就叫EMMC標準。所以EMMC這個詞其實本來就是個接口標準名,符合EMMC接口的存儲芯片就叫EMMC芯片。

這個標準體現(xiàn)在至少三個方面:物理封裝、硬件電平和腳位、軟件時序。所以所有的EMMC芯片,不管是哪家廠家的,不管是多大容量的,都可以直接替換使用。因為人家設計EMMC標準的時候就已經(jīng)考慮到這種兼容和替換了(當然了,實際上EMMC也有好幾種封裝,但是一般硬件工程師做封裝時都會考慮幾種兼容的)。

所以EMMC解決了Nand的一個大問題,就是不同廠家和容量的存儲芯片之間的替換問題,這個非常厲害。因為兼容可以方便備貨,方便采購,方便替換,所以極大降低了產(chǎn)品設計和備貨上的難度,極大降低了成本。

舉個栗子,大家買手機都會發(fā)現(xiàn)現(xiàn)在的手機發(fā)布都有不同容量版本選擇,什么256G、128G、64G版。你想想廠商和經(jīng)銷商要備貨這么多種,多難受?但是如果用EMMC呢?所有的手機主板其實都是完全一樣的,只是實際生產(chǎn)時貼上了不同容量的EMMC芯片而已。而且最重要的是軟件上不用做任何改動,軟件可以自適應不同容量的EMMC芯片。這樣手機廠商就不用給不同容量的手機適配不同的操作系統(tǒng)鏡像了啊,多省心。所以你明白為什么手機都用EMMC而不用Nand了吧

EMMC的引腳比Nand也更少,體積也更小。當然了EMMC體積小也有很重要原因是因為他采用了更先進的BGA封裝方式。所以體積的優(yōu)勢也不算根本優(yōu)勢,如果Nand也用BGA封裝也可以做的小,只是說Nand沒這個必要性了。

最后,EMMC也解決了Nand的時序、壞塊和ECC問題。本質上因為EMMC內部也是用Nand存儲顆粒(而且是MLC Nand更容易壞)的所以也逃不過Nand的這些麻煩。但是EMMC芯片在內部內置了一個控制器(你可以理解為內部有個CPU且跑了一段固件代碼),這個控制器解決了這幾個問題,尤其是壞塊管理和ECC的問題。

所以你做產(chǎn)品用Nand就麻煩,得自己操這些心。而你做產(chǎn)品用EMMC就省心了,自己不用管這些破事,EMMC全部幫你搞定了,何樂而不為呢?從這個角度講EMMC好像自動擋汽車,而Nand好像手動擋汽車。(我發(fā)現(xiàn)我好喜歡用自動擋和手動擋的對比·····)


5.EMMC和Nand的性價比

有人說不對呀,看你說的EMMC明顯比Nand好啊,為什么我發(fā)現(xiàn)EMMC好像還比Nand便宜呢?

EMMC從技術上確實比Nand好,但是也確實比Nand便宜。主要原因是成本并不只是由硬性成本決定的,還和市場、規(guī)模等因素有關。

EMMC便宜的一大原因就是因為標準化。標準就可以大規(guī)模生產(chǎn),大規(guī)模流通,大規(guī)模壓貨,大規(guī)模使用。而用的多了產(chǎn)量大了,自然成本就低了。所以EMMC的大規(guī)模性就決定了他的成本很有優(yōu)勢。

EMMC便宜的另一大原因是內部使用MLC而不是SLC。實際上SLC的成本要遠高于MLC的,但是市場上流通的Nand很多還是SLC,為什么?因為MLC“質量”太差了,太容量出現(xiàn)壞塊和翻轉等,所以廣泛使用的Nand還都是SLC的。你如果直接用MLC Nand,那你的管理成本又很高,太麻煩了。而EMMC解決了這個問題,他內置的控制器很好的管理了MLC Nand,因此可以做到容量很大、使用簡單,還便宜。

所以說,能干臟活就是生產(chǎn)力啊。


6.如何選擇用哪個

實際項目中我們是用EMMC還是Nand呢?

實際上如果你的產(chǎn)品需要大容量(譬如超過8Gb也就是1GB或更大),那一定是EMMC更合適。性價比更高,且軟件上更簡單。

那什么時候用Nand呢?需要容量在幾十MB(譬如64MB)到幾百個MB(譬如512MB)之間的存儲,且不在意體積,且對穩(wěn)定性要求高的情況下,可以用SLC Nand。

那工業(yè)級和抗干擾方面呢?我并沒有專業(yè)研究過,但是簡單分析也知道,Nand在這方面肯定比EMMC好一些。畢竟EMMC是串行的要保證高速肯定總線速度高,而Nand是并行的總線速度肯定低。所以Nand應該要比EMMC皮實一些吧?

但是EMMC也是有工業(yè)級和消費級之分的,你做的產(chǎn)品真的是工業(yè)環(huán)境使用完全是可以用EMMC的,所以也不要鼓吹什么消費電子用EMMC,軍工用Nand這種說法。


7.最后

實際上存儲市場除了Nand和EMMC之外還有很多其他角色也都很厲害。

譬如Norflash、譬如近年來很火的spiflash(常見的是spinor,但是現(xiàn)在也有大容量的spinand了),譬如這兩年創(chuàng)新設計的SDnand(相當于是貼片芯片樣式的SD卡)。

技術其實一直都在創(chuàng)新。

最后,本文完全是從我的經(jīng)驗和積累來寫,并沒有嚴格查閱資料。限于水平和專業(yè)性,里面如果有錯漏或者表達不當?shù)牡胤?,希望大家指正,共同進步。


end


往期筆記:

【Linux筆記】嵌入式Linux驅動基礎

【Linux筆記】LED驅動程序

【Linux筆記】軟件分層、分離、抽象思想

【Linux筆記】掛載網(wǎng)絡文件系統(tǒng)

《一些函數(shù)、變量命名法及代碼規(guī)范》

《C語言、嵌入式重點知識:回調函數(shù)》




長按關注我們,不錯過每一篇好文


點個在看再走唄!
 

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉