本申请公开了一种描述符链管理方法及闪存控制器、电子设备、存储介质,涉及闪存技术领域。方法包括:接收N个闪存原子操作,获取N个第一空闲描述符链;N是大于三的正整数;基于每个闪存原子操作和第一空闲描述符链进行配置,得到每个闪存原子操作的目标描述符节点、N个待执行的目标描述符链;依次调度目标描述符链执行目标描述符链中的每一个目标描述符节点;当执行完一个目标描述符链,生成节点状态信息以及描述符链状态信息;遍历执行完成的目标描述符链的各个目标描述符节点的节点状态信息,进行释放处理得到第二空闲描述符链。本申请方案能同时管理多条描述符链,有效利用闪存控制器的硬件性能。
背景技术
闪存控制器由前端和后端两部分组成,前端负责管理待发送的命令队列,后端负责与闪存设备进行数据交互。当前市面上的闪存控制器普遍采用描述符链表的方式管理待发送的命令队列,传统的描述符节点和描述符链资源管理方案中只允许同时存在三条描述符链,这三条描述符链分别是:一条正在执行的描述符链x、一条正在配置的描述符链y和一条等待释放的描述符链z。当正在执行的描述符链x和等待释放的描述符链z都未执行完毕时,配置完毕的描述符链y需要死等描述符链x和描述符链z执行完毕,才能够进入闪存控制器的核心处理模块等待被执行。这样的管理方式下,闪存控制器的描述符链的管理量小,造成闪存控制器的性能浪费。
实现思路