Patents by Inventor Mark Moshayedi

Mark Moshayedi has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8473672
    Abstract: A flash storage device includes a flash storage for storing data and a controller for receiving a command in connection with user data and selecting a sector size associated with storing the user data. The controller allocates the user 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: December 18, 2012
    Date of Patent: June 25, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8453021
    Abstract: A flash storage device performs wear-leveling by tracking data errors that occur when dynamic data is read from a storage block of the flash storage device and moving the dynamic data to an available storage block of the flash storage device. Additionally, the flash storage device identifies a storage block containing static data and moves the static data to the storage block previously containing the dynamic data.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: May 28, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8437190
    Abstract: A flash storage system accesses data interleaved among flash storage devices. The flash storage system receives a data block including data portions, stores the data portions in a data buffer, and initiates data transfers for asynchronously writing the data portions into storage blocks interleaved among the flash storage devices. Additionally, the flash storage system may asynchronously read data portions of a data block interleaved among the storage blocks, store the data portions in the data buffer, and access the data portions from the data buffer.
    Type: Grant
    Filed: November 4, 2011
    Date of Patent: May 7, 2013
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • Patent number: 8370544
    Abstract: A data storage system includes 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 and a memory. The data storage system further includes a primary compression engine coupled to the host interface and to the memory, wherein the primary compression engine is configured to compress data received from the host device via the host interface and to store the compressed data in the memory, and wherein the primary compression engine is further configured to decompress compressed data stored in the memory prior to the decompressed data being sent to the host device via the host interface.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: February 5, 2013
    Assignee: STEC, Inc.
    Inventors: Guangming Lu, Mark Moshayedi
  • Patent number: 8364888
    Abstract: A method for suspending an erase operation performed on a group of memory cells in a flash memory circuit is disclosed. One example method includes providing to the memory circuit a command to erase the group of memory cells via a plurality of erase pulses. After applying an erase pulse, if it is determined that another operation has a priority higher than a predetermined threshold, the method suspends the erase operation, performs the other operation, and then resumes the erase operation.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: January 29, 2013
    Assignee: STEC, Inc.
    Inventors: Ashot Melik-Martirosian, Pablo Alejandro Ziperovich, Mark Moshayedi
  • Patent number: 8344518
    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: June 30, 2010
    Date of Patent: January 1, 2013
    Assignee: STEC, Inc.
    Inventor: Mark Moshayedi
  • Patent number: 8347138
    Abstract: A flash storage device comprises a plurality of channels of flash storage, a system memory, and a controller. The controller is configured to cache, in the system memory, data to be written, to partition the data into a plurality of data portions, to generate error correction information based on the plurality of data portions, to write the error correction information to a first one or more of the plurality of channels of flash storage, and to write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: January 1, 2013
    Assignee: STEC, Inc.
    Inventor: Mark Moshayedi
  • Publication number: 20120324299
    Abstract: A flash storage device performs wear-leveling by tracking data errors that occur when dynamic data is read from a storage block of the flash storage device and moving the dynamic data to an available storage block of the flash storage device. Additionally, the flash storage device identifies a storage block containing static data and moves the static data to the storage block previously containing the dynamic data.
    Type: Application
    Filed: August 28, 2012
    Publication date: December 20, 2012
    Applicant: STEC, INC.
    Inventor: Mark MOSHAYEDI
  • Publication number: 20120324150
    Abstract: A data storage method, comprising, receiving host data to be written to a plurality of flash storage devices, allocating the host data to one or more data units of a plurality of data units, allocating pad data to one or more data units of the plurality of data units that have not been filled with host data and generating redundant data in a redundant data unit based on the plurality of data units. In certain aspects, the method further comprises steps for writing the plurality of data units and the redundant data unit to a stripe across the plurality of flash storage devices, wherein each of the plurality of data units and the redundant data unit is written in the respective flash storage devices at a common physical address.
    Type: Application
    Filed: June 25, 2012
    Publication date: December 20, 2012
    Applicant: STEC, Inc.
    Inventors: Mark Moshayedi, William Calvert
  • Publication number: 20120317406
    Abstract: The subject technology relates to a flash storage system for accessing a boot program for a computing system, the flash storage system comprising a flash storage, a random access memory and a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load the boot program from the flash storage into the random access memory. In certain aspects, the flash control is further configured to generate a ready signal indicating the boot program is accessible from the random access memory. Computing systems and methods are also provided.
    Type: Application
    Filed: August 20, 2012
    Publication date: December 13, 2012
    Applicant: STEC Inc.
    Inventor: Mark MOSHAYEDI
  • Publication number: 20120260009
    Abstract: A data storage system includes 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 and a memory. The data storage system further includes a primary compression engine coupled to the host interface and to the memory, wherein the primary compression engine is configured to compress data received from the host device via the host interface and to store the compressed data in the memory, and wherein the primary compression engine is further configured to decompress compressed data stored in the memory prior to the decompressed data being sent to the host device via the host interface.
    Type: Application
    Filed: July 23, 2010
    Publication date: October 11, 2012
    Applicant: STEC, INC.
    Inventors: Guangming LU, Mark Moshayedi
  • Publication number: 20120257454
    Abstract: A flash storage device includes a power hold circuit including a double layer capacitor. A power source supplies power to the flash storage device and charges the double layer capacitor. The double layer capacitor supplies power for maintaining integrity of data during a data transfer occurring in the flash storage device when the power supplied by the power source is disrupted. Additionally, the flash storage device can inhibit subsequent data transfers until the power supplied by the power source is restored.
    Type: Application
    Filed: June 21, 2012
    Publication date: October 11, 2012
    Applicant: STEC, INC.
    Inventor: Mark MOSHAYEDI
  • Publication number: 20120254515
    Abstract: A method for suspending an erase operation performed on a group of memory cells in a flash memory circuit is disclosed. One example method includes providing to the memory circuit a command to erase the group of memory cells via a plurality of erase pulses. After applying an erase pulse, if it is determined that another operation has a priority higher than a predetermined threshold, the method suspends the erase operation, performs the other operation, and then resumes the erase operation.
    Type: Application
    Filed: February 2, 2012
    Publication date: October 4, 2012
    Applicant: STEC, Inc.
    Inventors: Ashot MELIK-MARTIROSIAN, Pablo Alejandro ZIPEROVICH, Mark MOSHAYEDI
  • Patent number: 8275981
    Abstract: A computing system includes a flash storage device that loads a boot program from a flash storage of the flash storage device to a random access memory of the flash storage device. A processor of the computing system then accesses the boot program from the random access memory and executes the boot program.
    Type: Grant
    Filed: July 23, 2009
    Date of Patent: September 25, 2012
    Assignee: STEC, Inc.
    Inventor: Mark Moshayedi
  • Publication number: 20120236643
    Abstract: A flash storage system accesses data interleaved among flash storage devices. The flash storage system receives a data block including data portions, stores the data portions in a data buffer, and initiates data transfers for asynchronously writing the data portions into storage blocks interleaved among the flash storage devices. Additionally, the flash storage system may asynchronously read data portions of a data block interleaved among the storage blocks, store the data portions in the data buffer, and access the data portions from the data buffer.
    Type: Application
    Filed: November 4, 2011
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventor: Mark MOSHAYEDI
  • Publication number: 20120239990
    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: May 12, 2010
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventors: Richard A. MATAYA, Po-Jen HSUEH, Mark MOSHAYEDI
  • Publication number: 20120239853
    Abstract: A flash storage device, and methods for a flash storage device, having improved write performance are provided. Data is received from a host system, the data comprising a data segment, the data segment is temporarily stored in a data buffer of the random access memory, the data segment is assigned to a logical block address, and the data segment is written to an allocated cache portion of the flash memory. Subsequently, the data segment is written from the allocated cache portion of the flash memory to a main storage portion of the flash memory.
    Type: Application
    Filed: June 25, 2009
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventor: Mark Moshayedi
  • Publication number: 20120239855
    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: Application
    Filed: July 23, 2010
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventors: Mohammadali TOOTOONCHIAN, Mark Moshayedi
  • Publication number: 20120236489
    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: Application
    Filed: July 23, 2010
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventors: Boon Khian FOO, Rajan Bhakta, Mark Moshayedi
  • Publication number: 20120239854
    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: Application
    Filed: May 12, 2010
    Publication date: September 20, 2012
    Applicant: STEC., INC.
    Inventors: Po-Jen HSUEH, Richard A. MATAYA, Mark MOSHAYEDI