数据整理方法、存储设备、存储控制器以及存储阵列的制作方法

文档序号:9932619阅读:541来源:国知局
数据整理方法、存储设备、存储控制器以及存储阵列的制作方法
【技术领域】
[0001]本发明涉及存储领域,尤其涉及一种数据整理方法、存储设备、存储控制器以及存储阵列。
【背景技术】
[0002]存储阵列包括存储控制器以及存储设备。随着存储技术的发展,现有技术中出现了支持数据压缩功能的存储设备,例如,固态硬盘(英文全称:Sol id State Device,简称:SSD),叠瓦式磁记录(英文全称:Shingled Magnetic Recording,简称:SMR)硬盘等。其中,支持数据压缩功能的存储设备在接收到存储阵列中的存储控制器发送的数据后,对数据进行压缩,并将压缩的数据写入存储介质。
[0003]为使得数据在存储设备中的分布更合理,存储控制器会对存储设备中存储的数据进行整理,即存储控制器将存储设备中的数据读取出来,然后写入存储设备新的物理地址。现有技术中,存储设备在收到存储控制器发送的数据读取指令时,需要先从存储介质中读取压缩的数据,并对压缩的数据进行解压,将解压缩操作得到的数据发送给存储控制器,导致数据整理效率低下。

【发明内容】

[0004]本发明的目的是提供一种数据整理方法、存储设备、存储控制器以及存储阵列,用于解决数据整理效率低下的问题。
[0005]为了达到上述目的,本发明采用如下的技术方案:
[0006]第一方面,提供一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,所述方法包括:所述存储控制器向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据;所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;所述存储控制器接收所述存储设备发送的所述第一数据;所述存储控制器为所述第一数据分配第二逻辑地址,并向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;所述存储控制器建立所述存储阵列的地址与所述第二逻辑地址的映射。
[0007]本发明第一方面中,在进行数据整理时,所述存储设备向所述存储控制器发送第一数据(压缩的数据),而不对第一数据进行解压缩,进而存储设备也不需要再次压缩写入的数据,提高了数据整理的效率。
[0008]另外,由于存储设备是将存储控制器发送的数据进行压缩,存储压缩的数据,且存储控制器只能够感知到数据在存储设备中占用的第一逻辑地址长度,而感知不到实际的第一物理地址长度。因此,存储控制器记录的所述第二数据占用的第一逻辑地址的长度大于所述第一数据在存储设备中占用的第一物理地址的长度。这样,对于存储控制器来说,例如,长度为IMB的数据即占用了存储设备中IMB大小的存储地址,若存储设备总的物理地址长度为1TB(太字节),则存储控制器在记录该存储设备已使用的逻辑地址长度为ITB时,SP认为该存储设备已存满,无法再向该存储设备写入数据,但是,该存储设备实际已使用的物理地址长度可能仅为512GB(千兆),由此可知,存储控制器记录的数据占用的逻辑地址长度大于数据实际占用的物理地址长度将导致存储控制器无法充分利用存储设备的物理地址。而采用第一方面所述的方法,存储控制器接收到存储设备发送的第一数据,可以为该第一数据分配第二逻辑地址,由于第二逻辑地址与该第一数据实际占用的第二物理地址长度相等,因此,通过本发明第一方面的数据整理方法,避免了存储控制器无法充分利用存储设备的物理地址的问题,提高了存储空间利用率。因此,在第一方面,还包括:所述存储控制器确定所述存储设备发送的所述第一数据的长度,根据所述第一数据的长度,分配所述第二逻辑地址,所述第二逻辑地址的长度等于所述第一数据的长度。
[0009]本发明第一方面中,所述存储控制器向所述存储设备发送携带第一逻辑地址和第二数据的写指令,所述存储设备接收所述存储控制器发送的携带所述第一逻辑地址和所述第二数据的写指令。所述存储设备将所述第二数据压缩得到所述第一数据,将所述第一数据存储到所述第一物理地址;所述存储设备建立所述第一逻辑地址与所述第一物理地址的映射。当所述存储设备对所述第一数据进行解压缩时,得到所述第二数据。
[0010]结合第一方面,在第一方面的第一种可能的实现方式,所述方法还包括:所述存储控制器标记所述第二逻辑地址为存储压缩数据的地址。将所述第二逻辑地址标记为存储压缩数据的地址,后续存储控制器为服务器提供所述第二逻辑地址中的数据时,根据标记的信息,需要所述存储设备解压缩所述第一数据得到所述第二数据。可选的,所述存储控制器在所述存储阵列的地址与所述第二逻辑地址的映射关系中标记所述第二逻辑地址为存储压缩数据的地址。另一种实现方式,所述存储控制器不标识所述第二逻辑地址为存储压缩数据的地址,而是根据读取指令的触发条件决定是否需要所述存储设备解压缩所述第一数据。当所述存储控制器因为数据整理向所述存储设备发送读取指令时,读取指令中携带不解压缩标识,当所述存储控制器因为服务器发送的数据读取指令而向所述存储设备发送读取指令时,读取指令中携带解压缩标识。由于数据在存储设备中存储时都已经被压缩,因此,另一种实现方式,只有在数据整理时,所述存储控制器向所述存储设备发送读取指令时携带不解压缩标识,在其他场景下,所述存储控制器向所述存储设备发送读取指令只携带所述存储设备的逻辑地址,如所述第一逻辑地址或所述第二逻辑地址,所述存储设备按照现有技术的操作,解压缩所述第一数据得到所述第二数据,向所述存储控制器发送所述第二数据。可选的,所述存储控制器不需要标记所述第二逻辑地址为存储压缩数据的地址,具体地,存储控制器判断存储阵列的地址与所述第二逻辑地址的不相等,则确定所述第二逻辑地址为存储压缩数据的地址。
[0011]结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:所述存储控制器向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址。这样,所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,存储设备可以在第一物理地址中写入新的数据,即存储控制器将所述第一逻辑地址作为空闲地址使用。
[0012]结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:所述存储控制器接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;所述存储控制器根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;所述存储控制器接收所述存储设备发送的所述第二数据;所述存储控制器向所述服务器发送所述第二数据。采用上述可能的实现方式,确保了存储控制器向服务器正确发送所述第二数据。另一种实现方式,所述方法还包括:所述存储控制器接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;所述存储控制器根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址;所述存储控制器接收所述存储设备发送的所述第二数据;所述存储控制器向所述服务器发送所述第二数据,相应地,存储设备默认解压缩所述第一数据。
[0013]结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:所述存储控制器在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址,从而该存储控制器在读取指令中携带不解压缩标识,使存储设备不解压缩所述第一数据,提升数据整理的效率。可选的,存储控制器确定所述第一逻辑地址为存储未压缩数据的地址,具体包括:所述存储控制器判断所述存储阵列的地址的长度等于所述第一逻辑地址的长度,则确定所述第一逻辑地址为存储未压缩数据的地址。可选的,所述存储控制器标记所述第一逻辑地址为存储未压缩数据的地址,具体地,所述存储控制器在所述存储阵列的地址与所述第一逻辑地址的映射关系中标记所述第一逻辑地址为存储未压缩数据的地址。
[0014]在某些可能的实现方式中,所述方法还包括:所述存储控制器在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储有效数据的地址。也就是说,所述存储控制器可以是对所述存储设备中的有效数据进行整理,减少数据整理的数量,有利于提高数据整理效率。
[0015]第二方面,提供一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,所述方法包括:所述存储设备接收所述存储控制器发送的第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据;所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;所述存储设备根据所述第一读取指令向所述存储控制器发送所述第一数据;所述存储设备接收所述存储控制器发送的写指令,所述写指令携带第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;所述存储设备将所述第一数据写入第二物理地址;所述存储设备建立所述第二逻辑地址与所述第二物理地址的映射。
[0016]本发明第二方面中,在进行数据整理时,所述存储设备向所述存储控制器发送第一数据(压缩的数据),而不对第一数据进行解压缩,进而存储设备也不需要再次压缩写入的数据,提高了数据整理的效率。
[0017]而采用第二方面所述的方案,存储控制器接收到存储设备发送的所述第一数据,可以为所述第一数据分配第二逻辑地址,由于第二逻辑地址与所述第一数据实际占用的第二物理地址长度相等,因此,通过本发明第二方面的数据整理方法,避免了存储控制器无法充分利用存储设备的物理地址的问题,提高了存储空间利用率。因此,在第二方面,还包括:所述存储控制器确定所述存储设备发送的所述第一数据的长度,根据所述第一数据的长度,分配所述第二逻辑地址,所述第二逻辑地址的长度等于所述第一数据的长度。
[0018]结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:所述存储设备接收所述存储控制器发送的数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,并删除所述第一逻辑地址与所述第一物理地址的映射。这样,所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,存储设备可以在第一物理地址中写入新的数据,即存储控制器将所述第一逻辑地址作为空闲地址使用。
[0019]结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:所述存储设备接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;所述存储设备根据所述第二读取指令对所述第一数据进行解压缩得到所述第二数据,并向所述存
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1