Patents by Inventor Matthew D. Fleming

Matthew D. Fleming 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: 11256587
    Abstract: A method of failure detection in a storage system is performed by the storage system. The method includes detecting a failure in a nonvolatile random access memory device that is in or coupled to a storage device having storage memory. The storage system has multiple NVRAM devices and multiple storage devices that have storage memory. The method includes taking a portion or all of the NVRAM device offline. Taking a portion or all of the NVRAM device offline is responsive to detecting the failure. Taking a portion or all of the NVRAM device off-line is while keeping online the storage memory of the storage device, sufficient ones of the NVRAM devices, and sufficient ones of the storage devices to provide reliable access to data and metadata in the storage system.
    Type: Grant
    Filed: April 17, 2020
    Date of Patent: February 22, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Eric Mueller, Matthew D. Fleming, Shao-Ting Chang, Pavan Rao, Xinyi Shu
  • Publication number: 20210326225
    Abstract: A method of failure detection in a storage system is performed by the storage system. The method includes detecting a failure in a nonvolatile random access memory device that is in or coupled to a storage device having storage memory. The storage system has multiple NVRAM devices and multiple storage devices that have storage memory. The method includes taking a portion or all of the NVRAM device offline. Taking a portion or all of the NVRAM device offline is responsive to detecting the failure. Taking a portion or all of the NVRAM device off-line is while keeping online the storage memory of the storage device, sufficient ones of the NVRAM devices, and sufficient ones of the storage devices to provide reliable access to data and metadata in the storage system.
    Type: Application
    Filed: April 17, 2020
    Publication date: October 21, 2021
    Inventors: Eric Mueller, Matthew D. Fleming, Shao-Ting Chang, Pavan Rao, Xinyi Shu
  • Patent number: 11138103
    Abstract: A method of operating a plurality of blades of a storage system, performed by the storage system, is provided. The method includes writing data stripes across one or more sets of blades of the plurality of blades within resiliency groups, the plurality of blades having computing resources and storage memory, each resiliency group supporting data recovery in case of loss of a specified number of blades of the resiliency group. The method includes transferring data from a first resiliency group to a second resiliency group, responsive to a change in geometry of the storage system.
    Type: Grant
    Filed: April 27, 2018
    Date of Patent: October 5, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Guangyu Shi, Faissal Sleiman, Janis Stipins, Ying Gao, Matthew D. Fleming, Boris Feigin
  • Patent number: 11068389
    Abstract: A method of operating a storage system is provided. The method includes detecting differing amounts of storage memory on two or more of a plurality of blades of the storage system and forming a plurality of resiliency groups of blades, based on the differing amounts of storage memory, each resiliency group comprising a subset of the plurality of blades of the storage system supporting data recovery in case of failure of two of the blades of the resiliency group.
    Type: Grant
    Filed: October 11, 2018
    Date of Patent: July 20, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ying Gao, Faissal Sleiman, Matthew D. Fleming
  • Publication number: 20200327953
    Abstract: A method of tracking flash memory in a storage system is provided. The method includes initializing a bad blocks threshold value and marking one or more planes or logical unit numbers (LUNs) of flash memory as bad, responsive to determining that bad blocks in the one or more planes or LUNs meet the bad blocks threshold value. The method includes adjusting the bad blocks threshold value, responsive to exceeding a threshold number or rate of retiring planes or LUNs of flash memory, and repeating the marking and the adjusting, with the bad blocks threshold value capped at a maximum threshold value.
    Type: Application
    Filed: April 11, 2019
    Publication date: October 15, 2020
    Inventors: Matthew D. Fleming, John Roper, Hari Kannan, John Boyle, Eric Michael Verwillow, Nenad Miladinovic, Eric Mueller
  • Publication number: 20190042407
    Abstract: A method of operating a storage system is provided. The method includes detecting differing amounts of storage memory on two or more of a plurality of blades of the storage system and forming a plurality of resiliency groups of blades, based on the differing amounts of storage memory, each resiliency group comprising a subset of the plurality of blades of the storage system supporting data recovery in case of failure of two of the blades of the resiliency group.
    Type: Application
    Filed: October 11, 2018
    Publication date: February 7, 2019
    Inventors: Ying Gao, Faissal Sleiman, Matthew D. Fleming
  • Patent number: 9223500
    Abstract: Embodiments are directed towards cloning files in a distributed file system. In response to a request to create file clones, a file cloning application can be employed to generate file clones based on a source file. The file cloning application can generate a new inode for each new file clone and at least one new shadow store. Data blocks from the source file can be transferred to the shadow store. The transferred data blocks can be replaced with reference blocks that point to the data blocks transferred to the shadow store. Likewise, additional reference blocks pointing to data blocks in the shadow store can be generated for the new file clone inodes. Further, the shadow store can maintain reference counters that track the number of reference blocks pointing to each shadow store block. Also, file clones can be generated based on a point-in-time snapshot of the source file.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: December 29, 2015
    Assignee: EMC CORPORATION
    Inventors: Eric Michael Lemar, Matthew D. Fleming, Asif Arif Daud, Mohd Fahadullah, Ronald Stuart Steinke, Justin Michael Husted
  • Patent number: 8312201
    Abstract: A mechanism for operating a virtual memory is provided in an operating system. The mechanism detects the existence of a central memory loan pool, identifies a segment of memory that is loanable, and transmits an indicator that the segment is available for loaning to the memory loan pool. The operating system contributing memory can monitor its actual memory capacity and reclaim the loaned segment if the amount of memory available to the loaning operating system (OS) gets below a predetermined value.
    Type: Grant
    Filed: June 9, 2008
    Date of Patent: November 13, 2012
    Assignee: International Business Machines Corporation
    Inventor: Matthew D. Fleming
  • Patent number: 8055876
    Abstract: Disclosed is a computer implemented method, apparatus and computer program product for communicating virtual memory page status to a virtual memory manager. An operating system may receive a request to free a virtual memory page from a first application. The operating system determines whether the virtual memory page is free due to an operating system page replacement. Responsive to a determination that the virtual memory page is free due to the operating system page replacement, the operating system inhibits marking the virtual memory page as unused. Finally, the operating system may insert the virtual memory page on an operating system free list.
    Type: Grant
    Filed: June 6, 2008
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Matthew D. Fleming, David A. Hepkin
  • Patent number: 7971027
    Abstract: Disclosed is a computer implemented method and apparatus for marking as critical a virtual memory page in a data processing system. An operating system indicates to a virtual memory manager a virtual memory page selected for paging-out to disk. The operating system determines that the data processing system is using a cooperative memory over-commitment. The operating system, responsive to a determination that the data processing system is using cooperative memory over-commitment, marks the virtual memory page as critical, such that the virtual memory page remains in physical memory. The operating system, responsive to marking the virtual memory page as critical, sets the virtual memory page to a page-out state.
    Type: Grant
    Filed: June 9, 2008
    Date of Patent: June 28, 2011
    Assignee: International Business Machines Corporation
    Inventors: Matthew D. Fleming, David A. Hepkin
  • Publication number: 20110059817
    Abstract: A modular table tennis game includes a plurality of paddles, a table tennis ball, and an adjustable table, or multiple adjustable tables. The table(s) may be mounted on a support system such as a tripod or other support structure that allows the table(s) to be adjusted in height and tilt. The top of the table(s) may have an opening or openings larger than the table tennis ball penetrating therethrough.
    Type: Application
    Filed: November 16, 2010
    Publication date: March 10, 2011
    Inventors: Matthew D. FLEMING, Daniel Lee Bizzell, Ian D. Kovacevich, Juan Marin, Ashley Beres Tilley, Kevin J. Dahlquist, Carole Ruffin, Chris Adams, Meredith Beck
  • Patent number: 7841958
    Abstract: A modular table tennis game includes a plurality of paddles, a table tennis ball, and an adjustable table, or multiple adjustable tables. The tables may be mounted on a support system such as a tripod or other support structure that allows the tables to be adjusted in height and tilt. The top of the tables may have an opening or openings larger than the table tennis ball penetrating therethrough.
    Type: Grant
    Filed: January 7, 2009
    Date of Patent: November 30, 2010
    Assignee: Edison Nation, LLC
    Inventors: Matthew D. Fleming, Daniel Lee Bizzell, Ian D. Kovacevich, Juan Marin, Ashley Beres Tilley, Kevin J. Dahlquist, Carole Ruffin, Chris Adams, Meredith Beck
  • Publication number: 20090307462
    Abstract: Disclosed is a computer implemented method and apparatus for marking as critical a virtual memory page in a data processing system. An operating system indicates to a virtual memory manager a virtual memory page selected for paging-out to disk. The operating system determines that the data processing system is using a cooperative memory over-commitment. The operating system, responsive to a determination that the data processing system is using cooperative memory over-commitment, marks the virtual memory page as critical, such that the virtual memory page remains in physical memory. The operating system, responsive to marking the virtual memory page as critical, sets the virtual memory page to a page-out state.
    Type: Application
    Filed: June 9, 2008
    Publication date: December 10, 2009
    Applicant: International Business Machines Corporation
    Inventors: Matthew D. Fleming, David A. Hepkin
  • Publication number: 20090307432
    Abstract: A method of operating a virtual memory is disclosed. The method can include detecting the existence of a central memory loan pool, determining a segment of memory that is loanable, and transmitting an indicator that the segment is available for loaning to the memory loan pool. The operating system contributing memory can monitor its' actual memory capacity and reclaim the loaned segment if the amount of memory available to the loaning operating system (OS) gets below a predetermined value. Other embodiments are also disclosed.
    Type: Application
    Filed: June 9, 2008
    Publication date: December 10, 2009
    Inventor: Matthew D. Fleming
  • Publication number: 20090307459
    Abstract: Disclosed is a computer implemented method, apparatus and computer program product for communicating virtual memory page status to a virtual memory manager. An operating system may receive a request to free a virtual memory page from a first application. The operating system determines whether the virtual memory page is free due to an operating system page replacement. Responsive to a determination that the virtual memory page is free due to the operating system page replacement, the operating system inhibits marking the virtual memory page as unused. Finally, the operating system may insert the virtual memory page on an operating system free list.
    Type: Application
    Filed: June 6, 2008
    Publication date: December 10, 2009
    Applicant: International Business Machines Corporation
    Inventors: Matthew D. Fleming, David A. Hepkin
  • Publication number: 20090191987
    Abstract: A modular table tennis game includes a plurality of paddles, a table tennis ball, and an adjustable table, or multiple adjustable tables. The tables may be mounted on a support system such as a tripod or other support structure that allows the tables to be adjusted in height and tilt. The top of the tables may have an opening or openings larger than the table tennis ball penetrating therethrough.
    Type: Application
    Filed: January 7, 2009
    Publication date: July 30, 2009
    Applicant: EDISON NATION, LLC
    Inventors: Matthew D. FLEMING, Daniel Lee BIZZELL, Ian D. KOVACEVICH, Juan MARIN, Ashley Beres TILLEY, Kevin J. DAHLQUIST, Carole RUFFIN, Chris ADAMS, Meredith BECK
  • Publication number: 20080148002
    Abstract: A method, system and program are provided for allocating a data structure to memory by selecting a page of memory having a free entry, allocating the free entry for exclusive storage of a data element in the data structure, and then updating control information on the selected page with management data specifying that the free entry is allocated. In a selected embodiment, the page of memory is part of a heap of memory pages which is organized so that a page, having at least one free entry and fewer free entries than any other page in the heap, is located at the top of the heap. This allows allocations to proceed first with pages having fewer free entries, thereby promoting pages having all free entries.
    Type: Application
    Filed: December 13, 2006
    Publication date: June 19, 2008
    Inventor: Matthew D. Fleming