NOR Flash

概述

SFC 通过单线或四线接口访问片外 NOR Flash,支持 CPU FIFO 与 DMA 数据通路,提供 Flash 读写和文件系统访问能力。

性能概览

NOR:SFC 250 MHz、Flash SCLK 125 MHz 下,四线 DMA 32 KiB 读取达到 54.30 MB/s,四线 DMA 写入达到 2.58 MB/s。

已在 SFC dev clk 100、150、200、250 MHz 四个频点完成读写及 elm/FAT 文件系统验证。

读写性能

测试器件为 W25Q128JVSQ,容量 16 MiB,页大小 256 B,擦除块大小 32 KiB。以下数据均取 32 KiB 数据点,Flash SCLK 为 SFC dev clk 的二分之一。

读取

SFC dev clkFlash SCLK单线 CPU FIFO单线 DMA四线 CPU FIFO四线 DMA
100 MHz50 MHz6.18 MB/s6.15 MB/s24.68 MB/s23.59 MB/s
150 MHz75 MHz9.30 MB/s9.19 MB/s30.19 MB/s34.77 MB/s
200 MHz100 MHz12.36 MB/s12.12 MB/s28.18 MB/s44.46 MB/s
250 MHz125 MHz15.42 MB/s15.06 MB/s28.50 MB/s54.30 MB/s

四线 DMA 是 200/250 MHz 高吞吐读取的推荐通路。四线 CPU FIFO 读取约在 28~30 MB/s 饱和;单线 0x03 在 Flash SCLK 高于 50 MHz 时属于超规格实验条件,不能作为量产普通读配置。

写入

SFC dev clkFlash SCLK单线 CPU FIFO单线 DMA四线 CPU FIFO四线 DMA
100 MHz50 MHz1.80 MB/s1.86 MB/s2.31 MB/s2.40 MB/s
150 MHz75 MHz2.00 MB/s2.09 MB/s2.42 MB/s2.52 MB/s
200 MHz100 MHz2.11 MB/s2.19 MB/s2.41 MB/s2.52 MB/s
250 MHz125 MHz2.21 MB/s2.30 MB/s2.44 MB/s2.58 MB/s

写入计时包含命令、地址、数据装载及 WIP 轮询,擦除和回读比较不计时。结果为擦除并预写一次后重复页编程的吞吐,不等同于擦除后的首次页编程;提高 SFC 时钟主要缩短总线传输,不能显著缩短 Flash 内部编程时间。

文件系统读写

使用 elm/FAT,对同一个 32 KiB 文件连续执行 8 轮写读,速率不计格式化与挂载耗时。

SFC dev clkFlash SCLK读取写入数据比较
100 MHz50 MHz16.65 MB/s0.0289 MB/s通过
150 MHz75 MHz21.94 MB/s0.0289 MB/s通过
200 MHz100 MHz25.12 MB/s0.0288 MB/s通过
250 MHz125 MHz27.87 MB/s0.0290 MB/s通过

文件系统写速接近 0.029 MB/s,原因是当前 NOR MTD 将 32 KiB 擦除块直接映射为 FAT 扇区,文件数据及元数据扇区写入会触发同步整块擦除。该数值反映当前文件系统与块层组合的覆盖写能力,不等同于 NOR 顺序写或裸页编程速率,提高 SFC 时钟无法消除擦除放大。

工作点与频率边界

以下为离散频点的验证结果。更高频点仅用于边界评估,单次通过不能替代稳定工作点。

SFC dev clk对应 SCLK状态结论
100/150/200/250 MHz50/75/100/125 MHz四个频点读写通过250 MHz、SCLK 125 MHz、采样延时 8 为当前板级候选基线,建议四线路径使用 DMA。
260/266 MHz130/133 MHz读及 DMA 写通过,四线 CPU FIFO 写失败仅作为实验边界;生产路径若评估该频点必须使用 DMA。
270 MHz135 MHz读写失败超过器件标称上限,不作为工作频率。

250 MHz 验证直接配置 SFC 时钟,绕过了中间件默认时钟上限;采用该工作点前需同步调整中间件限制,并完成板级信号完整性、重复上电、长时间压力和电源波动验证。

测试条件

项目条件
器件与容量W25Q128JVSQ,16 MiB
页 / 擦除块256 B / 32 KiB
测试平台G32S103_sk_slt
已验证频点SFC 100/150/200/250 MHz
采样延时依次为 5/8/9/8
时钟关系Flash SCLK = SFC dev clk / 2
数据规模4/8/16/32 KiB 数据点,每点累计 256 KiB
读数据校验每轮传输后比较,比较时间不计入带宽
写数据口径擦除并预写后重复页编程;擦除与比较不计时
文件系统elm/FAT,32 KiB 文件连续 8 轮
速率单位MB/s,十进制,1 MB = 1,000,000 B

模块详解:SFC 功能与架构 · NOR 配置与接口。