Patents by Inventor Bo Hong

Bo Hong 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: 8732426
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. Should a device exhibit an unscheduled behavior which may be indicative of the device being in an unknown state, the scheduler may schedule one or more reactive operations on the device configured to cause the device to enter a known state.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: May 20, 2014
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Publication number: 20140136808
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data storage controller is configured to receive requests targeted to the data storage medium, said requests including a first type of operation and a second type of operation. The controller is further configured to schedule requests of the first type for immediate processing by said plurality of storage devices, and queue requests of the second type for later processing by the plurality of storage devices. Operations of the first type may correspond to operations with an expected relatively low latency, and operations of the second type may correspond to operations with an expected relatively high latency.
    Type: Application
    Filed: January 21, 2014
    Publication date: May 15, 2014
    Applicant: PURE Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Publication number: 20140123096
    Abstract: In a method for viewing relevant circuits of a signal on a circuit design diagram of a printed circuit board (PCB), a circuit design diagram and a circuit testing program of the PCB are read from a storage system. A state of each signal of the PCB on the circuit design diagram is determined. Accordingly, sub circuit design diagrams of the signal are obtained from the circuit design diagram and stored into the storage device. When a testing instruction is selected from the circuit testing program, a signal of the PCB is determined. Sub circuit design diagrams of the determined signal are retrieved from the storage device and displayed on a display device.
    Type: Application
    Filed: October 10, 2013
    Publication date: May 1, 2014
    Applicant: HON HAI PRECISION INDUSTRY CO., LTD.
    Inventors: Sheng-Wei SU, Po-Wei WANG, Bo-Hong LIN
  • Publication number: 20140075115
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The storage controller is configured to receive a read request targeted to the data storage medium, and identify at least a first storage device of the plurality of storage devices which contains data targeted by the read request. In response to either detecting or predicting the first storage device will exhibit variable performance, the controller is configured to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device.
    Type: Application
    Filed: November 18, 2013
    Publication date: March 13, 2014
    Applicant: PURE Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Publication number: 20140075105
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. In order to reduce a likelihood of unscheduled behaviors of the storage devices, the storage controller is configured to schedule proactive operations on the storage devices that will reduce a number of occurrences of unscheduled behaviors.
    Type: Application
    Filed: November 18, 2013
    Publication date: March 13, 2014
    Applicant: PURE Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 8645657
    Abstract: A system and method for scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data storage controller is configured to receive requests targeted to the data storage medium, said requests including a first type of operation and a second type of operation. The controller is further configured to schedule requests of the first type for immediate processing by said plurality of storage devices, and queue requests of the second type for later processing by the plurality of storage devices. Operations of the first type may correspond to operations with an expected relatively low latency, and operations of the second type may correspond to operations with an expected relatively high latency.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: February 4, 2014
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Publication number: 20130346690
    Abstract: A system and method for intra-device data protection in a RAID array. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device.
    Type: Application
    Filed: June 10, 2013
    Publication date: December 26, 2013
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: 8589625
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The storage controller is configured to receive a read request targeted to the data storage medium, and identify at least a first storage device of the plurality of storage devices which contains data targeted by the read request. In response to either detecting or predicting the first storage device will exhibit variable performance, the controller is configured to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: November 19, 2013
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 8585336
    Abstract: A fastener includes a bolt, a ring engaged around the bolt, and a coil spring. The bolt includes a head, a threaded engaging portion, a shaft portion between the head and the threaded engaging portion, and a bottom flange extending radially and outwards from an end of the shaft portion connecting the threaded engaging portion. The shaft portion includes a main part connecting the head, a tail part connecting the bottom flange, and a guiding part connecting the main part and the tail part. A diameter of tail part is smaller than a diameter of the main part. A diameter of the guiding part increases from the tail part to the main part along an axial direction of the bolt. The coil spring coils the shaft portion and is sandwiched between the head of the bolt and the ring.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: November 19, 2013
    Assignees: Furui Precise Component (Kunshan) Co., Ltd., Foxconn Technology Co., Ltd.
    Inventors: Tao Tao, Bo Hong
  • Patent number: 8589655
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. In order to reduce a likelihood of unscheduled behaviors of the storage devices, the storage controller is configured to schedule proactive operations on the storage devices that will reduce a number of occurrences of unscheduled behaviors.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: November 19, 2013
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Publication number: 20130275710
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data storage controller is configured to receive requests targeted to the data storage medium, said requests including a first type of operation and a second type of operation. The controller is further configured to schedule requests of the first type for immediate processing by said plurality of storage devices, and queue requests of the second type for later processing by the plurality of storage devices. Operations of the first type may correspond to operations with an expected relatively low latency, and operations of the second type may correspond to operations with an expected relatively high latency.
    Type: Application
    Filed: June 17, 2013
    Publication date: October 17, 2013
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 8495111
    Abstract: A system and method for storing data. In one embodiment, a storage system includes a resource manager and a hierarchical entry tree describing storage entities of the storage system. At each given level of the tree higher than the bottom level, metadata entries summarize storage availability at a level below the given level. The resource manager receives a request to store data of a target size at a target location corresponding to a first portion of the entry tree and scans the entry tree to determine if contiguous, free storage entities of the target size are available at the target location. In response to determining that contiguous, free storage entities of the target size are not available at the target location, the resource manager scans portions of the entry tree outside the first portion to identify contiguous, free storage entities of the target size, where it stores the data.
    Type: Grant
    Filed: September 23, 2008
    Date of Patent: July 23, 2013
    Assignee: Symantec Corporation
    Inventors: Feng Wang, John A. Colgrove, Bo Hong, Oleg Kiselev
  • Patent number: 8468318
    Abstract: A system and method for scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data storage controller is configured to receive requests targeted to the data storage medium, said requests including a first type of operation and a second type of operation. The controller is further configured to schedule requests of the first type for immediate processing by said plurality of storage devices, and queue requests of the second type for later processing by the plurality of storage devices. Operations of the first type may correspond to operations with an expected relatively low latency, and operations of the second type may correspond to operations with an expected relatively high latency.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: June 18, 2013
    Assignee: Pure Storage Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 8463991
    Abstract: A system and method for intra-device data protection in a RAID array. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device.
    Type: Grant
    Filed: September 28, 2010
    Date of Patent: June 11, 2013
    Assignee: Pure Storage Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: 8391279
    Abstract: A modem to process calling packets includes receiving a calling request packet from a software phone of a communication terminal, and determining if the calling request packet includes a special tag. If the IP phone is idle, the modem records a source IP address of the calling request packet, and modifies the source IP of the calling request packet to be an IP address of the IP phone, then the modem transmits the modified calling request packet to a server, and receives a calling reply packet from the server, then modifies a destination IP address of the calling reply packet to be the IP address of the communication terminal. The modem transmits the modified calling reply packet to the software phone to establish the call.
    Type: Grant
    Filed: February 26, 2010
    Date of Patent: March 5, 2013
    Assignees: Ambit Microsystems (Shanghai) Ltd., Hon Hai Precision Industry Co., Ltd.
    Inventors: Pu-Cun Du, Bo Hong, Yao-Shun Chuang
  • Publication number: 20130045062
    Abstract: A fastener includes a bolt, a ring engaged around the bolt, and a coil spring. The bolt includes a head, a threaded engaging portion, a shaft portion between the head and the threaded engaging portion, and a bottom flange extending radially and outwards from an end of the shaft portion connecting the threaded engaging portion. The shaft portion includes a main part connecting the head, a tail part connecting the bottom flange, and a guiding part connecting the main part and the tail part. A diameter of tail part is smaller than a diameter of the main part. A diameter of the guiding part increases from the tail part to the main part along an axial direction of the bolt. The coil spring coils the shaft portion and is sandwiched between the head of the bolt and the ring.
    Type: Application
    Filed: December 1, 2011
    Publication date: February 21, 2013
    Applicants: FOXCONN TECHNOLOGY CO., LTD., FURUI PRECISE COMPONENT (KUNSHAN) CO., LTD.
    Inventors: TAO TAO, BO HONG
  • Publication number: 20120084505
    Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout.
    Type: Application
    Filed: October 1, 2010
    Publication date: April 5, 2012
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Publication number: 20120084504
    Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout.
    Type: Application
    Filed: October 1, 2010
    Publication date: April 5, 2012
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Publication number: 20120084506
    Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, when writing a stripe, the controller may select from any of the plurality of storage devices for one or more of the first RAID layout, the second RAID layout, and storage of redundant data by the additional logical device.
    Type: Application
    Filed: October 1, 2010
    Publication date: April 5, 2012
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Publication number: 20120084507
    Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout.
    Type: Application
    Filed: October 1, 2010
    Publication date: April 5, 2012
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller