parallel NOR, serial NOR (沒有 Serial NAND?SD Card 是 SPI Flash?)
Multi IO Flash
| Property | NAND | eMMC | SPI-NOR |
|---|---|---|---|
| Density | Upto128GB | Upto128GB | Upto512MB |
| Buswidth | x8/x16 | x4/x8 | x1/x2/x4/x8 |
| Read speed | Slow random access | Similarto NAND | Fast random access |
| Write | Fastwrites | Fastwrites | Slower |
| SetupRequirements | ECC and bad block management | Needs 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 | |
| m25p80 | SPI-NOR controller driver |
| SPI core | |
| SPI controller driver | |
| Hardware (Controller + Flash) | Hardware (SPI-NOR Controller + Flash) |
參考
沒有留言:
張貼留言