JP2012190075A - Update difference data creation device, data update system and update difference data creation program - Google Patents

Update difference data creation device, data update system and update difference data creation program Download PDF

Info

Publication number
JP2012190075A
JP2012190075A JP2011050716A JP2011050716A JP2012190075A JP 2012190075 A JP2012190075 A JP 2012190075A JP 2011050716 A JP2011050716 A JP 2011050716A JP 2011050716 A JP2011050716 A JP 2011050716A JP 2012190075 A JP2012190075 A JP 2012190075A
Authority
JP
Japan
Prior art keywords
data
update
difference data
block size
update difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011050716A
Other languages
Japanese (ja)
Other versions
JP5653259B2 (en
Inventor
Yoshitaka Sumitomo
義孝 住友
Yasushi Nagai
靖 永井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clarion Co Ltd filed Critical Clarion Co Ltd
Priority to JP2011050716A priority Critical patent/JP5653259B2/en
Publication of JP2012190075A publication Critical patent/JP2012190075A/en
Application granted granted Critical
Publication of JP5653259B2 publication Critical patent/JP5653259B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To promptly execute data rewriting processing.SOLUTION: An update difference data creation device 20 executes: a step for, when an S byte of small data capacity and an L byte of large data capacity are available as block sizes, calculating a block quantity BN_S in update difference data when the block size is set at the S byte, and a block quantity BN_L in the update difference data when the block size is set at the L byte; a step for extracting disparity data on an S-byte basis when a formula, BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS)), holds; and a step for creating the update difference data. BN_S represents the block quantity in the update difference data when the block size is set at the S byte, BN_L represents the block quantity in the update difference data when the block size is set at the L byte, T_se represents S-byte data erasing time of a flash memory, T_be represents L-byte data erasing time of the flash memory, T_bp represents per-word data writing time of the flash memory, and WS represents a per-word byte quantity.

Description

本発明は更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムに関し、より詳細には、FLASHメモリまたはSDカードに記録されるバージョンの古いデータを新しいバージョンのデータに迅速かつ少ない更新データで更新することが可能な更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムに関する。   The present invention relates to an update difference data creation device, a data update system, and an update difference data creation program, and more specifically, an old version data recorded in a FLASH memory or an SD card is quickly replaced with a new version data with less update data. The present invention relates to an update difference data creation device, a data update system, and an update difference data creation program that can be updated.

近年では、地図画像をディスプレイ上に表示させ、目的地までの経路案内を行うカーナビゲーションシステムが広く普及している。   In recent years, car navigation systems that display a map image on a display and provide route guidance to a destination have become widespread.

カーナビゲーションシステムにおいて、経路案内の精度を向上させるためには、できるだけ新しい地図情報をカーナビゲーションシステムで保持しておくことが望ましい。また、今日のカーナビゲーションシステムは、単なる経路案内処理だけではなく、CDやMD等に記録される音楽の操作・再生処理を行うための車載用オーディオ装置や、DVDやブルーレイディスク(登録商標)などの再生を行うための映像再生装置としての機能を有するものが多い。このため、必要に応じてシステムの更新などを行うことにより、ユーザのニーズに対応するような機能を追加する必要が生じている。   In a car navigation system, in order to improve the accuracy of route guidance, it is desirable to keep as new map information as possible in the car navigation system. In addition, today's car navigation system is not only a route guidance process, but also an in-vehicle audio device for operating and reproducing music recorded on a CD, MD, etc., a DVD, a Blu-ray Disc (registered trademark), etc. Many of them have a function as a video playback device for playing back video. For this reason, it is necessary to add a function corresponding to the user's needs by updating the system as necessary.

このような地図情報の更新や、システム情報の更新を行うために、最新の地図情報やシステム情報が記録された記録媒体(例えばCD―ROMやDVD―ROMなど)を用いて、カーナビゲーションシステムの地図情報やシステム情報の更新を行う方法が多く用いられている(例えば、特許文献1参照)。   In order to update such map information and system information, a recording medium (for example, CD-ROM or DVD-ROM) on which the latest map information or system information is recorded is used. Many methods of updating map information and system information are used (see, for example, Patent Document 1).

しかしながら、このようにして地図情報やシステム情報を更新する場合には、古い情報の全てを消去してから新しい情報を書き込むことによって、更新処理を行う必要があるため、更新処理に多くの時間が必要とされてしまうという問題があった。   However, when updating map information and system information in this way, it is necessary to perform update processing by erasing all of the old information and then writing new information. There was a problem that it was needed.

このため、全ての地図情報などを更新するのではなく、新しく更新された一部の地図情報やシステム情報のみを古いデータから新しいデータに更新し、新しいデータと古いデータとでデータ内容が変わっていないデータ(つまり、変更がなされていないデータ)に関しては、全く更新処理を行わない差分更新処理方法が知られている。   For this reason, instead of updating all map information etc., only newly updated map information and system information are updated from old data to new data, and the data contents have changed between the new data and old data. A difference update processing method is known in which no update processing is performed on data that is not changed (that is, data that has not been changed).

この差分更新処理方法では、一般的に、カーナビゲーションシステムのデータ記録部の内容を、複数のファイルデータ(部分的にまとめられた1まとまりのデータ)の集合として判断し、更新されたファイルデータのみ変更し、更新されていないファイルデータをそのまま更新せずに利用する方法が用いられている。   In this differential update processing method, in general, the contents of the data recording unit of the car navigation system are determined as a set of a plurality of file data (partially grouped data), and only the updated file data is determined. A method is used in which file data that has been changed and not updated is used without being updated.

しかしながら、更新されたファイルデータであっても、そのファイルデータを構成する全てのデータの更新が行われるのではなく、ファイルデータ内の一部のデータのみが更新対象となることの方が多い。このため、さらに、ファイルデータ毎に更新箇所を求めて更新差分データを作成してデータの更新を行う場合と、ファイルデータの全体をそのまま用いて更新を行う場合とを必要に応じて使い分ける方法も提案されている(例えば、特許文献2参照)。   However, even with updated file data, not all data constituting the file data is updated, and only a part of the data in the file data is subject to update. For this reason, there is also a method of using the case of updating the data by creating the update difference data for each file data and updating the data using the entire file data as needed. It has been proposed (see, for example, Patent Document 2).

特許文献2に開示される方法では、カーナビゲーションシステムの更新対象となるデータ領域をファイルデータ毎に抽出し(特許文献2の図4では、ファイル1〜ファイル4が例示されている)、抽出されたファイルデータのデータ量に対する差分データのデータ量を求め差分データのサイズ率を算出して、サイズ率が所定比率よりも小さい場合にのみ該当するファイルデータの差分データを用いてデータの更新を行い、サイズ率が所定比率よりも大きい場合には新しいファイルデータを用いることにより、全体的にデータの更新を行う方法を採用している。   In the method disclosed in Patent Document 2, a data area to be updated in the car navigation system is extracted for each file data (in FIG. 4 of Patent Document 2, files 1 to 4 are illustrated) and extracted. The amount of difference data relative to the amount of file data obtained is calculated, the size rate of the difference data is calculated, and the data is updated using the difference data of the corresponding file data only when the size rate is smaller than the predetermined ratio. When the size ratio is larger than the predetermined ratio, a method of updating the data as a whole is employed by using new file data.

特開2003―337027号公報Japanese Patent Laid-Open No. 2003-337027 特開2006―251768号公報(図2〜図4)JP-A-2006-251768 (FIGS. 2 to 4)

ところで、特許文献2には、更新データをDVDなどの記録媒体に記録させ、カーナビゲーションシステムでこの更新データを読み出すことにより情報の更新を行う場合が例示されている。しかしながら、DVD等の記録媒体に更新データを記録させる方法では、更新データを頻繁に提供することが困難であった。実際に、DVD等に更新データを記録して提供する場合には、提供頻度が1年〜2年間に1回程度になってしまうという問題があった。   Incidentally, Patent Document 2 exemplifies a case where information is updated by recording update data on a recording medium such as a DVD and reading the update data with a car navigation system. However, in the method of recording update data on a recording medium such as a DVD, it has been difficult to frequently provide update data. Actually, when update data is recorded on a DVD or the like and provided, there has been a problem that the frequency of supply becomes about once every one to two years.

一方で、カーナビゲーションシステムを利用するユーザの立場からすれば、少しでも早く新しい地図情報などに情報を更新したいという要望が存在する。このため、今日では、カーナビゲーションシステムを携帯電話回線などの通信回線を用いてサーバにアクセスさせて、データの更新があった場合に迅速にデータの更新を行う方法が提案されている。   On the other hand, from the viewpoint of a user who uses a car navigation system, there is a desire to update information to new map information as soon as possible. For this reason, today, a method has been proposed in which a car navigation system is accessed to a server using a communication line such as a mobile phone line, and when data is updated, the data is updated quickly.

このようにして通信回線を用いて更新データを取得する場合には、通信費の削減とデータのダウンロード時間の短縮とを図るために、できるだけ小さなデータを用いて地図情報などの更新することが好ましい。しかしながら、地図情報などのデータは情報量が比較的多いため、地図情報を通信回線だけを用いて更新すると、受信データ量とダウンロード時間との増大により、利便性を損なうおそれもあった。   When update data is acquired using a communication line in this way, it is preferable to update map information or the like using as little data as possible in order to reduce communication costs and data download time. . However, since data such as map information has a relatively large amount of information, if the map information is updated using only a communication line, there is a risk that convenience may be impaired due to an increase in received data amount and download time.

このため、ファイルデータ単位の更新に関してはDVD等の記録媒体に記録された情報によって更新を行い、1つのファイルデータよりも小さなデータ単位で更新を行う場合には通信回線を用いて、差分データを取得することによりデータの更新処理を行う方法が提案されている。   For this reason, when updating in units of file data, update is performed using information recorded on a recording medium such as a DVD. When updating is performed in units of data smaller than one file data, the difference data is stored using a communication line. There has been proposed a method of performing data update processing by acquiring the data.

一方で、差分データを用いてデータの更新を行うことにより、通信回線を介して送受信するデータのデータ量を低減させることは可能となるが、少量のデータを頻繁に更新する方法を用いると、地図情報等を記録する記録媒体へのデータの書き込み回数が増大するため、更新処理に時間を要してしまう傾向がある。   On the other hand, by updating the data using the difference data, it is possible to reduce the data amount of data transmitted and received via the communication line, but using a method of frequently updating a small amount of data, Since the number of times of writing data to a recording medium for recording map information or the like increases, the update process tends to take time.

特に近年では、カーナビゲーションシステムにおいて、FLASHメモリやSDカードなどの不揮発性メモリに、地図情報やシステム情報を記録する機種が増えている。不揮発性メモリにデータを記録するカーナビゲーションシステムでは、データの消去・書き込み処理に必要とされる時間がハードディスクドライブを利用する場合よりも多くなる傾向がある。   Particularly in recent years, in car navigation systems, the number of models that record map information and system information in a nonvolatile memory such as a FLASH memory and an SD card has increased. In a car navigation system that records data in a non-volatile memory, the time required for data erasing / writing processing tends to be longer than when a hard disk drive is used.

このため、差分データを用いて更新のあったデータブロックだけを頻繁に更新する処理を行うと、更新処理にかえって時間が掛かってしまい、さらに、書き換え回数が多くなるためメモリ寿命の短縮化を招いてしまうおそれがあるという問題があった。   For this reason, if the process of frequently updating only updated data blocks using the difference data is performed, it takes time instead of the update process, and further, the number of rewrites increases, leading to a reduction in memory life. There was a problem that there was a risk of being.

本発明は上記課題に鑑みてなされたものであり、記録媒体(FLASHメモリやSDカード)に記録されるデータの書き換え処理を迅速に行うことが可能な更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムを提供することを課題とする。   The present invention has been made in view of the above problems, and an update difference data creation device, a data update system, and an update that can quickly perform a rewrite process of data recorded on a recording medium (a FLASH memory or an SD card). It is an object to provide a differential data creation program.

上記課題を解決するために、本発明に係る更新差分データ作成装置は、FLASHメモリに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、前記FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段とを備え、前記更新差分データ作成手段は、小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出し、下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成し、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成することを特徴とする。   In order to solve the above-described problem, an update difference data creation device according to the present invention includes update information in which an old version of data recorded in a FLASH memory and a newer version of data than the old version of data are recorded. The block size is defined as the data capacity that can be erased by the erasing process for each time in the recording means and the FLASH memory, and the new version data and the old version data recorded in the update information recording means are compared. An update difference data creating means for creating update difference data by extracting the data of different parts of the data content as the difference data in the block size unit, and combining the extracted difference data in the block size unit; The update difference data creation means is an S-bye having a small data capacity. And L bytes having a large data capacity can be used as the block size of the FLASH memory, the number of blocks BN_S of the update difference data when the block size is S bytes, The block number BN_L of the update difference data when the block size is set to L bytes is calculated, and when the following formula is satisfied, the difference data is extracted in S bytes, which is the small data capacity, and the update difference data is extracted. When the following formula is not satisfied, the difference data is extracted in units of L bytes, which is the large data capacity, and the update difference data is generated.

但し、式はBN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))であり、BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、WSは、前記FLASHメモリにおける1ワード当たりのバイト数を示し、前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。   However, the formula is BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS)), where BN_S is the update difference data when the block size is S bytes. The number of blocks, BN_L is the number of blocks of the update difference data when the block size is L bytes, T_se is the time required to erase S bytes of data in the FLASH memory, and T_be is Time required for erasing data of L bytes in the FLASH memory, T_bp is a time for writing data of one word in the FLASH memory, and WS is the number of bytes per word in the FLASH memory. The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.

また、本発明に係る更新差分データ作成装置は、SDカードに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段とを備え、前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合には、前記更新情報記録手段に、異なるデータ容量のブロックサイズBS毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録され、前記更新差分データ作成手段は、前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズBS毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出して、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めて、当該ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成することを特徴とする。   The update difference data creation device according to the present invention includes an update information recording unit in which data of an old version recorded on an SD card and data of a newer version than the data of the old version are recorded, and the SD The data capacity that can be erased by each erasing process in the card is defined as a block size, and a new version of data recorded in the update information recording means is compared with an old version of data, and different data contents Update data creation means for creating update difference data by extracting the difference data in the block size unit as a difference data and combining the extracted difference data in the block size unit, the block size of the SD card If it is possible to use multiple data capacity as For each block size BS having a different data capacity, the update information recording means stores the new version based on the write throughput Wth (BS) of the SD card, the read throughput Rth (BS) of the SD card, and update difference data. Patch processing throughput Pth (BS) of the patch processing for creating the data of the update difference is created, and the update difference data creation means is the update information recording means when the data amount of the update difference data is D (BS). Read a plurality of write throughputs Wth (BS), a plurality of read throughputs Rth (BS), and a plurality of patch processing throughputs Pth (BS) recorded for each block size BS, and D (BS) / (Wth ( BS) + Rth (BS) + Pth (BS)) Seeking Kusaizu the BS, and wherein the creating the update difference data by extracting the difference data in the block size BS units.

ここで、書き込みスループットとは、単位時間当たりに書き込みを行うことが可能なデータのブロックサイズ数を示し、ブロックサイズとして設定されるバイト数に応じて値が変化し、また、SDカードのハード特性に応じて値が異なるという性質を有している。   Here, the write throughput indicates the number of block sizes of data that can be written per unit time, the value changes according to the number of bytes set as the block size, and the SD card hardware characteristics It has the property that the value differs depending on

また、読み込みスループットとは、単位時間当たりに読み込みを行うことが可能なデータのブロックサイズ数を示し、ブロックサイズとして設定されるバイト数に応じて値が変化し、また、SDカードのハード特性に応じて値が異なるという性質を有している。   The read throughput indicates the number of block sizes of data that can be read per unit time. The value changes according to the number of bytes set as the block size. It has the property that the value is different depending on it.

さらに、パッチ処理のスループットとは、SDカードに記録されている古いバージョンのデータと更新差分データとに基づいて新しいバージョンのデータを作成する場合において、単位時間当たりに新しいバーションのデータを作成することが可能なブロックサイズ数を示し、パッチ処理に利用されるDRAM(SDRAM等)とSDカードとの間のメモリコピー・スループットに近似した値を示す。   Further, the patch processing throughput refers to the creation of a new version of data per unit time when creating a new version of data based on the old version of data and update difference data recorded on the SD card. The number of possible block sizes is shown, and a value approximated to the memory copy throughput between a DRAM (SDRAM or the like) used for patch processing and an SD card is shown.

また、本発明に係るデータ更新システムは、古いバージョンのデータが記録されるFLASHメモリと、該FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記古いバージョンのデータと新しいバーションのデータとにおいてデータ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出して組み合わせることにより作成された更新差分データと、前記FLASHメモリに記録される古いバーションのデータとに基づいて、新しいバーションのデータを生成する新バージョンデータ生成手段と、前記ブロックサイズ単位で前記FLASHメモリのデータを消去するメモリデータ消去手段と、該メモリデータ消去手段により消去された前記FLASHメモリの領域に、前記新バージョンデータ生成手段により生成された新しいバーションのデータを書き込むデータ書き込み手段と、前記古いバージョンのバージョン情報をネットワーク回線を介してサーバへ出力すると共に、前記更新差分データを前記ネットワーク回線を介して前記サーバより受信することが可能なクライアント通信手段とを有するクライアントと、前記FLASHメモリに記録され得る全てのバージョンのデータが記録された更新情報記録手段と、前記クライアント通信手段により出力された前記バージョン情報を前記ネットワーク回線を介して受信すると共に、前記更新差分データを前記ネットワーク回線を介して前記クライアントへ出力することが可能なサーバ通信手段と、該サーバ通信手段により受信された前記バージョン情報に該当するバージョンのデータを、前記更新情報記録手段に記録されるデータより取得し、取得されたバージョンのデータと前記更新情報記録手段に記録される新しいバージョンのデータとを比較して、前記相違データを抽出することにより、更新差分データを作成する更新差分データ作成手段とを有するサーバとを備え、前記更新差分データ作成手段は、小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出し、下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成し、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成し、前記サーバ通信手段は、前記更新差分データ作成手段により作成された前記更新差分データを前記クライアントに対して出力し、前記クライアント通信手段は、前記サーバによって出力された前記更新差分データを受信し、前記新バージョンデータ生成手段は、前記クライアント通信手段により受信された前記更新差分データと、前記FLASHメモリに記録される古いバージョンのデータとに基づいて、新しいバーションのデータを生成し、前記メモリデータ消去手段は、前記クライアント通信手段により受信された前記更新差分データを構成するブロックサイズに基づいて、当該ブロックサイズ単位で前記FLASHメモリのデータを消去し、前記データ書き込み手段は、前記メモリデータ消去手段により消去された前記FLASHメモリの領域に、前記新バージョンデータ生成手段により生成された新しいバーションのデータを、前記ブロックサイズ単位で書き込むことを特徴とする。   Further, the data update system according to the present invention defines a FLASH memory in which an old version of data is recorded, and a data capacity that can be erased by each erasing process in the FLASH memory as a block size. Update difference data created by extracting and combining data of different data contents between the data and the new version data as difference data in units of the block size, and the old version recorded in the FLASH memory New version data generating means for generating new version data based on the data, memory data erasing means for erasing the data in the FLASH memory in block units, and the memory data erasing means erased by the memory data erasing means In the FLASH memory area, Data writing means for writing new version data generated by the version data generating means, and outputting the version information of the old version to a server via a network line, and the update difference data via the network line A client having client communication means that can be received from the server, update information recording means in which all versions of data that can be recorded in the FLASH memory are recorded, and the version information output by the client communication means Corresponding to the version information received by the server communication means and the server communication means capable of outputting the update difference data to the client via the network line. The version data is acquired from the data recorded in the update information recording means, and the difference data is extracted by comparing the acquired version data with the new version data recorded in the update information recording means. And a server having update difference data creation means for creating update difference data, wherein the update difference data creation means stores S bytes having a small data capacity and L bytes having a large data capacity as described above. When it can be used as the block size of the FLASH memory, the number of blocks BN_S of the update difference data when the block size is set to S bytes and the update difference when the block size is set to L bytes The number of data blocks BN_L is calculated, and when the following formula is true, The difference data is extracted in units of S bytes to create the update difference data, and if the following formula is not satisfied, the difference data is extracted in units of L bytes that are the large data capacity to create the update difference data The server communication means outputs the update difference data created by the update difference data creation means to the client, and the client communication means receives the update difference data outputted by the server. The new version data generation means generates new version data based on the update difference data received by the client communication means and the old version data recorded in the FLASH memory, and the memory The data erasure means is the update difference received by the client communication means. Based on the block size constituting the data, the data in the FLASH memory is erased in units of the block size, and the data writing means stores the new version data in the area of the FLASH memory erased by the memory data erasing means. The new version data generated by the generating means is written in units of the block size.

但し、式は、BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))であり、BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、WSは、前記FLASHメモリにおける1ワード当たりのバイト数を示し、前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。   However, the formula is BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS)), where BN_S is the update difference data when the block size is S bytes. BN_L is the number of blocks of the update difference data when the block size is L bytes, T_se is the time required to erase S bytes of data in the FLASH memory, and T_be is , Time required for erasing L bytes of data in the FLASH memory, T_bp is a time for writing data of one word in the FLASH memory, and WS is the number of bytes per word in the FLASH memory The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.

また、本発明に係るデータ更新システムは、古いバージョンのデータが記録されるSDカードと、前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記古いバージョンのデータと新しいバーションのデータとにおいてデータ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出して組み合わせることにより作成された更新差分データと、前記SDカードに記録される古いバーションのデータとに基づいて新しいバーションのデータを生成する新バージョンデータ生成手段と、前記ブロックサイズ単位で前記SDカードのデータの書き込みを行うデータ書き込み手段と、前記古いバージョンのバージョン情報をネットワーク回線を介してサーバへ出力すると共に、前記更新差分データを前記ネットワーク回線を介して前記サーバより受信することが可能なクライアント通信手段とを有するクライアントと、前記SDカードに記録され得る全てのバージョンのデータが記録された更新情報記録手段と、前記クライアント通信手段により出力された前記バージョン情報を前記ネットワーク回線を介して受信すると共に、前記更新差分データを前記ネットワーク回線を介して前記クライアントへ出力することが可能なサーバ通信手段と、該サーバ通信手段により受信された前記バージョン情報に該当するバージョンのデータを、前記更新情報記録手段に記録されるデータより取得し、取得されたバージョンのデータと前記更新情報記録手段に記録される新しいバージョンのデータとを比較して、前記相違データを抽出することにより、更新差分データを作成する更新差分データ作成手段とを有するサーバとを備え、前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合には、前記更新情報記録手段に、異なるデータ容量のブロックサイズBS毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録され、前記更新差分データ作成手段は、前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズBS毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出して、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めて、当該ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成し、前記サーバ通信手段は、前記更新差分データ作成手段により作成された前記更新差分データを前記クライアントに対して出力し、前記クライアント通信手段は、前記サーバによって出力された前記更新差分データを受信し、前記新バージョンデータ生成手段は、前記クライアント通信手段により受信された前記更新差分データと、前記SDカードに記録される古いバージョンのデータとに基づいて、新しいバーションのデータを生成し、前記データ書き込み手段は、前記新バージョンデータ生成手段において生成された新しいバーションのデータを、前記更新差分データの前記ブロックサイズ単位で前記SDカードに書き込むことを特徴とする   Further, the data update system according to the present invention defines an SD card in which an old version of data is recorded, and a data capacity that can be erased by each erasing process in the SD card as a block size. The update difference data created by extracting and combining data of different data contents in the data and the new version data as difference data in units of the block size, and the old version recorded on the SD card New version data generating means for generating new version data based on the data, data writing means for writing the data of the SD card in units of the block size, and the version information of the old version via a network line Output to the server and update A client having client communication means capable of receiving minute data from the server via the network line; update information recording means in which all versions of data that can be recorded on the SD card are recorded; Server communication means capable of receiving the version information output by the client communication means via the network line and outputting the update difference data to the client via the network line, and the server communication means The version data corresponding to the version information received by the data is acquired from the data recorded in the update information recording means, the acquired version data and the new version data recorded in the update information recording means, To extract the difference data And a server having update difference data creation means for creating update difference data, and when it is possible to use a plurality of data capacities as the block size of the SD card, the update information recording means In addition, for each block size BS having a different data capacity, the data of the new version is created based on the write throughput Wth (BS) of the SD card, the read throughput Rth (BS) of the SD card, and the update difference data. When the patch processing throughput Pth (BS) of the patch processing to be recorded is recorded, and the data amount of the update difference data is D (BS), the update difference data creation unit stores the block size BS in the update information recording unit. Multiple write throughputs Wth (BS) recorded for each and multiple read throughputs A block size BS that reads the embedded throughput Rth (BS) and a plurality of patch processing throughputs Pth (BS) and minimizes the value of D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)). The update difference data is created by extracting the difference data in units of the block size BS, and the server communication means sends the update difference data created by the update difference data creation means to the client. The client communication means receives the update difference data output by the server, and the new version data generation means includes the update difference data received by the client communication means, and the SD card. Based on the old version data recorded in the Generates over data, the data writing means, the data of the new versions generated in the new version data generation means, and writes the SD card in the block size of the update difference data

さらに、本発明に係る更新差分データ作成プログラムは、FLASHメモリに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、前記FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段と、を備える更新差分データ作成装置において、前記更新差分データ作成手段に、前記更新差分データを作成させるための更新差分データ作成プログラムであって、前記更新差分データ作成手段に、小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出させるブロック数算出ステップと、下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成させ、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成させる更新差分データ作成ステップとを実行させるためのプログラムであることを特徴とする。   Further, the update difference data creation program according to the present invention includes an update information recording means in which an old version of data recorded in the FLASH memory and a newer version of data than the old version of data are recorded, and the FLASH A data capacity that can be erased by each erasing process in the memory is defined as a block size, and a new version of data recorded in the update information recording means is compared with an old version of data, and different data contents In the update difference data creation device comprising: update difference data creation means for extracting the difference data in the block size unit and creating the update difference data by combining the extracted difference data in the block size unit The update difference data creation means An update difference data creation program for creating difference data, wherein the update difference data creation means sets S byte having a small data capacity and L bytes having a large data capacity as the block size of the FLASH memory. When the block size is set to S bytes, the number of blocks BN_S of the update difference data when the block size is set to S bytes and the number of blocks BN_L of the update difference data when the block size is set to L bytes are used. Calculating the number of blocks to be calculated; and when the following formula is satisfied, the difference data is extracted in S bytes, which is the small data capacity, to create the update difference data, and when the following formula is not satisfied, the large data The difference data is extracted in units of L bytes, which is the capacity, and the update difference data is created. It is a program for executing the update difference data creation step to be created.

だたし、式はBN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))であり、BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、WSは、前記FLASHメモリにおける1ワード当たりのバイト数を示し、前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。   However, the formula is BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS)), where BN_S is the update difference when the block size is S bytes. The number of data blocks, BN_L is the number of blocks of the update difference data when the block size is L bytes, T_se is the time required for erasing S bytes of data in the FLASH memory, and T_be Is a time required for erasing L bytes of data in the FLASH memory, T_bp is a writing time of data of one word in the FLASH memory, and WS is a byte per word in the FLASH memory. The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.

また、本発明に係る更新差分データ作成プログラムは、SDカードに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録され、さらに、前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合に、異なるデータ容量のブロックサイズ毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録された更新情報記録手段と、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段とを備える更新差分データ作成装置において、前記更新差分データ作成手段に、前記更新差分データを作成させるための更新差分データ作成プログラムであって、前記更新差分データ作成手段に、前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズ毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出させて、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めさせる最小ブロックサイズ算出ステップと、該最小ブロックサイズ算出ステップにおいて算出された前記ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成させる更新差分データ作成ステップとを実行させるためのプログラムであることを特徴とする。   The update difference data creation program according to the present invention records an old version of data recorded on an SD card and data of a newer version than the old version of data, and further, once in the SD card. The data capacity that can be erased by each erasing process is defined as a block size, and when a plurality of data capacities can be used as the block size of the SD card, the SD card is recorded for each block size of different data capacity Card write throughput Wth (BS), SD card read throughput Rth (BS), and patch processing throughput Pth (BS) of patch processing for creating the new version data based on update difference data are recorded. Recorded update information recording means and the update information recording means. Comparing the new version of the data with the old version of the data, extracting data of different parts of the data contents as the difference data in the block size unit, and combining the extracted difference data in the block size unit In the update difference data creation device comprising update difference data creation means for creating update difference data by the update difference data creation program for causing the update difference data creation means to create the update difference data, In the difference data creation means, when the data amount of the update difference data is D (BS), a plurality of write throughputs Wth (BS) recorded for each block size in the update information recording means and a plurality of read throughputs Rth (BS) and multiple patch processing through A minimum block size calculating step of reading a block Pth (BS) and obtaining a block size BS that minimizes the value of D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)); It is a program for executing the update difference data creating step for creating the update difference data by extracting the difference data in units of the block size BS calculated in the minimum block size calculating step. .

一般的に、FLASHメモリは、データを上書き保存することができないため、一度データの消去を行った後に更新されたデータの書き込みを行う必要がある。さらに、FLASHメモリでは、1バイト単位でデータを消去することができないため、所定のブロックサイズ単位でデータを消去した後に、更新されたデータの書き込みを行う必要がある。   In general, the FLASH memory cannot overwrite and store data, and therefore it is necessary to write updated data after erasing data once. Furthermore, since data cannot be erased in units of 1 byte in FLASH memory, it is necessary to write updated data after erasing data in units of a predetermined block size.

このため、本発明に係る更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムでは、FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、新しいバージョンのデータと古いバージョンのデータとを比較してデータ内容の異なる部分のデータを相違データとしてブロックサイズ単位で抽出して組み合わせることにより更新差分データを作成する。このようにして更新差分データを作成することによって、FLASHメモリの更新処理に適した更新差分データを作成することが可能となる。   Therefore, in the update difference data creation device, the data update system, and the update difference data creation program according to the present invention, the data capacity that can be erased by each erase process in the FLASH memory is defined as a block size, and a new version of data The update difference data is created by comparing the old data and the old version data, and extracting and combining the data with different data contents in the unit of the block size as the different data. By creating update difference data in this way, it is possible to create update difference data suitable for FLASH memory update processing.

さらに、FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量は、必ずしも1通りのデータ容量には限定されず、複数種類のデータ容量のいずれかを選択してブロックサイズとし、選択されたブロックサイズに基づいてデータの消去を行うことが可能となっている場合も存在する。   Further, the data capacity that can be erased by the erase process for each time in the FLASH memory is not necessarily limited to one data capacity, and any one of a plurality of types of data capacity is selected as a block size and selected. In some cases, it is possible to erase data based on the block size.

このように1回毎の消去処理で消去可能なブロックサイズのデータ容量を選択可能な場合には、どの程度のブロックサイズ単位で相違データを抽出して更新差分データを作成するか否かによって、FLASHメモリの更新処理時間に差が生じてしまう場合がある。   In this way, when it is possible to select the data capacity of a block size that can be erased by each erase process, depending on whether or not the difference data is extracted and the update difference data is created in units of the block size, There may be a difference in the update processing time of the FLASH memory.

一般的に、FLASHメモリにおけるデータの消去時間は、1回で消去されるデータ容量に違いがあっても消去時間に差が生じない傾向がある。このため、同じデータ容量を消去する場合には、ブロックデータを大きくした方が、ブロックデータを小さくする場合よりも消去処理回数を低減させることができるため、消去処理時間を全体的に短くすることが可能である。   In general, the data erasing time in the FLASH memory tends to not cause a difference in erasing time even if there is a difference in data capacity to be erased at one time. For this reason, when erasing the same data capacity, increasing the block data can reduce the number of times of erasure processing compared to reducing the block data. Is possible.

一方で、データの書き込み時間は、データの書き込み処理回数に比例して多くの時間が掛かってしまう傾向がある。従って、ブロックサイズを大きくすると、新旧バージョンにおいてデータ内容の異なる部分が、1つのブロックサイズ内に含まれる可能性が高くなり、ブロックサイズが小さい場合に比べて抽出される相違データの数が増加する傾向がある。従って、ブロックサイズが大きくなって抽出される相違データ数が増加されると、更新差分データをFLASHメモリに書き込むための書き込み回数が増加してしまい、書き込み処理時間が全体的に長くなってしまうという問題がある。   On the other hand, the data writing time tends to take much time in proportion to the number of data writing processes. Therefore, when the block size is increased, there is a higher possibility that different data contents will be included in one block size in the old and new versions, and the number of different data to be extracted increases compared to the case where the block size is small. Tend. Therefore, when the block size is increased and the number of different data to be extracted is increased, the number of times of writing the update difference data to the FLASH memory is increased, and the write processing time is generally increased. There's a problem.

本発明に係る更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムでは、FLASHメモリのブロックサイズとして、小さなデータ容量であるSバイトと、大きなデータ容量であるLバイトとを利用することが可能である場合に、ブロックサイズをSバイトにした場合の更新差分データのブロック数BN_Sと、ブロックサイズをLバイトにした場合の更新差分データのブロック数BN_Lとを算出し、FLASHメモリのハード特性に基づいて決定されるT_se(FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間)、T_be(FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間)、T_bp(FLASHメモリにおける1ワード分のデータの書き込み時間)、WS(FLASHメモリにおける1ワード当たりのバイト数)を用いることにより、
BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))
が成立するか否かの判断を行う。
In the update difference data creation device, the data update system, and the update difference data creation program according to the present invention, it is possible to use S bytes having a small data capacity and L bytes having a large data capacity as the block size of the FLASH memory. If possible, the block number BN_S of the update difference data when the block size is S bytes and the block number BN_L of the update difference data when the block size is L bytes are calculated, and the hardware characteristics of the FLASH memory T_se (time required for erasing data of S bytes in the FLASH memory) determined based on T_be (time required for erasing data of L bytes in the FLASH memory), T_bp (time for writing data for one word in FLASH memory), WS (FLA By using the number of bytes per word in SH memory)
BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS))
It is determined whether or not

ここで、上述した式におけるT_seは、FLASHメモリにおける小さいデータ容量であるSバイト分のデータの消去処理時間、(T_bp×S/WS)は、FLASHメモリにおけるSバイト分のデータの書き込み処理時間、T_beは、FLASHメモリにおける大きいデータ容量であるLバイト分のデータの消去処理時間、(T_bp×L/WS)は、FLASHメモリにおけるLバイト分のデータの書き込み処理時間を示している。   Here, T_se in the above formula is the erasure processing time of S bytes of data, which is a small data capacity in the FLASH memory, and (T_bp × S / WS) is the write processing time of data of S bytes in the FLASH memory, T_be represents the erasure processing time of L bytes of data, which is a large data capacity in the FLASH memory, and (T_bp × L / WS) represents the write processing time of L bytes of data in the FLASH memory.

従って、上述の式は、ブロックサイズの相違に基づくデータの消去時間と書き込み時間との和を比較したものに該当し、式が成立する場合には、SバイトをブロックサイズとしてFLASHメモリのデータ更新処理を行う方が、Lバイトをブロックサイズとしてデータ更新処理を行うよりも処理時間が短縮され、式が成立しない場合には、Lバイトをブロックサイズとしてデータ更新処理を行う方が、Sバイトをブロックサイズとしてデータ更新処理を行うよりも処理時間が短縮されると判断することができる。   Therefore, the above formula corresponds to a comparison of the sum of the data erase time and the write time based on the difference in block size. If the formula is satisfied, the data update of the FLASH memory is performed with the S byte as the block size. When processing, the processing time is shortened compared to performing data update processing with L bytes as the block size, and when the expression does not hold, the data updating processing with L bytes as the block size is performed using S bytes. As a block size, it can be determined that the processing time is shorter than when the data update process is performed.

このようにしてブロックサイズを決定することにより、FLASHメモリのデータ更新処理に用いられる更新差分データのブロックサイズを最適化することができ、データの更新処理の迅速化と、更新差分データのデータ量低減とを実現することが可能となる。   By determining the block size in this way, the block size of the update difference data used for the data update process of the FLASH memory can be optimized, the data update process can be accelerated, and the data amount of the update difference data Reduction can be realized.

また、SDカードもFLASHメモリの一種であり、データの書き込みを行う前に古いデータを消去してから新しいデータの書き込みを行う必要がある点で、FLASメモリと共通する。このため、SDカードにおいても1回毎の消去処理で消去可能なデータ容量をブロックサイズとして定義する。   An SD card is also a kind of FLASH memory, and is common to FLASH memory in that it is necessary to erase old data and then write new data before writing data. For this reason, even in the SD card, the data capacity that can be erased by each erase process is defined as the block size.

また、一般的に、SDカードには、データの更新(消去・読み込み・書き込み)制御を行うためのコントローラが設けられており、このコントローラによってデータの消去・読み込み・書き込みが行われることになる。但し、データの更新を行うためのブロックサイズが異なると、同じSDカードであっても、データ更新の処理時間が異なっていた。   In general, an SD card is provided with a controller for performing data update (erase / read / write) control, and data is erased / read / write by the controller. However, if the block size for updating the data is different, the data update processing time is different even for the same SD card.

本発明に係る更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムでは、SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合に、異なるデータ容量のブロックサイズ毎に、SDカードの書き込みスループットWth(BS)と、SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが、更新情報記録手段に記録されている。   In the update difference data creation device, the data update system, and the update difference data creation program according to the present invention, when a plurality of data capacities can be used as the block size of the SD card, for each block size of different data capacities SD card write throughput Wth (BS), SD card read throughput Rth (BS), and patch processing throughput Pth (BS) of patch processing for creating new version data based on the update difference data, It is recorded in the update information recording means.

本発明に係る更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラムの更新差分データ作成手段は、更新差分データのデータ量がD(BS)である場合において、更新情報記録手段にブロックサイズ毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出して、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めて、当該ブロックサイズBS単位で相違データを抽出することによって更新差分データを作成する。   The update difference data creation means of the update difference data creation device, the data update system, and the update difference data creation program according to the present invention includes a block size in the update information recording means when the data amount of the update difference data is D (BS). A plurality of write throughputs Wth (BS), a plurality of read throughputs Rth (BS), and a plurality of patch processing throughputs Pth (BS) recorded for each are read out, and D (BS) / (Wth (BS) + Rth ( A block size BS that minimizes the value of (BS) + Pth (BS)) is obtained, and difference data is extracted in units of the block size BS, thereby creating update difference data.

このようにして更新差分データを作成することによって、SDカードにおいてブロックサイズに応じて異なる、書き込み時間、読み込み時間およびパッチ処理時間の組み合わせを最も低減することが可能なブロックサイズを求めることが可能となる。このブロックサイズ単位で相違データを抽出して更新差分データを作成することにより、SDカードのデータ更新処理に用いられる更新差分データのブロックサイズを最適化することができ、データの更新処理の迅速化と、更新差分データのデータ量低減とを実現することが可能となる。   By creating the update difference data in this way, it is possible to obtain a block size that can reduce the combination of write time, read time, and patch processing time, which differs depending on the block size in the SD card, most. Become. By extracting the difference data in units of the block size and creating the update difference data, the block size of the update difference data used for the SD card data update process can be optimized, and the data update process can be accelerated. In addition, it is possible to reduce the amount of update difference data.

本実施の形態に係るカーナビゲーションシステムとサーバがネットワーク回線を介して接続された状態を示した図である。It is the figure which showed the state by which the car navigation system and server which concern on this Embodiment were connected via the network line. 本実施の形態に係るカーナビゲーションシステムの概略構成を示したブロック図である。1 is a block diagram showing a schematic configuration of a car navigation system according to the present embodiment. 本実施の形態に係るデータ記録部のデータ記録構造を説明するための図である。It is a figure for demonstrating the data recording structure of the data recording part which concerns on this Embodiment. 本実施の形態に係るサーバの概略構成を示したブロック図である。It is the block diagram which showed schematic structure of the server which concerns on this Embodiment. 本実施の形態に係るカーナビゲーションシステムとサーバとの間の情報の送受信を示したタイミングチャートである。It is the timing chart which showed transmission / reception of the information between the car navigation system which concerns on this Embodiment, and a server. 本実施の形態に係るカーナビゲーションシステムのCPUにより実行されるデータ更新処理を示したフローチャートである。It is the flowchart which showed the data update process performed by CPU of the car navigation system concerning this Embodiment. 本実施の形態に係るサーバのサーバ用CPUにより実行されるデータ更新処理を示したフローチャートである。It is the flowchart which showed the data update process performed by server CPU of the server which concerns on this Embodiment. 本実施の形態に係るサーバのサーバ用CPUにおいて、更新差分データを作成する手順を説明するための図である。It is a figure for demonstrating the procedure which produces update difference data in server CPU of the server which concerns on this Embodiment.

以下、本発明に係る更新差分データ作成装置を、更新差分データ作成装置の一例であるサーバと、そのサーバにネットワーク回線を介して接続されるカーナビゲーションシステムとを示して、図面を用いて詳細に説明する。   Hereinafter, an update difference data creation device according to the present invention will be described in detail with reference to the drawings, showing a server which is an example of an update difference data creation device and a car navigation system connected to the server via a network line. explain.

図1は、本実施の形態に係るカーナビゲーションシステム(クライアント)1と、サーバ(更新差分データ作成装置、サーバ)20とを示した図である。図1に示すように、カーナビゲーションシステム1とサーバ20とは、ネットワーク回線30を介して接続されている。具体的に、カーナビゲーションシステム1は、車両2に搭載されると共に、後述するように携帯電話回線を介してネットワーク回線30に接続することが可能となっている。一方で、サーバ20もネットワーク回線30に接続されており、カーナビゲーションシステム1とサーバ20とは、ネットワーク回線30を介して、データの送受信を行うことが可能となっている。   FIG. 1 is a diagram showing a car navigation system (client) 1 and a server (update difference data creation device, server) 20 according to the present embodiment. As shown in FIG. 1, the car navigation system 1 and the server 20 are connected via a network line 30. Specifically, the car navigation system 1 is mounted on the vehicle 2 and can be connected to the network line 30 via a mobile phone line as will be described later. On the other hand, the server 20 is also connected to the network line 30, and the car navigation system 1 and the server 20 can transmit and receive data via the network line 30.

なお、ネットワーク回線30は、インターネットのように広く第三者に公開されているネットワークであってもよく、LAN等のように、ネットワークのアクセスに一定の制限が課されるネットワークであってもよい。さらに、カーナビゲーションシステム1におけるネットワーク回線30への接続は、必ずしも携帯電話回線だけには限定されず、Wi−FiやWiMAXなどの通信回線を利用するものであってもよい。   The network line 30 may be a network that is widely open to third parties such as the Internet, or may be a network that imposes certain restrictions on network access, such as a LAN. . Furthermore, the connection to the network line 30 in the car navigation system 1 is not necessarily limited to the mobile phone line, and may be a communication line such as Wi-Fi or WiMAX.

さらに、図1には、カーナビゲーションシステム1とサーバ20とが1つずつしか示されていないが、カーナビゲーションシステム1やサーバ20は必ずしも1つずつには限定されない。一般的に、カーナビゲーションシステム1は、ネットワーク回線30を介して多数存在し、各ユーザが各々のカーナビゲーションシステム1を利用することによって、サーバ20にアクセスすることが可能となっている。また、サーバ20は、ネットワーク回線30に対して1台だけ接続されているものであってよく、また、多数接続されているものであってもよい。   Furthermore, although only one car navigation system 1 and one server 20 are shown in FIG. 1, the car navigation system 1 and the server 20 are not necessarily limited to one each. In general, many car navigation systems 1 exist via the network line 30, and each user can access the server 20 by using each car navigation system 1. Further, only one server 20 may be connected to the network line 30 or a large number of servers 20 may be connected.

[カーナビゲーションシステム1について]
図2は、カーナビゲーションシステム1の概略構成を示したブロック図である。カーナビゲーションシステム1は、ディスプレイ部5とタッチパネル部6と本体部10とを有している。ディスプレイ部5には、経路案内時にユーザに対して走行中の周囲の地図情報などを表示する役割を有している。一般的に、ディスプレイ部5には、液晶ディスプレイが用いられる。また、必要に応じてディスプレイ部5には、経路案内時に音声情報を出力させるためのスピーカ(図示省略)などが設けられている。なお、このスピーカは、ディスプレイ部5に直接設けられるものには限定されず、車両に設置される音楽用スピーカを利用するものであってもよい。
[About car navigation system 1]
FIG. 2 is a block diagram showing a schematic configuration of the car navigation system 1. The car navigation system 1 includes a display unit 5, a touch panel unit 6, and a main body unit 10. The display unit 5 has a role of displaying surrounding map information and the like while traveling to the user during route guidance. Generally, a liquid crystal display is used for the display unit 5. In addition, the display unit 5 is provided with a speaker (not shown) or the like for outputting voice information during route guidance as required. In addition, this speaker is not limited to what is provided in the display part 5 directly, You may utilize the speaker for music installed in a vehicle.

タッチパネル部6は、ディスプレイ部5に表示されるメニューアイコンなどのタッチ操作を検出する役割を有している。ユーザのタッチ位置の情報が後述するCPU15に伝達され、タッチ位置の情報と、ディスプレイ部5に表示されるメニューアイコンの表示位置との関係に基づいて、CPU15がユーザの操作内容を判断することが可能となっている。なお、本実施の形態においては、タッチパネル部6によりユーザの入力操作の検出を行う構成を説明するが、タッチパネル部6以外の操作手段として、例えば、キーボード、ジョイスティックおよび操作リモコンなどを用いることにより、ユーザの入力操作検出を行う構成であってもよい。   The touch panel unit 6 has a role of detecting a touch operation such as a menu icon displayed on the display unit 5. Information on the touch position of the user is transmitted to the CPU 15 to be described later, and the CPU 15 may determine the content of the user's operation based on the relationship between the touch position information and the display position of the menu icon displayed on the display unit 5. It is possible. In the present embodiment, a configuration for detecting a user's input operation using the touch panel unit 6 will be described. However, by using, for example, a keyboard, a joystick, an operation remote controller, or the like as an operation unit other than the touch panel unit 6, It may be configured to detect user input operations.

本体部10は、通信部(クライアント通信手段)11と、データ記録部(FLASHメモリ、SDカード)12と、SDRAM13と、SDカード読み書き部14、CPU(新バージョンデータ生成手段、メモリデータ消去手段、データ書き込み手段)15とを有している。通信部11は、ネットワーク回線30との接続を行う役割を有している。通信部11として、具体的には携帯電話回線(例えば、CDMA(2G)方式、W−CDMA(3G)方式、HSDPS方式など)を用いるネットワークインターフェース機器などが該当する。通信部11はCPU15の指示(制御命令)に応じて、次述するカーナビゲーションシステム1の情報をサーバ20に出力し、また、サーバ20が出力したデータの取得処理を行う。   The main unit 10 includes a communication unit (client communication unit) 11, a data recording unit (FLASH memory, SD card) 12, an SDRAM 13, an SD card read / write unit 14, a CPU (new version data generation unit, memory data erasing unit, Data writing means) 15. The communication unit 11 has a role of connecting to the network line 30. The communication unit 11 specifically corresponds to a network interface device using a cellular phone line (for example, CDMA (2G) system, W-CDMA (3G) system, HSDPS system, etc.). In response to an instruction (control command) from the CPU 15, the communication unit 11 outputs information on the car navigation system 1 described below to the server 20 and performs processing for acquiring data output from the server 20.

データ記録部12には、カーナビゲーションシステム1におけるシステム情報および地図情報が記録されている。データ記録部12には、ハードディスク、SSD(Solid State Drive)、FLASHメモリ、SDカードなどの一般的な補助記録装置を用いることが可能となっている。本実施の形態に係るカーナビゲーションシステム1では、データ記録部12として、FLASHメモリが用いられる場合について説明する。   In the data recording unit 12, system information and map information in the car navigation system 1 are recorded. As the data recording unit 12, a general auxiliary recording device such as a hard disk, an SSD (Solid State Drive), a FLASH memory, an SD card, or the like can be used. In the car navigation system 1 according to the present embodiment, a case where a FLASH memory is used as the data recording unit 12 will be described.

データ記録部12には、一般的な補助記録装置と同じように、記録されたデータの記録位置を示すためのアドレスが割り当てられており、このアドレスを参照することによってデータの内容を判断することが可能となっている。特に、本実施の形態に係るデータ記録部12では、予め規定された容量のアドレス範囲毎に、予め記録対象となるファイルデータの種類(データ構造)が決められている。   The data recording unit 12 is assigned an address for indicating the recording position of the recorded data, as in a general auxiliary recording device, and judges the contents of the data by referring to this address. Is possible. In particular, in the data recording unit 12 according to the present embodiment, the type (data structure) of file data to be recorded is determined in advance for each address range having a predetermined capacity.

例えば、図3(a)に示すように、予めファイルデータA1(データA1)の記録には、アドレス1000〜2000のアドレス範囲が確保(規定)されており、ファイルデータB(データB)の記録には、アドレス0000〜1000のアドレス範囲が確保(規定)されており、ファイルデータC(データC)の記録には、アドレス2000〜3000のアドレス範囲が確保(規定)されている。このため、図3(a)のファイルデータA1(データA1)の場合のように、確保されたデータ容量(アドレス1000〜2000の範囲に該当するデータ容量)よりも、記録されるファイルデータA1のデータ量の方が小さい場合には、ファイルデータA1の最後のアドレスから確保されたアドレス範囲の最後のアドレスまで(ファイルデータA1においては、アドレス2000まで)のデータ領域に空データ(例えば、Nullデータ)が記録されるデータ構造となっている。   For example, as shown in FIG. 3A, the file data A1 (data A1) is recorded in advance in the address range of addresses 1000 to 2000, and the file data B (data B) is recorded. The address range of addresses 0000 to 1000 is secured (defined), and the address range of addresses 2000 to 3000 is secured (defined) for recording of file data C (data C). Therefore, as in the case of the file data A1 (data A1) in FIG. 3A, the recorded file data A1 is recorded more than the reserved data capacity (data capacity corresponding to the range of addresses 1000 to 2000). When the data amount is smaller, empty data (for example, null data, for example) is stored in the data area from the last address of the file data A1 to the last address in the secured address range (up to address 2000 in the file data A1). ) Is recorded.

このため、図3(b)に示すように、ファイルデータA1が更新されてファイルデータA2(データA2)となり、ファイルデータA2のデータ量が増えた場合であっても、予め空データ領域を考慮してファイルデータA2のアドレス範囲が確保されているため、開始アドレス1000から終了アドレス2000までの範囲(アドレス範囲)を変更することなく、ファイルデータA1よりもデータ量が増大したファイルデータA2にデータを更新することが可能となる。従って、更新されたファイルデータA2以外のファイルデータB、ファイルデータCは、開始アドレスおよび終了アドレスを変更する必要がなく、データ記録部12に記録されていたファイルデータが他のファイルデータの更新に伴って、後のアドレスへとアドレス範囲がずれ込んで変わってしまうことを防止することができる。   For this reason, as shown in FIG. 3B, even when the file data A1 is updated to become file data A2 (data A2) and the data amount of the file data A2 increases, the empty data area is taken into consideration in advance. Since the address range of the file data A2 is secured, the file data A2 whose data amount is larger than the file data A1 is changed without changing the range (address range) from the start address 1000 to the end address 2000. Can be updated. Therefore, the file data B and file data C other than the updated file data A2 do not need to change the start address and the end address, and the file data recorded in the data recording unit 12 is used to update other file data. Along with this, it is possible to prevent the address range from being shifted and changed to a later address.

また、データ記録部12に記録されるデータは、4Kバイトを1ブロックとし、CPU15によってブロック毎にデータが管理されている。次述する更新差分データによるデータ更新処理において、CPU15は、後述するように、8Kバイト単位、あるいは64Kバイト単位でデータの更新処理(書き込み処理)を行う。その詳細については後述する。   The data recorded in the data recording unit 12 is 4 Kbytes as one block, and the CPU 15 manages the data for each block. In the data update process using update difference data described below, the CPU 15 performs a data update process (write process) in units of 8 Kbytes or 64 Kbytes, as will be described later. Details thereof will be described later.

なお、本実施の形態に係るデータ記録部12は、上述したようにFLASHメモリが用いられている。FLASHメモリは、データを上書き保存することができないため、一度データの消去を行った後に更新されたデータの書き込みを行う必要がある。さらに、FLASHメモリでは、1バイト単位でデータを消去することができないため、ブロック単位でデータを消去した後に、更新されたデータの書き込みを行う必要がある。   The data recording unit 12 according to the present embodiment uses the FLASH memory as described above. Since the FLASH memory cannot overwrite and store data, it is necessary to write updated data after erasing data once. Furthermore, since data cannot be erased in units of 1 byte in the FLASH memory, it is necessary to write updated data after erasing data in units of blocks.

本実施の形態に用いられるFLASHメモリでは、データの消去を8Kバイト毎、あるいは64Kバイト毎に行うことが可能となっている。但し、本実施の形態に係るデータ記録部12では、FLASHメモリにおける8Kバイト分のデータ消去に必要とされる時間と、64Kバイト分のデータ消去に必要とされる時間とを予め記録している。但し、それぞれのデータ消去時間は、ほぼ同じ時間であり、1回の消去処理により消去されるデータ量が8Kバイトであっても、64Kバイトであっても、消去時間は変わらないという特性を有している。   In the FLASH memory used in this embodiment, data can be erased every 8 Kbytes or every 64 Kbytes. However, in the data recording unit 12 according to the present embodiment, the time required for erasing data of 8 Kbytes in the FLASH memory and the time required for erasing data of 64 Kbytes are recorded in advance. . However, each data erasure time is almost the same time, and the erasure time does not change even if the amount of data erased by one erasure process is 8 Kbytes or 64 Kbytes. is doing.

また、本実施の形態に用いられるFLASHメモリでは、データの書き込みを1ワード(2バイト)単位で書き込むWord-Program方式と、16ワード(32バイト)単位で書き込むWrite Buffer Program方式との2つの書き込みモードを備えている。従来より用いられている差分データの更新処理では、Word-Program方式を利用することが多いが、本実施の形態に係るカーナビゲーションシステム1では、Write Buffer Program方式を採用する。Write Buffer Program方式を採用することによって、Word-Program方式を利用する場合よりも一度に書き込みを行うことができるデータ量が多くなるため、書き込み回数を減らすことができ、書き込み時間をWord-Program方式を採用する場合に比べて4分の1にすることが可能となる。   In the FLASH memory used in the present embodiment, two writings are performed: a Word-Program method for writing data in units of 1 word (2 bytes) and a Write Buffer Program method for writing in units of 16 words (32 bytes). Has a mode. In the conventional difference data update processing, the Word-Program method is often used, but the car navigation system 1 according to the present embodiment employs the Write Buffer Program method. By adopting the Write Buffer Program method, the amount of data that can be written at one time is larger than when using the Word-Program method, so the number of writes can be reduced and the write time is reduced to the Word-Program method. It becomes possible to reduce to 1/4 compared with the case of adopting.

データ記録部12には、システム情報、地図情報などのほかに、カーナビゲーションシステム1のID情報(カーナビゲーションシステム1をそれぞれの機器毎に特定するため情報であって、カーナビゲーションシステム1の製造番号情報や識別番号情報などが該当する)およびデータ記録部12に記録される地図情報やシステム情報のバージョン情報(このバージョン情報によって、データ記録部12に記録される地図情報やシステム情報の更新回数、具体的なデータ内容などを、サーバ20で特定することが可能となる。)が記録されている。   In addition to system information and map information, the data recording unit 12 includes ID information of the car navigation system 1 (information for identifying the car navigation system 1 for each device, and the serial number of the car navigation system 1 Information, identification number information, etc.) and version information of map information and system information recorded in the data recording unit 12 (the number of updates of map information and system information recorded in the data recording unit 12 by this version information, The specific data contents and the like can be specified by the server 20.) is recorded.

また、データ記録部12に記録されるシステム情報には、CPU15がカーナビゲーションシステム1における様々な機能を実現するためのプログラムなどが含まれる。プログラムとして、例えば、CPU15が、経路案内を行うためのプログラムや、データ記録部12に記録される情報を更新するためのデータ更新処理用のプログラム(例えば、図6においてフローチャートで示されたプログラム)などが該当する。CPU15は、データ記録部12に記録されるプログラムに基づいて、カーナビゲーションシステム1における様々な処理を実行する。   The system information recorded in the data recording unit 12 includes programs for the CPU 15 to realize various functions in the car navigation system 1. As the program, for example, a program for the CPU 15 to perform route guidance, or a data update processing program for updating information recorded in the data recording unit 12 (for example, the program shown in the flowchart in FIG. 6). And so on. The CPU 15 executes various processes in the car navigation system 1 based on a program recorded in the data recording unit 12.

SDRAM13は、更新差分データの更新処理を行う際に利用されるワークエリアである。SDRAM13のデータ容量は、データ記録部12よりも小容量となっている。本実施の形態に係るデータ記録部12では、FLASHメモリが用いられているため、更新対象となるFLASHメモリのデータ領域のデータを一時的にSDRAMに記録し、記録されたSDRAMのデータを更新差分データに基づいて新たなデータ(更新データ)に変更する。その後、CPU15が、FLASHメモリの該当データ領域を所定のブロック単位で消去した後に、SDRAMに記録される新たなデータをFLASHメモリに書き込むことによって、データ記録部12のデータ更新が行われることになる。   The SDRAM 13 is a work area used when updating update difference data. The data capacity of the SDRAM 13 is smaller than that of the data recording unit 12. Since the data recording unit 12 according to the present embodiment uses the FLASH memory, the data in the data area of the FLASH memory to be updated is temporarily recorded in the SDRAM, and the recorded SDRAM data is updated and updated. Change to new data (update data) based on the data. Thereafter, after the CPU 15 erases the corresponding data area of the FLASH memory in a predetermined block unit, the data update of the data recording unit 12 is performed by writing new data recorded in the SDRAM to the FLASH memory. .

SDカード読み書き部14は、SDカードに記録されるデータの読み取りおよび書き込みを行う役割を有している。具体的に、SDカード読み書き部14は、データ記録部12のシステム情報または地図情報をファイルデータ毎に、あるいはデータ記録部12の全データを更新する場合に、更新データの記録されたSDカードから必要とされる更新データを読み出す処理を行う。SDカード読み書き部14では、CPU15の指示(制御命令)に基づいて、SDカードにアクセスして必要な更新データを読み出し、CPU15では、SDカード読み書き部14によって読み出された更新データに基づいて、データ記録部12のデータを更新する処理を行う。なお、SDカード読み書き部14は、SDカードの情報を読み出すだけでなく、必要に応じて情報を書き込むことも可能となっている。さらに、SDカード読み書き部14の利用は、SDカードからシステム情報または地図情報を読み出してデータ記録部12を更新する場合だけには限定されない。例えば、SDカードに記録される音楽データを読み取って、車載スピーカから出力させたり、あるいは、SDカードに記録される映像や画像を読み出してディスプレイ部5に表示させることにも利用可能である。   The SD card read / write unit 14 has a role of reading and writing data recorded on the SD card. Specifically, the SD card read / write unit 14 updates the system information or map information of the data recording unit 12 for each file data, or updates all data of the data recording unit 12 from the SD card in which the update data is recorded. A process of reading out the necessary update data is performed. The SD card read / write unit 14 accesses the SD card based on an instruction (control command) from the CPU 15 and reads the necessary update data. The CPU 15 reads the update data read by the SD card read / write unit 14. A process of updating data in the data recording unit 12 is performed. The SD card read / write unit 14 can not only read information of the SD card but also write information as necessary. Furthermore, the use of the SD card read / write unit 14 is not limited to the case where the system information or the map information is read from the SD card and the data recording unit 12 is updated. For example, it is also possible to read music data recorded on an SD card and output it from a vehicle-mounted speaker, or to read out a video or image recorded on the SD card and display it on the display unit 5.

CPU15は、データ記録部12に記録されるプログラムに従って、経路案内処理を行ったり、データ記録部12のデータを更新する処理を行ったりする役割を有している。CPU15が経路案内処理を行う場合には、図示を省略したGPSアンテナを介して車両の現在位置を取得し、さらに図示を省略したジャイロや車速パルス検出器を介して、車両の走行状態(進行方向、移動速度など)を取得する。そしてCPU15は、車両2の現在位置および走行状態に基づいて地図情報をディスプレイ部5に表示させて、必要に応じて音声情報により走行経路や交差点名などの案内を行う。CPU15が、データ記録部12のデータを更新する処理については後述する。   The CPU 15 has a role of performing a route guidance process or a process of updating data in the data recording unit 12 according to a program recorded in the data recording unit 12. When the CPU 15 performs the route guidance process, the current position of the vehicle is acquired via a GPS antenna (not shown), and the vehicle traveling state (traveling direction) is further detected via a gyro (not shown) or a vehicle speed pulse detector. , Move speed, etc.). And CPU15 displays map information on the display part 5 based on the present position and driving | running | working state of the vehicle 2, and guides a driving | running route, an intersection name, etc. with audio | voice information as needed. The process in which the CPU 15 updates the data in the data recording unit 12 will be described later.

なお、CPU15の処理内容を示したプログラムは、必ずしもデータ記録部12に記録されるものには限定されない。例えば、データ記録部12とは別にプログラムを記録したROMなどを用意し、このROMに記録されるプログラムをカーナビゲーションシステム1の起動時にCPU15が読み込んで実行することにより、システムの起動処理を行うことが可能である。さらに、CPU15には、図示を省略したRAMなどを備えており、RAMをプログラム処理におけるワークエリアとして利用する。   Note that the program showing the processing content of the CPU 15 is not necessarily limited to the one recorded in the data recording unit 12. For example, a ROM or the like in which a program is recorded is prepared separately from the data recording unit 12 and the system 15 is started by the CPU 15 reading and executing the program recorded in the ROM when the car navigation system 1 is started. Is possible. Further, the CPU 15 includes a RAM (not shown) and the like, and the RAM is used as a work area for program processing.

[サーバ20について]
続いて、サーバ20について説明する。図4は、サーバ20の概略構成を示したブロック図である。サーバ20は、通信部(サーバ通信手段)21と、更新情報記録部(更新情報記録手段)22と、サーバ用CPU(更新差分データ作成手段)23と、ROM24と、RAM25とを備えている。
[About the server 20]
Next, the server 20 will be described. FIG. 4 is a block diagram showing a schematic configuration of the server 20. The server 20 includes a communication unit (server communication unit) 21, an update information recording unit (update information recording unit) 22, a server CPU (update difference data creation unit) 23, a ROM 24, and a RAM 25.

通信部21は、ネットワーク回線30との接続を行う役割を有している。具体的には、有線通信あるいは無線通信を用いてネットワーク回線30に接続し、サーバ用CPU23の指示(制御命令)に応じて、カーナビゲーションシステム1のID情報およびバージョン情報を取得し、また、更新差分データをカーナビゲーションシステム1へ出力する。通信部21として、例えば、一般的なNIC(ネットワーク・インターフェース・カード)などが該当する。   The communication unit 21 has a role of connecting to the network line 30. Specifically, it connects to the network line 30 using wired communication or wireless communication, and acquires and updates the ID information and version information of the car navigation system 1 in accordance with an instruction (control command) of the server CPU 23. The difference data is output to the car navigation system 1. The communication unit 21 corresponds to, for example, a general NIC (network interface card).

更新情報記録部22は、ハードディスク、SSDなどの一般的な補助記録装置により構成されている。更新情報記録部22には、カーナビゲーションシステム1のハード構成と、様々なバージョンの更新データ(部分的な更新データではなく全体の更新データ)とが記録されている。例えば、カーナビゲーションシステム1は、ハード構成に応じて実現可能な機能などが異なっており、またハード構成に基づく機能に応じて、データ記録部12のデータ構造が異なっている。このため、サーバ用CPU23は、通信部21を介して取得したカーナビゲーションシステム1のID情報に基づいて、データ記録部12のデータ構造を判断する。上述したように、データ記録部12には、予め規定された容量のアドレス範囲毎に、記録されるファイルデータのデータ構造が決められている。このため、サーバ用CPU23は、ID情報によりハード構成を特定することによって、データ記録部12に記録されるファイルデータの種類(内容、役割)およびその開始アドレスから終了アドレスまでの範囲(アドレス範囲)を把握することが可能となる。   The update information recording unit 22 is configured by a general auxiliary recording device such as a hard disk or an SSD. In the update information recording unit 22, the hardware configuration of the car navigation system 1 and various versions of update data (total update data, not partial update data) are recorded. For example, the car navigation system 1 has different functions that can be realized depending on the hardware configuration, and the data structure of the data recording unit 12 differs depending on the function based on the hardware configuration. Therefore, the server CPU 23 determines the data structure of the data recording unit 12 based on the ID information of the car navigation system 1 acquired via the communication unit 21. As described above, in the data recording unit 12, the data structure of file data to be recorded is determined for each address range having a predetermined capacity. For this reason, the server CPU 23 specifies the hardware configuration based on the ID information, so that the type (contents and role) of the file data recorded in the data recording unit 12 and the range from the start address to the end address (address range). Can be grasped.

また、更新情報記録部22には、データ記録部12に記録され得る様々なバージョンのデータが記録されている。サーバ用CPU23は、カーナビゲーションシステム1からバージョン情報を取得することによって、ID情報により特定されるハード構成における該当するバージョン情報のデータ内容と、最新の更新データのデータ内容とを判断することが可能になっている。このため、サーバ用CPU23では、取得された異なるバージョンのデータ内容に基づいて、データ記録部12のデータ更新を行うための更新差分データの作成を行うことが可能になっている。   The update information recording unit 22 records various versions of data that can be recorded in the data recording unit 12. The server CPU 23 can determine the data content of the corresponding version information in the hardware configuration specified by the ID information and the data content of the latest update data by acquiring the version information from the car navigation system 1. It has become. Therefore, the server CPU 23 can create update difference data for updating data in the data recording unit 12 based on the acquired data contents of different versions.

ROM24は、サーバ用CPU23において差分データの作成処理を行うためのプログラム(例えば、図7においてフローチャートで示されたプログラム)が記録されている。サーバ用CPU23は、ROM24に記録されるプログラムに基づいて、後述する更新差分データの作成を行う。また、RAM25は、サーバ用CPU23における更新差分データの作成処理においてワークエリアとして利用される。   The ROM 24 is recorded with a program (for example, a program shown in a flowchart in FIG. 7) for causing the server CPU 23 to create a difference data. The server CPU 23 creates update difference data, which will be described later, based on a program recorded in the ROM 24. The RAM 25 is used as a work area in the update difference data creation process in the server CPU 23.

[データ更新処理について]
次に、カーナビゲーションシステム1およびサーバ20におけるデータ更新処理について説明する。なお、データ更新処理の説明を行うに当たって、カーナビゲーションシステム1のSDカード読み書き部14には、データを読み出し可能な状態で予めSDカードがセットされており、このSDカードには、最新バージョンのデータが記録されているものとする。
[About data update processing]
Next, data update processing in the car navigation system 1 and the server 20 will be described. In describing the data update process, an SD card is set in advance in the SD card read / write unit 14 of the car navigation system 1 in a state where data can be read, and the latest version of the data is stored in the SD card. Is recorded.

図5は、カーナビゲーションシステム1とサーバ20との間の情報の送受信を示したタイミングチャートである。また、図6は、カーナビゲーションシステム1におけるデータ更新処理を示したフローチャートを示し、図7は、サーバ20におけるデータ更新処理を示したフローチャートを示している。   FIG. 5 is a timing chart showing transmission / reception of information between the car navigation system 1 and the server 20. FIG. 6 shows a flowchart showing the data update process in the car navigation system 1, and FIG. 7 shows a flowchart showing the data update process in the server 20.

まず、カーナビゲーションシステム1のCPU15は、サーバ20のサーバ用CPU23に対して、ID情報とバージョン情報とを出力する(ステップS.1)。CPU15は、ID情報とバージョン情報とをサーバ用CPU23に出力することにより、サーバ20に対して新しい更新データが存在するかどうか(データ記録部12に記録されるシステム情報および地図情報が最新バージョンの情報であるか否か)の確認を行う。その後、CPU15は、送信した情報に対応する返信情報をサーバ用CPU23から受信したか否かの判断を行い(ステップS.2)、返信情報を受信していない場合(ステップS.2においてNoの場合)には、返信情報を取得するまで、同じ処理を繰り返し実行する。   First, the CPU 15 of the car navigation system 1 outputs ID information and version information to the server CPU 23 of the server 20 (step S.1). The CPU 15 outputs the ID information and the version information to the server CPU 23 to determine whether new update data exists for the server 20 (the system information and the map information recorded in the data recording unit 12 are the latest version). Whether it is information or not). Thereafter, the CPU 15 determines whether or not the reply information corresponding to the transmitted information has been received from the server CPU 23 (step S.2). If no reply information has been received (No in step S.2). In the case), the same processing is repeatedly executed until the reply information is obtained.

なお、返信情報とは、サーバ用CPU23が、ID情報およびバージョン情報に基づいてデータの更新処理を行うか否かの判断を行った結果の情報であって、後述するように、更新を必要とする情報が存在しない旨の情報か、ファイルデータ単位で更新が必要とされる旨の情報か、8Kバイト単位または64Kバイト単位の更新差分データかのいずれかが該当する。   The reply information is information obtained as a result of the determination by the server CPU 23 whether or not to update the data based on the ID information and the version information, and needs to be updated as will be described later. Information indicating that there is no information to be updated, information indicating that updating is required in units of file data, or update difference data in units of 8 Kbytes or 64 Kbytes.

一方で、サーバ用CPU23では、ネットワーク回線30を介して、いずれのカーナビゲーションシステム1のCPU15から、ID情報とバージョン情報とを受信したか否かの判断を行い(ステップS.31)、ID情報とバージョン情報とを受信するまで、同じ処理を繰り返す(ステップS.31においてNoの場合にステップS.31の受信判断処理を繰り返し実行する)。   On the other hand, the server CPU 23 determines whether the ID information and the version information are received from the CPU 15 of any car navigation system 1 via the network line 30 (step S.31). The same process is repeated until the version information is received (if the result is No in step S.31, the reception determination process in step S.31 is repeated).

そして、サーバ用CPU23が、ID情報とバージョン情報とを受信した場合(ステップS.31においてYesの場合)、ID情報に基づいて、情報の送信元であるカーナビゲーションシステム1を特定し、データ記録部12のデータ構造を判断する(ステップS.32)。次いで、サーバ用CPU23は、判断されたデータ記録部12のデータ構造に対応するシステム情報および地図情報であって、最新のバージョンの情報と受信したバージョン情報に基づく情報とを更新情報記録部22から読み出して、データの相違点を抽出する(ステップS.33)。   When the server CPU 23 receives the ID information and the version information (Yes in step S.31), the car navigation system 1 that is the transmission source of the information is specified based on the ID information, and data recording is performed. The data structure of the unit 12 is determined (step S.32). Next, the server CPU 23 sends the latest version information and the information based on the received version information from the update information recording unit 22, which are system information and map information corresponding to the determined data structure of the data recording unit 12. Read out and extract the data difference (step S.33).

そして、サーバ用CPU23は、双方の情報においてデータの相違点が存在するか否かを判断し(ステップS.34)、相違点が存在しない場合(ステップS.34においてNoの場合)には、カーナビゲーションシステム1に対して、最新バージョンの情報がデータ記録部12に記録されているため、更新を必要とする情報が存在しない旨の情報を、カーナビゲーションシステム1のCPU15に対して出力し(ステップS.35)、データ更新処理を終了する。   Then, the server CPU 23 determines whether or not there is a data difference between the two pieces of information (step S.34), and if there is no difference (No in step S.34), Since the latest version of information is recorded in the data recording unit 12 for the car navigation system 1, information indicating that there is no information that needs to be updated is output to the CPU 15 of the car navigation system 1 ( Step S.35), the data update process is terminated.

一方で、データの相違点が存在する場合(ステップS.34においてYes場合)、サーバ用CPU23は、まず、ファイルデータ単位で更新を行う必要が生ずるほどの相違が存在するか否かを判断し(ステップS.36)、ファイルデータ単位で更新を必要とする場合(ステップS.36においてYesの場合)には、該当するアドレスと、そのデータ量とを抽出して、一時的に更新情報記録部22に記録する(ステップS.37)。   On the other hand, if there is a difference in data (Yes in step S.34), the server CPU 23 first determines whether or not there is a difference that needs to be updated in units of file data. (Step S.36) If the update is required in units of file data (Yes in Step S.36), the corresponding address and its data amount are extracted and the update information is recorded temporarily. It records in the part 22 (step S.37).

ここで、ファイルデータ単位で更新を必要とする場合とは、例えば、ファイルデータのデータ量が増減した場合などが該当する。上述したように、カーナビゲーションシステム1のデータ記録部12では、予め規定された容量のアドレス範囲毎に、予め記録されるファイルデータのデータ構造が決められている。このため、図3で説明したように、古いバージョンのファイルデータ(例えば、図3(a)に示すデータA1)に比べて、新しいバージョンのファイルデータ(例えば、図3(b)に示すデータA2)の方が、データ量が増えた場合(あるいは減った場合)には、該当するアドレスを基準として、古いファイルデータを新しいファイルデータに更新する処理を行う必要が生ずる。このような場合、サーバ用CPU23は、データの相違点に基づいて、ファイルデータ単位で更新を行う必要があると判断し、該当するアドレスとデータ量とを更新情報記録部22に記録する。   Here, the case where the update is required in units of file data corresponds to, for example, a case where the amount of file data increases or decreases. As described above, in the data recording unit 12 of the car navigation system 1, the data structure of file data recorded in advance is determined for each address range having a predetermined capacity. Therefore, as described with reference to FIG. 3, the new version of the file data (for example, the data A2 illustrated in FIG. 3B) is compared with the old version of the file data (for example, the data A1 illustrated in FIG. 3A). When the amount of data increases (or decreases), it is necessary to perform processing for updating old file data to new file data based on the corresponding address. In such a case, the server CPU 23 determines that it is necessary to update in units of file data based on the difference in data, and records the corresponding address and data amount in the update information recording unit 22.

ファイルデータ単位で更新を必要としない場合(ステップS.36においてNoの場合)、または、ファイルデータ単位で更新を行うためのアドレスと、そのデータ量とを抽出した後(ステップS.37)に、サーバ用CPU23は、データの相違点が存在する位置(アドレス)とその相違するデータの連続性などを考慮して、更新差分データを作成する必要があるか否かの判断を行う(ステップS.38)。例えば、ファイルデータの全体のデータ量が増減した場合には、ファイルデータ全体が更新対象となるため、更新差分データを作成する必要がないと判断される。一方で、ファイルデータの全体のデータ量は増減しないが、ファイルデータ内の一部のデータだけを更新する必要がある場合には、この一部の更新対象のデータに基づいて更新差分データを作成する必要があると判断する。   When updating is not required in units of file data (No in step S.36), or after extracting an address for updating in units of file data and the amount of data (step S.37) The server CPU 23 determines whether or not it is necessary to create update difference data in consideration of the position (address) where the data is different and the continuity of the different data (step S). .38). For example, when the total data amount of the file data is increased or decreased, it is determined that there is no need to create update difference data because the entire file data is subject to update. On the other hand, if the total amount of file data does not increase or decrease, but only part of the data in the file data needs to be updated, update difference data is created based on this part of the data to be updated Judge that it is necessary.

そして、更新差分データを作成する必要があると判断した場合(ステップS.38においてYesの場合)、サーバ用CPU23は、相違するデータを8Kバイト単位で抽出して更新差分データを作成するか否か(具体的には、8Kバイトを基準とする更新差分データを作成するか、64Kバイトを基準とする更新差分データを作成するか否か)の判断処理を行う(ステップS.39)。ここで抽出された相違するデータを相違データという。   When it is determined that update difference data needs to be created (Yes in step S.38), the server CPU 23 extracts different data in units of 8 Kbytes to create update difference data. (Specifically, whether update difference data based on 8 Kbytes is created or update difference data based on 64 Kbytes is created) is determined (step S.39). The different data extracted here is referred to as difference data.

ここで、カーナビゲーションシステム1のデータ記録部12は、FLASHメモリにより構成されている。このため、FLASHメモリに記録されるデータを更新する場合には、まず、消去対象となるアドレスのデータを消去する必要がある。このデータの消去は、8Kバイト毎、あるいは64Kバイト毎に行うことができるので、8Kバイト単位で相違データを抽出して更新差分データを作成する場合には、8Kバイトのデータを消去した後に、新しい更新データを8Kバイトだけ書き込みする処理を行い、64Kバイト単位で相違データを抽出して更新差分データを作成する場合には、64Kバイトのデータを消去した後に、新しい更新データを64Kバイトだけ書き込みする処理を行う。   Here, the data recording unit 12 of the car navigation system 1 is configured by a FLASH memory. For this reason, when updating the data recorded in the FLASH memory, first, it is necessary to erase the data at the address to be erased. Since this data can be erased every 8 Kbytes or every 64 Kbytes, when different data is extracted in units of 8 Kbytes to create update differential data, after erasing 8 Kbytes of data, When new update data is written only 8K bytes, and difference data is extracted in units of 64K bytes to create update difference data, 64K bytes of data are erased and then new update data is written only 64K bytes. Perform the process.

サーバ用CPU23が、更新差分データにおける相違データの抽出基準を、8Kバイト単位とするのか64Kバイト単位とするのかによって、データ記録部12のデータ更新に必要とされる時間が異なってくる。具体的には、データ記録部12において、相違データの抽出を行うデータ容量(このデータ容量をブロックサイズとする)を小さくすると、相違データに基づくデータの書き換え量を削減することができるため、データの書き込み時間を短縮することができる。つまり、8Kバイトをブロックサイズとして更新処理を行う方が、64Kバイトをブロックサイズとして更新処理を行うよりもデータの書き換え量を削減でき、データの書き込み時間を短縮することができる。   The time required for updating the data in the data recording unit 12 differs depending on whether the server CPU 23 uses 8 Kbytes or 64 Kbytes as the basis for extracting the difference data in the update difference data. Specifically, in the data recording unit 12, if the data capacity for extracting the different data (the data capacity is set as the block size) can be reduced, the amount of data rewriting based on the different data can be reduced. Can be shortened. In other words, when the update process is performed with 8 Kbytes as the block size, the amount of data rewriting can be reduced and the data write time can be shortened compared with the update process with 64 Kbytes as the block size.

しかしながら、上述したようにFLASHメモリにおいてデータの更新を行う場合に、FLASHメモリの消去処理を行った後にデータの書き込み処理を行う必要があり、この消去処理に必要とされる時間は、8Kバイトをブロックサイズとして消去する場合であっても、64Kバイトをブロックサイズとして消去する場合であっても、同じ時間が必要とされる。このため、ブロックサイズを小さくすると、FLAHメモリにおける書き換えブロック数が増え、この書き換えブロック数の増加に伴ってデータの消去回数が増えるため、結果としてブロックサイズが大きい場合に比べて長い消去時間が必要になってしまうという問題があった。   However, as described above, when data is updated in the FLASH memory, it is necessary to perform a data write process after performing the erase process of the FLASH memory, and the time required for this erase process is 8 Kbytes. The same time is required regardless of whether the block size is erased or if 64 Kbytes are erased as the block size. For this reason, if the block size is reduced, the number of rewrite blocks in the FLAH memory increases, and the number of data erase increases as the number of rewrite blocks increases. As a result, a longer erase time is required than when the block size is large. There was a problem of becoming.

サーバ用CPU23は、8Kバイトを基準としたブロックサイズ毎に相違点の存在を判断する場合のブロック数(以下、データの内容が相違するために更新する必要のあるブロックを差分ブロックといい、そのブロックの数を差分ブロック数とする)と、64Kバイトを基準としたブロックサイズ毎に相違点の存在を判断する場合のブロック数とを求めて、次の式1が成り立つか否かの判断を行う。   The server CPU 23 refers to the number of blocks when determining the presence of a difference for each block size based on 8 Kbytes (hereinafter, a block that needs to be updated because the data contents are different is called a difference block. (The number of blocks is the number of difference blocks) and the number of blocks when judging the existence of a difference for each block size based on 64 Kbytes, and determining whether or not the following equation 1 holds: Do.

BN_8KB×(T_se+(T_bp×8×1024/WS))
<BN_64KB×(T_be+(T_bp×64×1024/WS)) ・・・式1
ここで、
BN_8KBは、ブロックサイズを8Kバイトにした場合の更新差分データの差分ブロック数
BN_64KBは、ブロックサイズを64Kバイトにした場合の更新差分データの差分ブロック数
T_seは、FLASHメモリの8Kバイト分のデータを消去するために必要とされる時間
T_beは、FLASHメモリの64Kバイト分のデータを消去するために必要とされる時間
T_bpは、FLASHメモリにおける1ワード分のデータの書き込み時間(より詳細には、FLASHメモリのバッファプログラミングモードのワードプログラミング時間)
WSは、FLASHメモリの1ワード当たりのバイト数(データ記録部12の場合には2バイト)
を示している。
BN_8KB × (T_se + (T_bp × 8 × 1024 / WS))
< BN_64KB × (T_be + (T_bp × 64 × 1024 / WS)) ・ ・ ・ Equation 1
here,
BN_8KB is the number of difference blocks of update difference data when the block size is 8K bytes
BN_64KB is the number of differential blocks of update differential data when the block size is 64K bytes
T_se is the time required to erase 8K bytes of data in FLASH memory
T_be is the time required to erase 64 Kbytes of data in the FLASH memory
T_bp is the write time of data for one word in the FLASH memory (more specifically, the word programming time in the buffer programming mode of the FLASH memory)
WS is the number of bytes per word in FLASH memory (2 bytes for data recording unit 12)
Is shown.

T_se、T_be、T_bpは、全てFLASHメモリに依存するデータであるため、サーバ20の更新情報記録部22に、予めデータ記録部12のFLASHメモリに関するT_se、T_be、T_bpを記録させておくことができる。従って、サーバ用CPU23は、ID情報に基づいてカーナビゲーションシステム1のハード構成を判断する際に、該当するFLASHメモリ(データ記録部12の)のT_se、T_be、T_bpを、更新情報記録部22に記録されるデータに基づいて求めることができる。   Since T_se, T_be, and T_bp are all data that depends on the FLASH memory, T_se, T_be, and T_bp related to the FLASH memory of the data recording unit 12 can be recorded in advance in the update information recording unit 22 of the server 20. . Therefore, when determining the hardware configuration of the car navigation system 1 based on the ID information, the server CPU 23 stores the T_se, T_be, and T_bp of the corresponding FLASH memory (in the data recording unit 12) in the update information recording unit 22. It can be determined based on the recorded data.

さらに、WSは2バイトであり、BN_8KBとBN_64KBとは、相違データの抽出に伴って求めることができる。このため、サーバ用CPU23が式1のそれぞれに該当する値を代入しすることにより、式1が成り立つか否かの判断を行うことが可能となる。   Further, WS is 2 bytes, and BN_8KB and BN_64KB can be obtained with the extraction of the difference data. For this reason, it becomes possible for the server CPU 23 to determine whether or not Expression 1 is satisfied by substituting values corresponding to Expression 1 respectively.

なお、式1におけるT_seは、FLASHメモリにおける8Kバイト分のデータの消去処理時間、(T_bp×8×1024/WS)は、FLASHメモリにおける8Kバイト分のデータの書き込み処理時間、T_beは、FLASHメモリにおける64Kバイト分のデータの消去処理時間、(T_bp×64×1024/WS)は、FLASHメモリにおける64Kバイト分のデータの書き込み処理時間を示している。従って、式1は、ブロックサイズの相違に基づくデータの消去時間と書き込み時間との総和を比較したものに該当し、式1が成立する場合には、8Kバイトを基準としてデータ更新処理を行う方が、64Kバイトを基準としてデータ更新処理を行うよりも処理時間が短縮され、式1が成立しない場合には、64Kバイトを基準としてデータ更新処理を行う方が、8Kバイトを基準としてデータ更新処理を行うよりも処理時間が短縮されると判断することができる。   In Equation 1, T_se is the data erasure processing time for 8 Kbytes in the FLASH memory, (T_bp × 8 × 1024 / WS) is the data write processing time for 8 Kbytes in the FLASH memory, and T_be is the FLASH memory The data erasure processing time for 64 Kbytes in (T_bp × 64 × 1024 / WS) indicates the data write processing time for 64 Kbytes in the FLASH memory. Therefore, Equation 1 corresponds to a comparison of the sum of the data erasing time and the writing time based on the difference in block size, and when Equation 1 is satisfied, the method of performing data update processing based on 8 Kbytes. However, if the processing time is shortened compared to the case where the data update process is performed based on 64 Kbytes and Equation 1 is not satisfied, the data update process based on the 8 Kbytes is more effective when the data update process is performed based on 64 Kbytes. It can be determined that the processing time is shortened compared to

式1が成立する場合(ステップS.39においてYesの場合)、サーバ用CPU23は、8Kバイト単位で相違データを抽出して更新差分データを作成し(ステップS.40)、式1が成立しない場合(ステップS.39においてNoの場合)には、64Kバイト単位で相違データを抽出して更新差分データを作成して(ステップS.41)、更新情報記録部22に一時的に記録する。   When Expression 1 is satisfied (Yes in Step S.39), the server CPU 23 extracts difference data in units of 8 Kbytes and creates update difference data (Step S.40), and Expression 1 is not satisfied. In the case (No in step S.39), the difference data is extracted in units of 64K bytes to create update difference data (step S.41), and is temporarily recorded in the update information recording unit 22.

図8は、更新差分データを作成する手順を説明するための図面である。   FIG. 8 is a diagram for explaining a procedure for creating update difference data.

データ記録部12に記録される旧バージョンのデータをold/rom1.binで示し、最新バージョンのデータをnew/rom1.binとする。それぞれのデータは、上述したように8Kバイトあるいは64Kバイトをブロックサイズとした単位ブロック毎に分割されている。サーバ用CPU23は、このブロックサイズ毎にデータの相違点の有無を判断し、一部のデータであっても相違点が存在する場合には、該当する単位ブロック毎のアドレスを検出する。図8(a)には、アドレス0001で示される単位ブロックの一部において相違点(old/rom1.binにおける「02」とnew/rom1.binにおける「ff」)が存在し、また、アドレス0002で示される単位ブロックの一部において相違点(old/rom1.binにおける「0a」とnew/rom1.binにおける「00」)が存在する場合が示されている。   The old version data recorded in the data recording unit 12 is indicated by old / rom1.bin, and the latest version data is new / rom1.bin. Each data is divided into unit blocks each having a block size of 8 Kbytes or 64 Kbytes as described above. The server CPU 23 determines whether or not there is a data difference for each block size, and if there is a difference even for a part of the data, the server CPU 23 detects an address for each corresponding unit block. In FIG. 8A, there is a difference (“02” in old / rom1.bin and “ff” in new / rom1.bin) in a part of the unit block indicated by the address 0001, and the address 0002 The case where a difference (“0a” in old / rom1.bin and “00” in new / rom1.bin) exists in a part of the unit block shown in FIG.

サーバ用CPU23は、図8(b)に示すように、該当する単位ブロックのアドレス0001、0002を抽出し、該当するアドレスの単位ブロック間において、旧バージョンのデータ(old/0001.rom1、old/0002.rom1)と最新バージョンのデータ(new/0001.rom1、new/0002.rom1)との差分をとって、図8(c)に示すように、更新差分データ(pat/rom1.pat)を作成する。更新差分データには、相違点が存在したアドレスとそのデータ内容とが記録されることになる。この更新差分データは、パッチファイルとして作成され、相違データがブロックサイズで抽出された更新差分データとそのアドレスとが記録されるため、全体的なデータ量を低減させることが可能となる。   As shown in FIG. 8B, the server CPU 23 extracts the addresses 0001 and 0002 of the corresponding unit block, and the old version data (old / 0001.rom1, old / 0002.rom1) and the latest version data (new / 0001.rom1, new / 0002.rom1) are taken, and the update difference data (pat / rom1.pat) is obtained as shown in FIG. create. In the update difference data, the address where the difference exists and the data content are recorded. This update difference data is created as a patch file, and the update difference data from which the difference data is extracted in block size and its address are recorded, so that the overall data amount can be reduced.

なお、サーバ用CPU23が更新差分データを作成する方法は、上述した方法だけには限定されない。例えば、図8(b)に示すように、アドレス0001で示される単位ブロックの一部と、アドレス0002で示される単位ブロックの一部において相違点が存在する場合に、サーバ用CPU23が、該当する単位ブロックのアドレス0001、0002のブロックデータを結合して新たなファイルを作成し、さらに、差分のあるブロックに関するアドレス一覧ファイルを作成するものであってもよい。   Note that the method by which the server CPU 23 creates update difference data is not limited to the method described above. For example, as shown in FIG. 8B, when there is a difference between a part of the unit block indicated by the address 0001 and a part of the unit block indicated by the address 0002, the server CPU 23 corresponds. A new file may be created by combining the block data of unit block addresses 0001 and 0002, and an address list file relating to a block having a difference may be created.

その後、サーバ用CPU23は、全てのアドレス(ファイルデータを構成し得る全てのアドレス範囲)に対して、上述したステップS.36〜S.41の更新確認処理が行われたか否かを判断し(ステップS.42)、全てのアドレスに対してステップS.36〜S.41の処理が行われるまで(ステップS.42においてYesになるまで)、ステップS.36〜S.41の処理を繰り返す。   Thereafter, the server CPU 23 performs the above-described step S.E. for all addresses (all address ranges that can constitute file data). 36-S. 41 is checked (step S.42), and step S.41 is performed for all addresses. 36-S. Step S.41 is performed until the processing of Step S.41 is performed (Yes in Step S.42). 36-S. The process of 41 is repeated.

そして、サーバ用CPU23は、全てのアドレスにおいて、データの相違点を抽出して、ステップS.36〜S.41の処理が行われたものと判断した場合(ステップS.42においてYesの場合)に、作成された8Kバイト単位あるいは64Kバイト単位の更新差分データ・ファイルデータ単位で更新が必要とされる旨の情報などを、一時的に記録されていた更新情報記録部22から読み出して、カーナビゲーションシステム1のCPU15に対して出力する(ステップS.43)。   Then, the server CPU 23 extracts the data differences at all addresses, and performs step S. 36-S. When it is determined that the processing of 41 has been performed (Yes in step S.42), it is necessary to update the created update difference data / file data in units of 8 Kbytes or 64 Kbytes Are read from the update information recording unit 22 that has been temporarily recorded and output to the CPU 15 of the car navigation system 1 (step S.43).

CPU15では、返信情報を受信した場合(ステップS.2においてYesの場合)、返信情報が、更新を必要とする情報が存在しない旨の情報であるか否かの判断を行う(ステップS.3)。返信情報が更新を必要とする情報が存在しない旨の情報である場合(ステップS.3においてYesの場合)、CPU15は、データ記録部12のデータ更新処理を終了する。   When the CPU 15 receives the reply information (Yes in step S.2), the CPU 15 determines whether the reply information is information indicating that there is no information that needs to be updated (step S.3). ). When the reply information is information indicating that there is no information that needs to be updated (Yes in step S.3), the CPU 15 ends the data update process of the data recording unit 12.

一方で、返信情報が、更新を必要とする情報が存在しない旨の情報ではない場合(ステップS.3においてNoの場合)、CPU15は、返信情報にファイルデータ単位で更新が必要とされる旨の情報が含まれているか否かの判断を行う(ステップS.4)。返信情報にファイルデータ単位で更新が必要とされる旨の情報が含まれている場合(ステップS.4においてYesの場合)、CPU15は、該当する情報から更新を行うアドレス情報とデータ量の情報とを取得する。そして、CPU15は、該当するアドレスのデータをSDカード読み書き部14を介してSDカードから読み出して、データ記録部12に記録される情報を更新する処理を行う(ステップS.5)。   On the other hand, if the reply information is not information indicating that there is no information that needs to be updated (No in step S.3), the CPU 15 needs to update the reply information in units of file data. Whether or not the information is included is determined (step S.4). When the reply information includes information indicating that update is required in units of file data (Yes in step S.4), the CPU 15 updates the address information and data amount information to be updated from the corresponding information. And get. Then, the CPU 15 reads the data at the corresponding address from the SD card via the SD card read / write unit 14 and updates the information recorded in the data recording unit 12 (step S.5).

本実施の形態に係るカーナビゲーションシステム1のデータ記録部12は、FLASHメモリであるため、FLASHメモリの消去を行った後でなければ、データの書き込みを行うことができない。そのため、データ記録部12に記載される情報の更新は、
(1)SDカードに記録されるファイルデータ単位の情報を、サーバ用CPU23より取得したアドレス情報とデータ量とに基づいて読み出す。
(2)SDカードより読み出した情報をSDRAM13に一時的に記録する。
(3)データ記録部12においてデータの更新対象となるアドレスを、サーバ用CPU23より取得したアドレス情報に基づいて判断し、当該アドレスから取得したデータ量に対応するデータ量だけデータを消去する。
(4)SDRAM13に記録された情報を読み出して、消去されたデータ記録部12に記録する。
Since the data recording unit 12 of the car navigation system 1 according to the present embodiment is a FLASH memory, data can be written only after the FLASH memory is erased. Therefore, the update of information described in the data recording unit 12 is
(1) The information of the file data unit recorded on the SD card is read based on the address information and data amount acquired from the server CPU 23.
(2) Information read from the SD card is temporarily recorded in the SDRAM 13.
(3) The data recording unit 12 determines the address to be updated based on the address information acquired from the server CPU 23, and erases the data by the data amount corresponding to the data amount acquired from the address.
(4) The information recorded in the SDRAM 13 is read and recorded in the erased data recording unit 12.

という4つのステップを経て、データの更新が行われる。この処理により、予め規定された容量のアドレス範囲に対応するようにして、更新対象となるファイルデータの更新処理が行われることになる。   Data is updated through these four steps. By this processing, the update processing of the file data to be updated is performed so as to correspond to the address range having a predetermined capacity.

返信情報にファイルデータ単位で更新が必要とされる旨の情報が含まれていない場合(ステップS.4においてNoの場合)、あるいは、ファイルデータ単位でのデータの更新処理を行った場合(ステップS.5)に、CPU15は、返信情報に8Kバイト単位の更新差分データが含まれているか否かの判断を行う(ステップS.6)。   When the reply information does not include information indicating that update is required in file data units (No in step S.4), or when data update processing is performed in file data units (step In S.5), the CPU 15 determines whether or not the update information includes update difference data in units of 8 Kbytes (step S.6).

返信情報に8Kバイト単位の更新差分データが含まれている場合(ステップS.6においてYesの場合)、CPU15は、更新差分データに基づいて8Kバイト単位でのデータ更新処理を行う(ステップS.7)。   When the reply information includes update difference data in units of 8 Kbytes (Yes in step S.6), the CPU 15 performs data update processing in units of 8 Kbytes based on the update difference data (step S.6). 7).

具体的にCPU15では、次の5つの処理を経てデータの更新処理を行う。
(1)CPU15が、更新差分データより更新対象となるデータ記録部12のアドレス情報を抽出する。
(2)CPU15が、抽出したアドレスから8Kバイト分の情報をデータ記録部12より読み出して、SDRAM13に一時的に記録する。
(3)CPU15が、更新差分データに記録される更新対象となる差分のデータを抽出し、SDRAM13に記録されたデータ記録部12の情報のうち、差分のデータだけを更新することにより更新後のデータを作成して、SDRAM13に記録する
(4)CPU15は、更新対象となるデータ記録部12の情報を、サーバ用CPU23より取得したアドレスに基づいて8Kバイト分だけ消去する。
(5)CPU15が、SDRAM13に記録される更新後のデータ(8Kバイト分のデータ)を読み出して、消去されたデータ記録部12の8Kバイト分のスペースに書き込みを行う。
このように、CPU15が上述した5つの処理を実行することにより、データ記録部12のデータが8Kバイトを基準として更新される。
Specifically, the CPU 15 performs data update processing through the following five processes.
(1) The CPU 15 extracts the address information of the data recording unit 12 to be updated from the update difference data.
(2) The CPU 15 reads 8 Kbytes of information from the extracted address from the data recording unit 12 and temporarily records it in the SDRAM 13.
(3) The CPU 15 extracts the difference data to be updated, which is recorded in the update difference data, and updates only the difference data among the information of the data recording unit 12 recorded in the SDRAM 13. Data is created and recorded in the SDRAM 13 (4) The CPU 15 erases the information of the data recording unit 12 to be updated by 8 Kbytes based on the address acquired from the server CPU 23.
(5) The CPU 15 reads the updated data (8 Kbytes of data) recorded in the SDRAM 13 and writes it into the erased space of 8 Kbytes of the data recording unit 12.
As described above, when the CPU 15 executes the above-described five processes, the data in the data recording unit 12 is updated on the basis of 8 Kbytes.

返信情報に8Kバイト単位の更新差分データが含まれていない場合(ステップS.6においてNoの場合)、あるいは、8Kバイト単位の更新差分データを用いてデータの更新処理を行った場合(ステップS.7)に、CPU15は、返信情報に64Kバイト単位の更新差分データが含まれているか否かの判断を行う(ステップS.8)。   When update difference data in units of 8 Kbytes is not included in the reply information (No in step S.6), or when data update processing is performed using update difference data in units of 8 Kbytes (step S 7), the CPU 15 determines whether or not the reply information includes update difference data in units of 64 Kbytes (step S.8).

返信情報に64Kバイト単位の更新差分データが含まれている場合(ステップS.8においてYesの場合)、CPU15は、更新差分データに基づいて、64Kバイト単位でのデータ更新処理を行う(ステップS.9)。   If the reply information includes update differential data in units of 64 Kbytes (Yes in step S.8), the CPU 15 performs data update processing in units of 64 Kbytes based on the update differential data (step S). .9).

具体的にCPU15では、次の5つの処理を経てデータの更新処理を行う。
(1)CPU15が、更新差分データより更新対象となるデータ記録部12のアドレス情報を抽出する。
(2)CPU15が、抽出したアドレスから64Kバイト分の情報をデータ記録部12より読み出して、SDRAM13に一時的に記録する。
(3)CPU15が、更新差分データに記録された更新対象となる差分のデータを抽出し、SDRAM13に記録されたデータ記録部12の情報のうち、差分のデータだけを更新することにより更新後のデータを作成して、SDRAM13に記録する
(4)CPU15は、更新対象となるデータ記録部12の情報を、サーバ用CPU23より取得したアドレスに基づいて64Kバイト分だけ消去する。
(5)CPU15が、SDRAM13に記録される更新後のデータ(64Kバイト分のデータ)を読み出して、消去されたデータ記録部12の64Kバイト分のスペースに書き込みを行う。
このように、CPU15が上述した5つの処理を実行することにより、データ記録部12のデータが64Kバイトを基準としデータの更新が実行されることになる。
Specifically, the CPU 15 performs data update processing through the following five processes.
(1) The CPU 15 extracts the address information of the data recording unit 12 to be updated from the update difference data.
(2) The CPU 15 reads 64 Kbytes of information from the extracted address from the data recording unit 12 and temporarily records it in the SDRAM 13.
(3) The CPU 15 extracts the difference data to be updated, which is recorded in the update difference data, and updates only the difference data among the information of the data recording unit 12 recorded in the SDRAM 13. Data is created and recorded in the SDRAM 13 (4) The CPU 15 erases the information of the data recording unit 12 to be updated by 64 Kbytes based on the address acquired from the server CPU 23.
(5) The CPU 15 reads the updated data (64 Kbytes of data) recorded in the SDRAM 13 and writes it in the erased space of 64 Kbytes of the data recording unit 12.
As described above, when the CPU 15 executes the above-described five processes, the data in the data recording unit 12 is updated with 64 Kbytes as a reference.

返信情報に64Kバイト単位の更新差分データが含まれていない場合(ステップS.8においてNoの場合)、あるいは、64Kバイト単位の更新差分データを用いてデータの更新処理を行った場合(ステップS.9)に、CPU15は、サーバ用CPU23より取得した更新に関する情報に基づいて、更新対象となる全ての情報を更新したか否かの判断を行い(ステップS.10)、全ての情報の更新が完了していない場合(ステップS.10においてNoの場合)には、上述した処理(ステップS.4〜ステップS.9)の処理を繰り返し実行する。一方で、全ての情報の更新が完了した場合(ステップS.10においてYesの場合)、CPU15は、更新が完了した旨の情報を、ネットワーク回線30を介してサーバ用CPU23に出力して(ステップS.11)、データ記録部12のデータ更新処理を終了する。   When the reply information does not include update difference data in units of 64 Kbytes (in the case of No in step S.8), or when data update processing is performed using update difference data in units of 64 Kbytes (step S) 9), the CPU 15 determines whether or not all the information to be updated has been updated based on the information about the update acquired from the server CPU 23 (step S.10), and updates all the information. Is not completed (No in step S.10), the above-described processing (step S.4 to step S.9) is repeatedly executed. On the other hand, when all the information has been updated (Yes in Step S.10), the CPU 15 outputs information indicating that the update has been completed to the server CPU 23 via the network line 30 (Step S.10). S.11), the data update process of the data recording unit 12 is terminated.

サーバ用CPU23では、CPU15から更新が完了した旨の情報が受信されたか否かの判断を行い(ステップS.44)、情報が受信されない場合(ステップS.44においてNoの場合)には、受信判断処理(ステップS.44)を繰り返し実行する。   The server CPU 23 determines whether or not the information indicating that the update has been completed is received from the CPU 15 (step S.44). If the information is not received (No in step S.44), it is received. The determination process (step S.44) is repeatedly executed.

なお、通信回線のトラブルなどによってCPU15から更新が完了した旨の情報が受信できない場合や、更新が失敗して完了した旨の情報が受信されない場合もあり得るため、完了した旨の情報が受信されたか否かの判断処理においてタイマー設定を行い、ステップS.43による情報の送信後に、一定期間経過しても更新が完了した旨の情報が受信されない場合に、サーバ用CPU23が更新処理を強制的に終了するようにしてもよい。   Note that information indicating that the update has been completed may not be received from the CPU 15 due to a communication line trouble or the like, and information indicating that the update has been completed may not be received due to a failure in the update. In the process for determining whether or not the timer has been set, a timer is set. If the information indicating that the update is completed is not received after a certain period of time after the information is transmitted by the server 43, the server CPU 23 may forcibly end the update process.

更新が完了した旨の情報を受信した場合(ステップS.44においてYesの場合)、サーバ用CPU23は、更新情報記録部22に記録されるデータ記録部12のバージョン情報を、最新の情報に更新して(ステップS.45)、カーナビゲーションシステム1のデータ記録部12における更新処理を終了する。   When the information indicating that the update has been completed is received (Yes in step S.44), the server CPU 23 updates the version information of the data recording unit 12 recorded in the update information recording unit 22 to the latest information. Then, the update process in the data recording unit 12 of the car navigation system 1 is finished (step S.45).

このように、本実施の形態に係るサーバ20では、カーナビゲーションシステム1に関するバージョン情報とハード情報とを取得することにより、カーナビゲーションシステム1のデータ記録部12において更新処理が必要であるか否かの判断を行うことができる。またデータの更新処理が必要であると判断された場合には、必要なアドレスおよびデータ量を求めて、ファイルデータ単位でSDカードより読み出したデータに基づいてデータ記録部12の更新処理を行うか、サーバ20より送信する更新差分データに基づいてデータ記録部12の更新処理を行うかの判断を行うことができる。   As described above, in the server 20 according to the present embodiment, whether the update process is necessary in the data recording unit 12 of the car navigation system 1 by acquiring the version information and the hardware information related to the car navigation system 1. Judgment can be made. If it is determined that data update processing is necessary, whether the data recording unit 12 is updated based on the data read from the SD card in units of file data after obtaining the required address and data amount. Based on the update difference data transmitted from the server 20, it is possible to determine whether or not to update the data recording unit 12.

さらに、更新差分データを作成する場合においても、更新対象となるデータ記録部12のハードウェア特性(具体的には、FLASHメモリの消去可能なデータ容量(ブロックサイズ))を考慮して、式1を基準に、
BN_8KB×(T_se+(T_bp×8×1024/WS))
<BN_64KB×(T_be+(T_bp×64×1024/WS)) ・・・式1
8Kバイトを基準とした更新差分データを作成するか、64Kバイトを基準とした更新差分データを作成するかの判断を行う。式1におけるT_se、T_be、T_bpは、全てFLASHメモリに依存するデータであるため、データ記録部12のFLASHメモリに関するT_se、T_be、T_bpを予めサーバ20で記録しておくことにより、データの更新処理において更新時間を短くすることが可能な形式(8Kバイトまたは64Kバイト)で更新差分データを作成することができる。
Further, when creating update difference data, the hardware characteristics of the data recording unit 12 to be updated (specifically, the erasable data capacity (block size) of the FLASH memory) are considered, and the formula 1 Based on
BN_8KB × (T_se + (T_bp × 8 × 1024 / WS))
< BN_64KB × (T_be + (T_bp × 64 × 1024 / WS)) ・ ・ ・ Equation 1
It is determined whether to create update difference data based on 8 Kbytes or update difference data based on 64 Kbytes. Since T_se, T_be, and T_bp in Equation 1 are all data that depends on the FLASH memory, data update processing is performed by previously recording T_se, T_be, and T_bp related to the FLASH memory of the data recording unit 12 in the server 20. The update difference data can be created in a format (8 Kbytes or 64 Kbytes) that can shorten the update time.

