CN104461964B - 一种存储装置 - Google Patents

一种存储装置 Download PDF

Info

Publication number
CN104461964B
CN104461964B CN201410766201.2A CN201410766201A CN104461964B CN 104461964 B CN104461964 B CN 104461964B CN 201410766201 A CN201410766201 A CN 201410766201A CN 104461964 B CN104461964 B CN 104461964B
Authority
CN
China
Prior art keywords
volatile
data
storage
memory
bus
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
CN201410766201.2A
Other languages
English (en)
Other versions
CN104461964A (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.)
Sage Microelectronics Corp
Original Assignee
Sage Microelectronics Corp
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 Sage Microelectronics Corp filed Critical Sage Microelectronics Corp
Priority to CN201410766201.2A priority Critical patent/CN104461964B/zh
Publication of CN104461964A publication Critical patent/CN104461964A/zh
Application granted granted Critical
Publication of CN104461964B publication Critical patent/CN104461964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种存储装置,其包括与外部控制器电性相连的存储器接口、通过第二总线与所述存储控制器相连的易失性存储器、通过第三总线与所述存储控制器相连的非易失性存储器。所述易失性存储器包括有非易失映射区,所述非易失性存储器包括与所述易失性映射区具有对应关系的非易失备份区,在所述存储控制器的控制下,该非易失备份区对所述非易失映射区内的数据进行备份。对于计算机系统来说,所述存储装置由两部分形成,一部分是作为易失性内存使用的易失性存储区,另一部分为作为非易失性内存使用的非易失映射区,这样可以使得部分内存中的数据可以实现掉电保护,提高了数据安全性。

Description

一种存储装置
【技术领域】
本发明涉及计算机、存储领域,具体涉及一种非易失性随机存取的存储装置。
【背景技术】
NVDIMM(Non-Volatile Dual In-line Memory Module,非易失性双列直插式存储模块)是在DIMM(Dual Inline Memory Modules,即双列直插式存储模块)的基础上演化而来的,其属于一种集成了DRAM(Dynamic Random Access Memory,即动态随机存取存储器)和非易失性内存芯片的内存条规格。NVDIMM作为一种能够兼具传统内存的高速访问带宽,同时能够在掉电时保存数据两种特性的新型存储设备,正逐渐受到云计算、数据中心以及高性能服务器等应用领域的重视。但目前的NVDIMM方案均采用NAND Flash(NAND闪存)作为非易失存储介质,但NAND Flash的种类较多,需要配备纠错引擎,以及接口界面没有统一标准,使得其可靠性和通用性较差。因此,在NVDIMM上应用NAND Flash作为非易失存储介质还存在兼容性、可靠性以及可维护性等方面的问题。
因此,本发明希望提出一种改进的技术方案来克服上述技术问题。
【发明内容】
本发明的目的在于提供一种非易失性随机存取的存储装置,用于为计算机系统提供非易失性内存。
为了解决上述问题,本发明提供了一种存储装置,其包括存储器接口,其与外部控制器电性相连;存储控制器,其通过第一总线与所述存储器接口相连;易失性存储器,其通过第二总线与所述存储控制器相连,所述易失性存储器包括有非易失映射区;和非易失性存储器,其通过第三总线与所述存储控制器相连,所述非易失性存储器包括与所述易失性映射区具有对应关系的非易失备份区,在所述存储控制器的控制下,该非易失备份区对所述非易失映射区内的数据进行备份。
进一步的,所述非易失性存储单元的接口满足如下接口标准中的一个:SD卡接口标准、MMC卡接口标准、CF卡接口标准和UFS接口标准,所述易失性存储单元为动态随机存取存储器或静态随机存取存储器,所述第一总线为DIMM总线,所述存储器接口为DIMM接口,第二总线为易失性存储器总线,第三总线为非易失性存储器总线,所述DIMM接口插入DIMM插槽中以与所述外部控制器相连。
进一步的,所述易失性存储器包括多个易失性存储单元,每个易失性存储单元具有独立的数据总线、地址总线、控制总线和时钟总线,各个易失性存储单元的数据总线、地址总线、控制总线和时钟总线汇集形成第二总线,所述非易失性存储器包括多个所述非易失性存储单元,每个非易失性存储单元具有独立的数据总线、命令总线和时钟总线,各个非易失性存储单元的数据总线、命令总线和时钟总线汇集形成第三总线。
进一步的,所述存储装置中包括位掩码表,所述位掩码表包括有多个位,其中的部分或全部位中的每个位对应所述非易失映射区中的一个存储区块,对应所述非易失映射区的一个位为有效时,则表示其对应的存储区块中有待备份数据,在该位为无效时,则表示其对应的存储区块中无待备份数据,所述存储控制器基于所述位掩码表将外部数据写入所述非易失映射区的存储区块中,并将所述位掩码表中的对应位设置为有效;基于所述位掩码表将所述非易失映射区中的存储区块内的待备份数据备份至所述非易失备份区中,并将所述位掩码表中的相应位设置为无效。
进一步的,所述存储控制器包括存储处理模块、易失性存储器控制模块以及非易失性存储器控制模块,所述存储处理模块接收第一总线的命令,接收或发送第一总线的数据,同时向易失性存储器控制模块或非易失性存储器控制模块发送相应控制指令,以及收发相应数据,所述易失性存储器控制模块对所述易失性存储器进行读写操作,所述非易失性存储器控制模块对所述非易失性存储器进行读写操作。
进一步的,所述存储处理模块在检测到第一总线空闲时,查询所述位掩码表以确定所述非易失映射区是否还有待备份数据,如果有,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中,并将所述位掩码表中的相应位设置为无效。
进一步的,所述存储处理模块检测查询所述位掩码表以确定所述非易失映射区中的待备份数据是否超过阈值,如果是,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中,并将所述位掩码表中的相应位设置为无效。
进一步的,存储处理模块检测到第一总线上发来的关机命令时,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中。
进一步的,存储处理模块检测到电压下降到阈值以下时,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表中的信息将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中。
进一步的,所述存储装置包括临时后备电源,所述临时后备电源包括电池或超级电容。
进一步的,所述易失性存储器还包括易失性存储区和直接访问非易失区,外部控制器写访问该直接访问非易失区时,所述存储控制器会将第一总线上的写命令转换为非易失性存储器的数据写命令,并把数据直接写入直接访问非易失存储区的相应地址,外部控制器读访问该直接访问非易失区时,所述存储控制器会将第一总线上的读命令转换为非易失性存储器的数据读命令,并从直接访问非易失存储区的相应地址读出数据。
与现有技术相比,本发明中的非易失性动态随机存取的存储装置采用了标准接口的非易失性存储器,提高了该存储装置的可靠性、通用性以及可维护性。
关于本发明的其他目的,特征以及优点,下面将结合附图在具体实施方式中详细描述。
【附图说明】
结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中:
图1为本发明中的非易失性动态随机存取的存储装置在一个实施例中的结构框图;
图2为图1中的非易失性动态随机存取的存储装置中的易失性存储器在一个实施例中的结构框图;
图3为图1中的非易失性动态随机存取的存储装置中的非易失性存储器在一个实施例中的结构框图;
图4为图3中的非易失性动态随机存取的存储装置中的非易失性存储单元在一个实施例中的结构框图;
图5为图1中的非易失性动态随机存取的存储控制器在一个实施例中的结构框图;
图6为本发明中的易失性存储器及非易失性存储器在一个实施例中的结构原理图;
图7为本发明中的易失性存储器及非易失性存储器在另一个实施例中的结果原理图;
图8为本发明中的易失性存储器及非易失性存储器在再一个实施例中的结果原理图;
图9为图5中的存储处理模块在一个实施例中的结构框图
图10为地址映射表的示例图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来呈现,其直接或间接地模拟本发明中的技术方案的运作。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。
此处所称的“一个实施例”或“实施例”是指与所述实施例相关的特定特征、结构或特性至少可包含于本发明至少一个实现方式中。在本说明书中不同地方出现的“在一个实施例中”并非必须都指同一个实施例,也不必须是与其他实施例互相排斥的单独或选择实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
如图1所示的,其示出了本发明中的非易失性动态随机存取的存储装置的一个实施例,所述存储装置1包括存储器接口10、存储控制器12、易失性存储器14和非易失性存储器16。所述存储器接口10与外部控制器21电性相连。所述存储控制器12通过第一总线11与所述存储器接口10相连。所述易失性存储器14通过第二总线13与所述存储控制器12相连。所述非易失性存储器通过第三总线15与所述存储控制器12相连。
在一个实施例中,所述第一总线11可以为DIMM总线,所述存储器接口10为可以DIMM接口,又可以称为DIMM金手指,第二总线为易失性存储器总线13,第三总线15为非易失性存储器总线,所述存储控制器12为DIMM存储控制器,所述存储装置1可以被称为DIMM存储装置,该DIMM存储装置的DIMM接口10插入外部的存储装置插槽20中,该存储装置插槽可以为DIMM插槽,所述存储装置插槽20与所述外部控制器21相连。所述外部控制器21位于计算机系统的主板或CPU(Central Processing Unit)中,该存储装置1为该计算机系统提供系统易失性存储区以及固态非易失性存储区(比如固态硬盘)。在其他的实施例中,所述DIMM接口也可以由其他接口标准来替代,本发明对此并不限制。
图2为图1中的易失性存储器14在一个实施例中的结构框图。如图2所示,所述易失性存储器14包括有多个易失性存储单元,每个易失性存储单元是由易失性存储介质形成的。所述易失性存储单元可以为DRAM(动态随机存取存储器),也可以为SRAM(StaticRandom Access Memory,即静态随机存取存储器)。如图2所示,其是以易失性存储单元为DRAM为例进行介绍,多个易失性存储单元分别为DRAM141、DRAM142、DRAM143、DRAM144,其形成了4行1列的阵列。每个DRAM有其独立的时钟总线clock、控制总线control、地址总线address以及数据总线data,各个DRAM的总线汇集在一起,构成易失性存储器总线13。在另一些实施例中,也可以形成3行2列,10行3列的阵列。此外,在一些应用中,所述易失性存储单元也可以被称为内存单元,所述易失性存储器14也可以被称之为内存阵列。
图3为图1中的非易失性存储器16在一个实施例中的结构框图。如图3所示,所述非易失性存储器16包括有多个非易失性存储单元,每个非易失性存储单元是由非易失性存储介质形成的。在一个实施例中,所述非易失性存储器可以为NAND闪存,也可以为NOR闪存,本发明对此并不做特别的限制。如图3所示,多个非易失性存储单元分别为eMMC(EmbeddedMulti Media Card,嵌入式多媒体卡)161、eMMC162、eMMC163、eMMC164、eMMC165、eMMC166、eMMC167和eMMC168,其形成了4行2列的阵列。每个eMMC有其独立的数据线DATA、命令总线CMD和时钟总线CLK,所述数据总线、命令总线和时钟总线汇集在一起,构成非易失性存储器总线15。在另一些实施例中,也可以形成3行2列,10行3列的阵列。
图4为图3中的一个eMMC161在一个实施例中的结构框图。所述eMMC161包括与第三总线相连的eMMC主控制器1611以及与所述eMMC主控制器1611相连的NAND闪存1610。所述eMMC主控制器1611通过非易失性存储器总线15与存储控制器12通讯,并将数据写入到NANDFlash 1610,或将数据从NAND Flash 1610读出。
在图3和图4的实施例中,以eMMC为非易失性存储单元为例进行了介绍。在其他实施例中,所述非易失性存储单元还可以是SD(Security Digital)卡,CF(Compact Flash)卡、其他MMC卡、UFS(Universal Flash Storage,通用闪存)卡。换句话说,所述非易失性存储单元的接口可以是接口标准中的一个:SD卡接口标准、MMC卡接口标准、CF卡接口标准和UFS接口标准。当然,还可以是其他统一的接口标准。
图5为图1中的存储控制器12在一个实施例中的结构框图。所述存储控制器12包括存储处理模块121、易失性存储器控制模块122,以及非易失性存储器控制模块123。所述存储处理模块121接收第一总线的命令,接收或发送第一总线的数据,同时向易失性存储器控制模块122或非易失性存储器控制模块123发送相应控制指令,以及收发相应数据。所述易失性存储器控制模块122对所述易失性存储器14进行读写操作,所述非易失性存储器控制模块123对所述非易失性存储器16进行读写操作。具体的,非易失性存储器控制模块123通过非易失性存储器控制模块总线126与存储处理模块121相连,所述易失性存储器控制模块122通过易失性存储器控制模块总线125与存储处理模块121相连。所述存储控制器12还包括有数据缓冲器124,用于在易失性存储器14与非易失性存储器16进行数据交换时进行数据缓冲。
综上所述,由于采用非易失性存储器中的非易失性存储单元的接口满足一定的标准,从而提高了可靠性、通用性和可维护性。假如某些非易失性存储单元坏掉,则更换该非易失性存储单元非常容易,便于维护。
如图6所示,本发明中的易失性存储器及非易失性存储器在一个实施例中的结构原理图。如图6所示,所述易失性存储器14包括易失性存储区1450和非易失映射区1460。所述非易失性存储器16包括非易失备份区1650。
易失性存储器14的易失性存储区1450可以独立被应用。所述易失性存储器14的易失性内存区1450在功能上与普通的内存相同,因此又可以称为内存区。当外部控制器21发出的访问命令落在该易失性存储区1450时,存储控制器12直接将命令旁路给易失性存储器14,这样计算机系统相当于直接访问易失性存储器,可实现与普通内存一样的读写性能。这样的读写访问速度很快,不影响任何访问速度。
如图6所示,易失性存储器14的非易失映射区1460与非易失性存储器16的非易失备份区1650相对应,两者共同构成存储装置1的映射非易失区。当外部控制器21发出的访问命令落在该非易失映射区1460时,存储控制器12直接将命令旁路给易失性存储器14,这样计算机也相当于直接访问易失性存储器14,可实现与普通内存一样的读写性能。此外,在所述存储控制器12的控制下,该非易失备份区1650对所述非易失映射区1460内的数据进行备份。这样,在所述存储装置1掉电后恢复供电时,可以将所述非易失映射区1460内的数据复制到所述非易失映射区1460中,这样非易失映射区1460就恢复了上次掉电时的数据,从而具有非易失存储特性。
如图9所示,所述存储处理模块121中还可以包括有位掩码表,当然在其他实施例中,所述位掩码表也可以存储在非易失性存储器16中。所述位掩码表1213包括有多个位(一个比特位),其中的部分位中的每个位对应所述非易失映射区1460中的一个存储区块。需要知道的是,所述位掩码表1213中的另一些位还可以对应其他区的存储区块。所述位掩码表1213中对应所述非易失映射区1460的一个位为有效时,比如1时,则表示其对应的存储区块中有待备份数据,即还未备份到非易失备份区1650内的数据,在该位为无效时,比如0时,则表示其对应的存储区块中无待备份数据,比如该对应的存储区块根本就没有写入数据,或者被写入的数据已经备份至非易失备份区1650内。所述存储控制器12通过所述易失性存储器控制器122将外部数据写入所述非易失映射区1460的存储区块中,所述存储控制器12基于所述位掩码表1213将所述非易失映射区1460中的存储区块内的待备份数据备份至所述非易失备份区1650中,同时将所述位掩码表1213中的相应位置为无效。
在第一个实施例中,所述存储处理模块121在检测到第一总线11空闲时,查询所述位掩码表1213以确定所述非易失映射区1460是否还有待备份数据,如果有,则向易失性存储器控制模块122和非易失性存储器控制模块123发出相应指令,以根据位掩码表1213中的信息将易失性存储器14的非易失映射区1460中的待备份数据分批次备份到非易失性存储器16的非易失备份区1650中,并将所述位掩码表1213中的相应位置为无效。
在第二个实施例中,存储处理模块121检测查询所述位掩码表1213以确定所述非易失映射区1460中的待备份数据是否超过阈值,如果是,则向易失性存储器控制模块122和非易失性存储器控制模块123发出相应指令,以根据位掩码表1213中的信息将易失性存储器14的非易失映射区1460中的待备份数据分批次备份到非易失性存储器16的非易失备份区1650中,并将所述位掩码表1213中的相应位置为无效。
在第三个实施例中,存储处理模块121检测到第一总线11上发来的关机命令时,则向易失性存储器控制模块122和非易失性存储器控制模块123发出相应指令,以根据位掩码表1213中的信息将易失性存储器14的非易失映射区1460中的待备份数据备份到非易失性存储器16的非易失备份区1650中。此次备份是一次性的,这样可以保证关机后,所有数据都被备份成功。
在第四实施例中,存储处理模块121检测到电压下降到阈值以下时,则向易失性存储器控制模块122和非易失性存储器控制模块123发出相应指令,以根据位掩码表1213中的信息将易失性存储器14的非易失映射区1460中的待备份数据备份到非易失性存储器16的非易失备份区1650中。此实施例为异常断电备份,为实现可靠的数据备份,需要在DIMM存储装置1上增加临时后备电源,如电池,超级电容等,这样可以使得在异常断电后,该后备电源能够给所述DIMM存储装置1提供一定的电能,保证数据都被备份成功。
在此实施例中,对于计算机系统来说,所述存储装置1由两部分形成,一部分是作为易失性内存使用的易失性存储区1450,另一部分为作为非易失性内存使用的非易失映射区1460,这样可以使得部分内存中的数据可以实现掉电保护,提高了数据安全性。
如图7所示,本发明中的易失性存储器及非易失性存储器在另一个实施例中的结构原理图。如图7所示,所述易失性存储器14包括易失性存储区1450和非易失映射区1460。所述非易失性存储器16包括非易失备份区1650和直接访问非易失区1670。其中,非易失备份区1650和非易失映射区1460的运作原理与图6中的相同,这里不再重复。
外部控制器21能够通过存储控制器12直接访问非易失性存储器16的直接访问非易失区1670。在外部控制器21写访问该直接访问非易失区1670时,所述存储控制器12会将第一总线上的写命令转换为非易失性存储器16的数据写命令,并把数据直接写入直接访问非易失存储区1670的相应地址,外部控制器21读访问该直接访问非易失区1670时,所述存储控制器12会将第一总线上的读命令转换为非易失性存储器16的数据读命令,并从直接访问非易失存储区1670的相应地址读出数据。这一存储区的功能是为计算机系统提供最可靠的非易失存储空间。数据在整个写入过程中没有在非易失存储器中暂存,因此无须采用任何保护机制既可保证写入数据的可靠性,因此能够提供最高可靠级别的非易失存储特性。
在此实施例中,对于计算机系统来说,所述存储装置1由两部分形成,一部分是作为内存使用的易失性存储区1450,另一部分为作为固态硬盘(solid state disk,SSD)使用的直接访问非易失性存储区1670,它们通过同一个存储器接口访问,通过同一个存储控制器管理,这种方式更为有效,管理更为简便。
如图8所示,本发明中的存储装置的易失性存储器及非易失性存储器的结构原理图。如图8所示,所述易失性存储器14包括易失性存储区1450和数据缓存区1470。所述非易失性存储器16包括非易失性存储区1660。
易失性存储器14的数据缓存区1470与非易失性存储器16的非易失性存储区1660相对应,两者共同构成存储装置1的非易失性存储区。所述外部控制器21能够通过存储控制器12访问非易失性存储器16的非易失性存储区1660。然而,为了保证数据的写入速度,被写入的数据需要先缓存至所述易失性存储器14的数据缓存区1470中,之后再由所述数据缓存区1470中被拷贝至所述非易失性存储器16中的非易失性存储区。所述非易失性存储区1660的存储空间要大于数据缓存区1470的存储空间。这样,该存储区可以为计算机系统提供具有超大容量(可高达TB级)并且具有较高访问速度的非易失存储空间。
所述易失性存储区1450在功能上为类内存区,所述类内存区是指该区域存储的数据在掉电后消失,在功能上与普通的内存相当。所述非易失性存储区1660在功能上为类硬盘区,该类硬盘区则可在掉电后保存数据,并在重新上电后再次正确读取。
可以看出,本发明中的存储装置1兼具了现有计算机系统的内存和硬盘的特点,即有易失性存储区1450,也有非易失性存储区1660,他们通过同一个存储器接口访问,通过同一个存储控制器管理。换句话说,对于计算机系统来说,所述存储装置1由两部分形成,一部分是作为内存使用的易失性存储区1450,另一部分为作为固态硬盘(solid state disk,SSD)使用的多个非易失性存储区1660。本发明中的给计算机系统提供存储装置1的方式较现有的内存加硬盘的方式,更为有效,管理更为简便。
图8都仅仅示意出了一个数据缓存区和一个非易失性存储区,实际应用中,可以为多个数据缓存区1470和多个易失性存储区1660。
图9为图5中的存储处理模块121在一个实施例中的结构框图。除了位掩码表1213,所述存储处理模块121还包括执行状态机1211、执行队列1212、以及地址映射表1214。图10为地址映射表1214的一个示例。在一个实施例中,所述位掩码表1213以及地址映射表1214可以存储在所述易失性存储器14或所述非易失性存储器16中,所述存储处理模块121在需要时可以调用位掩码表1213以及地址映射表1214。
所述位掩码表1213中包括有多个位(比特位),其中部分中的每个位对应所述数据缓存区中的一个存储区块,所述位掩码表1213中对应所述数据缓存区1470的一个位为有效时,比如1时,则表示其对应的存储区块中有待转存数据,即还未转存到非易性存储区1660内的数据,在该位为无效时,比如0时,则表示其对应的存储区块中无待转存数据,即该存储区块中的数据已经被转存到非易失性存储区1660内,或者无新数据。所述地址映射表1214用来记录有多条地址映射记录,每条地址映射记录包括待写入的数据在数据缓存区中的临时源地址以及其在非易失性存储区的目标地址。
下面介绍一下写入数据到所述非易失性存储区1660内的目标地址的过程。
步骤710,所述存储处理模块121接收到写入数据到所述非易失性存储区1660内的命令;
步骤720,执行状态机1211在位掩码表1213中查找所述数据缓存区中的空闲的存储区块。即在位掩码表1213查找对应所述数据缓存区1470的无效位。
步骤730,当找到空闲的存储区块后,执行状态机1211在地址映射表1214建立一条地址映射记录,该地址映射记录中包括待写入的数据在数据缓存区1470的临时源地址以及在非易失性存储区1660内的目标地址。
步骤740,将数据写入数据缓存区1470的临时源地址对应的空闲存储区块,并将所述位掩码表1213的对应位置为有效;
步骤750,执行状态机1212生成一条写命令,将写入到数据缓存区1470的临时源地址内的数据转存到非易失性存储区1660的目的地址中,并将命令压入执行队列。
步骤760,执行队列中的命令则由执行状态机1211依次执行,每执行完一条命令,则将地址映射表1214中的对应地址映射记录删除,还将位掩码表1213中的对应位(该命令对应的易失性存储器14的数据缓存区1470的存储区块对应的位)设置为无效。
这样,通过数据缓存区1470的缓存,将数据写入了非易失性存储区1660。
当第一总线收到读所述非易失性存储区1660的访问命令时,执行状态机1211根据访问命令的目标地址,查询地址映射表1214,若地址映射表1214中存在目标地址,则表明要读取的数据尚未写入非易失性存储区1660,而是还保存在数据缓存区1470中,因此基于地址映射表1214从数据缓存区1470的对应存储区块中读取数据。若地址映射表1214中不存在该目标地址,则表明数据已经写入所述非易失性存储区1660,因此直接从非易失性存储区1660的目标地址读取数据。
根据上述说明,计算机系统对于非易失性存储区1660的读写访问会首先经过数据缓存区1470,然后再写入非易失性存储区1660的目标地址。这样可以在一定程度上大幅提高非易失性存储区的读写性能。但由于数据缓存区1470的存在,使得一部有效数据仍然保存在非易失存储器中,因此在系统关机或者异常掉电时,DIMM存储控制器12会将数据缓存区1470中的有效数据一次性写入非易失性存储区1660的对应地址。
举例来讲,所述非易失性存储器14可以具有4G的空间,其中3G作为易失性存储区1450,1G作为数据缓存区1470,所述非易失性存储器16可以具有100G的空间。计算机系统的外部控制器21可以高速的访问到3G的易失性存储区1450,就像访问现有内存一样,高速快捷。另外,外部控制器21还可以访问到100G的非易失性存储区1660,这部分具有较高访问速度,且同时具有非易失性,其读的速度可能较慢。
在一个实施例中,所述易失性存储器14中可以只包括数据缓存区1470,而不设置易失性存储区。
上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。

