Offloading device maintenance to an external processor in low-latency, non-volatile memory
AssigneeEMC IP Holding Company LLC
InventorMichael Nishimoto
Life of this patent
Estimating the term…
Abstract
A set of device maintenance related data is received from each of a plurality of non-volatile memory modules. Each of the plurality of non-volatile memory modules comprise a plurality of non-volatile memory devices. Based at least in part on said set of device maintenance related data a maintenance operation to be performed is determined. The determined device maintenance related operation is performed.
Claims19
A data storage system, comprising:
- a control module connected to each non-volatile memory module in a plurality of non-volatile memory modules each comprising a plurality of low-latency non-volatile memory devices, wherein the control module comprises a processor external to said non-volatile memory modules, the processor being configured to:
- receive from each of said non-volatile memory modules a set of device maintenance related data, wherein the set of device maintenance related data includes a write disturb count for each cell of a plurality of cells of a low-latency non-volatile memory device;
- determine based at least in part on said set of device maintenance related data a maintenance operation to be performed, comprising to:
- determine whether a write disturb count of a neighboring cell of a cell exceeds or is equal to a count limit, wherein the count limit is selected based on a first neighboring cell or a second neighboring cell, wherein the count limit is updated based on a location of the neighboring cell on the low-latency non-volatile memory device, a temperature of the low-latency non-volatile memory device, and a version of 3D media;
- and wherein the neighboring cell is an adjacent cell of the cell;
- and
- in response to a determination to that the write disturb count of the neighboring cell of the cell exceeds or is equal to the count limit, determine that the maintenance operation is to be performed;
- and
- perform the maintenance operation, comprising to:
- read data in a block including the neighboring cell;
- and
- re-write the data into the block at an original block address of the block.
A method of storing data, comprising:
- receiving from each of a plurality of non-volatile memory modules a set of device maintenance related data;
- wherein each of the plurality of non-volatile memory modules comprise a plurality of low-latency non-volatile memory devices, wherein the set of device maintenance related data includes a write disturb count for each cell of a plurality cells of a low-latency non-volatile memory device;
- determining based at least in part on said set of device maintenance related data a maintenance operation to be performed, comprising:
- determining whether the write disturb count of a neighboring cell of a cell exceeds or is equal to a count limit wherein the count limit is selected based on a first neighboring cell or a second neighboring cell, wherein the count limit is updated based on a location of the neighboring cell on the low-latency non-volatile memory device, a temperature of the low-latency non-volatile memory device, and a version of 3D media;
- and wherein the neighboring cell is an adjacent cell of the cell;
- and
- in response to a determination to that the write disturb count of the neighboring cell of the cell exceeds or is equal to the count limit, determining that the maintenance operation is to be performed;
- and
- performing the maintenance operation, comprising:
- reading data in a block including the neighboring cell;
- and
- re-writing the data into the block at an original block address of the block.
A computer program product for data storage, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- receiving from each of a plurality of non-volatile memory modules a set of device maintenance related data;
- wherein each of the plurality of non-volatile memory modules comprise a plurality of low-latency non-volatile memory devices, wherein the set of device maintenance related data includes a write disturb count for each cell of a plurality cells of a low-latency non-volatile memory device;
- determining based at least in part on said set of device maintenance related data a maintenance operation to be performed, comprising:
- determining whether the write disturb count of a neighboring cell of a cell exceeds or is equal to a count limit wherein the count limit is selected based on a first neighboring cell or a second neighboring cell, wherein the count limit is updated based on a location of the neighboring cell on the low-latency non-volatile memory device, a temperature of the low-latency non-volatile memory device, and a version of 3D media;
- and wherein the neighboring cell is an adjacent cell of the cell;
- and
- in response to a determination to that the write disturb count of the neighboring cell of the cell exceeds or is equal to the count limit, determining that the maintenance operation is to be performed;
- and
- performing the maintenance operation, comprising:
- reading data in a block including the neighboring cell;
- and
- re-writing the data into the block at an original block address of the block.
Dependencies are inferred from the claim text.