存储器控制器及其操作方法与流程

文档序号:18543719发布日期:2019-08-27 21:28阅读:157来源:国知局
存储器控制器及其操作方法与流程

本申请要求于2018年2月20日提交的申请号为10-2018-0019906的韩国专利申请的优先权,其通过引用整体并入本文。

本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储器控制器及存储器控制器的操作方法。



背景技术:

存储器装置可以被形成为水平布置串的二维结构或者被形成为垂直布置串的三维结构。设计三维半导体器装置以克服二维半导体器装置的集成度限制。三维半导体装置可以包括垂直堆叠在半导体衬底上的多个存储器单元。存储器装置的操作可以由存储器控制器来控制。



技术实现要素:

实施例提供一种能够减少写入延迟(latency)变化的存储器控制器。

实施例还提供一种能够减少写入延迟变化的存储器控制器的操作方法。

根据本公开的方面,提供一种存储器控制器,该存储器控制器响应于从主机接收的写入请求来控制存储器装置的写入操作,存储器控制器包括:写入缓冲器,其被配置为存储与写入请求一起从主机接收的写入数据;以及响应消息控制电路,其被配置为生成与写入请求相对应的响应消息并且将响应消息传递给主机,其中响应消息控制电路基于写入缓冲器的利用率来确定传递响应消息的响应时间。

写入缓冲器的利用率可以被定义为写入缓冲器的当前使用容量与写入缓冲器的总容量的比率。响应时间可以被定义为从写入请求从主机被提供给存储器控制器时至响应消息被传递给主机时的时间间隔。

当写入缓冲器的利用率相对高时,响应时间可以被确定为相对长。

当写入缓冲器的利用率小于或等于第一阈值时,响应消息控制电路可以将响应时间确定为0,并且当写入数据被存储在写入缓冲器中时将响应消息立即传递给主机。当写入缓冲器的利用率大于第一阈值时,响应消息控制电路可以将第一时间确定为响应时间。

响应消息控制电路可以包括:缓冲器监控器,其被配置为通过监控写入缓冲器的利用率来确定响应时间;响应时间存储器,其被配置为存储响应时间;以及响应消息生成器,其被配置为生成与写入请求相对应的响应消息,并且基于存储在响应时间存储器中的响应时间输出响应消息。

缓冲器监控器可以与写入缓冲器的利用率成比例地来确定响应时间。

缓冲器监控器可以相对于写入缓冲器的利用率以阶梯的方式来确定响应时间。

当写入缓冲器的利用率小于或等于第二阈值时,缓冲器监控器可以将响应时间确定为0。当写入缓冲器的利用率大于第二阈值时,缓冲器监控器可以将响应时间确定为关于写入缓冲器的利用率的线性函数。

当写入缓冲器的利用率小于或等于第三阈值时,缓冲器监控器可以将响应时间确定为0。当写入缓冲器的利用率大于第三阈值并且小于第四阈值时,缓冲器监控器可以将响应时间确定为第二时间。当写入缓冲器的利用率大于第四阈值时,缓冲器监控器可以将响应时间确定为关于写入缓冲器的利用率的线性函数。

根据本公开的另一方面,提供一种存储器控制器的操作方法,该存储器控制器控制存储器装置的操作,该方法包括:从主机接收写入请求以及与写入请求相对应的写入数据;将写入数据存储在写入缓冲器中;并且根据基于写入缓冲器的利用率所确定的响应时间,将与写入请求相对应的响应消息传递给主机。

根据基于写入缓冲器的利用率所确定的响应时间将与写入请求相对应的响应消息传递给主机可以包括:从写入缓冲器接收利用率;确定利用率是否大于第一阈值;并且基于确定结果将响应消息传递给主机。

在基于确定结果将响应消息传递给主机中,当利用率大于第一阈值时,可以在等待第一时间段之后将响应消息传递给主机,并且当利用率小于或等于第一阈值时,可以将响应消息立即传递给主机。

根据基于写入缓冲器的利用率所确定的响应时间将与写入请求相对应的响应消息传递给主机可以包括:从写入缓冲器接收利用率;确定与利用率相对应的响应时间,其中确定的响应时间包括第一等待时间;并且在经过第一等待时间之后,将响应消息传递给主机。

在确定响应时间中,可以与利用率成比例地来确定响应时间。

在确定响应时间中,可以相对于利用率以阶梯的方式来确定响应时间。

在确定响应时间中,当利用率小于或等于第二阈值时,将响应时间确定为立即,并且当利用率大于第二阈值时,可以将响应时间确定为关于利用率的线性函数。

在确定响应时间中,当利用率小于或等于第三阈值时,将响应时间确定为立即,并且当利用率大于第三阈值且小于第四阈值时,将响应时间确定为包括第二等待时间,并且当利用率大于第四阈值时,可以将响应时间确定为关于利用率的线性函数。

根据本公开的方面,提供一种存储器系统,包括:存储器装置;缓冲器,其被配置为缓冲从外部源提供的数据;以及控制器。控制器被配置为:响应于来自外部源的请求,控制存储器装置对缓冲的数据执行写入操作;并且在控制器接收到请求之后的响应时间处将请求的响应提供给外部源。控制器基于缓冲器的当前可用容量来确定响应时间。

附图说明

现在将参照附图更全面地描述各个实施例;然而,元件和特征可以与本文所示或所述不同地布置或配置。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例使得本公开是彻底且完全的,并且向本领域技术人员充分传达实施例的范围。

在附图中,为了说明的清楚起见,尺寸可能被夸大。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个该元件,或也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。

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

图2是详细示出图1的存储器控制器的框图。

图3是示出图1的存储器装置的示图。

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

图5是示出图4的响应消息控制电路的实施例的框图。

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

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

图8是示出根据图7所示的实施例的传递响应消息的方法的流程图。

图9是示出根据本公开的另一实施例的传递响应消息的方法的流程图。

图10是示出根据本公开的实施例的与写入缓冲器的利用率成比例地增加的响应时间的图。

图11是示出根据本公开的实施例的与写入缓冲器的利用率成比例地、以阶梯方式增加的响应时间的图。

图12是示出根据本公开的实施例的在写入缓冲器的利用率的特定部分中线性增加的响应时间的图。

图13是示出根据本公开的实施例的应用于通过划分写入缓冲器的利用率而获得的三个部分的响应时间的图。

图14是示出存储器系统的另一实施例的框图。

图15是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

图16是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

图17是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

图18是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

具体实施方式

在以下详细描述中,仅通过示例的方式示出并描述本公开的实施例。如本领域技术人员将认识到的,在不脱离本公开的精神或范围的情况下,描述的实施例可以以各种不同的方式修改。因此,附图和描述在本质上被认为是说明性的而不是限制性的。

在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,该元件可以直接地连接或联接到另一元件,或者可以利用插入的一个或多个中间元件间接地连接或联接到另一元件。另外,当元件被称为“包括”部件时,这指示元件可以进一步包括一个或多个其它部件,而不是排除这样的其它部件,除非上下文另有指示。而且,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。

将参照附图详细地描述本公开的各个实施例。相同的附图标记用于表示与其它附图中示出的元件相同的元件。在以下描述中,可以仅描述根据示例性实施例来理解操作所需的部分;可以省略对已知技术材料的描述,以免模糊实施例的重要构思。

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

参照图1,存储器系统1000可以包括用于存储数据的存储器装置1100以及在主机2000的控制下控制存储器装置1100的存储器控制器1200。

主机2000可以通过使用诸如以下的接口协议与存储器系统1000通信:外围组件互连-高速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)或串列scsi(sas)。主机2000和存储器系统1000之间的接口协议不限于上述示例;可以使用诸如以下的其它接口协议中的一种:通用串行总线(usb)、多媒体卡(mmc)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。主机2000也可以称为外部源。

存储器控制器1200可以控制存储器系统1000的全部操作,并且控制主机2000和存储器装置1100之间的数据交换。例如,存储器控制器1200可以响应于来自主机2000的请求,通过控制存储器装置1100来编程或读取数据。而且,存储器控制器1200可以存储存储器装置1100中包括的主存储块和子存储块的信息,并且选择存储器装置1100,以根据为编程操作所加载的数据量而对主存储块或子存储块执行编程操作。在一些实施例中,存储器装置1100可以包括双倍数据速率同步动态随机存取存储器(ddrsdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)和/或闪速存储器。将参照图2描述存储器控制器1200的详细的、示例性配置。存储器控制器1200也可以称为控制器。

存储器控制器1200可以包括缓冲器存储器1220。缓冲器存储器1220可以临时存储从主机2000接收的数据data或从存储器装置1100接收的数据data。

作为示例,当从主机2000接收到写入请求和对应于该写入请求的写入数据时,存储器控制器1200将写入数据临时存储在缓冲器存储器1220中。随后,存储器控制器1200将与写入请求一起从主机2000接收的逻辑地址转换为物理地址。而且,存储器控制器1200将转换后的物理地址和存储在缓冲器存储器1220中的写入数据与写入命令一起传递给存储器装置1100。存储器装置1100基于接收的写入数据和接收的物理地址来执行写入操作。

作为另一示例,当从主机2000接收到读取请求时,存储器控制器1200将与读取请求一起接收的逻辑地址转换为物理地址。而且,存储器控制器1200将转换后的物理地址与读取命令一起传递给存储器装置1100。存储器装置1100基于接收的物理地址来执行读取操作。因此,读取数据从存储器装置1100传递给存储器控制器1200。存储器控制器1200将接收的读取数据临时存储在缓冲存储器1220中。随后,存储器控制器1200将存储在缓冲存储器1220中的读取数据传递给主机2000。

在上述进程中,主机2000和存储器控制器1200之间的数据传递速度可能与存储器装置1100的数据处理速度不同。通常,主机2000和存储器控制器1200之间的数据传递速度相对快,而存储器装置1100的数据处理速度相对慢。例如,存储器装置1100的数据写入速度相对较慢。因此,当从主机2000接收到连续的写入请求和写入数据时,存储器装置1100可能不会同时处理这些写入请求和写入数据。存储器控制器1200可以包括缓冲存储器1220,其中缓冲存储器1220通过存储器控制器1200缓冲主机2000和存储器装置1100之间的数据流。

在写入操作中,待存储写入数据的写入缓冲器可以被包括在缓冲存储器1220中。缓冲存储器1220的部分区域可以被分配以构成写入缓冲器。当从主机2000接收到写入请求和写入数据时,存储器控制器1200将接收的写入数据临时存储在写入缓冲器中,并且在写入数据被完全存储在写入缓冲器中之后将响应消息传递给主机2000。主机2000在将写入请求和写入数据传递给存储器控制器1200之后等待接收响应消息。即使在主机2000待将后续写入请求和后续写入数据额外地传递给存储器控制器1200的情况下,主机2000也不将这种请求和数据传递给存储器控制器1200,直到主机2000接收到响应消息。当主机2000从存储器控制器1200接收到响应消息时,主机2000将后续写入请求和后续写入数据传递给存储器控制器1200。

通常,在接收的写入数据被存储在写入缓冲器中之后,存储器控制器1200将响应消息立即传递给主机2000。因此,当从主机2000接收到连续的写入请求时,全部写入缓冲器完全充满数据。当写入缓冲器完全充满数据时,虽然从主机2000接收写入请求和写入数据,但是存储器控制器1200无法将接收的写入数据存储在写入缓冲器中。存储器控制器1200不将响应消息传递给主机2000,直到满的写入缓冲器部分或完全地变为空并且可用于缓冲额外写入数据。当存储在写入缓冲器中的数据的至少一部分被传递给存储器装置1100使得写入缓冲器的部分空间为空时,存储器控制器1200可以将响应消息传递给主机2000。

因此,在这种情况下,主机2000和存储器控制器1200之间的“写入延迟”周期性地增加。在本说明书中,“写入延迟”指从主机2000将写入请求传递给存储器控制器1200时至主机2000从存储器控制器1200接收到响应消息时的时间间隔。

可能重复地发生以下情况:由于写入缓冲器完全充满数据,因此存储器控制器1200未将响应消息传递给主机2000。因此,主机2000和存储器控制器1200之间的写入延迟产生较大变化,这导致存储器系统1000的操作性能劣化。

根据本公开的实施例的存储器控制器1200基于写入缓冲器的利用率来确定响应时间。响应时间可以指从写入请求从主机2000被提供给控制器1200时至响应消息被传递给主机2000时的时间间隔。写入缓冲器的利用率可以被定义为写入缓冲器的当前占用容量与写入缓冲器的总容量的比率。

例如,当写入缓冲器的利用率低时,响应时间设置得短,而当写入缓冲器的利用率高时,响应时间设置得长。因此,从主机2000的角度来看,写入延迟的变化减小。因此,提高存储器系统1000的操作性能。根据本公开的实施例,稍后将参照图4至图13描述响应于写入请求控制响应时间的配置。

存储器控制器1200包括闪存转换层(“ftl”)。ftl提供外部装置和存储器装置1100之间的接口连接,使得高效地使用存储器装置1100。例如,ftl可以执行将从主机2000接收的逻辑地址转换为存储器装置1100中使用的物理地址的功能。ftl可以通过映射表来执行上述地址转换操作。作为示例,逻辑地址指示由主机2000管理的存储区域的逻辑位置,并且物理地址指示由存储器控制器1200管理的存储器装置1100的物理位置。

ftl可以执行诸如损耗均衡或垃圾收集(gc)的操作,使得可以高效地使用存储器装置1100。作为示例,损耗均衡指以下操作:管理存储器装置1100中包括的多个存储块的编程/擦除数量,使得多个存储块的编程/擦除数量被均一化。作为示例,垃圾收集(gc)指以下操作:将存储器装置1100中的多个存储块之中的所选择存储块的有效页面移动到另一存储块并且然后擦除所选择存储块的操作。擦除后的存储块可以用作空闲块。ftl可以通过执行垃圾收集来获得存储器装置1100的空闲块。

在存储器控制器1200的控制下,存储器装置1100可以执行编程操作、读取操作或擦除操作。将参照图3描述存储器装置1100的详细的、示例性配置和存储器装置1100的操作。

图2是详细示出图1的存储器控制器的框图。

一起参照图1和图2,存储器控制器1200包括处理器1210、缓冲存储器1220、rom1230、主机接口1260、响应消息控制电路1240和存储器接口1280。

处理器1210可以控制存储器控制器1200的全部操作。缓冲存储器1220可以被配置为存储器控制器1200的工作存储器,或者可以用作高速缓冲存储器。在实施例中,缓冲存储器1220可以被配置为sram。在另一实施例中,缓冲存储器1220可以被配置为dram。

缓冲存储器1220可以存储设置为软件格式的ftl。存储在缓冲存储器1220中的ftl可以由处理器1210驱动。而且,缓冲存储器1220可以包括如上所述的写入缓冲器(未示出)。来自主机的写入数据可以被临时存储在写入缓冲器中。从存储器装置1100读取的数据也可以被临时存储在缓冲存储器1220中。

rom1230可以以固件格式存储存储器控制器1200操作时所需的各种信息。

作为示例,外部装置,即主机2000的数据管理单元可以与存储器装置1100的数据管理单元不同。例如,主机2000可以以扇区为单位管理数据。即,主机2000可以以扇区为单位写入和读取数据。另一方面,存储器装置1100可以以页面为单位管理数据。即,存储器装置1100可以以页面为单位写入和读取数据。作为示例,页面单位可以大于扇区单位。在写入操作中,缓冲存储器1220可以以页面为单位管理从主机2000接收的以扇区为单位的数据,使得可以将接收的数据写入到存储器装置1100。

响应消息控制电路1240可以通过监控缓冲存储器1220来控制与从主机2000接收的写入请求相对应的响应消息的输出时间。如上所述,当缓冲存储器1220中的写入缓冲器的利用率低时,响应消息控制电路1240可以通过施加相对短的响应时间将响应消息传递给主机2000。相反,当缓冲存储器1220中的写入缓冲器的利用率高时,响应消息控制电路1240可以通过施加相对长的响应时间将响应消息传递给主机2000。响应消息可以通过主机接口1260传递给主机2000。稍后将参照图4和图5描述响应消息控制电路1240的详细操作和配置。

存储器控制器1200可以通过主机接口1260与外部装置(或主机2000)通信。作为示例,主机接口1260可以包括诸如以下的各种接口中的至少一种:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci-高速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机小型接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线以及通用闪存(ufs)。

存储器控制器1200可以通过存储器接口1280与存储器装置1100通信。作为示例,存储器接口1280可以包括nand接口。

作为示例,从主机2000接收的写入请求和读取请求可以是由主机接口1260定义的命令或信号。从存储器控制器1200提供给存储器装置1100的写入命令和读取命令可以是由存储器接口1280定义的命令或信号。

虽然未在图2中示出,但是存储器控制器1200可以进一步包括诸如用于数据随机化的随机化发生器和用于数据错误校正的错误校正电路的部件。

图3是示出图1的存储器装置的示图。

参照图3,存储器装置1100可以包括存储数据的存储器单元阵列100。存储器装置1100可以包括外围电路200,该外围电路200被配置为执行将数据存储在存储器单元阵列100中的编程操作、输出存储的数据的读取操作以及擦除存储的数据的擦除操作。存储器装置1100可以包括控制逻辑300,该控制逻辑300在存储器控制器(图1的1200)的控制下控制外围电路200。

存储器单元阵列100可以包括多个存储块mb1至mbk(k是正整数)110。局部线(localline)ll和位线bl1至bln(n是正整数)可以联接到存储块mb1至mbk110。例如,局部线ll可以包括第一选择线、第二选择线以及布置在第一选择线和第二选择线之间的多个字线。而且,局部线ll可以进一步包括布置在第一选择线和字线之间以及第二选择线和字线之间的虚设(dummy)线。第一选择线可以是源极选择线,并且第二选择线可以是漏极选择线。例如,局部线ll可以包括字线、漏极选择线和源极选择线以及源极线sl。例如,局部线ll可以进一步包括虚设线。例如,局部线ll可以进一步包括管线。局部线ll可以分别联接到存储块mb1至mbk110,并且位线bl1到bln可以共同联接到存储块mb1到mbk110。存储块mb1至mbk110可以被实施为二维结构或三维结构。例如,在具有二维结构的存储块110中,存储器单元可以在平行于衬底的方向上布置。例如,在具有三维结构的存储块110中,存储器单元可以在垂直于衬底的方向上布置。

外围电路200可以被配置为,在控制逻辑300的控制下对所选择的存储块110执行编程操作、读取操作或擦除操作。例如,在控制逻辑300的控制下,外围电路200可以将验证电压和通过电压施加到第一选择线、第二选择线和字线,选择性地使第一选择线、第二选择线和字线放电,并且可以验证与字线之中的所选择字线联接的存储器单元。例如,外围电路200可以包括电压产生电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250和感测电路260。

电压产生电路210可以响应于操作信号op_cmd而生成用于编程操作、读取操作和擦除操作的各种操作电压vop。而且,电压产生电路210可以响应于操作信号op_cmd而选择性地使局部线ll放电。例如,在控制逻辑300的控制下,电压产生电路210可以生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压、源极线电压等。

行解码器220可以响应于行地址radd而将操作电压vop传递给联接到与所选择存储块110联接的局部线ll。

页面缓冲器组230可以包括联接到位线bl1至bln的多个页面缓冲器pb1至pbn231。页面缓冲器pb1至pbn231可以响应于页面缓冲器控制信号pbsignals而操作。例如,在读取操作或验证操作中,页面缓冲器pb1至pbn231可以临时存储通过位线bl1至bln接收的数据,或者感测位线bl1至bln的电压或电流。

列解码器240可以响应于列地址cadd在输入/输出电路250和页面缓冲器组230之间传递数据。例如,列解码器240可以通过数据线dl与页面缓冲器231交换数据,或者可以通过列线cl与输入/输出电路250交换数据。

输入/输出电路250可以将从(图1的)存储器控制器1200接收的命令cmd和地址add传递给控制逻辑300,或者与列解码器240通信数据data。

在读取操作或验证操作中,感测电路260可以响应于允许位vry_bit<#>而生成参考电流,并且可以通过将从页面缓冲器组230接收的感测电压vpb与由参考电流产生的参考电压进行比较来输出通过信号pass或失败信号fail。

控制逻辑300可以响应于命令cmd和地址add,通过输出操作信号op_cmd、行地址radd、列地址cadd、页面缓冲器控制信号pbsignals和允许位vry_bit<#>来控制外围电路200。而且,控制逻辑300可以响应于通过信号pass或失败信号fail来确定验证操作已经通过还是失败。

图4是示出根据本公开的实施例的存储器控制器1200的框图。在图4中,示出根据本公开的实施例的用于描述对响应消息的控制的部件。为方便起见,省略了与响应消息的控制相关较少的部件的图示和描述。

参照图4,存储器控制器1200包括主机接口1260、写入缓冲器1225、响应消息控制电路1240和存储器接口1280。如上所述,存储器控制器1200可以通过主机接口1260与主机2000通信。而且,存储器控制器1200可以通过存储器接口1280与存储器装置1100通信。写入缓冲器1225也可以称为缓冲器。

主机2000将写入请求wrq和写入数据wdata传递给主机接口1260。主机接口1260将写入数据wdata传递给写入缓冲器1225。主机接口1260可以将写入请求wrq传递给响应消息控制电路1240。

写入缓冲器1225临时存储从主机接口1260接收的写入数据wdata。当写入数据wdata被存储在写入缓冲器1225中时,响应消息控制电路1240生成响应消息msg_re并且将响应消息msg_re传递给主机接口1260。主机接口1260将接收的响应消息msg_re传递给主机2000。

写入缓冲器1225将存储的写入数据wdata传递给存储器接口1280。存储器接口1280将接收的写入数据wdata与写入命令wcmd一起传递给存储器装置1100。存储器装置1100可以根据接收的写入命令wcmd和接收的写入数据wdata执行写入操作。

响应消息控制电路1240将缓冲器控制信号bff_ctr传递给写入缓冲器1225。写入缓冲器1225基于接收的缓冲器控制信号bff_ctr将缓冲器使用信息bff_inf传递给响应消息控制电路1240。缓冲器使用信息bff_inf可以包括关于写入缓冲器1225的利用率的信息。响应消息控制电路1240基于利用率来确定待被施加以输出响应消息msg_re的响应时间。稍后将参照图5描述响应消息控制电路1240的更详细配置。

如上所述,写入缓冲器的利用率可以被定义为写入缓冲器1225的当前使用容量与写入缓冲器1225的总容量的比率。另外,响应时间可以被定义为从写入请求wrq从主机2000被提供给存储器控制器1200时至响应消息msg_re被传递给主机2000时的时间间隔。

当写入缓冲器1225的利用率相对高时,根据本公开的实施例的响应消息控制电路1240可以将响应时间确定为相对长。因此,当写入缓冲器1225的利用率增加时,主机2000延时传递新写入请求,使得可以保持写入缓冲器1225的利用率。因此,可以减少主机2000和存储器控制器1200之间的写入延迟的变化,并且因此可以提高存储器系统1000的性能。

图5是示出图4的响应消息控制电路1240的实施例的框图。

参照图5,响应消息控制电路1240包括缓冲器监控器1241、响应时间存储器1243和响应消息生成器1245。

缓冲器监控器1241通过监控写入缓冲器1225的利用率来确定响应时间trsp。响应时间存储器1243存储确定的响应时间trsp。响应消息生成器1245生成对应于写入请求wrq的响应消息msg_re。而且,响应消息生成器1245基于响应时间trsp输出生成的响应消息msg_re。更详细地,响应消息生成器1245可以等待响应时间trsp,然后输出响应消息msg_re。为此,响应消息生成器1245可以包括计时器。响应消息生成器1245可以基于计时器检查接收到写入请求wrq的时间点,并且在从接收到写请求wrq经过响应时间trsp时输出响应消息msg_re。如图4所示,输出的响应消息msg_re通过主机接口1260被传递给主机2000。

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

参照图6,存储器控制器1200将与从主机2000接收的写入请求相对应的响应消息传递给主机。一起参照图4和图6进一步描述操作方法。

在步骤s110中,存储器控制器1200从主机2000接收写入请求wrq和写入数据wdata。如图4所示,存储器控制器1200可以通过主机接口1260接收写入请求wrq和写入数据wdata。

在步骤s130中,存储器控制器1200临时存储接收的写入数据wdata。随后,存储在写入缓冲器1225中的写入数据wdata可以与写入命令wcmd一起被传递给存储器装置1100。

在步骤s150中,存储器控制器1200基于写入缓冲器1225的利用率通过施加响应时间trsp将响应消息msg_re传递给主机2000。如上所述,当写入缓冲器1225的利用率相对高时,根据本公开的实施例的存储器控制器1200可以确定相对长的响应时间trsp。

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

参照图7所示的图,横轴表示写入缓冲器1225的使用量,并且纵轴表示根据使用量确定的响应时间trsp。写入缓冲器的使用量的范围从0至写入缓冲器的总容量。根据图7所示的实施例,当写入缓冲器1225的使用量小于或等于第一值vl1时,确定响应时间为0。即,当写入缓冲器1225的使用量小于或等于第一值vl1时,响应消息生成器1245立即输出响应消息msg_re,而没有任何等待时间。

当写入缓冲器1225的使用量大于第一值vl1时,第一时间t1被确定为响应时间trsp。第一时间t1可以通过实验来预定。例如,通过重复模拟使主机2000和存储器控制器1200之间的写入延迟的变化最小化的值被确定为第一时间t1。

图8是示出根据图7所示的实施例的传递响应消息的方法的流程图。

参照图8,在步骤s210中,从写入缓冲器1225接收缓冲器使用信息bff_inf。步骤s210可以由图4的响应消息控制电路1240,更具体地,可以由图5的缓冲器监控器1241执行。

在步骤s220中,确定写入缓冲器的利用率是否大于第一阈值。当写入缓冲器的利用率大于第一阈值时(在步骤s220处为“是”)时,这表示写入缓冲器的使用量落入如参照图7所述的第一值vl1和总容量之间的范围内。因此,第一时间t1被确定为第一响应时间trsp。因此,方法进行到步骤s230。

在步骤s230中,在传递响应消息之前存在等待时间。随后,在步骤s240中,确定是否已经经过第一响应时间trsp。当尚未经过第一响应时间trsp时(在步骤s240处为“否”),方法返回到步骤s230以继续等待传递响应消息。

当经过第一响应时间trsp时(在步骤s240处为“是”),在步骤s250中,响应消息msg_re被传递给主机2000。因此,在延时第一时间t1之后,响应消息msg_re被传递给主机2000。

当写入缓冲器的利用率小于或等于第一阈值时(在步骤s220处为“否”),方法立即进行到步骤s250。响应消息msg_re被立即传递给主机2000,而不等待任何响应时间。

图9是示出根据本公开的另一实施例的传递响应消息的方法的流程图。

在步骤s310中,从写入缓冲器1225接收缓冲器使用信息bff_inf。步骤s310可以由图4的响应消息控制电路1240,更特别地,可以由图5的缓冲器监控器1241执行。

在步骤s320中,确定与写入缓冲器的利用率相对应的响应时间trsp。可以如图7的图所示来确定响应时间trsp。然而,响应时间trsp可以以各种方式来确定。下面将参照图10至图13更详细地描述用于确定与写入缓冲器1225的利用率相对应的响应时间trsp的方案。

在步骤s330中,确定是否已经经过响应时间trsp。当已经经过响应时间trsp时(在步骤s330处为“是”),在步骤s350处,响应消息msg_re被传递给主机2000。当尚未经过响应时间trsp时(在步骤s330处为“否”),在步骤s340处,响应消息的传递被延时一定时间,并且方法返回到步骤s330,在步骤s330中确定是否已经经过响应时间trsp。

图10是示出根据本公开的实施例的与写入缓冲器的利用率成比例地线性增加的响应时间的图。

参照图10,缓冲器监控器1241可以基于线性表达式来确定与写入缓冲器1225的当前使用量成比例的响应时间trsp。

图11是示出根据本公开的实施例的与写入缓冲器的利用率成比例地、以阶梯方式增加的响应时间的图。

参照图11,写入缓冲器1225的使用量被划分为多个范围,并且可以对相同范围内的使用量施加相同的响应时间trsp。当写入缓冲器的使用量增加,使得写入缓冲器的使用量落入相邻的、较高范围内时,响应时间trsp以阶梯方式增加到下一步台阶或级别。

图12是示出根据本公开的实施例的在写入缓冲器的利用率的特定范围内线性增加的响应时间的图。

参照图12,当写入缓冲器1225的使用量小于或等于可以预定第二值vl2时,响应时间trsp是0。当写入缓冲器1225的使用量大于预定第二值vl2时,响应时间trsp根据写入缓冲器的使用量线性增加。

图13是示出根据本公开的实施例的对通过将写入缓冲器的利用率进行划分而获得的三个范围施加不同的响应时间的图。

参照图13,当写入缓冲器1225的使用量小于或等于第三值vl3时,响应时间trsp是0。当写入缓冲器1225的使用量大于第三值vl3并且小于或等于第四值vl4时,响应时间trsp是第二时间t2。在写入缓冲器1225的使用量大于第四值vl4的范围内,响应时间trsp根据写入缓冲器的使用量而从t2线性增加。值vl3和vl4以及第二时间t2可以被预定。

如图7、图10、图11、图12和图13所示,可以根据写入缓冲器1225的使用量以各种方式来确定响应时间trsp。然而,存储器控制器1200及其操作方法不限于这些特定方案;将理解的是,响应时间trsp可以以图7、图10、图11、图12和图13中未示出的其它方式来确定。

图14是示出存储器系统的另一实施例的框图。

参照图14,存储器系统1001包括存储器控制器1201和第一至第四存储器装置1101-1104。已经参照图1描述了主机2001和存储器控制器1201,因此,这里省略对主机2001和存储器控制器1201的重复描述。类似地,缓冲存储器1220也可以与参照图1描述的缓冲存储器1220基本相同。

第一至第四存储器装置1101至1104中的每一个可以是参照图1和图3描述的存储器装置1100。第一至第四存储器装置1101至1104可以分别通过第一至第四通道ch1至ch4联接到存储器控制器1201,并且在存储器控制器1201的控制下独立地操作。例如,多个存储器装置1101至1104可以同时编程不同的数据。作为示例,多个存储器装置1101至1104中的每一个可以被配置为单独的芯片,并且多个存储器装置1101至1104可以被设置为多芯片封装(mcp)。

作为示例,除了第一存储器装置1101至第四存储器装置1104之外,存储器系统1001还可以进一步包括其它存储器装置。

图14所示的存储器控制器1201还可以将待被写入到第一至第四存储器装置1101至1104的数据存储在缓冲存储器1220的写入缓冲器中。存储器控制器1201基于缓冲存储器1220的写入缓冲器的利用率来确定针对从主机2001接收的写入请求的响应时间。因此,可以减少写入延迟的变化。因此,可以提高操作性能。

图15是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

参照图15,存储器系统3000可以被实施为蜂窝电话、智能电话、平板pc、个人数字助理(pda)或无线通信装置。存储器系统3000可以包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可以在处理器3100的控制下控制存储器装置1100的数据访问操作,例如,编程操作、擦除操作、读取操作等。

被编程在存储器装置1100中的数据可以在存储器控制器1200的控制下通过显示器3200输出。

无线电收发器3300可以通过天线ant发送/接收无线电信号。例如,无线电收发器3300可以将通过天线ant接收的无线电信号转换为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号并且将处理后的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号传输到半导体存储器装置1100。并且,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且通过天线ant将转换后的无线电信号输出到外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据的装置,并且可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可以通过显示器3200输出。

在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器3100的部分或被实施为独立于处理器3100的芯片。

图16是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

参照图16,存储器系统4000可以被实施为个人计算机(pc)、平板pc、上网本、电子阅读器、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器或mp4播放器。

存储器系统4000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。

处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。

处理器4100可以控制存储器系统4000的全部操作并且控制存储器控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器4100的部分或被实施为独立于处理器4100的芯片。

图17是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

参照图17,存储器系统5000可以被实施为图像处理装置,例如,数码相机、附设有的数码相机的移动终端、附设有的数码相机的智能电话、或附设有的数码相机的平板pc。

存储器系统5000可以包括存储器装置1100和存储器控制器1200,其中存储器控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。

存储器系统5000的图像传感器5200可以将光学图像转换成数字信号,并且转换后的数字信号可以被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可以通过显示器5300输出,或通过存储器控制器1200被存储在存储器装置1100中。另外,存储在存储器装置1100中的数据可以在处理器5100或存储器控制器1200的控制下通过显示器5300输出。

在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器5100的部分或被实施为独立于处理器5100的芯片。

图18是示出包括图1和图2所示的存储器控制器的存储器系统的另一实施例的示图。

参照图18,存储器系统7000可以被实施为存储卡或智能卡。存储器系统7000可以包括存储器装置1100、存储器控制器1200和卡接口7100。

存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(sd)卡接口或多媒体卡(mmc)接口,但是本公开不限于此。

卡接口7100可以根据主机6000的协议来接口连接主机6000和存储器控制器1200以进行数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(usb)协议和芯片间(ic)-usb协议。卡接口7100可以指能够支持由主机6000使用的协议、嵌入在硬件中的软件或者信号传输方案的硬件。

当存储器系统7000联接到诸如pc、平板pc、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机6000的主机接口6200时,主机接口6200可以在微处理器6100的控制下通过卡接口7100和存储器控制器1200执行与存储装置1100的数据通信。

图18示出存储器系统7000用存储卡来实施的实施例。然而,本公开不限于此;存储器控制器1200和存储器装置1100可以被集成为一个半导体装置以构成固态硬盘(ssd)。ssd可以包括被配置为将数据存储到半导体存储器中的存储装置。

根据本公开的实施例,提供一种能够减少写入延迟变化的存储器控制器。

进一步地,根据本公开的实施例,提供一种能够减少写入延迟变化的存储器控制器的操作方法。

本文已经公开各个实施例,并且虽然采用了特定术语,但是这些术语被用于和解释为通用和描述性的含义,而不是为了限制的目的。在一些情况下,如从提交本申请起对于本领域技术人员显而易见的是,结合特定实施例描述的特征、特性和/或元件可以单独使用或与结合其它实施例描述的特征、特性和/或元件结合使用,除非另有具体指示。因此,本领域技术人员将理解,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以进行形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1