Abstract:
Non-volatile random access memory (NVRAM) caching and logging may be configured to deliver low latency acknowledgements of input/output (I/O) requests, such as write requests, while avoiding loss of data associated with the requests that may occur as a result of power failures. Write data associated with one or more write requests may be received at a node of a cluster. The write data may be stored in a portion of an NVRAM configured as, e.g., a persistent write-back cache of the node, while parameters of the request may be stored in another portion of the NVRAM configured as one or more logs, e.g., NVLogs. The write data may be organized into separate variable length blocks or extents and "written back" out-of-order from the write back cache to storage devices, such as solid state drives (SSDs). The write data may be preserved in the write-back cache until each extent is safely and successfully stored on SSD (i.e., in the event of power loss), or operations associated with the write request are sufficiently logged on NVLog, to thereby provide efficient recovery when attempting to restore the write data preserved in the cache to the SSDs.
Abstract:
A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
Abstract:
The present idea provides a high read and write performance from/to a solid state memory device. The main memory (31) of the controller (1) is not blocked by a complete address mapping table covering the entire memory device (2). Instead such table is stored in the memory device (2) itself, and only selected portions of address mapping information are buffered in the main memory (31) in a read cache (311) and a write cache (312). A separation of the read cache (311) from the write cache (312) enables an address mapping entry being evictable from the read cache (311) without the need to update the related flash memory page storing such entry in the flash memory device (2). By this design, the read cache (311) may advantageously be stored on a DRAM even without power down protection, while the write cache (312) may preferably be implemented in nonvolatile or other fail-safe memory. This leads to a reduction of the overall provisioning of nonvolatile or fail-safe memory and to an improved scalability and performance.
Abstract:
The present invention provides a virtual automated cartridge system (ACS) (10) and data storage device management method which incorporates a temporary data buffer arrangement (32) between multiple user systems (12, 14) and conventional physical data storage devices (24, 26, 28, 30). The temporary data buffer arrangement (32) emulates a compatible physical data storage device when accessed by each of the user systems, but allows simultaneous allocation of different users to access to read and write data to the temporary data buffer. A control processor automatically transfers data stored in the temporary data buffer arrangement (32) to one of the physical data storage devices when allocation to a user has ended.
Abstract:
A diagnostic apparatus (100) comprises a diagnostic data buffer (112) constituting a volatile memory, and a non-volatile memory (120) capable of receiving data from the buffer (112). A data buffer controller (102) is also provided and is operably coupled to the buffer (112) and has an event alert input and a data channel monitoring input for receiving diagnostic data. The buffer (112) receives, when the state of a buffer status memory (116) indicates that the buffer (112) is in an unprotected state, at least part of the diagnostic data received by the controller (102) via the data channel monitoring input to the buffer (112) and the controller (102) sets the state of the buffer status memory (116) to indicate the protected state in response to receipt of an event alert received via the event alert input. A controller (124) monitors the buffer status memory (116) and copies a portion of the buffer (112) to the non-volatile memory (120) in response to the buffer status memory (116) being set to be indicative of the protected state.
Abstract:
The present idea provides a high read and write performance from/to a solid state memory device. The main memory (31) of the controller (1) is not blocked by a complete address mapping table covering the entire memory device (2). Instead such table is stored in the memory device (2) itself, and only selected portions of address mapping information are buffered in the main memory (31) in a read cache (311) and a write cache (312). A separation of the read cache (311) from the write cache (312) enables an address mapping entry being evictable from the read cache (311) without the need to update the related flash memory page storing such entry in the flash memory device (2). By this design, the read cache (311) may advantageously be stored on a DRAM even without power down protection, while the write cache (312) may preferably be implemented in nonvolatile or other fail-safe memory. This leads to a reduction of the overall provisioning of nonvolatile or fail-safe memory and to an improved scalability and performance.
Abstract:
An apparatus is described. The apparatus includes a memory controller comprising logic circuitry to implement a mass storage cache in a non volatile region of a system memory. The non volatile region of the system memory is to support execution of program code directly out of the non volatile region system memory.
Abstract:
The present disclosure includes apparatuses and methods for a cache architecture. An example apparatus that includes a cache architecture according to the present disclosure can include an array of memory cells configured to store multiple cache entries per page of memory cells; and sense circuitry configured to determine whether cache data corresponding to a request from a cache controller is located at a location in the array corresponding to the request, and return a response to the cache controller indicating whether cache data is located at the location in the array corresponding to the request.