Hy-Star ☆ Tech Support |
NAND FLASH 介紹
Frank Chen
HY-STAR TECHNOLOGY CO。,LTD
引用或複製請註明出處
什麼是快閃記憶體 (FLASH-MEMORY)
快閃記憶體 (FLASH-MEMORY) 依結構來分大約可分 NAND-FLASH 和 NOR-FLASH 二種, 雖然二者都是“快閃記憶體”,但物理上的表現卻是南轅北轍,如下表
NAND vs. NOR Performance Comparison table | ||||||
FLASH Memory | Read | Erase | Write | Endurance | Capacity | Price |
NAND-FLASH | 100MB/S | 2ms | 2~10MB/s | 500~100,000 | High | Low |
NOR FLASH | 20~30MB/S | 900ms | 0.5MB/s | 10,000~1,000,000 | Low | High |
由上表可知, NOR-FLASH 讀取快,寫入慢,故比較適合應用在需快速讀取且不用常常 update 的 ROM-code (如 BIOS)等。
NAND-FLASH 容量大,價錢便宜,寫入快,適合應用頻繁存取的記憶卡 (Memory-card)。
不管 NOR 或 NAND FLASH,都有寫入次數的限制,其中 NAND FLASH 又可分為 SLC,MLC 和 TLC。
其中 TLC 為近幾年才有的技術,因一個 cell 可儲存 3 個位元(bit),容量最大,也最便宜。
但也因一個 cell 要判讀 3 個 bit,
如判讀不出此 cell 值此 cell 就壞了。
可把上圖 SLC/MLC/TLC 儲存架構示意圖中顏色深淺視為不同的電壓值,如為
SLC,淺色就是 “0”, 深色為“1”,很容易判斷; MLC 還算容易, TLC
漸層之間太近很容易誤判。
故 TLC 雖有大容量和便宜等優點,其致命缺點是最不可靠,壽命最短, 故不適用在要求嚴謹可靠的應用。下表為
SLC,MLC,TLC 比較表。
SLC vs. MLC vs. TLC Comparison Table | ||||
NAND-FLASH | 速度 | 壽命(寫人次數) | 容量 | 價錢 |
SLC | 快 | 10,000~100,000 | 低 | 高 (約 3倍以上 MLC) |
MLC | 中 | 3,000~10,000 | 中 | 中 |
TLC | 慢 | 500~1000 | 高 | 低 |
且 NAND-FLASH 製程日進千里,要 in-house 自行控制 NAND-FLASH 變的不太可能,把控制 NAND-FLASH 交給專業的廠商比較實際,下圖為 NAND-FLASH 製程演進變化。
FAQ
CF卡的特點為何?
CF卡是歷史最久的一種記憶卡,也是目前常見的記憶卡中體積最大的,面對許多新興的記憶卡如 SD,xD,Micro-SD等為何還沒被淘汰? 因
CF卡有“相容 IDE介面”的特異功能是其他記憶卡所沒有的。
“相容 IDE”意味 CF 卡可當 IDE
硬碟開機,故大量運用在工業電腦等領域,另海之星科技所代理的 CF 卡為使用固態硬碟(SSD)同等級的韌體(firmware),如下圖用“CF-to-IDE”轉接卡即可當 SSD 用。 此外因 IDE 硬碟早已停產,用 CF 卡取代 IDE 硬碟也是不錯的 solution。
CF卡無法開機
市面上所販賣的 CF 卡可分“Removable mode”(記憶卡模式)和“Fixed
mode”(硬碟模式),一般來說“Removable mode”的 CF 卡是給數位相機等消費性電子產品用的,故如用在 PC
有可能會無法開機,支援“Fixed mode”的 CF 才有支援 PC 開機功能。
(note:海之星科技所代理的 CF 卡可依客戶指定“Removable mode”或“Fixed
mode”,或“Auto mode",可自動判斷使用者是用在消費性電子或 PC,自動調整,如有相關需求請連絡我們)
CF卡讀寫不穩定
海之星科技所代理的 CF 卡出貨時預設的介面為 UDMA5(最高100MB/s) 或 UMDA6(最高133MB/s),如果用戶端的 IDE 排線或
Layout 不符合 ATA-100 (最高100MB/s) 的規範,很容易因信號間的串音(Corss-Talk)而造成讀寫不穩的情形,如下圖為 IDE 排線,如為 40-pin ,最高只支援 UDMA2(最高33MB/s),
如為 80-pin 才可能支援到 UDMA4(最高66MB/s) 以上的速度。
<圖片來源:維基百科 http://zh.wikipedia.org/w/index.php?title=File:Nappe.svg&page=1>
Solution I:更換 支援
UDMA5 以上的排線
Solution II:變更 CF 的 UDMA 設定(from UDMA5/6 to UDMA2)
(note:海之星科技所代理的 CF卡 可依客戶需求,調整出貨時預設的 UDMA,如有需求請連絡我們)
CF卡速度標示為何?
CF 卡通常用倍數來標示速度,且只標示讀取的倍數,其讀取的速度為延用 CD-ROM 的算法“一倍數=150KB/s”記作“1x”。
以現今的 NAND-FLASH 製程, CF卡最低約還有 80倍數, 如要大於 80x 除了 FLASH-Controller 外,
NAND-FLASH 的廠牌,顆粒和排列等都會影響到 CF 的速度, 例如選 SLC 的 NAND-FLASH 大多快過於 MLC 的
NAND-FLASH,另用兩顆以上的 NAND-FLASH 所組成的 CF 卡可組成“多通道 ”(channel)
,速度可加倍,多個多通道又可組成“交錯讀寫”(interval)速度還可再增加。 因不同倍數需搭配各種 FLASH 組合,所以價錢會有所不同。
(note:海之星科技所代理的 CF卡,速度可指定 80x~600x,如有相關需求請連絡我們)
SD card vs. SDHC vs. SDXC card | |||
Type | File-System | 容量 | 速度標示 |
SD | FAT16 | ≦2GB | 沒統一,通常用“倍數”標示 |
SDHC | FAT32 | ≦32GB | CLASS (2~10) ,UHS-1 |
SDXC | exFAT | ≦2TB | CLASS (2~10) ,UHS-1 |
至於“UHS-x”,目前只規範“UHS-1”(Ultra High Speed – Class 1)和“UHS-3”規格,並保證傳輸速度最快可高達到10MB/s 和 30MB/s,主要用於 SDXC 記憶卡, 符合“UHS”的 SDHC/SDXC 其應用如下:
Class | 最低寫入速度 | 應用 | |
UHS Speed Class 1 (U1) | 10 MB/s | 大於 Full-HD 畫值錄影 | |
UHS Speed Class 3 (U3) | 30 MB/s | 4K/2K 視訊錄影 |
記憶卡標示容量和實際容量不符
一般來說,正規(非 down-grade)的 NAND-FLASH 可容許有小於1% 左右的壞的 cell 稱“Early Bad
Block”,日後對記憶卡的讀寫也可能會有 cell 會陣亡,日後壞掉的 cell 稱 “Later Bad Block”,
一般的記憶卡可容許 Later Bad Block < 4% 都還可正常工作因記憶卡都也會預留一些 Bock稱“Spare
Block”, Spare Block 的功能為當偵測到日後有 cell 陣亡了,會把壞的 cell 封起來,然後釋出預留的 Spare
Bock, 讓記憶卡還可保有原始的容量。
其背後控制和管理這些動作的程式碼叫“System Block”也會佔一些空間,故實際容量小於標示容量
10% 內都屬正常範圍內,如下圖所示
如何評估記憶卡的壽命?
要評估記憶卡的使壽命要先預估每天平均寫入多少資料量而定(“讀取”一般不會影響 NAND-FLASH 的壽命),因群聯(Phison)的
NAND-FLASH-Contorller 皆支援“平均抹寫儲存區塊技術”(wear-leveling) 故整個記憶卡中每一個 cell
的抹寫次數應該都很平均,故“使用壽命=Endurance-size/ day-write ”。
其中 "Endurance-size"
的算法為如為 MLC 的 NAND-FLASH, MLC-Endurance-size=(3,000~10,000) x 記憶卡的容量, 如為 SLC 的 NAND-FLASH, SLC-Endurance-size=(10,000~100,000) x 記憶卡的容。
其中錄色部分 MLC 介於 3,000~10,000, SLC 介於 10,000~100,000 原因是因隨著 NAND-FLASH
製程的微縮,雖容量變大變便宜,但寫人次數可能反而變少(不同廠 NAND_FLASH 廠商可能略有差異),如下圖所示
但 NAND-FLASH 製程的微縮是趨勢,NAND-FLASH 廠商不可能回頭生產 9x nm 的
FLASH,如要延長記憶卡的使壽命加大記憶卡的容量即可補回因製程的微縮而減少的使用壽命 (因 Endurance-size 和容量成正比)。