CN110347339A - 一种针对机械硬盘的可控连续写方法、调度器及存储系统 - Google Patents

一种针对机械硬盘的可控连续写方法、调度器及存储系统 Download PDF

Info

Publication number
CN110347339A
CN110347339A CN201910570951.5A CN201910570951A CN110347339A CN 110347339 A CN110347339 A CN 110347339A CN 201910570951 A CN201910570951 A CN 201910570951A CN 110347339 A CN110347339 A CN 110347339A
Authority
CN
China
Prior art keywords
write
write request
data
disk
continuously
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
CN201910570951.5A
Other languages
English (en)
Other versions
CN110347339B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910570951.5A priority Critical patent/CN110347339B/zh
Publication of CN110347339A publication Critical patent/CN110347339A/zh
Application granted granted Critical
Publication of CN110347339B publication Critical patent/CN110347339B/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/061Improving I/O performance
    • 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
    • G06F3/0656Data buffering arrangements
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种针对机械硬盘的可控连续写方法、调度器及存储系统,计算机存储技术领域,包括:接收并缓存写请求及相应的写请求数据;接收写请求的同时,轮询是否满足触发条件,若满足,则选取一个磁盘作为目标磁盘,并开始对目标磁盘执行连续写操作;连续写数据时,若写请求队列不为空,则处理写请求,以将对应的写请求数据连续写入目标磁盘中,否则,生成填充数据并连续写入目标磁盘,在写入填充数据的过程中,一旦有新的写请求到达,则转而直接处理该写请求,并在处理完该写请求后,继续生成填充数据并连续写入目标磁盘;在连续写数据的同时,轮询是否满足停止条件,若满足,则结束对目标磁盘的连续写操作。本发明能够优化机械硬盘的写性能。

Description

一种针对机械硬盘的可控连续写方法、调度器及存储系统
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种针对机械硬盘的可控连续写方法、调度器及存储系统。
背景技术
机械硬盘具有存储容量大,价格低,连续写带宽高的优点,在数据中心等应用中获得了广泛的应用。机械硬盘内部通常包含一个或多个磁盘,数据实际存储于磁盘上。磁盘上数据读取和写入所花费的时间主要包括寻道时间、旋转延迟和传输时间,寻道时间就是磁臂移动到指定磁道所需要的时间,旋转延迟指的是把扇区移动到磁头下面的时间,传输时间指的是从磁盘读出或将数据写入磁盘的时间。当机械硬盘接收到写请求之后,需要先将写入逻辑地址转换成物理地址,然后磁盘控制器定位到具体的写请求写入位置的柱面号、磁头号和扇区号,磁盘控制器使磁头部件步进到相应的柱面,选通相应的磁头,等待要求的扇区移动到磁头下,然后将写请求的内容写入磁盘。磁头寻道是机械动作而不是电子动作,因此所造成的延迟较大,因此磁盘上读写数据所花费的主要时间是寻道时间。
当向未处于工作状态的磁盘上写入一小块数据时,延迟很高,其原因是此时磁盘要从未工作状态转为工作状态,首先盘片旋转所形成的气流将磁头托起,然后磁头要移动到目标磁道,即完成寻道过程,之后目标扇区旋转到磁头下,最后开始进行写数据操作,由于涉及到寻道这一机械操作,整个过程耗时较大,因此这种情况下即使是写一个很小的数据块也得花费很多的时间。相对而言,若向正处于工作状态的磁盘顺序写入一个数据块,则不用再进行寻道,大大减小了延迟,在这种情况下即使是写一个比较大的数据块,其延迟也很小。然而,在实际使用过程中,写请求处理完成后,磁盘就会处于未工作状态,因此,总体而言,机械硬盘的写性能存在很大的优化空间。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种针对机械硬盘的可控连续写方法、调度器及存储系统,其目的在于,优化机械硬盘的写性能。
为实现上述目的,按照本发明的第一方面,提供了一种针对机械硬盘的可控连续写方法,包括:接收写请求的步骤、轮询触发条件的步骤、连续写数据的步骤以及轮询停止条件的步骤;
接收写请求的步骤包括:接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
轮询触发条件的步骤包括:在执行接收写请求的步骤的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并转入连续写数据的步骤,以从预设的起始写入地址开始对目标磁盘执行连续写操作;若否,则不处理写请求;
连续写数据的步骤包括:若写请求队列不为空,则处理写请求队列中的写请求,以将对应的写请求数据连续写入目标磁盘中;否则,生成填充数据并连续写入目标磁盘;
在向目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入目标磁盘;
轮询停止条件的步骤包括:在执行连续写数据的步骤的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对目标磁盘的连续写操作;若否,则不做任何操作;
其中,写请求队列为内存中用于存放写请求的缓冲队列,写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应。
相比于传统的机械硬盘写方法中只有写请求到达时,才将用户写请求数据写入磁盘,会因磁盘从未工作状态切换到工作状态而引起较大磁头机械延迟。本发明通过一种简单可控的方法,在写请求的间隙向磁盘连续写入填充数据,能够在一定的时间范围内让磁盘一直连续写,由此能够有效减少磁盘从非工作状态向工作状态的切换,充分发挥了机械硬盘的连续写带宽,避免本段时间内磁头的机械延迟,提高了机械硬盘的写性能。
进一步地,连续写数据的步骤还包括:每一个写请求处理完成后,将该写请求所属文件的逻辑起始地址和逻辑结束地址,以及对应的写请求数据在目标磁盘上的起始地址和逻辑地址,均记录到写记录表中;
每一次写入填充数据完成后,将填充数据在目标磁盘上的起始地址和逻辑地址均记录到写记录表中;
其中,写记录表为内存中用于存储相关数据的数据结构。
利用写记录表记录数据的存储地址,能够区分磁盘上的数据是写请求数据还是填充数据,为后续的优化和使用提供了基础。
进一步地,轮询停止条件的步骤还包括:若满足预设的停止条件,则将写记录表持久化存储到非易失性存储设备上。
进一步地,轮询停止条件的步骤还包括:若满足预设的停止条件,则根据写记录表对目标磁盘上的写请求数据的存储地址进行重整,以删除连续写操作中写入的填充数据。
作为进一步优选地,对目标磁盘上的写请求数据的存储地址进行重整后,写请求数据在目标磁盘上连续存储。
通过地址重整,删除磁盘上的填充数据,并进一步使得写请求数据在目标磁盘上连续存储,能够避免存储资源的浪费。
可选地,触发条件为写请求队列不为空,且存在可用磁盘;
或者触发条件为写缓存中的写请求数据总量超过预设的第一阈值;
或者触发条件为写请求队列中至少一个写请求的大小超过预设的第二阈值。
以上述条件作为触发条件,在对目标磁盘执行连续写操作的起始阶段,向目标磁盘连续写入大量的写请求数据,由此能够保证在一次连续写操作中写请求数据具有较高的比例。
进一步地,停止条件为目标磁盘已写满;
或者停止条件为一次向目标磁盘写入填充数据的时间超过预设的第三阈值。
以上述条件作为停止条件,能够避免在一次连续写操作中写入过多无用的填充数据。
进一步地,在连续写数据的步骤中,所生成的填充数据能与写请求数据区分开。
按照本发明的第二方面,提供了一种调度器,包括:写请求接收模块、触发条件轮询模块、连续写数据模块以及停止条件轮询模块;
写请求接收模块,用于接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
触发条件轮询模块,用于在写请求接收模块接收并缓存写请求及相应的写请求数据的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并由连续写数据模块从预设的起始写入地址开始对目标磁盘执行连续写操作;若否,则不处理写请求;
连续写数据模块,用于在写请求队列不为空时,根据预设的调度策略处理写请求队列中的写请求,以将对应的写请求数据连续写入目标磁盘中;连续写数据模块,还用于在写请求队列为空时,生成填充数据并连续写入目标磁盘;连续写数据模块在向目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入目标磁盘;
停止条件轮询模块,用于在连续写数据模块对目标磁盘执行连续写操作的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对目标磁盘的连续写操作;若否,则不做任何操作;
其中,写请求队列为内存中用于存放写请求的缓冲队列,写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应。
按照本发明的第三方面,提供了一种存储系统,包括:内存、机械硬盘、非易失性存储设备以及调度器,其中,调度器为本发明第二方面所提供的调度器。
总体而言,本发明所提供的针对机械硬盘的可控连续写方法、调度器及存储系统,在写请求的间隙向磁盘连续写入填充数据,能够在一定的时间范围内让磁盘一直连续写,由此能够有效减少磁盘从非工作状态向工作状态的切换,充分发挥了机械硬盘的连续写带宽,避免本段时间内磁头的机械延迟,提高了机械硬盘的写性能。
附图说明
图1为本发明实施例提供的针对机械硬盘的可控连续写方法示意图;
图2为本发明实施例提供的针对机械硬盘的可控连续写方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
针对传统的机械硬盘写方法中只有写请求到达时,才将用户写请求数据写入磁盘,会因磁盘从未工作状态切换到工作状态而引起较大磁头机械延迟的问题,本发明提供了一种针对机械硬盘的可控连续写方法,如图1-2所示,包括:接收写请求的步骤、轮询触发条件的步骤、连续写数据的步骤以及轮询停止条件的步骤;
接收写请求的步骤包括:接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
轮询触发条件的步骤包括:在执行接收写请求的步骤的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并转入连续写数据的步骤,以从预设的起始写入地址开始对目标磁盘执行连续写操作;若否,则不处理写请求;
连续写数据的步骤包括:若写请求队列不为空,则处理写请求队列中的写请求,以将对应的写请求数据连续写入目标磁盘中;否则,生成填充数据并连续写入目标磁盘;
在向目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入目标磁盘;
轮询停止条件的步骤包括:在执行连续写数据的步骤的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对目标磁盘的连续写操作;若否,则不做任何操作;
其中,写请求队列为内存中用于存放写请求的缓冲队列,写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应。
上述针对机械硬盘的可控连续写方法,通过一种简单可控的方法,在写请求的间隙向磁盘连续写入填充数据,能够在一定的时间范围内让磁盘一直连续写,由此能够有效减少磁盘从非工作状态向工作状态的切换,充分发挥了机械硬盘的连续写带宽,避免本段时间内磁头的机械延迟,提高了机械硬盘的写性能。
在本实施例中,连续写数据的步骤还可包括:每一个写请求处理完成后,将该写请求所属文件的逻辑起始地址和逻辑结束地址,以及对应的写请求数据在目标磁盘上的起始地址和逻辑地址,均记录到写记录表中;
每一次写入填充数据完成后,将填充数据在目标磁盘上的起始地址和逻辑地址均记录到写记录表中;
其中,写记录表为内存中用于存储相关数据的数据结构;写记录表中还可存储文件元数据等其他内容;
利用写记录表记录数据的存储地址,能够区分磁盘上的数据是写请求数据还是填充数据,为后续的优化和使用提供了基础。
基于在内存中维护的写记录表,上述针对机械硬盘的可控连续写方法中,轮询停止条件的步骤还可包括:若满足预设的停止条件,则将写记录表持久化存储到非易失性存储设备上;将写记录表持久化存储到非易失性存储设备中,能够在后续根据实际需求,对已写入目标磁盘的写请求数据的存储地址进行重整。
为了避免资源浪费,在上述针对机械磁盘的可控连续写方法中,轮询停止条件的步骤还可包括:若满足预设的停止条件,则根据写记录表对目标磁盘上的写请求数据的存储地址进行重整,以删除连续写操作中写入的填充数据;优选地,对目标磁盘上的写请求数据的存储地址进行重整后,写请求数据在目标磁盘上连续存储;通过地址重整,删除磁盘上的填充数据,并进一步使得写请求数据在目标磁盘上连续存储,能够避免存储资源的浪费。
可选地,在本实施例中,触发条件为写请求队列不为空,且存在可用磁盘;
或者触发条件为写缓存中的写请求数据总量超过预设的第一阈值;
或者触发条件为写请求队列中至少一个写请求的大小超过预设的第二阈值;
以上述条件作为触发条件,在对目标磁盘执行连续写操作的起始阶段,向目标磁盘连续写入大量的写请求数据,由此能够保证在一次连续写操作中写请求数据具有较高的比例;应当说明的是,以上所列举的触发条件,仅为实施本发明时的优选条件,不应理解为对本发明的唯一限定,在实际应用中,也可根据具体需求将其他条件设定为触发条件,在此不做一一列举。
可选地,在本实施例中,停止条件为目标磁盘已写满;
或者停止条件为一次向目标磁盘写入填充数据的时间超过预设的第三阈值;
以上述条件作为停止条件,能够避免在一次连续写操作中写入过多无用的填充数据;应当说明的是,以上所列举的停止条件,仅为实施本发明时的优选条件,不应理解为对本发明的唯一限定,在实际应用中,也可根据具体需求将其他条件设定为停止条件,在此不做一一列举。
可选地,在本实施例中,在连续写数据的步骤中,所生成的填充数据能与写请求数据区分开;具体地,可生成全0或全1的数据作为填充数据,也可以根据某种具体的编码方式生成填充数据。
在上述针对机械硬盘的可控连续写方法,连续写数据的步骤中,可采用先来先服务的调度策略、高优先级优先的调度策略、小请求优先的调度策略或其他任意一一种调度策略处理写请求队列中的写请求;根据调度策略,有需要优先处理的写请求时,中断当前正在处理的写请求,同时记录被中断的写请求已经写入的数据区域,然后处理需要优先处理的写请求,在需要优先处理的写请求处理完成后,恢复被中断的写请求并继续处理。
本发明还提供了一种调度器,用于执行上述针对机械硬盘的可控连续写方法的各个步骤,该调度器包括:写请求接收模块、触发条件轮询模块、连续写数据模块以及停止条件轮询模块;
写请求接收模块,用于接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
触发条件轮询模块,用于在写请求接收模块接收并缓存写请求及相应的写请求数据的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并由连续写数据模块从预设的起始写入地址开始对目标磁盘执行连续写操作;若否,则不处理写请求;
连续写数据模块,用于在写请求队列不为空时,根据预设的调度策略处理写请求队列中的写请求,以将对应的写请求数据连续写入目标磁盘中;连续写数据模块,还用于在写请求队列为空时,生成填充数据并连续写入目标磁盘;连续写数据模块在向目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入目标磁盘;
停止条件轮询模块,用于在连续写数据模块对目标磁盘执行连续写操作的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对目标磁盘的连续写操作;若否,则不做任何操作;
其中,写请求队列为内存中用于存放写请求的缓冲队列,写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应;
在本发明实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不再复述。
基于上述调度器,本发明还提供了一种存储系统,包括:内存、机械硬盘、非易失性存储设备以及调度器,其中,调度器为上述调度器。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种针对机械硬盘的可控连续写方法,其特征在于,包括:接收写请求的步骤、轮询触发条件的步骤、连续写数据的步骤以及轮询停止条件的步骤;
所述接收写请求的步骤包括:接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
所述轮询触发条件的步骤包括:在执行所述接收写请求的步骤的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并转入所述连续写数据的步骤,以从预设的起始写入地址开始对所述目标磁盘执行连续写操作;若否,则不处理写请求;
所述连续写数据的步骤包括:若所述写请求队列不为空,则处理所述写请求队列中的写请求,以将对应的写请求数据连续写入所述目标磁盘中;否则,生成填充数据并连续写入所述目标磁盘;
在向所述目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入所述目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入所述目标磁盘;
所述轮询停止条件的步骤包括:在执行所述连续写数据的步骤的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对所述目标磁盘的连续写操作;若否,则不做任何操作;
其中,所述写请求队列为内存中用于存放写请求的缓冲队列,所述写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应。
2.如权利要求1所述的针对机械硬盘的可控连续写方法,其特征在于,所述连续写数据的步骤还包括:每一个写请求处理完成后,将该写请求所属文件的逻辑起始地址和逻辑结束地址,以及对应的写请求数据在所述目标磁盘上的起始地址和逻辑地址,均记录到写记录表中;
每一次写入填充数据完成后,将填充数据在所述目标磁盘上的起始地址和逻辑地址均记录到所述写记录表中;
其中,所述写记录表为内存中用于存储相关数据的数据结构。
3.如权利要求2所述的针对机械硬盘的可控连续写方法,其特征在于,所述轮询停止条件的步骤还包括:若满足预设的停止条件,则将所述写记录表持久化存储到非易失性存储设备上。
4.如权利要求2所述的针对机械硬盘的可控连续写方法,其特征在于,所述轮询停止条件的步骤还包括:若满足预设的停止条件,则根据所述写记录表对所述目标磁盘上的写请求数据的存储地址进行重整,以删除连续写操作中写入的填充数据。
5.如权利要求4所述的针对机械硬盘的可控连续写方法,其特征在于,对所述目标磁盘上的写请求数据的存储地址进行重整后,写请求数据在所述目标磁盘上连续存储。
6.如权利要求1-5任一项所述的针对机械硬盘的可控连续写方法,其特征在于,所述触发条件为所述写请求队列不为空,且存在可用磁盘;
或者所述触发条件为所述写缓存中的写请求数据总量超过预设的第一阈值;
或者所述触发条件为所述写请求队列中至少一个写请求的大小超过预设的第二阈值。
7.如权利要求1-5任一项所述的针对机械硬盘的可控连续写方法,其特征在于,所述停止条件为所述目标磁盘已写满;
或者所述停止条件为一次向所述目标磁盘写入填充数据的时间超过预设的第三阈值。
8.如权利要求1-5任一项所述的针对机械硬盘的可控连续写方法,其特征在于,在所述连续写数据的步骤中,所生成的填充数据能与写请求数据区分开。
9.一种调度器,其特征在于,包括:写请求接收模块、触发条件轮询模块、连续写数据模块以及停止条件轮询模块;
所述写请求接收模块,用于接收并缓存写请求及相应的写请求数据,写请求缓存于写请求队列中,写请求数据缓存于写缓存中;
所述触发条件轮询模块,用于在所述写请求接收模块接收并缓存写请求及相应的写请求数据的同时,以轮询的方式判断是否满足预设的触发条件,若是,则选取机械硬盘中的一个磁盘作为目标磁盘,并由所述连续写数据模块从预设的起始写入地址开始对所述目标磁盘执行连续写操作;若否,则不处理写请求;
所述连续写数据模块,用于在所述写请求队列不为空时,根据预设的调度策略处理所述写请求队列中的写请求,以将对应的写请求数据连续写入所述目标磁盘中;所述连续写数据模块,还用于在所述写请求队列为空时,生成填充数据并连续写入所述目标磁盘;所述连续写数据模块在向所述目标磁盘连续写入填充数据的过程中,一旦有新的写请求到达,则停止写入填充数据,转而直接处理该写请求,以将对应的写请求数据连续写入所述目标磁盘,并在处理完该写请求后,继续生成填充数据并连续写入所述目标磁盘;
所述停止条件轮询模块,用于在所述连续写数据模块对所述目标磁盘执行连续写操作的同时,以轮询的方式判断是否满足预设的停止条件,若是,则结束对所述目标磁盘的连续写操作;若否,则不做任何操作;
其中,所述写请求队列为内存中用于存放写请求的缓冲队列,所述写缓存为内存中用于存放写请求数据的缓冲区域,写缓存数量与机械硬盘中磁盘数量相同,且写缓存与磁盘一一对应。
10.一种存储系统,包括:内存、机械硬盘、非易失性存储设备以及调度器,其特征在于,所述调度器为权利要求9所述的调度器。
CN201910570951.5A 2019-06-28 2019-06-28 一种针对机械硬盘的可控连续写方法、调度器及存储系统 Active CN110347339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910570951.5A CN110347339B (zh) 2019-06-28 2019-06-28 一种针对机械硬盘的可控连续写方法、调度器及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910570951.5A CN110347339B (zh) 2019-06-28 2019-06-28 一种针对机械硬盘的可控连续写方法、调度器及存储系统

Publications (2)

Publication Number Publication Date
CN110347339A true CN110347339A (zh) 2019-10-18
CN110347339B CN110347339B (zh) 2020-07-10

Family

ID=68177201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910570951.5A Active CN110347339B (zh) 2019-06-28 2019-06-28 一种针对机械硬盘的可控连续写方法、调度器及存储系统

Country Status (1)

Country Link
CN (1) CN110347339B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459402A (zh) * 2020-02-20 2020-07-28 华中科技大学 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011323A1 (en) * 2000-01-28 2001-08-02 Yoshiyuki Ohta Read/write processing device and method for a disk medium
CN103473329A (zh) * 2013-09-17 2013-12-25 广州市信息安全测评中心 持久化数据队列及其加载的方法和装置
CN104216663A (zh) * 2014-08-27 2014-12-17 山东超越数控电子有限公司 一种提高文件写入速度的方法
CN104484283A (zh) * 2014-11-27 2015-04-01 记忆科技(深圳)有限公司 一种降低固态硬盘写放大的方法
CN107506309A (zh) * 2017-06-30 2017-12-22 深圳市硅格半导体股份有限公司 终端及闪存数据写入方法和计算机可读存储介质
US20180173436A1 (en) * 2010-08-27 2018-06-21 Cisco Technology, Inc. Performing multiple write operations to a memory using a pending write queue/cache
CN109697017A (zh) * 2017-10-20 2019-04-30 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011323A1 (en) * 2000-01-28 2001-08-02 Yoshiyuki Ohta Read/write processing device and method for a disk medium
US20050066120A1 (en) * 2000-01-28 2005-03-24 Fujitsu Limited Read/write disk drive having read ahead processor which returns a write command, currently being executed, to command queue and executes read command in response to confirmation that there is no overlap
US20180173436A1 (en) * 2010-08-27 2018-06-21 Cisco Technology, Inc. Performing multiple write operations to a memory using a pending write queue/cache
CN103473329A (zh) * 2013-09-17 2013-12-25 广州市信息安全测评中心 持久化数据队列及其加载的方法和装置
CN104216663A (zh) * 2014-08-27 2014-12-17 山东超越数控电子有限公司 一种提高文件写入速度的方法
CN104484283A (zh) * 2014-11-27 2015-04-01 记忆科技(深圳)有限公司 一种降低固态硬盘写放大的方法
CN107506309A (zh) * 2017-06-30 2017-12-22 深圳市硅格半导体股份有限公司 终端及闪存数据写入方法和计算机可读存储介质
CN109697017A (zh) * 2017-10-20 2019-04-30 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459402A (zh) * 2020-02-20 2020-07-28 华中科技大学 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器
CN111459402B (zh) * 2020-02-20 2021-07-27 华中科技大学 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器

Also Published As

Publication number Publication date
CN110347339B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
US11550477B2 (en) Processing host write transactions using a non-volatile memory express controller memory manager
CN107967124B (zh) 一种分布式持久性内存存储系统及方法
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
JP3830886B2 (ja) 不揮発性メモリへのデータ貯蔵方法
US7886110B2 (en) Dynamically adjusting cache policy based on device load in a mass storage system
US8832333B2 (en) Memory system and data transfer method
US8892520B2 (en) Storage device including a file system manager for managing multiple storage media
CN102866957B (zh) 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置
CN105900069B (zh) 对被存储在闪存存储器中的数据的推测性预取
US6754732B1 (en) System and method for efficient data transfer management
US7321955B2 (en) Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices
US20200409601A1 (en) Hold of Write Commands in Zoned Namespaces
CN108647151A (zh) 一种全闪系统元数据落盘方法、装置、设备及存储介质
EP2397946A1 (en) Storage system using a rapid storage device as a cache
TWI514142B (zh) 儲存系統及其控制方法
US11372543B2 (en) Zone-append command scheduling based on zone state
CN107291399B (zh) 一种基于spdk的后端存储方法、装置及系统
KR20150050457A (ko) 하이브리드 디바이스에서의 고체 상태 메모리 커맨드 큐
EP2746958B1 (en) Method and system of caching web content in a hard disk
US8327041B2 (en) Storage device and data transfer method for the same
CN109471843A (zh) 一种元数据缓存方法、系统及相关装置
CN108153682A (zh) 一种利用闪存内部并行性进行闪存转换层地址映射的方法
CN115993930A (zh) 用于有序访问块修改存储器中的数据的系统、方法和装置
US20030177314A1 (en) Device / host coordinated prefetching storage system
CN110347339A (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