このため、カーナビゲーションシステム1において更新処理を行う場合に最も更新処理の時間を短縮可能な形式の更新差分データを用いて、データ記録部12のデータを更新することができるので、送信データ量の低減と共に、更新時間の短縮化を図ることが可能となる。   For this reason, when the update process is performed in the car navigation system 1, the data in the data recording unit 12 can be updated using the update difference data in a format that can most shorten the update process time. Along with the reduction, the update time can be shortened.

以上、本発明に係る更新差分データ作成装置について説明を行ったが、本発明に係る更新差分データ作成装置は上述した実施の形態には限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。   Although the update difference data creation device according to the present invention has been described above, the update difference data creation device according to the present invention is not limited to the above-described embodiment. It will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the claims, and these are naturally within the technical scope of the present invention. Understood.

例えば、本実施の形態に係るカーナビゲーションシステム1では、データ記録部12としてFLASHメモリを用いた場合について説明を行った。しかしながら、近時のカーナビゲーションシステムでは、地図情報やシステム情報を記録する記録媒体として、SDカードを用いる機器も存在している。   For example, in the car navigation system 1 according to the present embodiment, the case where a FLASH memory is used as the data recording unit 12 has been described. However, in recent car navigation systems, there are devices that use an SD card as a recording medium for recording map information and system information.

SDカードもFLASHメモリの一種であり、データの書き込みを行う前に古いデータを消去してから、新たなデータの書き込みを行う必要がある点でFLASHメモリと共通する性質を有している。このため、SDカードにおいても1回毎の消去処理で消去可能なデータ容量をブロックサイズとして定義することができる。   The SD card is also a kind of FLASH memory, and has the same characteristics as the FLASH memory in that new data must be written after erasing old data before writing data. For this reason, even in an SD card, the data capacity that can be erased by each erase process can be defined as a block size.

また、SDカードには、データの更新(消去・読み込み・書き込み)制御を行うためのコントローラが予め設けられており、このコントローラによってデータの消去、読み込み・書き込みが行われることになる。但し、データの更新を行うためのブロックサイズが異なると、同じSDカードであっても、データ更新の処理時間が異なっていた。   The SD card is provided with a controller for performing data update (erase / read / write) control in advance, and data is erased, read / written by this controller. However, if the block size for updating the data is different, the data update processing time is different even for the same SD card.

このため、サーバ用CPU23において、SDカード毎に最適なブロックサイズを求めて、求められたブロックサイズ単位で更新差分データを作成することにより、SDカードにおけるデータ更新処理時間の短縮化を図ることが可能となる。   For this reason, the server CPU 23 obtains an optimum block size for each SD card and creates update difference data in units of the obtained block size, thereby shortening the data update processing time in the SD card. It becomes possible.

まず、サーバ用CPU23は、データ記録部12としてSDカードが使用された場合に、式2に示された値が最小になるように更新データのブロックサイズを決定する。
D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))・・・式2
First, when the SD card is used as the data recording unit 12, the server CPU 23 determines the block size of the update data so that the value shown in Expression 2 is minimized.
D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)) Equation 2

ここで、
BSは、更新差分データのブロックサイズを示し、
D(BS)は、書き換えデータ量を示し、
Wth(BS)は、SDカードにおける書き込みスループットを示し、
Rth(BS)は、SDカードにおける読み込みスループットを示し、
Pth(BS)は、更新差分データに基づいて更新用の新しいデータを作成するパッチ処理のスループット(パッチ処理スループット)を示している。
here,
BS indicates the block size of the update difference data,
D (BS) indicates the amount of rewrite data,
Wth (BS) indicates the write throughput in the SD card,
Rth (BS) indicates the read throughput in the SD card,
Pth (BS) indicates the throughput of patch processing (patch processing throughput) for creating new data for update based on the update difference data.

なお、書き込みスループットとは、単位時間当たりに書き込みを行うことが可能なデータのブロックサイズ数を示し、ブロックサイズとして設定されるバイト数に応じて値が変化し、また、SDカードのハード特性に応じて値が異なるという性質を有している。   Note that the write throughput indicates the number of block sizes of data that can be written per unit time, the value changes according to the number of bytes set as the block size, and the SD card hardware characteristics. It has the property that the value is different depending on it.

また、読み込みスループットとは、単位時間当たりに読み込みを行うことが可能なデータのブロックサイズ数を示し、ブロックサイズとして設定されるバイト数に応じて値が変化し、また、SDカードのハード特性に応じて値が異なるという性質を有している。   The read throughput indicates the number of block sizes of data that can be read per unit time. The value changes according to the number of bytes set as the block size. It has the property that the value is different depending on it.

さらに、パッチ処理のスループットとは、SDカードに記録されている古いバージョンのデータと更新差分データとに基づいて新しいバージョンのデータを作成する場合において、単位時間当たりに新しいバーションのデータを作成することが可能なブロックサイズ数を示し、パッチ処理に利用されるSDRAM13とSDカードとの間のメモリコピー・スループットに近似した値を示す。   Further, the patch processing throughput refers to the creation of a new version of data per unit time when creating a new version of data based on the old version of data and update difference data recorded on the SD card. The number of possible block sizes is shown, and a value approximated to the memory copy throughput between the SDRAM 13 and the SD card used for patch processing is shown.

書き換えデータ量D(BS)は、古いバージョンのデータと新しいバージョンのデータとの相違するデータにより求められるものである。また、Wth(BS)、Rth(BS)、Pth(BS)は、予めデータ記録部12のハードウェア特性に応じて求めておくことにより、更新情報記録部22に記録させておくことが可能である。   The rewrite data amount D (BS) is obtained from data different between the old version data and the new version data. Further, Wth (BS), Rth (BS), and Pth (BS) can be recorded in the update information recording unit 22 by obtaining them in advance according to the hardware characteristics of the data recording unit 12. is there.

但し、Wth(BS)、Rth(BS)、Pth(BS)の値は、更新差分データのブロックサイズ(BS)に応じて値が変化するため、サーバ用CPU23は、更新情報記録部22に予め記録されるデータ記録部12のハードウェア毎のWth(BS)、Rth(BS)、Pth(BS)のデータに基づいて、式2の値を算出する処理を行う。   However, since the values of Wth (BS), Rth (BS), and Pth (BS) change according to the block size (BS) of the update difference data, the server CPU 23 stores the update information recording unit 22 in advance. Based on the data of Wth (BS), Rth (BS), and Pth (BS) for each hardware of the data recording unit 12 to be recorded, a process of calculating the value of Expression 2 is performed.

なお、SDカードにおけるデータの更新処理時間は、(1)書き込み時間、(2)読み込み時間、(3)パッチ処理時間との和により求めることができる。従って、SDカードにおける書き込みスループット(Wth(BS))と、SDカードにおける読み込みスループット(Rth(BS))と、パッチ処理のスループット(Pth(BS))とを共に高めることが可能な、ブロックサイズ(BS)を求めることにより、書き換えデータ量Dに対して効率的な書き込み処理、読み込み処理、パッチ処理を行うことが可能となり、結果として、データの更新処理時間の低減を図ることが可能となる。   The data update processing time in the SD card can be obtained by the sum of (1) writing time, (2) reading time, and (3) patch processing time. Accordingly, the block size (Wth (BS)), the read throughput (Rth (BS)) of the SD card, and the patch processing throughput (Pth (BS)) can be increased together. By obtaining (BS), it is possible to perform efficient write processing, read processing, and patch processing for the rewritten data amount D, and as a result, it is possible to reduce the data update processing time.

このようにしてサーバ用CPU23において、更新差分データのブロックサイズ(BS)を求めて、このブロックサイズに基づく更新差分データを作成し、作成された更新差分データを用いてSDカードのコントローラがSDカードに記録されるデータの更新処理を行うことにより、SDカードにおけるデータの更新処理時間を従来よりも短くすることが可能となる。さらに、式2において最小となるブロックサイズを用いて更新差分データを作成し、ネットワーク回線30を介してカーナビゲーションシステム1へと送信するため、送信データ量の低減を図ることが可能となる。   In this way, the server CPU 23 determines the block size (BS) of the update difference data, creates update difference data based on the block size, and the controller of the SD card uses the created update difference data. By performing the update process of the data recorded in the SD card, the data update process time in the SD card can be made shorter than before. Furthermore, since update difference data is created using the smallest block size in Expression 2 and is transmitted to the car navigation system 1 via the network line 30, it is possible to reduce the amount of transmission data.

1 …カーナビゲーションシステム(クライアント)
2 …車両
5 …ディスプレイ部
6 …タッチパネル部
10 …(カーナビゲーションシステムの)本体部
11 …(カーナビゲーションシステムの)通信部(クライアント通信手段)
12 …データ記録部(FLASHメモリ、SDカード)
13 …SDRAM
14 …SDカード読み書き部
15 …(カーナビゲーションシステムの)CPU(新バージョンデータ生成手段、メモリデータ消去手段、データ書き込み手段)
20 …サーバ(更新差分データ作成装置、サーバ)
21 …(サーバ用の)通信部(サーバ通信手段)
22 …更新情報記録部(更新情報記録手段)
23 …サーバ用CPU(更新差分データ作成手段)
24 …(サーバ用の)ROM
25 …(サーバ用の)RAM
30 …ネットワーク回線
1. Car navigation system (client)
2 ... Vehicle 5 ... Display unit 6 ... Touch panel unit 10 ... Main unit 11 (for car navigation system) ... Communication unit (for client navigation system) (Client communication means)
12 ... Data recording part (FLASH memory, SD card)
13 ... SDRAM
14 ... SD card read / write unit 15 ... (for car navigation system) CPU (new version data generating means, memory data erasing means, data writing means)
20 ... Server (update difference data creation device, server)
21 ... Communication unit (for server) (server communication means)
22 ... Update information recording section (update information recording means)
23 ... CPU for server (update difference data creation means)
24 ... ROM (for server)
25 ... RAM (for server)
30 ... Network line

Claims (6)

FLASHメモリに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、
前記FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段と
を備え、
前記更新差分データ作成手段は、
小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出し、下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成し、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成すること
を特徴とする更新差分データ作成装置。
BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))
ただし、
BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、
BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、
T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、
T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、
T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、
WSは、前記FLASHメモリにおける1ワード当たりのバイト数
を示し、
前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。
Update information recording means in which old version data recorded in the FLASH memory and newer version data than the old version data are recorded;
In the FLASH memory, the data capacity that can be erased in each erase process is defined as a block size, and the new version data recorded in the update information recording means is compared with the old version data, Update difference data creating means for extracting data of different parts as difference data in the block size unit, and creating update difference data by combining the extracted difference data in the block size unit,
The update difference data creation means includes:
The update difference data when the block size is set to S bytes when S bytes having a small data capacity and L bytes having a large data capacity can be used as the block size of the FLASH memory. The block number BN_S and the block number BN_L of the update difference data when the block size is set to L bytes are calculated, and when the following formula is satisfied, the difference data is calculated in units of S bytes, which is the small data capacity. The update difference data is extracted to create the update difference data, and when the following formula is not satisfied, the update difference data is generated by extracting the difference data in units of L bytes having the large data capacity. Creation device.
BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS))
However,
BN_S is the number of blocks of the update difference data when the block size is S bytes,
BN_L is the number of blocks of the update difference data when the block size is L bytes,
T_se is the time required to erase S bytes of data in the FLASH memory,
T_be is the time required to erase L bytes of data in the FLASH memory,
T_bp is a write time of data for one word in the FLASH memory,
WS indicates the number of bytes per word in the FLASH memory,
The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.
SDカードに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、
前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段と
を備え、
前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合には、前記更新情報記録手段に、異なるデータ容量のブロックサイズBS毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録され、
前記更新差分データ作成手段は、
前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズBS毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出して、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めて、当該ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成すること
を特徴とする更新差分データ作成装置。
Update information recording means in which the old version data recorded on the SD card and the newer version data than the old version data are recorded;
The data capacity that can be erased by each erasure process in the SD card is defined as a block size, and the new version data recorded in the update information recording means is compared with the old version data, Update difference data creating means for extracting data of different parts as difference data in the block size unit, and creating update difference data by combining the extracted difference data in the block size unit,
When a plurality of data capacities can be used as the block size of the SD card, the update information recording means stores the write throughput Wth (BS) of the SD card for each block size BS having a different data capacity. And a reading throughput Rth (BS) of the SD card and a patch processing throughput Pth (BS) of the patch processing for creating the new version data based on the update difference data,
The update difference data creation means includes:
When the data amount of the update difference data is D (BS), a plurality of write throughputs Wth (BS) and a plurality of read throughputs Rth (BS) recorded for each block size BS in the update information recording unit The plurality of patch processing throughputs Pth (BS) are read out to obtain a block size BS that minimizes the value of D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)). The update difference data creating apparatus, wherein the update difference data is created by extracting the difference data in units.
古いバージョンのデータが記録されるFLASHメモリと、
該FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記古いバージョンのデータと新しいバーションのデータとにおいてデータ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出して組み合わせることにより作成された更新差分データと、前記FLASHメモリに記録される古いバーションのデータとに基づいて、新しいバーションのデータを生成する新バージョンデータ生成手段と、
前記ブロックサイズ単位で前記FLASHメモリのデータを消去するメモリデータ消去手段と、
該メモリデータ消去手段により消去された前記FLASHメモリの領域に、前記新バージョンデータ生成手段により生成された新しいバーションのデータを書き込むデータ書き込み手段と、
前記古いバージョンのバージョン情報をネットワーク回線を介してサーバへ出力すると共に、前記更新差分データを前記ネットワーク回線を介して前記サーバより受信することが可能なクライアント通信手段と
を有するクライアントと、
前記FLASHメモリに記録され得る全てのバージョンのデータが記録された更新情報記録手段と、
前記クライアント通信手段により出力された前記バージョン情報を前記ネットワーク回線を介して受信すると共に、前記更新差分データを前記ネットワーク回線を介して前記クライアントへ出力することが可能なサーバ通信手段と、
該サーバ通信手段により受信された前記バージョン情報に該当するバージョンのデータを、前記更新情報記録手段に記録されるデータより取得し、取得されたバージョンのデータと前記更新情報記録手段に記録される新しいバージョンのデータとを比較して、前記相違データを抽出することにより、更新差分データを作成する更新差分データ作成手段と
を有するサーバとを備え、
前記更新差分データ作成手段は、
小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出し、下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成し、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成し、
前記サーバ通信手段は、前記更新差分データ作成手段により作成された前記更新差分データを前記クライアントに対して出力し、
前記クライアント通信手段は、前記サーバによって出力された前記更新差分データを受信し、
前記新バージョンデータ生成手段は、前記クライアント通信手段により受信された前記更新差分データと、前記FLASHメモリに記録される古いバージョンのデータとに基づいて、新しいバーションのデータを生成し、
前記メモリデータ消去手段は、前記クライアント通信手段により受信された前記更新差分データを構成するブロックサイズに基づいて、当該ブロックサイズ単位で前記FLASHメモリのデータを消去し、
前記データ書き込み手段は、前記メモリデータ消去手段により消去された前記FLASHメモリの領域に、前記新バージョンデータ生成手段により生成された新しいバーションのデータを、前記ブロックサイズ単位で書き込むこと
を特徴とするデータ更新システム。
BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))
ただし、
BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、
BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、
T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、
T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、
T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、
WSは、前記FLASHメモリにおける1ワード当たりのバイト数
を示し、
前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。
FLASH memory in which old version data is recorded,
In the FLASH memory, a data capacity that can be erased by each erasing process is defined as a block size, and the block size is defined as data having different data contents in the old version data and the new version data. New version data generation means for generating new version data based on the update difference data created by extracting and combining in units and the old version data recorded in the FLASH memory;
Memory data erasing means for erasing data of the FLASH memory in units of the block size;
Data writing means for writing the new version data generated by the new version data generating means into the area of the FLASH memory erased by the memory data erasing means;
A client having client communication means capable of outputting version information of the old version to a server via a network line and receiving the update differential data from the server via the network line;
Update information recording means in which all versions of data that can be recorded in the FLASH memory are recorded;
Server communication means capable of receiving the version information output by the client communication means via the network line and outputting the update difference data to the client via the network line;
The version data corresponding to the version information received by the server communication means is acquired from the data recorded in the update information recording means, and the acquired version data and the new information recorded in the update information recording means A server having update difference data creation means for creating update difference data by comparing the version data and extracting the difference data,
The update difference data creation means includes:
The update difference data when the block size is set to S bytes when S bytes having a small data capacity and L bytes having a large data capacity can be used as the block size of the FLASH memory. The block number BN_S and the block number BN_L of the update difference data when the block size is set to L bytes are calculated, and when the following formula is satisfied, the difference data is calculated in units of S bytes, which is the small data capacity. Extract and create the update difference data, when the following formula does not hold, extract the difference data in units of L bytes that are the large data capacity to create the update difference data,
The server communication means outputs the update difference data created by the update difference data creation means to the client,
The client communication means receives the update difference data output by the server,
The new version data generation means generates new version data based on the update difference data received by the client communication means and the old version data recorded in the FLASH memory,
The memory data erasure unit erases the data in the FLASH memory in units of the block size based on the block size constituting the update difference data received by the client communication unit,
The data writing means writes the new version data generated by the new version data generating means in the block size unit into the area of the FLASH memory erased by the memory data erasing means. Data update system.
BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS))
However,
BN_S is the number of blocks of the update difference data when the block size is S bytes,
BN_L is the number of blocks of the update difference data when the block size is L bytes,
T_se is the time required to erase S bytes of data in the FLASH memory,
T_be is the time required to erase L bytes of data in the FLASH memory,
T_bp is a write time of data for one word in the FLASH memory,
WS indicates the number of bytes per word in the FLASH memory,
The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.
古いバージョンのデータが記録されるSDカードと、
前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記古いバージョンのデータと新しいバーションのデータとにおいてデータ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出して組み合わせることにより作成された更新差分データと、前記SDカードに記録される古いバーションのデータとに基づいて新しいバーションのデータを生成する新バージョンデータ生成手段と、
前記ブロックサイズ単位で前記SDカードのデータの書き込みを行うデータ書き込み手段と、
前記古いバージョンのバージョン情報をネットワーク回線を介してサーバへ出力すると共に、前記更新差分データを前記ネットワーク回線を介して前記サーバより受信することが可能なクライアント通信手段と
を有するクライアントと、
前記SDカードに記録され得る全てのバージョンのデータが記録された更新情報記録手段と、
前記クライアント通信手段により出力された前記バージョン情報を前記ネットワーク回線を介して受信すると共に、前記更新差分データを前記ネットワーク回線を介して前記クライアントへ出力することが可能なサーバ通信手段と、
該サーバ通信手段により受信された前記バージョン情報に該当するバージョンのデータを、前記更新情報記録手段に記録されるデータより取得し、取得されたバージョンのデータと前記更新情報記録手段に記録される新しいバージョンのデータとを比較して、前記相違データを抽出することにより、更新差分データを作成する更新差分データ作成手段と
を有するサーバとを備え、
前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合には、前記更新情報記録手段に、異なるデータ容量のブロックサイズBS毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録され、
前記更新差分データ作成手段は、
前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズBS毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出して、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めて、当該ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成し、
前記サーバ通信手段は、前記更新差分データ作成手段により作成された前記更新差分データを前記クライアントに対して出力し、
前記クライアント通信手段は、前記サーバによって出力された前記更新差分データを受信し、
前記新バージョンデータ生成手段は、前記クライアント通信手段により受信された前記更新差分データと、前記SDカードに記録される古いバージョンのデータとに基づいて、新しいバーションのデータを生成し、
前記データ書き込み手段は、前記新バージョンデータ生成手段において生成された新しいバーションのデータを、前記更新差分データの前記ブロックサイズ単位で前記SDカードに書き込む
ことを特徴とするデータ更新システム。
An SD card on which an old version of data is recorded;
In the SD card, the data capacity that can be erased by each erasing process is defined as a block size, and the block size is defined as data having different data contents in the old version data and the new version data. New version data generation means for generating new version data based on update difference data created by extracting and combining in units, and old version data recorded on the SD card;
Data writing means for writing data of the SD card in units of the block size;
A client having client communication means capable of outputting version information of the old version to a server via a network line and receiving the update differential data from the server via the network line;
Update information recording means in which all versions of data that can be recorded on the SD card are recorded;
Server communication means capable of receiving the version information output by the client communication means via the network line and outputting the update difference data to the client via the network line;
The version data corresponding to the version information received by the server communication means is acquired from the data recorded in the update information recording means, and the acquired version data and the new information recorded in the update information recording means A server having update difference data creation means for creating update difference data by comparing the version data and extracting the difference data,
When a plurality of data capacities can be used as the block size of the SD card, the update information recording means stores the write throughput Wth (BS) of the SD card for each block size BS having a different data capacity. And a reading throughput Rth (BS) of the SD card and a patch processing throughput Pth (BS) of the patch processing for creating the new version data based on the update difference data,
The update difference data creation means includes:
When the data amount of the update difference data is D (BS), a plurality of write throughputs Wth (BS) and a plurality of read throughputs Rth (BS) recorded for each block size BS in the update information recording unit The plurality of patch processing throughputs Pth (BS) are read out to obtain a block size BS that minimizes the value of D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)). Creating the updated difference data by extracting the difference data in units;
The server communication means outputs the update difference data created by the update difference data creation means to the client,
The client communication means receives the update difference data output by the server,
The new version data generation means generates new version data based on the update difference data received by the client communication means and the old version data recorded on the SD card,
The data writing unit writes the new version data generated by the new version data generation unit to the SD card in units of the block size of the update difference data.
FLASHメモリに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録された更新情報記録手段と、
前記FLASHメモリにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段と、
を備える更新差分データ作成装置において、前記更新差分データ作成手段に、前記更新差分データを作成させるための更新差分データ作成プログラムであって、
前記更新差分データ作成手段に、
小さなデータ容量であるSバイトと大きなデータ容量であるLバイトとを、前記FLASHメモリの前記ブロックサイズとして利用することが可能である場合に、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数BN_Sと、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数BN_Lとを算出させるブロック数算出ステップと、
下記の式が成立するときには前記小さなデータ容量であるSバイト単位で前記相違データを抽出して前記更新差分データを作成させ、下記の式が成立しないときには前記大きなデータ容量であるLバイト単位で前記相違データを抽出して前記更新差分データを作成させる更新差分データ作成ステップと
を実行させるための更新差分データ作成プログラム。
BN_S×(T_se+(T_bp×S/WS))<BN_L×(T_be+(T_bp×L/WS))
ただし、
BN_Sは、前記ブロックサイズをSバイトにした場合の前記更新差分データのブロック数、
BN_Lは、前記ブロックサイズをLバイトにした場合の前記更新差分データのブロック数、
T_seは、前記FLASHメモリにおいてSバイト分のデータを消去するために必要とされる時間、
T_beは、前記FLASHメモリにおいてLバイト分のデータを消去するために必要とされる時間、
T_bpは、前記FLASHメモリにおける1ワード分のデータの書き込み時間、
WSは、前記FLASHメモリにおける1ワード当たりのバイト数
を示し、
前記FLASHメモリについてのT_se、T_be、T_bp、WSのデータは予め前記更新情報記録手段に記録されていることを特徴とする。
Update information recording means in which old version data recorded in the FLASH memory and newer version data than the old version data are recorded;
In the FLASH memory, the data capacity that can be erased in each erase process is defined as a block size, and the new version data recorded in the update information recording means is compared with the old version data, Update difference data creating means for extracting data of different portions as the difference data in the block size unit, and creating update difference data by combining the extracted difference data in the block size unit;
An update difference data creation program for causing the update difference data creation means to create the update difference data in an update difference data creation device comprising:
In the update difference data creation means,
The update difference data when the block size is set to S bytes when S bytes having a small data capacity and L bytes having a large data capacity can be used as the block size of the FLASH memory. A block number calculation step of calculating the block number BN_S of the update difference data and the block number BN_L of the update difference data when the block size is L bytes;
When the following formula is satisfied, the difference data is extracted in S byte units having the small data capacity to create the update difference data, and when the following formula is not satisfied, the difference data is generated in L byte units having the large data capacity. An update difference data creation program for executing an update difference data creation step for extracting difference data and creating the update difference data.
BN_S × (T_se + (T_bp × S / WS)) <BN_L × (T_be + (T_bp × L / WS))
However,
BN_S is the number of blocks of the update difference data when the block size is S bytes,
BN_L is the number of blocks of the update difference data when the block size is L bytes,
T_se is the time required to erase S bytes of data in the FLASH memory,
T_be is the time required to erase L bytes of data in the FLASH memory,
T_bp is a write time of data for one word in the FLASH memory,
WS indicates the number of bytes per word in the FLASH memory,
The T_se, T_be, T_bp, and WS data for the FLASH memory are recorded in advance in the update information recording means.
SDカードに記録されている古いバージョンのデータと、当該古いバージョンのデータよりも新しいバージョンのデータとが記録され、さらに、前記SDカードにおいて1回毎の消去処理で消去可能なデータ容量をブロックサイズと定義し、前記SDカードのブロックサイズとして複数のデータ容量を利用することが可能である場合に、異なるデータ容量のブロックサイズ毎に、前記SDカードの書き込みスループットWth(BS)と、前記SDカードの読み込みスループットRth(BS)と、更新差分データに基づいて前記新しいバーションのデータを作成するパッチ処理のパッチ処理スループットPth(BS)とが記録された更新情報記録手段と、
前記更新情報記録手段に記録された新しいバージョンのデータと古いバージョンのデータとを比較して、データ内容の異なる部分のデータを相違データとして前記ブロックサイズ単位で抽出し、抽出された前記ブロックサイズ単位の前記相違データを組み合わせることによって更新差分データを作成する更新差分データ作成手段と
を備える更新差分データ作成装置において、前記更新差分データ作成手段に、前記更新差分データを作成させるための更新差分データ作成プログラムであって、
前記更新差分データ作成手段に、
前記更新差分データのデータ量がD(BS)である場合において、前記更新情報記録手段にブロックサイズ毎に記録される複数の書き込みスループットWth(BS)と、複数の読み込みスループットRth(BS)と、複数のパッチ処理スループットPth(BS)を読み出させて、D(BS)/(Wth(BS)+Rth(BS)+Pth(BS))の値を最小とするブロックサイズBSを求めさせる最小ブロックサイズ算出ステップと、
該最小ブロックサイズ算出ステップにおいて算出された前記ブロックサイズBS単位で前記相違データを抽出することによって前記更新差分データを作成させる更新差分データ作成ステップと
を実行させるための更新差分データ作成プログラム。
The old version data recorded on the SD card and the newer version data than the old version data are recorded, and the data capacity that can be erased by each erase process in the SD card is reduced to the block size. When a plurality of data capacities can be used as the block size of the SD card, the write throughput Wth (BS) of the SD card and the SD card for each block size of different data capacities Update information recording means in which the read throughput Rth (BS) of the patch and the patch processing throughput Pth (BS) of the patch processing for creating the new version data based on the update difference data are recorded,
Compare the new version data and the old version data recorded in the update information recording means, extract the data of different parts of the data contents as the difference data in the block size unit, and the extracted block size unit Update difference data creation means comprising: update difference data creation means for creating update difference data by combining the difference data; and update difference data creation for causing the update difference data creation means to create the update difference data A program,
In the update difference data creation means,
When the data amount of the update difference data is D (BS), a plurality of write throughputs Wth (BS) recorded for each block size in the update information recording unit, a plurality of read throughputs Rth (BS), A minimum block size calculation for reading a plurality of patch processing throughputs Pth (BS) and obtaining a block size BS that minimizes the value of D (BS) / (Wth (BS) + Rth (BS) + Pth (BS)). Steps,
An update difference data creation program for executing an update difference data creation step of creating the update difference data by extracting the difference data in units of the block size BS calculated in the minimum block size calculation step.
JP2011050716A 2011-03-08 2011-03-08 Update difference data creation device, data update system, and update difference data creation program Active JP5653259B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011050716A JP5653259B2 (en) 2011-03-08 2011-03-08 Update difference data creation device, data update system, and update difference data creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011050716A JP5653259B2 (en) 2011-03-08 2011-03-08 Update difference data creation device, data update system, and update difference data creation program

Publications (2)

Publication Number Publication Date
JP2012190075A true JP2012190075A (en) 2012-10-04
JP5653259B2 JP5653259B2 (en) 2015-01-14

Family

ID=47083196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011050716A Active JP5653259B2 (en) 2011-03-08 2011-03-08 Update difference data creation device, data update system, and update difference data creation program

Country Status (1)

Country Link
JP (1) JP5653259B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173911A1 (en) 2017-03-24 2018-09-27 日立オートモティブシステムズ株式会社 Car onboard control device and program updating software
JP2019074847A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control unit
US10430176B2 (en) 2014-11-17 2019-10-01 Hitachi Automotive Systems, Ltd. In-vehicle control device, program update system, and program update software
KR102088167B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Apparatus for updating software as an agent and patch method thereof
KR102088164B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Method and apparatus for generating difference between old and new version of data for updating software
KR102088170B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Method of data structuring for difference between old and new data and device thereof
DE112019000179T5 (en) 2018-02-16 2020-07-16 Hitachi Automotive Systems, Ltd. VEHICLE CONTROL DEVICE AND PROGRAM UPDATE SYSTEM
CN111488410A (en) * 2019-01-25 2020-08-04 阿里巴巴集团控股有限公司 NDS data differential processing method, NDS data differential processing device, NDS data updating device and electronic equipment
JPWO2021131754A1 (en) * 2019-12-24 2021-07-01
US11231878B2 (en) * 2019-10-31 2022-01-25 Arm Ip Limited Content modification control

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832493A (en) * 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
JP2004234503A (en) * 2003-01-31 2004-08-19 Matsushita Electric Ind Co Ltd Differential data generation device and method, updated data restoration device and method, and program
WO2005015406A1 (en) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, and accessing device and method
WO2005071549A1 (en) * 2004-01-26 2005-08-04 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and its control method
JP2007328739A (en) * 2006-06-09 2007-12-20 Aisin Aw Co Ltd Data update system, terminal device, server device, and data update method
JP2010176191A (en) * 2009-01-27 2010-08-12 Mitsubishi Electric Corp Data transmitter, data storage device, data update system, computer program, and data update method
WO2010134300A1 (en) * 2009-05-21 2010-11-25 パナソニック株式会社 Memory controller, nonvolatile storage device, accessing device, nonvolatile storage system, and method and program for writing data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832493A (en) * 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
JP2004234503A (en) * 2003-01-31 2004-08-19 Matsushita Electric Ind Co Ltd Differential data generation device and method, updated data restoration device and method, and program
WO2005015406A1 (en) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, and accessing device and method
WO2005071549A1 (en) * 2004-01-26 2005-08-04 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and its control method
JP2007328739A (en) * 2006-06-09 2007-12-20 Aisin Aw Co Ltd Data update system, terminal device, server device, and data update method
JP2010176191A (en) * 2009-01-27 2010-08-12 Mitsubishi Electric Corp Data transmitter, data storage device, data update system, computer program, and data update method
WO2010134300A1 (en) * 2009-05-21 2010-11-25 パナソニック株式会社 Memory controller, nonvolatile storage device, accessing device, nonvolatile storage system, and method and program for writing data

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430176B2 (en) 2014-11-17 2019-10-01 Hitachi Automotive Systems, Ltd. In-vehicle control device, program update system, and program update software
WO2018173911A1 (en) 2017-03-24 2018-09-27 日立オートモティブシステムズ株式会社 Car onboard control device and program updating software
US11263001B2 (en) 2017-03-24 2022-03-01 Hitachi Astemo, Ltd. Car onboard control device and program updating software
JP2019074847A (en) * 2017-10-13 2019-05-16 株式会社デンソー Electronic control unit
JP7087334B2 (en) 2017-10-13 2022-06-21 株式会社デンソー Electronic control device
US11449329B2 (en) 2018-02-16 2022-09-20 Hitachi Astemo, Ltd. Vehicle control device and program update system
DE112019000179T5 (en) 2018-02-16 2020-07-16 Hitachi Automotive Systems, Ltd. VEHICLE CONTROL DEVICE AND PROGRAM UPDATE SYSTEM
CN111488410B (en) * 2019-01-25 2023-05-09 阿里巴巴集团控股有限公司 NDS data differential processing method, NDS data differential processing device, NDS data updating device and electronic equipment
CN111488410A (en) * 2019-01-25 2020-08-04 阿里巴巴集团控股有限公司 NDS data differential processing method, NDS data differential processing device, NDS data updating device and electronic equipment
WO2021040168A1 (en) * 2019-08-27 2021-03-04 루나 주식회사 Data structuring method for difference between old and new data, and device therefor
WO2021040167A1 (en) * 2019-08-27 2021-03-04 루나 주식회사 Software update agent apparatus and patch method using same
WO2021040166A1 (en) * 2019-08-27 2021-03-04 루나 주식회사 Method for generating difference between new and old data in order to update software, and device therefor
KR102088170B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Method of data structuring for difference between old and new data and device thereof
US11379216B2 (en) 2019-08-27 2022-07-05 Konamobility Company Limited Software update agent device and software patching method through the same
KR102088164B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Method and apparatus for generating difference between old and new version of data for updating software
KR102088167B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Apparatus for updating software as an agent and patch method thereof
US11775288B2 (en) 2019-08-27 2023-10-03 Konamobility Company Limited Method and apparatus for generating difference between old and new versions of data for updating software
US11231878B2 (en) * 2019-10-31 2022-01-25 Arm Ip Limited Content modification control
JPWO2021131754A1 (en) * 2019-12-24 2021-07-01
JP7377893B2 (en) 2019-12-24 2023-11-10 京セラ株式会社 Communication equipment and programs

Also Published As

Publication number Publication date
JP5653259B2 (en) 2015-01-14

Similar Documents

Publication Publication Date Title
JP5653259B2 (en) Update difference data creation device, data update system, and update difference data creation program
JP4065202B2 (en) Map data processing apparatus and center system
JP4531582B2 (en) Map update processing data creation method, map update method and apparatus
JP4961606B2 (en) Data management system, update file generation system, and data update method
US8190811B2 (en) Defragmentation of solid state memory
US7730326B2 (en) Method and system for updating firmware stored in non-volatile memory
JP4418439B2 (en) Nonvolatile storage device and data writing method thereof
US9015695B2 (en) Information processing apparatus and information processing method
JP2001209543A (en) Program rewriting method for flash microcomputer
JP2001165675A (en) Navigation system
JP2008305061A (en) Memory controller, nonvolatile storage device, and nonvolatile storage system
JP2016062319A (en) Data reading device, program and data reading method
JP5717971B2 (en) Navigation device and navigation method
JP5759759B2 (en) Car navigation system
KR101676175B1 (en) Apparatus and method for memory storage to protect data-loss after power loss
JP5855781B2 (en) Car navigation system
JP6005826B2 (en) Car navigation system and data updating method for car navigation system
JP2009053993A (en) File system management apparatus
JP2013206307A (en) Memory control device, data storage device, and memory control method
JP4468342B2 (en) Data management method
JPWO2009022388A1 (en) Removable media, formatting device, formatting system, formatting method, and formatting program
JP5424574B2 (en) Navigation device
JP4535049B2 (en) Virtual library device, control method for virtual library device, control program for virtual library device
US20100094804A1 (en) Method and Device for Updating a Database, and Computer Program Product
US20050041479A1 (en) Information recording and reproducing device, information recording and reproducing mehtod, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141118

R150 Certificate of patent or registration of utility model

Ref document number: 5653259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250