CN115357182A - 分层存储器系统中的对象管理 - Google Patents
分层存储器系统中的对象管理 Download PDFInfo
- Publication number
- CN115357182A CN115357182A CN202210457110.5A CN202210457110A CN115357182A CN 115357182 A CN115357182 A CN 115357182A CN 202210457110 A CN202210457110 A CN 202210457110A CN 115357182 A CN115357182 A CN 115357182A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- data
- size
- writing
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明论述涉及分层存储器系统中的对象管理的系统、设备及方法。实例方法可包含将存储器对象写入到第一类型的存储器媒体的第一存储器装置。所述实例方法可包含确定所述存储器对象的大小满足或超过阈值数据大小。所述实例方法可包含将所述存储器对象写入到包括不同于所述第一类型的第二类型的存储器媒体的第二存储器装置。所述第一存储器媒体可为包括相变存储器或电阻式随机存取存储器RAM的非易失性存储器,且所述第二存储器媒体可为NAND快闪或NOR快闪。
Description
技术领域
本公开大体上涉及存储器对象,且更特定来说,涉及用于分层存储器系统中的对象管理的设备、系统及方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在不供电时保持所存储的数据来提供持久性数据且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令及/或指令以在计算机或电子系统正操作时由主机使用。举例来说,数据、命令及/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。
发明内容
本公开的一方面涉及一种方法,其包括:将存储器对象写入到包括第一类型的存储器媒体的第一存储器装置;确定所述存储器对象的大小满足或超过阈值数据大小;及将所述存储器对象写入到包括不同于所述第一类型的第二类型的存储器媒体的第二存储器装置,其中所述第一存储器媒体是包括相变存储器或电阻式随机存取存储器(RAM)的非易失性存储器,且所述第二存储器媒体包括NAND快闪或NOR快闪。
本公开的另一方面涉及一种系统,其包括:第一存储器装置,其包括第一类型的存储器媒体,所述第一类型的存储器媒体是包括相变存储器或电阻式随机存取存储器(RAM)的非易失性存储器;第二存储器装置,其包括第二类型的存储器媒体,所述第二类型的存储器媒体包括NAND快闪或NOR快闪;及控制器,其耦合到所述第一存储器装置及所述第二存储器装置,所述控制器经配置以:将多个存储器对象写入到所述第一存储器装置;确定所述多个存储器对象中的任一者的数据大小超过阈值数据大小;及响应于所述相应多个存储器对象的所述数据的所述相应大小小于所述阈值数据大小,将所述相应存储器对象写入到所述第二存储器装置。
本公开的又一方面涉及一种系统,其包括:第一存储器装置,其包括第一类型的存储器媒体;第二存储器装置,其包括第二类型的存储器媒体;及控制器,其耦合到所述第一装置及所述第二存储器装置且经配置以:将多个存储器对象中的每一者写入到所述第一存储器装置;及响应于所述多个存储器对象中的特定者的大小达到所述第二存储器装置的页面大小,将所述特定一个存储器对象写入到所述第二存储器装置;其中:所述第一类型的存储器媒体是包括相变存储器或电阻式随机存取存储器(RAM)的非易失性存储器;所述第二类型的存储器媒体包括NAND快闪或NOR快闪。
附图说明
图1A是根据本公开的数个实施例的呈包含控制器及相应存储器装置的计算系统的形式的框图。
图1B是根据本公开的数个实施例的呈包含控制器及存储器装置的计算系统的形式的框图。
图2是根据本公开的数个实施例的表示分层存储器系统中的对象管理的框图。
图3是表示根据本公开的数个实施例的用于分层存储器系统中的对象管理的实例方法的流程图。
图4是表示根据本公开的数个实施例的分层存储器系统中的对象管理的实例的流程图。
具体实施方式
描述涉及分层存储器系统中的对象管理的系统、设备及方法。实例方法可包含将存储器对象写入到第一类型的存储器媒体的第一存储器装置。所述实例方法可包含确定所述存储器对象的大小满足或超过阈值数据大小。所述实例方法可包含将所述存储器对象写入到包括不同于所述第一类型的第二类型的存储器媒体的第二存储器装置。所述第一存储器媒体可为包括相变存储器或电阻式随机存取存储器(RAM)的非易失性存储器,且所述第二存储器媒体可为NAND快闪或NOR快闪。
在一些实施例中,第一存储器装置可包含包括例如以下的新兴存储器装置的第一类型的存储器媒体:三维(3D)交叉点存储器、相变存储器、电阻式随机存取存储器(RAM)等。第二存储器装置可包含包括NAND快闪或NOR快闪的第二类型的存储器媒体。存储器系统可包含在第一存储器装置与第二存储器装置之间分割或跨第一存储器装置及第二存储器装置连续的地址空间。作为实例,地址空间可横跨第一存储器装置及第二存储器装置两者。将存储于存储器系统中的存储器对象可与地址空间中的特定地址位置相关联,而与存储器对象存储于第一存储器装置及第二存储器装置中的哪一者中无关。
本文中描述的实施例可进一步包含将多个存储器对象中的每一者写入到第一存储器装置及第二存储器装置中的一者。多个存储器对象中的特定者可响应于特定的一个存储器对象的大小是阈值数据大小而分别写入(例如,转移)到第二存储器装置或第一存储器装置中的另一者。作为实例,与存储器对象相关联的数据可写入到第一存储器装置,例如新兴存储器装置。当存储器对象的数据达到例如基于快闪的存储器装置的页面大小的阈值数据大小时,存储器对象及数据可转移到非易失性存储器装置。以此方式,数据的较小部分可最初写入到新兴存储器装置,且当数据的较小部分能够组合为完整的基于快闪的页面大小(例如,NAND页面大小)时,经组合数据可转移到基于快闪的存储器装置。
在实例中,与存储器对象相关联的数据可写入到第二存储器装置,例如可包含基于快闪的存储器装置的非易失性存储器装置。当存储器对象的数据由主机从基于快闪(例如,NOR或NAND)的存储器装置请求时,如果数据是与页面大小相同的数据大小或在页面大小的阈值范围内,那么数据可从基于快闪的存储器装置存取。此外,当数据被主机请求时,如果数据是比页面大小更小的数据大小或阈值数据大小,那么数据可在被主机存取前写入到(例如,转移到)新兴存储器装置。以此方式,较小数据大小的数据可从新兴存储器装置存取,其中数据的较小部分可被存取,而无需存取完整页面大小的数据。在其中数据保持于基于快闪的存储器装置中的方法中,主机可能正在存取完整页面大小的数据以便存取小于完整页面大小的数据的部分,由此转移尚未被主机请求的数据且消耗存储器系统的不必要资源。
如本文中使用,术语“存储器对象”及其变体通常是指在装置上唯一识别且可被读取或写入的连续寻址的数据区。如本文中使用,“语义”通常是指参考存储器对象、指令、命令或信号的含义的存储器对象、指令、命令或信号的格式。举例来说,可被第一存储器装置理解的存储器对象或指令可能不被第二存储器装置理解,且反之亦然。通过将与存储器对象相关联的语义配置成可被第一存储器装置或第二存储器装置理解的语义,存储器对象可选择性地写入到第一存储器装置或第二存储器装置。
如本文中描述,实施例可包含使用包含主机及使用键值数据库系统的存储器装置的存储器系统。键值数据库是用于存储、检索及管理关联阵列的数据存储方法及可称为字典或散列表的数据结构,其中所述字典可包含存储器对象。这些存储器对象可使用唯一地识别记录的键来存储及检索且可用于在数据库内查找数据,如将在下文结合图2更详细描述。
在本公开的以下详细描述中,参考附图,附图形成本公开的一部分且在附图中通过说明展示可如何实践本公开的一或多个实施例。足够详细地描述这些实施例以使所属领域的一般技术人员能实践本公开的实施例,且应理解,可利用其它实施例且可在不背离本公开的范围的情况下做出过程、电及结构变化。
应理解,本文中使用的术语仅用于描述特定实施例,且不希望具限制性。如本文中使用,单数形式“一(a/an)”及“所述”可包含单数及复数指示物两者,除非上下文另外明确指示。另外,“数个”、“至少一个”及“一或多个”,例如,数个存储体,可指代一或多个存储体,而“多个”希望指代多于一个此类事物。
此外,词语“可(can/may)”贯穿本申请案以准许(例如,有可能、能够)而非强制意义(例如,必须)使用。术语“包含”及其派生词意味着“包含(但不限于)”。根据上下文需要,术语“经耦合”及“耦合”意味着物理上直接或间接连接或用于存取及移动(传输)命令及/或数据。
本文中的图遵循编号惯例,其中第一个或前几个数字对应于图号且剩余数字识别图中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,120可指图1A中的元件“20”,且类似元件在图2中可被称为220。通常在本文中可用单个元件编号指代一组或多个类似元件或组件。举例来说,多个参考元件117-1到117-2可统称为117。应了解,本文中各个实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。另外,图中提供的元件的比例及/或相对尺度意在说明本公开的某些实施例,且不应以限制性意义来理解。
图1A是根据本公开的数个实施例的呈包含主机120及包含存储器系统110的设备的计算系统100的形式的框图。如本文中使用,“设备”可指代(但不限于)各种结构或结构组合中的任一者,例如(举例来说)电路或电路系统、一或若干裸片、一或若干模块、一或若干装置或一或若干系统。存储器系统110可包含存储类存储器(“SCM”)控制器115-1、存储装置控制器115-2、新兴存储器装置130及非易失性(“NV”)存储器装置140,其包含基于快闪的存储器装置,如将在下文描述。
SCM控制器115-1可包含经配置以执行存储于本地存储器119-1中的指令的处理器117-1(例如,处理装置或处理单元)。同样,存储装置控制器115-2可包含经配置以执行存储本地存储器119-2中的指令的处理器117-2(例如,处理装置或处理单元)。在所说明的实例中,SCM控制器/存储装置控制器115-1、115-2的本地存储器119-1、119-2各自包含经配置以存储用于执行控制存储器系统110的操作的各种过程、操作、逻辑流及例程的指令的嵌入式存储器,所述操作包含处理存储器系统110与主机120之间的通信。主机120可通过内核121与存储器系统110通信,如将在下文进一步描述。
在一些实施例中,本地存储器119-1、119-2可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119-1、119-2还可包含用于存储微代码的只读存储器(ROM)。虽然已将图1A中的实例存储器子系统110说明为包含控制器115-1、115-2,但在本公开的另一实施例中,存储器系统110不包含存储器系统控制器,且可代替地依赖于外部控制(例如,由外部主机提供或由与存储器子系统分离的处理器或控制器提供)。
一般来说,控制器115-1、115-2可从主机120接收命令或操作且可将所述命令或操作转换成指令或适当命令以实现对新兴存储器装置130及/或NV存储器装置140的所期望存取。控制器115-1、115-2可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130、140相关联的逻辑地址(例如,逻辑块地址(LBA)、命名空间)与物理地址(例如,物理块地址、物理媒体位置等)之间的地址转译。控制器115-1、115-2可进一步包含用以经由物理主机接口(例如,图1B中的主机接口111)与主机120通信的主机接口电路系统。主机接口电路系统可将从主机接收到的命令转换成命令指令以存取存储器装置130及/或存储器装置140,且还将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机120的信息。主机120可为将存储于存储器系统110中的存储器对象指定地址空间中的位置。存储器系统110可使用在第一存储器装置130与第二存储器装置140之间分割的地址空间。作为实例,地址空间可横跨第一存储器装置130及第二存储器装置140两者。
主机120可为主机系统,例如个人膝上型计算机、交通工具、桌上型计算机、数码相机、智能电话或启用物联网(IoT)的装置或存储卡读取器、图形处理单元(例如,视频卡)以及各种其它类型的主机。主机120可包含系统母板及/或背板且可包含数个存储器存取装置,例如数个处理资源,例如,一或多个处理器、微处理器、图像处理器或某其它类型的控制电路系统。所属领域的一般技术人员应了解,“处理器”可意指一或多个处理器,例如并行处理系统、数个协处理器等。主机120可通过通信通道103耦合到存储器系统110的主机接口(例如,图1B中的主机接口111)。主机120的内核121可与主机接口(例如,图1B的主机接口111)通信。
如本文中使用,“启用IoT的装置”可指代嵌入有使此类装置能连接到网络及/或交换数据的电子器件、软件、传感器、致动器及/或网络连接性的装置。启用IoT的装置的实例包含移动电话、智能电话、平板计算机、平板手机、计算装置、可植入装置、交通工具、家电、智能家居装置、监测装置、穿戴式装置、启用智能购物系统的装置以及其它信息物理系统。
主机120可负责执行用于包含存储器系统110的计算系统100的操作系统。因此,在一些实施例中,主机120可负责控制存储器系统110的操作。举例来说,主机120可执行管理计算系统100的硬件(例如调度任务、执行应用程序、控制外围设备等)的指令,例如,呈操作系统的形式。
新兴存储器装置130可包含三维(3D)交叉点存储器、相变存储器及电阻式随机存取存储器(RAM),且NV存储器装置140可包含NAND或NOR存储器装置。如本文中使用,术语“新兴存储器装置”通常是指电阻可变存储器,例如3-D交叉点(交叉点存储器装置、3D XP装置等)、相变存储器、电阻式RAM、包含自选择存储器(SSM)、铁电随机存取存储器(FeRAM)等的阵列的存储器装置或其任何组合。存储器系统110可定位于远离主机(例如,作为云数据库的部分)及/或远离正存取存储器系统110的用户的位置的位置处。
具有各种类型的多个存储器装置的非限制性实例在图1A中描述。电阻可变存储器装置可结合可堆叠交叉栅格数据存取阵列执行基于体电阻变化的位存储。因此,与许多基于快闪的存储器相比,电阻可变非易失性存储器可执行原位写入操作,其中可在无需事先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。与基于快闪的存储器及电阻可变存储器相比,自选择存储器单元可包含具有用作用于存储器单元的开关及存储元件两者的单一硫属化物材料的存储器单元。
在一个实例中,新兴存储器装置130不用作用于存储器系统的高速缓存,且新兴存储器装置130不用作用于NV存储器装置140的高速缓存。在一个实例中,将写入到第一存储器装置或第二存储器装置中的多个对象中的每一者的地址空间可为跨第一存储器装置及第二存储器装置连续的地址空间。即,新兴存储器装置130及NV存储器装置140两者的地址空间可组成总地址空间且就像两个存储器装置是同一存储器装置那样被无缝地使用。虽然说明了两种存储器装置类型(例如,新兴存储器及NAND),然而,实施例不限于此,且可存在多于或少于两种存储器媒体类型。例如,数个实施例假设可使用包含不同类型的新兴存储器及/或不同类型的非易失性或易失性存储器的存储器装置。即,例如,考虑其它类型的易失性及/或非易失性存储器媒体装置。
如图1A中说明,在数个实施例中,控制器115-1、115-2、存储器装置130、140及/或主机接口(图1B中的111)可物理定位于单个裸片上或单个封装内,例如,受管理的存储器应用。而且,在数个实施例中,多个存储器装置130、140可包含于单个存储器系统110上。而且,在一些实施例中,多于一个存储器装置可包含相同类型的存储器单元阵列。
图1B是根据本公开的数个实施例的呈包含主机120及包含存储器系统110的设备的计算系统100的形式的框图。计算系统101可类似于图1A中的计算系统100,除了单个存储器控制器115可与新兴存储器装置130及非易失性(“NV”)存储器装置140中的每一者通信之外。作为实例,存储器控制器115可产生命令及/或信号以便从新兴存储器装置130及NV存储器装置140中的每一者读取数据及将数据写入到新兴存储器装置130及NV存储器装置140中的每一者。存储器控制器115可能够与新兴存储器单元(例如,3D交叉点存储器单元、相变存储器单元、电阻式RAM存储器单元)及NV存储器单元(例如,NAND存储器单元)两者通信。
此外,存储器装置130、140可各自包含相应控制电路系统,存储器控制器115与所述控制电路系统通信以便在存储器装置130、140中的每一者内执行存储器读取及写入操作。然而,实施例不限于此。例如,实施例假设数个存储器装置包含控制电路系统,而数个不同存储器装置不包含控制电路系统。本文中论述的操作可由控制器、控制电路系统或其组合执行。
图2是根据本公开的数个实施例的表示分层存储器系统中的对象管理的框图202。框图200包含主机220及存储器系统210。主机220可类似于图1A及1B中的主机120。存储器系统210可类似于图1A及1B中的存储器系统110。主机220包含主机应用程序231、映射文件系统233及内核235。主机应用程序231可正使用键值数据库方法,如在下文描述,以从存储器装置230、240读取或请求数据及正在存储器装置230、240中发送或存储数据。存储器系统210包含新兴存储器装置230及非易失性(“NV”)存储器装置240。
键值数据库是使用键值方法来存储数据的一类非关系数据库。键值数据库将数据存储为键值对的集合,其中键用作唯一标识符。键值数据库使值(其可为从数字或简单串到复杂对象的任何事物)与键相关联,其用于跟踪对象。键值数据库可使用紧凑、高效的索引结构以能够按其键定位值,从而使键值数据库对在常数时间内查找及检索数据的系统有用。键及值两者可为任何事物,范围从简单对象到复杂的复合对象。键值数据库是可分区的且可允许以其它类型的数据库可能无法实现的规模进行水平扩展。
键值数据库可允许程序或程序的用户按指向某个所存储值的键检索数据,所述键在本质上是名称或标识符。键值数据库可与包含以下的一组操作相关联:检索经存储且与给定键相关联的值(如果存在值)、删除经存储且与给定键相关联的值(如果存在值)及设置、更新及替换与给定键相关联的值(如果存在值)。
主机应用程序231可请求存储数据或从例如新兴存储器装置230或NV存储器装置240的存储器装置检索数据。映射文件系统233可为特定存储器对象指定键且指示那个存储器对象将被存储或从其检索的位置。第一映射列表243可用于指定存储器对象存储于新兴存储器装置230中,且第二映射列表245可用于指定存储器对象存储于NV存储器装置240中。
作为实例,如图2中说明,第一映射列表243中的第一键(例如,“文件45”)可指定为存储为逻辑地址8(例如,“LA8”)。第一映射列表243中的第二键(例如,“文件5”)可指定为存储为逻辑地址10(例如,“LA10”),且第三键(例如,“文件9”)可指定为存储为逻辑地址234(例如,“LA234”)。此外,第二映射列表245的第一键(例如,“文件0”)、第二键(例如,“文件1”)及第三键(例如,“文件2”)可分别指定为存储为逻辑块地址0、1及2(例如,分别是“LBA0”、“LBA 1”及“LBA 2”)。“LA”部分可指示存储器对象将定位于新兴存储器装置230中(存储于新兴存储器装置230处或从新兴存储器装置230检索),且“LBA”部分可指示存储器对象将定位于NV存储器装置240中。这些键值(例如,“文件45”、“文件5”、“文件9”、“文件0”、“文件1”、“文件2”)中的每一者可发送到主机(例如,图1A及1B中的主机120)的内核235以便检索或存储相关联存储器对象。
虽然“LA”可指定第一存储器装置230,且“LBA”可指定第二存储器装置240,但用于寻址存储器对象的位置的地址空间可在第一存储器装置230与第二存储器装置240两者之间分割或横跨第一存储器装置230及第二存储器装置240两者。举例来说,当使用1千兆位(GB)的总用户可寻址空间时,存储器对象可将300兆字节(MB)分割到第一存储器装置230中且将700MB分割到第二存储器中、将250MB分割到第一存储器装置中且将750MB分割到第二存储器中、将900MB分割到第一存储器装置中且将100MB分割到第二存储器装置中或任何比率。此外,针对给定百分比的小数据大小存储器对象,一定百分比的地址空间可分配到第一存储器装置,且剩余数据可分配到第二存储器装置。
内核235可为执行操作(例如,低级操作)且与操作系统(OS)的硬件及/或软件组件交互且由计算系统控制及/或执行的软件及/或代码。内核235可协调存储器、外围设备及来自软件的输入/输出(I/O)请求,从而将其转译成用于中央处理单元的数据处理指令且可将应用软件连接到计算机的硬件。内核235可执行任务,例如运行进程、管理例如硬盘的硬件装置及处置中断。内核235的接口可为低级抽象层。
内核235可使用用于与新兴存储器通信的双倍数据速率(DDR)软件协议237与新兴存储器装置230通信。内核235可使用非易失性存储器高速(NVMe)软件协议239与NV存储器装置240通信。NVME软件协议239是用于存取经由PCI Express(PCIe)总线附接的非易失性存储媒体的开放逻辑装置接口规范。
在一些实施例中,将键及相关联数据存储于新兴存储器装置230中还是NV存储器装置240中的确定可基于特性集的类型。实施例假设一类特性集可包含一或多种特性,包含(但不限于)存取频率、存储器存取大小(例如,与存储器对象相关联的位数量)及/或存储器存取是否包含顺序或非顺序存取。举例来说,在特定时间段期间用大于特定时间段期间的第二存取频率的第一存取频率存取的存储器对象可存储于新兴存储器装置230中。作为实例,较高存取频率可包含一天若干次、一周若干次等。较低存取频率可包含一月一次、一年一次等。更频繁存取的存储器对象可称为“热”且可指更频繁地被主机及/或其它外部装置更新的存储器对象。用第二存取频率存取的存储器对象可存储于NV存储器装置240中。具有第二存取频率的存储器对象可称为“冷”且可指不太频繁地被主机及/或外部装置更新的存储器对象。以此方式,存取频率可用于指定存储器对象的键值对是否指示是指示“LA”(且存储于新兴存储器装置230中)还是指示“LBA”(且存储于NV存储器装置240中)。
此外,存取频率可指示相关联地址空间在特定时间间隔期间被存取的频率。实施例假设针对第一特性集,特定时间间隔可相较于针对第二特性集的时间间隔更小,即,更短时间段。特定时间间隔例如针对不同应用可具有各种值。作为实例,股票账户数据库可由于数据可快速变化而频繁被更新或存取。健康数据库可由于数据可在患者访问医疗保健设施等时被更新而不太频繁地被更新或存取。在例如航空数据库的一个实例中,可存取小的、频繁被更新的存储器对象(例如,例如具有与飞行跟踪坐标相关联的数据)与大的、不太频繁被更新的存储器对象(例如,例如具有维护数据)的混合。
作为另一实例,特定时间间隔可为5微秒、10微秒、1秒、1分钟、一天、一月、一年以及其它值。此外,实施例假设特定时间间隔可随时间推移而改变,例如(举例来说)基于变化中的工作负载、基准及/或主机数据业务行为。一般来说,相较于可能更“冷”的具有较小存取频率的另一存储器对象,更大存取频率将使存储器对象更“热”。换句话说,具有更大或最大存取频率的存储器对象将通常具有第一指定(且存储于新兴存储器装置230中),且具有更低或最小存取频率的存储器对象将通常存储于NV存储器装置240中。
实施例假设一类特性集可包含一或多个特性,包含(但不限于)存储器对象的大小、存取频率、一类键值数据等。举例来说,具有大于第二数据大小的第一数据大小的存储器对象可存储于新兴存储器装置230中。作为实例,较小数据大小可包含1千字节(KB)、2KB、4KB、16KB。作为实例,较大数据大小可包含范围从16KB到数千兆字节(GB)的数据大小。用第二数据大小存取的存储器对象可存储于NV存储器装置240中。当使用在针对大数据块(例如,在本文中的描述中写入到NAND存储器装置)及较小数据区段(例如,在本文中的描述中写入到新兴存储器装置)两者优化时可更高效运行的混合工作负载时,这可特别有用。以此方式,数据大小可用于指定存储器对象的键值对是否指示是指示“LA”(且存储于新兴存储器装置230中)还是指示“LBA”(且存储于NV存储器装置240中)。虽然实例描述最初存储于新兴存储器装置230或NV存储器装置240中,但实施例不限于此。
举例来说,存储器对象可最初存储于新兴存储器装置230中且可发送到主机且经扩展以包含更大存储器对象(但仍与相同键相关联)且随后存储于NV存储器装置240中。同样地,存储器对象可最初存储于新兴存储器装置230中且可发送到主机,及接着用较小频率存取且随后存储于NV存储器装置240中。存储器对象的大小可对应于位数量或存储器对象内所含的其它信息。一般来说,相较于具有更大小的另一存储器对象,较小大小将使存储器对象更“热”,因为如果存储器对象较小,那么其也可更频繁地被存取。
实施例假设存储器对象可随时间推移而改变指定。随着时间推移,与存储器对象相关联的特性集的类型可改变。换句话说,随着时间推移,与存储器对象相关联的一或多个特性可改变。例如,存储器对象在短期时间间隔内的存取频率可随时间推移而减小,或存储器对象的数据大小可随时间推移而增加或减小。作为实例,相较于存取频率减小前的存储器对象,存取频率的减小可促使所述存储器对象变得不太“热”。因而,此减小可导致存储器对象从一个存储器装置类型转移到另一存储器装置类型。
实施例假设一类特性集可包含一或多个特性,包含(但不限于)存储器对象的大小、存取频率及/或键值数据的类型。举例来说,存储器对象的键可存储于新兴存储器装置230中,且与键相关联的数据可存储于NV存储器装置240中。此时,在此实例中,键值数据可不再是存储器对象,因为键值数据库中的存储器对象包含键及与键相关联的数据两者。以此方式,键值数据类型可用于指定键值对是否指示是指示“LA”(且存储于新兴存储器装置230中)还是指示“LBA”(且存储于NV存储器装置240中)。用于使键与数据相关联的散列表也可存储于新兴存储器装置230中。以此方式,可快速执行是否将数据定位于NV存储器装置240中的确定。
此外,对键的更新可在前台操作期间存储于新兴存储器装置230中的高速缓存更新表中,例如,在存储器系统正执行额外操作时。对与经更新键(存储于新兴存储器装置230中)相关联的NV存储器装置240中的数据的更新可在后台使用高速缓存更新表执行,例如,在存储器装置没有在执行额外操作时、处于休眠模式中时或处于另一降低功率状态等时。以此方式,存储器资源可经保存用于当前正执行的操作且用于在操作已完成时将数据更新到NV存储器装置240。
图3是表示根据本公开的数个实施例的表示用于分层存储器系统中的对象管理的实例方法的流程图351。方法351可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法351由图1A中的主机120的处理器执行。在一些实施例中,方法351由图1A中说明的主机120的控制电路系统执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同次序执行,且一些过程可并行执行。另外,在各个实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在框353,方法351可包含将存储器对象写入到第一存储器装置。第一存储器装置可类似于分别在图1A/1B及2中的第一存储器装置130及230。第一存储器装置可为包含例如交叉点存储器、相变存储器及电阻式RAM等的新兴存储器的第一类型的存储器媒体。第二存储器装置可类似于分别在图1A/1B及2中的第二存储器装置140及240。第二存储器装置可为包含包括NAND快闪或NOR快闪的非易失性存储器的第二类型的存储器媒体。基于快闪的存储器装置可为NAND存储器装置或NOR存储器装置。在一些实例中,写入存储器对象可包含最初将存储器对象写入到新兴存储器装置。
在框355,方法351可包含确定存储器对象的大小等于或超过阈值数据大小。作为实例,阈值数据大小可为页面大小(例如NAND页面大小或NOR页面大小)。接着,可确定存储器对象的大小等于或大于(超过)页面大小。
在框357,方法351可包含将存储器对象写入到第二存储器装置。举例来说,存储到第一存储器装置的数据可写入到(或转移到)第二存储器装置。存储器对象可响应于存储器对象的数据大小等于或大于阈值数据大小而写入。作为实例,存储器对象可响应于存储器对象等于或大于16千字节(KB)(在一些实例中,其可指代页面大小)从第一存储器装置写入到第二存储器装置。换句话说,数据可写入到第一存储器装置(例如,交叉点存储器装置)直到数据达到等于第二存储器装置(例如,基于快闪的存储器装置)的页面大小的数据大小,此时,数据可写入到(或转移到)第二存储器装置(例如,基于快闪的存储器装置)。
在另一实例中,特定存储器对象可响应于与特定一个存储器对象相关联的数据小于16KB来从第二存储器装置转移到第一存储器装置。数据可从基于快闪的存储器装置转移到交叉点存储器装置使得请求对数据进行存取的主机可存取比完整页面大小更小的数据大小。响应于数据等于页面大小,数据可保持于基于快闪的存储器装置中且由主机从基于快闪的存储器装置进行存取。
图4是表示根据本公开的数个实施例的分层存储器系统中的对象管理的实例的流程图471。流程图471的操作可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法由图1A中的主机120的处理器执行。在一些实施例中,方法由图1A中说明的主机120的控制电路系统执行。尽管以特定顺序或次序展示,但除非另外指定,否则过程的次序是可修改的。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同次序执行,且一些过程可并行执行。另外,在各个实施例中,可省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在操作473,可将多个存储器对象写入到基于快闪的存储器装置。在操作475,可接收存取基于快闪的存储器装置中的存储器对象的数据的请求。请求可由主机发送到包含基于快闪的存储器装置的存储器系统的控制器。实例数据大小可包含1千字节(KB)、2KB、4KB、16KB,且其范围还可从16KB到数千兆字节(GB)。
在操作477,可确定数据大小是否小于阈值数据大小。响应于数据大小小于阈值数据大小(由“是(YES)”指示),如在操作479处说明,可将存储器对象转移到交叉点存储器装置。转移到交叉点存储器装置的数据可由主机在交叉点存储器装置中存取。主机可请求存取可为完整页面大小的数据的部分的数据的部分。由主机存取的数据可为在数据保持于基于快闪的存储器装置中的情况下原本将由于可能已被读取的整个页面大小的数据而被存取的数据的部分。即,主机可存取请求被存取的数据而不存取在数据保持于基于快闪的存储器装置中的情况下原本将为完整页面的数据的部分的数据。响应于数据大小等于或大于阈值数据大小(由“否(NO)”指示),如在操作481处说明,存储器对象可从基于快闪的存储器装置读取。在此例子中,存储器对象可从基于快闪的存储器装置读取,而无需将存储器对象转移到交叉点存储器装置。
尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应理解,以说明性方式而非限制性方式进行上文描述。所属领域的技术人员将在审阅上文描述之后明白上文实施例的组合及本文中未明确描述的其它实施例。本公开的一或多个实施例的范围包含其中使用上文结构及过程的其它应用。因此,应参考所附权利要求书以及此权利要求书有权获得的等效物的全范围来确定本公开的一或多个实施例的范围。
在前述具体实施方式中,为了简化本公开,将一些特征一起分组在单个实施例中。本公开的方法不应被解释为反映本公开的所公开实施例必须使用比每一权利要求中明确所述的特征更多的特征的意图。而是,如所附权利要求书反映,发明标的物在于少于所公开单个实施例的所有特征。因此,所附权利要求特此并入到具体实施方式中,其中每个权利要求独立作为单独实施例。
Claims (18)
1.一种方法,其包括:
将存储器对象写入到包括第一类型的存储器媒体的第一存储器装置(130、230);
确定所述存储器对象的大小满足或超过阈值数据大小;及
将所述存储器对象写入到包括不同于所述第一类型的第二类型的存储器媒体的第二存储器装置(140、240),
其中所述第一存储器媒体是包括相变存储器或电阻式随机存取存储器RAM的非易失性存储器,且所述第二存储器媒体包括NAND快闪或NOR快闪。
2.根据权利要求1所述的方法,其中所述第一存储器装置及所述第二存储器装置的地址空间跨所述第一存储器装置及所述第二存储器装置两者连续。
3.根据权利要求1所述的方法,其中:
写入所述存储器对象包括最初将所述存储器对象写入到所述非易失性存储器装置;及
将所述存储器对象写入到所述第二存储器装置包括响应于特定一个存储器对象的所述大小达到与所述第二存储器装置相关联的页面大小来将所述存储器对象写入到所述第二存储器装置。
4.根据权利要求3所述的方法,其中所述页面大小是NAND页面。
5.根据权利要求3所述的方法,其中所述页面大小是约16千字节KB。
6.根据权利要求1所述的方法,其中所述存储器对象响应于主机将超过所述阈值数据大小的数据写入到所述第一存储器媒体被写入到所述第二存储器媒体。
7.根据权利要求1所述的方法,其中所述阈值数据大小是基于快闪的存储器页面的数据大小。
8.一种系统,其包括:
第一存储器装置(130、230),其包括第一类型的存储器媒体,所述第一类型的存储器媒体是包括相变存储器或电阻式随机存取存储器RAM的非易失性存储器;
第二存储器装置(140、240),其包括第二类型的存储器媒体,所述第二类型的存储器媒体包括NAND快闪或NOR快闪;及
控制器(115),其耦合到所述第一存储器装置及所述第二存储器装置,所述控制器经配置以:
将多个存储器对象写入到所述第一存储器装置;
确定所述多个存储器对象中的任一者的数据大小超过阈值数据大小;及
响应于所述相应多个存储器对象的所述数据的所述相应大小小于所述阈值数据大小,将所述相应存储器对象写入到所述第二存储器装置。
9.根据权利要求8所述的系统,其中用于存储所述多个存储器对象中的每一者的地址空间连续横跨所述第二存储器装置及所述第一存储器装置。
10.根据权利要求8所述的系统,其中响应于与所述数据相关联的所述多个存储器对象中的一者写入到所述第二存储器,所述控制器经配置以存取包含所述第二存储器装置中的所述数据的所述一个存储器对象的部分。
11.根据权利要求8所述的系统,其进一步包括主机(120、220),其中所述主机经配置以:
向所述控制器发送对存储于所述第二存储器装置中的所述数据的请求;及
响应于与所述数据相关联的所述存储器对象写入到所述第二存储器装置,经由所述控制器从所述第二存储器装置接收所述数据。
12.根据权利要求8所述的系统,其中用于存储所述多个存储器对象中的每一者的地址空间连续横跨所述第一存储器装置及所述第二存储器装置。
13.根据权利要求8所述的系统,其中所述第一存储器装置及所述第二存储器装置两者都不用作所述存储器系统中的高速缓存。
14.根据权利要求8所述的系统,其进一步包括主机(120、220),其中所述主机经配置以使所述多个存储器对象中的存储器对象能使用双倍数据速率DDR协议(237)发送到所述第一存储器装置且使用基于快闪的存储器高速NVME协议(239)发送到所述第二存储器装置。
15.一种系统,其包括
第一存储器装置(130、230),其包括第一类型的存储器媒体;
第二存储器装置(140、240),其包括第二类型的存储器媒体;及
控制器(115),其耦合到所述第一装置及所述第二存储器装置且经配置以:
将多个存储器对象中的每一者写入到所述第一存储器装置;及
响应于所述多个存储器对象中的特定者的大小达到所述第二存储器装置的页面大小,将所述特定一个存储器对象写入到所述第二存储器装置;
其中:
所述第一类型的存储器媒体是包括相变存储器或电阻式随机存取存储器RAM的非易失性存储器;
所述第二类型的存储器媒体包括NAND快闪或NOR快闪。
16.根据权利要求15所述的系统,其中与所述第一存储器装置及所述第二存储器装置相关联的地址空间连续横跨所述第一存储器装置及所述第二存储器装置两者。
17.根据权利要求15所述的系统,其中所述页面大小是NAND页面大小。
18.根据权利要求15所述的系统,其中所述控制器经配置以使用键值数据库结构将所述多个存储器对象写入到所述第一存储器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/322,235 | 2021-05-17 | ||
US17/322,235 US11861222B2 (en) | 2021-05-17 | 2021-05-17 | Object management in tiered memory systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357182A true CN115357182A (zh) | 2022-11-18 |
Family
ID=83998631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210457110.5A Pending CN115357182A (zh) | 2021-05-17 | 2022-04-27 | 分层存储器系统中的对象管理 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11861222B2 (zh) |
CN (1) | CN115357182A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11392526B2 (en) * | 2020-06-04 | 2022-07-19 | Micron Technology, Inc. | Memory system with selectively interfaceable memory subsystem |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101632068B (zh) * | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
JP5524144B2 (ja) | 2011-08-08 | 2014-06-18 | 株式会社東芝 | key−valueストア方式を有するメモリシステム |
US9075710B2 (en) | 2012-04-17 | 2015-07-07 | SanDisk Technologies, Inc. | Non-volatile key-value store |
US10127150B2 (en) | 2012-11-09 | 2018-11-13 | Sandisk Technologies Llc | Key value addressed storage drive using NAND flash based content addressable memory |
US20140379631A1 (en) * | 2013-06-25 | 2014-12-25 | Linkedln Corporation | Transactional key-value database with searchable indexes |
US9772939B2 (en) * | 2015-01-05 | 2017-09-26 | International Business Machines Corporation | Heat-based key-value slot organization for flash-optimized data placement in multi-tiered storage systems |
US10141050B1 (en) * | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11301331B2 (en) * | 2018-09-20 | 2022-04-12 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
CN110134514B (zh) * | 2019-04-18 | 2021-04-13 | 华中科技大学 | 基于异构内存的可扩展内存对象存储系统 |
US10924587B1 (en) * | 2019-05-01 | 2021-02-16 | Amazon Technologies, Inc. | Live migration for highly available data stores |
SG11202002165RA (en) * | 2019-08-30 | 2020-04-29 | Alibaba Group Holding Ltd | Methods and devices for providing traversable key-value data storage on blockchain |
US11016905B1 (en) * | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
-
2021
- 2021-05-17 US US17/322,235 patent/US11861222B2/en active Active
-
2022
- 2022-04-27 CN CN202210457110.5A patent/CN115357182A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11861222B2 (en) | 2024-01-02 |
US20220365720A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2895958B1 (en) | Address mapping | |
US11010079B2 (en) | Concept for storing file system metadata within solid-stage storage devices | |
US11755491B2 (en) | Mapping supporting non-sequential writes at sequentially-written memory devices | |
US10235069B2 (en) | Load balancing by dynamically transferring memory range assignments | |
US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
US11698862B2 (en) | Three tiered hierarchical memory systems | |
CN115357182A (zh) | 分层存储器系统中的对象管理 | |
CN115357522A (zh) | 分层存储器系统中的对象管理 | |
US11650843B2 (en) | Hierarchical memory systems | |
US20220197537A1 (en) | Object management in tiered memory systems | |
US11169918B2 (en) | Data access in data storage device including storage class memory | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
US11835992B2 (en) | Hybrid memory system interface | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
US20230350832A1 (en) | Storage device, memory device, and system including storage device and memory device | |
US20220164119A1 (en) | Controller, and memory system and data processing system including the same | |
CN117032554A (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 |