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: 11256587Abstract: 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: GrantFiled: April 17, 2020Date of Patent: February 22, 2022Assignee: Pure Storage, Inc.Inventors: Eric Mueller, Matthew D. Fleming, Shao-Ting Chang, Pavan Rao, Xinyi Shu
-
Publication number: 20210326225Abstract: 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: ApplicationFiled: April 17, 2020Publication date: October 21, 2021Inventors: Eric Mueller, Matthew D. Fleming, Shao-Ting Chang, Pavan Rao, Xinyi Shu
-
Patent number: 11138103Abstract: 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: GrantFiled: April 27, 2018Date of Patent: October 5, 2021Assignee: Pure Storage, Inc.Inventors: Guangyu Shi, Faissal Sleiman, Janis Stipins, Ying Gao, Matthew D. Fleming, Boris Feigin
-
Patent number: 11068389Abstract: 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: GrantFiled: October 11, 2018Date of Patent: July 20, 2021Assignee: Pure Storage, Inc.Inventors: Ying Gao, Faissal Sleiman, Matthew D. Fleming
-
Publication number: 20200327953Abstract: 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: ApplicationFiled: April 11, 2019Publication date: October 15, 2020Inventors: Matthew D. Fleming, John Roper, Hari Kannan, John Boyle, Eric Michael Verwillow, Nenad Miladinovic, Eric Mueller
-
Publication number: 20190042407Abstract: 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: ApplicationFiled: October 11, 2018Publication date: February 7, 2019Inventors: Ying Gao, Faissal Sleiman, Matthew D. Fleming
-
Patent number: 9223500Abstract: 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: GrantFiled: June 29, 2012Date of Patent: December 29, 2015Assignee: EMC CORPORATIONInventors: Eric Michael Lemar, Matthew D. Fleming, Asif Arif Daud, Mohd Fahadullah, Ronald Stuart Steinke, Justin Michael Husted
-
Patent number: 8312201Abstract: 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: GrantFiled: June 9, 2008Date of Patent: November 13, 2012Assignee: International Business Machines CorporationInventor: Matthew D. Fleming
-
Patent number: 8055876Abstract: 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: GrantFiled: June 6, 2008Date of Patent: November 8, 2011Assignee: International Business Machines CorporationInventors: Matthew D. Fleming, David A. Hepkin
-
Patent number: 7971027Abstract: 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: GrantFiled: June 9, 2008Date of Patent: June 28, 2011Assignee: International Business Machines CorporationInventors: Matthew D. Fleming, David A. Hepkin
-
Publication number: 20110059817Abstract: 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: ApplicationFiled: November 16, 2010Publication date: March 10, 2011Inventors: 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: 7841958Abstract: 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: GrantFiled: January 7, 2009Date of Patent: November 30, 2010Assignee: Edison Nation, LLCInventors: 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: 20090307462Abstract: 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: ApplicationFiled: June 9, 2008Publication date: December 10, 2009Applicant: International Business Machines CorporationInventors: Matthew D. Fleming, David A. Hepkin
-
Publication number: 20090307432Abstract: 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: ApplicationFiled: June 9, 2008Publication date: December 10, 2009Inventor: Matthew D. Fleming
-
Publication number: 20090307459Abstract: 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: ApplicationFiled: June 6, 2008Publication date: December 10, 2009Applicant: International Business Machines CorporationInventors: Matthew D. Fleming, David A. Hepkin
-
Publication number: 20090191987Abstract: 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: ApplicationFiled: January 7, 2009Publication date: July 30, 2009Applicant: EDISON NATION, LLCInventors: 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: 20080148002Abstract: 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: ApplicationFiled: December 13, 2006Publication date: June 19, 2008Inventor: Matthew D. Fleming