2020年11月28日 星期六

MTD SPI Flash

parallel NOR, serial NOR (沒有 Serial NAND?SD Card 是 SPI Flash?)

Multi IO Flash

PropertyNANDeMMCSPI-NOR
DensityUpto128GBUpto128GBUpto512MB
Buswidthx8/x16x4/x8x1/x2/x4/x8
Read speedSlow random accessSimilarto NANDFast random access
WriteFastwritesFastwritesSlower
SetupRequirementsECC and bad block managementNeeds tuning (for higher speed)No overhead

SPI-NOR Flash Hardware

  • Flash is composed of Sectors and Pages
  • Smallest erasable block size is called Sector–May be 4/32/64/256 KB
  • sector 在切成許多 page,May be 256/512 bytes–Flash program is usually in page size chunks (though not necessary)
  • 在 write 或 erase 前需要送 Write Enable(WREN) 指令。
  • 大多支援 Read ID (RDID) 指令偵測型號

1-byte 指令 + 3/4-byte 位址 + n-cycle wait + n-byte data

傳統 SPI 控制器只是直接存取 SPI bus,不針對特定類型的 SPI 裝置。SPI-NOR 控制器內建 flash 通訊格式,以及硬體加速。

Linux SPI-NOR Framework 支援 SPI-NOR 控制器

  • v3.16+
  • MTD 子系統下:drivers/mtd/spi-nor/spi-nor.c
  • Derived from pre-existing m25p80 flash driver code
MTD framework
SPI-NOR framework
m25p80SPI-NOR controller driver
SPI core
SPI controller driver
Hardware (Controller + Flash)Hardware (SPI-NOR Controller + Flash)

參考

  1. https://giros.pixnet.net/blog/post/96929648 
  2. http://events17.linuxfoundation.org/sites/events/files/slides/An Introduction to SPI-NOR Subsystem - v3_0.pdf
  3. JFFS2 

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...