IP Library Granted Patent US 12,367,149
Granted Patent B2
US 12,367,149 · App. 18/367,584 · Granted Jul 22, 2025

Storage device predicting access and reproducing data

Inventor: Sooyoung Ji (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/0862G06F12/0215G06F2212/171G06F2212/2022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,367,149
App. No.
18/367,584
Granted
Jul 22, 2025
Kind
B2
Abstract

A storage device comprising a nonvolatile memory device, and a storage controller configured to control the nonvolatile memory device wherein the storage controller is configured to, detect a logical address pattern repeatedly requested by a host, divide the logical address pattern into input logical addresses and predictive logical addresses, and generate a reproduction model for generating reproduction data corresponding to the predictive logical addresses in the data pattern when the predictive logical addresses are input using machine learning, and in response to a read request for the input logical addresses from the host, predict the predictive logical addresses using the input logical addresses, generate the reproduction data by inputting the predictive logical addresses into the reproduction model, and prefetch the generated reproduction data to a buffer memory included in the storage controller.

Claims (47)

1. A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device,

wherein the storage controller is configured to:

detect a logical address pattern repeatedly requested by a host, divide the logical address pattern into input logical addresses and predictive logical addresses, and generate a reproduction model for generating reproduction data corresponding to the predictive logical addresses in a data pattern when the predictive logical addresses are input using machine learning, and

in response to a read request for the input logical addresses from the host, predict the predictive logical addresses using the input logical addresses, generate the reproduction data by inputting the predictive logical addresses into the reproduction model, and prefetch the generated reproduction data output from the reproduction model to a buffer memory included in the storage controller.

2. The storage device as claimed in claim 1 , wherein the storage controller invalidates reproduction data corresponding to the predictive logical addresses in the nonvolatile memory device when the reproduction model is generated.

3. The storage device as claimed in claim 1 , wherein the storage controller outputs the prefetched reproduction data to the host in response to a read request for the predictive logical addresses from the host.

4. The storage device as claimed in claim 1 , wherein the storage controller updates a candidate logical address pattern list based on logical addresses received along with a read request from the host, and detects logical addresses in which a number of read requests exceeds a predetermined threshold value in the candidate logical address pattern list, by the repeatedly requested logical address pattern.

5. The storage device as claimed in claim 4 , wherein when at least a predetermined number of logical addresses in an existing logical address pattern stored in the candidate logical address pattern list overlap the received logical addresses, the storage controller updates the existing logical address pattern with the overlapped logical addresses, and updates a number of read requests.

6. The storage device as claimed in claim 4 , wherein the storage controller manages existing logical address patterns stored in the candidate logical address pattern list based on a caching technique.

7. The storage device as claimed in claim 1 , wherein when the generation of the reproduction model is completed, the storage controller updates the logical address pattern in a learned logical address pattern list.

8. The storage device as claimed in claim 7 , wherein the storage controller is configured to:

receive a write request and logical addresses from the host,

update data corresponding to the received logical addresses in response to the write request, and

remove the logical address pattern including the received logical addresses from the learned logical address pattern list when at least a portion of the received logical addresses overlaps a logical address pattern included in the learned logical address pattern list.

9. The storage device as claimed in claim 1 , wherein the storage controller performs supervised learning using the predictive logical addresses and the reproduction data as learning data, and repeats the supervised learning until the same data as the reproduction data is output from the reproduction model when the predictive logical addresses are input to the reproduction model.

10. The storage device as claimed in claim 1 , wherein the input logical addresses include continuous logical addresses in the logical address pattern, and the predictive logical addresses include logical addresses following the input logical addresses in the logical address pattern.

11. The storage device as claimed in claim 1 , wherein the storage controller determines a size of the reproduction data included in the data pattern based on performance of a processor included in the storage controller, the processor executing the reproduction model.

12. The storage device as claimed in claim 1 ,

wherein the storage controller obtains data corresponding to the input logical addresses from the nonvolatile memory device in response to the read request, and

wherein the storage controller obtains the data corresponding to the input logical addresses simultaneously with generating the reproduction data.

13. The storage device as claimed in claim 1 , wherein the storage controller performs the machine learning when the storage device is in an idle state.

14. A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device,

wherein the storage controller is configured to:

detect a data pattern repeatedly requested by a host, determine input data and reproduction data in the data pattern, generate a reproduction model for generating the reproduction data when the input data is input using machine learning, and store the input data in a learned data pattern list, and

in response to a read request for the input data from the host, obtain input data from the nonvolatile memory device, generate the reproduction data by inputting the obtained input data into the reproduction model, and prefetch the generated reproduction data output from the reproduction model to a buffer memory included in the storage controller.

15. The storage device as claimed in claim 14 , wherein the storage controller receives logical addresses along with a read request from the host, and determines whether the read request is a read request for the input data by comparing the received logical addresses with logical addresses stored in a logical address pattern list.

16. The storage device as claimed in claim 15 , wherein the storage controller is configured to:

when the received logical addresses are not included in the logical address pattern list, obtain data corresponding to the received logical addresses from the nonvolatile memory device,

when the obtained data includes the input data, generate the reproduction data by inputting the input data into the reproduction model,

determine whether the obtained data include the reproduction data,

when the obtained data further includes the reproduction data, divide the logical addresses into input logical addresses corresponding to the input data and predictive logical addresses corresponding to the reproduction data, and

update the input logical addresses and the predictive logical addresses in the logical address pattern list.

17. The storage device as claimed in claim 15 , wherein the storage controller invalidates reproduction data corresponding to sa predictive logical addresses among data stored in the nonvolatile memory device.

18. The storage device as claimed in claim 14 , wherein the storage controller is configured to;

further determine verification data in the data pattern, and further store the verification data in the learned data pattern list, and

when the obtained data includes the input data, obtain verification data from the nonvolatile memory device simultaneously with generating the reproduction data, verify whether the read request is a read request for the data pattern by comparing verification data stored in the learned data pattern list with the obtained verification data, and prefetch the generated reproduction data according to verification results.

19. A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device,

wherein the storage controller is configured to:

detect a data pattern repeatedly requested by a host, determine input data and reproduction data in the data pattern, and generate a reproduction model for generating the reproduction data when the input data is input using machine learning, and

obtain data corresponding to logical addresses from the nonvolatile memory device in response to a read request for the logical addresses from the host, generate the reproduction data by inputting the input data into the reproduction model when the obtained data includes the input data, divide the logical addresses into input logical addresses corresponding to the input data and predictive logical addresses corresponding to the reproduction data when the obtained data further includes the reproduction data, update the input logical addresses and the predictive logical addresses in a logical address pattern list, and invalidate reproduction data corresponding to the predictive logical addresses among data stored in the nonvolatile memory device.

20. The storage device as claimed in claim 19 , wherein when the logical addresses received along with the read request from the host are included in the input logical addresses of the logical address pattern list, the storage controller obtains input data from the nonvolatile memory device based on the input logical addresses, obtains the reproduction data by inputting the input data into the reproduction model, and prefetches the obtained reproduction data to a buffer memory included in the storage controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: JI, SOOYOUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064887/0583 →
Priority Claims (1)
KR 10-2022-0160589 · Nov 25, 2022 · national
Continuity (1)
Related Publication 20240176743A1 · May 30, 2024
References Cited (22)
US 7679133B2 · Son et al. · 2010 [cited by applicant]
US 8069324B2 · Moon et al. · 2011 [cited by applicant]
US 8553466B2 · Han et al. · 2013 [cited by applicant]
US 8559235B2 · Yoon et al. · 2013 [cited by applicant]
US 8654587B2 · Yoon et al. · 2014 [cited by applicant]
US 9244832B1 · Sherman · 2016 [cited by examiner]
US 9542199B2 · Heo et al. · 2017 [cited by applicant]
US 10061521B2 · Yun et al. · 2018 [cited by applicant]
US 10896136B2 · Bae et al. · 2021 [cited by applicant]
US 10997080B1 · Eliash et al. · 2021 [cited by applicant]
US 11327883B2 · Huang et al. · 2022 [cited by applicant]
US 11621808B1 · Jiao · 2023 [cited by examiner]
US 20110233648A1 · Seol · 2011 [cited by applicant]
US 20190129834A1 · Purkayastha · 2019 [cited by examiner]
US 20190258585A1 · Marcu et al. · 2019 [cited by applicant]
US 20190317901A1 · Kachare · 2019 [cited by examiner]
US 20200285386A1 · Nelogal · 2020 [cited by examiner]
US 20200334286A1 · Hwang · 2020 [cited by examiner]
US 20200341899A1 · Dias · 2020 [cited by examiner]
US 20210096777A1 · Jiang et al. · 2021 [cited by applicant]
KR 101522402B1 · 2015 [cited by applicant]
KR 1020200030325A · 2020 [cited by applicant]