一种使用mram的存储设备的制造方法
【技术领域】
[0001]本发明涉及存储设备,尤其涉及一种使用MRAM的存储设备。
【背景技术】
[0002]存储设备包括固态硬盘(SSD)及各种存储卡等。
[0003]关于固态硬盘:
[0004]NAND闪存技术的发展推动了固态硬盘产业的发展,如图1所示,现有的固态硬盘包括用于存储数据的一组NAND芯片,用于支持计算和缓存数据的DDR DRAM(内存),以及一个主控芯片(SSD Controller)组成,有时候还需要断电保护系统。与主机通信通过高速串行接口,例如SATA,PICe等技术。
[0005]在手机等设备中使用的存储卡(SD或MicroSD卡,eMMC)架构类似。只不过用少量集成在控制芯片中的SRAM取代了 DRAM芯片组。
[0006]NAND是一种整块读写的存储设备,最小可读取的单元叫页(page),最小可擦除的单元叫块(block),一个块往往由很多页组成,块擦除后里面的页可以进行单独的写入操作。写入操作很慢,比读取慢得多,而擦除操作又比写入更加慢得多。
[0007]NAND芯片的一个问题是NAND芯片具有有限的寿命,其中的每一个页经过一定次数的擦写以后,就会永久失效不能继续使用。目前的产业发展趋势是NAND芯片的容量和数据密度增长非常快,但却是以降低寿命为代价,可擦写次数从最初的10万次降低到目前的3000次左右。
[0008]因为NAND芯片的以上特性,固态硬盘内部的NAND管理软件比较复杂。为了不使某些经常发生写操作的块提前损坏,需要进行写均衡处理。而文件系统软件所识别的逻辑地址和物理地址是不同的,需要一个表把二者对应起来,即逻辑物理地址对照表。
[0009]由于NAND擦除太慢,一般修改一内容时不在原来的块更新,而是把新的内容写到一个新的块,旧块标记为无效,等CPU空闲下来再擦除它。这样,逻辑物理地址对照表必须不断动态更新的。
[0010]逻辑物理地址对照表的大小正比于固态硬盘的总容量,保存在DDR DRAM中。另外在NAND芯片中也有相应的备份。随着市场上固态硬盘容量的迅速增加,这个表成为DRAM最大的消耗者。
[0011]由于NAND芯片的读写速度比DRAM慢得多,还可以利用一部分DDR DRAM空间作读、写的缓存(Cache),以提高整个固态硬盘的性能。然而引入写缓存会产生新的问题:一旦发生断电,DDR DRAM的缓存中尚未写入NAND芯片的内容就会丢失,造成系统丢失数据、甚至整个文件系统的损坏。因此必须使用昂贵且体积庞大的断电保护系统(一般由电池或者大量的电容器组成)。而逻辑物理地址对照表,在发生断电后,是可以利用NAND中的数据重新构造的,尽管很费时间。
[0012]关于MRAM:
[0013]MRAM是一种新的内存和存储技术,可以像SRAM/DRAM—样快速随机读写,还可以像Flash闪存一样在断电后永久保留数据。
[0014]MRAM的经济性相当好,单位容量占用的硅片面积比SRAM有很大的优势,比在此类芯片中经常使用的NOR Flash也有优势,比嵌入式NOR Flash的优势更大。MRAM的性能也相当好,读写时延接近最好的SRAM,功耗则在各种内存和存储技术最好。而且MRAM不像DRAM以及Flash,与标准CMOS半导体工艺不兼容,MRAM可以和逻辑电路集成到一个芯片中。
[0015]关于操作系统和软件:
[0016]如图2所示,手机与计算机的文件操作方式如下:
[0017](I)应用软件向操作系统发出打开、关闭、读、写文件指令;
[0018](2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
[0019](3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读写page,擦除block等指令。
[0020]在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
[0021]使用MRAM作为存储设备中的写缓存,既能提高写入速度,又能省掉断电保护系统。采用某些策略使得经常被写入的NAND页尽量留在MRAM缓存中时,还可以减少NAND的写入次数,延长产品的使用寿命。
[0022]写缓存一般按和NAND页一样大小的页组织起来,因为文件系统发下来的读写指令也是按页操作的。但是,NAND每次写入时,需要整块一起擦写,而一个块可能有好几页在缓存里。在管理写缓存时,哪些页应该留在缓存里,哪些页应该被写回到NAND中,通常只考虑缓存页最近一段时间的写入频率,并未考虑块的结构。
【发明内容】
[0023]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种存储设备,当需要将缓存页写回NAND芯片时,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命。
[0024]对于每一个NAND块,其有NAND页在写缓存中有对应的缓存页,把所有对应的缓存页的写操作次数相加,得到总写操作次数,找到总写操作次数最低的块,将该块中所有写缓存中的对应的缓存页写回到NAND芯片中。
[0025]本发明提供一种使用MRAM的存储设备,包括主机接口、主控芯片、MRAM以及一个或多个NAND芯片,主控芯片包括CPU,
[0026]MRAM 包括:
[0027]写缓存或读写缓存;
[0028]缓存页表,缓存页表的记录包括一个缓存页的地址、缓存页对应的NAND页的地址以及最近设定时间段内的写操作次数;
[0029]当需要将缓存页写回NAND芯片时,将属于同一块的缓存页的写操作次数相加,得到总写操作次数;将属于总写操作次数最低的块的所有缓存页写回NAND芯片。
[0030]本发明提供的使用MRAM的存储设备,将属于总写操作次数最低的块的所有缓存页回NAND芯片,从而减少写回NAND芯片的次数,延长存储设备的使用寿命。
[0031]进一步地,如果多个块的总写操作次数相等,将属于多个块中具有最多缓存页的块的所有缓存页写回NAND芯片,这样释放出更多的缓存空间,能够更有效清理写缓存或读写缓存。
[0032]进一步地,缓存页表的记录还包括指向属于同一个块的另一个缓存页的记录的指针,如果没有更多的缓存页,该指针置零。通过该指针,能够快速找到属于同一个块的缓存页,提高清理写缓存或读写缓存的速度。
[0033]进一步地,MRAM还包括缓存块表,缓存块表的记录包括一个块的地址、属于块的第一个缓存页的指针以及块的最近设定时间段内的总写操作次数,能够快速找到总写操作次数最低的块,以及属于该块的第一个缓存页,提高清理写缓存或读写缓存的速度。每增加一个缓存页时,都能从缓存块表中查到该块中其他缓存页,把新页插入该块缓存页的链表中。
[0034]进一步地,MRAM为具有内容寻址功能的MRAM,能够有效提高查找属于同一个块的缓存页的速度。
[0035]进一步地,根据一个块的地址在MRAM中进行内容寻址,找到属于块的所有缓存页,把缓存页表保存在具有内容寻址功能的MRAM中。根据块地址(是页地址的前几个比特)查找属于同一块的所有缓存页记录非常快,能够有效提高查找属于同一个块的缓存页的速度。
[0036]进一步地,缓存页表的记录还包括上次写操作时间。
[0037]进一步地,当前时间与缓存页的上次写操作时间的差大于或等于设定时间间隔,与缓存页同属一个块的所有缓存页写回NAND芯片,将不活跃的缓存页写回NAND芯片,更有效地利用写缓存或读写缓存。
[0038]进一步地,缓存页表的记录还包括顺序设置的N个计数器的计数值,计数器用于记录时间间隔T内缓存页发生写操作的次数;主控芯片还包括定时器,当定时器设定的时间间隔T到达时,切换到使用缓存页对应的下一个计数器来记录发生写操作的次数。由于使用了定时器,并对每个缓存页顺序设置N个计数器,对于每一个缓存页,记录写操作次数占用的存储空间是相同的,因此能够节省存储空间,也易于管理。
[0039]进一步地,总写操作次数为N个计数器的计数值的和或部分N个计数器的计数值的和。
[0040]与现有技术相比,本发明提供的使用MRAM的存储设备具有以下有益效果:
[0041](I)将写入NAND芯片的数