G06F3/0647

Virtualized file server

In one embodiment, a system for managing communication connections in a virtualization environment includes a plurality of host machines implementing a virtualization environment, wherein each of the host machines includes a hypervisor, at least one user virtual machine (user VM), and a distributed file server that includes file server virtual machines (FSVMs) and associated local storage devices. Each FSVM and associated local storage device are local to a corresponding one of the host machines, and the FSVMs conduct I/O transactions with their associated local storage devices based on I/O requests received from the user VMs. Each of the user VMs on each host machine sends each of its respective I/O requests to an FSVM that is selected by one or more of the FSVMs for each I/O request based on a lookup table that maps a storage item referenced by the I/O request to the selected one of the FSVMs.

Data processing engine arrangement in a device

A device may include a plurality of data processing engines. Each of the data processing engines may include a memory pool having a plurality of memory banks, a plurality of cores each coupled to the memory pool and configured to access the plurality of memory banks, a memory mapped switch coupled to the memory pool and a memory mapped switch of at least one neighboring data processing engine, and a stream switch coupled to each of the plurality of cores and to a stream switch of the at least one neighboring data processing engine.

Enhanced network attached storage (NAS) services interfacing to cloud storage

An illustrative storage management appliance is interposed between client computing devices and one or more cloud storage resources. The appliance uses cloud storage resources in conjunction with a network attached storage device configured within the appliance to provide to the client computing devices seemingly unlimited network attached storage on respective network shares. The storage management appliance monitors data objects on the network shares and when a data object meets one or more criteria for archiving, the storage management appliance archives the data object to a cloud storage resource and replaces it with a stub and preview image on the network share. When access to the stub and/or preview image is detected, the storage management appliance restores the data object from the cloud storage resource. The criteria for archiving flexibly allow individual data objects to be archived to cloud storage without archiving frequently-accessed “neighboring” data objects on the same network share.

Computer-readable recording medium storing transfer program, transfer method, and transferring device
11593176 · 2023-02-28 · ·

A transfer method is performed by an information processing apparatus. The method includes: selecting, based on a load status of the information processing apparatus, candidate transfer data that is among the received data and to be transferred to one or more other information processing apparatuses; selecting, based on load statuses of multiple other information processing apparatuses, one or more candidate transfer destination apparatuses among the multiple other information processing apparatuses as candidate transfer destinations of the data; determining, based on throughput between the information processing apparatus and the candidate transfer destination apparatuses, data to be transferred among the candidate transfer data, transfer destination apparatuses of the data to be transferred among the candidate transfer destination apparatuses, and the sizes of data groups including the data to be transferred; and transferring, to the transfer destination apparatuses determined for the determined data groups, the determined data to be transferred.

Managing client devices associated with storage nodes in a scale-out storage system
11593035 · 2023-02-28 · ·

Client devices associated with scale-out storage nodes can be managed based on scale-out storage nodes having backup power supplies. For example, a management node of a scale-out storage system can determine, from among a plurality of storage nodes of the scale-out system, that a first storage node is uncoupled to a backup power supply and that a second storage node is coupled to the backup power supply. The management node can receive device characteristics describing a type of workload and a configuration for a client device associated with the first storage node. The management node can determine the client device satisfies a migration policy based on the device characteristics. The management node can migrate the client device to the second storage node based on the client device satisfying the migration policy.

System and method for approximating replication completion time

One embodiment provides a computer implemented method of estimating replication completion time. The method includes creating a historical dataset of prior replication data; determining a set of replication parameters to consider; inputting the historical dataset and the set of replication parameters to a replication completion time estimator module; generating a replication completion time prediction based on the historical dataset and the set of replication parameters; and generating a confidence prediction corresponding to the replication completion time prediction.

Data storage system for improving data throughput and decode capabilities

Systems and methods for storing data are described. A system can comprise a controller, one or more physical non-volatile memory devices, a bus comprising a plurality of input/output (I/O) lines. The controller configured to receive data, encode the received data into a codeword, and transfer, in parallel, different portions of the codeword to different physical non-volatile memory devices among the plurality of physical non-volatile memory devices.

TWO-LEVEL SYSTEM MAIN MEMORY
20180004432 · 2018-01-04 ·

Embodiments of the invention describe a system main memory comprising two levels of memory that include cached subsets of system disk level storage. This main memory includes “near memory” comprising memory made of volatile memory, and “far memory” comprising volatile or nonvolatile memory storage that is larger and slower than the near memory.

The far memory is presented as “main memory” to the host OS while the near memory is a cache for the far memory that is transparent to the OS, thus appearing to the OS the same as prior art main memory solutions. The management of the two-level memory may be done by a combination of logic and modules executed via the host CPU. Near memory may be coupled to the host system CPU via high bandwidth, low latency means for efficient processing. Far memory may be coupled to the CPU via low bandwidth, high latency means.

METHOD OF MOVING FILES IN HIERARCHICAL STORAGE SYSTEM
20180004450 · 2018-01-04 ·

A method for moving files in a hierarchical storage system having a primary storage and a secondary storage including a sequential storage device from the primary storage to the secondary storage includes obtaining a predetermined file size to be written to the secondary storage, extracting, from a plurality of files in the primary storage, a file not stored in the secondary storage and having the oldest last access time, estimating a file size of the file having the oldest last access time on the secondary storage if the file having the oldest last access time is written to the secondary storage, and selecting the file having the oldest last access time as a file to be moved to the secondary storage as long as the estimated file size does not exceed the predetermined file size to be written to the secondary storage.

FAST WRITE MECHANISM FOR EMULATED ELECTRICALLY ERASEBLE (EEE) SYSTEM
20180004616 · 2018-01-04 ·

An embodiment for operation of an emulated electrically erasable (EEE) memory system includes a memory controller configured to identify a first quick record of a stack of quick records as a present record, wherein the stack of quick records are stored in a non-volatile portion of memory, the first quick record has a quick record status identifier (ID) that indicates the stack of quick records has not been qualified, determine a record status of a next record after the present record in the non-volatile portion of memory, and in response to a determination that the next record has a blank record status ID: update the next record from the blank record status ID to the quick record status ID, wherein the blank record status ID indicates that the next record is part of the stack of quick records, and qualify the present record using the plurality of program steps.