JP2007066326A - 記憶装置、データ処理装置並びにデータ処理方法 - Google Patents

記憶装置、データ処理装置並びにデータ処理方法 Download PDF

Info

Publication number
JP2007066326A
JP2007066326A JP2006294758A JP2006294758A JP2007066326A JP 2007066326 A JP2007066326 A JP 2007066326A JP 2006294758 A JP2006294758 A JP 2006294758A JP 2006294758 A JP2006294758 A JP 2006294758A JP 2007066326 A JP2007066326 A JP 2007066326A
Authority
JP
Japan
Prior art keywords
data
segment
block
written
data processing
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
JP2006294758A
Other languages
English (en)
Other versions
JP4127307B2 (ja
Inventor
Kaoru Suzuki
馨 鈴木
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006294758A priority Critical patent/JP4127307B2/ja
Publication of JP2007066326A publication Critical patent/JP2007066326A/ja
Application granted granted Critical
Publication of JP4127307B2 publication Critical patent/JP4127307B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】 データの書き込み又は読み出しを効率よく行い、コストの上昇を招くことなく記憶容量の増大を実現した記憶装置、この記憶装置を用いたデータ処理システム及びデータ処理方法を提供する。
【解決手段】フラッシュメモリ21からデータを読み出し、又はフラッシュメモリ21にデータを書き込む処理を行う際に、フラッシュメモリ21の記憶領域を構成する物理ブロックの物理アドレスとこの物理ブロックに書き込まれた論理ブロックの論理アドレスとの対応関係を示すテーブルが、セグメント単位で作成されるようにしている。
【選択図】図1

Description

本発明は、データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理される記憶手段を備えた記憶装置と、この記憶装置にデータを書き込み又はこの記憶装置からデータを読み出すデータ処理装置並びにデータ処理方法に関する。
従来より、コンピュータ等の電子機器で用いられるデータを記憶させておく外部記憶装置として、フラッシュメモリ(電気的消去可能型プログラマブルROM(Read-Only Memory))を記憶手段として用いたカード型の外部記憶装置(以下、メモリカードという。)が提案されている。
このメモリカードにおいて、記憶手段であるフラッシュメモリは、データが記憶される記憶領域が複数のブロックに分割されている。そして、このメモリカードは、フラッシュメモリに書き込まれたデータをブロック毎に管理するようにしている。
フラッシュメモリは、各ブロックの書き込み頻度にばらつきがあると、書き込み頻度の高いブロックが不良となる場合がある。このため、フラッシュメモリにデータを書き込む際は、各ブロックの書き込み頻度がほぼ均等になるようにするとともに、不良となったブロックについては、データの書き込みを行わないようにする必要がある。
そこで、このフラッシュメモリを記憶手段として備えるメモリカードを用いたデータ処理システムにおいては、フラッシュメモリに記憶させるデータを複数のブロックに分割し、各ブロック毎にアドレス情報を付加して、ブロック単位でフラッシュメモリの書き込み頻度の低いブロックに書き込むようにしている。すなわち、メモリカードを用いたデータ処理システムにおいては、データが順番通りにメモリカードに書き込まれていない。なお、以下の説明においては、混同を避けるために、フラッシュメモリの記憶領域のブロックを物理ブロックと呼び、データが分割された単位であるブロックを論理ブロックと呼ぶ。また、物理ブロックのブロックアドレスを物理アドレスと呼び、論理ブロックのブロックアドレスを論理アドレスと呼ぶ。
このメモリカードからデータを読み出す際は、先ず、フラッシュメモリの物理ブロック全てにアクセスして、各物理ブロックの物理アドレスとその物理ブロックに記憶されている論理ブロックの論理アドレスとの対応関係を示すテーブルをデータ処理回路の内部メモリ上に作成する。そして、このテーブルを参照して所望のデータが記憶されている物理ブロックの物理アドレスを検出し、この物理ブロックから所望のデータを読み出す。
また、メモリカードにデータを書き込む際は、先ず、フラッシュメモリの物理ブロック全てにアクセスして、各物理ブロックの物理アドレスとその物理ブロックに記憶されている論理ブロックの論理アドレスとの対応関係を示すテーブルをデータ処理回路の内部メモリ上に作成する。そして、このテーブルを参照して未使用の物理ブロックを検出し、この物理ブロックに所望のデータを書き込む。
ところで、近年、コンピュータ等の電子機器に対しては、ますます高い処理能力が要求されるようになっており、これらの電子機器において一度に扱われるデータが巨大化している。これに伴い、データを記憶させておく外部記憶装置も大容量化が望まれている。そして、メモリカードもフラッシュメモリの集積度の向上により、例えば128MBもの容量を有する大容量のものが提案されている。
このような大容量のメモリカードにおいては、フラッシュメモリの物理ブロックのブロック数が多くなっている。したがって、大容量のメモリカードにおいては、上述したようにデータの読み出しや書き込みの際に作成されるテーブルも大きくなり、大きな内部メモリを有するデータ処理回路が必要となって、コストの上昇を招いてしまっていた。
そこで、本発明は、データの書き込み又は読み出しを効率よく行い、コストの上昇を招くことなく記憶容量の増大を実現した記憶装置、この記憶装置を用いたデータ処理システム及びデータ処理方法を提供することを目的とする。
本発明に係る記憶装置は、データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理される記憶手段を備えた記憶装置において、上記ブロックは複数で一つのセグメントを構成しており、上記記憶手段からデータを読み出し、又は上記記憶手段にデータを書き込む際は、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルが作成され、このテーブルを参照して上記データが読み出され、又は書き込まれることを特徴としている。
この記憶装置は、記憶手段からのデータの読み出し、又は記憶手段にデータの書き込みが行われる際に、セグメント単位でテーブルが作成される。したがって、この記憶装置によれば、記憶手段のブロック全てに関して一括してテーブルを作成する必要がないので、効率よくデータの読み出し又は書き込みを行うことができる。
また、本発明に係るデータ処理装置は、データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理される記憶手段を備えた記憶装置にデータを書き込み又は上記記憶装置からデータを読み出す処理を行うデータ処理装置であって、上記記憶装置の備える記憶手段のブロックは複数で一つのセグメントを構成しており、上記記憶装置からデータを読み出し、又は上記記憶装置にデータを書き込む際に、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルを作成し、このテーブルを参照して上記データを読み出し、又は書き込むことを特徴としている。
このデータ処理装置は、記憶手段からデータを読み出し、又は記憶手段にデータを書き込む際に、セグメント単位でテーブルを作成する。したがって、このデータ処理装置は、記憶手段のブロック全てに関して一括してテーブルを作成する必要がないので、効率よくデータの読み出し又は書き込みを行うことができる。
また、本発明に係るデータ処理方法は、データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理されるとともに複数のブロック毎にセグメントが構成された記憶手段からデータを読み出し、又は上記記憶手段にデータを書き込む際に、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルを作成し、このテーブルを参照して上記データを読み出し、又は書き込むことを特徴としている。
このデータ処理方法によれば、記憶手段からデータを読み出し、又は書き込む際に、セグメント単位でテーブルが作成される。したがって、このデータ処理方法によれば、記憶手段のブロック全てに関して一括してテーブルを作成する必要がないので、効率よくデータの読み出し又は書き込みを行うことができる。
本発明に係る記憶装置は、記憶手段からデータを読み出し、又は記憶手段にデータを書き込む際に、複数のブロックから構成されるセグメント単位で、このセグメントを構成するブロックに書き込まれたデータの論理アドレスとこのセグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルが作成されるようにしているので、記憶手段の容量を大きくしてブロック数を多くした場合であっても、内部メモリの容量をセグメント毎のテーブルを作成するのに必要なだけ確保すればよい。
したがって、この記憶装置は、内部メモリの容量を大きくすることに起因するコストの上昇を招くことなく、記憶容量の増大化を図ることができる。
また、本発明に係るデータ処理装置は、記憶装置の記憶手段からデータを読み出し、又は記憶装置の記憶手段にデータを書き込む際に、記憶手段の複数のブロックから構成されるセグメント単位で、このセグメントを構成するブロックに書き込まれたデータの論理アドレスとこのセグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルを作成するようにしているので、記憶装置が記憶手段の容量を大きくしてブロック数を多くした場合であっても、内部メモリの容量をセグメント毎のテーブルを作成するのに必要なだけ確保すればよい。
したがって、このデータ処理装置は、内部メモリの容量を大きくすることに起因するコストの上昇を招くことなく、膨大な量のデータの処理を行うことができる。
また、本発明に係るデータ処理方法は、記憶手段からデータを読み出し、又は記憶手段にデータを書き込む際に、複数のブロックから構成されるセグメント単位で、このセグメントを構成するブロックに書き込まれたデータの論理アドレスとこのセグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルが作成されるようにしているので、記憶手段の容量を大きくしてブロック数を多くした場合であっても、内部メモリの容量をセグメント毎のテーブルを作成するのに必要なだけ確保すればよい。
したがって、このデータ処理方法によれば、内部メモリの容量を大きくすることに起因するコストの上昇を招くことなく、膨大な量のデータ処理を行うことができる。
以下、本発明の実施の形態を図面を参照して説明する。
ここでは、本発明を、図1に示すように、ホスト側の装置となるデータ処理装置10と、シリアルインターフェースを介してこのデータ処理装置10に接続される外部記憶装置であるメモリカード20とから構成されるデータ処理システム1に適用した例について説明する。
なお、ここでは、データ処理装置10とメモリカード20との間でのデータのやり取りをシリアルインターフェースによって行うシステムを例に説明するが、本発明はデータのやり取りをパラレルインターフェースによって行うシステムに対しても適用可能である。
(データ処理装置)
このデータ処理システム1に用いられるデータ処理装置10は、アプリケーションデータに基づいて所定のプログラムを実行するデータ処理部11と、外部装置であるメモリカード20との間でアプリケーションデータのやり取りをするためのシリアルインターフェース回路12と、データ処理部11とシリアルインターフェース回路12間に設けられ、データ処理部11から供給されたアプリケーションデータを一時的に記憶するレジスタ13と、データ処理部11、シリアルインターフェース回路12、レジスタ13のそれぞれに接続され、これらの処理動作を制御する制御部14とを備えている。
このデータ処理装置10は、例えばデータ処理部11が所定のプログラムを実行する際に、外部記憶装置であるメモリカード20にアプリケーションデータを記憶させる必要があると判断した場合は、データ処理部11が制御部14の制御に基づいて、記憶させるべきアプリケーションデータや書き込み命令等の制御データをレジスタ13に書き込む。
そして、シリアルインターフェース回路12が、制御部14の制御に基づいてレジスタ13から記憶させるべきアプリケーションデータや制御データを読み出し、シリアルデータに変換して、クロック信号やステータス信号とともにこれらの転送を行う。また、このデータ処理装置10は、データ処理部11が所定のプログラムを実行する際に、外部記憶装置であるメモリカード20からアプリケーションデータを読み出す必要があると判断した場合は、データ処理部11が制御部14の制御に基づいて読み出し命令等の制御データをレジスタ13に書き込む。そして、シリアルインターフェース回路12が、制御部14の制御に基づいてレジスタ13から制御データを読み出し、シリアルデータに変換して、クロック信号やステータス信号とともにこれらの転送を行う。
この制御データに従ってメモリカード20から転送されてきたアプリケーションデータは、シリアルインターフェース回路12によりパラレルデータに変換され、レジスタ13に書き込まれる。そして、データ処理部11が、制御部14の制御に基づいてレジスタ13からこのアプリケーションデータを読み出して所定の処理を行う。
なお、本発明が適用されるデータ処理システムに用いられるデータ処理装置は、メモリカード20等の外部記憶装置との間でデータのやり取りが可能なものであれば特に限定されるものではなく、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ等の種々のデータ処理装置が適用可能である。
このデータ処理システム1において、データ処理装置10とメモリカード20とは、シリアルインターフェースによって接続されており、具体的には、少なくとも3本のデータ線SCLK,State,DIOによって接続される。すなわち、データ処理装置10とメモリカード20とは、少なくとも、データ伝送時にクロック信号を伝送するための第1のデータ線SCLKと、データ伝送時に必要なステータス信号を伝送するための第2のデータ線Stateと、メモリカード20に書き込むアプリケーションデータや制御データ又はメモリカード20から読み出すアプリケーションデータや制御データをシリアルに伝送する第3のデータ線DIOとによって接続され、これらを介して、データ処理装置10とメモリカード20との間でアプリケーションデータのやり取りを行う。
(メモリカード)
メモリカード20は、図2に示すように、記憶手段であるフラッシュメモリ21と、データ処理装置10との間でアプリケーションデータや制御データのやり取りをするためのシリアル/パラレル・パラレル/シリアル・インターフェース回路(以下、S/P・P/Sインターフェース回路22という。)と、フラッシュメモリ21とS/P・P/Sインターフェース回路22間に設けられ、S/P・P/Sインターフェース回路22から供給されたアプリケーションデータを一時的に記憶するレジスタ23と、このレジスタ23に接続され、レジスタ23に書き込まれたアプリケーションデータにエラーがある場合にエラー訂正符号に基づいてエラーを訂正するECC回路24と、フラッシュメモリ21、S/P・P/Sインターフェース回路22、レジスタ23のそれぞれに接続され、これらの処理動作を制御する制御部25とを備えている。
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へ送出する。
このS/P・P/Sインターフェース回路22とデータ処理装置10との間でのシリアルデータの伝送は、第1のデータ線SCLKによってデータ処理装置10から送られてくるクロック信号によって同期を取りながら、第3のデータ線DIOによって行われる。このとき、第3のデータ線DIOによってやり取りされるシリアルデータのデータ種別は、第2のデータ線Stateによって伝送されるステータス信号によって判別される。ここで、シリアルデータの種別には、例えば、フラッシュメモリ21に記憶させるべきアプリケーションデータ、フラッシュメモリ21から読み出されたアプリケーションデータ、又は書き込み命令、読み出し命令等の制御データ等がある。
また、S/P・P/Sインターフェース回路22は、データ処理装置10から送られてきたデータが書き込み命令や読み出し命令等の制御データである場合には、当該制御データを制御部25に供給する。
レジスタ23はフラッシュメモリ21とS/P・P/Sインターフェース回路22間でやり取りされるアプリケーションデータを一時的に記憶する。
ECC回路24は、S/P・P/Sインターフェース回路22によりレジスタ23に書き込まれたアプリケーションデータにエラー訂正符号を付加する。また、ECC回路24は、フラッシュメモリ21から読み出されレジスタ23に書き込まれたアプリケーションデータにエラー訂正処理を施す。
制御部25は、S/P・P/Sインターフェース回路22から供給された制御データに基づいてメモリカード20の動作を制御する。すなわち、この制御部25は、S/P・P/Sインターフェース回路22から供給された書き込み命令に基づいて、レジスタ23に一時的に書き込まれたアプリケーションデータをレジスタ23から読み出して、フラッシュメモリ21に記憶させる。また、制御部25は、S/P・P/Sインターフェース回路22から供給された読み出し命令に基づいて、フラッシュメモリ21からアプリケーションデータを読み出してレジスタ23に書き込む。
以上のようなメモリカード20に対して、データ処理装置10から記憶させるべきアプリケーションデータや書き込み命令がシリアルデータとして送られてくると、先ず、S/P・P/Sインターフェース回路22が、これらのデータをパラレルデータに変換して、書き込み命令を制御部25に供給するとともに、制御部25の制御に基づいて、アプリケーションデータをレジスタ23に書き込む。
ここで、レジスタ23に書き込まれたアプリケーションデータには、ECC回路24により、エラー訂正符号が付加される。
そして、制御部25が、S/P・P/Sインターフェース回路22から供給された書き込み命令に基づいて、レジスタ23からアプリケーションデータを読み出して、フラッシュメモリ21に書き込む処理を行う。
また、このメモリカード20は、データ処理装置10から読み出し命令が送られてくると、S/P・P/Sインターフェース回路22が、この読み出し命令を制御部25に供給する。
そして、制御部25が、S/P・P/Sインターフェース回路22から供給された読み出し命令に基づいて、フラッシュメモリ21からアプリケーションデータを読み出して、レジスタ23に書き込む。レジスタ23に書き込まれたアプリケーションデータにエラーがある場合は、このレジスタ23に接続されたECC回路24にてエラー訂正符号に基づいてエラー訂正が行われる。
そして、S/P・P/Sインターフェース回路22が、制御部25の制御に基づいてレジスタ23からこのアプリケーションデータを読み出してシリアルデータに変換し、データ処理装置10に送出する。
なお、以上はメモリカード20にECC回路24が設けられ、メモリカード20内でアプリケーションデータのエラー訂正を行うシステムについて説明したが、処理装置10側にECC回路24を設け、データ処理装置10側でアプリケーションデータのエラー訂正を行うようにしてもよい。この場合、アプリケーションデータにエラー訂正符号が付加された状態で、データ処理装置10とメモリカード20との間のデータのやり取りが行われる。
(アプリケーションデータの構造、フラッシュメモリの構造)
ところで、以上のデータ処理システム1において、所定のプログラムを実行するためのアプリケーションデータは、図3に示すように、データの消去単位である複数の論理ブロックに区切られた状態で取り扱われる。そして、アプリケーションデータは、この論理ブロックを単位としてメモリカード20上で管理される。これらアプリケーションデータを構成する各論理ブロックには、それぞれデータとしての論理番号である論理アドレスが付されている。
このアプリケーションデータは、メモリカード20のフラッシュメモリ21に記憶されるときは、各論理ブロックが必ずしも論理アドレスの順番でフラッシュメモリ21に記憶されない。そして、アプリケーションデータをフラッシュメモリ21から読み出す際に、各論理ブロックが論理アドレスの順に並べ替えられて元のアプリケーションデータが再現される。
また、アプリケーションデータを構成する各論理ブロックは、書き込みや読み出しの単位となる複数のセクターから構成されている。このセクターは、例えば512バイトの実データと16バイトの冗長データとからなりる。そして、これらセクターの冗長データとして、論理ブロックの論理アドレスが複数のセクターに分散されたかたちで付加されている。また、これらセクターには、それぞれデータの順に固有のセクター番号が付されており、このセクター番号に基づいてアクセスすることができるようになされている。
また、フラッシュメモリ21の記憶領域は、図4に示すように、複数の物理ブロックに分割されている。この物理ブロックは、フラッシュメモリ21に記憶されたデータを管理する単位であり、一つの物理ブロックに、アプリケーションデータの一つの論理ブロックが記憶されるようになっている。
また、物理ブロックは、複数ブロックで一つのセグメントを構成している。このセグメントは、後述するように、フラッシュメモリ21からデータを読み出し、又はフラッシュメモリ21にデータを書き込む際にフラッシュメモリ21の物理ブロックの物理アドレスとアプリケーションデータの論理ブロックの論理アドレスとの対応関係を示すテーブルを作成する単位である。すなわち、フラッシュメモリ21からデータを読み出し、又はフラッシュメモリ21にデータを書き込む際は、セグメント単位でテーブルが作成される。
なお、このセグメントと、このセグメントを構成する各物理ブロックに記憶される論理ブロックとの対応関係は、予め決められている。すなわち、例えば、物理アドレス0の物理ブロックから物理アドレスnの物理ブロックにより構成されるセグメント0には、論理番号0から論理番号sまでの論理ブロックだけが記憶され、論理番号がs+1以後の論理ブロックがセグメント0を構成する物理ブロックに記憶されることはない。そして、論理番号0から論理番号sまでの論理ブロックが、セグメント0内において、物理アドレス0の物理ブロックから物理アドレスnの物理ブロックに、順不同に記憶されることになる。
(データ読み出し処理の一例)
ここで、以上のようなデータ処理システム1において、メモリカード20のフラッシュメモリ21からデータを読み出す処理の一例について説明する。
フラッシュメモリ21からデータを読み出す際は、先ず、データ処理装置10のデータ処理部11からの読み出し命令が、シリアルインターフェース回路12、S/P・P/Sインターフェース回路22を介して、メモリカード20の制御部25に送られる。
そして、メモリカード20の制御部25は、この読み出し命令に従って、図5にフローチャートで示す手順に従って、フラッシュメモリ21から所望のデータを読み出す。
すなわち、制御部25は、先ずSTEP1において、読み出すデータのセクター番号から、当該データが属する論理ブロックの論理アドレスを計算する。例えば、一つの論理ブロックが(t+1)のセクターから構成される場合、セクター番号が100のセクターが属する論理ブロックの論理アドレスを求めるには、100/(t+1)の演算を行うことにより、読み出すデータが属する論理ブロックの論理アドレスが求まる。
ここで、上述したように、フラッシュメモリ21のセグメントと、このセグメントを構成する各物理ブロックに記憶される論理ブロックとの対応関係は、予め決められている。したがって、読み出すデータが属する論理ブロックの論理アドレスが求まれば、当該データがフラッシュメモリ21のどのセグメントに記憶されているかが分かることになる。
次に、制御部25は、STEP2において、例えば図6に示すような、当該データが記憶されたセグメントを構成する各物理ブロックの物理アドレスと、この各物理ブロックに記憶された論理ブロックの論理アドレスとの対応関係を示すテーブルを内部メモリ上に作成する。このとき、内部メモリに他のセグメントについてのテーブルが作成されているときは、制御部25は、このテーブルを、読み出すデータが記憶されたセグメントについてのテーブルに書き換える処理を行う。
次に、制御部25は、STEP3において、作成したテーブルを参照して、読み出すデータが属する論理ブロックが記憶された物理ブロックを求める。
次に、制御部25は、STEP4において、読み出すデータが当該物理ブロック内のどこに記憶されているかを求める。ここで、物理ブロックには、データがセクター番号順に記憶されている。したがって、読み出すデータが、物理ブロック内の何番目に記憶されているかを求めるには、例えば、一つの論理ブロックがt+1のセクターから構成される場合、セクター番号が100のデータが記憶されているのは、当該データの属する論理ブロックの論理アドレスをBとすると、100−B×(t+1)の演算を行うことにより、読み出すデータが、物理ブロック内の何番目に記憶されているかが求められる。
次に、制御部25は、STEP5において、物理ブロック内の読み出すデータが記憶されている箇所にアクセスして、この物理ブロックから所望のデータを読み出す。
制御部25は、以上のようにしてフラッシュメモリ21から読み出したデータを、レジスタ23に書き込む。そして、レジスタ23に書き込まれたデータにエラーがある場合は、このレジスタ23に接続されたECC回路24にてエラー訂正符号に基づいてエラー訂正が行われる。
そして、エラー訂正が行われたデータは、S/P・P/Sインターフェース回路22、シリアルインターフェース回路12を介して、データ処理装置10のデータ処理部11に送られる。
(データ書き込み処理の一例)
次に、以上のようなデータ処理システム1において、メモリカード20のフラッシュメモリ21にデータを書き込む処理の一例について説明する。
フラッシュメモリ21からデータを読み出す際は、先ず、データ処理装置10のデータ処理部11からの書き込み命令が、シリアルインターフェース回路12、S/P・P/Sインターフェース回路22を介して、メモリカード20の制御部25に送られるとともに、書き込むべきデータが、シリアルインターフェース回路12、S/P・P/Sインターフェース回路22を介して、メモリカード20のレジスタ23に書き込まれる。
そして、メモリカード20の制御部25は、この読み出し命令に従って、図7にフローチャートで示す手順に従って、フラッシュメモリ21に当該データを書き込む。
すなわち、制御部25は、先ずSTEP1において、読み出すデータのセクター番号から、当該データが属する論理ブロックの論理アドレスを計算する。例えば、一つの論理ブロックがt+1のセクターから構成される場合、セクター番号が100のセクターが属する論理ブロックの論理アドレスを求めるには、100/(t+1)の演算を行うことにより、読み出すデータが属する論理ブロックの論理アドレスが求まる。
ここで、上述したように、フラッシュメモリ21のセグメントと、このセグメントを構成する各物理ブロックに記憶される論理ブロックとの対応関係は、予め決められている。したがって、読み出すデータが属する論理ブロックの論理アドレスが求まれば、フラッシュメモリ21の当該データを書き込むべきセグメントが分かることになる。
次に、制御部25は、STEP2において、先に図6で示したような、当該データを書き込むべきセグメントを構成する各物理ブロックの物理アドレスと、この各物理ブロックに記憶された論理ブロックの論理アドレスとの対応関係を示すテーブルを内部メモリ上に作成する。このとき、内部メモリに他のセグメントについてのテーブルが作成されているときは、制御部25は、このテーブルを、データを書き込むべきセグメントについてのテーブルに書き換える処理を行う。
次に、制御部25は、STEP3において、作成したテーブルを参照して、セグメントを構成する各物理ブロックのうちで未使用の物理ブロックを求める。
次に、制御部25は、STEP4において、フラッシュメモリ21に書き込むべきデータをレジスタ23から読み出して、未使用の物理ブロックに書き込む。
次に、制御部25は、上記テーブルのデータを書き込んだ物理ブロックに対応した論理アドレスについての記載を、「未使用」から書き込んだデータの属する論理ブロックの論理アドレスに書き換える処理を行う。
(データを更新する処理の一例)
次に、以上のようなデータ処理システム1において、メモリカード20のフラッシュメモリ21に書き込まれたデータを更新する処理の一例について説明する。
フラッシュメモリ21に書き込まれたデータを更新する際は、先ず、データ処理装置10のデータ処理部11からの読み出し命令が、シリアルインターフェース回路12、S/P・P/Sインターフェース回路22を介して、メモリカード20の制御部25に送られる。
そして、メモリカード20の制御部25は、この読み出し命令に従って、先に図5に示したフローチャートで示す手順に従って、フラッシュメモリ21から所望のデータを読み出す。
フラッシュメモリ21から読み出されたデータは、制御部25の制御により、レジスタ23に書き込まれる。そして、レジスタ23に書き込まれたデータにエラーがある場合は、このレジスタ23に接続されたECC回路24にてエラー訂正符号に基づいてエラー訂正が行われる。
エラー訂正が行われたデータは、S/P・P/Sインターフェース回路22、シリアルインターフェース回路12を介して、データ処理装置10のデータ処理部11に送られる。そして、データ処理部11において、データを更新する処理が行われる。このとき、データの更新はブロック単位で行われ、更新するデータの属する論理ブロックが全て書き換えられる。
データ処理部11において更新されたデータは、書き込み命令とともに、シリアルインターフェース回路12、S/P・P/Sインターフェース回路22を介して、メモリカード20側に送られる。
そして、メモリカード20の制御部25が、データ処理装置10から送られてきた読み出し命令に従って、先に図7に示したフローチャートで示す手順に従って、更新されたデータをフラッシュメモリ21に書き込む処理を行う。すなわち、更新されたデータは、当該データが書き込まれるべきセグメントを構成する各物理ブロックのうちで未使用の物理ブロックに書き込まれることになる。
そして、データの更新を行う場合については、図8に示すように、更新したデータを未使用の物理ブロックに書き込んだ後に、制御部25が、内部メモリに作成されたテーブルの中で、更新したデータを書き込んだ物理ブロックに対応した論理アドレスについての記載を、「未使用」から更新したデータの属する論理ブロックの論理アドレスに書き換える処理を行うとともに、更新したデータが更新前に書き込まれていた物理ブロックに対応した論理アドレスの記載を、更新したデータの属する論理ブロックの論理アドレスから「使用済み」に書き換える処理を行う。
そして、最後に、制御部25が、更新前のデータをブロック単位で消去する処理を行う。
(その他)
なお、以上は、フラッシュメモリ21からデータ読み出す処理やフラッシュメモリ21にデータを書き込みむ処理をメモリカード20の制御部25が行うようにした例について説明したが、データの読み出し処理や書き込み処理は、データ処理装置10の制御部14が行うようにしてもよい。この場合は、データ処理装置10の制御部14の内部メモリに、物理ブロックの物理アドレスと、この物理ブロックに記憶された論理ブロックの論理アドレスとの対応関係を示すテーブルがセグメント単位で作成される。
以上説明したように、本発明を適用したデータ処理システム1は、メモリカード20のフラッシュメモリ21からデータを読み出し、又はメモリカード20のフラッシュメモリ21にデータを書き込む処理を行う際に、フラッシュメモリ21の記憶領域を構成する物理ブロックの物理アドレスとこの物理ブロックに書き込まれた論理ブロックの論理アドレスとの対応関係を示すテーブルが、セグメント単位で作成される。したがって、このデータ処理システム1においては、フラッシュメモリ21の容量を大きくして物理ブロックのブロック数を多くした場合であっても、メモリカード20の制御部25或いはデータ処理装置10の制御部14の内部メモリは、セグメント毎のテーブルを作成するのに必要なだけの容量で足りる。
このように、本発明を適用すれば、メモリカード20の制御部25の内部メモリやデータ処理装置10の制御部14の内部メモリの容量を大きくすることに起因するコストの上昇を招くことなく、メモリカード20の記憶容量を増大させたデータ処理システム1を実現することができる。
また、本発明を適用したメモリカード20は、フラッシュメモリ21からデータを読み出し、又はフラッシュメモリ21にデータを書き込む処理を行う際に、フラッシュメモリ21の記憶領域を構成する物理ブロックの物理アドレスとこの物理ブロックに書き込まれた論理ブロックの論理アドレスとの対応関係を示すテーブルが、セグメント単位で作成される。したがって、このメモリカード20においては、フラッシュメモリ21の容量を大きくして物理ブロックのブロック数を多くした場合であっても、制御部25の内部メモリは、セグメント毎のテーブルを作成するのに必要なだけの容量で足り、制御部25の内部メモリの容量を大きくすることに起因するコストの上昇を招くことなく、記憶容量の増大化を図ることができる。
データ処理装置の構成を示すブロック図である。 メモリカードの構成を示すブロック図である。 アプリケーションデータの構造を示す模式図である。 フラッシュメモリの記憶領域の構造を示す模式図である。 フラッシュメモリからデータを読み出す処理の一例を説明するフローチャートである。 物理アドレスと論理アドレスとの対応関係を示すテーブルの模式図である。 フラッシュメモリにデータを書き込む処理の一例を説明するフローチャートである。 フラッシュメモリに書き込まれたデータを更新する処理の一例を説明するフローチャートである。
符号の説明
1 データ処理システム、10 データ処理装置、11 データ処理部、14制御部、20 メモリカード、21 フラッシュメモリ、25 制御部

Claims (3)

  1. データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理される記憶手段を備えた記憶装置において、
    上記ブロックは複数で一つのセグメントを構成しており、
    上記記憶手段からデータを読み出し、又は上記記憶手段にデータを書き込む際は、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルが作成され、このテーブルを参照して上記データが読み出され、又は書き込まれること
    を特徴とする記憶装置。
  2. データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理される記憶手段を備えた記憶装置にデータを書き込み又は上記記憶装置からデータを読み出す処理を行うデータ処理装置であって、
    上記記憶装置の備える記憶手段のブロックは複数で一つのセグメントを構成しており、
    上記記憶装置からデータを読み出し、又は上記記憶装置にデータを書き込む際に、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルを作成し、このテーブルを参照して上記データを読み出し、又は書き込むこと
    を特徴とするデータ処理装置。
  3. データが記憶される記憶領域が複数のブロックに分割されており、上記記憶領域に書き込まれたデータが上記ブロック毎に管理されるとともに複数のブロック毎にセグメントが構成された記憶手段からデータを読み出し、又は上記記憶手段にデータを書き込む際に、上記セグメント単位で当該セグメントを構成するブロックに書き込まれたデータの論理アドレスと上記セグメントを構成するブロックの物理アドレスとの対応関係を示すテーブルを作成し、このテーブルを参照して上記データを読み出し、又は書き込むこと
    を特徴とするデータ処理方法。
JP2006294758A 2006-10-30 2006-10-30 データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置 Expired - Lifetime JP4127307B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006294758A JP4127307B2 (ja) 2006-10-30 2006-10-30 データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294758A JP4127307B2 (ja) 2006-10-30 2006-10-30 データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP18525698A Division JP4315488B2 (ja) 1998-06-30 1998-06-30 データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法

Publications (2)

Publication Number Publication Date
JP2007066326A true JP2007066326A (ja) 2007-03-15
JP4127307B2 JP4127307B2 (ja) 2008-07-30

Family

ID=37928365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294758A Expired - Lifetime JP4127307B2 (ja) 2006-10-30 2006-10-30 データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置

Country Status (1)

Country Link
JP (1) JP4127307B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489852B2 (en) 2009-07-06 2013-07-16 Samsung Electronics Co., Ltd. Method and system for manipulating data
US8626987B2 (en) 2009-10-27 2014-01-07 Samsung Electronics Co., Ltd. Flash memory system and defragmentation method
WO2020039927A1 (ja) * 2018-08-21 2020-02-27 ソニー株式会社 不揮発性記憶装置、ホスト装置、及びデータ記憶システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489852B2 (en) 2009-07-06 2013-07-16 Samsung Electronics Co., Ltd. Method and system for manipulating data
US9015445B2 (en) 2009-07-06 2015-04-21 Samsung Electronics Co., Ltd. Method and system for manipulating data
US8626987B2 (en) 2009-10-27 2014-01-07 Samsung Electronics Co., Ltd. Flash memory system and defragmentation method
WO2020039927A1 (ja) * 2018-08-21 2020-02-27 ソニー株式会社 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
US11615019B2 (en) 2018-08-21 2023-03-28 Sony Corporation Non-volatile storage device, host device, and data storage system to increase data write speed

Also Published As

Publication number Publication date
JP4127307B2 (ja) 2008-07-30

Similar Documents

Publication Publication Date Title
JP4315488B2 (ja) データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法
JP3892851B2 (ja) メモリカード及び半導体装置
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
JP3233079B2 (ja) データ処理システム及びデータ処理方法
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
US9122498B2 (en) Firmware code loading method, memory controller and memory storage apparatus
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
KR100527610B1 (ko) 저장장치,데이터처리시스템및데이터기록및판독방법
WO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP4253272B2 (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
US7886211B2 (en) Memory controller
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
JP2006011533A (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
JP2007233838A (ja) メモリシステムの制御方法
JP3620478B2 (ja) 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法
KR20070024249A (ko) 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리
KR20050011869A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP3788205B2 (ja) 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置
JP2008158908A (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
US7996598B2 (en) Memory management module

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080314

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: 20080422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080505

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

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