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

存储器控制器及操作存储器控制器的方法

文献发布时间:2024-04-18 19:58:26


存储器控制器及操作存储器控制器的方法

相关申请的交叉引用

本申请要求于2022年5月31日提交的申请号为10-2022-0066799的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。

技术领域

本公开涉及一种电子装置,并且更具体地,涉及一种存储器控制器及操作存储器控制器的方法。

背景技术

存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可以包括存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置划分为易失性存储器装置和非易失性存储器装置。

易失性存储器装置是仅当供电时存储数据而当断电时丢失所存储的数据的装置。易失性存储器装置包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。

非易失性存储器装置是即使断电也不会丢失数据的装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、闪速存储器等。

存储器控制器可以监测从主机接收的请求的时延,并且可以在感测到时延异常时延迟对主机的请求的响应。存储器控制器可以通过延迟响应时间直到时延的异常恢复来响应主机,逐渐提高服务质量(QoS)。

发明内容

本公开的实施例提供一种通过延迟对主机的请求的响应来改善响应时延的存储器控制器及操作该存储器控制器的方法。

根据本公开的实施例,一种存储器控制器可以包括时延监控器和操作控制器。时延监控器可以在多个时段中的每个时段期间对表示来自主机的请求的时延之中的超过参考值的过度时延的数量的过度时延计数值进行计数,计算作为多个时段的过度时延计数值之间的差值的间隙,并且生成包括过度时延计数值和间隙的时延信息。操作控制器可以基于时延信息来确定多个时段之中的至少两个目标时段之间的每个间隙是否超过阈值,并且根据确定结果延迟对请求的响应。

根据本公开的实施例,一种操作存储器控制器的方法可以包括:在多个时段中的每个时段期间对表示主机的请求的时延之中的超过参考值的过度时延的数量的过度时延计数值进行计数,计算作为多个时段的过度时延计数值之间的差值的间隙,生成包括过度时延计数值和间隙的时延信息,基于时延信息来确定与多个时段之中的至少两个目标时段相对应的每个间隙是否超过阈值,并且根据确定结果延迟对请求的响应。

根据本公开的实施例,一种装置的操作方法可以包括:获得分别针对连续时间段的一系列过度时延计数之间的间隙,并且在两个或多个间隙中的每一个大于阈值时延迟响应。

根据本技术,提供一种通过延迟对主机的请求的响应来改善响应时延的存储器控制器及其操作方法。

附图说明

图1是示出根据本公开的实施例的存储装置的示图。

图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。

图3是示出根据本公开的实施例的存储器控制器的配置和操作的示图。

图4是示出根据本公开的实施例的在多个时段期间从主机接收的请求的时延的示图。

图5是示出根据本公开的实施例的图4中的过度时延计数值和间隙的示图。

图6是示出根据本公开的实施例的在对主机的响应未延迟时的时延信息的示图。

图7是示出根据本公开的实施例的在对主机的响应被延迟时的时延信息的示图。

图8是示出根据本公开的实施例的响应时间的示图。

图9是示出根据本公开的实施例的存储器控制器的操作的流程图。

图10是示出根据本公开的实施例的存储器控制器的操作的流程图。

图11是示出根据本公开的实施例的存储器控制器的操作的流程图。

图12是示出根据本公开的实施例的存储器控制器的操作的流程图。

图13是示出根据本公开的实施例的存储器控制器的操作的流程图。

图14是示出根据本公开的实施例的存储器控制器的操作的流程图。

图15是示出根据本公开的实施例的图1的存储器控制器的示图。

图16是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。

图17是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。

图18是示出应用了根据本公开的实施例的存储装置的用户系统的框图。

具体实施方式

示出根据本说明书中公开的构思的实施例的特定结构或功能描述仅为了描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式实施并且不应被解释为限于本说明书中描述的实施例。

图1是示出根据本公开的实施例的存储装置的示图。

参照图1,存储装置50可以包括存储器装置100和控制存储器装置的操作的存储器控制器200。存储装置50是在诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统的主机300的控制下存储数据的装置。

存储装置50可以根据作为与主机300的通信方法的主机接口而被制造为各种类型的存储装置中的一种。例如,存储装置50可以被配置为诸如以下的各种类型的存储装置中的一种:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和/或微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。

存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)或者晶圆级堆叠封装(WSP)。

存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括存储数据的多个存储器单元。

存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。

存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可以包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或者读取存储在存储器装置100中的数据的单位。

存储块可以是用于擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了方便描述,存储器装置100是NAND闪速存储器。

存储器装置100可以从存储器控制器200接收命令和地址并且访问存储器单元阵列中由该地址选择的区域。也就是说,存储器装置100对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除由地址选择的区域中存储的数据。

存储器控制器200控制存储装置50的整体操作。

当电力被施加到存储装置50时,存储器控制器200可以运行固件(FW)。当存储器装置100为闪速存储器装置时,存储器控制器200可以操作诸如闪存转换层(FTL)的固件以控制主机300与存储器装置100之间的通信。

在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA)并且将LBA转换为物理块地址(PBA),物理块地址(PBA)指示待存储存储器装置100中包括的数据的存储器单元的地址。

存储器控制器200可以响应于主机300的请求,控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供写入命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和物理块地址。

在实施例中,存储器控制器200可以生成命令、地址和数据,并且将命令、地址和数据传输到存储器装置100而不考虑来自主机300的请求。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据以执行诸如针对损耗均衡的编程操作和针对垃圾收集的编程操作的后台操作。

在实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置100以提高操作性能。交错方法可以是用于使至少两个存储器装置100的操作时段重叠的操作方法。

存储器控制器200可以控制通过至少一个或多个通道连接的多个存储器装置100。每个存储器装置100可以包括至少一个或多个平面。每个平面可以包括多个存储块。

主机300可以使用诸如以下的各种通信标准或接口中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。

图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。

参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。

存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到地址解码器121。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中连接到同一字线的存储器单元可以被定义为一个物理页面。也就是说,存储器单元阵列110由多个物理页面配置。根据本公开的实施例,存储器单元阵列110中包括的多个存储块BLK1至BLKz中的每一个可以包括多个虚拟单元。虚拟单元中的至少一个可以串联连接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。

存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的SLC、存储两个数据位的MLC、存储三个数据位的TLC或存储四个数据位的QLC。

外围电路120可以包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。

外围电路120驱动存储器单元阵列110。例如,外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。

地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施例,字线可以包括正常字线和虚拟字线。根据本公开的实施例,行线RL可以进一步包括管道选择线。

地址解码器121可以响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收地址ADDR。

地址解码器121可以对接收到的地址ADDR的块地址进行解码。地址解码器121根据经解码的块地址在存储块BLK1至BLKz之中选择至少一个存储块。地址解码器121可以对接收到的地址ADDR的行地址进行解码。地址解码器121可以根据经解码的行地址在选择的存储块的字线之中选择至少一条字线。地址解码器121可以将从电压生成器122接收的操作电压Vop施加到选择的字线。

在编程操作期间,地址解码器121可以将编程电压施加到选择的字线并且将电平小于编程电压的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可以将验证电压施加到选择的字线并且将电平高于验证电压的电平的验证通过电压施加到未选择的字线。

在读取操作期间,地址解码器121可以将读取电压施加到选择的字线并且将电平高于读取电压的电平的读取通过电压施加到未选择的字线。

根据本公开的实施例,以存储块为单位执行存储器装置100的擦除操作。在擦除操作期间输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以根据经解码的块地址对块地址进行解码并且选择至少一个存储块。在擦除操作期间,地址解码器121可以将接地电压施加到选择的存储块的字线。

根据本公开的实施例,地址解码器121可以被配置为对传送的地址ADDR的列地址进行解码。经解码的列地址可以被传送到读取和写入电路123。作为示例,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。

电压生成器122可以通过使用供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器122响应于控制逻辑130的控制操作。

在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压用作存储器装置100的操作电压。

在实施例中,电压生成器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压生成器122可以被配置为生成存储器装置100中所需的各种电压。例如,电压生成器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。

为了生成具有不同电压电平的多个操作电压Vop,电压生成器122可以包括接收内部电压的多个泵浦电容器,并且响应于控制逻辑130而选择性地激活多个泵浦电容器以生成多个操作电压Vop。生成的多个操作电压Vop可以通过地址解码器121被供应到存储器单元阵列110。

读取和写入电路123包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm分别通过第一位线BL1至第m位线BLm连接到存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm响应于控制逻辑130的控制而操作。

第一页面缓冲器PB1至第m页面缓冲器PBm与数据输入/输出电路124通信数据DATA。在编程时,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL来接收待存储的数据DATA。

