CPC G06F 11/1068 (2013.01) [G06F 11/0793 (2013.01); G06F 11/1435 (2013.01)] | 20 Claims |
20. A method comprising:
writing a set of user data to a select non-parity zone of a plurality of zones of a memory device, each zone of the plurality of zones having a parity cursor and a write cursor, a parity cursor of an individual zone comprising a value that indicates how much space of the individual zone from a beginning of the individual zone is already parity protected, a write cursor of the individual zone comprising a value that indicates where data was last written to in the individual zone;
updating a write cursor of the select non-parity zone based on the writing of the set of user data;
determining whether the write cursor of the select non-parity zone has a greater value than that of a parity cursor of the select non-parity zone; and
in response to the write cursor of the select non-parity zone having a greater value than that of the parity cursor of the select non-parity zone:
scanning at least a portion of the plurality of zones to find a predetermined number of non-parity zones that have parity cursors with a similar value and that respectively have an individual write cursor that is greater than an individual parity cursor;
generating error correction parity data for the predetermined number of non-parity zones based on the similar value of the parity cursors of the predetermined number of non-parity zones; and
storing the error correction parity data to a select parity zone of the plurality of zones.
|