Apparatus, System, and Method for Coordinating Storage Requests in a Multi-Processor/Multi-Thread Environment
    21.
    发明申请
    Apparatus, System, and Method for Coordinating Storage Requests in a Multi-Processor/Multi-Thread Environment 有权
    用于在多处理器/多线程环境中协调存储请求的装置,系统和方法

    公开(公告)号:US20110029496A1

    公开(公告)日:2011-02-03

    申请号:US12900336

    申请日:2010-10-07

    IPC分类号: G06F17/00

    摘要: An apparatus, system, and method are disclosed for coordinating storage requests in a multi-processor/multi-thread environment. An append/invalidate module generates a first append data storage command from a first storage request and a second append data storage command from a second storage request. The storage requests overwrite existing data with first and second data including where the first and second data have at least a portion of overlapping data. The second storage request is received after the first storage request. The append/invalidate module updates an index by marking data being overwritten as invalid. A restructure module updates the index based on the first data and updates the index based on the second data. The updated index is organized to indicate that the second data is more current than the first data regardless of processing order. The modules prevent access to the index until the modules have completed updating the index.

    摘要翻译: 公开了用于协调多处理器/多线程环境中的存储请求的装置,系统和方法。 附加/无效模块从第一存储请求生成第一附加数据存储命令,并从第二存储请求生成第二附加数据存储命令。 存储请求用第一和第二数据覆盖现有数据,包括第一和第二数据具有至少一部分重叠数据的位置。 在第一存储请求之后接收第二存储请求。 append / invalidate模块通过标记被覆盖为无效的数据来更新索引。 重组模块基于第一数据更新索引,并基于第二数据更新索引。 更新的索引被组织以指示第二数据比第一数据更新,而不管处理顺序如何。 模块阻止访问索引,直到模块完成更新索引。

    APPARATUS, SYSTEM, AND METHOD FOR USING MULTI-LEVEL CELL SOLID-STATE STORAGE AS SINGLE-LEVEL CELL SOLID-STATE STORAGE
    22.
    发明申请
    APPARATUS, SYSTEM, AND METHOD FOR USING MULTI-LEVEL CELL SOLID-STATE STORAGE AS SINGLE-LEVEL CELL SOLID-STATE STORAGE 有权
    使用多级单元固态存储作为单层电池固态存储的装置,系统和方法

    公开(公告)号:US20100235715A1

    公开(公告)日:2010-09-16

    申请号:US12724401

    申请日:2010-03-15

    摘要: An apparatus, system, and method are disclosed for storing information in a storage device that includes multi-level memory cells. The method involves storing data that is written to the storage device in the LSBs of the multi-level memory cells, and storing audit data in the MSBs of the multi-level memory cells. The audit data can be read separately from the data and used to determine whether or not there has been any unintended drift between states in the multi-level cells. The audit data may be used to correct data when the errors in the data are too numerous to be corrected using error correction code (ECC). The audit data may also be used to monitor the general health of the storage device. The monitoring process may run as a background process on the storage device. The storage device may transition the multi-level memory cells to operate as single-level memory cells.

    摘要翻译: 公开了用于将信息存储在包括多级存储器单元的存储设备中的装置,系统和方法。 该方法包括存储在多级存储器单元的LSB中写入存储装置的数据,并将审计数据存储在多级存储单元的MSB中。 审计数据可以与数据分开读取,用于确定多级单元中状态之间是否有任何意外的漂移。 当数据中的错误太多而不能使用纠错码(ECC)校正时,审计数据可用于校正数据。 审计数据也可以用于监视存储设备的总体健康状况。 监视过程可以作为存储设备上的后台进程运行。 存储设备可以转换多级存储器单元以作为单级存储器单元操作。

    APPARATUS, SYSTEM, AND METHOD FOR BAD BLOCK REMAPPING
    23.
    发明申请
    APPARATUS, SYSTEM, AND METHOD FOR BAD BLOCK REMAPPING 有权
    装置,系统和方法用于边框重新取代

    公开(公告)号:US20090282301A1

    公开(公告)日:2009-11-12

    申请号:US12419223

    申请日:2009-04-06

    IPC分类号: H03M13/05 G06F11/22 G06F11/07

    摘要: An apparatus, system, and method are disclosed for bad block remapping. A bad block identifier module identifies one or more data blocks on a solid-state storage element as bad blocks. A log update module writes at least a location of each bad block identified by the bad block identifier module into each of two or more redundant bad block logs. A bad block mapping module accesses at least one bad block log during a start-up operation to create in memory a bad block map. The bad block map includes a mapping between the bad block locations in the bad block log and a corresponding location of a replacement block for each bad block location. Data is stored in each replacement block instead of the corresponding bad block. The bad block mapping module creates the bad block map using one of a replacement block location and a bad block mapping algorithm.

    摘要翻译: 公开了用于坏块重映射的装置,系统和方法。 坏块标识符模块将固态存储元件上的一个或多个数据块识别为坏块。 日志更新模块至少将由坏块标识符模块标识的每个坏块的位置写入两个或更多个冗余坏块日志中的每一个。 坏块映射模块在启动操作期间访问至少一个坏块日志,以在存储器中创建坏块映射。 坏块映射包括坏块日志中的坏块位置与每个坏块位置的替换块的对应位置之间的映射。 数据存储在每个替换块而不是相应的坏块中。 坏块映射模块使用替换块位置和坏块映射算法之一来创建坏块映射。

    Apparatus, system, and method for a storage layer
    25.
    发明授权
    Apparatus, system, and method for a storage layer 有权
    用于存储层的装置,系统和方法

    公开(公告)号:US09122579B2

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

    申请号:US12986117

    申请日:2011-01-06

    IPC分类号: G06F12/00 G06F12/02

    摘要: A storage layer for a non-volatile storage device presents a large, logical address space having a logical capacity that may exceed the storage capacity of the non-volatile storage device. The storage layer implements persistent storage operations within the logical address space; storage operations performed within the logical address space may be persisted on the non-volatile storage device. The storage layer maintains storage metadata to allocate ranges of the logical address space to storage entities. The storage layer provides for allocation of contiguous logical address ranges, which may be implemented by segmenting logical identifiers into a first portion referencing storage entities, and a second portion referencing storage entity offsets. The storage layer persists data on the non-volatile storage device in a sequential, log-based format. Accordingly, storage clients, such as file systems, databases, and other applications, may delegate logical allocations, physical storage bindings, and/or crash-recovery to the storage layer.

    摘要翻译: 用于非易失性存储设备的存储层呈现具有可能超过非易失性存储设备的存储容量的逻辑容量的大的逻辑地址空间。 存储层在逻辑地址空间内实现持久存储操作; 在逻辑地址空间内执行的存储操作可以被持续在非易失性存储设备上。 存储层维护存储元数据以将逻辑地址空间的范围分配给存储实体。 存储层提供连续逻辑地址范围的分配,其可以通过将逻辑标识符分割成引用存储实体的第一部分和引用存储实体偏移的第二部分来实现。 存储层以顺序的基于日志的格式在非易失性存储设备上持久存储数据。 因此,存储客户端(如文件系统,数据库和其他应用程序)可以将逻辑分配,物理存储绑定和/或崩溃恢复委托给存储层。

    Apparatus, system, and method for retiring storage regions
    26.
    发明授权
    Apparatus, system, and method for retiring storage regions 有权
    用于退出存储区域的设备,系统和方法

    公开(公告)号:US08516343B2

    公开(公告)日:2013-08-20

    申请号:US12616124

    申请日:2009-11-10

    IPC分类号: G11C29/00

    摘要: Apparatuses, systems, and methods are disclosed for retiring storage regions. A determination module (a) determines that data stored in an Error Correcting Code (“ECC”) chunk contains ECC correctable errors, and (b) determines a bit error count for the ECC chunk. The ECC chunk is read from non-volatile solid-state storage media. A threshold module determines if the bit error count satisfies an ECC chunk error threshold. A storage region error module determines if a storage region that contains at least a portion of the ECC chunk satisfies region retirement criteria. The storage region may include a first portion on a first solid-state storage die and a second portion on a second solid-state storage die. A retirement module retires the storage region, including the first portion and the second portion in parallel, in response to the storage region containing at least a portion of the ECC chunk and satisfying the region retirement criteria.

    摘要翻译: 公开了退出存储区域的装置,系统和方法。 确定模块(a)确定存储在纠错码(“ECC”)块中的数据包含ECC可校正错误,以及(b)确定ECC块的位错误计数。 从非易失性固态存储介质中读取ECC块。 阈值模块确定位错误计数是否满足ECC块错误阈值。 存储区域错误模块确定包含ECC块的至少一部分的存储区域是否满足区域退出标准。 存储区域可以包括第一固态存储管芯上的第一部分和第二固态存储管芯上的第二部分。 响应于包含ECC块的至少一部分并且满足区域退休标准的存储区域,退休模块退出包括并行的第一部分和第二部分的存储区域。

    Apparatus, system, and method for managing data storage
    27.
    发明授权
    Apparatus, system, and method for managing data storage 失效
    用于管理数据存储的设备,系统和方法

    公开(公告)号:US08412978B2

    公开(公告)日:2013-04-02

    申请号:US13466845

    申请日:2012-05-08

    IPC分类号: G06F11/00

    摘要: An apparatus, system, and method are disclosed for managing data storage. The method includes determining that an error correcting code (ECC) block comprises uncorrectable errors. The ECC block is stored across a plurality of memory devices. The method includes iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block. The method includes providing corrected data from the correctable one of the substitute ECC blocks.

    摘要翻译: 公开了一种用于管理数据存储的装置,系统和方法。 该方法包括确定纠错码(ECC)块包括不可校正的错误。 ECC块被存储在多个存储器件上。 所述方法包括在所述ECC块的数据内迭代地替换所述多个存储器件中的各个存储器件的替换数据,以形成替代ECC块,直到所述替代ECC块之一使用所述ECC块的纠错码可校正为止。 该方法包括从可修复的替代ECC块中提供校正数据。

    APPARATUS, SYSTEM, AND METHOD FOR VALIDATING THAT A CORRECT DATA SEGMENT IS READ FROM A DATA STORAGE DEVICE
    29.
    发明申请
    APPARATUS, SYSTEM, AND METHOD FOR VALIDATING THAT A CORRECT DATA SEGMENT IS READ FROM A DATA STORAGE DEVICE 有权
    用于确认从数据存储设备读取正确的数据段的装置,系统和方法

    公开(公告)号:US20120203980A1

    公开(公告)日:2012-08-09

    申请号:US13442638

    申请日:2012-04-09

    IPC分类号: G06F12/00

    CPC分类号: G06F17/30949

    摘要: An apparatus, system, and method are disclosed for validating that correct data is read from a storage device. A read request receiver module receives a read storage request to read a data segment of a file or object stored on a data storage device. The storage request includes one or more source parameters for the data segment. The source parameters include one or more virtual addresses that identify the data segment. A hash generation module generates one or more hash values from the virtual addresses. A read data module reads the requested data segment and returns one or more data packets and corresponding stored hash values stored with the data packets. The stored hash values were generated from a data segment written to the data storage device that contains data of the data packets. A hash check module verifies that the generated hash values match the respective stored hash values.

    摘要翻译: 公开了用于验证从存储设备读取正确数据的装置,系统和方法。 读取请求接收器模块接收读取存储请求以读取存储在数据存储设备上的文件或对象的数据段。 存储请求包括数据段的一个或多个源参数。 源参数包括标识数据段的一个或多个虚拟地址。 哈希生成模块从虚拟地址生成一个或多个哈希值。 读取数据模块读取所请求的数据段并返回与数据分组一起存储的一个或多个数据分组和对应的存储的哈希值。 存储的散列值是从写入包含数据包数据的数据存储设备的数据段生成的。 散列检查模块验证所生成的散列值是否与相应存储的散列值相匹配。