在编程操作期间,当编程电压被施加到选择的字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过位线BL1至BLm将待存储的数据DATA,即通过数据输入/输出电路124接收的数据DATA,传送到选择的存储器单元。根据传送的数据DATA对选择的页面的存储器单元进行编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。可以保持连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压。在编程验证操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过位线BL1至BLm从选择的存储器单元读取存储器单元中存储的数据DATA。

在读取操作期间,读取和写入电路123可以通过位线BL1至BLm从选择的页面的存储器单元读取数据DATA,并且将读取的数据DATA存储在第一页面缓冲器PB1至第m页面缓冲器PBm中。

在擦除操作期间,读取和写入电路123可以使位线BL1至BLm浮置。在实施例中,读取和写入电路123可以包括列选择电路。

数据输入/输出电路124通过数据线DL来连接到第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。

数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123中包括的第一页面缓冲器PB1至第m页面缓冲器PBm传送的数据DATA输出到外部控制器。

在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的允许位VRYBIT的信号而生成参考电流,并且可以将从读取和写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较来将通过信号或失败信号输出到控制逻辑130。

控制逻辑130可以连接到地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以被配置为控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置传送的命令CMD而操作。

控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而生成操作信号OPSIG、地址ADDR、读取和写入电路控制信号PBSIGNALS以及允许位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压生成器122,将地址ADDR输出到地址解码器121,将读取和写入电路控制信号PBSIGNALS输出到读取和写入电路123,并且将允许位VRYBIT输出到感测电路125。另外,控制逻辑130可以响应于感测电路125输出的通过信号PASS或失败信号FAIL来确定验证操作是通过还是失败。

图3是示出根据本公开的实施例的存储器控制器的配置和操作的示图。

参照图3,存储器控制器200可以包括时延监控组件210和操作控制器220。时延监控组件210可以称为时延监控器210。在实施例中,存储器控制器200可以进一步包括环境管理器230。在实施例中,存储器控制器200可以进一步包括状态管理器240。

时延监控器210可以监控从主机300接收的请求的时延。时延监控器210可以在多个时段期间将监控到的时延之中的超过参考值的过度时延的数量作为过度时延计数值进行计数。每个时段的间隔可以相同。时延监控器210可以计算作为各个时段的过度时延计数值之间的差值的间隙。时延监控器210可以生成包括过度时延计数值和间隙的时延信息。

当存储器控制器200开启时,时延监控器210可以监控从主机300接收的请求的时延并生成时延信息。

在实施例中,时延监控器210可以响应于从主机300接收到的启用命令而激活,监控时延并生成时延信息。启用命令可以包括设置特征命令。在实施例中,时延监控器210可以基于环境信息确定存储器装置100的操作条件是否超出正常范围。当存储器装置100的操作条件超出正常范围时,可以激活时延监控器210。时延监控器210可以监控时延并生成时延信息。在实施例中,时延监控器210可以基于状态信息确定存储器装置100是否处于劣化状态。当存储器装置100处于劣化状态时,可以激活时延监控器210。时延监控器210可以监控时延并生成时延信息。

操作控制器220可以基于时延信息确定与多个时段之中的至少两个目标时段相对应的每个间隙是否超过阈值。操作控制器220可以根据确定结果延迟对主机300的请求的响应。当与至少两个目标时段相对应的间隙中的每一个超过阈值时,操作控制器220可以延迟响应。目标时段可以是连续时段。在另一示例中,目标时段可以彼此不连续。

当与目标时段相对应的间隙中的至少一个等于或小于阈值时,操作控制器220可以将对主机300的请求的响应时间设置为默认值。当与目标时段相对应的间隙中的每一个超过阈值时,操作控制器220可以基于默认值和目标时段的过度时延计数值来设置响应时间。

具体地,操作控制器220可以计算第一值,第一值通过从目标时段之中的最近时段的过度时延计数值减去允许的过度时延计数值而获得。操作控制器220可以将响应时间设置为通过将默认值与通过将第一值乘以预设加权值而获得的第二值相加而得到的值。在另一个实施例中,第一值可以是从目标时段的过度时延计数值之中的最小值、最大值、中值、代表值或平均值减去允许的过度时延计数值而获得的值。

当正在执行对存储器装置100的垃圾收集时,操作控制器220可以根据与多个时段之中的至少两个目标时段相对应的间隙中的每一个是否超过阈值来延迟对主机300的请求的响应。

