各种示例实施例总体上涉及半导体集成电路,并且更具体地,涉及使用编程中止(program suspension)控制来操作存储设备的方法,和/或执行该方法的存储设备。
背景技术:
1、一个或多个半导体存储器设备可以用于数据存储设备。这种数据存储设备的示例包括固态驱动(ssd)。ssd通常使用闪存,并且作为辅助存储装置。与硬盘驱动(hdd)相比,ssd可能具有各种设计和/或性能优势。示例包括移动机械部件的缺失、更高的数据访问速度、稳定性、耐久性和/或低功耗。各种系统,例如膝上型计算机、汽车、飞机、无人机等中的一个或多个,已经采用了ssd进行数据存储。
2、存储设备可以基于从主机设备接收到的多个请求和/或命令进行操作。如果输入到存储设备和/或从存储设备输出的请求和/或命令有偏差,则存储设备的性能可能降低。因此,正在进行关于如何高效处理从主机设备接收到的请求和/或命令的研究。
技术实现思路
1、各种示例实施例提供了一种操作存储设备的方法,该方法能够通过控制编程中止发生的次数和/或编程中止的定时(timing)来高效地处置或处理来自主机设备的请求。
2、可替代地或附加地,各种示例实施例提供了执行操作存储设备的方法的存储设备。
3、根据一些示例实施例,在操作存储设备的方法中,可以从主机设备接收第一信息。第一信息表示与存储设备的操作相关联的期望。接收基于多个写入请求、多个读取请求和存储设备的操作在内部生成的第二信息。从主机设备接收多个写入请求和多个读取请求。多个编程命令和多个读取命令被发送到多个非易失性存储器。多个编程命令和多个读取命令分别对应于多个写入请求和多个读取请求。向多个非易失性存储器中的至少一个发送中止命令。中止命令是基于第一信息和第二信息生成的,并且用于暂时停止基于多个编程命令执行的编程操作。基于第一信息和第二信息控制发送中止命令的数量和发送中止命令的定时。响应于改变多个写入请求和多个读取请求中的至少一个,发送中止命令的数量和发送中止命令的定时被自适应地改变。
4、根据一些示例实施例,存储设备包括存储控制器和由存储控制器控制的多个非易失性存储器。存储控制器被配置为从主机设备接收第一信息,接收基于多个写入请求、多个读取请求和存储设备的操作在内部生成的第二信息,向多个非易失性存储器发送多个编程命令和多个读取命令,以及向多个非易失性存储器中的至少一个发送中止命令。第一信息表示与存储设备的操作相关联的期望。从主机设备接收多个写入请求和多个读取请求。多个编程命令和多个读取命令分别对应于多个写入请求和多个读取请求。中止命令是基于第一信息和第二信息生成的,并且用于暂时停止基于多个编程命令执行的编程操作。基于第一信息和第二信息控制发送中止命令的数量和发送中止命令的定时。响应于改变多个写入请求和多个读取请求中的至少一个,发送中止命令的数量和发送中止命令的定时被自适应地改变。
5、根据一些示例实施例,在操作包括存储控制器和多个非易失性存储器的存储设备的方法中,存储设备与位于存储设备外部的主机设备通信。由存储控制器从主机设备接收第一信息。第一信息包括吞吐量条件和等待时间条件。对于存储设备执行从主机设备接收到的多个写入请求和多个读取请求,需要或期望的吞吐量条件。对于存储设备执行多个写入请求和多个读取请求,需要或期望等待时间条件。包括写入带宽信息、读取带宽信息和调度开销信息的第二信息由存储控制器在内部生成。通过监视多个写入请求和多个读取请求获得写入带宽信息和读取带宽信息。通过监视存储设备的操作获得调度开销信息。由存储控制器向多个非易失性存储器发送多个编程命令和多个读取命令,使得对多个非易失性存储器执行多个编程操作和多个读取操作。多个编程命令和多个读取命令分别对应于多个写入请求和多个读取请求。由存储控制器向多个非易失性存储器中的第一非易失性存储器发送第一中止命令,使得选择性地对第一非易失性存储器执行读取节流操作。读取节流操作表示在对第一非易失性存储器执行第一编程操作时、限制对第一非易失性存储器执行的第一读取操作的操作。第一中止命令是基于第一信息和第二信息生成的,并且用于暂时停止第一编程操作。基于第一信息和第二信息来控制发送第一中止命令的数量和发送第一中止命令的定时。响应于改变多个写入请求和多个读取请求中的至少一个,发送第一中止命令的数量和发送第一中止命令的定时被自适应地改变。调整发送第一中止命令的数量和发送第一中止命令的定时,以满足吞吐量条件和等待时间条件。当向第一非易失性存储器发送第一中止命令时,基于第一信息和第二信息计算中止命令的第一数量。中止命令的第一数量与第一非易失性存储器中每单位时间能够生成的中止命令的最大数量相关联。基于中止命令的第一数量计算中止命令的第二数量。中止命令的第二数量表示第一非易失性存储器中当前能够生成的可能的中止命令的数量。基于第一信息和第二信息检测第一读取命令。第一读取命令表示第一非易失性存储器中不满足等待时间条件的命令。基于中止命令的第二数量和第一读取命令,向第一非易失性存储器选择性地发送第一中止命令。
6、在根据一些示例实施例的数据备份方法、存储设备和存储系统中,可以基于从存储设备外部接收到的第一信息和在存储设备内部生成的第二信息,自适应地和/或动态地调整发送用于暂时停止编程操作的中止命令的数量和定时。例如,为了确保或保证、或者增加满足存储设备的吞吐量条件的可能性,有必要或期望通过执行读取节流操作来最小化或减少编程中止操作的发生。然而,当编程中止操作被无条件限制时,读取请求的执行可能被延迟,和/或等待时间条件可能无法得到满足,从而增加了读取等待时间。因此,可以自适应地和/或动态地控制发送中止命令的数量和定时,以仅生成适当数量的编程中止操作,使得读取等待时间不会显著增加和/或性能不会或不太可能严重下降。因此,存储设备可以具有提高或增强的性能和/或效率。
1.一种操作存储设备的方法,所述方法包括:
2.根据权利要求1所述的方法,其中
3.根据权利要求2所述的方法,其中
4.根据权利要求2所述的方法,其中,第一信息包括存储设备执行所述多个写入请求和所述多个读取请求的吞吐量条件。
5.根据权利要求4所述的方法,其中,向所述多个非易失性存储器中的至少一个发送中止命令包括:
6.根据权利要求5所述的方法,其中,调整发送中止命令的数量和发送中止命令的定时包括:
7.根据权利要求6所述的方法,其中,计算中止命令的第一数量包括:
8.根据权利要求6所述的方法,其中,向第一非易失性存储器选择性地发送第一中止命令包括:
9.根据权利要求1所述的方法,其中,第一信息包括存储设备执行所述多个写入请求和所述多个读取请求的等待时间条件。
10.根据权利要求9所述的方法,其中,向所述多个非易失性存储器中的至少一个发送中止命令包括:
11.根据权利要求10所述的方法,其中,调整发送中止命令的数量和发送中止命令的定时包括:
12.根据权利要求11所述的方法,其中,向第一非易失性存储器选择性地发送第一中止命令包括:
13.根据权利要求11所述的方法,其中,向第一非易失性存储器选择性地发送第一中止命令包括:
14.根据权利要求11所述的方法,其中,第一信息包括:
15.根据权利要求14所述的方法,其中,向所述多个非易失性存储器中的至少一个发送中止命令包括:
16.根据权利要求15所述的方法,其中,调整发送中止命令的数量和发送中止命令的定时包括:
17.根据权利要求1所述的方法,其中,第二信息包括:
18.一种存储设备,包括:
19.根据权利要求18所述的存储设备,其中,所述多个非易失性存储器包括:
20.一种操作包括存储控制器和多个非易失性存储器的存储设备的方法,所述存储设备被配置为与位于所述存储设备外部的主机设备通信,所述方法包括: