CN112513988A - 伪异步多平面独立读取 - Google Patents
伪异步多平面独立读取 Download PDFInfo
- Publication number
- CN112513988A CN112513988A CN202080003287.7A CN202080003287A CN112513988A CN 112513988 A CN112513988 A CN 112513988A CN 202080003287 A CN202080003287 A CN 202080003287A CN 112513988 A CN112513988 A CN 112513988A
- Authority
- CN
- China
- Prior art keywords
- plane
- command
- read
- storage unit
- pipeline
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 94
- 230000008569 process Effects 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 description 10
- 238000007667 floating Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009413 insulation Methods 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000007599 discharging Methods 0.000 description 2
- 238000005476 soldering Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/08—Control thereof
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本公开内容的一些方面提供了主机与多平面闪存之间的一种接口。例如,所述接口可以包括第一存储单元、第二存储单元以及控制器。所述第一存储单元可以被配置为接收和存储从所述主机发出的第一平面管线命令,并且将所述第一平面管线命令输出到所述闪存的第一平面。所述第二存储单元可以被配置为接收和存储从所述主机发出的第二平面管线命令,并将所述第二平面管线命令输出到所述闪存的第二平面。所述控制器可以电连接到所述第一存储单元和所述第二存储单元,并且被配置为当在所述第一平面和所述第二平面上未执行读取过程时,将所述第一平面管线命令和所述第二平面管线命令分别输出到所述第一平面和所述第二平面。
Description
技术领域
概括地说,本申请描述了与半导体存储器件有关的实施例。
背景技术
半导体存储器件可以分类为易失性存储器件和非易失性存储器件。通常,易失性存储器件在断电时会丢失数据,而非易失性存储器件即使在断开电源时也可以保留存储的数据。为了实现更高的数据存储密度,半导体制造商开发了垂直器件技术,诸如三维(3D)NAND闪存技术等。这样的3D NAND闪存是一种非易失性存储器件。多平面NAND闪存可以具有多个平面,可以对其进行同步或异步读取。
发明内容
本公开内容的一些方面提供了一种接口,所述接口可以设置在主机与多平面闪存之间或安装在所述闪存中。例如,接口可以包括第一存储单元、第二存储单元以及控制器。所述第一存储单元可以被配置为接收和存储从所述主机发出的第一平面管线命令,并且将所述第一平面管线命令输出到所述闪存的第一平面。所述第二存储单元可以被配置为接收和存储从所述主机发出的第二平面管线命令,并将所述第二平面管线命令输出到所述闪存的第二平面。所述控制器可以电连接到所述第一存储单元和所述第二存储单元,并且被配置为当没有读取过程在所述闪存的所述第一平面和所述第二平面上执行时,将所述第一平面管线命令输出到所述第一平面,并且将所述第二平面管线命令输出到所述第二平面。例如,所述第一存储单元和所述第二存储单元可以构成单个存储器。
在一些实施例中,所述第一平面管线命令可以包括第一平面管线读取命令和第一平面管线读取结束命令。例如,第一存储单元可以被配置为:一次存储第一平面管线读取命令或第一平面管线读取结束命令。又例如,第一存储单元被配置为一次只存储第一平面管线读取命令中的一个。
在其它实施例中,所述控制器可以包括第一开关。所述第一开关的一端电连接到所述第一存储单元,并且另一端电连接到所述主机,以接收所述第一平面管线命令。在其它实施例中,所述第一开关可以被配置为在所述第一存储单元为空之后闭合。
所述第一存储单元可以是队列。在其它实施例中,所述闪存可以是NAND闪存。在各个实施例中,所述闪存可以在所述第一平面和所述第二平面上同步地执行读取过程。在一些其它实施例中,所述主机可以异步地发出所述第一平面管线命令和所述第二平面管线命令。
本公开内容的一些方面还可以提供一种将从主机发出的命令输出到多平面闪存的方法。例如,所述方法可以包括从所述主机发出的第一平面管线命令和第二平面管线命令分别存储在第一存储单元和第二存储单元中。所述方法还可以包括:在当没有读取过程在所述闪存的第一平面和第二平面上执行时,将所述第一平面管线命令和所述第二平面管线命令分别输出到所述闪存的所述第一平面和所述第二平面。在一些实施例中,在所述第一存储单元为空之后,将所述第一平面管线命令存储在所述第一存储单元中。
附图说明
当结合附图来阅读时,从以下具体实施方式将最好地理解本公开内容的示例性实施例。应该指出的是:根据行业中的标准实践,各种特征未按比例绘制。实际上,为了讨论的清楚性,各种特征的尺寸可以任意增加或减小。
图1示出了根据本公开内容的一些实施例的示例性NAND闪存单元。
图2示出了根据本公开内容的一些实施例的示例性NAND闪存块。
图3示出了根据本公开内容的一些实施例的示例性多平面NAND闪存管芯。
图4示出了根据本公开内容的一些实施例的示例性固态驱动器(SSD)。
图5示出了说明根据本公开内容的一些实施例的伪异步多平面读取过程的示例性时序图。
图6示出了根据本公开内容的一些实施例的实现伪异步多平面读取过程的示例性接口的功能框图。
图7示出了根据本公开内容的一些实施例的示例性方法的流程图。
具体实施方式
以下公开内容提供了用于实现所提供的发明主题的不同特征的许多不同的实施例或示例。下文描述了组件和布置的特定示例以简化本公开内容。当然,这些仅仅是示例,而非意在进行限制。例如,在下面的描述中,在第二特征上方或其上的第一特征的形成可以包括在其中第一和第二特征是通过直接接触而形成的实施例,并且还可以包括这样的实施例:在其中,第一特征和第二特征之间可以形成其它特征,使得第一特征和第二特征可以不直接接触。另外,本公开内容可以在各个示例中重复引用数字和/或字母。该重复是出于简单和清楚的目的,并且其本身并不指示所讨论的各种实施例和/或配置之间的关系。
此外,本文中可以使用空间相对术语,例如“下方”、“下面”、“下部”、“上方”、“上部”等以便于描述,来描述一个元件或特征与另一个元件或特征如图所示的关系。空间相对术语旨在包括除了图中所描绘的方位之外的使用或操作中的设备的不同方位。装置可以以其它方式定向(旋转90度或在其它方位上),并且在本文中使用的空间相对描述符可以同样相应地被解释。
根据本公开内容的一些实施例,可以提出伪异步多平面独立(PAMPI)读取方案。在伪异步多平面独立读取方案中,可以由主机同步或异步发出的第一平面管线命令和第二平面管线命令可以在多平面闪存的第一平面和第二平面上同步执行。根据本公开内容的一些实施例,可以提出接口以实现伪异步多平面读取过程。例如,该接口可以设置在主机和多平面闪存之间。在其它实施例中,当在第一平面和/或第二平面上执行读取过程时,接口可以存储第一平面管线命令和第二平面管线命令,并且将第一平面管线命令和第二平面管线命令同步输出到第一平面和第二平面。因此,可以在第一平面和第二平面上同步执行第一和第二平面管线命令,即使这些命令是由主机异步发出的。
与传统的硬盘驱动器(HDD)(其通过使用必须物理移动以存取在快速旋转的磁盘上的位置的机械驱动器头来工作)相比,固态驱动器(SSD)只是闪存的薄楔形物,并且没有活动部件,并且存储在闪存中的数据可以在SSD上的任何位置以相同快的速度和精度来存取。因此,SSD随机读取过程可以比传统HDD随机读取过程快10至50倍地执行。
一般而言,存在两种类型的闪存,NOR和NAND。有几个因素有利于使用NAND而非NOR闪存单元。例如,由于NOR闪存单元需要单独的金属接触的事实,因此标准NAND闪存单元比标准NOR闪存单元要小,例如4F2对10F2,并且可以被制造得比NOR闪存单元更密集并且因此更便宜。
图1示出了根据本公开内容的一些实施例的示例性NAND闪存单元100。NAND单元100可以在浮置栅极130中存储电荷,该浮置栅极130分别由上氧化物绝缘层140和下氧化物绝缘层120在上方和下方隔离。当浮置栅极130被充电时,NAND单元100可以被编程,表示二进制值“0”。当浮置栅极130没有电荷时,NAND单元100可以被擦除,代表二进制值“1”。为了对NAND单元100进行编程,可以向上氧化物绝缘层140上方的控制栅极150施加高电压,并且电子将通过“隧穿”穿过下氧化物绝缘层120,从下氧化物绝缘层120下方的硅衬底110移动到浮置栅极130。然后,电子可以被捕获在浮置栅极130中长达数年。为了擦除NAND单元100,可以向硅衬底110施加高电压,并且电子将从浮置栅极130移动到硅衬底110。为了读取NAND单元100,可以将读取参考电压施加到控制栅极150。当在源极160和漏极170之间存在电流时,浮置栅极130不被充电,并且二进制值“1”将被读取。当在源极160和漏极170之间不存在电流时,浮置栅极130被充电并且二进制值“0”将被读取。
图1所示的示例是单级单元(SLC)NAND单元,其可以存储一比特数据。还存在多级单元(MLC)NAND单元、三级单元(TLC)NAND单元和四级单元(QCL)NAND单元,它们可以分别存储两比特、三比特和四比特数据。一比特、两比特、三比特和四比特数据分别与两个、四个、八个和十六个不同的电压电平相对应。施加到每个NAND单元的最大电压大致相同。因此,SLC NAND单元可以在其两个电压电平之间具有足够大的保护带,并且能够承受极端温度和其它不利影响(诸如降级速度),这要比MLC、TLC和QLC NAND单元好得多。
图2示出了根据本公开内容的示例性实施例的示例性NAND闪存块200。块是要擦除的最小单元。NAND块200可以包括以阵列布置的多个SLC NAND单元100。在其它实施例中,NAND块200可以包括多个MLC、TLC或QLC NAND单元。NAND块200中的串210(示为列)是要读取的最小单元,并且每个串通常可以包括彼此串联连接的32或64个NAND单元100,其中每个NAND单元100代表一比特数据(二进制值“0”或“1”)。
如图所示,串210中的每个串的一端经由地选择线260控制的地选择线(GSL)晶体管220连接到公共源极线250,而另一端经由串选择线280控制的串选择线(SSL)晶体管230连接到位线270。串210中的每个串的操作可以通过导通或截止其GSL晶体管220和SSL晶体管230来控制。例如,SSL晶体管230可用于启用串的操作,并且GSL晶体管230可用于在读取过程中将串接地。为了读取串的单个NAND单元,必须打开(例如,通过对其施加导通电压)同一串的所有其余NAND单元(即,未读取的NAND单元),以允许正在被读取的单个NAND单元的二进制值传递到连接到该串的感测放大器(未示出)。NAND块200中的页240(显示为行)是要编程的最小单元,并且各自通常可以包括共享同一字线290的至少32,768(即4K)个NAND单元100。
图3示出了根据本公开内容的示例性实施例的示例性多平面NAND闪存管芯300。NAND管芯300可以包括可以彼此堆叠的多个NAND闪存平面_0至_n-1。例如,NAND管芯300可以包括两个平面,例如,平面_0 310和平面_1 311。NAND管芯300还可包括四个或六个平面。NAND平面_0至_n-1中的每个NAND平面可以包括多个NAND块200,例如,NAND块#0至#m-1。NAND管芯300中的一个或多个可以形成NAND闪存芯片。SSD可以包括多个NAND芯片,这些芯片使用多个沟道连接到NAND闪存控制器。
图4示出了根据本公开内容的示例性实施例的示例性SSD 400。SSD 400可以经由主机总线420与主机410通信。例如,主机410可以经由主机总线420向SSD 400发送命令和数据,并且SSD 400可以经由主机总线420向主机410发送数据。主机410可以是计算机。主机总线420可以是通用串行总线(USB)、串行高级技术附件(SATA)、并行高级技术附件(PATA)或外围组件快速互连(PCIe)。SSD 400可以包括NAND管芯300(例如,平面_0 310和平面_1311),I/O和逻辑控制器430以及外围电路440。
外围电路440可以包括地址寄存器、状态寄存器、逻辑控制电路、I/O电路、就绪/繁忙控制电路(未示出)等,并且耦合在I/O和逻辑控制器430与行解码器401和411、列解码器402和412、平面_0 310和平面_1 311之间。外围电路440可以从I/O和逻辑控制器430接收各种控制信号,诸如芯片使能信号、命令锁存器使能信号、地址锁存器使能信号、写使能信号、读使能信号等。外围电路440还可以将来自I/O和逻辑控制器430的写入数据发送到平面_0310和平面_1 311,并且从平面_0 310和平面_1 311读取数据到I/O和逻辑控制器430。行解码器401和411可以分别选择与平面_0 310和平面_1 311的目标存储单元相对应的字线,并且将期望的电压施加到选择的字线和其它未选择的字线。页面寄存器403和413可以在平面_0 310和平面_1 311的操作期间保存数据。高速缓存器_0 404和高速缓存器_1 414可以被包括在各自的感测放大器(未示出)中,并且可以分别从平面_0 310和平面_1 311读取数据,并且将数据输出到I/O和逻辑控制器430,并且分别从I/O和逻辑控制器430发送写入数据到平面_0 310和平面_1 311。
I/O和逻辑控制器430可以具有多种功能,诸如损耗均衡、错误检查和校正、中止写入、缺陷管理以及垃圾收集。I/O和逻辑控制器430还可以响应于从主机410发送的命令来控制NAND管芯300的平面_0 310和平面_1311以进行读取、写入、擦除等。I/O和逻辑430控制器还可以向平面_0 310和平面_1 311发送输入/输出信号以及从平面_0 310和平面_1 311接收输入/输出信号。例如,I/O和逻辑控制器430可以向平面_0 310和/或平面_1 311发送各种控制信号,并且分别从平面_0 310和平面_1 311接收就绪/繁忙信号(例如,图5所示的true_rbn_p0和true_rbn_p1)。就绪/繁忙信号可用于指示平面_0 310和平面_1 311处于就绪状态还是繁忙状态。就绪状态可以指在其中平面_0 310和平面_1 311可以接收命令的状态。繁忙状态可以指例如在平面_0 310和平面_1 311上在执行读取过程并且平面_0 310和平面_1 311可能不接收命令的另一种状态。例如,当平面_0 310正忙于执行读取过程并且可能未接收到命令时,true_rbn_p0可以被认为处于“L”电平。又例如,当平面_1 311完成读取过程并准备接收命令时,true_rbn_p1可以被认为处于“H”级别。
I/O和逻辑控制器430还可以向主机410发送以及从主机410接收各种控制信号。例如,从平面_0 310和平面_1 311读取的数据可以临时存储在高速缓存(例如,高速缓存器_0404和高速缓存器_1 414)中,并且高速缓存器_rbn_p0和高速缓存器_rbn_p1(如图5所示)可以用于向主机410通知高速缓存器_0 404和高速缓存器_1 414是处于就绪状态还是繁忙状态。例如,当在平面_0 310上执行的读取过程未完成,在平面_0 310中存储的数据尚未完全高速缓存到高速缓存器_0 404中并且不允许主机410取得高速缓存器_0 404中缓存的数据时,高速缓存器_rbn_p0可以被认为处于“L”电平。对于另一实施例,当在平面_1 311上执行的读取过程完成,存储在平面_1 311中的数据已经被完全高速缓存在高速缓存器_1中,并且现在可以允许主机410取得高速缓存器_1 414中缓存的数据时,高速缓存器_rbn_p1可以被认为处于“H”电平。
可以一次对NAND管芯300的平面_0 310和平面_1 311中的一个执行读取过程,例如,单平面读取过程。例如,主机410可以发出读取命令“00h”,并且经由主机总线420将其发送到I/O和逻辑控制器430。读取命令“00h”可以等效于用于读取的地址输入接收命令,并且用于指示NAND管芯300执行读取过程。接下来,主机410可以将包括用于指定平面_0 310的信息的地址信息add0_p0发送到I/O和逻辑控制器430,并且I/O和逻辑控制器430可以将地址信息add0_p0发送到NAND管芯300的平面_0 310。然后,主机410可以发出读取开始命令“30h”并将其发送到I/O和逻辑控制器430,以指示平面_0 310基于读取开始命令和地址信息add0_p0开始读取过程。然后,平面_0 310可以从就绪状态进入繁忙状态,这由从“H”电平改变为“L”电平的true_rbn_p0表示。当读取过程结束时,平面_0 310可以进入就绪状态(由“H”电平的true_rbn_p0表示),可以将由地址信息add0_p0指定的存储在平面_0 310中的数据高速缓存在高速缓存器_0 404中,并且主机410然后可以取得存储在高速缓存器_0 404中的数据。
还可以在多平面读取过程期间同步或异步地读取NAND管芯300的平面_0 310和平面_1 311,以提高读取吞吐量,从而导致高芯片吞吐量。例如,在同步多平面独立(MPI)读取方案中,I/O和逻辑控制器430可以将(从主机410发出的)读取命令“00h”发送到NAND管芯300。然后,I/O和逻辑控制器430可以发送地址信息add0_p0,其包括用于指定平面_0 310的信息。接下来,I/O和逻辑控制器430可以向NAND管芯300发送多平面读取命令“32h”,该命令用于指示同步MPI过程并且指示到目前为止所发送的命令和地址信息对应于一个平面。随后,I/O和逻辑控制器430可以将读取命令“00h”、包括用于指定平面_1 311的信息的地址信息add1_p1以及读取开始命令“30h”依次发送到平面_1 311。可以同时在平面_0 310和平面_1 311上执行多平面读取过程,在此过程中,平面_0 310和平面_1 311可以进入繁忙状态,这可以分别由“L”电平的true_rbn_p0和“L”电平的true_rbn_p1来指示。
当同步MPI过程结束时,平面_0 310和平面_1 311可以进入就绪状态,这可以分别由“H”电平的true_rbn_p0和“H”电平的true_rbn_p1来指示,并且存储在由地址信息add0_p0指定的平面_0 310中的数据和存储在由地址信息add1_p1指定的平面_1 311中的数据可以分别被高速缓存在高速缓存器_0 404和高速缓存器_1 414中。为了实现同步MPI过程,读取命令在被输出到平面_0 310和平面_1 310之前必须彼此对齐,这为主机410带来了额外的固件复杂性。
在异步多平面独立(AMPI)读取方案中,主机410可以在不同时间向I/O和逻辑控制器430发出并发送两个读取命令以及针对平面_0 310和平面_1311的相应地址信息,并且I/O和逻辑控制器430可以将这两个异步读取命令发送到平面_0 310和平面_1 311,以对平面_0 310和平面_1 311中的每个平面执行读取过程。为了实现AMPI过程,需要额外的电路来支持针对平面_0 310和平面_1 311的独立字线偏置。此外,平面_0 310和平面_1 311必须具有它们自己的各自的电荷泵和调节器,以便减轻噪声注入。先进的3D NAND闪存设计已经采用了阵列下电路(CUA)或x焊接来隐藏阵列下的互补金属氧化物半导体(CMOS)电路,以减小总体芯片尺寸。在小的密集管芯上执行CUA或x焊接变得困难,甚至不可能,因为这样的管芯无法隐藏所有外围电路。
图5示出了示例性时序图,其示出了根据本公开内容的示例性实施例的伪异步多平面独立(PAMPI)读取方案。在伪异步多平面独立读取方案中,可以在SSD 400上同步执行读取命令,这些读取命令可以被发出以从主机410同步或异步地在不同的平面上执行。例如,当在平面_0 310和/或平面_1 311上执行读取过程时,将要在平面_0 310和平面_1 311上执行的同步或异步读取命令可以分别存储在不同的存储单元中,例如,队列_0和队列_1,然后当在平面_0 310和平面_1 311上没有执行读取过程时,将要在平面_0 310和平面_1311上执行的同步或异步读取命令输出到平面_0和平面_1 311并在平面_0和平面_1 311上同步执行。
最初,队列_0和队列_1可以为空,而队列_rbn_p0和队列_rbn_p1(它们指示队列_0和队列_1处于繁忙状态还是就绪状态)二者都可以处于“H”电平,这指示队列_0和队列_1二者处于就绪状态并且准备好了接收并存储读取命令;没有读取过程在平面_0 310和平面_1311上执行,并且true_rbn_p0和true_rbn_p1(它们指示平面_0 310和平面_1 311处于繁忙状态还是就绪状态)二者都处于“H”电平,这指示平面_0 310和平面_1 311处于就绪状态并且准备好了对它们执行读取过程;并且高速缓存器_rbn_p0和高速缓存器_rbn_p1也处于“H”电平。
在阶段#1,可以接收读取命令add0_p0“38h”,并将在平面_0 310上执行该读取命令。例如,图5所示的读取命令add0_p0“38h”可以包括平面_0管线读取命令和相应的平面_0地址信息。由于没有读取命令,并且没有在平面_0 310和平面_1 311上执行任何读取过程,并且队列_0和队列_1二者都为空,因此在平面_0 310上执行读取命令add0_p0“38h”。由于在队列_0和队列_1中未存储任何读取命令,因此队列_0和队列_1仍为空,并且队列_rbn_p0和队列_rbn_p1仍处于“H”电平。在一些实施例中,如虚线所示,队列_rbn_p0将变为“L”电平并立即返回到“H”电平。当在平面_0 310上执行读取命令add0_p0“38h”时,true_rbn_p0变为“L”电平,而高速缓存器_rbn_p0也变为“L”电平,这指示存储在由平面_0地址信息寻址的平面_0 310中的数据正被高速缓存到高速缓存器_0 404中,并且高速缓存器_0 404处于繁忙状态并且尚未准备好由主机410访问。由于没有在平面_1 311上执行读取命令,因此true_rbn_p1仍处于“H”电平,并且高速缓存器_rbn_p1也仍处于“H”电平。
在阶段#2,可以接收读取命令add1_p1“38h”,并将在平面_1 311上执行该读取命令。例如,图5所示的读取命令add1_p1“38h”可以包括平面_1管线读取命令和相应的平面_1地址信息。由于读取命令add0_p0“38h”以及相应的读取过程在平面_0 310上被执行,因此将不执行读取命令add1_p1“38h”,而是将其存储在队列_1中。因此,队列_rbn_p1变为“L”电平,这指示队列_1不为空,并且高速缓存器_rbn_p1变为“L”电平,这指示没有数据准备好可供主机410从其获取。
在阶段#3,可以接收读取命令add2_p0“38h”,并将在平面_0 310上执行该读取命令。例如,图5所示的读取命令add2_p0“38h”可以包括平面_0管线读取命令和相应的平面_0地址信息。由于读取命令add0_p0“38h”以及相应的读取过程在平面_0 310上被执行,因此将不执行读取命令add2_p0“38h”,而是将其存储在队列_0中。因此,队列_rbn_p0变为“L”电平,这指示队列_0不为空。
在阶段#4,在平面_0 310上由读取命令add0_p0“38h”执行的读取过程完成,并且高速缓存器_rbn_p0变为“H”电平,这指示存储在由平面_0地址信息寻址的平面_0 310中的数据被高速缓存到高速缓存器_0 404中,并且高速缓存器_0 404处于就绪状态并且准备好被主机410访问。在一些实施例中,在平面_0 310上由读取命令add0_p0“38h”执行的读取过程完成之后,如虚线所示,true_rbn_p0可以变为“H”电平。在其它实施例中,由于分别存储在高速缓存器_0 404和高速缓存器_1 414中的读取命令add2_p0“38h”和add1_p1“38h”是在读取命令add0_p0“38h”被完全执行之后立即被执行的,因此,在平面_0 310上执行的放电过程尚未完成,并且true_rbn_p0可以仍然处于“L”电平。在分别在平面_0和平面_1上执行读取命令add2_p0“38h”和add1_p1“38h”之后,队列_rbn_p0和队列_rbn_p1再次变为“H”电平,这指示它们为空并准备好了存储读取命令。此外,当在平面_1 311上执行读取命令add1_p1“38h”时,true-rbn_p1变为“L”电平。因此,尽管读取命令add2_p0“38h”和add1_p1“38h”是异步接收的,但它们可以同步执行。
在阶段#5,可以将队列_0中高速缓存的数据输出到主机410,并且可以接收读取命令add3_p1“38h”。例如,图5所示的读取命令add3_p1“38h”可以包括平面_1管线读取命令和相应的平面_1地址信息。由于读取命令add2_p0“38h”和add1_p1“38h”分别在平面_0 310和平面_1上被执行,并相应地进行了读取过程,因此将不执行读取命令add3_p1“38h”,而是将其存储在队列_1中。因此,队列_rbn_p1变为“L”电平,这指示队列_1不为空。
在阶段#6,可以接收读取命令add4_p0“38h”。例如,图5所示的读取命令add4_p0“38h”可以包括平面_0管线读取命令和相应的平面_0地址信息。由于读取命令add2_p0“38h”和add1_p1“38h”分别在平面_0 310和平面_1上被执行,并相应地进行了读取过程,因此将不执行读取命令add4_p0“38h”,而是将其存储在队列_0中。因此,队列_rbn_p0变为“L”电平,这指示队列_0不为空。在接收到读取命令add4_p0“38h”之后,由于队列_0将要对存储在由平面_0地址信息寻址的平面_0中的数据进行高速缓存并且不能被主机410访问,因此高速缓存器_rbn_p0也变为“L”电平。
在阶段#7,可以分别完成在平面_0 310和平面_1上由读取命令add2_p0“38h”和add1_p1“38h”执行的读取过程,并且高速缓存器_rbn_p0和高速缓存器_rbn_p1可以处于“H”电平,这指示存储在由平面_0地址信息寻址的平面_0 310中的数据和存储在由平面_1地址信息寻址的平面_1 311中的数据被分别高速缓存到高速缓存器_0 404和高速缓存器_1 414,并且高速缓存器_0 404和高速缓存器_1 414二者都处于就绪状态并且准备好了由主机410访问。在完成了由读取命令add2_p0“38h”和add1_p1“38h”执行的读取过程之后,输出并执行分别存储在高速缓存器_0 404和高速缓存器_1 414中的读取命令add4_p0“38h”和add3_p1“38h”,并且队列_rbn_p0和队列_rbn_p1变成处于“H”电平,这指示队列_0和队列_1为空并且准备好了接收和存储读取命令。尽管读取命令add4_p0“38h”和add3_p1“38h”是异步接收的,但它们也可以同步执行。
在阶段#8,可以将高速缓存在队列_0和队列_1中的数据输出到主机410。图5示出了响应于读取命令add1_p1“38h”而从平面_1 311读取并被高速缓存在队列_1中的数据可以在响应于读取命令add2_p0“38h”而从平面_0 310读取并被高速缓存在队列_0中的数据之前被输出。在一些实施例中,响应于读取命令add2_p0“38h”而从平面_0 310读取并被高速缓存在队列_0中的数据也可以在响应于读取命令add1_p1“38h”而从平面_1 311读取并被高速缓存在队列_1中的数据之前被输出。
在阶段#9,可以接收读取命令addx_p0“3Dh”,并将在平面_0 310上执行该读取命令。例如,图5所示的读取命令addx_p0“3Dh”可以包括平面_0管线读取结束命令。在一些实施例中,读取命令addx_p0“3Dh”不对应于任何地址信息。由于读取过程分别在平面_0 310和平面_1 311上由读取命令add4_p0“38h”和add3_p1“38h”执行,因此将不执行读取命令addx_p0“3Dh”,而是将其存储在队列_0中。因此,队列_rbn_p0变为“L”电平,其指示队列_0不为空,并且高速缓存器_rbn_p0变为“L”电平,其指示没有数据准备好可供主机410从其获取。
在阶段#10,可以接收读取命令add5_p1“38h”。例如,图5所示的读取命令add5_p1“38h”可以包括平面_1管线读取命令和相应的平面_1地址信息。由于读取命令add4_p0“38h”和add3_p1“38h”分别在平面_0 310和平面_1上被执行,并相应地进行读取过程,因此将不执行读取命令add5_p0“38h”,而是将其存储在队列_1中。因此,队列_rbn_p1变为“L”电平,这指示队列_1不为空。在接收到读取命令add5_p1“38h”之后,由于高速缓存器_1 414将要对在由读取命令add3_p1“38h”执行的读取过程期间存储在平面_1 311中的数据进行高速缓存并且不能被主机410访问,因此高速缓存器_rbn_p1也变为“L”电平。
在阶段#11,可以分别完成由在平面_0和平面_1上由读取命令add4_p0“38h”和add3_p1“38h”执行的读取过程,并且然后高速缓存器_rbn_p0和高速缓存器_rbn_p1变成处于“H”电平,这指示存储在由平面_0地址信息寻址的平面_0 310中的数据和存储在由平面_1地址信息寻址的平面_1311中的数据被分别高速缓存到高速缓存器_0 404和高速缓存器_1 414中,并且高速缓存器_0 404和高速缓存器_1 414二者都处于就绪状态并且准备好了由主机410访问。然后,可以分别在平面_0 310和平面_1 311上执行存储在队列_0中的读取命令addx_p0“3Dh”和存储在队列_1中的读取命令add5_p1“38h”。因此,队列_rbn_p0和队列_rbn_p1变成处于“H”电平,这指示队列_0和队列_1为空并准备好了接收和存储读取命令。在读取命令addx_p0“3Dh”在平面_0上被执行之后,没有读取命令被存储在队列_0中并且将被执行,可以在平面_0 310上完全执行放电过程,并且true_rbn_p0此后变为“H”电平。
在阶段#12,将在队列_0和队列_1中高速缓存的数据输出到主机410。图5示出了响应于读取命令add4_p0“38h”从平面_0 310读取并被高速缓存在队列_0中的数据可以在响应于读取命令add3_p1“38h”从平面_1 311读取并被高速缓存在队列_1中的数据之前被输出。在一些实施例中,响应于读取命令add3_p1“38h”从平面_1 311读取并被高速缓存在队列_1中的数据也可以在响应于读取命令add4_p0“38h”从平面_0 310读取并被高速缓存在队列_0中的数据之前被输出。
在阶段#13,接收读取命令addx_p1“3Dh”,并将在平面_1 311上执行该读取命令。例如,图5所示的读取命令addx_p1“3Dh”可以包括平面_1管线读取结束命令。在一些实施例中,读取命令addx_p1“3Dh”不对应于任何地址信息。由于读取过程仍然正在由读取命令add5_p1“38h”在平面_1 311上执行,因此将不执行读取命令addx_p1“3Dh”,而是将其存储在队列_1中。因此,队列_rbn_p1变为“L”电平,这指示队列_1不为空,并且高速缓存器_rbn_p1变为“L”电平,这指示队列_1将对响应于读取命令add5_p1“38h”从平面_1读取的数据进行高速缓存,并且没有数据准备好可供主机410从其获取。
在阶段#14,由读取命令add5_p1“38h”执行的读取过程完成,并且高速缓存器_rbn_p1变为“H”电平,这指示存储在由平面_1地址信息寻址的平面_1 311中的数据被高速缓存到高速缓存器_1 414中,并且高速缓存器_1 414处于就绪状态并且准备好被主机410访问。然后,在平面_1 311上执行存储在队列_1中的读取命令addx_p1“3Dh”。因此,队列_rbn_p1变为“H”电平,这指示队列_1为空并准备接收好了和存储读取命令,并且true_rbn_1也变为“H”电平。
PAMPI读取方案可用于不同的平面配置。表1列出了多平面闪存400的一些可能配置。多平面闪存400的面积成本向下增加,这表明闪存400采用的PAMPI处理越多,闪存400的成本越小。
表1
因此,与传统的AMPI读取方案相比,根据本公开内容的一些实施例的PAMPI读取方案可以具有大大降低的电路面积成本。此外,主机410不需要对准针对不同平面的读取请求,这涉及主机410的额外固件复杂性和开销。PAMPI读取方案还可以大大提高随机读取性能。与AMPI读取方案不同,PAMPI读取方案不会受到不同平面之间的噪声干扰,因为不同平面上的读取过程是在内部同步执行的。
图6示出了根据本公开内容的一些实施例的示例性接口600的功能框图。接口600可以实现伪异步多平面读取过程。在一些实施例中,接口600可以是独立的并且被布置在主机410和SSD 400之间。例如,主机410可以是计算机,并且可以同步或异步地发出第一平面管线命令和第二平面管线命令。在其它实施例中,接口600可以安装在SSD 400中。例如,SSD400可以是闪存,诸如NAND闪存。在一些实施例中,闪存400可以在第一平面310和第二平面311上同步地执行读取过程。接口600可以包括第一存储单元610(例如,第一存储器)、第二存储单元620(例如,第二存储器)以及控制器630。在一实施例中,控制器630可以与I/O和逻辑控制器430不同。在另一个实施例中,控制器630以及I/O和逻辑控制器430可以包括在单个处理芯片中。在一些实施例中,第一存储单元610可以与第二存储单元620不同。在其它实施例中,第一存储单元610和第二存储单元620可以被包括在单个存储单元中。例如,第一存储单元610可以是队列(例如,图6所示的队列_0),第二存储单元620也可以是队列(例如,图6所示的队列_1)。在各个实施例中,第一存储单元610和第二存储单元620中的至少一个可以包括在闪存400中。
第一存储单元610可以被配置为接收和存储从主机410发出的第一平面管线命令,并且将第一平面管线命令输出到闪存400的第一平面(例如,平面_0 311)。例如,第一平面管线命令可以包括第一平面管线读取命令(例如,add0_p0“38h”、add2_p0“38h”和add4_p0“38h”)和第一平面管线读取结束命令(例如,addx_p0“3Dh”)。在一些实施例中,当第一存储单元610不为空时,第一存储单元610可以不再存储第一平面管线命令。例如,第一存储单元610可以一次存储第一平面管线读取命令或第一平面管线读取结束命令。又例如,第一存储单元610一次只能存储第一平面管线读取命令中的一个。
第二存储单元620可以被配置为接收和存储从主机410发出的第二平面管线命令,并将第二平面管线命令输出到闪存400的第二平面(例如,平面_1 311)。例如,第二平面管线命令可以包括第二平面管线读取命令(例如,add1_p1“38h”、add3_p1“38h”以及add5_p1“38h”)和第二平面管线读取结束命令(例如,addx_p1“3Dh”)。在一些实施例中,当第二存储单元620不为空时,第二存储单元620可以不再存储第二平面管线命令。例如,第二存储单元620可以一次存储第二平面管线读取命令或第二平面管线读取结束命令。又例如,第二存储单元620一次只能存储第二平面管线读取命令中的一个。
控制器630可以电连接到第一存储单元610和第二存储单元620,并且被配置为当没有读取过程在闪存400的第一平面310和第二平面311上执行时,将第一平面管线命令输出到第一平面310,并且将第二平面管线命令输出到第二平面311。例如,当接收到信号“平面_0上的读取过程”指示没有读取过程在闪存400的平面_0 310上执行,以及信号“平面_1上的读取过程”指示没有读取过程在闪存400的平面_1 311上没执行时,控制器630可以控制第一存储单元610中存储的第一平面管线命令和第二存储单元620中存储的第二管线命令分别被同步输出到平面_0 310和平面_1 311上以及在其上执行。在一些实施例中,控制器630可以包括与门633,其可以接收信号“平面_0上的读取过程”和“平面_1上的读取过程”,并且当信号“平面_0上的读取过程”指示没有读取过程在闪存400的平面_0 310上执行(例如,信号“平面_0上的读取过程”处于“H”电平)并且信号“平面_1上的读取过程”指示没有读取过程在闪存400的平面_1 311上执行(例如,信号“平面_1上的读取过程”处于“H”电平)时,控制存储在第一存储单元610中的第一平面管线命令和存储在第二存储单元620中的第二管线命令分别被同步输出到平面_0 310和平面_1 311上以及在其上执行。
在一些实施例中,控制器630还可以包括第一开关631和/或第二开关632。例如,第一开关631的一端可以电连接到第一存储单元610,以及另一端电连接到主机410,以接收第一平面管线命令;并且第二开关632的一端可以电连接到第二存储单元620,以及另一端电连接到主机410,以接收第二平面管线命令。在第一存储单元610为空之后第一开关631可以闭合,例如通过接收处于“H”电平的队列_rbn_p0,以及第一平面管线命令,第一平面管线读取命令中的任一个(例如,add0_p0“38h”、add2_p0“38h”和add4_p0“38h”)或第一平面管线读取结束命令(例如,addx_p0“3Dh”)可以存储在第一存储单元610中。在第二存储单元620为空之后第二开关632可以闭合,例如通过接收处于“H”电平的队列_rbn_p1,以及第二平面管线命令,第二平面管线读取命令中的任一个(例如,add1_p1“38h”、add3_p1“38h”和add5_p1“38h”)或第二平面管线读取结束命令(例如,addx_p1“3Dh”)可以存储在第二存储单元620中。
在根据本公开内容的各种实施例中,接口600的控制器630可以包括被配置为结合软件或不结合软件来执行本文描述的功能和过程的电路。在各种示例中,控制器630可以是数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字增强电路或相当的设备或它们的组合。在根据本公开内容的一些其它实施例中,控制器630可以是中央处理单元(CPU),其被配置为执行程序指令以执行本文描述的各种功能和过程。
接口600可以可选地包括其它组件,例如输入和输出设备,附加或信号处理电路等。因此,接口600可能能够执行其它附加功能,例如执行应用程序,以及处理另外的通信协议。
图7示出了根据本公开内容的一些实施例的示例性方法700的流程图。方法700可以将从主机410同步或异步发出的命令同步输出到多平面闪存400。在各种实施例中,所示方法700的一些步骤可以并行执行或以与所示顺序不同的顺序执行,可以被其它方法步骤代替,或者可以被省略。还可以根据需要执行其它方法步骤。方法700的各方面可以由电子设备来实现,例如在前述附图中示出和针对前述附图描述的接口600。
在步骤710处,第一存储单元610可以接收和存储从主机410发出的第一平面管线命令。例如,第一平面管线命令可以包括第一平面管线读取命令(例如,add0_p0“38h”、add2_p0“38h”和add4_p0“38h”)和第一平面管线读取结束命令(例如,addx_p0“3Dh”)。在一些实施例中,第一存储单元610可以一次存储第一平面管线读取命令或第一平面管线读取结束命令。在其它实施例中,第一存储单元610一次只能存储第一平面管线读取命令中的一个。
在步骤720处,第二存储单元620可以接收和存储从主机410发出的第二平面管线命令。例如,第二平面管线命令可以包括第二平面管线读取命令(例如,add1_p1“38h”、add3_p1“38h”以及add5_p1“38h”)和第二平面管线读取结束命令(例如,addx_p1“3Dh”)。在一些实施例中,第二存储单元620可以一次存储第二平面管线读取命令或第二平面管线读取结束命令。在其它实施例中,第二存储单元610一次只能存储第二平面管线读取命令中的一个。在图7所示的示例中,步骤710之后是步骤720。在一些实施例中,步骤710可以在步骤720之后,即,在存储第二平面管线命令之后存储第一平面管线命令。在其它实施例中,步骤710和步骤720可以被同步执行,即,将第一和第二平面管线命令分别同步存储在第一存储器和第二存储器中。
在步骤730处,当没有读取过程在闪存400的第一平面310和第二平面311上执行时,可以将存储在第一存储单元610中的第一平面管线命令和存储在第二存储单元620中的第二平面管线命令同步输出到闪存400的第一平面310(即,平面_0 310)和第二平面311(即,平面_1 311)并在其上执行。例如,第一平面管线命令和第二平面管线命令可以被同步地输出到第一平面310和第二平面311并在其上执行,而不管它们是否由主机410同步或异步发出以及在第一存储单元610和第二存储单元620中同步还是异步接收。在一些实施例中,在第一存储单元610为空之后,可以将第一平面管线命令存储在第一存储单元610中。在其它实施例中,在第二存储单元620为空之后,可以将第二平面管线命令存储在第二存储单元620中。
本文描述的过程和功能可以被实现为一种计算机程序,当由一个或多个处理器执行时,该计算机程序可以使一个或多个处理器执行相应的过程和功能。该计算机程序可以被存储或分布在合适的介质上,例如与其它硬件一起提供或作为其一部分提供的光学存储介质或固态介质。该计算机程序还可以以其它形式分发,例如经由互联网或其它有线或无线电信系统。例如,可以获取计算机程序并将其加载到装置中,包括通过物理介质或分布式系统(包括例如从连接到互联网的服务器)来获取计算机程序。
可以从提供程序指令的计算机可读介质访问计算机程序,该程序指令供计算机或任何指令执行系统使用或与其结合使用。计算机可读介质可以包括存储、传送、传播或传输计算机程序以供指令执行系统、装置或设备使用或与其结合使用的任何装置。该计算机可读介质可以是磁性、光学、电子、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质可以包括计算机可读非暂时性存储介质,例如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、磁盘和光盘等。计算机可读非暂时性存储介质可以包括所有类型的计算机可读介质,包括磁存储介质、光存储介质、闪存介质和固态存储介质。
前述概述了若干实施例的特征,使得本领域技术人员可以更好地理解本公开内容的方面。本领域技术人员应该理解,他们可以容易地将本公开内容用作设计或修改其它过程和结构的基础,以实现与本文介绍的实施例相同的目的和/或实现相同的优点。本领域技术人员还应该认识到,这样的等效构造不脱离本公开内容的精神和范围,并且在不脱离本公开内容的精神和范围的情况下,他们可以进行各种改变、替换和变更。
Claims (20)
1.一种接口,其位于主机和多平面闪存之间,包括:
第一存储单元,其被配置为接收和存储从所述主机发出的第一平面管线命令,并且将所述第一平面管线命令输出到所述闪存的第一平面;
第二存储单元,其被配置为接收和存储从所述主机发出的第二平面管线命令,并且将所述第二平面管线命令输出到所述闪存的第二平面;以及
控制器,其电连接到所述第一存储单元和所述第二存储单元,并且被配置为当没有读取过程在所述闪存的所述第一平面和所述第二平面上执行时,将所述第一平面管线命令输出到所述第一平面,并且将所述第二平面管线命令输出到所述第二平面。
2.根据权利要求1所述的接口,其中,所述第一平面管线命令包括第一平面管线读取命令和第一平面管线读取结束命令。
3.根据权利要求2所述的接口,其中,所述第一存储单元被配置为一次存储所述第一平面管线读取命令或所述第一平面管线读取结束命令。
4.根据权利要求2所述的接口,其中,所述第一存储单元被配置为一次只存储所述第一平面管线读取命令中的一者。
5.根据权利要求1所述的接口,其中,所述控制器包括第一开关,所述第一开关的一端电连接到所述第一存储单元并且所述第一开关的另一端电连接到所述主机以用于接收所述第一平面管线命令,并且在所述第一存储单元为空之后闭合。
6.根据权利要求1所述的接口,其中,所述第一存储单元是队列。
7.根据权利要求1所述的接口,其中,所述闪存是NAND闪存。
8.根据权利要求1所述的接口,其中,所述闪存在所述第一平面和所述第二平面上同步执行读取过程。
9.根据权利要求1所述的接口,其中,所述主机异步地发出所述第一平面管线命令和所述第二平面管线命令。
10.根据权利要求1所述的接口,其中,所述第一存储单元和所述第二存储单元构成单个存储器。
11.一种用于将从主机发出的命令输出到多平面闪存的方法,包括:
将从所述主机发出的第一平面管线命令和第二平面管线命令分别存储在第一存储单元和第二存储单元中;以及
当没有读取过程在所述闪存的第一平面和第二平面上执行时,将所述第一平面管线命令和所述第二平面管线命令分别输出到所述闪存的所述第一平面和所述第二平面。
12.根据权利要求11所述的方法,其中,所述第一平面管线命令包括第一平面管线读取命令和第一平面管线读取结束命令。
13.根据权利要求12所述的方法,其中,所述第一存储单元被配置为一次存储所述第一平面管线读取命令或所述第一平面管线读取结束命令。
14.根据权利要求12所述的方法,其中,所述第一存储单元被配置为一次只存储所述第一平面管线读取命令中的一者。
15.根据权利要求11所述的方法,其中,在所述第一存储单元为空之后,将所述第一平面管线命令存储在所述第一存储单元中。
16.根据权利要求11所述的方法,其中,所述第一存储单元是队列。
17.根据权利要求11所述的方法,其中,所述闪存是NAND闪存。
18.根据权利要求11所述的方法,其中,所述闪存在所述第一平面和所述第二平面上同步执行读取过程。
19.根据权利要求11所述的方法,其中,所述主机异步地发出所述第一平面管线命令和所述第二平面管线命令。
20.根据权利要求11所述的方法,其中,所述第一存储单元和所述第二存储单元构成单个存储器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/126971 WO2022094901A1 (en) | 2020-11-06 | 2020-11-06 | Pseudo asynchronous multi-plane independent read |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112513988A true CN112513988A (zh) | 2021-03-16 |
CN112513988B CN112513988B (zh) | 2024-07-12 |
Family
ID=74953025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080003287.7A Active CN112513988B (zh) | 2020-11-06 | 2020-11-06 | 伪异步多平面独立读取 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11934336B2 (zh) |
JP (1) | JP7524363B2 (zh) |
KR (1) | KR20230010768A (zh) |
CN (1) | CN112513988B (zh) |
TW (1) | TWI744136B (zh) |
WO (1) | WO2022094901A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113228181A (zh) * | 2021-03-29 | 2021-08-06 | 长江存储科技有限责任公司 | 存储器器件及其异步多面独立读取操作 |
CN114641762A (zh) * | 2022-01-28 | 2022-06-17 | 长江存储科技有限责任公司 | 存储器、存储器的控制方法及存储器系统 |
WO2022204930A1 (en) * | 2021-03-30 | 2022-10-06 | Yangtze Memory Technologies Co., Ltd. | Asynchronous multi-plane independent scheme dynamic analog resource sharing in three-dimensional memory devices |
WO2022225639A1 (en) * | 2021-04-23 | 2022-10-27 | Intel Corporation | Service mesh offload to network devices |
US11496419B2 (en) | 2021-02-03 | 2022-11-08 | Intel Corporation | Reliable transport offloaded to network devices |
TWI800832B (zh) * | 2021-03-29 | 2023-05-01 | 大陸商長江存儲科技有限責任公司 | 記憶體元件、具有其的系統及操作其的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190227749A1 (en) * | 2019-03-28 | 2019-07-25 | Intel Corporation | Independent nand memory operations by plane |
US20200135278A1 (en) * | 2018-10-29 | 2020-04-30 | Micron Technnology, Inc. | Dynamic delay of nand read commands |
CN111563052A (zh) * | 2020-04-30 | 2020-08-21 | 深圳忆联信息系统有限公司 | 降低读延时的缓存方法、装置、计算机设备及存储介质 |
CN111796759A (zh) * | 2019-04-01 | 2020-10-20 | 慧荣科技股份有限公司 | 多平面上的片段数据读取的计算机可读取存储介质及方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542987B1 (en) * | 1999-02-01 | 2003-04-01 | Hewlett-Packard Development Company L.P. | Method and circuits for early detection of a full queue |
US7644224B2 (en) | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
US20160283111A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Read operations in memory devices |
US10019161B2 (en) * | 2015-08-31 | 2018-07-10 | Sandisk Technologies Llc | Out of order memory command fetching |
KR102684983B1 (ko) * | 2016-08-02 | 2024-07-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10534731B2 (en) * | 2018-03-19 | 2020-01-14 | Micron Technology, Inc. | Interface for memory having a cache and multiple independent arrays |
JP2020016954A (ja) | 2018-07-23 | 2020-01-30 | キオクシア株式会社 | メモリシステム |
US20200042225A1 (en) * | 2018-07-31 | 2020-02-06 | SK Hynix Inc. | Apparatus and method for controlling metadata for engagement of plural memory systems |
KR102527265B1 (ko) * | 2018-08-23 | 2023-05-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
JP2020047325A (ja) * | 2018-09-18 | 2020-03-26 | キオクシア株式会社 | 半導体記憶装置 |
KR20200071282A (ko) * | 2018-12-11 | 2020-06-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP7195913B2 (ja) * | 2018-12-19 | 2022-12-26 | キオクシア株式会社 | 半導体記憶装置 |
US11216189B2 (en) * | 2019-04-01 | 2022-01-04 | Silicon Motion, Inc. | Method and computer program product for reading partial data of a page on multiple planes |
US20220043588A1 (en) * | 2020-08-06 | 2022-02-10 | Micron Technology, Inc. | Localized memory traffic control for high-speed memory devices |
US20220083266A1 (en) * | 2020-09-16 | 2022-03-17 | Kioxia Corporation | Plane-based queue configuration for aipr-enabled drives |
-
2020
- 2020-11-06 WO PCT/CN2020/126971 patent/WO2022094901A1/en active Application Filing
- 2020-11-06 JP JP2022578922A patent/JP7524363B2/ja active Active
- 2020-11-06 CN CN202080003287.7A patent/CN112513988B/zh active Active
- 2020-11-06 KR KR1020227044646A patent/KR20230010768A/ko unknown
- 2020-12-14 US US17/121,270 patent/US11934336B2/en active Active
- 2020-12-15 TW TW109144261A patent/TWI744136B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200135278A1 (en) * | 2018-10-29 | 2020-04-30 | Micron Technnology, Inc. | Dynamic delay of nand read commands |
US20190227749A1 (en) * | 2019-03-28 | 2019-07-25 | Intel Corporation | Independent nand memory operations by plane |
CN111796759A (zh) * | 2019-04-01 | 2020-10-20 | 慧荣科技股份有限公司 | 多平面上的片段数据读取的计算机可读取存储介质及方法 |
CN111563052A (zh) * | 2020-04-30 | 2020-08-21 | 深圳忆联信息系统有限公司 | 降低读延时的缓存方法、装置、计算机设备及存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11496419B2 (en) | 2021-02-03 | 2022-11-08 | Intel Corporation | Reliable transport offloaded to network devices |
US11936571B2 (en) | 2021-02-03 | 2024-03-19 | Intel Corporation | Reliable transport offloaded to network devices |
WO2022204849A1 (en) * | 2021-03-29 | 2022-10-06 | Yangtze Memory Technologies Co., Ltd. | Memory device and asynchronous multi-plane independent read operation thereof |
CN113228181A (zh) * | 2021-03-29 | 2021-08-06 | 长江存储科技有限责任公司 | 存储器器件及其异步多面独立读取操作 |
TWI800832B (zh) * | 2021-03-29 | 2023-05-01 | 大陸商長江存儲科技有限責任公司 | 記憶體元件、具有其的系統及操作其的方法 |
US11756629B2 (en) | 2021-03-29 | 2023-09-12 | Yangtze Memory Technologies Co., Ltd. | Memory device and asynchronous multi-plane independent read operation thereof |
US11763892B2 (en) | 2021-03-29 | 2023-09-19 | Yangtze Memory Technologies Co., Ltd. | Memory device and asynchronous multi-plane independent read operation thereof |
CN113228181B (zh) * | 2021-03-29 | 2023-10-03 | 长江存储科技有限责任公司 | 存储器器件及其异步多面独立读取操作 |
US12106810B2 (en) | 2021-03-29 | 2024-10-01 | Yangtze Memory Technologies Co., Ltd. | Memory device and asynchronous multi-plane independent read operation thereof |
US20220319571A1 (en) * | 2021-03-30 | 2022-10-06 | Yangtze Memory Technologies Co., Ltd. | Asynchronous multi-plane independent scheme dynamic analog resource sharing in three-dimensional memory devices |
WO2022204930A1 (en) * | 2021-03-30 | 2022-10-06 | Yangtze Memory Technologies Co., Ltd. | Asynchronous multi-plane independent scheme dynamic analog resource sharing in three-dimensional memory devices |
US11901034B2 (en) * | 2021-03-30 | 2024-02-13 | Yangtze Memory Technologies Co., Ltd. | Asynchronous multi-plane independent scheme dynamic analog resource sharing in three-dimensional memory devices |
WO2022225639A1 (en) * | 2021-04-23 | 2022-10-27 | Intel Corporation | Service mesh offload to network devices |
CN114641762A (zh) * | 2022-01-28 | 2022-06-17 | 长江存储科技有限责任公司 | 存储器、存储器的控制方法及存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI744136B (zh) | 2021-10-21 |
WO2022094901A1 (en) | 2022-05-12 |
JP7524363B2 (ja) | 2024-07-29 |
JP2023531484A (ja) | 2023-07-24 |
US20220147480A1 (en) | 2022-05-12 |
TW202219960A (zh) | 2022-05-16 |
US11934336B2 (en) | 2024-03-19 |
CN112513988B (zh) | 2024-07-12 |
KR20230010768A (ko) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112513988B (zh) | 伪异步多平面独立读取 | |
KR20110051780A (ko) | 불휘발성 메모리 장치의 프로그램 방법 | |
US10430108B2 (en) | Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data | |
US20170310341A1 (en) | Efficient data path architecture for flash devices | |
TW201443650A (zh) | 在非揮發性記憶體中之失序命令執行 | |
CN113129982B (zh) | 在存储器子系统中管理子块擦除操作 | |
US20230154545A1 (en) | Page buffer circuit with bit line select transistor | |
US11922993B2 (en) | Read-time overhead and power optimizations with command queues in memory device | |
US12020774B2 (en) | Methods and systems for selectively enabling/disabling memory dies | |
CN116580744A (zh) | 存储器装置中的双单层级单元编程 | |
CN116343876A (zh) | 存储器子系统中的存储器单元的多阶段擦除操作 | |
CN115295047A (zh) | 存储器子系统中的间歇式动态开始电压和编程验证采样 | |
US9977622B1 (en) | Buffer operations in memory | |
US20240231693A9 (en) | Write operations on a number of planes | |
US12056367B2 (en) | Memory system and operating method thereof for performing urgent fine program operation | |
US20230134281A1 (en) | Shortened single-level cell memory programming | |
US20230317171A1 (en) | All level coarse/fine programming of memory cells | |
US20240086079A1 (en) | Memory pattern management for improved data retention in memory devices | |
US20240170070A1 (en) | Operation method of memory, memory, memory system, and electronic device | |
US20240013839A1 (en) | Method and apparatus to reduce time to program single level cell blocks in a non-volatile memory | |
US20220351789A1 (en) | Reducing maximum programming voltage in memory programming operations | |
US20240281378A1 (en) | Hybrid parallel programming of single-level cell memory | |
CN115954033A (zh) | 使用非隔离单元作为用于存储器装置中的子块的漏极侧选择栅极 | |
CN118782110A (zh) | 在对存储器装置进行编程操作期间的逐叠组升压 | |
CN115705891A (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 |