环境管理器230可以生成指示存储器装置100的操作条件是否超出正常范围的环境信息。操作条件可以包括存储器装置100的温度、湿度、电压和电流中的至少一种。环境管理器230可以包括用于监控操作条件的感测电路(未示出)。

状态管理器240可以存储存储器装置100中包括的多个存储块中的每一个的擦除和写入计数值。状态管理器240可以确定每个存储块的擦除和写入计数值之间的差值是否等于或大于设定值。当存储块的擦除和写入计数值之间的差值等于或大于设定值时,状态管理器240可以确定存储器装置100处于劣化状态。状态管理器240可以生成指示存储器装置100是否处于劣化状态的劣化信息。

图4是示出在多个时段期间从主机接收的请求的时延的示图。

参照图4,可以在多个时段期间监控对从主机接收的请求的响应的时延。多个时段可以包括第一时段PD1至第四时段PD4。时段数量和在每个时段监控到的时延数量不限于本实施例。在每个时段中接收的时延之中,超过参考值REF的时延可以是过度时延。参照图5描述了过度时延计数值和间隙。

图5是示出根据本公开的实施例的图4中的过度时延计数值和间隙的示图。

参照图4和图5,在第一时段PD1期间监控到的时延的数量可以是5。超过参考值的过度时延的数量可以是3,即第一时段PD1的过度时延计数值。在第二时段PD2期间监控到的时延的数量可以为3,过度时延的数量可以为1,即第二时段PD2的过度时延计数值。在第三时段PD3期间监控到的时延的数量可以为4,过度时延的数量可以为4,即第三时段PD3的过度时延计数值。在第四时段PD4期间监控到的时延的数量可以为6,过度时延的数量可以为6,即第四时段PD4的过度时延计数值。

由于第一时段PD1是起始时段,因此可以不计算间隙。第一时段PD1和第二时段PD2的过度时延计数值之间的间隙可以是通过1减3而获得的-2。该间隙可以是上一时段和当前时段的过度时延计数值之间的差值。第二时段PD2和第三时段PD3的过度时延计数值之间的间隙可以是通过4减1而获得的3。第三时段PD3和第四时段PD4的过度时延计数值之间的间隙可以是通过6减4而获得的2。

通过该间隙,可以确定与上一时段相比,当前时段的过度时延的数量是增加还是减少。

图6是示出根据本公开的实施例的在对主机的响应未延迟时的时延信息的示图。

参照图6,在第一时段PD1中,监控到的时延的数量可以为15,过度时延计数值可以为10。在第二时段PD2中,监控到的时延的数量可以是15,过度时延计数值可以是14,第一时段PD1和第二时段PD2的过度时延计数值之间的间隙可以是4。在第三时段PD3中,监控到的时延的数量可以为15,过度时延计数值可以为14,第二时段PD2和第三时段PD3的过度时延计数值之间的间隙可以为0。在第四时段PD4中,监控到的时延的数量可以为20,过度时延计数值可以为16,第三时段PD3和第四时段PD4的过度时延计数值之间的间隙可以为2。

在图6中,间隙的阈值TH_G可以为3。间隙的阈值TH_G不限于本实施例。第一时段PD1至第四时段PD4之中的间隙超过阈值的时段可以是第二时段PD2。

然而,由于间隙超过阈值的时段的数量为一,因此不存在间隙超过阈值的至少两个连续时段,从而在图6中存储器控制器不会延迟对主机的响应。

图7是示出根据本公开的实施例的在对主机的响应被延迟时的时延信息的示图。

参照图7,在第一时段PD1中,监控到的时延的数量可以为15,过度时延计数值可以为10。在第二时段PD2中,监控到的时延的数量可以是10,过度时延计数值可以是10,第一时段PD1和第二时段PD2的过度时延计数值之间的间隙可以是0。在第三时段PD3中,监控到的时延的数量可以为15,过度时延计数值可以为14,第二时段PD2和第三时段PD3的过度时延计数值之间的间隙可以为4。在第四时段PD4中,监控到的时延的数量可以为20,过度时延计数值可以为19,第三时段PD3和第四时段PD4的过度时延计数值之间的间隙可以为5。

在图7中,第一时段PD1至第四时段PD4之中的每个间隙超过阈值的时段可以是第三时段PD3和第四时段PD4。由于存在每个间隙超过阈值的至少两个连续目标时段,因此在图7中存储器控制器可以延迟对主机的响应。

图8是示出根据本公开的实施例的响应时间的示图。

参照图8,基本上可以将对主机的请求的响应时间设置为默认值。

如参照图7所描述的,当对主机的响应被延迟时,可以基于默认值和目标时段的过度时延计数值来设置响应时间Response Time*。

例如,当响应被延迟时,可以将响应时间设置为通过将默认值与通过将第一值乘以预设加权值而获得的第二值相加而得到的值。此时,第一值可以为通过将从目标时段之中的最近时段的过度时延计数值减去允许的过度时延计数值而获得的值。在另一个实施例中,第一值可以为从目标时段的过度时延计数值之中的最小值、最大值、中值、代表值或平均值减去允许的过度时延计数值而得到的值。

在图8中,默认值可以是10,加权值可以是0.5,并且允许的过度时延计数值可以设置为15。加权值和允许的过度时延计数值不限于本实施例。参照图7所示的时延信息,作为最近时段的第四时段PD4的过度时延计数值可以为19。

因此,当存储器控制器不延迟对主机的响应时,响应时间可以是为10,而当存储器控制器延迟对主机的响应时,响应时间可以设置为15。

图9是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图9,在操作S901中,存储器控制器可以在多个时段期间对从主机接收的请求的时延之中的过度时延的数量进行计数。

在操作S903中,存储器控制器可以计算间隙,该间隙为多个时段的过度时延计数值的差值。

在操作S905中,存储器控制器可以根据与多个时段之中的至少两个目标时段相对应的间隙中的每一个是否超过阈值来延迟对主机的请求的响应。

图10是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图10,在操作S1001中,存储器控制器可以从主机接收启用命令。启用命令可以是用于激活时延监控器的命令。启用命令可以包括设置特征命令。

在操作S1003中,当接收到启用命令时,存储器控制器可以生成包括过度时延计数值和间隙的时延信息。

图11是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图11,在操作S1101中,存储器控制器可以感测存储器装置的操作条件是否超出正常范围并且是否异常。操作条件可以包括温度、湿度、电压和电流中的至少一种。

在操作S1103中,当感测到操作条件的异常时,存储器控制器可以生成包括过度时延计数值和间隙的时延信息。

图12是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图12,在操作S1201中,存储器控制器可以感测存储器装置的劣化状态。例如,当存储器装置中包括的多个存储块中的每一个的擦除和写入计数值之间的差值等于或大于设定值时,存储器控制器可以确定存储器装置处于劣化状态。

在操作S1203中,当感测到存储器装置的劣化状态时,存储器控制器可以生成包括过度时延计数值和间隙的时延信息。

图13是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图13,在操作S1301中,存储器控制器可以确定与多个时段之中的至少两个目标时段相对应的每个间隙是否超过阈值。作为确定的结果,当与至少两个目标时段相对应的每个间隙超过阈值时,操作进行到操作S1303。当与至少两个目标时段相对应的任何间隙等于或小于阈值时,操作进行到操作S1305。目标时段可以是连续时段。在另一个实施例中,目标时段中的一些可以是不连续的。

在操作S1303中,存储器控制器可以将对主机的请求的响应时间设置为大于默认值。

在操作S1305中,存储器控制器可以将对主机的请求的响应时间设置为默认值。

图14是示出根据本公开的实施例的存储器控制器的操作的流程图。

参照图14,在操作S1401中,存储器控制器可以确定是否正在执行对存储器装置的垃圾收集。作为确定的结果,当正在执行垃圾收集时,操作进行到操作S1403。当没有执行垃圾收集时,操作结束。

可以类似于图13的操作S1301至S1305来描述操作S1403至S1407。

图15是示出根据本公开的实施例的图1的存储器控制器的示图。

参照图15,存储器控制器1000连接到主机和存储器装置。存储器控制器1000可以响应于来自主机的请求访问存储器装置。例如,存储器控制器1000可以控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以驱动用于控制存储器装置的固件。

存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正电路(ECC)1030、主机接口1040、缓冲器控制器1050、存储器接口1060以及总线1070。

总线1070可以被配置为提供存储器控制器1000的组件之间的通道。

处理器1010可以控制存储器控制器1000的全部操作并且可以执行逻辑运算。处理器1010可以通过主机接口1040与外部主机通信并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以将存储器缓冲器1020用作工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。

处理器1010可以执行FTL的功能。处理器1010可以通过FTL将主机提供的LBA转换为PBA。FTL可以接收LBA,并且使用映射表来将LBA转换为PBA。根据映射单位,闪存转换层的地址映射方法可以包括各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。

处理器1010可以使从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来使从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置110并且被编程到存储器单元阵列。

处理器1010可以在读取操作期间使从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子使从存储器装置接收的数据去随机化。经去随机化的数据可以被输出到主机。

在实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。

存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。

ECC 1030可以执行错误校正。ECC 1030可以基于待通过存储器接口1060而写入到存储器装置的数据来执行错误校正编码(ECC编码)。可以通过存储器接口1060将经错误校正编码的数据传送到存储器装置。ECC 1030可以对通过存储器接口1060从存储器装置接收的数据执行错误校正解码(ECC解码)。例如,ECC 1030可以包括在存储器接口1060中作为存储器接口1060的组件。

主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以被配置为使用诸如以下的各种通信标准或接口中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(高速PCI)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。

缓冲器控制器1050可以在处理器1010的控制下控制存储器缓冲器1020。

存储器接口1060可以在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。

例如,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。

例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。再例如,处理器1010可以通过存储器接口1060从存储器装置加载代码。

例如,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000内传输数据,而控制总线可以被配置为在存储器控制器1000内传输诸如命令或地址的控制信息。数据总线和控制总线可以相互分开,并且可以互不干扰或互不影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、ECC 1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。

图16是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。

参照图16,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。

存储器控制器2100连接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以在存储器装置2200与主机之间提供接口。存储器控制器2100可以驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。

例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC的组件。

存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)通信。例如,存储器控制器2100可以通过诸如以下的各种通信标准或接口中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪速存储(UFS)、Wi-Fi、蓝牙以及NVMe。例如,连接器2300可以由上述各种通信标准或接口中的至少一种来定义。

例如,存储器装置2200可以由诸如以下的各种非易失性存储器元件配置:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。

存储器控制器2100和存储器装置2200可以集成到一个半导体装置中来配置存储卡。例如,存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会,PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。

图17是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。

参照图17,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号并且通过电源连接器3002接收电力。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。

根据本公开的实施例,SSD控制器3210可以执行参照图1描述的存储器控制器200的功能。

SSD控制器3210可以响应于从主机3100接收的信号来控制多个闪速存储器3221至322n。例如,信号可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号可以是由诸如以下通信标准或接口中的至少一种定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。

辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以从主机3100接收电力并且可以用该电力充电。当来自主机3100的电力供应不平稳时,辅助电源3230可以向SSD 3200提供电力。例如,辅助电源3230可以位于SSD 3200中或者可以位于SSD3200外部。例如,辅助电源3230可以位于主板上,并且可以向SSD 3200供应辅助电力。

缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。

图18是示出应用了根据本公开的实施例的存储装置的用户系统的框图。

参照图18,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。

应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。

存储器模块4200作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器来操作。

网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、WiMAX、WLAN、UWB、蓝牙和Wi-Fi的无线通信。例如,网络模块4300可以包括在应用处理器4100中。

存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据发送到应用处理器4100。例如,存储模块4400可以被实施为诸如以下的非易失性半导体存储器元件:相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪速存储器、NOR闪速存储器和三维NAND闪速存储器。例如,存储模块4400可以被设置为诸如存储卡的可移动存储装置(可移动驱动器),以及用户系统4000的外部驱动器。

例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置50相同地操作。

用户接口4500可以包括用于将数据或指令输入到应用处理器4100或者用于将数据输出到外部装置的接口。例如,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。

应注意的是,本公开的范围由所附权利要求书限定,而不是由前述的具体实施方式限定,并且从权利要求书的含义和范围及其等同内容得出的所有改变或修改包括在本公开的范围内。此外,可以组合实施例以形成额外的实施例。

相关技术
  • 存储器系统、存储器控制器及其操作方法
  • 存储器控制器、包括存储器控制器的存储器系统和应用处理器
  • 存储器控制器、存储器控制方法以及半导体存储装置
  • 存储器控制器及其操作方法
  • 存储器控制器、具有存储器控制器的存储器系统以及操作存储器控制器的方法
  • 存储器控制器、存储器系统以及存储器控制器的操作方法
技术分类

06120116488401