JP2007052717A - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
JP2007052717A
JP2007052717A JP2005238728A JP2005238728A JP2007052717A JP 2007052717 A JP2007052717 A JP 2007052717A JP 2005238728 A JP2005238728 A JP 2005238728A JP 2005238728 A JP2005238728 A JP 2005238728A JP 2007052717 A JP2007052717 A JP 2007052717A
Authority
JP
Japan
Prior art keywords
data
sector
flash memory
read
reading
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.)
Withdrawn
Application number
JP2005238728A
Other languages
English (en)
Inventor
Tomoo Kurata
智生 倉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005238728A priority Critical patent/JP2007052717A/ja
Priority to US11/281,493 priority patent/US20070043899A1/en
Publication of JP2007052717A publication Critical patent/JP2007052717A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】CPUの負荷軽減および転送プログラムの複雑化の防止を図ることにより、安全かつ効率的なデータ転送を実現すること。
【解決手段】シーケンサ201は、フラッシュメモリ110を読出しモードに切り替える。第1のセクタ111内の転送元のアドレスに記憶されているデータを読み出す。データの読出しが完了すると、フラッシュメモリ110を書込みモードに切り替え、コマンドジェネレータ204から書込みコマンドを発行する。シーケンサ201は、レディ信号RDYを受信した場合、転送元の全アドレスのデータの転送終了を判断する。終了していない場合、フラッシュメモリ110を読出しモードに切り替えて、第1のセクタ111の未転送のデータを第2のセクタ112に転送する。終了した場合、フラッシュメモリ110を読出しモードに切り替えて、CPU200に割り込み要求信号IRを送信する。
【選択図】 図2

Description

