一种固态硬盘和固态硬盘的逻辑块地址的管理方法与流程
- 国知局
- 2024-11-06 14:44:17
本发明涉及存储设备领域,特别是涉及一种固态硬盘和固态硬盘的逻辑块地址的管理方法。
背景技术:
1、随着科技的迅猛进步,数据量的激增对存储和读写性能提出了更高的要求。传统的机械硬盘由于其读取速度和存储容量的限制,已逐渐无法满足现代社会的需求。在这一背景下,新一代的数据存储介质——固态硬盘(solid state drive,ssd)应运而生。ssd的独特结构要求使用专门的ssd控制器来读写其内部数据。在ssd的读写操作中,管理逻辑块地址(logical block addressing,lba)成为关键,这就需要一种专用的逻辑块地址管理模块来有效管理这些地址。
2、现有技术通常使用软件实现逻辑块地址的管理,软件实现需要占用中央处理器资源,影响系统整体性能,效率较低。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种固态硬盘和固态硬盘的逻辑块地址的管理方法。
2、为了解决上述问题,本发明实施例公开了一种固态硬盘,所述固态硬盘包括主控制器,所述主控制器包括总线、中央处理器、输入接口、控制模块和输出接口;
3、所述输入接口与所述总线连接,用于接收所述中央处理器通过所述总线发送的命令条目,所述命令条目包括针对逻辑块地址的检查命令、增加命令或删除命令其中之一;
4、所述控制模块的输入端与所述输入接口的输入端连接;用于接收所述命令条目;根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;向所述输入接口对应的输出接口发送所述处理结果;
5、所述输出接口的输入端与所述控制模块的输出端连接,用于接收所述处理结果;向所述总线发送所述针对所述命令条目的处理结果,以使所述中央处理器获取所述处理结果。
6、可选地,所述控制模块包括存储阵列、队列阵列和状态机;
7、所述存储阵列用于存放逻辑块地址条目,其中存放的任意两个条目对应的逻辑块地址均不存在重叠;
8、所述队列阵列用于存放逻辑块地址条目,所述条目对应的逻辑块地址与所述存储阵列中存放的逻辑块地址条目对应的逻辑块地址或所述队列阵列自身中存放的逻辑块地址条目对应的逻辑块地址存在重叠;
9、所述状态机用于接收所述命令条目;根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;向所述输入接口对应的输出接口发送所述处理结果。
10、可选地,在所述输入接口接收到的命令条目为检查命令时,所述状态机用于获取所述输入接口中的逻辑块地址条目;在所述队列阵列为非空的情况下,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,则确定所述逻辑块地址条目存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,则确定所述逻辑块地址条目存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,则确定所述逻辑块地址条目不存在重叠;向所述输入接口对应的输出接口发送针对所述检查命令的处理结果,所述处理结果包括所述逻辑块地址条目是否存在重叠。
11、可选地,在所述输入接口接收到的命令条目为增加命令时,所述状态机用于获取所述输入接口中的逻辑块地址;在所述队列阵列为非空的情况下,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,将所述逻辑块地址条目存储至所述队列阵列,存储至所述队列阵列中的逻辑块地址条目包括存在重叠的类型;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列;向所述输入接口对应的输出接口发送针对所述增加命令的处理结果,所述处理结果包括所述逻辑块地址条目在所述存储阵列中的位置。
12、可选地,在所述输入接口接收到的命令条目为删除命令时,所述状态机用于获取所述输入接口中的逻辑块地址条目,所述输入接口中的逻辑块地址条目包括所述存储阵列中需要删除的位置;根据所述逻辑块地址条目删除所述存储阵列中的一个逻辑块地址;从所述队列阵列中取出逻辑块地址条目;在所述队列阵列为非空且所述逻辑块地址条目的存在重叠的类型为与队列阵列重叠时,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,将所述逻辑块地址条目放回所述队列阵列中;若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列中;向所述输入接口对应的输出接口发送针对所述删除命令的处理结果。
13、可选地,所述状态机还包括在所述队列阵列为非空且所述逻辑块地址条目的存在重叠的类型为与存储阵列重叠时,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列中;向所述输入接口对应的输出接口发送针对所述删除命令的处理结果。
14、相应的,本发明实施例公开了一种固态硬盘的逻辑块地址的管理方法,应用于如上所述的固态硬盘,所述方法包括:
15、接收命令条目,所述命令条目包括针对逻辑块地址的检查命令、增加命令或删除命令其中之一;
16、根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;
17、向所述输入接口对应的输出接口发送所述处理结果。
18、可选地,所述控制模块包括存储阵列、队列阵列;所述根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;向所述输入接口对应的输出接口发送所述处理结果,包括:
19、在所述输入接口接收到的命令条目为检查命令时,获取所述输入接口中的逻辑块地址条目;
20、在所述队列阵列为非空的情况下,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
21、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,则确定所述逻辑块地址条目存在重叠;
22、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
23、若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,则确定所述逻辑块地址条目存在重叠;
24、若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,则确定所述逻辑块地址条目不存在重叠;
25、向所述输入接口对应的输出接口发送针对所述检查命令的处理结果,所述处理结果包括所述逻辑块地址条目是否存在重叠。
26、可选地,所述控制模块包括存储阵列、队列阵列和状态机;所述根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;向所述输入接口对应的输出接口发送所述处理结果,包括:
27、在所述输入接口接收到的命令条目为增加命令时,获取所述输入接口中的逻辑块地址;
28、在所述队列阵列为非空的情况下,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
29、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,将所述逻辑块地址条目存储至所述队列阵列,存储至所述队列阵列中的逻辑块地址条目包括存在重叠的类型;
30、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
31、若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列;
32、向所述输入接口对应的输出接口发送针对所述增加命令的处理结果,所述处理结果包括所述逻辑块地址条目在所述存储阵列中的位置。
33、可选地,所述控制模块包括存储阵列、队列阵列;所述根据所述命令条目对所述输入接口中的逻辑块地址条目进行处理,得到处理结果;向所述输入接口对应的输出接口发送所述处理结果,包括:
34、在所述输入接口接收到的命令条目为删除命令时,获取所述输入接口中的逻辑块地址条目,所述输入接口中的逻辑块地址条目包括所述存储阵列中需要删除的位置;
35、根据所述逻辑块地址条目删除所述存储阵列中的一个逻辑块地址;
36、从所述队列阵列中取出逻辑块地址条目;
37、在所述队列阵列为非空且所述逻辑块地址条目的存在重叠的类型为与队列阵列重叠时,将所述逻辑块地址条目与所述队列阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
38、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址存在重叠,将所述逻辑块地址条目放回所述队列阵列中;
39、若所述逻辑块地址条目对应的逻辑块地址与所述队列阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
40、若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列中;向所述输入接口对应的输出接口发送针对所述删除命令的处理结果。
41、可选地,所述方法还包括:
42、在所述队列阵列为非空且所述逻辑块地址条目的存在重叠的类型为与存储阵列重叠时,将所述逻辑块地址条目与所述存储阵列中的逻辑块地址条目对比,确认所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址是否存在重叠;
43、若所述逻辑块地址条目对应的逻辑块地址与所述存储阵列中的逻辑块地址条目对应的逻辑块地址不存在重叠,将所述逻辑块地址条目存储至所述存储阵列中;
44、向所述输入接口对应的输出接口发送针对所述删除命令的处理结果。
45、本发明实施例包括以下优点:
46、本发明实施例提供的固态硬盘,包括主控制器,所述主控制器包括总线、中央处理器、输入接口、控制模块和输出接口,输入接口与总线连接,用于接收中央处理器通过总线发送的命令条目,命令条目包括针对逻辑块地址的检查命令、增加命令或删除命令其中之一,控制模块的输入端与输入接口的输入端连接,用于接收命令条目,根据命令条目对输入接口中的逻辑块地址条目进行处理,得到处理结果,向输入接口对应的输出接口发送处理结果,输出接口的输入端与控制模块的输出端连接,用于接收处理结果,向总线发送针对命令条目的处理结果,以使中央处理器获取处理结果。本实施例通过控制模块对针对逻辑块地址的命令条目进行处理,通过硬件进行逻辑块地址的管理,从而释放了中央处理器资源,提高了效率。
本文地址:https://www.jishuxx.com/zhuanli/20241106/323854.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表