CN111666044B - 一种访问叠瓦式磁记录smr硬盘的方法及服务器 - Google Patents
一种访问叠瓦式磁记录smr硬盘的方法及服务器 Download PDFInfo
- Publication number
- CN111666044B CN111666044B CN202010345929.3A CN202010345929A CN111666044B CN 111666044 B CN111666044 B CN 111666044B CN 202010345929 A CN202010345929 A CN 202010345929A CN 111666044 B CN111666044 B CN 111666044B
- Authority
- CN
- China
- Prior art keywords
- server
- hard disk
- write
- data
- storage area
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1238—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located
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)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种访问叠瓦式磁记录SMR硬盘的方法及服务器,涉及存储领域,用以解决服务器对SMR硬盘的访问效率低下的技术问题。该方法包括:服务器接收数据操作请求,该数据操作请求包括目标数据的地址信息;根据该地址信息确定该SMR硬盘中对应该目标数据的目标存储区域;确定缓存中存在该目标存储区域的写入点信息,并从该缓存中获取该写入点信息,该写入点信息是该目标存储区域中最新存储的数据的地址信息;根据该写入点信息以及该目标数据的地址信息生成数据操作指令,该数据操作指令用于对该目标数据进行操作;向该SMR盘发送该数据操作指令。本发明实施例用于服务器访问SMR硬盘。
Description
本申请要求在2016年2月29日提交中国专利局、申请号为201610113108.0、申请名称为“一种访问叠瓦式磁记录SMR硬盘的方法及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及存储领域,尤其涉及一种访问叠瓦式磁记录SMR硬盘的方法及服务器。
背景技术
叠瓦式磁记录(英文全称:Shingled Magnetic Recording,简称:SMR)技术是一种硬盘存储的技术,SMR硬盘在写入的数据为顺序写时,写入磁头写入的磁道之间的距离更窄,从而提高数据记录的密度,进而提高了硬盘的容量。
按照目前的标准定义,服务器访问SMR硬盘需要支持5个区域Zone命令,这5个命令分别是用于打开存储区域的Open Zone指令,用于指示读写操作成功的Finish Zone指令,用于关闭存储区域的Close zone指令,用于获取写入点英文全称:Write Pointer,简称:WP)的Report Zone指令以及用于删除存储区域的数据的Reset Write Pointer指令,其中,在读写SMR上的某一Zone时,需要先通过Report Zone命令获取WP,然后通过Open Zone命令进行数据读写,写满数据后可以通过Finish Zone命令和Close Zone命令关闭该Zone,如果要删除该Zone的数据,则可以采用Reset Write Pointer命令。
根据SMR盘在Zone内需要进行顺序写入的特性,服务器每次在某一Zone读写数据前,均需要先获取到Zone的WP,WP是指Zone当前已存储数据的地址,服务器在获取到WP后,才能封装操作指令对Zone进行数据操作。现有技术中,服务器每次对Zone进行数据操作时,均需要向SMR硬盘发送Open Zone指令以及Report Zone指令获取Zone的WP,导致服务器对SMR硬盘的访问效率低下。
发明内容
本发明的目的是提供一种访问叠瓦式磁记录SMR硬盘的方法及服务器,以解决服务器对SMR硬盘的访问效率低下的技术问题。
为了达到上述目的,本发明采用如下的技术方案:
第一方面,提供一种访问叠瓦式磁记录SMR硬盘的方法,包括:服务器接收数据操作请求,所述数据操作请求包括目标数据的地址信息;所述服务器根据所述地址信息确定所述SMR硬盘中对应所述目标数据的目标存储区域;所述服务器确定缓存中存在所述目标存储区域的写入点信息,并从所述缓存中获取所述写入点信息,所述写入点信息是所述目标存储区域中最新存储的数据的地址信息;所述服务器根据所述写入点信息以及所述目标数据的地址信息生成数据操作指令,所述数据操作指令用于对所述目标数据进行操作;所述服务器向所述SMR盘发送所述数据操作指令。
本发明第一方面中,所述服务器利用缓存存储SMR硬盘的存储区域的写入点信息,无需服务器每次在访问SMR盘之前发送Open Zone指令以及Report Zone指令去获取节点信息,从而提高了服务器访问SMR硬盘的效率。
结合第一方面,在第一方面的第一种可能的实现方式中,还包括:当所述服务器确定所述缓存中不存在所述目标存储区域的写入点信息,所述服务器向所述SMR硬盘发送用于打开所述目标存储区域的Open Zone指令以及用于获取所述目标存储区域的写入点信息的Report Zone指令;所述服务器接收所述SMR硬盘发送的所述目标存储区域的写入点信息;所述服务器将所述写入点信息存储到缓存中。其中,缓存有缓存上限,当缓存中的缓存记录达到上限值时,服务器可以将缓存中的写入点信息标记为无效并进行移除,因此,服务器在下次都写数据时,缓存中可能不存在目标存储区域的写入点信息,此时,所述服务器可以重新从SMR硬盘的目标存储区域中获取写入点信息进行缓存。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述数据操作指令用于读取所述目标存储区域中存储的所述目标数据;所述服务器在获取到所述写入点信息后,所述方法还包括:所述服务器确定所述目标数据的地址未超过所述写入点。根据SMR硬盘的写入特性,数据写入必须顺序写入,因此,目标存储区域的写入点即为该目标存储区域中存储数据的最大地址,因此,为了保证数据的正确读取,所述服务器在获取到所述写入点信息后,可以确定所述目标数据的地址未超过所述写入点。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述数据操作指令用于将所述目标数据写入所述目标存储区域;所述服务器在获取到所述写入点信息后,所述方法还包括:所述服务器确定所述目标数据的地址大于所述写入点,且与所述写入点相连续。根据SMR硬盘的写入特性,数据写入必须顺序写入,也就是说,新写入的数据的地址与SMR硬盘已存储的数据的地址需保持连续,因此,为了保证数据的正确写入,所述服务器在获取到所述写入点信息后,可以确定所述目标数据的地址大于所述写入点,且与所述写入点相连续。
结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述服务器向所述SMR盘发送所述数据操作指令后,还包括:所述服务器接收所述SMR硬盘发送的操作成功消息,所述操作成功消息包括所述目标存储区域的新的写入点信息;所述服务器将所述目标存储区域的新的写入点信息存储在缓存中。对于SMR硬盘新写入的数据,新写入的数据的地址即为该SMR硬盘的写入点,因此,该服务器在SMR硬盘写入新数据后,可以获取该新的写入点信息进行缓存。
第二方面,提供一种服务器,包括:接收单元,用于接收数据操作请求,所述数据操作请求包括目标数据的地址信息;确定单元,用于根据所述地址信息确定所述SMR硬盘中对应所述目标数据的目标存储区域;缓存,用于存储所述SMR硬盘的存储区域的写入点信息;获取单元,用于确定所述缓存中存在所述目标存储区域的写入点信息,并从所述缓存中获取所述写入点信息,所述写入点信息是所述目标存储区域中最新存储的数据的地址信息;生成单元,用于根据所述写入点信息以及所述目标数据的地址信息生成数据操作指令,所述数据操作指令用于对所述目标数据进行操作;发送单元,用于向所述SMR盘发送所述数据操作指令。
结合第二方面,在第二方面的第一种可能的实现方式中,所述发送单元还用于,当所述确定单元确定所述缓存中不存在所述目标存储区域的写入点信息,向所述SMR硬盘发送用于打开所述目标存储区域的Open Zone指令以及用于获取所述目标存储区域的写入点信息的Report Zone指令;所述接收单元还用于,接收所述SMR硬盘发送的所述目标存储区域的写入点信息,并将所述写入点信息存储到所述缓存中。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述数据操作指令用于读取所述目标存储区域中存储的所述目标数据;所述确定单元还用于,确定所述目标数据的地址未超过所述写入点。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述数据操作指令用于将所述目标数据写入所述目标存储区域;所述确定单元还用于,确定所述目标数据的地址大于所述写入点,且与所述写入点相连续。
结合第二方面,或者以上第二方面的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述接收单元还用于,接收所述SMR硬盘发送的操作成功消息,所述操作成功消息包括所述目标存储区域的新的写入点信息,并将所述目标存储区域的新的写入点信息存储在缓存中。
结合第二方面,或者以上第二方面的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收单元还用于,所述服务器运行Linux系统。值的说明的是,现有技术中还没有基于Linux系统的小型计算机系统接口(英文全称:Small ComputerSystem Interface,简称:SCSI)的SMR操作方法,本发明提供的服务器运行Linux系统,上述功能单元可以均处于Linux的SCSI子系统分层架构包括较高层Upper level中,由于在Upper level中添加功能模块不改变Linux系统使用的传统接口,从而使得该服务器在能够使用SMR硬盘的同时,还可以使用其他类型的硬盘,提高了运行Linux系统的服务器的兼容性。
第三方面,提供一种服务器,所述服务器包括:处理器、通信接口、缓存和通信总线,其中,所述处理器、所述通信接口和所述缓存通过所述通信总线完成相互间的通信;所述处理器用于执行第一方面,或者以上第一方面的任一种可能的实现方式所述的方法。
结合第三方面,在第三发面的第一种可能的实现方式中,所述服务器运行Linux系统。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种访问叠瓦式磁记录SMR硬盘的方法的流程示意图;
图2为本发明实施例提供的一种服务器的结构示意图;
图3为基于图2所示的服务器的一种访问叠瓦式磁记录SMR硬盘的方法的流程示意图;
图4为本发明实施例提供的另一种服务器的结构示意图;
图5为本发明实施例提供的又一种服务器的结构示意图。
具体实施方式
为了使本领域的普通技术人员能够更容易的理解本发明提供的技术方案,下面首先对SMR硬盘进行简单的介绍。
SMR硬盘有3类:驱动管理Drive Managed,主机感知Host Aware和主机管理HostManaged。其中,Drive Managed SMR盘采用内部重映射技术,让外部的随机写都变为顺序写,从而表现和传统硬盘没有区别,上层应用无需修改就可以使用;Host Managed SMR盘则把硬盘划分成不同的存储区域Zone,在Zone内的写入坚持顺序写入的原则,如果应用不是按照顺序写的方式,Host Managed SMR盘返回错误,也就是说,这种硬盘需要上层应用按照顺序写方式组织数据,如果上层应用要使用随机写则无法使用该硬盘;Host Aware SMR盘则在Drive Managed SMR盘和Host Aware SMR盘之间进行了折中,它也是把硬盘划分成不同的Zone,但是在Zone内部支持随机的读写访问。
现有技术对于上述三种类型的SMR硬盘进行数据访问时,均存在服务器对SMR硬盘的访问效率低下的问题。
进一步地,为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种访问叠瓦式磁记录SMR硬盘的方法,如图1所示,包括:
S101、服务器接收数据操作请求,该数据操作请求包括目标数据的地址信息。
具体地,该数据操作请求可以是数据读请求也可以是数据写请求,该目标数据的地址信息可以是该目标数据的逻辑区块地址(英文全称:Logical Block Address,简称:LBA)。
另外,值得说明的是,该数据操作请求可以是服务器运行的应用程序发送的,也可以是与该服务器相连接的其他设备发送的。
S102、该服务器根据该地址信息确定该SMR硬盘中对应该目标数据的目标存储区域。
具体地,若上述步骤S101中所述的数据操作请求为数据读请求,则该SMR硬盘中对应该目标数据的目标存储区域即为存储该目标数据的存储区域;若上述步骤S101中所述的数据操作请求为数据写请求,则该SMR硬盘中对应该目标数据的目标存储区域即为该目标数据待写入的存储区域。
值得说明的是,SMR硬盘中划分的存储区域Zone的大小是固定的,例如,对于10TB(百万兆字节)大小的SMR硬盘,其每个Zone的大小为256MB(兆字节),这样,服务器利用目标数据的LBA除以SMR硬盘中Zone的大小得到的除数即为目标存储区域的编号,得到的余数即为该目标数据在该目标存储区域中的存储地址。
S103、该服务器确定缓存中存在该目标存储区域的写入点信息,并从该缓存中获取该写入点信息,该写入点信息是该目标存储区域中最新存储的数据的地址信息。
值得说明的是,由于SMR硬盘要求数据的写入为顺序写入,因此,服务器在对某一Zone进行数据写操作之前,需要知道该Zone当前存储的最新数据的地址,以便在该地址之后继续顺序写入新的目标数据。
本发明实施例提供的技术方案利用服务器的缓存存储SMR硬盘的存储区域的写入点信息,无需服务器每次在访问SMR盘之前发送Open Zone指令以及Report Zone指令去获取节点信息,从而提高了服务器访问SMR硬盘的效率。
S104、该服务器根据该写入点信息以及该目标数据的地址信息生成数据操作指令,该数据操作指令用于对该目标数据进行操作。
其中,该数据操作指令需要根据该服务器采用的硬盘接口技术进行封装,值得说明的是,服务器上可以采用的硬盘接口技术有三种,小型计算机系统接口(英文全称:SmallComputer System Interface,简称:SCSI)、串行连接SCSI(英文全称:Serial AttachedSCSI,简称:SAS)以及串行高级技术附件(英文全称:Serial Advanced TechnologyAttachment,简称:SATA)。现有的SMR硬盘支持SAS接口以及STAT接口,分别对应分区块命令(英文全称:Zoned Block device Command,简称:ZBC)标准和区设备ATA指令集(英文全称:Zoned ATA Commands,简称:ZAC)标准,其中,ZBC标准详细描述了如何处理在SMR硬盘特定位置的写入操作,同时允许随机读取已写入的数据。
在本发明实施例的一种可能的实现方式中,该服务器可以是运行Linux系统的服务器。
值得说明的是,Linux的SCSI子系统分层架构包括较高层Upper level,中间层Midlevel以及较低层Lower level。其中,Upper level代表的是内核最高级别的接口,其由一组驱动器组成,Mid level是Upper level和Lower level的公共服务层,它提供了很多可供Upper level和Lower level驱动器使用的函数,因而可以充当这两层间的连接层,在具体实施时,服务器利用Mid level处理SCSI命令的封装,利用Upper level的驱动来实现针对不同类型的SCSI设备的处理。
本发明实施例可以在上述Upper level中添加功能模块,以实现服务器对SMR硬盘的访问,由于在Upper level中添加功能模块不改变Linux系统使用的传统接口,从而使得该服务器在能够使用SMR硬盘的同时,还可以使用其他类型的硬盘,提高了运行Linux系统的服务器的兼容性。
S105、该服务器向该SMR盘发送该数据操作指令。
该数据操作指令可以是数据写指令,用于将该目标数据写入该目标存储区域,该数据操作指令也可以是数据读指令,用于读取该目标存储区域中存储的该目标数据。
值得说明的是,为了方便描述,图1所示方法实施例中均统一描述为服务器执行访问SMR硬盘的操作,但是本领域的技术人员应该理解到,在具体实施时,服务器可以划分为不同的功能模块,由每个功能模块共同完成访问SMR硬盘的操作,例如,如图2所示的服务器,该服务器运行有应用程序21,且包括读写模块22,缓存模块23以及硬盘控制模块24,该服务器与SMR硬盘25相连。为了便于本领域技术人员更加理解本发明提供的技术方案,下面结合图2所示的服务器,详细说明本发明实施例提供的一种访问SMR硬盘的方法,如图3所示,包括:
S301、该应用程序21向该读写模块22发送写数据请求,该写数据请求包括待写入的目标数据以及该目标数据的地址信息。
图3所示方法实施例只是举例说明,在本发明实施例的另一种可能的实现方式中,该服务器还可以接收与该服务器连接的其他设备发送的数据写请求,本发明对此不做限定。
S302、该读写模块22确定该目标数据的地址未超过该SMR硬盘25的大小。
值得说明的是,若该目标数据的地址超过了该SMR硬盘25的大小,则该读写模块22可以向该应用程序21返回错误。
S303、该读写模块22根据该地址信息确定该目标数据对应的该SMR硬盘25中的目标存储区域。
具体参照图1所示方法实施例中对于步骤S102的描述,此处不再赘述。
S304、该读写模块22向该缓存模块23发送写入点请求消息,用于获取该目标存储区域的写入点信息。
进一步地,若该缓存模块23缓存有该目标存储区域的写入点信息,则执行步骤S310;若该缓存模块23未缓存该目标存储区域的写入点信息,则执行步骤S305至步骤S310。
S305、该缓存模块23确定该SMR硬盘中已打开的存储区域的数量未达到阈值。
值得说明的是,SMR硬盘中同一时刻打开的存储区域的数量是一定的,因此,该缓存模块23在向SMR硬盘获取存储区域的写入点信息之前,可以确定该SMR硬盘中已打开的存储区域的数量是否达到阈值,若达到,则执行等待,若未达到,则执行步骤S306。
S306、该缓存模块23向该硬盘控制模块24发送Open Zone以及Report Zone指令。
需要说明的是,Open Zone以及Report Zone指令为现有标准定义的指令,本发明实施例对其不做详细描述。
S307、该硬盘控制模块24向该SMR硬盘25发送该Open Zone以及该Report Zone指令。
S308、该硬盘控制模块24接收该SMR硬盘25发送的该目标存储区域的写入点信息。
S309、该缓存模块23接收并存储该硬盘控制模块24发送的该写入点信息。
S310、该缓存模块23将该写入点信息发送至该读写模块22。
S311、该读写模块22确定该目标数据的地址大于该写入点,且与该写入点连续。
值得说明的是,若该目标数据的地址小于该写入点或者与该写入点不连续,则该读写模块22可以向该应用程序21返回错误。
S312、该读写模块22根据该写入点信息以及该目标数据的地址信息生成数据写指令。
S313、该读写模块22将该数据写指令发送至该硬盘控制模块24。
S314、该硬盘控制模块24向该SMR硬盘25发送该数据写指令。
S315、该硬盘控制模块24接收该SMR硬盘25发送的写入成功消息,该写入成功消息包括该目标存储区域的新的写入点信息。
S316、该缓存模块23接收并保存该硬盘控制模块24发送的该目标存储区域的新的写入点信息。
对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
图3所示方法实施例是服务器对SMR硬盘进行写数据的方法流程图,其中,服务器在对SMR硬盘进行读数据时,获取目标存储区域的写入点信息的过程与写数据的流程相同。服务器对SMR硬盘进行读数据的过程中,在获取到目标存储区域的写入点信息后,可以确定目标数据的地址是否超过目标存储区域的写入点,若超过,则向应用程序返回错误。
采用上述方法实施例,服务器的缓存存储SMR硬盘的存储区域的写入点信息,无需服务器每次在访问SMR盘之前发送Open Zone指令以及Report Zone指令去获取节点信息,从而提高了服务器访问SMR硬盘的效率。
值得说明的是,缓存模块23中还可以根据实际需求增加数据读请求、数据写请求,以及Open Zone指令等的缓存记录,并且,服务器在确定缓存模块23中的缓存记录已经达到缓存模块的上限值时,可以标记缓存模块23中的缓存记录失效,并移除缓存模块23中失效的缓存记录。另外,在服务器重启,缓存模块重启等情况下,也可以移除缓存模块23中失效的缓存记录,具体根据实际需求设定,本发明对此不做限定。
由于服务器访问SMR硬盘需要发送基于Zone的命令,因此,上述硬盘控制模块24可以基于Zone的SCSI命令封装,例如,现有的标准定义的Open Zone指令,Finish Zone指令,Close zone指令,Report Zone指令以及Reset Write Pointer指令,还可以是根据标准扩展得到的其他指令,硬盘控制模块24还可以基于SMR硬盘的SCSI进行解析处理,例如,SMR硬盘针对Zone的错误码定义,以及错误处理函数。
上述方法实施例只是举例说明,图2所示服务器中的功能模块的划分只是一种可能的实现方式,实际实现时还可以有其他的划分方式,例如,将服务器划分为处理模块以及硬盘控制模块,其中,该处理模块用于实施上述读写模块以及缓存模块的功能。
本发明实施例还提供一种服务器40,用于实施上述方法实施例中相关的方法步骤,如图4所示,该服务器40包括:
接收单元41,用于接收数据操作请求,该数据操作请求包括目标数据的地址信息;
确定单元42,用于根据该地址信息确定该SMR硬盘中对应该目标数据的目标存储区域;
缓存43,用于存储该SMR硬盘的存储区域的写入点信息;
获取单元44,用于确定该缓存中存在该目标存储区域的写入点信息,并从该缓存中获取该写入点信息,该写入点信息是该目标存储区域中最新存储的数据的地址信息;
生成单元45,用于根据该写入点信息以及该目标数据的地址信息生成数据操作指令,该数据操作指令用于对该目标数据进行操作;
发送单元46,用于向该SMR盘发送该数据操作指令。
采用上述服务器,该服务器的缓存存储SMR硬盘的存储区域的写入点信息,无需服务器每次在访问SMR盘之前发送Open Zone指令以及Report Zone指令去获取节点信息,从而提高了服务器访问SMR硬盘的效率。
可选地,该发送单元46还用于,当该确定单元42确定该缓存中不存在该目标存储区域的写入点信息,向该SMR硬盘发送用于打开该目标存储区域的Open Zone指令以及用于获取该目标存储区域的写入点信息的Report Zone指令;
该接收单元41还用于,接收该SMR硬盘发送的该目标存储区域的写入点信息,并将该写入点信息存储到该缓存中。
可选地,该数据操作指令用于读取该目标存储区域中存储的该目标数据;该确定单元42还用于,确定该目标数据的地址未超过该写入点。
可选地,该数据操作指令用于将该目标数据写入该目标存储区域;该确定单元42还用于,确定该目标数据的地址大于该写入点,且与该写入点相连续。
可选地,该接收单元41还用于,接收该SMR硬盘发送的操作成功消息,该操作成功消息包括该目标存储区域的新的写入点信息,并将该目标存储区域的新的写入点信息存储在缓存中。
可选地,该服务器运行Linux系统。上述功能单元可以均处于Linux的SCSI子系统分层架构包括较高层Upper level中,由于在Upper level中添加功能模块不改变Linux系统使用的传统接口,从而使得该服务器在能够使用SMR硬盘的同时,还可以使用其他类型的硬盘,提高了运行Linux系统的服务器的兼容性。
值得说明的是,以上对服务器40的单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,上述确定单元42以及生成单元45可以划分为一个处理单元,并且,上述各功能单元的物理实现也可能有多种实现方式,例如,上述确定单元42具体可以是一中央处理器,也可以是特定集成电路(英文全称:Application SpecificIntegrated Circuit,简称:ASIC)。
所属本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储控制器的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供另一种服务器50,用于实施上述方法实施例,如图5所示,该服务器50包括:处理器(processor)51、通信接口(Communications Interface)52、缓存53和通信总线54,其中,该处理器51、该通信接口52和该缓存53通过该通信总线54完成相互间的通信。
处理器51可能是一个多核中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
缓存53用于存放SMR硬盘包括的存储区域的写入点信息。
所述通信接口52,用于实现这些装置之间的连接通信。
所述处理器51用于执行以下操作:
接收数据操作请求,所述数据操作请求包括目标数据的地址信息;
根据所述地址信息确定所述SMR硬盘中对应所述目标数据的目标存储区域;
确定缓存中存在所述目标存储区域的写入点信息,并从所述缓存中获取所述写入点信息,所述写入点信息是所述目标存储区域中最新存储的数据的地址信息;
根据所述写入点信息以及所述目标数据的地址信息生成数据操作指令,所述数据操作指令用于对所述目标数据进行操作;
向所述SMR盘发送所述数据操作指令。
可选地,所述操作还包括:
当确定所述缓存中不存在所述目标存储区域的写入点信息,向所述SMR硬盘发送用于打开所述目标存储区域的Open Zone指令以及用于获取所述目标存储区域的写入点信息的Report Zone指令;
接收所述SMR硬盘发送的所述目标存储区域的写入点信息;
将所述写入点信息存储到缓存中。
可选地,所述数据操作指令用于读取所述目标存储区域中存储的所述目标数据;
在获取到所述写入点信息后,所述操作还包括:
确定所述目标数据的地址未超过所述写入点。
可选地,所述数据操作指令用于将所述目标数据写入所述目标存储区域;
在获取到所述写入点信息后,所述操作还包括:
确定所述目标数据的地址大于所述写入点,且与所述写入点相连续。
可选地,在向所述SMR盘发送所述数据操作指令后,所述操作还包括:
接收所述SMR硬盘发送的操作成功消息,所述操作成功消息包括所述目标存储区域的新的写入点信息;
将所述目标存储区域的新的写入点信息存储在缓存中。
可选地,所述服务器40运行Linux系统。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,简称:ROM)、随机存取存储器(英文全称:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种访问硬盘的方法,其特征在于,所述方法包括:
服务器接收数据操作请求,所述数据操作请求包括目标数据以及所述目标数据的地址信息,所述硬盘包括多个存储区域;
所述服务器根据所述地址信息从所述多个存储区域中确定所述数据操作请求对应的目标存储区域;
所述服务器直接从所述服务器的缓存中获取所述目标存储区域的写入点信息,而不需要向所述硬盘发送打开存储区域的命令以获取所述写入点信息,所述写入点信息是预先保存在所述服务器的缓存中的,所述写入点信息是所述目标存储区域中最新存储的数据的地址信息;
所述服务器根据所述写入点信息向所述硬盘发送所述目标数据,并指示所述硬盘将所述目标数据以顺序写的方式写入所述目标存储区域中的。
2.根据权利要求1所述的方法,其特征在于,
所述服务器在获取到所述写入点信息后,所述方法还包括:
所述服务器确定所述目标数据的地址大于所述写入点信息所指示的写入点,且与所述写入点相连续。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述服务器接收所述硬盘发送的操作成功消息,所述操作成功消息包括所述目标存储区域的新的写入点信息;
所述服务器将所述目标存储区域的新的写入点信息存储在缓存中。
4.一种服务器,其特征在于,包括:处理器和缓存,所述服务器与硬盘耦合;
所述处理器用于接收数据操作请求,所述数据操作请求包括目标数据以及所述目标数据的地址信息,所述硬盘包括多个存储区域;
根据述地址信息从所述多个存储区域中确定所述数据操作请求对应的目标存储区域;
直接从所述缓存中获取所述目标存储区域的写入点信息,而不需要向所述硬盘发送打开存储区域的命令以获取所述写入点信息,所述写入点信息是预先保存在所述服务器的缓存中的,所述写入点信息是所述目标存储区域中最新存储的数据的地址信息;
根据所述写入点信息向所述硬盘发送所述目标数据,并指示所述硬盘将所述目标数据以顺序写的方式写入所述目标存储区域中的。
5.根据权利要求4所述的服务器,其特征在于,
所述服务器还用于,在获取到所述写入点信息后,确定所述目标数据的地址大于所述写入点信息所指示的写入点,且与所述写入点相连续。
6.根据权利要求4所述的服务器,其特征在于,
所述服务器还用于,接收所述硬盘发送的操作成功消息,所述操作成功消息包括所述目标存储区域的新的写入点信息;将所述目标存储区域的新的写入点信息存储在缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345929.3A CN111666044B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610113108.0A CN105808163B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
CN202010345929.3A CN111666044B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610113108.0A Division CN105808163B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666044A CN111666044A (zh) | 2020-09-15 |
CN111666044B true CN111666044B (zh) | 2021-11-30 |
Family
ID=56465986
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010345929.3A Active CN111666044B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
CN201610113108.0A Active CN105808163B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610113108.0A Active CN105808163B (zh) | 2016-02-29 | 2016-02-29 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10714141B2 (zh) |
CN (2) | CN111666044B (zh) |
WO (1) | WO2017148242A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666044B (zh) | 2016-02-29 | 2021-11-30 | 华为技术有限公司 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
CN106371942B (zh) * | 2016-08-27 | 2019-05-03 | 华为技术有限公司 | 存储器错误处理方法和相关装置和系统 |
KR20210108107A (ko) * | 2020-02-25 | 2021-09-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN113535709B (zh) * | 2020-04-15 | 2023-11-14 | 抖音视界有限公司 | 数据处理方法、装置及电子设备 |
US11422710B2 (en) * | 2020-08-14 | 2022-08-23 | Kabushiki Kaisha Toshiba | Handling of verification data in disk drive cache |
CN113157600A (zh) * | 2021-03-08 | 2021-07-23 | 网宿科技股份有限公司 | 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 |
CN113419685B (zh) * | 2021-07-12 | 2022-08-09 | 杭州海康威视数字技术股份有限公司 | 基于smr的raid创建、针对raid的数据写入及raid恢复方法 |
CN115963977A (zh) * | 2021-10-08 | 2023-04-14 | 中山市江波龙电子有限公司 | 一种固态硬盘及其数据操作方法、装置及电子设备 |
CN114217741A (zh) * | 2021-11-30 | 2022-03-22 | 浙江大华技术股份有限公司 | 存储装置的存储方法及存储装置 |
CN114816566B (zh) * | 2022-04-08 | 2024-05-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种指令搬移方法、系统、设备以及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059752A (zh) * | 2006-04-21 | 2007-10-24 | 株式会社东芝 | 使用非易失性高速缓存的存储装置及其控制方法 |
CN101937321A (zh) * | 2010-09-15 | 2011-01-05 | 中兴通讯股份有限公司 | 一种实现混合缓存的方法和装置 |
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN103543955A (zh) * | 2013-08-05 | 2014-01-29 | 记忆科技(深圳)有限公司 | 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘 |
CN103645969A (zh) * | 2013-12-13 | 2014-03-19 | 华为技术有限公司 | 数据复制方法及数据存储系统 |
CN103744611A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 基于固态硬盘为缓存的计算机系统及缓存加速方法 |
CN104636266A (zh) * | 2014-05-09 | 2015-05-20 | 华为技术有限公司 | 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
US20150081967A1 (en) * | 2013-09-18 | 2015-03-19 | Hewlett-Packard Development Company, L.P. | Management of storage read requests |
CN103595653A (zh) * | 2013-11-18 | 2014-02-19 | 福建星网锐捷网络有限公司 | 一种缓存分配方法、装置及设备 |
US9864529B1 (en) * | 2014-01-27 | 2018-01-09 | Western Digital Technologies, Inc. | Host compatibility for host managed storage media |
US10423339B2 (en) * | 2015-02-02 | 2019-09-24 | Western Digital Technologies, Inc. | Logical block address mapping for hard disk drives |
US9269376B1 (en) * | 2015-06-30 | 2016-02-23 | HGST Netherlands B.V. | Efficient burst data verify in shingled data storage drives |
CN111666044B (zh) * | 2016-02-29 | 2021-11-30 | 华为技术有限公司 | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 |
-
2016
- 2016-02-29 CN CN202010345929.3A patent/CN111666044B/zh active Active
- 2016-02-29 CN CN201610113108.0A patent/CN105808163B/zh active Active
-
2017
- 2017-02-06 WO PCT/CN2017/072992 patent/WO2017148242A1/zh active Application Filing
-
2018
- 2018-08-28 US US16/114,412 patent/US10714141B2/en active Active
-
2020
- 2020-06-02 US US16/890,642 patent/US11270734B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059752A (zh) * | 2006-04-21 | 2007-10-24 | 株式会社东芝 | 使用非易失性高速缓存的存储装置及其控制方法 |
CN101937321A (zh) * | 2010-09-15 | 2011-01-05 | 中兴通讯股份有限公司 | 一种实现混合缓存的方法和装置 |
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN103543955A (zh) * | 2013-08-05 | 2014-01-29 | 记忆科技(深圳)有限公司 | 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘 |
CN103645969A (zh) * | 2013-12-13 | 2014-03-19 | 华为技术有限公司 | 数据复制方法及数据存储系统 |
CN103744611A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 基于固态硬盘为缓存的计算机系统及缓存加速方法 |
CN104636266A (zh) * | 2014-05-09 | 2015-05-20 | 华为技术有限公司 | 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200294548A1 (en) | 2020-09-17 |
CN105808163B (zh) | 2021-05-18 |
US10714141B2 (en) | 2020-07-14 |
US20180366158A1 (en) | 2018-12-20 |
US11270734B2 (en) | 2022-03-08 |
CN105808163A (zh) | 2016-07-27 |
WO2017148242A1 (zh) | 2017-09-08 |
CN111666044A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666044B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
CN106548789B (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
US8521949B2 (en) | Data deleting method and apparatus | |
US20140229657A1 (en) | Readdressing memory for non-volatile storage devices | |
US9244619B2 (en) | Method of managing data storage device and data storage device | |
KR20200022118A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US10423339B2 (en) | Logical block address mapping for hard disk drives | |
US11461033B2 (en) | Attribute-driven storage for storage devices | |
US20080229046A1 (en) | Unified support for solid state storage | |
US8825946B2 (en) | Memory system and data writing method | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
KR20190048453A (ko) | 저장 장치 및 메모리 시스템 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN118051179A (zh) | 用于使用多个分区的分区命名空间存储的技术 | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
JP2007102436A (ja) | ストレージ制御装置およびストレージ制御方法 | |
CN110968527B (zh) | Ftl提供的缓存 | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same | |
US11436105B2 (en) | Data processing method and memory controller utilizing the same | |
US20220391093A1 (en) | Memory system, data processing system including the same, and operating method thereof | |
CN110968525B (zh) | Ftl提供的缓存、其优化方法与存储设备 | |
EP4328755A1 (en) | Systems, methods, and apparatus for accessing data in versions of memory pages | |
EP3862863A1 (en) | Method for managing performance of logical disk, and storage array | |
CN118821245A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |