CN108241587A - 存储器系统以及存储器系统的操作方法 - Google Patents
存储器系统以及存储器系统的操作方法 Download PDFInfo
- Publication number
- CN108241587A CN108241587A CN201711288142.2A CN201711288142A CN108241587A CN 108241587 A CN108241587 A CN 108241587A CN 201711288142 A CN201711288142 A CN 201711288142A CN 108241587 A CN108241587 A CN 108241587A
- Authority
- CN
- China
- Prior art keywords
- subjob
- operating
- clock
- module
- energy level
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 156
- 238000011017 operating method Methods 0.000 title claims description 14
- 230000015654 memory Effects 0.000 claims abstract description 240
- 238000012544 monitoring process Methods 0.000 claims abstract description 42
- 230000003993 interaction Effects 0.000 claims abstract description 8
- 230000006399 behavior Effects 0.000 claims description 10
- 230000003321 amplification Effects 0.000 claims description 7
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 26
- 238000012546 transfer Methods 0.000 description 21
- 238000012937 correction Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 12
- 239000010410 layer Substances 0.000 description 12
- 230000004044 response Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000005299 abrasion Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/145—Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/42—Wire connectors; Manufacturing methods related thereto
- H01L2224/47—Structure, shape, material or disposition of the wire connectors after the connecting process
- H01L2224/49—Structure, shape, material or disposition of the wire connectors after the connecting process of a plurality of wire connectors
- H01L2224/491—Disposition
- H01L2224/4912—Layout
- H01L2224/49174—Stacked arrangements
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- 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)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储器系统可以包括:存储器装置,其包括多个存储器管芯并且适于在多个存储器管芯中执行命令操作;以及控制器,其适于:基于逻辑单元大小来划分与命令操作相对应的命令作业的子作业;排队划分的子作业;以及利用可变的操作能量水平和操作时钟对存储器管芯执行排队的子作业。控制器可以在对存储器管芯执行至少一个排队的子作业的同时监控至少一个排队的子作业的状态和作业负载,并且根据监控的结果交互且动态地调整至少一个排队的子作业的能量水平和操作时钟。
Description
相关申请的交叉引用
本申请要求于2016年12月23日向韩国知识产权局提交的申请号为10-2016-0177915的韩国专利申请的优先权,其公开整体通过引用并入本文。
技术领域
示例性实施例涉及一种存储器系统,并且更特别地,涉及一种将数据处理到存储器装置并且从存储器装置处理数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够最大化使用存储器装置时的使用效率的存储器系统及其操作方法。
在实施例中,一种存储器系统可以包括:存储器装置,其包括多个存储器管芯并且适于在多个存储器管芯中执行命令操作;以及控制器,其适于:基于逻辑单元大小来划分与命令操作相对应的命令作业(job)的子作业;使划分的子作业排队;以及在可变的操作能量水平(energy levels)和操作时钟中对存储器管芯执行排队的子作业。控制器可以监控至少一个排队的子作业的状态和作业负载,同时对存储器管芯执行至少一个排队的子作业,并且根据监控的结果交互且动态地调整至少一个排队的子作业的能量水平和操作时钟。
控制器可以在第一操作能量水平和第一操作时钟中执行排队的子作业的多个第一子作业,并且然后在第三操作能量水平和第三操作时钟中执行排队的子作业的待处理的(pending)第一子作业,并且控制器可以在第二操作能量水平和第二操作时钟中执行排队的子作业的多个第二子作业,并且然后可以在第四操作能量水平和第四操作时钟中执行排队的子作业的待处理的第二子作业。
控制器可以监控与在第一操作能量水平和第一操作时钟中执行第一子作业相对应的第一状态和第一作业负载,并且控制器可以监控与在第二操作能量水平和第二操作时钟中执行第二子作业相对应的第二状态和第二作业负载。
控制器可以对应于第一状态和第一作业负载通过对第一操作能量水平和第一操作时钟放大(scale up)或缩小(scale down)来确定第三操作能量水平和第三操作时钟,并且控制器可以对应于第二状态和第二作业负载通过对第二操作能量水平和第二操作时钟放大或缩小来确定第四操作能量水平和第四操作时钟。
在待处理的第二子作业是排队的子作业的最后子作业的情况下,控制器可以通过对第二操作时钟缩小来确定第四操作时钟作为最小时钟,并且然后可以对应于作为最小时钟的第四操作时钟通过对第二操作能量水平放大或缩小来确定第四操作能量水平。
控制器可以控制用于在排队的子作业中具有最小性能和最大等待时间(latency)的子作业或者需要最大性能的子作业的能量水平和操作时钟中的一个或多个,使得能量水平是最大能量水平并且操作时钟是最大操作时钟。
在存储器装置和控制器中的温度等于或大于阈值温度的情况下,控制器可以缩小用于至少一个排队的子作业的能量水平和操作时钟。
在存储器装置和控制器中的温度小于阈值温度的情况下,控制器可以放大或缩小用于至少一个排队的子作业的能量水平和操作时钟。
在至少一个排队的子作业的性能和等待时间在相同状态下被维持预定时间的情况下,控制器可以缩小用于至少一个排队的子作业的能量水平并且放大用于至少一个排队的子作业的操作时钟。
状态可以包括控制器和存储器装置的温度、性能和等待时间,并且作业负载可以包括排队的子作业的待处理的子作业。
控制器可以包括:作业解析模块,其适于解析命令作业;子作业排队模块,其适于基于逻辑单元大小来使解析的命令作业相对应的子作业排队;子作业模块,其适于对相应的存储器管芯分别执行排队的子作业;监控器,其适于当子作业模块分别执行排队的子作业时,监控控制器和存储器装置中的温度、性能和等待时间;以及功率(power)管理控制模块,其适于检查用于解析的命令作业、排队的子作业、温度、性能和等待时间的监控标志,并且然后调整各个子作业模块的操作能量水平和操作时钟中的一个或多个。
功率管理控制模块可以包括:控制单元,其适于根据解析的命令作业、排队的子作业和监控标志来控制各个子作业模块的操作能量水平和操作时钟中的一个或多个;以及驱动单元,其适于将被控制的操作能量水平和/或被控制的操作时钟提供给各个子作业模块。
在实施例中,一种包括存储器装置的存储器系统的操作方法,该存储器装置包含多个存储器管芯,该方法可以包括:基于逻辑单元大小来划分与命令操作相对应的命令作业的子作业;使划分的子作业排队;在可变的操作能量水平和操作时钟中对存储器管芯执行排队的子作业;在执行排队的子作业期间监控排队的子作业的状态和作业负载;以及根据监控的结果并通过放大或缩小来交互且动态地控制能量水平和操作时钟中的一个或多个。状态可以包括存储器装置和存储器装置的控制器中的温度、性能和等待时间,并且作业负载可以包括排队的子作业的待处理的子作业。
执行可以包括:在第一操作能量水平和第一操作时钟中执行排队的子作业的第一子作业,并且然后在第三操作能量水平和第三操作时钟中执行排队的子作业的待处理的第一子作业;以及在第二操作能量水平和第二操作时钟中执行排队的子作业的第二子作业,并且然后在第四操作能量水平和第四操作时钟中执行排队的子作业的待处理的第二子作业,并且监控可以包括:监控与在第一操作能量水平和第一操作时钟中执行的第一子作业相对应的第一状态和第一作业负载;以及监控与在第二操作能量水平和第二操作时钟中执行第二子作业相对应的第二状态和第二作业负载。
控制可以包括:对应于第一状态和第一作业负载通过对第一操作能量水平和第一操作时钟放大或缩小来确定第三操作能量水平和第三操作时钟;以及对应于第二状态和第二作业负载通过对第二操作能量水平和第二操作时钟放大或缩小来确定第四操作能量水平和第四操作时钟。
能量水平和操作时钟中的一个或多个的控制可以包括:控制用于排队的子作业的最后子作业的能量水平和操作时钟中的一个或多个,使得操作时钟是最小操作时钟并且能量水平对应于最小操作时钟。
能量水平和操作时钟中的一个或多个的控制可以包括:控制用于在排队的子作业中具有最小性能和最大等待时间的子作业或者需要最大性能的子作业的能量水平和操作时钟中的一个或多个,使得能量水平是最大能量水平并且操作时钟是最大操作时钟。
在存储器装置和控制器中的温度等于或大于阈值温度的情况下,能量水平和操作时钟中的一个或多个的控制可以包括缩小用于排队的子作业的能量水平和操作时钟中的一个或多个。
在存储器装置和控制器中的温度小于阈值温度的情况下,能量水平和操作时钟中的一个或多个的控制可以包括放大用于排队的子作业的能量水平和操作时钟中的一个或多个。
在第一子作业的性能和等待时间在相同状态下被维持预定时间的情况下,控制能量水平和操作时钟中的一个或多个可以包括缩小用于排队的子作业的能量水平并放大用于排队的子作业的操作时钟。
在实施例中,一种存储器系统可以包括:作业解析模块,其被配置成解析用于与从主机接收的多个命令相对应的命令操作的命令作业;子作业模块,其被配置成在包括在存储器装置中的存储器管芯中分别执行与解析的命令作业相对应的子作业;以及功率管理控制模块,其被配置成在子作业模块分别执行相应的子作业的情况下,动态地控制子作业模块中的操作能量水平。
存储器系统可以包括监控器,其被配置成当在存储器管芯中执行子作业时,监控包括存储器装置的存储器系统中的温度以及子作业模块中的性能和等待时间。
功率管理控制模块可以在存储器系统中允许使用的所有能量水平中通过放大或缩小相应的温度、性能和等待时间由子作业模块动态地控制各个操作能量水平。
在实施例中,一种存储器系统可以包括:作业解析模块,其被配置成解析用于与从主机接收的多个命令相对应的命令操作的命令作业;子作业模块,其被配置成在包括在存储器装置中的存储器管芯中分别执行与解析的命令作业相对应的子作业;以及功率管理控制模块,其被配置成在子作业模块分别执行相应的子作业的情况下,动态地控制子作业模块中的操作时钟。
存储器系统可以包括监控器,其被配置成当在存储器管芯中执行子作业时,监控包括存储器装置的存储器系统中的温度以及子作业模块中的性能和等待时间。
功率管理控制模块可以对应于温度、性能和等待时间通过对存储器系统的参考时钟放大或缩小由子作业模块动态地控制操作时钟。
附图说明
根据参照附图的以下详细说明,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的示意图。
图5至图7是示意性地示出根据本发明的实施例的图1至4所示的存储器系统以及存储器系统的操作的更多细节的简图。
图8是示出根据本发明的实施例的图1至图7所示的存储器系统的操作的流程图。
图9至图17是示意性示出根据本发明的各个实施例的图1至图7所示的数据处理系统的应用示例的简图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可以包括至少一个OS(操作系统),并且OS可以管理和控制主机102的总体功能和操作,并且在主机102和使用数据处理系统100或存储器系统110的用户之间提供操作。OS可以支持对应于用户的使用目的和使用的功能和操作。例如,根据主机102的移动性,OS可以被划分为通用OS和移动OS。根据用户的环境,通用OS可以被划分为个人OS和企业OS。例如,被配置为支持向一般用户提供服务的功能的个人OS可以包括Windows和Chrome,并且被配置为保护和支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,配置为支持向用户提供移动服务并且系统的省电功能的移动OS可以包括安卓、iOS和WindowsMobile。例如,主机102可以包括多个OS,并且执行OS以对存储器系统110执行对应于用户的请求的操作。
存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型MMC。SD卡可以包括迷你SD卡和微型SD卡。
存储器系统110可以由各种类型的存储装置来体现。包括在存储器系统110的存储装置的非限制性示例可以包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输/接收信息的装置、配置家庭网络的各种电子装置中的一个、配置计算机网络的各种电子装置中的一个、配置远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或配置计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供给电力,也可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156的每一个可以包括多个页面,并且页面的每一个可以包括联接到字线的多个存储器单元。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可以包括经由内部总线全部操作性地联接的主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。
主机接口单元132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)。
ECC单元138可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可以通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不能校正错误位,并且可以输出错误校正失败信号。
ECC单元138可以通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC单元138不限于此。ECC单元138可以包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理用于控制器130的电源。
NFC 142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体是NAND闪速存储器时,NFC142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。NFC 142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可以支持控制器130和存储器装置150之间的数据传送。
存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求来控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。。控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以由易失性存储器来实施。例如,存储器144可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可以被设置在控制器130的内部或外部。图1例示设置在控制器130内的存储器144。在实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。
处理器134可以控制存储器系统110的总体操作。处理器134可以驱动固件以控制存储器系统110的总体操作。固件可以被称为闪存转换层(FTL)。
控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以对包括在存储器装置150中的多个存储块152至156中的且在编程操作期间由于NAND闪速存储器的特征而发生编程失败的坏块进行检查的坏块管理操作。管理单元可以将坏块的编程失败的数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠性地执行。
图2是示出图1所示的存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括例如2M个页面的多个页面,其数量可以根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)、或者包括存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)等的存储2位或更多位数据的多层单元(MLC)中的一个或多个。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可以对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。应注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器。
存储器装置150可以进一步包括电压供给单元310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给单元310的电压产生操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给单元310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且根据可能的需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器150可以由2D或3D存储器装置来实施。例如,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可以包括每个具有3D结构(或竖直结构)的多个存储块BLK0至BLKN-1。
在下文中,将参照图5至图8来详细描述关于根据实施例的存储器系统中的存储器装置的数据处理,特别地,在执行与从主机102接收的命令相对应的命令操作和后台操作的同时,动态地控制与命令操作和后台操作相对应的操作参数的操作。
图5至图7是示意性地示出存储器系统110以及存储器系统110的操作的更多细节的简图。更特别地,图5至图7是示意性示出根据本发明的实施例的在存储器系统中执行命令操作时用于控制一个或多个操作参数的示例性操作的简图。在描述的实施例中,为了便于作为示例,提供以下描述,即在存储器系统110执行与从主机102接收的命令相对应的命令操作的情况下,动态地控制与命令操作相对应的操作参数的操作。例如,命令操作可以是与从主机102接收的写入命令相对应的编程操作、与从主机102接收的读取命令相对应的读取操作、或者与从主机102接收的擦除命令相对应的擦除操作。为了方便起见,在此不再重复已经参照图1描述的存储器系统110的特征的描述。
在实施例中,当正在执行与从主机102接收的命令相对应的一个或多个命令操作时,检查对应于命令操作的控制器130和存储器装置150的作业负载和/或状态。此后,当在控制器130和存储器装置150中执行命令操作时使用的一个或多个操作参数对应于检查的作业负载和状态被动态地控制。此外,将描述以下实施例作为示例,其中当在存储器系统110中执行数据处理操作,特别是命令操作时,控制器130动态地控制与命令操作相对应的一个或多个操作参数的操作。如上所述,包括在控制器130中的处理器134可以执行通过例如FTL和包括在控制器130中的功率管理控制模块来动态地控制操作参数的操作。
参照图5,控制器130可以从主机102接收例如写入命令、读取命令和/或擦除命令的多个命令,并且可以与存储器装置150一起执行与接收的命令相对应的命令操作。当执行命令操作时,控制器130可以根据与命令操作相对应的控制器130和存储器装置150中的作业负载以及控制器130和存储器装置150的状态来动态地控制用于命令操作的一个或多个操作参数。
更特别地,控制器130通过作业解析模块510根据控制器130和存储器装置150与接收的命令和命令操作的对应关系来解析控制器130和存储器装置150中的命令作业,使得在存储器装置150中执行与从主机102接收的命令相对应的命令操作。换言之,在从主机102提供命令的情况下,包括在控制器130中的作业解析模块510解析对应于执行命令操作的控制器130和存储器装置150中的命令作业,使得在存储器装置150中执行与命令相对应的命令操作。更特别地,作业解析模块510生成用于解析的命令作业的命令作业列表。在解析与命令相对应的命令作业之前,作业解析模块510获取从主机102接收的命令。
例如,作业解析模块510可以响应于从主机102接收的写入命令来解析用于控制器130和存储器装置150中的编程操作的编程作业,并且生成编程作业列表。作业解析模块510可以响应于从主机102接收的读取命令来解析用于控制器130和存储器装置150中的读取操作的读取作业,并且生成读取作业列表。作业解析模块510可以响应于擦除命令来解析用于控制器130和存储器装置150中的擦除操作的擦除作业,并且生成擦除作业列表。
此外,控制器130然后可以通过子作业排队模块520排队用于与从主机102接收的命令相对应的命令操作的子操作,使得在存储器装置150中执行与从主机102接收的命令相对应的命令操作。换言之,如上所述,子作业排队模块520对应于命令和命令操作检查和排队由作业解析模块510解析的控制器130和存储器装置150中的命令作业的子作业。子作业排队模块520检查在作业解析模块510中生成的命令作业列表和在作业解析模块510中解析的命令作业,并且然后排队与解析的命令作业相对应的子作业。例如,子作业排队模块520基于逻辑单元大小(例如,4K位的单元大小)排队子作业,并且生成用于在子作业排队模块520中基于逻辑单元大小排队的子作业的子作业列表。根据命令的数量和大小以及与命令相对应的命令操作的数量和大小来确定基于逻辑单元大小在子作业排队模块520中排队的子作业。
例如,子作业排队模块520可以通过编程作业列表和编程作业来检查用于编程作业的编程子作业,基于逻辑单元大小来排队编程子作业,并且然后生成编程子作业列表。子作业排队模块520可以通过读取作业列表和读取作业来检查用于读取作业的读取子作业,基于逻辑单元大小来排队读取子作业,并且然后生成读取子作业列表。子作业排队模块520可以通过擦除作业列表和擦除作业来检查用于擦除作业的擦除子作业,基于逻辑单元大小来排队擦除子作业,并且然后生成擦除子作业列表。
包括在控制器130中的多个子作业模块530在包括在存储器装置150中的多个存储器管芯610至695中分别执行在子作业排队模块520中排队的逻辑单元大小的子作业。
例如,子作业模块530可以在存储器装置150的存储器管芯610至695中分别执行在子作业排队模块520中排队的逻辑单元大小的编程子作业。子作业模块530对与从主机102接收的写入命令相对应的编程操作中的写入数据分别执行作为用于编程操作的子操作的与数据传输操作、数据写入操作、映射操作和映射更新操作相对应的子作业。例如,子作业模块530执行与将数据从主机102传输到控制器130的操作以及将数据从控制器130传输到存储器装置150的相应存储块的操作相对应的子作业,执行与将数据写入包括在存储器装置150的相应存储块中的页面中的操作相对应的子作业,并且执行与映射操作和与页面中的数据写入操作相对应的映射更新操作相关联的子作业。
子作业模块530可以在存储器装置150的存储器管芯610至695中分别执行在子作业排队模块520中排队的逻辑单元大小的读取子作业。子作业模块530可以对与从主机102接收的读取命令相对应的读取操作中的读取数据分别执行作为读取操作的子操作的与数据传输操作、数据读出操作、映射检查操作和数据解码和错误校正操作相对应的子作业。例如,子作业模块530执行与将数据从存储器装置150的相应存储块传输到控制器130的操作以及将数据从控制器130传输到主机102的操作相对应的子作业,执行与包括在存储器装置150的相应存储块中的页面中的数据读出操作相对应的子作业,并且执行与在数据读出操作中读出的数据的数据解码和错误校正操作相对应的子作业。
子作业模块530可以在存储器装置150的存储器管芯610至695中分别执行在子作业排队模块520中排队的逻辑单元大小的擦除子作业。子作业模块530分别执行作为用于擦除操作的子操作的与检查相应的存储块的操作、数据擦除操作、在与从主机102接收的擦除命令相对应的擦除操作中的映射更新操作相对应的子作业。例如,子作业模块530执行与检查与擦除命令相关联的相应存储块的操作相对应的子作业,执行与在相应的存储块中的数据擦除操作相对应的子作业,并且执行与数据擦除操作相对应的映射更新操作相对应的子作业。
作为示例,将在其中控制器130执行与从主机102接收的命令相对应的命令操作、与命令和命令操作对应的命令作业、排队子作业并且执行子作业的情况下描述解析操作。然而,应当注意的是,当控制器130执行例如垃圾收集操作或磨损均衡操作的后台操作时,控制器130可以通过作业解析模块510解析后台作业,通过子作业排队模块520排队后台子作业,并且通过子作业模块530执行后台子作业。
此外,控制器130通过发生器540生成存储器系统110的参考时钟,并且与存储器装置150一起不仅执行与使用参考时钟从主机102接收的命令相对应的命令操作而且执行后台操作等。在示例性实施例中,将描述其中用于生成存储器系统110的参考时钟的生成器540存在于控制器130中的情况。然而,应当注意的是,在变型的实施例中,发生器540可以被独立地定位在控制器130的外部并且将参考时钟提供给存储器系统110。
当不仅执行与从主机102接收的命令想对应的命令操作而且执行后台操作时,控制器130可以通过监控器1 550来监控控制器130和存储器装置150中的温度。监控器1 550可以包括温度传感器并且通过温度传感器来监控控制器130和存储器装置150的内部温度。在实施例中,监控器1 550可以包括至少两个温度传感器,其中一个用于控制器130并且一个用于存储器装置150。例如,在控制器130在存储器装置150的各个存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的子作业的情况下,监控器1 550可以监控控制器130和存储器装置150两者中的温度。
控制器130可以通过包括在控制器130中的监控器2 560来监控控制器130和存储器装置150中的性能和等待时间(latency)。例如,在控制器130在存储器装置150的各个存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的子作业的情况下,监控器2 560监控控制器130和存储器装置150中的性能和等待时间。
PMC模块570通过作业解析模块510中的命令作业和命令作业列表以及子作业排队模块520中的子作业和子作业列表来检查控制器130和存储器装置150中的作业负载。在该方面,PMC模块570可以通过命令作业、命令作业列表、子作业和子作业列表来计算当子作业模块530在存储器装置150的各个存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的擦除子作业时所需的全部能量消耗。为了最小化能量消耗,PMC模块570交互且动态地控制子作业模块530的能量水平和操作时钟。
更具体地,PMC模块570可以通过周期性地检查监控器1 550中的温度监控标志和监控器2 560中的性能监控标志和等待时间监控标志来检查控制器130和存储器装置150的状态。然后PMC模块570可以基于控制器130和存储器装置150的状态来动态地控制当子作业模块530在存储器装置150的各个存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的子作业时使用的操作参数。
例如,当子作业模块530在存储器装置150的各个存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的子作业中的特定子作业时,通过监控器1 550来监控控制器130和存储器装置150中的温度,并且通过监控器2 560来监控针对任意子作业的控制器130和存储器装置150的性能和等待时间。PMC模块570通过控制器130和存储器装置150的温度、性能和等待时间来检查控制器130和存储器装置150的状态。此外,PMC模块570检查作为控制器130和存储器装置150中的作业负载的在子作业排队模块520中排队的逻辑单元大小的子作业中除了操作完成的子作业之外的待处理的子作业。
此外,对应于控制器130和存储器装置150中的状态和作业负载,PMC模块570动态地控制当子作业模块530在存储器装置150的存储器管芯610至695中执行在子作业排队模块520中排队的逻辑单元大小的子作业中待处理的子作业时使用的操作参数。
例如,对应于控制器130和存储器装置150中的状态和作业负载,PMC模块570参照由包括在控制器130中的发生器540生成的参考时钟来动态地控制当子作业模块530执行各个待处理的子作业时使用的操作时钟。此处,PMC模块570参照由发生器540生成的参考时钟通过从最小时钟放大到最大时钟或从最大时钟缩小到最小时钟来动态地控制操作时钟。
此外,对应于控制器130和存储器装置150中的状态和作业负载,当子作业模块530执行各个待处理的子作业时,PMC模块570动态地控制操作能量水平(例如,从存储器系统110的内部或外部提供的功率水平、电压水平或电流水平)。在该方面,PMC模块570可以参照可用于存储器系统110的全部能量水平(例如,全部功率水平、全部电压水平或全部电流水平)通过放大或缩小来动态地控制操作能量水平(例如,操作功率水平、操作电压水平或操作电流水平)。
此处,PMC模块570动态地控制用于执行相应的逻辑单元大小的子作业的各个子作业模块530的操作时钟。根据各个子作业模块530的操作时钟,PMC模块570还动态地控制各个子作业模块530的操作能量水平,因此使得每个子作业模块530在最佳功率消耗水平下具有最大操作性能。在该方面,PMC模块570检查在存储器装置150的各个存储器管芯610至695中待执行的子作业,换言之,作业负载,以及执行相应的子作业的各个子作业模块530的温度、性能和等待时间,换言之,状态,并且在子作业模块530在各个存储器管芯610至695中执行相应的子作业的情况下动态地控制操作时钟和操作能量水平。
例如,关于在作业解析模块510中解析的命令作业,当在排队到子作业排队模块520的子作业中当前执行的子作业是最后子作业时,PMC模块570通过缩小来将相应的子作业模块530的操作时钟控制为最小时钟,并且根据最小时钟通过放大或缩小来控制子作业模块530的能量水平。
此外,关于在作业解析模块510中解析的命令作业,对于在子作业具有最小性能和最大等待时间的情况下,即,在通过使用监控器2 560的监控来执行在排队到子作业排队模块520的子作业之中的与命令作业相对应的所有子作业的情况下的瓶颈子作业,PMC模块570通过放大将相应的子作业模块530的操作能量水平控制为最大能量水平,并且根据最大能量水平通过放大将子作业模块530的操作时钟控制到最大时钟。另外,关于在作业解析模块510中解析的命令作业,对于在子作业排队模块520中排队的子作业中需要具有最大性能的子作业,PMC模块570通过放大来将最大性能需求子作业的相应子作业模块530的操作能量水平控制为最大能量水平,并且根据最大能量水平通过放大将子作业模块530的操作时钟控制为最大性能时钟。
关于在作业解析模块510中解析的命令作业,在其中与在子作业排队模块520中排队的子作业相对应的子作业模块530的性能和等待时间在相同状态下被维持预定时间的情况下,PMC模块570通过缩小来控制子作业模块530的操作能量水平,并且在子作业模块530的操作能量水平被维持在稳定状态的时间点处通过放大来控制子作业模块530的操作时钟。
另外,关于在作业解析模块510中解析的命令作业,对于在子作业排队模块520中被排队的子作业中的通过监控器1 550被检查的温度等于或大于阈值温度的子作业,PMC模块570通过缩小来控制相应的子作业模块530的操作能量水平和操作时钟。在子作业的温度变成低于阈值温度的情况下,PMC模块570通过放大来控制子作业模块530的操作能量水平,并且然后在操作能量水平被维持在正常状态的时间点处通过放大来控制子作业模块530的操作时钟。阈值温度根据例如设置参数命令或设置图像命令的设置命令来设置。
关于在作业解析模块510中解析的命令作业,对于在子作业排队模块520中排队的子作业中需要特定性能、等待时间和带宽的子作业,PMC模块570根据特定性能、性能和等待时间来动态地控制相应的子作业模块530的操作能量水平和操作时钟。
在描述的实施例中,描述集中于当控制器130执行与命令相对应的命令操作时,控制用于与命令和命令操作相对应的解析的命令作业和排队的子作业的操作参数。然而,应当注意的是,当执行例如垃圾收集操作或磨损均衡操作的后台操作时,控制器130还可以通过PMC模块570动态地控制用于解析的命令作业和排队的后台子作业的操作参数。
此外,存储器装置150可以包括例如N个存储器管芯610至695的多个存储器管芯。存储器管芯610至695中的每一个不仅可以执行与从控制器130接收的命令相对应的命令操作,而且可以执行后台操作。
例如,参照图6,存储器装置150包括例如存储器管芯0 610、存储器管芯1 630、存储器管芯2 650和存储器管芯3 670的多个存储器管芯。存储器管芯610、630、650和670中的每一个可以包括多个页面。例如,存储器管芯0 610包括平面0 612、平面1 616、平面2 620和平面3 624,存储器管芯1 630包括平面0 632、平面1 636、平面2 640和平面3 644,存储器管芯2 650包括平面0 652、平面1 656、平面2 660和平面3 664,并且存储器管芯3 670包括平面0 672、平面1 676、平面2 680和平面3684。包括在存储器装置150中的存储器管芯610、630、650和670中的平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684中的每一个包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686,例如,如以上参照图2描述的,包括例如2M个页面的多个页面的N个块块0、块1、......块N-1。在下文中,将参照图7详细描述在其中根据实施例的存储器系统的存储器装置150执行与从主机102接收的命令相对应的命令操作或后台操作的情况下控制操作参数的操作的示例。此外,在实施例中,为了便于说明,将描述在其中包括在存储器装置150中的多个存储器管芯中的三个任意管芯接收来自主机102的读取命令和写入命令并且执行读取操作和编程操作的情况下控制操作参数的操作的示例。在实施例中,虽然将详细描述控制操作参数的操作,例如控制操作时钟和操作能量水平的操作,在包括在存储器装置150中的存储器管芯执行读取操作和编程操作的情况下,类似的描述可以被应用于不仅执行擦除操作而且执行例如垃圾收集操作或磨损均衡操作的后台操作的操作。
参照图7,当从主机102接收读取命令或写入命令时,控制器130在包括在存储器装置150中的例如存储器管芯0 610、存储器管芯1 630和存储器管芯2 650的多个存储器管芯中执行与读取命令相对应的读取操作或者与写入命令相对应的编程操作。此处,如上所述,控制器130通过作业解析模块510解析与读取命令和读取操作相对应的读取作业,通过子作业排队模块520排队用于在作业解析模块510中解析的读取作业的逻辑单元大小的子作业,并且通过例如子作业模块1 532、子作业模块2 534、子作业模块3 536的子作业模块530在存储器装置150的存储器管芯0 610、存储器管芯1 630和存储器管芯2 650中执行在子作业排队模块520中排队的逻辑单元大小的子作业。此外,在通过子作业模块1 532、子作业模块2 534、子作业模块3 536执行在子作业排队模块520中排队的逻辑单元大小的子作业的情况下,控制器130通过PMC模块570动态地控制操作参数。特别地,控制器130通过包括在PMC模块570中的能量管理控制模块700和时钟管理控制模块710来动态地控制操作能量水平和操作时钟。
在实施例中,为了便于说明,将详细描述在控制器130从主机102接收读取命令并且在存储器装置150的存储器管芯0 610、存储器管芯1630和存储器管芯2 650中执行读取命令操作的情况下控制操作参数的操作的示例,并且然后将详细描述在控制器130从主机102接收写入命令并且在存储器装置150的存储器管芯0 610、存储器管芯1 630和存储器管芯2 650中执行编程操作的情况下控制操作参数的操作的示例。然而,类似的描述将被应用于其中控制器130从主机102接收不同的命令并且独立且同时地执行例如读取操作、编程操作和擦除操作的相应的命令操作的情况。
首先,将详细描述其中在从主机102接收读取命令之后,控制器130在存储器装置150的存储器管芯0 610、存储器管芯1 630和存储器管芯2 650中执行与读取命令相对应的读取操作的情况的示例。控制器130的作业解析模块510响应于读取命令来解析用于控制器130和存储器装置150中的读取操作的读取作业,并且生成用于解析的读取作业的读取作业列表。在该方面,作业解析模块510通过读取命令来解析在存储器管芯0 610、存储器管芯1630和存储器管芯2 650中执行的读取作业。
控制器130的子作业排队模块520检查用于解析的读取作业的读取子作业,基于逻辑单元大小排队读取的子作业,并且生成用于排队的读取子作业的读取子作业列表。此处,逻辑单元大小的读取子作业是将被包括在读取操作中的子操作。
例如,逻辑单元大小的读取子作业包括存储器管芯0 610中的第一读取操作至第三读取操作、存储器管芯1 630中的第二读取操作以及存储器管芯2 650中的第三读取操作。此外,逻辑单元大小的读取子作业包括第一读取操作中的第一数据传输操作、第二读取操作中的第二数据传输操作、第三读取操作中的第三数据传输操作、第一读取操作中的第一数据读出操作、第二读取操作中的第二数据读出操作、第三读取操作中的第三数据读出操作、第一读取操作中的第一数据解码和错误校正操作、第二读取操作中的第二数据解码和错误校正操作以及第三读取操作中的第三数据解码和错误校正操作。另外,逻辑单元大小的读取子作业包括全部存储器管芯610至695中的数据传输操作,全部存储器管芯610至695中的数据读出操作以及全部存储器管芯610至695中的数据解码和错误校正操作695。
控制器130的子作业模块532、534和536可以在存储器装置150的存储器管芯610、630和650中分别执行在子作业排队模块520中排队的逻辑单元大小的读取子作业。此处,子作业模块532、534和536分别在相应的存储器管芯610、630和650中执行包括在与读取命令相对应的读取操作中的子作业中的相关联的子作业。
例如,子作业模块1 532在存储器管芯0 610中执行子作业排队模块520中排队的逻辑单元大小的读取子作业中的第一读取操作,在相应的存储器管芯610、630和650中执行第一数据传输操作、第二数据传输操作、第三数据传输操作,或者在所有存储器管芯610至695中执行数据传输操作。此外,子作业模块2 534在存储器管芯1 630中执行子作业排队模块520中排队的逻辑单元大小的读取子作业中的第二读取操作,在相应的存储器管芯610、630和650中执行第一数据读出操作、第二数据读出操作、第三数据读出操作,或者在所有存储器管芯610、630......、695中执行数据读出操作。例如,子作业模块3 536在存储器管芯2650中执行子作业排队模块520中排队的逻辑单元大小的读取子作业中的第三读取操作,在相应的存储器管芯610、630和650中执行第一数据解码和错误校正操作、第二数据解码和错误校正操作、第三数据解码和错误校正操作,或者在所有存储器管芯610、630......、695中执行数据解码和错误校正操作。
在该方面,如上所述,控制器130的监控器1 550通过温度传感器来监控控制器130和存储器装置150的内部温度。特别地,当子作业模块532、534和536在存储器装置150的各个存储器管芯610、630和650中执行在子作业排队模块520中排队的逻辑单元大小的读取子作业时,监控器1 550监控温度。与监控的温度相对应的温度监控标志被传输到PMC模块570。此外,当子作业模块532、534和536在存储器装置150的各个存储器管芯中执行在子作业排队模块520中排队的逻辑单元大小的读取子作业时,控制器130的监控器2 560监控性能和等待时间。与监控的性能和等待时间相对应的性能监控标志和等待时间监控标志被传输到PMC模块570。
即,控制器130的PMC模块570通过周期性地检查监控器1 550中的温度监控标志和监控器2 560中的性能监控标志和等待时间监控标志来检查控制器130和存储器装置150的状态,例如温度、性能和等待时间。特别地,当子作业模块532、534和536在存储器装置150的各个存储器管芯中执行在子作业排队模块520中排队的逻辑单元大小的读取子作业时,PMC模块570检查控制器130和存储器装置150的温度、性能和等待时间。此外,PMC模块570检查在作业解析模块510中解析的读取作业和在子作业排队模块520中排队的逻辑单元大小的读取子作业,换言之,检查控制器130和存储器装置150的作业负载。特别地,在子作业模块532、534和536中执行特定的读取子作业之后,PMC模块570不仅检查作为控制器130和存储器装置150的作业负载的在子作业排队模块520中排队的逻辑单元大小的读取子作业而且检查作为控制器130和存储器装置150的作业负载的子作业排队模块520的待处理的读取子作业。
例如,PMC模块570通过监控器2 560检查在作业解析模块510中解析的读取作业的性能和等待时间,并且不仅检查在子作业排队模块520中排队的逻辑单元大小的读取子作业,而且检查待处理的读取子作业。此外,PMC模块570通过监控器2 560检查当子作业模块532、534和536分别在相应的存储器管芯中执行相应的读取子作业时的性能和等待时间,例如,当子作业模块1 532执行相应的读取子作业时的性能和等待时间、当子作业模块2 534执行相应的读取子作业时的性能和等待时间、以及当子作业模块3 536执行相应的读取子作业时的性能和等待时间。此处,PMC模块570检查在子作业模块1 532中待执行的待处理读取子作业、在子作业模块2 534中待执行的待处理的读取子作业、以及将在子作业模块3536中待执行的待处理的读取子作业。此外,PMC模块570通过监控器2 560检查在作业解析模块510中解析的读取作业的执行完成的时间点处的性能和等待时间。此外,PMC模块570通过监控器1 550检查当子作业模块532、534和536分别在存储器管芯610、630和650中执行相应的读取子作业时的温度,例如,当子作业模块1 532执行相应的读取子作业时的温度、当子作业模块2 534执行相应的读取子作业时的温度、以及当子作业模块3 536执行相应的读取子作业时的温度。
这样,PMC模块570检查当子作业模块532、534和536在相应的存储器管芯610、630和650中分别执行相应的读取子作业时的温度、等待时间和性能,并且检查子作业排队模块520中的待处理的读取子作业,特别是在相应的子作业模块532、534和536中待执行的待处理的读取子作业,并且此后动态地控制操作参数,换言之,当子作业模块532、534和536在相应的存储器管芯610、630和650中分别执行待处理的读取子作业时的操作能量水平和操作时钟。此处,PMC模块570交互且动态地控制子作业模块532、534和536的操作能量水平和操作时钟。
更详细地,PMC模块570包括动态地控制子作业模块532、534和536的相应操作时钟的能量管理控制模块700以及动态地控制子作业模块532、534和536的各个操作时钟的时钟管理控制模块710。能量管理控制模块700包括:能量控制单元702,其根据待处理的读取子作业和子作业模块532、534和536的温度、性能和等待时间动态地控制子作业模块532、534和536的相应的操作能量水平;以及能量驱动单元704、706和708,其将具有由能量控制单元702动态控制的操作能量水平的操作能量提供给各个子作业模块532、534和536。
能量管理控制模块700包括:能量驱动单元1 704,其根据能量控制单元702的控制来放大或缩小子作业模块1 532的操作能量水平并且将其提供给子作业模块1 532;能量驱动单元2 706,其根据能量控制单元702的控制来放大或缩小子作业模块2 534的操作能量水平并且将其提供给子作业模块2 534;以及能量驱动单元3 708,其根据能量控制单元702的控制来放大或缩小子作业模块3 536的操作能量水平并且将其提供给子作业模块3 538。此外,能量管理控制模块700通过各个子作业模块532、534和536从在存储器系统110中使用的全部能量水平,例如全部功率水平、全部电压水平或全部电流水平,来动态地控制操作能量水平。此处,能量管理控制模块700在与由时钟管理控制模块710控制的子作业模块532、534和536中的操作时钟交互的同时动态地控制操作能量水平。
时钟管理控制模块710包括:时钟控制单元712,其根据待处理的读取子作业和子作业模块532、534和536的温度、性能和等待时间动态地控制子作业模块532、534和536的各个操作时钟;以及时钟驱动单元714、716和718,其将在时钟控制单元712中动态控制的操作时钟提供给各个子作业模块532、534和536。
时钟管理控制模块710包括:时钟驱动单元1 714,其根据时钟控制单元712的控制放大或缩小子作业模块1 532的操作时钟并且将其提供给子作业模块1 532;时钟驱动单元2 716,其根据时钟控制单元714的控制放大或缩小子作业模块2 534的操作时钟并且将其提供给子作业模块2 534;以及时钟驱动单元3 718,其根据时钟控制单元712的控制放大或缩小子作业模块3 536的操作时钟并且将其提供给子作业模块3 538。此外,时钟管理控制模块710基于由发生器540生成的参考时钟从最小时钟到最大时钟动态地控制各个子作业模块532、534和536的操作时钟。此处,时钟管理控制模块710在与由能量管理控制模块700控制的子作业模块532、534和536中的操作能量水平交互的同时动态地控制操作时钟。
例如,当子作业模块532、534和536执行作为第三读取操作(即,最后读取操作)的待处理的读取子作业的最后读取子作业的第三数据传输操作、第三数据读出操作以及第三数据解码和错误校正操作时,时钟管理控制模块710通过缩小将子作业模块532、534和536的操作时钟控制为最小时钟。另外,能量管理控制模块700通过放大或缩小来与最小时钟交互地控制子作业模块532、534和536的能量水平。
例如,当子作业模块3 536执行作为在待处理的读取子作业中具有最小性能和最大等待时间的读取子作业,换言之,作为当执行与读取作业相对应的所有的读取子作业时的瓶颈读取子作业的第一数据解码和错误校正操作、第二数据解码和错误校正操作、第三数据解码和错误校正操作时,能量管理控制模块700通过放大来将子作业模块3 536的操作能量水平控制为最大能量水平。另外,时钟管理控制模块710与最大能量水平交互地通过放大来将子作业模块3 536的操作时钟控制到最大时钟。
例如,当子作业模块1532执行作为在待处理的读取子作业中具有最大性能所需的子作业的第一读取操作时,能量管理控制模块700通过放大来将子作业模块1 532的操作能量水平控制为最大能量水平。另外,时钟管理控制模块710通过放大而与最大能量水平交互地将子作业模块1 532的操作时钟控制为最大性能时钟。
在执行待处理的读取子作业的第二读取操作的子作业模块2 534的性能和等待时间在相同状态下被维持预定时间的情况下,能量管理控制模块700通过缩小来控制子作业模块2 534的操作能量水平。在与能量管理控制模块700的操作能量水平控制的交互中,时钟管理控制模块710通过在子作业模块2 534的操作能量水平被维持在稳定状态的时间点处放大来控制子作业模块2 534的操作时钟。
例如,在由监控器1 550监控的温度是阈值温度或更高温度的情况下,当子作业模块532、534和536执行排队的读取子作业时,能量管理控制模块700和时钟管理控制模块710通过缩小来控制执行具有等于或大于阈值温度的温度的读取子作业的子作业模块的操作能量水平和操作时钟。
例如,在由监控器1 550监控的温度小于阈值温度的情况下,能量管理控制模块700和时钟管理控制模块710通过放大来控制执行具有低于阈值温度的温度的读取子作业的子作业模块的操作能量水平并且然后在温度被维持在正常状态的时间点处的通过放大来控制子作业模块的操作时钟。
此外,能量管理控制模块700和时钟管理控制模块710根据所需的性能、等待时间和带宽动态地控制执行作为待处理的读取子作业中具有所需的性能、等待时间和带宽的读取子作业的第一数据传输操作、第二数据传输操作和第三数据传输操作的子作业模块的操作能量水平和操作时钟。
接下来,将详细描述其中在从主机102接收写入命令之后,控制器130在存储器装置150的存储器管芯0 610、存储器管芯1 630和存储器管芯2 650中执行与写入命令相对应的编程操作的情况的示例。控制器130的作业解析模块510对应于从主机102接收的写入命令来解析与在控制器130和存储器装置150中的编程操作的执行相对应的编程作业,并且生成编程作业列表。在该方面,作业解析模块510通过写入命令来解析在存储器管芯0 610、存储器管芯1 620和存储器管芯2 630中执行编程操作的编程作业。
控制器130的子作业排队模块520然后可以检查与在作业解析模块510中解析的编程作业相对应的编程子作业,基于逻辑单元大小排队编程子作业,并且生成用于基于逻辑单元大小排队的编程子作业的编程子作业列表。在子作业排队模块520中排队的逻辑单元大小的编程子作业变成待被包括在与从主机102接收的写入命令相对应的编程操作中的子操作。
例如,逻辑单元大小的编程子作业可以包括存储器管芯0 610中的第一编程操作、存储器管芯1 620中的第二编程操作以及存储器管芯2630中的第三编程操作。此外,逻辑单元大小的编程子作业可以包括第一编程操作中的第一数据传输操作、第二编程操作中的第二数据传输操作、第三编程操作中的第三数据传输操作、第一编程操作中的第一数据写入操作、第二编程操作中的第二数据写入操作、第三编程操作中的第三数据写入操作、第一编程操作中的第一映射更新操作、第二编程操作中的第二映射更新操作以及第三编程操作中的第三映射更新操作。另外,逻辑单元大小的编程子作业可以包括全部存储器管芯610、630......、695中的数据传输操作,全部存储器管芯610、630、......、695中的数据写入操作以及全部存储器管芯610、630、......695中的映射更新操作。
控制器130的子作业模块532、534和536可以在存储器装置150的存储器管芯610、630和650中分别执行在子作业排队模块520中排队的逻辑单元大小的编程子作业。此处,子作业模块532、534和536分别在相应的存储器管芯610、630和650中执行在与从主机102接收的写入命令相对应的编程操作中包括的子作业中的相关联的子作业。
例如,子作业模块1 532在存储器管芯0 610中执行子作业排队模块520中排队的逻辑单元大小的编程子作业中的第一编程操作,在相应的存储器管芯610、630和650中执行第一数据传输操作、第二数据传输操作、第三数据传输操作,或者在所有存储器管芯610、630、......695中执行数据传输操作。此外,子作业模块2 534在存储器管芯1 630中执行子作业排队模块520中排队的逻辑单元大小的编程子作业中的第二编程操作,在相应的存储器管芯610、630和650中执行第一数据写入操作、第二数据写入操作、第三数据写入操作,或者在所有存储器管芯610、630、......、695中执行数据写入操作。例如,子作业模块1 532在存储器管芯0 610中执行子作业排队模块520中排队的逻辑单元大小的编程子作业中的第三编程操作,在相应的存储器管芯610、630和650中执行第一映射更新操作、第二映射更新操作、第三映射更新操作,或者在所有存储器管芯610、630、......695中执行映射更新操作。
在该方面,如上所述,控制器130的监控器1 550通过温度传感器来监控控制器130和存储器装置150的内部温度。特别地,当子作业模块532、534和536在存储器装置150的各个存储器管芯610、630和650中执行在子作业排队模块520中排队的逻辑单元大小的编程子作业时,监控器1 550监控温度。与监控的温度相对应的温度监控标志被传输到PMC模块570。此外,如上所述,当子作业模块532、534和536在存储器装置150的各个存储器管芯610、630和650中执行在子作业排队模块520中排队的逻辑单元大小的编程子作业时,控制器130的监控器2 560监控性能和等待时间。与监控的性能和等待时间相对应的性能监控标志和等待时间监控标志被传输到PMC模块570。
即,控制器130的PMC模块570通过周期性地检查监控器1 550中的温度监控标志和监控器2 560中的性能监控标志和等待时间监控标志来检查控制器130和存储器装置150的状态,例如温度、性能和等待时间。特别地,当子作业模块532、534和536在存储器装置150的各个存储器管芯610、630和650中执行在子作业排队模块520中排队的逻辑单元大小的编程子作业时,PMC模块570检查控制器130和存储器装置150的温度、性能和等待时间。此外,PMC模块570检查在作业解析模块510中解析的编程作业和在子作业排队模块520中排队的逻辑单元大小的编程子作业,换言之,检查控制器130和存储器装置150的作业负载。特别地,在子作业模块532、534和536中执行特定的读取子作业之后,PMC模块570不仅检查作为控制器130和存储器装置150的作业负载的在子作业排队模块520中排队的逻辑单元大小的读取子作业而且检查作为控制器130和存储器装置150的作业负载的子作业排队模块520的剩余编程子作业,即,待处理的读取子作业。
例如,PMC模块570通过监控器2 560检查在作业解析模块510中解析的编程作业的性能和等待时间,并且不仅检查在子作业排队模块520中排队的逻辑单元大小的编程子作业,而且检查剩余的逻辑单元大小的编程子作业,即待处理的编程子作业。此外,PMC模块570通过监控器2 560检查在子作业模块532、534和536分别在存储器管芯610、630和650中执行相应的编程子作业的情况下的性能和等待时间,例如,当子作业模块1 532执行相应的编程子作业时的性能和等待时间、当子作业模块2 534执行相应的编程子作业时编程子作业的性能和等待时间以及当子作业模块3 536执行相应的编程子作业时编程子作业的性能和等待时间。此处,PMC模块570检查在子作业模块1532中待执行的待处理编程子作业、在子作业模块2 534中待执行的待处理的编程子作业、以及将在子作业模块3 536中待执行的待处理的编程子作业。此外,PMC模块570通过监控器2 560检查在作业解析模块510中解析的编程作业的执行完成的时间点处的性能和等待时间。此外,PMC模块570通过监控器1 550检查当子作业模块532、534和536分别在存储器管芯610、630和650中执行相应的编程子作业时的温度,例如,当子作业模块1 532执行相应的编程子作业时的温度、当子作业模块2 534执行相应的编程子作业时的温度、以及当子作业模块3 536执行相应的编程子作业时的温度。
这样,PMC模块570检查当子作业模块532、534和536在存储器管芯610、630和650中分别执行相应的编程子作业时的温度、等待时间和性能,并且检查子作业排队模块520中的剩余的编程子作业(即,待处理的读取子作业),特别是在相应的子作业模块532、534和536中待执行的待处理的编程子作业,并且此后动态地控制操作参数,换言之,当子作业模块532、534和536在存储器管芯610、630和650中分别执行待处理的编程子作业时的操作能量水平和操作时钟。此处,PMC模块570交互且动态地控制子作业模块532、534和536的操作能量水平和操作时钟。
特别地,如上所述,PMC模块570包括动态地控制子作业模块532、534和536的相应操作时钟的能量管理控制模块700以及动态地控制子作业模块532、534和536的各个操作时钟的时钟管理控制模块710。此处,能量管理控制模块700与由时钟管理控制模块710控制的子作业模块532、534和536的操作时钟交互地并且动态地控制操作能量水平。时钟管理控制模块710与由能量管理控制模块700控制的子作业模块532、534和536的操作能量水平交互地且动态地控制操作时钟。
能量管理控制模块700包括:能量控制单元702,其对应于子作业模块532、534和536以及待处理的编程子作业的温度、性能和等待时间动态地控制子作业模块532、534和536的相应的操作能量水平;以及能量驱动单元704、706和708,其将在能量控制单元702中具有动态控制的操作能量水平的操作能量提供给各个子作业模块532、534和536。在该方面,由于已经详细描述能量管理控制模块700的能量控制单元702和能量驱动单元704、706和708;因此,将省略其进一步的描述。此外,能量管理控制模块700动态地控制在可以被用在存储器系统110中的例如全部功率水平、全部电压水平或全部电流水平的全部能量水平中的各个子作业模块532、534和536的操作能量水平。
时钟管理控制模块710包括:时钟控制单元712,其对应于子作业模块532、534和536以及待处理的编程子作业的温度、性能和等待时间动态地控制子作业模块532、534和536的各个操作时钟;以及时钟驱动单元714、716和718,其将在时钟控制单元712中动态控制的操作时钟提供给各个子作业模块532、534和536。在该方面,由于已经详细描述时钟管理控制模块710的市政控制单元712和时钟驱动单元714、716和718;因此,将省略其进一步的描述。此外,时钟管理控制模块710对应于由发生器540生成的参考时钟从最小时钟到最大时钟动态地控制各个子作业模块532、534和536的操作时钟。
例如,当子作业模块532、534和536执行作为最后编程操作的第三编程操作的第三数据传输操作、第三写入操作和第三映射更新操作,即作为待处理的编程子作业的最后编程子作业时,时钟管理控制模块710通过缩小将子作业模块532、534和536的操作时钟控制为最小时钟。另外,能量管理控制模块700通过放大或缩小而与最小时钟交互地控制子作业模块532、534和536的能量水平。此外,当子作业模块3 536执行作为在待处理的编程子作业中具有最小性能和最大等待时间的编程子作业,换言之,作为当执行与编程作业相对应的所有的编程子作业时的瓶颈编程子作业的第一映射更新操作、第二映射更新操作、第三映射更新操作时,能量管理控制模块700通过放大来将子作业模块3 536的操作能量水平控制到最大能量水平。时钟管理控制模块710通过放大而与最大能量水平交互地将子作业模块3536的操作时钟控制为最大时钟。另外,当子作业模块1532执行作为在待处理的编程子作业中需要具有最大性能的子作业的第一编程操作时,能量管理控制模块700通过放大来将子作业模块1 532的操作能量水平控制为最大能量水平。时钟管理控制模块710通过放大而与最大能量水平交互地将子作业模块1 532的操作时钟控制为最大性能时钟。
在执行待处理的编程子作业的第二编程操作的子作业模块2 534的性能和等待时间在相同状态下被维持预定时间的情况下,能量管理控制模块700通过缩小来控制子作业模块2 534的操作能量水平。与能量管理控制模块700的操作能量水平控制交互,时钟管理控制模块710在子作业模块2 534的操作能量水平被维持在稳定状态的时间点处通过放大来控制子作业模块2 534的操作时钟。另外,在由监控器1 550监控的温度是阈值温度或更高温度的情况下,当子作业模块532、534和536执行排队的编程子作业时,能量管理控制模块700和时钟管理控制模块710通过缩小来控制执行具有等于或大于阈值温度的温度的编程子作业的子作业模块3 536的操作能量水平和操作时钟。在由监控器1 550监控的温度小于阈值温度的情况下,能量管理控制模块700和时钟管理控制模块710通过放大来控制子作业模块3 536的操作能量水平并且然后在温度被维持在正常状态的时间点处的通过放大来控制子作业模块3 536的操作时钟。此外,能量管理控制模块700和时钟管理控制模块710根据所需的性能、等待时间和带宽动态地控制执行作为待处理的编程子作业中具有所需的性能、等待时间和带宽的编程子作业的第一数据传输操作、第二数据传输操作和第三数据传输操作的子作业模块1 532的操作能量水平和操作时钟。这样,在根据实施例的存储器系统中,在执行从主机102接收的命令的命令操作的情况下,与命令操作相对应的控制器130和存储器装置150的命令作业被解析,并且然后根据逻辑单元大小与命令作业相对应的子作业被排队。在执行逻辑单元大小的子作业的情况下,在控制器130和存储器装置150中的作业负载(例如,排队的子作业和待处理的子作业)以及在控制器130和存储器装置150中的状态(例如,温度、性能和等待时间)被实时监控。根据实时监控的控制器130和存储器装置150的工作负载和状态,执行逻辑单元大小的子作业的子作业模块530的操作能量水平和操作时钟被动态地控制。特别地,考虑到可以在存储器系统中使用的所有能量水平和最大时钟,根据实施例的存储器系统动态地控制彼此交互的操作能量水平和操作时钟以具有处于阈值温度以下的最大性能和最小等待时间。在下文中,将参照图8详细描述在根据实施例的存储器系统执行命令操作的情况下控制操作参数的操作。
图8是示出根据本发明的实施例的存储器系统的操作的流程图。存储器系统可以是如图1至图7中描述的存储器系统110。
参照图8,在步骤810处,存储器系统110从主机102接收用于存储器装置150的命令。存储器装置150可以包括多个存储器管芯610至695,并且接收的命令可以是用于存储器管芯610至695中的一个或多个。在步骤820处,存储器系统110检查与从主机102接收的命令的命令操作相对应的控制器130和存储器装置150中的命令作业,并且还检查与命令作业相对应的子作业。然后,控制器130可以解析与命令操作相对应的命令作业,并且基于逻辑单元大小排队与解析的命令作业相对应的子作业。
此后,在步骤830处,当在存储器装置150的存储器管芯中执行排队的逻辑单元大小的子作业时,存储器系统110交互且动态地控制例如操作能量水平和操作时钟的操作参数。例如,存储器系统110监控控制器130和存储器装置150中的作业负载(例如,待处理的子作业和排队的逻辑单元大小的子作业)以及控制器130和存储器装置150中的状态。状态例如可以是执行子作业的控制器130和存储器装置150的温度、性能和等待时间。随后,当根据控制器130和存储器装置150的状态和作业负载执行子作业时,存储器系统动态地控制操作参数(例如,能量水平和操作时钟)。
在步骤840处,存储器系统利用在步骤830处动态地控制的操作参数(例如,操作能量水平和操作时钟)执行排队的逻辑单元大小的子作业。
已经参照图5至图7提供对以下操作的详细描述:当执行与从主机102接收的命令相对应的命令操作时控制存储器系统110中的操作参数的操作,例如,当执行控制器130和存储器装置150的命令操作时检查存储器系统110的控制器130和存储器装置150的操作负载和状态并且然后交互且动态地控制操作能量水平和操作时钟的操作。因此,将省略其进一步描述。
在下文中,将参照图9至图17更详细地描述包括参照图1至图8描述的存储器系统110的本发明的各个实施例。
图9至图17是示意性示出图1的数据处理系统的应用示例的图。
图9是示意性示出数据处理系统100的另一示例的图。图9示意性地示出应用根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以连接到通过非易失性存储器实施的存储器装置6130,并且被配置为访问存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口并且驱动固件以控制存储器装置6130。即,存储器控制器6120可以对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可以进一步包括图5所示的元件。
存储器控制器6120可以通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1描述的,存储器控制器6120可以被配置为通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪速存储器(UFS)、WIFI和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。
存储器装置6130可以由易失性存储器来实施。例如,存储器装置6130可以通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-RAM)。存储器装置6130可以包括如在图5的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。并且,存储器控制器6120和存储器装置6130可以构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪速存储器(UFS)。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的简图。
参照图10,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可以用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1描述的。存储器装置6230可以对应于图1和图5所示的存储器系统110的控制器150,并且存储器控制器6220可以对应于图1和图5所示的存储器系统110的存储器控制器130。
存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可以包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可以根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可以辅助低速存储器装置6230以高速操作。
ECC电路6223可以对应于图1所示的控制器130的ECC单元138。如参照图1描述的,ECC电路6223可以生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可以对被提供给存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以使用奇偶校验位来校正错误。例如,如参照图1描述的,ECC电路6223可以使用LDPC码、BCH码、涡轮码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可以通过主机接口6224将数据传输到主机6210/从主机6210接收数据,并且通过NVM接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可以通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可以具有诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可以连接到例如主机6210或另一外部装置的外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。特别地,当存储器控制器6220被配置为通过各种通信协议的一种或多种与外部装置通信时,根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图11示意性地示出包括存储器系统110的SSD。
参照图11,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1和图5的存储器系统110的控制器130,并且存储器装置6340可以对应于图1和图5的存储器系统110的存储器装置150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或临时存储例如包括映射表的映射数据的多个闪速存储器NVM的元数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为了便于描述,图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与例如主机6310的外部装置的接口功能,非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可以提供被应用了图1和图5的存储器系统110的多个SSD 6300以实施例如RAID(独立磁盘的冗余阵列)系统的数据处理系统。此时,RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并且将从选择的SSD6300读取的数据提供给主机6310。
图12是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图12示意性地示出包括存储器系统110的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可以包括控制器6430和由一个或多个NAND闪速存储器体现的存储器装置6440。存储器控制器6430可以对应于图1和图5的存储器系统110的控制器130,并且存储器装置6440可以对应于图1和图5的存储器系统110的存储器装置150。
更具体地,控制器6430可以通过多个通道连接到存储器装置6440。控制器6430可以包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的全部操作,主机接口6431可以在控制器6430和主机6410之间提供接口功能,并且NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以用作例如参照图1描述的MMC接口的并行接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图13至图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的图。具体地,图13至图16示意性地示出包括存储器系统110的通用闪速存储(UFS)系统。
参照图13至图16,UFS系统6500、6600、6700和6800可以分别包括主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可以用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可以用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可以用作外部嵌入式UFS设备或可移除UFS卡。
在各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过图1和图5所示的存储器系统110实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以以参照图9描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过例如移动工业处理器接口(MIPI)中的MIPIM-PHY和MIPI统一协议(UniPro)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图13所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可以包括UniPro。主机6510可以执行切换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可以通过例如在UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可以通过在主机6510的UniPro处的链路层交换来与彼此通信。在本实施例中,为了便于描述,已经例示其中一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可以并联地或以星型形式连接到主机6410,并且多个UFS卡可以并联地或以星型形式连接到UFS装置6520,或者串联地或以链型形式连接到UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可以通过在UniPro处的交换模块6640的链路层交换来与彼此通信。在本实施例中,为了便于描述,已经例示一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可以并联地或以星型形式连接到交换模块6640,并且多个UFS卡可以串联地或以链型形式连接到UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可以包括UniPro,并且主机6710可以通过执行交换操作的交换模块6740,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6740来与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可以通过在UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可以在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为了便于描述,已经例示一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个包括交换模块6740和UFS装置6720的多个模块可以并联地或以星型形式连接到主机6710,或者串联地或以链型形式连接到彼此。此外,多个UFS卡可以并联地或以星型形式连接到UFS装置6720。
在图16所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS装置6820可以执行切换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可以通过用于与主机6810通信的M-PHY和UniPro模块之间的交换操作和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可以通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为了便于描述,已经例示其中一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可以并联地或以星型形式连接到主机6810,或串联地或以链型形式连接到主机6810,并且多个UFS卡可以并联地或以星型形式连接到UFS装置6820,或者串联地或以链型形式连接到UFS装置6820。
图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图17是示意性地示出包括存储器系统110的用户系统的简图。
参照图17,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户系统6900中的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口、图形引擎。应用处理器6930可以被设置为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以基于POP(堆叠封装)的被封装并安装。
网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,还可以支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可以应用于有线和/或无线电子装置。网络模块6940可以被包括在应用处理器6930中。
存储模块6950可以存储数据,例如从应用处理器6930接收的数据,并且将存储的数据传输到应用处理器6930。存储模块6950可以由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3维NAND闪存,并且被设置为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1和图5描述的存储器系统110。此外,存储模块6950可以利用以上参照图11至图16描述的SSD、eMMC和UFS来实施。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当图1和图5的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的全部操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
在根据实施例的存储器系统及其操作方法中,可以最小化存储器系统的复杂度和性能恶化,并且最大化存储器装置的使用效率,因此使得可以快速且可靠地处理关于存储器装置的数据。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种其它实施例、改变和变型。
Claims (20)
1.一种存储器系统,其包括:
存储器装置,其包括多个存储器管芯并且适于在所述多个存储器管芯中执行命令操作;以及
控制器,其适于:
基于逻辑单元大小来划分与所述命令操作相对应的命令作业的子作业;
使划分的子作业排队;以及
在可变的操作能量水平和操作时钟中对所述存储器管芯执行排队的子作业,
其中,在对所述存储器管芯执行至少一个排队的子作业的同时所述控制器监控所述至少一个排队的子作业的状态和作业负载,并且根据监控的结果交互且动态地调整所述至少一个排队的子作业的能量水平和操作时钟。
2.根据权利要求1所述的存储器系统,
其中所述控制器在第一操作能量水平和第一操作时钟中执行所述排队的子作业的多个第一子作业,并且然后在第三操作能量水平和第三操作时钟中执行所述排队的子作业的待处理的第一子作业,以及
其中所述控制器在第二操作能量水平和第二操作时钟中执行所述排队的子作业的多个第二子作业,并且然后在第四操作能量水平和第四操作时钟中执行所述排队的子作业的待处理的第二子作业。
3.根据权利要求2所述的存储器系统,
其中所述控制器监控与在所述第一操作能量水平和所述第一操作时钟中执行所述第一子作业相对应的第一状态和第一作业负载,以及
其中所述控制器监控与在所述第二操作能量水平和所述第二操作时钟中执行所述第二子作业相对应的第二状态和第二作业负载。
4.根据权利要求3所述的存储器系统,
其中所述控制器对应于所述第一状态和所述第一作业负载通过对所述第一操作能量水平和所述第一操作时钟放大或缩小来确定所述第三操作能量水平和所述第三操作时钟,以及
其中所述控制器对应于所述第二状态和所述第二作业负载通过对所述第二操作能量水平和所述第二操作时钟放大或缩小来确定所述第四操作能量水平和所述第四操作时钟。
5.根据权利要求4所述的存储器系统,其中,在所述待处理的第二子作业是所述排队的子作业的最后子作业的情况下,所述控制器通过对所述第二操作时钟缩小来确定所述第四操作时钟作为最小时钟,并且然后所述控制器对应于作为所述最小时钟的所述第四操作时钟通过对所述第二操作能量水平放大或缩小来确定所述第四操作能量水平。
6.根据权利要求1所述的存储器系统,其中所述控制器控制用于在所述排队的子作业中具有最小性能和最大等待时间的子作业或者需要最大性能的子作业的能量水平和操作时钟中的一个或多个,使得所述能量水平是最大能量水平并且所述操作时钟是最大操作时钟。
7.根据权利要求1所述的存储器系统,其中,在所述存储器装置和所述控制器中的温度等于或大于阈值温度的情况下,所述控制器缩小用于所述至少一个排队的子作业的所述能量水平和所述操作时钟。
8.根据权利要求1所述的存储器系统,其中,在所述存储器装置和所述控制器中的温度小于阈值温度的情况下,所述控制器放大或缩小用于所述至少一个排队的子作业的所述能量水平和所述操作时钟。
9.根据权利要求1所述的存储器系统,其中,在所述至少一个排队的子作业的性能和等待时间在相同状态下被维持预定时间的情况下,所述控制器缩小用于所述至少一个排队的子作业的所述能量水平并且放大用于所述至少一个排队的子作业的所述操作时钟。
10.根据权利要求1所述的存储器系统,
其中所述状态包括所述控制器和所述存储器装置的温度、性能和等待时间,以及
其中所述作业负载包括所述排队的子作业的待处理的子作业。
11.根据权利要求1所述的存储器系统,其中所述控制器包括:
作业解析模块,其适于解析所述命令作业;
子作业排队模块,其适于基于所述逻辑单元大小来使与所述解析的命令作业相对应的所述子作业排队;
子作业模块,其适于对相应的存储器管芯分别执行所述排队的子作业;
监控器,其适于当所述子作业模块分别执行所述排队的子作业时,监控所述控制器和所述存储器装置中的温度、性能和等待时间;以及
功率管理控制模块,其适于检查用于所述解析的命令作业、所述排队的子作业、所述温度、所述性能和所述等待时间的监控标志,并且然后调整各个子作业模块的所述操作能量水平和所述操作时钟中的一个或多个。
12.根据权利要求11所述的存储器系统,其中所述功率管理控制模块包括:
控制单元,其适于根据所述解析的命令作业、所述排队的子作业和所述监控标志来控制所述各个子作业模块的所述操作能量水平和所述操作时钟中的一个或多个;以及
驱动单元,其适于将被控制的操作能量水平和/或被控制的操作时钟提供给所述各个子作业模块。
13.一种包括存储器装置的存储器系统的操作方法,所述存储器装置包括多个存储器管芯,所述方法包括:
基于逻辑单元大小来划分与所述命令操作相对应的命令作业的子作业;
使划分的子作业排队;
在可变的操作能量水平和操作时钟中对所述存储器管芯执行排队的子作业;
在执行所述排队的子作业的期间监控所述排队的子作业的状态和作业负载;以及
根据监控的结果并通过放大或缩小来交互且动态地控制所述能量水平和所述操作时钟中的一个或多个。
其中所述状态包括所述存储器装置和所述存储器装置的控制器中的温度、性能和等待时间,以及
其中所述作业负载包括所述排队的子作业的待处理的子作业。
14.根据权利要求13所述的操作方法,
其中所述执行包括:
在第一操作能量水平和第一操作时钟中执行所述排队的子作业的第一子作业,并且然后在第三操作能量水平和第三操作时钟中执行所述排队的子作业的待处理的第一子作业;以及
在第二操作能量水平和第二操作时钟中执行所述排队的子作业的第二子作业,并且然后在第四操作能量水平和第四操作时钟中执行所述排队的子作业的待处理的第二子作业,以及
其中所述监控包括:
监控与在所述第一操作能量水平和所述第一操作时钟中执行所述第一子作业相对应的第一状态和第一作业负载;以及
监控与在所述第二操作能量水平和所述第二操作时钟中执行所述第二子作业相对应的第二状态和第二作业负载。
15.根据权利要求13所述的操作方法,
其中所述控制包括:
对应于所述第一状态和所述第一作业负载通过对所述第一操作能量水平和所述第一操作时钟放大或缩小来确定所述第三操作能量水平和所述第三操作时钟;以及
对应于所述第二状态和所述第二作业负载通过对所述第二操作能量水平和所述第二操作时钟放大或缩小来确定所述第四操作能量水平和所述第四操作时钟。
16.根据权利要求13所述的操作方法,其中控制所述能量水平和所述操作时钟中的一个或多个包括:控制用于所述排队的子作业的最后子作业的能量水平和操作时钟中的一个或多个,使得所述操作时钟是最小操作时钟并且所述能量水平对应于所述最小操作时钟。
17.根据权利要求13所述的操作方法,其中控制所述能量水平和所述操作时钟中的一个或多个包括:控制用于在所述排队的子作业中具有最小性能和最大等待时间的子作业或者需要最大性能的子作业的能量水平和操作时钟中的一个或多个,使得所述能量水平是最大能量水平并且所述操作时钟是最大操作时钟。
18.根据权利要求13所述的操作方法,其中,在所述存储器装置和所述控制器中的温度等于或大于阈值温度的情况下,控制所述能量水平和所述操作时钟中的一个或多个包括缩小用于所述排队的子作业的所述能量水平和所述操作时钟中的一个或多个。
19.根据权利要求13所述的操作方法,其中,在所述存储器装置和所述控制器中的温度小于所述阈值温度的情况下,控制所述能量水平和所述操作时钟中的一个或多个包括放大用于所述排队的子作业的所述能量水平和所述操作时钟中的一个或多个。
20.根据权利要求13所述的操作方法,其中,在所述第一子作业的性能和等待时间在相同状态下被维持预定时间的情况下,控制所述能量水平和所述操作时钟中的一个或多个包括缩小用于所述排队的子作业的所述能量水平并放大用于所述排队的子作业的所述操作时钟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160177915A KR20180074138A (ko) | 2016-12-23 | 2016-12-23 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2016-0177915 | 2016-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108241587A true CN108241587A (zh) | 2018-07-03 |
Family
ID=62625064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711288142.2A Pending CN108241587A (zh) | 2016-12-23 | 2017-12-07 | 存储器系统以及存储器系统的操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180182452A1 (zh) |
KR (1) | KR20180074138A (zh) |
CN (1) | CN108241587A (zh) |
TW (1) | TW201830246A (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073539A (zh) * | 2017-12-27 | 2018-05-25 | 上海集成电路研发中心有限公司 | 一种mipi接口的d-phy电路 |
US10628081B2 (en) * | 2018-03-09 | 2020-04-21 | Toshiba Memory Corporation | Managing internal command queues in solid state storage drives |
US10936046B2 (en) * | 2018-06-11 | 2021-03-02 | Silicon Motion, Inc. | Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device |
TWI673613B (zh) * | 2018-10-17 | 2019-10-01 | 財團法人工業技術研究院 | 伺服器及其資源調控方法 |
KR20200091679A (ko) * | 2019-01-23 | 2020-07-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200117305A (ko) | 2019-04-03 | 2020-10-14 | 에스케이하이닉스 주식회사 | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 |
US11079822B2 (en) * | 2019-06-28 | 2021-08-03 | Western Digital Technologies, Inc. | Integrated power and thermal management in non-volatile memory |
KR20210004611A (ko) | 2019-07-05 | 2021-01-13 | 에스케이하이닉스 주식회사 | 메모리 인터페이스, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 |
US11561597B2 (en) | 2020-12-02 | 2023-01-24 | Micron Technology, Inc. | Memory device power management |
US11429292B2 (en) * | 2020-12-02 | 2022-08-30 | Micron Technology, Inc. | Power management for a memory device |
US11901035B2 (en) | 2021-07-09 | 2024-02-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of differentiated thermal throttling of memory and system therefor |
CN117251274B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587745A (zh) * | 2009-06-23 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 数据读写方法和非易失性存储介质 |
US20100138684A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Memory system with dynamic supply voltage scaling |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
US20130336067A1 (en) * | 2010-06-29 | 2013-12-19 | Panasonic Corporation | Nonvolatile storage system, power supply circuit for memory system, flash memory, flash memory controller, and nonvolatile semiconductor storage device |
US20150363116A1 (en) * | 2014-06-12 | 2015-12-17 | Advanced Micro Devices, Inc. | Memory controller power management based on latency |
WO2016068986A1 (en) * | 2014-10-31 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170075589A1 (en) * | 2015-09-14 | 2017-03-16 | Qualcomm Innovation Center, Inc. | Memory and bus frequency scaling by detecting memory-latency-bound workloads |
-
2016
- 2016-12-23 KR KR1020160177915A patent/KR20180074138A/ko unknown
-
2017
- 2017-11-16 TW TW106139784A patent/TW201830246A/zh unknown
- 2017-11-28 US US15/824,572 patent/US20180182452A1/en not_active Abandoned
- 2017-12-07 CN CN201711288142.2A patent/CN108241587A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138684A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Memory system with dynamic supply voltage scaling |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
CN101587745A (zh) * | 2009-06-23 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 数据读写方法和非易失性存储介质 |
US20130336067A1 (en) * | 2010-06-29 | 2013-12-19 | Panasonic Corporation | Nonvolatile storage system, power supply circuit for memory system, flash memory, flash memory controller, and nonvolatile semiconductor storage device |
US20150363116A1 (en) * | 2014-06-12 | 2015-12-17 | Advanced Micro Devices, Inc. | Memory controller power management based on latency |
WO2016068986A1 (en) * | 2014-10-31 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
Also Published As
Publication number | Publication date |
---|---|
KR20180074138A (ko) | 2018-07-03 |
US20180182452A1 (en) | 2018-06-28 |
TW201830246A (zh) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241587A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108733595A (zh) | 存储器系统、包括其的数据处理系统及其操作方法 | |
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN107818057A (zh) | 存储器系统及其操作方法 | |
CN107589906A (zh) | 存储器系统及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN107591182A (zh) | 存储器系统及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN107491396A (zh) | 存储器系统及其操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN108074613A (zh) | 存储器系统及其操作方法 | |
CN107797855A (zh) | 存储器系统及其操作方法 | |
CN109935251A (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN108389602A (zh) | 存储器系统及其操作方法 | |
CN108427536A (zh) | 存储器系统及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN108447513A (zh) | 存储器系统及其操作方法 | |
CN108932202A (zh) | 存储器系统及其操作方法 | |
CN109933468A (zh) | 存储器系统及其操作方法 | |
CN108733616A (zh) | 包括多处理器的控制器及其操作方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180703 |