一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多存储器装置中的危险检测的制作方法

2023-02-19 09:57:46 来源:中国专利 TAG:

多存储器装置中的危险检测
1.交叉引用
2.本专利申请要求宋(song)等人于2022年1月25日提交的标题为“多存储器装置中的危险检测(hazard detection in a multi-memory device)”的美国专利申请第17/584,104号和宋(song)等人于2021年8月17日提交的标题为“多存储器装置中的危险检测(hazard detection in a multi-memory device)”的美国临时专利申请第63/234,042号的优先权,前述专利申请中的每一者转让给本受让人,并且前述专利申请中的每一者明确地以全文引用的方式并入本文中。
技术领域
3.技术领域涉及多存储器装置中的危险检测。


背景技术:

4.存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可以被编程为两个支持状态中的一个,经常由逻辑1或逻辑0表示。在一些实例中,单个存储器单元可以支持超过两个状态,其中的任一状态可存储。为了存取所存储信息,组件可以读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可在存储器装置中写入状态或对状态进行编程。
5.存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、静态ram(sram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、相变存储器(pcm)、自选存储器、硫族化物存储器技术等。存储器单元可以是易失性的或非易失性的。非易失性存储器,例如feram,可维持其所存储的逻辑状态很长一段时间,即使无外部电源存在也是这样。易失性存储器装置,例如,dram在与外部电源断开连接时可能丢失其所存储状态。


技术实现要素:

6.描述了一种设备。所述设备可包含非易失性存储器;易失性存储器;以及接口控制器,其与所述非易失性存储器和所述易失性存储器耦合,所述接口控制器可操作以使所述设备:接收指示第一存储体地址、第一行地址和第一列地址的第一命令;至少部分地基于所述第一存储体地址并且从各自与所述易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令;作为所述危险检测程序的一部分并且至少部分地基于选择所述缓冲器,将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述缓冲器中的第二命令的第二行地址和第二列地址进行比较;以及至少部分地基于将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述第二命令的所述第二行地址和所述第二列地址进行比较,确定所述第一命令和所述第二命令是否是受执行排序条件约束的危险命令。
7.描述了一种方法。所述方法可包含接收指示第一存储体地址、第一行地址和第一列地址的第一命令;至少部分地基于所述第一存储体地址并且从各自与易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令;作为所述危险检测程序的一部分并且至少部分地基于选择所述缓冲器,将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述缓冲器中的第二命令的第二行地址和第二列地址进行比较;以及至少部分地基于将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述第二命令的所述第二行地址和所述第二列地址进行比较,确定所述第一命令和所述第二命令是否是受执行排序条件约束的危险命令。
8.描述了一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储代码,所述代码包含指令,所述指令在由电子装置的处理器执行时使所述电子装置:接收指示第一存储体地址、第一行地址和第一列地址的第一命令;至少部分地基于所述第一存储体地址并且从各自与易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令;作为所述危险检测程序的一部分并且至少部分地基于选择所述缓冲器,将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述缓冲器中的第二命令的第二行地址和第二列地址进行比较;以及至少部分地基于将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述第二命令的所述第二行地址和所述第二列地址进行比较,确定所述第一命令和所述第二命令是否是受执行排序条件约束的危险命令。
附图说明
9.图1示出根据本文公开的实例支持多存储器装置中的危险检测的系统的实例。
10.图2示出根据本文公开的实例支持多存储器装置中的危险检测的存储器子系统的实例。
11.图3示出根据本文公开的实例支持多存储器装置中的危险检测的接口控制器的实例。
12.图4示出根据本文公开的实例支持多存储器装置中的危险检测的过程流程的实例。
13.图5示出根据本文公开的实例支持多存储器装置中的危险检测的装置的框图。
14.图6示出说明根据本文公开的实例支持多存储器装置中的危险检测的一或多种方法的流程图。
具体实施方式
15.例如电子装置的装置可包含非易失性存储器(例如,用于存储其它操作当中的信息的主存储器)和可用作非易失性存储器的高速缓存的易失性存储器(例如,辅助存储器)。此配置可以允许装置受益于非易失性存储器的优点(例如,非易失和持久存储装置、高存储容量、低功耗),同时通过易失性存储器保持与另一装置(例如,主机装置)的兼容性,以及其它方面。为了支持此类型的配置,装置可包含接口控制器,其代表易失性存储器和非易失性存储器与主机装置介接。接口控制器可包含存储用于易失性存储器和非易失性存储器中的
一者或两者的命令的队列。如果从主机装置接收到命令,则作为危险检测程序的一部分,接口控制器可以将所述命令与队列中的所有其它命令进行比较,以确定所述命令是否是受执行排序条件约束的危险命令。但是将命令与队列中的所有命令进行比较可能会使用许多组件,例如比较器(例如,每个队列条目一个),这可能会增加功耗和接口控制器的净裸片面积,也会带来其它缺点。
16.根据本文描述的技术,与其它技术相比,通过使用缓冲器(例如,折叠缓冲器)等组件来确定命令是否危险,可以减少用于危险检测的比较器的数量。例如,接口控制器可包含用于易失性存储器的每个存储体的组件,例如折叠缓冲器,并且例如折叠缓冲器等每个组件可存储用于对应于所述组件的存储体的命令。如果从主机装置接收到用于存储体的命令,则接口控制器可以将所述命令与例如折叠缓冲器等与所述存储体相关联的组件中的命令进行比较。因此,接口控制器可以为每个折叠缓冲器(或为折叠缓冲器的每个条目)使用比较器,而不是为队列的每个条目使用比较器,这可以减少危险检测的功耗、比较器的集体覆盖面积,或两者,以及其它优点。
17.首先在参考图1和2描述的系统和存储器子系统的上下文中描述本公开的特征。在参考图3和4描述的接口控制器和过程流程的上下文中描述本公开的特征。进一步通过有关参考图5和6描述的多存储器装置中的危险检测的设备图和流程图说明且参考所述设备图和流程图描述本公开的这些和其它特征。
18.图1示出根据本文公开的实例支持多存储器装置中的危险检测的系统100的实例。
19.系统100可以包含在例如计算机或电话的电子装置中。系统100可包含主机装置105和存储器子系统110。主机装置105可以是与接口控制器115介接的处理器或芯片上系统(soc)以及包含系统100的电子装置的其它组件。存储器子系统110可存储用于主机装置105的电子信息(例如,数字信息、数据)并且提供对所述电子信息的存取。存储器子系统110可包含接口控制器115、易失性存储器120和非易失性存储器125。在一些实例中,接口控制器115、易失性存储器120和非易失性存储器125可包含在例如封装130的同一物理封装中。然而,接口控制器115、易失性存储器120和非易失性存储器125可设置于不同的相应裸片(例如,硅裸片)上。
20.系统100中的装置可以通过各种导线(例如,迹线、印刷电路板(pcb)布线、再分布层(rdl)布线)耦合,所述导线可以实现装置之间的信息(例如,命令、地址、数据)传送。导线可以构成信道、数据总线、命令总线、地址总线等。
21.存储器子系统110可被配置成提供非易失性存储器125的益处同时维持与支持用于不同的类型的存储器的协议的主机装置105的兼容性,所述存储器例如易失性存储器120,以及其它实例。例如,非易失性存储器125可以提供(例如,相对于易失性存储器120的)益处,例如非易失性、较高容量,或较低功耗。但主机装置105可为与非易失性存储器125的各种方面不兼容的或低效配置的。例如,主机装置105可支持与非易失性存储器125不兼容的电压、存取时延、协议、页大小等。为了补偿主机装置105与非易失性存储器125之间的不兼容性,存储器子系统110可被配置成具有易失性存储器120,其可与主机装置105兼容且充当非易失性存储器125的高速缓存。因此,主机装置105可使用易失性存储器120所支持的协议同时受益于非易失性存储器125的优点。
22.在一些实例中,系统100可以包含在计算装置、电子装置、移动计算装置或无线装
置中,或与计算装置、电子装置、移动计算装置或无线装置耦合。装置可以是便携式电子装置。例如,装置可以是计算机、膝上型计算机、平板计算机、智能手机、蜂窝电话、可穿戴装置、因特网连接装置等。在一些实例中,装置可被配置成用于经由基站或存取点的双向无线通信。在一些实例中,与系统100相关联的装置能够进行机器类型通信(mtc)、机器对机器(m2m)通信或装置对装置(d2d)通信。在一些实例中,与系统100相关联的装置可称作用户设备(ue)、站(sta)、移动终端等。
23.主机装置105可被配置成使用接口控制器115所支持的第一协议(例如,低功率双数据速率(lpddr))与存储器子系统110介接。因此,在一些实例中,主机装置105可与接口控制器115直接介接并且与非易失性存储器125和易失性存储器120间接介接。在替代实例中,主机装置105可与非易失性存储器125和易失性存储器120直接介接。主机装置105还可与包含系统100的电子装置的其它组件介接。主机装置105可以是或包含soc、通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或另一可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可以是这些类型的组件的组合。在一些实例中,主机装置105可称为主机。
24.接口控制器115可被配置成(例如,基于或响应于由主机装置105发出的一或多个命令或请求)代表主机装置105与易失性存储器120和非易失性存储器125介接。例如,接口控制器115可以代表主机装置105促进易失性存储器120和非易失性存储器125中的数据的检索和存储。因此,接口控制器115可促进在各种子组件之间的数据传送,例如,在主机装置105、易失性存储器120或非易失性存储器125中的至少一些之间的数据传送。接口控制器115可使用第一协议与主机装置105和易失性存储器120介接,且可使用由非易失性存储器125支持的第二协议与非易失性存储器125介接。
25.非易失性存储器125可被配置成存储用于包含系统100的电子装置的数字信息(例如,数据)。因此,非易失性存储器125可包含一或多个存储器单元阵列以及被配置成操作存储器单元阵列的本地存储器控制器。在一些实例中,存储器单元可以是或包含feram单元(例如,非易失性存储器125可以是feram)。非易失性存储器125可被配置成使用不同于在接口控制器115与主机装置105之间使用的第一协议的第二协议与接口控制器115介接。在一些实例中,非易失性存储器125可能比易失性存储器120具有更长的存取操作时延。例如,从非易失性存储器125检索数据可能比从易失性存储器120检索数据花费更长的时间。类似地,将数据写入非易失性存储器125可能比将数据写入易失性存储器120花费更长的时间。在一些实例中,如本文中所描述,非易失性存储器125可以具有比易失性存储器120更小的页大小。
26.易失性存储器120可被配置成用作用于一或多个组件(例如,非易失性存储器125)的高速缓存。例如,易失性存储器120可存储用于包含系统100的电子装置的信息(例如,数据)。因此,易失性存储器120可包含一或多个存储器单元阵列以及被配置成操作存储器单元阵列的本地存储器控制器。在一些实例中,存储器单元可以是或包含dram单元(例如,易失性存储器可以是dram)。非易失性存储器125可以被配置成使用在接口控制器115与主机装置105之间使用的第一协议与接口控制器115介接。
27.在一些实例中,易失性存储器120可能比非易失性存储器125具有更短的存取操作时延。例如,从易失性存储器120检索数据可能比从非易失性存储器125检索数据花费更少
的时间。类似地,将数据写入易失性存储器120可能比将数据写入非易失性存储器125花费更少的时间。在一些实例中,易失性存储器120可以具有比非易失性存储器125更大的页大小。例如,易失性存储器120的页大小可以是2千字节(2kb)且非易失性存储器125的页大小可以是64字节(64b)或128字节(128b)。
28.虽然非易失性存储器125可以是与易失性存储器120相比更高密度存储器,但在一些实例中,存取非易失性存储器125与存取易失性存储器120相比可能需要更久(例如,由于不同架构和协议,以及其它原因)。因此,将易失性存储器120操作为高速缓存可减少系统100中的时延。作为实例,通过从易失性存储器120而不是从非易失性存储器125检索数据,可以相对快速地满足对来自主机装置105的数据的存取请求。为了便于将易失性存储器120用作高速缓存,接口控制器115可包含多个缓冲器135。缓冲器135可以与接口控制器115设置于相同的裸片上并且可被配置成临时存储用于在一或多个存取操作(例如,存储和检索操作)期间在易失性存储器120、非易失性存储器125或主机装置105(或其任何组合)之间传送的数据。
29.存取操作也可称为存取过程或存取程序,并且可涉及由存储器子系统110中的一或多个组件执行的一或多个子操作。存取操作的实例可包含其中由主机装置105提供的数据存储在(例如,写入到)易失性存储器120或非易失性存储器125(或这两者)中的存储操作,以及其中主机装置105所请求的数据从易失性存储器120或非易失性存储器125获得(例如,读取)并被返回到主机装置105的检索操作。
30.为了将数据存储在存储器子系统110中,主机装置105可将写入命令(也称为写入请求、存储命令或存储请求)传输到接口控制器115。写入命令可包含目标为非易失性存储器125中的位置(例如,单元集合)的存储器地址或伴有所述存储器地址。在一些实例中,存储器单元集合也可被称为存储器的一部分。主机装置105还可提供待写入的数据。接口控制器115可将数据临时存储在缓冲器135-a中。在将数据存储在缓冲器135-a中之后,接口控制器115可以将数据从缓冲器135-a传送到易失性存储器120或非易失性存储器125或这两者。在直写模式中,接口控制器115可将数据传送到易失性存储器120和非易失性存储器125这两者。在写回模式中,接口控制器115可仅将数据传送到易失性存储器120(其中在稍后的逐出过程期间将数据传送到非易失性存储器125)。
31.在任一模式中,接口控制器115可标识易失性存储器120中的适当位置(例如,易失性存储器单元集合)以用于存储与写入命令相关联的数据。为了这样做,接口控制器115可实施集合相联映射,其中非易失性存储器125的地址映射到易失性存储器120的多个地址。例如,接口控制器115可实施允许来自(或用于)非易失性存储器125的地址(例如,位置、非易失性存储器单元集合)的数据存储在易失性存储器120的n个地址(例如,位置、易失性存储器单元集合、高速缓存块)中的一者处的n向关联映射,其中n个地址可共同地称为集合。因此,接口控制器115可通过参考与目标地址相关联的易失性存储器120的n个地址的集合来管理易失性存储器120作为非易失性存储器125的高速缓存。虽然参考集合相联映射进行描述,但接口控制器115可以通过实施一或多种其它类型的映射(例如直接映射或相联映射,以及其它实例)来管理易失性存储器120作为高速缓存。
32.在确定n个地址的哪一集合与目标非易失性地址相关联之后,接口控制器115可将数据存储在所述集合中的n个地址中的一者处。因此,通过从低时延易失性存储器120检索
数据而不是从高时延非易失性存储器125检索数据,可以有效地满足来自主机装置105的针对数据的后续(例如,之后的)读取命令。因此,通过将数据存储在易失性存储器120中,主机装置105的写入命令可以完全(例如,在写回模式下)或部分地(例如,在直写模式下)得到满足。为了跟踪存储在易失性存储器120中的数据,接口控制器115可使用指示哪些数据存储在易失性存储器120的不同地址处的标签地址。
33.为了从存储器子系统110检索数据,主机装置105将读取命令(也被称为读取请求、检索命令或检索请求)传输到接口控制器115。读取命令可以非易失性存储器125的地址为目标。在接收到读取命令后,接口控制器115可在易失性存储器120中检查所请求数据。例如,接口控制器115可检查所请求数据是否存储在与目标非易失性存储器地址相关联的n个地址中的一者处。如果数据存储在n个地址中的一者处,则接口控制器115可将数据从易失性存储器120传送到缓冲器135-a,使得其可被传输到主机装置105。一般来说,术语“命中”可用于指其中易失性存储器120存储被主机装置105定为目标的数据的情境。
34.如果易失性存储器120并未存储所请求数据,则接口控制器115可将所请求数据从非易失性存储器125传送到缓冲器135-a,以使得其可被传输到主机装置105。一般来说,术语“未命中”可用于指易失性存储器120未存储由主机装置105定为目标的数据的情境。在未命中情境中,在将所请求数据传送到缓冲器135-a之后,接口控制器115可将所请求数据从缓冲器135-a传送到易失性存储器120,使得对数据的后续读取请求可以通过易失性存储器120而不是非易失性存储器125得到满足。例如,接口控制器115可将数据存储在与目标非易失性存储器地址相关联的集合中的n个地址中的一者处。如果n个地址已经存储其它数据,则接口控制器115可将其它数据传送到缓冲器135-b,使得其可传送到非易失性存储器125以供存储。这种过程可以被称为“逐出”,并且从易失性存储器120传送到缓冲器135-b的数据可以被称为“受害”数据。
35.在一些情况下,接口控制器115可以将受害数据的子集从缓冲器135-b传送到非易失性存储器125。例如,接口控制器115可传送自从受害数据最初存储在非易失性存储器125中以来已经改变的所述数据的一或多个子集。在易失性存储器120与非易失性存储器125之间不一致的数据(例如,由于在一个存储器中的更新而不是在其它存储器中的更新)在一些情况下可被称为“经修改”或“脏”数据。在一些实例中(例如,在接口控制器在如写回模式的一个模式中操作时),脏数据可以是存在于易失性存储器120中但不存在于非易失性存储器125中的数据。
36.因此,如果易失性存储器120已满,则接口控制器115可执行逐出程序以将来自易失性存储器120的数据保存到非易失性存储器125(例如,以为易失性存储器120中的新数据腾出空间)。在一些实例中,接口控制器115可执行在其中将来自非易失性存储器125的数据保存到易失性存储器120的“填充”程序。接口控制器115可在未命中的情况下执行填充程序(例如,以相关数据填入易失性存储器120)。例如,在读取未命中的情况下(如果来自主机装置105的读取命令以存储在非易失性存储器125而不是易失性存储器120中的数据为目标,则会出现读取未命中),则接口控制器115可(从非易失性存储器125中)检索由读取命令所请求的数据,且除将数据传回到主机装置之外,还将数据存储在易失性存储器120中(例如,以使得可在将来快速地检索数据)。
37.因此,存储器子系统110可取决于来自主机装置105的请求(例如,读取命令、写入
命令)的命中或未命中状态,使用易失性存储器120或非易失性存储器125满足(或“实现”)所述请求。例如,在读取未命中的情况下,非易失性存储器125可满足来自主机装置105的读取命令,这意味着从主机装置105返回的数据可来源于非易失性存储器125。并且在读取命中的情况下,易失性存储器120可满足来自主机装置105的读取命令,这意味着从主机装置105返回的数据可来源于易失性存储器120。在一些实例中,命中与未命中的比率(“命中-未命中比率”)可相对高(例如,命中百分比(或“命中率”)可为大约85%,而未命中百分比(或“未命中率”)可为大约15%)。
38.在一些实例中,接口控制器115可包含存储用于易失性存储器120和非易失性存储器125的命令的队列。接口控制器115可以向队列添加从主机装置105接收的命令,以及其它(例如,内部生成的)命令。在一些实例中,接口控制器115可执行危险检测以检测危险命令,所述危险命令可以是受执行排序条件约束的命令。例如,考虑存储体、行和列的写入命令,所述命令在所述存储体、行、列的读取命令之前接收。在这种情境中(称为写后读危险),写入命令和读取命令可能是危险命令,因为写入命令应在读取命令之前执行(否则读取命令可能返回错误数据)。因此,具有相同地址信息(例如,相同存储体地址、行地址和列地址)的命令可能是危险命令。
39.根据本文描述的技术,接口控制器115可以通过将所接收命令与存储体特定缓冲器中的命令进行比较来执行危险检测。例如,可以将用于存储体x的命令与用于存储体x的缓冲器中的命令进行比较,而不是与队列中的命令比较。存储体特定缓冲器可以存储比队列更少的命令,这可以允许接口控制器115减少用于危险检测的比较器的数量(例如,相对于比较队列中的命令的技术)。实际上,存储体特定缓冲器可能各自被限制为几个条目,因此存储体特定缓冲器的条目总数量小于队列中的条目总数量。因此,接口控制器115可以通过减少用于危险检测的比较器的数量来减少功耗并增加可用裸片空间(相对于其它技术)。
40.系统100可包含支持如本文描述的危险检测的任何数量的非暂时性计算机可读媒体。例如,主机装置105、接口控制器115、易失性存储器120或非易失性存储器125可包含或可以其它方式存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储用于执行本文中属于主机装置105、接口控制器115、易失性存储器120或非易失性存储器125的功能的指令(例如,固件)。例如,此类指令在由主机装置105(例如,主机装置控制器)、接口控制器115、易失性存储器120(例如,本地控制器)或非易失性存储器125(例如,本地控制器)执行时可使主机装置105、接口控制器115、易失性存储器120或非易失性存储器125执行本文描述的相关联功能。
41.图2示出根据本文公开的实例支持多存储器装置中的危险检测的存储器子系统200的实例。存储器子系统200可以是参考图1所描述的存储器子系统110的实例。因此,存储器子系统200可以与如参考图1所描述的主机装置交互。存储器子系统200可包含接口控制器202、易失性存储器204和非易失性存储器206,其可分别是如参考图1所描述的接口控制器115、易失性存储器120和非易失性存储器125的实例。因此,接口控制器202可以代表如参考图1描述的主机装置与易失性存储器204和非易失性存储器206介接。例如,接口控制器202可将易失性存储器204用作用于非易失性存储器206的高速缓存。将易失性存储器204用作高速缓存可允许子系统提供非易失性存储器206的优势(例如,非易失性、高密度存储),同时维持与非易失性存储器206相比支持不同协议的主机装置的兼容性。
42.在图2中,组件之间的虚线表示数据流或数据的传送路径,并且组件之间的实线表示命令流或命令的传送路径。在一些情况下,存储器子系统200是可以包含在电子装置中的多个相似或相同子系统中的一个。每个子系统可被称为切片并且在一些实例中可与主机装置的相应信道相关联。
43.非易失性存储器206可被配置成用作用于主机装置的主存储器(例如,用于长期数据存储的存储器)。在一些情况下,非易失性存储器206可包含feram单元的一或多个阵列。每个feram单元可包含选择组件和铁电电容器,并且可以通过将适当的电压施加到例如字线、板线和数字线的一或多个存取线来存取。在一些实例中,可以感测到与被启用的字线耦合的feram单元的子集,例如,并行地或同时地,而无须必须感测与被启用的字线耦合的所有feram单元。因此,用于feram阵列的页大小可以不同于(例如,小于)dram页大小。在存储器装置的上下文中,页可以指成一行的存储器单元(例如,具有共同行地址的存储器单元的群组),并且页大小可以指成一行的存储器单元或列地址的数量,或在存取操作期间存取的列地址的数量。替代地,页大小可以指由各种接口处理的数据的大小或行能够存储的数据量。在一些情况下,不同的存储器装置类型可具有不同的页大小。例如,dram页大小(例如,2kb)可以是非易失性存储器(例如,feram)页大小(例如,64b)的超集。
44.feram阵列的较小页大小可提供各种效率优势,这是因为与个体dram单元相比个体feram单元可能需要更多功率来读取或写入。例如,用于feram阵列的较小页大小可促进有效的能量使用,这是因为较小数量的feram单元可以是在信息中的相关联的改变微小时被启用的。在一些实例中,取决于利用feram操作的数据和命令的本质,用于feram单元的阵列的页大小可以例如动态地(例如,在feram单元的阵列的操作期间)发生改变。
45.虽然与个体dram单元相比个体feram单元可能需要更多功率来读取或写入,但是在不存在外部电源的情况下feram单元可维持其所存储的逻辑状态持续延长的时间周期,这是因为feram单元中的铁电材料可在不存在电场的情况下维持非零电极化。因此,在非易失性存储器206中包含feram阵列可相对于易失性存储器单元(例如,在易失性存储器204中的dram单元)提供功率和效率优势,这是因为其可减少或消除对执行刷新操作的约束。
46.易失性存储器204可被配置成用作用于非易失性存储器206的高速缓存。在一些情况下,易失性存储器204可包含dram单元的一或多个阵列。每个dram单元可包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。易失性存储器204的存储器单元可以在逻辑上分组或布置成一或多个存储器存储体(如本文中被称为“存储体”)。例如,易失性存储器204可包含十六个存储体。存储体的存储器单元可以布置在栅格或相交列和行的阵列中,并且每个存储器单元可以通过将适当的电压施加到用于所述存储器单元的数字线(例如,列线)和字线(例如,行线)来存取或刷新。存储体的行可以被称为页,并且页大小可以指一行中的列或存储器单元的数量(以及因此一行能够存储的数据量)。如所提到,易失性存储器204的页大小可以不同于(例如,大于)非易失性存储器206的页大小。
47.接口控制器202可包含用于与例如主机装置、易失性存储器204和非易失性存储器206灯其它装置介接(例如,通信)的各种电路。例如,接口控制器202可包含数据(da)总线接口208、命令和地址(c/a)总线接口210、数据总线接口212、c/a总线接口214、数据总线接口216以及c/a总线接口264。数据总线接口可支持使用一或多个通信协议的信息传送。例如,数据总线接口208、c/a总线接口210、数据总线接口216和c/a总线接口264可支持使用第一
协议(例如,lpddr信令)传送的信息,而数据总线接口212和c/a总线接口214可支持使用第二协议传送的信息。因此,与接口控制器202耦合的各种总线接口可支持不同的数据量或数据速率。
48.数据总线接口208可以与数据总线260、事务总线222和缓冲电路系统224耦合。数据总线接口208可被配置成在数据总线260上传输和接收数据并且在事务总线222上传输和接收控制信息(例如,确认/否定确认)或元数据。数据总线接口208还可被配置成在数据总线260与缓冲电路系统224之间传送数据。数据总线260和事务总线222可以与接口控制器202和主机装置耦合,使得在接口控制器202与主机装置之间建立导电路径。在一些实例中,事务总线222的引脚可被称为数据掩蔽反转(dmi)引脚。虽然示出为具有一个数据总线260和一个事务总线222,但是可能存在与一或多个数据总线接口208耦合的任何数量的数据总线260和任何数量的事务总线222。
49.c/a总线接口210可以与c/a总线226和解码器228耦合。c/a总线接口210可被配置成在c/a总线226上传输和接收命令和地址。在c/a总线226上接收到的命令和地址可以与在数据总线260上接收到的或传输的数据相关联。c/a总线接口210还可被配置成将命令和地址传输到解码器228,使得解码器228可以对命令进行解码并且将经解码的命令和相关联的地址转送到命令电路系统230。
50.数据总线接口212可以与数据总线232和存储器接口电路系统234耦合。数据总线接口212可被配置成在数据总线232上传输和接收数据,所述数据总线可以与非易失性存储器206耦合。数据总线接口212还可被配置成在数据总线232与存储器接口电路系统234之间传送数据。c/a总线接口214可以与c/a总线236和存储器接口电路系统234耦合。c/a总线接口214可被配置成从存储器接口电路系统234接收命令和地址并且在c/a总线236上将命令和地址转送到非易失性存储器206(例如,转送到非易失性存储器206的本地控制器)。在c/a总线236上传输的命令和地址可以与在数据总线232上接收到的或传输的数据相关联。数据总线232和c/a总线236可以与接口控制器202和非易失性存储器206耦合,使得在接口控制器202与非易失性存储器206之间建立导电路径。
51.数据总线接口216可以与数据总线238(例如,数据总线238-a、数据总线238-b)和存储器接口电路系统240耦合。数据总线接口216可被配置成在数据总线238上传输和接收数据,所述数据总线可以与易失性存储器204耦合。数据总线接口216还可被配置成在数据总线238与存储器接口电路系统240之间传送数据。c/a总线接口264可以与c/a总线242和存储器接口电路系统240耦合。c/a总线接口264可被配置成从存储器接口电路系统240接收命令和地址并且在c/a总线242上将命令和地址转送到易失性存储器204(例如,转送到易失性存储器204的本地控制器)。在c/a总线242上传输的命令和地址可以与在数据总线238上接收到的或传输的数据相关联。数据总线238和c/a总线242可以与接口控制器202和易失性存储器204耦合,使得在接口控制器202与易失性存储器204之间建立导电路径。
52.除了用于与所耦合的装置通信的总线和总线接口之外,接口控制器202还可包含用于将非易失性存储器206用作主存储器并且将易失性存储器204用作高速缓存的电路系统。例如,接口控制器202可包含命令电路系统230、缓冲电路系统224、高速缓存管理电路系统244、一或多个引擎246,以及一或多个调度器248。
53.命令电路系统230可以与缓冲电路系统224、解码器228、高速缓存管理电路系统
244和调度器248以及其它组件耦合。命令电路系统230还可称为控制器,且可被配置成管理用于易失性存储器的命令和用于非易失性存储器的命令。命令电路系统230可被配置成从解码器228接收命令和地址信息并且将命令和地址信息存储在队列250中。命令电路系统230可包含逻辑262,所述逻辑处理命令信息(例如,来自主机装置)和来自其它组件(例如,高速缓存管理电路系统244、缓冲电路系统224)的元数据并且使用所述信息以生成用于调度器248的一或多个命令。命令电路系统230还可被配置成将地址信息(例如,地址位)传送到高速缓存管理电路系统244。在一些实例中,逻辑262可以是被配置成用作有限状态机(fsm)的电路。
54.缓冲电路系统224可以与数据总线接口208、命令电路系统230、存储器接口电路系统234和存储器接口电路系统240耦合。缓冲电路系统224可包含用于易失性存储器204的至少一些存储体(如果不是每个存储体)的一或多个缓冲电路的集合。缓冲电路系统224还可包含用于存取缓冲电路的组件(例如,存储器控制器)。在一个实例中,易失性存储器204可包含十六个存储体并且缓冲电路系统224可包含缓冲电路的十六个集合。缓冲电路的每个集合可被配置成从易失性存储器204的相应存储体存储数据或为所述相应存储体存储数据(或这两者)。作为实例,用于存储体0(bk0)的缓冲电路集合可被配置成从易失性存储器204的第一存储体存储数据或为所述第一存储体存储数据(或这两者),并且用于存储体15(bk15)的缓冲电路可被配置成从易失性存储器204的第十六存储体存储数据或为所述第十六存储体存储数据(或这两者)。
55.缓冲电路系统224中的缓冲电路的每个集合可包含一对缓冲器。所述对缓冲器可包含:一个缓冲器(例如,打开页数据(opd)缓冲器),其被配置成存储来自主机装置的存取命令(例如,写入命令或读取命令)所针对的数据;以及另一个缓冲器(例如,受害页数据(vpd)缓冲器),其被配置成存储用于存取命令所引起的逐出过程的数据。例如,用于bk0的缓冲电路集合可包含缓冲器218和缓冲器220,其可以分别是缓冲器135-a和135-b的实例。缓冲器218可被配置成存储来自主机装置的存取命令所针对的bk0数据。另外,缓冲器220可被配置成存储从bk0传送的数据,作为存取命令所触发的逐出过程的部分。缓冲电路集合中的每个缓冲器可以配置有对应于易失性存储器204的页大小的大小(例如,存储容量)。例如,如果易失性存储器204的页大小是2kb,则每个缓冲器的大小可以是2kb。因此,在一些实例中缓冲器的大小可以等同于易失性存储器204的页大小。
56.高速缓存管理电路系统244可与命令电路系统230、引擎246和调度器248以及其它组件耦合。高速缓存管理电路系统244可以包含用于易失性存储器的一或多个存储体(例如,每个存储体)的高速缓存管理电路集合。作为实例,高速缓存管理电路系统244可包含用于bk0到bk15的十六个高速缓存管理电路集合。每个高速缓存管理电路集合可以包含两个存储器阵列,所述存储器阵列可被配置成存储用于易失性存储器204的元数据。作为实例,用于bk0的高速缓存管理电路集合可包含存储器阵列252(例如,高速缓存dram(cdram)标签阵列(cdt-ta))和存储器阵列254(例如,cdram有效(cdt-v)阵列),其可被配置成存储用于bk0的元数据。在一些实例中,用于多个存储体(例如,两个存储体)的存储器阵列可组合且被称为群组或组块。存储器阵列还可被称为阵列、本地阵列或缓冲器,以及其它合适的术语。在一些情况下,存储器阵列可以是或包含易失性存储器单元,例如静态ram(sram)单元。然而,存储器阵列不限于sram。
57.元数据可包含与易失性存储器204相关联的标签信息、有效性信息或脏信息(或其任何组合),以及其它实例。标签信息(例如,标签地址)可指示哪些数据存储在易失性存储器204的地址处。例如,用于易失性存储器204的地址的标签信息可指示与存储在易失性存储器204的所述地址处的数据相关联的非易失性存储器地址。如所提到,有效性信息可指示存储在易失性存储器204中的数据是实际数据(例如,具有预期次序或形式的数据)还是占位符数据(例如,随机或虚设的数据,不具有预期或重要次序)。而且,脏信息可指示存储在易失性存储器204中的数据是否不同于存储在非易失性存储器206中的对应数据。例如,脏信息可指示存储在易失性存储器204中的数据是否已相对于存储在非易失性存储器206中的数据而更新。
58.存储器阵列252可以是本地阵列的实例,且可包含存储易失性存储器204的一或多个相关联存储体的元数据(例如,标签信息、有效性信息、脏信息)的存储器单元。存储器阵列252也可称为标签存储器阵列或标签存储器。存储器阵列252中的元数据可按行进行存储(例如,可能存在用于相关联易失性存储器存储体的每一行的相应元数据)。接口控制器202可通过参考存储器阵列252中的元数据来检查易失性存储器204中的所请求数据。例如,接口控制器202可从主机装置接收对于与非易失性存储器206的地址相关联的数据的读取命令。接口控制器202可使用地址位的子集来参考存储器阵列252中的元数据。例如,使用集合相联映射,接口控制器202可使用地址位的第一子集来确定n个地址的哪一集合与所述数据相关联,且可使用地址位的第二子集来确定所述集合中的n个地址中的任一者是否存储所述数据。
59.除了存储标签信息之外,存储器阵列252还可存储有效性信息,所述有效性信息指示易失性存储器204中的数据是实际数据(也称为有效数据)还是随机数据(也称为无效数据)。例如,易失性存储器204可最初存储随机数据且继续这样做,直到易失性存储器单元被写入来自主机装置或非易失性存储器206的数据为止。为了跟踪哪些数据有效,存储器阵列252可经配置以在实际数据存储在易失性存储器单元的集合(例如,行)中的情况下设置易失性存储器单元的所述集合的位。这一位可称为有效性位或有效性旗标。如同标签信息,存储在存储器阵列252中的有效性信息可按行存储。因此,在一些实例中,每个有效性位可指示存储在相关联行中的数据的有效性。在一些实例中,存储器阵列252可存储指示易失性存储器单元集合(例如,行)是否存储任何脏数据的脏信息。类似于有效性信息,存储在存储器阵列252中的脏信息可按行存储。
60.存储器阵列254还可为本地阵列的实例。存储器阵列254也可称为数据存储器阵列或数据存储器。存储器阵列254可类似于存储器阵列252,且还可包含存储器单元,所述存储器单元存储用于与存储器阵列252相关联的易失性存储器204的一或多个存储体的元数据。例如,存储器阵列254可存储易失性存储器204的一或多个存储体的有效性信息和脏信息。然而,存储在存储器阵列254中的元数据可按子块而不是按行存储。例如,存储在存储器阵列254的存储器单元中的有效性信息可指示用于易失性存储器204的行中的易失性存储器单元的子集的数据的有效性。
61.因此,在一些实例中,存储器阵列252中的元数据可按行(例如,对于2kb的数据)存储,且存储器阵列252中的元数据可按子块(例如,对于64b的数据)存储。为了说明,存储器阵列254中的有效性信息可指示存储在易失性存储器204的行中的数据的每个子集(例如,
32b或64b)的有效性。类似地,存储在存储器阵列254中的脏信息可指示易失性存储器204的行中的易失性存储器单元的哪些子集存储脏数据。将元数据(例如,标签信息、有效性信息、脏信息)按行存储在存储器阵列252中可允许接口控制器202确定易失性存储器204中的数据是存在命中还是未命中。将元数据(例如,有效性信息、脏信息)按子块存储在存储器阵列254中可允许接口控制器202确定将数据的哪一或多个子集传回到主机装置(例如,在读取过程期间)且数据的哪一或多个子集保留在非易失性存储器206中(例如,在逐出过程期间)。
62.每个高速缓存管理电路集合还可包含相应一对寄存器,所述相应一对寄存器与命令电路系统230、引擎246、存储器接口电路系统234、存储器接口电路系统240和用于所述高速缓存管理电路集合的存储器阵列以及其它组件耦合。例如,高速缓存管理电路集合可包含第一寄存器(例如,寄存器256,其可为开启页标签(opt)寄存器),所述第一寄存器经配置以从存储器阵列252或调度器248-b或这两者接收元数据(例如,标签信息、有效性信息或脏信息、其它信息或任何组合的一或多个位)。高速缓存管理电路系统集合还可包含第二寄存器(例如,寄存器258,其可为受害页标签(vpt)寄存器),所述第二寄存器经配置以从存储器阵列254和调度器248-a或这两者接收元数据(例如,有效性信息或脏信息或这两者)。寄存器256和寄存器258中的信息可传送到命令电路系统230和引擎246以实现由这些组件作出决策。例如,命令电路系统230可基于或响应于寄存器256和/或寄存器258或这两者中的元数据而发出读取非易失性存储器206或易失性存储器204的命令。
63.引擎246-a可与寄存器256、寄存器258和调度器248耦合。引擎246-a可经配置以从各种组件接收元数据,且基于或响应于所述元数据而将命令发出到调度器248。例如,如果接口控制器202处于例如直写模式的第一模式中,则引擎246-a可将命令发出到调度器248-b,且作为响应,调度器248-b发起或促进从缓冲器218到易失性存储器204和非易失性存储器206两者的数据传送。或者,如果接口控制器202在例如写回模式的第二模式中,则引擎246-a可将命令发出到调度器248-b,并且作为响应,调度器248-b发起或促进从缓冲器218到易失性存储器204的数据传送。在写回操作的情况下,在后续(例如,随后)逐出过程期间,存储在易失性存储器204中的数据可最终被传送到非易失性存储器206。
64.引擎246-b可与寄存器258和调度器248-a耦合。引擎246-b可经配置以从寄存器258接收元数据,且基于或响应于所述元数据而将命令发出到调度器248-a。例如,引擎246-b可将命令发到调度器248-a以发起或促进从缓冲器220到非易失性存储器206的脏数据传送(例如,作为收回过程的一部分)。如果缓冲器220保留从易失性存储器204传送的数据集合(例如,受害数据),则引擎246-b可指示缓冲器220中的数据集合的哪一或多个子集(例如,哪些64b)应传送到非易失性存储器206。
65.调度器248-a可与接口控制器202的各种组件耦合且可通过将命令发出到存储器接口电路系统234来促进存取非易失性存储器206。调度器248-a发出的命令可基于来自命令电路系统230、引擎246-a、引擎246-b或这些组件的组合的命令。类似地,调度器248-b可与接口控制器202的各种组件耦合,且可通过将命令发布到存储器接口电路系统240而促进存取易失性存储器204。由调度器248-b发出的命令可基于或响应于来自命令电路系统230或引擎246-a或这两者的命令。
66.存储器接口电路系统234可经由数据总线接口212和c/a总线接口214中的一或多
个与非易失性存储器206通信。例如,存储器接口电路系统234可提示c/a总线接口214通过c/a总线236将存储器接口电路系统234所发出的命令转发到非易失性存储器206中的本地控制器。并且,存储器接口电路系统234可通过数据总线232向非易失性存储器206传输或从其接收数据。在一些实例中,存储器接口电路系统234所发出的命令可受非易失性存储器206支持,但不受易失性存储器204支持(例如,由存储器接口电路系统234发出的命令可不同于由存储器接口电路系统240发出的命令)。
67.存储器接口电路系统240可经由数据总线接口216和c/a总线接口264中的一或多个与易失性存储器204通信。例如,存储器接口电路系统240可提示c/a总线接口264通过c/a总线242将存储器接口电路系统240所发出的命令转发到易失性存储器204的本地控制器。并且,存储器接口电路系统240可通过一或多个数据总线238向易失性存储器204传输或从其接收数据。在一些实例中,存储器接口电路系统240所发出的命令可受易失性存储器204支持,但不受非易失性存储器206支持(例如,由存储器接口电路系统240发出的命令可不同于由存储器接口电路系统234发出的命令)。
68.总之,接口控制器202的组件可将非易失性存储器206用作主存储器且将易失性存储器204用作高速缓存。此类操作可由从主机装置接收的一或多个存取命令(例如,读取命令和写入命令)提示。
69.在一些实例中,接口控制器202可从主机装置接收写入命令。写入命令可经由c/a总线226接收,且经由c/a总线接口210和解码器228中的一或多者传送到命令电路系统230。写入命令可包含或伴随有地址位,所述地址位以非易失性存储器206的存储器地址为目标。待写入的数据可通过数据总线260接收,并且经由数据总线接口208传送到缓冲器218。在直写模式中,接口控制器202可将数据传送到非易失性存储器206和易失性存储器204两者。在写回模式中,在一些实例中,接口控制器202可将数据仅传送到易失性存储器204。
70.在任一模式中,接口控制器202可首先进行检查以查看易失性存储器204是否具有用于存储数据的空间(例如,可用存储器单元)。为了这样做,命令电路系统230可参考适当存储器阵列252中的元数据,以确定与非易失性存储器地址相关联的n个地址中的一或多者是否为空(例如,存储随机或无效数据)或与非易失性存储器地址相关联的n个地址中的一或多者是否为满(例如,存储有效数据)。例如,命令电路系统230可基于存储于存储器阵列252中的标签信息和有效性信息而确定n个地址中的一或多者是否可用于写入(或不可用于写入)。易失性存储器204的地址可与易失性存储器单元集合相关联,所述易失性存储器单元集合可称为行(line)、高速缓存行、高速缓存块或行(row)。
71.如果n个相关联地址中的一者可用于写入,则接口控制器202可将数据从缓冲器218传送到易失性存储器204以用于存储于所述地址处(例如,相关联易失性存储器单元的集合中)。但是,如果n个相关联地址中无一可用,则接口控制器202可起始逐出过程以为易失性存储器204中的数据腾出空间。逐出过程可涉及将受害数据从n个相关联地址中的一者传送到缓冲器220。用于受害数据的脏信息可从存储器阵列254传送到寄存器258以用于受害数据的脏子集的标识。在将受害数据存储在缓冲器220中之后,可将新数据从缓冲器218传送到易失性存储器204,且可将受害数据从缓冲器220传送到非易失性存储器206。在一些情况下,可将旧数据的脏子集传送到非易失性存储器206且可丢弃干净子集(例如,未修改子集)。引擎246-b可基于或响应于在逐出过程期间从存储器阵列254传送到寄存器258的脏
信息来标识脏子集。
72.在另一实例中,接口控制器202可从主机装置接收命令,例如读取命令。读取命令可经由c/a总线226接收,且经由c/a总线接口210和解码器228中的一或多者传送到命令电路系统230。读取命令可包含地址位,所述地址位以非易失性存储器206的存储器地址为目标。在尝试存取非易失性存储器206的目标存储器地址之前,接口控制器202可检查以查看易失性存储器204是否存储数据。为了这样做,命令电路系统230可参考存储器阵列252中的元数据(例如,使用非易失性存储器地址位的集合)以确定与非易失性存储器地址相关联的n个地址中的一或多者是否存储所请求数据。如果所请求数据存储在易失性存储器204中,则接口控制器202可将所请求数据传送到缓冲器218以用于通过数据总线260传输到主机装置。
73.如果所请求数据不存储于易失性存储器204中(例如,所请求数据可存储于非易失性存储器206或另一位置中),则接口控制器202可从非易失性存储器206检索数据并且将数据传送到缓冲器218以通过数据总线260传输到主机装置。另外,接口控制器202可将所请求数据从缓冲器218传送到易失性存储器204,以便在后续检索操作期间可以较低时延存取数据。然而,在传送所请求数据之前,接口控制器202可首先确定n个相关联地址中的一或多者是否可用于存储所请求数据(例如,n个相关联地址中的一或多者是空的还是满的)。接口控制器202可通过与相关高速缓存管理电路集合通信来确定n个相关联地址的可用性。如果相关联地址可用,则接口控制器202可将缓冲器218中的数据传送到易失性存储器204而不执行逐出过程。否则,接口控制器202可在进行收回过程之后将数据从缓冲器218传送到易失性存储器204。
74.存储器子系统200可在包含单芯片版本和多芯片版本的一或多个配置中实施。多芯片版本可在与包含存储器子系统200的一或多个其它组成部分的芯片分开的芯片上包含存储器子系统200的一或多个组成部分,包含接口控制器202、易失性存储器204和非易失性存储器206(以及其它组成部分或组成部分的组合)。例如,在一个多芯片版本中,相应的分开的芯片可包含接口控制器202、易失性存储器204和非易失性存储器206中的每一者。相比之下,单芯片版本可在单个芯片上包含接口控制器202、易失性存储器204和非易失性存储器206。
75.如所提及,队列250可以存储从主机装置接收的命令,并且命令电路系统230可以向接口控制器202的其它组件(例如,向调度器248)发出由逻辑262确定的那些命令。因此,队列250可以存储相对多的命令(例如,因为队列250存储易失性存储器204和非易失性存储器206两者的命令)。根据本文描述的技术,接口控制器202可以通过将所接收命令与存储体特定缓冲器中的命令进行比较,而不是将所接收命令与队列250中的所有命令进行比较,来执行危险检测。存储体特定缓冲器可以小于队列(例如,包含的条目少于队列)。因此,相对于其它技术,接口控制器202可以使用减少数量的比较器进行危险检测,这可以提高接口控制器202的性能。
76.图3示出根据本文公开的实例支持多存储器装置中的危险检测的接口控制器300的实例。接口控制器300可以是分别参考图1和2描述的接口控制器115或接口控制器202的实例。在其它潜在组件中,接口控制器300可包含控制器305、比较逻辑310、缓冲器320和命令电路系统325,它们可通过一或多个传输线、总线或两者相互耦合。如本文所描述,接口控
制器300可以通过将所接收命令与例如缓冲器320等一或多个其它组件中的命令(而不是命令队列330中的命令)进行比较来执行危险检测,这可以提供本文描述的各种优点。
77.缓冲器320(例如,缓冲器0到缓冲器n)可被配置成在存储体特定基础上存储所接收命令(例如,来自主机装置的命令),并将命令信息传送到命令电路系统325(例如,用于进入命令队列330)。例如,每个缓冲器320可被配置成存储与接口控制器300耦合的易失性存储器的对应存储体的所接收命令。为了说明,缓冲器0可被配置成存储存储体0(而不是其它存储体)的所接收命令,缓冲器1可被配置成存储存储体1(而不是其它存储体)的所接收命令,依次类推。因此,接口控制器300可包含易失性存储器的每存储体一个缓冲器320。换句话说,缓冲器320的数量可等于易失性存储器中的存储体的数量。然而,可以设想缓冲器320的其它配置和数量并且也在本公开的范围内。存储命令可以指存储所述命令的信息(例如,地址信息、标识信息命令类型)。
78.在一些实例中,缓冲器320中的一些或全部可以是折叠缓冲器。折叠缓冲器可以是被配置成将条目添加到最后可用位置并以任何次序移除条目的缓冲器(例如,不考虑例如年龄(即,在缓冲器中花费的时间量)和添加次序等因素)。因此,折叠缓冲器可能不同于先进先出(fifo)缓冲器或被配置成以特定次序添加和移除条目的其它类型的缓冲器。如果移除了条目,则折叠缓冲器可被配置成向下移动已移除条目上方的条目,从而折叠缓冲器的大小。在一些实例中,缓冲器320可以具有不能超过的最大容量(例如,条目数量),这可以防止接口控制器300在缓冲器320中存储比比较逻辑310可以处理的更多的命令。
79.比较逻辑310可被配置成比较命令的地址信息。例如,比较逻辑310可被配置成将所接收命令的地址信息与缓冲器320中命令的地址消息进行比较。比较命令可指对命令的信息(例如,地址信息)进行比较。因此,比较逻辑310可被配置成比较存储体地址、行地址、列地址或这些地址的组合。比较逻辑310可包含比较器335-0至335-x。在一些实例中,比较器335的数量可以等于缓冲器320的数量乘以每缓冲器的最大条目数量。然而,其它数量的缓冲器也在本公开的范围内。
80.控制器305可被配置成通过分别向缓冲器320和比较逻辑310传送控制信号来控制缓冲器320和对比逻辑310。在一些实例中,控制器305可以接收控制器305用作控制缓冲器320和比较逻辑310的基础的信息(例如,来自缓冲器320、比较逻辑310或接口控制器300的其它组件)。
81.命令电路系统325可以是参考图2描述的命令电路系统230的实例。命令电路系统325可包含命令队列330和逻辑340,所述命令队列可以存储用于易失性存储器和非易失性存储器的命令(以及其它命令),所述逻辑可以管理命令。例如,逻辑340可以确定向接口控制器300的其它组件发出命令队列330中的命令的排序和定时。一般来说,命令可以响应于命令的接收而添加到命令队列330,并且可以在发出到接口控制器300中的一或多个其它组件时从命令队列330移除。
82.命令队列330可包含用于与命令相关联的不同类型的信息(由对应条目表示)的各种字段。例如,命令队列330可包含用于标识信息(例如,tid)的事务标识符(tid)字段。
83.另外或替代地,命令队列330可包含用于有效性信息的有效字段,所述有效性信息指示相关联tid是否有效。另外或替代地,命令队列330可包含用于行信息(例如,行地址)的行字段。另外或替代地,命令队列330可包含用于列信息(例如,列地址)的列字段。另外或替
代地,命令队列330可包含用于存储体信息(例如,存储体地址)的存储体字段(未示出)。另外或替代地,命令队列330可包含用于指示接收命令的次序的排序信息的下一个tid字段。另外或替代地,命令队列330可包含用于指示相关联命令是否为危险命令的危险信息的危险(hzd)字段。另外或替代地,命令队列330可包含用于指示与命令相关联的危险命令的危险tid信息的危险tit字段。
84.另外或替代地,命令队列330可包含用于指示是否存在行命中的行命中信息的行命中字段(未示出)。另外或替代地,命令队列330可包含用于指示命令类型的信息的类型字段(未示出)。另外或替代地,命令队列330可包含用于指示命令的预期存储器(例如,易失性存储器、非易失性存储器)的信息的调度字段。另外或替代地,命令队列330可包含用于指示命令是否准备好发布的信息的“想要发布”字段。另外或替代地,命令队列330可包含用于指示预取操作是否与命令相关联的信息的预取字段。另外或替代地,命令队列330可包含用于rid的读取标识符(rid)字段,这些字段将读取命令彼此区分开来。
85.接口控制器300的操作首先在高级别描述,然后参考所接收命令345进行描述。在高级别,接口控制器300可以接收命令(例如,来自主机装置)。命令可以指示地址信息(例如,存储体地址、行地址和列地址)。接口控制器300可以将命令添加到命令队列330并确定命令的存储体地址。接口控制器300可以基于存储体地址选择用于危险检测程序的缓冲器320。例如,接口控制器300可以选择为命令的存储体地址所指示的存储体配置的缓冲器320。举例说明,如果命令的存储体地址是存储体n,则接口控制器300可以选择缓冲器n(其对应于存储体n)用于危险检测程序。在为危险检测程序选择适当的缓冲器之后,接口控制器300可以(例如,使用比较逻辑310)将命令的地址信息与所选缓冲器(例如,缓冲器n)中的命令的地址信号进行比较。例如,接口控制器300可以将命令的行地址与缓冲器n中的命令的行地址进行比较,并且可以将命令的列地址与缓冲器n中的命令的列地址进行比较。可以设想使用其它地址信息(例如,仅行地址、仅列地址或地址的其它组合)用于危险检测并且也在本公开的范围内。
86.如果两个比较命令之间的地址信息匹配,则接口控制器300可以确定命令是受执行排序条件约束的危险命令。因此,接口控制器300可以用接收到的危险命令替换缓冲器n中存储的危险命令。替换命令可以指移除所述命令的信息并添加另一命令的信息。用接收到的危险命令替换存储的危险命令可以防止缓冲器溢出,并且可以允许接口控制器300将传入命令与最新危险命令进行比较。接口控制器300还可以用危险信息更新命令队列330。例如,接口控制器300可以更新(在命令队列330中)存储的危险命令的危险字段,以指示所存储命令是危险命令。另外,接口控制器300可以更新(在命令队列330中)存储的危险命令的危险tid字段,以指示对应危险命令(例如,接收到的危险命令)的tid。
87.如果两个比较命令之间的地址信息不匹配,则接口控制器300可以确定命令不是危险命令(例如,命令没有执行排序条件,并且可以以任何次序执行)。因此,接口控制器300可以将所接收命令添加到缓冲器n(前提是缓冲器n尚未达到最大容量)。如果缓冲器n处于最大容量,则接口控制器300可以在将所接收命令(或来自命令队列330的不同命令)添加到缓冲器之前等待,直到命令从缓冲器n中移除。
88.现在参考所接收命令345,其可以是从主机装置接收的命令。所接收命令可以按降序接收,从命令0开始,到命令8结束。每个命令可以具有相关联tid、行地址(ra)、列地址
(ca)和存储体地址(ba)。为了便于说明,与所接收命令345相关联的地址限于几个地址(例如,行地址0和1、列地址0、2、10和12以及存储体地址0)。然而,可以设想不同地址和不同数量的地址并且也在本公开的范围内。尽管参考单个存储体(例如,存储体0)进行了描述,但本文描述的技术可以针对任何数量的存储体实施。为了便于说明,危险命令以相同的阴影示出。
89.在接收命令(cmd)0之后,接口控制器300可以确定与命令0相关联的存储体。接口控制器300可基于命令0的存储器地址来确定与命令0相关联的存储体,所述存储体地址可以指示存储体(例如,存储体0)。然后,接口控制器300可以同时(例如,在部分或完全重叠的时间)或以任何次序:1)将命令0添加到命令队列330,这可涉及更新命令0的各个字段,以及2)为命令0的危险检测程序选择缓冲器320。例如,接口控制器300可以基于对应于存储体0(例如用于命令0的存储体)的缓冲器0来选择用于危险检测程序的缓冲器0。假设命令0是为存储体0接收的第一个命令,则缓冲器0中可能没有命令。因此,接口控制器300可以将命令0添加到缓冲器0。
90.在接收到命令1后,接口控制器300可以确定与命令1相关联的存储体(例如存储体0)。然后,接口控制器300可以同时或以任何次序:1)将命令1添加到命令队列330,2)为命令1的危险检测程序选择缓冲器320。例如,接口控制器300可以基于对应于存储体0(例如,用于命令1的存储体)的缓冲器0来选择用于危险检测程序的缓冲器0。然后,接口控制器300可以将命令1的地址信息与存储在缓冲器0中的命令的地址信息进行比较。例如,接口控制器300可以将命令1的行地址与命令0的行地址进行比较,并且可以将命令1的列地址与命令0的列地址进行比较。基于所述比较,接口控制器300可以确定命令1的地址信息与命令0的地址信息不匹配(例如,不同于、不等于)(例如,因为命令1的列地址(ca=2)不同于命令0的列地址(ca=0))。因此,接口控制器300可以将命令1添加到缓冲器0。
91.在接收到命令2后,接口控制器300可以确定与命令2相关联的存储体(例如,存储体0)。然后,接口控制器300可以同时或以任何次序:1)将命令2添加到命令队列330,2)为命令2的危险检测程序选择缓冲器320。例如,接口控制器300可以基于对应于存储体0(例如,用于命令2的存储体)的缓冲器0来选择用于危险检测程序的缓冲器0。然后,接口控制器300可以将命令2的地址信息与存储在缓冲器0中的命令的地址信息进行比较。例如,接口控制器300可以将命令2的行地址与命令0和1的行地址进行比较,并且可以将命令2的列地址与命令0和1的列地址进行比较。基于所述比较,接口控制器300可确定命令2的地址信息与命令1的地址信息匹配(例如,相同或相等)。因此,接口控制器300可以同时或以任何次序:1)用缓冲器0中的命令2替换命令1,以及2)用危险信息更新命令队列330。
92.用命令2替换命令1可涉及将命令1从缓冲器0中移除,并将命令2添加到缓冲器0(例如,作为新条目,且不一定与命令1位于同一位置)。另外,接口控制器300可更新命令2的危险tid字段(在缓冲器0中),以指示命令1是与命令2相关联的危险命令。使用危险信息更新命令队列330可涉及更新命令2的危险字段以指示命令2是危险命令,更新命令2的危险tid字段以指示命令1是与命令2相关联的危险命令,或两者。
93.在接收到命令3后,接口控制器300可以确定与命令3相关联的存储体(例如,存储体0)。然后,接口控制器300可以同时或以任何次序:1)将命令3添加到命令队列330,2)为命令3的危险检测程序选择缓冲器320。例如,接口控制器300可以基于对应于存储体0(例如用
于命令3的存储体)的缓冲器0来选择用于危险检测程序的缓冲器0。然后,接口控制器300可以将命令3的地址信息与存储在缓冲器0中的命令的地址信息进行比较。例如,接口控制器300可以将命令3的行地址与命令0和命令2(其代替命令1)的行地址进行比较,并且可以将命令3的列地址与命令0和命令2的列地址进行比较。基于所述比较,接口控制器300可确定命令3的地址信息与命令0或命令2的地址信息不匹配(例如,不同于或不等于)。因此,接口控制器300可以将命令3添加到缓冲器0。
94.在接收到命令4后,接口控制器300可以确定与命令4相关联的存储体(例如,存储体0)。然后,接口控制器300可以同时或以任何次序将命令4添加到命令队列330,以及2)为命令4的危险检测程序选择缓冲器320。例如,接口控制器300可以基于对应于存储体0(例如,用于命令4的存储体)的缓冲器0来选择用于危险检测程序的缓冲器0。然后,接口控制器300可以将命令4的地址信息与存储在缓冲器0中的命令的地址信息进行比较。例如,接口控制器300可以将命令4的行地址与命令0、命令2(其代替命令1)和命令3的行地址进行比较,并且可以将命令4的列地址与命令0、命令2和命令3的列地址进行比较。基于所述比较,接口控制器300可以确定命令4的地址信息与命令0的地址信息匹配。因此,接口控制器300可以同时或以任何次序:1)用缓冲器0中的命令4替换命令0(例如,通过移除命令0并添加命令4),以及2)用危险信息更新命令队列330。
95.可以对命令5至8执行类似的操作,为了简洁起见,这里不再重复。因此,接口控制器300可以通过将所接收命令与缓冲器320中的命令(而不是命令队列330中的命令)进行比较来执行危险检测,这可以提供本文描述的各种优点。
96.图4示出根据本文公开的实例支持多存储器装置中的危险检测的过程流程400的实例。过程流程400可由参考图1描述的存储器子系统110或接口控制器115、参考图2描述的存储器子系统200或接口控制器202或参考图3描述的接口控制器300实施。然而,其它类型的装置或组件(或其组合)也可实施过程流程400。过程流程400可说明使用缓冲器(例如,存储体特定的缓冲器)进行危险检测的装置的操作。
97.为了便于参考,参考装置描述过程流程400。例如,过程流程400的方面可由包含易失性存储器和非易失性存储器的装置实施。另外或替代地,过程流程400的方面可被实施为存储在存储器中的指令(例如,存储在易失性存储器120或非易失性存储器125或这两者中的固件)。例如,指令可在由控制器执行的情况下使控制器执行过程流程400的操作。
98.在405,可以接收命令。例如,接口控制器300可以从主机装置接收命令。所接收命令可以与例如存储体地址、行地址和列地址的地址信息相关联(例如,指示、包含所述地址信息)。在一些实例中,行地址可以标识与共同字线耦合的一行存储器单元。在一些实例中,列地址可以标识与共同数字线耦合的一列存储器单元。
99.在410,可以将所接收命令添加到命令队列。例如,接口控制器300可以基于或响应于接收到命令而将所接收命令添加到命令队列330。在415,可以选择用于所接收命令的危险检测程序的缓冲器。例如,接口控制器300可从缓冲器320中选择与所接收命令的存储体地址所指示的存储体相对应的缓冲器。
100.在420处,可以将所接收命令的地址信息与存储在所选缓冲器中的命令地址信息进行比较。例如,接口控制器300可以(例如,经由比较逻辑310)将所接收命令的地址信息与存储在所选缓冲器中的命令的地址信息进行比较。在一些实例中,比较地址信息可涉及将
所接收命令的行地址和列地址与存储在缓冲器中的命令的相应行地址和列地址进行比较。
101.在425,可以确定地址信息之间是否存在匹配。例如,接口控制器300可以确定所接收命令的地址信息是否与存储在缓冲器中的任何命令的地址匹配。如果两个命令的行地址和列地址一致(例如相等、相同),则可以说地址信息匹配。如果在425确定地址信息之间不匹配,则处理流程400可前进至430。在430,可以确定不存在危险。例如,接口控制器300可以确定所接收命令相对于存储在缓冲器中的任何命令而言不是危险命令。在435,可以基于所接收命令不是危险命令而将所接收命令添加到缓冲器。
102.如果在425确定地址信息之间存在匹配,则处理流程400可前进至440。在440,可以确定存在危险。例如,接口控制器300可以确定所接收命令相对于缓冲器中存储的命令是危险命令。接口控制器300还可以确定所存储命令相对于所接收命令是危险命令。接口控制器300可以基于具有匹配地址信息的命令来确定命令是危险的。
103.在445,可以用危险信息更新命令队列。例如,接口控制器300可更新命令队列330中所存储命令的危险字段、危险tid字段或两者。在450,可以用所接收命令替换缓冲器中的所存储命令。例如,接口控制器300可以用所接收命令替换缓冲器中的所存储命令。
104.可实施前述内容的替代实例,其中一些操作以与所描述次序不同的次序执行、并行地执行或根本不执行。在一些情况下,操作可包含本文未提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作,或可重复或循环操作的某些组合。
105.图5示出根据本文公开的实例支持多存储器装置中的危险检测的装置520的框图500。装置520可以是参考图1到4描述的装置的方面的实例。装置520或其各种组件可以是用于执行如本文描述的多存储器装置中的危险检测的各种方面的装置的实例。例如,装置520可包含接收电路系统525、控制器530、比较电路系统535、缓冲电路系统545、命令电路系统550或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
106.接收电路系统525可被配置成或以其它方式支持用于以下项的装置:接收指示第一存储体地址、第一行地址和第一列地址的第一命令。控制器530可被配置成或以其它方式支持用于以下项的装置:至少部分地基于第一存储体地址并且从各自与易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令。比较电路系统535可被配置成或以其它方式支持用于以下项的装置:作为危险检测程序的一部分并且至少部分地基于选择缓冲器,将来自第一命令的第一行地址和第一列地址与来自缓冲器中的第二命令的第二行地址和第二列地址进行比较。在一些实例中,控制器530可被配置成或以其它方式支持用于以下项的装置:至少部分地基于将来自第一命令的第一行地址和第一列地址与来自第二命令的第二行地址和第二列地址进行比较,确定第一命令和第二命令是否是受执行排序条件约束的危险命令。
107.在一些实例中,危险命令包含具有匹配的存储体地址、行地址和列地址的命令。在一些实例中,控制器530可被配置成或以其它方式支持用于以下项的装置:至少部分地基于第一行地址与第二行地址匹配并且至少部分地基于第一列地址与第二列地址匹配,确定第一命令和第二命令是危险命令。
108.在一些实例中,缓冲电路系统545可被配置成或以其它方式支持用于以下项的装置:至少部分地基于确定第一命令和第二命令是危险命令,用第一命令替换缓冲器中的第
二命令。
109.在一些实例中,命令电路系统550可被配置成或以其它方式支持用于以下项的装置:至少部分地基于接收到第一命令,将第一命令添加到命令队列,其中所述命令队列存储用于易失性存储器的命令和用于非易失性存储器的命令。在一些实例中,命令电路系统550可被配置成或以其它方式支持用于以下项的装置:至少部分地基于确定第一命令是危险命令而更新所述命令队列。
110.在一些实例中,为了支持更新命令队列,命令电路系统550可被配置成或以其它方式支持用于以下项的装置:将第一命令的事务标识符添加到第二命令的第一字段。在一些实例中,为了支持更新命令队列,命令电路系统550可被配置成或以其它方式支持用于以下项的装置:更新第二命令的第二字段以指示第二命令是危险命令。
111.在一些实例中,控制器530可被配置成或以其它方式支持用于以下项的装置:至少部分地基于第一行地址不同于第二行地址、至少部分地基于第一列地址不同于第二列地址或两者来确定第一命令和第二命令不是危险命令。在一些实例中,缓冲电路系统545可被配置成或以其它方式支持用于以下项的装置:至少部分地基于确定第一命令和第二命令不是危险命令,将第一命令添加到缓冲器。
112.图6示出说明根据本文公开的实例支持多存储器装置中的危险检测的方法600的流程图。方法600的操作可以由本文描述的装置或其组件来实施。例如,可由参考图1到5描述的装置执行方法600的操作。在一些实例中,装置可以执行指令集合以控制装置的功能元件从而执行所描述的功能。另外或替代地,装置可以使用专用硬件来执行所描述的功能的各方面。
113.在605,所述方法可包含接收指示第一存储体地址、第一行地址和第一列地址的第一命令。605的操作可根据本文公开的实例执行。在一些实例中,605的操作的各方面可由参考图5描述的接收电路系统525执行。
114.在610,所述方法可包含至少部分地基于第一存储体地址并且从各自与易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令。610的操作可根据本文公开的实例执行。在一些实例中,610的操作的各方面可由参考图5描述的控制器530执行。
115.在615,所述方法可包含作为危险检测程序的一部分并且至少部分地基于选择缓冲器,将来自第一命令的第一行地址和第一列地址与来自缓冲器中的第二命令的第二行地址和第二列地址进行比较。615的操作可根据本文公开的实例执行。在一些实例中,615的操作的各方面可由参考图5描述的比较电路系统535执行。
116.在620,所述方法可包含至少部分地基于将来自第一命令的第一行地址和第一列地址与来自第二命令的第二行地址和第二列地址进行比较,确定第一命令和第二命令是否是受执行排序条件约束的危险命令。620的操作可根据本文公开的实例执行。在一些实例中,620的操作的各方面可由参考图5描述的控制器530执行。
117.在一些实例中,如本文描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于以下项的特征、电路系统、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收指示第一存储体地址、第一行地址和第一列地址的第一命令;至少部分地基于第一存储体地址并且从各自与易失性存储器的相应存储体相关联的
一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令;作为危险检测程序的一部分并且至少部分地基于选择缓冲器,将来自第一命令的第一行地址和第一列地址与来自缓冲器中的第二命令的第二行地址和第二列地址进行比较;以及至少部分地基于将来自第一命令的第一行地址和第一列地址与来自第二命令的第二行地址和第二列地址进行比较,确定第一命令和第二命令是否是受执行排序条件约束的危险命令。
118.在方法600和本文描述的设备的一些实例中,危险命令包含具有匹配的存储体地址、行地址和列地址的命令。方法600和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于第一行地址与第二行地址匹配并且至少部分地基于第一列地址与第二列地址匹配,确定第一命令和第二命令可为危险命令。
119.方法600和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于确定第一命令和第二命令可为危险命令,用第一命令替换缓冲器中的第二命令。
120.方法600和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于接收到第一命令,将第一命令添加到命令队列,其中所述命令队列存储用于易失性存储器的命令和用于非易失性存储器的命令;以及至少部分地基于确定第一命令可为危险命令而更新所述命令队列。
121.在方法600和本文描述的设备的一些实例中,更新命令队列可包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:将第一命令的事务标识符添加到第二命令的第一字段;以及更新第二命令的第二字段以指示第二命令可为危险命令。
122.方法600和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于第一行地址不同于第二行地址、至少部分地基于第一列地址不同于第二列地址或两者来确定第一命令和第二命令可不是危险命令。
123.方法600和本文描述的设备的一些实例可进一步包含用于以下项的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于确定第一命令和第二命令可不是危险命令,将第一命令添加到缓冲器。
124.应注意,本文描述的方法描述可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
125.描述了一种设备。所述设备可包含非易失性存储器;易失性存储器;以及接口控制器,其与所述非易失性存储器和所述易失性存储器耦合,所述接口控制器可操作以使所述设备:接收指示第一存储体地址、第一行地址和第一列地址的第一命令;至少部分地基于所述第一存储体地址并且从各自与所述易失性存储器的相应存储体相关联的一组缓冲器中选择用于危险检测程序的缓冲器,所述危险检测程序检测受执行排序条件约束的危险命令;作为所述危险检测程序的一部分并且至少部分地基于选择所述缓冲器,将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述缓冲器中的第二命令的第二行地址和第二列地址进行比较;以及至少部分地基于将来自所述第一命令的所述第一行地址和所述第一列地址与来自所述第二命令的所述第二行地址和所述第二列地址进行比较,确定
所述第一命令和所述第二命令是否是受执行排序条件约束的危险命令。
126.在所述设备的一些实例中,危险命令包含具有匹配的存储体地址、行地址和列地址的命令。在一些实例中,所述设备可包含至少部分地基于第一行地址与第二行地址匹配并且至少部分地基于第一列地址与第二列地址匹配,确定第一命令和第二命令可为危险命令。
127.在一些实例中,所述设备可包含至少部分地基于确定第一命令和第二命令可为危险命令,用第一命令替换缓冲器中的第二命令。在一些实例中,所述设备可包含在接口控制器中的命令队列,其可操作以存储用于易失性存储器的命令和用于非易失性存储器的命令,其中接口控制器可操作以使所述设备至少部分地基于接收到第一命令而将第一命令添加到命令队列;以及至少部分地基于确定第一命令可为危险命令而更新命令队列。
128.在一些实例中,所述设备可包含将第一命令的事务标识符添加到第二命令的第一字段;以及更新第二命令的第二字段以指示第二命令可为危险命令。在一些实例中,所述设备可包含至少部分地基于第一行地址不同于第二行地址、至少部分地基于第一列地址不同于第二列地址或两者来确定第一命令和第二命令可不是危险命令。
129.在一些实例中,所述设备可包含至少部分地基于确定第一命令和第二命令可不是危险命令,将第一命令添加到缓冲器。在所述设备的一些实例中,易失性存储器包含多个存储体,并且所述一组缓冲器中的每个缓冲器可被配置成存储用于所述多个存储体中的相应存储体的命令。
130.在所述设备的一些实例中,缓冲器存储具有与第一存储体地址匹配的存储体地址的命令,并且不存储具有与第一存储体地址不匹配的存储体地址的命令。在所述设备的一些实例中,缓冲器包含折叠缓冲器,所述折叠缓冲器可被配置成移除条目而不考虑缓冲器中的存储持续时间、对折叠缓冲器的添加次序或两者。
131.可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。
132.协议可定义支持以供装置或组件使用的一或多个通信程序和一或多个通信参数。例如,协议可以定义各种操作、用于那些操作的定时和频率、各种命令或信号或这两者的含义、用于一或多个存储器的一或多个寻址方案、其中保留引脚的类型的通信、在例如接口的各种组件处处置的数据的大小、由例如接口的各种组件支持的数据速率,或由例如接口的各种组件支持的带宽,以及其它参数和度量,或其任何组合。共享协议的使用可以实现装置之间的交互,这是因为每个装置可以另一装置所期望、辨识和理解的方式来操作。例如,支持相同协议的两个装置可以根据由协议定义的策略、程序和参数来交互,而支持不同协议的两个装置可能是不兼容的。
133.为了说明,支持不同协议的两个装置可能是不兼容的,这是因为协议定义不同的寻址方案(例如,不同数量的地址位)。作为另一说明,支持不同协议的两个装置可以是不兼容的,这是因为协议定义不同传送程序以用于响应于单个命令(例如,响应于命令所准许的字节的丛发长度或数量可以是不同的)。仅将命令转换为动作不应被理解为两个不同协议
的使用。实际上,如果由两个协议限定的对应的程序或参数发生改变,则协议可以被视为是不同的。例如,如果装置支持不同寻址方案或不同传送程序以用于响应于命令,则装置可以称为支持两个不同协议。
134.术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于(例如,响应于)包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
135.术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传送,在闭路关系中,信号能够通过导电路径在组件之间传送。当例如控制器等组件将其它组件耦合在一起时,组件起始允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
136.术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器分隔开两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
137.本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
138.本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可以是导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,大部分载体为电子),则fet可被称为n型fet。如果沟道是p型(即,多数载流子是空穴),则fet可被称为p型fet。通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。例如,将正电压或负电压分别施加到n型fet或p型fet可导致通道变得导电。当向晶体管栅极施加大于或等于晶体管的阈值电压的电压时,晶体管可以“导通”或“激活”。当向晶体管栅极施加小于晶体管的阈值电压的电压时,晶体管可“断开”或“去激活”。
139.本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文使用的术语“示例性”意指“充当实例、例子或说明”,而不是“优选”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,可以在没有这些具特定细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
140.在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,则描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
141.如本文所用,术语“大体上”意指经修饰特征(例如由术语大体上修饰的动词或形容词)不必是绝对的但要足够接近以便获得特征的优点。如本文中所使用,术语“并行地”意味着所描述的动作或现象在时间上至少部分地重叠、可基本上同时进行或在时间上偏移的持续时间期间发生。如本文中所使用,除非以其它方式描述或提及,否则对象的“集合”可以指对象中的一或多个。
142.结合本文公开内容所描述的各种说明性区块和模块可使用通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或经设计以执行本文所描述之、的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,所述处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合(例如dsp和微处理器的组合、多个微处理器、与dsp核心结合的一或多个微处理器,或任何其它此类配置)。
143.本文描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,则可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例和实施在本公开和所附权利要求书的范围内。例如,由于软件的本质,上文所描述的功能可以使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。并且,如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“中的至少一者”或“中的一或多者”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得(例如)a、b或c中的至少一者的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开的范围的情况下,描述为“基于条件a”的示范性步骤可基于条件a和条件b两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
144.计算机可读媒体包含非暂时性计算机可读存储媒体和通信媒体两者,通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。非暂时性存储媒体可以是可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、压缩光盘(cd)rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、数字订户线(digital subscriber line,dsl)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用的,磁盘和光盘包含cd、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。以上各者的组合也
包含在计算机可读媒体的范围内。
145.提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献