CN105630697A - 一种利用mram存储小文件的存储结构 - Google Patents
一种利用mram存储小文件的存储结构 Download PDFInfo
- Publication number
- CN105630697A CN105630697A CN201510176989.6A CN201510176989A CN105630697A CN 105630697 A CN105630697 A CN 105630697A CN 201510176989 A CN201510176989 A CN 201510176989A CN 105630697 A CN105630697 A CN 105630697A
- Authority
- CN
- China
- Prior art keywords
- block
- file
- mram
- small documents
- memory block
- 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.)
- Granted
Links
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种利用MRAM存储小文件的存储结构,包括MRAM与块存储设备,MRAM包括小文件存储区,用于存储小文件,小文件是指文件大小小于或等于一个页的文件,块存储设备用于存储大文件,大文件是指文件大小大于一个页的文件,小文件存储区的块的容量小于块存储设备的块的容量。本发明提供的利用MRAM存储小文件的存储结构,存储小文件采用的块的容量小于块存储设备的块的容量,因而能够提高存储空间的利用率;在修改文件时,首先需要擦除的块较小,能够降低系统的负担;其次修改操作是在MRAM中完成,整个系统的性能会因此提升;小文件存储区用于存储小文件,还用于存储大文件的尾页,减少了对NAND的写入,延长了系统寿命。
Description
技术领域
本发明涉及固态硬盘,尤其涉及一种利用MRAM存储小文件的存储结构。
背景技术
现在计算机、智能手机、平板电脑中,用户数据、文件被存在硬盘,或者NAND闪存芯片中以及由NAND闪存组成的固态硬盘里。NAND和固态硬盘取代传统的机械硬盘又是一个产业发展的大趋势。
硬盘和固态硬盘内的NAND闪存都是整块读写的块设备(blockdevice),最小可读取的单元叫页(page),最小可擦除的单元叫块(block),一个块往往由很多页组成,块擦除后里面的页可以进行单独的写入操作。
NAND闪存的一个问题是NAND具有有限的寿命。里面的每一个页经过一定次数的擦写以后,就会永久失效不能继续使用。目前的产业发展趋势是NAND的容量和数据密度增长非常快,但却是以降低寿命为代价。可擦写次数从最初的10万次降低到目前的3000次左右。
如图1所示,手机与计算机的文件操作方式如下:
(1)应用软件向操作系统发出打开、关闭、读、写文件指令;
(2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
(3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读page,写block等指令。
在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
文件系统是操作系统软件中的一个重要部分,负责解决文件的存储问题。它会把文件划分成一个个的块,一般每一个块和NAND闪存中的一个页对应。每当一个新文件创建,文件系统会分配给它一个块,当一个块写满后,再分配一个新的块。由于系统中很多文件都在增长,一个文件中的不同的块常常地址不连续,这就是文件的碎片化。并且,一个文件删除后,释放出的空闲块会被新的文件占用。所以,随着产品的使用,文件的碎片化会越来越严重。
随着当代技术的发展,NAND闪存的密度越来越大。于此同时,页和块的尺寸也变得越来越大。页从几年前的512字节(byte)变成了今天的16Kbyte;块从几年前的16Kbyte变成了今天的8192Kbyte。
而一个计算机系统中相当数量的文件是小文件,从10-20字节,到几百个字节。小文件中最典型的例子就是文件夹目录。在大部分文件系统中,目录也是作为一个单独的文件存储的。大部分目录文件都很小,而且被修改的几率非常高。不适合存储在blockdevice里。
计算机文件系统中文件的最小存储单元,一般和NAND的页一样大。因此NAND越来越不适于存储这样的小文件。为存储一个20字节的文件,要占用16Kbyte的空间,存储空间的利用率非常低。为修改这样一个20字节的小文件,甚至可能要对8192Kbyte的数据进行擦除重写,极大地加重了系统的负担。
本领域技术人员致力于提供一种存储小文件的方法,能够提高的存储空间的利用效率,同时降低系统的负担。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种存储小文件的存储结构,能够提高的存储空间的利用效率,同时降低系统的负担。
本发明的重要背景是MRAM技术的发展。MRAM是一种新的内存和存储技术,可以像RAM一样快速随机读写,还可以像NAND闪存一样在断电后永久保留数据。不像NAND,MRAM可以无限多次地擦写。但预计未来相当长一段时间内,MRAM的容量比NAND低,成本比NAND高。
本发明中,采用MRAM协同NAND闪存或者硬盘等块设备一起存储文件,利用成本更低的块设备存储大文件,利用能够随机读写的MRAM存储小文件。
本发明提供一种利用MRAM存储小文件的存储结构,包括MRAM与块存储设备,MRAM包括小文件存储区,用于存储小文件,小文件是指文件大小小于或等于一个页的文件,块存储设备用于存储大文件,大文件是指文件大小大于一个页的文件,小文件存储区的块的容量小于块存储设备的块的容量。
本发明提供的利用MRAM存储小文件的存储结构,存储小文件采用的块的容量小于块存储设备的块的容量,因而能够提高存储空间的利用率。
在修改文件时,首先需要擦除的块较小,能够降低系统的负担;其次修改操作是在MRAM中完成,而不是在硬盘或NAND中完成,在MRAM中操作要比在硬盘或NAND中快得多,整个系统的性能会因此提升。
另外减少了对NAND的写入,延长了系统寿命。
进一步地,小文件存储区至少包括两个存储区,存储区的块的容量依次增大。
设置不同块容量的存储区,能够将不同大小的文件存储在不同块容量的存储区,进一步提高的存储空间的利用率,降低系统的负担。
进一步地,小文件存储区中最大的块的容量等于设定值。
进一步地,根据第一次写入的数据,创建文件时在合适的存储区中选择一个空闲块分配给文件,合适的存储区是指存储区的块是能够容纳文件的最小的块。
进一步地,创建文件时在小文件存储区找不到合适的存储区,将文件交给下一级软件处理,由下一级软件决定存入缓存、直接写入块存储设备,或做其他处理。
本发明的软件涉及对计算机文件系统的修改,如图1所示,文件系统的下一级软件是指NAND管理软件。由于有可能存在缓存机制。所以交给下一级软件处理不一定马上写回到NAND中,也可能留在MRAM的写缓存中。
进一步地,文件修改后,如果文件的大小大于对应的存储区的块的容量,在下一个存储区中选择一个空闲块分配给文件,并释放对应的存储区的块。
进一步地,文件修改后,如果文件的大小小于或等于对应的存储区的上一个存储区的块的容量,在上一个存储区中选择一个空闲块分配给文件,并释放对应的存储区的块。
进一步地,MRAM通过DDRDRAM接口与手机的主控芯片或计算机的CPU连接。
进一步地,MRAM集成在固态硬盘中。
进一步地,小文件存储区还用于存储大文件的尾页,即最后一个未写满的页,减少了对NAND的写入,延长了系统寿命。
与现有技术相比,本发明提供的利用MRAM存储小文件的存储结构具有以下有益效果:
(1)存储小文件采用的块的容量小于块存储设备的块的容量,因而能够提高存储空间的利用率;
(2)在修改文件时,首先需要擦除的块较小,能够降低系统的负担;其次修改操作是在MRAM中完成,而不是在硬盘或NAND中完成,在MRAM中操作要比在硬盘或NAND中快得多,整个系统的性能会因此提升;
(3)小文件存储区用于存储小文件,还用于存储大文件的尾页,减少了对NAND的写入,延长了系统寿命。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术中文件操作流程图;
图2是本发明的一个实施例的利用MRAM存储小文件的存储结构的示意图;
图3是本发明的另一个实施例的利用MRAM存储小文件的存储结构的示意图。
具体实施方式
如图2所示,本发明的一个实施例的利用MRAM存储小文件的存储结构,包括MRAM与块存储设备,块存储设备为手机中的NAND闪存或计算机中的硬盘、固态硬盘(SSD)。
MRAM通过DDRDRAM接口与手机的主控芯片或计算机的CPU连接。
以下涉及对操作系统软件中文件系统的修改:
MRAM包括小文件存储区,用于存储小文件,块存储设备用于存储除小文件以外的其他文件,小文件存储区的块的容量小于块存储设备的块的容量。
小文件存储区至少包括两个存储区,存储区的块的容量依次增大。
设置不同块容量的存储区,能够将不同大小的文件存储在不同块容量的存储区,进一步提高的存储空间的利用率,降低系统的负担。
本实施例中,小文件存储区划分成若干个存储区,每个存储区由相同大小的块组成,第一存储区的块容量最小,第二存储区的块的容量是第一存储区的2倍,第三存储区的块的容量是第二存储区的2倍,以此类推,最后一个存储区由最大块组成,最大块的容量应当小于一个NAND页。
本实施例中,块的容量最小的存储区,块的容量选择128byte或者256byte;块的容量最大的存储区,选择为一个NAND页的一半,即如果NAND页为16K,最大块的容量应为8K。
小文件是指文件大小较小的文件,可以从10-20byte,到几百个字节。具体文件大小为多少字节属于小文件,可根据不同的情况设定。
小文件存储区中最大的块的容量等于设定值。
本实施例中,如果最大块的容量为8K,也就是等于设定值,文件大小小于8K的文件会作为小文件存储在MRAM的小文件存储区,而文件大小大于或等于8K的文件会存储块在存储设备中,即手机中的NAND或计算机中的固态硬盘(SSD)的NAND中。
如果把文件系统中大部分目录存在MRAM的小文件存储区中。小文件存储区的大小应该是硬盘/固态硬盘的千分之一左右,极大提高了存储空间的利用率。
创建文件的处理过程如下:
(1)根据第一次写入的数据,在合适的存储区中选择一个空闲块分配给文件,合适的存储区是指存储区的块是能够容纳文件的最小的块;
(2)如果在合适的存储区中未找到空闲块,在下一个存储区中寻找;如果最合适的存储区中找不到空闲的块,就在下一个存储区中寻找;如果下一个存储区中还找不到,再到下一个存储区寻找,如果在小文件存储区找不到合适的存储区,将文件写入块存储设备;如果找到空闲的块,将空闲块分配给该文件,并释放对应的存储区的块。
文件修改后文件的大小大于对应的存储区的块的容量的处理过程如下:
(1)如果文件的大小大于对应的存储区的块的容量,在下一个存储区中选择一个空闲块分配给文件,并释放对应的存储区的块;
(2)如果在下一个存储区中未找到空闲块,再到下一个存储区寻找,如果在小文件存储区找不到合适的存储区,将修改后的文件写入块存储设备;如果找到空闲的块,将空闲块分配给该文件,并释放对应的存储区的块。
文件修改后文件的大小小于或等于对应的存储区的块的容量的处理过程如下:
(1)如果文件的大小小于或等于对应的存储区的上一个存储区的块的容量,在上一个存储区中选择一个空闲块分配给文件,并释放对应的存储区的块。
如图3所示,本发明的另一个实施例的利用MRAM存储小文件的存储结构,包括MRAM与块存储设备,块存储设备为计算机中的固态硬盘(SSD),MRAM集成在固态硬盘中,划分出一块让计算机CPU直接读写。
小文件存储区还用于存储大文件的尾页,即最后一个未写满的页,即最后一个未写满的页。
本发明提供的利用MRAM存储小文件的存储结构,存储小文件采用的块的容量小于块存储设备的块的容量,因而能够提高存储空间的利用率;在修改文件时,首先需要擦除的块较小,能够降低系统的负担;其次修改操作是在MRAM中完成,而不是在硬盘或NAND中完成,在MRAM中操作要比在硬盘或NAND中快得多,整个系统的性能会因此提升;小文件存储区用于存储小文件,还用于存储大文件的尾页,减少了对NAND的写入,延长了系统寿命。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种利用MRAM存储小文件的存储结构,其特征在于,所述利用MRAM存储小文件的存储结构包括MRAM与块存储设备,所述MRAM包括小文件存储区,用于存储小文件,所述小文件是指文件大小小于或等于一个页的文件,所述块存储设备用于存储大文件,所述大文件是指文件大小大于一个页的文件,所述小文件存储区的块的容量小于所述块存储设备的块的容量。
2.如权利要求1所述的利用MRAM存储小文件的存储结构,其特征在于,所述小文件存储区至少包括两个存储区,所述存储区的块的容量依次增大。
3.如权利要求2所述的利用MRAM存储小文件的存储结构,其特征在于,所述小文件存储区中最大的块的容量等于所述设定值。
4.如权利要求3所述的利用MRAM存储小文件的存储结构,其特征在于,创建文件时在合适的存储区中选择一个空闲块分配给所述文件,合适的存储区是指所述存储区的块是能够容纳所述文件的最小的块。
5.如权利要求4所述的利用MRAM存储小文件的存储结构,其特征在于,根据第一次写入的数据,创建文件时在所述小文件存储区找不到合适的存储区,将所述文件交给下一级软件处理。
6.如权利要求5所述的利用MRAM存储小文件的存储结构,其特征在于,文件修改后,如果所述文件的大小大于对应的存储区的块的容量,在下一个存储区中选择一个空闲块分配给所述文件,并释放所述对应的存储区的块,如果所有后面的存储区中都找不到空闲块,交给下一级软件处理。
7.如权利要求5所述的利用MRAM存储小文件的存储结构,其特征在于,文件修改后,如果所述文件的大小小于或等于对应的存储区的上一个存储区的块的容量,在所述上一个存储区中选择一个空闲块分配给所述文件,并释放所述对应的存储区的块。
8.如权利要求1所述的利用MRAM存储小文件的存储结构,其特征在于,所述MRAM通过DDRDRAM接口与手机的主控芯片或计算机的CPU连接。
9.如权利要求1所述的利用MRAM存储小文件的存储结构,其特征在于,所述MRAM集成在固态硬盘中。
10.如权利要求1所述的利用MRAM存储小文件的存储结构,其特征在于,所述小文件存储区还用于存储大文件的尾页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510176989.6A CN105630697B (zh) | 2015-04-15 | 2015-04-15 | 一种利用mram存储小文件的存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510176989.6A CN105630697B (zh) | 2015-04-15 | 2015-04-15 | 一种利用mram存储小文件的存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630697A true CN105630697A (zh) | 2016-06-01 |
CN105630697B CN105630697B (zh) | 2019-02-01 |
Family
ID=56045666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510176989.6A Active CN105630697B (zh) | 2015-04-15 | 2015-04-15 | 一种利用mram存储小文件的存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630697B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630692A (zh) * | 2015-05-22 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种利用mram存储文件目录的文件存储系统 |
CN108508349A (zh) * | 2018-03-16 | 2018-09-07 | 广州视源电子科技股份有限公司 | 板卡存储响应测试方法、系统、存储介质及计算机设备 |
CN110609817A (zh) * | 2018-05-28 | 2019-12-24 | 上海磁宇信息科技有限公司 | 一种防止文件碎片化的文件存储系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679107A (zh) * | 2002-08-29 | 2005-10-05 | 飞思卡尔半导体公司 | 带有用于存储数据的非易失性存储器的存储系统 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
CN103324578A (zh) * | 2013-06-20 | 2013-09-25 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存设备及其随机写入方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN104461397A (zh) * | 2014-12-19 | 2015-03-25 | 上海新储集成电路有限公司 | 一种固态硬盘及其读写方法 |
CN105589912A (zh) * | 2015-03-27 | 2016-05-18 | 上海磁宇信息科技有限公司 | 一种利用mram处理频写文件的方法及存储结构 |
-
2015
- 2015-04-15 CN CN201510176989.6A patent/CN105630697B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679107A (zh) * | 2002-08-29 | 2005-10-05 | 飞思卡尔半导体公司 | 带有用于存储数据的非易失性存储器的存储系统 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN103324578A (zh) * | 2013-06-20 | 2013-09-25 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存设备及其随机写入方法 |
CN104461397A (zh) * | 2014-12-19 | 2015-03-25 | 上海新储集成电路有限公司 | 一种固态硬盘及其读写方法 |
CN105589912A (zh) * | 2015-03-27 | 2016-05-18 | 上海磁宇信息科技有限公司 | 一种利用mram处理频写文件的方法及存储结构 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630692A (zh) * | 2015-05-22 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种利用mram存储文件目录的文件存储系统 |
CN108508349A (zh) * | 2018-03-16 | 2018-09-07 | 广州视源电子科技股份有限公司 | 板卡存储响应测试方法、系统、存储介质及计算机设备 |
CN110609817A (zh) * | 2018-05-28 | 2019-12-24 | 上海磁宇信息科技有限公司 | 一种防止文件碎片化的文件存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105630697B (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US10540274B2 (en) | Memory devices including dynamic superblocks, and related methods and electronic systems | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US9183136B2 (en) | Storage control apparatus and storage control method | |
US20180089074A1 (en) | Techniques to Manage Key-Value Storage at a Memory or Storage Device | |
US20130073798A1 (en) | Flash memory device and data management method | |
JP2014071905A (ja) | コンピュータシステム及びコンピュータシステムのデータ管理方法 | |
KR20140072639A (ko) | 버퍼 운영 방법 및 그에 따른 반도체 저장 장치 | |
KR20130096881A (ko) | 플래시 메모리 장치 | |
US11150819B2 (en) | Controller for allocating memory blocks, operation method of the controller, and memory system including the controller | |
US11232028B2 (en) | Error-checking in namespaces on storage devices | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
CN105278875A (zh) | 一种混合异构nand固态硬盘 | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN110390985B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
KR20130022604A (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
US11782617B2 (en) | Host device, storage device, and electronic device | |
CN105630697A (zh) | 一种利用mram存储小文件的存储结构 | |
US11288197B2 (en) | Method and apparatus for performing pipeline-based accessing management in a storage server | |
TW201537577A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN105630410A (zh) | 使用非易失随机读写存储芯片动态管理文件存储区的方法 | |
US11216383B2 (en) | Storage device providing a virtual memory region, electronic system including the same, and method of operating the same | |
CN105630406B (zh) | 利用mram作为编辑缓存区的存储系统及编辑缓存方法 | |
US11954350B2 (en) | Storage device and method of operating the same | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 |
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 |