以米客方德TF卡,SDSDQAB-008G-MK-D为例
OP在出厂时从颗粒容量预留,高的超过10%,承担坏块替换、磨损均衡、垃圾回收三项用途。
标称容量是扣过OP之后报告给主机的数,OP不在标称到可用环节重复扣。
8GB卡按SDHC规格格式化为FAT32,4KB簇,数据区约195万个簇。
每簇FAT记录4字节,单份FAT表约8MB,双份约15MB,约占0.2%。
格式化还要写引导区、FSInfo扇区和根目录区,占用另计。
簇是分配最小单位,4KB簇下1KB文件占4KB,小文件越多实际浪费越大。
第一层:颗粒容量与报告容量之间隔着OP
闪存颗粒的物理容量比卡面标称大,差额就是OP。NAND出厂允许一定比例初始坏块,擦写还会产生新坏块;磨损均衡要把写入摊到所有块上,垃圾回收要搬运有效页,都靠冗余空间周转。没有OP,卡写到后半程会掉速甚至写不进去。
OP的三个用途拆开看
坏块替换是直接用途,校验失败的块被剔除,数据改写到好块。磨损均衡靠OP轮换冷热块,让各块擦写次数接近。垃圾回收在后台把零散有效页搬到空闲块再整块擦除。三件事共用同一池冗余。
为什么有的卡OP超过10%
高写入负载的工业卡、高耐久卡通常把OP设高,高的超10%,换来更稳的写入和更长寿命;消费级存储卡倾向压低OP。比例高低是定位差异,不是技术代差。
关键口径:OP只扣一次
主机看到的标称8GB,是主控报告的LBA容量,OP已在报告前扣掉。系统折算出7.4GB是单位口径,格式化扣FAT表是文件系统开销,都不涉及OP。米客方德8GB TF卡型号SDSDQAB-008G-MK-D同样按这个口径报告,再减OP就重复了。
第二层:8GB卡在SDHC档位用FAT32
SD协会按容量分四档:SDSC不超过2GB,用FAT12/FAT16;SDHC为2GB到32GB,用FAT32;SDXC为32GB到2TB,用exFAT;SDUC为2TB到128TB。8GB落在SDHC,默认FAT32。FAT32受MBR寻址和Windows工具限制,上限长期卡在约32GB。
算一笔FAT表的账
8GB FAT32、4KB簇,数据区约195万簇,实际约194万。FAT表给每个簇留一条4字节记录,标明空闲、占用或坏簇,194万乘4字节约7.8MB。规范要求双份,合计约15MB,约占0.2%。
引导区、FSInfo与根目录
格式化还要写保留引导区,存放跳转指令和BPB参数;FSInfo扇区记录空闲簇数,免去全盘扫描;根目录区也是普通簇链,位置格式化时固定。这些元数据和双份FAT表合计构成固定开销。
第三层:簇大小带来的使用浪费
扇区512字节是读写最小单位,簇是若干扇区组成的分配最小单位。4KB簇下,1字节文件也占4KB。簇调大,簇数少、FAT表小,但小文件浪费增加;簇调小则相反。米客方德按ISO9001体系管理出厂格式化流程,8GB卡默认4KB簇是SDHC常规选择。
对比表
8GB TF卡可用容量构成对账表
| 扣减环节 | 量级 | 发生层面与是否重复 |
| OP预留 | 预留若干百分点,高的超10% | 固件层,报告标称前已扣 |
| 单位口径 | 8GB折合约7.45GiB,差约371MB | 显示层,不占字节 |
| 双份FAT表 | 单份约7.8MB,双份约15MB | 文件系统层,约占0.2% |
| 引导区/FSInfo/根目录 | 另计,单笔为KB至扇区级 | 文件系统层,格式化时写入 |
| 簇内浪费 | 每文件最多浪费近4KB | 使用层,随小文件数量增长 |
| 最终可用 | 约7.4GB显示值减去元数据 | 三层口径合计,无重复扣减 |
决策清单
把容量账分三层核对:OP、单位口径、文件系统开销。
确认OP只在出厂扣一次,不从4GB里再扣。
8GB卡应识别为SDHC、FAT32,4KB簇。
用194万簇乘4字节核对单份FAT表约8MB。
双份FAT表约15MB、约占2%,属性里看不到明细但属于正常开销。
小文件密集场景预留簇浪费余量,别按标称容量算满。
大文件连续写入场景关注OP大小,OP足则满盘掉速更缓。
重新格式化选不同簇大小,FAT表与簇浪费会此消彼长。
容量异常时先查LBA数,再查文件系统,不要直接归因于坏块。
常见问题 FAQ
问:TF卡的OP预留空间到底是什么,能关掉吗?
答:OP是主控固件从颗粒预留的冗余空间,用于坏块替换、磨损均衡和垃圾回收,由固件内部管理,主机看不到也无法关闭。关掉OP,卡的寿命和满盘写入性能都会失去保障。
问:8GB卡格式化后少了十几MB,这部分是什么?
答:主要是双份FAT表,约15MB,另外还有引导区、FSInfo扇区和根目录。这些是FAT32管理文件必需的元数据,格式化时写入,约占0.2%。
问:FAT表为什么要存两份?
答:这是FAT文件系统规范的冗余设计。第一份FAT表因异常断电或损坏出错时,系统可以用第二份恢复卷结构,代价是多占约7.8MB。
问:簇选大一点是不是更省空间?
答:只对大文件场景成立。簇大则簇数少,FAT表小,但每个小文件平均浪费半个簇;小文件多的场景,4KB簇比16KB簇更省。8GB SDHC默认4KB簇是通用折中。
问:同样8GB的卡,为什么一张可用多几十MB?
答:OP比例和文件系统参数都可能不同。OP预留少的卡报告容量略大,簇大小不同也影响FAT表体积。差异在几十MB量级一般都源于此。
问:OP会不会越用越少,最后容量缩水?
答:用户可见容量不会因OP使用而减少。坏块替换消耗的是预留池,主机LBA范围保持不变;只有卡寿命末期坏块超出OP承受能力,才可能出现掉盘或写保护,那是失效而不是容量缩水。
37