Abstract: A mechanism is provided for managing memory of a runtime environment executing on a virtual machine. The mechanism includes an elastic cache made of objects within heap memory of the runtime environment. When the runtime environment and virtual machine are not experiencing memory pressure from a hypervisor, the objects of the elastic cache may be used to temporarily store application-level cache data from applications running within the runtime environment. When memory pressure from the hypervisor is exerted, the objects of the elastic cache are re-purposed to inflate a memory balloon within heap memory of the runtime environment.
Abstract: A memory device may include a non-volatile memory and non-volatile RAM. The non-volatile memory may include a data block and a metadata block. Metadata information with respect to the data block may be included in the metadata block. A portion of metadata with respect to the data block or the metadata with respect to the metadata block may be stored in the non-volatile RAM.
Type:
Grant
Filed:
January 23, 2009
Date of Patent:
December 26, 2017
Assignee:
Samsung Electronics Co., Ltd.
Inventors:
Jae Don Lee, Choong Hun Lee, Gyu Sang Choi, Min Young Son
Abstract: Two translation lookaside buffers may be provided for simpler operation in some embodiments. A hardware managed lookaside buffer may handle traditional operations. A software managed lookaside buffer may be particularly involved in locking particular translations. As a result, the software's job is made simpler since it has a relatively simpler, software managed translation lookaside buffer to manage for locking translations.
Type:
Grant
Filed:
August 3, 2011
Date of Patent:
December 12, 2017
Assignee:
Micron Technology, Inc.
Inventors:
Dennis M. O'Connor, Stephen J. Strazdus
Abstract: One embodiment sets forth a technique for time-multiplexed communication for transmitting command and address information between a controller and a multi-port memory device over a single connection. Command and address information for each port of the multi-port memory device is time-multiplexed within the controller to produce a single stream of commands and addresses for different memory requests. The single stream of commands and addresses is transmitted by the controller to the multi-port memory device where the single stream is demultiplexed to generate separate streams of commands and addresses for each port of the multi-port memory device.
Abstract: A system to configure a storage library, by a processor. A first storage library comprising a plurality of host adapters, a data cache, and a plurality of device adapters is supplied. The first storage library is in communication via fiber channel with a storage area network comprising a storage virtual controller, and the storage area network comprises a configuration library. The storage area network is in communication with a host computer comprising a command line interface and an application. The host adapter, data cache, and device adapter is logically configured using a plurality of logical configuration commands created using the host computer and the command line interface. The plurality of logical configuration commands are added to the configuration library and saved for later use.
Type:
Grant
Filed:
April 24, 2017
Date of Patent:
November 21, 2017
Assignee:
INTERNATIONAL BUSINESS MACHINES CORPORATION
Inventors:
Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Jason L. Peipelman, Matthew J. Ward
Abstract: An apparatus and system are disclosed for a storage area network (“SAN”). In one embodiment, a computer system includes an internal storage device and an internal storage controller. In this embodiment, the internal storage controller is configured to implement a SAN that includes at least the internal storage device and a storage device external to the computer system. In this embodiment, the internal storage controller is further configured to service a storage request received from a client that involves data stored by the internal storage device. In this embodiment, the internal storage controller is configured to communicate with the external storage device via a network.
Type:
Grant
Filed:
July 11, 2013
Date of Patent:
November 21, 2017
Assignee:
SANDISK TECHNOLOGIES LLC
Inventors:
David Flynn, David Atkisson, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
Abstract: Server computers often include one or more input/output (I/O) adapter devices for communicating with a network or directly attached storage device. The data transfer latency for request can be reduced by utilizing ingress data placement logic to bypass the processor of the I/O adapter device. For example, host memory descriptors can be stored in a content addressable memory unit of the I/O adapter device to facilitate placement of requested data.
Type:
Grant
Filed:
June 26, 2015
Date of Patent:
November 14, 2017
Assignee:
Amazon Technologies, Inc.
Inventors:
Asif Khan, Thomas A. Volpe, Marc John Brooker, Marc Stephen Olson, Norbert Paul Kusters, Mark Bradley Davis, Robert Michael Johnson
Abstract: A method is used in managing data in a data storage system. A tiered storage pool is identified wherein the storage pool includes multiple tiers having multiple storage units. A wear indicator for each of the multiple storage units is monitored. A first storage unit having a wear indicator greater than a second storage unit is identified. High activity data on the first storage unit is also identified. The identified high activity data is migrated from the first storage unit to the second storage unit.
Type:
Grant
Filed:
December 30, 2011
Date of Patent:
November 7, 2017
Assignee:
EMC IP Holding Company LLC
Inventors:
Xiangping Chen, Dennis T. Duprey, Thomas E. Linnell, Qin Tao, Mark K. Ku
Abstract: A computing system may receive physical-storage-media identifiers stored on physical storage media approved for use by an organization. The computing system may generate, for each of the physical storage media, a log entry comprising a physical-storage-media identifier, of the physical-storage-media identifiers, stored on the physical storage medium. The computing system may receive, from a computing device, a request to write secure data to a physical storage medium.
Abstract: A storage system includes a storage server adapted to receive data, determine parity data based upon the data, and store the data and the parity data in a storage array associated with the storage server. The data and the parity data may be sent to a second storage server.
Abstract: A semiconductor device including: a first slave device; a first master device outputting a first request control signal and a first access address signal; a second master device outputting a second request control signal and a second access address signal; a system bus connected to the first slave device, the first master device and the second master device, and selecting and outputting either the first request control signal or the second request control signal when the first request control signal is outputted from the first master device and the second request control signal is outputted from the second master device; and a range setting register holding an address range of which an access of the first master device is permitted, wherein the system bus blocks the first request control signal if the first access address signal is out of the address range.
Abstract: A system, methods, and apparatus for determining memory distribution across multiple non-uniform memory access processing nodes are disclosed. An apparatus includes processing nodes, each including processing units and main memory serving as local memory. A bus connects the processing units of each processing node to different main memory of a different processing node as shared memory. Access to local memory has lower memory access latency than access to shared memory. The processing nodes execute threads distributed across the processing nodes, and detect memory accesses made from each processing node for each thread. The processing nodes determine locality values for the thread that represent the fraction of memory accesses made from the processing nodes, and determine processing time values for the threads for a sampling period. The processing nodes determine weighted locality values for the threads, and determine a memory distribution across the processing nodes based on the weighted locality values.
Abstract: Techniques to back up a cluster shared volume (CSV) are disclosed. In various embodiments, a snapshot of the cluster shared volume is stored persistently on the cluster shared volume itself. A task to back up a corresponding assigned portion of the snapshot is assigned to each of one or more cluster servers available to participate in backing up the cluster shared volume. The cluster servers have shared access to the snapshot as stored on the cluster shared volume, and each is configured to perform the task assigned to it in parallel with any other cluster servers assigned to back up other portions of the same cluster shared volume snapshot. The respective assigned tasks are monitored to completion.
Abstract: Systems and methods are disclosed for swapping a memory page from memory to a swap device. An example system for swapping a memory page from memory to a swap device includes a memory to store one or more memory pages. The system also includes a swap device selector that receives an indication to swap out a memory page from memory to a swap device. The swap device selector identifies a memory group to which the memory page belongs and selects a swap device from a plurality of swap devices assigned to the identified memory group. The memory group identifies a plurality of applications having a common property. The system further includes a swap module that copies the memory page into the selected swap device.
Abstract: A solid state drive (SSD) apparatus including a plurality of solid state drives, a channel-interleaved interface operably coupled to the solid state drives, and a Peripheral Component Interconnect Express (PCIe) bridge operably coupled to the channel-interleaved interface.
Abstract: A management computer stores, in a memory, virtual logical volume management information showing information on virtual logical volumes provided to a host computer by a storage device, and pool management information showing information related to a use status of pools. The management computer acquires performance information related to an access to the storage device from the host computer, determines whether the acquired performance related to the access satisfies a predetermined first required performance, or not, and specifies any virtual logical volume which is a cause of the state based on the virtual logical volume management information if the first required performance is not satisfied. The management computer calculates a capacity consumption trend of the real area included in each pool based on the pool management information, creates a countermeasure for satisfying the first required performance implementable after a given time, and outputs the countermeasure to an output device.
Abstract: Disclosed is a method of writing data in a storage device including a nonvolatile memory device. The method includes receiving write data with a write request, detecting a number of free blocks, if the detected number of free blocks is less than a threshold value, allocating a log block only in accordance with a sub-block unit, but if the detected number of free blocks is not less than the threshold value, allocating the log block in accordance with one of the sub-block unit and a physical block unit, wherein the sub-block unit is smaller than the physical block unit.
Abstract: According to one embodiment, a memory system includes a non-volatile semiconductor memory device, a control unit, a memory as a work area, a wireless communication module, and an extension register. The control unit controls the non-volatile semiconductor memory device. The extension register is provided in the memory and has a data length by which a wireless communication function of the wireless communication module can be defined. The control unit causes the non-volatile semiconductor memory device to store, as a file, an HTTP request supplied from a host, causes the extension register, based on a first command supplied from the host, to register an HTTP transmission command transmitted together with the first command, and causes the wireless communication module to transmit the HTTP request stored in the non-volatile semiconductor memory device based on the transmission command registered in the extension register.
Abstract: Data objects of a file are cached in a cache memory of a storage system. An access sequence of the cached data objects is determined based on metadata of the file. In response to a request for cache space reclamation, a data object is evicted from the cache memory whose next access is a farthest amongst the cached data objects based on the access sequence of the data objects.
Type:
Grant
Filed:
April 30, 2012
Date of Patent:
June 20, 2017
Assignee:
EMC IP Holding Company LLC
Inventors:
Frederick Douglis, Windsor W. Hsu, Hangwei Qian
Abstract: In response to an instruction to dismount a storage volume, for example, an object in the storage volume is identified and a handle that references the object is closed. Once an exclusive lock on the storage volume is acquired, the storage volume can be dismounted. The storage volume can then remounted.