CN111258934A - 存储器控制器、包括其的存储器系统及操作其的方法 - Google Patents
存储器控制器、包括其的存储器系统及操作其的方法 Download PDFInfo
- Publication number
- CN111258934A CN111258934A CN201910800789.1A CN201910800789A CN111258934A CN 111258934 A CN111258934 A CN 111258934A CN 201910800789 A CN201910800789 A CN 201910800789A CN 111258934 A CN111258934 A CN 111258934A
- Authority
- CN
- China
- Prior art keywords
- token
- read
- triggered
- memory
- background
- 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 description 38
- 230000001960 triggered effect Effects 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000013507 mapping Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 21
- 239000000872 buffer Substances 0.000 description 19
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 2
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 2
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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
- 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
- G06F13/1689—Synchronisation and timing concerns
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
-
- 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
- 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/0614—Improving the reliability 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- 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/32—Timing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统中使用的存储器控制器,该存储器控制器可以包括:计数器,被配置为对与从主机接收的读取请求对应的读取操作执行的次数进行计数;令牌管理器,被配置为每当计数器的计数值达到预设计数时生成令牌,令牌表示执行后台操作的权利;以及操作执行单元,被配置为响应于从主机接收的请求执行与各请求对应的前台操作,每当触发后台操作时请求令牌管理器向操作执行单元分配令牌,并且当令牌管理器向操作执行单元分配了令牌时执行后台操作。
Description
相关申请的交叉引用
本申请要求于2018年11月30日提交的申请号为10-2018-0152897的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器控制器、包括该存储器控制器的存储器系统及操作该存储器控制器的方法,并且更特别地,涉及一种能够满足读取服务质量(QoS)的存储器控制器、包括该存储器控制器的存储器系统及操作该存储器控制器的方法。
背景技术
存储器系统可以包括存储器控制器和存储器装置。
存储器装置可以在存储器控制器的控制下存储数据或输出所存储的数据。例如,存储器装置由电源关闭时存储在其中的数据丢失的易失性存储器装置、或者即使在电源中断时也能保留存储在其中的数据的非易失性存储器装置形成。
发明内容
本公开的各个实施例涉及一种能够满足读取QoS的存储器控制器、包括该存储器控制器的存储器系统及操作该存储器控制器的方法。
本公开的实施例可以提供一种操作存储器控制器的方法,该方法包括:响应于从主机接收的请求,执行与请求对应的前台操作;对前台操作之中与读取请求对应的读取操作执行的次数进行计数;每当计数的次数达到预设计数时生成令牌,令牌表示执行后台操作的权利;以及每当触发后台操作时,在逐个消耗令牌的同时执行触发的后台操作。
本公开的实施例可以提供一种存储器控制器,该存储器控制器包括:计数器,被配置为对与从主机接收的读取请求对应的读取操作执行的次数进行计数;令牌管理器,被配置为每当计数器的计数值达到预设计数时生成令牌,令牌表示执行后台操作的权利;以及操作执行单元,被配置为响应于从主机接收的请求执行与请求对应的前台操作,每当触发后台操作时请求令牌管理器向操作执行单元分配令牌,并且当令牌管理器向操作执行单元分配了令牌时执行后台操作。
本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置;以及存储器控制器,被配置为:响应于从主机接收的请求对存储器装置执行与请求对应的前台操作;对前台操作之中与从主机接收的读取请求对应的读取操作执行的次数进行计数;每当计数的次数达到预设计数时生成令牌,令牌表示执行后台操作的权利;并且每当触发后台操作时,在逐个消耗令牌的同时执行触发的后台操作。
本公开的实施例可以提供一种控制器的操作方法,该控制器控制存储器装置,该操作方法包括:控制存储器装置分别基于一条或多条准许执行一个或多个触发的后台操作;以及每当存储器装置执行预定次数的读取操作时,生成一条或多条准许中的每一条,其中后台操作的优先级低于读取服务质量(QoS)的优先级。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出图1所示的存储器控制器的示图。
图3是描述根据本公开的实施例的满足读取QoS时的后台操作的示图。
图4是描述根据本公开的实施例的操作存储器控制器的方法的流程图。
图5是描述根据本公开的实施例的操作存储器控制器的方法的流程图。
图6是描述根据本公开的实施例的优先级表的示图。
图7是描述根据本公开的实施例的存储器装置的示图。
图8是示出根据本公开的实施例的存储块的示图。
图9是示出根据本公开的实施例的具有三维结构的存储块的示图。
图10是示出根据本公开的实施例的具有三维结构的存储块的示图。
图11至图14是示出包括图1和图2所示的存储器控制器的存储器系统的各个示例的示图。
具体实施方式
通过以下参照附图描述的实施例,将阐明本公开的优点和特征及其实现方法。然而,本公开可以以不同的形式实施而不应被解释为限于本文阐述的实施例。而是,这些实施例被提供使得本公开将是彻底且完整的,并将充分地向本领域技术人员传达本公开的技术精神。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,该元件可以直接联接或连接到另一元件,或者其间可以存在中间元件。在说明书中,除非上下文另有明确说明,否则当元件被称为“包含”或“包括”组件时,该元件不排除另一组件,而是可以进一步包括其他组件。在说明书中,“A或B中的至少一个”应理解为表示“仅A”、“仅B”或“A和B两者”。
在下文中,将参照附图描述本公开的实施例。
图1是示出根据本公开的实施例的存储器系统2000的示图。
参照图1,存储器系统2000可以包括:存储器装置2200,被配置为存储数据;以及存储器控制器2100,被配置为响应于主机1000的请求来控制存储器装置2200。
主机1000可以是包括一个或多个计算机处理器的装置或系统,该一个或多个计算机处理器操作以从存储器系统2000检索数字信息或数据或者将数字信息或数据存储或写入到存储器系统2000中。在各种应用中,主机1000可以是包括例如个人计算机(PC)、便携式数字装置、平板PC、数码相机、数字音频播放器、数字多媒体播放器、电视、无线通信装置、蜂窝电话、控制台视频游戏硬件或数字机顶盒的各种形式。
存储器控制器2100可以控制存储器系统2000的全部操作以及主机1000和存储器装置2200之间的数据交换。
存储器控制器2100可以响应于主机1000的请求执行各种前台操作。例如,前台操作可以包括响应于主机1000的请求执行的编程操作、读取操作和擦除操作。例如,存储器控制器2100可以在从主机1000接收到编程请求时执行编程操作,在从主机1000接收到读取请求时执行读取操作,并且在从主机1000接收到擦除请求时执行擦除操作。当执行编程操作时,存储器控制器2100可以将命令、地址、数据等传送到存储器装置2200。当执行读取操作时,存储器控制器2100可以将命令、地址等传送到存储器装置2200,并且从存储器装置2200接收读取数据。当执行擦除操作时,存储器控制器2100可以将命令、地址等传送到存储器装置2200。
存储器控制器2100可以根据其自身的确定来执行各种后台操作。后台操作可以包括例如垃圾收集操作、读取回收操作、损耗均衡操作、地址映射表清除操作。
例如,在存储器装置2200中包括的存储块之中不存储数据的空闲块的数量相对较小的情况下,存储器控制器2100可以执行选择牺牲块和目标块然后将包括在牺牲块中的有效页面数据移动到目标块的垃圾收集操作。
例如,在存储器装置2200中包括的存储块之中存在读取计数已经达到预设值的存储块的情况下,存储器控制器2100可以执行将包括在相应存储块中的数据复制到另一存储块的读取回收操作。
例如,存储器控制器2100可以执行交换存储在存储器装置2200中包括的存储块之中、编程计数或擦除计数较高的存储块中的数据与存储在编程计数或擦除计数较低的存储块中的数据的损耗均衡操作。
例如,存储器控制器2100可以根据对存储器装置2200执行的编程操作、擦除操作等来更新地址映射表,并且可以执行将所更新的地址映射表存储在存储器装置2200中的地址映射表清除操作。
存储器装置2200可以由电源关闭时存储在其中的数据丢失的易失性存储器装置、或者即使在电源中断时也能保持存储在其中的数据的非易失性存储器装置形成。存储器装置2200可以在存储器控制器2100的控制下执行前台操作和后台操作。存储器装置2200可以包括至少一个存储块。
图2是示出图1所示的存储器控制器2100的示图。
参照图2,根据本公开的实施例的存储器控制器2100可以包括主机接口2110、中央处理单元2120、存储器接口2130、缓冲存储器2140、错误校正电路2150和内部存储器2160。主机接口2110、存储器接口2130、缓冲存储器2140、错误校正电路2150和内部存储器2160可以由中央处理单元2120控制。
主机接口2110可以使用各种接口协议与主机1000执行数据交换。例如,主机接口2110可以使用诸如以下的各种接口协议中的至少一种与主机1000通信:非易失性存储器高速(NVMe)协议、外围组件互连高速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA(SATA)协议、并行ATA(PATA)协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议、移动工业处理器接口(MIPI)协议、通用闪存(UFS)协议、小型计算机系统接口(SCSI)协议或串列SCSI(SAS)协议。然而,本公开的实施例不限于此。
主机接口2110可以将从主机1000接收的数据传送到缓冲存储器2140,并且可以将从主机1000接收的请求传送到中央处理单元2120。
中央处理单元2120可以执行各种操作或生成命令和地址,以控制存储器装置2200。例如,中央处理单元2120可以响应于通过主机接口2110接收的请求,生成前台操作所需的各种命令和地址。当中央处理单元2120自主地确定需要执行后台操作时,中央处理单元2120还可以生成后台操作所需的各种命令和地址。
中央处理单元2120可以将包括在请求中的逻辑地址转换为物理地址,以控制存储器装置2200的操作。中央处理单元2120可以使用存储在内部存储器2160中的地址映射表来将逻辑地址转换为物理地址或将物理地址转换为逻辑地址。当新数据被编程到存储器装置2200或者已经被存储在存储器装置2200中的数据被擦除时,中央处理单元2120可以更新地址映射表。
中央处理单元2120可以包括操作执行单元2120a、计数器2120b、令牌管理器2120c、后台操作触发单元2120d、操作等待队列2120e和优先级表存储装置2120f。
当通过主机接口2110接收到用于控制存储器装置2200的请求时,操作执行单元2120a可以执行与所接收的请求对应的前台操作。前台操作可以包括例如编程操作、读取操作和擦除操作。操作执行单元2120a可以生成各种命令、地址等,并将命令、地址等传送到存储器装置2200,以执行前台操作。每当执行读取操作时,操作执行单元2120a可以向计数器2120b传送指示执行读取操作的信号。
当从操作执行单元2120a接收到指示执行读取操作的信号时,计数器2120b可以将计数值增加1。换言之,计数器2120b可以对已经执行读取操作的次数进行计数。如果计数值达到阈值,则计数器2120b可以初始化计数值并且向令牌管理器2120c传送指示计数值已经达到阈值的信号。换言之,每当执行阈值次数的读取操作时,计数器2120b可以通知令牌管理器2120c已经执行阈值次数的读取操作。
每当从计数器2120b接收到指示计数值已经达到阈值的信号时,令牌管理器2120c可以生成令牌。令牌可以表示执行后台操作的权利。例如,如果存在一个令牌,则可以执行一次后台操作。如果存在两个令牌,则可以执行两次后台操作。换言之,令牌的数量可以表示能够执行的后台操作的数量。在实施例中,令牌管理器2120c可以管理令牌值。令牌值可以表示令牌的数量。例如,生成令牌可以表示将令牌值增加1。也就是说,每当从计数器2120b接收到指示计数值已经达到阈值的信号时,令牌管理器2120c可以将令牌值增加1。
每当从操作执行单元2120a接收到令牌分配请求时,令牌管理器2120c可以向操作执行单元2120a分配令牌。例如,分配令牌可以表示将令牌值减少1并且将指示准许执行后台操作的信号传送到操作执行单元2120a。
如果在令牌管理器2120c不具有令牌时从操作执行单元2120a接收到令牌分配请求,则令牌管理器2120c可以向操作执行单元2120a传送指示令牌管理器2120c不具有令牌的信号。例如,令牌管理器2120c可以在令牌值为0时向操作执行单元2120a传送指示不准许执行后台操作的信号。此处,令牌管理器2120c可以设置标志2122c的标志值。例如,令牌管理器2120c可以将标志2122c的标志值设置为1。
如果在已经设置标志2122c的标志值之后生成新令牌,则令牌管理器2120c可以向操作执行单元2120a分配新生成的令牌。此处,令牌管理器2120c可以移除标志2122c的标志值。例如,令牌管理器2120c可以将标志2122c的标志值设置为0。
当满足设置条件时,后台操作触发单元2120d可以触发后台操作。例如,当存储器装置2200中包括的存储块中的空闲块的数量小于预设数量时,后台操作触发单元2120d可以触发垃圾收集操作。例如,当存储器装置2200中包括的存储块之中存在读取计数已经达到预设值的存储块时,后台操作触发单元2120d可以触发读取回收操作。例如,当存储器装置2200中包括的存储块之中存在编程计数或擦除计数已经达到预设值的存储块时,后台操作触发单元2120d可以触发损耗均衡操作。例如,后台操作触发单元2120d可以以预设间隔触发地址映射表清除操作,或者每当地址映射信息改变预设大小时触发地址映射表清除操作。
当后台操作触发单元2120d通知操作执行单元2120a已经触发后台操作时,操作执行单元2120a可以执行触发的后台操作。后台操作可以包括例如垃圾收集操作、读取回收操作、损耗均衡操作和地址映射表清除操作。操作执行单元2120a可以生成各种命令、地址等,并将命令、地址等传送到存储器装置2200,以执行后台操作。
在实施例中,操作执行单元2120a可以根据令牌管理器2120c是否具有令牌来执行或保持触发的后台操作。例如,当后台操作触发单元2120d通知操作执行单元2120a已经触发后台操作时,操作执行单元2120a可以请求令牌管理器2120c向操作执行单元2120a分配令牌。当令牌管理器2120c向操作执行单元2120a分配了令牌时,操作执行单元2120a可以执行触发的后台操作。换言之,操作执行单元2120a可以每当执行触发的后台操作时消耗令牌。如果令牌管理器2120c未向操作执行单元2120a分配令牌,则操作执行单元2120a可以保持触发的后台操作。此处,操作执行单元2120a可以将关于所保持的后台操作的信息存储在操作等待队列2120e中。如果在存在所保持的后台操作时令牌管理器2120c向操作执行单元2120a分配了令牌,则操作执行单元2120a可以执行所保持的后台操作。换言之,操作执行单元2120a可以参考存储在操作等待队列2120e中的信息来执行所保持的后台操作。
在实施例中,如果令牌管理器2120c具有令牌,则操作执行单元2120a可以在执行读取操作之前执行后台操作。例如,当操作执行单元2120a接收到新读取请求并且同时后台操作触发单元2120d通知操作执行单元2120a已经触发后台操作时,操作执行单元2120a可以请求令牌管理器2120c向操作执行单元2120a分配令牌。当令牌管理器2120c向操作执行单元2120a分配了令牌时,操作执行单元2120a可以在执行与读取请求对应的读取操作之前首先执行触发的后台操作。当令牌管理器2120c未向操作执行单元2120a分配令牌时,操作执行单元2120a可以执行与读取请求对应的读取操作并保持触发的后台操作。
在实施例中,操作执行单元2120a可以在执行读取操作之前执行后台操作,而不管令牌管理器2120c是否具有令牌。例如,当后台操作触发单元2120d通知操作执行单元2120a已经触发后台操作时,操作执行单元2120a可以比较触发的后台操作的优先级和读取服务质量(QoS)的优先级。例如,操作执行单元2120a可以参考存储在优先级表存储装置2120f中的优先级表来检查触发的后台操作的优先级和读取QoS的优先级。根据触发的后台操作的优先级和读取服务质量的优先级的比较结果,操作执行单元2120a可以在不消耗令牌的情况下执行触发的后台操作。例如,如果触发的后台操作的优先级高于读取QoS的优先级,则操作执行单元2120a可以在不请求令牌管理器2120c向操作执行单元2120a分配令牌的情况下,执行触发的后台操作。如果触发的后台操作的优先级低于读取QoS的优先级,则操作执行单元2120a可以请求令牌管理器2120c向操作执行单元2120a分配令牌,并且当令牌管理器2120c向操作执行单元2120a分配了令牌时,执行触发的后台操作。
存储器接口2130可以使用各种接口协议与存储器装置2200通信。
缓冲存储器2140可以在存储器控制器2100控制存储器装置2200时临时存储数据。例如,从主机1000接收的编程数据可以被临时存储在缓冲存储器2140中,直到编程操作完成。此外,在读取操作期间从存储器装置2200读取的数据可以被临时存储在缓冲存储器2140中。
错误校正电路2150可以在编程操作或读取操作期间执行错误校正编码操作和错误校正解码操作。
内部存储器2160可以用作用于存储存储器控制器2100的操作所需的各种信息的存储装置。内部存储器2160可以存储多个表。例如,内部存储器2160可以存储映射逻辑地址和物理地址的地址映射表。
图3是描述根据本公开的实施例的满足读取QoS时的后台操作的示图。
存储器系统的所需的读取QoS可以根据使用存储器系统的环境或用户的需要而改变。例如,如果需要99.9%的读取QoS,则这可以表示在读取QoS所需的执行时间内,每1000次读取操作999次读取操作需要执行。换言之,这可以表示在读取QoS所需的执行时间内,每1000次读取操作一次读取操作不需要执行。
在本公开的实施例中,可以在满足读取QoS的范围内执行后台操作。例如,在需要99.9%的读取QoS的情况下,如图3所示,在已经执行999次读取操作之后,可以在执行第1000次读取操作304之前执行后台操作302。因此,可以在执行管理存储器系统所需的后台操作的同时满足读取QoS。
图4是描述根据本公开的实施例的操作存储器控制器的方法的流程图。
在步骤401,存储器控制器可以从主机接收用于控制存储器装置的请求。该请求可以是例如编程请求、读取请求和擦除请求中的任意一个。
在步骤403,存储器控制器可以确定从主机接收的请求是否是读取请求。作为步骤403的确定的结果,如果从主机接收的请求是读取请求(由“是”表示),则进程可以进行到步骤405,如果从主机接收的请求不是读取请求(由“否”表示),则进程可以进行到步骤421。
在步骤405,存储器控制器可以执行与读取请求对应的读取操作,并对读取操作执行计数Rcount进行计数。例如,每当执行读取操作时,存储器控制器可以将读取操作执行计数Rcount增加1。
在步骤407,存储器控制器可以确定读取操作执行计数Rcount是否已经达到预设阈值Rthreshold。作为步骤407的确定的结果,如果读取操作执行计数Rcount具有预设阈值Rthreshold(由“是”表示),则进程可以进行到步骤409,如果读取操作执行计数Rcount不具有预设阈值Rthreshold(由“否”表示),则进程可以进行到步骤401。
在步骤409,存储器控制器可以生成令牌并初始化读取操作执行计数Rcount。此后,进程可以进行到步骤401。
如果作为步骤403的确定的结果,从主机接收的请求不是读取请求,则在步骤421,存储器控制器可以执行与从主机接收的请求对应的前台操作。例如,如果从主机接收的请求是编程请求,则存储器控制器可以执行编程操作,并且如果从主机接收的请求是擦除请求,则存储器控制器可以执行擦除操作。
图5是描述根据本公开的实施例的操作存储器控制器的方法的流程图。
可以在执行图4所示的步骤的同时执行图5所示的步骤。
在步骤501,存储器控制器可以检查后台操作是否被触发。后台操作可以包括例如垃圾收集操作、读取回收操作、损耗均衡操作或地址映射表清除操作中的至少一个。如果后台操作被触发(由“是”表示),则进程可以进行到步骤503,如果后台操作未被触发(由“否”表示),则可以重复步骤501。
在步骤503,存储器控制器可以检查触发的后台操作优先级Pbackground和读取QoS优先级Pqos。可以参考优先级表来执行检查优先级。
在步骤505,存储器控制器可以比较触发的后台操作优先级Pbackground与读取QoS优先级Pqos。如果触发的后台操作优先级Pbackground高于读取QoS优先级Pqos(由“是”表示),则进程可以进行到步骤507,如果触发的后台操作优先级Pbackground不高于读取QoS优先级Pqos(由“否”表示),则进程可以进行到步骤511。
在步骤507,存储器控制器可以执行触发的后台操作。不管是否具有令牌,存储器控制器都可以执行触发的后台操作。此处,存储器控制器可以在执行与读取请求对应的读取操作之前首先执行触发的后台操作。
如果触发的后台操作优先级Pbackground不高于读取QoS优先级Pqos,则在步骤511,存储器控制器可以检查是否具有令牌。如果具有令牌(由“是”表示),则进程可以进行到步骤513,如果不具有令牌(由“否”表示),则进程可以进行到步骤521。
在步骤513,存储器控制器可以消耗令牌并执行触发的后台操作。此后,进程可以进行到步骤501。此处,存储器控制器可以在执行与读取请求对应的读取操作之前首先执行触发的后台操作。
如果作为步骤511的确定的结果,不具有令牌,则在步骤521中,存储器控制器可以保持触发的后台操作。
在步骤523,存储器控制器可以检查是否生成了令牌。如果生成了令牌(由“是”表示),则进程可以进行到步骤525,如果没有生成令牌(由“否”表示),则进程可以进行到步骤521。
在步骤525,存储器控制器可以消耗令牌并执行所保持的后台操作。此后,进程可以进行到步骤501。
图6是描述根据本公开的实施例的优先级表的示图。
优先级表可以设置读取QoS的优先级和后台操作的优先级。
例如,图6示出了作为后台操作的读取回收操作、损耗均衡操作、紧急垃圾收集操作、地址映射表清除操作和正常垃圾收集操作。此外,例如,图6示出了读取回收操作的优先级、损耗均衡操作的优先级、紧急垃圾收集操作的优先级和地址映射表清除操作的优先级高于读取QoS的优先级,并且正常垃圾收集操作的优先级低于读取QoS的优先级。
当应用图6所示的优先级表时,如果读取QoS之前的后台操作被触发,则不管是否具有令牌,存储器控制器都可以执行触发的后台操作。换言之,即使当不具有令牌时,但如果读取回收操作、损耗均衡操作、紧急垃圾收集操作和地址映射表清除操作中的任意一个被触发,则可以执行触发的操作。
如果优先级低于读取QoS的优先级的正常垃圾收集操作被触发,则存储器控制器可以根据是否具有令牌来执行或保持触发的正常垃圾收集操作。
此处,紧急垃圾收集操作可以指当因为空闲块的比率过多地低于预设值所以垃圾收集的需求较高时执行的垃圾收集操作。正常垃圾收集操作可以指尽管空闲块的比率低于预设值但与紧急垃圾收集相比需求相对较低的垃圾收集操作。
图6所示的优先级表仅用于说明目的。根据需要,可以调整优先级。例如,正常垃圾收集操作的优先级被设置为高于读取QoS的优先级。此外,优先级表中的优先级可以由用户改变。
图7是描述根据本公开的实施例的存储器装置2200的示图。图7所示的存储器装置2200可以应用于图1和图2所示的存储器系统。
存储器装置2200可以包括控制逻辑2210、外围电路2220和存储器单元阵列2240。外围电路2220可以包括电压生成电路2222、行解码器2224、输入/输出电路2226、列解码器2228、页面缓冲器组2232和电流感测电路2234。
控制逻辑2210可以在图1和图2所示的存储器控制器2100的控制下控制外围电路2220。
控制逻辑2210可以响应于通过输入/输出电路2226从存储器控制器2100接收的命令CMD和地址ADD来控制外围电路2220。例如,控制逻辑2210可以响应于命令CMD和地址ADD输出操作信号OP_CMD、行地址RADD、列地址CADD、页面缓冲器控制信号PBSIGNALS和启用位VRY_BIT<#>。控制逻辑2210可以响应于从电流感测电路2234接收的通过信号PASS或失败信号FAIL来确定验证操作是通过还是失败。
外围电路2220可以执行用于将数据存储在存储器单元阵列2240中的编程操作、用于输出存储在存储器单元阵列2240中的数据的读取操作、或用于擦除存储在存储器单元阵列2240中的数据的擦除操作。
电压生成电路2222可以响应于从控制逻辑2210接收的操作信号OP_CMD生成用于编程操作、读取操作或擦除操作的各种操作电压Vop。例如,电压生成电路2222可以将编程电压、验证电压、通过电压、读取电压、擦除电压、导通电压等传送到行解码器2224。
行解码器2224可以响应于从控制逻辑2210接收的行地址RADD,将操作电压Vop传送到与存储器单元阵列2240中包括的存储块中的选择的存储块联接的局部线LL。局部线LL可以包括局部字线、局部漏极选择线和局部源极选择线。另外,局部线LL可以包括与存储块联接的诸如源极线的各种线。
输入/输出电路2226可以向控制逻辑2210传送通过输入/输出线IO从存储器控制器接收的命令CMD和地址ADD,或者可以与列解码器2228交换数据DATA。
列解码器2228可以响应于从控制逻辑2210接收的列地址CADD在输入/输出电路2226和页面缓冲器组2232之间传送数据。例如,列解码器2228可以通过数据线DL与页面缓冲器PB1至PBm交换数据,或者通过列线CL与输入/输出电路2226交换数据。
页面缓冲器组2232可以联接到位线BL1至BLm,位线BL1至BLm共同联接到存储块BLK1至BLKi。页面缓冲器组2232可以包括联接到位线BL1至BLm的多个页面缓冲器PB1至PBm。例如,单个页面缓冲器可以联接到每个位线。页面缓冲器PB1至PBm可以响应于从控制逻辑2210接收的页面缓冲器控制信号PBSIGNALS操作。例如,在编程操作期间,页面缓冲器PB1至PBm可以临时存储从存储器控制器接收的编程数据,并根据编程数据调整待被施加到位线BL1至BLm的电压。此外,在读取操作期间,页面缓冲器PB1至PBm可以临时存储通过位线BL1至BLm接收的数据,或者感测位线BL1至BLm的电压或电流。
在读取操作或验证操作期间,电流感测电路2234可以响应于从控制逻辑2210接收的启用位VRY_BIT<#>生成参考电流,并且可以将从页面缓冲器组2232接收的感测电压VPB与由参考电流生成的参考电压进行比较并输出通过信号PASS或失败信号FAIL。
存储器单元阵列2240可以包括被配置为存储数据的多个存储块BLK1至BLKi。存储器装置2200的操作所需的用户数据和各种信息可以存储在存储块BLK1至BLKi中。存储块BLK1至BLKi可以实施为二维结构或三维结构,并且具有相同的配置。
图8是示出根据本公开的实施例的存储块的示图。
存储器单元阵列可以包括多个存储块。图8示出了多个存储块中的任意一个存储块BLKi。
在存储块BLKi中,彼此平行布置的多个字线可以联接在第一选择线和第二选择线之间。此处,第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。更详细地,存储块BLKi可以包括联接在位线BL1至BLm和源极线SL之间的多个串ST。位线BL1至BLm可以分别联接到串ST,并且源极线SL可以共同联接到串ST。串ST可以具有相同的配置;因此,将通过示例详细描述联接到第一位线BL1的串ST。
串ST可以包括彼此串联联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16和漏极选择晶体管DST。至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST可以包括在每个串ST中,并且比图中所示的存储器单元F1至F16的数量更多数量的存储器单元可以包括在每个串ST中。
源极选择晶体管SST的源极可以联接到源极线SL,漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且存储器单元F1至F16的栅极可以联接到多个字线WL1至WL16。在不同串ST中包括的存储器单元之中,联接到每个字线的一组存储器单元可以被称为物理页面PPG。因此,存储块BLKi中包括的物理页面PPG的数量可以对应于字线WL1至WL16的数量。
每个存储器单元可以存储1位数据。该存储器单元被称为单层单元SLC。在该情况下,每个物理页面PPG可以存储单个逻辑页面LPG的数据。每个逻辑页面LPG的数据可以包括与单个物理页面PPG中包括的单元的数量对应的数据位。例如,在每个存储器单元中可以存储2位或更多位数据的情况下,每个物理页面PPG可以存储两个或更多个逻辑页面LPG的数据。例如,在MLC型存储器装置中,两个逻辑页面的数据可以存储在每个物理页面PPG中。在TLC型存储器装置中,三个逻辑页面的数据可以存储在每个物理页面PPG中。
图9是示出根据本公开的实施例的具有三维结构的存储块的示图。
存储器单元阵列2240可以包括多个存储块BLK1至BLKi。将通过示例描述第一存储块BLK1。第一存储块BLK1可以包括多个串ST11至ST1m和ST21至ST2m。在实施例中,串ST11至ST1m和ST21至ST2m中的每一个可以形成为“U”形。在第一存储块BLK1中,m个串可以布置在行方向(即,X方向)上。图9示出了两个串布置在列方向(即,Y方向)上,但这仅是示例。例如,三个或更多个串可以布置在列方向(Y方向)上。
串ST11至ST1m和ST21至ST2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
源极选择晶体管SST、漏极选择晶体管DST和存储器单元MC1至MCn可以具有彼此类似的结构。例如,源极选择晶体管SST、漏极选择晶体管DST和存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷俘获层和阻挡绝缘层。例如,可以在每个串中设置用于提供沟道层的柱。例如,可以在每个串中设置用于提供沟道层、隧道绝缘层、电荷俘获层或阻挡绝缘层中的至少一个的柱。
每个串的源极选择晶体管SST可以联接在源极线SL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的串的源极选择晶体管可以联接到在行方向上延伸的源极选择线。布置在不同行中的串的源极选择晶体管可以联接到不同的源极选择线。在图9中,第一行中的串ST11至ST1m的源极选择晶体管可以联接到第一源极选择线SSL1。第二行中的串ST21至ST2m的源极选择晶体管可以联接到第二源极选择线SSL2。
在实施例中,串ST11至ST1m和ST21至ST2m的源极选择晶体管可以共同联接到单个源极选择线。
每个串中的第一至第n存储器单元MC1至MCn可以联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分为第一至第p存储器单元MC1至MCp以及第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp可以连续地布置在垂直方向(即,Z方向)上,并且彼此串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn可以连续地布置在垂直方向(Z方向)上,并且彼此串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn可以通过管道晶体管PT彼此联接。每个串的第一至第n存储器单元MC1至MCn的栅极可以分别联接到第一至第n字线WL1至WLn。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。在设置虚设存储器单元的情况下,可以稳定地控制相应串的电压或电流。各串的管道晶体管PT的栅极可以联接到管线PL。
每个串的漏极选择晶体管DST可以联接在相应位线和存储器单元MCp+1至MCn之间。布置在行方向上的串可以联接到在行方向上延伸的相应漏极选择线。第一行中的串ST11至ST1m的漏极选择晶体管可以联接到第一漏极选择线DSL1。第二行中的串ST21至ST2m的漏极选择晶体管可以联接到第二漏极选择线DSL2。
布置在列方向上的串可以联接到在列方向上延伸的相应位线。在图9中,第一列中的串ST11和ST21可以联接到第一位线BL1。第m列中的串ST1m和ST2m可以联接到第m位线BLm。
在布置在行方向上的串之中,联接到相同字线的存储器单元可以形成一个页面。例如,第一行的串ST11至ST1m中的、联接到第一字线WL1的存储器单元可以形成单个页面。第二行的串ST21至ST2m中的、联接到第一字线WL1的存储器单元可以形成另一单个页面。当漏极选择线DSL1和DSL2中的任意一个被选择时,布置在相应行中的串可以被选择。当字线WL1至WLn中的任意一个被选择时,所选择的串中的相应单个页面可以被选择。
图10是示出根据本公开的实施例的具有三维结构的存储块的示图。
存储器单元阵列2240可以包括多个存储块BLK1至BLKi。将通过示例描述第一存储块BLK1。第一存储块BLK1可以包括多个串ST11'至ST1m'和ST21'至ST2m'。串ST11'至ST1m'和ST21'至ST2m'中的每一个可以在垂直方向(即,Z方向)上延伸。在每个存储块BLKi中,m'个串可以布置在行方向(即,X方向)上。尽管图10示出了两个串布置在列方向(即,Y方向)上,但这仅是示例。例如,三个或更多个串可以布置在列方向(Y方向)上。
串ST11'至ST1m'和ST21'至ST2m'中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个串的源极选择晶体管SST可以联接在源极线SL和存储器单元MC1至MCn之间。布置在相同行中的串的源极选择晶体管可以联接到相同的源极选择线。布置在第一行中的串ST11'至ST1m'的源极选择晶体管可以联接到第一源极选择线SSL1。布置在第二行中的串ST21'至ST2m'的源极选择晶体管可以联接到第二源极选择线SSL2。在实施例中,串ST11'至ST1m'和ST21'至ST2m'的源极选择晶体管可以共同联接到单个源极选择线。
每个串中的第一至第n存储器单元MC1至MCn可以串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极可以分别联接到第一至第n字线WL1至WLn。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。在设置虚设存储器单元的情况下,可以稳定地控制相应串的电压或电流。由此,可以提高存储在第一存储块BLK1中的数据的可靠性。
每个串的漏极选择晶体管DST可以联接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的串的漏极选择晶体管DST可以联接到在行方向上延伸的相应漏极选择线。第一行中的串ST11'至ST1m'的漏极选择晶体管DST可以联接到第一漏极选择线DSL1。第二行中的串ST21'至ST2m'的漏极选择晶体管DST可以联接到第二漏极选择线DSL2。
换言之,除了从每个单元串中排除管道晶体管PT之外,图10的第一存储块BLK1可以与图9的第一存储块BLK1具有类似的等效电路。
图11是示出包括图1和图2所示的存储器控制器的存储器系统30000的示例的示图。
参照图11,存储器系统30000可以实施在蜂窝电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)或无线通信装置中。存储器系统30000可以包括存储器装置2200和存储器控制器2100,存储器控制器2100被配置为控制存储器装置2200的操作。
存储器控制器2100可以在处理器3100的控制下控制存储器装置2200的数据访问操作,例如编程操作、擦除操作或读取操作。
存储器装置2200中编程的数据可以在存储器控制器2100的控制下通过显示器3200输出。
无线电收发器3300可以通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转变为能够在处理器3100中处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并且将处理的信号传送到存储器控制器2100或显示器3200。存储器控制器2100可以将由处理器3100处理的信号传送到存储器装置2200。此外,无线电收发器3300可以将从处理器3100输出的信号转变为无线电信号,并且通过天线ANT将转变的无线电信号输出到外部装置。输入装置3400可以用于输入控制信号,以用于控制处理器3100的操作或待由处理器3100处理的数据。输入装置3400可以实施在诸如触摸板、计算机鼠标、小键盘或键盘的定点装置中。处理器3100可以控制显示器3200的操作,使得从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以实施为处理器3100的一部分或与处理器3100分开设置的芯片。
图12是示出包括图1和图2所示的存储器控制器的存储器系统40000的示例的示图。
参照图12,存储器系统40000可以实施在个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可以包括存储器装置2200以及存储器控制器2100,存储器控制器2100被配置为控制存储器装置2200的数据处理操作。
处理器4100可以根据从输入装置4200输入的数据,通过显示器4300输出存储在存储器装置2200中的数据。例如,输入装置4200可以实施在诸如触摸板、计算机鼠标、小键盘或键盘的定点装置中。
处理器4100可以控制存储器系统40000的整体操作,并控制存储器控制器2100的操作。在实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以实施为处理器4100的一部分或与处理器4100分开设置的芯片。
图13是示出包括图1和图2所示的存储器控制器的存储器系统50000的示例的示图。
参照图13,存储器系统50000可以实施在例如数码相机、设置有数码相机的便携式电话、设置有数码相机的智能电话或设置有数码相机的平板PC的图像处理装置中。
存储器系统50000可以包括存储器装置2200和存储器控制器2100,存储器控制器2100被配置为控制存储器装置2200的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可以将光学图像转换为数字信号。转换的数字信号可以被传送到处理器5100或存储器控制器2100。在处理器5100的控制下,转换的数字信号可以通过显示器5300输出或通过存储器控制器2100存储在存储器装置2200中。存储在存储器装置2200中的数据可以在处理器5100或存储器控制器2100的控制下通过显示器5300输出。
在实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以实施为处理器5100的一部分或与处理器5100分开设置的芯片。
图14是示出包括图1和图2所示的存储器控制器的存储器系统70000的示例的示图。
参照图14,存储器系统70000可以实施在存储卡或智能卡中。存储器系统70000可以包括存储器装置2200、存储器控制器2100以及卡接口7100。
存储器控制器2100可以控制存储器装置2200和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本公开不限于此。
卡接口7100可以根据主机60000的协议来接口连接主机60000和存储器控制器2100以进行数据交换。在实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可以指能够支持主机60000使用的协议的硬件、安装在硬件中的软件、或信号传送方法。
当存储器系统70000连接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以在微处理器6100的控制下通过卡接口7100和存储器控制器2100与存储器装置2200进行数据通信。
根据本公开,可以在能够满足读取QoS的范围内执行后台操作。
虽然为了说明性目的已经公开了本公开的示例性实施例,但是本领域技术人员将理解的是,可以进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同方案来限定,而不是由前面的描述来限定。
Claims (22)
1.一种操作存储器控制器的方法,所述方法包括:
响应于从主机接收的请求,执行与所述请求对应的前台操作;
对所述前台操作之中与读取请求对应的读取操作执行的次数进行计数;
每当计数的次数达到预设计数时生成令牌,所述令牌表示执行后台操作的权利;以及
每当触发所述后台操作时,在逐个消耗所述令牌的同时执行触发的后台操作。
2.根据权利要求1所述的方法,进一步包括:当在触发所述后台操作的时间点不具有所述令牌时,保持所述触发的后台操作。
3.根据权利要求2所述的方法,进一步包括:当在生成所述令牌的时间点存在保持的后台操作时,执行所述保持的后台操作。
4.根据权利要求1所述的方法,其中执行所述触发的后台操作包括:在执行所述读取操作之前执行所述触发的后台操作。
5.根据权利要求1所述的方法,进一步包括:比较所述触发的后台操作的优先级和读取服务质量即读取QoS的优先级。
6.根据权利要求5所述的方法,其中执行所述触发的后台操作包括:当所述触发的后台操作的优先级高于所述读取QoS的优先级时,在不消耗所述令牌的情况下执行所述触发的后台操作。
7.根据权利要求1所述的方法,其中所述后台操作包括垃圾收集操作、读取回收操作、损耗均衡操作或地址映射表清除操作中的至少一个。
8.一种存储器控制器,包括:
计数器,对与从主机接收的读取请求对应的读取操作执行的次数进行计数;
令牌管理器,每当所述计数器的计数值达到预设计数时生成令牌,所述令牌表示执行后台操作的权利;以及
操作执行单元:
响应于从所述主机接收的请求执行与所述请求对应的前台操作;
每当触发所述后台操作时请求所述令牌管理器向所述操作执行单元分配所述令牌;并且
当所述令牌管理器向所述操作执行单元分配了所述令牌时执行所述后台操作。
9.根据权利要求8所述的存储器控制器,其中当响应于触发的后台操作所述令牌管理器未向所述操作执行单元分配所述令牌时,所述操作执行单元保持所述触发的后台操作。
10.根据权利要求9所述的存储器控制器,其中当所述令牌管理器向所述操作执行单元分配了所述令牌同时存在保持的后台操作时,所述操作执行单元执行所述保持的后台操作。
11.根据权利要求8所述的存储器控制器,其中所述操作执行单元在执行所述读取操作之前执行触发的后台操作。
12.根据权利要求8所述的存储器控制器,其中所述操作执行单元比较触发的后台操作的优先级和读取服务质量即读取QoS的优先级。
13.根据权利要求12所述的存储器控制器,其中当所述触发的后台操作的优先级高于所述读取QoS的优先级时,所述操作执行单元在未被分配所述令牌的情况下执行所述触发的后台操作。
14.根据权利要求8所述的存储器控制器,其中所述后台操作包括垃圾收集操作、读取回收操作、损耗均衡操作或地址映射表清除操作中的至少一个。
15.一种存储器系统,包括:
存储器装置;以及
存储器控制器:
响应于从主机接收的请求,对所述存储器装置执行与所述请求对应的前台操作;
对所述前台操作之中与从所述主机接收的读取请求对应的读取操作执行的次数进行计数;
每当计数的次数达到预设计数时生成令牌,所述令牌表示执行后台操作的权利;并且
每当触发所述后台操作时,在逐个消耗所述令牌的同时执行触发的后台操作。
16.根据权利要求15所述的存储器系统,其中当所述存储器系统在触发所述后台操作的时间点不具有所述令牌时,所述存储器控制器保持所述触发的后台操作。
17.根据权利要求16所述的存储器系统,其中当在生成所述令牌的时间点存在保持的后台操作时,所述存储器控制器执行所述保持的后台操作。
18.根据权利要求15所述的存储器系统,其中所述存储器控制器在执行所述读取操作之前执行所述触发的后台操作。
19.根据权利要求15所述的存储器系统,其中所述存储器控制器比较所述触发的后台操作的优先级和读取服务质量即读取QoS的优先级。
20.根据权利要求19所述的存储器系统,其中当所述触发的后台操作的优先级高于所述读取QoS的优先级时,所述存储器控制器在不消耗所述令牌的情况下执行所述触发的后台操作。
21.根据权利要求15所述的存储器系统,其中所述后台操作包括垃圾收集操作、读取回收操作、损耗均衡操作或地址映射表清除操作中的至少一个。
22.一种控制器的操作方法,所述控制器控制存储器装置,所述操作方法包括:
控制所述存储器装置分别基于一条或多条准许执行一个或多个触发的后台操作;以及
每当所述存储器装置执行了预定次数的读取操作时,生成所述一条或多条准许中的每一条,
其中所述后台操作的优先级低于读取服务质量即读取QoS的优先级。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0152897 | 2018-11-30 | ||
KR1020180152897A KR102605560B1 (ko) | 2018-11-30 | 2018-11-30 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258934A true CN111258934A (zh) | 2020-06-09 |
CN111258934B CN111258934B (zh) | 2024-03-08 |
Family
ID=70850913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910800789.1A Active CN111258934B (zh) | 2018-11-30 | 2019-08-28 | 存储器控制器、包括其的存储器系统及操作其的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10885995B2 (zh) |
KR (1) | KR102605560B1 (zh) |
CN (1) | CN111258934B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590043A (zh) * | 2021-07-29 | 2021-11-02 | 北京沃东天骏信息技术有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221072A (zh) * | 2021-04-21 | 2022-10-21 | 建兴储存科技股份有限公司 | 固态存储装置的快闪转换层对应表处理方法 |
US20230097115A1 (en) * | 2021-09-27 | 2023-03-30 | Advanced Micro Devices, Inc. | Garbage collecting wavefront |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862265B1 (en) * | 2000-04-13 | 2005-03-01 | Advanced Micro Devices, Inc. | Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter |
US20120278530A1 (en) * | 2011-04-28 | 2012-11-01 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
US20130132682A1 (en) * | 2011-11-21 | 2013-05-23 | Jason M. Kassoff | Push Mechanism for Quality of Service (QoS) Support in Coherency Port |
US20150355845A1 (en) * | 2014-06-05 | 2015-12-10 | Samsung Electronics Co., Ltd. | Memory systems that support read reclaim operations and methods of operating same to thereby provide real time data recovery |
US20160070593A1 (en) * | 2014-09-10 | 2016-03-10 | Oracle International Corporation | Coordinated Garbage Collection in Distributed Systems |
CN107678976A (zh) * | 2016-08-02 | 2018-02-09 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
KR20180059208A (ko) * | 2016-11-25 | 2018-06-04 | 삼성전자주식회사 | 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법 |
US10014018B1 (en) * | 2017-12-15 | 2018-07-03 | Western Digital Technologies, Inc. | Data storage device seeking multiple voice coil motors using a limited current supply |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012116369A2 (en) * | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9465696B2 (en) * | 2011-06-03 | 2016-10-11 | Apple Inc. | Methods and apparatus for multi-phase multi-source backup |
KR101363422B1 (ko) | 2012-10-04 | 2014-02-14 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
US8879349B2 (en) | 2013-02-26 | 2014-11-04 | Kabushiki Kaisha Toshiba | Storage device |
JP6206161B2 (ja) * | 2013-12-18 | 2017-10-04 | 富士通株式会社 | ストレージ制御装置、制御方法、および制御プログラム |
US9606915B2 (en) * | 2015-08-11 | 2017-03-28 | Toshiba Corporation | Pool level garbage collection and wear leveling of solid state devices |
KR102534633B1 (ko) * | 2016-04-14 | 2023-05-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-11-30 KR KR1020180152897A patent/KR102605560B1/ko active IP Right Grant
-
2019
- 2019-07-16 US US16/513,298 patent/US10885995B2/en active Active
- 2019-08-28 CN CN201910800789.1A patent/CN111258934B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862265B1 (en) * | 2000-04-13 | 2005-03-01 | Advanced Micro Devices, Inc. | Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter |
US20120278530A1 (en) * | 2011-04-28 | 2012-11-01 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
US20130132682A1 (en) * | 2011-11-21 | 2013-05-23 | Jason M. Kassoff | Push Mechanism for Quality of Service (QoS) Support in Coherency Port |
US20150355845A1 (en) * | 2014-06-05 | 2015-12-10 | Samsung Electronics Co., Ltd. | Memory systems that support read reclaim operations and methods of operating same to thereby provide real time data recovery |
US20160070593A1 (en) * | 2014-09-10 | 2016-03-10 | Oracle International Corporation | Coordinated Garbage Collection in Distributed Systems |
CN107678976A (zh) * | 2016-08-02 | 2018-02-09 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
KR20180059208A (ko) * | 2016-11-25 | 2018-06-04 | 삼성전자주식회사 | 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법 |
US10014018B1 (en) * | 2017-12-15 | 2018-07-03 | Western Digital Technologies, Inc. | Data storage device seeking multiple voice coil motors using a limited current supply |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590043A (zh) * | 2021-07-29 | 2021-11-02 | 北京沃东天骏信息技术有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102605560B1 (ko) | 2023-11-24 |
US10885995B2 (en) | 2021-01-05 |
US20200176065A1 (en) | 2020-06-04 |
CN111258934B (zh) | 2024-03-08 |
KR20200065938A (ko) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879788B (zh) | 存储器控制器、存储器系统以及存储器装置的操作方法 | |
CN111091859B (zh) | 存储器装置及其操作方法 | |
CN110413535B (zh) | 存储器控制器及存储器控制器的操作方法 | |
KR102578188B1 (ko) | 메모리 컨트롤러 및 이의 동작 방법 | |
CN110047549B (zh) | 存储器系统及其操作方法 | |
CN110277126B (zh) | 存储器装置和具有存储器装置的存储器系统 | |
CN110851375A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN110322918B (zh) | 存储器件和操作该存储器件的方法 | |
CN111258934B (zh) | 存储器控制器、包括其的存储器系统及操作其的方法 | |
CN110120240B (zh) | 存储器系统及其操作方法 | |
US11269769B2 (en) | Memory system and method of operating the same | |
CN110021330B (zh) | 存储器系统及其操作方法 | |
US20200176048A1 (en) | Controller, memory system including the same, and method of operating the memory system | |
CN110851382B (zh) | 存储控制器及其操作方法和具有存储控制器的存储器系统 | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
US11526288B2 (en) | Memory system including a plurality of memory blocks | |
CN115237337A (zh) | 控制器及其操作方法 | |
CN112988048A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |