我想管理一个单字节计数器,每当特定命令发送到智能卡时,该计数器会递增。达到255后,此计数器将始终重置为0.
是否存在另一种方法来管理此计数器而不会因为过多的EEPROM写入而最终佩戴该卡?是否可以在不使用EEPROM的情况下计算/存储此计数器?
答案 0 :(得分:1)
如果不是问题,每年更换一次卡,就不需要任何特殊处理,因为某些硬件制造商支持500.000次写访问。在任何情况下,在真实的样品卡上运行更新过程,直到磨损,找出真正的限制。
否则您可以尝试以下操作:
您的计数器的写入过程可能需要访问权限。 确保每次会话只获得一次此权利 (否则最美的方案不会改善任何东西)。
尝试减少实际更新过程,例如: G。通过检索 会话开始时的计数器值并更新RAM副本 (在您的主机应用程序中)并写入非易失性 记忆每10,100或其他合理的间隔。如果是这样的话 仍然不够,尝试在一个大的内部分发信息 文件,其中大意味着大大超过页面大小,所以你 肯定会真正解决不同的内存页面。
答案 1 :(得分:0)
您可以将此计数器存储在根据某个唯一ID读取卡片的设备上。
或者您可以使用多个字节来存储一个字节,因此它不会磨损得那么快。 示例实现将首先具有全零,然后将第一个字节更新为1然后将其更新为2,并且在读取时您可以仅使用最大值。当你必须重置时,你会将所有字节重置为零。
四个字节的示例:
请注意,除了重置之外,每次写入只会修改一个字节。