CN105589912B - 一种利用mram处理频写文件的方法及存储结构 - Google Patents
一种利用mram处理频写文件的方法及存储结构 Download PDFInfo
- Publication number
- CN105589912B CN105589912B CN201510141481.2A CN201510141481A CN105589912B CN 105589912 B CN105589912 B CN 105589912B CN 201510141481 A CN201510141481 A CN 201510141481A CN 105589912 B CN105589912 B CN 105589912B
- Authority
- CN
- China
- Prior art keywords
- written document
- mram
- frequency
- frequency written
- nand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种利用MRAM处理频写文件的方法,包括以下步骤:应用程序通过应用程序接口请求操作系统的文件系统处理频写文件;操作系统的文件系统在MRAM的频写文件区处理频写文件。频写文件是指频繁被修改的,通常每次修改只添加少量数据,不编辑旧内容的文件。本发明还提供一种利用MRAM处理频写文件的存储结构。本发明提供的利用MRAM处理频写文件的方法及存储结构,在MRAM的频写文件区处理频写文件,能够极大减少擦写NAND的次数,延长NAND的使用寿命;读写MRAM的速度,会比读写NAND快十到数百倍,有利于提高系统的运行速度;需要频繁写入的存储块留在了MRAM中,进一步提高系统的运行速度。
Description
技术领域
本发明涉及一种利用MRAM技术处理频繁进行写操作的文件的方法及存储结构。
背景技术
现在的智能手机、平板电脑,以及越来越多的计算机中,用户数据、文件被存在NAND闪存芯片中。
NAND是一种整块读写的存储设备,最小可读取的单元叫page,最小可擦除的单元叫block,一个block往往由很多page组成,block擦除后里面的page可以进行单独的写入操作。
NAND闪存技术的发展推动了固态硬盘(SSD)产业的发展。
如图1所示,现有的计算机存储结构用于存储数据的一组NAND芯片,用于支持计算和缓存数据的DDR DRAM(内存),以及一个主控芯片(SSD Controller)组成。有时候还需要断电保护系统。与主机之间通过高速串行接口如SATA,PICe等技术。
如图2所示,现有的手机、平板电脑存储结构包括:用于存储代码和用户数据的NAND以及用于计算的DDR内存(双倍速率动态随机存储器,为DDR DRAM的简称,Double DataRate Dynamic Random Access Memory),分别连接主机芯片。
如图3所示,手机与计算机的文件操作方式如下:
(1)应用软件向操作系统发出打开、关闭、读、写文件指令;
(2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
(3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读page,写block等指令。
在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
使用NAND闪存遇到的一个问题是NAND具有有限的寿命。里面的每一个block经过一定次数的擦写以后,就会永久失效不能继续使用。
目前的产业发展趋势是NAND的容量和数据密度增长非常快,但却是以降低寿命为代价。可擦写次数从最初的10万次降低到目前的3000次左右。其结果是,固态硬盘在经过一段时间的使用后必须更换,手机则可能会提前报废。
另一方面而随着互联网行业的发展,越来越多的应用使用频繁进行写操作的文件。比如微信聊天记录,频繁地更新,每次只有很少量的数据,却可能导致NAND一个page甚至一个block要重写。因此微信等应用的普及,已导致手机的故障率上升,成为各个厂家头疼的问题。
因此,本领域的技术人员致力于开发一种利用MRAM处理频写文件的方法,以延长NAND的使用寿命,降低手机等设备的故障率。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种利用MRAM处理频写文件的方法,以延长NAND的使用寿命。
频写文件是指需要频繁地进行写操作,通常每次写操作只是添加一小部分数据的文件,实际例子包括:系统中的各种log文件,微信、QQ等网上聊天记录。一台手机、计算机中频写文件数量并不多,却贡献了系统绝大部分写操作。
本发明的背景是MRAM技术的发展,MRAM是一种新的内存和存储技术,可以像SRAM/DRAM一样快速随机读写,还可以像Flash闪存一样在断电后永久保留数据。不像NAND可擦写次数有限,MRAM可以无限多次地擦写。但预计未来相当长一段时间内,MRAM的容量比NAND低,成本比NAND高。
如果利用MRAM处理频写文件,就能够极大减少擦写NAND的次数,从而保护NAND,延长NAND的使用寿命。
本发明提供一种利用MRAM处理频写文件的方法,包括以下步骤:
(1)应用程序通过应用程序接口请求操作系统的文件系统处理频写文件;
(2)操作系统的文件系统在MRAM的频写文件区储存并处理频写文件。
本发明提供的利用MRAM处理频写文件的方法,在MRAM的频写文件区处理频写文件,能够极大减少擦写NAND的次数,从而保护NAND,延长NAND的使用寿命。
由于读写MRAM的速度,会比读写NAND快十到数百倍。降低读写NAND的频率,将有利于提高系统的运行速度。
进一步地,应用程序接口包括频写文件选项,使得应用程序能够通过应用程序接口,请求操作系统的文件系统进行频写文件操作,这样既能够延长NAND的使用寿命,又能够提高系统的运行速度。
进一步地,处理为创建、打开、读、写或关闭频写文件。
进一步地,处理为创建频写文件时,步骤(2)包括以下步骤:
(21)文件系统在频写文件区中分配一个空闲的MRAM页给频写文件;
(22)如果频写文件区中空闲的MRAM页的数量小于第一预警值,文件系统将频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中。
进一步地,处理为写频写文件时,步骤(2)包括以下步骤:
(23)文件系统收到写频写文件指令;
(24)使用写频写文件指令中的数据,更新频写文件对应的MRAM页,并记录上次写入时间;
(25)如果频写文件在频写文件区中的大小超过一个MRAM页的大小,将频写文件对应的MRAM页转移到NAND或下一级缓存中,并分配一个空闲的MRAM页给频写文件;
(26)如果频写文件区中空闲的MRAM页的数量小于第一预警值,文件系统将频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中。
进一步地,处理为打开、读或关闭频写文件时,步骤(2)包括以下步骤:
(27)打开、读或关闭所述频写文件不影响频写文件在MRAM中的存储。
本发明还提供一种利用MRAM处理频写文件的存储结构,利用MRAM处理频写文件的存储结构包括NAND与MRAM,MRAM包括频写文件区,频写文件区用于存储频写文件的活动页,NAND用于存储非频写文件以及频写文件的非活动页。
进一步地,MRAM通过DDR DRAM接口与主控芯片或CPU连接。
进一步地,MRAM设置于固态硬盘中。
与现有技术相比,本发明提供的利用MRAM处理频写文件的方法及存储结构具有以下有益效果:
(1)在MRAM的频写文件区处理频写文件,能够极大减少擦写NAND的次数,从而保护NAND,延长NAND的使用寿命;
(2)读写MRAM的速度,会比读写NAND快十到数百倍,降低读写NAND的频率,将有利于提高系统的运行速度;
(3)将写缓存中上次写入时间最早的MRAM页的数据写入NAND页或下一级缓存,需要频繁写入的存储块,都留在了MRAM中进行写入操作,进一步提高系统的运行速度;
(4)由于MRAM与NAND一样在断电后可以保持内容,因而在关机和断电时不需要清理操作,在开机和加电时不需要重新载入,进一步提高系统的运行速度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术中用于计算机的固态硬盘结构示意图;
图2是现有技术中用于手机、平板电脑的存储结构示意图;
图3是现有技术中文件操作流程图;
图4是本发明的一个实施例的利用MRAM处理频写文件的存储结构示意图;
图5是使用图4所示的存储结构,创建频写文件的流程图;
图6是使用图4所示的存储结构,写频写文件的流程图;
图7是本发明的另一个实施例的利用MRAM处理频写文件的存储结构示意图。
具体实施方式
如图4所示,本发明的一个实施例的利用MRAM处理频写文件的存储结构,包括NAND与MRAM,MRAM包括频写文件区,MRAM用于存储频写文件的活动页,NAND用于存储非频写文件以及频写文件的非活动页。
MRAM通过DDR DRAM接口与主控芯片或CPU连接,也就是主控芯片或CPU通过DDRDRAM接口操作MRAM中的频写文件的活动页。
对于频写文件,由于每次写操作只是添加一小部分数据,因此最后一页为频写文件的活动页,是写操作进行的位置,而其他页并不进行写操作,为非活动页。
将活动页存储于MRAM,非活动页存储于NAND,使得对频写文件写操作在MRAM中进行,而不在NAND中进行,因此能够极大减少擦写NAND的次数,从而保护NAND,延长NAND的使用寿命。
本实施例中,MRAM并不是用作NAND的写缓存,在如果用作写缓存,一个页在MRAM和NAND中各保存一份。而本实施例中一个页仅在MRAM中保存一份。
本实施例中的利用MRAM处理频写文件的存储结构为用于计算机的固态硬盘。
本实施例中,包括以下步骤:
(1)应用程序通过应用程序接口请求操作系统的文件系统处理频写文件;
(2)操作系统的文件系统在MRAM的频写文件区处理频写文件。
应用程序接口包括频写文件选项,使得应用程序能够通过应用程序接口,请求操作系统的文件系统进行频写文件操作,这样既能够延长NAND的使用寿命,又能够提高系统的运行速度。
处理为创建、打开、写或关闭频写文件。
处理为创建频写文件时,如图5所示,包括以下步骤:
1文件系统在频写文件区中分配一个空闲的MRAM页给频写文件;
2如果频写文件区中空闲的MRAM页的数量小于第一预警值,执行步骤3;否则执行步骤4;
3文件系统将频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中;
4创建频写文件结束。
处理为写频写文件时,如图6所示,包括以下步骤:
1文件系统收到写频写文件指令;
2使用写频写文件指令中的数据,更新频写文件对应的MRAM页,并记录上次写入时间;
3如果频写文件在频写文件区中的大小超过一个MRAM页的大小,执行步骤4;否则执行步骤6;
4将频写文件对应的MRAM页转移到NAND或下一级缓存中,并分配一个空闲的MRAM页给频写文件;
5如果频写文件区中空闲的MRAM页的数量小于第一预警值,文件系统将频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中;
6写频写文件结束。
处理为打开、读或关闭频写文件时,包括以下步骤:
打开、读或关闭所述频写文件不影响频写文件在MRAM中的存储。
第一预警值通常选择1或2。
实现本发明的利用MRAM处理频写文件的方法,对于现有软件的修改包括两个方面:
1对文件系统的修改
图5、图6所示的两个流程图描述的算法,可以很容易的通过C、C++等编程语言实现为一个文件系统的软件模块。
另外文件系统的API(Application Program Interface,应用程序接口)中,需要在创建Create处理函数中,增加“频写文件”参数。
对于手机,修改专用于NAND闪存的文件系统,例如YAFF。
2对应用软件的修改
利用修改的文件系统的API的创建Create处理函数,处理频写文件,从而提高处理速度,并延长NAND的寿命。
如图7所示,本发明的另一个实施例的利用MRAM处理频写文件的存储结构,包括NAND与MRAM,MRAM包括频写文件区,MRAM用于存储频写文件的活动页,NAND用于存储非频写文件以及频写文件的非活动页。
MRAM设置于固态硬盘中。
本实施例中的利用MRAM处理频写文件的存储结构为用于手机、平板电脑的存储结构。
本发明提供的利用MRAM处理频写文件的方法及存储结构,在MRAM的频写文件区处理频写文件,能够极大减少擦写NAND的次数,从而保护NAND,延长NAND的使用寿命;读写MRAM的速度,会比读写NAND快十到数百倍,降低读写NAND的频率,将有利于提高系统的运行速度;将写缓存中上次写入时间最早的MRAM页的数据写入NAND页或下一级缓存,需要频繁写入的存储块,都留在了MRAM中进行写入操作,进一步提高系统的运行速度;由于MRAM与NAND一样在断电后可以保持内容,因而在关机和断电时不需要清理操作,在开机和加电时不需要重新载入,进一步提高系统的运行速度。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (9)
1.一种利用MRAM处理频写文件的方法,包括以下步骤:
(1)应用程序通过应用程序接口请求操作系统的文件系统处理频写文件;
(2)操作系统的文件系统在MRAM的频写文件区储存并处理所述频写文件,所述频写文件区用于存储频写文件的活动页;
其中,对于频写文件,每次写操作只是添加一小部分数据,最后一页为频写文件的活动页,是写操作进行的位置,而其他页并不进行写操作,为非活动页。
2.如权利要求1所述的利用MRAM处理频写文件的方法,其特征在于,所述应用程序接口包括频写文件选项。
3.如权利要求1所述的利用MRAM处理频写文件的方法,其特征在于,所述处理为创建、打开、读、写或关闭频写文件。
4.如权利要求3所述的利用MRAM处理频写文件的方法,其特征在于,所述处理为创建频写文件时,步骤(2)包括以下步骤:
(21)所述文件系统在所述频写文件区中分配一个空闲的MRAM页给所述频写文件;
(22)如果所述频写文件区中空闲的MRAM页的数量小于第一预警值,所述文件系统将所述频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中。
5.如权利要求3所述的利用MRAM处理频写文件的方法,其特征在于,所述处理为写频写文件时,步骤(2)包括以下步骤:
(23)所述文件系统收到写频写文件指令;
(24)使用所述写频写文件指令中的数据,更新所述频写文件对应的MRAM页,并记录上次写入时间;
(25)如果所述频写文件在所述频写文件区中的大小超过一个MRAM页的大小,将所述频写文件对应的MRAM页转移到NAND或下一级缓存中,并分配一个空闲的MRAM页给所述频写文件;
(26)如果所述频写文件区中空闲的MRAM页的数量小于第一预警值,所述文件系统将所述频写文件区中上次写入时间最早的MRAM页转移到NAND或下一级缓存中。
6.如权利要求3所述的利用MRAM处理频写文件的方法,其特征在于,所述处理为打开、读或关闭频写文件时,步骤(2)包括以下步骤:
(27)打开、读或关闭所述频写文件不影响所述频写文件在MRAM中的存储。
7.一种利用MRAM处理频写文件的存储结构,其特征在于,所述利用MRAM处理频写文件的存储结构包括NAND与MRAM,所述MRAM包括频写文件区,所述频写文件区用于存储频写文件的活动页,所述NAND用于存储非频写文件以及频写文件的非活动页;其中,对于频写文件,每次写操作只是添加一小部分数据,最后一页为频写文件的活动页,是写操作进行的位置,而其他页并不进行写操作,为非活动页。
8.如权利要求7所述的利用MRAM处理频写文件的存储结构,其特征在于,所述MRAM通过DDR DRAM接口与主控芯片或CPU连接。
9.如权利要求7所述的利用MRAM处理频写文件的存储结构,其特征在于,所述MRAM设置于固态硬盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510141481.2A CN105589912B (zh) | 2015-03-27 | 2015-03-27 | 一种利用mram处理频写文件的方法及存储结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510141481.2A CN105589912B (zh) | 2015-03-27 | 2015-03-27 | 一种利用mram处理频写文件的方法及存储结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589912A CN105589912A (zh) | 2016-05-18 |
CN105589912B true CN105589912B (zh) | 2019-09-03 |
Family
ID=55929494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510141481.2A Active CN105589912B (zh) | 2015-03-27 | 2015-03-27 | 一种利用mram处理频写文件的方法及存储结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589912B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630697B (zh) * | 2015-04-15 | 2019-02-01 | 上海磁宇信息科技有限公司 | 一种利用mram存储小文件的存储装置 |
CN110609817A (zh) * | 2018-05-28 | 2019-12-24 | 上海磁宇信息科技有限公司 | 一种防止文件碎片化的文件存储系统 |
CN114442960A (zh) * | 2022-01-27 | 2022-05-06 | 新拓尼克科技(成都)有限公司 | 一种无惧异常掉电并增加使用寿命的固态存储方案 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842770B1 (en) * | 2000-08-18 | 2005-01-11 | Apple Computer, Inc. | Method and system for seamlessly accessing remotely stored files |
CN101038529A (zh) * | 2006-03-16 | 2007-09-19 | 程滋颐 | 用长寿命非挥发性存储芯片提高内或外部存储器使用寿命 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103777905A (zh) * | 2014-02-14 | 2014-05-07 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
CN203838697U (zh) * | 2014-05-27 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种基于ddr接口的固态硬盘装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140739B2 (en) * | 2008-08-08 | 2012-03-20 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table |
US8724392B1 (en) * | 2012-11-16 | 2014-05-13 | Avalanche Technology, Inc. | Controller management of memory array of storage device using magnetic random access memory (MRAM) |
-
2015
- 2015-03-27 CN CN201510141481.2A patent/CN105589912B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842770B1 (en) * | 2000-08-18 | 2005-01-11 | Apple Computer, Inc. | Method and system for seamlessly accessing remotely stored files |
CN101038529A (zh) * | 2006-03-16 | 2007-09-19 | 程滋颐 | 用长寿命非挥发性存储芯片提高内或外部存储器使用寿命 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103777905A (zh) * | 2014-02-14 | 2014-05-07 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
CN203838697U (zh) * | 2014-05-27 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种基于ddr接口的固态硬盘装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105589912A (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5413572B2 (ja) | メモリストレージ装置及びその制御方法 | |
KR20130031046A (ko) | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
TW201003392A (en) | Data accessing method for flash memory and storage system and controller using the same | |
CN103049396B (zh) | 数据的刷写方法及装置 | |
CN105630700B (zh) | 一种具有二级缓存结构的存储系统及读写方法 | |
CN104866428A (zh) | 数据存取方法和数据存取装置 | |
CN108182154A (zh) | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 | |
CN105224474A (zh) | 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 | |
CN105589912B (zh) | 一种利用mram处理频写文件的方法及存储结构 | |
CN103927215B (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统 | |
CN105630691A (zh) | 一种使用mram的固态硬盘及使用物理地址的读写方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
US9785552B2 (en) | Computer system including virtual memory or cache | |
JP6975202B2 (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
CN105630699B (zh) | 一种使用mram的固态硬盘及读写缓存管理方法 | |
US11416403B2 (en) | Method and apparatus for performing pipeline-based accessing management in storage server with aid of caching metadata with hardware pipeline module during processing object write command | |
CN104007939A (zh) | 用于小文件频繁写入的嵌入式fat文件系统及方法 | |
CN105389268A (zh) | 资料储存系统及其运作方法 | |
US10083117B2 (en) | Filtering write request sequences | |
CN105630406B (zh) | 利用mram作为编辑缓存区的存储系统及编辑缓存方法 | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
EP2381354A2 (en) | Data recording device | |
CN105630697A (zh) | 一种利用mram存储小文件的存储结构 | |
CN105653468B (zh) | 一种使用mram的存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |