Patents by Inventor Weimin Pan

Weimin Pan 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: 10133504
    Abstract: A system and method of partitioning host processing system resources is provided. An integrated circuit device having a plurality of processors or processing cores and a number of interfaces is portioned at boot into different hardware partitions based on the application needs of the host processing system. The technology provides a non-transitory memory storage including instructions; and a plurality of processors in communication with the memory. The integrated circuit device also includes a plurality of communication interfaces in communication with the processors. At least one of the plurality of processors executes instructions to configure a subset of the plurality of processors to a first hardware partition, and configure a different subset of the plurality of processors and at least one of the plurality of communication interfaces to a second hardware partition.
    Type: Grant
    Filed: April 6, 2016
    Date of Patent: November 20, 2018
    Assignee: FUTUREWEI TECHNOLOGIES, INC.
    Inventors: Weimin Pan, Kangkang Shen
  • Patent number: 9983997
    Abstract: A cache management system and method allowing data stored in non-sequential storage blocks on a storage system to be retrieved to a cache memory in advance of a call for the data based on a defined event in a host. The system and method detects a defined event from the host. The defined event issues an event read sequence of read requests for data from non-sequential storage blocks of a storage system. The event data read sequence of read requests is recorded to create a pre-fetch list. The read requests in the event read sequence are then issued for the pre-fetch list associated with the defined event to store the requested data in the cache memory.
    Type: Grant
    Filed: July 24, 2015
    Date of Patent: May 29, 2018
    Assignee: FUTUREWEI TECHNOLOGIES, INC.
    Inventor: Weimin Pan
  • Patent number: 9910748
    Abstract: When a drive in a redundant array of independent disks (RAID) fails, for a first stripe unit stored in the failed drive, a RAID controller obtains from a bitmap a first indicator indicating whether the first stripe unit contains written data, wherein the bitmap contains a plurality of indicators corresponding to stripe units stored in the failed drive, and the first stripe unit belongs to a first stripe stored in the RAID system; if the first indicator indicates that the first stripe unit does not contain written data, write zeros into a first replacement stripe unit in a replacement drive, wherein the first replacement stripe unit replaces the first stripe unit in the first stripe. Without performing XOR operations for the stripe units indicated no data by the table, a time consumed for rebuilding can be significantly reduced, recovering the RAID array healthy sooner and reducing the impact on system bandwidth usage and host I/O performance impact during the rebuild process.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: March 6, 2018
    Assignee: Futurewei Technologies, Inc.
    Inventor: Weimin Pan
  • Publication number: 20170293451
    Abstract: A system and method of partitioning host processing system resources is provided. An integrated circuit device having a plurality of processors or processing cores and a number of interfaces is portioned at boot into different hardware partitions based on the application needs of the host processing system. The technology provides a non-transitory memory storage including instructions; and a plurality of processors in communication with the memory. The integrated circuit device also includes a plurality of communication interfaces in communication with the processors. At least one of the plurality of processors executes instructions to configure a subset of the plurality of processors to a first hardware partition, and configure a different subset of the plurality of processors and at least one of the plurality of communication interfaces to a second hardware partition.
    Type: Application
    Filed: April 6, 2016
    Publication date: October 12, 2017
    Applicant: Futurewei Technologies, Inc.
    Inventors: Weimin Pan, Kangkang Shen
  • Publication number: 20170192865
    Abstract: When a drive in a redundant array of independent disks (RAID) fails, for a first stripe unit stored in the failed drive, a RAID controller obtains from a bitmap a first indicator indicating whether the first stripe unit contains written data, wherein the bitmap contains a plurality of indicators corresponding to stripe units stored in the failed drive, and the first stripe unit belongs to a first stripe stored in the RAID system; if the first indicator indicates that the first stripe unit does not contain written data, write zeros into a first replacement stripe unit in a replacement drive, wherein the first replacement stripe unit replaces the first stripe unit in the first stripe. Without performing XOR operations for the stripe units indicated no data by the table, a time consumed for rebuilding can be significantly reduced, recovering the RAID array healthy sooner and reducing the impact on system bandwidth usage and host I/O performance impact during the rebuild process.
    Type: Application
    Filed: December 31, 2015
    Publication date: July 6, 2017
    Applicant: Futurewei Technologies, Inc.
    Inventor: Weimin PAN
  • Publication number: 20170031791
    Abstract: A method performed by a redundant array of independent disks (RAID) controller includes retrieving, from a table, information identifying a stripe in a RAID following a system crash in the RAID. Data was to be written to the stripe in response to a write command and prior to the system crash. The information identifies respective data arrays and a respective parity drive identified by the stripe. The information is generated and written to the table prior to writing the data to the respective disk arrays and the respective parity drive identified by the stripe, and prior to the system crash. For the identified stripe, parity data is determined using data stored in the respective data arrays identified by the stripe. The determined parity data is written to the parity drive identified by the stripe.
    Type: Application
    Filed: July 27, 2015
    Publication date: February 2, 2017
    Inventor: Weimin Pan
  • Publication number: 20170031763
    Abstract: A method includes determining, via a controller, of an array of storage devices that includes parity which has not been initialized, if a stripe of the array in use has been written by checking a table stored on a storage device that indicates if the stripe has been written, performing, via the controller, an XOR based parity initialization of the stripe if the stripe has been written, and performing, via the controller, a zero based parity initialization of the stripe if the stripe has not been written.
    Type: Application
    Filed: July 28, 2015
    Publication date: February 2, 2017
    Inventor: Weimin Pan
  • Publication number: 20170024322
    Abstract: A cache management system and method allowing data stored in non-sequential storage blocks on a storage system to be retrieved to a cache memory in advance of a call for the data based on a defined event in a host. The system and method detects a defined event from the host. The defined event issues an event read sequence of read requests for data from non-sequential storage blocks of a storage system. The event data read sequence of read requests is recorded to create a pre-fetch list. The read requests in the event read sequence are then issued for the pre-fetch list associated with the defined event to store the requested data in the cache memory.
    Type: Application
    Filed: July 24, 2015
    Publication date: January 26, 2017
    Inventor: Weimin Pan
  • Publication number: 20160154743
    Abstract: Disclosed herein are a system, non-transitory computer readable medium, and method to reduce input and output transactions. It is determined whether a first set of dirty data, a second set of dirty data, and a number of data blocks therebetween can be flushed with one transaction.
    Type: Application
    Filed: June 25, 2013
    Publication date: June 2, 2016
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventors: Weimin Pan, Mark J. Thompson
  • Patent number: 9317436
    Abstract: A technique for cache node processing that includes generating a cache node in response to a request to write data to storage devices. If logical block address (LBA) of the generated cache node is adjacent to LBA of cache nodes of a cache node list, then check if there are cache nodes that are sequential up to a predefined boundary. If there are cache nodes that are sequential up to the predefined boundary, then flush the data of the sequential cache nodes together as a group up to the predefined boundary.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: April 19, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventor: Weimin Pan
  • Patent number: 9223713
    Abstract: A technique for allocating a write cache allowed data size of a write cache from a plurality of write caches to each of a plurality of storage volumes, calculating a write cache utilization of the write cache for each of the respective storage volumes, wherein the write cache utilization is based on a write cache dirty data size of the write cache allocated to the respective storage volume divided by the write cache allowed data size of the write cache allocated to the respective storage volume, and adjusting the write cache allowed data size of the write cache allocated to storage volumes based on the write cache utilization of the write cache of the storage volumes.
    Type: Grant
    Filed: May 30, 2013
    Date of Patent: December 29, 2015
    Assignee: Hewlett Packard Enterprise Development LP
    Inventor: Weimin Pan
  • Patent number: 9009526
    Abstract: A method that includes identifying an inaccessible portion of a first disk drive. The method also includes regenerating data corresponding to the inaccessible portion of the first disk drive and storing the regenerated data to a second disk drive. The method also includes copying data from an accessible portion of the first disk drive to the second disk drive.
    Type: Grant
    Filed: January 24, 2013
    Date of Patent: April 14, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Weimin Pan
  • Patent number: 8990509
    Abstract: Embodiments herein relate to selecting an accelerated path based on a number of write requests and a sequential trend. One of an accelerated path and a cache path is selected between a host and a storage device based on at least one of a number of write requests and a sequential trend. The cache path connects the host to the storage device via a cache. The number of write requests is based on a total number of random and sequential write requests from a set of outstanding requests from the host to the storage device. The sequential trend is based on a percentage of sequential read and sequential write requests from the set of outstanding requests.
    Type: Grant
    Filed: September 24, 2012
    Date of Patent: March 24, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Weimin Pan
  • Publication number: 20150081967
    Abstract: A storage controller to receive from a host multiple read requests to read sets of data blocks from a data storage device. The storage controller to determine whether the read requests include non-continuous addresses associated with a set of non-requested data blocks between sets of requested data blocks and a gap of a number of non-requested data blocks is less than a pre-defined threshold. If the read requests have non-continuous addresses and a gap of a number of non-requested data blocks is less than the pre-defined threshold, then generate a single read request to retrieve from a storage device the non-requested and requested data blocks, and directly write the retrieved requested data blocks to a host buffer, and write the retrieved non-requested data blocks to a cache memory on a storage controller.
    Type: Application
    Filed: September 18, 2013
    Publication date: March 19, 2015
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventor: Weimin Pan
  • Patent number: 8972645
    Abstract: Embodiments herein relate to sending a request to a storage device based on a moving average. A threshold is determined based on a storage device type and a bandwidth of a cache bus connecting a cache to a controller. The moving average of throughput is measured between the storage device and a host. The request of the host to access the storage device is sent directly to the storage device, if the moving average is equal to the threshold.
    Type: Grant
    Filed: September 19, 2012
    Date of Patent: March 3, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Weimin Pan, Mark Lyndon Oelke
  • Publication number: 20140379990
    Abstract: A technique for cache node processing that includes generating a cache node in response to a request to write data to storage devices. If logical block address (LBA) of the generated cache node is adjacent to LBA of cache nodes of a cache node list, then check if there are cache nodes that are sequential up to a predefined boundary. If there are cache nodes that are sequential up to the predefined boundary, then flush the data of the sequential cache nodes together as a group up to the predefined boundary.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventor: Weimin Pan
  • Patent number: 8914576
    Abstract: Enhancing management of controllers in a RAID system when a post-write-cache of a is disabled, by supplying a stripe buffer that stores sequential write requests—and before such requests are actually written in to the physical disc drives. The stripe buffer can temporarily store data, until the data level reaches the stripe buffer size. Thereafter, contents of the stripe buffer can be flushed onto disc.
    Type: Grant
    Filed: July 30, 2012
    Date of Patent: December 16, 2014
    Assignee: Hewlett-Packard Development Company, LP.
    Inventor: Weimin Pan
  • Publication number: 20140359226
    Abstract: A technique for allocating a write cache allowed data size of a write cache from a plurality of write caches to each of a plurality of storage volumes, calculating a write cache utilization of the write cache for each of the respective storage volumes, wherein the write cache utilization is based on a write cache dirty data size of the write cache allocated to the respective storage volume divided by the write cache allowed data size of the write cache allocated to the respective storage volume, and adjusting the write cache allowed data size of the write cache allocated to storage volumes based on the write cache utilaztion of the write cache of the storage volumes.
    Type: Application
    Filed: May 30, 2013
    Publication date: December 4, 2014
    Inventor: Weimin Pan
  • Publication number: 20140215147
    Abstract: A storage management module configured to identify storage volumes to be rebuilt and remaining storage volumes that are not to be rebuilt, calculate rebuild priority information for the identified storage volumes to be rebuilt based on storage information of the identified storage volumes, and generate rebuild requests to rebuild the identified storage volumes to be rebuilt and process host requests directed to the remaining and to be rebuilt storage volumes based on the rebuild priority information and amount of host requests, wherein with relative high amount of host requests, generate relative less rebuild requests but not less than a minimum rebuild traffic percentage or more than a maximum rebuild traffic percentage.
    Type: Application
    Filed: January 25, 2013
    Publication date: July 31, 2014
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventor: Weimin Pan
  • Publication number: 20140208155
    Abstract: A method that includes identifying an inaccessible portion of a first disk drive. The method also includes regenerating data corresponding to the inaccessible portion of the first disk drive and storing the regenerated data to a second disk drive. The method also includes copying data from an accessible portion of the first disk drive to the second disk drive.
    Type: Application
    Filed: January 24, 2013
    Publication date: July 24, 2014
    Applicant: Hewlett-Packard Development Company, L.P.
    Inventor: Weimin Pan