Patent US5640529A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5640529A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for performing clean-up of a solid state disk during host command execution

Assignee: Intel Corp
•
Filing: 1996-09-16
•
Granted: 1997-06-17
•
Expires: 2016-09-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for converting invalid user data within a solid state disk into free memory during time allotted to execute a host command from a standard interface. Clean-up states are part of a clean-up state machine which controls the conversion of the invalid user data into free memory. Whenever a command interrupt is received from the standard interface, a watchdog timer is set to the maximum time allotted to execute the command. The command is executed first, and then a number of clean-up states to be executed in the remaining time is calculated. A counter is set equal to that number. Thereafter, a clean-up state is executed and the counter is decremented. Execution of clean-up states and decrementing of the counter continues until either the counter indicates all states have been executed or the timer indicates that all allotted time has expired. In one embodiment, the solid state disk is included in a computer system having a central processing unit, and the solid state disk includes a flash memory array and a memory array controller.

Inventors

  • 👤 Robert N. Hasbun

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 20:37
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F12/0238; G06F12/0246; G06F2212/00; G06F2212/72; G06F2212/7205; G06F3/0628; G06F3/0662; G06F3/0664

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 175 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array during time allotted to execute host commands from a standard interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for converting invalid user data into free flash memory via erasure, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a command from the standard interface; b) setting a timer to a maximum time which is not greater than the time allotted to execute host commands received from the standard interface; c) starting the timer; d) executing the command; e) executing a state of the clean-up state machine; f) determining if the timer has timed out; g) executing additional states of the clean-up state machine until the timer times out; and h) returning control of the solid state memory disk to the standard interface in response to the timer timing out.
Claim 2
Dependent Claim 175 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array during time allotted to execute host commands from a standard interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for converting invalid user data into free flash memory via erasure, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a command from the standard interface; b) setting a timer to a maximum time which is not greater than the time allotted to execute host commands received from the standard interface; c) starting the timer; d) executing the command; e) executing a state of the clean-up state machine; f) determining if the timer has timed out; g) executing additional states of the clean-up state machine until the timer times out; and h) returning control of the solid state memory disk to the standard interface in response to the timer timing out.
Claim 3
Dependent Claim 12 words
The method of claim 1 wherein the command is a read command.
Claim 4
Dependent Claim 12 words
The method of claim 1 wherein the command is a write command.
Claim 5
Dependent Claim 17 words
The method of claim 1 wherein the standard interface is an AT Attachment-Integrated Device Electronics (ATA-IDE) interface.
Claim 6
Dependent Claim 193 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array during time allowed for execution of a host command from a standard interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for converting invalid user data into free memory via erasure, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a host command from the standard interface; b) setting a timer to a maximum time allowed to execute the host command from the standard interface and starting the timer; c) executing the command; d) determining a first number of states of the clean-up state machine to be executed; e) executing a state of the clean-up state machine; f) repeating step e) until either the timer has timed out or the first number of states has been executed; and g) returning control of the solid state memory disk to the standard interface in response to either the timer timing out or the first number of states having been executed.
Claim 7
Dependent Claim 193 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array during time allowed for execution of a host command from a standard interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for converting invalid user data into free memory via erasure, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a host command from the standard interface; b) setting a timer to a maximum time allowed to execute the host command from the standard interface and starting the timer; c) executing the command; d) determining a first number of states of the clean-up state machine to be executed; e) executing a state of the clean-up state machine; f) repeating step e) until either the timer has timed out or the first number of states has been executed; and g) returning control of the solid state memory disk to the standard interface in response to either the timer timing out or the first number of states having been executed.
Claim 8
Dependent Claim 12 words
The method of claim 5 wherein the command is a read command.
Claim 9
Dependent Claim 12 words
The method of claim 5 wherein the command is a write command.
Claim 10
Dependent Claim 17 words
The method of claim 5 wherein the standard interface is an AT Attachment-Integrated Device Electronics (ATA-IDE) interface.
Claim 11
Dependent Claim 31 words
The method of claim 5 wherein the first number of clean-up states to be executed is determined based upon an amount of free memory currently available within the flash memory array.
Claim 12
Dependent Claim 27 words
The method of claim 9 wherein the first number of clean-up states is related to an inverse of the amount of free memory within the flash array.
Claim 13
Dependent Claim 29 words
The method claim 10 wherein the first number of clean-up states is related to a square of the inverse of the amount of free memory within the flash array.
Claim 14
Dependent Claim 264 words
In a solid state memory disk having a flash memory array, a method of performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free flash memory during time allotted for execution of a host command from a standard interface, the flash memory array including free memory, valid user data and invalid user data, the solid state memory disk including a clean-up state machine for controlling the conversion of invalid user data into free flash memory, the clean-up state machine including a plurality of clean-up states, the method comprising the steps of: a) receiving a host command from the standard interface; b) setting a timer to a maximum time allotted to execute the host command from the standard interface; c) starting the timer; d) executing the host command; e) determining whether the flash memory array includes a first amount of free flash memory; f) if the flash memory array does not include the first amount of free flash memory: 1) determining a first number of states of the clean-up state machine that should be executed based upon an amount of free flash memory currently within the flash memory array; 2) executing a state of the clean-up state machine; 3) repeating step f2) if the timer has not timed out and if the first number of states has not been executed; and g) returning control of the solid state memory disk to the standard interface after the command has been executed and either the timer has timed out or the first number of states has been executed.
Claim 15
Dependent Claim 264 words
In a solid state memory disk having a flash memory array, a method of performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free flash memory during time allotted for execution of a host command from a standard interface, the flash memory array including free memory, valid user data and invalid user data, the solid state memory disk including a clean-up state machine for controlling the conversion of invalid user data into free flash memory, the clean-up state machine including a plurality of clean-up states, the method comprising the steps of: a) receiving a host command from the standard interface; b) setting a timer to a maximum time allotted to execute the host command from the standard interface; c) starting the timer; d) executing the host command; e) determining whether the flash memory array includes a first amount of free flash memory; f) if the flash memory array does not include the first amount of free flash memory: 1) determining a first number of states of the clean-up state machine that should be executed based upon an amount of free flash memory currently within the flash memory array; 2) executing a state of the clean-up state machine; 3) repeating step f2) if the timer has not timed out and if the first number of states has not been executed; and g) returning control of the solid state memory disk to the standard interface after the command has been executed and either the timer has timed out or the first number of states has been executed.
Claim 16
Dependent Claim 31 words
The method of claim 12 wherein the first number of states is proportional to an inverse of a square of the amount of free memory currently included in the memory array.
Claim 17
Dependent Claim 12 words
The method of claim 12 wherein the command is a read command.
Claim 18
Dependent Claim 12 words
The method of claim 12 wherein the command is a write command.
Claim 19
Dependent Claim 14 words
The method of claim 12 wherein the command is an AT Attachment (ATA) command.
Claim 20
Dependent Claim 218 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free flash memory during time allowed to execute a write command from an interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for controlling the conversion of invalid user data into free flash memory, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a write command from the interface; b) setting a timer to a maximum time allowed to execute the write command from the interface; c) starting the timer; d) executing the write command; e) determining whether an amount of free flash memory currently within the flash memory array exceeds a first amount of free flash memory; f) if the amount of free flash memory currently within the flash memory array is less than the first amount of free flash memory: 1) executing a state of the clean-up state machine; 2) repeating step 1) if the timer has not timed out; and g) returning control of the solid state memory disk to the interface after completion of steps a) through f).
Claim 21
Dependent Claim 218 words
In a solid state memory disk including a flash memory array, a method of performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free flash memory during time allowed to execute a write command from an interface, the flash memory array including free memory, valid user data, and invalid user data, the solid state memory disk including a clean-up state machine for controlling the conversion of invalid user data into free flash memory, the clean-up state machine including a multiplicity of states, the method comprising the steps of: a) receiving a write command from the interface; b) setting a timer to a maximum time allowed to execute the write command from the interface; c) starting the timer; d) executing the write command; e) determining whether an amount of free flash memory currently within the flash memory array exceeds a first amount of free flash memory; f) if the amount of free flash memory currently within the flash memory array is less than the first amount of free flash memory: 1) executing a state of the clean-up state machine; 2) repeating step 1) if the timer has not timed out; and g) returning control of the solid state memory disk to the interface after completion of steps a) through f).
Claim 22
Dependent Claim 32 words
The method of claim 17 wherein the first number of states is proportional to an inverse of a square of the amount of free memory currently included in the flash memory array.
Claim 23
Dependent Claim 196 words
A solid state memory disk responsive to commands from an interface, the solid state memory disk comprising: a flash memory array including valid user data, free memory and invalid user data; and a memory array controller to control reading, writing and cleaning-up of the flash memory array, the memory array controller performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free memory during time allotted for execution of a command from the interface, the memory array controller including: a clean-up state machine for converting via erasure invalid user data into free flash memory, the clean-up state machine including a plurality of states; a timer, the timer responding to commands from the interface by setting a maximum time for execution of a command from the interface, the timer timing out when the maximum time for execution of a command has expired; means for executing commands received from the interface; and means for executing a single state of the clean-up state machine at a time after command execution but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 24
Dependent Claim 196 words
A solid state memory disk responsive to commands from an interface, the solid state memory disk comprising: a flash memory array including valid user data, free memory and invalid user data; and a memory array controller to control reading, writing and cleaning-up of the flash memory array, the memory array controller performing clean-up of the flash memory array by converting invalid user data within the flash memory array into free memory during time allotted for execution of a command from the interface, the memory array controller including: a clean-up state machine for converting via erasure invalid user data into free flash memory, the clean-up state machine including a plurality of states; a timer, the timer responding to commands from the interface by setting a maximum time for execution of a command from the interface, the timer timing out when the maximum time for execution of a command has expired; means for executing commands received from the interface; and means for executing a single state of the clean-up state machine at a time after command execution but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 25
Dependent Claim 208 words
A solid state memory disk responsive to commands from an interface, the solid state memory disk comprising: a flash memory array storing valid user data, free memory, and invalid user data; and a memory array controller to control the reading, writing and clean-up of the flash memory array, the clean-up of the flash memory array being performed by converting invalid user data into free memory, the memory array controller performing clean-up of the flash memory array during time allotted to execute commands from the interface, the memory array controller including: a processing unit; a timer, the timer responding to commands from the interface by setting a maximum time allotted to execute commands, the timer timing out when the maximum time has expired; and a memory which stores services enabling the processing unit to read, write and clean-up the flash memory array, the memory storing services for clean-up of the flash memory array by converting invalid user data into free memory via a plurality of clean-up states, the memory storing services for executing the commands and instructions enabling the execution of clean-up states after execution of the commands but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 26
Dependent Claim 208 words
A solid state memory disk responsive to commands from an interface, the solid state memory disk comprising: a flash memory array storing valid user data, free memory, and invalid user data; and a memory array controller to control the reading, writing and clean-up of the flash memory array, the clean-up of the flash memory array being performed by converting invalid user data into free memory, the memory array controller performing clean-up of the flash memory array during time allotted to execute commands from the interface, the memory array controller including: a processing unit; a timer, the timer responding to commands from the interface by setting a maximum time allotted to execute commands, the timer timing out when the maximum time has expired; and a memory which stores services enabling the processing unit to read, write and clean-up the flash memory array, the memory storing services for clean-up of the flash memory array by converting invalid user data into free memory via a plurality of clean-up states, the memory storing services for executing the commands and instructions enabling the execution of clean-up states after execution of the commands but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 27
Dependent Claim 239 words
A computer system including: a central processing unit; and a solid state memory disk which stores data for the central processing unit, the solid state memory disk including: an interface coupled to the central processing unit for decoding a standard command from the central processing unit and generating a disk command; a flash memory array including valid user data, free memory and invalid user data; and a memory array controller responsive to the disk command from the interface, the controller controlling the reading, writing and cleaning up of the flash memory array, the memory array controller performing clean-up of the flash memory array by converting invalid user data into free memory, the memory array controller performing clean-up of the flash memory array during time allotted for execution of the disk command, the memory array controller including: a clean-up state machine for converting invalid user data into free flash memory via erasure, the clean-up state machine including a multiplicity of states; a timer for timing a maximum time allotted to perform the disk command, the timer beginning timing in response to the disk command and timing out when the maximum time has elapsed; means for executing the disk command received from the interface; means for executing a state of the clean-up state machine after execution of the disk command but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 28
Dependent Claim 239 words
A computer system including: a central processing unit; and a solid state memory disk which stores data for the central processing unit, the solid state memory disk including: an interface coupled to the central processing unit for decoding a standard command from the central processing unit and generating a disk command; a flash memory array including valid user data, free memory and invalid user data; and a memory array controller responsive to the disk command from the interface, the controller controlling the reading, writing and cleaning up of the flash memory array, the memory array controller performing clean-up of the flash memory array by converting invalid user data into free memory, the memory array controller performing clean-up of the flash memory array during time allotted for execution of the disk command, the memory array controller including: a clean-up state machine for converting invalid user data into free flash memory via erasure, the clean-up state machine including a multiplicity of states; a timer for timing a maximum time allotted to perform the disk command, the timer beginning timing in response to the disk command and timing out when the maximum time has elapsed; means for executing the disk command received from the interface; means for executing a state of the clean-up state machine after execution of the disk command but prior to returning control of the solid state memory disk to the interface if the timer has not timed out.
Claim 29
Dependent Claim 19 words
The computer system of claim 21 wherein the standard command is an AT Attachment-Integrated Device Electronics (ATA-IDE) interface command.
Claim 30
Dependent Claim 110 words
In a solid state memory disk including a flash memory array having both free memory and invalid user data, the solid state memory disk also including a clean-up state machine used to convert invalid user data into free flash memory via erasure, the clean-up state machine including a plurality of states, a method comprising the steps of: a) receiving a command from a host processor via an interface; b) executing the command; and c) executing one or more states of the clean-up state machine prior to expiration of a time allotted for execution of the command and prior to returning control of the solid state memory disk to the interface.
Claim 31
Dependent Claim 110 words
In a solid state memory disk including a flash memory array having both free memory and invalid user data, the solid state memory disk also including a clean-up state machine used to convert invalid user data into free flash memory via erasure, the clean-up state machine including a plurality of states, a method comprising the steps of: a) receiving a command from a host processor via an interface; b) executing the command; and c) executing one or more states of the clean-up state machine prior to expiration of a time allotted for execution of the command and prior to returning control of the solid state memory disk to the interface.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-16 2000-12-16 2001-06-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-16 2004-12-16 2005-06-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-16 2008-12-16 2009-06-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag