System for using dynamic random access memory to reduce the effect of write amplification in flash memory

    公开(公告)号:US08489804B1

    公开(公告)日:2013-07-16

    申请号:US12870089

    申请日:2010-08-27

    申请人: Lau Nguyen Perry Neos

    发明人: Lau Nguyen Perry Neos

    IPC分类号: G06F12/00

    摘要: A system includes a selection module, a control module, an erasing module, and a read/write module. The selection module is configured to select X of Y memory blocks (i) based on fullness of the X memory blocks and (ii) in response to a write command, where X and Y are integers greater than or equal to 1. The Y memory blocks are located in first memory. The control module is configured to store first data from the X memory blocks in second memory. The erasing module is configured to erase the first data from the X memory blocks. The read/write module is configured to write second data to the X memory blocks based on the write command.

    摘要翻译: 系统包括选择模块,控制模块,擦除模块和读/写模块。 选择模块被配置为基于X存储器块的充满度来选择Y的Y个存储器块(i),以及(ii)响应于写入命令,其中X和Y是大于或等于1的整数.Y存储器 块位于第一个存储器中。 控制模块被配置为存储来自第二存储器中的X个存储器块的第一数据。 擦除模块被配置为从X存储器块中擦除第一数据。 读/写模块被配置为基于写命令向X存储器块写入第二数据。

    Solid state drive access control system with equalized access timing
    3.
    发明授权
    Solid state drive access control system with equalized access timing 有权
    具有均衡访问时机的固态硬盘访问控制系统

    公开(公告)号:US08407407B1

    公开(公告)日:2013-03-26

    申请号:US12883430

    申请日:2010-09-16

    IPC分类号: G06F13/12

    摘要: A drive control module of a solid-state drive (SSD) includes a first module that receives host commands from one of a host command buffer and a drive interface of the SSD, converts the host commands to stage commands, and determines whether to store the stage commands in a stage slot of a staging memory or leave the stage slot empty. A second module transfers data between a buffer and a flash memory based on the stage commands. The flash memory comprises flash arrays. A third module detects a first empty stage of one of the flash arrays and based on an empty stage timer value triggers at least one of an end of the first empty stage, a start of an at least partially full stage of the one of the flash arrays, or a start of a second empty stage of the one of the flash arrays.

    摘要翻译: 固态驱动器(SSD)的驱动器控制模块包括从主机命令缓冲器和SSD的驱动器接口之一接收主机命令的第一模块,将主机命令转换为阶段命令,并且确定是否存储 在阶段存储器的阶段槽中的阶段命令或将阶段槽留空。 第二个模块基于舞台命令在缓冲器和闪存之间传输数据。 闪存包括闪存阵列。 第三模块检测闪光阵列之一的第一空白阶段,并且基于空阶段定时器值触发第一空阶段的结束中的至少一个,闪光灯之一的至少部分完整级的开始 阵列或闪存阵列之一的第二空阶段的开始。

    Controller for reading data from non-volatile memory
    4.
    发明授权
    Controller for reading data from non-volatile memory 有权
    用于从非易失性存储器读取数据的控制器

    公开(公告)号:US08650438B2

    公开(公告)日:2014-02-11

    申请号:US12842714

    申请日:2010-07-23

    IPC分类号: G06F11/00

    摘要: The present disclosure includes systems and techniques relating to solid state drive controllers. In some implementations, a device includes a buffer that holds a block of data corresponding to a command from a host. The command identifies the block of data and a logical sequence in which the identified block of data is to be transmitted. In response to the command, a data retriever included in the device retrieves the portions of the block of data from non-volatile memory units in a retrieval sequence that is different from the logical sequence. When the device receives multiple commands identifying multiple blocks of data, the device services the commands in parallel by retrieving portions of blocks of data identified by both commands.

    摘要翻译: 本公开包括与固态驱动控制器有关的系统和技术。 在一些实现中,设备包括保存对应于来自主机的命令的数据块的缓冲器。 该命令识别数据块以及要发送所识别的数据块的逻辑序列。 响应于该命令,包含在该设备中的数据检索器以与逻辑序列不同的检索顺序从非易失性存储器单元检索数据块的部分。 当设备接收到识别多个数据块的多个命令时,设备通过检索由两个命令标识的数据块的部分来并行地服务命令。

    Solid-state drive command grouping
    5.
    发明授权
    Solid-state drive command grouping 失效
    固态驱动器命令分组

    公开(公告)号:US08543756B2

    公开(公告)日:2013-09-24

    申请号:US12694501

    申请日:2010-01-27

    IPC分类号: G06F12/00

    摘要: A method and other embodiments associated with solid-state drive command grouping are described. In one embodiment, a first command and a second command are grouped into a command pack, where the first command and the second command do not share a common channel for execution. A solid-state drive is controlled to execute the command pack on the solid-state drive, where executing the command pack causes the first command and the second command to execute concurrently on separate channels.

    摘要翻译: 描述了与固态驱动命令分组相关联的方法和其他实施例。 在一个实施例中,第一命令和第二命令被分组为命令包,其中第一命令和第二命令不共享用于执行的公共信道。 控制固态驱动器以在固态驱动器上执行命令包,其中执行命令包使得第一命令和第二命令在单独的通道上同时执行。

    METHOD FOR STORAGE DEVICES TO ACHIEVE LOW WRITE AMPLIFICATION WITH LOW OVER PROVISION
    6.
    发明申请
    METHOD FOR STORAGE DEVICES TO ACHIEVE LOW WRITE AMPLIFICATION WITH LOW OVER PROVISION 有权
    存储设备的方法,用于实现低写扩频功能

    公开(公告)号:US20120303873A1

    公开(公告)日:2012-11-29

    申请号:US13461899

    申请日:2012-05-02

    IPC分类号: G06F12/00

    摘要: A solid state drive (SSD) includes an SSD control module configured to determine frequencies corresponding to how often data stored in respective logical addresses associated with the SSD is updated and form groups of the logical addresses according to the frequencies, and a memory control module configured to rewrite the data to physical addresses in blocks of an SSD storage region based on the groups.

    摘要翻译: 固态驱动器(SSD)包括SSD控制模块,其被配置为确定对应于根据频率更新存储在与SSD相关联的相应逻辑地址中的数据的频率和形成逻辑地址组的频率,以及配置的存储器控​​制模块 基于组将数据重写到SSD存储区域的块中的物理地址。

    Controller For Reading Data From Non-Volatile Memory
    7.
    发明申请
    Controller For Reading Data From Non-Volatile Memory 有权
    用于从非易失性存储器读取数据的控制器

    公开(公告)号:US20110041007A1

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

    申请号:US12842714

    申请日:2010-07-23

    IPC分类号: G06F12/00 G06F11/14

    摘要: The present disclosure includes systems and techniques relating to solid state drive controllers. In some implementations, a device includes a buffer that holds a block of data corresponding to a command from a host. The command identifies the block of data and a logical sequence in which the identified block of data is to be transmitted. In response to the command, a data retriever included in the device retrieves the portions of the block of data from non-volatile memory units in a retrieval sequence that is different from the logical sequence. When the device receives multiple commands identifying multiple blocks of data, the device services the commands in parallel by retrieving portions of blocks of data identified by both commands.

    摘要翻译: 本公开包括与固态驱动控制器有关的系统和技术。 在一些实现中,设备包括保存对应于来自主机的命令的数据块的缓冲器。 该命令识别数据块以及要发送所识别的数据块的逻辑序列。 响应于该命令,包含在该设备中的数据检索器以与逻辑序列不同的检索顺序从非易失性存储器单元检索数据块的部分。 当设备接收到识别多个数据块的多个命令时,设备通过检索由两个命令标识的数据块的部分来并行地服务命令。

    Method and apparatus for determining, based on an error correction code, one or more locations to store data in a flash memory
    8.
    发明授权
    Method and apparatus for determining, based on an error correction code, one or more locations to store data in a flash memory 有权
    用于基于纠错码确定将数据存储在闪速存储器中的一个或多个位置的方法和装置

    公开(公告)号:US08549384B1

    公开(公告)日:2013-10-01

    申请号:US12822664

    申请日:2010-06-24

    IPC分类号: G11C29/00

    摘要: Apparatus having corresponding methods and computer-readable media comprise an encoder configured to provide encoded data according to an error correction code; a flash memory interface configured to write the encoded data to a location in flash memory, and to read the encoded data from the location in the flash memory; a decoder configured to decode the encoded data read from the location in the flash memory, and to indicate a number of resulting decode errors; and a retirement module configured to retire the location responsive to a number of resulting decode errors reaching an error threshold T.

    摘要翻译: 具有相应方法和计算机可读介质的装置包括:编码器,被配置为根据纠错码提供编码数据; 闪存接口,被配置为将编码数据写入闪速存储器中的位置,并从闪存中的位置读取编码数据; 解码器,被配置为对从闪速存储器中的位置读取的编码数据进行解码,并指示所得到的解码错误的数量; 以及退避模块,被配置为响应于到达错误阈值T的所得到的解码错误的数量而退出所述位置。

    Nonvolatile memory system
    9.
    发明授权
    Nonvolatile memory system 有权
    非易失性存储器系统

    公开(公告)号:US08219775B2

    公开(公告)日:2012-07-10

    申请号:US13230624

    申请日:2011-09-12

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    摘要: A memory system including a nonvolatile memory, and a memory control module. The nonvolatile memory includes a plurality of memory cells arranged among a plurality of physical memory blocks, wherein each physical memory block is of a predetermined size. The memory control module includes a write path module and a read path module. In response to the memory control module receiving data in a first format such that the data is evenly distributable among the plurality of physical memory blocks, the write path module modifies the first format of the data into a second format prior to writing the data to the plurality of physical memory blocks. The second format of the data is such that the data is no longer evenly distributable among the plurality of physical memory blocks. The read path module is configured to read the data from the nonvolatile memory in accordance with the second format.

    摘要翻译: 一种包括非易失性存储器和存储器控制模块的存储器系统。 非易失性存储器包括布置在多个物理存储器块之间的多个存储器单元,其中每个物理存储块具有预定尺寸。 存储器控制模块包括写路径模块和读路径模块。 响应于存储器控制模块以第一格式接收数据使得数据在多个物理存储器块之间可均匀地分配,写入路径模块在将数据写入到第二格式之前将数据的第一格式修改为第二格式 多个物理存储器块。 数据的第二格式使得数据不再能够在多个物理存储器块之间均匀分配。 读路径模块被配置为根据第二格式从非易失性存储器读取数据。

    Mixed multi-level cell and single level cell storage device
    10.
    发明授权
    Mixed multi-level cell and single level cell storage device 有权
    混合多级单元和单级存储单元

    公开(公告)号:US08135913B1

    公开(公告)日:2012-03-13

    申请号:US13113236

    申请日:2011-05-23

    IPC分类号: G06F12/00

    摘要: Some of the embodiments of the present disclosure provide a method for programming a flash memory having a plurality of memory blocks, wherein each memory block of the plurality of memory blocks is either a single-level cell (SLC) memory block or a multi-level cell (MLC) memory block, the method comprising assigning a weighting factor to each memory block of the plurality of memory blocks based on whether the memory block is an SLC memory block or an MLC memory block, tracking a number of write—erase cycles for each memory block, and selecting one or more memory blocks for writing data based at least in part on the weighting factor and the tracked number of write—erase cycles of each memory block of the plurality of memory blocks. Other embodiments are also described and claimed.

    摘要翻译: 本公开的一些实施例提供了一种用于对具有多个存储器块的闪存进行编程的方法,其中多个存储器块中的每个存储器块是单级单元(SLC)存储器块或多级 单元(MLC)存储块,所述方法包括基于所述存储器块是SLC存储器块还是MLC存储块来分配加权因子到所述多个存储器块中的每个存储器块,跟踪多个写擦除周期, 并且至少部分地基于所述多个存储器块的每个存储器块的加权因子和所述被跟踪的写擦除周期数来选择用于写入数据的一个或多个存储器块。 还描述和要求保护其他实施例。