Patents Assigned to Stec Inc.
  • Patent number: 8605501
    Abstract: Disclosed is an system and method for determining a probability that a memory cell was programmed to a certain input level. An output level is received from a memory cell and a probability is determined that the output level corresponds to each of a plurality of programming levels. Each probability is determined as a function of the output level, a mean value of a distribution corresponding to the programming level, and a variance from the mean value with the variance being determined by a relative position of the output level with respect to the mean value. A probability value is generated as a function of the plurality of determined probabilities and then provided for use at a demodulator.
    Type: Grant
    Filed: July 5, 2011
    Date of Patent: December 10, 2013
    Assignee: STEC, Inc.
    Inventors: Xinde Hu, Richard D. Barndt, Anthony D. Weathers
  • Publication number: 20130318391
    Abstract: Techniques for managing caching use of a solid state device are disclosed. In some embodiments, the techniques may be realized as a method for managing caching use of a solid state device. Management of the caching use may include receiving, at a host device, notification of failure of a solid state device. In response to the notification a cache mode may be set to uncached. In uncached mode input/output (I/O) requests may be directed to uncached storage (e.g., disk).
    Type: Application
    Filed: November 29, 2012
    Publication date: November 28, 2013
    Applicant: STEC, INC.
    Inventors: Saied KAZEMI, Siddharth CHOUDHURI
  • Publication number: 20130318422
    Abstract: A method for calibrating read levels in a flash memory device is provided. The method includes receiving read information from flash memory in response to a read command, assigning soft information to the received read information, determining an error signal based on the assigned soft information, determining a read level offset based on the error signal, and adjusting a read level in the flash memory by the determined read level offset.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 28, 2013
    Applicant: STEC, Inc.
    Inventors: Anthony D. Weathers, Richard D. Barndt, Xinde Hu
  • Patent number: 8578085
    Abstract: Systems for automatically calibrating a storage memory controller are disclosed. In some embodiments, the systems may be realized as a solid state device system with an electro-static discharge (ESD) protection capability. The system can include a memory controller electrically coupled to a channel, where the memory controller is configured to select at least one of a plurality of flash memory devices. The system can also include at least one isolation device including an ESD protection circuit, configured to electrically couple the channel to the at least one of the plurality of flash memory devices and to decouple the channel from the remaining of the plurality of flash memory devices.
    Type: Grant
    Filed: February 8, 2013
    Date of Patent: November 5, 2013
    Assignee: STEC, Inc.
    Inventors: Omid Nasiby, Stephen R. Boorman, Irfan Syed
  • Publication number: 20130290612
    Abstract: A system and method for generating reliability information (aka “soft information”) from a flash memory device is disclosed. A plurality of memory cells are read by a data storage controller at a first read level to obtain a plurality of program values. On an error indicator being received in connection with reading the plurality of memory cells, the plurality of memory cells are read one or more times at one or more different read levels to categorize the plurality of memory cells into two or more cell program regions. A confidence value is then assigned to each memory cell based on a corresponding cell program region for the memory cell, the confidence value being representative of a likelihood that the memory cell is programmed to a corresponding program value read at the first read level.
    Type: Application
    Filed: March 15, 2013
    Publication date: October 31, 2013
    Applicant: STEC, Inc.
    Inventors: Anthony D. Weathers, Richard D. Barndt, Xinde Hu
  • Patent number: 8572308
    Abstract: A flash storage device comprises a plurality of data blocks, each data block comprising a plurality of data segments, a system memory, and a controller. The controller is configured to cache in the system memory a plurality of data sectors to be written, to write to a first one of the plurality of data segments a first one of the plurality of data sectors, to write to the first one of the plurality of data segments a first portion of a second one of the plurality of data sectors, and to write to a second one of the plurality of data segments a second portion of the second one of the plurality of data sectors.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: October 29, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, William Calvert, Stephen Russell Boorman, Simon Mark Haynes
  • Patent number: 8566667
    Abstract: The subject technology provides a decoding solution that supports multiple choices of code rates. A decoder may be configured to receive a selected code rate from a plurality of code rates. On the selection of the code rate, the decoder may determine a circulant size based on the code rate, and, on receiving the codeword, update, during one or more parity-check operations, a number of confidence values proportional to the circulant size in each of a plurality of memory units, each number of confidence values corresponding to a portion of the codeword.
    Type: Grant
    Filed: January 4, 2012
    Date of Patent: October 22, 2013
    Assignee: STEC, Inc.
    Inventors: Xinde Hu, Levente Peter Jakab, Dillip K. Dash, Rohit Komatineni
  • Patent number: 8566511
    Abstract: A solid-state storage device with multi-level addressing is provided. The solid-state storage device includes a plurality of flash memory devices, a volatile memory, and a controller. The controller is configured to store data received from a host in the plurality of flash memory devices in response to a write command and to read the data stored in the plurality of flash memory devices in response to a read command. The controller is further configured to maintain a multi-level address table that maps logical addresses received from the host identifying the data stored in the plurality of flash memory devices to physical addresses in the plurality of flash memory devices containing the data. A first level of the multi-level address table is maintained by the controller in the volatile memory and second and third levels of the multi-level address table are maintained by the controller in the plurality of flash memory devices.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: October 22, 2013
    Assignee: STEC, Inc.
    Inventors: Mohammadali Tootoonchian, Mark Moshayedi
  • Patent number: 8566639
    Abstract: A memory device includes: volatile memory; an interface for connecting to a backup power source; non-volatile memory; a first configuration data bus for accessing parameters describing substantially permanent characteristics of the volatile memory; a second configuration data bus for accessing at least one of state of health information of the backup power source and status information of the memory device, wherein the first configuration data bus and the second configuration data bus implement a same bus protocol; a controller programmed to detect a loss of power of a primary power source and move data from the volatile memory to the non-volatile memory, wherein configuration information of the controller is at least one of readable and writable through the first configuration data bus; and wherein at least one of the state-of-health information and the status information is at least one of readable and writable through the second configuration data bus.
    Type: Grant
    Filed: February 11, 2009
    Date of Patent: October 22, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Douglas Finke
  • Patent number: 8560775
    Abstract: Techniques for managing cache configuration are disclosed. In some embodiments, the techniques may be realized as a method for managing creation of nodes names and references to source devices during detection of storage devices (e.g., a physical devices such as a SCSI Disk, a redundant array of independent disks (RAID), or logical devices such as logical volume management (LVM) volumes or automatic storage management (ASM) volumes). Management of cache configuration may include creation of rules to generate node names upon detection of source and/or cache devices. Management of cache configuration also may include the creation of rules to create caches or initiate creation of caches upon successful creation of source devices and cache devices corresponding to a cache. Management of cache configuration may include management of the creation of symbolic links to a cache of a source device.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: October 15, 2013
    Assignee: STEC, Inc.
    Inventors: Joseph A. McDuffee, Saied Kazemi
  • Publication number: 20130254562
    Abstract: Aspects of the subject disclosure relate to a storage device including a flash memory, a controller coupled to the flash memory, wherein the controller is configured to store data to the flash memory and a power arbiter unit coupled to the controller and to the flash memory via a plurality of flash channels, wherein the power arbiter unit is configured to receive a plurality of power requests via one or more of the plurality of flash channels and process the plurality of power requests based on a respective priority identifier associated with each of the plurality of power requests. Additionally, a computer-implemented method and power arbiter unit (PAB) are provided.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 26, 2013
    Applicant: STEC, Inc.
    Inventors: Umang Thakkar, Mohammad Alavishooshtari, Lun Bin Huang, Dillip K. Dash
  • Publication number: 20130254467
    Abstract: A system and method for providing memory device readiness to a memory controller is disclosed. One example system includes a channel controller operably connected to a memory controller and a group of flash memory devices. The channel controller may receive, from the memory controller a request for a status of one or more memory devices in the group of flash memory devices. The channel controller may determine the status of the one or more memory devices, the status being determined while the memory controller is permitted to execute one or more other commands related to one or more other memory devices in a different group of memory devices. On determining that the one or more memory devices are in a ready status, the channel controller may provide the ready status to the memory controller.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 26, 2013
    Applicant: STEC, Inc.
    Inventors: Hadi Torabi PARIZI, Dillip K. Dash, Namhoon Yoo, Umang Thakkar
  • Publication number: 20130242658
    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: Application
    Filed: April 29, 2013
    Publication date: September 19, 2013
    Applicant: STEC, Inc.
    Inventors: Mark MOSHAYEDI, Seyed Jalal Sadr
  • Patent number: 8527849
    Abstract: The subject disclosure describes a method for performing error code correction, the method includes, loading a code word including a plurality of encoded bits into a memory array, initializing, into one or more of a plurality of memory units, a plurality of bits associated with each of the encoded bits, wherein the plurality of bits initialized for each of the encoded bits is based on a value of the associated encoded bit and wherein the plurality of encoded bits and the plurality of bits initialized for each of the encoded bits includes soft information. In certain aspects, the method further includes decoding the code word using the soft information and outputting the decoded code word from the memory array. A decoder and flash storage device are also provided.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: September 3, 2013
    Assignee: STEC, Inc.
    Inventors: Levente Peter Jakab, Dillip K. Dash
  • Publication number: 20130227362
    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: Application
    Filed: March 29, 2013
    Publication date: August 29, 2013
    Applicant: STEC, Inc.
    Inventor: STEC, Inc.
  • Publication number: 20130227200
    Abstract: Disclosed is an apparatus and method for providing memory cell bias information for use in memory operations. One or more memory die are selected from a group of memory die, and one or more memory blocks selected from the selected one or more memory die. A group of cells are programmed within the selected memory blocks, and one or more distributions of cell program levels associated with a group of wordlines are determined. A bias value for each wordline is then generated based on comparing one or more program levels in a distribution of program levels associated with the respective wordline with predetermined programming levels. The bias values are stored lookup table that is configured to be accessible at runtime by a memory controller for retrieval of the bias value during a program or read operation.
    Type: Application
    Filed: February 25, 2013
    Publication date: August 29, 2013
    Applicant: STEC, Inc.
    Inventor: STEC, Inc.
  • Patent number: 8514565
    Abstract: A solid state storage device includes a printed circuit board assembly, a memory arranged on the printed circuit board assembly, and a storage medium arranged on the printed circuit board assembly. The storage device further includes a processor arranged on the printed circuit board assembly, wherein the processor is coupled to the memory and to the storage medium via the printed circuit board assembly, and wherein the processor is configured to store data in the memory and the storage medium and to read data from the memory and the storage medium. The storage device further includes a removable power pack comprising a plurality of capacitors serially arranged in a housing, wherein the plurality of capacitors is detachably connected to the printed circuit board assembly to supply backup power to the processor, the memory, and the storage medium when the removable power pack is mounted in the solid state storage device.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: August 20, 2013
    Assignee: STEC, Inc.
    Inventors: Boon Khian Foo, Rajan Bhakta, Mark Moshayedi
  • Publication number: 20130212451
    Abstract: A custom decoding algorithm is introduced, in connection with a corresponding decoding structure, to resolve many complexity and large memory requirements of known decoders. A system. A variable node forms a confidence vector of four components, one component for each state of a memory cell, and passes the current primary component (e.g., the largest) to one or more check nodes. The check nodes calculate a temporary component and corresponding index based on all components received from the variable nodes, which they pass back to the respective variable nodes. The variable node updates the confidence vector based on the temporary nodes received from respective check nodes, and determines the correct state for corresponding memory cell based on which component in the confidence vector is currently the primary component.
    Type: Application
    Filed: February 11, 2013
    Publication date: August 15, 2013
    Applicant: STEC, Inc.
    Inventor: STEC, Inc.
  • Patent number: 8510497
    Abstract: A flash storage device includes a flash storage for storing data and a controller for receiving a command containing data and selecting a sector size for the data. The controller allocates the data among data sectors having the sector size and writes the data sectors to the flash storage. In some embodiments, the controller generates system data and stores the system data in the data sectors or a system sector, or both.
    Type: Grant
    Filed: July 29, 2009
    Date of Patent: August 13, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Publication number: 20130194873
    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: Application
    Filed: January 29, 2013
    Publication date: August 1, 2013
    Applicant: STEC, INC.
    Inventor: STEC, Inc.