この発明は、同一フラッシュメモリ内でデータ転送をおこなうデータ転送装置およびデータ転送方法に関する。
従来において、フラッシュメモリのセクタに記憶されているデータを一部のみ更新する際、一般的には、セクタ内の更新されるデータを含めたすべてのデータを別のセクタに転送する第1の手法か、またはセクタ内のデータを一旦RAMに転送し、転送元のセクタのデータを消去した後に再度、RAMからそのセクタにデータを転送する第2の手法が取られる。
特に、第2の手法の場合、フラッシュメモリのデータの消去を開始してからRAMのデータをフラッシュメモリへ転送し終わるまでの間に、何らかの理由によりリセットの入力や電源の切断があった場合、その時点でフラッシュメモリに書込みが完了していないデータは消失する。そのため、重要度の高いデータの更新は、通常、第1の手法のようなセクタ間転送によりおこなわれる。
また、上記データ転送はCPUによりおこなわれる他、フラッシュメモリとRAMとの間のデータ転送の場合には、DMA転送も用いられ、特にRAMからフラッシュメモリへの転送の際に、自動的にフラッシュメモリへの書込みコマンドを付加するDMAコントローラも知られている。ただしこれらのDMAコントローラでは、一度の起動のみで同一フラッシュメモリ内のセクタ間でデータ転送をおこなうことはできず、必ずRAMなどのバッファに一度データを転送する必要がある。なお、異なるメモリ間でのデータ転送に関する技術は、たとえば、下記特許文献1および2に開示されている。
特開平8−202649号公報 特開平11−316716号公報
しかしながら、上述した第1の手法により、CPUを用いて同一フラッシュメモリ内のセクタ間でデータ転送をおこなう場合、フラッシュメモリの書込みモードと読出しモードの変更や、書込みコマンドの入力は、CPUがおこなう必要がある。また、データ書込みの終了を監視するためにデータポーリングをCPUがおこなう必要がある。このように、常時CPUを介在させておく必要があり、プログラムが複雑になりやすいという問題があった。
特に、このデータポーリングは、周期を長くすると書込み終了の検知が遅れて書込み時間が長くなる一方、周期を短くするとフラッシュメモリへのアクセスが増大する。これにより、消費電力が増大するとともに、CPUが同時に実行している別のタスクが頻繁に中断されるため、オーバーヘッド時間が増加してしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、CPUの負荷軽減および転送プログラムの複雑化の防止を図ることにより、安全かつ効率的なデータ転送を実現することができるデータ転送装置およびデータ転送方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるデータ転送装置およびデータ転送方法は、フラッシュメモリ内の第1のセクタに記憶されているデータを読み出し、読み出されたデータを、前記フラッシュメモリ内における前記第1のセクタとは異なる第2のセクタに書き込むことを特徴とする。
この発明によれば、第1のセクタから第2のセクタにデータを転送することができる。
また、上記発明において、前記読出しモード時において前記データの前記第1のセクタからの読み出しが完了した場合、前記フラッシュメモリを前記読出しモードから書込みモードに切り替え、前記書込みモード時において前記データの前記第2のセクタへの書き込みが完了した場合、前記フラッシュメモリを前記書込みモードから前記読出しモードに切り替えることとしてもよい。
この発明によれば、フラッシュメモリのモード切替えをデータ転送装置により実現することができる。
また、上記発明において、前記データの前記第2のセクタへの書き込みが完了した場合、前記第1のセクタに記憶されている他のデータを読み出すこととしてもよい。
この発明によれば、第1のセクタからのデータ読み出しと第2のセクタへのデータ書込みを繰り返し実行することができる。
また、上記発明において、前記第1のセクタのアドレスと前記データから更新された更新後のデータとを保持し、読み出しをおこなうセクタのアドレスが前記保持手段に保持されている前記第1のセクタのアドレスと一致するか否かを判定し、判定された判定結果に基づいて、前記データの読み出しをおこなうこととしてもよい。
この発明によれば、読み出しをおこなうセクタのアドレスに応じて、データ転送とデータ更新を簡単かつ自動的に切り替えることができる。
また、上記発明において、一致すると判定された場合、保持されている更新後のデータを読み出し、読み出された更新後のデータを前記第2のセクタに書き込むこととしてもよい。
この発明によれば、更新前のデータをフラッシュメモリから読み出すことなく、更新後のデータを読み出すことができる。
本発明にかかるデータ転送装置およびデータ転送方法によれば、CPUの負荷軽減および転送プログラムの複雑化の防止を図ることにより、安全かつ効率的なデータ転送を実現することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるデータ転送装置およびデータ転送方法の好適な実施の形態を詳細に説明する。
(実施の形態1)
(データ転送装置の機能的構成)
まず、この発明の実施の形態1にかかるデータ転送装置の機能的構成について説明する。図1は、この発明の実施の形態1にかかるデータ転送装置の機能的構成を示すブロック図である。
データ転送装置100は、フラッシュメモリ110に対してデータの転送をおこなう。フラッシュメモリ110は、電気的に内容を書き換えることができ電源を落としてもデータが失われない不揮発性メモリであり、セクタ単位で消去/書き込みができるようになっている。なお、フラッシュメモリ110は、後述する制御部103により、データが読出し可能な読出しモードとデータを書き込み可能な書込みモードに切り替えられる。なお、フラッシュメモリ110は、データ転送装置100に内蔵されていてもよく、外部に設けられていてもよい。また、データ転送装置100に対し着脱自在に構成することとしてもよい。
また、図1において、データ転送装置100は、読出し部101と書込み部102と制御部103とから構成されている。読出し部101は、フラッシュメモリ110内の第1のセクタ111に記憶されているデータを読み出す。具体的には、フラッシュメモリ110の読出しモード時において、第1のセクタ111内の任意のアドレスが指定されると、当該アドレスに記憶されているデータを読み出す。
また、書込み部102は、読出し部101によって読み出されたデータを、フラッシュメモリ110内における第1のセクタ111とは異なる第2のセクタ112に書き込む。具体的には、フラッシュメモリ110が読出しモードから書込みモードに切り替わると、読み出されたデータをフラッシュメモリ110内における第2のセクタ112に書き込む。これにより、第1のセクタ111に記憶されていたデータを、第2のセクタ112に転送することができる。
また、制御部103は、フラッシュメモリ110の読出しモードと書込みモードとの切り替えを制御する。具体的には、読出しモード時において読出し部101によるデータの第1のセクタ111からの読み出しが完了した場合、フラッシュメモリ110を読出しモードから書込みモードに切り替える。
さらに、書込みモード時において書込み部102によるデータの第2のセクタ112への書き込みが完了した場合、フラッシュメモリ110を書込みモードから読出しモードに切り替える。この場合、読出し部101は、書込み部102によるデータの第2のセクタ112への書き込みが完了した場合、第1のセクタ111に記憶されている他のデータを読み出すこととなる。
(データ転送装置100のハードウェア構成)
つぎに、この発明の実施の形態1にかかるデータ転送装置100のハードウェア構成について説明する。図2は、この発明の実施の形態1にかかるデータ転送装置100のハードウェア構成を示すブロック図である。図2において、データ転送装置100は、CPU200とともにバス220に接続されている。また、フラッシュメモリ110は、セクタごとにデータの消去や書き換えの単位となるセクタを複数有しているが、図2では、便宜上、2つのセクタ(転送元となる第1のセクタ111と、転送先となる第2のセクタ112)を用いて説明する。
また、フラッシュメモリ110は、データ転送装置100からライトイネーブル信号WEを受けることで、読出しモードと書込みモードが切り替えられ、また、書込みモード時においてデータの書込みが完了すると、データ転送装置100に対しレディ信号RDYを送信する。
シーケンサ201は、データ転送装置100を統括制御する。具体的には、シーケンサ201は、フラッシュメモリ110に対するデータの読み出し(リード)制御、書き込み(ライト)制御、コマンドジェネレータ204に対するコマンド制御、フラッシュメモリ110に対するライトイネーブル信号WEの送信、CPU200に対する割り込み要求信号IRの送信をおこなう。
たとえば、シーケンサ201は、フラッシュメモリ110からレディ信号RDYを受信すると、フラッシュメモリ110に対し、読出し処理を示すライトイネーブル信号WE(WE=0)を送信することで、フラッシュメモリ110を読出しモードに切り替える。また、シーケンサ201は、データの読出しが完了した場合、フラッシュメモリ110に対し、書込み処理を示すライトイネーブル信号WE(WE=1)を送信することで、フラッシュメモリ110を書込みモードに切り替える。
また、シーケンサ201は、ライトイネーブル信号WE(WE=1)を送信した場合、コマンドジェネレータ204に対し、書込みコマンドの発行指示をおこなう。また、シーケンサ201は、全データの転送が完了した場合、CPU200に対し、転送終了を示す割り込み要求信号IRを送信する。
また、設定レジスタ202には、転送元となるデータが記憶されている第1のセクタ111における転送元のアドレスと、転送先となる第2のセクタ112内における転送先のアドレスと、が保持されている。具体的には、たとえば、CPU200またはシーケンサ201により、転送元のアドレスと転送先のアドレスが設定される。
また、データレジスタ203は、シーケンサ201の読出し処理において、フラッシュメモリ110から読み出されたデータを一時的に保持しておく。そして、保持されたデータは、シーケンサ201の書込み処理において転送先となる第2のセクタ112に転送される。
また、コマンドジェネレータ204は、シーケンサ201から書込みコマンドの発行指示があった場合、書込みコマンドを発行して、フラッシュメモリ110に転送する。書込みコマンドには、たとえば、設定レジスタ202で設定された転送先のアドレスが含まれる。この書込みコマンドにより、転送先となる第2のセクタ112のアドレスが指定されることとなる。また、フラッシュメモリインターフェース205は、フラッシュメモリ110とデータレジスタ203間のデータを転送する。
なお、図1に示した読出し部101、書込み部102および制御部103は、図2に示したシーケンサ201、設定レジスタ202、データレジスタ203、コマンドジェネレータ204、フラッシュメモリインターフェース205により実現することができる。
(データ転送装置100のデータ転送処理)
つぎに、この発明の実施の形態1にかかるデータ転送装置100のデータ転送処理について説明する。図3は、この発明の実施の形態1にかかるデータ転送装置100のデータ転送処理手順を示すフローチャートである。図3において、あらかじめ、設定レジスタ202に、転送元となるデータが記憶されている第1のセクタ111における転送元のアドレスと、転送先となる第2のセクタ112内における転送先のアドレスと、を設定しておく(ステップS301)。
つぎに、ライトイネーブル信号WE(WE=0)をフラッシュメモリ110に送信し、フラッシュメモリ110を読出しモードに切り替える(ステップS302)。つぎに、第1のセクタ111内の転送元のアドレスに記憶されているデータを読み出す(ステップS303)。具体的には、設定レジスタ202に設定されている転送元のアドレスをフラッシュメモリ110に送信することで、当該転送元のアドレスに記憶されているデータを、データレジスタ203に転送する。これにより、転送したいデータを一時的に退避することができる。
このあと、シーケンサ201は、データの読出しが完了すると、ライトイネーブル信号WE(WE=1)を送信して、フラッシュメモリ110を書込みモードに切り替える(ステップS304)。そして、コマンドジェネレータ204に書き込みコマンドの発行指示をおこなうことにより、コマンドジェネレータ204から書込みコマンドを発行する(ステップS305)。この書込みコマンドにより、データが書き込まれる第2のセクタ112内における転送先のアドレスが指定され、データレジスタ203から、データレジスタ203に一時的に退避させたデータを、フラッシュメモリ110の第2のセクタ112の転送先のアドレスに書き込む(ステップS306)。
このあと、シーケンサ201は、フラッシュメモリ110からのレディ信号RDY(RDY=1)を待ち受け(ステップS307:No)、レディ信号RDYを受信してRDY=1となった場合(ステップS307:Yes)、設定レジスタ202に設定されている転送元の全アドレスのデータの転送が終了したか否かを判断する(ステップS308)。
転送元の全アドレスのデータの転送が終了していない場合(ステップS308:No)、ステップS302に戻って、ライトイネーブル信号WE(WE=0)を送信して、フラッシュメモリ110を読出しモードに切り替える。これにより、第1のセクタ111に記憶されている未転送のデータを第2のセクタ112に転送することができる。
一方、転送元の全アドレスのデータの転送が終了した場合(ステップS308:Yes)、ライトイネーブル信号WE(WE=0)を送信して、フラッシュメモリ110を読出しモードに切り替える(ステップS309)。そして、CPU200に対して転送終了の割り込み要求信号IRを送信する(ステップS310)。これにより、一連の処理を終了する。
すなわち、シーケンサ201は、転送されるべきすべてのデータが転送されるまでフラッシュメモリ110からの読出し処理と書込み処理を繰り返し、すべてのデータの転送が終了するとCPU200に対して転送終了割込みを発生する。
この実施の形態1によれば、読み出されたデータをデータ転送装置100のデータレジスタ203に保持しておくことにより、データ転送中におけるフラッシュメモリ110内のデータの消失を防止することができ、安全なデータ転送を実現することができる。
また、フラッシュメモリ110の読出しモードと書込みモードの切り替え制御を、シーケンサ201からのライトイネーブル信号WEにより自動でおこなうことができる。また、フラッシュメモリ110へのデータ書込み時に、書込みコマンドをコマンドジェネレータ204が自動的に発行している。したがって、CPU200を介さずにデータ転送処理を実現できるため、データ転送の効率化を図ることができる。また、CPU200によるバス220の占有が低減されるため、データ転送の高速化を実現することができる。
また、フラッシュメモリ110へのデータ書込み後、レディ信号RDYにより書込み終了を検知することができるため、データポーリングをおこなう必要がなく、データ転送の効率化を図ることができる。
以上のことから、実施の形態1にかかるデータ転送装置100およびデータ転送方法によれば、同一のフラッシュメモリ110の異なるセクタ間で安全かつ効率的にデータを転送することができる。
(実施の形態2)
つぎに、この発明の実施の形態2について説明する。実施の形態1にかかるデータ転送装置100およびデータ転送方法は、同一フラッシュメモリ110内の転送元となる第1のセクタ111から転送先となる第2のセクタ112へのデータ転送をおこなう構成であるが、実施の形態2にかかるデータ転送装置およびデータ転送方法は、第1のセクタ111に記憶されている更新前のデータを更新する場合、更新前のデータを第1のセクタ111に保持したまま、更新後のデータを第2のセクタ112に転送する構成である。なお、実施の形態1において説明した構成と同一構成については同一符号を付し、その説明を省略する。
(データ転送装置の機能的構成)
まず、この発明の実施の形態2にかかるデータ転送装置の機能的構成について説明する。図4は、この発明の実施の形態2にかかるデータ転送装置の機能的構成を示すブロック図である。図4において、データ転送装置400は、実施の形態1で説明した読出し部101、書込み部102、制御部103のほか、保持部104および判定部105を備えている。
ここで、保持部104は、第1のセクタ111のアドレスと、当該アドレスに記憶されているデータ(更新前のデータ)から更新された更新後のデータと、を保持する。具体的には、読出し部101による読出し開始前に保持しておく。
また、判定部105は、読出し部101が読み出しをおこなうセクタのアドレス(指定アドレス)が保持部104に保持されている第1のセクタ111のアドレスと一致するか否かを判定する。一致しない場合には、フラッシュメモリ110の指定アドレスにより特定されるデータを読み出す。
一方、一致する場合には、保持部104に記憶されているアドレスに対応する更新後のデータを読み出す。この場合、書込み部102は、読出し部101によって読み出された更新後のデータを第2のセクタ112に書き込む。これにより、更新前のデータを第1のセクタ111に記憶させたまま、更新後のデータを第2のセクタ112に転送して、記憶することができる。
(データ転送装置400のハードウェア構成)
つぎに、この発明の実施の形態2にかかるデータ転送装置400のハードウェア構成について説明する。実施の形態2にかかるデータ転送装置400のハードウェア構成は、フラッシュメモリインターフェース205を除いて実施の形態1にかかるデータ転送装置100のハードウェア構成と同一構成である。図5は、フラッシュメモリインターフェース205のハードウェア構成を示すブロック図である。
図5において、フラッシュメモリ110の第1のセクタ111では、アドレスA1からアドレスAnまでデータが記憶されているが、更新の対象となる更新前のデータは、図5中、ハッチングで示したアドレスAi〜アドレスAjに記憶されているデータDi〜Djとする。
図5において、フラッシュメモリインターフェース205は、更新用データベース501と、一致回路502と、セレクタ503と、を備えている。更新用データベース501は、更新対象となる更新前のデータDi〜DjのアドレスAi〜Ajと、更新前のデータDi〜Djから更新された更新後のデータRi〜Rjとの組み合わせが、あらかじめCPU200からの処理により保持されている。
また、一致回路502は、データ転送装置400から送信されてくるアドレスAkと、更新用データベース501内に保持されているアドレスAi〜Ajとを比較する論理回路である。また、セレクタ503は、一致回路502からの切替信号により、シーケンサ201と更新用データベース501、またはシーケンサ201とフラッシュメモリ110との接続を切り替える論理回路である。
そして、一致回路502において一致するアドレスAkが更新用データベース501に保持されている場合には、セレクタ503に切替信号を送信して、更新用データベース501とシーケンサ201を接続する。これにより、一致するアドレスAkに対応するデータRkを更新用データベース501からデータレジスタ203に読み出すことができる。
このあと、更新用データベース501から読み出されたデータRkは、設定レジスタ202で設定された転送先となる第2のセクタ112の転送先のアドレスAxに書き込まれる。これにより、第1のセクタ111のアドレスAkに記憶されているデータRkを、第2のセクタ112のアドレスAxに転送することができる。
一方、一致回路502により一致しないと判定された場合、セレクタ503に切替信号を送信して、フラッシュメモリ110とシーケンサ201とを接続する。これにより、フラッシュメモリ110の第1のセクタ111のアドレスAkに記憶されているデータDkをデータレジスタ203に読み出すことができる。
このあと、フラッシュメモリ110から読み出されたデータDkは、設定レジスタ202で設定された転送先となる第2のセクタ112の転送先のアドレスAxに書き込まれる。これにより、第1のセクタ111のアドレスAkに記憶されているデータDkを、第2のセクタ112のアドレスAxに転送することができる。
なお、図4に示した保持部104は、図5に示した更新用データベース501によって実現することができ、図4に示した判定部105は、図5に示した一致回路502およびセレクタ503により実現することができる。
(データ転送装置400のデータ転送処理)
つぎに、この発明の実施の形態2にかかるデータ転送装置400のデータ転送処理について説明する。このデータ処理では、更新前のデータDi〜Dkが記憶されている第1のセクタ111のアドレスAi〜Ajと、データDi〜Dkから更新された更新後のデータRi〜Rjが、CPU200によりあらかじめ更新用データベース501に保持されているものとする。図6は、この発明の実施の形態2にかかるデータ転送装置400のデータ転送処理手順を示すフローチャートである。
図6において、あらかじめ、設定レジスタ202に、更新前のデータDi〜Dkが記憶されている第1のセクタ111のアドレスAi〜Ajと、更新後のデータRi〜Rkの転送先となる第2のセクタ112のアドレスAy〜Azと、を設定しておく(ステップS601)。
つぎに、ライトイネーブル信号WE(WE=0)をフラッシュメモリ110に送信し、フラッシュメモリ110を読出しモードに切り替える(ステップS602)。つぎに、データ読出し処理を実行する(ステップS603)。このデータ読出し処理については後述する。
このあと、シーケンサ201は、データの読出しが完了すると、ライトイネーブル信号WE(WE=1)を送信して、フラッシュメモリ110を書込みモードに切り替える(ステップS604)。そして、コマンドジェネレータ204に書き込みコマンドの発行指示をおこなうことにより、コマンドジェネレータ204から書込みコマンドを発行する(ステップS605)。この書込みコマンドにより、データが書き込まれる第2のセクタ112内における転送先のアドレスAxが指定され、データレジスタ203から、データレジスタ203に一時的に退避させたデータを、フラッシュメモリ110の第2のセクタ112の転送先のアドレスAxに書き込む(ステップS606)。
このあと、シーケンサ201は、フラッシュメモリ110からのレディ信号RDY(RDY=1)を待ち受け(ステップS607:No)、レディ信号RDYを受信してRDY=1となった場合(ステップS607:Yes)、設定レジスタ202に設定されている転送元の全アドレスAi〜AjのデータDi〜Djの転送が終了したか否かを判断する(ステップS608)。
転送元の全アドレスAi〜Ajをフラッシュメモリインターフェース205に送信していない場合(ステップS608:No)、ステップS602に戻って、ライトイネーブル信号WE(WE=0)を送信する。一方、転送元の全アドレスAi〜Ajをフラッシュメモリインターフェース205に送信した場合(ステップS608:Yes)、ライトイネーブル信号WE(WE=0)を送信して、フラッシュメモリ110を読出しモードに切り替える(ステップS609)。そして、CPU200に対して転送終了の割り込み要求信号IRを送信する(ステップS610)。これにより、一連の処理を終了する。
すなわち、シーケンサ201は、転送されるべきすべてのデータが転送されるまでフラッシュメモリ110からの読出し処理と書込み処理を繰り返し、すべてのデータの転送が終了するとCPU200に対して転送終了割込みを発生する。
つぎに、図6に示したデータ読出し処理(ステップS603)について説明する。図7は、図6に示したデータ読出し処理手順を示すフローチャートである。図7において、まず、ステップS602(図6を参照)のあと、設定レジスタ202に設定された転送元の全アドレスAi〜Ajから選ばれたアドレスAkを、フラッシュメモリインターフェース205に送信する(ステップS701)。アドレスAkは、フラッシュメモリインターフェース205の一致回路502に入力される。
そして、一致回路502において、更新用データベース501に保持されている更新元となる第1のセクタ111のアドレスAi〜Ajの中に、入力されたアドレスAkと一致するか否かを判定する(ステップS702)。一致するアドレスがあった場合(ステップS702:Yes)、セレクタ503により、更新用データベース501とシーケンサ201とが接続され、更新用データベース501からアドレスAkに対応する更新後のデータRkを読み出して、データレジスタ203に格納する(ステップS703)。
このあと、図6に示したステップS604に移行する。このステップS604以降の処理により、データレジスタ203に格納されたデータRkは、設定レジスタ202に設定された転送先となる第2のセクタ112のアドレスAxに転送される。これにより、更新前のデータDkを消失させることなく、更新前のデータDkと更新後のデータRkとをフラッシュメモリ110に保存することができる。
また、データ更新の際、更新前のデータDkが不要な場合、更新後のデータRkが第2のセクタ112に記憶されるまで、更新前のデータDkが第1のセクタ111に保存されているため、更新時において更新前のデータDkが消失することはない。これにより、安全かつ効率的なデータ更新をおこなうことができる。
一方、一致するアドレスがない場合(ステップS702:No)、データDkは更新されない転送データであることがわかり、セレクタ503により、フラッシュメモリ110とシーケンサ201とが接続され、フラッシュメモリ110の第1のセクタ111のアドレスAkに記憶されているデータDkを読み出して、データレジスタ203に格納する(ステップS704)。
このあと、図6に示したステップS604に移行する。このステップS604以降の処理により、データレジスタ203に格納されたデータDkは、設定レジスタ202に設定された転送先となる第2のセクタ112のアドレスAxに転送される。これにより、データDkを転送が完了するまで消失させることなく、安全に転送することができる。
この実施の形態2によれば、読み出されたデータをデータ転送装置400のデータレジスタ203に保持しておくことにより、データ転送中におけるフラッシュメモリ110内のデータの消失を防止することができ、安全なデータ転送を実現することができる。また、更新後のデータRkが第2のセクタ112に記憶されるまで、更新前のデータDkが第1のセクタ111に保存されているため、安全なデータ更新を実現することができる。
また、フラッシュメモリ110の読出しモードと書込みモードの切り替え制御を、シーケンサ201からのライトイネーブル信号WEにより自動でおこなうことができる。また、フラッシュメモリ110へのデータ書込み時に、書込みコマンドをコマンドジェネレータ204が自動的に発行している。したがって、CPU200を介さずにデータ転送・更新処理を実現できるため、データ転送・更新の効率化を図ることができる。また、CPU200によるバス220の占有が低減されるため、データ転送・更新の高速化を実現することができる。
また、更新用データベース501、一致回路502およびセレクタ503からなるROMコレクション機能を用いることにより、他のセクタへの同一データのデータ転送処理と、他のセクタへのデータ更新処理とを、アドレスに応じて簡単に切り替えることができるため、CPU200に対する負荷の軽減を図ることができる。
このように、実施の形態2によれば、同一フラッシュメモリ110内における異なるセクタ間のデータ転送およびデータ更新を安全かつ効率的におこなうことができる。
以上のことから、この発明にかかるデータ転送装置およびデータ転送方法によれば、CPUの負荷軽減および転送プログラムの複雑化の防止を図ることにより、安全かつ効率的なデータ転送やデータ更新を実現することができる。
以上のように、本発明にかかるデータ転送装置およびデータ転送方法は、セキュリティ性が要求されるデータの転送・更新に有用であり、たとえば、電子マネーや個人認証に関するデータが格納されているICカードや携帯端末に適している。
この発明の実施の形態1にかかるデータ転送装置の機能的構成を示すブロック図である。 この発明の実施の形態1にかかるデータ転送装置のハードウェア構成を示すブロック図である。 この発明の実施の形態1にかかるデータ転送装置のデータ転送処理手順を示すフローチャートである。 この発明の実施の形態2にかかるデータ転送装置の機能的構成を示すブロック図である。 フラッシュメモリインターフェースのハードウェア構成を示すブロック図である。 この発明の実施の形態2にかかるデータ転送装置のデータ転送処理手順を示すフローチャートである。 図6に示したデータ読出し処理手順を示すフローチャートである。
符号の説明
100,400 データ転送装置
101 読出し部
102 書込み部
103 制御部
104 保持部
105 判定部
110 フラッシュメモリ
111 第1のセクタ
112 第2のセクタ
201 シーケンサ
202 設定レジスタ
203 データレジスタ
204 コマンドジェネレータ
205 フラッシュメモリインターフェース
200 CPU
220 バス
501 更新用データベース
502 一致回路
503 セレクタ
A1,Ai,Aj,Ak,An,Ax,Ay,Az アドレス
Di,Dj,Dk 更新前のデータ
IR 割り込み要求信号
RDY レディ信号
Ri,Rj,Rk 更新後のデータ
WE ライトイネーブル信号

Claims (9)

  1. フラッシュメモリ内の第1のセクタに記憶されているデータを読み出す読出し手段と、
    前記読出し手段によって読み出されたデータを、前記フラッシュメモリ内における前記第1のセクタとは異なる第2のセクタに書き込む書込み手段と、
    を備えることを特徴とするデータ転送装置。
  2. 前記フラッシュメモリの読出しモードと書込みモードとの切り替えを制御する制御手段を備え、
    前記読出しモード時において前記読出し手段による前記データの前記第1のセクタからの読み出しが完了した場合、前記フラッシュメモリを前記読出しモードから前記書込みモードに切り替え、
    前記書込みモード時において前記書込み手段による前記データの前記第2のセクタへの書き込みが完了した場合、前記フラッシュメモリを前記書込みモードから前記読出しモードに切り替えることを特徴とする請求項1に記載のデータ転送装置。
  3. 前記読出し手段は、
    前記書込み手段による前記データの前記第2のセクタへの書き込みが完了した場合、前記第1のセクタに記憶されている他のデータを読み出すことを特徴とする請求項1または2に記載のデータ転送装置。
  4. 前記第1のセクタのアドレスと前記データから更新された更新後のデータとを保持する保持手段と、
    前記読出し手段が読み出しをおこなうセクタのアドレスが前記保持手段に保持されている前記第1のセクタのアドレスと一致するか否かを判定する判定手段と、を備え、
    前記読出し手段は、
    前記判定手段によって判定された判定結果に基づいて、前記データの読み出しをおこなうことを特徴とする請求項1〜3のいずれか一つに記載のデータ転送装置。
  5. 前記読出し手段は、
    前記判定手段によって一致すると判定された場合、前記保持手段に保持されている更新後のデータを読み出し、
    前記書込み手段は、
    前記読出し手段によって読み出された更新後のデータを前記第2のセクタに書き込むことを特徴とする請求項4に記載のデータ転送装置。
  6. フラッシュメモリ内の第1のセクタに記憶されているデータを更新する際、前記フラッシュメモリ外から前記データの更新後のデータを読み出す読出し手段と、
    前記読出し手段によって読み出された更新後のデータを、前記フラッシュメモリ内における前記第1のセクタとは異なる第2のセクタに書き込む書込み手段と、
    を備えることを特徴とするデータ転送装置。
  7. フラッシュメモリに対してデータ転送をおこなうデータ転送装置によるデータ転送方法であって、
    前記フラッシュメモリ内の第1のセクタに記憶されているデータを読み出す読出し工程と、
    前記フラッシュメモリ内における前記第1のセクタとは異なる第2のセクタに、前記読出し工程によって読み出されたデータを書き込む書込み工程と、
    を含んだことを特徴とするデータ転送方法。
  8. 前記読出し工程による前記データの読み出しが完了した場合、前記フラッシュメモリを読出しモードから書込みモードに切り替える書込みモード切替工程を含み、
    前記書込み工程は、
    前記書込みモード切替工程によって前記書込みモードに切り替えられた場合、前記第2のセクタに前記データを書き込むことを特徴とする請求項7に記載のデータ転送方法。
  9. 前記フラッシュメモリに対してデータ転送をおこなうデータ転送装置によるデータ転送方法であって、
    フラッシュメモリ内の第1のセクタに記憶されているデータを更新する際、前記フラッシュメモリ外から前記データの更新後のデータを読み出す読出し工程と、
    前記読出し工程によって読み出された更新後のデータを、前記フラッシュメモリ内における前記第1のセクタとは異なる第2のセクタに書き込む書込み工程と、
    を含んだことを特徴とするデータ転送方法。
JP2005238728A 2005-08-19 2005-08-19 データ転送装置およびデータ転送方法 Withdrawn JP2007052717A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005238728A JP2007052717A (ja) 2005-08-19 2005-08-19 データ転送装置およびデータ転送方法
US11/281,493 US20070043899A1 (en) 2005-08-19 2005-11-18 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005238728A JP2007052717A (ja) 2005-08-19 2005-08-19 データ転送装置およびデータ転送方法

Publications (1)

Publication Number Publication Date
JP2007052717A true JP2007052717A (ja) 2007-03-01

Family

ID=37768481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005238728A Withdrawn JP2007052717A (ja) 2005-08-19 2005-08-19 データ転送装置およびデータ転送方法

Country Status (2)

Country Link
US (1) US20070043899A1 (ja)
JP (1) JP2007052717A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170328A (ja) * 2009-01-22 2010-08-05 Hitachi Ltd メモリ装置および計算機
JP2018022497A (ja) * 2012-01-26 2018-02-08 メモリー テクノロジーズ リミティド ライアビリティ カンパニー 不揮発性大容量メモリ・システムによるキャッシュ移動を提供するための装置および方法
US11182079B2 (en) 2008-02-28 2021-11-23 Memory Technologies Llc Extended utilization area for a memory device
US11226771B2 (en) 2012-04-20 2022-01-18 Memory Technologies Llc Managing operational state data in memory module
US11733869B2 (en) 2009-06-04 2023-08-22 Memory Technologies Llc Apparatus and method to share host system RAM with mass storage memory RAM

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2618328T3 (es) * 2010-02-01 2017-06-21 Israel Hershler Dispositivo de memoria USB

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170031B1 (en) * 1997-07-08 2001-01-02 Seagate Technology Llc Read/write state machines for transferring data to/from host interface in a digital data storage system
JP3727485B2 (ja) * 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
US6809964B2 (en) * 2001-08-30 2004-10-26 Micron Technology, Inc. Nonvolatile semiconductor memory device capable of transferring data internally without using an external bus
WO2003085677A1 (fr) * 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494080B2 (en) 2008-02-28 2022-11-08 Memory Technologies Llc Extended utilization area for a memory device
US11907538B2 (en) 2008-02-28 2024-02-20 Memory Technologies Llc Extended utilization area for a memory device
US11829601B2 (en) 2008-02-28 2023-11-28 Memory Technologies Llc Extended utilization area for a memory device
US11182079B2 (en) 2008-02-28 2021-11-23 Memory Technologies Llc Extended utilization area for a memory device
US11550476B2 (en) 2008-02-28 2023-01-10 Memory Technologies Llc Extended utilization area for a memory device
JP2010170328A (ja) * 2009-01-22 2010-08-05 Hitachi Ltd メモリ装置および計算機
US11775173B2 (en) 2009-06-04 2023-10-03 Memory Technologies Llc Apparatus and method to share host system RAM with mass storage memory RAM
US11733869B2 (en) 2009-06-04 2023-08-22 Memory Technologies Llc Apparatus and method to share host system RAM with mass storage memory RAM
KR102317152B1 (ko) * 2012-01-26 2021-10-27 메모리 테크놀로지즈 엘엘씨 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법
KR102458334B1 (ko) 2012-01-26 2022-10-24 메모리 테크놀로지즈 엘엘씨 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법
KR20210130829A (ko) * 2012-01-26 2021-11-01 메모리 테크놀로지즈 엘엘씨 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법
US10877665B2 (en) 2012-01-26 2020-12-29 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US11797180B2 (en) 2012-01-26 2023-10-24 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
KR20200079558A (ko) * 2012-01-26 2020-07-03 메모리 테크놀로지즈 엘엘씨 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법
JP2018022497A (ja) * 2012-01-26 2018-02-08 メモリー テクノロジーズ リミティド ライアビリティ カンパニー 不揮発性大容量メモリ・システムによるキャッシュ移動を提供するための装置および方法
US11226771B2 (en) 2012-04-20 2022-01-18 Memory Technologies Llc Managing operational state data in memory module
US11782647B2 (en) 2012-04-20 2023-10-10 Memory Technologies Llc Managing operational state data in memory module

Also Published As

Publication number Publication date
US20070043899A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
JP3898305B2 (ja) 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US7266640B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
US20060208097A1 (en) Electronic apparatus, unit drive, and interface controlling method of the unit drive
US20100122017A1 (en) Memory controller, non-volatile memory system, and host device
JP2007052717A (ja) データ転送装置およびデータ転送方法
JPS63223901A (ja) 車載制御装置
JP2000105725A (ja) チップイネーブル信号生成回路及びメモリ装置
KR20080078977A (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
JP5010065B2 (ja) マイクロコンピュータ
CN100517377C (zh) 多功能ic卡及其控制方法
JP2007114943A (ja) ファームウェア更新方法及び情報処理装置
JP2007334813A (ja) メモリ制御回路及びデータ書き換え方法
CN210052151U (zh) 一种双芯片程序更新装置
JP4793798B2 (ja) マイクロコンピュータ
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
JP2003521033A (ja) マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム
JP4478298B2 (ja) データ転送システム
JP2000099452A (ja) Dma制御装置
KR100615694B1 (ko) 복수개의 기능블럭을 제어하는 제어시스템
KR20100063219A (ko) 시스템 온 칩에서 비트 단위의 데이터 쓰기 방법 및 장치
JP2007087086A (ja) Dma転送システム
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2008033657A (ja) メモリ制御装置および情報処理装置並びにメモリ制御方法
JP2009271623A (ja) 半導体記憶装置及びコンピュータシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081104