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: 9098416
    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: April 21, 2014
    Date of Patent: August 4, 2015
    Assignee: HGST Technologies Santa Ana, Inc.
    Inventors: Richard A. Mataya, Po-Jen Hsueh, Mark Moshayedi
  • Patent number: 9087599
    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: Grant
    Filed: June 21, 2012
    Date of Patent: July 21, 2015
    Assignee: STEC, Inc.
    Inventor: Mark Moshayedi
  • Patent number: 8977831
    Abstract: A device includes volatile memory; one or more non-volatile memory chips, each of which is for storing data moved from the volatile-memory; an interface for connecting to a backup power source arranged to temporarily power the volatile memory upon a loss of power from a primary power source; a controller in communication with the volatile memory and the non-volatile memory, wherein: the controller is programmed to move data from the volatile memory to the non-volatile memory chips upon a loss of power of the primary power source of the volatile memory; and parameters describing the volatile memory are stored in at least one of the non-volatile memory chips that store the data moved from the volatile memory. In some aspects the parameters include serial presence detect information.
    Type: Grant
    Filed: February 11, 2009
    Date of Patent: March 10, 2015
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Douglas Finke
  • Publication number: 20140351498
    Abstract: A flash controller receives a read request for reading a page of data from the flash memory from a host system, and identifies, in a cache tag table stored in the random access memory, a virtual unit address associated with the page of data. In response to identifying the virtual unit address in the cache tag table, controller determines whether a valid tag line for the page of data is associated with the virtual unit address in the cache tag table. In response to determining that the valid tag line is associated with the virtual unit address in the cache tag table, the controller reads the page of data from the random access memory in accordance with the read request and returns the read data to the host system.
    Type: Application
    Filed: August 11, 2014
    Publication date: November 27, 2014
    Inventors: Po-Jen HSUEH, Richard A. Mataya, Mark Moshayedi
  • Patent number: 8825941
    Abstract: Flash memory drives and related methods are disclosed that operate to keep frequently written data, which results in frequently erased blocks, in SLC flash, and relatively static data in 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 flash or in MLC flash depending on the number of writes that have occurred for that particular LBA. For each logical block sent to the flash drive, a comparison is made of the write count of the associated LBA to a threshold. If the write count is above the threshold, the logical block is written to SLC flash. If the write count is below the threshold, the logical block is written to MLC flash.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: September 2, 2014
    Assignee: STEC, Inc.
    Inventors: Mark Moshayedi, Seyed Jalal Sadr
  • 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
  • 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: 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: 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: 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
  • Publication number: 20130304974
    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: Application
    Filed: June 24, 2013
    Publication date: November 14, 2013
    Inventors: Mark MOSHAYEDI, Seyed Jalal SADR
  • 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: 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
  • 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: 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
  • 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