CN116547656A - 具有用于命令处理的专用部分的存储器装置接口 - Google Patents
具有用于命令处理的专用部分的存储器装置接口 Download PDFInfo
- Publication number
- CN116547656A CN116547656A CN202180076384.3A CN202180076384A CN116547656A CN 116547656 A CN116547656 A CN 116547656A CN 202180076384 A CN202180076384 A CN 202180076384A CN 116547656 A CN116547656 A CN 116547656A
- Authority
- CN
- China
- Prior art keywords
- interface
- memory
- memory device
- data
- commands
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Read Only Memory (AREA)
Abstract
经由接口的第一部分将与存储器装置的一或多个存储器裸片相关联的一组存储器命令传达到所述存储器装置。致使经由所述接口的第二部分将对应于所述一组存储器命令的一组数据突发传达到所述一或多个存储器裸片,其中所述一组存储器命令中的一或多者与所述一组数据突发中的一或多者并发地经由所述第一接口传达。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及具有用于命令处理的专用部分的存储器装置接口。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。举例来说,所述存储器装置可为非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统来将数据存储于存储器装置处及从存储器装置检索数据。
附图说明
从下面给出的详细描述及从本公开的各种实施例的附图中,将更全面地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是根据本公开的一些实施例的使用独立命令接口来管理与存储器装置的通信的实例方法的流程图。
图3说明根据本公开的一些实施例的包含具有命令接口部分的存储器装置接口的实例控制器。
图4是根据本公开的一些实施例的用以管理并发的命令通信与数据突发通信的实例方法的流程图。
图5是根据本公开的一些实施例的包含用于将命令传达到存储器装置的命令接口的实例存储器装置接口。
图6是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及存储器子系统的有效输入/输出(IO)扩展器。存储器子系统可为存储器装置、存储器模块或存储装置与存储器模块的混合体。下面结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个组件的存储器子系统,所述组件例如存储数据的存储器装置。主机系统可提供待存储在存储器子系统处的数据,并且可请求待从存储器子系统检索的数据。
存储器子系统可包含高密度非易失性存储器装置,其中在没有向存储器装置供应电力时需要留存数据。非易失性存储器装置的一个实例是“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由一组页面组成。每一页面由一组存储器单元(“若干单元”)组成。单元是存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,并具有与所存储的位的数目相关的各种逻辑状态。逻辑状态可由二进制值表示,例如“0”及“1”,或此类值的组合。
存储器子系统可包含存储器子系统的控制器与存储器装置之间的接口,以处理与存储器装置的一或多次传送或通信有关的多个不同信号。例如,接口处理与存储器存取命令(例如,命令/地址循环)相关的信号,以配置存储器装置以使得能够结合存储器存取操作(例如,读取操作、编程操作等)传送原始数据。另外,接口(例如,输入/输出(I/O)或主数据总线)结合各种存储器存取命令处理存储器装置与主机系统之间的若干组数据的传送(例如,也称为“数据突发”的数据循环)。例如,接口处置包含从主机系统到存储器装置的原始存储器数据的通信(例如,数据输入突发)及包含从存储器装置到主机系统的原始存储器数据的通信(例如,数据输出突发)。
某些存储器子系统接口包含主接口总线,其在与存储器装置的输入/输出数据突发通信与控制器与存储器装置之间的命令通信之间共享。在这些系统中,接口(例如,开放式NAND快闪接口(ONFI))经配置以串行处理存储器装置命令(例如,命令/地址循环)及数据突发通信。由于命令及数据突发两者都需要使用主接口总线,因此其只能交替用于处理命令或数据突发。因此,当经由接口处理命令时,在可由接口处理数据突发通信之前,需要完成命令/地址循环。此外,当接口经由接口向存储器装置发出数据突发时,接口不能够并发处理存储器存取命令。另外,除存储器装置命令及数据突发通信外,这些接口还经配置以处理状态轮询通信(例如,向相应存储器装置传输通信以检查先前发出的存储器存取操作的状态)。因此,共享接口要求控制器一次选择状态轮询、存储器装置命令或数据突发通信中的一者来经由接口进行传输,因为没有启用并行处理。
另外,某些存储器子系统包含多平面存储器装置,其中存储器存取操作可在多平面存储器装置的单独平面上并发执行。在此类系统中,每一多平面存储器装置可包含多个处理装置,其经配置以在不同时间帧处理多个存储器存取操作。例如,这些系统可在一个平面中处理存储器装置的读取操作,且在预定延迟之后,在不同平面中处理对同一存储器装置的另一读取操作。然而,归因于同一通道上的并发数据突发,能够在这些异步多平面处理系统中接受命令的存储器装置可能被禁止这样做,从而导致延迟的执行。
本公开的方面通过存储器子系统来解决上述及其它缺陷,所述存储器子系统包含存储器装置接口,其经配置有经指定或指派用于处理存储器存取命令的第一部分及经指定或指派用于处理数据突发的第二部分。在实施例中,存储器装置接口包含具有一或多个引脚的第一部分,所述引脚经指派以传输与存储器子系统的一或多个存储器装置相关联的存储器装置命令(例如,命令/地址循环)。存储器子系统的控制器识别与存储器装置的存储器裸片相关联的存储器装置命令,控制器使用存储器装置接口的第一部分(也称为“命令接口”或“命令接口部分”)来处理存储器装置命令。在实施例中,命令接口可由控制器使用来向一或多个存储器装置传输状态轮询通信。
接口包含第二部分,其具有经指派以处理数据突发通信的一或多个引脚(本文称为“数据突发接口”或“数据突发接口部分”)。响应于识别数据突发通信,控制器致使经由存储器装置接口的经指定数据突发接口部分来处理数据突发通信。
在实施例中,接口可包含经指派用于或专用于处理状态轮询通信的接口的第三部分。在此实施例中,接口的第三部分(也称为“状态轮询接口”)可通过将接口的现有一或多个引脚指派到状态轮询通信的处理来实施,或者通过向接口添加额外一或多个引脚来处理状态轮询通信来实施。
另外,本公开的优点包含(但不限于)命令与数据突发的并发处理。此外,专用命令及数据突发接口使得能够在状态轮询通信期间并行处理数据突发通信。双接口的另一优点是,当经由命令接口发出命令时,不利用数据接口,从而避免由与同一通道相关联的存储器装置中的每一者消耗泄漏电流。因而,使用专用命令接口使得能够进行存储器装置管理,其中仅所选择存储器装置被开启导致由仅所选择存储器装置(例如,从控制器接收所发出命令的存储器装置)消耗泄漏电流,从而实现空闲状态电流消耗节省。
图1说明根据本公开的一或多个实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合体。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它交通工具)、具有物联网(IoT)能力的装置、嵌入式计算机(例如,包含在交通工具、工业装备或联网商业装置中的计算机),或包含存储器及处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文使用,“耦合到”或“与...耦合”一般是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线的还是无线的,包含例如电连接、光学连接、磁连接等。
主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,NVDIMM控制器)及存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120例如使用存储器子系统110将数据写入存储器子系统110及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附接(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM插槽接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口以在存储器子系统110通过PCIe接口与主机系统120耦合时存取组件(例如,存储器装置130)。所述物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由相同通信连接、多个单独通信连接及/或通信连接的组合来存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任一组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包括“与非”(NAND)型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格数据存取阵列基于体电阻的改变执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可对非易失性存储器单元进行编程而无需事先擦除非易失性存储器单元。NAND型快闪存储器包含例如二维NAND(2D NAND)及三维NAND(3D NAND)。
存储器装置130中的每一者可包含存储器单元的一或多个阵列。一种类型的存储器单元(例如单电平单元(SLC))可每单元存储一个位。其它类型的存储器单元(例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC))可每单元存储多个位。在一些实施例中,存储器装置130中的每一者可包含存储器单元的一或多个阵列,例如SLC、MLC、TLC、QLC或此类的任一组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可被分组为可指代用于存储数据的存储器装置的逻辑单位的页面。针对一些类型的存储器(例如,NAND),页面可经分组以形成块。
尽管描述例如非易失性存储器单元的3D交叉点阵列的非易失性存储器组件及NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移转矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、“或非”(NOR)快闪存储器以及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或为简单起见为控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作以及其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路及/或离散组件、缓冲器存储器或其组合的硬件。硬件可包含具有用以执行本文所描述的操作的专用(即,硬编码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适处理器。
存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储用于执行各种过程、操作、逻辑流程以及控制存储器子系统110的操作的例程的嵌入式存储器,所述操作包含处置存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可包含存储存储器指针、获取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。尽管图1中的实例存储器子系统110已经说明为包含存储器子系统控制器115,但在本公开的另一实施方案中,存储器子系统110不包含存储器子系统控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换为指令或适当命令以实现对存储器装置130的期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作以及与存储器装置130相关联的逻辑块地址(例如,逻辑块地址(LBA)、命名空间)与物理块地址(例如,物理块地址)之间的地址转变。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统120接收的命令转换为命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130的高速缓存或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器)。
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是被管理存储器装置,其包含原始存储器装置130,所述原始存储器装置130具有位于裸片上的控制逻辑(例如,本地媒体控制器135)及用于同一存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)。被管理存储器装置的实例是被管理NAND(MNAND)装置。
存储器子系统110包含接口管理组件113以使用存储器装置接口处理通信,所述存储器装置接口具有专用于处理命令的第一部分(也称为“命令接口”)及专用于处理与存储器装置140、130相关联的数据突发的第二部分(也称“数据突发接口”)。在一些实施例中,控制器115包含接口管理组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的指令以执行本文所描述的操作。在一些实施例中,接口管理组件113是主机系统120、应用程序或操作系统的部分。
接口管理组件113管理命令接口,以处理从控制器115经由公共或共享通道传输到耦合到命令接口的一或多个存储器装置的一或多个命令。在操作中,当发出与目标存储器装置的目标存储器裸片相关联的新命令时,经由命令接口将命令传输到目标存储器装置。
在实施例中,接口管理组件113还管理数据突发接口,以处理对应于存储器装置140、130与主机系统120之间的一或多个存储器存取操作(例如,读取操作、编程操作等)的一或多组原始数据。在操作中,当要传输与存储器存取操作相关联的数据突发时,数据突发经由数据突发接口传输到目标存储器装置。有利的是,命令接口及数据突发接口彼此独立,且因而可并发使用。这使得控制器115能够使用相应命令接口及数据突发接口并行处理命令及数据突发。在实施例中,控制器115可经由命令接口传输状态轮询通信,从而使得能够处理状态轮询及数据突发。在实施例中,接口可包含专用于由控制器115进行状态轮询服务的额外部分。在此实施例中,接口的引脚可被指派或指定用于处理状态轮询通信,或者可添加额外引脚来服务于状态轮询通信。
有利的是,接口管理组件113可致使经由命令接口并发或并行传输命令,以及经由数据突发接口并发或并行传输数据突发。独立命令接口通过使得能够将数据总线仅用于数据突发通信来最大化效率。另外,与经由数据突发接口传输数据突发并发地使用命令接口或专用状态轮询接口来轮询存储器装置的状态并执行获取操作(例如,获取特征数据操作、获取修整数据操作等)。
图2是根据本公开的一些实施例的使用独立命令接口来管理与存储器装置的通信的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的接口管理组件113执行。
在操作210,经由接口的一部分将命令传达到存储器装置。例如,存储器子系统的控制器的处理逻辑经由接口的第一部分将与存储器装置的一或多个存储器裸片相关联的一组存储器装置命令传达到存储器装置。在实施例中,使得能够在控制器与一或多个存储器装置之间进行通信的存储器装置接口包含第一部分(也称为“命令接口”或“命令接口部分”)。在实施例中,第一部分(例如,命令接口)由处理逻辑指定用于处理从控制器到一或多个存储器装置的命令。在实施例中,处理逻辑通过指派一或多个引脚来传输与存储器子系统的一或多个存储器装置相关联的存储器装置命令(例如命令/地址循环)来建立命令接口。在实施例中,所述一组存储器命令可包含来自控制器的用于准备或配置存储器装置(也称为“目标存储器装置”)的命令循环及地址循环。例如,处理逻辑可指派接口的引脚中的一或多者(例如,地址锁存启用(ALE)引脚、命令锁存启用(CLE)引脚及写入启用(WE#)引脚)专用于处理存储器装置命令。在实施例中,命令接口部分可进一步用于向一或多个存储器装置传输状态轮询通信。
在操作220,经由接口的另一部分将数据突发传达到存储器装置。例如,控制器的处理逻辑可致使经由接口的第二部分将对应于所述一组存储器装置命令的一组数据突发传达到一或多个存储器裸片,其中所述一组存储器命令中的一或多者与所述一组数据突发中的一或多者并发地经由第一接口传达。在实施例中,存储器装置接口使得能够经由第二接口部分(也称为“数据突发接口”或“数据突发接口部分”)来传达与主机起始的存储器存取操作相关联的一或多个数据突发。在实施例中,第二部分(例如,数据突发接口)由处理逻辑指定用于处理数据输入突发(例如,从主机系统到目标存储器裸片的若干组数据)及数据输出突发(例如,来自目标存储器裸片的若干组数据)。在实施例中,处理逻辑指定或指派与主接口总线相关联的一或多个引脚(例如,接口的双向数据总线或DQ总线引脚及数据选通信号(DQS)引脚)来结合存储器存取操作的执行在主机系统与存储器装置之间传输数据突发。
在实施例中,处理逻辑及并行使用命令接口部分及数据突发接口部分。因而,可同时执行操作210及220,使得与经由数据突发接口部分传达一或多个数据突发并发地经由命令接口部分传达一或多个命令。
图3说明根据实施例的实例控制器315,实例控制器315包含耦合到存储器装置340的存储器装置接口320,存储器装置340包含一组存储器裸片(例如,存储器裸片1、存储器裸片2、存储器裸片3…存储器裸片N)。存储器装置接口320包含一组接口引脚(例如,接口引脚1、接口引脚2…接口引脚X)。在实施例中,存储器装置接口320包含命令接口322,命令接口322包含被指派或专用于处理从控制器315到存储器装置340的命令的接口引脚的第一部分(例如,接口引脚7、接口引脚8及接口引脚9)。在实施例中,命令接口322是存储器装置接口320的独立部分,其由控制器315用来传输与存储器装置340的一或多个存储器裸片相关联的存储器装置命令(例如,命令/地址循环)。在实例中,命令接口322可包含专用于处理存储器装置命令的地址锁存启用(ALE)引脚、命令锁存启用(CLE)引脚及写入启用(WE#)引脚。尽管图3中未展示,但应注意,多个存储器装置可连接到存储器装置接口320。
如在图3中所展示,存储器装置接口320还包含数据突发接口324,数据突发接口324包含经指派用于或专用于处理主机系统与存储器装置340之间的数据突发的接口引脚的第二部分(例如,接口引脚1及接口引脚2)。在实施例中,与主I/O或数据总线相关联的存储器装置接口320的一部分(例如,DQ及DQS接口引脚)可用于在主机系统与存储器装置340之间传输数据突发。有利的是,如在图3中所展示,使用独立命令接口322来服务于命令通信使得能够并发传输命令(经由命令接口322)及数据突发(经由数据突发接口)。
在实施例中,命令接口322可进一步用于向存储器装置340传输状态轮询通信。这使得能够并发地处理状态轮询通信与数据突发通信。在实施例中,存储器装置接口320的单独部分可被指派或指定用于服务于状态轮询通信。在此实施例中,可使用一或多个现有接口引脚或通过添加额外接口引脚来建立状态轮询接口326。
图4是根据本公开的一些实施例的使用命令接口及数据突发接口来管理与存储器装置相关联的并发的命令通信与数据突发通信的实例方法200的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的接口管理组件113执行。
在操作410处,建立命令接口。例如,控制器的处理逻辑指派通信地耦合到包含一组存储器裸片的存储器装置的接口的第一部分来处理来自控制器的一或多个命令。在实施例中,接口的第一部分表示专用于结合与所述存储器装置的所述一组存储器裸片相关的一或多个存储器存取操作来服务于控制器起始的到存储器装置的命令的命令接口。在实施例中,接口的第一部分可被指派用于或进一步专用于服务于控制器与存储器装置之间的状态轮询通信。
在操作420处,建立数据通信接口。例如,控制器的处理逻辑指派接口的第二部分来处理与存储器装置相关联的一或多个数据通信。在实施例中,接口的第一部分(例如,图3的命令接口322)及第二部分(例如,图3的数据突发接口324)彼此独立,从而允许并发地处理命令与数据突发通信。
在操作430处,产生命令。例如,控制器的处理逻辑产生与存储器装置的第一目标存储器裸片相关联的命令。在实施例中,命令可包含与结合由主机系统起始的存储器存取操作(例如,读取操作、编程操作等)配置第一目标存储器裸片相关的信息。
在操作440处,传达命令。例如,控制器的处理逻辑经由接口的第一部分将命令传达到第一目标存储器裸片。在实施例中,使用命令接口(例如,图3的命令接口322)而不使用与数据突发通信相关联的接口的部分(例如,图3的数据突发接口324)来传输第一命令。
在操作450处,识别数据通信。例如,控制器的处理逻辑识别与存储器装置的第二目标存储器裸片相关联的数据通信。在实施例中,第一目标存储器裸片(例如,图3的存储器裸片1)及第二目标存储器裸片(例如,图3的存储器裸片2)是同一存储器装置(例如,图3的存储器装置340)内的两个不同存储器裸片。在实施例中,与第二目标存储器裸片相关联的数据通信可包含与对应于第二目标存储器裸片的存储器存取操作相关联的数据输入突发或数据输出突发。
在操作460处,并发地传达命令与数据通信。例如,处理逻辑致使数据通信与经由接口的第一部分传输命令并发地经由接口的第二部分被传达。在实施例中,鉴于使用接口的单独且独立的第一部分及第二部分,命令的传输与数据通信重叠。在实施例中,数据通信可与多个不同命令并发地传输。在实施例中,数据通信可与经由接口的第一部分或接口的单独部分(例如,第三部分)传输的一或多个状态轮询通信并发地传输。
图5说明实例存储器装置接口520,其包含用于向包含一组存储器裸片(例如,裸片0、裸片1、裸片2…裸片N)的存储器装置540传达命令的命令接口522。存储器装置接口520还包含用于在存储器装置540与主机系统之间传达数据突发的数据突发接口524。
图5进一步描绘与存储器装置540的操作相关联的实例时间线(例如,时间0(T0)到时间N(TN))。应注意,对应于命令、状态轮询及数据突发的块可能不按比例,因为其与时间线相关。在时间线期间,可由管理存储器装置接口520的控制器识别一或多个主机起始的存储器存取操作(例如,与裸片0相关联的编程操作、与裸片1相关联的第一读取操作、与裸片2相关联的读取操作、与裸片N相关联的读取操作及与裸片1相关联的第二读取操作)。对于每一存储器存取操作,可识别目标存储器裸片。结合存储器存取操作,控制器经由命令接口522向对应目标存储器裸片发送命令。例如,命令1(例如,编程设置命令)结合将在裸片0上执行的编程操作经由命令接口522向裸片0发送,随后结合将在裸片1上执行的第一读取操作经由命令接口522将命令2传输到裸片1,随后结合将在裸片2上执行的读取操作经由命令接口522将命令3传输到裸片2,以此类推。
在实施例中,控制器致使经由数据突发接口524结合存储器存取操作向存储器装置540传输一或多个数据突发。例如,数据输入突发1结合裸片0的编程操作经由数据突发接口524传输到裸片0,数据输出突发2结合裸片1的第一读取操作经由数据突发接口524从裸片1传输,且数据输出突发3结合裸片2的读取操作经由数据突发接口524从裸片2传输。
如在图5中所展示,在第一时间段550期间,多个命令(例如,命令2、命令3及命令4)与数据突发(例如,数据输入突发1)被并发地传达。在实施例中,一或多个状态轮询通信(例如,状态轮询1及状态轮询2)可经由命令接口522被发送到存储器装置540。如在图5中所展示,在第二时间段560期间,状态轮询通信(例如,状态轮询1)与数据突发(例如,数据输入突发1)被并发地传达。在实施例中,在第三时间段570期间,另一状态轮询通信(例如,状态轮询2)与数据突发(例如,数据输出突发2)被并发传达。
在此方面,可在数据突发期间发出一或多个命令,且可与一或多个数据突发并行执行状态轮询。有利的是,如在图5中所展示,命令的并行发出及与数据突发一起处理状态轮询通信使得能够提高与存储器装置540的存储器裸片相关联的存储器存取操作的处理速度。
图6说明计算机系统600的实例机器,在计算机系统500内可执行用于致使所述机器执行本文所论述的方法中的任一或多者的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的扫描阈值管理组件113的操作)。在替代实施例中,所述机器可连接(例如,联网)到LAN、内联网、外联网及/或因特网中的其它机器。所述计算机可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器械、服务器、网络路由器、交换机或网桥或能够执行指定将由所述机器采取的动作的一组指令(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但是术语“机器”也应被认为包含个别地或共同地执行一组(或多组)指令以执行本文所论述的方法中的任一者或多者机器的任何集合。
实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储器装置618,其经由总线630彼此通信。
处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或者是实施其它指令集的处理器,或者是实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置602经配置以执行用于执行本文所论述的操作及步骤的指令626。计算机系统600可进一步包含用于通过网络620进行通信的网络接口装置608。
数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任一者或多者的一或多组指令626或软件。在由计算机系统600执行指令626期间,指令626也可全部或至少部分地驻留在主存储器604内及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618及/或主存储器604可对应于图1的存储器子系统110。
在一个实施例中,指令626包含指令以实施对应于选择性重定位组件(例如,图1的接口管理组件113)的功能性。尽管在实例实施例中将机器可读存储媒体624展示为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已经根据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用来最有效地向所属领域的其它技术人员传达其工作实质的方式。此处,算法通常被认为是导致所需结果的自洽操作序列。所述操作是需要对物理量的物理操纵的操作。通常但不是必须的,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时已经证明,主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。
然而,应牢记,所有这些及类似术语均应与适当物理量相关联并且仅仅是应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器及存储器内的物理(电子)数的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量。
本公开还涉及用于执行本文的操作的设备。此设备可经专门构造用于预期目的,或者其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适用于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文提出的算法及显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可与根据本文的教示的程序一起使用,或者可证明构造更专用设备来执行所述方法是方便的。各种这些系统的结构将如下文描述中所阐述那样出现。另外,未参考任何特定编程语言来描述本公开。将了解,可使用各种编程语言来实施如本文所描述的本公开的教示。
本公开可被提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已经参考本公开的特定实例实施例描述本公开的实施例。显而易见的是,在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。
Claims (20)
1.一种方法,其包括:
由存储器子系统的控制器的处理装置经由接口的第一部分将与存储器装置的一或多个存储器裸片相关联的一组存储器命令传达到所述存储器装置;以及
致使经由所述接口的第二部分将对应于所述一组存储器命令的一组数据突发传达到所述一或多个存储器裸片,其中所述一组存储器命令中的一或多者与所述一组数据突发中的一或多者并发地经由第一接口传达。
2.根据权利要求1所述的方法,其进一步包括将一或多个引脚位置指定为用于处理所述一组存储器命令的所述接口的所述第一部分。
3.根据权利要求1所述的方法,其中所述接口的所述第一部分及所述接口的所述第二部分是独立的部分。
4.根据权利要求1所述的方法,其进一步包括经由所述接口的所述第一部分处理状态轮询通信。
5.根据权利要求4所述的方法,其中与所述一组数据突发中的一或多者并发地经由所述第一接口处理所述状态轮询通信。
6.根据权利要求1所述的方法,其中所述接口的所述第一部分包括第一组接口引脚,且所述接口的所述第二部分包括第二组接口引脚。
7.根据权利要求1所述的方法,其进一步包括:
将所述接口的一或多个引脚指定为所述接口的第三部分;以及
经由所述接口的所述第三部分将状态轮询通信传达到所述存储器装置。
8.一种包括指令的非暂时性计算机可读媒体,所述指令在由处理装置执行时致使所述处理装置执行包括以下的操作:
指派通信地耦合到包括一组存储器裸片的存储器装置的接口的第一部分来处理来自存储器子系统的控制器的一或多个命令;
指派所述接口的第二部分来处理与所述存储器装置相关联的一或多个数据通信;
产生与所述存储器装置的第一目标存储器裸片相关联的命令;以及
经由所述接口的所述第一部分将所述命令传达到所述第一目标存储器裸片。
9.根据权利要求8所述的非暂时性计算机可读媒体,所述操作进一步包括识别与所述存储器装置的第二目标存储器裸片相关联的数据通信。
10.根据权利要求9所述的非暂时性计算机可读媒体,所述操作进一步包括致使所述数据通信与经由所述接口的所述第一部分传输所述命令并发地经由所述接口的所述第二部分被传达。
11.根据权利要求10所述的非暂时性计算机可读媒体,所述操作进一步包括指派所述接口的所述第一部分来处理一或多个状态轮询通信。
12.根据权利要求11所述的非暂时性计算机可读媒体,所述操作进一步包括与所述数据通信并发地经由所述第一接口处理状态轮询通信。
13.根据权利要求10所述的非暂时性计算机可读媒体,所述操作进一步包括:
指定所述接口的第三部分来处理一或多个状态轮询通信;以及
与经由所述接口的所述第二部分的所述数据通信的所述传达并行地经由所述接口的所述第三部分将状态轮询通信传达到所述存储器装置。
14.一种系统,其包括:
存储器装置;及
处理装置,其可操作地与所述存储器装置耦合以执行包括以下的操作:
由所述存储器子系统的控制器的处理装置经由接口的第一部分将与存储器装置的一或多个存储器裸片相关联的一组存储器命令传达到所述存储器装置;以及
致使经由所述接口的第二部分将对应于所述一组存储器命令的一组数据突发传达到所述一或多个存储器裸片,其中所述一组存储器命令中的一或多者与所述一组数据突发中的一或多者并发地经由第一接口传达。
15.根据权利要求14所述的系统,所述操作进一步包括将一或多个引脚位置指定为用于处理所述一组存储器命令的所述接口的所述第一部分。
16.根据权利要求14所述的系统,其中所述接口的所述第一部分及所述接口的所述第二部分是独立的部分。
17.根据权利要求14所述的系统,所述操作进一步包括经由所述接口的所述第一部分处理状态轮询通信。
18.根据权利要求17所述的系统,其中与所述一组数据突发中的一或多者并发地经由所述第一接口处理所述状态轮询通信。
19.根据权利要求14所述的系统,其中所述接口的所述第一部分包括第一组接口引脚,且所述接口的所述第二部分包括第二组接口引脚。
20.根据权利要求14所述的系统,所述操作进一步包括:
将所述接口的一或多个引脚指定为所述接口的第三部分;以及
经由所述接口的所述第三部分将状态轮询通信传达到所述存储器装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/081,483 | 2020-10-27 | ||
US17/081,483 US11347663B2 (en) | 2020-10-27 | 2020-10-27 | Memory device interface communicating with set of data bursts corresponding to memory dies via dedicated portions for command processing |
PCT/US2021/056509 WO2022093721A1 (en) | 2020-10-27 | 2021-10-25 | Memory device interface with a dedicated portion for command processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116547656A true CN116547656A (zh) | 2023-08-04 |
Family
ID=78622119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180076384.3A Pending CN116547656A (zh) | 2020-10-27 | 2021-10-25 | 具有用于命令处理的专用部分的存储器装置接口 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11347663B2 (zh) |
CN (1) | CN116547656A (zh) |
WO (1) | WO2022093721A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11347663B2 (en) * | 2020-10-27 | 2022-05-31 | Micron Technology, Inc. | Memory device interface communicating with set of data bursts corresponding to memory dies via dedicated portions for command processing |
US11922049B2 (en) * | 2021-08-20 | 2024-03-05 | Micron Technology, Inc. | Trim values for multi-plane operations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785764B1 (en) | 2000-05-11 | 2004-08-31 | Micron Technology, Inc. | Synchronous flash memory with non-volatile mode register |
US9417816B2 (en) * | 2014-01-02 | 2016-08-16 | Advanced Micro Devices, Inc. | Partitionable memory interfaces |
US10083722B2 (en) * | 2016-06-08 | 2018-09-25 | Samsung Electronics Co., Ltd. | Memory device for performing internal process and operating method thereof |
US10528286B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US11194726B2 (en) * | 2019-02-25 | 2021-12-07 | Micron Technology, Inc. | Stacked memory dice for combined access operations |
US11347663B2 (en) * | 2020-10-27 | 2022-05-31 | Micron Technology, Inc. | Memory device interface communicating with set of data bursts corresponding to memory dies via dedicated portions for command processing |
-
2020
- 2020-10-27 US US17/081,483 patent/US11347663B2/en active Active
-
2021
- 2021-10-25 WO PCT/US2021/056509 patent/WO2022093721A1/en active Application Filing
- 2021-10-25 CN CN202180076384.3A patent/CN116547656A/zh active Pending
-
2022
- 2022-05-26 US US17/825,632 patent/US11934325B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220129396A1 (en) | 2022-04-28 |
US20220283965A1 (en) | 2022-09-08 |
WO2022093721A1 (en) | 2022-05-05 |
US11347663B2 (en) | 2022-05-31 |
US11934325B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11662939B2 (en) | Checking status of multiple memory dies in a memory sub-system | |
CN112805676B (zh) | 基于数据总线模式对读取操作和写入操作的调度 | |
US11726690B2 (en) | Independent parallel plane access in a multi-plane memory device | |
US11934325B2 (en) | Memory device interface communicating with set of data bursts corresponding to memory dies via dedicated portions for command processing | |
US11709605B2 (en) | Storing zones in a zone namespace on separate planes of a multi-plane memory device | |
US20230161509A1 (en) | Dynamic selection of cores for processing responses | |
CN113360089A (zh) | 用于存储器子系统的命令批处理 | |
CN113360091B (zh) | 用于存取操作的内部命令 | |
US11720490B2 (en) | Managing host input/output in a memory system executing a table flush | |
US11698747B2 (en) | Pulse amplitude modulation (PAM) for multi-host support in a memory sub-system | |
US11681467B2 (en) | Checking status of multiple memory dies in a memory sub-system | |
WO2021179163A1 (en) | Methods, systems and readable storage mediums for managing queues of amemory sub-system | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US20230058232A1 (en) | Partition command queues for a memory device | |
US11847349B2 (en) | Dynamic partition command queues for a memory device | |
US11861228B2 (en) | Memory status command aggregation | |
US11474885B2 (en) | Method for an internal command of a first processing core with memory sub-system that caching identifiers for access commands | |
CN117916705A (zh) | 存储器子系统的有源输入/输出扩展器的串行接口 | |
CN115933967A (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 |