USRE49133EActiveUtility
Host-controlled garbage collection
Est. expiryMay 27, 2034(~7.8 yrs left)· nominal 20-yr term from priority
Inventors:Sie Pook Law
G06F 3/0652G06F 3/067G06F 2212/1016G06F 3/0679G06F 2213/0028G06F 3/0616G06F 3/0688G06F 3/064G11C 16/16G06F 2212/7201G06F 3/0608G06F 2212/7208G11C 16/10G06F 2212/1036G06F 2212/7204G06F 3/0604G06F 2212/7205G06F 12/0246G06F 2213/0032G06F 3/0611G06F 3/0653G06F 13/4282G06F 12/0253G06F 3/061
65
PatentIndex Score
0
Cited by
26
References
18
Claims
Abstract
In an array of solid-state drives (SSDs), SSDs in the array are each configured to initiate generation of additional erased memory blocks when an initiation command is received from a host or when the number of erased memory blocks in the SSD falls below a minimum threshold of erased memory blocks for the SSD. The minimum threshold value may be adjusted by the host.
Claims
exact text as granted — not AI-modifiedI claim:
1. A host computing device connectable to a data storage device and including a data storage storing a control algorithm to cause the host computing device to carry out a method of writing data to the data storage device, which includes a pool of non-volatile solid-state devices, the method comprising:
sending an inquiry to a first non-volatile solid-state device in the pool of non-volatile solid-state devices for a number of erased memory blocks in the first non-volatile solid-state device; after receiving from the first non-volatile solid-state device the number of erased memory blocks in the first non-volatile solid-state device, writing to the first non-volatile solid-state device a quantity of data equal to or less than the number of erased memory blocks received from the first non-volatile solid-state device; in response to an acknowledgement that writing the quantity of data to the first non-volatile solid-state device has completed, sending a command to the first non-volatile solid-state device to begin generating erased memory blocks in the first non-volatile solid-state device; and while writing the quantity of data to the first non-volatile solid-state device, sending an inquiry to a second non-volatile solid-state device in the pool of non-volatile solid-state devices for a number of erased memory blocks in the second non-volatile solid-state device.
2. The host computing device of claim 1 , wherein the method further comprises:
upon receiving from the first non-volatile solid-state device a notification that a number of erased memory blocks currently present in the first non-volatile solid-state storage device is less than a notification threshold, sending a command to the first non-volatile solid-state device to begin generating erased memory blocks in the first non-volatile solid-state device.
3. The host computing device of claim 2 , wherein the notification threshold corresponds to a number of erased memory blocks in the first non-volatile solid-state storage device that is greater than a minimum threshold value of erased memory blocks at which the controller begins generating erased blocks in the first non-volatile solid-state storage device.
4. The host computing device of claim 3 , wherein the method further comprises, prior to sending the inquiry to the first non-volatile solid-state device, sending the minimum threshold value to the first non-volatile solid-state device.
5. The host computing device of claim 2 , wherein the method further comprises, while writing the quantity of data to the first non-volatile solid-state device, turning into a state for receiving from the second non-volatile solid-state device the number of erased memory blocks in the second non-volatile solid-state device.
6. The host computing device of claim 5 , wherein the method further comprises, in response to the acknowledgement that writing the quantity of data to the first non-volatile solid-state device has completed, writing to the second non-volatile solid-state device a quantity of data equal to or less than the number of erased memory blocks received from the second non-volatile solid-state device.
7. The host computing device of claim 1 , wherein the method further comprises, prior to sending the inquiry to the first non-volatile solid-state device, enabling the first non-volatile solid-state device to receive and respond to the inquiry.
8. The host computing device of claim 7 , wherein enabling the first non-volatile solid-state device to receive and respond to the inquiry comprises sending a system interface command to the first non-volatile solid-state device, the system interface command including a field assigned to enable the first non-volatile solid-state device to receive and respond to the inquiry.
9. The host computing device of claim 8 , wherein the system interface command comprises one of a Serial Advanced Technology Attachment (SATA) command, a Serial Attached Small Computer System Interface (SAS) command, or a Non-Volatile Memory Express (NVMe) command.
10. A method of controlling an array of solid-state drives (SSDs) by a host device, the array of SSDs including a first SSD and a second SSD, the method comprising:
issuing a first command to at least one SSD to request that the at least one SSD notify the host device of an amount of available area to write data in the at least one SSD, the first command being not issued for carrying out data writing from the host device to the at least one SSD; identifying an SSD that has a greater amount of available area among the array of SSDs, the identified SSD being the first SSD; issuing a second command to the first SSD, the second command being a command with which a first amount of data is to be transmitted to the first SSD; and before transmitting the first amount of data to the first SSD is completed, issuing a third command to the second SSD, the third command being a command to stop a garbage collection in the second SSD.
11. The method according to claim 10, wherein
transmitting the first amount of data to the first SSD and issuing the third command to the second SSD occur in parallel.
12. The method according to claim 10, wherein the method further comprises:
after issuing the third command to the second SSD, issuing a fourth command to the second SSD, the fourth command being a command with which a second amount of data is to be transmitted to the second SSD.
13. The method according to claim 10, wherein the method further comprises:
issuing a fifth command to the first SSD to request that the first SSD notify the host device of an amount of available area to write data in the first SSD, wherein the fifth command is not issued for carrying out data writing from the host device to the first SSD; and determining a timing to issue the third command to the second SSD according to the notified amount of available area to write data in the first SSD.
14. The method according to claim 10, wherein identifying an SSD that has a greater amount of available area among the array of SSDs comprises:
identifying an SSD that has a greatest amount of erased memory area available among the array of SSDs.
15. The method according to claim 10, wherein the method further comprises:
issuing a sixth command to the first SSD to set a first threshold value to enable the first SSD to start a garbage collection when the amount of available area to write data in the first SSD becomes less than the first threshold value; identifying a first value as the first threshold value when the array of SSDs includes a first number of SSDs; and identifying a second value as the first threshold value, the second value being less than the first value, when the array of SSDs includes a second number of SSDs, the second number being larger than the first number.
16. The method according to claim 15, wherein the method further comprises:
determining the first threshold value according to an average rate of data being written to the array of SSDs.
17. The method according to claim 15, wherein the method further comprises:
issuing a seventh command to set a third threshold value so that the first SSD notifies the host device when the amount of available area to write data in the first SSD becomes less than the third threshold value, the third threshold value being larger than the first threshold value.
18. The method according to claim 17, wherein the method further comprises:
in response to a notification from the first SSD when the amount of available area to write data in the first SSD becomes less than the third threshold value, issuing an eighth command to the second SSD to suspend a garbage collection in the second SSD.Join the waitlist — get patent alerts
Track USRE49133E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.