Patents Assigned to Stec Inc.
  • Patent number: 8806144
    Abstract: A flash storage device includes a first memory, a flash memory comprising a plurality of physical blocks, each of the plurality of physical blocks comprising a plurality of physical pages, and a controller. The controller is configured to store, in the first memory, copies of data read from the flash memory, map a logical address in a read request received from a host system to a virtual unit address and a virtual page address, and check a virtual unit cache tag table stored in the first memory based on the virtual unit address. If a hit is found in the virtual unit cache tag table, a virtual page cache tag sub-table stored in the first memory is checked based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address. If a hit is found in the virtual page cache tag sub-table, data stored in the first memory mapped to the hit in the virtual page cache tag sub-table is read in response to the read request received from the host system.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: August 12, 2014
    Assignee: STEC, Inc.
    Inventors: Po-Jen Hsueh, Richard A. Mataya, Mark Moshayedi
  • Patent number: 8806174
    Abstract: A system and method are disclosed for storing data in a hash table. The method includes receiving data, determining a location identifier for the data wherein the location identifier identifies a location in the hash table for storing the data and the location identifier is derived from the data, compressing the data by extracting the location identifier; and storing the compressed data in the identified location of the hash table.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: August 12, 2014
    Assignee: STEC, Inc.
    Inventors: Mohammad Reza Sadri, Saied Kazemi, Siddharth Choudhuri
  • Publication number: 20140223244
    Abstract: A method for managing a flash storage device includes initiating a read request and reading requested data from a first storage block of a plurality of storage blocks in the flash storage device based on the read request. The method further includes incrementing a read count for the first storage block and moving the data in the first storage block to an available storage block of the plurality of storage blocks when the read count reaches a first threshold value.
    Type: Application
    Filed: April 21, 2014
    Publication date: August 7, 2014
    Applicant: STEC, Inc.
    Inventors: Richard A. MATAYA, Po-Jen HSUEH, Mark MOSHAYEDI
  • Patent number: 8767471
    Abstract: Systems and methods for auto-calibrating a storage memory controller are disclosed. In some embodiments, the systems and methods may be realized as a method for auto-calibrating a storage memory controller including instructing a controllable delay circuit to delay a read strobe signal at one of a plurality of delay settings, receiving data captured at a data latch using the delayed read strobe signal, selecting an adjustment factor from the plurality of delay settings using a multi-scale approach, based on an accuracy of the data captured at the data latch, and instructing the controllable delay circuit to delay the read strobe signal by the adjustment factor.
    Type: Grant
    Filed: January 29, 2013
    Date of Patent: July 1, 2014
    Assignee: STEC, Inc.
    Inventor: Tsan L. Chen
  • Patent number: 8762798
    Abstract: The subject technology includes adjusting an error correcting code rate in a solid-state drive. A first plurality of memory operations are performed on a flash memory device of the solid-state drive using a first code rate. During operation of the drive, a controller monitors an operating condition associated with one or more memory units of the flash memory device for a trigger event. On the trigger event, the first code rate is adjusted in accordance with the operating condition to produce a second code rate, and a second plurality of memory operations is performed on the flash memory device using the second code rate.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: June 24, 2014
    Assignee: STEC, Inc.
    Inventors: Xinde Hu, Richard D. Barndt
  • Patent number: 8762622
    Abstract: Flash memory drives and related methods are disclosed that operate to keep frequently written data, which results in frequently erased blocks, in SLC-mimicking MLC flash, and relatively static data in normal MLC flash. A flash drive according to the present disclosure keeps track of the number of times that data for each logical block address (LBA) has been written to the flash memory, and determines whether to store newly received data associated with a particular LBA in SLC-mimicking MLC flash or in normal MLC flash depending on the number of writes that have occurred for that particular LBA. Dynamic allocation can occur between the two types of MLC. Related methods and software are also described.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: June 24, 2014
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8737136
    Abstract: Disclosed is an apparatus and method for determining a read level voltage to apply to a block of memory cells in a non-volatile memory circuit. A prediction value is compared to a prediction indicator to determine whether a new read level voltage to be applied to read the memory cells should be estimated. If a new read level should be estimated the new read level is calculated as a function of an initial read level and a dwell time and a number of program/erase cycles. A controller provides one or more programming commands representative of the new read level voltage to the memory circuit to read the cells.
    Type: Grant
    Filed: March 30, 2011
    Date of Patent: May 27, 2014
    Assignee: STEC, Inc.
    Inventor: Aldo G. Cometti
  • Patent number: 8737141
    Abstract: Disclosed is an apparatus and method for determining a parameter for programming a non-volatile memory circuit. On receiving write or erase operation a parameter is determined as a function of a circuit characteristic associated with a memory block. An adjusted condition, for example, read or write time, or the standard deviation of voltage thresholds in a distribution of cells, is then determined as a function of the parameter, and a command provided to the memory circuit to use the parameter in the next write or erase operation performed on the memory block. The method can be triggered by an event such as P/E cycle times and the condition is dynamically adjusted to extend the life of the memory circuit.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: May 27, 2014
    Assignee: STEC, Inc.
    Inventor: Ashot Melik-Martirosian
  • Patent number: 8719652
    Abstract: A method for managing a flash storage device includes initiating a read request and reading requested data from a first storage block of a plurality of storage blocks in the flash storage device based on the read request. The method further includes incrementing a read count for the first storage block and moving the data in the first storage block to an available storage block of the plurality of storage blocks when the read count reaches a first threshold value.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: May 6, 2014
    Assignee: STEC, Inc.
    Inventors: Richard A. Mataya, Po-Jen Hsueh, Mark Moshayedi
  • Patent number: 8713381
    Abstract: Methods and systems for wear-leveling in flash storage devices are provided. A flash storage system performs wear-leveling by tracking data errors that occur when dynamic data is read from a first storage block in a first flash storage device and moving the dynamic data to a second storage block in a second flash storage device. Additionally, wear-leveling is achieved by identifying a third storage block containing static data and moves the static data to the storage block previously containing the dynamic data.
    Type: Grant
    Filed: March 29, 2013
    Date of Patent: April 29, 2014
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8686572
    Abstract: A multi-chip stack module provides increased circuit density for a given surface chip footprint. Support structures are alternated with standard surface mount type chips to form a stack wherein the support structures electrically interconnect the chips. One aspect is a structure and method for interconnecting a plurality of generally planar chips in a vertical stack such that signals, which are common to the chips, are connected in the stack and signals, which are accessed individually, are separated within the stack.
    Type: Grant
    Filed: December 19, 2012
    Date of Patent: April 1, 2014
    Assignee: STEC, Inc.
    Inventor: Mark Moshayedi
  • Patent number: 8681552
    Abstract: A flash storage system includes a data buffer configured to receive and store a data block having data portions. The system further includes flash storage devices having storage blocks interleaved among the flash storage devices and a controller coupled to the data buffer and the flash storage devices. The controller is configured to initiate data transfers for writing the data portions of the data block asynchronously into the storage blocks, where the data transfers for writing the data portions of the data block asynchronously into the storage blocks include reading the data portions of the data block from the data buffer serially and writing the data portions of the data block into the storage blocks in parallel.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: March 25, 2014
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8677092
    Abstract: A computing device and method for managing security of a memory or storage device without the need for administer privileges. To access the secure memory, a host provides a data block containing a control command and authentication data to the memory device. The memory device includes a controller for controlling access to a secure memory in the memory device. The memory device identifies the control command in the data block, authenticates the control command based on the authentication data, and executes the control command to allow the host device to access the secure memory.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: March 18, 2014
    Assignee: STEC, Inc.
    Inventor: Mehran Ramezani
  • Patent number: 8677035
    Abstract: Aspects of the subject technology relate to a data storage system controller including a host interface configured to be coupled to a host device, to receive data from the host device, and to send data to the host device. In certain aspects, the data storage system includes a primary compression engine configured to compress data received from the host device via the host interface, and a secondary compression engine configured to decompress and compress data associated with operations internal to the data storage system. In some implementations, the data storage systems can further include a processor configured to transfer data between the host interface and the primary compression engine, between the primary compression engine and a non-volatile storage medium, between a memory and the secondary compression engine, and between the secondary compression engine and the memory. A data storage system is also provided.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: March 18, 2014
    Assignee: STEC, Inc.
    Inventors: Guangming Lu, Mark Moshayedi
  • Patent number: 8656263
    Abstract: A method and system for storing data in a multi-level cell (MLC) flash memory device are described. The method includes receiving data for storage in the flash memory device, the flash memory device comprising an array of MLC flash memory cells, and encoding the received data into non-binary symbols according to a trellis-coded modulation scheme. The method further includes writing each of the non-binary symbols to a respective flash memory cell set, wherein each flash memory cell set comprises a plurality of MLC flash memory cells.
    Type: Grant
    Filed: May 27, 2011
    Date of Patent: February 18, 2014
    Assignee: STEC, Inc.
    Inventors: Xinde Hu, Anthony D. Weathers, Richard D. Barndt
  • Patent number: 8656256
    Abstract: Disclosed is an apparatus and method for operating a multi-level cell (MLC) flash memory circuit. Data is read from a memory block of a plurality of memory blocks in the MLC flash memory circuit, wherein each of the plurality of memory blocks can operate in one of at least three modes of operation comprising an MLC mode, a single-level cell (SLC) mode and a defective mode, and wherein the memory block is initially operating in the MLC mode. Error correction is performed on the read data to correct read errors in the read data. A determination is made if a number of bits corrected by the error correction exceeds a predetermined threshold value. If the number of bits corrected by the error correction exceeds the predetermined threshold value, the operating mode of the memory block is switched from the MLC mode to the SLC mode.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: February 18, 2014
    Assignee: STEC, Inc.
    Inventors: Anthony D. Weathers, Richard D. Barndt, Ashot Melik-Martirosian
  • Patent number: 8644099
    Abstract: Disclosed is an apparatus and method for determining a dwell time in a non-volatile memory circuit after a shutdown of the memory circuit. A voltage shift is calculated by comparing a first read level voltage required to read a test block stored before the shutdown and a second read level voltage required to read a second test block stored after the shutdown. A shutdown time is determined from a look up table indexed by the voltage shift and a number of program/erase cycles. The dwell time is calculated as a function of the drive temperature, a clock, and a block time stamp. Once the dwell time is calculated, a controller calculates a new read level voltage based, in part, on the dwell time and provides one or more programming commands representative of the new read level voltage to the memory circuit to read the memory circuit.
    Type: Grant
    Filed: July 8, 2011
    Date of Patent: February 4, 2014
    Assignee: STEC, Inc.
    Inventors: Aldo G. Cometti, Lun Bin Huang, Ashot Melik-Martirosian
  • Patent number: 8635399
    Abstract: The disclosed subject matter includes a memory system with a flash memory and a flash memory controller. The flash memory controller is configured to divide the flash memory into virtual segments, each segment including blocks of flash memory cells. The controller is also configured to receive a write request to a location designated by a memory identifier and to map the memory identifier to a segment. When the segment matches an open segment and an open block can store the data, the controller is configured to retrieve the open segment and the open block from a collection tracking open blocks and to write the data to the open block. When the segment is different from the open segment, the controller is configured to close the open block, to write the data to a block in the segment, and to update the collection with the block in the segment.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: January 21, 2014
    Assignee: STEC, Inc.
    Inventors: Cheng-fan Lee, Hung-min Chang, Po-jen Hsueh
  • Patent number: 8612719
    Abstract: Techniques for optimizing data movement in electronic storage devices are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for optimizing data movement in electronic storage devices comprising maintaining, on the electronic storage device, a data structure associating virtual memory addresses with physical memory addresses. Information can be provided regarding the data structure to a host which is in communication with the electronic storage device. Commands can be received from the host to modify the data structure on the electronic storage device, and the data structure can be modified in response to the received command.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: December 17, 2013
    Assignee: STEC, Inc.
    Inventors: Tony Digaleh Givargis, Mohammad Reza Sadri
  • Patent number: 8612402
    Abstract: Systems and methods for managing key-value stores are disclosed. In some embodiments, the systems and methods may be realized as a method for managing a key-value store including creating an uncompressed tree of key-value pairs, monitoring the growth of the uncompressed tree, compressing the uncompressed tree when the uncompressed tree meets and/or exceeds a specified threshold, and creating a new empty uncompressed tree.
    Type: Grant
    Filed: October 26, 2012
    Date of Patent: December 17, 2013
    Assignee: STEC, Inc.
    Inventor: Tony Givargis