Redundancy Coding Stripe Based On Internal Addresses Of Storage Devices
AssigneeWestern Digital Technologies, Inc.
InventorsBrian W. O'Krafka, Vladislav Bolkhovitin, Sanjay Subbarao
Life of this patent
Estimating the term…
Abstract
Technology disclosed herein efficiently uses memory available in non-volatile storage devices in a non-volatile memory system. In one aspect, a manager collects enough data to fill an entire chunk of a redundancy coding stripe, and requests that the entire chunk be written together in a selected non-volatile storage device. The selected non-volatile storage device may return an internal address at which the entire chunk was written. The manager may store a stripe map that identifies the internal addresses at which each chunk was stored.
Claims20
A system comprising:
- non-transitory storage;
- a data collecting module configured to collect, for each chunk of a redundancy coding stripe, data for the chunk;
- a command module configured to issue a command to write the data for the chunk of the redundancy coding stripe in a selected of a plurality of non-volatile storage devices;
- an interface configured to receive, for each chunk of the redundancy coding stripe, an internal address of the chunk in the selected non-volatile storage device;
- and
- a redundancy coding module configured to store into the non-transitory storage a redundancy stripe map having a redundancy stripe identifier and the internal addresses in the non-volatile storage devices for the chunks of the redundancy coding stripe.
A method comprising:
- receiving, at each of a plurality of non-volatile storage devices, a request to write a chunk of a redundancy coding stripe;
- writing, by each of the non-volatile storage devices, the entire chunk to a contiguous region of non-volatile memory cells in the respective non-volatile storage device;
- providing, by each of the non-volatile storage devices, a fixed internal address of the chunk in an internal address space of the respective non-volatile storage device;
- and
- storing a redundancy stripe map into non-transitory storage, the redundancy stripe map having a redundancy stripe identifier and the fixed internal addresses for the chunks for the redundancy coding stripe.
A non-volatile storage system comprising:
- non-transitory storage;
- data collecting means for collecting random writes for each chunk of a redundancy coding stripe;
- command means for sending, to each of a plurality of non-volatile storage devices, a command to write one of the chunks of random writes within a contiguous region of the non-volatile storage device;
- writing means for writing each respective chunk of the redundancy coding stripe in a contiguous region of non-volatile memory cells in each respective non-volatile storage device;
- address providing means for providing, for each of the chunks, an internal address at which the chunk was written in the respective non-volatile storage device;
- and
- redundancy coding means for storing into the non-transitory storage a redundancy stripe map having a redundancy stripe identifier and the internal addresses for the chunks for the redundancy coding stripe.
Dependencies are inferred from the claim text.