CN105723320A - 数据整理方法、存储设备、存储控制器以及存储阵列 - Google Patents

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

Info

Publication number
CN105723320A
CN105723320A CN201680000398.6A CN201680000398A CN105723320A CN 105723320 A CN105723320 A CN 105723320A CN 201680000398 A CN201680000398 A CN 201680000398A CN 105723320 A CN105723320 A CN 105723320A
Authority
CN
China
Prior art keywords
data
address
logical address
storage device
storage
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.)
Granted
Application number
CN201680000398.6A
Other languages
English (en)
Other versions
CN105723320B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105723320A publication Critical patent/CN105723320A/zh
Application granted granted Critical
Publication of CN105723320B publication Critical patent/CN105723320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0608Saving storage space on storage systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0638Organizing or formatting or addressing of data
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种数据整理方法、存储设备、存储控制器以及存储阵列,涉及存储领域,用以解决数据整理的效率低下的问题。该方法包括:存储控制器向存储设备发送携带第一逻辑地址以及不解压缩标识的第一读取指令;该第一逻辑地址映射到存储设备的第一物理地址;该第一物理地址的长度等于该第一数据的长度;该逻辑地址的长度等于第二数据的长度;该第一数据是该第二数据的压缩数据,存储控制器接收存储设备发送的该第一数据;存储控制器为该第一数据分配第二逻辑地址,并向存储设备发送携带第二逻辑地址以及该第一数据的写指令;存储控制器建立存储阵列的地址与第二逻辑地址的映射。

Description

数据整理方法、存储设备、存储控制器以及存储阵列
技术领域
本发明涉及存储领域,尤其涉及一种数据整理方法、存储设备、存储控制器以及存储阵列。
背景技术
存储阵列包括存储控制器以及存储设备。随着存储技术的发展,现有技术中出现了支持数据压缩功能的存储设备,例如,固态硬盘(英文全称:SolidStateDevice,简称:SSD),叠瓦式磁记录(英文全称:ShingledMagneticRecording,简称:SMR)硬盘等。其中,支持数据压缩功能的存储设备在接收到存储阵列中的存储控制器发送的数据后,对数据进行压缩,并将压缩的数据写入存储介质。
为使得数据在存储设备中的分布更合理,存储控制器会对存储设备中存储的数据进行整理,即存储控制器将存储设备中的数据读取出来,然后写入存储设备新的物理地址。现有技术中,存储设备在收到存储控制器发送的数据读取指令时,需要先从存储介质中读取压缩的数据,并对压缩的数据进行解压,将解压缩操作得到的数据发送给存储控制器,导致数据整理效率低下。
发明内容
本发明的目的是提供一种数据整理方法、存储设备、存储控制器以及存储阵列,用于解决数据整理效率低下的问题。
为了达到上述目的,本发明采用如下的技术方案:
第一方面,提供一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,所述方法包括:所述存储控制器向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据;所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;所述存储控制器接收所述存储设备发送的所述第一数据;所述存储控制器为所述第一数据分配第二逻辑地址,并向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;所述存储控制器建立所述存储阵列的地址与所述第二逻辑地址的映射。
本发明第一方面中,在进行数据整理时,所述存储设备向所述存储控制器发送第一数据(压缩的数据),而不对第一数据进行解压缩,进而存储设备也不需要再次压缩写入的数据,提高了数据整理的效率。
另外,由于存储设备是将存储控制器发送的数据进行压缩,存储压缩的数据,且存储控制器只能够感知到数据在存储设备中占用的第一逻辑地址长度,而感知不到实际的第一物理地址长度。因此,存储控制器记录的所述第二数据占用的第一逻辑地址的长度大于所述第一数据在存储设备中占用的第一物理地址的长度。这样,对于存储控制器来说,例如,长度为1MB的数据即占用了存储设备中1MB大小的存储地址,若存储设备总的物理地址长度为1TB(太字节),则存储控制器在记录该存储设备已使用的逻辑地址长度为1TB时,即认为该存储设备已存满,无法再向该存储设备写入数据,但是,该存储设备实际已使用的物理地址长度可能仅为512GB(千兆),由此可知,存储控制器记录的数据占用的逻辑地址长度大于数据实际占用的物理地址长度将导致存储控制器无法充分利用存储设备的物理地址。而采用第一方面所述的方法,存储控制器接收到存储设备发送的第一数据,可以为该第一数据分配第二逻辑地址,由于第二逻辑地址与该第一数据实际占用的第二物理地址长度相等,因此,通过本发明第一方面的数据整理方法,避免了存储控制器无法充分利用存储设备的物理地址的问题,提高了存储空间利用率。因此,在第一方面,还包括:所述存储控制器确定所述存储设备发送的所述第一数据的长度,根据所述第一数据的长度,分配所述第二逻辑地址,所述第二逻辑地址的长度等于所述第一数据的长度。
本发明第一方面中,所述存储控制器向所述存储设备发送携带第一逻辑地址和第二数据的写指令,所述存储设备接收所述存储控制器发送的携带所述第一逻辑地址和所述第二数据的写指令。所述存储设备将所述第二数据压缩得到所述第一数据,将所述第一数据存储到所述第一物理地址;所述存储设备建立所述第一逻辑地址与所述第一物理地址的映射。当所述存储设备对所述第一数据进行解压缩时,得到所述第二数据。
结合第一方面,在第一方面的第一种可能的实现方式,所述方法还包括:所述存储控制器标记所述第二逻辑地址为存储压缩数据的地址。将所述第二逻辑地址标记为存储压缩数据的地址,后续存储控制器为服务器提供所述第二逻辑地址中的数据时,根据标记的信息,需要所述存储设备解压缩所述第一数据得到所述第二数据。可选的,所述存储控制器在所述存储阵列的地址与所述第二逻辑地址的映射关系中标记所述第二逻辑地址为存储压缩数据的地址。另一种实现方式,所述存储控制器不标识所述第二逻辑地址为存储压缩数据的地址,而是根据读取指令的触发条件决定是否需要所述存储设备解压缩所述第一数据。当所述存储控制器因为数据整理向所述存储设备发送读取指令时,读取指令中携带不解压缩标识,当所述存储控制器因为服务器发送的数据读取指令而向所述存储设备发送读取指令时,读取指令中携带解压缩标识。由于数据在存储设备中存储时都已经被压缩,因此,另一种实现方式,只有在数据整理时,所述存储控制器向所述存储设备发送读取指令时携带不解压缩标识,在其他场景下,所述存储控制器向所述存储设备发送读取指令只携带所述存储设备的逻辑地址,如所述第一逻辑地址或所述第二逻辑地址,所述存储设备按照现有技术的操作,解压缩所述第一数据得到所述第二数据,向所述存储控制器发送所述第二数据。可选的,所述存储控制器不需要标记所述第二逻辑地址为存储压缩数据的地址,具体地,存储控制器判断存储阵列的地址与所述第二逻辑地址的不相等,则确定所述第二逻辑地址为存储压缩数据的地址。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:所述存储控制器向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址。这样,所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,存储设备可以在第一物理地址中写入新的数据,即存储控制器将所述第一逻辑地址作为空闲地址使用。
结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:所述存储控制器接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;所述存储控制器根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;所述存储控制器接收所述存储设备发送的所述第二数据;所述存储控制器向所述服务器发送所述第二数据。采用上述可能的实现方式,确保了存储控制器向服务器正确发送所述第二数据。另一种实现方式,所述方法还包括:所述存储控制器接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;所述存储控制器根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址;所述存储控制器接收所述存储设备发送的所述第二数据;所述存储控制器向所述服务器发送所述第二数据,相应地,存储设备默认解压缩所述第一数据。
结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:所述存储控制器在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址,从而该存储控制器在读取指令中携带不解压缩标识,使存储设备不解压缩所述第一数据,提升数据整理的效率。可选的,存储控制器确定所述第一逻辑地址为存储未压缩数据的地址,具体包括:所述存储控制器判断所述存储阵列的地址的长度等于所述第一逻辑地址的长度,则确定所述第一逻辑地址为存储未压缩数据的地址。可选的,所述存储控制器标记所述第一逻辑地址为存储未压缩数据的地址,具体地,所述存储控制器在所述存储阵列的地址与所述第一逻辑地址的映射关系中标记所述第一逻辑地址为存储未压缩数据的地址。
在某些可能的实现方式中,所述方法还包括:所述存储控制器在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储有效数据的地址。也就是说,所述存储控制器可以是对所述存储设备中的有效数据进行整理,减少数据整理的数量,有利于提高数据整理效率。
第二方面,提供一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,所述方法包括:所述存储设备接收所述存储控制器发送的第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据;所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;所述存储设备根据所述第一读取指令向所述存储控制器发送所述第一数据;所述存储设备接收所述存储控制器发送的写指令,所述写指令携带第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;所述存储设备将所述第一数据写入第二物理地址;所述存储设备建立所述第二逻辑地址与所述第二物理地址的映射。
本发明第二方面中,在进行数据整理时,所述存储设备向所述存储控制器发送第一数据(压缩的数据),而不对第一数据进行解压缩,进而存储设备也不需要再次压缩写入的数据,提高了数据整理的效率。
而采用第二方面所述的方案,存储控制器接收到存储设备发送的所述第一数据,可以为所述第一数据分配第二逻辑地址,由于第二逻辑地址与所述第一数据实际占用的第二物理地址长度相等,因此,通过本发明第二方面的数据整理方法,避免了存储控制器无法充分利用存储设备的物理地址的问题,提高了存储空间利用率。因此,在第二方面,还包括:所述存储控制器确定所述存储设备发送的所述第一数据的长度,根据所述第一数据的长度,分配所述第二逻辑地址,所述第二逻辑地址的长度等于所述第一数据的长度。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:所述存储设备接收所述存储控制器发送的数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,并删除所述第一逻辑地址与所述第一物理地址的映射。这样,所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,存储设备可以在第一物理地址中写入新的数据,即存储控制器将所述第一逻辑地址作为空闲地址使用。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:所述存储设备接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;所述存储设备根据所述第二读取指令对所述第一数据进行解压缩得到所述第二数据,并向所述存储控制器发送所述第二数据。
采用上述可能的实现方式,确保了存储控制器向服务器正确发送所述第二数据。另一种实现方式,所述方法还包括:所述存储设备接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址,所述第二读取指令是所述存储控制器在接收携带所述存储阵列的地址的数据读取指令后发送的;所述存储设备对所述第一数据进行解压缩得到所述第二数据;所述存储设备向所述存储控制器发送所述第二数据,即存储设备默认解压缩所述第一数据。
第三方面,提供了应用于存储阵列中的存储控制器,所述存储阵列还包括存储设备,所述存储控制器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。其中一种实现方式,具体地,所述存储控制器包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。另一种实现方式,所述存储控制器包括:处理器、接口和通信总线;所述处理器和所述接口通过所述通信总线通信;所述处理器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,处理器用于通过接口执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了应用于存储阵列中的存储设备,所述存储阵列还包括存储控制器,所述存储设备用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。其中一种实现方式,具体地,所述存储设备包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的单元。一种实现方式,具体地,所述存储设备包括:处理器、接口和通信总线;所述处理器和所述接口通过所述通信总线通信;所述处理器用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体地,处理器用于通过接口执行上述第二方面或第二方面的任意可能的实现方式中的方法。
第五方面,提供了一种用于存储阵列,包括:存储控制器和存储设备。其中,存储控制器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法,相应地,存储设备用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。
第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第七方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图进行简单地介绍。
图1为本发明实施例提供的一种存储阵列的架构示意图;
图2为本发明实施例提供的一种存储阵列的数据整理方法的流程示意图;
图3为本发明实施例提供的另一种存储阵列的数据整理方法的流程示意图;
图4为本发明实施例提供的一种存储控制器的结构示意图;
图5为本发明实施例提供的一种存储设备的结构示意图;
图6为本发明实施例提供的另一种存储控制器的结构示意图;
图7为本发明实施例提供的另一种存储设备的结构示意图。
具体实施方式
本文所描述的储存设备是能够对数据进行压缩的存储设备,例如一个或多个固态硬盘(英文全称:SolidStateDevice,简称:SSD)、一个或多个支持数据压缩的其他种类硬盘以及存储卡及其组合等。
图1为本发明实施例中的存储阵列12的架构图,该存储阵列12包括存储控制器121以及存储设备122。其中,服务器11与该存储阵列12通信,该存储控制器121与该存储设备122通信。
数据整理可以是指存储控制器对存储设备进行空间回收或者碎片整理,其中,空间回收是指将存储设备中存储有无效数据的原地址中的有效数据存储到新的地址中;碎片整理是指将存储设备中的地址中存储的数据碎片集中存储到新的地址。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
结合图1,本发明实施例提供一种数据整理方法,其中,该存储阵列12包括存储控制器121和存储设备122,如图2所示,该方法包括:
S201、存储控制器121向存储设备122发送第一读取指令,该第一读取指令携带第一逻辑地址以及不解压缩标识。
其中,该存储设备122的第一物理地址中存储第一数据,该第一数据是第二数据的压缩数据,该第一逻辑地址映射到该第一物理地址,该第一逻辑地址的长度等于该第二数据的长度,该第一物理地址的长度等于该第一数据的长度,该存储阵列的地址映射到该第一逻辑地址。其中,第一数据是第二数据的压缩数据,即存储设备接收存储控制器发送的第二数据,压缩第二数据得到第一数据,并将第一数据存储到第一物理地址。
如图1所示,服务器11仅能感知到存储阵列12的地址,即存储阵列12呈现给服务器11的为存储阵列的地址。该存储阵列的地址即为该服务器12可访问的存储地址。该存储控制器121能感知到存储设备122的逻辑地址,即存储设备122将逻辑地址呈现给存储控制器121。该存储控制器121在接收到服务器11发送的携带存储阵列的地址和待写入数据的数据写指令时,该存储控制器121根据待写入数据的长度选择存储设备122的逻辑地址存储待写入数据。因此,该第一逻辑地址的长度等于该第二数据的长度,当该存储设备122接收到该第二数据后,对该第二数据进行压缩得到该第一数据,将该第一数据存储到第一物理地址,因此,该第一物理地址的长度等于该第一数据的长度。
S202、该存储设备122接收该第一读取指令。
S203、该存储设备122根据该第一读取指令将该第一数据发送至该存储控制器121。
具体地,该存储设备122根据该第一读取指令中的第一逻辑地址,查询该存储设备122记录的逻辑地址与物理地址之间的映射关系,可以确定该第一物理地址,这样,该存储设备122根据该第一读取指令中携带的不解压缩标识,不解压缩该第一数据,直接发送给该存储控制器121。
S204、该存储控制器121接收该存储设备122发送的该第一数据,并为该第一数据分配第二逻辑地址。
具体地,存储控制器121确定该第一数据的长度,根据该第一数据的长度分配第二逻辑地址。这样,该第二逻辑地址的长度等于该第一数据的长度。
S205、该存储控制器121向该存储设备122发送写指令,该写指令携带该第二逻辑地址以及该第一数据。
S206、该存储设备122接收该写指令,并将该第一数据写入第二物理地址。
S207、该存储设备122建立该第二逻辑地址与该第二物理地址的映射。
S208、该存储控制器121建立该存储阵列的地址与该第二逻辑地址的映射。
可选的,该存储控制器121可以是在接收到该存储设备122发送的用于指示数据写入成功的消息后,建立的该存储阵列的地址与该第二逻辑地址的映射。
采用上述方法,该第一数据是第二数据的压缩数据,也就是说,对于存储设备122中存储的压缩数据,存储控制器121可以直接读取该压缩数据,无需存储设备122对其进行解压,并且,存储控制器121再次将压缩数据发送给存储设备122时,也无需该存储设备122进行数据压缩,因此提高了数据整理的效率。
另外,由于存储设备122是将存储控制器121发送的数据进行压缩,存储压缩的数据,且存储控制器121只能够感知到数据在存储设备122中占用的第一逻辑地址长度,而感知不到实际的第一物理地址长度。因此,存储控制器121记录的该第二数据占用的第一逻辑地址的长度大于该第一数据在存储设备122中占用的第一物理地址的长度。这样,对于存储控制器121来说,例如,长度为1MB的数据即占用了存储设备122中1MB大小的存储地址,若存储设备122总的物理地址长度为1TB,则存储控制器121在记录该存储设备122已使用的逻辑地址长度为1TB时,即认为该存储设备122已存满,无法再对该存储设备122新增写数据,但是,该存储设备122实际已使用的物理地址长度可能仅为512GB(千兆),由此可知,存储控制器121记录的数据占用的逻辑地址长度大于数据实际占用的物理地址长度将导致存储控制器121无法利用存储设备122的全部物理地址。而采用本发明实施例所述的方案,存储控制器121接收到存储设备122发送的该第一数据后,可以为该第一数据分配第二逻辑地址,由于第二逻辑地址与该第一数据实际占用的第二物理地址长度相等,因此,通过本发明实施例的数据整理方法,存储控制器121充分利用存储设备122的物理地址,提高了存储空间利用率。
为了使本领域的技术人员更容易理解本发明提供的技术方案,结合图1,下面通过详细的例子对本发明实施例提供的一种存储阵列12的数据整理方法进行说明,如图3所示,包括:
S301、存储控制器121接收服务器11发送的携带存储阵列的地址以及第二数据的数据写指令。
S302、该存储控制器121为该第二数据分配第一逻辑地址;其中,该第一逻辑地址的长度等于该第二数据的长度。
S303、该存储控制器121向存储设备122发送携带该第一逻辑地址以及该第二数据的写指令。
S304、该存储设备122接收该存储控制器121发送的该写指令,对该第二数据进行压缩得到第一数据,并将该第一数据写入该存储设备122的第一物理地址,并建立该第一逻辑地址与该第一物理地址的映射,其中,该第一物理地址的长度等于该第一数据的长度。
S305、该存储控制器121建立该存储阵列的地址与该第一逻辑地址的映射。
可选的,该存储控制器121标记该第一逻辑地址为存储未压缩数据的地址。可选的,该存储控制器121在该存储阵列的地址与所述第一逻辑地址的映射关系中标记所述第一逻辑地址为存储未压缩数据的地址。
可选的,该存储控制器121不需要标识该第一逻辑地址为存储未压缩数据的地址,具体实现,该存储控制器121判断存储阵列的地址与该第一逻辑地址的长度相等,则确定所述第一逻辑地址为存储未压缩数据的地址。
上述步骤S301至步骤S305是该服务器11向该存储设备122写入数据的方法流程,进一步地,该存储控制器121发起数据整理可以包括以下实现方式:
方式一、该存储控制器121接收到用户下发的指令进行数据整理。
方式二、该存储控制器121可以定期进行数据整理。
方法三、该存储控制器121可以在存储阵列11空闲时进行数据整理,从而保证服务性能。
可选的,本发明实施例提供的数据整理方法包括:
S306、该存储控制器121确定第一逻辑地址为存储未压缩数据的地址。
也就是说,该存储控制器121向该存储阵列12写入第二数据的方法流程中,可以标记该第一逻辑地址为存储未压缩数据的地址,这样,在数据整理流程中,该存储控制器121即可仅对存储未压缩数据的地址进行数据整理。具体识别第一逻辑地址为存储未压缩数据的地址的方法请参考前面的描述。可选地,骤S306也可以是存储控制器121确定该第一逻辑地址为存储有效数据的地址。
S307、该存储控制器121向存储设备122发送第一读取指令,该第一读取指令携带第一逻辑地址以及不解压缩标识。
S308、该存储设备122接收该第一读取指令,根据第一逻辑地址与第一物理地址的映射确定第一物理地址。
S309、该存储设备122根据该第一读取指令向该存储控制器121发送该第一物理地址中存储的第一数据。
S310、该存储控制器121接收该存储设备122发送的第一数据,为该第一数据分配第二逻辑地址。
可选的,存储控制器121确定该第一数据的长度,根据该第一数据的长度分配第二逻辑地址。其中,该第一数据的长度等于该第二逻辑地址的长度。
可选的,该存储控制器121标记该第二逻辑地址为存储压缩数据的地址。可选的,该存储控制器121在该存储阵列的地址与该第二逻辑地址的映射关系中标记该第二逻辑地址为存储压缩数据的地址。
可选的,该存储控制器121不需要标记该第二逻辑地址为存储压缩数据的地址,具体地,该存储控制器121判断存储阵列的地址与该第二逻辑地址的不相等,则确定该第二逻辑地址为存储压缩数据的地址。
S311、该存储控制器121向该存储设备122发送包括该第二逻辑地址以及该第一数据的写指令。
S312、该存储设备122接收该写指令。
S313、该存储设备122将该第一数据写入第二物理地址,并建立该第二逻辑地址与该第二物理地址的映射。
以上步骤实现了将该第一数据从第一物理地址存储到第二物理地址存储。可选地,该存储设备122建立该第二逻辑地址与该第二物理地址的映射后,还可以对该第一物理地址进行数据擦除,并删除该第一逻辑地址与该第一物理地址的映射。具体地,该存储设备122接收该存储控制器121发送的数据擦除指令,数据擦除指令携带该第一逻辑地址,并根据该数据擦除指令擦除该第一物理地址中存储的该第一数据,并删除该第一逻辑地址与该第一物理地址的映射。另外,可选地,存储设备,如固态硬盘,其自身可能具有数据擦除的功能,因此,无需存储控制器121发送数据擦除指令,该存储设备也可以对该第一物理地址进行数据擦除,本发明实施例不做限定。
S314、该存储控制器121建立该存储阵列的地址与该第二逻辑地址的映射。
这样,该存储控制器121在接收到服务器11发送的携带该存储阵列的地址的数据读取指令后,根据该存储阵列的地址与该第二逻辑地址的映射可以正确的读取到第二数据。具体地,包括:
S315、该存储控制器121接收服务器11发送的携带该存储阵列的地址的数据读取指令。
S316、该存储控制器121根据该存储阵列的地址与该第二逻辑地址的映射确定该第二逻辑地址。
S317、该存储控制器121向该存储设备122发送携带该第二逻辑地址以及解压缩标识的第二读取指令。
S318、该存储设备122接收该第二读取指令,并根据该第二逻辑地址与该第二物理地址的映射确定该第二物理地址。
S319、该存储设备122根据该第二读取指令对该第二物理地址中存储的该第一数据进行解压得到该第二数据,并向存储控制器121发送该第二数据。
S320、该存储控制器121接收该存储设备122发送的该第二数据。
S321、该存储控制器121向该服务器11发送该第二数据。
对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。另外,图3所描述的实施例所涉及的动作并不一定是本发明所必须的。例如,在本发明实施例的另一种实现方式中,存储控制器121不标识第二逻辑地址为存储压缩数据的地址,而是根据读取指令的触发条件决定是否需要该存储设备122解压缩该第一数据。当存储控制器121因为数据整理向存储设备122发送读取指令时,读取指令中携带不解压缩标识;当存储控制器121因为服务器11发送的数据读取指令而向存储设备122发送读取指令时,读取指令中携带解压缩标识。由于存储阵列12中的存储设备122具有压缩功能,即存储设备122存储的均为压缩的数据,因此,另一种实现方式,只有在数据整理时,存储控制器121向存储设备122发送读取指令时携带不解压缩标识,在其他场景下,存储控制器121向存储设备122发送读取指令只携带存储设备122的逻辑地址,如该第一逻辑地址或该第二逻辑地址,该存储设备122按照现有技术的操作,解压缩该第一数据得到第二数据,向存储控制器121发送该第二数据,即存储设备122默认解压缩第一数据。可选的,不需要标记第一逻辑地址为存储未压缩数据的地址以及第二逻辑地址为存储压缩数据的地址。
采用上述方法,由于数据整理过程中存储设备122无需对压缩的数据进行解压以及再压缩,因此,提高了数据整理的效率。并且由于存储控制器121记录的数据占用的逻辑地址由地址长度等于未压缩的数据长度的第一逻辑地址变更为地址长度等于压缩的数据长度的第二逻辑地址,因此存储控制器121充分利用存储设备122的物理地址,提高了存储空间利用率。
本发明实施例还提供一种应用于存储阵列12中的存储控制器121,该存储阵列12还包括存储设备122,具体地,该存储控制器121用于实施上述方法实施例中相关的方法步骤,如图4所示,该存储控制器121包括:
发送单元41,用于向该存储设备122发送第一读取指令,该第一读取指令携带第一逻辑地址以及不解压缩标识。
其中,该存储设备122的第一物理地址中存储第一数据,该第一逻辑地址映射到该第一物理地址,该第一逻辑地址的长度等于第二数据的长度,该第一数据是该第二数据的压缩数据,该第一物理地址的长度等于该第一数据的长度,该存储阵列的地址映射到该第一逻辑地址。
接收单元42,用于接收该存储设备122发送的该第一数据。
地址管理单元43,用于为该第一数据分配第二逻辑地址。
该发送单元41还用于,向该存储设备122发送写指令,该写指令包含该第二逻辑地址以及该第一数据,该第二逻辑地址的长度等于该第一数据的长度。
该地址管理单元43还用于,建立该存储阵列的地址与该第二逻辑地址的映射。
该存储控制器121可以直接读取存储设备122中的压缩的数据,存储设备122不对压缩的数据进行解压缩,对于存储控制器121发送的压缩的数据也无需进行再次压缩,因此,采用本发明实施例提供的存储控制器121提高了数据整理的效率。
现有技术中,存储控制器记录的数据占用的逻辑地址长度大于数据实际占用的物理地址长度将导致存储控制器无法充分利用存储设备的物理地址,而采用上述存储控制器121,该存储控制器121接收到存储设备122发送的该第一数据后,可以为该第一数据分配第二逻辑地址,由于该第二逻辑地址与该第一数据实际占用的第二物理地址的长度相等,因此存储控制器121可以充分利用存储设备122的物理地址,提高了存储空间利用率。
可选地,该地址管理单元43还用于,标记该第二逻辑地址为存储压缩数据的地址。这样,后续存储控制器121为服务器11提供该第二逻辑地址中的数据时,根据标记的信息,需要该存储设备122解压缩该第一数据得到该第二数据。可选的,该存储控制器在该存储阵列的地址与该第二逻辑地址的映射关系中标记该第二逻辑地址为存储压缩数据的地址。另一种实现方式,该存储控制器121不标识该第二逻辑地址为存储压缩数据的地址,而是根据读取指令的触发条件决定是否需要该存储设备122解压缩该第一数据。当该存储控制器121因为数据整理向该存储设备发送读取指令时,读取指令中携带不解压缩标识,当该存储控制器121因为服务器11发送的数据读取指令向该存储设备122发送读取指令时,读取指令中携带解压缩标识。由于数据在存储设备122中存储时都已经被压缩,因此,另一种实现方式,只有在数据整理时,该存储控制器121向该存储设备122发送读取指令时携带不解压缩标识,在其他场景下,该存储控制器121向该存储设备122发送读取指令只携带该存储设备的逻辑地址,如该第一逻辑地址或该第二逻辑地址,该存储设备122按照现有技术的操作,解压缩该第一数据得到该第二数据,向该存储控制器发送该第二数据。
可选地,该接收单元42还用于,接收服务器11发送的数据读取指令;该数据读取令携带该存储阵列的地址,该发送单元41还用于,根据该数据读取指令向该存储设备发送第二读取指令,该第二读取指令携带该第二逻辑地址以及解压缩标识;该接收单元42还用于,接收该存储设备122发送的该第二数据;该发送单元41还用于,向该服务器11发送该第二数据,从而确保了服务器11能够正确读取到第二数据。另一种实现方式种,该接收单元42还用于,接收服务器11发送的数据读取指令;该数据读取令携带该存储阵列的地址;该发送单元41还用于,根据该数据读取指令向该存储设备122发送第二读取指令,该第二读取指令携带该第二逻辑地址;该接收单元42还用于,接收该存储设备122发送的该第二数据;该发送单元41还用于,向该服务器11发送该第二数据。
可选地,该发送单元41还用于,向该存储设备122发送数据擦除指令,该数据擦除指令携带该第一逻辑地址。也就是说,该存储控制器121将该第一物理地址中存储的压缩的数据存储到第二物理地址后,该存储控制器121还可以发送该数据擦除指令,使存储设备122擦除该第一物理地址中的数据。这样,该存储设备122根据该数据擦除指令擦除该第一物理地址中存储的该第一数据后,该存储设备122即可以在该第一物理地址中写入新的数据,存储控制器121将该第一逻辑地址作为空闲地址使用。
可选地,该存储控制器121还包括确定单元44,用于在该发送单元41向该存储设备122发送该第一读取指令之前,确定该第一逻辑地址为存储未压缩数据的地址,从而在该存储控制器可以在读取指令中携带不解压缩标识,使存储设备不解压缩该第一数据,提升数据整理的效率。可选的,确定单元44确定该第一逻辑地址为存储未压缩数据的地址,具体包括:确定单元44判断该存储阵列的地址的长度等于该第一逻辑地址的长度,则确定该第一逻辑地址为存储未压缩数据的地址。可选的,该存储控制器121标记该第一逻辑地址为存储未压缩数据的地址,具体地,该存储控制器121在该存储阵列的地址与该第一逻辑地址的映射关系中标记该第一逻辑地址为存储未压缩数据的地址,则确定单元44确定该第一逻辑地址为存储未压缩数据的地址,具体包括:确定单元44确定第一逻辑地址有存储未压缩数据的地址的标识。
值得说明的是,以上对存储控制器121单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,上述地址管理单元43以及确定单元44可以划分为一个处理单元,并且,上述各功能单元的物理实现也可能有多种实现方式,例如,上述确定单元44具体可以是一中央处理器,也可以是特定集成电路(英文全称:ApplicationSpecificIntegratedCircuit,简称:ASIC)。
另外,所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的存储控制器的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,此处不再赘述。
本发明实施例还提供一种应用于存储阵列的存储设备122,该存储阵列12还包括存储控制器121,该存储设备122用于实施上述方法实施例中相应的步骤,如图5所示,该存储设备122包括:
接收单元51,用于接收该存储控制器121发送的第一读取指令,该第一读取指令携带第一逻辑地址以及不解压缩标识。
其中,该存储设备122的第一物理地址中存储第一数据,该第一逻辑地址映射到该第一物理地址,该第一逻辑地址的长度等于第二数据的长度,该第一数据是该第二数据的压缩数据,该第一物理地址的长度等于该第二数据的长度,该存储阵列的地址映射到该第一逻辑地址。
发送单元52,用于根据该第一读取指令将该第一数据发送至该存储控制器121。
该接收单元51还用于,接收该存储控制器121发送的写指令,该写指令包含第二逻辑地址以及该第一数据,该第二逻辑地址的长度等于该第一数据的长度。
写入单元53,用于将该第一数据写入第二物理地址。
地址管理单元54,用于建立该第二逻辑地址与该第二物理地址的映射。
存储设备122向该存储控制器121发送压缩的数据,而不对压缩的数据进行解压缩,进而存储设备122也不需要再次压缩写入的数据,提高了数据整理的效率。
采用上述存储设备122,该存储设备122将第一数据发送至该存储控制器121后,该存储控制器121可以为该第一数据分配第二逻辑地址,由于该第二逻辑地址与该第一数据实际占用的第二物理地址的长度相等,因此充分利用存储设备122的物理地址,提高了存储空间利用率。
可选地,该接收单元51还用于,接收该存储控制器121发送的数据擦除指令,该数据擦除指令携带该第一逻辑地址;该存储设备122还包括数据擦除单元55,用于根据该数据擦除指令擦除该第一物理地址中存储的该第一数据;该地址管理单元54还用于,删除该第一逻辑地址与该第一物理地址的映射。
可选地,该接收单元51还用于,接收该存储控制器121发送的第二读取指令,该第二读取指令携带该第二逻辑地址以及解压缩标识;该存储设备还包括解压单元56,用于根据该第二读取指令对该第一数据进行解压得到该第二数据;该发送单元52还用于,将该第二数据发送至该存储控制器121。可选的,只有在数据整理时,存储控制器121向存储设备122发送读取指令时携带不解压缩标识,在其他场景下,存储控制器121向存储设备122发送读取指令只携带存储设备122的逻辑地址,如该第一逻辑地址或该第二逻辑地址,存储设备122按照现有技术的操作,解压缩该第一数据得到第二数据,向存储控制器121发送该第二数据,即存储设备122默认解压缩第一数据。可选地,该接收单元51还用于,接收该存储控制器121发送的第二读取指令,该第二读取指令携带该第二逻辑地址。
值得说明的是,以上对存储设备单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,并且,上述各功能单元的物理实现也可能有多种实现方式。
另外,所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的存储设备的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供另一种应用于存储阵列12中的存储控制器121,如图6所示,该存储控制器121包括:处理器61,接口62和通信总线63;该处理器61,该接口62通过该通信总线63完成相互间的通信;该处理器61用于执行本发明上述实施例中相应的步骤,在此不再赘述。
该存储控制器121还可能包括其他器件,例如存储器,用于存储处理器61指令,图6中未一一示出。并且,所属本领域的技术人员应该了解到,处理器61执行的操作可能是由其他器件的配合共同完成的,为了方便描述,本发明实施例中统一描述为处理器61执行数据整理的操作。具体地,本发明实施例中的处理器61用于通过接口62执行本发明上述实施例中相应的步骤。
本发明实施例中的处理器61可以是中央处理单元(英文全称:CenterProcessingUnit,简称:CPU)。另外,为节省CPU的计算资源,处理器61也可以是现场可编程门阵列(英文全称:FieldProgrammableGateArray,简称:FPGA)或其他硬件,以实现本发明实施例中存储控制器121整理数据的全部操作,或者,处理器61也可以是CPU和FPGA或其他硬件,则FPGA或其他硬件与CPU分别执行本发明实施例中存储控制器121整理数据的部分操作。为方便描述,本发明实施例统一描述为存储控制器121的处理器61实现本发明实施例中存储控制器121整理数据的操作,具体可参照上述方法实施例对应的描述,此处不再赘述。
本发明实施例还提供另一种应用于存储阵列12的存储设备122,如图7所示,该存储设备122包括:处理器71,接口72和通信总线73;该处理器71,该接口72通过该通信总线73完成相互间的通信;该处理器71用于执行本发明上述实施例中相应的步骤,在此不再赘述。具体地,本发明实施例中的处理器71用于通过接口72执行本发明上述实施例中相应的步骤。
该存储设备122还可能包括其他器件,例如存储介质,用于存储数据,图7中未一一示出。并且,所属本领域的技术人员应该了解到,处理器71执行的操作可能是由其他器件的配合共同完成的,为了方便描述,本发明实施例中统一描述为处理器71执行数据整理的操作。
本发明实施例中的处理器71可以是CPU,也可以是FPGA或其他硬件,还可以是CPU和FPGA或其他硬件。为方便描述,本发明实施例统一描述为存储设备的处理器71实现本发明实施例中存储设备122整理数据的操作,具体可参照上述方法实施例对应的描述,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所公开的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(英文全称:RandomAccessMemory,简称:RAM)、磁碟或者光盘等各种可以存储数据的介质。

Claims (29)

1.一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,其特征在于,所述方法包括:
所述存储控制器向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
所述存储控制器接收所述存储设备发送的所述第一数据;
所述存储控制器为所述第一数据分配第二逻辑地址,并向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
所述存储控制器建立所述存储阵列的地址与所述第二逻辑地址的映射。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述存储控制器标记所述第二逻辑地址为存储压缩数据的地址。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述存储控制器向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
所述存储控制器接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;
所述存储控制器根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
所述存储控制器接收所述存储设备发送的所述第二数据;
所述存储控制器向所述服务器发送所述第二数据。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
所述存储控制器在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址。
6.一种数据整理方法,应用于存储阵列,所述存储阵列包括存储控制器和存储设备,其特征在于,所述方法包括:
所述存储设备接收所述存储控制器发送的第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
所述存储设备根据所述第一读取指令向所述存储控制器发送所述第一数据;
所述存储设备接收所述存储控制器发送的写指令,所述写指令携带第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
所述存储设备将所述第一数据写入第二物理地址,并建立所述第二逻辑地址与所述第二物理地址的映射。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述存储设备接收所述存储控制器发送的数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;
所述存储设备根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,并删除所述第一逻辑地址与所述第一物理地址的映射。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述存储设备接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
所述存储设备根据所述第二读取指令对所述第一数据进行解压缩得到所述第二数据,并向所述存储控制器发送所述第二数据。
9.一种应用于存储阵列中的存储控制器,所述存储阵列还包括存储设备,其特征在于,所述存储控制器包括:
发送单元,用于向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
接收单元,用于接收所述存储设备发送的所述第一数据;
地址管理单元,用于为所述第一数据分配第二逻辑地址;
所述发送单元还用于,向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
所述地址管理单元还用于,建立所述存储阵列的地址与所述第二逻辑地址的映射。
10.根据权利要求9所述的存储控制器,其特征在于,所述地址管理单元还用于,标记所述第二逻辑地址为存储压缩数据的地址。
11.根据权利要求9或10所述的存储控制器,其特征在于,所述发送单元还用于,向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址。
12.根据权利要求9至11任一所述的存储控制器,其特征在于,所述接收单元还用于,接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;
所述发送单元还用于,根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
所述接收单元还用于,接收所述存储设备发送的所述第二数据;
所述发送单元还用于,向所述服务器发送所述第二数据。
13.根据权利要求9至12任一所述的存储控制器,其特征在于,所述存储控制器还包括确定单元,用于在所述发送单元向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址。
14.一种应用于存储阵列中的存储设备,所述存储阵列还包括存储控制器,其特征在于,所述存储设备包括:
接收单元,用于接收所述存储控制器发送的第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
发送单元,用于根据所述第一读取指令向所述存储控制器发送所述第一数据;
所述接收单元还用于,接收所述存储控制器发送的写指令,所述写指令携带第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
写入单元,用于将所述第一数据写入第二物理地址;
地址管理单元,用于建立所述第二逻辑地址与所述第二物理地址的映射。
15.根据权利要求14所述的存储设备,其特征在于,所述接收单元还用于,接收所述存储控制器发送的数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;
所述存储设备还包括数据擦除单元,用于根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据;
所述地址管理单元还用于,删除所述第一逻辑地址与所述第一物理地址的映射。
16.根据权利要求14或15所述的存储设备,其特征在于,所述接收单元还用于,接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
所述存储设备还包括解压单元,用于根据所述第二读取指令对所述第一数据进行解压得到所述第二数据;
所述发送单元还用于向所述存储控制器发送所述第二数据。
17.一种应用于存储阵列中的存储控制器,所述存储阵列还包括存储设备,其特征在于,所述存储控制器包括:处理器、接口和通信总线;所述处理器和所述接口通过所述通信总线通信;所述处理器用于执行:
向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
接收所述存储设备发送的所述第一数据;
为所述第一数据分配第二逻辑地址,并向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
建立所述存储阵列的地址与所述第二逻辑地址的映射。
18.根据权利要求17所述的存储控制器,其特征在于,所述处理器还用于执行:标记所述第二逻辑地址为存储压缩数据的地址。
19.根据权利要求17或18所述的存储控制器,其特征在于,所述处理器还用于执行:向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址。
20.根据权利要求17至19任一所述的存储控制器,其特征在于,所述处理器还用于执行:接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;
根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
接收所述存储设备发送的所述数据;
向所述服务器发送所述数据。
21.根据权利要求17至20任一所述的存储控制器,其特征在于,所述处理器还用于执行:在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址。
22.一种应用于存储阵列中的存储设备,所述存储阵列还包括存储控制器,其特征在于,所述存储设备包括:处理器、接口和通信总线;所述处理器和所述接口通过所述通信总线通信;所述处理器用于执行:
接收所述存储控制器发送的第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于所述第二数据的长度;所述第一物理地址的长度等于第二数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
根据所述第一读取指令向所述存储控制器发送所述压缩的数据;
接收所述存储控制器发送的写指令,所述写指令携带第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
将所述第一数据写入第二物理地址;
建立所述第二逻辑地址与所述第二物理地址的映射。
23.根据权利要求22所述的存储设备,其特征在于,所述处理器还用于执行:接收所述存储控制器发送的数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;
根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,并删除所述第一逻辑地址与所述第一物理地址的映射。
24.根据权利要求22或23所述的存储设备,其特征在于,所述处理器还用于执行:接收所述存储控制器发送的第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
根据所述第二读取指令对所述第一数据进行解压得到所述第二数据,并向所述存储控制器发送所述第二数据。
25.一种存储阵列,其特征在于,所述存储阵列包括存储控制器和与所述存储控制器相连的存储设备;
所述存储控制器用于向所述存储设备发送第一读取指令,所述第一读取指令携带第一逻辑地址以及不解压缩标识;所述存储设备的第一物理地址中存储第一数据,所述第一逻辑地址映射到所述第一物理地址;所述第一逻辑地址的长度等于第二数据的长度;所述第一物理地址的长度等于所述第一数据的长度;所述第一数据是所述第二数据的压缩数据;所述存储阵列的地址映射到所述第一逻辑地址;
所述存储设备用于接收所述第一读取指令,并根据所述第一读取指令向所述存储控制器发送所述第一数据;
所述存储控制器还用于,接收所述第一数据,为所述第一数据分配第二逻辑地址,并向所述存储设备发送写指令;所述写指令携带所述第二逻辑地址以及所述第一数据;所述第二逻辑地址的长度等于所述第一数据的长度;
所述存储设备还用于,接收所述写指令,将所述第一数据写入第二物理地址,建立所述第二逻辑地址与所述第二物理地址的映射;
所述存储控制器还用于,建立所述存储阵列的地址与所述第二逻辑地址的映射。
26.根据权利要求25所述的存储阵列,其特征在于,所述存储控制器还用于,标记所述第二逻辑地址为存储压缩数据的地址。
27.根据权利要求25或26所述的存储阵列,其特征在于,所述存储控制器还用于,向所述存储设备发送数据擦除指令,所述数据擦除指令携带所述第一逻辑地址;
所述存储设备还用于,接收所述数据擦除指令,根据所述数据擦除指令擦除所述第一物理地址中存储的所述第一数据,并删除所述第一逻辑地址与所述第一物理地址的映射。
28.根据权利要求25至27所述的存储阵列,其特征在于,所述存储控制器还用于,接收服务器发送的数据读取指令;所述数据读取令携带所述存储阵列的地址;根据所述数据读取指令向所述存储设备发送第二读取指令,所述第二读取指令携带所述第二逻辑地址以及解压缩标识;
所述存储设备还用于,接收所述第二读取指令,根据所述第二读取指令对所述第一数据进行解压缩得到所述第二数据,并向所述存储控制器发送所述第二数据;
所述存储控制器还用于,接收所述第二数据,向所述服务器发送所述第二数据。
29.根据权利要求25至28任一项所述的存储阵列,其特征在于,所述存储控制器还用于,在向所述存储设备发送所述第一读取指令之前,确定所述第一逻辑地址为存储未压缩数据的地址。
CN201680000398.6A 2016-02-01 2016-02-01 数据整理方法、存储设备、存储控制器以及存储阵列 Active CN105723320B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/073062 WO2017132797A1 (zh) 2016-02-01 2016-02-01 数据整理方法、存储设备、存储控制器以及存储阵列

Publications (2)

Publication Number Publication Date
CN105723320A true CN105723320A (zh) 2016-06-29
CN105723320B CN105723320B (zh) 2019-03-19

Family

ID=56162560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680000398.6A Active CN105723320B (zh) 2016-02-01 2016-02-01 数据整理方法、存储设备、存储控制器以及存储阵列

Country Status (4)

Country Link
US (1) US10585589B2 (zh)
EP (1) EP3364303B1 (zh)
CN (1) CN105723320B (zh)
WO (1) WO2017132797A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017132797A1 (zh) * 2016-02-01 2017-08-10 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
CN109302449A (zh) * 2018-08-31 2019-02-01 阿里巴巴集团控股有限公司 数据写入方法、数据读取方法、装置和服务器
CN111949557A (zh) * 2019-05-16 2020-11-17 北京兆易创新科技股份有限公司 一种数据读取方法、装置及存储设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143231B (zh) * 2018-11-02 2023-06-13 伊姆西Ip控股有限责任公司 用于数据处理的方法、设备和计算机程序产品
CN111966285B (zh) * 2020-07-20 2022-09-06 四川虹美智能科技有限公司 向eeprom存储数据的方法、主控芯片和系统
CN114442961B (zh) * 2022-02-07 2023-08-08 苏州浪潮智能科技有限公司 数据处理方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063377A (zh) * 2009-11-16 2011-05-18 联发科技股份有限公司 存储介质的数据存取管理方法及存储控制器
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
CN103620564A (zh) * 2011-05-10 2014-03-05 马维尔国际贸易有限公司 用于存储器设备的数据压缩和紧缩
US20140114936A1 (en) * 2012-10-18 2014-04-24 Hitachi, Ltd. Method for generating data in storage system having compression function
WO2015199577A1 (en) * 2014-06-27 2015-12-30 Emc Corporation Metadata structures for low latency and high throughput inline data compression

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394534A (en) * 1992-09-11 1995-02-28 International Business Machines Corporation Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium
US7571275B2 (en) * 2005-08-31 2009-08-04 Hamilton Sundstrand Corporation Flash real-time operating system for small embedded applications
US7958331B2 (en) * 2006-12-13 2011-06-07 Seagate Technology Llc Storage device with opportunistic address space
CN103874979A (zh) * 2011-12-08 2014-06-18 株式会社日立制作所 远程拷贝系统和远程拷贝控制方法
WO2015087424A1 (ja) * 2013-12-12 2015-06-18 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
KR20160027805A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 비휘발성 메모리 장치를 위한 가비지 컬렉션 방법
WO2017132797A1 (zh) * 2016-02-01 2017-08-10 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063377A (zh) * 2009-11-16 2011-05-18 联发科技股份有限公司 存储介质的数据存取管理方法及存储控制器
CN103620564A (zh) * 2011-05-10 2014-03-05 马维尔国际贸易有限公司 用于存储器设备的数据压缩和紧缩
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
US20140114936A1 (en) * 2012-10-18 2014-04-24 Hitachi, Ltd. Method for generating data in storage system having compression function
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
WO2015199577A1 (en) * 2014-06-27 2015-12-30 Emc Corporation Metadata structures for low latency and high throughput inline data compression

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017132797A1 (zh) * 2016-02-01 2017-08-10 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
US10585589B2 (en) 2016-02-01 2020-03-10 Huawei Technologies Co., Ltd. Data collation method, storage device, storage controller, and storage array
CN109302449A (zh) * 2018-08-31 2019-02-01 阿里巴巴集团控股有限公司 数据写入方法、数据读取方法、装置和服务器
CN111949557A (zh) * 2019-05-16 2020-11-17 北京兆易创新科技股份有限公司 一种数据读取方法、装置及存储设备
CN111949557B (zh) * 2019-05-16 2024-01-23 兆易创新科技集团股份有限公司 一种数据读取方法、装置及存储设备

Also Published As

Publication number Publication date
WO2017132797A1 (zh) 2017-08-10
US10585589B2 (en) 2020-03-10
US20180275888A1 (en) 2018-09-27
EP3364303A1 (en) 2018-08-22
CN105723320B (zh) 2019-03-19
EP3364303A4 (en) 2018-12-12
EP3364303B1 (en) 2019-10-30

Similar Documents

Publication Publication Date Title
CN105723320A (zh) 数据整理方法、存储设备、存储控制器以及存储阵列
US7970965B2 (en) Method and system for compression of data for block mode access storage
US8473652B2 (en) Systems and methods for compression of data for block mode access storage
US9946462B1 (en) Address mapping table compression
US10146435B2 (en) Storage system and data write method
CN101841337B (zh) 数据压缩和解压缩处理方法以及移动存储设备
CN107947799B (zh) 一种数据压缩方法及装置
KR102077149B1 (ko) 메모리 관리 방법 및 장치
CN105474186A (zh) 硬件管理的压缩的高速缓存
WO2008072590A1 (ja) ライトワンス記録装置
CN107924292A (zh) 硬件加速型存储压缩
US20170177602A1 (en) Compressed data layout with variable group size
CN108027712A (zh) 硬件加速型存储压缩
CN109753463A (zh) 控制器及其操作方法和存储系统及其操作方法
CN113656364B (zh) 传感器数据处理方法、装置和计算机可读存储介质
CN112596949B (zh) 一种高效率的ssd删除数据恢复方法及系统
US10817417B1 (en) Data storage efficiency using storage devices with variable-size internal data mapping
CN117234434A (zh) 存储设备的操作控制方法及装置
CN112905575A (zh) 数据采集的方法、系统、存储介质及电子设备
US20180349268A1 (en) Block mapping systems and methods for storage device
KR20220036887A (ko) 압축된 데이터에 대한 자동 데이터 분산 및 배열 스토리지 장치 및 그것의 동작 방법
CN104571940A (zh) 储存装置及其相关系统
CN103064638B (zh) 一种处理数据的方法、装置及系统
CN210986282U (zh) 一种紧凑型超高清视频服务器
CN109933566B (zh) 文件读写方法、装置、设备及计算机可读存储介质

Legal Events

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