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

Method of controlling clean-up of a solid state memory disk storing floating sector data

Assignee: Intel Corp
•
Filing: 1992-10-30
•
Granted: 1995-12-26
•
Expires: 2012-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of initiating and controlling background clean-up of a solid state memory disk is described. Background clean-up begins by enabling a clean-up state machine after completion of a write command. Next, a next state pointer is set to an initial state for evaluating whether clean-up is necessary. Actual execution of background clean-up begins when the processing unit allocates execution time for clean-up. As each state is executed, the next state pointer is reset so that it points to the next clean-up state to be executed. States pointed to by the next state pointer are executed until a block of the solid state memory disk is cleaned-up. Also described is a method of automatically performing foreground clean-up of a solid state memory disk. A method of forcing clean-up is also described.

Inventors

  • 👤 Steven Wells
  • 👤 Robert N. Hasbun

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 13:14
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0614; G06F3/0619; G06F3/0628; G06F3/0629; G06F3/0634; G06F3/0646; G06F3/0652; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0679; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1068; G06F3/0662; G06F3/0664

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 148 words
A method of initiating and controlling background clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a clean-up state machine after completion of a write command, the clean-up state machine having a multiplicity of states, each state controlling the execution of a portion of clean-up, each state resetting a next state pointer to point to a next state; b) setting the next state pointer to an evaluation state for evaluating whether clean-up is necessary; c) executing a state pointed to by the next state pointer when the processing unit allocates execution time for clean-up, execution of each state taking no more than a selected maximum amount of execution time; and d) repeating step c) until a block of the solid state memory disk is cleaned-up.
Claim 2
Independent Claim 148 words
A method of initiating and controlling background clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a clean-up state machine after completion of a write command, the clean-up state machine having a multiplicity of states, each state controlling the execution of a portion of clean-up, each state resetting a next state pointer to point to a next state; b) setting the next state pointer to an evaluation state for evaluating whether clean-up is necessary; c) executing a state pointed to by the next state pointer when the processing unit allocates execution time for clean-up, execution of each state taking no more than a selected maximum amount of execution time; and d) repeating step c) until a block of the solid state memory disk is cleaned-up.
Claim 3
Dependent Claim 83 words
The method of claim 1 wherein the states of the clean-up state machine comprise: a) a selection state for selecting a first block to clean-up if clean-up is necessary; b) an allocation state for allocating a sufficient amount of memory in a second block to store a valid sector from the first block; c) a copy state for copying the valid sector of user data from the first block into the second block; and d) an erase state for erasing the first block.
Claim 4
Dependent Claim 48 words
The method of claim 2 wherein the states of the clean-up state machine further comprise: a) a postcopy update state for updating a database after the copy state, the database tracking an amount of free memory, and an amount of dirty memory in the solid state memory disk.
Claim 5
Dependent Claim 28 words
The method of claim 3 wherein the states of the clean-up state machine further comprise: a) a posterase update state for updating the database after the erase state.
Claim 6
Dependent Claim 28 words
The method of claim 2 wherein the states of the clean-up state machine further comprise: a) a wait for erase complete state for determining when erasure is complete.
Claim 7
Dependent Claim 39 words
The method of claim 2 wherein the states of the clean-up state machine further comprise: a) an idle state for halting the clean-up state machine if it is determined clean-up of the solid state memory disk is not necessary.
Claim 8
Dependent Claim 16 words
The method of claim 1 wherein the solid state memory disk comprises nonvolatile semiconductor memory devices.
Claim 9
Independent Claim 301 words
A method of initiating and controlling foreground clean-up of a solid state memory disk, the method comprising the steps of: a) enabling a first clean-up state machine if sufficient memory within the solid state memory disk cannot be allocated in response to a write command, the first clean-up state machine having a multiplicity of first clean-up state machine states, each of the first clean-up state machine states controlling the execution of a portion of clean-up of a first block, each of the first clean-up state machine states resetting a first next state pointer to point to a next first clean-up state machine state; b) enabling a second clean-up state machine if sufficient memory within the solid state memory disk cannot be allocated in response to a write command, the second clean-up state machine having a multiplicity of second clean-up state machine states, each of the second clean-up state machine states controlling the execution of a portion of clean-up of a second block, each of the second clean-up state machine states resetting a second next state pointer to point to a next second clean-up state machine state; c) setting the first next state pointer to an initial first clean-up state machine state for choosing the first block within the solid state memory disk to clean-up; d) setting the second next state pointer to an initial second clean-up state machine state for choosing the second block within the solid state memory disk to clean-up; e) executing each state pointed to by the first next state pointer until erasure of the first block begins; f) executing each state pointed to by the second next state pointer until erasure of the second block begins; and g) executing each state pointed to by the first next state pointer until clean-up of the first block is complete.
Claim 10
Independent Claim 301 words
A method of initiating and controlling foreground clean-up of a solid state memory disk, the method comprising the steps of: a) enabling a first clean-up state machine if sufficient memory within the solid state memory disk cannot be allocated in response to a write command, the first clean-up state machine having a multiplicity of first clean-up state machine states, each of the first clean-up state machine states controlling the execution of a portion of clean-up of a first block, each of the first clean-up state machine states resetting a first next state pointer to point to a next first clean-up state machine state; b) enabling a second clean-up state machine if sufficient memory within the solid state memory disk cannot be allocated in response to a write command, the second clean-up state machine having a multiplicity of second clean-up state machine states, each of the second clean-up state machine states controlling the execution of a portion of clean-up of a second block, each of the second clean-up state machine states resetting a second next state pointer to point to a next second clean-up state machine state; c) setting the first next state pointer to an initial first clean-up state machine state for choosing the first block within the solid state memory disk to clean-up; d) setting the second next state pointer to an initial second clean-up state machine state for choosing the second block within the solid state memory disk to clean-up; e) executing each state pointed to by the first next state pointer until erasure of the first block begins; f) executing each state pointed to by the second next state pointer until erasure of the second block begins; and g) executing each state pointed to by the first next state pointer until clean-up of the first block is complete.
Claim 11
Dependent Claim 63 words
The method of claim 8 wherein the first clean-up state machine states comprise: a) an allocation state for allocating a sufficient amount of memory in a third block to store a valid sector within the first block; b) a copy state for copying the valid sector from the first block into the third block; and c) an erase state erasing the first block.
Claim 12
Dependent Claim 46 words
The method of claim 9 wherein the first clean-up state machine states further comprise: a) a postcopy update state for updating a database after the copy state, the database tracking an amount of free memory, and an amount of dirty memory in the solid state disk.
Claim 13
Dependent Claim 27 words
The method of claim 10 wherein the first clean-up state machine states further comprise: a) a posterase update state for updating the database after the erase state.
Claim 14
Dependent Claim 27 words
The method of claim 11, wherein the first clean-up state machine states further comprise: a) a wait for erase complete state for determining when erasure is complete.
Claim 15
Dependent Claim 33 words
The method of claim 12, wherein the first clean-up state machine states further comprise: a) an idle state for halting the clean-up of the solid state memory disk if clean-up is not necessary.
Claim 16
Dependent Claim 16 words
The method of claim 8 wherein the solid state memory disk comprises nonvolatile semiconductor memory devices.
Claim 17
Dependent Claim 56 words
The method of claim 8 wherein the second clean-up state machine states comprise: a) an allocation state for allocating a sufficient amount of memory in a fourth block to store a valid sector from the second block; b) copying the valid sector from the second block into the fourth block; and c) erasing the second block.
Claim 18
Dependent Claim 64 words
The method of claim 15 wherein the second clean-up state machine states comprise: a) an allocation state for allocating a sufficient amount of memory in a second block to store a valid sector from the first block; b) a copy state for copying the valid sector from the first block into the second block; and c) an erase state for erasing the first block.
Claim 19
Dependent Claim 46 words
The method of claim 16 wherein the second clean-up state machine states further comprise: a) a postcopy update state for updating a database after the copy state the database tracking an amount of free memory, and an amount of dirty memory in the solid state disk.
Claim 20
Dependent Claim 27 words
The method of claim 17 wherein the second clean-up state machine states further comprise: a) a posterase update state for updating the database after the erase state.
Claim 21
Dependent Claim 27 words
The method of claim 18 wherein the second clean-up state machine states further comprise: a) a wait for erase complete state for determining when erasure is complete.
Claim 22
Dependent Claim 38 words
The method of claim 19 wherein the second clean-up state machine states further comprise: a) an idle state for halting the clean-up state machine if it is determined clean-up of the solid state memory disk is not necessary.
Claim 23
Independent Claim 144 words
A method of forcing and controlling clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a clean-up state machine in response to a force clean-up command, the clean-up state machine having a multiplicity of states, each state controlling the execution of a portion of clean-up, each state resetting a next state pointer to point to a next state; b) setting the next state pointer to an initial state for choosing a first block to clean-up; c) executing a state pointed to by the next state pointer when the processing unit allocates execution time for clean-up, execution of each state taking no more than a selected maximum amount of execution time; and d) repeating step c) until all states have been executed.
Claim 24
Independent Claim 144 words
A method of forcing and controlling clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a clean-up state machine in response to a force clean-up command, the clean-up state machine having a multiplicity of states, each state controlling the execution of a portion of clean-up, each state resetting a next state pointer to point to a next state; b) setting the next state pointer to an initial state for choosing a first block to clean-up; c) executing a state pointed to by the next state pointer when the processing unit allocates execution time for clean-up, execution of each state taking no more than a selected maximum amount of execution time; and d) repeating step c) until all states have been executed.
Claim 25
Independent Claim 330 words
A method of forcing and controlling clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a first clean-up state machine in response to a force clean-up command, the first clean-up state machine having a multiplicity of first clean-up state machine states, each of the first clean-up state machine states controlling the execution of a portion of clean-up of a first block, each of the first clean-up state machine states resetting a first next state pointer to point to a next first clean-up state machine state; b) enabling a second clean-up state machine in response to the force clean-up command, the second clean-up state machine having a multiplicity of second clean-up state machine states, each of the second clean-up state machine states controlling the execution of a portion of clean-up of a second block, each of the second clean-up state machine states resetting a second next state pointer to point to a next second clean-up state machine state; c) setting the first next state pointer to an initial first clean-up state machine state for choosing the first block within the solid state memory disk to clean-up; d) setting the second next state pointer to an initial second clean-up state machine state for choosing the second block within the solid state memory disk to clean-up; e) executing each of the first clean-up state machine states as it is pointed to by the first clean-up state machine next state pointer until a first erase state is reached; f) executing each of the second clean-up state machine states as it is pointed to by the second clean-up state machine next state pointer until a second erase state is reached; and g) executing each of the first clean-up state machine states as it is pointed to by the first clean-Up state machine next state pointer until the first block is cleaned up.
Claim 26
Independent Claim 330 words
A method of forcing and controlling clean-up of a solid state memory disk, the solid state memory disk including a processing unit, the processing unit allocating execution time for clean-up, the method comprising the steps of: a) enabling a first clean-up state machine in response to a force clean-up command, the first clean-up state machine having a multiplicity of first clean-up state machine states, each of the first clean-up state machine states controlling the execution of a portion of clean-up of a first block, each of the first clean-up state machine states resetting a first next state pointer to point to a next first clean-up state machine state; b) enabling a second clean-up state machine in response to the force clean-up command, the second clean-up state machine having a multiplicity of second clean-up state machine states, each of the second clean-up state machine states controlling the execution of a portion of clean-up of a second block, each of the second clean-up state machine states resetting a second next state pointer to point to a next second clean-up state machine state; c) setting the first next state pointer to an initial first clean-up state machine state for choosing the first block within the solid state memory disk to clean-up; d) setting the second next state pointer to an initial second clean-up state machine state for choosing the second block within the solid state memory disk to clean-up; e) executing each of the first clean-up state machine states as it is pointed to by the first clean-up state machine next state pointer until a first erase state is reached; f) executing each of the second clean-up state machine states as it is pointed to by the second clean-up state machine next state pointer until a second erase state is reached; and g) executing each of the first clean-up state machine states as it is pointed to by the first clean-Up state machine next state pointer until the first block is cleaned up.
Claim 27
Dependent Claim 64 words
The method of claim 22 wherein the first clean-up state machine states comprise: a) an allocation state for allocating a sufficient amount of memory in a third block to store a valid sector from the first block; b) a copy state for copying the valid sector from the first block into the third block; and c) an erase state for erasing the first block.
Claim 28
Dependent Claim 60 words
The method of claim 22 wherein the second clean-up state machine states comprise: a) an allocation state for allocating a sufficient amount of memory in a fourth block to store a valid sector from the second block; b) a copy state for copying the valid sector from the second block into the fourth block; and c) erasing the second block.
Claim 29
Dependent Claim 19 words
The method of claim 22 wherein the solid state memory disk comprises a multiplicity of nonvolatile semiconductor memory devices.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-12-25 1999-06-26 1999-12-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-12-25 2003-06-26 2003-12-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-12-25 2007-06-26 2007-12-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag