USRE49162EActiveUtility
Host-controlled garbage collection
Est. expiryMay 27, 2034(~7.8 yrs left)· nominal 20-yr term from priority
Inventors:Sie Pook Law
G06F 3/0652G11C 16/10G06F 3/0611G06F 12/0253G06F 12/0246G06F 2213/0032G06F 3/0688G06F 3/061G06F 3/0653G06F 2212/7201G06F 3/0608G06F 13/4282G06F 3/0679G06F 2212/1016G06F 3/0604G06F 2212/1036G06F 2212/7208G11C 16/16G06F 3/0616G06F 3/064G06F 2212/7205G06F 2212/7204G06F 3/067G06F 2213/0028
65
PatentIndex Score
0
Cited by
26
References
19
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 computing system, comprising:
a host interface being configured to couple with a solid-state storage device; a host computer coupled with the solid-state storage device via the host interface, wherein the solid-state storage device includes an array of solid-state drives (SSDs), the array of SSDs including a first SSD and a second SSD, and the host computer is configured to: issue 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; identify an SSD that has a greater amount of available area among the array of SSDs, the identified SSD being the first SSD; issue 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, issue a third command to the second SSD, the third command being a command to stop a garbage collection in the second SSD.
11. The computing system according to claim 10, wherein the host computer is further configured to:
transmit the first amount of data to the first SSD and issue the third command to the second SSD in parallel.
12. The computing system according to claim 10, wherein the host computer is further configured to:
after issuing the third command to the second SSD, issue 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 computing system according to claim 10, wherein the host computer is further configured to:
issue 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 determine 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 computing system according to claim 10, when identifying an SSD that has a greater amount of available area among the array of SSDs, the host computer is configured to:
identify an SSD that has a greatest amount of erased memory area available among the array of SSDs.
15. The computing system according to claim 10, wherein the host computer is further configured to:
issue 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; identify a first value as the first threshold value when the array of SSDs includes a first number of SSDs; and identify 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 computing system according to claim 15, wherein the host computer is further configured to:
identify the first threshold value as a value less than an over-provisioning capacity of the first SSD.
17. The computing system according to claim 15, wherein the host computer is further configured to:
determine the first threshold value according to an average rate of data being written to the array of SSDs.
18. The computing system according to claim 15, wherein the host computer is further configured to:
issue a seventh command to set a second threshold value so that the first SSD notifies the host device when an amount of available area to write data in the first SSD becomes less than the second threshold value, the second threshold value being larger than the first threshold value.
19. The computing system according to claim 18, wherein the host computer is further configured to:
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 second threshold value, issue an eighth command to the second SSD to suspend a garbage collection in the second SSD.Join the waitlist — get patent alerts
Track USRE49162E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.