存储器系统中数据通信的校准设备和方法
1.相关申请的交叉引用
2.本专利申请要求于2020年9月8日提交的申请号为10-2020-0114595的韩国专利申请的权益,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
3.本文中所描述的一个或多个实施例涉及一种执行校准操作以控制控制器与包括多个非易失性存储器单元的存储器装置之间的数据通信的设备和方法。
背景技术:
4.近来,用于计算环境的范例已转变为几乎能够随时随地访问计算机系统的普适计算。因此,便携式电子装置(例如,移动电话、数码相机和笔记本电脑)的使用正在迅速增长。这种便携式电子装置可以使用或包括存储器系统,例如数据存储装置,该存储器系统具有至少一个存储器装置。数据存储装置可以用作便携式电子装置的主存储装置或辅助存储装置。
5.与硬盘不同,使用非易失性半导体存储器的数据存储装置不具有机械驱动部件(例如,机械臂)而表现出提高的稳定性和耐久性,并且以高数据访问速度和相对较低的功耗执行。这些类型的数据存储装置的示例包括但不限于通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。
技术实现要素:
6.本公开的实施例可以提供一种数据处理系统以及用于操作数据处理系统的方法,数据处理系统包括诸如存储器系统和主机的组件和资源并且能够基于组件和资源的用途来动态地分配用于组件之间的数据通信的多条数据路径。
7.进一步,根据本公开的实施例的存储器系统可以提供一种能够通过减少在以较高的速度操作的存储器系统内传输和接收数据的进程中发生的错误来提高操作可靠性的设备和方法。
8.根据本公开的实施例,存储器系统可以利用或采用在考虑到数据通信(即,传输/接收)而设定的更坏的情况下执行校准操作的设备和方法。
9.另外,根据本公开的实施例的执行数据通信校准操作的设备和方法可以更准确地确定设置在存储器系统内的组件之间的数据传输/接收的操作裕度,从而减少组件之间的数据传输/接收中的错误。进一步,可以减少由于存储器系统内的组件或数据路径的相对位置或布置而出现的干扰的影响。
10.在本公开的实施例中,存储器系统可以包括:存储器装置,包括多个存储器管芯;以及控制器,经由多条数据路径联接到多个存储器管芯。控制器可以被配置为在多条数据路径之中选择第一路径,激活多条数据路径之中的未选择的路径,并且在未选择的路径被激活时,对控制器与多个存储器管芯之中的第一存储器管芯之间的数据通信执行校准操
作,第一存储器管芯经由第一路径联接到控制器。
11.控制器可以被配置为对每个存储器管芯单独地执行校准操作。校准操作的整个校准窗口可以与激活窗口重叠。
12.控制器可以进一步被配置为存储对每个存储器管芯执行的校准操作的结果。
13.控制器可以进一步被配置为在完成对第一存储器管芯的校准操作之后,对经由第一路径联接到控制器的其他存储器管芯执行校准操作,并且在完成对其他存储器管芯的校准操作之后,在未选择的路径之中选择第二路径。
14.控制器可以进一步被配置为在完成对第一存储器管芯的校准操作之后并且在开始对经由第一路径联接到控制器的其他存储器管芯进行校准操作之前,在未选择的路径之中选择第二路径以进行校准操作。
15.控制器可以被配置为通过将虚拟数据与编程命令传输到至少一个存储器管芯来激活未选择的路径,至少一个存储器管芯经由未选择的路径中的每一条联接到控制器。
16.控制器可以被配置为通过将虚拟数据而不将编程命令传输到至少一个存储器管芯来激活未选择的路径,至少一个存储器管芯经由未选择的路径中的每一条联接到控制器。
17.控制器可以被配置为通过将读取命令传输到至少一个存储器管芯来激活未选择的路径,至少一个存储器管芯经由未选择的路径中的每一条联接到控制器。
18.校准操作可以包括:第一校准操作,用于从控制器到第一存储器管芯的第一数据通信;以及第二校准操作,用于从第一存储器管芯到控制器的第二数据通信。
19.控制器可以被配置为用多条数据路径之间引起最大噪声或干扰的数据模式来激活未选择的路径。
20.在本公开的另一实施例中,一种操作存储器系统的方法,存储器系统包括多个存储器管芯,该方法可以包括:在多条数据路径之中选择第一路径以执行校准操作,多条数据路径联接在控制器和存储器管芯之间;在多条数据路径之中激活未选择的路径;并且在未选择的路径被激活时,对控制器与多个存储器管芯之中的第一存储器管芯之间的数据通信执行校准操作,第一存储器管芯经由第一路径联接到控制器。
21.选择第一路径可以包括选择经由第一路径联接到控制器的至少一个存储器管芯。
22.激活未选择的路径可以包括选择经由未选择的路径中的每一条联接到控制器的至少一个存储器管芯并且对选择的存储器管芯执行数据通信。
23.可以对多个存储器管芯之中的其他管芯单独地并且顺序地执行校准操作。校准操作的整个校准窗口可以与激活窗口重叠。
24.该方法可以进一步包括在完成对第一存储器管芯的校准操作之后,要么在未选择的路径之中选择第二路径,要么选择经由第一路径联接到控制器的另一存储器管芯。
25.激活未选择的路径可以包括选择经由未选择的路径中的每一条联接到控制器的至少一个存储器管芯,并且用至少一个存储器管芯执行编程操作或读取操作。
26.执行编程操作或读取操作可以包括传输在多条数据路径之间引起噪声或干扰的数据模式。
27.该方法可以进一步包括存储对第一存储器管芯执行的校准操作的结果。
28.在本公开的另一实施例中,一种数据输入/输出设备可以包括多个数据收发器,该
多个数据收发器被配置为执行经由多条数据路径到多个装置的数据通信,并且被设置为与该多条数据路径相对应。在多个数据收发器之中选择的数据收发器可以执行校准操作,而多个数据收发器之中的未选择的收发器执行数据输入/输出操作。校准操作的整个校准窗口可以与数据输入/输出操作的数据输入/输出窗口重叠。
29.多个数据收发器中的每一个可以包括:第一路径,被分配用于数据传输;第二路径,被分配用于数据接收;延迟单元,被配置为以延迟量将第二路径中的接收数据延迟;以及校准单元,被配置为通过校准操作来调整延迟单元的延迟量。
30.在本公开的另一实施例中,通过多条路径控制存储器装置的控制器的操作方法可以包括在激活多条路径之中除了选择的路径之外的所有剩余的路径时,校准选择的路径。
附图说明
31.本文中的描述参照了附图,其中在整个附图中,相同的附图标记指代相同的部件。
32.图1示出根据本公开的实施例的存储器系统。
33.图2示出根据本公开实施例的数据处理系统。
34.图3示出根据本公开的实施例的存储器系统。
35.图4示出根据本公开的实施例的存储器系统中的通道激活。
36.图5示出根据本公开的实施例的存储器系统中的对数据通信的校准操作。
37.图6示出执行校准操作的数据输入/输出设备。
38.图7示出根据本公开的实施例的存储器装置的内部配置。
39.图8示出校准操作的通道状态。
40.图9示出校准操作和通道激活的数据传输窗口。
41.图10示出根据本公开的实施例的操作存储器系统的方法。
42.图11示出校准操作随着通道激活的影响。
具体实施方式
43.下文参照附图描述本公开的各个实施例。然而,本公开的元件和特征可以被不同地配置或布置以形成其他实施例,其他实施例可以是任意所公开的实施例的变型。
44.在本公开中,术语“包含”、“包含有”、“包括”和“包括有”是开放式的。如所附权利要求书中所使用的,这些术语指明所陈述元件的存在并且不排除一个或多个其他元件的存在或增加。权利要求中的术语不排除设备包括附加组件(例如,接口单元、电路等)。
45.在本公开中,对“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“一些实施例”、“各个实施例”、“其他实施例”、“可选实施例”等中包括的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在意为任意这种特征被包括在本公开的一个或多个实施例中,但是在相同的实施例中可以或可不必进行组合。
46.在本公开中,可将各种单元、电路或其他组件描述为或宣称为“被配置为”执行一个或多个任务。在这种语境中,“被配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路)来隐含结构。这样,即使指定的块/单元/电路/组件当前未操作(例如,未打开或未激活),也可以说块/单元/电路/组件被配置为执行任务。与语言“被配置为”一起使用的块/单元/电路/组件包括硬件,例如电路、存储可运行以
实施操作的编程指令的存储器等。此外,“被配置为”可以包括由软件和/或固件(例如,fpga或运行软件的通用处理器)操纵的通用结构(例如,通用电路),以能够执行所讨论的(多个)任务的方式来操作。“被配置为”还可以包括使制造过程(例如,半导体制造设施)适应于制造适于实施或执行一个或多个任务的装置(例如,集成电路)。
47.如本公开中所使用的,术语“电路”可以指以下全部:(a)纯硬件电路的实施方案(诸如仅以模拟和/或数字电路中的实施方案)和(b)电路和软件(和/或固件)的组合,诸如(如适用于):(i)(多个)处理器的组合,或(ii)(多个)处理器/软件(包括一起工作以使诸如移动电话或服务器的设备执行各种功能的(多个)数字信号处理器、软件和(多个)存储器)的部分;以及(c)需要软件或固件来操作的电路,诸如(多个)微处理器或(多个)微处理器的一部分,即使软件或固件在物理上不存在。“电路”的这种定义适用于该术语在本技术中、包括在任意权利要求中的所有使用。作为进一步的示例,如本技术中所使用的,术语“电路”还涵盖仅一个处理器(或多个处理器)或处理器的一部分以及它的(或它们的)附带的软件和/或固件的实施方案。例如,并且如果适用于特定的权利要求元素,术语“电路”还涵盖用于存储装置的集成电路。
48.如本文所使用的,术语“第一”、“第二”、“第三”等用作所在的名词前的标签,并且不意指任意类型的排序(例如,空间、时间、逻辑等)。术语“第一”和“第二”不一定意为第一值必须写在第二值之前。进一步,尽管这些术语在本文中可以用于辨识各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另外具有相同或相似名称的另一元件区分开。例如,可以将第一电路与第二电路区分开。
49.进一步,术语“基于”用于描述影响确定结果的一个或多个因素。该术语并不排除可以影响确定结果的附加因素。也就是说,确定结果可以仅基于那些因素或至少部分地基于那些因素。考虑短语“基于b确定a”。虽然在这种情况下,b是影响a的确定结果的因素,但这种短语不能排除a的确定结果也基于c。在其他情况下,可以仅基于b来确定a。
50.在本文中,数据的项或数据项可以是位的序列。例如,数据项可以包括文件、文件的一部分、存储器中的页面、面向对象编程中的对象、数字消息、数字扫描图像、视频或音频信号的一部分或任意其他可由位的序列表示的实体的内容。根据实施例,数据项可以包括离散的对象。根据另一实施例,数据项可以包括两个不同组件之间的传输包内的信息的单元。
51.现在将参照附图描述本公开的实施例,其中相同的附图标记指代相同的元件。
52.图1示出根据本公开的实施例的数据处理系统。
53.参照图1,存储器系统110可以包括存储器装置150和控制器130。存储器系统110中的存储器装置150和控制器130可以被认为是物理上彼此分离的组件或元件。存储器装置150和控制器130可以经由至少一条数据路径连接。例如,数据路径可以包括通道和/或通路。
54.根据实施例,存储器装置150和控制器130可以是功能上划分的组件或元件。进一步,根据实施例,存储器装置150和控制器130可以用单个芯片或多个芯片来实施。
55.存储器装置150可以包括存储器管芯90。存储器管芯90可以包括多个存储块60。存储块60可以被理解为通过单次擦除操作将数据一起移除的一组非易失性存储器单元。尽管未示出,但是存储块60可以包括页面,该页面是在单个编程操作期间将数据存储在一起或
者在单个读取操作期间将数据一起输出的一组非易失性存储器单元。例如,一个存储块60可以包括多个页面。
56.尽管在图1中未示出,存储器装置150可以包括多个存储器平面或多个存储器管芯。根据实施例,存储器平面可以被认为是包括至少一个存储块60的逻辑分区或物理分区、能够控制包括多个非易失性存储器单元的阵列的驱动电路以及可以临时存储输入到非易失性存储器单元或从非易失性存储器单元输出的数据的缓冲器。
57.另外,根据实施例,存储器管芯可以包括至少一个存储器平面。存储器管芯可以被理解为在物理上可区分的衬底上实施的一组组件。每个存储器管芯可以通过数据路径连接到控制器130。每个存储器管芯可以包括接口以与控制器130交换数据条和信号。
58.根据实施例,存储器装置150可以包括至少一个存储块60,至少一个存储器平面或至少一个存储器管芯。根据存储器系统110的性能,图1所示的存储器装置150的内部配置可以不同。本公开的实施例不限于图1所示的内部配置。
59.参照图1,存储器装置150可以包括能够将至少一些电压供应到存储块60中的电压供应电路70。电压供应电路70可以将读取电压vrd、编程电压vprog、通过电压vpass或擦除电压vers供应到存储块60中包括的非易失性存储器单元。例如,在读取存储块60中包括的非易失性存储器单元中存储的数据的读取操作期间,电压供应电路70可以将读取电压vrd供应到选择的非易失性存储器单元。在将数据存储在存储块60中包括的非易失性存储器单元中的编程操作期间,电压供应电路70可以将编程电压vprog供应到选择的非易失性存储器单元。而且,在对选择的非易失性存储器单元执行的读取操作或编程操作期间,电压供应电路70可以将通过电压vpass供应到未选择的非易失性存储器单元中。在擦除存储块60中包括的非易失性存储器单元中存储的数据的擦除操作期间,电压供应电路70可以将擦除电压vers供应到存储块60中。
60.控制器130可以响应于从外部装置输入的请求而执行数据输入/输出操作。例如,当控制器130响应于从外部装置输入的读取请求而执行读取操作时,存储器装置150中包括的多个非易失性存储器单元中存储的数据被传送到控制器130。对于读取操作,输入/输出控制器192可以对从外部装置输入的逻辑地址执行地址转换以获得物理地址,然后通过收发器198将读取命令传输到与该物理地址相对应的存储器装置150。收发器198可以将读取命令传输到存储器装置150,并接收从存储器装置150输出的与物理地址相对应的数据。收发器198可以将从存储器装置150传送的数据存储在存储器144中。输入/输出控制器192可以响应于读取请求而将存储在存储器144中的数据输出到外部装置。
61.根据实施例,存储器系统110中的控制器130和存储器管芯90可以通过诸如通道的数据路径联接。例如,多个存储器管芯90可以经由单个通道连接到控制器130。
62.控制器130和存储器管芯90可以通过通道根据预设协议来传输和接收数据。当控制器130和存储器管芯90作为单个实体独立地操作时,即使根据预设协议由控制器130或存储器管芯90传输/接收数据,也可能发生错误。例如,由于供应到控制器130和存储器管芯90的时钟信号的操作延迟或功率差异,传输或接收数据的时序可能会变化。在这种情况下,存储器管芯90可能无法正常接收从控制器130传输的数据,或者控制器130可能无法正常接收从存储器管芯90传输的数据。特别地,当控制器130和存储器管芯90传输或接收数据的时序彼此未对齐或不同步时,错误的数量(例如,错误位)可能随着控制器130和存储器管芯90以
更高的速度传输和接收数据而增加。为了避免或减少错误位,两个单独的装置可以执行校准操作。校准操作可以支持两个单独的装置之间数据或信号的高效、快速或准确的传输和接收。
63.参照图1所示,控制器130可以包括第一校准电路196,并且存储器管芯90可以包括第二校准电路80。例如,第一校准电路196可以调整接收由存储器管芯90传输的数据或信号的时序,而第二校准电路80可以控制接收由控制器130传输的数据或信号的时序。根据另一实施例,第一校准电路196可以调整控制器130将信号或数据传输到存储器管芯90的时间点,而第二校准电路80可以确定存储器管芯90将信号或数据传输到控制器130的时间点。尽管未示出,但是根据实施例,控制器130中包括的第一校准电路196可以调整传输和接收信号或数据的时序,但是存储器管芯90可以不包括第二校准电路80。如上所述,可以基于控制器130和存储器管芯90的内部配置来有区别地执行对控制器130和存储器管芯90之间的数据通信的校准操作。
64.当存储器装置150包括多个存储器管芯90时,控制器130可以在多个存储器管芯90之中顺序地或任意地选择存储器管芯并且对每个存储器管芯90单独地执行校准操作。根据实施例,控制器130可以对多个存储器管芯90中的每一个执行校准操作并且存储与每个存储器管芯90相对应的校准操作的结果。
65.出于各种原因,通过多条数据路径(例如,多个通道)传输和接收的数据可能变形、延迟或失真。例如,当经由相邻数据路径传输多个数据项时,相邻数据路径之间可能出现干扰。另外,当经由多条数据路径并行传输多个数据项时,存储器系统110中的电力可能变得不稳定。为了减少控制器130与存储器管芯90之间的数据通信中的错误,控制器130或存储器管芯90可以调整传输或接收信号或数据的时序以处理经由多条数据路径传递的信号或数据的变形、延迟或失真。
66.在根据本公开的实施例的存储器系统110中,在执行控制器130和存储器管芯90之间的校准操作时,通过除了为校准操作而选择的存储器管芯90联接到控制器130所经由的数据路径之外的其他数据路径来传输和接收数据或信号。另外,对特定的存储器管芯执行校准操作时,存储器系统110可以经由除了将特定的存储器管芯联接到控制器130的数据路径之外的多条数据路径来执行具有较高的生成错误的可能性的操作。例如,存储器系统110可以使用具有较高的干扰可能性的数据模式,例如,经由除了为校准操作而保留的数据路径之外的多条数据路径来传输数据模式,以在存储器系统110内创建最差的(例如,最繁重的或最坏的情况中的一种)环境,诸如可能最容易出错的操作条件。在连接到多个通道之中的第一通道的第一存储器管芯和控制器130执行校准操作时,控制器130可以对连接到除第一通道之外的其他通道中的每一个的至少一个存储器管芯执行数据输入/输出操作。在此,当通过数据输入/输出操作经由通道传输数据或信号时,通道处于活动状态。但是当未通过该通道传输任意数据或信号时,通道处于非活动状态。在除了用于校准操作的通道之外的所有通道处于活动状态时,控制器130可以对经由相应的通道联接到控制器130的存储器管芯执行校准操作。在这种环境下,控制器130和存储器管芯90可以获得数据传输/接收时序的更准确的相关值,以避免经由多条数据路径传输和接收的数据变形、延迟或失真。
67.图2和图3示出根据本公开的一个或多个实施例的可以由存储器系统110执行的一些操作。
68.参照图2,数据处理系统100可以包括与诸如存储器系统110的存储器系统接合或联接的主机102。主机102可以包括便携式电子装置(例如,移动电话、mp3播放器、膝上型计算机等)或者非便携式电子装置(例如,台式计算机、游戏机、电视、投影仪等)。
69.主机102还可以包括可以控制在主机102中执行的功能和操作的至少一个操作系统(os)。os可以提供与存储器系统110可操作地接合的主机102与旨在将数据存储在存储器系统110中的用户之间的互操作性。os可以支持对应于用户请求的功能和操作。作为示例而非限制,根据主机102的移动性,可以将os分类为通用操作系统和移动操作系统。根据系统需求或用户环境,可以将通用操作系统分为个人操作系统和企业操作系统。与个人操作系统相比,企业操作系统可以专门用于确保和支持高性能计算。
70.移动操作系统可以用于支持针对移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。主机102可以对应于用户的请求,运行与存储器系统110互锁的多个操作系统。主机102可以将对应于用户的请求的多个命令传输到存储器系统110中,从而执行对应于存储器系统110内的命令的操作。
71.存储器系统110中的控制器130可以响应于从主机102输入的请求或命令来控制存储器装置150。例如,控制器130可以执行读取操作以为主机102提供从存储器装置150读取的数据条,并且可以执行写入操作(或编程操作)以将从主机102输入的数据条存储在存储器装置150中。为了执行数据输入/输出(i/o)操作,控制器130可以控制和管理用于数据读取、数据编程、数据擦除等的内部操作。
72.根据实施例,控制器130可以包括主机接口(i/f)132、处理器134、错误校正电路(ecc)138、电源管理单元(pmu)140、存储器接口(i/f)142和存储器144。针对实施例之中的存储器系统110,如图2所示的控制器130中包括的组件可以根据结构、功能、操作性能等而变化。例如,存储器系统110可以利用可以根据主机接口的协议与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性的示例包括固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型mmc、安全数字(sd)卡、迷你sd卡、微型sd卡、通用串行总线(usb)存储装置、通用闪存(ufs)装置、紧凑型闪存(cf)卡、智能媒体(sm)卡、记忆棒等。可以基于存储器系统110的实施方案来增加或省略控制器130中的组件。
73.主机102和存储器系统110可以包括控制器或接口,以根据一个或多个预定协议传输和接收信号、数据条等。例如,存储器系统110中的主机接口132可以包括能够将信号、数据条等传输到主机102或者接收从主机102输入的信号、数据条等的设备。
74.控制器130中包括的主机接口132可以接收从主机102输入的信号、命令(或请求)和/或数据条。例如,主机102和存储器系统110可以使用预定协议在彼此之间传输和接收数据条。由主机102和存储器系统110支持的用于发送和接收数据条的协议或接口的示例包括:通用串行总线(usb)、多媒体卡(mmc)、并行高级技术附件(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、高速外围组件互连(pcie)、串列scsi(sas)、串行高级技术附件(sata)、移动工业处理器接口(mipi)等。根据实施例,主机接口132是一种用于与主机102交换数据条的层,并且由称为主机接口层(hil)的固件来实施或驱动。
75.电子集成驱动器(ide)或高级技术附件(ata)可以用作传输和接收数据条的接口
中的一种,例如,可以使用包括40条并行连接的布线的电缆来支持主机102与存储器系统110之间的数据传输和接收。当多个存储器系统110连接到单个主机102时,可以通过使用多个存储器系统110连接的位置或指拨开关(dip switch),将多个存储器系统110划分为主设备和从设备。设置为主设备的存储器系统110可以用作主存储器装置。ide(ata)可以包括例如快速-ata、atapi和增强型ide(eide)。
76.串行高级技术附件(sata)是一种与由电子集成驱动器(ide)装置使用的并行数据通信接口的各种ata标准兼容的串行数据通信接口。可以将ide接口中的40条布线减少到sata接口中的6条布线。例如,可以将ide的40个并行信号转变为用于sata的、待在彼此之间传输的6个串行信号。sata由于其较快的数据传输和接收率以及其在主机102中用于数据传输和接收的较少的资源消耗已被广泛使用。sata可以支持多达30个外部装置到主机102中包括的单个收发器的连接。另外,sata可以支持热插拔,该热插拔即使在主机102和另一装置之间的数据通信正在运行时也允许将外部装置附接到主机102或将外部装置从主机102分离。因此,即使在主机102通电时,存储器系统110也可以作为附加装置来连接或断开,就像由通用串行总线(usb)支持的装置一样。例如,在具有esata端口的主机102中,存储器系统110可以像外部硬盘一样自由地分离。
77.小型计算机系统接口(scsi)是一种用于计算机、服务器和/或其的外围装置之间的连接的串行数据通信接口。与诸如ide和sata的其他接口相比,scsi可以提供较高的传输速度。在scsi中,主机102和至少一个外围装置(例如,存储器系统110)串联连接,但是可以通过并行数据通信来执行主机102和每个外围装置之间的数据传输和接收。在scsi中,很容易将诸如存储器系统110的装置连接到主机102或与主机102断开。scsi可以支持将15个其他装置连接到主机102中包括的单个收发器。
78.串列scsi(sas)可以被理解为scsi的串行数据通信版本。在sas中,不仅主机102和多个外围装置串联连接,而且可以以串行数据通信方案来执行主机102和每个外围装置之间的数据传输和接收。sas可以通过串行电缆而不是并行电缆来支持主机102和外围装置之间的连接,以使用sas容易地管理设备并增强或提高操作可靠性和通信性能。sas可以支持将八个外部装置连接到主机102中包括的单个收发器。
79.高速非易失性存储器(nvme)是一种至少基于被设计为提高配备有非易失性存储器系统110的主机102、服务器、计算装置等的性能和设计灵活性的高速外围组件互连(pcie)的接口。pcie可以使用插槽或特定电缆来连接主机102(例如,计算装置)和存储器系统110(例如,外围装置)。例如,pcie可以使用多个引脚(例如,18个引脚、32个引脚、49个引脚、82个引脚等)和至少一条布线(例如,x1、x4、x8、x16等)以实现每秒数百mb以上(例如250mb/s、500mb/s、984.6250mb/s、1969mb/s等)的高速数据通信。根据实施例,pcie方案可以实现每秒数十到数百千兆位的带宽。使用nvme的系统可以充分利用诸如ssd的非易失性存储器系统110的操作速度,非易失性存储器系统110以比硬盘更高的速度进行操作。
80.根据实施例,可以通过通用串行总线(usb)来连接主机102和存储器系统110。通用串行总线(usb)是一种可扩展的、可热插拔式即插即用的串行接口,usb可以在主机102和诸如键盘、鼠标、操纵杆、打印机、扫描仪、存储装置、调制解调器、摄像机等的外围装置之间提供经济高效的标准连接。诸如存储器系统110的多个外围装置可以联接到主机102中包括的单个收发器。
81.参照图2,错误校正电路138可以校正在存储器装置150中(例如,从存储器装置150输出)的待处理的数据的错误位,错误校正电路138可以包括错误校正码(ecc)编码器和ecc解码器。ecc编码器可以对待编程在存储器装置150中的数据执行错误校正编码,以生成添加了奇偶校验位的经编码数据并将经编码数据存储在存储器装置150中。当控制器130读取存储器装置150中存储的数据时,ecc解码器可以检测并校正从存储器装置150读取的数据中包含的错误。例如,在对从存储器装置150读取的数据执行错误校正解码之后,错误校正电路138可以确定错误校正解码是否已经成功并且输出指令信号(例如,校正成功信号或校正失败信号)。错误校正电路138可以使用在ecc编码进程期间生成的奇偶校验位来校正读取数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,错误校正电路138可以不校正错误位,而是可以输出指示校正错误位失败的校正失败信号。
82.根据实施例,错误校正电路138可以基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码、turbo码、里德-所罗门(reed-solomon,rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)等。错误校正电路138可以包括用于基于上述代码中的至少一种来执行错误校正操作的所有电路、模块、系统和/或装置。
83.例如,ecc解码器可以对从存储器装置150传输的数据执行硬判决解码或软判决解码。硬判决解码可以理解为为错误校正而被广泛分类的两种方法中的一种。硬判决解码可以包括通过从存储器装置150中的非易失性存储器单元读取数字数据“0”或“1”来校正错误的操作。因为硬判决解码处置二进制逻辑信号,所以电路/算法的设计或配置可以比软判决解码更简单,并且处理速度可以比软判决解码更快。
84.软判决解码可以通过两个或更多个量化值(例如,多位数据、近似值、模拟值等),将存储器装置150中的非易失性存储器单元的阈值电压进行量化,以基于两个或多个量化值来校正错误。控制器130可以从存储器装置150中的多个非易失性存储器单元接收两个或更多个字母或量化值,然后基于通过将量化值表征为诸如条件概率或似然性的信息的组合而生成的信息来执行解码。
85.根据实施例,ecc解码器可以使用在针对软判决解码而设计的方法之中的低密度奇偶校验和生成器矩阵(ldpc-gm)码。低密度奇偶校验(ldpc)码使用可以根据可靠性从存储器装置150中以若干位读取数据的值的算法,而不是像硬判决解码那样简单地读取数据1或0,并且通过消息交换迭代地重复读取以提高值的可靠性。然后,将这些值最终确定为数据1或0。例如,使用ldpc码的解码算法可以被理解为概率解码。在硬判决解码中,将从非易失性存储器单元输出的值编码为0或1。与硬判决解码相比,软判决解码可以基于随机信息来确定在非易失性存储器单元中存储的值。关于位翻转(可以认为是在存储器装置150中可能发生的错误),软判决解码可以提供校正错误和恢复数据的提高的可能性,以及提供校正后的数据的可靠性和稳定性。ldpc-gm码可以具有内部ldgm码可以与高速ldpc码串联的方案。
86.根据实施例,ecc解码器可以使用例如低密度奇偶校验卷积码(ldpc-cc)来进行软判决解码。ldpc-cc可以具有基于可变块长度和移位寄存器使用线性时间编码和管线解码的方案。
87.根据实施例,ecc解码器可以使用例如对数似然比turbo码(llr-tc)来进行软判决
解码。可以计算对数似然比(llr)作为采样值与理想值之间的距离的非线性函数。另外,turbo码(tc)可以包括二维或三维的简单码(例如,汉明码),并且在行方向和列方向上重复解码以提高值的可靠性。
88.电源管理单元(pmu)140可以控制控制器130中提供的电力。pmu 140可以监控供应给存储器系统110的电力(例如,供应给控制器130的电压)并且向控制器130中包括的组件提供电力。pmu 140不仅可以检测通电或断电,还可以当供应给存储器系统110的电力不稳定时生成触发信号以使存储器系统110能够紧急备份当前状态。根据实施例,pmu 140可以包括能够累积可以在紧急情况下使用的电力的装置或组件。
89.存储器接口142可以用作用于处置在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102输入的命令或请求而控制存储器装置150。在当存储器装置150是闪速存储器时的情况下,存储器接口142可以生成针对存储器装置150的控制信号并且可以在处理器134的控制下处理输入到存储器装置150或从存储器装置150输出的数据。例如,当存储器装置150包括nand闪速存储器时,存储器接口142包括nand闪存控制器(nfc)。存储器接口142可以提供用于处置控制器130和存储器装置150之间的命令和数据的接口。根据实施例,存储器接口142可以通过被称为闪存接口层(fil)的固件来实施或由称为闪存接口层(fil)的固件驱动,以与存储器装置150交换数据。
90.根据实施例,存储器接口142可以支持开放的nand闪存接口(onfi)、切换模式等以用于与存储器装置150的数据输入/输出。例如,onfi可以使用包括至少一条信号线的数据路径(例如,通道、通路等),该至少一条信号线能够以8位或16位数据为单位支持双向传输和接收。控制器130与存储器装置150之间的数据通信可以通过关于异步单倍数据速率(sdr)、同步双倍数据速率(ddr)和切换双倍数据速率(ddr)的至少一个接口来实现。
91.在存储用于存储器系统110和控制器130中的操作而发生或传递的临时数据或事务数据时,存储器144可以是存储器系统110或控制器130中的一种工作存储器。例如,在将读取数据输出到主机102之前,存储器144可以响应于来自主机102的请求而临时存储从存储器装置150输出的读取的数据。另外,在将写入数据编程到存储器装置150中之前,控制器130可以将从主机102输入的写入数据临时存储在存储器144中。当控制器130控制存储器装置150的诸如数据读取、数据写入、数据编程、数据擦除等操作时,可以将在存储器系统110的控制器130和存储器装置150之间传输或生成的数据条存储在存储器144中。
92.除了读取数据或写入数据,存储器144可以存储用于在主机102和存储器装置150之间输入或输出数据的信息(例如,映射数据、读取请求、编程请求等)。根据实施例,存储器144可以包括命令队列、程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存,等等。控制器130可以在存储器144中为被设立以执行数据输入/输出操作的组件分配一些存储空间。例如,在存储器144中设立的写入缓冲器可以用于临时存储用于编程操作的目标数据。
93.在实施例中,存储器144可以用易失性存储器来实施。例如,存储器144可以用静态随机存取存储器(sram)、动态随机存取存储器(dram)或这两者来实现。尽管图2示出例如设置在控制器130内的存储器144,但是实施例不限于此。存储器144可以位于控制器130内部或外部。例如,存储器144可以由具有存储器接口的外部易失性存储器来实现,该存储器接口在存储器144和控制器130之间传送数据和/或信号。
94.处理器134可以控制存储器系统110的全部操作。例如,处理器134可以响应于从主机102输入的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。根据实施例,处理器134可以运行固件以控制存储器系统110中的编程操作或读取操作。在本文中,固件可以被称为闪存转换层(ftl)。稍后参照图3详细描述ftl的示例。根据实施例,处理器134可以用微处理器或中央处理单元(cpu)来实施。
95.根据实施例,存储器系统110可以用至少一个多核处理器来实施。多核处理器是集成两个或多个内核的一种电路或芯片,两个或多个内核被认为是不同的处理区域。例如,当多核处理器中的多个内核独立地驱动或运行多个闪存转换层(ftl)时,可以提高存储器系统110的数据输入/输出速度(或性能)。根据实施例,存储器系统110中的数据输入/输出(i/o)操作可以通过多核处理器中的不同内核独立地执行。
96.控制器130中的处理器134可以执行对应于从主机102输入的请求或命令的操作。进一步,存储器系统110可以独立于从诸如主机102的外部装置输入的命令或请求。在一种情况中,由控制器130响应于从主机102输入的请求或命令而执行的操作可以被认为是前台操作,而由控制器130独立地(例如,不管从主机102输入的请求或命令)执行的操作可以被认为是后台操作。控制器130可以针对存储器装置150中的数据条,执行读取、写入或编程、擦除等的前台操作或后台操作。另外,对应于作为从主机102传输的设置命令的设置参数命令或设置特征命令的参数设置操作可以被认为是前台操作。作为不具有从主机102传输的命令的后台操作,控制器130可以执行垃圾收集(gc)、损耗均衡(wl)、辨识和处理坏块的坏块管理等。可以针对存储器装置150中包括的多个存储块152、154、156执行后台操作。
97.根据实施例,基本相似的操作可以作为前台操作和后台操作两者来执行。例如,当存储器系统110响应于从主机102输入的请求或命令而执行垃圾收集(例如,手动gc)时,垃圾收集可以被认为是前台操作。当存储器系统110独立于主机102执行垃圾收集(例如,自动gc)时,垃圾收集可以被认为是后台操作。
98.当存储器装置150包括包含非易失性存储器单元的多个管芯(或多个芯片)时,控制器130可以被配置为执行关于从主机102输入的多个请求或命令的并行处理,以提高存储器系统110的性能。例如,可以在存储器装置150中包括的多个平面、多个管芯或多个芯片中的至少一些内划分且并行地处理所传输的请求或命令。控制器130中的存储器接口142可以通过至少一个通道和至少一个通路连接到存储器装置150中的多个平面、管芯或芯片。当控制器130响应于与包括非易失性存储器单元的多个页面相关联的请求或命令而通过每个通道或每个通路在多个管芯中分配和存储数据时,对应于该请求或命令的多个操作可以单独地或并行执行。这种处理方法或方案可以被认为是交错方法。因为以交错方法操作的存储器系统110的数据输入/输出速度可以比未以交错方法操作的存储器系统110的数据输入/输出速度更快,所以可以提高存储器系统110的数据i/o性能。
99.作为示例而非限制,控制器130可以识别关于与存储器装置150中包括的多个存储器管芯相关联的多个通道(或通路)的状态。控制器130可以将每个通道或每个通路的状态确定为例如忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态中的一种。由控制器对通过哪个通道或通路来传递指令(和/或数据)的确定可以与物理块地址相关联,例如,将指令(和/或数据)传递到哪个(哪些)管芯中。控制器130可以参考从存储器装置150传递的描述符。描述符可以包括描述关于存储器装置150的一些信息的块参数或页面参
数,描述符是具有设定的格式或结构的数据。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定经由哪个(哪些)通道或通路来交换指令或数据。
100.参照图2,存储器系统110中的存储器装置150可以包括多个存储块152、154、156。多个存储块152、154、156中的每一个包括多个非易失性存储器单元。根据实施例,存储块152、154、156可以是一起被擦除的一组非易失性存储器单元。存储块152、154、156可以包括多个页面,页面是一起读取或编程的一组非易失性存储器单元。在一个实施例中,每个存储块152、154、156可以具有三维堆叠结构以高集成度。进一步,存储器装置150可以包括多个管芯,每个管芯包括多个平面,每个平面包括多个存储块152、154、156。针对存储器系统110的性能,存储器装置150的配置可以是不同的。
101.在图2所示的存储器装置150中,包括多个存储块152、154、156。根据可以存储或表示在一个存储器单元中的位的数量,多个存储块152、154、156可以是单层单元(slc)存储块、多层单元(mlc)存储块等中的任意一个。slc存储块包括由每个存储器单元存储一位数据的存储器单元实施的多个页面。slc存储块可以具有高的数据i/o操作性能和高耐久性。mlc存储块包括由每个存储器单元存储多位(例如,两位或更多位)数据的存储器单元实施的多个页面。与slc存储块相比,针对相同的空间,mlc存储块可以具有更大的存储容量。考虑到存储容量,mlc存储块可以高度集成。
102.在实施例中,存储器装置150可以用诸如双层单元(dlc)存储块、三层单元(tlc)存储块、四层单元(qlc)存储块或其组合的mlc存储块来实施。双层单元(dlc)存储块可以包括由每个存储器单元能够存储2位数据的存储器单元实施的多个页面。三层单元(tlc)存储块可以包括由每个存储器单元能够存储3位数据的存储器单元实施的多个页面。四层单元(qlc)存储块可以包括由每个存储器单元能够存储4位数据的存储器单元实施的多个页面。在另一实施例中,存储器装置150可以用包括由每个存储器单元能够存储五位或更多位数据的存储器单元实施的多个页面的块来实施。
103.根据实施例,控制器130可以使用存储器装置150中包括的多层单元(mlc)存储块,诸如将一位数据存储在一个存储器单元中的slc存储块。多层单元(mlc)存储块的数据输入/输出速度可以比slc存储块的数据输入/输出速度更慢。也就是说,当将mlc存储块用作slc存储块时,可以减少用于读取操作或编程操作的裕度。当使用多层单元(mlc)存储块作为slc存储块时,控制器130可以利用多层单元(mlc)存储块的更快的数据输入/输出速度。例如,控制器130可以使用mlc存储块作为缓冲器来临时存储数据条,因为缓冲器可能需要高的数据输入/输出速度以提高存储器系统110的性能。
104.进一步,根据实施例,控制器130可以将多条数据编程到多层单元(mlc)中多次而不对存储器装置150中包括的特定mlc存储块执行擦除操作。非易失性存储器单元具有不支持数据重写的特征。然而,控制器130可以使用多层单元(mlc)可以存储多位数据的特征,以将多条1位数据编程到mlc中多次。对于mlc重写操作,当将单条1位数据编程到非易失性存储器单元中时,控制器130可以将编程次数存储为单独的操作信息。根据实施例,在相同的非易失性存储器单元中重写另一条数据之前,可以执行用于均匀地均衡非易失性存储器单元的阈值电压的操作。
105.在实施例中,存储器装置150被实现为诸如闪速存储器的非易失性存储器,例如为
nand闪速存储器、nor闪速存储器等。在实施例中,存储器装置150可以由相变随机存取存储器(pcram)、铁电随机存取存储器(fram)、自旋注入磁性存储器(stt-ram)和自旋转移力矩磁性随机存取存储器(stt-mram)等中的至少一种来实施。
106.参照图3,存储器系统中的控制器130与主机102和存储器装置150一起操作。如图所示,控制器130包括主机接口132、闪存转换层(ftl)240和存储器接口142,以及预先结合图2辨识的存储器144。
107.根据实施例,闪存转换层(ftl)240中可以包括图2中所示的错误校正电路138。在另一实施例中,错误校正电路138可以被实施为控制器130中包括的或者与控制器130相关联的单独的模块、电路、固件等。
108.主机接口132能够处置从主机102传输的命令、数据等。作为示例而非限制,主机接口132可以包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可以顺序地存储从主机102接收的命令、数据等,并且例如以存储命令、数据等的顺序,将命令、数据等输出到缓冲器管理器52。缓冲器管理器52可以分类、管理或调整从命令队列56接收的命令、数据等。事件队列54可以顺序地传输用于处理从缓冲器管理器52接收的命令、数据等的事件。
109.在由主机102混合或混乱命令或数据之后,可以从主机102传输相同特性的多个命令或数据,例如,读取命令或写入命令,或者可以将不同特性的多个命令和数据传输到存储器系统110。例如,可以传递用于读取数据的多个命令(读取命令),或者可以将用于读取数据的命令(读取命令)以及编程/写入数据的命令(写入命令)交替地传输到存储器系统110。主机接口132可以将从主机102传输的命令、数据等顺序地存储到命令队列56。之后,主机接口132可以根据已经从主机102输入的命令、数据等的特性来估计或预测控制器130将执行哪种类型的内部操作。主机接口132可以至少基于命令、数据等的特性来确定命令、数据等的处理顺序和优先级。
110.根据从主机102传输的命令、数据等的特性,主机接口132中的缓冲器管理器52被配置为确定缓冲器管理器是否应该将命令、数据等存储在存储器144中,或者缓冲器管理器是否应该将命令、数据等传递到闪存转换层(ftl)240中。事件队列54接收从缓冲器管理器52输入的事件,响应于从主机102传输的命令、数据等,该事件待由存储器系统110或控制器130内部运行和处理,从而以接收的顺序将事件传递到闪存转换层(ftl)240中。
111.根据实施例,图3中所示的闪存转换层(ftl)240可以实施多线程方案以执行数据输入/输出(i/o)操作。多线程ftl可以通过使用控制器130中包括的多线程的多核处理器来实施。
112.根据实施例,闪存转换层(ftl)240可以包括主机请求管理器(hrm)46、映射管理器(mm)44、状态管理器(gc/wl)42和块管理器(bm/bbm)48。主机请求管理器(hrm)46可以管理从事件队列54输入的事件。映射管理器(mm)44可以处置或控制映射数据。状态管理器42可以执行垃圾收集(gc)或损耗均衡(wl)。块管理器48可以在存储器装置150中的块上运行命令或指令。
113.作为示例而非限制,主机请求管理器(hrm)46可以使用映射管理器(mm)44和块管理器48处置或处理根据从主机接口132传递的读取和编程命令以及事件的请求。主机请求管理器(hrm)46可以将查询请求发送到映射管理器(mm)44,以确定对应于与事件一起输入的逻辑地址的物理地址。主机请求管理器(hrm)46可以将具有物理地址的读取请求发送到
存储器接口142,以处理读取请求(处置事件)。在实施例中,主机请求管理器(hrm)46可以将编程请求(写入请求)发送到块管理器48,以将数据编程到存储器装置150中的特定空页面(无数据),然后可以将对应于编程请求的映射更新请求传输到映射管理器(mm)44,以更新与彼此映射逻辑-物理地址的信息中的经编程的数据有关的项。
114.块管理器48可以将从主机请求管理器(hrm)46、映射管理器(mm)44和/或状态管理器42传递的编程请求转换到用于存储器装置150的闪存编程请求,以管理存储器装置150中的闪存块。为了最大化或增强存储器系统110(例如,参见图2)的编程性能或写入性能,块管理器48可以收集编程请求并将针对多平面和单触发(one-shot)编程操作的闪存编程请求发送到存储器接口142。在实施例中,块管理器48将若干闪存编程请求发送到存储器接口142以增强或最大化多通道和多方向的闪存控制器的并行处理。
115.在实施例中,块管理器48可以被配置为根据有效页面的数量来管理存储器装置150中的块,当需要空闲块时选择并擦除没有有效页面的块,并且当确定待执行垃圾收集时选择包括最少数量的有效页数的块。状态管理器42可以执行垃圾收集以将有效数据移动到空块并且擦除包含经移动的有效数据的块,从而块管理器48可以具有足够的空闲块(没有数据的空块)。当块管理器48将关于待擦除的块的信息提供到状态管理器42时,状态管理器42可以检查待擦除的块的所有闪存页面以确定每个页面是否有效。
116.例如,为了确定每个页面的有效性,状态管理器42可以辨识记录在每个页面的带外(oob)区域中的逻辑地址。为了确定每个页面是否有效,状态管理器42可以将页面的物理地址与映射到从查询请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页面将编程请求发送到块管理器48。当完成编程操作时,可以通过映射管理器44的更新来更新映射表。
117.映射管理器44可以管理逻辑-物理映射表。映射管理器44可以处理由主机请求管理器(hrm)46或状态管理器42生成的例如查询、更新等的各种请求。映射管理器44可以根据存储器144的存储容量,将整个映射表存储在存储器装置150(例如,闪存/非易失性存储器)中并且高速缓存映射条目。当在处理查询或更新请求时发生映射高速缓存未命中时,映射管理器44可以将读取请求发送到存储器接口142以加载在存储器装置150中存储的相关映射表。当映射管理器44中的脏高速缓存块的数量超过一定的阈值时,可以将编程请求发送到块管理器48,从而形成干净高速缓存块并且可以将脏映射表存储在存储器装置150中。
118.当执行垃圾收集时,状态管理器42将(多个)有效页面复制到空闲块中,并且主机请求管理器(hrm)46可以对页面的相同逻辑地址的数据的最新版本进行编程并且当前发布更新请求。当状态管理器42在未正常完成(多个)有效页面的复制的状态下请求映射更新时,映射管理器44可能不执行映射表更新。这是因为,当状态管理器42请求映射更新并且稍后完成有效页面复制时,用旧物理信息发出映射请求。当或者只有最新映射表仍指向旧物理地址时,映射管理器44可以执行映射更新操作以确保准确性。
119.图4示出根据本公开的实施例的存储器系统中的通道激活。图4所示的第一通道ch1可以理解为图1至图3所描述的存储器系统110中包括的数据路径的示例。
120.参照图4,第一通道ch1可以具有两个状态中的一个。两个状态中的一个可以是活动状态,而另一个可以是非活动状态。在此,活动状态可以指经由第一通道ch1传输数据或信号的状态。在此,对数据或信号没有限制。非活动状态可以是没有经由第一通道ch1传输
的数据或信号的状态。
121.根据实施例,第一通道ch1可以具有各种操作状态。例如,当控制器130或存储器管芯90使用第一通道ch1时,第一通道ch1可以处于忙碌状态。当控制器130或存储器管芯90未使用第一通道ch1时,第一通道ch1可以处于空闲状态。在本文中,可以将忙碌状态与活动状态区分开。例如,忙碌状态可以指示第一通道ch1由控制器130或存储器管芯90指定、持有或占用的部分(section),即使实际上没有经由第一通道ch1传递数据或信号。然而,活动状态可以指示控制器130或存储器管芯90正在传输数据或信号的部分(section)。即使相邻的数据路径处于忙碌状态,当控制器130或存储器管芯90实际上没有正在传输任意数据或信号时,也不会出现干扰或噪声。然而,当相邻的数据路径处于活动状态时,通过相邻的数据路径传输的数据或信号可能引起干扰或噪声。
122.由于校准操作通常使用简单的数据模式,因此校准操作的数据传输窗口可能不会长(参照图9)。因此,当通过特定通道执行校准操作时,控制器130可以通过其他所有通道执行数据输入/输出操作,以生成可以影响特定通道的干扰或噪声。在这种情况下,数据输入/输出操作的数据传输窗口可以长于校准操作的数据传输窗口。另外,校准操作的数据传输窗口可以与数据输入/输出操作的数据传输窗口重叠。在本公开中,如参照图4至图9所描述的,即使所有的设计针对不同的操作或目的,但数据传输窗口或数据输入/输出窗口可以被称为通过数据路径在两个组件之间传输或传递任意数据或任意信号的时间段。激活操作的数据传输窗口可以称为激活窗口,而校准操作的数据传输窗口可以称为校准窗口。
123.图5示出根据本公开的实施例的存储器系统中的对数据通信的校准操作。例如,图5所示的校准操作可以由第一校准电路196和第二校准电路80执行。
124.参照图5,通过数据路径传输的数据或信号data_signal可以被认为是交流(ac)信号(例如,具有将使交流电流流动的交流电压的信号)。可以将由存储器系统110中的控制器130和存储器管芯90(参见图1至图3)传输和接收的数据或信号data_signal识别为数字值,但是通过数据路径传输的数据或信号data_signal可以与具有连续波形的交流信号基本相似,在该连续波形中电压电平可以变化。即使由控制器130或存储器管芯90传输的数据或信号data_signal是ac信号,控制器130或存储器管芯90中包括的接收器可以在ac信号具有比第一参考hd_th更高的电平时确定接收到的信号具有逻辑高值,或在ac信号具有比第二参考ld_th更低的电平时确定接收到的信号具有逻辑低值。因此,接收器可以从数据或信号data_signal的连续波形中识别数字值。
125.此外,当数据路径处于不传输数据或信号data_signal的非活动状态时,数据路径的电压电平可以保持在参考电平vref。在图5中,参考电平vref在第一参考hd_th和第二参考ld_th之间。但是,根据另一实施例,参考电平vref可以高于第一参考hd_th或低于第二参考ld_th。参考电平vref、第一参考hd_th和第二参考ld_th可以根据控制器130和存储器管芯90中包括的接收器或传输器的设计和性能而变化。
126.参照图5,数据或信号data_signal可以从逻辑高电平改变为逻辑低电平,反之亦然(即从逻辑低电平改变为逻辑高电平)。当数据或信号data_signal从逻辑高电平改变为逻辑低电平时,接收器可能无法在下降时段tf识别数据或信号data_signal的准确数字值,在下降时段tf数据或信号data_signal具有在第一参考hd_th与第二参考ld_th之间的电压电平。可选地,当数据或信号data_signal从逻辑低电平改变为逻辑高电平时,接收器可能
无法在上升时段tr识别数据或信号data_signal的准确数字值,在上升时段tr数据或信号data_signal具有在第一参考hd_th与第二参考ld_th之间的电压电平。也就是说,当接收器在下降时段tf或上升时段tr从数据或信号data_signal中提取数字值时,会增加生成错误(例如,接收器错误地识别数据或信号data_signal的数字值的可能性)的可能性。因此,通过校准操作,控制器130或存储器管芯90可以避免接收器在下降时段tf或上升时段tr识别数据或信号data_signal。此外,通过校准操作,控制器130或存储器管芯90可以调节接收窗口,从而接收器可以准确地识别下降时段tf和上升时段tr之间的数据或信号data_signal。例如,当接收窗口处于下降时段tf时,控制器130或存储器管芯90可以将接收窗口延迟与校准操作的结果相对应的量,从而接收窗口在下降时段tf之后移动。通过使接收窗口延迟,控制器130或存储器管芯90可以将接收窗口调整为设置在下降时段tf和上升时段tr之间。
127.图6示出执行校准操作的数据输入/输出设备。图6所描述的数据输入/输出设备是图1至图3所示的控制器130中包括的示例。根据实施例,存储器管芯90中也可以包括数据输入/输出设备。或者,能够在存储器系统110内传输和接收数据的装置或模块中可以包括数据输入/输出设备。
128.参照图6,控制器130中的存储器接口142可以包括收发器198。收发器198可以执行与存储器装置150或存储器管芯90的数据通信。
129.当控制器130执行读取操作时,闪存转换层(ftl)240可以将具有物理地址的读取命令传输到存储器接口142。物理地址临时存储在存储器接口142中的地址缓冲器412中。存储器接口142可以通过地址通道或路径addr[0:m]将存储在地址缓冲器412中的物理地址传送到存储器管芯90。
[0130]
另外,存储器接口142可以从闪存转换层(ftl)240接收控制存储器装置150或存储器管芯90的信息。存储器接口142可以将从存储器装置150或存储器管芯90获得的信息传递到闪存转换层(ftl)240中。这种信息可以存储在寄存器414中。例如,第一校准电路196可以对存储器管芯90执行校准操作,并且将校准操作的结果存储在寄存器414中。第一校准电路196可以基于校准操作的结果来控制收发器198。
[0131]
收发器198可以输出或接收数据。收发器198可以包括:使能单元424,其接收使能信号en0并且操作收发器198;第一复用器428,其输出或接收数据dq[0:n];以及第二复用器426,其输出或接收数据选通信号dqs0。数据选通信号dqs0是一种时钟信号,并且可以与数据dq[0:n]一起输出。当控制器130将数据dq[0:n]输出到存储器装置150或存储器管芯90时,控制器130可以将与数据dq[0:n]相对应的数据选通信号dqs0输出到存储器装置150或存储器管芯90。类似地,当存储器管芯90输出与读取请求相对应的数据dq[0:n]时,存储器管芯90可以将与数据dq[0:n]相对应的数据选通信号dqs0输出到控制器130。
[0132]
收发器198包括用于接收从另一装置传输的数据的数据接收路径和用于将数据传输到另一装置的数据传输路径。数据接收路径和数据传输路径联接到第一复用器428和第二复用器426。参照图6,在收发器198内从传输器422联接到第一复用器428和第二复用器426的数据传输路径中没有延迟。然而,从接收器418联接到第一复用器428和第二复用器426的数据接收路径中包括延迟单元416。延迟单元416可以使从另一装置输入的数据选通信号dqs0延迟,而不使数据dq[0:n]延迟。
[0133]
延迟单元416可以使数据选通信号dqs0延迟由第一校准电路196调整的延迟量。第
一校准电路196可以执行校准操作以确定何时接收从存储器管芯90传输的数据dq[0:n]。第一校准电路196可以根据校准操作的结果来调整延迟单元416的延迟量。接收器418可以在第一校准电路196的控制下基于由延迟单元416延迟的数据选通信号dqs0来检测和识别数据dq[0:n]。
[0134]
图6描述将校准操作的结果应用于用于由收发器198接收的数据的数据接收路径的示例。根据另一实施例,可以将校准操作的结果应用于将数据输出到另一装置的数据传输路径。进一步,在另一实施例中,也可以将校准操作的结果应用于数据接收路径和数据传输路径两者。另外,根据另一实施例,除了数据选通信号dqs0,第一校准电路196可以控制数据dq[0:n]的延迟量。
[0135]
图7示出根据本公开的实施例的存储器装置的内部配置。
[0136]
参照图7,存储器系统110可以包括控制器130和多个存储器管芯90、92、94、96和98。控制器130可以经由多个通道ch1、ch2、ch3和ch4联接到多个存储器管芯90、92、94、96和98。根据实施例,多个存储器管芯90和92可以经由第一通道ch1连接到控制器130。在本文中,可以基于存储器系统110的设计或操作性能来改变通道的数量和存储器管芯的数量。而且,根据存储器系统110的操作性能,可以改变经由单个通道联接到控制器130的存储器管芯的数量。
[0137]
多个存储器管芯90、92、94、96和98可以独立地操作。多个存储器管芯90、92、94、96和98的操作环境和条件可以不同。因此,控制器130可以对多个存储器管芯90、92、94、96和98单独地执行校准操作。例如,控制器130可以顺序地在多个通道ch1、ch2、ch3和ch4之中选择一个以执行校准操作。在选择第一通道ch1之后,控制器130可以对经由第一通道ch1联接到控制器130的多个存储器管芯90和92中的每一个执行校准操作。当完成经由第一通道ch1联接到控制器130的多个存储器管芯90和92的校准操作时,控制器130可以在多个通道ch1、ch2、ch3和ch4之中选择第二通道ch2以进行校准操作。
[0138]
根据实施例,控制器130可以在多个通道ch1、ch2、ch3和ch4之中随机地(或任意地)选择一个以执行校准操作。另外,根据另一实施例,控制器130可以在多个存储器管芯90、92、94、96和98之中选择一个以执行校准操作,而不管管芯联接到哪个通道。
[0139]
在存储器系统110的初始(或设置)操作期间,控制器130可以顺序地或任意地对多个存储器管芯90、92、94、96和98中的每一个执行校准操作。根据另一实施例,当在存储器系统110执行数据输入/输出操作时发生错误或错误位的数量增加时,控制器130可以选择性地对与错误或错误位相对应的特定存储器管芯执行校准操作。进一步,在存储器系统110处于空闲状态或省电状态达预定时间或更长时间之后,在执行数据输入/输出操作之前,控制器130可以对至少一个存储器管芯执行校准操作。
[0140]
图8示出校准操作的通道状态。在图8中,包括四个通道ch1、ch2、ch3和ch4的情况将被描述为类似于图7中所描述的存储器系统110的示例。
[0141]
参照图7和图8,当控制器130对经由第一通道ch1联接到控制器130的存储器管芯90和92中的一个执行校准操作时,所有其他通道ch2、ch3和ch4处于活动状态。如图4所示,通道的活动状态(或激活状态)可以指示正在通过相应的通道传输数据或信号的状态。
[0142]
当其他通道ch2、ch3和ch4保持活动状态时,可以将操作环境和诸如可能最容易出错的操作条件的条件设置为在通过第一通道ch1执行的数据通信中变得最差。在所有其他
通道ch2、ch3和ch4处于活动状态时,对经由第一通道ch1联接的存储器管芯90或92执行校准操作,从而可以减少在存储器管芯90或92与控制器130之间的数据通信中可能发生错误的可能性。
[0143]
尽管未示出,但是在对其他通道ch2、ch3和ch4中的一个执行校准操作时,未执行校准操作的所有通道可以保持在活动状态。为了将通道保持在活动状态,控制器130可以将编程数据传输到通过相应的通道连接的存储器管芯,或者可以通过相应的通道从存储器管芯接收读取数据。根据实施例,编程数据或读取数据可以包括任意的测试数据、假数据或实际上未经编程也未存储在存储器管芯的非易失性存储器单元中的虚拟数据。另外,当控制器130通过处于活动状态的通道将假数据或虚拟数据传输到存储器管芯时,由于为维持通道的活动状态而传输的数据是假数据或虚拟数据,因此相应的存储器管芯可以不接收或识别假数据或虚拟数据。
[0144]
图9示出校准操作和通道激活的数据传输窗口。具体地,参照图7至图9,控制器130对经由多个通道ch1、ch2、ch3和ch4之中的第一通道ch1联接到控制器130的存储器管芯90和92中的一个执行校准操作。
[0145]
参照图9,对经由第一通道ch1联接到控制器130的存储器管芯90和92中的一个执行的校准操作的校准窗口tcal小于或短于对其他通道ch2、ch3和ch4执行的激活操作的激活窗口tactivation。进一步,校准操作的窗口tcal可以属于激活操作的激活窗口tactivation或与激活操作的激活窗口tactivation完全重叠。也就是说,在通过第一通道ch1执行的校准操作开始之前,在其他通道ch2、ch3和ch4上开始进行激活操作。在完成通过第一通道ch1执行的校准操作之后,可以完成在通道ch2、ch3和ch4上的激活操作。由此,在通过特定通道执行校准操作时,所有其他通道可以保持在活动状态。
[0146]
在图9中,在其他通道ch2、ch3和ch4上执行的激活操作的激活窗口彼此相同。根据实施例,即使在通道ch2、ch3和ch4中的每一个上执行的激活操作的激活窗口是不同的,激活操作的激活窗口也可被控制为覆盖(cover)校准操作的校准窗口tcal或与校准操作的校准窗口tcal重叠。通过该操作,因为可以在存储器系统110内的不良操作环境下执行对经由第一通道ch1联接的存储器管芯90和92中的一个的校准操作,所以可以提高在校准操作之后执行的数据通信的可靠性。
[0147]
图10示出根据本公开的实施例的操作存储器系统的方法。
[0148]
参照图10,操作存储器系统的方法包括:从多条数据路径之中选择第一路径以执行校准操作(372),用或者对联接到多条路径之中的除了第一路径之外的其他路径的装置或组件执行数据输入/输出操作(374),在对其他路径执行数据输入/输出操作时,对第一路径执行校准操作(376),并且选择联接到需要校准操作的装置或组件的另一路径(378)。
[0149]
存储器系统110中的控制器130(参照图1至图3和图7)可以确定用于校准操作的多条数据路径之中的第一路径(372)。例如,多条数据路径可以包括存储器系统110内的控制器130与多个存储器管芯之间的多个通道。具体地,控制器130可以选择经由第一路径联接的特定组件(例如,存储器管芯)。根据实施例,当多个组件经由第一路径联接到控制器130时,可以顺序地选择多个组件以进行校准操作。
[0150]
当确定经由第一路径联接以执行校准操作的目标(即,存储器系统110中包括的特定组件)时,控制器130可以激活除了待执行校准操作的第一路径之外的所有其他未选择的
路径。例如,当存储器系统110中有四个数据路径时,控制器130可以激活除了第一路径之外的三个其他路径。为了激活三个其他路径,控制器130可以选择经由所有未选择的路径中的每一条联接到控制器130的至少一个组件(例如,存储器管芯)。此后,控制器130可以用选择的组件(例如,选择的存储器管芯)执行数据通信(即数据传输/接收)(374)。
[0151]
传输数据和接收数据是激活数据路径的方式中的一种。例如,激活所有未选择的路径的操作374可以包括选择经由所有未选择的路径中的每一条联接的至少一个存储器管芯并且对选择的存储器管芯执行编程操作或读取操作。在这种情况下,控制器130或选择的存储器管芯可以传输/接收特定的数据模式,该特定的数据模式可以通过用于数据通信的所有未选择的路径产生最大的干扰和噪声。根据实施例,即使诸如存储器管芯的特定组件未接收到数据,控制器130也可以通过将数据通过数据路径传输到特定组件来激活该数据路径。
[0152]
在所有未选择的路径被激活时,控制器130可以执行对经由第一路径联接到控制器130的存储器管芯之间的数据通信的校准操作(376)。根据实施例,校准操作包括对以第一方向从控制器130到存储器管芯的数据通信的第一校准操作和对以第二方向从存储器管芯到控制器130的数据通信的第二校准操作。也就是说,可以在第一路径上以两个方向执行校准操作。根据实施例,用选择的组件的数据通信的数据传输窗口可以比校准操作的校准窗口更宽或更长,选择的组件经由激活的路径联接。校准操作的校准窗口可以与数据通信的数据传输窗口完全重叠。
[0153]
参照图7,控制器130可以经由多条数据路径联接到多个存储器管芯。尽管未示出,但是操作存储器系统的方法可以进一步包括:当完成对经由第一路径联接的特定存储器管芯的校准操作时,选择经由第一路径联接的另一存储器管芯或选择所有未选择的路径中的一个。由此,控制器130可以对多个存储器管芯中的每一个单独地执行校准操作。对每个存储器管芯单独地执行的校准操作的结果可以不同。尽管未示出,但是操作存储器系统的方法可以进一步包括存储通过与存储器管芯相对应的校准操作而确定的校准结果。在完成校准操作之后,当控制器130将数据输出到特定的存储器管芯或从特定的存储器管芯接收数据时,控制器130可以基于存储的与存储器管芯相对应的校准结果来感测和识别数据。
[0154]
图11示出校准操作随着通道激活的影响。
[0155]
参照图11,可以将在对存储器管芯90(参照图1)执行校准操作之前的数据传输窗口裕度tds、tdh与下文描述的两个结果进行比较,存储器管芯90经由特定通道联接到控制器130。从在对特定通道执行校准操作的同时不激活其他通道的情况获得第一结果tds
±
a、tdh
±
b,校准裕度(未激活)。从在对特定通道执行校准操作的同时激活其他通道的另一情况获得第二结果tds
±
3atdh
±
3b3b校准裕度(完全激活)。在本文中,可以基于建立时间tds、保持时间tdh以及变量“a”、“b”来确定数据传输窗口裕度tds、tdh,变量“a”、“b”是时间值。
[0156]
当除了相应通道之外的通道未被激活时的第一结果包括变量“a”、“b”。但是,当其他通道被激活时的第二结果包括关于变量“3a”、“3b”的信息。与第一结果和第二结果相比,校准结果可以增加大约3倍(即“a”至“3a”)。根据图11所示的校准操作的操作环境,校准结果可以包括2.5至3.5倍的差异。校准结果中的该差异可以用于提高以高速操作的存储器系统110(参见图1至图3)内数据通信中的操作可靠性。
[0157]
根据本公开的实施例的存储器系统或数据处理系统可以支持快速数据输入/输出速度或快速数据处理速度。
[0158]
另外,即使经由存储器系统中的多条数据路径同时或并行地执行多个数据传输/接收操作,本公开的实施例也可以减少在数据传输/接收操作期间发生的错误,从而提高存储器系统的操作性能。
[0159]
尽管已关于特定实施例示出和描述了本教导,但是鉴于本公开,对于本领域技术人员而言将显而易见的是,在不脱离如所附权利要求书中限定的本公开的思想和范围的情况下,可以进行各种改变和修改。
技术特征:
1.一种存储器系统,包括:存储器装置,包括多个存储器管芯;以及控制器,经由多条数据路径联接到所述多个存储器管芯,其中所述控制器在所述多条数据路径之中选择第一路径,激活所述多条数据路径之中的未选择的路径,并且在所述未选择的路径被激活时,对所述控制器与所述多个存储器管芯之中的第一存储器管芯之间的数据通信执行校准操作,所述第一存储器管芯经由所述第一路径联接到所述控制器。2.根据权利要求1所述的存储器系统,其中所述控制器对每个存储器管芯单独地执行所述校准操作,并且其中所述校准操作的整个校准窗口与激活窗口重叠。3.根据权利要求2所述的存储器系统,其中所述控制器进一步存储对每个存储器管芯执行的所述校准操作的结果。4.根据权利要求1所述的存储器系统,其中所述控制器进一步在完成对所述第一存储器管芯的所述校准操作之后,对经由所述第一路径联接到所述控制器的其他存储器管芯执行所述校准操作,并且在完成对所述其他存储器管芯的所述校准操作之后,在所述未选择的路径之中选择第二路径。5.根据权利要求1所述的存储器系统,其中所述控制器进一步在完成对所述第一存储器管芯的所述校准操作之后并且在开始对经由所述第一路径联接到所述控制器的其他存储器管芯进行所述校准操作之前,在所述未选择的路径之中选择第二路径以进行所述校准操作。6.根据权利要求1所述的存储器系统,其中所述控制器通过将虚拟数据与编程命令传输到至少一个存储器管芯来激活所述未选择的路径,所述至少一个存储器管芯经由所述未选择的路径中的每一条联接到所述控制器。7.根据权利要求1所述的存储器系统,其中所述控制器通过将虚拟数据而不将编程命令传输到至少一个存储器管芯来激活所述未选择的路径,所述至少一个存储器管芯经由所述未选择的路径中的每一条联接到所述控制器。8.根据权利要求1所述的存储器系统,所述控制器通过将读取命令传输到至少一个存储器管芯来激活所述未选择的路径,所述至少一个存储器管芯经由所述未选择的路径中的每一条联接到所述控制器。9.根据权利要求1所述的存储器系统,其中所述校准操作包括:第一校准操作,用于从所述控制器到所述第一存储器管芯的第一数据通信,以及第二校准操作,用于从所述第一存储器管芯到所述控制器的第二数据通信。10.根据权利要求1所述的存储器系统,其中所述控制器用在所述多条数据路径之间引起噪声或干扰的数据模式来激活所述未选择的路径。11.一种操作存储器系统的方法,所述存储器系统包括多个存储器管芯,所述方法包括:在多条数据路径之中选择第一路径以执行校准操作,所述多条数据路径联接在控制器和所述存储器管芯之间;在所述多条数据路径之中激活未选择的路径;并且
在所述未选择的路径被激活时,对所述控制器与所述多个存储器管芯之中的第一存储器管芯之间的数据通信执行所述校准操作,所述第一存储器管芯经由所述第一路径联接到所述控制器。12.根据权利要求11所述的方法,其中选择所述第一路径包括选择经由所述第一路径联接到所述控制器的至少一个存储器管芯。13.根据权利要求11所述的方法,其中激活所述未选择的路径包括:选择经由所述未选择的路径中的每一条联接到所述控制器的至少一个存储器管芯;并且对所选择的存储器管芯执行所述数据通信。14.根据权利要求11所述的方法,其中对所述多个存储器管芯之中的其他管芯单独地并且顺序地执行所述校准操作,并且其中所述校准操作的整个校准窗口与激活窗口重叠。15.根据权利要求11所述的方法,进一步包括:在完成所述校准操作的执行之后,要么在所述未选择的路径之中选择第二路径,要么选择经由所述第一路径联接到所述控制器的另一存储器管芯。16.根据权利要求11所述的方法,其中激活所述未选择的路径包括:选择经由所述未选择的路径中的每一条联接到所述控制器的至少一个存储器管芯;并且用所述至少一个存储器管芯执行编程操作或读取操作。17.根据权利要求16所述的方法,其中执行所述编程操作或所述读取操作包括传输在所述多条数据路径之间引起噪声或干扰的数据模式。18.根据权利要求11所述的方法,进一步包括存储所述校准操作的结果。19.一种数据输入/输出设备,所述数据输入/输出设备包括多个数据收发器,所述多个数据收发器执行经由多条数据路径到多个装置的数据通信,并且被设置为与所述多条数据路径相对应,其中在所述多个数据收发器之中的未选择的收发器执行数据输入/输出操作时,在所述多个数据收发器之中的所选择的数据收发器执行校准操作,并且其中所述校准操作的整个校准窗口与所述数据输入/输出操作的数据输入/输出窗口重叠。20.根据权利要求19所述的数据输入/输出设备,其中所述多个数据收发器中的每一个包括:第一路径,被分配用于数据传输;第二路径,被分配用于数据接收;延迟单元,以延迟量将所述第二路径中的接收数据延迟;校准单元,通过所述校准操作来调整所述延迟量。
技术总结
本公开涉及一种存储器系统中数据通信的校准设备和方法,该存储器系统包括:存储器装置,包括多个存储器管芯;以及控制器,经由多条数据路径联接到多个存储器管芯。控制器被配置为在多条数据路径之中选择第一路径,激活多条数据路径之中的未选择的路径,并且在未选择的路径被激活时,对控制器与多个存储器管芯之中的第一存储器管芯之间的数据通信执行校准操作,该第一存储器管芯经由第一路径联接到控制器。器。器。
技术研发人员:赵兴龙 陈宽镛
受保护的技术使用者:爱思开海力士有限公司
技术研发日:2021.06.02
技术公布日:2022/3/8