CN115617708A - 设置随机存取存储器的操作频率的***及其操作方法 - Google Patents
设置随机存取存储器的操作频率的***及其操作方法 Download PDFInfo
- Publication number
- CN115617708A CN115617708A CN202210056243.1A CN202210056243A CN115617708A CN 115617708 A CN115617708 A CN 115617708A CN 202210056243 A CN202210056243 A CN 202210056243A CN 115617708 A CN115617708 A CN 115617708A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- memory
- random access
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开的实施例涉及设置随机存取存储器的操作频率的***及该***的操作方法。基于所公开技术的一些实施例,该***可以包括:随机存取存储器,被配置为包括用于存储数据的存储器单元;高速缓存存储器,被配置为高速缓存数据的至少一部分;以及处理器,与随机存取存储器和高速缓存存储器通信,以从随机存取存储器或高速缓存存储器访问数据的至少一部分。***可以确定高速缓存存储器的高速缓存命中率,并且可以基于高速缓存命中率设置随机存取存储器的操作频率。
Description
相关申请的交叉引用
本文件要求于2021年7月14日提交的、申请号为10-2021-0092009的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的实施例涉及一种基于高速缓存命中率设置随机存取存储器的操作频率的***及该***的操作方法。
背景技术
存储器***包括基于来自诸如计算机、服务器、智能电话、平板电脑或其他装置的主机的请求存储数据的数据存储装置。存储器***的示例涵盖传统的基于磁盘的硬盘驱动器(HDD)到诸如固态驱动器(SSD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置的基于半导体的数据存储装置。
***是执行特定操作的装置的互连。这种***可以包括基于来自诸如计算机的主机、移动终端(例如,智能电话或平板电脑)或各种装置的请求存储数据的存储器装置。***可以将数据存储在磁盘(例如,硬盘驱动器(HDD))或诸如易失性存储器或非易失性存储器(例如,固态驱动器(SSD)、通用闪存(UFS)装置、嵌入式MMC(eMMC)装置)的半导体存储器装置中。
在执行逻辑操作和控制与装置相关联的各种操作时,***可以将数据存储在内部随机存取存储器装置或外部随机存取存储器装置中,并且访问这些随机存取存储器装置以读出数据。
发明内容
本专利申请文件中公开的技术可以在各个实施例中实施,以提供能够在降低随机存取存储器装置功耗的同时使性能劣化最小化的***及该***的操作方法。
在一个方面,本公开的实施例可以提供一种***,该***包括:随机存取存储器,被配置为包括用于存储数据的存储器单元;高速缓存存储器,被配置为高速缓存数据的至少一部分;以及处理器,与随机存取存储器和高速缓存存储器通信,以访问随机存取存储器或高速缓存存储器中的数据的至少一部分。
处理器可以确定高速缓存存储器的高速缓存命中率,并基于高速缓存存储器的高速缓存命中率设置随机存取存储器的操作频率。
例如,***可以基于1)随机存取存储器或高速缓存存储器中被处理器访问的数据的大小,以及2)高速缓存存储器的高速缓存命中率,确定随机存取存储器中数据的大小。
另外,***可以基于随机存取存储器中被处理器访问的数据的大小来设置随机存取存储器的操作频率。
在另一方面,本公开的实施例可以提供一种***的操作方法。
***的操作方法可以包括确定高速缓存存储器的高速缓存命中率,该高速缓存存储器被配置为高速缓存待存储在随机存取存储器中的至少部分数据。
***的操作方法可以包括基于高速缓存存储器的高速缓存命中率来设置随机存取存储器的操作频率。
作为示例,基于高速缓存存储器的高速缓存命中率来设置随机存取存储器的操作频率可以包括基于1)随机存取存储器或高速缓存存储器中被访问的数据的大小以及(2)高速缓存存储器的高速缓存命中率,确定随机存取存储器中被访问的数据的大小。
另外,基于高速缓存存储器的高速缓存命中率来设置随机存取存储器的操作频率可以包括基于随机存取存储器中被访问的数据的大小来设置随机存取存储器的操作频率。
根据本公开的实施例,可以降低随机存取存储器的功耗,同时使性能降低最小化。
附图说明
图1是示出基于所公开技术的实施例的存储器***的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3示出基于所公开技术的实施例的存储器装置的字线和位线的结构。
图4示出基于所公开技术的一些实施例的***的示例配置。
图5是示出基于所公开技术的一些实施例的***的示例操作的流程图。
图6示出基于所公开技术的一些实施例的***确定高速缓存的高速缓存命中率的示例方法。
图7是示出基于所公开技术的一些实施例的***如何设置随机存取存储器的操作频率的示例的流程图。
图8示出基于所公开技术的一些实施例的高速缓存的示例配置。
图9是示出关于图8中描述的高速缓存是否被高速缓存命中的确定操作的示例的流程图。
图10示出基于所公开技术的一些实施例的***设置随机存取存储器的操作频率的示例方法。
图11示出数据大小区段(data size period)和图10中描述的与数据大小区段相对应的操作频率之间的关系的示例。
图12示出数据大小区段和图10中描述的与数据大小区段相对应的操作频率之间的关系的另一个示例。
图13示出基于所公开技术的一些实施例的***的操作方法。
图14示出基于所公开技术的一些实施例的计算***的示例配置。
具体实施方式
在下文中,参照附图详细描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文使用的术语“实施例”不一定指所有实施例。
下面参照附图更详细地描述本公开中公开的技术的各个实施例。然而,注意的是,所公开的技术可以以不同的形式和变型实现,并且不应被解释为限于本文阐述的实施例。相反,所描述的实施例被提供作为所公开实施例的示例和变型,并且可以基于所公开的内容做出其他实施例。在整个公开中,相同的附图标记在本发明的各个附图和实施例中指代相同的部件。
本文描述的方法、过程和/或操作可以通过待由计算机、处理器、控制器或其他信号处理装置运行的代码或指令来执行。计算机、处理器、控制器或其他信号处理装置可以是本文描述的那些或者本文描述的元件之外的那些。由于对形成方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法进行了详细描述,因此用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转换为执行本文的方法的专用处理器。
当至少部分地以软件实施时,控制器、处理器、装置、模块、单元、多路复用器、生成器、逻辑、接口、译码器、驱动器和其他信号生成和信号处理特征可以包括例如用于存储待由例如计算机、处理器、微处理器、控制器或其他信号处理装置运行的代码或指令的存储器或其他存储装置。
图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执行存储器装置的这种后台操作时,即使没有来自主机的请求,也可以控制存储器装置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的上述构成元件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)和控制栅极(CG),其中浮置栅极由绝缘体包围,并且栅极电压从字线WL施加到控制栅极。
在多个存储块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。
例如,多条字线WL1至WL9中的每一条可以对应于一个页面PG,如图3所示。当多条字线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向第一选择晶体管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示出了基于所公开技术的一些实施例的***10的示例配置。
参照图4,***10(在下文中被称为“***”)可以包括耦合以彼此通信的随机存取存储器11、高速缓存或高速缓存存储器12和处理器13,如图4中的示例所示。
随机存取存储器11可以存储数据。在一些实施方案中,随机存取存储器11可以用于存储处理器13正在使用的程序和数据。在一个示例中,存储在随机存取存储器11中的数据可以包括从位于***10内部或外部的数据存储装置或另一存储器装置(例如,NAND闪速存储器、NOR闪速存储器、PRAM、MRAM、STT-RAM)加载的数据,或者处理器13创建和/或用于执行逻辑操作的数据。
在一些实施方案中,高速缓存12可以高速缓存存储在随机存取存储器11中的部分数据。在一个示例中,高速缓存12可以包括以高于随机存取存储器11的速度操作并且存储容量小于随机存取存储器11的存储器(例如,SRAM、TCM)。另外,***10可以基于脏位(dirtybit)确定关于高速缓存12中高速缓存的数据是否已经发生变化,从而防止高速缓存12和随机存取存储器11之间潜在的数据不匹配。此处,脏位可以包括与高速缓存12的一部分相关联并且指示高速缓存12的相应部分是否已经被修改的位。
在一些实施方案中,处理器13可以从随机存取存储器11或高速缓存12访问存储在随机存取存储器11中的部分数据。
作为示例,当待被访问的数据被高速缓存在高速缓存12中并且从高速缓存12中被成功读出时(即,当“高速缓存命中”发生时),处理器13可以从高速缓存12中访问数据,如图4中的标记为“①”。另一方面,处理器13可以尝试从高速缓存12中访问特定数据,但该特定数据在高速缓存12中是不可用的(即,当“高速缓存未命中”发生时),如图4中的标记为“②”。当这种高速缓存未命中发生时,处理器13接下来可以从随机存取存储器11中访问特定数据。
基于所公开技术的一些实施例的***10可以以各种方式实施。作为示例,***10可以被实施为参照图1描述的存储器***100。
在一些实施方案中,处理器13可以包括参照图1描述的处理器124。随机存取存储器11可以包括参照图1描述的工作存储器125。高速缓存12可以包括布置在参照图1描述的处理器124或工作存储器125中或任何其他存储器装置中的易失性存储器。
在一些实施方案中,上述***10可以如下文所讨论的那样操作。作为示例,下面描述的***10的操作可以通过处理器13执行或者可以通过***10中包括的单独的算术电路执行。
图5是示出基于所公开技术的一些实施例的图4中的***10的示例操作的流程图。
参照图5,***10的处理器13可以基于其从高速缓存12检索数据的操作来确定高速缓存12的高速缓存命中率(S510)。在一些实施方案中,高速缓存命中率可以包括与高速缓存接收到多少请求相比,其可以成功从其高速缓存存储装置中成功传递多少内容请求的测量值。
在一些实施方案中,在S520,***10的处理器13可以基于在S510确定的高速缓存12的高速缓存命中率来设置随机存取存储器11的操作频率。随机存取存储器11的操作频率可以指示馈入或输入到随机存取存储器11中的时钟的频率。
也就是说,***10的处理器13可以根据高速缓存12的高速缓存命中率动态更新或改变随机存取存储器11的操作频率,而不是将随机存取存储器11的操作频率保持在固定值。
如下所述,***10可以被配置为在以下具体示例所示的特定情况下,基于高速缓存12的高速缓存命中率来设置随机存取存储器11的操作频率。
在一些实施方案中,随机存取存储器11的操作频率可以被设置为支持随机存取存储器11的最大性能的操作频率,而不管随机存取存储器11的使用频率如何。
然而,在随机存取存储器11的操作频率被固定为支持随机存取存储器11的最大性能的操作频率的情况下,即使处理器13访问随机存取存储器11的频率很低,随机存取存储器11也可能以高操作频率进行操作。在这种情况下,即使在高操作频率下也难以使随机存取存储器11的性能最大化。
另一方面,随机存取存储器11在其未被处理器13访问的时段期间的高操作频率可能不必要地增加随机存取存储器11的功耗,因为操作频率是决定功耗的关键因素之一。
所公开的技术可以在一些实施例中实施,以基于处理器13对随机存取存储器11的访问频率来确定随机存取存储器11的操作频率的最佳值。
处理器13对随机存取存储器11的访问频率可以随着处理器13对高速缓存12的访问频率的增加而降低。在处理器13可以从高速缓存12读取数据的情况下,处理器13的性能可以得到提高,因为处理器13可以避免访问操作速度慢于高速缓存12的随机存取存储器11。
因此,基于所公开技术的一些实施例实施的***可以通过基于高速缓存命中率调整随机存取存储器11的操作频率来提高其性能,从而防止在访问随机存取存储器11的频率较低时不必要的功耗,其中高速缓存命中率表示处理器13访问高速缓存12的数据的频率。另外,当访问随机存取存储器11的频率较高时,处理器13可以增加随机存取存储器11的操作频率以防止潜在的性能降低。
在一些实施方案中,高速缓存12的高速缓存命中率用于确定随机存取存储器11的操作频率,如下文将讨论的。
图6示出基于所公开技术的一些实施例的***10确定高速缓存12的高速缓存命中率的示例方法。
在实施方案中,***10可以根据在特定时段TP期间高速缓存中被处理器13访问的数据的大小与在特定时段TP期间随机存取存储器11或高速缓存12中被处理器13访问的数据的总大小的比率,确定高速缓存的高速缓存命中率。在另一实施方案中,高速缓存命中率可以基于高速缓存12处理的请求数量与随机存取存储器11或高速缓存12处理的请求总数的比率而确定。
处理器13可以首先检查请求的数据(待访问的数据)是否存储在高速缓存12中。如果相应的数据存储在高速缓存12中,则处理器13可以访问高速缓存12以读出数据。如果相应的数据未存储在高速缓存12中,则处理器13可以访问随机存取存储器11以读出数据。
在一些实施方案中,处理器13在特定时段TP期间从随机存取存储器11或高速缓存12访问的数据的总大小可以被称为处理器13访问的数据的总带宽。
在图6中,在特定时段TP期间高速缓存12中被***10访问的数据的大小为A、D和E,在特定时段TP期间随机存取存储器11中被***10访问的数据的大小为B和C。
在该示例中,高速缓存12的高速缓存命中率可以是(A+D+E)/(A+B+C+D+E),该高速缓存命中率是在特定时段TP期间从高速缓存12访问的数据大小(A+D+E)与在特定时段TP期间从随机存取存储器11或高速缓存12访问的数据的总大小(A+B+C+D+E)的比率。
作为另一示例,在***10每次从高速缓存12访问的数据大小固定的情况下,***10可以使用特定时段TP期间对高速缓存12和随机存取存储器11的访问次数来确定高速缓存命中率。也就是说,***10可以基于特定时段TP期间对高速缓存12中的数据的访问次数与特定时段TP期间对随机存取存储器11或高速缓存12中的数据的访问总次数来确定高速缓存12的高速缓存命中率。
作为另一示例,***10可以基于特定时段TP期间对高速缓存12中的数据的访问次数与特定时段TP期间从高速缓存12检索数据的总次数来确定高速缓存12的高速缓存命中率。
图7是示出基于所公开技术的一些实施例的***10如何设置随机存取存储器的操作频率的示例的流程图。
参照图7,***10可以确定:(1)随机存取存储器11或高速缓存12中被处理器13访问的数据的大小;以及(2)高速缓存12的高速缓存命中率(S710)。在该示例中,随机存取存储器11或高速缓存12中被处理器13访问的数据的大小可以是在等于用于确定高速缓存12的高速缓存命中率的预定时段的时段期间,随机存取存储器11或高速缓存12中被处理器访问的数据的大小。
另外,***10可以基于以下内容确定随机存取存储器11中被处理器13访问的数据的大小(S720):(1)在S710确定的、随机存取存储器11或高速缓存12中被处理器13访问的数据的大小;以及(2)在S710确定的高速缓存12的高速缓存命中率。
作为示例,高速缓存12中被处理器13访问的数据的大小可以由以下的乘积确定:(1)随机存取存储器11或高速缓存12中被处理器13访问的数据的大小;以及(2)高速缓存12的高速缓存命中率。另外,随机存取存储器11中被处理器13访问的数据的大小可以通过将随机存取存储器11或高速缓存12中被处理器13访问的数据的大小减去高速缓存12中被处理器13访问的数据的大小而获得。
***10可以基于随机存取存储器11中被处理器13访问的数据的大小来设置随机存取存储器11的操作频率(S730)。
如上所讨论的,***10可以基于高速缓存12的高速缓存命中率来设置随机存取存储器11的操作频率。
在一些实施方案中,在具体的高速缓存12结构中,将描述设置随机存取存储器11的操作频率的操作。
图8示出了基于所公开技术的一些实施例的高速缓存12的示例配置。
参照图8,高速缓存12可以包括L1高速缓存21和L2高速缓存22。在这种情况下,L1高速缓存21可以以高于L2高速缓存22的速度操作,并且可以具有比L2高速缓存22小的存储容量。
在图8中,处理器13可以首先搜索L1高速缓存21,以确定待访问的数据是否存储在高速缓存12中。
在L1高速缓存21中发生高速缓存命中的情况下,处理器13可以访问存储在L1高速缓存21中的数据,如图8中标记为“①”。
如果待访问的数据未存储在L1高速缓存21中(即,如果L1高速缓存21中发生高速缓存未命中),则处理器13可以访问L2高速缓存22。如果待访问的数据存储在L2高速缓存22中(即,如果L2高速缓存22中发生高速缓存命中),则处理器13可以访问L2高速缓存22中的数据,如图8中标记为“②”。
如果待访问的数据既未存储在L1高速缓存21中,也未存储在L2高速缓存22中(即,如果L1高速缓存21和L2高速缓存22都发生高速缓存未命中),则处理器13可以访问存储在随机存取存储器11中的数据,如图8中标记为“③”。
在这种情况下,***10可以确定在上述“①”和“②”的情况下高速缓存12被命中。
在下文中,将描述当高速缓存12确定L1高速缓存21和L2高速缓存22时确定关于高速缓存12是否被高速缓存命中的操作。
图9是示出确定关于图8中描述的高速缓存12是否被高速缓存命中的操作的示例的流程图。
参照图9,***10的处理器13确定L1高速缓存21是否命中(例如,待访问的数据是否在L1高速缓存21中)(S910)。
如果待访问的数据在L1高速缓存21中被命中(例如,如果待访问的数据在L1高速缓存21中)(S910-是),则处理器13可以确定高速缓存12被命中(S920)。
另一方面,如果待访问的数据在L1高速缓存21中未命中(例如,待访问的数据不存在于L1高速缓存21中)(S910-否),则处理器13确定待访问的数据在L2高速缓存22中是否命中(S930)。
如果待访问的数据在L2高速缓存22中被命中(S930-是),则处理器13可以确定高速缓存12被命中(S920)。
在待访问的数据在L2高速缓存22中未命中的情况下(S930-否),处理器13可以确定高速缓存12未命中(S940)。
当处理器13根据图9中描述的操作确定高速缓存12是否被高速缓存命中时,可以根据以下基于L1高速缓存21的高速缓存命中率CHR_L1和L2高速缓存22的高速缓存命中率CHR_L2的等式1来确定高速缓存12的高速缓存命中率CHR。
在一些实施方案中,L1高速缓存21的高速缓存命中率CHR_L1和L2高速缓存22的高速缓存命中率CHR_L2可以以与上述确定高速缓存12的高速缓存命中率的方法相同的方式确定。
例如,L1高速缓存21的高速缓存命中率CHR_L1可以确定为如下比率:在预定时段期间,(1)L1高速缓存21中被处理器13访问的数据的大小与随机存取存储器11或高速缓存12中被处理器13访问的数据的总大小的比率;(2)处理器13对L1高速缓存21的数据的访问次数与处理器13对随机存取存储器11或高速缓存12的数据的访问总次数的比率;或者(3)处理器13对L1高速缓存21的数据的访问次数与处理器13从L1高速缓存21检索数据的总次数的比率。
例如,L2高速缓存22的高速缓存命中率CHR_L2可以确定为如下比率:在预定时段期间,(1)L2高速缓存22中被处理器13访问的数据的大小与随机存取存储器11或高速缓存12中被处理器13访问的数据的总大小的比率;(2)处理器13对L2高速缓存22的数据的访问次数与处理器13对随机存取存储器11或高速缓存12的数据的访问总次数的比率;或者(3)处理器13对L2高速缓存22的数据的访问次数与处理器13从L2高速缓存22检索数据的总次数的比率。
(CHR)=(CHR_L1)+(1-(CHR_L1))*(CHR_L2) (等式1)
在这种情况下,对于随机存取存储器11或高速缓存12中被处理器13访问的数据的总大小DS_TOTAL,高速缓存中被处理器13访问的数据的大小可以由以下确定:
(DS_TOTAL)*(CHR)=(DS_TOTAL)*(CHR_L1)+(DS_TOTAL)*(1-(CHR_L1))*(CHR_L2)。
因此,随机存取存储器11中被处理器13访问的数据的大小DS_RAM是将处理器13从随机存取存储器11或高速缓存12访问的数据的总大小DS_TOTAL减去处理器13从高速缓存访问的数据的大小(DS_TOTAL)*(CHR)而获得的值。
(DS_RAM)=(DS_TOTAL)–(DS_TOTAL)*(CHR)=(DS_TOTAL)-(DS_TOTAL)*(CHR_L1)-(DS_TOTAL)*(1–(CHR_L1))*(CHR_L2) (等式2)
图10示出了基于所公开技术的一些实施例的***10设置随机存取存储器11的操作频率的示例方法。
参照图10,***10可以设置N个数据大小区段DSP_1、DSP_2、……、DSP_N(N是等于或大于2的自然数),以设置随机存取存储器11的操作频率。在这种情况下,N个数据大小区段DSP_1、DSP_2、……、DSP_N分别对应于不同的操作频率FREQ_1、FREQ_2、……、FREQ_N。
与N个数据大小区段DSP_1、DSP_2、……、DSP_N中的每一个相对应的操作频率FREQ_1、FREQ_2、……、FREQ_N中的每一个例如可以是用预设参考频率除以特定系数而获得的值。例如,操作频率FREQ_1可以是参考频率的1/10,操作频率FREQ_2可以是参考频率的1/2。
另外,当处理器13从随机存取存储器11访问的数据的大小属于上述N个数据大小区段DSP_1、DSP_2、……、DSP_N中的任意一个时,***10可以将随机存取存储器11的操作频率设置为对应于目标数据大小区段的操作频率。
作为示例,在图10中,假设处理器13从随机存取存储器11访问的数据的大小属于N个数据大小区段DSP_1、DSP_2、……、DSP_N之中的第二数据大小区段DSP_2。在这种情况下,***10可以将随机存取存储器11的操作频率设置为对应于第二数据大小区段DSP_2的操作频率FREQ_2。
作为另一示例,假设处理器13从随机存取存储器11访问的数据的大小属于N个数据大小区段DSP_1、DSP_2、……、DSP_N之中的第一数据大小区段DSP_1。在这种情况下,***10可以将随机存取存储器11的操作频率设置为对应于第一数据大小区段DSP_1的操作频率FREQ_1。
图11至图12示出数据大小区段和图10中描述的与数据大小区段相对应的操作频率之间的关系的示例。
首先,参照图11,第一操作频率FREQ_1对应于N个数据大小区段DSP_1、DSP_2、……、DSP_N之中的第一数据大小区段DSP_1,第二操作频率FREQ_2对应于N个数据大小区段DSP_1、DSP_2、……、DSP_N之中的第二数据大小区段DSP_2。
在这种情况下,第一数据大小区段DSP_1中包括的数据的大小小于第二数据大小区段DSP_2中包括的数据的大小。另外,对应于第一数据大小区段DSP_1的操作频率低于对应于第二数据大小区段DSP_2的操作频率。
也就是说,随机存取存储器11的操作频率随着随机存取存储器11中被处理器13访问的数据的大小变小而变低,随机存取存储器11的操作频率随着随机存取存储器11中的数据的大小增加而变高。
另外,参照图12,第二操作频率FREQ_2对应于N个数据大小区段DSP_1、DSP_2、……、DSP_N之中的第二数据大小区段DSP_2,第三操作频率FREQ_3对应于第三数据大小区段DSP_3。
在这种情况下,第二数据大小区段DSP_2中包括的数据的大小小于第三数据大小区段DSP_3中包括的数据的大小。另外,对应于第二数据大小区段DSP_2的操作频率低于对应于第三数据大小区段DSP_3的操作频率。
因此,第一数据大小区段DSP_1中包括的数据的大小小于第三数据大小区段DSP_3中包括的数据的大小。另外,对应于第一数据大小区段DSP_1的操作频率低于对应于第三数据大小区段DSP_3的操作频率。
图13示出基于所公开技术的一些实施例的***10的操作方法。
参照图13,***的操作方法可以包括确定高速缓存存储在随机存取存储器11中的数据的一部分的高速缓存12的高速缓存命中率(S1310)。
***10的操作方法可以包括基于在S1310确定的高速缓存命中率来设置随机存取存储器11的操作频率(S1320)。
在这种情况下,操作S1320可以包括例如:基于(1)随机存取存储器11或高速缓存12中被处理器13访问的数据的大小以及(2)高速缓存12的高速缓存命中率,确定随机存取存储器11中被处理器13访问的数据的大小;并且基于随机存取存储器11中被处理器13访问的数据的大小来设置随机存取存储器11的操作频率。
在一些实施方案中,***10中包括的高速缓存12可以包括L1高速缓存21和L2高速缓存22,高速缓存12的高速缓存命中率可以由L1高速缓存21的高速缓存命中率和L2高速缓存22的高速缓存命中率确定。
当随机存取存储器11中被处理器13访问的数据的大小属于多个预设数据大小区段之中的任何一个目标数据大小区段时,可以将上述随机存取存储器11的操作频率设置为与目标数据大小区段相对应的操作频率。
在这种情况下,例如,第一操作频率可以对应于多个数据大小区段之中的第一数据大小区段,第二操作频率可以对应于多个数据大小区段之中的第二数据大小区段。另外,第一数据大小区段中包括的数据的大小可以小于第二数据大小区段中包括的数据的大小,并且第一操作频率可以低于第二操作频率。
此外,第三操作频率可以对应于多个数据大小区段之中的第三数据大小区段。在这种情况下,第二数据大小区段中包括的数据的大小可以小于第三数据大小区段中包括的数据的大小,并且第二操作频率可以低于第三操作频率。
图14是示出基于所公开技术的实施例的计算***1400的配置的示例的示图。
参照图14,基于所公开技术的实施例的计算***1400可以包括:***10,电连接到***总线1460;CPU 1410,被配置为控制计算***1400的全部操作;RAM 1420,被配置为存储与计算***1400的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1430,被配置为向用户提供用户环境;通信模块1440,被配置为作为有线和/或无线类型与外部装置通信;以及电源管理模块1450,被配置为管理计算***1400使用的电力。
计算***1400可以是个人计算机(PC),或者可以包括诸如智能电话、平板电脑或各种装置的移动终端。
计算***1400可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其他元件对于本领域技术人员而言将是显而易见的。
***10不仅可以包括被配置为将数据存储在磁盘中、诸如硬盘驱动器(HDD)的装置,还可以包括被配置为将数据存储在非易失性存储器中的诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储装置并且被安装在各种装置内部。
基于上述所公开技术的实施例,可以有利地减少或最小化存储器***的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的过程中发生的开销。
尽管出于说明的目的已经通过特定细节和不同细节描述了所公开技术的各个实施例,但是本领域技术人员将理解的是,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以基于本公开中公开或示出的内容进行各种修改、添加和替换。
Claims (14)
1.一种***,包括:
随机存取存储器,包括存储数据的存储器单元;
高速缓存存储器,高速缓存所述数据的至少一部分;以及
处理器,与所述随机存取存储器和所述高速缓存存储器通信,以访问所述随机存取存储器或所述高速缓存存储器中的数据的至少一部分,
其中,所述处理器确定所述高速缓存存储器的高速缓存命中率,并且基于所述高速缓存存储器的高速缓存命中率设置所述随机存取存储器的操作频率。
2.根据权利要求1所述的***,其中,所述处理器使得所述高速缓存存储器的高速缓存命中率包括以下中的至少一者:在预设时段期间,(1)所述高速缓存存储器中被所述处理器访问的数据的大小与所述随机存取存储器或所述高速缓存存储器中被所述处理器访问的数据的总大小的比率;(2)所述处理器对所述高速缓存存储器的数据的访问次数与所述处理器对所述随机存取存储器或所述高速缓存存储器的数据的访问总次数的比率;和(3)所述处理器对所述高速缓存存储器的数据的访问次数与从所述高速缓存存储器检索数据的总次数的比率。
3.根据权利要求1所述的***,其中,所述高速缓存存储器包括L1高速缓存和L2高速缓存,并且所述***基于所述L1高速缓存的高速缓存命中率和所述L2高速缓存的高速缓存命中率来确定所述高速缓存存储器的高速缓存命中率。
4.根据权利要求1所述的***,其中,所述***进一步基于所述随机存取存储器或所述高速缓存存储器中被所述处理器访问的数据的大小和所述高速缓存存储器的高速缓存命中率来确定所述随机存取存储器中被所述处理器访问的数据的大小,并且所述***基于所述随机存取存储器中被所述处理器访问的数据的大小来设置所述随机存取存储器的操作频率。
5.根据权利要求4所述的***,其中,在所述随机存取存储器中被所述处理器访问的数据的大小属于多个预设数据大小区段之中的任何一个目标数据大小区段的情况下,所述***将所述随机存取存储器的操作频率设置为与所述目标数据大小区段相对应的操作频率。
6.根据权利要求5所述的***,其中,第一操作频率对应于所述多个数据大小区段之中的第一数据大小区段,第二操作频率对应于所述多个数据大小区段之中的第二数据大小区段,并且
其中所述第一数据大小区段中包括的数据的大小小于所述第二数据大小区段中包括的数据的大小,所述第一操作频率低于所述第二操作频率。
7.根据权利要求6所述的***,其中,第三操作频率对应于所述多个数据大小区段之中的第三数据大小区段,所述第二数据大小区段中包括的数据的大小小于所述第三数据大小区段中包括的数据的大小,所述第二操作频率低于所述第三操作频率。
8.一种方法,包括:
确定高速缓存存储器的高速缓存命中率,所述高速缓存存储器高速缓存待存储在随机存取存储器中的至少部分数据;并且
基于所述高速缓存存储器的高速缓存命中率来设置所述随机存取存储器的操作频率。
9.根据权利要求8所述的方法,其中,所述高速缓存存储器的高速缓存命中率基于以下中的至少一者来确定:(1)在预设时段期间所述高速缓存存储器中被访问的数据的大小与在所述预设时段期间所述随机存取存储器或所述高速缓存存储器中被访问的数据的总大小的比率;(2)在所述预设时段期间对所述高速缓存存储器的数据的访问次数与在所述预设时段期间对所述随机存取存储器或所述高速缓存存储器的数据的访问总次数的比率;和(3)在所述预设时段期间对所述高速缓存存储器的数据的访问次数与在所述预设时段期间从所述高速缓存存储器检索数据的总次数的比率。
10.根据权利要求8所述的方法,其中,所述高速缓存存储器包括L1高速缓存和L2高速缓存,并且所述高速缓存存储器的高速缓存命中率基于所述L1高速缓存的高速缓存命中率和所述L2高速缓存的高速缓存命中率来确定。
11.根据权利要求8所述的方法,其中,基于所述高速缓存存储器的高速缓存命中率来设置所述随机存取存储器的操作频率包括:
基于所述随机存取存储器或所述高速缓存存储器中被访问的数据的大小以及所述高速缓存存储器的高速缓存命中率,确定所述随机存取存储器中被访问的数据的大小;并且
基于所述随机存取存储器中被访问的数据的大小来设置所述随机存取存储器的操作频率。
12.根据权利要求11所述的方法,其中,在所述随机存取存储器中被访问的数据的大小属于多个预设数据大小区段之中的任何一个目标数据大小区段的情况下,将所述随机存取存储器的操作频率设置为与所述目标数据大小区段相对应的操作频率。
13.根据权利要求12所述的方法,其中,第一操作频率对应于所述多个数据大小区段之中的第一数据大小区段,第二操作频率对应于所述多个数据大小区段之中的第二数据大小区段,并且
其中所述第一数据大小区段中包括的数据的大小小于所述第二数据大小区段中包括的数据的大小,所述第一操作频率低于所述第二操作频率。
14.根据权利要求13所述的方法,其中,第三操作频率对应于所述多个数据大小区段之中的第三数据大小区段,所述第二数据大小区段中包括的数据的大小小于所述第三数据大小区段中包括的数据的大小,所述第二操作频率低于所述第三操作频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0092009 | 2021-07-14 | ||
KR1020210092009A KR20230011595A (ko) | 2021-07-14 | 2021-07-14 | 시스템 및 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115617708A true CN115617708A (zh) | 2023-01-17 |
Family
ID=84856586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210056243.1A Pending CN115617708A (zh) | 2021-07-14 | 2022-01-18 | 设置随机存取存储器的操作频率的***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11899584B2 (zh) |
KR (1) | KR20230011595A (zh) |
CN (1) | CN115617708A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5791529B2 (ja) * | 2012-01-19 | 2015-10-07 | ルネサスエレクトロニクス株式会社 | メモリ制御装置及び制御方法並びに情報処理装置 |
US9778871B1 (en) * | 2016-03-27 | 2017-10-03 | Qualcomm Incorporated | Power-reducing memory subsystem having a system cache and local resource management |
US20180024610A1 (en) | 2016-07-22 | 2018-01-25 | Futurewei Technologies, Inc. | Apparatus and method for setting a clock speed/voltage of cache memory based on memory request information |
KR102462507B1 (ko) | 2017-06-29 | 2022-11-02 | 삼성전자주식회사 | 프로세서, 이를 포함하는 컴퓨팅 장치 및 프로세서 저전력 모드 진입 방법 |
-
2021
- 2021-07-14 KR KR1020210092009A patent/KR20230011595A/ko unknown
-
2022
- 2022-01-11 US US17/572,965 patent/US11899584B2/en active Active
- 2022-01-18 CN CN202210056243.1A patent/CN115617708A/zh active Pending
-
2024
- 2024-01-19 US US18/418,115 patent/US20240152456A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230013288A1 (en) | 2023-01-19 |
US11899584B2 (en) | 2024-02-13 |
KR20230011595A (ko) | 2023-01-25 |
US20240152456A1 (en) | 2024-05-09 |
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 | |
US11630764B2 (en) | Memory system, memory controller, and method for operating same | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
US12019891B2 (en) | Memory controller controlling synchronization operation based on fused linked list and operating method thereof | |
US11972127B2 (en) | Memory system executing background operation using external device and operation method thereof | |
US11755248B2 (en) | Memory system and operating method of memory system | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN114530173A (zh) | 存储器***及其操作方法 | |
CN114596898A (zh) | 存储器***及其操作方法 | |
US11899584B2 (en) | System setting operating frequency of random access memory based on cache hit ratio and operating method thereof | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
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 | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US11416401B2 (en) | Memory system and operating method thereof | |
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 | |
US11636007B2 (en) | Memory system and operating method thereof for flushing data in data cache with parity | |
US11995352B2 (en) | Memory controller and operating method thereof | |
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 | |
US20230205687A1 (en) | Controller and operating method thereof | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US20240028210A1 (en) | Memory system for determining read wait time, memory controller, and method for operating memory system |
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 |