掌桥专利:专业的专利平台
掌桥专利
首页

多平面存储器装置中的独立并行平面存取

文献发布时间:2023-06-19 18:32:25


多平面存储器装置中的独立并行平面存取

技术领域

本公开的实施例大体来说涉及存储器子系统,且更具体地,涉及存储器子系统中的多平面存储器装置中的独立并行平面存取。

背景技术

存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。通常,主机系统可利用存储器子系统来将数据存储在存储器装置处并从存储器装置检索数据。

附图说明

从下文给出的详细描述及从本公开的各种实施例的附图将更全面理解本公开。

图1根据本公开的一些实施例说明包含存储器子系统的实例计算系统。

图2为说明根据本公开的一些实施例的经配置用于独立并行平面存取的多平面存储器装置的框图。

图3为根据本公开的一些实施例说明在存储器子系统中多平面存储器装置中的独立并行平面存取的实例方法的流程图。

图4为本公开的实施例可在其中操作的实例计算机系统的框图。

具体实施方式

本公开的方面是针对存储器子系统中的多平面存储器装置中的独立并行平面存取。存储器子系统可为存储装置、存储器模块或存储装置及存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。通常,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,并可请求待从存储器子系统检索的数据。

存储器子系统可包含高密度非易失性存储器装置,其中当没有向存储器装置供电时期望保留数据。非易失性存储器装置的一个实例为“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器胞元(“胞元”)组成。胞元为存储信息的电子电路。取决于胞元类型,胞元可存储一或多个位的二进制信息,且具有与存储的位数目相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”及“1”,或此类值的组合)表示。

存储器装置可由布置在二维网格中的位组成。存储器胞元以列(下文中也被称为位线)及行(下文中也被称为字线)的阵列被蚀刻到硅晶片上。字线可指代存储器装置的一或多行存储器胞元,所述存储器胞元与一或多个位线一起使用以产生存储器胞元中的每一个的地址。位线与字线的交点构成存储器胞元的地址。在下文中,块指代用于存储数据的存储器装置的单元,且可包含一组存储器胞元、字线组、字线或单个存储器胞元。一或多个块可组合在一起以形成存储器装置的平面,以便允许在每一平面上发生并发操作。存储器装置可包含对两个或多于两个存储器平面执行并发存储器页存取的电路系统。例如,存储器装置可包含可由存储器装置的平面共享的多个存取线驱动器电路及电源电路,以促进对包含不同页类型的两个或多于两个存储器平面的页的并发存取。为了便于描述,这些电路可统称为独立平面驱动器电路。

在某些存储器装置中,与存在存储器平面相比,可存在更少独立平面驱动器电路。例如,在一种情况下,存储器装置可具有四个单独的存储器平面,但仅具有两个独立的平面驱动器电路。在此类情况下,平面通常划分为多个平面组,每一平面组与单独的独立平面驱动器电路相关联。例如,存储器装置的前两个平面可为第一平面组的一部分,所述第一平面组与第一独立平面驱动器电路相关联,且存储器装置的后两个平面可为第二平面组的一部分,所述第二平面组与第二独立平面驱动器电路相关联。两个独立平面驱动器电路允许对存储器装置的多个平面并行(即,在时间上至少部分地重叠)执行存储器存取操作(例如,读取操作)。由于多个平面被分组为平面组,其中每一平面组与单独的独立平面驱动器电路相关联,存在可并行存取哪些平面的限制。例如,如果接收到指向同一平面组中的多个平面的存储器存取操作,那么无法并行执行存储器存取操作,因为仅存在与所述平面组相关联的单个独立平面驱动器电路。即使存储器装置可包含未使用的另一独立平面驱动器电路,独立平面驱动器电路无法用于存取第一平面组的平面。因此,在正对存储器装置的给定平面执行存储器存取操作的任何时间,存储器装置的至少某一其它部分是不可存取的。因此,对指向同一平面组中的平面的任何后续存储器存取器存取操作进行排队并在稍后时间进行处理(例如,一旦相关联独立平面驱动器电路完成对先前存储器存取操作的处理并变得可用)。此增加总等待时间,减少可由存储器装置处理的每秒读取输入/输出操作(RIOPS)的数目,并降低利用存储器子系统的主机系统的服务质量。

本公开的各方面通过在存储器装置中实施平面选择电路以将存储器装置中的第一数目个存储器平面中的任一个选择性耦合到第二数目个独立平面驱动器电路中的任一个来解决上述及其它缺陷。独立平面驱动器电路经配置以并发地提供用以在存储器存取操作期间存取存储器装置的平面的块的信号。在一个实施例中,平面选择电路包含对应于存储器装置的平面中的每一个的多路复用器电路。多路复用器电路中的每一个经配置以基于来自存储器装置中的控制逻辑接收的控制信号将来自独立平面驱动器电路中的任一个的信号路由到存储器平面中的对应一个。以此方式,消除对可并行存取哪些平面的限制。因此,如果一个独立平面驱动器电路经配置以对给定平面执行存储器存取操作,那么第二独立平面驱动器电路可经配置以并行地对存储器装置的任何其它平面执行存储器存取操作,无基于平面组的任何限制。

此方法的优点包含但不限于总等待时间的减少,可由存储器装置处理的RIOPS的数目的增加,以及利用存储器子系统的主机系统的服务质量的提高。与添加额外的独立平面驱动器电路相比,诸如一个独立的平面驱动器电路对应于存储器装置的每一平面,本文中所描述的方法提供许多益处。例如,独立平面驱动器电路的第二数目可少于存储器装置中的存储器平面的第一数目,以便减少电路面积、产生的噪声量及存储器子系统中的功耗,同时仍提供本文中所描述的益处。

图1根据本公开的一些实施例说明包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或此类组合。

存储器子系统110可为存储装置、存储器模块或存储装置及存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。

计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,平面、无人机、火车、汽车或其它交通工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网商用装置中的计算机),或包含存储器及处理装置的此类计算装置。

计算系统100可包含主机系统120,所述主机系统耦合到一或多个存储器子系统110。在一些实施例中,主机系统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之间发射数据。当存储器子系统110通过物理主机接口(例如,PCIe总线)与主机系统120耦合时,主机系统120可进一步利用高速NVM(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1说明存储器子系统110作为实例。通常,主机系统120可经由同一通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。

存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。

非易失性存储器装置的一些实例(例如,存储器装置130)包含“与非”(NAND)类型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,所述存储器装置为非易失性存储器胞元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠的交叉网格化数据存取阵列基于体电阻的改变执行位存储。另外,与许多基于快闪存储器的存储器相比,交叉点非易失性存储器可执行原地写入操作,其中可在不预先擦除非易失性存储器胞元的情况下编程非易失性存储器胞元。例如,NAND型快闪存储器包含二维NAND(2DNAND)及三维NAND(3D NAND)。

存储器装置130中的每一个可包含一或多个存储器胞元阵列。一种类型的存储器胞元,例如,单级胞元(SLC)可每胞元存储一个位。其它类型的存储器胞元,例如多层级胞元(MLC)、三层级胞元(TLC)、四层级胞元(QLC)及五层级胞元(PLC)可每胞元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器胞元阵列,例如SLC、MLC、TLC、QLC或此类的任一组合。在一些实施例中,特定存储器装置可包含存储器胞元的SLC部分及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置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通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换为用于主机系统120的信息。

存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器),其可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130。

在一些实施例中,存储器装置130包含本地媒体控制器135,所述本地媒体控制器结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器胞元执行操作。外部控制器(例如,存储器子系统控制器115)可外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110为受管理存储器装置,其包含原始存储器装置130,所述原始存储器装置在相同存储器装置封装内具有在裸片上的控制逻辑(例如,本地媒体控制器135)以及用于媒体管理的控制器(例如,存储器子系统控制器115)。受管理存储器装置的实例为受管理NAND(MNAND)装置。

在一个实施例中,存储器装置130包含平面选择器电路150,所述平面选择电路可将存储器装置130中的第一数目个存储器平面中的任一个选择性耦合到存储器装置130中的第二数目个独立平面驱动器电路中的任一个。在一个实施例中,本地媒体控制器135接收例如来自存储器子系统控制器115、主机系统120或一些其它组件的与存储器装置130相关联的第一读取命令,并识别第一读取命令指向的存储器装置130的存储器阵列的第一平面。本地媒体控制器135配置平面选择电路150以将存储器装置130的第一独立平面驱动器耦合到第一平面并致使第一独立平面驱动器对第一平面执行对应于第一读取命令的第一读取操作。如果本地媒体控制器135接收第二读取命令,同时仍执行第一读取操作,那么本地媒体控制器135可确定第二读取命令是否指向第一平面(即,与当前活动的第一读取操作相同的平面)。如果第二读取命令指向第一平面,那么本地媒体控制器可在对应于第一平面的队列中维持第二读取命令的指示,直到第一读取操作完成,且随后致使第一独立平面驱动器对第一平面执行对应于第二读取命令的第二读取操作。

然而,如果第二读取命令未指向第一平面,那么本地媒体控制器135可识别第二读取命令指向的第一数目个平面的第二平面。本地媒体控制器135可配置平面选择电路150以将第二独立平面驱动器耦合到第二平面并致使第二独立平面驱动器对第二平面执行对应于第二读取命令的第二读取操作。第二读取操作可与第一读取操作并发地(即,在时间上至少部分地重叠)执行。第二平面可为存储器装置130中的第一数目个平面中的任一个,无基于平面组的任何限制。在一个实施例中,本地媒体控制器135跟踪存储器阵列的第一数目个平面(即,每一平面当前是否正在存取或可用)及第二数目个独立平面驱动器电路(即,每一独立平面驱动器电路当前是否正在执行存储器存取操作)的状态,及基于那些状态路由/调度存储器装置130中的存储器存取操作。下文描述关于本地媒体控制器135及平面选择电路150的操作的其它细节。

在一些实施例中,存储器子系统控制器115包含平面选择电路150的至少一部分。例如,存储器子系统控制器115可包含处理器117(例如,处理装置),所述处理器经配置以执行存储在本地存储器119中的指令以执行本文中所描述的操作。在其它实施例中,存储器装置130包含本地媒体控制器135及平面选择电路150的至少一部分,并经配置以执行本文中所描述的功能。在此类实施例中,平面选择电路150可使用硬件或作为固件实施,存储在存储器装置130上,由控制逻辑(例如,本地媒体控制器135)执行以执行与本文中所描述的独立并行平面存取的操作。

图2为说明根据本公开的一些实施例的经配置用于独立并行平面存取的多平面存储器装置130的框图。存储器装置130包含存储器阵列270,存储器阵列划分成各自包含相应数目的存储器胞元的存储器平面272(0)到272(3)。多平面存储器装置130可进一步包含本地媒体控制器135,本地媒体控制器包含用于对不同存储器平面272(0)至272(3)并发地执行存储器存取操作的电源控制电路及存取控制电路。存储器胞元可为非易失性存储器胞元(例如NAND快闪存储器胞元),或通常可为任一类型的存储器胞元。

可将存储器平面272(0)至272(3)各自划分成数据块,其中在存储器存取操作期间可并发地存取来自存储器平面272(0)至272(3)中的两个或多于两个不同相对数据块。例如,在存储器存取操作期间,可各自并发地存取存储器平面272(0)的数据块282、存储器平面272(1)的数据块283、存储器平面272(2)的数据块284及存储器平面272(3)的数据块285中的两个或多于两个。

存储器平面272(0)至272(3)中的每一个可耦合到相应页缓冲器276(0)至276(3)。每一页缓冲器276(0)到276(3)可经配置以向相应存储器平面272(0)到272(3)提供数据或从其接收数据。页缓冲器276(0)到276(3)可由本地媒体控制器135控制。从相应存储器平面272(0)到272(3)接收的数据可分别锁存在页缓冲器276(0)到276(3)处,且由本地媒体控制器135检索,且经由NVMe接口提供给存储器子系统控制器115。

存储器平面272(0)到272(3)中的每一个可进一步耦合到多个独立平面驱动器电路274(0)到274(1)中的一个,例如存取线驱动器电路。驱动器电路274(0)到274(1)可经配置以调节存储器平面272(0)到272(3)中的一个的相应块的页以进行存储器存取操作,例如编程数据(即,写入数据)、读取数据或擦除数据。驱动器电路274(0)到274(1)中的每一个可经由平面选择电路150耦合到与存储器阵列270中的存储器平面272(0)到272(3)中的任一个相关联的全局存取线。在与块内的页相关联的存储器存取操作期间,平面选择电路150可将全局存取线中的每一个选择性地耦合到平面的块内的相应本地存取线。驱动器电路274(0)到274(1)可基于来自本地媒体控制器135的信号来控制。驱动器电路274(0)到274(1)中的每一个可包含或耦合到相应电源电路,且可基于由相应电源电路提供的电压向相应存取线提供电压。电源电路提供的电压可基于从本地媒体控制器135接收的信号。在图2中所说明的实施例中,存储器装置130包含四个平面272(0)到272(3)及两个独立平面驱动器电路274(0)到274(1)。应了解,在其它实施例中,存储器装置130可包含一些其它数目的平面及一些其它数目的独立平面驱动器电路,其中独立平面驱动器电路的数目一般小于平面的数目。

本地媒体控制器135可控制驱动器电路274(0)到274(1)及页缓冲器276(0)到276(3)以并发地执行与一组存储器命令与地址对(例如,从存储器子系统控制器115接收)中的每一个相关联的存储器存取操作。例如,本地媒体控制器135可控制驱动器电路274(0)到274(1)及页缓冲器376(0)到376(3)来执行并发存储器存取操作。本地媒体控制器135可包含电源控制电路,其并行配置驱动器电路274(0)到274(1)中的两个或多于两个以进行并发存储器存取操作;及存取控制电路,其经配置以控制页缓冲器276(0)到276(3)中的两个或多于两个以感测及锁存来自相应存储器平面272(0)到272(3)的数据,或将数据编程到相应存储器平面272(0)到272(3)以执行并发存储器存取操作。

在操作中,本地媒体控制器135可经由NVMe总线接收一组存储器命令与地址对,其中每对并行或串行到达。在一些实例中,所述组存储器命令与地址对可各自与存储器阵列270的不同的相应存储器平面272(0)到272(3)相关联。本地媒体控制器135可经配置以响应于所述组存储器命令与地址对而对存储器阵列270的两个或多于两个不同存储器平面272(0)到272(3)执行并发存储器存取操作(例如,读取操作或编程操作)。例如,本地媒体控制器135的电源控制电路可基于相应页类型(例如,UP、MP、LP、XP、SLC/MLC/TLC/QLC页)针对并发存储器存取操作串行配置用于与所述组存储器命令与地址对相关联的两个或多于两个存储器平面272(0)到272(3)的驱动器电路274(0)到274(1)。在已配置存取线驱动器电路274(0)到274(1)之后,本地媒体控制器135的存取控制电路可并发地控制页缓冲器276(0)到276(3)以在并发存储器存取操作期间存取与所述组存储器命令与地址对相关联的两个或多于两个存储器平面272(0)到272(3)中的每一个的相应页(例如检索数据或写入数据)。例如,存取控制电路可并发地(例如,并行及/或同时地)控制页缓冲器276(0)到276(3)以将位线充电/放电、从两个或多于两个存储器平面272(0)到272(3)感测数据及/或锁存数据。

基于从本地媒体控制器135所接收的信号,耦合到与所述组的存储器命令与地址命令对相关联的存储器平面272(0)到272(3)的驱动器电路274(0)到274(1)可从相关联的存储器平面272(0)到272(3)选择存储器或存储器胞元块以进行存储器操作(例如读取操作、编程操作及/或擦除操作)。驱动器电路274(0)到274(1)可驱动与相应存储器平面272(0)到272(3)相关联的不同相应全局存取线。作为实例,驱动器电路274(0)可驱动与存储器平面272(0)相关联的第一全局存取线上的第一电压,驱动器电路274(1)可驱动与存储器平面272(1)相关联的第三全局存取线上的第二电压,驱动器电路274(2)可驱动与存储器平面272(2)相关联的第七全局存取线上的第三电压等,且可在剩余全局存取线中的每一个上驱动其它电压。在一些实例中,可在除了与待存取的存储器平面272(0)到272(3)的页相关联的存取线之外的所有存取线上提供通过电压。本地媒体控制器135、驱动器电路274(0)到274(1)可允许并发地存取不同的相应页以及不同相应的存储器胞元块内的页缓冲器276(0)到276(3)。例如,第一存储器平面的第一块的第一页可与第二存储器平面的第二块的第二页并发地存取,而不管页类型。

页缓冲器276(0)到276(3)可在存储器存取操作期间响应于来自本地媒体控制器135及相应存储器平面272(0)到272(3)的信号向本地媒体控制器135提供数据或从所述本地媒体控制器接收数据。本地媒体控制器135可将所接收的数据提供给存储器子系统控制器115。

应了解,存储器装置130可包含多于或少于四个存储器平面、驱动器电路及页缓冲器。还将了解,相应的全局存取线可包含8、16、32、64、128等全局存取线。平面选择电路150使得本地媒体控制器135及驱动器电路274(0)到274(1)能够并发地存取存储器平面272(0)到272(3)中的任何两个的不同相应块内的不同相应页。在一个实施例中,平面选择电路150包含多个双向多路复用器电路252(0)到252(3),每一双向多路复用器电路对应于存储器平面272(0)到272(3)中的一个。双向多路复用器电路252(0)到252(3)中的每一个可为N:1多路复用器,其中N表示存储器装置130中的独立平面驱动器电路274(0)到274(1)的数目。双向多路复用器电路252(0)到252(3)受从本地媒体控制器135接收到的控制信号控制以将独立平面驱动器电路274(0)到274(1)中的任一个选择性地耦合到存储器平面272(0)到272(3)中的对应一个。举例而言,取决于控制信号,多路复用器电路252(0)可将独立平面驱动器电路274(0)到274(1)中的任一个耦合到存储器平面272(0)。类似地,取决于控制信号,多路复用器电路252(1)可将独立平面驱动器电路274(0)到274(1)中的任一个耦合到存储器平面272(1),多路复用器电路252(2)可将独立平面驱动器电路274(0)到274(1)中的任一个耦合到存储器平面272(2),或多路复用器电路252(3)可将独立平面驱动器电路274(0)到274(1)中的任一个耦合到存储器平面272(3)。因此,平面选择电路150可将两个独立平面驱动器电路274(0)到274(1)并发地耦合到存储器平面272(0)到272(3)中的任何两个,从而允许本地媒体控制器135执行并发存储器存取操作。任何接收到的读取命令可包含待读取的存储器装置130的平面/块/页的相关联地址,因此数据的位置是固定的。然而,可使用独立平面驱动器电路274(0)到274(1)中的任一个,可读取来自固定位置的数据,此取决于哪一个平面驱动器电路可用。

