← Back to Patent Explorer
US6412040B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture

Assignee: Intel Corp
•
Filing: 2000-01-20
•
Granted: 2002-06-25
•
Expires: 2020-01-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. In one embodiment, a method of reliably re-allocating a first object stored within a block erasable nonvolatile memory includes the step of allocating space for a second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of re-allocating a first object stored within a block erasable nonvolatile memory includes the step of invalidating the first object, if the first object has an unreliable type of recovery level. Space is allocated for the second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of reliably re-allocating a first object stored within the block erasable nonvolatile memory includes the step of allocating space for the second object. A write of the second object is initiated and the writing of the second object is tracked. The first object is invalidated after completion of writing the second object, if the first object has a reliable type of recovery. In one embodiment, the first object resides within a first portion of nonvolatile memory and the instructions for performing the described methods reside in a second portion of nonvolatile memory. The first and second portions can reside within a same nonvolatile memory such as a symmetrically blocked flash electrically erasable programmable read only memory.

Inventors

  • 👤 Robert N. Hasbun
  • 👤 David A. Edwards

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 19:59
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F12/0238; G06F12/0246; G06F8/00; G06F8/60; G06F8/65; G06F8/654; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; H; H04; H04M; H04M1/00; H04M1/24; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0435; H04Q11/045; H04Q2213/00; H04Q2213/13034; H04Q2213/13096; H04Q2213/13097; H04Q2213/1316; H04Q2213/13202; H04Q2213/13209; H04Q2213/13217; H04Q2213/13302; H04Q2213/1332; H04Q2213/13322; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956; Y10S707/99957

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 170 words
A memory management system comprising: a memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and to store objects of a second class along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the managed memory space with a second object, to validate the allocation request, to allocate a space for the second object if the allocation request is valid, and if the allocation request is valid, the memory manager is to: writing the second object into the space allocated for the second object, track a write status of the second object, and invalidate the first object.
Claim 2
Dependent Claim 170 words
A memory management system comprising: a memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and to store objects of a second class along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the managed memory space with a second object, to validate the allocation request, to allocate a space for the second object if the allocation request is valid, and if the allocation request is valid, the memory manager is to: writing the second object into the space allocated for the second object, track a write status of the second object, and invalidate the first object.
Claim 3
Dependent Claim 20 words
The memory management system of claim 1 , wherein the memory manager is to determine memory availability during space allocation.
Claim 4
Dependent Claim 30 words
The memory management system of claim 1 , wherein the memory manager is to invalidate the first object if the write status indicates writing of the second object is complete.
Claim 5
Dependent Claim 34 words
The memory management system of claim 1 , wherein the memory manager is to invalidate the second object if upon an initialization the write status indicates that writing of the second object is incomplete.
Claim 6
Dependent Claim 26 words
The memory management system of claim 1 , wherein the memory manager is to scan the memory to locate the first object having a valid status.
Claim 7
Dependent Claim 29 words
The memory management system of claim 1 , wherein the memory manager is to determine if sufficient space exists in the memory to accommodate space for the second object.
Claim 8
Dependent Claim 31 words
The memory management system of claim 6 , wherein the memory manager is to initiate a reclaim process if insufficient free space exists to allocate the space for the second object.
Claim 9
Dependent Claim 24 words
The memory management system of claim method of claim 1 , wherein the memory includes symmetrically blocked flash electrically erasable programmable read only memory.
Claim 10
Dependent Claim 26 words
The memory management system of claim 1 , wherein objects of the first class are page objects and objects of the second class are paragraph objects.
Claim 11
Dependent Claim 16 words
The memory management system of claim 1 , wherein the paragraph objects track the page objects.
Claim 12
Dependent Claim 19 words
The memory management system of claim 1 , wherein objects stored in the first class of space are homogeneous.
Claim 13
Dependent Claim 27 words
The memory management system of claim 1 , wherein objects stored in the second class of space include control information of headers for page and paragraph data.
Claim 14
Dependent Claim 162 words
A memory management system comprising: a memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and objects of a second class are stored along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the memory with a second object, to copy the first object from its associated space to a temporary location, to reclaim the space associated with the first object, to write the second object into the space associated with the first object, to track a write status of the second object, and to invalidate the first object.
Claim 15
Dependent Claim 30 words
The memory management system of claim 13 , wherein the memory manager is to invalidate the first object if the write status indicates writing of the second object is complete.
Claim 16
Dependent Claim 33 words
The memory management system of claim 13 , wherein the memory manager is to invalidate the second object if upon initialization the write status indicates that writing of the second object is incomplete.
Claim 17
Dependent Claim 26 words
The memory management system of claim 13 , wherein the memory manager is to scan the memory to locate the first object having a valid status.
Claim 18
Dependent Claim 33 words
The memory management system of claim 13 , wherein the memory manager is to determine if the first object and the second object are of a same type and have a same name.
Claim 19
Dependent Claim 27 words
The memory management system of claim 13 , wherein the memory manager is to determine if sufficient space exists in the memory to accommodate the second object.
Claim 20
Dependent Claim 22 words
The memory management system of claim 18 , wherein the memory manager is to generate an error if insufficient space is available.
Claim 21
Dependent Claim 29 words
The memory management system of claim 13 , wherein the memory is a nonvolatile memory, and the nonvolatile memory includes symmetrically blocked flash electrically erasable programmable read only memory.
Claim 22
Dependent Claim 26 words
The memory management system of claim 13 , wherein objects of the first class are page objects and objects of the second class are paragraph objects.
Claim 23
Dependent Claim 16 words
The memory management system of claim 21 , wherein the paragraph objects track the page objects.
Claim 24
Dependent Claim 19 words
The memory management system of claim 13 , wherein objects stored in the first class of space are homogeneous.
Claim 25
Dependent Claim 27 words
The memory management system of claim 13 , wherein objects stored in the second class of space comprise of control information headers for page and paragraph data.
Claim 26
Dependent Claim 161 words
A memory management system comprising: a memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and objects of a second class are stored along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the memory with a second object, to scan the memory to locate the first object having a valid status and invalidating the first object, to allocate a space for the second object, to write the second object into the space allocated for the second object, and to track a write status of the second object.
Claim 27
Dependent Claim 161 words
A memory management system comprising: a memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and objects of a second class are stored along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the memory with a second object, to scan the memory to locate the first object having a valid status and invalidating the first object, to allocate a space for the second object, to write the second object into the space allocated for the second object, and to track a write status of the second object.
Claim 28
Dependent Claim 20 words
The memory management system of claim 25 , wherein the memory manager is to determine memory availability during space allocation.
Claim 29
Dependent Claim 33 words
The memory management system of claim 25 , wherein the memory manager is to invalidate the second object if upon initialization the write status indicates that writing of the second object is incomplete.
Claim 30
Dependent Claim 31 words
The memory management system of claim 25 , wherein the memory manager is to initiate a reclaim process if insufficient free space exists to allocate the space for the second object.
Claim 31
Dependent Claim 27 words
The memory management system of claim 25 , wherein the memory is a nonvolatile memory, the nonvolatile memory includes blocked flash electrically erasable programmable read only memory.
Claim 32
Dependent Claim 26 words
The memory management system of claim 25 , wherein objects of the first class are page objects and objects of the second class are paragraph objects.
Claim 33
Dependent Claim 19 words
The memory management system of claim 25 , wherein objects stored in the first class of space are homogeneous.
Claim 34
Dependent Claim 27 words
The memory management system of claim 25 , wherein objects stored in the second class of space comprise of control information headers for page and paragraph data.
Claim 35
Dependent Claim 216 words
A memory management system comprising: a nonvolatile memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and objects of a second class are stored along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the memory with a second object, to scan the first class of space to locate the first object having a valid status and invalidating a header of the first object, allocate a space for the second object in the second class of space by writing a header of the second object in the first class of space, to track a write status of the second object, to write the second object into the allocated space in the second class of space, to invalidate the first object, and to update the write status of the second object in the header of the second object in the first class of space.
Claim 36
Dependent Claim 216 words
A memory management system comprising: a nonvolatile memory having a managed object space arranged into at least two classes of space to accommodate distinct objects, the memory to store objects of a first class contiguously proceeding from a first end of the managed object space towards a second end of the managed object space to form a first class of space and objects of a second class are stored along with headers of control information contiguously proceeding from the second end towards the first end to form a second class of space; and a memory manager to receive an allocation request to reallocate a first object in the memory with a second object, to scan the first class of space to locate the first object having a valid status and invalidating a header of the first object, allocate a space for the second object in the second class of space by writing a header of the second object in the first class of space, to track a write status of the second object, to write the second object into the allocated space in the second class of space, to invalidate the first object, and to update the write status of the second object in the header of the second object in the first class of space.
Claim 37
Dependent Claim 20 words
The memory management system of claim 33 , wherein the memory manager is to determine memory availability during space allocation.
Claim 38
Dependent Claim 33 words
The memory management system of claim 33 , wherein the memory manager is to invalidate the second object if upon initialization the write status indicates that writing of the second object is incomplete.
Claim 39
Dependent Claim 31 words
The memory management system of claim 33 , wherein the memory manager is to initiate a reclaim process if insufficient free space exists to allocate the space for the second object.
Claim 40
Dependent Claim 22 words
The memory management system of claim 33 , wherein the nonvolatile memory comprises symmetrically blocked flash electrically erasable programmable read only memory.
Claim 41
Dependent Claim 26 words
The memory management system of claim 33 , wherein objects of the first class are page objects and objects of the second class are paragraph objects.
Claim 42
Dependent Claim 19 words
The memory management system of claim 33 , wherein objects stored in the first class of space are homogeneous.
Claim 43
Dependent Claim 27 words
The memory management system of claim 33 , wherein objects stored in the second class of space comprise of control information headers for page and paragraph data.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-06-24 2005-12-24 2006-06-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-06-24 2009-12-24 2010-06-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-06-24 2013-12-24 2014-06-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag