CN107145449A - 存储设备和存储方法 - Google Patents

存储设备和存储方法 Download PDF

Info

Publication number
CN107145449A
CN107145449A CN201710116713.8A CN201710116713A CN107145449A CN 107145449 A CN107145449 A CN 107145449A CN 201710116713 A CN201710116713 A CN 201710116713A CN 107145449 A CN107145449 A CN 107145449A
Authority
CN
China
Prior art keywords
write
file
storage
pieces
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710116713.8A
Other languages
English (en)
Other versions
CN107145449B (zh
Inventor
山本拓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Patent Wave Private Ltd
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN107145449A publication Critical patent/CN107145449A/zh
Application granted granted Critical
Publication of CN107145449B publication Critical patent/CN107145449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种存储设备和存储方法。本发明的存储设备包括控制电路,该控制电路被配置为将写入目标文件转换为一个或多个块,并且根据是否将对写入目标文件应用重复消除来指定用于写入目标文件的写入方法;存储电路,该存储电路包括存储介质,并且被配置为根据写入方法计算各自与一个或多个块中的相应一个相关联的一个或多个哈希值,基于一个或多个哈希值中的相应一个,确定在存储介质上的一个或多个地址中的每一个,并且将一个或多个块写入存储介质。

Description

存储设备和存储方法
本申请基于2016年3月1日提交的日本专利申请No.2016-09135,并要求其优先权,其全部内容通过引用并入本文。
技术领域
本发明涉及一种涉及重复消除功能的存储技术。
背景技术
已经开发了涉及重复消除功能的CAS(内容寻址存储)系统,该重复消除功能允许在多个文件中包括的重复文件数据被存储以便被共享。在CAS系统中,文件数据被分发并存储在多个存储介质中,并且由文件数据的内容所指定的唯一内容地址中的相应一个来指定存储文件数据的每个位置。CAS系统使得能够省略对重复的文件数据的重写,因此,不仅提高了写入的处理性能,而且提高了存储介质的利用效率。
在WO 2015/125271中,公开了一种存储系统,其中经由网络组合多个节点设备,并且将文件数据写入磁盘阵列设备。根据WO2015/125271,某个节点设备执行用于写入文件数据的处理,并且与该特定节点设备不同的另一节点设备执行重复消除处理。该配置减少了重复消除处理对每个节点设备进行读取/写入的处理性能的影响。
在WO 2011/117658中,公开了一种存储系统,其包括:多个存储处理设备,其被配置为将数据分布和存储到多个存储设备中并执行重复消除处理;以及切换单元,其被配置为将包括数据组的数据流分配给任意一个存储处理设备,并进行设置以允许数据流流向所分配的存储处理设备。根据WO 2012/117658,开关单元基于数据流的特性和每个存储处理设备的特性来分配数据流。这种配置在存储系统中实现了有效的负载分布。
在WO 2010/116608中,公开了允许分发和存储文件数据的相关技术。在分布式数据存储传送系统中,每个包括用于在其中存储数据的存储设备的计算机被耦合到多个网络,以构建大容量的数据存储系统。此外,分布式数据存储传送系统包括分配数据的功能和管理数据的分配的功能。这里,在WO 2010/116608中,根本未提到重复消除处理。
发明内容
然而,在WO 2015/125711和WO 2012/117658中公开的并且包括重复消除功能的存储系统(CAS系统)中,存在下面描述的问题。
在WO 2015/125271和WO 2012/117658中公开的存储系统中,存在以下问题:当重复执行对文件的部分重写和删除时,每个存储未被访问数据的区域不容易可用,并且其中文件数据的排列与存储介质中的数据的排列不一致的情况容易发生。结果,存储介质的利用效率和诸如文件数据的写入/读取速度的处理性能劣化。即使为了应对这些问题,执行适合于重写和删除的正常写入/读取并且在正常写入/读取中没有执行重复消除,也降低了存储介质的利用效率。
此外,在WO 2015/125271和WO 2012/117658中公开的存储系统中,通过允许多个设备耦合到彼此并且彼此协作来实现重复消除功能。然而,WO 2015/1125271和WO 2012/1117658没有公开能够在单个设备的基础上实现重复消除功能而不降低处理性能的任何技术。由于需要多个设备,所以系统的成本变高。
此外,在WO 2015/125271中,还公开了一种技术,其允许将一个物理CPU(中央处理单元)划分为两个逻辑CPU,一个是执行文件数据写入处理的逻辑CPU,另一个是执行重复消除处理的逻辑CPU。在这种情况下,然而,为了使两个逻辑CPU中的每一个不受另一个逻辑CPU的处理负荷的影响,对每个逻辑CPU的处理量设置上限,从而减少了其原始处理能力。
考虑到上述问题做出本发明,并且本发明的一个目的是提供一种存储设备,其被配置为对于每个文件根据确定相对于存储介质写入/读取的利用效率和处理性能中的哪一个将是优先的结果在单个设备的基础上适当地使用涉及重复消除的写入或不涉及重复消除的写入。
本发明的存储设备包括:控制单元,其被配置为将写入目标文件转换为一个或多个块,并且根据是否将要对写入目标应用重复消除来指定用于写入目标文件的写入方法,以及存储单元,其包括存储介质,并且被配置为根据写入方法计算各自与一个或多个块中的相应一个相关联的一个或多个哈希值,基于一个或多个哈希值中的相应一个确定存储介质上的一个或多个地址中的每一个,以及将一个或多个块写入存储介质。
本发明的存储方法包括:将写入目标文件转换为一个或多个块,根据是否将要对写入目标文件应用重复消除来指定用于写入目标文件的写入方法,根据写入方法计算各自与一个或多个块中的相应一个相关联的一个或多个哈希值,基于一个或多个哈希值中的相应一个确定在存储介质上的一个或多个地址中的每一个,并且将一个或多个块写入存储介质。
根据本发明,提供了存储设备,该存储设备被配置为对于每个文件,根据确定相对于存储介质写入/读取的利用效率和处理性能哪一个是优先的结果,在单个设备的基础上适当地使用涉及消除重复的写入或者不涉及重复消除的写入。
附图说明
从下面的详细描述中并结合附图,本发明的示例性特征和优点将变得显而易见,其中:
图1是示出根据本发明的第一示例性实施例的存储设备的配置的框图;
图2是示出根据本发明的第二示例性实施例的存储设备的配置的框图;
图3是示出根据本发明的第二示例性实施例的存储设备的模式管理表的示例的图;
图4是示出根据本发明的第二示例性实施例的存储设备的文件管理表的示例的图;
图5是示出根据本发明的第二示例性实施例的存储设备的未使用文件表的示例的图;
图6是示出根据本发明的第二示例性实施例的存储设备的文件读取操作的流程图;
图7是示出根据本发明的第二示例性实施例的存储设备的文件写入操作的流程图;
图8是示出根据本发明的第二实施性实施例的存储设备的文件写入操作的流程图;和
图9是示出根据本发明的第二示例性实施例的存储设备的文件删除操作的流程图。
具体实施方式
在下文中,将参照附图详细描述本发明的实施例。然而,在这点上,尽管为了实践本发明而对下面描述的实施例进行技术上优选的限制,但是本发明的范围不限于下述实施例。
第一示例性实施例
图1是示出根据本发明的第一示例性实施例的存储设备的配置的框图。根据本实施例的存储设备1包括控制单元11。控制单元11将写入目标文件转换为一个或多个块,并根据是否将对写入目标文件应用重复消除来指定用于对该写入目标文件进行写入的写入方法。此外,存储设备1包括存储单元12。存储单元12包括存储介质,并且根据写入方法计算各自与一个或多个块中的相应一个相关联的哈希值。存储单元12基于相应的哈希值来确定存储介质上的一个或多个地址,然后将一个或多个块写入存储介质。
存储设备1能够在单个设备的基础上处理执行了重复消除的写入和不执行任何重复消除的正常写入这两者。
如上所述,本实施例可以提供一种存储设备,其被配置为对于每个文件,根据确定相对于存储介质写入/读取的利用效率和处理性能中的哪一个是优先的结果,在单个设备的基础上适当地使用涉及消除重复的写入或者不涉及重复消除的写入。
第二示例性实施例
图2是示出根据本发明的第二示例性实施例的存储设备的配置的框图。根据该第二示例性实施例的存储设备2包括数据通信网络接口21,管理通信网络接口22和文件系统访问单元23。该文件系统访问单元23用作控制单元。此外,存储设备2包括模式管理表24、文件管理表25和未使用文件表26。此外,存储设备2包括内容地址存储单元27(CAS单元27)和磁盘设备28。CAS单元和磁盘设备28用作存储单元。
存储设备2通过数据通信网络和管理通信网络耦合到客户端、用户终端。客户端通过数据通信网络对存储设备2的文件执行操作,诸如读取/写入文件。此外,客户端通过管理通信网络执行对存储设备2的设置和管理。诸如PC(个人计算机)或服务器的信息终端可以用作客户端。
此外,耦合到数据通信网络的客户端和耦合到管理通信网络的客户端可以是相同的客户端,或者可以是相互独立的客户端。此外,客户端可以是单个客户端或多个客户端。此外,数据通信网络和管理通信网络可以是相互独立的网络,或者可以是相同的网络。
数据通信网络接口21经由数据通信网络耦合到客户端。管理通信网络接口22经由管理通信网络耦合到客户端。可以通过TCP/IP(传输控制协议/因特网协议)或任何其它适当的协议来执行数据通信和管理通信。
模式管理表24指定在执行重复消除的重复消除(DE)模式中或在不执行重复消除的通用(GP)模式中是否执行文件的写入。由客户端通过管理通信网络设置模式管理表24。
客户端通过数据通信网络访问文件系统访问单元23。在来自客户端的访问中,可以使用诸如CIFS(公共因特网文件系统)、NFS(网络文件系统)或FTP(文件传输协议)的协议。
文件系统访问单元23将来自客户端的输入/输出(I/O)请求转换为对位于较低层中的CAS单元27的I/O请求,并且执行对于I/O请求的处理。在接收到来自客户端的请求之后,文件系统访问单元23对于写入CAS单元27的文件执行各种处理,诸如划分为块、写入、读取和删除。文件系统访问单元23能够基于在文件系统访问单元23中设置的标准将文件划分为块。在划分为块时,块的大小可以是固定的或可变的。例如,具有1024KB大小的文件可以被划分为例如八个大小为96KB的块和四个大小为64KB的块。
文件系统访问单元23创建文件管理表25和未使用文件表26以管理文件。此外,文件系统访问单元23基于模式管理表24将要写入CAS单元27的文件指定为DE模式和GP模式中的任一个。
CAS单元27耦合到磁盘设备28,并且管理磁盘设备28。也就是说,无论文件系统访问单元23指定DE模式实施GP模式,CAS单元27以DE模式或GP模式将构成文件的每个块写入磁盘设备28中并且读取每个块。可以通过诸如HDD(硬盘驱动器)或SSD(固态驱动器)的存储设备来实现磁盘设备28。这里,尽管在图2中示出了两个磁盘设备28,但是可以可选地确定磁盘设备28的数量。
可以通过使用允许其执行程序的CPU来实现文件系统访问单元23和CAS单元27。
图3是示出模式管理表24的示例的图。由客户端通过管理通信网络设置模式管理表24。在列“目标路径”中,存储文件系统、目录、文件等的路径。每个路径是设置DE模式或GP模式的目标。在列“模式”中,在优先重复消除的情况下,存储表示DE模式的代码(DE),并且在优先通常的I/O特性的情况下,存储表示GP模式的代码(GP)。
图4是示出文件管理表25的示例的图。在列“文件路径”中,存储成为管理目标的每个文件的所有路径。在列“文件识别号”中,存储分配给相应文件并且是不与任何其它文件的识别号重复的唯一号的识别号。此外,文件管理表25在其中存储与构成文件的一个或多个块中的每一个相关的信息。在列“偏移”中,存储块的初始位置,并且在列“块大小”中存储块的大小。虽然图4表示块大小是可变的情况,但是块大小可以是固定的,此外,在列“内容地址“中,存储当CAS单元27已经将各个块存储到磁盘设备28中时已经从磁盘设备28获得的相应的内容地址。
客户端将文件路径设置为相应的文件。当客户端选择相关文件的DE模式时,即客户端优先考虑存储介质的利用效率时,客户端能够根据模式管理表24来将相关文件的文件路径设置为与DE模式相关联的、已经被预先设置的文件路径,以便允许相关文件的文件路径与“DE”相关联。此外,当客户端对于相关文件选择GP模式时,即客户端优先处理写/读的处理性能时,客户端能够根据模式管理表24设置相关文件的文件路径,以允许相关文件的文件路径与“GP”相关联。
文件系统访问单元23设置文件识别号、偏移和块大小。此外,文件系统访问单元23从CAS单元27接收每个块的内容地址。文件系统访问单元23对于每个块,将文件路径、文件识别号、偏移、块大小和内容地址登记到文件管理表25中。
图5是示出未使用文件表26的示例的图。在未使用文件表26中,存储删除时删除文件的文件识别号和删除文件的文件大小。文件系统访问单元23将删除文件的文件识别号和文件大小登记到未使用文件表26中。
接下来,将针对三个划分操作中的每一个描述存储设备2的操作,三个划分操作即为文件读取操作、文件写入操作和文件删除操作。
图6是示出存储设备2的文件读取操作的流程图。执行图6所示的流程图的处理,对于构成文件的每个块,实现了文件的读取。在图6所示的流程图中,当文件系统访问单元23已经从客户端接收到对要读取的文件的文件路径的指定时,存储设备2开始其处理。
文件系统访问单元23参照文件管理表25,以获得构成与文件路径相对应并且是读取目标的文件的块的内容地址(步骤A10)。
文件系统访问单元23指示CAS单元27基于构成作为读取目标的文件的块的内容地址来读取块。CAS单元27从磁盘设备28读取与内容地址相对应的块,将该块发送到文件系统访问单元23(步骤A11),然后终止处理流程。此后,文件系统访问单元23可以将块恢复成文件,并通过数据通信网络接口21将该文件发送到客户端。
图7是示出在存储设备2的文件写入操作中文件系统访问单元23的操作的流程图。在如图7所示的流程图中,当文件系统访问单元23从客户端接收到要对写入的文件的指定时,存储设备2开始其处理。对于该文件设置文件路径。
文件系统访问单元23参照包括在模式管理表24中的文件的文件路径、目标路径和模式,以确认待写入的目标文件对应于DE模式还是GP模式(步骤B10)。在DE模式的情况下(步骤B11中为“是”),文件系统访问单元23将待写入的目标文件的块写入CAS单元27(步骤B12),然后处理流程进行到步骤B18。稍后将描述CAS单元27的写入操作。
在步骤B12的处理中,当相关文件是新文件时,文件系统访问单元23对相关文件设置唯一文件识别号。此外,文件系统访问单元23基于在文件系统访问单元23中已经设置的标准将文件划分为块。文件系统访问单元23对于每个划分的块,将块识别信息的集合与文件路径一起登记到文件管理表中,该块识别信息的集合包括文件识别号、相关块的开始偏移以及块大小。此外,文件系统访问单元23将每个块写入CAS单元27,而不给定块识别信息的集合。
在GP模式的情况下(步骤B11中为“否”),文件系统访问单元23确认文件是否是现有文件或新文件。也就是说,当对于相关文件设置了文件识别号时,相关文件被确定为现有文件,并且当对于相关文件未设置任何文件识别号时,相关文件被确定为新文件(步骤B13)。
在现有文件的情况下(步骤B13中为“是”),处理流程进行到步骤B17。在新文件的情况下(步骤B13中为“否”),以如下所述的方式设置文件识别号。
首先,文件系统访问单元23确认未使用文件表26是否为空(步骤B14)。在未使用文件表26为空的情况下(步骤B13中为“是”),文件系统访问单元23重新设置唯一的文件识别号(步骤B15)。
在未使用文件表26不为空的情况下(步骤B13中为“否”),文件系统访问单元23从未使用文件表26中选择一个未使用文件识别号并对其进行设置(步骤B16)。例如,可以在未使用文件表26中按照降序顺序地选择未使用文件识别号。随后,文件系统访问单元23从未使用文件表26中删除所选择的文件识别号。
通过该处理,当对于其已经设置了一个未使用文件识别号的新文件具有与先前文件相同的块大小和偏移时,结果,新文件被存储在与先前文件的内容地址相同的内容地址处。也就是说,在磁盘设备28中已经成为未使用的内容地址不被保留为未使用,而是可以用于新文件数据的存储,因此,该配置使得能够实现提高存储介质的利用效率的写入。
这里,不以在步骤B14至B16的处理中描述的方式执行步骤B12中的处理。这是因为在DE模式的情况下,具有相同内容的块被给予相同的内容地址,以允许在多个文件之间重复的块仅被存储一次,从而节省存储介质的容量。
文件系统访问单元23将包括文件识别号、偏移和块大小这三组的块识别信息集合给予每个块,并将块登记到CAS单元27中(步骤B17)。此后,流程进行到步骤B18。以下将描述CAS单元27的写操作。
在步骤B17的处理中,文件系统访问单元23基于已经在文件系统访问单元23中设置的标准,将相关文件划分为块。此时,也存在相关文件未被划分为块的情况,但是整个块被作为一个块来处理。图4中示出的文件管理表25示例了GP模式的文件识别号为“1359”和“1360”的每个文件被做为一个块而整体处理的情况。
文件系统访问单元23对于每个块,将包括文件识别号、偏移和块大小这三组的块识别信息集合与文件路径一起登记到文件管理表中。此外,文件系统访问单元23将块识别信息的集合给予每个块,并将块写入CAS单元27。
在步骤B18中,文件系统访问单元23从CAS单元27接收各个块的内容地址,并用接收到的内容地址更新文件管理表25。此后,文件系统访问单元23终止处理流程。
图8是示出在存储设备2的文件写入操作中CAS单元27的操作的流程图。在图8所示流程图中,当CAS单元27已经从文件系统访问单元23接收到块的写入时,存储设备2开始其处理。
CAS单元27确认是否将识别信息(文件识别号、偏移和块大小)的集合给予要写入的每个块(步骤C10)。
在给定了识别信息集合的情况下(步骤C10中为“是”),CAS单元27对于每个块计算与块识别信息集合对应的哈希值(步骤C11)。
CAS单元27对于每个块基于计算的哈希值确定在磁盘设备28上的存储目的地,执行写入,然后向文件系统访问单元23通知每个块的存储目的地的内容地址(步骤CI2)。之后,CAS单元27终止处理流程。在这种情况下,当已经写入块时,执行写入以便重写块。
在步骤C10中的确定结果为是的情况下,以GP模式存储块。根据其计算哈希值的识别信息集合不是块自身的内容,因此,当已经写入块时,能够通过重写块来存储最新内容。此外,根据识别信息集合来计算哈希值比根据块的内容来计算哈希值容易,因此使得能够实现相应块的写入被更快地执行。
这里,可以以下面描述的方式执行基于哈希值来确定块的存储目的地的地址的方法。也就是说,CAS单元27保持包含哈希值的对应表和在其处已经写入对应块的地址。当给定块的哈希值已经存在于对应表中时,可以使用对应的地址。当在对应表中不存在给定块的哈希值时,在将块存储到磁盘设备28之后,利用在其处已经存储块的地址更新对应表。
在没有给定识别信息的集合的情况下(步骤C10中为“否”),CAS单元27计算与每个块的内容相对应的哈希值(步骤C13)。CAS单元27确定块是否已经被存储(步骤C14)。在块已经被存储的情况下(在步骤C14中为是),则不执行重写,然后终止处理流程。
在块未被存储的情况下(步骤C14中为“否”),CAS单元27对于每个块基于所计算的哈希值确定磁盘设备28上的存储目的地,执行写入,以及通知文件系统访问单元23每个块的存储目的地的内容地址(步骤C15)。之后,CAS单元27终止处理流程。在步骤C10中确定结果为否的情况下,以DE模式存储块。因此,由于没有执行重写,该配置使得能够实现提高存储介质的利用效率、加速写入等。
图9是示出存储设备2的文件删除操作的流程图。在图9所示的流程图中,当文件系统访问单元23从客户端接收到对要删除的文件的文件路径的指定时,存储设备2开始其处理。
文件系统访问单元23参照文件路径和模式管理表24来确认删除目标文件的模式(步骤D10)。在GP模式的情况下(步骤D11中为“是”),文件系统访问单元23从文件管理表25获取删除目标文件的识别号和块大小,并用所获取的识别号和块大小更新未使用文件表26(步骤DI2)。接着,文件系统访问单元23删除相关文件,并通过从文件管理表25中删除与相关文件有关的信息来更新文件管理表25(步骤D13)。此后,文件系统访问单元23终止处理流程。
在DE模式的情况下(步骤D11中为“否”),文件系统访问单元23删除该文件,并通过从文件管理表25中删除与相关文件有关的信息来更新文件管理表25(步骤D13)。此后,文件系统访问单元23终止处理流程。
这里,可以通过将诸如存储器的存储介质容纳在文件系统访问单元23中而在文件系统访问单元23中存储模式管理表24、文件管理表25和未使用文件表26,但是本实施例不限于该配置。模式管理表24、文件管理表25和未使用文件表26可以存储在CAS单元中。
这里,模式管理表24、文件管理表25和未使用文件表26分别具有图3所示的表格形式、图4所示的表格形式以及图5所示的表格形式,但是本发明不限于这些表格形式。可以以诸如B树的数据结构的形式创建模式管理表24、文件管理表25和未使用文件表26。此外,可以以任何形式创建模式管理表24、文件管理表25和未使用文件表26,只要模式管理表24的数据结构、文件管理表25的数据结构、以及未使用文件表26的数据结构分别能够保存和管理相当于图3所示的表的信息、相当于图4所示的表的信息以及相当于图5所示的表的信息。
如上所述,根据本实施例的存储设备2根据与块相关的并由客户端指定的存储方法来计算各自与块中的相应一个相关联的哈希值,基于所计算的哈希值中的相应一个确定在存储介质中每个块的地址,然后将块写入存储介质。该配置使得能够基于哈希值分离在其处将执行重复消除的地址和在其处将不执行重复消除的地址。因此,存储设备2能够在单个设备的基础上处理执行重复消除的写入和不执行重复消除的正常写入这两者。
此外,当不执行重复消除时,存储设备2将存在于存储介质上并且由于文件的删除而变为未使用的内容地址分配给新文件。该配置实现了一种最小化存储介质的减少并提高存储介质的利用效率的写入方法,这是当基于文件的内容选择存储介质中的文件的存储目的地时出现的问题。
如上所述,根据本实施例,能够提供一种存储设备,该存储设备被配置为对于每个文件根据确定相对于存储介质写入/读取的利用效率和处理性能中的哪一个将是优先的结果,基于单个设备适当地使用涉及消除重复的写入或者不涉及的重复消除的写入。
虽然已经参照本发明的示例性实施例具体示出和描述了本发明,但是本发明不限于这些实施例。本领域普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。此外,应注意,发明人的意图是保留所要求保护的发明的所有等同物,即使权利要求在审查期间被修改。
以上公开的示例性实施例的全部或部分可以被描述为但不限于以下补充说明。
补充说明1
一种存储设备,包括:控制单元,所述控制单元被配置为将写入目标文件转换为一个或多个块,并根据是否将对写入目标文件应用重复消除来指定用于写入目标文件的写入方法;以及存储单元,所述存储单元包括存储介质,并且被配置为根据写入方法计算各自与一个或多个块中的对应的一个相关联的一个或多个哈希值,基于一个或多个哈希值中的相应一个确定存储介质上的一个或多个地址中的每一个,以及将一个或多个块写入存储介质。
补充说明2
根据补充说明1的存储设备,其中,在写入方法是对写入目标文件应用重复消除的方法的情况下,存储单元根据一个或多个块中的相应一个的内容计算一个或多个哈希值。
补充说明3
根据补充说明1或补充说明2的存储设备,其中,在写入方法是不对写入目标文件应用重复消除的方法的情况下,控制单元将一个或多个识别信息集合给予一个或多个块中的相应一个,并且存储单元根据一个或多个识别信息集合中的相应一个计算一个或多个哈希值中的每一个。
补充说明4
根据补充说明3的存储设备,其中,一个或多个识别信息集合中的每一个包括一个或多个块中的相应一个的识别号、偏移和块大小。
补充说明5
根据补充说明1至4中任一项的存储设备,其中,控制单元基于客户端的指定来指定是否将应用重复消除。
补充说明6
根据补充说明1至5中任一项的存储设备,其中,在写入方法是对写入目标文件应用重复消除的方法的情况下,当预先写入一个或多个块时存储单元不重写该一个或多个块。
补充说明7
根据补充说明1至6中任一项的存储设备,其中,在写入方法是不对写入目标文件应用重复消除的方法的情况下,当预先写入一个或多个块时存储单元重写该一个或多个块。
补充说明8
根据补充说明4至7中任一项的存储设备,其中,在写入方法是不对写入目标文件应用重复消除的方法的情况下,存储单元从已经被预先设置并且处于未使用状态的至少一个识别号中选择和设置识别号。
补充说明9
一种存储方法,包括:将写入目标文件转换为一个或多个块,根据是否将对写入目标文件应用重复消除指定用于写入目标文件的写入方法,根据写入方法计算各自与一个或多个块中的对应一个相关联的一个或多个哈希值;基于一个或多个哈希值中的相应一个,确定在存储介质上的一个或多个地址中的每一个,以及将一个或多个块写入存储介质中。
补充说明10
根据补充说明9的存储方法,其中,在写入方法是对写入目标文件应用重复消除的方法的情况下,根据一个或多个块中的相应一个的内容计算一个或多个哈希值。
补充说明11
根据补充说明9或10的存储方法,其中,在写入方法是不对写入目标文件应用重复消除的方法的情况下,将一个或多个识别信息集合给予一个或多个块中的相应一个,并且根据一个或多个识别信息集合中的相应一个计算一个或多个哈希值中的每一个。
补充说明12
根据补充说明11的存储方法,其中,一个或多个识别信息集合中的每一个包括一个或多个块中的相应一个的识别号、偏移和块大小。
补充说明13
根据补充说明9至12中任一项的存储方法,其中,基于客户端的指定来指定是否将应用消除重复。
补充说明14
根据补充说明9至13中任一项的存储方法,其中,在写入方法是对写入目标文件应用重复消除的方法的情况下,当预先写入一个或多个块时不重写一个或多个块。
补充说明15
根据补充说明9至14中任一项的存储方法,其中,在写入方法是不对写入目标文件应用重复消除的方法的情况下,当预先写入一个或多个块时重写一个或多个块。
补充说明16
根据补充说明12至15中任一项的存储方法,其中,在写入方法是对写入目标文件应用重复消除的方法的情况下,从已经被预先设置并且处于未使用状态的至少一个识别号中选择和设置识别号。

Claims (10)

1.一种存储设备,包括:控制单元,所述控制单元被配置为将写入目标文件转换为一个或多个块,并且根据是否将对所述写入目标文件应用重复消除来指定用于所述写入目标文件的写入方法;以及存储单元,所述存储单元包括存储介质,并且被配置为根据所述写入方法计算每一个与所述一个或多个块中的相应一个相关联的一个或多个哈希值,基于所述一个或多个哈希值中的相应一个来确定在所述存储介质上的一个或多个地址中的每一个,并且将所述一个或多个块写入所述存储介质。
2.根据权利要求1所述的存储设备,其中,在所述写入方法是对所述写入目标文件应用所述重复消除的方法的情况下,所述存储单元根据所述一个或多个块中的相应一个的内容计算所述一个或多个哈希值。
3.根据权利要求1或权利要求2所述的存储设备,其中,在所述写入方法是不对所述写入目标文件应用所述重复消除的方法的情况下,所述控制单元将一个或多个识别信息集合给予所述一个或多个块中的相应一个,并且所述存储单元根据所述一个或多个识别信息集合中的相应一个来计算所述一个或多个哈希值中的每一个。
4.根据权利要求3所述的存储设备,其中,所述一个或多个识别信息集合中的每一个包括所述一个或多个块中的相应一个的识别号、偏移以及块大小。
5.根据权利要求1或权利要求2所述的存储设备,其中,所述控制单元基于客户端的指定来指定是否将应用所述重复消除。
6.根据权利要求1或权利要求2所述的存储设备,其中,在所述写入方法是对所述写入目标文件应用所述重复消除的方法的情况下,当预先写入所述一个或多个块时,所述存储单元不重写所述一个或多个块。
7.根据权利要求1或权利要求2所述的存储设备,其中,在所述写入方法是不对所述写入目标文件应用所述重复消除的方法的情况下,当预先写入所述一个或多个块时,所述存储单元重写所述一个或多个块。
8.根据权利要求4所述的存储设备,其中,在所述写入方法是不对所述写入目标文件应用所述重复消除的方法的情况下,所述存储单元从已经被预先设置并且处于未使用状态的至少一个识别号中选择和设置所述识别号。
9.一种存储方法,包括:将写入目标文件转换为一个或多个块,根据是否将对所述写入目标文件应用重复消除来指定用于所述写入目标文件的写入方法,根据所述写入方法计算每一个与所述一个或多个块中的相应一个相关联的一个或多个哈希值,基于所述一个或多个哈希值中的相应一个来确定在存储介质上的一个或多个地址中的每一个,以及将所述一个或多个块存储到所述存储介质中。
10.根据权利要求9所述的存储方法,其中,在所述写入方法是对所述写入目标文件应用所述重复消除的方法的情况下,根据所述一个或多个块中的相应一个的内容计算所述一个或多个哈希值。
CN201710116713.8A 2016-03-01 2017-03-01 存储设备和存储方法 Active CN107145449B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016039135A JP6406283B2 (ja) 2016-03-01 2016-03-01 ストレージ装置およびストレージ方法
JP2016-039135 2016-03-01

Publications (2)

Publication Number Publication Date
CN107145449A true CN107145449A (zh) 2017-09-08
CN107145449B CN107145449B (zh) 2022-07-12

Family

ID=59722673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710116713.8A Active CN107145449B (zh) 2016-03-01 2017-03-01 存储设备和存储方法

Country Status (3)

Country Link
US (1) US10387043B2 (zh)
JP (1) JP6406283B2 (zh)
CN (1) CN107145449B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928495A (zh) * 2019-11-12 2020-03-27 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664196B2 (en) * 2017-07-14 2020-05-26 Clipchamp Ip Pty Ltd Random access file management
US10359965B1 (en) * 2017-07-28 2019-07-23 EMC IP Holding Company LLC Signature generator for use in comparing sets of data in a content addressable storage system
JP7468068B2 (ja) 2020-03-30 2024-04-16 日本電気株式会社 情報処理装置、情報処理方法及びプログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296224A (zh) * 1999-10-31 2001-05-23 显露结构开发研究所 从虚地址计算页表索引的方法和装置
US20090276454A1 (en) * 2008-04-30 2009-11-05 International Business Machines Corporation Performing de-duplication for at least one computer file in a computer system
CN102637147A (zh) * 2011-11-14 2012-08-15 天津神舟通用数据技术有限公司 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法
JP2012208650A (ja) * 2011-03-29 2012-10-25 Nec Corp ストレージ装置
CN102792281A (zh) * 2010-03-04 2012-11-21 日本电气株式会社 存储设备
CN103380418A (zh) * 2011-01-28 2013-10-30 日本电气株式会社 存储系统
CN103959256A (zh) * 2011-11-28 2014-07-30 国际商业机器公司 基于指纹的数据重复删除
US20140297980A1 (en) * 2013-03-29 2014-10-02 Toshiba Solutions Corporation Storage System, Storage Controller, and Method for Eliminating Data Duplication Based on Hash Table
CN104391863A (zh) * 2014-10-23 2015-03-04 中国建设银行股份有限公司 一种数据存储方法及装置
JP2015513741A (ja) * 2012-02-29 2015-05-14 ネットアップ,インコーポレイテッド 重複排除のオペレーションを実行するためのフラグメンテーションのコントロール
CN104978151A (zh) * 2015-06-19 2015-10-14 浪潮电子信息产业股份有限公司 基于应用感知的重复数据删除存储系统中的数据重构方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5516575B2 (ja) 2009-03-30 2014-06-11 日本電気株式会社 データ挿入システム
WO2012117658A1 (ja) 2011-02-28 2012-09-07 日本電気株式会社 ストレージシステム
US8850130B1 (en) * 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
KR101505263B1 (ko) * 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
JP6089855B2 (ja) * 2013-03-26 2017-03-08 日本電気株式会社 仮想化システム、仮想サーバ、ファイル書き込み方法、及びファイル書き込みプログラム
US9239869B1 (en) * 2013-05-08 2016-01-19 Ca, Inc. Replication and synchronization for protecting NTFS deduplication volumes
WO2015125271A1 (ja) 2014-02-21 2015-08-27 株式会社日立製作所 ファイルサーバ、その制御方法、およびストレージシステム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296224A (zh) * 1999-10-31 2001-05-23 显露结构开发研究所 从虚地址计算页表索引的方法和装置
US20090276454A1 (en) * 2008-04-30 2009-11-05 International Business Machines Corporation Performing de-duplication for at least one computer file in a computer system
CN102792281A (zh) * 2010-03-04 2012-11-21 日本电气株式会社 存储设备
CN103380418A (zh) * 2011-01-28 2013-10-30 日本电气株式会社 存储系统
JP2012208650A (ja) * 2011-03-29 2012-10-25 Nec Corp ストレージ装置
CN102637147A (zh) * 2011-11-14 2012-08-15 天津神舟通用数据技术有限公司 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法
CN103959256A (zh) * 2011-11-28 2014-07-30 国际商业机器公司 基于指纹的数据重复删除
JP2015513741A (ja) * 2012-02-29 2015-05-14 ネットアップ,インコーポレイテッド 重複排除のオペレーションを実行するためのフラグメンテーションのコントロール
US20140297980A1 (en) * 2013-03-29 2014-10-02 Toshiba Solutions Corporation Storage System, Storage Controller, and Method for Eliminating Data Duplication Based on Hash Table
CN104391863A (zh) * 2014-10-23 2015-03-04 中国建设银行股份有限公司 一种数据存储方法及装置
CN104978151A (zh) * 2015-06-19 2015-10-14 浪潮电子信息产业股份有限公司 基于应用感知的重复数据删除存储系统中的数据重构方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928495A (zh) * 2019-11-12 2020-03-27 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置
CN110928495B (zh) * 2019-11-12 2023-09-22 杭州宏杉科技股份有限公司 一种在多控存储系统上的数据处理方法及装置

Also Published As

Publication number Publication date
CN107145449B (zh) 2022-07-12
US10387043B2 (en) 2019-08-20
US20170255393A1 (en) 2017-09-07
JP2017156959A (ja) 2017-09-07
JP6406283B2 (ja) 2018-10-17

Similar Documents

Publication Publication Date Title
KR102266756B1 (ko) Kvs 트리
CN106096023B (zh) 数据读取方法、数据写入方法及数据服务器
CN106294352B (zh) 一种文件处理方法、装置和文件系统
US20120005307A1 (en) Storage virtualization
CN103064639B (zh) 数据存储方法及装置
CN105701156B (zh) 一种分布式文件系统管理方法及装置
CN107145449A (zh) 存储设备和存储方法
CN105900093B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN104778192B (zh) 表示可内容寻址存储系统的目录结构
CN108089816A (zh) 一种基于负载均衡的查询式重复数据删除方法及装置
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
CN107707600B (zh) 一种数据存储方法及装置
CN106990915A (zh) 一种基于存储介质类型和加权配额的存储资源管理方法
CN108090125A (zh) 一种非查询式的重复数据删除方法及装置
CN102833298A (zh) 分布式的重复数据删除系统及其处理方法
CN106527958A (zh) 用于分布式存储系统的写入数据、获取数据的方法和设备
CN102985909A (zh) 为良好分格的对象提供高扩展性网络存储的方法和设备
US10503693B1 (en) Method and system for parallel file operation in distributed data storage system with mixed types of storage media
CN106155934B (zh) 一种云环境下基于重复数据的缓存方法
CN108595268A (zh) 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质
Moataz et al. Resizable tree-based oblivious RAM
CN105653209A (zh) 一种对象存储数据传输方法及装置
CN105302830A (zh) 一种地图瓦片缓存方法及装置
CN103544318B (zh) 一种云数据中心文件管理方法
CN107205024A (zh) 一种云存储系统中数据去重方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: 80 Mingdi Miaya Road, Singapore

Patentee after: NEC Asia Pacific Private Ltd.

Address before: Tokyo

Patentee before: NEC Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240206

Address after: 20 Goryeo Pier, Singapore

Patentee after: Patent Wave Private Ltd.

Country or region after: Singapore

Address before: 80 Mingdi Mia Road, Singapore

Patentee before: NEC Asia Pacific Private Ltd.

Country or region before: Singapore