Patent classifications
G06F3/0668
Securely storing data in a dispersed storage network
A first encoded data slice is received for storage by a DST execution unit from a first vault. A first encryption key corresponding to the first encoded data slice is generated, and a first encrypted data slice is generated by utilizing the first encryption key. A second encoded data slice for second storage by the DST execution unit from a second vault, a second encryption key corresponding the second encoded data slice is generated, and a second encrypted data slice is generated by utilizing the second encryption key. The first encrypted data slice and the second encrypted data slice are stored in a file of a memory of the DST execution unit, where the file and the memory are common to the first encrypted data slice and the second encrypted data slice.
Apparatus and method for accelerating operations in a processor which uses shared virtual memory
An apparatus and method are described for coupling a front end core to an accelerator component (e.g., such as a graphics accelerator). For example, an apparatus is described comprising: an accelerator comprising one or more execution units (EUs) to execute a specified set of instructions; and a front end core comprising a translation lookaside buffer (TLB) communicatively coupled to the accelerator and providing memory access services to the accelerator, the memory access services including performing TLB lookup operations to map virtual to physical addresses on behalf of the accelerator and in response to the accelerator requiring access to a system memory.
Data storage device and operating method thereof
A data storage device includes a storage medium including a plurality of logical units; and a controller suitable for accessing the storage medium by logical unit, the controller comprising: a first processor suitable for aligning tasks corresponding to at least one logical unit among the plurality of logical units, depending on a priority; and a second processor suitable for accessing other logical units among the plurality of logical units, wherein the first processor entrusts a task alignment operation for the other logical units, to the second processor, based on workloads of the first and second processors.
Automated latency monitoring
A method includes receiving, by a hardware controller of a storage device and from a host device, a command to read data from or write data to a non-volatile memory device of the storage device. The method includes, responsive to receiving the command: initializing, by firmware executing at a processor of the hardware controller, a command to retrieve data from or write data to the non-volatile memory device; determining, by circuit logic of the hardware controller, a time indicative of when the firmware initialized the command; determining, by the circuit logic, a time indicative of when the command terminated; and storing, by the circuit logic and at a latency monitoring cache of the storage device, a timestamp associated with the time indicative of when the command was initialized and a timestamp associated with the time indicative of when the command terminated.
Copy of memory information from a guest transmit descriptor from a free pool and assigned an intermediate state to a tracking data structure
Examples include the copy of memory information from a transmit descriptor to a tracking data structure. Some examples include the memory information being copied from a guest transmit descriptor to a tracking data structure of the guest OS and assignment of the guest transmit descriptor back to a free pool, in response to a determination that the guest transmit descriptor is assigned to an intermediate state.
PROXYING SLICE ACCESS REQUESTS DURING A DATA EVACUATION
A method begins by a processing module receiving a checked write slice request from a requesting entity. The method continues by determining that locally stored encoded data slices do not include the requested encoded data slice. The method continues by identifying an alternate location for the requested encoded data slice. The method continues by determining whether the alternate location is associated with storage of the encoded data slice. The method continues when the alternate location is associated with the storage of the encoded data slice, by issuing a favorable checked write slice response to a requesting entity. The method can include facilitating transfer of the requested encoded data slice from the alternate location to the storage unit for storage.
Proxying slice access requests during a data evacuation
A method begins by a processing module receiving a checked write slice request from a requesting entity. The method continues by determining that locally stored encoded data slices do not include the requested encoded data slice. The method continues by identifying an alternate location for the requested encoded data slice. The method continues by determining whether the alternate location is associated with storage of the encoded data slice. The method continues when the alternate location is associated with the storage of the encoded data slice, by issuing a favorable checked write slice response to a requesting entity. The method can include facilitating transfer of the requested encoded data slice from the alternate location to the storage unit for storage.
STORING DATA AND ASSOCIATED METADATA IN A DISPERSED STORAGE NETWORK
A dispersed storage (DS) processing unit includes a processing module generating metadata for a data object. The DS processing unit further includes a partitioner to partition the data object to produce a plurality of data segments. The DS processing unit further includes a first dispersed storage error encoder encoding the metadata and at least a first data segment using first dispersal parameters to produce a set of encoded metadata slices with a set of first data segment encoded data slices. The DS processing unit further includes a second dispersed storage error encoding a plurality of additional data segments, not including the first data segment, using second dispersal parameters to produce a plurality of additional sets of encoded data slices. The DS processing unit further includes a grouping selector facilitating storage of the set of metadata slices, the first set of encoded data slices and the plurality of additional sets of encoded data slices in a storage set.
DATA TRANSFER PRIORITY LEVELS
A method begins by a processing module receiving updated weighting factors for each of a plurality of storage sets. The method continues with the processing module identifying locally stored encoded data slices of a plurality of locally stored encoded data slices for transfer to one or more storage sets of the plurality of storage sets based on the updated weighting factors. The method continues with the processing module, for each identified locally stored encoded data slice, assigning a transfer priority level. The method continues with the processing module, for each identified locally stored encoded data slice, facilitating transfer of the identified locally stored encoded data slice to the one or more storage sets in accordance with the corresponding assigned transfer priority level.
Adjustment of volume synchronization
Embodiments of the present invention provide systems and methods for adjusting synchronization rates of volumes. Volumes and their copies (i.e., mirrored volumes) provide physical or virtual storage on a data storage medium. Depending on the function (i.e., the purpose) of mirrored volumes, a certain synchronization rate is recommended. Embodiments of the present invention provide systems and methods for an automatic dynamic adjustment of individual synchronization rates by adapting to changes in system workloads in order to avoid degradation of user-driven input/output (IO) and to efficiently achieve nearly 100% synchronization for all mirrored volumes.