首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API

HAL库的内部Flash编程函数HAL_FLASH_Program固定编写32字节数据。...70.2.4 内部Flash写入和擦除操作 最重要的知识点放在开头说:STM32H7内部Flash的写操作地址必须是32字节对齐(此地址对32求余数为0),写入的数据量也必须是32字节整数倍,不足32字节整数倍...这里我们重点了解Flash的写入和擦除流程。Flash的写入扇区流程如下: 先保证这块扇区空间之前已经擦除过了。 解锁Flash,通过HAL库的函数HAL_FLASH_Unlock实现。...特别注意:Level2修改是永久性的,一旦配置为Level2将不再支持被修改。...70.4.3 函数HAL_FLASH_Program 函数原型: HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t FlashAddress

1.6K10

《手把手教你学DSP》总结1

这是一种线路最简单半导体电路,通过掩模工艺, 一次性制 造,其中的代码与数据将永久保存(除非坏掉),不能进行修改。...PROM在出厂时,存储的内容全为1,用户可以 根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1), 以实 现对其“编程”的目的。...Flash memory指的是“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品。...目前“闪存”被广泛用在PC机的主板上,用来保存BIOS程序,便于进行程序的升级。...SN74ALVC164245 驱动电路(可用于PWM输出端提高驱动能力)74HC245 ADC校准是采用的CJ431基准电压 芯片的使用电路可由Datasheet查出 ADC的输入要有保护电路以保证不会产生高于

55620
您找到你想要的搜索结果了吗?
是的
没有找到

软硬件融合技术内幕 终极篇 (10) —— 数据持久化的秘密 (上)

DRAM和Cache缓存等,实际上都属于RAM,在计算机系统掉电后,DRAM中储存的内容会永久丢失。 那么,有没有合适的方法让数据能够在断电后继续保存(持久化存储)呢?...当然,从性能的角度看,Flash (闪存)成为了持久化存储芯片的主流。 与DRAM类似,Flash芯片的内部也由一个一个单元构成。...由于Flash芯片的基底材料为具备高度绝缘性的二氧化硅,注入到MOSFET管中的电荷可以长期保存,因此,即使断电,Flash芯片存储的内容也不会丢失。...实际写入block数与需要写入block数的比例,叫做写放大因子(WAF, Write Amplification Factor)。...由于只有对未分配的block写入才会出现写放大,SSD的写性能会在空间将满时急剧下降。特别地,对于QLC闪存,这种现象会更加显著。 那么,我们有没有办法解决这一问题呢? 请看下期。

33830

都是颗粒 为什么SSD有寿命、内存却没有?

DRAM内存颗粒利用晶体管加电容来保存数据,而且只是临时存储数据,并没有实质性的写入,不涉及对物理单元结构、属性的改变,所以可以无限次读写。 ?...当然,这并不意味着DRAM内存就可以永久使用,毕竟其中的晶体管、电容等物理结构也会慢慢老化,所有电子设备都是如此,只是这个过程非常非常缓慢,正常使用根本感觉不到。...SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改变内部状态来存储数据,随着时间的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。...NAND闪存的寿命一般用P/E编程擦写次数来描述,写满一次容量就损失一次P/E。

1.4K40

NVMe协议及视频转码应用

NVM协议简介 NVMe的演变 第一批基于闪存的SSD利用传统的SATA / SAS物理接口,协议和外形,最大限度地减少现有基于硬盘(HDD)的企业服务器/存储系统的变化。...但是,这些接口和协议都没有设计用于高速存储介质(即NAND和/或永久存储器)。由于接口速度,新存储介质的性能以及与CPU的接近程度,PCI Express(PCIe)是下一个逻辑存储接口。...该协议相对较新,功能丰富,并且从头开始设计用于通过PCIe接口直接连接到CPU的非易失性存储介质(NAND和永久存储器)(见图1)。该协议建立在高速PCIe通道上。...由于NAND闪存的特性,SSD具有有限的寿命,这些写入操作的数量由称为NAND闪存可以承受的编程/擦除(P/E)周期的写入操作决定。...图4 多流写入 异步事件捕获 NVMe协议还支持异步事件,例如SMART状态检查,错误报告,固件提交,清理等。这些对于主机在需要时理解,响应和控制设备至关重要。这些事件可能不会立即执行,也不会超时。

3.3K31

相比SSD,HDD现在的唯一优势只有价格?

不同类型的存储介质的特点 传统的HDD将数据存储在高速旋转的磁盘上,当磁盘旋转时,一对磁头就会在磁盘上移动来读取或写入数据。 数据会存储出在圆形的轨道上,我们称为磁道。...与HDD不同,SSD没有活动的部件,取而代之的是SSD将数据写入和存储在闪存芯片上。...不同于HDD,所有类型的SSD都属于"消耗品",这意味着他们会随着数据的反复写入驱动器而逐渐磨损。固态硬盘的故障通常是逐渐发生。随着单个单元的故障,整体的性能会逐渐下降。...目前,多数企业用户采用的是TLC技术的SSD,主要是因为相比于其他类型的闪存SSD,它的成本更低,TLC SSD通常用于常规读取任务和轻型写入操作。...但是,价格仍然是客户选择的一个非常重要的因素,如果SSD的价格在未来几年中大幅下降,那么许多数据中心的硬盘将很快的迁移到SSD中,HDD可能会永久性的退出数据中心。

50120

SSD基本介绍

SSD由闪存芯片和闪存翻译层组成,闪存芯片取代了传统硬盘中的机械磁盘驱动器,而闪存翻译层则负责将CPU的读写请求转换为对芯片的读写控制信号,类似于硬盘中的磁盘控制器。...然而,SSD也存在一些局限性,主要问题包括:随机写入速度:基于EEPROM的擦除原理,SSD的随机写入速度相对较慢。闪存块的擦写寿命:SSD的闪存块有有限的擦写次数,可能导致数据丢失。...为了解决这些问题,SSD采用了磨损均衡技术,主要分为两种:动态磨损均衡:在写入数据时,自动选择较新的闪存块,以平衡各块的磨损。...例如,对于一个256 GB的SSD,如果其闪存的擦写寿命为500次,那么需要写入125 TB数据才可能损坏;而目前的Flash芯片已经能够实现至少上万次的擦写。...发热:SSD发热较少,即使在长时间运行后,表面也不会有明显的发热感。相比之下,HDD在运行一段时间后,表面会明显发热。读取速度:SSD的读取和写入速度普遍可以达到500M/s以上,是HDD的3-5倍。

13600

固态硬盘和传统硬盘的区别

防震性能区别 固态硬盘都是采用闪存颗粒制作,内部没有任何的机械装置。 在遇到翻转,高速移动时和抖动时,也不会影响其运行。...功耗和噪音方面的区别 传统硬盘内有机械马达高速运转,所以相对于没有这些零部件的固态硬盘来说,不会发生机械故障,也不怕碰撞、冲击、震动。 完全零分贝运行,功耗也会更低。 ? ?...现在固态硬盘闪存具有擦写次数限制的问题,被很多人诟病其寿命短, 怎么说呢,一般的固态硬盘闪存颗粒都有擦写次数限制, 闪存完全擦写一次叫做1次P/E,因此闪存的寿命就以P/E作为单位。.../10/365=33年 好像挺长的哈,这个只是理论值,由于固态硬盘还存在写入放大的问题,即实际写入的物理数据量是写入数据量的多倍,有兴趣的可以搜一搜。...相反机械硬盘就没有写入次数限制。但也并不代表不会坏。 ?

2.9K20

聊一聊数据存储的七个技巧

(1)改善存储网络 基于硬盘的系统的延迟不会暴露网络的弱点,虽然确实如此,但基于闪存的系统就是这样,在升级到闪存存储器或向现有系统添加其他SSD硬盘之前,应首先最大限度地提高存储网络的性能。...因此,从用户的角度来看,运行通常的数据存储效率程序不会显著影响性能。 一旦用户对存储网络进行了微调,就应该考虑使用闪存存储部署。...相比之下,服务器端闪存技术将来自多个服务器的内部闪存存储器聚合以创建虚拟闪存池。 这些服务器端的闪存聚合产品适用于读取和写入缓存,甚至适用于存储层。...许多网络缓存在高可用性配置中可用,使其适合缓存读取和写入I/O.用户还可以调整网络缓存的大小,使闪存存储区域大到足以存储组织的整个活动数据集,从本质上将现有阵列转换为存档和数据保护存储系统。...代码相关的性能问题可能被高性能存储屏蔽,但它不会允许闪存充分发挥其全部潜能,这从而迫使管理员需要寻找其他潜在的性能损失,如存储网络。

43040

一文弄清物联网的OTA

安全的最后一个要素是完整性,确保新软件在空中发送时不会损坏。 引导加载程序 理解启动顺序 主引导加载程序是永久驻留在微控制器只读内存上的软件应用程序。...这种方法削弱了闪存,增加了开销。 部分缓存: 保留一个 SRAM 区域用于缓存,当新数据包到达时将它们存储在 SRAM 的区域中。 当区域填满时,通过将数据写入闪存储器来清空它。...完全缓存: 在 OTA 更新过程中,将整个新应用程序存储在 SRAM 中,并只在从服务器完全下载后将其写入闪存。...这种方法通过减少对闪存写入次数,避免了 OTA 更新软件复杂的缓存逻辑,克服了以往方法的缺点。 但是,这将限制下载新应用程序的大小,因为系统上可用 SRAM 的数量通常远小于可用闪存的数量。 ?...指令周期和占用空间还说明了前面讨论的缓存包数据而不是每次写入闪存的权衡。 启用一页闪存缓存后,每个数据包的开销从7,409减少到5,904个周期。

2.1K20

计算机组成原理 存储器概述,主存系统模型和RAM和ROM

特别是价格低廉,使动态存储器成为计算机中使用最多的存储器RAM对比Dynamid Random Access MemoryMOS管接通写入1: 数据线高压,电容存储电荷写入0:数据线OV,电容不会存储电荷读出...ROMROM (Read Olny Memory)ROM 是非易失型存储器,工作时需要电源,当电源消失,存储的信息不会丢失,所以 ROM 可以保存需要长久保存的信息,如程序代码。...PROM可编程式只读存储器(PROM,Programmable ROM)是一种每个比特都由熔丝或反熔丝的状态决定数据内容的ROM这种存储器用作永久存放程序之用。...,第一个E是Electricaly,第二个E是Erasable) --可用"电擦除"的方式,擦除特定的字FPROM闪速存储器(FPROM,Flash PROM)是冈富士雄在东艺公司工作时发明的,也称快闪存储器或闪存...这种技术主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与闪存闪存是一种特殊的、以宏模块擦写的EPROM。

32910

固态硬盘掉电怎么恢复数据

闪存的块信息写入闪存(比如当前写的是哪个闪存块,以及写到该闪存块的哪个位置,哪些闪存块已经写过,哪些闪存块又是无效的,等等); l 把SSD其它信息写入闪存。...正常掉电不会导致数据的丢失,重新上电后,SSD只需把掉电前保存的相关信息(比如映射数据,闪存块信息等等)重新加载,又能接着掉电前的状态继续工作。...,也就是意味着之前写入闪存的数据也可能由于异常掉电导致丢失。...SSD在写用户数据到闪存的时候,会额外的打包一些数据,我们叫它元数据(Meta Data),它记录着该笔用户数据的相关信息,比如该笔数据对应的逻辑地址,数据写入时间(时间戳)等等。...一种办法就是SSD定期的把SSD中RAM的数据(包括映射表和缓存的用户数据)和SSD相关的状态信息(诸如闪存块擦写次数,闪存块读次数,闪存块其它信息等等)写入闪存中去,与正常掉电前SSD要做的事情类似

2.6K30

TRIM:提升磁盘性能,缓解Android卡顿

为了保证应用可以快速被再次调起,Android 在内存管理上采用如下策略:进程保持在内存中,在占用内存未超过阈值之前不会系统进行主动清理。...那么,我们要分析的问题就转化成:磁盘在长期使用的过程中,其读写速度会不会降低。...由于有大量的读写操作,于是我们的 NAND Flash 制定了如下的读写规则: 删除数据时,芯片将标记这些 Page 为闲置状态,但并不会立马执行擦除操作。...我的天啊,其实想存储的就是1个 Page 的图片内容,但是实际上确造成了整个 Block 的内容都被重新写入,同时原本简单一步搞定的事情被还被分成了前后四步执行(闪存读取、缓存改、闪存擦除、闪存写入)造成延迟大大增加...Step 2:解决“写入放大”问题的技术——TRIM 不过,既然“写入放大”(Write Amplification)都这么出名了,肯定不会没有现成的解决方案的!

3.5K110

都是硬盘分区 C盘和D盘到底有什么区别?

固态硬盘的盘符和性能 固态硬盘和机械硬盘不同,不论何时C盘和D盘都不会对应到具体某一个闪存颗粒或是闪存位置上。...NAND闪存在东芝于1987年发明它的时候就有一些特点完全不同于磁性存储介质:写入之前必须先经过擦除(不能直接覆盖写)、擦除的单位Block要比读写单位Page大很多倍。...FTL闪存转换层的出现就是为了让固态硬盘可以用机械硬盘的方式来工作。 ? FTL的存在使得固态硬盘闪存中实际存储数据的物理地址不再始终保持固定。...操作系统层面的文件覆盖写入,或者操作系统内的垃圾回收与磨损均衡策略,都会导致数据在固态硬盘的闪存芯片中的实际位置发生移动。 ?...也就是说,固态硬盘的C盘和D盘并不会对应固定的闪存位置,再加上不同位置的闪存在读写速度上没有磁盘盘片那样的区别,数据存储在固态硬盘的C盘还是D盘就变得不那么重要。 ?

4K10

ECC检验与纠错

NAND闪存在生产和使用中都会有坏块产生,BBM就是坏块的管理机制。而生产坏块已经无法避免,我们只能尽全力减少使用中产生的坏块。...如果操作时序和电路稳定性不存在问题,NAND闪存出错的时候一般不会造成整个Block或Page不能读取甚至全部出错,而是整个Page中只有一个或几个bit出错,这时候 ECC就能发挥作用了。...(1)数据写入时:控制器内部的ECC模块计算数据并生成ECC签名,一般来说这个步骤非常快,因此并不会影响整个SSD太多的性能表现。...上图是个4KB页的NAND闪存(SA区64字节) (1)每当一个page写入NAND闪存,数据会通过ECC引擎,创造独特的ECC签名。...某些主控会把改正后的数据再次写回闪存,另一些则不会,因为谁也不知道下次读取会不会再出错。 ECC评价        ECC的能力也影响到NAND 闪存的寿命和数据保存期。

3K10

SSD固态硬盘的GC与Trim

固态硬盘:在固态硬盘闪存内,数据存储一般是以page(页)为最小单位存储的(典型的为4KB),而128个page组成了一个block(块), 数据以页(page)为单位来读取和写入,但却只能以块(Block...上面这一套在普通的机械硬盘上工作起来非常完美,因为他们可以直接覆写旧的区域,  但是当用到NAND闪存上就行不通了,当全部闪存被写满一遍后,没有空余 (从未写过)的块可以被使用的情况下,速度就下来了。...接下来,清空整个闪存内的这个512KB区域,并从缓存里把新的数据写回去。 ? ?...SSD的主控进行删除文件的交流造成的,  如果有之前没清除干净的数据,所有写入的页的操作都要先清除块再改写,将严重影响写入速度。  ...总结:Trim保证速度不下跌的真正秘密是: 把将来要做的事提前做掉了, 但是这件事迟早要做,所以基本不会影响SSD原有的写入次数(寿命)。 Trim的三要素:   1.

2.8K10

干货:Linux 文件系统与持久性内存介绍

机械硬盘可以直接写入数据:NAND 闪存写入数据之前需要擦除一个擦除块。 机械硬盘的使用寿命比 NAND 闪存长:机械硬盘的扇区的写入次数没有限制:NAND 闪存的擦除块的擦除次数有限。...、内存和超级电容集成到一起,访问速度和内存一样快,并且断电以后数据不会丢失。...而且它的容量,受限于体积,相比传统的 DRAM 也不会有什么提升。...持久内存的速度最多比 DRAM 要慢 10 倍,但比闪存要快大约 1000 倍。可在其中按字节重新写入数据,而不像在闪存中一样,需要擦除整个扇区,然后重新写入数据。...尽管重新写入周期数有限,但大部分形式的持久内存可以应对数百万次重新写入,相比之下,闪存只能应对数千个周期。

2.5K10

闪存的工作原理

前言 闪存有两种分类,NAND型闪存主要用于存储 写操作 ■MOS的特性 给栅极高电平,就导通 给栅极低电平,就截止 在MOS管的基础上加入浮栅层和隧穿层就变成浮栅晶体管(存储一位数据的基本单位...电子就会被吸引形成沟道(因为低电平不能让隧穿层导通,所以等价于绝缘层) 因为形成了沟道,D极和S极就有电流了,在这回路中加一个电流表来检测是否有电流 如果浮栅层里有电子的话,由于同性相斥,即使给栅极通电,电子也不会被吸引上来形成沟道...既然没沟道的话,那就没有回路,就检测不到有电流 ---- 矩阵控制 NAND Flash闪存的读写单位是页,擦写单位是块 可以看出两个浮栅晶体管共用一个N沟道,连接的是同一块衬底(因为衬底都是同一块...,所以以块为单位) 闪存剖视图 闪存3D图 ■如何以块为单位来读写?...当要给某一个晶体管写入逻辑0时,给该行较高的高电平(比如20V),给该列低电平(不形成回路,也就不阻碍电子流向浮栅层) 当给某一个晶体管写入逻辑1时,还是给该行较高的电平(比如20V),给该列高电平(

28120

ram和rom的区别_RAM和ROM各有什么特点

另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。      ...5、FLASH存储器又称闪存   它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器...许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。   ...NOR flash占据了容量为1~16MB闪存市场的大部分。   NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。...Flash ROM 是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。也由于其机构简单所以集成度可以做的很高,容量可以很大。

2K20

计算机硬件知识

这就好比不同的人脑,对于大多数人类来说,人脑的结构一样,所以别人会的东西你也都可以会,但对于爱因 斯坦的脑子来说,它会的你肯定不会。...用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常非常非常非常非常非常重要 寄存器的维护:   操作系统必须知晓所有的寄存器。...不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷, 是便携式音译播放器的磁盘,还应用于固态硬盘。...通常被读入整个PSW,但仅对少量数据写入。 内核态:CPU内核态运行时,CPU可以执行指令集中的所有指令,内核态能访问整个硬件数据及指令,包含了硬件的所有功能。...EEPROM和闪存:EEPROM电可擦除可编程ROM,EEPROM和闪存一样非易失性,具有可擦除和重写功能。其中闪存相当于存储媒介,如相机中的胶卷,磁盘,固态硬盘等。

56120
领券