CN109032843B - 一种基于stt-mram加速固态存储器件启动的方法 - Google Patents

一种基于stt-mram加速固态存储器件启动的方法 Download PDF

Info

Publication number
CN109032843B
CN109032843B CN201810754942.7A CN201810754942A CN109032843B CN 109032843 B CN109032843 B CN 109032843B CN 201810754942 A CN201810754942 A CN 201810754942A CN 109032843 B CN109032843 B CN 109032843B
Authority
CN
China
Prior art keywords
lba
mram
stt
read
dram
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
Application number
CN201810754942.7A
Other languages
English (en)
Other versions
CN109032843A (zh
Inventor
蔡晓晰
李炜
丁钢波
杨杰
曹学成
徐庶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETHIK Group Ltd
Original Assignee
CETHIK Group Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETHIK Group Ltd filed Critical CETHIK Group Ltd
Priority to CN201810754942.7A priority Critical patent/CN109032843B/zh
Publication of CN109032843A publication Critical patent/CN109032843A/zh
Application granted granted Critical
Publication of CN109032843B publication Critical patent/CN109032843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于STT‑MRAM加速固态存储器件启动的方法,利用STT‑MRAM的高速读写性能和掉电非易失性能,在STT‑MRAM中存储被压缩后的LBA映射HASH表,从而在上电过程中,若接到主机的读写命令,则利用HASH key值在STT‑MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令。本发明解决了SSD控制器正常掉电后启动速度慢的问题,增加了系统性能,简化系统设计复杂度。

Description

一种基于STT-MRAM加速固态存储器件启动的方法
技术领域
本发明属于计算机存储设备技术领域,尤其涉及一种基于STT-MRAM加速固态存储器件启动的方法。
背景技术
计算机外部存储器目前主要有两种,磁盘(HDD)和固态硬盘(SSD)。SSD中的主要存储介质为闪存(FLASH MEMORY),相比HDD,SSD的读写速度更快,随机访问性能更优秀,读写功耗更低,因此随着FLASHMEMORY制造工艺的提升和成本降低,SSD得到了越来越广泛的应用。
目前商用的SSD中的存储介质FLASH主要有两种结构:NOR和NAND。相比NOR FLASH,NAND FLASH具有更高的存储密度,更低的成本,是目前SSD的主流存储介质。但无论是NANDFLASH还是NORFLASH,其存储介质的读、擦写速度分别在微秒级和毫秒级,无法与纳秒级的主机端处理器(HOST CPU)直接通信。
磁性随机存储器STT-MRAM(Spin Transfer Torque Magnetic Random AccessMemory)是一种新型高速高可靠的存储器,具备纳秒级的读写速度,可以兼容各类DRAM接口协议,具备1015级别的擦写寿命,而且掉电不丢失数据。
哈希算法(Hash),是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
传统的SSD控制器上电时,需要把LBA映射表从NAND flash中读取出来,放入系统内存DRAM(Dynamic Random Access Memory)。由于NAND flash读所消耗的读潜伏期(tR)为微秒级别,典型为每page16K大小,消耗16K/60us,以1G的LBA映射表为例,大约需要4秒,根据SSD控制器架构和实现,所需时间可能会不同,但基本处于秒级。
因此,如何提高固态存储器件启动速度,一直是亟需解决的一个问题。
发明内容
本发明的目的是提供一种基于STT-MRAM加速固态存储器件启动的方法,利用STT-MRAM的高速读写性能和掉电非易失性能,提高SSD控制器正常掉电后启动数据慢的问题,增加系统性能,简化系统设计复杂度。
为了实现上述目的,本发明技术方案如下:
一种基于STT-MRAM加速固态存储器件启动的方法,所述固态存储器件包括系统内存DRAM、存储介质NAND flash和磁性随机存储器STT-MRAM,所述基于STT-MRAM加速固态存储器件启动的方法,包括:
在收到断电信号时,将存放于DRAM中的LBA映射表,使用HASH算法压缩至STT-MRAM中,在STT-MRAM中存储被压缩后的LBA映射HASH表;
在上电过程中,先初始化硬件,然后从NAND flash读取LBA映射表,在DRAM中加载LBA映射表,并在初始化时,若接到主机的读写命令,则利用HASH key值在STT-MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令,在STT-MRAM中存储响应写操作命令产生的LBA增量表;
当从NAND flash读取LBA映射表,在DRAM中加载LBA映射表结束后,将响应写操作命令产生的LBA增量表同步到DRAM中;
接收主机的读写命令,根据DRAM中的LBA映射表处理收到的主机读写命令。
进一步地,所述根据搜索结果处理收到的主机读写命令,包括:
在收到读操作命令的时候,根据被压缩后的LBA映射HASH表,找到读的数据块,进行读操作;
在收到写操作命令时,根据被压缩后的LBA映射HASH表,找到最新的数据区空块,在数据区空块写入数据后,产生相应LBA增量表。
进一步地,所述将响应写操作命令产生的LBA增量表同步到DRAM中,包括:
将LBA增量表更新到DRAM中的LBA映射表中;
废弃STT-MRAM中的被压缩后的LBA映射HASH表和LBA增量表。
本发明提出的基于STT-MRAM加速固态存储器件启动的方法,利用STT-MRAM的高速读写性能和掉电非易失性能,在STT-MRAM中存储被压缩后的LBA映射HASH表,从而在上电过程中,若接到主机的读写命令,则利用HASH key值在STT-MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令。本发明解决了SSD控制器正常掉电后启动速度慢的问题,增加了系统性能,简化系统设计复杂度。
附图说明
图1为本发明基于STT-MRAM加速固态存储器件启动的方法流程图;
图2为本发明HASH算法压缩示意图;
图3为本发明实施例固态存储器件启动过程示意图;
图4为本发明实施例写操作及增量表同步示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
如图1所示,本发明一种基于STT-MRAM加速固态存储器件启动的方法,包括如下步骤:
步骤S1、在收到断电信号时,将存放于DRAM中的LBA映射表,使用HASH算法压缩至STT-MRAM中,在STT-MRAM中存储被压缩后的LBA映射HASH表。
计算机主机在关机断电前,发出断电信号。SDD控制器在收到断电信号时,首先把存放于DRAM中的LBA映射表,使用HASH算法压缩至STT-MRAM中。使用HASH算法压缩过程如图2所示,在图2中分别列出了原数据LBA映射表和压缩后的LBA映射HASH表。
然后才需把DRAM中的LBA映射表按照常规方案下刷至NAND flash中。由于STT-MRAM的IO的低延时高带宽,整个压缩耗时为ns级别,可以忽略。
步骤S2、在上电过程中,先初始化硬件,然后从NAND flash读取LBA映射表,在DRAM中加载LBA映射表,并在初始化时,若接到主机的读写命令,则利用HASH key值在STT-MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令,在STT-MRAM中存储响应写操作命令产生的LBA增量表。
在常规技术中,固态存储器件上电后,会先初始化硬件(STT-MRAM、DRAM、NANDflash等),然后从NAND flash读取LBA映射表,在DRAM中加载LBA映射表。在LBA映射表加载到DRAM中后,才能够接收主机的读写命令,进行读写处理。
本实施例在上电过程中,初始化硬件后,无需等待NAND flash中的LBA映射表搬运至DRAM中,即可响应主机的读写操作。由于STT-MRAM掉电不会丢失数据,STT-MRAM中保存完整的压缩后的LBA映射HASH表,通过HASH的key值,可以做到单向搜索LBA映射结果,达到NAND flash中数据读写的目的。
如图2所示,本实施例将HASH的key0值设为LBA0,即HASH表的key值与LBA表的序号一一对应,从而压缩了LBA映射表,降低了对STT-MRAM容量的需求。本实施例可以根据读写操作中对应的LBA序号作为key值,进行搜索,找到对应的Value值,通过HASH算法获取对应的PPN和LBA status,进行读写操作。关于HASH算法的单向搜索,属于成熟的算法,这里不再赘述。
由于本技术方案,在从NAND flash中搬运LBA映射表至DRAM的过程中,可能已经发生通过STT-MRAM中压缩的LBA映射HASH表,进行读写响应,而读写响应会在STT-MARM中产生LBA增量表。
具体地,当上电过程中,DRAM中的LBA映射表尚未加载完毕,此时只有STT-MRAM中有被压缩后的LBA映射HASH表。此时,收到读写命令,可以通过HASH算法的key值检索,执行读写命令。此时有两种情况:
在收到写操作命令时,根据被压缩后的LBA映射HASH表,找到最新的数据区空块,在数据区空块写入数据后,按照标准格式产生相应LBA增量表。产生的LBA增量表是LBA映射表,保存在STT-MRAM中。
在收到读操作命令的时候,根据被压缩后的LBA映射HASH表,找到读的数据块,进行读操作,不会产生LBA增量表。
即,本实施例在在响应写操作命令的时候,在写入数据后,产生相应LBA增量表,产生的增量表是LBA映射表,保存在STT-MRAM中。本实施例在上电过程中,即在从NAND flash读取LBA映射表,在DRAM中加载LBA映射表的过程中,就可以响应读写命令,不需要等到在DRAM中加载LBA映射表完成后才响应读写命令,提高了固态存储器件启动速度。
步骤S3、当从NAND flash读取LBA映射表,在DRAM中加载LBA映射表结束后,将响应写操作命令产生的LBA增量表同步到DRAM中。
由于在响应写操作命令后产生了LBA增量表,需要在从NAND flash中搬运LBA映射表至DRAM的搬运结束后,将LBA增量表同步到DRAM中,使得DRAM中的LBA映射表是最新的完整的。
即,在LBA映射表加载到DRAM完成后,将LBA增量表更新到DRAM中的LBA映射表中。完成后,DRAM中的LBA映射表为完整表项,而STT-MRAM中的被压缩后的LBA映射HASH表和LBA增量表废弃。
步骤S4、接收主机的读写命令,根据DRAM中加载的LBA映射表处理收到的主机读写命令。
在LBA映射表加载到DRAM中后,固态存储器件启动完成,就能够接收主机的读写命令,进行读写处理。关于固态存储器件启动完成后的读写操作,属于现有技术范畴,这里不再赘述。
图3示出了固态存储器件启动过程,SSD上电后,各种硬件初始化,包括MRAM、DRAM、NAND flash。在硬件初始化后,若接到主机(host)的读写命令,则利用HASH key值在MRAM中搜索被压缩后的LBA映射HASH表,然后处理收到的读写命令。
在硬件初始化后,固态存储器件从NAND flash中读取LBA映射表,在DRAM中加载LBA映射表。
在LBA映射表加载到DRAM完成后,将响应写操作命令产生的LBA增量表同步到DRAM中的LBA映射表中。
最后,开始正常的读写操作,这里不再赘述。
图4示出了在响应写操作命令时,STT-MRAM中增量表的产生及同步过程。其中:
1、表示在执行写操作命令时,根据被压缩后的LBA映射HASH表,找到最新的数据区空块,在数据区空块写入数据;
2、在数据区空块写入数据后,按照标准格式产生相应LBA增量表;
3、上电后,将LBA映射表加载到DRAM;
4、将LBA增量表同步到DRAM中的LBA映射表中。
本发明技术方案,通过在收到断电信号时,将存放于DRAM中的LBA映射表,使用HASH算法压缩至STT-MRAM中,并在上电过程中,利用HASH key值在STT-MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令,解决了SSD控制器正常掉电后启动速度慢的问题,增加了系统性能,简化系统设计复杂度。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (3)

1.一种基于STT-MRAM加速固态存储器件启动的方法,所述固态存储器件包括系统内存DRAM、存储介质NAND flash和磁性随机存储器STT-MRAM,其特征在于,所述基于STT-MRAM加速固态存储器件启动的方法,包括:
在收到断电信号时,将存放于DRAM中的LBA映射表,使用HASH算法压缩至STT-MRAM中,在STT-MRAM中存储被压缩后的LBA映射HASH表;
在上电过程中,先初始化硬件,然后从NAND flash读取LBA映射表,在DRAM中加载LBA映射表,并在初始化时,若接到主机的读写命令,则将读写命令中对应的LBA序号作为HASHkey值在STT-MRAM中搜索被压缩后的LBA映射HASH表,根据搜索结果处理收到的主机读写命令,在STT-MRAM中存储响应写操作命令产生的LBA增量表;
当从NAND flash读取LBA映射表,在DRAM中加载LBA映射表结束后,将响应写操作命令产生的LBA增量表同步到DRAM中;
接收主机的读写命令,根据DRAM中的LBA映射表处理收到的主机读写命令。
2.根据权利要求1所述的基于STT-MRAM加速固态存储器件启动的方法,其特征在于,所述根据搜索结果处理收到的主机读写命令,包括:
在收到读操作命令的时候,根据被压缩后的LBA映射HASH表,找到读的数据块,进行读操作;
在收到写操作命令时,根据被压缩后的LBA映射HASH表,找到最新的数据区空块,在数据区空块写入数据后,产生相应LBA增量表。
3.根据权利要求2所述的基于STT-MRAM加速固态存储器件启动的方法,其特征在于,所述将响应写操作命令产生的LBA增量表同步到DRAM中,包括:
将LBA增量表更新到DRAM中的LBA映射表中;
废弃STT-MRAM中的被压缩后的LBA映射HASH表和LBA增量表。
CN201810754942.7A 2018-07-11 2018-07-11 一种基于stt-mram加速固态存储器件启动的方法 Active CN109032843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810754942.7A CN109032843B (zh) 2018-07-11 2018-07-11 一种基于stt-mram加速固态存储器件启动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810754942.7A CN109032843B (zh) 2018-07-11 2018-07-11 一种基于stt-mram加速固态存储器件启动的方法

Publications (2)

Publication Number Publication Date
CN109032843A CN109032843A (zh) 2018-12-18
CN109032843B true CN109032843B (zh) 2022-09-06

Family

ID=64640781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810754942.7A Active CN109032843B (zh) 2018-07-11 2018-07-11 一种基于stt-mram加速固态存储器件启动的方法

Country Status (1)

Country Link
CN (1) CN109032843B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138110B1 (en) * 2020-04-30 2021-10-05 Sage Microelectronics Corporation Data management for memory devices
CN117149091A (zh) * 2023-10-23 2023-12-01 四川云海芯科微电子科技有限公司 一种固态硬盘数据保存方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719103A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 基于存储设备的信息处理方法以及存储设备
CN103064641A (zh) * 2013-02-05 2013-04-24 威盛电子股份有限公司 非易失性存储装置及其操作方法
CN105550127A (zh) * 2015-12-08 2016-05-04 中电海康集团有限公司 一种基于stt-mram的读写缓存分离的ssd控制器
CN105630405A (zh) * 2015-04-29 2016-06-01 上海磁宇信息科技有限公司 一种存储系统及采用该存储系统的读写方法
US20170220254A1 (en) * 2014-02-07 2017-08-03 Coho Data, Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI472920B (zh) * 2011-09-01 2015-02-11 A system and method for improving the read and write speed of a hybrid storage unit
CN105630699B (zh) * 2015-04-15 2019-02-01 上海磁宇信息科技有限公司 一种使用mram的固态硬盘及读写缓存管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719103A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 基于存储设备的信息处理方法以及存储设备
CN103064641A (zh) * 2013-02-05 2013-04-24 威盛电子股份有限公司 非易失性存储装置及其操作方法
US20170220254A1 (en) * 2014-02-07 2017-08-03 Coho Data, Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
CN105630405A (zh) * 2015-04-29 2016-06-01 上海磁宇信息科技有限公司 一种存储系统及采用该存储系统的读写方法
CN105550127A (zh) * 2015-12-08 2016-05-04 中电海康集团有限公司 一种基于stt-mram的读写缓存分离的ssd控制器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种高性能高可靠的混合客户端缓存系统;李楚 等;《计算机研究与发展》;20171115;全文 *
新架构存储器FRAM、MRAM时代来临;lvliang2008;《https://blog.csdn.net/lvliang2008/article/details/8691137》;20130319;全文 *

Also Published As

Publication number Publication date
CN109032843A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US10896099B2 (en) Memory module with non-volatile backup storage
US9817596B2 (en) Non-volatile memory systems and methods of managing power of the same
US7620784B2 (en) High speed nonvolatile memory device using parallel writing among a plurality of interfaces
CN101719103B (zh) 基于存储设备的信息处理方法以及存储设备
US10802734B2 (en) Method for fast boot read
KR20130031046A (ko) 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
TWI596541B (zh) 資料存取系統、資料存取裝置及資料存取方法
CN108959589B (zh) 基于stt-mram加速固态存储器件日志文件保存恢复的方法
EP3872641A2 (en) Storage device and method of operating the storage device
KR20110103165A (ko) 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템
US10146483B2 (en) Memory system
CN109032843B (zh) 一种基于stt-mram加速固态存储器件启动的方法
CN102541458A (zh) 一种提高电子硬盘数据写入速度的方法
CN109284070B (zh) 一种基于stt-mram固态存储器件断电恢复方法
CN105607862A (zh) 一种dram与mram结合具有备份电源的固态硬盘
US20220253252A1 (en) Data processing method and apparatus
CN113590501A (zh) 一种数据存储方法及相关设备
CN113986001A (zh) 芯片及控制方法
US11182329B2 (en) Data processing system and operating method thereof
CN105608021A (zh) 一种利用内容寻址mram存储装置和方法
KR101744401B1 (ko) 컴퓨팅 장치의 시스템 상태 저장, 복원방법 및 이를 위한 컴퓨팅 장치
CN110806793A (zh) 一种提高内嵌eMMC的设备开机速度的操作方法
CN117312240A (zh) 哈希表重构方法、装置、计算机设备和介质
TW202405666A (zh) 用於資料預取的系統和方法
WO2024072499A1 (en) Finding and releasing trapped memory in ulayer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant