Patents by Inventor Joseph M. Kaczmarek

Joseph M. Kaczmarek 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: 11474729
    Abstract: A method for updating software of storage units of a set of storage units in a storage network. In an embodiment, each storage unit of the set of storage units determines a data slice storage status for data slices stored in the storage unit (e.g., by monitoring rebuilding messages relating to the data slices). A processing module of the storage network obtains the data slice storage status of the storage units of the set of storage units and determines whether to perform a software update to software of the storage units of the set of storage units. Determining whether to perform the software update includes determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status. In response to determining that a threshold number of storage units are associated with a favorable data slice storage status, the processing module indicates to perform the software update.
    Type: Grant
    Filed: July 30, 2021
    Date of Patent: October 18, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Michael C. Storm, Ilya Volvovski, Greg R. Dhuse, Anthony J. Baldocchi, Jason K. Resch, Thomas D. Cocagne
  • Publication number: 20220261155
    Abstract: A computing device includes an interface configured to interface and communicate with a storage network, a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice associated with a data object, determines whether the encoded data slice is stored in the first memory and in response to a determination that the encoded data slice is not stored in the first memory, issues another data access request for the encoded data slice to a second memory, where the first memory includes access characteristics that are faster than the second memory. When a data access response including the encoded data slice is received from the second memory, a response including the encoded data slice is transmitted.
    Type: Application
    Filed: April 29, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Bruno H. Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski, Manish Motwani, Ethan S. Wozniak
  • Patent number: 11327689
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
    Type: Grant
    Filed: November 17, 2020
    Date of Patent: May 10, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
  • Publication number: 20210357143
    Abstract: A method for updating software of storage units of a set of storage units in a storage network. In an embodiment, each storage unit of the set of storage units determines a data slice storage status for data slices stored in the storage unit (e.g., by monitoring rebuilding messages relating to the data slices). A processing module of the storage network obtains the data slice storage status of the storage units of the set of storage units and determines whether to perform a software update to software of the storage units of the set of storage units. Determining whether to perform the software update includes determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status. In response to determining that a threshold number of storage units are associated with a favorable data slice storage status, the processing module indicates to perform the software update.
    Type: Application
    Filed: July 30, 2021
    Publication date: November 18, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Michael C. Storm, Ilya Volvovski, Greg R. Dhuse, Anthony J. Baldocchi, Jason K. Resch, Thomas D. Cocagne
  • Patent number: 10904336
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device detects at least one available memory device within a storage unit (SU). The computing device identifies storage capacities of each of the memory devices within the SU and identifies a DSN address range associated with the SU. The computing device maps the DSN address range to each of the memory devices within the SU based on the storage capacities to generate a memory mapping of the memory devices within the SU. The computing device then facilitates redistribution of some EDS from a first memory device to the at least one available memory device within the SU.
    Type: Grant
    Filed: January 24, 2019
    Date of Patent: January 26, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
  • Patent number: 10846025
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
    Type: Grant
    Filed: October 24, 2018
    Date of Patent: November 24, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
  • Patent number: 10552341
    Abstract: Systems and Methods for data storage in a distributed storage network are disclosed. Unexpected errors can adversely affect consistency of both the content of a write (including the slice data), and the synchronicity between the written slices and metadata structures. To maintain consistency between these data structures, a sequencing of the order of writes and flushes to the memory devices for the different data structures may be enforced as follows: First: Slice content data is first written to the volatile memory (e.g. a cache memory) of a DS unit; Second: the Slice content data stored in volatile memory is “flushed” to a non-volatile bin (which bin is associated with a group of physical memory blocks in non-volatile memory); Third: after the flush of the slice content data to the bin (i.e. data is durable on the media device): metadata relating to the data is written.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: February 4, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10528282
    Abstract: A method for execution by a storage unit of a dispersed storage network includes receiving a slice access request that includes a slice name. A first function is performed on the slice name to produce a bucket file identifier. A second function is performed on the slice name to produce a bucket identifier. A bucket file of a plurality of bucket files is accessed, where the bucket file is identified by utilizing the bucket file identifier. A bucket of a plurality of buckets within the bucket file is accessed, where the bucket is identified by utilizing the bucket identifier. It is determined to modify a number of buckets in the bucket file based on bucket utilization. An attribute of the second function is modified in response, where the attribute is associated with the number of buckets in the bucket file.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: January 7, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Joseph M. Kaczmarek, Ethan S. Wozniak, Ilya Volvovski
  • Patent number: 10511665
    Abstract: A distributed storage network (DSN) employs one or more distributed storage task execution (DST EX) units for dispersed storage of encoded data slices. A delete-slice request associated with a first encoded data slice is received at a DST EX unit, the encoded data slice is packed into a common file with other encoded data slices, and the common file is stored in a distributed storage (DS) memory included in the DST EX unit. Each encoded data slice packed into the common file is associated with a file offset within the common file. The DST EX unit identifies a file offset of the first encoded data slice within the common file. The DST EX unit releases the portion of the DS memory associated with the particular file offset within the common file to a file system maintained by the DST EX unit.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: December 17, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Ilya Volvovski, Joseph M. Kaczmarek, Trevor J. Vossberg
  • Patent number: 10466914
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit that includes a processor includes receiving an access request that includes an authorization token from a computing device via a network. Authorization data is generated based on the access request. The access request is executed and a result of the access request is transmitted to the computing device via the network when the authorization data includes a verification indicator. An invalid token notification is generated for transmission to the computing device when the authorization data includes an invalid token indicator.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: November 5, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Joseph M. Kaczmarek, Ravi V. Khadiwala, Jason K. Resch
  • Patent number: 10419538
    Abstract: A method begins by a processing module of a dispersed storage and task (DST) execution unit receiving a data request for execution by the DST execution unit, the data request including a slice name associated with an encoded data slice of the data request. The method continues with the processing module generating a scoring resultant corresponding to each of a plurality of memories of the DST execution unit, in accordance with a ranking function and the slice name. The method continues with the processing module selecting one of the plurality of memories of the DST execution unit in accordance with a mapping function and executing the data request utilizing the one of the plurality of memories of the DST execution unit.
    Type: Grant
    Filed: April 26, 2016
    Date of Patent: September 17, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Jason K. Resch
  • Publication number: 20190158595
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device detects at least one available memory device within a storage unit (SU). The computing device identifies storage capacities of each of the memory devices within the SU and identifies a DSN address range associated with the SU. The computing device maps the DSN address range to each of the memory devices within the SU based on the storage capacities to generate a memory mapping of the memory devices within the SU. The computing device then facilitates redistribution of some EDS from a first memory device to the at least one available memory device within the SU.
    Type: Application
    Filed: January 24, 2019
    Publication date: May 23, 2019
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
  • Patent number: 10257276
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device detects at least one available memory device within a storage unit (SU). The computing device identifies storage capacities of each of the memory devices within the SU and identifies a DSN address range associated with the SU. The computing device maps the DSN address range to each of the memory devices within the SU based on the storage capacities to generate a memory mapping of the memory devices within the SU. The computing device then facilitates redistribution of some EDS from a first memory device to the at least one available memory device within the SU.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
  • Patent number: 10255002
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
  • Publication number: 20190065316
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes generating a plurality of access requests that include an execution deadline time for transmission via a network to a corresponding subset of a plurality of storage units. A first deadline error notification is received via the network from a first storage unit of the first subset. A new one of the plurality of storage units not included in the first subset is selected in response to receiving the first deadline error notification. A new access request that includes an updated execution deadline time is generated for transmission to the new one of the plurality of storage units via the network. The new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset.
    Type: Application
    Filed: October 26, 2018
    Publication date: February 28, 2019
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Joseph M. Kaczmarek, Renars W. Narubin, Ilya Volvovski
  • Publication number: 20190056869
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
    Type: Application
    Filed: October 24, 2018
    Publication date: February 21, 2019
    Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
  • Patent number: 10169151
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes generating a plurality of access requests that include an execution deadline time for transmission via a network to a corresponding subset of a plurality of storage units. A first deadline error notification is received via the network from a first storage unit of the first subset. A new one of the plurality of storage units not included in the first subset is selected in response to receiving the first deadline error notification. A new access request that includes an updated execution deadline time is generated for transmission to the new one of the plurality of storage units via the network. The new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: January 1, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Joseph M. Kaczmarek, Renars W. Narubin, Ilya Volvovski
  • Publication number: 20180337997
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device detects at least one available memory device within a storage unit (SU). The computing device identifies storage capacities of each of the memory devices within the SU and identifies a DSN address range associated with the SU. The computing device maps the DSN address range to each of the memory devices within the SU based on the storage capacities to generate a memory mapping of the memory devices within the SU. The computing device then facilitates redistribution of some EDS from a first memory device to the at least one available memory device within the SU.
    Type: Application
    Filed: July 27, 2018
    Publication date: November 22, 2018
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
  • Patent number: 10089036
    Abstract: A method begins by a processing modules of a storage unit (SU) of a dispersed storage network (DSN) determining to migrate a set of encoded data slices from the first storage format to a second storage format. The method continues with the SU selecting the second storage format for the set of EDSs and selecting a second DSN memory configured to store the set of EDSs based on the second storage format. The method continues with the SU determining a first migration rate and migrating a first subset of the set of EDSs from the first DSN memory to the second DSN memory. The method continues with the SU monitoring activity associated with the DSN memory, selecting a second migration rate based on the activity associated with the at least one of the first DSN memory or the second DSN memory, and migrating a second subset of the set of EDSs based on the second migration rate.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: October 2, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Asimuddin Kazi, Joseph M. Kaczmarek, Jason K. Resch
  • Publication number: 20180239701
    Abstract: Systems and Methods for data storage in a distributed storage network are disclosed. Unexpected errors can adversely affect consistency of both the content of a write (including the slice data), and the synchronicity between the written slices and metadata structures. To maintain consistency between these data structures, a sequencing of the order of writes and flushes to the memory devices for the different data structures may be enforced as follows: First: Slice content data is first written to the volatile memory (e.g. a cache memory) of a DS unit; Second: the Slice content data stored in volatile memory is “flushed” to a non-volatile bin (which bin is associated with a group of physical memory blocks in non-volatile memory); Third: after the flush of the slice content data to the bin (i.e. data is durable on the media device): metadata relating to the data is written.
    Type: Application
    Filed: February 17, 2017
    Publication date: August 23, 2018
    Inventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski