CN106708444A - 数据存储方法和硬盘控制器 - Google Patents

数据存储方法和硬盘控制器 Download PDF

Info

Publication number
CN106708444A
CN106708444A CN201710036256.1A CN201710036256A CN106708444A CN 106708444 A CN106708444 A CN 106708444A CN 201710036256 A CN201710036256 A CN 201710036256A CN 106708444 A CN106708444 A CN 106708444A
Authority
CN
China
Prior art keywords
write
data
target data
hard disk
host
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.)
Pending
Application number
CN201710036256.1A
Other languages
English (en)
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Beijing Legend Core Technology Co 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 Beijing Legend Core Technology Co Ltd filed Critical Beijing Legend Core Technology Co Ltd
Priority to CN201710036256.1A priority Critical patent/CN106708444A/zh
Publication of CN106708444A publication Critical patent/CN106708444A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据存储方法和硬盘控制器,以解决现有技术中对主机缓存缺少全局管理和优化能力的技术问题。该方法包括:接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;确定所述目标数据是否满足预设写入条件;在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。

Description

数据存储方法和硬盘控制器
技术领域
本发明涉及存储领域,具体地,涉及一种数据存储方法和硬盘控制器。
背景技术
写入放大是Nand闪存和SSD(Solid State Drives,固态硬盘)之间相关联的一个属性。因为闪存必须先删除才能改写,在执行这些操作的时候,需要多次移动用户数据和元数据,导致实际写入的物理信息量是将要写入的逻辑数量的多倍,增加了写入数据量,减少了SSD的使用寿命。
现有技术为了减小写入放大,通常采用DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)来实现写缓存,把主机频繁改写的“热”数据保存在可以任意读写的DDR SDRAM中,当数据变“冷”后或主机发送关机命令后,把数据保存到Nand闪存中。在具体实施时,写缓存可以存在于SSD控制器的DDR内存中,也可以存在于主机的DDR内存中。主机端写缓存的优点是容量大,速度快。主机端和控制器端都有专用的算法或模块来维护和管理写缓存。
但是,在虚拟化环境中,一个物理SSD被虚拟成多个逻辑SSD,每个逻辑SSD被对应的一个虚拟主机管理,在虚拟主机上运行操作系统和SSD驱动程序。在这种环境下,每个虚拟主机上针对各自的逻辑SSD运行独立的写缓存算法,相互之间没有通信和协同操作,这就造成了主机端写缓存算法缺少跨虚拟机的全局管理和优化能力。
发明内容
本发明的主要目的是提供一种数据存储方法和硬盘控制器,以解决现有技术中对主机缓存缺少全局管理和优化能力的技术问题。
为了实现上述目的,本发明第一方面提供一种数据存储方法,所述方法应用于硬盘控制器,所述方法包括:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
可选地,所述方法还包括:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
可选地,所述确定所述目标数据是否满足预设写入条件,包括:
根据全局写缓存管理算法确定所述目标数据是否为热数据。
可选地,在所述确定所述目标数据是否满足预设写入条件之前,所述方法包括:
确定所述第一数据写入指令中包括写缓存使能信息。
可选地,所述将所述目标数据写在所述主机缓存中,包括:
向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
可选地,所述方法还包括:
接收所述主机端设备发送的第二数据写入指令;
确定所述第二数据写入指令未包括写缓存使能信息;
根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
本发明第二方面提供一种硬盘控制器,包括:至少一个处理器,存储器;
所述存储器用于存储至少一个程序模块;
所述至少一个处理器通过运行存储在所述存储器的所述至少一个程序模块用于:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
可选地,所述至少一个处理器还用于:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
可选地,所述至少一个处理器确定所述目标数据是否满足预设写入条件具体为:根据全局写缓存管理算法确定所述目标数据是否为热数据。
可选地,所述至少一个处理器还用于:在所述确定所述目标数据是否满足预设写入条件之前,确定所述第一数据写入指令中包括写缓存使能信息。
可选地,所述至少一个处理器所述将所述目标数据写在所述主机缓存中具体为:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
可选地,所述至少一个处理器还用于:接收所述主机端设备发送的第二数据写入指令;
确定所述第二数据写入指令未包括写缓存使能信息;
根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
本发明第三方面提供一种硬盘控制器,包括:
接收单元,用于接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定单元,用于确定所述目标数据是否满足预设写入条件;
数据写入单元,用于在所述目标数据满足所述写入条件时,将所述目标数据写在主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
采用上述技术方案,主机端设备将数据写入指令发送给硬盘控制器,由硬盘控制器确定将数据写入硬盘Nand闪存还是写入主机缓存,相比现有技术中主机端设备不经过硬盘控制器直接在主机缓存中写入数据,本发明由硬盘控制器控制主机缓存的数据写入,由于硬盘控制器具备全局的写缓存管理和优化能力,因此,硬盘控制器可以对主机缓存的数据存储进行全局管理和优化,解决了主机缓存缺少全局管理和优化能力的技术问题。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明实施例提供的一种存储架构示意图;
图2是本发明实施例提供的一种数据存储方法的流程示意图;
图3是本发明实施例提供的另一种数据存储方法的流程示意图;
图4是本发明实施例提供的一种硬盘控制器的结构示意图;
图5是本发明实施例提供的另一种硬盘控制器的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对相关技术进行简单介绍。
图1是本发明实施例提供的一种存储架构示意图,如图所示,该存储架构包括主机端设备10,其中,主机端设备10包括主机缓存100,该存储架构还包括固态硬盘11,该固态硬盘11包括SSD控制器110和Nand闪存111。主机端设备10与固态硬盘11相连。
现有的相关技术中,主机缓存100中的数据写入是由主机端设备10控制的,例如,主机端设备10在确定待写入固态硬盘的数据为“热”数据时,直接将数据写入主机缓存100中,当数据变“冷”后或主机端设备关机时,向固态硬盘发送数据写入指令,将主机缓存100中的数据保存到Nand闪存111中。但是,由于主机端设备在运行有多个虚拟机的情况下,每个虚拟机对主机缓存进行的数据写入是独立进行的,对于主机缓存缺少全局管理和优化。
本发明实施例提供一种数据存储的方法,该方法应用于硬盘控制器,例如图1中示出的SSD控制器,如图2所示,该方法包括:
S201、接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
S202、确定所述目标数据是否满足预设写入条件;
S203、在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
S204、在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
这样,主机端设备将数据写入指令发送给硬盘控制器,由硬盘控制器确定将数据写入硬盘Nand闪存还是写入主机缓存,相比现有技术中主机端设备不经过硬盘控制器直接在主机缓存中写入数据,本发明实施例由硬盘控制器控制主机缓存的数据写入,由于硬盘控制器具备全局的写缓存管理和优化能力,因此,硬盘控制器可以对主机缓存的数据存储进行全局管理和优化,解决了主机缓存缺少全局管理和优化能力的技术问题。
下面对上述步骤进行详细举例说明。
由于为了减小写入放大,缓存除了可以存在于主机端设备,还可以存在与硬盘中。因此,在本发明实施例的一种可能的实现方式中,上述步骤S204还可以是,在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。也就是说,固态硬盘在每次接收到主机端设备发送的数据写入指令后,可以通过对预设写入条件的判断确定本次的待写入数据是写入主机缓存还是硬盘缓存或者是Nand闪存。
其中,针对所述预设写入条件,上述步骤S203可以为:根据全局写缓存管理算法确定所述目标数据是否为热数据。
具体地,热数据可以理解为频繁,高并发性写入Nand闪存中的相同地址的数据,由于数据的频繁改写将影响Nand闪存的使用寿命。因此,本发明实施例中,硬盘控制器可以通过全局写缓存管理算法判断待写入的数据的写入地址是否被频繁写入,若是,则判断待写入的数据为热数据,则硬盘控制器可以进一步将该待写入的数据写入DDR SDRAM实现的主机缓存,或者硬盘的缓存,减小了写入放大。
可选地,本发明实施例在确定所述目标数据是否满足预设写入条件之前,还可以确定所述第一数据写入指令中包括写缓存使能信息。
也就是说,硬盘控制器写主机缓存的功能可以通过所述写缓存使能信息开启,具体地,硬盘控制器在接收到主机端设备发送的数据写入指令后,判断该数据写入指令是否存在写缓存使能信息,若存在,则执行上述步骤S202至步骤S204,若不存在,则可以直接将待写入数据写入Nand闪存。
可选地,硬盘控制器在确定所述目标数据满足所述写入条件时,可以通过如下方式将目标数据写入主机缓存:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
也就是说,针对主机端设备发送的所述第一数据写入指令,硬盘控制器直接返回写入成功指令,但不读取待写入的目标数据,而是通过全局写缓存管理算法确定目标数据写入主机缓存的地址,并通知主机端设备将所述目标数据写入主机缓存。
进一步地,所述方法还包括:接收所述主机端设备发送的第二数据写入指令;确定所述第二数据写入指令未包括写缓存使能信息;根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
值得说明的是,主机端设备在接收到Flush命令或者关机命令后,可以向硬盘控制器发送不包括写缓存使能信息的数据写入指令,该数据写入指令用于将主机缓存中的数据写入到硬盘的Nand闪存中,这样,硬盘控制器在接收到数据写入指令后,确定该数据写入指令未包括写缓存使能信息,则直接根据该数据写入指令将主机缓存中的数据写入Nand闪存。通过上述方式,可以实现在热数据变冷后,将主机缓存中存储的数据最终存储到Nand闪存中。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面基于图1所示的存储架构对本发明实施例提供的一种数据存储方法进行详细的说明。如图3所示,包括:
S301、主机端设备10发送第一数据写入指令给SSD控制器110。
其中,该第一数据写入指令用于向硬盘11中写入目标数据。
S302、SSD控制器110接收该第一数据写入指令。
S303、SSD控制器110确定该第一数据写入指令是否包括写缓存使能信息。
具体地,本发明实施例可以扩展NVMe协议中的保留字段,在主机端设备发送给硬盘控制器的数据写入指令中增加一个“主机写缓存使能位”,通过判断该“主机写缓存使能位”的值判断数据写入指令是否包括写缓存使能信息。例如,若该“主机写缓存使能位”的值为1,则确定数据写入指令包括写缓存使能信息,若该“主机写缓存使能位”的值为0,则确定数据写入指令未包括写缓存使能信息。
进一步地,若该第一数据写入指令未包括写缓存使能信息,则执行步骤S304,若该第一数据写入指令包括写缓存使能信息,则执行步骤S305及后续步骤。
S304、SSD控制器110根据该第一数据写入指令将目标数据写入Nand闪存111。
S305、SSD控制器110判断待写入的目标数据是否为热数据。
进一步地,若该目标数据不是热数据,则执行步骤S304;若该目标数据是热数据,则执行步骤S306及其后续步骤。
S306、SSD控制器110向主机端设备10发送用于响应所述第一数据写入指令的写入成功指令,其中,所述写入成功指令包括缓存指示信息。
也就是说,针对该第一数据写入指令,SSD控制器不从主机端设备读取目标数据,而是直接返回写入成功指令,并在该写入成功指令中携带缓存指示信息。具体地,本发明实施例可以扩展NVMe协议中的保留字段,在写入成功指令中添加“主机写缓存有效位”。这样,主机端设备的驱动程序在确定SSD控制器返回的写入成功指令中的“主机写缓存有效位”的值为1时,将目标数据写入主机缓存中。
S307、主机端设备10接收该写入成功指令,并根据该缓存指示信息将该目标数据写入主机缓存100中。
S308、主机端设备10接收到Flush命令。
其中,Flush命令用于清理缓存,为了避免数据丢失,主机端设备10在清理缓存之前,可以将主机缓存中的数据写入到硬盘11中,即执行步骤S309。
可替换地,主机端设备10也可以是在接收到关机指令时,执行步骤S309。
S309、主机端设备10将包括主机缓存100中的数据的第二数据写入指令发送给SSD控制器110,其中,该第二数据写入指令不包括写缓存使能信息。
S310、SSD控制器110接收该第二数据写入指令。
S311、SSD控制器110确定该第二数据写入指令不包括写缓存使能信息。
S312、SSD控制器110根据该第二数据写入指令,将主机缓存100中的数据写入Nand闪存111。
采用上述方法,SSD控制器在确定待写入硬盘的数据为热数据时,可以控制主机端设备将数据写入主机缓存。这样,即使主机端设备运行有多个虚拟机,由于在物理SSD上,每个虚拟机对应的逻辑SSD的读写操作可以被聚合为统一的读写操作,因此,SSD控制器对于主机缓存可以进行全局的写缓存管理和优化。
另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
本发明实施例还提供一种硬盘控制器40,用于实施上述方法实施例提供的一种数据存储方法,如图4所示,该硬盘控制器40包括:至少一个处理器401,存储器402;
所述存储器402用于存储至少一个程序模块;
所述至少一个处理器401通过运行存储在所述存储器402的所述至少一个程序模块用于:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
采用上述硬盘控制器,主机端设备将数据写入指令发送给该硬盘控制器,由该硬盘控制器确定将数据写入硬盘Nand闪存还是写入主机缓存,相比现有技术中主机端设备不经过硬盘控制器直接在主机缓存中写入数据,本发明实施例由硬盘控制器控制主机缓存的数据写入,由于硬盘控制器具备全局的写缓存管理和优化能力,因此,硬盘控制器可以对主机缓存的数据存储进行全局管理和优化,解决了主机缓存缺少全局管理和优化能力的技术问题。
可选地,所述至少一个处理器401还用于:在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
可选地,所述至少一个处理器401确定所述目标数据是否满足预设写入条件具体为:根据全局写缓存管理算法确定所述目标数据是否为热数据。
可选地,所述至少一个处理器401还用于:在所述确定所述目标数据是否满足预设写入条件之前,确定所述第一数据写入指令中包括写缓存使能信息。
可选地,所述至少一个处理器401所述将所述目标数据写在所述主机缓存中具体为:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
可选地,所述至少一个处理器401还用于:接收所述主机端设备发送的第二数据写入指令;确定所述第二数据写入指令未包括写缓存使能信息;根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
需要说明的是,本领域技术人员应该理解到,图4示出的是与本发明各实施例相关的硬盘控制器的部分结构的框图。其中,该硬盘控制器具体可以为SSD控制器。并且,图4中示出的结构并不构成对硬盘控制器的限定,在具体实施过程中,该硬盘控制器40可以包括比图示更多的部件,本发明对此不做限定。
本发明实施例还提供另一种硬盘控制器50,用于实施上述方法实施例提供的一种数据存储方法,如图5所示,该硬盘控制器50包括:
接收单元501,用于接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定单元502,用于确定所述目标数据是否满足预设写入条件;
数据写入单元503,用于在所述目标数据满足所述写入条件时,将所述目标数据写在主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
可选地,所述数据写入单元503还用于:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
可选地,所述确定单元502具体用于:
根据全局写缓存管理算法确定所述目标数据是否为热数据。
可选地,所述确定单元502在确定所述目标数据是否满足预设写入条件之前,还用于:
确定所述第一数据写入指令中包括写缓存使能信息。
可选地,所述数据写入单元503具体用于:
向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
可选地,所示接收单元501还用于,接收所述主机端设备发送的第二数据写入指令;所示确定单元502还用于,确定所述第二数据写入指令未包括写缓存使能信息;所示数据写入单元503还用于,根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
采用上述硬盘控制器,主机端设备将数据写入指令发送给该硬盘控制器,由该硬盘控制器确定将数据写入硬盘Nand闪存还是写入主机缓存,相比现有技术中主机端设备不经过硬盘控制器直接在主机缓存中写入数据,本发明实施例由硬盘控制器控制主机缓存的数据写入,由于硬盘控制器具备全局的写缓存管理和优化能力,因此,硬盘控制器可以对主机缓存的数据存储进行全局管理和优化,解决了主机缓存缺少全局管理和优化能力的技术问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与操作引导方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
可选地,所述步骤还包括:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
可选地,所述确定所述目标数据是否满足预设写入条件,包括:
根据全局写缓存管理算法确定所述目标数据是否为热数据。
可选地,在所述确定所述目标数据是否满足预设写入条件之前,所述方法包括:
确定所述第一数据写入指令中包括写缓存使能信息。
可选地,所述将所述目标数据写在所述主机缓存中,包括:
向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
可选地,所述步骤还包括:
接收所述主机端设备发送的第二数据写入指令;
确定所述第二数据写入指令未包括写缓存使能信息;
根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种数据存储方法,其特征在于,所述方法应用于硬盘控制器,所述方法包括:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
3.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据是否满足预设写入条件,包括:
根据全局写缓存管理算法确定所述目标数据是否为热数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述确定所述目标数据是否满足预设写入条件之前,所述方法包括:
确定所述第一数据写入指令中包括写缓存使能信息。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述目标数据写在所述主机缓存中,包括:
向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述主机端设备发送的第二数据写入指令;
确定所述第二数据写入指令未包括写缓存使能信息;
根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
7.一种硬盘控制器,其特征在于,包括:至少一个处理器,存储器;
所述存储器用于存储至少一个程序模块;
所述至少一个处理器通过运行存储在所述存储器的所述至少一个程序模块用于:
接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定所述目标数据是否满足预设写入条件;
在所述目标数据满足所述写入条件时,将所述目标数据写在所述主机缓存中;
在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
8.根据权利要求7所述的硬盘控制器,其特征在于,所述至少一个处理器还用于:
在所述目标数据满足所述写入条件时,将所述目标数据写在所述硬盘的缓存中。
9.根据权利要求7所述的硬盘控制器,其特征在于,所述至少一个处理器确定所述目标数据是否满足预设写入条件具体为:根据全局写缓存管理算法确定所述目标数据是否为热数据。
10.根据权利要求7至9任一项所述的硬盘控制器,其特征在于,所述至少一个处理器还用于:在所述确定所述目标数据是否满足预设写入条件之前,确定所述第一数据写入指令中包括写缓存使能信息。
11.根据权利要求7至9任一项所述的硬盘控制器,其特征在于,所述至少一个处理器所述将所述目标数据写在所述主机缓存中具体为:向所述主机端设备返回包括缓存指示信息的写入成功指令,其中,所述写入成功指令用于响应所述第一数据写入指令,所述缓存指示信息用于指示所述主机端设备将所述目标数据存储在所述主机缓存中。
12.根据权利要10所述的硬盘控制器,其特征在于,所述至少一个处理器还用于:接收所述主机端设备发送的第二数据写入指令;
确定所述第二数据写入指令未包括写缓存使能信息;
根据所述第二数据写入指令向所述硬盘的Nand闪存中写入数据。
13.一种硬盘控制器,其特征在于,包括:
接收单元,用于接收主机端设备发送的第一数据写入指令,所述第一数据写入指令用于向硬盘中写入目标数据,所述主机端设备包括主机缓存,所述主机缓存由所述硬盘控制器控制写入;
确定单元,用于确定所述目标数据是否满足预设写入条件;
数据写入单元,用于在所述目标数据满足所述写入条件时,将所述目标数据写在主机缓存中;在所述目标数据不满足所述写入条件时,将所述目标数据写在所述硬盘的Nand闪存中。
CN201710036256.1A 2017-01-17 2017-01-17 数据存储方法和硬盘控制器 Pending CN106708444A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710036256.1A CN106708444A (zh) 2017-01-17 2017-01-17 数据存储方法和硬盘控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710036256.1A CN106708444A (zh) 2017-01-17 2017-01-17 数据存储方法和硬盘控制器

Publications (1)

Publication Number Publication Date
CN106708444A true CN106708444A (zh) 2017-05-24

Family

ID=58907687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710036256.1A Pending CN106708444A (zh) 2017-01-17 2017-01-17 数据存储方法和硬盘控制器

Country Status (1)

Country Link
CN (1) CN106708444A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688443A (zh) * 2017-09-18 2018-02-13 郑州云海信息技术有限公司 一种数据存储的方法、系统及相关装置
CN108492243A (zh) * 2018-04-13 2018-09-04 福州新迪微电子有限公司 一种基于块处理的图像旋转装置、系统和方法
CN110928496A (zh) * 2019-11-12 2020-03-27 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置
CN112783440A (zh) * 2020-12-31 2021-05-11 深圳大学 一种面向区块链用户节点的数据存储方法及装置
WO2022027578A1 (en) * 2020-08-07 2022-02-10 Micron Technology, Inc. Memory overlay using host memory buffer
WO2022141561A1 (zh) * 2020-12-31 2022-07-07 深圳大学 一种面向区块链用户节点的数据存储方法及装置
WO2022156452A1 (zh) * 2021-01-21 2022-07-28 华为云计算技术有限公司 一种缓存管理方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841850A (zh) * 2012-06-19 2012-12-26 记忆科技(深圳)有限公司 减小固态硬盘写放大的方法及系统
CN105117180A (zh) * 2015-09-28 2015-12-02 联想(北京)有限公司 一种数据存储方法和装置以及固态硬盘
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841850A (zh) * 2012-06-19 2012-12-26 记忆科技(深圳)有限公司 减小固态硬盘写放大的方法及系统
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
CN105117180A (zh) * 2015-09-28 2015-12-02 联想(北京)有限公司 一种数据存储方法和装置以及固态硬盘

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688443A (zh) * 2017-09-18 2018-02-13 郑州云海信息技术有限公司 一种数据存储的方法、系统及相关装置
CN108492243A (zh) * 2018-04-13 2018-09-04 福州新迪微电子有限公司 一种基于块处理的图像旋转装置、系统和方法
CN110928496A (zh) * 2019-11-12 2020-03-27 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置
CN110928496B (zh) * 2019-11-12 2022-04-22 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置
WO2022027578A1 (en) * 2020-08-07 2022-02-10 Micron Technology, Inc. Memory overlay using host memory buffer
CN112783440A (zh) * 2020-12-31 2021-05-11 深圳大学 一种面向区块链用户节点的数据存储方法及装置
WO2022141561A1 (zh) * 2020-12-31 2022-07-07 深圳大学 一种面向区块链用户节点的数据存储方法及装置
WO2022156452A1 (zh) * 2021-01-21 2022-07-28 华为云计算技术有限公司 一种缓存管理方法、装置及设备

Similar Documents

Publication Publication Date Title
CN106708444A (zh) 数据存储方法和硬盘控制器
US11003576B2 (en) Namespace change propagation in non-volatile memory devices
TWI740097B (zh) 多層記憶體系統中之遠程直接記憶體存取
CN103049397B (zh) 一种基于相变存储器的固态硬盘内部缓存管理方法及系统
US9436595B1 (en) Use of application data and garbage-collected data to improve write efficiency of a data storage device
CN101652765B (zh) 设备控制方法
CN101038532B (zh) 数据存储装置及其方法
TWI710912B (zh) 記憶體系統及實施於記憶體系統中之方法,以及非暫時性電腦儲存媒體
CN102449607B (zh) 具有多个闪存封装的存储系统
TWI394164B (zh) 在快閃記憶體系統中可中斷的快取清空
WO2017000658A1 (zh) 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
CN111684434A (zh) 多层存储器系统中的预测数据协作
US9053019B2 (en) Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices
CN113760185B (zh) 内存块回收方法和装置
CN102279712A (zh) 一种适用于互联网存储系统的存储控制方法、系统和装置
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
US20130326113A1 (en) Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
CN105335308B (zh) 对存储设备的访问信息处理方法和装置、系统
CN107957852B (zh) 一种提升固态硬盘性能一致性的方法
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US12086432B2 (en) Gradually reclaim storage space occupied by a proof of space plot in a solid state drive
CN112306396B (zh) 储存设备及储存设备的操作方法
CN113377695A (zh) 读写分离的固态存储设备的数据分布方法
KR20170110810A (ko) 데이터 처리 시스템 및 그것의 동작 방법
US11494306B2 (en) Managing data dependencies in a transfer pipeline of a hybrid dimm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190814

Address after: 518067 Dongjiaotou Workshop D24/F-02, Houhai Avenue, Shekou Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Yi Lian Information System Co., Ltd.

Address before: 100176 Beijing City, Daxing District branch of Beijing economic and Technological Development Zone, fourteen Street No. 99 building 33 building D No. 2226

Applicant before: Beijing legend core technology Co., Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170524

RJ01 Rejection of invention patent application after publication