This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2011-042864, filed Feb. 28, 2011, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a memory system equipped with a wireless communication function, for example.
Memory systems equipped with application modules other than the memory function, for instance a wireless communication function such as a wireless LAN, have been developed. Such a memory system stores application software configured to control the operation of the wireless communication function and system software configured to control the operation of a controller, together with user data, in a storage module, which can be accessed by the user. This can cause the user to delete or alter the application software or the system software stored in the storage module.
In general, according to one embodiment, a memory system includes an application module, a storage module, and a control module. The storage module stores user data, application software configured to control operation of the application module, and management information used to manage the user data and the application software. The control module controls writing and erasing of the storage module. Of the management information read from the storage module, the control module masks information indicating an access-prohibited area included in the management information read from the storage module, the access-prohibited area includes the application software.
Hereinafter, an embodiment will be described with reference to the accompanying drawings.
The memory system comprises a memory device 11 such as an SD card, and a host 20. The memory device 11 is also referred to as an SD card. The host 20 will also be referred to as a host device. The memory device 11 does not necessarily have a card shape, and may be mounted on the host 20 so as not to be detached therefrom.
The memory device 11 operates upon receipt of a power supply from the host 20 when the memory device 11 is connected thereto, and performs a process in response to an access from the host 20. The memory device 11 includes a card controller 11a.
The card controller 11a includes, for example, a host interface 12, a CPU 13, a read-only memory (ROM) 14, a random access memory (RAM) 15, a buffer 16, and a wireless interface 17 as an extension function interface, which are connected via a bus. Further, a memory controller 18a is connected to the bus. A NAND flash memory 18, for example, is connected to the memory controller 18a. A wireless LAN signal processor 19a as an extension function module (application module) is connected to the wireless communication interface 17. An antenna ATa, configured to transmit and receive high-frequency signals, is connected to the wireless LAN signal processor 19a.
The extension function module may be configured to form a multi-function SD card by further providing a wireless communication signal processor 19b for signals other than wireless LAN signals, and an antenna ATb connected to the wireless communication signal processor 19b, as well as the wireless LAN signal processor 19a. The wireless LAN signal processor 19a controls a wireless communication function using Wi-Fi (registered trademark), for example, and the wireless communication signal processor 19b controls a proximity wireless communication function using TransferJet (registered trademark), for example. It is to be noted that the functions provided in the extension function module are not limited to wireless communications.
The host interface 12 performs interface processing between the card controller 11a and the host 20.
On the other hand, the wireless communication interface 17 performs interface processing between the wireless LAN signal processor 19a and the wireless communication signal processor 19b. The memory controller 18a performs interface processing between the card controller 11a and the NAND flash memory 18.
The CPU 13 manages the operation of the entire memory device 11. A program designed to control the CPU 13 is executed by using firmware (control program, for example) stored in the ROM 14 or by being loaded on the RAM 15, and thereby a predetermined process is performed. That is, the CPU 13 generates a variety of tables and an extension register designed to control the wireless communication function on the RAM 18, accesses an area in the NAND flash memory 18 in response to a write command, a read command, or an erase command from the host 20, and controls a data transfer process via the buffer 16.
The ROM 14 stores at least part of firmware, such as a control program, used by the CPU 13. The RAM 15 is used as a work area of the CPU 13, and stores a control program, a variety of tables, and an extension register, which will be described later.
The buffer 16 temporarily stores a certain amount (1 page, for example) of data when the buffer 16 writes data transmitted from the host 20 to the NAND flash memory 18, for example, and temporarily stores a certain amount of data when the buffer 16 transmits data read from the NAND flash memory 18 to the host 20. With the intervention of the buffer 16, it is possible to control the SD bus interface and the back end in asynchronous mode.
The NAND flash memory 18 is formed of a memory cell having a stacked gate structure, or a memory cell having a MONOS structure, for example. The NAND flash memory 18 stores user data, application software designed to control the operation of the wireless LAN signal processor 19a and the wireless communication signal processor 19b, and system software designed to control the operation of the card controller 11a, for example. The user data, the application software, and the system software are managed by a File Allocation Table (FAT), which will be described later.
The wireless LAN signal processor 19a processes wireless LAN signals. Control is performed via the wireless communication interface 17.
The host 20 is applicable to a digital camera, a portable phone, or a personal computer, for example. The host 20 comprises a host controller 21, a CPU 22, a ROM 23, a RAM 24, and a hard disc 25 (including an SSD), for example, which are connected via a bus.
The CPU 22 controls the entire host. The ROM 23 stores firmware necessary for the operation of the CPU 22. While the RAM 24 is used as a work area of the CPU 22, for example, programs that can be executed by the CPU 22 are also loaded therein and executed. The hard disc 25 holds a variety of data. The host controller 21 performs interface processing with the memory device 11 in a state where the memory device 11 is connected. Further, the host controller 21 issues a variety of commands, which will be described later, according to an instruction from the CPU 22.
A partition area 31 is an area configured to store a partition table including partition information, for example. The boot area 32 is an area configured to store boot information.
FAT1 and FAT2 store management information used to manage information as to which cluster the file to be written is divided into and stored in. FAT1 and FAT2 store the same data, and when one of the FATs becomes deficient, data on the deficient FAT can be recovered using the other FAT. Further, FAT1 and FAT2 store information on the cluster assigned to the file, and stores relation of links of clusters in the NAND flash memory. By tracing information stored in FAT1 and FAT2, the file can be recovered to its original state.
A root directory area 33 stores information on root directory entries. When a subdirectory 35 is created under the root directory, the subdirectory 35 is created in a user data area 34. While the root directory 33 has a fixed address, a file entry of the subdirectory can be set in an arbitrary logic address.
The memory device 11 equipped with a wireless communication function is capable of transmitting and receiving picture data to and from another camera 52 via a wireless communication network, by being used with the digital camera 51. Further, the memory device 11 is capable of transferring picture data from the digital camera 51 to the server 53, by being connected to an external server 53, for example, via a wireless communication network. Moreover, the memory device 11 can be connected to a device such as the personal computer 54 or the cellular phone 55, for example, via a wireless communication network, and transfer picture data to the personal computer 54 or the cellular phone 55 from the digital camera 51.
The memory device 11 equipped with a wireless communication function includes an interface function of serving as an interface between the memory device 11 and the digital camera 51, for example, which serves as a host device configured to control the memory device 11, and a network interface function of connecting the digital camera 51 with other electronic devices, such as the camera 52, the server 53, the personal computer 54, the television 56, and the printer 57, via a wireless LAN.
The above-described host interface (card interface) 12 has a function of accessing data in (reading and writing data from and to) the card via the FAT, and a function of accessing a register (Wi-Fi SD register, for example) dedicated to a card having a wireless communication function, according to “SD Specifications Part 1” and “SD Specifications Part 2”, established by SD Association (SDA). In order to access a Wi-Fi SD register, a read command (CMD48) and a write command (CMD49) are used. The read command (CMD48) is a command to read data from a target register on a block-by-block basis, and the write command (CMD49) is a command to write data to a target register on a block-by-block basis.
For example, the host 20 issues a command dedicated to a Wi-Fi SD card to the memory device 11. Alternatively, the host 20 receives a status and a response dedicated to a Wi-Fi SD card from the memory device 11 using a write command (CMD49), in order to write data dedicated to a Wi-Fi SD card. Further, a read command (CMD48) is used so as to read data dedicated to a Wi-Fi SD card.
The wireless communication interface 17 is assumed such that the physical layer supports IEEE 802.11b/g/n, the network layer supports IPv4 or IPv6, the transport layer supports TCP, the presentation layer supports SSL/TLS, and the application layer supports HTTP or FTP. Further, a Digital Living Network Alliance (DLNA) function may be provided so as to handle communications with household appliances.
By providing two interfaces in the memory device 11, picture data (in JPEG or RAW format) and video data (in MPEG-2 TS or MP4 format) generated by a digital camera can be transmitted or received to or from a server or a device that supports HTTP. A server or a device that supports the DLNA enables playback of the picture or video and printing of the picture. By adding data (such as XML data and text data) generated by the host device when picture data and video data are transmitted, it becomes possible for the host device to perform an authentication operation on the server and peripheral devices and transmit and receive metadata thereto and therefrom.
(Management of Access to FAT)
As described above, the NAND flash memory 18 stores user data, and application software and system software designed to control the operation of the wireless LAN signal processor 19a and the wireless communication signal processor 19b. The application software and the system software must not be deleted or altered by the user. In the present embodiment, of the FAT information held in the memory controller 18a, the card controller 11a discloses only information excluding the application software and the system software to the user.
After that, the memory controller 18a transfers the read FAT information to the buffer 16 of the card controller 11a (S5). In this case, of the FAT information, the memory controller 18a masks the application software and the system software of the wireless communication function, which the user should be prohibited from accessing, as shown in
In this state, since the application software and the system software are excluded from the FAT information held in the buffer 16, the addresses appended to the transferred information are non-consecutive, as shown by (73) in
After the addresses are thus reassigned, the card controller 11a notifies the host 20 of the FAT information (S7). The FAT information includes consecutive addresses. Accordingly, the areas of the application software and the system software are not disclosed to the user, and the user is capable of managing the FAT area, from which the areas of the application software and the system software are excluded, as a consecutive memory space.
In the above-described state, when the host 20 issues a data write instruction, the host 20 cannot specify the area in which the application software or the system software is stored. When a data write instruction is issued from the host 20, the card controller 11a specifies a cluster in which data is to be written based on the FAT information shown in
When the user instructs data to be deleted, the user cannot specify the area in which the application software and the system software are stored. When such an instruction to delete data on an area other than the access-prohibited area is issued by the user, the card controller 11a specifies a cluster from which data is to be deleted based on the deletion instruction, and instructs the memory controller 18a to delete the data. The memory controller 18a deletes data in the specified cluster. It is thereby possible to prevent data in the cluster in which the application software and the system software are stored from being deleted.
Further, when the user instructs on the format of the NAND flash memory 18, the card controller 11a specifies a cluster corresponding to the access-prohibited area and not to be formatted, based on the FAT information, and issues a format instruction to the memory controller 18a. The memory controller 18a formats only the area excluding the specified cluster. After that, the memory controller 18a notifies the card controller 11a of the formatted FAT information. The card controller 11a reconstructs the FAT information, as described above, and notifies the host 20 of the FAT information with reassigned addresses.
In the process that follows, it is possible to similarly prevent the software designed to operate the communication function and the controller from being deleted or formatted by a format instruction from the user side.
According to the above-described embodiment, the FAT information read from the NAND flash memory 18 excluding identification information indicating access-prohibited areas, such as the application software and the system software, and the addresses corresponding thereto, is transferred to the host 20. It is thereby possible to prevent important information, such as application software and system software, from being altered or deleted.
Further, by designing the memory device such that the card controller 11a reconstructs the FAT information read by the memory controller 18a, a controller substantially same as the one used in a conventional memory device, which is not equipped with an extension function module, can be used as the memory controller 18a. For example, when the memory device 11 is an SD card, a conventional SD memory controller can be used as the memory controller 18a.
The FAT information is reconstructed by the card controller 11a, and the addresses in the FAT information are reassigned so as to be consecutive. This allows the user to manage the storage area of the FAT information as a consecutive memory space, thereby avoiding misoperations of the host 20 and the memory device 11 due to operating errors.
For example, the card controller 11a may be configured to set access-prohibited areas, such as the application software and the system software, and, when an access from the host device to the access-prohibited area is detected, return information indicating the area cannot be accessed. It is not easy, however, for the host device, such as a digital camera, to handle such information.
That is, in the case of an intelligent host device, such as a personal computer, when the user tries to access the access-prohibited area, the personal computer notifies the user that the area cannot be accessed. In the case of a host device with a simple configuration, such as a digital camera, however, such a failsafe function may not be provided. When such a host device tries to access the access-prohibited area of the memory device 11, there is a possibility that the memory device 11 itself is prohibited from accessing and the memory device 11 cannot be used.
In the present embodiment, on the other hand, by reconstructing the FAT information and assigning the addresses in the FAT information so as to be consecutive, access to the access-prohibited area is avoided, thereby preventing the above-described operating errors and malfunctions. This prevents the case where the memory device 11 cannot be used.
In the above-described embodiment, the wireless communication function is implemented on the memory device 11 as an application, but the present embodiment is not limited thereto, and other applications may be implemented as well.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2011-042864 | Feb 2011 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5802325 | Le Roux | Sep 1998 | A |
7440774 | Croome | Oct 2008 | B2 |
7702821 | Feinberg et al. | Apr 2010 | B2 |
20020169960 | Iguchi et al. | Nov 2002 | A1 |
20030033496 | Takagi et al. | Feb 2003 | A1 |
20040103234 | Zer et al. | May 2004 | A1 |
20040205268 | Takinosawa et al. | Oct 2004 | A1 |
20060026338 | Ebara et al. | Feb 2006 | A1 |
20060161749 | Chen et al. | Jul 2006 | A1 |
20080141029 | Culver | Jun 2008 | A1 |
20090063800 | Ehama et al. | Mar 2009 | A1 |
20100169548 | Kanda | Jul 2010 | A1 |
20120284527 | Nagpal et al. | Nov 2012 | A1 |
20130318281 | Fujimoto et al. | Nov 2013 | A1 |
Number | Date | Country |
---|---|---|
101142581 | Mar 2008 | CN |
2001-195553 | Jul 2001 | JP |
2002-329180 | Nov 2002 | JP |
2003-123030 | Apr 2003 | JP |
2003-162433 | Jun 2003 | JP |
2004-252968 | Sep 2004 | JP |
2006-507608 | Mar 2006 | JP |
200302964 | Aug 2003 | TW |
200418305 | Sep 2004 | TW |
WO2004-077306 | Sep 2004 | WO |
Entry |
---|
Office Action issued Oct. 20, 2014 in Chinese Patent Application No. 201110275039.0 (with English language translation). |
Taiwanese Office Action issued Jan. 21, 2014, in Taiwan patent application No. 100132696 (with English translation). |
Office Action issued Feb. 16, 2015 in Chinese Patent Application No. 201110275039.0 (with English language translation). |
Office Action issued May 21, 2015 in Chinese Patent Application No. 201110275039.0 (with English language translation). |
Office Action issued May 6, 2014 in Chinese Patent Application No. 201110275039.0 (with English language translation). |
Office Action issued Sep. 10, 2014 in Taiwanese Patent Application No. 100132696 (with English language translation). |
Japanese Office Action issued Jul. 9, 2013, in Japan Patent Application No. 2011-042864 (with English translation). |
U.S. Appl. No. 13/235,421, filed Sep. 18, 2011, Sakurai, et al. |
U.S. Appl. No. 13/956,825, filed Aug. 1, 2013, Fujimoto, et al. |
Number | Date | Country | |
---|---|---|---|
20120221770 A1 | Aug 2012 | US |