CN114924689A - 经优化命令序列 - Google Patents
经优化命令序列 Download PDFInfo
- Publication number
- CN114924689A CN114924689A CN202210125696.5A CN202210125696A CN114924689A CN 114924689 A CN114924689 A CN 114924689A CN 202210125696 A CN202210125696 A CN 202210125696A CN 114924689 A CN114924689 A CN 114924689A
- Authority
- CN
- China
- Prior art keywords
- access commands
- command
- sequence
- access
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及经优化命令序列。一种设备包含存储器阵列和与所述存储器阵列耦合的控制器。所述控制器可配置成接收指示用以存储在所述控制器处的存取命令序列的开始的第一命令,接着接收与所述存取命令序列相关联的第一组存取命令,且接着接收指示所述存取命令序列的结束的第二命令。所述控制器还可在接收所述命令之后接收第二组存取命令。所述控制器可在接收到所述第二组存取命令之后且在接收到所述序列的第三组存取命令之前,至少部分地基于将所述第二组存取命令识别为开始所述存取命令序列而执行与所述第三组存取命令相关联的操作。
Description
交叉引用
本专利申请要求吉伦斯科格(Gyllenskog)等人于2021年2月11日提交的题为“经优化命令序列(OPTIMIZED COMMAND SEQUENCES)”的第17/173,519号美国专利申请的优先权,所述申请转让给本受让人且明确地以全文引用的方式并入本文中。
技术领域
下文大体上涉及用于存储器的一或多个系统,且更确切地说,涉及经优化命令序列。
技术领域涉及经优化命令序列。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可被编程为两种支持状态中的一种,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两种可能状态,存储器单元可存储所述状态中的任一种。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可以将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以为易失性或非易失性的。除非由外部电源定期刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。即使在不存在外部电源的情况下,非易失性存储器单元(例如,NAND存储器单元)仍可在很长一段时间内维持其编程状态。
发明内容
一种设备,其包括:存储器阵列,其包括多个存储器单元;以及控制器,其与所述存储器阵列耦合且配置成:接收指示用以存储在控制器处的存取命令序列的开始的第一命令;在接收到第一命令之后接收第一组存取命令,所述第一组存取命令与存取命令序列相关联;在接收到第一组存取命令之后接收指示存取命令序列的结束的第二命令;在接收到第二命令之后接收第二组存取命令;以及在接收到第二组存取命令之后且在接收到序列的第三组存取命令之前,至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与第三组存取命令相关联的操作。
一种设备,其包括:存储器阵列,其包括多个存储器单元;以及控制器,其与存储器阵列耦合且配置成:接收指示用以存储在控制器处的存取命令序列的开始的第一命令,其中序列与一组数据相关联;在接收到第一命令之后接收多个存取命令,所述多个存取命令与序列相关联且多个存取命令包括与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令;在接收到多个存取命令之后接收指示序列的结束的第二命令;以及至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。
一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使电子装置:在控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令;在接收到第一命令之后接收第一组存取命令,所述第一组存取命令与存取命令序列相关联;在接收到第一组存取命令之后接收指示存取命令序列的结束的第二命令;在接收到第二命令之后接收第二组存取命令;以及在接收到第二组存取命令之后且在接收到序列的第三组存取命令之前,至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与第三组存取命令相关联的操作。
一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使电子装置:在控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令,其中序列与存储在包括多个存储器单元的存储器阵列处的一组数据相关联;在接收到第一命令之后接收多个存取命令,所述多个存取命令与序列相关联且多个存取命令包括与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令;在接收到多个存取命令之后接收指示序列的结束的第二命令;以及至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。
附图说明
图1示出根据如本文中所公开的实例的支持经优化命令序列的系统的实例。
图2示出根据如本文中所公开的实例的支持经优化命令序列的系统的实例。
图3示出根据如本文中所公开的实例的支持经优化命令序列的过程流程的实例。
图4示出根据如本文中所公开的实例的支持经优化命令序列的过程流程的实例。
图5展示根据如本文所公开的实例的支持经优化命令序列的受管理存储器系统控制器的框图。
图6展示根据如本文中所公开的实例的支持经优化命令序列的存储器系统控制器的框图。
图7和8展示根据如本文中所公开的实例的示出支持经优化命令序列的一或多种方法的流程图。
具体实施方式
系统可以包含主机系统和存储主机系统的数据的存储器系统。举例来说,存储器系统可包含存储与来自主机系统的数据相关联的逻辑状态的NAND存储器单元。存储器系统可基于来自主机系统的命令而执行操作。举例来说,存储器系统可执行存取操作(例如,读取、写入或刷新操作)。在一些情况下,由存储器系统执行的操作可能是费时的。举例来说,在NAND系统中,读取操作可以是费时的,尤其是在对非循序或随机地址执行操作时。在此类情况下,存储器系统可消耗额外电力和带宽以执行读取操作。主机系统还可将命令序列传输到存储器系统以反复地执行。举例来说,主机系统可发送启动序列。在一些情况下,存储器系统可能无法识别传入命令为序列(例如,启动序列)的一部分,且消耗增加的电力和带宽以执行读取操作。
本文中针对用以指示命令序列可重复的主机系统和用以基于指示存储序列的存储器系统描述了系统、技术和装置。通过存储所指示的序列,存储器系统可将一或多个传入命令识别为所存储的序列的开始且基于识别执行一或多个操作以促进命令序列的执行。举例来说,存储器系统可预先读取某些存储器位置,针对为序列的部分的地址预先加载逻辑到物理(L2P)表的一部分,或基于识别序列且知晓与序列相关联的操作何时按所存储序列发生而执行与电力控制(例如,转换到休眠或待机电力状态)有关的操作。另外或替代地,存储器系统可重新布置数据(例如,将数据从一个位置传送到另一位置)以使得命令序列的性能更高效。举例来说,存储器系统可将与序列相关联的数据传送到NAND存储器裸片的不同平面,使得可使用多平面读取同时执行序列的多个命令。存储器系统还可将与序列相关联的数据传送到可在执行命令序列时依序存取的位置,例如存储器系统可将数据传送到物理上相连的存储器位置。通过优化命令序列(例如,命令序列),存储器系统可在较短持续时间内执行命令序列且减少电力消耗和带宽。
首先在如参考图1和2所描述的系统、装置和电路的上下文中描述本公开的特征。在如参考图3和4所描述的上下文过程流程中描述本公开的特征。参考涉及如参考图5到8所描述的经优化命令序列的设备图和流程图来进一步说明及描述本公开的这些和其它特征。
图1示出根据如本文中所公开的实例的支持经优化命令序列的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可以是或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
计算系统100可以包含在例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机)的计算装置,或包含存储器和处理装置的任何其它计算装置中。
系统100可以包含可以与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106接合,所述主机系统控制器可以是配置成使主机系统105根据如本文中所描述的实例执行各种操作的控制组件的实例。主机系统105可包含一或多个装置,并且在一些情况下可包含处理器芯片组和由处理器芯片组执行的软件堆叠。例如,主机系统105可包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存器(例如,主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110例如以将数据写入到存储器系统110和从存储器系统110读取数据。尽管在图1中展示一个存储器系统110,但主机系统105可以与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据和其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双倍数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),以及低功率双倍数据速率(LPDDR)接口。在一些实例中,一或多个这类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每个存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。尽管在图1的实例中展示两个存储器装置130-a及130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含一个以上存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合和通信(例如,经由物理主机接口),且可为配置成使得存储器系统110根据如本文中所描述的实例进行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合且与其通信以在存储器装置130处进行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据以及其它此类操作。在一些情况下,存储器系统控制器115可以从主机系统105接收命令且与一或多个存储器装置130通信以(例如,在一或多个存储器装置130内的存储器阵列处)执行此类命令。例如,存储器系统控制器115可以从主机系统105接收命令或操作,并且可以将命令或操作转换成指令或适当的命令,以实现对存储器装置130的所要存取。在一些情况下,存储器系统控制器115可与主机系统105且与一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。举例来说,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器,或其组合。硬件可包含具有专用(例如,硬译码)逻辑以执行本文中归于存储器系统控制器115的操作的电路系统。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或运算。另外或替代地,本地存储器120可以充当用于存储器系统控制器115的高速缓存器或缓冲器。举例来说,数据可在从存储器装置130读取或写入到所述存储器装置的情况下存储在本地存储器120中,且数据可在本地存储器120内可用以由主机系统105根据高速缓存策略(例如,以相对于存储器装置130的减少的时延)进行后续检索或操控(例如,更新)。
存储器装置130可以包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可以包含易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元及同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可(例如,在同一裸片上或在同一封装内)包含本地控制器135,其可对相应存储器装置130的一或多个存储器单元执行操作。本地控制器135可结合存储器系统控制器115操作,或可进行本文中归于存储器系统控制器115的一或多个功能。例如,如图1所示,存储器装置130-a可以包含本地控制器135-a,且存储器装置130-b可以包含本地控制器135-b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应的一组块170,其中每一块170可包含相应的一组页175,并且每一页175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含配置成各自存储一位信息的存储器单元,所述存储器单元可称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多位信息的存储器单元,如果配置成各自存储两位信息,则所述存储器单元可称为多层级单元(MLC),如果配置成各自存储三位信息,则所述存储器单元可称为三层级单元(TLC),如果配置成各自存储四位信息,则所述存储器单元可称为四层级单元(QLC),或更一般地称为多层级存储器单元。相对于SLC存储器单元,多层级存储器单元可提供更大的存储密度,但在一些情况下可涉及用于支持电路系统的更窄读取或写入容限或更大复杂性。
在一些情况下,平面165可指块170的群组,且在一些情况下,可在不同平面165内进行并行操作。例如,可对不同块170内的存储器单元进行并行操作,只要不同块170处于不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可受制于一或多个限制,例如对不同页175内的存储器单元执行相同操作,所述存储器单元在其相应平面165内具有相同页地址(例如,关于命令解码、页地址解码电路系统或跨越平面165共用的其它电路系统)。
在一些情况下,块170可包含组织成行(页175)和列(例如串,未展示)的存储器单元。举例来说,同一页175中的存储器单元可共用共同字线(例如,与其耦合),且同一串中的存储器单元可共用共同数字线(其可替代地称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可以第一粒度级别(例如,以页粒度级别)读取及编程(例如,写入),但可以第二粒度级别(例如,以块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的部分并行地编程或读取)的最小存储器单位(例如,一组存储器单元),且块170可以是可独立地擦除(例如,作为单个擦除操作的部分并行地擦除)的最小存储器单位(例如,一组存储器单元)。此外,在一些情况下,NAND存储器单元可在其可用新数据重新写入之前被擦除。因此,举例来说,在一些情况下,可直到包含页175的整个块170已被擦除才更新已使用的页175。
在一些情况下,为了更新块170内的一些数据同时保留块170内的其它数据,存储器装置130可将待保留的数据拷贝到新块170且将经更新数据写入到新块170的一或多个剩余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保持在旧块170中的数据标记或以其它方式表示为无效或过时,并且可更新逻辑到物理(L2P)映射表以使数据的逻辑地址(例如,LBA)与新的有效块170而不是旧的无效块170相关联。在一些情况下,例如由于时延或磨损考虑,可以进行此复制和重新映射,而不是擦除和重新写入整个旧块170。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考及更新)。
在一些情况下,可维护L2P映射表且可在页粒度级别上将数据标记为有效或无效,并且页175可包含有效数据、无效数据或不包含数据。无效数据可以是由于数据的最新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前可能已编程到无效页175,但可能不再与有效逻辑地址,例如由主机系统105参考的逻辑地址相关联。有效数据可以是存储在存储器装置130上的这类数据的最新版本。不包含数据的页175可为从未被写入或已被擦除的页175。
在一些情况下,存储器系统控制器115或本地控制器135可针对存储器装置130执行操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。举例来说,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用被称作“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指一组媒体管理操作,其包含例如选择包含有效和无效数据的块170、选择块中包含有效数据的页175、将来自所选页175的有效数据复制到新位置(例如,另一块170中的空闲页175)、将先前选择的页175中的数据标记为无效,以及擦除选定块170。因此,可增加已擦除的块170的数量,使得可使用更多的块170来存储后续数据(例如,随后从主机系统105接收到的数据)。
系统100可包含支持经优化命令序列的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则此类指令可以使得主机系统105、存储器系统控制器115或存储器装置130执行如本文所描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115来提供受管理存储器系统,所述受管理存储器系统可包含(例如)一或多个存储器阵列及与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例为受管理NAND(MNAND)系统。
在一些实例中,主机系统105可将特定命令序列(例如,命令序列、存取命令序列)反复地传输到存储器装置。如果命令序列包含随机或非循序地址,那么命令序列的执行可横跨由每一命令的独立执行给出的时间段。因此,相对于与可组合或优化的序列相关联的操作,由命令序列消耗的电力和带宽可较高。
如本文中所描述,主机系统105可将命令序列编程到存储器系统110。通过存储命令序列,存储器系统110可以经优化方式执行序列。举例来说,存储器系统可将一组传入存取命令确定为开始所存储序列。存储器系统110可预先读取某些存储器位置,提取L2P表的部分,且基于确定序列的开始而执行与电力控制相关的操作。另外或替代地,存储器系统110可重新布置数据以减少非循序或随机地址。因此,存储器系统可更快地执行与序列相关联的操作、减少电力消耗且减少时延。
图2示出根据如本文中所公开的实例的支持经优化命令序列的系统200的实例。系统200可以是如参考图1所描述的系统100或其方面的实例。系统200可包含存储器系统210,所述存储器系统配置成存储从主机系统205接收到的数据,且在由主机系统205使用存取命令(例如,读取命令或写入命令)进行请求的情况下将数据发送到主机系统205。系统200可实施如参考图1所描述的系统100的各方面。举例来说,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
存储器系统210可包含存储器装置240以例如响应于从主机系统205接收到存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中所描述。存储器装置240可包含如参考图1所描述的一或多个存储器装置。举例来说,存储器装置240可包含NAND存储器、PCM、自选存储器、3D交叉点、其它基于硫族化物的存储器、FERAM、MRAM、NOR(例如,NOR闪存)存储器、STT-MRAM、CBRAM、RRAM、OxRAM或例如动态RAM(DRAM)存储器或同步DRAM(SDRAM)存储器的随机存取存储器(RAM)存储器。在一些实例中,NAND存储器可配置成比其它类型的存储器装置更慢地执行非循序或随机(例如,分散)读取操作(例如,比RAM、FERAM、MRAM、DRAM或3D交叉点慢)。因此,存储器系统210可将与序列相关联的数据重新布置到RAM、FERAM、MRAM、DRAM或3D交叉点存储器中的一或多个。在此类实例中,存储器系统210可由于与随机或非循序读取相关联的数据处于比NAND存储器更快地执行操作的存储器中而较快地执行与序列相关联的存取操作。此处列出的存储器仅为实例且不对权利要求书进行限制。存储器系统210还可包含其它类型的存储器。
存储器系统210可包含存储控制器230以用于控制将数据直接传进和传出存储器装置240,例如用于存储数据、检索数据和确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用特定于每一类型的存储器装置240的协议直接或经由总线(未展示)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每一类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1所描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220,和用于临时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225和存储控制器230可用于在主机系统205与存储器装置240之间转译数据,例如由数据路径250所展示,且可统称为数据路径组件。
在传送期间使用缓冲器225暂时存储数据可允许在处理命令时缓冲数据,由此减少命令之间的时延并且允许与命令相关联的任意数据大小。这还可允许处理命令突发,且一旦突发停止,就可存储或传输(或这两者)缓冲数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM),或硬件加速器或这两者,以允许快速地将数据存储到缓冲器225和从所述缓冲器检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。
数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可针对额外存取命令用数据覆写)。另外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205不可直接从缓冲器225读取数据。举例来说,可将读取命令添加到队列中,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。在一些实例中,缓冲器225可存储与在存储器系统210优化命令序列时执行的预读取操作相关联的数据。举例来说,存储器系统210可将一组传入存取命令确定为开始存储在存储器系统控制器215处的序列。存储器系统210随后可在接收到其余存取命令之前执行与序列中的其余存取命令相关联的预读取操作。举例来说,存储器系统210可接收与序列的开始相关联的第一组命令。存储器系统210可接着在存储器系统210接收到第二组命令之前对与序列中的第二组命令相关联的数据执行预读取操作。存储器系统210可随后利用缓冲器225来存储数据,直到存储器系统210从主机系统205接收到第二组命令为止。
存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。例如,如果存储器系统210并行处理来自主机系统205的超过一个存取命令,则这可能是有益的。作为可能实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲队列265和存储队列270。然而,队列(如果使用)可位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件而不是总线235使用数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定于存储器系统210的协议)而控制如何及是否在主机系统205与存储器装置240之间传送数据。
如果主机系统205将存取命令传输到存储器系统210,那么接口220可例如根据协议(例如,UFS协议或eMMC协议)接收命令。因此,接口220可被视为存储器系统210的前端。在接收到每一存取命令后,接口220可例如经由总线235将命令传送到存储器系统控制器215。在一些情况下,可通过接口220将每一命令添加到命令队列260,以将命令传送到存储器系统控制器215。
存储器系统控制器215可确定已基于来自接口220的通信接收到存取命令。在一些情况下,存储器系统控制器215可确定已通过从命令队列260检索命令而接收到存取命令。在例如已由存储器系统控制器215从命令队列260检索命令之后,可将所述命令从所述命令队列移除。在一些情况下,存储器系统控制器215可使接口220例如经由总线235从命令队列260移除命令。
在确定已接收到存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据以及将数据传输到主机系统205。对于写入命令,这可意味着从主机系统205接收数据以及将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可尤其将缓冲器225用于暂时存储从主机系统205接收到的或发送到所述主机系统的数据。缓冲器225可被视为存储器系统210的中端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)进行。
为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定缓冲器225内可用于存储与写入命令相关联的数据的空间量。
在一些情况下,缓冲队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,所述命令流包含写入命令。缓冲队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可通过存储器系统控制器215移动到缓冲队列265,且可在相关联数据存储在缓冲器225中的同时保留在缓冲队列265中。在一些情况下,缓冲队列265中的每一命令可与缓冲器225处的地址相关联。也就是说,可维持指示在缓冲器225中存储与每一命令相关联的数据的位置的指针。通过使用缓冲队列265,可从主机系统205依序接收多个存取命令且可并行处理存取命令的至少部分。
如果缓冲器225具有足够空间来存储写入数据,则存储器系统控制器215可致使接口220例如根据协议(例如,UFS协议或eMMC协议)将可用性的指示传输到主机系统205(例如,“准备好传送”指示)。当接口220随后从主机系统205接收到与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225以供暂时存储。在一些情况下,接口220可从缓冲器225或缓冲队列265获得缓冲器225内待存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成将数据传送到缓冲器225。
一旦写入数据已通过接口220存储在缓冲器225中,就可将数据从缓冲器225传送出来并存储在存储器装置240中。这可使用存储控制器230完成。例如,存储器系统控制器215可使存储控制器230使用数据路径250从缓冲器225中检索出数据且将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示已完成将数据传送到存储器装置240中的存储器装置。
在一些情况下,存储队列270可用于辅助写入数据的传送。举例来说,存储器系统控制器215可(例如,经由总线235)将写入命令从缓冲队列265推送到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示缓冲器225中存储与命令相关联的数据的位置;及存储指针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲队列265或存储队列270获得缓冲器225内将从其获得数据的位置。存储控制器230可管理存储器装置240内用于存储数据(例如,执行耗损均衡、垃圾收集等)的位置。可例如通过存储器系统控制器215将条目添加到存储队列270。在完成数据的传送后,可例如通过存储控制器230或存储器系统控制器215从存储队列270移除条目。
为了处理从主机系统205接收的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
在一些情况下,缓冲队列265可用于以与上文关于写入命令所讨论的类似方式来辅助与读取命令相关联的数据的缓冲存储。举例来说,如果缓冲器225具有足够空间来存储读取数据,则存储器系统控制器215可致使存储控制器230从存储器装置240检索与读取命令相关联的数据并且使用数据路径250将数据存储在缓冲器225中以供临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成将数据传送到缓冲器225。
在一些情况下,存储队列270可用于辅助读取数据的传送。举例来说,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内从其检索数据的位置。在一些情况下,存储控制器230可从缓冲队列265获得缓冲器225内用以存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内用以存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
一旦数据已通过存储控制器230存储在缓冲器225中,就可将数据从缓冲器225传送出来并发送到主机系统205。举例来说,存储器系统控制器215可使接口220使用数据路径250从缓冲器225检索出数据,并且例如根据协议(例如,UFS协议或eMMC协议)将数据传输到主机系统205。举例来说,接口220可处理来自命令队列260的命令,并且可例如经由总线235向存储器系统控制器215指示已完成将数据传输到主机系统205。
存储器系统控制器215可根据次序(例如,根据命令队列260的次序,以先进先出次序)执行所接收命令。对于每一命令,存储器系统控制器215可使对应于命令的数据移进和移出缓冲器225,如上文所论述。当数据移动到缓冲器225中且存储在其内时,命令可保持在缓冲队列265中。如果已完成对命令的处理(例如,如果已从缓冲器225传送出对应于存取命令的数据),则可例如通过存储器系统控制器215从缓冲队列265移除命令。如果从缓冲队列265移除命令,则先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外配置成用于与存储器装置240相关联的操作。举例来说,存储器系统控制器215可执行或管理操作,例如耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,以及与来自主机系统205的命令相关联的逻辑地址(例如,LBA)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。也就是说,主机系统205可发出指示一或多个LBA的命令,并且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个连续LBA可对应于非连续的物理块地址。在一些情况下,存储控制器230可配置成结合或代替存储器系统控制器215执行以上操作中的一或多个。在一些情况下,存储器系统控制器215可执行存储控制器230的功能且可省略存储控制器230。
在一些实例中,主机系统205可将指示存储器系统210将存储的序列的开始的命令传输到存储器系统控制器215。主机系统205可基于将序列反复地发送到存储器系统210而确定将序列编程到存储器系统210。举例来说,每当启动主机系统205时,其可频繁启动具有相同命令序列的应用程序。主机系统205可对序列进行编程,以使得存储器系统210可更快或更高效地执行序列(例如,启动应用程序)。存储器系统控制器215可存储在第一命令之后所接收到的每一存取命令。主机系统205可随后传输用以指示序列的结束的第二命令。在一些实例中,存储器系统控制器215可重新布置与序列相关联的数据,以使得存储器系统210能够较快地执行序列。举例来说,存储器系统控制器215可传送数据,使得可同时或依序读取所述数据。存储器系统控制器215还可将数据从第一存储器类型移动到第二存储器类型,所述第二存储器类型比第一存储器类型更快地执行与序列相关联的操作。
存储器系统控制器215可在存储序列之后从主机系统205接收额外存取命令。当存储器系统控制器215将传入存取命令识别为开始存储在存储器系统210中的序列时,存储器系统控制器215可提取与序列相关联的L2P表的部分。存储器系统控制器215还可执行预读取操作(例如,在接收到序列中的对应存取命令之前执行操作)且将数据存储在缓冲器中。存储器系统控制器215还可基于存储序列而控制存储器系统210的电力状态。通过优化序列(例如,通过重新布置数据、执行预读取、提取L2P表部分和控制电力状态),存储器系统210可减少系统中的电力消耗、带宽和时延。
图3示出根据如本文中所公开的实例的支持经优化命令序列的过程流程300的实例。过程流程300可包含主机装置305和存储器装置310,其可为如参考图1所描述的主机装置105和存储器装置110的相应实例。尽管以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明的实例用作实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实例中省略一或多个过程。因此,并非每一实例中都需要所有过程。其它过程流程是可能的。过程流程300说明用于优化在存储器系统处接收到的主机系统命令序列以减少与序列相关联的操作的带宽、电力消耗和时延的实例。
在315处,读取第一寄存器。举例来说,主机系统305(例如,如参考图1所描述的主机系统105)可在存储器系统310(例如,如参考图1所描述的存储器系统110)处读取第一寄存器。在一些实例中,存储器系统310可响应于由主机系统305发布的命令而存储序列(例如,命令序列、多个命令序列、存取命令序列)。也就是说,主机系统305可反复地传输特定命令序列(例如,启动序列)。在此类实例中,主机系统305可向存储器系统310指示记录和跟踪序列中发布的命令,使得存储器系统310可在随后命令由主机系统305发布时优化序列。在一些情况下,存储器系统310可包含存储指示存储在存储器系统310处的序列的量的第一值的第一寄存器。在一些情况下,第一寄存器可在存储器系统控制器(例如,如参考图1所描述的存储器系统控制器115)中。第一寄存器还可配置成存储指示存储器系统310配置成存储的序列的最大量的第二值,例如第一寄存器可指示存储器系统310可存储64个序列。可在制造过程期间针对存储器系统310设置第二值。在一些实例中,主机系统305可读取第一值以确定存储在存储器系统310处的序列的量。主机系统305还可将指示存储于存储器系统310处的序列的量的第一值与指示可存储的序列的最大量的第二值进行比较。如果主机系统305确定第一值小于第二值,那么主机系统305可继续进行到320。如果主机系统305确定第一值等于第二值,那么主机系统305可继续进行到375。
主机系统305可通过将第一命令320发送到存储器系统而发起命令序列的存储。举例来说,存储器系统310可从主机系统305接收指示命令序列的开始的第一命令320。可在存储器系统控制器处接收到第一命令320。在一些实例中,主机系统305可确定频繁传输到存储器系统310的序列应存储在存储器系统310处。在此类实例中,主机系统305可传输指示存储器系统310将存储的命令序列的开始的第一命令320。主机系统305可包含第一命令320中的序列索引,例如存储器系统310处的待编程(存储)的序列的索引。
随后,可由存储器系统310接收第一组存取命令325。举例来说,存储器系统310可从主机系统305接收第一组存取命令325。可在存储器系统控制器处接收到第一组存取命令325。在一些实例中,第一组存取命令325可包含与将在存储器系统310处执行的读取操作相关联的读取命令。在一些情况下,存储器系统310可将从主机系统305接收到的每一命令(例如,与命令相关联的命令和逻辑地址)记录或存储在第一组命令中。在一些情况下,存储器系统310可记录或存储第一组存取命令325的子组(例如,可不存储例如写入命令等特定命令)。另外,存储器系统310可执行从主机系统305接收到的每一命令,同时还存储所述命令。
主机系统305可将第二命令330发送到存储器系统310。举例来说,存储器系统310可从主机系统305接收指示序列的结束的第二命令330。可在存储器系统控制器处接收到第二命令330。在一些实例中,在主机系统305已传输与序列相关联的所有存取命令之后,主机系统305可将第二命令330传输到存储器系统310。存储器系统310可基于接收到第二命令330而停止记录或存储来自主机系统305的存取命令。
在335处,可存储序列。举例来说,存储器系统310可存储从主机系统305接收到的序列。序列可存储在存储器系统控制器处。在一些实例中,可基于接收到第一组存取命令325而将序列存储在第二寄存器处,例如第一组存取命令325可与序列相关联。在一些实例中,存储器系统310还可存储指示序列中的操作量的第三值(例如,第一组存取命令325中所接收的命令的量)。在一些实例中,存储器系统310可在接收第一组存取命令325的同时执行步骤335。也就是说,当存储器系统310接收到那些存取命令时,存储器系统310可存储与序列相关联的存取命令(例如,命令类型和逻辑地址)。在一些实例中,存储器系统控制器还可更新第一寄存器中指示所存储的序列的量的第一值。举例来说,如果在从主机系统305接收到第一命令320之前存储了24个序列,那么存储器系统控制器可将第一值从24更新到25。
在340处,可识别电力状态。举例来说,存储器系统310可识别存储器系统控制器处的电力状态。在一些实例中,存储器系统310还可基于接收到的第一组存取命令325而识别与序列相关联的电力状态。举例来说,存储器系统控制器可在接收到第一组存取命令325的第一存取命令与第一组存取命令325的第二存取命令之间识别存储器系统310的第一电力状态。在一些情况下,存储器系统控制器可基于第一存取命令与第二存取命令之间的持续时间而识别电力状态。举例来说,存储器系统控制器可确定在相对较长持续时间之后从主机系统305接收到第二存取命令。因此,存储器系统控制器可识别在所述持续时间内存储器系统310可进入待机或休眠模式以节省电力消耗。在其它实例中,存储器系统控制器可基于不同因素,例如消耗的资源量或时钟周期识别第一电力状态。存储器系统310可存储电力状态信息连同序列,例如将电力状态存储在第二寄存器中。
随后,可接收第二组存取命令345。举例来说,存储器系统310可从主机系统305接收第二组存取命令345。可在存储器系统控制器处接收到第二组存取命令345。在一些实例中,第二组存取命令345中所包含的存取命令的量可小于第一组存取命令中所包含的存取命令的量。
在350处,可确定序列的开始。举例来说,存储器系统305可确定序列的开始。可在存储器系统控制器处作出确定。在一些实例中,存储器系统控制器可通过比较第二组存取命令与所有存储的序列,例如通过比较每一命令与每一所存储序列的开始命令来确定序列的开始。在一些实例中,存储器系统控制器还可将每一命令中接收到的地址(例如,逻辑地址)与存储在所存储序列中的每一个的第一命令中的地址进行比较以识别与所存储序列中的一个匹配的序列的开始。在其它实例中,存储器系统控制器可通过开始操作(例如,启动操作)且确定操作与所存储序列相关联来确定序列的开始。举例来说,存储器系统控制器可确定第二组存取命令与第一组存取命令的开始命令匹配。在此类实例中,存储器系统控制器可确定主机系统305开始与第一组存取命令相关联的序列且开始执行如355、365和375处所描述的优化技术。应注意,存储器系统310可按任何给定次序或同时执行优化技术(包含所有三种技术)的任何组合。
在355处,可执行预读取。举例来说,存储器系统310可执行预读取操作。可由存储器系统控制器执行预读取操作。在一些实例中,存储器系统控制器可基于确定第二组存取命令为存储于存储器系统处的序列的开始而开始预读取操作。在此类实例中,存储器系统控制器可执行与第一组命令中尚未在第二组存取命令中接收到的命令相关联的操作(例如,读取操作)。也就是说,在从主机系统305接收到对应存取命令之前,存储器系统可基于确定第二组存取命令开始序列而执行序列的操作。在一些实例中,存储器系统控制器可将与预读取操作相关联的数据读取到缓冲器或高速缓存器中,直到从主机系统305接收到对应存取命令为止。
在360处,可接收到其它存取命令。举例来说,存储器系统310可从主机系统305接收与序列无关的其它存取命令。可在存储器系统控制器处接收到其它存取命令。在一些实例中,存储器系统控制器可在365或370处执行预读取操作或其它优化技术中的一个的同时接收与任何序列无关的存取命令。在此类实例中,存储器系统310可继续执行优化技术同时执行接收到的其它存取命令。在一些情况下,存储器系统310可将与预读取操作相关联的数据存储在缓冲器中,同时还执行与接收到的其它存取命令相关联的操作。举例来说,存储器系统可执行预读取操作且将数据读取到缓冲器,同时还执行与其它存取命令相关联的读取操作且将与其它存取命令相关联的数据传输回主机系统305。存储器系统310还可识别传入命令何时为序列的部分且其何时为其它存取命令(例如,杂项命令)。也就是说,接收其它存取命令并不会中断序列的执行。
在365处,可提取逻辑到物理(L2P)表的一部分。举例来说,存储器系统310可提取L2P表的部分。可在存储器系统控制器处提取所述部分。在一些实例中,为了优化序列的执行,存储器系统310可在从主机系统305接收到对应存取命令之前提取与序列的存取命令相关联的L2P表的部分。举例来说,存储器系统310可提取来自第一组存取命令的与操作和存取命令相关联的L2P表的部分,以及第二组存取命令中尚未由主机系统305传输的所存储序列,例如在375处可接收与L2P表的部分相关联的存取命令以及第三组存取命令。在一些实例中,提取L2P表的部分可使得存储器系统310能够在与在375处从主机系统305接收到的后续逻辑地址相关联的物理位置处更快速地存取数据。
在370处,可发生电力状态的转换。举例来说,存储器系统310可从第二电力状态转换到第一电力状态。转换可由存储器系统控制器发起。在一些实例中,存储器系统控制器可基于确定第二组存取命令开始序列而从第二电力状态(例如,操作期间的作用中或正常电力)转换到第一电力状态(例如,待机或休眠)。举例来说,存储器系统控制器可接收与第一组存取命令中的第一存取命令对应(例如,相同)的第三存取命令。在接收到第三存取命令之后,存储器系统控制器可使存储器系统310转换到在340处识别的第一电力状态。随后,存储器系统控制器可接收与第一组存取命令中的第二存取命令对应的第四存取命令,且使存储器系统310转换回第二电力状态。通过基于序列的周期而将电力状态转换到第一电力状态,存储器系统310可减少电力消耗。
在375,可接收第三组存取命令。举例来说,存储器系统310可从主机系统305接收第三组存取命令。可在存储器系统控制器处接收到第三组存取命令。在一些实例中,主机系统305可传输与序列的其余部分相关联的第三组存取命令。
在380处,可传输与第三组存取命令相关联的数据。举例来说,存储器系统310可将数据传输到主机系统305。数据可由存储器系统控制器传输。在一些实例中,存储器系统310可基于从主机系统305接收到第三组存取命令而传输与第三组存取相关联的数据。在一些情况下,存储器系统310可基于预读取操作而将一些数据从缓冲器传输到主机系统305。在其它情况下,在接收到第三组存取命令之前,存储器系统310可基于提取L2P的部分而在相对较短的持续时间内执行读取操作。通过实施这些优化技术,存储器系统310可比与第一组存取命令相关联的操作更快地执行所存储序列的操作。也就是说,存储器系统310可在第一持续时间中执行第一组存取命令,且基于序列的优化(例如,预读取和L2P提取)在小于第一持续时间的第二持续时间中执行第二组和第三组存取命令。这可使得存储器系统310能够减小带宽且提高系统(例如,如参考图1所描述的系统100)的总体性能。
在385处,可接收到第三命令。举例来说,存储器系统310可从主机系统305接收指示序列的擦除的第三命令。可在存储器系统控制器处接收到第三组存取命令。在一些实例中,主机系统305可擦除存储在存储器系统310处的序列。举例来说,当存储器系统350已将由第二值指示的序列的最大量存储在第一寄存器中时,主机系统305可传输第三命令。在其它实例中,主机系统305可确定不再重复地使用序列且将第三命令传输到存储器系统310中的额外的可用空间。
在390处,可以擦除序列。举例来说,存储器系统310可从主机系统305擦除第三命令中所指示的序列。擦除操作可由存储器系统控制器发起。在一些实例中,存储器系统310还可更新第一寄存器中指示存储在存储器系统控制器中的序列的量的第一值。举例来说,存储器系统310可基于接收到第三命令且在接收到第三命令之前具有存储在存储器系统控制器中的24个序列而将值从24更新到23。
图4示出根据如本文中所公开的实例支持经优化命令序列的过程流程400的实例。过程流程400可包含主机装置405和存储器系统410,其可为如参考图1所描述的主机装置105和存储器装置110的相应实例。尽管以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明的实例用作实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实例中省略一或多个过程。因此,并非每一实例中都需要所有过程。其它过程流程是可能的。过程流程400说明用于优化在存储器系统处接收到的主机系统命令序列以减少与序列相关联的操作的带宽、电力消耗和持续时间的实例。
在415处,可读取第一寄存器。举例来说,主机系统405可读取存储在存储器系统410处的第一寄存器。如参考图3所描述,主机系统405可将命令序列编程到存储器系统410。存储器系统410可将序列存储在第一寄存器中以向主机系统405指示所存储的序列的量。主机系统405可确定存储器系统410是否可用于在传输第一命令之前存储另一序列。如果主机系统405确定所存储的序列的量与可存储的序列的最大量相同,那么主机系统405可传输擦除命令且使存储器系统410擦除如参考图3所描述的序列。
可将第一命令420从主机系统405发送到存储器系统410。举例来说,存储器系统410可从主机系统305接收指示命令序列的开始的第一命令420。可在存储器系统控制器处接收到第一命令420。在一些实例中,主机系统405可确定频繁传输到存储器系统310的序列应存储在存储器系统310处。在此类实例中,主机系统405可传输第一命令420以指示序列的开始。
随后,可由存储器系统410接收多个存取命令425。举例来说,存储器系统410可从主机系统405接收多个存取命令425。可在存储器系统控制器处接收到多个存取命令425。在一些实例中,存储器系统410可执行且存储从主机系统405接收到的多个存取命令425中的每一命令,如参考图3所描述。
主机系统405可将第二命令430发送到存储器系统410。举例来说,存储器系统410可从主机系统405接收指示序列的结束的第二命令430。可在存储器系统控制器处接收到第二命令430。在一些实例中,在主机系统405已传输与序列相关联的多个存取命令425之后,主机系统405可将第二命令430传输到存储器系统410。存储器系统410可基于接收到第二命令430而停止记录或存储来自主机系统405的存取命令。
在435处,可存储序列。举例来说,存储器系统410可存储从主机系统405接收到的序列。序列可存储在存储器系统控制器处。如参考图3所描述,存储器系统410可存储序列且更新指示存储在存储器系统410处的序列的量的寄存器值。
在440处,可将数据(例如,在多个存取命令425中存取的数据)传送到一或多个存储器装置(例如,存储器裸片)内的不同平面。举例来说,存储器系统410可将数据从相同或不同存储器裸片中的第一平面(例如,第一位置)传送到第二平面(例如,第二位置)。传送可由存储器系统控制器发起。在一些实例中,存储器系统410可配置成同时执行多平面读取。也就是说,可同时读取第一平面中的页和第二平面中的页。在一些实例中,存储器系统410可包含六(6)个平面且因此在每一平面的页处执行并发操作,例如存储器系统410可执行六(6)个并发读取操作。在一些情况下,多平面读取操作可以是存储器系统410可执行的最快读取操作。因此,存储器系统410可将与序列相关联的数据(例如,与多个存取命令中的第一命令和第二命令相关联的数据)传送到不同平面的不同页,使得可同时执行序列的一些命令。举例来说,存储器系统410可横跨六(6)个平面将与序列的第一到第六存取命令相关联的数据重新布置到不同页,使得可同时执行第一到第六存取命令。通过传送数据,存储器系统410可能够同时执行序列的一些存取命令,从而使得存储器系统410能够更快地执行序列。存储器系统410可在垃圾收集操作或其它空闲周期期间执行数据传送。
在445处,可将数据(例如,在多个存取命令425中存取的数据)传送到不同位置。举例来说,存储器系统410可将第一位置的数据传送到第二位置。数据传送可由存储器系统控制器发起。在一些实例中,存储器系统410可包含NAND存储器单元。在此些实例中,存储器系统410可配置成与随机读取操作(例如,分散的读取操作、跨越平面的随机页的读取操作)相比更快地执行循序读取操作(例如,在物理上相连的位置处的读取操作)。因此,存储器系统410可将与序列相关联的一些数据(例如,与多个存取命令中的第二命令相关联的数据)从第一位置传送到物理上与存储与多个存取命令中的第一存取命令相关联的数据的位置相连的第二位置。在其它实例中,存储器系统410可包含多个类型的存储器单元。例如,存储器系统410可包含3维Xpoint(3DXP)存储器、铁电RAM(FeRAM)、相变存储器(PCM)、磁阻性RAM(MRAM)、自选存储器、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)或随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元或同步DRAM(SDRAM)存储器单元。在一些实例中,这些存储器单元可配置成相对于NAND存储器单元以减少的时延执行随机读取(或分散)存取操作。因此,存储器系统410可以减少的随机读取时延将与随机读取操作相关联的数据从NAND存储器单元传送到存储器单元。在另外其它实例中,存储器系统410可包含多种类型的NAND存储器单元,例如配置成将一位信息存储在每一单元中的单层级单元(SLC),或配置成各自存储两位或更多位信息的多层级单元(MLC)。MLC可包含例如配置成各自存储三位信息的三层级单元(TLC)、配置成各自存储四位信息的四层级单元(QLC),或配置成存储超过四位信息的单元。在一些实例中,在执行存取操作时,多层级存储器单元可能比单层级单元更慢。因此,存储器系统410可将与序列相关联的数据从多层级存储器单元传送到单层级单元。通过将数据传送到第二位置,存储器系统410可加快与序列相关联的操作的执行。
可接收到第二多个存取命令450。举例来说,存储器系统410可从主机系统405接收第二多个存取命令450。可在存储器系统控制器处接收到第二多个存取命令450。在一些实例中,第二多个存取命令450可与序列相关联。在其它实例中,第二多个存取命令450可以是所存储的序列的一部分,例如第二多个存取命令450的量可小于第一多个存取命令的量。
在455处,可确定序列的开始。举例来说,存储器系统410可基于从主机系统405接收到的第二多个存取命令而确定序列的开始。可在存储器系统控制器处接收到第二命令。如参考图3所描述,存储器系统控制器可通过比较第二多个命令与所存储序列中的存取命令、比较第二多个命令的地址与所存储序列中的地址或通过确定与所存储序列相关联的操作的开始来确定序列的开始。
在460处,可执行序列。举例来说,存储器系统410可执行序列。序列的执行可由存储器系统控制器发起。在一些实例中,存储器系统410可使用参考图3所描述的技术(例如,在355、365、370处)来执行序列。另外或替代地,存储器系统410还可基于将数据传送到不同平面或位置(例如,如440或445处所描述)而同时或依序执行第二多个存取命令中的一些存取命令。举例来说,存储器系统410可基于传送数据而接收与存储在第一平面的第一页处和第二平面的第二页处的数据相关联的第二多个存取命令中的第一存取命令和第二存取命令。存储器系统410可同时执行第一存取命令和第二存取命令。存储器系统410还可基于传送数据而接收与物理上与第一页或第二页相连的第三位置相关联的第二多个存取命令中的第三存取命令。因此,存储器系统410可在执行第一和第二存取命令之后循序地执行第三命令。通过使用优化技术或通过传送数据,存储器系统410可更快地执行第二多个存取命令,从而减少电力消耗、带宽和时延。在一些情况下,存储器系统410可更快或更高效地执行第二多个存取命令而无需在445处确定序列的开始(例如,在平面或位置之间传送数据可在本质上为序列提供优势而无需识别序列或执行任何额外优化,例如,预读取或预加载L2P表)。
在465处,可传输数据。举例来说,存储器系统410可将与第二多个存取命令(例如,序列)相关联的数据传输到主机系统405。数据传输可由存储器系统控制器发起。在一些实例中,主机系统405可基于序列的执行的优化而较快地接收数据。
图5展示根据如本文所公开的实例的支持经优化命令序列的受管理存储器系统控制器520的框图500。受管理存储器系统控制器520可以是如参考图1到4所描述的受管理存储器系统控制器的方面的实例。受管理存储器系统控制器520或其各种组件可以是用于执行如本文中所描述的经优化命令序列的各种方面的构件的实例。举例来说,受管理存储器系统控制器520可包含序列组件530、命令组件535、执行组件540、传输组件545或其任何组合。这些组件中的每一个可直接或间接地(例如,经由一或多个总线)彼此通信。
序列组件530可配置为或以其它方式支持用于在控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令的构件。在一些实例中,序列组件530可配置为或以其它方式支持用于在接收到第一组存取命令之后在控制器处接收指示存取命令序列的结束的第二命令的构件。在一些情况下,序列组件530可配置为或以其它方式支持用于将序列的第二组存取命令与第一组存取命令进行比较的构件,其中将第二组存取命令识别为开始序列至少部分地基于所述比较。
在一些情况下,序列组件530可配置为或以其它方式支持用于接收与擦除存储在控制器处的序列相关联的第三命令的构件。在一些情况下,序列组件530可配置为或以其它方式支持用于至少部分地基于接收到第一组存取命令而在第一组存取命令中的第一存取命令与第一组存取命令中的第二存取命令之间识别与控制器耦合的存储器阵列的第一电力状态的构件。在一些实例中,序列组件530可配置为或以其它方式支持用于至少部分地基于存储序列且接收到第二组存取命令而识别与第一组存取命令中的第一存取命令对应的第二组存取命令中的第三存取命令的构件。
命令组件535可配置为或以其它方式支持用于在接收到第一命令之后在控制器处接收第一组存取命令的构件,所述第一组命令与存取命令序列相关联。在一些情况下,命令组件535可配置为或以其它方式支持用于在接收到第二命令之后在控制器处接收第二组存取命令的构件。在一些情况下,命令组件535可配置为或以其它方式支持用于在执行操作之后接收到第三组存取命令的构件。
执行组件540可配置为或以其它方式支持用于在接收到第二组存取命令之后且在接收到第三组存取命令之前至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与序列的第三组存取命令相关联的操作的构件。在一些实例中,执行组件540可配置为或以其它方式支持用于在接收到第三组存取命令之前至少部分地基于识别第二组存取命令而提取与由序列存取的逻辑地址相关联的逻辑到物理表的一部分的构件。
在一些情况下,执行组件540可配置为或以其它方式支持用于至少部分地基于接收到第三命令而擦除控制器处的序列的构件。在一些情况下,执行组件540可配置为或以其它方式支持用于至少部分地基于擦除序列而将寄存器中的值从第一值更新到第二值的构件,所述值指示存储在控制器处的序列的量。
在一些实例中,执行组件540可配置为或以其它方式支持用于确定第二操作的开始的构件,所述第二操作与序列相关联,其中将第二组存取命令识别为开始序列至少部分地基于所述确定。在一些实例中,执行组件540可配置为或以其它方式支持用于至少部分地基于存储序列而将寄存器中的值从第一值更新到第二值的构件,其中所述值指示存储在控制器处的序列的量。在一些情况下,执行组件540可配置为或以其它方式支持用于在接收到第一命令之前设置寄存器中的值的构件,所述值指示可存储在控制器处的序列的量。
在一些实例中,执行组件540可配置为或以其它方式支持用于至少部分地基于识别第一电力状态而存储第一电力状态和序列的构件。在一些实例中,执行组件540可配置为或以其它方式支持用于至少部分地基于识别对应于第一存取命令的第三存取命令而从第二电力状态转换到第一电力状态的构件。
在一些情况下,传输组件545可配置为或以其它方式支持用于传输与第三组存取命令中的一或多个相关联的数据的构件,其中操作包含在接收到第三组存取命令中的一或多个之前执行与第三组存取命令中的一或多个相关联的读取操作的一部分。
图6展示根据如本文中所公开的实例的支持经优化命令序列的受管理存储器系统控制器620的框图600。受管理存储器系统控制器620可以是如参考图1到4所描述的受管理存储器系统控制器的方面的实例。受管理存储器系统控制器620或其各种组件可以是用于执行如本文中所描述的经优化命令序列的各种方面的构件的实例。举例来说,受管理存储器系统控制器620可包含序列管理器625、命令管理器630、传送管理器635、执行管理器640或其任何组合。这些组件中的每一个可直接或间接地(例如,经由一或多个总线)彼此通信。
序列管理器625可配置为或以其它方式支持用于在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令的构件,其中所述序列与一组数据相关联。命令管理器630可配置为或以其它方式支持用于在接收到第一命令之后接收多个存取命令的构件,所述多个存取命令与序列相关联且多个存取命令包含与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令。在一些实例中,序列管理器625可配置为或以其它方式支持用于在接收到多个存取命令之后接收指示序列的结束的第二命令的构件。传送管理器635可配置为或以其它方式支持用于至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置的构件,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。
在一些实例中,命令管理器630可配置为或以其它方式支持用于在将一组数据的第一部分传送到第二位置之后接收第二多个存取命令的构件,所述第二多个存取命令包含与一组数据的第一部分相关联的第一存取命令和与一组数据的第二部分相关联的第二存取命令。
在一些实例中,执行管理器640可配置为或以其它方式支持用于至少部分地基于接收到第二多个存取命令而在第一位置和第二位置处执行第二多个存取命令的构件,其中第二多个存取命令与序列相关联,且其中针对第一存取命令的操作和针对第二存取命令的操作同时执行。
在一些实例中,执行管理器640可配置成基于接收到针对第一存取命令的操作和针对第二存取命令的操作而执行为读取操作。在一些实例中,执行管理器640可配置成同时从存储器阵列对一组数据的第一部分和一组数据的第二部分执行读取操作。
在一些实例中,第二多个存取命令进一步包含与第三位置上的操作相关联的第三存取命令,且执行管理器640可配置为或以其它方式支持用于在同时执行第一存取命令和第二存取命令之后至少部分地基于将一组数据的第一部分传送到第二位置而依序执行与第三位置相关联的操作的构件。
图7展示根据本文中所公开的实例的流程图,其示出支持经优化命令序列的方法700。方法700的操作可由如本文中所描述的受管理存储器系统控制器或其组件实施。举例来说,方法700的操作可由如参考图1到5所描述的受管理存储器系统控制器执行。在一些实例中,受管理存储器系统控制器可执行一组指令以控制装置的功能元件执行所描述的功能。另外或替代地,受管理存储器系统控制器可使用专用硬件来执行所描述的功能的各方面。
在705处,方法可包含在控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令。可根据如本文所公开的实例执行705的操作。在一些实例中,705的操作的各方面可由如参考图5所描述的序列组件530执行。
在710处,方法可包含在接收到第一命令之后在控制器处接收第一组存取命令,所述第一组命令与存取命令序列相关联。可根据如本文所公开的实例执行710的操作。在一些实例中,710的操作的各方面可由如参考图5所描述的命令组件535执行。
在715处,方法可包含在接收到第一组存取命令之后在控制器处接收指示存取命令序列的结束的第二命令。可根据如本文所公开的实例执行715的操作。在一些实例中,715的操作的各方面可由如参考图5所描述的序列组件530执行。
在720处,方法可包含在接收到第二命令之后在控制器处接收第二组存取命令。可根据如本文中所公开的实例执行720的操作。在一些实例中,720的操作的各方面可由如参考图5所描述的命令组件535执行。
在725处,方法可包含在接收到第二组存取命令之后且在接收到第三组存取命令之前,至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与序列的第三组存取命令相关联的操作。可根据如本文中所公开的实例执行725的操作。在一些实例中,725的操作的各方面可由如参考图5所描述的执行组件540执行。
在一些实例中,如本文所描述的设备可执行一或多个方法,例如方法700。设备可包含特征、电路系统、逻辑、构件或指令(存储可由处理器执行的指令的非暂时性计算机可读媒体)以用于:在控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令;在接收到第一命令之后在控制器处接收第一组存取命令,所述第一组命令与存取命令序列相关联;在接收到第一组存取命令之后在控制器处接收指示存取命令序列的结束的第二命令;在接收到第二命令之后在控制器处接收第二组存取命令;以及在接收到第二组存取命令之后且在接收到第三组存取命令之前,至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与序列的第三组存取命令相关联的操作。
本文中所描述的方法700和设备的一些实例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:在执行操作之后接收第三组存取命令且传输与第三组存取命令中的一或多个相关联的数据,其中操作包含在接收到第三组存取命令中的一或多个之前执行与第三组存取命令中的一或多个相关联的读取操作的一部分。
本文中所描述的方法700和设备的一些个例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:在接收到第三组存取命令之前,至少部分地基于识别第二组存取命令而提取与由序列存取的逻辑地址相关联的逻辑到物理表的一部分。
本文中所描述的方法700和设备的一些情况可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:将序列的第二组存取命令与第一组存取命令进行比较,其中将第二组存取命令识别为开始序列可至少部分地基于所述比较。
本文中所描述的方法700和设备的一些个例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:确定第二操作的开始,所述第二操作与序列相关联,其中将第二组存取命令识别为开始序列可至少部分地基于所述确定。
本文中所描述的方法700和设备的一些情况可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:至少部分地基于存储序列而将寄存器中的值从第一值更新到第二值,其中所述值指示存储在控制器处的序列的量。
本文中所描述的方法700和设备的一些个例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:在接收到第一命令之前设置寄存器中的值,所述值指示可存储在控制器处的序列的量。
本文中所描述的方法700和设备的一些实例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:接收与擦除存储在控制器处的序列相关联的第三命令,至少部分地基于接收到第三命令而擦除控制器处的序列且至少部分地基于擦除序列而将寄存器中的值从第一值更新到第二值,所述值指示存储在控制器处的序列的量。
本文中所描述的方法700和设备的一些情况可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:至少部分地基于接收到第一组存取命令而在第一组存取命令中的第一存取命令与第一组存取命令中的第二存取命令之间识别与控制器耦合的存储器阵列的第一电力状态;以及至少部分地基于识别第一电力状态而存储第一电力状态和序列。
本文中所描述的方法700和设备的一些个例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:至少部分地基于存储序列且接收到第二组存取命令而识别与第一组存取命令中的第一存取命令对应的第二组存取命令中的第三存取命令;以及至少部分地基于识别与第一存取命令对应的第三存取命令而从第二电力状态转换到第一电力状态。
图8展示根据本文中所公开的实例的流程图,其示出支持经优化命令序列的方法800。方法800的操作可由如本文中所描述的受管理存储器系统控制器或其组件实施。举例来说,方法800的操作可由如参考图1到4和6所描述的受管理存储器系统控制器执行。在一些实例中,受管理存储器系统控制器可执行一组指令以控制装置的功能元件执行所描述的功能。另外或替代地,受管理存储器系统控制器可使用专用硬件来执行所描述的功能的各方面。
在805处,方法可包含在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令,其中所述序列与一组数据相关联。可根据如本文中所公开的实例执行805的操作。在一些实例中,805的操作的各方面可由如参考图6所描述的序列管理器625执行。
在810处,方法可包含在接收到第一命令之后接收多个存取命令,所述多个存取命令与序列相关联且多个存取命令包含与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令。可根据如本文中所公开的实例执行810的操作。在一些实例中,810的操作的各方面可由如参考图6所描述的命令管理器630执行。
在815处,方法可包含在接收到多个存取命令之后接收指示序列的结束的第二命令。可根据如本文所公开的实例执行815的操作。在一些实例中,815的操作的各方面可由如参考图6所描述的序列管理器625执行。
在820处,方法可包含至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。可根据如本文所公开的实例执行820的操作。在一些实例中,820的操作的各方面可由如参考图6所描述的传送管理器635执行。
在一些实例中,如本文所描述的设备可执行一或多个方法,例如方法800。设备可包含特征、电路系统、逻辑、构件或指令(存储可由处理器执行的指令的非暂时性计算机可读媒体)以用于:在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示用以存储在控制器处的存取命令序列的开始的第一命令,其中所述序列与一组数据相关联;在接收到第一命令之后接收多个存取命令,所述多个存取命令与序列相关联且多个存取命令包含与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令;在接收到多个存取命令之后接收指示序列的结束的第二命令;以及至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。
本文中所描述的方法800和设备的一些个例可进一步包含操作、特征、电路系统、逻辑、构件或指令以用于:在将一组数据的第一部分传送到第二位置之后接收第二多个存取命令,所述第二多个存取命令包含与一组数据的第一部分相关联的第一存取命令和与一组数据的第二部分相关联的第二存取命令;以及至少部分地基于接收到第二多个存取命令而在第一位置和第二位置处执行第二多个存取命令,其中第二多个存取命令可与序列相关联,且其中针对第一存取命令的操作和针对第二存取命令的操作可同时执行。
在本文中所描述的方法800和设备的一些情况中,针对第一存取命令的操作和针对第二存取命令的操作包含读取操作,且可同时从存储器阵列读取一组数据的第一部分和一组数据的第二部分。
在本文中所描述的方法800和设备的一些情况中,第二多个存取命令进一步包含与第三位置上的操作相关联的第三存取命令,且方法、设备和非暂时性计算机可读媒体可包含其它操作、特征、电路系统、逻辑、构件或指令以用于在同时执行第一存取命令和第二存取命令之后至少部分地基于将一组数据的第一部分传送到第二位置而依序执行与第三位置相关联的操作。
在本文中所描述的方法800和设备的一些情况中,存储器阵列的第一平面包含第一多个页,所述第一平面与存储一组数据的第二部分的第一位置和第三位置相关联;且存储器阵列的第二平面包含第二多个页,所述第二平面与第二位置相关联,其中第一多个页中的第一页和第二多个页中的第二页可配置成同时执行与第一位置相关联的操作和与第二位置相关联的操作。
在本文中所描述的方法800和设备的一些实例中,第一位置可与第一类型的存储器单元相关联,且第二位置可与第二类型的存储器单元相关联。
应注意,上述方法描述可能的实施方案,且操作和步骤可重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自方法中的两个或更多个部分。
描述一种设备。设备可包含:存储器阵列,其包含多个存储器单元;以及控制器,其与存储器阵列耦合且配置成:接收指示用以存储在控制器处的存取命令序列的开始的第一命令;在接收到第一命令之后接收第一组存取命令,所述第一组存取命令与存取命令序列相关联;在接收到第一组存取命令之后接收指示存取命令序列的结束的第二命令;在接收到第二命令之后接收第二组存取命令;以及在接收到第二组存取命令之后且在接收到第三组存取命令之前,至少部分地基于将第二组存取命令识别为开始存取命令序列而执行与序列的第三组存取命令相关联的操作。
在一些实例中,控制器还可配置成在执行操作之后接收第三组存取命令且传输与第三组存取命令中的一或多个相关联的数据,其中操作包含在接收到第三组存取命令中的一或多个之前执行与第三组存取命令中的一或多个相关联的读取操作的一部分。
在一些情况下,控制器还可配置成在接收到第三组存取命令之前,至少部分地基于识别第二组存取命令而提取与由序列存取的逻辑地址相关联的逻辑到物理表的一部分。
在一些情况下,控制器还可配置成将序列的第二组存取命令与第一组存取命令进行比较,其中控制器可配置成至少部分地基于所述比较而将第二组存取命令识别为开始序列。
在一些实例中,控制器还可配置成确定第二操作的开始,所述第二操作与序列相关联,其中控制器可配置成至少部分地基于所述确定而将第二组存取命令识别为开始序列。
在一些情况下,控制器还可配置成至少部分地基于存储序列而将寄存器中的值从第一值更新到第二值,其中所述值指示存储在控制器处的序列的量。
在一些情况下,控制器还可配置成在接收到第一命令之前设置寄存器中的值,所述值指示可存储在控制器处的序列的量。
在一些实例中,控制器还可配置成接收与擦除存储在控制器处的序列相关联的第三命令,至少部分地基于接收到第三命令而擦除控制器处的序列,且至少部分地基于擦除序列而将寄存器中的值从第一值更新到第二值,所述值指示存储在控制器处的序列的量。
在一些情况下,控制器还可配置成至少部分地基于接收到第一组存取命令而在第一组存取命令中的第一存取命令与第一组存取命令中的第二存取命令之间识别设备的第一电力状态,以及至少部分地基于识别第一电力状态而存储第一电力状态和序列。
在一些情况下,控制器还可配置成至少部分地基于存储序列且接收到第二组存取命令而识别与第一组存取命令中的第一存取命令对应的第二组存取命令中的第三存取命令;以及至少部分地基于识别与第一存取命令对应的第三存取命令而从第二电力状态转换到第一电力状态。
描述了另一种设备。设备可包含:存储器阵列,其包含多个存储器单元;以及控制器,其与存储器阵列耦合且配置成:接收指示用以存储在控制器处的存取命令序列的开始的第一命令,其中序列与一组数据相关联;在接收到第一命令之后接收多个存取命令,所述多个存取命令与序列相关联且多个存取命令包含与一组数据的第一部分相关联的存取命令和与一组数据的第二部分相关联的存取命令;在接收到多个存取命令之后接收指示序列的结束的第二命令;以及至少部分地基于接收到第二命令而将一组数据的第一部分从第一位置传送到第二位置,其中在第二位置处,与同一组数据的第一部分相关联的存取命令相关联的操作和与同一组数据的第二部分相关联的存取命令相关联的操作同时执行。
在一些实例中,控制器还可配置成在将一组数据的第一部分传送到第二位置之后接收第二多个存取命令,所述第二多个存取命令包含与一组数据的第一部分相关联的第一存取命令和与一组数据的第二部分相关联的第二存取命令;以及至少部分地基于接收到第二多个存取命令而在第一位置和第二位置处执行第二多个存取命令,其中第二多个存取命令可与序列相关联,且其中针对第一存取命令的操作和针对第二存取命令的操作可同时执行。
在设备的一些实例中,针对第一存取命令的操作和针对第二存取命令的操作包含读取操作,且可从存储器阵列同时读取一组数据的第一部分和一组数据的第二部分。
在一些实例中,控制器还可配置成在同时执行第一存取命令和第二存取命令之后至少部分地基于将一组数据的第一部分传送到第二位置而依序执行与第三位置相关联的操作。
在设备的一些实例中,存储器阵列进一步包含:第一平面,其包含第一多个页,第一平面与存储一组数据的第二部分的第一位置和第三位置相关联;以及第二平面,其包含第二多个页,第二平面与第二位置相关联,其中第一多个页中的第一页和第二多个页中的第二页可配置成同时执行与第一位置相关联的操作和与第二位置相关联的操作。
在设备的一些实例中,第一位置可与第一类型的存储器单元相关联,且第二位置可与第二类型的存储器单元相关联。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所述信号可表示信号的总线,其中所述总线可具有各种位宽度。
术语“电子通信”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可以在任何时间支持信号在组件之间流动的任何导电路径,那么认为组件彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管的一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的情况,在所述开路关系中,信号当前无法经由导电路径在组件之间传送,在所述闭路关系中,信号能够经由导电路径在组件之间传送。如果例如控制器的组件将其它组件耦合在一起,那么组件发起以下改变:允许信号经由先前不准许信号流动的导电路径在其它组件之间流动。
术语“隔离”是指其中信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则所述组件彼此隔离。举例来说,如果开关打开,那么由定位在组件之间的开关分隔开的两个组件彼此隔离。如果控制器隔离两个组件,那么控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当…时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当…时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,那么所述术语可互换。
术语“响应于”可指由于先前条件或动作而至少部分地(如果不是完全地)发生的一个条件或动作。举例来说,可执行第一条件或动作,并且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指作为先前条件或动作的直接结果而发生的一个条件或动作。在一些实例中,可执行第一条件或动作,并且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可执行第一条件或动作,并且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件执行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”此类其它条件或动作而执行。
本文所论述的包含存储器阵列的装置可形成在半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底为半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(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)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。如本文中所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上组合也包含在计算机可读媒体的范围内。
提供本文中的描述以使所属领域的技术人员能够制作或使用本公开。对于所属领域的技术人员来说,对本公开的各种修改将变得显而易见,并且本文中限定的一般原理可以在不脱离本公开范围的情况下应用于其它变化形式。因此,本公开不限于本文中所描述的实例和设计,而是应符合与本文所公开的原理和新颖特征一致的最广泛范围。
Claims (25)
1.一种设备,其包括:
存储器阵列,其包括多个存储器单元;以及
控制器,其与所述存储器阵列耦合且配置成:
接收指示用以存储在所述控制器处的存取命令序列的开始的第一命令;
在接收到所述第一命令之后接收第一组存取命令,所述第一组存取命令与所述存取命令序列相关联;
在接收到所述第一组存取命令之后接收指示所述存取命令序列的结束的第二命令;
在接收到所述第二命令之后接收第二组存取命令;以及
在接收到所述第二组存取命令之后且在接收到所述序列的第三组存取命令之前,至少部分地基于将所述第二组存取命令识别为开始所述存取命令序列而执行与所述第三组存取命令相关联的操作。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成:
在执行所述操作之后接收所述第三组存取命令;以及
传输与所述第三组存取命令中的一或多个相关联的数据,其中所述操作包括在接收到所述第三组存取命令中的所述一或多个之前执行与所述第三组存取命令中的所述一或多个相关联的读取操作的一部分。
3.根据权利要求1所述的设备,其中为执行所述操作,所述控制器进一步配置成:
在接收到所述第三组存取命令之前,至少部分地基于识别所述第二组存取命令而提取与由所述序列存取的逻辑地址相关联的逻辑到物理表的一部分。
4.根据权利要求1所述的设备,其中所述控制器进一步配置成:
将所述序列的所述第二组存取命令与所述第一组存取命令进行比较,其中所述控制器配置成至少部分地基于所述比较而将所述第二组存取命令识别为开始所述序列。
5.根据权利要求1所述的设备,其中所述控制器进一步配置成:
确定第二操作的开始,所述第二操作与所述序列相关联,其中所述控制器配置成至少部分地基于所述确定而将所述第二组存取命令识别为开始所述序列。
6.根据权利要求1所述的设备,其中所述控制器进一步配置成:
至少部分地基于存储所述序列而将寄存器中的值从第一值更新到第二值,其中所述值指示存储在所述控制器处的序列的量。
7.根据权利要求1所述的设备,其中所述控制器进一步配置成:
在接收到所述第一命令之前设置寄存器中的值,所述值指示能够存储在所述控制器处的序列的量。
8.根据权利要求1所述的设备,其中所述控制器进一步配置成:
接收与擦除存储在所述控制器处的所述序列相关联的第三命令;
至少部分地基于接收到所述第三命令而擦除所述控制器处的所述序列;以及
至少部分地基于擦除所述序列而将寄存器中的值从第一值更新到第二值,所述值指示存储在所述控制器处的序列的量。
9.根据权利要求1所述的设备,其中所述控制器进一步配置成:
至少部分地基于接收到所述第一组存取命令而在所述第一组存取命令中的第一存取命令与所述第一组存取命令中的第二存取命令之间识别所述设备的第一电力状态;以及
至少部分地基于识别所述第一电力状态而存储所述第一电力状态和所述序列。
10.根据权利要求9所述的设备,其中所述控制器进一步配置成:
至少部分地基于存储所述序列且接收到所述第二组存取命令而识别与所述第一组存取命令中的所述第一存取命令对应的所述第二组存取命令中的第三存取命令;以及
至少部分地基于识别与所述第一存取命令对应的所述第三存取命令而从第二电力状态转换到所述第一电力状态。
11.一种设备,其包括:
存储器阵列,其包括多个存储器单元;以及
控制器,其与所述存储器阵列耦合且配置成:
接收指示用以存储在所述控制器处的存取命令序列的开始的第一命令,其中所述序列与一组数据相关联;
在接收到所述第一命令之后接收多个存取命令,所述多个存取命令与所述序列相关联且所述多个存取命令包括与所述一组数据的第一部分相关联的存取命令和与所述一组数据的第二部分相关联的存取命令;
在接收到所述多个存取命令之后接收指示所述序列的结束的第二命令;以及
至少部分地基于接收到所述第二命令而将所述一组数据的所述第一部分从第一位置传送到第二位置,其中在所述第二位置处,与同所述一组数据的所述第一部分相关联的所述存取命令相关联的操作和与同所述一组数据的所述第二部分相关联的所述存取命令相关联的操作同时执行。
12.根据权利要求11所述的设备,其中所述控制器进一步配置成:
在将所述一组数据的所述第一部分传送到所述第二位置之后接收第二多个存取命令,所述第二多个存取命令包括与所述一组数据的所述第一部分相关联的第一存取命令和与所述一组数据的所述第二部分相关联的第二存取命令;
至少部分地基于接收到所述第二多个存取命令而在所述第一位置和所述第二位置处执行所述第二多个存取命令,其中所述第二多个存取命令与所述序列相关联,且其中针对所述第一存取命令的操作和针对所述第二存取命令的操作同时执行。
13.根据权利要求12所述的设备,其中
针对所述第一存取命令的所述操作和针对所述第二存取命令的所述操作包括读取操作,且
同时从所述存储器阵列读取所述一组数据的所述第一部分和所述一组数据的所述第二部分。
14.根据权利要求12所述的设备,其中所述第二多个存取命令进一步包括与第三位置上的操作相关联的第三存取命令,且其中所述控制器进一步配置成:
在同时执行所述第一存取命令和所述第二存取命令之后,至少部分地基于将所述一组数据的所述第一部分传送到所述第二位置而依序执行与所述第三位置相关联的所述操作。
15.根据权利要求11所述的设备,其中所述存储器阵列进一步包括:
第一平面,其包括第一多个页,所述第一平面与存储所述一组数据的所述第二部分的所述第一位置和第三位置相关联;
第二平面,其包括第二多个页,所述第二平面与所述第二位置相关联,其中所述第一多个页中的第一页和所述第二多个页中的第二页配置成同时执行与所述第一位置相关联的所述操作和与所述第二位置相关联的所述操作。
16.根据权利要求11所述的设备,其中:
所述第一位置与第一类型的存储器单元相关联;且
所述第二位置与第二类型的存储器单元相关联。
17.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使所述电子装置:
在控制器处接收指示用以存储在所述控制器处的存取命令序列的开始的第一命令;
在接收到所述第一命令之后接收第一组存取命令,所述第一组存取命令与所述存取命令序列相关联;
在接收到所述第一组存取命令之后接收指示所述存取命令序列的结束的第二命令;
在接收到所述第二命令之后接收第二组存取命令;以及
在接收到所述第二组存取命令之后且在接收到所述序列的第三组存取命令之前,至少部分地基于将所述第二组存取命令识别为开始所述存取命令序列而执行与所述第三组存取命令相关联的操作。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
在执行所述操作之后接收所述第三组存取命令;以及
传输与所述第三组存取命令中的一或多个相关联的数据,其中所述操作包括在接收到所述第三组存取命令中的所述一或多个之前执行与所述第三组存取命令中的所述一或多个相关联的读取操作的一部分。
19.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置在接收到所述第三组存取命令之前,至少部分地基于识别所述第二组存取命令而提取与由所述序列存取的逻辑地址相关联的逻辑到物理表的一部分。
20.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置将所述序列的所述第二组存取命令与所述第一组存取命令进行比较,其中所述电子装置配置成至少部分地基于所述比较而将所述第二组存取命令识别为开始所述序列。
21.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于存储所述序列而将寄存器中的值从第一值更新到第二值,其中所述值指示存储在所述电子装置处的序列的量。
22.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
至少部分地基于接收到所述第一组存取命令而在所述第一组存取命令中的第一存取命令与所述第一组存取命令中的第二存取命令之间识别所述电子装置的第一电力状态;以及
至少部分地基于识别所述第一电力状态而存储所述第一电力状态和所述序列。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
至少部分地基于存储所述序列且接收到所述第二组存取命令而识别与所述第一存取命令对应的所述第二组存取命令中的第三存取命令;以及
至少部分地基于识别与所述第一存取命令对应的所述第三存取命令而从第二电力状态转换到所述第一电力状态。
24.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使所述电子装置:
在控制器处接收指示用以存储在所述控制器处的存取命令序列的开始的第一命令,其中所述序列与存储在包括多个存储器单元的存储器阵列处的一组数据相关联;
在接收到所述第一命令之后接收多个存取命令,所述多个存取命令与所述序列相关联且所述多个存取命令包括与所述一组数据的第一部分相关联的存取命令和与所述一组数据的第二部分相关联的存取命令;
在接收到所述多个存取命令之后接收指示所述序列的结束的第二命令;以及
至少部分地基于接收到所述第二命令而将所述一组数据的所述第一部分从第一位置传送到第二位置,其中在所述第二位置处,与同所述一组数据的所述第一部分相关联的所述存取命令相关联的操作和与同所述一组数据的所述第二部分相关联的所述存取命令相关联的操作同时执行。
25.根据权利要求24所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
在将所述一组数据的第一部分传送到所述第二位置之后接收第二多个存取命令,所述第二多个存取命令包括与所述一组数据的所述第一部分相关联的第一存取命令和与所述一组数据的所述第二部分相关联的第二存取命令;
至少部分地基于接收到所述第二多个存取命令而在所述第二位置处执行所述第二多个存取命令,其中所述第二多个存取命令与所述序列相关联,且其中针对所述第一存取命令的操作和针对所述第二存取命令的操作同时执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/173,519 US11704049B2 (en) | 2021-02-11 | 2021-02-11 | Optimized command sequences |
US17/173,519 | 2021-02-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114924689A true CN114924689A (zh) | 2022-08-19 |
Family
ID=82703847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210125696.5A Pending CN114924689A (zh) | 2021-02-11 | 2022-02-10 | 经优化命令序列 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11704049B2 (zh) |
CN (1) | CN114924689A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240061584A1 (en) * | 2022-08-22 | 2024-02-22 | Micron Technologies, Inc. | Capability messaging for memory operations across banks with multiple page access |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554983B2 (en) * | 2008-05-27 | 2013-10-08 | Micron Technology, Inc. | Devices and methods for operating a solid state drive |
US9281036B2 (en) * | 2013-01-08 | 2016-03-08 | Qualcomm Incorporated | Memory device having an adaptable number of open rows |
US9977603B2 (en) * | 2016-05-02 | 2018-05-22 | Micron Technology, Inc. | Memory devices for detecting known initial states and related methods and electronic systems |
-
2021
- 2021-02-11 US US17/173,519 patent/US11704049B2/en active Active
-
2022
- 2022-02-10 CN CN202210125696.5A patent/CN114924689A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11704049B2 (en) | 2023-07-18 |
US20220253232A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11625333B2 (en) | Configurable flush operation speed | |
CN115373592B (zh) | 用于页线填充数据的设备、非暂时性计算机可读介质及方法 | |
US12079128B2 (en) | Techniques for pre-fetching information using pattern detection | |
CN115373587A (zh) | 用于废弃项目收集的页面有效性表颜色 | |
US11886735B2 (en) | Data movement based on address table activity | |
CN115248662A (zh) | 动态超级块 | |
US20230367710A1 (en) | Data defragmentation control | |
CN117667760A (zh) | 存储器系统逻辑单元号程序 | |
US12019877B2 (en) | Metadata allocation in memory systems | |
US11687291B2 (en) | Techniques for non-consecutive logical addresses | |
CN114924689A (zh) | 经优化命令序列 | |
CN115951932A (zh) | 用于命令序列调整的技术 | |
CN115605850A (zh) | 用于逻辑到物理表压缩的数据组织 | |
US12124723B2 (en) | Techniques for data transfer operations | |
US12045495B2 (en) | Read latency and suspend modes | |
US11934303B2 (en) | Atomic write operations | |
US20240078020A1 (en) | Write booster pinning | |
US11995346B2 (en) | Resuming write operations after suspension | |
US20240201860A1 (en) | Address mappings for random access operations | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US11762771B2 (en) | Advanced power off notification for managed memory | |
US20240231702A1 (en) | Multiplane data transfer commands | |
US20240176550A1 (en) | Transferring valid data using a system latch | |
US20230297516A1 (en) | Circular buffer partitions | |
US20240078031A1 (en) | Dividing blocks for special functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |