CN113360091A - 用于存取操作的内部命令 - Google Patents

用于存取操作的内部命令 Download PDF

Info

Publication number
CN113360091A
CN113360091A CN202110230990.8A CN202110230990A CN113360091A CN 113360091 A CN113360091 A CN 113360091A CN 202110230990 A CN202110230990 A CN 202110230990A CN 113360091 A CN113360091 A CN 113360091A
Authority
CN
China
Prior art keywords
core
memory subsystem
command
memory
access operation
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.)
Granted
Application number
CN202110230990.8A
Other languages
English (en)
Other versions
CN113360091B (zh
Inventor
J·特拉韦尔
赵宁
T·V·耶于肯思
李鋆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113360091A publication Critical patent/CN113360091A/zh
Application granted granted Critical
Publication of CN113360091B publication Critical patent/CN113360091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请案涉及用于存取操作的内部命令。存储器子系统可接收执行存取操作的请求。所述存储器子系统的第一核心可产生用于执行所述存取操作的内部命令。所述内部命令可包含用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别。所述第一核心可发出执行所述存取操作的所述内部命令,且所述存储器子系统的第二核心可将所述信息存储于所述参考队列的所述命令输入中。

Description

用于存取操作的内部命令
交叉参考
本专利申请案主张特拉弗(Traver)等人在2020年3月4日申请的标题为“用于存取操作的内部命令(INTERNAL COMMANDS FOR ACCESS OPERATIONS)”的第16/809,371号美国专利申请案的优先权,所述美国专利申请案被转让给其受让人且以其全文引用方式明确并入本文中。
技术领域
技术领域涉及用于存取操作的内部命令。
背景技术
存储器子系统可为存储装置、存储器模块及存储装置与存储器模块的混合。存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统在存储器装置处存储数据及从所述存储器装置检索数据。
发明内容
描述一种方法。在一些实例中,所述方法可包含:接收对存储器子系统执行存取操作的请求;使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
描述一种系统。在一些实例中,所述系统可包含:多个存储器组件;及处理装置,其与所述多个存储器组件可操作地耦合以:接收对存储器子系统执行存取操作的请求;使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
描述一种非暂时性计算机可读存储媒体。在一些实例中,所述非暂时性计算机可读存储媒体可包含指令,所述指令在由处理装置执行时致使所述处理装置:接收对存储器子系统执行存取操作的请求;使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
附图说明
将从下文给出的详细描述及从本发明的各种实施例的附图更完全理解本发明。然而,图式不应被视为将本发明限于特定实施例,而是仅供解释及理解。
图1说明根据本发明的一些实施例的包含存储器子系统的计算系统的实例。
图2是根据本发明的一些实施例的用于存取操作的内部命令的实例方法的流程图。
图3是根据本发明的一些实施例的用于存取操作的内部命令的实例系统的框图。
图4是根据本发明的一些实施例的用于存取操作的内部命令的实例存储器子系统的框图。
图5是本发明的实施例可操作于其中的实例计算机系统的框图。
具体实施方式
本发明的方面涉及用于存取操作的内部命令。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可提供存储于存储器子系统处的数据且可请求从存储器子系统检索的数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。平面可被分组成逻辑单元(LUN)。针对一些类型的非易失性存储器装置(例如NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器单元(“单元”)组成。单元是存储信息的电子电路。数据块在下文指代用于存储数据的存储器装置的单元且可包含存储器单元群组、字线群组、字线或个别存储器单元。
数据操作可由存储器子系统执行。数据操作可为主机启动的操作。举例来说,主机系统可对存储器子系统启动数据操作(例如写入、读取、擦除等)。主机系统可将存取请求(例如写入命令、读取命令)发送到存储器子系统,例如将数据存储于存储器子系统处的存储器装置上及从存储器子系统上的存储器装置读取数据。
在存储器单元(例如与非(NAND)存储器单元(例如NAND快闪存储器单元))的传统存取操作中,命令可从主机系统传输到各个存储器裸片。命令可与对一或多个存储器单元执行的不同存取操作(例如读取操作、写入操作等)相关联。传统上,为了执行存取操作,命令队列可经填充有与存取操作相关的信息。接着,可发出存储于队列中的命令且可执行存取操作。然而,命令队列可定位于相对远离存储器装置的处理器定位的专用存储器单元中,且存取命令队列因此要花费额外时间。与存取相关联的额外使用时间会增加对一或多个存储器单元执行存取操作的延时。改进存取操作的时序的系统可为有益的。
本发明的方面通过利用内部命令(例如B命令)对存储器子系统执行存取操作来解决上述及其它缺点。举例来说,处理核心(例如第一处理核心、前端处理核心)可产生用于对存储器子系统执行存取操作的内部命令。内部命令可包含与存取命令相关的识别信息。举例来说,内部命令可包含能够存储于队列中的信息。当发出内部命令时,可执行相关联存取操作(例如,由一或多个后端处理核心)。
在一些实施例中,将与存取操作相关的信息存储于定位于存储器子系统的存储器中的队列(例如参考队列)中可为有用的。当发出内部命令时,存储器子系统的一或多个第二核心(例如后端核心)可用与存取操作相关的信息填充参考队列。即,内部命令的结构可允许独立于填充参考队列而执行存取操作。原本由于第一处理核心及第二处理核心存取参考队列而引发的任何延时可通过用信号通知内部命令中的信息来消除。利用内部命令对存储器子系统执行存取操作可减少延时且改进与存储器子系统的存取操作相关联的时序。
首先在参考图1所描述的计算环境的上下文中描述本发明的特征。在参考图2到4所描述的流程图及框图的上下文中描述本发明的特征。本发明的这些及其它特征通过与参考图5所描述的用于存取操作的内部命令相关的计算机系统进一步说明及参考所述计算机系统描述。
图1说明根据本发明的一些实施例的包含存储器子系统110的计算系统100的实例。存储器子系统110可包含媒体,例如一或多个非易失性存储器装置(例如存储器装置130)、一或多个易失性存储器装置(例如存储器装置140)或此类装置的组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动(SSD)、快闪驱动、通用串行总线(USB)快闪驱动、嵌入式多媒体控制器(eMMC)驱动、通用快闪存储(UFS)驱动、安全数字(SD)卡及硬盘驱动(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)及各种类型的非易失性DIMM(NVDIMM)。
计算系统100可为计算装置,例如桌面计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如飞机、无人机、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如包含于运载工具、工业设备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的此计算装置。
计算系统100可包含与一或多个存储器子系统110耦合的主机系统105。在一些实施例中,主机系统105与不同类型的存储器子系统110耦合。图1说明与一个存储器子系统110耦合的主机系统105的一个实例。如本文中使用,“耦合到”或“与…耦合”一般指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论有线还是无线,包含例如电连接、光学连接、磁性连接及类似物的连接。
主机系统105可包含处理器芯片组及由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如NVDIMM控制器)及存储协议控制器(例如PCIe控制器、SATA控制器)。主机系统105使用存储器子系统110(例如)将数据写入到存储器子系统110及从存储器子系统110读取数据。
主机系统105可使用物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、USB接口、光纤通道、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双倍数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如支持双倍数据速率(DDR)的DIMM套接字接口))、开放式NAND快闪接口(ONFI)、双倍数据速率(DDR)、低功耗双倍数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统105与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统105耦合时,主机系统105可进一步利用非易失性存储器高速(NVMe)接口存取组件(例如存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统105之间传送控制、地址、数据及其它信号的接口。图1将存储器子系统110说明为实例。一般来说,主机系统105可经由相同通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态RAM(DRAM)及同步DRAM(SDRAM)。
非易失性存储器装置的一些实例(例如存储器装置130)包含与非(NAND)型快闪存储器及原位写入存储器,例如三维交叉点(“3D交叉点”)存储器,其是非易失性存储器单元的交叉点阵列。交叉点非易失性存储器阵列可基于体电阻变化连同可堆叠交叉栅格式数据存取阵列执行位存储。另外,与许多基于快闪的存储器形成对比,交叉点非易失性存储器可执行原位写入操作,其中可在不事先擦除非易失性存储器单元的情况下编程所述非易失性存储器单元。NAND型快闪存储器包含例如二维NAND(2D NAND)及三维NAND(3D NAND)。
例如单电平单元(SLC)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)及五电平单元(PLC)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130中的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可经分组为页,其可指代用于存储数据的存储器装置的逻辑单元。就一些类型的存储器(例如NAND)来说,页可经分组以形成块。
尽管描述了例如NAND型快闪存储器(例如2D NAND、3D NAND)及非易失性存储器单元的3D交叉点阵列的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电RAM(FeRAM)、磁阻RAM(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、或非(NOR)快闪存储器及电可擦除可编程ROM(EEPROM)。
存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或此类的组合。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))或其它合适处理器。
存储器子系统控制器115可包含经配置以执行存储于本地存储器125中的指令的处理器120(例如处理装置)。在说明实例中,存储器子系统控制器115的本地存储器125包含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程及例程(包含处置存储器子系统110与主机系统105之间的通信)的指令的嵌入式存储器。
在一些实施例中,本地存储器125可包含存储存储器指针、提取数据等的存储器寄存器。本地存储器125还可包含用于存储微代码的ROM。虽然已将图1中的实例存储器子系统110说明为包含存储器子系统控制器115,但在本发明的另一实例中,存储器子系统110不包含存储器子系统控制器115,而是可依靠外部控制(例如由外部主机或与存储器子系统分离的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统105接收命令或操作且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130及/或存储器装置140的期望存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如磨损均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及逻辑地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含经由物理主机接口与主机系统105通信的主机接口电路系统。主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130及/或存储器装置140,且还将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统105的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其连同存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是管理型存储器装置,其是与用于相同存储器装置封装内的媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。管理型存储器装置的实例是管理型NAND(MNAND)装置。
存储器子系统110包含可处置存储器子系统110与主机系统105之间的通信的命令管理器150。一些存储器子系统110可包含执行操作的多于一个处理核心。举例来说,存储器子系统110可包含产生及发出经配置以启动对存储器子系统110的存取操作的内部命令(例如B命令)的第一处理核心。内部命令可包含存储于允许存储器子系统110管理存取操作的队列(例如参考队列)中的信息。当第一核心发出内部命令时,可由第二处理核心对存储器单元执行相关联存取操作。另外或替代地,第二处理核心可将与存取操作相关联的信息存储于参考队列中。
在一些实施例中,存储器子系统控制器115包含命令管理器150的至少一部分。举例来说,存储器子系统控制器115可包含经配置以执行存储于本地存储器125中的指令以执行本文中描述的操作的处理器120(例如处理装置)。在一些实施例中,命令管理器150是主机系统105的部分、应用程序或操作系统。
为了减轻由于参考队列与第一处理器核心之间的接近度的延时,命令管理器150可经配置以启动由第一核心发出内部命令及启动由第二核心将与内部命令相关联的信息存储到参考队列。举例来说,命令管理器150可经配置以由第一处理核心发出内部命令,此可导致由第二核心对存储器单元执行相关联存取操作。另外或替代地,命令管理器可启动(例如指示)第二核心将与内部命令相关联的信息存储到参考队列。使用第一核心产生及发出内部命令及使用第二核心将与内部命令相关联的信息存储到参考队列可减少执行存取操作的延时且增加存储器子系统110的整体处理能力。
用于存取队列的额外时间通常导致对一或多个存储器单元执行存取操作的增加延时。改进存取操作的时序的系统可为有益的。
图2是根据本发明的一些实施例的用于存取操作的内部命令的实例方法的流程图200。流程图200中包含的步骤可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,流程图200中执行的步骤可由图1的命令管理器150执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。说明实例应被理解为仅作为实例,且说明过程可以不同顺序执行,且一些过程可并行执行。另外,可在各个实例中省略一或多个过程。并非在每个实例中都需要所有过程。其它方法流是可能的。
在操作205,处理逻辑接收对存储器子系统执行存取操作的请求。处理逻辑可从主机系统接收请求。
在操作210,处理逻辑产生用于对存储器子系统执行存取操作的内部命令。内部命令可使用存储器子系统的第一核心产生且可包含用于存储于存储器子系统的参考队列中的信息及参考队列的命令输入的识别。在一些实施例中,内部命令包含用于读取一页数据的读取命令或用于写入一或多页数据的写入命令。
内部命令可与经分配给内部命令的参考队列中的单个命令输入相关联。在一些实施例中,内部命令可为用于对存储器子系统执行读取操作的第一大小及用于对存储器子系统执行其它存取操作的第二大小。第一大小可小于第二大小。在一些实施例中,内部命令的信息可包含用于对存储器子系统执行存取操作的信息。
在操作215,处理逻辑发出对存储器子系统执行存取操作的内部命令。内部命令可由存储器子系统的第一核心发出。
在操作220,处理逻辑将信息存储于参考队列的命令输入中。信息可由存储器子系统的一或多个第二核心存储于命令输入中且可基于发出内部命令来存储。
在一些实施例中,处理逻辑发出包含参考队列中的命令输入的指示符及存取操作的状态的响应消息。响应消息可由存储器子系统的第二核心发出。处理逻辑基于接收到响应消息而确定存取操作是否被成功执行。在一些实施例中,处理逻辑使用第一核心确定存取操作是否被成功执行。
处理逻辑可基于接收到响应消息而确定与存取操作相关联的错误。在一些实施例中,处理逻辑从由第一核心及存储器子系统的额外第一核心共享的存储器检索内部命令的信息。处理逻辑可使用第一核心校正与存取操作相关联的错误。
在一些实施例中,处理逻辑将指示存取操作被成功执行的消息传输到主机系统。处理逻辑可使用第一核心传输消息。在一些实施例中,存储器子系统包含用于与主机系统通信的多个第一核心及用于与存储器子系统的存储器装置通信的多个第二核心。第二核心可不同于第一核心。
处理逻辑识别参考队列中的命令输入。在一些实施例中,参考队列可包含用于对存储器子系统执行存取操作的多个命令输入。处理逻辑可使用存储器子系统的第一核心识别参考队列中的命令输入。在一些实施例中,处理逻辑对存储器子系统执行存取操作。处理逻辑可使用第二核心执行存取操作。
图3是根据本发明的一些实施例的用于存取操作的内部命令的实例系统300的框图。系统300可包含与存储器子系统310通信的主机系统305。主机系统305可为参考图1描述的主机系统105的实例。存储器子系统310可为参考图1描述的存储器子系统110的实例。存储器子系统310的组件可接收及传输与存取操作(例如读取操作及/或写入操作)相关联的通信。
在一些实施例中,存取操作可与存储器装置320的一或多个存储器单元(例如NAND存储器单元)相关联。为了执行存取操作,不同操作可由不同处理核心执行。举例来说,存取操作的部分可涉及产生内部命令及发出所述内部命令以对存储器子系统310执行存取操作。在一些实施例中,内部命令可为或可指代B命令。此部分可由第一核心315-a执行。存取操作的另一部分可涉及将信息存储于参考队列345的命令输入中,此可由第二核心315-b执行。在一些实例中,参考队列345可包含于存储器装置320内或可经定位于存储器装置320外部。第二核心315-b还可基于从第一核心315-a接收内部命令来存取存储器装置的存储器单元。在一些实施例中,参考队列可经填充有与存取命令相关的信息以便执行存取命令。存取操作的部分可由与各个管理器及/或装置相关联的一或多个处理核心执行。由与第一核心管理器相关联的一或多个处理核心处理的信息可通过与转译管理器相关联的一或多个处理核心导引到与第二核心管理器相关联的一或多个处理核心。参考图4描述关于各个管理器的处理核心的额外细节。
系统300可包含与存储器子系统310通信的主机系统305。存储器子系统310可包含第一核心315-a、第二核心315-b及存储器装置320。存储器子系统310的第一核心315-a及第二核心315-b可为与存储器子系统310的转译管理器相关联的处理核心的实例。在一些实施例中,第一核心315-a可包含多个核心(例如四(4)个核心),且第二核心315-b可包含多个核心(例如四(4)个核心)。存储器子系统310可包含固件,其包含各自与处理核心相关联的第一核心管理器(例如前端层)、转译管理器及第二核心管理器。
主机系统305可发出从存储器子系统310检索数据的存取命令325(例如读取命令、写入命令或其它类型的命令)。存储器子系统310可接收从代表主机系统305的存储器装置320检索数据的存取命令325。
存取命令325可由存储器子系统310的第一核心315-a接收及处理。当处理存取命令325时,第一核心315-a可识别从主机系统305接收的存取命令325的类型或识别存取命令325的一或多个参数。
在操作330,第一核心315-a可产生用于对存储器装置320执行存取操作的内部命令。内部命令可包含用于存储于参考队列345中的信息及参考队列345的命令输入的识别。在一些实施例中,参考队列345可为存储器子系统310用于对存储器装置320执行存取命令的硬件且可存储与各个存取命令相关的信息。参考队列345中的命令输入可与各个内部命令相关联。举例来说,内部命令与参考队列345的命令输入之间可存在1:1关系。即,内部命令可经分配给参考队列中的特定时隙(例如时隙号1)。内部命令可经填充有指示时隙号1用于错误处置或其它目的的信息,如本文中描述。
当内部命令由第一核心315-a产生时,参考队列345中的命令输入可经分配给内部命令。与参考队列345中的命令输入相关联的信息可用于产生内部命令,此可允许第一核心315-a确定相关联存取操作是否被成功执行。即,内部命令与参考队列345的命令输入之间的关系可允许存储器子系统作出关于存取操作的与性能(例如,存取操作是否成功)、质量(例如错误处置)及类似物相关的特定确定。
在一些实施例中,第一核心315-a可包含共享于核心中的每一者之间的存储器。举例来说,第一核心315-a可包含在核心之间共享存储器的四(4)个核心。存储器可用于存储(例如临时存储)所产生的内部命令。一旦产生了内部命令,则内部命令可经存储于共享存储器中且可从存储器发出(例如,发出到存储器装置320)。在一些实施例中,内部命令可保持存储于共享存储器中,直到作出一或多个性能及/或质量确定。举例来说,如果存取操作不成功,那么存储器装置320(及/或第二核心315-b)可向第一核心315-a指示此。
第一核心315-a可接收内部命令的指示(例如内部命令的标识符)及存取操作的状态,且可比较所述状态与存储于共享存储器中的内部命令。通过将内部命令存储于由第一核心315-a共享的存储器中,第一核心315-a可接收相对较小消息(例如内部命令的指示及存取操作的状态),此可改进存储器子系统的性能。将内部命令用于存取操作还可节省与存取操作相关联的时间。举例来说,内部命令可经发出以在将信息存储于参考队列345的命令输入中之前执行存取操作。由于参考队列345的位置(即,由于参考队列345接近第一核心315-a),存取参考队列345以便执行存取操作可能较耗时。然而,可通过使用内部命令存取存储器装置320(例如,独立于存取参考队列345)来更快执行存取操作。
在操作335,第一核心315-a可将内部命令发出到存储器装置320。内部命令可例如经由第二核心315-b(及例如通信通道340及350)发出到存储器装置320。当存储器装置320处接收到内部命令时,可对相关联存储器单元执行存取操作。在一些实施例中,存取操作可由第二核心315-b执行。第二核心315-b可经较佳装配以执行存取命令。即,第一核心315-a可负责执行例如产生内部命令的操作;第二核心315-b可负责执行更少操作,从而允许执行存取操作。内部命令的性质可基于待执行的类型操作。举例来说,内部命令可与单页数据或多页数据的存取操作(例如多平面读取或写入)相关联。
除指示存取操作的类型之外,内部命令的大小可为可变的。举例来说,内部命令的大小可随单页存取操作对多平面存取操作而变化,且还随读取操作对写入操作而变化。在一些实施例中,内部命令可在用于多平面存取操作(对单页存取操作)及写入操作(对读取操作)时较大(例如,包含更多信息、为更大大小等)。即,与单页存取操作及读取操作相关联的内部命令的大小可小于与多平面存取操作及写入操作(或除读取操作之外的存取操作)相关联的内部命令。
在操作360,第二核心315-b可存储与参考队列345的命令输入中的内部命令相关联的信息。信息可通过例如可为双向通信通道的通信通道340及/或通信通道350存储到参考队列345。即,第一核心315-a可经由通信通道340与第二核心315-b通信(且反之亦然),且第二核心315-b可经由通信通道350与存储器装置320通信(且反之亦然)。第一核心315-a可将内部命令的信息传送到第二核心315-b,此可将信息存储到参考队列345中的命令输入。
将与内部命令相关联的信息存储到参考队列345中的命令输入可允许存储器子系统310高效执行与性能(例如,存取操作是否成功)、质量(例如错误处置)及类似物相关的任务。举例来说,参考队列345的命令输入中与内部命令相关联的信息可经更新以指示存取操作的状态(例如,存取操作是被成功执行还是未被成功执行)。此信息可经提供到第一核心315-a,第一核心315-a接着可高效确定存取操作是否成功或是否需要再次执行存取操作。
另外或替代地,通过利用第二核心315-b将信息存储到参考队列345中的命令输入,第一核心315-a可继续处理存取命令、产生内部命令、确定存取操作是否被成功执行及类似物。即,当第一核心315-a在执行其它操作时,第二核心315-b可将信息存储到参考队列345中的命令输入,此可改进存储器子系统的存取操作的整体性能及时序。
在其它实例中,参考队列345中的一或多个命令输入可包含相关联存取操作的状态。举例来说,如果与特定命令输入相关联的存取操作成功,那么可相应地更新命令输入。第二核心315-b可产生及发出消息到第一核心315-a,所述消息包含参考队列345中的特定命令输入的指示符及相关联状态两者。当第一核心315-a接收到消息时,第一核心315-a可基于与包含于消息中的命令输入相关联的状态确定存取操作是否被成功(或不成功)执行。
举例来说,第一核心315-a可从主机系统305接收存取命令且可产生相关联内部命令。内部命令可经临时存储于由第一核心315-a共享的存储器中且可经发出到存储器装置320。在发出内部命令之后,与内部命令相关联的信息可经存储(例如,通过第二核心315-b)到参考队列345的命令输入。可成功执行存取操作,且可相应地更新与存储于命令输入中的内部命令相关联的信息。第二核心315-b可产生包含关于与成功存取操作相关联的内部命令的识别信息及存取操作被成功执行的消息。此消息可经提供到第一核心315-a,此可基于识别信息识别内部命令。第一核心315-a还可确定与内部命令相关联的存取操作被成功执行,且在一些实例中,可向主机系统305指示此。
如果存取操作成功,那么第一核心315-a可确定与存取操作相关联的错误。举例来说,如果与特定命令输入相关联的存取操作不成功,那么可相应地更新命令输入。第二核心315-b可产生及发出消息到第一核心315-a,所述消息包含参考队列345中的特定命令输入的指示符及相关联状态。当存取操作不成功时,第一核心315-a可使用识别信息存取存储于共享存储器中的内部命令。不同第一核心315-a可负责错误处置而非产生及/或发出内部命令。举例来说,一个第一核心315-a可产生及/或发出内部命令,且另一第一核心315-a可校正与存取操作相关联的任何错误。
在一些实施例中,第一核心315-a可校正在存取操作期间发生的错误,此可包含重新发出对存储器装置320执行存取操作的内部命令。在一些实施例中,第一核心315-a及第二核心315-b可继续相应操作,直到错误被校正且存取操作被成功执行。当存取操作被成功执行时,第一核心315-a可向主机系统305指示此。
图4是根据本发明的一些实施例的用于存取操作的内部命令的实例存储器子系统400的框图。存储器子系统可包含固件405。固件405可包含第一核心管理器410(有时称为前端层)、转译管理器415(有时称为快闪转译层或FTL)及第二核心管理器420(有时称为后端层)。核心可为处理器(例如处理器120)、处理器的一或多个部分、处理装置(例如处理装置505)、处理装置的一或多个部分或此类事物的组合的实例,如本文中描述。核心可为经配置以执行一或多个指令以执行一或多个操作的任何电路、处理器、硬件或装置。
第一核心管理器410可经配置为主机系统与存储器子系统之间的接口。举例来说,第一核心管理器410可经配置以接收、处理及/或解译从主机系统接收及传输到主机系统的命令及其它通信。一或多个核心425可用于执行第一核心管理器410的功能。举例来说,第一核心425-a、第二核心425-b及第N核心425-N可用于实施第一核心管理器410的功能。在一些实施例中,这些核心425专用于执行第一核心管理器410的功能。在一些实施例中,一或多个这些核心425可用于执行第一核心管理器410、转译管理器415或第二核心管理器420或此类事物的组合的功能。N可表示任何正整数个核心。
第二核心管理器420可经配置为存储器子系统与存储器子系统的存储器装置之间的接口。举例来说,第二核心管理器420可经配置以接收、处理及/或解译从存储器装置接收及传输到存储器装置的数据及其它通信。一或多个核心435可用于执行第二核心管理器420的功能。举例来说,第一核心435-a、第二核心435-b及第N核心435-N可用于实施第二核心管理器420的功能。在一些实施例中,这些核心435专用于执行第二核心管理器420的功能。在一些实施例中,一或多个这些核心435可用于执行第一核心管理器410、转译管理器415或第二核心管理器420或此类事物的组合的功能。N可表示任何正整数个核心。
转译管理器415可经配置为第一核心管理器410与第二核心管理器420之间的接口。在一些实施方案中,由主机系统使用的命令及信令方案可不同于由存储器装置使用的命令及信令方案。为了促进主机系统与代表主机系统存储数据的存储器装置之间的通信,转译管理器415可将主机系统信息转译或否则转换成存储器装置信息且反之亦然。一或多个核心430可用于执行转译管理器415的功能。举例来说,第一核心430-a、第二核心430-b及第N核心430-N可用于实施转译管理器415的功能。在一些实施例中,这些核心430专用于执行转译管理器415的功能。在一些实施例中,一或多个这些核心430可用于执行第一核心管理器410、转译管理器415或第二核心管理器420或此类事物的组合的功能。N可表示任何正整数个核心。
参考图3描述的第一核心315-a及第二核心315-b可分别为第一核心管理器410的核心425及第二核心管理器420的核心435的实例。在此类实例中,接收存取命令且产生及发出内部命令的第一核心315-a可为第N核心425-N中的任何者。另外或替代地,将信息存储于参考队列的命令输入中的第二核心315-b可为第N核心435-N中的任何者。在一些例子中,第一核心管理器410的第一核心425-a可接收存取命令,且产生及发出内部命令。存取操作可由转译管理器415的一或多个核心430、第二核心管理器420的一或多个核心435、存储器装置或此类事物的组合执行。举例来说,一或多个核心430及一或多个核心435可用于基于核心425发出内部命令来执行存取操作。在一些实施例中,第二核心管理器420的一或多个核心435可基于核心425中的一者发出内部命令来将信息存储于参考队列的命令输入中。
图5是本发明的实施例可操作于其中的实例计算机系统500的框图。计算机系统500可包含用于致使机器执行本文中描述的技术中的任一或多者的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如参考图1描述的主机系统105),其包含存储器子系统(例如参考图1描述的存储器子系统110)、与所述存储器子系统耦合或利用所述存储器子系统或可用于执行控制器的操作(例如,执行操作系统以执行对应于参考图1描述的命令管理器150的操作)。在一些实施例中,机器可连接(例如,联网)到局域网(LAN)、内部网、外部网及/或因特网中的其它机器。机器可充当客户端-服务器网络环境中的服务器或客户端机器、对等(或分布式)网络环境中的对等机器或云计算基础设施或环境中的服务器或客户端机器。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(循序或以其它方式)执行指定由所述机器采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还可包含个别或联合执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
实例计算机系统500可包含处理装置505、主存储器510(例如ROM、快闪存储器、DRAM(例如SDRAM或Rambus DRAM(RDRAM)等)、静态存储器515(例如快闪存储器、静态RAM(SRAM))等)及数据存储系统525,其等经由总线545彼此通信。
处理装置505表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置505还可为一或多个专用处理装置,例如ASIC、FPGA、DSP、网络处理器或类似物。处理装置505经配置以执行用于执行本文中论述的操作及步骤的指令535。计算机系统500可进一步包含网络接口装置520以通过网络540通信。
数据存储系统525可包含其上存储一或多组指令535或体现本文中描述的方法论或功能中的任一或多者的软件的机器可读存储媒体530(也称为计算机可读媒体)。指令535也可在其由计算机系统500执行期间完全或至少部分驻存于主存储器510及/或处理装置505内,主存储器510及处理装置505也构成机器可读存储媒体。机器可读存储媒体530、数据存储系统525及/或主存储器510可对应于存储器子系统。
在一个实例中,指令535包含实施对应于命令管理器550(例如参考图1描述的命令板管理器150)的功能性的指令。虽然将机器可读存储媒体530展示为单个媒体,但术语“机器可读存储媒体”可包含单个媒体或存储一或多组指令的多个媒体。术语“机器可读存储媒体”还可包含能够存储或编码由机器执行的一组指令且致使机器执行本发明的方法论中的任一或多者的任何媒体。术语“机器可读存储媒体”可包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现以上详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用于向所属领域的其它技术人员最有效传达其工作实质的方式。算法在此通常被设想为导致期望结果的自相一致操作序列。操作是需要物理量的物理操纵的操作。通常但不一定,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、数字或类似物有时被证明是方便的。
然而,应记住,所有这些及类似术语都应与适当物理量相关联,且仅为应用于这些量的方便标签。本发明可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据且将所述数据变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本发明还涉及用于执行本文中的操作的设备。此设备可为了预期目的而特殊构造,或其可包含由存储于计算机中的计算机程序选择性激活或重新配置的通用计算机。此计算机程序可经存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、ROM、RAM、EPROM、EEPROM、磁或光卡或适于存储电子指令的任何类型的媒体,其等各自耦合到计算机系统总线。
本文中呈现的算法及显示器不与任何特定计算机或其它设备内在相关。各种通用系统可根据本文中的教示来结合程序使用,或可证明构造更专门设备来执行方法是方便的。用于各种这些系统的结构将如下文描述中陈述那样出现。另外,本发明不参考任何特定编程语言描述。应了解,各种编程语言可用于实施本发明的教示。
本发明可经提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本发明的过程。机器可读媒体包含用于以可由机器(例如计算机)读取的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如ROM、RAM、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在以上说明中,已参考本发明的特定实例性实例描述其实例。显而易见,在不背离随附权利要求书中所陈述的本发明的实例的较宽精神及范围的情况下,可对本发明做出各种修改。因此,说明书及图式应被视为意在说明而非限制。

Claims (20)

1.一种方法,其包括:
接收对存储器子系统执行存取操作的请求;
使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;
由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及
由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
2.根据权利要求1所述的方法,其进一步包括:
由所述一或多个第二核心发出包括所述参考队列中的所述命令输入的指示符及所述存取操作的状态的响应消息;及
由所述第一核心至少部分基于接收到所述响应消息来确定所述存取操作是否被成功执行。
3.根据权利要求2所述的方法,其进一步包括:
在所述第一核心处至少部分基于接收到所述响应消息来确定与所述存取操作相关联的错误。
4.根据权利要求3所述的方法,其进一步包括:
从由所述第一核心及所述存储器子系统的额外第一核心共享的存储器检索所述内部命令的所述信息;及
在所述存储器子系统的所述第一核心处校正与所述存取操作相关联的所述错误。
5.根据权利要求2所述的方法,其进一步包括:
由所述第一核心将指示所述存取操作被成功执行的消息传输到主机系统。
6.根据权利要求1所述的方法,其中用于执行所述存取操作的所述内部命令包括用于读取一页数据的读取命令或用于写入一或多页数据的写入命令。
7.根据权利要求1所述的方法,其中所述内部命令与经分配给所述内部命令的所述参考队列中的单个命令输入相关联。
8.根据权利要求1所述的方法,其中所述内部命令包括用于对所述存储器子系统执行读取操作的第一大小及用于对所述存储器子系统执行其它存取操作的第二大小,其中所述第一大小小于所述第二大小。
9.根据权利要求1所述的方法,其中所述存储器子系统包括:
多个第一核心,其用于与主机系统通信;及
多个第二核心,其不同于所述多个第一核心且用于与所述存储器子系统的存储器装置通信。
10.根据权利要求1所述的方法,其进一步包括:
使用所述存储器子系统的所述第一核心识别所述参考队列中的所述命令输入,其中所述参考队列包括多个命令输入,所述多个命令输入用于对所述存储器子系统执行存取操作。
11.根据权利要求1所述的方法,其进一步包括:
由所述一或多个第二核心对所述存储器子系统执行所述存取操作。
12.根据权利要求1所述的方法,其中所述内部命令的所述信息包括:
用于对所述存储器子系统执行所述存取操作的信息。
13.一种系统,其包括:
多个存储器组件;及
处理装置,其与所述多个存储器组件可操作地耦合以:
接收对存储器子系统执行存取操作的请求;
使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;
由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及
由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
14.根据权利要求13所述的系统,其进一步包括:
所述处理装置进一步:
由所述一或多个第二核心发出包括所述参考队列中的所述命令输入的指示符及所述存取操作的状态的响应消息;及
由所述第一核心至少部分基于接收到所述响应消息来确定所述存取操作是否被成功执行。
15.根据权利要求14所述的系统,其进一步包括:
所述处理装置进一步:
在所述第一核心处至少部分基于接收到所述响应消息来确定与所述存取操作相关联的错误。
16.根据权利要求15所述的系统,其进一步包括:
所述处理装置进一步:
从由所述第一核心及所述存储器子系统的额外第一核心共享的存储器检索所述内部命令的所述信息;及
在所述存储器子系统的所述额外第一核心处校正与所述存取操作相关联的所述错误。
17.根据权利要求14所述的系统,其进一步包括:
所述处理装置进一步:
由所述第一核心将指示所述存取操作被成功执行的消息传输到主机系统。
18.根据权利要求13所述的系统,其中用于执行所述存取操作的所述内部命令包括用于读取一页数据的读取命令或用于写入一或多页数据的写入命令。
19.根据权利要求13所述的系统,其中所述内部命令与经分配给所述内部命令的所述参考队列中的单个命令输入相关联。
20.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时致使所述处理装置:
接收对存储器子系统执行存取操作的请求;
使用所述存储器子系统的第一核心产生内部命令,所述内部命令用于对所述存储器子系统执行所述存取操作且包括用于存储于所述存储器子系统的参考队列中的信息及所述参考队列的命令输入的识别;
由所述第一核心发出对所述存储器子系统执行所述存取操作的所述内部命令;及
由所述存储器子系统的一或多个第二核心至少部分基于发出包括所述参考队列中的所述命令输入的所述识别的所述内部命令来将所述信息存储于所述参考队列的所述命令输入中。
CN202110230990.8A 2020-03-04 2021-03-02 用于存取操作的内部命令 Active CN113360091B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/809,371 2020-03-04
US16/809,371 US11137943B2 (en) 2020-03-04 2020-03-04 Internal commands for access operations

Publications (2)

Publication Number Publication Date
CN113360091A true CN113360091A (zh) 2021-09-07
CN113360091B CN113360091B (zh) 2022-05-10

Family

ID=77524841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110230990.8A Active CN113360091B (zh) 2020-03-04 2021-03-02 用于存取操作的内部命令

Country Status (2)

Country Link
US (2) US11137943B2 (zh)
CN (1) CN113360091B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11137943B2 (en) * 2020-03-04 2021-10-05 Micron Technology, Inc. Internal commands for access operations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593084A (zh) * 2008-05-21 2009-12-02 三星电子株式会社 存储器系统和操作存储器系统的方法
CN102439576A (zh) * 2009-04-09 2012-05-02 美光科技公司 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法
CN109997109A (zh) * 2016-12-20 2019-07-09 德州仪器公司 具有提取提前滞后的流引擎
US10503438B1 (en) * 2018-08-24 2019-12-10 Micron Technology, Inc. Memory sub-system supporting non-deterministic commands
US20200050395A1 (en) * 2018-08-08 2020-02-13 Micron Technology, Inc. Quality of Service Control for Read Operations in Memory Systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4109770B2 (ja) * 1998-12-02 2008-07-02 キヤノン株式会社 通信制御方法及び機器
JP3990833B2 (ja) * 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US7076636B1 (en) * 2001-10-05 2006-07-11 Emc Corporation Data storage system having an improved memory circuit board configured to run scripts
CN102598686B (zh) * 2010-08-06 2016-08-17 松下知识产权经营株式会社 再现装置、集成电路、再现方法
US10649775B2 (en) * 2013-07-15 2020-05-12 Texas Instrum Ents Incorporated Converting a stream of data using a lookaside buffer
KR20160064364A (ko) * 2014-11-27 2016-06-08 삼성전자주식회사 패스트 오픈을 위한 어드레스 맵 운영방법 및 그에 따른 메모리 시스템
US11467769B2 (en) * 2015-09-28 2022-10-11 Sandisk Technologies Llc Managed fetching and execution of commands from submission queues
US9778855B2 (en) * 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10852956B1 (en) * 2016-06-30 2020-12-01 Cadence Design Systems, Inc. Structure of a high-bandwidth-memory command queue of a memory controller with external per-bank refresh and burst reordering
GB2556024B (en) * 2016-08-25 2021-12-08 Nicoventures Trading Ltd Electronic vapour provision device with absorbent element
US10908901B2 (en) * 2017-06-29 2021-02-02 Texas Instruments Incorporated Streaming engine with early exit from loop levels supporting early exit loops and irregular loops
KR20200076491A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
TWI786288B (zh) * 2019-04-09 2022-12-11 韓商愛思開海力士有限公司 儲存裝置、儲存裝置的控制方法及記錄媒體
US11137914B2 (en) * 2019-05-07 2021-10-05 Western Digital Technologies, Inc. Non-volatile storage system with hybrid command
US11093180B2 (en) * 2019-09-27 2021-08-17 Dell Products L.P. RAID storage multi-operation command system
KR20210055514A (ko) * 2019-11-07 2021-05-17 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11137943B2 (en) * 2020-03-04 2021-10-05 Micron Technology, Inc. Internal commands for access operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593084A (zh) * 2008-05-21 2009-12-02 三星电子株式会社 存储器系统和操作存储器系统的方法
CN102439576A (zh) * 2009-04-09 2012-05-02 美光科技公司 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法
CN109997109A (zh) * 2016-12-20 2019-07-09 德州仪器公司 具有提取提前滞后的流引擎
US20200050395A1 (en) * 2018-08-08 2020-02-13 Micron Technology, Inc. Quality of Service Control for Read Operations in Memory Systems
US10503438B1 (en) * 2018-08-24 2019-12-10 Micron Technology, Inc. Memory sub-system supporting non-deterministic commands

Also Published As

Publication number Publication date
US11137943B2 (en) 2021-10-05
US11726716B2 (en) 2023-08-15
CN113360091B (zh) 2022-05-10
US20210405929A1 (en) 2021-12-30
US20210278995A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US11656983B2 (en) Host-resident translation layer write command
CN115836277A (zh) 检查存储器子系统中的多个存储器裸片的状态
US20230161509A1 (en) Dynamic selection of cores for processing responses
CN113093990B (zh) 存储器子系统处的数据块切换
CN116547656A (zh) 具有用于命令处理的专用部分的存储器装置接口
CN113360089A (zh) 用于存储器子系统的命令批处理
CN113360091B (zh) 用于存取操作的内部命令
US20230176972A1 (en) Memory performance during program suspend protocol
US11720490B2 (en) Managing host input/output in a memory system executing a table flush
US20230129363A1 (en) Memory overlay using a host memory buffer
CN113495695B (zh) 用于存取命令的高速缓存标识符
US11847349B2 (en) Dynamic partition command queues for a memory device
US11693597B2 (en) Managing package switching based on switching parameters
CN113094293B (zh) 存储器系统及相关方法和计算机可读存储介质
US11868642B2 (en) Managing trim commands in a memory sub-system
US11899972B2 (en) Reduce read command latency in partition command scheduling at a memory device
CN113127385B (zh) 对存储器子系统的性能控制
US20230058232A1 (en) Partition command queues for a memory device
CN115843379A (zh) 用来改进顺序存储器命令性能的存储器命令聚合
CN115512749A (zh) 部分经编程存储器单元的擦除
CN113127385A (zh) 对存储器子系统的性能控制

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
GR01 Patent grant
GR01 Patent grant