[发明专利]一种数据读写方法、存储控制器及计算机有效
申请号: | 201310162901.6 | 申请日: | 2013-05-06 |
公开(公告)号: | CN104142894B | 公开(公告)日: | 2018-02-09 |
发明(设计)人: | 方帆;李俊 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 读写 方法 存储 控制器 计算机 | ||
技术领域
本发明涉及存储领域,尤其涉及一种数据读写方法、存储控制器及计算机。
背景技术
随着技术的发展,为了提升系统的存储性能,计算机系统的存储介质由早期的磁带、磁盘发展为目前的新型存储介质,如固态硬盘(Solid State Disk,SSD)。
具体的,现有的SSD可以由控制器、随机存储器(Random Access Memory,RAM)和若干个Flash芯片组成。其中,对SSD的读操作具体为:控制器将Flash芯片上的数据读取到RAM上,然后通过输入/输出(Input/Output,I/O)接口传输到上层软件层控制器,再次读取该数据时,控制器只需要直接从RAM上读取;对SSD的写操作具体为:控制器将数据写入到RAM上,然后再写入到Flash芯片。与直接对Flash芯片进行读写相比,对RAM进行读写的速度更快,可以提升系统的存储性能。
其中,需要进行读写的数据可以包括:一般数据和元数据(元数据是指用于对其他数据进行索引或者描述其他数据的属性的数据,是重要的数据)。
现有技术在对SSD进行读写操作时,不识别待读写数据的类型,即对于元数据和一般数据都采用相同的读写方式,而RAM中的数据(一般数据和元数据)一旦更新,就会立即被写入到Flash芯片中,当数据被写入到Flash芯片后,RAM中并不保存该数据,数据的读写只能在Flash芯片上进行。据统计,在对SSD进行读写操作时,对元数据的读写操作次数至少可以达到总操作次数的50%,因此,元数据在Flash芯片上的多次读写操作会对Flash芯片产生较大损耗,并不能够有效的提升系统的存储性能。
发明内容
本发明的实施例提供一种数据读写方法、存储控制器及计算机,可以降低对flash芯片的损耗,进而有效的提升系统的存储性能。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例的第一方面,提供一种数据写入方法,包括:
通过第一读写接口获取软件层控制器发送的第一写命令,所述第一写命令中包含第一数据的特征值和待写入的所述第一数据;
根据所述第一数据的特征值,采用预设写策略将所述第一数据缓存至第一存储单元,并在所述第一存储单元中更新所述第一数据的引用计数值,所述第一数据的引用计数值用于记录在所述第一存储单元读写所述第一数据的次数;
当检测到对所述第一数据的写入指示时,将所述第一存储单元中缓存的所有所述第一数据写入第二存储单元。
结合第一方面,在一种可能的实现方式中,所述第一读写接口为预设的专用接口SPI;
所述第一存储单元为特殊用途随机存储器SPRAM,所述第二存储单元为Flash芯片;所述第一数据至少包括:元数据,所述元数据用于索引其他数据或者描述其他数据的属性;
所述写入指示为接收自所述软件层控制器的刷写指令;或者,所述写入指示为断电指示。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述根据所述第一数据的特征值,采用预设写策略将所述第一数据缓存至第一存储单元,并在所述第一存储单元中更新所述第一数据的引用计数值,包括:
判断所述第一存储单元中是否缓存有第二数据,所述第二数据的特征值与所述第一数据的特征值相同;
若所述第一存储单元中缓存有所述第二数据,则将所述第一数据缓存至所述第一存储单元,且所述第一数据覆盖所述第二数据,并更新所述第一存储单元中缓存的所述第二数据的引用计数值;
或者,
若所述第一存储单元未缓存所述第二数据,则将所述第一数据缓存至所述第一存储单元,并在所述第一存储单元中增加所述第一数据的引用计数值,所述第一数据的引用计数值为1。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在所述将所述第一数据缓存至所述第一存储单元之前,所述方法还包括:
判断所述第一存储单元的缓存是否达到预设上限值;
所述将所述第一数据缓存至所述第一存储单元,包括:
若所述第一存储单元的缓存已达到所述预设上限值,则采用所述第一数据置换所述第一存储单元中缓存的第三数据,所述第三数据至少包括:缓存于所述第一存储单元中的,所述引用计数值按照由小到大的顺序排在第一位的数据;
或者,
若所述第一存储单元的缓存未达到所述预设上限值,则直接将所述第一数据缓存至所述第一存储单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310162901.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置