摘要:
Systems and methods related to hardware controlled power domains in a hardware system (e.g., an integrated circuit) are disclosed. In one embodiment, fully automatic power on and power off of the power domains in the hardware system is provided without software involvement. In this manner, power up and power down times for the power domains are substantially reduced or minimized, which in turn enables shorter active times for the power domains and thus reduced power consumption (e.g., reduced leakage when hardware in the power domains is idle).
摘要:
A rate matching technique may be configured to adjust a rate of cleaning of one or more selected segments of the storage array to accommodate a variable rate of incoming workload processed by a storage input/output (I/O) stack executing on one or more nodes of a cluster. An extent store layer of the storage I/O stack may clean a segment in accordance with segment cleaning which, illustratively, may be embodied as a segment cleaning process. The rate matching technique may be implemented as a feedback control mechanism configured to adjust the segment cleaning process based on the incoming workload. Components of the feedback control mechanism may include one or more weight schedulers and various accounting data structures, e.g., counters, configured to track the progress of segment cleaning and free space usage. The counters may also be used to balance the rates of segment cleaning and incoming I/O workload, which may change depending upon an incoming I/O rate. When the incoming I/O rate changes, the rate of segment cleaning may be adjusted accordingly to ensure that rates are substantially balanced.
摘要:
In one embodiment, a distributed storage system comprises: a plurality of appliances, a distributed multimode storage management coordinator, and a communication mechanism for communicating distributed multimode storage management messages. A first one of the plurality of appliances can include: a plurality of storage devices that have a first storage partition including a first type of interface and a first information storage region and a second storage partition including a selective underlying exposure (SUE) interface and a second information storage region that stores a second type of information, wherein the SUE interface exposes an aspect of the second information storage region. The distributed multimode storage management coordinator can include a plurality of multimode storage management systems that direct conveyance of information to the plurality of storage devices, wherein the coordinator includes a multiple mode SUE management system that directs file activities of the second partitions via the SUE interface.
摘要:
Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system is disclosed. In this regard, in some aspects, a CMC is configured to receive a memory read request to a physical address in a system memory, and read a compression indicator (CI) for the physical address from a master directory and/or from error correcting code (ECC) bits of the physical address. Based on the CI, the CMC determines a number of memory blocks to be read for the memory read request, and reads the determined number of memory blocks. In some aspects, a CMC is configured to receive a memory write request to a physical address in the system memory, and generate a CI for write data based on a compression pattern of the write data. The CMC updates the master directory and/or the ECC bits of the physical address with the generated CI.
摘要:
A method of preventing a bank conflict in a memory includes determining processing timing of each of threads of function units to access a first memory bank in which occurrence of a bank conflict is expected, setting a variable latency of each of the threads for sequential access of the threads according to the determined processing timing, sequentially storing the threads in a data memory queue according to the determined processing timing, and performing an operation by allowing the threads stored in the data memory queue to sequentially access the first memory bank whenever the variable latency of each of the threads passes.
摘要:
There is provided a system for creating selective snapshots of a database that is stored as one or more segments, wherein a segment comprises one or more memory pages. The system comprises: - a determining unit for determining whether a snapshot process is configured to access a selected segment of the one or more segments, - an assigning unit for assigning a positive mapping status to an accessed segment for which the determining unit has determined that it is accessed by the snapshot process and for assigning a negative mapping status to a non-accessed segment for which the determining unit has determined that it is not accessed by the snapshot process, and - a snapshot unit for creating a snapshot, wherein creating the snapshot comprises a step of forking the snapshot process with an address space that comprises a subset of the one or more segments, wherein a non-mapped segment that has been assigned a negative mapping status is not mapped in the address space.
摘要:
In an embodiment, a shared memory fabric is configured to receive memory requests from multiple agents, where at least some of the requests have an associated deadline value to indicate a maximum latency prior to completion of the memory request. Responsive to the requests, the fabric is to arbitrate between the requests based at least in part on the deadline values. Other embodiments are described and claimed.
摘要:
Multiple nodes of a cluster have associated non-shared, local caches, used to cache shared storage content. Each local cache is accessible only to the node with which it is associated, whereas the cluster-level shared storage is accessible by any of the nodes. Attempts to access the shared storage by the nodes of the cluster are monitored. Information is tracked concerning the current statuses of the local caches of the nodes of the cluster. Current tracked local cache status information is maintained, and stored such that it is accessible by the multiple nodes of the cluster. The current tracked local cache status information is used in conjunction with the caching functionality to determine whether specific nodes of the cluster are to access their local caches or the shared storage to obtain data corresponding to specific regions of the shared storage.