一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用擦除信用监视快闪存储器擦除进展的制作方法

2021-02-05 14:17:00 来源:中国专利 TAG:存储器 装置 地说 但不 揭示


[0001]
本文揭示的至少一些实施例一般来说涉及存储器装置操作,且更具体地说涉及(但不限于)使用信用机制监视存储器装置的擦除或编程进展。


背景技术:

[0002]
各种类型的存储器装置用以为计算系统存储数据。一种类型的存储器装置使用快闪存储器存储数据。快闪存储器是以电学方式擦除和编程的非易失性计算机存储媒体。一种类型的快闪存储器是nand型,其可例如以数据块进行写入和读取。nand型快闪存储器经常用于存储器卡、usb快闪驱动器和固态驱动器(ssd)中以用于存储数据。
[0003]
快闪存储器提供具有相对快速读存取时间的非易失性存储装置。使用快闪存储器的示范性应用包含个人计算机、数字音频播放器数码相机和移动装置。
[0004]
在一些nand型快闪存储器装置中,在发出页编程或块擦除命令之后,后续读取请求必须等待直到相对耗时的编程或擦除操作完成。因此,此类读取请求由于等待时间而经受延长的服务时延。
[0005]
一个快闪存储器方法使用编程/擦除暂停,其中暂停编程或擦除操作的执行以便服务于等待的读取。在服务于等待的读取之后恢复暂停的编程或擦除操作。
[0006]
在用于nand快闪的擦除操作的一个实例中,擦除过程由两个阶段组成。第一阶段使用擦除脉冲,其持续对存储器中的目标块应用的擦除时间周期。第二阶段使用验证操作,其执行以确定先前擦除脉冲是否已成功地擦除块中的所有位。


技术实现要素:

[0007]
本申请案的一个实施例提供一种方法,其包括:执行擦除操作以擦除存储器;监视在所述擦除操作中使用的擦除脉冲片段;确定与所述擦除操作相关联的擦除信用,其中所述擦除信用包含与所述擦除脉冲片段中的每一个相关联的相应擦除信用;基于所述擦除信用确定所述存储器的擦除程度;以及响应于确定所述擦除程度已达到预定阈值,完成所述擦除操作。
[0008]
本申请案的另一实施例提供一种系统,其包括:存储器单元阵列,其经配置以存储用于存储器装置的数据;至少一个处理装置;以及含有指令的存储器,所述指令经配置以指示所述至少一个处理装置:执行擦除操作以擦除所述存储器单元阵列的至少一部分,所述擦除操作使用擦除脉冲片段;确定与所述擦除操作相关联的擦除信用,其中所述擦除信用包含与所述擦除脉冲片段中的每一个相关联的相应擦除信用;基于所述擦除信用确定所述存储器单元阵列的所述部分的擦除程度;以及响应于确定所述擦除程度已达到预定阈值,完成所述擦除操作。
[0009]
本申请案的又一实施例提供一种存储指令的机器可读存储媒体,所述指令当在至少一个处理装置上执行时使所述至少一个处理装置至少:执行用于存储器的擦除或编程操作,所述擦除或编程操作使用脉冲片段;确定与所述擦除或编程操作相关联的信用,其中所
述信用包含与所述脉冲片段中的每一个相关联的相应信用;基于所述信用确定所述存储器的擦除或编程的程度;以及响应于确定所述擦除或编程的程度已达到预定阈值,完成所述擦除或编程操作。
附图说明
[0010]
实施例是借助于实例而非限制在附图的图式中示出,在附图中相似参考指示类似元件。
[0011]
图1示出根据本发明的一些实施例的具有擦除信用组件的实例计算系统。
[0012]
图2示出根据一个实施例的存取存储于存储器装置中的数据的主机装置的实例。
[0013]
图3示出根据一个实施例的说明执行用于存储器装置的擦除操作的过程的示范性流程图。
[0014]
图4示出根据一个实施例的说明存储器装置中的擦除和读取操作的时延的示范性曲线图。
[0015]
图5示出根据一个实施例的用于当擦除存储器时监视进展的方法。
[0016]
图6示出根据一个实施例的存取存储于非易失性存储器中的数据的主机系统。
[0017]
图7是其中本发明的实施例可操作的实例计算机系统的框图。
具体实施方式
[0018]
本文的至少一些实施例涉及在用于存储器装置的擦除或编程操作期间监视进展。在一个实施例中,使用擦除信用计数器来确定擦除进展程度,使得在极大量的读取(例如,在相对短时间周期中从主机装置发送的大量读取请求)期间擦除操作持续进展。
[0019]
在现有快闪存储器系统中,暂停擦除操作以服务于读取请求。具体地,当使用此方法时,验证和擦除脉冲中断。验证和擦除脉冲随后在恢复擦除操作之后重复。然而,在频繁中断的情况下,擦除将比所需的情况显著更慢地执行。因此,所有传入的读取请求可受此中断开销影响。在更严重情况下,擦除操作无法高效地操作且造成可靠性问题。
[0020]
在现有受管理nand系统的情况下,为了确保低读取时延(例如,满足服务质量要求),暂停编程和擦除操作。举例来说,在现有实施方案中,nand系统中止进行中的子操作(例如,脉冲或验证)以处置由读取请求造成的中断。在恢复后,中断的操作即刻在与中断相关联的先前界定进入点处恢复。当恢复时,首先执行验证操作以检查中断的编程/擦除脉冲的有效性。通常,由此类暂停操作产生的重复造成不利地影响nand系统的总效率的技术问题(例如,由于暂停的操作带来的增加时延)。在更严重情况下,此重复可导致存储器系统超时、性能降级以及对系统可靠性的不利影响。
[0021]
在一些情况下,遮蔽中断以允许当前子操作完成可适用于编程操作(这完成以确保存储器系统操作算法的进展)。然而,此遮蔽方法不能够匹配擦除操作的时延要求(例如,擦除脉冲需要过多时间来充分执行存储器块的擦除)。
[0022]
在现有受管理nand系统的一个实例中,存储器的擦除在两个主要阶段中完成。这些阶段是擦除脉冲和验证操作。擦除脉冲施加于存储器,并且接着执行验证操作以确定存储器是否充分擦除。由读取请求造成的大量中断干扰前述二阶段过程。确切地说,当恢复擦除时,擦除不从擦除脉冲重新开始。实际上在现有系统中,过程始终从验证操作重新开始。
这产生了对擦除操作增加显著时延的技术问题。举例来说,如果恢复擦除,并且接着紧接在恢复之后暂停,那么擦除将不会向前进展,因为同一验证操作在每一次重新开始时重复。这些现有系统必须以验证操作重新开始,因为系统不能够另外确定擦除存储器的进展的程度。
[0023]
本发明的各种实施例提供了针对上述技术问题中的一或多个的技术解决方案。举例来说,在一个实施例中,存储器系统实际上将擦除脉冲分片(例如,通过因读取请求而添加一或多个中断点),且使用信用系统来跟踪擦除有效性。在一个实例中,实施用于擦除nand型快闪存储器的信用机制,以通过使用计数器跟踪在擦除操作中使用的擦除脉冲片段来监视擦除程度。前述的一个益处在于即使当存在极大量暂停(例如,在短时间周期中从主机系统接收的大量读取请求)时也可确保擦除进展。
[0024]
如本文所使用,“脉冲片段”是在一时间周期内施加擦除或编程电压以用于存储器的擦除或编程。在一个实例中,擦除脉冲片段是施加擦除电压以用于存储器的擦除的时间周期。在一个实例中,用于擦除脉冲片段的擦除电压是在使擦除电压从初始电压(例如,例如在读取操作期间在存储器芯片的总线或线上使用的电压)斜变到最终最大电压(例如,用于擦除存储器单元的块或子块的最大设计或操作电压)之后实现的。在一个实例中,擦除脉冲片段在t微秒(“t”是针对特定设计变化的任意时间值)的时间周期内使用16伏的擦除电压。
[0025]
如本文所使用,“斜变”是擦除或编程电压在一时间周期内从初始电压到用于待实施的特定擦除或编程操作的最终操作电压的斜变(例如,擦除电压可在一组擦除脉冲片段中的初始擦除脉冲片段之前增加,或在一组擦除脉冲片段中的最后擦除脉冲片段之后减小)(例如,斜变以将电压从0v增加到用以擦除存储器子块的最大电压)。举例来说,在擦除操作中,在使用一或多个擦除脉冲片段来擦除例如一或多个存储器单元或者存储器阵列的一或多个子块之前,使用斜变将存储器装置的总线或线的擦除电压从初始电压增加到最终操作电压。在一个实例中,使用斜变以在t微秒的时间周期内将总线或线的电压从0v增加到16v。
[0026]
在一个实施例中,一种方法包含:执行擦除操作以擦除存储器;监视在擦除操作中使用的擦除脉冲片段;确定与擦除操作相关联的擦除信用,其中所述擦除信用包含与擦除脉冲片段中的每一个相关联的相应擦除信用;基于擦除信用确定存储器的擦除程度;以及响应于确定所述擦除程度已达到预定阈值而完成擦除操作。
[0027]
在一个实例中,存储器的子块在不存在中断的情况下通常需要10t微秒的擦除脉冲。在擦除操作期间,由于读取请求中断,使用各自具有t微秒的时间周期的十个擦除脉冲片段来擦除存储器。举例来说,从由来自主机系统的读取请求造成的中断点开始使用每一擦除脉冲片段。在擦除操作期间,计数器维持与每一擦除脉冲片段相关联的擦除信用的进行中的总计。在此实例中,擦除脉冲片段中的每一个基于所述片段的时间周期而被指派100的权重。当计数器达到总计1,000个擦除信用(例如,其对应于10t微秒正常擦除脉冲)的预定阈值时,随后存储器系统确定存储器完全擦除。在其它实例中,与每一脉冲片段相关联的时间周期可变化。在此情况下,对应擦除信用的权重将变化。举例来说,具有2t微秒的时间周期的擦除脉冲片段经指派200的权重。
[0028]
在前述实例中,每一擦除脉冲片段具有相等擦除电压。在其它情况下,每一擦除脉
冲片段的电压可变化。经指派到用于此擦除脉冲片段的擦除信用的权重可基于擦除脉冲片段的时间周期及其电压。
[0029]
在一个实例中,擦除信用计数器达到对应于存储器的完全擦除的预定阈值。响应于达到此阈值,擦除操作完成。在一个实例中,擦除操作通过终止任何另外的擦除脉冲片段而完成。在一个实例中,擦除操作通过执行验证操作以确认存储器的足够或完全擦除而完成。在一个实例中,在验证操作确认足够或完全擦除之后,存储器装置发送信号到主机系统,指示存储器已完成擦除操作。
[0030]
在一个实施例中,预定阈值可针对存储器装置中的若干存储器类型中的每一个而变化。举例来说,存储器装置的专用锁存器可用以允许针对每一存储器类型独立调整信用阈值。另外,指派于擦除脉冲片段的擦除信用权重或斜变可基于正擦除的存储器的存储器类型而变化。在一个实例中,信用阈值和/或信用权重对应于存储器装置的硅或其它半导体特性。在一个实例中,在经验上确定信用阈值和/或信用权重,并且接着编程到存储器装置中。
[0031]
在一个实施例中,上述由计数器跟踪的擦除信用可进一步包含与在擦除操作中使用的一或多个斜变相关联的擦除信用。举例来说,在t微秒的时间周期内从0v到16v的斜变可经指派50个擦除信用的权重。应注意在此实例中,与斜变相关联的擦除信用通常小于与同一时长的脉冲片段相关联的擦除信用。这反映存储器的擦除通常以低于完全操作擦除电压的斜变电压在较轻程度上发生。
[0032]
在一个实施例中,指派于斜变的擦除信用权重可基于斜变的时间周期和斜变的电压分布。举例来说,具有较低最终电压的斜变将具有较低擦除信用权重。
[0033]
在一些情况下,如果在擦除操作中使用的斜变在达到最终擦除电压之前中断,那么斜变可能无擦除效果,使得擦除信用为零。因此,无法确保擦除进展。然而,根据本发明,可通过基于对已经被暂停请求中断的若干斜变进行计数而停用擦除操作的中断,来克服前述问题。
[0034]
在一个实施例中,已经被暂停请求中断的斜变的数目由计数器跟踪。响应于确定中断的斜变的数目已达到阈值,可停用任何后续暂停请求对擦除操作的中断直到擦除操作完成。
[0035]
在一个实例中,周期性地牺牲一个读取时延以便确保斜变完成,使得做出擦除进展。举例来说,如果斜变长于存储器装置的最大暂停时延要求,那么可基于在当前擦除操作期间已发生的中断斜变的数目而停用进一步的暂停请求。
[0036]
在一个实施例中,擦除信用用以延迟任何暂停请求直到实现至少最小预定程度的擦除。在一个实例中,停用或延迟擦除操作的暂停直到已实现至少预定擦除信用总计值。在达到预定擦除信用总计之后,随后中断擦除操作且通过执行读取操作而服务于读取请求。
[0037]
本文中描述关于擦除操作的各种实施例。然而,可以类似用于擦除操作的方式来确定和使用与存储器装置中的编程操作相关联的信用。在一个实施例中,一种方法包含:执行用于存储器的编程操作,所述编程操作使用脉冲片段;确定与编程操作相关联的信用,其中所述信用包含与脉冲片段中的每一个相关联的相应信用;基于所述信用而确定存储器的编程程度;以及响应于确定所述编程程度已达到预定阈值而完成编程操作。
[0038]
图1示出根据本发明的一些实施例的具有擦除信用组件107的实例计算系统。擦除
信用组件107可实施于各种计算系统中。在一个实例系统中,处理装置(例如,芯片上系统(soc)、fpga、cpu或gpu)存储和/或存取存储于非易失性存储器装置(例如,使用nand快闪存储器或交叉点存储器(例如3dxp存储器)的装置,或ssd)中的数据。
[0039]
主机系统101经由总线103与存储器系统105通信。存储器系统105的处理装置111具有对非易失性存储器123的存储器区111、113、

、119的读取和写入存取。在一个实例中,主机系统101从非易失性存储器123读取数据并且将数据写入到非易失性存储器123。
[0040]
在一个实例中,处理装置111和存储器区111、113、

、119在同一芯片或裸片上。在一些实施例中,存储器区存储由主机系统101和/或处理装置111在处理期间使用的数据用于机器学习,和/或存储由在主机系统101上或在处理装置111上执行的软件过程产生的其它数据。
[0041]
计算系统包含存储器系统105中的擦除信用组件107,其跟踪擦除信用以监视与存储器系统105的一或多个存储器区相关联的擦除操作的进展。计算系统可进一步包含主机系统120中的擦除信用组件107,其与存储器系统105中的擦除信用组件107协调以至少促进擦除信用的跟踪。在各种实施例中,擦除信用组件107基于存储于例如计数器(未图示)中的擦除信用的进行中的总计而确定非易失性存储器123的一或多个存储器区是否充分擦除。
[0042]
在一个实施例中,存储器系统105接收存取存储于非易失性存储器123中的数据的读取请求。响应于接收到请求,存储器系统105存取存储于存储器区中的一或多个中的数据。存储器系统105响应于存取所述数据的读取请求而提供数据。在一个实例中,经由总线103从主机系统101接收存取数据的请求。
[0043]
在一些实施例中,非易失性存储器123用以响应于在总线123上从主机系统101的处理装置(未图示)接收的写入命令而存储数据。
[0044]
在一些实施例中,处理装置111包含擦除信用组件107的至少一部分。在其它实施例中,或以组合方式,处理装置111和/或主机系统101中的处理装置包含擦除信用组件107的至少一部分。举例来说,处理装置111和/或主机系统101的处理装置可包含实施擦除信用组件107的某些部分的逻辑电路。举例来说,主机系统101的控制器或处理装置(处理器)可经配置以执行存储于存储器中的指令以用于执行本文所描述的擦除信用组件107的某些步骤的操作。
[0045]
在一些实施例中,擦除信用组件107实施于安置于存储器系统105中的集成电路芯片中。在其它实施例中,主机系统120中的擦除信用组件107的部分可为主机系统120的操作系统、装置驱动器或应用程序的部分。
[0046]
存储器系统105的实例是经由存储器总线连接到中央处理单元(cpu)的存储器模块。存储器模块的实例包含非易失性双列直插式存储器模块(nvdimm)等。在一些实施例中,存储器系统可以是提供存储器功能和存储装置功能两者的混合存储器/存储装置系统。一般来说,主机系统可使用包含一或多个存储器区的存储器系统。主机系统可提供数据以存储于存储器系统处并且可请求从存储器系统检索数据。在一个实例中,主机可存取包含易失性和非易失性存储器的各种类型的存储器。
[0047]
主机系统101可为计算装置,例如交通工具中的控制器、网络服务器、移动装置、蜂窝式电话、嵌入式系统(例如,具有芯片上系统(soc)和内部或外部存储器的嵌入式系统),或包含存储器和处理装置的任何计算装置。主机系统101可包含或耦合到存储器系统105,
使得主机系统101可从存储器系统105读取数据或将数据写入到存储器系统105。主机系统101可经由物理主机接口耦合到存储器系统105。如本文所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)、双数据速率(ddr)存储器总线等。物理主机接口可用于在主机系统101与存储器系统105之间传输数据。物理主机接口可提供用于在存储器系统105与主机系统101之间传递控制、地址、数据和其它信号的接口。图1将存储器系统105作为实例进行说明。大体上,主机系统101可经由同一通信连接、多个单独的通信连接和/或通信连接的组合来存取多个存储器系统。
[0048]
主机系统101可包含处理装置和控制器(未示出)。主机系统101的处理装置可为例如微处理器、中央处理单元(cpu)、处理器的处理核心、执行单元等。在一些情况下,主机系统的控制器可称为存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器控制在主机系统101与存储器系统105之间的总线103上的通信。
[0049]
主机系统101的控制器可与存储器系统105的控制器通信以执行例如在非易失性存储器123的存储器区处读取数据、写入数据或擦除数据的操作。在一些情况下,控制器集成于处理装置111的同一封装内。在其它实例中,控制器与处理装置111的封装分开。控制器和/或处理装置可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器和/或处理装置可为微控制器、专用逻辑电路(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一合适的处理器。
[0050]
在一个实施例中,存储器区111、113、...、119可包含不同类型的非易失性存储器组件的任何组合。在一些实施例中,存储器区可为但不限于nand快闪存储器或交叉点存储器。在一些实施例中,非易失性存储器可包含快闪存储器、铁电ram和计算机存储装置(例如,硬盘驱动器和固态驱动器)。此外,存储器区的存储器单元可分组为存储器页或数据块,其可指用以存储数据的单元。
[0051]
在一个实施例中,使用擦除信用组件107,存储器系统105的一或多个控制器可与存储器区111、113、...、119通信以执行与擦除数据有关的操作。每一控制器可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合的硬件。每一控制器可为微控制器、专用逻辑电路(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一合适的处理器。控制器可包含配置成执行存储在本地存储器中的指令的处理装置(处理器)。在一个实例中,控制器的本地存储器包含被配置成存储用于执行控制存储器系统105的操作(包含操控存储器系统105与主机系统101之间的通信)的各种处理程序、操作、逻辑流程和例程的指令的嵌入式存储器。在一些实施例中,本地存储器可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器还可包含用于存储微码的只读存储器(rom)。
[0052]
一般来说,存储器系统105的控制器可从主机系统101和/或处理装置111接收命令或操作并且可将所述命令或操作转换成达成针对所识别的存储器区的数据传送的指令或适当命令。控制器也可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ecc)操作、加密操作、高速缓存操作和在与存储器区域相关联的逻辑块地址与物理块地址之间的地址转换。控制器可另外包含主机接口电路以经由物理主机接口与主机系统
101通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器区域中的一或多个,以及将与存储器区域相关联的应答转换成用于主机系统101的信息。
[0053]
存储器系统105还可包含未说明的额外电路或组件。在一些实施例中,存储器系统105可包含高速缓冲存储器或缓冲器(例如,dram或sram)和地址电路(例如,行解码器和列解码器),所述地址电路可从一或多个控制器接收地址且对地址进行解码以接取存储器区。
[0054]
在一些实施例中,主机系统101或存储器系统105中的控制器和/或处理装置111包含擦除信用组件107的至少一部分。举例来说,控制器和/或处理装置111可包含实施擦除信用组件107的部分的逻辑电路。举例来说,处理装置(处理器)可经配置以执行存储于存储器中的指令以用于执行提供对用于擦除信用组件107的存储器区的读取/写入存取的操作,如本文中所描述。在一些实施例中,擦除信用组件107是操作系统、装置驱动器或应用程序的部分。
[0055]
图2示出根据一个实施例的存取存储于存储器装置252中的数据的主机装置250的实例。主机装置250可将用于存储的数据写入到存储器装置252,且从存储器装置252读取数据(例如,使用经由通信接口发送的一或多个读取请求)。主机装置250和存储器装置252中的每一个可包含经配置以通过通信接口发送或接收信号的若干接收器或驱动器电路。在一个实例中,存储器装置252是通用快闪存储(ufs)装置或嵌入式mmc(emmc)装置。
[0056]
在一个实例中,存储器装置252在控制器254处通过控制链路从主机装置250接收控制信号。控制信号可包含芯片启用ce#、命令锁存启用cle、地址锁存启用ale、写入启用we#、读取启用re#和写入保护wp#。可进一步取决于存储器装置252的性质通过控制链路接收额外或替代的控制信号。存储器装置252例如在多路复用输入/输出(i/o)总线上从主机装置250接收命令信号(表示命令)、地址信号(表示地址)和数据信号(表示数据)。
[0057]
存储器装置252包含存储器单元阵列258。存储器单元阵列258的至少一部分的存储器单元能够经编程到至少两个数据状态中的一个。在一个实例中,存储器单元阵列258是nand快闪存储器阵列。阵列258的存储器单元可布置成块(存储器单元块)。每个块可包含子块。
[0058]
在一些实施例中,阵列258的存储器单元可具有集成在同一集成电路(ic)芯片中的混合存储器单元类型。在一个实例中,存储器单元可包含浮动栅极存储器单元、电荷截留存储器单元,或其它类型的非易失性存储器单元。在一个实例中,存储器单元可包含铁电存储器单元、相变存储器单元、电阻性存储器单元、导电桥存储器单元,和自旋转移力矩磁性随机存取存储器(stt-mram)单元,或其它类型的非易失性存储器单元。
[0059]
存储器装置252包含响应于命令(例如,从主机装置250接收的命令)而控制对存储器单元阵列258的存取的控制器254。通常控制器254可从主机装置250接收命令或操作,且可将命令或操作转换为指令或适当命令以实现对存储器装置252的各种存储器组件的所需存取。举例来说,控制器254可与存储器单元阵列258通信以执行操作,例如读取数据、写入数据或擦除数据和其它此类操作(例如,响应于在命令总线上调度的命令)。在一个实例中,控制器254产生主机装置250的处理器的状态信息。在一个实例中,控制器254经配置以执行存取操作,包含读取操作、编程操作和/或擦除操作。
[0060]
在一个实例中,在编程操作(例如,写入操作)期间,传递数据以用于传送到存储器单元阵列258。在读取操作期间,传递数据以用于输出到主机装置250。
[0061]
在一个实施例中,控制器254控制擦除操作以擦除存储器单元阵列258的至少一部分。控制器254监视在擦除操作中使用的擦除脉冲片段。在一个实例中,这些擦除脉冲片段施加于阵列258中的子块。在施加每一擦除脉冲片段时,控制器254确定与擦除脉冲片段相关联的擦除信用。此擦除信用的值存储于计数器256中的一个中。在施加每一擦除脉冲片段时,计数器256增加了所述特定片段的擦除信用。
[0062]
在擦除操作进展时,控制器254基于从计数器256检索的擦除信用总计而确定存储器单元的擦除程度。当控制器254确定擦除程度已达到预定阈值时,擦除操作完成。在一个实施例中,预定阈值是预定擦除信用总计。在一个实例中,预定擦除信用总计对应于存储器的完全擦除。在一个实例中,基于含有存储器装置252的一或多个物理ic芯片的表征而确定预定擦除信用总计。
[0063]
图3示出根据一个实施例的说明执行用于存储器装置的擦除操作的过程的示范性流程图。在一个实例中,所述存储器装置是图2的存储器装置252。虽然现在下文出于说明的目的论述擦除操作,但相似过程可用于编程操作。
[0064]
擦除存储器的一或多个子块的擦除操作在框301处开始。在框303处,控制器(例如,控制器254)确定是否已接收到暂停请求。如果是,那么在框305处在执行读取操作的同时暂停擦除操作。在完成读取操作之后,恢复擦除操作。
[0065]
接下来,在框307处,验证当前子块的擦除状态。如果在框309处通过验证,那么在框311处控制器确定这是否为待擦除的最后子块。如果是,那么擦除操作在框313处结束。否则,擦除操作前进到下一子块。
[0066]
如果当前子块的验证未通过,那么控制器在框315处确定是否已接收到暂停请求。如果是,那么在框317处在执行读取操作的同时暂停擦除操作。
[0067]
接下来,在框319处,执行斜变。控制器确定对应于所述斜变的擦除信用,且增加进行中的擦除信用总计。
[0068]
在框321处,控制器确定是否已达到信用阈值。如果是,那么在框327处终止用于当前子块的擦除操作。将擦除信用总计复位到零以准备擦除下一子块。举例来说,将计数器256复位到零。在一个实施例中,执行验证操作以确认子块已充分擦除。如果否,那么对子块恢复擦除。
[0069]
在一些实施例中,使用两个或更多个计数器256,其中每一计数器对应于不同存储器类型。在框327处,将对应于刚已擦除的子块的存储器类型的计数器256复位。
[0070]
在框323处,如果尚未达到信用阈值,那么控制器确定是否已接收到暂停请求。如果是,在框329处,停止当前擦除脉冲或脉冲片段。随后在框317处,执行读取操作。
[0071]
在框323处,如果未接收到暂停请求,那么在框325处将擦除脉冲片段施加于存储器。控制器确定对应于擦除脉冲片段的擦除信用。将擦除信用添加到进行中的擦除信用总计。在施加擦除脉冲片段之后,在框321处控制器确定是否已达到信用阈值。如果是,那么在框327处对刚擦除的子块停止进一步的擦除脉冲。
[0072]
接下来,在框303处,控制器确定是否已接收到暂停请求。如果否,那么在框307处,验证刚擦除的子块的擦除状态。在框309处,如果通过验证,那么擦除操作对任何剩余子块继续。
[0073]
图4示出根据一个实施例的说明存储器装置中的擦除和读取操作的时延的示范性
曲线图。更具体地,将现有方法的擦除操作(擦除旧)的时延特性与本发明的方法的擦除操作(擦除新)的时延特性进行比较。并且,将现有方法的读取操作(读取旧)的时延特性与本发明的方法的读取操作(读取新)的时延特性进行比较。
[0074]
如所说明,读取或擦除操作的时延呈现于竖直轴线上,且中断数目呈现于水平轴线上。在对擦除操作无中断的简单情况下,则擦除时延在旧方法和新方法中是相同的。
[0075]
在旧方法中,随着中断数目增加,擦除进展受阻碍,因为擦除操作在增加的程度上中断。因此,随着中断数目增加,旧方法中的擦除操作的时延连续地增加。如上文所提及,在严重情况中,随着中断数目增加到大数目,随后擦除操作可能失败。
[0076]
如所说明,旧方法中的读取操作的时延在中断数目增加时保持恒定。此恒定时延反映了执行读取操作所需的时间加上擦除操作需要进入暂停模式的时间。
[0077]
在新方法中,确保擦除操作中的擦除进展,使得达到存储器完全擦除的点405。因此,在达到点405之后的中断的额外部分不增加擦除操作的时延(存储器已完成擦除操作且不执行进一步擦除)。
[0078]
在新方法中,读取时延比旧方法大一个量401。这反映了在新方法中耐受额外读取时延,使得可如上文所描述确保擦除进展。然而,当存储器已完全擦除(对应于如上文所论述的点405)时,在点407处读取时延比旧方法小一个量403。这反映了不需要进一步时延开销来确保擦除进展,因为存储器已经完全擦除。举例来说,使用新方法,与旧方法相比,存储器系统大体上将在减少的时间中忙碌,因此系统的功率消耗将较少。
[0079]
图5示出根据一个实施例的用于当擦除存储器时监视进展的方法。举例来说,图5的方法可实施于图1和2的系统中。
[0080]
图5的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。
[0081]
在一些实施例中,图5的方法至少部分地由一或多个处理装置(例如,图1的处理装置111或图2的控制器254)执行。在一些实施例中,所述方法由系统使用图7的处理装置和存储器实施。
[0082]
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述处理程序的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
[0083]
在框501处,执行擦除操作以擦除存储器。在一个实例中,存储器是图2的存储器单元阵列258的至少一部分。
[0084]
在框503处,监视在擦除操作中使用的擦除脉冲片段。在一个实例中,图2的控制器254监视擦除脉冲片段。在一个实例中,擦除脉冲片段包含在图3的框325处的脉冲片段。
[0085]
在框505处,确定与擦除操作相关联的擦除信用。擦除信用包含与擦除脉冲片段中的每一个相关联的相应擦除信用。在一个实例中,控制器254使用图2的一或多个计数器256维持进行中的擦除信用总计。
[0086]
在框507处,基于擦除信用确定存储器的擦除程度。在一个实例中,基于存储于计数器256中的一个中的擦除信用总计而确定擦除程度。
[0087]
在框509处,响应于确定擦除程度已达到预定阈值,完成擦除操作。在一个实例中,预定阈值是在图3中的框321处的信用阈值。如果达到信用阈值,那么停止任何进一步的擦除脉冲片段。
[0088]
在一个实施例中,一种方法包括:执行擦除操作以擦除存储器(例如,存储器单元阵列258);监视在擦除操作中使用的擦除脉冲片段;确定与擦除操作相关联的擦除信用,其中所述擦除信用包含与擦除脉冲片段中的每一个相关联的相应擦除信用;基于擦除信用确定存储器的擦除程度;以及响应于确定擦除程度已达到预定阈值(例如,控制器254将计数器256中的信用总计与预定信用阈值进行比较)而完成擦除操作。
[0089]
在一个实施例中,确定擦除程度包括:确定擦除信用的总计;以及将所述总计与预定阈值进行比较。
[0090]
在一个实施例中,存储器是存储器阵列(例如,存储器单元阵列258)的一或多个子块。
[0091]
在一个实施例中,每一相应擦除信用是基于对应擦除脉冲片段的时间周期。
[0092]
在一个实施例中,每一相应擦除信用进一步基于与对应擦除脉冲片段相关联的擦除电压。
[0093]
在一个实施例中,擦除操作进一步使用一或多个斜变(例如,在图3的框319处的斜变),且方法还包括确定与所述斜变中的每一个相关联的相应擦除信用。
[0094]
在一个实施例中,与擦除操作相关联的擦除信用进一步包含与斜变相关联的擦除信用中的每一个。
[0095]
在一个实施例中,所述方法还包括:对已被暂停请求中断的斜变的数目进行计数;以及响应于确定中断斜变的数目已达到阈值,停用任何后续暂停请求对擦除操作的进一步中断直到擦除操作完成。
[0096]
在一个实施例中,所述方法还包括:在擦除操作期间,使用计数器(例如,计数器256)存储擦除信用的总计;响应于接收到暂停请求,暂停擦除操作且执行读取操作;以及在完成读取操作之后,基于存储的擦除信用的总计而确定是否恢复擦除操作。
[0097]
在一个实施例中,所述方法还包括响应于确定恢复擦除操作,恢复擦除操作而无需执行验证操作以确定存储器的擦除状态。
[0098]
在一个实施例中,所述方法还包括在完成擦除操作之后,复位计数器以准备后续擦除操作。
[0099]
在一个实施例中,其中用于每一相应擦除信用的权重随着用于对应擦除脉冲片段的时间周期增加而增加。
[0100]
在一个实施例中,其中完成擦除操作包括执行验证操作以确定存储器是否已擦除。
[0101]
在一个实施例中,所述方法还包括响应于基于验证操作确定存储器尚未擦除,在擦除操作中使用至少一个额外斜变或擦除脉冲片段。
[0102]
在一个实施例中,所述方法还包括:在确定存储器的擦除程度之后,确定是否已接收到暂停请求;响应于确定已接收到暂停请求,暂停擦除操作且执行读取操作;以及在完成读取操作之后,恢复擦除操作。
[0103]
在一个实施例中,一种系统包括:存储器单元阵列,其经配置以存储用于存储器装
置的数据;至少一个处理装置;以及存储器,其含有指令,所述指令经配置以指示所述至少一个处理装置:执行擦除操作以擦除存储器单元阵列的至少一部分,所述擦除操作使用擦除脉冲片段;确定与擦除操作相关联的擦除信用,其中擦除信用包含与擦除脉冲片段中的每一个相关联的相应擦除信用;基于擦除信用确定存储器单元阵列的所述部分的擦除程度;以及响应于确定所述擦除程度已达到预定阈值,完成擦除操作。
[0104]
在一个实施例中,所述系统还包括经配置以存储与擦除操作相关联的擦除信用的总计的计数器。
[0105]
在一个实施例中,所述指令进一步经配置以指示所述至少一个处理装置:响应于来自主机装置的请求存储于存储器装置中的数据的读取请求,暂停擦除操作以提供用于执行读取操作的中断点;在完成读取操作之后,确定存储于计数器中的擦除信用的总计;以及基于存储的擦除信用的总计确定是否恢复擦除操作。
[0106]
在一个实施例中,存储器装置是nand型快闪存储器装置,且所述至少一个处理装置包含经配置以从主机装置接收读取请求的控制器。
[0107]
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在至少一个处理装置上执行时使所述至少一个处理装置至少:执行用于存储器的擦除或编程操作,所述擦除或编程操作使用脉冲片段;确定与擦除或编程操作相关联的信用,其中所述信用包含与脉冲片段中的每一个相关联的相应信用;基于所述信用确定存储器的擦除或编程的程度;以及响应于确定擦除或编程的程度已达到预定阈值,完成擦除或编程操作。
[0108]
图6示出根据一个实施例的存取存储于非易失性存储器225中的数据的主机系统101。在一个实例中,处理装置217通过总线103从主机系统101接收读取和写入命令。读取命令可例如由主机系统101的处理装置207发送。响应于读取命令,选择数据以用于作为输出数据来提供。通信接口211将所选数据提供给总线103。处理装置207将所选数据复制到主机系统101的易失性存储器209中。在一个实例中,易失性存储器209是动态随机存取存储器(dram)。在一个实例中,易失性存储器209是用于处理装置207的系统存储器。
[0109]
在一个实施例中,从存储器区201、203和205中的每一个将存取的数据加载到高速缓冲存储器215中。在一些情况下,所述数据条目伴随有代码。在一个实例中,所述代码是数据条目的散列。
[0110]
在一些实施例中,处理装置217和/或处理装置207识别将用于服务于对所存储数据的读取请求的一或多个存储器分区219。可使用上文所论述的擦除信用组件107暂停任何进行中的擦除操作以服务于读取请求。在一个实施例中,从主机系统101接收读取命令。读取命令与逻辑地址相关联。处理装置217确定存储器区201、203、205内对应于逻辑地址的物理地址。在从非易失性存储器225循序地读取数据且提供到主机系统101时将来自这些物理地址的数据循序地加载到高速缓冲存储器215中。
[0111]
在一个实施例中,可从存储器区中的每一个读取数据部分。在一个实例中,数据部分对应于数据块或页。
[0112]
在一个实例中,易失性存储器209包含dram和/或sram。在一个实例中,处理装置217是接收读取命令(例如,读取数据块或页的读取命令)的状态机。
[0113]
在一个实施例中,由处理装置207发送到处理装置217的信号起始通过处理装置217的数据传送。可响应于处理装置207确定的各个事件而发送所述信号。举例来说,机器学
习模型可将结果提供到处理装置207。可响应于所述结果而发送所述信号。
[0114]
在一个实施例中,机器学习模型基于从各种计算系统接收的数据接收输入。在一个实例中,所述数据是从自主交通工具的交通工具系统接收的传感器数据。
[0115]
来自机器学习模型的输出可由处理装置207使用作为由处理装置217发起数据传送(例如,响应于读取命令)的基础。在一个实例中,非易失性存储器225是快闪存储器或固态驱动器(ssd)。
[0116]
在一个实施例中,由处理装置207使用的系统存储器驻留于易失性存储器209中。处理装置207可响应于各种事件(例如,检测到对计算系统的存储器或其它组件的电力损失)而发起数据传送过程。
[0117]
在一个实施例中,主机系统(例如,主机系统101)可从嵌入式系统的传感器收集数据。举例来说,传感器可位于自主交通工具上且收集用于交通工具的导航的图像数据。在一个实施例中,将传感器数据输入到机器学习模型(例如,神经网络)且使用输出来控制交通工具。在一个实施例中,由处理装置207单独或与主机系统的处理装置结合来执行与神经网络相关联的处理。
[0118]
在一个实施例中,使用处理装置207训练或操作神经网络。在神经网络的训练或其它操作期间,从易失性存储器209和/或非易失性存储器225读取数据并且将数据写入到易失性存储器209和/或非易失性存储器225。
[0119]
在一个实施例中,用以存取非易失性存储器225的控制器可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器可为微控制器、专用逻辑电路(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一合适的处理器。控制器可包含配置成执行存储在本地存储器中的指令的一或多个处理器(处理装置)。
[0120]
控制器的本地存储器可包含被配置成存储用于执行控制存储器系统的操作的方面的各种处理程序、操作、逻辑流程和例程的指令的嵌入式存储器。控制器的本地存储器可包含用于存储微码的只读存储器(rom)和/或存储例如存储器指针、取到的数据等的存储器寄存器。
[0121]
图7是其中本发明的实施例可操作的实例计算机系统200的框图。在一个实施例中,在计算机系统200中可执行用于使得机器进行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统200可对应于存储器系统或主机系统,所述主机系统包含、耦合到或利用存储器系统(例如,图1的存储器系统105)或可用以执行擦除信用组件107的操作(例如,执行指令以执行对应于参考图1-6描述的擦除信用组件107的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
[0122]
机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器、或能够(依序或以其它方式)执行指定由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。
[0123]
实例计算机系统200包含处理装置202、主存储器204(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rambus dram(rdram)等)、静态随机存取存储器(sram)等),以及数据存储系统218,其经由总线230(其可包含多个总线)彼此通信。
[0124]
处理装置202表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置202也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置202经配置以执行用于进行本文中所论述的操作和步骤的指令226。计算机系统200可进一步包含网络接口装置208以在网络220上通信。
[0125]
数据存储系统218可包含机器可读存储媒体224(也称为计算机可读媒体),其上存储有一或多组指令226或体现本文中所描述的方法或功能中的任一或多种的软件。指令226还可在由计算机系统200执行期间完全或至少部分地驻留在主存储器204内和/或处理装置202内,主存储器204和处理装置202也构成机器可读存储媒体。机器可读存储媒体224、数据存储系统218和/或主存储器204可对应于图1的存储器系统105。
[0126]
在一个实施例中,指令226包含实施对应于擦除信用组件107(例如,参考图1-6描述的擦除信用组件107)的功能性的指令。尽管在实例实施例中将机器可读存储媒体224展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本发明的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
[0127]
结束语
[0128]
本发明包含执行上述方法并实现上述系统的各种装置,包含执行这些方法的数据处理系统,以及含有指令的计算机可读媒体,所述指令当在数据处理系统上执行时使得系统执行这些方法。
[0129]
描述及图式是说明性的且不应理解为限制性。描述许多特定细节为提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本发明中对一个或一实施例的提及未必是指同一实施例;且此类提及意指至少一个。
[0130]
在本说明书中对“一个实施例”或“一实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。本说明书中各个位置中的词组“在一个实施例中”的出现未必完全是指相同实施例,也未必是与其它实施例相互排斥的单独或替代实施例。此外,描述了可以由一些实施例而不是由其它实施例展示的各种特征。类似地,描述了各种要求,这些要求可能是一些实施例的要求而不是其它实施例的要求。
[0131]
如本文所使用的,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。
[0132]
在此描述中,各种功能和操作可被描述为由软件代码执行或由软件代码引起以简化描述。然而,所属领域的技术人员将认识到,这类表达的意思是所述功能由一或多个处理
器执行代码所引起,所述处理器例如微处理器、专用集成电路(asic)、图形处理器和/或现场可编程门阵列(fpga)。替代地,或以组合方式,可使用具有或不具有软件指令的专用电路(例如,逻辑电路)实施所述功能和操作。可使用并无软件指令的固线式电路或结合软件指令实施实施例。因此,所述技术既不限于硬件电路和软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
[0133]
尽管一些实施例可以在功能全面的计算机和计算机系统中实现,但是各种实施例能够分布为多种形式的计算产品,且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
[0134]
所揭示的至少一些方面可至少部分体现于软件中。即,可在计算装置或其它系统中响应于其处理器(例如微处理器)执行存储器(例如rom、易失性ram、非易失性存储器、高速缓存器或远程存储装置)中所含的指令序列而进行所述技术。
[0135]
经执行以实施实施例的例程可实施为操作系统、中间件、业务交付平台、软件开发工具包(sdk)组件、网络服务或其它被称为“计算机程序”的特定应用程序、组件、程序、对象、模块或指令序列的部分。这些例程的调用接口可作为应用程序编程接口(api)暴露给软件开发社区。计算机程序通常在计算机中的各个存储器和存储装置中的各个时间处包括一或多个指令集,且所述指令集当被计算机中的一或多个处理器读取和执行时致使所述计算机执行为进行涉及各个方面的元素所必需的操作。
[0136]
机器可读媒体可用以存储软件和数据,所述软件和数据当由计算装置执行时致使所述装置执行各种方法。可执行软件和数据可存储于包含例如rom、易失性ram、非易失性存储器和/或高速缓冲存储器的各处。此软件和/或数据的部分可以存储在这些存储装置中的任何一个中。另外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间处和在不同通信会话或相同通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前获得全部数据及指令。或者,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据及指令在特定时刻处全部在机器可读媒体上。
[0137]
计算机可读媒体的实例包含(但不限于)可记录及不可记录类型的媒体,例如易失性及非易失性存储器装置、只读存储器(rom)、随机存取存储器(ram)、快闪存储器装置、固态驱动器存储媒体、可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(cd rom)、数字通用光盘(dvd)等)以及其它媒体。计算机可读媒体可存储指令。
[0138]
大体来说,有形的或非暂时性机器可读媒体包含以机器(例如,计算机、移动装置、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)可存取的形式提供(例如,存储)信息的任何机构。
[0139]
在各种实施例中,硬接线电路可与软件指令组合使用以实施技术。因此,所述技术既不受限于硬件电路和软件的任何特定组合,也不受限于由计算装置执行的指令的任何特定来源。
[0140]
虽然图式中的一些以特定次序说明数个操作,但可将非次序相依性操作重新排序并且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于所属领域的技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,阶段可用硬件、固件、软件或其任何组合来实施。
[0141]
在前述说明书中,已参考本发明的具体示范性实施例描述了本发明。将显而易见
的是,可在不脱离如所附权利要求书中阐述的更广精神和范围的情况下进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
[0142]
可使用多种不同类型的计算装置实施本文中阐述的各种实施例。如本文中所使用,“计算装置”的实例包含但不限于服务器、集中式计算平台、多个计算处理器和/或组件的系统、移动装置、用户终端、车辆、个人通信装置、可佩戴数字装置、电子自助服务终端、通用计算机、电子文档阅读器、平板计算机、手提式计算机、智能电话、数码相机、住宅家庭设备、电视或数字音乐播放器。计算装置的额外实例包含是被称为“物联网(iot)”的部分的装置。这类“事物”可与其拥有者或管理员偶然交互,所述拥有者或管理员可监控所述事物或修改这些事物上的设置。在一些情况下,这类拥有者或管理员扮演关于“事物”装置的用户的角色。在一些实例中,用户的主要移动装置(例如,苹果iphone(apple iphone))可为关于用户佩戴的经配对“事物”装置(例如,苹果手表(apple watch))的管理服务器。
[0143]
在一些实施例中,计算装置可为主机系统,其例如实施为台式计算机、手提式计算机、网络服务器、移动装置,或其它包含存储器和处理装置的计算装置。主机系统可包含或耦合到存储器子系统,使得主机系统可从存储器子系统读取数据或将数据写入到存储器子系统。主机系统可经由物理主机接口耦合到存储器子系统。
[0144]
物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)、双数据速率(ddr)存储器总线等。物理主机接口可用于在主机系统与存储器子系统之间发射数据。当存储器子系统通过pcie接口与主机系统耦合时,主机系统还可利用nvm高速(nvme)接口来存取存储器子系统的存储器组件。物理主机接口可提供用于在存储器子系统与主机系统之间传送控制、地址、数据和其它信号的接口。一般来说,主机系统可经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
[0145]
在一个实施例中,主机系统包含处理装置和控制器。主机系统的处理装置可为例如微处理器、图形处理单元、中央处理单元(cpu)、fpga、处理器的处理核心、执行单元等。在一个实例中,处理装置可为组合fpga和微处理器的单个封装,其中所述微处理器进行大部分处理,但将某些预定特定任务留给fpga块。在一个实例中,处理装置是软微处理器(有时也被称作软核微处理器或软处理器),其为使用逻辑合成实施的微处理器核心。可经由含有可编程逻辑(例如,asic、fpga或cpld)的不同半导体装置实施软微处理器。
[0146]
在一些实例中,控制器是存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器控制在主机系统与存储器子系统之间经由总线的通信。
[0147]
一般来说,控制器可将对存储器组件的所要存取的命令或请求发送到存储器子系统。控制器可另外包含用于与存储器子系统通信的接口电路。接口电路可将从存储器子系统接收的响应转换成用于主机系统的信息。主机系统的控制器可与存储器子系统的控制器通信以进行操作,例如在存储器组件处读取数据、写入数据或擦除数据以及其它这类操作。
[0148]
在一些情况下,控制器可与处理装置集成于相同封装内。在其它实例中,控制器与处理装置的封装分开。控制器和/或处理装置可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器和/或处理装置可为微控制器、专用逻辑电路(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或另一合适的处理器。
[0149]
存储器组件可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(nand)类型闪存存储器。存储器组件中的每一个可包含存储器单元的一或多个阵列,所述存储器单元例如单电平单元(slc)或多电平单元(mlc)(例如,三电平单元(tlc)或四电平单元(qlc))。在一些实施例中,特定存储器组件可包含存储器单元的slc部分和mlc部分两者。存储器单元中的每一个可存储由主机系统使用的一或多个数据位(例如,数据块)。虽然描述如nand类型快闪存储器的非易失性存储器组件,但存储器组件可基于任何其它类型的存储器,如易失性存储器。
[0150]
在一些实施例中,存储器组件可为但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁性随机存取存储器(mram)、自旋转移力矩(stt)-mram、铁电随机存取存储器(fetram)、铁电ram(feram)、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom)、基于纳米线的非易失性存储器、并入有忆阻器技术的存储器,以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的记忆体对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件的存储器单元可分组为存储器页或数据块,其可指用以存储数据的存储器组件的单元。
[0151]
存储器子系统的控制器可与存储器组件通信以执行操作,例如在存储器组件处读取数据、写入数据或擦除数据以及其它此类操作(例如,响应于由控制器在命令总线上调度的命令)。控制器可包含经配置以执行存储在本地存储器中的指令的处理装置(处理器)。控制器的本地存储器可包含嵌入式存储器,其被配置成存储用于执行各个过程、操作、逻辑流以及控制存储器子系统的操作的例程,包含处置存储器子系统和主机系统之间的通信的指令。在一些实施例中,本地存储器可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器还可包含用于存储微码的只读存储器(rom)。虽然实例存储器子系统包含控制器,但在本发明的另一实施例中,存储器子系统可不包含控制器,且可改为依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
[0152]
一般来说,控制器可从主机系统接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件的所需存取。控制器可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ecc)操作、加密操作、高速缓存操作和在与存储器区域相关联的逻辑块地址与物理块地址之间的地址转换。控制器可另外包含主机接口电路以经由物理主机接口与主机系统通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件,以及将与存储器组件相关联的响应转换成用于主机系统的信息。
[0153]
存储器子系统还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统可包含高速缓冲存储器或缓冲器(例如,dram或sram)和地址电路(例如,行解码器和列解码器),所述地址电路可从控制器接收地址且对地址进行解码以存取存储器组件。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