CN113076056A - 数据访问方法、硬盘和存储设备 - Google Patents
数据访问方法、硬盘和存储设备 Download PDFInfo
- Publication number
- CN113076056A CN113076056A CN202010185272.9A CN202010185272A CN113076056A CN 113076056 A CN113076056 A CN 113076056A CN 202010185272 A CN202010185272 A CN 202010185272A CN 113076056 A CN113076056 A CN 113076056A
- Authority
- CN
- China
- Prior art keywords
- data
- hard disk
- storage space
- controller
- logic unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种数据访问方法、硬盘和存储设备,属于计算机技术领域。该硬盘包括存储介质、接口和处理器;该存储介质用于提供包括多个逻辑单元的存储空间,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于硬盘中的一个或多个擦除块,擦除块是硬盘的最小擦除单位;接口用于向控制器提供逻辑单元标识,以及接收控制器发送的包括逻辑单元标识的数据访问请求,处理器用于根据数据访问请求中的逻辑单元标识查找待访问的存储空间。可见,本申请中硬盘所在的存储设备存储数据的方式以及访问数据的方式均与相关技术不同,因此丰富了存储设备存储和访问数据的方式,本申请用于存储设备。
Description
本申请要求于2020年01月06日提交的申请号为202010011440.2、发明名称为“一种硬盘”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种数据访问方法、硬盘和存储设备。
背景技术
存储设备包括相连接的控制器和硬盘。其中,控制器用于对硬盘进行控制,以在硬盘中进行数据的存储和访问。
相关技术中,当控制器需要在硬盘中的某一存储空间中存储数据A时,控制器可以向硬盘发送请求,以便于硬盘可以根据该请求在该存储空间中存储数据A。当控制器需要访问硬盘中存储的数据A时,控制器可以向硬盘发送请求,以便于硬盘可以根据该请求查找数据A。
但是,存储设备存储和访问数据的方式较为单一。
发明内容
本申请提供了一种数据访问方法、硬盘和存储设备,可以解决存储设备存储和访问数据的方式较为单一的问题,所述技术方案如下:
第一方面,提供了一种硬盘,包括存储介质、接口和处理器;所述存储介质用于提供存储空间,其中,该存储空间包括多个逻辑单元,且每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同;所述接口用于与控制器通信,以及向所述控制器提供所述逻辑单元标识;所述接口还用于接收所述控制器发送的包括逻辑单元标识的数据访问请求;所述处理器用于根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
其中,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位。可见,本申请中硬盘存储数据的方式与相关技术中硬盘存储数据的方式不同。基于本申请中硬盘提供的逻辑单元,控制器能够通过逻辑单元标识向硬盘发送逻辑单元中数据的访问请求,进而实现数据的访问。可见,本申请中硬盘访问数据的方式与相关技术中硬盘访问数据的方式不同。
另外,由于逻辑单元内部采用追加写的方式存储数据,因此,硬盘每次存储数据都是在空闲存储空间中进行的,因此每次执行的数据存储过程并不会对存储的历史数据进行更改。这样一来,即便是硬盘对某一存储空间中的数据进行多次处理,由于该存储空间中的数据并不会改变,因此该多次处理的结果是一致的。从而避免了采用相关技术中的数据存储方式在硬盘中多次存储数据,使得新存储的数据替换历史数据,导致对某一存储空间中的数据进行多次处理的结果不一致的情况发生。
可选地,所述接口还用于接收所述控制器发送的包括所述逻辑单元标识的数据删除请求,所述处理器还用于根据该数据删除请求中的逻辑单元标识查找待删除数据的存储空间,并在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据;所述接口还用于向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
可以看出,本申请提供的硬盘能够以逻辑单元为单位进行数据的删除。并且,硬盘在删除某一逻辑单元上的数据时,需要保证该逻辑单元上的数据均已经停止被处理,从而防止了在删除该逻辑单元上的数据时,该数据仍然正在被处理的情况发生。需要说明的是,若在删除某一数据时,该数据仍然正在被处理中,则会导致处理该数据得到的结果与真实结果不同,影响数据处理结果的准确性。由于本申请中的硬盘在删除数据时,数据已经停止被处理,因此,不会影响数据处理结果的准确性。
可选地,所述存储介质还用于存储数据的元数据;所述接口具有元数据语义,还用于向所述控制器提供所述元数据。其中,元数据包括数据的一种或多种属性,比如,数据为视频时,数据的元数据可以包括:视频的时间属性(用于指示视频的拍摄时间)、地址属性(用于指示视频的拍摄地址)等。元数据可以与数据均存储在逻辑单元中,当然元数据也可以存储在逻辑单元外的存储空间中,本申请对元数据的存储方式不作限定。在存储介质能够用于存储元数据的情况下,硬盘中的接口具有元数据语义,该接口还用于向控制器提供元数据。由于接口具有元数据语义,因此,硬盘能够基于该元数据语义与控制器之间进行与元数据相关的交互。
可选地,所述接口还用于接收所述控制器发送的数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;所述处理器用于根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。例如,硬盘中的处理器根据数据处理请求中的逻辑单元标识查找到的存储空间为逻辑单元1对应的存储空间1。若该处理请求包括:元数据包含的属性1,则处理器可以根据该属性1,在存储空间1中存储的数据找筛选出具有属性1的数据,或者,处理器还可以进一步地对该具有属性1的数据进行处理。
可选地,所述接口,还用于向所述控制器提供所述逻辑单元中数据的存储空间的偏移量,所述数据访问请求还包括:所述偏移量;所述处理器在根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间时,具体用于根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
第二方面,提供了一种存储设备,所述存储设备包括:硬盘和控制器;所述硬盘用于提供存储空间,所述存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位;所述硬盘还用于与所述控制器通信,以及向所述控制器提供所述逻辑单元标识;所述控制器用于向所述硬盘发送数据访问请求,所述数据访问请求包括所述逻辑单元标识;所述硬盘用于根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
可选地,所述控制器还用于向所述硬盘发送数据删除请求,所述数据删除请求包括所述逻辑单元标识;所述硬盘还用于根据所述数据删除请求中的逻辑单元标识查找待删除数据的存储空间,并在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据,以及向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
可选地,所述硬盘还用于存储数据的元数据;所述硬盘还具有元数据语义,还用于向所述控制器提供所述元数据。
可选地,所述控制器还用于向所述硬盘发送数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;所述硬盘还用于根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。
可选地,所述硬盘还用于向所述控制器提供所述逻辑单元中数据的存储空间的偏移量;所述数据访问请求还包括:所述偏移量;所述硬盘在根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间时,具体用于根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
第三方面,提供了一种数据访问方法,用于包括硬盘和控制器的存储设备,所述硬盘用于提供存储空间,所述存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位;所述方法包括:所述硬盘向所述控制器提供所述逻辑单元标识;所述控制器向所述硬盘发送数据访问请求,所述数据访问请求包括所述逻辑单元标识;所述硬盘根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
可选地,所述方法还包括:所述控制器向所述硬盘发送数据删除请求,所述数据删除请求包括所述逻辑单元标识;所述硬盘根据所述数据删除请求中的逻辑单元标识查找待删除数据的存储空间;所述硬盘在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据;所述硬盘向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
可选地,所述硬盘还用于存储数据的元数据,所述元数据包括所述数据的一种或多种属性,所述硬盘具有元数据语义,所述方法还包括:所述硬盘向所述控制器提供所述元数据。
可选地,所述方法还包括:所述控制器向所述硬盘发送数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;所述硬盘根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。
可选地,在所述控制器向所述硬盘发送数据访问请求之前,所述方法还包括:所述硬盘向所述控制器提供所述逻辑单元中数据的存储空间的偏移量;所述数据访问请求还包括:所述偏移量;所述硬盘根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间,包括:所述硬盘根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
上述第二方面和第三方面的有益效果可以参考第一方面的有益效果,本申请在此不做赘述。
附图说明
图1为本申请实施例提供的一种存储设备的结构示意图;
图2为本申请实施例提供的一种控制器的结构示意图;
图3为本申请实施例提供的一种硬盘的结构示意图;
图4为本申请实施例提供的一种硬盘中存储介质提供的存储空间的示意图;
图5为本申请实施例提供的一种数据访问方法的流程图;
图6为本申请实施例提供的另一种数据访问方法的流程图。
具体实施方式
为使本申请的原理、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请实施例提供的一种存储设备的结构示意图,该存储设备可以是存储阵列或服务器等任一种具有存储功能的电子设备。如图1所示,该存储设备包括:控制器01和硬盘02。
控制器01与硬盘02连接,且二者能够基于该连接进行通信。示例地,控制器01与硬盘02之间通信时所采用的协议可以是非易失性存储器(Non-Volatile Memory express,NVMe)协议、串行连接小型计算机系统接口(Serial Attached Small Computer SystemInterface,SAS)协议等。硬盘02可以位于控制器01外部,当然,硬盘02也可以位于控制器01内部,本申请实施例对此不作限定。
图2为本申请实施例提供的一种控制器的结构示意图。请参考图2,该控制器01包括:存储介质201、处理器202和接口203,其中,存储介质201用于存储程序,处理器202用于调用存储介质201中存储的程序,以使得该控制器执行相应的方法或功能,接口203用于在处理器202的控制下与其他装置(如上述硬盘02)通信。可选地,如图2所示,该控制器01还可以包括总线204。存储介质201、处理器202以及接口203通过总线204通信连接,处理器202可以通过总线204调用存储介质201中存储的程序。
图3为本申请实施例提供的一种硬盘的结构示意图。请参考图3,该硬盘02包括:存储介质301、处理器302和接口303。其中,存储介质301用于存储程序和数据等,处理器302用于调用存储介质301中存储的程序,以使得该硬盘执行相应的方法或功能,接口303用于在处理器302的控制下与其他装置(如上述控制器01)通信。可选地,如图3所示,该硬盘02还可以包括总线304。存储介质301、处理器302、接口303以及存储介质305通过总线304通信连接,处理器302可以通过总线304调用存储介质301中存储的程序。硬盘可以为任一种具有存储功能的装置,比如,存储盘、存储整列、智能硬盘框等。存储盘可以为固态硬盘(SolidState Disk,SSD)或者存储类存储器(Storage Class Memory,SCM)等。
需要说明的是,对于控制器01和硬盘02中各个结构(如上述处理器、存储介质、接口、总线等结构)的数量可以是一个也可以是多个,图2和图3中以各个结构的数量是一个为例,本申请实施例对此不作限定。
在该存储设备中,控制器01用于对硬盘02进行控制,以在硬盘02中进行数据的存储、访问、删除以及处理等操作。
相关技术中,当控制器01需要在硬盘02中存储数据A时,控制器01可以向硬盘02发送请求,该请求中携带某一存储空间(称为存储空间1)的地址,以便于硬盘02可以根据该请求,在存储空间1中存储数据A。当控制器01需要将之前存储的数据A更改为数据A’时,控制器01可以再次向硬盘02发送请求,该请求中携带存储空间1的地址,以便于硬盘02根据该请求,将数据A’存储在该存储空间,并覆盖该存储空间原有的数据A。当控制器需要访问硬盘中存储的数据A时,控制器可以向硬盘发送请求,以便于硬盘可以根据该请求查找数据A。
但是,存储设备存储数据和访问数据的方式较为单一。
并且,相关技术中控制器01还可以控制硬盘02对其中存储的数据进行处理,硬盘02还能够将处理结果反馈至控制器01。但是,相关技术中控制器01控制硬盘02对存储空间1中的数据进行多次处理的过程中,硬盘02可能会根据控制器01的控制将该存储空间1中的数据由数据A更换为数据A’。此时,由于硬盘进行上述多次处理的过程中所处理的数据不一致,则会导致硬盘02对该存储空间1中的数据进行多次处理的结果不一致。
另外,相关技术中硬盘02在删除某一数据时,若该数据仍然在被处理的过程中,则会导致硬盘处理该数据得到的处理结果与真实结果不一致,影响处理结果的准确性。
本申请实施例提供的存储设备的功能与相关技术中存储设备的功能不同,使得本申请实施例提供的存储设备存储数据和访问数据的方式较为丰富,还能够解决硬盘执行多次数据处理的结果不一致以及处理结果准确性较低的问题。
示例地,本申请实施例提供的存储设备中,硬盘的存储介质(如图3中的301)用于提供存储空间,该存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同。每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于硬盘中的一个或多个擦除块(block),擦除块是硬盘的最小擦除单位。
图4为本申请实施例提供的一种硬盘中存储介质提供的存储空间的示意图。图4中以该存储空间包括四个逻辑单元(1、2、3和4)为例。逻辑单元1对应的存储空间来源于硬盘中的擦除块1和2;逻辑单元2对应的存储空间来源于硬盘中的擦除块3和4;逻辑单元3对应的存储空间来源于硬盘中的擦除块5和6;逻辑单元4对应的存储空间来源于硬盘中的擦除块7和8。
需要说明的是,逻辑单元对应的擦除块的个数可以是整数,也可以不是整数,本申请实施例中以逻辑单元对应的擦除块的个数是整数为例。当逻辑单元对应的擦除块的个数不是整数时,这些擦除块中存在某个擦除块同时对应多个逻辑单元。
进一步地,本申请实施例提供的硬盘中的接口(如图3中的303)用于与控制器通信,以及向控制器提供上述逻辑单元标识。这样一来,控制器能够获取到硬盘中的逻辑单元标识,以便于控制器根据该逻辑单元标识对硬盘中的数据进行访问。示例地,控制器在需要访问具有某一逻辑单元标识的逻辑单元内的数据时,可以向硬盘发送包括该逻辑单元标识的数据访问请求。硬盘中的接口可以用于接收控制器发送的该数据访问请求,之后,硬盘中的处理器(如图3中的302)可以用于根据该数据访问请求中的逻辑单元标识查找控制器待访问的存储空间。
可以看出,本申请实施例提供的硬盘能够提供内部采用追加写的方式存储数据的逻辑单元,且逻辑单元对应的存储空间来源于硬盘中的一个或多个擦除块。可见,本申请实施例中硬盘存储数据的方式与相关技术中硬盘存储数据的方式不同。基于本申请实施例中硬盘提供的逻辑单元,控制器能够通过逻辑单元标识向硬盘发送逻辑单元中数据的访问请求,进而实现数据的访问。可见,本申请实施例中硬盘访问数据的方式与相关技术中硬盘访问数据的方式不同。
另外,由于逻辑单元内部采用追加写的方式存储数据,因此,硬盘每次存储数据都是在空闲存储空间中进行的,因此每次执行的数据存储过程并不会对存储的历史数据进行更改。这样一来,即便是硬盘对某一存储空间中的数据进行多次处理,由于该存储空间中的数据并不会改变,因此该多次处理的结果是一致的。从而避免了采用相关技术中的数据存储方式在硬盘中多次存储数据,使得新存储的数据替换历史数据,导致对某一存储空间中的数据进行多次处理的结果不一致的情况发生。
可选地,硬盘中的接口还用于向控制器提供逻辑单元中数据的存储空间的偏移量,此时,控制器发送的数据访问请求还包括:偏移量。硬盘中的处理器在根据数据访问请求中的逻辑单元标识查找待访问的存储空间时,可以根据数据访问请求中的逻辑单元标识和偏移量,查找待访问的存储空间。
进一步地,本申请实施例提供的硬盘中的接口(如图3中的303)还用于接收控制器发送的数据删除请求,该数据删除请求包括逻辑单元标识。硬盘中的处理器(如图3中的302),还用于根据该数据删除请求中的逻辑单元标识查找待删除数据的存储空间,并在待删除数据的存储空间中的数据均停止被处理时,删除待删除数据的存储空间中的数据。硬盘中的接口还用于向控制器发送数据删除响应,数据删除响应包括逻辑单元标识。
可以看出,本申请实施例提供的硬盘能够以逻辑单元为单位进行数据的删除。并且,硬盘在删除某一逻辑单元上的数据时,需要保证该逻辑单元上的数据均已经停止被处理,从而防止了在删除该逻辑单元上的数据时,该数据仍然正在被处理的情况发生。需要说明的是,若在删除某一数据时,该数据仍然正在被处理中,则会导致处理该数据得到的结果与真实结果不同,影响数据处理结果的准确性。由于本申请实施例中的硬盘在删除数据时,数据已经停止被处理,因此,不会影响数据处理结果的准确性。
还需要说明的是,硬盘中的处理器在删除某一逻辑单元上的数据时,若该逻辑单元上的数据并未停止被处理,则该处理器可以等待至该数据停止被处理为止,再删除该逻辑单元上的数据。或者,由于当前该逻辑单元上的数据并未停止被处理,因此,该处理器可以判定当前不满足删除该逻辑单元上数据的条件,此时该处理器可以不执行删除该逻辑单元上数据的操作,并且,硬盘的接口还可以向控制器发送包括该逻辑单元标识的删除失败响应,以指示控制器删除该逻辑单元标识所指示的逻辑单元上的数据失败。
可选地,本申请实施例提供的硬盘中的存储介质(如图3中的301)还用于存储数据的元数据。其中,元数据包括数据的一种或多种属性,比如,数据为视频时,数据的元数据可以包括:视频的时间属性(用于指示视频的拍摄时间)、地址属性(用于指示视频的拍摄地址)等。元数据可以与数据均存储在逻辑单元中,当然元数据也可以存储在逻辑单元外的存储空间中,本申请实施例对元数据的存储方式不作限定。在存储介质能够用于存储元数据的情况下,硬盘中的接口具有元数据语义,该接口还用于向控制器提供元数据。由于接口具有元数据语义,因此,硬盘能够基于该元数据语义与控制器之间进行与元数据相关的交互。
可选地,硬盘中的接口还用于接收控制器发送的数据处理请求,该数据处理请求包括:逻辑单元标识,以及元数据包含的至少一种属性。硬盘中的处理器用于根据该数据处理请求中的逻辑单元标识查找存储空间,并根据该数据处理请求中的至少一种属性对查找到的存储空间中的数据进行筛选或处理。例如,硬盘中的处理器根据数据处理请求中的逻辑单元标识查找到的存储空间为逻辑单元1对应的存储空间1。若该处理请求包括:元数据包含的属性1,则处理器可以根据该属性1,在存储空间1中存储的数据找筛选出具有属性1的数据,或者,处理器还可以进一步地对该具有属性1的数据进行处理。
以上对本申请实施例提供的存储设备的功能进行了大致描述,以下将结合本申请实施例提供的数据访问方法,对本申请实施例提供的存储设备的功能进行进一步地讲解。
示例地,图5为本申请实施例提供的一种数据访问方法的流程图,如图5所示,该数据访问方法可以包括:
步骤401、控制器向硬盘发送数据存储请求,数据存储请求包括:待存储的目标数据,以及目标逻辑单元标识。
可选地,控制器在需要向硬盘中存储目标数据时,控制器首先需要为该目标数据分配一个逻辑单元标识(称为目标逻辑单元标识),并将该目标数据和分配给目标数据的目标逻辑单元标识均包括在数据存储请求中发送至硬盘。
需要说明的是,控制器为目标数据分配的目标逻辑单元标识可以用于标识硬盘中存储介质提供的某一逻辑单元。本申请实施例中以硬盘中的逻辑单元并不是预先划分好的为例,控制器在步骤401中可以为目标数据生成上述目标逻辑单元标识,以便于硬盘在接收到数据存储请求后,在存储介质中划分出该目标逻辑单元标识用于标识的逻辑单元。
本申请实施例中的逻辑单元标识可以是身份标识号(Identity document,ID),或者,其他编号等。控制器下发的不同数据存储请求中的逻辑单元标识可以相同,也可以不同,本申请实施例对此不作限定。在逻辑单元标识以号码的方式实现时,若需要使用到较多不同的逻辑单元标识,则可以将逻辑单元标识设置的较长,且这些不同的逻辑单元标识可以通过递增号码的方式实现。
步骤402、硬盘根据数据存储请求,检测逻辑单元标识与逻辑单元的对应关系是否包含目标逻辑单元标识。若逻辑单元标识与逻辑单元的对应关系包含目标逻辑单元标识,则执行步骤403;若逻辑单元标识与逻辑单元的对应关系不包含目标逻辑单元标识,则执行步骤404。
需要说明的是,逻辑单元标识与逻辑单元的对应关系中,每个逻辑单元标识用于标识硬盘的存储介质中该逻辑单元标识对应的逻辑单元。硬盘提供的每个逻辑单元及其逻辑单元标识均记录在该对应关系中。在硬盘中还未划分出逻辑单元时,该对应关系为空,也即并未记录有任何逻辑单元。在硬盘中存在已确定对应的逻辑单元标识的至少一个逻辑单元时,该对应关系能够对该至少一个逻辑单元及其对应的逻辑单元标识进行记录。
上述逻辑单元标识与逻辑单元的对应关系可以存储在硬盘中,或者存储在其他装置中且硬盘能够对该对应关系进行读写,本申请实施例对此不作限定。
硬盘在步骤402中需要将数据存储请求中的目标逻辑单元标识与该对应关系中的逻辑单元标识进行比对,以确定该对应关系是否包括该目标逻辑单元标识。
例如,假设上述逻辑单元标识和逻辑单元的对应关系如表1所示,可以看出硬盘中已经划分出的逻辑单元包括:逻辑单元1.1、逻辑单元1.2、逻辑单元1.3和逻辑单元1.4,其中,逻辑单元1.1对应逻辑单元标识100,逻辑单元1.2对应逻辑单元标识101,逻辑单元1.3对应逻辑单元标识102,逻辑单元1.4对应逻辑单元标识103。
若上述目标逻辑单元标识为逻辑单元标识100,则硬盘在将目标逻辑单元标识与该对应关系中的逻辑单元标识进行比对后,可以确定该对应关系包括该目标逻辑单元标识,此时硬盘可以执行步骤403。若上述目标逻辑单元标识为逻辑单元标识104,则硬盘在将目标逻辑单元标识与该对应关系中的逻辑单元标识进行比对后,可以确定该对应关系并不包括该目标逻辑单元标识,此时硬盘可以执行步骤404。
表1
逻辑单元标识 | 逻辑单元 |
100 | 1.1 |
101 | 1.2 |
102 | 1.3 |
103 | 1.4 |
步骤403、硬盘确定逻辑单元标识与逻辑单元的对应关系中,目标逻辑单元标识对应的逻辑单元。执行步骤406。
在上述逻辑单元标识和存储空间的对应关系包括目标逻辑单元标识时,说明硬盘中已经划分好对应目标逻辑单元标识的逻辑单元,因此硬盘可以直接确定该对应关系中目标逻辑单元标识对应的逻辑单元。
以上述表1为例,若上述目标逻辑单元标识为逻辑单元标识100,则硬盘可以将逻辑单元1.1确定为目标逻辑单元标识对应的逻辑单元。
步骤404、硬盘划分目标逻辑单元标识对应的逻辑单元。执行步骤405。
在上述逻辑单元标识和逻辑单元的对应关系并不包括目标逻辑单元标识时,说明该硬盘中还未划分出对应目标逻辑单元标识的逻辑单元,因此,硬盘需要在还未被划分为逻辑单元的空闲存储空间中划分该目标逻辑单元标识对应的逻辑单元。
仍然以上述表1为例,若上述目标逻辑单元标识为逻辑单元标识104,则硬盘可以确定上述对应关系中并不包括逻辑单元标识104。此时,硬盘可以在还未被划分为逻辑单元的空闲存储空间中筛选一个或多个擦除块作为目标逻辑单元标识对应的逻辑单元1.5。
步骤405、硬盘在逻辑单元标识与逻辑单元的对应关系中,增加目标逻辑单元标识对应的逻辑单元。执行步骤406。
在确定目标逻辑单元标识对应的逻辑单元之后,硬盘便可以在上述对应关系中增加目标逻辑单元标识对应的逻辑单元,实现对上述对应关系的更新。
仍然以上述表1为例,硬盘可以将目标逻辑单元标识104与逻辑单元1.5均加入表1,得到如表2所示的逻辑单元标识与逻辑单元的对应关系。
表2
逻辑单元标识 | 逻辑单元 |
100 | 1.1 |
101 | 1.2 |
102 | 1.3 |
103 | 1.4 |
104 | 1.5 |
步骤406、在目标逻辑单元标识对应的逻辑单元中的空闲存储空间足够存储目标数据所需的存储空间时,硬盘在目标逻辑单元标识对应的逻辑单元中确定用于存储目标数据的目标存储空间。
在确定目标逻辑单元标识对应的逻辑单元之后,硬盘便可以在该逻辑单元中进行目标数据的存储。由于硬盘中的逻辑单元采用追加写的方式存储数据,因此,硬盘可以首先判断目标逻辑单元标识对应的逻辑单元中的空闲存储空间是否足够存储上述目标数据。当目标逻辑单元标识对应的逻辑单元中的空闲存储空间大于或等于存储目标数据所需的存储空间时,硬盘可以确定目标逻辑单元标识对应的逻辑单元中的空闲存储空间足够存储上述目标数据。此时,硬盘便可以进一步在该目标逻辑单元标识对应的逻辑单元中的空闲存储空间中,确定用于存储目标数据的目标存储空间(空闲存储空间)。该目标存储空间可以是目标逻辑单元标识对应的逻辑单元中的部分存储空间(如部分擦除块)或全部存储空间(如全部擦除块),本申请实施例对此不作限定。
示例地,硬盘在目标逻辑单元标识对应的逻辑单元中的空闲存储空间中确定目标存储空间时,可以以增加偏移量的方式来选择该目标存储空间。其中,该偏移量是指:目标存储空间的起始地址相对目标逻辑单元标识对应的逻辑单元的起始地址的偏移量。比如,假设目标逻辑单元标识对应的逻辑单元为地址100到200的存储空间。若目标逻辑单元标识对应的逻辑单元中的存储空间均空闲,则在步骤406中,硬盘选择出的目标存储空间的起始地址可以为100。若目标逻辑单元标识对应的逻辑单元中的空闲存储空间为地址110到200的存储空间,则在步骤406中,硬盘选择出的目标存储空间的起始地址可以为110。当然,硬盘也可以不按照增加偏移量的方式来选择该目标存储空间,本申请实施例对此不作限定。
需要说明的是,由于硬盘中的逻辑单元内部采用追加写的方式存储数据,因此,该目标存储空间为硬盘中的空闲存储空间,也即目标存储空间为硬盘中未存储有数据的存储空间。可以看出,本申请实施例中硬盘在存储目标数据时,会找到一个空闲存储空间对该目标数据进行存储,即便是该目标数据是需要用来替换某一历史数据的,该目标数据也不会将该历史数据替换掉,在成功存储目标数据后,该历史数据仍然存储在硬盘中。
步骤407、硬盘在目标存储空间中存储目标数据。
在确定上述目标存储空间之后,硬盘便可以在该目标存储空间中存储上述目标数据。
步骤408、硬盘向控制器发送包括目标逻辑单元标识的数据存储响应。
可选地,数据存储响应可以不仅包括目标逻辑单元标识,还包括目标存储空间在目标逻辑单元标识对应的逻辑单元中的位置的指示信息。可选地,该位置的指示信息包括:目标存储空间的起始地址相对目标逻辑单元标识对应的逻辑单元的起始地址的偏移量,以及目标存储空间的大小。
示例地,假设目标逻辑单元标识对应的逻辑单元的起始地址为100且结束地址为200,目标存储空间的起始地址为110且结束地址为120。则上述位置的指示信息可以包括:偏移量10,以及目标存储空间的大小10。
步骤409、控制器根据数据存储响应,记录目标数据与目标存储空间的对应关系。
控制器成功在硬盘中存储数据后,会记录该数据与存储空间的对应关系,以便于后续根据该对应关系中的存储空间调用该数据。控制器可以通过记录目标数据的标识与目标存储空间的指示信息的对应关系,来实现记录目标数据与目标存储空间的对应关系的目的。
可选地,目标存储空间的指示信息可以包括:目标逻辑单元标识和上述位置的指示信息(包括偏移量和存储空间的大小),控制器可以通过记录目标数据的标识、目标逻辑单元标识和位置的指示信息的对应关系,来实现记录目标数据与目标存储空间的对应关系的目的。
例如,假设在步骤401之前,控制器在硬盘中共存储了标识为1的数据、标识为2的数据、标识为3的数据和标识为4的数据,且这四个数据与逻辑单元的对应关系分别如表3所示。则在步骤409中,如表4所示,控制器可以根据存储目标数据(假设标识为5)的数据存储响应,在表3中增加标识为5的数据与上述目标存储空间的指示信息对应关系,且该目标存储空间的指示信息包括:目标逻辑单元标识104、偏移量10以及存储空间的大小10。
表3
数据的标识 | 逻辑单元标识 | 偏移量 | 存储空间的大小 |
1 | 100 | 10 | 10 |
2 | 100 | 20 | 10 |
3 | 101 | 10 | 20 |
4 | 102 | 20 | 20 |
表4
数据的标识 | 逻辑单元标识 | 偏移量 | 存储空间的大小 |
1 | 100 | 10 | 10 |
2 | 100 | 20 | 10 |
3 | 101 | 10 | 20 |
4 | 102 | 20 | 20 |
5 | 104 | 10 | 10 |
步骤410、控制器向硬盘发送数据访问请求,数据访问请求包括:目标逻辑单元标识和目标存储空间的偏移量。
控制器在将目标数据存储在硬盘中之后,便可以根据该目标数据在硬盘中的信息向硬盘发送数据访问请求,以实现后续对该目标数据的访问。示例地,该数据访问请求需要包含控制器需要访问的目标数据的信息,比如目标数据所在的逻辑单元的标识(如上述目标逻辑单元标识)、目标数据所在的目标存储空间的偏移量。可选地,该数据访问请求还可以包括:目标数据所在的目标存储空间的大小。
步骤411、硬盘根据数据访问请求,查找待访问的目标存储空间。
可选地,硬盘可以根据数据访问请求中的目标逻辑单元标识、偏移量以及目标存储空间的大小,查找待访问的目标存储空间。示例地,硬盘可以首先根据目标逻辑单元标识找到目标逻辑单元标识对应的逻辑单元,之后再根据该偏移量和目标存储空间的大小,在该逻辑单元中找到目标存储空间。
步骤412、硬盘向控制器发送目标存储空间中的目标数据。
硬盘在根据数据访问请求找到目标存储空间之后,可以将该目标存储空间中的数据(目标数据)发送至控制器,以实现控制器对该目标数据的访问。
步骤413、控制器向硬盘发送包含目标逻辑单元标识的数据处理请求。
控制器在需要控制硬盘对存储的某一逻辑单元中的数据进行处理时,可以向硬盘发送数据处理请求。示例地,控制器可以查询记录的数据与逻辑单元标识的对应关系,找到需要处理的数据对应的逻辑单元标识(如上述目标逻辑单元标识),并在上述数据处理请求中携带该目标逻辑单元标识。
步骤414、硬盘根据数据处理请求,对目标逻辑单元标识对应的逻辑单元中存储的数据进行处理。
硬盘在接收到上述数据处理请求之后,便可以根据该数据处理请求中的目标逻辑单元标识找到对应的逻辑单元,并对该逻辑单元中存储的数据进行处理。
步骤415、硬盘向控制器发送数据处理响应。
硬盘在根据数据处理请求对目标逻辑单元标识找到对应的逻辑单元中的数据处理完毕之后,便可以将得到的处理结果包含在数据处理响应中反馈至控制器。
需要说明的是,本申请实施例以目标数据的存储、访问和处理过程为例,其他数据的存储访问和处理过程均可以参考目标数据的存储、访问和处理过程,本申请实施例在此不做赘述。
综上所述,本申请实施例提供的硬盘能够提供内部采用追加写的方式存储数据的逻辑单元,且逻辑单元对应的存储空间来源于硬盘中的一个或多个擦除块。可见,本申请实施例中硬盘存储数据的方式与相关技术中硬盘存储数据的方式不同。基于本申请实施例中硬盘提供的逻辑单元,控制器能够通过逻辑单元标识向硬盘发送逻辑单元中数据的访问请求,进而实现数据的访问。可见,本申请实施例中硬盘访问数据的方式与相关技术中硬盘访问数据的方式不同。
另外,由于逻辑单元内部采用追加写的方式存储数据,因此,硬盘每次存储数据都是在空闲存储空间中进行的,因此每次执行的数据存储过程并不会对存储的历史数据进行更改。这样一来,即便是硬盘对某一存储空间中的数据进行多次处理,由于该存储空间中的数据并不会改变,因此该多次处理的结果是一致的。从而避免了采用相关技术中的数据存储方式在硬盘中多次存储数据,使得新存储的数据替换历史数据,导致对某一存储空间中的数据进行多次处理的结果不一致的情况发生。
上述实施例中以控制器中的逻辑单元是根据控制器发送的数据存储请求划分的为例。可选地,硬盘中的逻辑单元也可以是预先划分好的,在这种情况下,控制器在步骤401中可以从这些逻辑单元中为目标数据分配某一逻辑单元,并将该逻辑单元的标识作为目标逻辑单元标识分配给目标数据。并且,硬盘在接收到数据存储请求之后,可以直接执行步骤406,而无需执行步骤402、步骤403、步骤404和步骤405。
上述实施例中以目标逻辑单元标识对应的逻辑单元中的空闲存储空间足够存储目标数据,且能够在目标存储空间中成功存储上述目标数据为例。
在目标逻辑单元标识对应的逻辑单元的空闲存储空间不足够存储目标数据时,或在目标存储空间中存储目标数据失败时,硬盘可以将该目标逻辑单元标识对应的逻辑单元设置为禁止写操作的状态,并向控制器发送包括目标逻辑单元标识的存储失败响应。从而告知在该目标逻辑单元标识对应的逻辑单元中写入目标数据失败。其中,硬盘中可以预设有用于判断在存储空间中存储数据是否失败的条件(比如存储数据的时长小于时长阈值),硬盘在目标存储空间中存储目标数据的过程中,一旦该条件满足,则认为在目标存储空间中存储目标数据失败。
需要说明的是,在硬盘将目标逻辑单元标识对应的逻辑单元设置为禁止写操作的状态时,该目标逻辑单元标识对应的逻辑单元无论是否包含空闲存储空间,该存储空间均无法支持写操作。后续如果控制器再次发来包括该目标逻辑单元标识的数据存储请求,该硬盘需要向控制器发送存储失败响应。虽然在该存储空间设置为禁止写操作的状态时,该存储空间不支持写操作,但该存储空间可以支持读操作(对该存储空间中数据的读取)和删除操作(对存储空间中数据的删除)。
另外,硬盘会记录每个成功存储的数据所在的逻辑单元,若后续控制器需要访问这些逻辑单元,则硬盘可以向控制器反馈这些逻辑单元中的数据;但若控制器访问的逻辑单元并不在这些逻辑单元中,则硬盘认为该访问为无效访问,并向控制器反馈访问失败的响应。
在本申请实施例提供的数据访问方法中,控制器不仅可以控制硬盘进行数据的存储,还可以控制硬盘对逻辑单元中的数据进行删除。
示例地,控制器在确定目标逻辑单元标识对应的逻辑单元中的数据为待删除数据时,控制器可以向硬盘发送包括目标逻辑单元标识的数据删除请求。硬盘在接收到该数据删除请求之后,需要判断当前目标逻辑单元标识对应的逻辑单元中的数据是否停止被处理。当该逻辑单元中的数据均停止被处理时,硬盘便可以删除该逻辑单元中的数据。之后,硬盘可以向控制器发送包括目标逻辑单元标识的数据删除响应,以告知控制器目标逻辑单元标识对应的逻辑单元中的数据已删除完毕。控制器在接收到该数据删除响应之后,还需要删除本地记录的包括目标逻辑单元标识的对应关系(比如步骤409中记录的目标数据、目标逻辑单元标识以及位置的信息的对应关系)。
需要说明的是,若在删除某一数据时,该数据仍然正在被处理中,则会导致处理该数据得到的结果与真实结果不同,影响数据处理结果的准确性。由于本申请实施例中的硬盘在删除数据时,数据已经停止被处理,因此,不会影响数据处理结果的准确性。
硬盘在删除目标逻辑单元标识对应的逻辑单元中的数据时,还可以删除逻辑单元标识与逻辑单元的对应关系中的目标逻辑单元标识和对应的逻辑单元,以释放该逻辑单元对应的存储空间。并且,硬盘可以先删除逻辑单元标识与逻辑单元的对应关系中的目标逻辑单元标识和对应的逻辑单元,再删除该逻辑单元中的数据。这样一来,就避免了该对应关系中记录有目标逻辑单元标识对应的逻辑单元,但该逻辑单元中的数据已经删除的情况发生。
另外,控制器在确定逻辑单元中部分数据为待删除数据时,可以仅删除记录的与该数据相关的信息。但是,控制器并不会向硬盘下发数据删除请求,从而使硬盘中存储的该数据依然保存。
进一步地,本申请实施例提供的硬盘不仅可以存储数据,还可以存储数据的元数据。基于此,本申请实施例提供了如图6所示的另一种数据访问方法。如图6所示,图5所示的数据访问方法还可以包括:
步骤501、硬盘获取目标存储空间中目标数据的元数据,目标数据的元数据包括目标数据的至少一种属性。
在本申请实施例中,硬盘可以通过多种方式获取目标数据的元数据。比如,硬盘可以对本地存储的目标数据进行处理,得到目标数据的元数据。或者,硬盘可以接收控制器发送的元数据存储请求(包括目标数据的元数据),并根据该元数据存储请求得到该元数据。
步骤502、硬盘确定目标存储空间对应的至少一个属性存储空间,至少一个属性存储空间与目标数据的至少一种属性一一对应,每个属性存储空间用于存储对应的属性。
目标数据的元数据包括目标数据的至少一种属性,在步骤502中,硬盘需要确定用于存储每种属性的属性存储空间。
需要说明的是,硬盘可以采用任一种方法确定属性存储空间,本申请实施例对此不作限定。比如,硬盘可以在目标数据所在的逻辑单元中确定属性存储空间,或者,硬盘可以在除所有逻辑单元对应的存储空间之外的空闲存储空间中确定该属性存储空间。其中,硬盘在除所有逻辑单元对应的存储空间之外的空闲存储空间中确定属性存储空间时,硬盘提供的存储空间分为两部分,第一部分包括用于存储数据的逻辑单元,第二部分用于存储元数据的逻辑单元。硬盘可以在第一部分中确定上述目标存储空间时,并在第二部分中确定上述属性存储空间。硬盘在第二部分中确定属性存储空间时,可以参考上述确定目标存储空间的方式确定属性存储空间。
步骤503、硬盘在每个属性存储空间中存储对应的属性。
步骤504、硬盘在数据存储空间与至少一种属性存储空间的对应关系中增加目标存储空间与上述至少一个属性存储空间。
硬盘可以记录有数据存储空间与至少一种属性存储空间的对应关系;其中,该对应关系中的每个属性存储空间用于存储:对应的数据存储空间中数据的一种属性。
硬盘在确定至少一个属性存储空间之后,便可以在该数据存储空间与至少一种属性存储空间的对应关系中,增加目标存储空间和至少一种属性存储空间。其中,目标存储空间作为该对应关系中的数据存储空间,用于存储目标数据;属性存储空间作为该对应关系中的属性存储空间,用于存储目标数据的一种属性。
例如,假设在步骤501之前,上述数据存储空间与至少一种属性存储空间的对应关系如表5所示,假设上述目标存储空间为1.5,至少一种属性存储空间包括2.5和2.6,且属性存储空间2.5用于记录的属性与第一种属性存储空间用于记录的属性相同,属性存储空间2.6用于记录的属性与第二种属性存储空间用于记录的属性相同。那么,如表6所示,硬盘可以在表5中增加目标存储空间1.5、属性存储空间2.5和3.5。
表5
数据存储空间 | 第一种属性存储空间 | 第二种属性存储空间 |
1.1 | 2.1 | 3.1 |
1.2 | 2.2 | 3.2 |
1.3 | 2.3 | 3.3 |
1.4 | 2.4 | 3.4 |
表6
步骤505、控制器向硬盘发送数据处理请求。
可选地,该数据处理请求包括:目标数据的元数据所包含的至少一种属性。
示例地,控制器可以向硬盘的接口发送该数据处理请求。硬盘的接口具有元数据语义,因此,硬盘的接口在接收到该数据处理请求后,能够识别该数据处理请求中包含的上述至少一种属性。该至少一种属性可以是该元数据中的部分或全部属性。
例如,控制器发送的数据处理请求可以具有多个固定位置,且每个固定位置用于承载一种属性。硬盘的接口可以通过识别数据处理请求中的每个固定位置,以确定该固定位置承载的属性。
步骤506、硬盘根据数据处理请求,以及数据存储空间与至少一种属性存储空间的对应关系,对硬盘中存储的数据进行筛选或处理。
该数据处理请求可以用于指示硬盘执行任一种数据的筛选或处理,以下将以其中的四种情况为例,对此进行讲解。
假设,硬盘中存放的各个数据为视频监控的各个片段,且每个片段的元数据包括两种属性,其中,第一种属性为时间属性(用于指示片段的拍摄时间),第二种属性为地址属性(用于指示片段的拍摄地址)。数据、时间属性和地址属性的对应关系如下表7所示。
表7
数据 | 时间属性 | 地址属性 |
片段1 | 1:00~2:00 | 地址1 |
片段2 | 2:00~3:00 | 地址1 |
片段3 | 3:00~4:00 | 地址1 |
片段4 | 3:00~4:00 | 地址2 |
片段5 | 3:00~4:00 | 地址3 |
(1)数据处理请求用于指示查找具有某一特定时间属性的片段。此时该数据处理请求包含该特定时间属性。硬盘在接收到该数据处理请求之后,可以读取各个时间属性存储空间(用于存储时间属性),以筛选出用于存储该特定时间属性的至少一个属性存储空间。最后,硬盘根据数据存储空间与至少一种属性存储空间的对应关系,查找该至少一个属性存储空间对应的数据存储空间中的片段,并将查找到的片段均作为具有该特定时间属性的片段。
以上述表7为例,假设该特定时间属性为1:00~3:00,则硬盘在经过上述筛选过程后,可以确定片段1和片段2为具有该特定时间属性的片段。
(2)数据处理请求用于指示查找具有某一特定时间属性以及某一特定地址属性的片段。此时该数据处理请求需要包含该特定时间属性以及该特定地址属性。硬盘在接收到该数据处理请求之后,可以读取各个时间属性存储空间(用于存储时间属性),以及各个地址属性存储空间(用于存储地址属性),以筛选出用于存储该特定时间属性的至少一个时间属性存储空间,以及用于存储该特定地址属性的至少一个地址属性存储空间。最后,硬盘根据数据存储空间与至少一种属性存储空间的对应关系,查找同时对应这该至少一个时间属性存储空间和至少一个地址属性存储空间的数据存储空间,并将查找到的数据存储空间中的片段作为具有该特定时间属性和该特定地址属性的片段。
以上述表7为例,假设该特定时间属性为3:00~4:00,特定地址属性为地址1,则硬盘在经过上述筛选过程后,可以确定片段3为具有该特定时间属性和该特定地址属性的片段。
(3)数据处理请求用于指示识别特定片段,并确定该特定片段的时间属性和地址属性。此时该数据处理请求需要携带有特定片段的图像特征。硬盘在接收到该数据处理请求之后,可以检测各个数据存储空间中的片段是否具有该图像特征,并将具有该图像特征的片段识别为该特定片段。最后,硬盘根据数据存储空间与至少一种属性存储空间的对应关系,查找该特定片段所在的数据存储空间对应的时间属性存储空间和地址属性存储空间,并将该时间属性存储空间中存储的属性作为该特定片段的时间属性,将该地址属性存储空间中存储的属性作为该特定片段的地址属性。
以上述表7为例,假设识别出的特定片段为片段1,则硬盘可以根据数据存储空间与至少一种属性存储空间的对应关系,可以确定片段1的时间属性为1:00~2:00,片段1的地址属性为地址1。
(4)数据处理请求用于指示识别每个片段中的车牌号,并勾勒某特定车牌号的车辆的移动轨迹。此时该数据处理请求需要携带该特定车牌号,以及时间属性和地址属性的指示。硬盘在接收到该数据处理请求之后,可以首先识别各个数据存储空间中的片段中的车牌号。之后,硬盘可以在数据存储空间和至少一种属性存储空间的对应关系中增加车牌号属性存储空间(用于存储车牌号属性),并将每个数据存储空间中片段中的车牌号作为车牌号属性存储在该数据存储空间对应的车牌号属性存储空间中。之后,硬盘需要在各个车牌号属性存储空间中查找存储的车牌号属性与上述特定车牌号相同的至少一个车牌号属性存储空间,并根据该至少一个车牌号属性存储空间对应的数据存储空间所对应的时间属性存储空间和地址属性存储空间中的属性,确定该特定车牌号的车辆的移动轨迹。
以上述表7为例,假设在对各个片段进行车牌号识别后,确定片段1、2和4中的车牌号为车牌号1,片段3和片段5中的车牌号为车牌号2,则如表8所示,硬盘可以将这些车牌号作为车牌号属性存储在各个数据存储空间对应的车牌号属性存储空间中。若上述特定车牌号为车牌号1,则硬盘可以确定片段1、2和4的车牌号属性与该特定车牌号相同,硬盘还可以根据片段1、2和4的时间属性和地址属性,确定该特定车牌号的车辆的移动轨迹。示例地,该移动轨迹为:在1:00~3:00一直停留在地址1,在3:00~4:00从地址1移动至地址2。
表8
数据 | 时间属性 | 地址属性 | 车牌号属性 |
片段1 | 1:00~2:00 | 地址1 | 车牌号1 |
片段2 | 2:00~3:00 | 地址1 | 车牌号1 |
片段3 | 3:00~4:00 | 地址1 | 车牌号2 |
片段4 | 3:00~4:00 | 地址2 | 车牌号1 |
片段5 | 3:00~4:00 | 地址3 | 车牌号2 |
根据以上几种处理可知,硬盘能够对存储的数据进行筛选或处理,比如:根据至少一种属性筛选数据;确定数据的至少一种属性;对数据进行处理得到至少一种属性,并根据数据的一部分属性得到另一部分属性的规律(如根据时间属性和地址属性得到的车牌号属性的移动规律)。
可选地,上述数据处理请求可以不仅包括至少一种属性,还包括逻辑单元标识,此时,硬盘可以先根据该逻辑单元标识查找存储空间,之后再根据数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。该筛选或处理的过程可以参考上述实施例,本申请实施例在此不做赘述。
步骤507、硬盘向控制器发送数据处理响应。
硬盘在执行完毕上述数据处理之后,便可以将数据处理得到的结果包含在数据处理响应中发送至控制器。
可以看出,本申请实施例提供的数据访问方法中,硬盘不仅能够辅助控制器执行一些数据处理,并且,硬盘中存储有元数据中的至少一种属性,在硬盘执行数据处理的过程中无需与控制器交互以获取元数据的属性。这样一来,就减少了硬盘在执行数据处理的过程中与控制器的交互,提升了硬盘执行数据处理的效率。
另外,本申请实施例中的硬盘能够对逻辑单元中的数据进行删除,相应地,硬盘在删除逻辑单元中的数据时,还可以删除属于该逻辑单元的数据存储空间对应的至少一种属性存储空间中的属性,以及数据存储空间对应的至少一种属性存储空间的对应关系中的属于该逻辑单元的数据存储空间与对应的属性存储空间。并且,硬盘可以先删除属性,以及数据存储空间对应的至少一种属性存储空间的对应关系中的数据存储空间和属性存储空间,再删除逻辑单元中的数据。这样一来,就避免了硬盘中存储有某一数据的属性,但该数据已经删除的情况发生。
需要说明的是,本申请实施例提供的方法实施例能够与相应的硬盘实施例、存储设备实施例相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种硬盘,其特征在于,包括存储介质、接口和处理器;
所述存储介质用于提供存储空间,所述存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位;
所述接口,用于与控制器通信,以及向所述控制器提供所述逻辑单元标识;
所述接口,还用于接收所述控制器发送的数据访问请求,所述数据访问请求包括所述逻辑单元标识;
所述处理器,用于根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
2.根据权利要求1所述的硬盘,其特征在于,
所述接口,还用于接收所述控制器发送的数据删除请求,所述数据删除请求包括所述逻辑单元标识;
所述处理器,还用于根据所述数据删除请求中的逻辑单元标识查找待删除数据的存储空间,并在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据;
所述接口,还用于向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
3.根据权利要求1或2所述的硬盘,其特征在于,
所述存储介质,还用于存储数据的元数据,所述元数据包括所述数据的一种或多种属性;
所述接口,具有元数据语义,还用于向所述控制器提供所述元数据。
4.根据权利要求3所述的硬盘,其特征在于,
所述接口,还用于接收所述控制器发送的数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;
所述处理器,用于根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。
5.根据权利要求1至4任一所述的硬盘,其特征在于,
所述接口,还用于向所述控制器提供所述逻辑单元中数据的存储空间的偏移量,所述数据访问请求还包括:所述偏移量;
所述处理器在根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间时,具体用于根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
6.一种存储设备,其特征在于,所述存储设备包括:硬盘和控制器;
所述硬盘用于提供存储空间,所述存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位;
所述硬盘还用于与所述控制器通信,以及向所述控制器提供所述逻辑单元标识;
所述控制器用于向所述硬盘发送数据访问请求,所述数据访问请求包括所述逻辑单元标识;
所述硬盘用于根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
7.根据权利要求6所述的存储设备,其特征在于,
所述控制器还用于向所述硬盘发送数据删除请求,所述数据删除请求包括所述逻辑单元标识;
所述硬盘还用于根据所述数据删除请求中的逻辑单元标识查找待删除数据的存储空间,并在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据,以及向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
8.根据权利要求6或7所述的存储设备,其特征在于,
所述硬盘还用于存储数据的元数据;
所述硬盘还具有元数据语义,还用于向所述控制器提供所述元数据。
9.根据权利要求8所述的存储设备,其特征在于,
所述控制器还用于向所述硬盘发送数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;
所述硬盘还用于根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。
10.根据权利要求6至9任一所述的存储设备,其特征在于,
所述硬盘还用于向所述控制器提供所述逻辑单元中数据的存储空间的偏移量;
所述数据访问请求还包括:所述偏移量;
所述硬盘在根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间时,具体用于根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
11.一种数据访问方法,其特征在于,用于包括硬盘和控制器的存储设备,所述硬盘用于提供存储空间,所述存储空间包括多个逻辑单元,每个逻辑单元具有逻辑单元标识,各个逻辑单元的逻辑单元标识不同,每个逻辑单元内部采用追加写的方式存储数据,每个逻辑单元所对应的存储空间来源于所述硬盘中的一个或多个擦除块,所述擦除块是所述硬盘的最小擦除单位;
所述方法包括:
所述硬盘向所述控制器提供所述逻辑单元标识;
所述控制器向所述硬盘发送数据访问请求,所述数据访问请求包括所述逻辑单元标识;
所述硬盘根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述控制器向所述硬盘发送数据删除请求,所述数据删除请求包括所述逻辑单元标识;
所述硬盘根据所述数据删除请求中的逻辑单元标识查找待删除数据的存储空间;
所述硬盘在所述待删除数据的存储空间中的数据均停止被处理时,删除所述待删除数据的存储空间中的数据;
所述硬盘向所述控制器发送数据删除响应,所述数据删除响应包括所述逻辑单元标识。
13.根据权利要求11或12所述的方法,其特征在于,所述硬盘还用于存储数据的元数据,所述元数据包括所述数据的一种或多种属性,所述硬盘具有元数据语义,所述方法还包括:
所述硬盘向所述控制器提供所述元数据。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述控制器向所述硬盘发送数据处理请求,所述数据处理请求包括:所述逻辑单元标识,以及所述元数据包含的至少一种属性;
所述硬盘根据所述逻辑单元标识查找存储空间,并根据所述数据处理请求所携带的至少一种属性对查找到的存储空间中的数据进行筛选或处理。
15.根据权利要求11至14任一所述的方法,其特征在于,在所述控制器向所述硬盘发送数据访问请求之前,所述方法还包括:
所述硬盘向所述控制器提供所述逻辑单元中数据的存储空间的偏移量;
所述数据访问请求还包括:所述偏移量;所述硬盘根据所述数据访问请求中的逻辑单元标识查找待访问的存储空间,包括:
所述硬盘根据所述数据访问请求中的所述逻辑单元标识和所述偏移量,查找待访问的存储空间。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20912137.5A EP4075251A4 (en) | 2020-01-06 | 2020-09-10 | METHODS OF ACCESSING DATA, HARD DISK AND STORAGE DEVICE |
PCT/CN2020/114379 WO2021139199A1 (zh) | 2020-01-06 | 2020-09-10 | 数据访问方法、硬盘和存储设备 |
MX2022008365A MX2022008365A (es) | 2020-01-06 | 2020-09-10 | Metodo de acceso a datos, disco duro y dispositivo de almacenamiento. |
US17/857,519 US20220334750A1 (en) | 2020-01-06 | 2022-07-05 | Data Access Method, Hard Disk, and Storage Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011440 | 2020-01-06 | ||
CN2020100114402 | 2020-01-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076056A true CN113076056A (zh) | 2021-07-06 |
CN113076056B CN113076056B (zh) | 2023-06-27 |
Family
ID=76609050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010185272.9A Active CN113076056B (zh) | 2020-01-06 | 2020-03-17 | 数据访问方法、硬盘和存储设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220334750A1 (zh) |
EP (1) | EP4075251A4 (zh) |
CN (1) | CN113076056B (zh) |
MX (1) | MX2022008365A (zh) |
WO (1) | WO2021139199A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334106A (zh) * | 2008-12-22 | 2012-01-25 | 松下电器产业株式会社 | 内容储存处理系统、内容储存处理方法及半导体集成电路 |
US20140297981A1 (en) * | 2013-03-26 | 2014-10-02 | Fujitsu Limited | Information processing system, storage device, and backup method |
CN104182701A (zh) * | 2014-08-15 | 2014-12-03 | 华为技术有限公司 | 一种阵列控制器、阵列和数据处理方法 |
CN106708665A (zh) * | 2016-12-20 | 2017-05-24 | 华为技术有限公司 | 一种元数据修复方法和装置 |
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
CN110018966A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储器、存储系统、主机及数据操作、垃圾回收方法 |
CN110750213A (zh) * | 2019-09-09 | 2020-02-04 | 华为技术有限公司 | 一种硬盘管理方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293774A (ja) * | 2004-04-02 | 2005-10-20 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の制御方法 |
US7472223B1 (en) * | 2006-09-28 | 2008-12-30 | Emc Corporation | Surface level sparing in disk drives |
US9645758B2 (en) * | 2011-07-22 | 2017-05-09 | Sandisk Technologies Llc | Apparatus, system, and method for indexing data of an append-only, log-based structure |
US9251086B2 (en) * | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9336258B2 (en) * | 2013-10-25 | 2016-05-10 | International Business Machines Corporation | Reducing database locking contention using multi-version data record concurrency control |
US10089228B2 (en) * | 2016-05-09 | 2018-10-02 | Dell Products L.P. | I/O blender countermeasures |
CN108228076B (zh) * | 2016-12-14 | 2020-10-16 | 华为技术有限公司 | 访问磁盘的方法和主机 |
US20180232154A1 (en) * | 2017-02-15 | 2018-08-16 | Microsoft Technology Licensing, Llc | Append Only Streams For Storing Data On A Solid State Device |
US10430115B2 (en) * | 2017-06-20 | 2019-10-01 | Reduxio Systems Ltd. | System and method for optimizing multiple packaging operations in a storage system |
-
2020
- 2020-03-17 CN CN202010185272.9A patent/CN113076056B/zh active Active
- 2020-09-10 EP EP20912137.5A patent/EP4075251A4/en active Pending
- 2020-09-10 WO PCT/CN2020/114379 patent/WO2021139199A1/zh unknown
- 2020-09-10 MX MX2022008365A patent/MX2022008365A/es unknown
-
2022
- 2022-07-05 US US17/857,519 patent/US20220334750A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334106A (zh) * | 2008-12-22 | 2012-01-25 | 松下电器产业株式会社 | 内容储存处理系统、内容储存处理方法及半导体集成电路 |
US20140297981A1 (en) * | 2013-03-26 | 2014-10-02 | Fujitsu Limited | Information processing system, storage device, and backup method |
CN104182701A (zh) * | 2014-08-15 | 2014-12-03 | 华为技术有限公司 | 一种阵列控制器、阵列和数据处理方法 |
CN106708665A (zh) * | 2016-12-20 | 2017-05-24 | 华为技术有限公司 | 一种元数据修复方法和装置 |
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
CN110018966A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储器、存储系统、主机及数据操作、垃圾回收方法 |
CN110750213A (zh) * | 2019-09-09 | 2020-02-04 | 华为技术有限公司 | 一种硬盘管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113076056B (zh) | 2023-06-27 |
EP4075251A1 (en) | 2022-10-19 |
EP4075251A4 (en) | 2023-06-21 |
MX2022008365A (es) | 2022-08-04 |
US20220334750A1 (en) | 2022-10-20 |
WO2021139199A1 (zh) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5111444A (en) | Method of managing defective sectors in a disk-shaped information recording medium and an apparatus for performing the same | |
EP3301584B1 (en) | Storage system, storage management device, storage device, hybrid storage device, and storage management method | |
US6360232B1 (en) | Disaster recovery method for a removable media library | |
US6571326B2 (en) | Space allocation for data in a nonvolatile memory | |
US7694087B2 (en) | Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device | |
US20020091902A1 (en) | File system and data caching method thereof | |
US8516182B2 (en) | Controller and memory system for managing data | |
US20150347310A1 (en) | Storage Controller and Method for Managing Metadata in a Cache Store | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
US6697797B1 (en) | Method and apparatus for tracking data in a database, employing last-known location registers | |
JP2001134482A (ja) | データ処理システムにおいて独立したデータコピーを行う方法 | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
CN109669635B (zh) | 用于固态存储主控芯片的命令lba重合检测方法及装置 | |
CN116466879B (zh) | 一种cxl内存模组、内存数据的置换方法及计算机系统 | |
US7487298B2 (en) | Disk array device, method for controlling the disk array device and storage system | |
US20160011792A1 (en) | Media control device and control method | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
CN113076056B (zh) | 数据访问方法、硬盘和存储设备 | |
CN109582235B (zh) | 管理元数据存储方法及装置 | |
US11954328B2 (en) | Storage management device, storage management method, and program | |
CN117093160B (zh) | Cache的数据处理方法、装置、计算机设备和介质 | |
CN112597074B (zh) | 数据处理方法及装置 | |
CN112052217B (zh) | 快照实现方法及装置 | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same | |
JP2838988B2 (ja) | 外部記憶装置におけるファイル格納システム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |