SYSTEM AND METHOD FOR WEAR LEVELING IN A DATA STORAGE DEVICE
First Claim
1. A method comprising:
- receiving first data to be stored to a first data storage medium;
storing the first data to a first storage location in a nonvolatile data store of a second data storage medium comprising a solid-state memory;
setting a pointer to enable writing second data that is received to a next storage location in the nonvolatile data store, the next storage location comprising an address of the nonvolatile data store that is sequentially after an address of the first storage location, wherein when the address of the first storage location is a last addressed location of the nonvolatile data store, the pointer is set to enable writing the second data to a first addressed location of the nonvolatile data store;
writing the first data stored in the nonvolatile data store to the first data storage medium when a trigger occurs; and
preserving the pointer during the writing from the nonvolatile data store to the first data storage device such that the pointer enables writing the second data to the next storage location.
5 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides a system and method for wear leveling. In one example, the method includes receiving first data to be stored to a first data storage medium and storing the first data to a first storage location in a nonvolatile data store of a second data storage medium comprising a solid-state memory. The method also includes setting a pointer to enable writing second data that is received to a next storage location in the nonvolatile data store. The next storage location comprises an address of the nonvolatile data store that is sequentially after an address of the first storage location. When the address of the first storage location is a last addressed location of the nonvolatile data store the pointer is set to enable writing the second data to a first addressed location of the nonvolatile data store. The method also includes writing the first data stored in the nonvolatile data store to the first data storage medium when a trigger occurs and preserving the pointer during the writing from the nonvolatile data store to the first data storage device such that the pointer enables writing the second data to the next storage location.
243 Citations
20 Claims
-
1. A method comprising:
-
receiving first data to be stored to a first data storage medium; storing the first data to a first storage location in a nonvolatile data store of a second data storage medium comprising a solid-state memory; setting a pointer to enable writing second data that is received to a next storage location in the nonvolatile data store, the next storage location comprising an address of the nonvolatile data store that is sequentially after an address of the first storage location, wherein when the address of the first storage location is a last addressed location of the nonvolatile data store, the pointer is set to enable writing the second data to a first addressed location of the nonvolatile data store; writing the first data stored in the nonvolatile data store to the first data storage medium when a trigger occurs; and preserving the pointer during the writing from the nonvolatile data store to the first data storage device such that the pointer enables writing the second data to the next storage location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data storage system comprising:
-
a data storage medium; a non-volatile data store comprising solid-state memory having a plurality of storage locations addressed as a circular buffer; and a controller configured to write data to sequential addresses in the circular buffer, wherein the controller stores a first portion of data to a first storage location in the circular buffer and sets a pointer to enable writing a second portion of data that is received to a next storage location in the circular buffer, and wherein the controller determines if an amount of data stored in the circular buffer is above a threshold and, in response, flushes the amount of data from a net of storage locations in the circular buffer, the controller preserving the pointer when the amount of data is flushed such that a next portion of data is stored to addresses in the circular buffer that are sequentially after the set of storage locations from which the amount of data was flushed. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A controller for a data storage system, the controller comprising:
-
a first interface for writing data to a first data storage device; a second interface for writing data to a second data storage device comprising a solid-state nonvolatile data store; a wear-leveling component configured to store a first portion of data to a first storage location in the nonvolatile data store and set a pointer to enable writing a second portion of data to a next storage location in the nonvolatile data store, the next storage location comprising an address of the nonvolatile data store that is sequentially after an address of the first storage location, wherein when the address of the first storage location is a last addressed location of the nonvolatile data store, the pointer is set to enable writing the second data to a first addressed location of the nonvolatile data store, and wherein the wear-leveling component is configured to flush the first portion of data stored in the nonvolatile data store to the first data storage medium when a trigger occurs and preserve the pointer during the flush from the nonvolatile data store to the first data storage device such that the pointer enables writing the second data to the next storage location. - View Dependent Claims (20)
-
Specification