首页> 中国专利> 调度命令执行

调度命令执行

摘要

本申请案是针对调度命令执行。存储器子系统可根据所接收命令的类型而调度命令执行。对于读取操作,存储器子系统可接收用于多个存储器裸片的读取命令。所述存储器子系统可选择第一存储器裸片,且执行与所述第一存储器裸片相关联的第一组读取命令。所述存储器子系统可接着选择第二存储器裸片,且执行与所述第二存储器裸片相关联的第二组读取命令。对于写入操作,所述存储器子系统可接收用于多个存储器裸片的写入命令。所述存储器子系统可执行与第一存储器裸片相关联的第一写入命令。所述存储器子系统可执行与不同于所述第一存储器裸片的第二存储器裸片相关联的第二写入命令。

著录项

  • 公开/公告号CN112231253A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN202010675816.X

  • 发明设计人 J·董;C-K·高;J·朱;Y·邰;王伟;

    申请日2020-07-14

  • 分类号G06F13/16(20060101);G06F3/06(20060101);G11C7/22(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 09:33:52

说明书

本专利申请案要求董(Duong)等人在2020年6月26日申请的标题为“调度命令执行(SCHEDULING COMMAND EXECUTION)”的第16/913,751号美国专利申请案的优先权,所述美国专利申请案要求董等人在2019年7月15申请的标题为“调度命令执行(SCHEDULINGCOMMAND EXECUTION)”的第62/874,448号美国临时专利申请案的权益,所述两案中的每一者让与给本受让人且其中的每一者明确地以全文引用的方式并入本文中。

技术领域

技术领域涉及调度命令执行。

背景技术

存储器子系统可为存储装置、存储器模块,以及存储装置及存储器模块的混合。存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可为例如非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

发明内容

描述了一种方法。所述方法可包含:接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作;至少部分地基于所述接收所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片;执行与所述第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包括用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令;在执行所述第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片;以及执行与所述第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包括用于在所述第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

描述了一种设备。所述设备可包含:一组分区队列,其经配置以接收用于一组存储器裸片的读取命令,所述一组分区队列中的每一分区队列与存储器装置的存储器裸片相关联;裸片选择组件,其经配置以选择待被执行读取命令的所述一组存储器裸片中的所述存储器裸片,直到已执行与所选存储器裸片相关联的每一读取命令为止;以及读取命令仲裁器,其经配置以执行与所述所选存储器裸片相关联的所述读取命令。

描述了一种方法。所述方法可包含:接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作;在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令;确定用于在所述一组存储器裸片中的不同于所述第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行;以及在执行所述第一写入命令之后,至少部分地基于所述确定所述第二写入命令而执行所述第二写入命令。

描述了一种设备。所述设备可包含:一组分区队列,其经配置以接收用于在存储器裸片处执行写入操作的一组写入命令,其中所述一组分区队列中的每一分区队列与存储器装置的所述存储器裸片相关联;以及写入命令仲裁器,其经配置以:在第一存储器裸片处执行用于第一写入操作的第一写入命令;以及在执行所述第一写入命令之后,在不同于所述第一存储器裸片的第二存储器裸片处执行用于第二写入操作的第二写入命令。

描述了一种系统。所述系统可包含存储器子系统,其经配置以:接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作;至少部分地基于所述接收所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片;执行与所述第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包括用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令;在执行所述第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片;以及执行与所述第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包括用于在所述第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

描述了一种系统。所述系统可包含存储器子系统,其经配置以:接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作;在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令;确定用于在所述一组存储器裸片中的不同于所述第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行;以及在执行所述第一写入命令之后,至少部分地基于所述确定所述第二写入命令而执行所述第二写入命令。

附图说明

图1说明根据如本文中所公开的实例的计算环境的实例。

图2说明根据如本文中所公开的实例的支持调度命令执行的系统的实例。

图3说明根据如本文中所公开的实例的支持调度命令执行的分区队列映射的实例。

图4到6F说明根据如本文中所公开的实例的支持调度命令执行的系统的实例。

图7到10说明流程图,其说明根据如本文中所公开的实例的支持调度命令执行的一或多种方法。

图11说明根据如本文中所公开的实例的支持调度命令执行的计算机系统的实例机器。

具体实施方式

本公开的各方面涉及调度命令执行。存储器子系统可为存储装置、存储器模块,或存储装置及存储器模块的混合。参考图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。

存储器组件可包含非易失性及易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。封装中的裸片可指派到一或多个通道以用于与存储器子系统控制器通信。非易失性存储器装置包含分组为页以存储数据位的单元(即,存储信息的电子电路)。

非易失性存储器装置可包含作为非易失性存储器的交叉点阵列的三维交叉点(“3D交叉点”)存储器装置,其可与可堆叠交叉网格化数据存取阵列结合基于体电阻的改变而执行位存储。

包含存储器子系统的一些系统可接收用于在所述系统处执行的命令。可能存在系统特定限制,从而在第一命令的执行与第二命令的执行之间产生延迟。所述限制可例如基于存储器装置的特性。在一些情况下,两个命令的执行之间的时间量可取决于与两个命令中的每一者相关联的位置(例如,在命令的执行期间存取存储器阵列的一部分)及所执行的命令的类型(例如,读取命令、写入命令)而不同。一些系统可能在调度每一命令的执行时不考虑第一命令与第二命令的执行之间的时间。一些系统可经设计以减小归因于命令的执行之间的时间而引入到系统的延时。

本公开的方面通过使存储器子系统基于所执行的命令的类型及在命令的执行期间将存取的存储器阵列的位置调度命令的执行来解决以上及其它缺陷。举例来说,存储器子系统可与存储器子系统调度用于执行的一组写入命令不同的方式调度用于执行的一组读取命令。对于读取命令,用于在同一存储器裸片上执行两个读取命令的时间可小于用于在不同存储器裸片上执行两个读取命令的时间。因此,存储器子系统可调度读取命令的执行以增大在同一存储器裸片上执行连续读取命令的出现率。举例来说,存储器子系统可选择第一存储器裸片,且发送第一组读取命令用于在所述存储器裸片处执行。存储器子系统可接着选择第二存储器裸片,且发送第二组读取命令用于在第二存储器裸片处执行。

对于写入命令,用于在同一存储器裸片上执行两个写入命令的时间可小于用于在不同存储器裸片上执行两个写入命令的时间。因此,存储器子系统可调度写入命令的执行以增大在不同存储器裸片上执行连续写入命令的出现率。举例来说,存储器子系统可在第一存储器裸片上执行用于执行的第一写入命令,且在不同于第一存储器裸片的第二存储器裸片上执行后续写入命令。

首先在如参考图1所描述的计算环境的上下文中描述本公开的特征。参考图2到6在系统及分区队列(PQ)映射的上下文中描述本公开的特征。进一步通过如参考图7到11所描述的涉及调度命令执行的计算机图及流程图说明并参考其描述本公开的这些及其它特征。

图1说明根据如本文中所公开的实例的计算环境100的实例。计算环境可包含主机系统105及存储器子系统110。存储器子系统110可包含媒体,例如一或多个非易失性存储器装置(例如,存储器装置130)、一或多个易失性存储器装置(例如,存储器装置140),或其组合。

存储器子系统110可为存储装置、存储器模块或存储装置及存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)以及非易失性双列直插式存储器模块(NVDIMM)。

计算环境100可包含与存储器系统耦合的主机系统105。存储器系统可为一或多个存储器子系统110。在一些实例中,主机系统105与不同类型的存储器子系统110耦合。图1说明与一个存储器子系统110耦合的主机系统105的一个实例。主机系统105使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。如本文所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。

主机系统105可为计算装置,例如台式计算机、笔记本电脑、网络服务器、移动装置、车辆(例如飞机、无人机、火车、汽车或其它交通工具)、嵌入式系统、物联网(IoT)装置或包含存储器及处理装置的此类计算装置。主机系统105可使用物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(serial advancedtechnology attachment;SATA)接口、外围组件互连高速(peripheral componentinterconnect express;PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(Serial Attached SCSI;SAS)等。物理主机接口可用于在主机系统105与存储器子系统110之间传输数据。在存储器子系统110通过PCIe接口与主机系统105耦合时,主机系统105可进一步利用高速非易失性存储器(NVMe)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统105之间传递控制、地址、数据及其它信号的接口。

存储器装置可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态RAM(DRAM)及同步DRAM(SDRAM)。

非易失性存储器装置(例如,存储器装置130)的实例包含3D交叉点型快闪存储器,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的记忆体对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。在一些实例中,存储器装置130的存储器单元可布置于多于一个存储器裸片上。举例来说,所述存储器装置130可各自包含一组存储器裸片,每一存储器裸片包含存储器单元。存储器裸片可包含分组在一起形成分区的存储器单元。即,存储器裸片可具有存储器单元的若干分区。

尽管描述了例如3D交叉点型存储器之类的非易失性存储器组件,但是存储器装置130可基于任何其它类型的非易失性存储器,例如负与(NAND)、只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、负或(NOR)快闪存储器,以及电可擦除可编程只读存储器(EEPROM)。

在一些实施例中,存储器装置130中的每一者可包含一或多个存储器单元阵列,例如单层级单元(SLC)、多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC),或其组合。在一些实例中,特定存储器组件可包含存储器单元的SLC部分及MLC部分、TLC部分或QLC部分。存储器单元中的每一者可存储由主机系统105使用的一或多个数据位。此外,存储器装置130的存储器单元可分组为存储器页或存储器块,其可指用于存储数据的存储器组件的单元。

存储器子系统控制器115可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。存储器子系统控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。

存储器子系统控制器115可包含处理器120(例如,处理装置),其经配置以执行存储在本地存储器125中的指令。在所示的实例中,存储器子系统控制器115的本地存储器125包含嵌入式存储器,其经配置以存储用于执行各种过程、操作、逻辑流以及控制存储器子系统110的操作的例程的指令,包含控制存储器子系统110与主机系统105之间的通信。

在一些实例中,本地存储器125可包含存储器寄存器,其存储存储器指针、获取的数据等。本地存储器125还可包含用于存储微码的ROM。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但是在本公开的另一实例中,存储器子系统110可不包含存储器子系统控制器115,而是可依靠外部控制(例如,通过外部主机提供,或通过与存储器子系统分开的处理器或控制器提供)。

通常存储器子系统控制器115可从主机系统105接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑块地址(例如,逻辑块地址(LBA))及物理地址之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路以通过物理主机接口与主机系统105通信。主机接口电路可将从主机系统接收到的命令转换成存取存储器装置130的命令指令,且将与存储器装置130相关联的响应转换成主机系统105的信息。

存储器子系统110还可包含未说明的额外电路或组件。在一些实例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)以及地址电路系统(例如,行解码器及列解码器),所述地址电路系统可从存储器子系统控制器115接收地址并进行解码以存取存储器装置130的地址。

在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理媒体装置130(例如,对媒体装置130执行媒体管理操作)。在一些实施例中,存储器装置130可为本地管理的存储器装置,其是与本地媒体控制器135组合的原始存储器装置,所述本地媒体控制器对同一存储器装置封装内的存储器装置130执行存储器管理操作。

存储器子系统110包含仲裁器150,其可调度存储器子系统110内的存储器装置(例如,存储器装置130、存储器装置140)处的命令的执行。在一些实例中,存储器子系统控制器115包含仲裁器150的至少一部分。举例来说,存储器子系统控制器115可包含处理器120(处理装置),其经配置以执行存储在本地存储器125中的用于执行本文中所描述的操作的指令。在一些实例中,仲裁器150为主机系统105、应用程序或操作系统的部分。

仲裁器150可确定用于执行存取命令的时间表以减小发送待执行的第一命令与发送待执行的第二命令之间的延时量。仲裁器150可至少部分地基于从主机系统105在存储器子系统110处接收的存取命令而接收请求(例如,从本地媒体控制器135)。存取命令可指示待在例如存储器装置130的存储器装置处执行存取操作。仲裁器可确定用于执行对应于所接收请求的存取命令的时间表。举例来说,仲裁器150可接收执行存取命令的请求,且仲裁器可传达授予以根据所确定的调度执行存取命令。

仲裁器150可基于由存取命令指示的操作的类型而确定用于执行存取命令的时间表。在一些情况下,仲裁器150可包含用于不同类型的存取操作的不同仲裁器。举例来说,仲裁器可包含用于调度读取操作的读取命令仲裁器及用于调度写入操作的写入命令仲裁器。对于读取命令,将两个读取命令发送到同一存储器裸片以执行之间的时间可小于将两个读取命令发送到两个不同存储器裸片以执行之间的时间。因此,仲裁器150(或,在一些情况下,读取命令仲裁器)可调度读取命令的执行以增大将连续读取命令发送到同一存储器裸片以执行的出现率。对于写入命令,将两个写入命令发送到同一存储器裸片以执行之间的时间可小于将两个写入命令发送到两个不同存储器裸片以执行之间的时间。因此,仲裁器150(或,在一些情况下,写入命令仲裁器)可调度写入命令的执行以增大将连续写入命令发送到两个不同存储器裸片以执行的出现率。下文描述关于仲裁器150的操作的额外详情。

图2说明根据如本文中所公开的实例的支持调度命令执行的系统200的实例。系统200包含:仲裁器250,其可为如参考图1所描述的仲裁器150的实例;以及存储器控制器255,其可为存储器子系统控制器115的实例;本地媒体控制器135。系统200进一步包含分区队列(PQ)205。

存储器控制器255可接收用于存取存储器装置(例如,如参考图1所描述的存储器装置130或存储器装置140)的存储器单元的命令215。举例来说,存储器控制器可从主机系统(例如,如参考图1所描述的主机系统105)接收存取命令215(例如,读取命令、写入命令)。存取命令215可指示操作(例如,读取操作、写入操作)及用于执行操作的位置。位置可对应于存储器装置处的一组一或多个存储器单元。举例来说,位置可对应于存储器裸片的分区。存储器控制器255可基于由存取命令215指示的位置而将命令215传达到PQ 205。举例来说,每一PQ 205可对应于不同于与其它PQ 205中的每一者相关联的一组位置的一组位置(例如,在存储器装置处)。此处,存储器装置可包含十六个PQ 205。

PQ 205可接收命令215,且产生执行命令215的请求220。举例来说,如果命令215-a指示读取操作,则PQ0 205-a可产生请求执行读取操作的请求220-a。PQ 205可将请求220传达到仲裁器250。仲裁器250可接收请求220,且根据用于执行命令215的时间表而将授予传达到请求。在接收到授予时,PQ 205可发送命令215以执行。仲裁器250可调度命令215的执行以便减小执行命令215之间的时间量。此可减小延时,且增大系统200的处理量。

仲裁器250可基于由存取命令215指示的操作的类型而确定用于执行存取命令215的时间表。在一些情况下,仲裁器150可包含用于不同类型的存取操作的两个不同仲裁器:用于调度读取操作的读取命令仲裁器及用于调度写入操作的写入命令仲裁器。

对于读取命令215,将两个读取命令215发送到同一存储器裸片以执行之间的时间可小于将两个读取命令215发送到两个不同存储器裸片以执行之间的时间。因此,仲裁器250(或,在一些情况下,读取命令仲裁器)可调度读取命令215的执行以增大将连续读取命令215发送到同一存储器裸片以执行的出现率。举例来说,PQ1 205-b与PQ15205-d可对应于同一存储器裸片的不同分区,而PQ14 205-c可对应于不同存储器裸片。如果PQ1、PQ14及PQ15中的每一者传达用于执行读取操作的请求220(例如,分别为请求220-b、220-c,及220-d),则仲裁器250可依序传达授予到PQ1及PQ15。结果,PQ1及PQ15可依序将读取命令(例如,命令215-b及215-d)发送到同一存储器裸片。此可减小与执行读取命令215-b、215-c及215-d相关联的延时(例如,当相比于根据不同次序执行读取命令215时)。

对于写入命令215,将两个写入命令215发送到同一存储器裸片以执行之间的时间可小于将两个写入命令215发送到两个不同存储器裸片以执行之间的时间。因此,仲裁器250(或,在一些情况下,写入命令仲裁器)可调度写入命令215的执行以增大将连续写入命令215发送到两个不同存储器裸片以执行的出现率。举例来说,PQ1 205-b与PQ15205-d可对应于同一存储器裸片的不同分区,而PQ14 205-c可对应于不同存储器裸片。如果PQ1、PQ14及PQ15中的每一者传达用于执行写入操作的请求220(例如,分别为请求220-b、220-c,及220-d),则仲裁器250可依序传达授予到PQ1及PQ14。结果,PQ1及PQ14可依序将写入命令(例如,命令215-b及215-d)发送到同一存储器裸片。此可减小与执行写入命令215-b、215-c及215-d相关联的延时(例如,当相比于根据不同次序执行写入命令215时)。

图3说明根据如本文中所公开的实例的支持调度命令执行的PQ映射300的实例。PQ映射300可包含本文参考图1及2描述的一或多个组件以及其它组件。举例来说,PQ映射300包含PQ 205,其可为如参考图2所描述的PQ 205的实例。

在PQ映射300的实例中,PQ 305可接收命令以在存储器装置的不同位置处执行。PQ305中的每一者对应于存储器装置的存储器裸片。即,PQ 305中的每一者可接收指示对应存储器裸片处的位置的存取命令。举例来说,PQ0 305-a、PQ4 305-e、PQ8 305-i及PQ12 305-m接收与存储器裸片0相关联的命令;PQ1 305-b、PQ5 305-f、PQ9 305-j及PQ13 305-n接收与存储器裸片1相关联的命令;PQ2 305-c、PQ6 305-g、PQ10 305-k及PQ14 305-o接收与存储器裸片2相关联的命令;且PQ3 305-d、PQ7 305-h、PQ11 305-l及PQ15 305-p接收与存储器裸片3相关联的命令。

PQ 305中的每一者也对应于存储器裸片的一组分区310。即,PQ 305中的每一者可接收指示存储器裸片的一组对应分区310处的位置的存取命令。举例来说,PQ0 305-a、PQ1305-b、PQ2 305-c及PQ3 305-d接收与分区310-a 0到3相关联的命令;PQ4 305-e、PQ5 305-f、PQ6 305-g及PQ7 305-h接收与分区310-b 4到7相关联的命令;PQ8 305-i、PQ9 305-j、PQ10 305-k及PQ11 305-l接收与分区310-c 8到11相关联的命令;且PQ12305-m、PQ13 305-n、PQ14 305-o及PQ15 305-p接收与分区310-d 12到15相关联的命令。在PQ映射300的实例中,存储器控制器(例如,如参考图2所描述的存储器控制器255)可将针对存储器裸片3、分区13的存取命令传达到PQ15 305-p。

PQ 305可基于所接收的存取命令产生请求,且将请求传达到仲裁器(例如,如参考图1所描述的仲裁器150、如参考图2所描述的仲裁器250)。仲裁器可基于所执行的命令的类型而调度命令的执行,且PQ 305传达请求(例如,对应于待在命令的执行期间存取的存储器装置的位置)。举例来说,仲裁器可以与调度用于执行的一组写入命令不同的方式调度用于执行的一组读取命令。

对于读取命令,将两个读取命令发送到同一存储器裸片以执行之间的时间可小于将两个读取命令发送到不同存储器裸片以执行之间的时间。仲裁器可调度读取命令的执行以增大将连续读取命令发送到同一存储器裸片以执行的出现率。举例来说,选择存储器裸片0,且仲裁器将授予发送到与存储器裸片0相关联的PQ 305(例如,PQ0 305-a、PQ4305-e、PQ8 305-i及PQ12 305-m)。接着为存储器裸片1,且仲裁器将授予发送到与存储器裸片1相关联的PQ 305(例如,PQ1 305-b、PQ5 305-f、PQ9 305-j及PQ13 305-n)。

对于写入命令,将两个写入命令发送到同一存储器裸片以执行之间的时间可小于将两个写入命令发送到不同存储器裸片以执行之间的时间。仲裁器可调度写入命令的执行以增大将连续写入命令发送到不同存储器裸片以执行的出现率。举例来说,仲裁器将第一授予发送到PQ2 305-c(例如,与存储器裸片2相关联),且将第二授予发送到PQ3 305-d(例如,与存储器裸片3相关联)。

图4说明根据如本文中所公开的实例的支持调度命令执行的系统400的实例。系统400可包含本文参考图1到3描述的一或多个组件以及其它组件。举例来说,系统400包含:PQ405,其可为如参考图2及3所描述的PQ 205或PQ 305的实例;以及读取命令仲裁器450,其可为如参考图1及2所描述的仲裁器150或仲裁器250的实例。系统400还可包含裸片选择组件415及选择器420。

读取命令仲裁器450可为从PQ 405接收请求425以执行读取命令的仲裁器的实例。举例来说,PQ0 405-a、PQ4 405-b、PQ8 405-c及PQ12 405-d将请求425发送到读取命令仲裁器450,以在存储器裸片0的各种分区处执行读取命令。指示待决读取操作的请求425可称为作用中请求425。系统400说明八个作用中请求425。举例来说,读取命令仲裁器450接收用于与存储器裸片3相关联的读取命令的两个作用中请求425-g及425-h。读取命令仲裁器450可通过响应于请求425而将授予传达到PQ 405来调度读取命令的执行。举例来说,读取命令仲裁器450将授予发送到PQ1 405-e以起始读取命令在对应于请求425-c的存储器裸片1处的执行。

裸片选择组件415可通过选择器420选择存储器裸片中的一者。选择存储器裸片可使得读取命令仲裁器450能够从所选存储器裸片接收请求425。举例来说,裸片选择组件415选择存储器裸片1,且读取命令仲裁器450从与存储器裸片1相关联的PQ 405接收请求425-c、425-d及425-e。读取命令仲裁器450可响应于与所选存储器裸片相关联的作用中请求425中的每一者而传达授予。举例来说,在裸片选择组件415选择存储器裸片1时,读取命令仲裁器450将授予传达到PQ1 405-e、PQ9 405-g及PQ13 405-h。响应于接收到授予,PQ 405可将读取命令发送到存储器裸片1的不同分区(例如,由读取命令指示)以在存储器裸片1处执行。可根据读取命令仲裁器450传达授予的次序而执行读取命令。读取命令仲裁器450可根据每一请求425的优先级来传达授予。举例来说,如果裸片选择组件415选择存储器裸片0,则读取命令仲裁器450按优先级减小的次序将授予传达到PQ 405。即,读取命令仲裁器450首先将授予传达到PQ8 405-a(例如,响应于请求425-a),且接着将授予传达到PQ0 405-c(例如,响应于请求425-b)。

裸片选择组件415可选择存储器裸片,直到读取命令仲裁器450响应于与所述存储器裸片相关联的请求425中的每一者而传达授予为止。裸片选择组件415可接着选择不同存储器裸片。举例来说,裸片选择组件415通过选择器420-b选择存储器裸片1,且在读取命令仲裁器450响应于与存储器裸片1相关联的请求425中的每一者而传达授予之后,裸片选择组件415通过选择器420-c选择存储器裸片2。

裸片选择组件415根据与存储器裸片相关联的优先级选择存储器裸片。举例来说,存储器裸片的优先级可与选择存储器裸片的预配置次序相关联。此处,裸片选择组件415根据预配置次序选择存储器裸片。预配置次序可基于存储器裸片的索引(例如,根据索引的数值次序)。举例来说,预配置次序可为存储器裸片0、存储器裸片1、存储器裸片2,接着是存储器裸片3。裸片选择组件415可根据所述次序且基于所述次序内具有至少一个作用中请求425的下一存储器裸片来选择存储器裸片。即,如果裸片选择组件415选择存储器裸片3,则所述次序可决定待选择的下一存储器裸片为存储器裸片0。然而,如果存储器裸片0不具有作用中请求425,则裸片选择组件415可选择存储器裸片1,随后选择存储器裸片3。在另一实例中,存储器裸片的优先级可与从先前选择存储器裸片以来的时间相关联。即,最近选择的存储器裸片具有最低优先级,且最早选择的存储器裸片具有最高优先级。在另一实例中,存储器裸片的优先级可与作用中请求425的数目相关联。即,存储器裸片1可具有最高优先级,因为存储器裸片1具有三个作用中请求425(例如,请求425-c、425-d及425-e)。另外,存储器裸片2可具有最低优先级,因为存储器裸片2仅具有一个作用中请求425-e。

裸片选择组件415使得读取命令仲裁器450能够调度读取命令的命令执行,以减小与读取命令的执行相关联的延时。即,读取命令仲裁器450可接收各自与同一存储器裸片相关联的请求425,且在从不同存储器裸片接收到请求425之前,传达授予以起始与所述存储器裸片相关联的读取命令的执行。

图5A到5G说明根据如本文中所公开的实例的支持调度命令执行的系统500的实例。系统500可包含本文中参考图1到4所描述的一或多个组件。举例来说,系统500包含:PQ505,其为如参考图2到4所描述的PQ 205、PQ 305或PQ 405的实例;以及读取命令仲裁器550,其为如参考图1、2及4所描述的仲裁器150、仲裁器250或读取命令仲裁器450的实例;以及请求525,其为如参考图4所描述的请求425的实例。系统500还可包含授予510。

图5A到5G说明系统500及在裸片选择组件(例如,如参考图4所描述的裸片选择组件415)选择存储器裸片0之后在PQ 505与读取命令仲裁器550之间的通信。举例来说,图5A说明从PQ 505发送到读取命令仲裁器550的初始请求525,且图5B到5G说明后续授予510及请求530。

图5A说明与存储器裸片0将请求525传达到读取命令仲裁器550相关联的PQ 505。请求525可指示由PQ 505接收的读取命令。此处,PQ0 505-a将请求525-a传达到读取命令仲裁器550,且PQ12 505-d将请求525-b传达到读取命令仲裁器550。PQ4 505-b及PQ8 505-c并不具有作用中请求525。即,PQ 505-b及505-c尚未接收到指示在与PQ505-b及505-c相关联的存储器裸片0的分区处的读取操作的命令。

PQ 505可根据优先级而布置。举例来说,PQ0 505-a为最高优先级,且PQ12 505-d为最低优先级。PQ 505的优先级可基于PQ 505的索引。举例来说,PQ 505可在数值上按照索引来布置(例如,PQ0 505-a继之以PQ4 505-b,等)。读取命令仲裁器550可根据请求的优先级调度命令的执行(例如,由请求525指示)。举例来说,在执行由请求525-b指示的读取命令之前,读取命令仲裁器550调度由请求525-a指示的读取命令的执行。在一些情况下,读取命令仲裁器550根据次序轮询PQ 505。举例来说,读取命令仲裁器550首先轮询PQ0 505-a(例如,以确定是否存在来自PQ0 505-a的请求525),接着轮询PQ1 505-b。

图5B说明读取命令仲裁器550基于从PQ0 505-a接收到请求525-a而将授予510-a传达到PQ0 505-a。举例来说,读取命令仲裁器550可根据次序(例如,与PQ 505的优先级相关联)轮询PQ 505。读取命令仲裁器550首先轮询PQ0 505-a,因为PQ0 505-a为最高优先级,且确定PQ0 505-a具有用于执行读取命令的作用中请求525-a。结果,读取命令仲裁器550将授予510-a传达到PQ0 505-a。在PQ0 505-a接收到授予510-a时,PQ0505-a可将读取命令(例如,由请求525-a指示)发送到存储器控制器以在存储器裸片0处执行。

图5C说明在将授予传达到PQ0 505-a(例如,如图5B中所示的授予510-a)之后,读取命令仲裁器550调整PQ 505的次序。在一些情况下,读取命令仲裁器550可将最低优先级指派给最近接收授予或最近被轮询的PQ 505。举例来说,读取命令仲裁器550将PQ0 505-a从最高优先级位置515-a移动到最低优先级位置515-b。读取命令仲裁器550继续根据优先级轮询PQ 505。举例来说,读取命令仲裁器550可轮询PQ4 505-b,且确定PQ4 505-b不具有任何作用中请求525。

图5D说明读取命令仲裁器550继续根据PQ 505的优先级针对作用中请求525而轮询PQ 505。此处,PQ0 505-a接收对应于另一读取命令的另一请求525-c。基于PQ 505的优先级次序,读取命令仲裁器550可首先轮询PQ4 505-b以确定PQ4 505-b是否具有作用中请求525。读取命令仲裁器550可接着继续进行到轮询PQ8 505-c以确定PQ8 505-c是否具有作用中请求525。在确定PQ4 505-b及PQ8 505-c并不具有任何作用中请求之后,读取命令仲裁器550可轮询PQ12 505-d以确定PQ12 505-d是否具有作用中请求525。此处,读取命令仲裁器550检测来自PQ12 505-d的请求525-b。

图5E说明读取命令仲裁器550基于从PQ12 505-d接收到请求525-b而将授予510-b传达到PQ12 505-d。在PQ12 505-d接收到授予510-b时,PQ12 505-d可将读取命令(例如,由请求525-b指示)发送到存储器控制器以在存储器裸片0处执行。

图5F说明在将授予传达到PQ12 505-d(例如,如图5E所示的授予510-b)之后,读取命令仲裁器550调整PQ 505的次序。在一些情况下,读取命令仲裁器550可将最低优先级指派给最近被轮询的PQ 505。举例来说,读取命令仲裁器550首先轮询PQ4 505-b,第二轮询PQ8 505-c,且第三轮询PQ12 505-d。读取命令仲裁器550可根据所述次序指派优先级位置515。举例来说,PQ4 505-b可从最高优先级位置515-c移动到较低优先级位置515-f。PQ8505-d可从较高优先级位置515-d移动到较低优先级位置515-g。另外,在最近轮询PQ12505-d时,PQ12 505-d可从较高优先级位置515-e移动到最低优先级位置515-h。

图5G说明读取命令仲裁器550继续根据PQ 505的优先级针对作用中请求525而轮询PQ 505。此处,PQ12 505-d接收对应于另一读取命令的另一请求525-d。基于PQ 505的优先级次序,读取命令仲裁器550可首先轮询PQ0 505-b以确定PQ0 505-a是否具有作用中请求525。此处,读取命令仲裁器550检测来自PQ0 505-a的请求525-c。

读取命令仲裁器550可继续轮询PQ 505(且相应地发布授予),直到读取命令仲裁器550在与存储器裸片0相关联的PQ 505中的任一者处不再检测到任何作用中请求525为止。举例来说,如果读取命令仲裁器550轮询与存储器裸片0相关联的PQ 505中的每一者且未检测到任何作用中请求525,则读取命令仲裁器550确定不存在作用中请求525。接着,裸片选择组件(例如,如参考图4所描述的裸片选择组件415)可选择不同存储器裸片。读取命令仲裁器可继续轮询与不同存储器裸片相关联的PQ 505。

图6A到6F说明根据如本文中所公开的实例的支持调度命令执行的系统600的实例。系统600可包含本文中参考图1到5所描述的一或多个组件。举例来说,系统600包含:PQ605,其为如参考图2到5所描述的PQ 205、PQ 305、PQ 405或PQ 505的实例;以及写入命令仲裁器650,其为如参考图1及2所描述的仲裁器150或仲裁器250的实例;请求625,其可包含如参考图4及5描述的请求425及525的方面;以及授予510,其可包含如参考图5所描述的授予510的方面。

图6A到6F说明系统600及PQ 605与写入命令仲裁器650之间的通信。图6A说明来自PQ 605的一组请求625,且图6B到6F说明在图6A中所示的通信之后在PQ 605与写入命令仲裁器650之间的连通。举例来说,图6B到6F说明待决请求625、授予610及重新优先化(例如,通过写入命令仲裁器650进行)。

图6A说明PQ 605将请求625传达到写入命令仲裁器650。请求625可指示由PQ 605接收的写入命令。此处,PQ1 605-b传达请求625-a,PQ4 605-e传达请求625-b,PQ8 605-h传达请求625-c,PQ10 605-k传达请求625-d,且PQ12 605-m传达请求625-e。其它PQ 605(例如,PQ0 605-a)并不具有作用中请求625。即,其它PQ 605尚未接收到指示写入操作的命令。

PQ 605可根据优先级加以布置(例如,通过写入命令仲裁器650)。举例来说,PQ0605-a为最高优先级,且PQ15 605-p为最低优先级。PQ 605的优先级可基于PQ 505的索引。举例来说,PQ 505可在数值上按照索引来布置(例如,PQ0 605-a继之以PQ1 605-b,等)。写入命令仲裁器650可根据请求的优先级调度命令的执行(例如,由请求625指示)。举例来说,写入命令仲裁器650在执行由请求625-b指示的写入命令之前调度由请求625-a指示的写入命令的执行。写入命令仲裁器650可通过使用于不同裸片的PQ 605交插来组织PQ 605的优先级。举例来说,用于存储器裸片0的PQ 605可按照用于存储器裸片1、存储器裸片2及存储器裸片3的PQ 605的次序分离。

写入命令仲裁器650可根据所述次序轮询PQ 605。举例来说,写入命令仲裁器650首先轮询PQ0 605-a(例如,以确定是否存在来自PQ0 605-a的请求625),接着轮询PQ1 605-b。

图6B说明写入命令仲裁器650基于从PQ1 605-b接收到请求625-a而将授予610-a传达到PQ1 605-b。举例来说,写入命令仲裁器650可根据次序(例如,与PQ 605的优先级相关联)轮询PQ 605。写入命令仲裁器650首先轮询PQ0 605-a,因为PQ0 605-a为最高优先级。在确定PQ0 605-a不与作用中请求625相关联之后,写入命令仲裁器650轮询PQ1 605-b,且确定PQ1 605-b具有用于执行写入命令的作用中请求625-a。结果,写入命令仲裁器650将授予610-a传达到PQ1 605-b。在PQ1 605-b接收授予610-a时,PQ1 605-b可将写入命令(例如,由请求625-a指示)发送到存储器控制器以在存储器裸片1处执行。

图6C说明在将授予传达到PQ1 605-b(例如,如图6B中所示的授予610-a)之后,写入命令仲裁器650调整PQ 605的次序。在一些情况下,写入命令仲裁器650可将最低优先级指派给最近接收授予或最近被轮询的PQ 605。举例来说,写入命令仲裁器650在轮询PQ1605-b之前轮询PQ0 605-a。写入命令仲裁器650可将PQ0 605-a从最高优先级位置615-a移动到较低优先级位置615-c,且PQ1 605-b可从较高优先级位置615-b移动到最低优先级位置615-d。写入命令仲裁器650继续根据优先级轮询PQ 605。举例来说,写入命令仲裁器650可轮询PQ2 605-c,且确定PQ2 605-c不具有任何作用中请求625。

图6D说明写入命令仲裁器650继续根据PQ 605的优先级针对作用中请求625轮询PQ 605。基于PQ 605的优先级次序,写入命令仲裁器650可轮询PQ2 605-c及PQ3 605-d,且确定PQ2 605-c及PQ3 605-d并不具有任何作用中请求625。在确定PQ2 605-c及PQ2 605-d并不具有任何作用中请求之后,写入命令仲裁器650可轮询PQ4 605-e以确定PQ4 605-e是否具有作用中请求625。此处,写入命令仲裁器650检测来自与存储器裸片0相关联的PQ4605-e的请求625-b。

图6E说明写入命令仲裁器650基于从PQ4 605-e接收到请求625-b而将授予610-b传达到PQ4 605-e。在将授予610-b传达到PQ4 605-e之前,写入命令仲裁器650可确定先前传达的授予610用于与同一存储器裸片还是不同存储器裸片相关联的写入命令。举例来说,先前发送的授予610(例如,如参考图6B所描述的授予610-a)用于与存储器裸片1相关联的写入命令。授予610-b用于与存储器裸片0相关联的写入命令。此处,写入命令仲裁器650确定先前发送的授予610是用于不同存储器裸片,且响应于请求625-b而将授予610-b传达到PQ4 605-e。或者,如果写入命令仲裁器650确定先前发送的授予610是用于同一存储器裸片,则写入命令仲裁器650可确定是否存在与不同存储器裸片相关联的不同请求625(例如,来自不同PQ 605)。在存在与不同存储器裸片相关联的另一请求625的情况下,写入命令仲裁器650可将授予610传达到不同PQ 605(例如,次序中具有作用中请求625的下一PQ 605)。在一些其它情况下,写入命令仲裁器650无关于先前发送的授予610是否用于同一存储器裸片而传达授予610-b。举例来说,如果与不同存储器裸片相关联的PQ 605不具有作用中请求625,则写入命令仲裁器650可传达授予610-b,即使先前发送的授予610是用于同一存储器裸片。

在PQ4 605-e接收授予610-b时,PQ4 605-e可将写入命令(例如,由请求625-b指示)发送到存储器控制器以在存储器裸片0处执行。

图6F说明在将授予传达到PQ4 605-e(例如,如图6E中所示的授予610-b)之后,写入命令仲裁器650调整PQ 605的次序。在一些情况下,写入命令仲裁器650可将最低优先级指派给最近被轮询的PQ 605。举例来说,读取命令仲裁器650首先轮询PQ2 605-b,第二轮询PQ3 615-f,且第三轮询PQ4 605-e。写入命令仲裁器650可根据所述次序指派优先级位置615。举例来说,PQ2 605-b可从最高优先级位置615-e移动到较低优先级位置615-h。PQ3615-f可从较高优先级位置615-f移动到较低优先级位置615-i。另外,在最近轮询PQ4 605-e时,PQ4 605-e可从较高优先级位置615-g移动到最低优先级位置615-j。

在调整PQ 605的次序之后,写入命令仲裁器650可继续轮询PQ 605。举例来说,写入命令仲裁器650可轮询PQ5 605-f、PQ6 605-g及PQ7 605-h,且确定PQ 605并不具有作用中请求625。

图7说明流程图,其说明根据本公开的方面的支持调度命令执行的一或多种方法700。方法700可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、数字电路、专门逻辑、可编程逻辑、微码、装置的硬件、集成电路,等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法700由图1的仲裁器150执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在705处,处理装置可接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作。

在710处,处理装置可基于接收到所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片。

在715处,处理装置可执行与第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包含用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令。

在720处,处理装置可在执行第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片。

在725处,处理装置可执行与第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包含用于在第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

在一些实例中,本文所描述的设备可执行例如方法700等一或多种方法。所述系统可包含用于进行以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作;至少部分地基于所述接收所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片;执行与所述第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包括用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令;在执行所述第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片;以及执行与所述第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包括用于在所述第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:针对所述第一组读取命令中的读取命令确定相对于所述第一组读取命令中的其它读取命令的用于执行读取操作的位置;以及基于确定所述位置而将读取命令传达到分区队列,其中分区队列可与所确定的位置相关联,且选择第一存储器裸片可基于将读取命令传达到分区队列。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于选择第一存储器裸片而确定与第一存储器裸片相关联的一组分区队列;以及轮询用于读取命令的一组分区队列,其中执行第一组读取命令可基于轮询所述一组分区队列。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:根据优先级对所述一组分区队列进行排序,其中轮询所述一组分区队列可基于所述排序;基于轮询所述一组分区队列而执行与所述第一组读取命令中的读取命令相关联的第一读取操作;以及基于执行第一读取操作而对所述一组分区队列重排序。

在本文中描述的方法700及设备的一些实例中,根据优先级对所述一组分区队列进行排序可基于所述一组分区队列中的每一分区队列的索引值。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于轮询所述一组分区队列而确定可执行与第一存储器裸片相关联的所述一组读取命令中的每一读取命令,其中选择所述一组存储器裸片中的第二存储器裸片可基于确定可执行每一读取命令。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:根据用于选择存储器裸片的次序而对所述一组存储器裸片中的存储器裸片进行排序,其中选择第一存储器裸片及选择第二存储器裸片可基于根据所述次序对所述一组存储器裸片中的存储器裸片进行排序。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于对存储器裸片进行排序而确定第三存储器裸片在所述次序中在第四存储器裸片之后出现;确定第三存储器裸片可能为所述次序中与读取命令相关联的下一存储器裸片;以及基于确定第三存储器裸片可能为所述次序中的下一存储器裸片而选择第三存储器裸片。

本文中描述的方法700及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:基于选择第一存储器裸片而识别所述一组读取命令中的用于在第一存储器裸片处执行读取命令的第一组读取命令,所述第一组读取命令中的每一读取命令指示第一存储器裸片处的读取操作,其中执行第一组读取命令可基于识别第一组读取命令。

图8说明流程图,其说明根据本公开的方面的支持调度命令执行的一或多种方法800。方法800可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、数字电路、专门逻辑、可编程逻辑、微码、装置的硬件、集成电路,等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法800由图1的仲裁器150执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在805处,处理装置可接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作。

在810处,处理装置可针对所述第一组读取命令中的读取命令确定相对于所述第一组读取命令中的其它读取命令的用于执行读取操作的位置。

在815处,处理装置可基于确定所述位置而将读取命令传达到PQ,其中PQ与所确定的位置相关联,且选择第一存储器裸片是基于将读取命令传达到PQ。

在820处,处理装置可基于接收到所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片。

在825处,处理装置可执行与第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包含用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令。

在830处,处理装置可在执行第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片。

在835处,处理装置可执行与第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包含用于在第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

图9说明流程图,其说明根据本公开的方面的支持调度命令执行的一或多种方法900。方法900可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、数字电路、专门逻辑、可编程逻辑、微码、装置的硬件、集成电路,等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法900由图1的仲裁器150执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在905处,处理装置可接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作。

在910处,处理装置可在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令。

在915处,处理装置可确定用于在所述一组存储器裸片中的不同于第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行。

在920处,处理装置可在执行第一写入命令之后,基于确定第二写入命令而执行所述第二写入命令。

在一些实例中,如本文所描述的设备可执行例如方法900等一或多种方法。所述设备可包含用于进行以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作;在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令;确定用于在所述一组存储器裸片中的不同于所述第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行;以及在执行所述第一写入命令之后,基于所述确定所述第二写入命令而执行所述第二写入命令。

本文中描述的方法900及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定所述一组写入命令中的一组写入命令,所述一组写入命令中的每一写入命令用于不同于第一写入命令的写入操作;以及基于第二写入命令的优先级与所述一组写入命令中的写入命令中的每一者的优先级的相对关系而从所述一组写入命令中选择第二写入命令,其中确定第二写入命令可基于选择第二写入命令。

本文中描述的方法900及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定用于执行所述一组写入命令的优先级,其中在执行第一写入命令之后执行第二写入命令可基于确定用于执行所述一组写入命令的优先级。

本文中描述的方法900及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:根据用于执行所述一组写入命令的所述所确定优先级而确定在所述第二写入命令之后可调度执行所述一组写入命令中的第三写入命令;确定所述第三写入命令可用于所述第二存储器裸片处的写入操作;以及基于所述所确定优先级,基于确定所述第三写入命令可用于第二存储器裸片处的写入操作而在不同于第二存储器裸片的第三存储器裸片处执行所述一组写入命令中的第四写入命令。

本文中描述的方法900及设备的一些实例可进一步包含用于进行以下操作的操作、特征、构件或指令:确定用于执行由所述一组写入命令中的写入命令指示的写入操作的位置;以及基于确定所述位置而将所述写入命令传达到分区队列,其中每一分区队列可与所述所确定位置相关联。

图10说明流程图,其说明根据本公开的方面的支持调度命令执行的一或多种方法1000。方法1000可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、数字电路、专门逻辑、可编程逻辑、微码、装置的硬件、集成电路,等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法1000由图1的仲裁器150执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在1005处,处理装置可接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作。

在1010处,处理装置可在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令。

在1015处,处理装置可确定所述一组写入命令中的一组写入命令,所述一组写入命令中的每一写入命令用于不同于第一写入命令的写入操作。

在1020处,处理装置可基于第二写入命令的优先级与所述一组写入命令中的写入命令中的每一者的优先级的相对关系而从所述一组写入命令中选择第二写入命令。

在1025处,处理装置可确定用于所述一组存储器裸片中不同于第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行,其中确定所述第二写入命令是基于选择所述第二写入命令。

在1030处,处理装置可在执行第一写入命令之后,基于确定第二写入命令而执行所述第二写入命令。

图11说明根据如本文中所公开的实例的调度命令执行的计算机系统1100的实例机器。计算机系统1100可包含用于致使机器执行本文中所描述的技术中的任何一或多者的一组指令。在一些实例中,计算机系统1100可对应于主机系统(例如,参考图1所描述的主机系统105),所述主机系统包含、耦合或利用存储器子系统(例如,参考图1所描述的存储器子系统110),或可用来执行控制器的操作(例如,以执行操作系统以执行对应于参考图1所描述的仲裁器150的操作)。在一些实例中,机器可连接(例如联网)到LAN、内联网、外联网及/或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。

机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、开关或桥接器或能够(依序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但术语“机器”还应被认为包含机器的任何集合,所述机器的集合个别地或联合地执行一组(或多组)指令以执行本文论述的方法中的任何一或多者。

实例计算机系统1100可包含处理装置1105、主存储器1110(例如,ROM、闪存存储器、例如SDRAM或RDRAM等DRAM,等)、静态存储器1115(例如,闪存存储器、SRAM,等)及数据存储系统1125,其经由总线1145彼此通信。

处理装置1105表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1105也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置1105经配置以执行用于进行本文中所论述的操作及步骤的指令1135。计算机系统1100可进一步包含网络接口装置1120以在网络1140上通信。

数据存储系统1125可包含机器可读存储媒体1130(也被称为计算机可读媒体),其上存储有指令1135的一或多个集合或体现本文中所描述的方法或功能中的任何一或多个的软件。指令1135还可在其由计算机系统1100执行期间完全或至少部分地驻存在主存储器1110内及/或处理装置1105内,主存储器1110及处理装置1105也构成机器可读存储媒体。机器可读存储媒体1130、数据存储系统1125及/或主存储器1110可对应于存储器子系统。

在一个实例中,指令1135包含实施对应于仲裁器1150(例如,参考图1所描述的仲裁器150)的功能性的指令。尽管机器可读存储媒体1130展示为单个媒体,但是应认为术语“机器可读存储媒体”可包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还可包含能够存储或编码供机器执行的一组指令且致使机器执行本公开的方法中的任何一或多者的任何媒体。术语“机器可读存储媒体”可包含但不限于固态存储器、光学媒体以及磁性媒体。

描述了一种设备。所述设备可包含:一组分区队列,其经配置以接收用于一组存储器裸片的读取命令,所述一组分区队列中的每一分区队列与存储器装置的存储器裸片相关联;裸片选择组件,其经配置以选择待被执行读取命令的所述一组存储器裸片中的所述存储器裸片,直到已执行与所选存储器裸片相关联的每一读取命令为止;以及读取命令仲裁器,其经配置以执行与所述所选存储器裸片相关联的所述读取命令。

在一些实例中,所述读取命令仲裁器进一步经配置以根据所述一组分区队列的优先级次序而在第一存储器裸片处执行从与所述第一存储器裸片相关联的所述一组分区队列接收的一或多个读取命令。

在一些实例中,所述读取命令仲裁器进一步经配置以在执行每一读取命令之后更新所述一组分区队列的所述优先级次序。

在一些实例中,每一分区队列可经配置以接收用于在对应于所述分区队列的所述存储器裸片处执行一或多个读取操作的一或多个读取命令。

在一些情况下,所述裸片选择组件可进一步经配置以:确定所述一组存储器裸片中的第一存储器裸片可与由分区队列接收的至少一个读取命令相关联;且根据某次序且基于所述确定所述第一存储器裸片可与由所述分区队列接收的所述至少一个读取命令相关联而选择所述第一存储器裸片。

在一些实例中,所述一组分区队列可进一步经配置以基于接收读取命令而产生执行读取操作的请求,其中所述裸片选择组件基于所述请求而选择所述存储器裸片。

所述设备的一些实例可包含写入仲裁器,其经配置以执行用于在所述存储器装置的所述存储器裸片处执行一或多个写入操作的一或多个写入命令。

描述了一种设备。所述设备可包含:一组分区队列,其经配置以接收一组写入命令以在存储器裸片处执行写入操作,其中所述一组分区队列中的每一分区队列与存储器装置的所述存储器裸片相关联;以及写入命令仲裁器,其经配置以执行用于第一存储器裸片处的第一写入操作的第一写入命令,且在执行所述第一写入命令之后,在不同于所述第一存储器裸片的第二存储器裸片处执行用于第二写入操作的第二写入命令。

在一些情况下,写入命令仲裁器可进一步经配置以:确定所述一组写入命令中的一组写入命令,所述一组写入命令中的每一写入命令用于不同于第一写入命令的写入操作;以及基于第二写入命令的优先级与所述一组写入命令中的写入命令中的每一者的优先级的相对关系而从所述一组写入命令中选择第二写入命令,其中确定第二写入命令可基于选择第二写入命令。

在一些实例中,写入命令仲裁器可进一步经配置以确定用于执行所述一组写入命令的次序,其中在执行所述第一写入命令之后执行所述第二写入命令可基于确定用于执行所述一组写入命令的所述次序。

所述设备的一些实例可包含读取命令仲裁器,其经配置以执行用于在所述存储器装置的所述存储器裸片处执行一或多个读取操作的一组读取命令。

描述了一种系统。所述系统可包含:存储器子系统,其经配置以:接收用于一组存储器裸片的一组读取命令,每一读取命令指示存储器装置处的一或多个读取操作;至少部分地基于所述接收所述一组读取命令而选择所述一组存储器裸片中的第一存储器裸片;执行与所述第一存储器裸片相关联的所述一组读取命令中的第一组读取命令,所述第一组读取命令包含用于在所述第一存储器裸片处执行一或多个读取操作的一或多个读取命令;在执行所述第一组读取命令之后选择所述一组存储器裸片中的第二存储器裸片;以及执行与所述第二存储器裸片相关联的所述一组读取命令中的第二组读取命令,所述第二组读取命令包括用于在所述第二存储器裸片处执行一或多个读取操作的一或多个读取命令。

描述了一种系统。所述系统可包含存储器子系统,其经配置以:接收用于一组存储器裸片的一组写入命令,每一写入命令指示存储器装置的存储器裸片处的写入操作;在所述一组存储器裸片中的第一存储器裸片处执行所述一组写入命令中的第一写入命令;确定用于在所述一组存储器裸片中的不同于所述第一存储器裸片的第二存储器裸片处的写入操作的所述一组写入命令中的第二写入命令以执行;以及在执行所述第一写入命令之后,基于所述确定所述第二写入命令而执行所述第二写入命令。

可使用多种不同技术及技艺中的任一个来表示本文中描述的信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中参考的数据、指令、命令、信息、信号、位、符号以及码片。一些图式可将信号示出为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。

本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些情况下,衬底为半导体晶片。在其它情况下,衬底可为绝缘体上硅(silicon-on-insulator,SOI)衬底,例如玻璃上硅(silicon-on-glass,SOG)或蓝宝石上硅(silicon-on-sapphire,SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。

本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极及栅极的三端子装置。所述端子可通过例如金属的导电材料连接到其它电子元件。源极及漏极可为导电的,且可包括经重掺杂(例如,简并)半导体区。源极与漏极可通过经轻掺杂半导体区或通道分隔开。如果通道是n型(即,大部分载体为信号),则FET可称为n型FET。如果通道是p型(即,大部分载体为电洞),则FET可称为p型FET。通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。举例来说,将正电压或负电压分别施加到n型FET或p型FET可导致通道变得导电。当大于或等于晶体管的阈值电压的电压被施加到晶体管栅极时,晶体管可“接通”或“启动”。当将小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“撤销启动”。

本文中结合附图阐述的描述内容描述了实例配置,且并不表示可实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。具体实施方式包含提供对所描述的技术的理解的特定细节。然而,可在没有这些特定细节的情况下实践这些技术。在一些例子中,以框图的形式展示众所周知的结构及装置以免混淆所描述的实施例的概念。

在附图中,类似的组件或特征可具有相同的参考标记。此外,通过遵循虚线及第二标记的参考标记可区分相同类型的各种组件,这些虚线及第二标记在类似组件当中予以区分。若在说明书中仅使用第一参考标记,则描述适用于具有相同第一参考标记而与第二参考标记无关的类似组件中之任一者。

结合本文中的公开内容所描述的各种说明性块及模块可使用通用处理器、DSP、ASIC、FPGA或设计成执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置)。

本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,则可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例及实施方案在本公开及所附权利要求书的范围内。举例来说,由于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。实施功能的特征也可在物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。而且,如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“中的至少一者”或“中的一或多者”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一者的列表意指A或B或C或AB或AC或BC或ABC(即,A及B及C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A及条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。

计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。而且,可适当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(digital subscriber line,DSL)或例如红外线、无线电及微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘及光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也包含在计算机可读媒体的范围内。

提供本文描述以使得所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将了解对本公开的各种修改,且本文中界定的一般原理可应用于其它变体而不脱离本公开的范围。因此,本公开不限于本文描述的实例及设计,而是被赋予与本文公开的原理及新颖特征一致的最宽范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号