CN114530173A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN114530173A CN114530173A CN202110645097.1A CN202110645097A CN114530173A CN 114530173 A CN114530173 A CN 114530173A CN 202110645097 A CN202110645097 A CN 202110645097A CN 114530173 A CN114530173 A CN 114530173A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- size
- block
- memory block
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/1673—Details of memory controller using buffers
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching 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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本公开的实施例涉及一种存储器系统及其操作方法。根据本公开的实施例,当在强制单元访问模式下操作时,存储器系统可以将主机请求的第一写入数据写入用于临时存储待写入存储器装置的数据的缓冲器以及多个存储块之中的第一存储块,并且当缓冲器中累积存储的数据的大小大于或等于一次将数据写入多个存储块之中的第二存储块的单位大小的大小A时,可以将存储在缓冲器中的数据之中大小为A的第二写入数据写入第二存储块。在这种情况下,第一存储块的操作速度可以被设置为比第二存储块的操作速度快,并且第一存储块的存储容量可以被设置为小于第二存储块的存储容量。
Description
相关申请的交叉引用
本申请要求于2020年11月23日提交的、申请号为10-2020-0158131的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
实施例涉及一种存储器系统及其操作方法。
背景技术
存储器系统包括数据存储装置,该数据存储装置基于来自诸如计算机、服务器、智能电话、平板PC或其他电子装置的主机的请求来存储数据。存储器系统的示例涵盖了从传统的基于磁盘的硬盘驱动器(HDD)到基于半导体的数据存储装置,诸如固态驱动器(SSD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置。
存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以运行命令或基于所接收到的命令控制对存储器系统中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行执行逻辑运算的固件操作,以控制这种操作。
通常,在将数据写入存储器装置时,存储器系统可以将数据临时存储在内部的缓冲器中,然后将写入完成响应发送到主机,再将存储在缓冲器中的数据写入存储器装置。
可选地,当将数据写入存储器装置时,存储器系统也可以在强制单元访问(FUA)模式下操作,该模式是在将数据写入存储器装置中的操作完成之后将写入完成响应传输到主机的模式。
发明内容
本公开的各个实施例可以提供一种存储器系统及其操作方法,当在强制单元访问模式下操作时,该存储器系统及其操作方法能够提高写入性能并减少因写入操作而引起的寿命缩短。
另外,本公开的实施例可以提供一种能够防止在发生突然断电(SPL)时由于数据写入操作的失败而导致的问题的存储器系统及其操作方法。
一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括存储器装置以及存储器控制器,存储器装置包括多个存储块,存储器控制器用于与存储器装置通信并且控制存储器装置。
当在强制单元访问(FUA)模式下操作时,存储器控制器可以将主机请求写入的第一写入数据写入缓冲器以及多个存储块之中的第一存储块,该缓冲器用于临时存储待写入存储器装置中的数据。
当缓冲器中累积存储的数据的大小大于或等于大小A时,存储器控制器可以将存储在缓冲器中的数据之中大小为A的第二写入数据写入多个存储块之中的第二存储块,该大小A是一次将数据写入第二存储块的单位大小。
存储器控制器可以控制存储器装置,使得第一存储块的操作速度被设置为比第二存储块的操作速度快,并且第一存储块的存储容量被设置为小于第二存储块的存储容量。
另一方面,本公开的实施例可以提供一种存储器系统的操作方法,该存储器系统包括具有多个存储块的存储器装置以及存储器控制器,存储器控制器用于与存储器装置通信并且控制存储器装置。
存储器系统的操作方法可以包括:当在强制单元访问模式下操作时,将主机请求的第一写入数据写入缓冲器和多个存储块之中的第一存储块,该缓冲器用于临时存储待写入存储器装置中的数据。
存储器系统的操作方法可以包括:当缓冲器中累积存储的数据的大小大于或等于大小A时,将存储在缓冲器中的数据之中大小为A的第二写入数据写入多个存储块之中的第二存储块,该大小A是一次将数据写入第二存储块的单位大小。
存储器系统的操作方法可以包括:由存储器控制器控制存储器装置,使得第一存储块的操作速度可以被设置为比第二存储块的操作速度快,并且第一存储块的存储容量可以被设置为小于第二存储块的存储容量。
另一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括:非易失性存储装置,包括低层单元(LLC)块和高层单元(HLC)块;易失性存储器;以及控制器,被配置为控制非易失性存储装置和易失性存储器。
控制器可以响应于与请求的数据有关的请求,在将所请求的数据以第一大小为单位存储到LLC块中的同时,将所请求的数据高速缓存到易失性存储器中。
每当被高速缓存的数据变为第二大小时,或者当LLC块变为充满存储在其中的数据时,控制器可以以第二大小为单位将被高速缓存的数据存储到HLC块中。
当所请求的数据变为从易失性存储器存储到HLC块中时,控制器可以从易失性存储器和LLC块中移除所请求的数据。
根据本公开的实施例,当在强制单元访问模式下操作时,可以提高写入性能并且减少由于写入操作而引起的寿命缩短。
另外,根据本公开的实施例,可以防止在发生突然断电(SPL)时由于数据写入操作的失败而导致的问题。
附图说明
图1是示出基于所公开技术的实施例的存储器系统的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3是示出基于所公开技术的实施例的存储器装置的字线和位线的结构的示图。
图4是示出根据本公开的实施例的存储器系统写入第一写入数据的操作的示图。
图5是示出根据本公开的实施例的存储器系统写入第二写入数据的操作的示图。
图6是示出根据本公开的实施例的存储器系统将从主机接收到的数据写入第一存储块的操作的示图。
图7是示出根据本公开的实施例的存储器系统将存储在缓冲器中的数据写入第二存储块的操作的示图。
图8是示出根据本公开的实施例的存储器系统进一步包括辅助内置电源单元的情况的示图。
图9是用于确定图8的存储器系统是否在强制单元访问模式下操作的流程图。
图10是示出根据本公开的实施例的存储器系统将数据与虚设数据一起写入第一存储块的操作的示图。
图11是示出根据本公开的实施例的存储在第一存储块中的数据和元数据的示图。
图12是示出根据本公开的实施例的存储器系统根据第一存储块的状态擦除第一存储块的操作的流程图。
图13是示出擦除第一存储块之前和之后的状态的比较的示图。
图14是示出根据本公开的实施例的存储器系统的操作方法的示图。
图15是示出基于所公开技术的一些实施例的计算系统的配置的示图。
具体实施方式
在下文中,参照附图详细描述了本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同实施例。当在本文中使用时,术语“实施例”不一定是指所有实施例。
图1是示出基于所公开技术的实施例的存储器系统100的示意性配置的示图。
在一些实施方案中,存储器系统100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110中的存储器单元用于存储数据,并且可以布置在存储器单元阵列中。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在NAND闪速存储器装置的典型实施方案中,存储器单元的页面是可以被编程或写入的最小存储器单元,并且存储在存储器单元中的数据可以以块级别被擦除。
在一些实施方案中,存储器装置110可以被实施为诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可以以三维阵列结构来实施。所公开技术的一些实施例可应用于具有电荷存储层的任何类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮置栅极。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(CTF)。
存储器装置110可以被配置为从存储器控制器120接收命令和地址,以访问存储器单元阵列中的使用该地址选择的区域。也就是说,存储器装置110可以对存储器装置的存储器区域执行与接收到的命令相对应的操作,该存储器区域具有与从存储器控制器120接收到的地址相对应的物理地址。
在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域。在读取操作期间,存储器装置110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括例如被实施以优化存储器装置110的整体性能的操作,诸如垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的这种后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
存储器控制器120和主机可以是分开的装置。在一些实施方案中,存储器控制器120和主机可以被集成并被实施为单个装置。在下面的描述中,作为示例,将存储器控制器120和主机作为分开的装置进行讨论。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理接收到的命令的操作。
存储器接口122可以直接或间接地连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为向存储器装置110和存储器控制器120提供接口,以使存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
控制电路123可以被配置为通过存储器控制器120来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以用于执行与闪存转换层(FTL)相关联的操作,以有效地管理对存储器系统100的存储器操作。处理器124可以通过FTL将主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA并通过使用映射表将LBA转换为PBA。
基于映射单位,存在FTL可以采用的多种地址映射方法。典型的地址映射方法可以包括页面映射法、块映射方法和混合映射方法。
处理器124可以被配置为使从主机接收的数据随机化,以将经随机化的数据写入存储器单元阵列。例如,处理器124可以使用随机化种子来使从主机接收的数据随机化。经随机化的数据被提供到存储器装置110,并且被写入存储器单元阵列。
处理器124可以被配置为在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机HOST。
处理器124可以运行固件(FW)以控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑运算,可以运行(驱动)在启动期间被加载到工作存储器125中的固件。
固件是指存储在某个非易失性存储器上的程序或软件,并且在存储器系统100内运行。
在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括以下中的至少一种:闪存转换层(FTL),被配置为将主机HOST请求中的逻辑地址转换为存储器装置110的物理地址;主机接口层(HIL),被配置为解释主机HOST向诸如存储器系统100的数据存储装置发出的命令,并且将该命令传送到FTL;以及闪存接口层(FIL),被配置为将FTL发出的命令传递到存储器装置110。
例如,固件可以存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储操作存储器控制器120所必需的固件、程序代码、命令或多条数据。工作存储器125可以包括例如作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)之中的至少一种。
错误检测/校正电路126可以被配置为通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方案中,经过错误检测和校正的数据可以包括工作存储器125中存储的数据以及从存储器装置110检索的数据。
错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。可以使用各种解码方案来实施错误检测/校正电路126。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
在一些实施方案中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在本专利文件中,扇区可以指小于闪速存储器的读取单位(例如,页面)的数据单位。可以基于地址来映射构成每条读取数据的扇区。
在一些实施方案中,错误检测/校正电路126可以逐个扇区地计算位错误率(BER),并且确定数据中的错误位的数量是否在错误校正能力之内。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应扇区中的错误位是不可校正的,并且将相应扇区标记为“失败”。如果BER小于或等于参考值,则错误检测/校正电路126可以确定相应扇区是可校正的,或者可以将相应扇区标记为“通过”。
错误检测/校正电路126可以对所有的读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以前进到下一个扇区,以检查是否需要对下一个扇区进行错误校正操作。在以这种方式完成对所有的读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中哪个扇区被认为是不可校正的信息。错误检测/校正电路126可以将这种信息(例如,不可校正位的地址)提供到处理器124。
存储器系统100还可以包括总线127,以在存储器控制器120的构成元件(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)之间提供通道。总线127可以包括例如用于传递各种类型的控制信号和命令的控制总线,以及用于传递各种类型的数据的数据总线。
作为示例,图1示出了存储器控制器120的上述构成元件121、122、124、125和126。注意的是,可以省略附图中示出的元件中的一些,或者可以将存储器控制器120的上述构成元件121、122、124、125和126中的一些集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其他构成元件添加到存储器控制器120的上述构成元件。
图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
在一些实施方案中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220,读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz,其中z是等于或大于2的自然数。
在多个存储块BLK1至BLKz中,可以按行和列来设置多个字线WL和多个位线BL,并且可以布置多个存储器单元MC。
多个存储块BLK1至BLKz可以通过多个字线WL连接到地址解码器220。多个存储块BLK1至BLKz可以通过多个位线BL连接到读取/写入电路230。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元可以以垂直沟道结构布置。
存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列。在一些实施方案中,存储器单元阵列210可以以三维结构布置。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储一位数据的单层单元(SLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储两位数据的多层单元(MLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储三位数据的三层单元(TLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储四位数据的四层单元(QLC)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置为每个存储器单元存储至少五位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路来操作。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对接收到的地址之中的块地址进行解码。地址解码器220可以基于解码后的块地址来选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
在读取操作期间,地址解码器220可以将读取电压Vread施加到所选择存储块内部的所选择字线WL,并且将通过电压Vpass施加到剩余的未选择字线WL。
在编程验证操作期间,地址解码器220可以将电压生成电路250生成的验证电压施加到所选择存储块内部的所选择字线WL,并且可以将通过电压Vpass施加到剩余的未选择字线WL。
地址解码器220可以被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将解码后的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。读取操作和编程操作被请求时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址来选择一个存储块和一个字线。列地址可以由地址解码器220解码,并且被提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”进行操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”进行操作。
上述读取/写入电路230也被称为页面缓冲器电路或数据寄存器电路,该页面缓冲器电路包括多个页面缓冲器PB。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
多个页面缓冲器PB可以通过多个位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以向连接到存储器单元的位线BL连续地供应感测电流,以在感测节点处检测与根据相应的存储器单元的编程状态而变化的电流的量成比例的改变,并且将相应的电压保存或锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且该电压值被作为数据读出。读取/写入电路230临时存储检索到的数据,并且将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL来控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器PB的感测节点的电压电平调节到预充电电压电平的控制信号。
控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。响应于从控制逻辑240输出的电压生成电路控制信号,电压生成电路250可以生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中包括的存储块BLK可以包括多个页面PG。在一些实施方案中,按列布置的多个存储器单元形成存储器单元串,并且按行布置的多个存储器单元形成存储块。多个页面PG中的每一个联接到字线WL中的一个,并且存储器单元串STR中的每一个联接到位线BL中的一个。
在存储块BLK中,多个字线WL和多个位线BL可以按行和列布置。例如,多个字线WL中的每一个可以沿行方向布置,并且多个位线BL中的每一个可以沿列方向布置。作为另一示例,多个字线WL中的每一个可以沿列方向布置,并且多个位线BL中的每一个可以沿行方向布置。
在一些实施方案中,多个字线WL和多个位线BL可以彼此相交,从而寻址多个存储器单元MC的阵列中的单个存储器单元。在一些实施方案中,每个存储器单元MC可以包括晶体管TR,该晶体管TR包括可以保持电荷的材料层。
例如,每个存储器单元MC中布置的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(可以接地)。晶体管TR的栅极可以包括被绝缘体围绕的浮置栅极(FG)以及栅极电压从字线WL施加到其的控制栅极(CG)。
在多个存储块BLK1至BLKz中的每一个中,第一选择线(也被称为源极选择线或漏极选择线)可以另外地布置在两个最外字线之中更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也被称为漏极选择线或源极选择线)可以另外地布置在另外的第二最外字线的外侧。
在一些实施方案中,可以在第一最外字线和第一选择线之间另外地布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间另外地布置至少一个虚设字线。
可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
图3是示出根据所公开技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有布置有存储器单元MC的内核区域,以及包括用于执行存储器单元阵列210的操作的电路的辅助区域(除了内核区域以外的其余区域)。
在内核区域中,可以将沿一个方向布置的一定数量的存储器单元称为“页面”PG,并且可以将串联地联接的一定数量的存储器单元称为“存储器单元串”STR。
字线WL1至WL9可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多个位线BL和列解码器320之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,如图3所示,多个字线WL1至WL9中的每一个可以对应于一个页面PG。当多个字线WL1至WL9中的每一个的大小较大时,多个字线WL1至WL9中的每一个可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是编程操作和读取操作中的最小单位,并且在进行编程操作和读取操作时,相同页面PG内的所有存储器单元MC可以同时执行操作。
多个位线BL可以连接到列解码器320。在一些实施方案中,可以将多个位线BL划分为奇数编号位线BL和偶数编号位线BL,使得一对奇数编号位线和偶数编号位线共同联接到列解码器320。
在访问存储器单元MC时,行解码器310和列解码器320用于基于地址来定位所需的存储器单元。
在一些实施方案中,因为由存储器装置110进行的、包括编程操作和读取操作的所有数据处理都通过数据寄存器330进行,所以数据寄存器330起着重要的作用。如果数据寄存器330进行的数据处理被延迟,则所有其他区域都需要等待,直到数据寄存器330完成数据处理,这降低了存储器装置110的整体性能。
参照图3所示的示例,在一个存储器单元串STR中,多个晶体管TR1至TR9可以分别连接到多个字线WL1至WL9。在一些实施方案中,多个晶体管TR1至TR9对应于存储器单元MC。在该示例中,多个晶体管TR1至TR9包括控制栅极CG和浮置栅极FG。
多个字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以另外地布置在第一最外字线WL1的外侧,该第一最外字线WL1与另一最外字线WL9相比更靠近数据寄存器330并且具有更短的信号路径。可以将第二选择线SSL另外地布置在另一最外字线WL9的外侧。
由第一选择线DSL控制以导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但是不包括浮置栅极FG。由第二选择线SSL控制以导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮置栅极FG。
第一选择晶体管D-TR用作将相应的存储器单元串STR连接到数据寄存器330的开关电路。第二选择晶体管S-TR用作将相应的存储器单元串STR连接到源极线SL的开关电路。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR可以用于启用或停用相应的存储器单元串STR。
在一些实施方案中,存储器系统100将预定的导通电压Vcc施加到第一选择晶体管D-TR的栅电极,从而导通第一选择晶体管D-TR,并且将预定的关断电压(例如,0V)施加到第二选择晶体管S-TR的栅电极,从而关断第二选择晶体管S-TR。
在读取操作或验证操作期间,存储器系统100导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或验证操作期间,电流可以流过相应的存储器单元串STR并且流到对应于地的源极线SL,使得可以测量位线BL的电压电平。然而,在读取操作期间,第一选择晶体管D-TR和第二选择晶体管S-TR之间的通/断定时可能存在时间差。
在擦除操作期间,存储器系统100可以通过源极线SL将预定电压(例如,+20V)施加到衬底。在擦除操作期间,存储器系统100施加一定的电压以允许第一选择晶体管D-TR和第二选择晶体管S-TR两者浮置。因此,所施加的擦除电压可以将电荷从所选择存储器单元的浮置栅极FG中去除。
图4是示出根据本公开的实施例的存储器系统100写入第一写入数据WR_DATA_1的操作的示图。
参照图4,当在强制单元访问模式下操作时,存储器系统100的存储器控制器120可以将主机请求写入的第一写入数据WR_DATA_1写入缓冲器BUF以及存储器装置110中包括的多个存储块BLK之中的第一存储块BLK_1。
在这种情况下,缓冲器BUF可以临时存储待写入存储器装置110的数据。缓冲器BUF可以位于工作存储器125上或单独的易失性存储器(例如,DRAM)上。
即使在将第一写入数据WR_DATA_1写入第一存储块BLK_1之后,存储在缓冲器BUF中的第一写入数据WR_DATA_1仍可保留在缓冲器BUF中,直到满足预设条件。因此,当主机向存储器系统100连续请求数据写入操作时,被写入第一存储块BLK_1的数据可以累积并存储在缓冲器BUF中。
图5是示出根据本公开的实施例的存储器系统100写入第二写入数据WR_DATA_2的操作的示图。
参照图5,当缓冲器BUF中累积存储的数据的大小大于或等于作为一次将数据写入多个存储块BLK之中的第二存储块BLK_2中的单位大小的大小A时,存储器系统100的存储器控制器120可以将缓冲器BUF中存储的数据之中大小为A的第二写入数据WR_DATA_2写入存储器装置110中包括的多个存储块BLK之中的第二存储块BLK_2。
在将第二写入数据WR_DATA_2写入第二存储块BLK_2的操作完成之后,存储器控制器120可以将第二写入数据WR_DATA_2从缓冲器BUF中删除,而不将第二写入数据WR_DATA_2保持在缓冲器BUF中。这是因为由于第二写入数据WR_DATA_2被存储在第二存储块BLK_2中,所以即使将第二写入数据WR_DATA_2从缓冲器BUF中删除,相应的数据也不会丢失。
在本公开的各个实施例中,存储器控制器120可以控制存储器装置110,使得第一存储块BLK_1的操作速度被设置为比第二存储块BLK_2的操作速度快,并且第一存储块BLK_1的存储容量被设置为小于第二存储块BLK_2的存储容量。
因此,当主机请求将数据写入存储器装置110中时,存储器控制器120可以快速将待写入的数据写入第一存储块BLK_1,从而减少了主机的延迟并提高了写入性能。
此外,存储器控制器120可以将数据存储在具有较大存储容量的第二存储块BLK_2中,从而有效地利用存储器装置110的存储空间。因此,可以减小由于数据写入操作而引起的存储器系统100的寿命缩短。
作为示例,存储器控制器120可以控制存储器装置110,使得第一存储块BLK_1被设置为SLC存储块,并且第二存储块BLK_2被设置为TLC存储块。在这种情况下,由于第一存储块BLK_1中包括的存储器单元是SLC,所以它们可以比包括TLC存储器单元的第二存储块BLK_2更快地操作,但是其存储容量比第二存储块BLK_2的存储容量小。
存储器系统100的存储器控制器120可以根据特定参考从多个存储块BLK之中动态地选择第一存储块BLK_1。例如,存储器控制器120可以基于针对存储器系统100的写入总字节(total bytes written,TBW)以及多个存储块BLK中的每一个的编程/擦除周期(P/E周期)来选择第一存储块BLK_1。
具体地,写入总字节(TBW)对应于存储器系统100中的存储器装置110的总存储容量(即,多个存储块BLK的总存储容量)与每个存储块的编程/擦除周期的乘积。由于存储器装置110的总存储容量是预定的,因此有必要确定编程/擦除周期(P/E周期)的值,以防止写入总字节(TBW)超过特定阈值。因此,存储器控制器120可以从多个存储块BLK之中的、编程/擦除计数小于或等于预定的编程/擦除周期(P/E周期)的值的存储块中选择第一存储块BLK_1。
在选择第一存储块BLK_1之后,存储器控制器120可以存储关于从存储器装置110中的多个存储块BLK中选择哪个存储块作为第一存储块BLK_1的信息。
在上文中,已经描述了根据本公开的实施例的存储器系统100的总体操作。
在下文中,将参照图6至图7描述存储器系统100将从主机接收的数据写入第一存储块BLK_1或第二存储块BLK_2的操作的示例。在这种情况下,主机请求存储器系统100每次写入4KB的数据。
图6是示出根据本公开的实施例的存储器系统100将从主机接收的数据写入第一存储块BLK_1的操作的示图。
参照图6,当主机请求写入4KB的数据时,存储器系统100的存储器控制器120可以将4KB的数据写入缓冲器BUF(①),并且可以将4KB的数据写入第一存储块BLK_1(②)。当重复这样的过程时,所请求写入的数据可以累积并存储在缓冲器BUF中,同时存储在第一存储块BLK_1中。
图7是示出根据本公开的实施例的存储器系统100将存储在缓冲器BUF中的数据写入第二存储块BLK_2的操作的示图。
在图7中,大小A是192KB,该大小A是一次将数据写入第二存储块BLK_2的单位大小,并且在缓冲器BUF中累积存储了总共192KB或更多的数据。在这种情况下,存储器系统100的存储器控制器120可以将存储在缓冲器BUF中的总共192KB的数据写入第二存储块BLK_2中(③)。
如上所述,存储器系统100首先将数据写入第一存储块BLK_1,然后再将累积的数据写入第二存储块BLK_2的原因如下。
首先,请求写入的数据的大小通常小于大小A,大小A是一次将数据写入第二存储块BLK_2的单位大小。因此,为了使存储器系统100将请求写入的数据写入第二存储块BLK_2,需要等待直到缓冲器BUF中累积的数据变为大小A,或者将虚设数据添加到请求写入的数据中使得请求写入的数据和虚设数据之和变为大小A。
如果存储器系统100等待直到缓冲器BUF中累积的数据变为大小A,则响应于主机对小于大小A的较小数据的写入请求,向主机提供写入完成消息可能较晚,因为该消息应当在将请求写入的数据在FUA模式下写入第二存储块BLK_2之后才提供,因此可能发生使主机的服务质量(QoS)劣化的问题。
如果添加虚设数据,则可能存在第二存储块BLK_2的存储空间由于虚设数据而得不到有效利用的问题。
因此,根据本公开的实施例,存储器系统100可以首先将数据写入具有较快操作速度的第一存储块BLK_1,以快速地将写入完成消息响应到主机。如果此后累积了数据,则可以将累积缓冲的数据写入具有存储容量大的第二存储块BLK_2,以有效地存储数据。
在上文中,已经描述了在强制单元访问模式下操作时存储器系统100将请求写入的数据存储在存储器装置110中的操作。
当存储器系统100处于强制单元访问模式时,可以执行该操作。在下文中,将描述存储器系统100进入强制单元访问模式的条件。
例如,当从主机接收到请求进入强制单元访问模式的消息时,存储器系统100可以进入强制单元访问模式。
作为另一示例,存储器系统100可以在没有主机干预的情况下内部确定是否以强制单元访问模式操作。在下文中,将在图8至图9中对此进行详细描述。
图8是示出根据本公开的实施例的存储器系统100进一步包括辅助内置电源单元130的情况的示图。
参照图8,除了存储器装置110和存储器控制器120之外,存储器系统100可以进一步包括辅助内置电源单元130。此外,存储器控制器120可以监测用于向辅助内置电源单元130充电的充电时间,并且基于辅助内置电源单元130的充电时间来确定是否以强制单元访问模式操作。
辅助内置电源单元130可以在从存储器系统100的外部向存储器系统100正常供电时充电。另外,辅助内置电源单元130可以在发生突然断电(SPL)时向存储器系统100供电,从而防止在存储器系统100异常终止时发生的问题,并且能够执行准备操作以使存储器系统100在随后通电时恢复到发生SPL之前的状态。为此,辅助内置电源单元130可以向存储器系统100的存储器装置110和存储器控制器120供电。
辅助内置电源单元130可以包括用于充电的电容器和化学电池。在这种情况下,电容器可以是陶瓷电容器、多层陶瓷电容器、高介电常数电容器、电解电容器或如POSCAP的钽聚合物电容器。
图9是用于确定图8的存储器系统100是否以强制单元访问模式操作的流程图。
参照图9,存储器系统100的存储器控制器120可以监测向辅助内置电源单元130充电的充电时间(S910)。例如,存储器控制器120可以在每当存储器系统100被启动时或每个预设时间段(例如24h)监测辅助内置电源单元130的充电时间。
进一步地,存储器控制器120可以确定辅助内置电源单元130的充电时间是否超过特定阈值充电时间(S920)。
如果辅助内置电源单元130的充电时间超过阈值充电时间(S920-是),则存储器控制器120可以设置强制单元访问模式(S930)。
如果辅助内置电源单元130的充电时间超过预设阈值充电时间,则很有可能辅助内置电源单元130中存在缺陷,因此,在SPL期间,辅助内置电源单元130很有可能无法正常向存储器系统100供电。在这种情况下,在发生SPL之后,存储器系统100很有可能无法将缓冲器BUF中累积的数据存储在存储器装置110中。为了防止这种潜在的问题,存储器系统100可以在强制单元访问模式下操作,并且仅针对已经完全写入存储器装置110的数据向主机传输写入完成响应,从而防止主机接收针对写入失败的数据的写入完成响应的问题。
另一方面,在辅助内置电源单元130的充电时间小于或等于阈值充电时间的情况下(S920-否),存储器控制器120可以取消强制单元访问模式(S940)。在这种情况下,即使发生SPL,存储器系统100也可以将缓冲器BUF中累积的数据存储在存储器装置110中,同时由辅助内置电源单元130供电。
在上文中,已经描述了存储器系统100进入强制单元访问模式的条件的示例。
在下文中,将描述存储器系统100的存储器控制器120将请求写入的数据写入存储器装置110的操作。
请求写入的数据的大小是可变的,然而,一次写入存储器装置110的第一存储块BLK_1的数据的大小B可以是固定的。例如,大小B可以是第一存储块BLK_1中包括的页面的大小或该页面的大小的倍数。另外,大小B小于上述图5中描述的大小A(例如,大小B=16KB,大小A=192KB)。
当存储器控制器120将前述第一写入数据WR_DATA_1写入第一存储块BLK_1时,第一写入数据WR_DATA_1的大小可小于大小B。在这种情况下,存储器控制器120可以将第一写入数据WR_DATA_1和大小等于大小B与第一写入数据WR_DATA_1的大小之差的虚设数据一起写入第一存储块BLK_1,从而大小为B的数据可以一次写入第一存储块BLK_1。将在图10中对此进行详细描述。
图10是示出根据本公开的实施例的存储器系统100将数据与虚设数据一起写入第一存储块BLK_1的操作的示图。
在图10中,大小B为16KB,并且主机请求写入4KB或8KB的数据。
在主机请求写入4KB的数据的情况下,为了一次将16KB的数据写入第一存储块BLK_1,存储器系统100的存储器控制器120可以将(16KB-4KB)=12KB的虚设数据一起写入第一存储块BLK_1中。
在主机请求写入8KB的数据的情况下,为了一次将16KB的数据写入第一存储块BLK_1,存储器系统100的存储器控制器120可以将(16KB-8KB)=8KB的虚设数据一起写入第一存储块BLK_1中。
图11是示出根据本公开的实施例的第一存储块BLK_1中存储的数据和元数据的示图。
参照图11,存储器系统100的存储器控制器120可以在将从主机接收的数据写入第一存储块BLK_1之前,首先将与该数据相对应的元数据写入第一存储块BLK_1。例如,当存储器控制器120将第一写入数据WR_DATA_1写入第一存储块BLK_1时,存储器控制器120可以首先生成与第一写入数据WR_DATA_1相对应的元数据,将该元数据写入第一存储块BLK_1,然后再写入第一写入数据WR_DATA_1。
因此,在发生SPL之后,存储器控制器120可以在通电时通过检查与存储在第一存储块BLK_1中的数据相对应的元数据来执行针对SPL的恢复操作。
如上所述,写入第一存储块BLK_1的数据可以累积并存储在缓冲器BUF中,并且之后可以将在缓冲器BUF中累积存储的数据写入第二存储块BLK_2。在这种情况下,由于存储器系统100不需要将写入第二存储块BLK_2的数据重复地存储在第一存储块BLK_1中,因此可以擦除第一存储块BLK_1。在下文中,将在图12至图13中对此进行详细描述。
图12是示出根据本公开的实施例的存储器系统100根据第一存储块BLK_1的状态来擦除第一存储块BLK_1的操作的流程图。
参照图12,存储器系统100的存储器控制器120可以在将数据存储在第一存储块BLK_1中之前检查第一存储块BLK_1的状态(S1210)。
另外,存储器控制器120可以确定是否禁止将附加数据写入第一存储块BLK_1(S1220)。禁止将附加数据写入第一存储块BLK_1的状态可以表示存储器装置110不允许将数据写入第一存储块BLK_1的状态。
作为示例,如果在第一存储块BLK_1中包括的页面之中没有可以写入新数据的页面,则存储器控制器120可以确定禁止将附加数据写入第一存储块BLK_1。例如,当第一存储块BLK_1中充满存储在其中的数据时,第一存储块BLK_1可被停用。
如果禁止将附加数据写入存储块BLK_1(S1220-是),则存储器控制器120可以首先将存储在缓冲器BUF中的数据写入第二存储块BLK_2(S1230)。另外,存储器控制器120可以擦除第一存储块BLK_1(S1240)。在实施例中,被擦除的第一存储块BLK_1可以变得可用于存储数据。
另一方面,当允许将附加数据写入存储块BLK_1(S1220-否)时,存储器控制器120可以将数据写入第一存储块BLK_1(S1250)。
图13是示出在擦除第一存储块BLK_1之前和之后的状态的比较的示图。
参照图13,第一存储块BLK_1中包括的每个页面可以存储请求写入的数据或与该数据相对应的元数据。
当第一存储块BLK_1被擦除时,第一存储块BLK_1中包括的所有页面都处于擦除状态。所擦除的第一存储块BLK_1可以用于其他目的(例如,临时存储待被迁移到另一存储块的数据或保存从主机接收到的新的写入数据)。
图14是示出根据本公开的实施例的存储器系统100的操作方法的示图。
参照图14,存储器系统100的操作方法可以包括:当在强制单元访问模式下操作时,将主机请求写入的第一写入数据WR_DATA_1写入用于临时存储待写入存储器装置110中的数据的缓冲器BUF以及存储器装置110中包括的多个存储块BLK之中的第一存储块BLK_1(S1410)。
在操作S1410中,当第一写入数据WR_DATA_1的大小小于作为一次将数据写入第一存储块的单位大小的大小B时,存储器控制器可以将第一写入数据WR_DATA_1和虚设数据一起写入第一存储块BLK_1,该虚设数据的大小等于大小B与第一写入数据WR_DATA_1的大小之差。
另外,存储器系统100的操作方法可以包括:当累积存储在缓冲器BUF中的数据的大小大于或等于作为一次将数据写入多个存储块BLK之中的第二存储块BLK_2的单位大小的大小A时,将存储在缓冲器BUF中的数据中大小为A的第二写入数据写入多个存储块BLK之中的第二存储块BLK_2(S1420)。
另外,存储器系统100的操作方法可以包括:由存储器控制器120控制存储器装置110,使得第一存储块BLK_1的操作速度可以被设置为比第二存储块BLK_2的操作速度快,并且第一存储块BLK_1的存储容量可以被设置为小于第二存储块BLK_2的存储容量(S1430)。
此外,存储器系统100的操作方法可以包括:监测用于在发生突然断电(SPL)时向存储器装置110和存储器控制器130供电的辅助内置电源单元130的充电时间,并且根据辅助内置电源单元130的充电时间确定是否在强制单元访问模式下操作。
另外,存储器系统100的操作方法可以包括:当禁止将附加数据写入第一存储块BLK_1时,在将存储在缓冲器BUF中的数据写入第二存储块BLK_2之后擦除第一存储块BLK_1。
在一些实施方案中,上述存储器控制器120的操作可以由控制电路123控制,并且可以以处理器124运行(驱动)其中存储器控制器120的全部操作被编程的固件的方式执行。
图15是示出基于所公开技术的实施例的计算系统1500的配置的示图。
参照图15,基于所公开技术的实施例的计算系统1500可以包括:存储器系统100,电连接到系统总线1560;CPU 1510,被配置为控制计算系统1500的全部操作;RAM 1520,被配置为存储与计算系统1500的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1530,被配置为向用户提供用户环境;通信模块1540,被配置为作为有线和/或无线类型与外部装置通信;以及电源管理模块1550,被配置为管理计算系统1500使用的电力。
计算系统1500可以是个人计算机(PC),或者可以包括诸如智能手机、平板电脑或各种电子装置的移动终端。
计算系统1500可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其他元件对于本领域技术人员而言将是显而易见的。
存储器系统100不仅可以包括诸如硬盘驱动器(HDD)的、被配置为将数据存储在磁盘中的装置,还可以包括诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的被配置为将数据存储在非易失性存储器中的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器系统100可以被实施为各种类型的存储装置并且安装在各种电子装置内部。
基于上述所公开技术的实施例,可以有利地减少或最小化存储器系统的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的过程中发生的开销。尽管出于说明的目的已经利用特定细节和不同细节描述了所公开技术的各个实施例,但是本领域技术人员将理解的是,可以基于本公开中所公开或示出的内容进行各种修改、添加和替换。
虽然已经针对特定实施例示出和描述了本教导,但是对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求所限定的本公开的精神和范围的情况下,可以进行各种改变和修改。
Claims (11)
1.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
存储器控制器,与所述存储器装置通信并且控制所述存储器装置,
其中所述存储器控制器:
当在强制单元访问模式即FUA模式下操作时,将主机请求写入的第一写入数据写入缓冲器和所述多个存储块之中的第一存储块,所述缓冲器用于临时存储待写入所述存储器装置中的数据;
当所述缓冲器中累积存储的数据的大小大于或等于大小A时,将存储在所述缓冲器中的数据之中大小为A的第二写入数据写入所述多个存储块之中的第二存储块,所述大小A是一次将数据写入所述第二存储块的单位大小,并且
控制所述存储器装置,使得所述第一存储块的操作速度设置为比所述第二存储块的操作速度快,并且所述第一存储块的存储容量设置为小于所述第二存储块的存储容量。
2.根据权利要求1所述的存储器系统,其中所述存储器控制器控制所述存储器装置,使得所述第一存储块设置为单层单元存储块即SLC存储块,并且所述第二存储块设置为三层单元存储块即TLC存储块。
3.根据权利要求1所述的存储器系统,
进一步包括辅助内置电源单元,当发生突然断电即SPL时,所述辅助内置电源单元向所述存储器装置和所述存储器控制器供电,
其中所述存储器控制器监测所述辅助内置电源单元的充电时间,并且基于所述辅助内置电源单元的充电时间来确定是否以强制单元访问模式操作。
4.根据权利要求3所述的存储器系统,其中所述存储器控制器在所述存储器系统启动的时间点或在每个预设监测时间段监测所述辅助内置电源单元的充电时间。
5.根据权利要求1所述的存储器系统,其中当所述第一写入数据的大小小于大小B时,所述存储器控制器将所述第一写入数据与等于所述大小B和所述第一写入数据的大小之差的虚设数据一起写入所述第一存储块,所述大小B是一次将数据写入所述第一存储块的单位大小。
6.根据权利要求1所述的存储器系统,其中所述存储器控制器在将所述第一写入数据写入所述第一存储块之前,首先将与所述第一写入数据相对应的元数据写入所述第一存储块。
7.根据权利要求1所述的存储器系统,其中当禁止将附加数据写入所述第一存储块时,在将存储在所述缓冲器中的数据写入所述第二存储块之后,所述存储器控制器擦除所述第一存储块。
8.一种存储器系统的操作方法,所述存储器系统包括具有多个存储块的存储器装置以及存储器控制器,所述存储器控制器与所述存储器装置通信并且控制所述存储器装置,所述操作方法包括:
当在强制单元访问模式即FUA模式下操作时,由所述存储器控制器将主机请求写入的第一写入数据写入缓冲器和所述多个存储块之中的第一存储块,所述缓冲器用于临时存储待写入所述存储器装置中的数据;
当所述缓冲器中累积存储的数据的大小大于或等于大小A时,由所述存储器控制器将存储在所述缓冲器中的数据之中大小为A的第二写入数据写入所述多个存储块之中的第二存储块,所述大小A是一次将数据写入所述第二存储块的单位大小;并且
由所述存储器控制器控制所述存储器装置,使得所述第一存储块的操作速度设置为比所述第二存储块的操作速度快,并且所述第一存储块的存储容量设置为小于所述第二存储块的存储容量。
9.根据权利要求8所述的操作方法,进一步包括:
由所述存储器控制器监测在发生突然断电即SPL时向所述存储器装置和所述存储器控制器供电的辅助内置电源单元的充电时间;并且
由所述存储器控制器基于所述辅助内置电源单元的充电时间来确定是否以所述强制单元访问模式操作。
10.根据权利要求8所述的操作方法,其中将所述第一写入数据写入所述缓冲器和所述第一存储块包括:当所述第一写入数据的大小小于大小B时,将所述第一写入数据与等于所述大小B与所述第一写入数据的大小之差的虚设数据一起写入所述第一存储块,所述大小B是一次将数据写入所述第一存储块的单位大小。
11.根据权利要求8所述的操作方法,进一步包括:当禁止将附加数据写入所述第一存储块时,在将存储在所述缓冲器中的数据写入所述第二存储块之后,由所述存储器控制器擦除所述第一存储块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0158131 | 2020-11-23 | ||
KR1020200158131A KR20220070989A (ko) | 2020-11-23 | 2020-11-23 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114530173A true CN114530173A (zh) | 2022-05-24 |
Family
ID=81619532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110645097.1A Withdrawn CN114530173A (zh) | 2020-11-23 | 2021-06-09 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11614886B2 (zh) |
KR (1) | KR20220070989A (zh) |
CN (1) | CN114530173A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853563B1 (en) * | 2022-06-17 | 2023-12-26 | Western Digital Technologies, Inc. | Key value data storage device with tiers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101342658B1 (ko) | 2011-12-06 | 2013-12-16 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 그 구성 방법 |
KR102121333B1 (ko) | 2013-10-28 | 2020-06-11 | 에스케이하이닉스 주식회사 | 반도체 시스템 및 이의 동작 방법 |
US9558839B2 (en) * | 2015-03-09 | 2017-01-31 | Toshiba Corporation | Power fail saving modes in solid state drive with MLC memory |
US10008250B2 (en) * | 2015-03-27 | 2018-06-26 | Intel Corporation | Single level cell write buffering for multiple level cell non-volatile memory |
US9934858B2 (en) * | 2015-04-30 | 2018-04-03 | Sandisk Technologies Llc | Use of dummy word lines for metadata storage |
US9870169B2 (en) * | 2015-09-04 | 2018-01-16 | Intel Corporation | Interleaved all-level programming of non-volatile memory |
US10649896B2 (en) * | 2016-11-04 | 2020-05-12 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
US20190004947A1 (en) * | 2017-06-30 | 2019-01-03 | Intel Corporation | Selective temporary data storage |
KR102602990B1 (ko) | 2018-06-27 | 2023-11-17 | 에스케이하이닉스 주식회사 | 전원 공급 장치 및 이를 포함하는 전자 장치 |
-
2020
- 2020-11-23 KR KR1020200158131A patent/KR20220070989A/ko unknown
-
2021
- 2021-04-29 US US17/244,276 patent/US11614886B2/en active Active
- 2021-06-09 CN CN202110645097.1A patent/CN114530173A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20220070989A (ko) | 2022-05-31 |
US20220164134A1 (en) | 2022-05-26 |
US11614886B2 (en) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230333932A1 (en) | Memory system and operating method thereof | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
CN114067870A (zh) | 存储器系统、存储器装置以及用于操作存储器装置的方法 | |
CN114863962A (zh) | 存储器系统及其操作方法 | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
US11086541B2 (en) | Memory system, memory controller, and operating method | |
US11614886B2 (en) | Memory system and operating method thereof | |
US11467903B2 (en) | Memory system and operating method thereof | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器系统及其操作方法 | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US11822819B2 (en) | Memory system and operating method thereof | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
US11636007B2 (en) | Memory system and operating method thereof for flushing data in data cache with parity | |
US20240036741A1 (en) | Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state | |
US11954349B2 (en) | Memory system for executing a target operation based on a program state of a super memory block and operating method thereof | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US11640263B2 (en) | Memory system and operating method thereof | |
CN114756166A (zh) | 存储器系统及其操作方法 | |
CN115223635A (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 |
Application publication date: 20220524 |
|
WW01 | Invention patent application withdrawn after publication |