CN109726137B - 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 - Google Patents
固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 Download PDFInfo
- Publication number
- CN109726137B CN109726137B CN201711025071.7A CN201711025071A CN109726137B CN 109726137 B CN109726137 B CN 109726137B CN 201711025071 A CN201711025071 A CN 201711025071A CN 109726137 B CN109726137 B CN 109726137B
- Authority
- CN
- China
- Prior art keywords
- solid state
- state disk
- garbage collection
- input
- weight
- 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
Landscapes
- Processing Of Solid Wastes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘。该方法包括:确认该固态硬盘是否处于空闲状态;在该固态硬盘处于空闲状态时,获取垃圾回收任务权重,该垃圾回收任务权重表示单位时间该固态硬盘处理的垃圾回收任务的数量;更新该垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重;发送垃圾回收任务权重更新指令至该固态硬盘。通过在固态硬盘处于空闲状态时,更新得到大于当前的垃圾回收任务的权重的第一目标垃圾回收任务权重,使固态硬盘在空闲状态时进行垃圾回收的数量增大,避免了在输入输出任务较多时,固态硬盘频繁触发垃圾回收任务。
Description
技术领域
本申请涉及存储领域,并且更具体的,涉及一种固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘。
背景技术
固态硬盘(Solid State Drives,SSD)是一种高性能存储器。SSD包括控制器和闪存阵列,闪存阵列中包括多个闪存颗粒。每个闪存颗粒内部由成千上万个大小相同的物理块组成,物理块的大小一般在数百KB到数MB之间,在每一个物理块的内部,又分成若干个大小相同的页,页的大小一般为4KB或8KB。在写入数据之前,控制器以物理块为粒度清空物理块中的数据。在写入数据时,控制器以页为粒度写入数据至闪存阵列。闪存阵列支持写入(Program,P)和擦除(Erase,E)操作。SSD在接收到数据删除指令后,创建删除任务,但SSD不会立刻执行删除任务,而是先记录删除任务的信息。当SSD接收到写入任务时,会触发SSD执行垃圾回收(Garbage Collector,GC)操作,根据记录的删除任务的信息,将待删除数据所在的块中的其他有效数据搬移至其他的块中,然后执行E操作以擦除所述待删除数据所在的块。然后,SSD将待写入的数据写入被擦除的块中。
在SSD输入输出任务较多时,如果SSD的存储空间较少,输入输出任务会频繁触发GC任务,SSD在执行GC任务后再执行输入输出任务,导致了执行输入输出任务的时延。
发明内容
本申请提供了一种固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘,通过在固态硬盘处于空闲状态时,更新得到大于垃圾回收任务的权重的第一目标垃圾回收任务权重,使固态硬盘在空闲状态时进行垃圾回收的数量增大,避免了在输入输出任务较多时,固态硬盘频繁触发垃圾回收任务,并且,在空闲状态时处理的垃圾多,提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
第一方面,提供了一种固态硬盘垃圾回收任务的管理方法。所述方法应用于存储系统,所述存储系统包括控制器和固态硬盘,所述方法由控制器执行。所述方法包括:确认所述固态硬盘是否处于空闲状态。在所述固态硬盘处于空闲状态时,获取垃圾回收任务权重。所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量。然后更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重。其中,所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重。然后发送垃圾回收任务权重更新指令至所述固态硬盘。所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
因此,在控制器确认固态硬盘处于空闲状态时,对垃圾回收任务权重进行更新,获取更新后的第一目标垃圾回收任务权重,由于所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重,使的固态硬盘在空闲状态时进行垃圾回收的数量增大,避免了在在输入输出任务较多时,固态硬盘频繁触发垃圾回收任务,并且,在空闲状态时处理的垃圾多,提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
可选地,在第一方面的一种实现方式中,所述确认所述固态硬盘是否处于空闲状态之前,还包括:统计所述固态硬盘待处理的输入输出任务的数量;所述确认所述固态硬盘是否处于空闲状态,包括:确认所述待处理的输入输出任务的数量是否小于第一阈值;当所述待处理的输入输出任务的数量小于第一阈值时,确认所述固态硬盘处于空闲状态。
可选地,在第一方面的一种实现方式中,所述确认所述固态硬盘是否处于空闲状态之前,还包括:统计固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;所述确认所述固态硬盘是否处于空闲状态,包括:确认所述平均任务数是否小于第二阈值;当所述平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
第二方面,提供了一种固态硬盘垃圾回收任务的管理方法,所述方法应用于存储系统,所述存储系统包括控制器和固态硬盘,所述方法由控制器执行。所述方法包括:确认所述固态硬盘是否处于空闲状态。在所述固态硬盘处于非空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量。然后更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,其中,更新前的垃圾回收任务权重大于所述更新后的第一目标垃圾回收任务权重。发送垃圾回收任务权重更新指令至所述固态硬盘,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
因此,在控制器确认固态硬盘处于非空闲状态时,对垃圾回收任务权重进行更新,获取更新后的第一目标垃圾回收任务权重,由于更新后的第一目标垃圾回收任务权重小于更新前的垃圾回收任务权重,使得固态硬盘在非空闲状态时执行IO任务的数量增大,并且固态硬盘在空闲状态时处理的垃圾多提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,因此固态硬盘在非空闲状态时,不会频繁触发垃圾回收任务,进而减少IO任务的处理时延。
可选地,在第二方面的一种实现方式中,所述确认所述固态硬盘是否处于非空闲状态之前,还包括:统计固态硬盘待处理的输入输出任务的数量;所述确认所述固态硬盘是否处于非空闲状态,包括:确认所述待处理的输入输出任务的数量是否大于或等于第一阈值;当所述待处理的输入输出任务的数量大于或等于第一阈值时,确认所述固态硬盘处于非空闲状态。
可选地,在第二方面的一种实现方式中,所述确认所述固态硬盘是否处于非空闲状态之前,还包括:统计待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;所述确认所述固态硬盘是否处于非空闲状态,包括:确认所述平均任务数是否大于或等于第二阈值;当所述平均任务数大于或等于所述第二阈值时,确认所述固态硬盘处于非空闲状态。
第三方面,提供了一种固态硬盘垃圾回收任务的管理方法,所述方法应用于存储系统,所述存储系统包括控制器和固态硬盘。所述方法由所述固态硬盘执行,包括:接收所述控制器发送的垃圾回收任务权重更新指令。所述垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,所述第一目标垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量。然后将当前垃圾回收任务权重更新为所述第一目标垃圾回收任务权重。
因此,固态硬盘通过接收控制器发送的垃圾回收任务权重更新指令,所述垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,并将当前垃圾回收任务权重更新为所述第一目标垃圾回收任务权重,可以动态的对当前垃圾回收任务权重进行更新。
可选地,在第三方面的一种实现方式中,所述第一目标垃圾回收任务权重为所述固态硬盘在空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重大于更新前的所述当前垃圾回收任务权重。因此,在固态硬盘处于空闲状态时,固态硬盘根据接收控制器发送的第一目标垃圾回收任务权重,由于所述第一目标垃圾回收任务权重大于更新前的所述垃圾回收任务权重,使的固态硬盘在空闲状态时进行垃圾回收的数量增大,避免了在在输入输出任务较多时,固态硬盘频繁触发垃圾回收任务,并且,在空闲状态时处理的垃圾多,提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
可选地,在第三方面的一种实现方式中,所述第一目标垃圾回收任务权重为所述固态硬盘在非空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重小于更新前的所述当前垃圾回收任务权重。因此,在固态硬盘处于非空闲状态时,固态硬盘根据接收控制器发送的第一目标垃圾回收任务权重,由于所述第一目标垃圾回收任务权重小于更新前的所述当前垃圾回收任务权重,使得固态硬盘在非空闲状态时执行IO任务的数量增大,并且固态硬盘在空闲状态时处理的垃圾多提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,因此固态硬盘在非空闲状态时,不会频繁触发垃圾回收任务,进而减少IO任务的处理时延。
可选地,在第三方面的一种实现方式中,还包括:统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否小于或等于输入输出任务权重;如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数小于或等于输入输出任务权重,则执行所述待处理的输入输出任务。因此,固态硬盘通过统计控制器发送的待处理的输入输出任务的数量,并确定所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数,在所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数小于或等于输入输出任务权重时,则直接执行所述待处理的输入输出任务,不会触发GC任务,减小了IO任务的处理时延。
可选地,在第三方面的一种实现方式中,还包括:统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘处理的输入输出任务的数量;确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否大于所述当前输入输出任务权重;如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数大于所述当前输入输出任务权重,则更新所述当前输入输出任务权重,获取更新后的目标输入输出任务权重,所述目标输入输出任务权重大于所述当前输入输出任务权重。因此,固态硬盘通过统计控制器发送的待处理的输入输出任务的数量,并确定所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数,在所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数大于输入输出任务权重时,更新所述当前输入输出任务权重,得到更新后的目标输入输出任务权重,由于更新后的目标输入输出任务权重大于所述当前输入输出任务权重,进一步提高了固态硬盘处理IO任务的数量,减小了IO任务的处理时延。
可选地,在第三方面的一种实现方式中,还包括:如果所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重,则更新所述当前输入输出任务权重,获取更新后的目标输入输出任务权重,所述目标输入输出任务权重大于第一目标垃圾回收任务权重;或如果所述当前输入输出任务权重大于所述第一目标垃圾回收任务权重,则执行所述待处理的输入输出任务。因此,通过在当所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重时,更新所述当前输入输出任务权重,得到大于第一目标垃圾回收任务权重的目标输入输出任务权重;或在所述当前输入输出任务权重大于所述第一目标垃圾回收任务权重时,则执行所述待处理的输入输出任务,保证了执行输入输出任务的优先级,使得每次都先执行输入输出任务,可以进一步减小了IO任务的处理时延。
可选地,在第三方面的一种实现方式中,还包括:获取所述第一目标垃圾回收任务权重;更新所述第一目标垃圾回收任务权重,获取更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。因此,固态硬盘在获取到所述第一目标垃圾回收任务权重后,对其进行更新得到小于所述第一目标垃圾回收任务权重的第二目标垃圾回收任务权重,降低了执行GC任务的数量,从而可以在单位时间内执行更多的IO任务的数量。
可选地,在第三方面的一种实现方式中,还包括:统计垃圾回收任务的数量;确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否小于或等于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重,执行所述垃圾回收任务。因此,固态硬盘通过统计垃圾回收任务的数量,并确定所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数,在所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重时,执行所述垃圾回收任务。由于固态硬盘在空闲状态时处理的垃圾多,提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
可选地,在第三方面的一种实现方式中,还包括:统计垃圾回收任务的数量;确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否大于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重,确认所述固态硬盘是否处于空闲状态;在所述固态硬盘处于空闲状态时,获取所述第一目标垃圾回收任务权重;更新所述第一目标垃圾回收任务权重,获取更新后的第三目标垃圾回收任务权重,所述更新后的第三目标垃圾回收任务权重大于更新前的所述第一目标垃圾回收任务权重。因此,固态硬盘通过统计垃圾回收任务的数量,并确定所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数,在所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重时,更新得到大于所述第一目标垃圾回收任务权重的第三目标垃圾回收任务权重,确保了在单位时间内更多的执行GC任务,进一步提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
可选地,在第三方面的一种实现方式中,所述确认所述固态硬盘是否处于空闲状态之前,还包括:统计所述固态硬盘待处理的输入输出任务的数量;所述确认所述固态硬盘是否处于空闲状态,包括:确认所述待处理的输入输出任务的数量是否小于第一阈值;当所述待处理的输入输出任务的数量小于所述第一阈值时,确认所述固态硬盘处于空闲状态。
可选地,在第三方面的一种实现方式中,所述确认所述固态硬盘是否处于空闲状态之前,还包括:统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;所述确认所述固态硬盘是否处于空闲状态,包括:确认所述固态硬盘待处理的输入输出任务的平均任务数是否小于第二阈值;当所述固态硬盘待处理的输入输出任务的平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
第四方面,提供了一种控制器,包括:确定模块、获取模块、更新模块和发送模块,可以执行第一方面或第一方面的任一可选的实现方式中的方法以及执行第二方面或第二方面的任一可选的实现方式中的方法。
第五方面,提供了一种固态硬盘,包括:接收模块和更新模块,可以执行第三方面或第三方面的任一可选的实现方式中的方法。
第六方面,提供了一种控制器,包括处理器、存储器和接口,所述接口用于与固态硬盘通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述处理器执行所述指令时,所述控制器执行第一方面或第一方面的任一可选的实现方式中的方法以及执行第二方面或第二方面的任一可选的实现方式中的方法。
第七方面,提供了一种固态硬盘,包括处理器、存储器和接口,所述接口用于与控制器通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述处理器执行所述指令时,所述控制器执行第三方面或第三方面的任一可选的实现方式中的方法以及执行第二方面或第二方面的任一可选的实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当控制器的至少一个处理器执行所述计算机执行指令时,控制器执行第一方面或第一方面的任一可选的实现方式中的方法以及执行第二方面或第二方面的任一可选的实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当固态硬盘的至少一个处理器执行所述计算机执行指令时,控制器执行第三方面或第三方面的任一可选的实现方式中的方法。
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中,控制器的至少一个处理器可以从所述计算机可读存储介质读取该计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得控制器执行第一方面或第一方面的任一可选的实现方式中的方法以及执行第二方面或第二方面的任一可选的实现方式中的方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中,固态硬盘的至少一个处理器可以从所述计算机可读存储介质读取该计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得固态硬盘执行第三方面或第三方面的任一可选的实现方式中的方法。
附图说明
图1是根据本申请的一种存储系统的结构示意图。
图2是根据本申请的一种控制器的示意性结构框图。
图3是根据本申请的一种固态硬盘垃圾回收任务的管理方法的示意性流程图。
图4是根据本申请的一种固态硬盘垃圾回收任务的管理方法的示意性流程图。
图5是根据本申请的输入输出任务的权重和垃圾回收任务的权重的示意性图。
图6是根据本申请的输入输出任务的权重和垃圾回收任务的权重的示意性图。
图7是根据本申请的一种控制器的示意性框图。
图8是根据本申请的一种控制器的示意性框图。
图9是根据本申请的一种固态硬盘的示意性框图。
图10是根据本申请的一种装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
如图1所示,存储系统包括至少一个控制器11和至少一个固态硬盘44。
控制器11通过存储区域网络(storage area network,SAN)与主机(图中未示出)连接。控制器11可以是一种计算设备,如服务器、台式计算机等等。在控制器11上安装有写入系统以及应用程序。控制器11可以接收来自主机的输入输出(I/O)请求。控制器11还可以存储I/O请求中携带的数据,并且将该数据写入固态硬盘44中。控制器11属于系统控制器,系统控制器11是独立的设备,不同于固态硬盘44中的控制芯片。本实施例将固态硬盘44的控制芯片称为固态硬盘控制器。如无特别指明,本实施例中的控制器11都是指系统控制器11。
固态硬盘44是以闪存(flash memory)芯片为存储介质的存储器,可以包括多个闪存芯片,固态硬盘44又名固态驱动器(Solid State Drive,SSD)。
固态硬盘44用于接收控制器11发送的垃圾回收任务权重更新指令,将当前垃圾回收任务权重更新为该第一目标垃圾回收任务权重。该垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,该第一目标垃圾回收任务权重表示单位时间内该固态硬盘44处理的垃圾回收任务的数量。
该第一目标垃圾回收任务权重为该固态硬盘44在空闲状态时由该控制器11确认的垃圾回收任务权重,该第一目标垃圾回收任务权重大于更新前的该当前垃圾回收任务权重。
该第一目标垃圾回收任务权重为该固态硬盘44在非空闲状态时由该控制器11确认的垃圾回收任务权重,该第一目标垃圾回收任务权重小于更新前的该当前垃圾回收任务权重。
图2是图1中的控制器11的结构示例图,如图2所示,控制器11包括接口卡110、处理器112、存储器111和接口卡113。
接口卡110,用于和主机通信,用于接收主机发送的指令,控制器11可以通过接口卡110接收主机的写入指令。例如,写入指令包括关键字(key)和值(value),所述关键字是所述值的标识。举一个具体的例子,所述值可以是学生的各种信息,所述关键字可以是该学生的学号,或者其他表示该学生某一方面属性的标识。
接口卡113,用于和固态硬盘44通信,控制器11可以通过接口卡113将写数据指令发送给固态硬盘44存储。
处理器112,是一个中央处理器(central processing unit,CPU)。在本发明实施例中,处理器112可以用于接收来自主机的写入指令或者读取指令并且处理这些指令。处理器112还可以将所述写入指令中的数据发送给固态硬盘44。处理器112,还用于为所述数据分配逻辑地址,保存所述关键字与所述分配的逻辑地址之间的对应关系,以用于将来根据关键字与所述分配的逻辑地址之间的对应关系,读取所述数据。
处理器112还用于确认固态硬盘44是否处于空闲状态。在处理器112确定固态硬盘44处于空闲状态时,获取垃圾回收任务权重。该垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量。处理器112更新该垃圾回收任务权重,得到更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重。处理器112生成垃圾回收任务权重更新指令,通过接口113向发送垃圾回收任务权重更新指令至固态硬盘44,该垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
处理器112还用于确认固态硬盘44是否处于非空闲状态。在处理器112确定固态硬盘44处于空闲状态时,获取垃圾回收任务权重。所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量。处理器112更新该垃圾回收任务权重,得到更新后的第一目标垃圾回收任务权重,更新前的垃圾回收任务权重大于所述更新后的第一目标垃圾回收任务权重。处理器112生成垃圾回收任务权重更新指令,通过接口113向发送垃圾回收任务权重更新指令至固态硬盘44,该垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
存储器111,包括易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(random-access memory,RAM)。非易失性存储器例如为软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器111具有保电功能,保电功能是指系统发生掉电又重新上电时,存储器111中存储的数据也不会丢失。存储器111可以有一个或者多个,用于临时存储从主机接收的数据或从固态硬盘44读取的数据,例如控制器11接收主机发送的多个写入指令时,可以将所述多个写入指令中的数据暂时保存在存储器111中。
为了更好地理解本申请,下面根据图3至图9,以与图1所示的相同或相似的系统为例对本发明实施例进行说明。
图3是根据本申请的一种固态硬盘44垃圾回收任务的管理方法的示意性流程图。该方法应用于存储系统,该存储系统包括控制器11和固态硬盘44。如图3所示,该方法200包括以下内容。
在210中,控制器11确认该固态硬盘44是否处于空闲状态。
可选地,在确认该固态硬盘44是否处于空闲状态之前,控制器11统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;控制器11确认所述待处理的输入输出任务的数量是否小于第一阈值;当所述待处理的输入输出任务的数量小于第一阈值时,确认所述固态硬盘44处于空闲状态。
具体而言,该第一阈值是确定固态硬盘44为空闲状态或繁忙状态的一个临界值,IO任务的数量大于或等于该第一阈值,固态硬盘44为繁忙状态,IO任务的数量小于该第一阈值,固态硬盘44为空闲状态。第一阈值可以是根据经验设定的某个阈值。
可选地,在确认所述固态硬盘44是否处于空闲状态之前,控制器11统计固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘44待处理的输入输出任务的平均任务数;所述确认所述固态硬盘44是否处于空闲状态,包括:确认所述平均任务数是否小于第二阈值;当所述平均任务数小于第二阈值时,确认所述固态硬盘44处于空闲状态。
具体而言,该第二阈值是确定固态硬盘44为空闲状态或繁忙状态的一个临界值,IO任务的数量大于或等于该第二阈值,固态硬盘44为繁忙状态,IO任务的数量小于该第二阈值,固态硬盘44为空闲状态。
在220中,在该固态硬盘44处于空闲状态时,控制器11获取垃圾回收任务权重,该垃圾回收任务权重表示单位时间该固态硬盘44处理的垃圾回收任务的数量。
在230中,控制器11更新该垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重。
具体而言,控制器11在确定该固态硬盘44处于空闲状态时,该控制器11获取垃圾回收任务权重,并对获取的该垃圾回收任务权重进行更新,得到更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重。
例如,控制器11在确定该固态硬盘44处于空闲状态时,该控制器11获取垃圾回收任务权重为10,但此时由于输入输出任务较少,该垃圾回收任务的权重可以提高,因此对获取的该垃圾回收任务权重进行更新,得到更新后的第一目标垃圾回收任务权重为20。
在240中,控制器11发送垃圾回收任务权重更新指令至该固态硬盘44,该垃圾回收任务权重更新指令包括该更新后的第一目标垃圾回收任务权重。
在250中,固态硬盘44接收该控制器11发送的垃圾回收任务权重更新指令,该垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,该第一目标垃圾回收任务权重表示单位时间内该固态硬盘44处理的垃圾回收任务的数量。
在260中,固态硬盘44将当前垃圾回收任务权重更新为该第一目标垃圾回收任务权重。
因此,在本申请实施例中,控制器11在确认固态硬盘44处于空闲状态时,对垃圾回收任务权重进行更新,获取更新后的第一目标垃圾回收任务权重,所述控制器11将发送垃圾回收任务权重更新指令至所述固态硬盘44,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。由于所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重,使的固态硬盘在空闲状态时进行垃圾回收的数量增大,避免了在在输入输出任务较多时,固态硬盘频繁触发垃圾回收任务。并且,在空闲状态时处理的垃圾多,提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,进而减少IO任务的处理时延。
基于图3所示的垃圾回收任务的管理方法流程图,可选地,作为一种实施例,该方法200还包括:固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;该固态硬盘44确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数;该固态硬盘44确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数是否小于或等于输入输出任务权重,如果所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数小于或等于输入输出任务权重,则执行所述待处理的输入输出任务。
基于图3所示的垃圾回收任务的管理方法流程图,可选地,作为一种实施例,该方法200还包括:固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数;获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘44处理的输入输出任务的数量;确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数是否大于所述当前输入输出任务权重;如果所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数大于所述当前输入输出任务权重,则更新所述当前输入输出任务权重,获取更新后的目标输入输出任务权重,所述目标输入输出任务权重大于所述当前输入输出任务权重。
可选地,作为一种实施例,述更新所述当前输入输出任务权重之前,该方法200还包括:固态硬盘44确认所述当前输入输出任务权重是否小于或等于所述第一目标垃圾回收任务权重,如果所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重,则更新所述当前输入输出任务权重;所述更新所述当前输入输出任务权重之后,还包括:执行所述固态硬盘待处理的输入输出任务。
因此,通过在当所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重时,更新所述当前输入输出任务权重,得到大于第一目标垃圾回收任务权重的目标输入输出任务权重;或在所述当前输入输出任务权重大于所述第一目标垃圾回收任务权重时,则执行所述待处理的输入输出任务,保证了执行输入输出任务的优先级,使得每次都先执行输入输出任务,可以进一步减小了IO任务的处理时延。
可选地,基于图3所示的实施例的各种实现方式,为保证执行输入输出任务的优先级,作为一种实施例,该方法200还包括:获取所述第一目标垃圾回收任务权重;
更新所述第一目标垃圾回收任务权重,获取更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。
具体而言,在固态硬盘44接收到所述第一目标垃圾回收任务权重后,所述固态硬盘44可以对该第一目标垃圾回收任务权重进行更新,得到更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。例如,固态硬盘44判断此时输入输出任务较多,因此将该第一目标垃圾回收任务的权重减小得到第二目标垃圾回收任务的权重。
可选地,作为一种实施例,该方法200还包括:固态硬盘44统计垃圾回收任务的数量;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数是否小于或等于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重,执行所述垃圾回收任务。
可选地,作为一种实施例,该方法200还包括:统计垃圾回收任务的数量;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数是否大于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重,确认所述固态硬盘44是否处于空闲状态;在所述固态硬盘44处于空闲状态时,获取所述第一目标垃圾回收任务权重;更新所述第一目标垃圾回收任务权重,获取更新后的第三目标垃圾回收任务权重,所述更新后的第三目标垃圾回收任务权重大于更新前的所述第一目标垃圾回收任务权重。
可选地,作为一种实施例,该方法200还包括:在所述确认所述固态硬盘44是否处于空闲状态之前,固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量;所述确认所述固态硬盘44是否处于空闲状态,包括:确认所述待处理的输入输出任务的数量是否小于第一阈值;当所述待处理的输入输出任务的数量小于所述第一阈值时,确认所述固态硬盘44处于空闲状态。
可选地,作为一种实施例,该方法200还包括:在所述确认所述固态硬盘44是否处于空闲状态之前,固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘44待处理的输入输出任务的平均任务数;
所述确认所述固态硬盘44是否处于空闲状态,包括:
确认所述固态硬盘44待处理的输入输出任务的平均任务数是否小于第二阈值;
当所述固态硬盘44待处理的输入输出任务的平均任务数小于第二阈值时,确认所述固态硬盘44处于空闲状态。
图4是根据本申请的一种固态硬盘44垃圾回收任务的管理方法的示意性流程图。该方法应用于存储系统,该存储系统包括控制器11和固态硬盘44。如图4所示,该方法300包括以下内容。
在310中,控制器11确认该固态硬盘44是否处于空闲状态。
可选地,在确认该固态硬盘44是否处于空闲状态之前,控制器11统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;控制器11确认所述待处理的输入输出任务的数量是否大于或等于第一阈值;当所述待处理的输入输出任务的数量大于或等于该第一阈值时,确认所述固态硬盘44处于空闲状态。
具体而言,该第一阈值是确定固态硬盘44为空闲状态或繁忙状态的一个临界值,IO任务的数量大于或等于该第一阈值,固态硬盘44为繁忙状态,IO任务的数量小于该第一阈值,固态硬盘44为空闲状态。第一阈值可以是根据经验设定的某个阈值。
可选地,在确认所述固态硬盘44是否处于空闲状态之前,控制器11统计固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘44待处理的输入输出任务的平均任务数;所述确认所述固态硬盘44是否处于空闲状态,包括:确认所述平均任务数是否大于或等于第二阈值;当所述平均任务数大于或等于第二阈值时,确认所述固态硬盘44处于空闲状态。
具体而言,该第二阈值是确定固态硬盘44为空闲状态或繁忙状态的一个临界值,IO任务的数量大于或等于该第二阈值,固态硬盘44为繁忙状态,IO任务的数量小于该第二阈值,固态硬盘44为空闲状态。
在320中,在该固态硬盘44处于非空闲状态时,控制器11获取垃圾回收任务权重,该垃圾回收任务权重表示单位时间该固态硬盘44处理的垃圾回收任务的数量。
在330中,控制器11更新该垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重小于更新前的垃圾回收任务权重。
具体而言,控制器11在确定该固态硬盘44处于非空闲状态时,该控制器11获取垃圾回收任务权重,并对获取的该垃圾回收任务权重进行更新,得到更新后的第一目标垃圾回收任务权重,该更新后的第一目标垃圾回收任务权重小于更新前的垃圾回收任务权重。
例如,控制器11在确定该固态硬盘44处于空闲状态时,该控制器11获取垃圾回收任务权重为10,但此时由于输入输出任务较多,该垃圾回收任务的权重可以减小,因此对获取的该垃圾回收任务权重进行更新,得到更新后的第一目标垃圾回收任务权重为5。
在340中,控制器11发送垃圾回收任务权重更新指令至该固态硬盘44,该垃圾回收任务权重更新指令包括该更新后的第一目标垃圾回收任务权重。
在350中,固态硬盘44接收该控制器11发送的垃圾回收任务权重更新指令,该垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,该第一目标垃圾回收任务权重表示单位时间内该固态硬盘44处理的垃圾回收任务的数量。
在360中,固态硬盘44将当前垃圾回收任务权重更新为该第一目标垃圾回收任务权重。
因此,在控制器确认固态硬盘处于非空闲状态时,对垃圾回收任务权重进行更新,获取更新后的第一目标垃圾回收任务权重,由于更新后的第一目标垃圾回收任务权重小于更新前的垃圾回收任务权重,使得固态硬盘在非空闲状态时执行IO任务的数量增大,并且固态硬盘在空闲状态时处理的垃圾多提高了后续待存储写数据的空间的容量,避免由于空间不足频繁的触发GC任务,因此固态硬盘在非空闲状态时,不会频繁触发垃圾回收任务,进而减少IO任务的处理时延。
可选地,作为一种实施例,该方法300还包括:固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;该固态硬盘44确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数;该固态硬盘44确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数是否小于或等于输入输出任务权重,如果所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数小于或等于输入输出任务权重,则执行所述待处理的输入输出任务。
可选地,作为一种实施例,该方法300还包括:固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数;获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘44处理的输入输出任务的数量;确认所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数是否大于所述当前输入输出任务权重;如果所述单位时间内所述固态硬盘44处理所述待处理的输入输出任务的平均任务数大于所述当前输入输出任务权重,则更新所述当前输入输出任务权重,获取更新后的目标输入输出任务权重,所述目标输入输出任务权重大于所述当前输入输出任务权重。
可选地,作为一种实施例,该方法300还包括:所述更新所述当前输入输出任务权重之前,固态硬盘44确认所述当前输入输出任务权重是否小于或等于所述第一目标垃圾回收任务权重,如果所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重,则更新所述当前输入输出任务权重;所述更新所述当前输入输出任务权重之后,还包括:执行所述固态硬盘待处理的输入输出任务。
因此,通过在当所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重时,更新所述当前输入输出任务权重,得到大于第一目标垃圾回收任务权重的目标输入输出任务权重;或在所述当前输入输出任务权重大于所述第一目标垃圾回收任务权重时,则执行所述待处理的输入输出任务,保证了执行输入输出任务的优先级,使得每次都先执行输入输出任务,可以进一步减小了IO任务的处理时延。
可选地,作为一种实施例,该方法300还包括:获取所述第一目标垃圾回收任务权重;更新所述第一目标垃圾回收任务权重,获取更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。
具体而言,在固态硬盘44接收到所述第一目标垃圾回收任务权重后,所述固态硬盘44可以对该第一目标垃圾回收任务权重进行更新,得到更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。例如,固态硬盘44判断此时输入输出任务较多,因此将该第一目标垃圾回收任务的权重减小得到第二目标垃圾回收任务的权重。
可选地,作为一种实施例,该方法300还包括:固态硬盘44统计垃圾回收任务的数量;
确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数是否小于或等于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重,执行所述垃圾回收任务。
可选地,作为一种实施例,该方法300还包括:固态硬盘44统计垃圾回收任务的数量;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数;确认所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数是否大于所述第一目标垃圾回收任务权重;如果所述单位时间内所述固态硬盘44处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重,确认所述固态硬盘44是否处于非空闲状态;在所述固态硬盘44处于非空闲状态时,执行所述垃圾回收任务。
可选地,作为一种实施例,该方法300还包括:在所述确认所述固态硬盘44是否处于空闲状态之前,固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量;所述确认所述固态硬盘44是否处于非空闲状态,包括:确认所述待处理的输入输出任务的数量是否大于或等于第一阈值;当所述待处理的输入输出任务的数量大于或等于所述第一阈值时,确认所述固态硬盘44处于非空闲状态。
可选地,作为一种实施例,该方法300还包括:在所述确认所述固态硬盘44是否处于非空闲状态之前,固态硬盘44统计所述固态硬盘44待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘44连接的控制器11发送给所述固态硬盘44的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘44待处理的输入输出任务的平均任务数;
所述确认所述固态硬盘44是否处于空闲状态,包括:
确认所述固态硬盘44待处理的输入输出任务的平均任务数是否大于或等于第二阈值;
当所述固态硬盘44待处理的输入输出任务的平均任务数大于或等于第二阈值时,确认所述固态硬盘44处于非空闲状态。
为了更好地理解本申请,下面通过图4和图5对如何调整输入输出任务的权重和垃圾回收任务的权重进行说明。
例如,图5示出了在固态硬盘44处于繁忙状态时,该输入输出任务的权重和垃圾回收任务的权重取值情况。首先假设第一阈值为2,此时IO任务的数量为3,大于第一阈值,因此该固态硬盘44的输入输出任务的权重为3,该固态硬盘44的垃圾回收任务的权重为1。即在执行三次IO任务时,执行一次GC任务。可以在执行第一次IO任务后执行一次GC任务,或者在执行三次IO任务的任一个IO任务之后,执行一次GC任务。固态硬盘44首先判断输入输出任务权重和垃圾回收任务权重的大小,如果输入输出任务权重大于垃圾回收任务权重,则表示优先处理IO任务,可以是优先处理一个或优先顺序处理2个或2个以上的IO任务。具体优先处理的IO任务的数量可以是固态硬盘44随机选择或预先设定的一个数值。
例如,图6示出了在固态硬盘44处于空闲状态时,该输入输出任务的权重和垃圾回收任务的权重取值情况。首先假设第一阈值为4,此时IO任务的数量为3,小于第一阈值,因此可以调整该固态硬盘44的垃圾回收任务的权重,将该权重增大为2,该固态硬盘44的输入输出任务的权重为3。固态硬盘44可以在空闲状态或非空闲状态时保证处理IO任务的优先级,即设定IO任务的权重大于GC任务的权重。当固态硬盘处于非空闲状态时,可以降低GC任务的权重,当固态硬盘44处于空闲状态时,可以提高GC任务的权重,但是GC任务的权重小于IO任务的权重。具体优先处理的IO任务的数量可以是固态硬盘44随机选择或预先设定的一个数值。
可选地,作为一种实施例,IO任务和GC任务在不同的任务调度中执行,可以写入不同的晶体上的block,利用晶体的并发处理特性降低GC任务对IO任务的时延影响,保障带宽。
可选地,该输入输出任务的权重还可以是单位时间内执行该输入输出任务的比例;该垃圾回收任务的权重还可以是单位时间内执行该垃圾回收任务的比例。
具体而言,在单位时间内设定该输入输出任务的权重为10,该垃圾回收任务的权重为2。如果该单位时间内的输入输出任务的数量为100,那么在该单位时间内的垃圾回收任务的数量为20。如果当前固态硬盘44处于繁忙状态,可以增大该输入输出任务的权重或者减小该垃圾回收任务的权重。如果当前固态硬盘44处于空闲状态,可以减小该输入输出任务的权重或者增大该垃圾回收任务的权重,但为了保证固态硬盘44处理输入输出任务的优先级,因此,该输入输出任务的权重应该大于该垃圾回收任务的权重。
可选地,作为一种实施例,固态硬盘44可以采用加权循环调度算法(WeightedRound Robin,WRR)来调整执行该输入输出任务的权重和/或执行该垃圾回收任务的权重。
应理解,固态硬盘44可以采用加权循环调度算法来调整执行该输入输出任务的权重和/或执行该垃圾回收任务的权重仅作为一种示例,固态硬盘44还可以采用其他算法来调整执行该第一任务的系数和/或执行该第二任务的系数,本申请并不对此限定。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图7是根据本申请的控制器的示意性框图。如图7所示,该控制器400包括:
确定模块410,用于确认所述固态硬盘44是否处于空闲状态;
获取模块420,用于在所述固态硬盘44处于空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间所述固态硬盘44处理的垃圾回收任务的数量;
更新模块430,用于更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重;
发送模块440,用于发送垃圾回收任务权重更新指令至所述固态硬盘44,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
可选地,该确定模块410、该获取模块420、该更新模块430和该发送模块440用于执行本申请的一种固态硬盘44垃圾回收任务的管理方法200中的控制器11的各个操作,为了简洁,在此不再赘述。
上述控制器400与方法200实施例中的控制器11完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
需要说明的是,确定模块410、获取模块420、更新模块430和发送模块440可以分开设置,也可以集成在一起,以一个处理芯片实现。
图8是根据本申请的控制器的示意性框图。如图8所示,该控制器500包括:
确定模块510,用于确认所述固态硬盘44是否处于空闲状态;
获取模块520,用于在所述固态硬盘44处于非空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘44处理的垃圾回收任务的数量;
更新模块530,用于更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,所述更新后的第一目标垃圾回收任务权重小于更新前的垃圾回收任务权重;
发送模块540,用于发送垃圾回收任务权重更新指令至所述固态硬盘44,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
可选地,该确定模块510、该获取模块520、该更新模块530和该发送模块540用于执行本申请的一种固态硬盘44垃圾回收任务的管理方法300中的控制器11的各个操作,为了简洁,在此不再赘述。
上述控制器400与方法300实施例中的控制器11完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
需要说明的是,确定模块510、获取模块520、更新模块530和发送模块540可以分开设置,也可以集成在一起,以一个处理芯片实现。
图9是根据本申请的固态硬盘的示意性框图。如图9所示,该固态硬盘600包括:
接收模块610,用于接收所述控制器11发送的垃圾回收任务权重更新指令,所述垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,所述第一目标垃圾回收任务权重表示单位时间内所述固态硬盘44处理的垃圾回收任务的数量;
更新模块620,用于将当前垃圾回收任务权重更新为所述第一目标垃圾回收任务权重。
可选地,该接收模块610和该更新模块620用于执行本申请的一种固态硬盘44垃圾回收任务的管理方法200和方法300中的固态硬盘44的各个操作,为了简洁,在此不再赘述。
上述固态硬盘600与方法实施例中的固态硬盘44完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
需要说明的是,接收模块610和更新模块620可以分开设置,也可以集成在一起,以一个处理芯片实现。
图10示出了本申请提供的装置700的示意性框图。该装置700包括:
存储器710、处理器720、输入/输出接口730。其中,存储器710、处理器720和输入/输出接口730通过内部连接通路相连,该存储器710用于存储程序指令,该处理器720用于执行该存储器710存储的程序指令,以控制输入/输出接口730接收输入的数据和信息,输出操作结果等数据。
可选地,当该代码被执行时,该处理器730可以实现方法200或方法300的各个操作,为了简洁,在此不再赘述。此时,该装置700可以是控制器11也可以是固态硬盘44。
应理解,在本申请实施例中,该处理器730可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器730还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
收发器720可以是用于实现信号发送和接收功能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (37)
1.一种固态硬盘垃圾回收任务的管理方法,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,所述方法由控制器执行,包括:
确认所述固态硬盘是否处于空闲状态;
在所述固态硬盘处于空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重;
发送垃圾回收任务权重更新指令至所述固态硬盘,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
2.如权利要求1所述的方法,其特征在于,所述确认所述固态硬盘是否处于空闲状态之前,还包括:
统计所述固态硬盘待处理的输入输出任务的数量;
所述确认所述固态硬盘是否处于空闲状态,包括:
确认所述待处理的输入输出任务的数量是否小于第一阈值;
当所述待处理的输入输出任务的数量小于第一阈值时,确认所述固态硬盘处于空闲状态。
3.如权利要求1所述的方法,其特征在于,所述确认所述固态硬盘是否处于空闲状态之前,还包括:
统计固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确认所述固态硬盘是否处于空闲状态,包括:
确认所述平均任务数是否小于第二阈值;
当所述平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
4.一种固态硬盘垃圾回收任务的管理方法,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,所述方法由控制器执行,包括:
确认所述固态硬盘是否处于空闲状态;
在所述固态硬盘处于非空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,更新前的垃圾回收任务权重大于所述更新后的第一目标垃圾回收任务权重;
发送垃圾回收任务权重更新指令至所述固态硬盘,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
5.如权利要求4所述的方法,其特征在于,所述确认所述固态硬盘是否处于非空闲状态之前,还包括:
统计固态硬盘待处理的输入输出任务的数量;
所述确认所述固态硬盘是否处于非空闲状态,包括:
确认所述待处理的输入输出任务的数量是否大于或等于第一阈值;
当所述待处理的输入输出任务的数量大于或等于第一阈值时,确认所述固态硬盘处于非空闲状态。
6.如权利要求4所述的方法,其特征在于,所述确认所述固态硬盘是否处于非空闲状态之前,还包括:
统计待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确认所述固态硬盘是否处于非空闲状态,包括:
确认所述平均任务数是否大于或等于第二阈值;
当所述平均任务数大于或等于所述第二阈值时,确认所述固态硬盘处于非空闲状态。
7.一种固态硬盘垃圾回收任务的管理方法,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,所述方法由所述固态硬盘执行,包括:
接收所述控制器发送的垃圾回收任务权重更新指令,所述垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,所述第一目标垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
将当前垃圾回收任务权重更新为所述第一目标垃圾回收任务权重。
8.如权利要求7所述的方法,其特征在于,所述第一目标垃圾回收任务权重为所述固态硬盘在空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重大于更新前的所述当前垃圾回收任务权重。
9.如权利要求7所述的方法,其特征在于,所述第一目标垃圾回收任务权重为所述固态硬盘在非空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重小于更新前的所述当前垃圾回收任务权重。
10.如权利要求7-9任一所述的方法,其特征在于,还包括:
接收控制器发送的输入输出任务;
统计所述固态硬盘待处理的输入输出任务的数量;
确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;
获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘处理的输入输出任务的数量;
确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否小于或等于所述当前输入输出任务权重;
如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数小于或等于所述当前输入输出任务权重,则执行所述固态硬盘待处理的输入输出任务。
11.如权利要求7-9任一所述的方法,其特征在于,还包括:
接收控制器发送的输入输出任务;
统计所述固态硬盘待处理的输入输出任务的数量;
确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;
获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘处理的输入输出任务的数量;
确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否大于所述当前输入输出任务权重;
如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数大于所述当前输入输出任务权重,则更新所述当前输入输出任务权重,获取更新后的第一目标输入输出任务权重,所述第一目标输入输出任务权重大于所述当前输入输出任务权重。
12.如权利要求11所述的方法,其特征在于,所述更新所述当前输入输出任务权重之前,还包括:
确认所述当前输入输出任务权重是否小于或等于所述第一目标垃圾回收任务权重,如果所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重,则更新所述当前输入输出任务权重;所述更新所述当前输入输出任务权重之后,还包括:执行所述固态硬盘待处理的输入输出任务。
13.如权利要求11所述的方法,其特征在于,还包括:
获取所述第一目标垃圾回收任务权重;
更新所述第一目标垃圾回收任务权重,获取更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。
14.如权利要求7-9任一所述的方法,其特征在于,还包括:
统计垃圾回收任务的数量;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否小于或等于所述第一目标垃圾回收任务权重;
如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重,执行所述垃圾回收任务。
15.如权利要求7-9任一所述的方法,其特征在于,还包括:
统计垃圾回收任务的数量;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否大于所述第一目标垃圾回收任务权重;
如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重,确认所述固态硬盘是否处于空闲状态;
在所述固态硬盘处于空闲状态时,获取所述第一目标垃圾回收任务权重;
更新所述第一目标垃圾回收任务权重,获取更新后的第三目标垃圾回收任务权重,所述更新后的第三目标垃圾回收任务权重大于更新前的所述第一目标垃圾回收任务权重。
16.如权利要求15所述的方法,其特征在于,所述确认所述固态硬盘是否处于空闲状态之前,还包括:
统计所述固态硬盘待处理的输入输出任务的数量;
所述确认所述固态硬盘是否处于空闲状态,包括:
确认所述待处理的输入输出任务的数量是否小于第一阈值;
当所述待处理的输入输出任务的数量小于所述第一阈值时,确认所述固态硬盘处于空闲状态。
17.如权利要求15所述的方法,其特征在于,所述确认所述固态硬盘是否处于空闲状态之前,还包括:
统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确认所述固态硬盘是否处于空闲状态,包括:
确认所述固态硬盘待处理的输入输出任务的平均任务数是否小于第二阈值;
当所述固态硬盘待处理的输入输出任务的平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
18.一种控制器,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,包括:
确定模块,用于确认所述固态硬盘是否处于空闲状态;
获取模块,用于在所述固态硬盘处于空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
更新模块,用于更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,所述更新后的第一目标垃圾回收任务权重大于更新前的垃圾回收任务权重;
发送模块,用于发送垃圾回收任务权重更新指令至所述固态硬盘,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
19.如权利要求18所述的控制器,其特征在于,所述控制器还包括:
统计模块,用于统计所述固态硬盘待处理的输入输出任务的数量;
所述确定模块还用于:
确认所述待处理的输入输出任务的数量是否小于第一阈值;
当所述待处理的输入输出任务的数量小于第一阈值时,确认所述固态硬盘处于空闲状态。
20.如权利要求18所述的控制器,其特征在于,所述控制器还包括:
统计模块,用于统计固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确定模块还用于:
确认所述平均任务数是否小于第二阈值;
当所述平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
21.一种控制器,其特征在于,包括接口、处理器和存储器,其中用于控制所述接口收发信号,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述控制器执行权利要求1至3中任一项所述的方法。
22.一种控制器,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,包括:
确定模块,用于确认所述固态硬盘是否处于空闲状态;
获取模块,用于在所述固态硬盘处于非空闲状态时,获取垃圾回收任务权重,所述垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
更新模块,用于更新所述垃圾回收任务权重,获取更新后的第一目标垃圾回收任务权重,更新前的垃圾回收任务权重大于所述更新后的第一目标垃圾回收任务权重;
发送模块,用于发送垃圾回收任务权重更新指令至所述固态硬盘,所述垃圾回收任务权重更新指令包括所述更新后的第一目标垃圾回收任务权重。
23.如权利要求22所述的控制器,其特征在于,所述控制器还包括:
统计模块,用于统计固态硬盘待处理的输入输出任务的数量;
所述确定模块还用于:
确认所述待处理的输入输出任务的数量是否大于或等于第一阈值;
当所述待处理的输入输出任务的数量大于或等于第一阈值时,确认所述固态硬盘处于非空闲状态。
24.如权利要求22所述的控制器,其特征在于,所述控制器还包括:
统计模块,用于统计待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确定模块还用于:
确认所述平均任务数是否大于或等于第二阈值;
当所述平均任务数大于或等于所述第二阈值时,确认所述固态硬盘处于非空闲状态。
25.一种控制器,其特征在于,包括接口、处理器和存储器,其中所述接口用于接收输入输出任务,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述控制器执行权利要求4至6中任一项所述的方法。
26.一种固态硬盘,其特征在于,应用于存储系统,所述存储系统包括控制器和固态硬盘,所述固态硬盘包括:
接收模块,用于接收所述控制器发送的垃圾回收任务权重更新指令,所述垃圾回收任务权重更新指令包括第一目标垃圾回收任务权重,所述第一目标垃圾回收任务权重表示单位时间内所述固态硬盘处理的垃圾回收任务的数量;
更新模块,用于将当前垃圾回收任务权重更新为所述第一目标垃圾回收任务权重。
27.如权利要求26所述的固态硬盘,其特征在于,所述第一目标垃圾回收任务权重为所述固态硬盘在空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重大于更新前的所述当前垃圾回收任务权重。
28.如权利要求26所述的固态硬盘,其特征在于,所述第一目标垃圾回收任务权重为所述固态硬盘在非空闲状态时由所述控制器确认的垃圾回收任务权重,所述第一目标垃圾回收任务权重小于更新前的所述当前垃圾回收任务权重。
29.如权利要求26-28任一所述的固态硬盘,其特征在于,所述接收模块还用于接收控制器发送的输入输出任务;
所述固态硬盘还包括统计模块,所述统计模块用于统计所述固态硬盘待处理的输入输出任务的数量;
所述固态硬盘还包括获取模块,所述获取模块用于获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘处理的输入输出任务的数量;
所述固态硬盘还包括确定模块,所述确定模块用于确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;
确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否小于或等于所述当前输入输出任务权重;
所述固态硬盘还包括处理模块,所述处理模块用于如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数小于或等于所述当前输入输出任务权重时,则执行所述固态硬盘待处理的输入输出任务。
30.如权利要求26-28任一所述的固态硬盘,其特征在于,所述接收模块还用于接收控制器发送的输入输出任务;
所述固态硬盘还包括统计模块,所述统计模块用于统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
所述固态硬盘还包括确定模块,所述确定模块用于确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数;
所述固态硬盘还包括获取模块,所述获取模块用于获取当前输入输出任务权重,所述当前输入输出任务权重表示所述单位时间内所述固态硬盘处理的输入输出任务的数量;
所述确定模块还用于确认所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数是否大于所述当前输入输出任务权重;
所述更新模块还用于,如果所述单位时间内所述固态硬盘处理所述待处理的输入输出任务的平均任务数大于所述当前输入输出任务权重,则更新所述当前输入输出任务权重;
所述获取模块还用于获取更新后的第一目标输入输出任务权重,所述第一目标输入输出任务权重大于所述当前输入输出任务权重。
31.如权利要求30所述的固态硬盘,其特征在于,所述确定模块还用于确认所述当前输入输出任务权重是否小于或等于所述第一目标垃圾回收任务权重;
所述更新模块还用于,如果所述当前输入输出任务权重小于或等于所述第一目标垃圾回收任务权重,则更新所述当前输入输出任务权重;
所述处理模块还用于在所述更新所述当前输入输出任务权重之后,执行所述固态硬盘待处理的输入输出任务。
32.如权利要求30所述的固态硬盘,其特征在于,所述获取模块还用于:
获取所述第一目标垃圾回收任务权重;
所述更新模块还用于:更新所述第一目标垃圾回收任务权重,得到更新后的第二目标垃圾回收任务权重,所述更新后的第二目标垃圾回收任务权重小于更新前的所述第一目标垃圾回收任务权重。
33.如权利要求26-28任一所述的固态硬盘,其特征在于,所述固态硬盘还包括统计模块、确定模块和执行模块,所述统计模块还用于:
统计垃圾回收任务的数量;
所述确定模块还用于:确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否小于或等于所述第一目标垃圾回收任务权重;
所述执行模块还用于:如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数小于或等于所述第一目标垃圾回收任务权重,执行所述垃圾回收任务。
34.如权利要求26-28任一所述的固态硬盘,其特征在于,所述固态硬盘还包括统计模块、确定模块和获取模块,所述统计模块还用于:
统计垃圾回收任务的数量;
所述确定模块还用于:确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数;
确认所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数是否大于所述第一目标垃圾回收任务权重;
如果所述单位时间内所述固态硬盘处理所述垃圾回收任务的平均任务数大于所述第一目标垃圾回收任务权重,确认所述固态硬盘是否处于空闲状态;
所述获取模块还用于:在所述固态硬盘处于空闲状态时,获取所述第一目标垃圾回收任务权重;
所述更新模块还用于:更新所述第一目标垃圾回收任务权重,得到更新后的第三目标垃圾回收任务权重,所述更新后的第三目标垃圾回收任务权重大于更新前的所述第一目标垃圾回收任务权重。
35.如权利要求34所述的固态硬盘,其特征在于,所述统计模块还用于:
统计所述固态硬盘待处理的输入输出任务的数量;
所述确定模块还用于:
确认所述待处理的输入输出任务的数量是否小于第一阈值;
当所述待处理的输入输出任务的数量小于所述第一阈值时,确认所述固态硬盘处于空闲状态。
36.如权利要求34所述的固态硬盘,其特征在于,所述统计模块还用于:
所述确认所述固态硬盘是否处于空闲状态之前,统计所述固态硬盘待处理的输入输出任务的数量,所述输入输出任务是由与所述固态硬盘连接的控制器发送给所述固态硬盘的;
根据所述待处理的输入输出任务的数量统计在所述单位时间内所述固态硬盘待处理的输入输出任务的平均任务数;
所述确定模块还用于:
确认所述固态硬盘待处理的输入输出任务的平均任务数是否小于第二阈值;
当所述固态硬盘待处理的输入输出任务的平均任务数小于第二阈值时,确认所述固态硬盘处于空闲状态。
37.一种固态硬盘,其特征在于,包括接口、处理器和存储器,其中所述接口用于接收输入输出任务,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述控制器执行权利要求7至17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711025071.7A CN109726137B (zh) | 2017-10-27 | 2017-10-27 | 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711025071.7A CN109726137B (zh) | 2017-10-27 | 2017-10-27 | 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726137A CN109726137A (zh) | 2019-05-07 |
CN109726137B true CN109726137B (zh) | 2021-01-29 |
Family
ID=66292127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711025071.7A Active CN109726137B (zh) | 2017-10-27 | 2017-10-27 | 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726137B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11550711B2 (en) * | 2019-09-09 | 2023-01-10 | Micron Technology, Inc. | Dynamically adjusted garbage collection workload |
CN111078588B (zh) * | 2019-12-17 | 2022-03-25 | 北京三快在线科技有限公司 | 垃圾回收方法、装置、设备及存储介质 |
CN113377278A (zh) * | 2020-03-10 | 2021-09-10 | 阿里巴巴集团控股有限公司 | 固态硬盘、垃圾回收及控制方法、设备、系统及存储介质 |
CN111737163B (zh) * | 2020-06-22 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 一种数据流量控制方法、装置及固态硬盘 |
CN113778821A (zh) * | 2021-07-30 | 2021-12-10 | 联芸科技(杭州)有限公司 | 固态硬盘的介质访问管理方法及固态硬盘 |
CN114840450B (zh) * | 2022-07-04 | 2022-11-18 | 荣耀终端有限公司 | 一种存储空间整理方法及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073103A1 (en) * | 2000-08-25 | 2002-06-13 | Bottomley Thomas Mark Walter | Memory garbage collection method and apparatus |
CN101281458B (zh) * | 2008-05-14 | 2011-06-01 | 华为技术有限公司 | 一种垃圾回收的装置、系统及方法 |
CN104090847B (zh) * | 2014-06-25 | 2017-01-11 | 华中科技大学 | 一种固态存储设备的地址分配方法 |
CN105630638B (zh) * | 2014-10-31 | 2018-01-12 | 国际商业机器公司 | 用于为磁盘阵列分配缓存的设备和方法 |
-
2017
- 2017-10-27 CN CN201711025071.7A patent/CN109726137B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109726137A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726137B (zh) | 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 | |
US11960393B2 (en) | Data processing method and apparatus, and flash device | |
US20230259310A1 (en) | Latency-based Scheduling of Command Processing in Data Storage Devices | |
US9348749B2 (en) | Host-driven garbage collection | |
US9569352B2 (en) | Storage module and method for regulating garbage collection operations based on write activity of a host | |
US9658777B2 (en) | Storage module and host device for storage module defragmentation | |
US11030094B2 (en) | Apparatus and method for performing garbage collection by predicting required time | |
US10572391B2 (en) | Methods and apparatus for implementing a logical to physical address mapping in a solid state drive | |
US9747298B2 (en) | Inline garbage collection for log-structured file systems | |
US20150378888A1 (en) | Controller, flash memory apparatus, and method for writing data into flash memory apparatus | |
US10459844B2 (en) | Managing flash memory read operations | |
US20210072923A1 (en) | Storage device and computer system | |
US20160162187A1 (en) | Storage System And Method For Processing Writing Data Of Storage System | |
US20100174853A1 (en) | User device including flash and random write cache and method writing data | |
CN108334284B (zh) | 尾延迟感知前台垃圾收集算法 | |
CN109582215B (zh) | 硬盘操作命令的执行方法、硬盘及存储介质 | |
EP3059679B1 (en) | Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device | |
US11392309B2 (en) | Memory system for performing migration operation and operating method thereof | |
US11138104B2 (en) | Selection of mass storage device streams for garbage collection based on logical saturation | |
CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
US10416907B2 (en) | Storage system, storage control apparatus, and method of controlling a storage device | |
CN108073358B (zh) | 包括存储设备的用户设备及存储设备的修剪管理方法 | |
US20190079830A1 (en) | Data storage device and operating method thereof | |
EP2799996A1 (en) | Information processing apparatus, control circuit, control program, and control method | |
WO2017054714A1 (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 |