看板 NTU-EM93 關於我們 聯絡資訊
※ [本文轉錄自 Electronics 看板] 作者: jfsu (水精靈) 看板: Electronics 標題: Re: [問題] 請教有關NAND flash與NOR flash的問題.... 時間: Thu Sep 24 13:58:55 2009 ※ 引述《CCMAKE (￾NNN￾N)》之銘言: : 請問各位大大 : 在一個電子系統中 : NAND flash 跟 NOR flash的作用差別在哪邊呢?? 作用?你是說用途(application)嗎? 單純考量元件的操作方式的話,是不同,但原理都一樣。 : 就我的了解 : 好像NAND flash沒有辦法執行程式 : 而NOR flash可以 : 所以一般會把NAND拿來當作存程式的地方 : 開機之後再經由boot loader把程式從NAND中load到DRAM裡面執行程式 : 我比較不了解的地方是為什麼NOR可以執行程式而NAND不可以?? : 是因為NOR可以隨機存取嗎?? NADN用來作為資料儲存(data storage),而NOR用來作程式儲存(code storage) NOR也有分為serail(SPI)與parallel兩種界面,目前用於主機板CMOS開機,大多數是 serail flash。比起NAND,NOR可以切出小的區塊,如8KB,16KB,作為boot code儲存 再來,讀取速度也比較快,而且可以隨機存取(random access)。 再者,NOR Flash讀取資料的方式與從RAM讀取資料相近,只要提供資料的位址(address), 資料(data)就可以正確的讀出,所以多數微處理器可以將NOR Flash當作原地執行 (Execute in place, XIP)記憶體使用,這也意味著,儲存在NOR Flash上的程式不需 複製到RAM就可以直接執行。 : 那麼在DRAM中執行程式 跟在NORflash中執行程式 : 又有甚麼樣的差別呢?? : 另外有個問題是關於電子系統中的controller : CPU或是ASIC要去讀取記憶體時 : 是不是必須透過controller 對記憶體下指令?? : 我的問題是 NOR flash,NAND flash,DRAM這三種記憶體在讀取時 : CPU或ASIC都需要透過controller來下讀取指令嗎?? : 還是只有NAND flash需要 其他兩種不用呢?? 原因是甚麼?? : 所謂的controller 指的是硬體 還是軟體?? : 是存在於CPU中 或是存在於device中(CHIP或是各種周邊)?? : 例如SD卡 : 它的內部是一顆NAND CHIP加上一個controller IC(??) : 那麼這顆controller 的功用是甚麼呢?? 因為 NAND flash的存儲單元則採用串列結構,存儲單元的讀寫是以頁(page mode)和 區塊(block mode)等單位來進行。這種結構最大的優點在於容量可以做得很大。 由於它的缺點在於讀速度較慢,加上 I/O Bus只有 8 個,比 NOR 要少很多。 資料只能輪流傳送的方式完成,速度要比 NOR flash的平行傳輸模式慢得多。 你所說的在SD卡裡,裡面最顯眼的,當然就是那大大一顆的 NAND flash與旁邊一顆 小一號的控制IC(Controller IC)。這顆控制IC是要確保資料的儲存是安全沒問題的。 簡而言之,需要controller是因為要做ECC(error code correction). NAND Cell因MLC之故,quality並不像NOR那麼好,使用過程中,數個bits的壞掉常發生 因此,此controlle是用來做錯誤修正用。 是可以做on chip的,但現在MCP很發達,而且為了最大化performance,因為可以 各別optimize,所以現在的趨勢是分開做 上面有提過,NAND Flash 雖有匯流排結構(BUS),卻沒去區分 address bus 及 data bus,因為在 NAND Flash 上進行任何操作(如 read, write, erase 等), 都要透過命令( command ),而且無論 address, data, 或 command,都以同一組 I/O bus 傳輸。 此外, 儲存在NAND flash 上的資料,在正常操作或存放下, 會隨機出錯,廠商都會建議搭配 ECC (Error Correcting Coding) 。 如果用memory bus來使用NAND,一般只用兩根address lines(for ALE和CLE), 若是該NAND一次是16 bits來存取,方法上而言,並不是簡單的送信號到位址線( address lines),就可以讀寫相對應的內容,而是有一些先後程序。 另外,NAND的界面也有很多種,這裡不贅述,一般標準的是使用ALE和CLE的方式。 有的電子板上有單獨的NAND controller,信號不是透過NAND flash內部的界面 而是板上專門的接腳。為了要使用到該controller的好處(如ECC自動計算,booting..) 我們便會用專屬界面來與NAND連接。 : 因為在電子系統的板子上 : 也會看見CPU直接跟NAND flash連接 : 這時候就沒有看到有所謂的controller IC在裡面 : 這是甚麼原因呢?? 有些NAND flash會把controller作在裡頭,即所謂的內建的控制晶片,有些則否。 內建控制IC的會在資料傳輸、能源管理和錯誤更正(ECC)上會有比較好的表現。 -- 你想成為下列〔後宮型〕動漫作品中的哪一位男主角? 〔A〕《純情房東俏房客》:「長相不行、用功不行、運動不行」的浦島景太郎 〔B〕《Fate/stay night》:只會「構造把握、強化和投影」的半調子魔術師衛宮士郎 〔C〕《天地無用》:誤解封印後,蒙遭宇宙女難的普通高中生征木天地 〔D〕《旋風管家》:人肉鋼彈不死身+鬼畜系(誤)的欠債管家綾崎颯 〔E〕《To Heart》:心地善良,大而化之,卻稍嫌懶散的藤田浩之 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.66.222.12 ※ 編輯: jfsu 來自: 203.66.222.12 (09/24 14:59)
youwin0125:推 好文章該m 09/24 15:00
rogerable:幫推 09/24 17:07
-- 悍 將 神 威 震 八 方 雷 電 一 聲 現 光 華 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.70.140.118