CN117111831A - 存储器装置、存储装置以及计算系统 - Google Patents
存储器装置、存储装置以及计算系统 Download PDFInfo
- Publication number
- CN117111831A CN117111831A CN202310341546.2A CN202310341546A CN117111831A CN 117111831 A CN117111831 A CN 117111831A CN 202310341546 A CN202310341546 A CN 202310341546A CN 117111831 A CN117111831 A CN 117111831A
- Authority
- CN
- China
- Prior art keywords
- memory
- cxl
- storage device
- mapping data
- host
- 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 claims abstract description 603
- 238000013507 mapping Methods 0.000 claims abstract description 170
- 230000004044 response Effects 0.000 claims abstract description 106
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 6
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 101150101057 PBA1 gene Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 229910052715 tantalum Inorganic materials 0.000 description 1
- GUVRBAGPIYLISA-UHFFFAOYSA-N tantalum atom Chemical compound [Ta] GUVRBAGPIYLISA-UHFFFAOYSA-N 0.000 description 1
- 230000003936 working memory Effects 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/0614—Improving the reliability of 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing 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/0629—Configuration or reconfiguration of 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/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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
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)
- Quality & Reliability (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供了存储器装置、存储装置以及计算系统。所述存储器装置包括:缓冲存储器;非易失性备份存储器;以及存储器控制器,被配置为:将与外部存储装置相应的映射数据存储在缓冲存储器中;响应于来自外部存储装置的请求,向外部存储装置提供映射数据的地址对之中的与所述请求相应的地址对;以及响应于突然断电事件,将映射数据备份到非易失性备份存储器。
Description
本申请要求于2022年5月23日在韩国知识产权局提交的第10-2022-0063111号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及电子装置,更具体地,涉及管理映射数据的存储器装置、存储装置以及包括存储器装置和存储装置的计算装置。
背景技术
存储装置(诸如,固态驱动器)可包括与非(NAND)闪存。在主机中使用的逻辑块地址的系统不同于存储装置的NAND闪存的物理块地址的系统。为此,存储装置可通过使用逻辑块地址和物理块地址被映射的映射数据,来执行主机的逻辑块地址与NAND闪存的物理块地址之间的转换。
随着NAND闪存的容量增大,映射数据的大小也增大。因此,需要一种用于有效地管理大量映射数据的存储装置。
发明内容
实施例提供在没有专用于在存储装置中使用的高容量缓冲存储器的情况下管理大量映射数据的存储装置、包括存储装置和存储器装置的计算装置以及计算装置的操作方法。
根据实施例的一方面,一种存储器装置包括:缓冲存储器;非易失性备份存储器;以及存储器控制器,被配置为:将与外部存储装置相应的映射数据存储在缓冲存储器中;响应于来自外部存储装置的请求,向外部存储装置提供映射数据的地址对之中的与所述请求相应的地址对;以及响应于突然断电事件,将映射数据备份到非易失性备份存储器。
根据实施例的一方面,一种存储装置包括:非易失性存储器,被配置为存储用户数据和映射数据;以及存储控制器,被配置为:从非易失性存储器读取映射数据;将从非易失性存储器读取的映射数据发送到外部存储器装置;从外部存储器装置向外部存储器装置请求映射数据的地址对之中的用于访问非易失性存储器的地址对;以及基于在突然断电之后电力被接通,向外部存储器装置请求映射数据。
根据实施例的一方面,一种计算系统包括:主机;存储装置,包括存储用户数据和映射数据的非易失性存储器;存储器装置,包括缓冲存储器和非易失性备份存储器;以及总线,连接到主机、存储装置和存储器装置。主机被配置为:基于电力被接通,识别在存储装置中是否已经发生突然断电事件以及在存储器装置中是否已经发生突然断电事件。
附图说明
从以下结合附图对实施例的描述,将更清楚地理解本公开的以上以及其他方面和特征。
图1是示出根据实施例的包括存储装置的计算系统的框图。
图2是示出根据实施例的计算系统的框图。
图3是详细示出根据实施例的计算系统的组件的框图。
图4是示出根据实施例的计算系统的初始化操作或上电操作的第一阶段的流程图。
图5是示出根据实施例的当未发生突然断电事件时执行的计算系统的初始化的第二阶段的流程图。
图6是用于描述根据实施例的计算系统存储映射数据的操作的示图。
图7和图8是用于描述根据实施例的将映射数据存储在CXL存储器中的操作的示图。
图9是示出根据实施例的计算系统的典型的断电操作的流程图。
图10是示出根据实施例的计算系统的突然断电操作的流程图。
图11和图12是示出根据实施例的当发生突然断电事件时执行的计算系统的初始化的第二阶段的流程图。
图13是示出根据实施例的用于CXL存储设备的读取操作的流程图。
图14是示出根据实施例的用于CXL存储设备的写入操作的流程图。
图15示出根据实施例的CXL存储器。
图16是示出根据实施例的计算系统的框图。
图17是示出根据实施例的计算系统的框图。
图18是示出根据实施例的计算系统的框图。
图19是示出根据实施例的计算系统的框图。
图20是示出根据实施例的计算系统的框图。
图21是示出根据实施例的数据中心的框图。
具体实施方式
下面,将参照附图描述实施例。在此描述的实施例被提供为示例,因此,本公开不限于此,并且可以以各种其他形式被实现。在以下描述中提供的每个实施例不排除与也在此提供或没有在此提供但与本公开一致的另外的示例或另外的实施例的一个或多个特征相关联。
图1是示出包括存储装置的计算系统的框图。参照图1,计算系统10可包括主机11、多个存储器装置12a和12b以及存储装置13。主机11可控制计算系统10的整体操作。多个存储器装置12a和12b可用作主机11的工作存储器或系统存储器。
存储装置13可包括存储控制器13a、缓冲存储器13b和非易失性存储器13c。在主机11的控制下,存储控制器13a可将数据存储在非易失性存储器13c中,或者可将存储在非易失性存储器13c中的数据发送到主机11。
缓冲存储器13b可存储存储装置13操作所需的各种信息。例如,存储控制器13a可通过使用映射数据来管理存储在非易失性存储器13c中的数据。映射数据可包括关于由主机11管理的逻辑块地址与非易失性存储器13c的物理块地址之间的关系的信息。例如,映射数据可包括地址对,每个地址对包括逻辑块地址和物理块地址。每个地址对可映射一个逻辑块地址和一个物理块地址。存储控制器13a可将映射数据加载到缓冲存储器13b上并使用映射数据。
在一个实施例中,缓冲存储器13b可以是高速存储器(诸如,DRAM)。随着非易失性存储器13c的容量增大,需要的映射数据的大小可增大。然而,因为包括在单个存储装置13中的缓冲存储器13b的容量是有限的,所以缓冲存储器13b可能不能存储由于非易失性存储器13c的容量增大而需要的增大的映射数据。
图2是示出应用了根据实施例的存储系统的计算系统的框图。参照图2,计算系统100可包括主机101、多个存储器装置102a和102b、计算快速链路(CXL)存储设备110和CXL存储器120。在一个实施例中,计算系统100可被包括在用户装置(诸如,个人计算机、膝上型计算机、服务器、媒体播放器和数码相机)或汽车装置(诸如,导航系统、黑匣子和汽车电子装置/部件)中。可选地,计算系统100可以是移动系统(诸如,移动电话、智能电话、平板个人计算机(PC)、可穿戴装置、医疗保健装置或物联网(IoT)装置)。
主机101可控制计算系统100的整体操作。在一个实施例中,主机101可以是各种处理器(诸如,中央处理器(CPU)、图形处理单元(GPU)、神经处理单元(NPU)和数据处理单元(DPU))之一。在一个实施例中,主机101可包括单核处理器或多核处理器。
多个存储器装置102a和102b可用作计算系统100的主存储器或系统存储器。在一个实施例中,多个存储器装置102a和102b中的每个可以是动态随机存取存储器(DRAM)装置,并且可具有双列直插式存储器模块(DIMM)的形状因子。然而,实施例不限于此。例如,多个存储器装置102a和102b可包括非易失性存储器(诸如,闪存、相变RAM(PRAM)、电阻式RAM(RRAM)或磁性RAM(MRAM))。
多个存储器装置102a和102b可各自包括用于与主机101直接通信的接口(诸如,双倍数据速率(DDR)接口)。在一个实施例中,主机101可包括被配置为控制多个存储器装置102a和102b的存储器控制器。然而,实施例不限于此。例如,多个存储器装置102a和102b可通过各种接口与主机101通信。
CXL存储设备110可包括CXL存储设备控制器111、非易失性存储器NVM和电力存储设备PS(未示出)。在主机101的控制下,CXL存储设备控制器111可将数据存储在非易失性存储器NVM中,或者可将存储在非易失性存储器NVM中的数据发送到主机101。在一个实施例中,非易失性存储器NVM可以是NAND闪存,但是实施例不限于此。
CXL存储器120可包括CXL存储器控制器121、缓冲存储器BFM和非易失性备份存储器NVBM。在主机101的控制下,CXL存储器控制器121可将数据存储在缓冲存储器BFM或非易失性备份存储器NVBM中,或者可将存储在缓冲存储器BFM中的数据发送到主机101。在一个实施例中,缓冲存储器BFM可以是DRAM,但是实施例不限于此。
当发生突然断电(SOP)事件时,CXL存储器控制器121可将存储在缓冲存储器BFM中的数据之中的需要备份的数据备份到非易失性备份存储器NVBM。非易失性备份存储器NVBM可包括各种非易失性存储器(诸如,NAND闪存、相变存储器、磁性存储器、铁电存储器和电阻式存储器)之一。
在一个实施例中,主机101、CXL存储设备110和CXL存储器120可被配置为共享同一接口。例如,主机101、CXL存储设备110和CXL存储器120可通过CXL接口IF_CXL彼此通信。在一个实施例中,CXL接口IF_CXL可指示支持一致性、存储器访问以及输入和输出协议的动态协议复用使得加速器、存储器装置或各种电子装置之间的各种连接为可行的低延迟和高带宽链路。
在一个实施例中,与图1的存储装置13不同,CXL存储设备110可不包括用于存储或管理映射数据的单独的缓冲存储器。在这种情况下,CXL存储设备110可需要用于存储或管理映射数据的缓冲存储器。在一个实施例中,CXL存储器120的至少部分区域可用作CXL存储设备110的缓冲存储器。在这种情况下,由CXL存储设备110的CXL存储设备控制器111管理的映射表可被存储在CXL存储器120中。例如,CXL存储器120的至少部分区域可由主机101分配用于CXL存储设备110的缓冲存储器(即,用于CXL存储设备专用区域)。
在一个实施例中,CXL存储设备110可通过CXL接口IF_CXL来访问CXL存储器120。例如,CXL存储设备110可将映射表存储在CXL存储器120的分配区域中,或者可从CXL存储器120的分配区域读取映射表。在CXL存储设备110的控制下,CXL存储器120可将数据(例如,映射数据)存储在缓冲存储器BFM中,或者可将存储在缓冲存储器BFM中的数据(例如,映射数据)发送到CXL存储设备110。
如参照图1所述,相关的存储装置13通过使用包括在其中的缓冲存储器13b来存储和管理映射数据。随着存储装置13的容量增大,映射数据的大小增大,这需要增大包括在存储装置13中的缓冲存储器13b的容量。然而,由于包括在存储装置13中的缓冲存储器13b的结构和物理特性,容量的增大存在限制。
相比之下,根据实施例,CXL存储设备110可使用放置在CXL存储设备110外部的CXL存储器120的至少部分区域作为缓冲存储器。在这种情况下,因为CXL存储器120独立于CXL存储设备110而实现,所以CXL存储器120可利用高容量存储器来实现。这样,即使映射数据的大小由于CXL存储设备110的容量的增大而增大,映射数据也可由CXL存储器120正常地管理。
在一个实施例中,相关的存储装置13的存储控制器13a通过主机接口(诸如,外围组件互连快速(PCIe)或NVM快速(NVMe))与主机11通信,并且通过存储器接口(诸如,DDR接口或低功率双倍数据速率(LPDDR)接口)与缓冲存储器13b通信。也就是说,相关的存储装置13的存储控制器13a通过不同的接口(即,异构接口)与主机11和包括在其中的缓冲存储器13b通信。
相比之下,根据实施例,CXL存储设备110的CXL存储设备控制器111可通过CXL接口IF_CXL与主机101和CXL存储器120(即,缓冲存储器)两者通信。在这方面,CXL存储设备110的CXL存储设备控制器111可通过同构接口或公共接口与主机101和CXL存储器120通信,并且可使用CXL存储器120的部分区域作为缓冲存储器。
下面,为了便于描述,假设主机101、CXL存储设备110和CXL存储器120通过CXL接口IF_CXL彼此通信。然而,实施例不限于此。例如,主机101、CXL存储设备110和CXL存储器120可基于符合以下各项的各种计算接口彼此通信:GEN-Z协议、NVLink协议、针对加速器的高速缓存一致性互连(Cache Coherent Interconnect for Accelerators,CCIX)协议和开放一致性加速器处理器接口(Coherent Accelerator Processor Interface,CAPI)协议。
图3是详细示出根据实施例的图2的计算系统的组件的框图。参照图2和图3,计算系统100可包括CXL交换机SW_CXL、主机101、CXL存储设备110和CXL存储器120。
CXL交换机SW_CXL可以是包括在CXL接口IF_CXL中的组件。CXL交换机SW_CXL可被配置为仲裁主机101、CXL存储设备110和CXL存储器120之间的通信。例如,当主机101和CXL存储设备110彼此通信时,CXL交换机SW_CXL可被配置为将从主机101提供的信息(诸如,请求、数据、响应或信号)发送到CXL存储设备110,或者将从CXL存储设备110提供的信息(诸如,请求、数据、响应或信号)发送到主机101。当主机101和CXL存储器120彼此通信时,CXL交换机SW_CXL可被配置为将从主机101提供的信息(诸如,请求、数据、响应或信号)发送到CXL存储器120,或者将从CXL存储器120提供的信息(诸如,请求、数据、响应或信号)发送到主机101。当CXL存储设备110和CXL存储器120彼此通信时,CXL交换机SW_CXL可被配置为将从CXL存储设备110提供的信息(诸如,请求、数据、响应或信号)发送到CXL存储器120,或者将从CXL存储器120提供的信息(诸如,请求、数据、响应或信号)发送到CXL存储设备110。
主机101可包括CXL主机接口电路(CXL_H I/F电路)101a。CXL主机接口电路101a可通过CXL交换机SW_CXL与CXL存储设备110或CXL存储器120通信。
在一个实施例中,CXL存储设备110的构造可与相关的存储设备的构造不同。例如,相关的存储装置(例如,包括DRAM缓冲器的SSD)在包括在相关的存储装置中的DRAM缓冲器中存储和管理映射数据。在这种情况下,用于存储映射数据的高容量DRAM缓冲器可包括在相关的存储装置中。可选地,另外的类型的相关的存储装置(例如,无DRAM SSD或无DRAM存储器卡)可将全部映射数据存储在包括在常规存储装置中的非易失性存储器(例如,NAND闪存)中,并且将映射数据的一部分加载到SRAM缓冲器上并使用映射数据的一部分。在这种情况下,为了加载映射数据,具有比DRAM缓冲器的操作速度低的操作速度的非易失性存储器被频繁地访问,从而降低操作性能。
相比之下,根据本公开的CXL存储设备110可不包括被配置为存储映射数据的单独的DRAM缓冲器。在这种情况下,映射数据MD可在放置在CXL存储设备110外部的CXL存储器120中被存储和管理。如下面将描述的,因为CXL存储器120支持快速操作速度,所以CXL存储设备110可与相关的存储装置(例如,包括DRAM的存储装置)具有相同的性能。另外,因为CXL存储器120被放置在CXL存储设备110外部,所以CXL存储设备110的大量映射数据可被管理。
CXL存储设备110可包括CXL存储设备控制器111和非易失性存储器NVM。CXL存储设备控制器111可包括CXL存储设备接口电路(CXL_S I/F电路)111a、处理器111b、RAM 111c、闪存转换层(FTL)111d、纠错码(ECC)引擎111e和NAND接口电路111f。
CXL存储设备接口电路111a可与CXL交换机SW_CXL连接。CXL存储设备接口电路111a可通过CXL交换机SW_CXL与主机101或CXL存储器120通信。
处理器111b可被配置为控制CXL存储设备控制器111的整体操作。RAM 111c可用作CXL存储设备控制器111的工作存储器或缓冲存储器。在一个实施例中,RAM 111c可以是SRAM,并且可用作CXL存储设备110的读取缓冲器和写入缓冲器。在一个实施例中,如下面将描述的,RAM 111c可被配置为临时存储从CXL存储器120读取的映射数据MD或映射数据MD的一部分。
FTL 111d可执行各种管理操作以有效地使用非易失性存储器NVM。例如,FTL 111d可基于映射数据(或映射表)在由主机101管理的逻辑块地址与在非易失性存储器NVM中使用的物理块地址之间执行地址转换。FTL 111d可对非易失性存储器NVM执行坏块管理操作。FTL 111d可对非易失性存储器NVM执行损耗均衡操作。FTL 111d可对非易失性存储器NVM执行垃圾收集操作。
在一个实施例中,FTL 111d可以以硬件、固件或软件的形式或以其组合的形式来实现。在FTL 111d以固件或软件的形式来实现的情况下,与FTL 111d相关联的程序代码可被存储在RAM 111c中并且可由处理器111b驱动。在FTL 111d由硬件实现的情况下,被配置为执行以上管理操作的硬件组件可被实现在CXL存储设备控制器111中。
ECC引擎111e可对从非易失性存储器NVM读取的数据执行错误检测和纠正。例如,ECC引擎111e可生成要存储在非易失性存储器NVM中的用户数据UD的奇偶校验位,并且由此生成的奇偶校验位可与用户数据UD一起被存储在非易失性存储器NVM中。当用户数据UD从非易失性存储器NVM被读取时,ECC引擎111e可通过使用与用户数据UD一起从非易失性存储器NVM读取的奇偶校验位,来检测和纠正用户数据UD的错误。
NAND接口电路111f可控制非易失性存储器NVM,使得数据被存储在非易失性存储器NVM中或者数据从非易失性存储器NVM被读取。在一个实施例中,NAND接口电路111f可被实现为符合标准协议(诸如,切换接口或开放式NAND闪存接口(ONFI))。例如,非易失性存储器NVM可包括多个NAND闪存装置;在基于切换接口实现NAND接口电路111f的情况下,NAND接口电路111f可通过多个通道与多个NAND闪存装置通信。多个NAND闪存装置可通过多通道、多路结构与多个通道连接。
NAND接口电路111f可通过多个通道向多个NAND闪存装置发送芯片使能信号/CE、命令锁存使能信号CLE、地址锁存使能信号ALE、读取使能信号/RE和写入使能信号/WE。NAND接口电路111f和每个NAND闪存装置可通过每个通道交换数据信号DQ和数据选通信号DQS。
[表1]
/CE | CLE | ALE | /WE | /RE | DQS | DQx | 模式 |
L | H | L | ↑ | H | X | CMD | 命令输入 |
L | L | H | ↑ | H | X | ADDR | 地址输入 |
L | L | L | H | H | ↑↓ | DATA_in | 数据输入 |
L | L | L | H | ↑↓ | ↑↓ | DATA_out | 数据输出 |
表1示出根据每个信号的状态的NAND闪存装置的操作模式。参照表1,当NAND闪存装置接收命令CMD或地址ADDR、或者接收/输出数据“DATA”时,芯片使能信号/CE保持低电平“L”。在命令输入模式期间,NAND接口电路111f可控制信号线,使得命令锁存使能信号CLE具有高电平“H”,地址锁存使能信号ALE具有低电平“L”,写入使能信号/WE在高电平“H”与低电平“L”之间切换,并且读取使能信号/RE具有高电平“H”。在命令输入模式期间,NAND接口电路111f可通过数据信号DQx与写入使能信号/WE的上升沿↑同步地向NAND闪存装置发送命令CMD。NAND闪存装置可响应于写入使能信号/WE的上升沿↑,从数据信号DQx识别命令CMD。在地址输入模式期间,NAND接口电路111f可控制信号线,使得命令锁存使能信号CLE具有低电平“L”,地址锁存使能信号ALE具有高电平“H”,写入使能信号/WE在高电平“H”与低电平“L”之间切换,并且读取使能信号/RE具有高电平“H”。在地址输入模式期间,NAND接口电路111f可通过数据信号DQx与写入使能信号/WE的上升沿↑同步地向NAND闪存装置发送地址ADDR。NAND闪存装置可响应于写入使能信号/WE的上升沿↑,从数据信号DQx识别地址ADDR。在一个实施例中,地址ADDR可以是与NAND闪存装置的物理块地址相应的值。
在数据输入模式期间,NAND接口电路111f可控制信号线,使得命令锁存使能信号CLE具有低电平“L”,地址锁存使能信号ALE具有低电平“L”,写入使能信号/WE具有高电平“H”,读取使能信号/RE具有高电平“H”,并且数据选通信号DQS在高电平“H”与低电平“L”之间切换。在数据输入模式期间,NAND接口电路111f可通过数据信号DQx与数据选通信号DQS的上升沿↑和下降沿↓同步地向NAND闪存装置发送数据“DATA(DATA_in)”。NAND闪存装置可响应于数据选通信号DQS的上升沿↑和下降沿↓,从数据信号DQx识别数据“DATA(DATA_in)”。
在数据输出模式期间,NAND接口电路111f可控制信号线,使得命令锁存使能信号CLE具有低电平“L”,地址锁存使能信号ALE具有低电平“L”,写入使能信号/WE具有高电平“H”,并且读取使能信号/RE在高电平“H”与低电平“L”之间切换。在数据输出模式期间,NAND闪存装置可响应于读取使能信号/RE,生成在高电平“H”与低电平“L”之间切换的数据选通信号DQS。NAND闪存装置可通过数据信号DQx与数据选通信号DQS的上升沿↑和下降沿↓同步地向NAND接口电路111f发送数据“DATA(DATA_out)”。NAND接口电路111f可响应于数据选通信号DQS的上升沿↑和下降沿↓,从数据信号DQx识别数据“DATA(DATA_out)”。
上述切换接口是示例,并且实施例不限于此。
非易失性存储器NVM可在CXL存储设备控制器111的控制下存储或输出用户数据UD。非易失性存储器NVM可在CXL存储设备控制器111的控制下存储或输出映射数据MD。在一个实施例中,存储在非易失性存储器NVM中的映射数据MD可包括与存储在非易失性存储器NVM中的全部用户数据UD相应的映射信息。存储在非易失性存储器NVM中的映射数据MD可在CXL存储设备110的初始化操作中被存储在CXL存储器120中。
CXL存储器120可包括CXL存储器控制器121、缓冲存储器BFM、非易失性备份存储器NVBM和电力存储设备PS。CXL存储器控制器121可包括CXL存储器接口电路(CXL_M I/F电路)121a、处理器121b、存储器管理器121c和缓冲存储器接口电路121d。
CXL存储器接口电路121a可与CXL交换机SW_CXL连接。CXL存储器接口电路121a可通过CXL交换机SW_CXL与主机101或CXL存储设备110通信。
处理器121b可被配置为控制CXL存储器控制器121的整体操作。存储器管理器121c可被配置为管理缓冲存储器BFM和非易失性备份存储器NVBM。例如,存储器管理器121c可被配置为将来自主机101或CXL存储设备110的存储器地址(例如,逻辑地址或虚拟地址)转换为缓冲存储器BFM的物理地址。在一个实施例中,作为用于管理CXL存储器120的存储器区域的地址的存储器地址可以是由主机101指定和管理的逻辑地址或虚拟地址。当发生突然断电(SPO)事件时,存储器管理器121c可控制缓冲存储器BFM和非易失性备份存储器NVBM,使得缓冲存储器BFM的数据之中的需要备份的数据(例如,映射数据MD)被备份到非易失性备份存储器NVBM。
缓冲存储器接口电路121d可控制缓冲存储器BFM,使得数据被存储在缓冲存储器BFM中或者数据从缓冲存储器BFM被读取。在一个实施例中,缓冲存储器接口电路121d可被实现为符合针对缓冲存储器BFM的标准协议(诸如,DDR接口或LPDDR接口)。缓冲存储器接口电路121d可被实现为符合针对非易失性备份存储器NVBM的标准协议(诸如,切换接口或ONFI)。
在CXL存储器控制器121的控制下,缓冲存储器BFM可存储数据或者可输出存储的数据。在一个实施例中,缓冲存储器BFM可被配置为存储在CXL存储设备110中使用的映射数据MD。当计算系统100被初始化或CXL存储设备110被初始化时,映射数据MD可从CXL存储设备110传送到CXL存储器120。
当发生突然断电(SPO)事件时,非易失性备份存储器NVBM可对存在于缓冲存储器BFM中的数据之中的需要备份的数据(例如,映射数据MD)进行存储。当电力被再次供应时,非易失性备份存储器NVBM可用于恢复(或更新)需要备份的数据。
当发生突然断电(SPO)事件时,电力存储设备PS可供应“存储器管理器121c将缓冲存储器BFM的数据之中的需要备份的数据(例如,映射数据MD)备份到非易失性备份存储器NVBM”所需的电力。电力存储设备PS可包括电容器(诸如,超级电容器或钽电容器)。
如上所述,根据实施例的CXL存储设备110可将管理非易失性存储器NVM所需的映射数据MD存储在通过CXL交换机SW_CXL(或CXL接口IF_CXL)连接的CXL存储器120中。之后,当CXL存储设备110根据主机101的请求执行读取操作时,CXL存储设备110可通过CXL交换机SW_CXL(或CXL接口IF_CXL)从CXL存储器120读取映射数据MD的至少一部分,并且可基于由此读取的映射数据MD来执行读取操作。可选地,当CXL存储设备110根据主机101的请求执行写入操作时,CXL存储设备110可对非易失性存储器NVM执行写入操作并且可更新映射数据MD。在这种情况下,可首先将更新后的映射数据MD存储在CXL存储设备控制器111的RAM111c中,并且可通过CXL交换机SW_CXL(或CXL接口IF_CXL)将存储在RAM 111c中的映射数据MD传送到CXL存储器120的缓冲存储器BFM,以便在缓冲存储器BFM中被更新。
在一个实施例中,CXL存储器120的缓冲存储器BFM的至少部分区域可被分配用于CXL存储设备110的专用区域,并且剩余区域可用作能够由主机101访问的区域。
在一个实施例中,主机101和CXL存储设备110可通过使用输入/输出协议(诸如,CXL.io)彼此通信。CXL.io可以是基于PCIe的非一致性输入/输出协议。主机101和CXL存储设备110可通过使用CXL.io彼此交换用户数据或各种信息。
在一个实施例中,CXL存储设备110和CXL存储器120可通过使用存储器访问协议(诸如,CXL.mem)彼此通信。CXL.mem可以是支持存储器访问的存储器访问协议。CXL存储设备110可通过使用CXL.mem来访问CXL存储器120的部分区域(例如,存储映射数据MD的区域或者CXL存储设备专用区域)。
在一个实施例中,主机101和CXL存储器120可通过使用CXL.mem彼此通信。主机101可通过使用CXL.mem来访问CXL存储器120的剩余区域(例如,除了存储映射数据MD的区域之外的剩余区域或者除了CXL存储设备专用区域之外的剩余区域)。
提供包括CXL.io和CXL.mem的以上访问类型作为示例,并且实施例不限于此。
在一个实施例中,CXL存储设备110和CXL存储器120可被安装在基于CXL接口的物理端口(例如,PCIe物理端口)中。在一个实施例中,CXL存储设备110和CXL存储器120可基于E1.S、E1.L、E3.S、E3.L或PCIe附加卡(或称为AIC)(例如,卡机电(CardElectromechanical,CEM))形状因子来实现。可选地,CXL存储设备110和CXL存储器120可基于U.2形状因子、M.2形状因子、各种不同类型的基于PCIe的形状因子或各种不同类型的小形状因子来实现。如将参照图14描述的,CXL存储设备110和CXL存储器120可利用各种类型的形状因子来实现,并且可支持能够被安装在(或添加到)物理端口中或者从物理端口被移除的热插拔的功能。
图4是示出根据实施例的图3的计算系统的初始化操作或上电操作的第一阶段的流程图。参照图3和图4,在操作PUP-S10中,计算系统100可被上电。当计算系统100被上电时,主机101可将关于上电或初始化开始的信息发送到CXL存储设备110、CXL交换机SW_CXL和CXL存储器120。响应于上电或初始化开始信息,CXL存储设备110、CXL交换机SW_CXL和CXL存储器120中的每个可执行各自的初始化操作。
在操作PUP-S11中,CXL存储设备110可检查存储设备容量(即,非易失性存储器NVM的容量)。例如,CXL存储设备110可响应于关于上电或初始化开始的信息,检查非易失性存储器NVM的存储设备容量。
在操作PUP-S12中,CXL存储器120可检查存储器容量(即,缓冲存储器BFM的容量)。例如,CXL存储器120可响应于上电或初始化开始信息而检查缓冲存储器BFM的容量。
主机101可通过操作PUP-S21和操作PUP-S22,来辨识CXL存储设备110的信息。例如,在操作PUP-S21中,主机101可通过CXL主机接口电路101a,发出用于辨识CXL存储设备110的装置信息的第一装置信息请求REQ_id1。第一装置信息请求REQ_id1可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将第一装置信息请求REQ_id1传送到作为第一装置信息请求REQ_id1的目标的CXL存储设备110。
在操作PUP-S22中,CXL存储设备110可响应于从CXL交换机SW_CXL接收的第一装置信息请求REQ_id1,通过CXL存储设备接口电路111a输出第一装置信息响应REP_id1。第一装置信息响应REP_id1可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将第一装置信息响应REP_id1传送到作为第一装置信息响应REP_id1的目标的主机101。
主机101可响应于从CXL交换机SW_CXL接收的第一装置信息响应REP_id1,辨识CXL存储设备110的装置信息。在一个实施例中,第一装置信息响应REP_id1可包括关于CXL存储设备110的装置类型和存储设备容量的信息。
主机101可通过操作PUP-S31和操作PUP-S32,来辨识CXL存储器120的信息。例如,在操作PUP-S31中,主机101可通过CXL主机接口电路101a,发出用于辨识CXL存储器120的装置信息的第二装置信息请求REQ_id2。第二装置信息请求REQ_id2可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将第二装置信息请求REQ_id2传送到作为第二装置信息请求REQ_id2的目标的CXL存储器120。
在操作PUP-S32中,CXL存储器120可响应于从CXL交换机SW_CXL接收的第二装置信息请求REQ_id2,通过CXL存储器接口电路121a输出第二装置信息响应REP_id2。第二装置信息响应REP_id2可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将第二装置信息响应REP_id2传送到作为第二装置信息响应REP_id2的目标的主机101。
主机101可响应于从CXL交换机SW_CXL接收的第二装置信息响应REP_id2,辨识CXL存储器120的装置信息。在一个实施例中,第二装置信息响应REP_id2可包括关于CXL存储器120的装置类型和存储器容量的信息。
如上所述,主机101可通过操作PUP-S21至操作PUP-S32辨识关于CXL存储设备110和CXL存储器120的装置类型(例如,存储设备类型和存储器类型)和容量的信息。
在第一阶段中识别了CXL存储设备110和CXL存储器120之后,主机101可确定是否已经发生突然断电(SPO)事件。图4和图11中的流程图的参考标记A、B、C和D可分别连接到图5中的流程图的参考标记A、B、C和D。
图5是示出根据实施例的当未发生突然断电(SPO)事件时执行的计算系统的初始化的第二阶段的流程图。图4中的流程图的参考标记A、B、C和D可分别连接到图5中的流程图的参考标记A、B、C和D。
参照图3、图4和图5,在操作PUP-S41中,主机101可向CXL存储设备110发送用于检查是否已经发生突然断电(SPO)事件的请求REQ_spo_chk。在操作PUP-S42中,CXL存储设备110可向主机101发送“提供尚未发生突然断电(SPO)事件的通知”的响应REP_no_spo。主机101可基于响应REP_no_spo来识别CXL存储设备110尚未经历突然断电(SPO)。
在操作PUP-S43中,主机101可向CXL存储器120发送用于检查是否已经发生突然断电(SPO)事件的请求REQ_spo_chk。在操作PUP-S44中,CXL存储器120可向主机101发送“提供尚未发生突然断电(SPO)事件的通知”的响应REP_no_spo。主机101可基于响应REP_no_spo来识别CXL存储器120尚未经历突然断电(SPO)。
在尚未发生突然断电(SPO)的情况下,可不需要恢复映射数据MD。主机101可通过操作PUP-S45至操作PUP-S51分配CXL存储器120的至少部分区域用于专用于CXL存储设备110的区域。例如,在操作PUP-S45中,CXL存储设备110可通过CXL存储设备接口电路111a输出存储器分配请求REQ_mem_alc。存储器分配请求REQ_mem_alc可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将存储器分配请求REQ_mem_alc传送到主机101。在一个实施例中,存储器分配请求REQ_mem_alc可指针对CXL存储器120的区域之中的将被用作CXL存储设备110的专用区域的区域的分配请求。
在操作PUP-S46中,主机101可响应于存储器分配请求REQ_mem_alc,分配CXL存储器120的至少部分区域用于CXL存储设备110的专用区域。例如,主机101可基于CXL存储设备110的存储设备容量,来确定CXL存储设备110所需的缓冲器容量。主机101可分配CXL存储器120的与确定的缓冲器容量相应的区域用于CXL存储设备110的专用区域。
在操作PUP-S47中,主机101可通过CXL主机接口电路101a输出存储器分配响应REP_mem_alc。存储器分配响应REP_mem_alc可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将存储器分配响应REP_mem_alc传送到作为存储器分配响应REP_mem_alc的目标的CXL存储设备110。在一个实施例中,存储器分配响应REP_mem_alc可包括关于CXL存储器120的装置标识符和CXL存储器120的被分配用于CXL存储设备110的专用区域的区域的存储器地址(例如,逻辑地址范围或虚拟地址范围)的信息。
CXL存储设备110可基于存储器分配响应REP_mem_alc来识别CXL存储器120的专用于CXL存储设备110的区域。
在操作PUP-S48中,CXL存储设备110可通过CXL存储设备接口电路111a输出写入请求REQ_WR。写入请求REQ_WR可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将写入请求REQ_WR传送到作为写入请求REQ_WR的目标的CXL存储器120。CXL存储器120可响应于写入请求REQ_WR而执行写入操作。
在操作PUP-S49中,CXL存储器120可将从CXL存储设备110传送的映射数据MD写入缓冲存储器BFM中。在操作PUP-S50中,CXL存储器120可通过CXL存储器接口电路121a输出“提供写入请求完成的通知”的写入响应REP_WR。CXL交换机SW_CXL可将写入响应REP_WR传送到作为写入响应REP_WR的目标的CXL存储设备110。响应于写入响应REP_WR,CXL存储设备110可辨识出对CXL存储器120完全执行写入操作。
在一个实施例中,写入请求REQ_WR可指用于将存在于CXL存储设备110的非易失性存储器NVM中的映射数据MD存储在CXL存储器120的专用区域中的请求。也就是说,写入请求REQ_WR可包括关于映射数据MD和专用区域的地址信息。通过操作PUP-S48、操作PUP-S49和操作PUP-S50,存在于CXL存储设备110中的映射数据MD可被存储在CXL存储器120的专用区域中。
在操作PUP-S51中,CXL存储设备110可通过CXL存储设备接口电路111a输出确认信息ACK_md。CXL交换机SW_CXL可将确认信息ACK_md传送到主机101。响应于确认信息ACK_md,主机101可辨识出CXL存储设备110将映射数据MD存储在CXL存储器120中。之后,主机101、CXL存储设备110和CXL存储器120可执行正常操作(例如,读取操作或写入操作)。
图6是用于描述计算系统存储映射数据的操作的示图。为了便于描述并且为了简化附图,概念性地示出主机101、CXL存储设备110和CXL存储器120的组件,并且省略一些组件。
参照图3至图6,主机101可分配CXL存储器120的部分区域用于CXL存储设备110的专用区域。在这种情况下,CXL存储器120的专用区域可由CXL存储设备110访问,并且可用于存储CXL存储设备110的映射数据。
例如,如图6中所示,CXL存储设备110的非易失性存储器NVM可存储用户数据UD和映射数据MD。如上所述,因为CXL存储设备110不包括单独的缓冲存储器,所以CXL存储设备110可需要将存储映射数据MD的缓冲区域。根据实施例,CXL存储设备110的映射数据MD可被存储在CXL存储器120的部分区域(例如,由主机101分配的专用区域)中。在这种情况下,CXL存储器120的专用区域可由CXL存储设备110通过CXL交换机SW_CXL来访问。
在一个实施例中,CXL存储器120的除了专用区域之外的未分配的剩余区域可以是可由主机101访问或由主机101管理的区域。在这种情况下,主机101可通过CXL交换机SW_CXL访问CXL存储器120中的缓冲存储器BFM的剩余区域。在一个实施例中,CXL存储器120的未被分配用于专用区域的剩余区域可用作存储器扩展器。
CXL存储器120中的非易失性备份存储器NVBM的区域可能不被主机101辨识。CXL存储器120中的非易失性备份存储器NVBM的区域可用于备份存在于CXL存储器120中的缓冲存储器BFM的区域中的数据之中的需要备份的数据(例如,映射数据MD)的目的。
如上所述,根据CXL存储设备110的请求,主机101可分配CXL存储器120的至少部分区域用于CXL存储设备110的专用区域。在这种情况下,CXL存储设备110可访问CXL存储器120中的缓冲存储器BFM的被分配用于专用区域的区域,并且主机101可访问CXL存储器120中的缓冲存储器BFM的剩余区域(即,除了由此分配的专用区域之外的剩余区域)。在一个实施例中,CXL存储设备110对CXL存储器120的访问和主机101对CXL存储器120的访问二者可通过同一接口(例如,CXL接口或CXL交换机)来执行。
如上所述,非易失性备份存储器NVBM可用于备份存在于CXL存储器120的缓冲存储器BFM中的数据之中的需要备份的数据(例如,映射数据MD),需要备份的数据(例如,映射数据MD)在突然断电(SPO)之后被使用(例如,作为从突然断电(SPO)恢复的一部分)。因此,即使映射数据在CXL存储设备110外部被管理,也可防止映射数据由于突然断电(SPO)而丢失。
图7和图8是用于描述根据实施例的将映射数据存储在CXL存储器中的操作的示图。在一个实施例中,存在于CXL存储设备110中的映射数据MD可通过各种方式从CXL存储设备110被传送并存储到CXL存储器120。
作为一个示例,CXL存储设备110和CXL存储器120可基于对等(peer-to-peer,P2P)方式交换映射数据MD。例如,如图7中所示,CXL存储设备110的CXL存储设备控制器111可包括直接存储器访问(DMA)引擎。包括在CXL存储设备控制器111中的DMA引擎可在没有主机101的干扰或控制的情况下,将存在于非易失性存储器NVM中的映射数据MD传送到CXL存储器120。也就是说,可基于P2P方式将映射数据MD从CXL存储设备110传送到CXL存储器120。
作为一个示例,在主机101的控制下,CXL存储设备110和CXL存储器120可基于DMA方式交换映射数据MD。例如,如图8中所示,主机101可包括直接存储器访问(DMA)引擎。主机101的DMA引擎可从CXL存储设备110读取映射数据MD,并且可将由此读取的映射数据MD传送到CXL存储器120。在一个实施例中,主机101的DMA引擎可基于CXL.io从CXL存储设备110读取映射数据MD,并且可基于CXL.mem将映射数据MD传送到CXL存储器120。
以上将映射数据从CXL存储设备110传送到CXL存储器120的方式被提供为示例,并且实施例不限于此。可理解,可使用CXL接口或CXL交换机以各种方式来实现映射数据从CXL存储设备110到CXL存储器120的传送。在一个实施例中,映射数据从CXL存储器120到CXL存储设备110的传送(即,备份或冲刷(flush))也可以以类似于以上方式的一种或多种方式来实现。
图9是示出图2的计算系统的典型的断电操作的流程图。在一个实施例中,将参照图9描述计算系统的断电操作,但是实施例不限于此。例如,可理解,图9的操作方法适用于包括在计算系统中的各种组件(例如,主机、CXL存储设备、CXL存储器和CXL交换机)中的每个的断电操作或复位操作。
参照图2和图9,在操作POF-S10中,主机101可通过CXL主机接口电路101a输出断电信息IFM_off。CXL交换机SW_CXL可将断电信息IFM_off传送到CXL存储设备110。例如,主机101可辨识或检测关于计算系统100的断电的信息。主机101可通过CXL交换机SW_CXL将断电信息IFM_off发送到CXL存储设备110,使得CXL存储设备110执行断电操作。
在操作POF-S21中,CXL存储设备110可响应于断电信息IFM_off而通过CXL存储设备接口电路111a输出读取请求REQ_RD。CXL交换机SW_CXL可将读取请求REQ_RD传送到CXL存储器120。在一个实施例中,操作POF-S21中的读取请求REQ_RD可指用于读取存储在CXL存储器120中的全部映射数据MD的请求。读取请求REQ_RD可包括存储映射数据MD的区域的存储器地址。
在操作POF-S22中,CXL存储器120可响应于读取请求REQ_RD而读取映射数据MD。例如,CXL存储器120可基于包括在读取请求REQ_RD中的存储器地址从缓冲存储器BFM读取映射数据MD。
在操作POF-S23中,CXL存储器120可通过CXL存储器接口电路121a输出对读取请求REQ_RD的读取响应REP_RD。CXL交换机SW_CXL可将读取响应REP_RD传送到CXL存储设备110。
在操作POF-S24中,CXL存储设备110可将包括在读取响应REP_RD中的映射数据MD写入非易失性存储器NVM中。在一个实施例中,CXL存储设备110可将映射数据MD存储在非易失性存储器NVM的给定区域中。
在与CXL存储设备110相关联的全部映射数据MD被存储在非易失性存储器NVM中之后,在操作POF-S31中,CXL存储设备110可输出对断电信息IFM_off的响应ACK_off。CXL交换机SW_CXL可向主机101发送响应ACK_off。主机101可基于响应ACK_off,来辨识出存在于CXL存储器120中的映射数据MD被正常存储在CXL存储设备110中。
之后,在操作POF-S32中,主机101、CXL存储设备110、CXL存储器120和CXL交换机SW_CXL可被断电。例如,提供给主机101、CXL存储设备110、CXL存储器120和CXL交换机SW_CXL的电力可被中断。也就是说,在典型的断电中,CXL存储器120可将映射数据MD发送到CXL存储设备110,并且然后可不管映射数据MD,使得准许CXL存储器120中的映射数据MD的丢失。在一个实施例中,基于在典型的断电之后电力被接通(即,基于典型的上电),来自CXL存储设备110(例如,CXL存储设备110中的非易失性存储器NVM)的映射数据可被存储在CXL存储器120的缓冲存储器BFM中。
参照图9描述的断电操作被提供为示例,并且实施例不限于此。例如,在一些实施例中,在CXL存储设备110将存在于CXL存储器120中的映射数据MD存储在非易失性存储器NVM中之后,CXL存储设备110可通过向主机101发送响应ACK_off来提供指示映射数据MD被完全备份的通知(即,中断方式)。可选地,在将存在于CXL存储器120中的映射数据MD存储在非易失性存储器NVM中之后,CXL存储设备110可将特定寄存器的值设置为给定值。主机101可通过周期性地检查CXL存储设备110的特定寄存器的值,来检查映射数据MD是否被完全备份(轮询方式)。可选地,CXL存储设备110可被配置为从当从主机101接收到断电信息IFM_off的时间点起的给定时间内完成映射数据MD的备份操作(超时方式)。如上所述,CXL存储设备110可通过各种方式中的至少一种将关于映射数据MD的备份完成的信息传送到主机101。
图10是示出根据实施例的图2的计算系统的突然断电(SPO)操作的流程图。在一个实施例中,将参照图10描述计算系统如何应对突然断电(SPO),但是实施例不限于此。例如,可理解,图10的操作方法适用于包括在计算系统中的各种组件(例如,主机、CXL存储设备、CXL存储器和CXL交换机)中的每个的断电操作或复位操作。
参照图2和图10,在操作SPO-S11中,CXL存储器120可检测突然断电(SPO)(或突然断电(SPO)事件)。例如,响应于电源电压降低或响应于通过CXL交换机SW_CXL传送的信号,CXL存储器120可检测到突然断电(SPO)事件。当发生突然断电(SPO)事件时,CXL存储器120可从电力存储设备PS被供应电力。
在操作SPO-S12中,CXL存储器120可将存在于缓冲存储器BFM中的映射数据MD写入非易失性备份存储器NVBM中。当映射数据MD被写入非易失性备份存储器NVBM中时,CXL存储器120可防止映射数据MD的丢失。
在操作SPO-S13中,CXL存储器120可记录指示关于CXL存储设备110的信息已经由于突然断电(SPO)事件而被备份的信息。例如,记录的信息可包括以下信息:CXL存储设备110或CXL存储器120的装置标识符ID以及提供给CXL存储设备110的缓冲存储器BFM的区域的地址(或地址范围)。例如,CXL存储器120可将已经发生突然断电(SPO)事件的CXL存储设备110的信息记录在各种存储元件(诸如,非易失性存储元件、电熔丝和掩模ROM)之一中。之后,在操作SPO-S14中,可执行断电。
当CXL存储器120执行操作SPO-S11至操作SPO-S14时,在操作SPO-S21中,CXL存储设备110可检测突然断电(SPO)事件。例如,响应于电源电压降低或响应于通过CXL交换机SW_CXL传送的信号,CXL存储设备110可检测到突然断电(SPO)事件。作为一个实施例,CXL存储设备110还可包括电力存储设备。当发生突然断电(SPO)时,CXL存储设备110可从电力存储设备被供应电力。
在操作SPO-S22中,CXL存储设备110可记录指示已经发生突然断电(SPO)事件的信息。例如,CXL存储设备110可将指示已经发生突然断电(SPO)事件的信息记录在各种存储元件(诸如,非易失性存储元件、电熔丝和掩模ROM)之一中。例如,CXL存储设备110记录的信息可包括以下信息:CXL存储设备110或CXL存储器120的装置标识符ID以及提供给CXL存储设备110的缓冲存储器BFM的区域的地址。例如,CXL存储设备110可包括电力存储设备,并且可基于存储在电力存储设备中的电力来执行记录。之后,在操作SPO-S23中,可执行断电。
图11和图12是示出当发生突然断电(SPO)事件时执行的计算系统的初始化的第二阶段的流程图。图4中的流程图的参考标记A、B、C和D可分别连接到图11中的流程图的参考标记A、B、C和D。图11中的流程图的参考标记E、F、G和H可分别连接到图12中的流程图的参考标记E、F、G和H。
参照图3、图4、图11和图12,在操作PUP-S61中,主机101可向CXL存储设备110发送用于检查是否已经发生突然断电(SPO)事件的请求REQ_spo_chk。在操作PUP-S62中,CXL存储设备110可向主机101发送“提供已经发生突然断电(SPO)事件的通知”的响应REP_spo。主机101可基于响应REP_spo来识别出CXL存储设备110已经历突然断电(SPO)。
在操作PUP-S63中,主机101可向CXL存储器120发送用于检查是否已经发生突然断电(SPO)事件的请求REQ_spo_chk。在操作PUP-S64中,CXL存储器120可向主机101发送“提供已经发生突然断电(SPO)事件的通知”的响应REP_spo。主机101可基于响应REP_spo来识别出CXL存储器120已经历突然断电(SPO)。
当已经发生突然断电(SPO)事件时,如图11中所示,可执行映射数据MD的恢复。在操作PUP-S65中,主机101可将针对关于备份的映射数据MD的信息的请求REQ_spo_info发送到CXL存储器120。在操作PUP-S66中,CXL存储器120可向主机101发送包括关于备份到非易失性备份存储器NVBM的映射数据MD的信息的响应REP_spo_info。关于映射数据MD的信息包括以下项:与映射数据MD相关联的CXL存储设备110的标识符ID和缓冲存储器BFM的存储有映射数据MD的区域的地址(或地址范围)。
在主机101获得关于需要恢复的映射数据MD的信息的同时或在主机101获得关于需要恢复的映射数据MD的信息之后,在操作PUP-S67中,CXL存储设备110可通过CXL存储设备接口电路111a输出存储器分配请求REQ_mem_alc。存储器分配请求REQ_mem_alc可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将存储器分配请求REQ_mem_alc传送到主机101。
在主机101获得关于需要恢复的映射数据MD的信息的同时或在主机101获得关于需要恢复的映射数据MD的信息之后,在操作PUP-S68中,CXL存储器120可从非易失性备份存储器NVBM读取映射数据MD并且可将映射数据MD存储在缓冲存储器BFM中。CXL存储器120可将映射数据MD存储在缓冲存储器BFM的与包括在响应REP_spo_info中的地址(或地址范围)相应的区域中。
在操作PUP-S69中,主机101可通过CXL主机接口电路101a输出存储器分配响应REP_mem_alc。存储器分配响应REP_mem_alc可被传送到CXL交换机SW_CXL。CXL交换机SW_CXL可将存储器分配响应REP_mem_alc传送到作为存储器分配响应REP_mem_alc的目标的CXL存储设备110。在一个实施例中,存储器分配响应REP_mem_alc可包括以下项:CXL存储器120的装置标识符以及CXL存储器120中的缓冲存储器BFM的存储有恢复的映射数据MD的区域的地址(例如,逻辑地址范围或虚拟地址范围)。
在操作PUP-S70中,CXL存储设备110可通过CXL交换机SW_CXL,向CXL存储器120发送用于读取恢复的映射数据MD的请求REQ_RD。在操作PUP-S71中,CXL存储器120可从缓冲存储器BFM读取映射数据MD。在操作PUP-S72中,CXL存储器120可通过CXL交换机SW_CXL,向CXL存储设备110发送包括从缓冲存储器BFM读取的映射数据MD的对请求REQ_RD的响应REP_RD。
在操作PUP-S73中,CXL存储设备110可基于传送的映射数据MD来恢复(或更新)存在于非易失性存储器NVM中的映射数据MD,以便为最新。之后,CXL存储设备110可通过使用存储在CXL存储器120的缓冲存储器BFM中的映射数据MD来执行地址映射。之后,主机101、CXL存储设备110和CXL存储器120可基于恢复的映射数据MD来执行正常操作(例如,读取操作或写入操作)。
可选地,CXL存储设备110可再次执行图5的操作PUP-S45至操作PUP-S51,使得CXL存储器120的缓冲存储器BFM的新存储空间被分配,并且非易失性存储器NVM的映射数据MD被再次加载到从CXL存储器120的缓冲存储器BFM分配的新存储空间上。之后,CXL存储设备110可通过使用加载到CXL存储器120的缓冲存储器BFM上的映射数据MD来执行地址映射。之后,主机101、CXL存储设备110和CXL存储器120可执行正常操作(例如,读取操作或写入操作)。
图13是示出图2的CXL存储设备的读取操作的流程图。在一个实施例中,可在执行图4和图5或者图4、图11和图12的初始化操作之后(即,在将CXL存储设备110的映射数据MD存储在CXL存储器120的专用区域中之后),执行根据图13的流程图的CXL存储设备110的读取操作。
参照图2、图3和图13,在操作RD-S10中,主机101可通过CXL主机接口电路101a输出第一读取请求REQ_RD1。CXL交换机SW_CXL可将第一读取请求REQ_RD1传送到作为第一读取请求REQ_RD1的目标的CXL存储设备110。在一个实施例中,第一读取请求REQ_RD1可指用于读取存储在CXL存储设备110中的第一用户数据UD1的请求,并且可包括与第一用户数据UD1相应的第一逻辑块地址LBA1。
在操作RD-S21中,CXL存储设备110可响应于第一读取请求REQ_RD1,通过CXL存储设备接口电路111a输出第二读取请求REQ_RD2。CXL交换机SW_CXL可将第二读取请求REQ_RD2传送到CXL存储器120。在一个实施例中,第二读取请求REQ_RD2可指用于读取与第一逻辑块地址LBA1相应的第一映射数据MD1(例如,需要的地址对)的请求。也就是说,第二读取请求REQ_RD2可指用于从CXL存储器120读取第一映射数据MD1的请求。第二读取请求REQ_RD2可包括关于CXL存储器120的指示存储第一映射数据MD1的区域的存储器地址(例如,逻辑地址或虚拟地址)的信息。
在操作RD-S22中,CXL存储器120可响应于第二读取请求REQ_RD2而读取第一映射数据MD1。例如,CXL存储器120的CXL存储器控制器121可从与包括在第二读取请求REQ_RD2中的存储器地址(例如,逻辑地址或虚拟地址)相应的区域读取第一映射数据MD1。在一个实施例中,CXL存储器控制器121可通过使用缓冲存储器接口电路121d从缓冲存储器BFM读取第一映射数据MD1。
在一个实施例中,在操作RD-S22中读取的第一映射数据MD1可以是全部映射数据MD的一部分,并且可以是与第一逻辑块地址LBA1相应的映射数据。也就是说,第一映射数据MD1可包括关于与第一逻辑块地址LBA1相应的第一物理块地址PBA1的信息。
在操作RD-S23中,CXL存储器120可通过CXL存储器接口电路121a,输出包括第一映射数据MD1的第二读取响应REP_RD2。CXL交换机SW_CXL可将第二读取响应REP_RD2传送到CXL存储设备110。在一个实施例中,通过CXL交换机SW_CXL接收的包括在第二读取响应REP_RD2中的第一映射数据MD1可被存储或临时存储在CXL存储设备控制器111的RAM 111c中。
在一个实施例中,当与第一逻辑块地址LBA1相应的第一映射数据MD1已经存在于CXL存储设备控制器111的RAM 111c中时,可省略操作RD-S21至操作RD-S23(即,用于从CXL存储器120加载第一映射数据MD1的操作)。
在操作RD-S31中,CXL存储设备110可基于第一映射数据MD1搜索与第一逻辑块地址LBA1相应的第一物理块地址PBA1。例如,CXL存储设备控制器111的FTL 111d可基于第一映射数据MD1搜索与第一逻辑块地址LBA1相应的第一物理块地址PBA1。
在操作RD-S32中,CXL存储设备110可从非易失性存储器NVM读取存在于与第一物理块地址PBA1相应的区域中的第一用户数据UD1。例如,CXL存储设备控制器111可从非易失性存储器NVM的与第一物理块地址PBA1相应的区域读取第一用户数据UD1。在一个实施例中,CXL存储设备控制器111可通过使用NAND接口电路111f从非易失性存储器NVM读取第一用户数据UD1。
在操作RD-S33中,CXL存储设备110可通过CXL存储设备接口电路111a输出对第一读取请求REQ_RD1的第一读取响应REP_RD1。CXL交换机SW_CXL可将第一读取响应REP_RD1传送到主机101。在一个实施例中,第一读取响应REP_RD1可包括通过第一读取请求REQ_RD1请求的第一用户数据UD1。主机101可通过第一读取响应REP_RD1获得第一用户数据UD1。
在一个实施例中,可基于CXL.io来执行与主机101和CXL存储设备110之间的通信相应的操作RD-S10和操作RD-S33,并且可基于CXL.mem来执行与CXL存储设备110和CXL存储器120之间的通信相应的操作RD-S21至操作RD-S23。然而,实施例不限于此。例如,主机101、CXL存储设备110和CXL存储器120之间的通信可通过CXL交换机SW_CXL(即,公共接口、公共链路或公共交换机)来执行。
图14是示出图2的CXL存储设备的写入操作的流程图。在一个实施例中,可在执行图4和图5或者图4、图11和图12的初始化操作之后(即,在将CXL存储设备110的映射数据MD存储在CXL存储器120的专用区域中之后)执行根据图14的流程图的CXL存储设备110的写入操作。
参照图2、图3和图14,在操作WR-S10中,主机101可通过CXL主机接口电路101a输出第一写入请求REQ_WR1。CXL交换机SW_CXL可将第一写入请求REQ_WR1传送到CXL存储设备110。在一个实施例中,第一写入请求REQ_WR1可指用于将第一用户数据UD1写入CXL存储设备110中的请求。
在操作WR-S21中,CXL存储设备110可响应于第一写入请求REQ_WR1而确定第一用户数据UD1将被写入的存储器块。例如,CXL存储设备控制器111的FTL 111d可管理关于“包括在非易失性存储器NVM中的存储器块之中的自由的、能够被写入的或者能够被分配的存储器块”的块信息。FTL 111d可基于块信息来选择第一用户数据UD1将被写入的存储器块。
在操作WR-S22中,CXL存储设备110可将第一用户数据UD1写入选择的存储器块中。例如,CXL存储设备控制器111可控制非易失性存储器NVM,使得第一用户数据UD1被写入选择的存储器块中。在一个实施例中,CXL存储设备控制器111可通过使用NAND接口电路111f将第一用户数据UD1写入非易失性存储器NVM中。
当第一用户数据UD1被完全写入非易失性存储器NVM中时(即,当针对非易失性存储器NVM的编程操作完成时),在操作WR-S23中,CXL存储设备110可更新第一映射数据MD1或者可生成第一映射数据MD1。例如,第一映射数据MD1可包括指示“与第一逻辑块地址LBA1相应的第一用户数据UD1被存储在非易失性存储器NVM的与第一物理块地址PBA1相应的区域中”的信息。也就是说,CXL存储设备110可生成指示与第一逻辑块地址LBA1相应的第一用户数据UD1被存储在与第一物理块地址PBA1相应的区域中的第一映射数据MD1。
在操作WR-S24中,CXL存储设备110可通过CXL存储设备接口电路111a输出对第一写入请求REQ_WR1的第一写入响应REP_WR1。CXL交换机SW_CXL可将第一写入响应REP_WR1传送到主机101。响应于第一写入响应REP_WR1,主机101可确定与第一写入请求REQ_WR1相应的第一用户数据UD1被正常存储在CXL存储设备110中。
在由主机101请求的对CXL存储设备110的写入操作完成之后,CXL存储设备110可执行映射数据更新操作。例如,在操作WR-S31中,CXL存储设备110可通过CXL存储设备接口电路111a输出第二写入请求REQ_WR2。CXL交换机SW_CXL可将第二写入请求REQ_WR2传送到CXL存储器120。
在一个实施例中,第二写入请求REQ_WR2可指用于将在存储第一用户数据UD1时更新或生成的第一映射数据MD1写入CXL存储器120中的请求。第二写入请求REQ_WR2可包括在其处第一映射数据MD1将被存储的存储器地址。包括在第二写入请求REQ_WR2中的存储器地址可指示CXL存储器120的专用于CXL存储设备110的区域。
在操作WR-S32中,CXL存储器120可响应于第二写入请求REQ_WR2而将第一映射数据MD1存储在相应区域中。例如,CXL存储器120可将第一映射数据MD1写入与包括在第二写入请求REQ_WR2中的存储器地址相应的区域中。
在操作WR-S33中,CXL存储器120可通过CXL存储器接口电路121a输出对第二写入请求REQ_WR2的第二写入响应REP_WR2。CXL交换机SW_CXL可将第二写入响应REP_WR2传送到CXL存储设备110。
在一个实施例中,每当对CXL存储设备110的写入操作完成时,可执行操作WR-S31至操作WR-S33(即,将映射数据存储在CXL存储器120中的操作或更新映射数据的操作)。可选地,当更新后的或新生成的映射数据的大小达到给定值时,可执行操作WR-S31至操作WR-S33。可选地,可周期性地执行操作WR-S31至操作WR-S33。然而,实施例不限于此。例如,可根据各种操作策略将在CXL存储设备110的操作期间生成或更新的映射数据存储在CXL存储器120中。
图15示出根据实施例的实现CXL存储器120的另一示例。参照图15,CXL存储器120可不包括电力存储设备PS。电力存储设备PS可被放置在CXL存储器120外部,并且可与CXL存储器120连接。例如,电力存储设备PS可包括可拆卸地结合到CXL存储器120的模块。
图16是示出根据实施例的计算系统的框图。下面,为了便于描述,将省略与上述组件相关联的附加描述以避免冗余。参照图16,计算系统200可包括主机201、多个存储器装置202a和202b、CXL交换机SW_CXL、CXL存储设备210以及多个CXL存储器220_1至220_n(例如,n可以是大于1的整数)。
主机201可与多个存储器装置202a和202b直接连接。主机201、CXL存储设备210和多个CXL存储器220_1至220_n可与CXL交换机SW_CXL连接,并且可通过CXL交换机SW_CXL彼此通信。
在一个实施例中,CXL存储设备210可具有与参照图2至图15描述的CXL存储设备110的结构类似的结构,并且多个CXL存储器220_1至220_n中的每个可具有与参照图2至图15描述的CXL存储器120的结构类似的结构。也就是说,多个CXL存储器220_1至220_n中的每个可用单独的存储器装置或存储器模块来实现,并且可通过不同的物理端口与CXL交换机SW_CXL连接。当多个CXL存储器220_1至220_n与CXL交换机SW_CXL连接时,由主机201管理的存储器区域(或容量)可增大。
在一个实施例中,主机201可将多个CXL存储器220_1至220_n作为一个存储器集群(memory cluster)来管理。在一个实施例中,主机201可分配多个CXL存储器220_1至220_n中的至少一些用于专用于CXL存储设备210的存储器。可选地,主机201可分配多个CXL存储器220_1至220_n中的每个的至少部分区域用于专用于CXL存储设备210的存储器。
在突然断电时(或者当发生突然断电事件时),存储CXL存储设备210的映射数据MD的至少一个CXL存储器可将映射数据MD备份到CXL存储器的非易失性备份存储器NVBM。备份映射数据MD的CXL存储器可记录指示已经发生突然断电事件的信息,并且还可记录与映射数据MD相应的CXL存储设备210的装置标识符和缓冲存储器BFM的在其处映射数据MD已经被存储的地址(或地址范围)。不备份映射数据MD的CXL存储器可记录指示已经发生突然断电事件的信息,但是可不记录装置标识符。可选地,不备份映射数据MD的CXL存储器可不记录指示已经发生突然断电事件的信息。
当被上电时,主机201可针对多个CXL存储器220_1至220_n中的每个执行图11的操作PUP-S63和操作PUP-S64中的突然断电(SPO)的检查。主机201可识别出已经发生突然断电(SPO)事件,并且可通过利用记录装置标识符的CXL存储器执行图11和图12的操作来恢复CXL存储设备210的映射数据MD。
在一个实施例中,如参照图2至图14描述的,多个CXL存储器220_1至220_n中的至少一个可包括电力存储设备PS。如参照图15描述的,多个CXL存储器220_1至220_n中的至少一个可包括放置在外部的电力存储设备PS。不包括电力存储设备PS的两个或更多个CXL存储器可与一个电力存储设备PS共同连接,以便被供应电力。
图17是示出根据实施例的计算系统的框图。下面,为了便于描述,将省略与上述组件相关联的附加描述以避免冗余。参照图17,计算系统300可包括主机301、多个存储器装置302a和302b、CXL交换机SW_CXL、多个CXL存储设备310_1至310_m以及CXL存储器320(例如,m可以是大于1的整数)。
主机301可与多个存储器装置302a和302b直接连接。主机301、多个CXL存储设备310_1至310_m和CXL存储器320可与CXL交换机SW_CXL连接,并且可通过CXL交换机SW_CXL彼此通信。
在一个实施例中,多个CXL存储设备310_1至310_m中的每个可具有与参照图2至图15描述的CXL存储设备110的结构类似的结构,并且CXL存储器320可具有与参照图2至图15描述的CXL存储器120的结构类似的结构。也就是说,多个CXL存储设备310_1至310_m中的每个可用单独的存储装置或存储模块来实现,并且可通过不同的物理端口与CXL交换机SW_CXL连接。当多个CXL存储设备310_1至310_m与CXL交换机SW_CXL连接时,主机201可用的存储设备区域(或容量)可增大。
在一个实施例中,CXL存储器320的至少部分区域可被分配用于专用于多个CXL存储设备310_1至310_m的区域。例如,主机301可将多个CXL存储设备310_1至310_m作为一个存储设备集群来管理,并且可分配CXL存储器320的部分区域用于一个存储设备集群的专用区域。可选地,主机301可分配CXL存储器320的部分区域用于各个CXL存储设备310_1至310_m的专用区域。
在突然断电时(或者当发生突然断电事件时),CXL存储器320可将多个CXL存储设备310_1至310_m中的每个的映射数据MD备份到设置在CXL存储器320中的非易失性备份存储器NVBM。CXL存储器320可记录指示已经发生突然断电事件的信息,并且可记录缓冲存储器BFM的在其处多个CXL存储设备310_1至310_m中的每个的映射数据MD已经被存储的地址(或地址范围),以便与多个CXL存储设备310_1至310_m中的每个的装置标识符相关联。
当被上电时,主机101可针对多个CXL存储设备310_1至310_m中的每个执行图11的操作PUP-S61和操作PUP-S62中的突然断电(SPO)的检查。当识别出已经在多个CXL存储设备310_1至310_m中的一个中发生突然断电事件时,主机101可基于多个CXL存储设备310_1至310_m中的每个的装置标识符来执行图11和图12的操作,使得多个CXL存储设备310_1至310_m中的每个的映射数据MD从CXL存储器320被恢复。
在一个实施例中,如参照图2至图14描述的,CXL存储器320可包括电力存储设备PS。如参照图15描述的,CXL存储器320可与外部的电力存储设备PS连接并且可从外部的电力存储设备PS被供应电力。
图18是示出根据实施例的计算系统的框图。下面,为了便于描述,将省略与上述组件相关联的附加描述以避免冗余。参照图18,计算系统400可包括主机401、多个存储器装置402a和402b、CXL交换机SW_CXL、多个CXL存储设备410_1至410_m以及多个CXL存储器420_1至420_n(例如,n和m中的每个可以是大于1的整数)。
主机401可与多个存储器装置402a和402b直接连接。主机401、多个CXL存储设备410_1至410_m和多个CXL存储器420_1至420_n可与CXL交换机SW_CXL连接,并且可通过CXL交换机SW_CXL彼此通信。
在一个实施例中,主机401可将多个CXL存储设备410_1至410_m作为一个存储设备集群来管理,并且可将多个CXL存储器420_1至420_n作为一个存储器集群来管理。主机401可分配存储器集群的部分区域用于存储设备集群的专用区域(即,用于存储存储设备集群的映射数据的区域)。可选地,主机401可分配CXL存储器420_1至420_n的区域用于各个CXL存储设备410_1至410_m的专用区域。
在突然断电时(或者当发生突然断电事件时),存储至少一个CXL存储设备的映射数据MD的至少一个CXL存储器可将映射数据MD备份到设置在至少一个CXL存储器中的非易失性备份存储器NVBM。备份映射数据MD的CXL存储器可记录指示已经发生突然断电事件的信息,并且可记录缓冲存储器BFM的在其处映射数据MD已经被存储的地址(或者一个或多个地址范围),以便与对应于映射数据MD的一个或多个CXL存储设备的装置标识符相关联。不备份映射数据MD的CXL存储器可记录指示已经发生突然断电事件的信息,但是可不记录装置标识符。可选地,不备份映射数据MD的CXL存储器可不记录指示已经发生突然断电事件的信息。
当被上电时,主机401可针对多个CXL存储设备410_1至410_m中的每个执行图11的操作PUP-S61和操作PUP-S62中的突然断电(SPO)的检查。当识别出已经在多个CXL存储设备410_1至410_m中的一个CXL存储设备中发生突然断电事件时,主机401可基于多个CXL存储设备410_1至410_m中的每个CXL存储设备的装置标识符,来识别存储多个CXL存储设备410_1至410_m中的每个CXL存储设备的映射数据MD的CXL存储器(或多个CXL存储器)。主机401可针对存储与多个CXL存储设备410_1至410_m中的每个相应的映射数据的CXL存储器(或多个CXL存储器)执行图11和图12的操作,使得多个CXL存储设备410_1至410_m中的每个的映射数据MD从多个CXL存储器420_1至420_n被恢复。
在一个实施例中,如参照图2至图14描述的,多个CXL存储器420_1至420_n中的至少一个可包括电力存储设备PS。如参照图15描述的,多个CXL存储器420_1至420_n中的至少一个可包括放置在外部的电力存储设备PS。在一个实施例中,两个或更多个CXL存储器可与一个电力存储设备PS共同连接,以便被供应电力。
图19是示出根据实施例的计算系统的框图。下面,为了便于描述,将省略与上述组件相关联的附加描述以避免冗余。参照图19,计算系统500可包括主机501、多个存储器装置502a和502b、CXL交换机SW_CXL、多个CXL存储设备510_1、510_2和510_3以及多个CXL存储器520_1、520_2和520_3。
主机501可与多个存储器装置502a和502b直接连接。主机501、多个CXL存储设备510_1和510_2以及多个CXL存储器520_1和520_2可与CXL交换机SW_CXL连接,并且可通过CXL交换机SW_CXL彼此通信。如在以上描述中,CXL存储器520_1和520_2的部分区域可被分配用于CXL存储设备510_1和510_2的专用区域。
在一个实施例中,当计算系统500被驱动时,CXL存储设备510_1和510_2中的一些或CXL存储器520_1和520_2中的一些可从CXL交换机SW_CXL热移除(hot-remove)。可选地,当计算系统500正被驱动时,CXL存储设备510_3或CXL存储器520_3可被热添加(hot-add)到CXL交换机SW_CXL。在这些情况下,主机501可通过再次对经由复位操作或热插拔操作与CXL交换机SW_CXL连接的装置执行初始化操作,再次执行存储器分配。也就是说,根据实施例的CXL存储设备和CXL存储器可支持热插拔功能,并且可通过各种连接来扩展计算系统的存储设备容量和存储器容量。
在一个实施例中,如参照图2至图14描述的,多个CXL存储器520_1、520_2和520_3中的至少一个可包括电力存储设备PS。如参照图15描述的,多个CXL存储器520_1、520_2和520_3中的至少一个可与外部的电力存储设备PS连接。不包括电力存储设备PS的两个或更多个CXL存储器可与一个电力存储设备PS共同连接,以便被供应电力。
图20是示出根据实施例的计算系统的框图。为了便于描述,将省略与上述组件相关联的附加描述以避免冗余。参照图20,计算系统1000可包括第一CPU 1110、第二CPU1120、GPU 1130、NPU 1140、CXL交换机SW_CXL、CXL存储设备1210、CXL存储器1220、PCIe装置1310和加速器(CXL装置)1320。
第一CPU 1110、第二CPU 1120、GPU 1130、NPU 1140、CXL存储设备1210、CXL存储器1220、PCIe装置1310和加速器(CXL装置)1320可与CXL交换机SW_CXL共同连接,并且可通过CXL交换机SW_CXL彼此通信。
在一个实施例中,第一CPU 1110、第二CPU 1120、GPU 1130和NPU 1140中的每个可对应于参照图1至图19描述的主机,并且可与单独的存储器装置直接连接。
在一个实施例中,CXL存储设备1210和CXL存储器1220可以是参照图2至图19描述的CXL存储设备和CXL存储器,并且CXL存储器1220的至少部分区域可由第一CPU 1110、第二CPU 1120、GPU 1130和NPU 1140中的一个或多个分配用于专用于CXL存储设备1210的区域。也就是说,CXL存储设备1210和CXL存储器1220可用作计算系统1000的存储空间STR。
在一个实施例中,CXL交换机SW_CXL可与被配置为支持各种功能的PCIe装置1310或加速器1320连接,并且PCIe装置1310或加速器1320可通过CXL交换机SW_CXL与第一CPU1110、第二CPU 1120、GPU 1130和NPU 1140中的每个通信,或者可通过CXL交换机SW_CXL访问包括CXL存储设备1210和CXL存储器1220的存储空间STR。
在一个实施例中,CXL交换机SW_CXL可与外部网络或网(Fabric)连接,并且可被配置为通过外部网络或网与外部服务器通信。
图21是示出应用了根据实施例的计算系统的数据中心的框图。参照图21,作为收集各种数据并提供服务的设施的数据中心2000可被称为“数据存储中心”。数据中心2000可以是用于操作搜索引擎和数据库的系统,并且可以是在商业(诸如,银行)或在政府机构中使用的计算系统。数据中心2000可包括应用服务器(第一应用服务器2110至第m应用服务器21m0)和存储服务器(第一存储服务器2210至第n存储服务器22n0)(例如,n和m中的每个可以是大于1的整数)。应用服务器的数量和存储服务器的数量可被不同地选择,并且应用服务器的数量和存储服务器的数量可彼此不同。
以下,将主要对第一存储服务器2210的构造进行描述。应用服务器2110至21m0可具有类似的结构,存储服务器2210至22n0可具有类似的结构,并且应用服务器2110至21m0和存储服务器2210至22n0可通过网络NT彼此通信。
第一存储服务器2210可包括处理器2211、存储器2212、交换机2213、存储装置2215、CXL存储器2214和网络接口卡(NIC)2216。处理器2211可控制第一存储服务器2210的整体操作,并且可访问存储器2212以执行加载到存储器2212上的指令或处理数据。存储器2212可用双倍数据速率同步DRAM(DDR SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插式存储器模块(DIMM)、傲腾(Optane)DIMM和/或非易失性DIMM(NVDIMM)来实现。处理器2211和存储器2212可直接连接,并且包括在一个存储服务器2210中的处理器和存储器的数量可被不同地选择。
在一个实施例中,处理器2211和存储器2212可提供处理器-存储器对。在一个实施例中,处理器2211的数量和存储器2212的数量可彼此不同。处理器2211可包括单核处理器或多核处理器。存储服务器2210的详细描述可类似地应用于应用服务器2110至21m0。
交换机2213可被配置为仲裁或路由包括在第一存储服务器2210中的各种组件之间的通信。在一个实施例中,交换机2213可用参照图1至图20描述的CXL交换机SW_CXL来实现。也就是说,交换机2213可以是基于CXL协议实现的交换机。
CXL存储器2214可与交换机2213连接。在一个实施例中,CXL存储器2214可用作处理器2211的存储器扩展器。可选地,如参照图1至图20描述的,CXL存储器2214可被分配为存储装置2215的专用存储器或缓冲存储器。
存储装置2215可包括CXL接口电路CXL_IF、控制器CTRL和NAND闪存。根据处理器2211的请求,存储装置2215可存储数据或者可输出存储的数据。在一个实施例中,存储装置2215可用参照图1至图20描述的CXL存储设备来实现。在一个实施例中,如在参照图1至图20给出的描述中,CXL存储器2214的至少部分区域可被分配用于存储装置2215的专用区域,并且专用区域可用作缓冲存储器(即,可用于将映射数据存储在CXL存储器2214中)。
根据实施例,应用服务器2110至21m0可不包括存储装置2215。存储服务器2210可包括至少一个或多个存储装置2215。可不同地选择包括在存储服务器2210中的存储装置2215的数量。
NIC 2216可与CXL交换机SW_CXL连接。NIC 2216可通过网络NT与剩余的存储服务器2220至22n0或应用服务器2110至21m0通信。
在一个实施例中,NIC 2216可包括网络接口卡、网络适配器等,NIC 2216可通过有线接口、无线接口、蓝牙接口、光学接口等与网络NT连接,NIC 2216可包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可通过主机总线接口与处理器2211和/或交换机2213连接。在一个实施例中,NIC 2216可与处理器2211、交换机2213和存储装置2215中的至少一个集成。
在一个实施例中,网络NT可通过使用光纤信道(Fibre channel,FC)或以太网实现。在这种情况下,FC可以是在高速数据传输中使用的介质,并且可使用提供高性能/高可用性的光交换机。根据网络NT的访问方式,存储服务器可被提供为文件存储设备、块存储设备或对象存储设备。
在一个实施例中,网络NT可以是存储专用网络,诸如,存储区域网络(SAN)。例如,SAN可以是使用FC网络并且根据FC协议(FCP)实现的FC-SAN。对于另一示例,SAN可以是使用TCP/IP网络并且根据iSCSI(通过TCP/IP的小型计算机系统接口(SCSI)或互联网SCSI)实现的IP-SAN。在一个实施例中,网络NT可以是传统网络(诸如,TCP/IP网络)。例如,网络NT可根据以下协议来实现:通过以太网的FC(FCoE)、网络附加存储(NAS)或通过网络的NVMe(NVMe-oF)。
在一个实施例中,应用服务器2110至21m0中的至少一个可通过网络NT,将由用户或客户端请求存储的数据存储在存储服务器2210至22n0中的一个中。应用服务器2110至21m0中的至少一个可通过网络NT,从存储服务器2210至22n0中的一个获得由用户或客户端请求读取的数据。例如,应用服务器2110至21m0中的至少一个可用网页服务器、数据库管理系统(DBMS)等来实现。
在一个实施例中,应用服务器2110至21m0中的至少一个可通过网络NT访问包括在任何其他应用服务器中的存储器、CXL存储器或存储装置,或者可通过网络NT访问包括在存储服务器2210至22n0中的存储器、CXL存储器或存储装置。这样,应用服务器2110至21m0中的至少一个可对存储在剩余的应用服务器和/或存储服务器中的数据执行各种操作。例如,应用服务器2110至21m0中的至少一个可执行用于在剩余的应用服务器和/或存储服务器之间移动数据或复制数据的指令。在这种情况下,数据可通过存储服务器的存储器或CXL存储器或直接地从存储服务器的存储装置移动到应用服务器的存储器或CXL存储器。通过网络传输的数据可以是为了安全或隐私而加密的数据。
在一个实施例中,包括在应用服务器2110至21m0和存储服务器2210至22n0中的至少一个中的CXL存储器可被分配用于包括在应用服务器2110至21m0和存储服务器2210至22n0中的至少一个中的存储装置的专用区域,并且存储装置可使用如此分配的专用区域作为缓冲存储器(即,可将映射数据存储在专用区域中)。例如,包括在存储服务器(例如,22n0)中的CXL存储器可被分配给包括在存储服务器2210中的存储装置2215,并且包括在存储服务器2210中的存储装置2215可通过交换机2213和NIC 2216访问包括在存储服务器(例如,22n0)中的CXL存储器。在这种情况下,与第一存储服务器2210的存储装置2215相关联的映射数据可被存储在存储服务器22n0的CXL存储器中。也就是说,根据本公开的数据中心的存储装置和CXL存储器可以以各种方式连接和实现。
在以上实施例中,通过使用术语“第一”、“第二”、“第三”等来描述根据本公开的组件,然而,术语“第一”、“第二”、“第三”等可用于将组件彼此区分开,而不限制本公开。例如,术语“第一”、“第二”、“第三”等不涉及任何形式的顺序或数字含义。
在以上实施例中,通过使用块来引用根据实施例的组件。这些块可用各种硬件装置(诸如,集成电路(IC)、专用IC(ASIC)、现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD))、硬件装置中驱动的固件、软件(诸如,应用)、或硬件装置和软件的组合来实现。此外,块可包括用集成电路中的半导体元件实现的电路、或者作为知识产权(IP)登记的电路。
以上描述涉及用于实现本公开的实施例。除了上述实施例之外,简单地改变设计或容易地改变设计的实施例也可包括在本公开中。另外,通过使用以上实施例容易改变和实现的技术可包括在本公开中。虽然已经参照本公开的示例性实施例描述了本公开,但是对于本领域普通技术人员来说清楚的是,在不脱离如所附权利要求中阐述的精神和范围的情况下,可对其进行各种改变和修改。在以上实施例中,通过使用术语“第一”、“第二”、“第三”等来描述根据本公开的组件,然而,术语“第一”、“第二”、“第三”等可用于将组件彼此区分开,而不限制本公开。例如,术语“第一”、“第二”、“第三”等不涉及任何形式的顺序或数字含义。
根据本公开,映射数据可被存储在与存储装置分离的存储器装置中。因此,可在没有单独研究和开发的成本的情况下,使用大量映射数据。根据本公开,存储在分离的存储器装置中的映射数据可被备份到分离的存储器装置的非易失性存储器。因此,即使在突然断电时也可恢复映射数据。
虽然已经具体示出和描述了实施例的方面,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种存储器装置,包括:
缓冲存储器;
非易失性备份存储器;以及
存储器控制器,被配置为:
将与外部存储装置相应的映射数据存储在缓冲存储器中,
响应于来自外部存储装置的请求,向外部存储装置提供映射数据的地址对之中的与所述请求相应的地址对,以及
响应于突然断电事件,将映射数据备份到非易失性备份存储器。
2.如权利要求1所述的存储器装置,其中,存储器控制器被配置为:响应于突然断电事件,记录与映射数据相应的外部存储装置的装置标识符和缓冲存储器的存储映射数据的地址。
3.如权利要求2所述的存储器装置,其中,存储器控制器被配置为:基于在突然断电事件之后电力被接通,响应于来自外部主机的请求而向外部主机提供所述装置标识符和所述地址。
4.如权利要求2所述的存储器装置,其中,存储器控制器配置为基于在突然断电事件之后电力被接通:
读取存储在非易失性备份存储器中的映射数据;以及
将从非易失性备份存储器读取的映射数据存储在缓冲存储器的与所述地址相应的存储空间中。
5.如权利要求4所述的存储器装置,其中,存储器控制器被配置为基于在突然断电事件之后电力被接通,响应于来自外部存储装置的请求:
读取存储在缓冲存储器中的映射数据;以及
将从缓冲存储器读取的映射数据发送到外部存储装置。
6.如权利要求2所述的存储器装置,其中,存储器控制器与可拆卸的电力存储设备连接,并且
其中,存储器控制器被配置为响应于突然断电事件被检测到,通过使用可拆卸的电力存储设备将映射数据备份在非易失性备份存储器中。
7.如权利要求1至6中的任一项所述的存储器装置,其中,存储器控制器被配置为响应于典型的断电:
从缓冲存储器读取映射数据;以及
将从缓冲存储器读取的映射数据发送到外部存储装置。
8.如权利要求7所述的存储器装置,其中,存储器控制器被配置为:响应于典型的断电和来自外部存储装置的请求,将从缓冲存储器读取的映射数据提供给外部存储装置,并且然后在映射数据存在于缓冲存储器中的情况下执行断电。
9.如权利要求8所述的存储器装置,其中,存储器控制器被配置为:基于在典型的断电之后电力被接通,将来自外部存储装置的映射数据存储在缓冲存储器中。
10.一种存储装置,包括:
非易失性存储器,被配置为存储用户数据和映射数据;以及
存储控制器,被配置为:
从非易失性存储器读取映射数据,
将从非易失性存储器读取的映射数据发送到外部存储器装置,
向外部存储器装置请求映射数据的地址对之中的用于访问非易失性存储器的地址对,以及
基于在突然断电之后电力被接通,向外部存储器装置请求映射数据。
11.如权利要求10所述的存储装置,其中,存储控制器被配置为:基于在突然断电之后电力被接通,通过使用来自外部存储器装置的映射数据来更新存储在非易失性存储器中的映射数据。
12.一种计算系统,包括:
主机;
存储装置,包括存储用户数据和映射数据的非易失性存储器;
存储器装置,包括缓冲存储器和非易失性备份存储器;以及
总线,连接到主机、存储装置和存储器装置,
其中,主机被配置为:基于电力被接通,识别在存储装置中是否已经发生突然断电事件以及在存储器装置中是否已经发生突然断电事件。
13.如权利要求12所述的计算系统,其中,主机被配置为:基于电力被接通,响应于识别出已经发生突然断电事件,向存储器装置请求关于存储装置的信息。
14.如权利要求13所述的计算系统,其中,关于存储装置的信息包括:存储器装置中的缓冲存储器的总存储空间之中的由主机为存储装置分配的存储空间的地址。
15.如权利要求13所述的计算系统,其中,主机被配置为:基于电力被接通,响应于识别出已经发生突然断电事件,将关于存储装置的信息从存储器装置发送到存储装置。
16.如权利要求15所述的计算系统,其中,存储装置被配置为:基于来自主机的关于存储装置的信息,向存储器装置请求数据。
17.如权利要求16所述的计算系统,其中,存储装置被配置为:通过使用来自存储器装置的数据,来更新存储在非易失性存储器中的映射数据。
18.如权利要求13所述的计算系统,其中,存储装置被配置为:响应于典型的上电,将存储在非易失性存储器中的映射数据发送到存储器装置,并且
其中,存储器装置被配置为:将来自存储装置的映射数据存储在缓冲存储器中。
19.如权利要求18所述的计算系统,其中,存储器装置被配置为:响应于发生突然断电事件,将存在于缓冲存储器中的映射数据存储在非易失性备份存储器中。
20.如权利要求19所述的计算系统,其中,存储器装置被配置为:基于电力被接通,响应于识别出已经发生突然断电事件,基于关于存储装置的信息将存储在非易失性备份存储器中的映射数据加载到缓冲存储器上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220063111A KR20230163235A (ko) | 2022-05-23 | 2022-05-23 | 메모리 장치, 스토리지 장치, 그리고 메모리 장치 및 스토리지 장치를 포함하는 컴퓨팅 시스템 |
KR10-2022-0063111 | 2022-05-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117111831A true CN117111831A (zh) | 2023-11-24 |
Family
ID=88791509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310341546.2A Pending CN117111831A (zh) | 2022-05-23 | 2023-03-31 | 存储器装置、存储装置以及计算系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230376216A1 (zh) |
KR (1) | KR20230163235A (zh) |
CN (1) | CN117111831A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827548A (zh) * | 2024-03-06 | 2024-04-05 | 北京超弦存储器研究院 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
-
2022
- 2022-05-23 KR KR1020220063111A patent/KR20230163235A/ko unknown
-
2023
- 2023-03-31 CN CN202310341546.2A patent/CN117111831A/zh active Pending
- 2023-04-06 US US18/131,646 patent/US20230376216A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827548A (zh) * | 2024-03-06 | 2024-04-05 | 北京超弦存储器研究院 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
CN117827548B (zh) * | 2024-03-06 | 2024-05-24 | 北京超弦存储器研究院 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20230163235A (ko) | 2023-11-30 |
US20230376216A1 (en) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9824041B2 (en) | Dual access memory mapped data structure memory | |
US11467739B2 (en) | Storage device and operation method thereof | |
US11775183B2 (en) | Storage device and operation method thereof | |
US20230376216A1 (en) | Memory device, storage device, and computing system including memory device and storage device | |
US20240053917A1 (en) | Storage device, operation method of storage device, and storage system using the same | |
EP4273706A1 (en) | Storage device, memory device, and system including storage device and memory device | |
US20230350832A1 (en) | Storage device, memory device, and system including storage device and memory device | |
US20230376217A1 (en) | Storage device, memory device, and computing system including the same | |
EP4273708A1 (en) | Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices | |
EP4276634A1 (en) | Storage device, computing device including storage device and memory device, and operating method of computing device | |
US20230359389A1 (en) | Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices | |
EP4283456A1 (en) | Memory device, storage device, and computing system including memory device and storage device | |
US20230359379A1 (en) | Computing system generating map data, and method of operating the same | |
EP4273703A1 (en) | Computing system generating map data, and method of operating the same | |
US20230359567A1 (en) | Storage device, computing device including storage device and memory device, and operating method of computing device | |
EP4283474A1 (en) | Storage device, memory device, and computing system including the same | |
US20230359394A1 (en) | Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system | |
EP4283457A2 (en) | Computing system for managing distributed storage devices, and method of operating the same | |
US20230359566A1 (en) | Computing system including memory device and storage device and operating method thereof | |
US20230376238A1 (en) | Computing system for managing distributed storage devices, and method of operating the same | |
EP4276642A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US20230359578A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
EP4276639A1 (en) | Computing system including memory device and storage device and operating method thereof | |
EP4273702A1 (en) | Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system | |
US20230084539A1 (en) | Computational storage device and storage system including the computational storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |