Techniques for opportunistic data storage
    41.
    发明授权
    Techniques for opportunistic data storage 有权
    机会数据存储技术

    公开(公告)号:US09489293B2

    公开(公告)日:2016-11-08

    申请号:US13970317

    申请日:2013-08-19

    Applicant: NETAPP, INC.

    Abstract: Techniques for opportunistic data storage are described. In one embodiment, for example, an apparatus may comprise a data storage device and a storage management module, and the storage management module may be operative to receive a request to store a set of data in the data storage device, the request indicating that the set of data is to be stored with opportunistic retention, the storage management module to select, based on allocation information, storage locations of the data storage device for opportunistic storage of the set of data and write the set of data to the selected storage locations. Other embodiments are described and claimed.

    Abstract translation: 描述了用于机会数据存储的技术。 在一个实施例中,例如,设备可以包括数据存储设备和存储管理模块,并且存储管理模块可以操作以接收在数据存储设备中存储一组数据的请求,该请求指示 存储管理模块基于分配信息来选择数据存储设备的存储位置,用于机会存储该组数据,并将该组数据写入所选择的存储位置。 描述和要求保护其他实施例。

    CACHE AFFINITY AND PROCESSOR UTILIZATION TECHNIQUE
    42.
    发明申请
    CACHE AFFINITY AND PROCESSOR UTILIZATION TECHNIQUE 有权
    缓存优化和处理器利用技术

    公开(公告)号:US20160246655A1

    公开(公告)日:2016-08-25

    申请号:US15051947

    申请日:2016-02-24

    Applicant: NetApp, Inc.

    Abstract: A cache affinity and processor utilization technique efficiently load balances work in a storage input/output (I/O) stack among a plurality of processors and associated processor cores of a node. The storage I/O stack employs one or more non-blocking messaging kernel (MK) threads that execute non-blocking message handlers (i.e., non-blocking services). The technique load balances work between the processor cores sharing a last level cache (LLC) (i.e., intra-LLC processor load balancing), and load balances work between the processors having separate LLCs (i.e., inter-LLC processor load balancing). The technique may allocate a predetermined number of logical processors for use by an MK scheduler to schedule the non-blocking services within the storage I/O stack, as well as allocate a remaining number of logical processors for use by blocking services, e.g., scheduled by an operating system kernel scheduler.

    Abstract translation: 高速缓存关联性和处理器利用技术有效地将工作负载在节点的多个处理器和相关联的处理器核心之间的存储输入/输出(I / O)堆栈中。 存储I / O堆栈采用执行非阻塞消息处理程序(即非阻塞服务)的一个或多个非阻塞消息传递内核(MK)线程。 技术负载平衡在共享最后一级高速缓存(LLC)的处理器内核(即LLC内部处理器负载平衡)之间工作,负载平衡在具有单独的LLC(即LLC间处理器负载平衡)的处理器之间工作。 该技术可以分配预定数量的由MK调度器使用的逻辑处理器来调度存储I / O堆栈内的非阻塞服务,以及分配剩余数量的逻辑处理器以供阻止服务使用,例如调度 由操作系统内核调度程序。

    EXACTLY ONCE SEMANTICS
    43.
    发明申请
    EXACTLY ONCE SEMANTICS 审中-公开
    完整的语义

    公开(公告)号:US20160246522A1

    公开(公告)日:2016-08-25

    申请号:US14631408

    申请日:2015-02-25

    Applicant: NetApp, Inc.

    Abstract: An exactly once semantics (EOS) system of a storage input/output (I/O) stack implements a technique ensuring that non-idempotent operations occur exactly once in a storage system embodied as a node of a cluster. Illustratively, a first layer of the storage I/O stack may act as a client issuing a non-idempotent operation to second layer of the stack, which may act as a server. According to the technique, the EOS system may wrap (i.e., encapsulate) the non-idempotent operation within a transaction embodied as an EOS transaction data structure having a transaction identifier that uniquely identifies the transaction. The server may complete the transaction and reply with a result to the client, which may acknowledge receipt of the reply. In response to a crash and subsequent recovery of the node, the EOS system may determine whether the transaction had completed prior to the crash. If so, the EOS system ensures that the transaction is not re-played (re-executed). Otherwise, the EOS system allows execution of the transaction such that the transaction occurs exactly once.

    Abstract translation: 一个存储输入/输出(I / O)堆栈的完全一次语义(EOS)系统实现了一种技术,确保非特权操作在体现为集群节点的存储系统中发生一次。 示例性地,存储I / O堆栈的第一层可以充当向堆叠的第二层发出非幂等操作的客户端,其可以充当服务器。 根据该技术,EOS系统可以将具有具有唯一地识别交易的事务标识符的EOS事务数据结构体现的事务中的非幂等操作包裹(即封装)。 服务器可以完成交易并将结果回复给客户端,这可以确认收到回复。 响应于节点的崩溃和随后的恢复,EOS系统可以确定事务在崩溃之前是否已经完成。 如果是这样,EOS系统确保事务不被重新播放(重新执行)。 否则,EOS系统允许执行事务,使得事务正好发生一次。

    Extent hashing technique for distributed storage architecture
    44.
    发明授权
    Extent hashing technique for distributed storage architecture 有权
    分散式存储架构的扩展散列技术

    公开(公告)号:US09405783B2

    公开(公告)日:2016-08-02

    申请号:US14044624

    申请日:2013-10-02

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, a technique is provided for distributing data and associated metadata within a distributed storage architecture. A set of hash tables that embody mappings of cluster-wide identifiers associated with storage locations are stored for write data of write requests organized into extents. A hash value is generated from a hash function applied to each extent. The hash value is overloaded and used for multiple purposes within the distributed storage architecture, including (i) a remainder computation on the hash value to select a bucket of a plurality of buckets representative of the extents, (ii) a hash table selector of the hash value to select a hash table from the set of hash tables, and (iii) a hash table index computed from the hash value to select an entry from a plurality of entries of the selected hash table having a cluster-wide identifier identifying a storage location for the extent.

    Abstract translation: 在一个实施例中,提供了用于在分布式存储架构内分发数据和相关元数据的技术。 存储与存储位置相关联的集群范围标识符的映射的一组哈希表,用于组织到扩展区中的写入请求的写入数据。 从应用于每个区段的散列函数生成哈希值。 散列值被重载并用于分布式存储体系结构中的多个目的,包括(i)散列值的余数计算,以选择代表范围的多个存储桶的桶,(ii)哈希表选择器 散列值以从所述散列表集合中选择散列表,以及(iii)根据所述散列值计算的散列表索引,以从所选择的哈希表的多个条目中选择具有标识存储器的集群范围标识符的标识符 位置的程度。

    NVRAM caching and logging in a storage system
    45.
    发明授权
    NVRAM caching and logging in a storage system 有权
    NVRAM缓存并记录在存储系统中

    公开(公告)号:US09251064B2

    公开(公告)日:2016-02-02

    申请号:US14150302

    申请日:2014-01-08

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, a node coupled to one or more solid state drives (SSDs) executes a storage input/output (I/O) stack having a plurality of layers, including a persistence layer. The node includes a non-volatile random access memory (NVRAM). A portion of the NVRAM is configured as a write-back cache to store write data associated with one or more write requests. The persistence layer is configured to organize the write data into extents that are written back to the one or more SSDs in any order. The write data is preserved in the write-back cache until each extent is safely and successfully stored on the one or more SSDs in an event of a power loss.

    Abstract translation: 在一个实施例中,耦合到一个或多个固态驱动器(SSD)的节点执行具有包括持久层的多个层的存储输入/输出(I / O)堆栈。 节点包括非易失性随机存取存储器(NVRAM)。 NVRAM的一部分被配置为写回高速缓存以存储与一个或多个写入请求相关联的写入数据。 持久层被配置为将写入数据组织成以任何顺序写回到一个或多个SSD的盘区。 写入数据被保留在回写缓存中,直到在功率损失的情况下,在一个或多个SSD上安全且成功地存储每个盘区。

    NVRAM CACHING AND LOGGING IN A STORAGE SYSTEM
    46.
    发明申请
    NVRAM CACHING AND LOGGING IN A STORAGE SYSTEM 审中-公开
    NVRAM在存储系统中的缓存和记录

    公开(公告)号:US20160004637A1

    公开(公告)日:2016-01-07

    申请号:US14856268

    申请日:2015-09-16

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, a node coupled to solid state drives (SSDs) of a plurality of storage arrays executes a storage input/output (I/O) stack having a plurality of layers. The node includes a non-volatile random access memory (NVRAM). A first portion of the NVRAM is configured as a write-back cache to store write data associated with a write request and a second portion of the NVRAM is configured as one or more non-volatile logs (NVLogs) to record metadata associated with the write request. The write data is passed from the write-back cache over a first path of the storage I/O stack for storage on a first storage array and the metadata is passed from the one or more NVLogs over a second path of the storage I/O stack for storage on a second storage array, wherein the first path is different from the second path.

    Abstract translation: 在一个实施例中,耦合到多个存储阵列的固态驱动器(SSD)的节点执行具有多个层的存储输入/输出(I / O)堆栈。 节点包括非易失性随机存取存储器(NVRAM)。 NVRAM的第一部分被配置为写回高速缓存以存储与写入请求相关联的写入数据,并且NVRAM的第二部分被配置为一个或多个非易失性日志(NVLogs)以记录与写入相关联的元数据 请求。 写入数据通过存储I / O堆栈的第一路径从写回缓存传递,以存储在第一存储阵列上,并且元数据通过存储I / O的第二路径从一个或多个NVLogs传递 堆栈,用于存储在第二存储阵列上,其中第一路径不同于第二路径。

    SET-ASSOCIATIVE HASH TABLE ORGANIZATION FOR EFFICIENT STORAGE AND RETRIEVAL OF DATA IN A STORAGE SYSTEM
    47.
    发明申请
    SET-ASSOCIATIVE HASH TABLE ORGANIZATION FOR EFFICIENT STORAGE AND RETRIEVAL OF DATA IN A STORAGE SYSTEM 有权
    SET-ASSOCIATIVE HASH TABLE组织,用于存储系统中数据的有效存储和检索

    公开(公告)号:US20150205727A1

    公开(公告)日:2015-07-23

    申请号:US14158608

    申请日:2014-01-17

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, an extent key reconstruction technique is provided for use with a set of hash tables embodying metadata. The metadata includes an extent key associated with a storage location on storage devices for write data of one or more write requests organized into an extent. Each hash table has a plurality of entries, and each entry includes a plurality of slots. A first field of the extent key is recreated implicitly from an entry in a first address space portion of a hash table. A second field of the extent key is stored in the slot. A third field of the extent key is stored in the slot. A fourth field of the extent key is recreated implicitly from the hash table of the set of hash tables.

    Abstract translation: 在一个实施例中,提供了扩展密钥重建技术,用于与体现元数据的一组哈希表一起使用。 元数据包括与存储设备上的存储位置相关联的扩展密钥,用于组织成一个范围的一个或多个写入请求的写入数据。 每个散列表具有多个条目,并且每个条目包括多个时隙。 从哈希表的第一地址空间部分中的条目隐式地重建扩展密钥的第一字段。 扩展密钥的第二个字段存储在插槽中。 扩展密钥的第三个字段存储在插槽中。 扩展密钥的第四个字段是从哈希表集合的散列表中隐式重新创建的。

    EXTENT METADATA UPDATE LOGGING AND CHECKPOINTING
    48.
    发明申请
    EXTENT METADATA UPDATE LOGGING AND CHECKPOINTING 有权
    EXTENT METADATA UPDATE LOGGING和CHECKPOINTING

    公开(公告)号:US20150205680A1

    公开(公告)日:2015-07-23

    申请号:US14158689

    申请日:2014-01-17

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, a cluster uses an extent store layer and a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents. One or more non-volatile logs (NVLogs) are maintained in the cluster. The one or more NVLogs include an extent store layer log maintained by the extent store layer. The extent store layer log records changes to the set of hash tables as a plurality of log stream structures, where each log stream structure is associated with a hash table. One or more storage devices of the cluster are organized as a plurality of log streams, where each log stream is associated with a corresponding log stream structure of the extent store layer log.

    Abstract translation: 在一个实施例中,集群使用扩展存储层和具有多个时隙的散列表集合,该多个时隙体现了描述组织成一个或多个扩展区的一个或多个写入请求的写入数据的扩展元数据。 集群中维护一个或多个非易失性日志(NVLogs)。 一个或多个NVLogs包括由扩展存储层维护的扩展存储层日志。 扩展存储层日志将更改作为多个日志流结构记录到哈希表集合,其中每个日志流结构与散列表相关联。 集群的一个或多个存储设备被组织为多个日志流,其中每个日志流与扩展存储层日志的对应日志流结构相关联。

    NVRAM CACHING AND LOGGING IN A STORAGE SYSTEM
    49.
    发明申请
    NVRAM CACHING AND LOGGING IN A STORAGE SYSTEM 有权
    NVRAM在存储系统中的缓存和记录

    公开(公告)号:US20150193337A1

    公开(公告)日:2015-07-09

    申请号:US14150302

    申请日:2014-01-08

    Applicant: NetApp, Inc.

    Abstract: In one embodiment, a node coupled to one or more solid state drives (SSDs) executes a storage input/output (I/O) stack having a plurality of layers, including a persistence layer. The node includes a non-volatile random access memory (NVRAM). A portion of the NVRAM is configured as a write-back cache to store write data associated with one or more write requests. The persistence layer is configured to organize the write data into extents that are written back to the one or more SSDs in any order. The write data is preserved in the write-back cache until each extent is safely and successfully stored on the one or more SSDs in an event of a power loss.

    Abstract translation: 在一个实施例中,耦合到一个或多个固态驱动器(SSD)的节点执行具有包括持久层的多个层的存储输入/输出(I / O)堆栈。 节点包括非易失性随机存取存储器(NVRAM)。 NVRAM的一部分被配置为写回高速缓存以存储与一个或多个写入请求相关联的写入数据。 持久层被配置为将写入数据组织成以任何顺序写回到一个或多个SSD的盘区。 写入数据被保留在回写缓存中,直到在功率损失的情况下,在一个或多个SSD上安全且成功地存储每个盘区。

    Extent-based storage architecture
    50.
    发明授权
    Extent-based storage architecture 有权
    基于范围的存储架构

    公开(公告)号:US08924440B2

    公开(公告)日:2014-12-30

    申请号:US13968117

    申请日:2013-08-15

    Applicant: NetApp, Inc.

    Abstract: An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client.

    Abstract translation: 基于范围的存储架构由存储服务器实现,所述存储服务器从客户端接收对范围的读取请求,其中所述扩展区包括一组相邻块,并且所述读取请求包括文件块号。 存储服务器从第一排序数据结构检索区段标识符,其中存储服务器使用接收到的文件块号来遍历第一排序数据结构到区段标识符。 存储服务器从第二排序数据结构检索对范围的引用,其中存储服务器使用所检索的扩展名标识符遍历到引用的第二排序数据结构,并且其中第二排序数据结构在多个卷中是全局的 。 存储服务器使用引用从存储设备检索范围,并将该范围返回给客户端。

Patent Agency Ranking