JP2007304920A - フラッシュメモリ制御方法 - Google Patents

フラッシュメモリ制御方法 Download PDF

Info

Publication number
JP2007304920A
JP2007304920A JP2006133365A JP2006133365A JP2007304920A JP 2007304920 A JP2007304920 A JP 2007304920A JP 2006133365 A JP2006133365 A JP 2006133365A JP 2006133365 A JP2006133365 A JP 2006133365A JP 2007304920 A JP2007304920 A JP 2007304920A
Authority
JP
Japan
Prior art keywords
flash memory
data
initial value
host
write
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.)
Pending
Application number
JP2006133365A
Other languages
English (en)
Inventor
Keisuke Sakai
敬介 坂井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006133365A priority Critical patent/JP2007304920A/ja
Publication of JP2007304920A publication Critical patent/JP2007304920A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来はホストからの書込みデータを全てフラッシュメモリに転送していたため、例えば未書込み論理領域へのフラッシュメモリ初期値書込みといった処理において不要なデータ転送が発生し、処理速度が低下していた。
【解決手段】ホストからの書込み処理の際に、書込みデータとフラッシュメモリ初期値とが等しいかどうかを判断し、書込みデータがフラッシュメモリ初期値に等しい場合には、フラッシュメモリへのデータ転送を抑制する。
【選択図】図4

Description

本発明は、フラッシュメモリ制御方法に関し、特にホストからフラッシュメモリへのデータ書込みの制御方法に関するものである。
昨今、コンピュータ等の電子機器で用いられるデータを記憶させておく外部記憶装置として、書換え可能な不揮発性メモリを用いた、主としてカード形態の記憶装置(メモリカード)の使用が広がっている。
メモリカードにおいて記憶手段である不揮発性メモリの代表的なものに、フラッシュメモリがある。フラッシュメモリに保持するデータはブロック単位で管理され、データの消去がブロック単位で行われる。各ブロックは複数のページからなる。ページはデータの読出し及び書込みの最小単位である。
各ページはデータとは別に冗長部を有しており、この冗長部に当該ページに割当てられている論理アドレスに関した情報や、データの訂正符号を保持する。各ページにはフラッシュメモリ内で一意な物理アドレスが割当てられており、コントローラはフラッシュメモリにコマンドを送る際に、物理アドレスを指定することで、データ処理を制御することができる。
さて、ホストからメモリカードに対しデータアクセスを行う際、ホストはセクタと呼ばれるサイズでデータを取り扱う。ホストからのデータをフラッシュメモリ上で保持する際には、フラッシュメモリの管理単位である物理ブロックのサイズに合わせて、論理ブロックという単位で管理される。論理ブロックは一般的に複数のセクタから構成される。各セクタには論理的な順番である論理アドレスが付加されており、ホストはメモリカードに論理アドレスを指定することにより、データ処理の制御を行う。
図1は、一般的なメモリカードで実施されているデータ管理手法における論理アドレスと物理アドレスとの対応関係を示している。メモリカードへデータが書込まれた論理ブロックは、フラッシュメモリ内の物理ブロックと1対1で対応付けられ、かつ管理されている。ただし、未書込みの論理ブロックに対しては対応した物理ブロックは存在しない。ここで、M、Nをそれぞれ2以上の整数とするとき、M個の論理ブロックをまとめて論理セグメントを構成し、N個の物理ブロックをまとめて物理セグメントを構成する。またS、Tをそれぞれ2以上の整数とするとき、S個のセクタをまとめて論理ブロックを構成し、T個のページをまとめて物理ブロックを構成する。ある論理セグメントは1つの物理セグメントに割当てられ、当該論理セグメントを構成する論理データは、特定の物理セグメントで管理される領域に保持される。ただし、物理ブロック内には不良ブロックも存在するため、一般にM<Nである。よって、フラッシュメモリ内に保持する論理ブロックと物理ブロックとのアドレス対応情報(以下、論理物理アドレス変換情報という)は、物理セグメント単位で管理されることになる。
図2は、メモリカードのブロック図の一例を示している。図2において、21はホスト、22はフラッシュメモリ、23はフラッシュメモリ22の制御を行うコントローラである。フラッシュメモリ22とコントローラ23とで、メモリカード24が構成される。フラッシュメモリ22は、論理物理アドレス変換情報を保持する管理情報保持領域221と、論理アドレスに割当てられるデータを保持するデータ保持領域222とから構成される。コントローラ23は、ホスト21からのデータを受取って、当該データをフラッシュメモリ22のデータ保持領域222へ転送するデータバッファ231と、フラッシュメモリ22の管理情報保持領域221が持つ論理物理アドレス変換情報を保持する管理情報保持メモリ232と、コントローラ23とフラッシュメモリ22及びホスト21との間のデータ転送を制御するデータ転送制御回路233とから構成される。
以上のように構成されたメモリカード24における、従来のフラッシュメモリ制御方法として、ホスト21からのデータの書込み時の処理手順を、図3を用いて説明する。
図3において、S31にてホスト21からの書込み命令を受けたコントローラ23は、S32にて、ホスト21からデータバッファ231に書込みデータが転送される。その後、S33にて、データバッファ231に保持されているデータをデータ保持領域222のどの物理領域に書込むかを判断し、論理アドレスと物理アドレスとの対応情報を保持する管理情報保持メモリ232を更新する。S34にて、データバッファ231に保持されているデータをデータ保持領域222に転送し、S35にてS33で更新された管理情報保持メモリ232の情報をフラッシュメモリ22の管理情報保持領域221に転送する。転送完了後に、S36にてコマンド処理を終了する。
以上のとおり、従来のフラッシュメモリ制御方法においては、ホストから転送されたデータは、常に管理情報とともにフラッシュメモリへ転送されていた(特許文献1参照)。
特開2001−142774号公報
近年、携帯電話機、デジタルカメラといった、フラッシュメモリを使用した記憶装置(例えばメモリカード)を活用するホストの種類及び数が著しく増加をしている。しかし、ホストからメモリカードに対する書込みデータサイズや開始アドレスといったデータ処理はホストの種類毎に異なり、またメモリカードも種類毎に性能の出やすい処理が異なるため、一部ホストとメモリカードとの組み合わせにおいては、性能劣化が著しいといった相性問題が発生している。特に、ホストからのメモリカードのデータ初期化を意図し、全データ領域にフラッシュメモリ初期値を上書きするといった使い方を実施した際に、メモリカード内でのデータ領域書換えを伴う場合においては、処理時間の増加やフラッシュメモリの書換え頻度の増加という課題があった。
そこで本発明では、ホストからの書込みデータをメモリカード内で確認し、フラッシュメモリへの書込みが必要かどうかを判断してから、フラッシュメモリへの書込み実行を判断することで、不要なフラッシュメモリへの書込みを抑制することが可能となり、処理時間の向上、書込み回数の低減により信頼性を向上させることが可能なフラッシュメモリ制御方法を提供する。
第1の発明は、フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、書込み対象論理アドレスがフラッシュメモリの物理アドレスに割当済みかどうかを判定する工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象論理アドレスがフラッシュメモリの物理アドレスに未割当であった場合に、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象領域が未割当であった場合には、フラッシュメモリへのデータ転送を抑制することで、メモリカード等の処理速度の向上が図れ、かつ書換え回数を低減することができる。
第2の発明は、フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報において、書込み対象論理アドレスをフラッシュメモリの物理アドレスに対して未割当とする工程と、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報のみを当該フラッシュメモリへ転送する工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合には、フラッシュメモリへ管理情報のみを転送することで、メモリカード等の処理速度の向上が図れ、かつ書換え回数を低減することができる。
第3の発明は、フラッシュメモリへの書込みデータの特定アドレス以降のデータとフラッシュメモリ初期値との等価を判定する工程と、フラッシュメモリへのデータ転送の際に、フラッシュメモリ初期値と等価な特定アドレス以後のフラッシュメモリへの書込みデータについては、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法であって、フラッシュメモリへの書込みデータのうち特定アドレス以降のデータがフラッシュメモリ初期値と等価であった場合には、フラッシュメモリへの転送データ量を削減することで、メモリカード等の処理速度の向上を実現することができる。
本発明に係るフラッシュメモリ制御方法は、ホストからのフラッシュメモリ初期値書込み命令に対して、フラッシュメモリのデータ領域への書込み処理を行わないよう判断する工程を有し、メモリカード等の処理速度及び信頼性を向上させる効果がある。
以下、図面を参照しながら本発明の実施の形態を説明する。ここでは、フラッシュメモリの消去とは全ビットを“1”とする処理をいい、書込みとは指定ビットを“0”とする処理をいうものとする。つまり、フラッシュメモリ初期値を“1”とする。
《実施の形態1》
図4は、実施の形態1によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図2のブロック図を用いて説明する。
図4において、S41にてホスト21からの書込み命令を受けたコントローラ23は、S42にて、ホスト21からデータバッファ231に書込みデータが転送される。その後、S43にて、データバッファ231に保持されているデータがフラッシュメモリ初期値と等しいかどうかを確認する。データバッファ231に保持されているデータがフラッシュメモリ初期値と等しいと判断された場合は、S44にて、コントローラ23内の管理情報保持メモリ232にて、ホスト21からの書込み対象論理アドレスがフラッシュメモリ22の物理アドレスに割当られているかを確認する。ホスト21からの書込み対象論理アドレスがフラッシュメモリ22の物理アドレスに割当られていない場合は、S48に進みコマンド処理を終了する。
S43にてデータバッファ231に保持されているデータがフラッシュメモリ初期値と等しくない場合、及びS44にてホスト21からの書込み対象論理アドレスがフラッシュメモリ22の物理アドレスに割当られている場合には、S45の工程に進む。S45では、コントローラ23内の管理情報保持メモリ232の情報から、ホスト21から指定された書込み対象論理アドレスに対して、S46でデータを書込むフラッシュメモリ22のデータ保持領域222内の物理アドレスを割当てる。その後、S46にて、データバッファ231に保持されているデータをS45で割当てたフラッシュメモリ22のデータ保持領域222内の物理アドレスに転送し、S47にてS45で更新された管理情報保持メモリ232の情報をフラッシュメモリ22の管理情報保持領域221へ転送する。最後に、S48にてコマンド処理を終了する。
このような実施の形態1のフラッシュメモリ制御方法では、ホストから未割当論理アドレスに対するフラッシュメモリ初期値書込み命令に対して、S45〜S47の工程を実施しないことで、フラッシュメモリへの書込み回数を抑制することが可能となるため、データ処理速度の向上が図れ、かつフラッシュメモリの書込み回数低減により信頼性を向上できるという効果がある。
《実施の形態2》
図5は、実施の形態2によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図2のブロック図を用いて説明する。
図5において、S51にてホスト21からの書込み命令を受けたコントローラ23は、S52にて、ホスト21からデータバッファ231に書込みデータが転送される。その後、S53にて、データバッファ231に保持されているデータがフラッシュメモリ初期値と等しいかどうかを確認する。データバッファ231に保持されているデータがフラッシュメモリ初期値と等しいと判断された場合は、S54にて、コントローラ23内の管理情報保持メモリ232の情報から、ホスト21からの書込み対象論理アドレスに対してフラッシュメモリ22の物理アドレスを未割当に更新し、S57の工程を実施する。
S53にてデータバッファ231に保持されているデータがフラッシュメモリ初期値と等しくないと判断された場合、S55の工程に進む。S55では、コントローラ23内の管理情報保持メモリ232の情報から、ホスト21から指定された書込み対象論理アドレスに対して、S56でデータを書込むフラッシュメモリ22のデータ保持領域222内の物理アドレスを割当てる。その後、S56にて、データバッファ231に保持されているデータをS55で割当てたフラッシュメモリ22のデータ保持領域222内の物理アドレスに転送し、S57に進む。
S54又はS56の工程完了後、S57にてS55で更新された管理情報保持メモリ232の情報をフラッシュメモリ22の管理情報保持領域221へ転送する。最後に、S58にてコマンド処理を終了する。
このような実施の形態2のフラッシュメモリ制御方法では、ホストからのフラッシュメモリ初期値書込み命令に対して、S55〜S56の工程を実施しないことで、フラッシュメモリへの書込み回数を抑制することが可能となるため、データ処理速度の向上が図れ、かつフラッシュメモリの書込み回数低減により信頼性を向上できるという効果がある。
《実施の形態3》
図6は、実施の形態3によるフラッシュメモリ制御方法のフローチャートを示している。このフローチャートにおけるホストからメモリカードへのデータ書込み方法を、図2のブロック図を用いて説明する。
図6において、S61にてホスト21からの書込み命令を受けたコントローラ23は、S62にて、ホスト21からデータバッファ231に書込みデータが転送される。S63では、コントローラ23内の管理情報保持メモリ232の情報から、ホスト21から指定された書込み対象論理アドレスに対して、データを書込むフラッシュメモリ22のデータ保持領域222内の物理アドレスを割当てる。
その後、S64にてデータバッファ231のデータについて、特定アドレス以降のデータがフラッシュメモリ初期値と同値になっていないかを判断し、特定アドレス以降のデータがフラッシュメモリ初期値と同値になっていない場合、つまり転送データの最終データがフラッシュメモリ初期値でない場合は、S652にてデータバッファ231に保持されているデータをS63で割当てたフラッシュメモリ22のデータ保持領域222内の物理アドレスに転送する。一方、S64にて特定アドレス以降のデータがフラッシュメモリ初期値と同値になっている場合は、S651にて、データバッファ231に保持されている特定アドレスまでのデータをS63で割当てたフラッシュメモリ22のデータ保持領域222内の物理アドレスに転送する。その後、S66にてS63で更新された管理情報保持メモリ232の情報をフラッシュメモリ22の管理情報保持領域221へ転送する。最後に、S67にてコマンド処理を終了する。
このような実施の形態3のフラッシュメモリ制御方法では、ホストからの特定アドレス以降のデータがフラッシュメモリ初期値に等しい書込み命令に対して、S651の工程にてフラッシュメモリへの転送データ量を削減することで、データ処理速度を向上することができるという効果がある。例えばホストからのFATデータの書込みといった、書込み単位データ量に満たないデータを取り扱う際に特に有用である。
以上説明してきたとおり、本発明に係るフラッシュメモリ制御方法は、ホストからのフラッシュメモリ初期値書込み命令に対して、フラッシュメモリのデータ領域への書込み処理を行わないよう判断する工程を有し、例えばメモリカードの書込み処理速度と信頼性を向上する手段として有用である。
一般的なフラッシュメモリにおける論理データと物理データとの対応関係を示す概念図である。 一般的なメモリカードの構成を示すブロック図である。 従来のフラッシュメモリ制御方法による書込み処理のフローチャートである。 本発明の実施の形態1によるフラッシュメモリ制御方法のフローチャートである。 本発明の実施の形態2によるフラッシュメモリ制御方法のフローチャートである。 本発明の実施の形態3によるフラッシュメモリ制御方法のフローチャートである。
符号の説明
21 ホスト
22 フラッシュメモリ
221 管理情報保持領域
222 データ保持領域
23 コントローラ
231 データバッファ
232 管理情報保持メモリ
233 データ転送制御回路
24 メモリカード

Claims (3)

  1. フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、
    書込み対象論理アドレスがフラッシュメモリの物理アドレスに割当済みかどうかを判定する工程と、
    フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であり、かつ書込み対象論理アドレスがフラッシュメモリの物理アドレスに未割当であった場合に、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法。
  2. フラッシュメモリへの書込みデータとフラッシュメモリ初期値との等価を判定する工程と、
    フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報において、書込み対象論理アドレスをフラッシュメモリの物理アドレスに対して未割当とする工程と、
    フラッシュメモリへの書込みデータとフラッシュメモリ初期値とが等価であった場合に、フラッシュメモリの論理物理アドレス変換情報のみを当該フラッシュメモリへ転送する工程とを備えたことを特徴とするフラッシュメモリ制御方法。
  3. フラッシュメモリへの書込みデータの特定アドレス以降のデータとフラッシュメモリ初期値との等価を判定する工程と、
    フラッシュメモリへのデータ転送の際に、フラッシュメモリ初期値と等価な特定アドレス以後のフラッシュメモリへの書込みデータについては、フラッシュメモリへのデータ転送を取り止める工程とを備えたことを特徴とするフラッシュメモリ制御方法。
JP2006133365A 2006-05-12 2006-05-12 フラッシュメモリ制御方法 Pending JP2007304920A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006133365A JP2007304920A (ja) 2006-05-12 2006-05-12 フラッシュメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006133365A JP2007304920A (ja) 2006-05-12 2006-05-12 フラッシュメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2007304920A true JP2007304920A (ja) 2007-11-22

Family

ID=38838788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006133365A Pending JP2007304920A (ja) 2006-05-12 2006-05-12 フラッシュメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2007304920A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364930B2 (en) 2008-03-07 2013-01-29 Kabushiki Kaisha Toshiba Information processing apparatus and storage drive adapted to perform fault analysis by maintenance of tracing information
JP2013065080A (ja) * 2011-09-15 2013-04-11 Denso Corp 電子制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364930B2 (en) 2008-03-07 2013-01-29 Kabushiki Kaisha Toshiba Information processing apparatus and storage drive adapted to perform fault analysis by maintenance of tracing information
JP2013065080A (ja) * 2011-09-15 2013-04-11 Denso Corp 電子制御装置

Similar Documents

Publication Publication Date Title
JP3892851B2 (ja) メモリカード及び半導体装置
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JPWO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JPWO2006067923A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
US20170220462A1 (en) Data storage method and system thereof
US8819332B2 (en) Nonvolatile storage device performing periodic error correction during successive page copy operations
JP4253272B2 (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
JP5874525B2 (ja) 制御装置、記憶装置、記憶制御方法
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP2006011533A (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP2007304920A (ja) フラッシュメモリ制御方法
WO2020039927A1 (ja) 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
JP2006244017A (ja) データコピー方法
JP2008299455A (ja) データ記憶装置及びデータ管理方法
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2008009614A (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2012037971A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
JP4273109B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2007199846A (ja) メモリ制御装置およびメモリ制御方法