CN114217741A - 存储装置的存储方法及存储装置 - Google Patents

存储装置的存储方法及存储装置 Download PDF

Info

Publication number
CN114217741A
CN114217741A CN202111447408.XA CN202111447408A CN114217741A CN 114217741 A CN114217741 A CN 114217741A CN 202111447408 A CN202111447408 A CN 202111447408A CN 114217741 A CN114217741 A CN 114217741A
Authority
CN
China
Prior art keywords
storage
area
data
processed
metadata
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
CN202111447408.XA
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202111447408.XA priority Critical patent/CN114217741A/zh
Publication of CN114217741A publication Critical patent/CN114217741A/zh
Priority to PCT/CN2022/134884 priority patent/WO2023098641A1/en
Pending legal-status Critical Current

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0674Disk device
    • G06F3/0676Magnetic disk device

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请公开了一种存储装置的存储方法及存储装置。该方法包括:将存储装置划分为记录区域和存储区域;其中,存储区域用于存储数据,记录区域用于存储数据的存储信息、存储装置的存储配置信息中的至少一种;响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置;在目标存储位置对待处理数据进行处理。上述方案,能够提高存储装置的存储效率。

Description

存储装置的存储方法及存储装置
技术领域
本申请涉及存储技术领域,特别是涉及一种存储装置的存储方法及存储装置。
背景技术
随着信息化程度的不断提高,数据的规模不断扩大。面对当前海量数据存储需求,对存储装置对数据的存储效率要求也越来越高。
为了满足大数据存储的要求,采用更高密度的存储装置去存储数据。例如SMR盘(Shingled Magnetic Recording,叠瓦式磁记录盘)是一种新型的存储装置,在存储密度、顺序读写方面的性能较好。目前,存储装置对数据的存储方式,会造成存储数据冗余,浪费存储装置的存储空间,存储效率低。
发明内容
本申请主要解决的技术问题是提供一种存储装置的存储方法存储装置,能够提高存储装置的存储效率。
为了解决上述问题,本申请第一方面提供了一种存储装置的存储方法,该方法包括:将存储装置划分为记录区域和存储区域;其中,存储区域用于存储数据,记录区域用于存储数据的存储信息、存储装置的存储配置信息中的至少一种;响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置;在目标存储位置对待处理数据进行处理。
为了解决上述问题,本申请第二方面提供了一种存储装置,该存储装置包括互相耦接的存储区域和记录区域,存储区域和记录区域的组合用于实现上述存储装置的存储方法的任一步骤。
上述方案,将存储装置划分为记录区域和存储区域,由于使用记录区域存储数据的存储信息、存储装置的存储配置信息中的至少一种,而存储区域只用于存储数据,不存储数据的其他信息,使得减少存储区域的空间的浪费;响应于对待处理数据的处理命令时,利用记录区域存储的存储信息,可以直接获取待处理数据在存储区域中的目标存储位置;在目标存储位置对待处理数据进行处理,使得存储装置的分区的作用明确,能够提高存储装置的存储效率。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要的附图作简单的介绍,显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请存储装置的存储方法第一实施例的流程示意图;
图2是本申请存储装置分区第一实施例的分区示意图;
图3是本申请存储装置分区第二实施例的分区示意图;
图4是本申请存储装置分区第三实施例的分区示意图;
图5是本申请存储装置的存储方法第二实施例的流程示意图;
图6是本申请存储装置的存储方法第三实施例的流程示意图;
图7是本申请存储装置的存储方法第四实施例的流程示意图;
图8是本申请存储装置第一实施例的结构示意图;
图9是本申请存储装置第二实施例的结构示意图;
图10是本申请存储装置第三实施例的结构示意图;
图11是本申请计算机设备一实施例的结构示意图;
图12是本申请存储装置第四实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请提供以下实施例,下面对各实施例进行具体说明。
请参阅图1,图1是本申请存储装置的存储方法第一实施例的流程示意图。该方法可以包括以下步骤:
S11:将存储装置划分为记录区域和存储区域;其中,存储区域用于存储数据,记录区域用于存储数据的存储信息、存储装置的存储配置信息中的至少一种。
存储装置可以是固态硬盘(Solid State Disk,简称SSD)、SMR盘(ShingledMagnetic Recording,叠瓦式磁记录盘)、移动硬盘、闪存卡、机械硬盘、光盘等,本申请对此不做限制。本申请对存储装置的性能不做限制,存储装置可以是高密度、顺序读写的硬盘,也可以是其他性能的存储装置。
可以将存储装置划分为记录区域和存储区域,各区域可以存储不同的信息。存储区域用于存储数据,数据可以是需要存储的数据,视频数据、图片数据、文件数据等,例如视频数据可以是利用摄像装置对目标拍摄的监控数据等。记录区域用于存储数据的存储信息、存储装置的存储配置信息中的至少一种,也即是记录区域可以用于存储数据的存储信息,例如存储区域中存储的视频数据、图片数据等数据的存储信息,例如视频数据的索引、元数据信息等。记录区域可以用于存储该存储装置的存储配置信息,例如存储装置的记录区域和存储区域的分区位置、分区大小等信息。
本申请下述以存储装置为SMR盘为例进行说明,本申请的存储装置的存储方法还可以应用于其他性能的存储装置,本申请不限于此。
SMR盘是一种采用新型磁存储技术的高容量磁盘。SMR盘将盘片上的数据磁道部分重叠,提高单位存储密度,就像屋顶上的瓦片一样,这种技术被称为叠瓦式磁记录技术。
SMR盘可以包括CMR(Conventional Magnetic Recording,常规磁记录)区域和SMR区域。CMR区域的存储空间较小,允许数据随机写入,CMR区域可以作为记录区域,用于记录存储于存储装置中数据的存储信息。SMR区域可以划分为多个存储单元(ZONE),SMR区域的存储空间较大,可以占整个SMR盘大部分的空间,在单个ZONE内只能顺序写入数据,不能随机写,且只能读取已写入的数据。SMR区域可以作为存储区域,用于存储需要存储的数据,例如数据为视频数据、图片数据、文件数据等。
在一些实施方式中,可以在存储装置生产时对区域进行划分,将存储装置划分为记录区域和存储区域。
S12:响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置。
存储装置可以接收对待处理数据的处理命令,处理命令可以是读取命令、写入命令、删除命令等命令,待处理数据可以是待读取的数据、待写入的数据、待删除的数据等。本申请对此不做限制。
存储装置响应于对待处理数据的处理命令,由于记录区域存储了存储装置的存储配置信息,及存储数据的存储信息,可以利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置。
在一些实施方式中,存储装置可以与客户端连接,接收客户端发送的对待处理数据的处理命令,响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置。客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端也可以理解是产品或服务所指的终点。例如客户端可以包括电脑、笔记本电脑、智能终端等。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。例如万维网使用的网页浏览器、收寄电子邮件时的电子邮件客户端、即时通讯的客户端软件等。
S13:在目标存储位置对待处理数据进行处理。
获取待处理数据在存储区域中的目标存储位置后,可以在目标存储位置对待处理数据进行处理,例如将待处理数据存储在目标存储位置,在目标存储位置读取待处理数据,在目标存储位置删除待处理数据等。
本实施例中,将存储装置划分为记录区域和存储区域,由于使用记录区域存储数据的存储信息、存储装置的存储配置信息中的至少一种,而存储区域只用于存储数据,不存储数据的其他信息,使得减少存储区域的空间的浪费;响应于对待处理数据的处理命令时,利用记录区域存储的存储信息,可以直接获取待处理数据在存储区域中的目标存储位置;在目标存储位置对待处理数据进行处理,使得存储装置的分区的作用明确,能够提高存储装置的存储效率。
在一些实施例中,请参阅图2至图4,存储装置包括存储区域和记录区域。存储区域包括至少一个存储单元;其中,存储单元用于存储数据。记录区域可以包括配置区、元数据区、校验区、备用区中的至少一种。
在一些实施方式中,存储区域可以包括多个存储单元,存储单元可以是按照存储区域的空间均分的多个存储单元,也可以是按照预设空间分配的多个存储单元,例如按照256MB为一个存储单元进行划分,将存储区域划分为多个存储单元。
在一些实施方式中,存储区域可以包括至少一个存储单元、存储备用区(未示出),其中,存储备用区可以包括至少一个存储单元,该存储备用区的存储单元不可用于写入数据,也即不存储数据,可以用于后续可能出现的存储单元重影射和/或配置区备份等。
在一些实施方式中,请参阅图2,记录区域可以包括配置区、元数据区、校验区。
在另一些实施方式中,请参阅图3,记录区域可以包括配置区、元数据区、校验区、备用区。备用区可以与配置区、元数据区、校验区呈间隔分布。例如在配置区、元数据区、校验区的两两之间设置备用区,可以根据配置区、元数据区、校验区的位置设置备用区,例如在配置区与元数据区之间设置备用区,该备用区可以用于后续增加配置区和/或元数据区的存储容量。另外,备用区也可以用于后续在配置区与元数据区之间划分新的区域,例如将该配置区与元数据区之间的备用区作为一个新的区域。可以理解的是,也可以在元数据区域校验区之间设置备用区等。在一些应用场景中,其间隔分布的形式可以为“备用区、配置区、备用区、元数据区、备用区、校验区”等形式。当然,本申请还可以采用其他的排列方式设置各区域,本申请对此不做限制。
配置区用于保存存储装置的存储配置信息,配置区看存储记录整个存储装置(如SMR盘)的静态信息,可以包括SMR盘的磁盘存储容量、各分区的区域大小、各分区的区域位置等信息,可以用于快速索引各分区。其中,存储配置信息可以包括存储装置的存储容量、记录区域的存储容量、存储区域的存储容量、记录区域中关于配置区、元数据区、校验区、备用区的各分区的起始位置及对应分区容量中的至少一种。
在一些实施方式中,配置区存储的存储配置信息还可以包括存储区域中存储单元的数量、空闲存储单元的数量、已使用存储单元的数量。其中,由于存储区域可以包括至少一个存储单元、存储备用区,空闲存储单元的数量会和已使用存储单元的数量的总和小于存储单元的数量。
本实施例中,通过配置区保存存储装置的存储配置信息,其中,包括存储装置的存储容量、记录区域的存储容量、存储区域的存储容量、记录区域中关于配置区、元数据区、校验区、备用区的各分区的起始位置及对应分区容量中的至少一种,记录各个分区的静态信息,可以通过存储配置信息唯一确定某个分区,因此,无论后续对存储装置进行升级等情况导致分区增加、扩容、分区减少等情况,也即无论后续存储装置的分区的数量、大小、位置等发生变化,都能够进行兼容,提高存储装置的兼容性。
元数据区用于存储数据的元数据信息,数据的元数据信息包括数据的索引、数据的属性。其中,数据的属性可以包括写入长度、数据起始偏移度等。
校验区用于存储数据的校验数据;校验数据用于校验写入存储单元(也即存储区域)的数据的正确性。
备用区是记录区域中未使用的空间,可以用于后续对记录区域进行分区的扩容或增加分区等。
在一些实施方式中,请参阅图4,存储装置的记录区域还可以包括主引导记录区,也即是主引导记录(MBR,Master Boot Record),可以采用MBR分区表的硬盘的第一个扇区,主要记录启动引导程序和磁盘的分区表,也即是存储该存储装置的分区表。
在一些实施方式中,记录区域的元数据区可以与存储区域的ZONE对齐,例如元数据区建立的文件***的起始位置为第二个ZONE,文件***详见下述说明。
在一些实施例中,请参阅图5,图5是本申请存储装置的存储方法第二实施例的流程示意图。在步骤S11之后,该方法可以还包括以下步骤:
S21:在存储装置格式化期间,向配置区写入存储装置的存储配置信息。
格式化(format)也即是指对存储装置(例如SMR盘或磁盘)或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。
存储装置进行格式化期间,可以向记录区域的配置区写入存储装置的存储配置信息。其中,存储配置信息可以包括存储装置的存储容量、记录区域的存储容量、存储区域的存储容量、记录区域中关于配置区、元数据区、校验区、备用区的各分区的起始位置及对应分区容量中的至少一种。
S22:在存储装置格式化期间,在元数据区建立文件***,文件***用于使用嵌入式键值存储器存储数据的元数据信息。
存储装置进行格式化期间,在记录区域的元数据区建立文件***,例如建立XFS文件***,XFS文件***是一种高性能的日志文件***,XFS文件***内部被分为多个“分配组”,它们是文件***中的等长线性存储区。每个分配组各自管理自己的inode和剩余空间。文件和文件夹可以跨越分配组。这一机制为XFS提供了可伸缩性和并行特性——多个线程和进程可以同时在同一个文件***上并行执行I/O操作。
文件***可以用于后续使用嵌入式键值存储器存储数据的元数据信息。嵌入式键值存储器例如是RocksDB,RocksDB是一种Key-Value存储引擎,可以包括键(Key值)和值(Value值)。Key值可以用于存储数据的索引,Value值可以用于存储数据的属性。
本实施例中,通过在元数据区建立文件***,利用文件***用于使用嵌入式键值存储器存储数据的元数据信息,该存储方式可以存储的元数据信息远大于存储区的可写存储块所需的索引数量,可以避免出现元数据信息存储所需空不足,需要删除索引的情况。另外,文件***可以用于后续使用嵌入式键值存储器(例如RocksDB)来存储数据的元数据信息,可以保证更新的元数据信息的一致性,从而保证数据的一致性,通过RocksDB这种Key-Value存储引擎,相比于普通的关系数据库,读取和写入的速度更快,能够提高存储装置的存储效率。
S23:在存储装置格式化期间,对存储单元的写指针的位置进行重置。
由于存储装置(例如SMR盘)的存储区域(SMR区域)划分为至少一个存储单元,其中,存储单元可以是固定大小的区域,存储单元内可以包括多个存储块,存储块可以用于写入数据。另外,每个ZONE内包含一个WP(WritePointer,写指针),ZONE中的数据必须从当前的WP向后写入;WP之后的数据无法读取;不允许跨ZONE读写,也即是数据只能在ZONE的写指针位置下顺序写。
在存储装置进行格式化期间,对存储区域进行初始化,可以对ZONE内的写指针的位置进行重置,也即对存储区域的所有存储单元的写指针进行归位。
在存储装置进行格式化期间,不需要对校验区、备用区进行操作。
本实施例可以对存储装置进行格式,步骤S21至步骤S23可以是上述实施例中步骤S11之后的步骤,也即是将存储装置划分为记录区域和存储区域之后的步骤,本申请对步骤S21至步骤S23的执行顺序不做限制,步骤S21、步骤S22、步骤S23可以同时执行,也可以是执行顺序。另外,在本实施例中,可以执行步骤S21、步骤S22、步骤S23中的至少一个步骤。本申请对此不做限制。
在一些实施例中,请参阅图6,图6是本申请存储装置的存储方法第三实施例的流程示意图。该方法可以包括以下步骤:
S31:读取记录区域的元数据区存储的元数据信息;并利用元数据信息,获取存储区域中的已使用存储单元和空闲存储单元的索引,存储单元包括已使用存储单元和空闲存储单元。
存储装置(例如SMR盘)可以接收磁盘上线指令,进行磁盘上线。在磁盘上线的过程中,读取记录区域的元数据区存储的元数据信息;并利用元数据信息,获取存储区域中的已使用存储单元和空闲存储单元的索引,存储单元包括已使用存储单元和空闲存储单元。
例如则接收***的应用程序发送的磁盘上线指令,使得应用程序可以响应于磁盘上线指令,读取记录区域的元数据区,并将元数据区(如元数据区的文件***)挂载到***的预设目录中。***可以对存储装置进行检测,检测是否为SMR盘,若检测为SMR盘,则通过读取元数据区的嵌入式键值存储器(例如RocksDB)的数据库,也可以是读取元数据区的文件***,读取元数据区的元数据信息。其中,可以通过读取数据库的内容可以构建出写入存储装置的数据的索引和数据的属性,从而由数据的索引对应的ZONE的位置,构建出已使用的ZONE和空闲ZONE的索引。
S32:获取元数据区存储的关于存储单元的写指针位置作为记录写指针位置,以及获取存储单元内的实际写指针位置;并基于实际写指针位置,对记录写指针位置进行校正。
在存储装置进行磁盘上线的过程中,可以获取元数据区存储的关于存储单元的写指针位置,将该记录的写指针位置作为记录写指针位置,同时,还可以获取存储单元内的实际写指针位置,可以对记录写指针位置和实际写指针位置进行对比校正,也即可以基于实际写指针位置,对记录写指针位置进行校正。
在一些实施方式中,由于在存储区域的存储单元写入数据时,若写入过程出现写入错误或写入过程出现异常终止,存储单元内的实际写指针位置会比元数据区记录的记录写指针位置要大一些,也即实际写指针位置与记录写指针位置可能会不一致,在该存储装置进行磁盘上线的过程中,可以对元数据区记录的写指针位置进行校正。
在一些实施方式中,本实施例可以对存储装置进行磁盘上线,步骤S31至步骤S32可以是上述实施例中步骤S11之后的步骤,也即是将存储装置划分为记录区域和存储区域之后的步骤,本申请对步骤S31至步骤S32的执行顺序不做限制,步骤S31、步骤S32可以同时执行,也可以是其他执行顺序。另外,在本实施例中,可以执行步骤S31、步骤S32中的至少一个步骤。本申请对此不做限制。
请参阅图7,图7是本申请存储装置的存储方法第四实施例的流程示意图。该方法可以包括以下步骤:
S41:响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置。
在一些实施方式中,处理命令为写入命令。可以基于元数据区存储的空闲存储单元的元数据信息,在存储区域查找对应的空闲存储单元。其中,可以通过元数据区记录的存储区域的存储单元的索引,确定空闲存储单元的索引,从而可以在存储区域查找到对应的空闲存储单元的位置。
可以根据空闲存储单元的索引,选择一个空闲存储单元作为第一目标存储单元,其中,第一目标存单元作为目标存储位置;也即是将该第一目标存储单元作为待处理数据的写入区域。
在一些实施方式中,处理命令为读取命令,可以获取待处理数据的元数据信息,例如数据的索引。通过待处理数据的元数据信息获取待处理数据在存储区域对应的第二目标存储单元,以作为目标存储位置。
例如可以接收客户端发送的对待处理数据的读取命令,读取命令中可以包括待处理数据的索引,存储装置可以根据待处理数据的索引,从元数据区的文件***的嵌入式键值存储器(例如RocksDB)获取待处理数据的元数据信息,可以包括待处理数据的属性、索引等信息,可以确定待处理数据在存储区域的ZONE(存储单元)的位置,将该存储单元作为第二目标存储单元。
在本步骤S41中,若处理命令为写入命令,则执行步骤S42、步骤S43。
在本步骤S41中,若处理命令为读取命令,则执行步骤S44。
S42:处理命令为写入命令,将待处理数据写入至目标存储位置。
对待处理数据的处理命令为写入命令,在目标存储位置对待处理数据进行处理。
在一些实施方式中,可以将待处理数据写入第一目标存储单元,并将待处理数据的元数据信息写入元数据区,其中,待处理数据的元数据信息包括目标存储块的元数据信息、待处理数据的索引、待处理数据的属性。目标存储块为用于第一目标存储单元中写入待处理数据的存储块。
在一些实施方式中,获取待处理数据的校验数据,并将待处理数据的校验数据写入校验区,校验数据可以是待处理数据的循环冗余校验值(Cyclic Redundancy Check,CRC);循环冗余校验值可以用于检测或校验待处理数据在传输或者保存后可能出现的错误,也即校验数据可以用于对写入第一目标存储单元的待处理数据进行校验,以验证写入的待处理数据的正确性。
在一些实施方式中,在该步骤S42的过程中,还可以执行以下步骤S43。
S43:在元数据区写入第一目标存储单元的元数据信息以及目标存储块的元数据信息。
在将待处理数据写入第一目标存储单元的过程中,将待处理数据的元数据信息写入元数据区,将待处理数据的校验数据写入校验区,并在元数据区写入第一目标存储单元的元数据信息以及目标存储块的元数据信息。
其中,第一目标存储单元的元数据信息包括第一目标存储单元中写入待处理数据的目标存储块的数量、写指针的偏移信息中的至少一种。例如在ZONE中写入待处理数据,ZONE的元数据信息包括写入待处理数据的存储块(Block)的数量,该存储块的数量可以为多个。ZONE的元数据信息还可以包括该ZONE内写指针的偏移信息,该写指针的偏移信息也可以表示写入有效的存储块的长度。第一目标存储单元的元数据信息还可以包括其他信息,本申请不限于此。
目标存储块的元数据信息包括目标存储块的写入长度、存储块的创建时间、文件标识中至少一种。存储块的创建时间可以表示在目标存储块写入待处理数据的时间。目标存储块的元数据信息还可以包括其他信息,本申请不限于此。
在一些实施方式中,若该第一目标存储单元第一次被分配使用时,可以在元数据区增加第一目标存储单元的元数据信息。当在第一存储单元存储有数据,在该第一存储单元的存储块写入待处理数据或删除第一存储单元存储的待处理数据时,可以在元数据区更新第一目标存储单元的元数据信息。
在一些实施方式中,在第一目标存储单元开始写入待处理数据时,在元数据区增加第一目标存储单元中的目标存储块的元数据信息,其中,目标存储块的元数据信息标记为写标识。可以在该目标存储块的数据信息的Key值标记前缀“W”,将前缀“W”作为写标识,以标识该存储块的状态为正在写入。
在一些实施方式中,在第一目标存储单元写入待处理数据过程中,更新元数据区存储的目标存储块的元数据信息,例如可以更新目标存储块的写入长度。从而还可以记录写入的目标存储块的数量,以更新第一目标存储单元的元数据信息。
在一些实施方式中,在第一目标存储单元写入待处理数据完成后,将目标存储块的元数据信息标记为完成标识。可以将目标存储块的数据信息的Key值的前缀“W”修改为“C”,将前缀“C”作为写标识,以标识该存储块的状态为已经完成写入。
本实施例中,一份待处理数据只在元数据区保存一份元数据信息,不需要保存待处理数据的中间索引,不会造成存储空间的浪费。
S44:处理命令为读取命令,从目标存储位置中读取待处理数据。
对待处理数据的处理命令为读取命令,则从目标存储位置中读取待处理数据。获取待处理数据在存储区域对应的第二目标存储单元后,在第二目标存储单元读取待处理数据。
在一些实施例中,可以预设读取待处理数据的读取长度和读取的偏移信息,在第二目标存储单元内进行随机读取。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例,本申请提供一种存储装置,请参阅图8,图8是本申请存储装置第一实施例的结构示意图。该存储装置50可以包括互相耦接的存储区域51和记录区域52,存储区域51和记录区域52的组合用于实现上述存储装置的存储方法的任一步骤。
其中,存储区域51用于存储数据,例如当存储装置50接收到对待处理数据的写入命令时,存储区域51用于存储待处理数据。
记录区域52用于存储数据的存储信息、存储装置50的存储配置信息中的至少一种。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
在另一些实施例中,请参阅图9,图9是本申请存储装置第二实施例的结构示意图。该存储装置60可以包括互相耦接的存储区域61和记录区域62,存储区域61和记录区域62的组合用于实现上述存储装置的存储方法的任一步骤。
存储区域61包括至少一个存储单元611;其中,存储单元用于存储数据。例如当存储装置60接收到对待处理数据的写入命令时,存储区域61的存储单元611用于存储待处理数据。
记录区域62包括配置区621、元数据区622、校验区623、备用区624中的至少一种。
其中,配置区621用于存储该存储装置的存储配置信息,存储配置信息包括存储装置的存储容量、记录区域的存储容量、存储区域的存储容量、记录区域中关于配置区、元数据区、校验区、备用区的各分区的起始位置及对应分区容量中的至少一种。
元数据区622用于存储数据的元数据信息,数据的元数据信息包括数据的索引、数据的属性。
校验区623用于存储数据的校验数据,校验数据用于校验写入存储单元的数据的正确性。
备用区624与配置区621、元数据区622、校验区623呈间隔分布,备用区624可以用于后续再分区或配置区621、元数据区622、校验区623的扩容。
该实施例中所说明的数据可以为待处理数据,本申请不限于此。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例,本申请提供一种存储装置,请参阅图10,图10是本申请存储装置第三实施例的结构示意图。该存储装置70包括分区模块71、响应模块72和处理模块73。其中,分区模块71、响应模块72和处理模块73连接。
分区模块71用于将存储装置划分为记录区域和存储区域;其中,存储区域用于存储数据,记录区域用于存储数据的存储信息、存储装置的存储配置信息中的至少一种。
响应模块72用于响应于对待处理数据的处理命令,利用记录区域存储的存储信息,获取待处理数据在存储区域中的目标存储位置。
处理模块73用于在目标存储位置对待处理数据进行处理。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例,本申请提供一种计算机设备,请参阅图11,图11是本申请计算机设备一实施例的结构示意图。该计算机设备80包括存储器81和处理器82,其中,存储器81和处理器82相互耦接,存储器81中存储有程序数据,处理器82用于执行程序数据以实现上述存储装置的存储方法中的任一实施例的步骤。
在本实施例中,处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器82也可以是任何常规的处理器等。
在一些实施方式中,该计算机设备80可以与本申请上述的存储装置(未示出)进行交互,例如交互包括向存储装置发送待处理数据的处理命令等,以实现上述存储装置的存储方法中的任一实施例的步骤。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例的方法,其可以采用计算机程序的形式实现,因而本申请提出一种存储装置,请参阅图12,图12是本申请存储装置四实施例的结构示意图。该存储装置90中存储有能够被处理器运行的程序数据91,程序数据可被处理器执行以实现上述存储装置的存储方法中任一实施例的步骤。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
本实施例存储装置90可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序数据的介质,或者也可以为存储有该程序数据的服务器,该服务器可将存储的程序数据发送给其他设备运行,或者也可以自运行该存储的程序数据。
在本申请所提供的几个实施例中,应该理解的,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储装置中,该存储装置是一种计算机可读取存储介质。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种存储装置的存储方法,其特征在于,所述方法包括:
将存储装置划分为记录区域和存储区域;其中,所述存储区域用于存储数据,所述记录区域用于存储所述数据的存储信息、所述存储装置的存储配置信息中的至少一种;
响应于对待处理数据的处理命令,利用所述记录区域存储的存储信息,获取所述待处理数据在所述存储区域中的目标存储位置;
在所述目标存储位置对所述待处理数据进行处理。
2.根据权利要求1所述的方法,其特征在于,
所述处理命令为写入命令,所述在所述目标存储位置对所述待处理数据进行处理,包括:将所述待处理数据写入至所述目标存储位置;或者,
所述处理命令为读取命令,所述在所述目标存储位置对所述待处理数据进行处理,包括:从所述目标存储位置中读取所述待处理数据。
3.根据权利要求1所述的方法,其特征在于,
所述记录区域包括配置区、元数据区、校验区、备用区中的至少一种;其中,所述配置区用于存储所述存储装置的存储配置信息,所述元数据区用于存储所述数据的元数据信息,所述校验区用于存储所述数据的校验数据;所述备用区与所述配置区、所述元数据区、所述校验区呈间隔分布;
所述存储区域包括至少一个存储单元;其中,所述存储单元用于存储数据。
4.根据权利要求3所述的方法,其特征在于,
所述存储配置信息包括所述存储装置的存储容量、所述记录区域的存储容量、所述存储区域的存储容量、所述记录区域中关于所述配置区、元数据区、校验区、备用区的各分区的起始位置及对应分区容量中的至少一种;
所述数据的元数据信息包括所述数据的索引、所述数据的属性;
所述校验数据用于校验写入所述存储单元的数据的正确性。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述存储装置格式化期间,对所述存储单元的写指针的位置进行重置;和/或,
在所述存储装置格式化期间,向所述配置区写入所述存储装置的存储配置信息;和/或,
在所述存储装置格式化期间,在所述元数据区建立文件***,所述文件***用于使用嵌入式键值存储器存储所述数据的元数据信息。
6.根据权利要求5所述的方法,其特征在于,所述将存储装置划分为记录区域和存储区域之后,所述方法还包括:
读取所述记录区域的所述元数据区存储的所述元数据信息;并利用所述元数据信息,获取所述存储区域中的已使用存储单元和空闲存储单元的索引,所述存储单元包括所述已使用存储单元和空闲存储单元;和/或,
获取所述元数据区存储的关于所述存储单元的写指针位置作为记录写指针位置,以及获取所述存储单元内的实际写指针位置;并基于所述实际写指针位置,对所述记录写指针位置进行校正。
7.根据权利要求4所述的方法,其特征在于,所述处理命令为写入命令;所述利用所述记录区域存储的存储信息,获取所述待处理数据在所述存储区域中的目标存储位置,包括:
基于所述元数据区存储的空闲存储单元的元数据信息,在所述存储区域查找对应的所述空闲存储单元;
选择一个所述空闲存储单元作为第一目标存储单元,其中,所述第一目标存单元作为所述目标存储位置;
所述在所述目标存储位置对所述待处理数据进行处理,包括:
将所述待处理数据写入所述第一目标存储单元,并将所述待处理数据的元数据信息写入所述元数据区,将所述待处理数据的校验数据写入所述校验区;其中,所述待处理数据的元数据信息包括目标存储块的元数据信息,所述目标存储块为用于所述第一目标存储单元中写入所述待处理数据的存储块。
8.根据权利要求7所述的方法,其特征在于,
所述将所述待处理数据写入所述第一目标存储单元之后,所述方法还包括:
在所述元数据区写入所述第一目标存储单元的元数据信息以及所述目标存储块的元数据信息;其中,所述第一目标存储单元的元数据信息包括所述第一目标存储单元中写入所述待处理数据的目标存储块的数量、写指针的偏移信息中的至少一种;
和/或,所述方法还包括:
在所述第一目标存储单元开始写入所述待处理数据时,在所述元数据区增加所述第一目标存储单元中的目标存储块的元数据信息,其中,所述目标存储块的元数据信息标记为写标识,所述目标存储块的元数据信息包括所述目标存储块的写入长度、所述存储块的创建时间、文件标识中至少一种;
在所述第一目标存储单元写入所述待处理数据过程中,更新所述元数据区存储的所述目标存储块的元数据信息;
在所述第一目标存储单元写入所述待处理数据完成后,将所述目标存储块的元数据信息标记为完成标识。
9.根据权利要求3所述的方法,其特征在于,所述处理命令为读取命令,所述利用所述记录区域存储的存储信息,获取所述待处理数据在所述存储区域中的目标存储位置,包括:
获取所述待处理数据的元数据信息;
通过所述待处理数据的元数据信息获取所述待处理数据在所述存储区域对应的第二目标存储单元,以作为所述目标存储位置;
所述在所述目标存储位置对所述待处理数据进行处理,包括:
在所述第二目标存储单元读取所述待处理数据。
10.一种存储装置,其特征在于,包括互相耦接的存储区域和记录区域,所述存储区域和记录区域的组合用于实现权利要求1至9任一项所述方法的步骤。
CN202111447408.XA 2021-11-30 2021-11-30 存储装置的存储方法及存储装置 Pending CN114217741A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111447408.XA CN114217741A (zh) 2021-11-30 2021-11-30 存储装置的存储方法及存储装置
PCT/CN2022/134884 WO2023098641A1 (en) 2021-11-30 2022-11-29 Systems and methods for data storage in storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111447408.XA CN114217741A (zh) 2021-11-30 2021-11-30 存储装置的存储方法及存储装置

Publications (1)

Publication Number Publication Date
CN114217741A true CN114217741A (zh) 2022-03-22

Family

ID=80699303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111447408.XA Pending CN114217741A (zh) 2021-11-30 2021-11-30 存储装置的存储方法及存储装置

Country Status (2)

Country Link
CN (1) CN114217741A (zh)
WO (1) WO2023098641A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023098641A1 (en) * 2021-11-30 2023-06-08 Zhejiang Dahua Technology Co., Ltd. Systems and methods for data storage in storage device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461390A (zh) * 2014-12-05 2015-03-25 华为技术有限公司 将数据写入叠瓦状磁记录smr硬盘的方法及装置
KR101525453B1 (ko) * 2014-04-09 2015-06-04 인하대학교 산학협력단 데이터 접근빈도를 이용한 raid 시스템의 데이터 복제 방법
CN104991746A (zh) * 2015-07-27 2015-10-21 深圳市蓝天威视科技有限公司 一种存储和读取fat硬盘内录像数据的方法及***
CN105867836A (zh) * 2015-01-23 2016-08-17 中兴通讯股份有限公司 存储管理方法、装置及流媒体***
CN107704211A (zh) * 2017-10-31 2018-02-16 武汉光忆科技有限公司 一种磁光电混合光盘库及其管理方法和管理***
CN108255408A (zh) * 2016-12-28 2018-07-06 中国电信股份有限公司 数据存储方法以及***
CN111651127A (zh) * 2020-06-10 2020-09-11 杭州海康威视数字技术股份有限公司 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666044B (zh) * 2016-02-29 2021-11-30 华为技术有限公司 一种访问叠瓦式磁记录smr硬盘的方法及服务器
CN111506251B (zh) * 2019-01-30 2023-06-02 杭州海康威视***技术有限公司 数据处理方法、装置、smr存储***及存储介质
CN111399762B (zh) * 2019-11-27 2021-06-18 杭州海康威视***技术有限公司 数据存储方法、装置及存储***
CN114217741A (zh) * 2021-11-30 2022-03-22 浙江大华技术股份有限公司 存储装置的存储方法及存储装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525453B1 (ko) * 2014-04-09 2015-06-04 인하대학교 산학협력단 데이터 접근빈도를 이용한 raid 시스템의 데이터 복제 방법
CN104461390A (zh) * 2014-12-05 2015-03-25 华为技术有限公司 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN105867836A (zh) * 2015-01-23 2016-08-17 中兴通讯股份有限公司 存储管理方法、装置及流媒体***
CN104991746A (zh) * 2015-07-27 2015-10-21 深圳市蓝天威视科技有限公司 一种存储和读取fat硬盘内录像数据的方法及***
CN108255408A (zh) * 2016-12-28 2018-07-06 中国电信股份有限公司 数据存储方法以及***
CN107704211A (zh) * 2017-10-31 2018-02-16 武汉光忆科技有限公司 一种磁光电混合光盘库及其管理方法和管理***
CN111651127A (zh) * 2020-06-10 2020-09-11 杭州海康威视数字技术股份有限公司 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023098641A1 (en) * 2021-11-30 2023-06-08 Zhejiang Dahua Technology Co., Ltd. Systems and methods for data storage in storage device

Also Published As

Publication number Publication date
WO2023098641A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US11853549B2 (en) Index storage in shingled magnetic recording (SMR) storage system with non-shingled region
CN111506251B (zh) 数据处理方法、装置、smr存储***及存储介质
CN106951375B (zh) 在存储***中删除快照卷的方法及装置
CN1983267A (zh) 延迟验证数据完整性的文件***
CN113568582B (zh) 数据管理方法、装置和存储设备
CN111177143B (zh) 键值数据存储方法、装置、存储介质与电子设备
CN113076220B (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN102253985B (zh) 一种文件***数据的管理方法及***
CN114281762A (zh) 一种日志存储加速方法、装置、设备及介质
CN106709014B (zh) 一种文件***转换方法及装置
CN110019063B (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN107169126B (zh) 一种日志处理方法及相关设备
CN114217741A (zh) 存储装置的存储方法及存储装置
CN113253932B (zh) 一种分布式存储***的读写控制方法和***
CN116048396B (zh) 基于日志结构化合并树的数据存储装置和存储控制方法
US10877881B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations
CN114297196B (zh) 元数据存储方法、装置、电子设备及存储介质
CN113515518A (zh) 数据存储方法、装置、计算机设备和存储介质
CN114924911A (zh) Windows操作***有效数据备份方法、装置、设备和存储介质
CN111399759B (zh) 读数据、写数据的方法、以及对象文件***
CN112286725A (zh) 数据处理方法、装置及电子设备
CN109284270B (zh) 一种分布式文件***存储模块的部署优化方法及装置
CN110019092B (zh) 数据存储的方法、控制器和***
JPH0816881B2 (ja) データベース更新方法
CN114442941B (zh) 一种数据迁移方法、***、存储介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination