Data transfer management
Methods, controllers, and systems for managing data transfer, such as those in solid state drives (SSDs), are described. In some embodiments, the data transfer between a host and a memory is monitored and then assessed to provide an assessment result. A number of storage units of the memory allocated to service another data transfer is adjusted based on the assessment result. Additional methods and systems are also described.
1. A method comprising:
monitoring a data transfer between a host and a memory;
assessing the data transfer to provide an assessment result; and
adjusting another data transfer based at least in part on the assessment result, including adjusting a number of storage units allocated to service the other data transfer, based on a size of requested data associated with the other data transfer, and a host-specified data transfer bandwidth and range of acceptable write amplifications.
2. The method of claim 1 , wherein the data transfer comprises:
at least one of writing into or reading from the memory.
3. The method of claim 1 , wherein the host comprises a memory access device and the memory comprises nonvolatile memory including flash memory.
4. The method of claim 1 , wherein assessing the data transfer comprises:
assessing a characteristic of the data transfer, wherein the characteristic comprises at least one of a size of the data transfer, a write amplification, a write bandwidth, a reclamation bandwidth, or a read bandwidth.
5. The method of claim 1 , further comprising:
storing a value associated with the assessed characteristic over a time period, the time period depending on a volume of traffic associated with the data transfer.
6. The method of claim 5 , further comprising:
determining a statistical value based at least in part on the value associated with the characteristic.
7. The method of claim 6 , wherein the statistical value comprises an average value.
8. The method of claim 7 , wherein the assessing comprises:
comparing at least one of the characteristic value and/or the statistical value with a target value.
9. The method of claim 8 , wherein the provided assessment result indicates whether at least one of the characteristic value and/or the statistical value satisfies the target value.
10. The method of claim 4 , wherein the provided assessment result indicates whether the characteristic shows an improvement.
11. The method of claim 1 , wherein the adjusting comprises:
adjusting a characteristic of the other data transfer.
12. The method of claim 11 , wherein the adjusting a characteristic of another data transfer comprises:
adjusting a number of storage units allocated to service the other data transfer.
13. The method of claim 12 , wherein adjusting the number of storage units allocated to service the other data transfer comprises:
at least one of changing the number or keeping the umber unchanged, based on the assessment results.
14. A storage device controller comprising:
a monitoring module to monitor a data transfer between a host and a memory;
an assessment module to assess the data transfer to provide an assessment result; and
an adjustment module to adjust another data transfer based at least in part on the assessment result, wherein the controller is configured to adjust a number of storage units allocated to service the other data transfer, based on a size of requested data associated with the other data transfer, and a host-specified data transfer bandwidth and range of acceptable write amplifications.
15. The controller of claim 14 , wherein the monitoring module is to monitor a characteristic of the data transfer, the characteristic including at least one of a size of the data transfer, a write amplification, a write bandwidth, a reclamation bandwidth, and/or a read bandwidth.
16. The controller of claim 15 , further comprising:
memory to store the characteristic value over a time period, the time period depending on a volume of traffic associated with the data transfer.
17. The controller of claim 16 , wherein the assessment module is to retrieve the characteristic values stored over the time period.
18. The controller of claim 14 , wherein the assessment module comprises:
one or more processors.
19. The controller of claim 16 , wherein the assessment module is to determine a statistical value associated with the characteristic values, and wherein the statistical value includes an average value.
20. The controller of claim 19 , wherein the assessment module is to compare at least one of the characteristic value and/or the statistical value with a target value.
21. The controller of claim 20 , wherein the assessment module is to determine whether at least one of the characteristic values and/or the statistical value satisfies the target value.
22. The controller of claim 16 , wherein the assessment module is to determine whether at least one of the characteristic values shows an improvement.
23. The controller of claim 16 , wherein the adjustment module is to adjust the number of storage units in a number of transitions to achieve a target value for the characteristic value and/or the statistical value, and wherein transition information is stored in memory and used to improve an adjustment efficiency.
24. The controller of claim 16 , wherein the storage unit comprises a block of memory.
25. A system comprising:
a memory access device; and
a storage device coupled to the memory access device, the storage device comprising:
memory;
a monitoring module to monitor a data transfer between the memory access device and the memory;
an assessment module to assess the data transfer to provide an assessment result; and
an adjustment module to adjust another data transfer based at least in part on the assessment result, wherein the adjustment module is configured to adjust a number of storage units allocated to service the other data transfer, based on a size of requested data associated with the other data transfer, and a host-specified data transfer bandwidth and range of acceptable write amplifications.
26. The system of claim 25 , wherein the memory comprises:
nonvolatile memory including flash memory.
27. A non-transitory machine readable medium storing instructions, which when executed by one or more processors perform the following operations:
monitoring a data transfer between a host and a memory;
assessing the data transfer to provide an assessment result; and
adjusting another data transfer based at least in part on the assessment result, wherein a controller of the memory is configured to adjust a number of storage units allocated to service the other data transfer, based on a size of requested data associated with the other data transfer, and a host-specified data transfer bandwidth and range of acceptable write amplifications.
28. A method comprising:
monitoring a characteristic of a data transfer between a host and memory, the characteristic comprising at least one of a size of the data transfer, a write amplification, a write bandwidth, a reclamation bandwidth, and/or a read bandwidth;
comparing at least one of a value of the monitored characteristic and/or a statistical value based at least in part on the monitored characteristic with a target value; and
adjusting a number of storage units of the memory that are allocated to another data transfer based at least in part on the comparison, wherein a controller of the memory is configured to adjust a number of storage units allocated to service the other data transfer, based on a size of requested data associated with the other data transfer, and a host-specified data transfer bandwidth and range of acceptable write amplifications.