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

Storage system with a flash memory module

Assignee: Toshiba Corp
•
Filing: 1996-06-25
•
Granted: 1997-09-30
•
Expires: 2016-06-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a storage system using flash EEPROMs, a memory module is composed of a plurality of memory blocks arranged in units of in-unison erase blocks. Some of the memory blocks are used as management tables storing management information for managing address allocation of each memory block and the number of rewrites for each memory block. A memory controller reads the management information from the management table at the system start-up, and based on the management information, controls the read/write access to each memory block.

Inventors

  • 👤 Hiroshi Sukegawa

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 16:33
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292; G06F12/023; G06F12/0238; G06F12/0246; G11; G11C; G11C16/00; G11C16/02; G11C16/06; G11C16/10; G11C16/102; G11C16/22; G11C29/00; G11C29/70; G11C29/76; G11C29/765; G11C29/88; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1068; G06F2212/00; G06F2212/20; G06F2212/202; G06F2212/2022

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 123 words
A storage system including a plurality of memory block means, said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means for reading and writing by a host system, each of said first memory block means having a changing location in said storage system; a second memory block means for storing address conversion information for translating accesses to each of said first memory block means, the second memory block means having a changing location in said storage system; and a third memory block means for storing an address of the second memory block means, the third memory block means having a fixed location in said storage system.
Claim 2
Dependent Claim 123 words
A storage system including a plurality of memory block means, said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means for reading and writing by a host system, each of said first memory block means having a changing location in said storage system; a second memory block means for storing address conversion information for translating accesses to each of said first memory block means, the second memory block means having a changing location in said storage system; and a third memory block means for storing an address of the second memory block means, the third memory block means having a fixed location in said storage system.
Claim 3
Dependent Claim 89 words
The storage system of claim 1, further including memory controller means for converting a logical address accessed by the host system into a physical address for specifying one of said first memory block means to be accessed based on said address conversion information, and for performing memory control in a manner that reads data at the physical address from said one of said first memory block means of said storage system, or writes specified data in said one of said first memory block means corresponding to the physical address.
Claim 4
Dependent Claim 44 words
The storage system of claim 2, wherein the second memory block means includes an address allocation table having said address conversion information, and said memory controller means includes means for accessing the address allocation table to convert the logical address into the physical address.
Claim 5
Dependent Claim 19 words
The storage system of claim 1, wherein the rewritable nonvolatile memory devices comprise flash electrically erasable and programmable ROMs.
Claim 6
Dependent Claim 21 words
The storage system of claim 1, wherein the second memory block means includes at least two units of in-unison erase blocks.
Claim 7
Dependent Claim 124 words
A storage system having a plurality of memory blocks, each of said memory blocks comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory blocks for storing data for reading and writing by a host system, each of said first memory blocks storing write count data, the write count data comprising low-order part data of write frequency information indicating a frequency that data is rewritten in a corresponding one of the first memory blocks; and a second memory block for storing master management information including high-order part data of the write frequency information for all of the first memory blocks, the high-order part data being written less frequently than the low-order part data.
Claim 8
Dependent Claim 124 words
A storage system having a plurality of memory blocks, each of said memory blocks comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory blocks for storing data for reading and writing by a host system, each of said first memory blocks storing write count data, the write count data comprising low-order part data of write frequency information indicating a frequency that data is rewritten in a corresponding one of the first memory blocks; and a second memory block for storing master management information including high-order part data of the write frequency information for all of the first memory blocks, the high-order part data being written less frequently than the low-order part data.
Claim 9
Dependent Claim 47 words
The storage system of claim 6, further comprising controller means for controlling access to the storage system, said controller means increasing the write count data stored in one of the first memory blocks when a write operation is requested to the one of the first memory blocks.
Claim 10
Dependent Claim 53 words
The storage system of claim 7, wherein the controller means comprises means for updating the high-order part data of the write frequency information corresponding to the one of the first memory blocks only if the write count data is equal to a predetermined value when said controller means increases the write count data.
Claim 11
Dependent Claim 60 words
The storage system of claim 8, further comprising means for swapping contents of the one first memory block with another first memory block when the high-order part data corresponding to the one first memory block after being increased by the updating means differs from the high-order part data of the other first memory block by more than a predetermined amount.
Claim 12
Dependent Claim 56 words
The storage system of claim 6, wherein the second memory block has an address location that changes within the storage system; and wherein the storage system further comprises a third memory block for storing the address location of the second memory block, the third memory block having a fixed predetermined address location within the storage system.
Claim 13
Dependent Claim 95 words
A storage system including a plurality of memory block means, each of said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means for storing user's data and address conversion information for translating accesses to said user's data, the first memory block means having a changing location in said storage system; and a second memory block means for storing an address of the address conversion information, the second memory block means having a fixed location in said storage system.
Claim 14
Dependent Claim 95 words
A storage system including a plurality of memory block means, each of said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means for storing user's data and address conversion information for translating accesses to said user's data, the first memory block means having a changing location in said storage system; and a second memory block means for storing an address of the address conversion information, the second memory block means having a fixed location in said storage system.
Claim 15
Dependent Claim 108 words
A storage system including a plurality of memory block means, each of said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means including a second memory block means for storing user's data and a third memory block means for storing address conversion information for translating accesses to said user's data, the first memory block means having a changing location in said storage system; and a fourth memory block means for storing an address of the address conversion information, the fourth memory block means having a fixed location in said storage system.
Claim 16
Dependent Claim 108 words
A storage system including a plurality of memory block means, each of said memory block means comprising rewritable nonvolatile memory devices arranged in units of in-unison erase blocks, the storage system comprising: a plurality of first memory block means including a second memory block means for storing user's data and a third memory block means for storing address conversion information for translating accesses to said user's data, the first memory block means having a changing location in said storage system; and a fourth memory block means for storing an address of the address conversion information, the fourth memory block means having a fixed location in said storage system.
Claim 17
Dependent Claim 66 words
The storage system of claim 1, wherein each of the first memory block means stores write count data indicating a number of times data is rewritten in the corresponding first memory block means; and wherein the storage system further comprises means for increasing the write count data of one of the first memory block means when data is rewritten in the one first memory block means.
Claim 18
Dependent Claim 28 words
The storage system of claim 13, wherein the second memory block means stores high-order part data of the write count data stored in the first memory block means.
Claim 19
Dependent Claim 56 words
The storage system of claim 14, further comprising means for swapping contents of the one first memory block means with another first memory block means when the high-order part data of the one first memory block means and the high-order part data of the other first memory block means differ by more than a predetermined amount.
Claim 20
Dependent Claim 92 words
A memory having a plurality of memory blocks, comprising: a plurality of first memory blocks for storing data, the first memory blocks having address locations that change within the memory; a plurality of second memory blocks for storing address information representing the address locations of the first memory blocks, the second memory blocks having address locations that change within the memory; and a third memory block for storing address information representing the address locations of the second memory blocks, the third memory block having a location that is fixed within the memory.
Claim 21
Dependent Claim 92 words
A memory having a plurality of memory blocks, comprising: a plurality of first memory blocks for storing data, the first memory blocks having address locations that change within the memory; a plurality of second memory blocks for storing address information representing the address locations of the first memory blocks, the second memory blocks having address locations that change within the memory; and a third memory block for storing address information representing the address locations of the second memory blocks, the third memory block having a location that is fixed within the memory.
Claim 22
Dependent Claim 29 words
The storage system of claim 16, wherein the first memory blocks include count data indicating a number of times each first memory block has been written into or erased.
Claim 23
Dependent Claim 29 words
The storage system of claim 17, wherein the second memory blocks include count data indicating a number of times each second memory block has been written into or erased.
Claim 24
Dependent Claim 29 words
The storage system of claim 16, wherein the second memory blocks include count data indicating a number of times each second memory block has been written into or erased.
Claim 25
Dependent Claim 108 words
A storage system comprising: a plurality of first memory blocks for reading and writing data by a host system; a plurality of second memory blocks for storing address tables containing address locations of the first memory blocks, each of the second memory blocks storing count data indicating a number of times the corresponding address table has been written into or erased, the second memory blocks having address locations that change within the storage system; and a third memory block for storing an address table containing the address locations of the second memory blocks, the third memory block having an address location that is fixed within the storage system.
Claim 26
Dependent Claim 108 words
A storage system comprising: a plurality of first memory blocks for reading and writing data by a host system; a plurality of second memory blocks for storing address tables containing address locations of the first memory blocks, each of the second memory blocks storing count data indicating a number of times the corresponding address table has been written into or erased, the second memory blocks having address locations that change within the storage system; and a third memory block for storing an address table containing the address locations of the second memory blocks, the third memory block having an address location that is fixed within the storage system.
Claim 27
Dependent Claim 36 words
The storage system of claim 20, further comprising means for increasing the count data stored in one of the second memory blocks when an address location in a corresponding one of the address tables is changed.
Claim 28
Dependent Claim 35 words
The storage system of claim 21, further comprising means for reading the count data stored in the second memory blocks after the increasing means increases the write count data in the one second memory block.
Claim 29
Dependent Claim 56 words
The storage system of claim 22, further comprising means for selecting another one of the second memory blocks having count data that differs from the count data of the one second memory block by more than a predetermined amount; and means for transferring contents of the one second memory block to the selected second memory block.
Claim 30
Independent Claim 127 words
A method for accessing a memory block of a memory device, the memory device including a plurality of first memory blocks having changing locations within the memory device and a second memory block having a fixed location within the memory device, the method comprising the steps of: reading a current address location for one of the first memory blocks from a first table stored in the second memory block at a predetermined fixed address in the memory device; reading a current address location for another one of the first memory blocks from a second table stored in the one first memory block at the address location from the first memory table; and accessing the other first memory block at the address location read from the second table.
Claim 31
Independent Claim 127 words
A method for accessing a memory block of a memory device, the memory device including a plurality of first memory blocks having changing locations within the memory device and a second memory block having a fixed location within the memory device, the method comprising the steps of: reading a current address location for one of the first memory blocks from a first table stored in the second memory block at a predetermined fixed address in the memory device; reading a current address location for another one of the first memory blocks from a second table stored in the one first memory block at the address location from the first memory table; and accessing the other first memory block at the address location read from the second table.
Claim 32
Dependent Claim 30 words
The method of claim 24, wherein the accessing step comprises the substep of writing data in the other first memory block at the address location read from the second table.
Claim 33
Dependent Claim 53 words
The method of claim 25, wherein each of the first memory blocks store write count data indicating a number of times a corresponding one of the first memory blocks has been written; and wherein the method further comprises the step of increasing the write count data stored in the other first memory block.
Claim 34
Dependent Claim 61 words
The method of claim 26, wherein the one first memory block stores high-order count data corresponding to upper bits of the write count data stored in the other first memory block; and wherein the method further comprises the step of increasing the high-order count data stored in the one first memory block when the write count data reaches a predetermined number.
Claim 35
Dependent Claim 42 words
The method of claim 27, further comprising the step of swapping contents of the other first memory block with contents of yet another first memory block when the high-order count data stored in the one first memory block exceeds a specified value.
Claim 36
Dependent Claim 140 words
A computer system comprising: a main processor; a memory controller connected to the main processor; and a memory system, connected to and controlled by the memory controller, including a plurality of memory block means, the memory block means comprising a plurality of first memory block means for reading and writing by the main processor via the memory controller, each of the first memory block means having a changing location within the memory system, a second memory block means for storing address conversion information for translating accesses to each of the first memory block means by the main processor, the second memory block means having a changing location within the memory system, and a third memory block means for storing an address of the second memory block means, the third memory block means having a fixed location in the memory system.
Claim 37
Dependent Claim 140 words
A computer system comprising: a main processor; a memory controller connected to the main processor; and a memory system, connected to and controlled by the memory controller, including a plurality of memory block means, the memory block means comprising a plurality of first memory block means for reading and writing by the main processor via the memory controller, each of the first memory block means having a changing location within the memory system, a second memory block means for storing address conversion information for translating accesses to each of the first memory block means by the main processor, the second memory block means having a changing location within the memory system, and a third memory block means for storing an address of the second memory block means, the third memory block means having a fixed location in the memory system.
Claim 38
Independent Claim 129 words
A method for tracking a rewrite history of a plurality of first blocks and a second block of a memory device, comprising the steps of: storing first rewrite count data in each of the first blocks, the first rewrite count data indicating a number of times a corresponding one of the first blocks has been written into or erased; storing a portion of the first rewrite count data in the second block; updating the first rewrite count data in one of the first blocks when performing one of a write operation and an erase operation in the one first block; and updating the portion of the first rewrite count data in the second block when the first rewrite count data in the one first block exceeds a predetermined number.
Claim 39
Independent Claim 129 words
A method for tracking a rewrite history of a plurality of first blocks and a second block of a memory device, comprising the steps of: storing first rewrite count data in each of the first blocks, the first rewrite count data indicating a number of times a corresponding one of the first blocks has been written into or erased; storing a portion of the first rewrite count data in the second block; updating the first rewrite count data in one of the first blocks when performing one of a write operation and an erase operation in the one first block; and updating the portion of the first rewrite count data in the second block when the first rewrite count data in the one first block exceeds a predetermined number.
Claim 40
Dependent Claim 35 words
The method of claim 30, further comprising storing second rewrite count data in the second block, the second rewrite count data indicating a number of times the second block has been written into or erased.
Claim 41
Dependent Claim 32 words
The method of claim 31, further comprising updating the second rewrite count data in the second block when performing one of a write operation and an erase operation in the second block.
Claim 42
Independent Claim 165 words
A method for leveling out a number of writes and erases among a plurality of memory blocks of a storage device, the storage device having a plurality of first memory blocks and at least one second memory block, the method comprising the steps of: storing count data in each of the first memory blocks, the count data indicating a number of times a corresponding first memory block has been written into or erased; storing high-order count data, corresponding to high-order bits of the count data, for each of the first memory blocks in the second memory block; reading the high-order count data from the second memory block; comparing the high-order count data for each of the first memory blocks; and transferring contents of one of the first memory blocks to another first memory block when the high-order count data corresponding to the one first memory block is at least a predetermined amount larger than the high-order count data corresponding to the other first memory block.
Claim 43
Independent Claim 165 words
A method for leveling out a number of writes and erases among a plurality of memory blocks of a storage device, the storage device having a plurality of first memory blocks and at least one second memory block, the method comprising the steps of: storing count data in each of the first memory blocks, the count data indicating a number of times a corresponding first memory block has been written into or erased; storing high-order count data, corresponding to high-order bits of the count data, for each of the first memory blocks in the second memory block; reading the high-order count data from the second memory block; comparing the high-order count data for each of the first memory blocks; and transferring contents of one of the first memory blocks to another first memory block when the high-order count data corresponding to the one first memory block is at least a predetermined amount larger than the high-order count data corresponding to the other first memory block.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag