针对存储器装置调度任务的半导体装置及包括其的系统的制作方法

文档序号:17761807发布日期:2019-05-24 21:45阅读:146来源:国知局
针对存储器装置调度任务的半导体装置及包括其的系统的制作方法

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

本公开的实施例涉及一种针对存储器装置调度多个任务的半导体装置以及包括该半导体装置的系统。



背景技术:

图1是示出传统存储器系统4的框图。

传统存储器系统4包括多个任务生成器1、传统半导体装置10和存储器装置30,其中多个任务生成器1生成分别指示多个任务的多个任务信号tasks。

例如,存储器装置30是闪速存储器装置。

传统半导体装置10包括任务调度器11、响应缓冲器12和控制器20。

任务调度器11调度多个任务并且生成指示调度的任务中的一个的调度信号task。

控制器20通过生成对应于调度信号task的控制命令来控制存储器装置30。

响应缓冲器12接收响应信号resp,并且将响应信号resp提供给多个任务生成器1中的相应任务生成器,其中响应信号resp指示从存储器装置30输出的响应。

多个任务生成器1包括用于生成读取/写入请求的第一任务生成器(例如,主机)1-1、用于控制磨损均衡操作的第二任务生成器(例如,磨损均衡控制器)1-2以及用于控制垃圾收集的第三任务生成器(例如,垃圾收集控制器)1-3。

在传统半导体装置10中,任务调度器11根据诸如时间序列的预定规则来调度由第一任务生成器1-1、第二任务生成器1-2和第三任务生成器1-3提供的多个任务。

由于传统半导体装置10根据这样的预定规则操作,因此难以调整特定类型的任务的优先级。



技术实现要素:

各个实施例涉及一种半导体装置以及包括该半导体装置的系统,该半导体装置用于通过可变地调整多个任务生成器的份额(share)来调度由多个任务生成器提供的多个任务。

在实施例中,半导体装置可以包括:任务控制器,其被配置为根据各自目标状态和多个任务生成器的各自测量状态生成多个任务生成器的目标份额;任务调度器,其被配置为根据分配份额调度多个任务,多个任务由多个任务生成器提供;以及份额控制器,其被配置为根据多个任务生成器的目标份额和测量份额来确定分配份额。

在实施例中,系统可以包括:存储器装置;多个任务生成器,其被配置为针对存储器装置分别提供多个任务;以及半导体装置,其被配置为根据来自多个任务生成器的多个任务来控制存储器装置,其中半导体装置包括:任务控制器,其被配置为根据各自目标状态和多个任务生成器的各自测量状态生成多个任务生成器的目标份额;任务调度器,其被配置为根据分配份额调度多个任务;以及份额控制器,其被配置为根据多个任务生成器的目标份额和测量份额来确定分配份额。

在实施例中,半导体装置可以包括:多个任务生成器,其分别生成多个任务信号和多个测量状态信号;多个任务控制器,其响应于多个测量状态信号和多个目标状态信号来分别生成多个目标份额信号;份额控制器,其响应于多个目标份额信号和测量份额信号来生成分配份额信号;以及任务调度器,其响应于分配份额信号调度多个任务并且生成测量份额信号,多个任务信号分别指示多个任务。

附图说明

图1示出传统存储器系统。

图2示出根据实施例的存储器系统。

图3示出根据实施例的表示任务以及对应于任务的功能和状态的表格。

图4示出根据实施例的图2的控制器。

具体实施方式

在下文中,将参照附图更详细地描述各个实施例。

图2是示出根据本公开的实施例的存储器系统40的框图。

存储器系统40包括多个任务生成器1、半导体装置100和存储器装置30,其中多个任务生成器1生成分别指示多个任务的多个信号tasks。

在图2所示的实施例中,闪速存储器装置可以包括在存储器装置30中,但是存储器装置30的类型不限于此。

多个任务生成器1可以包括用于请求读取/写入操作的第一任务生成器(例如,主机)1-1、用于请求磨损均衡操作的第二任务生成器(例如,磨损均衡控制器)1-2以及用于执行垃圾收集的第三任务生成器(例如,垃圾收集控制器)1-3。在实施例中,多个任务生成器1包括电子电路。在实施例中,多个任务生成器1包括执行存储在非暂时性计算机可读介质中的计算机编程指令的微控制器或微处理器。

在图2所示的实施例中,示出了三种类型的任务生成器1-1、1-2和1-3,但是本公开的实施例不限于此。根据实施例,多个任务生成器1可以进一步包括用于生成与由任务生成器1-1、1-2和1-3执行的任务不同类型的任务的其它类型的任务生成器。

半导体装置100包括任务调度器110、响应缓冲器120、份额控制器130、任务控制器140和控制器200。

任务调度器110接收分别指示由第一任务生成器1-1、第二任务生成器1-2和第三任务生成器1-3提供的多个任务的多个信号tasks,并且根据分配份额来执行对多个任务的调度。

例如,当分配份额为100:1:1时,针对给定的时间段,任务调度器110以100:1:1的比例调度来自第一任务生成器1-1、第二任务生成器1-2和第三任务生成器1-3的多个任务。例如,任务调度器110可以使用诸如加权循环调度算法(wrr)、加权公平队列调度算法(wfq)或者差额循环调度算法(drr)等的调度算法。在实施例中,给定的时间段对应于提供给任务调度器110的时钟信号(未示出)的预定数量的周期(例如,一个周期)。

份额控制器130接收指示由任务控制器140提供的目标份额的目标份额信号ds和指示测量份额的测量份额信号os。份额控制器130响应于目标份额信号ds和测量份额信号os来确定指示分配份额的分配份额信号as。

可以通过追踪任务的起源一段时间来确定测量份额。例如,当任务调度器110使用wrr算法时,针对给定的时间段,任务调度器110对与第一任务生成器1-1、第二任务生成器1-2或第三任务生成器1-3的任务相关联的请求的数量计数,基于计数的数量生成具有指示任务的测量份额的值的测量份额信号os,并且将测量份额信号os提供给份额控制器130。任务调度器110可以根据调度算法使用不同的方法。例如,测量份额信号os具有指示分别来自第一任务生成器1-1、第二任务生成器1-2和第三任务生成器1-3的任务的测量份额的第一值、第二值和第三值。

份额控制器130可以通过比较目标份额的相应值和当前份额的相应值来增加或减小分配份额的值。

例如,份额控制器130可以使用以下等式来确定与来自第一任务生成器1-1的任务的分配份额相对应的分配份额的第一值:

as1(t)=γ×as1(t-1)+δ×[ds1(t)-os1(t-1)]。

在上述等式中,as1(t)表示第一任务生成器1-1在当前时间t处的分配份额,as1(t-1)表示第一任务生成器1-1在紧接的先前时间t-1处的分配份额,ds1(t)表示第一任务生成器1-1在当前时间t处的目标份额,并且os1(t-1)表示第一任务生成器1-1在紧接的先前时间的测量份额。在实施例中,份额控制器130存储第一任务生成器1-1在紧接的先前时间t-1的分配份额as1(t-1),并且任务调度器110存储第一任务生成器1-1在紧接的先前时间t-1的测量份额os1(t-1)。例如,当前时间t与紧接的先前时间t-1之间的时间间隔对应于提供给任务调度器110和份额控制器130的时钟信号(未示出)的周期(例如,μs)。

在上述等式中,γ和δ是比例常数,其可以随着任务生成器1-1、1-2或1-3的类型而变化。比例常数γ和δ可以被确定成使得通过基于上述等式重复地更新第一任务生成器1-1的分配份额,第一任务生成器1-1的测量份额可以收敛到第一任务生成器1-1的目标份额。在实施例中,比例常数γ和δ中的每一个可以通过通常在控制理论中使用的参数调整方法来确定。

以上等式示出根据实施例的份额控制器130的控制操作。然而,本公开的实施例不限于此,并且可以根据另一实施例而使用不同的等式。

在实施例中,任务控制器140-1、140-2和140-3中的每一个响应于目标状态和当前状态来确定目标份额。

如将在以下参照图3更详细地描述的,目标状态和当前状态可以根据来自图2中的任务生成器1-1、1-2或1-3的任务的类型而不同。

图3示出根据实施例的任务、功能和状态的表格。在图3所示的实施例中,功能和状态分别对应于任务的目的和性能相关状态。

任务包括第一任务生成器(例如,图2中的主机1-1)提供的主机请求、第二任务生成器(例如,图2中的磨损均衡控制器1-2)提供的磨损均衡请求以及第三任务生成器(例如,图2中的垃圾收集控制器1-3)提供的垃圾收集请求。

在图3所示的实施例中,主机请求是读取/写入请求并且可以使用延时作为状态。

因此,第一任务控制器140-1根据目标延时和由第一任务生成器1-1提供的测量延时来设置用于读取/写入请求的目标份额。目标延时可以根据系统要求来预先确定。

第一任务生成器1-1可以计算测量延时,该测量延时指示在读取/写入请求被传输到任务调度器110的第一时间和与读取/写入请求相对应的、来自响应缓冲器120的响应信号resp2被接收的第二时间之间的时间间隔。第一任务生成器1-1生成指示测量延时的第一测量状态信号ms1并且将第一测量状态信号ms1提供给第一任务控制器140-1。

在测量延时长于目标延时的情况下,第一任务控制器140-1可以增加目标份额,并且在测量延时短于目标延时的情况下,第一任务控制器140-1可以减少目标份额。

例如,第一任务控制器140-1可以使用以下等式来确定第一任务生成器1-1的目标份额:

ds1(t)=α×ds1(t-1)+β×[dst1(t)-cst1(t-1)]。

在上述等式中,dst1(t)表示当前时间t处的目标延时,cst1(t-1)表示在紧接的先前时间t-1处的测量延时,ds1(t)表示第一任务生成器1-1在当前时间t处的目标份额,并且ds1(t-1)表示第一任务生成器在紧接的先前时间t-1处的目标份额。

在上述等式中,α和β是比例常数,其可以根据任务控制器140-1、140-2或140-3的类型而具有不同的值。比例常数α和β可以被确定成使得通过基于上述等式重复地更新目标份额的第一值,测量延时可以收敛到目标延时。在实施例中,比例常数α和β中的每一个可以通过通常在控制理论中使用的参数调整方法来确定。

磨损均衡请求与用于均衡存储器装置30(例如,闪速存储器装置)的物理块的擦除操作的数量的操作相关联,并且可以使用闪速存储器装置30中的物理块的各自擦除计数中的最大擦除计数与物理块的各自擦除计数中的最小擦除计数之间的差作为状态信息。例如,闪速存储器装置30中的最大擦除计数与最小擦除计数之间的测量差变为等于使用磨损均衡请求的目标差。

因此,第二任务控制器140-2基于目标差和由第二任务生成器1-2提供的测量差来生成用于磨损均衡请求的目标份额的第二值。

例如,第二任务生成器1-2可以管理闪速存储器装置30的每个块的擦除计数信息。第二任务生成器1-2生成指示测量差的第二测量状态信号ms2并将第二测量状态信号ms2提供给第二任务控制器140-2。

当测量差大于目标差时,第二任务控制器140-2可以增加目标份额的第二值,并且当测量差小于目标差时,第二任务控制器140-2可以减小目标份额的第二值。

垃圾收集请求与回收闪速存储器装置30中的空闲块的操作相关联并且可以使用闪速存储器装置30中的可用空闲块的数量作为状态信息。例如,闪速存储器装置30中的空闲块的测量数量变为等于使用垃圾收集请求的空闲块的目标数量。

因此,第三任务控制器140-3基于空闲块的目标数量和由第三任务生成器1-3提供的空闲块的测量数量来生成用于垃圾收集请求的目标份额的第三值。

第三任务生成器1-3可以管理存储器装置30中的空闲块的数量。第三任务生成器1-3生成指示空闲块的测量数量的第三测量状态信号ms3并且将第三测量状态信号ms3提供给第三任务控制器140-3。

当空闲块的测量数量大于空闲块的目标数量时,第三任务控制器140-3可以减小目标份额的第三值,并且当测量数量小于目标数量时,第三任务控制器140-3可以增加目标份额的第三值。

在存储器系统40的操作期间可以调整目标状态(例如,目标延时、最大擦除计数与最小擦除计数之间的目标差以及空闲块的目标数量)。

例如,可以根据预定时间表或通过系统40的用户中断操作来设置目标状态中的每一个的值。

如上所述,根据本公开的实施例,通过调整分别对应于多种类型的任务的多个目标状态的一个或多个值,可以针对多种类型的任务灵活地控制调度。

另外,可以实时自由地调整系统(例如,图2中的存储器系统40)的性能。例如,当通过用户中断操作来设置目标状态的一个或多个值时,可以实时调整系统40的操作。

图4示出根据本公开的实施例的控制器200。

控制器200包括定序器210、通道调度器220和命令控制器230。

定序器210接收指示由任务调度器(例如,图2中的任务调度器110)选择的任务的信号task,并且生成与选择的任务相对应的多个宏命令。

例如,对应于读取请求的宏命令包括激活命令、数据命令和状态命令。

激活命令将闪速存储器装置(例如,图2中的存储器装置30)置于读取就绪状态,以用于待读取的地址。

数据命令使数据从闪速存储器装置的一个或多个存储器单元输出,该一个或多个存储器单元对应于待读取的地址。

状态命令指示针对与待读取的地址相对应的存储器单元,是否已经完成与读取请求相关联的读取操作。

通道调度器220确定多个宏命令的处理顺序以有效地使用多个通道和多个闪存芯片。

存储器装置(例如,图2中的存储器装置30)包括多个闪存芯片并且可以经由多个通道联接到控制器200。

例如,如果特定通道正在使用中,则可以执行调度以使用不同的通道。

命令控制器230生成与选择的宏命令相对应的一个或多个微命令,以控制存储器装置30。

微命令可以包括用于直接控制闪存芯片的多个信号。

例如,微命令可以包括芯片使能信号ce、读取使能信号re、写入使能信号we、数据信号dq、数据选通信号dqs等。

如上所述,当多个任务生成器的优先级变化时,通过增加具有高优先级的任务生成器的份额,可总体上提高根据实施例的存储器装置(例如,图2中的存储器装置30)的处理速度。

虽然为了说明的目的已经描述了各个实施例,但是对于本领域技术人员将显而易见的是,各种改变和变型是可能的。

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