CN107203334A - 混合存储器件及其操作方法 - Google Patents
混合存储器件及其操作方法 Download PDFInfo
- Publication number
- CN107203334A CN107203334A CN201610903938.3A CN201610903938A CN107203334A CN 107203334 A CN107203334 A CN 107203334A CN 201610903938 A CN201610903938 A CN 201610903938A CN 107203334 A CN107203334 A CN 107203334A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- aggrieved
- memory part
- page
- 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
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/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
- 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
- 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/0815—Cache consistency protocols
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/0877—Cache access modes
- G06F12/0882—Page 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Abstract
一种存储器件可以包括:数据判断单元,用于从主存储器件接收页数据并基于页数据的标记信息在第一数据与第二数据之间进行区分;索引管理单元,用于存储第一数据的索引;第一高速缓存,用于存储第二数据,并将第一受害数据写回到主存储器件,其中在第一高速缓存已满时第一受害数据被选中;以及第二高速缓存,用于在第一受害数据的写入计数小于第一阈值时存储从第一高速缓存传送来的第一受害数据,将第二受害数据的标记信息更新为指示第一数据的值,其中在第二高速缓存已满时第二受害数据被选中,以及将第二受害数据存储在主存储器件中。
Description
相关申请的交叉引用
本申请主张于2016年3月17日向韩国知识产权局提交的韩国专利申请第10-2016-0032301号的优先权,该案的全部内容通过引用其整体并入本文中。
技术领域
本申请各实施例总体而言涉及一种半导体设计技术,且更具体地,涉及一种能够管理冷数据和热数据的混合存储器件。
背景技术
半导体存储器件通常分为易失性存储器件和非易失性存储器件。
易失性存储器件具有高的写入读取速度,但是当对该器件的电力供应切断时会丢失其中所存储的数据。易失性存储器件的示例包括动态随机存取存储器(DRAM)、静态RAM(SRAM)等。非易失性存储器件具有较之于易失性存储器件相对更低的写入读取速度,但是即使在对该器件的电力供应切断时仍能保持其中所存储的数据。因此,非易失性存储器件一般用于存储不论电力供应如何都需要保持的数据。非易失性存储器件的示例包括只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、相变随机存取存储器(PCRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)以及铁电RAM(FRAM)。
存储系统可以包括可以供使用者使用的各种类型的存储器。RAM是一种典型的用于在计算机系统中频繁的读取写入操作的高速存取存储器。RAM的示例可以包括DRAM、SRAM、自旋力矩转移随机存取存储器(STT-RAM)以及PCRAM。如今,对于从手持式器件到大型数据中心的所有类型的计算设备来说,RAM都是必需品。
在时延/性能、容量和能耗方面,各种存储器都有其优点和缺点。例如,尽管PCRAM是非易失性存储器件,但是DRAM是易失性存储器件。一般来说,PCRAM比DRAM具有更好的可扩展性。另一方面,DRAM比PCRAM具有高得多的写入速度和略微更高的读取速度。另外,PCRAM在写入操作期间使用大量的能量,且具有有限的写入持久性。近来,提出一种混合存储器件,其包括易失性存储器件和非易失性存储器件,并且表现出易失性存储器件的优点和非易失性存储器件的优点。
发明内容
本发明各实施例涉及一种在混合存储器件中使用高速缓存管理热数据和冷数据的方法。
在一实施例中,一种存储器件可以包括:数据判断单元,适于从主存储器件接收页数据并基于页数据的标记信息判断页数据包括第一数据还是第二数据;索引管理单元,适于如果确定页数据包括第一数据则存储第一数据的索引;第一高速缓存,适于如果确定页数据包括第二数据则存储第二数据并将第一受害数据写回到主存储器件,在第一高速缓存已满时第一受害数据被选中;以及第二高速缓存,适于存储在第一受害数据的写入计数低于第一阈值时存储从第一高速缓存传送来的第一受害数据,将第二受害数据的标记信息更新到指示第一数据的值,其中在第二高速缓存已满时第二受害数据被选中,以及将第二受害数据存储在主存储器件中。
在一实施例中,一种混合存储器件可以包括:第一存储器件,适于存储包含页信息和标记信息的页数据;控制逻辑,适于从第一存储器件接收页数据,基于页数据的标记信息判断页数据包括冷数据还是正常数据以及存储和管理冷数据的索引;以及第二存储器件,以不同于第一存储器件的操作速度来访问,并适于存储正常数据并根据所存储的正常数据的写入计数来更新在第一存储器件中所存储的页数据的标记信息。
在一个实施例中,提供一种混合存储器件的操作方法,该混合存储器件包括第一存储器件和第二存储器件,所述第一存储器件适于存储包含页信息和标记信息的页数据,所述第二存储器件以不同于第一存储器件的操作速度来访问且包括第一高速缓存和第二高速缓存。该操作方法可以包括:从第一存储器件接收页数据,并基于页数据的标记信息来判断页数据包括第一数据还是第二数据;如果确定页数据包括第一数据则存储第一数据的索引;如果确定页数据包括第二数据则将第二数据存储在第一高速缓存中,并将第一受害数据写回到第一存储器件,其中当第一高速缓存已满时从在第一高速缓存中存储的数据中选择第一受害数据;以及当第一受害数据的写入计数低于第一阈值时将从第一高速缓存传送来的第一受害数据存储在第二高速缓存中,将第二受害数据的标记信息更新到指示第一数据的值,其中当第二高速缓存已满时从在第二高速缓存中存储的数据中选择第二受害数据,以及将第二受害数据存储在第一存储器件中。
附图说明
通过结合附图详细描述本发明各实施例,本发明的上述和其他特征和优点对于本发明所属领域的技术人员将变得更加一目了然,其中:
图1是示出根据本发明一实施例的包括混合存储器件的存储系统的方框图。
图2是示出包括最近最少使用(LRU)高速缓存的混合存储器件的方框图。
图3A和图3B是示出根据本发明一实施例的页配置的图。
图4是根据本发明一实施例的混合存储器件的方框图。
图5A和图5B是分别示出图4中的数据判断单元的操作的方框图和流程图。
图6A和图6B是分别示出图4中的最近最少使用(LRU)高速缓存的第一操作的方框图和流程图。
图7A和图7B是分别示出图4中的冷数据候选高速缓存的第一操作的方框图和流程图。
图8A和图8B是分别示出图4中的冷数据索引管理单元的操作和最近最少使用(LRU)高速缓存的第二操作的方框图和流程图。
图9A和图9B是分别示出图4中的冷数据候选高速缓存的第二操作的方框图和流程图。
图10是示出包括图4中示出的混合存储器件的存储系统的方框图。
图11是示出根据本发明一实施例的图10中示出的存储系统的应用示例的方框图。
图12是示出根据本发明一实施例的包括图11中示出的存储系统的计算系统的方框图。
具体实施方式
下文将参照附图更详细描述各个实施例。但是,本发明可以体现为不同形式,且不应被理解为受限于本文所阐述实施例。相反,提供这些实施例使得本公开将是彻底且完整,且能将本发明的范围充分地传达给本领域技术人员。贯穿本发明,在本发明的各个附图中和实施例中,相同的附图指相同的部分。还应注意到,在本说明书中,“连接/耦接”不仅指一个元件直接耦接到另一元件,还指一个元件通过中间组件间接耦接到另一元件。应理解,尽管本文中可以使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一个元件相区分。因此,在不偏离本发明精神和范围的前提下,第一元件可以被称为第二元件或第三元件。此外,还应理解,当将一个元件被称作在两个元件“之间”时,其可以是在该两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。
还应理解,术语“包含”、“包含有”、“包括”、“包括有”在本说明书中使用时,表示所列元件的存在,但并不排除一个或更多个其他元件的存在或添加。
本文使用术语仅是出于描述特定实施例,并非用于限制本发明。除非另有定义,否则包含科学术语和技术术语在内的所有术语具有与本发明所属领域的技术人员在本公开启发下所通常理解的含义相同的含义。还应进一步理解,术语,诸如在常用词典中所定义的术语,应理解为具有与其在本公开和相关技术背景中的含义相一致的含义,不应以理想化或过于形式化来理解,除非文中明确如此定义。
在以下描述中,将阐述许多特定细节来提供对本发明的彻底理解。也可以在不包含这些特定细节的一些或全部的情况下实践本发明。在其他例子中,没有详细描述熟知的工艺结构和/或工艺以不必要地使本发明模糊。
下文中将参照附图详细描述本发明各实施例。
现在参照图1,提供根据本发明一实施例的存储系统100。
根据图1中的实施例,存储系统100包括混合存储器件150和存储器控制器130。存储器件150可以存储由与存储系统100耦接的主机(未示出)所访问的数据。存储器控制器130可以控制混合存储器件150的数据存储。
存储器控制器130可以响应于来自主机的请求将命令CMD、地址ADDR和数据提供给混合存储器件150,并控制混合存储器件150的读取操作、写入操作、编程操作和擦除操作。例如,存储器控制器130可以将从混合存储器件150读取的数据提供给主机,并将从主机提供的数据存储在混合存储器件150中。
混合存储器件150可以从存储器控制器130接收命令CMD、地址ADDR和数据DATA。命令CMD可以是例如写入命令。当接收到与写入命令对应的命令CMD时,混合存储器件150可以将数据DATA写入到与地址ADDR对应的存储区域。命令CMD还可以是例如读取命令。当接收到与读取命令对应的命令CMD时,混合存储器件150可以从与地址ADDR对应的存储区域读取数据DATA,并将所读取的数据传送给存储器控制器130。
混合存储器件150可以包括易失性存储器件(VM)152和非易失性存储器件(NVM)154,如图1所示。VM 152和NVM 154中的每一者可以作为独立的半导体芯片来操作,并且,混合存储器件150可以是或包括多芯片封装体(MCP)。VM 152可以是或包括动态随机存取存储器(DRAM),和/或静态RAM(SRAM)。NVM 154可以是或包括只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PCRAM)、自旋力矩转移RAM(STT-RAM)、电阻式RAM(RRAM)、快闪存储器等。在一些实施例中,VM 152可以使用DRAM来实施,NVM 154可以使用PCRAM来实施。
一般来说,与DRAM相比,PCRAM具有更优的可扩展性,但是更低的写入/读取速度。另外PCRAM在写入操作期间使用大量的能量,并且具有有限的写入持久性。因此,在一些实施例中,混合存储器件150可以使用以PCRAM实施的低速NVM 154作为主存储器,并使用以DRAM实施的高速VM 152作为缓冲存储器。
存储系统可以在将数据存储在主存储器之前将数据存储在高速缓存存储器中,从而减少合并操作或块擦除操作的数量。例如,VM 152可以是被用作高速缓存存储器的DRAM,而NVM 154可以是PCRAM。因此,例如,存储系统可以将被频繁查阅的数据存储在被用作高速缓存存储器的高速VM器件152(例如,DRAM),并且因此可以减少对于低速NVM 154(例如,PCRAM)访问的数量,从而改善总体存储系统的性能。由于高速缓存存储器具有有限空间,所以高速缓存存储器可能需要在高速缓存存储器已满时擦除已有数据,以便载入新数据。对于该操作,通过使用高速缓存替换策略(诸如最近最少使用(LRU)或先入先出(FIFO)方案),该高速缓存存储器可以擦除被查阅可能性较少的数据或者将被查阅可能性较少的数据写回到主存储器,以及将对应空间的数据用新数据来替换。
混合存储器件150可以使用相对高速VM 152来作为NVM 154的高速缓存存储器,或者将VM 152的一部分分配到NVM 154的高速缓存存储区域。
下文中,将参考附图来描述混合存储器件,其包括根据LRU列表操作的高速缓存(下文中称作“LRU”高速缓存)。
图2是示出包括最近最少使用(LRU)高速缓存212的混合存储器件200的方框图。
参见图2,混合存储器件200可以使用相对高速易失性存储器件(VM)210的一部分来作为非易失性存储器件(NVM)220的高速缓存存储器。例如,VM 210可以包括基于最近最少使用(LRU)列表操作的LRU高速缓存212,并且,NVM 220可以控制LRU高速缓存212来管理被频繁查阅的数据,从而改善操作速度。在一个实施例中,该LRU列表可以被存储在VM 210中。
在数据是基于页来管理的假设下,当LRU高速缓存212已满时,LRU高速缓存212可以执行页替换操作。该页替换操作可以包括基于该LRU列表来选择替换目标页或受害页,将所选择的受害页写回到主存储器,获取需要使用的新页,以及将所获取的页存储在高速缓存中以代替受害页。
下文中,也可以将以高频率写入或读取的数据称作热数据,而将以低频率写入或读取的数据称作冷数据。混合存储器件200的LRU高速缓存212不能在管理热数据和冷数据的同时对热数据和冷数据进行区分。因此,由于高速缓存空间被冷数据浪费,所以页替换操作可能频繁发生。因此,存储器件的整体性能可能会退化。
下文中,将参照对应附图来描述根据本发明一实施例的用于在包括LRU高速缓存212的混合存储器件200中管理热数据和冷数据的方法。
图3A和图3B是示出根据实施例的在非易失性存储器件(NVM)(例如,图2中的NVM220)中存储的页的配置的图。
参见图3A,在NVM 220中存储的页可以包括主数据和标记信息TAG。标记信息TAG可以包括指示对应主数据是否是冷数据的信息。也就是说,当主数据对应于冷数据时,标记信息TAG可以用“1”来标记,而当主数据对应于热数据或尚未被定义的数据(即除冷数据以外的正常数据)时,标记信息TAG可以用“0”来标记。
以供参考,如图3A所示,标记信息TAG可以被存储在每个主数据的部分位中,因此被包括在对应页中。可选地,如图3B所示,NVM 220的一部分可以被分配到标记信息区域,使得多条标记信息TAG被收集在标记信息区域中并得到管理。
图4是示出根据本发明一实施例的混合存储器件300的方框图。
参见图4,根据本实施例的混合存储器件300可以包括被用作主存储器件的非易失性存储器(NVM)310和被用作缓冲存储器件的易失性存储器(VM)320。在本实施例中,VM 320的一部分可以被用作NVM 310的高速缓存。在一些实施例中,VM 320可以使用DRAM来实施,而NVM 310可以使用PCRAM来实施。在本实施例中,作为示例来描述VM 320的一部分被用作NVM 310的高速缓存的情况,但是本实施例不限于此。例如,NVM 310可以被用作缓冲存储器或主存储器。
下文中,假设在NVM 310中存储的页包括在图3A中示出的主数据和标记信息TAG。
混合存储器件300可以包括数据判断单元330和冷数据索引管理单元340。在一些实施例中,数据判断单元330和冷数据索引管理单元340使用控制逻辑来实施。数据判断单元330可以以相同大小的块从NVM 310接收正常数据,诸如例如图4中所示的页数据。然后数据判断单元330可以基于页数据的标记信息TAG将所接收的数据分类为第一数据和第二数据。冷数据索引管理单元340可以存储并管理第一数据的索引。以供参考,当对应数据为冷数据时,标记信息TAG可以用“1”来标记,而当对应数据为除冷数据以外的正常数据时,标记信息TAG可以用“0”来标记。为便于描述,第一数据可以被定义为冷数据,而第二数据可以被定义为正常数据。也就是说,数据判断单元330可以基于从NVM 310接收的页数据的标记信息TAG来在冷数据和正常数据之间进行区分。冷数据索引管理单元340可以存储并管理冷数据的索引。在一个实施例中,索引可以包括物理地址或逻辑地址。
更具体地,VM 320可以包括最近最少使用(LRU)高速缓存322和冷数据候选高速缓存324。LRU高速缓存322可以存储正常数据。LRU高速缓存322可以将第一受害数据写回到NVM 310,当LRU高速缓存322已满时第一受害数据被选中。当第一受害数据的写入计数小于第一阈值TH1时,冷数据候选高速缓存324可以存储从LRU高速缓存322接收到的第一受害数据。冷数据候选高速缓存324可以标记第二受害数据的标记信息TAG以使得该标记信息TAG表示冷数据,其中当冷数据候选高速缓存324已满时,第二受害数据被选中。换言之,冷数据候选高速缓存324可以将第二受害数据的标记信息TAG更新为“1”,然后将第二受害数据存储在NVM 310中。在一实施例中,当LRU高速缓存322和冷数据候选高速缓存324已满时,LRU高速缓存322和冷数据候选高速缓存324可以根据LRU列表来选择第一受害数据和第二受害数据。根据使用LRU列表的方案,在正常数据中的最近最少使用数据可以被选中作为受害数据。例如,从在LRU高速缓存322中存储的数据中,最近最少使用数据被选中作为第一受害数据,从在冷数据候选高速缓存324中存储的数据中,最近最少使用数据被选中作为第二受害数据。然而,本实施例不限于此,LRU高速缓存322和冷数据候选高速缓存324可以根据不常用(LFU)列表或先入先出(FIFO)列表来选择受害数据。
冷数据索引管理单元340可以存储冷数据的写入计数以及冷数据的索引。也就是说,当检测到来自外部控制器(未示出)的与由所存储的索引指示的冷数据对应的写入访问时,冷数据索引管理单元340可以增加与该冷数据对应的写入计数。另外,LRU高速缓存322可以存储正常数据的写入计数以及正常数据。也就是说,当检测到来自外部控制器的与正常数据对应的写入访问时,LRU高速缓存322可以增加与正常数据对应的写入计数。
与NVM 310相比,VM 320可以具有更高的写入速度和略高的读取速度。基于此类特性,根据本实施例的混合存储器件300可以不使用分别包括读取计数和写入计数的访问计数来管理热数据和冷数据,而是使用写入计数来管理热数据和冷数据。因此,混合存储器件300可以使用具有相对小容量的高速缓存来分类并管理热数据和冷数据。
如上所述,根据本实施例的混合存储器件可以分别使用写入计数来管理具有与冷数据对应的标记信息的页,以降低由冷数据所占用的高速缓存空间的比例。因此,混合存储器件可以减少在高速缓存已满时由该高速缓存执行的不必要的页替换操作,从而改善存储器件的带宽。
下文中,参考图5A至图9B,将更详细描述根据本实施例的混合存储器件的各个单元的操作。
图5A和图5B是分别示出图4中的数据判断单元330的操作的方框图和流程图。
参见图5A和图5B,在步骤S500处数据判断单元330可以从NVM 310获取页数据(①)。数据判断单元330可以在步骤S510处读取所获取的页数据的标记信息TAG,并在步骤S520处,基于所读取的标记信息TAG来判断页数据是否为冷数据。此时,当标记信息TAG为“1”时,数据判断单元330可以确定页数据为冷数据。当标记信息为“0”时,数据判断单元330可以确定页数据为除冷数据以外的正常数据。
当页数据为冷数据(步骤S520中的是)时,数据判断单元330可以在步骤S530处将该冷数据的索引传送至冷数据索引管理单元340(①’)。当页数据不是冷数据(步骤S520中的否)时,数据判断单元330可以在步骤S540处将除冷数据以外的正常数据传送至LRU高速缓存322(①”)。
图6A和图6B是分别示出图4中的LRU高速缓存322的第一操作的方框图和流程图。
参见图6A和图6B,当在步骤S600处从数据判断单元330传送正常数据(①”)时,LRU高速缓存322可以在步骤S610处检查该高速缓存是否已满(②)。当该高速缓存没有满(步骤S610的否)时,LRU高速缓存322可以在步骤S660处将所传送来的正常数据存储在其中,并且然后结束操作。
当高速缓存已满(步骤S610的是)时,LRU高速缓存322可以在步骤S620处根据LRU列表而从在该高速缓存中存储的数据之中选择第一受害数据(即,最近最少使用数据)。此时,LRU高速缓存322可以在步骤S630处判断所选中的第一受害数据的写入计数是否小于第一阈值TH1。当第一受害数据的写入计数小于第一阈值TH1(步骤S630的是)时,LRU高速缓存322可以在步骤S640处将第一受害数据传送至冷数据候选高速缓存324(②”)。当第一受害数据的写入计数不小于(即等于或大于)第一阈值TH1(步骤S630中的否)时,LRU高速缓存322可以进行步骤S650。
然后,LRU高速缓存322可以在步骤S650处将第一受害数据写回到NVM 310(②’)。此时,LRU高速缓存322可以将第一受害数据的标记信息TAG更新为指示正常数据的“0”。在第一受害数据被写回到NVM 310之后,LRU高速缓存322可以在步骤S660处通过将正常数据存储在LRU高速缓存322的对应空间中来执行页替换操作。
图7A和图7B是分别示出图4中的冷数据候选高速缓存324的第一操作的方框图和流程图。
参见图7A和图7B,当在步骤S700处从LRU高速缓存322传送第一受害数据(②”)时,冷数据候选高速缓存324可以在步骤S710处检查该高速缓存是否已满。当该高速缓存没有满(步骤S710的否)时,冷数据候选高速缓存324可以在步骤S740处将所传送来的第一受害数据存储在其中,然后结束操作。
当该高速缓存已满(步骤S710的是)时,冷数据候选高速缓存324可以在步骤S720处根据LRU列表从在该高速缓存中存储的数据中选择第二受害数据(即,最近最少使用数据)。冷数据候选高速缓存324可以在步骤S730处将第二受害数据的标记信息TAG更新为指示冷数据的“1”(③),然后将第二受害数据存储在NVM 310中。
然后,冷数据候选高速缓存324可以在步骤S740处,通过将第二受害数据擦除并将第一受害数据存储在对应空间中来执行页替换操作。
在本实施例中,第二受害数据被擦除的情况作为示例。然而,冷数据候选高速缓存324可以在步骤S740处,通过将第二受害数据写回到NVM 310,然后将第一受害数据存储至冷数据候选高速缓存324的对应空间中来执行页替换操作。
图8A和图8B是分别示出图4中的冷数据索引管理单元340的操作和LRU高速缓存322的第二操作的方框图和流程图。
参见图8A和图8B,当在步骤S800处检测来自外部控制器(未示出)的写入访问(④)时,冷数据索引管理单元340可以在步骤S810处判断该写入访问是否对应于由存储在其中的索引所指示的冷数据。当所检测的写入访问对应于由所存储的索引所指示的冷数据(步骤S810的是)时,冷数据索引管理单元340可以在步骤S820处增加与冷数据对应的写入计数(④’)。此外,当检测到来自外部控制器的与正常数据对应的写入访问时,LRU高速缓存322可以在步骤S820处增加与正常数据对应的写入计数(④”)。
冷数据索引管理单元340可以在步骤S830处判断由所存储的索引所指示的冷数据的写入计数是否大于第二阈值TH2。当冷数据的写入计数不大于(即等于或小于)第二阈值TH2(步骤S830的否)时,冷数据索引管理单元340可以结束操作。
当冷数据的写入计数大于第二阈值TH2(步骤S830的是)时,冷数据索引管理单元340可以在步骤S840处将对应的索引发送至LRU高速缓存322(⑤)。当接收到该索引时,LRU高速缓存322可以在步骤S850处向NVM 310请求由所接收的索引所指示的页数据(⑤’),在步骤S860处从NVM 310获取对应的页数据,以及在将所获取的页数据存储在LRU高速缓存322中(⑤”)。
图9A和图9B是分别示出图4中的冷数据候选高速缓存324的第二操作的方框图和流程图。
参见图9A和图9B,当在步骤S900处检测来自外部控制器(未示出)的写入访问(④)时,冷数据候选高速缓存324可以在步骤S910处判断所检测的写入访问是否对应于在其中所存储的页数据。当所检测的写入访问对应于所存储的页数据(步骤S910的是)时,冷数据候选高速缓存324可以在步骤S920处将该页数据放回到LRU高速缓存322。当所检测的写入访问没有对应于其中所存储的页数据(步骤S910的否)时,冷数据候选高速缓存324可以结束操作。
参照附图,根据一实施例的混合存储器件的数据管理方法将被简要描述如下。
数据判断单元330可以从NVM 310获取页数据。当所获取的页数据的标记信息TAG为“0”(即,所获取的页数据为正常数据)时,数据判断单元330可以将该页数据传送至LRU高速缓存322。
LRU高速缓存322可以存储该页数据,且每当从外部控制器(未示出)提供与所存储的页数据对应的访问请求时,都能提供该页数据。LRU高速缓存322可以将第一受害数据写回到NVM 310,其中,当高速缓存已满时根据LRU列表从在LRU高速缓存322中存储的数据之中选择第一受害数据。此时,当第一受害数据的写入计数小于第一阈值TH1时,LRU高速缓存322可以将第一受害数据存储在冷数据候选高速缓存324中,以管理可能的候选冷数据。
当冷数据候选高速缓存324已满时,冷数据候选高速缓存324可以将第二受害数据的标记信息TAG更新为“1”,其中,根据LRU列表从冷数据候选高速缓存324中存储的数据之中选择第二受害数据,并将第二受害数据存储在NVM 310中。
然后,数据判断单元330可以从NVM 310获取页数据。当所获取的页数据的标记信息TAG为“1”(即,所获取的页数据为冷数据)时,冷数据索引管理单元340可以存储对应页数据的索引,以分别管理冷数据。
如上所述,根据本实施例的混合存储器件可以增加含热数据的页而不是含冷数据的页占用LRU高速缓存的概率。因此,由于可以减少不必要的页替换操作,所以可以防止带宽减少。
图10是示出根据本发明一实施例的包括图4中示出的混合存储器件300的存储系统1000的方框图。
根据图10中示出的实施例,存储系统1000可以包括混合存储器件300和控制器1100。
由于混合存储器件300被配置并制造为上文参考图4所述,所以将省略其详细描述。
控制器1100可以连接至主机和混合存储器件300,并且可以适用于响应于来自主机的请求来访问混合存储器件300。例如,控制器1100可以适用于控制混合存储器件300的读取操作、写入操作、擦除操作和后台操作。控制器1100可以适用于执行在混合存储器件300与主机之间的交互。控制器1100可以适用于操作固件来控制混合存储器件300。
控制器1100可以包括通过内部总线可操作连接的随机存取存储器(RAM)1110、处理单元(例如,中央处理单元(CPU))1120、主机接口1130、存储器接口1140以及误差校正模块1150。RAM 1110可以被用作CPU 1120的操作存储器、在存储器件1200与主机之间的高速缓存存储器以及在存储器件1200与主机之间的缓冲存储器。处理单元1120可以控制控制器1100的总体操作。控制器1100可以在读取操作期间临时存储从主机提供的编程数据。
主机接口1130可以包括用于在主机与控制器1100之间数据交换的协议。例如,控制器1100可以通过以下各种协议中的至少一种来与主机通信,诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、快速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、集成驱动电路(IDE)协议以及私有协议。
存储器接口1140可以适用于执行与混合存储器件300的交互。例如,存储器接口1140可以包括NAND快闪接口或NOR快闪接口。
错误校正模块1150可以适用于使用错误校正码来检测并校正在从混合存储器件300读取的数据中的错误。处理单元1120可以根据错误校正块1150的错误检测结果来控制读取电压,并控制混合存储器件300来执行再读取操作。根据一实施例,错误校正模块1150可以被设置为控制器1100的组件。
控制器1100和混合存储器件300可以被集成在一个半导体器件中。根据一个实施例,控制器1100和混合存储器件300可以被集成在单个半导体器件中以形成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)、紧凑闪存卡(CF)、智能媒体卡(SMC)、记忆棒、多媒体卡(MMC)、小型MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、SDHC、通用快闪储存器件(UFS)等。
控制器1100和混合存储器件300可以被集成到一个半导体器件中以形成半导体驱动器,例如固态驱动器(SSD)。半导体驱动器(例如SSD)可以包括储存器件,该储存器件被配置成将数据储存在半导体存储器中。当存储系统1000被用作半导体驱动器(例如,SSD)时,与存储系统1000耦接的主机的操作速度可以得到显著改善。
在另一示例中,存储系统1000可以被用作电子器件的各种组件中的一种,诸如计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、携带型计算机、网络板、无线电话、移动电话、智能电话、电子书、携带型多媒体播放器(PMP)、携带型游戏机、导航仪、黑匣子、数字相机、三维(3D)电视、数字音频记录仪、数字音频播放器、数字图片记录仪、数字图片播放器、数字视频记录仪、数字视频播放器、用于在无线环境中收发信息的器件、各种用于家用网络的电子器件中的一种、各种用于计算机网络的电子器件中的一种、各种用于远程信息处理网络的电子器件中的一种、RFID器件以及/或者各种用于计算系统的器件中的一种,等。
在一个示例性实施例中,混合存储器件300或存储系统1000可以以各种方式来封装。例如,在一些实施例中,混合存储器件300或存储系统1000可以使用各种方法来封装,诸如堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫包式裸片、晶片形式裸片、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型封装(SOIC)、收缩型小外型封装(SSOP)、薄型小外型封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)以及/或者晶片级处理叠放式封装(WSP),等。
图11是示出在图10中示出的存储系统1000的应用示例2000的方框图。
根据在图11中示出的实施例,存储系统2000可以包括半导体存储器件2100和控制器2200。半导体存储器件2100可以包括多个半导体存储芯片。这些半导体存储芯片可以被划分为多个组。
在图11中,所述半导体存储芯片的多个组可以分别通过第一通道CH1至第k通道CHk与控制器2200通信。所述半导体芯片中的每一者可以与上文参考图4所述的混合存储器件300基本上相同的方式来配置和操作。
所述半导体存储芯片的多个组中的每一者可以通过单个共同通道来与控制器2200通信。控制器2200可以与上文参考图10所述的控制器1100基本上相同的方式来配置,并且可以控制半导体存储器件2100的所述多个存储芯片。
图12是示出根据本发明一实施例的包括在图11中示出的存储系统2000的计算系统的方框图。
根据图12中所述实施例,计算系统3000可以包括中央处理单元3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500以及存储系统2000。
存储系统2000可以通过系统总线3500电连接至中央处理单元3100、RAM 3200、用户接口3300以及电源3400。通过用户接口3300提供的数据或由中央处理单元3100处理的数据可以被存储在包括半导体存储器件2100和控制器2200的存储系统2000中。
在图12中,半导体存储器件2100可以通过控制器2200耦接至系统总线3500。然而,半导体存储器件2100可以直接耦接至系统总线3500。控制器2200的功能可以通过中央处理单元3100和RAM 3200来执行。
图12示出上文参考图11所描述的存储系统2000。然而,存储系统2000可以用上文参考图10所描述的存储系统1000来替换。在一个示例性实施例中,计算系统3000可以包括上文分别参考图10和图11所描述的存储系统1000和2000。
尽管已经出于说明性目的描述了各个实施例,但是对于相关领域技术人员显然的是,可以在不偏离由所附权利要求所定义的本发明的精神和/或范围的前提下,做出各种改变和修改。
例如,取决于输入信号的极性,在前述实施例中所示出的逻辑门和晶体管的位置和类型可以以不同方式来实施。
另外,在一些例子中,对于相关领域技术人员显然的是,结合特定实施例所描述的元件可以单独使用或者与其他实施例组合使用,除非另有特别指示。
Claims (21)
1.一种存储器件,包括:
数据判断单元,适用于从主存储器件接收页数据,以及基于页数据的标记信息来判断所述页数据包括第一数据还是第二数据;
索引管理单元,适用于如果确定页数据包括第一数据,则存储第一数据的索引;
第一高速缓存,适用于如果确定页数据包括第二数据,则存储第二数据,以及将第一受害数据写回到主存储器件,其中在第一高速缓存已满时所述第一受害数据被选中;以及
第二高速缓存,适用于当第一受害数据的写入计数小于第一阈值时存储从第一高速缓存传送来的第一受害数据,将第二受害数据的标记信息更新为指示第一数据的值,其中在第二高速缓存已满时所述第二受害数据被选中,以及将第二受害数据存储在主存储器件中。
2.根据权利要求1所述的存储器件,其中,页数据的标记信息包括冷数据信息,第一数据包括冷数据,而第二数据包括除冷数据以外的正常数据。
3.根据权利要求1所述的存储器件,其中,当第一数据的写入计数大于第二阈值时,索引管理单元将第一数据的索引传送给第一高速缓存。
4.根据权利要求3所述的存储器件,其中,第一高速缓存从主存储器件获取页数据,以及存储所获取的页数据,其中所述页数据对应于从索引管理单元传送来的索引。
5.根据权利要求3所述的存储器件,其中,索引管理单元存储第一数据的索引和第一数据的写入计数,以及在检测到与由所存储的索引指示的第一数据对应的写入访问时增加所存储的索引的写入计数。
6.根据权利要求1所述的存储器件,其中,第一高速缓存存储第二数据和第二数据的写入计数,以及在检测到与所存储的第二数据对应的写入访问时增加第二数据的写入计数。
7.根据权利要求1所述的存储器件,其中,当检测到与所存储的第一受害数据对应的写入访问时,第二高速缓存将第一受害数据放回到第一高速缓存。
8.根据权利要求1所述的存储器件,其中,当第一受害数据被写回到主存储器件时,第一高速缓存将第一受害数据的标记信息更新为指示第二数据的值,以及将第一受害数据存储在主存储器件中。
9.根据权利要求1所述的存储器件,其中,当第一高速缓存和第二高速缓存已满时,所述第一高速缓存和第二高速缓存根据最近最少使用LRU方案,分别从存储在第一高速缓存和第二高速缓存中的受害数据之中选择最近最少使用的受害数据来作为第一受害数据和第二受害数据。
10.根据权利要求1所述的存储器件,其中,主存储器件包括非易失性存储器件,而第一高速缓存和第二高速缓存包括易失性存储器件。
11.一种混合存储器件,包括:
第一存储器件,适用于存储包括页信息和标记信息的页数据;
控制逻辑,适用于从第一存储器件接收页数据,基于页数据的标记信息来判断所述页数据包括冷数据还是正常数据,以及存储和管理冷数据的索引;以及
第二存储器件,以不同于第一存储器件的操作速度来访问,且适用于存储正常数据以及根据所存储的正常数据的写入计数来更新在第一存储器件中所存储的页数据的标记信息。
12.根据权利要求11所述的混合存储器件,其中,控制逻辑包括:
数据判断单元,适用于从第一存储器件接收页数据,以及基于页数据的标记信息来判断所述页数据包括冷数据还是正常数据;以及
索引管理单元,适用于存储并管理冷数据的索引。
13.根据权利要求12所述的混合存储器件,其中,第二存储器件包括:
第一高速缓存,适用于存储正常数据,以及将第一受害数据写回到第一存储器件,其中当第一高速缓存已满时从第一高速缓存中存储的数据之中选择所述第一受害数据;以及
第二高速缓存,适用于当第一受害数据的写入计数小于第一阈值时存储从第一高速缓存传送来的第一受害数据,将第二受害数据的标记信息更新为指示冷数据的值,其中当第二高速缓存已满时从第二高速缓存中存储的数据之中选择所述第二受害数据,以及将第二受害数据存储在第一存储器件中。
14.根据权利要求13所述的混合存储器件,其中,当冷数据的写入计数大于第二阈值时,索引管理单元将冷数据的索引传送至第一高速缓存,以及
第一高速缓存从第一存储器件获取页数据,以及存储所获取的页数据,其中所述页数据对应于从索引管理单元传送来的索引。
15.根据权利要求13所述的混合存储器件,其中,当检测到与所存储的第一受害数据对应的写入访问时,第二高速缓存将第一受害数据放回到第一高速缓存。
16.根据权利要求13所述的混合存储器件,其中,当第一受害数据被写回到第一存储器件时,第一高速缓存将第一受害数据的标记信息更新为指示正常数据的值,以及将第一受害数据存储在第一存储器件中。
17.一种混合存储器件的操作方法,所述混合存储器件包括第一存储器件和第二存储器件,所述第一存储器件适用于存储包括页信息和标记信息的页数据,所述第二存储器件以不同于第一存储器件的操作速度来访问并包括第一高速缓存和第二高速缓存,所述操作方法包括:
从第一存储器件接收页数据,以及基于页数据的标记信息来判断所述页数据包括第一数据还是第二数据;
如果确定页数据包括第一数据,则存储第一数据的索引;
如果确定页数据包括第二数据,则将第二数据存储在第一高速缓存中,以及将第一受害数据写回到第一存储器件,其中当第一高速缓存已满时从第一高速缓存中存储的数据之中选择所述第一受害数据;以及
当第一受害数据的写入计数小于第一阈值时将从第一高速缓存传送来的第一受害数据存储在第二高速缓存中,将第二受害数据的标记信息更新为指示第一数据的值,其中当第二高速缓存已满时从第二高速缓存中存储的数据之中选择所述第二受害数据,以及将第二受害数据存储在第一存储器件中。
18.根据权利要求17所述的操作方法,其中,页数据的标记信息包括冷数据信息,第一数据包括冷数据,而第二数据包括除冷数据以外的正常数据。
19.根据权利要求17所述的操作方法,还包括:
当第一数据的写入计数大于第二阈值时,将第一数据的索引传送至第一高速缓存;以及
从第一存储器件获取与所传送的索引对应的页数据,以及将所获取的页数据存储在第一高速缓存中。
20.根据权利要求17所述的操作方法,还包括:当检测到与第一受害数据对应的写入访问时,将所存储的第一受害数据从第二高速缓存放回到第一高速缓存。
21.根据权利要求17所述的操作方法,还包括:当第一受害数据被写回到第一存储器件时,将第一受害数据的标记信息更新为指示第二数据的值以及将第一受害数据存储在第一存储器件中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0032301 | 2016-03-17 | ||
KR1020160032301A KR20170109133A (ko) | 2016-03-17 | 2016-03-17 | 하이브리드 메모리 장치 및 그의 데이터 관리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203334A true CN107203334A (zh) | 2017-09-26 |
Family
ID=59855658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610903938.3A Pending CN107203334A (zh) | 2016-03-17 | 2016-10-17 | 混合存储器件及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170270045A1 (zh) |
KR (1) | KR20170109133A (zh) |
CN (1) | CN107203334A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582233A (zh) * | 2018-11-21 | 2019-04-05 | 网宿科技股份有限公司 | 一种数据的缓存方法和装置 |
CN109669882A (zh) * | 2018-12-28 | 2019-04-23 | 贵州华芯通半导体技术有限公司 | 带宽感知的动态高速缓存替换方法、装置、系统和介质 |
CN110109915A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
CN110888819A (zh) * | 2018-09-10 | 2020-03-17 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
WO2021094871A1 (en) * | 2019-11-14 | 2021-05-20 | International Business Machines Corporation | Duplicate-copy cache using heterogeneous memory types |
CN114430458A (zh) * | 2020-10-29 | 2022-05-03 | 北京小米移动软件有限公司 | 防抖数据获取方法、防抖数据获取装置以及存储介质 |
US11372764B2 (en) | 2019-11-14 | 2022-06-28 | International Business Machines Corporation | Single-copy cache using heterogeneous memory types |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
US11645006B2 (en) * | 2020-04-30 | 2023-05-09 | Macronix International Co., Ltd. | Read performance of memory devices |
US11379367B2 (en) * | 2020-11-19 | 2022-07-05 | Micron Technology, Inc. | Enhancement for activation and deactivation of memory address regions |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1267023A (zh) * | 1999-03-01 | 2000-09-20 | 国际商业机器公司 | 多处理机数据处理系统中同级到同级的超高速缓存移动 |
US20090144492A1 (en) * | 2007-12-04 | 2009-06-04 | International Business Machines Corporation | Structure for implementing dynamic refresh protocols for dram based cache |
US20130219328A1 (en) * | 2012-02-16 | 2013-08-22 | The University Of Utah Research Foundation | Visualization of software memory usage |
US20130232295A1 (en) * | 2012-03-05 | 2013-09-05 | International Business Machines Corporation | Adaptive cache promotions in a two level caching system |
CN103988183A (zh) * | 2011-12-20 | 2014-08-13 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
CN104769557A (zh) * | 2012-11-09 | 2015-07-08 | 高通股份有限公司 | 经由页访问计数的处理器存储器优化 |
-
2016
- 2016-03-17 KR KR1020160032301A patent/KR20170109133A/ko unknown
- 2016-08-05 US US15/230,081 patent/US20170270045A1/en not_active Abandoned
- 2016-10-17 CN CN201610903938.3A patent/CN107203334A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1267023A (zh) * | 1999-03-01 | 2000-09-20 | 国际商业机器公司 | 多处理机数据处理系统中同级到同级的超高速缓存移动 |
US20090144492A1 (en) * | 2007-12-04 | 2009-06-04 | International Business Machines Corporation | Structure for implementing dynamic refresh protocols for dram based cache |
CN103988183A (zh) * | 2011-12-20 | 2014-08-13 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
US20130219328A1 (en) * | 2012-02-16 | 2013-08-22 | The University Of Utah Research Foundation | Visualization of software memory usage |
US20130232295A1 (en) * | 2012-03-05 | 2013-09-05 | International Business Machines Corporation | Adaptive cache promotions in a two level caching system |
CN104769557A (zh) * | 2012-11-09 | 2015-07-08 | 高通股份有限公司 | 经由页访问计数的处理器存储器优化 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109915A (zh) * | 2018-01-18 | 2019-08-09 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
CN110109915B (zh) * | 2018-01-18 | 2024-01-05 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
CN110888819B (zh) * | 2018-09-10 | 2023-03-28 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110888819A (zh) * | 2018-09-10 | 2020-03-17 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109582233A (zh) * | 2018-11-21 | 2019-04-05 | 网宿科技股份有限公司 | 一种数据的缓存方法和装置 |
CN109669882A (zh) * | 2018-12-28 | 2019-04-23 | 贵州华芯通半导体技术有限公司 | 带宽感知的动态高速缓存替换方法、装置、系统和介质 |
WO2021094871A1 (en) * | 2019-11-14 | 2021-05-20 | International Business Machines Corporation | Duplicate-copy cache using heterogeneous memory types |
US11210227B2 (en) | 2019-11-14 | 2021-12-28 | International Business Machines Corporation | Duplicate-copy cache using heterogeneous memory types |
US11372764B2 (en) | 2019-11-14 | 2022-06-28 | International Business Machines Corporation | Single-copy cache using heterogeneous memory types |
GB2605057A (en) * | 2019-11-14 | 2022-09-21 | Ibm | Duplicate-copy cache using heterogeneous memory types |
GB2605057B (en) * | 2019-11-14 | 2023-11-15 | Ibm | Duplicate-copy cache using heterogeneous memory types |
CN114430458A (zh) * | 2020-10-29 | 2022-05-03 | 北京小米移动软件有限公司 | 防抖数据获取方法、防抖数据获取装置以及存储介质 |
CN114430458B (zh) * | 2020-10-29 | 2023-12-19 | 北京小米移动软件有限公司 | 防抖数据获取方法、防抖数据获取装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20170109133A (ko) | 2017-09-28 |
US20170270045A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203334A (zh) | 混合存储器件及其操作方法 | |
US10535410B2 (en) | Hybrid read disturb count management | |
US10891236B2 (en) | Data storage device and operating method thereof | |
US10474585B2 (en) | Nonvolatile memory system and a method of operating the nonvolatile memory system | |
CN104934066B (zh) | Nand闪存中的读取干扰处理 | |
RU2348992C2 (ru) | Запоминающее устройство и ведущее устройство | |
KR102641521B1 (ko) | 키-밸류 스토리지 장치 및 이의 동작 방법 | |
CN107422982A (zh) | 包括非易失性存储器和控制器的存储装置及其操作方法 | |
CN107179996A (zh) | 数据存储装置和其操作方法 | |
US10671321B2 (en) | Data storage device, operation method for preventing read disturbance thereof, and storage system using the same | |
CN110232035A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN106649144A (zh) | 数据储存设备及其操作方法 | |
US10866764B2 (en) | Memory system with parity cache scheme and method of operating such memory system | |
JP2006178923A (ja) | 記憶デバイスおよびホスト機器 | |
EP4033364A1 (en) | Control method for flash memory controller and associated flash memory controller and storage device | |
CN106372011A (zh) | 用于pcie ssd控制器的高性能主机队列监控器 | |
KR20200085966A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US10191679B2 (en) | Data accessing method and system and memory storage apparatus | |
US10684953B2 (en) | Data storage apparatus capable of varying map cache buffer size | |
US20220113909A1 (en) | Operating method of host device and storage device using credit | |
TWI808384B (zh) | 儲存裝置、快閃記憶體控制器及其控制方法 | |
US20190236020A1 (en) | Memory system and operating method thereof | |
US20190278704A1 (en) | Memory system, operating method thereof and electronic apparatus | |
CN110119326A (zh) | 数据存储装置及其操作方法 | |
CN112148626A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170926 |