9690696

Lifetime Extension of Memory for Data Storage System

PublishedJune 27, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
26 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A host configured to communicate with a data storage system including a first memory for storing data and a second memory for storing data, the host comprising a processor configured to: determine a first access value corresponding to access during a first time period for a data block stored in the first memory; determine a first age-adjusted access value for the data block based on the first access value and a first aging weight; determine a second age-adjusted access value for the data block based on access during a second time period after the first time period and at least one of the first aging weight or a second aging weight; determine an overall access value for the data block based on the first age-adjusted access value and the second age-adjusted access value; store at least a portion of the data block in the second memory based on a comparison between the overall access value for the data block and at least one determined overall access value for at least one other data block currently stored in the second memory; and adjust at least one of the first aging weight or the second aging weight based on an expected remaining practical usable life of the second memory, wherein adjusting at least one of the first aging weight or the second aging weight decreases the rate at which the practical usable life of the second memory deteriorates.

2

2. The host of claim 1 , wherein the first memory includes a disk, and the second memory includes a non-volatile semiconductor memory (NVSM).

3

3. The host of claim 2 , wherein the processor is further configured to adjust at least one of the first aging weight or the second aging weight based on a relationship between an expected remaining practical usable life of the NVSM and a remaining predetermined time period.

4

4. The host of claim 1 , wherein the processor is further configured to: determine a current access value for the data block based on access during a current time period after the second time period; determine a third age-adjusted access value for the data block based on the current access value and at least one of the first aging weight, the second aging weight, or another aging weight; and determine the overall access value for the data block based on the first age-adjusted access value, the second age-adjusted access value, and the third age-adjusted access value.

5

5. The host of claim 4 , wherein the processor is further configured to: replace a previous access value, stored in the data storage system for a previous time period before the first time period, with the first age-adjusted access value; replace the first access value with the second age-adjusted access value; replace the second access value with the third age-adjusted access value; and remove the current access value in order to store new access values.

6

6. The host of claim 1 , wherein the processor is further configured to: store a data access priority value in an access log each time the data block is accessed, the stored data access priority value being greater for access of the data block by a user of the data storage system than access of the data block by a software application without a user request; and determine the current access value for the data block based on data access priority values stored in the access log for the current time period.

7

7. The host of claim 1 , wherein the processor is further configured to: replace a previous access value, stored in the data storage system for a previous time period before the first time period, with the first age-adjusted access value; and replace the first access value with the second age-adjusted access value.

8

8. The host of claim 1 , wherein in adjusting at least one of the first aging weight or the second aging weight, the processor is further configured to adjust at least one of the first aging weight or the second aging weight so that the first age-adjusted access value is given more weight than the second age-adjusted access value in determining the overall access value to decrease the influence of recent access patterns of the data block in determining if at least a portion of the data block should be stored in the second memory.

9

9. A method of operating a data storage system including a first memory for storing data and a second memory for storing data, the method comprising: determining a first access value corresponding to access during a first time period for a data block stored in the first memory; determining a first age-adjusted access value for the data block based on the first access value and a first aging weight; determining a second age-adjusted access value for the data block based on access during a second time period after the first time period and at least one of the first aging weight or a second aging weight; determining an overall access value for the data block based on the first age-adjusted access value and the second age-adjusted access value; storing at least a portion of the data block in the second memory based on a comparison between the overall access value for the data block and at least one determined overall access value for at least one other data block currently stored in the second memory; and adjusting at least one of the first aging weight or the second aging weight based on an expected remaining practical usable life of the second memory, wherein adjusting at least one of the first aging weight or the second aging weight decreases the rate at which the practical usable life of the second memory deteriorates.

10

10. The method of claim 9 , wherein the first memory includes a disk, and the second memory includes a non-volatile semiconductor memory (NVSM).

11

11. The method of claim 10 , further comprising: adjusting at least one of the first aging weight or the second aging weight based on a relationship between an expected remaining practical usable life of the NVSM and a remaining predetermined time period.

12

12. The method of claim 9 , further comprising: determining a current access value for the data block based on access during a current time period after the second time period; determining a third age-adjusted access value for the data block based on the current access value and at least one of the first aging weight, the second aging weight, or another aging weight; and determining the overall access value for the data block based on the first age-adjusted access value, the second age-adjusted access value, and the third age-adjusted access value.

13

13. The method of claim 12 , further comprising: storing a data access priority value in an access log each time the data block is accessed, the stored data access priority value being greater for access of the data block by a user of the data storage system than access of the data block by a software application without a user request; and determining the current access value for the data block based on data access priority values stored in the access log for the current time period.

14

14. The method of claim 12 , further comprising: replacing a previous access value, stored in the data storage system for a previous time period before the first time period, with the first age-adjusted access value; replacing the first access value with the second age-adjusted access value; replacing the second access value with the third age-adjusted access value; and removing the current access value in order to store new access values.

15

15. The method of claim 9 , further comprising: replacing a previous access value, stored in the data storage system for a previous time period before the first time period, with the first age-adjusted access value; and replacing the first access value with the second age-adjusted access value.

16

16. The method of claim 9 , further comprising: resetting the first age-adjusted access value, the second age-adjusted access value, and the overall access value for data corresponding to an operating system stored in the first memory or the second memory if the operating system is replaced or upgraded.

17

17. The method of claim 9 , wherein at least one of the first aging weight or the second aging weight is adjusted so that the first age-adjusted access value is given more weight than the second age-adjusted access value in determining the overall access value to decrease the influence of recent access patterns of the data block in determining if at least a portion of the data block should be stored in the second memory.

18

18. A data storage device (DSD), comprising: a first memory for storing data; a second memory for storing data; and a controller configured to: determine a first access value corresponding to access during a first time period for a data block stored in the first memory; determine a first age-adjusted access value for the data block based on the first access value and a first aging weight; determine a second age-adjusted access value for the data block based on access during a second time period after the first time period and at least one of the first aging weight or a second aging weight; determine an overall access value for the data block based on the first age-adjusted access value and the second age-adjusted access value; store at least a portion of the data block in the second memory based on a comparison between the overall access value for the data block and at least one determined overall access value for at least one other data block currently stored in the second memory; and adjust at least one of the first aging weight or the second aging weight based on an expected remaining practical usable life of the second memory, wherein adjusting at least one of the first aging weight or the second aging weight decreases the rate at which the practical usable life of the second memory deteriorates.

19

19. The DSD of claim 18 , wherein the first memory includes a disk, and the second memory includes a non-volatile semiconductor memory (NVSM).

20

20. The DSD of claim 19 , wherein the controller is further configured to adjust at least one of the first aging weight or the second aging weight based on a relationship between an expected remaining practical usable life of the NVSM and a remaining predetermined time period.

21

21. The DSD of claim 18 , wherein the controller is further configured to: determine a current access value for the data block based on access during a current time period after the second time period; determine a third age-adjusted access value for the data block based on the current access value and at least one of the first aging weight, the second aging weight, or another aging weight; and determine the overall access value for the data block based on the first age-adjusted access value, the second age-adjusted access value, and the third age-adjusted access value.

22

22. The DSD of claim 21 , wherein the controller is further configured to: store a data access priority value in an access log each time the data block is accessed, the stored access value being greater for access of the data block by a user of the DSD than access of the data block by a software application without a user request; and determine the current access value for the data block based on data access priority values stored in the access log for the current time period.

23

23. The DSD of claim 21 , wherein the controller is further configured to: replace a previous access value, stored in the DSD for a previous time period before the first time period, with the first age-adjusted access value; replace the first access value with the second age-adjusted access value; replace the second access value with the third age-adjusted access value; and remove the current access value in order to store new access values.

24

24. The DSD of claim 18 , wherein the controller is further configured to: replace a previous access value, stored in the DSD for a previous time period before the first time period, with the first age-adjusted access value; and replace the first access value with the second age-adjusted access value.

25

25. The DSD of claim 18 , wherein the controller is further configured to: reset the first age-adjusted access value, the second age-adjusted access value, and the overall access value for data corresponding to an operating system stored in the first memory or the second memory if the operating system is replaced or upgraded.

26

26. The DSD of claim 18 , wherein in adjusting at least one of the first aging weight or the second aging weight, the controller is further configured to adjust at least one of the first aging weight or the second aging weight so that the first age-adjusted access value is given more weight than the second age-adjusted access value in determining the overall access value to decrease the influence of recent access patterns of the data block in determining if at least a portion of the data block should be stored in the second memory.

Patent Metadata

Filing Date

Unknown

Publication Date

June 27, 2017

Inventors

GEORGE B. HEFNER
DAVID N. STEFFEN

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “LIFETIME EXTENSION OF MEMORY FOR DATA STORAGE SYSTEM” (9690696). https://patentable.app/patents/9690696

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.