CN105608014B - 一种使用mram的存储设备 - Google Patents
一种使用mram的存储设备 Download PDFInfo
- Publication number
- CN105608014B CN105608014B CN201510428866.7A CN201510428866A CN105608014B CN 105608014 B CN105608014 B CN 105608014B CN 201510428866 A CN201510428866 A CN 201510428866A CN 105608014 B CN105608014 B CN 105608014B
- Authority
- CN
- China
- Prior art keywords
- mram
- caching
- write
- page
- write operation
- 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
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,MRAM包括写缓存或读写缓存以及缓存页表,缓存页表的记录包括一个缓存页的地址、缓存页对应的NAND页的地址以及最近设定时间段内的写操作次数;当需要将缓存页写回NAND芯片时,将属于总写操作次数最低的块的所有缓存页写回NAND芯片。本发明提供的使用MRAM的存储设备,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命;MRAM还包括缓存块表,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。
Description
技术领域
本发明涉及存储设备,尤其涉及一种使用MRAM的存储设备。
背景技术
存储设备包括固态硬盘(SSD)及各种存储卡等。
关于固态硬盘:
NAND闪存技术的发展推动了固态硬盘产业的发展,如图1所示,现有的固态硬盘包括用于存储数据的一组NAND芯片,用于支持计算和缓存数据的DDR DRAM(内存),以及一个主控芯片(SSD Controller)组成,有时候还需要断电保护系统。与主机通信通过高速串行接口,例如SATA,PICe等技术。
在手机等设备中使用的存储卡(SD或MicroSD卡,eMMC)架构类似。只不过用少量集成在控制芯片中的SRAM取代了DRAM芯片组。
NAND是一种整块读写的存储设备,最小可读取的单元叫页(page),最小可擦除的单元叫块(block),一个块往往由很多页组成,块擦除后里面的页可以进行单独的写入操作。写入操作很慢,比读取慢得多,而擦除操作又比写入更加慢得多。
NAND芯片的一个问题是NAND芯片具有有限的寿命,其中的每一个页经过一定次数的擦写以后,就会永久失效不能继续使用。目前的产业发展趋势是NAND芯片的容量和数据密度增长非常快,但却是以降低寿命为代价,可擦写次数从最初的10万次降低到目前的3000次左右。
因为NAND芯片的以上特性,固态硬盘内部的NAND管理软件比较复杂。为了不使某些经常发生写操作的块提前损坏,需要进行写均衡处理。而文件系统软件所识别的逻辑地址和物理地址是不同的,需要一个表把二者对应起来,即逻辑物理地址对照表。
由于NAND擦除太慢,一般修改一内容时不在原来的块更新,而是把新的内容写到一个新的块,旧块标记为无效,等CPU空闲下来再擦除它。这样,逻辑物理地址对照表必须不断动态更新的。
逻辑物理地址对照表的大小正比于固态硬盘的总容量,保存在DDR DRAM中。另外在NAND芯片中也有相应的备份。随着市场上固态硬盘容量的迅速增加,这个表成为DRAM最大的消耗者。
由于NAND芯片的读写速度比DRAM慢得多,还可以利用一部分DDR DRAM空间作读、写的缓存(Cache),以提高整个固态硬盘的性能。然而引入写缓存会产生新的问题:一旦发生断电,DDR DRAM的缓存中尚未写入NAND芯片的内容就会丢失,造成系统丢失数据、甚至整个文件系统的损坏。因此必须使用昂贵且体积庞大的断电保护系统(一般由电池或者大量的电容器组成)。而逻辑物理地址对照表,在发生断电后,是可以利用NAND中的数据重新构造的,尽管很费时间。
关于MRAM:
MRAM是一种新的内存和存储技术,可以像SRAM/DRAM一样快速随机读写,还可以像Flash闪存一样在断电后永久保留数据。
MRAM的经济性相当好,单位容量占用的硅片面积比SRAM有很大的优势,比在此类芯片中经常使用的NOR Flash也有优势,比嵌入式NOR Flash的优势更大。MRAM的性能也相当好,读写时延接近最好的SRAM,功耗则在各种内存和存储技术最好。而且MRAM不像DRAM以及Flash,与标准CMOS半导体工艺不兼容,MRAM可以和逻辑电路集成到一个芯片中。
关于操作系统和软件:
如图2所示,手机与计算机的文件操作方式如下:
(1)应用软件向操作系统发出打开、关闭、读、写文件指令;
(2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
(3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读写page,擦除block等指令。
在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
使用MRAM作为存储设备中的写缓存,既能提高写入速度,又能省掉断电保护系统。采用某些策略使得经常被写入的NAND页尽量留在MRAM缓存中时,还可以减少NAND的写入次数,延长产品的使用寿命。
写缓存一般按和NAND页一样大小的页组织起来,因为文件系统发下来的读写指令也是按页操作的。但是,NAND每次写入时,需要整块一起擦写,而一个块可能有好几页在缓存里。在管理写缓存时,哪些页应该留在缓存里,哪些页应该被写回到NAND中,通常只考虑缓存页最近一段时间的写入频率,并未考虑块的结构。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种存储设备,当需要将缓存页写回NAND芯片时,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命。
对于每一个NAND块,其有NAND页在写缓存中有对应的缓存页,把所有对应的缓存页的写操作次数相加,得到总写操作次数,找到总写操作次数最低的块,将该块中所有写缓存中的对应的缓存页写回到NAND芯片中。
本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,
MRAM包括:
写缓存或读写缓存;
缓存页表,缓存页表的记录包括一个缓存页的地址、缓存页对应的NAND页的地址以及最近设定时间段内的写操作次数;
当需要将缓存页写回NAND芯片时,将属于同一块的缓存页的写操作次数相加,得到总写操作次数;将属于总写操作次数最低的块的所有缓存页写回NAND芯片。
本发明提供的使用MRAM的存储设备,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命。
进一步地,如果多个块的总写操作次数相等,将属于多个块中具有最多缓存页的块的所有缓存页写回NAND芯片,这样释放出更多的缓存空间,能够更有效清理写缓存或读写缓存。
进一步地,缓存页表的记录还包括指向属于同一个块的另一个缓存页的记录的指针,如果没有更多的缓存页,该指针置零。通过该指针,能够快速找到属于同一个块的缓存页,提高清理写缓存或读写缓存的速度。
进一步地,MRAM还包括缓存块表,缓存块表的记录包括一个块的地址、属于块的第一个缓存页的指针以及块的最近设定时间段内的总写操作次数,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。每增加一个缓存页时,都能从缓存块表中查到该块中其他缓存页,把新页插入该块缓存页的链表中。
进一步地,MRAM为具有内容寻址功能的MRAM,能够有效提高查找属于同一个块的缓存页的速度。
进一步地,根据一个块的地址在MRAM中进行内容寻址,找到属于块的所有缓存页,把缓存页表保存在具有内容寻址功能的MRAM中。根据块地址(是页地址的前几个比特)查找属于同一块的所有缓存页记录非常快,能够有效提高查找属于同一个块的缓存页的速度。
进一步地,缓存页表的记录还包括上次写操作时间。
进一步地,当前时间与缓存页的上次写操作时间的差大于或等于设定时间间隔,与缓存页同属一个块的所有缓存页写回NAND芯片,将不活跃的缓存页写回NAND芯片,更有效地利用写缓存或读写缓存。
进一步地,缓存页表的记录还包括顺序设置的N个计数器的计数值,计数器用于记录时间间隔T内缓存页发生写操作的次数;主控芯片还包括定时器,当定时器设定的时间间隔T到达时,切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。由于使用了定时器,并对每个缓存页顺序设置N个计数器,对于每一个缓存页,记录写操作次数占用的存储空间是相同的,因此能够节省存储空间,也易于管理。
进一步地,总写操作次数为N个计数器的计数值的和或部分N个计数器的计数值的和。
与现有技术相比,本发明提供的使用MRAM的存储设备具有以下有益效果:
(1)将写入NAND芯片的数据缓存在MRAM中,在清理写缓存或读写时才将缓存的数据最终写入NAND芯片,能够极大减少擦写NAND芯片的次数,从而保护NAND,延长NAND的使用寿命;
(2)写入MRAM的速度,比写入NAND芯片快上百倍,降低写入NAND的频率,有利于提高系统的运行速度;
(3)将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命;
(4)MRAM还包括缓存块表,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术中用于计算机的固态硬盘结构示意图;
图2是现有技术中文件操作流程图;
图3是本发明的一个实施例的使用MRAM的存储设备的示意图。
具体实施方式
本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,
MRAM包括:
写缓存或读写缓存;
缓存页表,缓存页表的记录包括一个缓存页的地址、缓存页对应的NAND页的地址以及最近设定时间段内的写操作次数;
当需要将缓存页写回NAND芯片时,将属于同一块的缓存页的写操作次数相加,得到总写操作次数;将属于总写操作次数最低的块的所有缓存页写回NAND芯片。
本发明提供的使用MRAM的存储设备,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命。
如果多个块的总写操作次数相等,将属于多个块中具有最多缓存页的块的所有缓存页写回NAND芯片,能够更有效清理写缓存或读写缓存。
缓存页表的记录还包括指向属于同一个块的另一个缓存页的记录的指针,如果没有更多的缓存页,该指针置零。通过该指针,能够快速找到属于同一个块的缓存页,提高清理写缓存或读写缓存的速度。
MRAM还包括缓存块表,缓存块表的记录包括一个块的地址、属于块的第一个缓存页的指针以及块的最近设定时间段内的总写操作次数,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。每增加一个缓存页时,都能从缓存块表中查到该块中其他缓存页,把新页插入该块缓存页的链表中。
MRAM为具有内容寻址功能的MRAM,能够有效提高查找属于同一个块的缓存页的速度。
根据一个块的地址在MRAM中进行内容寻址,找到属于块的所有缓存页,把缓存页表保存在具有内容寻址功能的MRAM中。根据块地址(是页地址的前几个比特)查找属于同一块的所有缓存页记录非常快,能够有效提高查找属于同一个块的缓存页的速度。
缓存页表的记录还包括上次写操作时间。
当前时间与缓存页的上次写操作时间的差大于或等于设定时间间隔,与缓存页同属一个块的所有缓存页写回NAND芯片,将不活跃的缓存页写回NAND芯片,更有效地利用写缓存或读写缓存。
缓存页表的记录还包括顺序设置的N个计数器的计数值,计数器用于记录时间间隔T内缓存页发生写操作的次数;主控芯片还包括定时器,当定时器设定的时间间隔T到达时,切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。由于使用了定时器,并对每个缓存页顺序设置N个计数器,对于每一个缓存页,记录写操作次数占用的存储空间是相同的,因此能够节省存储空间,也易于管理。
总写操作次数为N个计数器的计数值的和或部分N个计数器的计数值的和。
在手机等设备中使用的存储卡(SD或MicroSD卡,eMMC)架构类似,只不过用少量集成在控制芯片中的SRAM取代了DRAM芯片组,本发明的方案能够应用于上述存储卡。
本发明提供的使用MRAM的存储设备,将写入NAND芯片的数据缓存在MRAM中,在清理写缓存或读写时才将缓存的数据最终写入NAND芯片,能够极大减少擦写NAND芯片的次数,从而保护NAND,延长NAND的使用寿命;写入MRAM的速度,比写入NAND芯片快上百倍,降低写入NAND的频率,有利于提高系统的运行速度;将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命;MRAM还包括缓存块表,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (8)
1.一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,所述主控芯片包括CPU,其特征在于,
所述MRAM包括:
写缓存或读写缓存;
缓存页表,所述缓存页表的记录包括一个缓存页的地址、所述缓存页对应的NAND页的地址以及最近设定时间段段内的写操作次数;
当需要将缓存页写回所述NAND芯片时,将属于同一块的缓存页的写操作次数相加,得到总写操作次数;将属于总写操作次数最低的块的所有缓存页写回所述NAND芯片;所述缓存页表的记录还包括指向属于同一个块的另一个缓存页的记录的指针;所述MRAM还包括缓存块表,所述缓存块表的记录包括一个块的地址、属于所述块的第一个缓存页的指针以及所述块的最近设定时间段内的总写操作次数。
2.如权利要求1所述的使用MRAM的存储设备,其特征在于,如果多个块的总写操作次数相等,将属于所述多个块中具有最多缓存页的块的所有缓存页写回NAND芯片。
3.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述MRAM为具有内容寻址功能的MRAM。
4.如权利要求3所述的使用MRAM的存储设备,其特征在于,根据一个块的地址在所述MRAM中进行内容寻址,找到属于所述块的所有缓存页。
5.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述缓存页表的记录还包括上次写操作时间。
6.如权利要求5所述的使用MRAM的存储设备,其特征在于,当前时间与缓存页的上次写操作时间的差大于或等于设定时间间隔,与所述缓存页同属一个块的所有缓存页写回所述NAND芯片。
7.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述缓存页表的记录还包括顺序设置的N个计数器的计数值,计数器用于记录时间间隔T内缓存页发生写操作的次数;主控芯片还包括定时器,当定时器设定的时间间隔T到达时,切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。
8.如权利要求7所述的使用MRAM的存储设备,其特征在于,所述总写操作次数为所述N个计数器的计数值的和或部分所述N个计数器的计数值的和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428866.7A CN105608014B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428866.7A CN105608014B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105608014A CN105608014A (zh) | 2016-05-25 |
CN105608014B true CN105608014B (zh) | 2018-09-14 |
Family
ID=55987966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510428866.7A Active CN105608014B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105608014B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309084B (zh) * | 2019-07-01 | 2021-08-03 | 浙江大华存储科技有限公司 | 一种固态硬盘数据的掉电保护方法及设备 |
US11080205B2 (en) | 2019-08-29 | 2021-08-03 | Micron Technology, Inc. | Classifying access frequency of a memory sub-system component |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN103226522A (zh) * | 2013-04-10 | 2013-07-31 | 河南中天亿科电子科技有限公司 | 一种固态硬盘缓冲区的数据块置换方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1057308C (zh) * | 1997-01-27 | 2000-10-11 | 天津石油化工公司研究所 | 一种耐温聚氨酯弹性体的制备方法 |
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 |
-
2015
- 2015-07-21 CN CN201510428866.7A patent/CN105608014B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN103226522A (zh) * | 2013-04-10 | 2013-07-31 | 河南中天亿科电子科技有限公司 | 一种固态硬盘缓冲区的数据块置换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105608014A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630405B (zh) | 一种存储系统及采用该存储系统的读写方法 | |
KR101572403B1 (ko) | 메모리 채널 셧다운에 의한 전력 절약 | |
CN105630705B (zh) | 数据存储装置及使用块替换表的读写方法 | |
US7136973B2 (en) | Dual media storage device | |
CN105630700B (zh) | 一种具有二级缓存结构的存储系统及读写方法 | |
CN103150136B (zh) | 基于ssd的大容量缓存中的lru策略实现方法 | |
CN105608016B (zh) | Dram与mram结合的固态硬盘及使用mram的存储卡 | |
CN101819509A (zh) | 一种固态硬盘读写方法 | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
KR20100065786A (ko) | 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 | |
CN105630701B (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
KR20170129709A (ko) | 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘 | |
CN113243007A (zh) | 存储级存储器访问 | |
CN110322914A (zh) | 非易失性文件更新介质 | |
CN105630699B (zh) | 一种使用mram的固态硬盘及读写缓存管理方法 | |
CN102681792B (zh) | 一种固态盘内存分区方法 | |
CN105608014B (zh) | 一种使用mram的存储设备 | |
CN110727470B (zh) | 一种混合式非失性存储装置 | |
CN105653468B (zh) | 一种使用mram的存储设备 | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
CN101807212B (zh) | 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置 | |
CN108089820A (zh) | 一种混合使用mram和dram的存储装置 | |
CN107765989B (zh) | 一种存储设备控制芯片、存储设备及存储设备管理方法 | |
KR101480420B1 (ko) | 메모리-디스크 통합 시스템 |
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 |