Enhanced queue management
    1.
    发明授权
    Enhanced queue management 有权
    增强队列管理

    公开(公告)号:US09436634B2

    公开(公告)日:2016-09-06

    申请号:US14209028

    申请日:2014-03-13

    Abstract: A paired queue apparatus and method comprising request and response queues wherein queue head and tail pointer update values are communicated through an enhanced pointer word data format providing pointer indicator information and optional auxiliary information in a single transfer, wherein auxiliary information provides additional system communication without consuming additional bandwidth. Auxiliary information is optionally contained in a response data entry written to a response queue or in a request entry written to a request queue.

    Abstract translation: 一种配对队列装置和方法,包括请求和响应队列,其中队列头部和尾部指针更新值通过增强的指针字数据格式传送,所述增强的指针字数据格式在单个传送中提供指针指示符信息和可选的辅助信息,其中辅助信息提供附加的系统通信 附加带宽。 辅助信息可选地包含在写入响应队列或写入请求队列的请求条目中的响应数据条目中。

    Lock-free communication storage request reordering
    2.
    发明授权
    Lock-free communication storage request reordering 有权
    无锁通信存储请求重新排序

    公开(公告)号:US09423977B2

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

    申请号:US14199691

    申请日:2014-03-06

    CPC classification number: G06F3/0659 G06F3/0619 G06F3/0688

    Abstract: Lock-free communication storage request reordering enables reduced latency and/or increased bandwidth in some usage scenarios, such as a multi-threaded driver context operating with a device, such as a storage device (e.g. a Solid-State Disk (SSD)) enabled to respond to a multiplicity of outstanding requests.

    Abstract translation: 无锁通信存储请求重新排序能够在某些使用情况下降低延迟和/或增加的带宽,例如使用诸如存储设备(例如,固态硬盘(SSD))使能的设备操作的多线程驱动程序上下文 回应多项未决请求。

    Management of and region selection for writes to non-volatile memory
    3.
    发明授权
    Management of and region selection for writes to non-volatile memory 有权
    管理和区域选择写入非易失性存储器

    公开(公告)号:US09395924B2

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

    申请号:US14158827

    申请日:2014-01-19

    Abstract: Management of and region selection for writes to non-volatile memory of an SSD improves performance, reliability, unit cost, and/or development cost of an SSD. A controller receives and determines characteristics of writes (e.g. by analyzing the write data, the write data source, and/or by receiving a hint) and selects a region based on the determined characteristics and properties of regions of non-volatile memory. For example, a controller receives writes determined to be read-only data and selects regions of non-volatile memory containing cells that are likely to have write failures. By placing read-only data in write failure prone regions, the likelihood of an error is reduced, thus improving reliability. As another example, a controller receives writes hinted to be uncompressible and selects regions of non-volatile memory containing uncompressible data.

    Abstract translation: 用于写入SSD的非易失性存储器的管理和区域选择提高了SSD的性能,可靠性,单位成本和/或开发成本。 控制器接收并确定写入的特性(例如,通过分析写入数据,写入数据源和/或通过接收提示)并且基于所确定的非易失性存储器区域的特性和属性来选择区域。 例如,控制器接收被确定为只读数据的写入,并且选择包含可能具有写入故障的单元的非易失性存储器的区域。 通过将只读数据放置在写入故障易发区域中,错误的可能性降低,从而提高可靠性。 作为另一示例,控制器接收暗示为不可压缩的写入并且选择包含不可压缩数据的非易失性存储器的区域。

    Decoupled locking DMA architecture

    公开(公告)号:US10025735B2

    公开(公告)日:2018-07-17

    申请号:US14161290

    申请日:2014-01-22

    Abstract: A decoupled Direct Memory Access (DMA) architecture includes at least two DMA controllers, and optionally at least one of the DMA controllers is operable to assert a lock signal operable to selectively inhibit write access to at least a portion of one system data storage element. The DMA controllers are optionally operable to communicate pending task information and to reschedule pending tasks of at least one the DMA controllers. Optionally data is transferred from at least a first one of the DMA controllers to one or more function units, and processed data from the function units is provided to at least a second one of the DMA controllers. Optionally the DMA controllers and one or more memory elements accessible to the DMA controllers are implemented as part of an I/O device.

    Scalable data structures for control and management of non-volatile storage
    6.
    发明授权
    Scalable data structures for control and management of non-volatile storage 有权
    用于非易失性存储的控制和管理的可扩展数据结构

    公开(公告)号:US09189385B2

    公开(公告)日:2015-11-17

    申请号:US13652301

    申请日:2012-10-15

    Abstract: Scalable control/management data structures enable optimizing performance and/or attempting to achieve a particular performance target of an SSD in accordance with host interfacing, number of NVM devices, NVM characteristics and size, and NVM aging and performance decline. Pre-scaled data structures are included in SSD controller firmware loadable at system initialization. Static data structure configurations enable load-once-operate-for-product-lifetime operation for consumer applications. Dynamic configurations provide sequences of data structures pre-scaled to optimize operation as NVM ages and performance declines. Pre-configured adjustments in data structure size included in consecutive configurations periodically replace earlier configurations at least one time during product lifetime, producing a periodic rescaling of data structure size to track changes in aging NVM. Optionally, sizes of some data structures are decreased as NVM usage increases, enabling an increase in translation layer mapping structure sizes, reducing accesses to translation tables in NVM, and reducing write amplification.

    Abstract translation: 可扩展控制/管理数据结构可以根据主机接口,NVM设备数量,NVM特性和大小以及NVM老化和性能下降来优化性能和/或尝试实现SSD的特定性能目标。 预先规模的数据结构包含在SSD控制器固件中,可在系统初始化时加载。 静态数据结构配置可为消费者应用程序实现对产品生命周期的一次性操作。 动态配置提供了预缩放的数据结构序列,以优化操作,因为NVM的老化和性能下降。 包括在连续配置中的数据结构尺寸的预配置调整在产品寿命期间至少定期更新先前的配置,从而产生数据结构尺寸的周期性重新定标以跟踪老化NVM的变化。 可选地,一些数据结构的大小随着NVM使用量增加而减小,使翻译层映射结构大小增加,减少对NVM中的转换表的访问,并减少写入放大。

    Higher-level redundancy information computation
    7.
    发明授权
    Higher-level redundancy information computation 有权
    更高层次的冗余信息计算

    公开(公告)号:US09183140B2

    公开(公告)日:2015-11-10

    申请号:US14181252

    申请日:2014-02-14

    CPC classification number: G06F12/0246 G06F11/1044 G06F11/108 G06F11/2094

    Abstract: Higher-level redundancy information computation enables a Solid-State Disk (SSD) controller to provide higher-level redundancy capabilities to maintain reliable operation in a context of failures of non-volatile (e.g. flash) memory elements during operation of an SSD. A first portion of higher-level redundancy information is computed using parity coding via an XOR of all pages in a portion of data to be protected by the higher-level redundancy information. A second portion of the higher-level redundancy information is computed using a weighted-sum technique, each page in the portion being assigned a unique non-zero “index” as a weight when computing the weighted-sum. Arithmetic is performed over a finite field (such as a Galois Field). The portions of the higher-level redundancy information are computable in any order, such as an order based on order of read operation completion of non-volatile memory elements.

    Abstract translation: 高级冗余信息计算使得固态盘(SSD)控制器能够提供更高级别的冗余能力,以在SSD的运行期间在非易失性(例如闪存)存储器元件的故障的上下文中维持可靠的操作。 高级冗余信息的第一部分是使用奇偶校验编码来计算的,该奇偶编码经由待被较高级别冗余信息保护的数据的一部分中的所有页面的异或。 使用加权和技术来计算较高级冗余信息的第二部分,当计算加权和时,该部分中的每个页面被分配唯一的非零“索引”作为权重。 在有限域(例如伽罗瓦域)上执行算术。 高级冗余信息的部分可以以任何顺序计算,诸如基于非易失性存储器元件的读操作完成顺序的顺序。

    Scalable storage devices
    8.
    发明授权
    Scalable storage devices 有权
    可扩展存储设备

    公开(公告)号:US09116624B2

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

    申请号:US14197010

    申请日:2014-03-04

    Abstract: Techniques using scalable storage devices represent a plurality of host-accessible storage devices as a single logical interface, conceptually aggregating storage implemented by the devices. A primary agent of the devices accepts storage requests from the host using a host-interface protocol, processing the requests internally and/or forwarding the requests as sub-requests to secondary agents of the storage devices using a peer-to-peer protocol. The secondary agents accept and process the sub-requests, and report sub-status information for each of the sub-requests to the primary agent and/or the host. The primary agent optionally accumulates the sub-statuses into an overall status for providing to the host. Peer-to-peer communication between the agents is optionally used to communicate redundancy information during host accesses and/or failure recoveries. Various failure recovery techniques reallocate storage, reassign agents, recover data via redundancy information, or any combination thereof.

    Abstract translation: 使用可伸缩存储设备的技术将多个主机可访问存储设备表示为单个逻辑接口,在概念上聚合由设备实现的存储。 设备的主代理使用主机接口协议接收来自主机的存储请求,在内部处理请求和/或使用对等协议将请求作为子请求转发到存储设备的次要代理。 辅助代理接受和处理子请求,并将每个子请求的子状态信息报告给主代理和/或主机。 主代理可选地将子状态累加到提供给主机的总体状态。 代理之间的对等通信可选地用于在主机访问和/或故障恢复期间传送冗余信息。 各种故障恢复技术重新分配存储,重新分配代理,通过冗余信息恢复数据,或其任何组合。

Patent Agency Ranking