Block management for mass storage

Static information storage and retrieval – Floating gate – Particular connection

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C365S230030

Reexamination Certificate

active

06567307

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to methods and apparatus for improving the performance of file management within nonvolatile memory devices and particularly to increasing the speed of writing or storing information to such nonvolatile memory devices.
2. Description of the Prior Art
Various prior art methods and techniques were used to manage files, i.e. store data and read back data, within nonvolatile memory devices. Generally, a host device commands a controller, coupled between the host device and nonvolatile memory, to store certain information within nonvolatile memory and later to read the same. Such information depends on the application of the nonvolatile memory device. For example, in the case of digital cameras, digital pictures or photos is the information stored and retrieve from nonvolatile memory. In the case of Personal Computers (PCs), information is stored and retrieved from hard disk.
Since information is typically organized in sectors, each sector including a predetermined number of user data and a predetermined number of overhead data, the host commands the controller to store sector information by referencing addresses associated with particular sectors. For example, there may be sectors
0
through N and each a group of sectors may define a block which would also have an address associated therewith for identifying the same. The controller uses sector addresses to organize digital information within the nonvolatile memory device.
In one prior art technique, as a part of file management of nonvolatile memory, when the host device commands the controller to write or store information to one or more particular sectors, identified by logical block addresses (LBAs), the controller writes to physical block addresses (PBAs) in the nonvolatile memory. Each block includes a very large amount of nonvolatile memory space, for example, 64 K bytes. When a particular sector is updated or re-written thereto in nonvolatile memory, the controller writes the updated sector information to another location within the 64 K byte block space. To keep track of the current sector information, flags and address information are utilized and are updated by the controller to reflect the status of the sector. U.S. Pat. No. 5,341,330, issued on Aug. 23, 1994 to Wells et al. and entitled “Method For Writing to a Flash Memory Array During Erase Suspend Intervals” is an example of the teachings of such prior art technique. In the case where a particular sector is updated within a block, the sector location including previous information is marked ‘old’ utilizing a flag and the new or current sector location is marked ‘new’. Finally, when the block is full, i.e. no free or available location remains, a new block is used to store further updates to sectors and the old block is eventually erased prior to being re-utilized.
An example of the above discussion is perhaps better shown by reference to the example of
FIG. 1
depicting a block
10
and a block
12
, each of which include 64 K bytes of storage area organized into sector locations for storing sector information. The number of sector locations included within a block is a function of the size of each sector. In the case, for example, where each sector includes 512 bytes, the number of sectors included within a block having 64 K bytes is obviously 64×1024 divided by 512 or 128.
Referring still to
FIG. 1
, when the host writes to a sector location identified by LBA
0
, the controller stores said information into
14
and associated flag(s) are set to ‘new’ the first time such a write or store operation takes place after erasure of the block
10
. However, after following writes to the same sector, eventually, sector
0
at
14
will be set to ‘old’ indicating that the information stored therein is no longer current and that the controller should read another location to obtain the latest sector
0
information. This occurs when sector
0
is re-written or updated a following time and because information at
14
cannot be re-written without the block
10
first being erased. Since no erasure of block
10
has taken place, the next time sector
0
is written, its information will be placed at
28
and while the flag for location
14
will be set to ‘old’, the flag for location
28
is set to ‘new’ indicative of the most up-to-date sector
0
information until the latter is again updated, at which time the current information is stored for location
44
in block
10
and the flag at
44
is set to ‘new’ while the flag for location
28
is set to ‘old’.
The scenario described above applies to the writing or updating of all other sectors. By brief way of example, sector information identified by LBA
1
, is initially written at
16
and the next time it is written, it is written to the next available location in Block
10
which is location
30
and the following time after that when it is written by the host, it is written at
36
and the flags of
16
,
30
and
36
are updated as describe above. This process continues until the block
10
becomes full at which time a new, or available, or free block is found by the controller, in this case, block
12
. From thereon, updated sector information is written to the block
12
, not only this, but at some point, if necessary, all sector locations including current sector information are moved to the block
12
, as explained in U.S. Pat. No. 5, 341,330.
For example, in
FIG. 1
, after the first time when the sector identified by LBA
50
is written, assuming the host commands the controller to write to LBA
50
a next time and the block
10
is found to be full, the re-writing of sector
50
takes place within the block
12
rather than the block
10
. In fact, the re-written sector
50
information is written at
50
and all other sectors designated as having current or ‘new’ sector information are moved to the block
12
. This includes the sector identified by LBA
901
, which is at
24
in block
10
and moved to
52
in block
1
2
, the sector identified by LBA
902
, which is at
26
in block
10
and moved to
54
in block
12
, the sector identified by LBA
900
, which is at
34
in block
10
and moved to
56
in block
12
(note that this sector was initially written at
22
but the sector information at
22
is now ‘old’ and the most recent information resides at
34
, which is the reason for moving the information stored at
34
rather than the information at
22
), the sector identified by LBA
1
, which is at
36
in block
10
and moved to
58
in block
12
and so on.
The above prior art technique is described in further detail in U.S. patent application having Ser. No. 09/620,544 filed on Jul. 21, 2000 and entitled “Moving Sectors Within a Block of Information In a Flash Memory Mass Storage Architure”, the disclosure of which is incorporated herein by reference as though set forth in full. The problem with this technique is that to move all of the sectors including current information to another new block is time-consuming and therefore a performance hindrance. This problem is even further exaggerated when using smaller block sizes as there are more numerous move operations with smaller block sizes and smaller block sizes are more prevalent by today's users of nonvolatile memory devices, particularly by users of nonvolatile memory devices.
In the patent document referred to hereinabove, a method and apparatus is introduced for improving the performance of managing files or data within nonvolatile memory by organizing the memory into smaller block sizes and introducing a virtual logical block address (VLBA) to PBA relationship and a unique VLBA was assigned to each block and within each VLBA were sectors arranged in sequential order for decreasing the number of moves to expedite or improve the performance of the system through the use of mapping of PBAs to VLBAs. This VLBA to PBA mapping caused the size of the space manager within the controller device to decrease thereby resulting in a less expensive manu

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Block management for mass storage does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Block management for mass storage, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Block management for mass storage will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3059291

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.