CN108604165A - 存储装置 - Google Patents
存储装置 Download PDFInfo
- Publication number
- CN108604165A CN108604165A CN201680081226.6A CN201680081226A CN108604165A CN 108604165 A CN108604165 A CN 108604165A CN 201680081226 A CN201680081226 A CN 201680081226A CN 108604165 A CN108604165 A CN 108604165A
- Authority
- CN
- China
- Prior art keywords
- state
- repeated removal
- data
- region
- lpage
- 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
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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的一方面的存储装置,包括:用于保存由主机计算机做出了写入请求的写入数据的1个以上的存储器件;和向主机计算机提供1个以上的卷的存储控制器。此外,按卷内的每个区域,管理从主机计算机最后接收写入请求的时刻。存储控制器检测到从最终接收写入请求的时刻起的规定期间以上没有接收到写入请求的区域时,实施重复去除处理。
Description
技术领域
本发明涉及存储装置。
背景技术
存储装置具有保存数据的多个存储器件;和控制存储器件的存储控制器,目的在于对主机计算机提供大容量的数据保存空间。
对存储装置,要求以低成本保存大量的数据。为了满足这样的要求,已知将从主机接收的写入数据的大小缩小而记录于存储器件的技术。当在使写入数据的大小缩小后记录于存储器件时,能够削减数据的保存成本(存储介质的位成本、存储装置的电力消耗成本等)。为了缩小数据大小,使用可逆压缩算法,有保存数据的意义地缩小数据大小的技术。将该处理称为“可逆压缩”或“压缩”。
在将数据压缩而记录于存储器件时,在写入时进行压缩处理、在读取时进行压缩数据的解压处理而产生系统开销(overhead),因此存取性能下降。即保存数据量的削减和存取性能存在权衡的关系。为了避免该情况,存在有选择地进行数据的压缩的技术。例如专利文献1中公开了,在管理多个存储分层(tier)的存储系统中,例如将移动至下位层的数据压缩而保存,由此抑制存取性能的下降,并且削减保存数据量的方法。
此外,作为削减应保存的数据量的另一技术,有重复去除技术。是例如在存储装置检测到在存储装置存在多个相同内容的数据时,仅将其中1个留于存储装置内的存储器件,其余的数据不保存于存储器件的技术。使用重复去除技术和可逆压缩技术的任一者,均能够相比于从主机接收的写入数据的量使保存于存储器件的写入数据的量变小。因此重复去除技术在广义上也称为压缩技术之一。
现有技术文献
专利文献
专利文献1:美国专利8359444号说明书
发明内容
发明要解决的课题
在压缩数据时,依据数据内容而压缩率(或数据的缩小量)能够不同。因此,也可能虽然对数据实施了压缩或重复去除处理,但保存于存储器件的数据量几乎不削减的情况。此时,存取性能也下降,而且数据的保存成本也不会减少。为了以低成本提供高性能的存储装置,必须防止发生这样的情况。
用于解决课题的方法
本发明的一个方面的存储装置包括:用于保存由主机计算机做出了写入请求的写入数据的1个以上的存储器件;和向主机计算机提供1个以上的卷的存储控制器,按卷内的每个区域保存最终写入时刻,该最终写入时刻为从主机计算机最后接收了写入请求的时刻。存储控制器检测到从最终写入时刻起规定的期间以上没有接收到写入请求的区域时,实施重复去除处理。此外,存储控制器对于区域的重复去除处理的结果中重复去除率低的区域,实施使区域恢复到没有实施重复去除处理的状态的处理。
发明效果
根据本发明,能够以低成本提供高性能的存储装置。
附图说明
图1是包括实施例的存储装置的计算机系统的逻辑结构图。
图2是表示逻辑页的状态转变的图。
图3是存储装置的结构图。
图4是说明逻辑页与物理页的映射关系的图。
图5是逻辑页管理表的构成例。
图6是映射表的构成例。
图7是池管理表的构成例。
图8是检索表的构成例。
图9是反向参考表的构成例。
图10是随动指针的构成例。
图11是重复去除处理部的流程图。
图12是表示重复去除处理的流程的图。
图13是重复去除解除部的流程图。
图14是转变处理的流程图。
图15是写入处理的流程图。
图16是读取处理的流程图。
图17是物理页释放处理的流程图。
图18是共享数据判断-复制处理的流程图。
图19是映射切换处理的流程图。
具体实施方式
以下,对几个实施例使用附图进行说明。
另外,在以下的实施例中,对在存储装置内执行的处理,有时以“程序”为主语进行说明。实际上,通过存储装置所具有的处理器(CPU)执行程序,进行程序中记述的处理,因此处理的主体是处理器(CPU),但为了防止说明冗长,有时以程序为主语说明处理的内容。此外,程序的一部分或全部可以由专用硬件实现。此外,以下说明的各种程序由程序分配服务器、计算机能够读取的存储介质提供,可以安装于执行程序的各装置。计算机能够读取的存储介质是指非暂时性的计算机可读介质,例如IC卡、SD卡、DVD等非易失性存储介质。
在开始说明实施例前,说明在实施例中使用的各种用语。
“卷(volume)”是指存储装置、存储器件等目标设备对主机计算机等起始设备提供的存储空间。起始设备发出对存储空间上的区域的数据写入请求时,在与该区域对应的目标设备上的区域保存数据。本实施例的存储装置作为卷对主机提供由所谓ThinProvisioning(自动精简配置)技术形成的虚拟卷。虚拟卷在其初始状态(刚定义虚拟卷后),存储器件与存储空间上的区域不对应。在起始设备(主机)对存储空间上的区域发出数据写入请求的时刻,存储装置动态地决定与该区域对应的存储器件。
“重复去除处理”是指,在存储装置内存在多个相同内容的数据时,在存储装置仅留下1个,将这以外的数据从存储装置删除的处理。将判断在存储装置内是否存在相同内容的数据的处理称为“重复判断”处理。另外,只要没有特别说明,重复去除处理是包括重复判断处理的处理。
以下说明的实施例的存储装置中,按被称为重复去除块的规定大小的数据进行重复判断。在以下的实施例中,说明了重复去除块的大小为8KB的例子,但重复去除块的大小也可以为8KB以外的大小。将相同内容的数据称为“重复数据”。
重复判断时,对2个数据以比特单位或字节单位进行比较的话,判断处理需要较长时间。因此一般进行重复判断的装置,对比较对象的数据进行规定的运算(例如使用散列函数的运算等),从而生成小尺寸(例如8字节程度)的特征量,使用它进行重复判断。以下的实施例中,将从数据生成的特征量称为“指纹”。指纹简记为FP。
以下说明的实施例中,在从数据A计算出的FP的值为H时,值H被称为数据A的FP。相反地将数据A称为“具有FP H的数据”。此外,将数据A的写入区域(重复去除块)称为“具有FPH的区域(重复去除块)”。
本实施例中“冲突”是指,分别对多个不同的数据实施规定的运算而生成FP时,生成的各个FP相同。使用散列函数等计算小尺寸的特征量时,会发生冲突。
“重复去除率”是表示重复去除处理的存储区域消耗量的削减效率的指标值。例如重复去除率是以写入存储装置的卷的数据量与存储装置为了数据保存而使用(消耗)的存储区域的量的比表示的值。重复去除处理中,当相同内容的数据被保存多个时,对存储装置的存储区域仅写入(存储区域被消耗)1个,这以外的数据不写入存储区域(存储区域不消耗),因此存储区域消耗量的削减效率变高。
(实施例)
(1)发明的概要
首先,使用图1、图2和图4,说明本发明的实施例的存储装置实施的重复去除方法的概要。图1是表示本发明的实施例的存储装置向计算机提供的虚拟卷的结构的图。
存储装置1具有多个存储器件(图1中未图示),将来自主机计算机5(以下简称为“计算机5”)的写入数据保存于存储器件。存储器件向存储装置1提供规定大小的存储空间,但存储装置1并不是将存储器件提供的存储空间直接向计算机5提供。计算机5中提供与存储器件具有的存储空间不同的、1个以上的虚拟的存储空间。将该虚拟的存储空间称为“虚拟卷”。图1中表示了2个虚拟卷(虚拟卷16、虚拟卷20)对计算机5提供的例子。
存储装置1将虚拟卷的存储空间分割为多个的规定大小(作为一例为42MB)的区域进行管理。本实施例中,将该区域称为“逻辑页”。对各逻辑页标注在虚拟卷内唯一的识别符,将该识别符称为逻辑页识别符(或逻辑页编号)。
虚拟卷是使用公知的Thin Provisioning技术等形成的卷,存储装置1在接收到对虚拟卷的逻辑页的存取请求的时刻,将存储器件的存储区域动态地分配给逻辑页(进行映射)。换言之,在各逻辑页,在从计算机5接收存取请求之前,不对该逻辑页分配存储区域。
存储装置1还具有用于管理对逻辑页分配的存储区域(这是存储器件提供的存储区域)的管理概念,将其称为“存储池”或“池”。图1中,以圆筒状的对象17表示存储池。存储装置1将池的存储区域划分为与逻辑页相同大小的区域(或者也可以是比逻辑页大的大小的区域),对每个被划分的区域标注识别符进行管理。将该划分的区域称为“物理页”,对物理页标注的识别符称为“物理页识别符”或“物理页编号”。
存储装置1从计算机5接收对虚拟卷的写入请求时,将包含于写入请求的写入对象区域的地址转换为逻辑页编号,确定包含写入对象区域的逻辑页。在对确定出的逻辑页没有分配物理页时,存储装置1选择池17内的未使用的物理页(或没有分配给逻辑页的物理页),对存取对象的逻辑页分配选择的物理页(进行映射)。来自计算机5的写入数据在映射于该存取对象逻辑页的物理页中保存。
此外,存储装置1将逻辑页与分配给逻辑页的物理页的对应关系(映射)存储于逻辑页管理表126。接收到对逻辑页的读取请求时,存储装置1参照逻辑页管理表126,由此确定分配给逻辑页的存储区域,从确定出的存储区域读出数据。
本实施例的存储装置1将从计算机5写入了写入数据的逻辑页中与规定的条件相应的逻辑页决定为作为重复去除处理对象进行处理,对该逻辑页进行重复去除处理。规定的条件是指例如写入频率低的逻辑页,具体来说,是规定时间以上没有写入写入数据的逻辑页。将进行了重复去除处理的逻辑页称为“重复去除逻辑页”。相反地,将不是重复去除逻辑页的逻辑页称为“通常逻辑页”。
图4是对通常逻辑页分配了物理页的状态,和对重复去除逻辑页分配了物理页的状态的概念图。图4(a)表示对通常逻辑页分配了物理页的状态。对1个通常逻辑页161b分配1个物理页171c。例如计算机5将对通常逻辑页161b的从头起的第k字节的区域361写入数据的请求向存储装置1发送时,存储装置1在分配给通常逻辑页161b的物理页171c的从头起第k字节的区域371,保存写入请求中指定的数据。为了维持该关系,存储装置1在管理通常逻辑页与物理页的映射时,仅是按每个逻辑页管理分配给逻辑页的物理页的物理页编号即可。
图4(b)表示对重复去除逻辑页分配了物理页的状态。存储装置1将逻辑页内的区域划分为规定大小(例如8KB)的部分区域,对每个该部分区域分配物理页的区域。本实施例中对每个该部分区域进行重复判断,因此将其称为“重复去除块”。另一方面,将分配给重复去除块的物理页上的区域称为“数据块”。
另外,当要将通常逻辑页作为重复去除逻辑页使用时,此前分配给通常逻辑页的物理页被删除(成为没有被分配的状态)。而且此前保存于物理页的数据,移动至分配给重复去除块的物理页上的区域(数据块)。数据块是属于池17的物理页上的区域。重复去除块与数据块的映射信息保存于后述的映射表127。
存储装置1进行的重复去除处理中,按重复去除块进行数据的比较。使用图4(b)概经说明重复去除处理。图4(b)中,161a是重复去除逻辑页,对重复去除块18b分配物理页171d内的数据块19c。此处设想存储装置1对逻辑页201x进行重复去除处理的情况。存储装置1对写入逻辑页201x的重复去除块21c的数据和保存于物理页171d的各数据块的数据的内容进行比较。比较的结果,对重复去除块21c写入的数据与保存于数据块19c的数据相同时,存储装置1向重复去除块21c分配数据块19c。存储装置1不将写入重复去除块21c的数据再次写入物理页171d。结果,数据块19c被分配给2个重复去除块(18b和21c)。本实施例中,将数据块被分配给多个重复去除块的状态表述为“数据块被多个重复去除块共享”或“多个重复去除块共享1个数据块”。
由此,存储装置1在从计算机5接收到对重复去除块18b和重复去除块21c任一者的读取请求时,均从数据块19c读出数据A向计算机5返送。此外,没有必要对重复去除块18b和重复去除块21c分别分配不同的数据块,因此具有实质上向存储池17的保存数据量(换言之,存储器件的存储区域消耗量)削减到1/2的效果。如果n个重复去除块共享1个数据块,则存储区域消耗量能够削减至1/n。
这样,本实施例的存储装置1中,逻辑页有用作重复去除逻辑页的情况和用作通常逻辑页的情况。存储装置1中,为了管理各逻辑页处于哪种状态,保存关于各逻辑页的状态的信息。使用图2说明逻辑页的各状态。
图2是表示某逻辑页的状态转变的图。逻辑页具有P、X、Q的任一个状态。初始状态(刚定义虚拟卷后,没有对逻辑页分配物理页)中,逻辑页的状态为P。当对逻辑页进行自计算机5的数据写入时,存储装置1将该逻辑页的状态变更为X。
对于状态为X的逻辑页,在一定以上的期间没有接收到来自计算机5的写入请求时,存储装置1将该逻辑页的状态变更为Q。状态为Q的逻辑页是重复去除逻辑页,进行重复去除处理。对状态为Q的逻辑页(重复去除逻辑页),当有来自计算机5的写入请求时,存储装置1再次将该逻辑页的状态变更为X。这是因为对重复去除逻辑页保存数据时,重复判断等的处理的开销增加,会导致存取性能的下降。
当没有来自计算机5的写入请求时,重复去除逻辑页原则上维持其状态(状态Q)。但是,在该重复去除逻辑页的存储区域消耗量的削减效果较小时,例如写入该重复去除逻辑页的各重复去除块的数据的大多数与其它数据不同时,对存储装置1的位成本削减没有贡献,而且会导致存取性能下降。因此,存储装置1在有存储区域消耗量的削减效果较小的重复去除逻辑页时,使该重复去除逻辑页的状态从Q转变至P。
存储装置1在决定要使状态从Q变更为P的重复去除逻辑页时,使用逻辑页的重复去除率。其中,本实施例的“逻辑页的重复去除率”由以下的计算式定义。
使逻辑页内的重复去除块数为P,使逻辑页(重复去除逻辑页)的重复去除块中、分配了已经分配给其它重复去除块的数据块的重复去除块的数量为W(换种表述方式,分配给重复去除逻辑页的数据块中、被多个重复去除块共享的数据块的数量为W)。另外,逻辑页内的重复去除块数P是以逻辑页大小(例如42MB)÷重复去除块的大小(例如8KB)而求得的固定值。此时逻辑页的重复去除率D由以下的计算式表示。
D=W÷P
P是固定值,因此W越大,重复去除率D也越大。因此,在D较大(接近1)时,意味着存储器件的存储区域的消耗量较少(重复去除带来的存储区域的削减效果高),相反地D越小(接近0时),意味着重复去除带来的存储区域的削减效果越小。本实施例中存储装置1在是重复去除率低于规定的阈值的重复去除逻辑页时,使该重复去除逻辑页的状态从Q向P转变。
在逻辑页的状态从Q向P变更时,存储装置将该逻辑页的数据暂且读出至存储装置1内的缓存等暂时的存储区域上,对逻辑页分配新的物理页,将数据重写至分配的物理页,由此成为没有进行重复去除处理的状态。本实施例的存储装置通过考虑逻辑页的存取频率、存储区域消耗量的削减效率,限制成为重复去除处理的对象的逻辑页,能够兼顾高存取性能和低成本。
另外,状态P的逻辑页和状态X的逻辑页在以下的点不同。状态X的逻辑页能变更为状态Q。具体地说,对处于状态X的逻辑页,在一定时间以上的期间中没有来自计算机5的写入请求时,该逻辑页的状态变更为Q。另一方面,状态P的逻辑页的状态不会变更为Q。状态P的逻辑页是被判断为存储区域消耗量的削减效果较小,因此状态从Q变更为P的逻辑页(或者是还一次都没有从计算机5进行写入数据的写入,没有分配物理页的逻辑页)。这是因为,已知即使将这样的逻辑页的状态变更为Q,存储区域消耗量的削减效果也越小(或没有),于是存储装置1不将状态P的逻辑页的状态变更为Q。由此,不会频繁地发生逻辑页的状态的变更(抑制处理开销的增加)。
(2)系统结构
图3表示包括本实施例的存储装置1的计算机系统的硬件结构例。存储装置1具有存储控制器10、与存储控制器10连接的多个存储器件15。
存储器件15用于存储装置1存储来自计算机5等的上级装置的写入数据。作为存储器件,使用例如将磁用作存储介质的HDD(Hard Disk Drive,硬盘驱动器)、将闪存等非易失性半导体存储器用作存储介质的SSD(Solid State Drive,固态驱动器)。本实施例中,存储器件15也记作“驱动器15”。存储器件15作为一例,由依据SAS(Serial Attached SCSI,串行连接SCSI)规格的传送线(SAS连接)、依据PCI(Peripheral Component Interconnect,外设部件互连标准)规格的传送线(PCI连接线)等与存储控制器10连接。
存储控制器10至少具有处理器(也称为CPU)11、系统内存12、缓存14、用于与SAN(Storage Area Network,存储区域网络)6连接的接口(未图示)。SAN6作为一例是使用光纤通道形成的网络。
处理器11进行存储装置1的各种控制。系统内存12用于保存CPU11所执行的程序、CPU11执行程序时使用的管理信息。另一方面,缓存14用于暂时存储从计算机5接收的写入数据、从存储器件15读出的读取数据。
作为系统内存12、缓存14,使用DRAM、SRAM等易失性存储介质,作为其它实施方式,可以使用非易失性存储器构成缓存14。此外,在缓存14使用易失性存储介质时,可以在存储装置1搭载电池等辅助电源,使得在停电时能够维持缓存14的存储内容。
此外,作为其它实施方式,存储装置1可以不具有2种存储器(系统内存12、缓存14)。即存储装置1可以为仅具有1种存储器的结构。此时,程序、管理信息、写入数据等保存于相同的存储器。
计算机5是作为向存储装置1的存取请求发出源的装置。计算机5是PC(个人计算机)等通用的计算机,至少具有处理器和存储器(未图示)。处理器中,执行对存储装置1提供的虚拟卷发出I/O请求的应用程序等。
(3)管理信息
接着进行存储装置1具有的管理信息、程序的内容的说明。在存储装置1的系统内存12,至少保存有逻辑页管理表126、映射表127、池管理表128、检索表129、反向参考表130、随动指针131这6种类的管理信息。以下说明这些各种管理信息的内容。
图5中表示逻辑页管理表126的结构。逻辑页管理表126是用于管理各逻辑页的状态的表,在各行(记录项)保存各个逻辑页的状态、属性信息。以下,说明逻辑页管理表126的各栏中保存的信息。
在虚拟卷1261、逻辑页1262中,分别保存逻辑页所属的虚拟卷的识别符、逻辑页的识别符。
在重复去除1263中保存“有效”或“无效”。在某记录项的重复去除1263中保存了“有效”时,意味着以该记录项管理的逻辑页是重复去除逻辑页,保存了“无效”时,意味着以该记录项管理的逻辑页为通常逻辑页。
在物理页1264保存分配给逻辑页的物理页的识别符。对逻辑页没有分配物理页时,保存空(NULL)。
另外,一般在虚拟卷、逻辑页的识别符使用非负的整数值,图5中为了方便说明,在虚拟卷1261、逻辑页1262、物理页1264的各栏中保存有图1等记载的对虚拟卷标注的参照编号、对逻辑页标注的参照编号、对物理页标注的参照编号。此外,以下说明的管理信息也同样,在用于保存虚拟卷、逻辑页、物理页等识别符的栏中,保存有图1等记载的对虚拟卷、逻辑页、物理页等标注的参照编号。
在状态1265保存逻辑页的状态。作为逻辑页的状态,如前所述,有P、Q、X这3种。在最终写入时刻1266保存从计算机5接收对逻辑页的写入请求的最新的时刻。
去除块数1267是在逻辑页为重复去除逻辑页时有效的信息。在去除块数1267记录了,逻辑页(重复去除逻辑页)内的重复去除块中通过重复去除处理已分配给其它重复去除块的数据块再次被分配的重复去除块的数量。去除块数1267越大,该逻辑页的存储区域消耗量的削减效果越大。以下将像这样通过重复去除处理分配已存的数据块从而不消耗存储区域地保存数据的重复去除块称为削减完成重复去除块。
接着参照图6说明映射表127。映射表127是用于管理重复去除块和数据块的映射状态的表,在各行(记录项)保存重复去除块的识别符、分配给重复去除块的数据块的识别符等信息。以下说明映射表127的各栏中保存的信息。
在虚拟卷1271、逻辑页1272分别保存管理对象的重复去除块所属的虚拟卷的识别符、逻辑页的识别符。在重复去除块1273保存管理对象的重复去除块的识别符。在指纹1274保存在重复去除处理中计算出的每个重复去除块的指纹。
在物理页1275和数据块1276分别保存分配给管理对象的重复去除块的数据块所属的物理页的识别符、数据块的识别符。
另外,作为重复去除块或数据块的识别符,只要是能够唯一地识别重复去除块或数据块的信息,则可以使用任意的信息。本实施例中,作为重复去除块的识别符,使用重复去除块所属的虚拟卷内的地址。另一方面,作为数据块的识别符,使用数据块所属的物理页内的相对地址(使物理页的最前头的数据块的识别符为0的地址)。但是,图6中,为了说明图4记载的重复去除块与数据块的映射关系,作为重复去除块的识别符,使用图4记载的标注于重复去除逻辑块的字母,此外,作为数据块的识别符,使用标注于数据块的字母。
削减标志1277是表示管理对象的重复去除块是否为削减完成重复去除块的信息。管理对象的重复去除块是削减完成重复去除块时,在削减标志1277保存真(TRUE),否则保存假(FALSE)。
关于物理页的信息,保存于池管理表128进行管理。参照图7说明池管理表128的内容。
在池管理表128的各记录项保存物理页的状态等信息。在物理页1281保存管理对象的物理页的识别符,在逻辑页1283保存分配了物理页的逻辑页的识别符。物理页没有分配给逻辑页(通常逻辑页)时,或者物理页内的区域分配给重复去除块时,在逻辑页1283保存空(NULL)。
在使用状况1282保存物理页的使用状态。作为物理页的状态,有分配给通常逻辑页的状态、分配给重复去除块而使用的状态和未使用状态。物理页分配给通常逻辑页时,在使用状况1282保存“逻辑页”。物理页内的区域分配给重复去除块时,在使用状况1282保存“数据块”。物理页没有分配给逻辑页而且物理页内的区域没有分配给重复去除块时,该物理页的状态称为“未使用状态”,此时在使用状况1282保存“未使用”。
存储装置1例如在对某逻辑页分配物理页时,确定池管理表128的记录项中使用状况1282为“未使用”的记录项中的1个,决定将以确定出的记录项管理的物理页分配给逻辑页。此外,存储装置1在逻辑页管理表126中保存决定分配的物理页的识别符(物理页1281)。
另外,物理页实际上是1个或多个存储器件15上的区域。因此存储装置1在池管理表128之外,也保存用于管理物理页与存在物理页的存储器件15和存储器件上的地址的映射的信息。存储装置1例如接收到来自计算机5的存取请求时,确定与存取请求中指定的区域对应的逻辑页,之后确定分配给逻辑页的物理页。进而,之后存储装置1参照该映射信息,从而确定存取对象的存储器件15上地址。该映射信息和使用映射信息的存取目标存储器件15的地址确定方法,在使用Thin Provisioning技术的存储装置中是公知的,因此在本实施例中省略详细说明。
接着说明检索表129。检索表129在重复去除处理中使用。重复去除处理中,进行判断与重复判断对象的数据相同的数据是否已处于存储池17的处理,为了该判断处理的高速化,存储装置1按重复去除块计算指纹,将计算出的指纹保存于检索表129。
图8中表示检索表129的例子。检索表129的栏中,在指纹1291保存指纹。在重复去除块1292,保存具有在指纹1291保存的指纹的重复去除块的位置信息。作为位置信息,保存包括重复去除块所属的虚拟卷的识别符和重复去除块的识别符(虚拟卷内地址)的组的值。检索表129的各记录项按指纹1291的值从小到大的顺序排列而保存。
在某记录项的重复去除块1292,也可能保存多个位置信息(存在重复数据的情况)。此外,指纹1291的值相同的记录项也可能存在多个。这是因为对内容不同的多个数据计算FP时,各个FP也可能相同。
存储装置1对某数据进行重复判断时,计算数据的FP,判断是否有与计算出的FP相同的数据保存在检索表129的栏“指纹1291”中的记录项。在有这样的记录项时,存储装置1进一步参照该记录项的栏“重复去除块1292”确定重复去除块(的位置信息)。进而存储装置1参照映射表127,确定被分割于该重复去除块的数据块,从该数据块读出数据,将读出的数据和判断对象的数据以字节单位进行比较,从而判断两者是否一致。
图9中表示反向参考表130的例子。反向参考表130是管理数据块和重复去除块的映射信息的表。与映射表127不同,反向参考表130用于从管理对象的数据块的地址确定分配了该数据块的重复去除块的地址。
反向参考表130的栏中,在物理页1301和数据块1302分别保存管理对象的数据块所属的物理页的识别符和数据块的识别符。作为在数据块的识别符,如前所述,使用数据块所属的物理页内的相对地址。在重复去除块1303保存分配了管理对象的数据块的重复去除块的位置信息。重复去除块的位置信息是包括该重复去除块所属的虚拟卷的识别符和重复去除块的识别符的组的值。
图10中表示随动指针131的例子。随动指针131是必须对重复去除块分配数据块时,用于管理应分配的数据块的地址的信息。随动指针131包括物理页的识别符和数据块的识别符的组。存储装置1将随动指针131所指示的数据块分配给重复去除块,在分配结束后,将随动指针131的内容更新为现在随动指针131中保存的地址的下一地址。物理页的终端的数据块分配给重复去除块时,存储装置1将未使用状态的物理页确保用于新的数据块保存,用由该物理页的识别符和该物理页的最前头的数据块的识别符形成的信息更新随动指针131。
(4)处理的流程
接着,说明由存储装置1进行的各种处理的流程。在存储装置1的系统内存12中至少保存有I/O处理部121、重复去除处理部123、重复去除解除部124、逻辑页变更部125、物理页释放处理部132这5种程序。另外,将保存于系统内存12的这些程序称为“存储控制程序”。以下说明由这些程序进行的处理。另外,本实施例的附图中,在参照编号前标注的字符串“SP”表示“步骤”。
首先说明由I/O处理部121进行的主要处理。I/O处理部121是对计算机5等起始设备提供虚拟卷,进行从起始设备接收的I/O请求(读取请求、写入请求)的处理的程序。
参照图16说明读取处理的流程。当存储装置1从计算机5接收对虚拟卷的读取请求时,存储装置1将由读取请求指定的数据返送至计算机5。将该处理称为读取处理。
步骤702:存储装置1从计算机5接收读取请求时,I/O处理部121根据读取请求中所含的读取目标地址(LBA)计算逻辑页编号,由此确定读取目标地址所含的逻辑页。此外,同时I/O处理部121也计算与读取目标地址对应的逻辑页内地址。以下将此处确定出的逻辑页称为“存取对象逻辑页”。
步骤703:接着I/O处理部121参照逻辑页管理表126,由此判断存取对象逻辑页是否是重复去除逻辑页。该判断中I/O处理部121判断逻辑页管理表12的记录项中与存取对象逻辑页对应的记录项的状态1265是否为“Q”。状态1265为“Q”时(SP703:是(Y)),接着进行步骤704。除此之外的情况下,I/O处理部121接着进行步骤705。
步骤704:I/O处理部121参照映射表127,由此确定对由读取目标地址指定的区域分配的数据块的位置信息(物理页1275和数据块1276的组)。使用该信息,求取保存读取对象数据的存储器件15的地址。
步骤705:I/O处理部121参照逻辑页管理表126,由此确定分配给存取对象逻辑页的物理页(的物理页编号)。进而基于确定出的物理页编号和步骤702中计算出的逻辑页内地址,求取保存读取对象数据的存储器件15的地址。
步骤706:I/O处理部121根据由步骤704或步骤705求出的存储器件15的地址读出数据,将读出的数据保存于缓存14。此外I/O处理部121将保存于缓存14的数据向计算机5返送,结束处理。
接着,使用图15说明存储装置1从计算机5接收到对虚拟卷的写入请求和写入数据时的处理(写入处理)的流程。该处理也是I/O处理部121执行。另外,计算机5发出的写入请求中,包括写入数据的写入目标位置的信息(LBA和数据长度)。
步骤602:I/O处理部121根据写入请求中所含的写入目标位置的信息,计算作为写入数据的写入目标的逻辑页的识别符(逻辑页编号)、逻辑页内地址。此外,I/O处理部121参照逻辑页管理表126,在作为写入数据的写入目标的逻辑页的状态1265为P且物理页1264为NULL时,进行对该逻辑页分配物理页的处理。具体地说I/O处理部121通过参照池管理表128,选择使用状况1282为“未使用”的记录项,在该记录项的逻辑页1283保存作为写入数据的写入目标的逻辑页的识别符,此外将使用状况1282变更为“逻辑页”。进而,将此处选择的记录项的物理页1281的值保存于逻辑页管理表126的记录项中写入数据的写入目标的逻辑页的记录项的物理页1264。
步骤603:I/O处理部121将写入数据保存于缓存14。此时,I/O处理部121在写入数据添加写入目标逻辑页的识别符和逻辑页内地址后保存于缓存14。
步骤604:I/O处理部121在逻辑页管理表126的记录项中与写入目标逻辑页对应的记录项的最终写入时刻1266保存当前时刻(步骤604执行时间点的时刻)。
步骤605:I/O处理部121参照逻辑页管理表126的记录项的状态1265,判断写入目标逻辑页是否为状态“P”。在写入目标逻辑页为状态“P”时(SP605:是),I/O处理部121将写入目标逻辑页的状态1265变更为“X”(步骤607),接着进行步骤609。
步骤606:I/O处理部121参照逻辑页管理表126的记录项的状态1265,判断写入目标逻辑页是否为重复去除逻辑页。在状态1265为“Q”时,意味着写入目标逻辑页为重复去除逻辑页。状态1265为“Q”时(SP606:是),I/O处理部121接着进行步骤608。状态1265不是“Q”时(SP606:否(N)),跳过步骤608。
步骤608:I/O处理部121调出重复去除解除部124,由此进行写入目标逻辑页的重复去除解除处理。重复去除解除处理由重复去除解除部124执行。重复去除解除部124的处理在后面叙述。通过进行重复去除解除处理,写入目标逻辑页成为通常逻辑页(状态1265变为X)。
步骤609:I/O处理部121将在步骤603中保存于缓存14的数据保存于存储器件15。将在缓存14中暂时保存的数据保存于存储器件15的处理称为“离台(destage)处理”。I/O处理部121与图16的步骤705同样,通过参照逻辑页管理表126,确定分配至写入目标逻辑页的物理页,进而确定存在所确定出的物理页的存储器件15的地址。然后,I/O处理部121对该确定出的存储器件15的地址写入保存于缓存14的数据。在离台处理后,I/O处理部121对计算机5通过写入处理完成的信息,结束写入处理。
另外,在以上说明的例子中,存储装置1进行写入通过处理。即在离台处理(步骤609)后,对计算机5通过写入处理完成的信息。但是作为其它实施方式,缓存14也可以用作回写缓存。此时,I/O处理部121可以在将从计算机5接收的数据保存在缓存14中的时刻(步骤603),对计算机5通过写入处理完成的信息。此外,此时,步骤605以后的处理并非必须在将数据刚保存于缓存14后进行,可以在任意的时机进行。
接着,参照图14说明逻辑页变更部125进行的处理的流程。本实施例中将该处理称为“转变处理”。转变处理是变更虚拟卷的各逻辑页中满足规定的条件的通常逻辑页的状态的处理。转变处理对各虚拟卷定期地执行。以下说明存储装置1对某特定的虚拟卷进行转变处理时的处理的流程。
步骤402:逻辑页变更部125选择一个虚拟卷的逻辑页中还没有进行步骤403以后的处理的逻辑页。此处的逻辑页的选择方法是任意的,但例如逻辑页变更部125可以从虚拟卷的最前头的逻辑页起依次进行步骤403以后的处理。
步骤403:逻辑页变更部125参照逻辑页管理表126,由此判断选择的逻辑页的状态1265是否为“X”。在状态1265为“X”时(步骤403:是),接着进行步骤404。状态1265不是“X”时(步骤403:否),跳过步骤404~步骤407。
步骤404:逻辑页变更部125参照选择的逻辑页的最终写入时刻1266,计算当前时刻与最终写入时刻1266的差,判断该差是否为规定值以上。在该差为规定值以上时(步骤404:是),意味着对选择的逻辑页,在一定期间以上的期间中没有发生自计算机5的写入。此时,逻辑页变更部125接着进行步骤405。在当前时刻与最终写入时刻1266的差低于规定值时,跳过步骤405~步骤407。
步骤405:逻辑页变更部125调出重复去除处理部123,对选择的逻辑页进行重复去除处理。该处理是将通常逻辑页的状态变更为状态Q的处理(即变更为重复去除逻辑页的处理)。详情后述。
步骤406:逻辑页变更部125判断是否应该将选择的逻辑页维持为重复去除逻辑页。具体地说,逻辑页变更部125首先对逻辑页管理表126内的各记录项中重复去除1263为“有效”的记录项的数量进行计数,由此确定存储装置1内的重复去除逻辑页的数量,判断该数量是否为阈值以上。在该数量低于阈值时,逻辑页变更部125判断为选择的逻辑页应该维持为重复去除逻辑页。
存储装置1内的重复去除逻辑页的数量较少(低于阈值)时,作为重复判断对象的重复去除块数较少。作为重复判断对象的重复去除块数较少时,重复去除处理带来的存储区域消耗量的削减效果无法显现,因此存储装置1将选择的逻辑页维持为重复去除逻辑页,直至存在阈值以上的数量的重复去除逻辑页。
另外,确定重复去除逻辑页的数量的方法不限于上面举出的方法。作为其它实施方式可以是,存储装置1为了确定重复去除逻辑页的数量,在系统内存12预先设置记录重复去除逻辑页的数量的区域,在每次进行将通常逻辑页向重复去除逻辑页变更或相反地变更的处理时,使记录于系统内存12的重复去除逻辑页的数量增减。
重复去除逻辑页的数量为阈值以上时,逻辑页变更部125进一步参照选择的逻辑页的去除块数1267由此计算重复去除率,判断该值是否为规定的阈值以上。重复去除率由“去除块数1267÷逻辑页内重复去除块数”求取。
重复去除率如果为规定的阈值以上,则意味着选择的逻辑页通过重复去除处理存储区域消耗量变少,因此逻辑页变更部125判断为应该将选择的逻辑页维持为重复去除逻辑页。
另一方面,在重复去除率低于阈值时,选择的逻辑页的存储区域消耗量的削减效果不大,因此维持为重复去除逻辑页的必要性低。因此逻辑页变更部125判断为不将选择的逻辑页维持为重复去除逻辑页。在判断为选择的逻辑页没有必要维持为重复去除逻辑页时(步骤406:否),接着进行步骤407。在判断为有必要维持为重复去除逻辑页时(步骤406:是),跳过步骤407。
步骤407:逻辑页变更部125调出重复去除解除部124,对选择的逻辑页进行重复去除解除处理。该处理是将重复去除逻辑页变更为状态P的逻辑页的处理。该处理的详情在后面叙述。
步骤408:逻辑页变更部125判断虚拟卷的逻辑页中是否有不没有进行步骤403~步骤407的处理的逻辑页。在存在还没有进行步骤403~步骤407的处理的逻辑页时(步骤408:是),逻辑页变更部125再次执行步骤402。对虚拟卷内的全逻辑页进行了步骤403~步骤407的处理时(步骤408:否),逻辑页变更部125结束处理。
另外,在以上说明的例子中,在步骤406逻辑页变更部125计算重复去除率,基于重复去除率判断是否将选择的逻辑页维持为重复去除逻辑页。但是,逻辑页变更部125也可以代替计算重复去除率,而通过判断去除块数1267是否为规定的阈值以上,来决定是否将选择的逻辑页维持为重复去除逻辑页。这是因为已知去除块数1267越大,实质上重复去除率也越大,而且去除块数1267越小,实质上重复去除率也越小。此外,在重复去除率、去除块数1267以外,能够推测出逻辑页的存储区域消耗量的削减效果的其它指标值也可以用于步骤406的判断。
接着,参照图11、图12说明步骤405进行的重复去除处理的流程。图11、图12是重复去除处理部123执行的处理的流程图。重复去除处理部123被逻辑页变更部125调出(图14步骤405),由此开始处理。此时逻辑页变更部125对重复去除处理部123通知处理对象的逻辑页的信息(具体来说是逻辑页所属的虚拟卷的识别符、逻辑页识别符)。重复去除处理部123进行变更该通知的逻辑页的状态的处理。以下将从逻辑页变更部125通知的逻辑页称为“被指定的逻辑页”。
步骤102:重复去除处理部123参照逻辑页管理表126,由此确定分配给被指定的逻辑页的物理页,读出保存于该物理页的数据并保存于缓存14。
步骤103:重复去除处理部123进行重复去除处理。此处,按每个被指定的逻辑页内的重复去除块进行重复去除处理。以下参照图12进行说明。
首先,在步骤201,重复去除处理部123准备变量k,k指示被指定的逻辑页的最前头的重复去除块(具体来说,对k代入被指定的逻辑页的最前头的重复去除块的识别符)。以下,将由变量k指示的重复去除块称为“被选择的重复去除块”。
接着,重复去除处理部123选择(确定)步骤102中保存于缓存14的数据中、被选择的重复去除块的数据(步骤202)。接着重复去除处理部123读出确定的数据,计算该数据的指纹(步骤203)。
接着在步骤204,重复去除处理部123参照检索表129,检索与步骤203中计算出的指纹相同的值保存于指纹1291的记录项。有记录项时(步骤205:是),执行步骤207。没有记录项时(步骤205:否),执行步骤206。
步骤206中重复去除处理部123生成由步骤203计算出的指纹和被选择的重复去除块的位置信息构成的记录项,将其添加于检索表129。接着执行步骤208。
步骤207中,重复去除处理部123从由步骤204的检索结果得到的记录项的栏“重复去除块1292”确定的重复去除块读出数据。更详细地说,重复去除处理部123参照映射表127的物理页1275和数据块1276来确定分配给确定出的重复去除块的数据块,从确定出的数据块读出数据。将该读出的数据和由步骤202选择的数据,以字节单位进行比较,判断两者是否一致。在两者一致时(步骤207:是),接着进行步骤210。
如果在由步骤204的检索得到的检索表129的记录项的重复去除块1292保存有多个重复去除块的识别符时,重复去除处理部123对这些重复去除块进行同样的数据比较。此外,所述检索的结果是检索表129的记录项得到多个时,重复去除处理部123对各记录项同样地进行数据的比较。比较的结果是任一重复去除块均与步骤202中选择的数据一致时(步骤207:否),接着进行步骤206。
步骤208中,重复去除处理部123确保(确保存在)将在步骤202中选择的数据写入的数据块。具体地说,重复去除处理部123将随动指针131中记录的数据块的地址选择为数据保存目标,在随动指针131加上数据块的大小。如果选择的随动指针131为物理页的最后的地址,则重复去除处理部123参照池管理表128选择未使用状态的物理页,将该物理页变更为数据块保存用的物理页,在随动指针131保存选择的物理页的最前头地址。
接着在步骤209,重复去除处理部123在具有确保的数据块的物理页(存储器件15)写入在步骤202选择的数据。进而,重复去除处理部123在反向参考表130中记录在步骤208确保的数据块被分配到的重复去除块的信息。具体地说,在与数据块对应的反向参考表130的记录项的重复去除块1303,保存处理对象的重复去除块的识别符。
步骤210是由步骤202选择的数据的重复数据已经存在于分配给其它重复去除块的数据块时执行的处理。步骤210中重复去除处理部123在被指定的逻辑页的去除块数1267加1。另外,此时,与步骤208~步骤209不同,步骤202中选择的数据不写入存储器件15。
步骤211中重复去除处理部123在步骤207的发现结果一致的数据的检索表129的记录项的栏“重复去除块1292”添加被选择的重复去除块的识别符。
步骤212中重复去除处理部123对映射表127的记录项中关于被选择的重复去除块的记录项进行更新。如果步骤207的判断为肯定,即存在保存了步骤202中选择的数据的重复数据的数据块时,将该数据块的物理页识别符和数据块地址登记在映射表127的记录项中。此时重复去除处理部123在该记录项的栏“削减标志1277”中保存表示重复去除块是削减完成重复去除块的值“真(TRUE)”。
另一方面,不存在保存了步骤202中选择的数据的重复数据的数据块时(即步骤205或步骤207的判断为否定时),将步骤206中写入数据的目标的数据块的物理页识别符和数据块的识别符登记在映射表127的记录项中。在该登记的记录项的栏“削减标志1277”中保存“假(FALSE)”。
此外,无论步骤207的判断是肯定还是否定,在记录项的栏“指纹1274”保存在步骤203计算出的指纹值。
变量k与逻辑页内的终端地址相同时,即对全部的重复去除块的直至步骤212的处理完成时(步骤213:是),该处理(步骤103)结束。此外还剩有直至步骤212的处理没有完成的重复去除块时(步骤213:否),重复去除处理部123以使得变量k指示下一重复去除块的方式进行变量k的更新(在变量k加上重复去除块的大小),再次进行从步骤202起的处理。以上是步骤103进行的处理的内容。
回到图11的说明。步骤104、步骤105中,重复去除处理部123解除分配给被指定的逻辑页的物理页的分配。
步骤104:重复去除处理部123将池管理表128的记录项中被分配的物理页的记录项的使用状况1282变更为“未使用”,将逻辑页1283变更为NULL。
步骤105:重复去除处理部123变更逻辑页管理表126的记录项中被指定的逻辑页的记录项的内容。具体地说,该记录项的物理页1264和最终写入时刻1266变更为NULL,在重复去除1263保存“无效”,在状态1265保存“Q”。当直至步骤105的处理完成时,重复去除处理部123结束处理。
接着,参照图13说明步骤407或步骤608中进行的重复去除解除处理的流程。图13是重复去除解除部124执行的处理的流程图。重复去除解除部124被逻辑页变更部125或I/O处理部121调出,由此开始处理。
此时逻辑页变更部125或I/O处理部121对重复去除解除部124通知处理对象的逻辑页的信息(具体来说是逻辑页所属的虚拟卷的识别符、逻辑页识别符)。重复去除解除部124进行变更该通知的逻辑页的状态的处理。以下,将由通知重复去除解除部124的信息确定的逻辑页称为“被指定的逻辑页”。
步骤302:重复去除解除部124通过参照映射表127,确定分配给被指定的逻辑页的各重复去除块的数据块,读出保存于确定出的全部数据块的数据并保存于缓存14。
步骤303:重复去除解除部124对被指定的逻辑页分配未使用的物理页。分配物理页的处理与步骤602中说明的同样。
步骤304:重复去除解除部124更新与被指定的逻辑页对应的逻辑页管理表126的记录项的内容。具体来说,进行以下的内容更新。首先该记录项的重复去除1263变更为“无效”,去除块数1267更新为0。此外在步骤303执行的时刻,在物理页1263保存有被分配的物理页的识别符,因此上处不进行物理页1263的更新。
步骤305:重复去除解除部124将在步骤302中保存于缓存14的数据离台至在步骤303分配的物理页。
步骤306:重复去除解除部124更新对映射表127的记录项中被指定的逻辑页所含的各重复去除块的信息进行管理的记录项的内容。此处,各记录项的物理页1275和数据块1276变更为NULL。另外,此时刻指纹1274和削减标志1277不更新,保存原来的值。
步骤307:重复去除处理部124确定具有分配给被指定的逻辑页的各重复去除块的数据块的物理页。具体地说,重复去除处理部124检索映射表127的记录项中被指定的逻辑页的识别符和“逻辑页1272”的栏的信息一致、且削减标志1277为假的记录项,从检索结果得到的记录项不重复地取出物理页1275的信息。在步骤307中有确定了1个以上的物理页的情况。此外,此处仅检索削减标志1277为假的记录项,因此削减完成重复去除块从检索结果除外。
步骤308:重复去除处理部124将步骤307中确定的物理页变更为未分配状态。本实施例中,将使在数据块保存用中使用的物理页变更为未分配状态的处理称为“物理页释放处理”。此外,也将使物理页为未分配状态表达为“释放物理页”。
在步骤308的执行前时刻,在释放对象的物理页中可能依然存在在多个重复去除块共享的数据块。以下将这样的数据块称为共享数据块。此外,将共享数据块的数据称为共享数据。
物理页释放处理在使物理页变更为未分配状态前,将该物理页的共享数据向其它物理页的数据块移动(复制)。然后,将分配了该共享数据块的重复去除块变更为被分配了复制目标的数据块的状态。之后,将对象的物理页变更为未分配状态。
物理页释放处理由物理页释放处理部132执行。在步骤308中,重复去除处理部124将在步骤307中确定的物理页的识别符中除去在随动指针131记录的物理页之外的部分,通知物理页释放处理部132。物理页释放处理部132以通知的物理页为对象,执行物理页释放处理。
参照图17说明物理页释放处理部132的处理的流程。图17是物理页释放处理部132执行的处理的流程图。
步骤802:物理页释放处理部132选择通知的物理页的识别符内的一个。将由该选择的物理页的识别符确定的物理页称为处理对象的物理页。
步骤803:物理页释放处理部132选择处理对象的物理页中所含的一个数据块。以下将在步骤803中选择的数据块称为处理对象的数据块。
步骤804:物理页释放处理部132参照与处理对象的数据块对应的反向参考表130的记录项,利用保存于重复去除块1303的重复去除块的识别符确定重复去除块。此处确定出的重复去除块是通过步骤209(重复去除处理)分配了处理对象的数据块的重复去除块。
步骤806:物理页释放处理部132参照与在步骤804中确定出的重复去除块对应的映射表127的记录项,得到指纹1274的值。
步骤807:物理页释放处理部132在处理对象的数据块为共享数据块时,将该数据向其它物理页的数据块移动(复制),以共享处理对象的数据块的重复去除块共用复制目标的数据块的方式进行变更。步骤807的详情在后面叙述。
步骤808:物理页释放处理部132对处理对象的物理页中所含的全部数据块,判断是否执行了步骤804~807。在存在没有执行步骤804~807的数据块时(步骤808:是),物理页释放处理部132选择处理对象的数据块的下一数据块(步骤803),执行步骤804~807。如果对处理对象的物理页中所含的全部数据块完成步骤804~807的执行(步骤808:否),则执行步骤809。
步骤809:物理页释放处理部132将与处理对象的物理页对应的池管理表128的记录项的使用状况1282变更为“未使用”。
步骤810:物理页释放处理部132对规范处理对象的物理页中所含的全部数据块,分别在反向参考表130的对应的记录项的重复去除块1303保存NULL。
步骤811:物理页释放处理部132对于从重复去除解除部124通知的全部物理页,判断是否执行了步骤803~811。在存在没有执行步骤803~811的物理页时(步骤811:是),物理页释放处理部132选择这样的物理页之一(步骤802),执行自步骤803起的步骤。对于通知的全部物理页,如果完成了步骤803~811的执行(步骤811:否),则结束物理页释放处理。
参照图18,说明步骤807的共享数据判断-复制处理的流程。图18是共享数据判断-复制处理的流程图。
步骤902:物理页释放处理部132准备内部变量“移动完成”,作为初始值设定为假。
步骤903:物理页释放处理部132对检索表129进行检索,确定步骤806中得到的指纹包含于“指纹1291”的栏、且步骤804中得到的重复去除块的识别符包含于“重复去除块1292”的栏的记录项。
步骤904:物理页释放处理部132选择在确定的检索表129的记录项的重复去除块1292中保存的重复去除块的识别符。
步骤905:物理页释放处理部132参照与步骤904中被选择的重复去除块的识别符对应的映射表127的记录项,得到保存于记录项的各种信息。
步骤906:物理页释放处理部132判断处理对象的数据块是否分配给步骤904中被选择的重复去除块。在分配了时,处理对象的数据块为共享数据块。判断的具体方法如下。即,步骤905中得到的记录项的物理页1275和由数据块1276确定的数据块,如果与处理对象的数据块一致,则判断为分配了。在一致时(步骤906:是),将其数据向其它物理页的数据块移动(复制),进行对重复去除块分配复制目标的数据块的处理。该处理由步骤907的映射切换处理执行。关于映射切换处理的流程在后面叙述。不一致时(步骤906:否),接着执行步骤908。
另外,步骤904中被选择的重复去除块包含于应用了重复去除解除处理的逻辑页时,步骤906的判断为“不一致”。这是因为,重复去除解除处理的步骤306中,在与重复去除块对应的映射表127的记录项的物理页1275和数据块1276中保存着NULL。
步骤908:物理页释放处理部132从步骤903中确定的检索表129的记录项的重复去除块1292删除步骤904中被选择的重复去除块的识别符。结果,在重复去除块1292没有登记重复去除块的识别符的状态,即重复去除块1292为空的状态时,将该记录项从检索表129删除。
步骤909:物理页释放处理部132在步骤905中参照的映射表127的记录项的指纹1274中保存NULL。此外,在相同记录项的削减标志1277保存假。
步骤910:物理页释放处理部132判断步骤903中确定的检索表129的记录项的重复去除块1292中保存的重复去除块的识别符中是否存在没有执行步骤905~909的部分。存在还没有执行步骤905~909的重复去除块的识别符时(步骤910:是),物理页释放处理部132选择其中的一个(步骤904),执行自步骤905起的处理。否则(步骤910:否),结束处理。
参照图19,说明步骤907的映射切换处理的流程。图19是映射切换处理的流程图。
映射切换处理是将步骤803中选择的数据块的数据向其它物理页的数据块移动(复制)的处理。
步骤1002:物理页释放处理部132在步骤902中准备的内部变量“移动完成标志”的值为假时(步骤1002:否),执行步骤1003。在移动完成标志为真时(步骤1002:是),跳过步骤1003~步骤1006。
步骤1003:物理页释放处理部132将移动完成标志设定为真。
步骤1004:物理页释放处理部132确保步骤803中选择的数据块的数据的复制目标的数据块。数据块的确保的处理内容与步骤208(重复去除处理)同样。
步骤1005:物理页释放处理部132读出步骤803中选择的数据块的数据,写入步骤1003中确保的数据块。该处理与步骤209(重复去除处理)同样。
步骤1006:物理页释放处理部132将步骤904中被选择的重复去除块从削减完成重复去除块变更为通常的重复去除块。因此,步骤1006中,物理页释放处理部132将包含该重复去除块的逻辑页的去除块数(逻辑页管理表126的去除块数1267)减1。
步骤1007:物理页释放处理部132更新与步骤904中被选择的重复去除块对应的映射表127的记录项。变更内容如下。首先,在物理页1275和数据块1276,分别保存步骤1004中确保的数据块的物理页和数据块的识别符。接着,在步骤1002中移动完成标志为假时,即,将削减完成重复去除块变更为通常的重复去除块时,削减标志1277的内容变更为假。
以上说明了本发明的实施例,但这些仅是用于说明本发明的例示,本发明的范围并不限定于这些实施例。即,本发明能够以其它各种方式实施。
上述内容中,说明了存储装置使用的多个信息以逻辑页管理表126等那样的表构造进行管理的例子,但并不限定地以表构造管理信息的方式。存储装置也可以使用表以外的数据构造,例如列表构造等管理信息。
此外,存储装置在重复去除处理之外也可以进行压缩处理。例如作为搭载于存储装置的存储器件,使用具有压缩数据而保存的功能(压缩功能)的存储器件,由此可以对保存于存储器件的数据进行压缩。此时,为了维持对写入通常逻辑页的数据的存取性能,可以仅是写入重复去除逻辑页的数据保存于具有压缩功能的存储器件。进而,作为别的实施方式,存储装置可以构成为存储控制器的CPU进行保存于存储器件的数据的压缩。
此外,上述内容中说明了在向重复去除逻辑页写入了数据时,将该重复去除逻辑页变更为通常的逻辑页,而且将数据保存于驱动器的例子,但也可以不将重复去除逻辑页变更为通常的逻辑页地将写入的数据保存于驱动器。例如,在向重复去除逻辑页写入了数据时,可以确保物理页的区域而保存数据,更新重复去除逻辑页的地址与物理页的地址的映射关系。此时,可以根据向重复去除逻辑页写入的数据的量、写入的次数、它们的每一定期间的量等指标,判断是否使重复去除逻辑页回到通常逻辑页。
此外,上述内容中说明了将重复去除逻辑页变更为通常的逻辑页时,将在变更前保存该逻辑页的数据的物理页变更为未使用的状态的例子,但也可以在将重复去除逻辑页变更为通常的逻辑页后,在任意的契机将物理页变更为未使用的状态。例如,存储装置可以根据未使用的状态的物理页的数量、分配给逻辑页的物理页的数量、为了保存重复去除逻辑页的数据而分配的物理页的数量、重复去除逻辑页的数量、构成存储装置的硬件的处理负载等指标,决定将物理页变更为未使用的状态的契机。此外,存储装置可以按物理页记录保存的数据的量、解除对重复去除块的分配的量等信息。也可以基于这些每个物理页的信息,选择变更为未使用的状态的物理页。
此外,存储装置的硬件结构并不限定于以上说明的结构。例如,可以将在上述实施例中叙述的计算机搭载1个以上的存储器件的装置用作存储装置。如果将上述实施例中说明的各程序由计算机的处理器执行,则能够实现与上述实施例中说明的存储装置相同的功能。
此外,以上说明的实施例中,说明了存取请求源的计算机5和存储装置1为不同的硬件的例子,但作为其它实施方式,也可以是计算机5和存储装置1作为单一的硬件安装。即,上述实施例中说明的由存储装置1执行的存储控制程序和由计算机5执行的应用程序可以在相同的计算机上执行。此时,也可以是应用程序作为存取请求源,对存储控制程序发出I/O请求,存储控制程序将对I/O请求的响应(I/O请求为读取请求时是读取数据)返回至作为存取请求源的应用程序。优选的是,可以形成通过在计算机上执行用于形成虚拟计算机的程序(虚拟机监控程序等),而执行应用程序的虚拟计算机,和执行I/O处理部121、重复去除处理部123等程序的虚拟计算机。
附图标记说明
1:存储装置
5:计算机
6:SAN
10:存储控制器
11:CPU
12:系统内存
14:缓存
15:存储器件
121:I/O处理部
123:重复去除处理部
124:重复去除解除部
125:逻辑页变更部
126:逻辑页管理表
127:映射表
128:池管理表
129:检索表
130:反向参考表
131:随动指针
132:物理页释放处理部。
Claims (13)
1.一种存储装置,其包括:用于保存由主机计算机做出了写入请求的写入数据的1个以上的存储器件;和向所述主机计算机提供1个以上的卷的存储控制器,所述存储装置的特征在于:
所述存储控制器,按所述卷内的每个区域保存最终写入时刻,该最终写入时刻为从所述主机计算机最后接收了写入请求的时刻,
所述存储控制器,对在从所述最终写入时刻起的规定期间以上没有接收到写入请求的所述区域实施重复去除处理,该重复去除处理使得在所述存储器件中已保存了与从所述主机写入所述区域的数据相同的数据的情况下,不将写入在所述区域的数据保存到所述存储器件。
2.如权利要求1所述的存储装置,其特征在于:
所述存储控制器按每个所述区域管理状态,
所述区域的状态包括:第1状态,其为没有实施所述重复去除处理的状态;第2状态,其为实施了所述重复去除处理的状态;和第3状态,其为从所述第2状态回到了进行所述重复去除处理之前的状态的状态,
所述存储控制器,在对所述第1状态的所述区域进行了所述重复去除处理的结果是,所述区域的重复去除率低于规定的阈值的情况下,将所述区域的状态变更为所述第3状态。
3.如权利要求2所述的存储装置,其特征在于:
所述第3状态的所述区域在来自所述主机计算机的写入请求发出之前不变更所述状态。
4.如权利要求3所述的存储装置,其特征在于:
所述存储控制器,在从所述主机计算机对所述第2状态或所述第3状态的所述区域发出了写入请求时,将所述区域的状态变更为所述第1状态。
5.如权利要求4所述的存储装置,其特征在于:
所述存储控制器当从所述主机计算机接收到对所述区域的写入请求和写入对象数据时,对所述区域分配与所述区域相同大小的所述存储器件的第1存储区域,在所述分配的所述第1存储区域保存所述写入对象数据,
在所述区域的状态变更为所述第2状态时,所述存储控制器将所述区域划分为多个重复去除块,按每个所述重复去除块分配与所述重复去除块相同大小的、与所述第1存储区域不同的存储区域的数据块,对所述重复去除块与所述数据块的映射进行管理,
所述存储控制器在对所述重复去除块中的第2重复去除块分配所述数据块时,在写入于所述第2重复去除块的数据与保存于分配给第1重复去除块的第1数据块的数据相同的情况下,对所述第2重复去除块分配所述第1数据块。
6.如权利要求5所述的存储装置,其特征在于:
所述存储控制器,计算写入在所述重复去除块的数据的特征量,在检索表中记录所述计算出的特征量与分配给所述重复去除块的所述数据块的映射,
所述存储控制器在计算出所述第2重复去除块的特征量时,在与所述第2重复去除块的特征量相同的值没有保存于所述检索表的情况下,对所述第2重复去除块分配第2数据块,在所述第2数据块保存写入在所述第2重复去除块的数据。
7.一种存储装置的控制方法,该存储装置包括:用于保存有主机计算机做出了写入请求的写入数据的1个以上的存储器件;和向所述主机计算机提供1个以上的卷的存储控制器,所述存储装置的控制方法的特征在于:
所述存储控制器执行下述步骤:
按所述卷内的每个区域,记录作为从所述主机计算机最后接收了写入请求的时刻的最终写入时刻的步骤;
检测从所述最终写入时刻起在规定期间以上没有接收到写入请求的所述区域的步骤;和
对所述检测出的区域,实施仅将写入在所述区域的数据中的与在所述存储器件中已保存的数据不同的数据保存于所述存储器件的重复去除处理的步骤。
8.如权利要求7所述的存储装置的控制方法,其特征在于:
所述存储控制器按每个所述区域管理状态,
所述区域的状态包括:第1状态,其为没有实施所述重复去除处理的状态;第2状态,其为实施了所述重复去除处理的状态;和第3状态,其为从所述第2状态回到了进行所述重复去除处理之前的状态的状态,
在实施所述重复去除处理的步骤中,所述存储控制器在对所述第1状态的所述区域进行了所述重复去除处理的结果是,所述区域的重复去除率低于规定的阈值的情况下,将所述区域的状态变更为所述第3状态。
9.如权利要求8所述的存储装置的控制方法,其特征在于:
所述第3状态的所述区域在来自所述主机计算机的写入请求发出之前不变更所述状态。
10.如权利要求9所述的存储装置的控制方法,其特征在于:
所述存储控制器在从所述主机计算机对所述第2状态或所述第3状态的所述区域发出了写入请求时,执行将所述区域的状态变更为所述第1状态的步骤。
11.一种记录有程序的存储介质,该程序是由具有用于保存写入数据的1个以上的存储器件的计算机的处理器执行的程序,该记录有程序的存储介质的特征在于:
所述程序使所述处理器执行下述步骤:
接收对卷的写入请求的步骤;
按所述卷内的每个区域,保存作为最后接收了写入请求的时刻的最终写入时刻的步骤;
检测从所述最终写入时刻起在规定期间以上没有接收到写入请求的所述区域的步骤;和
对所述检测出的区域,实施仅将写入在所述区域的数据中的与在所述存储器件中已保存的数据不同的数据保存于所述存储器件的重复去除处理的步骤。
12.如权利要求11所述的记录程序的存储介质,其特征在于:
所述程序还使所述处理器管理每个所述区域的状态,
所述区域的状态包括:第1状态,其为没有实施所述重复去除处理的状态;第2状态,其为实施了所述重复去除处理的状态;和第3状态,其为从所述第2状态回到了进行所述重复去除处理之前的状态的状态,
在实施所述重复去除处理的步骤中,所述处理器在对所述第1状态的所述区域进行了所述重复去除处理的结果是,所述区域的重复去除率低于规定的阈值的情况下,将所述区域的状态变更为所述第3状态。
13.如权利要求12所述的记录程序的存储介质,其特征在于:
所述处理器在接收到对所述第2状态或所述第3状态的所述区域的写入请求时,执行将所述区域的状态变更为所述第1状态的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/056018 WO2017149592A1 (ja) | 2016-02-29 | 2016-02-29 | ストレージ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604165A true CN108604165A (zh) | 2018-09-28 |
CN108604165B CN108604165B (zh) | 2021-09-24 |
Family
ID=59742597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680081226.6A Active CN108604165B (zh) | 2016-02-29 | 2016-02-29 | 存储装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10572171B2 (zh) |
JP (1) | JP6678230B2 (zh) |
CN (1) | CN108604165B (zh) |
WO (1) | WO2017149592A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6724534B2 (ja) * | 2016-05-09 | 2020-07-15 | 富士通株式会社 | 情報処理装置、重複除去プログラム、及び重複除去方法 |
JP2019079448A (ja) * | 2017-10-27 | 2019-05-23 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
JP2019121195A (ja) * | 2018-01-05 | 2019-07-22 | 東芝メモリ株式会社 | メモリシステム及びプロセッサシステム |
US10860555B2 (en) | 2018-08-27 | 2020-12-08 | Dell Products, L.P. | Method and apparatus for two tier data deduplication using weighted graphs |
JP2020086477A (ja) * | 2018-11-15 | 2020-06-04 | 株式会社日立製作所 | 大規模ストレージシステム及び大規模ストレージシステムにおけるデータ配置方法 |
US10776029B2 (en) * | 2018-12-21 | 2020-09-15 | Dell Products, L.P. | System and method for dynamic optimal block size deduplication |
CN111858577B (zh) * | 2019-04-29 | 2024-05-17 | 伊姆西Ip控股有限责任公司 | 存储管理的方法、设备和计算机程序产品 |
CN110209888A (zh) * | 2019-05-08 | 2019-09-06 | 无线生活(杭州)信息科技有限公司 | 接口请求的存储方法及装置 |
CN110427347A (zh) * | 2019-07-08 | 2019-11-08 | 新华三技术有限公司成都分公司 | 重复数据删除的方法、装置、存储节点及存储介质 |
CN112783417A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 数据缩减的方法、装置、计算设备和存储介质 |
JP7476715B2 (ja) | 2020-08-07 | 2024-05-01 | 富士通株式会社 | 情報処理装置及び重複率見積もりプログラム |
US11989415B2 (en) | 2022-08-10 | 2024-05-21 | Hewlett Packard Enterprise Development Lp | Enabling or disabling data reduction based on measure of data overwrites |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234795A1 (en) * | 2008-03-14 | 2009-09-17 | International Business Machines Corporation | Limiting deduplcation based on predetermined criteria |
US20100077168A1 (en) * | 2008-09-24 | 2010-03-25 | Hitachi, Ltd. | System and method for controlling automated page-based tier management in storage systems |
JP2011065314A (ja) * | 2009-09-16 | 2011-03-31 | Hitachi Ltd | ファイル管理方法及びストレージシステム |
US8539148B1 (en) * | 2010-12-22 | 2013-09-17 | Emc Corporation | Deduplication efficiency |
US8799601B1 (en) * | 2012-06-28 | 2014-08-05 | Emc Corporation | Techniques for managing deduplication based on recently written extents |
US9152325B2 (en) * | 2012-07-26 | 2015-10-06 | International Business Machines Corporation | Logical and physical block addressing for efficiently storing data |
CA2896585A1 (en) * | 2014-08-11 | 2016-02-11 | Dot Hill Systems Corporation | Method and apparatus for processing asynchronous streams |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5379956B2 (ja) * | 2007-03-19 | 2013-12-25 | 株式会社日立製作所 | ストレージ装置及び記憶領域配置方法 |
JP2009093571A (ja) * | 2007-10-11 | 2009-04-30 | Hitachi Ltd | 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム |
EP2414926A1 (en) * | 2009-09-18 | 2012-02-08 | Hitachi, Ltd. | Storage system for eliminating duplicated data |
US9104328B2 (en) * | 2012-10-31 | 2015-08-11 | Hitachi, Ltd. | Storage apparatus and method for controlling storage apparatus |
JP6089890B2 (ja) * | 2013-03-29 | 2017-03-08 | 富士通株式会社 | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム |
US10001942B1 (en) * | 2016-12-21 | 2018-06-19 | Netapp Inc. | Asynchronous semi-inline deduplication |
-
2016
- 2016-02-29 WO PCT/JP2016/056018 patent/WO2017149592A1/ja active Application Filing
- 2016-02-29 CN CN201680081226.6A patent/CN108604165B/zh active Active
- 2016-02-29 US US15/769,424 patent/US10572171B2/en active Active
- 2016-02-29 JP JP2018502866A patent/JP6678230B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234795A1 (en) * | 2008-03-14 | 2009-09-17 | International Business Machines Corporation | Limiting deduplcation based on predetermined criteria |
US20100077168A1 (en) * | 2008-09-24 | 2010-03-25 | Hitachi, Ltd. | System and method for controlling automated page-based tier management in storage systems |
JP2011065314A (ja) * | 2009-09-16 | 2011-03-31 | Hitachi Ltd | ファイル管理方法及びストレージシステム |
US20120110045A1 (en) * | 2009-09-16 | 2012-05-03 | Hitachi, Ltd. | File management method and storage system |
US8539148B1 (en) * | 2010-12-22 | 2013-09-17 | Emc Corporation | Deduplication efficiency |
US8799601B1 (en) * | 2012-06-28 | 2014-08-05 | Emc Corporation | Techniques for managing deduplication based on recently written extents |
US9152325B2 (en) * | 2012-07-26 | 2015-10-06 | International Business Machines Corporation | Logical and physical block addressing for efficiently storing data |
CA2896585A1 (en) * | 2014-08-11 | 2016-02-11 | Dot Hill Systems Corporation | Method and apparatus for processing asynchronous streams |
Non-Patent Citations (1)
Title |
---|
WANG, E. D. , ET AL: "《Design and Implementation of Thin-provisioning Architecture for SAN》", 《COMPUTER ENGINEERING (2014)》 * |
Also Published As
Publication number | Publication date |
---|---|
US10572171B2 (en) | 2020-02-25 |
CN108604165B (zh) | 2021-09-24 |
JP6678230B2 (ja) | 2020-04-08 |
JPWO2017149592A1 (ja) | 2018-09-27 |
WO2017149592A1 (ja) | 2017-09-08 |
US20180307433A1 (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604165A (zh) | 存储装置 | |
CN104395904B (zh) | 高效的数据对象存储和检索 | |
CN103080910B (zh) | 存储系统 | |
US8161240B2 (en) | Cache management | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
CN105549905B (zh) | 一种多虚拟机访问分布式对象存储系统的方法 | |
US20070288711A1 (en) | Snapshot copy management method used for logic volume manager | |
CN103838853B (zh) | 一种基于不同存储介质的混合文件系统 | |
CN106548789A (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
CN108701002A (zh) | 虚拟存储系统 | |
CN102646069A (zh) | 一种延长固态盘使用寿命的方法 | |
EP3767450A1 (en) | Method for deduplication in storage system, storage system, and controller | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
CN107391774A (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
CN107924291A (zh) | 存储系统 | |
CN106610903A (zh) | 层级化存储器系统、存储器控制器和去重及存储器层级化方法 | |
CN108733306A (zh) | 一种文件合并方法及装置 | |
JP6098301B2 (ja) | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム | |
CN109634873A (zh) | 固态盘存储主机系统日志信息方法、装置、设备及介质 | |
CN113254365A (zh) | 存储空间的管理方法、装置、设备、介质和程序产品 | |
CN108399050A (zh) | 一种数据处理方法及装置 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN109408416B (zh) | 一种地址映射表项页管理方法及装置 | |
CN109144431A (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
CN107092443B (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 |