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: 10133504Abstract: 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: GrantFiled: April 6, 2016Date of Patent: November 20, 2018Assignee: FUTUREWEI TECHNOLOGIES, INC.Inventors: Weimin Pan, Kangkang Shen
-
Patent number: 9983997Abstract: 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: GrantFiled: July 24, 2015Date of Patent: May 29, 2018Assignee: FUTUREWEI TECHNOLOGIES, INC.Inventor: Weimin Pan
-
Patent number: 9910748Abstract: 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: GrantFiled: December 31, 2015Date of Patent: March 6, 2018Assignee: Futurewei Technologies, Inc.Inventor: Weimin Pan
-
Publication number: 20170293451Abstract: 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: ApplicationFiled: April 6, 2016Publication date: October 12, 2017Applicant: Futurewei Technologies, Inc.Inventors: Weimin Pan, Kangkang Shen
-
Publication number: 20170192865Abstract: 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: ApplicationFiled: December 31, 2015Publication date: July 6, 2017Applicant: Futurewei Technologies, Inc.Inventor: Weimin PAN
-
Publication number: 20170031791Abstract: 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: ApplicationFiled: July 27, 2015Publication date: February 2, 2017Inventor: Weimin Pan
-
Publication number: 20170031763Abstract: 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: ApplicationFiled: July 28, 2015Publication date: February 2, 2017Inventor: Weimin Pan
-
Publication number: 20170024322Abstract: 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: ApplicationFiled: July 24, 2015Publication date: January 26, 2017Inventor: Weimin Pan
-
Publication number: 20160154743Abstract: 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: ApplicationFiled: June 25, 2013Publication date: June 2, 2016Applicant: Hewlett-Packard Development Company, L.P.Inventors: Weimin Pan, Mark J. Thompson
-
Patent number: 9317436Abstract: 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: GrantFiled: June 21, 2013Date of Patent: April 19, 2016Assignee: Hewlett Packard Enterprise Development LPInventor: Weimin Pan
-
Patent number: 9223713Abstract: 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: GrantFiled: May 30, 2013Date of Patent: December 29, 2015Assignee: Hewlett Packard Enterprise Development LPInventor: Weimin Pan
-
Patent number: 9009526Abstract: 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: GrantFiled: January 24, 2013Date of Patent: April 14, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventor: Weimin Pan
-
Patent number: 8990509Abstract: 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: GrantFiled: September 24, 2012Date of Patent: March 24, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventor: Weimin Pan
-
Publication number: 20150081967Abstract: 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: ApplicationFiled: September 18, 2013Publication date: March 19, 2015Applicant: Hewlett-Packard Development Company, L.P.Inventor: Weimin Pan
-
Patent number: 8972645Abstract: 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: GrantFiled: September 19, 2012Date of Patent: March 3, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Weimin Pan, Mark Lyndon Oelke
-
Publication number: 20140379990Abstract: 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: ApplicationFiled: June 21, 2013Publication date: December 25, 2014Inventor: Weimin Pan
-
Patent number: 8914576Abstract: 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: GrantFiled: July 30, 2012Date of Patent: December 16, 2014Assignee: Hewlett-Packard Development Company, LP.Inventor: Weimin Pan
-
Publication number: 20140359226Abstract: 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: ApplicationFiled: May 30, 2013Publication date: December 4, 2014Inventor: Weimin Pan
-
Publication number: 20140215147Abstract: 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: ApplicationFiled: January 25, 2013Publication date: July 31, 2014Applicant: Hewlett-Packard Development Company, L.P.Inventor: Weimin Pan
-
Publication number: 20140208155Abstract: 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: ApplicationFiled: January 24, 2013Publication date: July 24, 2014Applicant: Hewlett-Packard Development Company, L.P.Inventor: Weimin Pan