U.S. patent application number 10/080576 was filed with the patent office on 2002-11-28 for non-volatile data storage system and data storaging method.
This patent application is currently assigned to Hitachi, Ltd.. Invention is credited to Goto, Hiroyuki, Nakamura, Yasuhiro, Shibuya, Hirofumi, Shiota, Shigemasa, Tamura, Takayuki.
Application Number | 20020178338 10/080576 |
Document ID | / |
Family ID | 18996825 |
Filed Date | 2002-11-28 |
United States Patent
Application |
20020178338 |
Kind Code |
A1 |
Shibuya, Hirofumi ; et
al. |
November 28, 2002 |
Non-volatile data storage system and data storaging method
Abstract
This invention realizes separate control for each memory area. A
memory unit is structured by including a semiconductor memory
device capable of memorizing information, the aforementioned memory
device is divided into plural memory areas logically and also
management table, which is capable of controlling separately each
aforementioned memory area for accessing from the outside, is
tabled, control information, which prohibits accessing the
prescribed memory area of the aforementioned plural memory areas,
is provided in the aforementioned management information, and it is
prohibited to access the specified memory area from the outside in
accordance with control information.
Inventors: |
Shibuya, Hirofumi; (Tokyo,
JP) ; Tamura, Takayuki; (Higashiyamato, JP) ;
Goto, Hiroyuki; (Higashimurayama, JP) ; Shiota,
Shigemasa; (Tachikawa, JP) ; Nakamura, Yasuhiro;
(Tachikawa, JP) |
Correspondence
Address: |
Miles & Stockbridge P.C.
Suite 500
1751 Pinnacle Dr.
McLean
VA
22102-3833
US
|
Assignee: |
Hitachi, Ltd.
|
Family ID: |
18996825 |
Appl. No.: |
10/080576 |
Filed: |
February 25, 2002 |
Current U.S.
Class: |
711/173 ;
711/163; 711/E12.1; 714/E11.101 |
Current CPC
Class: |
G06F 12/1433 20130101;
G06F 11/2084 20130101; G06F 11/2056 20130101 |
Class at
Publication: |
711/173 ;
711/163 |
International
Class: |
G06F 012/14 |
Foreign Application Data
Date |
Code |
Application Number |
May 22, 2001 |
JP |
2001-152096 |
Claims
What is claimed is:
1. A memory unit including a memory device having at least one of a
data unit and a semiconductor memory chip having a management unit
corresponding to said data unit, wherein said memory device is
divided into a plurality of memory areas, management information
capable of controlling separately each of said memory areas for
accessing from outside is tabled in said data unit, and control
information for setting a limit to accessing a prescribed memory
area of said plural memory areas is included in said management
information.
2. A memory unit including a memory device having at least one of a
data unit and a semiconductor memory chip having a management unit
corresponding to said data unit, wherein said memory device is
divided into a plurality of memory areas, management information
capable of controlling separately each of said memory areas for
accessing from outside is tabled in said data unit, wherein said
management information includes at least one of first to fourth
information, said first control information prohibiting writing
data in a prescribed memory area of said plural memory areas, said
second control information prohibiting reading out data from a
prescribed memory area of said plural memory areas, said third
control information being capable of performing simultaneously
mirroring for storing data which are written in a prescribed memory
area of said plural memory areas in a plurality of places at a same
time, and said fourth control information being capable of time
difference mirroring for storing data which are written in a
prescribed memory area of said plural memory areas in plural places
after a prescribed time has passed.
3. A memory unit according to claim 2, wherein said management
information includes fifth control information for identifying
whether or not a memory area which is kept as a spare area in
advance is capable of being used.
4. A memory unit according to claim 3, wherein said management
information includes sixth control information for indicating
erasing number of times or rewriting number of times of a memory
area.
5. A memory unit according to claim 4, wherein a memory means for
storing said management information altogether is included.
6. A memory unit according to claim 4, wherein an area for storing
said management information by each memory area is provided in said
plural memory areas.
7. A memory unit according to claim 6, wherein control means for
controlling separately said memory area based on said management
information is included.
8. A memory unit according to claim 7, wherein said control means
includes a micro processing unit for processing said management
information by software.
9. A memory unit according to claim 7, wherein said control means
includes a controlling unit for processing said management
information by exclusive hardware.
10. A data processing system according to claim 9, wherein a memory
unit and a host device capable of accessing it are included.
11. A data processing system according to any one of claims 1 to 6,
wherein a memory unit and a host device capable of accessing it are
included and said host device includes an information processing
unit for controlling separately said memory area based on said
management information.
12. A method for controlling a memory device including at least one
semiconductor memory chip having a data unit and a management unit
corresponding to said data unit, wherein, when said memory device
is divided into plural memory areas, the method comprises a step
for controlling separately said memory device by each memory area
based on management information that is tabled on said data unit,
by including at least one of first to fourth control information,
said first control information prohibiting writing data in a
prescribed memory area of said plural memory areas, said second
control information prohibiting reading out data from a prescribed
memory area of said plural memory areas, said third control
information storing data that are written in a prescribed memory
area of said plural memory areas in plural places nearly at a same
time, and said fourth control information storing data that are
written in a prescribed memory area of said plural memory areas in
plural places after a prescribed time has passed.
13. A method for controlling a memory device according to claim 12,
wherein said management information includes fifth control
information for identifying whether or not a memory area is
usable.
14. A method for controlling a memory device according to claim 13,
wherein said management information includes sixth control
information for indicating erasing number of times and rewriting
number of times of a memory area.
15. A method for controlling a memory device according to claim 14,
wherein said method includes a first step having a management
information edit step capable of editing said management
information and identifying whether or not said step of editing
said management information transits to an edit mode of said
management information and a second step for editing said
management information in an edit mode which is transited based on
an identifying result at said first step.
16. A method for controlling a memory device according to claim 15,
wherein said second step includes: a third step for identifying
whether or not a command given from a host device is a writing
command to a random access memory from said host device and for
writing said management information in said random access memory
from said host device based on an identified result thereof, a
fourth step for identifying whether or not a command given from
said host device is a command for writing a memory device from said
random access memory and writing said management information in
said memory device from said random access memory, a fifth step for
identifying whether or not a command given from said host device is
a command for reading out to said random access memory from said
memory device and reading out said management information to said
random access memory from said memory device, and a sixth step for
identifying whether or not a command given from said host device is
a command for reading out said host unit from said random access
memory and reading out said management information to said host
device from said random access memory.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to a memory unit. More
particularly, the present invention relates to control technology
of the memory unit that employs a semiconductor memory unit. For
example, the present invention relates to technology that is
applied to a card type memory unit which is formed in a card shape
and capable of attaching to a data processing system such as a PDA
(Personal Digital Assistant).
[0002] In most cases, a hard disc device has been employed as an
outer memory unit for a data processing device such as a computer
system. In recent years, the outer memory unit, which utilizes a
semiconductor memory unit, having large capacity has been employed
instead of this hard disc device. A memory device of this type
memory unit is structured by plural flash EEPROMs, for example. The
memory unit utilizing flash EEPROM in this way can access data at
high speed, compared with a hard disc device, and has superior
characteristics in the points of reliability and anti-shocking.
Such a memory device, is therefore developed as a memory board, a
memory card, or a silicon disc device having the same interface as
the hard disc, etc.
[0003] According to Japanese Patent Application Laid-Open No. Hei
7(1995)-36759, an IC card is disclosed, which includes a card
controller for controlling the inside of a card and a microcomputer
microcomputer for controlling a card controller and file data, uses
mask ROM and a flash memory for file data storing memory as a local
memory and shares its mask ROM as an attribute storing memory.
Further, it is aimed to improve the speed of writing a memory, grow
longer the span of life, reduce the price, and improve the
reliability by using PSRAM as a control table as a part of data
management information (information for uniforming rewriting number
of times by recording rewriting number of times), a write buffer
for improving writing speed and a garbage buffer at the time of
erasing unnecessary data.
[0004] Further, in accordance with Japanese Patent Application
Laid-Open No. Hei 5(1993)-334506, the body system of the outside,
in which an IC memory card 10 is equipped, accesses an attribute
memory by controlling a mode control circuit 13. Then, there has
been proposed an IC card, which controls an area that is required
for performing a program and data by selecting one of memories to
which data should be written by way of a higher level application
program by identifying information of writing data, a reading out
processing method, a memory type by each different memory capacity,
and allocating addresses.
[0005] In accordance with Japanese Patent Application Laid-Open No.
Hei 6(1994)-52674, flash EEPROM of the first mass storage unit is
mounted on a printing circuit board, and flash EEPROM of the second
mass storage unit is also mounted on the same printing circuit
board. In this case, flash EEPROM of the second mass storage unit
is mounted detachably by way of an IC socket. Thus, since it is
possible to exchange flush EEPROM, in which management information
is stored, by each chip unit, it is possible to maintain the mass
storage subsystem.
SUMMARY OF THE INVENTION
[0006] When the present inventor examined the function of the
conventional memory unit, the memory area has been managed as one
memory area as the whole memory device. Since the memory area is
not identified separately, it is found that each of areas cannot be
controlled separately by dividing the memory device into several
areas logically. To put it concretely, in the case in which there
exist data that should not be rewritten or erased erroneously by a
public user in the memory unit, it is convenient for protection if
the data thereof can be protected just by being put in the
prescribed areas as writing is prohibited. Since the conventional
memory unit can not be separately controlled by each area in one
memory unit, it is not possible to protect data existing in the
areas by only the specified memory area being set as writing is
prohibited. Further, in the case in which it is required to get log
data of user's usage conditions, even if it is required to protect
log data that are stored in the specified memory areas such that
the data thereof should not read by the user, etc., it is very
difficult to do so. Further, in the case in which the electrical
power of the aforementioned memory unit is shut off at the time
that data are written in the memory unit, it may take place that
the data of the areas, in which data have been written, are erased.
However, it is not possible to recover the data thereof by the
memory unit.
[0007] Therefore, it is an object of the present invention to
provide a non volatile data storage system and a data storing
method which overcomes the above issues in the related art. This
object is achieved by combinations described in the independent
claims. The dependent claims define further advantageous and
exemplary combinations of the present invention.
[0008] The object of the present invention is to provide technology
for restricting accessing to the specified memory areas.
[0009] Another object of the present invention is to provide
technology capable of protecting data that has existed in the areas
thereof by setting only the specified memory area as writing being
prohibited.
[0010] Still another object of the present invention is to provide
technology capable of protecting data that has existed in the areas
thereof by setting only the specified memory area as reading being
prohibited.
[0011] Still another object of the present invention is to provide
technology for recovering lost data.
[0012] The aforementioned objects and novel features are clarified
with reference to attached figures and descriptions of the present
specification.
[0013] The summary of the representatives of the invention of the
present invention are explained in the following.
[0014] That is to say, the memory unit includes a memory device
having at least one of a data unit and a semiconductor memory chip
having a management unit corresponding to said data unit, in which
the memory device is divided into plural memory areas, management
information capable of controlling separately each of the memory
areas for accessing from outside is tabled in the data unit. In
addition, control information for setting a limit to accessing a
prescribed memory area of the plural memory areas is included in
management information.
[0015] In accordance with the aforementioned method, control
information for setting a limit to accessing a prescribed memory
area of the plural memory areas is included in management
information, and it is limited to access the specified memory areas
in accordance with this management information for accessing from
the outside.
[0016] Further, a memory unit includes a memory device having at
least one of a data unit and a semiconductor memory chip having a
management unit corresponding to the data unit, in which the memory
device is divided into plural memory areas, management information
capable of controlling separately each of the memory area for
accessing from outside is tabled in the data unit. In management
information, there is included one of first control information for
prohibiting writing data in a prescribed memory area of the plural
memory areas, second control information for prohibiting reading
out data from a prescribed memory area of the plural memory areas,
third control information capable of performing simultaneously
mirroring for storing data which are written in a prescribed memory
area of the plural memory areas in plural places at a same time,
and fourth control information capable of time difference mirroring
for storing data which are written in a prescribed memory area of
the plural memory areas in plural places after a prescribed time
has passed.
[0017] In accordance with the aforementioned method, management
information includes control information for setting a limit to
accessing the prescribed memory areas of the aforementioned plural
memory areas, and accessing is limited with respect to the
specified memory areas in accordance with this control information
for accessing from the outside. At this time, if first control
information is included in management information, it is possible
to prohibit writing data in the prescribed memory areas of the
aforementioned memory areas based thereon. This function protects
data existing in the aforementioned memory areas. If first control
information is included in management information, it is possible
to prohibit writing data in the prescribed memory areas of the
aforementioned memory areas based thereon. This function protects
data existing in the aforementioned memory areas. If second control
information is included in management information, it is possible
to prohibit reading out data in the prescribed memory areas of the
aforementioned memory areas based thereon. This function protects
data existing in the aforementioned memory areas. If third control
information is included in management information, it is possible
to store writing data for the prescribed memory areas of the
aforementioned memory areas based thereon in plural positions
nearly at the same time. Therefore, it comes to be possible to
avoid losing data by utilizing data from other memory areas in the
case in which uncorrectable data errors are caused. Further, if
fourth control information is included in aforementioned management
information, it is possible to store writing data for the
prescribed memory areas of the aforementioned memory areas based
thereon in plural positions after a predetermined time difference
has passed. Therefore, it comes to be possible to avoid losing data
by utilizing data from other memory areas in the case in which
uncorrectable data errors are caused.
[0018] The aforementioned management information includes fifth
control information for identifying whether or not a memory area
which has been kept as a spare area in advance is capable of being
used. If fifth control information is included in the
aforementioned management information, the spare areas can be used
based thereon . Therefore, when the use of the specified memory
areas is impossible, memory capacity is prevented from reducing by
alternating for the spare areas.
[0019] If aforementioned management information includes sixth
control information for indicating erasing number of times or
rewriting number of times of a memory area, it is possible to know
the span of life of the memory area based thereon. Therefore, the
reliability of data that are stored in the aforementioned memory
area is improved.
[0020] At this time, a memory means for storing management
information with all included can be included. Further, in the
aforementioned plural memory areas, an area for storing
aforementioned management information by each memory area is
provided and management information can be stored therein.
[0021] Control means for controlling separately the memory area
based on management information can be included. At this time, the
control means includes a micro processing unit for processing
management information by software.
[0022] Further, it is possible to structure the aforementioned
control means by including a controlling unit for processing
management information by exclusive hardware.
[0023] It is possible to structure a data processing system by
including the aforementioned memory unit and a host device capable
of accessing the memory unit.
[0024] When a data processing device is structured by including a
memory unit and a host device capable of accessing it, the host
device can include an information processing unit for controlling
separately the aforementioned memory area based on aforementioned
management information.
[0025] When the memory device, which includes a semiconductor
memory device capable of rewriting memory information, is
controlled, there is included a step for controlling separately the
memory device by each memory area based on management information
which includes, when the memory device is divided into plural
memory areas logically, at least one of first control information
for prohibiting writing data in a prescribed memory area of the
plural memory areas, second control information for prohibiting
reading out data from a prescribed memory area of the plural memory
areas, third control information capable of simultaneously
mirroring for storing data that are written in a prescribed memory
area of the plural memory areas in plural places nearly at the same
time, and fourth control information capable of time difference
mirroring for storing data that are written in a prescribed memory
area of the plural memory areas in plural places after a prescribed
time has passed.
[0026] The aforementioned management information includes fifth
control information for identifying whether or not a memory area is
usable, or sixth control information for indicating erasing number
of times and rewriting number of times of a memory area.
[0027] When the management information edit step capable of editing
aforementioned management information is included, this management
information edit step includes a first step identifying whether or
not the step of editing management information transits to an edit
mode of the management information and a second step for editing
management information in an edit mode which is transited based on
an identifying result at the first step. Then, the aforementioned
second step includes the third step for identifying whether or not
a command given from a host device is a writing command to a random
access memory from the host device and for writing aforementioned
management information in the aforementioned random access memory
from the aforementioned host device based on an identified result
thereof, a fourth step for identifying whether or not a command
given from the aforementioned host device is a command for writing
a memory device from the aforementioned random access memory and
writing aforementioned management information in the aforementioned
memory device from the aforementioned random access memory, the
fifth step for identifying whether or not a command given from the
aforementioned host device is a command for reading out from the
aforementioned memory device to the aforementioned random access
memory and reading out aforementioned management information to the
random access memory from the aforementioned memory device, and the
sixth step for identifying whether or not a command given from the
aforementioned host device is a command for reading out the
aforementioned host unit from the aforementioned random access
memory and reading out management information to the aforementioned
host device from the aforementioned random access memory.
[0028] For editing the aforementioned management information, it is
possible to prevent management information from being rewritten by
a user unintentionally, by enabling editing only at the management
information editing step which is realized by giving a prescribed
command. Further, the step transits to the management information
editing step by giving a prescribed command, and management
information can be edited. Therefore, according to the application
fields of the memory devices, the contents of individual control by
each area can be easily changed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] FIG. 1 is an example of the block structure of a memory unit
of the present invention.
[0030] FIG. 2 is an example of the block structure of the
information processing unit included in the aforementioned memory
unit.
[0031] FIGS. 3A and 3B are explanatory views of other memories and
the ID information storing memory included in the aforementioned
memory unit.
[0032] FIG. 4 is an example of the table of the aforementioned ID
information storing memory.
[0033] FIG. 5 exemplifies the structures of ID information that is
managed in the aforementioned memory unit.
[0034] FIG. 6 is a flowchart of an initial process of ID
information.
[0035] FIG. 7 is a flowchart of a normal process of ID
information.
[0036] FIG. 8 is a detailed flowchart of the read type command
process.
[0037] FIG. 9 is a detailed flowchart of the read type command
process.
[0038] FIG. 10 is a detailed flowchart of the write type command
process.
[0039] FIG. 11 is a detailed flowchart of the write type command
process.
[0040] FIG. 12 is a detailed flowchart of other command
processes.
[0041] FIG. 13 is a flowchart of the ID information edit
process.
[0042] FIG. 14 illustrates the flow of the signals of the
aforementioned ID information edit process.
[0043] FIG. 15 is a block diagram of the other structures of the
aforementioned memory unit.
[0044] FIG. 16 illustrates an example of the table structure of ID
information in the case in which the structure of FIG. 15 is
adopted.
[0045] FIG. 17 is a block diagram of another structure of the
aforementioned memory unit.
[0046] FIG. 18 is a block diagram of still another structure of the
aforementioned memory unit.
[0047] FIG. 19 is a block diagram of still another structure of
information processing unit of the aforementioned memory unit.
[0048] FIG. 20 i s a block diagram of still another structure of
information processing unit of the aforementioned memory unit.
[0049] FIG. 21 is another explanatory view of storing ID
information of the aforementioned memory unit.
[0050] FIGS. 22A and 22B are other explanatory views of other
memories and ID information storing memories of the aforementioned
memory unit.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0051] The invention will now be described based on the preferred
embodiments, which do not intend to limit the scope of the present
invention, but exemplify the invention. All of the features and the
combinations thereof described in the embodiments are not
necessarily essential to the invention.
[0052] FIG. 1 is an example of the structure of a memory unit of
the present invention.
[0053] A memory unit 10 is applied, though it is not limited, as an
outer memory unit of a host device 20 such as a portable personal
computer system as an example of a data processing device, and
access by the host device 20 can be realized.
[0054] The memory unit 10, though it is not limited, is formed in
the shape of a card including an information processor 11 and a
memory device 12, and connected to the aforementioned host device
20 in a detachable way.
[0055] The memory device 12 includes an ID information storing
memory 13 which is formed on one semiconductor substrate such as a
single crystal silicon substrate and other memories 14 to 17 for
storing files by way of the conventional semiconductor integrated
circuit manufacturing technology, though it is not limited. The ID
information storing memory 13 and other memories 14 to 17, though
they are not limited, are treated as flash memories including
nonvolatile memory devices, and it comes to be possible to rewrite
stored information thereof electrically. The ID information storing
memory 13, the other memories 14 to 17 and the information
processor 11 are connected by way of an address and data bus AD_BUS
capable of accessing address signal and data, a chip select signal
for selecting a chip and a control bus C_BUS for transmitting
various control signals in relation to a read write control.
[0056] The memory device 12 is divided into 3 groups (memory areas)
0, 1 and 2 logically, though it is not limited. The group 0 is
formed by a part of the memories 14 and 15. The group 1 is formed
by a part of the memory 15. The group 2 is formed by memories 16
and 17.
[0057] The information processor 11 is connected to a host device
2, and it comes to be possible to access various types of
information in relation to the memory unit 10 between this host
device 2 and the information processor 11. Further, the information
processor 11 can operate and control the memory device 12 by way of
the address and data bus AD_BUS and the control bus C_BUS. For this
operation control, ID information which is stored in the ID
information storing memory 13 is referenced, and then it comes to
be possible to operate individually for every group based on this
ID information. Here, the aforementioned ID information is treated
as an example of management information of the present
invention.
[0058] FIG. 2 is an example of the structure of the information
processor 11.
[0059] As shown in FIG.2, this information processor 11, though it
is not limited, includes an outer device connecting unit 111, MPU
(Micro Processing Unit) 112, a buffer controller 113, RAM (Random
Access Memory) 114, and an interface unit 115. An outer device
connecting unit 111 functions as an interface which enables it to
exchange information between the host device 20 and the outer
device connecting unit 111. The interface unit 115 functions as an
interface which enables it to exchange information between the
memory device 12 and the interface unit 115. Further, the interface
unit 115 includes an error detecting circuit for detecting an error
of data which are used here and an error correction circuit for
correcting an error based on the results of detection by this error
detection circuit and thus it comes to be possible to improve the
reliability of data.
[0060] MPU 112 is the core logically of an information processing
unit, and then MPU 112 performs, in accordance with a predetermined
program, a predetermined operating process for processing
information including controlling the operation of the memory
device 12. This MPU 112 is connected to the outer device connecting
unit 111, the buffer controller 113 and the interface unit 115 by
way of an MPU bus 116, and then MPU 112 controls the operation of
each unit thereof by way of this MPU bus 116.
[0061] RAM 114 is defined as a memory (random access memory) which
is randomly accessed by the aforementioned MPU 112 through the
buffer controller 113. This RAM 114 is used for temporarily storing
data which are exchanged between the host device 20 and the memory
device 12. Further, RAM 114 is also used as a work area in an
operation process of the aforementioned MPU 112.
[0062] FIG. 3 indicates an internal structure of the memory 14 and
an internal structure of the ID information storing memory 13.
[0063] The memories 14 to 17 are defined as having the same
structures respectively, therefore the memory 14 only is explained
in detail.
[0064] The memory 14 as shown in FIG. 3B is divided, though it is
not limited, into respective data blocks and management blocks
corresponding thereto in the row direction. The data block can
store data. A management block manages the aforementioned data by
each 1 block unit or 1 sector unit in order to save a redundancy of
the data block. If there is a defected part in the data block, 1
block or 1 sector which contains the defected part thereof is
redundancy-saved by changing to a normal block or a normal sector
in accordance with redundancy save information which is managed by
the management block. The ID information storing memory 13 is
structured by a flash memory and change of information of save
information can be realized, and thus it comes to be possible to
save the redundancy of the data block for the defected part which
is caused after the proper time.
[0065] Further, the memory 14 is divided into a user area {circle
over (1)}, an alternative area {circle over (2)}, and a managing
area {circle over (3)}. The user area {circle over (1)} is defined
as an area where a user can use. The alternative area {circle over
(2)} is defined as an area capable of changing a part, which cannot
be used by the user area {circle over (1)}, by each block unit or
sector unit. The managing area {circle over (3)} is defined as an
area for managing, by each block unit and sector unit, information
to identify whether or not changing has been made through the
changing area and information of a changing point at the time of
being changed. At the time of accessing the memory 14, information
which is managed in the managing area {circle over (3)} is checked,
and the alternated area is accessed instead of the normal area, if
the normal area is alternated.
[0066] As shown in FIG. 3A, a table is formed in the ID information
storing memory 13 by storing ID information of the aforementioned
memories 14 to 17 in an address order. Though it is not limited, it
is divided into a data block and a management block. The data block
can store the data. The management block manages the aforementioned
data by each 1 block unit or 1 sector unit in order to save the
redundancy of the aforementioned data block. If there is a defected
part in the data block, 1 block or 1 sector containing the defected
part thereof is redundancy-saved by alternating a normal block or a
normal sector in accordance with redundancy save information which
is managed by the management block. Since the ID information
storing memory 13 is structured by a flash memory and information
of save information can be cahnged, it comes to be possible to save
the redundancy of the data block to the defected part that is
caused later.
[0067] Further, the ID information storing memory 13 is divided
into the user area {circle over (1)}, the alternative area {circle
over (2)}, and the managing area {circle over (3)} in the column
direction. The user area {circle over (1)} is defined as an area
which can be used by a user. The alternative area {circle over (2)}
is defined as an area which can alternate the part which could not
be used in the user area {circle over (1)} by each block unit or
sector unit. The managing area {circle over (3)} is defined as an
area for managing, by each block unit and sector unit, information
to identify whether or not changing has been made through the
changing area and information of a changing point at the time of
being changed. When the memory 14 is accessed, information which
has been managed in the managing area {circle over (3)} is checked,
and the alternative area therefor is accessed instead of the normal
area when the alternative area has been alternated. In this
example, as described in an earlier part of the specification, the
data block and the management block corresponding thereto are
provided. The aforementioned data block is managed by each 1 block
unit or 1 sector unit in order to save the redundancy of the data
block. On the other hand, the table of ID information, which
enables to control each predetermined memory area separately in
beforehand, is formed in the data block.
[0068] At this stage, the aforementioned ID information extends not
only to the user area {circle over (1)} but also to the alternative
area {circle over (2)} and the managing area {circle over (3)}.
That is to say, in FIG. 3B, though the alternative area {circle
over (2)} of the memory 14 is defined as an area from address
"0X2000" to the presence of "0X3000" and the managing area {circle
over (3)} is defined as an area after the address "0x3000," ID
information in relation to this area is also contained in ID
information indicated in FIG. 3A. This is for omitting restructure
of all the tables of ID information, by allocating ID information
in advance even if the size of the user area {circle over (1)}, the
alternative area {circle over (2)} and the managing area {circle
over (3)} of the memory 14 is changed. The alternative area {circle
over (2)} and the managing area {circle over (3)} are areas for
managing memories. It is not appropriate to have ID information in
the area thereof, thus all logical value of ID information is fixed
to "0" as long as corresponding alternative area {circle over (2)}
and managing area {circle over (3)} are not used as user areas, for
ID information which is stored in the alternative area {circle over
(2)} and the managing area {circle over (3)}, in the memory 14.
[0069] At this point, in FIGS. 3A and 3B, ID information in
relation to the memory 14 is indicated. Further, for other memories
15 to 16, in the same way as the memory 14, ID information in
relation thereto is defined.
[0070] The memory device 12 is accessed by the host device 20. In
the ID information storing memory 13 and the other memories 14 to
15 for storing files, there are included the data blocks and the
management blocks therefor. In the case in which the data block is
saved by each sector unit, in accordance with information of the
management block, the defected part of the data block is alternated
by each sector unit. Further, in this example, in the case in which
the memories 14 to 17 are accessed, in accordance with ID
information which has been tabled in the table part of the ID
information storing memory 13, the memory areas which have been set
in advance are separately controlled.
[0071] FIG. 4 is an example of the table of the ID information
storing memory 13.
[0072] As shown in FIG. 4, each chip enable signal F_CE_N, each
address (FD) and each ID information are included in a table which
has been formed in this ID information storing memory 13.
[0073] The chip enable signal F_CE_N has 4 types, and each F_CE_N
corresponds to respective memories 14, 15, 16 and 17. Though there
is no limitation, the memory 14 is designated by F_CE_N=1, the
memory 15 is designated by F_CE_N=2, the memory 15 is designated by
F_CE_N=3, and the memory 16 is designated by F_CE_N=4. Further, the
address (FD) is each address for each of memories 14, 15, 16 and
17, and each address (FD) is defined within the range from 0X0000
to 0X1FFF. In accordance with this address (FD), ID information
having the byte structure is allocated. In accordance with this
situation, The group 0 is defined as the memory 14 which is
designated by F_CE_N=1 and addresses "0X1000" to "0X1FFF" of the
memory 15 which is designated by F_CE_N=2. The group 1 is defined
as addresses "0X1000" to "0X1FFF" of the memory 15 which is
designated by F_CE_N=2. The group 2 is defined as addresses
"0X0000" of the memory 16 which is designated by F_CE_N=3 to
"0X1FFF" of the memory 17 which is designated by F_CE_N=4.
[0074] Though it is described later, in accordance with
aforementioned ID information, the contents of controlling normal
read/write, read-only and mirroring are specified, thus it comes to
be possible to control accessing from the outside by each
aforementioned memory area. In the example of FIG. 4, read/write
can be performed to the group 0. For the group 1, write-in is
prohibited by designating read-only. For the group 2, the same data
as the contents of the memory of the groups 0 and 1 are written in
after the prescribed time has passed by designating mirroring (time
difference) for the groups 0 and 1.
[0075] FIG. 5 exemplifies the structures of ID information.
[0076] At this time, ID information is defined by a byte format. If
ID information is defined toward the left end from the right end of
ID information in the manner of being bytes B0, B1, B2 and B3,
bytes B0 to B4 designate the rewriting/erasing number of times of
the area which is specified by aforementioned ID information, bytes
B5 to B9 designate address information, bytes B10 to B11 designates
preliminary area information, bytes B12 and B13 designate control
information.
[0077] Aforementioned preliminary information includes information
of identifying whether or not mirroring ("time difference
mirroring" is used hereinafter) having a prescribed time difference
should be performed to the area specified by aforementioned ID
information, information of identifying whether or not mirroring
("simultaneously mirroring" is used hereinafter) is performed at
the same time to the area specified by aforementioned information,
information of identifying whether or not a spare area exists,
information of identifying whether or not processing ("spare
process" is used hereinafter) for allocating a spare area is
performed in a priority manner in the case in which an
uncorrectable error is caused in the case in which there exists a
spare area and information of identifying whether or not the spare
process has been terminated. Mirroring means that the same data as
the data which have been written in the specified area are written
in a different area. At this time, simultaneously mirroring and
time difference mirroring are identified according to the
difference of timing of writing the data. Further, the spare is a
alternative area of the specified area. In the case in which bytes
B10 and B11 are expressed by the bit format, the contents of
preliminary area information is specified by the logical values of
the specified bits. Though it is not limited especially, in the
case of "0000.sub.--0000," time difference mirroring and
simultaneously mirroring are not performed and further the spare
area does not exist in addition. In the case of "0000.sub.--0001,"
time difference mirroring is designated. In the case of
"0000.sub.--0010," simultaneously mirroring is designated. In the
case of "0000.sub.--0100," it is designated that there exists the
spare area. In the case of "0000.sub.--0111," it is designated that
time difference mirroring and simultaneously mirroring are
performed and further there exists the spare area. In the case of
"0000.sub.--1111," it is designated that time difference mirroring
and simultaneously mirroring are performed and further there exists
the spare area, in which it is designated that the spare process is
performed in a priority manner at the time that the uncorrectable
error is caused. Further, in the case of "1111_XXXXX" (X defines a
logical indefinite value), it is designated that the spare process
has been terminated.
[0078] Further, for aforementioned control information, in the case
in which bytes B12 and B13 are expressed by the bit format, the
contents of preliminary area information are specified by way of
the logical values of prescribed bits. Though it is not limited
especially, it is designated that "0000.sub.--0001" is a normal
read/write area. It is designated that "0000.sub.--0010" is a read
only (write protect) area. It is designated that "0000.sub.--0011"
is write only area. It is designated that "0000.sub.--0100" is a
time difference mirroring area. It is designated that
"0000.sub.--1000" is the simultaneous mirroring area. It is
designated that "1111_XXXX" is the spare area. At this time, "XXXX"
means the logical indefinite values.
[0079] Writing data onto the read only area is prohibited. Further,
reading out of data from the write only area is prohibited.
[0080] The operation of the memory unit 10 is explained with
reference to FIGS. 6 to 13.
[0081] FIG. 6 is a flowchart of an initial process of ID
information.
[0082] The memory unit 10 is firstly initialized by way of a power
on reset or a normal reset by supplying the power (S11).
[0083] Next, the table of ID information is developed from the ID
information storing memory 13 in RAM 114 of the information
processor 11 (S12). Further, the information processor 11
determines whether or not the memory device 12 attains the
prescribed erasing number of times or the prescribed rewriting
number of times with reference to the table which is developed in
RAM 114 (S13). In this determination, in the case in which it is
decided that the prescribed rewriting number of times or the
erasing number of times has not been attained (No), the present
initial process is terminated. However, for judging at the step of
S13, in the case in which it is judged that the prescribed
rewriting number of times or the prescribed erasing number of times
has been attained (Yes), since the reliability of stored
information is improved by alternating for the spare area, it is
judged whether or not the spare exists with reference to
preliminary area information of ID information at the first place
(S14). When it is judged that the spare has existed (Yes), in order
to search the spare, control information of ID information
indicates the spare area and further it is started to search ID
information having the same address information (S15). At this
stage, the meaning that address information agrees is used for
judging whether or not the address and a chip enable signal
(F_CE_N) of the source of the spare agree with address information
of ID information of the destination of the spare. For this search,
control information indicates spare area, and then judgement
whether or not address information of ID information agrees is
performed (S16). In this judgement, in the case in which control
information indicates the spare area and it is judged that address
information of ID information agrees (Yes), since it is ID
information of the spare, thus the information processor 11
performs the spare process (S17). This spare process writes the
data of the source of the spare in the destination of the spare by
saving once in RAM 114, etc. Further, a write error procedure, in
which rewrite in the alternative area can be realized, is included
in this spare process. That is to say, in the case in which it has
not been possible for the spare process to write normally the data
in the spare area, rewrite in the area thereof is performed.
Further, judgement whether or not the spare process has been
terminated is performed (S18). In the case in which it has been
judged that the spare process has been terminated (Yes), spare
information is kept (S19), and then the host device 20 is notified.
Further, for judging at the step of S14, in the case in which the
spare does not exist (No) and in the case in which the spare has
not been searched at the time of judging at the step of S16, and
further in the case in which it has been judged that the spare
process has not been terminated (No) due to any situation, error
information is kept up (S20), and then the initial process is
terminated by notifying error information to the host device 20
(S21).
[0084] FIG. 7 is a flowchart of a normal process of ID
information.
[0085] For normal processing of ID information, if a command is
given from the host device 20 (S31), whether or not the command
thereof is a read type is judged (S32). If it is judged that the
command thereof is the read type (Yes), the read type command
process, which is described hereinafter, is performed (S35). At the
step S32, if it is judged that the command thereof is not the read
type (No), whether or not the given command is a write type or not
is judged (S33). If it is judged that the command thereof is the
write type (Yes), the write type command process, which is
described hereinafter, is performed (S36). At the step S33, if it
is judged that the command thereof is not the write type (No),
whether or not the given command is a command other than the read
or write type is judged (S34). In this judgement, if it is judged
that the command thereof is the command which has already been
supported (Yes), other type command process, which is different
from the aforementioned read or write type command process, is
performed (S37). The other command process is also described
hereinafter. At the step S34, if it is judged that the command
thereof is not an unsupported command (No), since the command which
has been processed at the step of S31 is the unsupported command of
the information processor 11, the situation therefor is informed to
the host device 20 (S41).
[0086] As a result of the read command process at the step of S35,
write type command process S36 at the step of S36 or other command
process at the step of S37, it might be needed to update ID
information in such a way that the rewriting/erasing number of
times of the memory device 12 is changed or spare information is
changed, for example. Therefore, after the read command process at
the step of S35, write type command process S36 at the step of S36
or other command process at the step of S37 is terminated, whether
or not ID information should be updated is judged (S38) In the case
in which the memory device 12 is rewritten by the write type
command process, for example, update of ID information is required.
In the case in which it is judged at the step of S38 that update of
ID information is required (Yes), update of ID information (S39) is
performed and thereafter the present procedure will be terminated
after the host device 20 is notified (S41). The host device 20 is
notified byway of error information, the status of the memory
device 12, the rewriting/erasing number of times of the memory
device 12 and spare information.
[0087] FIGS. 8 and 9 are detailed flowcharts of the read type
command process (S35) of FIG. 7. At this point, {circle over (1)}
to {circle over (5)} of FIGS. 8 and 9 indicate that the procedures
are continuous.
[0088] If the read type command process is started by the
information processor 11 (S51), ID information which has been
developed in RAM 114 is referenced first of all (S52), and it is
judged whether or not the normal read area is set in control
information (B12, B13) of ID information corresponding to the
memory area as the target of read (S53). As shown in FIG. 5, if B12
and B13 as control information of ID information are
"0000.sub.--0001," this means that the normal read area has been
set. In the judgement at the step of S53, in the case in which it
is judged that the normal read area has been set (Yes), the
information processor 11 starts the read process at the step (S56)
However, in the judgement at the step of S53, in the case in which
it is judged that the normal read area has not been set (No), it is
judge whether or not information of the read only area has been set
to control information (B12, B13) of ID information corresponding
to the memory area as the target of read (S53). As shown in FIG. 5,
if B12 and B13 as control information of ID information are
"0000.sub.--0010," it is meant that the normal read only area has
been set. In other words, it is prohibited to write to the area
thereof by way of write protection. At the step S54, when it is
judged that the read only area has been set (Yes), the information
processor 11 starts the read process (S56). However, in the case in
which it is judged that the read only area has not been set (No),
it is performed to judge whether or not information of the write
only area has been set to control information (B12, B13) of ID
information corresponding to the memory area as the target of read
(S55). As shown in FIG. 5, if B12 and B13 as control information of
ID information are "0000.sub.--0011," it is meant that the write
only area has been set. At the step S55, in the case in which it is
judged that the write only area has not been set (No), the
information processor 11 starts the read process at the step (S56).
However, in the judgement at the step of S53, in the case in which
it is judged that the write only area has been set (Yes), error is
returned since the read type command process is not appropriate,
and then the procedure of the present flowchart is terminated (S75,
S76).
[0089] The read process at the step of S56 includes a generating
procedure at the time of causing a correctable error and an
alternative procedure at the time that the memory area is
alternative and it is required to alternate, other than a series of
procedures in relation to reading out information from the memory
device 12.
[0090] In the case in which an error is caused in information which
is obtained in the read process, it is judged whether or not the
error thereof is uncorrectable (S57). When it is judged that the
error is not the uncorrectable error (No), judgement whether or not
alternate is possible (S60). When alternate is not possible (No),
the procedure of the present flowchart is terminated. Further, at
the aforementioned step S60, in the case in which it is judged to
alternate (Yes), judgement whether or not the spare is set in
preliminary area information of ID information is performed (S70).
As shown in FIG. 5, B10 and B11 as preliminary area information of
ID information are any of "000.sub.--0100," "0000.sub.--0111,"
"0000.sub.--1111," "0000.sub.--0110," and "0000.sub.--1110," this
means that there exists the spare. In the judgement at the step of
S70, in the case in which it is judged that the spare exists (Yes),
search of ID information starts (S71), and it is judged whether or
not information of the spare area is set in control information in
each ID information and the address and chip enable signal of the
source of the spare agree with address information of ID
information of the destination of the spare (S72). In this
judgement, in the case in which it is judged that information of
the spare area is set in control information and address
information of ID information agrees with each other (Yes), since
it means the spare for alternating, the spare process capable of
alternating the memory area is performed (S73). This spare process
includes a write error procedure capable of rewriting the spare
area. When the data can not be written in the spare area correctly,
rewrite of the data is performed. Then, whether or not the spare
process is terminated is judged (S74). When judged that the spare
process has been terminated (Yes), the procedures of the present
flowchart are terminated after spare information is maintained
(S68, S76). At the step S74, in the case in which it is judged that
the spare process has not been terminated, the judgement thereof is
considered as the error of the spare process, and thus the
procedures of the flowchart is terminated (S75, S76).
[0091] Further, in the judgement at the step of S57, in the case in
which it is judged that the error of the read process is the
uncorrectable error (Yes), it is judged whether or not mirroring is
set in preliminary area information of ID information of the area
to be read out at the same time (S58). As shown in FIG. 5, if
preliminary information (B10, B11) of ID information are any of
"000.sub.--0010," "0000.sub.--0111," "0000.sub.--1111,"
"0000.sub.--0110," and "0000.sub.--1110," mirroring is set at the
same time. In the judgement at the step of S58, in the case in
which it is judged that simultaneously mirroring has been set
(Yes), search of ID information starts (S61). Then, it is judged
whether or not address and the chip enable signal of the source of
mirroring agree with address information of ID information of the
destination of mirroring (S62). In this judgement, in the case in
which the simultaneous mirroring area is set in control information
and in addition address information of ID information agrees with
each other (Yes), since the situation thereof means the
simultaneous mirror area corresponding to the area in which the
aforementioned error has been caused, the read process is performed
for reading out information from the area thereof (S65). In the
case in which the error is caused in information that is obtained
in this read process, whether or not the error thereof is
uncorrectable is judged (S66). When it is judged that the error is
not the uncorrectable error (No), it is performed to judge whether
or not it is possible to alternate (S67). In this judgement, it is
not impossible to alternate (No), information is maintained for
alternating (sparing), and then the procedures of the present
flowchart are terminated (S76).
[0092] When it is judged that the error is uncorrectable at the
step of S66, preliminary area information of ID information is
referenced, and then whether or not the spare is prioritized is
judged (S69). When it is judged that the spare is prioritized,
whether or not preliminary area information of ID information is
set in the spare is judged (S70). When it is judged that
preliminary area information of ID information is set in the spare
(Yes), search of ID information starts (S71) and it is judged, in
each ID information, whether or not information of the spare area
is set in control information and in addition the chip select
signal and address of the source of the spare agree with address
information of ID information of the destination of the spare
(S72). In this judgement, information of the spare area is set in
control information and in addition address information of ID
information agrees with each other (Yes), the spare process is
performed (S73). This spare process includes a write error
procedure capable of rewriting the alternating area. Further, it is
judged whether or not the spare process is terminated (S74). When
it is judged that the spare process is not terminated, the error
response is output, and the procedure of the present flowchart is
terminated (S75, S76). In addition, in the judgement at the step of
S58, in the case in which it is judged that the simultaneously
mirroring is not set in preliminary area information of ID
information (No), whether or not time difference mirroring is set
in preliminary area information of ID information is judged. When
it is judged that the time difference mirroring is not set in
preliminary area information of ID information (No), the procedure
is passed to the judgement of the aforementioned step S69. Further,
at step S59, in the case in which it is judged that time difference
mirroring is set in preliminary area information of ID information
(Yes), search of ID information starts (S63) and simultaneously
mirroring is set in control information in each ID information, and
in addition it is judged whether or not address information of ID
information agrees with each other (S64). In this judgement, in the
case in which simultaneously mirroring is set in control
information and in addition address information of ID information
agrees with each other (Yes), since this means that there exists
the simultaneous mirror area corresponding to the area which has
caused the aforementioned error, processing is passed to the read
process for reading out information from the area thereof
(S65).
[0093] FIGS. 10 and 11 are the detailed flowcharts of the write
type command process (S36) of FIG. 7. At this point, the symbols
{circle over (6)} to {circle over (8)} of FIGS. 10 and 11 mean that
the procedures are continuous.
[0094] In the information processor 11, the write type command
process is initiated (S81), ID information which is developed in
RAM 114 is referenced (S82), and then it is judged whether or not
information of the normal write area is set to control information
(B12, B13) of ID information corresponding to the memory area as
the target of write (S53). If the bytes B12 and B13 as control
information of ID information are defined as "0000.sub.--0001" as
shown in FIG. 5, this means that the normal write area has been
set. In the judgement at the step of S83, when the normal write
area has been set (Yes), judgement is performed whether or not the
simultaneous mirroring area is set to control information of ID
information (S86). However, in the judgement at the step of S83, in
the case in which it is judged that the normal write area has not
been set (No), it is judged whether or not the write only area is
set to control information (B12, B13) of ID information
corresponding to the memory area as the target of read (S84). As
shown in FIG. 5, bytes B12 and B13 as control information of ID
information are "0000.sub.--0011," this means that the write only
area has been set. At the step S84, in the case in which it is
judged that the write only area has been set (Yes), judgement is
performed whether or not the simultaneous mirroring area is set to
control information of ID information (S86). However, At step S84,
in the case in which it is judged that the write only area has not
been set (No), judgement is performed whether or not the read only
area is set to control information (B12, B13) of ID information
corresponding to the memory area as the target of read (S85). As
shown in FIG. 5, if bytes B12 and B13 as control information of ID
information are "0000.sub.--0010," this means that the read only
area has been set. In the judgement at the step of S85, in the case
in which it is judged that the read only area has not been set
(No), it is performed to judge whether or not the simultaneous
mirroring area is set to control information of ID information
(S86). However, in the judgement at the step of S85, in the case in
which it is judged that the read only area has been set (Yes),
processing is terminated by the error since the write type command
process is inappropriate (S113, S106).
[0095] In the judgement at the step of S86, in the case in which it
is judged that the simultaneous mirroring area has not been set
(No), the write process for writing information to the memory
device 12 is performed (S87). This write process includes a write
error procedure capable of rewriting the alternating area. Then, in
the case in which the error is caused in the write process at the
step of S87, whether or not the write error is the error of
prohibiting rewriting is judged (S88). In the judgement thereof, in
the case in which the error is not the write error of prohibiting
rewriting (No), judgement whether or not the time difference
mirroring area is set to control information of ID information is
performed (S90). In addition, at the step S88, in the case in which
it is judged that the error is the write error of prohibiting
rewriting (Yes), processing is passed to the judgement of the
aforementioned step of S90 after error information (1) thereof has
been kept up in RAM 114 and the like (S89).
[0096] At this stage, in the judgement at the step of S86, the
simultaneous mirroring area is set to control information of ID
information (Yes), search of ID information starts (S97), and it is
judged in each ID information whether or not the mirroring area is
set to control information and also address information of ID
information agrees with each other (S98). In this judgement, when
it is judged that the simultaneous mirroring area has not been set
to control information (No), after error information thereof is
kept up in RAM 114 and the like (S99), processing is passed to the
write process at the step of S87. In addition, at the step S98, in
the case in which it is judged that the simultaneous mirroring area
has been set to control information and also address information of
ID information agrees with each other (Yes), the write process for
mirroring is performed to the area of address information which is
searched in the search procedure of the step S97 (S100) The write
process at this stage includes the write error procedure capable of
rewriting the alternating area. In addition, in the case in which
the error is caused in the write process at the step S100,
judgement whether or not the error thereof is the write error of
prohibiting rewriting is performed (S101). In this judgement, the
error is not the write error of prohibiting rewriting (No),
processing is passed to the judgement at the step S90. Further, at
the step S101, in the case in which it is judged that the error is
the write error of prohibiting rewriting (Yes), processing is
passed to the judgement at the step S90 after error information (2)
thereof is stored in RAM 114 and the like.
[0097] At the step S90, in the case in which it is judged that the
time difference area has been set to control information of ID
information (Yes), search of ID information starts (S91), and it is
judged whether or not the time difference mirroring area is set to
control information and also address information of ID information
agrees with each other (S92). In this judgement, in the case in
which the time difference mirroring area is set to control
information and also address information of ID information agrees
with each other (Yes), whether or not the starting condition of
mirroring is established is judged (S93) At this stage, as the
starting condition of mirroring, though it is not limited
especially, there are the case in which time which has been set in
advance as the condition of time difference mirroring is measured
by a timer and the case in which the write process has been
terminated.
[0098] At the step S93, in the case in which it is judged that the
starting condition of time difference mirroring is established
(Yes), the write process for mirroring is performed to the memory
area corresponding to searched address information (S94). Further,
after the write process thereof has been terminated, ID information
is updated by incrementing the rewriting/erasing number of times
(B0 to B4). Further, in the judgement at the step of S90, in the
case in which it is judged that the time difference mirroring area
is not set to control information of ID information (No), since
mirroring is not required, procedure is passed to the increment
procedure at the step of S95 without performing the procedure for
performing aforementioned mirroring.
[0099] Then, it is judged whether or not the rewriting/erasing
number of times (B0 to B4) of aforementioned ID information attains
the prescribed value in view of the reliability of the data (S103).
In this judgement, when the rewriting/erasing number of times of ID
information does not attain the prescribed value (No), judgement
whether or not the write error of prohibiting rewriting is caused
is performed (S104). When it is judged that the write error of
prohibiting rewriting is not caused (No), mirroring information is
maintained, and then the procedure of the present flowchart is
terminated (S105, S106). Further, at the step S103, in the case in
which the rewriting/erasing number of times (B0 to B4) of ID
information has attained the prescribed value (Yes), in the case in
which it is judged that the write error of prohibiting rewriting is
caused in the judgement at the aforementioned step S104 (Yes), and
after the error information is stored at the aforementioned step
S96, whether or not the spare has been set to preliminary area
information of ID information is judged (S107). In this judgement,
in the case in which it is judged that spare has been set to
preliminary area information of ID information (Yes), search of ID
information starts (S108), and judgement in each ID information is
performed whether or not the mirroring area is set to control
information and also address information of ID information agrees
with each other (S109). When it is judged that the spare area is
set to control information and also address information of ID
information agrees with each other (Yes), the spare process is
performed (S110), and then judgement whether or not the spare
process has terminated is performed (S111). In this judgement, in
the case in which it is judged that the spare process has
terminated (Yes), spare information is maintained, and then the
procedure of the present flowchart is terminated (S105, S106).
Further, in the judgement at the step S107, in the case in which
the spare has not been set to preliminary area information of ID
information (No), in the case in which the spare area is not set to
control information and also address information of ID information
does not agree with each other (No), and further in the case in
which the spare process has not been terminated in the judgement at
the step of S111 (No), X. judgement whether or not the error
information (1) and (2) is kept up is performed (S112). In this
judgement, in the case in which it is judged that error information
(1) and (2) is not kept up (No), spare information is kept up, and
then the procedure of the present flowchart is terminated (S105,
S106). Further, in the judgement at the step of S112, in the case
in which it is judged that aforementioned error information (1) and
(2) is kept up (Yes), the procedure of the present flowchart is
terminated (S113, S106).
[0100] FIG. 12 is the detailed flowchart of other command process
(S37) of FIG. 7. Though it is not limited especially, the command
thereof is defined as the command of indicating "check alternating
empty area."
[0101] In the information processor 11, if other command process is
started (S121), ID information is referenced (S122) first of all,
and then the number of alternative sectors of the alternating area
is checked (S123). In this checking the number of alternative
sectors of the alternating area, whether or not the number of the
alternative sectors is more than the designated number is judged
(S124). When it is judged that the number of the alternative
sectors is more than the designated number (Yes), the procedure of
the flowcharts is terminated by obtaining information thereof
(S125).
[0102] Further, at the step S124, in the case in which it is judged
that the number of the alternative sectors is not more than the
designated number (No), judgement whether or not the spare is set
to preliminary area information of ID information is performed
(S126). As shown in FIG. 5, if bytes B10 and B11 as preliminary
area information of ID information are any of "000.sub.--0100,"
"0000.sub.--0111," "0000.sub.--1111," "0000.sub.--0110," and
"0000.sub.--1110," it is meant that there exists the spare. In the
judgement at the step of S126, in the case in which it is judged
that there exists the spare (Yes), search of ID information starts
(S127), and information of the spare area is set in control
information and also the address and chip enable signal of the
source of the spare agree with address information of ID
information of the destination of the spare (S128). In the case in
which it is judged that information of the spare area is set in
control information and also the address information of ID
information agrees with each other (Yes), since the situation
thereof means that the spare is for alternating, the spare
procedure capable of alternating the memory area is performed
(s129). This spare process includes the write error process capable
of rewriting the alternating area. Then, it is performed to judge
whether or not the spare process is terminated (S130). In the case
in which it is judged that the spare process has been terminated
(Yes), the procedures of the present flowchart are terminated
(S131, S125) after spare information thereof is maintained.
Further, at the step S126, in the case in which it is judged that
the spare process is not terminated, in the case in which it is
judged that the spare area is not set to control information and
also address information of ID information does not agree with each
other (No), and in the case in which it is judged that the spare
process is not terminated at the step of S130 (No), the procedures
of the present flowchart are terminated by the error (S132,
S125).
[0103] Then, it is described herein to explain how aforementioned
ID information is edited.
[0104] FIG. 13 is the flowchart of the procedures of editing ID
information. Further, FIG. 12 is a transmitting path of a signal
for editing ID information.
[0105] The initial mode is defined as the normal mode (S141).
Whether or not that the command has been given is judged (S142) In
this judgement, the command has been given (Yes), the command
thereof is analyzed. First of all, it is judged whether or not the
command thereof designates the transition to an ID edit mode
(S143). When it is judged that the command thereof designates the
transition to an ID edit mode (Yes), the operation mode is
transited to the ID information edit mode from the normal mode
(S144), and then the procedure is returned to the condition of
waiting the command. Further, in the judgement at the step of S143,
in the case in which it is judged that the command thereof does not
designate the transition to an ID edit mode (No), it is performed
to judge whether or not it is designated to release the ID
information edit mode (S145). When it is judged that it is
designated to release the ID information edit mode (Yes), the
operation mode is transited to the normal mode from the ID
information edit mode (S146), and then the procedure is returned to
the command waiting condition. Further, when it is judged that it
is not designated to release the ID edit mode in the judgement at
the step of S145 (No), whether or not the command is the ID
information edit command is judged (S147).In the case in which it
is judged that the command is not the ID information edit mode
(No), the mode is defined as the normal mode and the procedures are
transited to the command input waiting condition after the normal
command procedures are performed. At the step S147, in the case in
which it is judged that the command is the ID information edit mode
(Yes), the present mode is judged (S148). When it is judged that
the mode is defined as the normal mode, the processing result is an
error (S155), and then the procedure is transited to the command
input waiting condition. At the step S148, in the case in which it
is judged that the command is the ID information edit mode, it is
performed to judge whether or not the command is the write-in
command from the host device 20 to RAM 114 (S149). In this
judgement, when the command is not the write-in command from the
host device 20 to RAM 114 (No), it is performed to judge whether or
not the command is the write-in command from RAM 114 to the memory
device 12 (S150). Further, in the judgement at the step of S149,
when the command is the write-in command from the host device 20 to
RAM 114 (Yes), the procedural step is transited to the judgement at
the step of S150 after ID information is written in RAM 114 from
the host device 20 (S156).
[0106] At the step S150, when it is judged that the command is not
the write-in command from RAM 114 to the memory device 12 (No),
judgement whether or not the command is the readout command from
the memory device 12 to RAM 114 is performed (S151). Further, in
the judgement at the step of S150, when the command is the write-in
command from RAM 114 to the memory device 12 (Yes), after ID
information is written in the memory device 12 from RAM 114 (S157),
the procedural step is transited to the judgement at the step of
S151. At the step S151, in the case in which it is judged that the
command is not the readout command from the memory device 12 to RAM
114 (No), judgement whether or not the command is the readout
command from RAM 114 to host device 20 is performed (S152). In this
judgement, when the command is not the readout command from the
memory device 12 to RAM 114 (No), it is performed to judge whether
or not the command is the readout command from RAM 114 to host
device 20. In this judgement, in the case in which it is judged
that the command is not the readout command from RAM 114 to host
device 20 (No), the procedural step is transited to the step for
waiting the input of the command. Further, at the step S152, in the
case in which it is judged that the command is the readout command
from RAM 114 to host device 20 (Yes), the procedural step is
transited to the step for waiting the input of the command after ID
information is readout from RAM 114 to host device 20 (S159).
[0107] FIG. 15 is a block diagram of the memory unit in the case in
which ID information is stored by each sector unit or by each block
unit.
[0108] The big different point between the structure of FIG. 15 and
that of FIG. 1 is in a point in which each storing area of ID
information is formed in memories 14, 15, 16, 16, and 17 and ID
information corresponding to respective memories 14, 15, 16, 16,
and 17 is stored in this storing area of ID information. For
example, for the memory 14, the data block and the management block
corresponding thereto are provided in this memory 14, and ID
information is allocated in accordance with the data block and the
management block. ID information itself is the same information as
FIG. 5. Corresponding data block can be controlled separately in
accordance with this ID information. For other memories 14, 15, 16
and 17, the internal structure of the memory has the same memory as
the aforementioned memory 14.
[0109] FIG. 16 is a table structure of ID information in the case
in which the structure of FIG. 15 is employed. In this example, the
group 0 is set in the normal read/write area, the group 1 is set in
the read only area, and the group 2 is set in the spare area.
Further, the memories 14, 15, 16 and 17 include respective
alternating areas and management information and those alternating
areas and management information are allocated. Those alternating
areas and management information, however, are areas for managing
the memories with reference to the origin, so it is not appropriate
to have attributes in accordance with ID information. Thus all "00"
are assigned to ID information thereof and ID information thereof
should not be managed independently. Needless to say, it comes to
possible to control independently by rewriting this ID information.
Accordingly, it is possible to manage by rewriting only ID
information for altering the alternating areas and managing
areas.
[0110] At this stage, the basic flows of the initial stage of ID
information, the normal process of ID information, the read type
command process, the write type command process, the other command
process, and the ID information editing process are considered as
the same flows as FIGS. 6 to 13. However, ID information is stored
by each sector unit or by each block unit in the present example,
thus the table of ID information is not developed in RAM 114.
Accordingly, with reference to ID information, ID information,
which is not stored in RAM 114 and not developed in RAM but stored
in memories 14 to 17, is referenced individually.
[0111] In accordance with the aforementioned examples, the
following effects can be obtained.
[0112] (1) When ID information, which is capable of controlling
individually each memory area for accessing from outside, is tabled
in ID information storing memory 13 and for control information
(B12, B13) of aforementioned ID information, data can be readout
from the area thereof in the case in which read only area is
defined. Since it is prohibited to write data in the area thereof,
in the case in which there exist data, which should not be
rewritten or erased erroneously by a public user, of data of the
memory area in which the read only area is set, data thereof can be
protected by setting data in the memory area in which the read only
area is set.
[0113] (2) For control information (B12, B13) of ID information, in
the case in which the write only area is set, since it is possible
to protect reading out data from the area thereof based thereon, in
the case in which it is needed to log a user's usage condition, for
example, it is possible to let the log thereof not to be read by
the user by designating the area for setting the log thereof as a
write only area.
[0114] (3) If the simultaneous mirroring area is set in control
information (B12, B13) of ID information, it is possible to use the
area which is managed by this ID information as simultaneously
mirroring. Thus, since backup of data that are stored in other
memory areas can be performed, in the case in which an
uncorrectable error is caused, data to which simultaneously
mirroring is performed instead of data thereof can be used.
[0115] (4) If the time difference mirroring area is set in control
information (B12, B13) of ID information, it is possible to use the
area which is managed by this ID information as time difference
mirroring. Thus, since backup of data in a time difference manner,
which are stored in other memory areas can be performed, in the
case in which an uncorrectable error is caused, it is possible to
use data to which aforementioned time difference mirroring is
performed instead of data thereof.
[0116] (5) If the spare area is set in control information (B12,
B13) of ID information, it is possible to use the area which is
managed by this ID information as the spare area.
[0117] (6) In the case in which information (B0 to B4) of the
rewriting number of times or erasing number of times is included in
ID information and the rewriting number of times or erasing number
of times has attained a prescribed number of times by incrementing
the rewriting number of times or erasing number of times at each
time that the memory area is rewritten or erased, it is possible to
improve the reliability of data by using the spare area instead of
the memory area thereof.
[0118] (7) Since ID information can be edited only by a managing
information editing step of giving a prescribed command from the
host device 20, it is possible to prevent ID information from being
rewritten by the user unintentionally. Further, since the
procedural step is transited to the ID information edit step by
giving a prescribed command from the host device 20 and it comes to
be possible to edit ID information, it is possible to alter easily
the contents of an individual control by each area.
[0119] In this way, the invention that is invented by the inventor
has been explained concretely, it goes without saying that the
present invention is not limited thereto but possibly changed
variously without changing the gist thereof.
[0120] For example, as shown in FIGS. 17 and 18, it may be possible
to have an information processor 201 in the host device 20. The
information processor 201 is structured by way of hardware and
corresponds to the information processor 11 as shown in each of
FIGS. 1 and 15 functionally. That is to say, the memory unit 10 of
FIGS. 1 and 15 includes the information processor 11. If the
circuit having the same function as this information processor 11
is installed in the host device 20, since there is no need to
provide an element corresponding to the information processor 201,
the size and weights of the memory unit 10 can be reduced
effectively.
[0121] Further, as shown in FIG. 19, RAM 114 may be included in MPU
112. In this case, ID information is developed in RAM 114 that is
included in MPU 112 and it is possible to reference it at the time
of processing information of MPU 112. A data buffer 117 performs
buffering of transmitting data under the buffer controller 113.
[0122] Further, as shown in FIG. 20, it is possible to structure in
such a way that ID information controller 116 which is special
hardware for controlling ID information is provided and individual
information by each memory area for accessing from the outside is
processed by this ID information controller 116. In this case,
since individual control by each memory area for accessing from the
outside is performed by the ID information controller 116 as
exclusive hardware, it is possible to speed up processing when MPU
112 being processed is compared.
[0123] As shown in FIG. 21, it may be possible to provide ID
information storing area by each memory and to store ID information
by each memory in this ID information storing area.
[0124] Further, as shown in FIG. 22(B), it may be possible not to
provide ID information of FIG. 22 (A) in alternative area {circle
over (2)} and managing area {circle over (3)} of memories 14, 15,
16 and 17. In the example of FIG. 22, addresses after "0x2000" are
alternative area {circle over (2)} and managing area {circle over
(3)} and ID information thereof is not assigned. By treating in
this way, it is possible to reduce the size of the memory of the ID
information storing area, since ID information is not assigned to
the alternative area {circle over (2)} and the managing area
{circle over (3)}.
[0125] In the aforementioned example, the areas, which include the
read only area, the write only area, the simultaneous mirroring
area, and the time difference mirroring area, are explained. Thus,
the effect therefor can be obtained by including at least one of
them. Further, it is arbitrary to have a combination of any of the
aforementioned respective areas as control information of ID
information.
[0126] In the aforementioned example, though the memory device 12
is formed by 5 semiconductor memory chips (13, 14, 15, 16, and 17),
the number of semiconductor memory chips are not limited thereto.
The memory device 12 can be formed by at least 1 semiconductor
memory chip.
[0127] Though the case, in which the invention invented by the
present inventor is mainly applied to the memory unit formed in the
card shape for an application field as a background, is explained,
the present invention is not limited thereto but applied to various
memory units widely.
[0128] It is possible to apply the present invention under the
condition in which it is possible to rewrite.
[0129] The effects obtained by the representative one of the
inventions that are disclosed in the present application are
described in the following.
[0130] That is to say, it is possible to set a limit to accessing
the specified memory area in accordance with this control
information for accessing from the outside by including control
information for setting a limit to accessing the prescribed memory
area of plural memory areas in control information.
[0131] Further, if the first control information is included in the
aforementioned management information, it is possible to prohibit
writing data in the prescribed memory area of the aforementioned
plural memory areas based thereon and protect data that exist in
the aforementioned memory area thereby. If the second control
information is included in the aforementioned management
information, it is possible to prohibit reading out data from the
prescribed memory area of the aforementioned plural memory areas
based thereon, thus it is possible to protect data that exist in
the aforementioned memory area thereby. If the third control
information is included in the aforementioned management
information 9, it is possible to store data that are written in the
prescribed memory area of the aforementioned plural memory areas
based thereon in the plural memory areas nearly at the same time,
thus it is possible to avoid losing data by utilizing data from
other memory areas. If the fourth control information is included
in the aforementioned management information, it is possible to
store data that are written in the prescribed memory area of the
aforementioned plural memory areas based thereon in the plural
memory areas after the prescribed time has passed, thus it is
possible to avoid losing data by utilizing data from other memory
areas in the case in which an uncorrectable error is caused. The
aforementioned management information can include the fifth control
information for identifying whether or not the prescribed memory
areas as the spare areas can be used. In this case, the spare area
based thereon can be used, and thus the memory capacity is
prevented from being reduced by alternating for the spare area.
[0132] If sixth control information for indicating erasing number
of times or rewriting number of times of the memory area is
included in the aforementioned management information, since the
span of life of the memory area can be got based thereon, the
reliability of the data that are stored in the aforementioned
memory area is improved.
[0133] If the data processing device is structured by including the
aforementioned memory unit and the host unit capable of accessing
it, it is possible to include, in the aforementioned host unit, the
information processing unit for controlling separately the
aforementioned memory area based on aforementioned management
information.
[0134] Control information is prevented from being unintentionally
rewritten by a user by enabling aforementioned management
information to be edited at the management information edit step by
giving the prescribed command. Further, since the procedural step
transits to the management information edit step and edit of
control information becomes possible by giving the prescribed
command, it is possible to alter the contents of individual control
by each area in accordance with the usage of the memory unit.
* * * * *