CN116364161A - 存储器装置的性能调整 - Google Patents
存储器装置的性能调整 Download PDFInfo
- Publication number
- CN116364161A CN116364161A CN202211685145.0A CN202211685145A CN116364161A CN 116364161 A CN116364161 A CN 116364161A CN 202211685145 A CN202211685145 A CN 202211685145A CN 116364161 A CN116364161 A CN 116364161A
- Authority
- CN
- China
- Prior art keywords
- command
- processor
- memory
- interface
- write command
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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/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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
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
交叉引用
本专利申请要求由GE于2021年12月28日申请的标题为“存储器装置的性能调整(PERFORMANCE TUNING FOR A MEMORY DEVICE)”的第17/646,256号美国专利申请的优先权,所述美国专利申请转让给本受让人且以引用的方式明确地并入本文中。
技术领域
本技术领域涉及存储器装置的性能调整。
背景技术
存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一者。在一些实例中,单个存储器单元可支持超过两个可能状态,所述状态中的任一者可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性地刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种设备。所述设备可以包含:存储器系统,其包括接口、处理器和存储控制器,其中:所述接口配置成使得所述设备:接收读取命令,所述读取命令包括所述读取命令的部分执行的指示符;以及至少部分地基于接收到所述读取命令来执行与所述读取命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述读取命令的一或多个参数生成与所述读取命令相关联的条目;并且所述处理器或所述存储控制器中的至少一者配置成使得所述设备:至少部分地基于执行所述第一操作且基于所述读取命令的部分执行的所述指示符来抑制与所述读取命令相关联的一或多个附加操作;以及至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示完成所述读取命令的响应,其中所述响应包括至少部分地基于抑制所述一或多个附加操作而生成的填充数据。
描述一种设备。所述设备可以包含:存储器系统,其包括接口、处理器和存储控制器,其中:所述接口配置成使得所述设备:接收写入命令,所述写入命令包括所述写入命令的部分执行的指示符;以及至少部分地基于接收到所述写入命令来执行与所述写入命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述写入命令的一或多个参数生成与所述写入命令相关联的条目;并且所述处理器或所述存储控制器中的至少一者配置成使得所述设备:至少部分地基于所述接口执行与所述写入命令相关联的所述第一操作且基于所述写入命令的部分执行的所述指示符来抑制与所述写入命令相关联的一或多个附加操作,其中与所述写入命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示完成所述写入命令的响应。
描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可以存储包括指令的代码,所述指令在由电子装置的处理器执行时使得所述电子装置:在包括处理器和存储控制器的存储器系统的接口处接收读取命令,其中所述读取命令包括所述读取命令的部分执行的指示符;由所述接口至少部分地基于接收到所述读取命令来执行与所述读取命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述读取命令的一或多个参数生成与所述读取命令相关联的条目;至少部分地基于所述接口执行所述第一操作且基于所述读取命令的部分执行的所述指示符来抑制与所述读取命令相关联的一或多个附加操作,其中与所述读取命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述读取命令的响应,其中所述响应包括至少部分地基于抑制所述一或多个附加操作而生成的填充数据。
描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可以存储包括指令的代码,所述指令在由电子装置的处理器执行时使得所述电子装置:在包括处理器和存储控制器的存储器系统的接口处接收写入命令,其中所述写入命令包括所述写入命令的部分执行的指示符;由所述接口至少部分地基于接收到所述写入命令来执行与所述写入命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述写入命令的一或多个参数生成与所述写入命令相关联的条目;至少部分地基于所述接口执行与所述写入命令相关联的所述第一操作且基于所述写入命令的部分执行的所述指示符来抑制与所述写入命令相关联的一或多个附加操作,其中与所述写入命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述写入命令的响应。
附图说明
图1示出根据如本文公开的实例支持存储器装置的性能调整的系统的实例。
图2示出根据如本文公开的实例支持存储器装置的性能调整的系统的实例。
图3示出根据如本文公开的实例支持存储器装置的性能调整的过程流程图的实例。
图4示出根据如本文公开的实例支持存储器装置的性能调整的过程流程图的实例。
图5示出根据如本文公开的实例支持存储器装置的性能调整的存储器控制器1的框图。
图6示出根据如本文公开的实例支持存储器装置的性能调整的存储器控制器2的框图。
图7和8示出流程图,示出根据如本文公开的实例支持存储器装置的性能调整的一或多种方法。
具体实施方式
一些存储器系统可以包含用于执行从主机系统或测试装置接收的命令的各种硬件或软件组件。例如,存储器系统可以包含前端(例如,硬件接口)、快闪转换层(例如,(FTL)、处理器)和以及配置成接收和执行各种命令的后端(例如,存储控制器)。在一些情况下,可能需要在存储器系统上执行测试操作以确定在命令执行期间是否在不同的硬件或软件组件处发生错误,这可以允许主机系统或测试装置调整存储器系统的性能方面。然而,在传统的存储器系统中,在处理命令时可能仅通知主机系统或测试装置发生了错误。换句话说,主机系统或测试装置可能无法具体辨别错误发生的位置。
本文描述了一种配置成抑制命令的方面的存储器系统。在一些实例中,存储器系统可以从主机系统或测试装置接收命令(例如,读取命令、写入命令)。所述命令可以包含指示存储器系统抑制与执行命令相关联的一或多个操作的指示符。例如,指示符可以包含第一值,所述第一值可以指示存储器系统抑制由其FTL(例如,其处理器)和后端(例如,其存储控制器)执行的操作。在其它实例中,指示符可以指示第二值,所述第二值可以指示存储器系统抑制由其后端执行的操作。在任一实例中,存储器系统可以配置成生成指示命令完成的响应,尽管命令没有被完全执行。因此,通过抑制与执行命令相关联的一或多个操作,主机系统或测试装置能够辨别性能问题发生的位置。例如,主机系统或测试装置能够确定性能问题发生在前端、FTL或后端,这可以允许主机系统或测试装置调整存储器系统的性能以提高其整体性能。
首先在参考图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的时延减少)。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在一些情况下存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地分别依赖于外部控制器(例如,由主机系统105实施)或可在存储器装置130内部的一或多个本地控制器135,以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置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中。在一些情况下,单独的块170可称为物理块,并且虚拟块180可指可在其内发生并行操作的块170的群组。例如,可对分别在平面165-a、165-b、165-c和165-d内的块170-a、170-b、170-c和170-d进行并行操作,并且块170-a、170-b、170-c和170-d可统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a及存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在其相应平面165内具有相同的块地址(例如,块170-a可以是平面165-a的“块0”,块170-b可以是平面165-b的“块0”,等)。在一些情况下,在不同平面165中进行并行操作可受制于一或多个限制,如对不同页175内的存储器单元进行并行操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。另外,在一些情况下,NAND存储器单元可在其可用新数据重写之前擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
在一些情况下,可维护L2P映射表且可在页面粒度级别上将数据标记为有效或无效,并且页面175可包含有效数据、无效数据或不包含数据。无效数据可以是由于数据的最新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据可能先前已被编程到无效页175,但是可能不再与有效逻辑地址、例如由主机系统105参考的逻辑地址相关联。有效数据可以是存储在存储器装置130上的此类数据的最新版本。不包含数据的页175可以是未被写入或已被擦除的页175。
系统100可以包含支持存储器装置的性能调整的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130(例如,本地控制器135)可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则这种指令可使得主机系统105、存储器系统控制器115或存储器装置130进行如本文描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,存储器系统控制器115(例如,存储器系统控制器115的一部分、存储器系统控制器115的接口)可配置成从主机系统105接收命令。所述命令可以包含指示存储器系统控制器115抑制命令的一或多个部分的指示符。例如,所述指示符可以是第一值,其可以指示存储器系统控制器115抑制与确定与命令相关联的存储器装置130的物理地址和执行命令(例如,读取与命令相关联的数据或写入与命令相关联的数据)相关的命令方面。在其它实例中,指示符可以是第二值,其可以指示存储器系统控制器抑制与执行相关的命令方面。
抑制命令的方面时,存储器系统控制器115可以生成用于输出(例如,传输)到主机系统105的响应。在命令是读取命令的情况下,存储器系统控制器115可以生成填充数据(例如,未从对应于读取命令的存储器装置130的物理地址读取的数据)以与响应一起输出。存储器系统控制器115可以输出响应(在接收读取命令的情况下包含填充数据),其可以向主机系统105指示命令被执行。
通过部分地执行命令(例如,读取命令或写入命令),主机系统105可以辨别与由存储器系统控制器115的方面执行的操作相关的性能问题。因此,主机系统105可以调整存储器系统110的性能,这可以提高存储器系统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。
存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,例如用于存储数据、检索数据,和确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用特定针对每种类型的存储器装置240的协议直接地或经由总线(未示出)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每种类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220,和用于临时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225和存储控制器230可用于例如由数据路径250所示在主机系统205与存储器装置240之间转换数据,且可统称为数据路径组件。
在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的时延且允许与命令相关联的任意数据大小。这还可允许处置命令的突发,且一旦突发已停止,便可存储或传输(或两者)缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM),或硬件加速器或这两者,以允许快速地将数据存储到缓冲器225和从所述缓冲器检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。
数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可不直接从缓冲器225读取数据。例如,可将读取命令添加到队列中,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统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可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列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。
在一些实例中,存储器系统控制器215(例如,存储器系统控制器215的一部分、存储器系统控制器215的接口)可配置成从主机系统205接收命令。所述命令可以包含指示存储器系统控制器215抑制命令的一或多个部分的指示符。例如,所述指示符可以是第一值,其可以指示存储器系统控制器215抑制与确定与命令相关联的存储器装置240的物理地址和执行命令(例如,读取与命令相关联的数据或写入与命令相关联的数据)相关的命令方面。在其它实例中,指示符可以是第二值,其可以指示存储器系统控制器抑制与执行相关的命令方面。
抑制命令的方面时,存储器系统控制器215可以生成用于输出(例如,传输)到主机系统205的响应。在命令是读取命令的情况下,存储器系统控制器215可以生成填充数据(例如,未从对应于读取命令的存储器装置240的物理地址读取的数据)以与响应一起输出。存储器系统控制器215可以输出响应(在接收读取命令的情况下包含填充数据),其可以向主机系统205指示命令被执行。
通过部分地执行命令(例如,读取命令或写入命令),主机系统205可以辨别与由存储器系统控制器215的方面执行的操作相关的性能问题。因此,主机系统205可以调整存储器系统210的性能,这可以提高存储器系统210的整体性能。
图3示出根据如本文公开的实例支持存储器装置的性能调整的过程流程图300的实例。过程流程图300可以示出在测试系统305和存储器系统310处执行的操作。在一些情况下,存储器系统310可以包含接口315、处理器320和存储控制器325。接口315可以包含或可以与命令队列(例如,第一命令队列,未示出)相关联。接口315可以是图2的接口220的实例。存储控制器325可以与命令队列(例如,第二命令队列,未示出)相关联。存储控制器325可以是图2的存储控制器230的实例。处理器320可以是图2的存储器系统控制器215的实例。此外,测试系统305可以是配置成将读取命令传输到存储器系统310的主机系统(例如,如参考图1描述的主机系统105)的实例。如本文描述,从测试系统305传输到存储器系统310的读取命令可以包含指示存储器系统执行命令或部分地执行命令的指示符。通过部分地执行读取命令,测试系统305可以辨别与由接口315、处理器320或存储控制器325执行的操作相关的性能问题。因此,测试系统305可以调整存储器系统310的性能,这可以提高存储器系统310的整体性能。
如本文描述,测试系统305可以是配置成将读取命令传输到存储器系统310的主机系统(例如,如参考图1描述的主机系统105)的实例。在一些情况下,读取命令可以格式化为称为UFS协议信息单元(UPIU)的数据包或由所述数据包组成。UPIU可以包含用于指示符的一或多个字段(例如,保留字段)。例如,所述字段可以包含具有多个值之一的指示符。在一些实例中,第一值可以指示存储器系统310抑制由处理器320和存储控制器325执行的操作,第二值可以指示存储器系统310抑制由存储控制器325执行的操作,并且第三值可以指示存储器系统310不抑制任何操作(例如,以执行读取命令)。
在其它实例中,测试系统305可以使用特定命令、不同命令协议或通过使用特定引脚(例如,特定的引脚子集)来传输指示符。在这些情况中的任何一个中,指示符的值可以指示存储器系统310抑制由处理器320和存储控制器325、由存储控制器325执行的操作,或不抑制任何操作(例如,以执行读取命令)。通过抑制与读取命令相关的特定操作,测试系统305可以辨别与存储器系统310相关的性能问题并且可以调整存储器系统310的方面以提高其整体性能。
接口315可以是存储器系统310的前端的实例。在一些实例中,接口315可以从测试系统305接收命令并且可以为处理器320生成内部命令。例如,接口315可以生成内部命令,所述内部命令指示处理器320在存储器系统310的逻辑地址处执行读取操作(或读取操作的一部分)。在一些情况下,在生成内部命令时,接口315可以将命令存储到与接口315相关联的命令队列(例如,第一命令队列,未示出)。
在其它实例中,由处理器320和存储控制器325另外执行的读取操作的部分可以被抑制,因此接口315可以生成指示存储器系统310完成读取命令的响应。在此类情况下,接口315可以生成填充数据并且可以将响应和填充数据输出到测试系统305。如本文所使用,填充数据可以指由接口315(或存储器系统310的另一组件)生成或否则不会从与接收到的读取命令的逻辑地址相对应的存储器单元读取的数据。因此,填充数据可用于满足接收到的读取命令,这可允许测试系统305辨别与存储器系统310相关的性能问题并调整存储器系统310的方面以提高其整体性能。
处理器320可以是存储器系统310的FTL的实例。在一些实例中,处理器320可以从与接口315相关联的命令队列中检索命令(例如,内部命令)。如本文描述,内部命令可以与存储器系统310的逻辑地址相关联,且因此处理器320可以基于逻辑地址确定存储器系统310的物理地址。在一些情况下,处理器320然后可以将读取命令和物理地址传达到存储控制器325(或者存储控制器325可以从处理器320中检索读取命令和物理地址)。
在其它实例中,由存储控制器325另外执行的读取操作的部分可以被抑制并且因此处理器320可以向接口315传输信令以指示其已经执行了读取命令的相应部分。在此类情况下,如上所述,接口315可以生成用于输出到测试系统305的响应和填充数据。
存储控制器325可以是存储器系统310的后端的实例。在一些实例中,存储控制器325可以从处理器320中检索命令(例如,包含存储器系统310的物理地址的内部命令)。例如,存储控制器325可以从处理器320中检索命令并且可以将命令存储到与存储控制器325相关联的命令队列(例如,第二命令队列,未示出)。在将命令存储到命令队列时,存储控制器325可以存取与物理地址相对应的存储器系统310的一部分。在此类情况下,在从物理地址读取数据之后,可以将数据传输到处理器320,并且处理器320可以将数据传输到接口315以输出到测试系统305。然而,在某些情况下,可能不太希望在测试操作期间执行整个读取操作,因为测试系统305可能无法辨别在存储器系统310内的何处出现性能问题。换句话说,可能希望抑制部分读取命令,使得测试系统305可以确定在存储器系统310的特定部分(例如,在接口315、处理器320或存储控制器325处)是否发生任何性能问题。
在330,测试系统305可以向存储器系统310传输读取命令。读取命令可以由接口315接收。如本文描述,读取命令可以包含指示存储器系统310执行命令或抑制与读取命令相关联的一个或多个操作的指示符。仅出于示例性目的,在330传输的读取命令可以包含第一值,其可指示存储器系统310抑制由处理器320和存储控制器325执行的操作。
在335,接口315可以执行与读取命令相关联的第一操作。在一些情况下,第一操作可以包含为处理器320生成内部命令(例如,条目)。第一操作还可以包含接口315将条目存储到处理器320可用于从中检索条目的命令队列(例如,第一队列,未示出)。在一些情况下,条目可以包含与读取命令相关联的逻辑地址,使得如果处理器320检索到条目,则处理器320可以确定对其执行读取操作的存储器系统310的物理地址。
在340,接口315可以识别包含于读取命令中的指示符的值。替代地,在一些实例中,接口315可以在执行第一操作(例如,在335)之前识别指示符的值。如本文描述,仅出于示例性目的,从测试系统305接收(例如,在330)的读取命令可指示第一值,其可指示存储器系统310抑制由处理器320和由存储控制器325执行的操作。抑制由处理器320和存储控制器325两者执行的操作在本文中可以被称为抑制与读取命令相关联的第二操作。
在345,处理器320和存储控制器325可以抑制与读取命令相关联的第二操作。在一些实例中,基于从接口315(未示出)传输的信令或由于不存在从接口315传输的信令,可以指示处理器320和存储控制器325避免执行第二操作。例如,接口315通常可以生成指示处理器320从命令队列中检索条目的信令。因此,通过避免传输此类信令,处理器320以及进而存储控制器325可以避免执行第二操作。在其它实例中,接口315可以主动生成指示处理器320避免从命令队列中检索条目的信令(未示出),这又可以使得处理器320和存储控制器325避免执行第二操作。存储控制器325避免执行第二操作还可抑制取决于第二操作的存储控制器的第三操作。
在350,接口315可以生成填充数据和响应以传输到测试系统305。响应和填充数据可以指示读取命令的完成,尽管第二操作被抑制。通过传输具有填充数据的响应,尽管数据不是从对应于读取命令的存储器系统310的物理地址读取的,也可以满足(例如,在330传输的)读取命令。在355,接口315可以向测试系统305传输(例如,输出)响应。
在一些情况下(未示出),测试系统305可以基于接收到响应(例如,在355)来调整存储器系统310的一或多个性能度量。例如,如果对应于读取命令的读取操作遇到任何错误,则由于处理器320和存储控制器325执行的操作被抑制,测试系统305能够辨别在接口315处发生错误。另外或替代地,测试系统305能够通过确定在传输读取命令(例如,在330)与接收响应(例如,在355)之间经过的持续时间来调试与存储器系统310(或接口315,具体地)的时序参数相关的错误。因此,测试系统305可以调整存储器系统310的性能,这可以提高其整体性能。
在另一实例中,在360,测试系统305可以将读取命令(例如,第二读取命令)传输到存储器系统310。第二读取命令可以由接口315接收。如本文描述,读取命令可以包含指示存储器系统310执行命令或抑制与读取命令相关联的一或多个操作的指示符。仅出于示例性目的,在330传输的第二读取命令可以包含第二值,其可指示存储器系统310抑制由存储控制器325执行的操作。
在365,接口315可以执行与第二读取命令相关联的第一操作。在一些情况下,第一操作可以包含为处理器320生成内部命令(例如,条目)。第一操作还可以包含接口315将条目存储到处理器320可用于从中检索条目的命令队列(例如,第一队列,未示出)。在一些情况下,条目可以包含与第二读取命令相关联的逻辑地址,使得如果处理器320检索到条目,则处理器320可以确定对其执行读取操作的存储器系统310的物理地址。
在370,接口315可以识别包含于第二读取命令中的指示符的值。替代地,在一些实例中,接口315可以在执行第一操作(例如,在365)之前识别指示符的值。如本文描述,仅出于示例性目的,从测试系统305接收(例如,在330)的第二读取命令可指示第二值,其可指示存储器系统310抑制由存储控制器325执行的操作。抑制由存储控制器325执行的操作在本文中可以被称为抑制与第二读取命令相关联的第三操作。
在375,处理器320可以执行与第二读取命令相关联的第二操作。处理器320可以通过从接口315的存储队列中检索条目并确定与第二读取命令相关联的存储器系统310的物理地址来执行第二操作。在一些实例中,处理器320可以通过利用存储到存储器系统310(未示出)的存储器阵列的查找表,或通过利用存储到与处理器320(未示出)相关联的存储器的查找表的一部分,来确定存储器系统310的物理地址。
在380,存储控制器325可以抑制与第二读取命令相关联的第三操作。在一些实例中,基于从处理器320(未示出)传输的信令或由于不存在从处理器320传输的信令,可以指示存储控制器325避免执行第三操作。例如,处理器320通常可以生成将条目(包含物理地址)传达到存储控制器325的信令。因此,通过避免传输此类信令,存储控制器325可以避免执行第三操作。在其它实例中,处理器320可以主动生成指示存储控制器325避免将条目存储到存储队列(例如,第二存储队列,未示出)的信令(未示出)。
在385,处理器320可以向接口315传输指示第二操作完成的信令。在390,接口315可以生成填充数据和响应以传输到测试系统305。响应和填充数据可以指示第二读取命令的完成,尽管第三操作被抑制。通过传输响应与填充数据,尽管没有从与第二读取命令相对应的存储器系统310的物理地址读取数据,也可以满足(例如,在360传输的)第二读取命令。在395,接口315可以向测试系统305传输(例如,输出)响应。
在一些情况下(未示出),测试系统305可以基于接收到响应(例如,在395)来调整存储器系统310的一或多个性能度量。例如,如果对应于第二读取命令的读取操作遇到任何错误,则由于存储控制器325执行的操作被抑制,测试系统305能够辨别在接口315或处理器320处发生错误。另外或替代地,测试系统305能够通过确定在传输读取命令(例如,在360)与接收响应(例如,在395)之间经过的持续时间来调试与存储器系统310的时序参数相关的错误。因此,测试系统305可以调整存储器系统310的性能,这可以提高其整体性能。
图4示出根据如本文公开的实例支持存储器装置的性能调整的过程流程图400的实例。过程流程图400可以示出在测试系统405和存储器系统410处执行的操作。在一些情况下,存储器系统410可以包含接口415、处理器420和存储控制器425。接口415可以包含或可以与命令队列(例如,第一命令队列,未示出)相关联。接口415可以是图2的接口220的实例。存储控制器425可以与命令队列(例如,第二命令队列,未示出)相关联。存储控制器425可以是图2的存储控制器230的实例。处理器420可以是图2的存储器系统控制器215的实例。此外,测试系统405可以是配置成将写入命令传输到存储器系统410的主机系统(例如,如参考图1描述的主机系统105)的实例。如本文描述,从测试系统405传输到存储器系统410的写入命令可以包含指示存储器系统执行命令或部分地执行命令的指示符。通过部分地执行写入命令,测试系统405可以辨别与由接口415、处理器420或存储控制器425执行的操作相关的性能问题。因此,测试系统405可以调整存储器系统410的性能,这可以提高存储器系统410的整体性能。
如本文描述,测试系统405可以是配置成将写入命令传输到存储器系统410的主机系统(例如,如参考图1描述的主机系统105)的实例。在一些情况下,写入命令可以格式化为称为UPIU的数据包或由所述数据包组成。UPIU可以包含用于指示符的一或多个字段(例如,保留字段)。例如,所述字段可以包含具有多个值之一的指示符。在一些实例中,第一值可以指示存储器系统410抑制由处理器420和存储控制器425执行的操作,第二值可以指示存储器系统410抑制由存储控制器425执行的操作,并且第三值可以指示存储器系统410不抑制任何操作(例如,以执行写入命令)。
在其它实例中,测试系统405可以使用特定命令、不同命令协议或通过使用特定引脚(例如,特定的引脚子集)来传输指示符。在这些情况中的任何一个中,指示符的值可以指示存储器系统410抑制由处理器420和存储控制器425、由存储控制器425执行的操作,或不抑制任何操作(例如,以执行写入命令)。通过抑制与写入命令相关的特定操作,测试系统405可以辨别与存储器系统410相关的性能问题并且可以调整存储器系统410的方面以提高其整体性能。
接口415可以是存储器系统410的前端的实例。在一些实例中,接口415可以从测试系统405接收命令并且可以为处理器420生成内部命令。例如,接口415可以生成内部命令,所述内部命令指示处理器420在存储器系统410的逻辑地址处执行写入操作(或写入操作的一部分)。在一些情况下,在生成内部命令时,接口415可以将命令存储到与接口415相关联的命令队列(例如,第一命令队列,未示出)。
在其它实例中,由处理器420和存储控制器425另外执行的写入操作的部分可以被抑制,因此接口415可以生成指示存储器系统410完成写入命令的响应。在此类情况下,写入命令中包含的数据可不写入存储器系统410。
处理器420可以是存储器系统410的FTL的实例。在一些实例中,处理器420可以从与接口415相关联的命令队列中检索命令(例如,内部命令)。如本文描述,内部命令可以与存储器系统410的逻辑地址相关联,且因此处理器420可以基于逻辑地址确定存储器系统410的物理地址。在一些情况下,处理器420然后可以将写入命令和物理地址传达到存储控制器425(或者存储控制器425可以从处理器420中检索写入命令和物理地址)。
在其它实例中,由存储控制器425另外执行的写入操作的部分可以被抑制并且因此处理器420可以向接口415传输信令以指示其已经执行了写入命令的相应部分。在此类情况下,如上所述,接口415可以生成用于输出到测试系统405的响应,并且与写入命令相关联的数据可不写入存储器系统410。
存储控制器425可以是存储器系统410的后端的实例。在一些实例中,存储控制器425可以从处理器420中检索命令(例如,包含存储器系统410的物理地址的内部命令)。例如,存储控制器425可以从处理器420中检索命令并且可以将命令存储到与存储控制器425相关联的命令队列(例如,第二命令队列,未示出)。在将命令存储到命令队列时,存储控制器425可以将数据写入到与物理地址相对应的存储器系统410的一部分。在此类情况下,在将数据写入到物理地址之后,可以将指示写入操作完成的信令传输到处理器420,并且处理器420可以将指示传输到接口415。接口415接着可以向测试系统405输出响应。然而,在某些情况下,可能不太希望在测试操作期间执行整个写入操作,因为测试系统405可能无法辨别在存储器系统410内的何处出现性能问题。换句话说,可能希望抑制部分写入命令,使得测试系统405可以确定在存储器系统410的特定部分(例如,在接口415、处理器420或存储控制器425处)是否发生任何性能问题。
在430,测试系统405可以向存储器系统410传输写入命令。写入命令可以由接口415接收。如本文描述,写入命令可以包含指示存储器系统410执行命令或抑制与写入命令相关联的一或多个操作的指示符。仅出于示例性目的,在430传输的写入命令可以包含第一值,其可指示存储器系统410抑制由处理器420和由存储控制器425执行的操作。
在435,接口415可以执行与写入命令相关联的第一操作。在一些情况下,第一操作可以包含为处理器420生成内部命令(例如,条目)。第一操作还可以包含接口415将条目存储到处理器420可用于从中检索条目的命令队列(例如,第一队列,未示出)。在一些情况下,条目可以包含与写入命令相关联的逻辑地址,使得如果处理器420检索到条目,则处理器420可以确定将相关联数据写入到的存储器系统410的物理地址。
在440,接口415可以识别包含于写入命令中的指示符的值。替代地,在一些实例中,接口415可以在执行第一操作(例如,在435)之前识别指示符的值。如本文描述,仅出于示例性目的,从测试系统405接收(例如,在430)的写入命令可指示第一值,其可指示存储器系统410抑制由处理器420和由存储控制器425执行的操作。抑制由处理器420和存储控制器425两者执行的操作在本文中可以被称为抑制与写入命令相关联的第二操作。
在445,处理器420和存储控制器425可以抑制与写入命令相关联的第二操作。在一些实例中,基于从接口415(未示出)传输的信令或由于不存在从接口415传输的信令,可以指示处理器420和存储控制器425避免执行第二操作。例如,接口415通常可以生成指示处理器420从命令队列中检索条目的信令。因此,通过避免传输此类信令,处理器420以及进而存储控制器425可以避免执行第二操作。在其它实例中,接口415可以主动生成指示处理器420避免从命令队列中检索条目的信令(未示出),这又可以使得处理器420和存储控制器425避免执行第二操作。存储控制器425避免执行第二操作还可抑制取决于第二操作的存储控制器的第三操作。
在450,接口415可以生成用于传输到测试系统405的响应。所述响应可以指示写入命令的完成,尽管第二操作被抑制。通过向测试系统405传输响应,测试系统405可以假设写入操作已经完成,尽管数据没有被写入与写入命令相对应的存储器系统410的物理地址。在455,接口415可以向测试系统405传输(例如,输出)响应。
在一些情况下(未示出),测试系统405可以基于接收到响应(例如,在455)来调整存储器系统410的一或多个性能度量。例如,如果对应于写入命令的写入操作遇到任何错误,则由于处理器420和存储控制器425执行的操作被抑制,测试系统405能够辨别在接口415处发生错误。另外或替代地,测试系统405能够通过确定在传输写入命令(例如,在430)与接收响应(例如,在455)之间经过的持续时间来调试与存储器系统410(或接口415,具体地)的时序参数相关的错误。因此,测试系统405可以调整存储器系统410的性能,这可以提高其整体性能。
在另一实例中,在460,测试系统405可以向存储器系统410传输写入命令(例如,第二写入命令)。第二写入命令可以由接口415接收。如本文描述,写入命令可以包含指示存储器系统410执行命令或抑制与写入命令相关联的一或多个操作的指示符。仅出于示例性目的,在440传输的第二写入命令可以包含第二值,其可指示存储器系统410抑制由存储控制器425执行的操作。
在465,接口415可以执行与第二写入命令相关联的第一操作。在一些情况下,第一操作可以包含为处理器420生成内部命令(例如,条目)。第一操作还可以包含接口415将条目存储到处理器420可用于从中检索条目的命令队列(例如,第一队列,未示出)。在一些情况下,条目可以包含与第二写入命令相关联的逻辑地址,使得如果处理器420检索到条目,则处理器420可以确定对其执行写入操作的存储器系统410的物理地址。
在470,接口415可以识别包含于第二写入命令中的指示符的值。替代地,在一些实例中,接口415可以在执行第一操作(例如,在465)之前识别指示符的值。如本文描述,仅出于示例性目的,从测试系统405接收(例如,在440)的第二写入命令可指示第二值,其可指示存储器系统410抑制由存储控制器425执行的操作。抑制由存储控制器425执行的操作在本文中可以被称为抑制与第二写入命令相关联的第三操作。
在475,处理器420可以执行与第二写入命令相关联的第二操作。在一些实例中,处理器420可以通过从接口415的存储队列中检索条目并确定与第二写入命令相关联的存储器系统410的物理地址来执行第二操作。在一些实例中,处理器420可以通过利用存储到存储器系统410(未示出)的存储器阵列的查找表,或通过利用存储到与处理器420(未示出)相关联的存储器的查找表的一部分,来确定存储器系统410的物理地址。
在480,存储控制器425可以抑制与第二写入命令相关联的第三操作。在一些实例中,基于从处理器420(未示出)传输的信令或由于不存在从处理器420传输的信令,可以指示存储控制器425避免执行第三操作。例如,处理器420通常可以生成将条目(包含物理地址)传达到存储控制器425的信令。因此,通过避免传输此类信令,存储控制器425可以避免执行第三操作。在其它实例中,处理器420可以主动生成指示存储控制器425避免将条目存储到存储队列(例如,第二存储队列,未示出)的信令(未示出)。
在485,处理器420可以向接口415传输指示第二操作完成的信令。在490,接口415可以生成响应以传输到测试系统405。响应可以指示第二写入命令的完成,尽管第三操作被抑制。通过向测试系统405传输响应,测试系统405可以假设第二写入操作已经完成,尽管数据没有被写入与第二写入命令相对应的存储器系统410的物理地址。在495,接口415可以向测试系统405传输(例如,输出)响应。
在一些情况下(未示出),测试系统405可以基于接收到响应(例如,在495)来调整存储器系统410的一或多个性能度量。例如,如果对应于第二写入命令的写入操作遇到任何错误,则由于存储控制器425执行的操作被抑制,测试系统405能够辨别在接口415或处理器420处发生错误。另外或替代地,测试系统405能够通过确定在传输写入命令(例如,在460)与接收响应(例如,在495)之间经过的持续时间来调试与存储器系统410的时序参数相关的错误。因此,测试系统405可以调整存储器系统410的性能,这可以提高其整体性能。
图5示出根据如本文公开的实例支持存储器装置的性能调整的存储器控制器520的框图500。存储器控制器520可以是如参考图1到4描述的存储器控制器的方面的实例。存储器控制器520或其各种组件可以是用于执行如本文描述的存储器装置的性能调整的各个方面的构件的实例。例如,存储器控制器520可以包含接收组件525、命令组件530、抑制组件535、输出组件540、检索组件545、存储组件550或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
接收组件525可以配置为或以其它方式支持用于进行以下操作的构件:在包含处理器和存储控制器的存储器系统的接口处接收读取命令,其中所述读取命令包含读取命令的部分执行的指示符。
命令组件530可以配置为或以其它方式支持用于进行以下操作的构件:由接口至少部分地基于接收到读取命令来执行与读取命令相关联的第一操作,所述第一操作包含针对处理器的命令队列基于读取命令的一或多个参数生成与读取命令相关联的条目。
在一些实例中,指示符包含第二值,并且命令组件530可以配置为或以其它方式支持用于进行以下操作的构件:由处理器至少部分地基于从命令队列中检索条目来执行与读取命令相关联的第二操作。
抑制组件535可以配置为或以其它方式支持用于进行以下操作的构件:至少部分地基于接口执行第一操作且基于读取命令的部分执行的指示符来抑制与读取命令相关联的一或多个附加操作,其中与读取命令相关联的一或多个附加操作由处理器、存储控制器或两者抑制。
在一些实例中,指示符包含第一值,并且抑制组件535可以配置为或以其它方式支持用于进行以下操作的构件:至少部分地基于指示符包含第一值来抑制与读取命令相关联的处理器的第二操作和与读取命令相关联的存储控制器的第三操作,其中输出响应至少部分地基于接口执行第一操作、处理器抑制第二操作以及存储控制器抑制第三操作。
在一些实例中,指示符包含第二值,并且抑制组件535可以配置为或以其它方式支持用于进行以下操作的构件:由存储控制器至少部分地基于指示符包含第二值来抑制与读取命令相关联的第三操作,其中输出响应至少部分地基于接口执行第一操作、处理器执行第二操作以及存储控制器抑制第三操作。
输出组件540可以配置为或以其它方式支持用于进行以下操作的构件:由接口至少部分地基于执行第一操作和抑制一或多个附加操作来输出指示存储器系统完成读取命令的响应,其中所述响应包含至少部分地基于抑制一或多个附加操作而生成的填充数据。
在一些实例中,指示符包含第二值,并且检索组件545可以配置为或以其它方式支持用于进行以下操作的构件:由处理器至少部分地基于接口执行第一操作以及指示符的第一值而从命令队列中检索条目。
在一些实例中,为了支持抑制与读取命令相关联的第三操作,存储组件550可以配置为或以其它方式支持用于进行以下操作的构件:避免将与读取命令相关联的条目存储到第二命令队列。
在一些实例中,与读取命令相关联的第二操作包含将与读取命令相关联的逻辑地址映射到存储器系统的物理地址。在一些实例中,与读取命令相关联的第三操作包含从与存储器系统的物理地址相关联的一或多个非易失性存储器单元读取数据。
图6示出根据如本文公开的实例支持存储器装置的性能调整的存储器控制器620的框图600。存储器控制器620可以是如参考图1到4描述的存储器控制器的方面的实例。存储器控制器620或其各种组件可以是用于执行如本文描述的存储器装置的性能调整的各个方面的构件的实例。例如,存储器控制器620可以包含接收组件625、命令组件630、抑制组件635、输出组件640、检索组件645、存储组件650或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
接收组件625可以配置为或以其它方式支持用于进行以下操作的构件:在包含处理器和存储控制器的存储器系统的接口处接收写入命令,其中所述写入命令包含写入命令的部分执行的指示符。
命令组件630可以配置为或以其它方式支持用于进行以下操作的构件:由接口至少部分地基于接收到写入命令来执行与写入命令相关联的第一操作,所述第一操作包含针对处理器的命令队列基于写入命令的一或多个参数生成与写入命令相关联的条目。
在一些实例中,指示符包含第二值,并且命令组件630可以配置为或以其它方式支持用于进行以下操作的构件:由处理器至少部分地基于从命令队列中检索条目来执行与写入命令相关联的第二操作。
抑制组件635可以配置为或以其它方式支持用于进行以下操作的构件:至少部分地基于接口执行与写入命令相关联的第一操作且基于写入命令的部分执行的指示符来抑制与写入命令相关联的一或多个附加操作,其中与写入命令相关联的一或多个附加操作由处理器、存储控制器或两者抑制。
在一些实例中,指示符包含第一值,并且抑制组件635可以配置为或以其它方式支持用于进行以下操作的构件:至少部分地基于指示符包含第一值来抑制与读取命令相关联的处理器的第二操作和与写入命令相关联的存储控制器的第三操作,其中输出响应至少部分地基于接口执行第一操作、处理器抑制第二操作以及存储控制器抑制第三操作。
在一些实例中,指示符包含第二值,并且抑制组件635可以配置为或以其它方式支持用于进行以下操作的构件:由存储控制器至少部分地基于指示符包含第二值来抑制与写入命令相关联的第三操作,其中输出响应至少部分地基于接口执行第一操作、处理器执行第二操作以及存储控制器抑制第三操作。
输出组件640可以配置为或以其它方式支持用于进行以下操作的构件:由接口至少部分地基于执行第一操作和抑制一或多个附加操作来输出指示存储器系统完成写入命令的响应。
在一些实例中,指示符包含第二值,并且检索组件645可以配置为或以其它方式支持用于进行以下操作的构件:由处理器至少部分地基于接口执行第一操作以及指示符的第一值而从命令队列中检索条目。
在一些实例中,为了支持抑制与写入命令相关联的第三操作,存储组件650可以配置为或以其它方式支持用于进行以下操作的构件:避免将与写入命令相关联的条目存储到第二命令队列。
在一些实例中,与写入命令相关联的第二操作包含将与写入命令相关联的逻辑地址映射到存储器系统的物理地址。
在一些实例中,写入组件655可以配置为或以其它方式支持用于进行以下操作的构件:至少部分地基于抑制与写入命令相关联的第三操作来避免将与写入命令相关联的数据写入到存储器系统的一或多个存储器单元。
在一些实例中,与写入命令相关联的第三操作包含将数据写入到与存储器系统的物理地址相关联的一或多个非易失性存储器单元。
图7示出流程图,示出根据如本文公开的实例支持存储器装置的性能调整的方法700。方法700的操作可由如本文描述的存储器控制器或其组件实施。例如,方法700的操作可由如参考图1到5描述的存储器控制器来执行。在一些实例中,存储器控制器可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器控制器可以使用专用硬件来执行所描述的功能的各方面。
在705,可以接收读取命令,所述读取命令包含所述读取命令的部分执行的指示符。例如,可以在包含处理器和存储控制器的存储器系统的接口处接收所述读取命令。705的操作可以根据如本文公开的实例来执行。在一些实例中,705的操作的方面可以由如参考图5描述的接收组件525来执行。
在710,可以至少部分地基于接收到读取命令来执行与读取命令相关联的第一操作。第一操作可以包含基于读取命令的一或多个参数生成与读取命令相关联的条目。例如,可以由接口执行第一操作并且可以针对处理器的命令队列生成读取命令。710的操作可以根据如本文公开的实例来执行。在一些实例中,710的操作的方面可以由如参考图5描述的命令组件530来执行。
在715,可以至少部分地基于执行第一操作且基于读取命令的部分执行的指示符来抑制与读取命令相关联的一或多个附加操作。例如,可以至少部分地基于接口执行第一操作且基于读取命令的部分执行的指示符来抑制与读取命令相关联的一或多个附加操作,其中由处理器、存储控制器或两者抑制与读取命令相关联的一或多个附加操作。715的操作可以根据如本文公开的实例来执行。在一些实例中,715的操作的方面可以由如参考图5描述的抑制组件535来执行。
在720,可以至少部分地基于执行第一操作和抑制一或多个附加操作来输出指示完成读取命令的响应。响应可以包含至少部分地基于抑制一或多个附加操作而生成的填充数据。例如,接口可以至少部分地基于执行第一操作和抑制一或多个附加操作来输出指示完成读取命令的响应。720的操作可以根据如本文公开的实例来执行。在一些实例中,720的操作的方面可以由如参考图5描述的输出组件540来执行。
在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法700。所述设备可以包含特征、电路系统、逻辑、构件或指令(存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合,用于执行本公开的以下方面:
方面1:所述设备,其包含特征、电路系统、逻辑、构件或指令或其任何组合,用于:在包含处理器和存储控制器的存储器系统的接口处接收读取命令,其中所述读取命令包含所述读取命令的部分执行的指示符;由所述接口至少部分地基于接收到所述读取命令来执行与所述读取命令相关联的第一操作,所述第一操作包含针对所述处理器的命令队列基于所述读取命令的一或多个参数生成与所述读取命令相关联的条目;至少部分地基于所述接口执行所述第一操作且基于所述读取命令的部分执行的所述指示符来抑制与所述读取命令相关联的一或多个附加操作,其中与所述读取命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述读取命令的响应,其中所述响应包含至少部分地基于抑制所述一或多个附加操作而生成的填充数据。
方面2:根据方面1所述的设备,其中所述指示符包含第一值,并且所述方法、设备和非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:至少部分地基于所述指示符包含所述第一值来抑制与所述读取命令相关联的所述处理器的第二操作和与所述读取命令相关联的所述存储控制器的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器抑制所述第二操作以及所述存储控制器抑制所述第三操作。
方面3:根据方面1到2中任一方面所述的设备,其中所述指示符包含第二值,并且所述方法、设备和非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:由所述处理器至少部分地基于所述接口执行所述第一操作以及所述指示符的所述第一值而从所述命令队列中检索所述条目;由所述处理器至少部分地基于从所述命令队列中检索所述条目来执行与所述读取命令相关联的第二操作;以及由所述存储控制器至少部分地基于所述指示符包含所述第二值来抑制与所述读取命令相关联的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器执行所述第二操作以及所述存储控制器抑制所述第三操作。
方面4:根据方面3所述的设备,其中抑制与所述读取命令相关联的所述第三操作进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:避免将与所述读取命令相关联的所述条目存储到所述第二命令队列。
方面5:根据方面3到4中任一方面所述的设备,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:与所述读取命令相关联的所述第二操作包含将与所述读取命令相关联的逻辑地址映射到所述存储器系统的物理地址。
方面6:根据方面3到5中任一方面所述的设备,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:与所述读取命令相关联的所述第三操作包含从与所述存储器系统的所述物理地址相关联的一或多个非易失性存储器单元读取数据。
图8示出流程图,示出根据如本文公开的实例支持存储器装置的性能调整的方法800。方法800的操作可由如本文描述的存储器控制器或其组件实施。例如,方法800的操作可由如参考图1到4和6描述的存储器控制器来执行。在一些实例中,存储器控制器可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器控制器可以使用专用硬件来执行所描述的功能的各方面。
在805,可以接收写入命令,所述写入命令包含所述写入命令的部分执行的指示符。例如,可以在包含处理器和存储控制器的存储器系统的接口处接收所述写入命令。805的操作可以根据如本文公开的实例来执行。在一些实例中,805的操作的方面可以由如参考图6描述的接收组件625来执行。
在810,可以至少部分地基于接收到写入命令来执行与写入命令相关联的第一操作。第一操作可以包含基于写入命令的一或多个参数生成与写入命令相关联的条目。例如,接口可以至少部分地基于接收到写入命令来执行与写入命令相关联的第一操作,并且第一操作可以针对处理器的命令队列生成。810的操作可以根据如本文公开的实例来执行。在一些实例中,810的操作的方面可以由如参考图6描述的命令组件630来执行。
在815,可以至少部分地基于执行与写入命令相关联的第一操作且基于写入命令的部分执行的指示符来抑制与写入命令相关联的一或多个附加操作。例如,接口可以执行与写入命令相关联的第一操作,并且可以由处理器、存储控制器或两者抑制与写入命令相关联的一或多个附加操作。815的操作可以根据如本文公开的实例来执行。在一些实例中,815的操作的方面可以由如参考图6描述的抑制组件635来执行。
在820,可以至少部分地基于执行第一操作和抑制一或多个附加操作来输出指示完成写入命令的响应。例如,接口可以输出指示存储器系统完成写入命令的响应。820的操作可以根据如本文公开的实例来执行。在一些实例中,820的操作的方面可以由如参考图6描述的输出组件640来执行。
在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法800。所述设备可以包含特征、电路系统、逻辑、构件或指令(存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合,用于执行本公开的以下方面:
方面7:所述设备,其包含特征、电路系统、逻辑、构件或指令或其任何组合,用于:在包含处理器和存储控制器的存储器系统的接口处接收写入命令,其中所述写入命令包含所述写入命令的部分执行的指示符;由所述接口至少部分地基于接收到所述写入命令来执行与所述写入命令相关联的第一操作,所述第一操作包含针对所述处理器的命令队列基于所述写入命令的一或多个参数生成与所述写入命令相关联的条目;至少部分地基于所述接口执行与所述写入命令相关联的所述第一操作且基于所述写入命令的部分执行的所述指示符来抑制与所述写入命令相关联的一或多个附加操作,其中与所述写入命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述写入命令的响应。
方面8:根据方面7所述的设备,其中所述指示符包含第一值,并且所述方法、设备和非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:至少部分地基于所述指示符包含所述第一值来抑制与所述读取命令相关联的所述处理器的第二操作和与所述写入命令相关联的所述存储控制器的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器抑制所述第二操作以及所述存储控制器抑制所述第三操作。
方面9:根据方面7到8中任一方面所述的设备,其中所述指示符包含第二值,并且所述方法、设备和非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:由所述处理器至少部分地基于所述接口执行所述第一操作以及所述指示符的所述第一值而从所述命令队列中检索所述条目;由所述处理器至少部分地基于从所述命令队列中检索所述条目来执行与所述写入命令相关联的第二操作;以及由所述存储控制器至少部分地基于所述指示符包含所述第二值来抑制与所述写入命令相关联的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器执行所述第二操作以及所述存储控制器抑制所述第三操作。
方面10:根据方面9所述的设备,其中抑制与所述写入命令相关联的所述第三操作进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:避免将与所述写入命令相关联的所述条目存储到所述第二命令队列。
方面11:根据方面9到10中任一方面所述的设备,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:与所述写入命令相关联的所述第二操作包含将与所述写入命令相关联的逻辑地址映射到所述存储器系统的物理地址。
方面12:根据方面11所述的设备,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:至少部分地基于抑制与所述写入命令相关联的所述第三操作来避免将与所述写入命令相关联的数据写入到所述存储器系统的一或多个存储器单元。
方面13:根据方面9到12中任一方面所述的设备,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于:与所述写入命令相关联的所述第三操作包含将数据写入到与所述存储器系统的所述物理地址相关联的一或多个非易失性存储器单元。
应注意,上文所描述的方法描述了可能的实施方案,且操作和步骤可重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
可使用多种不同技术和技艺中的任一个来表示本文描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能引用的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,则组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,则控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当……时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,则所述术语可互换。
术语“响应于”可指由于先前条件或动作而至少部分地(如果不完全地)发生的一个条件或动作。例如,可进行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可进行第一条件或动作,且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可进行第一条件或动作,且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。
本文论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(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.根据权利要求3所述的设备,其中所述存储控制器包括第二命令队列,并且其中所述存储控制器配置成通过以下方式抑制与所述读取命令相关联的所述第三操作:
避免将与所述读取命令相关联的所述条目存储到所述第二命令队列。
5.根据权利要求3所述的设备,其中与所述读取命令相关联的所述第二操作包括将与所述读取命令相关联的逻辑地址映射到所述存储器系统的物理地址。
6.根据权利要求5所述的设备,其中与所述读取命令相关联的所述第三操作包括从与所述存储器系统的所述物理地址相关联的一或多个非易失性存储器单元读取数据。
7.一种设备,其包括:
存储器系统,其包括接口、处理器和存储控制器,其中:
所述接口配置成使得所述设备:
接收写入命令,所述写入命令包括所述写入命令的部分执行的指示符;以及
至少部分地基于接收到所述写入命令来执行与所述写入命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述写入命令的一或多个参数生成与所述写入命令相关联的条目;并且
所述处理器或所述存储控制器中的至少一者配置成使得所述设备:
至少部分地基于所述接口执行与所述写入命令相关联的所述第一操作且基于所述写入命令的部分执行的所述指示符来抑制与所述写入命令相关联的一或多个附加操作,其中与所述写入命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及
至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示完成所述写入命令的响应。
8.根据权利要求7所述的设备,其中所述指示符包括第一值,并且其中所述处理器或所述存储控制器中的至少一者配置成使得所述设备:
至少部分地基于所述指示符包括所述第一值来抑制与所述写入命令相关联的所述处理器的第二操作和与所述写入命令相关联的所述存储控制器的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器抑制所述第二操作以及所述存储控制器抑制所述第三操作。
9.根据权利要求7所述的设备,其中所述指示符包括第二值,并且其中:
所述处理器配置成使得所述设备:
至少部分地基于所述接口执行所述第一操作以及所述指示符的所述第二值而从所述命令队列中检索所述条目;以及
至少部分地基于从所述命令队列中检索所述条目来执行与所述写入命令相关联的第二操作;并且
所述存储控制器配置成使得所述设备:
至少部分地基于所述指示符包括所述第二值来抑制与所述写入命令相关联的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器执行所述第二操作以及所述存储控制器抑制所述第三操作。
10.根据权利要求9所述的设备,其中所述存储控制器包括第二命令队列,并且其中所述存储控制器配置成通过以下方式抑制与所述写入命令相关联的所述第三操作:
避免将与所述写入命令相关联的所述条目存储到所述第二命令队列。
11.根据权利要求9所述的设备,其中与所述写入命令相关联的所述第二操作包括将与所述写入命令相关联的逻辑地址映射到所述存储器系统的物理地址。
12.根据权利要求11所述的设备,其中所述处理器或所述存储控制器中的至少一者配置成使得所述设备:
至少部分地基于抑制与所述写入命令相关联的所述第三操作来避免将与所述写入命令相关联的数据写入到所述存储器系统的一或多个存储器单元。
13.根据权利要求11所述的设备,其中与所述写入命令相关联的所述第三操作包括将数据写入到与所述存储器系统的所述物理地址相关联的一或多个非易失性存储器单元。
14.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使得所述电子装置:
在包括处理器和存储控制器的存储器系统的接口处接收读取命令,其中所述读取命令包括所述读取命令的部分执行的指示符;
由所述接口至少部分地基于接收到所述读取命令来执行与所述读取命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述读取命令的一或多个参数生成与所述读取命令相关联的条目;
至少部分地基于所述接口执行所述第一操作且基于所述读取命令的部分执行的所述指示符来抑制与所述读取命令相关联的一或多个附加操作,其中与所述读取命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及
由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述读取命令的响应,其中所述响应包括至少部分地基于抑制所述一或多个附加操作而生成的填充数据。
15.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指示符包括第一值,并且其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
至少部分地基于所述指示符包括所述第一值来抑制与所述读取命令相关联的所述处理器的第二操作和与所述读取命令相关联的所述存储控制器的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器抑制所述第二操作以及所述存储控制器抑制所述第三操作。
16.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指示符包括第二值,并且其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
由所述处理器至少部分地基于所述接口执行所述第一操作以及所述指示符的所述第二值而从所述命令队列中检索所述条目;
由所述处理器至少部分地基于从所述命令队列中检索所述条目来执行与所述读取命令相关联的第二操作;以及
由所述存储控制器至少部分地基于所述指示符包括所述第二值来抑制与所述读取命令相关联的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器执行所述第二操作以及所述存储控制器抑制所述第三操作。
17.根据权利要求16所述的非暂时性计算机可读媒体,其中抑制与所述读取命令相关联的所述第三操作的所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
避免将与所述读取命令相关联的所述条目存储到存储队列。
18.根据权利要求16所述的非暂时性计算机可读媒体,其中与所述读取命令相关联的所述第二操作包括将与所述读取命令相关联的逻辑地址映射到所述存储器系统的物理地址。
19.根据权利要求18所述的非暂时性计算机可读媒体,其中与所述读取命令相关联的所述第三操作包括从与所述存储器系统的所述物理地址相关联的一或多个非易失性存储器单元读取数据。
20.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使得所述电子装置:
在包括处理器和存储控制器的存储器系统的接口处接收写入命令,其中所述写入命令包括所述写入命令的部分执行的指示符;
由所述接口至少部分地基于接收到所述写入命令来执行与所述写入命令相关联的第一操作,所述第一操作包括针对所述处理器的命令队列基于所述写入命令的一或多个参数生成与所述写入命令相关联的条目;
至少部分地基于所述接口执行与所述写入命令相关联的所述第一操作且基于所述写入命令的部分执行的所述指示符来抑制与所述写入命令相关联的一或多个附加操作,其中与所述写入命令相关联的所述一或多个附加操作由所述处理器、所述存储控制器或两者抑制;以及
由所述接口至少部分地基于执行所述第一操作和抑制所述一或多个附加操作来输出指示所述存储器系统完成所述写入命令的响应。
21.根据权利要求20所述的非暂时性计算机可读媒体,其中所述指示符包括第一值,并且其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
至少部分地基于所述指示符包括所述第一值来抑制与所述写入命令相关联的所述处理器的第二操作和与所述写入命令相关联的所述存储控制器的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器抑制所述第二操作以及所述存储控制器抑制所述第三操作。
22.根据权利要求20所述的非暂时性计算机可读媒体,其中所述指示符包括第二值,并且其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
由所述处理器至少部分地基于所述接口执行所述第一操作以及所述指示符的所述第二值而从所述命令队列中检索所述条目;
由所述处理器至少部分地基于从所述命令队列中检索所述条目来执行与所述写入命令相关联的第二操作;以及
由所述存储控制器至少部分地基于所述指示符包括所述第二值来抑制与所述写入命令相关联的第三操作,其中输出所述响应至少部分地基于所述接口执行所述第一操作、所述处理器执行所述第二操作以及所述存储控制器抑制所述第三操作。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中抑制与所述写入命令相关联的所述第三操作的所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
避免将与所述写入命令相关联的所述条目存储到存储队列。
24.根据权利要求22所述的非暂时性计算机可读媒体,其中与所述写入命令相关联的所述第二操作包括将与所述写入命令相关联的逻辑地址映射到所述存储器系统的物理地址。
25.根据权利要求24所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
至少部分地基于抑制与所述写入命令相关联的所述第三操作来避免将与所述写入命令相关联的数据写入到所述存储器系统的一或多个存储器单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/646,256 US20230205456A1 (en) | 2021-12-28 | 2021-12-28 | Performance tuning for a memory device |
US17/646,256 | 2021-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116364161A true CN116364161A (zh) | 2023-06-30 |
Family
ID=86897687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211685145.0A Pending CN116364161A (zh) | 2021-12-28 | 2022-12-27 | 存储器装置的性能调整 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230205456A1 (zh) |
CN (1) | CN116364161A (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005025829A (ja) * | 2003-06-30 | 2005-01-27 | Toshiba Corp | ディスク記憶装置及びデータストリーム制御方法 |
-
2021
- 2021-12-28 US US17/646,256 patent/US20230205456A1/en active Pending
-
2022
- 2022-12-27 CN CN202211685145.0A patent/CN116364161A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230205456A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114882927B (zh) | 存储器装置的事件管理 | |
CN115248662A (zh) | 动态超级块 | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
CN116897342A (zh) | 存储器装置的偏压控制 | |
US20240176518A1 (en) | Parameter table protection for a memory system | |
US12019877B2 (en) | Metadata allocation in memory systems | |
US11899963B2 (en) | Suspension during a multi-plane write procedure | |
CN116610251A (zh) | 执行写入操作的技术 | |
US20230205425A1 (en) | Sacrificial block pool | |
US11604609B1 (en) | Techniques for command sequence adjustment | |
US11955203B2 (en) | Techniques to mitigate memory die misalignment | |
US11922069B2 (en) | Adaptive block mapping | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US11934303B2 (en) | Atomic write operations | |
CN116364161A (zh) | 存储器装置的性能调整 | |
US20240176491A1 (en) | Erase operation for a memory system | |
US20230376225A1 (en) | Techniques for memory system rebuild | |
US11687291B2 (en) | Techniques for non-consecutive logical addresses | |
US20240231702A1 (en) | Multiplane data transfer commands | |
US20240201860A1 (en) | Address mappings for random access operations | |
US12014077B2 (en) | Rating-based mapping of data to memory | |
US11972109B2 (en) | Two-stage buffer operations supporting write commands | |
US20240086070A1 (en) | Read disturb management for memory | |
WO2023173361A1 (en) | Techniques for efficiently handling misaligned sequential reads | |
US20240078022A1 (en) | Memory system logical unit number procedures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |