-
公开(公告)号:US09042181B2
公开(公告)日:2015-05-26
申请号:US13837818
申请日:2013-03-15
Applicant: Fusion-io, Inc.
Inventor: David Flynn , Hairong Sun , Jea Woong Hyun , Robert Wood
CPC classification number: G11C16/14 , G11C16/3445 , G11C16/3495
Abstract: An apparatus, system, and method are disclosed for managing erase operations for a data storage medium. A method includes determining whether a use threshold for one or more non-volatile storage cells is satisfied. A method includes performing a default erase operation for the one or more storage cells in response to determining that the use threshold is not satisfied. A method includes performing an extended erase operation for the one or more storage cells in response to determining that the use threshold is satisfied. An extended erase operation may include a greater number of erase pulse iterations than a default erase operation.
Abstract translation: 公开了一种用于管理数据存储介质的擦除操作的装置,系统和方法。 一种方法包括确定是否满足一个或多个非易失性存储单元的使用阈值。 一种方法包括响应于确定不满足使用阈值,对一个或多个存储单元执行默认擦除操作。 响应于确定满足使用阈值,对一个或多个存储单元执行扩展擦除操作的方法。 扩展擦除操作可以包括比默认擦除操作更多的擦除脉冲迭代次数。
-
公开(公告)号:US20140351526A1
公开(公告)日:2014-11-27
申请号:US14254525
申请日:2014-04-16
Applicant: Fusion-io, Inc.
Inventor: James G. Peterson
CPC classification number: G06F13/287 , G06F13/1652 , G06F13/1684 , G06F21/79 , G06F21/85 , G06F2221/2107 , G06F2221/2143
Abstract: Techniques are disclosed relating to processing data in a storage controller. In one embodiment, a method includes receiving data at a storage controller of a storage device. The method further includes processing data units of the data in parallel via a plurality of write pipelines in the storage controller. The method further includes writing the data units to a storage medium of the storage device. In some embodiments, the method may include inserting header information into the data for a plurality of data units before processing, and the header information may include sequence information. In some embodiments, writing the data units may include writing according to a sequence determined prior to processing the data units.
Abstract translation: 公开了关于在存储控制器中处理数据的技术。 在一个实施例中,一种方法包括在存储设备的存储控制器处接收数据。 该方法还包括经由存储控制器中的多个写入管线并行处理数据的数据单元。 该方法还包括将数据单元写入存储设备的存储介质。 在一些实施例中,该方法可以包括在处理之前将头信息插入到多个数据单元的数据中,并且头信息可以包括序列信息。 在一些实施例中,写入数据单元可以包括根据处理数据单元之前确定的序列进行写入。
-
公开(公告)号:US20140344488A1
公开(公告)日:2014-11-20
申请号:US14018172
申请日:2013-09-04
Applicant: Fusion-io, Inc.
Inventor: David Flynn , Robert Wipfel
IPC: G06F5/14
CPC classification number: G06F5/14 , G06F13/00 , G06F13/1673
Abstract: Apparatuses, systems, and methods are disclosed for a virtual channel for data transfers between devices. A method includes presenting an address space for a memory buffer. The address space may be larger than a physical capacity of the memory buffer. A method includes controlling, from a peripheral device, a rate at which a data source transfers data to a memory buffer using a presented address space based on a rate at which a data target transfers data from the memory buffer using the presented address space so that an amount of data stored in the memory buffer remains at or below a physical capacity of the memory buffer.
Abstract translation: 公开了用于设备之间的数据传输的虚拟通道的装置,系统和方法。 一种方法包括呈现存储器缓冲器的地址空间。 地址空间可能大于存储器缓冲器的物理容量。 一种方法包括从外围设备控制数据源使用所呈现的地址空间将数据传送到存储器缓冲器的速率,所述速率基于数据目标使用所呈现的地址空间从存储器缓冲器传送数据的速率,使得 存储在存储器缓冲器中的数据量保持在或低于存储器缓冲器的物理容量。
-
公开(公告)号:US20140337562A1
公开(公告)日:2014-11-13
申请号:US14273533
申请日:2014-05-08
Applicant: Fusion-io, Inc.
Inventor: Kelly E. Long , Sebastian P. Sobolewski , Paul A. Ashmore
CPC classification number: G06F12/0804 , G06F3/0608 , G06F3/0619 , G06F3/064 , G06F3/065 , G06F3/0659 , G06F3/067 , G06F3/0679 , G06F3/0685 , G06F11/201 , G06F11/2074 , G06F11/3034 , G06F11/3419 , G06F11/3485 , G06F12/0815 , G06F2201/84 , G06F2201/855 , G06F2212/1024 , G06F2212/1032 , G06F2212/608
Abstract: Apparatuses, systems, methods, and computer program products are disclosed for managing a journal. A method may include reordering storage commands based on different storage volumes associated with the storage commands. A method may include reordering storage commands based on different snapshots associated with the storage commands. A method may include adjusting a frequency of writing data from a write buffer based on a rate of write requests. A method may include adjusting a ratio of storage capacity for storing mirrored write data to storage capacity for storing non-mirrored read data.
Abstract translation: 公开了用于管理日志的装置,系统,方法和计算机程序产品。 方法可以包括基于与存储命令相关联的不同存储卷重新排序存储命令。 一种方法可以包括基于与存储命令相关联的不同快照重新排序存储命令。 方法可以包括基于写入请求的速率来调整从写入缓冲器写入数据的频率。 方法可以包括调整用于存储镜像写入数据的存储容量与存储非镜像读取数据的存储容量的比率。
-
公开(公告)号:US20140325115A1
公开(公告)日:2014-10-30
申请号:US13945139
申请日:2013-07-18
Applicant: Fusion-io, Inc.
Inventor: Bharath Ramsundar , Nisha Talagala , Swaminathan Sundararaman
CPC classification number: G06F12/0238 , G06F3/0611 , G06F3/0656 , G06F3/0688 , G06F2212/7201
Abstract: Apparatuses, systems, methods, and computer program products are disclosed for conditional iteration. A method includes receiving a request comprising a condition. A method includes checking an address mapping structure for entries satisfying a condition for a request. A method includes providing a result for a request based on one or more entries satisfying a condition for a request.
Abstract translation: 公开了用于条件迭代的装置,系统,方法和计算机程序产品。 一种方法包括接收包括条件的请求。 一种方法包括检查满足请求条件的条目的地址映射结构。 一种方法包括基于满足请求条件的一个或多个条目提供请求的结果。
-
96.
公开(公告)号:US20140310499A1
公开(公告)日:2014-10-16
申请号:US14253645
申请日:2014-04-15
Applicant: Fusion-io, Inc.
Inventor: Swaminathan Sundararaman , Nisha Talagala , Sriram Subramanian
IPC: G06F12/10
CPC classification number: G06F12/109 , G06F12/0269 , G06F17/30348 , G06F2212/657
Abstract: A data services module performs log storage operations in response to requests by storing data on one or more storage devices, and appending information pertaining to the requests to a separate metadata log. A log order of the metadata log may correspond to an order in which the requests were received, regardless of the order in which data of the requests are written to the storage devices. The requests may correspond to identifiers of a logical address space. The data services module implements an any-to-any translation layer configured to map identifiers of the logical address space to the stored data. The virtualization module may include a metadata management module configured to checkpoint the translation layer metadata by, inter alia, appending aggregate, checkpoint entries to the metadata log. The data services module may leverage the translation layer between the logical identifiers and underlying storage locations to efficiently implement logical manipulation operations.
Abstract translation: 数据服务模块通过在一个或多个存储设备上存储数据并且将与请求相关的信息附加到单独的元数据日志来响应于请求来执行日志存储操作。 元数据日志的日志顺序可以对应于接收请求的顺序,而不管将请求的数据写入存储设备的顺序如何。 请求可以对应于逻辑地址空间的标识符。 数据服务模块实现任意到任何翻译层,其被配置为将逻辑地址空间的标识符映射到所存储的数据。 虚拟化模块可以包括元数据管理模块,该元数据管理模块被配置为通过将聚合的检查点条目附加到元数据日志来检查点翻译层元数据。 数据服务模块可以利用逻辑标识符和底层存储位置之间的转换层来有效地实现逻辑操作操作。
-
公开(公告)号:US08854882B2
公开(公告)日:2014-10-07
申请号:US14067323
申请日:2013-10-30
Applicant: Fusion-io, Inc.
Inventor: John Strasser , David Flynn , Jeremy Fillingim , Robert Wood
IPC: G11C11/34 , G06F12/02 , G11C29/50 , G11C16/28 , G11C29/02 , G11C29/42 , G11C16/34 , G11C16/26 , G11C11/56 , G06F11/10 , G11C29/04 , G11C16/00
CPC classification number: G11C16/3495 , G06F11/1048 , G06F11/1068 , G06F12/0246 , G11C11/56 , G11C11/5642 , G11C16/00 , G11C16/26 , G11C16/28 , G11C16/3418 , G11C16/349 , G11C29/02 , G11C29/026 , G11C29/028 , G11C29/42 , G11C29/50016 , G11C2029/0409
Abstract: Apparatuses, systems, methods, and computer program products are disclosed for configuring storage cells. A method includes detecting a shift in a read voltage level past a read voltage threshold for a set of memory cells of a non-volatile memory medium. A method includes adjusting a read voltage threshold for the set of memory cells by an amount based at least in part on one or more characteristics of the set of memory cells in response to the shift in the read voltage level. A method includes configuring the set of memory cells to use the adjusted read voltage threshold.
Abstract translation: 公开了用于配置存储单元的装置,系统,方法和计算机程序产品。 一种方法包括检测超过非易失性存储介质的一组存储单元的读取电压阈值的读取电压电平的偏移。 一种方法包括响应于读取电压电平的移位,至少部分地基于该组存储器单元的一个或多个特性来调整该组存储器单元的读取电压阈值。 一种方法包括配置存储器单元组以使用经调整的读取电压阈值。
-
公开(公告)号:US20140281333A1
公开(公告)日:2014-09-18
申请号:US13831392
申请日:2013-03-14
Applicant: FUSION-IO, INC.
Inventor: James G. Peterson , Igor Sharovar , David Atkisson
IPC: G06F12/10
CPC classification number: G06F12/1009 , G06F12/0638 , G06F2212/1004 , G06F2212/2022
Abstract: Techniques are disclosed relating to storing translations in memory that are usable to access data on a recording medium. In one embodiment, a request is sent for a memory allocation within a non-pageable portion of a memory in a computer system. Responsive to the request, allocated memory is received. Translations usable to map logical addresses to physical addresses within a storage device are stored within the allocated memory. In some embodiments, the translations are usable to access an area within the storage device used to store pages evicted from the memory. In one embodiment, a size of the memory allocation is determined based on a size of the area. In another embodiment, a size of the memory allocation is determined based on a size of a partition including the area. In some embodiments, the storage device is a solid-state storage array.
Abstract translation: 公开了关于在可用于访问记录介质上的数据的存储器中存储翻译的技术。 在一个实施例中,发送请求以在计算机系统中的存储器的非可浏览部分内进行存储器分配。 响应请求,收到分配的内存。 可用于将逻辑地址映射到存储设备中的物理地址的翻译存储在分配的内存中。 在一些实施例中,翻译可用于访问用于存储从存储器中移出的页面的存储设备内的区域。 在一个实施例中,基于区域的大小来确定存储器分配的大小。 在另一个实施例中,基于包括该区域的分区的大小来确定存储器分配的大小。 在一些实施例中,存储设备是固态存储阵列。
-
公开(公告)号:US20140281131A1
公开(公告)日:2014-09-18
申请号:US13837210
申请日:2013-03-15
Applicant: FUSION-IO, INC.
Inventor: Vikram Joshi , Yang Luan , Michael F. Brown , Bhavesh Mehta
CPC classification number: G06F12/0868 , G06F12/0804 , G06F12/0871 , G06F2212/313 , G06F2212/466
Abstract: A cache log module stores an ordered log of cache storage operations sequentially within the physical address space of a non-volatile storage device. The log may be divided into segments, each comprising a set of log entries. Data admitted into the cache may be associated with respective log segments. Cache data may be associated with the log segment that corresponds to the cache storage operation in which the cache data was written into the cache. The backing store of the data may be synchronized to a particular log segment by identifying the cache data pertaining to the segment (using the associations), and writing the identified data to the backing store. Data lost from the cache may be recovered from the log by, inter alia, committing entries in the log after the last synchronization time of the backing store.
Abstract translation: 缓存日志模块将高速缓存存储操作的有序日志顺序地存储在非易失性存储设备的物理地址空间内。 日志可以被划分成段,每个段包括一组日志条目。 缓存中的数据可能与相应的日志段相关联。 缓存数据可以与对应于缓存数据被写入高速缓存的高速缓存存储操作的日志段相关联。 数据的后备存储可以通过识别与段相关的高速缓存数据(使用关联)来同步到特定的日志段,并将识别的数据写入后备存储。 从缓存中丢失的数据可以从日志中恢复,尤其是在后备存储的最后同步时间之后提交日志中的条目。
-
公开(公告)号:US20140279941A1
公开(公告)日:2014-09-18
申请号:US13840418
申请日:2013-03-15
Applicant: FUSION-IO, INC.
Inventor: David Atkisson
IPC: G06F17/30
CPC classification number: G06F17/30371
Abstract: Apparatuses, systems, and methods are disclosed for managing multiple sets of metadata. A method includes maintaining a first set of metadata on a volatile recording medium and a second set of metadata on a non-volatile recording medium. The first and second sets of metadata are associated with one or more logical addresses for data stored on the non-volatile recording medium. The first and second sets of metadata relate to a state of the data. A method includes updating the second set of metadata in response to a first operation performed on the data. The second set may be updated based on the first operation. A method includes updating the first set of metadata in response to a subsequent operation performed on the data. The first set may be updated based on the first operation.
Abstract translation: 公开了用于管理多组元数据的装置,系统和方法。 一种方法包括在易失性记录介质上维护第一组元数据和在非易失性记录介质上维护第二组元数据。 第一和第二组元数据与存储在非易失性记录介质上的数据的一个或多个逻辑地址相关联。 第一和第二组元数据涉及数据的状态。 一种方法包括响应于对数据执行的第一操作来更新第二组元数据。 可以基于第一操作更新第二组。 方法包括响应于对数据执行的后续操作来更新第一组元数据。 可以基于第一操作来更新第一组。
-
-
-
-
-
-
-
-
-