CN113778324A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN113778324A CN113778324A CN202110164821.9A CN202110164821A CN113778324A CN 113778324 A CN113778324 A CN 113778324A CN 202110164821 A CN202110164821 A CN 202110164821A CN 113778324 A CN113778324 A CN 113778324A
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- fetch
- memory
- storage device
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及一种数据存储装置,包括:第一存储器装置;第二存储器装置,包括获取区域和预获取区域,该获取区域被配置为存储从第一存储器装置逐出的数据,该预获取区域被划分为多个区段;存储装置;以及控制器,被配置为控制第一存储器装置、第二存储器装置和存储装置。控制器可以包括:存储器管理器,被配置为从存储装置选择具有设置的区段大小的预获取数据,将所选择的预获取数据加载到预获取区域中,并且基于多个区段中的每一个的数据读取命中率来更新预获取数据。
Description
相关申请的交叉引用
本申请要求于2020年6月9日向韩国知识产权局提交的、申请号为10-2020-0069797的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体上涉及一种半导体集成装置,并且更特别地,涉及一种数据存储装置及其操作方法。
背景技术
计算装置可以响应于主机的请求,将数据存储在存储器中或使用存储器中存储的数据来处理命令。
高速缓存存储器可以用于减少处理装置访问存储器中存储的信息所花费的时间。高速缓存存储器可以是高速存储器,该高速存储器存储使用相对频繁或预期使用频繁的指令或数据的副本。
多级高速缓存可以被配置为提供分层访问速度,以进一步减轻可能由处理器和存储器之间的速度差异而引起的时间延迟。
随着主机和处理装置变得更快并且存储器的存储容量增加,需要一种针对被配置为存储处理装置和存储器之间的数据的存储器装置的操作策略。
发明内容
在本公开的实施例中,数据存储装置可以包括:第一存储器装置;第二存储器装置,包括获取区域和预获取区域,该获取区域被配置为存储从第一存储器装置逐出的数据,该预获取区域被划分为多个区段;存储装置;以及控制器,被配置为控制第一存储器装置、第二存储器装置和存储装置。控制器可以包括存储器管理器,该存储器管理器被配置为从存储装置选择具有设置的区段大小的预获取数据,将所选择的预获取数据加载到预获取区域中,并且基于多个区段中的每一个的数据读取命中率来更新预获取数据。
在本公开的实施例中,一种数据存储装置的操作方法,该数据存储装置包括第一存储器装置;第二存储器装置,包括获取区域和预获取区域,该获取区域被配置为存储从第一存储器装置逐出的数据,该预获取区域被划分为多个区段;存储装置;以及控制器,该方法包括:控制器从存储装置选择具有与区段大小相对应的大小的预获取数据,并且将所选择的预获取数据加载到预获取区域中;并且控制器基于多个区段中的每一个的数据读取命中率来更新预获取数据。
在本公开的实施例中,一种数据存储装置可以包括:存储装置;以及控制器,包括第一存储器和第二存储器,并且被配置为控制第一存储器、第二存储器和存储装置,该第二存储器包括第一区域、第二区域以及包括多个区段的第三区域。控制器被配置为:将从第一存储器逐出的数据存储在第一区域中;将从第一区域逐出的数据存储在第二区域中;并且从存储装置选择具有设置的区段大小的预获取数据,并且将该预获取数据加载到第三区域的特定区段中,该特定区段基于数据读取命中率而确定。
下面更详细地描述这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的上述和其它方面、特征以及优点,其中:
图1是示出根据本公开的实施例的数据存储装置的配置的示图;
图2是示出根据本公开的实施例的控制器的配置的示图;
图3是示出根据本公开的实施例的第二存储器装置的配置的示图;
图4是示出根据本公开的实施例的第二存储器装置的配置的示图;
图5是示出根据本公开的实施例的存储器管理器的配置的示图;
图6是说明根据本公开的实施例的数据存储装置的操作方法的流程图;
图7是说明根据本公开的实施例的数据存储装置的操作方法的流程图;
图8是说明根据本公开的实施例的数据存储装置的操作方法的概念图;
图9是示出根据实施例的数据存储***的示图;
图10和图11是示出根据实施例的数据处理***的示图;以及
图12是示出根据实施例的包括数据存储装置的网络***的示图。
具体实施方式
参照附图详细描述了本教导的各个实施例。附图是各个实施例(和中间结构)的框图和示意图。然而,本发明可以与附图所示的方式不同地配置或布置。因此,本发明不限于任何特定配置。相反的,本发明涵盖不脱离所附权利要求书中所限定的本教导的精神和范围的所有变型。
尽管示出并描述了本教导的一些实施例,但是这些实施例并非详尽的。本领域普通技术人员将理解的是,在不脱离本教导的原理和精神的情况下,可以对这些实施例进行改变。
而且,在整个说明书中,对“一个实施例”、“另一实施例”等的引用不一定针对相同的实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文使用的术语“各个实施例”不一定指所有实施例。
图1是示出根据实施例的数据存储装置10的配置的示图。
参照图1,数据存储装置10可以包括控制器110和存储装置120。
控制器110可以响应于主机(未示出)的请求而控制存储装置120。在实施例中,控制器110可以响应于主机的写入请求而控制将数据编程到存储装置120。控制器110可以响应于主机的读取请求而将被写入到存储装置120的数据提供到主机。在实施例中,控制器110可以根据主机的请求使用从主机提供的数据或存储装置120中存储的数据来执行操作,并且可以将作为操作结果得出的数据提供到主机或者将作为操作结果得出的数据存储在存储装置120中。
在实施例中,控制器110可以包括处理器或控制逻辑,或者利用处理器或控制逻辑来实施,该处理器或控制逻辑被配置为处理对数据和指令的访问。
控制器110可以包括第一存储器装置210、第二存储器装置220和存储器管理器(MMU)20。
在实施例中,第一存储器装置210可以是在逻辑上和物理上位于最接近控制器110的处理器处并且以第一速度进行操作的第一级高速缓存存储器L1。在实施例中,第一存储器装置210可以包括易失性存储器装置或非易失性存储器装置。
第二存储器装置220可以是以比第一速度慢的第二速度进行操作的第二级高速缓存存储器L2。在实施例中,第二存储器装置220可以包括易失性存储器装置或非易失性存储器装置。第二存储器装置220可以在逻辑上和物理上位于比第一存储器装置210更远离控制器110的处理器处。在实施例中,第二存储器装置220可以位于第一存储器装置210和存储装置120之间。
存储装置120可以是以比第一速度慢的第三速度进行操作的盘装置(discdevice)。第三速度可以比第二速度快或慢。
存储装置120可以根据控制器110的控制,存储数据或输出所存储的数据。存储装置120可以被配置为易失性存储器装置和/或非易失性存储器装置。在实施例中,非易失性存储器装置可以是诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程只读存储器(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变随机存取存储器(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋扭矩转移磁性RAM(STT-MRAM)。在实施例中,易失性存储器装置可以是诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的各种易失性存储器装置中的任意一种。
存储装置120可以包括多个管芯、多个芯片或多个封装。进一步地,存储装置120可以作为每个存储器单元存储一位数据的单层单元(SLC)组件或每个存储器单元存储多位数据的更多层单元(XLC)组件进行操作。
如上所述,由于第一存储器装置210、第二存储器装置220和存储装置120被配置为具有分层结构,因此控制器110可以通过存储器管理器20管理待存储在存储装置120中的数据。
在实施例中,存储器管理器20可以被配置为在访问存储装置120之前,根据设置的标准将从存储装置120选择的数据加载到第二存储器装置220中。例如,存储器管理器20可以被配置为在访问存储装置120之前从存储装置120预获取所选择的数据。为了容纳预获取的数据,第二存储器装置220的至少一部分,即第二存储器装置220的区域可以被分配为预获取区域。第二存储器装置220的其余区域的至少一部分,即第二存储器装置220的不同区域,可以被分配为获取区域。
存储器管理器20可以管理第二存储器装置220中的被预获取的数据的读取命中率,并且根据数据读取命中率将数据保留在第二存储器装置220中或者从第二存储器装置220逐出该数据。在实施例中,第二存储器装置220的每个区段(即,部分)的命中率可以是对相应的区段的读取访问的次数相对于对所有区段的读取访问的次数,但是本发明不限于此。
在实施例中,可以从第二存储器装置220逐出命中率相对较低的数据,并且可以从存储装置120选择未被高速缓存在第一存储器装置210和第二存储器装置220中的数据,并且将该数据移动到第二存储器装置220中由于数据逐出而形成的空的空间。
在实施例中,存储器管理器20可以随机地选择待预获取到预获取区域中的数据。
在另一实施例中,存储器管理器20可以监控与处理器中正在运行的应用程序相关联的存储器请求,并且通过确定或预测期望由处理器访问的数据来选择待预获取的数据。期望由处理器访问的数据可以是相对于先前访问的数据具有时间或空间局部性的数据,但是本发明不限于此。
因此,可以通过减少由控制器110访问存储装置120以访问处理主机的请求所需的数据的频率,从而提高数据存储装置10的操作速度。
在实施例中,存储器管理器20可以将从第一存储器装置210逐出的第一逐出数据存储在第二存储器装置220中,该第二存储器装置220可以临时保留从第二存储器装置220选择作为逐出目标的第二逐出数据。为此,可以将第二存储器装置220的至少一部分分配为获取区域。获取区域可以包括待存储从第一存储器装置210逐出的第一逐出数据的第一获取区域,以及待存储从第一获取区域逐出的第二逐出数据的第二获取区域。
当将数据高速缓存在第一存储器装置210或第二存储器装置220中时,可以使用在控制器110(具体地是处理器)中运行的应用程序中的索引表来管理数据的高速缓存位置。在实施例中,唯一标识符(ID)可以被分配给第一存储器装置210,以及第二存储器装置220的每个区域(例如,第一获取区域、第二获取区域和预获取区域)。在实施例中,索引表可以是数据的物理地址与高速缓存的存储器装置或高速缓存的区域的ID相互映射的表。在将要访问特定(目标)数据的情况下,当从目标数据的索引获取了存储器装置的ID时,控制器110可以通过访问相应的存储器装置或相应的存储器区域来读取该数据。
因此,可以通过确保从第一存储器装置210逐出到第二存储器装置220的数据在该数据被从第二存储器装置220逐出之前仍然保留在第二存储器装置220中,从而增加待访问的数据的高速缓存命中率。因此,可以减少对以较低速度进行操作的存储装置120的访问频率,从而可以提高数据存储装置10的操作速度。
图2是示出根据实施例的控制器110的配置的示图。
参照图2,控制器110可以包括处理器111、主机接口(IF)113、存储器115、存储器控制器117、第二存储器装置220和存储器管理器20。
处理器111可以包括第一存储器装置210(L1),该第一存储器装置210(L1)被配置为存储用于响应于主机的请求而执行操作的指令和数据。在另一实施例中,第一存储器装置210可以设置在控制器110内,但是在处理器111外部。
在实施例中,第一存储器装置210可以包括诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的存储器电路以及被配置为处理对存储器电路中存储的数据的访问的控制电路。第一存储器装置210可以在逻辑上和物理上位于更接近处理器111处并且以第一速度进行操作。
主机接口113可以根据处理器111的控制从主机接收命令和时钟信号,并且提供用于控制数据输入/输出的通信通道。特别地,主机接口113可以在主机和数据存储装置10之间提供物理连接。主机接口113可以根据主机的总线格式提供数据存储装置10和主机之间的接口连接。主机的总线格式可以包括诸如以下的标准接口协议之中的至少一种:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议和通用闪存(UFS)协议。
用于控制器110的操作的程序代码,例如固件或软件可以被存储在存储器115中。存储器115可以包括:只读存储器(ROM),被配置为存储由程序代码使用的代码数据等;以及作为主存储器的RAM,被配置为存储用于控制器110的操作的数据或由控制器110生成的数据。
存储器控制器117可以提供用于控制器110和存储装置120之间的信号传输和接收的通信通道。存储器控制器117可以根据处理器111的控制将主机的输入数据写入存储装置120。存储器接口可以将从存储装置120读出的数据提供到主机。
存储器管理器20可以处理处理器111的存储器访问请求。处理器111可以将对数据或指令的存储器访问请求传输到存储器管理器20。为了处理主机的存储器访问请求,存储器管理器20可以将相应的存储器访问请求传输到第一存储器装置210、第二存储器装置220、存储器115和存储器控制器117之中的至少一个。在实施例中,基于存储器访问请求,当在第一存储器装置210中未找到数据时,存储器管理器20可以在第二存储器装置220或存储器115中找数据。当在第二存储器装置220或存储器115中未找到数据时,存储器管理器20可以通过存储器控制器117从存储装置120获取数据,并且将所获取的数据传输到处理器111。
存储器管理器20可以执行用于将处理器111用于处理应用程序的虚拟地址转换为物理地址的操作,该物理地址标识数据所位于的物理区域(物理页面)。
为了执行虚拟地址到物理地址的地址转换,存储器管理器20可以使用页面表或者被配置为存储从页面表的条目之中选择的条目的转换后备缓冲器(TLB)。页面表可以包括多个条目,并且多个条目中的每一个可以包括虚拟地址、与该虚拟地址相对应的物理页面地址以及元信息。TLB可以根据设置的标准通过存储页面表的条目中的至少一个来允许高速处理处理器111的存储器请求。
在实施例中,第二存储器装置220可以被划分为获取区域和预获取区域。在实施例中,存储器管理器20可以被配置为将从存储装置120选择的数据预先加载到第二存储器装置220的预获取区域中。
第二存储器装置220的获取区域可以被划分为第一获取区域和第二获取区域,并且存储器管理器20可以将从第一存储器装置210逐出的第一逐出数据存储在第一获取区域中,并且将从第一获取区域逐出的第二逐出数据存储在第二获取区域中。
图3是示出根据实施例的第二存储器装置220-1的配置的示图。
参照图3,第二存储器装置220-1可以被划分为获取区域221和预获取区域223。
从第一存储器装置210逐出的第一逐出数据A、B、C、D、E、F和G可以被存储在获取区域221中。
可以将根据设置的标准从存储装置120随机选择的至少一条数据存储在预获取区域223中。在实施例中,预获取区域223可以被划分为多个区段SEC1至SECm,并且可以从存储装置120读出大小与区段的大小(或容量)相对应的数据,然后将该数据存储在预获取区域223中。可以在制造数据存储装置10时将区段的大小设置为默认单位值,并且可以由用户进行调整。存储器管理器20可以基于预获取区域223的每个区段的命中率来更新预获取数据。
由于存储装置120中存储的数据被预先加载到预获取区域223中,因此可以减少对存储装置120的访问频率,从而可以提高数据存储装置10的操作速度。
图4是示出根据实施例的第二存储器装置220-2的配置的示图。
参照图4,第二存储器装置220-2可以被划分为获取区域221和预获取区域223。获取区域221可以被划分为第一获取区域2211和第二获取区域2213。
从第一存储器装置210逐出的第一逐出数据A、B、C和D可以被存储在第一获取区域2211中。从第一获取区域2211逐出的第二逐出数据B和D可以被存储在第二获取区域2213中。
从第一获取区域2211逐出的第二逐出数据B和D可以不直接从第二存储器装置220-2逐出;相反,第二逐出数据B和D可以保留在第二获取区域2213中。因此,可以减少对存储装置120的访问频率。
进一步地,可以使用在控制器110(具体地是处理器)中运行的应用程序中的索引表来管理数据被存储在第二存储器装置200、200-1、200-2的每个区域中时的高速缓存位置。
当从页面表获取物理页面地址并且在第一存储器装置210中找到数据时,存储器管理器20可以将读取数据提供到处理器111。当在第一存储器装置210中未找到数据时,存储器管理器20可以基于索引表来确定第二存储器装置200中是否存在待访问的数据,并且确定待访问的数据在第二存储器装置220中的哪个区域中,并且可以通过访问相应的区域来读取数据。当在第二存储器装置220中未找到数据时,存储器管理器20可以从存储器115的主存储器区域或者存储装置120读取数据,并且将读取数据传送到处理器111。
图5是示出根据实施例的存储器管理器20的配置的示图。
参照图5,存储器管理器20可以包括地址转换器201、预获取区域管理器203和获取区域管理器205。
地址转换器201可以执行将处理器111用于处理应用程序的虚拟地址转换为物理地址的操作,该物理地址标识数据所位于的位置。在实施例中,地址转换器201可以使用页面表或TLB将虚拟地址转换为物理地址,但是本发明不限于此。
当将数据高速缓存到第一存储器装置210或第二存储器装置220中时,可以使用在控制器110(具体地是处理器111)中运行的应用程序中的索引表来管理数据的高速缓存位置。在实施例中,唯一ID可以被分配给第一存储器装置210,以及第二存储器装置220的每个区域(例如,第一获取区域、第二获取区域和预获取区域),并且数据的物理地址与高速缓存的存储器装置或高速缓存的区域的ID可以在索引表中相互映射。
预获取区域管理器203可以被配置为根据设置的标准从存储装置120选择大小与区段大小相对应的数据。进一步地,预获取区域管理器203可以预获取所选择的数据,并且基于预获取区域223的每个区段的命中率来更新预获取数据。
在实施例中,预获取区域管理器203可以包括区段管理器2031、牺牲区段选择器2033和预获取器2035。
区段管理器2031可以管理预获取区域223中的每个区段的数据预获取/数据不预获取,以及预获取了数据的区段的命中率。当处理器111访问预获取了数据的区段中的数据时,可以更新相应的区段的命中率。
唯一ID可以被分配给预获取区域,并且在处理器111中运行的应用程序可以使用索引表来管理将特定数据高速缓存在预获取区域中。索引表可以将数据的物理地址映射到高速缓存的存储器装置或高速缓存的区域的ID。
牺牲区段选择器2033可以基于区段管理器2031的每个区段的命中率来选择命中率小于参考值VREF的至少一个区段作为牺牲区段。进一步地,牺牲区段选择器2033可以将牺牲区段切换或改变为空区段,并且向区段管理器2031报告牺牲区段的切换。
当通过区段管理器2031确定存在空区段时,预获取器2035可以根据设置的标准从存储装置120读取大小与区段的单位大小相对应的数据。进一步地,预获取器2035可以将读取数据存储在空区段中,并且向区段管理器2031报告读取数据的存储。
获取区域管理器205可以根据第一存储器装置210的剩余容量,将从第一存储器装置210逐出的第一逐出数据存储在第一获取区域2211中。进一步地,获取区域管理器205可以根据第一获取区域2211的剩余容量,将从第一获取区域2211逐出的第二逐出数据存储在第二获取区域2213中。进一步地,获取区域管理器205可以被配置为根据第二获取区域2213的剩余容量,将从第二获取区域2213选择的数据从第二存储器装置220逐出。
在实施例中,获取区域管理器205可以包括容量管理器2051和数据逐出器2053。
容量管理器2051可以被配置为确定第一存储器装置210的剩余容量,以及第二存储器装置220的第一获取区域2211和第二获取区域2213的剩余容量。
当第一存储器装置210的剩余容量小于由容量管理器2051确定的第一阈值TH1时,数据逐出器2053可以将牺牲数据(例如,根据设置的标准从第一存储器装置210选择的第一逐出数据)存储在第一获取区域2211中。当第一获取区域2211的剩余容量小于由容量管理器2051确定的第二阈值TH2时,数据逐出器2053可以将牺牲数据(例如,根据设置的标准从第一获取区域2211选择的第二逐出数据)存储在第二获取区域2213中。进一步地,数据逐出器2053可以被配置为当第二获取区域2213的剩余容量小于由容量管理器2051确定的第三阈值TH3时,逐出牺牲数据(例如,根据设置的标准从第二获取区域2213选择的第三逐出数据)。
数据逐出器2053可以使用最近最少使用(LRU)或各种其它合适的策略来选择第一逐出数据至第三逐出数据。
唯一ID可以被分配给第一存储器装置210、第一获取区域2211和第二获取区域2213中的每一个。当将数据的高速缓存位置改变为第一存储器装置210、第一获取区域2211或第二获取区域2213时,在处理器111中运行的应用程序可以使用索引表来管理将特定数据高速缓存在第一存储器装置210和第二存储器装置220中哪里,例如哪个区域。
图6是说明根据实施例的数据存储装置的例如读取操作方法的操作方法的流程图。
参照图6,当处理器111响应于主机的请求而运行应用程序时,处于待机状态(S101)的控制器110可以接收读取命令(S103)。响应于读取命令,控制器110可以通过存储器管理器20的地址转换器201提取与读取请求的虚拟地址相对应的物理页面地址。
控制器110可以确定第一存储器装置(L1)210中是否存在所提取的物理页面地址的数据(S105)。当确定第一存储器装置210中存在该数据(即,L1命中)(S105:是)时,控制器110可以从第一存储器装置210读取该数据并输出读取数据(S107)。
当确定第一存储器装置210中不存在所提取的物理页面地址的数据(S105:否)时,控制器110可以基于由处理器111中运行的应用程序管理的索引表来确定获取区域221中是否存在相应的数据(S109)。当确定获取区域221中存在相应的数据(即,获取区域命中)(S109:是)时,控制器110可以从获取区域221读取该数据并输出读取数据(S107)。
当确定获取区域221中不存在相应的数据(S109:否)时,控制器110可以基于索引表来确定预获取区域223中是否存在相应的数据(S111)。
当确定预获取区域223中不存在待读取的数据(S111:否)时,控制器110可以从存储装置120读取该数据(S113)并输出读取数据(S107)。
当确定预获取区域223中存在待读取的数据(即,预获取区域命中)(S111:是)时,控制器110可以从预获取区域223读取该数据并输出读取数据(S115)。
当从预获取区域223读出数据时,控制器110的存储器管理器20可以更新存储了该读取数据的区段的命中率(S117)。
存储器管理器20可以基于每个区段更新后的命中率来选择命中率小于参考值REF的至少一个区段作为牺牲区段,并且将所选择的牺牲区段切换或改变为空区段(S119)。控制器110的存储器管理器20可以根据设置的标准从存储装置120选择并读取大小与区段的单位大小相对应的数据,并且将读取数据预获取到空区段中(S121)。
图7是说明根据实施例的数据存储装置的例如管理第一存储器装置210和第二存储器装置220的方法的操作方法的流程图。
参照图7,根据针对第一存储器装置210和第二存储器装置220设置的频率或者所生成的容量管理事件,控制器110可以确定或检查第一存储器装置210的剩余容量(S201)。
当第一存储器装置210(即,L1)的剩余容量小于第一阈值TH1(S203:是)时,控制器110可以根据设置的标准或合适的策略从第一存储器装置210选择例如第一逐出数据的牺牲数据(S205),并且将所选择的第一逐出数据存储在第一获取区域2211中(S207)。
当第一获取区域2211的剩余容量小于第二阈值TH2(S209:是)时,控制器110可以根据设置的标准从第一获取区域2211选择例如第二逐出数据的牺牲数据(S211),并且将所选择的第二逐出数据存储在第二获取区域2213中(S213)。
当第二获取区域2213的剩余容量小于第三阈值TH3(S215:是)时,控制器110可以根据设置的标准从第二获取区域2213选择例如第三逐出数据的牺牲数据(S217),并且逐出所选择的第三逐数据(S219)。
控制器110可以使用最近最少使用(LRU)或各种其它合适的策略来选择第一逐出数据至第三逐出数据。
唯一ID可以被分配给第一存储器装置210、第一获取区域2211和第二获取区域2213中的每一个。当将数据的高速缓存位置改变为第一存储器装置210、第一获取区域2211或第二获取区域2213时,在处理器111中运行的应用程序可以使用索引表来管理将特定数据高速缓存在第一存储器装置210和第二存储器装置220中哪里、哪个区域。
当第一存储器装置210(即,L1)的剩余容量大于或等于第一阈值TH1(S203:否)时,当第一获取区域2211的剩余容量大于或等于第二阈值TH2(S209:否)时,或者当第二获取区域2213的剩余容量大于或等于第三阈值TH3(S215:否)时,控制器110可以终止管理操作并返回到确定容量的操作S201。
图8是说明根据实施例的数据存储装置的操作方法的概念图。
参照图8,当数据A、B、C、D、E、F、G、H和I被存储在第一存储器装置(即,L1)210中并且第一存储器装置210的剩余容量小于第一阈值TH1时,控制器110可以从第一存储器装置(L1)210选择数据B、C、E、G、I和H作为第一逐出数据并从第一存储器装置210逐出第一逐出数据B、C、E、G、I和H,并且将这些数据传送到第一获取区域2211。因此,可以确保第一存储器装置210的容量至少具有阈值容量(参见图7的操作S207)。
当随着数据被连续地高速缓存在第一获取区域2211中而使得第一获取区域2211的剩余容量小于第二阈值TH2时,控制器110可以从第一获取区域2211选择数据B、C和H作为第二逐出数据并将该第二逐出数据从第一获取区域2211逐出到第二获取区域2213。因此,可以确保第一获取区域2211的容量至少具有阈值容量(参见图7的操作S213)。
当随着数据被连续地高速缓存在第二获取区域2213中而使得第二获取区域2213的剩余容量小于第三阈值TH3时,控制器110可以从第二获取区域2213选择数据H作为第三逐出数据并将该第三逐出数据从第二获取区域2213逐出到存储装置120。因此,可以确保第二获取区域2213的容量至少具有阈值容量(参见图7的操作S219)。
控制器110可以从存储装置120选择大小与区段大小相对应的数据,并且将所选择的数据预先加载到预获取区域223中(参见图6的操作S119)。
根据本技术,可以在访问存储装置中存储的数据之前预先加载(预获取)该数据,因此可以增加高速缓存区域的数据命中率。
进一步地,在将牺牲数据逐出到存储装置之前,将牺牲数据再次保留在高速缓存区域,从而可以提高数据输入/输出速度。
图9是示出根据实施例的数据存储***1000的示图。
参照图9,数据存储***1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被配置为固态驱动器(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
控制器1210可以控制数据存储装置1200的一般操作。控制器1210可以包括主机接口电路、控制电路、用作工作存储器的随机存取存储器、错误检查和校正(ECC)电路以及存储器接口电路。在实施例中,控制器1210可以被配置为图1和图2所示的控制器110。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。信号可以包括命令、地址、数据等。
控制器1210可以对从主机装置1100接收的信号进行分析和处理。控制器1210可以根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。进一步地,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个中读取的数据。可以根据控制器1210的控制将临时存储在缓冲存储器装置1230中的数据传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到相同通道。联接到相同通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力提供到数据存储装置1200的控制器1210、非易失性存储器装置1220-0至1220-n和缓冲存储器装置1230。电源1240可以包括辅助电源。辅助电源可以在发生电力突然中断时供应电力以允许数据存储装置1200正确终止。辅助电源可以包括足以存储所需电荷的大容量电容器。
根据主机装置1100和数据存储装置1200之间的接口方案,信号连接器1101可以被配置为各种类型的连接器中的一种或多种。
根据主机装置1100的电力供应方案,电源连接器1103可以被配置为各种类型的连接器中的一种或多种。
图10是示出根据实施例的数据处理***3000的示图。参照图10,数据处理***3000可以包括主机装置3100和存储器***3200。
主机装置3100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器***3200可以与连接端子3110配合。
存储器***3200可以以诸如印刷电路板的板的形式配置。存储器***3200可以被称为存储器模块或存储卡。存储器***3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制存储器***3200的一般操作。控制器3210可以以与图1和图2所示的控制器110相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,可以将临时存储在缓冲存储器装置3220中的数据传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器***3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到存储器***3200的内部。PMIC 3240可以根据控制器3210的控制来管理存储器***3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和存储器***3200之间传送诸如命令、地址、数据等的信号以及电力。根据主机装置3100和存储器***3200之间的接口方案,连接端子3250可以被配置为各种类型中的一种或多种。如图所示,连接端子3250可以被设置在存储器***3200的一侧。
图11是示出根据实施例的数据处理***4000的示图。参照图11,数据处理***4000可以包括主机装置4100和存储器***4200。
主机装置4100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器***4200可以以表面安装型封装的形式配置。存储器***4200可以通过焊球4250安装到主机装置4100。存储器***4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器***4200的一般操作。控制器4210可以以与图1和图2所示的控制器110相同的方式配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。根据控制器4210的控制,可以将临时存储在缓冲存储器装置4220中的数据传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器***4200的存储介质。
图12是示出根据实施例的包括数据存储装置的网络***5000的示图。参照图12,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410、5420和5430。
服务器***5300可以响应于来自多个客户端***5410至5430的请求而服务数据。例如,服务器***5300可以存储由多个客户端***5410至5430提供的数据。再例如,服务器***5300可以向多个客户端***5410至5430提供数据。
服务器***5300可以包括主机装置5100和存储器***5200。存储器***5200可以被配置为图1所示的数据存储装置10、图9所示的数据存储装置1200、图10所示的存储器***3200或图11所示的存储器***4200。
本发明的上述实施例旨在说明而非限制本发明。各种替代方案和等同方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。鉴于本公开,其它增加、减少或修改对于本领域技术人员将是显而易见的,并且旨在落入所附权利要求书的范围内。
Claims (15)
1.一种数据存储装置,包括:
第一存储器装置;
第二存储器装置,包括获取区域和预获取区域,所述获取区域存储从所述第一存储器装置逐出的数据,所述预获取区域被划分为多个区段;
存储装置;以及
控制器,控制所述第一存储器装置、所述第二存储器装置和所述存储装置,
其中所述控制器包括:存储器管理器,从所述存储装置选择具有设置的区段大小的预获取数据,将所选择的预获取数据加载到所述预获取区域中,并且基于所述多个区段中的每一个的数据读取命中率来更新所述预获取数据。
2.根据权利要求1所述的数据存储装置,其中所述第一存储器装置以第一速度进行操作,所述第二存储器装置以第二速度进行操作,并且所述存储装置以第三速度进行操作,所述第二速度比所述第一速度慢,所述第三速度比所述第一速度慢。
3.根据权利要求1所述的数据存储装置,其中所述存储器管理器包括:
牺牲区段选择器,选择所述数据读取命中率小于参考值的至少一个区段作为牺牲区段,并且将所述牺牲区段改变为空区段;以及
预获取器,从所述存储装置选择所述预获取数据,并且当确定存在所述空区段时,将所选择的预获取数据加载到所述空区段中。
4.根据权利要求1所述的数据存储装置,其中所述预获取数据是随机选择的。
5.根据权利要求1所述的数据存储装置,其中所述控制器响应于主机的读取请求,以所述第一存储器装置、所述获取区域和所述预获取区域以及所述存储装置的顺序访问所述第一存储器装置、所述获取区域和所述预获取区域以及所述存储装置,直到找到请求读取的数据。
6.根据权利要求1所述的数据存储装置,其中所述获取区域包括第一获取区域和第二获取区域,并且
所述存储器管理器将从所述第一存储器装置逐出的第一逐出数据存储在所述第一获取区域中,将从所述第一获取区域逐出的第二逐出数据存储在所述第二获取区域中,并且从所述第二存储器装置逐出第三逐出数据,所述第三逐出数据从所述第二获取区域选择。
7.根据权利要求6所述的数据存储装置,其中当所述第一存储器装置的剩余容量小于第一阈值时,所述存储器管理器从所述第一存储器装置选择所述第一逐出数据,并且从所述第一存储器装置逐出所选择的第一逐出数据,并且将所选择的第一逐出数据传送到所述第一获取区域;当所述第一获取区域的剩余容量小于第二阈值时,从所述第一获取区域选择所述第二逐出数据,并且从所述第一获取区域逐出所选择的第二逐出数据,并且将所选择的第二逐出数据传送到所述第二获取区域;并且当所述第二获取区域的剩余容量小于第三阈值时,从所述第二获取区域选择所述第三逐出数据,并且从所述第二存储器装置逐出所选择的第三逐出数据。
8.一种数据存储装置的操作方法,所述数据存储装置包括:第一存储器装置;第二存储器装置,包括获取区域和预获取区域,所述获取区域存储从所述第一存储器装置逐出的数据,所述预获取区域被划分为多个区段;存储装置;以及控制器,所述方法包括:
所述控制器从所述存储装置选择具有与区段大小相对应的大小的预获取数据,并且将所选择的预获取数据加载到所述预获取区域中;并且
所述控制器基于所述多个区段中的每一个的数据读取命中率来更新所述预获取数据。
9.根据权利要求8所述的方法,其中所述第一存储器装置以第一速度进行操作,所述第二存储器装置以第二速度进行操作,并且所述存储装置以第三速度进行操作,所述第二速度比所述第一速度慢,所述第三速度比所述第一速度慢。
10.根据权利要求8所述的方法,进一步包括:
所述控制器选择所述数据读取命中率小于参考值的至少一个区段作为牺牲区段;
所述控制器将所述牺牲区段改变为空区段;并且
当确定存在所述空区段时,所述控制器从所述存储装置选择所述预获取数据,并且将所选择的预获取数据加载到所述空区段中。
11.根据权利要求8所述的方法,其中所述预获取数据是随机选择的。
12.根据权利要求8所述的方法,进一步包括:所述控制器响应于主机的读取请求,以所述第一存储器装置、所述获取区域和所述预获取区域以及所述存储装置的顺序访问所述第一存储器装置、所述获取区域和所述预获取区域以及所述存储装置,直到找到请求读取的数据。
13.根据权利要求8所述的方法,其中:
所述获取区域包括第一获取区域和第二获取区域,并且
所述控制器将从所述第一存储器装置逐出的第一逐出数据存储在所述第一获取区域中,所述控制器将从所述第一获取区域逐出的第二逐出数据存储在所述第二获取区域中,并且从所述第二存储器装置逐出第三逐出数据,所述第三逐出数据从所述第二获取区域选择。
14.根据权利要求13所述的方法,其中:
在所述第一获取区域中的存储包括:当所述第一存储器装置的剩余容量小于第一阈值时,从所述第一存储器装置选择所述第一逐出数据,并且从所述第一存储器装置逐出所选择的第一逐出数据,并且将所选择的第一逐出数据传送到所述第一获取区域,
在所述第二获取区域中的存储包括:当所述第一获取区域的剩余容量小于第二阈值时,从所述第一获取区域选择所述第二逐出数据,并且从所述第一获取区域逐出所选择的第二逐出数据,并且将所选择的第二逐出数据传送到所述第二获取区域,并且
从所述第二存储器装置的逐出包括:当所述第二获取区域的剩余容量小于第三阈值时,从所述第二获取区域选择所述第三逐出数据,并且从所述第二存储器装置逐出所选择的第三逐出数据。
15.一种数据存储装置,包括:
存储装置;以及
控制器,包括第一存储器和第二存储器,并且控制所述第一存储器、所述第二存储器和所述存储装置,所述第二存储器包括第一区域、第二区域以及包括多个区段的第三区域,
其中所述控制器:
将从所述第一存储器逐出的数据存储在所述第一区域中;
将从所述第一区域逐出的数据存储在所述第二区域中;并且
从所述存储装置选择具有设置的区段大小的预获取数据,并且将所述预获取数据加载到所述第三区域的特定区段中,所述特定区段基于数据读取命中率而确定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200069797A KR20210152831A (ko) | 2020-06-09 | 2020-06-09 | 데이터 저장 장치 및 그 동작 방법 |
KR10-2020-0069797 | 2020-06-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778324A true CN113778324A (zh) | 2021-12-10 |
Family
ID=78817512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110164821.9A Withdrawn CN113778324A (zh) | 2020-06-09 | 2021-02-05 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11513960B2 (zh) |
KR (1) | KR20210152831A (zh) |
CN (1) | CN113778324A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11989142B2 (en) * | 2021-12-10 | 2024-05-21 | Samsung Electronics Co., Ltd. | Efficient and concurrent model execution |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106496A1 (en) * | 2007-10-19 | 2009-04-23 | Patrick Knebel | Updating cache bits using hint transaction signals |
US8949579B2 (en) * | 2010-10-04 | 2015-02-03 | International Business Machines Corporation | Ineffective prefetch determination and latency optimization |
KR101891265B1 (ko) | 2015-05-19 | 2018-08-24 | 한양대학교 산학협력단 | 비휘발성 메모리를 사용하는 캐시의 관리 장치 및 방법 |
WO2019127487A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 一种数据预取方法、装置和存储设备 |
-
2020
- 2020-06-09 KR KR1020200069797A patent/KR20210152831A/ko unknown
-
2021
- 2021-01-13 US US17/148,202 patent/US11513960B2/en active Active
- 2021-02-05 CN CN202110164821.9A patent/CN113778324A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20210152831A (ko) | 2021-12-16 |
US11513960B2 (en) | 2022-11-29 |
US20210382824A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8443144B2 (en) | Storage device reducing a memory management load and computing system using the storage device | |
US8918580B2 (en) | Storage device with buffer memory including non-volatile RAM and volatile RAM | |
US20170235681A1 (en) | Memory system and control method of the same | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
US11526296B2 (en) | Controller providing host with map information of physical address for memory region, and operation method thereof | |
WO2010118230A1 (en) | Host control of background garbage collection in a data storage device | |
US11200178B2 (en) | Apparatus and method for transmitting map data in memory system | |
US11422930B2 (en) | Controller, memory system and data processing system | |
US20210096761A1 (en) | Memory system and operating method thereof | |
US20210334029A1 (en) | Data storage apparatus and operation method thereof | |
CN113614702A (zh) | 基于检测到的读取命令活跃流的自适应预读高速缓存管理器 | |
US11513960B2 (en) | Data storage device and operating method thereof | |
CN114600092A (zh) | 用于混合dimm中的非易失性存储器的低延时高速缓存 | |
CN114546249B (zh) | 数据存储装置及其操作方法 | |
US11416410B2 (en) | Memory system, method of operating the same and data processing system for supporting address translation using host resource | |
US11775212B2 (en) | Data storage device and operating method thereof | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
CN113535604B (zh) | 存储器*** | |
US11321243B2 (en) | Data storage device including a semiconductor device managing address mapping of a semiconductor memory device | |
US20240201867A1 (en) | Storage device supporting trim operation and storage system including the same | |
JP2022144314A (ja) | メモリシステム及びストレージ装置 | |
CN114764307A (zh) | 计算机***及其数据管理方法 | |
TW202318205A (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: 20211210 |
|
WW01 | Invention patent application withdrawn after publication |