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: 11474729Abstract: 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: GrantFiled: July 30, 2021Date of Patent: October 18, 2022Assignee: 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: 20220261155Abstract: 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: ApplicationFiled: April 29, 2022Publication date: August 18, 2022Applicant: Pure Storage, Inc.Inventors: Bruno H. Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski, Manish Motwani, Ethan S. Wozniak
-
Patent number: 11327689Abstract: 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: GrantFiled: November 17, 2020Date of Patent: May 10, 2022Assignee: PURE STORAGE, INC.Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
-
Publication number: 20210357143Abstract: 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: ApplicationFiled: July 30, 2021Publication date: November 18, 2021Applicant: 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: 10904336Abstract: 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: GrantFiled: January 24, 2019Date of Patent: January 26, 2021Assignee: PURE STORAGE, INC.Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
-
Patent number: 10846025Abstract: 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: GrantFiled: October 24, 2018Date of Patent: November 24, 2020Assignee: PURE STORAGE, INC.Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
-
Patent number: 10552341Abstract: 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: GrantFiled: February 17, 2017Date of Patent: February 4, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
-
Patent number: 10528282Abstract: 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: GrantFiled: December 14, 2017Date of Patent: January 7, 2020Assignee: PURE STORAGE, INC.Inventors: Joseph M. Kaczmarek, Ethan S. Wozniak, Ilya Volvovski
-
Patent number: 10511665Abstract: 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: GrantFiled: December 12, 2017Date of Patent: December 17, 2019Assignee: PURE STORAGE, INC.Inventors: Greg R. Dhuse, Ilya Volvovski, Joseph M. Kaczmarek, Trevor J. Vossberg
-
Patent number: 10466914Abstract: 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: GrantFiled: July 25, 2016Date of Patent: November 5, 2019Assignee: PURE STORAGE, INC.Inventors: Joseph M. Kaczmarek, Ravi V. Khadiwala, Jason K. Resch
-
Patent number: 10419538Abstract: 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: GrantFiled: April 26, 2016Date of Patent: September 17, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Jason K. Resch
-
Publication number: 20190158595Abstract: 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: ApplicationFiled: January 24, 2019Publication date: May 23, 2019Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
-
Patent number: 10257276Abstract: 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: GrantFiled: July 27, 2018Date of Patent: April 9, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
-
Patent number: 10255002Abstract: 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: GrantFiled: November 28, 2016Date of Patent: April 9, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
-
Publication number: 20190065316Abstract: 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: ApplicationFiled: October 26, 2018Publication date: February 28, 2019Inventors: Andrew D. Baptist, Greg R. Dhuse, Joseph M. Kaczmarek, Renars W. Narubin, Ilya Volvovski
-
Publication number: 20190056869Abstract: 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: ApplicationFiled: October 24, 2018Publication date: February 21, 2019Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
-
Patent number: 10169151Abstract: 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: GrantFiled: August 29, 2016Date of Patent: January 1, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Greg R. Dhuse, Joseph M. Kaczmarek, Renars W. Narubin, Ilya Volvovski
-
Publication number: 20180337997Abstract: 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: ApplicationFiled: July 27, 2018Publication date: November 22, 2018Inventors: Manish Motwani, Joseph M. Kaczmarek, Jason K. Resch
-
Patent number: 10089036Abstract: 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: GrantFiled: November 30, 2017Date of Patent: October 2, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Asimuddin Kazi, Joseph M. Kaczmarek, Jason K. Resch
-
Publication number: 20180239701Abstract: 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: ApplicationFiled: February 17, 2017Publication date: August 23, 2018Inventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski