A plural-partitioned type nonvolatile storage device which solves the problem that a memory card composed of a flash memory and a controller, when a storage area is divided into a plurality of partitions, cannot be correctly used with a conventional host apparatus incapable of recognizing plural partitions. The memory card includes, as its storage areas, a device characteristic data storage area, a division table storage area, and a device storage area, where the device storage area is partitioned into plural partitions. The memory card can have different modes for adapting different accesses from the external host, and allows the external host to access partitions corresponding to the mode. division information as to a dividing method for the plural partitions, and access information as to the host-accessible partitions corresponding to each individual mode are stored in the division table storage area. plural types of device characteristic data corresponding to mode, respectively, are stored in the device characteristic data storage area.
|
1. A plural-partitioned type nonvolatile storage device capable of data read and write in response to an access request derived from an external host,
the plural-partitioned type nonvolatile storage device comprising a storage area which includes a device characteristic data storage area for storing plural type of device characteristic data, a division table storage area for storing a division table, and a device storage area for storing data, wherein
the device storage area is divided into one or more plural partitions,
the data stored in the plural partitions have an individual address and can be accessed by the address from the external host respectively,
the plural-partitioned type nonvolatile storage device is configured to have different modes for adapting different accesses from the external host and to allow the external host to access partitions corresponding to the mode,
the division table stored in the division table storage area has division information as to a dividing method for the plural partitions and access information as to host-accessible partitions corresponding to each individual mode,
each type of device characteristic data stored in the device characteristic data storage area corresponds to each individual mode, and
the plural-partitioned type nonvolatile storage device outputs the device characteristic data corresponding to the current mode to the external host in response to a command from the external host for acquiring information.
2. The plural-partitioned type nonvolatile storage device according to
3. The plural-partitioned type nonvolatile storage device according to
4. The plural-partitioned type nonvolatile storage device according to
5. The plural-partitioned type nonvolatile storage device according to
6. The plural-partitioned type nonvolatile storage device according to
7. The plural-partitioned type nonvolatile storage device according to
8. The plural-partitioned type nonvolatile storage device according to
9. The plural-partitioned type nonvolatile storage device according to
10. The plural-partitioned type nonvolatile storage device according to
11. The plural-partitioned type nonvolatile storage device according to
12. The plural-partitioned type nonvolatile storage device according to
13. A nonvolatile storage system including: the plural-partitioned type nonvolatile storage device according to
14. The nonvolatile storage system according to
15. The nonvolatile storage system according to
|
The present invention relates to nonvolatile storage devices using nonvolatile memory such as flash memory. In particular, the invention relates to a plural-partitioned type nonvolatile storage device in which its storage area is partitioned into a plurality of divisions, as well as to a nonvolatile storage system having connection of a host apparatus which performs data read and write operations or the like by accessing plural-partitioned storage areas.
In recent years, memory cards on which flash memory as a semiconductor nonvolatile memory is mounted have been expanding their markets as a storage medium for storing user's data in digital cameras, portable telephones, cellular telephones, portable music playing devices, and the like. The flash memory, being a semiconductor device, has been increasing in memory card capacity with progress of semiconductor processes. Increases in memory card capacity together with decreases in bit cost make it possible that data which have heretofore been stored in other storage devices are stored collectively in one storage device, memory card. In particular, the memory card being smaller than hard disc drives, enables a circuit board to be mounted such that it has been demanded to be provided in forms or modes including NOR flash memories that have conventionally been used for storage of program codes, EEPROMs used for storage of boot codes, and battery-equipped SRAMs.
However, there are various problems in applications of memory cards with considerations given to such forms or modes shown above or semiconductor packages functionally equivalent to memory cards mounted on the circuit board. Those problems will be explained below with reference to
The HDD storage area 703 is composed of a master boot record area (master boot sector) 704, a user partition #1 area 705, and a user partition #2 area 706. The master boot record is stored in a sector at a leading address of the HDD storage area 703. In the master boot record area 704 are stored information as to individual user partitions contained in the HDD storage area 703, i.e., address information about leading sectors of the user partition #1 and the user partition #2, and capacity information as well as format type information about the individual user partitions. It is noted here that the format type refers to information related to the file system in use.
Any information stored in the HDD storage area 703 can be accessed by address-assigned read and write operations from outside. An apparatus using the HDD 701 is enabled to correctly access each of the user partitions by reading information in the master boot record area 704 and obtaining information as to the individual user partitions in the HDD 701. Access to each user partition is enabled only by reading the information in the master boot record area 704, and does not need reading the information in the disk geometry storage area 702.
Information contained in the master boot record area 704, which is accessible from outside of the HDD 701, can be rewritten from the outside of the HDD 701. Rewriting the information in the master boot record area 704 makes it possible to change the number of partitions or capacity of each partition in the HDD storage area 703. However, it is desirable to read information stored in the disk geometry storage area 702 before rewriting the information in the master boot record area 704. HDD unique information such as total capacity of the HDD storage area 703 is useful in the rewriting of information in the master boot record area 704.
Next a case of memory cards is described below.
The memory card storage area 803 is composed of a master boot record area 804 and a user partition #1 area 805. A master boot record is stored at a sector of a leading address of the memory card storage area 803. In the master boot record area 804 are stored information about user partition #1 contained in the memory card storage area 803, i.e. address information about the leading sector, capacity-related information, and information about format type, as to the user partition #1 area 805. It is noted here that the format type refers to information related to the file system in use.
Any information stored in the memory card storage area 803 can be accessed by address-assigned read and write operations from outside. An apparatus using the memory card 801 is enabled to correctly access the user partition #1 by reading the information in the master boot record area 804 and obtaining the information as to the user partition #1 in the area 805 within the memory card 801. Access to the user partition #1 is enabled only by reading the information in the master boot record area 804, and does not need reading the information in the card characteristic data storage area 802.
The information in the master boot record area 804, which is accessible from outside of the memory card 801, can be rewritten from the outside of the memory card 801. However, the number of partitions in the memory card storage area 803 is never changed, unlike the case of HDDs. The reason of this will be described later. In addition, it is desirable to read out the information in the card characteristic data storage area 802 before rewriting the information in the master boot record area 804. This is because information unique to the memory card such as the total capacity of the memory card storage area 803 is useful in rewriting the master boot record information.
Generally, the memory card has only one user partition, and does not include a plurality of partitions. This is due to differences the way of use between memory cards and HDDs. HDDs, which are used primarily for personal computers (hereinafter, referred to as ‘PCs’) and recently used also for hard disk recorders to record broadcast programs, are under an environment of use basically free from removal. The HDD can be accessed appropriately whether it has single partition or plural partitions in the system because accessing to the HDD is performed by the single system.
However, memory cards are used in most cases as an external memory for digital cameras, portable telephones, or cellular telephones, and the way of their ordinary use is in a removably attached form in connection with many types of host apparatuses. Because of such a form of use, when a plurality of partitions are made up, such confusions as shown below can be predicted: which partition an image of a digital camera is to be stored in; under the condition that a free space is not left in a partition assigned for storage but is left in another partition, whether or not recording is done with the partition changed to one other than the assigned partition; when the memory card mixedly includes a partition whose capacity is manageable for a host apparatus and another partition whose capacity is unmanageable for the host apparatus, whether or not the manageable partition, i.e. even only part of the memory card, should be made usable.
In order to prevent occurrence of such problems as shown above, host apparatuses using memory cards are, in many cases, capable of only managing a single partition alone and, also in many cases, originally designed for a single partition alone as in PCs. As for the reason of this, when data delivery between a host apparatus, which is ready for only a single partition, and a memory card is involved, there is a problem that information recorded on the memory card by a plural-partition compatible host apparatus cannot be read out by a single-partition-only-compatible host apparatus. To avoid such problems, memory cards are generally adapted to one user partition only.
In the master boot record area 904 are stored information as to individual user partitions contained in the memory card storage area 803, i.e., address information about leading sectors of the user partition #1 and the user partition #2, and capacity information as well as format type information about the individual user partitions. It is noted here that the format type refers to information related to the file system in use.
Any information stored in the memory card storage area 803 can be accessed by address-assigned read and write operations from outside. An apparatus using the memory card 801 is enabled to correctly access each of the user partitions by reading information in the master boot record area 904 and obtaining information as to the individual user partitions in the memory card 801. Adopting such a constitution makes it possible to implement a plurality of partitions equivalent to those of HDDs.
However, such a constitution as shown above is not suitable for program codes or boot codes that are to be newly stored in the memory card. This is because reading from NOR flash memory for storage of program codes or EEPROMs for storage of boot codes conventionally does not need to read information from the master boot record area 904 to do access.
Moreover, an additional problem occurs in considering compatibility with conventional devices. Here is considered a case in which a host apparatus that operates on a precondition of one single partition performs updating of the master boot record (generally called ‘formatting’) in the memory card storage area 803 or reconstructing of the partition construction (generally called ‘partitioning’). When the reconstructing is done based on card characteristic data of the area 802, the user partition #2 of the area 906 may be destroyed or even if the destruction does not occur, the information of user partition #2 is not registered in the master boot record area 904 because the host apparatus operates on the assumption of a single partition. This is due to an inconsistency between host apparatus' recognizable areas and card characteristic data.
These conventional arts are disclosed, for example Japanese Unexamined Patent Application Publication No. 2007-518188 and JP 2004-86505.
As a result of advancements in cost reduction and capacity increase of memory cards, there is a desire that program codes or boot codes, which have heretofore been stored in other storage devices, should be stored in memory cards. This necessitates an architecture in which a memory area of a memory card is divided into a plurality of partitions. Common partition dividing techniques for use in HDDs are incapable of implementing access methods required for boot codes, thus improper. That is, it is necessary to divide an area into a plurality of areas having different address spaces. However, merely dividing an area could not ensure compatibility with conventional host apparatuses incapable of recognizing a plurality of divisions. In the present-day environment in which variety of host apparatuses capable of treating memory cards are commercially available, it is of great importance to ensure the compatibility with conventional devices.
The present invention having been accomplished with a view to solving these and other issues of conventional arts as shown above, an object of the invention is to provide a plural-partitioned type nonvolatile storage device capable of dividing its storage area into a plurality of divisional areas while ensuring compatibility with conventional devices. The invention is also intended to facilitate accesses to individual areas by integrating information, which has conventionally been stored into different memories, into one memory.
In order to achieve the above objects, the present invention provides a plural-partitioned type nonvolatile storage device capable of data read and write in response to an access request derived from an external host, the plural-partitioned type nonvolatile storage device comprising a storage area which includes a device characteristic data storage area for storing plural type of device characteristic data, a division table storage area for storing a division table, and a device storage area for storing data, wherein the device storage area is divided into one or more plural partitions, the data stored in the plural partitions have an individual address and can be accessed by the address from the external host respectively, the plural-partitioned type nonvolatile storage device is configured to have different modes for adapting different accesses from the external host and to allow the external host to access partitions corresponding to the mode, the division table stored in the division table storage area has division information as to a dividing method for the plural partitions and access information as to host-accessible partitions corresponding to each individual mode, each type of device characteristic data stored in the device characteristic data storage area corresponds to each individual mode, and the plural-partitioned type nonvolatile storage device outputs the device characteristic data corresponding to the current mode to the external host in response to a command from the external host for acquiring information.
Further, also to achieve the above objects, the invention provides a storage system including: the plural-partitioned type nonvolatile storage device as described above; and a host apparatus which performs read and write operations of data stored in the plural-partitioned type nonvolatile storage device.
According to the plural-partitioned type nonvolatile storage device of the invention, it becomes possible to divide the storage area of the nonvolatile storage device into plural partitions and moreover possible for host apparatuses, whichever those host apparatuses are ready or unready for plural partitions, to fulfill formatting and partitioning processes without any problem.
Hereinbelow, an embodiment of the present invention will be described with reference to the accompanying drawings. In a plural-partitioned type nonvolatile storage device according to the invention, its storage area is divided into a plurality of partitions so that the individual divisional areas can be accessed with independent addresses, respectively. Further, the invention is intended to realize an architecture of a plural-partitioned type nonvolatile storage device free from occurrence of any problems even when used in a host apparatus that satisfies any of the following five conditions (1) to (5):
Out of information stored in the storage areas of the plural-partitioned type nonvolatile storage device 101, information stored in the device storage area 103 is stored in correspondence to address information. In the division table storage area 104, in correspondence to commands related to generation, deletion and attribute changes of the divisions, corresponding information inside the plural-partitioned type nonvolatile storage device 101 is stored. The device characteristic data is information which is generated in correspondence to the division table 104 by computation and control sections (not shown) inside the plural-partitioned type nonvolatile storage device 101, and which is stored in the device characteristic data storage area 102.
Reference sign 105 denotes an all-area device characteristic data storage area, 106 denotes a single-area device characteristic data storage area, 107 denotes a version-1 device characteristic data storage area, and 108, denotes a version-2 device characteristic data storage area. Device characteristic data of these plural areas 105-108 contained in the device characteristic data storage area 102 can be acquired by using an information acquisition command, which is an information-acquiring query, from outside of the plural-partitioned type nonvolatile storage device 101. In this case, however, depending on a then-current mode of the plural-partitioned type nonvolatile storage device 101, only one of the plurality of device characteristic data stored in the device characteristic data storage area 102 is acquirable.
The device storage area 103 is divided into four areas consisting of a first division area 111, a second division area 112, a code area (third division area) 113, and a boot area (fourth division area) 114. These areas are designated by using ordinal number, ‘division,’ ‘code,’ and ‘boot,’ but the way of designation is not particularly ruled and those names are discriminated uniquely by later-described division numbers with reference to
The way of dividing the device storage area 103 shown above is an example only and the present invention is not limited to this divisional state.
The first division area 111 is composed of a master boot record area 121 and a user partition #1 area 122. The second division area 112 is composed of a master boot record area 123 and a user partition #2 area 124.
The division number 201 is a unique value (identification number) assigned to each of the division areas in the device storage area 103. In this case, a value ‘1’ is assigned to the first division area 111, a value ‘2’ is assigned to the second division area 112, a value ‘3’ is assigned to the first code area 113, and a value ‘4’ is assigned to the first boot area 114, where unique numbers are assigned as division numbers 201 to the individual divisions, respectively. A version of the standard to which information stored in each division corresponds is stored in the compatible version 202.
In the data type 203, a data type held in each division is stored. The data type includes ‘user’ which corresponds to a record whose division number is 1 or 2, ‘code’ which corresponds to a record whose division number is 3, and ‘boot’ which corresponds to a record whose division number is 4. The data type ‘user’ is data which is stored in a division having the file system and which is accessed with address assignment. The data type ‘code’ is a binary code which has no file system and which is accessed with address assignment. The data type ‘boot’ is a binary code which is data sequentially accessed from a leading address. In the access method 204, an access method for each division is stored. The individual divisions can be accessed by their respective independent addresses.
In the capacity 205, a value of storage capacity of each division is stored. In the corresponding internal address range 206, information showing correspondence between an address uniquely assigned to all area of the device storage area 103 and each division area is stored. It is noted that information showing this correspondence is omitted in
In the boot flag 208, a division (corresponding to a record whose division number is 4 shown by flag ‘1’ in the figure) that can be accessed from outside when operating under the boot mode is stored. It is noted here that the boot mode corresponds to a mode of step 304 in
Referring to the mode transition diagram of
The communication (single) mode 303 is a mode which is unready for a plurality of areas and ready for a conventional host that is enabled to access only one area. In the communication (single) mode 303, the plural-partitioned type nonvolatile storage device 101 outputs, as its device characteristic data, the device characteristic data stored in the single-area device characteristic data storage area 106 in response to an information acquisition command from an external host. In the single-area device characteristic data storage area 106, information based on the division numbers of 1, 3 and 4 selected for a single area 402 of
It is noted here that the reason why the division numbers of 1, 3 and 4 are selected in the single area 402 is that in the single mode number 207 of the division table 104, numbers other than 0 are assigned for the records whose division numbers are 1, 3 and 4 as shown in
When an accessible-area number other than 1 is assigned to the single mode number 207, i.e., when a plurality of numbers other than 0 are present (i.e., two or more numbers are present) for the single mode number 207, the case is a special one in which a plurality of divisions are united so as to be treated as one division, so that a plurality of divisions having independent address spaces are united together. The host apparatus in this case is a host apparatus that satisfies the condition (3) described above, i.e., a “host apparatus which, although unready for area division, yet is enabled to access a plurality of areas as one area.” The host apparatus needs to be treated in such a way that information which stored in the code area 113 and the boot area 114 and which are not controlled by the master boot record 121 is prevented from being erroneously broken. Otherwise, the information in the master boot record 121 needs to be formed in such a form that program codes of the code area 113 and boot code information in the boot area 114 are taken into consideration. By providing a constitution that allows information in the code area 113 and the boot area 114 to be accessed, it becomes possible, even for apparatuses that treat conventional non-area-divided memory cards, such as PCs, to perform read and write operations on the program codes of the code area 113 and the boot codes of the boot area 114.
In addition, in
Information in the division table (104) can arbitrarily be set by an external host's issuing commands related to generation, deletion and attribute changes of the divisions. Therefore, changing the value of the single mode number 207 makes it possible to arbitrarily set which partition is accessible for the conventional initialization step.
At decision step 302, if it is decided that the initialization step is a boot area reading step, then the mode changes to an output (boot) mode of step 304 as a boot mode. In the output (boot) mode 304, data is outputted sequentially starting from the leading address of the record having a division number of 4 with a value of 1 stored in the boot flag 208 in the division table (104) shown in
Also, at the decision step 302, if it is decided that the initialization step is of compatibility with plural divisions and other than boot area reading, the processing moves to step 305 to make a decision as to the compatible version. In step 305, a decision is made as to the compatible standard version of an external host apparatus connected to the plural-partitioned type nonvolatile storage device 101. If the compatible standard version is “1,” then the processing moves to a communication (version 1) node of step 306; on the other hand, if the compatible standard version is “2,” then the processing moves to a communication (version 2) mode of step 307.
In the communication (version 1) mode 306, the plural-partitioned type nonvolatile storage device 101 outputs, as device characteristic data, the data stored in the version-1 device characteristic data storage area 107 in response to an information acquisition command from the external host. In the version-1 device characteristic data storage area 107, information based on a division (division number 1 in this case) selected by version type 1 (designated by reference sign 403) of
In the communication (version 2) mode 307, the plural-partitioned type nonvolatile storage device 101 outputs, as device characteristic data, the data stored in the version-2 device characteristic data storage area 108 in response to an information acquisition command from the external host. In the version-2 device characteristic data storage area 108, information based on a division (division numbers 1 and 2 in this case) selected by version type 2 (designated by reference sign 404) of
In the communication (version 1) mode 306 or communication (version 2) mode 307, by using a command to switch a division selected for the plural-partitioned type nonvolatile storage device 101, it becomes possible for the external host apparatus to access any arbitrary division out of the divisions selected by the device characteristic data. That is, in the communication (version 2) mode 307, any one division of the first division area 111 and the second division area 112 can be selected and accessed. However, in the example shown in this embodiment of the invention, because the division to be selected in communication (version 1) mode 306 is the first division area 111 only, there is a case where only one division is selectable even if any arbitrary division may be selected. The host apparatus in this case of the communication (version 1) mode 306 and the communication (version 2) mode 307 is a host apparatus that satisfies the condition (4) described above, i.e., a “host apparatus which is ready for area division and enabled to access part of the areas.”
In the communication (single) mode 303 or communication (version 1) mode 306 or communication (version 2) mode 307, as a command for recognizing all areas is issued from the external host, then the mode of the plural-partitioned type nonvolatile storage device 101 moves to a communication (all area) mode of step 308. In this mode, the plural-partitioned type nonvolatile storage device 101 outputs, as device characteristic data, the data stored in the all-area device characteristic data storage area 105 in response to an information acquisition command from the external host. In the all-area device characteristic data storage area 105, information based on a division selected by the all area 401 of
As shown above, in dividing the storage area of the plural-partitioned type nonvolatile storage device into a plurality of areas, device characteristic data corresponding to various mode are assumed as information for the whole device storage area 103. With such an allocation configuration adopted, a consistency between mode-dependent recognizable areas and card characteristic data can be achieved in any mode and therefore even compatibility with conventional apparatuses can also be ensured.
In the above-described embodiment, all the areas of the data storage area are assigned as effective divisions. However, in the present invention, there may be areas that are not assigned to divisions. In such a case, those divisions are managed as hidden divisions in the division table.
Also, the embodiment has been described on a method in which a plurality of device characteristic data are stored as the device characteristic data. However, it is also possible to calculate device characteristic data for each information acquisition command if device characteristic data corresponding to a mode can be outputted in response to an information acquisition command.
In addition, the storage area (memory card) of a nonvolatile storage device according to the embodiment of the invention shown in
Furthermore, the nonvolatile storage device has been described as a device that is attachable to and removable from the host apparatus in this embodiment. However, the nonvolatile storage device may also be provided in a constitution in which data is transmitted and received between the host apparatus and the nonvolatile storage device via a bus.
As described hereinabove, the invention is applicable to plural-partitioned type nonvolatile storage devices including plural-partition division, and usable particularly to techniques that facilitate the handling of plural-partitioned type nonvolatile storage devices having partitions managed by the file system or partitions for storing program codes.
Patent | Priority | Assignee | Title |
10747459, | Oct 26 2017 | URFLASH LLC | Media storage device including multiple partitions |
Patent | Priority | Assignee | Title |
7111121, | May 29 2002 | HAGIWARA SOLUTIONS CO , LTD | USB storage device and program |
7159075, | Aug 26 2002 | Kabushiki Kaisha Toshiba | Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program |
7305534, | Nov 18 2002 | ARM Limited | Control of access to a memory by a device |
7454568, | Aug 26 2002 | Kabushiki Kaisha Toshiba | Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program |
8190919, | Nov 07 2006 | MUFG UNION BANK, N A | Multiple stakeholder secure memory partitioning and access control |
20030225971, | |||
20040107316, | |||
20050154819, | |||
20060097061, | |||
20060200629, | |||
20070043924, | |||
20070174549, | |||
20070255901, | |||
20080046997, | |||
20080109662, | |||
20080147964, | |||
20100131695, | |||
JP200454896, | |||
JP200486505, | |||
JP200640264, | |||
JP2007518188, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 17 2009 | Panasonic Corporation | (assignment on the face of the patent) | / | |||
Nov 18 2010 | HONDA, TOSHIYUKI | Panasonic Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025785 | /0532 |
Date | Maintenance Fee Events |
May 06 2013 | ASPN: Payor Number Assigned. |
Apr 17 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 21 2016 | ASPN: Payor Number Assigned. |
Jun 21 2016 | RMPN: Payer Number De-assigned. |
Apr 14 2020 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 23 2024 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 13 2015 | 4 years fee payment window open |
May 13 2016 | 6 months grace period start (w surcharge) |
Nov 13 2016 | patent expiry (for year 4) |
Nov 13 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 13 2019 | 8 years fee payment window open |
May 13 2020 | 6 months grace period start (w surcharge) |
Nov 13 2020 | patent expiry (for year 8) |
Nov 13 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 13 2023 | 12 years fee payment window open |
May 13 2024 | 6 months grace period start (w surcharge) |
Nov 13 2024 | patent expiry (for year 12) |
Nov 13 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |