USPatent applicationPatented

Memory control device, in-car device, memory control method, and computer product for managing data in response to various power states

Granted 7 Apr 2009 · 3 office actions

Life of the application

12 dated events
⤢ drag to zoom20062008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Data is stored in a non-volatile memory such as a flash memory. The non-volatile memory has two memory areas. When power of a device is turned on, data in the two memory areas are compared to determine which memory area includes old data, and the old data is erased. When the power is turned off, a control setting of the device used immediately before the power is turned off is stored as new data in the memory area from which the old data is erased. When the power is applied again, the new data is read, and the control setting is restored in the device.

Description

6 parts
›BACKGROUND OF THE INVENTION

1) Field of the Invention

The present invention relates to a memory control device that stores last memory data when power of a device is turned off, and reads the last memory data when the power is turned on.

2) Description of the Related Art

Some devices have a so called last memory function. A device is said to have the last memory function if, when power is turned off while the device is operating, data relating to the control settings of the device is stored in a recording medium just before the power is turned off. In such a device, when the power is turned on again, the control settings are read from the recording medium. As a result, the control settings of the device can be automatically restored to the one before the power is turned off.

Thus, the recording medium used in such devices must be able to retain data even after the power is turned off. Examples of such recording media are hard disk drives (HDD) and non-volatile memories. Examples of the non-volatile memories are flash memories, electrically erasable programmable read only memories (EEPROM), ferroelectric random access memories (FeRAM), and magnetoresistive random access memories (MRAM). The volatile recording media can also be used as the recording media. However, the volatile recording media require power supply from an auxiliary source to retain data. Examples of the volatile recording media are static random access memories (SRAM) and synchronous dynamic random access memories (SDRAM).

The flash memories are particularly advantageous; because, the flash memories are compact, light-weight, and data can be written on them in short time There are various conventional methods of writing data in the flash memory, such as those disclosed in Japanese Patent Application Publication No. H11-328982 and Japanese Patent Application Publication No. H8-272698.

The HDDs require large current, and takes time to write data because mechanical operations are required. On the other hand, with the flash memories, data writing cannot be immediately executed because data in the flash memory needs to be erased first. Erasing of data takes about 0.5 second to 2 seconds, and writing of data takes about 6 microseconds (μs) to 100 μs. Therefore, when the HDDs or the flash memories are used, the power needs to be retained for some time even after the power is turned off. This requires a high-capacity condenser, which occupies the space and increases the cost.

The EEPROM cannot store a large amount of data because it is small in capacity. The FeRAM and the MRAM are expensive because they are not yet mass produced. The SRAM and the SDRAM require auxiliary power, which not only leads to more space and cost, but also consumption of dark current.

There are devices that can be detached while the power is on, and the power is turned off when the device is detached. Such detachable devices are particularly required to quickly write data in a recording medium, so as to retain the data after being detached (i.e., after the power is turned off).

›SUMMARY OF THE INVENTION

It is an object of the present invention to at least solve the problems in the conventional technology.

According to an aspect of the present invention, a memory control device includes a monitoring unit that monitors supply of power to a device; a non-volatile memory that stores data; and a memory control unit that erases data from the non-volatile memory when power to the device is turned on, and stores data in the non-volatile memory when the power is turned off.

According to another aspect of the present invention, an in-car device that is installed in a car, operates by power from the car, and includes a monitoring unit that monitors supply of power to the in-car device from the car; a non-volatile memory that stores data; a memory control unit that erases, when the power is turned on, data from the non-volatile memory and stores, when the power is turned off, data relating to a control setting of the in-car device or the car used immediately before the power is turned off as new data in the non-volatile memory; and a restore control unit that reads, when the power is turned on again, the new data and restores the control setting in the in-car device or the car used immediately before the power is turned off.

According to still another aspect of the present invention, a memory control method includes monitoring supply of power to a device; comparing, when power is turned on, two memory areas for storing data in the non-volatile memory to determine which memory area stores old data; erasing the old data from the corresponding memory area; and storing, when the power is turned off, data relating to a control setting of the device used immediately before the power is turned off as new data in the memory area from which the old data is erased.

According to still another aspect of the present invention, a computer-readable recording medium stores therein a computer program that implements the above method on a computer.

The other objects, features, and advantages of the present invention are specifically set forth in or will become apparent from the following detailed description of the invention when read in conjunction with the accompanying drawings.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of a memory control device according to an embodiment of the present invention;

FIG. 2 is a detailed functional block diagram of a system controller shown in FIG. 1 ;

FIG. 3 is a structure of a flash memory used as a non-volatile memory shown in FIG. 2 ;

FIG. 4 is a diagram of contents of last memory data;

FIG. 5 is a flowchart of a processing performed by the system controller when power of a car navigation device is turned on and the system is booted;

FIG. 6 is a flowchart of a standby processing performed by the system controller when the power is turned off from the car navigation device; and

FIGS. 7A to 7C are diagrams that explain how two banks are used alternately.

›DETAILED DESCRIPTION · 1 of 3

Exemplary embodiments of the present invention will be described below with reference to accompanying drawings.

A memory control device according to an embodiment of the present invention is assumed to be used in a car navigation device; however, the memory control device can be used in any other device. FIG. 1 is a functional block diagram of the memory control device. A car navigation device 1 is detachably attached to a car 2 . A battery 3 of the car 2 supplies a battery power 20 to the car navigation device 1 . The battery 3 also supplies an accessory power 22 to the car navigation device 1 via an accessory switch 21 . The accessory power 22 can be turned on or off using the accessory switch 21

The car navigation device 1 includes a system controller 11 , an operation/display section 12 , a non-volatile memory 13 as a recording medium, a navigation section 14 , a radio playback section 15 , a compact disc (CD) playback section 16 , a hard disk drive (HDD) 17 , and an external device 18 .

The system controller 11 includes a central processing unit (CPU) (not shown). A flash memory is used as the non-volatile memory 13 . The system controller 11 executes a predetermined control program stored in the non-volatile memory 13 to realize various functions of the car navigation device 1 . The system controller 11 detects voltage fluctuations of both the power 20 and the accessory power 22 .

The navigation section 14 has a route guiding function that uses a global positioning system (GPS) (not shown) and so forth. The radio playback section 15 receives radio waves through an antenna (not shown), and plays back a voice of a radio program that is output from a speaker (not shown). The CD playback section 16 plays back a music CD or a digital versatile disc (DVD) that is loaded in the car navigation device 1 . The CD playback section 16 can also load data from the external device 18 that is connected to the car navigation device 1 . For example, when the external device 18 is a CD changer, the CD playback section 16 loads music from a CD read by the CD changer.

The operation/display section 12 includes an operation unit with keys or a touch panel, and a display unit with a liquid crystal display (LCD). The operation/display section 12 is operated to execute the functions of the car navigation device 1 , and is used to display a screen that shows settings and so forth when executing the functions.

FIG. 2 is a detailed functional block diagram of the system controller 11 shown in FIG. 1 .

The system controller 11 includes a voltage detection unit 31 , a state detection unit 32 , and a memory control unit 33 . The voltage detection unit 31 detects whether power of the car navigation device 1 is turned on from the battery 3 . Specifically, the voltage detection unit 31 compares the voltage fluctuations of the battery power 20 and the accessory power 22 with their respective thresholds. The voltage detection unit 31 detects a voltage drop of the battery 3 when the car engine starts, and a voltage drop of the accessory power 22 when the accessory switch 21 is switched off. When these voltages drop below their respective thresholds, it is determined that power of the car navigation device 1 is turned off.

The state detection unit 32 detects the state of the car navigation device 1 , based on the power fluctuation detected by the voltage detection unit 31 . When it is detected that the power is turned off while the car navigation device 1 is operating, the state detection unit 32 causes the memory control unit 33 to execute a processing to store data as last memory data (hereinafter, “data D”). On the other hand, when it is detected that the power is turned on, the state detection unit 32 causes the memory control unit 33 to execute a processing to read the data D.

The memory control unit 33 stores and reads the data D in and from the non-volatile memory 13 . The data D corresponds to control settings of the functions controlled by the system controller 11 . When the power is turned off, the memory control unit 33 stores the data D in the non-volatile memory 13 . When it is detected that the power is turned on, the memory control unit 33 reads the data D from the non-volatile memory 13 .

An example of processings executed by the memory control unit 33 is described below. FIG. 3 is a structure of the flash memory used as the non-volatile memory 13 shown in FIG. 2 . The flash memory has a memory area 35 including a predetermined area (Bank 0 ) 36 and a free area 37 . The predetermined area (Bank 0 ) 36 previously stores the control program that realizes the functions of the car navigation device 1 , and the free area 37 is used to store the data D.

The free area 37 is divided into two banks (Bank 1 and Bank 2 ). The memory control unit 33 shown in FIG. 2 uses the two banks to control the storage of the data D, as follows:

(A) When the accessory switch 21 is switched on to supply the accessory power 20 , the memory control unit 33 first confirms that the data D is successfully written in the flash memory and then erases the data D from one of the two banks,

(B) When the power is turned off, the memory control unit 33 writes new data D in the bank from which the data D is erased in step (A), and

(C) When the accessory switch 21 is switched on to supply the accessory power 20 , the memory control unit 33 erases the data D from the other bank, to be prepared for the next time the power is turned off.

As mentioned in the background, erasing of data takes about 0.5 second to 2 seconds, whereas writing of data only takes about 6 μs to 100 μs. Therefore, if the data D is previously erased from either one of the two banks, new data D can be immediately written in the flash memory when power is turned off. In this case, since there is no need to erase the old data D, the overall time required to store the data D can be reduced. If the data D is stored successfully, it can be retained in the flash memory even after the power is turned off.

›DETAILED DESCRIPTION · 2 of 3

FIG. 4 is a diagram of contents of the data D. The data D has a header d 1 , last memory data d 2 , and a footer d 3 . The header d 1 includes a date and a time when the last memory data d 2 is stored, and a serial number. The last memory data d 2 includes a last source type and a last address.

The last source type means the type of a source that is functioning (outputting data) immediately before the power is turned off. The source corresponds to the navigation section 14 , the radio playback section 15 , the CD playback section 16 , and so forth. Examples of the last address are a position of the car 2 (latitude, longitude, etc.) immediately before the power is turned off while the navigation section 14 is route guiding the car 2 ; a radio channel frequency received immediately before the power is turned off while the radio playback section 15 is receiving a radio program; and a track number and a playback time position (minutes/seconds) of a music CD and a playback volume etc. immediately before the power is turned off while the CD playback section 16 is playing back the music CD. The minimum amount of data necessary is stored in the flash memory, to restore, when the power is turned on again, the same control setting used before the power is turned off.

The footer d 3 includes a predetermined fixed value, such as a calculation result to detect a write error of the data D (check sum). The data D is written in the order of the header d 1 , the last memory data d 2 , and the footer d 3 . Therefore, it can be determined that the entire data D is written successfully, when the footer d 3 is written successfully. The value in the footer d 3 is used to detect whether the last memory data d 2 is successfully written in the flash memory (hereinafter, whether the footer d 3 is “correct” or “incorrect”).

The system controller 11 performs the following processing to write and read the data D in and from the non-volatile memory 13 .

FIG. 5 is a flowchart of the processing performed by the system controller when power of the car navigation device 1 is turned on and the system is booted. First, the banks in the flash memory are checked (step S 1 ). Specifically, the system controller 11 checks the footers d 3 in the data D written in the Bank 1 and the Bank 2 (see FIG. 3 ), respectively. When both the banks have correct footers d 3 , the system controller 11 checks the headers d 1 of both the banks to determine which bank includes the older data D. When only one bank has a correct footer d 3 , and the data D in the bank with the correct footer d 3 is entirely erased, the system controller 11 determines that the erasing is completed. Furthermore, the system controller 11 determines that the data D in the bank with the incorrect footer d 3 is incompletely erased.

As a result of the bank check at step S 1 , when the data D is written in both the banks (i.e., successfully stored) (CASE- 1 ), the system controller 11 checks the headers d 1 of both the banks to determine which bank includes the older data D. The older data D is then erased from the corresponding bank (step S 2 ) and the boot processing ends.

When only erasing of the data D is completed (CASE- 2 ), the boot processing ends without any further steps performed. An example of CASE- 2 is when new data D is not written in the empty bank because the power is turned off immediately before writing the new data D. On the other hand, when the data D is incompletely erased (i.e., unsuccessfully stored) (CASE- 3 ), the corresponding data D is completely erased, and the boot processing ends (step S 3 ). An example of CASE- 3 is when the power is turned off while the data D is being erased.

Accordingly, the system controller 11 detects, based on the headers d 1 and the footers d 3 , whether the data D is stored successfully or unsuccessfully. When the boot processing ends, the system controller 11 reads the new data D from either one of the banks, and restores the same control setting used before the power is turned off.

FIG. 6 is a flowchart of a standby processing performed by the system controller when the power is turned off. The standby processing is executed during a standby state after the power is turned off. The new data D is written in the empty bank, from which the old data D is erased (step S 5 ) and the standby processing ends. The data D is written in the order of the header d 1 , the last memory data d 2 , and the footer d 3 .

FIGS. 7A to 7C are diagrams that explain how the two banks, Bank 1 and Bank 2 , are used alternately. The data D is alternately written in the two banks. In the following description, it is assumed that the data D is successfully written and erased.

In the case shown in FIG. 7A , the Bank 1 includes the data D before the last (old), and the Bank 2 includes the last data D (new). In the case shown in FIG. 7B , the data D before the last (old) in the Bank 1 is erased when the power is turned on and the system is booted. The Bank 2 retains the last (new) data D.

In the case shown in FIG. 7C , the standby processing is performed as the power is turned off, and new data D is written in the empty Bank 1 , from which the data D before the last (old) is erased. The data D in the Bank 2 is retained, but becomes the data D before the last (old), because the data D in the Bank 1 is newer. This processing is repeated, so that the old data D is constantly erased from one bank, allowing the new data D to be written in the empty bank.

With reference to FIGS. 5 and 6 , the processing that uses the two banks in the flash memory is described in detail according to passage of time.

1. Before Shipment of Car Navigation Device 1 (Default Setting)

In the default setting, no data is present in any of the banks (Bank 1 , Bank 2 ). When power is turned on, both the banks are determined to be empty at step S 1 in FIG. 5 . The Bank 1 is set as the older bank as a default setting. Therefore, when the power is turned off, the data D is written in the Bank 1 at step S 5 in FIG. 6 .

›DETAILED DESCRIPTION · 3 of 3

2. Operation at First Power On

When the power is turned on again, i.e., after the power is turned off in the above step 1, the empty Bank 2 is determined to be older at the bank check at step S 1 , i.e., CASE- 2 . Therefore, the boot processing ends straight. The data D stored in Bank 1 is read, and the car navigation device 1 starts to operate. When the power is turned off again, new data D is written in the empty Bank 2 at step S 5 .

3. Operation at Second Power On

When the power is turned on again, i.e., after the power is turned off in the above step 2, the data D in the Bank 1 is determined to be older based on the header d 1 at the bank check at step S 1 . Therefore, the data D in the Bank 1 is erased. The data D stored in Bank 2 is read, and the car navigation device 1 starts to operate. When the power is turned off again, new data D is written in the empty Bank 1 at step S 5 in FIG. 6 .

4. Operation at Third Power On

When the power is turned on again, i.e., after the power is turned off in the above step 3, the data D in the Bank 2 is determined to be older based on the header d 1 at the bank check in FIG. 5 (step S 1 ). Therefore, the data D in the Bank 2 is erased. The data D stored in Bank 1 is read, and the car navigation device 1 starts to operate. When the power is turned off again, new data D is written in the empty Bank 2 at step S 5 .

According to the embodiment, when the power is turned off accidentally or by a user's operation, the control setting used immediately before the power is turned off is stored in the non-volatile memory 13 as the last memory data (data D). When the power is turned on again, automatically or by the user's operation, the data D stored in the non-volatile memory 13 is read so as to restore the same control setting used before the power is turned off. The low-cost flash memory can be used as the non-volatile memory 13 .

As it takes considerable time to erase data from the flash memory, the data is previously erased when the power is turned on. Accordingly, when the power is turned off, the data is immediately written in the flash memory without needing to erase the data. This reduces the time required to retain the power when the power is turned off, so that a low-capacity condenser can be used to retain the power. The low-capacity condenser occupies less space, which leads to a compact device and low cost, as compared to the case when a high-capacity condenser is used.

The embodiment is particularly effective when the car navigation device 1 is detached from the car 2 , and used at home afterward. The embodiment can be similarly applied to in-car devices other than a car navigation device, such as CD/DVD playback devices, radio sets, and television sets.

Any recording medium other than the flash memory can be used as long as data is retained after power is turned off. The examples of such flash memories are EEPROMs, FeRAMs, and MRAMs. However, it is preferable to use a recording medium that has a capacity large enough to store the data D, and that can quickly store the data D immediately when the power gets turned off.

A memory control method according to the embodiment of the present invention can be realized by causing a computer such as a personal computer or a work station to execute a predetermined computer program. The computer program can be stored in and read from a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD. On the contrary, the computer program can be distributed through a network such as the Internet.

Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

The present document incorporates by reference the entire contents of Japanese priority document, 2004-138234 filed in Japan on May 7, 2004.

Claims as granted

12 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G06F12/02
  • G11C16/02
  • G06F12/00
USPC · US Patent Classification
711/159

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2005Jan 2006Jul 2006Jan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examinationNon-final rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
4.0 y
1,449 days filing → grant
Office actions
3
non-final + final
Responses
2
1 RCE
Examiner
Brian R Peugh
art unit 2187 · TC 2100
Citations: 6 back · 1 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20062008201020122014201620182020202220242026Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock