JP3788205B2 - 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 - Google Patents
記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 Download PDFInfo
- Publication number
- JP3788205B2 JP3788205B2 JP2000201055A JP2000201055A JP3788205B2 JP 3788205 B2 JP3788205 B2 JP 3788205B2 JP 2000201055 A JP2000201055 A JP 2000201055A JP 2000201055 A JP2000201055 A JP 2000201055A JP 3788205 B2 JP3788205 B2 JP 3788205B2
- Authority
- JP
- Japan
- Prior art keywords
- area management
- data
- management information
- flag
- information
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、任意のデータ、このデータを管理するためのデータ管理情報及びこのデータが記憶される領域の状態を管理するための領域管理情報を記憶する記憶手段を備える記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置に関する。
【0002】
【従来の技術】
従来より、コンピュータ等の電子機器で用いられるデータを記憶させておく外部記憶装置として、フラッシュメモリ(電気的消去可能型プログラマブルROM(Read-Only Memory))を記憶媒体として用いたカード型の外部記憶装置(以下、メモリカードという。)が提案されている。
【0003】
このメモリカードには、記憶媒体であるメモリに、任意のデータと、付属データである管理情報とが記憶される。そして、メモリカードは、これらデータや管理情報をホスト側のコンピュータ等に供給する際は、エラー訂正符号等を用いてエラー訂正をかけて、セルの故障等に起因するデータのエラーを訂正して出力するようにしている。
【0004】
ところで、上記管理情報としては、記憶されたデータの順番を示す論理アドレス等のようにデータを管理するためのデータに依存した情報(データ管理情報)の他に、例えばデータが記憶された領域が使用可能か否かを示す情報のように、データが記憶される領域の状態を管理するための情報(領域管理情報)が記憶される場合がある。
【0005】
このような領域管理情報は、データから独立したメモリ内の領域に関する情報であるので、データが記憶された後に書き換える必要が生じる場合がある。したがって、この領域管理情報は、通常、データを書き換えることなく単独で書き換えることができるようになされている。
【0006】
また、このような領域管理情報は、エラーが生じた場合に通常のエラー訂正符号を用いてエラー訂正を行うようにすると、情報を書き換える度にエラー訂正符号を書き換えなければならない。そこで、このような領域管理情報に対しては、エラー訂正符号を用いたエラー訂正を行わずに、同一の情報を複数ビットに分散して記憶させておくことでエラー対策をすることが望ましい。
【0007】
【発明が解決しようとする課題】
しかしながら、領域管理情報を複数ビットに分散させて記憶させた場合、メモリカードからデータを読み出す際に伝送データが長くなり伝送効率が悪化してしまう。特に、近年一つのセルに複数ビットの情報を記憶させる技術が提案されており、セルあたりの記憶ビット数が増加していくと、エラー対策のための分散ビット数を多くする必要が生じ、伝送効率が更に悪化する可能性がある。
【0008】
また、このようにメモリカードのセル構造が変わり、情報の分散のさせ方が変更されると、この新しいメモリカードに対応するために、ホスト側からメモリカードに供給するデータの形態や、ホスト側がメモリカードのメモリを管理するためのドライバの構成、インターフェースの仕様等を変更する必要が生じ、既存のメモリカードとの互換性がとれない。特に、デジタルカメラのように、ドライバ等が予め組み込まれた電子機器においては、ソフトのバージョンアップ等で対応できないので、新しいメモリカードを使用することが不可能となってしまう。
【0009】
そこで、本発明は、伝送効率を悪化させることなく領域管理情報を分散して記憶させることができるとともに、セル構造が変わっても既存の記憶装置との互換性がとれる記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明に係る記憶装置は、データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備える記憶装置において、上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該データ用のエラー訂正符号に基づいてエラーが訂正され、上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正される。
【0011】
また、本発明に係るデータ処理システムは、データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備え、上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該エラー訂正符号に基づいてエラーが訂正され、上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正される記憶装置と、上記記憶装置に上記データ及び領域管理情報をインターフェースを介して供給し、又は上記記憶装置から上記インターフェースを介して供給されたデータ及び領域管理情報を処理する上記データ処理装置とを備える。
【0012】
また、本発明に係るデータの書き込み及び読み出し方法は、データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段に対してデータを書き込み又は読み出すデータの書き込み及び読み出し方法において、データ書き込み時は、上記記憶手段を構成する各ブロックに対して、データが記憶される領域の状態を管理するための該データを対象としたエラー訂正符号とともにデータが書き込まれるとともに、上記領域管理情報が該領域管理情報の各符号に対して該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして書き込まれ、更に、該データの論理アドレスが該論理アドレスを対象としたエラー訂正符号とともに書き込まれ、データ読み出し時は、上記記憶手段を構成する各ブロックから上記データを上記エラー訂正符号とともに読み出し、このエラー訂正符号に基づいてデータのエラー訂正を行うとともに、上記領域管理フラグを読み出し、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断し、訂正可能なエラーがある場合にエラーが訂正を行い、更に、上記論理アドレスを該論理アドレスを対象としたエラー訂正符号とともに読み出し、このエラー訂正符号に基づいて論理アドレスのエラー訂正を行う。
【0013】
更に、本発明に係るデータ処理装置は、データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備えるデータ処理装置において、上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該エラー訂正符号に基づいてエラーが訂正され、上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正される。
【0014】
本発明では、入力された領域管理情報が変換手段によりこの領域管理情報よりもビット数の多い該領域管理情報の符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグに変換される。そして、変換手段により変換された領域管理フラグは、制御手段により記憶手段に書き込まれる。
【0015】
また、本発明は、制御手段により記憶手段から読み出された領域管理フラグが、変換手段によりもとの領域管理情報に変換される。そして、変換手段により変換された領域管理情報は、制御手段により出力される。
【0016】
なお、本発明は、変換手段が、上記領域管理情報と上記領域管理フラグとが対応記録された変換テーブルを備えることが望ましい。この場合、変換手段は、この変換テーブルを参照して、入力された領域管理情報を領域管理フラグに変換する。
【0017】
また、本発明は、変換手段が、記憶手段の管理情報記憶領域から読み出された領域管理フラグのパターンから元の領域管理情報を判断するフラグ判別回路を備えることが望ましい。この場合、変換手段は、このフラグ判別回路を用いて、記憶手段から読み出された領域管理フラグを元の領域管理情報に変換する。
【0018】
また、本発明では、記憶手段が例えばフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも3ビットの領域管理フラグに変換し、上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込む。
【0019】
本発明では、上記記憶手段が例えば多値型のフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも5ビットの領域管理フラグに変換し、上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込む。
【0020】
本発明では、第1領域に記憶されるデータはエラー訂正符号によってエラーが訂正され、上記領域管理情報は、上記エラー訂正符号の対象から外されるようにしてもよい。
【0021】
本発明では、領域管理フラグに、エラーが生じた場合であっても、当該フラグの符号の数を比較することにより元の領域管理情報が認識される。
【0022】
本発明では、領域管理フラグにエラーが生じた場合には、当該フラグの符号の数を比較することにより、数の多い方の符号を元の領域管理情報と判断する。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0024】
ここでは、本発明を、図1に示すように、ホスト側の装置となるデータ処理装置10と、シリアルインターフェースを介してこのデータ処理装置10に接続される外部記憶装置であるメモリカード20とから構成されるシステム1に適用した例について説明する。
【0025】
なお、ここでは、データ処理装置10とメモリカード20との間でのデータのやり取りをシリアルインターフェースによって行うシステムを例に説明するが、本発明はデータのやり取りをパラレルインターフェースによって行うシステムに対しても適用可能である。
【0026】
このシステム1に用いられるデータ処理装置10は、所定のプログラムを実行するデータ処理部11と、外部装置であるメモリカード20との間でデータのやり取りをするためのシリアルインターフェース回路12と、データ処理部11とシリアルインターフェース回路12間に設けられ、データ処理装置11から供給されたデータ等を一時的に記憶するレジスタ13と、データ処理部11、シリアルインターフェース回路12、レジスタ13のそれぞれに接続され、これらの処理動作を制御する制御部14とを備えている。
【0027】
このデータ処理装置10は、例えばデータ処理部11が所定のプログラムを実行する際に、外部記憶装置であるメモリカード20にデータを記憶させる必要があると判断した場合は、データ処理部11が制御部14の制御に基づいて、記憶させるべきデータやこのデータを管理するために必要な情報である管理情報、制御データである書き込み命令等をレジスタ13に書き込む。
【0028】
そして、シリアルインターフェース回路12が、制御部14の制御に基づいてレジスタ13からこれら記憶させるべきデータや管理情報、書き込み命令等を読み出し、シリアルデータに変換して、クロック信号やステータス信号とともにこれらの転送を行う。なお、上記管理情報は、データを管理するための情報であるデータ管理情報と、データが記憶される領域の状態を管理するための領域管理情報を含む情報である。
【0029】
また、このデータ処理装置10は、データ処理部11が所定のプログラムを実行する際に、外部記憶装置であるメモリカード20からデータを読み出す必要があると判断した場合は、データ処理部11が制御部14の制御に基づいて制御データである読み出し命令をレジスタ13に書き込む。そして、シリアルインターフェース回路12が、制御部14の制御に基づいてレジスタ13から読み出し命令を読み出し、シリアルデータに変換して、クロック信号やステータス信号とともにこれらの転送を行う。
【0030】
この読み出し命令に従ってメモリカード20から転送されてきた所定のデータや管理情報は、シリアルインターフェース回路12によりパラレルデータに変換され、レジスタ13に書き込まれる。そして、データ処理部11が、制御部14の制御に基づいてレジスタ13からこれら所定のデータや管理情報を読み出して処理を行う。
【0031】
なお、本発明が適用されるシステムに用いられるデータ処理装置は、メモリカード20等の外部記憶装置との間でデータのやり取りが可能なものであれば特に限定されるものではなく、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ等の種々のデータ処理装置が適用可能である。
【0032】
このシステム1において、データ処理装置10とメモリカード20とは、シリアルインターフェースによって接続されており、具体的には、少なくとも3本のデータ線SCLK,State,DIOによって接続される。すなわち、データ処理装置10とメモリカード20とは、少なくとも、データ伝送時にクロック信号を伝送するための第1のデータ線SCLKと、データ伝送時に必要なステータス信号を伝送するための第2のデータ線Stateと、メモリカード20に書き込むデータ又はメモリカード20から読み出すデータをシリアルに伝送する第3のデータ線DIOとによって接続され、これらを介して、データ処理装置10とメモリカード20との間でデータのやり取りを行う。
【0033】
メモリカード20は、図2に示すように、所定のデータや管理情報を記憶するフラッシュメモリ21と、データ処理装置10との間でデータのやり取りをするためのシリアル/パラレル・パラレル/シリアル・インターフェース回路(以下、S/P・P/Sインターフェース回路22という。)と、フラッシュメモリ21とS/P・P/Sインターフェース回路22間に設けられ、S/P・P/Sインターフェース回路22から供給されたデータや管理情報を一時的に記憶するレジスタ23と、このレジスタ23に接続され、レジスタ23に書き込まれたデータやデータ管理情報にエラーがある場合にエラー訂正符号に基づいてエラーを訂正するエラー訂正回路24と、レジスタ23とフラッシュメモリ21間に設けられ、レジスタ23から読み出された領域管理情報をこの領域管理情報に冗長データが付加されてなる情報(本明細書においては、領域管理フラグと称する。)に変換し、又はフラッシュメモリ21から読み出された領域管理フラグを元の領域管理情報に変換する変換部25と、フラッシュメモリ21、S/P・P/Sインターフェース回路22、レジスタ23、変換部25のそれぞれに接続され、これらの処理動作を制御する制御部26とを備えている。
【0034】
S/P・P/Sインターフェース回路22は、少なくとも上述した3本のデータ線SCLK,State,DIOを介して、データ処理装置10のシリアルインターフェース回路12に接続され、これらのデータ線SCLK,State,DIOを介して、データ処理装置10との間でデータのやり取りを行う。すなわち、S/P・P/Sインターフェース回路22は、データ処理装置10のシリアルインターフェース回路12から送られてきたシリアルデータをパラレルデータに変換して、レジスタ23に書き込む。また、S/P・P/Sインターフェース回路22は、レジスタ23から読み出されたパラレルデータをシリアルデータに変換して、データ処理装置10のシリアルインターフェース回路12へ送出する。
【0035】
このS/P・P/Sインターフェース回路22とデータ処理装置10との間でのシリアルデータの伝送は、第1のデータ線SCLKによってデータ処理装置10から送られてくるクロック信号によって同期を取りながら、第3のデータ線DIOによって行われる。このとき、第3のデータ線DIOによってやり取りされるシリアルデータのデータ種別は、第2のデータ線Stateによって伝送されるステータス信号によって判別される。ここで、シリアルデータの種別には、例えば、フラッシュメモリ21に記憶させるべきデータ、フラッシュメモリ21から読み出されたデータ、又はこのメモリカード20の動作を制御するための制御データ等がある。
【0036】
また、S/P・P/Sインターフェース回路22は、データ処理装置10から送られてきたデータが書き込み命令や読み出し命令等の制御データである場合には、当該制御データを制御部26に供給する。
【0037】
制御部26は、このS/P・P/Sインターフェース回路22から供給された制御データに基づいてメモリカード20の動作を制御する。
【0038】
レジスタ23はフラッシュメモリ21とS/P・P/Sインターフェース回路22間でやり取りされるデータを一時的に記憶する。
【0039】
エラー訂正回路24は、S/P・P/Sインターフェース回路22によりレジスタ23に書き込まれたデータにエラー訂正符号を付加する。また、エラー訂正回路24は、フラッシュメモリから読み出されレジスタ23に書き込まれたデータにエラー訂正処理を施す。
【0040】
変換部25は、レジスタ23から読み出された管理情報のうち領域管理情報を領域管理フラグに変換する。また、変換部25は、フラッシュメモリ21から読み出された領域管理フラグを元の領域管理情報に変換する。
【0041】
以上のようなメモリカード20に対して、データ処理装置10から記憶させるべきデータや管理情報、書き込み命令等がシリアルデータとして送られてくると、先ず、S/P・P/Sインターフェース回路22がこれらのデータをパラレルデータに変換して、書き込み命令を制御部26に供給するとともに、制御部26の制御に基づいて、所定のデータや管理情報をレジスタ23に書き込む。
【0042】
ここで、レジスタ23に書き込まれた所定のデータや管理情報には、エラー訂正回路24により、領域管理情報以外を対象としたエラー訂正符号が付加される。
【0043】
そして、制御部26が、S/P・P/Sインターフェース回路22から供給された書き込み命令に基づいて、レジスタ23から所定のデータや管理情報を読み出して、フラッシュメモリ21に書き込む処理を行う。この際、制御部26は、レジスタ23から読み出した管理情報のうち領域管理情報を先ず変換部25に供給する。変換部25に供給された領域管理情報は、この変換部25により領域管理フラグに変換される。そして、制御部26は、この変換部25により変換された領域管理フラグをフラッシュメモリ21に書き込む。
【0044】
また、このメモリカード20は、データ処理装置10から読み出し命令が送られてくると、S/P・P/Sインターフェース回路22が、この読み出し命令を制御部26に供給する。
【0045】
そして、制御部26が、S/P・P/Sインターフェース回路22から供給された読み出し命令に基づいて、フラッシュメモリ21から所定のデータや管理情報を読み出して、レジスタ23に書き込む。この際、制御部26は、フラッシュメモリ21から読み出した領域管理フラグを先ず変換部25に供給する。変換部25に供給された領域管理フラグは、この変換部25により元の領域管理情報に変換される。そして、制御部26は、この変換部25により変換された元の領域管理情報をレジスタ23に書き込む。
【0046】
ここで、レジスタ23に書き込まれたデータや管理情報のうちデータ管理情報にエラーがある場合は、エラー訂正回路24にてエラー訂正符号に基づいてエラー訂正が行われる。
【0047】
そして、S/P・P/Sインターフェース回路22が、制御部26の制御に基づいてレジスタ23からこれら所定のデータや管理情報等を読み出してシリアルデータに変換し、データ処理装置10に送出する。
【0048】
なお、以上はメモリカード20にエラー訂正回路24が設けられ、メモリカード20内でエラー訂正を行うシステムについて説明したが、本発明はデータ処理装置がエラー訂正回路を備え、データ処理装置側でエラー訂正を行うシステムに対しても適用可能である。この場合、データにエラー訂正符号が付加された状態で、データ処理装置10とメモリカード20との間のデータのやり取りが行われる。
【0049】
ここで、上述したメモリカード20に搭載されるフラッシュメモリ21の記憶領域の構造について説明する。
【0050】
このフラッシュメモリ21の記憶領域は、記憶単位である多数のセルから構成され、図3(a)に示すように、データの消去単位となる複数のブロックに分割されている。そして、これらの各ブロックには、それぞれ固有の物理アドレスが付けられている。
【0051】
これらのブロックは、データの消去単位であると同時に、ファイル管理上の最小単位でもある。すなわち、ファイルは1つ又は複数のブロックに格納され、1つのブロックを複数のファイルで利用することはできないようになされている。
【0052】
これら各ブロックは複数のセルからなり、これら各セルに「1」又は「0」を示す2つの状態を取り得る情報、すなわち1ビットの情報が記憶される。
【0053】
そして、各ブロックは、初期状態では、全てのビットが「1」とされており、ビット単位での変更は「1」から「0」への変更のみが可能とされている。したがって、フラッシュメモリ21に「1」及び「0」からなるデータを書き込む際は、「1」については該当するビットをそのまま保持し、「0」については該当するビットを「1」から「0」に変更してデータの書き込みを行う。
【0054】
また、一度書き込んだデータをフラッシュメモリ21から消去する際は、ブロック単位で一括して初期化処理を行い、当該ブロックの全ビットを「1」とする。これにより、当該ブロックに書き込まれたデータは一括消去され、このブロックは再びデータ書き込みが可能な状態とされる。
【0055】
また、フラッシュメモリ21の各ブロックは、図3(b)に示すように、データの書き込みや読み出しの単位となる複数のページから構成される。このページは、例えば512バイトの記憶容量を有する記憶単位であり、フラッシュメモリ21にデータを書き込む際は、このページ単位でレジスタ23から読み出されたデータが、制御部25によりページ単位でフラッシュメモリ21に書き込まれる。また、このフラッシュメモリ21からデータを読み出す際は、制御部25によりフラッシュメモリ21からデータがページ毎に読み出され、レジスタ23に供給される。
【0056】
データの書き込みや読み出しの単位となるページは、データ記憶領域と管理情報記憶領域とを有している。ここで、データ記憶領域とは、任意のデータが書き込まれる領域をいい、管理情報記憶領域とは、データ記憶領域に書き込まれるデータの管理に必要な情報(管理情報)が格納される領域をいう。
【0057】
管理情報記憶領域は、16バイトの領域を有し、このうち最初の3バイトが、ブロック単位で一括して初期化処理を行うことなく情報を書き換えることができるオーバーライト領域に設定されている。そして、管理情報記憶領域は、残りの13バイトが、情報を書き換える際はブロック単位で一括して初期化処理を行う通常領域に設定されている。
【0058】
そして、ブロックを構成する各ページの管理情報記憶領域に、管理情報が格納される。具体的には、図3(c)に示すように、各ブロックの先頭ページの管理情報記憶領域には、このブロックを管理するために必要な情報として、いわゆる分散管理情報が格納される。また、各ブロックの2ページ目以降の各ページの管理情報記憶領域にも、予備の分散管理情報として、先頭ページの管理情報記憶領域に格納された分散管理情報と同じ管理情報が記憶される。ただし、各ブロックの最終ページの管理情報記憶領域には、分散管理情報だけでは不足する情報を補う、いわゆる追加管理情報が格納される。
【0059】
このように、メモリカード20に搭載されるフラッシュメモリ21では、各ブロック内の管理情報記憶領域に、それぞれのブロックを管理するための分散管理情報が格納され、この分散管理情報により、例えば当該ブロックがファイルの先頭となるブロックであるか否かについての情報や、複数のブロックからファイルが構成される場合にはそれらのブロックの繋がりを示す情報等を得ることができる。
【0060】
そして、このメモリカード20は、各ブロックの分散管理情報を集めることにより、フラッシュメモリ21全体を管理するための情報として、いわゆる集合管理情報を作成して、この集合管理情報を一つのファイルとしてフラッシュメモリ21に格納するようにしている。
【0061】
そして、データ処理装置10とメモリカード20間でデータのやり取りを行う場合、データ処理装置10は、通常、フラッシュメモリ21からこの集合管理情報を読み出して、各ブロックにアクセスするために必要な情報を得るようにしている。これにより、データアクセスの度に個々のブロックに格納された分散管理情報にアクセスする必要がなくなり、より高速なデータアクセスが可能となる。
【0062】
次に、分散管理情報、追加管理情報、集合管理情報について、更に詳細に説明する。
【0063】
分散管理情報は、各ページ毎に設けられた16バイトの管理情報記憶領域に格納された、ブロックを管理するための管理情報である。そして、この分散管理情報は、例えば図4に示すように、1バイトの可/不可フラグと、1バイトのブロックフラグと、4ビットの最終フラグと、4ビットの参照フラグと、1バイトの管理フラグと、2バイトの論理アドレスと、2バイトの連結アドレスと、2バイトの分散管理情報用エラー訂正符号と、3バイトのデータ用エラー訂正符号とからなり、これらの情報のうち、可/不可フラグ、ブロックフラグ、最終フラグ、参照フラグが、管理情報記憶領域の最初の3バイトのオーバーライト領域に格納される。
【0064】
また、管理情報記憶領域の13バイトの通常領域に、管理フラグと論理アドレスと連結アドレスとリザーブ領域と分散管理情報用エラー訂正符号とデータ用エラー訂正符号とが格納される。そして、通常領域の残りの3バイトは、リザーブ領域とされる。
【0065】
可/不可フラグは、ブロックが使用可能な状態か使用不可能な状態かを示すフラグである。すなわち、ブロック内に回復不可能なエラーが生じたようなときは、この可/不可フラグによって、当該ブロックが使用不可能な状態であることが示される。
【0066】
ブロックフラグは、ブロックの使用状態を示すフラグであり、具体的には、「未使用」、「先頭使用」、「使用」、「未消去」の4つの状態を示すフラグである。「未使用」は、当該ブロックが未使用又は消去済みで初期状態(全ビットが「1」の状態)とされており、すぐにデータの書き込みが可能な状態を示す。「先頭使用」は、当該ブロックがファイルの先頭で使用されている状態を示す。「使用」は、当該ブロックがファイルの先頭以外で使用されている状態を示す。したがって、ブロックフラグが「使用」のとき、当該ブロックは他のブロックから連結されていることとなる。「未消去」は、当該ブロックに書かれていたデータが不要となった状態を示す。このメモリカード20においては、ブロック内に記憶された不要なデータを消去する場合に、まずブロックフラグを「未消去」の状態にしておき、処理時間に余裕があるときに、ブロックフラグが「未消去」になっているブロックを消去するようにしている。これにより、メモリカード20は、データの消去の処理をより効率よく行うことが可能となる。
【0067】
最終フラグは、ファイルが当該ブロックで終わっているか否かを示すフラグであり、具体的には、「ブロック連続」、「ブロック最終」の2つの状態を示すフラグである。「ブロック連続」は、当該ブロックに記憶されたファイルにはまだ続きがあり、他のブロックに続いていることを示す。「ブロック最終」は、当該ブロックに記憶されたファイルは、このブロックで終了していることを示す。
【0068】
参照フラグは、追加管理情報の参照を指示するためのフラグであり、具体的には、「参照情報なし」、「参照情報あり」の2つの状態を示すフラグである。「参照情報なし」は、ブロックの最終ページの管理情報記憶領域に有効な追加管理情報が存在しないことを示す。「参照情報あり」は、ブロックの最終ページの管理情報記憶領域に有効な追加管理情報が存在することを示す。
【0069】
管理フラグは、ブロックの属性等を示すフラグであり、例えば当該ブロックが読み出し専用のブロックか、あるいは書き込みも可能なブロックか等の属性を示す。
【0070】
論理アドレスは、当該ブロックの論理アドレスを示す。この論理アドレスの値は、データの書換を行うとき等に必要に応じて更新される。なお、この論理アドレスの値は、同じ論理アドレスの値を同時に複数のブロックが持つことがないように設定されている。
【0071】
連結アドレスは、当該ブロックに連結する他のブロックの論理アドレスを示す。すなわち、当該ブロックに記憶されたファイルが他のブロックに続いている場合に、連結アドレスは、そのファイルの続きが記憶されたブロックの論理アドレスの値を示す。
【0072】
分散管理情報用エラー訂正符号は、分散管理情報のうち、管理フラグ、論理アドレス、連結アドレス及びリザーブ領域に書き込まれたデータを対象としたエラー訂正符号である。
【0073】
データ用エラー訂正符号は、このデータ用エラー訂正符号が書き込まれたページのデータ記憶領域に記憶されたデータを対象としたエラー訂正符号である。
【0074】
ところで、上述した分散管理情報のうち、可/不可フラグ、ブロックフラグ、最終フラグ、参照フラグは、データ記憶領域の状態を管理するための情報(領域管理情報)であり、データから独立して書き換える必要が生じる場合があるので、上述した分散管理情報用エラー訂正符号の対象から外し、それぞれの情報を示す符号と同一符号の所定量の冗長データが付加されてなるフラグ(領域管理フラグ)として管理情報記憶領域に格納されることにより、エラー対策がなされている。
【0075】
具体的には、これらの領域管理情報は、図5に示すように、冗長データが付加されて領域管理フラグとして管理情報記憶領域のオバーライト領域に格納されている。
【0076】
すなわち、可/不可フラグは、ブロックが使用可能な状態である場合は1ビットの情報「1」で示され、ブロックが使用不可能な状態である場合は1ビットの情報「0」で示される。そして、この可/不可フラグは、管理情報記憶領域に格納されるときは、冗長データが付加されて、例えば1バイトの情報「11111111」又は「0000 0000」に変換されて格納される。
【0077】
また、ブロックフラグは、ブロックが「未使用」の場合には2ビットの情報「11」で示され、ブロックが「先頭使用」の場合には2ビットの情報「10」で示され、ブロックが「使用」の場合には2ビットの情報「01」で示され、ブロックが「未消去」の場合には2ビットの情報「00」で示される。そして、このブロックフラグは、管理情報記憶領域に格納されるときは、冗長データが付加されて、例えば1バイトの情報「1111 1111」又は「1111 0000」又は「0000 1111」又は「0000 0000」に変換されて格納される。
【0078】
また、最終フラグは、「ブロック連続」の場合は1ビットの情報「1」で示され、「ブロック最終」の場合には1ビットの情報「0」で示される。そして、この最終フラグは、管理情報記憶領域に格納されるときは、冗長データが付加されて、例えば4ビットの情報「1111」又は「0000」に変換されて格納される。
【0079】
また、参照フラグは、「参照情報なし」の場合は1ビットの情報「1」で示され、「参照情報あり」の場合は1ビットの情報「0」で示される。そして、この参照フラグは、管理情報記憶領域に格納されるときは、例えば4ビットの情報「1111」又は「0000」に変換されて格納される。
【0080】
これら領域管理情報は、以上のように冗長データが付加された領域管理フラグとして管理情報記憶領域に格納されることにより、例えば当該フラグが格納されたセルが故障してエラーが生じた場合であっても、例えば領域管理フラグの「1」と「0」の数を比較することにより元の領域管理情報が認識される。
【0081】
追加管理情報は、ブロックの最終ページの16バイトの管理情報記憶領域に格納される情報であり、分散管理情報だけでは不足する情報を補う追加情報を含んでいる。
【0082】
この追加管理情報は、具体的には、例えば図6に示すように、1バイトの可/不可フラグと、1バイトのブロックフラグと、4ビットの最終フラグと、4ビットの参照フラグと、1バイトの識別番号と、2バイトの有効データサイズと、2バイトの追加管理情報用エラー訂正符号と、3バイトのデータ用エラー訂正符号とからなる。
【0083】
ここで、領域管理フラグである可/不可フラグ、ブロックフラグ、最終フラグ、参照フラグとデータ用エラー訂正符号については、分散管理情報の場合と同様である。また、追加情報用エラー訂正符号は、分散管理情報における分散管理情報用エラー訂正符号に相当するものであり、追加管理情報のうち領域管理フラグを除いた識別番号、有効データサイズ及びリザーブ領域に書き込まれたデータを対象としたエラー訂正符号である。
【0084】
そして、識別番号及び有効データサイズとが、分散管理情報の不足分を補う追加情報として、追加管理情報に含まれている。
【0085】
そして、追加管理情報も分散管理情報と同様に、領域管理情報である可/不可フラグ、ブロックフラグ、最終フラグ、参照フラグが、冗長データが付加された領域管理フラグとして、管理情報記憶領域の最初の3バイトのオーバーライト領域に格納される。
【0086】
また、管理情報記憶領域の13バイトの通常領域に、識別番号と有効データサイズと追加管理情報用エラー訂正符号とデータ用エラー訂正符号とが格納される。そして、通常領域の残りの5バイトは、リザーブ領域とされる。
【0087】
識別番号は、エラー処理用の情報であり、ブロックのデータを書き換える度に、識別番号の値がインクリメントされる。この識別番号は、何らかのエラーが発生して、同じ論理アドレスを持つブロックが複数存在するようになってしまった場合に、それらのブロックに書き込まれたデータの新旧を識別するために使用される。なお、識別番号には1バイトの領域が使用され、その値の範囲は「0」から「255」まであり、その初期値(すなわち、新しい論理アドレスを使用するときに最初に設定される識別番号の値)は、「0」とされる。なお、識別番号が「255」を越えたときには「0」に戻るものとする。そして、同じ論理番号を持つブロックが複数存在する場合には、この識別番号の値が小さい方のブロックを有効とする。
【0088】
有効データサイズは、ブロック内の有効なデータのサイズを示す。すなわち、当該ブロックのデータ記憶領域に空きがある場合、有効データサイズは、当該データ記憶領域に書き込まれたデータのサイズの値を示す。このとき、参照フラグは「参照情報あり」に設定される。なお、ブロックのデータ記憶領域に空きがない場合、有効データサイズは当該ブロックのデータ領域に空きがないことを示す情報として「0xffff」に設定される。
【0089】
なお、以上説明した分散管理情報及び追加管理情報は、ブロック内のデータが更新される毎に、常に最新情報となるように更新される。
【0090】
集合管理情報は、上述したように、各ブロックの分散管理情報を集めて作成される情報であり、ファイルとしてフラッシュメモリ21に格納される。すなわち、図7に示すように、各ブロックの分散管理情報から、全ブロックをまとめて管理するための情報である集合管理情報のファイルが作成され、この集合管理情報が所定のブロックのデータ記憶領域に格納される。なお、集合管理情報は、1つのブロックに格納されるものであっても、複数のブロックにわたって格納されるものであってもよい。そして、データ処理装置10は、通常は、この集合管理情報によって、各ブロックにアクセスするために必要な情報を得るようにする。
【0091】
以上説明したように、本発明を適用したメモリカード20は、データの管理に必要な情報である管理情報のうち、領域管理情報については、変換部25により冗長データを有する領域管理フラグに変換されてフラッシュメモリ21の管理情報記憶領域、詳しくは管理情報記憶領域のうちのオーバーライト領域に記憶される。そして、フラッシュメモリ21から読み出された領域管理フラグは、変換部25により元の領域管理情報に変換されてレジスタ23、S/P・P/Sインターフェース回路22を介してデータ処理装置10に転送される。
【0092】
ここで、レジスタ23から読み出された領域管理情報を領域管理フラグに変換し、又はフラッシュメモリ21から読み出された領域管理フラグを元の領域管理情報に変換する変換部25の詳細について説明する。
【0093】
この変換部25は、図1に示すように、変換テーブル27とフラグ判別回路28と変換制御部29とを備えている。
【0094】
変換テーブル27には、領域管理情報と領域管理フラグとが対応記録されている。例えば、この変換テーブル27には、可/不可フラグに関し、領域管理情報の「1」とこれに対応する領域管理フラグの「1111 1111」が記録され、領域管理情報の「0」とこれに対応する領域管理フラグの「0000 0000」が記録されている。
【0095】
また、変換テーブル27には、ブロックフラグに関し、領域管理情報の「11」とこれに対応する領域管理フラグの「1111 1111」が記録され、領域管理情報の「10」とこれに対応する領域管理フラグの「1111 0000」が記録され、領域管理情報の「01」とこれに対応する領域管理フラグの「0000 1111」が記録され、領域管理情報の「00」とこれに対応する領域管理フラグの「0000 0000」が記録されている。
【0096】
また、変換テーブル27には、最終フラグに関し、領域管理情報の「1」とこれに対応する領域管理フラグの「1111」が記録され、領域管理情報の「0」とこれに対応する領域管理フラグの「0000」が記録されている。
【0097】
また、変換テーブル27には、参照フラグに関し、領域管理情報の「1」とこれに対応する領域管理フラグの「1111」が記録され、領域管理情報の「0」とこれに対応する領域管理フラグの「0000」が記録されている。
【0098】
そして、変換部25に領域管理情報が供給されると、変換制御部29が、変換テーブル27を参照して、供給された領域管理情報をこの領域管理情報に対応した領域管理フラグに変換する。
【0099】
フラグ判別回路28は、フラッシュメモリ21から読み出された領域管理フラグのパターンから元の領域管理情報を判断する。すなわち、このフラグ判別回路28は、フラッシュメモリ21に記憶された領域管理フラグに、セルの故障等に起因するエラーが生じた場合であっても、このエラーを有する領域管理フラグのパターンから、元の領域管理情報が判別できるようになされている。
【0100】
具体的には、例えば最終フラグに関し、領域管理情報の「1」が、領域管理フラグ「1111」としてメモリ21に記憶されていた場合に、セルの故障に起因してこの領域管理フラグにエラーが生じ、「1111」が「1110」又は「1101」又は「1011」又は「0111」となっていたとする。この場合、フラグ判別回路28は、この領域管理フラグの「0」と「1」の数を比較して、数の多い方の情報、すなわち「1」を元の領域管理情報であると判断する。
【0101】
そして、変換制御部29は、フラグ判別回路28により判断された情報を元の領域管理情報としてレジスタ23に書き込む。
【0102】
なお、以上は、可/不可フラグについては1ビットの領域管理情報を1バイトの領域管理フラグとしてフラッシュメモリ21に記憶させ、ブロックフラグについていは2ビットの領域管理情報を1バイトの領域管理フラグとしてフラッシュメモリ21に記憶させ、最終フラグについては1ビットの領域管理情報を4ビットの領域管理フラグとしてフラッシュメモリ21に記憶させ、参照フラグについては1ビットの領域管理情報を4ビットの領域管理フラグとしてフラッシュメモリ21に記憶させた例について説明したが、冗長データの付加のさせ方はこの例に限定されるものではなく、フラッシュメモリ21のセルの故障率を基に、セルに故障が生じた場合でも元の領域管理情報が判別できる範囲で、冗長データの付加のさせ方を決めればよい。
【0103】
例えば、セルの故障率が低い場合は、1ビットの領域管理情報につき2ビットの冗長データを付加し、3ビットの領域管理フラグに変換して3つのセルに分散させて記憶させるようにすれば、3つのセルのうちの1つのセルが故障した場合であっても、フラグ判別回路28により「0」と「1」の数を比較することにより元の領域管理情報が判別される。但し、領域管理情報に付加する冗長データのビット数を増やせば、それだけデータの信頼性が増すことになる。
【0104】
本発明を適用したメモリカード20は、以上のような変換部25を備え、入力された領域管理情報をこの管理情報に冗長データを付加してなる領域管理フラグに変換してフラッシュメモリ21に記憶させることにより、記憶された領域管理フラグにフラッシュメモリ21のセルの故障等に起因するエラーが生じた場合であっても、エラー訂正符号を用いることなくエラーを訂正して元の領域管理情報を出力することができる。
【0105】
また、このメモリカード20は、データ処理装置10との間でデータのやり取りをする際は、領域管理情報を冗長データが付加されていない元の領域管理情報のままで伝送するようにしているので、冗長データを付加する場合の問題点である伝送効率の悪化を招くことがなく、また冗長データの付加の仕方が変更された場合でも、データ処理装置10の構成を変更することなく対応可能で、メモリカード間の互換性を保つことができる。
【0106】
なお、以上は、一つのセルに1ビットの情報が記憶される、いわゆる2値型のフラッシュメモリについて説明したが、本発明は、1つのセルに2ビット以上の情報が記憶される、いわゆる多値型のフラッシュメモリを搭載したメモリカードにも適用可能である。
【0107】
この場合、例えば1つのセルに2ビットの情報が記憶されるフラッシュメモリにおいては、1つのセルが故障したときに2ビットのエラーが生じることになる。したがって、このようなフラッシュメモリに例えば1ビットの領域管理情報記憶させる際は、この領域管理情報を少なくとも5ビットの領域管理フラグに変換して3つのセルに記憶させることが望ましい。このように、1つのセルに2ビットの情報が記憶されるフラッシュメモリにおいて、1ビットの領域管理情報を少なくとも5ビットの領域管理フラグに変換して3つのセルに記憶させることにより、当該領域管理フラグが格納されたセルのうち一つが故障して2ビットのエラーが生じた場合であっても、上述した変換部25のフラグ判別回路28において領域管理フラグの「1」と「0」の数を比較することにより、元の領域管理情報が認識される。
【0108】
具体的には、1つのセルに2ビットの情報が記憶されるフラッシュメモリの管理情報記憶領域に領域管理情報を記憶させる場合は、例えば図8に示すように、領域管理情報に冗長データを付加して領域管理フラグとして記憶させる。なお、上述したように、変換部25のフラグ判別回路28において元の領域管理情報を認識するためには、1ビットの領域管理情報を5ビットの領域管理フラグに変換すればよいが、偶数ビットに変換した方がデータが扱いやすいので、この図8に示す例においては、1ビットの領域管理情報を6ビット若しくは1バイトの領域管理フラグに変換して記憶させ、2ビットの領域管理情報を12ビットの領域管理フラグに変換して記憶させるようにしている。
【0109】
すなわち、可/不可フラグに関し、ブロックが使用可能な状態であることを示す1ビットの領域管理情報「1」は、1バイトの領域管理フラグブ「11111111」に変換されて4つのセルに記憶され、ブロックが使用不可能な状態であることを示す1ビットの領域管理情報「0」は、1バイトの領域管理フラグ「0000 0000」に変換されて4つのセルに記憶される。
【0110】
また、ブロックフラグに関し、ブロックが「未使用」であることを示す2ビットの領域管理情報「11」は、12ビットの領域管理フラグ「111111 111111」に変換されて6つのセルに記憶され、ブロックが「先頭使用」であることを示す2ビットの領域管理情報「10」は、12ビットの領域管理フラグ「111111 000000」に変換されて6つのセルに記憶され、ブロックが「使用」であることを示す2ビットの領域管理情報「01」は、12ビットの領域管理フラグ「000000 111111」に変換されて6つのセルに記憶され、ブロックが「未消去」であることを示す2ビットの領域管理情報「00」は、12ビットの領域管理フラグ「000000 000000」に変換されて6つのセルに記憶される。
【0111】
また、最終フラグに関し、「ブロック連続」であることを示す1ビットの領域管理情報「1」は、6ビットの領域管理フラグ「111111」に変換されて3つのセルに記憶され、「ブロック最終」であることを示す1ビットの領域管理情報「0」は、6ビットの領域管理フラグ「000000」に変換されて3つのセルに記憶される。
【0112】
また、参照フラグに関し、「参照情報なし」であることを示す1ビットの領域管理情報「1」は、6ビットの領域管理フラグ「111111」に変換されて3つのセルに記憶され、「参照情報あり」であることを示す1ビットの領域管理情報「0」は、6ビットの領域管理フラグ「000000」に変換されて3つのセルに記憶される。
【0113】
以上ように、領域管理情報に冗長データを付加して領域管理フラグとして記憶させておくことにより、例えば最終フラグに関し、セルの故障にエラーが生じて、「111111」が「111100」又は「110011」又は「001111」となっていた場合でも、フラグ判別回路28によりこの最終フラグの「0」と「1」の数が比較されることにより、元の領域管理情報「1」が認識される。
【0114】
なお、この場合、変換テーブル27には、領域管理情報と上述した領域管理フラグを対応記録させておくようにする。
【0115】
また、以上のように領域管理情報を領域管理フラグに変換して管理情報記憶領域に記憶させる場合は、領域管理フラグ全体で4バイト使用することになるので、16バイトの管理情報記憶領域のうち最初の4バイトをオーバーライト領域に設定する。
【0116】
また、2ビットの領域管理情報であるブロックフラグに関しては、例えば図9に示すように、ブロックが「未使用」であることを示す領域管理情報「11」を、6ビットの領域管理フラグ「111111」に変換して3つのセルに分散させて記憶し、ブロックが「先頭使用」であることを示す領域管理情報「10」を、6ビットの領域管理フラグ「101010」に変換して3つのセルに分散させて記憶し、ブロックが「使用」であることを示す領域管理情報「01」を、6ビットの領域管理フラグ「010101」に変換して3つのセルに分散させて記憶し、ブロックが「未消去」であることを示す領域管理情報「00」を、6ビットの領域管理フラグ「000000」に変換して3つのセルに分散させて記憶するようにしてもよい。
【0117】
この場合、フラグ判別回路28は、2ビット単位で符号のパターンを認識し、多いパターンを元の領域管理情報として判別する。
【0118】
具体的には、例えばブロックが「先頭使用」であることを示す領域管理情報「10」を、6ビットの領域管理フラグ「101010」に変換して3つのセルに分散させて記憶させた場合において、1つのセルが故障すると、領域管理フラグ「101010」が「001010」又は「011010」又は「111010」又は「100010」又は「100110」又は「101110」又は「101000」又は「101001」又は「101011」のいずれかになる。この場合、フラグ判別回路28は、この領域管理フラグの符号のパターンを2ビット単位で認識し、多いパターン「10」を元の領域管理情報であると判断する。
【0119】
2ビットの領域管理情報であるブロックフラグを以上のように領域管理フラグとして記憶させるようにした場合は、使用ビット数を少なくすることができる。
【0120】
なお、以上は、外部記憶装置であるメモリカード20及びこのメモリカード20とデータ処理装置10とを備えたシステム1に本発明を適用した例について説明したが、本発明は、内部メモリを備えたデータ処理装置に適用することも可能である。この場合、内部メモリに領域管理情報を記憶させる際に、領域管理情報をこの領域管理情報に冗長データを付加した領域管理フラグに変換して記憶させ、また内部メモリから領域管理フラグを読み出す際にこの領域管理フラグを元の領域管理情報に変換して読み出すようにすればよい。
【0121】
【発明の効果】
本発明に係る記憶装置は、領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正されるようにしているので、伝送効率の悪化を招くことなく、領域管理情報のエラー対策をエラー訂正符号を用いずに行うことができる。
【0122】
また、この記憶装置は、領域管理情報を伝送するときには元の領域管理情報のままで伝送するようにしているので、冗長データの付加の仕方が変更された場合でも、外部装置の構成を変更することなくこの外部装置とのデータの伝送が可能で、互換性を保つことができる。
【0123】
また、本発明に係るデータ処理システムは、領域管理情報は、領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして記憶手段に格納され、領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正されるようにしているので、記憶装置とデータ処理装置間のデータの伝送を伝送効率の悪化を招くことなく行うことができるとともに、領域管理情報のエラー対策をエラー訂正符号を用いることなく行うことができる。
【0124】
また、このデータ処理システムは、記憶装置とデータ処理装置間で領域管理情報を伝送するときには元の領域管理情報のままで伝送するようにしているので、冗長データの付加の仕方が変更された場合でも、データ処理装置の構成を変更することなく記憶装置とデータ処理装置間のデータの伝送が可能で、互換性を保つことができる。
【0125】
また、本発明に係るデータの書き込み及び読み出し方法によれば、データ書き込み時は、記憶手段を構成する各ブロックに対して、データが記憶される領域の状態を管理するための領域管理情報以外のデータを対象としたエラー訂正符号とともにデータが書き込まれるとともに、領域管理情報が領域管理情報の各符号に対して各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして書き込まれ、データ読み出し時は、記憶手段を構成する各ブロックからデータをエラー訂正符号とともに読み出し、このエラー訂正符号に基づいてデータのエラー訂正を行うとともに、領域管理フラグを読み出し、領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断し、訂正可能なエラーがある場合にエラーが訂正を行うようにしているので、記憶装置と外部装置との間でデータを伝送する際の伝送効率の悪化を招くことなく、領域管理情報のエラー対策をエラー訂正符号を用いずに行うことができる。
【0126】
また、このデータの書き込み及び読み出し方法によれば、データ読み出し時は、領域管理フラグを元の領域管理情報に変換してするようにしているので、記憶装置に記憶される領域管理フラグの冗長データの付加の仕方が変更された場合でも、外部装置の構成を変更することなく記憶装置と外部装置とのデータの伝送が可能で、互換性を保つことができる。
【0127】
また、本発明に係るデータ処理装置によれば、領域管理情報は、領域管理情報の各符号に対して、各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして記憶手段に格納され、領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正されるようにしているので、伝送効率の悪化を招くことなく、領域管理情報のエラー対策をエラー訂正符号を用いずに行うことができる。
【0128】
また、このデータ処理装置は、領域管理情報を伝送するときには元の領域管理情報のままで伝送するようにしているので、冗長データの付加の仕方が変更された場合でも、外部装置の構成を変更することなくこの外部装置とのデータの伝送が可能で、互換性を保つことができる。
【図面の簡単な説明】
【図1】データ処理装置の構成を示すブロック図である。
【図2】メモリカードの構成を示すブロック図である。
【図3】フラッシュメモリの記憶領域の構造を示す模式図である。
【図4】分散管理情報を説明する模式図である。
【図5】領域管理フラグの一例を示す模式図である。
【図6】追加管理情報を説明する模式図である。
【図7】集合管理情報の構築を説明する模式図である。
【図8】領域管理フラグの他の例を説明する模式図である。
【図9】領域管理フラグの他の例を説明する模式図である。
【符号の説明】
1 システム、10 データ処理装置、20 メモリカード、21 フラッシュメモリ、25 変換部、26 制御部、27 変換テーブル、28 フラグ判別回路、29 変換制御部
Claims (32)
- データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備える記憶装置において、
上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、
上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、
上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該データ用のエラー訂正符号に基づいてエラーが訂正され、
上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正されることを特徴とする記憶装置。 - 入力された上記領域管理情報を、該領域管理情報の符号と同一符号の所定量の冗長データが付加されてなる上記領域管理フラグに変換し、又は上記記憶手段から読み出された上記領域管理フラグを元の領域管理情報に変換する変換手段と、
上記変換手段によって変換された領域管理フラグを上記記憶手段に書き込み、又は上記記憶手段から上記領域管理フラグを読み出して上記変換手段に供給し、この変換手段によって変換された元の領域管理情報を出力する制御を行う制御手段とを備えることを特徴とする請求項1記載の記憶装置。 - 上記変換手段は、上記領域管理情報と上記領域管理フラグとが対応記録された変換テーブルを備え、この変換テーブルを参照して、上記領域管理情報を上記領域管理フラグに変換することを特徴とする請求項2記載の記憶装置。
- 上記変換手段は、上記記憶手段から読み出された領域管理フラグのパターンから元の領域管理情報を判断するフラグ判別回路を備え、このフラグ判別回路を用いて、上記記憶手段から読み出された領域管理フラグを上記領域管理情報に変換することを特徴とする請求項2記載の記憶装置。
- 上記記憶手段はフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも3ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項2記載の記憶装置。 - 上記記憶手段は、多値型のフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも5ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項2記載の記憶装置。 - 上記領域管理フラグは、エラーが生じた場合であっても、当該フラグの符号の数を比較することにより元の領域管理情報が認識されることを特徴とする請求項1記載の記憶装置。
- 上記領域管理フラグにエラーが生じた場合には、当該フラグの符号の数を比較することにより、数の多い方の符号を元の領域管理情報と判断することを特徴とする請求項1記載の記憶装置。
- データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備え、上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該エラー訂正符号に基づいてエラーが訂正され、上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正される記憶装置と、
上記記憶装置に上記データ及び領域管理情報をインターフェースを介して供給し、又は上記記憶装置から上記インターフェースを介して供給されたデータ及び領域管理情報を処理する上記データ処理装置とを備えることを特徴とするデータ処理システム。 - 上記記憶装置は、更に、入力された上記領域管理情報を、該領域管理情報の符号と同一符号の所定量の冗長データが付加されてなる上記領域管理フラグに変換し、又は上記記憶手段から読み出された上記領域管理フラグを元の領域管理情報に変換する変換手段と、
上記変換手段によって変換された領域管理フラグを上記記憶手段に書き込み、又は上記記憶手段から上記領域管理フラグを読み出して上記変換手段に供給し、この変換手段によって変換された元の領域管理情報を出力する制御を行う制御手段とを備えることを特徴とする請求項9記載のデータ処理システム。 - 上記変換手段は、上記領域管理情報と上記領域管理フラグとが対応記録された変換テーブルを備え、この変換テーブルを参照して、上記領域管理情報を上記領域管理フラグに変換することを特徴とする請求項10記載のデータ処理システム。
- 上記変換手段は、上記記憶手段から読み出された領域管理フラグのパターンから元の領域管理情報を判断するフラグ判別回路を備え、このフラグ判別回路を用いて、上記記憶手段から読み出された領域管理フラグを上記領域管理情報に変換することを特徴とする請求項10記載のデータ処理システム。
- 上記記憶手段はフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも3ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項10記載のデータ処理システム。 - 上記記憶手段は、多値型のフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも5ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項10記載のデータ処理システム。 - 上記領域管理フラグは、エラーが生じた場合であっても、当該フラグの符号の数を比較することにより元の領域管理情報が認識されることを特徴とする請求項9記載のデータ処理システム。
- 上記領域管理フラグにエラーが生じた場合には、当該フラグの符号の数を比較することにより、数の多い方の符号を元の領域管理情報と判断することを特徴とする請求項9記載のデータ処理システム。
- データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段に対してデータを書き込み又は読み出すデータの書き込み及び読み出し方法において、
データ書き込み時は、上記記憶手段を構成する各ブロックに対して、データが記憶される領域の状態を管理するための該データを対象としたエラー訂正符号とともにデータが書き込まれるとともに、上記領域管理情報が該領域管理情報の各符号に対して該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして書き込まれ、更に、該データの論理アドレスが該論理アドレスを対象としたエラー訂正符号とともに書き込まれ、
データ読み出し時は、上記記憶手段を構成する各ブロックから上記データを上記エラー訂正符号とともに読み出し、このエラー訂正符号に基づいてデータのエラー訂正を行うとともに、上記領域管理フラグを読み出し、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断し、訂正可能なエラーがある場合にエラーが訂正を行い、更に、上記論理アドレスを該論理アドレスを対象としたエラー訂正符号とともに読み出し、このエラー訂正符号に基づいて論理アドレスのエラー訂正を行うことを特徴とするデータの書き込み及び読み出し方法。 - データ書き込み時は、入力された上記領域管理情報を、該領域管理情報の符号と同一符号の所定量の冗長データが付加されてなる上記領域管理フラグに変換し、変換された領域管理フラグを上記記憶手段に書き込み、
データ読み出し時は、上記記憶手段から上記領域管理フラグを読み出して、読み出された上記領域管理フラグを元の領域管理情報に変換することを特徴とする請求項17記載のデータの書き込み及び読み出し方法。 - 上記領域管理情報と上記領域管理フラグとが対応記録された変換テーブルを参照して、上記領域管理情報を上記領域管理フラグに変換し、又は上記領域管理フラグを上記領域管理情報に変換することを特徴とする請求項18記載のデータの書き込み及び読み出し方法。
- 上記記憶手段から読み出された領域管理フラグのパターンから元の領域管理情報を判断し、上記記憶手段から読み出された領域管理フラグを上記領域管理情報に変換することを特徴とする請求項18記載のデータの書き込み及び読み出し方法。
- 上記記憶手段はフラッシュメモリからなり、
データ書き込み時は、上記領域管理情報を、1ビットの情報につき少なくとも3ビットの領域管理フラグに変換し、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項18記載のデータの書き込み及び読み出し方法。 - 上記記憶手段は、多値型のフラッシュメモリからなり、
データ書き込み時は、上記領域管理情報を、1ビットの情報につき少なくとも5ビットの領域管理フラグに変換し、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項18記載のデータの書き込み及び読み出し方法。 - データ読み出し時において、上記領域管理フラグは、エラーが生じた場合であっても、当該フラグの符号の数を比較することにより元の領域管理情報が認識されることを特徴とする請求項17記載のデータの書き込み及び読み出し方法。
- データ読み出し時において、上記領域管理フラグにエラーが生じた場合には、当該フラグの符号の数を比較することにより、数の多い方の符号を元の領域管理情報と判断することを特徴とする請求項17記載のデータの書き込み及び読み出し方法。
- データの消去単位である複数のブロックに分割され、ブロック単位で一括消去が行われる書き換え可能な不揮発性の記憶手段を備えるデータ処理装置において、
上記記憶手段を構成する各ブロックは、データと該データの論理アドレスと該データが記憶される領域の状態を管理するための領域管理情報とを記憶し、
上記領域管理情報は、該領域管理情報の各符号に対して、該各符号と同一符号の所定量の冗長データが付加されてなる領域管理フラグとして上記記憶手段に格納され、該領域管理フラグのビット情報の数を比較することによって訂正可能なエラーがあるか判断され、訂正可能なエラーがある場合にはエラーが訂正され、
上記データは、該データを対象としたエラー訂正符号とともに上記記憶手段に格納され、該エラー訂正符号に基づいてエラーが訂正され、
上記論理アドレスは、論理アドレスを対象としたエラー訂正符号とともに上記記憶手段に格納され、該論理アドレス用のエラー訂正符号に基づいてエラーが訂正されることを特徴とするデータ処理装置。 - 入力された上記領域管理情報を、該領域管理情報の符号と同一符号の所定量の冗長データが付加されてなる上記領域管理フラグに変換し、又は上記記憶手段から読み出された上記領域管理フラグを元の領域管理情報に変換する変換手段と、
上記変換手段によって変換された領域管理フラグを上記記憶手段に書き込み、又は上記記憶手段から上記領域管理フラグを読み出して上記変換手段に供給し、この変換手段によって変換された元の領域管理情報を出力する制御を行う制御手段とを備えることを特徴とする請求項25記載のデータ処理装置。 - 上記変換手段は、上記領域管理情報と上記領域管理フラグとが対応記録された変換テーブルを備え、この変換テーブルを参照して、上記領域管理情報を上記領域管理フラグに変換することを特徴とする請求項26記載のデータ処理装置。
- 上記変換手段は、上記記憶手段から読み出された領域管理フラグのパターンから元の領域管理情報を判断するフラグ判別回路を備え、このフラグ判別回路を用いて、上記記憶手段から読み出された領域管理フラグを上記領域管理情報に変換することを特徴とする請求項26記載のデータ処理装置。
- 上記記憶手段はフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも3ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項26記載のデータ処理装置。 - 上記記憶手段は、多値型のフラッシュメモリからなり、上記変換手段は、上記領域管理情報を、1ビットの情報につき少なくとも5ビットの領域管理フラグに変換し、
上記制御手段は、上記領域管理フラグを上記フラッシュメモリの少なくとも3つのセルに分散させて書き込むことを特徴とする請求項26記載のデータ処理装置。 - 上記領域管理フラグは、エラーが生じた場合であっても、当該フラグの符号の数を比較することにより元の領域管理情報が認識されることを特徴とする請求項25記載のデータ処理装置。
- 上記領域管理フラグにエラーが生じた場合には、当該フラグの符号の数を比較することにより、数の多い方の符号を元の領域管理情報と判断することを特徴とする請求項25記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000201055A JP3788205B2 (ja) | 1997-09-30 | 2000-07-03 | 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26717397A JP3119214B2 (ja) | 1997-09-30 | 1997-09-30 | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
JP2000201055A JP3788205B2 (ja) | 1997-09-30 | 2000-07-03 | 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26717397A Division JP3119214B2 (ja) | 1997-09-30 | 1997-09-30 | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001043143A JP2001043143A (ja) | 2001-02-16 |
JP3788205B2 true JP3788205B2 (ja) | 2006-06-21 |
Family
ID=18698816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000201055A Expired - Lifetime JP3788205B2 (ja) | 1997-09-30 | 2000-07-03 | 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3788205B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944063B2 (en) | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
JP2005190288A (ja) * | 2003-12-26 | 2005-07-14 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP4608949B2 (ja) * | 2004-05-28 | 2011-01-12 | 富士ゼロックス株式会社 | データ破壊検知装置及び方法並びにデータ復旧装置及び方法 |
JP4939804B2 (ja) * | 2005-12-21 | 2012-05-30 | 三星電子株式会社 | 不揮発性半導体記憶装置 |
KR100733952B1 (ko) | 2006-06-12 | 2007-06-29 | 삼성전자주식회사 | 플래그 셀들 사이의 커플링을 최소화시킬 수 있는멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52155020A (en) * | 1976-06-18 | 1977-12-23 | Fujitsu Ltd | Memory unit |
JPS5690349A (en) * | 1979-12-25 | 1981-07-22 | Fujitsu Ltd | Error correction code circuit |
JP3117244B2 (ja) * | 1991-08-09 | 2000-12-11 | 株式会社東芝 | Eepromの制御装置 |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
JP3391479B2 (ja) * | 1992-09-14 | 2003-03-31 | 富士写真フイルム株式会社 | メモリカード管理方法および方式 |
JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JP3119214B2 (ja) * | 1997-09-30 | 2000-12-18 | ソニー株式会社 | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
-
2000
- 2000-07-03 JP JP2000201055A patent/JP3788205B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001043143A (ja) | 2001-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
JP3119214B2 (ja) | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 | |
JP4079506B2 (ja) | 不揮発性半導体メモリシステムの制御方法 | |
CN101401076B (zh) | 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置 | |
US6330634B1 (en) | External storage apparatus having redundant boot blocks, and data processing method therefor | |
US7890732B2 (en) | Memory card and semiconductor device | |
US8310896B2 (en) | Memory system and method of writing into nonvolatile semiconductor memory | |
US20090100290A1 (en) | Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method | |
KR100742849B1 (ko) | 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치 | |
JPWO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
US7886211B2 (en) | Memory controller | |
JP2007293917A (ja) | メモリシステムの制御方法 | |
JP3620478B2 (ja) | 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法 | |
JP3788205B2 (ja) | 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置 | |
KR100654344B1 (ko) | 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 | |
JP4127307B2 (ja) | データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置 | |
JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
JP2910745B2 (ja) | 記憶装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
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: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060320 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |