专利名称:用于存储器装置的指令高速缓存方案
专利类型:实用新型专利
专利申请号:CN202110569713.X
专利申请(专利权)人:美光科技公司
权利人地址:美国爱达荷州
专利发明(设计)人:C·阿塔纳西奥,M·亚库洛,P·西姆米诺,N·卡瓦列雷,F·法兰加
专利摘要:本申请案涉及一种用于存储器装置的指令高速缓存方案。存储器控制器可包含与存储数据和控制信息相关联的第一紧密耦合存储器组件和与存储控制信息相关联的第二紧密耦合存储器组件。所述存储器控制器可配置成从所述第一紧密耦合存储器组件检索数据且从第二紧密耦合存储器组件检索控制信息。控制信息可存储于所述第一紧密耦合存储器组件中,且存储器控制器可通过将存储于所述第一紧密耦合存储器组件中的所述控制信息从所述第一紧密耦合存储器组件传送到所述第二紧密耦合存储器组件中来存取所述控制信息。在将所述控制信息传送到所述第二紧密耦合存储器组件中之后,所述存储器控制器可从所述第二紧密耦合存储器组件存取所述控制信息。
主权利要求:
1.一种设备,其包括:
存储器阵列;
存储器控制器,其与所述存储器阵列耦合;
第一存储器组件,其与存储供所述存储器控制器使用的数据相关联;以及第二存储器组件,其与存储供所述存储器控制器使用的控制信息相关联,其中所述第一存储器组件和所述第二存储器组件均可以由所述存储器控制器直接访问,且其中所述存储器控制器配置成:从所述第一存储器组件检索所述数据;
从所述第二存储器组件检索所述控制信息;
通过将存储于所述第一存储器组件中的指令集从所述第一存储器组件传送到所述第二存储器组件来获得所述指令集;以及至少部分地基于从所述第二存储器组件获得的所述指令集而执行命令序列。
2.根据权利要求1所述的设备,其中所述存储器控制器与所述第一存储器组件和所述第二存储器组件紧密耦合。
3.根据权利要求1所述的设备,其中:
所述第一存储器组件进一步与存储供所述存储器控制器使用的第二控制信息相关联且包括用于存储第一多个指令集的第一分组位置;且所述第二存储器组件包括用于存储第二多个指令集的第二分组位置。
4.根据权利要求3所述的设备,其中:
所述第一存储器组件包括用于存储所述数据的第一未分组位置;且所述第二存储器组件包括用于存储所述控制信息的第二部分的第二未分组位置。
5.根据权利要求3所述的设备,其中所述第一分组位置的第一数量大于所述第二分组位置的第二数量。
6.根据权利要求1所述的设备,其进一步包括:
第一总线,其与所述存储器阵列和所述存储器控制器耦合;以及第二总线,其与所述存储器阵列、所述第一存储器组件和所述第二存储器组件耦合。
7.根据权利要求1所述的设备,其进一步包括:
第二存储器阵列,其配置成存储装置相关信息,其中所述存储器阵列包括非易失性存储器单元,且其中所述第一存储器组件、所述第二存储器组件和所述第二存储器阵列包括易失性存储器单元。
8.根据权利要求7所述的设备,其进一步包括:
第一总线,其与所述存储器阵列和所述存储器控制器耦合;
第二总线,其与所述存储器阵列、所述第一存储器组件和所述第二存储器组件耦合;以及第三总线,其与所述存储器控制器和所述第二存储器阵列耦合。
9.根据权利要求1所述的设备,其进一步包括:
第一总线,其与所述存储器阵列和所述存储器控制器耦合;
第二总线,其与所述存储器控制器、所述第一存储器组件和所述第二存储器组件耦合,其中所述第一存储器组件和所述第二存储器组件均与所述存储器阵列不同。
10.一种设备,其包括:
存储器阵列;
第一存储器组件,其与所述存储器阵列耦合且与存储数据相关联;
第二存储器组件,其与所述第一存储器组件耦合且与存储控制信息相关联;以及存储器控制器,其与所述存储器阵列、所述第一存储器组件和所述第二存储器组件耦合,其中所述第一存储器组件和所述第二存储器组件均可以由所述存储器控制器直接访问,且其中所述存储器控制器配置成从所述第一存储器组件存取所述数据并从所述第二存储器组件存取所述控制信息,且配置成:将多个指令集从所述存储器阵列传送到所述第一存储器组件;
至少部分地基于传送所述多个指令集而接收与所述存储器控制器相关联的命令;
至少部分地基于接收所述命令而将所述多个指令集的指令集从所述第一存储器组件传送到所述第二存储器组件,所述指令集包括用于执行所述命令的命令序列;以及由所述存储器控制器至少部分地基于将所述指令集从所述第一存储器组件传送到所述第二存储器组件而从所述第二存储器组件检索所述指令集。
11.根据权利要求10所述的设备,其中所述存储器控制器进一步能够用于:至少部分地基于从所述第二存储器组件检索所述指令集而根据所述命令序列执行操作。
12.根据权利要求10所述的设备,其中所述存储器控制器进一步能够用于:确定所述指令集不存在于所述第二存储器组件中且存在于所述第一存储器组件中,其中至少部分地基于所述确定而将所述指令集从所述第一存储器组件传送到所述第二存储器组件。
13.根据权利要求10所述的设备,其中所述存储器控制器进一步能够用于:存取存储于包括所述指令集的所述第一存储器组件的位置中的一组数据;以及写入被存取到所述第二存储器组件的第二位置的所述一组数据,其中至少部分地基于所述存取和所述写入而将所述指令集从所述第一存储器组件传送到所述第二存储器组件。
14.根据权利要求10所述的设备,其中所述存储器控制器进一步能够用于:接收与所述存储器控制器相关联的第二命令,其中所述第二命令进一步与存取所述存储器阵列相关联;
确定第二指令集存在于所述第二存储器组件中,所述第二指令集包括用于执行所述第二命令的第二命令序列;以及至少部分地基于所述确定而从所述第二存储器组件检索所述第二指令集。
15.根据权利要求14所述的设备,其中所述存储器控制器进一步能够用于:利用所述存储器阵列执行与根据所述第二命令序列存取所述存储器阵列相关联的操作,所述操作与持续时间相关联,其中在所述持续时间期间至少部分地基于在所述持续时间期间接收到所述命令而将与所述命令相关联的所述指令集从所述第一存储器组件传送到所述第二存储器组件。
16.根据权利要求10所述的设备,其中所述第一存储器组件进一步与存储第二控制信息相关联,其中作为启动过程的部分,所述多个指令集被传送到所述第一存储器组件,且其中所述多个指令集中的每一个将被使用的可能性满足第一阈值。
17.根据权利要求16所述的设备,其中所述多个指令集被传送到所述第一存储器组件的分组位置中。
18.根据权利要求16所述的设备,其中所述存储器控制器进一步能够用于:作为所述启动过程的部分,将所述多个指令集的子集从所述第一存储器组件传送到所述第二存储器组件,其中所述多个指令集的所述子集中的每一个将被使用的所述可能性满足大于所述第一阈值的第二阈值。
19.根据权利要求16所述的设备,其中所述存储器控制器进一步能够用于:作为所述启动过程的部分,将第二多个指令集从所述存储器阵列传送到所述第二存储器组件,其中所述第二多个指令集的每一个将被使用的可能性满足大于所述第一阈值的第二阈值。
20.根据权利要求19所述的设备,其中所述第二多个指令集被传送到所述第一存储器组件的分组位置。
21.根据权利要求10所述的设备,其中所述多个指令集包括与执行CMD6命令相关联的第一指令集和与执行CMD8命令相关联的第二指令集。
22.一种由存储器装置执行的方法,其包括:
将存储于存储器阵列中的指令集传送到与存储供存储器控制器使用的数据相关联的第一存储器组件;
至少部分地基于传送所述指令集而接收与所述存储器控制器相关联的命令;
经由与存储供所述存储器控制器使用的控制信息相关联的第二存储器组件获得存储于所述第一存储器组件中的所述指令集的指令集,其中所述指令集包括用于执行所述命令的命令序列,且其中所述第一存储器组件和所述第二存储器组件均可以由所述存储器控制器直接访问;以及至少部分地基于从所述第二存储器组件获得的所述指令集而执行所述命令序列。
23.根据权利要求22所述的方法,其进一步包括:至少部分地基于接收所述命令而将所述指令集从所述第一存储器组件传送到所述第二存储器组件;以及至少部分地基于将所述指令集传送到所述第二存储器组件而从所述第二存储器组件检索所述指令集,其中至少部分地基于将所述指令集从所述第一存储器组件传送到所述第二存储器组件且存取包括所述指令集的所述第二存储器组件的位置而经由所述第二存储器组件从所述第一存储器组件获得所述指令集。
24.根据权利要求22所述的方法,其进一步包括:确定所述指令集不存在于所述第二存储器组件中且存在于所述第一存储器组件中,其中至少部分地基于所述确定而将所述指令集从所述第一存储器组件传送到所述第二存储器组件。
25.根据权利要求22所述的方法,其进一步包括:接收与所述存储器控制器相关联的第二命令,其中所述第二命令进一步与存取所述存储器阵列相关联;
确定第二指令集存在于所述第二存储器组件中,所述第二指令集包括用于执行所述第二命令的第二命令序列;
至少部分地基于所述确定而从所述第二存储器组件检索所述第二指令集;以及根据所述第二命令序列存取所述存储器阵列。
26.根据权利要求22所述的方法,其进一步包括:在启动时间将存储于所述存储器阵列中的第二指令集传送到所述第二存储器组件。 说明书 : 用于存储器装置的指令高速缓存方案[0001] 交叉参考[0002] 本专利申请案要求阿塔纳西奥(Attanasio)等人于2020年5月26日提交的题为“用于存储器装置的指令高速缓存方案(INSTRUCTIONCACHINGSCHEMEFORMEMORYDEVICES)”的第16/883,769号美国专利申请案的优先权,所述申请案转让给本受让人且明确地以全文引用的方式并入本文中。技术领域[0003] 技术领域涉及一种用于存储器装置的指令高速缓存方案。背景技术[0004] 下文大体上涉及一或多个存储器系统,且更确切地说,涉及一种用于存储器装置的增强型指令高速缓存方案。[0005] 存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。信息是通过将存储器装置内的存储器单元编程为各种状态来存储的。举例来说,二进制存储器单元可被编程为两种支持状态中的一种,通常由逻辑1或逻辑0标示。在一些实例中,单个存储器单元可支持多于两种状态,所述两种状态中的任一种可存储。为了存取所存储信息,组件可读取或感测存储器装置中的至少一种所存储状态。为了存储信息,组件可对存储器装置中的状态进行写入或编程。[0006] 存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选存储器、硫族化物存储器技术等。存储器单元可以是易失性或非易失性的。例如FeRAM的非易失性存储器即使在无外部电源存在的情况下仍可长时间保持其所存储的逻辑状态。例如DRAM的易失性存储器装置在与外部电源断开连接时可能会丢失其所存储的状态。发明内容[0007] 一种设备可包含:存储器阵列;存储器控制器,其与所述存储器阵列耦合;第一存储器组件,其与存储供所述存储器控制器使用的数据相关联;以及第二存储器组件,其与存储供所述存储器控制器使用的控制信息相关联。在一些实例中,所述存储器控制器可配置成从第一存储器组件检索数据;从第二存储器组件检索控制信息;通过将存储于所述第一存储器组件中的指令集从所述第一存储器组件传送到所述第二存储器组件来获得指令集;以及至少部分地基于从所述第二存储器组件获得的所述指令集而执行命令序列。[0008] 一种设备可包含:存储器阵列;第一存储器组件,其与所述存储器阵列耦合且与存储数据相关联;第二存储器组件,其与所述第一存储器组件耦合且与存储控制信息相关联;以及存储器控制器,其与所述存储器阵列、所述第一存储器组件和所述第二存储器组件耦合。在一些实例中,所述存储器控制器可配置成从第一存储器组件存取数据并从第二存储器组件存取控制信息的至少一部分,所述存储器控制器配置成:将第一多个指令集从存储器阵列传送到所述第一存储器组件;至少部分地基于传送所述第一多个指令集而接收与所述存储器控制器相关联的命令;至少部分地基于接收所述命令而将所述第一多个指令集的指令集传送到所述第二存储器组件,所述指令集包括用于执行所述命令的命令序列;以及由所述存储器控制器至少部分地基于将所述指令集从所述第一存储器组件传送到所述第二存储器组件而从所述第二存储器组件检索所述指令集。[0009] 一种由存储器装置执行的方法可包含:将存储于存储器阵列中的第一指令集传送到与存储供存储器控制器使用的数据相关联的第一存储器组件;至少部分地基于传送所述第一指令集而接收与所述存储器控制器相关联的命令;经由与存储供所述存储器控制器使用的控制信息相关联的第二存储器组件获得存储于所述第一存储器组件中的所述第一指令集的指令集,所述指令集包括用于执行所述命令的命令序列;以及至少部分地基于从所述第二存储器组件获得的所述指令集而执行所述命令序列。附图说明[0010] 图1和2示出根据如本文所公开的实例的支持增强型指令高速缓存方案的系统的实例。[0011] 图3示出根据如本文所公开的实例的用于增强型指令高速缓存方案的过程的实例。[0012] 图4展示根据如本文所公开的实例的支持增强型指令高速缓存方案的存储器控制器的框图。[0013] 图5和6展示示出根据如本文所公开的实例的支持增强型指令高速缓存方案的一或多种方法的流程图。具体实施方式[0014] 存储器控制器可配置成从第一存储器组件(例如,从用于指令的紧密耦合存储器(CCM),其在一些情况下可被称为ICCM)存取控制信息(例如,用于执行存储器命令的指令)且从第二存储器组件(例如,从用于数据的CCM,其在一些情况下可被称为DCCM)存取数据。由于ICCM的有限容量,存储器控制器可将可用指令集的一部分存储于不与存储器控制器紧密耦合的主存储器阵列中。因此,在执行与存储于主存储器阵列中的指令集相关联的命令之前,存储器控制器可在确定对应指令集并未存储于ICCM中之后将对应指令集从主存储器阵列传送到ICCM中。但将对应指令集传送到ICCM中可例如由于与等待在主存储器阵列处完成先前存储器操作相关联的传送和/或延迟的固有时延而将额外时延引入到对应命令的执行中。此额外时延可减小存储器装置的数据速率和/或使命令的执行超出时序参数。[0015] 增加ICCM的大小‑例如通过增加对应指令集存储于ICCM处的可能性可减少由存储器控制器执行的传送操作量。然而,增加ICCM的大小可增加紧密耦合存储器系统的成本和/或复杂性。举例来说,增加ICCM的大小可增加ICCM所使用的面积。在一些装置(如移动计算装置)中,可存在更严格的空间限制,且增加ICCM所使用的面积可能是不可行的或不可能的。[0016] 为了减小与执行命令相关联的时延而不增加ICCM的大小,DCCM可配置成存储可由存储器控制器通过ICCM存取的控制信息。也就是说,存储器控制器可配置成通过开始将存储于DCCM中的指令集中的一或多个从DCCM传送到ICCM中且接着从ICCM存取一或多个指令集而存取指令集。相较于将指令集从主存储器阵列传送到ICCM中,执行将指令集从DCCM传送到ICCM所用的时间可更少。并且,可在主存储器阵列正用于执行先前存储器操作时执行将指令集从DCCM传送到ICCM中。[0017] 下文在支持存储器操作的系统的上下文中进一步描述上文所介绍的本公开的特征。随后描述支持将控制信息存储于DCCM中且对所述控制信息进行存取的系统和用于存储和存取存储于DCCM中的控制信息的过程的特定实例。本公开的这些和其它特征进一步由涉及增强型指令高速缓存方案的设备图、系统图和流程图说明且参考所述设备图、系统图和流程图进行描述。[0018] 图1示出根据如本文所公开的实例的支持增强型指令高速缓存方案的系统100的实例。系统100可包含主机装置105、存储器装置110和将主机装置105与存储器装置110耦合的多个通道115。系统100可包含一或多个存储器装置110,但所述一或多个存储器装置110的各方面可在单个存储器装置(例如,存储器装置110)的上下文中进行描述。[0019] 系统100可包含如计算装置、移动计算装置、无线装置、图形处理装置、车辆或其它系统的电子装置的部分。举例来说,系统100可说明计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、整车控制器等的各方面。存储器装置110可以是可用于存储用于系统100的一或多个其它组件的数据的系统的组件。系统100可包含存储用于执行本文所描述的用于执行增强型指令高速缓存方案(例如,方法500和600)的方法的指令(例如,固件)的非暂时性CRM(例如,外部存储器控制器120或装置存储器控制器155)。举例来说,指令在由外部存储器控制器120(或更确切地说,处理器125)执行时可使外部存储器控制器120执行如本文所描述的用于执行增强型指令高速缓存方案的方法。[0020] 系统100的至少部分可以是主机装置105的实例。此外,主机装置105可以是使用存储器来执行过程的装置内的处理器或其它电路系统的实例,所述装置如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、整车控制器或某一其它固定或便携式电子装置。在一些实例中,主机装置105可指实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可被称为主机或主机装置105。[0021] 存储器装置110可以是可用于提供可供系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可配置成与一或多个不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可用于支持以下各项中的一或多个:用以调制信号的调制方案、用于传送信号的各种引脚配置、用于主机装置105和存储器装置110的物理封装的各种外观尺寸、主机装置105与存储器装置110之间的时钟信令和同步、时序惯例或其它因素。[0022] 存储器装置110可用于存储用于主机装置105的组件的数据。在一些实例中,存储器装置110可充当主机装置105的从机型装置(例如,响应且执行由主机装置105通过外部存储器控制器120提供的命令)。此类命令可包含用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令中的一或多个。[0023] 主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出系统(BIOS)组件130或如一或多个外围组件或一或多个输入/输出控制器的其它组件中的一或多个。主机装置的组件可使用总线135彼此耦合。[0024] 处理器125可用于针对系统100的至少部分或主机装置105的至少部分提供控制或其它功能。处理器125可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或这些组件的组合。此外,在此类实例中,处理器125可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或芯片上系统(SoC)的实例。在一些实例中,外部存储器控制器120可由处理器125实施或为所述处理器的一部分。[0025] BIOS组件130可以是包含操作为固件的BIOS的软件组件,其可初始化且运行系统100或主机装置105的各种硬件组件。BIOS组件130还可管理处理器125与系统100或主机装置105的各种组件之间的数据流。BIOS组件130可包含存储于只读存储器(ROM)、快闪存储器或其它非易失性存储器中的一或多个中的程序或软件。[0026] 存储器装置110可包含装置存储器控制器155和一或多个存储器阵列以支持用于数据存储的所要容量或指定容量。在一些情况下,存储器装置110可包含非易失性存储器阵列160和易失性存储器阵列170。每一存储器阵列可包含本地存储器控制器(例如,第一本地存储器控制器165和第二本地存储器控制器175)。存储器阵列可以是存储器单元的集合(例如,一或多个网格、一或多个存储体、一个或多个图像块、一或多个区段),其中每一存储器单元可用于存储至少一位数据。在一些情况下,非易失性存储器阵列160可包含使用布置成形成“与非”(NAND)电路系统的多组晶体管实施的NAND存储器单元。在一些情况下,易失性存储器阵列170可包含DRAM单元或另一存储器技术。[0027] 装置存储器控制器155可包含可用于控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使存储器装置110能够执行各种操作且可用于接收、传输或执行与存储器装置110的组件相关的命令、数据或控制信息的硬件、固件或指令。装置存储器控制器155可用于与外部存储器控制器120、非易失性存储器阵列160、易失性存储器阵列170或处理器125或其任何组合中的一或多个通信。在一些实例中,装置存储器控制器155可结合非易失性存储器阵列160的第一本地存储器控制器165和/或易失性存储器阵列170的第二本地存储器控制器175控制本文所描述的存储器装置110的操作。[0028] 在一些实例中,存储器装置110可从主机装置105接收数据或命令或这两者。举例来说,存储器装置110可接收指示存储器装置110要存储用于主机装置105的数据的写入命令或指示存储器装置110要将存储于存储器阵列中的数据提供到主机装置105的读取命令。[0029] 如第一本地存储器控制器165或第二本地存储器控制器175的本地存储器控制器可用于控制对应存储器阵列的操作。在一些实例中,第一本地存储器控制器165和/或第二本地存储器控制器175可用于与装置存储器控制器155通信(例如,接收或传输数据或命令或这两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155,且第一本地存储器控制器165和第二本地存储器控制器175中的一或两者或外部存储器控制器120可执行本文所描述的各种功能。因此,本地存储器控制器可用于与装置存储器控制器155、与其它本地存储器控制器或直接与外部存储器控制器120或处理器125或其任何组合通信。可包含于装置存储器控制器155或本地存储器控制器或这两者中的组件的实例可包含用于接收信号(例如,从外部存储器控制器120接收)的接收器、用于发射信号(例如,发射到外部存储器控制器120)的发射器、用于解码或解调所接收信号的解码器、用于编码或调制待发射信号的编码器,或可用于支持装置存储器控制器155或本地存储器控制器或这两者的所描述的操作的各种其它电路或控制器。[0030] 外部存储器控制器120可用于实现系统100或主机装置105(例如,处理器125)的组件与存储器装置110之间的信息、数据或命令中的一或多个的通信。外部存储器控制器120可转换或转译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或系统100或主机装置105的其它组件或本文所描述的其功能可由处理器125实施。举例来说,外部存储器控制器120可以是由处理器125或系统100或主机装置105的其它组件实施的硬件、固件或软件或其一些组合。虽然外部存储器控制器120描绘为在存储器装置110外部,但在一些实例中,外部存储器控制器120或本文所描述的其功能可由存储器装置110的一或多个组件(例如,装置存储器控制器155、第一本地存储器控制器165、第二本地存储器控制器175或其任何组合)实施或反之亦然。[0031] 主机装置105的组件可使用一或多个通道115与存储器装置110交换信息。通道115可用于支持外部存储器控制器120与存储器装置110之间的通信。每一通道115可以是在主机装置105与存储器装置之间载送信息的传输媒体的实例。每一通道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或传输媒体(例如,导体)。信号路径可以是可用于载送信号的导电路径的实例。举例来说,通道115可包含第一端子,所述第一端子包含在主机装置105处的一或多个引脚或焊盘和在存储器装置110处的一或多个引脚或焊盘。引脚可以是系统100的装置的导电输入或输出点的实例,且引脚可用于充当通道的部分。[0032] 通道115(和相关联的信号路径和端子)可专用于传送一或多种类型的信息。举例来说,通道115可包含一或多个命令和地址(CA)通道、一或多个时钟信号(CK)通道、一或多个数据(DQ)通道、一或多个其它通道或其任何组合。在一些实例中,可使用单倍数据速率(SDR)信令或双倍数据速率(DDR)信令在通道115上传送信令。[0033] 如外部存储器控制器120、装置存储器控制器155、第一本地存储器控制器165和/或第二本地存储器控制器175的存储器控制器可配置成从ICCM存取控制信息和从DCCM存取数据。控制信息(例如,指令、命令序列等)可由存储器控制器使用以执行所接收的存储器命令。由于ICCM中的有限空间,存储器控制器可将可用指令集的一部分存储于未与存储器控制器紧密耦合的另一存储器阵列中,所述存储器阵列例如非易失性存储器阵列160或易失性存储器阵列170。因此,在执行某些命令(例如,从主机装置105接收到的命令)之前,存储器控制器可在确定对应指令集并未存储于ICCM中之后将对应指令集从另一存储器阵列传送到ICCM中。但将对应指令集传送到ICCM中可例如由于与等待在另一存储器阵列处完成先前进行的存储器操作相关联的传送和/或延迟的固有时延而将额外时延引入到对应命令的执行中。此额外时延可减小存储器装置的数据速率和/或使命令的执行超出时序参数。[0034] 增加ICCM的大小‑例如通过增加对应指令集存储于ICCM处的可能性可减少由存储器控制器执行的传送操作量。然而,增加ICCM的大小可增加紧密耦合存储器系统的成本和/或复杂性。[0035] 为了减小与执行命令相关联的时延同时最小化ICCM的大小,DCCM可配置成存储可由存储器控制器通过ICCM存取的控制信息。也就是说,存储器控制器可配置成通过开始将存储于DCCM中的指令集中的一或多个从DCCM传送到ICCM中且接着从ICCM存取一或多个指令集来存取指令集。相较于将指令集从存储器阵列传送到ICCM中,执行将指令集从DCCM传送到ICCM所用的时间可更少。并且,可在另一存储器阵列正用于执行先前存储器操作时执行将指令集从DCCM传送到ICCM中。[0036] 图2示出根据如本文所公开的实例的支持指令高速缓存方案的系统的实例。系统200可配置成支持紧密耦合存储器(CCM)组件(例如,ICCM和DCCM)之间的指令的传送,且可以是图1的系统100的实例。系统200可包含存储器控制器205、非易失性存储器210、易失性存储器215、ICCM220、DCCM225、第一总线230和第二总线235。[0037] 存储器控制器205可配置成存储、布置和存取位于存储器装置中的信息(例如,控制信息或数据),所述存储器装置例如非易失性存储器210、易失性存储器215、ICCM220和DCCM225。在一些情况下,存储器控制器205可与ICCM220和DCCM225紧密耦合。换句话说,存储器控制器205可具有到存储于ICCM220中的控制信息和存储于DCCM225中的数据的直接连接。因此,存储器控制器205可能够在不与额外逻辑或存储器控制器介接的情况下存取存储于ICCM220和DCCM225中的信息。因此,相较于非易失性存储器210和/或易失性存储器215,存储器控制器205可在较短时间量内(即,具有较低时延)存取ICCM220和DCCM225。[0038] 存储器控制器205可进一步配置成仅从ICCM220存取控制信息(例如,指令)且仅从DCCM225存取数据。也就是说,存储器控制器205可包含专用于存取和处理存储于ICCM220中的信息的第一电路系统(例如,总线、处理单元等)和专用于存取和处理存储于DCCM225中的信息的第二电路系统。使存储器控制器205仅从ICCM220存取控制信息且仅从DCCM225存取数据的配置可减小存储器系统的复杂性,此类配置可被称为“哈佛结构”。举例来说,可在存储器控制器205、ICCM220与DCCM225之间建立专用总线。因此,可避免用于多路复用控制信息和数据的技术,且可消除专用于区分控制信息和数据的额外开销。[0039] 在一些情况下,存储器控制器205可位于主机装置内,且可以是参考图1所描述的外部存储器控制器120的实例。在一些情况下,存储器控制器205可由硬件(例如,处理器125)、固件、软件或其任何组合实施。在其它情况下,存储器控制器205可位于存储器装置内,且可以是参考图1所描述的装置存储器控制器155、第一本地存储器控制器165或第二本地存储器控制器175的实例。在一些实例中,存储器控制器205可配置成例如基于从主机装置(或在主机装置上运行的应用程序)接收到从存储器读取信息或将信息写入到所述存储器的请求而发出用于操作存储器装置的命令。在一些实例中,在发出命令之前,存储器控制器205可配置成从ICCM220检索用于执行命令(其可包含或为命令序列)的指令。存储器控制器205随后可将命令序列传输到存储器装置,例如传输到位于存储器装置处的不同存储器控制器。在一些实例中,存储器控制器205基于是非易失性存储器210还是易失性存储器215正由存储器控制器205存取而发出用于相同命令的不同命令序列。[0040] 非易失性存储器210可配置成存储信息,而不管存储器装置是否通电。非易失性存储器210可配置成存储数据和/或控制信息(例如,命令序列)。非易失性存储器210可包含图1的非易失性存储器阵列160和/或第一本地存储器控制器165。如参考图1所描述,可存取非易失性存储器210。[0041] 易失性存储器215可配置成在存储器装置通电时存储信息。易失性存储器215可配置成存储数据和/或控制信息。易失性存储器215可包含图1的易失性存储器阵列170和/或第二本地存储器控制器175。如参考图1所描述,可存取易失性存储器215。[0042] ICCM220可配置成存储供存储器控制器205使用的控制信息。在一些实例中,ICCM220可包含非易失性和/或易失性存储组件。ICCM220可包含未分组控制存储器240和分组控制存储器,所述分组控制存储器可包含M个控制存储器组:第一控制存储器组245到第M个控制存储器组250。在一些实例中,未分组控制存储器240可包含可由存储器控制器205直接存取的存储器位置,即包含未分组控制存储器240的位置的地址的命令可用以直接存取存储于未分组控制存储器240的物理位置处的信息。相比而言,分组控制存储器可包含可由存储器控制器205间接存取的控制存储器位置,即包含未分组控制存储器240(例如,页寄存器)的位置的地址的命令可用以间接存取存储于具有与命令中包含的地址不同的物理地址的ICCM220的分组控制存储器中的位置处的信息。[0043] 未分组控制存储器240可以比分组控制存储器低的时延存取,值得注意的是,ICCM220中的分组控制存储器可以比非易失性存储器210或易失性存储器215低的时延存取。然而,可基于指定用于对不同控制存储器位置进行寻址的位的数量而限制未分组控制存储器240中的位置的数量。因此,ICCM220可将常用(例如,读取、写入、编码和解码命令序列)或操作关键的控制信息存储于未分组控制存储器240中。ICCM220可将较不常用的控制信息(例如,cmd6或cmd8命令序列)存储于分组控制存储器中。在一些情况下,存储器控制器205可例如基于确定用于执行所接收命令的命令序列未存储于ICCM220中(或不存在于所述ICCM中)而更新存储于分组控制存储器位置中的控制信息。为了更新存储于分组控制存储器位置中的控制信息,存储器控制器205可传送来自非易失性存储器210或易失性存储器215的命令序列。[0044] DCCM225可配置成存储供存储器控制器205使用的数据。在一些实例中,DCCM225可包含非易失性和/或易失性存储组件。DCCM225可包含未分组数据存储器255和分组数据存储器,所述分组数据存储器可包含N个存储器组:第一数据存储器组260到第N个数据存储器组265。在一些情况下,N的值可大于M的值。包含于DCCM225中的未分组数据存储器255和分组数据存储器可类似地配置为包含于ICCM220中的未分组控制存储器240和分组控制存储器。DCCM225可将中间数据存储于未分组数据存储器255中。中间数据可包含处于正变化的过程中的数据(其也可被称为瞬时数据),且可不同于实际写入到存储器或从所述存储器读取的数据。变化数据可包含在存储或输出数据之前所接收的位的全部或一部分的反转。例如在存储器控制器205在存储或输出数据之前确定关于数据的信息的情况下,中间数据还可包含用以支持存储器操作的执行的数据。在一些实例中,未分组数据存储器255可用以实施存储器堆栈。[0045] 第一总线230可配置成在存储器控制器205、非易失性存储器210和/或易失性存储器215之间引导信息。在一些情况下,第一总线230可包含将存储器控制器205与非易失性存储器210连接的第一组导体和将存储器控制器205与易失性存储器215连接的第二组导体。在此类情况下,存储器控制器205可能能够在存取存储于易失性存储器215中的信息的同时存取存储于非易失性存储器210中的信息。在一些情况下,第一组导体可被称为不同于第二组导体的总线。在一些情况下,第一总线230可包含将存储器控制器205与非易失性存储器210和易失性存储器215连接的单组导体。在此类情况下,存储器控制器205可限于在同一时期期间存取存储于非易失性存储器210或易失性存储器215中的一个中的信息。在一些实例中,例如当存储器控制器205位于主机装置处时,存储器控制器205可将从非易失性存储器210和易失性存储器215检索到的信息输出到主机装置。在其它实例中,当存储器控制器205位于存储器装置处时,第一总线230中的第一和/或第二导体还可与主机装置连接,且可用以例如将信息直接输出到主机装置。[0046] 第二总线235可配置成在存储器控制器205、ICCM220和/或DCCM225之间引导信息。在一些情况下,第二总线235可包含将存储器控制器205连接到ICCM220的第一组导体,其中控制信息可在第一组导体上传输。存储器控制器205可使用第一组导体以将命令传输到ICCM220例如以从ICCM220读取信息。第二总线235还可包含将存储器控制器205连接到DCCM225的第二组导体,其中数据可在第二组导体上传输。存储器控制器205可使用第二组导体以将命令传输到DCCM225—例如以从DCCM225读取信息或将信息写入到所述DCCM。[0047] 存储器控制器205可配置成仅从ICCM220存取控制信息。在一些情况下,由存储器控制器205从ICCM220请求的控制信息可不存储于ICCM220中。然而,所请求的控制信息可存储于非易失性存储器210或易失性存储器215中的至少一个中。在一些情况下,为了检索控制信息,存储器控制器205可将控制信息从非易失性存储器210或易失性存储器215传送到ICCM220。在传送控制信息之后,存储器控制器205可从ICCM220存取控制信息。[0048] 在一些情况下,与将控制信息从非易失性存储器210或易失性存储器215传送到ICCM220相关联的时延可例如通过增加从接收到命令到执行命令的持续时间来降低存储器控制器205的性能。在一些情况下,如果当在无论哪个都存储所请求的控制信息的非易失性存储器210或易失性存储器215处执行存储器操作(例如,读取操作、写入操作等)时接收到命令,则可加剧时延的增加。类似地,例如当第一总线230包含单组导体时,如果在第一总线230被占用以用于在非易失性存储器210或易失性存储器215处执行的存储器操作时接收到命令,则时延可更大程度地增加,而不管所请求的控制信息在何处。增加ICCM220的大小‑例如通过增加所请求的控制信息存储于ICCM220处的可能性可减少由存储器控制器205执行的传送操作量。然而,增加ICCM220的大小可增加紧密耦合存储器系统的成本和/或复杂性。[0049] 在其它情况下,与将控制信息从非易失性存储器210或易失性存储器215传送到ICCM220相关联的时延可使用某些将存储于ICCM220中(例如,存储于未分组控制存储器240中)的控制信息。也就是说,某些命令可具有待执行的某一持续时间,且因此可永久地存储于ICCM220中以确保存储器控制器205将能够在所述持续时间内执行命令。在一些实例中,将cmd8命令存储于ICCM220中以确保所述命令的及时执行,这是因为用于加载ICCM220中的分组存储器的位置的额外开销可能是不可持续的。可使用cmd8命令以使存储器装置输出存储用于存储器装置的装置特定信息的寄存器(其可被称为“扩展的卡特定数据(EXT_CSD)寄存器”)的内容。在一些实例中,寄存器存储于易失性存储器215中。在一些实例中,将cmd6命令存储于ICCM220中以确保所述命令的及时执行,这是因为其执行的严格时延参数。cmd6命令可用以切换存储器装置的操作模式或修改存储用于存储器装置的装置特定信息的寄存器的内容。[0050] 为了减小与存储器控制器205执行命令相关联的时延而不增加(或同时最小化)ICCM220的大小,DCCM225可配置成存储可由存储器控制器205经由ICCM220存取的控制信息。也就是说,当存储器控制器205确定控制信息未存储于ICCM220中时,存储器控制器205可将控制信息从DCCM225传送到ICCM220中而不是将控制信息从非易失性存储器210和/或易失性存储器215传送到所述ICCM中。相较于将控制信息从非易失性存储器210和/或易失性存储器215传送到ICCM220,将控制信息从DCCM225传送到所述ICCM可花费较少时间。并且,控制信息可从DCCM225传送到ICCM220中,而非易失性存储器210和/或易失性存储器215参与用于先前命令的操作。在DCCM225未存储所请求的控制信息的情况下,存储器控制器205可将控制信息从非易失性存储器210或易失性存储器215传送到ICCM220中。[0051] 为了支持将控制信息从DCCM225传送到ICCM220中,DCCM225可配置成将控制信息存储于包含第一数据存储器组260到第N个数据存储器组265的N个分组存储器位置中。在一些情况下,包含于DCCM225中的存储器组的数量可基于在部署到区域中之后存储器控制器205的预期操作,例如如果存储器控制器205很可能在操作期间有规律地使用广泛多种命令,则DCCM225可配置有额外数量的数据存储器组。在一些情况下,包含于DCCM225中的存储器组的数量可在操作期间配置,例如DCCM225可由存储器控制器205配置以基于配置成用于存储器控制器205的操作模式而具有更多或更少的数据存储器组。[0052] 为了进一步支持将控制信息从DCCM225传送到ICCM220中,第二总线235可包含将ICCM220连接到DCCM225的第三组导体,其中可在第三组导体上传输控制信息。存储器控制器205可使用第一组导体和第二组导体将控制信令传输到ICCM220和DCCM225,所述ICCM和DCCM开始将控制信息从DCCM225传送到ICCM220。替代地,存储器控制器205可使用第三组导体将控制信令传输到ICCM220和DCCM225,所述ICCM和DCCM开始将控制信息从DCCM225传送到ICCM220。与将控制信息从DCCM225传送到ICCM220相关联的操作在本文中并参考图3更详细地论述。[0053] 图3示出根据如本文所公开的实例的用于增强型指令高速缓存方案的过程的实例。过程流程300可由图2的存储器控制器205、ICCM220和DCCM225以及存储器阵列305执行。存储器阵列305可以是参考图2所描述的非易失性存储器210和/或易失性存储器215的实例。[0054] 过程流程300可描绘用以支持增强型指令高速缓存方案的所交换的信令和所执行的处理。过程流程300可说明存储器控制器205通过将控制信息从DCCM225传送到ICCM220存取存储于ICCM220中的控制信息(例如,指令集或命令序列)的实例。所属领域的技术人员将理解,过程流程300中所描述的操作中的一或多个可在过程中较早或稍晚执行、省略、替换、补充或其任何组合。并且,可包含本文所描述的未明确地包含于过程流程300中的额外操作。[0055] 在箭头310之前,可将存储器控制器205、ICCM220、DCCM225和存储器阵列305通电。[0056] 在箭头310处和在启动过程期间,供存储器控制器205使用的第一指令集(例如,命令序列)可从存储器阵列305传送到DCCM225。在一些情况下,存储器控制器205将开始将第一指令集传送到DCCM225中的命令发送到存储器阵列305。在其它情况下,存储器阵列305将第一指令集自动传送到DCCM225中作为启动过程的一部分。可基于先前确定的第一指令集中的每一个将被存储器控制器205请求的可能性高于第一阈值而选择第一指令集。另外或替代地,可基于第一指令集的时延特性低于阈值而选择第一指令集。另外或替代地,可基于第一指令集的大小高于阈值而选择第一指令集。第一指令集可存储于DCCM225处的分组存储器中。在一些实例中,第一指令集包含用于例如基于指令的时延特性低于阈值而执行cmd6命令的指令集。在一些实例中,第一指令集包含用于例如基于指令集的大小超出阈值而执行cmd8命令的指令集。[0057] 在一些情况下,作为启动过程的部分,供存储器控制器205使用的第二指令集可例如基于从存储器控制器205接收命令或自动地从存储器阵列305传送到ICCM220。可基于先前确定的第二指令集中的每一个将被存储器控制器205请求的可能性高于大于第一阈值的第二阈值而选择第二指令集。第二指令集可存储于ICCM220处的分组存储器中。在一些实例中,第一指令集的数量大于第二指令集的数量。在一些实例中,在传送第一和/或第二指令集之后,存储器阵列305可存储额外指令集。额外指令集中的每一个将被存储器控制器205请求的可能性可低于第一阈值。[0058] 在箭头315处,作为启动过程的部分,第一指令集的子集可例如基于从存储器控制器205接收命令或自动地从DCCM225传送到ICCM220。可基于先前确定的第一指令集的子集中的每一个将被存储器控制器205请求的可能性高于大于第一阈值的第二阈值而选择第一指令集的子集。第一指令集的子集可存储于ICCM220处的分组存储器中。[0059] 在框320处,可接收存储器命令。举例来说,存储器控制器205可接收存储器命令。在一些情况下,存储器控制器205可例如在存储器控制器205位于存储器装置内时从主机装置接收存储器命令。在一些情况下,存储器控制器205可例如在存储器控制器205位于主机装置内时从在主机装置上运行的应用程序接收存储器命令。除接收存储器命令之外,存储器控制器205还可例如在命令为写入命令的情况下接收数据。在一些实例中,存储器控制器205可确定用于执行所获得命令(例如,命令序列)的指令集存储于ICCM220中。[0060] 在箭头325处,可检索用于执行所获得命令的指令集。举例来说,存储器控制器205可基于确定指令集位于ICCM220中而检索用于执行从ICCM220获得的命令的指令集。在一些实例中,存储器控制器205可通过存取存储于ICCM220的一或多个分组存储器位置处的控制信息来检索指令集。用于执行命令所获得命令的指令集可包含与所获得命令相关联的命令序列。[0061] 在框330处,可执行所获得命令。举例来说,存储器控制器205、DCCM225和/或存储器阵列305可用以根据检索到的指令集执行所获得命令。为了执行所获得命令,存储器控制器205、DCCM225和/或存储器阵列305可执行用于命令的命令序列。在一些实例中,命令序列可与将数据写入到存储器阵列305相关联。在将数据写入到存储器阵列305之前,存储器控制器205可修改数据(例如,对数据进行编码)。在一些情况下,修改数据可涉及将异或运算应用于包含于数据中的位的一部分以用于一或多个迭代,例如直到数据符合阈值为止。在其它情况下,存储器控制器205可缓冲在DCCM225中的命令中接收到的数据,直到完成用于从存储器阵列305读取或写入到所述存储器阵列的先前命令为止。[0062] 在箭头331处,可发送数据或数据的修改后的数据版本。举例来说,存储器控制器205可将数据或数据的修改后的版本发送到DCCM225。在一些情况下,在完成数据在箭头332处发送回存储器控制器205之前对数据执行额外处理。在箭头333处,在处理数据和/或完成先前存储器操作之后,存储器控制器205可将一或多个命令(例如,激活(ACT)、读取(RD)、写入(WR)和预充电(PRE)命令)以及完成数据发出到存储器阵列305。[0063] 在框335处,可接收额外存储器命令。举例来说,存储器控制器205可接收额外存储器命令。在一些实例中,存储器命令为cmd6命令或cmd8命令。在一些实例中,存储器控制器205可确定用于执行所获得的额外命令(例如,额外命令序列)的指令集未存储于ICCM220中。[0064] 在箭头340处,可传输传送命令。举例来说,存储器控制器205可传输传送命令,所述传送命令开始将用于执行额外命令的指令集从DCCM225传送到ICCM220中。在一些实例中,存储器控制器205可将相同控制信号传输到ICCM220和DCCM225,这使DCCM225将指令集释放到共享总线且使ICCM220将共享总线的内容加载到分组控制存储器位置中。在其它实例中,存储器控制器205同时或依序传输不同的控制信号以使DCCM225将指令集释放到与ICCM220共享的总线上,且使ICCM220将总线的内容加载到分组控制存储器位置中。[0065] 在箭头345处,可基于控制信令而将指令集释放到总线上。举例来说,DCCM225可基于从存储器控制器205接收控制信令而将指令集从分组数据存储器位置释放到总线上。同时,ICCM220可基于从存储器控制器205接收控制信令而将总线的内容加载到分组控制存储器位置中。在一些实例中,框330处所描述的命令序列的执行可在接收到额外存储器命令时进行。在此类情况下,通过将第一指令存储于DCCM225中,存储器控制器205可传输控制信令,且可在执行框330处所描述的命令序列的同时将指令集从DCCM225传送到ICCM220中,例如而非在传送指令集之前等待命令序列在存储器阵列305处完成。[0066] 在箭头348处,可传输存取命令。举例来说,存储器控制器205可传输存取命令,所述存取命令给予存储器控制器205对存储所传送指令集的ICCM220中的分组存储器位置的位置的存取权。[0067] 在箭头350处,可提供指令集。举例来说,ICCM220可基于接收存取命令而将指令集提供到存储器控制器205。[0068] 在框355处,可执行额外存储器命令。举例来说,存储器控制器205、DCCM225和/或存储器阵列305可用以根据检索到的指令集执行所接收的额外存储器命令。在一些实例中,存储器控制器205、DCCM225和/或存储器阵列305可等待直到先前命令序列的执行完成为止,随后执行额外命令序列。在其它实例中,存储器控制器205、DCCM225和/或存储器阵列305可在先前命令序列进行时开始执行额外命令序列,例如在先前命令序列用以存取非易失性存储器且额外命令序列用以存取使用与非易失性存储器不同的总线的易失性存储器的情况下。[0069] 在一些实例中,额外命令序列用以执行cmd8命令。当存储装置特定信息的寄存器存储于易失性存储器中且先前命令目前正执行以存取非易失性存储器中的信息时,存储器控制器205可发出额外命令序列的命令,且易失性存储器可在先前命令正执行时输出寄存器的内容。类似地,如果额外命令序列用以执行cmd6命令,则存储器控制器205可在先前命令正执行时更新存储于易失性存储器中的寄存器的内容。[0070] 图4展示根据如本文所公开的实例的支持增强型指令高速缓存方案的存储器控制器405的框图400。存储器控制器405可以是如参考图1‑3所描述的存储器控制器的各方面的实例。存储器控制器405可包含主存储器传送组件410、命令处理组件415和CCM传送组件420。这些模块中的每一个可直接或间接地(例如,经由一或多个总线)彼此通信。[0071] 主存储器传送组件410可将第一组指令集从存储器阵列传送到与存储供存储器控制器使用的数据相关联的第一存储器组件。在一些情况下,第一存储器组件进一步与存储第二控制信息相关联。在一些情况下,基于第一组指令集中的每一个将被使用的可能性满足第一阈值而将第一组指令集传送到第一存储器组件作为启动过程的部分。[0072] 在一些实例中,主存储器传送组件410可将第二组指令集从存储器阵列传送到第二存储器组件作为启动过程的部分,其中第二组指令集中的每一个将被使用的可能性满足大于第一阈值的第二阈值。在一些情况下,第一组指令集传送到第一存储器组件的分组位置中,且第二组指令集传送到第一存储器组件的分组位置。在一些情况下,第一组指令集包含与执行CMD6命令相关联的第一指令集和与执行CMD8命令相关联的第二指令集。[0073] 主存储器传送组件410可将存储于存储器阵列中的第一指令集传送到与存储供存储器控制器使用的数据相关联的第一存储器组件。在一些实例中,主存储器传送组件410可在启动时间将存储于存储器阵列中的第二指令集传送到第二存储器组件。[0074] 命令处理组件415可基于传送第一组指令集而接收与存储器控制器相关联的命令。在一些实例中,命令处理组件415可基于将指令集从第一存储器组件传送到第二存储器组件而从第二存储器组件检索指令集。在一些实例中,命令处理组件415可基于从第二存储器组件检索指令集而根据命令序列执行操作。[0075] 在一些实例中,命令处理组件415可接收与存储器控制器相关联的第二命令,其中所述第二命令进一步与存取存储器阵列相关联。在一些实例中,命令处理组件415可确定第二指令集存在于第二存储器组件中,所述第二指令集包含用于执行第二命令的第二命令序列。在一些实例中,命令处理组件415可基于确定而从第二存储器组件检索第二指令集。[0076] 在一些实例中,命令处理组件415可利用存储器阵列执行与根据第二命令序列存取存储器阵列相关联的操作,所述操作与持续时间相关联,其中与命令相关联的指令集在持续时间期间基于在持续时间期间接收到的命令而从第一存储器组件传送到第二存储器组件。[0077] CCM传送组件420可基于接收到命令而将存储于第一存储器组件中的第一组指令集的指令集传送到与存储供存储器控制器使用的控制信息相关联的第二存储器组件。在一些情况下,指令集可包含用于执行命令的命令序列。在一些实例中,CCM传送组件420可确定指令集不存在于第二存储器组件中且存在于第一存储器组件中,其中所述指令集基于所述确定而从第一存储器组件传送到第二存储器组件。在一些实例中,作为启动过程的部分,CCM传送组件420可将第一组指令集的子集从第一存储器组件传送到第二存储器组件,其中第一组指令集的子集中的每一个将被使用的可能性满足大于第一阈值的第二阈值。[0078] 在一些实例中,CCM传送组件420可通过存取存储于包含指令集的第一存储器组件的位置中的一组数据和将所存取的所述一组数据写入到第二存储器组件的第二位置来将指令集传送到第二存储器组件。[0079] 命令处理组件415可基于传送第一指令集而接收与存储器控制器相关联的命令。在一些实例中,命令处理组件415可基于从第二存储器组件获得的指令集而执行命令序列。[0080] 在一些实例中,命令处理组件415可基于将指令集传送到第二存储器组件而从第二存储器组件检索指令集。在一些情况下,基于将指令集从第一存储器组件传送到第二存储器组件且存取包含指令集的第二存储器组件的位置而经由第二存储器组件从第一存储器组件获得指令集。[0081] 在一些实例中,命令处理组件415可接收与存储器控制器相关联的第二命令,其中所述第二命令进一步与存取存储器阵列相关联。在一些实例中,命令处理组件415可确定第二指令集存在于第二存储器组件中,所述第二指令集包含用于执行第二命令的第二命令序列。在一些实例中,命令处理组件415可基于确定而从第二存储器组件检索第二指令集。在一些实例中,命令处理组件415可根据第二命令序列存取存储器阵列。[0082] CCM传送组件420可经由与存储供存储器控制器使用的控制信息相关联的第二存储器组件获得存储于第一存储器组件中的第一指令集的指令集,所述指令集包含用于执行命令的命令序列。在一些实例中,CCM传送组件420可基于接收命令而将指令集从第一存储器组件传送到第二存储器组件。在一些实例中,CCM传送组件420可确定指令集不存在于第二存储器组件中且存在于第一存储器组件中,并基于所述确定而将指令集从第一存储器组件传送到第二存储器组件。[0083] 图5展示示出根据如本文所公开的实例的支持增强型指令高速缓存方案的一或多种方法500的流程图。方法500的操作可由如本文所描述的存储器控制器或其组件实施。举例来说,方法500的操作可由如参考图4所描述的存储器控制器执行。在一些实例中,存储器控制器可执行一组指令以控制存储器控制器的功能元件执行所描述的功能。另外或替代地,存储器控制器可使用专用硬件执行所描述的功能的各方面。[0084] 在505处,存储器控制器可将第一组指令集从存储器阵列传送到与存储供存储器控制器使用的数据相关联的第一存储器组件。505的操作可根据本文所描述的方法来执行。在一些实例中,505的操作的各方面可由如参考图4所描述的主存储器传送组件执行。[0085] 在510处,存储器控制器可基于传送第一组指令集而接收与存储器控制器相关联的命令。510的操作可根据本文所描述的方法来执行。在一些实例中,510的操作的各方面可由如参考图4所描述的命令处理组件执行。[0086] 在515处,存储器控制器可基于接收命令而将第一组指令集的指令集传送到与存储供存储器控制器使用的控制信息相关联的第二存储器组件,所述指令集包含用于执行命令的命令序列。515的操作可根据本文所描述的方法来执行。在一些实例中,515的操作的各方面可由如参考图4所描述的CCM传送组件执行。[0087] 在520处,存储器控制器可基于将指令集从第一存储器组件传送到第二存储器组件而从第二存储器组件检索指令集。520的操作可根据本文所描述的方法来执行。在一些实例中,520的操作的各方面可由如参考图4所描述的命令处理组件执行。[0088] 在一些实例中,如本文所描述的设备可执行一或多种方法,例如方法500。设备可包含特征、方法或指令(例如,可由处理器执行的非暂时性计算机可读媒体存储指令),以用于将第一组指令集从存储器阵列传送到与存储供存储器控制器使用的数据相关联的第一存储器组件;基于传送第一组指令集而接收与存储器控制器相关联的命令;基于接收命令而将第一组指令集的指令集传送到与存储供存储器控制器使用的控制信息相关联的第二存储器组件,所述指令集包含用于执行命令的命令序列;以及基于将指令集从第一存储器组件传送到第二存储器组件而从第二存储器组件检索指令集。[0089] 本文所描述的方法500和设备的一些实例可进一步包含用于基于从第二存储器组件检索指令集而根据命令序列执行操作的操作、特征、方法或指令。[0090] 本文所描述的方法500和设备的一些实例可进一步包含用于确定指令集可能不存在于第二存储器组件中且存在于第一存储器组件中的操作、特征、方法或指令,其中可基于所述确定而将指令集从第一存储器组件传送到第二存储器组件。[0091] 方法500和本文所描述的设备的一些实例可进一步包含用于存取存储于包含指令集的第一存储器组件的位置中的一组数据且将可存取的一组数据写入到第二存储器组件的第二位置的操作、特征、方法或指令,其中可基于存取和写入而将指令集从第一存储器组件传送到第二存储器组件。[0092] 本文所描述的方法500和设备的一些实例可进一步包含操作、特征、方法或指令,以用于接收与存储器控制器相关联的第二命令,其中所述第二命令可进一步与存取存储器阵列相关联;确定第二指令集可存在于第二存储器组件中,所述第二指令集包含用于执行第二命令的第二命令序列;以及基于所述确定而从第二存储器组件检索第二指令集。[0093] 本文所描述的方法500和设备的一些实例可进一步包含用于根据第二命令序列用存储器阵列执行与存取存储器阵列相关联的操作的操作、特征、方法或指令,所述操作与持续时间相关联,其中与命令相关联的指令集可在持续时间期间基于在持续时间期间接收到的命令而从第一存储器组件传送到第二存储器组件。[0094] 在方法500和本文所描述的设备的一些实例中,第一存储器组件可进一步与存储第二控制信息相关联,且其中第一组指令集可传送到第一存储器组件作为启动过程的部分,且其中第一组指令集中的每一个将被使用的可能性满足第一阈值。[0095] 在本文所描述的方法500和设备的一些实例中,第一组指令集可传送到第一存储器组件的分组位置中。[0096] 本文所描述的方法500和设备的一些实例可进一步包含用于将第一组指令集的子集从第一存储器组件传送到第二存储器组件作为启动过程的部分的操作、特征、方法或指令,其中第一组指令集的子集中的每一个将被使用的可能性满足可大于第一阈值的第二阈值。[0097] 本文所描述的方法500和设备的一些实例可进一步包含用于将第二组指令集的子集从存储器阵列传送到第二存储器组件作为启动过程的部分的操作、特征、方法或指令,其中第二组指令集中的每一个将被使用的可能性满足可大于第一阈值的第二阈值。[0098] 在本文所描述的方法500和设备的一些实例中,第二组指令集可传送到第一存储器组件的分组位置。[0099] 在本文所描述的方法500及设备的一些实例中,第一组指令集包含与执行CMD6命令相关联的第一指令集和与执行CMD8命令相关联的第二指令集。[0100] 图6展示示出根据如本文所公开的实例的支持增强型指令高速缓存方案的一或多种方法600的流程图。方法600的操作可由如本文所描述的存储器控制器或其组件实施。举例来说,方法600的操作可由如参考图4所描述的存储器控制器执行。在一些实例中,存储器控制器可执行一组指令以控制存储器控制器的功能元件执行所描述的功能。另外或替代地,存储器控制器可使用专用硬件执行所描述的功能的各方面。[0101] 在605处,存储器控制器可将存储于存储器阵列中的第一指令集传送到与存储供存储器控制器使用的数据相关联的第一存储器组件。605的操作可根据本文所描述的方法来执行。在一些实例中,605的操作的各方面可由如参考图4所描述的主存储器传送组件执行。[0102] 在610处,存储器控制器可基于传送第一组指令集而接收与存储器控制器相关联的命令。610的操作可根据本文所描述的方法来执行。在一些实例中,610的操作的各方面可由如参考图4所描述的命令处理组件执行。[0103] 在615处,存储器控制器可经由与存储供存储器控制器使用的控制信息相关联的第二存储器组件获得存储于第一存储器组件中的第一指令集的指令集,所述指令集包含用于执行命令的命令序列。615的操作可根据本文所描述的方法来执行。在一些实例中,615的操作的各方面可由如参考图4所描述的CCM传送组件执行。[0104] 在620处,存储器控制器可基于从第二存储器组件获得的指令集而执行命令序列。620的操作可根据本文所描述的方法来执行。在一些实例中,620的操作的各方面可由如参考图4所描述的命令处理组件执行。[0105] 在一些实例中,如本文所描述的设备可执行一或多种方法,例如方法600。设备可包含特征、方法或指令(例如,可由处理器执行的非暂时性计算机可读媒体存储指令),以用于将存储于存储器阵列中的第一指令集传送到与存储供存储器控制器使用的数据相关联的第一存储器组件;基于传送第一指令集而接收与存储器控制器相关联的命令;经由与存储供存储器控制器使用的控制信息相关联的第二存储器组件获得存储于第一存储器组件中的第一指令集的指令集,所述指令集包含用于执行命令的命令序列;以及基于从第二存储器组件获得的指令集而执行命令序列。[0106] 本文所描述的方法600和设备的一些实例可进一步包含操作、特征、方法或指令,以用于基于接收命令而将指令集从第一存储器组件传送到第二存储器组件;以及基于将指令集传送到第二存储器组件而从第二存储器组件检索指令集,其中可基于将指令集从第一存储器组件传送到第二存储器组件和存取包含指令集的第二存储器组件的位置而经由第二存储器组件从第一存储器组件获得指令集。[0107] 本文所描述的方法600和设备的一些实例可进一步包含用于确定指令集可能不存在于第二存储器组件中且存在于第一存储器组件中的操作、特征、方法或指令,其中可基于所述确定而将指令集从第一存储器组件传送到第二存储器组件。[0108] 本文所描述的方法600和设备的一些实例可进一步包含操作、特征、方法或指令,以用于接收与存储器控制器相关联的第二命令,其中第二命令可进一步与存取存储器阵列相关联;确定第二指令集可存在于第二存储器组件中,所述第二指令集包含用于执行第二命令的第二命令序列;基于所述确定从第二存储器组件检索第二指令集;以及根据第二命令序列存取存储器阵列。[0109] 本文所描述的方法600和设备的一些实例可进一步包含用于在启动时间将存储于存储器阵列中的第二指令集传送到第二存储器组件的操作、特征、方法或指令。[0110] 应注意,上述方法描述可能的实施方案,且操作和步骤可重新排列或以其它方式加以修改,且其它实施方案是可能的。此外,可组合方法中的两个或更多个的各部分。[0111] 描述了一种设备。设备可包含存储器阵列、与存储器阵列耦合的存储器控制器、与存储供存储器控制器使用的数据相关联的第一存储器组件、与存储供存储器控制器使用的控制信息相关联的第二存储器组件,其中存储器控制器配置成从第二存储器组件检索控制信息、通过将存储于第一存储器组件的指令集从第一存储器组件传送到第二存储器组件来获得指令集以及基于从第二存储器组件获得的指令集而执行命令序列。[0112] 在一些实例中,存储器控制器可与第一存储器组件和第二存储器组件紧密耦合。[0113] 在一些实例中,第一存储器组件可进一步与存储供存储器控制器使用的第二控制信息相关联且包含用于存储第一组指令集的第一分组位置,且第二存储器组件包含用于存储第二组指令集的第二分组位置。[0114] 在一些实例中,第一存储器组件包含用于存储数据的第一未分组位置,且第二存储器组件包含用于存储控制信息的第二部分的第二未分组位置。[0115] 在一些实例中,第一分组位置的第一数量可大于第二分组位置的第二数量。[0116] 设备的一些实例可包含与存储器阵列和存储器控制器耦合的第一总线,以及与存储器阵列、第一存储器组件和第二存储器组件耦合的第二总线。[0117] 设备的一些实例可包含配置成存储装置特定信息的第二存储器阵列,其中存储器阵列包含非易失性存储器单元,且其中第一存储器组件、第二存储器组件和第二存储器阵列包含易失性存储器单元。[0118] 设备的一些实例可包含与存储器阵列和存储器控制器耦合的第一总线,与存储器阵列、第一存储器组件和第二存储器组件耦合的第二总线以及与存储器控制器和第二存储器阵列耦合的第三总线。[0119] 可使用多种不同技术和技艺中的任一种来表示本文所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号示出为单个信号;然而,所属领域的一般技术人员将理解,信号可表示信号的总线,其中所述总线可具有多种位宽度。[0120] 术语“电子通信”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则认为组件彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管的一或多个中间组件来中断所连接组件之间的信号流一段时间。[0121] 术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的情况,在所述开路关系中,信号当前无法通过导电路径在组件之间传送,在所述闭路关系中,信号能够通过导电路径在组件之间传送。当例如控制器的组件将其它组件耦合在一起时,所述组件发起以下改变:允许信号通过先前不准许信号流动的导电路径在所述其它组件之间流动。[0122] 术语“隔离”是指信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在开路,则所述组件彼此隔离。举例来说,当开关断开时,由定位在两个组件之间的开关分隔开的组件彼此隔离。当控制器分隔开两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。[0123] 本文所论述的包含存储器阵列的装置可形成于半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底为半导体晶片。在其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。衬底或衬底的子区域的导电性可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制。掺杂可在衬底的初始形成或生长期间通过离子注入或通过任何其它掺杂方法来进行。[0124] 本文所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。端子可通过例如金属的导电材料连接到其它电子元件。源极和漏极可以是导电的,且可包括重掺杂半导体区域,例如简并半导体区域。源极和漏极可由轻掺杂半导体区域或沟道分隔开。如果沟道为n型(即,大部分载体为电子),则FET可被称为n型FET。如果沟道为p型(即,大部分载体为空穴),则FET可被称为P型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。举例来说,将正电压或负电压分别施加到n型FET或p型FET可使沟道具有导电性。当大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可被“启用”或“激活”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可被“停用”或“去激活”。[0125] 本文中结合附图阐述的描述内容描述了实例配置,且并不表示可实施的或在权利要求书的范围内的所有实例。本文所使用的术语“示例性”是指“充当实例、例子或图示”,且不“优选于”或“优于”其它实例。具体实施方式包含提供对所描述技术的理解的具体细节。然而,可在没有这些具体细节之情况下实践这些技术。在一些情况下,以框图形式展示众所周知的结构和装置以免混淆所描述实例的概念。[0126] 在附图中,类似组件或特征可具有相同参考标记。此外,可通过在参考标记后加上破折号和在类似组件中进行区分的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一参考标记,则描述内容适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任何一个。[0127] 可使用多种不同技术和技艺中的任一种来表示本文所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。[0128] 结合本文的公开内容所描述的各种说明性块和模块可使用设计成执行本文所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可实施为计算装置(例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心或任何其它此类配置)的组合。[0129] 本文所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,则功能可作为一或多个指令或代码而存储于计算机可读媒体上或通过所述计算机可读媒体传输。其它实例和实施方案在本公开和所附权利要求书的范围内。举例来说,由于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实施。实施功能的特征还可在物理上位于各个位置处,包含分布成使得功能的各部分在不同物理位置处实施。并且,如本文(包含在权利要求书中)所使用,如在项目列表(例如,以例如“…中的至少一个”或“…中的一或多个”的短语开头的项目列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表指A或B或C或AB或AC或BC或ABC(即,A和B和C)。并且,如本文所用,短语“基于”不应被理解为参考一组封闭条件。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。[0130] 计算机可读媒体包含非暂时性计算机存储媒体和包含有助于将计算机程序从一处传送到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可以是可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构形式的所要程序代码方法且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中所述磁盘通常以磁性方式再现数据,而所述光盘用激光以光学方式再现数据。以上各项的组合也包含在计算机可读媒体的范围内。[0131] 提供本文中的描述以使所属领域的技术人员能够制作或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,且可在不脱离本公开的范围的情况下将本文所定义的一般原理应用于其它变化形式。因此,本公开不限于本文中所描述的实例和设计,而是应符合与本文所公开的原理和新颖特征一致的最广泛范围。
专利地区:美国
专利申请日期:2021-05-25
专利公开日期:2024-07-26
专利公告号:CN113721981B