The embodiment of the invention discloses an execution method of a hard disk operation command, a hard disk and a storage medium. This method is applied to hard disks, including controllers and at least two flash particle groups. Each flash particle group includes at least one flash particle group, each flash particle group includes multiple physical blocks, and each flash particle group consists of one LUN. Different flash particles in different LUNs are located in the same flash particle group. The method includes: after receiving operation commands, confirming empty space. Target LUN in idle state; target physical block accessed when confirming operation command from target LUN; save operation command to wait processing queue corresponding to flash particles belonging to target physical block; modify the working state of target LUN when the number of operation commands waiting for processing in corresponding waiting processing queue of each flash particle in target LUN is larger than the preset threshold. Non-idle state. It can reduce the delay of I/O command reading.
【技术实现步骤摘要】
硬盘操作命令的执行方法、硬盘及存储介质
本专利技术涉及通信
,尤其涉及一种硬盘操作命令的执行方法、硬盘及存储介质。
技术介绍
固态硬盘(Solid-StateDisk,SSD)包括控制器和闪存阵列,闪存阵列中包括多个闪存颗粒。每个闪存颗粒内部由成千上万个大小相同的物理块组成,物理块的大小一般在数百KB到数MB之间,在每一个物理块的内部,又分成若干个大小相同的页,页的大小一般为4KB或8KB。在写入数据之前,控制器以物理块为粒度清空物理块中的数据。在写入数据时,控制器以页为粒度写入数据至闪存阵列。在存储领域,数据清空和数据写入这两个动作合起来称作数据擦写(Program/Erase,P/E)。每个物理块中的P/E次数有限,当某个物理块的P/E次数达到上限后,就无法保证该物理块能够继续有效地存取数据。为了避免物理块因P/E次数达到上限而失效,也为了加快固态硬盘对写请求的响应速度,固态硬盘采用地址空间虚拟化的方式进行管理,所有闪存颗粒在逻辑上被划分为多个组,由不同组中任一闪存颗粒中的一个物理块组成一个逻辑块,每个逻辑块中的物理块为不同闪存颗粒中的不同物理块。当有新数据写入时,固态硬盘在确定写入新数据需要访问的逻辑块后,不会选择该逻辑块中的保存旧数据的页所属的物理块保存数据,而是选择被清空的页所属的物理块来保存新数据,同时通过映射表记录逻辑块的地址和被清空的页所属的物理块的地址之间的映射关系。保存旧数据的页称为垃圾页,固态硬盘会按照回收策略读取垃圾页,以及回收垃圾页,即将垃圾页中的数据清空,例如将垃圾页中的数据删除或移动至其他的冗余闪存颗粒或冗余物理块中,以 ...
【技术保护点】
1.一种硬盘操作命令的执行方法,其特征在于,应用于硬盘,所述硬盘包括控制器和至少两个闪存颗粒组,每个闪存颗粒组包括至少一个闪存颗粒,每个闪存颗粒包括多个物理块,每个闪存颗粒组中的任一闪存颗粒组成一个逻辑单元LUN,同一闪存颗粒组中位于不同LUN中的闪存颗粒不同,所述方法由所述控制器执行,包括:接收操作命令后,确认目标LUN,所述目标LUN的工作状态为空闲状态,所述目标LUN处于所述空闲状态时,所述目标LUN中每个所述闪存颗粒分别对应的等待处理队列中等待处理的操作命令的数量小于或等于预设阈值;从所述目标LUN中确认待执行所述操作命令时所访问的目标物理块;保存所述操作命令至所述目标物理块所属的所述闪存颗粒对应的等待处理队列中;在所述目标LUN中每个所述闪存颗粒分别对应的等待处理队列中等待处理的操作命令的数量大于所述预设阈值时,修改所述目标LUN的工作状态为非空闲状态。
【技术特征摘要】
1.一种硬盘操作命令的执行方法,其特征在于,应用于硬盘,所述硬盘包括控制器和至少两个闪存颗粒组,每个闪存颗粒组包括至少一个闪存颗粒,每个闪存颗粒包括多个物理块,每个闪存颗粒组中的任一闪存颗粒组成一个逻辑单元LUN,同一闪存颗粒组中位于不同LUN中的闪存颗粒不同,所述方法由所述控制器执行,包括:接收操作命令后,确认目标LUN,所述目标LUN的工作状态为空闲状态,所述目标LUN处于所述空闲状态时,所述目标LUN中每个所述闪存颗粒分别对应的等待处理队列中等待处理的操作命令的数量小于或等于预设阈值;从所述目标LUN中确认待执行所述操作命令时所访问的目标物理块;保存所述操作命令至所述目标物理块所属的所述闪存颗粒对应的等待处理队列中;在所述目标LUN中每个所述闪存颗粒分别对应的等待处理队列中等待处理的操作命令的数量大于所述预设阈值时,修改所述目标LUN的工作状态为非空闲状态。2.如权利要求1所述的方法,其特征在于,每个闪存颗粒组中的任一闪存颗粒中的任一所述物理块组成一个逻辑块,同一所述闪存颗粒在不同的所述逻辑块中的所述物理块不同,所述操作命令包括I/O写命令、垃圾回收写命令或垃圾回收读命令,所述确认工作状态为空闲状态的目标LUN之前,还包括:确认目标逻辑块,所述目标逻辑块的操作状态为空闲状态,所述目标逻辑块处于所述空闲状态时,所述目标逻辑块中每个物理块所属的闪存颗粒分别对应的等待处理队列中不包括待访问所述目标逻辑块中的任意物理块时所要执行的其他操作命令,所述目标LUN由所述目标逻辑块中每个物理块所属的闪存颗粒组成。3.如权利要求1或2所述的方法,其特征在于,所述操作命令为所述I/O写命令或垃圾回收写命令时,所述目标LUN中的所述目标物理块为新块。4.如权利要求1-3任一所述的方法,其特征在于,所述操作命令包括I/O写命令、垃圾回收写命令或垃圾回收读命令,所述确认目标LUN,包括:查询LUN状态表,确认工作状态参数的值表示空闲状态的目标LUN,所述LUN状态表包括所述硬盘中各LUN的工作状态参数,所述LUN的工作状态参数用于指示所述LUN的工作状态。5.如权利要求1-4任一所述的方法,其特征在于,如果所述预设阈值为零,还包括:执行所述操作命令,以及修改所述目标逻辑块的操作状态为非空闲状态。6.如权利要求1-5任一所述的方法,其特征在于,如果所述预设阈值为零,还包括:在所述操作命令执行结束后,修改所述目标逻辑块的操作状态为空闲状态。7.如权利要求4-6任一所述的方法,其特征在于,还包括:在所述目标LUN中的所有逻辑块的操作状态为空闲状态时,将所述目标LUN的工作状态参数的值修改为空闲状态。8.一种硬盘,其特征在于,所述硬盘包括控制器和至少两个闪存颗粒组,每个闪存颗粒组包括至少一个闪存颗粒,每个闪存颗粒包括多个物理块,每个闪存颗粒组中的任一闪存颗粒组成一个LUN,同一闪存颗粒组中位于不同LUN中的闪存颗粒不同;所述控制器包括:确认单元,用于接收操作命令后,确认目标LUN,所述目标LUN的工作状态为空闲状态,所述...
【专利技术属性】
技术研发人员:褚小伟,赵献明,陈昊,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。