CN103748570A - 用于逻辑卷初始化的存储控制器与主机协作 - Google Patents
用于逻辑卷初始化的存储控制器与主机协作 Download PDFInfo
- Publication number
- CN103748570A CN103748570A CN201180072861.5A CN201180072861A CN103748570A CN 103748570 A CN103748570 A CN 103748570A CN 201180072861 A CN201180072861 A CN 201180072861A CN 103748570 A CN103748570 A CN 103748570A
- Authority
- CN
- China
- Prior art keywords
- memory controller
- sparse
- logical volume
- initialization
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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
一种设备包括用于访问逻辑卷的存储控制器。该存储控制器与主机协作来初始化该逻辑卷,使得主机资源执行该逻辑卷的初始化的一部分。
Description
背景技术
存储控制器(如独立磁盘冗余阵列(RAID)控制器)用来将物理存储器设备(如硬盘或其它存储设备)组织成能由主机访问的逻辑卷。为了最佳性能,存储控制器可以对逻辑卷进行初始化。初始化可以是对逻辑卷的奇偶校验初始化过程、重建过程、RAID等级/条带大小迁移过程、卷扩展过程或擦除过程。
存储控制器的存储器资源限制存储控制器能够对逻辑卷执行初始化过程的速率。进一步地,初始化过程期间同时发生的主机输入/输出(I/O)操作不促进初始化过程且会消耗存储控制器资源,这妨碍存储控制器向完成初始化过程进展。此外,随着硬件发展,物理磁盘容量的大小正在增加,从而增加了完成对逻辑卷的初始化过程所需要的单独I/O操作的数量。
随着对性能和冗余的增加的需求,初始化过程正变得越来越久,这会导致存储控制器的非最佳性能。更长的初始化时间导致更大量的时间处于低性能状态(例如,关于未完成的奇偶校验初始化过程)或处于具有逻辑卷多个部分的数据冗余丢失的退化状态(例如,关于未完成的重建过程)。
附图说明
图1是图示系统的一个示例的框图。
图2是图示服务器的一个示例的框图。
图3是图示存储控制器的一个示例的框图。
图4是图示逻辑卷初始化的一个示例的功能框图。
图5是图示稀疏序列元数据结构的一个示例的框图。
图6是图示经由稀疏序列元数据结构更新/跟踪元数据的一个示例的功能框图。
图7是图示用于初始化逻辑卷的方法的一个示例的流程图。
具体实施方式
在下面的详细描述中,参照附图,附图构成本说明书的一部分,并且附图中通过图示示出可以实践本公开内容的特定示例。应理解,可以使用其它示例,并且在不脱离本公开内容的范围的情况下可以进行结构变化或逻辑变化。因此,下面的详细描述不应当从限制意义上去考虑,并且本公开内容的范围由所附权利要求限定。应理解,除非另外特别指出,否则本文描述的各示例的特征可以彼此结合。
图1是图示系统100的一个示例的框图。系统100包括主机102、存储控制器106以及存储设备110。主机102经由通信链路104可通信地联接至存储控制器106。存储控制器106经由通信链路108可通信地联接至存储设备110。主机102是计算设备,如服务器、个人计算机或使用逻辑块寻址从存储设备110读取数据和在存储设备110中存储数据的其它合适的计算设备。存储控制器106提供主机102和存储设备110之间的接口,该接口用于将由主机102使用的逻辑块地址转换成用于访问存储设备110的物理块地址。
存储控制器106还对被映射至存储设备110的物理卷的逻辑卷执行初始化过程,该初始化过程包括奇偶校验初始化过程、重建过程、独立磁盘冗余阵列(RAID)等级/条带大小迁移过程、卷扩展过程、擦除过程和/或其它合适的初始化过程。在初始化过程期间,存储控制器106通过跟踪存储控制器106和主机102对正被初始化的一个或多个逻辑卷执行的写操作来跟踪初始化过程的进展。在一个示例中,通过跟踪用户发起的由主机102对正被初始化的逻辑卷执行的写操作(即在初始化过程之外通过存储控制器的正常使用生成的写操作),主机102间接促进初始化过程的完成,因为存储控制器106不必重复由主机102执行的写操作。在另一示例中,主机102还通过与存储控制器106协作直接执行关于初始化过程的写操作的至少一部分来主动促进初始化过程的完成。
与不能与主机协作的传统存储控制器相比,主机102和存储控制器106的用于完成对逻辑卷的初始化过程的协作加快了初始化过程。因此,逻辑卷比在传统系统中更快返回到高性能操作状态。此外,在一个示例中,能够分配未使用的主机资源来执行初始化过程,从而更有效地利用可用资源。在一个示例中,通过使主机输入/输出(I/O)能管理用于执行初始化过程的主机资源,用户能够直接指定初始化过程的速率。
图2是图示服务器120的一个示例的框图。服务器120包括处理器122、存储器126、存储控制器106以及其它设备128(1)-128(n),其中“n”是代表其它设备的任意合适数量的整数。在一个示例中,处理器122、存储器126以及其它设备128(1)-128(n)提供之前关于图1描述和示出的主机102。处理器122、存储器126、存储控制器106以及其它设备128(1)-128(n)经由通信链路124彼此可通信地联接。在一个示例中,通信链路124是总线。在一个示例中,通信链路124是高速总线,如外围组件高速互连(PCIe)总线或其它合适的高速总线。其它设备128(1)-128(n)包括网络接口、其它存储控制器、显示适配器、I/O设备和/或提供服务器120的一部分的其它合适设备。
处理器122包括中央处理器(CPU)或其它合适的处理器。在一个示例中,存储器126存储由处理器122运行的、用于操作服务器120的指令。存储器126包括易失性存储器和/或非易失性存储器任意合适组合,如随机存取存储器(RAM)、只读存储器(ROM)、闪存和/或其它合适的存储器的组合。处理器122经由存储控制器106访问存储设备110(图1)。处理器122资源用于与存储控制器106协作,以如之前关于图1所描述那样对逻辑卷执行初始化过程。
图3是图示存储控制器106的一个示例的框图。存储控制器106包括处理器130、存储器132以及存储协议设备134。处理器130、存储器132以及存储协议设备134经由通信链路124可通信地彼此联接。存储协议设备134经由通信链路108可通信地联接至存储设备110(a)-110(m),其中“m”是代表存储设备的任意合适数量的整数。存储设备110(1)-110(m)包括硬盘驱动器、闪存驱动器、光驱和/或其它合适的存储设备。在一个示例中,通信链路108包括总线,如串行高级技术附件(SATA)总线或其它合适的总线。
处理器130包括中央处理器(CPU)、控制器或其它合适的处理器。在一个示例中,存储器132存储由处理器130运行的、用于操作存储控制器106的指令。存储器132包括易失性存储器和/或非易失性存储器的任意合适的组合,如RAM、ROM、闪存和/或其它合适的存储器的组合。存储协议设备134将从主机接收的、送往存储控制器106的命令转换成用于访问存储设备110(1)-110(m)的命令。处理器130运行用于将从主机接收的逻辑块地址转换成用于访问存储设备110(1)-110(m)的物理块地址的指令。此外,处理器130运行之前关于图1描述的用于对被映射至存储设备110(a)-110(m)的物理卷的逻辑卷执行初始化过程的指令以及用于执行跟踪该初始化过程的进展的指令。
图4是图示逻辑卷160(1)-160(y)的初始化的一个示例的功能框图138,其中“y”是代表逻辑卷的任意合适数量的整数。逻辑卷160(1)-160(y)被映射到存储设备110(1)-110(m)的物理卷(图3)。主机102经由如146所示的通信链路124向存储控制器106发送控制命令。存储控制器106经由如148所示的通信链路124向主机102发送控制命令。存储控制器106向逻辑卷160(1)-160(y)发送控制命令,如156所示。逻辑卷160(1)-160(y)向存储控制器106发送控制命令,如158所示。
在该示例中,通过将主机资源分配给初始化过程,主机102主动地促进逻辑卷160(1)-160(y)的初始化的完成。当通知关于逻辑卷160(1)-160(y)的初始化过程时,主机102为该初始化过程分配一个或多个计算线程140(1)-140(x),其中“x”是代表所分配的计算线程的任意合适数量的整数。在一个示例中,向初始化过程分配的计算线程的数量是用户指定的。通过轮询存储控制器106来获得信息或者通过别的合适技术,存储控制器106可以向主机102通知初始化过程。分别向每个计算线程140(1)-140(x)分配其自身的缓冲区142(1)-142(x),以发起对逻辑卷160(1)-160(y)的读操作和写操作。
在此示例中,计算线程140(1)和缓冲区142(1)发起如144(1)所示的对逻辑卷160(1)的读操作和写操作,以促进逻辑卷160(1)的初始化过程的完成。计算线程140(2)和缓冲区142(2)也发起如144(2)所示的对逻辑卷160(1)的读操作和写操作,以促进逻辑卷160(1)的初始化过程的完成。计算线程140(x)和缓冲区142(x)发起如144(x)所示的对逻辑卷160(y)的读操作和写操作,以促进逻辑卷160(y)的初始化过程的完成。在其它示例中,分配其它计算线程和各自的缓冲区来发起对其它逻辑卷的读操作和写操作,以促进这些逻辑卷的初始化过程的完成。如144(1)-144(x)所示的从主机102向逻辑卷160(1)-160(y)的读操作和写操作穿过总线124和存储控制器106。在一个示例中,主机102阻止用户发起的对当前正由计算线程140(1)-140(x)操作的逻辑卷的块的写操作。
存储控制器106包括计算线程150和缓冲区152,计算线程150和缓冲区152发起如154所示的对逻辑卷160(1)的读操作和写操作,以促进逻辑卷160(1)的初始化过程的完成。在其它示例中,计算线程150和缓冲区152发起对另一逻辑卷的读操作和写操作,以促进该逻辑卷的初始化过程的完成。因此,在此示例中,主机102的具有缓冲区142(1)的计算线程140(1)、主机102的具有缓冲区142(2)的计算线程140(2)以及存储控制器106的具有缓冲区152的计算线程150并行发起对逻辑卷160(1)的读操作和写操作,以完成逻辑卷160(1)的初始化过程。
存储控制器106还跟踪逻辑卷160(1)-160(y)的初始化过程的进展。对每个单独的逻辑卷160(1)-160(y),存储控制器106跟踪哪些逻辑块已经被初始化。例如,对逻辑卷160(1),存储控制器106跟踪哪些逻辑块已经被由存储控制器106的具有缓冲区152的计算线程150发起的写操作、由主机102的具有缓冲区142(1)的计算线程140(1)发起的写操作以及由主机102的具有缓冲区142(2)的计算线程140(2)发起的写操作初始化。同样地,对逻辑卷160(y),存储控制器106跟踪哪些逻辑块已经被由具有缓冲区142(x)的计算线程140(x)发起的写操作初始化。在一个示例中,存储控制器106定期地向主机102发送跟踪信息,使得主机102不重复由存储控制器106执行的初始化操作。在另一示例中,主机102轮询存储控制器106来获得跟踪信息的变化,使得主机102不重复由存储控制器106执行的初始化操作。
图5是图示稀疏序列元数据结构200的一个示例的框图。在一个示例中,稀疏序列元数据结构200被存储控制器106(图1-图4)用来跟踪逻辑卷(如逻辑卷160(1)-160(y)(图4))的初始化过程的进展。当逻辑卷的初始化过程开始时,存储控制器106为每个逻辑卷创建稀疏序列元数据结构200。一旦根据存储在稀疏序列元数据结构200中的元数据完成了逻辑卷的初始化过程,就擦除稀疏序列元数据结构200。
在此示例中,稀疏序列元数据结构200包括稀疏序列元数据202和稀疏项220(1)、220(2)和220(3)。在逻辑卷的初始化过程期间,可以改变稀疏序列元数据结构200的稀疏项的数量。当逻辑卷的初始化过程完成时,用于该逻辑卷的稀疏序列元数据结构200将仅包括一个稀疏项。
稀疏序列元数据202包括多个字段,多个字段包括如204所示的稀疏项的数量、如206所示的指向稀疏项的头的指针、如208所示的操作中的逻辑卷或逻辑单元号(LUN)以及如210所示的完成参数。在一个示例中,完成参数包括满足逻辑卷的初始化过程的逻辑块地址的范围。在其它示例中,稀疏序列元数据202可以包括用于稀疏序列元数据结构200的其它合适字段。
每个稀疏项220(1)、220(2)和220(3)包括两个字段,这两个字段分别包括如222(1)、222(2)和222(3)所示的逻辑块地址(LBA)以及如224(1)、224(2)和224(3)所示的长度。每个稀疏项的逻辑块地址和长度表示逻辑卷的已经被初始化的部分。稀疏序列元数据202如212所示经由指向头的指针206链接至第一稀疏项220(1)。第一稀疏项220(1)如226(1)所示链接至第二稀疏项220(2)。同样地,第二稀疏项220(2)如226(2)所示链接至第三稀疏项220(3)。类似地,第三稀疏项220(3)可以链接至其它稀疏项(未示出)。在一个示例中,稀疏项220(1)、220(2)和220(3)分别根据逻辑块地址222(1)、222(2)和222(3)按顺序排列。
图6是图示经由之前关于图5描述和示出的稀疏序列元数据结构200更新/跟踪元数据的一个示例的功能框图250。对如260所示的在操作中每个从主机102或存储控制器106向逻辑卷的到达写操作,存储控制器106如262所示生成稀疏项264。稀疏项264包括正由写操作初始化的逻辑卷一部分中如266所示的LBA以及如268所示的长度。在生成稀疏项264之后,存储控制器106将稀疏项264合并到现有稀疏项(例如,稀疏项220(1)、220(2)或220(3))内或将稀疏项264如270所示在适当位置插入到稀疏序列元数据结构200内。
例如,如果稀疏项264包括表示该逻辑卷的与该逻辑卷的由现有稀疏项的LBA和长度所示的部分相邻(即就在之前或就在之后)的部分的LBA266和长度268,则存储控制器106修改该现有稀疏项。将该现有稀疏项修改为包括适当的LBA和长度,使得所修改的稀疏项表示该逻辑卷的基于该现有稀疏项的之前被初始化的部分和该逻辑卷的基于稀疏项264的新被初始化的部分。如果稀疏项264包括表示该逻辑卷的与该逻辑卷的由现有稀疏项的LBA和长度所示的部分不相邻的部分的LBA266和长度268,则存储控制器106将稀疏项264在适当位置插入到稀疏序列元数据结构200中。存储控制器106根据LBA266将稀疏项264插入到第一稀疏项(例如,稀疏项220(1))之前,插入到稀疏项之间(例如,稀疏项220(1)和稀疏项220(2)之间或者稀疏项220(2)和稀疏项220(3)之间)、或插入到最后的稀疏项(例如,稀疏项220(3))之后。
在每个写操作之后,存储控制器106执行如256所示的过程完成检查。过程完成检查接收如252所示的完成参数210,以及如254所示的来自第一稀疏项220(1)的LBA222(1)和长度224(1)。过程完成检查将来自稀疏序列元数据202的完成参数210和来自第一稀疏项220(1)的LBA222(1)和长度224(1)进行比较。当逻辑卷的初始化完成时,稀疏序列元数据结构200将仅包括第一稀疏项220(1),第一稀疏项220(1)将包括LBA222(1)和长度224(1),LBA222(1)和长度224(1)表示满足该初始化过程的LBA范围。因此,通过将稀疏项220(1)的LBA222(1)和长度224(1)与完成参数210进行比较,存储控制器106确定该逻辑卷的初始化过程是否完成。在一个示例中,当逻辑卷的初始化过程完成时,存储控制器106擦除用于该逻辑卷的稀疏序列元数据结构。
通过经由稀疏序列元数据结构跟踪该逻辑卷的已经被初始化的部分,主机102的计算线程可以在该逻辑卷的任意区域中操作,甚至不相连的区域,而不耗费存储控制器106资源。在一个示例中,存储控制器106可以用来填充主机102计算线程操作之间的不相连区域。此外,通过使用稀疏序列元数据结构,存储控制器106不必存储大量元数据来跟踪该逻辑卷的多个不相连部分的进展。用户发起的在初始化过程之外通过存储控制器的正常使用生成的来自主机的写操作还被计入初始化过程,并且通过稀疏序列元数据结构跟踪。
图7是图示用于初始化逻辑卷(例如,之前关于图4描述和示出的逻辑卷160(1)或逻辑卷160(y))的方法300的一个示例的流程图。在302处,开始逻辑卷的初始化过程。该初始化过程可以包括奇偶校验初始化过程、重建过程、RAID等级/条带大小迁移过程、卷扩展过程、擦除过程或别的合适的初始化过程。逻辑卷的初始化可以由存储控制器或主机开始。
在304处,存储控制器(例如,之前关于图1-图4描述和示出的存储控制器106)创建元数据来跟踪该初始化过程的进展(例如,之前关于图5描述和示出的稀疏序列元数据结构200)。在306处,存储控制器对该逻辑卷执行初始化操作。在308处,与存储控制器初始化操作并行,主机对该逻辑卷执行写操作。在一个示例中,主机写操作是用户发起的在初始化过程之外通过存储控制器的正常使用生成的写操作。在另一示例中,主机写操作是用于主动促进初始化过程的初始化操作。
在310处,存储控制器更新/跟踪用于存储控制器初始化操作和/或用于主机写操作的元数据。在一个示例中,通过更新用于逻辑卷的稀疏序列元数据结构,存储控制器更新/跟踪元数据。在312处,存储控制器根据元数据确定初始化过程是否完成。如果初始化过程未完成,那么在306处,存储控制器执行另一初始化操作。如在308处所示,主机还可以继续向逻辑卷写入。如果初始化过程完成,那么如314处所示,该方法结束。
本公开内容的示例提供一种包括主机和存储控制器的系统,该主机和该存储控制器协作来完成对逻辑卷的初始化过程。存储控制器跟踪初始化过程的进展,使得不重复操作。在一个示例中,通过初始化过程之外的正常主机写操作,主机间接促进初始化过程。在另一示例中,通过给初始化过程分配资源,主机主动地促进初始化过程。
通过协作来完成初始化过程,能够分配未使用的主机资源来执行初始化操作。用户可以配置将主机资源供奉至初始化过程的速率,这允许用户对主机资源的控制,以加快初始化过程。主机资源能够用于同时初始化多个附接的存储控制器上的多个逻辑卷,这允许更快的并行初始化过程。因此,在不增加主机或存储控制器中的可用资源的条件下,与关于初始化过程主机不与存储控制器协作的传统系统相比较,提高初始化过程的速度。
尽管本文已经示出并描述多个具体示例,但是本领域技术人员应理解,各种可替代的和/或等同的实现方式可以替换所示出的和所描述的具体示例,而不脱离本公开内容的范围。本申请旨在覆盖本文介绍的具体示例的修改或变型。因此,希望本公开内容仅由所附权利要求及其等同物限制。
Claims (15)
1.一种设备,包括:
存储控制器,用于访问逻辑卷,所述存储控制器与主机协作来初始化所述逻辑卷,使得主机资源执行所述逻辑卷的初始化的一部分。
2.根据权利要求1所述的设备,其中所述存储控制器通过跟踪对所述逻辑卷的主机写操作和存储控制器写操作来跟踪所述初始化的进展。
3.根据权利要求2所述的设备,其中所述存储控制器经由稀疏序列元数据结构跟踪所述初始化的进展,并且
其中所述存储控制器为每个主机写操作和每个存储控制器写操作生成稀疏项,并将所生成的稀疏项合并到所述稀疏序列元数据结构的之前的稀疏项内或将所生成的稀疏项插入到所述稀疏序列元数据结构内。
4.根据权利要求3所述的设备,其中所述存储控制器为用户发起的每个对所述逻辑卷的主机写操作生成稀疏项。
5.根据权利要求1所述的设备,其中所述主机分配用户指定数量的计算线程,每个计算线程具有被分配的缓冲区,以执行所述逻辑卷的所述初始化的一部分。
6.根据权利要求5所述的设备,其中所述主机阻止用户发起的对当前正由计算线程操作的所述逻辑卷的块的写操作。
7.根据权利要求1所述的设备,其中所述初始化包括奇偶校验初始化过程、重建过程、RAID等级/条带大小迁移过程、卷扩展过程以及擦除过程中之一。
8.一种设备,包括:
主机;以及
存储控制器,用于访问逻辑卷,所述存储控制器与所述主机协作来对所述逻辑卷执行初始化过程,使得主机资源执行所述初始化过程的一部分,
其中所述存储控制器通过跟踪对所述逻辑卷的主机写操作和存储控制器写操作,跟踪所述初始化过程的进展作为促进所述初始化过程。
9.根据权利要求8所述的设备,其中所述存储控制器经由用于所述逻辑卷的稀疏序列元数据结构跟踪所述初始化过程的进展,所述稀疏序列元数据结构包括稀疏项,所述稀疏项包括表示所述逻辑卷的已经被初始化的部分的逻辑块地址字段和长度字段。
10.根据权利要求8所述的设备,其中所述存储控制器和所述主机并行对所述逻辑卷执行初始化操作。
11.一种用于初始化逻辑卷的方法,所述方法包括:
使用存储控制器资源对所述逻辑卷执行初始化操作;
使用主机资源对所述逻辑卷执行用户发起的操作;以及
跟踪使用存储控制器资源执行的所述初始化操作以及使用主机资源执行的所述用户发起的操作,作为促进所述逻辑卷的初始化。
12.根据权利要求11所述的方法,进一步包括:
使用主机资源对所述逻辑卷执行初始化操作。
13.根据权利要求12所述的方法,进一步包括:
与对所述逻辑卷执行初始化操作并行,使用主机资源对其它逻辑卷执行初始化操作。
14.根据权利要求11所述的方法,其中所述跟踪包括:
为每个初始化操作和每个用户发起的操作,生成用于稀疏序列元数据结构的稀疏项;以及
将所生成的稀疏项合并到所述稀疏序列元数据结构的之前生成的稀疏项内,或将所生成的稀疏项插入到所述稀疏序列元数据结构内。
15.根据权利要求11所述的方法,其中执行初始化操作包括执行奇偶校验初始化操作、重建操作、RAID等级/条带大小迁移操作、卷扩展操作以及擦除操作中之一。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/064625 WO2013089680A1 (en) | 2011-12-13 | 2011-12-13 | Storage controller with host collaboration for initialization of a logical volume |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103748570A true CN103748570A (zh) | 2014-04-23 |
Family
ID=48612977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180072861.5A Pending CN103748570A (zh) | 2011-12-13 | 2011-12-13 | 用于逻辑卷初始化的存储控制器与主机协作 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140173223A1 (zh) |
EP (1) | EP2726996A4 (zh) |
CN (1) | CN103748570A (zh) |
WO (1) | WO2013089680A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908611A (zh) * | 2019-11-24 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | 一种块服务启动的方法、装置、设备及介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9383924B1 (en) * | 2013-02-27 | 2016-07-05 | Netapp, Inc. | Storage space reclamation on volumes with thin provisioning capability |
US20140325146A1 (en) * | 2013-04-29 | 2014-10-30 | Lsi Corporation | Creating and managing logical volumes from unused space in raid disk groups |
US9483408B1 (en) | 2015-04-09 | 2016-11-01 | International Business Machines Corporation | Deferred metadata initialization |
CN109189340B (zh) * | 2018-08-29 | 2021-11-09 | 上海兆芯集成电路有限公司 | 用于存取独立硬盘冗余阵列的系统与方法 |
US10740259B1 (en) * | 2019-04-19 | 2020-08-11 | EMC IP Holding Company LLC | Host mapping logical storage devices to physical storage devices |
US11132138B2 (en) | 2019-09-06 | 2021-09-28 | International Business Machines Corporation | Converting large extent storage pools into small extent storage pools in place |
US10901645B1 (en) | 2019-09-06 | 2021-01-26 | International Business Machines Corporation | Converting small extent storage pools into large extent storage pools in place |
US11500539B2 (en) * | 2020-10-16 | 2022-11-15 | Western Digital Technologies, Inc. | Resource utilization tracking within storage devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453396B1 (en) * | 1999-07-14 | 2002-09-17 | Compaq Computer Corporation | System, method and computer program product for hardware assisted backup for a computer mass storage system |
US20070088928A1 (en) * | 2005-10-19 | 2007-04-19 | Lsi Logic Corporation | Methods and systems for locking in storage controllers |
CN101297274A (zh) * | 2005-10-24 | 2008-10-29 | 英特尔公司 | 用于实现命令同步以支持多线程非易失性存储器文件系统的方法 |
CN101840308A (zh) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | 一种分级存储系统及其逻辑卷管理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337790A (ja) * | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶システム及びその階層管理制御方法 |
US6993676B2 (en) * | 2002-06-12 | 2006-01-31 | Sun Microsystems, Inc. | Method and apparatus for fast initialization of redundant arrays of storage devices |
JP4307202B2 (ja) * | 2003-09-29 | 2009-08-05 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
US7386662B1 (en) * | 2005-06-20 | 2008-06-10 | Symantec Operating Corporation | Coordination of caching and I/O management in a multi-layer virtualized storage environment |
US20110029728A1 (en) * | 2009-07-28 | 2011-02-03 | Lsi Corporation | Methods and apparatus for reducing input/output operations in a raid storage system |
US9563555B2 (en) * | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8966191B2 (en) * | 2011-03-18 | 2015-02-24 | Fusion-Io, Inc. | Logical interface for contextual storage |
-
2011
- 2011-12-13 EP EP11877577.4A patent/EP2726996A4/en not_active Withdrawn
- 2011-12-13 WO PCT/US2011/064625 patent/WO2013089680A1/en active Application Filing
- 2011-12-13 CN CN201180072861.5A patent/CN103748570A/zh active Pending
- 2011-12-13 US US14/235,793 patent/US20140173223A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453396B1 (en) * | 1999-07-14 | 2002-09-17 | Compaq Computer Corporation | System, method and computer program product for hardware assisted backup for a computer mass storage system |
US20070088928A1 (en) * | 2005-10-19 | 2007-04-19 | Lsi Logic Corporation | Methods and systems for locking in storage controllers |
CN101297274A (zh) * | 2005-10-24 | 2008-10-29 | 英特尔公司 | 用于实现命令同步以支持多线程非易失性存储器文件系统的方法 |
CN101840308A (zh) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | 一种分级存储系统及其逻辑卷管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908611A (zh) * | 2019-11-24 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | 一种块服务启动的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140173223A1 (en) | 2014-06-19 |
EP2726996A1 (en) | 2014-05-07 |
EP2726996A4 (en) | 2015-02-25 |
WO2013089680A1 (en) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748570A (zh) | 用于逻辑卷初始化的存储控制器与主机协作 | |
CN111433732B (zh) | 存储设备以及由存储设备执行的计算机实现的方法 | |
US8250283B1 (en) | Write-distribute command for RAID mirroring | |
US9317436B2 (en) | Cache node processing | |
CN103970688B (zh) | 缩短数据存储系统中写入等待时间的方法和系统 | |
US8706962B2 (en) | Multi-tier storage system configuration adviser | |
US8392670B2 (en) | Performance management of access to flash memory in a storage device | |
KR102307130B1 (ko) | 복수 배열 독립 디스크 구성에서 가비지 콜렉션의 영향을 완화하는 레이드 컨트롤러 및 그것의 동작 방법 | |
US9465555B2 (en) | Method and apparatus for efficient processing of disparate data storage commands | |
US8463992B2 (en) | System and method for handling IO to drives in a raid system based on strip size | |
US8966130B2 (en) | Tag allocation for queued commands across multiple devices | |
CN111880727A (zh) | 一种用于硬盘端口号灵活分配的硬件架构及其实现方法 | |
US9612759B2 (en) | Systems and methods for RAID storage configuration using hetereogenous physical disk (PD) set up | |
US8868877B2 (en) | Creating encrypted storage volumes based on thin-provisioning mode information | |
JP6652647B2 (ja) | ストレージシステム | |
CN112346557B (zh) | 多核系统及其控制操作 | |
CN105389121B (zh) | 有效率释出序列输入输出串流的方法及装置 | |
US20110154165A1 (en) | Storage apparatus and data transfer method | |
US20130339592A1 (en) | Approach to virtual bank management in dram controllers | |
US20150278299A1 (en) | External merge sort method and device, and distributed processing device for external merge sort | |
KR102634776B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2018055686A1 (ja) | 情報処理システム | |
US9665292B2 (en) | System and method for providing consistent metadata for RAID solutions | |
KR102197379B1 (ko) | 분산스토리지 어플리케이션의 저전력 raid 스케쥴링 기법 | |
US20160018995A1 (en) | Raid system for processing i/o requests utilizing xor commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20170503 |
|
AD01 | Patent right deemed abandoned |