-
公开(公告)号:US08341342B1
公开(公告)日:2012-12-25
申请号:US13428817
申请日:2012-03-23
IPC分类号: G06F12/00
CPC分类号: G06F11/1076 , G06F2211/1057
摘要: A method for storing data including receiving a request to write data and in response the request, selecting a RAID grid location in a RAID grid to write the data. The method further includes writing the data to memory, updating a data structure to indicate that the RAID grid location is filled, identifying a parity value in the RAID grid to update, where the parity value is associated with a second RAID grid location in the RAID grid, updating the parity value using the data and the parity value to obtain an updated parity value and storing the updated parity value in the memory. Prior to the first data grid being filled determining a physical address in persistent storage corresponding to the RAID grid location and writing the data to the first physical address.
摘要翻译: 一种用于存储数据的方法,包括接收写入数据的请求,并且响应该请求,在RAID网格中选择RAID网格位置以写入数据。 该方法还包括将数据写入存储器,更新数据结构以指示RAID网格位置被填充,识别RAID网格中的奇偶校验值进行更新,其中奇偶校验值与RAID中的第二RAID网格位置相关联 网格,使用数据和奇偶校验值来更新奇偶校验值,以获得更新的奇偶校验值,并将更新的奇偶校验值存储在存储器中。 在第一数据网格被填充之前,确定与RAID网格位置相对应的持久存储器中的物理地址,并将数据写入第一物理地址。
-
公开(公告)号:US07743225B2
公开(公告)日:2010-06-22
申请号:US11406590
申请日:2006-04-19
CPC分类号: G06F3/065 , G06F3/061 , G06F3/0644 , G06F3/0683 , G06F11/1435 , G06F11/2056
摘要: A method for storing a data block in a storage pool, including receiving a write operation for the data block, writing the data block into the storage pool, determining a first indirect block to store in the storage pool, wherein the first indirect block references the data block, writing the first indirect block to a first location in the storage pool, creating a copy of the first indirect block, and writing the copy of first indirect block to a second location in the storage pool.
摘要翻译: 一种用于将数据块存储在存储池中的方法,包括接收对数据块的写入操作,将数据块写入存储池,确定存储在存储池中的第一间接块,其中第一间接块引用 数据块,将所述第一间接块写入所述存储池中的第一位置,创建所述第一间接块的副本,以及将所述第一间接块的副本写入所述存储池中的第二位置。
-
公开(公告)号:US07716519B2
公开(公告)日:2010-05-11
申请号:US11406578
申请日:2006-04-19
IPC分类号: G06F11/00
CPC分类号: G11B20/1803 , G06F11/1076 , G06F2211/1014 , G06F2211/1059 , G11B20/1833
摘要: A method for reconstructing a logical block, wherein the logical block comprises a first set of sectors. The method including obtaining a copy of the logical block comprising a second set of sectors, determining which of the sectors in the first set of sectors are identical to sectors in the second set of sectors to obtain identical sectors, selecting a first combination of non-identical sectors from the first set of sectors and the second set of sectors, combining a copy of each of the identical sectors with the first combination of non-identical sectors to obtain a first reconstructed logical block, calculating a first checksum for the first reconstructed logical block, and determining whether the first calculated checksum is equal to the stored checksum associated with the first logical block.
摘要翻译: 一种用于重建逻辑块的方法,其中所述逻辑块包括第一组扇区。 该方法包括获得包括第二组扇区的逻辑块的副本,确定第一组扇区中的哪个扇区与第二组扇区中的扇区相同以获得相同的扇区,选择非均匀扇区的第一组合, 从第一组扇区和第二组扇区相同的扇区,将每个相同扇区的副本与非相同扇区的第一组合组合以获得第一重构逻辑块,计算第一重构逻辑的第一校验和 并且确定所述第一计算的校验和是否等于与所述第一逻辑块相关联的所存储的校验和。
-
公开(公告)号:US07533225B1
公开(公告)日:2009-05-12
申请号:US10919886
申请日:2004-08-17
IPC分类号: G06F13/00
CPC分类号: G06F13/4027
摘要: A method for reading a block, involving receiving a request to obtain the block, wherein the request comprises a block pointer, determining a block endianness by reading an endianness bit, obtaining the block using the block pointer, and byte-swapping data in the block to obtain a byte-swapped block, if a host endianness does not match the block endianness.
摘要翻译: 一种用于读取块的方法,包括接收获得所述块的请求,其中所述请求包括块指针,通过读取字节序位确定块的字节顺序,使用块指针获取块,以及块中的字节交换数据 以获得一个字节交换的块,如果一个主机字节不匹配块的字节顺序。
-
公开(公告)号:US07469320B2
公开(公告)日:2008-12-23
申请号:US11417078
申请日:2006-05-03
IPC分类号: G06F12/00
CPC分类号: G06F12/122 , G06F12/0802 , G06F12/123
摘要: A method for caching a block, which includes receiving a request to store the block in a cache and determining whether the cache is able to expand. If the cache is not able to expand, then determining whether evictable blocks are present in the cache and, if evictable blocks are present in the cache determining whether a total size of the evictable blocks is greater than or equal to a size of the block, evicting a sufficient number of the evictable blocks from the cache and storing the block in the cache, if the total size of the evictable blocks is greater than or equal to the size of the block, and activating a cache throttle, if the total size of the evictable blocks is less than the size of the block.
摘要翻译: 一种用于缓存块的方法,其包括接收将所述块存储在高速缓存中并且确定所述高速缓存是否能够扩展的请求。 如果高速缓存不能扩展,则确定可缓存块是否存在于高速缓存中,并且如果可缓存的块存在于高速缓存中,确定可驱动块的总大小是否大于或等于块的大小, 如果所述可驱动块的总大小大于或等于所述块的大小,并将所述块存储在所述高速缓存中,则将所述可驱动块的足够数量从所述高速缓存中驱出并将所述块存储在所述高速缓存中,并且如果所述块的总大小 可驱动的块小于块的大小。
-
6.
公开(公告)号:US20080104150A1
公开(公告)日:2008-05-01
申请号:US11591425
申请日:2006-10-31
IPC分类号: G06F17/30
CPC分类号: G06F3/0638 , G06F3/0608 , G06F3/064 , G06F3/0683 , Y10S707/99956
摘要: A method for priority-based allocation in a storage pool involves receiving a request to write a data item in the storage pool, where the storage pool includes multiple metaslabs, and where each of the metaslabs includes a contiguous region of data. The method further involves determining a target metaslab selected from the multiple metaslabs by comparing multiple allocation priorities, where each of the allocation priorities is associated with one of the metaslabs, allocating a block to the target metaslab, and writing the block to the target metaslab, where the block includes a portion of the data item.
摘要翻译: 用于存储池中基于优先级分配的方法包括接收在存储池中写入数据项的请求,其中存储池包括多个元数据库,并且其中每个元数据包括数据的连续区域。 该方法还包括通过比较多个分配优先级来确定从多个元搜索中选择的目标元模型,其中每个分配优先级与元数据库之一相关联,向目标元数据分配块,并将该块写入目标元数据库, 其中块包括数据项的一部分。
-
公开(公告)号:US07305537B1
公开(公告)日:2007-12-04
申请号:US11069176
申请日:2005-03-01
IPC分类号: G06F12/00
CPC分类号: G06F3/0659 , G06F3/0611 , G06F3/0683
摘要: A method for storing data, that includes receiving a request to store data in a storage pool, queuing the request in an Input/Output (I/O) queue, and issuing the request from the I/O queue upon receipt of a completion interrupt from the storage pool.
摘要翻译: 一种用于存储数据的方法,包括接收将数据存储在存储池中的请求,将请求排队在输入/输出(I / O)队列中,以及在接收到完成中断时从I / O队列发出请求 从存储池。
-
公开(公告)号:US08938594B2
公开(公告)日:2015-01-20
申请号:US11407719
申请日:2006-04-19
CPC分类号: G06F11/2082
摘要: A method for resilvering a storage pool includes determining whether any of a first plurality of blocks in the storage pool, comprising metadata, require resilvering, determining whether any of a second plurality of blocks in the storage pool, comprising data, require resilvering, resilvering all of the first plurality of blocks that require resilvering, and resilvering all of the second plurality of blocks that require resilvering, wherein all of the first plurality of blocks that require resilvering are resilvered prior to resilvering any of the second plurality of blocks.
摘要翻译: 用于恢复存储池的方法包括确定包括元数据的存储池中的第一多个块中的任何块是否需要恢复,确定包括数据的存储池中的第二多个块中的任何块是否需要弹性恢复,全部恢复 所述第一组多个块需要弹性恢复,以及弹塑所有需要回弹的所述第二多个块,其中所述需要回弹的所述第一组多个块在所述第二多个块中的任一块之前被弹性恢复。
-
公开(公告)号:US08819304B2
公开(公告)日:2014-08-26
申请号:US14041882
申请日:2013-09-30
IPC分类号: G06F13/28 , G06F3/00 , G06F15/167
CPC分类号: G06F15/17331 , G06F3/0611 , G06F3/065 , G06F3/067 , G06F3/0688 , G06F9/505 , H04L29/08549
摘要: A system and method for clients, a control module, and storage modules to participate in a unifed address space in order to and read and write data efficiently using direct-memory access. The method for reading data includes determining a first location in a first memory to write a first copy of the data, a second location in a second memory to write a second copy of the data, where the first memory is located in a first storage module including a first persistent storage and the second memory is located in a second storage module including a second persistent storage. The method further includes programming a direct memory access engine to read the data from the client memory and issue a first write request to a multicast address, where the first location, the second location, and a third location are associated with the multicast address.
摘要翻译: 一种用于客户机,控制模块和存储模块的系统和方法,用于参与无源地址空间,以便使用直接存储器访问有效地读取和写入数据。 用于读取数据的方法包括确定第一存储器中的第一位置以写入数据的第一副本;第二存储器中的第二位置,以写入数据的第二副本,其中第一存储器位于第一存储模块 包括第一持久存储器,并且第二存储器位于包括第二持久存储器的第二存储模块中。 该方法还包括编程直接存储器访问引擎以从客户端存储器读取数据,并向多播地址发出第一写请求,其中第一位置,第二位置和第三位置与多播地址相关联。
-
公开(公告)号:US20130254435A1
公开(公告)日:2013-09-26
申请号:US13428705
申请日:2012-03-23
IPC分类号: G06F13/28
CPC分类号: G06F15/17331 , G06F3/0611 , G06F3/065 , G06F3/067 , G06F3/0688 , G06F9/505 , H04L29/08549
摘要: A system and method for clients, a control module, and storage modules to participate in a unified address space in order to and read and write data efficiently using direct-memory access. The method for reading data includes determining a first location in a first memory to write a first copy of the data, a second location in a second memory to write a second copy of the data, where the first memory is located in a first storage module including a first persistent storage and the second memory is located in a second storage module including a second persistent storage. The method further includes programming a direct memory access engine to read the data from client memory and issue a first write request to a multicast address, where the first location, the second location, and a third location are associated with the multicast address.
摘要翻译: 一种用于客户机,控制模块和存储模块的系统和方法,用于参与统一的地址空间,以便使用直接存储器访问有效地读取和写入数据。 用于读取数据的方法包括确定第一存储器中的第一位置以写入数据的第一副本;第二存储器中的第二位置,以写入数据的第二副本,其中第一存储器位于第一存储模块 包括第一持久存储器,并且第二存储器位于包括第二持久存储器的第二存储模块中。 该方法还包括编程直接存储器访问引擎以从客户端存储器读取数据并向多播地址发出第一写请求,其中第一位置,第二位置和第三位置与多播地址相关联。
-
-
-
-
-
-
-
-
-