Claims (16)

1.一种存储装置,其特征在于,其包括:
存储器接口,其与外部控制器电性相连;
存储控制器,其通过第一总线与所述存储器接口相连;
易失性存储器,其通过第二总线与所述存储控制器相连,所述易失性存储器包括有非易失映射区;和
非易失性存储器,其通过第三总线与所述存储控制器相连,所述非易失性存储器包括与所述非易失性映射区具有对应关系的非易失备份区,在所述存储控制器的控制下,该非易失备份区对所述非易失映射区内的数据进行备份,
所述非易失性存储器还包括直接访问非易失区,
外部控制器写访问该直接访问非易失区时,所述存储控制器会将第一总线上的写命令转换为非易失性存储器的数据写命令,并把数据直接写入直接访问非易失存储区的相应地址,
外部控制器读访问该直接访问非易失区时,所述存储控制器会将第一总线上的读命令转换为非易失性存储器的数据读命令,并从直接访问非易失存储区的相应地址读出数据。
2.根据权利要求1所述的存储装置,其特征在于,所述非易失性存储单元的接口满足如下接口标准中的一个:SD卡接口标准、MMC卡接口标准、CF卡接口标准和UFS接口标准,所述易失性存储单元为动态随机存取存储器或静态随机存取存储器,所述第一总线为DIMM总线,所述存储器接口为DIMM接口,第二总线为易失性存储器总线,第三总线为非易失性存储器总线,所述DIMM接口插入DIMM插槽中以与所述外部控制器相连。
3.根据权利要求1所述的存储装置,其特征在于,所述易失性存储器包括多个易失性存储单元,每个易失性存储单元具有独立的数据总线、地址总线、控制总线和时钟总线,各个易失性存储单元的数据总线、地址总线、控制总线和时钟总线汇集形成第二总线,
所述非易失性存储器包括多个所述非易失性存储单元,每个非易失性存储单元具有独立的数据总线、命令总线和时钟总线,各个非易失性存储单元的数据总线、命令总线和时钟总线汇集形成第三总线。
4.根据权利要求1所述的存储装置,其特征在于,
所述存储装置中包括位掩码表,所述位掩码表包括有多个位,
其中的部分或全部位中的每个位对应所述非易失映射区中的一个存储区块,对应所述非易失映射区的一个位为有效时,则表示其对应的存储区块中有待备份数据,在该位为无效时,则表示其对应的存储区块中无待备份数据,
所述存储控制器基于所述位掩码表将外部数据写入所述非易失映射区的存储区块中,并将所述位掩码表中的对应位设置为有效;基于所述位掩码表将所述非易失映射区中的存储区块内的待备份数据备份至所述非易失备份区中,并将所述位掩码表中的相应位设置为无效。
5.根据权利要求4所述的存储装置,其特征在于,所述存储控制器包括存储处理模块、易失性存储器控制模块以及非易失性存储器控制模块,
所述存储处理模块接收第一总线的命令,接收或发送第一总线的数据,同时向易失性存储器控制模块或非易失性存储器控制模块发送相应控制指令,以及收发相应数据,
所述易失性存储器控制模块对所述易失性存储器进行读写操作,
所述非易失性存储器控制模块对所述非易失性存储器进行读写操作。
6.根据权利要求5所述的存储装置,其特征在于,所述存储处理模块在检测到第一总线空闲时,查询所述位掩码表以确定所述非易失映射区是否还有待备份数据,如果有,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中,并将所述位掩码表中的相应位设置为无效。
7.根据权利要求5所述的存储装置,其特征在于,所述存储处理模块检测查询所述位掩码表以确定所述非易失映射区中的待备份数据是否超过阈值,如果是,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中,并将所述位掩码表中的相应位设置为无效。
8.根据权利要求5所述的存储装置,其特征在于,存储处理模块检测到第一总线上发来的关机命令时,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中。
9.根据权利要求5所述的存储装置,其特征在于,存储处理模块检测到电压下降到阈值以下时,则向易失性存储器控制模块和非易失性存储器控制模块发出相应指令,以根据位掩码表中的信息将易失性存储器的非易失映射区中的待备份数据备份到非易失性存储器的非易失备份区中。
10.根据权利要求9所述的存储装置,其特征在于,所述存储装置包括临时后备电源,所述临时后备电源包括电池或超级电容。
11.根据权利要求1所述的存储装置,其特征在于,所述易失性存储器还包括易失性存储区。
12.根据权利要求1所述的存储装置,其特征在于,所述易失性存储器包括有数据缓存区,所述非易失性存储器包括与所述数据缓存区具有对应关系的非易失性存储区,所述外部控制器能够访问所述非易失性存储区,在所述外部控制器写入数据到所述非易失性存储区时,被写入的数据先缓存至所述数据缓存区中,之后再由所述数据缓存区中被拷贝至所述非易失性存储器中的非易失性存储区。
13.根据权利要求12所述的存储装置,其特征在于,所述存储控制器中包括执行状态机、执行队列,所述存储装置中还包括位掩码表以及地址映射表,
所述位掩码表包括有多个位,每个位对应所述数据缓存区中的一个存储区块,所述位掩码表中对应所述数据缓存区的一个位为有效时,则表示其对应的存储区块中有待转存数据,在该位为无效时,则表示其对应的存储区块中无待转存数据,
所述地址映射表用来记录有多条地址映射记录,每条地址映射记录包括待写入的数据在数据缓存区中的临时源地址以及其在所述非易失性存储区的目标地址。
14.根据权利要求13所述的存储装置,其特征在于,
所述存储控制器接收到写入数据到所述非易失性存储区内的命令;
执行状态机在位掩码表中查找所述数据缓存区中的无待转存数据的存储区块;
当找到无待转存数据的存储区块后,执行状态机在地址映射表建立一条地址映射记录,该地址映射记录中包括待写入的数据在数据缓存区的临时源地址以及在非易失性存储区内的目标地址;
将数据写入数据缓存区的临时源地址对应的存储区块,并将所述位掩码表的对应位置为有效;
执行状态机生成一条写命令,将写入到数据缓存区的临时源地址内的数据转存到非易失性存储区的目的地址中,并将命令压入执行队列;
执行队列中的命令则由执行状态机依次执行。
15.根据权利要求14所述的存储装置,其特征在于,
所述执行状态机每执行完一条命令,则将地址映射表中的对应地址映射记录删除,还将位掩码表中的对应位设置为无效,
当第一总线收到读所述非易失性存储区的访问命令时,执行状态机根据访问命令的目标地址,查询地址映射表,若地址映射表中存在目标地址,则基于地址映射表从数据缓存区的对应存储区块中读取数据;
若地址映射表中不存在该目标地址,则直接从非易失性存储区的目标地址读取数据。
16.根据权利要求14所述的存储装置,其特征在于,在关机或者异常掉电时,存储控制器会将数据缓存区中的有效数据一次性写入非易失性存储区的对应地址。
CN201410766201.2A 2014-12-12 2014-12-12 一种存储装置 Active CN104461964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410766201.2A CN104461964B (zh) 2014-12-12 2014-12-12 一种存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410766201.2A CN104461964B (zh) 2014-12-12 2014-12-12 一种存储装置

Publications (2)

Publication Number Publication Date
CN104461964A CN104461964A (zh) 2015-03-25
CN104461964B true CN104461964B (zh) 2017-03-15

Family

ID=52908046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410766201.2A Active CN104461964B (zh) 2014-12-12 2014-12-12 一种存储装置

Country Status (1)

Country Link
CN (1) CN104461964B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792190B2 (en) * 2015-06-26 2017-10-17 Intel Corporation High performance persistent memory
CN106569964A (zh) * 2015-10-13 2017-04-19 中兴通讯股份有限公司 掉电保护方法、装置、系统以及内存条
CN105589767B (zh) * 2015-12-21 2018-07-31 北京时代民芯科技有限公司 一种用于nand flash的系统掉电保护实现方法
KR20170111353A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 비휘발성 메모리 모듈의 커맨드 어드레스 스누핑
CN107885457B (zh) * 2016-09-30 2020-08-07 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法
CN106445845A (zh) * 2016-12-06 2017-02-22 郑州云海信息技术有限公司 一种企业级ssd系统及其掉电保护方法
CN106980473B (zh) * 2017-03-30 2020-02-18 四川长虹电器股份有限公司 提升eeprom读写可靠性及速率的方法
CN109729730B (zh) * 2017-08-31 2020-09-04 华为技术有限公司 写入信息的方法和装置
CN107729140B (zh) * 2017-09-22 2020-07-28 华南理工大学 一种并行实现多个eMMC主机接口命令排队功能的装置及方法
CN110502455B (zh) * 2018-05-18 2021-10-12 杭州海康威视数字技术股份有限公司 数据存储方法及系统
CN112530509A (zh) * 2018-12-26 2021-03-19 上海忆芯实业有限公司 为存储设备提供ecc的方法、ecc模块及存储设备
US11354208B2 (en) * 2019-09-11 2022-06-07 International Business Machines Corporation Adjustment of safe data commit scan based on operational verification of non-volatile memory
CN111008159B (zh) * 2019-11-28 2022-01-28 北京握奇智能科技有限公司 存储设备数据保护方法、装置、设备及存储介质
CN111399782B (zh) * 2020-04-21 2022-10-25 中国人民解放军军事科学院国防工程研究院工程防护研究所 一种动态测试设备高可靠性触发及数据采集存储方法
CN112131619A (zh) * 2020-09-30 2020-12-25 天津津航计算技术研究所 一种多层级数据保护电路及方法
US11714645B2 (en) 2021-10-18 2023-08-01 Changxin Memory Technologies, Inc. Write cache circuit, data write method, and memory
CN115994102A (zh) * 2021-10-18 2023-04-21 长鑫存储技术有限公司 写入缓存电路、数据写入方法和存储器
CN114168076A (zh) * 2021-12-06 2022-03-11 陕西空天动力研究院有限公司 一种数据存储方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208648B (zh) * 2005-08-04 2010-06-02 达西系统股份有限公司 存储装置控制器的超级电容的寿命监视
US7441070B2 (en) * 2006-07-06 2008-10-21 Qimonda North America Corp. Method for accessing a non-volatile memory via a volatile memory interface
US9003159B2 (en) * 2009-10-05 2015-04-07 Marvell World Trade Ltd. Data caching in non-volatile memory
CN103077116A (zh) * 2013-01-18 2013-05-01 无锡云动科技发展有限公司 一种计算机的数据存储系统及计算机系统

Also Published As

Publication number Publication date
CN104461964A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104461964B (zh) 一种存储装置
US10860477B2 (en) Apparatus and method for low power low latency high capacity storage class memory
CN104575595B (zh) 非易失性随机存取的存储装置
US9940261B2 (en) Zoning of logical to physical data address translation tables with parallelized log list replay
US9575882B2 (en) Non-volatile memory interface
US9927999B1 (en) Trim management in solid state drives
US20100235568A1 (en) Storage device using non-volatile memory
CN105786400B (zh) 一种异构混合内存组件、系统及存储方法
CN109952565B (zh) 内存访问技术
US10459803B2 (en) Method for management tables recovery
US20140337589A1 (en) Preventing a hybrid memory module from being mapped
CN106062724A (zh) 存储器模块上的数据管理
US20240086315A1 (en) Memory access statistics monitoring
CN106021159A (zh) 大容量固态硬盘逻辑地址到物理地址映射方法
CN102999441A (zh) 一种细粒度内存访问的方法
US20180024751A1 (en) Metadata management on a storage device
US11714722B2 (en) Power loss recovery for memory devices
CN102087632B (zh) 用于闪存的数据储存方法及其控制器与储存系统
US20180188953A1 (en) Apparatus, system and method to determine a demarcation voltage to use to read a non-volatile memory
CN115599592A (zh) 内存镜像方法及计算设备
CN112912834A (zh) 存取单元和管理片段存储器操作
US20230393760A1 (en) Safe area for critical control data
US11138115B2 (en) Hardware-based coherency checking techniques
EP4220414A1 (en) Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same
US20240111447A1 (en) Data storage device with flow tracking ability

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: Hangzhou City, Zhejiang province 311200 Xiaoshan District Road No. 66 Building No. 1 building 22 layer Huarui Center

Applicant after: SAGE MICROELECTRONICS CORP.

Address before: Hangzhou City, Zhejiang province 311200 Xiaoshan District Road No. 66 Building No. 1 building 22 layer Huarui Center

Applicant before: Hangzhou Sage Microelectronics Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: HANGZHOU SAGE MICROELECTRONICS CO., LTD. TO: HANGZHOU SAGE MICROELECTRONICS, CORP.

C14 Grant of patent or utility model
GR01 Patent grant