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

存储器接口、数据存储设备及其操作方法

文献发布时间:2023-06-19 09:26:02


存储器接口、数据存储设备及其操作方法

本申请要求根据U.S.C.第35章第119(a)条于2019年7月5日在韩国知识产权局提交的韩国申请号10-2019-0081290的优先权,其整体内容通过引用并入本文。

技术领域

各种实施例通常涉及电子设备,并且更具体地,涉及存储器接口、包括存储器接口的数据存储设备及其操作方法。

背景技术

近来,用于计算环境的范例已被转变为普适的计算环境,其中计算机系统可以随时随地使用。因此,便携式电子设备(诸如移动电话、数码相机和笔记本电脑)的使用快速增长。这样的便携式电子设备通常使用数据存储设备,该数据存储设备使用存储器设备。数据存储设备被用于存储便携式电子设备中使用的数据。

由于使用存储器设备的数据存储设备没有机械驱动器,数据存储设备具有良好的稳定性和耐久性、较高的信息访问速度以及较低的功耗。具有这样优点的数据存储设备包括通用串行总线(USB)存储器设备、具有各种接口的存储器卡、通用闪存(UFS)设备以及固态硬盘(SSD)。

发明内容

各种实施例都是涉及能够平衡具有不同操作时间的裸片的性能的存储器接口、包括该存储器接口的数据存储设备及其操作方法。

此外,各种实施例还涉及能够避免因功率短缺而导致的性能下降的存储器接口、包括该存储器接口的数据存储设备及其操作方法。

在一个实施例中,存储器接口可以包括:被配置为与多个裸片交换信号的收发器模块;和输入/输出(I/O)速率控制器,该控制器被配置为通过监测被发射到每个裸片和从每个裸片接收的信号,来计算每个裸片的每信号间隔比率,通过使用计算的每信号间隔比率,在多个裸片之中选择操作时间相对较慢的第一芯片和操作时间相对较快的第二芯片,并向收发器模块提供用于调整第一裸片和第二裸片中的每个裸片的数据间隔比率的信息。

在一个实施例中,数据存储设备可以包括:包括多个存储器芯片的非易失性存储器设备;和控制器,该控制器被配置为通过监测分别被发射到多个存储器芯片和从多个存储器芯片接收的信号,来计算每个存储器芯片的每信号间隔比率,通过使用计算的每信号间隔比率,在多个存储器芯片之中选择操作时间最慢的第一存储器芯片和操作时间最快的第二存储器芯片,并调整第一存储器芯片和第二存储器芯片中的每个存储器芯片的数据间隔比率。

在一个实施例中,提供了一种数据存储设备的操作方法,该数据存储设备包括控制器和非易失性存储器设备,该非易失性存储器设备包括多个存储器芯片。该操作方法可以包括:监测分别被发射到多个存储器芯片和从多个存储器芯片接收的信号;通过使用监测的信号,计算每个存储器芯片的每信号间隔比率;通过使用计算的每信号间隔比率,在多个存储器芯片之中选择操作时间最慢的第一存储器芯片和操作时间最快的第二存储器芯片;并调整第一存储器芯片和第二存储器芯片中的每个存储器芯片的数据间隔比率。

通过提高第一存储器芯片的数据传输速率并降低第二存储器芯片的数据传输速率来执行数据间隔比率的调整。

操作方法可以进一步包括接收监测开始信号,该信号用于监测被发射到相应存储器芯片和从相应存储器芯片接收的信号。当接收到监测开始信号时,执行信号的监测。

操作方法可以进一步包括确定是否接收到监测结束信号,该信号用于结束被发射到相应存储器芯片和从相应存储器芯片接收的信号的监测。当接收到监测结束信号时,执行每信号间隔比率的计算。

操作方法可以进一步包括确定是否接收监测重启信号,该信号用于重启监测被发射到相应存储器芯片/从相应存储器芯片接收的信号;当接收到监测重启信号时,重置针对相应存储器芯片监测的信号;并再次监测被发射到相应存储器芯片和从相应存储器芯片接收的信号。

在一个实施例中,提供了一种控制器的操作方法,该控制器用于控制存储器设备,该存储器设备包括通过相应的通道被可操作地耦合到控制器的多个芯片。该操作方法可以包括:通过监测在设定的时间间隔内通过通道传输的信号来标识相应芯片的忙碌间隔;并在通道之中执行增加第一通道的信号传输速率和减少第二通道的信号传输速率的信号传输速率调整操作。在芯片之中,第一通道对应于具有相对较长的忙碌间隔的芯片,且第二通道对应于具有相对较短的忙碌间隔的芯片。

附图说明

图1是图示根据一个实施例的数据存储装置的图。

图2是图示图1的非易失性存储器设备的配置的图。

图3是图示根据一个实施例的存储器接口的配置的图。

图4是图示存储器接口和非易失性存储器设备之间耦合关系的图。

图5是图示根据一个实施例的I/O速率控制器的配置的图。

图6是图示根据一个实施例的闪存转换层(FTL)的示意图。

图7是图示根据一个实施例的输入/输出(IO)监测设置寄存器的图。

图8是图示根据一个实施例的每信号间隔数和每信号间隔比率的图。

图9是图示根据一个实施例的数据存储设备的操作方法的流程图。

图10是图示根据一个实施例的数据存储设备的操作方法的流程图。

图11是图示根据一个实施例的包括固态硬盘(SSD)的数据处理系统的图。

图12是图示如图11中所示的控制器的图。

图13是图示根据一个实施例的包括数据存储装置的数据处理系统的图。

图14是图示根据一个实施例的包括数据存储装置的数据处理系统的图。

图15是图示根据一个实施例的包括数据存储装置的网络系统的图。

图16是图示根据一个实施例的被包括在数据存储装置中的非易失性存储器设备的图。

具体实施方式

下文将通过参考附图来描述存储器接口、包括该存储器接口的数据存储设备及其操作方法的实施例。在整个说明书中,对“一个实施例”或类似内容的引用不一定是指仅一个实施例,对任何这样的短语的不同引用不一定针对相同的实施例。

图1图示了根据一个实施例的数据存储装置100。

参考图1,数据存储设备10可以存储由主机(未示出)(诸如移动电话、MP3播放器、笔记本电脑、台式电脑、游戏机、TV或车载信息娱乐系统)访问的数据,数据存储设备10可以被称为存储器系统。

根据被耦合到主机的接口协议,数据存储设备10可以被制造为各种类型的存储设备中的任何一种存储设备。例如,数据存储设备10可以被配置为各种类型的存储设备中的任何一种存储设备,其中包括SSD(固态硬盘)、MMC(多媒体卡)(诸如eMMC、RS-MMC或微型MMC)、SD(安全数字)卡(诸如迷你SD或微型SD)、USB(通用串行总线)存储设备、UFS(通用闪存)设备、PCMCIA(个人计算机存储卡国际协会)卡式存储设备、PCI(外设部件互连标准)卡式存储设备、PCI-e(PCI Express)卡式存储设备、CF(紧凑式闪存)卡、智能媒体卡和记忆棒。

数据存储设备10可以被制造为各种类型的封装中的任何一种封装。例如,数据存储设备10可以被制造为各种类型的封装中的任何一种封装,诸如POP(叠层封装)、SIP(系统封装)、SOC(片上系统)、MCP(多芯片封装)、COB(板上芯片)、WFP(晶圆级制造封装)和WSP(晶圆级堆叠封装)。

数据存储设备10可以包括非易失性存储器设备100和控制器200。

非易失性存储器设备100可以作为数据存储设备10的存储介质操作。非易失性存储器设备100可以被配置为各种类型的非易失性存储器中的任何一种存储器,诸如NAND闪存、NOR闪存、使用铁电电容器的FRAM(铁电随机存取存储器)、使用TMR(隧道磁阻)层的MRAM(磁随机存取存储器)、使用硫系合金的PRAM(相变随机存取存储器)以及使用过渡金属氧化物的ReRAM(电阻式随机存取存储器),这取决于存储器单元。

非易失性存储器设备100可以包括具有多个存储器单元的存储器单元阵列(未示出),这些存储器单元被布置在多个位线(未示出)和多个字线(未示出)之间的相应交点处。例如,存储器单元阵列的每个存储器单元可以是用于存储1bit数据的单层单元(SLC)、用于存储2bit数据的多层单元(MLC)、用于存储3bit数据的三层单元(TLC)或用于存储4bit数据的四层单元(QLC)。存储器单元阵列110可以包括一个或多个SLC、MLC、TLC和/或QLC。例如,存储器单元阵列110可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。

控制器200可以通过驱动加载到存储器230的固件或软件来控制数据存储设备10的全局操作。控制器200可以解码并驱动基于代码的指令或算法,诸如固件或软件。控制器200可以在硬件或硬件和软件的组合中实现。

控制器200可以包括主机接口210、处理器220、存储器30和存储器接口240。存储器接口240可以包括输入/输出(I/O)速率控制器250。虽然未在图1中示出,但控制器200可以进一步包括纠错码(ECC)引擎,该纠错码(ECC)引擎通过对从主机提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器设备100读取的数据执行ECC解码。ECC引擎可以被安装到存储器接口240内或存储器接口240的外部。

主机接口210可以响应于主机的协议而与主机和数据存储设备10对接。例如,主机接口210可以通过各种协议中的任何一种协议与主机通信,包括USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串行连接SCSI)、PCI(外设部件互连标准)和/或PCI-e(PCIexpress)。

处理器220可以包括微型控制单元(MCU)和/或中央处理单元(CPU)。处理器220可以处理从主机传输的请求。为了处理从主机传输的请求,处理器220可以驱动加载到存储器230(即固件)的基于代码的指令或算法,并控制非易失性存储器设备100和内部设备(诸如主机接口210、存储器230和存储器接口240)的操作。

处理器220可以基于从主机传输的请求,生成用于控制非易失性存储器设备100的操作的控制信号,并通过存储器接口240为非易失性存储器设备100提供生成的控制信号。

RAM 230可以包括动态RAM(DRAM)或静态RAM(SRAM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件的所需的数据,例如,元数据。因此,存储器230可以作为处理器220的工作存储器操作。虽然未在图1中示出,但是控制器200可以进一步包括被布置在与处理器220相邻处的处理器专用的存储器,并且存储在存储器230中的固件和元数据可以被加载到处理器专用的存储器。

存储器230可以包括缓冲器,该缓冲器用于临时存储要从主机传输到非易失性存储器设备100的写入数据,或要从非易失性存储器设备100传输到主机的读取数据。因此,存储器230可以作为缓冲器存储器操作。

图1图示了存储器230被安装在控制器200中,但是存储器230也可以被安装在控制器200外部。

存储器接口240可以控制在处理器220控制下的非易失性存储器设备100。当非易失性存储器设备100被配置为NAND闪存时,存储器接口240可以被称为闪存控制顶端(FCT)。存储器接口240可以将由处理器220生成的控制信号传输到非易失性存储器设备100。控制信号可以包括用于控制非易失性存储器设备100的操作的命令、地址和操作控制信号。操作控制信号例如可以包括芯片使能信号、命令锁存使能信号、地址锁存使能信号、写入使能信号、读取使能信号、数据存储信号等,但不特定限于此。存储器接口240可以为非易失性存储器设备100提供写入数据,或者从非易失性存储器设备100接收读取信号。

存储器接口240和非易失性存储器设备100可以通过多个通道CH1和CHn而被耦合。存储器接口240可以通过多个通道CH1和CHn将信号(诸如命令、地址、操作控制信号和数据(即,写入数据))发射到非易失性存储器设备100。此外,存储器接口240可以通过多个通道CH1和CHn从非易失性存储器设备100接收状态信号(例如,就绪/忙碌)和数据(即,读取数据)。

图2是图示图1的非易失性存储器设备100的配置的示意图。

参考图2,非易失性存储器设备100可以包括多个裸片组DG1到DGn,每个裸片组具有多个裸片D1到Dm。虽然未在图2中示出,但裸片D1到Dm中的每个裸片都可以包括一个或多个平面。一个或多个平面中的每个平面都可以包括多个块(或存储器块),并且这些块中的每个块都可以包括多个页。

存储器接口240和非易失性存储器设备100耦合所通过的通道数目可以等于被包括在非易失性存储器设备100中的裸片组的数目。例如,如图2中所示,当被包括在非易失性存储器设备100中裸片组DG1到DGn的数目为n时,n个通道CH1到CHn可以被安装,以将n个裸片组DG1到DGn分别耦合到存储器接口240。

虽然未在图2中示出,但是耦合到相应裸片组DG1到DGn的通道CH1到CHn中的每个通道可以由对应裸片组中的多个裸片D1到Dm共享。因此,一个裸片组DGx中的多个裸片Dx可以通过一个通道被耦合到存储器接口240。被描述为通过单个通道而被耦合到存储器接口240的单个裸片还可以表示通过单个通道而被耦合到存储器接口240的裸片组DGx中的多个裸片Dx。

图3是图示根据一个实施例的存储器接口240的配置的图。

参考图3,存储器接口240可以包括物理层阵列241,该物理层阵列包括多个物理层PHY1到PHYn、PHY控制器243和I/O速率控制器250。物理层阵列241和PHY控制器243可以被统称为收发器模块。

物理层PHY1到PHYn可以将信号(诸如命令、地址、操作控制信号和数据)发射到对应的裸片组DG1到DGn(参见图2)。物理层PHY1到PHYn可以接收从对应的裸片组DG1到DGn发射的信号,诸如状态信号和数据。

PHY控制器243可以为物理层PHY1到PHYn提供用于控制相应物理层PHY1到PHYn的操作速度的控制信号。物理层PHY1到PHYn中的每一个物理层可以根据从PHY控制器243提供的控制信号进行操作。例如,物理层PHY1到PHYn可以根据从PHY控制器243提供的控制信号,将信号发射到对应裸片组DG1到DGn或从对应裸片组DG1到DGn接收信号。此外,信号在物理层PHY1到PHYn与对应的裸片组DG1到DGn之间传输的速度,即时钟频率(或时钟速度),可以由PHY控制器243的控制信号调节。

I/O速率控制器250可以包括I/O监测器251和I/O平衡器255。

I/O监测器251可以被配置为监测在物理层PHY1到PHYn与对应的裸片组DG1到DGn之间传输的每信号间隔时钟计数。

在本实施例中,信号间隔可以指示同一类型信号被传输的间隔。例如,信号间隔可以包括命令被从物理层(通常是PHY)传输到对应的裸片组的命令传输间隔、地址被从PHY传输到对应的裸片组的地址传输间隔、数据被从PHY传输到对应的裸片组的数据输入间隔、状态信号被从裸片组传输到对应的PHY的就绪/忙碌间隔以及数据被从裸片组传输到对应的PHY的数据输出间隔,但不特定限于此。在本实施例中,信号间隔还可以包括PHY与裸片组之间没有信号传输的空闲间隔。此外,在本实施例中,每信号间隔时钟计数可以指示同一类型的信号被传输的时间。

在本实施例中,I/O监测器251可以基于用于I/O监测而提供的时钟(例如,监测时钟)来监测每信号间隔时钟计数。在一个实施例中,I/O监测器251可以根据一组计数单元监测每信号间隔时间或长度。计数单元可以包括一个或多个时钟周期。

I/O监测器251可以使用整个监测时间(或整个监测时钟计数)和每信号间隔时间(或每信号间隔时钟计数)来计算每信号间隔比率,并将计算的每信号间隔比率提供给I/O平衡器255。

I/O平衡器255可以基于从I/O监测器251提供的每信号间隔比率,选择操作时间最慢的裸片(例如,第一裸片)和操作时间最快的裸片(例如,第二裸片),并为PHY控制器243提供关于所选第一裸片和第二裸片耦合到PHY的信息。在分别耦合到通道的裸片中的每个裸片的每信号间隔比率中,操作时间最慢的裸片可以指示忙碌间隔比率最高的裸片。在另一方面,操作时间最快的裸片可以指示忙碌间隔比率最低的裸片。

PHY控制器243可以基于从I/O平衡器255提供的信息生成控制信号,该控制信号用于改变耦合到第一裸片的PHY的时钟频率和耦合到第二裸片的PHY的时钟频率,以及为对应的PHY提供生成的控制信号。例如,PHY控制器243可以提供用于增加耦合到第一裸片的PHY的时钟频率的控制信号,以提高第一裸片的数据传输速率。此外,PHY控制器243可以提供用于减少耦合到第二裸片的PHY的时钟频率的控制信号,以降低第二裸片的数据传输速率。

图4是图示存储器接口240与非易失性存储器设备100之间的耦合关系的图。

参考图4,多个物理层PHY1到PHYn可以通过对应的通道CH1到CHn而被耦合到非易失性存储器设备100的对应的裸片组DG1到DGn。I/O速率控制器250的I/O监测器251和通道CH1到CHn可以通过单独的监测线260而被物理耦合,并且I/O监测器251可以通过监测线260监测输入到相应通道CH1到CHn或从相应通道CH1到CHn输出的信号。

图5是图示根据一个实施例的I/O速率控制器250的配置的图。

参考图5,I/O监测器251可以包括信号接收器252和每信号间隔比率计算器253。信号接收器252可以通过图4中所示的监测线260监测或检测在相应通道CH1到CHn上传输的信号。信号接收器252可以为每信号间隔比率计算器253提供接收的信号。

每信号间隔比率计算器253可以将从信号接收器252提供的信号分成多个信号间隔,并使用整个监测时间(或整个监测时钟计数)和每信号间隔传输时间(或每信号间隔时钟计数)来计算每信号间隔比率。在本实施例中,多个信号间隔可以包括空闲间隔、包括地址传输间隔的命令传输间隔、数据传输(输入/输出)间隔、忙碌间隔等。然而,本发明不限于此。相反,取决于设计和需要,多个信号间隔可以包括更多或更少的间隔。忙碌间隔可以指示与命令相对应的操作在裸片中被执行的间隔。

每信号间隔比率计算器253可以通过将多个信号间隔的传输时间除以整个监测时间来计算每信号间隔比率。每信号间隔比率计算器253可以为I/O平衡器255的分类器257提供计算的每信号间隔比率。从每信号间隔比率计算器253提供给分类器257的每信号间隔比率可以是分别被耦合到通道CH1到CHn的裸片组DG1到DGn中的多个裸片D1到Dm中的所有或一些裸片中的每个裸片的每信号间隔比率。

I/O平衡器255的分类器257可以根据从I/O监测器251的每信号间隔比率计算器253提供的每信号间隔比率中的忙碌间隔比率,将多个裸片D1到Dm按升序或降序排列。I/O平衡器255可以在以升序或降序排列的多个裸片D1到Dm中,选择具有最长忙碌间隔的第一裸片和具有最短忙碌间隔的第二裸片,并为传输速率变化信号生成器256提供关于分别被耦合到所选择的第一裸片和第二裸片的PHY的信息。

传输速率变化信号生成器256可以根据从分类器257提供的信息生成传输速率变化信号,该信号包括关于传输速率要被改变的PHY的信息,并为PHY控制器243提供生成的传输速率变化信号。PHY控制器243可以根据从I/O平衡器255的传输速率变化信号生成器256提供的传输速率变化信号,改变对应于被耦合到第一裸片的通道的PHY和被耦合到第二裸片的通道的PHY的时钟频率。在本实施例中,传输速率变化信号可以指示用于改变数据传输(I/O)速率的信号。也就是说,PHY控制器243可以增加对应于第一裸片的PHY的时钟频率,以增加第一裸片的数据传输速率,并且可以减少对应于第二裸片的PHY的时钟频率以减少第二裸片的数据传输速率。因此第一裸片的操作性能和第二裸片的操作性能得以平衡。

在本实施例中,描述了多个芯片之中操作时间最慢的裸片(第一裸片)和操作时间最快的裸片(第二裸片)的数据间隔比率中的每个数据间隔比以率被调整以平衡操作性能。然而,本发明不特定限于此。相反,多个裸片的数据传输速率全部可以被调整,以平衡所有裸片的操作性能。例如,耦合到多个裸片的所有PHY的时钟频率中的每个频率都可以根据对应的裸片中的忙碌间隔比率而被调整,这使得平衡多个裸片的操作性能成为可能。

取决于制造阶段的晶圆特性,被包括在非易失性存储器设备100中的多个裸片D1到Dm可以具有不同的操作时间。此外,当存储器单元因使用时间的流逝而受损时,各裸片D1到Dm的操作时间的变化增加。用于控制非易失性存储器设备100的操作的控制器200不能实时检测相应裸片D1到Dm的这样的变化,并且将相同的操作条件应用于裸片D1到Dm中的所有裸片。因此,数据存储设备10的性能被调节为具有最低性能的裸片,即,在多个裸片D1到Dm中操作速度最低的裸片。结果,数据存储设备10的性能可能整体被降低。当数据存储设备10的性能被调节为操作速度最低的裸片时,这可以表明,由于在控制器200接收来自所有存储要被提供给主机的数据的裸片的数据后,数据存储设备10为主机提供数据,因此主机确定最后一次传输数据的裸片的性能是数据存储设备10的性能。

因此,在本实施例中,数据存储设备10可以通过监测在多个PHY与对应的裸片组之间传输的信号而获得相应裸片的每信号间隔比率,并基于所获得的每信号间隔比率,通过调节操作时间最慢的裸片和操作时间最快的裸片的数据传输(I/O)速率比率来平衡裸片的性能,从而整体提升数据传输设备10的性能。

图6是图示闪存转换层(FTL)的概念图。

FTL可以被存储在存储器230中。FTL可以是由处理器220驱动的软件。处理器220可以驱动FTL控制非易失性存储器设备100的独立操作,并为主机提供设备的兼容性。当FTL被驱动时,主机可以将数据存储设备10识别并用作通常的存储设备比如硬盘。FTL可以包括用于执行各种功能的模块。

FTL可以被存储在非易失性存储器设备100的系统区(未示出)。当数据存储设备10被启动时,FTL可以从非易失性存储器设备100的系统区被读取,并被存储在存储器230中。此外,包括在FTL中需要用于驱动各种模块的元数据可以被存储在存储器230中。

参考图6,FTL可以包括损耗均衡模块WLM、坏块管理模块BBM、I/O监测模块IOM、功率管理模块PMM等。然而,本发明不限于此。相反,FTL可以包括各种其他的功能模块。例如,FTL可以进一步包括读取模块、写入模块、杂项收集模块、地址映射等。包括在FTL中的功能模块可以由处理器220的控制执行。

I/O监测模块IOM可以控制图1中所示的I/O速率控制器250的操作。例如,I/O监测模块IOM可以为I/O速率控制器250提供计数单元和用于指示I/O监测器251开始监测的监测开始信号。I/O速率控制器250的I/O监测器251可以根据从I/O监测模块IOM提供的监测开始信号来开始监测在PHY与非易失性存储器设备100之间传输的信号。此外,I/O监测器251可以将在PHY与非易失性存储器设备100之间传输的监测信号分为多个信号间隔,并根据从I/O监测模块IOM提供的计数单元获得每信号间隔传输时间。

I/O监测模块IOM可以为I/O速率控制器250提供用于指示I/O监测器251结束监测的监测结束信号。I/O监测器251可以根据从I/O监测模块IOM提供的监测结束信号来结束监测在PHY与非易失性存储器设备100之间传输的信号,计算每信号间隔比率,然后将所计算的每信号间隔比率提供给I/O平衡器255。

I/O监测模块IOM可以为I/O速率控制器250提供重启信号。当从I/O监测模块IOM提供重启信号时,I/O监测器251可以重置直到对应的时间点为止已经获得的每信号间隔传输时间,并通过再次监测在PHY与非易失性存储器设备100之间传输的信号而从对应的时间点获得每信号间隔传输时间。

I/O监测模块IOM可以从I/O速率控制器250请求并接收每信号间隔传输时间。I/O监测模块IOM可以基于从I/O速率控制器250接收的每信号间隔传输时间,确定被包括在非易失性存储器设备100中的存储器块的老化状态。例如,I/O监测模块IOM可以确定忙碌间隔超过阈值的存储器块即为老化的存储器块,并为坏块管理模块BBM提供用于将对应的存储器块处理为坏块的信息。坏块管理模块BBM可以根据从I/O监测模块IOM提供的信息,将存储在对应的存储器块中的数据移动到另一个存储器块中,然后将对应的存储器块作为坏块注册并管理。

功率管理模块PMM可以通过比较当前在数据存储设备10中使用或消耗的功率的总数来检查备用功率,以设置功率预算。当执行下一步操作所需的功率数量大于备用功率时,功率管理模块PMM可以向I/O监测模块IOM提供数据传输速率减少请求信号,以减少当前功率消耗。

I/O监测模块IOM可以根据从功率管理模块PMM提供的数据传输速率减少请求信号,从I/O速率控制器250接收每信号间隔传输时间,并基于接收的每信号间隔传输时间,找到操作时间最快的芯片。此外,I/O监测模块IOM可以控制I/O速率控制器250以生成用于降低对应的裸片(即操作时间最快的裸片)与对应的PHY之间的数据传输速率的控制信号,并为PHY控制器243提供生成的控制信号。

PHY控制器243可以根据从I/O速率控制器250提供的控制信号,为耦合到操作时间最快的裸片的PHY提供用于降低时钟频率的控制信号。通过降低操作时间最快的裸片与对应的PHY之间的数据传输速率,数据传输所消耗的功率可以被减少来增加备用功率。图7是图示根据一个实施例的I/O监测设置寄存器的图。

图7所示的I/O监测设置寄存器可以被包括在存储器230中(参见图1),但是本实施例不特定限于此。例如,I/O监测设置寄存器可以包括开始字段、结束字段、重启字段和计数单元字段。然而,该配置只是一个实施例。通常,包括在I/O监测设置寄存器中的字段的数目和类型不限于任何特定的配置。

开始字段可以被设置为指示I/O监测是否开始的值。结束字段可以被设置为指示I/O监测是否结束的值。重启字段可以被设置为指示I/O监测是否重启的值。计数单元字段可以被设置为指示计数单元的值,即计数的时钟周期的数目。I/O监测设置寄存器的相应字段的值可以由I/O监测模块IOM(参见图6)设置。

例如,I/O监测模块IOM可以将I/O监测设置寄存器的开始字段与和计数单元字段分别设置为指示“设置”状态的值和指示时钟周期最小数目的值,并且因此为I/O速率控制器250提供监测开始信号和计数单元。此外,I/O监测模块IOM可以将I/O监测设置寄存器的结束字段设置为指示“设置”状态的值,并且因此为I/O速率控制器250提供监测结束信号。此外,I/O监测模块IOM可以将I/O监测设置寄存器的重启字段设置为指示“设置”状态的值,并且因此为I/O速率控制器250提供监测重启信号,用于结束当前正在执行的监测并从对应的时间点重启监测。

图8是图示根据一个实施例的每信号间隔计数和每信号间隔比率的图。通过示例,计数单元被设置为一个时钟周期。此外,以示例的方式描述在非易失性存储器设备100中包括的多个裸片中的特定裸片(监测目标裸片)上执行写入操作的情况。

在图8中,“i_sclk”可以表示只用于监测的时钟,该时钟被提供以监测在监测目标裸片与对应的PHY之间传输的信号。此外,“Ceb”、“CLE”、“ALE”、“Web”、“Reb”、“DQ”、“DQS”和“RBb”分别表示芯片使能信号、命令锁存使能信号、地址锁存使能信号、写入使能信号、读取使能信号、数据信号、数据选通信号和就绪/忙碌信号。

用于监测目标裸片的每信号间隔计数可以基于只用于监测的时钟而被执行。信号间隔可以包括空闲间隔IDLE、命令间隔CMD、数据间隔DIN/DOUT和忙碌间隔BUSY。命令间隔CMD可以包括开始命令、地址和确认命令被传输的间隔。各个间隔互相不重叠。

图8示出了从开始监测的时间点到结束监测的时间点的时钟周期的总数目为“17”。由于在对应于第一时钟周期clk1的时间段没有信号被传输,所以在空闲间隔IDLE中时钟周期的数目可以被计为“1”,并且在其他间隔中时钟周期的数目可以被计为“0”。由于开始命令ST CMD和地址ADDR0到ADDR2在对应于第二到第五时钟周期clk2到clk5的时间段被传输,所以在空闲间隔IDLE中时钟周期的数目可以被保留为“1”,在命令间隔CMD中的时钟周期的数目可以被计为“4”,并且在其他间隔(数据间隔和忙碌间隔)中时钟周期的数目可以被保留为“0”。

接着,由于在对应于第六时钟周期和第七时钟周期clk6和clk7的时间段没有信号被传输,所以在空闲间隔IDLE中时钟周期的数目可以被增加到“3”,在命令间隔CMD中时钟周期的数目可以被保持为“4”,并且在其他间隔(数据间隔和忙碌间隔)中时钟周期的数目可以被保持为“0”。

接着,当数据DATA0和DATA1在对应与第八周期和第九周期clk8和clk9的时间段被传输时,在数据间隔DIN中的周期的数目可以被计为“2”、在空闲间隔IDLE中的时钟周期的数目和在命令间隔CMD中的时钟周期的数目可以分别被保持为“3”和“4”,并且在其他忙碌间隔中的时钟周期的数目可以被保持为“0”。

接着,当确认命令CFM CMD在对应于第十时钟周期clk10的时间段被传输时,在命令间隔CMD中的时钟周期的数目可以被增加到“5”,在空闲间隔IDLE中的时钟周期的数目和在数据间隔DIN中的时钟周期的数目可以分别被保持为“3”和“2”,并且在忙碌间隔中的时钟周期的数目可以被保持为“0”。

接着,当对应于命令的操作在对应于第十一时钟周期到第十四时钟周期clk11到clk14的时间段在监测目标裸片中被执行时,在忙碌间隔BUSY中的时钟周期的数目可以被计为“4”,在空闲间隔IDLE中的时钟周期的数目、在命令间隔CMD中的时钟周期的数目以及在数据间隔DIN中的时钟周期的数目可以分别被保持为“3”、“5”和“2”。

对于从第十五时钟周期clk15(此时监测目标裸片从“就绪状态”变为“忙碌状态”,因为对应于命令的操作在监测目标裸片中被完成)到第十七时钟周期clk17(此时结束监测)的时间段,在空闲间隔IDLE中的时钟周期的数目可以被增加到“6”,并且在命令间隔CMD中的时钟周期的数目、在数据间隔DIN中的时钟周期的数目以及在忙碌间隔BUSY中的时钟周期的数目可以分别被保持为“5”、“2”和“4”。

因此,通过监测,为监测目标裸片所获得的空闲间隔时间、命令间隔时间、数据间隔时间以及忙碌间隔时间分别为“6”、“5”、“2”和“4”。图8图示了通过整个监测时间和所获得的每信号间隔时间而计算的每信号间隔比率。这些比率中的每个比率都参考时钟周期的总数,例如,在图8的实施例中为17。

如上所述,图8图示了针对一个裸片的监测操作的示例,并且可以通过以相同的方法在每个裸片上执行监测来获得每信号间隔比率。当针对每个芯片的每信号间隔比率被获得时,操作时间最慢的裸片和操作时间最快的裸片可以基于忙碌间隔BUSY的比率而被找到。

图9是图示根据一个实施例的数据存储设备的操作方法的流程图。尽管这样的操作方法是参考图9来描述的,但是图1到图8中的一个或多个图也可以被参考。

在步骤S910中,控制器200可以监测非易失性存储器设备100中的多个存储器芯片或裸片的信号传输状态。例如,多个存储器芯片或裸片的信号传输状态的监测可以通过控制器200的存储器接口240中的I/O速率控制器250而被执行。

I/O速率控制器250可以通过多个被耦合到相应存储器芯片的通道来监测存储器芯片的信号传输状态。例如,I/O速率控制器250可以通过窥探通过可操作地耦合到相应通道CH1到CHn的监测线260而在相应通道CH1到CHn上被传输的信号来监测信号传输状态。

在S920中,I/O速率控制器250可以基于所监测的相应存储器芯片的信号传输状态,计算每个存储器芯片的每信号间隔比率。例如,信号间隔可以包括空闲间隔、命令间隔、数据间隔和忙碌间隔,但本发明不特定限于那些间隔。命令间隔可以包括开始命令、地址和确认命令被传输的间隔。数据间隔可以包括数据被发射到存储器芯片的数据输入间隔和数据从存储器芯片被接收的数据输出间隔。其中对应于由存储器芯片接收的命令的操作被执行的忙碌间隔可以被称为操作间隔。

可以通过整个监测时间和每信号间隔时间来计算每个存储器芯片的每信号间隔比率。由于上文详细描述了该过程,因此此处省略该描述。

在步骤S930中,I/O速率控制器可以根据它们的忙碌间隔比率或操作间隔比率将多个存储器芯片排序。例如,I/O速率控制器250可以将多个存储器芯片按忙碌间隔比率的降序或升序排列。

在步骤S940中,I/O速率控制器250可以选择忙碌间隔比率或操作间隔比率相对较高的第一存储器芯片和忙碌间隔比率或操作间隔比率相对较低的第二存储器芯片,并调节所选的第一存储器芯片和第二存储器芯片中的每个芯片的数据间隔比率。忙碌间隔比率相对较高的第一存储器芯片可能是忙碌间隔比率最高的存储器芯片,但是本实施例不特定限于此。类似地,忙碌间隔比率相对较低的第二存储器芯片可能是忙碌间隔比率最低的存储器芯片,但是本实施例不特定限于此。

当忙碌间隔比率较高时,其可以指示操作时间较长。因此,忙碌间隔比率较高的第一存储器芯片可以是操作时间较慢的存储器芯片。此外,当忙碌间隔比率较低时,其可以指示操作时间较短。因此,忙碌间隔比率较低的第二存储器芯片可以是操作时间较快的存储器芯片。为了平衡第一存储器芯片和第二存储器芯片的性能,I/O速率控制器250可以提升第一存储器芯片的数据传输速率,并降低第二存储器芯片的数据传输速率。从而,第一存储器芯片的每信号间隔比率中的数据间隔比率可以被降低,并且第二存储器芯片的每信号间隔比率中的数据间隔比率可以被提升。

图9中所示的操作可以在数据存储设备10通电之后被自动执行,而不需要被配置为执行I/O速率控制的固件(即,I/O监视模块IOM)的干预。换言之,当数据存储设备10通电时,控制器200的I/O速率控制器250可以实时监测非易失性存储器设备100的相应存储芯片的信号传输状态,并调节操作时间较慢的存储器芯片和工作时间较快的存储器芯片的数据传输速率。

控制器200的I/O速率控制器250可以在I/O监测模块IOM的控制下操作。该过程将参考图10来描述。

图10是图示根据一个实施例的数据存储设备的操作方法的流程图。当参考图10描述这样的操作方法时,图1到图8中的一个或多个图也可以被参考。此外,当参照图10描述根据本实施例的数据存储设备的操作方法时,关于图9的已经描述的操作的详细描述在这里被省略。

在步骤S1010中,控制器200的处理器220可以执行I/O监测模块IOM。由处理器220执行的I/O监测模块IOM可以将I/O监测设置寄存器的开始字段设置为“设置”状态。因此,I/O速率控制器250可以接收监测开始信号。I/O速率控制器250可以接收具有监测开始信号的计数单元。

在步骤S1020中,I/O速率控制器250可以根据监测开始信号监测相应存储器芯片的信号传输状态。

在步骤S1030中,I/O速率控制器250可以确定是否从I/O监测模块IOM接收到监测重启信号。当监测重启信号被接收到时,该过程会转到步骤S1040。当监测重启信号未被接收到时,该过程会转到步骤S1050。

在步骤S1040中,I/O速率控制器250可以重置相应存储器芯片的信号传输状态,这些存储器芯片一直被监测,直到监测重启信号被接收到。接着,该过程会返回到步骤S1020以从对应的时间点监测相应存储器芯片的信号传输状态。

在步骤S1050中,I/O速率控制器250可以确定是否从I/O监测模块IOM接收到监测结束信号。当监测结束信号被接收到时,该过程会转到步骤S1060。当监测结束信号未被接收到时,该过程会返回步骤S1020。

在步骤S1060中,I/O速率控制器250可以基于被监测的相应存储器芯片的信号传输状态,计算每个存储器芯片的每信号间隔比率。

在步骤S1070中,I/O速率控制器250可以根据多个存储器芯片的忙碌间隔比率或其操作间隔比率,对多个存储器芯片进行排序。

在步骤S1080中,I/O速率控制器250可以选择忙碌间隔比率或操作间隔比率相对较高的第一存储器芯片和忙碌间隔比率或操作间隔比率相对较低的第二存储器芯片,并调节所选的第一存储器芯片和第二存储器芯片中的每个芯片的数据间隔比率。

根据实施例,由于具有不同操作时间的裸片的数据传输速率可以被调节,因此裸片的性能可以被平衡以提升数据存储设备的性能。

此外,操作时间较快的裸片的数据传输速率可以被降低以确保备用功率,这使得防止由于功率短缺而导致的性能下降成为可能。

图11图示了根据一个实施例的包括固态硬盘(SSD)的数据处理系统。参考图11,数据处理系统2000可以包括主机装置2100和SSD 2200。

SSD 2200可以包括控制器2210、缓冲器存储器设备2220、非易失性存储器设备2231到223n、电源2240、信号连接器2250以及电源连接器2260。

控制器2210可以控制SSD 2220的整体操作。

缓冲器存储器2220可以临时存储要被存储到非易失性存储器设备2231到223n的数据。缓冲器存储器2220可以临时存储从非易失性存储器设备2231到223n读取的数据。被临时存储在缓冲器存储器2220中的数据可以根据控制器2210的控制而被传输到主机装置2100或非易失性存储器设备2231到223n。

非易失性存储器设备2231到223n可以被用作SSD 2200的存储介质。非易失性存储器设备2231到223n可以通过多个通道CH1到CHn而被耦合到控制器2210。一个或多个非易失性存储器设备可以被耦合到一个通道。被耦合到相同通道的非易失性存储器设备可以被耦合到相同信号总线和相同数据总线。

电源2240可以通过电源连接器2260为SSD 2200的内部提供电源PWR输入。电源2240可以包括备用电源2241。备用电源2241可以供电,使得即使当突然发生断电时,SSD2200也会被正确地终止。备用电源2241可以包括能够为电源PWR充电的大容量电容器。

控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。信号连接器2250可以根据主机装置2100和SSD 2200之间的连接方法而被配置为各种类型的连接器中的任何一种连接器。

图12图示了图11的控制器。参考图12,控制器2210可以包括主机接口2211、控制组件2212、随机存取存储器(RAM)2213、纠错码(ECC)组件2214和存储器接口2215。

主机接口2211可以根据主机装置2100的协议执行主机装置2100和SSD 2200之间的连接。例如,主机接口2211可以通过以下协议中的任何一个协议与主机装置2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串行连接SCSI(SAS)协议、外设部件互连标准(PCI)协议、PCI Express(PCI-e)协议和通用闪存(UFS)协议。主机接口2211可以执行磁盘仿真功能,使得主机装置2100将SSD 2200识别为通用数据存储装置,例如硬盘驱动器HDD。

控制组件2212可以分析并处理来自主机装置2100的信号SGL输入。控制组件2212可以根据用于驱动SSD 2200的固件和/软件来控制内部功能模块的操作。RAM 2213可以被用作驱动固件或软件的工作存储器。

ECC组件2214可以为要被传输到非易失性存储器设备2231到223n的数据生成奇偶校验数据。生成的奇偶校验数据可以与数据一起被存储在非易失性存储器设备2231到223n中。ECC组件2214可以基于奇偶校验数据检测从非易失性存储器设备2231到223n读取的数据的错误。当检测到的错误在可校正的范围内时,ECC组件2214可以校正检测到的错误。

存储器接口2215可以根据控制组件2212的控制提供控制信号,诸如到非易失性存储器设备2231到223n的命令和地址。存储器接口2215可以根据控制组件2212的控制与非易失性存储器设备2231到223n交换数据。例如,存储器接口2215可以为非易失性存储器设备2231到223n提供存储在缓冲器存储器设备2220中的数据,或者为缓冲器存储器设备2220提供从非易失性存储器设备2231到223n读取的数据。

图13图示了根据一个实施例的包括数据存储装置的数据处理系统。参考图13,数据处理系统3000可以包括主机装置3100和数据存储装置3200。

主机装置3100可以被配置为板状,诸如印刷电路板(PCB)。虽然未在图13中示出,但是主机装置3100可以包括被配置为执行主机装置3100的功能的内部功能块。

主机装置3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储装置3200可以被安装在连接端子3110上。

数据存储装置3200可以被配置为板状,诸如PCB。数据存储装置3200可以是指存储器模块或存储器卡。数据存储装置3200可以包括控制器3210、缓冲器存储器设备3220、非易失性存储器设备3231到3232、功率管理集成电路(PMIC)3240和连接端子3250。

控制器3210可以控制数据存储装置3200的整体操作。控制器3210可以被配置为具有与图12中所示的控制器2210相同的配置。

缓冲器存储器设备3220可以临时存储要被存储在非易失性存储器设备3231到3232中的数据。缓冲器存储器设备3220可以临时存储从非易失性存储器设备3231和3232中读取的数据。临时存储在缓冲器存储器设备3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器设备3231和3232。

非易失性存储器设备3231和3232可以被用作数据存储装置3200的存储介质。

PMIC 3240可以通过到数据存储装置3200内部的连接端子3250提供电源输入。PMIC 3240可以根据控制器3210的控制来管理数据存储装置3200的功率。

连接端子3250可以被耦合到主机装置3100的连接端子3110。信号(诸如命令、地址和数据和功率)可以通过连接端子3250在主机装置3100与数据存储装置3200之间被传输。连接端子3250可以根据主机装置3100与数据存储装置3200之间的连接方法而被配置为各种形式中的任何一种形示。

图14图示了根据一个实施例的包括数据存储装置的数据处理系统。参考图14,数据处理系统4000可以包括主机装置4100和数据存储装置4200。

主机装置4100可以被配置为板状,诸如PCB。虽然未在图14中示出,但是主机装置4100可以包括被配置为执行主机装置4100的功能的内部功能块。

数据存储装置4200可以被配置为表面安装封装形式。数据存储装置4200可以通过焊锡球4250被安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲器存储器设备4220和非易失性存储器设备4230。

控制器4210可以控制数据存储装置4200的整体操作。控制器4210可以被配置为与图12中所示的控制器2210相同的控制器。

缓冲器存储器设备4220可以临时存储要被存储在非易失性存储器设备4230中的数据。缓冲器存储器设备4220可以临时存储从非易失性存储器设备4230读取的数据。临时存储在缓冲区存储器设备4220中的数据可以通过控制器4210的控制而被传输到主机装置4100或非易失性存储设备4230。

非易失性存储器设备4230可以被用作数据存储装置4200的存储介质。

图15图示了根据一个实施例的包括数据存储装置的网络系统5000。参考图15,网络系统5000可以包括服务器系统5300和多个通过网络5500耦合的客户端系统5410到5430。

服务器系统5300可以响应多个客户端系统5410到5430的请求来提供数据。例如,服务器系统5300可以存储从多个客户端系统5410到5430提供的数据。在另一个示例中,服务器系统5300可以为多个客户端系统5410到5430提供数据。

服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以被配置为图1的数据存储设备10、图12的SSD 2200、图13的数据存储装置3200或图14的数据存储装置4200。

图16图示了根据一个实施例的被包括在数据存储装置中的非易失性存储器设备。参考图16,非易失性存储器设备100可以包括存储器单元阵列110、行译码器120、列译码器140、数据读取/写入块130,电压发生器150和控制逻辑160。

存储器单元阵列110可以包括被布置在字线WL1到WLm和位线BL1到BLn相互交叉的区域中的存储器单元MC。

行译码器120可以通过字线WL1到WLm被耦合到存储器单元阵列110。行译码器120可以通过控制逻辑160的控制进行操作。行译码器120解码从外部装置(未示出)提供的地址。行译码器120可以基于解码结果选择并驱动字线WL1到WLm。例如,行译码器120可以为字线WL1到WLm提供从电压发生器150提供的字线电压。

数据读取/写入块130可以通过位线BL1到BLn被耦合到存储器单元阵列110。数据读取/写入块130可以包括对应于位线的读取/写入电路RW1到RWn。数据读取/写入块130可以根据控制逻辑160的控制操作。数据读取/写入块130可以根据操作模式而操作为写入驱动器或感测放大器。例如,数据读取/写入块130可以操作为写入驱动器,该写入驱动器被配置为存储从写入操作中的存储器单元阵列110中的外部装置提供的数据。在另一个示例中,数据读取/写入块130可以操作为感测放大器,该感测放大器被配置为从读取操作中的存储器单元阵列110读取数据。

列译码器140可以通过控制逻辑160的控制进行操作。列译码器140可以解码从外部装置(未示出)提供的地址。列译码器140可以基于解码结果将对应于位线BL1到BLn的数据读取/写入块130的读取/写入电路RW1到RWn与数据输入/输出线(或数据I/O缓冲器)耦合。

电压生成器150可以生成用于非易失性存储器设备100的内部操作的电压。通过电压生成器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,程序操作中生成的程序电压可以被施加到要执行程序操作的存储器单元的字线。在另一个示例中,在擦除操作中生成的擦除电压可以被施加到要执行擦除操作的存储器单元的阱区域。在另一个示例中,在读取操作中生成的读取电压可以被施加到要执行读取操作的存储器单元的字线。

控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器设备100的整体操作。例如,控制逻辑160可以控制非易失性存储器设备100的操作,诸如非易失性存储器设备100的读取操作、写入操作、擦除操作。

尽管已经在上文描述并参考附图示出了各种实施例,但是本领域的技术人员应当理解所描述的实施例仅仅是示例。因此,本发明不限于上述实施例。相反,本发明包括在本权利要求范围内的任何公开实施例的所有变更和修改。

相关技术
  • 存储器接口、数据存储设备及其操作方法
  • 包括交换存储器的数据存储设备及其操作方法
技术分类

06120112160432