eMMC第一次使用产生严重GC问题
一.situation
第一次使用新的MMC颗粒( 64G )时,会在容量剩余约40.7G处集中爆发GC问题(>150ms)。
此时MMC不能及时响应主机端的传输请求,导致主机应用层写入音频数据时间过长,从而造成>主机的音频缓存容量不足,丢失音频数据。
发生GC时,SDIO外设写入耗时:

未发生GC时,SDIO外设写入耗时:

二.reason
64GMMC内部约有 1/3 SLC介质的nand flash作为高速缓存, 2/3 TLC介质的nandflash。
首次使用时若将SLC介质全部写满,会触发SLC->TLC的前台GC;
这时MMC设备内部的SLC介质无历史数据可回收(擦除),且SLC介质内部多为有效数据,GC只能执行SLC->TLC的搬移,从而产生严重耗时。
三.solution
MMC设备调整GC策略。
浙公网安备 33010602011771号