CN115729446A - 存储器***以及存储器***的操作方法 - Google Patents
存储器***以及存储器***的操作方法 Download PDFInfo
- Publication number
- CN115729446A CN115729446A CN202210140545.7A CN202210140545A CN115729446A CN 115729446 A CN115729446 A CN 115729446A CN 202210140545 A CN202210140545 A CN 202210140545A CN 115729446 A CN115729446 A CN 115729446A
- Authority
- CN
- China
- Prior art keywords
- command
- memory
- host
- mode
- read
- 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
- 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
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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]
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)
Abstract
本公开的实施例涉及一种存储器***以及存储器***的操作方法。根据本公开的实施例,存储器***可以根据多个设定时段之中的空闲时间的长度所属的时段来确定指示预期要从主机接收到的命令的命令类型的命令模式,并且可以运行与命令模式相对应的操作。在这种情况下,命令类型可以是读取命令、写入命令或擦除命令,并且命令模式可以是读取模式、写入模式或擦除模式。
Description
相关申请的交叉引用
本申请要求于2021年8月27日提交的申请号为10-2021-0113645的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的实施例涉及一种存储器***以及存储器***的操作方法。
背景技术
存储器***包括基于来自诸如计算机、服务器、智能电话、平板PC或其他电子装置的主机的请求来存储数据的数据存储装置。存储器***的示例涵盖从传统的基于磁盘的硬盘驱动器(HDD)到诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置的基于半导体的数据存储装置。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于所接收的命令,可以运行命令或控制对存储器***中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行固件操作,以执行用于控制这些操作的逻辑运算。
通常,存储器***在从主机接收到命令之后运行由相应命令指示的操作。例如,在从主机接收到读取命令之后,存储器***可以将由读取命令请求的数据从存储器装置加载到存储器控制器。然而,存储器***不会通过***可能从主机输入的命令来运行用于处理预期命令的操作。
发明内容
本公开的实施例可以提供能够更快地处理从主机接收的命令的存储器***和存储器***的操作方法。
在一个方面,本公开的实施例可以提供一种存储器***,包括:存储器装置,用于存储数据;以及存储器控制器,被配置成控制存储器装置运行从主机接收的命令,根据多个设定时段之中空闲时间的长度所属的时段来确定指示预期要从主机接收的命令的命令类型的命令模式,并且运行与命令模式相对应的操作。空闲时间可以是未从主机接收到命令的时段。
在这种情况下,命令类型可以是读取命令、写入命令、擦除命令或后台命令。
命令模式可以是1)读取模式、2)写入模式、3)擦除模式,或4)后台模式。
当空闲时间的长度属于多个时段之中的第一时段时,存储器控制器可以基于与第一时段相对应的历史信息来确定命令模式。在这种情况下,与第一时段相对应的历史信息可以包括关于先前在属于第一时段的先前空闲时间已经经过之后从主机接收到的命令的信息。
在另一方面,本公开的实施例可以提供一种存储器***的操作方法,包括:计算空闲时间的长度,空闲时间是未从主机接收到命令的时段;根据多个设定时段之中空闲时间的长度所属的时段来确定指示预期要从主机接收到的命令的命令类型的命令模式;并且运行与命令模式相对应的操作。
在这种情况下,命令类型可以是读取命令、写入命令、擦除命令或后台命令。
命令模式可以是1)读取模式、2)写入模式、3)擦除模式,或4)后台模式。
确定命令模式可以包括:当空闲时间的长度属于多个时段之中的第一时段时,基于与第一时段相对应的历史信息来确定命令模式。在这种情况下,与第一时段相对应的历史信息可以包括关于先前在属于第一时段的先前空闲时间已经经过之后从主机接收到的命令的信息。
根据本公开的实施例,可以更快地处理从主机接收到的命令。
附图说明
图1是示出基于所公开技术的实施例的存储器***的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3示出基于所公开技术的实施例的存储器装置的字线和位线的结构。
图4示出根据本公开的实施例的存储器***的示意性结构。
图5是示出根据本公开的实施例的存储器***的操作的示例的流程图。
图6示出根据本公开的实施例的根据空闲时间的长度的命令模式的示例。
图7示出根据本公开的实施例的存储器***基于与第一时段相对应的历史信息来确定命令模式的示例。
图8示出根据本公开的实施例的存储器***基于从主机接收到的命令的命令类型来确定命令模式的示例。
图9示出根据本公开的实施例的由存储器***基于最近从主机接收到的命令的命令类型来确定命令模式的示例。
图10示出根据本公开的实施例的存储器***运行与命令模式相对应的操作的示例。
图11示出根据本公开的实施例的存储器***确定目标地址的示例。
图12示出根据本公开的实施例的存储器***确定目标地址的另一示例。
图13示出根据本公开的实施例的存储器***运行与命令模式相对应的操作的另一示例。
图14示出根据本公开的实施例的存储器***运行与命令模式相对应的操作的另一示例。
图15示出根据本公开的实施例的存储器***的操作方法。
图16是示出基于所公开技术的一些实施例的计算***的配置的示图。
具体实施方式
下文中,参照附图更详细地描述本公开的各个实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。当本文使用术语“各个实施例”时不一定指所有实施例。
下面参照附图更详细地描述本发明的各个实施例。然而,我们注意到本发明可以以不同的形式和变化来实现,并且不应被解释为限于本文阐述的实施例。相反,提供所描述的实施例,使得本公开将是彻底且完整的,并将把本发明充分传达给本发明所属领域的技术人员。在整个公开中,贯穿本发明的各个附图和实施例的相同的附图标记指代相同的部件。
本文描述的方法、过程和/或操作可以通过待由计算机、处理器、控制器或其他信号处理装置运行的代码或指令来执行。计算机、处理器、控制器或其他信号处理装置可以是本文描述的那些计算机、处理器、控制器或其他信号处理装置或者除了本文描述的元件之外的那些计算机、处理器、控制器或其他信号处理装置。因为详细描述了形成该方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法,所以用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转变为用于执行本文的方法的专用处理器。
当至少部分地在软件中实施时,控制器、处理器、装置、模块、单元、多工器、生成器、逻辑、接口、解码器、驱动器和其他信号生成和信号处理功能可能包括例如用于存储待由例如计算机、处理器、微处理器、控制器或其他信号处理装置运行的代码或指令的存储器或其他存储装置。
图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)、主机接口层(HIL)和闪存接口层(FIL)中的至少一个,该闪存转换层(FTL)被配置成将主机HOST请求中的逻辑地址转换成存储器装置110的物理地址,该主机接口层(HIL)被配置成解译由主机HOST向诸如存储器***100的数据存储装置发出的命令并且将该命令传递到FTL,该闪存接口层(FIL)被配置成将由FTL发出的命令传递到存储器装置110。
例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储操作存储器控制器120所必需的固件、程序代码、命令、或多条数据。工作存储器125可以包括例如作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步DRAM(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中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压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的外侧,与另一最外字线WL9相比,第一最外字线WL1更靠近数据寄存器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向第一选择晶体管D-TR的栅电极施加预定的导通电压Vcc,从而导通第一选择晶体管D-TR,并且向第二选择晶体管S-TR的栅电极施加预定的截止电压(例如,0V),从而截止第二选择晶体管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的示意性结构。
参照图4,存储器***100可以包括存储器装置110和存储器控制器120。
存储器装置110可以存储数据。例如,存储器装置110可以存储待由主机HOST请求写入的数据。
另外,存储器控制器120可以控制存储器装置110以运行从主机HOST接收到的命令CMD。
在这种情况下,从主机HOST接收到的命令CMD的类型可以是用于请求读取存储器装置110中存储的数据的读取命令、用于请求将数据写入到存储器装置110的写入命令、用于请求擦除存储器装置110的特定区域(例如,存储块)的擦除命令、或用于请求运行针对存储器装置110的后台操作(例如,垃圾收集(GC)、损耗均衡(WL)、读取回收(RR))的后台命令。
存储器控制器120可以计算空闲时间的长度,空闲时间是未从主机HOST接收到命令的时段。例如,空闲时间的长度的单位可以是秒、分、小时或CPU时钟。
例如,空闲时间的长度可以被定义为存储器控制器120最近从主机接收到命令的时间与参考时间(例如,当前时间)之间的差。例如,如果存储器控制器120最近从主机HOST接收到命令的时间为当前时间之前的10分钟,则空闲时间的长度可以定义为10分钟。例如,参考时间可以是运行图5至图15中描述的操作的时间,或者可以是在此之前的时间。当前时间可以是存储器控制器120计算空闲时间长度的时间。
作为另一示例,空闲时间的长度可以被定义为从主机HOST接收到两个不同命令的时间点之间的差。例如,如果存储器控制器120从主机HOST接收到命令并且在20分钟之后从主机HOST接收到另一命令,则空闲时间的长度可以被定义为20分钟。
如果从主机HOST接收到新命令,则存储器控制器120可以基于接收到的新命令重新计算空闲时间的长度。
在本公开的实施例中,存储器***100可以基于空闲时间的长度来预期可能随后从主机HOST接收到的命令,并且可以提前运行操作以更快地处理预期的命令。
根据空闲时间的长度,存储器***100将来可能从主机HOST接收到的命令可能会变化。例如,如果空闲时间小于30分钟,则存储器***100极有可能从主机HOST接收到读取命令,并且如果空闲时间为30分钟或更长,则存储器***100更有可能从主机HOST接收到写入命令。
图5是示出根据本公开的实施例的存储器***100的操作的示例的流程图。图5所示的存储器***100的操作可以周期性地或在特定时间点执行。
参照图5,存储器***100的存储器控制器120可以计算空闲时间的长度(S510)。存储器控制器120可以根据参照图4描述的方法来计算空闲时间的长度。
另外,存储器控制器120可以确定多个时段之中的空闲时间的长度所属的时段(S520)。在这种情况下,可以预设多个时段(例如,10分钟至1小时、1小时至10小时)。
另外,存储器控制器120可以根据所计算的空闲时间长度所属的时段来确定指示预期要从主机HOST接收到的命令的命令类型的命令模式(S530)。
在这种情况下,命令模式可以是例如1)读取模式、2)写入模式、3)擦除模式,或4)后台模式。
命令模式为读取模式的配置表示预期要从主机HOST接收到读取命令。作为命令模式的写入模式表示预期要从主机HOST接收到写入命令。作为命令模式的擦除模式表示预期要从主机HOST接收到擦除命令。作为命令模式的后台模式表示预期要从主机HOST接收到后台命令。
存储器控制器120可以运行与所确定的命令模式相对应的操作(S540)。
在这种情况下,预期的命令模式可能根据空闲时间的长度而变化。下文中,将参照图6进行详细描述。
图6示出根据本公开的实施例的根据空闲时间的长度的命令模式的示例。
参照图6,当空闲时间T的长度小于A1时,存储器控制器120可以将预期要从主机HOST接收到的命令的命令模式确定为读取模式。
如果空闲时间T的长度大于或等于A1并且小于A2,则存储器控制器120可以将预期要从主机HOST接收到的命令的命令模式确定为写入模式。
如果空闲时间T的长度大于或等于AN-1并且小于AN,则存储器控制器120可以将预期要从主机HOST接收到的命令的命令模式确定为擦除模式。
如果空闲时间T的长度大于或等于AN,则存储器控制器120可以将预期要从主机HOST接收到的命令的命令模式确定为读取模式。
也就是说,预期要从主机HOST接收到的命令的命令模式可以根据空闲时间的长度而变化。
此外,在本公开的实施例中,预期要从主机HOST接收到的命令的命令模式可以根据空闲时间的长度动态改变。例如,当空闲时间的长度为T时,存储器控制器120可以初始确定预期要从主机HOST接收到的命令的命令模式是读取模式,但在下文中,当空闲时间的长度为T时,存储器控制器可以确定预期要从主机接收到的命令的命令模式为写入模式。
下文中,将描述确定预期由存储器***100从主机接收到的命令的命令模式的详细方法。
图7示出根据本公开的实施例的存储器***100基于与第一时段相对应的历史信息来确定命令模式的示例。
参照图7,当空闲时间的长度属于多个时段之中的第一时段时,存储器***100的存储器控制器120可以基于与第一时段相对应的历史信息来确定预期要从主机HOST接收到的命令的命令模式。
在这种情况下,与第一时段相对应的历史信息可以包括关于先前在属于第一时段的先前空闲时间已经经过之后从主机接收到的命令的信息(例如,与命令相对应的逻辑块地址,与命令相对应的数据块组,是否是顺序/随机访问)。与第一时段相对应的历史信息可以以各种类型的数据结构(例如,表格、映射、列表)来管理。
例如,在图7中,存储器控制器120先前在空闲时间A经过之后从主机接收到写入命令,在空闲时间B经过之后从主机接收到读取命令,并且在空闲时间C经过之后从主机接收到写入命令。另外,在图7中,空闲时间A、B和C属于第一时段。
在这种情况下,存储器控制器120可以基于与第一时段相对应的历史信息来确定预期要从主机HOST接收到的命令的命令模式。在这种情况下,与第一时段相对应的历史信息可以包括在属于第一时段的空闲时间已经经过之后从主机接收到两次写入命令和一次读取命令的信息。另外,与第一时段相对应的历史信息可以包括指示在属于第一时段的最近空闲时间已经经过之后从主机HOST接收到的写入命令的信息。
下文中,将描述存储器***100基于与第一时段相对应的历史信息确定预期要从主机HOST接收到的命令的命令模式的具体示例。
图8示出根据本公开实施例的存储器***100基于从主机接收到的命令的命令类型来确定命令模式的示例。
参照图8,存储器***100的存储器控制器120可以从与第一时段相对应的历史信息检查从主机HOST接收到的命令类型的数量。另外,存储器控制器120可以搜索它们之中的先前从主机HOST接收到的具有最高频率的命令类型,并且基于此来确定预期要从主机HOST接收到的命令的命令模式。
例如,在与图8中的第一时段相对应的历史信息中,从主机接收到写入命令的次数为2次,从主机接收到读取命令的次数为3次,并且从主机接收到擦除命令的次数为1次。在这种情况下,因为先前从主机HOST接收到的具有最高频率的命令类型是读取命令,所以存储器控制器120可以确定预期要从主机HOST接收到的命令的命令模式是读取模式。
在图8中的另一示例中,在与第一时段相对应的历史信息中,从主机接收到写入命令的次数为4次,从主机接收到读取命令的次数为2次,并且从主机接收到擦除命令的次数为3次。在这种情况下,因为先前从主机HOST接收到的具有最高频率的命令类型是写入命令,所以存储器控制器120可以确定预期要从主机HOST接收到的命令的命令模式是写入模式。
此外,先前从主机接收到的具有最高频率的命令类型的数量可以是多个。在另一示例中,在与图8中的第一时段相对应的历史信息中,从主机接收到写入命令的次数为3次,从主机接收到读取命令的次数也是3次,并且接收到擦除命令的次数为1次。
在这种情况下,存储器控制器120可以通过将接收到最近的读取命令的时间与接收到最近的写入命令的时间进行比较,并根据最近接收到的命令类型确定命令模式。在图8中,因为接收到最近的读取命令的时间比接收到最近的写入命令的时间更近,所以存储器控制器120可以确定预期要从主机接收到的命令的命令模式是读取模式。
图9示出根据本公开的实施例的由存储器***100基于最近从主机接收到的命令的命令类型来确定命令模式的示例。
参照图9,存储器***100的存储器控制器120可以从与第一时段相对应的历史信息中搜索最近从主机HOST接收到的命令的命令类型,并且可以基于此确定预期要从主机HOST接收到的命令的命令模式。
在图9的示例中,在与第一时段相对应的历史信息中,最近从主机HOST接收到的命令的命令类型是读取命令。在这种情况下,存储器控制器120可以确定预期要从主机HOST接收到的命令的命令模式是读取模式。
在另一示例中,在与图9中的第一时段相对应的历史信息中,最近从主机HOST接收到的命令的命令类型是写入命令。在这种情况下,存储器控制器120可以确定预期要从主机HOST接收到的命令的命令模式是写入模式。
在上文中,已经描述了确定预期由存储器***100从主机HOST接收到的命令的命令模式的操作。
下文中,将描述存储器***100运行与所确定的命令模式相对应的操作的具体示例。
图10示出根据本公开的实施例的存储器***100运行与命令模式相对应的操作的示例。
参照图10,如果预期要从主机HOST接收到的命令的命令模式是读取模式,则存储器***100运行与读取模式相对应的操作。
在图10中,存储器控制器120可以将目标数据TGT_DATA预获取到内部读取缓冲器RD_BUF中。
读取缓冲器RD_BUF是存储从存储器装置110读取的数据以便存储器控制器120处理从主机HOST接收到的读取命令的缓冲器。读取缓冲器RD_BUF可以位于易失性存储器上。例如,读取缓冲器RD_BUF可以位于存储器控制器120的工作存储器125上。
存储器***100的存储器控制器120可以确定预获取到读取缓冲器RD_BUF中的目标数据TGT_DATA并且将目标数据TGT_DATA预获取到读取缓冲器RD_BUF中。目标数据TGT_DATA是预期由主机HOST读取的数据。
也就是说,在主机HOST请求读取目标数据TGT_DATA之前存储器控制器120将目标数据TGT_DATA预获取到读取缓冲器RD_BUF中,以便之后当主机HOST请求读取目标数据TGT_DATA时,目标数据TGT_DATA可以直接从读取缓冲器RD_BUF传输到主机HOST。因此,存储器控制器120可以更快地处理从主机HOST接收到的读取请求。
为了让存储器***100将存储器装置110中存储的目标数据TGT_DATA预获取到读取缓冲器RD_BUF中,需要确定作为存储器装置110中存储目标数据TGT_DATA的地址的目标地址。下文中,将参照图11至12描述由存储器***100确定目标地址的方法。
图11示出根据本公开的实施例的存储器***100确定目标地址的示例。
参照图11,如果空闲时间的长度属于多个时段之中的第二时段,则存储器***100的存储器控制器120可以基于先前在属于第二时段的先前空闲时间已经经过之后从主机HOST接收到的命令实际引用(reference)的多个地址来选择目标地址。在这种情况下,第二时段可以是与上述第一时段相同的时段,或者可以是不同的时段。
具体地,针对先前在属于第二时段的先前空闲时间已经经过之后从主机HOST接收到的读取命令引用的多个地址,存储器控制器120可以基于对多个地址中的每一个的引用次数来选择目标地址。
在图11中,在属于第二时段的空闲时间已经经过之后,地址A被引用3次,地址B被引用5次,并且地址C被引用2次。在这种情况下,存储器控制器120可以选择具有最大引用次数的地址B作为目标地址。也就是说,存储器控制器120可以将地址B中存储的数据预获取到读取缓冲器RD_BUF中。
此外,具有最大引用次数的地址是作为示例进行说明的情况,但是也可以存在多个具有最大引用次数的地址。
图12示出根据本公开的实施例的存储器***100确定目标地址的另一示例。
在图12中,在属于第二时段的空闲时间已经经过之后,地址A被引用3次,地址B被引用3次,并且地址C被引用2次。在这种情况下,存储器控制器120可以选择具有最大引用次数的地址A或地址B中的一个作为目标地址。
在这种情况下,存储器控制器120可以从地址A和地址B之中选择最近引用的地址作为目标地址。在图12中,最近引用的地址A的时间点是T1,并且最近引用的地址B的时间点是时间点T2。因为T1比T2更近,所以存储器控制器120可以选择目标地址作为地址A。
图13示出根据本公开的实施例的存储器***100运行与命令模式相对应的操作的另一示例。
参照图13,在预期要从主机HOST接收到的命令的命令模式是写入模式的情况下,存储器***100可以运行与写入模式相对应的操作。
在图13中,存储器***100的存储器控制器120可以将内部写入缓冲器WR_BUF中存储的全部或部分数据清除到存储器装置110。
写入缓冲器WR_BUF是用于存储来自主机HOST的写入请求数据以便处理从主机HOST接收到的写入命令的缓冲器。例如,类似于上面参照图10描述的读取缓冲器RD_BUF,写入缓冲器WR_BUF可以位于存储器控制器120的工作存储器125中。
也就是说,在主机HOST请求写入新数据之前,存储器控制器120提前将写入缓冲器WR_BUF中存储的全部或部分数据清除到存储器装置110。因此,可以减少将由主机HOST新请求的数据存储在写入缓冲器WR_BUF中所需的时间。
图14示出根据本公开的实施例的存储器***100运行与命令模式相对应的操作的另一示例。
参照图14,如果预期要从主机HOST接收到的命令的命令模式是擦除模式,则存储器***100可以运行与擦除模式相对应的操作。
在图14中,存储器***100的存储器控制器120可以将与存储器装置110中预期要运行擦除操作的区域相对应的映射数据MAP_DATA预获取到映射缓存MAP_CACHE。映射数据是指示主机HOST的逻辑地址与存储器装置110的物理地址之间的映射信息的数据。在这种情况下,可以将预期要运行擦除操作的区域确定为例如仅存储无效数据的区域(例如,存储块)。针对另一示例,可以将预期要运行擦除操作的区域确定为读取计数大于或等于预设阈值读取计数的区域。
映射高速缓存MAP_CACHE可以高速缓存存储器装置110中存储的映射数据MAP_DATA。作为示例,类似于上述读取缓冲器RD_BUF和写入缓冲器WR_BUF,映射高速缓存MAP_CACHE可以位于存储器控制器120的工作存储器125中。
也就是说,在主机HOST运行擦除操作之前,存储器控制器120可以将与预期要运行擦除操作的区域相对应的映射数据预获取到映射高速缓存MAP_CACHE中,从而可以在对相应区域运行擦除操作的进程中减少更新映射高速缓存MAP_CACHE所需的时间。
此外,存储器***100的存储器控制器120可以运行与除了上述读取模式、写入模式和擦除模式之外的命令模式相对应的操作。
例如,在预期要从主机接收到的命令的命令模式是后台模式的情况下,存储器***100的存储器控制器120可以出于运行具有较高运行可能性的后台操作(例如,垃圾收集(GC))的目的来使用内部缓冲器,并且可以访问运行后台操作所需的数据。
图15示出根据本公开的实施例的存储器***100的操作方法。图15所示的存储器***100的操作方法可以周期性地或在特定时间点执行。
参照图15,存储器***100的操作方法可以包括:计算空闲时间的长度,空闲时间是未从主机HOST接收到命令的时段(S1510)。
另外,存储器***100的操作方法可以包括:根据多个设定时段之中空闲时间的长度所属的时段来确定指示预期要从主机HOST接收到的命令的命令类型的命令模式(S1520)。
在这种情况下,命令的命令类型可以是读取命令、写入命令或擦除命令。进一步地,命令模式可以是1)读取模式、2)写入模式,或3)擦除模式。
确定命令模式(S1520)可以包括:当空闲时间的长度属于多个时段之中的第一时段时,基于与第一时段相对应的历史信息来确定命令模式。在这种情况下,与第一时段相对应的历史信息可以包括先前在属于第一时段的先前空闲时间已经经过之后从主机接收到的命令的信息。
作为示例,确定命令模式(S1520)可以包括:基于与第一时段相对应的历史信息来搜索先前从主机接收到的具有最高频率的命令的命令类型,并且基于搜索到的命令类型来确定命令模式。
作为另一示例,确定命令模式(S1520)可以包括:基于与第一时段相对应的历史信息来搜索最近从主机接收到的命令的命令类型,并且基于搜索到的命令类型来确定命令模式。
另外,存储器***100的操作方法可以包括:运行与在S1520中确定的命令模式相对应的操作(S1530)。
例如,运行与命令模式相对应的操作(S1530)可以包括:当命令模式是读取模式时,确定存储器装置110中存储目标数据的目标地址。将目标数据预获取到读取缓冲器RD_BUF,读取缓冲器RD_BUF存储从存储器装置110读取的数据以处理从主机HOST接收到的读取命令。另外,运行与命令模式相对应的操作的步骤(S1530)可以包括:将目标地址中存储的目标数据预获取到读取缓冲器RD_BUF中。
在确定目标地址时,当空闲时间的长度属于多个时段之中的第二时段时,可以基于先前在属于第二时段的先前空闲时间已经经过之后从主机接收到的读取命令引用的多个地址中的每一个的引用次数来确定目标地址。
在确定目标地址时,如果在多个地址之中存在具有最大引用次数的多个地址,则可以将目标地址确定为具有最大引用次数的地址之中的最近引用的地址。
作为另一示例,运行与命令模式相对应的操作(S1530)可以包括:当命令模式为写入模式时,将存储由主机HOST写入请求的数据的写入缓冲器WR_BUF中存储的全部或部分数据清除到存储器装置110中,以便处理从主机HOST接收到的写入命令。
作为另一示例,运行与命令模式相对应的操作(S1530)可以包括:如果命令模式为擦除模式,则将与存储器装置110中预期执行擦除操作的区域相对应的映射数据MAP_DATA预获取到映射高速缓存MAP_CACHE中。在这种情况下,可以将预期要运行擦除操作的区域确定为例如仅存储无效数据的区域(例如,存储块)。针对另一示例,可以将预期要运行擦除操作的区域确定为读取计数大于或等于预设阈值读取计数的区域。
图16是示出基于本公开的技术的实施例的计算***1600的配置的示图。
参照图16,基于所公开技术的实施例的计算***1600可以包括:存储器***100,电连接到***总线1660;CPU 1610,被配置成控制计算***1600的全部操作;RAM 1620,被配置成存储与计算***1600的操作相关的数据和信息;用户接口/用户体验(UI/UX)模块1630,被配置成向用户提供用户环境;通信模块1640,被配置成作为有线和/或无线类型与外部装置通信;以及电源管理模块1650,被配置成管理由计算***1600使用的电力。
计算***1600可以是个人计算机(PC)或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
计算***1600可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其他元件对于本领域技术人员而言将是显而易见的。
存储器***100不仅可以包括被配置成将数据存储在磁盘中的、诸如硬盘驱动器(HDD)的装置,并且还包括被配置成将数据存储在非易失性存储器中的、诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施成各种类型的存储装置并且被安装在各种电子装置内部。
基于上述所公开的技术的实施例,可以有利地减少或最小化存储器***的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的进程中产生的开销。虽然出于说明性目的已经以特定的详情和变化的细节描述了所公开技术的各个实施例,但是本领域技术人员将理解的是,在不脱离所附权利要求书限定的本发明的精神和范围的情况下,基于在本公开中公开或示出的内容可以进行各种修改、增加和替换。此外,可以组合实施例以形成附加的实施例。
Claims (20)
1.一种存储器***,包括:
存储器装置,用于存储数据;以及
存储器控制器:
控制所述存储器装置运行从主机接收的命令,
根据多个设定时段之中的空闲时间的长度所属的时段来确定指示预期要从所述主机接收的命令的命令类型的命令模式,并且
运行与所述命令模式相对应的操作,
其中所述空闲时间是未从所述主机接收到命令的时段。
2.根据权利要求1所述的存储器***,
其中当所述空闲时间的长度属于所述多个时段之中的第一时段时,所述存储器控制器基于与所述第一时段相对应的历史信息来确定所述命令模式,并且
其中与所述第一时段相对应的所述历史信息包括关于先前在属于所述第一时段的先前空闲时间已经经过之后从所述主机接收到的命令的信息。
3.根据权利要求2所述的存储器***,其中所述存储器控制器从与所述第一时段相对应的所述历史信息中搜索先前从所述主机接收到的具有最高频率的命令的命令类型,并且基于搜索到的所述命令类型来确定所述命令模式。
4.根据权利要求2所述的存储器***,其中所述存储器控制器从与所述第一时段相对应的所述历史信息中搜索最近从所述主机接收到的命令的命令类型,并且基于搜索到的所述命令类型来确定所述命令模式。
5.根据权利要求1所述的存储器***,其中所述命令类型包括读取命令、写入命令、擦除命令或后台命令,并且所述命令模式包括读取模式、写入模式、擦除模式或后台模式。
6.根据权利要求5所述的存储器***,
其中所述存储器控制器包括读取缓冲器,所述读取缓冲器用于存储从所述存储器装置读取的数据以便处理从所述主机接收的读取命令,并且
其中,当所述命令模式是所述读取模式时,所述存储器控制器确定所述存储器装置中存储目标数据的目标地址,并将所述目标数据预获取到所述读取缓冲器中。
7.根据权利要求6所述的存储器***,其中,当所述空闲时间的长度属于所述多个时段之中的第二时段时,所述存储器控制器基于先前在属于所述第二时段的先前空闲时间已经经过之后从所述主机接收到的所述读取命令引用的多个地址中的每一个的引用次数来选择所述目标地址。
8.根据权利要求7所述的存储器***,其中当存在具有最大引用次数的多个地址时,所述存储器控制器从具有最大引用次数的地址之中选择最近引用的地址作为所述目标地址。
9.根据权利要求5所述的存储器***,
其中所述存储器控制器包括写入缓冲器,所述写入缓冲器用于存储所述主机请求写入的数据,以便处理从所述主机接收到的所述写入命令,并且
其中当所述命令模式是所述写入模式时,所述存储器控制器将所述写入缓冲器中存储的全部或部分数据清除到所述存储器装置。
10.根据权利要求5所述的存储器***,
其中所述存储器控制器包括映射高速缓存,所述映射高速缓存用于高速缓存所述存储器装置中存储的映射数据,并且
其中,当所述命令模式是所述擦除模式时,所述存储器控制器将与所述存储器装置中预期要运行擦除操作的区域相对应的映射数据预获取到所述映射高速缓存中。
11.一种存储器***的操作方法,包括:
计算空闲时间的长度,所述空闲时间是未从主机接收到命令的时段;
根据多个设定时段之中所述空闲时间的长度所属的时段来确定指示预期要从所述主机接收的命令的命令类型的命令模式,并且
运行与所述命令模式相对应的操作。
12.根据权利要求11所述的存储器***的操作方法,
其中确定所述命令模式包括:当所述空闲时间的长度属于所述多个时段之中的第一时段时,基于与所述第一时段相对应的历史信息来确定所述命令模式,并且
其中与所述第一时段相对应的所述历史信息包括关于先前在属于所述第一时段的先前空闲时间已经经过之后从所述主机接收到的命令的信息。
13.根据权利要求12所述的存储器***的操作方法,其中确定所述命令模式包括:从与所述第一时段相对应的所述历史信息中搜索先前从所述主机接收到的具有最高频率的命令的命令类型,并且基于搜索到的所述命令类型来确定所述命令模式。
14.根据权利要求12所述的存储器***的操作方法,其中确定所述命令模式包括:从与所述第一时段相对应的所述历史信息中搜索最近从所述主机接收到的命令的命令类型,并且基于搜索到的所述命令类型来确定所述命令模式。
15.根据权利要求11所述的存储器***的操作方法,其中所述命令类型包括读取命令、写入命令、擦除命令或后台命令,并且所述命令模式包括读取模式、写入模式、擦除模式或后台模式。
16.根据权利要求15所述的存储器***的操作方法,其中运行与所述命令模式相对应的操作包括:当所述命令模式是所述读取模式时,确定所述存储器装置中存储目标数据的目标地址,并且将所述目标数据从所述存储器装置预获取到读取缓冲器中,所述读取缓冲器存储从所述存储器装置读取的数据以便处理从所述主机接收到的读取命令。
17.根据权利要求16所述的存储器***的操作方法,其中确定所述目标地址包括:当所述空闲时间的长度属于所述多个时段之中的第二时段时,基于先前在属于所述第二时段的先前空闲时间已经经过之后从所述主机接收到的所述读取命令引用的多个地址中的每一个的引用次数来选择所述目标地址。
18.根据权利要求17所述的存储器***的操作方法,其中确定所述目标地址包括:当存在具有最大引用次数的多个地址时,从具有最大引用次数的地址之中选择最近引用的地址作为所述目标地址。
19.根据权利要求15所述的存储器***的操作方法,其中运行与所述命令模式相对应的操作包括:当所述命令模式是所述写入模式时,将写入缓冲器中存储的全部或部分数据清除到所述存储器装置,所述写入缓冲器存储所述主机请求写入的数据以便处理从所述主机接收到的所述写入命令。
20.根据权利要求15所述的存储器***的操作方法,其中运行与所述命令模式相对应的操作包括:当所述命令模式是所述擦除模式时,将与所述存储器装置中预期要运行擦除操作的区域相对应的映射数据预获取到映射高速缓存中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210113645A KR20230031425A (ko) | 2021-08-27 | 2021-08-27 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2021-0113645 | 2021-08-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729446A true CN115729446A (zh) | 2023-03-03 |
Family
ID=85289055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210140545.7A Withdrawn CN115729446A (zh) | 2021-08-27 | 2022-02-16 | 存储器***以及存储器***的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11755248B2 (zh) |
KR (1) | KR20230031425A (zh) |
CN (1) | CN115729446A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240069809A1 (en) * | 2022-08-30 | 2024-02-29 | Micron Technology, Inc. | Memory devices including idle time prediction |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140130309A (ko) | 2013-04-30 | 2014-11-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
US9904623B2 (en) * | 2015-05-01 | 2018-02-27 | Advanced Micro Devices, Inc. | Early cache prefetching in preparation for exit from idle mode |
KR101735590B1 (ko) | 2016-01-22 | 2017-05-15 | 한양대학교 산학협력단 | 트랜잭션 추출 장치 및 방법 |
US10474578B2 (en) * | 2017-08-30 | 2019-11-12 | Oracle International Corporation | Utilization-based throttling of hardware prefetchers |
US10963394B2 (en) * | 2018-04-16 | 2021-03-30 | Samsung Electronics Co., Ltd. | System and method for optimizing performance of a solid-state drive using a deep neural network |
KR20210101632A (ko) * | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
-
2021
- 2021-08-27 KR KR1020210113645A patent/KR20230031425A/ko unknown
-
2022
- 2022-01-06 US US17/569,979 patent/US11755248B2/en active Active
- 2022-02-16 CN CN202210140545.7A patent/CN115729446A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11755248B2 (en) | 2023-09-12 |
US20230063280A1 (en) | 2023-03-02 |
KR20230031425A (ko) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386005B2 (en) | Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
US20230333932A1 (en) | Memory system and operating method thereof | |
CN114067870A (zh) | 存储器***、存储器装置以及用于操作存储器装置的方法 | |
CN114863962A (zh) | 存储器***及其操作方法 | |
CN112181283A (zh) | 存储器***、存储器控制器及操作方法 | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
US11755248B2 (en) | Memory system and operating method of memory system | |
US12019891B2 (en) | Memory controller controlling synchronization operation based on fused linked list and operating method thereof | |
US20220300212A1 (en) | Memory system, memory controller, and method for operating same | |
US11625195B2 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
US11372766B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN114596898A (zh) | 存储器***及其操作方法 | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
US20230205687A1 (en) | Controller and operating method thereof | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11803322B2 (en) | Memory system and operating method supporting fast boot using host memory buffer and default enabled information | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US11386000B2 (en) | Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
US11822819B2 (en) | Memory system and operating method thereof | |
US20240028210A1 (en) | Memory system for determining read wait time, memory controller, and method for operating memory system | |
CN115617708A (zh) | 设置随机存取存储器的操作频率的***及其操作方法 | |
CN114968078A (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: 20230303 |
|
WW01 | Invention patent application withdrawn after publication |