CN113360093A - 内存***和设备 - Google Patents
内存***和设备 Download PDFInfo
- Publication number
- CN113360093A CN113360093A CN202110619857.1A CN202110619857A CN113360093A CN 113360093 A CN113360093 A CN 113360093A CN 202110619857 A CN202110619857 A CN 202110619857A CN 113360093 A CN113360093 A CN 113360093A
- Authority
- CN
- China
- Prior art keywords
- memory
- access area
- data
- memory system
- random access
- 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.)
- Granted
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种内存***和设备,该内存***包括:第一内存和具有透明压缩功能的第二内存,其中,第一内存为易失性存储介质,第二内存为基于CXL的存储介质。由于第二内存具有透明压缩功能,可以进一步降低内存的单位价格,提升内存***的性价比。
Description
技术领域
本申请涉及计算机科学领域,尤其涉及一种内存***和设备。
背景技术
大数据时代数据量爆发式的增长,对计算机硬件带来了巨大的挑战。为应对海量数据的及时处理,硬盘和内存容量越来越大。相对于硬盘单位容量价格的不断降低,内存单位容量的价格并没有明显的下降,这就导致了多数***中内存容量较小,并逐渐成为***性能的瓶颈。
现有技术中,大多数内存***单纯使用多个内存条的形式,但内存条成本较高,若采用增加内存条的方式进行扩容会导致存储成本大大升高。
发明内容
为了解决现有技术中的上述问题,即为了降低存储成本,本申请提供了一种内存***和设备。
第一方面,本申请提供了一种内存***,包括:第一内存和具有透明压缩功能的第二内存,其中,第一内存为易失性存储介质,第二内存为基于CXL的存储介质。
一种可能的实施方式中,上述第二内存包括随机访问区和顺序访问区,随机访问区用于小块数据的读写;顺序访问区用于大块数据的读写,小块数据和大块数据是基于阈值划分的。
一种可能的实施方式中,随机访问区的地址映射粒度不同于顺序访问区的地址映射粒度。
一种可能的实施方式中,随机访问区对应的压缩单元为随机访问区的地址映射粒度的整数倍;和/或,顺序访问区对应的压缩单元为第一阈值。
一种可能的实施方式中,随机访问区对应的校验码字的长度要短于顺序访问区对应的校验码字的长度。
一种可能的实施方式中,顺序访问区中的物理存储页面支持横跨多个校验码字。
一种可能的实施方式中,第二内存的地址映射关系存储在第一内存中,地址映射关系用于记录数据压缩前的逻辑存储地址与数据压缩后的物理存储地址之间的映射关系。
一种可能的实施方式中,第二内存对应多个地址映射关系,多个地址映射关系分别对应第二内存的不同访问区。
一种可能的实施方式中,在第二内存中,当一个物理存储页的可用空间不足以容纳一个新的压缩页且可用空间的大小小于第二阈值时,可用空间用于填充无效数据。
第二方面,本申请提供一种电子设备,包括至少一个处理器以及如第一方面或第一方面的任一种可能的实施方式所述的内存***,其中,内存***与至少一个处理器通信连接。
本申请提供一种内存***和设备,该内存***包括:第一内存和具有透明压缩功能的第二内存,其中,第一内存为易失性存储介质,第二内存为基于CXL的存储介质。由于第二内存具有透明压缩功能,可以进一步降低内存的单位价格,提升内存***的性价比。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的内存***的结构示意图;
图3为本申请另一实施例提供的内存***的结构示意图;
图4为本申请一实施例提供的随机访问区按ECC码字长度进行压缩的示意图;
图5为本申请一实施例提供的随机访问区内一个ECC码字内部格式的示意图;
图6为本申请一实施例提供的顺序访问区内ECC码字内部格式的示意图;
图7为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请涉及的部分技术术语进行解释说明:
内存(Memory),是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放中央处理器(Central Processing Unit,简称CPU)中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中程序的运行一般都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。通常情况下,只要计算机开始运行,操作***就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。内存的运行也决定计算机整体运行快慢的程度。内存的一般存在形式为内存条,内存条由内存芯片、电路板、金手指等部分组成。
CPU,是计算机的主要设备之一,其功能主要是解释计算机指令以及处理计算机软件中的数据。通常地,CPU主要包括控制器、运算器、高速缓冲存储器及实现它们之间联系的数据、控制的总线。在计算机体系结构中,CPU是对计算机的所有硬件资源(如存储器、输入输出单元)进行控制调配、执行通用运算的核心硬件单元。
机械硬盘(Hard Disk Drive,简称HDD),主要由盘片、磁头、盘片转轴及控制电机、磁头控制器、数据转换器、接口和缓存等几个部分组成。采用机械硬盘的优点是单位成本低,适合做大容量存储,但读写速度较慢。
固态硬盘(Solid State Drives,简称SSD),由控制单元和存储单元(如闪存芯片)组成。固态硬盘的优点是速度快,日常的读写比机械硬盘快几十倍上百倍。固态硬盘的缺点是单位成本高,同样存储大小的固态硬盘比机械硬盘贵得多。
粒度(granularity),就是同一维度下,数据统计的粗细程度。在计算机领域中,粒度指***内存扩展增量的最小值。细化程度越高,粒度就越小;相反,细化程度越低,粒度就越大。
错误检查和纠正(Error Checking and Correcting,简称ECC),是数据错误检查和更正的手段。ECC内存即纠错内存,简单的说,其具有发现内存数据错误以及纠正错误的功能,这将使整个计算机***在工作时更趋于安全稳定。在内存工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。
动态随机存取存储器(Dynamic Random Access Memory,简称DRAM),是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多少来代表一个二进制比特(bit)是1还是0。由于在现实中晶体管会有漏电电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损,因此对于DRAM来说,周期性地充电是一个无可避免的要件。由于这种需要定时刷新的特性,因此被称为“动态”存储器。相对来说,静态存储器(SRAM)只要存入数据后,纵使不刷新也不会丢失记忆。
目前,针对***中内存容量较小,并逐渐成为***性能的瓶颈的问题,工业界正在努力构建CPU-内存接口方案的标准,即计算快速链接(Compute eXpress Link,简称CXL)。CXL是一种开放式互连技术,该技术可以使主机内存和设备内存可以相互访问,并实现主机和设备间的缓存一致性,还可以使廉价的设备可以作为主机内存的扩展,降低内存的单位价格,例如基于3D Xpoint的内存条。
另外,考虑到内存条成本较高,若采用增加内存条的方式进行扩容会导致存储成本升高的问题,本申请提供了一种内存***,通过在当前内存(为便于区分,可以将其称为“基础内存”或“第一内存”)的基础上,增加具有透明压缩功能的扩展内存(下文中将其称为“第二内存”),以降低总体内存的单位价格,提升内存***的性价比。
图1为本申请一实施例提供的应用场景示意图。如图1所示,本应用场景中,主机10包括了硬件部分11和软件部分12,硬件部分11可以包含CPU111、内存***112、输入输出端口113、硬盘114以及其他外部设备115。其中,硬盘114可以为固态硬盘和/或机械硬盘等。外部设备115可以包含有显示器、鼠标和键盘等。软件部分12可以包括了操作***软件121和应用软件122等。其中,操作***软件121可以包括但不限于Windows***,应用软件122例如可以是Microsoft Word等。
需要说明的是,图1仅是本申请实施例提供的一种应用场景的示意图,本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。例如,图1的主机***可以是笔记本电脑的主机***,也可以是台式机的主机***,等等。
接下来,通过具体实施例介绍内存***。
图2为本申请一实施例提供的内存***的结构示意图。本申请实施例提供的内存***可以应用于电子设备中,该电子设备可以是电脑、服务器或服务器集群等。如图2所示,本申请实施例的内存***20包括:第一内存21和具有透明压缩功能的第二内存22。其中,第一内存21为易失性存储介质,第二内存22为基于CXL的存储介质。
可以理解,第一内存21为基础内存,例如DRAM,其特点是在切断电源之后,数据会消失。第二内存22为具有透明压缩功能的扩展内存,所谓透明压缩,即数据压缩、解压缩过程都是在存储设备内运行的,相比于在主机中进行数据压缩或解压缩会使得CPU消耗过高,透明压缩在主机中是无法感知到的。
另外,传统的内存***中,基础内存和设备内存是无法相互访问的,例如基础内存和显存(即显卡的内存)的使用是相互独立的。而在本申请实施例中,第二内存为基于CXL的存储介质,其与第一内存(也就是基础内存)可以相互访问,并实现主机和设备间的缓存一致性。示例地,该存储介质具体可以是3D Xpoint存储介质,这种存储介质具有低成本、高容量和高速存储等的优点。类似的设备还有智能网卡,计算型存储器等。
本申请实施例中,内存***包括第一内存和具有透明压缩功能的第二内存,其中,第一内存为易失性存储介质,第二内存为基于CXL的存储介质。由于CXL使得相对廉价的设备内存可以作为主机内存的扩展,实现了主机内存和设备内存的缓存一致性;且,由于第二内存具有透明压缩功能,可以进一步降低内存的单位价格,提升内存***的性价比,降低存储成本。
在上述实施例的基础上,还可以对第二内存进行访问区的划片处理,以下通过图3进行示例说明。图3为本申请另一实施例提供的内存***的结构示意图。参考图3,在图2所示结构的基础上,进一步地,第二内存22可以包括随机访问区221和顺序访问区222,其中,随机访问区221用于小块数据的读写,顺序访问区222用于大块数据的读写,小块数据和大块数据是基于阈值划分的。
需要注意的是,在随机访问区221中,读写方式包括但不限于随机读写,即随机访问区也包含顺序读写;在顺序访问区222中,读写方式包括但不限于顺序读写,即顺序访问区也包含随机读写。不同地,针对小块数据,本申请实施例采用随机访问区进行读写,针对大块数据,本申请实施例采用顺序访问区进行读写。
关于随机读写,即当进行数据读写时,可以任意跳到某个物理地址进行数据的随机读写,随机读写速度的单位是IOPS,即每秒进行的IO操作次数,可认为是吞吐量指标,随机读写一般用于零碎文件或任务等。随机读写的特点是读写时间长、数据小且分散、具有随机性。
关于顺序读写,即当读取数据时,只能进行顺序读取,也就是数据都集中在一起,按照最优化的速度读写,顺序读写主要是针对大容量文件的读写任务,如文件备份或视频编辑等,顺序读写好坏的标准是“吞吐量MBPS”,即每秒钟读写数据的大小。顺序读写的特点是读写时间短、数据大且集中、具有连续性,等等。举例来说,在固态硬盘标注的读写速度参数指的就是顺序读写,数值越高代表读写性能越强,单位是MB/s。顺序读写代表的是第二内存22进行大容量文件读写的时候具备的性能,如要使用第二内存22拷贝一个几GB或者更大的视频等文件,这时候发挥作用的就是顺序读写的性能。
对于小块数据和大块数据的划分是基于阈值进行的。其中,阈值的大小是根据历史经验或实际需求进行设置的。进一步地,根据读写请求中待处理数据的大小,确定该读写请求是对随机访问区的读写访问,还是对顺序访问区的读写访问。
示例地,阈值设置为4KB。此时,对于一个数据量大小小于4KB的数据块而言,在随机访问区221中进行读写;对于一个数据量大小大于4KB的数据块而言,在顺序访问区222中进行读写;对于一个数据量大小等于4KB的数据块而言,可以在顺序访问区222中进行读写,也可以在随机访问区221中进行读写,具体视实际需求进行设置。
本申请实施例中,根据处理的数据块的大小将第二内存进一步分为随机访问区和顺序访问区,随机访问区进行小块数据的读写而顺序访问区进行大块数据的读写,以达到在不同模式下可以兼顾读写速度和性价比的目的。
由于第二内存22具有透明压缩功能,压缩前后的数据量不同,所以需要地址映射关系来记录压缩前的逻辑存储地址和数据压缩后的物理存储地址之间的映射关系。一些实施例中,第二内存22的地址映射关系存储在第一内存21中。
具体地,在第二内存22中,每个数据块都对应有一个压缩前的逻辑存储地址和压缩后的物理存储地址,将压缩前的逻辑存储地址和压缩后的物理存储地址的对应关系称作地址映射。目前,从技术成熟性的角度考虑,大多数地址映射关系都是存储在第一内存21中,单从技术可能性的角度考虑,也可以实现将地址映射关系保存在第二内存22中,但是相比于将地址映射关系保存在第二内存22中,将地址映射关系保存在第一内存21中的技术更稳定,更完善,便于操作。关于逻辑存储地址与物理存储地址,逻辑存储地址是从主机角度看物理存储设备数据的编址,在存储设备中,需要将提供给主机的逻辑块地址转换成相应的数据实际存储的物理介质地址。
进一步地,第二内存22可以对应多个地址映射关系,多个地址映射关系分别对应第二内存22的不同访问区。例如,对于如前所述的随机访问区221和顺序访问区222可以分别对应有各自的地址映射关系。这两个地址映射关系可以都存储在第一内存21中;或者,这两个地址映射关系可以都存储在第二内存22中;或者,这两个地址映射关系中的一个存储在第一内存21中,另一个存储在第二内存22中。
本申请实施例中,在第二内存中,针对不同的访问区采用不同的地址映射关系,以便于内存管理。
图4为本申请一实施例提供的扩展内存的随机访问区按ECC码字长度进行压缩的示意图。图5为本申请一实施例提供的随机访问区内一个ECC码字内部格式的示意图。图6为本申请一实施例提供的顺序访问区内ECC码字内部格式的示意图。根据图3、图4和图5,进行对比分析:
更进一步地,在第二内存中采用粗粒度的地址映射,可以减少地址映射的内存开销,内存开销即内存占用率。所谓粗粒度即粒度大,细化程度级别低,相反地,细粒度即粒度小,细化程度高。因此,随机访问区的地址映射粒度不同于顺序访问区的地址映射粒度。
由于随机访问区的数据块较小,而顺序访问区的数据块较大,为了在不同的访问区可以同时兼顾速度和性价比,在数据块较小的随机访问区设定的地址映射粒度也较小,从而在计算层面上更加细致,在数据块较大的顺序访问区设定的地址映射粒度也较大,在计算层面上相对粗略,提高了运算速度。
本申请实例中,通过在随机访问区和顺序访问区采用不同的地址映射粒度,实现了在兼顾速度的同时,也提高了性价比这一目标。
一些实施例中,第二内存包含多种透明压缩引擎,不同透明压缩引擎对应于第二内存的不同访问区。例如,随机访问区对应一种透明压缩引擎,顺序访问区对应的另一种透明压缩引擎,其中,随机访问区对应的压缩单元为随机访问区的地址映射粒度的整数倍。和/或,顺序访问区对应的压缩单元为第一阈值。
考虑到内存密度越来越大,越容易出错,但通常希望不出错,或者出错概率低,因此,在上述实施例的基础上,进一步引入校验码字,例如ECC码字,以用于数据的校验保护,防止内存错误或者内存错误时可以纠正回来。其中,校验码字越长越有利于检测是否有错误。
例如,预在第二内存中写入100字节的数据,但实际写入的数据是110字节,其中,10个字节用于记录上述100个字节需要满足的关系,这10个字节即校验码;之后,在读取该数据的时候,读取110字节,校验100字节是否满足相同的关系,满足就不存在内存错误,不满足就存在内存错误。
可选地,由于随机访问区对应的数据块小,所以,随机访问区对应的校验码字的长度要短于顺序访问区对应的校验码字的长度。通过在不同的访问区采用不同的校验码字长度,既保证了访问的低延迟,又进一步降低了存储的成本。
示例地,在一般情况下,ECC校验码越长,纠错能力也相应越强。若在相同的纠错能力下,对于一组压缩后的数据而言,数据量越大,ECC校验码的内存开销越低。例如,若一组压缩后的数据大小100字节,而加入ECC校验码之后为110字节,则ECC校验码长度为10字节,此时ECC校验码的内存开销为10%。若一组数据压缩后大小为1000字节,在加入ECC校验码之后为1050字节,此时的ECC校验码的长度为50B,内存开销为5%。因此,可以通过提高一个校验码字包含的数据量,减小校验码的内存开销。
示例地,图5中的随机访问区的一个ECC码字长度为256B,该ECC码字内的ECC校验码长度为8B;图6中的顺序访问区一个ECC码字长度为4KB,该ECC码字内的ECC校验码长度16B。因此,不但随机访问区的ECC校验码长度和顺序访问区中的ECC校验码长度不同,随机访问区中的ECC码字和顺序访问区中的ECC码字的长度也不同。
本申请实施例中,通过在压缩的数据中加入ECC校验码,使得不同的访问区对应不同长度的ECC校验码和ECC码字,从而在一定程度上避免了压缩数据出错或者遗失的问题,提高了压缩数据的准确率,保障了数据的安全性,还保证了读写访问的低延迟。
结合图4、图5和图6进行分析:在第二内存中,当一个物理存储页的可用空间不足以容纳一个新的压缩页且可用空间的大小小于第二阈值时,该可用空间用于填充无效数据。
一示例中,对于随机访问区内的数据,压缩以其地址映射粒度的整数倍为压缩单元,且使得压缩后的数据块大小尽量接近但不大于随机访问区的一个ECC码字的长度,同时,压缩前包含在同一个内存页的数据对应于随机访问区内一个ECC码字中。参考图4,每个数据块的大小,即随机访问区的地址映射粒度(该粒度为CPU高速缓存行大小的整数倍),为256B;对数据块0到数据块1进行压缩后的数据大小为240B,对数据块0到数据块2进行压缩后的数据大小为260B,若随机访问区的一个ECC码字长度为256B(包含相应的ECC校验码,且ECC校验码的长度为8B),则选取数据块0到数据块1进行压缩,压缩后的数据按图5所示进行封装。对压缩前包含在同一个内存页的数据进行压缩后的数据在一个ECC码字中连续存放。图5显示了随机访问区内一个ECC码字的封装格式,包括压缩前长度、压缩后长度、有效数据、无效填充数据以及ECC校验码五部分。对应到图4的示例,压缩前长度为256B*2=512B,压缩后长度为240B,两个长度本身各占用2B的空间,ECC校验码长度为8B,则无效填充数据部分的长度为256B-2B-2B-240B-8B=4B,实际使用中无效数据部分可填充全0数据。
又一示例中,对于顺序访问区内的数据,压缩后的数据在顺序访问区中也连续存放;对于顺序访问区中压缩后的数据,每个物理内存页均包含一个页头,用于存放该物理内存页内所有压缩数据的元信息,包括页面个数和各页面的长度。在图6中,ECC码字的长度(包含ECC校验码)为一个物理内存页的大小(这里示例为4KB),ECC校验码的长度为16B,第一个ECC码字(ECC码字A)内,包含3个压缩后的页面(每个页面压缩前均为4KB),页面0压缩后为1000B,页面1压缩后2000B,页面2压缩后为2072B,使用2B表示页面个数和每个页面的长度,则ECC码字A中用于存储有效页面数据的空间为4096B-2B*4-16B=4072B,因此页面0和页面1可以完全保存在该空间内,而页面2只有1072B可以保存在该空间,剩余的1000B需要保存在下一个ECC码字中,即图6所示的ECC码字B中;在ECC码字B中包含两个页面,其中页面0为ECC码字A中页面2剩余的1000B,页面1为完整的3000B(压缩后),此时ECC码字B中剩余空间为4096B-2B*3-16B-1000B-3000B=74B,若剩余空间的阈值为256B且下一个4KB压缩后的长度大于74B,则该74B将不被用于新的压缩页面的存储,而是填充无效数据,例如全0数据。该示例中,第二阈值为256B,但本申请实施例不以此为限制。
如上述示例可见,顺序访问区中的物理存储页面支持横跨多个校验码字,即页面2包含的压缩数据中1072B保存在ECC码字A中,而剩下的1000B保存在ECC码字B中,也就是说,页面2包含的压缩后的数据横跨了两个ECC码字。通过使得顺序访问区中的物理存储页面支持横跨多个校验码字,可以更有效的利用存储空间,进一步降低存储成本。
图7为本申请一实施例提供的电子设备的结构示意图。示例性地,电子设备可以被提供为主机或计算机。参照图7,电子设备700包括处理组件701,其进一步包括一个或多个处理器,以及由上述的内存***702所代表的存储资源,用于存储可由处理组件701的执行的指令,例如应用程序,或其他数据。
电子设备700还可以包括一个电源组件703被配置为执行电子设备700的电源管理,一个有线或无线网络接口704被配置为将电子设备700连接到网络,和一个输入输出(I/O)接口605。电子设备700可以操作基于存储在内存***702的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种内存***,其特征在于,包括:
第一内存和具有透明压缩功能的第二内存,其中,所述第一内存为易失性存储介质,所述第二内存为基于计算快速链接CXL的存储介质。
2.根据权利要求1所述的内存***,其特征在于,所述第二内存包括随机访问区和顺序访问区,所述随机访问区用于小块数据的读写;所述顺序访问区用于大块数据的读写,所述小块数据和所述大块数据是基于阈值划分的。
3.根据权利要求2所述的内存***,其特征在于,所述随机访问区的地址映射粒度不同于所述顺序访问区的地址映射粒度。
4.根据权利要求2所述的内存***,其特征在于,所述随机访问区对应的压缩单元为所述随机访问区的地址映射粒度的整数倍;和/或,所述顺序访问区对应的压缩单元为第一阈值。
5.根据权利要求2所述的内存***,其特征在于,所述随机访问区对应的校验码字的长度要短于所述顺序访问区对应的校验码字的长度。
6.根据权利要求5所述的内存***,其特征在于,所述顺序访问区中的物理存储页面支持横跨多个校验码字。
7.根据权利要求1至6中任一项所述的内存***,其特征在于,所述第二内存的地址映射关系存储在所述第一内存中,所述地址映射关系用于记录数据压缩前的逻辑存储地址与数据压缩后的物理存储地址之间的映射关系。
8.根据权利要求7所述的内存***,其特征在于,所述第二内存对应多个地址映射关系,所述多个地址映射关系分别对应所述第二内存的不同访问区。
9.根据权利要求1至6中任一项所述的内存***,其特征在于,在所述第二内存中,当一个物理存储页的可用空间不足以容纳一个新的压缩页且所述可用空间的大小小于第二阈值时,所述可用空间用于填充无效数据。
10.一种电子设备,其特征在于,包括至少一个处理器以及如权利要求1至9中任一项所述的内存***,其中,所述内存***与所述至少一个处理器通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110619857.1A CN113360093B (zh) | 2021-06-03 | 2021-06-03 | 内存***和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110619857.1A CN113360093B (zh) | 2021-06-03 | 2021-06-03 | 内存***和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360093A true CN113360093A (zh) | 2021-09-07 |
CN113360093B CN113360093B (zh) | 2022-11-08 |
Family
ID=77531692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110619857.1A Active CN113360093B (zh) | 2021-06-03 | 2021-06-03 | 内存***和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360093B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281762A (zh) * | 2022-03-02 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种日志存储加速方法、装置、设备及介质 |
CN116466879A (zh) * | 2023-03-17 | 2023-07-21 | 北京超弦存储器研究院 | 一种cxl内存模组、内存数据的置换方法及计算机*** |
WO2024002123A1 (zh) * | 2022-06-30 | 2024-01-04 | 无锡芯光互连技术研究院有限公司 | 一种基于cxl协议的网络连接方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200065290A1 (en) * | 2019-08-05 | 2020-02-27 | Intel Corporation | Mechanism for device interoperability of switches in computer buses |
CN110879800A (zh) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 数据写入、压缩和读取方法、数据处理方法及装置 |
CN112148626A (zh) * | 2019-06-27 | 2020-12-29 | 北京忆恒创源科技有限公司 | 压缩数据的存储方法及其存储设备 |
CN112463687A (zh) * | 2020-11-24 | 2021-03-09 | 海光信息技术股份有限公司 | 片上一致性互联结构、缓存一致性互联方法及*** |
CN112527730A (zh) * | 2019-09-19 | 2021-03-19 | 英特尔公司 | 用于处理具有设备附接的存储器的远程直接存储器存取操作的***、装置和方法 |
-
2021
- 2021-06-03 CN CN202110619857.1A patent/CN113360093B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110879800A (zh) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 数据写入、压缩和读取方法、数据处理方法及装置 |
CN112148626A (zh) * | 2019-06-27 | 2020-12-29 | 北京忆恒创源科技有限公司 | 压缩数据的存储方法及其存储设备 |
US20200065290A1 (en) * | 2019-08-05 | 2020-02-27 | Intel Corporation | Mechanism for device interoperability of switches in computer buses |
CN112527730A (zh) * | 2019-09-19 | 2021-03-19 | 英特尔公司 | 用于处理具有设备附接的存储器的远程直接存储器存取操作的***、装置和方法 |
CN112463687A (zh) * | 2020-11-24 | 2021-03-09 | 海光信息技术股份有限公司 | 片上一致性互联结构、缓存一致性互联方法及*** |
Non-Patent Citations (1)
Title |
---|
电气传播: "CXL如何在CPU和连接的CXL设备上保持一致的内存空间", 《集贤网》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281762A (zh) * | 2022-03-02 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种日志存储加速方法、装置、设备及介质 |
CN114281762B (zh) * | 2022-03-02 | 2022-06-03 | 苏州浪潮智能科技有限公司 | 一种日志存储加速方法、装置、设备及介质 |
WO2024002123A1 (zh) * | 2022-06-30 | 2024-01-04 | 无锡芯光互连技术研究院有限公司 | 一种基于cxl协议的网络连接方法及*** |
CN116466879A (zh) * | 2023-03-17 | 2023-07-21 | 北京超弦存储器研究院 | 一种cxl内存模组、内存数据的置换方法及计算机*** |
CN116466879B (zh) * | 2023-03-17 | 2023-12-29 | 北京超弦存储器研究院 | 一种cxl内存模组、内存数据的置换方法及计算机*** |
Also Published As
Publication number | Publication date |
---|---|
CN113360093B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113360093B (zh) | 内存***和设备 | |
US10127166B2 (en) | Data storage controller with multiple pipelines | |
CN111095223A (zh) | 通过存储器总线实现主动持久存储器的方法和*** | |
TWI791536B (zh) | 記憶體控制器、系統及包括記憶體控制器的應用處理器 | |
US20210278998A1 (en) | Architecture and design of a storage device controller for hyperscale infrastructure | |
CN111679795B (zh) | 无锁并发io处理方法及其装置 | |
CN103838676B (zh) | 数据存储***、数据存储方法及pcm桥 | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
US20210406189A1 (en) | Information processing device, access controller, information processing method, and computer program | |
WO2023226797A1 (zh) | 数据压缩方法及闪存设备 | |
CN108920094B (zh) | 擦除单元raid方法、装置、计算机设备及存储介质 | |
US20240231645A1 (en) | Storage device, data storage method, and storage system | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
CN107632779B (zh) | 数据处理方法和装置、服务器 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、***、设备及存储介质 | |
CN109358818B (zh) | 一种数据中心的块设备io请求处理方法 | |
US20240070120A1 (en) | Data processing method and apparatus | |
CN117075810A (zh) | 一种基于zns固态硬盘的数据管理方法 | |
US20230142948A1 (en) | Techniques for managing context information for a storage device | |
KR102589609B1 (ko) | 분할된 저장장치에서의 스냅샷 관리 | |
WO2023020136A1 (zh) | 存储***中的数据存储方法及装置 | |
CN116560560A (zh) | 存储数据的方法和相关装置 | |
CN104424124A (zh) | 内存装置、电子设备和用于控制内存装置的方法 | |
KR20230037255A (ko) | 이벤트 로그 관리 방법, 컨트롤러 및 저장 장치 | |
CN113448487A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |