CN111796762A - 存储装置、控制器以及控制器的操作方法 - Google Patents
存储装置、控制器以及控制器的操作方法 Download PDFInfo
- Publication number
- CN111796762A CN111796762A CN201911143253.3A CN201911143253A CN111796762A CN 111796762 A CN111796762 A CN 111796762A CN 201911143253 A CN201911143253 A CN 201911143253A CN 111796762 A CN111796762 A CN 111796762A
- Authority
- CN
- China
- Prior art keywords
- descriptor
- queue
- controller
- target
- queued
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000004065 semiconductor Substances 0.000 claims description 34
- 241001522296 Erithacus rubecula Species 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 7
- 238000011017 operating method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 101000984551 Homo sapiens Tyrosine-protein kinase Blk Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请公开一种存储装置、控制器以及控制器的操作方法。控制器可以包括:描述符存储电路,被配置为将与从主机接收的命令相对应的至少一个描述符存储在N(N是自然数)个描述符队列之中的一个描述符队列中;描述符队列选择电路,被配置为选择N个描述符队列之中的一个描述符队列作为目标描述符队列;以及描述符执行控制电路,被配置为基于关于可用功率预算的信息和关于针对第一描述符的功耗量的信息,确定由存储在目标描述符队列中的第一描述符指示的操作是否是可执行的,并且当由第一描述符指示的操作是可执行的时,控制是否执行由与第一描述符一起被存储在目标描述符队列中的第二描述符指示的操作。
Description
相关申请的交叉引用
本申请要求于2019年4月3日提交的申请号为10-2019-0039241的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储装置、控制器以及控制器的操作方法。
背景技术
存储装置是基于诸如计算机和智能电话的主机的请求而存储数据的装置。存储装置不仅包括将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,还包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置和嵌入式MMC(eMMC)装置的非易失性存储器中的装置。
非易失性存储器包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。
存储装置包括在其中的控制器。控制器可以从主机接收命令,并且可以基于接收的请求执行用于从存储装置中的易失性存储器或非易失性存储器读取数据/将数据写入存储装置中的易失性存储器或非易失性存储器中的操作。
发明内容
各个实施例涉及一种能够有效地执行由针对单个命令的多个描述符指示的操作的存储装置、控制器以及控制器的操作方法。
而且,各个实施例涉及一种能够连续地执行由针对单个命令的多个描述符指示的操作从而提高性能的存储装置、控制器以及控制器的操作方法。
此外,各个实施例涉及一种能够有效地处理与一个或多个描述符相对应的一个命令的存储装置、控制器以及控制器的操作方法。
在实施例中,一种适于控制半导体存储器装置的控制器可以包括:描述符存储电路,被配置为将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N为自然数;描述符队列选择电路,被配置为选择N个描述符队列之中的一个描述符队列作为目标描述符队列;以及描述符执行控制电路,被配置为基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的,并且当确定由第一描述符指示的操作是可执行的时,控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
在实施例中,一种存储装置可以包括:半导体存储器装置;以及控制器,被配置为控制半导体存储器装置并且执行由至少一个描述符指示的操作,控制器包括:描述符存储电路,被配置为将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N是自然数;描述符队列选择电路,被配置为选择N个描述符队列之中的一个描述符队列作为目标描述符队列;以及描述符执行控制电路,被配置为基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的,并且当确定由第一描述符指示的操作是可执行的时,控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
在实施例中,一种控制器的操作方法,控制器适于控制半导体存储器装置,该方法可以包括:将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N是自然数;选择N个描述符队列之中的一个描述符队列作为目标描述符队列;基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的,并且当确定由第一描述符指示的操作是可执行的时,控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
在实施例中,一种控制器的操作方法可以包括:将针对单个命令的多个描述符的组排队;当针对根据该组中的第一描述符而被首先待执行的操作的第一功率需求落在存储器装置的可用功率预算之内时,控制存储器装置连续地执行根据该组的操作,其中针对根据该组中的后续描述符而被后续待执行的操作的后续功率需求被设置为第一功率需求或更小。
附图说明
图1是根据本公开的实施例的存储装置的配置示图。
图2是将描述符存储在图1的控制器中并执行该描述符的操作的流程的示图。
图3是将描述符存储在图1的控制器中并执行该描述符的操作的示图。
图4是根据本公开的实施例的将与命令相对应的描述符排队在多个描述符队列中的一个的示图。
图5是根据本公开的实施例的选择描述符队列中的一个作为目标描述符队列的操作的示图。
图6是根据本公开的实施例的控制由被排队在选择的目标描述符队列中的描述符指示的操作的示图。
图7是根据本公开的实施例的控制由被排队在选择的目标描述符队列中的描述符指示的操作的示图。
图8是根据本公开的实施例的执行由被排队在目标描述符队列中的描述符指示的操作的进程的流程图。
图9是根据本公开的实施例的执行由被排队在目标描述符队列中的描述符指示的操作的进程的流程图。
图10是根据本公开的实施例的用于控制执行由描述符指示的操作的功率表。
图11是根据本公开的实施例的用于控制执行由描述符指示的操作的功率表。
图12是根据本公开的实施例的控制器的操作方法的流程图。
具体实施方式
在本公开中,在结合附图阅读下列实施例之后,优点、特征以及用于实现优点和特征的方法将变得更加显而易见。然而,本公开可以以不同的形式实施并且不应被解释为限于本文阐述的实施例。相反,提供本公开的这些实施例是为了详细描述本公开,以使得本公开所属领域的技术人员能够容易地实现本公开的技术构思。
注意的是,对“实施例”、“另一实施例”等的参考不一定仅表示一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
在本文中将理解的是,本公开的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,并且在某些情况下,比例可能已经被夸大以便更清楚地描绘本公开的某些特征。相同的附图标记在整个附图和说明书中表示相同的元件。
虽然本文中使用特定术语,但是将理解的是,本文中使用的术语仅出于描述本公开的特定实施例的目的,并不旨在限制本公开的实施例的范围。
仅示出与根据本公开的实施例有关并且在本说明书或本申请中公开的特定结构或功能描述来描述本公开的实施例。本公开的实施例可以以各种形式实施,并且不应被解释为限于本说明书或本申请中描述的实施例。
根据本公开的实施例可以以各种方式修改并且可以具有各种形式,使得特定实施例旨在在附图中示出并且在本说明书或本申请中详细描述。然而,应理解的是,那些实施例不是旨在将基于本公开构思的实施例限制为特定公开形式,并且实施例包括在本公开的精神和范围内包括的所有改变、等同方案或修改。
如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。可以使用诸如“第一”和“第二”的术语来描述各个组件,但是这些组件不应受这些术语的限制。这些术语仅用于将一个组件与其它组件区分开。例如,在不脱离基于本公开构思的范围的情况下,第一组件可以被表示为第二组件,并且以类似的方式,第二组件可以被表示为第一组件。
将理解的是,当元件被称为“连接”或“联接”至另一元件时,它可以直接连接或联接至另一元件,或者也可以存在中间元件。相反,当元件被称为“直接连接”或“直接联接”至另一元件时,则不存在中间元件。应以类似的方式来解释描述组件之间的关系的其它表示,即“在......之间”、“直接在......之间”或“与......相邻”和“直接与......相邻”。
除非在上下文中特别指出相反的描述,否则单数表述包括复数表述。除非另有说明或从上下文清楚地指出单数形式,否则本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”。在本说明书中,应理解的是,诸如“包括”或“具有”的术语仅旨在指示存在特征、数量、步骤、操作、组件、部件或其组合,并不旨在排除存在或增加一个或多个其它特征、数量、步骤、操作、组件、部件或其组合的可能性。
除非有不同的定义,否则本文使用的包括技术术语或科学术语的所有术语具有与本公开所属领域的技术人员通常理解的含义相同的含义。与通常使用的词典中定义的术语相同的术语应被解释为具有与相关技术的上下文含义相同的含义,并且被被解释为理想化的活过于形式化的,除非术语在本说明书中被定义。
可以省略并入本文的公知功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述以使本公开的主题更清楚。
而且,在描述本公开的实施例的组件时,可能存在诸如第一、第二、A、B、(a)和(b)的术语。这些术语仅是为了将一个组件与其它组件区别开,而不是暗示或表明组件的物质、次序或顺序。如果组件被描述为“连接”、“联接”或“连结”至另一组件,则意味着该组件不仅可以直接地“连接”、“联接”或“连结”,而且可以通过第三组件间接地“连接”、“联接”或“连结”。
下面将参照附图描述各个实施例,以详细描述公开的实施例使得本领域的技术人员可以容易地实现本公开的实施例的技术构思。
图1是根据本公开的实施例的存储装置100的配置示图。
参照图1,存储装置100可以包括半导体存储器装置110和控制器120。
半导体存储器装置110可以存储数据。半导体存储器装置110响应于控制器120的控制而操作。半导体存储器装置110可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
在本公开的实施例中,半导体存储器装置110例如可以是DDR SDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
在本公开的实施例中,半导体存储器装置110可以被实现为三维阵列结构。本公开的实施例不仅可以应用于电荷存储层由导电浮栅(FG)配置的闪速存储器装置,而且还可以应用于电荷存储层由介电层配置的电荷撷取闪存(CTF)。
半导体存储器装置110被配置为从控制器120接收命令和地址并且访问存储器单元阵列中由地址选择的区域。换言之,半导体存储器装置110可以对由地址选择的区域执行与命令相对应的操作。
例如,半导体存储器装置110可以执行编程操作、读取操作以及擦除操作。在编程操作中,半导体存储器装置110可以将数据编程到由地址选择的区域。在读取操作中,半导体存储器装置110可以从由地址选择的区域读取数据。在擦除操作中,半导体存储器装置110可以擦除存储在由地址选择的区域中的数据。
半导体存储器装置110可以在其中包括多个存储块。半导体存储器装置110中包括的N(其中N是自然数)个存储块可以分别由参考符号BLK1、BLK2、......、BLK(N)表示。
控制器120可以根据主机50的请求或不管主机50的请求而控制半导体存储器装置110的操作。例如,控制器120可以控制半导体存储器装置110的写入操作、读取操作、擦除操作和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
控制器120可以包括主机接口121、处理器122、闪存接口123、RAM 124、描述符存储电路125、描述符队列选择电路126和描述符执行控制电路127。
主机接口121提供用于与主机50通信的接口。当从主机50接收到命令时,控制器120可以通过主机接口121接收命令,并且然后可以执行处理所接收的命令的操作。
处理器122可以控制控制器120的一般操作,并且可以执行逻辑计算。处理器122可以通过主机接口121与主机50通信,并且通过闪存接口123与半导体存储器装置110通信。
处理器122可以执行闪存转换层(FTL)的功能。处理器122可以通过闪存转换层(FTL)将由主机50提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以接收逻辑块地址(LBA),并且通过使用映射表来将LBA转换为物理块地址(PBA)。根据映射单元,存在闪存转换层的各种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法以及混合映射方法。
处理器122被配置为使从主机50接收的数据随机化。例如,处理器122可以通过使用随机化种子使从主机50接收的数据随机化。经随机化的数据作为待存储数据被提供给半导体存储器装置110,并且被编程到存储器单元阵列。
在读取操作中,处理器122被配置为使从半导体存储器装置110接收的数据去随机化。例如,处理器122可以通过使用去随机化种子使从半导体存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机50。
处理器122可以在启动时驱动加载在RAM 124中的固件,以控制控制器120的一般操作并执行逻辑计算。以下将描述的描述符存储电路125、描述符队列选择电路126和描述符执行控制电路127的操作可以通过相应固件来实施。
闪存接口123提供用于与半导体存储器装置110通信的接口。
RAM 124可以存储驱动控制器120所需的固件、程序代码、命令或数据,并且可以是SRAM或DRAM。
描述符存储电路125执行将与从主机50接收的命令相对应的至少一个描述符排队在N(N是自然数)个描述符队列之中的一个中的操作。
如在本公开中使用,术语“电路”可以指适用的且根据设计的纯硬件电路实施方式以及电路和软件(和/或固件)的组合,并且还将涵盖仅处理器或处理器的一部分和(或它们)随附软件和/或固件的实施方式。
描述符队列将描述符作为单位排队。
描述符可以指示半导体存储器装置110执行针对从主机50提供的单个命令(例如,读取命令、编程命令或擦除命令)的子操作。一个或多个描述符可以配置分别对应于描述符的单个命令和一个或更多个子操作,并且可以配置响应于单个命令而执行的操作(例如,读取操作、编程操作或擦除操作)。
就这方面而言,虽然仅一个描述符可以对应于一个命令,但是多个描述符也可以对应于一个命令。特别地,当从主机50接收的命令包括详细的且组合的操作时,针对各个子操作的描述符可以对应于从主机50接收的命令。
例如,作为单个命令的读取命令可以对应于两个描述符:一个描述符针对感测半导体存储器装置110中存储的数据的读取感测操作并且另一个描述符针对输出被感测数据的数据输出操作。
再如,作为单个命令的、用于读取高速缓存中存储的数据的高速缓存读取命令可以对应于两个描述符:一个描述符针对感测高速缓存中存储的数据的高速缓存读取感测操作并且另一个描述符针对输出读取的数据的数据输出操作。
稍后将参照图4详细描述将与从主机50接收的命令相对应的至少一个描述符排队在N(N是自然数)个描述符队列之中的一个描述符队列中的操作。
描述符队列选择电路126执行选择在上述N个描述符队列之中选择目标描述符队列的操作。
可以根据预设时间间隔重新选择目标描述符队列,或者可以在预定事件发生时重新选择目标描述符队列。作为选择目标描述符队列的方案的示例,可以在N个描述符队列之中随机选择目标描述符队列,可以以循环(round-robin)方式选择目标描述符队列,或者可以根据优先级来选择目标描述符队列,其中根据每个描述符队列的状态信息来确定优先级。
稍后将参照图5详细描述描述符队列选择电路126选择N个描述符队列之中的一个描述符队列作为目标描述符队列的具体操作的示例。
描述符执行控制电路127可以首先执行确定是否执行由被排队在目标描述符队列中的第一描述符指示的操作的操作。就这方面而言,由于队列通常具有FIFO(先进先出)结构,所以第一描述符可以是被排队在目标描述符队列中的描述符之中首先排队的描述符。
描述符执行控制电路127可以基于关于半导体存储器装置110的可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的。在本公开中的针对描述符估计的功耗量是指响应于该描述符而待执行的操作所需的估计的功耗量。
描述符执行控制电路127基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行,其原因如下。
存储装置100处理由从主机50接收的命令指示的操作而消耗的估计的功率对于每种类型的命令都不同,并且即使在一个命令中,每个子操作所消耗的估计的功率也不同。
如果在短时间段内频繁执行消耗大量功率的操作,则峰值功率增加,使得存储装置100的功耗激增,这可能会在存储装置100中引起诸如电流过大的问题。
因此,存储装置100中的控制器120管理存储装置100的功耗,以防止功耗急剧增加的现象。为此,控制器120控制执行针对从主机50接收的命令的子操作,使得可以在当前可用功率预算内处理该命令。
为此,控制器120可以确定针对由描述符指示的子操作的估计的功耗量,并且可以通过将针对描述符的估计的功耗量与当前可用功率预算进行比较来确定由描述符指示的操作是否是可执行的。
例如,当执行读取感测操作时可能消耗功率y,而当执行单独的状态检查操作时可能消耗功率y'。如果当前可用功率预算z的值是y>z>y',则分配指示状态检查操作被确定为是可执行的描述符,并且分配指示读取感测操作被确定为是不可执行的描述符。
然而,如果与不同命令相对应的所有描述符被排队在一个描述符队列中,则由于队列的FIFO结构,后续排队的描述符不能被执行,直到先前排队的描述符的执行完成为止。当描述符被分布并排队在多个描述符队列中时,被排队在描述符队列之中的一个队列中的后续描述符可以被执行,即使在被排队在描述符队列之中的另一队列中的先前描述符被确定为是不可执行的时。(例如,由于有限的功率预算,被排队在描述符队列之中的另一队列中的先前描述符可能是不可执行的)。
因此,描述符执行控制电路127可以执行控制,使得如果由被排队在目标描述符队列中的第一描述符指示的操作是可执行的,则执行由第一描述符指示的操作,并且如果由被排队在目标描述符队列中的第一描述符指示的操作是不可执行的,则首先执行由被排队在另一描述符队列中的描述符指示的操作,并且可以在确保功率预算之后执行由第一描述符指示的操作。
此外,当确定由第一描述符指示的操作是可执行的时,描述符执行控制电路127可以控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
第二描述符可以是在目标描述符队列中被排队在第一描述符之后的描述符。第二描述符可以对应于或可以不对应于与第一描述符相同的命令。
在下文中,将描述描述符执行控制电路127控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作的示例。
例如,当控制器120的操作模式是第一操作模式时,描述符执行控制电路127可以执行控制,使得在第二描述符可以对应于与第一描述符相同的命令时,在执行由被排队在被选择作为目标描述符队列的第一描述符队列中的第一描述符指示的操作之后,连续执行由被排队在第一描述符队列中的第二描述符指示的操作。也就是说,描述符执行控制电路127可以执行控制,使得在第一操作模式下,连续执行被排队在目标描述符队列中并且与单个命令相对应的第一描述符和第二描述符。
在控制器120的操作模式是与第一操作模式不同的第二操作模式的情况下,描述符执行控制电路127可以执行控制,使得在执行由被排队在被选择作为目标描述符队列的第一描述符队列中的第一描述符指示的操作之后,执行由被排队在被选择作为目标描述符队列的第二描述符队列中的另一描述符指示的操作,第二描述符队列在第一描述符队列之后。换言之,描述符执行控制电路127可以执行控制,使得在第二操作模式下,不连续执行被排队在目标描述符队列中的第一描述符和第二描述符。
稍后将通过图6至图9详细描述描述符执行控制电路127控制由被排队在目标描述符队列中的描述符指示的操作的示例。
为了在可用功率预算内处理从主机50接收的命令,描述符执行控制电路127可以基于针对每个描述符估计的功耗量以及可用功率预算来确定由描述符指示的操作是否是可执行的。
稍后将参照图10和图11描述用于控制执行由描述符指示的操作的功率表。
总线128可以被配置为在控制器120的组件之中提供通道。
图2是图1的存储装置100中的控制器120将描述符排队并执行描述符的操作流程的示图。
参照图2,描述符存储电路125将与从主机50接收的命令相对应的至少一个描述符排队在N个描述符队列DQ1至DQN之中的一个队列中。
描述符队列选择电路126可以选择N个描述符队列DQ1至DQN之中的一个队列作为目标描述符队列。
单独执行描述符存储电路125将描述符排队在N个描述符队列DQ1至DQN之中的一个描述符队列中的操作以及描述符队列选择电路126选择N个描述符队列DQ1至DQN之中的一个描述符队列作为目标描述符队列的操作。
关于描述符队列选择电路126中选择的目标描述符队列,描述符执行控制电路127可以基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的。
当确定由第一描述符指示的操作是可执行的时,描述符执行控制电路127可以控制执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
图3是将描述符存储在图1的控制器120中并执行该描述符的操作的示图。
参照图3,描述符存储电路125可以将与从主机50接收的命令相对应的至少一个描述符排队在N个描述符队列DQ1至DQN之中的一个描述符队列中。N个描述符队列DQ1至DQN可以位于控制器120中的RAM 124中。
描述符队列选择电路126可以选择位于RAM 124中的N个描述符队列DQ1至DQN之中的一个描述符队列作为目标描述符队列。
关于描述符队列选择电路126中选择的目标描述符队列,描述符执行控制电路127可以基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的。
当确定由第一描述符指示的操作是可执行的时,描述符执行控制电路127可以控制执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作。
图4是根据本公开的实施例的将与命令相对应的描述符排队在一个描述符队列中的操作的示图。
参照图4,与从主机50接收的命令相对应的描述符被排队在N个描述符队列DQ1至DQN之中的一个描述符队列中。
当观察命令和描述符之间的关系时,一个描述符desc(erase)或desc(program)可以对应于诸如擦除命令cmd(erase)和编程命令cmd(program)的一个命令,并且多个描述符desc(read sensing)和desc(dout)可以对应于诸如读取命令cmd(read)的一个命令。此时,与单个命令相对应的描述符可以被排队在描述符队列DQ1至DQN之中的相同描述符队列中。
例如,与擦除命令cmd(erase)相对应的描述符desc(erase)被排队在描述符队列DQ1中,并且与读取命令cmd(read)相对应的描述符desc(read sensing)和desc(dout)被排队在描述符队列DQ2中,并且与编程命令cmd(program)相对应的描述符desc(program)被排队在描述符队列DQ3中。
如果排队的描述符以这种方式分布在N个描述符队列DQ1至DQN中,则描述符队列选择电路126执行选择N个描述符队列DQ1至DQN之中的一个目标描述符队列的操作。
图5是根据本公开的实施例的选择描述符队列中的一个作为目标描述符队列的操作的示图。
参照图5,描述符队列选择电路126可以以循环方式选择目标描述符队列。
首先,在时间T1,描述符队列选择电路126选择N个描述符队列DQ1至DQN之中的描述符队列DQ1作为目标描述符队列。
此后,描述符队列选择电路126可以在时间T2选择描述符队列DQ2作为目标描述符队列,可以在时间T3选择描述符队列DQ3作为目标描述符队列,并且通过重复相同进程,可以在时间TN选择描述符队列DQN作为目标描述符队列。
即,可以以循环方式在N个描述符队列DQ1至DQN之中逐个选择目标描述符队列,例如DQ1->DQ2->DQ3->......->DQN->DQ1->DQ2->......。
虽然作为示例在图5中描述根据时间以循环方式选择目标描述符队列,但是本公开不限于此。例如,代替时间,可以在满足预设事件发生条件时,以循环方式选择目标描述符队列。
图6是根据本公开的实施例的控制由被排队在选择的目标描述符队列中的描述符指示的操作的示图。
在图6的示例中,描述符队列选择电路126选择描述符队列DQ2作为目标描述符队列。而且,假设与一个读取命令cmd(read)相对应的两个描述符desc(read sensing)和desc(dout)被排队在描述符队列DQ2中。在两个描述符desc(read sensing)和desc(dout)中,描述符desc(read sensing)是指示读取感测操作的描述符,并且描述符desc(dout)是指示数据输出操作的描述符。
描述符执行控制电路127可以基于关于可用功率预算的信息和关于针对描述符desc(read sensing)估计的功耗量的信息来确定操作,即由被排队在作为目标描述符队列的描述符队列DQ2中的描述符之中的首先排队的描述符desc(read sensing)指示的操作是否是可执行的。
当描述符desc(read sensing)是可执行的时,可以连续地执行描述符队列DQ2中的被排队在描述符desc(read sensing)之后的描述符desc(dout)。这是因为仅当执行由描述符desc(read sensing)指示的操作和由描述符desc(dout)指示的操作时,读取命令cmd(read)的操作才完成。
如果执行了由描述符desc(read sensing)指示的操作,但是未连续执行由描述符desc(dout)指示的操作,则可以选择另一描述符队列作为目标描述符队列,并且然后,当重新选择描述符队列DQ2作为目标描述符队列,可以执行由描述符desc(dout)指示的操作。在这种情况下,因为延迟了读取命令cmd(read)的操作完成的时间,所以可能产生问题。
因此,当被排队在描述符队列DQ2中的描述符desc(read sensing)是可执行的时,描述符执行控制电路127可以执行控制,使得在执行由描述符desc(read sensing)指示的操作之后,可以连续执行由描述符desc(dout)指示的操作。
当完全执行由描述符指示的操作时,该描述符从目标描述符队列中出列。
另一方面,当描述符desc(read sensing)是不可执行的时,可以重新选择与当前选择作为目标描述符队列的描述符队列不同的单独描述符队列作为目标描述符队列。此时,因为未执行由描述符desc(read sensing)和desc(dout)指示的操作,所以描述符desc(read sensing)和desc(dout)不从目标描述符队列中出列。
在这种情况下,当描述符队列选择电路126再次选择描述符队列DQ2作为目标描述符队列时,描述符执行控制电路127再次确定由描述符desc(read sensing)指示的操作是否是可执行的。
图7是根据本公开的实施例的控制由被排队在选择的目标描述符队列中的描述符指示的操作的示图。
在图7中,描述符队列选择电路126选择描述符队列DQ3作为目标描述符队列。而且,与一个编程命令cmd(program)相对应的一个描述符desc(program)被排队在描述符队列DQ3中。
描述符执行控制电路127可以基于关于可用功率预算的信息和关于针对描述符desc(program)估计的功耗量的信息来确定由被排队在作为目标描述符队列的描述符队列DQ3中的描述符之中的首先排队的描述符desc(program)指示的操作,即编程操作是否是可执行的。
当描述符desc(program)是可执行的时,执行由描述符desc(program)指示的编程操作,并且描述符desc(program)从描述符队列DQ3出列。
另一方面,当描述符desc(program)是不可执行的时,可以重新选择与当前选择作为目标描述符队列的描述符队列不同的单独描述符队列作为目标描述符队列。此时,描述符desc(program)不会从目标描述符队列中出列。
图8是本公开的实施例中的执行由被排队在目标描述符队列中的描述符指示的操作的进程的流程图。
图8示出仅一个描述符对应于一个命令的情况或者即使多个描述符可以对应于一个命令,但是每次选择目标描述符队列时仅由一个描述符指示的操作是可执行的情况的示例。
在下文中,将描述由上述参照图1描述的控制器120执行本进程的示例。
首先,描述符执行控制电路127可以确定由被排队在当前选择的目标描述符队列中的第一描述符指示的操作是否是可执行的。例如,描述符执行控制电路127可以基于关于半导体存储器装置110的可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由第一描述符指示的操作是否是可执行的(S810)。
当确定由第一描述符指示的操作是可执行的(S820-是)时,描述符执行控制电路127执行控制,使得执行由第一描述符指示的操作(S830)。
此后,描述符队列选择电路126执行重新选择N个描述符队列之中的一个目标描述符队列的操作。
另一方面,当确定由第一描述符指示的操作是不可执行的(S820-否)时,则不执行由第一描述符指示的操作,并且立即执行步骤S840。
图9是根据本公开的实施例的执行由被排队在目标描述符队列中的描述符指示的操作的进程的流程图。
图9示出多个描述符对应于一个命令并且由被排队在单个目标描述符队列中的多个描述符指示的操作根据操作模式是连续可执行的情况的示例。
在下文中,将描述由上述参照图1描述的控制器120执行本进程的示例。
首先,以与图8相同的方式,描述符执行控制电路127可以确定由被排队在当前选择的目标描述符队列中的第一描述符指示的操作是否是可执行的。例如,描述符执行控制电路127可以基于关于半导体存储器装置110的可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由第一描述符指示的操作是否是可执行的(S910)。
当确定由第一描述符指示的操作是可执行的(S920-是)时,描述符执行控制电路127执行控制,使得执行由第一描述符指示的操作(S930)。
另一方面,当确定由第一描述符指示的操作是不可执行的(S920-否)时,不执行由第一描述符指示的操作,然后描述符队列选择电路126执行重新选择N个描述符队列之中的一个目标描述符队列的操作(S960)。
在执行步骤S930之后,描述符执行控制电路127确定控制器120的操作模式是否为第一操作模式(S940)。
如果控制器120的操作模式是第一操作模式(S940-是),则描述符执行控制电路127可以执行控制,使得在执行由被排队在目标描述符队列中的第一描述符指示的操作之后,连续执行由被排队在目标描述符队列中的第二描述符指示的操作(S950)。第二描述符可以是在目标描述符队列中被排队在第一描述符之后的描述符。第二描述符可以对应于与第一描述符相同的命令。描述符执行控制电路127可以执行控制,使得在第一操作模式下,连续执行被排队在目标描述符队列中并且与单个命令相对应的第一描述符和第二描述符。
在执行步骤S950之后,描述符队列选择电路126执行重新选择N个描述符队列之中的一个目标描述符队列的操作(S960)。
如果控制器120的操作模式不是第一操作模式(S940-否),也就是说,当控制器120的操作模式是与第一操作模式不同的第二操作模式时,则执行步骤S960。也就是说,在执行由被排队在被选择作为目标描述符队列的第一描述符队列中的第一描述符指示的操作之后,为了执行被排队在第一描述符队列之后被选择作为目标描述符队列的第二描述符队列中的另一描述符指示的操作,描述符队列选择电路126执行从第一描述符队列向第二描述符队列地重新选择目标描述符队列的操作。
图10和图11是示出用于控制执行由描述符指示的操作的功率表的示图。
功率表可以包括关于当根据时间执行由预定描述符指示的操作时估计待消耗的功率的信息。例如,功率表可以包括关于以下的信息:与由描述符指示的操作的一部分相对应的索引、与每个索引相对应的操作的模式、执行与每个索引相对应的操作所需的估计时间以及执行与每个索引相对应的操作所消耗的估计的功率值(即,量)。
一个或多个索引可以对应于一个描述符。这是因为由每个描述符指示的操作所消耗的估计的功率可能会随时间变化。
在本公开的实施例中,将描述在功率表中由五个位配置关于模式的信息的情况,但是将注意的是,配置关于模式的信息的位的数量可以不固定,并且可能会改变。
在下文中,将描述在功率表中配置关于模式的信息的各个位。然而,各个位的位置和由各个位指示的信息可以根据实现示例而改变,并且不限于以下描述的示例。
首先,作为最高有效位的位模式4是指示与每个索引相对应的操作是否是与每个索引相对应的描述符的最后操作的位。如果位模式4的值为1,则是指与当前索引相对应的操作是描述符的最后操作;如果位模式4的值为0,则是指与当前索引相对应的操作不是描述符的最后操作。
位模式3是指示与当前索引相对应的操作结束的参考的位。如果位模式3的值为1,则是指与当前索引相对应的操作在特定时间结束;如果位模式3的值为0,则是指与当前索引相对应的操作在生成特定信号时结束。
位模式2是指示在与每个索引相对应的操作结束之后是否分配功率值的位。如果位模式2的值是1,则是指向后续描述符分配功率值,并且如果位模式2的值是0,则是指不向后续描述符分配功率值。
位模式1是指示当输入新命令的执行请求时,当前执行的操作是立即结束并且处理新命令的执行请求还是将继续执行当前执行的操作的位。如果位模式1的值为1,则继续执行当前执行的操作(但是,会为新命令提供授权),并且如果位模式1的值为0,则立即结束当前执行的操作并且处理新命令的执行请求。
最后,位模式0是指示在相应时间段内是恒定地施加功率值还是以线性减小的模式将功率值施加为不同值的位。如果位模式0的值为1,则是指以线性减小的模式施加功率值,并且如果位模式0的值为0,则是指恒定地施加功率值。
可以不同地设置执行与每个索引相对应的操作的时间单位。在图10和图11中,将作为示例描述当时间单位为μs的情况。
下面参照图10和图11描述的功率表可以应用于以上参照图4描述的描述符之中的、与读取命令cmd(read)相对应的指示读取感测操作的描述符desc(read sensing)和指示数据输出操作的描述符desc(dout)。在图10和图11中,索引0和1对应于指示读取感测操作的描述符desc(read sensing),并且索引2对应于指示数据输出操作的描述符desc(dout)。
图10是本公开的实施例中的用于控制执行由描述符指示的操作的功率表。
参照图10,首先,对于读取感测操作,根据功率表的索引0的信息,估计在24μs内的功率值为80。此后,由于功率表的索引1的位模式4的值为1,所以指示结束读取感测操作,并且此时,由于位模式2的值为0,因此不向索引2的描述符分配功率值。
因此,当根据图10的功率表执行由描述符指示的操作时,由于在执行与索引0和1相对应的读取感测操作之后,不向索引2的描述符分配针对与索引2相对应的数据输出操作的功率值,因此在读取感测操作之后不执行数据输出操作。
图11是本公开的实施例中的用于控制执行由描述符指示的操作的功率表。
与图10相比,图11的区别在于,在功率表的索引1的条目中,位模式2被设置为1,并且功率值被估计为80。因此,当根据图11的功率表执行由描述符指示的操作时,在执行与索引0和1相对应的读取感测操作之后,可以连续地执行数据输出操作。
此时,可以将为数据输出操作分配的功率值设置为针对与索引0相对应的描述符而估计的功率值(即80)或更小。也就是说,可以估计功率表中的功率值,使得针对后续描述符(例如,指示数据输出操作)估计的功耗量等于或小于针对先前描述符(例如,指示读取感应操作)估计的功耗量。
同时,可以估计功率表中的功率值,使得针对先前描述符(例如,指示读取感测操作)估计的功耗量和针对后续描述符(例如,指示数据输出操作)估计的功耗量被确定为等于或小于基于关于可用功率预算的信息而估计的最大功耗量。
例如,在当前最大功耗量为80时,可以将针对与功率表中的索引0至索引2相对应的描述符估计的功率值设置为不超过80。
图12是根据本公开的实施例的控制器120的操作方法的流程图。
在下文中,将描述由以上参照图1描述的存储装置100中的控制器120执行本方法的示例。
参照图12,首先,控制器120的描述符存储电路125可以将与从主机50接收的命令相对应的至少一个描述符排队在N个(N是自然数)描述符队列之中的一个描述符队列中(S1210)。
控制器120的描述符队列选择电路126可以选择N个描述符队列之中的一个描述符队列作为目标描述符队列(S1220)。
控制器120的描述符执行控制电路127可以确定由被排队在目标描述符队列中的第一描述符指示的操作是否是可执行的(S1230)。描述符执行控制电路127可以基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由第一描述符指示的操作是否是可执行的。
当在步骤S1230中确定由第一描述符指示的操作是可执行的时,控制器120的描述符执行控制电路127可以控制是否执行由与第一描述符一起被排队在目标描述符队列中的第二描述符指示的操作(S1240)。
在步骤S1240中,第一描述符和第二描述符可以对应于相同的命令。例如,对于一个读取命令,第一描述符可以指示读取感测操作,并且第二描述符可以指示数据输出操作。
在步骤S1240中,可以根据控制器120的操作模式来改变在执行由第一描述符指示的操作之后执行由第二描述符指示的操作的模式。
例如,当控制器120的操作模式是第一操作模式时,描述符执行控制电路127可以执行控制,使得在执行由被排队在被选择作为目标描述符队列的第一描述符队列中的第一描述符指示的操作之后,连续执行由被排队在第一描述符队列中的第二描述符指示的操作。为此,描述符执行控制电路127可以设置如图11的示例中的功率表。此时,可以将针对第二描述符估计的功耗量确定为等于或小于针对第一描述符估计的功耗量,并且可以将针对第一描述符和第二描述符中的每一个估计的功耗量确定为等于或小于基于关于可用功率预算的信息而确定的最大功耗量。
另一方面,当控制器120的操作模式是与第一操作模式不同的第二操作模式时,描述符执行控制电路127可以执行控制,使得在执行由被排队在被选择作为目标描述符队列的第一描述符队列中的第一描述符指示的操作之后,执行由被排队在第一描述符队列之后被选择作为目标描述符队列的第二描述符队列中的另一描述符指示的操作。为此,描述符执行控制电路127可以设置如图10的示例中的功率表。
通过上述本公开的实施例,即使将与一个命令相对应的多个描述符输入到描述符队列中,也可以连续地处理多个描述符,从而可以提供一种能够类似于处理一个描述符时的操作的存储装置和控制器。
此外,本公开的实施例可以提供一种能够有效地执行由多个描述符指示的操作的存储装置、控制器以及控制器的操作方法。
而且,本公开的实施例可以提供一种能够连续地执行由多个描述符指示的操作从而提高性能的存储装置、控制器以及控制器的操作方法。
此外,本公开的实施例可以提供一种能够有效地处理与一个或多个描述符相对应的一个命令的存储装置、控制器以及控制器的操作方法。
本领域技术人员将理解的是,在不脱离本公开的实施例的精神和实质特征的情况下,本公开的上述实施例的技术配置可以以其它特定形式来实施。因此,应理解的是,本公开的上述实施例在所有方面都应被认为是说明性的而不是限制性的,本公开的实施例的范围由所附权利要求而不是由前面描述来指示,并且在等同概念的范围内的所有改变或修改将被解释为被包括在本公开的范围内。
在本公开的上述实施例中,可以选择性地执行或省略步骤。在本公开的每个实施例中,步骤不必按照连续的顺序发生,并且可以改变步骤的顺序。
在说明书中参照附图描述的本公开的实施例应被认为是说明性的而不是限制性的,以便帮助理解本公开。对于本领域技术人员显而易见的是,在不脱离本公开的更广泛精神和范围的情况下,可以对本公开进行各种修改和改变。
已经使用特定术语描述了本公开的各个实施例,但是说明书和附图应被认为是说明性的而不是限制性的,以便帮助理解本公开的实施例。因此,本公开的范围不应被解释为限于实施例,而是应该被认为是在本公开的精神和范围内考虑的各种改变和修改。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (18)
1.一种控制器,控制半导体存储器装置,所述控制器包括:
描述符存储电路,将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N为自然数;
描述符队列选择电路,选择所述N个描述符队列之中的一个描述符队列作为目标描述符队列;以及
描述符执行控制电路,所述描述符执行控制电路:
基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在所述目标描述符队列中的所述第一描述符指示的操作是否是可执行的;并且
当确定由所述第一描述符指示的操作是可执行的时,控制是否执行由与所述第一描述符一起被排队在所述目标描述符队列中的第二描述符指示的操作。
2.根据权利要求1所述的控制器,其中当所述控制器的操作模式是第一操作模式时,所述描述符执行控制电路执行控制,使得在执行由所述第一描述符指示的操作之后,连续执行由所述第二描述符指示的操作,所述第一描述符和所述第二描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中。
3.根据权利要求1所述的控制器,其中当所述控制器的操作模式是与第一操作模式不同的第二操作模式时,所述描述符执行控制电路执行控制,使得在执行由所述第一描述符指示的操作之后,执行由另一描述符指示的操作,所述第一描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中,所述另一描述符被排队在被选择作为所述目标描述符队列的第二描述符队列中。
4.根据权利要求1所述的控制器,其中所述描述符队列选择电路根据循环方式选择所述N个描述符队列之中的一个描述符队列作为所述目标描述符队列。
5.根据权利要求1所述的控制器,其中所述第一描述符和所述第二描述符对应于单个命令。
6.根据权利要求5所述的控制器,其中针对所述第二描述符估计的功耗量被确定为等于或小于针对所述第一描述符估计的功耗量。
7.根据权利要求5所述的控制器,其中用于所述第一描述符和所述第二描述符的功耗量中的每一个被确定为等于或小于基于关于可用功率预算的信息而确定的最大功耗量。
8.根据权利要求5所述的控制器,其中所述第一描述符和所述第二描述符中的一个是指示读取感测操作的描述符,并且另一个是指示数据输出操作的描述符。
9.根据权利要求5所述的控制器,其中所述第一描述符和所述第二描述符中的一个是指示高速缓存读取感测操作的描述符,并且另一个是指示数据输出操作的描述符。
10.一种存储装置,包括:
半导体存储器装置;以及
控制器,控制所述半导体存储器装置,并且执行由至少一个描述符指示的操作,
所述控制器,包括:
描述符存储电路,将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N为自然数;
描述符队列选择电路,选择所述N个描述符队列之中的一个描述符队列作为目标描述符队列;以及
描述符执行控制电路,所述描述符执行控制电路:
基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在所述目标描述符队列中的所述第一描述符指示的操作是否是可执行的;并且
当确定由所述第一描述符指示的操作是可执行的时,控制是否执行由与所述第一描述符一起被排队在所述目标描述符队列中的第二描述符指示的操作。
11.根据权利要求10所述的存储装置,其中当所述控制器的操作模式是第一操作模式时,所述描述符执行控制电路执行控制,使得在执行由所述第一描述符指示的操作之后,连续执行由所述第二描述符指示的操作,所述第一描述符和所述第二描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中。
12.根据权利要求10所述的存储装置,其中当所述控制器的操作模式是与第一操作模式不同的第二操作模式时,所述描述符执行控制电路执行控制,使得在执行由所述第一描述符指示的操作之后,执行由另一描述符指示的操作,所述第一描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中,所述另一描述符被排队在被选择作为所述目标描述符队列的第二描述符队列中。
13.根据权利要求10所述的存储装置,其中所述第一描述符和所述第二描述符对应于单个命令。
14.一种控制器的操作方法,所述控制器控制半导体存储器装置,所述方法包括:
将与从主机接收的命令相对应的至少一个描述符排队在N个描述符队列之中的一个描述符队列中,其中N为自然数;
选择所述N个描述符队列之中的一个描述符队列作为目标描述符队列;
基于关于可用功率预算的信息和关于针对第一描述符估计的功耗量的信息,确定由被排队在所述目标描述符队列中的所述第一描述符指示的操作是否是可执行的;并且
当确定由所述第一描述符指示的操作是可执行的时,控制是否执行由与所述第一描述符一起被排队在所述目标描述符队列中的第二描述符指示的操作。
15.根据权利要求14所述的方法,其中所述控制包括:当所述控制器的操作模式是第一操作模式时,执行控制,使得在执行由所述第一描述符指示的操作之后,连续执行由所述第二描述符指示的操作,所述第一描述符和所述第二描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中。
16.根据权利要求14所述的方法,其中所述控制包括:当所述控制器的操作模式是与所述第一操作模式不同的第二操作模式时,执行控制,使得在执行由所述第一描述符指示的操作之后,执行由另一描述符指示的操作,所述第一描述符被排队在被选择作为所述目标描述符队列的第一描述符队列中,所述另一描述符被排队在被选择作为所述目标描述符队列的第二描述符队列中。
17.根据权利要求14所述的方法,其中所述第一描述符和所述第二描述符对应于单个命令。
18.一种控制器的操作方法,所述操作方法包括:
将针对单个命令的多个描述符的组排队;
当针对根据所述组中的第一描述符而被首先待执行的操作的第一功率需求落在存储器装置的可用功率预算之内时,控制所述存储器装置连续地执行根据所述组的操作,
其中针对根据所述组中的后续描述符而被后续待执行的操作的后续功率需求被设置为所述第一功率需求或更小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190039241A KR20200117305A (ko) | 2019-04-03 | 2019-04-03 | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 |
KR10-2019-0039241 | 2019-04-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796762A true CN111796762A (zh) | 2020-10-20 |
CN111796762B CN111796762B (zh) | 2024-03-08 |
Family
ID=72662315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911143253.3A Active CN111796762B (zh) | 2019-04-03 | 2019-11-20 | 存储装置、控制器以及控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11086570B2 (zh) |
KR (1) | KR20200117305A (zh) |
CN (1) | CN111796762B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019243A1 (en) * | 2007-07-10 | 2009-01-15 | Ibrahim Hur | DRAM Power Management in a Memory Controller |
CN108376051A (zh) * | 2017-01-31 | 2018-08-07 | 爱思开海力士有限公司 | 数据存储装置 |
CN109426627A (zh) * | 2017-08-28 | 2019-03-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102204459B1 (ko) | 2014-11-19 | 2021-01-15 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20180074138A (ko) | 2016-12-23 | 2018-07-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2019
- 2019-04-03 KR KR1020190039241A patent/KR20200117305A/ko active IP Right Grant
- 2019-11-01 US US16/671,941 patent/US11086570B2/en active Active
- 2019-11-20 CN CN201911143253.3A patent/CN111796762B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019243A1 (en) * | 2007-07-10 | 2009-01-15 | Ibrahim Hur | DRAM Power Management in a Memory Controller |
CN108376051A (zh) * | 2017-01-31 | 2018-08-07 | 爱思开海力士有限公司 | 数据存储装置 |
CN109426627A (zh) * | 2017-08-28 | 2019-03-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111796762B (zh) | 2024-03-08 |
US20200319824A1 (en) | 2020-10-08 |
KR20200117305A (ko) | 2020-10-14 |
US11086570B2 (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372342B2 (en) | Multi-level cell solid state device and method for transferring data between a host and the multi-level cell solid state device | |
CN109522248B (zh) | 存储控制器的操作方法及储存设备的操作方法 | |
US20210374060A1 (en) | Timed Data Transfer between a Host System and a Memory Sub-System | |
CN110032333B (zh) | 存储器系统及其操作方法 | |
CN110431526B (zh) | 用于自动化动态字线开始电压的设备与方法 | |
KR102188628B1 (ko) | 수명 종료 상태에 도달할 경우, 솔리드 스테이트 메모리로의 기록들을 제한하기 위한 방법 및 장치 | |
US11334493B2 (en) | Memory system and operating method thereof | |
US20160062883A1 (en) | Data storage device and operating method thereof | |
CN111309654B (zh) | 存储装置及操作存储装置的方法 | |
CN111208937B (zh) | 存储器控制器及其操作方法 | |
TWI707268B (zh) | 資料儲存裝置及其操作方法 | |
US12073115B2 (en) | Resource allocation in memory systems based on operation modes | |
US20100030953A1 (en) | High-speed solid state storage system having a non-volatile ram for rapidly storing address mapping information | |
CN113093990A (zh) | 存储器子系统处的数据块切换 | |
CN111796762B (zh) | 存储装置、控制器以及控制器的操作方法 | |
US11693586B2 (en) | Over provisioning component for memory management | |
CN111752471B (zh) | 存储器系统、存储器控制器和存储器控制器的操作方法 | |
CN111886650B (zh) | 以基于温度的频率对存储器系统的存储器单元执行操作 | |
CN111696596A (zh) | 存储器系统、存储器装置及其操作方法 | |
US20240126448A1 (en) | Adaptive read disturb scan | |
US11404133B1 (en) | Valid translation unit count-based memory management | |
US20240143232A1 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US8423708B2 (en) | Method of active flash management, and associated memory device and controller thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |