nvm

NVM区数据备份机制

你。 提交于 2019-11-26 02:34:08
上一篇主要说明NVM区操作注意事项,本文针对上篇提到的NVM区数据备份方法进行补充讲解。 NVM区主要特性是写入数据掉电不丢失,可以永久的保存数据,一般用作存放不经常修改的数据,此功能类似FLASH。向NVM区写入数据可分为3步:第一步,将目标扇区内原有数据读出到RAM中;第二步,擦除NVM目标扇区内数据;第三步,将新数据和RAM中的旧数据写入到该扇区中。基于以上写操作的特点可以看出,若执行写NVM区操作的第二步或第三步时芯片断电了,就会造成NVM区内原有数据丢失,而新数据写入失败,表现出NVM区内数据错乱的现象。虽然这只是小概率事件,但出于稳定性和产品健壮性考虑也要加入数据备份机制。 数据备份有两套基本方案,分别适用于小数据量和大数据量的应用场景。本期介绍小数据量备份方案,即要求每次更新数据量小于一个扇区大小减1,本例扇区大小256字节,因此更新数据量最大255字节。(注意:不同型号芯片NVM扇区大小会有差异,可以联系凌科技术确认)。实现思路是:从NVM区选取两块区域,每个区域的最后一字节记录该区域的操作次数。以该标志决定更新数据应选用哪个区域。依次循环操作两个区域,操作区域1的时候,区域2就充当了备份作用,反之同理。 第一次写入数据 第一步:将NVM区地址0x0000~0x00FF定义为Block1,将0x0200~0x02FF定义为Block2。 #define Block1

windows下node多版本管理NVM安装

不问归期 提交于 2019-11-26 01:45:45
下载 nvm-windows 最新下载地址: https://github.com/coreybutler/nvm-windows/releases 注意事项 选择nvm安装的路径中最好不要出现空格和中文 如果之前安装过node环境需要先卸载 安装完nvm之后输入 nvm list 如下: PS C:\Users\Administrator\Desktop\nodejs> nvm list No installations recognized. 安装node 运行 nvm install 8.11.4 64-bit PS C:\Users\Administrator\Desktop\nodejs> nvm install 8.11.4 64-bit Downloading node.js version 8.11.4 (64-bit)... Complete Creating D:\Node\nvm\temp Downloading npm version 5.6.0... Complete Installing npm v5.6.0... Installation complete. If you want to use this version, type nvm use 8.11.4 运行 nvm use 8.11.4 ,使用8.11.4版本的node环境 PS C:

NVM区数据备份机制(二)

隐身守侯 提交于 2019-11-26 01:22:16
上一篇文章介绍了第一种NVM区备份机制,但写入数据长度受限于扇区大小,本文介绍第二种NVM区数据备份机制。此方法会先将NVM区划分为A、B两个等大小区域,将A区作为正式数据区,B区作为备份区,每个区域的最后一字节为数据有效标志位FLAG,1表示该区数据有效,0表示该区数据无效。更新数据过程中若出现掉电,重新上电后先根据A、B两区FLAG判断哪个区域内数据有效,进而继续完成更新操作。本例中NVM区大小是32KB,A区大小划分为16KB,B区大小划分为16KB。举例说明:本例假设A区已经成功写入了数据,需要向NVM区写入新数据。其他情况处理流程与下述4步同理。 (1)判断A区FLAG = 1后,将A区数据读出写入到B区,写入成功后,将B区 FLAG赋值为1。 (2)B区FLAG修改成功后,将A区FLAG标志改为0。 (3)A区FLAG标志修改成功后,对A区进行数据更新操作,即写入新数据。更新成功后,将A区FLAG标志写为1。 (4)A区FLAG修改成功后,将B区FLAG标志修改为 0,至此完成数据更新操作。 至此,两种NVM区数据备份方案全部介绍完毕。 来源: 51CTO 作者: 李阿淇 链接: https://blog.51cto.com/13520299/2432604

NVM作为主存上对数据库管理系统的影响

放肆的年华 提交于 2019-11-25 23:52:58
NVM作为主存上对数据库管理系统的影响 implications of non-volatile memory as primary storage for database management systems 摘要 传统的数据库管理系统使用磁盘存储关系型数据。硬盘的特点:廉价、持久性、大容量。然而,从磁盘进行读取数据代价非常高。为了消除这个延迟,需要DRAM作为中间媒介。DRAM的特点:比磁盘速度快,但容量小且不具备持久性。NVM是一个新兴的存储技术,具有容量大、字节寻址、堪比DRAM的存储速度、非易失兴。 本文,我们综述了NVM作为主存对关系型数据库管理系统的影响。即,研究了如何修改传统的关系型数据库管理系统以充分利用NVM的特性。修改了PostgreSQL的存储引擎,使之适配NVM,并详细描述了如何修改以及修改的挑战。最后通过一个全面的仿真平台对其进行测试评估。结果显示,数据存储在磁盘:修改后的PG查询时间比原生PG减少40%;数据存储在NVM,可以减少14.4%。平均分别减少20.5%和4.5%。 引言 一般数据库管理系统都是内存加磁盘的架构,数据集最终会持久化到磁盘。磁盘具有廉价、非易失的特性,适合存储大规模数据。然而,当从磁盘读取数据时,时间比较长。为了减少数据访问的延迟,在CPU和磁盘直接添加了DRAM作为中间存储媒介。DRAM的访问速度比磁盘快几个数量级。另外