CN116339613A - 存储装置、操作其的方法及操作包括其的存储系统的方法 - Google Patents
存储装置、操作其的方法及操作包括其的存储系统的方法 Download PDFInfo
- Publication number
- CN116339613A CN116339613A CN202211294244.6A CN202211294244A CN116339613A CN 116339613 A CN116339613 A CN 116339613A CN 202211294244 A CN202211294244 A CN 202211294244A CN 116339613 A CN116339613 A CN 116339613A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- response
- fingerprint
- deduplication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种存储装置、操作其的方法及操作包括其的存储系统的方法。所述存储装置与第一外部存储装置进行通信并且包括去重管理器。一种操作所述存储装置的方法包括:由所述去重管理器广播第一数据的第一指纹;从所述第一外部存储装置接收与所述第一指纹相对应的第一响应;由所述去重管理器确定所述第一响应的引用标志具有第一值还是第二值;基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来更新映射表中的第一映射信息;以及基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来执行所述第一数据的去重。
Description
相关申请的交叉引用
本申请要求于2021年12月24日在韩国知识产权局提交的韩国专利申请No.10-2021-0187568的优先权,该韩国专利申请的公开内容通过引用整体地并入本文。
技术领域
本文描述的本公开的示例实施例涉及存储装置,并且更具体地,涉及包括去重管理器的存储装置、操作存储装置的方法以及操作包括存储装置的存储系统的方法。
背景技术
存储器件响应于写入请求存储数据并且响应于读取请求输出存储在其中的数据。例如,存储器件被分类为易失性存储器件或非易失性存储器件,所述易失性存储器件在电源被关断时丢失存储在其中的数据,诸如动态随机存取存储器(DRAM)器件或静态RAM(SRAM)器件,所述非易失性存储器件即使在电源被关断时也保持存储在其中的数据,诸如闪速存储器件、相变RAM(PRAM)、磁性RAM(MRAM)或电阻式RAM(RRAM)。
可以将非易失性存储器件用作高容量存储装置。由于诸如应用和文件的特性、用户的特性、数据备份等的各种因素,存储装置可能包括重复数据。在表达相同内容的多个数据(即,其内容与原始数据的内容相同的多个重复数据)被重复存储多次的示例实施例中,可能不必要地浪费存储装置的容量。可以使用去重方案来减少或防止存储装置的容量被不必要地浪费。根据去重方案,可以仅存储一个原始数据,并且可以管理其余的重复数据以引用原始数据,而不是多次存储相同数据。去重方案可以抑制存储装置的容量浪费,但是可能另外地使用去重相关操作。因此,包括用于高效地执行去重的方案是有益的。
发明内容
本公开的示例实施例提供一种包括去重管理器的存储装置、一种操作所述存储装置的方法以及一种操作包括所述存储装置的存储系统的方法。
根据示例实施例,存储装置与第一外部存储装置进行通信并且包括去重管理器。一种操作所述存储装置的方法包括:由所述去重管理器广播第一数据的第一指纹;从所述第一外部存储装置接收与所述第一指纹相对应的第一响应;由所述去重管理器确定所述第一响应的引用标志具有第一值还是第二值;基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来更新所述存储装置中的映射表中的第一映射信息,其中所述第一映射信息对应于所述第一数据;以及基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来执行所述第一数据的去重。
根据示例实施例,一种存储系统包括具有第一去重管理器的第一存储装置和具有第二去重管理器的第二存储装置。一种操作所述存储系统的方法包括:由所述第一去重管理器广播目标数据的指纹;由所述第二去重管理器向所述第一存储装置提供与广播的所述指纹相对应的第一响应;由所述第一去重管理器确定所述第一响应的引用标志具有第一值还是第二值;基于确定出所述第一响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第一响应来更新与所述目标数据相对应并且包括在所述第一存储装置的映射表中的映射信息;以及基于确定出所述第一响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第一响应来执行所述第一存储装置中的所述目标数据的去重。
根据示例实施例,一种存储装置包括:存储器件,所述存储器件存储多个数据;映射表,所述映射表管理分别与所述多个数据相对应的多个映射信息;以及去重管理器,所述去重管理器与外部存储装置进行通信。所述去重管理器广播所述多个数据当中的第一数据的第一指纹,从所述外部存储装置接收与所述第一指纹相对应的第一响应,确定所述第一响应的引用标志具有第一值还是第二值,基于确定出所述第一响应的所述引用标志具有所述第一值,基于所述第一响应,更新所述映射表中的所述多个映射信息当中的与所述第一数据相对应的第一映射信息,并且执行所述存储器件中的所述多个数据当中的所述第一数据的去重,以及基于确定出所述第一响应的所述引用标志具有所述第二值,更新所述映射表中的所述多个映射信息当中的所述第一映射信息并且保持所述存储器件中的所述多个数据当中的所述第一数据。
附图说明
通过参考附图详细地描述本公开的示例实施例,本公开的上述及其他目的和特征将变得显而易见。
图1是根据本公开的示例实施例的存储系统的框图。
图2是根据本公开的一些示例实施例的详细地图示了图1的存储控制器的框图。
图3是根据本公开的一些示例实施例的详细地图示了图1的非易失性存储器件的框图。
图4是描述常规存储系统的去重操作的图。
图5是描述根据本公开的一些示例实施例的存储系统的去重操作的图。
图6是描述根据本公开的一些示例实施例的操作存储系统的方法的图。
图7是描述根据本公开的一些示例实施例的操作存储系统的方法的图。
图8是描述根据本公开的一些示例实施例的包括多个存储装置的存储系统的图。
图9是描述根据本公开的一些示例实施例的去重管理器的图。
图10是描述根据本公开的一些示例实施例的指纹生成器的图。
图11A是描述根据本公开的一些示例实施例的存储系统的读取操作的图。
图11B是描述根据本公开的一些示例实施例的存储系统的读取操作的图。
图12是描述根据本公开的一些示例实施例的存储系统的擦除操作的图。
图13是描述根据本公开的一些示例实施例的操作存储装置的方法的流程图。
图14是描述根据本公开的一些示例实施例的操作存储系统的方法的流程图。
具体实施方式
在下面,将详细地并清楚地描述本公开的示例实施例,使得本领域的技术人员容易地实行本公开。
图1是根据本公开的示例实施例的存储系统的框图。参考图1,图示了存储系统10。在一些示例实施例中,存储系统10可以包括被配置为处理各种信息的计算系统,诸如数据中心、服务器、个人计算机(PC)、笔记本、膝上型计算机、工作站、平板PC、智能电话、数码相机和黑匣子。
存储系统10可以包括主机装置11、PCIe(快速外围部件互连)总线12和多个存储装置100至N00。例如,还可以将多个存储装置100至N00称为“第一存储装置100至第N存储装置N00”。这里,“N”是自然数。
主机装置11可以控制存储系统10的整体操作。例如,主机装置11可以通过PCIe总线12与多个存储装置100至N00进行通信。主机装置11可以将数据存储在多个存储装置100至N00中或者可以读取存储在多个存储装置100至N00中的数据。
PCIe总线12可以提供用于在主机装置11与多个存储装置100至N00之间通信的接口。例如,通过PCIe总线12,主机装置11可以读取存储在多个存储装置100至N00中的数据或者可以在多个存储装置100至N00中写入数据。通过PCIe总线12,多个存储装置100至N00可以以对等(P2P)方式彼此通信。
多个存储装置100至N00均可以存储从主机装置11接收到的数据或者可以将所存储的数据提供给主机装置11。多个存储装置100至N00可以彼此通信。
第一存储装置100可以包括存储控制器110和非易失性存储器件120。
非易失性存储器件120可以存储数据(Data)。存储控制器110可以将数据存储在非易失性存储器件120中或者可以读取存储在非易失性存储器件120中的数据。非易失性存储器件120可以在存储控制器110的控制下操作。例如,基于指示操作的命令CMD和指示数据的位置的地址ADD,存储控制器110可以将数据存储在非易失性存储器件120中或者可以读取存储在非易失性存储器件120中的数据。
在一些示例实施例中,非易失性存储器件120可以是NAND闪速存储器件,但是本公开不限于此。例如,即使电源关断也保持存储在其中的数据的非易失性存储器件120可以是诸如以下各种存储装置之一:相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)和铁电随机存取存储器(FRAM)。
存储控制器110可以包括去重管理器111。去重管理器111可以是管理重复数据的装置或模块。由于应用和文件的特性、用户的特性、数据备份等,存储系统10可能包括其内容与原始数据的内容相同的重复数据。在表达相同内容的多个数据(即,其内容与原始数据的内容相同的多个重复数据)被重复存储多次的示例实施例中,可能不必要地浪费存储容量。
去重管理器111可以对其内容与原始数据的内容相同的重复数据执行去重。根据去重方案,可以存储仅一个原始数据,并且可以管理其余的重复数据使其引用原始数据,而不是多次存储相同数据。例如,当对重复数据执行去重操作时,可以删除存储在非易失性存储器件中的重复数据,或者可以丢弃暂时存储在易失性存储器(例如,写入缓冲存储器)中的重复数据。因为通过去重进一步保证了与重复数据的大小一样大的存储容量,所以可以提供其中存储容量的效率被提高的存储系统10。
存储装置100(以下称为“第一存储装置100”)的去重管理器111可以以P2P方式与另一存储装置(以下称为“第二存储装置”)(例如,图1中的200)的去重管理器进行通信。例如,第一存储装置100的去重管理器111和第二存储装置的去重管理器211可以按照诸如NVMe(快速非易失性存储器)的CMP(控制器存储器缓冲器)和PMR(持久存储器区域)、CXL(计算快速链路)或CCIX(加速器用高速缓存一致互连)的各种标准以P2P方式彼此通信。
由于去重管理器111以P2P方式与第二存储装置的去重管理器进行通信,因此去重管理器111可以去除存储在第二存储装置中的与原始数据相同的重复数据或者可以使引用存储在第二存储装置中的重复数据变得可能。
例如,当第一存储装置100的非易失性存储器件120存储原始数据并且第二存储装置200的非易失性存储器件220存储重复数据时,第二存储装置200的去重管理器211可以向PCIe总线12广播表示重复数据的唯一特性的指纹。第一存储装置100的去重管理器111可以向第二存储装置200的去重管理器211提供指示存在其指纹与所广播的指纹相同的原始数据的响应。第二存储装置200的去重管理器211可以对重复数据执行去重并且可以管理重复数据,使得重复数据引用第一存储装置100中的原始数据。
多个存储装置100至N00可以具有类似的结构。例如,第二存储装置200可以包括存储控制器210和非易失性存储器件220。存储控制器210可以包括去重管理器211。第N存储装置N00可以包括存储控制器N10和非易失性存储器件N20。存储控制器N10可以包括去重管理器N11。第二存储装置200至第N存储装置N00的功能和结构可以类似于第一存储装置100的功能和结构。
如上所述,根据本公开的示例实施例,可以提供通过基于P2P的通信来执行去重的存储装置。一般而言,去重可以由主机装置执行。例如,主机装置可以提取多个数据中的每一个数据的指纹并且可以通过单独的表来管理数据的指纹、数据的地址、是否对数据执行去重等。由于主机装置的计算量的增加和主机装置的存储器中的瓶颈,主机装置的上述操作可能使存储系统的性能降低。
在本公开的一些示例实施例中,由于多个存储装置100至N00自动地(例如,在没有主机装置11的干预的情况下)通过去重管理器111至N11执行去重,因此可以提供存储系统10,其中多个存储装置100至N00与主机装置11之间的输入输出(I/O)负荷降低,主机装置11的计算负荷降低,数据处理速度提高,并且存储容量被高效地使用。将参考图4和图5详细地描述存储装置自动地执行去重的存储系统。
图2是根据本公开的一些示例实施例的详细地图示了图1的存储控制器的框图。参考图1和图2,第一存储装置100可以包括存储控制器110和非易失性存储器件120。存储控制器110可以通过PCIe总线12与主机装置11和任何其他存储装置进行通信。存储控制器110可以与非易失性存储器件120进行通信。
存储控制器110可以包括去重管理器111、映射表112、处理器113、易失性存储器件114、只读存储器(ROM)115、纠错码(ECC)引擎116、主机接口电路117和非易失性存储器接口电路118。去重管理器111类似于图1的去重管理器111,因此,将省略附加描述以避免冗余。
映射表112可以与去重管理器111进行通信。映射表112可以管理数据的映射信息。例如,映射表112可以管理存储在非易失性存储器件120中的数据的映射信息或在从主机装置11接收到之后暂时存储在易失性存储器件114中的数据的映射信息。映射信息可以包括数据的地址、数据的指纹、是否对数据进行去重等。将一起参考图6和图7详细地描述映射表112。
在一些示例实施例中,可以以硬件、软件或其组合的形式实现去重管理器111和映射表112。例如,可以将去重管理器111和映射表112的至少一部分以单独的电路、器件或芯片的形式包括在存储控制器110中。或者,去重管理器111和映射表112的至少一部分可以由以指令的形式存储在非易失性存储器件120中的软件模块实现,并且由处理器113加载到易失性存储器件114中。
处理器113可以控制存储控制器110的整体操作。可以将易失性存储器件114用作存储控制器110的写入缓冲存储器、读取缓冲存储器、高速缓存存储器或工作存储器。例如,易失性存储器件114可以用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)实现。在一些示例实施例中,加载到易失性存储器件114的去重管理器111可以对目标数据执行去重。可以将ROM 115用作存储存储控制器110的操作所必需的信息的只读存储器。例如,可以将ROM 115用作固件存储器的一部分。
ECC引擎116可以检测并纠正从非易失性存储器件120读取的数据的错误。例如,ECC引擎116可以具有给定水平的纠错能力。ECC引擎116可以纠正不超过纠错能力的数据错误,并且可以将具有超过纠错能力的错误水平(例如,翻转位数)的数据处理为不可纠正的错误。
存储控制器110可以通过主机接口电路117与主机装置11进行通信。主机接口电路117可以提供主机接口层(HIL)。在一些示例实施例中,可以基于诸如以下各种接口中的至少一种来实现主机接口电路117:串行ATA(SATA)接口、快速外围部件互连(PCIe)接口、串行附连SCSI(SAS)、快速非易失性存储器(NVMe)接口和通用闪存存储(UFS)接口。
存储控制器110可以通过非易失性存储器接口电路118与非易失性存储器件120进行通信。在一些示例实施例中,可以基于NAND接口来实现非易失性存储器接口电路118。
参考图2描述了第一存储装置100的存储控制器110。然而,本公开不限于此。例如,第二存储装置200的存储控制器210至第N存储装置N00的存储控制器N10均可以在结构上类似于第一存储装置100的存储控制器110。
图3是根据本公开的一些示例实施例的详细地图示了图1的非易失性存储器件的框图。参考图1和图3,非易失性存储器件120可以与存储控制器110进行通信。例如,非易失性存储器件120可以从存储控制器110接收地址ADD和命令CMD。易失性存储器件120可以与存储控制器110交换数据。
非易失性存储器件120可以包括控制逻辑121、电压生成器122、行译码器123、存储单元阵列124、页缓冲器部件125、列译码器126和输入/输出(I/O)电路127。可以将参考图1描述的数据(例如,原始数据或重复数据)存储在存储单元阵列124中。
控制逻辑121可以从存储控制器110接收命令CMD和地址ADD。命令CMD可以指指示要由非易失性存储器件120执行的操作(如读取操作、写入操作或擦除操作)的信号。地址ADD可以包括行地址ADDR和列地址ADDC。控制逻辑121可以基于地址ADD来生成行地址ADDR和列地址ADDC。
在控制逻辑121的控制下,电压生成器122可以通过行译码器123来控制要施加到存储单元阵列124的电压。
行译码器123可以从控制逻辑121接收行地址ADDR。行译码器123可以通过串选择线SSL、字线WL和接地选择线GSL与存储单元阵列124连接。行译码器123可以对行地址ADDR进行译码,并且可以基于译码结果和从电压生成器122接收到的电压来控制要施加到串选择线SSL、字线WL和接地选择线GSL的电压。
存储单元阵列124可以包括多个存储单元。每一个存储单元可以具有与至少一部分数据相对应的阈值电压电平。存储单元可以沿行方向和列方向布置。一些存储单元可以对应于图1中的数据(例如,原始数据或重复数据)。
在一些示例实施例中,存储单元阵列124可以包括多个存储块。存储块可以对应于非易失性存储器件120的物理擦除单元,但是本公开不限于此。例如,可以将物理擦除单元改变为页单元、字线单元、子块单元等。
页缓冲器部件125可以包括多个页缓冲器PB。页缓冲器部件125可以通过位线BL与存储单元阵列124连接。页缓冲器部件125可以通过感测位线BL的电压以页为单位从存储单元阵列124读取数据。
列译码器126可以从控制逻辑121接收列地址ADDC。列译码器126可以对列地址ADDC进行译码,并且可以基于译码结果向I/O电路127提供由页缓冲器部件125读取的数据。
列译码器126可以通过数据线DL从I/O电路127接收数据。列译码器126可以从控制逻辑121接收列地址ADDC。列译码器126可以对列地址ADDC进行译码,并且可以基于译码结果向页缓冲器部件125提供从I/O电路127接收到的数据。页缓冲器部件125可以通过位线BL来将从I/O电路127提供的数据以页为单位存储在存储单元阵列124中。
I/O电路127可以通过数据线DL与列译码器126连接。I/O电路127可以通过数据线DL向列译码器126提供从存储控制器110接收到的数据。I/O电路127可以将通过数据线DL接收到的数据输出到存储控制器110。
参考图3描述了第一存储装置100的非易失性存储器件120。然而,本公开不限于此。例如,第二存储装置200的非易失性存储器件220至第N存储装置N00的非易失性存储器件N20均可以在结构上类似于第一存储装置100的非易失性存储器件120。
图4是描述常规存储系统的去重操作的图。将参考图4描述执行去重的常规存储系统。常规存储系统可以包括主机层和存储层。
主机层可以包括应用、文件系统和去重引擎。
应用可以是指被设计为执行特定功能的软件程序。例如,应用可以包括文字处理器、数据库程序、web浏览器、图像编辑程序等。应用可以通过诸如触摸屏、监视器、鼠标、键盘、麦克风或扬声器的用户接口装置来与存储系统的用户进行通信。
文件系统管理文件。文件系统可以依据操作系统的操作或由操作系统运行的应用的请求来管理以下操作:创建文件、访问文件、打开文件、更改文件和删除文件的操作。文件可以是数据的集合。与文件相对应的数据集合可以被存储在存储层中。
在文件系统的控制下,去重引擎可以管理针对存储在存储层中的多个数据的去重操作。
存储层可以包括第一存储装置和第二存储装置。存储在第一存储装置中的数据可以是原始数据。存储在第二存储装置中的数据可以是重复数据。原始数据的指纹可以与重复数据的指纹一致。重复数据被存储的时间点可以晚于原始数据被存储的时间点。
去重引擎可以与存储层进行通信以管理重复数据。例如,去重引擎可以与存储层的第一存储装置和第二存储装置进行通信。去重引擎可以从原始数据生成指纹,可以从重复数据生成指纹,可以对其指纹与原始数据的指纹一致的重复数据执行去重,并且可以管理映射信息,使得被去重的重复数据引用原始数据。
根据常规存储系统,主机层的去重引擎可以从存储层获取原始数据和重复数据。当所获取的原始数据的指纹与所获取的重复数据的指纹一致时,去重引擎可以请求存储层擦除重复数据。
随着去重被执行,可以完成存储层与主机层之间的I/O操作,主机层的计算负荷可能增加,可能由于对原始数据和重复数据的处理而在主机层的主机存储器中发生瓶颈。这可以意味着存储系统的性能降低了。为了减少或防止上述问题,需要用于降低主机层的负荷的去重技术。
图5是描述根据本公开的一些示例实施例的存储系统的去重操作的图。将参考图5描述根据本公开的示例实施例的存储系统10如何执行去重。存储系统10可以对应于图1的存储系统10。
存储系统10可以包括主机层和存储层。主机层可以包括主机装置11。主机装置11可以包括应用和文件系统。应用和文件系统可以分别对应于图4的应用和文件系统。
根据本公开的一些示例实施例,文件系统可以与存储层进行通信。例如,文件系统可以通过PCIe总线12与第一存储装置100和第二存储装置200进行通信。文件系统可以将数据存储在第一存储装置100和第二存储装置200中或者可以读取存储在第一存储装置100和第二存储装置200中的数据。
存储层可以包括第一存储装置100和第二存储装置200。第一存储装置100可以包括去重管理器111。去重管理器111可以管理存储在第一存储装置100中的数据的去重。第二存储装置200可以包括去重管理器211。去重管理器211可以管理存储在第二存储装置200中的数据的去重。
根据本公开的一些示例实施例,第一存储装置100和第二存储装置200可以执行去重。第一存储装置100的去重管理器111和第二存储装置200的去重管理器211可以通过PCIe总线12彼此通信。也就是说,PCIe总线12可以提供存储层内的第一存储装置100和第二存储装置200之间的接口。通过与另一存储装置的基于P2P的通信,去重管理器111和211中的每一者可以确定原始数据是否存在于另一存储装置中并且可以执行重复数据的去重。
例如,第一存储装置100可以存储原始数据。第二存储装置200可以存储重复数据。第二存储装置200的去重管理器211可以获得重复数据的指纹,并且可以通过PCIe总线12向第一存储装置100广播该指纹。第一存储装置100的去重管理器111可以确定从第二存储装置200广播的指纹是否与原始数据的指纹一致,并且可以通过PCIe总线12给第二存储装置200提供响应,所述响应提供原始数据存在的通知。第二存储装置200的去重管理器211可以基于从第一存储装置100接收到的响应来对重复数据执行去重,并且可以执行管理使得重复数据引用第一存储装置100中的原始数据。
如上所述,根据本公开的示例实施例,存储系统10可以在没有主机装置11干预的情况下在存储层中自动地执行去重。因此,可以省略存储层与主机层之间的I/O操作,主机层中用于去重操作的计算负荷可以降低,不会由于对原始数据和重复数据的处理而在主机层的主机存储器中发生瓶颈。这可以意味着存储系统10的性能被改进。
图6是描述根据本公开的一些示例实施例的操作存储系统的方法的图。将参考图6描述根据本公开的一些示例实施例的存储系统10。存储系统10可以对应于图1和图5的存储系统10。
存储系统10可以包括主机装置11、PCIe总线12、第一存储装置100和第二存储装置200。
通过PCIe总线12,主机装置11可以将数据存储在第一存储装置100和第二存储装置200中,可以读取存储在第一存储装置100和第二存储装置200中的数据,或者可以擦除存储在第一存储装置100和第二存储装置200中的数据。
PCIe总线12可以提供主机装置11、第一存储装置100和第二存储装置200之间的接口。
第一存储装置100可以包括去重管理器111、映射表112和非易失性存储器件120。去重管理器111可以与第二存储装置200的去重管理器211进行通信。去重管理器111可以参考映射表112来管理存储在非易失性存储器件120中的数据的去重操作。去重管理器111可以包括指纹模块。指纹模块可以管理与数据相对应的指纹。映射表112可以管理关于存储在非易失性存储器件120中的多个数据中的每一个数据的映射信息。非易失性存储器件120可以存储多个数据。
第二存储装置200可以包括去重管理器211、映射表212和非易失性存储器件220。去重管理器211可以与第一存储装置100的去重管理器111进行通信。去重管理器211可以参考映射表212来管理存储在非易失性存储器件220中的数据的去重操作。去重管理器211可以包括指纹模块。映射表212可以管理关于存储在非易失性存储器件220中的多个数据中的每一个数据的映射信息。非易失性存储器件220可以存储多个数据。
在下面,将描述根据本公开的一些示例实施例的存储系统10执行去重的方法。
在第一操作①中,第一存储装置100的去重管理器111可以广播目标数据的指纹FP。目标数据可以是存储在非易失性存储器件120中的多个数据之一,或者可以是在从主机装置11接收到之后暂时存储在第一存储装置100的易失性存储器件(例如,写入缓冲存储器)中的数据。
去重管理器111可以通过指纹模块获得目标数据的指纹FP。例如,目标数据的指纹FP可以是“13579”。指纹FP可以表示与指纹FP相对应的数据的唯一特性。当两个不同数据的指纹彼此一致时,这两个不同数据可以包括相同内容。当两个不同数据的指纹彼此不一致时,这两个不同数据可以表示不同内容。
去重管理器111可以通过PCIe总线12广播目标数据的指纹FP。为了减少或防止绘图复杂化,仅图示了将目标数据的指纹FP传送到第二存储装置200的示例实施例。然而,当存储系统10还包括另一存储装置(例如,第三存储装置)时,还可以向存储系统10中的另一存储装置(例如,第三存储装置)广播指纹FP。
去重管理器111的去重操作可以由第一存储装置100自动地触发,或者可以由来自主机装置11的去重请求触发。将一起参考图9详细地描述如何触发去重操作。
在第二操作②中,第二存储装置200的去重管理器211可以给第一存储装置100提供与在第一操作①中广播的指纹FP相对应的响应RP。
详细地,第二存储装置200的去重管理器211可以通过PCIe总线12接收从第一存储装置100广播的指纹FP。所广播的指纹FP可以是“13579”。
指纹FP为“13579”的原始数据可以存在于第二存储装置200的非易失性存储器件220中。原始数据的指纹可以被存储在映射表212中。映射表212可以管理关于存储在非易失性存储器件220中的多个数据中的每一个数据的映射信息。
映射信息可以包括逻辑地址LA、物理地址PA、指纹FP、重复标志DF、引用索引RI和引用计数RC。作为指示数据的位置的地址的逻辑地址LA可以指能够被主机装置11并且被诸如第一存储装置100的外部装置识别的地址。作为与逻辑地址LA具有逻辑到物理映射关系的地址的物理地址PA可以指在第一存储装置100/第二存储装置200中内部使用的地址。指纹FP可以指示数据的唯一特性。
重复标志DF可以指示数据是原始数据还是重复数据。例如,当重复标志DF的值是第一值“Y”时,与重复标志DF相对应的数据可以是重复数据。当重复标志DF的值是第二值“N”时,与重复标志DF相对应的数据可以是原始数据。
引用索引RI可以指示其中存储有要被引用的原始数据的存储装置的标识信息。详细地,当重复标志DF的值是第一值“Y”时,引用索引RI可以指示其中存储有被去重的重复数据所引用的原始数据的存储装置的标识信息。当重复标志DF的值是第二值“N”时,与引用索引RI相对应的映射表112的条目可以是空的。
引用计数RC可以指示数据被引用的次数。详细地,当重复标志DF的值是第一值“Y”时,映射表112中与引用计数RC相对应的条目可以是空的。当重复标志DF的值是第二值“N”时,引用计数RC可以指示与原始数据相对应的数据被引用的次数。数据被引用的次数可以包括数据被其自身引用的次数。例如,当引用计数RC是“1”时,可能仅存在原始数据。当引用计数RC是“2”时,可能存在原始数据和一个重复数据。
参考映射表212,去重管理器211可以确定存在与通过PCIe总线12广播的指纹FP相对应的映射信息。去重管理器211可以基于确定存在映射信息来通过PCIe总线12给第一存储装置100提供响应RP,所述响应RP指示存在具有目标数据的指纹的映射信息。
响应RP可以包括包含引用索引RI的第一字段、包含指纹FP的第二字段、包含指示存在与指纹FP相对应的映射信息的引用标志RF的第三字段、包含原始数据的逻辑地址LA的第四字段、以及包含原始数据的物理地址PA的第五字段。
第一字段的引用索引RI可以指示提供响应RP的存储装置的标识信息。例如,去重管理器211提供的响应RP的标识信息可以是“SD2”。标识信息“SD2”可以对应于第二存储装置200。与图6所图示的示例实施例不同,在第一存储装置100的去重管理器111提供响应的示例实施例中,标识信息可以是“SD1”。换句话说,标识信息可以与提供响应RP的存储位置或装置的标识符有关。
第二字段的指纹FP可以指示与响应RP相对应的目标数据的唯一特性。例如,响应RP可以与所广播的指纹FP具有对应关系。当在第一操作①中广播的指纹FP是“13579”时,包括在第二操作②中提供的响应RP中的指纹FP可以是“13579”。
第三字段的引用标志RF可以指示是否存在具有所广播的指纹的原始数据。例如,在指纹FP为“13579”的原始数据存在于第二存储装置200中的示例实施例中,引用标志RF可以具有第一值“Y”。在指纹FP为“13579”的原始数据不存在于第二存储装置200中的示例实施例中,引用标志RF可以具有第二值“N”。
第四字段的逻辑地址LA可以指示原始数据的逻辑地址。第五字段的物理地址PA可以指示原始数据的物理地址。
例如,当第三字段的引用标志RF具有第一值“Y”时,响应RP的第四字段可以包括作为原始数据的逻辑地址LA的值的“0x02”。响应RP的第五字段可以包括作为原始数据的物理地址PA的值的“0x22”。作为另一示例,当第三字段的引用标志RF具有第二值“N”时,响应RP的第四字段和第五字段可以是空的。
在第三操作③中,去重管理器211可以更新包括在映射表212中的原始数据的映射信息。例如,在映射表212中,指纹FP为“13579”的原始数据的引用计数RC可以是“1”。引用计数RC是“1”可以意味着原始数据被自身引用。去重管理器211可以确定存在具有在第二操作②中广播的指纹的原始数据。因为指纹FP为“13579”的原始数据还被第一存储装置100引用了,所以去重管理器211可以更新映射表212的引用计数RC,即,可以将引用计数RC从“1”改变为“2”。
为了更好地理解,将第二操作②和第三操作③描述为独立操作,但是本公开不旨在限制第二操作②和第三操作③的时间次序。可以在第二操作②完成之后执行第三操作③。在一些其他示例实施例中,可以与第二操作②中参考映射表212的操作一起执行第三操作③。
在第四操作④中,去重管理器111可以基于通过第二操作②接收到的响应RP来更新目标数据的映射信息。例如,响应RP的引用标志RF可以具有第一值“Y”,并且引用索引RI可以指示“SD2”,其为第二存储装置200的标识信息。
去重管理器111可以基于通过第二操作②接收到的响应RP来确定目标数据是重复数据。去重管理器111可以更新映射表112,即,更新指纹FP为“13579”的目标数据的映射信息,使得逻辑地址LA的值被设置为“0x10”,物理地址PA的值是空的,指纹FP的值被设置为“13579”,重复标志DF的值被设置为第一值“Y”,并且引用索引RI被设置为与第二存储装置200相对应的“SD2”。
在一些示例实施例中,去重管理器111可以更新被确定为重复数据的目标数据的映射信息,使得原始数据的逻辑地址LA的值被存储为物理地址PA的值。例如,去重管理器111可以基于通过第二操作②接收到的响应RP来将作为原始数据的逻辑地址LA的值的“0x02”存储为目标数据的物理地址PA的值,而不是清空该物理地址PA的值。
在第五操作⑤中,去重管理器111可以基于通过第二操作②接收到的响应RP来执行目标数据的去重。例如,响应RP的引用标志RF可以具有第一值“Y”。去重管理器111可以基于包括引用标志RF为第一值“Y”的响应RP来擦除存储在非易失性存储器件120中的指纹FP为“13579”的目标数据。
或者,与图6所图示的示例实施例不同,目标数据可以是暂时存储在第一存储装置100的易失性存储器件中的数据。去重管理器111可以基于包括引用标志RF为第一值“Y”的响应RP来将暂时存储在易失性存储器件中的目标数据确定为重复数据,并且可以丢弃该重复数据。
图7是描述根据本公开的一些示例实施例的操作存储系统的方法的图。将参考图7描述根据本公开的一些示例实施例的存储系统10。存储系统10可以对应于图1、图5和图6的存储系统10。
存储系统10可以包括主机装置11、PCIe总线12、第一存储装置100和第二存储装置200。第一存储装置100可以包括去重管理器111、映射表112和非易失性存储器件120。第二存储装置200可以包括去重管理器211、映射表212和非易失性存储器件220。
主机装置11、PCIe总线12、第一存储装置100和第二存储装置200的特性类似于主机装置11、PCIe总线12、第一存储装置100和第二存储装置200的特性,因此,将省略附加描述以避免冗余。
在下面,将描述根据本公开的一些示例实施例的存储系统10执行去重的方法。
在第一操作①中,第一存储装置100的去重管理器111可以广播目标数据的指纹FP。例如,目标数据的指纹FP可以是“13579”。
在第二操作②中,第二存储装置200的去重管理器211可以给第一存储装置100提供与在第一操作①中广播的指纹FP相对应的响应RP。
例如,第二存储装置200的去重管理器211可以通过PCIe总线12接收从第一存储装置100广播的指纹FP。所广播的指纹FP可以是“13579”。指纹FP为“13579”的原始数据可以不在第二存储装置200的非易失性存储器件220中。原始数据是否存在可以由映射表212管理。
参考映射表212,去重管理器211可以确定不存在与通过PCIe总线12广播的指纹FP相对应的映射信息。去重管理器211可以基于确定不存在映射信息,通过PCIe总线12给第一存储装置100提供响应RP,所述响应RP指示不存在具有目标数据的指纹的映射信息。
响应RP可以包括包含引用索引RI的第一字段、包含指纹FP的第二字段、包含指示是否存在与指纹FP相对应的映射信息的引用标志RF的第三字段、包含原始数据的逻辑地址LA的第四字段、以及包含原始数据的物理地址PA的第五字段。因为指纹FP为“13579”的原始数据不存在于第二存储装置200中,所以引用标志RF可以具有第二值“N”。
在第三操作③中,去重管理器111可以基于通过第二操作②接收到的响应RP来更新目标数据的映射信息。例如,响应RP的引用标志RF可以具有第二值“N”。
去重管理器111可以基于通过第二操作②接收到的响应RP来将目标数据确定为原始数据。去重管理器111可以更新映射表112中的目标数据的映射信息,使得指纹FP为“13579”的目标数据的映射信息的重复标志DF的值被设置为第二值“N”。或者,去重管理器111可以首次将原始数据的映射信息登记在映射表112处。
在第四操作④中,去重管理器111可以基于通过第二操作②接收到的响应RP来保持目标数据。例如,响应RP的引用标志RF可以具有第二值“N”。另外,去重管理器111可以忽视(或者可以不接收)来自任何其他存储装置的具有引用标志为第一值“Y”的任何其他响应。
去重管理器111可以基于在给定时间内未接收到与所广播的指纹FP相对应并且包括引用标志RF为第一值“Y”的响应RP,来保持存储在非易失性存储器件120中的指纹FP为“13579”的目标数据。
或者,与图7所图示的示例实施例不同,目标数据可以是暂时存储在第一存储装置100的易失性存储器件中的数据。去重管理器111可以基于在给定时间内未接收到与所广播的指纹FP相对应并且包括引用标志RF为第一值“Y”的响应RP,来将暂时存储在易失性存储器件中的目标数据移动到非易失性存储器件120。
图8是描述根据本公开的一些示例实施例的包括多个存储装置的存储系统的图。参考图8,存储系统10可以包括第一存储装置100至第四存储装置400。
存储系统10可以包括主机装置11、PCIe总线12以及第一存储装置100至第四存储装置400。第一存储装置100可以包括去重管理器111和映射表112。第一存储装置100可以存储数据。如在上述描述的一样,第二存储装置200、第三存储装置300和第四存储装置400可以分别包括去重管理器211、311和411,可以分别包括映射表212、312和412,并且可以存储数据。
第一存储装置100可以开始对指纹FP为“13579”的目标数据的去重。第一存储装置100可以向PCIe总线12广播“13579”的指纹FP。向PCIe总线12广播的指纹FP可以被传送到与PCIe总线12连接的任何其他存储装置。
第二存储装置200可以接收所广播的指纹FP。第二存储装置200可以包括指纹FP为“13579”的原始数据。参考映射表212,去重管理器211可以确定存在指纹FP为“13579”的原始数据。去重管理器211可以通过PCIe总线12向第一存储装置100提供包括引用标志RF为第一值“Y”的第一响应RP1。
去重管理器211可以更新映射表212,使得原始数据的映射信息的引用计数RC从“2”增加到“3”。引用计数RC是“3”可以意味着存在原始数据和两个具有相同指纹的重复数据。
第三存储装置300可以接收所广播的指纹FP。指纹FP为“13579”的原始数据可以不存在于第三存储装置300中。参考映射表312,去重管理器311可以确定不存在指纹FP为“13579”的原始数据。去重管理器311可以通过PCIe总线12向第一存储装置100提供包括引用标志RF为第二值“N”的第二响应RP2。
第四存储装置400可以接收所广播的指纹FP。指纹FP为“13579”的原始数据可以不在第四存储装置400中。例如,在第四存储装置400中,指纹FP为“13579”的数据可以是去重的重复数据,而不是原始数据。参考映射表412,去重管理器411可以确定不存在指纹FP为“13579”的原始数据。去重管理器411可以通过PCIe总线12向第一存储装置100提供包括引用标志RF为第二值“N”的第三响应RP3。
第一存储装置100可以从通过PCIe总线12连接的任何其他存储装置接收至少一个响应。例如,第一存储装置100可以接收第一响应RP1至第三响应RP3。第一响应RP1的引用标志RF可以具有第一值“Y”。第二响应RP2和第三响应RP3中的每一个响应的引用标志RF可以具有第二值“N”。
当包括引用标志RF为第一值“Y”的响应存在于从任何其他存储装置接收到的响应中时,第一存储装置100可以执行目标数据的去重。例如,当包括引用标志RF为第一值“Y”的第一响应RP1存在于第一响应RP1至第三响应RP3中时,第一存储装置100可以执行目标数据的去重。
作为另一示例,与图8所图示的示例实施例不同,当包括引用标志RF为第一值“Y”的响应不在从任何其他存储装置接收到的响应中时,第一存储装置100可以保持目标数据。详细地,基于在给定时间内未接收到包括引用标志RF为第一值“Y”的响应,第一存储装置100可以将目标数据确定为原始数据并且可以保持目标数据。
也就是说,即使一个包括引用标志RF为第一值“Y”的响应存在于与所广播的指纹相对应的响应中,第一存储装置100也可以执行目标数据的去重。在一些其他示例实施例中,当与所广播的指纹相对应的响应均包括具有第二值“N”的引用标志RF时,第一存储装置100可以将目标数据确定为原始数据。
在一些示例实施例中,随着包括在存储系统10中的存储装置的数目增加,去重命中率可以增加。去重命中率可以指目标数据的指纹与原始数据的指纹一致时目标数据被去重的程度。去重命中率的增加可以意味着存储容量的效率被提高。
随着要管理的数据与存储系统10中的存储装置的数目的增加成比例地增加,相同数据重复的概率可以增加。即使存储装置的数目增加,存储装置也可以通过广播指纹来容易地检查目标数据是否在任何其他存储装置中重复。也就是说,在存储系统10中,随着存储装置的数目增加,存储容量的效率可以提高。
图9是描述根据本公开的一些示例实施例的去重管理器的图。将参考图9描述存储系统10发起去重的操作。存储系统10可以包括主机层和存储层。
主机层可以包括主机装置11。存储层可以包括去重管理器111、映射表112、易失性存储器件114和非易失性存储器件120。去重管理器111可以包括去重发起器和指纹模块。去重发起器可以触发去重操作,使得去重管理器111发起目标数据的去重操作。
在一些示例实施例中,去重发起器可以以即时方式触发去重操作。例如,去重发起器可以从主机装置11接收去重请求。去重发起器可以响应于去重请求立即触发目标数据的去重操作。去重管理器111可以响应于去重发起器的触发向任何其他(或其余)存储装置广播目标数据的指纹。
在一些示例实施例中,去重发起器可以以后台方式触发去重操作。例如,去重发起器可以与易失性存储器件114进行通信。易失性存储器件114可以包括写入缓冲存储器。写入缓冲存储器可以是指暂时存储从主机装置11接收到的写入数据的存储器。写入缓冲存储器可以具有给定大小的存储容量。
当存储层处于空闲状态时,去重发起器可以确定存储在写入缓冲存储器中的写入数据的大小是否超过写入阈值。写入阈值可以具有被用作去重操作的标准的大小。当确定了存储在写入缓冲存储器中的写入数据的大小超过写入阈值时,去重发起器可以触发目标数据的去重操作。去重管理器111可以响应于去重发起器的触发向任何其他(或其余)存储装置广播目标数据的指纹。
图10是描述根据本公开的一些示例实施例的指纹生成器的图。将参考图10描述存储系统生成目标数据的指纹FP的方法。
存储系统可以包括指纹生成器和去重管理器111。去重管理器111可以包括指纹模块。指纹模块可以从指纹生成器接收指纹FP。指纹模块可以向任何其他存储装置广播指纹FP。
指纹生成器可以接收数据。该数据可以是作为去重目标的目标数据。目标数据可以包括多个比特的集合。指纹生成器可以对包括在目标数据中的多个比特的集合中的一些比特进行采样。指纹生成器可以通过将采样到的比特应用于散列函数来生成目标数据的指纹FP。散列函数可以是指基于散列算法来生成与密钥值相对应的索引的函数。例如,通过散列函数获得的指纹FP的值可以是“13579”。指纹生成器可以将指纹FP提供给去重管理器111。
在一些示例实施例中,可以将指纹生成器包括在主机装置中。例如,主机装置可以在高速缓存存储器中存储作为去重目标的目标数据。主机装置中的指纹生成器可以基于与高速缓存存储器的通信来生成与目标数据相对应的指纹FP。主机装置可以将指纹FP提供给存储装置的去重管理器111。去重管理器111可以向任何其他存储装置广播指纹FP。
在一些示例实施例中,可以将指纹生成器包括在存储装置中。例如,存储装置可以包括其中存储有目标数据的易失性存储器件或其中存储有目标数据的非易失性存储器件。存储装置中的指纹生成器可以基于与易失性存储器件或非易失性存储器件的通信来生成与目标数据相对应的指纹FP。指纹生成器可以将指纹FP提供给去重管理器111。去重管理器111可以向任何其他存储装置广播指纹FP。
图11A是描述根据本公开的一些示例实施例的存储系统的读取操作的图。将参考图11A描述根据本公开的一些示例实施例的基于重定向的读取操作。存储系统10可以包括主机装置11、PCIe总线12、第一存储装置100和第二存储装置200。第一存储装置100可以包括去重管理器111、映射表112和非易失性存储器件120。第二存储装置200可以包括去重管理器211、映射表212和非易失性存储器件220。
在下面,将描述根据本公开的一些示例实施例的存储系统10的基于重定向的读取操作。
在第一操作①中,主机装置11可以通过PCIe总线12向第一存储装置100提供对目标数据的读取请求。目标数据可以是作为去重目标的目标数据。也就是说,第一存储装置100可以仅存储目标数据的映射信息而不存储目标数据本身。
在第二操作②中,去重管理器111可以将通过第一操作①接收到的读取请求重定向到第二存储装置200。例如,去重管理器111可以参考映射表112中的目标数据的映射信息检查到目标数据是引用第二存储装置200的原始数据的重复数据。去重管理器111可以基于检查到的映射信息来将读取请求重定向到第二存储装置200。
在第三操作③中,去重管理器211可以基于通过第二操作②重定向的读取请求来通过PCIe总线12向主机装置11提供原始数据而非目标数据。原始数据可以是由目标数据引用的数据并且包括与目标数据相同的内容。
图11B是描述根据本公开的一些示例实施例的存储系统的读取操作的图。将参考图11B描述根据本公开的一些示例实施例的基于中继的读取操作。存储系统10可以包括主机装置11、PCIe总线12、第一存储装置100和第二存储装置200。第一存储装置100可以包括去重管理器111、映射表112和非易失性存储器件120。第二存储装置200可以包括去重管理器211、映射表212和非易失性存储器件220。
在下面,将描述根据本公开的一些示例实施例的存储系统10的基于中继的读取操作。
在第一操作①中,主机装置11可以通过PCIe总线12向第一存储装置100提供对目标数据的读取请求。目标数据可以是作为去重目标的目标数据。也就是说,第一存储装置100可以仅存储目标数据的映射信息而不存储目标数据本身。
在第二操作②中,去重管理器111可以将与第一操作①相对应的读取请求重定向到第二存储装置200。例如,去重管理器111可以参考映射表112中的目标数据的映射信息检查到目标数据是引用第二存储装置200的原始数据的重复数据。去重管理器111可以基于检查到的映射信息来将读取请求重定向到第二存储装置200。
在第三操作③中,去重管理器211可以基于通过第二操作②重定向的读取请求来通过PCIe总线12向去重管理器111提供原始数据。原始数据可以是由目标数据引用的数据并且包括与目标数据相同的内容。
在第四操作④中,去重管理器111可以通过PCIe总线12向主机装置11提供通过第三操作③接收到的原始数据。也就是说,去重管理器111可以被提供有来自去重管理器211的原始数据并且可以向主机装置11转发原始数据。
图12是描述根据本公开的一些示例实施例的存储系统的擦除操作的图。将参考图12描述根据本公开的一些示例实施例的擦除操作。存储系统10可以包括主机装置11、PCIe总线12、第一存储装置100和第二存储装置200。第一存储装置100可以包括去重管理器111、映射表112和非易失性存储器件120。第二存储装置200可以包括去重管理器211、映射表212和非易失性存储器件220。
在下面,将描述根据本公开的一些示例实施例的存储系统10的擦除操作。
在第一操作①中,主机装置11可以通过PCIe总线12向第一存储装置100提供对目标数据的擦除请求。目标数据可以是作为去重目标的目标数据。也就是说,第一存储装置100可以仅存储目标数据的映射信息而不存储目标数据本身。
在第二操作②中,去重管理器111可以将通过第一操作①接收到的擦除请求重定向到第二存储装置200。例如,去重管理器111可以参考映射表112中的目标数据的映射信息检查到目标数据是引用第二存储装置200的原始数据的重复数据。去重管理器111可以基于检查到的映射信息来将擦除请求重定向到第二存储装置200。
在第三操作③中,去重管理器111可以基于通过第一操作①接收到的擦除请求来删除(或者,例如,可以取消映射)包括在映射表112中的目标数据的映射信息。
在第四操作④中,去重管理器211可以基于通过第二操作②重定向的擦除请求来更新映射表212中的原始数据的引用计数。例如,去重管理器211可以基于经重定向的擦除请求来将映射表212中的原始数据的引用计数从“2”减小到“1”。在一些示例实施例中,因为更新后的引用计数不是“0”,所以存储在非易失性存储器件220中的原始数据可以被保持。
图13是描述根据本公开的一些示例实施例的操作存储装置的方法的流程图。将参考图13描述操作存储装置的方法。存储装置可以与外部存储装置进行通信。存储装置可以包括去重管理器。
在操作S110中,存储装置的去重管理器可以广播目标数据的指纹。在一些示例实施例中,存储装置可以通过PCIe总线向外部存储装置广播指纹。
在操作S120中,存储装置的去重管理器可以接收与指纹相对应的响应。在一些示例实施例中,存储装置可以与多个外部存储装置进行通信。在一些示例实施例中,在操作S120中,存储装置可以从多个外部存储装置接收与指纹相对应的多个响应。
在操作S130中,存储装置的去重管理器可以确定在操作S120中接收到的响应的引用标志是否具有第一值。引用标志可以指示是否存在与指纹相对应的原始数据。当引用标志具有第一值时,原始数据可以存在于外部存储装置中。当引用标志具有第二值时,原始数据可以不存在于外部存储装置中。当响应的引用标志具有第一值时,存储装置可以执行操作S140。当响应的引用标志不具有第一值时,存储装置可以执行操作S150。
在一些示例实施例中,存储装置可以与多个外部存储装置进行通信。在一些示例实施例中,在操作S130中,存储装置可以确定从多个外部存储装置接收到的多个响应中是否存在包括引用标志为第一值的响应。当多个响应中存在包括引用标志为第一值的响应时,存储装置可以执行操作S140。当多个响应中不存在包括引用标志为第一值的响应时,存储装置可以执行操作S150。
在操作S140中,存储装置可以基于在操作S120中接收到的响应来更新目标数据的映射信息。例如,可以将目标数据的映射信息中的重复标志的值设置为第一值。可以将目标数据的映射信息中的引用索引的值设置为指示与外部存储装置相对应的标识信息。也就是说,存储装置可以将目标数据作为重复数据来管理。
在操作S141中,存储装置可以基于在操作S120中接收到的响应来执行目标数据的去重。
在操作S150中,存储装置可以更新目标数据的映射信息。例如,可以将目标数据的映射信息中的重复标志的值设置为第二值。也就是说,存储装置可以将目标数据作为原始数据来管理。
在操作S151中,存储装置可以保持目标数据。也就是说,当目标数据被确定为原始数据时,存储装置可以不执行目标数据的去重。
图14是描述根据本公开的一些示例实施例的操作存储系统的方法的流程图。将参考图14描述存储系统的操作方法。存储系统可以包括第一存储装置100、第二存储装置200和第三存储装置300。
在操作S210中,第一存储装置100可以广播目标数据的指纹FP。例如,第一存储装置100至第三存储装置300可以通过PCIe总线彼此连接。第一存储装置100可以通过PCIe总线向第二存储装置200和第三存储装置300广播目标数据的指纹FP。
在操作S220中,第二存储装置200可以向第一存储装置100提供包括引用标志RF为第二值“N”的第一响应RP1。
在操作S221中,第一存储装置100可以基于在操作S220中接收到的第一响应RP1来确定第二存储装置200不包括原始数据。
在操作S230中,第三存储装置300可以向第一存储装置100提供包括引用标志RF为第一值“Y”的第二响应RP2。
在操作S231中,第一存储装置100可以基于在操作S230中接收到的第二响应RP2来确定第三存储装置300包括原始数据。
在操作S240中,第一存储装置100可以基于在操作S230中接收到的第二响应RP2来更新与目标数据相对应的映射信息。例如,可以将目标数据的映射信息中的重复标志的值设置为第一值“Y”。可以将目标数据的映射信息中的引用索引的值设置为指示与第三存储装置300相对应的标识信息。也就是说,第一存储装置100可以将目标数据作为重复数据来管理。
在操作S241中,第一存储装置100可以执行目标数据的去重。
根据本公开的示例实施例,提供了一种包括去重管理器的存储装置、一种操作所述存储装置的方法以及一种操作包括所述去重管理器的存储系统的方法。
另外,提供了一种存储装置、一种操作所述存储装置的方法以及一种操作包括所述存储装置的存储系统的方法,所述存储装置通过与外部存储装置的基于P2P的通信来执行去重,使得存储装置与主机装置之间的输入/输出(I/O)负荷降低,主机装置的计算负荷降低,数据处理速度提高,并且存储容量被高效使用。
存储系统10(或其他电路系统,例如主机装置11、存储装置100等、存储控制器110等、去重管理器111等、处理器113、ROM 115、ECC引擎116、主机接口电路117、映射表112、非易失性存储器接口电路118、电压生成器122、行译码器123、页缓冲器部件125、控制逻辑121、列译码器126、I/O电路127、指纹生成器、或本文讨论的其他电路系统)可以包括:包括逻辑电路的硬件,诸如运行软件的处理器的硬件/软件组合,或其组合。例如,处理电路系统更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
虽然已经参考本公开的示例实施例描述了本公开,但是对本领域的普通技术人员而言将显而易见的是,在不脱离如所附权利要求中所阐述的本公开的精神和范围的情况下,可以对其做出各种改变和修改。
Claims (20)
1.一种操作存储装置的方法,所述存储装置与第一外部存储装置进行通信并且包括去重管理器,所述方法包括:
由所述去重管理器广播第一数据的第一指纹;
从所述第一外部存储装置接收与所述第一指纹相对应的第一响应;
由所述去重管理器确定所述第一响应的引用标志具有第一值还是第二值;
基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来更新所述存储装置中的映射表中的第一映射信息,所述第一映射信息对应于所述第一数据;以及
基于确定出所述第一响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第一响应来执行所述第一数据的去重。
2.根据权利要求1所述的方法,其中,
所述存储装置通过PCIe总线与所述第一外部存储装置进行通信,所述PCIe总线即快速外围部件互连总线,并且
从所述第一外部存储装置接收与所述第一指纹相对应的所述第一响应包括:在没有主机装置干预的情况下,通过所述PCIe总线从所述第一外部存储装置接收所述第一响应。
3.根据权利要求1所述的方法,还包括:
基于确定出所述第一响应的所述引用标志具有所述第二值,由所述去重管理器更新所述映射表中的所述第一映射信息;以及
基于确定出所述第一响应的所述引用标志具有所述第二值,由所述去重管理器保持所述第一数据。
4.根据权利要求1所述的方法,其中,所述第一响应包括:
第一字段,所述第一字段包括所述第一外部存储装置的标识信息;
第二字段,所述第二字段包括由所述存储装置广播的所述第一指纹;
第三字段,所述第三字段包括所述引用标志,所述引用标志基于具有所述第一指纹的第一原始数据存在于所述第一外部存储装置中而具有所述第一值,基于具有所述第一指纹的所述第一原始数据不存在于所述第一外部存储装置中而具有所述第二值;
第四字段,所述第四字段基于所述引用标志具有所述第一值而包括所述第一原始数据的逻辑地址;以及
第五字段,所述第五字段基于所述引用标志具有所述第一值而包括所述第一原始数据的物理地址。
5.根据权利要求1所述的方法,其中,
所述存储装置存储包括所述第一数据在内的多个数据,
所述映射表管理分别与所述多个数据相对应的多个映射信息,
所述多个映射信息包括所述第一映射信息,并且
所述第一映射信息包括:
所述第一数据的逻辑地址;
所述第一数据的物理地址;
所述第一数据的所述第一指纹;
重复标志,所述重复标志基于所述第一数据被去重而具有第三值,基于所述第一数据不被去重而具有第四值;
引用索引,所述引用索引基于所述重复标志具有所述第三值而包括其中存储有所述第一数据所引用的第一原始数据的存储装置的标识信息;以及
引用计数,所述引用计数基于所述重复标志具有所述第四值而包括所述第一数据被引用的次数。
6.根据权利要求1所述的方法,其中,
所述存储装置还与主机装置进行通信,并且
由所述去重管理器广播所述第一数据的所述第一指纹包括:
从所述主机装置接收所述第一数据的去重请求;以及
由所述去重管理器基于所述去重请求来广播所述第一数据的所述第一指纹。
7.根据权利要求1所述的方法,其中,由所述去重管理器广播所述第一数据的所述第一指纹包括:
在空闲状态期间,由所述去重管理器确定存储在写入缓冲存储器中的写入数据的大小是否超过写入阈值;以及
基于确定出存储在所述写入缓冲存储器中的所述写入数据的大小超过所述写入阈值,由所述去重管理器广播所述第一数据的所述第一指纹。
8.根据权利要求1所述的方法,其中,
所述存储装置还与主机装置进行通信,并且
由所述去重管理器广播所述第一数据的所述第一指纹包括:
从所述主机装置接收所述第一数据的所述第一指纹;以及
由所述去重管理器基于由此接收到的所述第一指纹来广播所述第一数据的所述第一指纹。
9.根据权利要求1所述的方法,其中,
所述存储装置还包括指纹生成器,并且
由所述去重管理器广播所述第一数据的所述第一指纹包括:
由所述指纹生成器对与所述第一数据相对应的多个比特的集合中的一些比特进行采样;
由所述指纹生成器通过将采样到的比特应用于散列函数来生成所述第一数据的所述第一指纹;以及
由所述去重管理器基于由此生成的所述第一指纹来广播所述第一数据的所述第一指纹。
10.根据权利要求1所述的方法,其中,
所述存储装置还与主机装置进行通信,
所述第一响应的所述引用标志具有所述第一值,并且
所述方法还包括:
在所述第一映射信息被更新并且所述第一数据被去重之后,从所述主机装置接收对所述第一数据的读取请求;以及
由所述去重管理器基于所述映射表中的更新后的所述第一映射信息来将所述读取请求重定向到所述第一外部存储装置。
11.根据权利要求1所述的方法,其中,
所述存储装置还与主机装置进行通信,
所述第一响应的所述引用标志具有所述第一值,并且
所述方法还包括:
在所述第一映射信息被更新并且所述第一数据被去重之后,从所述主机装置接收对所述第一数据的擦除请求;
由所述去重管理器基于所述映射表中的更新后的所述第一映射信息来将所述擦除请求重定向到所述第一外部存储装置;以及
由所述去重管理器删除所述映射表中的更新后的所述第一映射信息。
12.根据权利要求1所述的方法,还包括:
接收从所述第一外部存储装置广播的第二数据的第二指纹;以及
由所述去重管理器参考所述映射表向所述第一外部存储装置提供与所述第二指纹相对应的第二响应。
13.根据权利要求12所述的方法,其中,由所述去重管理器参考所述映射表向所述第一外部存储装置提供与所述第二指纹相对应的所述第二响应包括:
由所述去重管理器确定包括所述第二指纹的第二映射信息是否存在于所述映射表中;
基于确定出包括所述第二指纹的所述第二映射信息存在于所述映射表中,由所述去重管理器向所述第一外部存储装置提供包括引用标志为所述第一值的所述第二响应;以及
基于确定出包括所述第二指纹的所述第二映射信息不存在于所述映射表中,由所述去重管理器向所述第一外部存储装置提供包括引用标志为所述第二值的所述第二响应。
14.根据权利要求13所述的方法,其中,基于确定出包括所述第二指纹的所述第二映射信息存在于所述映射表中,由所述去重管理器向所述第一外部存储装置提供包括引用标志为所述第一值的所述第二响应包括:
由所述去重管理器增加所述映射表中的所述第二映射信息的引用计数,所述第二映射信息的所述引用计数指示所述第二数据被引用的次数。
15.根据权利要求1所述的方法,其中,
所述存储装置还与第二外部存储装置进行通信,并且
所述方法还包括:
从所述第二外部存储装置接收与所述第一指纹相对应的第三响应;
由所述去重管理器确定所述第三响应的引用标志具有所述第一值还是所述第二值;
基于确定出所述第三响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第三响应来更新所述映射表中的所述第一映射信息;
基于确定出所述第三响应的所述引用标志具有所述第一值,由所述去重管理器基于所述第三响应来执行所述第一数据的去重;
基于确定出所述第一响应的所述引用标志和所述第三响应的所述引用标志都具有所述第二值,由所述去重管理器更新所述映射表中的所述第一映射信息;以及
基于确定出所述第一响应的所述引用标志和所述第三响应的所述引用标志都具有所述第二值,由所述去重管理器保持所述第一数据。
16.一种操作存储系统的方法,所述存储系统包括具有第一去重管理器的第一存储装置和具有第二去重管理器的第二存储装置,所述方法包括:
由所述第一去重管理器广播目标数据的指纹;
由所述第二去重管理器向所述第一存储装置提供与广播的所述指纹相对应的第一响应;
由所述第一去重管理器确定所述第一响应的引用标志具有第一值还是第二值;
基于确定出所述第一响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第一响应来更新与所述目标数据相对应并且包括在所述第一存储装置的映射表中的映射信息;以及
基于确定出所述第一响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第一响应来执行所述第一存储装置中的所述目标数据的去重。
17.根据权利要求16所述的方法,其中,
所述存储系统还包括具有第三去重管理器的第三存储装置,并且
所述方法还包括:
由所述第三去重管理器向所述第一存储装置提供与广播的所述指纹相对应的第二响应;
由所述第一去重管理器确定所述第二响应的引用标志具有所述第一值还是所述第二值;
基于确定出所述第二响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第二响应来更新与所述目标数据相对应并且包括在所述第一存储装置的所述映射表中的所述映射信息;
基于确定出所述第二响应的所述引用标志具有所述第一值,由所述第一去重管理器基于所述第二响应来执行所述第一存储装置中的所述目标数据的去重;
基于确定出所述第一响应的所述引用标志和所述第二响应的所述引用标志都具有所述第二值,由所述第一去重管理器更新与所述目标数据相对应并且包括在所述第一存储装置的所述映射表中的所述映射信息;以及
基于确定出所述第一响应的所述引用标志和所述第二响应的所述引用标志都具有所述第二值,由所述第一去重管理器保持所述第一存储装置中的所述目标数据。
18.一种存储装置,所述存储装置包括:
存储器件,所述存储器件被配置为存储多个数据;
映射表,所述映射表被配置为管理分别与所述多个数据相对应的多个映射信息;以及
去重管理器,所述去重管理器被配置为与外部存储装置进行通信,所述去重管理器还被配置为:
广播所述多个数据当中的第一数据的第一指纹;
从所述外部存储装置接收与所述第一指纹相对应的第一响应;
确定所述第一响应的引用标志具有第一值还是第二值;
基于确定出所述第一响应的所述引用标志具有所述第一值,基于所述第一响应,更新所述映射表中的所述多个映射信息当中的与所述第一数据相对应的第一映射信息并且执行所述存储器件中的所述多个数据当中的所述第一数据的去重;以及
基于确定出所述第一响应的所述引用标志具有所述第二值,更新所述映射表中的所述多个映射信息当中的所述第一映射信息并且保持所述存储器件中的所述多个数据当中的所述第一数据。
19.根据权利要求18所述的存储装置,其中,
所述外部存储装置包括具有第二指纹的第二数据,并且
所述去重管理器进一步被配置为:
接收从所述外部存储装置广播的所述第二指纹;
确定包括所述第二指纹的第二映射信息是否作为所述多个映射信息之一存在于所述映射表中;
基于确定出包括所述第二指纹的所述第二映射信息存在于所述映射表中,向所述外部存储装置提供包括引用标志为所述第一值的第二响应并且增加所述映射表中的所述第二映射信息的引用计数,所述第二映射信息的所述引用计数指示所述第二数据被引用的次数;以及
基于确定出包括所述第二指纹的所述第二映射信息不存在于所述映射表中,向所述外部存储装置提供包括引用标志为所述第二值的所述第二响应。
20.根据权利要求18所述的存储装置,还包括:
指纹生成器,所述指纹生成器被配置为:
对与所述第一数据相对应的多个比特的集合中的一些比特进行采样;
基于将采样到的比特应用于散列函数来生成所述第一指纹;以及
向所述去重管理器提供所述第一指纹。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0187568 | 2021-12-24 | ||
KR1020210187568A KR20230097755A (ko) | 2021-12-24 | 2021-12-24 | 중복제거 관리자를 포함하는 스토리지 장치, 이의 동작하는 방법, 및 이를 포함하는 스토리지 시스템의 동작하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116339613A true CN116339613A (zh) | 2023-06-27 |
Family
ID=86875272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211294244.6A Pending CN116339613A (zh) | 2021-12-24 | 2022-10-21 | 存储装置、操作其的方法及操作包括其的存储系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230205443A1 (zh) |
KR (1) | KR20230097755A (zh) |
CN (1) | CN116339613A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4009184A1 (en) * | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141633B1 (en) * | 2012-06-27 | 2015-09-22 | Emc Corporation | Special markers to optimize access control list (ACL) data for deduplication |
US9805048B2 (en) * | 2012-10-18 | 2017-10-31 | Oracle International Corporation | System and method for managing a deduplication table |
US10073878B1 (en) * | 2015-01-05 | 2018-09-11 | SK Hynix Inc. | Distributed deduplication storage system with messaging |
-
2021
- 2021-12-24 KR KR1020210187568A patent/KR20230097755A/ko unknown
-
2022
- 2022-08-01 US US17/878,395 patent/US20230205443A1/en active Pending
- 2022-10-21 CN CN202211294244.6A patent/CN116339613A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230097755A (ko) | 2023-07-03 |
US20230205443A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10468077B2 (en) | Adaptive object buffering and meta-data indexing using persistent memory to improve flash memory durability in tiered storage | |
CN105843551B (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
US11487630B2 (en) | Storage device and data processing method thereof | |
US9152350B2 (en) | Semiconductor memory device controlling write or read process | |
US20200057562A1 (en) | Apparatus and method for checking valid data in block capable of storing large volume data in memory system | |
US11756619B2 (en) | Key storage for sorted string tables using content addressable memory | |
CN114730300A (zh) | 对区命名空间存储器的增强型文件系统支持 | |
US20220382472A1 (en) | Storage device storing data based on key-value and operating method of the same | |
KR20210001508A (ko) | 메모리 시스템의 MLC(Multi Level Cell)영역에 데이터를 안전하게 저장하기 위한 장치 및 그 방법 | |
CN112988615A (zh) | 键值存储设备和操作方法 | |
KR20200122685A (ko) | 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법 | |
US20140219041A1 (en) | Storage device and data processing method thereof | |
US11875036B2 (en) | Computing system including host and storage system and having increased write performance | |
CN116136743A (zh) | 存储设备的操作方法及存储系统的操作方法 | |
CN116339613A (zh) | 存储装置、操作其的方法及操作包括其的存储系统的方法 | |
KR20210038096A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
KR20200058867A (ko) | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 | |
CN113590502A (zh) | 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统 | |
CN113590503A (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 | |
US10445372B2 (en) | Method and device to access auxiliary mapping data for a data structure | |
CN113190469B (zh) | 一种存储器、数据写入方法及存储系统 | |
EP4213007A2 (en) | Storage device having deduplication manager, method of operating the same, and method of operating storage system including the same | |
US20220012180A1 (en) | Memory system for meta data management and operating method of memory system | |
US20240193159A1 (en) | System and method for lsm compaction | |
KR20210051803A (ko) | 메모리 시스템 및 컨트롤러 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |