G06F3/0646

Memory mapping for memory, memory modules, and non-volatile memory

Apparatuses and methods related to commands to transfer data and/or perform logic operations are described. For example, a command that identifies a location of data and a target for transferring the data may be issued to a memory device. Or a command that identifies a location of data and one or more logic operations to be performed on that data may be issued to a memory device. A memory module may include different memory arrays (e.g., different technology types), and a command may identify data to be transferred between arrays or between controllers for the arrays. Commands may include targets for data expressed in or indicative of channels associated with the arrays, and data may be transferred between channels or between memory devices that share a channel, or both. Some commands may identify data, a target for the data, and a logic operation for the data.

Expanding raid systems
11775182 · 2023-10-03 · ·

Physical storage devices (PSDs) of a protection group cluster (PGC) may be represented by a protection group matrix (PGM) having a plurality of rows and a plurality of columns, where each row corresponds to a PSD of the PGC, and each column corresponds to a partition of each PSD. The value specified in each cell at an intersection of a row and column specifies the protection group of the PGC to which the partition of the PSD represented by the column and row, respectively, is (or will be) assigned. In response to one or more of PSDs being added to a PGC, the PGM may be reconfigured, including adding new rows, and transposing portions of columns to the new rows, or transposing portions of rows to portions of columns of the new rows. Protection members of the PGC may be re-assigned based on the reconfiguration.

Bank to bank data transfer

The present disclosure includes apparatuses and methods to transfer data between banks of memory cells. An example includes a plurality of banks of memory cells and a controller coupled to the plurality of subarrays configured to cause transfer of data between the plurality of banks of memory cells via internal data path operations.

Flexible Raid Layouts In A Storage System
20220413958 · 2022-12-29 ·

A system, method, and product for flexible RAID layouts in a storage system, including: determining a reliability of an individual storage device of a plurality of storage devices, the individual storage device containing a plurality of portions of a Redundant Array of Independent Disks (RAID) stripe in a storage system, wherein the RAID stripe includes user data and inter-device parity data; detecting a change in the reliability of the individual storage device that contains the portion corresponding to the RAID stripe; and changing an amount of intra-device protection corresponding to the RAID stripe by decreasing, in the RAID stripe, an amount of space used to store the inter-device protection data.

Accumulated data transfer amount access

Systems and methods of determining whether to initiate a pull of an accumulated data transfer amount are described. An accumulated data transfer amount for a periodic data transfer scheduled to be pushed at a future date is determined. A determination is made of whether an overall data amount in a storage location is expected to be greater at a date on or after the scheduled future date if a pull of the accumulated data transfer amount is performed before the scheduled future date than if a pull operation is not performed and the accumulated data transfer amount is sent at the scheduled future date. When the overall data amount in the storage location is expected to be greater at the scheduled future date if the pull of the accumulated data transfer amount is performed, a pull of the accumulated data transfer amount is initiated.

Remote data replication method and system
11550675 · 2023-01-10 · ·

A remote data replication method and a storage system, where a production array sends a data replication request to a disaster recovery array. The data replication request includes an identifier of a source object and a data block corresponding to the source object. The data block is stored in physical space of a hard disk of the production array. The disaster recovery array receives the data replication request. The disaster recovery array creates a target object when the disaster recovery array does not include an object having a same identifier as the source object. An identifier of the target object is the same as the identifier of the source object, the disaster recovery array writes the data block into the physical space.

MEMORY MAPPING FOR MEMORY, MEMORY MODULES, AND NON-VOLATILE MEMORY
20230027332 · 2023-01-26 ·

Apparatuses and methods related to commands to transfer data and/or perform logic operations are described. For example, a command that identifies a location of data and a target for transferring the data may be issued to a memory device. Or a command that identifies a location of data and one or more logic operations to be performed on that data may be issued to a memory device. A memory module may include different memory arrays (e.g., different technology types), and a command may identify data to be transferred between arrays or between controllers for the arrays. Commands may include targets for data expressed in or indicative of channels associated with the arrays, and data may be transferred between channels or between memory devices that share a channel, or both. Some commands may identify data, a target for the data, and a logic operation for the data.

Flexible RAID layouts in a storage system

A system, method, and product for flexible RAID layouts in a storage system, including: determining a reliability of an individual storage device of a plurality of storage devices, the individual storage device containing a plurality of portions of a Redundant Array of Independent Disks (RAID) stripe in a storage system, wherein the RAID stripe includes user data and inter-device parity data; detecting a change in the reliability of the individual storage device that contains the portion corresponding to the RAID stripe; and changing an amount of intra-device protection corresponding to the RAID stripe by decreasing, in the RAID stripe, an amount of space used to store the inter-device protection data.

ACCUMULATED DATA TRANSFER AMOUNT ACCESS

Systems and methods of determining whether to initiate a pull of an accumulated data transfer amount are described. An accumulated data transfer amount for a periodic data transfer scheduled to be pushed at a future date is determined. A determination is made of whether an overall data amount in a storage location is expected to be greater at a date on or after the scheduled future date if a pull of the accumulated data transfer amount is performed before the scheduled future date than if a pull operation is not performed and the accumulated data transfer amount is sent at the scheduled future date. When the overall data amount in the storage location is expected to be greater at the scheduled future date if the pull of the accumulated data transfer amount is performed, a pull of the accumulated data transfer amount is initiated.

Data Migration Method, Host, and Solid State Disk
20230350595 · 2023-11-02 ·

A host of a storage system is coupled to multiple SSDs. Each SSD is configured with a migration cache, and each SSD corresponds to one piece of access information. The host obtains migration data information of to-be-migrated data in a source SSD, determines a target SSD, and sends a read instruction carrying information about to-be-migrated data and the target SSD to the source SSD. The source SSD reads a data block according to the read instruction from a flash memory of the source SSD into a migration cache of the target SSD. After a read instruction is completed by the SSD, the host sends a write instruction to the target SSD to instruct the target SSD to write the data block in the cache of the target SSD to a flash memory of the target SSD.