CN117149054A - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN117149054A CN117149054A CN202310511230.3A CN202310511230A CN117149054A CN 117149054 A CN117149054 A CN 117149054A CN 202310511230 A CN202310511230 A CN 202310511230A CN 117149054 A CN117149054 A CN 117149054A
- Authority
- CN
- China
- Prior art keywords
- memory region
- memory
- data
- storage
- host system
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 328
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/061—Improving I/O performance
-
- 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
- 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
-
- 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/0656—Data buffering 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/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]
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了存储系统及其操作方法。所述存储系统包括:主机系统;以及多个存储集,被配置为与主机系统接口连接。所述多个存储集中的至少一个包括:第一存储器区域;第二存储器区域;以及第三存储器区域,并且所述多个存储集中的所述至少一个被配置为基于数据访问特征将存储在所述第三存储器区域中的数据移动到所述第一存储器区域和所述第二存储器区域之中的选择的存储器区域。
Description
本申请要求于2022年5月31日在韩国知识产权局提交的第10-2022-0067039号韩国专利申请和于2022年11月2日在韩国知识产权局提交的第10-2022-0144217号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及存储系统及其操作方法。
背景技术
存储装置是存储数据的装置。例如,存储装置可在主机装置(诸如,计算机、智能电话或智能平板)的控制下操作,并且可包括例如将数据存储在半导体存储器(具体地,非易失性存储器(诸如,固态驱动器(SSD)、存储卡等))中的装置。另外,存储装置可根据其实现来执行计算功能,并且可包括附加的易失性存储器和用于执行计算功能的核,以执行计算功能。包括在存储装置中的非易失性存储器(诸如,NAND闪存)的长延迟是降低性能的主要因素,因此,期望能够提高存储装置的性能的技术。
发明内容
本公开的实施例提供了能够通过使用数据访问特征执行高速缓存和预取来提高性能的存储系统。
根据实施例的一个方面,一种存储系统包括:主机系统;以及多个存储集,被配置为与主机系统接口连接。所述多个存储集中的至少一个包括:第一存储器区域;第二存储器区域;以及第三存储器区域。所述多个存储集中的所述至少一个被配置为基于数据访问特征将存储在所述第三存储器区域中的数据移动到所述第一存储器区域和所述第二存储器区域之中的选择的存储器区域。
根据实施例的一个方面,一种存储集包括:第一存储器区域,包括第一易失性存储器;第二存储器区域,包括第二易失性存储器;第三存储器区域,包括非易失性存储器;控制器,被配置为控制所述第一存储器区域、所述第二存储器区域和所述第三存储器区域;以及桥接器,被配置为提供所述存储集与主机系统之间的接口。控制器还被配置为基于数据访问特征将存储在所述第三存储器区域中的数据移动到所述第一存储器区域和所述第二存储器区域之中的选择的存储器区域。
根据实施例的一个方面,提供了一种操作存储集的方法。所述存储集包括多个存储器区域并且与主机系统可通信地结合。所述多个存储器区域包括具有非易失性存储器的第一存储器区域和具有易失性存储器的第二存储器区域。所述方法包括:基于与存储在所述第一存储器区域中的数据相关联的数据访问特征,从所述多个存储器区域识别与所述数据对应的存储器区域;检查所述数据是否被存储在识别的存储器区域中;以及基于识别的存储器区域为所述第二存储器区域,将所述数据从所述第一存储器区域移动到所述第二存储器区域。
附图说明
根据以下结合附图对示例实施例的描述,将更清楚地理解本公开的以上和其他方面和特征,其中:
图1示出根据实施例的存储系统100A;
图2示出根据实施例的主机系统120;
图3是示出根据实施例的主机系统120与多个存储集160之间的接口方法的示图;
图4示出根据实施例的存储集;
图5是示出根据实施例的存储系统100A的操作的示例的流程图;
图6是示出根据实施例的存储系统100A的操作的示例的流程图;
图7示出根据实施例的存储集160a_1;
图8是示出根据实施例的存储集的操作的流程图;
图9示出根据实施例的存储集160a_2;
图10是示出根据实施例的存储集的操作的流程图;
图11是示出根据实施例的存储集160a_3的示图;以及
图12示出根据实施例的存储系统100B。
具体实施方式
在下文中,将参照附图描述实施例。在此描述的实施例作为示例被提供,因此,本公开不限于此,并且可以以各种其他形式实现。以下描述中提供的每个实施例不排除与在此也提供或在此未提供但与本公开一致的另一示例或另一实施例的一个或多个特征相关联。诸如“……中的至少一个”的表述在一列元素之后时修饰整列元素,而不是修饰列中的单个元素。例如,表述“a、b和c中的至少一个”应理解为仅包括a、仅包括b、仅包括c、仅包括a和b两者、仅包括a和c两者、仅包括b和c两者、或包括a、b和c中的全部。
图1示出根据实施例的存储系统100A。
参照图1,根据实施例的存储系统100A包括主机系统120、背板140、存储集160和电池模块180。
存储系统100A可被实现为例如服务器、数据中心、个人计算机(PC)、网络附接存储装置、物联网(IoT)装置或便携式电子装置。便携式电子装置可包括膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)企业数字助理(EDA)、数码相机、数字摄像机、音频装置、便携式多媒体播放器(PMP)、个人导航装置(PND)、MP3播放器、手持式游戏机、电子书、可穿戴装置等。
主机系统120可通过各种接口与存储集160通信。例如,主机系统120可用应用处理器(AP)或片上系统(SoC)来实现。此外,例如,主机系统120可用集成电路或主板来实现,但是实施例不限于此。
主机系统120可将写入请求和读取请求发送到存储集160。存储集160可响应于写入请求而存储从主机系统120接收的数据,并且可响应于读取请求而读取存储的数据并将读取的数据发送到主机系统120。此外,主机系统120可将预取请求发送到存储集160。响应于预取请求,存储集160可执行存储在具有相对长延迟的存储器区域中的数据到具有相对短延迟的存储器区域的高速缓存或预取。
背板140设置在主机系统120与存储集160之间,连接到主机系统120和存储集160,并且背板140可被配置为允许主机系统120和存储集160通过各种通信协议交换数据。
存储集160和电池模块180可以以形状因子容纳。形状因子可包括符合标准规范的各种形状因子,并且可以是例如包括E3.S、E3.S 2T、E3.L和E3.L2T的企业和数据中心标准形状因子(EDSFF),但是实施例不限于此。
多个存储集160a至160c可设置在存储集160中,并且可通过背板140连接到主机系统120和电池模块180。存储集160是具有计算功能和数据存储功能的装置,并且可被称为智能存储装置。存储集160可通过背板140从主机系统120和电池模块180接收电力。
电池模块180通过背板140连接到主机系统120和多个存储集160。电池模块180可用例如锂离子电池、可再充电电池、电容器、超级电容器等来实现。然而,这仅是说明性的,并且实施例不限于此。电池模块180可将电力提供给主机系统120和多个存储集160。另外,当由主机系统120提供的主电力降低到参考电力电平以下时,电池模块180可用作备用电源。在这种情况下,电池模块180可用于替换或补充从外部电源供应的电力。
在一个实施例中,多个存储集160中的至少一个可包括多个存储器区域。为了便于描述,将假设存储集160包括三个存储器区域MR1、MR2和MR3。然而,这仅是说明性的,并且实施例不限于此。例如,存储集160可包括两个存储器区域或多于三个存储器区域。
多个存储器区域MR1、MR2和MR3形成存储器层级,并且可被设置为分别存储不同特性的数据。
例如,第一存储器区域MR1可被设置为存储立即使用的数据。在这种情况下,立即使用的数据可指代响应于从主机系统120接收的请求而应当立即传送的数据。第一存储器区域MR1可用具有相对低延迟的存储器来实现。第一存储器区域MR1可用例如易失性存储器(诸如,DRAM)来实现。此外,第一存储器区域MR1可用SRAM或eSRAM来实现。
例如,第二存储器区域MR2可被设置为存储频繁使用的数据。在这种情况下,频繁使用的数据可以是由主机系统120以高频率访问的数据,并且可指代可由主机系统120在接近的时间点访问的数据。第二存储器区域MR2可用具有相对低延迟的存储器来实现。第二存储器区域MR2可用例如易失性存储器(诸如,DRAM)来实现。
例如,第三存储器区域MR3可被设置为存储重要数据。在这种情况下,重要数据可指代即使在诸如突然断电(SPO)的情况下也不应当丢失的数据。第三存储器区域MR3可用具有相对长延迟的存储器来实现。第三存储器区域MR3可用非易失性存储器(诸如,以NAND闪存为例)来实现。
根据实施例的存储系统100A可基于数据访问特征将数据存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中。可选地,存储系统100A可将存储在具有长延迟的第三存储器区域MR3中的数据移动到具有相对短延迟的第一存储器区域MR1或第二存储器区域MR2。例如,数据访问特征可指示数据是否为:响应于从主机系统120接收的请求而应当立即被传送的数据、由主机系统120以高频率访问的数据、即使在诸如SPO的情况下也不应当丢失的数据、或者应当安全地被传送以抵抗攻击的数据。以这种方式,通过根据数据访问特征改变存储数据的存储器区域,根据实施例的存储系统100A可高效地管理数据,因此可提高整体性能。
在下文中,将描述包括在存储系统100A中的组件。
图2示出根据实施例的主机系统120。
参照图2,根据实施例的主机系统120包括电源121和主板122。电源121从电源生成电力PWR并将生成的电力PWR提供给主板122。可选地,电源121可将电力直接供应给背板140。
主板122可被称为母板或基板,并且包括第一处理器123、连接到第一处理器123的多个第一存储器124a和124b、第二处理器125、连接到第二处理器125的多个第二存储器126a和126b、以及基板管理控制器(BMC)127。
第一处理器123可使用多个第一存储器124a和124b作为操作存储器,并且第二处理器125可使用多个第二存储器126a和126b作为操作存储器。第一处理器123和第二处理器125可被配置为运行操作系统和各种应用。
例如,第一处理器123和第二处理器125可通过背板140将与数据访问特征相关联的信息发送到多个存储集160。在这种情况下,多个存储集160中的至少一个可基于数据访问特征将存储在第三存储器区域MR3(参照图1)中的数据移动到第一存储器区域MR1或第二存储器区域MR2。另外,第一处理器123和第二处理器125可访问背板140以控制关于多个存储集160的电力管理。
第一处理器123和第二处理器125可以是中央处理器(CPU),并且多个第一存储器124a和124b以及多个第二存储器126a和126b可以是易失性存储器(诸如,DRAM或SRAM)。
BMC 127可以是与第一处理器123和第二处理器125分离的系统,并且可监测存储系统100A的组件的物理状态,物理状态包括例如温度、湿度、电源121的电压、风扇速度、通信参数或操作系统功能。可选地,例如,BMC 127可将电力管理操作卸载到电池模块180。
图3是示出根据实施例的主机系统120与多个存储集160之间的接口方法的示图。
参照图3,背板140通过连接接口连接到主机系统120和每个存储集160。连接接口包括例如以下接口中的任何一个或其组合:诸如,外围组件互连快速(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、非易失性存储器快速(NVMe)、通过结构的NVMe(NVMeoF)、高级可扩展接口(AXI)、超路径互连(UPI)、以太网、传输控制协议/互联网协议(TCP/IP)、远程直接存储器访问(RDMA)、通过融合以太网的RDMA(ROCE)、光纤通道、无限带宽、iWARP、存储器语义接口、存储器一致性接口、计算快速链路(CXL)、CXL.mem、CXL.io、CXL.cache、Gen-Z、一致性加速器处理器接口(CAPI)、用于加速器的高速缓存一致性互连(CCIX)、系统管理(SM)总线、通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或集成驱动电子设备(IDE)。
在一个实施例中,主机系统120和多个存储集160可通过两个不同的接口连接。例如,主机系统120的处理器123和125中的至少一个可通过第一接口和第二接口连接到多个存储集160,并且主机系统120的BMC 127可通过第三接口连接到多个存储集160。在下文中,为了便于描述,假设CXL.mem接口用作第一接口,PCIe接口用作第二接口,并且SM总线用作第三接口。然而,这是示例,并且接口可不同地组合。例如,可使用CXL.io接口代替PCIe接口,并且可使用CXL.cache接口代替CXL.mem接口。可选地,可同时使用CXL.mem接口和CXL.cache接口。
如上所述,根据实施例的主机系统120和多个存储集160可通过多个不同的接口彼此连接。在这种情况下,通过多个不同的接口传送的数据可根据数据访问特征而存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中。例如,通过CXL.mem接口传送到存储集160a的数据可根据数据访问特征而存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中,并且通过PCIe接口传送到存储集160a的数据也可根据数据访问特征而存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中。通过CXL.mem接口接收数据的操作和通过PCIe接口接收数据的操作可在不同时间执行或同时执行。以这种方式,通过根据数据访问特征区分存储数据的存储器区域,高效的数据管理是可行的,因此可提高整体性能。
图4示出根据实施例的存储集。在下文中,为了便于描述,假设CXL.mem、PCIe和SM总线分别用作第一接口至第三接口。
参照图4,存储集160a可通过多个不同的连接接口(CXL.mem、PCIe和SM总线)连接到主机系统120(参照图1)。存储集160a包括桥接模块161、加速器162、第一存储器区域(MR1)163和存储控制器170,并且存储控制器170包括控制块(例如,控制器)171、第二存储器区域(MR2)172、第三存储器区域(MR3)173和映射表174。
桥接模块161可执行主机系统120与存储控制器170之间的接口操作。当从主机系统120接收到与数据的数据访问特征相关联的信息时,桥接模块161可将该信息发送到存储控制器170。可选地,当接收到与数据的数据访问特征相关联的信息时,桥接模块161可检查相应的数据是否存储在第一存储器区域163中。
加速器162可通过执行由主机系统120执行的一些计算来执行辅助主机系统120的计算的加速功能。例如,加速器162连接到存储控制器170,可从存储控制器170接收输入数据,可对输入数据执行计算以生成计算数据,并且可将生成的计算数据存储到第一存储器区域MR1中,或者可将生成的计算数据发送到存储控制器170。加速器162可响应于主机的命令执行上述计算操作。
第一存储器区域163可被称为第一缓冲存储器,并且可存储立即使用的数据。例如,第一存储器区域163可存储根据加速器162的计算的计算数据。可选地,第一存储器区域163可存储主机系统120的读取请求的数据之中的相对快速的返回的数据。可选地,第一存储器区域163可存储主机系统120的预取请求的数据之中的具有相对高优先级的数据。
第一存储器区域163可以是例如易失性存储器(诸如,DRAM或SRAM)。
存储控制器170可包括嵌入在电子装置中的内部存储器。例如,存储控制器170可包括固态驱动器(SSD)、嵌入式通用闪存存储(UFS)存储器装置或嵌入式多媒体卡(eMMC)。在一些实施例中,存储控制器170可以是或可包括可从电子装置移除的外部存储器。例如,存储控制器170可以是或可包括UFS存储卡、紧凑型闪存(CF)、安全数字(SD)、微型安全数字(Micro-SD)、迷你安全数字(Mini-SD)、极限数字(xD)或记忆棒。
存储控制器170可通过上述多个不同的接口(CXL.mem、PCIe、SM总线)与主机系统120通信。存储控制器170可从主机系统120接收命令(主机命令),并且可分析命令以生成用于控制加速器162的命令。
存储控制器170包括控制块171、第二存储器区域172、第三存储器区域173和映射表174。
控制块171可基于命令生成执行由主机系统120请求的操作所需的输入数据。可选地,控制块171可响应于来自主机系统120的请求而从第二存储器区域172或第三存储器区域173读取数据。此外,控制块171可从桥接模块161接收与数据的数据访问特征相关联的信息。控制块171可检查相应的数据是否存储在第二存储器区域172或第三存储器区域173中。
第二存储器区域172可被称为第二缓冲存储器,并且可存储频繁使用的数据。可选地,第二存储器区域172可存储主机系统120的读取请求的数据之中的相对缓慢的返回的数据。可选地,第二存储器区域172可存储主机系统120预取请求的数据之中的具有相对低优先级的数据。例如,第二存储器区域172可以是易失性存储器(诸如,DRAM或SRAM)。
第三存储器区域173是非易失性存储器并且可存储重要数据。例如,第三存储器区域173可以是非易失性存储器(诸如,NAND闪存)。
映射表174可管理关于存储在作为非易失性存储器的第三存储器区域173中的数据的地址ADDR。例如,映射表174可管理存储在第三存储器区域173中的数据的地址(诸如,逻辑地址(LA)或物理地址(PA))。在这种情况下,控制块171可通过映射表174检查由主机系统120请求的数据是否存储在第三存储器区域MR3中。然而,这是说明性的,并且映射表174还可管理存储在作为易失性存储器的第一存储器区域163和/或第二存储器区域172中的数据的地址。
根据实施例,存储控制器170可基于数据访问特征将数据存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中。可选地,存储控制器170可基于数据访问特征将存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中的数据移动到另外的存储器区域。例如,存储控制器170可基于数据访问特征将存储在第一存储器区域MR1中的数据移动到第二存储器区域MR2或第三存储器区域MR3。例如,存储控制器170可基于数据访问特征将存储在第二存储器区域MR2中的数据移动到第一存储器区域MR1或第三存储器区域MR3。例如,存储控制器170可基于数据访问特征将存储在第三存储器区域MR3中的数据移动到第一存储器区域MR1或第二存储器区域MR2。以这种方式,通过根据数据访问特征改变存储数据的存储器区域,可提高整体系统性能。
图5是示出根据实施例的存储系统100A的操作的示例的流程图。
在操作S1100中,存储集160a可从主机系统120接收与数据访问特征相关联的信息。例如,存储集160a可通过第一接口至第三接口中的至少一个接收与数据访问特征相关联的信息。
在操作S1200中,存储集160a可基于数据访问特征将数据分类为与第一存储器区域MR1至第三存储器区域MR3中的一个对应的数据。例如,存储集160a可将立即返回到主机系统120的数据分类为与第一存储器区域MR1对应的数据,可将频繁使用的数据分类为与第二存储器区域MR2对应的数据,并且可将重要数据分类为与第三存储器区域MR3对应的数据。
在操作S1300中,存储集160a可检查分类后的数据是否存储在对应的存储器区域中。例如,存储集160a可检查被分类为与第一存储器区域MR1对应的数据是否实际存储在第一存储器区域MR1中。
在操作S1400中,存储集160a可基于数据所对应的存储器区域与实际存储数据的存储器区域是否彼此匹配来确定数据移动是否必要。
当对应的存储器区域和存储的存储器区域不匹配时,存储集160a可将相应的数据移动到对应的存储器区域(操作S1500)。例如,当与第一存储器区域MR1对应的立即使用的数据被存储在第三存储器区域MR3中时,存储集160a可将相应数据高速缓存或预取到第一存储器区域MR1中。
当对应的存储器区域和存储的存储器区域彼此匹配时,存储集160a可继续将相应的数据存储在对应的存储器区域中。在这方面,当对应的存储器区域和存储的存储器区域彼此匹配时,移动数据的操作可被省略。
以这种方式,可通过根据数据的访问特征改变要存储数据的存储器区域来提高存储系统100A的整体性能。
图6是示出根据实施例的存储系统100A的操作的示例的流程图。为了便于描述,假设从图6中的主机系统120接收的数据的数据访问特征与频繁使用的数据相关联,并且相应的数据被分类为与第二存储器区域MR2对应的数据。
在操作S100中,主机系统120可分析从主机系统120接收的数据的数据访问特征。
在操作S110中,主机系统120可将与数据访问特征相关联的信息发送到存储集160a。例如,主机系统120可使用CXL.mem接口协议、PCIe接口协议或SM总线接口协议中的任何一个来发送与数据访问特征相关联的信息。在一个实施例中,主机系统120可将与数据访问特征相关联的信息和命令一起发送。例如,命令可以是预取命令或高速缓存命令。然而,这是示例,并且命令可以是引导(lead)命令。
在操作S120中,存储集160a可基于与数据访问特征相关联的信息将相应的数据分类为与第二存储器区域MR2对应的数据。
在操作S130中,存储集160a可检查相应的数据是否存储在第二存储器区域MR2中。当相应的数据未存储在第二存储器区域MR2中时,可执行操作S140。当相应的数据被存储在第二存储器区域MR2中时,存储集160a可返回指示操作完成的响应(S180)。
在操作S140中,存储集160a可检查相应的数据是否存储在第三存储器区域MR3中。例如,存储集160a可通过参考映射表174来检查相应的数据是否存储在第三存储器区域MR3中。
当相应的数据被存储在第三存储器区域MR3中时,可执行操作S150。在操作S150中,存储集160a可将存储在第三存储器区域MR3中的数据移动到第二存储器区域MR2。然后,在操作S180中,存储集160a可向主机系统120返回指示操作完成的响应。
当相应的数据未存储在第三存储器区域MR3中时,可执行操作S160。在操作S160中,存储集160a可检查相应的数据是否存储在第一存储器区域MR1中。
当相应的数据被存储在第一存储器区域MR1中时,可执行操作S170。在操作S170中,存储集160a可将存储在第一存储器区域MR1中的数据移动到第二存储器区域MR2。此后,在操作S180中,存储集160a可向主机系统120发送指示操作完成的响应。
当相应的数据未存储在第一存储器区域MR1中时,存储集160a可返回错误响应(S190)。
如上所述,根据实施例的存储系统100A可通过根据数据访问特征区分要存储数据的存储器区域来高效地管理数据,从而提高存储系统的整体性能。
在图6中,为了便于描述,假设数据访问特征与第二存储器区域MR2对应。然而,这仅是说明性的,并且即使当数据访问特征与第一存储器区域MR1或第三存储器区域MR3对应时,存储系统100A也可以以与图6中相同的方式或类似的方式进行操作。
在图1至图6中,已经描述了由主机系统120分析数据访问特征,并且主机系统120将分析的数据访问特征发送到存储集160a。然而,这仅是说明性的,并且实施例不限于此。例如,数据访问特征可由存储集160a识别。这将在下面更详细地描述。
图7示出根据实施例的存储集160a_1。图7的存储集160a_1类似于图4的存储集160a,因此,使用相同或相似的附图标记表示相同或相似的组件,并且将省略附加描述以避免冗余。
参照图7,与图4的存储集160a相比,根据实施例的存储集160a_1还包括数据模式分析器164。
数据模式分析器164可分析从主机系统120(参照图1)接收的数据的访问模式。例如,数据模式分析器164可基于数据调用频率、重要性、安全级别等来分析数据访问模式,并且可从中提取数据访问特征。
根据实施例的存储集160a_1可分析接收的数据的模式,并且可基于模式分析结果提取数据访问特征。存储集160a_1可基于提取的数据访问特征将数据存储在第一存储器区域MR1至第三存储器区域MR3中的任何一个中,或者可将先前存储的数据从一个存储器区域移动到另外的存储器区域。因此,高效的数据管理是可行的,并且可提高整体性能。
图8是示出图7的存储集160a_1的操作的示例的流程图。
在操作S2100中,存储集160a_1可分析与数据相关联的访问模式。例如,存储集160a_1可基于数据调用频率、重要性、安全级别等来分析数据访问模式,并且可从中提取数据访问特征。
在操作S2200中,存储集160a_1可基于数据访问特征将数据分类为与第一存储器区域MR1至第三存储器区域MR3中的一个对应的数据。
在操作S2300中,存储集160a_1可检查分类后的数据是否存储在对应的存储器区域中。
在操作S2400中,存储集160a_1可基于数据所对应的存储器区域与实际存储数据的存储器区域是否彼此匹配来确定数据移动是否必要。
当对应的存储器区域和存储的存储器区域不匹配时,存储集160a_1可将相应的数据移动到对应的存储器区域(操作S2500)。当对应的存储器区域和存储的存储器区域彼此匹配时,存储集160a_1可继续将相应的数据存储在对应的存储器区域中。
根据实施例的存储集160a_1可分析接收的数据的模式,并且可基于模式分析结果提取数据访问特征。另外,存储集160a_1可根据数据访问特征来改变要存储数据的存储器区域。因此,可提高整体系统性能。
图9示出根据实施例的存储集160a_2。图9的存储集160a_2类似于图7的存储集160a_1,因此,使用相同或相似的附图标记表示相同或相似的组件,并且将省略附加描述以避免冗余。
参照图9,与图7的存储集160a_1相比,根据实施例的存储集160a_2还包括预取次序调度器165。
预取次序调度器165可监测与存储集160a_2的操作状态相关联的信息。在一个实施例中,预取次序调度器165可基于存储集的作为非易失性存储器的第三存储器区域173的操作状态(例如,数据存储方法、垃圾收集、耗损均衡和ECC保护码中的至少一个)来调整预取操作的执行次序。在这种情况下,与操作状态相关联的信息可包括与影响作为非易失性存储器的第三存储器区域173的延迟的操作状态相关联的信息。例如,与操作状态相关联的信息可包括与垃圾收集、耗损均衡、ECC保护码的深度等相关联的信息。另外,与操作状态相关联的信息可包括所请求的数据是以单层单元(SLC)方法还是以多层单元(MLC)方法被存储。
例如,当具有长延迟的操作(诸如,垃圾收集(GC))正在与请求预取的数据对应的存储器块中执行或被调度为在与请求预取的数据对应的存储器块中执行时,相应的预取操作的次序可调整为晚于其他预取操作被执行。
以这种方式,通过不仅考虑数据访问特征而且考虑关于影响延迟的操作状态的信息,可进一步提高整体系统性能。
图10是示出图9的存储集160a_2的操作的示例的流程图。
在操作S3100中,存储集160a_2可分析与数据相关联的访问模式。例如,存储集160a_2可基于数据调用频率、重要性、安全级别等来分析数据访问模式,并且可从中提取数据访问特征。
在操作S3200中,存储集160a_2可基于数据访问特征将数据分类为与第一存储器区域MR1至第三存储器区域MR3中的一个对应的数据。
在操作S3300中,存储集160a_2可检查分类后的数据是否存储在对应的存储器区域中。
在操作S3400中,存储集160a_2可基于数据所对应的存储器区域与实际存储数据的存储器区域是否彼此匹配来确定数据移动是否必要。
当对应的存储器区域和存储的存储器区域彼此匹配时,存储集160a_2可继续将相应的数据存储在对应的存储器区域中,并且可省略操作S3500、操作S3600和操作S3700。当对应的存储器区域和存储的存储器区域不匹配时,可执行操作S3500。
在操作S3500中,存储集160a_2可检查作为非易失性存储器的第三存储器区域173的操作状态。例如,存储集160a_2可检查是否正在第三存储器区域173中执行垃圾收集、耗损均衡、ECC保护码等。可选地,存储集160a_2可检查所请求的数据是以SLC方法还是MLC方法被存储。
在操作S3600中,存储集160a_2可基于数据访问模式和/或非易失性存储器的操作状态来重新调度预取次序。
在操作S3700中,存储集160a_2可根据调整后的预取次序将数据移动到对应的存储器区域。
为了便于描述,假设第一预取命令(第一预取CMD)和第二预取命令(第二预取CMD)被顺序地接收到存储集160a_2。此外,假设与第一预取命令和第二预取命令对应的数据是频繁使用的数据,并且与第二存储器区域172对应,但是被存储在第三存储器区域173中。
在一个实施例中,可正在对第三存储器区域173的存储器块之中的与第一预取命令对应的存储器块执行垃圾收集操作。在这种情况下,存储集160a_2可调整预取次序,使得在与第一预取命令对应的预取操作之前执行与第二预取命令对应的预取操作。详细地,存储集160a_2首先可将与第二预取命令对应的数据从第三存储器区域173预取到第二存储器区域172,并且可在垃圾收集操作完成之后将与第一预取命令对应的数据从第三存储器区域173预取到第二存储器区域172。
在一个实施例中,高级ECC保护码被应用于第三存储器区域173的存储器块之中的与第一预取命令对应的存储器块,并且低级ECC保护码被应用于第三存储器区域173的存储器块之中的与第二预取命令对应的存储器块。在这种情况下,存储集160a_2可调整预取次序,使得在与第一预取命令对应的预取操作之前执行与第二预取命令对应的预取操作。也就是说,存储集160a_2可延迟与第一预取命令对应的需要长延迟的数据的预取操作,并且可首先执行与第二预取命令对应的数据的预取操作。
以这种方式,通过不仅考虑数据访问特征而且考虑关于影响延迟的非易失性存储器的操作状态的信息,可进一步提高整体系统性能。
图11是示出根据实施例的存储集160a_3的示图。图11的存储集160a_3类似于图4的存储集160a,因此,使用相同或相似的附图标记表示相同或相似的组件,并且将省略附加描述以避免冗余。
在图4中,已经描述了控制块171、第二存储器区域172和第三存储器区域173被实现为一个存储控制器170。然而,这仅是说明性的,并且本公开不限于此。例如,如图11中所示,控制块171和桥接模块161可被实现为一个存储控制器170_1。然而,这仅是示例,并且控制块171、第二存储器区域172和第三存储器区域173可被实现为单独的芯片。
图12示出根据实施例的存储系统100B。图12的存储系统100B类似于图1的存储系统100A。因此,使用相同或相似的附图标记表示相同或相似的组件,并且将省略附加描述以避免冗余。
与图1的存储系统100A不同,图12的存储系统100B可不包括背板。详细地,图12的存储系统100B包括主机系统120和存储集160,并且主机系统120和存储集160可通过第一接口至第三接口连接。
此外,在一些实施例中,存储系统100B可不包括电池模块。在这种情况下,当主电力降低到存储电平以下时,存储系统100B可从外部电源接收电力。
根据实施例,存储系统基于数据访问特征在不同存储器区域中高速缓存或预取数据。因此,可高效地管理数据,并且可提高存储系统的性能。
在一些实施例中,根据实施例,由框表示的每个组件(诸如,图1至图4、图7、图9、图11和图12中示出的那些组件)可被实现为执行上述相应功能的各种数量的硬件、软件和/或固件结构。例如,这些组件中的至少一个可包括可通过一个或多个微处理器或其他控制装置的控制来执行相应的功能的各种硬件组件,各种硬件组件包括数字电路、可编程或不可编程逻辑器件或阵列、专用集成电路(ASIC)、晶体管、电容器、逻辑门或使用直接电路结构的其他电路(诸如,存储器、处理器、逻辑电路、查找表等)。此外,这些组件中的至少一个可包括模块、程序或代码的一部分,模块、程序或代码的一部分包含用于执行指定逻辑功能并且由一个或多个微处理器或其他控制装置执行的一个或多个可执行指令。此外,这些组件中的至少一个还可包括处理器(诸如,执行相应功能的中央处理器(CPU)、微处理器等)或可由处理器(诸如,执行相应功能的中央处理器(CPU)、微处理器等)实现。示例实施例的功能方面可在一个或多个处理器上执行的算法中实现。此外,由块或处理操作表示的组件、元件、模块或单元可采用任何数量的相关技术用于电子配置、信号处理和/或控制、数据处理等。
虽然已经具体示出和描述了实施例的方面,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种存储系统,包括:
主机系统;以及
多个存储集,被配置为通过两种不同的协议与主机系统接口连接,并且
其中,所述多个存储集中的至少一个包括:
第一存储器区域;
第二存储器区域;以及
第三存储器区域,并且
其中,所述多个存储集中的所述至少一个被配置为基于数据访问特征将存储在所述第三存储器区域中的数据移动到所述第一存储器区域和所述第二存储器区域之中的选择的存储器区域。
2.根据权利要求1所述的存储系统,其中,所述多个存储集中的所述至少一个包括:
加速器,被配置为支持计算操作;以及
存储控制器,包括多个非易失性存储器,
其中,加速器的计算结果被存储在所述第一存储器区域中,并且
其中,存储控制器包括所述第二存储器区域和所述第三存储器区域。
3.根据权利要求2所述的存储系统,其中,存储控制器还包括:映射表,被配置为管理与存储在所述第三存储器区域中的数据相关联的地址。
4.根据权利要求2所述的存储系统,其中,所述多个存储集中的所述至少一个还包括:数据模式分析器,被配置为通过分析从主机系统接收的数据的模式来获得数据访问特征。
5.根据权利要求2所述的存储系统,其中,所述多个存储集中的所述至少一个还包括:预取次序调度器,被配置为基于所述第三存储器区域的操作状态来调整从主机系统接收的预取命令的执行次序。
6.根据权利要求5所述的存储系统,其中,预取次序调度器还被配置为:基于关于所述第三存储器区域中的将要执行预取操作的存储器块的数据存储方法、垃圾收集、耗损均衡和ECC保护码中的至少一个来调整执行次序。
7.根据权利要求1所述的存储系统,其中,主机系统被配置为生成数据访问特征并且将数据访问特征发送到所述多个存储集中的所述至少一个。
8.根据权利要求1至7中的任一项所述的存储系统,其中,主机系统和所述多个存储集被配置为通过CXL接口和PCIe接口彼此通信。
9.根据权利要求1至7中的任一项所述的存储系统,其中,所述第一存储器区域和所述第二存储器区域各自包括易失性存储器,并且所述第三存储器区域包括非易失性存储器。
10.根据权利要求1至7中的任一项所述的存储系统,其中,所述第一存储器区域、所述第二存储器区域和所述第三存储器区域形成存储器层级结构。
11.根据权利要求1至7中的任一项所述的存储系统,还包括:电池电路,被配置为基于从主机系统提供的主电力的电平小于或等于参考电力的电平来将电力提供给所述多个存储集。
12.一种存储集,包括:
第一存储器区域,包括第一易失性存储器;
第二存储器区域,包括第二易失性存储器;
第三存储器区域,包括非易失性存储器;
控制器,被配置为控制所述第一存储器区域、所述第二存储器区域和所述第三存储器区域;以及
桥接模块,被配置为提供所述存储集与主机系统之间的接口,
其中,控制器还被配置为基于数据访问特征将存储在所述第三存储器区域中的数据移动到所述第一存储器区域和所述第二存储器区域之中的选择的存储器区域,并且
其中,桥接模块使用两种不同的接口协议与主机系统通信。
13.根据权利要求12所述的存储集,还包括:加速器,被配置为支持计算操作,并且将计算结果存储在所述第一存储器区域中。
14.根据权利要求12所述的存储集,还包括:数据模式分析电路,被配置为通过分析从主机系统接收的数据的模式来获得数据访问特征。
15.根据权利要求12所述的存储集,还包括:预取次序调度器,被配置为基于所述第三存储器区域的操作状态来调整预取操作的次序。
16.根据权利要求12至15中的任一项所述的存储集,其中,所述第一存储器区域、所述第二存储器区域和所述第三存储器区域形成存储器层级结构。
17.一种操作存储集的方法,所述存储集包括多个存储器区域并且通过至少两种不同的协议与主机系统可通信地结合,所述多个存储器区域包括具有非易失性存储器的第一存储器区域和具有易失性存储器的第二存储器区域,所述方法包括:
基于与存储在所述第一存储器区域中的数据相关联的数据访问特征,从所述多个存储器区域识别与所述数据对应的存储器区域;
检查所述数据是否被存储在识别的存储器区域中;以及
基于识别的存储器区域为所述第二存储器区域,将所述数据从所述第一存储器区域移动到所述第二存储器区域。
18.根据权利要求17所述的方法,还包括:从主机系统接收指示数据访问特征的信息。
19.根据权利要求17所述的方法,还包括:通过分析从主机系统接收的数据的模式来识别数据访问特征。
20.根据权利要求17至19中的任一项所述的方法,还包括:
检查所述第一存储器区域的操作状态;以及
基于所述第一存储器区域的操作状态来调整从主机系统接收的预取命令的执行次序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0067039 | 2022-05-31 | ||
KR10-2022-0144217 | 2022-11-02 | ||
KR1020220144217A KR20230166839A (ko) | 2022-05-31 | 2022-11-02 | 스토리지 시스템 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149054A true CN117149054A (zh) | 2023-12-01 |
Family
ID=88884927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310511230.3A Pending CN117149054A (zh) | 2022-05-31 | 2023-05-08 | 存储系统及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149054A (zh) |
-
2023
- 2023-05-08 CN CN202310511230.3A patent/CN117149054A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8151036B2 (en) | Memory controller, memory system, and access control method of flash memory | |
US11995003B2 (en) | Method of data caching and device caching data | |
KR101682980B1 (ko) | 시스템 온 칩에서의 대역폭 할당의 제어 | |
US20170322897A1 (en) | Systems and methods for processing a submission queue | |
US20150019794A1 (en) | Data storage device and operating method thereof | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US20170003981A1 (en) | Runtime data storage and/or retrieval | |
US10402338B2 (en) | Method and apparatus for erase block granularity eviction in host based caching | |
US20200057725A1 (en) | Data storage device and operating method thereof | |
KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
KR20210027563A (ko) | 저장 장치 및 그 동작 방법 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
KR20200139433A (ko) | 컨트롤러의 동작 방법 및 메모리 시스템 | |
EP3926451A1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
US11921629B1 (en) | Method and device for data storage | |
KR20190102438A (ko) | 전자 장치 및 그것의 동작 방법 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
KR102620727B1 (ko) | 전자 장치 | |
KR20200114086A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN110727470A (zh) | 一种混合式非失性存储装置 | |
KR20190091035A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN106055488B (zh) | 数据储存设备及其操作方法 | |
KR20190023196A (ko) | 데이터 저장 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |