背景
之前有介绍过写保护,这里就不赘述了,可参考:https://cloud.tencent.com/developer/article/1582185
但没有谈到开销,今天有同事问起,便记录一下
性能
不考虑写保护的nor性能评估及实测,可参考:https://www.cnblogs.com/gmpy/p/12011436.html
bp保护的开销
bp保护,一般都需要写Status Register,这种寄存器是一般是non-volatile,即非易失性,也就是写入后掉电值不会丢失重置,就像写入了flash的数据一般。
这个特性也决定了,其编程时间要长一些。一般是ms级别的。放两家flash的规格书截图供参考,请看其中的tw值:
ms级别的开销意味着,如果在每次写入之前解保护,写入之后恢复保护,会对写性能造成很大的影响。
独立块保护的开销
独立块保护,启用功能时需要写Status Register,启用后就不再需要操作Status Register了。
每次发送的解保护命令和保护命令,导致的状态改变是volatile,即易失性的,掉电后就会被清空,上电时flash总是处于全保护的状态。
每个block的保护状态标记,其实是记录在sram中的,不需要固化到flash中,其开销是ns级别的,这个规格书中没有标注,但可以向厂商了解或自行实测。
ns级别的开销意味着我们可以放心地在每次写入的前后,进行解保护和恢复保护,而不用担心性能问题。
本文地址:https://cloud.tencent.com/developer/article/1585560
公众号:https://sourl.cn/g5CtYg