CN105653468B - 一种使用mram的存储设备 - Google Patents
一种使用mram的存储设备 Download PDFInfo
- Publication number
- CN105653468B CN105653468B CN201510428617.8A CN201510428617A CN105653468B CN 105653468 B CN105653468 B CN 105653468B CN 201510428617 A CN201510428617 A CN 201510428617A CN 105653468 B CN105653468 B CN 105653468B
- Authority
- CN
- China
- Prior art keywords
- caching page
- page
- counter
- mram
- write
- 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
Abstract
本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,MRAM包括:写缓存或读写缓存;缓存页表,缓存页表的记录包括缓存页对应的NAND页地址以及循环使用的N个计数器的计数值,计数器用于记录时间间隔T内缓存页发生写操作的次数;主控芯片还包括定时器,当定时器设定的时间间隔T到达时,每一个缓存页都切换到使用所述缓存页对应的下一个计数器来记录发生写操作的次数。本发明提供的使用MRAM的存储设备,由于使用了定时器,并对每个缓存页循环使用N个计数器,记录写操作次数占用的存储空间是相同的,因此能够节省存储空间,也易于管理。
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的写入次数,延长产品的使用寿命。
但是,实行上述缓存策略,必须统计过去一段时间内每一个MRAM缓存页的写入次数。常见的方法是:当一个MRAM缓存页发生写入操作时,记录这一次操作的时间。随着时间流逝,可以丢掉不在统计范围内的旧的记录。
但这种最简单的方法,在缓存表里,每一个MRAM缓存页所需要的存储空间不确定,经常发生写操作的需要的存储空间较大,管理起来比较复杂。而且,如果某些页发生写操作的频率很高,则消耗的存储空间过多。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种存储设备,通过引入定时器进行设定时间内的写入次数统计,既节省存储空间,易于管理。
本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,其特征在于,
MRAM包括:
写缓存或读写缓存;
缓存页表,缓存页表的记录包括缓存页对应的NAND页地址以及循环使用的N个计数器的计数值,其中N大于或等于2,计数器用于记录时间间隔T内缓存页发生写操作的次数;
主控芯片还包括:
定时器,当定时器设定的时间间隔T到达时,每一个缓存页都切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。
本发明提供的使用MRAM的存储设备,对于每个缓存页循环使用的N个计数器,分别用于记录连续N个时间间隔T内的发生写操作的次数,当定时器设定的时间间隔T到达时,每一个缓存页都切换到下一个计数器。
这样对于每一个缓存页,无论是频繁发生写操作的,还是很少发生写操作的,占用的存储空间是相同的,不会出现记录发生写操作频繁的缓存页发生写操作的次数时,消耗的存储空间过多;因此能够节省存储空间,也易于管理。
进一步地,使用MRAM的存储设备还包括一个或一组DRAM芯片或SRAM,用于存储其它相关信息。
进一步地,MRAM包括写缓存,每当一个缓存页发生写操作,缓存页对应的当前计数器加1。
进一步地,MRAM包括读写缓存,每当一个缓存页发生写操作,缓存页对应的当前计数器加A,每当一个缓存页发生读操作,缓存页对应的当前计数器加B,其中A与B均为正整数,A大于B,一般选择给写操作更大的权重。
进一步地,CPU针对每一个缓存页切换到使用缓存页对应的下一个计数器时,先将下一个计数器清零。N个计数器是循环使用的,如果当前计数器是第N个计数器,相应地,下一个计数器第1个计数器。
进一步地,缓存页对应的N个计数器的计数值的和为第一写操作计数值,当需要将写缓存中的缓存页写回NAND芯片时,将第一写操作计数值最小的页写回NAND芯片。
进一步地,缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将写缓存中的缓存页写回NAND芯片时,将第二写操作计数值最小的页写回NAND芯片。
进一步地,缓存页对应的N个计数器的计数值的和为第一写操作计数值,缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将写缓存中的缓存页写回NAND芯片时,将第二写操作计数值最小的页写回NAND芯片,如果第二写操作计数值相同,将第一写操作计数值最小的页写回NAND芯片。
进一步地,缓存页表还记录缓存页对应的上次写入时间,当第一写操作计数值和/或第二写操作计数值相等时,将上次写入时间最早的缓存页写回NAND芯片。
与现有技术相比,本发明提供的使用MRAM的存储设备具有以下有益效果:
(1)由于使用了定时器,并对于每个缓存页循环使用N个计数器,对于每一个缓存页,无论是频繁发生写操作的,还是很少发生写操作的,占用的存储空间是相同的,不会出现记录发生写操作频繁的缓存页发生写操作的次数时,消耗的存储空间过多;因此能够节省存储空间,也易于管理;
(2)将写缓存或读写缓存中发生写操作次数最少的缓存页写入NAND芯片,频繁发生写操作的缓存页,都留在写缓存或读写缓存中,进一步提高系统的运行速度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术中固态硬盘的结构示意图;
图2是现有技术中文件操作流程图;
图3是本发明的一个实施例的使用MRAM的存储设备的示意图。
具体实施方式
如图3所示,本发明的一个实施例的使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,其特征在于,
MRAM包括:
写缓存或读写缓存;
缓存页表,缓存页表的记录包括缓存页对应的NAND页地址以及循环使用的N个计数器的计数值,其中N大于或等于2,计数器用于记录时间间隔T内缓存页发生写操作的次数;
主控芯片还包括:
定时器,当定时器设定的时间间隔T到达时,每一个缓存页都切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。
本发明提供的使用MRAM的存储设备,对于每个缓存页循环使用的N个计数器,分别用于记录连续N个时间间隔T内的发生写操作的次数,当定时器设定的时间间隔T到达时,每一个缓存页都切换到下一个计数器。
这样对于每一个缓存页,无论是频繁发生写操作的,还是很少发生写操作的,占用的存储空间是相同的,不会出现记录发生写操作频繁的缓存页发生写操作的次数时,消耗的存储空间过多;因此能够节省存储空间,也易于管理。
MRAM设置于固态硬盘中,通过DDR DRAM接口与固态硬盘的主控芯片连接,也就是固态硬盘的主控芯片通过DDR DRAM接口操作MRAM中的写缓存。
当然,也可以将MRAM集成于主控芯片中,本发明对此不作限制。
使用MRAM的存储设备还包括一个或一组DRAM芯片,用于存储其它相关信息。
MRAM包括写缓存,每当一个缓存页发生写操作,缓存页对应的当前计数器加1。
MRAM包括读写缓存,每当一个缓存页发生写操作,缓存页对应的当前计数器加A,每当一个缓存页发生读操作,缓存页对应的当前计数器加B,其中A与B均为正整数,A大于B,一般选择给写操作更大的权重。
CPU针对每一个缓存页切换到使用缓存页对应的下一个计数器时,先将下一个计数器清零。
一个缓存页对应的N个计数器的计数值记录了缓存页在过去N个周期为时间间隔T的时间段的写操作次数。
缓存页对应的N个计数器的计数值的和为第一写操作计数值,当需要将写缓存中的缓存页写回NAND芯片时,将第一写操作计数值最小的页写回NAND芯片。
缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将写缓存中的缓存页写回NAND芯片时,将第二写操作计数值最小的页写回NAND芯片。
例如当前计数器是3号计数器,使用三个计数器的和作为第二写操作计数值,那么部分计数器就是3号计数器以及3号计数器之前的1号计数器、2号计数器。
缓存页对应的N个计数器的计数值的和为第一写操作计数值,缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将写缓存中的缓存页写回NAND芯片时,将第二写操作计数值最小的页写回NAND芯片,如果第二写操作计数值相同,将第一写操作计数值最小的页写回NAND芯片。
缓存页表还记录缓存页对应的上次写入时间,当第一写操作计数值和/或第二写操作计数值相等时,将上次写入时间最早的缓存页写回NAND芯片。
在手机等设备中使用的存储卡(SD或MicroSD卡,eMMC)架构类似,只不过用少量集成在控制芯片中的SRAM取代了DRAM芯片组,本发明也可以应用于存储卡此时使用MRAM的存储设备还包括SRAM,用于存储其它相关信息。
本发明提供的使用MRAM的存储设备,由于使用了定时器,并对于每个缓存页循环使用N个计数器,对于每一个缓存页,无论是频繁发生写操作的,还是很少发生写操作的,占用的存储空间是相同的,不会出现记录发生写操作频繁的缓存页发生写操作的次数时,消耗的存储空间过多;因此能够节省存储空间,也易于管理;将写缓存或读写缓存中发生写操作次数最少的缓存页写入NAND芯片,频繁发生写操作的缓存页写,都留在写缓存或读写缓存中,进一步提高系统的运行速度。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (9)
1.一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,所述主控芯片包括CPU,其特征在于,
所述MRAM包括:
写缓存或读写缓存;
缓存页表,所述缓存页表的记录包括缓存页对应的NAND页地址以及循环使用的N个计数器的计数值,其中N大于或等于2,所述计数器用于记录时间间隔T内所述缓存页发生写操作的次数;
所述主控芯片还包括:
定时器,当所述定时器设定的所述时间间隔T到达时,每一个缓存页都切换到使用所述缓存页对应的下一个计数器来记录发生写操作的次数。
2.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述使用MRAM的存储设备还包括一个或一组DRAM芯片或SRAM。
3.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述MRAM包括写缓存,每当一个缓存页发生写操作,所述缓存页对应的当前计数器加1。
4.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述MRAM包括读写缓存,每当一个缓存页发生写操作,所述缓存页对应的当前计数器加A,每当一个缓存页发生读操作,所述缓存页对应的当前计数器加B,其中A与B均为正整数,A大于B。
5.如权利要求1所述的使用MRAM的存储设备,其特征在于,所述CPU针对每一个缓存页切换到使用所述缓存页对应的下一个计数器时,先将所述下一个计数器清零。
6.如权利要求1所述的使用MRAM的存储设备,其特征在于,缓存页对应的N个计数器的计数值的和为第一写操作计数值,当需要将所述写缓存中的缓存页写回所述NAND芯片时,将第一写操作计数值最小的页写回所述NAND芯片。
7.如权利要求1所述的使用MRAM的存储设备,其特征在于,缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将所述写缓存中的缓存页写回所述NAND芯片时,将第二写操作计数值最小的页写回所述NAND芯片。
8.如权利要求1所述的使用MRAM的存储设备,其特征在于,缓存页对应的N个计数器的和为第一写操作计数值,缓存页对应的部分计数器的计数值的和为第二写操作计数值,所述部分计数器为当前计数器以及当前计数器之前的一个或多个计数器,当需要将所述写缓存中的缓存页写回所述NAND芯片时,将第二写操作计数值最小的页写回所述NAND芯片,如果所述第二写操作计数值相同,将所述第一写操作计数值最小的页写回所述NAND芯片。
9.如权利要求6-8任一项所述的使用MRAM的存储设备,其特征在于,所述缓存页表还记录缓存页对应的上次写入时间,当第一写操作计数值和第二写操作计数值相等时,将上次写入时间最早的缓存页写回所述NAND芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428617.8A CN105653468B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428617.8A CN105653468B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653468A CN105653468A (zh) | 2016-06-08 |
CN105653468B true CN105653468B (zh) | 2018-08-07 |
Family
ID=56482097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510428617.8A Active CN105653468B (zh) | 2015-07-21 | 2015-07-21 | 一种使用mram的存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653468B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049381A (ja) * | 2016-09-20 | 2018-03-29 | 東芝メモリ株式会社 | メモリ制御回路、メモリシステムおよびプロセッサシステム |
CN107870875A (zh) * | 2017-08-09 | 2018-04-03 | 成都萌想科技有限责任公司 | 一种基于分布式内存可定制智能数据缓存方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
Family Cites Families (1)
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 |
-
2015
- 2015-07-21 CN CN201510428617.8A patent/CN105653468B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105653468A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102429792B1 (ko) | 정적 및 동적 셀을 갖는 하이브리드 캐시를 갖는 메모리 장치 및 전자 시스템 및 관련 방법 | |
KR102500661B1 (ko) | 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리 | |
CN105630405B (zh) | 一种存储系统及采用该存储系统的读写方法 | |
CN105630705B (zh) | 数据存储装置及使用块替换表的读写方法 | |
CN104115132B (zh) | 借助于存储器通道关闭的功率节约 | |
CN105630700B (zh) | 一种具有二级缓存结构的存储系统及读写方法 | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN103077121B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN103946811A (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
CN104572478A (zh) | 数据存取方法和数据存取装置 | |
CN103988183A (zh) | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 | |
CN105608016B (zh) | Dram与mram结合的固态硬盘及使用mram的存储卡 | |
CN107408018B (zh) | 用于在固态驱动器中适应垃圾收集资源分配的机制 | |
CN105718530A (zh) | 文件存储系统及其文件存储控制方法 | |
KR20100065786A (ko) | 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 | |
CN105630707A (zh) | 具有断电保护功能的存储设备、断电保护方法及计算系统 | |
CN105630701B (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
CN105630408A (zh) | 一种集成mram的固态硬盘控制芯片及固态硬盘 | |
US20190042462A1 (en) | Checkpointing for dram-less ssd | |
US20140068144A1 (en) | Heterogeneous data paths for systems having tiered memories | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN105373338A (zh) | 一种flash的控制方法和控制器 | |
CN105630699B (zh) | 一种使用mram的固态硬盘及读写缓存管理方法 | |
CN110727470B (zh) | 一种混合式非失性存储装置 | |
US20180285260A1 (en) | Persistent caching of memory-side cache content |
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 |