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

支持交织操作的存储器装置和存储器系统及其操作方法与流程

2023-04-05 00:59:03 来源:中国专利 TAG:


1.本文描述的本公开的一个或更多个实施方式涉及存储器装置、存储器系统及其操作方法,并且更具体地,涉及用于在存储器装置和存储器系统中进行交织操作的设备及方法。


背景技术:

2.数据处理系统包括存储器系统或数据存储装置。数据处理系统可以被开发为在数据存储装置中存储更大容量的数据,在数据存储装置中更快地存储数据,并且更快地读取存储在数据存储装置中的数据。存储器系统或数据存储装置可以包括用于存储数据的非易失性存储器单元和/或易失性存储器单元。


技术实现要素:

3.本公开的实施方式可以提供一种存储器系统、数据处理系统和操作过程或方法,其可以通过降低存储器系统的操作复杂性和性能劣化来快速且可靠地将数据处理到存储器装置中,从而提高存储器装置的使用效率。
4.另外,本公开的实施方式可以提供一种存储器系统,该存储器系统包括至少一个存储器晶片以及控制器,所述至少一个存储器晶片包括支持交织模式的多个存储器平面,该控制器用于在交织模式下控制在多个平面中执行的数据输入/输出操作。存储器系统中的包括能够存储数据的多个存储器单元的存储器晶片可以包括多个存储器平面,并且所述控制器可以在存储器平面单元中并行执行数据输入/输出操作,以提高存储器系统的数据输入/输出性能。
5.在实施方式中,一种存储器系统可以包括:至少一个存储器晶片,其包括多个存储器平面和寄存器,所述寄存器存储关于各个存储器平面的操作状态和操作结果;以及控制器,其经由数据路径联接到至少一个存储器晶片,并且被配置为将第一状态检查命令传送到至少一个存储器晶片并且接收包括关于相应存储器平面的操作状态和操作结果的第一响应。
6.第一状态检查命令可以包括指示至少一个存储器晶片中的一个存储器晶片的地址。
7.操作状态可以示出多个存储器平面中的每个存储器平面是忙碌还是就绪以用于第一操作。所述第一操作可以包括编程操作、擦除操作和读取操作之一。
8.操作结果可以示出在多个存储器平面中的每个存储器平面内执行的第二操作是成功还是失败。第二操作可以包括编程操作和擦除操作之一。
9.所述第一响应可以具有1字节的大小。在所述第一响应的1字节中,每2位被指派给多个存储器平面中的每个存储器平面。所述2位可以包括示出相应存储器平面的操作状态的第一位和示出所述相应存储器平面的操作结果的第二位。
10.控制器可以被配置为:将第三操作划分为在各个存储器平面内执行的单元操作;
当基于第一响应确定多个存储器平面中的第一存储器平面就绪时,将单元操作中的一个传送到第一存储器平面;并且当从多个存储器平面中的任何存储器平面传送关于所传送的单元操作的完成时,向至少一个存储器晶片传送第二状态检查命令。
11.控制器可以被配置为当基于对应于第二状态检查命令的第二响应确定多个存储器平面中的第二存储器平面就绪时,向第二存储器平面传送单元操作的另一单元操作。
12.多个存储器平面中的每个存储器平面可以包括多个存储块和用于单独地执行数据输入/输出操作的数据输入/输出缓冲器。所述寄存器可以存储指示多个存储器平面中的每个存储器平面是忙碌还是就绪的操作状态以及指示在多个存储器平面中的每个存储器平面内执行的操作是成功还是失败的操作结果。
13.在实施方式中,一种存储器装置可以包括:至少一个存储器晶片,其每一个包括多个存储器平面,所述多个存储器平面包括能够存储数据的多个非易失性存储器单元;寄存器,其存储关于各个存储器平面的操作状态和操作结果;以及控制电路,其被配置为接收状态检查命令、收集存储在寄存器中的操作状态和操作结果、并输出所收集的操作状态和操作结果作为与所述状态检查命令相对应的响应。
14.响应可以包括示出关于相应存储器平面的操作状态的多个第一位和示出关于相应存储器平面的操作结果的多个第二位。
15.至少一个存储器晶片中的每一个还可以包括:多个数据输入/输出引脚,其被配置为传送所述状态检查命令和所述响应;以及使能引脚,其被配置为接收从外部装置递送的芯片使能信号。在经由所述多个数据输入/输出引脚接收到状态检查命令之前,并且在经由多个数据输入/输出引脚传送响应之前,可以激活芯片使能信号。
16.响应的长度可以是多个数据输入/输出引脚的数量的整数倍。
17.响应可以通过多个数据输入/输出引脚逐位地输出。
18.在另一实施方式中,一种用于操作存储器系统的方法可以包括:通过数据路径向至少一个存储器晶片发送第一状态检查命令;响应于第一状态检查命令,从至少一个存储器晶片接收包括至少一个存储器晶片中所包括的所有存储器平面的操作状态和操作结果的第一响应;以及响应于第一响应,向至少一个存储器晶片中所包括的平面发送用于数据输入/输出操作的命令。
19.所述方法还可以包括将包括在至少一个存储器晶片中的各个存储器平面的操作状态和操作结果存储在寄存器中。
20.所述第一状态检查命令可以包括指示至少一个存储器晶片中的一个存储器晶片的地址。
21.所述方法还可以包括在经由多个数据输入/输出引脚接收或传送状态检查命令和响应之前激活芯片使能信号。
22.所述操作状态可以示出多个存储器平面中的每个存储器平面是忙碌还是就绪以用于第一操作。第一操作可以包括编程操作、擦除操作和读取操作之一。
23.所述操作结果可以示出在多个存储器平面中的每个存储器平面内执行的第二操作是成功还是失败。第二操作可以包括编程操作和擦除操作之一。
24.所述第一响应可以具有1字节的大小。在第一响应的1字节中,每2位被指派给多个存储器平面中的每个存储器平面。所述2位可以包括示出相应存储器平面的操作状态的第
一位和示出所述相应存储器平面的操作结果的第二位。
25.在另一实施方式中,一种存储器装置的操作方法可以包括:每当结束对晶片内的每个平面的最新操作时,收集表示所述最新操作的成功或失败的第一信息;响应于来自外部装置的命令,收集表示每个平面的当前忙碌或备用状态的第二信息;以及在完成第二信息的收集时,经由在存储器装置和外部装置之间传送的单个消息向外部装置提供第一信息和第二信息。
附图说明
26.本文的描述参考了附图,其中,在整个附图中相同的附图标记指代相同的部件。
27.图1示出了根据本公开的实施方式的存储器系统。
28.图2示出了根据本公开的另一实施方式的数据处理系统。
29.图3示出了根据本公开的另一实施方式的存储器系统。
30.图4示出了根据本公开的实施方式的包括在图1至图3中所示的控制器中的内部配置。
31.图5示出了根据本公开的实施方式的用于确认包括在存储器系统中的平面的操作状态和操作结果的操作定时。
32.图6示出了根据本公开的实施方式的与状态检查命令相对应的第一响应。
33.图7示出了根据本公开的实施方式的由存储器系统基于参照图6描述的第一响应在交织模式下执行的数据输入/输出操作。
34.图8示出了根据本公开实施方式的与状态检查命令相对应的第二响应。
35.图9示出了根据本公开的实施方式的由存储器系统基于参照图8描述的第二响应在交织模式下执行的数据输入/输出操作。
具体实施方式
36.下面参照附图描述本公开的各种实施方式。然而,本公开的元件和特征可以被不同地配置或布置以形成其它实施方式,所述其它实施方式可以是所公开的实施方式中的任何一个的变型。
37.在本公开中,对包括在“一个实施方式”、“示例实施方式”、“实施方式”、“另一实施方式”、“一些实施方式”、“各种实施方式”、“其它实施方式”、“替代实施方式”等中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在表示任何这样的特征被包括于本公开的一个或更多个实施方式中,但是在同一实施方式中可以组合或者可能不一定组合。
38.在本公开中,术语“包括”、“包括于”、“包含”和“包含于”是开放式的。如所附权利要求中所使用的,这些术语指定了所述元件的存在,而不排除存在或添加一个或更多个其它元件。权利要求中的术语并不排除设备包括附加组件,例如,接口单元、电路等。
39.在本公开中,可以将各种单元、电路或其它组件描述或声称为“被配置为”执行一个或多个任务。在这种背景下,“被配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或更多个任务的结构(例如,电路)来暗示结构。这样,块/单元/电路/组件可以被认为被配置为即使当指定的块/单元/电路/组件当前不工作(例如,未接通也未激活)时
也执行任务。与“被配置为”语言一起使用的块/单元/电路/组件包括硬件,例如,电路、存储可执行以实现操作的程序指令的存储器等。另外,“被配置为”可以包括通用结构(例如,通用电路),其由软件和/或固件(例如,fpga或执行软件的通用处理器)操纵,从而以能够执行所讨论的任务的方式操作。“被配置为”还可以包括调整制造工艺(例如,半导体制造设施)以制造适于实现或执行一个或更多个任务的器件(例如,集成电路)。
40.如本公开中使用的,术语“电路”或“逻辑”是指以下中的全部:(a)纯硬件电路实现(诸如,仅在模拟和/或数字电路中的实现),和(b)电路和软件和/或固件的组合,诸如(如果适用):(i)处理器的组合或(ii)一起工作以使设备(诸如,移动电话或服务器)执行各种功能的处理器/软件的包括数字信号处理器、软件和存储器的部分,以及(c)诸如微处理器或微处理器的一部分之类的需要软件或固件(即使软件或固件物理上不存在)才能运行的电路。“电路”或“逻辑”的该定义适用于该术语在本技术中(包括在任何权利要求中)的所有使用。作为另一示例,如本技术中所使用的,术语“电路”或“逻辑”还涵盖仅处理器或多个处理器、或处理器的一部分及其或它们的随附软件和/或固件的实现。术语“电路”或“逻辑”还涵盖,例如以及如果适用于特定的权利要求元素,用于储存装置的集成电路。
41.如本文所用,术语“第一”、“第二”、“第三”等用作它们后面的名词的标签,并不暗示任何类型的排序,例如,空间、时间、逻辑等。术语“第一”和“第二”并不一定暗示第一值必须在第二值之前写入。此外,尽管本文可以使用这些术语来标识各种元素,但是这些元素不受这些术语的限制。这些术语用于将一个元素与否则将具有相同或相似名称的另一元素区分开。例如,第一电路可以与第二电路区分开。
42.此外,术语“基于”用于描述影响确定的一个或更多个因素。该术语不排除可以影响确定的附加因素。也就是说,确定可以仅基于那些因素或至少部分地基于那些因素。考虑短语“基于b确定a”。虽然在这种情况下,b是影响a的确定的因素,但这样的短语并不排除a的确定也基于c。在其它情况下,可以仅基于b确定a。
43.此处,数据的项、数据项、数据条目或数据的条目可以是位序列。例如,数据项可以包括文件的内容、文件的一部分、存储器中的页、面向对象编程中的对象、数字消息、数字扫描的图像、视频或音频信号的一部分、元数据或可以由位序列表示的任何其它实体。根据实施方式,数据项可以包括离散对象。根据另一实施方式,数据项可以包括两个不同组件之间的传输分组内的信息单元。
44.本文所描述的本公开的实施方式提供了数据处理系统及用于操作该数据处理系统的方法。数据处理系统包括诸如存储器系统和主机之类的组件和资源,并且能够基于组件和资源的使用情况动态地分配用于组件之间的数据通信的多个数据路径。
45.现在将参照附图来描述本公开的实施方式,其中相似的附图标号表示相似的元件。
46.图1示出了根据本公开的实施方式的存储器系统。
47.参照图1,存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以包括多个非易失性存储器单元,所述多个非易失性存储器单元能够存储从外部装置(例如,图2中所示的主机102)传送的数据。存储器装置150可以在接收到来自主机102的请求时输出所存储的数据。控制器130可以控制在存储器装置150内执行的数据输入/输出操作,并执行与主机102的数据通信。
48.根据实施方式,存储器系统110中的存储器装置150和控制器130可以是物理上分离的组件。存储器装置150和控制器130可以通过至少一个数据路径连接。例如,数据路径可以包括多个通道ch0、ch1和多个通路w0、w1、w2、w3等。
49.根据实施方式,存储器装置150和控制器130可以是功能上分离的组件。此外,根据实施方式,存储器装置150和控制器130可以通过单个半导体芯片或多个半导体芯片来实现。例如,存储器装置150可以包括多个存储器晶片192、194、196、198,每个存储器晶片被实现为存储器芯片。多个存储器晶片192、194、196、198可以被理解为在物理上可区分的基板上实现的一组组件。多个存储器晶片192、194、196、198可共享一个通道ch0以与控制器130进行数据通信。能够存储大量或很多数据的存储器系统110可以包括通过多个通道ch0、ch1联接到控制器130的多个存储器晶片192、194、196、198。另外,存储器晶片192、194、196、198中的每一个可以包括用于与控制器130交换数据、信号等的接口电路。
50.根据实施方式,存储器晶片192、194、196、198可以单独地包括至少一个存储器平面。例如,第四存储器晶片198可以包括四个存储器平面p0至p3 172、174、176、178。根据实施方式,存储器平面p0至p3可以包括至少一个存储块152、154、156(参见图2)。根据实施方式,存储器平面p0至p3可以被认为是逻辑分区或物理分区,该逻辑分区或物理分区包括能够控制多个非易失性存储器单元的阵列的驱动电路以及能够临时存储输入到非易失性存储器单元或从非易失性存储器单元输出的数据的缓冲器。
51.存储器平面172、174、176、178中的每一个可以包括多个存储块152、154、156。存储块152、154、156可被理解为通过擦除操作一起移除数据的一组非易失性存储器单元。此外,存储块152、154、156可以包括页。页可以被理解为在编程操作期间一起存储数据或在读取操作期间一起输出数据的一组非易失性存储器单元。例如,存储块152、154、156可以包括多个页。
52.根据实施方式,存储器装置150可以包括至少一个存储块152、154、156、至少一个存储器平面172、174、176、178或至少一个存储器晶片192、194、196、198。参照图1描述的存储器装置150的内部配置可以响应于存储器系统110的设计操作性能而改变。本公开的实施方式不限于参照图1描述的内部配置。
53.为了提高用于存储和输出大量数据的数据输入/输出的操作性能,存储器系统110应当快速处理多个数据输入/输出操作。当并行执行多个数据输入/输出操作时,第一数据可以被编程到非易失性存储器单元组或从非易失性存储器单元组读取,同时第二数据可被编程到另一非易失性存储器单元组或从另一非易失性存储器单元组读取。在这种情况下,即使多个非易失性存储器单元组共享数据路径,控制器或多个非易失性存储器单元组中的每一个交替地使用该数据路径,使得可以避免数据冲突。在本公开的实施方式中,包括在存储器晶片192、194、196、198中的存储器平面172、174、176、178中的每一个可以单独地且独立地执行数据输入/输出操作。参照图1,包括在四个存储器晶片192、194、196、198中的16个存储器平面可以独立地执行数据输入/输出操作,并且可以通过共享通道ch0发送和接收数据。在控制器130与存储器晶片192、194、196、198之间发送和接收数据的操作速度比将数据编程到存储器平面172、174、176、178中的每一个中的非易失性存储器单元中的操作速度、从存储器平面172、174、176、178中的每一个中的非易失性存储器单元中读取数据或删除数据的操作速度快。因为可以非常快速地执行通过共享通道的数据传输操作,所以多个存储
器晶片或多个存储器平面可以共享单个通道。共享通道可以提高存储器系统110的集成度。
54.为了提高存储器系统110的数据输入/输出操作的性能,存储器系统110可以支持平面交织方式以在多个存储器平面172、174、176、178内并行地执行多个输入/输出操作。为了通过平面交织方式提高存储器系统110的数据输入/输出操作的性能,如何控制或调度多个存储器平面172、174、176、178内的多个输入/输出操作可能是重要的。
55.为了在存储器平面单元中并行地执行数据输入/输出操作,控制器130可以检查关于多个存储器平面172、174、176、178的操作状态和操作结果。例如,控制器130可以向存储器晶片192、194、196、198传送用于收集关于多个平面172、174、176、178的信息的命令。响应于该命令,存储器晶片192、194、196、198可以将包括关于多个存储器平面172、174、176、178的信息的响应传送到控制器130。存储器晶片192、194、196、198中的每一个可以包括寄存器184,寄存器184用于存储关于包括于其中的多个存储器平面172、174、176、178的操作状态及操作结果。如果控制器130发送命令,则存储器晶片192、194、196、198可以将收集并存储在寄存器184中的、关于所有存储器平面172、174、176、178的操作状态和操作结果传送到控制器130。例如,每个存储器晶片192、194、196、198可以包括控制电路,该控制电路用于接收状态检查命令,收集存储在寄存器中的操作状态和操作结果,并输出收集到的操作状态和操作结果作为与状态检查命令对应的响应。
56.参照图1,控制器130中的存储器接口(nand i/f)142可以控制控制器130与存储器装置150之间的数据通信。存储器接口142可以包括命令队列(cmd q)182。与在存储器装置150中要执行的各种操作相关联的命令或信息可以依次存储在命令队列182中。根据实施方式,存储器接口142可以包括多个命令队列182。例如,存储器接口142可以包括基于存储器晶片192、194、196、198的数量或存储器平面172、174、176、178的数量的多个命令队列182。如果存在四个存储器晶片,则存储器接口142可以包括四个命令队列。每个命令队列可以被指派给每个存储器晶片。
57.例如,命令队列182可以包括状态检查命令chk_c。状态检查命令chk_c可以从命令队列182出队并被递送到第四存储器晶片198。第四存储器晶片198可以响应于从控制器130输入的状态检查命令chk_c而传送包括存储在寄存器184中的信息(即,关于所有存储器平面172、174、176、178的操作状态和操作结果)的响应。在下文中,描述在控制器130与至少一个存储器晶片198之间如何发送和接收状态检查命令chk_c以及与其对应的响应,如何组织响应(例如,响应的数据结构),以及如何基于该响应来提高存储器系统110的性能。
58.根据实施方式,状态检查命令chk_c可以包括指示存储器系统110中包括的多个存储器晶片192、194、196、198中的特定存储器晶片的地址。当多个存储器晶片共享通道ch0、ch1时,控制器130可以使用指示存储器晶片的地址来选择共享通道的存储器晶片中的一个。
59.在下文中,将集中描述在图1和图2至图4中描述的控制器130和存储器装置150之间能够在技术上区分的操作或组件。具体地,将参照图3和图4更加详细地描述控制器130中的闪存转换层(ftl)240。根据实施方式,控制器130中的闪存转换层(ftl)的角色和功能可以改变。
60.图2和图3示出了根据本公开的一个或更多个实施方式的可以由存储器系统110执行的一些操作。
61.参照图2,数据处理系统100可以包括与诸如存储器系统110之类的存储器系统接合或联接的主机102。例如,主机102和存储器系统110可以经由数据总线、主机电缆等彼此联接以执行数据通信。
62.存储器系统110可以包括存储器装置150和控制器130。存储器系统110中的存储器装置150和控制器130可以被认为是物理上彼此分离的组件或元件。存储器装置150和控制器130可以经由至少一个数据路径连接。例如,数据路径可以包括通道和/或通路。
63.根据实施方式,存储器装置150和控制器130可以是功能上划分的组件或元件。此外,根据实施方式,存储器装置150和控制器130可以用单个芯片或多个芯片来实现。控制器130可以响应于从外部装置输入的请求而执行数据输入/输出操作。例如,当控制器130响应于从外部装置输入的读取请求而执行读取操作时,存储在存储器装置150中所包括的多个非易失性存储器单元中的数据被传送到控制器130。
64.如图2所示,存储器装置150可以包括多个存储块152、154、156。存储块152、154、156可以理解为通过单个擦除操作一起移除数据的一组非易失性存储器单元。虽然未示出,但是存储块152、154、156可以包括作为在单个编程操作期间一起存储数据或者在单个读取操作期间一起输出数据的一组非易失性存储器单元的页。例如,一个存储块可以包括多个页。
65.例如,存储器装置150可以包括多个存储器平面或多个存储器晶片。根据实施方式,存储器平面可以被认为是包括至少一个存储块、能够控制包括多个非易失性存储器单元的阵列的驱动电路、以及能够临时存储输入到非易失性存储器单元或从非易失性存储器单元输出的数据的缓冲器在内的逻辑分区或物理分区。
66.另外,根据实施方式,存储器晶片可以包括至少一个存储器平面。存储器晶片可被理解为在物理上可区分的基板上实现的一组组件。每个存储器晶片可以通过数据路径连接到控制器130。每个存储器晶片可以包括接口以与控制器130交换数据项和信号。
67.根据实施方式,存储器装置150可以包括至少一个存储块152、154、156、至少一个存储器平面或至少一个存储器晶片。图1和图2示出的存储器装置150的内部配置可以根据存储器系统110的性能而不同。本公开的实施方式不限于图2所示的内部配置。
68.参照图2,存储器装置150可以包括电压供应电路170,电压供应电路170能够将至少一些电压供应到存储块152、154、156中。电压供应电路170可以将读取电压vrd、编程电压vprog、通过电压vpass或擦除电压vers供应到包括于存储块中的非易失性存储器单元中。例如,在用于读取存储在存储块152、154、156中所包括的非易失性存储器单元中的数据的读取操作期间,电压供应电路170可以将读取电压vrd供应到被选非易失性存储器单元中。在用于将数据存储在存储块152、154、156中所包括的非易失性存储器单元中的编程操作期间,电压供应电路170可以将编程电压vprog供应到被选非易失性存储器单元中。此外,在对被选非易失性存储器单元执行的读取操作或编程操作期间,电压供应电路170可以将通过电压vpass供应到未选非易失性存储器单元中。在用于擦除存储在存储块152、154、156中所包括的非易失性存储器单元中的数据的擦除操作期间,电压供应电路170可以将擦除电压vers供应到存储块中。
69.存储器装置150可以存储关于基于执行哪个操作而供应到存储块152、154、156的各种电压的信息。例如,当存储块152、154、156中的非易失性存储器单元可以存储多位数据
时,可能需要用于识别或读取多位数据项的多个电平的读取电压vrd。存储器装置150可以包括表,该表包括对应于与多位数据项对应的多个电平的读取电压vrd的信息。例如,该表可以包括存储在寄存器中的偏置值,每个偏置值对应于特定电平的读取电压vrd。用于读取操作的读取电压vrd的偏置值的数量可以被限制到预设范围。此外,偏置值可以被量化。
70.主机102可以包括例如移动电话、mp3播放器、膝上型计算机等的便携式电子装置或者例如台式计算机、游戏播放器、电视机、投影仪等的非便携式电子装置。
71.主机102还可以包括至少一个操作系统(os),所述至少一个操作系统可以控制在主机102中执行的功能和操作。os可以提供与存储器系统110在操作上接合的主机102与打算将数据存储在存储器系统110中的用户之间的互操作性。os可以支持与用户请求相对应的功能和操作。作为示例而非限制,os可以根据主机102的移动性而分类为通用操作系统和移动操作系统。通用操作系统可以根据系统需求或用户环境而分为个人操作系统和企业操作系统。与个人操作系统相比,企业操作系统可以专门用于确保和支持高性能计算。
72.移动操作系统可以经受支持用于移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。对应于用户的请求,主机102可以执行与存储器系统110互锁的多个操作系统。主机102可以将对应于用户请求的多个命令传送到存储器系统110中,从而在存储器系统110内执行对应于多个命令的操作。
73.存储器系统110中的控制器130可以响应于从主机102输入的请求或命令而控制存储器装置150。例如,控制器130可以执行读取操作以将从存储器装置150读取的数据提供给主机102,并且可以执行写入操作或编程操作以将从主机102输入的数据存储在存储器装置150中。为了执行数据输入/输出(i/o)操作,控制器130可以控制并管理读取数据、编程数据、擦除数据等的内部操作。
74.根据实施方式,控制器130可以包括主机接口132、处理器134、纠错电路(ecc)138、电源管理单元(pmu)140、存储器接口142和存储器144。如图2所示的包括在控制器130中的组件可以根据关于存储器系统110的结构、功能、操作性能等而变化。
75.例如,存储器系统110可以根据主机接口的协议,利用可以与主机102电联接的各种类型的存储装置中的任何存储装置来实现。合适的存储装置的非限制性示例包括固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型-mmc、安全数字(sd)卡、迷你-sd、微型-sd、通用串行总线(usb)存储装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体(sm)卡、记忆棒等。根据存储器系统110的实现方式,可以将组件添加到控制器130或从控制器130省略组件。
76.主机102和存储器系统110各自可以包括用于根据一个或更多个预定协议发送和接收信号、数据等的控制器或接口。例如,存储器系统110中的主机接口132可以包括能够向主机102发送信号、数据等或从主机102接收信号、数据等的设备。
77.包括在控制器130中的主机接口132可以经由总线从主机102接收信号、命令或请求和/或数据输入。例如,主机102和存储器系统110可以使用用于数据通信的预定规则或过程集合或者预定接口来在二者之间发送和接收数据。由主机102和存储器系统110支持的用于发送和接收数据的、用于数据通信的规则或过程集合或者接口的示例包括通用串行总线(usb)、多媒体卡(mmc)、并行高级技术附件(pata)、小型计算机系统接口(scsi)、增强型小磁盘接口(esdi)、集成驱动电子设备(ide)、快速外围组件互连(pcie或pci-e)、串行附接
scsi(sas)、串行高级技术附件(sata)、移动行业处理器接口(mipi)等。根据实施方式,主机接口132是用于与主机102交换数据的一种层,并且由称为主机接口层(hil)的固件来实现或驱动。根据实施方式,主机接口132可以包括命令队列。
78.集成驱动电子设备(ide)或高级技术附件(ata)可以用作用于发送和接收数据的接口之一,并且例如可以使用包括并联连接的40根布线的线缆来支持主机102与存储器系统110之间的数据发送和接收。当多个存储器系统110连接到单个主机102时,可以通过使用多个存储器系统110所连接到的位置或拨码开关(dip switch)将多个存储器系统110分为主和从。被设置为主的存储器系统110可以用作主存储器装置。ide(ata)可以包括例如快速-ata、atapi或增强型ide(eide)。
79.串行高级技术附件(sata)接口是与集成驱动电子设备(ide)装置使用的并行数据通信接口的各种ata标准兼容的一种串行数据通信接口。ide接口中的40根布线可以在sata接口中减少到6根布线。例如,ide的40个并行信号可以转换成sata接口的6个串行信号。因为在用于数据发送和接收的主机102中其数据发送和接收速率更快并且其资源消耗更少,所以sata接口已被广泛使用。sata接口可以将多达30个外部装置连接至主机102中包括的单个收发器。另外,sata接口可以支持热插拔,该热插拔即使在主机102和另一装置之间的数据通信正在执行的同时也允许外部装置附接至主机102或从主机102分离。因此,即使在主机102通电时,存储器系统110也可以作为附加装置(如通用串行总线(usb)支持的装置)而连接或断开。例如,在具有esata端口的主机102中,存储器系统110可以像外部硬盘一样自由地附接至主机102或从主机102分离。
80.小型计算机系统接口(scsi)是用于将计算机或服务器与其它外围装置连接的一种串行数据通信接口。与诸如ide和sata之类的其它接口相比,scsi可以提供高的传输速度。在scsi中,主机102和至少一个外围装置(例如,存储器系统110)串联连接,但是主机102和每个外围装置之间的数据发送和接收可以通过并行数据通信来执行。在scsi中,容易将诸如存储器系统110之类的装置连接至主机102或从主机102断开。scsi可以支持15个其它装置到主机102中所包括的单个收发器的连接。
81.串行附接scsi(sas)可以理解为scsi的串行数据通信版本。在sas中,主机102和多个外围装置串联连接,并且主机102和每个外围装置之间的数据发送和接收可以按串行数据通信方案来执行。sas可以通过串行线缆而不是并行线缆来支持主机102和外围装置之间的连接,以容易地管理使用sas的装备,并且增强或提高操作可靠性和通信性能。sas可以支持八个外部装置到主机102中所包括的单个收发器的连接。
82.快速非易失性存储器(nvme)是至少基于快速外围组件互连(pcie)的一种接口,pcie被设计为增加配备有非易失性存储器系统110的主机102、服务器、计算装置等的性能和设计灵活性。pcie可以使用插槽或特定线缆来连接计算装置(例如,主机102)和外围装置(例如,存储器系统110)。例如,pcie可以使用多个引脚(例如,18个引脚、32个引脚、49个引脚或82个引脚)和至少一条线(例如,x1、x4、x8或x16)来实现每秒数百mb(例如,250mb/s、500mb/s、984.6250mb/s或1969mb/s)以上的高速数据通信。根据实施方式,pcie方案可以实现每秒数十至数百千兆位的带宽。nvme可以支持非易失性存储器系统110(诸如ssd)的比硬盘更快的操作速度。
83.根据实施方式,主机102和存储器系统110可以通过通用串行总线(usb)连接。通用
串行总线(usb)是一种可扩展、可热插拔的即插即用串行接口,它可以在主机102和外围装置(诸如键盘、鼠标、操纵杆、打印机、扫描仪、储存装置、调制解调器、摄像机等)之间提供成本效益的标准连接。诸如存储器系统110之类的多个外围装置可以联接至主机102中包括的单个收发器。
84.参照图2,纠错电路138可以纠正从存储器装置150读取的数据的错误位,并且可以包括纠错码(ecc)编码器和ecc解码器。ecc编码器可以对要编程在存储器装置150中的数据执行纠错编码,以生成添加了奇偶校验位的编码数据,并且将该编码数据存储在存储器装置150中。当控制器130读取了存储器装置150中存储的数据时,ecc解码器可以检测并纠正从存储器装置150读取的数据中包含的错误位。例如,在对从存储器装置150读取的数据执行纠错解码之后,纠错电路138确定纠错解码是否已经成功,并且基于纠错解码的结果输出指示信号,例如,纠正成功信号或纠正失败信号。纠错电路138可以使用在针对存储器装置150中存储的数据的ecc编码过程期间已经生成的奇偶校验位,以便纠正读取数据的错误位。当错误位的数量大于或等于可纠正的错误位的数量时,纠错电路138可以不纠正错误位而是替代地可以输出指示错误位纠正失败的纠正失败信号。
85.根据实施方式,纠错电路138可以基于诸如以下的编码调制来执行纠错操作:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem:bch)码、turbo码、里德-所罗门(reed-solomon:rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、块编码调制(bcm)等。纠错电路138可以包括用于基于上述码中的至少一种来执行纠错操作的所有电路、模块、系统和/或装置。图2中所示的纠错电路138可以包括图1所示的控制器130中所包括的组件中的至少一些组件。
86.例如,ecc解码器可以对从存储器装置150发送的数据执行硬判决解码或软判决解码。硬判决解码可以被理解为针对纠错而广泛分类的两种方法之一。硬判决解码可以包括通过从存储器装置150中的非易失性存储器单元读取数字数据“0”或“1”来纠正错误位的操作。因为硬判决解码处置二进制逻辑信号,所以与软判决解码相比,电路/算法设计或配置可以更简单并且处理速度可以更快。
87.软判决解码可以通过两个或更多个量化值(例如,多位数据、近似值、模拟值等)来对存储器装置150中的非易失性存储器单元的阈值电压进行量化,以便基于两个或更多个量化值来纠正错误位。控制器130可以从存储器装置150中的多个非易失性存储器单元接收两个或更多个字母或量化值,然后基于通过将量化值表征为诸如条件概率或似然率之类的信息的组合而生成的信息来执行解码。
88.根据实施方式,ecc解码器可以使用针对软判决解码而设计的方法当中的低密度奇偶校验和生成器矩阵(ldpc-gm)码。低密度奇偶校验(ldpc)码使用可以根据可靠性按照若干位来从存储器装置150读取数据值而不是像硬判决解码那样简单地读取1或0的数据的算法,并且通过消息交换迭代地重复该算法,以提高值的可靠性。然后,这些值最终被确定为1或0的数据。例如,使用ldpc码的解码算法可以理解为概率解码。在硬判决解码中,从非易失性存储器单元输出的值被解码为0或1。与硬判决解码相比,软判决解码可以基于随机信息确定非易失性存储器单元中存储的值。关于可以被认为是在存储器装置150中可发生的错误的位翻转,软判决解码可以提供纠正错误和恢复数据的改进概率并且提供纠正的数据的可靠性和稳定性。ldpc-gm码可以具有其中内部低密度生成器矩阵(ldgm)码可以与高
速ldpc码串联级联的方案。
89.根据实施方式,ecc解码器可以使用例如低密度奇偶校验卷积码(ldpc-cc)用于软判决解码。ldpc-cc可以具有使用基于可变块长度和移位寄存器的线性时间编码和流水线解码的方案。
90.根据实施方式,ecc解码器可以使用例如对数似然比turbo码(llr-tc)用于软判决解码。对数似然比(llr)可以被计算为针对采样值与理想值之间的距离的非线性函数。另外,turbo码(tc)可以包括二维或三维的简单码(例如,汉明码),并且在行方向和列方向上重复解码以提高值的可靠性。
91.电源管理单元(pmu)140可以控制提供给控制器130的电力。pmu 140可以监测供应给存储器系统110的电力,例如,供应给控制器130的电压,并且向控制器130中包括的组件提供电力。pmu 140不仅可以检测通电或断电,而且可以生成触发信号以使存储器系统110能够在供应给存储器系统110的电力不稳定时紧急备份当前状态。根据实施方式,pmu 140可以包括能够累积可以在紧急情况下使用的电力的装置或组件。
92.存储器接口142可以用作用于处置在控制器130和存储器装置150之间传送的命令和数据的接口,以便允许控制器130响应于从主机102输入的命令或请求而控制存储器装置150。在存储器装置150是闪存的情况下,存储器接口142可以生成用于存储器装置150的控制信号并且可以在处理器134的控制下处理输入到存储器装置150或从存储器装置150输出的数据。
93.例如,当存储器装置150包括nand闪存时,存储器接口142包括nand闪存控制器(nfc)。存储器接口142可以提供用于处置控制器130和存储器装置150之间的命令和数据的接口。根据实施方式,存储器接口142可以通过称为闪存接口层(fil)的固件来实现或者由其驱动,以用于与存储器装置150交换数据。存储器接口142可以包括图1所示的命令队列182。
94.根据实施方式,存储器接口142可以支持开放nand闪存接口(onfi)、切换模式(toggle mode)等,以用于与存储器装置150的数据输入/输出。例如,onfi可以使用包括能够支持以8位或16位数据为单位的双向发送和接收的至少一条信号线的数据路径,例如,通道、通路等。控制器130与存储器装置150之间的数据通信可以通过关于异步单倍数据速率(sdr)、同步双倍数据速率(ddr)、切换双倍数据速率(ddr)等的至少一个接口来实现。
95.存储器144可以在临时存储在存储器系统110和控制器130中执行的操作的事务数据的同时,用作存储器系统110或控制器130的工作存储器。例如,存储器144可以在响应于来自主机102的读取请求而从存储器装置150输出的读取数据被输出到主机102之前临时存储所述读取数据。另外,控制器130可以在将从主机102输入的写入数据编程到存储器装置150中之前将写入数据临时存储在存储器144中。当控制器130控制存储器装置150的操作(诸如数据读取操作、数据写入或编程操作、数据擦除操作等)时,在存储器系统110的控制器130与存储器装置150之间传送的数据可以临时存储在存储器144中。
96.除了读取数据或写入数据之外,存储器144还可以存储用于在主机102和存储器装置150之间输入或输出数据的信息,例如,映射数据、读取请求、编程请求等。根据实施方式,存储器144可以包括命令队列、编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等中的一个或更多个。控制器
130可以在存储器144中为被建立以施行数据输入/输出操作的组件分配一些存储空间。例如,在存储器144中建立的写入缓冲器可以用于临时存储经历编程操作的目标数据。
97.在实施方式中,可以用易失性存储器来实现存储器144。例如,可以用静态随机存取存储器(sram)、动态随机存取存储器(dram)或两者来实现存储器144。尽管图2例示了例如存储器144设置在控制器130内,但是实施方式不限于此。存储器144可以位于控制器130的内部或外部。例如,存储器144可以由具有在存储器144和控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器来实施。
98.处理器134可以控制存储器系统110的整体操作。例如,处理器134可以响应于从主机102进入的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。根据实施方式,处理器134可以执行固件以控制存储器系统110中的编程操作或读取操作。这里,固件可以被称为闪存转换层(ftl)。将参照图3和图4详细描述ftl的示例。根据实施方式,处理器134可以用微处理器、中央处理单元(cpu)等来实现。
99.根据实施方式,存储器系统110可以用至少一个多核处理器来实现。多核处理器是其中集成了被认为是区分的处理区域的两个或更多个核的一种电路或芯片。例如,当多核处理器中的多个核独立地驱动或执行多个闪存转换层(ftl)时,可以提高存储器系统110的数据输入/输出速度或性能。根据实施方式,存储器系统110中的数据输入/输出(i/o)操作可以通过多核处理器中的不同核独立地执行。
100.控制器130中的处理器134可以执行与从主机102输入的请求或命令相对应的操作。此外,存储器系统110可以独立于从主机102输入的命令或请求而执行操作。在一种情况下,由控制器130响应于从主机102输入的请求或命令而执行的操作可以被认为是前台操作,而由控制器130独立于从主机102输入的请求或命令而执行的操作可以被认为是后台操作。控制器130可以执行前台或后台操作,以用于读取、写入或擦除存储器装置150中的数据。另外,与作为从主机102发送的设置命令的设置参数命令或设置特征命令对应的参数设置操作可以被认为是前台操作。作为在没有从主机102发送的命令的情况下执行的后台操作,控制器130可以执行垃圾收集(gc)、损耗均衡(wl)、用于识别和处理坏块的坏块管理等。
101.根据实施方式,作为前台操作和后台操作两者,可以执行基本相似的操作。例如,当存储器系统110响应于从主机102输入的请求或命令而执行垃圾收集(例如,手动gc)时,垃圾收集可以被认为是前台操作。当存储器系统110独立于主机102而执行垃圾收集(例如,自动gc)时,垃圾收集可以被认为是后台操作。
102.当存储器装置150包括各自包括多个非易失性存储器单元的多个晶片或多个芯片时,控制器130可以执行关于从主机102输入的多个请求或命令的并行处理,以便提高存储器系统110的性能。例如,所发送的请求或命令可以基于所发送的请求或命令可以在存储器装置150中包括的多个平面、多个晶片或多个芯片中的哪一者内执行而被划分为多个组,并且在每个平面、每个晶片或每个芯片中单独地或并行地处理多组请求或命令。
103.控制器130中的存储器接口142可以通过至少一个通道和至少一个通路连接至存储器装置150中的多个晶片或芯片。当控制器130响应于与包括非易失性存储器单元的多个页相关联的请求或命令而通过每个通道或每个通路将数据分发并存储在多个晶片中时,可以在多个晶片或平面中同时或并行地执行与请求或命令相对应的多个操作。这种处理方法或方案可以被认为是交织方法。因为通过以交织方法进行操作来提高存储器系统110的数
据输入/输出速度,所以能够提高存储器系统110的数据i/o性能。
104.作为示例而非限制,控制器130可以识别与存储器装置150中所包括的多个晶片相关联的多个通道或通路的状态。控制器130可以将每个通道或每个通路的状态确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和异常状态之一。由控制器进行的关于通过哪个通道或通路递送指令和/或数据的确定可以与物理块地址相关联。控制器130可以参考从存储器装置150递送的描述符。描述符可以包括描述关于存储器装置150的某些事情的参数的块或页。描述符可以具有预定格式或结构。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定使用哪个通道或通路来交换指令或数据。
105.参照图2,存储器系统110中的存储器装置150可以包括多个存储块152、154、156。多个存储块152、154、156中的每一个包括多个非易失性存储器单元。根据实施方式,存储块152、154、156可以是被一起擦除的一组非易失性存储器单元。存储块152、154、156可以包括多个页,页是一起读取或编程的一组非易失性存储器单元。
106.在实施方式中,每个存储块152、154或156可以具有用于高集成度的三维堆叠结构。此外,存储器装置150可以包括多个晶片,每个晶片包括多个平面,每个平面包括多个存储块152、154、156。存储器装置150的配置可以根据存储器系统110的性能而改变。
107.图2示出了存储器装置150包括多个存储块152、154和156。根据可以存储在一个存储器单元中的位数,多个存储块152、154和156可以是单级单元(slc)存储块、多级单元(mlc)存储块等中的任何一种。slc存储块包括由每个存储器单元存储一位数据的存储器单元实现的多个页。slc存储块可以具有比mlc存储块更高的数据i/o操作性能和更高的耐用性。mlc存储块包括由每个存储器单元存储多位数据(例如,两位或更多位的数据)的存储器单元实现的多个页。与slc存储块相比,mlc存储块可以针对相同的空间而具有更大的储存容量。从储存容量的角度来看,mlc存储块可以是高度集成的。
108.在实施方式中,存储器装置150可以用诸如双级单元(dlc)存储块、三级单元(tlc)存储块、四级单元(qlc)存储块以及它们的组合之类的mlc存储块来实现。dlc存储块可以包括由每个存储器单元能够存储2位数据的存储器单元实现的多个页。tlc存储块可以包括由每个存储器单元能够存储3位数据的存储器单元实现的多个页。qlc存储块可以包括由每个存储器单元能够存储4位数据的存储器单元实现的多个页。在另一实施方式中,存储器装置150可以用包括由每个存储器单元能够存储五位或更多位的数据的存储器单元实现的多个页在内的块来实现。
109.根据实施方式,控制器130可以使用存储器装置150中所包括的mlc存储块作为在一个存储器单元中存储一位数据的slc存储块。多级单元(mlc)存储块的数据输入/输出速度可以比slc存储块的数据输入/输出速度慢。也就是说,当mlc存储块用作slc存储块时,能够减少读取操作或编程操作的裕度。例如,当mlc存储块用作slc存储块时,控制器130可以以更高的速度执行数据输入/输出操作。因此,控制器130可以使用mlc存储块作为slc缓冲器来临时存储数据,这是因为缓冲器可以需要高的数据输入/输出速度以提高存储器系统110的性能。
110.此外,根据实施方式,控制器130可以在不对存储器装置150中所包括的特定mlc存储块执行擦除操作的情况下,在mlc中多次编程数据。通常,非易失性存储器单元不支持数
据覆写。然而,控制器130可以利用mlc能够存储多位数据的特征来在mlc中多次编程1位数据。对于mlc覆写操作,当在mlc中编程1位数据时,控制器130可以将编程次数存储为单独的操作信息。根据实施方式,可以在各自已经存储了1位数据的相同mlc中编程另一个1位数据之前执行用于均匀地拉平mlc的阈值电压的操作。
111.在实施方式中,存储器装置150被实施为诸如闪存(例如,nand闪存、nor闪存等)之类的非易失性存储器。在另一实施方式中,可以通过相变随机存取存储器(pcram)、铁电随机存取存储器(fram)、自旋转移力矩随机存取存储器(stt-ram)和自旋转移力矩磁随机存取存储器(stt-mram)等中的至少一个来实现存储器装置150。
112.参照图3,存储器系统中的控制器130与主机102和存储器装置150一起操作。如图所示,控制器130包括主机接口132、闪存转换层(ftl)240、存储器接口142和先前参照图2标识的存储器144。
113.根据实施方式,图2所示的纠错电路138可以被包括在闪存转换层(ftl)240中。在另一实施方式中,纠错电路138可以被实现为被包括在控制器130中或与控制器130相关联的单独的模块、电路、固件等。
114.主机接口132可以处置从主机102发送的命令、数据等。作为示例而非限制,主机接口132可以包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可以依次存储从主机102接收的命令、数据等,并且例如按照它们被存储在命令队列56中的顺序将它们输出到缓冲器管理器52。缓冲器管理器52可以对从命令队列56接收的命令、数据等进行分类、管理或调整。事件队列54可以依次发送用于处理从缓冲器管理器52接收的命令、数据等的事件。
115.可以从主机102发送具有相同特性的多个命令或数据,或者具有不同特性的多个命令和数据可以在被主机102混合或混杂之后发送到存储器系统110。例如,可以向存储器系统110递送用于读取数据的多个命令(即,读取命令),或者可以向存储器系统110交替地发送用于读取数据的命令(即,读取命令)和用于编程/写入数据的命令(即,写入命令)。主机接口132可以将从主机102发送的命令、数据等依次存储在命令队列56中。此后,主机接口132可以根据从主机102已发送的命令、数据等的特性来估计或预测控制器130将执行什么类型的内部操作。主机接口132可以基于命令、数据等的特性来确定它们的处理顺序和优先级。
116.根据从主机102发送的命令、数据等的特性,主机接口132中的缓冲器管理器52被配置为确定缓冲器管理器52是否应该将命令、数据等存储在存储器144中,或者缓冲器管理器52是否应该将命令、数据等递送到闪存转换层(ftl)240。事件队列54接收从缓冲器管理器52发送的响应于命令、数据等而将由存储器系统110或控制器130在内部执行和处理的事件,并且按照输入到事件队列54的事件的顺序将事件递送到闪存转换层(ftl)240。
117.根据实施方式,图3中示出的闪存转换层(ftl)240可以实现多线程方案以执行数据输入/输出(i/o)操作。多线程ftl可以使用包括在控制器130中的多线程通过多核处理器来实现。
118.根据实施方式,闪存转换层(ftl)240可以包括主机请求管理器(hrm)46、映射管理器(mm)44、状态管理器42和块管理器48。主机请求管理器(hrm)46可以管理从事件队列54发送的事件。映射管理器(mm)44可以处置或控制映射数据。状态管理器42可以执行垃圾收集(gc)或损耗均衡(wl)。块管理器48可以对存储器装置150中的块执行命令或指令。
119.作为示例而非限制,主机请求管理器(hrm)46可以使用映射管理器(mm)44和块管理器48来处置或处理根据读取命令和编程命令的请求以及从主机接口132递送的事件。主机请求管理器(hrm)46可以向映射管理器(mm)44发送查询请求,以确定与随事件输入的逻辑地址相对应的物理地址。主机请求管理器(hrm)46可以向存储器接口142发送具有物理地址的读取请求,以处理读取请求,即,处理事件。在实施方式中,主机请求管理器(hrm)46可以向块管理器48发送编程请求或写入请求,以将数据编程到存储器装置150中的没有存储数据的特定空白页,然后可以将对应于编程请求的映射更新请求发送到映射管理器(mm)44,以便在将逻辑地址和物理地址彼此映射的信息中更新与已编程数据相关的项。
120.块管理器48可以将从主机请求管理器(hrm)46、映射管理器(mm)44和/或状态管理器42递送的编程请求转换为用于存储器装置150的闪存编程请求,以便管理存储器装置150中的闪存块。为了最大化或增强存储器系统110的编程或写入性能,块管理器48可以收集编程请求并将针对多平面和单次编程操作的闪存编程请求发送到存储器接口142。在实施方式中,块管理器48向存储器接口142发送数个闪存编程请求,以增强或最大化多通道和多方向闪存控制器的并行处理。
121.在实施方式中,块管理器48可以根据有效页的数量来管理存储器装置150中的块,当需要空闲块时选择并擦除不具有有效页的块,并且当确定要执行垃圾收集时选择包括最少数量的有效页的块。状态管理器42可以执行垃圾收集以将存储在被选块中的有效数据移动到空白块,并擦除存储在被选块中的数据,使得存储器装置150可以具有足够的空闲块,即,没有数据的空白块。当块管理器48向状态管理器42提供关于要擦除的块的信息时,状态管理器42可以检查要擦除的块的所有闪存页以确定该块的每个页是否有效。
122.例如,为了确定每个页的有效性,状态管理器42可以识别记录在每个页的带外(oob)区域中的逻辑地址。为了确定每个页是否有效,状态管理器42可以将页的物理地址与映射到从查询请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页向块管理器48发送编程请求。当编程操作完成时,可以通过映射管理器44来更映射表。
123.映射管理器44可以管理映射数据,例如,逻辑到物理映射表。映射管理器44可以处理由主机请求管理器(hrm)46或状态管理器42生成的各种请求,例如,查询、更新等。映射管理器44可以将整个映射表存储在存储器装置150(例如,闪存/非易失性存储器)中,并且根据存储器144的存储容量来高速缓存映射条目。当在处理查询或更新请求时发生映射高速缓存缺失时,映射管理器44可以向存储器接口142发送读取请求以加载存储在存储器装置150中的相关映射表。当映射管理器44中的脏高速缓存块的数量超过特定阈值时,可以向块管理器48发送编程请求,使得可以生成干净的高速缓存块并且可以将脏映射表存储在存储器装置150中。
124.当执行垃圾收集时,状态管理器42将有效页复制到空闲块中,并且主机请求管理器(hrm)46可以针对相同逻辑地址的页编程最新版本的数据并且当前发出更新请求。当状态管理器42在有效页的复制未正常完成的状态下请求映射更新时,映射管理器44可能不执行映射表更新。这是因为当状态管理器42请求映射更新并且随后完成有效页复制时,利用旧的物理信息来发出映射请求。映射管理器44可以在最新映射表仍指向旧物理地址时或仅在最新映射表仍指向旧物理地址的情况下执行映射更新操作以确保准确性。
125.图4示出了根据本公开的实施方式的图1至图3中所示的控制器的内部配置。
126.参照图4,控制器130中的闪存转换层(ftl)240可以分为三层:地址转换层atl、虚拟闪存层vfl和闪存接口层fil。
127.例如,地址转换层atl可以将从文件系统发送的逻辑地址la转换为逻辑页地址。地址转换层atl可以执行关于逻辑地址空间的地址转换处理。即,地址转换层atl可以基于将闪存144的逻辑页地址lpa映射到从主机发送的逻辑地址la的映射信息来执行地址转换处理。这种在下文中被称为l2l映射的逻辑到逻辑地址映射信息可以被存储在存储器装置150中存储有元数据的区域中。
128.虚拟闪存层vfl可以将由地址转换层atl映射的逻辑页地址lpa转换为虚拟页地址vpa。这里,虚拟页地址vpa可以对应于虚拟存储器装置的物理地址。即,虚拟页地址vpa可以对应于存储器装置150中的存储块152、154、156。如果在存储器装置150中的存储块152、154、156中存在坏块,则虚拟闪存层vfl可以排除坏块。另外,虚拟闪存层vfl可以包括恢复算法,该恢复算法用于扫描扫描区域以恢复存储在存储器装置150中的逻辑到虚拟地址映射信息(l2v映射)和用于存储用户数据的数据区域中的映射信息。恢复算法能够恢复逻辑到虚拟地址映射信息(l2v映射)。虚拟闪存层vfl可以基于通过恢复算法恢复的逻辑到虚拟地址映射信息(l2v映射)来执行关于虚拟地址空间的地址转换处理。
129.闪存接口层fil可以将虚拟闪存层vfl的虚拟页地址转换为存储器装置150的物理页地址。闪存接口层fil执行用于与存储器装置150接口连接的低级操作。例如,闪存接口层fil可以包括用于控制存储器装置150的硬件的低级驱动器、用于检查和校正从存储器装置150发送的数据中的错误的纠错码(ecc)、以及用于执行诸如坏块管理(bbm)的操作的模块。
130.图5示出了根据本公开的实施方式的用于确认包括在存储器系统中的平面的操作状态和操作结果的操作定时。具体地,图5示出了在控制器130与多个存储器晶片192、194、196、198中的第四存储器晶片198之间执行的内部操作的示例。内部操作可以包括用于传送状态检查命令(例如,读取状态命令70h)和对应于状态检查命令的响应(例如,状态输出)的数据通信过程。
131.参照图5,控制器130可以激活连接到第四存储器晶片198的芯片使能信号(芯片使能,ce#)以向第四存储器晶片198发送数据、命令或信息以及从第四存储器晶片198接收数据、命令或信息。根据实施方式,在图5中,芯片使能信号ce#可以在逻辑低电平被激活而在逻辑高电平被去激活。例如,当控制器130向第四存储器晶片198发送命令或从第四存储器晶片198接收响应时,芯片使能信号(芯片使能,ce#)可以被激活与命令锁存使能信号设置时间(cle设置时间,t
cls
)和命令锁存使能信号保持时间(cle保持时间,t
clh
)一样长的时间。
132.在芯片使能信号ce#被激活之后,控制器130可以激活命令锁存使能信号cle。命令锁存使能信号(命令锁存使能,cle)可以由控制器130使用以将命令发送到第四存储器晶片198并且由第四存储器晶片198使用以接收从控制器130发送的命令。命令锁存使能信号cle可以在与命令锁存使能信号设置时间(cle设置时间,t
cls
)和命令锁存使能信号保持时间(cle保持时间,t
clh
)一样长的时间内被激活为逻辑高电平。根据实施方式,命令锁存使能信号设置时间(cle设置时间,t
cls
)和命令锁存使能信号保持时间(cle保持时间,t
clh
)可以具有不同的激活时间。
133.控制器130可以将可基于时钟信号clk而生成的写入使能信号we#激活为逻辑低电平。写入使能信号we#按照写入使能信号的预设脉冲宽度(we#脉冲宽度,t
wp
)激活。当控制器
130向第四存储器晶片198发送命令、数据等时,可以激活写入使能信号we#。另一方面,当第四存储器晶片198向控制器130发送数据、完成通知、状态信息等时,可基于写入使能信号we#生成的读取使能信号re#能够被激活为逻辑低电平。
134.当命令锁存使能信号cle和写入使能信号we#被激活时,控制器130控制数据输入/输出通道i/o[7:0]以将状态检查命令70h发送到第四存储器晶片198。根据实施方式,状态检查命令70h可以具有一字节的长度。在数据输入/输出通道i/o[7:0]中,在数据保持时间t
dh
和数据设置时间t
ds
期间,对应于状态检查命令70h的值可以被保持。在数据保持时间t
dh
和数据设置时间t
ds
期间,第四存储器晶片198可以接收状态检查命令70h。
[0135]
在为第四存储器晶片198提供足够的操作裕度以接收状态检查命令70h之后,控制器130可以停用芯片使能信号ce#。在经过或过去预设时间之后,控制器130可以再次激活芯片使能信号ce#。芯片使能信号ce#可以被去激活,然后被重新激活,以清楚地分离控制器130和第四存储器晶片198之间的命令和数据的发送和接收。
[0136]
在从停用命令锁存使能信号的定时到启用读取使能信号re#的定时的延迟时间(cle到re#延迟,t
clr
)以及从停用写入使能信号we#的定时到启用读取使能信号re#的定时的时间(we#高到re#低,t
whr
)之后,控制器130可以将读取使能信号re#激活为逻辑低电平。在读取使能信号存取时间t
rea
期间,第四存储器晶片198可以识别出读取使能信号re#被激活,并经由数据输入/输出通道i/o[7:0]输出与已接收到的状态检查命令70h对应的响应(状态输出)。为了控制器130在接收由第四存储器晶片198输出的响应(状态输出)时不具有任何困难,第四存储器晶片198可以经由数据输入/输出通道i/o[7:0]保持响应,直到满足在读取使能信号re#去激活之后保持输出的时间(re#高到输出保持,t
rhoh
)和在读取使能信号re#去激活之后输出高阻抗状态的时间(re#高到输出hi-z,t
rhz
)为止。另外,第四存储器晶片198可以经由数据输入/输出通道i/o[7:0]保持响应(状态输出),直到满足在芯片使能信号ce#被去激活之后保持响应(状态输出)的时间(ce#高到输出保持,t
coh
)以及在芯片使能信号ce#被去激活之后输出高阻抗状态的时间(ce#高到输出hi-z,t
chz
)为止。如上所述,控制器130可以通过为发送和接收状态检查命令70h和响应(状态输出)而建立的操作裕度或操作窗口无误地接收关于第四存储器晶片198中的所有存储器平面的操作状态和操作结果。
[0137]
图6示出了根据本公开实施方式的与状态检查命令相对应的第一响应。
[0138]
参照图6,存储器晶片192、194、196、198响应于由控制器130发送的状态检查命令而输出的第一响应可以具有1字节的大小,即,8位。第一响应的第一位sr[0]可以显示对存储器平面中的当前页执行的操作是成功还是失败。本文中,对当前页执行的操作的示例可以是编程操作或擦除操作。例如,如果第一位sr[0]为“0”,则第一响应可以指示对当前页执行的操作已经成功。如果第一位sr[0]为“1”,则第一响应可以指示对当前页执行的操作已经失败。
[0139]
第一响应的第二位sr[1]可以指示与前一页相关联的高速缓存编程操作(高速缓存pgm)是否成功/失败。第一响应的第三位sr[2]至第五位sr[4]可以不被使用或者可被保留。
[0140]
第一响应的第六位sr[5]可以指示是否正在执行高速缓存编程操作、高速缓存读取操作、另一页的编程、块擦除或读取操作,例如,是否忙碌。例如,如果第六位sr[5]是“0”,
则存储器平面可以处于忙碌状态。但是,如果第六位sr[5]是“1”,则存储器平面可以处于就绪状态以用于下一操作。事实上,当正在执行编程操作时,第六位sr[5]可以是“0”。但是,当在高速缓存模式期间终止内部操作时,第六位sr[5]可以改变为“1”。
[0141]
第一响应的第七位sr[6]可以指示是否正在执行页编程操作、块擦除操作、高速缓存编程操作、读取操作或高速缓存读取操作。例如,如果第七位sr[6]是“0”,则存储器平面可以处于忙碌状态。如果第七位sr[6]是“1”,则存储器平面可以处于就绪状态以用于下一操作。如果内部缓存可以存储新数据,则第七位sr[6]可以是“1”。根据实施方式,第七位sr[6]可以与经由将存储器晶片192、194、196、198的操作状态(就绪/忙碌)输出到控制器130的引脚传送的值相同。
[0142]
第一响应的第八位sr[7]可以涉及写入保护。如果第八位sr[7]为“0”,则指示写入保护。如果第八位sr[7]是“1”,则第一响应可以指示未受保护。
[0143]
参照图6,即使当多个存储器平面172、174、176、178被包括在存储器晶片192、194、196、198中时,第一响应也可以具有适于输出关于多个存储器平面172、174、176、178中的单个存储器平面的操作状态和操作结果的数据结构。
[0144]
图7示出了由存储器系统基于参照图6描述的第一响应在交织模式下执行的数据输入/输出操作。图7示出了对第四存储器晶片198中的四个平面p0至p3执行交织操作的示例。
[0145]
参照图1和图7,存储器平面p0至p3中的每一个可以支持能够独立地且单独地执行数据输入/输出操作的交织模式。即使响应于读取命令而在不同平面内单独执行读取操作,读取操作也可以具有基本相同的操作裕度(tr)。响应于先前的读取命令,可能已在存储器平面p0至p3中的每一个内执行了读取操作。然而,第四存储器晶片198中的存储器平面p0至p3中的每一个共享数据路径,例如,通道。例如,控制器130可以依次生成用于读取分别存储在存储器平面p0至p3中的每一个中的数据的读取命令(p0读取、p1读取、p2读取、p3读取)。控制器130可以检查存储器平面p0至p3中的每一个是否就绪以用于读取操作,或者可以在相应存储器平面p0至p3中的哪个存储器平面内执行读取操作。因为每个存储器平面p0至p3共享一个数据路径,所以控制器130可以在通过共享数据路径将读取命令(p0读取、p1读取、p2读取、p3读取)传送到每个存储器平面p0至p3之前传送状态检查命令(p0状态检查、p1状态检查、p2状态检查、p3状态检查),以检查每个存储器平面p0至p3的操作状态。
[0146]
参照图6,对应于状态检查命令的响应可以包括关于单个存储器平面的操作状态和操作结果。因此,为了获得关于所有的多个存储器平面p0至p3的信息,控制器130应当发送多个状态检查命令(p0状态检查、p1状态检查、p2状态检查、p3状态检查),并且第四存储器晶片198可以向控制器130传送多个响应。每个响应可以对应于多个状态检查命令(p0状态检查、p1状态检查、p2状态检查、p3状态检查)中的每一个。
[0147]
参照图7,如果基于关于第一存储器平面p0的信息确定可以在第一存储器平面p0内执行读取操作,则控制器130可以将读取命令传送到存储器平面p0。在执行读取操作tr之后,第一存储器平面p0可以将数据输出到控制器130。在正在对第一存储器平面p0执行读取操作时,控制器130可以检查关于第二存储器平面p1的信息,并且当第二存储器平面p1就绪时将读取命令发送到第二存储器平面p1。第二存储器平面p1可以在响应于读取命令而执行读取操作之后将数据输出到控制器130。因为控制器130检查关于多个存储器平面p0至p3中
的每一个的操作状态并传送读取命令,所以可以减小用于在不同存储器平面内执行的读取操作的操作裕度tr之间的交叠部分。这可以指示存储器系统110可以单独且独立地在存储器平面p0至p3中的每一个中执行读取操作,但是并行处理的程度变低。此方法在增强或提高存储器系统110的数据输入/输出性能方面可能具有限制。
[0148]
图8示出了对应于状态检查命令的第二响应。本文中,关于第二响应,描述了在单个存储器晶片中包括四个存储器平面的情况作为示例。如果包括在单个存储器晶片中的存储器平面的数量增加,则第二响应的大小或长度可以增加。此外,第二响应的长度可以根据包括在第二响应中的信息的类型而变化。例如,第二响应可以具有1字节、2字节或3字节的长度。
[0149]
参照图8,由存储器晶片192、194、196、198中的每一个响应于从控制器130传送的状态检查命令而输出的第二响应被描述为1字节长度(即,8位大小)的示例。第二响应的第一位sr[0]可以指示在存储器晶片192、194、196、198中的被选存储器晶片的第一存储器平面p0内执行的操作是成功还是失败。这里,在第一存储器平面p0中执行的操作的示例可以包括编程操作和擦除操作。例如,如果第一位sr[0]为“0”,则第二响应指示在第一平面p0中执行的操作已经成功。如果第一位sr[0]为“1”,则第二响应指示在第一平面p0中执行的操作已经失败。类似地,第二响应中的第二位sr[1]、第三位sr[2]和第四位sr[3]可以指示已经在被选存储器晶片的第二存储器平面p1、第三存储器平面p2和第四存储器平面p3中执行的操作的成功/失败。
[0150]
第二响应的第五位sr[4]可以指示第一存储器平面p0是否正在执行操作。例如,如果在第一存储器平面p0中正在执行编程操作、擦除操作或读取操作,则第五位sr[4]可以是“0”。如果正处于备用状态,即,处于就绪状态,则第五位sr[4]可以是“1”。类似地,第二响应的第六位sr[5]、第七位sr[6]和第八位sr[7]可以指示是否在第二平面p1、第三平面p2和第四平面p3中的每一个内正执行操作。
[0151]
如上所述,从存储器晶片192、194、196、198中的每一个单独输出的第二响应可以包括存储器晶片192、194、196、198中的每一个中的每个存储器平面的操作状态(忙碌/就绪)及操作结果(通过/失败)。响应于由控制器130发送的状态检查命令,存储器晶片192、194、196、198中的每一个可以基于存储于寄存器184中的信息来构造第二响应并且将第二响应输出至控制器130。
[0152]
图9示出了由存储器系统基于参照图8描述的第二响应在交织模式下执行的数据输入/输出操作。在图9中,类似于图7,描述了对第四存储器晶片198中的四个存储器平面p0至p3执行交织操作的情况作为示例。
[0153]
参照图1和图9,存储器平面p0至p3中的每一个可支持交织模式以独立且单独地执行数据输入/输出操作。即使响应于读取命令而在不同平面内单独执行读取操作,读取操作也可以具有基本相同的操作裕度(tr)。响应于先前的读取命令,可能已在存储器平面p0至p3中的每一个内执行了读取操作。然而,第四存储器晶片198中的存储器平面p0至p3中的每一个共享数据路径,例如,通道。例如,控制器130可以依次生成用于读取存储在存储器平面p0至p3中的每一个中的数据的读取命令(p0读取、p1读取、p2读取、p3读取)。控制器130应当检查是否可以在各个平面p0至p3内执行读取操作。
[0154]
参照图8,响应于控制器130的状态检查命令,第四存储器晶片198可以通过传送到
控制器130的单个响应来返回关于包括在第四存储器晶片198中的所有存储器平面p0至p3的操作状态和操作结果。因此,控制器130可以向第四存储器晶片198发送单个状态检查命令,而不必向平面p0至p3中的每一个发送状态检查命令。响应于状态检查命令,第四存储器晶片198可以将所有平面p0至p3中的每一个的操作状态和操作结果发送到控制器130。
[0155]
参照图9,与第一状态检查命令对应的第二响应可以显示第四存储器装置198中的第一存储器平面p0处于备用状态rdy,但第二存储器平面p1至第四存储器平面p3处于忙碌状态bsy。控制器130可以响应于第二响应而传送用于在第一存储器平面p0内执行的读取操作的读取命令。
[0156]
在发送要在第一平面p0中执行的读取命令(p0读取)之后,控制器130可以将第二状态检查命令发送至第四存储器晶片198。与从第四存储器晶片198输出的第二状态检查命令对应的第二响应可以示出第一存储器平面p0处于忙碌状态bsy,但第二存储器平面p1至第四存储器平面p3处于备用状态rdy。控制器130不必传送状态检查命令来检查关于第二存储器平面p1至第四存储器平面p3中的每一个的操作状态或操作结果。当第二存储器平面p1至第四存储器平面p3就绪时,控制器130可以将读取命令(p1读取、p2读取、p3读取)依序传送至第四存储器晶片198。响应于读取命令(p1读取、p2读取、p3读取),第四存储器晶片198中的第二平面p1至第四平面p3可以单独且独立地执行读取操作tr。
[0157]
如上所述,控制器130不需要传送多个状态检查命令来检查关于第四存储器晶片198中的每个存储器平面的信息。因为可以不需要查询第四存储器晶片198中的每个存储器平面,所以可以增加关于数据输入/输出操作的操作裕度之间的交叠部分。这指示多个存储器平面并行执行数据i/o操作所花费的时间更长。因为存储器系统110可以在多个存储器平面p0至p3中一起执行更多的数据i/o操作,所以可以提高存储器系统110的数据i/o性能。
[0158]
如上所述,根据本公开的实施方式的存储器系统中所包括的控制器可以通过单个查询和单个响应来检查关于包括在存储器晶片中的多个平面的操作状态和操作结果。与逐个检查关于多个平面的操作状态和操作结果相比,控制器可以在交织模式中减小用于分配或指派数据输入/输出操作的操作裕度。
[0159]
另外,根据本公开的实施方式的存储器系统可以有效地管理在执行多个数据输入/输出操作的过程中使用的资源。存储器系统可以抑制不必要的资源消耗以提高存储器系统的数据输入/输出性能。
[0160]
本文描述的方法、过程和/或操作可以通过要由计算机、处理器、控制器或其它信号处理装置执行的代码或指令来执行。计算机、处理器、控制器或其它信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的那些。因为详细描述了形成计算机、处理器、控制器或其它信号处理装置的方法或操作的基础的算法,所以用于实现方法实施方式的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转换为用于执行本文的方法的专用处理器。
[0161]
此外,另一实施方式可以包括用于存储上述代码或指令的计算机可读介质,例如非暂时性计算机可读介质。计算机可读介质可以是易失性或非易失性存储器或其它储存装置,其可以可移除地或固定地联接至将执行用于执行本文的方法实施方式或设备实施方式的操作的代码或指令的计算机、处理器、控制器或其它信号处理装置。
[0162]
本文公开的实施方式的控制器、处理器、控制电路、装置、模块、单元、复用器、发生
器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征例如可以被实现在可以包括硬件、软件或两者的非暂时性逻辑中。当至少部分地以硬件实现时,控制器、处理器、控制电路、装置、模块、单元、复用器、发生器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征可以是例如包括但不限于以下的各种集成电路中的任何集成电路:专用集成电路、现场可编程门阵列、逻辑门的组合、片上系统、微处理器或其它类型的处理或控制电路。
[0163]
当至少部分地以软件实现时,控制器、处理器、控制电路、装置、模块、单元、复用器、发生器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征可以包括例如用于存储例如要由计算机、处理器、微处理器、控制器或其它信号处理装置执行的代码或指令的存储器或其它储存装置。计算机、处理器、微处理器、控制器或其它信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的那些。因为详细描述了形成计算机、处理器、微处理器、控制器或其它信号处理装置的方法或操作的基础的算法,所以用于实现方法实施方式的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转换为用于执行本文描述的方法的专用处理器。
[0164]
虽然已经针对具体实施方式例示并描述了本教导,但是本领域技术人员根据本公开将显而易见的是,可以在不脱离如所附权利要求中限定的本公开的精神和范围的情况下做出各种改变和修改。此外,可以组合实施方式以形成附加的实施方式。
[0165]
相关申请的交叉引用
[0166]
本专利申请要求2021年9月8日提交的韩国专利申请no.10-2021-0119498的权益,该韩国专利申请的全部公开内容通过引用合并于本文中。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献