实例说明写入FRAM的零时钟周期延迟的影响

2023-10-12 00:30

本文主要是介绍实例说明写入FRAM的零时钟周期延迟的影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写入FRAM的零时钟周期延迟

一个典型的EEPROM需要5毫秒的写周期时间,以将其页面数据转移到非易失性EEPROM内。当需要写入几千字节的数据时,会导致写入时间较长。相比之下的FRAM不会使这种写操作变慢;所有写操作按总线速率 进行,并非基于存储器延迟。下面两个实例和图1说明写延迟的影响。

实例1:
需要2毫秒将256字节的页面数据通过1MHz 1C总线从控制器传输到EEPROM页面内。然后需要5毫秒将数据写入到EEPROM内。具有密度为1Mbit和页面大小为256个字节的1MHzCEEPROM需要28毫秒来备份1Kb数据(4x2ms+4x5ms)。

然而使用FRAM时,只要8毫秒(4x2ms)便可以将1Kb数据写入到FRAM中。(这时测量数据从控制器传输到EEPROM缓冲区中所需的总时间。)对于EEPROM,需要3.584秒(512x2ms+512x5ms)传输整个1Mbit数据,但对于FRAM,只需要大约1.024秒(512x2ms)。
在这里插入图片描述

图1.写入到EEPROM和FRAM中的流程

实例2:
需要100us将256字节的页面数据通过20MHzSPI总线从控制器传输到EEPROM页面中,然后需要5ms将一页的数据传输到EEPROM。具有密度为1Mbit和页面大小为256个字节的20MHzSPIEEPROM需要20.4ms来备份上述的两个实例显示了零时钟周期写入FRAM中的延迟提高非易失性写入性能优于EEPROM。

EEPROM支持不同的页面大小,在这种情况下的EEPROM中的较低页面大小需要更多页面写操作和更多写周期时间。因此造成额外的写延迟。因为FRAM不是分页的存储器,所以将给定的数据集写入到它时所需的时间不会随存储器的密度而变化。

1Kb的数据(4x100us+4x5ms)。对于FRAM,只需要400us(4x100us)将1Kb的数据写入到FRAM中。(这时间等于数据从SPI控制器传输到EEPROM缓冲区中所需的总时间)。对于EEPROM,需要2.611秒(512x100us+512x5ms)传输整个1Mbit数据,但对于FRAM,只需要大约51.1毫秒(512×100us)。

这篇关于实例说明写入FRAM的零时钟周期延迟的影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/191931

相关文章

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导