CN103518193B - 用于数据去重复的方法及装置 - Google Patents
用于数据去重复的方法及装置 Download PDFInfo
- Publication number
- CN103518193B CN103518193B CN201280023074.6A CN201280023074A CN103518193B CN 103518193 B CN103518193 B CN 103518193B CN 201280023074 A CN201280023074 A CN 201280023074A CN 103518193 B CN103518193 B CN 103518193B
- Authority
- CN
- China
- Prior art keywords
- data
- hash table
- write
- hashed value
- written
- 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.)
- Active
Links
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明包含用于数据去重复的装置及方法。一个此种方法包含:接收写入命令、变换与所述写入命令相关联的数据、确定所述数据的变换值是否存在于变换表中,及响应于所述变换值不存在于所述变换表中的确定,将与所述写入命令相关联的所述数据写入到存储器装置。
Description
技术领域
本发明大体来说涉及半导体存储器装置及方法,且更特定来说,涉及用于数据去重复的装置及方法。
背景技术
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路及/或外部可装卸装置。存在许多不同类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变随机存取存储器(PCRAM)及快闪存储器以及其它存储器。
利用存储器装置作为用于需要高存储器密度、高可靠度及低电力消耗的宽广范围的电子应用的非易失性存储器。非易失性存储器可用于个人计算机、便携式存储器棒、固态驱动器(SSD)、个人数字助理(PDA)、数码相机、蜂窝式电话、便携式音乐播放器(例如,MP3播放器)、电影播放器及其它电子装置以及其它装置中。例如程序代码的数据及系统数据(例如基本输入/输出系统(BIOS))通常存储于非易失性存储器装置中。
存储器系统可从主机接收写入命令,其中所述写入命令与待写入到存储器系统的一个或一个以上存储器装置的数据相关联(例如,包含所述数据)。与写入命令相关联(例如,在所述写入命令中)的数据可包含若干个部分(例如,扇区),其中每一部分具有与其相关联的唯一逻辑地址。可给每一逻辑地址指派与物理位置相关联的物理地址,且可将写入命令中的数据的每一部分写入到与指派给对应于所述数据的每一部分的所述逻辑地址的物理地址相关联的特定物理位置。在各种实例中,不同逻辑地址可对应于相同物理数据使得所述数据在存储器系统中的一个或一个以上存储器装置中物理上重复。写入重复数据可不必要地减少存储器系统的存储容量以及其它缺陷。
发明内容
附图说明
图1是根据本发明的一个或一个以上实施例的包含至少一个存储器系统的计算装置的功能框图。
图2是根据本发明的一个或一个以上实施例的包含至少一个存储器系统的计算装置的功能框图。
图3图解说明根据本发明的一个或一个以上实施例的表示若干个逻辑地址、散列值及物理地址的散列表。
具体实施方式
本发明包含用于数据去重复的装置及方法。一个此种方法包含接收写入命令、变换与写入命令相关联(例如,来自写入命令)的数据、确定数据的变换值是否存在于变换表中,及响应于变换值不存在于变换表中的确定,将与写入命令相关联的数据写入到存储器装置。
数据去重复可包含避免将重复数据写入到存储器系统。在先前方法中,主机将待写入到存储器系统的文件与存储器系统上的文件进行比较以确定文件是否已存在于存储器系统上且删除存在于存储器系统上的现有重复文件。在此些方法中,如果文件存在于存储器系统上,那么主机将不把写入所述文件的命令发送到存储器系统,因此避免文件在存储器系统上的重复。在一个或一个以上实施例中,数据去重复可包含变换(例如,散列)由存储器系统从主机接收的每一数据扇区。每一数据扇区的散列可包含产生针对在写入命令中接收的每一数据扇区的变换值(例如,散列值)。实施例不限于散列每一数据扇区,且举例来说,数据可以任何增量(例如页)来散列。
在一个或一个以上实施例中,可将针对每一数据扇区而产生的散列值与变换表(例如,散列表)中的针对当前写入到存储器系统中的存储器装置的数据的散列值进行比较。如果针对在写入命令中接收的数据扇区而产生的散列值不存在于散列表中(例如,在散列表中未呈现),那么将数据扇区写入到存储器装置中的位置且通过将包含扇区数据的散列值的条目写入到散列表来更新所述散列表。还可通过将包含数据扇区的逻辑地址及数据扇区的物理地址的条目写入到散列表来更新所述散列表。如果针对在写入命令中接收的数据扇区而产生的散列值确实存在于散列表中,那么通过将使数据扇区的逻辑地址与扇区数据的散列值相关联的条目写入到散列表来更新所述散列表。在用数据扇区的散列值以及逻辑地址及物理地址更新散列表时,可将成功写入指示发送到主机。
在本发明的以下详细描述中,参考形成本发明的一部分的附图,且其中以图解说明的方式展示可如何实践本发明的若干个实施例。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可做出过程、电及/或结构改变,此并不背离本发明的范围。
如本文中所使用,“若干个”某物可指代一个或一个以上此事物。举例来说,若干个存储器装置可指代一个或一个以上存储器装置。另外,如本文中所使用的标示符“N”及“M”(特定来说关于图式中的参考编号)指示本发明的若干个实施例可包含若干个如此标示的特定特征。
本文中的图遵循其中第一个数字或前几个数字对应于图式图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,在图1中100可指代元件“00”,且在图2中类似元件可指代为200。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,如将了解,图中所提供的元件的比例及相对比例尺既定图解说明本发明的实施例,且不应视为限定意义。
图1是根据本发明的一个或一个以上实施例的包含至少一个存储器系统104的计算装置100的功能框图。在图1中所图解说明的实施例中,存储器系统104可包含控制器108及一个或一个以上存储器装置110-1、…、110-N。在此实例中,控制器108在一个或一个以上存储器装置110-1、…、110-N的外部。存储器装置110-1、…、110-N可提供用于存储器系统的存储卷,例如借助格式化到存储器装置的文件系统。控制器108可包含控制电路,例如硬件、固件及/或软件。在一个或一个以上实施例中,控制器108可为耦合到包含物理接口及存储器装置110-1、…、110-N的印刷电路板的专用集成电路(ASIC)。
控制器108可包含数据去重复组件112及散列表114。数据去重复组件112可包含硬件、固件及/或软件,且可对数据执行数据去重复操作,例如,以确定数据是否存在于存储器装置110-1、…、110-N中及是否应将数据写入到存储器装置110-1、…、110-N。散列表114可存储于控制器108上的存储器单元中及/或存储器装置110-1、…、110-N的存储器单元中,且可用于使逻辑地址与散列值相关联且也与数据的一部分(例如扇区)的物理地址相关联。散列表114可包含对应于数据的部分(例如,扇区)的逻辑地址、散列值及物理地址的若干个条目。数据去重复组件112可散列由存储器系统从主机接收的每一数据扇区。在散列每一数据扇区时,可产生在写入命令中接收的每一数据扇区的散列值。
在一个或一个以上实施例中,数据去重复组件112可将针对每一数据扇区而产生的散列值与对应于散列表112中当前写入到存储器装置110-1、…、110-N的数据的散列值进行比较。如果针对在写入命令中接收的数据扇区而产生的散列值不存在于散列表114中,那么将所述数据扇区写入到存储器装置110-1、…、110-N中的位置且通过将具有所述数据扇区的散列值的条目写入到散列表114来更新散列表114。还可通过将使数据扇区的逻辑地址及数据扇区的物理地址与所述数据扇区的散列值相关联的条目写入到散列表114来更新散列表114。如果针对在写入命令中接收的数据扇区而产生的散列值确实存在于散列表114中,那么可通过将使数据扇区的逻辑地址与已经在散列表114中的扇区数据散列值相关联的条目写入到散列表114来更新散列表114。在用数据扇区的散列值以及逻辑地址及物理地址更新散列表114时,可将成功写入指示发送到主机102。
如图1中所图解说明,主机102可耦合到存储器系统104。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、PDA、存储器卡读取器、接口集线器以及其它主机系统,且可包含存储器存取装置,例如,处理器。所属领域的技术人员将了解,“处理器”可意指一个或一个以上处理器,例如并行处理系统、若干个协处理器等。
在一个或一个以上实施例中,物理主机接口可呈标准化接口的形式。举例来说,当存储器系统104用于计算装置100中的数据存储时,物理主机接口可为串行高级技术附件(SATA)、高速外围组件互连(PCIe)或通用串行总线(USB)以及其它接口。然而,一般来说,物理主机接口可提供用于在存储器系统104与具有用于物理主机接口的兼容接受器的主机102之间传递控制、地址、数据及其它信号的接口。主机102可经由物理主机接口将写入命令发送到存储器系统104。
控制器108可与存储器装置110-1、…、110-N通信以读取、写入及擦除数据,以及进行其它操作。控制器108可具有可为一个或一个以上集成电路及/或离散组件的电路。存储器控制器可选择性地耦合存储器装置110-1、…、110-N的I/O连接(未在图1中展示)以在适当的时间在适当的I/O连接处接收适当的信号。类似地,主机102与存储器系统104之间的通信协议可不同于存取存储器装置110-1、…、110-N所需的协议。接着,控制器108可将从主机接收的命令转译成适当的命令以实现对存储器装置110-1、…、110-N的所要存取。
存储器装置110-1、…、110-N可包含一个或一个以上存储器单元(例如,非易失性存储器单元)阵列。举例来说,所述阵列可为相变存储器(PCM)阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可包含RAM、ROM、HDD、DRAM、SDRAM、PCRAM、RRAM及快闪存储器以及其它存储器。
存储器装置110-1、…、110-N可包含可分组的若干个存储器单元。如在本文中所使用,一群组可包含一个或一个以上存储器单元,例如,页、块、平面、裸片、整个阵列或其它存储器单元群组。举例来说,一些存储器阵列可包含构成存储器单元块的若干个存储器单元页。若干个块可包含于存储器单元平面中。若干个存储器单元平面可包含于裸片上。作为一实例,128GB存储器装置可包含每页4314个数据字节,每块128个页,每平面2048个块及每装置16个平面。
图1的实施例可包含为不使本发明的实施例模糊而未图解说明的额外电路。举例来说,存储器系统104可包含控制器(例如,控制电路)及地址电路以锁存通过I/O电路经由I/O连接提供的地址信号。可由行解码器及列解码器接收并解码地址信号以存取存储器装置110-1、…、110-N。所属领域的技术人员将了解,地址输入连接的数目可取决于存储器装置110-1、…、110-N的密度及架构。
一般来说,控制器108可负责将从主机102(例如,从PCIe总线)接收的命令转换成用于主机-存储器转译电路的命令指令且负责将存储器响应转换成用于传输到发请求的主机的主机系统命令。
在一个或一个以上实施例中,可将数据一次一页地写入到存储器装置。存储器装置中的每一页可具有若干个物理扇区且每一物理扇区可与一LBA相关联。作为一实例,物理页可具有8个物理数据扇区。然而,实施例不限于每物理页特定数目个物理扇区。
图2是根据本发明的一个或一个以上实施例的包含至少一个存储器系统204的计算装置200的功能框图。在图2中所图解说明的实施例中,存储器系统204可包含控制器208及一个或一个以上存储器装置210-1、…、210-N。在此实例中,控制器208在一个或一个以上存储器装置210-1、…、210-N的外部,但在其它实施例中,所述控制器可在所述存储器装置中的一者或一者以上的内部或分布在所述存储器装置中的一者或一者以上及/或控制器208之间。存储器装置210-1、…、210-N可提供用于存储器系统的存储卷,例如,借助格式化到存储器装置的文件系统。控制器208可包含控制电路,例如硬件、固件及/或软件。在一个或一个以上实施例中,控制器208可为耦合到包含物理接口及存储器装置210-1、…、210-N的印刷电路板的专用集成电路(ASIC)。
存储器装置210-1、…、210-N可包含数据去重复组件212,例如内部控制器(例如,控制电路)的一部分。数据去重复组件212可包含硬件、固件及/或软件,且可对数据执行数据去重复操作,如以上结合图1所论述。存储器装置210-1、…、210-N可包含散列表214。所述散列表可存储于存储器装置210-1、…、210-N的存储器单元中,且可用于使逻辑地址与散列值相关联且也与数据的一部分(例如扇区)的物理地址相关联,如以上结合图1所论述。
控制器208可与存储器装置210-1、…、210-N通信以读取、写入及擦除数据,以及进行其它操作。控制器208可具有可为一个或一个以上集成电路及/或离散组件的电路。存储器控制器可选择性地耦合存储器装置210-1、…、210-N的I/O连接(未在图1中展示)以在适当的时间在适当的I/O连接处接收适当的信号。类似地,主机202与存储器系统204之间的通信协议可不同于存取存储器装置210-1、…、210-N所需的协议。由此控制器208可将从主机接收的命令转译成适当的命令以实现对存储器装置210-1、...、210-N的所要存取。
存储器装置210-1、…、210-N可包含一个或一个以上存储器单元(例如,非易失性存储器单元)阵列。举例来说,所述阵列可为相变存储器(PCM)阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器以及其它存储器。
存储器装置210-1、...、210-N可包含可分组的若干个存储器单元。如本文中所使用,一群组可包含一个或一个以上存储器单元,例如,页、块、平面、裸片、整个阵列或其它存储器单元群组。举例来说,一些存储器阵列可包含构成存储器单元块的若干个存储器单元页。若干个块可包含于存储器单元平面中。若干个存储器单元平面可包含于裸片上。作为一实例,128GB存储器装置可包含每页4314个数据字节,每块128个页,每平面2048个块及每装置16个平面。
图3图解说明根据本发明的一个或一个以上实施例的表示若干个逻辑地址、散列值及物理地址的散列表314。图3中的散列表314包含若干个列。举例来说,第一列320指示特定数据部分(例如扇区)的逻辑地址(LA)。第二列330指示特定数据部分的散列值。第三列340指示特定数据部分的物理地址(PA)。特定数据部分的物理地址包含指向存储器装置中的所述数据部分的物理位置的指针。
在图3中所展示的实例中,列320包含若干个不同逻辑地址320-1(“LA-1”)、320-2(“LA-2”)、320-3(“LA-3”)、320-4(“LA-4”)、320-5(“LA-5”)、320-6(“LA-6”)及320-M(“LA-M”)。每一逻辑地址与相应散列值330-1(“H-1”)、330-2(“H-2”)、330-3(“H-3”)及330-M(“H-M”)相关联。
在一个或一个以上实施例中,散列表314的列320中的逻辑地址及其在列330中的相关联散列值可与指示存储器系统(例如,图1中的系统104)中的数据的物理位置的列340中的物理地址相关联、与列320中的逻辑地址及列330中的散列值相关联。每一逻辑地址320-1、320-2、320-3、320-4、320-5、320-6及320-M以及相关联散列值330-1、330-2、330-3及330-M可具有相关联物理地址340-1(“PA-1”)、340-2(“PA-2”)、340-3(“PA-3”)及340-M(“PA-M”)。共享共同散列值的逻辑地址可与相同物理位置相关联。此允许将与两个或两个以上逻辑地址相关联的数据仅写入到存储器装置一次。
在图3中所展示的实例中,逻辑地址320-1与散列值330-1相关联且与逻辑地址320-1相关联的数据在存储器装置中的与物理地址340-1相关联的物理位置处。逻辑地址320-2及逻辑地址320-5与散列值330-2相关联且与逻辑地址320-2及逻辑地址320-5相关联的数据在存储器装置中的与物理地址340-2相关联的物理位置处。
逻辑地址320-3、逻辑地址320-4及逻辑地址320-6与散列值330-3相关联且与逻辑地址320-3、逻辑地址320-4及逻辑地址320-6相关联的数据在存储器装置中的与物理地址340-3相关联的物理位置处。逻辑地址320-M与散列值330-M相关联且与逻辑地址320-M相关联的数据在存储器装置中的与物理地址340-M相关联的物理位置处。
逻辑地址320-1与散列值330-1相关联且与逻辑地址320-1相关联的数据在存储器装置中的与物理地址340-1相关联的物理位置处。在一些实施例中,与由存储器系统接收的写入命令相关联(例如,为所述写入命令的一部分)的共享共同散列值(例如,散列值330-1)的任何数据将不写入到存储器装置,但可使其逻辑地址与共同散列值330-1及共同物理地址340-1相关联。
在此实例中,逻辑地址320-2及320-5对应于相同数据,因此其共享共同散列值(散列值330-2)。将与逻辑地址320-2及320-5相关联的数据写入到与物理地址340-2相关联的物理位置一次,因此将与逻辑地址320-2及320-5相关联的数据仅写入到存储器装置一次。在一些实施例中,与由存储器系统接收的写入命令相关联的共享共同散列值(例如,散列值330-2)的任何数据将与具有共同物理地址(例如,340-2)的共同物理位置相关联。当存取(例如,在读取命令中请求)与逻辑地址320-2及320-5相关联的数据时,可使用散列表314经由与逻辑地址320-2及320-5相关联的物理地址340-2来识别数据的物理位置,且可从相同物理位置读取与逻辑地址320-2及320-5相关联的读取命令。
在此实例中,逻辑地址320-3、320-4及320-6对应于相同数据,因此其共享共同散列值(散列值330-3)。将与逻辑地址320-3、320-4及320-6相关联的数据写入到与物理地址340-3相关联的物理位置一次,因此将与逻辑地址320-3、320-4及320-6相关联的数据仅写入到存储器装置一次。在一些实施例中,与由存储器系统接收的写入命令相关联的共享共同散列值(例如,散列值330-3)的任何数据将与具有共同物理地址(例如,340-3)的共同物理位置相关联。当存取(例如,在读取命令中请求)与逻辑地址320-3、320-4及320-6相关联的数据时,可使用散列表314经由与逻辑地址320-3、320-4及320-6相关联的物理地址340-3识别数据的物理位置,且从相同物理位置读取与逻辑地址320-3、320-4及320-6相关联的读取命令。
在一个或一个以上实施例中,散列表可包含散列值及与散列值相关联的数据的物理位置。在一些实施例中,与存在于散列表中的散列值相关联的数据将不写入到存储器装置。散列表可包含散列值的列表及与每一散列值相关联的物理位置的列表,其可用于确定与散列值相关联的数据是否位于存储器装置中的物理位置处及是否不必将与散列值相关联的数据写入于存储器装置中(因为散列值已位于存储器装置中的物理位置处)。
结论
本发明包含用于数据去重复的装置及方法。一个此种方法包含:接收写入命令、变换与写入命令相关联的数据、确定数据的变换值是否存在于变换表中,及响应于变换值不存在于变换表中的确定,将与写入命令相关联的数据写入到存储器装置。
尽管本文中已图解说明且描述了特定实施例,但所属领域的技术人员将了解,可用旨在实现相同结果的布置来替代所展示的特定实施例。本发明既定涵盖本发明的若干个实施例的改动或变化形式。应理解,以上描述是以说明性方式而非限制性方式作出。在审阅以上描述后,所属领域的技术人员将明了以上实施例的组合及未在本文中具体描述的其它实施例。本发明的若干个实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书范围连同授权此权利要求书的等效内容的全部范围一起来确定本发明的若干个实施例的范围。
在前述具体实施方式中,出于简化本发明的目的而将一些特征一同集合于单个实施例中。不应将本发明的此方法解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确陈述的特征多的特征的意图。而是,如所附权利要求书反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (29)
1.一种用于数据去重复的方法,其包括:
在存储器装置上的控制器处接收写入命令,其中所述控制器将所述写入命令翻译成若干个存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述控制器执行所述指令时,致使所述存储器装置进行将特定数量的数据写入到所述存储器装置中的写入操作;
通过创建所述数据的第一部分的第一变换值及与所述写入命令相关联的数据的第二部分的第二变换值,经由所述存储器装置的所述控制器上的数据去重复组件,变换与所述写入命令相关联的数据,其中所述数据的第一部分及所述数据的第二部分的每一者是比经由所述写入操作写入的数据的所述特定数量少的数量的数据;
确定所述数据的所述第一部分的所述第一变换值(330)是否存在于变换表(114、214、314)中;
确定所述数据的所述第二部分的所述第二变换值(330)是否存在于所述变换表中;及
响应于所述第一变换值(330)不存在于所述变换表(114、214、314)中,及所述第二变换值存在于所述变换表中的确定,通过将数据的所述第一部分写入到存储器装置(110、210)而跳过写入数据的所述第二部分,来执行所述写入操作,其中执行所述写入操作包括仅写入包括具有不在所述变换表中的变换值的数据部分的所述特定数量的数据;及
通过将数据的所述第一部分的逻辑地址与所述存储器装置中的数据的所述第一部分的物理地址相关联,以及将数据的所述第二部分的逻辑地址与所述存储器装置中的数据的所述第二部分的物理地址相关联来更新散列表,其中在所述写入操作的执行期间,数据的所述第一部分被写入到位于数据的所述第一部分的所述物理地址的存储器单元中,其中在先前执行的写入操作期间,数据的所述第二部分被写入到位于数据的所述第二部分的所述物理地址的存储器单元中。
2.根据权利要求1所述的方法,其中接收所述写入命令包含从主机(102、202)接收所述写入命令。
3.根据权利要求1所述的方法,其中确定所述数据的变换值(330)是否存在于变换表(114、214、314)中包含确定与所述写入命令相关联的所述数据的变换值(330)是否存在于存储于所述存储器装置(210)中的变换表(214、314)中。
4.根据权利要求1所述的方法,其中确定所述数据的变换值(330)是否存在于变换表(114、214、314)中包含确定与所述写入命令相关联的所述数据的变换值(330)是否存在于存储于所述存储器装置(110)的控制器(108)中的变换表(114、314)中。
5.根据权利要求1到4中任一权利要求所述的方法,其中所述数据包含若干个数据部分,且所述方法进一步包含将所述数据的一部分的所述变换值(330)写入到所述变换表(114、214、314)。
6.根据权利要求1到4中任一权利要求所述的方法,其中所述数据包含若干个数据部分,且所述方法进一步包含经由所述变换表(114、214、314)使所述变换值(330)与所述数据的一部分的物理地址(340)相关联在一起。
7.根据权利要求1到4中任一权利要求所述的方法,其中所述数据包含若干个数据部分,且变换与所述写入命令相关联的数据包含散列与所述写入命令相关联的所述数据的每一部分。
8.一种用于数据去重复的方法,其包括:
经由控制器上的数据去重复组件散列与写入命令相关联的数据,其中所述控制器位于存储器装置上,且所述控制器将所述写入命令翻译成若干存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述控制器执行所述指令时,致使所述存储器装置进行将特定数量的数据写入到所述存储器装置中的写入操作,所述数据包括若干数据部分,所述数据部分的每一者包含比数据的第二数量少的第一数量的数据,其中数据的所述第二数量为经由所述写入操作写入的数据的所述特定数量,且散列与所述写入命令相关联的数据包括散列与所述写入命令相关联的每一个数据部分;
针对所述若干数据部分中的每一个确定与所述写入命令相关联的所述数据的散列值(330)是否存在于散列表(114、214、314)中;及
通过将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干数据部分中的每一个写入到所述存储器装置(110、210),同时跳过写入散列值被确定为在所述散列表中的数据部分,来执行写入操作,其中所述写入操作包括仅写入具有不在所述散列表中的散列值的数据部分;及
将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干数据部分中的每一个的逻辑地址与存储所述第一数量的数据并在所述写入操作的执行期间被写入的所述存储器装置中的存储器单元的物理地址相关联,以及将散列值被确定为在所述散列表中的每一数据部分的逻辑地址与存储所述第一数量的数据并在先前执行的写入操作期间被写入的所述存储器装置中的存储器单元的物理地址相关联,来更新所述散列表。
9.根据权利要求8所述的方法,其中所述数据包含若干个数据部分,且散列与所述写入命令相关联的数据包含散列与所述写入命令相关联的数据的每一部分。
10.根据权利要求9所述的方法,其包含将与所述写入命令相关联的所述数据的每一部分的不在所述散列表(114、214、314)中的所述散列值(330)写入到所述散列表(114、214、314)。
11.根据权利要求10所述的方法,其中将与所述写入命令相关联的所述数据的每一部分的不在所述散列表(114、214、314)中的所述散列值(330)写入到所述散列表(114、214、314)包含写入到相变存储器单元。
12.根据权利要求8到11中任一权利要求所述的方法,其进一步包含:如果所述数据的所述散列值(330)存在于所述散列表(114、214、314)中,那么将成功写入指示发送到主机(102、202),且使所述数据的逻辑地址(320)与存在于所述散列表(114、214、314)中的所述散列值相关联。
13.根据权利要求8到11中任一权利要求所述的方法,其中确定与所述写入命令相关联的所述数据的散列值(330)是否存在于散列表(114、214、314)中包含经由所述存储器装置的控制器(108)的数据去重复电路(112)确定与所述写入命令相关联的所述数据的所述散列值(330)是否存在于所述散列表(114、214、314)中。
14.一种用于数据去重复的方法,其包括:
向存储器装置发送写入命令以供所述存储器装置执行,其中控制器将所述写入命令翻译成若干个存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述控制器执行所述指令时,致使所述存储器装置进行将特定数量的数据写入到所述存储器装置中的写入操作;
经由所述存储器装置上的数据去重复组件散列与所述写入命令相关联的数据,其中所述数据包含若干个数据部分,所述若干个数据部分的每一者包含比数据的第二数量少的第一数量的数据,其中数据的所述第二数量为经由所述写入操作写入的数据的所述特定数量;
确定与所述写入命令相关联的数据的每一部分的散列值(330)是否存在于散列表(114、214、314)中;
响应于散列值(330)存在于所述散列表(114、214、314)中的确定,针对与存在于所述散列表中的散列值相关联的数据部分,将成功写入指示发送到主机(102、202);及
响应于散列值(330)不存在于所述散列表(114、214、314)中的确定,通过将与所述写入命令相关联的数据写入到所述存储器装置(110、210),同时跳过写入散列值被确定为在所述散列表中的数据部分,来执行写入操作,其中写入数据包括仅写入具有不在所述散列表中的散列值的数据部分;及
通过将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干数据部分中的每一个的逻辑地址与存储所述第一数量的数据并在所述写入操作的执行期间被写入的所述存储器装置中的存储器单元的物理地址相关联,以及将散列值被确定为在所述散列表中的每一数据部分的逻辑地址与存储所述第一数量的数据并在先前执行的写入操作期间被写入的所述存储器装置中的存储器单元的物理地址相关联,来更新所述散列表。
15.根据权利要求14所述的方法,所述方法进一步包含使所述数据的每一部分的逻辑地址(320)与所述数据的每一部分的存在于所述散列表(114、214、314)中的所述散列值(330)相关联。
16.根据权利要求14所述的方法,所述方法进一步包含经由所述散列表(114、214、314)使所述数据的每一部分的逻辑地址(320)与所述数据的每一部分的所述散列值(330)相关联且与所述数据的每一部分的物理地址(340)相关联。
17.根据权利要求14到16中任一权利要求所述的方法,其进一步包含将每一部分的不在所述散列表(114、214、314)中的所述散列值(330)写入到所述散列表(114、214、314)。
18.根据权利要求14到16中任一权利要求所述的方法,其进一步包含经由所述散列表(114、214、314)使共享共同散列值(330)的若干个逻辑地址(320)与所述存储器装置(110、210)中的共同物理位置(340)相关联。
19.一种用于数据去重复的装置,其包括:
存储器单元阵列(110、210);及
控制器(108、208),其耦合到所述阵列且经配置以:
接收写入命令,并将所述写入命令翻译成若干个存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述控制器执行所述指令时,致使所述存储器单元阵列进行将特定数量的数据写入到所述存储器单元阵列中的写入操作;
散列与所述写入命令相关联的若干个数据部分的每一部分,所述若干个数据部分的每一部分包含比数据的第二数量少的第一数量的数据,其中数据的所述第二数量为经由所述写入操作写入的数据的所述特定数量;
经由所述控制器上的数据去重复组件,确定与所述写入命令相关联的所述若干个数据部分的每一者的散列值(330)是否存在于所述存储器单元阵列的散列表(114、214、314)中;及
仅在确定所述散列值(330)不存在于所述散列表(114、214、314)中的情况下,通过将对应于不存在于所述散列表(114、214、314)中的所述散列值(330)的与所述写入命令相关联的所述若干个数据部分的每一者的写入到所述存储器单元阵列(110、210),同时跳过写入散列值被确定为不在所述散列表中的数据部分,来执行写入操作,其中所述写入操作包括仅写入具有不在所述散列表中的散列值的数据部分;及
通过将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干个数据部分中的每一个的逻辑地址与存储所述第一数量的数据并在所述写入操作的执行期间被写入的所述存储器装置中的存储器单元的物理地址相关联,以及将散列值被确定为在所述散列表中的每一数据部分的逻辑地址与存储所述第一数量的数据并在先前执行的写入操作期间被写入的所述存储器装置中的存储器单元的物理地址相关联,来更新所述散列表。
20.根据权利要求19所述的装置,其中所述控制器(108)在包含所述阵列(110)的存储器装置的外部。
21.根据权利要求19所述的装置,其中所述控制器(208)在包含所述阵列(210)的存储器装置的内部。
22.根据权利要求19所述的装置,其中所述散列表(114、314)存储于所述控制器(108)中。
23.根据权利要求19所述的装置,其中所述散列表(214、314)存储于所述阵列(210)中。
24.根据权利要求19所述的装置,其中所述数据包含若干个数据部分,且所述控制器经配置以响应于所述散列值(330)存在于所述散列表(114、214、314)中的确定而将成功写入指示发送到主机(102、202)且使数据的一部分的逻辑地址与存在于所述散列表(114、214、314)中的所述散列值(330)相关联。
25.根据权利要求19到24中任一权利要求所述的装置,其中所述数据包含若干个数据部分,且所述散列表(114、214、314)经由散列值使数据的一部分的逻辑地址(320)与数据的所述部分的物理地址(340)相关联。
26.一种用于数据去重复的装置,其包括:
存储器单元阵列(110、210);及
控制器(108、208),其耦合到所述阵列且经配置以:
散列与从主机(102、202)接收的写入命令相关联的数据,其中所述控制器将所述写入命令翻译成若干个存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述控制器执行所述指令时,致使所述存储器单元阵列进行将特定数量的数据写入到所述存储器单元阵列中的写入操作,其中所述数据包含若干个数据部分,且其中所述若干个数据部分的每一者是比经由所述写入操作写入的数据的所述特定数量少的第一数量的数据;
经由所述控制器上的数据去重复组件,确定与所述写入命令相关联的所述若干个数据部分的每一者的散列值(330)是否存在于所述存储器单元阵列中的散列表(114、214、314)中;
如果数据的一部分的散列值(330)存在于所述散列表(114、214、314)中,那么针对数据的所述部分将成功写入指示发送到所述主机(102、202);及
如果数据的所述部分的所述散列值(330)不在所述散列表(114、214、314)中,那么将数据的所述部分写入到所述存储器单元阵列,同时跳过写入其散列值包含在所述散列表中的数据部分,其中所述写入操作包括仅写入具有不在所述散列表中的散列值的数据部分;及
通过将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干个数据部分中的每一个的逻辑地址与存储比数据的所述特定数量少的数量的数据并在所述写入操作的执行期间被写入的所述存储器装置中的存储器单元的物理地址相关联,以及将散列值被确定为在所述散列表中的每一数据部分的逻辑地址与存储比数据的所述特定数量少的数据并在先前执行的写入操作期间被写入的所述存储器装置中的存储器单元的物理地址相关联,来更新所述散列表。
27.根据权利要求26所述的装置,其中经配置以确定与所述写入命令相关联的数据的每一部分的所述散列值(330)是否存在于所述散列表(114、214、314)中的所述控制器包括数据去重复电路(112、212)。
28.根据权利要求26到27中任一权利要求所述的装置,其中所述控制器经配置以:如果确定数据的每一部分的所述散列值不存在于所述散列表(114、214、314)中,那么将所述散列值(330)写入到所述散列表(114、214、314)。
29.一种用于数据去重复的装置,其包括:
存储器单元阵列(110、210);及
控制器(108、208),其耦合到所述阵列且经配置以:
接收供所述装置执行的写入命令,其中所述控制器将所述写入命令翻译成若干个存储器装置写入命令,所述存储器装置写入命令的每一者都包含指令,当由所述装置执行所述指令时,致使所述存储器单元阵列进行将特定数量的数据写入到所述存储器单元阵列中的写入操作
经由所述控制器上的数据去重复组件,散列若干个数据部分中的每一者,所述若干个数据部分中的每一者包含比数据的第二数量少的第一数量的数据,其中数据的所述第二数量为经由所述写入操作写入的数据的所述特定数量;
针对所述若干个部分中的每一部分,确定与所述部分相关联的散列值(330)是否存在于所述存储器单元阵列中的散列表(114、214、314)中;及
仅针对其散列值(330)经确定不存在于所述散列表(114、214、314)中的那些数据部分,通过将对应于那些数据部分的数据写入于所述阵列(110、210)中,同时跳过写入散列值被确定为在所述散列表中的数据部分,来执行所述写入操作,其中所述写入操作包括仅写入具有不在所述散列表中的散列值的数据部分;及
通过将与所述写入命令相关联的不具有所述散列表中的散列值的所述若干个数据部分中的每一个的逻辑地址与存储所述第一数量的数据并在所述写入操作的执行期间被写入的所述存储器装置中的存储器单元的物理地址相关联,以及将散列值被确定为在所述散列表中的每一数据部分的逻辑地址与存储所述第一数量的数据并在先前执行的写入操作期间被写入的所述存储器装置中的存储器单元的物理地址相关联,来更新所述散列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/083,269 | 2011-04-08 | ||
US13/083,269 US9223511B2 (en) | 2011-04-08 | 2011-04-08 | Data deduplication |
PCT/US2012/030713 WO2012138504A2 (en) | 2011-04-08 | 2012-03-27 | Data deduplication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103518193A CN103518193A (zh) | 2014-01-15 |
CN103518193B true CN103518193B (zh) | 2016-10-12 |
Family
ID=46966999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280023074.6A Active CN103518193B (zh) | 2011-04-08 | 2012-03-27 | 用于数据去重复的方法及装置 |
Country Status (7)
Country | Link |
---|---|
US (3) | US9223511B2 (zh) |
EP (2) | EP2695065A4 (zh) |
JP (2) | JP2014513345A (zh) |
KR (1) | KR101532862B1 (zh) |
CN (1) | CN103518193B (zh) |
TW (1) | TWI536384B (zh) |
WO (1) | WO2012138504A2 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9223511B2 (en) | 2011-04-08 | 2015-12-29 | Micron Technology, Inc. | Data deduplication |
US11636031B2 (en) * | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
KR20130064518A (ko) * | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US9606910B2 (en) * | 2013-01-17 | 2017-03-28 | Hitachi, Ltd. | Method and apparatus for data reduction |
US20140281155A1 (en) * | 2013-03-14 | 2014-09-18 | Lsi Corporation | Storage device assisted data de-duplication |
US9619167B2 (en) | 2013-11-27 | 2017-04-11 | Intel Corporation | System and method for computing message digests |
KR102187127B1 (ko) * | 2013-12-03 | 2020-12-04 | 삼성전자주식회사 | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 |
KR102140792B1 (ko) | 2013-12-24 | 2020-08-03 | 삼성전자주식회사 | 데이터 중복 제거를 수행할 수 있는 데이터 저장 장치의 동작 방법들 |
US9141292B2 (en) * | 2014-01-03 | 2015-09-22 | Smart High Reliability Solutions Llc | Enhanced interface to firmware operating in a solid state drive |
US8935463B1 (en) * | 2014-01-03 | 2015-01-13 | Fastor Systems, Inc. | Compute engine in a smart SSD exploiting locality of data |
CN107003814A (zh) * | 2014-10-01 | 2017-08-01 | 邦存科技有限公司 | 存储系统中的有效元数据 |
US9626121B2 (en) * | 2014-12-19 | 2017-04-18 | International Business Machines Corporation | De-duplication as part of other routinely performed processes |
US9934236B2 (en) | 2015-02-23 | 2018-04-03 | International Business Machines Corporation | Streamlining data deduplication |
US9665287B2 (en) | 2015-09-18 | 2017-05-30 | Alibaba Group Holding Limited | Data deduplication using a solid state drive controller |
JP6561765B2 (ja) * | 2015-10-23 | 2019-08-21 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
US9690512B2 (en) | 2015-11-23 | 2017-06-27 | Samsung Electronics Co., Ltd. | Method of similarity testing by syndromes and apparatus therefore |
US9841918B2 (en) * | 2015-12-02 | 2017-12-12 | Samsung Electronics Co., Ltd. | Flash memory device including deduplication, and related methods |
US10055368B2 (en) * | 2016-02-26 | 2018-08-21 | Sandisk Technologies Llc | Mobile device and method for synchronizing use of the mobile device's communications port among a plurality of applications |
US10496543B2 (en) * | 2016-03-31 | 2019-12-03 | Samsung Electronics Co., Ltd. | Virtual bucket multiple hash tables for efficient memory in-line deduplication application |
US10437785B2 (en) | 2016-03-29 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for maximized dedupable memory |
US10162554B2 (en) * | 2016-08-03 | 2018-12-25 | Samsung Electronics Co., Ltd. | System and method for controlling a programmable deduplication ratio for a memory system |
TWI610219B (zh) * | 2016-08-09 | 2018-01-01 | 捷鼎國際股份有限公司 | 資料儲存系統 |
US10261876B2 (en) * | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
KR102509913B1 (ko) * | 2017-01-25 | 2023-03-14 | 삼성전자주식회사 | 최대화된 중복 제거 메모리를 위한 방법 및 장치 |
KR20180087925A (ko) | 2017-01-25 | 2018-08-03 | 삼성전자주식회사 | 논리 어드레스와 물리 어드레스 사이에서 해싱 기반 변환을 수행하는 스토리지 장치 |
US10268413B2 (en) * | 2017-01-27 | 2019-04-23 | Samsung Electronics Co., Ltd. | Overflow region memory management |
US10282125B2 (en) * | 2017-04-17 | 2019-05-07 | International Business Machines Corporation | Distributed content deduplication using hash-trees with adaptive resource utilization in distributed file systems |
KR102419136B1 (ko) | 2017-06-15 | 2022-07-08 | 삼성전자주식회사 | 다채널 특징맵을 이용하는 영상 처리 장치 및 방법 |
US10521617B2 (en) * | 2017-08-14 | 2019-12-31 | Western Digital Technologies, Inc. | Non-volatile memory device with secure read |
US11068606B2 (en) * | 2017-09-20 | 2021-07-20 | Citrix Systems, Inc. | Secured encrypted shared cloud storage |
JP2019057172A (ja) | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10706005B2 (en) * | 2017-12-08 | 2020-07-07 | Vmware, Inc. | File system interface for remote direct memory access |
US10366011B1 (en) * | 2018-05-03 | 2019-07-30 | EMC IP Holding Company LLC | Content-based deduplicated storage having multilevel data cache |
US10705753B2 (en) | 2018-05-04 | 2020-07-07 | EMC IP Holding Company LLC | Fan-out asynchronous replication logical level caching |
US10860239B2 (en) | 2018-05-04 | 2020-12-08 | EMC IP Holding Company LLC | Fan-out asynchronous replication caching |
US10592166B2 (en) | 2018-08-01 | 2020-03-17 | EMC IP Holding Company LLC | Fast input/output in a content-addressable storage architecture with paged metadata |
US10789062B1 (en) * | 2019-04-18 | 2020-09-29 | Dell Products, L.P. | System and method for dynamic data deduplication for firmware updates |
US11436165B2 (en) * | 2019-05-01 | 2022-09-06 | Samsung Electronics Co., Ltd. | High bandwidth memory system |
KR20210034897A (ko) | 2019-09-23 | 2021-03-31 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
CN111737164B (zh) * | 2019-12-31 | 2024-07-23 | 极海微电子股份有限公司 | 访问请求响应方法、耗材芯片以及存储介质 |
CN113568561B (zh) * | 2020-04-29 | 2024-05-17 | 伊姆西Ip控股有限责任公司 | 用于信息处理的方法、电子设备和计算机存储介质 |
CN111968696B (zh) * | 2020-08-27 | 2021-07-06 | 海光信息技术股份有限公司 | 只读存储器电路及其设计方法、只读存储器及电子设备 |
TWI760880B (zh) * | 2020-10-07 | 2022-04-11 | 瑞昱半導體股份有限公司 | 與儲存裝置相關的傳輸控制電路、資料傳輸系統及操作資料傳輸系統的方法 |
CN114372009A (zh) * | 2020-10-15 | 2022-04-19 | 瑞昱半导体股份有限公司 | 传输控制电路、数据传输系统及操作数据传输系统的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286156A (zh) * | 2007-05-29 | 2008-10-15 | 北大方正集团有限公司 | 基于元数据去除重复对象的方法 |
CN101479944A (zh) * | 2006-04-28 | 2009-07-08 | 网络装置公司 | 基于采样消除重复数据的系统和方法 |
US7747584B1 (en) * | 2006-08-22 | 2010-06-29 | Netapp, Inc. | System and method for enabling de-duplication in a storage system architecture |
US7908436B1 (en) * | 2008-04-25 | 2011-03-15 | Netapp, Inc. | Deduplication of data on disk devices using low-latency random read memory |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08185271A (ja) | 1994-12-27 | 1996-07-16 | Internatl Business Mach Corp <Ibm> | ディスク装置用データ処理方法及びディスク装置 |
US7010645B2 (en) | 2002-12-27 | 2006-03-07 | International Business Machines Corporation | System and method for sequentially staging received data to a write cache in advance of storing the received data |
US20050152192A1 (en) | 2003-12-22 | 2005-07-14 | Manfred Boldy | Reducing occupancy of digital storage devices |
US7266657B2 (en) | 2004-10-27 | 2007-09-04 | Kwok-Yan Leung | Data protection device and method of securing data |
DE112007003388T5 (de) | 2007-03-21 | 2009-12-24 | Intel Corporation, Santa Clara | Verfahren zum Verwalten von Sektoren eines nicht-flüchtigen Speichers |
US8315984B2 (en) | 2007-05-22 | 2012-11-20 | Netapp, Inc. | System and method for on-the-fly elimination of redundant data |
EP2012235A2 (en) * | 2007-07-06 | 2009-01-07 | Prostor Systems, Inc. | Commonality factoring |
JP5026213B2 (ja) | 2007-09-28 | 2012-09-12 | 株式会社日立製作所 | ストレージ装置及びデータ重複排除方法 |
US9164941B2 (en) | 2007-10-24 | 2015-10-20 | Hitachi, Ltd. | Storage system group |
JP5275692B2 (ja) * | 2007-10-24 | 2013-08-28 | 株式会社日立製作所 | ストレージシステム群 |
US7870105B2 (en) * | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
WO2009117251A1 (en) | 2008-03-19 | 2009-09-24 | Rambus Inc. | Optimizing storage of common patterns in flash memory |
US8412677B2 (en) * | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8205065B2 (en) | 2009-03-30 | 2012-06-19 | Exar Corporation | System and method for data deduplication |
US20110055471A1 (en) * | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
CN102741800B (zh) | 2009-09-18 | 2015-11-25 | 株式会社日立制作所 | 删除复制数据的存储系统 |
US8352447B2 (en) * | 2011-03-01 | 2013-01-08 | Hitachi, Ltd. | Method and apparatus to align and deduplicate objects |
US9223511B2 (en) * | 2011-04-08 | 2015-12-29 | Micron Technology, Inc. | Data deduplication |
-
2011
- 2011-04-08 US US13/083,269 patent/US9223511B2/en active Active
-
2012
- 2012-03-27 EP EP12767450.5A patent/EP2695065A4/en not_active Ceased
- 2012-03-27 KR KR1020137028250A patent/KR101532862B1/ko active IP Right Grant
- 2012-03-27 CN CN201280023074.6A patent/CN103518193B/zh active Active
- 2012-03-27 WO PCT/US2012/030713 patent/WO2012138504A2/en active Application Filing
- 2012-03-27 EP EP21164611.2A patent/EP3859534A1/en active Pending
- 2012-03-27 JP JP2014503683A patent/JP2014513345A/ja active Pending
- 2012-04-06 TW TW101112336A patent/TWI536384B/zh active
-
2015
- 2015-07-10 JP JP2015138522A patent/JP6106719B2/ja active Active
- 2015-12-03 US US14/957,801 patent/US9778874B2/en active Active
-
2017
- 2017-08-29 US US15/689,626 patent/US10282128B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101479944A (zh) * | 2006-04-28 | 2009-07-08 | 网络装置公司 | 基于采样消除重复数据的系统和方法 |
US7747584B1 (en) * | 2006-08-22 | 2010-06-29 | Netapp, Inc. | System and method for enabling de-duplication in a storage system architecture |
CN101286156A (zh) * | 2007-05-29 | 2008-10-15 | 北大方正集团有限公司 | 基于元数据去除重复对象的方法 |
US7908436B1 (en) * | 2008-04-25 | 2011-03-15 | Netapp, Inc. | Deduplication of data on disk devices using low-latency random read memory |
Also Published As
Publication number | Publication date |
---|---|
TW201250688A (en) | 2012-12-16 |
US9778874B2 (en) | 2017-10-03 |
WO2012138504A2 (en) | 2012-10-11 |
EP2695065A4 (en) | 2014-08-20 |
JP6106719B2 (ja) | 2017-04-05 |
EP3859534A1 (en) | 2021-08-04 |
EP2695065A2 (en) | 2014-02-12 |
TWI536384B (zh) | 2016-06-01 |
KR101532862B1 (ko) | 2015-06-30 |
US20120260021A1 (en) | 2012-10-11 |
CN103518193A (zh) | 2014-01-15 |
WO2012138504A3 (en) | 2012-12-27 |
US20160085474A1 (en) | 2016-03-24 |
US20170364301A1 (en) | 2017-12-21 |
KR20130142182A (ko) | 2013-12-27 |
JP2015212971A (ja) | 2015-11-26 |
JP2014513345A (ja) | 2014-05-29 |
US10282128B2 (en) | 2019-05-07 |
US9223511B2 (en) | 2015-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103518193B (zh) | 用于数据去重复的方法及装置 | |
US10853238B2 (en) | Unaligned data coalescing | |
US11055230B2 (en) | Logical to physical mapping | |
KR102149817B1 (ko) | 메모리 어드레싱 | |
WO2016082196A1 (zh) | 文件访问方法、装置及存储设备 | |
US20130151759A1 (en) | Storage device and operating method eliminating duplicate data storage | |
KR20170114255A (ko) | 데이터 저장 장치와 그 동작 방법 | |
CN103502958A (zh) | 逻辑地址转译 | |
US10725933B2 (en) | Method and apparatus for redirecting memory access commands sent to unusable memory partitions | |
KR102240261B1 (ko) | 메모리 관리 | |
US11016904B2 (en) | Storage device for performing map scheduling and electronic device including the same | |
US20200319815A1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
KR20190067921A (ko) | 데이터에 대한 메모리 동작 | |
KR102589609B1 (ko) | 분할된 저장장치에서의 스냅샷 관리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |