CN112201292A - 控制器及其操作方法 - Google Patents
控制器及其操作方法 Download PDFInfo
- Publication number
- CN112201292A CN112201292A CN202010239632.9A CN202010239632A CN112201292A CN 112201292 A CN112201292 A CN 112201292A CN 202010239632 A CN202010239632 A CN 202010239632A CN 112201292 A CN112201292 A CN 112201292A
- Authority
- CN
- China
- Prior art keywords
- plane
- memory
- write request
- accelerated
- controller
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 15
- 230000015654 memory Effects 0.000 claims abstract description 282
- 230000004044 response Effects 0.000 claims abstract description 19
- 239000010410 layer Substances 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000011017 operating method Methods 0.000 claims description 9
- 239000002356 single layer Substances 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 13
- 238000009826 distribution Methods 0.000 description 12
- 101100371495 Colletotrichum gloeosporioides UBC1 gene Proteins 0.000 description 10
- 239000000872 buffer Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 2
- 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
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/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
-
- 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/10—Programming or data input circuits
-
- 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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及一种控制器。该控制器控制存储器芯片,每个存储器芯片包括由多个存储块组成的至少一个平面,该控制器包括:主机接口,从主机接收请求;地址映射器,在接收到加速写入请求和正常写入请求时,将存储器芯片中的每一个的至少一个平面之中的第一平面分配到第一平面组,以响应加速写入请求,并且将第二平面分配到第二平面组,以响应正常写入请求;以及存储器接口,控制存储器芯片,使得第一平面组执行与加速写入请求相对应的操作,并且第二平面组执行与正常写入请求相对应的操作。
Description
相关申请的交叉引用
本申请要求于2019年7月8日提交的申请号为10-2019-0082027的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的实施例总体涉及一种控制存储器装置的操作的控制器。
背景技术
计算机环境范例已经转变成云计算,并且正在向使计算系统能够随时随地使用的普适计算发展。诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。这种存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
使用半导体存储器装置的存储器系统提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本专利文献的实施例涉及一种能够运行加速(turbo)写入和正常写入的混合请求的控制器。
在实施例中,提供一种控制与控制器通信的存储器芯片的控制器,每个存储器芯片包括由多个存储块构成的至少一个平面。控制器可以包括:主机接口,被配置成从主机接收请求;地址映射器,被配置成在接收到以高速将数据写入一个或多个高速存储块的加速写入请求和以低速将数据写入一个或多个存储块的正常写入请求时,将在存储器芯片中的每一个的至少一个平面之中的、包括被配置成以单层单元模式且以高速执行写入操作的存储块的第一平面分配到第一平面组,以响应加速写入请求,并且将以低速的第二平面分配到第二平面组,以相应正常写入请求;以及存储器接口,被配置成控制存储器芯片,使得第一平面组执行与加速写入请求相对应的操作,并且第二平面组执行与正常写入请求相对应的操作。
根据实施例,提供一种控制器的操作方法,该控制器控制与控制器通信的多个存储器芯片,每个存储器芯片包括由多个存储块构成的至少一个平面。操作方法可以包括以下步骤:从主机接收请求;在接收到加速写入请求和正常写入请求时,将在存储器芯片中的每一个的至少一个平面之中的、包括被配置成以单层单元模式执行写入操作的存储块的第一平面分配到第一平面组,并且将第二平面分配到第二平面组,第一平面不同于第二平面;并且控制存储器芯片,使得第一平面组执行与加速写入请求相对应的操作,并且第二平面组执行与正常写入请求相对应的操作。
根据实施例,即使以混合方式接收加速写入请求和正常写入请求,也可以提供能够保证加速写入请求的性能的控制器及其操作方法。
附图说明
图1是示意性地示出根据所公开技术的实施例的包括存储器系统的数据处理系统的示图。
图2是示出根据所公开技术的实施例的存储器系统的示图。
图3是示出存储器装置中包括的存储器单元阵列电路的示图。
图4a和图4b是示出存储器装置中包括的存储器单元的阈值电压分布的示图。
图5是用于说明存储器系统的加速写入操作的示图。
图6是用于说明存储器系统的超级块的示图。
图7是示出根据所公开技术的实施例的存储器系统的操作的示图。
图8a至图8c是用于说明根据所公开技术的实施例的存储器系统的操作的示图。
具体实施方式
本专利文献中所公开的技术可以在一些实施例中实施,以提供其它特征和优点之中支持加速写入操作的电子系统和方法。在下文中,将参照附图更详细地描述实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括存储器系统110和可操作地联接到存储器系统110的主机102。
主机102的示例可以包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置。
主机102可以包括诸如操作系统(OS)的软件,以管理和控制主机102的全部功能和操作,并且使用数据处理系统100或存储器系统110来运行来自用户的请求。OS可以支持用户请求的功能和操作。例如,根据主机102的移动性,OS可以被划分为通用OS和移动OS。根据用户的环境,通用OS可以被划分为个人OS和企业OS。
存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC等。SD卡可以包括迷你-SD卡和微型-SD卡。
存储器系统110可以通过各种类型的存储装置来实施。这种存储装置的示例可以包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。闪存可以具有三维(3D)堆叠结构。
存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储用于主机102的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以集成到单个半导体装置中。例如,控制器130和存储器装置150可以集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可以提高连接到存储器系统110的主机102的操作速度。另外,控制器130和存储器装置150可以集成为一个半导体装置以构成存储卡。例如,控制器130和存储器装置150可以构成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)卡,紧凑型闪存(CF)卡,智能媒体(SM)卡,记忆棒,包括尺寸减小的MMC(RS-MMC)和微型-MMC的多媒体卡,包括迷你-SD卡、微型-SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。
存储器系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网络的各种电子装置中的一个、射频识别(RFID)装置、或构成计算系统的各种组件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留其中存储的数据。存储器装置150可以通过写入操作存储从主机102提供的数据,并且通过读取操作将其中存储的数据提供至主机102。
存储器装置150可以包括闪速存储器装置。闪速存储器装置可以将数据存储在包括存储器单元晶体管的存储器单元阵列中。闪速存储器装置可以具有存储器管芯、平面、存储块和页面的层次结构。一个存储器管芯可以每次接收一个命令。闪速存储器装置可以包括多个存储器管芯。一个存储器管芯可以包括多个平面,并且多个平面可以并行处理由存储器管芯接收的命令。平面中的每个可以包括多个存储块。存储块可以对应于擦除操作的最小单位。一个存储块可以包括多个页面。页面可以对应于写入操作的最小单位。
图1示出包括例如四个存储器芯片CHIP1至CHIP4的存储器装置150。
存储器装置150可以包括配置成一个存储器单元中存储一位数据的单层单元(SLC)存储块和配置成一个存储器单元中存储两位或更多位数据的多层单元(MLC)存储块。例如,MLC存储块可以包括配置成每个单元存储三位信息的三层单元(TLC)存储块和配置成每个单元存储四位信息的四层单元(QLC)存储块。MLC存储块每个单位面积可以存储比SLC存储块更多的数据。另一方面,MLC存储块需要比SLC存储块更复杂的编程操作和读取操作,从而导致较长访问时间。例如,在将多于一个的数据位写入存储器单元中时,由于相邻分布之间的距离减小,需要精细布置存储器单元的阈值电压电平。这通过使用增量步进脉冲编程(ISPP)来实现,即使用编程和验证方法利用施加到字线的阶梯式编程电压对相同字线上的存储器单元进行重复编程。每个编程状态与验证操作中使用的验证电压相关联,并且设置每个阈值电压分布窗口的目标位置。为此,完成对MLC存储块的写入操作和读取操作所花费的时间比对SLC存储块的写入操作和读取操作所花费的时间长。
存储器系统110可以支持加速写入,使得包括MLC存储块的存储器装置150为用户提供高访问性能。在一些实施方式中,存储器系统110可以采用加速写入方案以通过使用内部SLC缓冲空间来增加MLC存储块的写入速度,以提高性能,SLC缓冲空间与具有MLC存储块的“正常”MLC存储器空间分离。在写入数据时,存储器系统110首先以高速写入到SLC缓冲空间,且随后在空闲时间期间以比该高速更低的速度将SLC缓冲空间中的写入数据转移到MLC存储器空间,因此释放SLC缓冲空间以用于额外的加速写入。在一个示例中,当从主机102接收到加速写入请求时,控制器130可以将从主机102接收的数据写入到存储器装置150的SLC存储块中,然后在存储器装置150的空闲时间期间将该数据从SLC存储块写入到MLC存储块中。通过此方式,加速写入方案使得存储器系统110能够在将大量数据存储在MLC存储块中的同时提高性能。
存储器芯片可以并行操作。控制器130可以以交错的方式将命令单独地提供至存储器芯片。存储器装置150的每个存储器芯片可以响应于命令而同时执行操作,诸如读取操作、编程操作或擦除操作。在一些实施方式中,存储器系统110可以将连续的逻辑块组合为超级块以开拓空间的和时间的局部性。在一个示例中,控制器130可以通过对可以向其并行编程数据的存储块进行逻辑分组来配置超级块。如图1所示,第一超级块152包括第一至第四存储器芯片CHIP1至CHIP4的存储块。
控制器130可以包括用于请求队列202的存储器和地址映射器204。请求队列202可以将控制器130接收的请求顺序地排队。请求可以包括作为请求的一部分的逻辑地址。如图1所示,第一正常写入请求N1、第二正常写入请求N2、第三加速写入请求T3、第四正常写入请求N4以及第五加速写入请求T5被顺序地排队在请求队列202中。
地址映射器204可以将与被排队在请求队列202中的请求相对应的逻辑地址映射到存储器装置150的物理地址。例如,地址映射器204可以将与写入请求相对应的逻辑地址分别映射到第一至第四存储器芯片CHIP1至CHIP4的物理地址,使得以交错的方式将与写入请求一起接收的写入数据写入到第一超级块152中。
地址映射器204可以以写入请求被排队在用于请求队列202的存储器中的顺序将与请求相关联的逻辑地址转换成物理地址,并且基于从逻辑地址转换的物理地址来调度命令的运行。例如,地址映射器204可以调度与第一正常写入请求N1和第二正常写入请求N2相对应的编程命令的运行,然后调度与第三加速写入请求T3相对应的编程命令的运行。
在一些实施方式中,存储器系统110包括多个存储器管芯,诸如存储器装置150。每个管芯包括一个或多个平面,使得可以在每个平面上发生相同的并发操作。每个平面包括作为可被擦除的最小单位的多个块。每个块包括作为可编程或读取的最小单位的多个页面。当控制器130通过从存储器装置150的所有平面逐一分配存储块来配置超级块时,控制器130可以向所有平面提供与第一正常写入请求N1和第二正常写入请求N2以及第三加速写入请求T3相对应的编程命令。由于一个平面每次仅可执行一种类型的操作,所以在第一正常写入请求N1和第二正常写入请求N2的运行完成之后,存储器装置150可以执行与第三加速写入请求T3相对应的编程操作。
主机102可以在预期高写入性能的情况下将加速写入请求提供至控制器130。因此,如果需要延迟加速写入请求的运行,直到具有低性能的正常写入请求需要在执行加速写入请求之前首先完成,则存储器系统110可能难以提供用户期望的写入性能。
当混合正常写入请求和加速写入请求时,可以考虑以下方法:控制器130控制存储器装置150针对所有写入请求以SLC模式编程数据,以提高写入性能。然而,当针对所有写入请求以SLC模式编程数据时,可能浪费存储器装置150的存储器空间并且可能迅速降低存储块的寿命。
根据实施例,当接收到加速写入请求时,控制器130可以将加速写入请求排队到请求队列202,并且调度编程命令的运行,使得不同的平面中执行加速写入请求和正常写入请求。图1示出由第一和第二存储器芯片CHIP1和CHIP2的存储块构成的第二超级块154,以及由第三和第四存储器芯片CHIP3和CHIP4的存储块构成的第三超级块156。根据实施方式,第一超级块152和第三超级块156可以配置为MLC存储块,并且第二超级块154可以配置为SLC存储块。
在需要执行加速写入请求和正常写入请求两者的情况下,地址映射器204可以分配第二超级块154以便执行与加速写入请求相对应的编程操作,并且分配第三超级块156以便执行与正常写入请求相对应的编程操作。需要执行加速写入请求和正常写入请求的情况可以包括加速写入请求和正常写入请求两者都已经被排队在请求队列202中的情况。
当加速写入请求没有被排队在请求队列202中时,地址映射器204可以分配第一超级块152,以便执行与正常写入请求相对应的编程操作。
在图1的示例中,可以对第一存储器芯片CHIP1和第二存储器芯片CHIP2中包括的平面执行与加速写入请求相对应的编程操作。此外,当加速写入请求被排队在请求队列202中时,可以对第三存储器芯片CHIP3和第四存储器芯片CHIP4中包括的平面执行与正常写入请求相对应的编程操作。
根据实施例,当以混合方式接收到正常写入请求和加速写入请求时,存储器装置150可以并行处理这两个请求,从而基本上防止加速写入请求的性能由于正常写入请求而降低。当加速写入请求被排队在请求队列202中时,地址映射器204可以调度编程命令的运行,使得执行与加速写入请求相对应的编程操作,而无需等待被排队在加速写入请求之前的正常写入请求的完成。
图2是示出根据实施例的包括控制器130和存储器装置150的存储器系统110的示图。图2的存储器系统110的控制器130和存储器装置150对应于参照图1描述的控制器130和存储器装置150。
控制器130可以包括经由内部总线可操作地联接的主机接口(I/F)132、处理器134、存储器I/F 136和存储器138。
主机I/F 132可以被配置为处理主机102的命令和数据,并且可以通过诸如下列的各种接口协议中的一个或多个与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
主机I/F 132可以通过被称为主机接口层(HIL)的固件来驱动,以便与主机交换数据。
主机接口132可以从主机102接收请求,并且分析主机102的请求。例如,主机接口132可以分析主机的请求是读取请求还是写入请求。当主机的请求是写入请求时,主机接口132可以分析写入请求是正常写入请求还是加速写入请求。主机接口132可以将经过分析的请求排队在请求队列202中。
处理器134可以控制存储器系统110的全部操作。处理器134可以执行固件操作以控制存储器系统110的全部操作。固件可以被称为闪存转换层(FTL)。而且,处理器134可以实现为微处理器或中央处理单元(CPU)。在一些实施方式中,FTL控制如何将数据存储到存储器系统110以及如何从存储器系统检索数据。硬盘驱动器已经成为关键的存储装置,因此硬盘驱动器的文件系统被用作通用文件系统。具有闪速存储器装置的存储器系统可以利用这种通用文件系统,但是由于诸如擦除块和损耗均衡的若干原因,它们不是最优的。例如,在对闪速存储块进行写入之前需要对闪速存储块进行擦除,因此具有闪速存储器装置的存储器系统需要具有与擦除块相关联的信息,而硬盘驱动器不需要该信息。因此,在通用文件系统和闪速存储器之间使用FTL。
例如,控制器130可以通过实现为微处理器或CPU的处理器134执行主机102请求的操作。换言之,控制器130可以执行与从主机102接收的命令相对应的命令操作。控制器130可以执行作为与从主机102接收的命令相对应的命令操作的前台操作。例如,从主机102接收的请求可以包括读取请求和写入请求。写入请求可以是正常写入请求和加速写入请求中的一个。
处理器134可以包括地址映射器204。地址映射器204可以将包括逻辑地址的请求转换为包括物理地址的命令。地址映射器204可以参照在控制器130中存储的映射表(未示出)将物理地址分配给命令。地址映射器204可以更新映射表中的逻辑地址和物理地址之间的映射信息。
地址映射器204可以调度与请求相对应的多个命令的运行,使得存储器装置150以交错的方式操作。例如,为了在多个平面中执行与多个命令相对应的操作,地址映射器204可以将多个平面的物理地址分别分配给多个命令。
在实施例中,地址映射器204可以将SLC存储块的物理地址分配给与加速写入请求相对应的编程命令,并且控制存储器装置150以SLC模式编程数据。在实施例中,地址映射器204可以将MLC存储块的物理地址分配给与加速写入请求相对应的编程命令,并且响应于编程命令控制存储器装置150以SLC模式编程数据。
根据实施方式,地址映射器204可以包括在闪存转换层中并且由处理器134操作。
控制器130可以通过实现为微处理器或CPU的处理器134对存储器装置150执行后台操作。例如,对存储器装置150执行的后台操作可以包括垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除(flush)操作或坏块管理操作。此外,处理器134可以执行控制存储器装置150以多层单元模式对通过与加速写入请求相对应的编程命令存储的数据进行编程的操作作为后台操作。
存储器I/F 136可以用作用于接口连接控制器130与存储器装置150的存储器/存储装置接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或特别是NAND闪速存储器时,存储器I/F 136可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供至存储器装置150的数据。存储器I/F 136可以作为用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)而工作。具体地,存储器I/F 136可以支持控制器130与存储器装置150之间的数据传送。
存储器I/F 136可以通过称为闪存接口层(FIL)的固件来操作,以便与存储器装置150交换数据。
存储器138可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以控制存储器装置150以响应于来自主机102的请求而执行读取操作、编程操作及擦除操作。控制器130可以将从存储器装置150读取的数据提供至主机102,并且可以将从主机102提供的数据存储到存储器装置150中。存储器138可以存储控制器130和存储器装置150执行这些操作所需的数据。例如,存储器138可以存储映射表。
存储器138可以包括缓冲器、高速缓存、队列等,以便存储用于执行主机102和存储器装置150之间的诸如写入操作和读取操作的操作的数据。存储器138可以包括请求队列202。请求队列202可以对从主机102接收的请求进行排队。根据从主机102提供至控制器130的请求,正常写入请求和加速写入请求可以混合在请求队列202中。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可以保留其中存储的数据。存储器装置150可以通过写入操作存储从主机102提供的数据,并且通过读取操作将其中存储的数据提供至主机102。存储器装置150可以包括多个存储块152、154、156…,多个存储块152、154、156中的每一个可以包括多个页面,并且多个页面中的每一个可以包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可以具有三维(3D)堆叠结构。
根据本发明的实施例,存储器装置150被描述为非易失性存储器,诸如闪速存储器,例如NAND闪速存储器。然而,存储器装置150可以被实现为相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)中的任意一个。存储器装置150可以包括多个存储块,多个存储块包括能够在一个存储器单元中存储两位或更多位数据的多层单元存储块。以多层单元模式编程的多层单元可以存储两位或更多位数据。以单层单元模式编程的多层单元可以存储一位数据。
存储器装置150可以包括多个存储器芯片CHIP1至CHIP4。在图2的示例中,多个存储器芯片CHIP1至CHIP4可以通过一个通道CH电连接到控制器130。在存储器装置150中包括的通道的数量和电连接到每个通道的存储器芯片的数量不限于图2的示例。
控制器130可以同时将仅一个命令提供至一个通道。然而,已经接收到命令的多个存储器芯片CHIP1到CHIP4可以同时操作。为了提高存储器装置150的性能,控制器130可以控制多个存储芯片CHIP1至CHIP4并行操作。例如,地址映射器204可以将与写入请求相对应的连续逻辑地址分别映射到多个存储器芯片CHIP1至CHIP4的物理地址。地址映射器204可以通过通道提供针对多个存储器芯片CHIP1至CHIP4的编程命令。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于存储器系统110的存储器装置150中包括的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线BL0到BLm-1的多个单元串340。每一列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联地联接在漏极选择晶体管DST与源极选择晶体管SST之间。在实施例中,存储器单元MC0至MCn-1中的每一个可以由能够存储多位数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图3中所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,以及“CSL”表示共源线。
虽然图3示出了NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元,或包括其中组合了两种或更多种类型的存储器单元的混合闪速存储器单元。而且,需要注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器装置。
存储器装置150可以进一步包括提供字线电压的电压供给310,字线电压包括编程电压、读取电压和通过电压,以根据操作模式供应至字线。电压供给310的电压生成操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择被选择存储块的字线中的一个,并且根据需要将字线电压提供至被选择字线和未选择字线。
存储器装置150可以包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储器单元阵列读取数据的读出放大器而操作。在编程操作期间,读取/写入电路320可以作为根据待被存储在存储器单元阵列中的数据来驱动位线的写入驱动器而操作。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并且基于接收的数据将相应电压施加到位线上。读取/写入电路320可以包括分别对应于列(或位线)或者列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4a和图4b是示出存储器装置150中包括的存储器单元的阈值电压分布的示图。
图4a是示出以SLC模式编程的存储器单元的阈值电压分布的示图。
在图4a的图中,横轴表示阈值电压,纵轴表示具有相应阈值电压的存储器单元的数量。
参照图4a,存储器单元可以以单层单元(SLC)模式被编程,以具有根据阈值电压分布的两种状态中的任意一种。在图4a中,由实线表示的阈值电压分布表示当存储器单元被理想地编程时的阈值电压分布。
图4b是示出以TLC模式编程的存储器单元的阈值电压分布的示图。
在图4b的图中,横轴表示阈值电压,纵轴表示具有相应阈值电压的存储器单元的数量。
参照图4b,存储器单元可以以三层单元(TLC)模式被编程,以具有根据阈值电压分布的八种状态中的任意一种。在图4b中,由实线表示的阈值电压分布表示当存储器单元被理想地编程时的阈值电压分布。
当存储器装置150以TLC模式对存储器单元进行编程时,由于需要施加多个编程电压以对存储器单元进行编程,使得八种阈值电压状态彼此区分开,因此完成编程操作可能花费较长时间。
当存储器装置150以MLC模式对存储器单元进行编程时,存储器芯片的每相同面积的存储容量可大于以SLC模式对存储器单元进行编程的情况。然而,当以MLC模式编程时编程操作所需的时间可能比以SLC模式编程时编程操作所需的时间更长。
存储器系统110可以支持加速写入以便将大量数据存储在存储器装置150中并且提供如以SLC模式的性能。
图5是用于说明存储器系统110的加速写入操作的示图。
图5中示出的主机102、控制器130和存储器装置150对应于参照图1描述的主机102、控制器130和存储器装置150。
主机102可以将加速写入请求和写入数据提供至控制器130,以便高速地将数据存储在存储器系统110中。
控制器130可以将来自主机102的加速写入请求排队在请求队列202中。控制器130可以通过使用地址映射器204来调度编程命令的运行,使得存储器装置150以单层单元模式写入(编程)写入数据,并且将调度的编程命令提供至存储器装置150。
存储器装置150可以响应于控制器130的编程命令而以SLC模式对写入数据进行编程。当存储器装置150的编程操作完成时,控制器130可以将响应提供至主机102。当主机102将加速写入请求提供至控制器130时,如果经过了根据SLC模式的编程时间,则主机102可以从控制器130接收响应。
控制器130可以在存储器装置150的空闲时段期间通过使用地址映射器204控制存储器装置150复制存储在SLC模式下的存储块中的写入数据并且将写入数据写入到MLC模式下的另一存储块。当存储器装置150以MLC模式写入写入数据时,SLC模式下的写入数据可以变为无效数据。SLC模式下的写入数据被写入MLC模式下的另一存储块,使得存储器装置150中写入数据占用的容量可以减小。
存储器系统110可以利用从多个平面分配的存储块来配置超级块,并且单独地向多个平面提供编程命令,以便使访问性能最大化。已接收编程命令的平面可以同时执行编程操作。
图6是用于说明存储器系统110的超级块的示图。
图6示出存储器装置150中包括的多个存储器芯片CHIP1至CHIP4。存储器芯片中的每一个可以包括至少一个平面。在图6的示例中,多个存储器芯片CHIP1至CHIP4中的每一个可以包括两个平面。也就是说,图6的存储器装置150可以包括八个平面PLANE1至PLANE8。多个平面PLANE1到PLANE8中的每一个可以包括多个存储块。在实施例中,多个平面PLANE1至PLANE8中的每一个可以包括SLC存储块和MLC存储块。在实施例中,多个平面PLANE1至PLANE8中的每一个可以包括MLC存储块,并且可以以SLC模式或MLC模式对MLC存储块进行选择性地编程。在本专利申请的上下文中,“SLC存储块”可以表示被配置成在该存储块中的每一个存储器单元中存储一位数据的存储块,并且“MLC存储块”可以表示被配置成在该存储块中的每一个存储器单元中存储多于一位数据的存储块。
一个平面可以同时执行仅一个操作。然而,多个平面PLANE1至PLANE8可以并行操作。为了提高存储器系统110的访问性能,控制器130可以通过将能够并行操作的存储块进行逻辑连接来配置一个超级块。
在图6的示例中,控制器130可以利用多个平面PLANE1至PLANE8中包括的存储块之中的第11、21、31、41、51、61、71和81块BLOCK11、BLOCK21、BLOCK31、BLOCK41、BLOCK51、BLOCK61、BLOCK71和BLOCK81来配置超级块。通过分配来自存储器装置150中包括的全部平面的存储块而配置的超级块可以被称为完整超级块(full superblock,FSB)。
在存储器系统110将超级块统一地配置为仅完整超级块(FSB)的情况下,当以混合方式从主机102接收到正常写入请求和加速写入请求时,加速写入请求的性能可能低于预期。
存储器装置150的每个平面可以同时执行仅一个操作。当存储器系统110将超级块配置为完整超级块(FSB)时,地址映射器204可以调度编程命令的运行,使得在全部平面中同时执行编程操作,而不管写入请求的类型。当正常写入请求被排队在存储器系统110的请求队列202中,然后加速写入请求被排队时,存储器装置150的每个平面可以在完成与正常写入请求相对应的操作之后执行与加速写入请求相对应的操作。
在所公开技术的实施例中,当以混合方式从主机102接收到正常写入请求和加速写入请求时,地址映射器204可以调度编程命令,使得在分开的平面中执行与正常写入请求和加速写入请求相对应的操作。
例如,控制器130可以通过将从第一至第四平面PLANE1至PLANE4分配的存储块逻辑连接来配置加速超级块(turbo superblock,TSB)。地址映射器204可以控制存储器装置150,使得以SLC模式对构成加速超级块(TSB)的存储块执行编程操作。在实施方式中,构成加速超级块的存储块可以是SLC存储块。
控制器130可以通过将从第五至第八平面PLANE5至PLANE8分配的、能够独立于第一至第四平面PLANE1至PLANE4操作的存储块逻辑连接来配置非加速超级块(non-turbosuperblock,NTSB)。地址映射器204可以控制存储器装置150,使得以MLC模式对构成非加速超级块(NTSB)的存储块执行编程操作。然而,本实施例不限于此,并且地址映射器204可以根据与正常写入请求一起提供的写入数据的属性来改变非加速超级块(NTSB)的单元模式。
图6示出包括第16、26、36和46块BLOCK16、BLOCK26、BLOCK36和BLOCK46的加速超级块(TSB),以及包括第54、64、74和84块BLOCK54、BLOCK64、BLOCK74和BLOCK84的非加速超级块(NTSB)。
地址映射器204可以调度编程命令的运行,使得与加速写入请求相对应的写入数据存储在加速超级块(TSB)中。当与加速写入请求混合地接收到正常写入请求时,地址映射器204可以调度编程命令的运行,使得与正常写入请求相对应的写入数据存储在非加速超级块(NTSB)中。
地址映射器204可以调度编程命令的运行,使得通过使用加速超级块(TSB)和非加速超级块(NTSB)在不同平面中执行与加速写入请求相对应的操作和与正常写入请求相对应的操作。
在实施例中,当从主机102仅接收到正常写入请求时,地址映射器204可以调度编程命令的运行,使得与正常写入请求相对应的写入数据存储在完整超级块(FSB)中。在实施例中,地址映射器204可以控制存储器装置150,使得写入数据以MLC模式编程在完整超级块(FSB)中。然而,本实施例不限于此,并且地址映射器204可以根据写入数据的属性改变完整超级块(FSB)的单元模式。
图7是示出基于所公开技术的实施例的存储器系统110的操作的示图。
每当在请求队列202中调度与写入请求相对应的命令时,地址映射器204可以执行步骤S702。
在步骤S702中,地址映射器204可以确定被排队在请求队列202中的写入请求是否都是正常写入请求。
在实施例中,基于在接收的写入请求中包括的标志信息,地址映射器204可以确定写入请求是否是加速写入请求。根据主机102是将加速写入请求还是将正常写入请求提供至控制器130,标记信息可以指示由主机102提供的写入请求是加速写入请求还是正常写入请求。
当被排队在请求队列202中的写入请求都是正常写入请求(步骤S702中为“是”)时,在步骤S704中,地址映射器204可以调度编程命令的运行,使得与正常写入请求相对应的写入数据存储在完整超级块(FSB)中。存储器接口136可以响应于编程命令来控制存储器装置150。
当被排队在请求队列202中的写入请求之中存在至少一个加速写入请求(步骤S702中为“否”)时,在步骤S704中,地址映射器204可以调度编程命令的运行,使得在不同的平面中执行与正常写入请求和加速写入请求相对应的编程操作。存储器接口136可以响应于编程命令来控制存储器装置150。
例如,当被首先排队在请求队列202中的请求是正常写入请求时,地址映射器204可以调度编程命令的运行,使得与该请求相对应的写入数据存储在非加速超级块(NTSB)中。地址映射器204可以调度编程命令的运行,使得与被排队在正常写入请求之后的加速写入请求相对应的写入数据存储在加速超级块(TSB)中,而无需等待正常写入请求的完成。
当至少一个加速写入请求被排队在请求队列202中时,地址映射器204可以以交错的方式调度编程命令的运行,使得在不同的平面中执行与被排队在请求队列202中的正常写入请求和加速写入请求相对应的编程操作。当加速写入请求被排队在请求队列202中时,地址映射器204可以快速地向主机102提供对加速写入请求的响应。
图8a至图8c是用于说明根据所公开技术的实施例的存储器系统110的操作的示图。
图8a至图8c中示出的控制器130和存储器装置150对应于参照图1描述的控制器130和存储器装置150。图8a至图8c示出控制器130中包括的请求队列202和存储器装置150的开放存储块,并且省略了控制器130和存储器装置150中可能包括的其它部件。存储器装置150可以包括作为开放存储块的完整超级块(FSB)、加速超级块(TSB)和非加速超级块(NTSB)。
加速超级块(TSB)可以包括从存储器装置150的平面之中的第一平面组的全部平面分配的存储块。在实施方式中,第一平面组可以包括SLC存储块。非加速超级块(NTSB)可以包括从存储器装置150的平面之中的第二平面组的全部平面分配的存储块。第二平面组是不属于第一平面组的平面组。完整超级块(FSB)可以包括从存储器装置150的第三平面组分配的存储块。第三平面组可以包括存储器装置150中包括的全部平面。
在图8a的示例中,假设从主机102顺序地接收到第一至第五正常写入请求N1至N5。请求队列202可以对第一至第五正常写入请求N1至N5排队。可以省略被排队在请求队列202中的读取请求。地址映射器204可以确定被排队在请求队列202中的全部写入请求是否都是正常写入请求,以便调度与第一正常写入请求N1相对应的编程命令的运行。
参照图8a,被排队在请求队列202中的全部写入请求可以是正常写入请求。地址映射器204可以调度编程命令的运行,使得与第一正常写入请求N1相对应的第一写入数据存储在完整超级块(FSB)中。地址映射器204可以调度编程命令的运行,使得第一写入数据以交错的方式存储在构成完整超级块(FSB)的存储块中。地址映射器204可以通过存储器接口136单独地将编程命令提供至存储器装置150的全部存储器芯片。
在图8b的示例中,假设在第一正常写入请求N1的运行完成之后从主机102接收到第六加速写入请求T6。第一写入数据DATA_N1可以存储在处于开放块状态的完整超级块(FSB)中。请求队列202可以将第二至第五正常写入请求N2至N5和第六加速写入请求T6排队。
地址映射器204可以确定被排队在请求队列202中的全部写入请求是否都是正常写入请求,以便调度与第二正常写入请求N2相对应的编程命令的运行。
参照图8b,由于第六加速写入请求T6已经被排队在请求队列202中,所以被排队在请求队列202中的写入请求不全部是正常写入请求。地址映射器204可以调度编程命令的运行,使得与第二正常写入请求N2相对应的第二写入数据存储在非加速超级块(NTSB)中。地址映射器204可以调度编程命令的运行,使得第二写入数据以交错的方式存储在构成非加速超级块(NTSB)的存储块中。地址映射器204可以将编程命令提供至第二平面组。
为了使存储器装置150的编程性能最大化,地址映射器204可以调度编程命令的运行,使得与第六加速写入请求T6相对应的第六写入数据存储在加速超级块(TSB)中。地址映射器204可以调度编程命令的运行,使得第六写入数据以交错的方式存储在构成加速超级块(TSB)的存储块中。地址映射器204可以将编程命令提供至第一平面组,使得第六写入数据以SLC模式被编程。
地址映射器204可以将编程命令提供至第一平面组,使得第六写入数据以SLC模式被编程,而无需等待第二写入数据的编程的完成完成。存储器装置150可以在第二写入数据编程的同时对第六写入数据进行编程。
在图8c的示例中,假设第二正常写入请求N2和第六加速写入请求T6的运行完成,并且从主机102接收到第七加速写入请求T7和第八正常写入请求N8。图8c示出第六写入数据已存储在加速超级块(TSB)中并且第二写入数据已存储在非加速超级块(NTSB)中的状态。
当地址映射器204意图调度与第三正常写入请求N3相对应的编程命令的运行时,请求队列202可以将正常写入请求和加速写入请求两者进行排队。地址映射器204可以调度编程命令的运行,使得与第三正常写入请求N3相对应的第三写入数据存储在非加速超级块(NTSB)中。地址映射器204可以调度编程命令的运行,使得与第七加速写入请求T7相对应的第七写入数据存储在加速超级块(TSB)中。
当在第一平面组中执行的第六写入数据的编程操作完成时,只要在第一平面组中没有待被首先执行的读取请求,存储器装置150就可以执行第七写入数据的编程操作。然而,存储器装置150可以执行第七写入数据的编程操作,而无需等待与被排队在第七加速写入请求T7之前的第三至第五正常写入请求N3至N5相对应的编程操作完成。
同时,直到从存储器系统110接收到与对特定逻辑地址的请求相对应的响应为止,主机102可以不再将对该逻辑地址的请求提供至存储器系统110。因此,即使被排队在正常写入请求之后的加速写入请求比被排队在加速写入请求之前的正常写入请求被更早地执行,存储器系统110也不会参考与逻辑地址相对应的错误存储区域。
处理器134可以在空闲时间期间将存储在加速超级块(TSB)中的第六和第七写入数据加载到存储器138,并且以MLC模式将数据编程在存储器装置150中。
在所公开技术的实施例中,存储器系统110可以调度编程命令的运行,使得在分开的平面中执行加速写入请求和正常写入请求。存储器系统110可以配置加速超级块(TSB)和非加速超级块(NTSB),使得可以在不同平面中执行加速写入请求和正常写入请求。
加速超级块(TSB)可以包括第一平面组的存储块。可以以SLC模式访问构成加速超级块(TSB)的存储块。非加速超级块(NTSB)可以包括第二平面组的存储块。在一些实施方式中,可以以MLC模式访问构成非加速超级块(NTSB)的存储块。
在所公开技术的实施例中,当加速写入请求和正常写入请求混合时,存储器系统110可以完成加速写入请求,而无需等待被排队在加速写入请求之前的正常写入请求的完成。存储器系统110可以高速完成加速写入请求,而不受限于在加速写入请求之前接收到的正常写入请求的处理速度。因此,存储器系统110可以提供对加速写入请求的快速响应以满足主机102的需求。
在所公开技术的实施例中,当没有待被执行的加速写入请求时,存储器系统110可以配置完整超级块(FSB),使得以最大性能执行正常写入请求。完整超级块(FSB)可以包括第三平面组的存储块,第三平面组包括第一平面组以及第二平面组。
虽然出于说明的目的已经描述了各个实施例,但是对于本领域的技术人员显而易见的是,在不脱离如所附权利要求中限定的本发明的精神和范围的情况下可以进行各种改变和修改。
Claims (20)
1.一种控制器,控制与所述控制器通信的存储器芯片,所述存储器芯片中的每一个包括至少一个平面,每个平面包括多个存储块,所述控制器包括:
主机接口,从主机接收请求;
地址映射器,在接收到以高速将数据写入一个或多个高速存储块的加速写入请求和以低速将数据写入一个或多个存储块的正常写入请求时,将所述存储器芯片中的每一个的至少一个平面之中的、包括以单层单元模式且以所述高速执行写入操作的存储块的第一平面分配到第一平面组,以响应所述加速写入请求,并且将以所述低速的第二平面分配到第二平面组,以响应所述正常写入请求;以及
存储器接口,控制所述存储器芯片,使得所述第一平面组执行与所述加速写入请求相对应的操作,并且所述第二平面组执行与所述正常写入请求相对应的操作。
2.根据权利要求1所述的控制器,其中,在仅接收到所述正常写入请求而没有接收到所述加速写入请求时,所述地址映射器将所述第一平面和所述第二平面分配到第三平面组,并且
所述存储器接口控制所述存储器芯片,使得所述第三平面组执行与所述正常写入请求相对应的操作。
3.根据权利要求2所述的控制器,其中与所述加速写入请求相对应的所述操作包括以所述单层单元模式将与所述加速写入请求相对应的数据写入到所述第一平面组。
4.根据权利要求3所述的控制器,其中与所述加速写入请求相对应的所述操作进一步在所述第一平面和所述第二平面的空闲时段期间将所述单层单元模式下的存储块的数据写入到多层单元模式下的另一存储块。
5.根据权利要求2所述的控制器,其中与所述正常写入请求相对应的所述操作包括以多层单元模式将与所述正常写入请求相对应的数据写入到所述第二平面组。
6.根据权利要求2所述的控制器,其中所述地址映射器利用从每个第一平面分配的存储块来配置加速超级块,并且执行与所述加速写入请求相对应的逻辑地址和所述加速超级块的物理地址之间的映射,使得数据以交错方式存储在所述加速超级块中。
7.根据权利要求2所述的控制器,其中所述地址映射器利用从每个第二平面分配的存储块来配置非加速超级块,并且执行与所述正常写入请求相对应的逻辑地址和所述非加速超级块的物理地址之间的映射,使得数据以交错方式存储在所述非加速超级块中。
8.根据权利要求2所述的控制器,其中所述存储器接口利用从每个第一平面和每个第二平面分配的存储块来配置完整超级块,并且执行与所述正常写入请求相对应的逻辑地址与所述完整超级块的物理地址之间的映射,使得数据以交错方式存储在所述完整超级块中。
9.根据权利要求8所述的控制器,其中所述存储器接口调度编程命令的运行,使得每个第一平面和每个第二平面并行地执行编程操作。
10.根据权利要求2所述的控制器,其中所述存储器接口响应于与所述正常写入请求相对应的编程命令而控制每个第一平面和每个第二平面以多层单元模式执行编程操作。
11.一种控制器的操作方法,所述控制器控制与所述控制器通信的多个存储器芯片,所述存储器芯片中的每一个包括至少一个平面,每个平面包括多个存储块,所述操作方法包括:
从主机接收请求;
在接收到加速写入请求和正常写入请求时,将存储器芯片中的每一个的至少一个平面之中的、包括以单层单元模式执行写入操作的存储块的第一平面分配到第一平面组,并且将第二平面分配到第二平面组,所述第一平面不同于所述第二平面;并且
控制所述存储器芯片,使得所述第一平面组执行与所述加速写入请求相对应的操作,并且所述第二平面组执行与所述正常写入请求相对应的操作。
12.根据权利要求11所述的操作方法,进一步包括:
在仅接收到所述正常写入请求而没有接收到所述加速写入请求时,将第一平面和所述第二平面分配到第三平面组,并且
控制所述存储器芯片,使得所述第三平面组执行与所述正常写入请求相对应的操作。
13.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第一平面组执行与所述加速写入请求相对应的操作包括:
控制所述第一平面组以单层单元模式写入与所述加速写入请求相对应的数据。
14.根据权利要求13所述的操作方法,其中控制所述存储器芯片,使得所述第一平面组执行与所述加速写入请求相对应的操作进一步包括:
控制所述存储器芯片在所述第一平面和所述第二平面的空闲时段期间将写入到所述单层单元模式下的存储块的数据写入到多层单元模式下的另一存储块。
15.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第二平面组执行与所述正常写入请求相对应的操作包括:
控制所述第二平面组以多层单元模式对与所述正常写入请求相对应的数据进行编程。
16.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第一平面组执行与所述加速写入请求相对应的操作包括:
利用从每个第一平面分配的存储块来配置加速超级块;并且
执行与所述加速写入请求相对应的逻辑地址和所述加速超级块的物理地址之间的映射,使得数据以交错方式存储在所述加速超级块中。
17.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第二平面组执行与所述正常写入请求相对应的操作包括:
利用从每个第二平面分配的存储块来配置非加速超级块;并且
执行与所述正常写入请求相对应的逻辑地址和所述非加速超级块的物理地址之间的映射。
18.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第三平面组执行与所述正常写入请求相对应的操作包括:
利用从每个第一平面和每个第二平面分配的存储块来配置完整超级块;并且
执行与所述正常写入请求相对应的逻辑地址和所述完整超级块的物理地址之间的映射,使得数据以交错的方式存储在所述完整超级块中。
19.根据权利要求18所述的操作方法,进一步包括:
调度编程命令的运行,使得每个第一平面和每个第二平面并行地执行编程操作。
20.根据权利要求12所述的操作方法,其中控制所述存储器芯片,使得所述第三平面组执行与所述正常写入请求相对应的操作包括:
响应于与所述正常写入请求相对应的编程命令,控制每个第一平面和每个第二平面以多层单元模式执行编程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190082027A KR20210006129A (ko) | 2019-07-08 | 2019-07-08 | 컨트롤러 및 컨트롤러의 동작방법 |
KR10-2019-0082027 | 2019-07-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112201292A true CN112201292A (zh) | 2021-01-08 |
Family
ID=74006019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010239632.9A Withdrawn CN112201292A (zh) | 2019-07-08 | 2020-03-30 | 控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11226895B2 (zh) |
KR (1) | KR20210006129A (zh) |
CN (1) | CN112201292A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200059936A (ko) * | 2018-11-22 | 2020-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20210016186A (ko) * | 2019-08-01 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR20210016188A (ko) * | 2019-08-01 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20210016208A (ko) * | 2019-08-02 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법 |
KR20210017481A (ko) * | 2019-08-08 | 2021-02-17 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US20220043588A1 (en) * | 2020-08-06 | 2022-02-10 | Micron Technology, Inc. | Localized memory traffic control for high-speed memory devices |
US11625333B2 (en) * | 2021-04-26 | 2023-04-11 | Micron Technology, Inc. | Configurable flush operation speed |
JP2023045519A (ja) * | 2021-09-22 | 2023-04-03 | 株式会社東芝 | 磁気ディスク装置 |
EP4273702A1 (en) * | 2022-05-06 | 2023-11-08 | Samsung Electronics Co., Ltd. | Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
KR100878479B1 (ko) | 2007-01-16 | 2009-01-14 | 삼성전자주식회사 | 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템 |
US20170285967A1 (en) | 2016-03-29 | 2017-10-05 | Samsung Electronics Co., Ltd. | Multi-ware smart ssd |
KR20180045087A (ko) * | 2016-10-24 | 2018-05-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180102241A (ko) | 2017-03-06 | 2018-09-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2019
- 2019-07-08 KR KR1020190082027A patent/KR20210006129A/ko not_active Application Discontinuation
-
2020
- 2020-02-24 US US16/799,107 patent/US11226895B2/en active Active
- 2020-03-30 CN CN202010239632.9A patent/CN112201292A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11226895B2 (en) | 2022-01-18 |
US20210011842A1 (en) | 2021-01-14 |
KR20210006129A (ko) | 2021-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11226895B2 (en) | Controller and operation method thereof | |
CN109213705B (zh) | 存储装置及其操作方法 | |
US11537483B2 (en) | Controller for managing superblocks and operation method thereof | |
TWI787388B (zh) | 記憶體裝置以及記憶體裝置的操作方法 | |
CN110321070B (zh) | 存储器控制器及其操作方法 | |
CN110275673B (zh) | 存储装置及其操作方法 | |
US20150347291A1 (en) | Flash memory based storage system and operating method | |
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN111752857A (zh) | 存储器控制器及操作存储器控制器的方法 | |
US11537318B2 (en) | Memory system and operating method thereof | |
US11543986B2 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
CN112306902A (zh) | 存储器控制器及操作其的方法 | |
US20220171570A1 (en) | Memory system and operation method thereof | |
CN112346650A (zh) | 存储装置及其操作方法 | |
CN114519019A (zh) | 控制器及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
KR20210157544A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN110413219B (zh) | 存储器控制器、存储器系统及其操作方法 | |
US11636899B2 (en) | Memory device and method of operating the same | |
US20220229595A1 (en) | Controller and operation method thereof | |
US11055011B2 (en) | Storage device | |
CN115543860A (zh) | 数据处理系统及其操作方法 | |
US10324835B2 (en) | Data storage device and operating method thereof | |
CN114510371A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210108 |