G06F2212/7207

Self-encrypting flash drive
09811478 · 2017-11-07 · ·

Exemplary methods are provided for storing data in a flash storage device to facilitate subsequent detection of tampering, comprising receiving a plaintext; reading first metadata associated with a device sector; encrypting the plaintext based on the first metadata to generate a cipher text and first authentication data; storing the cipher text in the sector; and storing the first authentication data as second metadata associated with the sector. Exemplary methods are also provided for detecting tampering with data stored in a flash storage device, comprising determining a physical location in a device sector; reading cipher text from the physical location; reading first authentication data and maintenance metadata associated with the sector; decrypting the cipher text based on a user key and the maintenance metadata to generate second authentication data; and determining the occurrence of tampering based on the first and second authentication data. Memory devices embodying said methods are also provided.

Apparatus and method for managing meta data for engagement of plural memory system to store data
11249919 · 2022-02-15 · ·

A system is used in a data processing system comprising at least one memory system which is operatively engaged and disengaged from a host or from another memory system and the host transmitting commands into the at least one memory system. The system includes a metadata generator configured to generate a map table for an available address range and a reallocation table for indicating an allocable address range in the map table; and a metadata controller configured to allocate the allocable address range to the at least one memory system when the at least one memory system is operatively engaged to the host or to another memory system, or release an allocated range for the at least one memory system such that the allocated range becomes the allocable address range when the at least one memory system is operatively disengaged from the host or the another memory system.

Efficiently purging non-active blocks in NVM regions using virtblock arrays

Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.

Data storage device and data access-method
09766974 · 2017-09-19 · ·

The present invention provides a data-storage device including a flash memory and a controller. The flash memory includes a plurality of blocks, and each of the blocks has a plurality of pages, wherein each of the pages has a plurality of sub-pages and a plurality of spare areas, each of the spare areas is arranged to store a spare data sector, and the spare data sector respectively corresponds to the sub-pages. The controller is arranged to access the sub-pages according to the spare data sector.

Memory controller and method of operating the same
11249849 · 2022-02-15 · ·

A memory controller configured to control a memory device may include: a metadata storage configured to store a plurality of metadata segments; a metadata updater configured to sequentially update the metadata segments; a backup data storage configured to store at least one original metadata segment (a metadata segment existing before being updated) among the metadata segments; a metadata backup circuit configured to store, before a selected metadata segment among the metadata segments is updated, an original metadata segment of the selected metadata segment in the backup data storage; and a metadata restorer configured to generate storage inhibit information indicating whether storing data in the memory device is inhibited based on a residual storage capacity of the memory device, and store, in the metadata storage, the original metadata segment stored in the backup data storage in response to the storage inhibit information while the metadata segments are updated.

Maintenance of nonvolatile memory on host selected namespaces by a common memory controller

This disclosure provides techniques for managing memory which match per-data metrics to those of other data or to memory destination. In one embodiment, wear data is tracked for at least one tier of nonvolatile memory (e.g., flash memory) and a measure of data persistence (e.g., age, write frequency, etc.) is generated or tracked for each data item. Memory wear management based on these individually-generated or tracked metrics is enhanced by storing or migrating data in a manner where persistent data is stored in relatively worn memory locations (e.g., relatively more-worn flash memory) while temporary data is stored in memory that is less worn or is less susceptible to wear. Other data placement or migration techniques are also disclosed.

MEMORY CONTROLLER, METHOD OF CONTROLLING NONVOLATILE MEMORY AND MEMORY SYSTEM

According to one embodiment, a memory controller includes a compression unit and a padding processing unit. The compression unit generates first compressed data and second compressed data by compressing first data and second data. The padding processing unit pads first padding data for the first compressed data in accordance with a first padding pattern and pads second padding data for the second compressed data in accordance with a second padding pattern.

METHOD AND SYSTEM FOR STORING METADATA OF LOG-STRUCTURED FILE SYSTEM
20170255636 · 2017-09-07 ·

A method, system and computer-readable recording medium for storing metadata of a log-structured file system. The method includes receiving a block management request signal including information about a block number and indicating whether it is an allocation request or a deallocation request for a block, calculating a segment number to which the block belongs with reference to the block number, obtaining a metadata segment usage (MSU) item corresponding to the segment number, wherein the metadata segment usage (MSU) item includes information about a segment number and a number of valid blocks, and increasing the number of valid blocks of the metadata segment usage (MSU) item by one when the block management request signal corresponds to the allocation request, and decreasing the number of valid blocks of the metadata segment usage (MSU) by one item when the block management request signal corresponds to the deallocation request.

METHOD AND DEVICE TO ENSURE A SECURE MEMORY ACCESS

The present disclosure relates to a system, a method and to a memory device to ensure a secure memory access to a memory device. The memory device is structured and organized with:

a first accessible data storage area configured to store data of a host device;

a second accessible data storage area configured to store metadata.

The second accessible data storage area is organized in groups of sub-fields including at least a first group of flags and at least another field of the same second accessible storage area selectable by the value of one of said flags.

Network authentication for a storage system

A method of operating a storage system is provided. The method includes establishing a security context between a client and the storage system, the security context comprising a single ticket for multiple nodes within the storage system. The method includes distributing a first request to a first blade within the storage system and distributing a second request to a second blade within the storage system. The distributing the first request and the second request includes determining a node for handling the first request and the second request based on data within the single ticket.