通常将采用存储器技术的应用分为可执行代码和数据任务。可执行代码要求使用非易失性存储器,并在所有条件下都能够保留存储器中的代码。数据任务则要求能够对存储器进行快速、简易且无限次数的读 / 写访问。会根据应用程序来决定执行数据任务的存储器是易失性的还是非易失性的。通常可执行代码的存储器采用基于 ROM 的技术,而数据任务的存储器则采用基于 RAM 的技术。作为赛普拉斯中的一款非易失性 RAM 产品,FRAM 提供了独特的优点—它能够将可执行代码和数据组合在一个单存储器中。本篇文章介绍的是代码存储对存储器的要求 .

 

代码存储对存储器的要求
◆非易失性
◆相应的容量
◆读取访问时间
◆防止意外写入的能力
◆在某部分或某段代码中的现场可编程能力
◆编程的同时执行读访问的能力

 

代码存储的基本要求是:应该是非易失性存储器,并在所有条件下都能够保持它的状态。代码存储器是只读的,并且在运行过程中不会更新存储在该存储器中的内容。保持代码所需的存储器空间由应用程序设置。通常额外存储器空间中的 20%-30%提供给将来系统修改使用。代码执行时间是由存储器的读访问时间决定的;访问时间越短,对控制器开销的影响越小。

 

代码存储器是只读的。应防止发生任何意外的写入操作,因为该操作会引起应用故障。不过在几种情况下,代码存储器将被覆盖。周期性更新设计以增加新特性或纠正硬件错误便是一种情况。现场重新编程代码存储器能力是一项主要的优势和功能。通常,重新编程只会影响某部分或某段代码,并不能影响整个代码。执行重新编程期间,写访问时间是决定重新编程器件所需时间的一个因素。

 

代码存储器包含实现擦除 / 编程功能的代码,该代码负责实现预先计划的现场可编程能力。在现场编程过程中,要确保能够对存储器的字节或寄存器的某些部分同时执行读 / 写访问,以避免将擦除 / 编程代码复制到其他存储器(RAM)内并从这些存储空间执行代码所引起的不必要麻烦。

 

Nand Flash 是代码存储器的常用解决方案,但在某些应用程序(它的代码规模比较小,并且应用程序需要读 / 写访问时间(数据记录、能量采集或使用寿命长的电池等操作)对称)中,更应该选择 FRAM。