图3为根据本公开的一些实施例说明在存储器子系统中多平面存储器装置中的独立并行平面存取的实例方法的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑,微码,装置的硬件,集成电路等),软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,所述方法300由图1的本地媒体控制器135及平面选择电路150来执行。尽管以特定的顺序或次序展示,但除非另有所规定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。

在操作305,接收存储器存取命令。例如,处理逻辑(例如,本地媒体控制器135)可接收指向存储器装置(例如存储器装置130)的第一存储器存取命令。在一个实施例中,第一存储器存取命令为读取命令,读取命令可从控制器(例如存储器子系统控制器115)、存储器子系统110的某一其它组件,或来自外部组件(例如主机系统120)接收。在一个实施例中,读取命令规定与待从存储器装置130读取的数据相关联的逻辑或物理地址中的至少一个。

在操作310,识别存储器装置的对应平面。例如,处理逻辑可识别读取命令指向的存储器装置的存储器阵列270的第一数目个平面(例如存储器平面272(0)到272(3))中的第一平面。在一个实施例中,处理逻辑将第一平面识别为存储对应于包含在所接收读取命令中的逻辑或物理地址的数据块的存储器平面272(0)到272(3)中的一个。例如,本地媒体控制器135可维持存储器地址到存储器平面272(0)到272(3)中的每一个的映射。在一个实施例中,第一存储器平面可为存储器平面272(0)到272(3)中的任一个,且不必限于存储器平面272(0)。

在操作315,配置平面选择电路。例如,处理逻辑可配置平面选择电路150以将存储器装置130的第二数目个独立平面驱动器中的第一独立平面驱动器(例如驱动器274(0))耦合到在操作310所识别的第一平面。在一个实施例中,存储器装置包含独立的平面驱动器274(0)到274(1),所述平面驱动器经配置以当前提供用以在存储器存取操作期间存取存储器平面272(0)到272(3)的块的信号。在一个实施例中,平面选择电路150包含第一数目个多路复用器电路252(0)到252(3),每一多路复用器电路对应于第一数目个平面272(0)到272(3)中的一个。每一多路复用器电路252(0)到252(3)经配置以基于从控制逻辑(例如,本地媒体控制器135)接收的控制信号将信号从独立平面驱动器电路274(0)到274(1)中的任一个路由到存储器平面272(0)到272(3)中的对应一个。因此,为配置平面选择电路150,处理逻辑可将控制信号发送到对应于在操作310所识别的第一平面的多路复用器电路252(0)到252(3)中的一个,以致使多路复用器电路将独立平面驱动器274(0)到274(1)中的选定一个耦合到所识别平面。在一个实施例中,第一独立平面驱动器可为驱动器274(0)到274(1)中的任一个,且不一定限于驱动器274(0)。在一个实施例中,驱动器274(0)到274(1)中的可用的任一个可选择为第一驱动器独立平面驱动器。为了识别可用驱动器,处理逻辑可跟踪驱动器274(0)到274(1)以及存储器平面272(0)到272(3)的状态(例如,就绪/忙碌状态),并可基于那些状态路由存储器存取操作。如果驱动器274(0)到274(1)中的多于一个可用,那么处理逻辑可选择缺省驱动器用作第一驱动器,或可选择驱动器来根据某一选择算法(例如,轮询)用作第一驱动器。

在操作320,执行存储器存取操作。例如,处理逻辑可致使第一独立平面驱动器对第一平面执行对应于第一读取命令的第一读取操作。在一个实施例中,处理逻辑可将信号应用于独立平面驱动器274(0)到274(1)中的选定一个以致使驱动器提供用以存取对应于包含在所接收的存储器存取命令中的地址的平面272(0)到272(3)中的所识别一个的块的信号。信号读取存储在经存取块的存储器胞元处的电荷电平,所述电荷电平可解释为数据值。处理逻辑可将那些数据值返回到发出存储器存取命令的组件作为响应。

在操作325,接收存储器存取命令。例如,处理逻辑可接收指向到存储器装置130的第二存储器存取命令。在一个实施例中,第二存储器存取命令为读取命令,读取命令可从控制器(例如存储器子系统控制器115)、存储器子系统110的某一其它组件,或来自外部组件(例如主机系统120)接收。在一个实施例中,读取命令规定与待从存储器装置130读取的数据相关联的逻辑或物理地址中的至少一个。在一个实施例中,第二存储器存取命令与第一存储器存取命令并发地接收,使得在执行第一读取操作之前或在第一读取操作仍在操作320执行时接收第二存储器存取命令。

在操作330,做出确定。例如,处理逻辑可确定第二读取命令是否指向到第一平面(即,第一读取命令指向的相同平面)。如果第二读取命令未指向第一平面(即,第二读取命令指向平面272(0)到272(3)中的不同一个),那么处理逻辑进行到操作335。然而,如果第二读取命令指向第一平面,那么处理逻辑进行到操作345。

在操作335,对存储器存取命令进行排队。例,处理逻辑可在对应于第一平面的队列中维持第二读取命令的指示,直到第一读取操作完成。在一个实施例中,平面272(0)到272(3)中的每一个具有其中可存储命令/操作的相关联队列(例如,缓冲区、FIFO等)。由于一次可对给定平面执行仅一个操作,因此可将任何额外操作存储在相关联队列中,直到上一命令已完成。

在操作340,执行存储器存取操作。例如,处理逻辑可致使第一独立平面驱动器对第一平面执行对应于第二读取命令的第二读取操作。在一个实施例中,处理逻辑可将信号应用于独立平面驱动器274(0)到274(1)中的选定一个以致使驱动器提供用以存取对应于包含在所接收的存储器存取命令中的地址的平面272(0)到272(3)中的所识别一个的块的信号。信号读取存储在经存取块的存储器胞元处的电荷电平,所述电荷电平可解释为数据值。处理逻辑可将那些数据值返回到发出存储器存取命令的组件作为响应。

在操作345,识别存储器装置的对应平面。例如,处理逻辑可识别读取命令指向的第一数目个平面(例如存储器平面272(0)到272(3))中的第二平面。在一个实施例中,处理逻辑将第二平面识别为存储对应于包含在所接收的读取命令中的逻辑或物理地址的数据块的存储器平面272(0)到272(3)中的一个。例如,本地媒体控制器135可维持存储器地址到存储器平面272(0)到272(3)中的每一个的映射。在一个实施例中,第二存储器平面可为存储器平面272(0)到272(3)中的任一个,且不必限于存储器平面272(1)。

在操作350,配置平面选择电路。例如,处理逻辑可配置平面选择电路150以将第二独立平面驱动器(例如驱动器274(1))耦合到在操作345所识别的第二平面。为配置平面选择电路150,处理逻辑可将控制信号发送到对应于在操作345识别的第二平面的多路复用器电路252(0)到252(3)中的一个,以致使多路复用器电路将独立平面驱动器274(0)到274(1)中的选定一个耦合到所识别平面。在一个实施例中,第二独立平面驱动器可为驱动器274(0)到274(1)中的任一个,且不一定限于驱动器274(1)。在一个实施例中,驱动器274(0)到274(1)中的可用的任一个可选择为第二驱动器独立平面驱动器。例如,如果驱动器274(0)当前正在使用中,那么处理逻辑可选择驱动器274(1)。

在操作355,执行存储器存取操作。例如,处理逻辑可致使第二独立平面驱动器对第二平面执行对应于第二读取命令的第二读取操作。在一个实施例中,处理逻辑可将信号应用于独立平面驱动器274(0)到274(1)中的选定一个以致使驱动器提供用以存取对应于包含在所接收的存储器存取命令中的地址的平面272(0)到272(3)中的所识别一个的块的信号。信号读取存储在经存取块的存储器胞元处的电荷电平,所述电荷电平可解释为数据值。处理逻辑可将那些数据值返回到发出存储器存取命令的组件作为响应。

图4说明计算机系统400的实例机器,在所述计算机系统内可执行用于致使机器执行本文中所论述的方法中的任何一或多个的指令集。在一些实施例中,计算机系统400可对应于主机系统(例如,图1的主机系统120),其包含耦合到,或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的本地媒体控制器135的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。

所述机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、服务器、网络路由器、交换机或网桥,或能够执行规定由所述机器进行的动作的指令集(顺序或其它方式)的任何机器。此外,虽然说明单个机器,但术语“机器”还应被视为包含单独或联合执行一(或多个)指令集以执行本文所论述的方法中的任何一或多个的任何机器集合。

实例计算机系统400包含经由总线430彼此通信的处理装置402、主存储器404(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)的动态随机存取存储器(DRAM)等)、静态存储器406(例如,快闪存储器、静态随机存取存储器(SRAM)等)以及数据存储系统418。

处理装置402表示一或多个通用处理装置,例如微处理器、中央处理单元,等等。更特定地,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集组合的处理器。处理装置402还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器,等等。处理装置402经配置以执行用于执行本文中所论述的操作及步骤的指令426。计算机系统400可进一步包含网络接口装置408以通过网络420进行通信。

数据存储系统418可包含机器可读存储媒体424(也被称作为计算机可读媒体,例如非暂时性计算机可读媒体),其上存储体现本文中所描述的方法或功能中的任何一或多个的一或多组指令426或软件。指令426还可在计算机系统400执行所述指令期间完全或至少部分地驻留在主存储器404内及/或处理装置402内,主存储器404及处理装置402也构成机器可读存储媒体。机器可读存储媒体424、数据存储系统418及/或主存储器404可对应于图1的存储器子系统110。

在一个实施例中,指令426包含用以实施对应于图1的本地媒体控制器135的功能性的指令。虽然机器可读存储媒体424在实例实施例中被展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码指令集以供机器执行且使机器执行本公开的方法中的任何一或多个的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁媒体。

已在计算机存储器内的算法及数据位的操作的符号表示的方面来呈现前面的详细描述的一些部分。这些算法描述及表示为由所属数据处理领域的技术人员用于以向所属领域的其它技术人员传达其工作的本质的方式。算法此处且通常被认为导致所要结果的自洽操作序列。操作为需要物理操纵物理量的操作。通常,但非必需地,这些量可采取能够存储、组合、比较或以其它方式操纵的电或磁信号的形式。将这些信号称作位、值、元素、符号、字符、项、数字等等有时已证明是便利的(主要出于共用的原因)。

然而,应记住,所有这些术语及类似术语均与适当的物理量相关联,且仅作为应用于这些量的方便标签。本公开可是指计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储器系统内的物理量的其它数据。

本公开还涉及用于执行本文中操作的设备。此设备可为特定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘,只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适用于存储电子指令的任何类型的媒体,每一媒体耦合到计算机系统总线。

本文中所呈现的算法及显示并不与任何特定计算机或其它设备内在地相关。根据本文中的教示,各种通用系统可与程序一起使用,或可证明构造更专用的设备以执行所述方法为方便的。各种这些系统的结构将如下文描述中所阐明。另外,不参考任何特定编程语言描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。

本公开可经提供作为计算机程序产品或软件,其可包含机器可读媒体,具有存储于其上的指令,所述指令可用于对计算机系统(或其它电子装置)进行编程以根据本公开执行处理。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁性磁盘存储媒体、光存储媒体、快闪存储器组件等。

在上述说明书中,本公开的实施例已参考其特定实例实施例进行描述。显而易见的是,在不脱离所附权利要求书中所阐明的本公开的实施例的更广泛的精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应考虑说明性而非限制性。

相关技术
  • 用于在存储器存取操作期间同时存取存储器的多个存储器平面的设备及方法
  • 用于在存储器存取操作期间同时存取存储器的多个存储器平面的设备及方法
技术分类

06120115607436