JP2013242716A - アクセス制御装置及びアクセス制御方法 - Google Patents

アクセス制御装置及びアクセス制御方法 Download PDF

Info

Publication number
JP2013242716A
JP2013242716A JP2012115769A JP2012115769A JP2013242716A JP 2013242716 A JP2013242716 A JP 2013242716A JP 2012115769 A JP2012115769 A JP 2012115769A JP 2012115769 A JP2012115769 A JP 2012115769A JP 2013242716 A JP2013242716 A JP 2013242716A
Authority
JP
Japan
Prior art keywords
area
task
access
memory card
data
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
JP2012115769A
Other languages
English (en)
Inventor
Masayuki Kino
雅之 城野
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2012115769A priority Critical patent/JP2013242716A/ja
Publication of JP2013242716A publication Critical patent/JP2013242716A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】メモリカードの特性差に依存せずに、安定したアクセス制御を行うアクセス制御装置及びアクセス制御方法の提供。
【解決手段】新たに装着されたメモリカード内に使用領域情報が存在しない場合(S11:NO)、プログラム領域が存在するメモリカードについては、プログラム領域以外の領域に対して転送試験を行い(S14)、プログラム領域が存在しないメモリカードについては、全領域に対して転送試験を行う(S13)。タスクの種類に応じた全転送方式による転送試験が完了したか否かを判断し(S16)、全転送方式で転送試験が完了したと判断した場合(S16:YES)、転送試験の結果を解析することにより(S17)、各タスクの割当領域を決定し、使用領域情報をメモリカードへ書き込む(S18)。
【選択図】図4

Description

本発明は、メモリカードへのアクセスを行うアクセス制御装置及びアクセス制御方法に関する。
従来、SDカードなどのメモリカードを使用する装置において、各タスクの動作を制御しているファームウェアは、各デバイスドライバを通して、様々なアクセス単位サイズ、アクセス方式を使用して、記憶領域内の任意のアクセス開始位置へアクセスを行っていた。
例えば、あるタスクは、64KB単位のシーケンシャルアクセス方式を使用し、別のタスクは、4KB単位のシーケンシャルアクセス方式を使用し、更に別のタスクは、1KB〜4KBの可変サイズでランダムアクセス方式を使用して、メモリカードへのアクセスを行っていた。
SDカードなどのメモリカードは、NANDフラッシュメモリ、NANDコントローラ等を備える。NANDフラッシュメモリへのデータの書き込み及び読み込みは、ページと呼ばれる単位で実行される。一方、データの消去は、ブロックと呼ばれる複数ページをひとまとめにした単位で一括して実行される。
このため、データを書き込むときには、前もってデータをブロック単位で消去してから、データの書き込みを行う必要があり、1ページの書き換えであっても、そのページを含んだ1ブロックの内容全てを全NANDフラッシュメモリの外部に読出して、一時的に保持しておき、書き込み対象の1ブロック全てを消去する必要がある。NANDフラッシュメモリの外部の記憶領域で必要なデータの書き換えを行ってから、消去済みのブロックに改めて書き戻す動作が行われる。
NANDフラッシュメモリのプロセスシュリンクが進むことにより、一般的には、ページサイズが大きくなるため、消去ブロックのサイズが大きくなり、消去時間は長くなる。また、プロセスシュリンクが進むことにより、書換保証回数が減少する傾向にあり、書き込み時間の増加とともに、記憶デバイスとしてのアクセス性能や信頼性が低下する傾向にある。
そこで、NANDフラッシュメモリのアクセス制御を行うNANDコントローラと外部RAMとを使用し、様々な手法を駆使して、性能の低減を最小限に止める工夫がなされている(例えば、特許文献1及び2を参照)。
特開2004−317583号公報 特開2005−222201号公報
しかしながら、同じプロセスのNANDフラッシュメモリを使用していても、NANDコントローラの違いや、外部RAM容量の違い、制御手法の違いにより、メモリカードのアクセス性能は異なる。また、アクセス単位サイズの違いやアクセス方式の違い、書き込み開始位置(アドレス)によっても、メモリカードによって大きく特性が変わってしまう状況にある。
このため、メモリカード内のNANDフラッシュメモリ及びNANDコントローラの特性、並びにNANDコントローラが用いる制御プログラムの特性により、メモリカード毎にアクセス性能に相違が生じる。また、メモリカードへアクセスする際のアクセス単位サイズ、アクセス方式、及びアクセス開始位置の違いによっても、アクセス性能に相違が生じる。
一般的に、メモリカードへのアクセスを行うシステムでは、実行するタスクによって固定のアクセス単位サイズ及び固定のアクセス方式を使用し、アクセス開始位置についてはメモリカード使用状況によって動的に決めることが多い。この場合、メモリカードへのアクセス速度(帯域)が影響する処理においては、メモリカードの特性の違いにより、システム側が所望する処理性能が得られないことがある。
例えば、MFPなどで、複数のタスクが様々なアクセス単位サイズ、アクセス方式、書き込み開始位置でメモリカードへアクセスを行う場合において、メモリカードの種類によりデータ書き込み処理が追従できなくなり、正しくメモリカードアクセスが行われなくなるという問題が発生していた。
本発明は、斯かる事情に鑑みてなされたものであり、メモリカードの特性差に依存せずに、安定したアクセス制御が可能なアクセス制御装置及びアクセス制御方法を提供することを目的とする。
本発明に係るアクセス制御装置は、データを記憶する記憶媒体の存在を検出する検出手段を備え、検出した記憶媒体へのアクセスを伴うタスクを実行する際に、実行すべきタスクの種類に応じて規定してあるアクセス方式及びアクセスの最小単位のデータサイズに従って、前記記憶媒体へのアクセスを行うアクセス制御装置において、タスクの種類に応じて規定されているアクセス方式及びデータサイズに従って、タスクの種類毎に前記記憶媒体へのデータの転送試験を実行する実行手段と、実行した転送試験の結果に基づいて、タスクの種類毎に、タスクを実行する際にアクセスすべき前記記憶媒体内の領域を決定する領域決定手段とを備えることを特徴とする。
本発明に係るアクセス制御装置は、前記実行手段は、前記記憶媒体が備える記憶領域を複数の領域に分割し、分割した各領域へのデータの転送速度を計測し、計測した転送速度が閾値以上であるか否かを領域毎に判定するようにしてあり、前記領域決定手段は、計測した転送速度が閾値以上である領域の中から、アクセスすべき領域を決定するようにしてあることを特徴とする。
本発明に係るアクセス制御装置は、前記領域決定手段が決定した領域に係る情報を前記記憶媒体に記憶させる手段を更に備えることを特徴とする。
本発明に係るアクセス制御方法は、データを記憶する記憶媒体の存在を検出し、検出した記憶媒体へのアクセスを伴うタスクを実行する際に、実行すべきタスクの種類に応じて規定してあるアクセス方式及びアクセスの最小単位のデータサイズに従って、前記記憶媒体へのアクセスを行うアクセス制御方法において、タスクの種類に応じて規定されているアクセス方式及びデータサイズに従って、タスクの種類毎に前記記憶媒体へのデータの転送試験を実行し、実行した転送試験の結果に基づいて、タスクの種類毎に、タスクを実行する際にアクセスすべき前記記憶媒体内の領域を決定することを特徴とする。
メモリカードへのアクセスを行う機能を備えた装置、例えば、MFPのように複数の機能を有する装置では、様々な種類のタスクが、タスク毎に定められた転送単位サイズ及び転送方式に従って、メモリカードへのアクセスを行う。
近年、メモリカードの移り変わりは激しく、内部のNANDフラッシュメモリは、毎年のようにプロセスシュリンクが進み、それに伴ってメモリカードの特性も変化している。また、メモリカードの動作を制御するNANDコントローラは複雑な処理をしており、制御プログラムの作り込みによって、メモリカードへアクセスする際の特性が大きく変化する場合がある。
本発明では、メモリカードのような記憶媒体の存在を検出した場合、記憶媒体が備える記憶領域に対して転送試験を実施し、その結果に応じて、各タスクが使用する記憶領域を決定する構成としているので、個々の記憶媒体の特性に応じたアクセスが可能となる。
また、本発明では、転送試験が実施済みの記憶媒体には、各タスクが使用する記憶領域の情報が書き込まれる。アクセス制御装置は、記憶媒体に書き込まれている記憶領域の情報に基づき、各タスクが使用すべき記憶媒体内の記憶領域を割り当てることができる。
本発明によれば、様々な記憶媒体へのアクセスが可能な場合であっても、個々の記憶媒体の特性に影響されずに、安定したアクセス制御が可能となる。
本実施の形態に係るデジタル複合機の概略構成を示すブロック図である。 NANDフラッシュメモリにおける記憶領域の構成例を示す模式図である。 コントローラが備えるテーブルの一例を示す模式図である。 メモリカードの装着時にコントローラが実行する処理の手順を示すフローチャートである。 転送試験結果及び使用領域情報を説明する図である。
以下、本発明の実施形態として、アクセス制御装置を備えたデジタル複合機について、図面を用いて具体的に説明を行う。
図1は、本実施の形態に係るデジタル複合機の概略構成を示すブロック図である。本実施の形態に係るデジタル複合機は、複合機全体の制御を行うコントローラ10、メモリカード200を着脱可能に装着する装着部20、ファクシミリの送受信に係る処理を行うファクシミリ処理部30、コピー処理を行うコピー処理部40、及びプリント処理を行うプリント処理部50を備える。
コントローラ10は、CPU11、ROM12、RAM13、及びメモリカード制御部14を備える。CPU11は、コントローラ10内部のROM12、RAM13及びメモリカード制御部14の制御を行う共に、コントローラ10外部に接続されたファクシミリ処理部30、コピー処理部40、プリント処理部50等の周辺デバイスの制御を行う。ROM12は、CPU11が実行するプログラムを記憶するための記憶デバイスであり、フラッシュメモリなどの不揮発性メモリにより構成される。RAM13は、CPU11と接続され、各種の処理を実行するときのワークエリアとして使用したり、各種データを一時的に記憶するための記憶デバイスであり、DRAMなどの揮発性メモリにより構成される。
メモリカード制御部14は、CPU11などからの指示に従って、メモリカード200へのアクセス制御を行う。メモリカード制御部14は、メモリカード200とのインタフェース仕様に従い、メモリカード200とコマンド及びデータのやり取りを行うことで、コントローラ10とメモリカード200との間でデータを送受信することができる。
CPU11は、ROM12に予め記憶されたプログラムをRAM13に読み込んで実行し、ROM12、RAM13及びメモリカード制御部14等の制御を行うことにより、コントローラ10を本発明に係るアクセス制御装置として機能させる。
ファクシミリ処理部30は、図示しない公衆回線から受信したファクシミリデータをRAM13に一時的に記憶し、そのファクシミリデータをビットマップ変換した後、データ圧縮を行う。コントローラ10は、ファクシミリ処理部30により圧縮された圧縮データを、メモリカード制御部14を介してメモリカード200に保存する。その後、コントローラ10は、メモリカード200に保存された圧縮データをRAM13に読み出す。ファクシミリ処理部30は、RAM13に読み出された圧縮データを伸長し、図示しないエンジン部へ転送することによって、印字処理を行う。なお、ファクシミリデータ受信時のメモリカード200へのデータの保存、及びメモリカード200からのデータの読み出しは、例えば、CPU11がファクシミリ受信に係るタスクを実行することによって行う。
コピー処理部40は、図示しないスキャナ部で読み取られた画像データをRAM13に一時的に記憶し、その画像データに所定の画像処理を施した後、データ圧縮を行う。コントローラ10は、コピー処理部40により圧縮された圧縮データを、メモリカード制御部14を介してメモリカード200に保存する。その後、コントローラ10は、メモリカード200に保存された圧縮データをRAM13に読み出す。コピー処理部40は、RAM13に読み出された圧縮データを伸長し、図示しないエンジン部へ転送することによって、印字処理を行う。なお、コピー処理時のメモリカード200へのデータの保存は、例えば、CPU11がコピー処理(スキャン)に係るタスクを実行することによって行い、コピー処理時のメモリカード200からのデータの読み出しは、例えば、CPU11がコピー処理(印字)に係るタスクを実行することによって行う。
プリント処理部50は、図示しないネットワーク上のパーソナルコンピュータから受信したプリントデータをRAM13に一時的に記憶し、そのプリントデータをビットマップ変換した後、データ圧縮を行う。コントローラ10は、プリント処理部50により圧縮された圧縮データを、メモリカード制御部14を介してメモリカード200に保存する。その後、コントローラ10は、メモリカード200に保存された圧縮データをRAM13に読み出す。プリント処理部50は、RAM13に読み出された圧縮データを伸長し、図示しないエンジン部へ転送することによって、印字処理を行う。なお、プリント処理時のメモリカード200へのデータの保存は、例えば、CPU11がプリント処理(RIP)に係るタスクを実行することによって行い、プリント処理時のメモリカード200からのデータの読み出しは、例えば、CPU11がプリント処理(印字)に係るタスクを実行することによって行う。
メモリカード200は、NANDコントローラ201、NANDフラッシュメモリ202、及びバッファ203を備える。
NANDコントローラ201は、メモリカード制御部14とのインタフェース仕様に従い、コマンドやデータのやり取りを行って、データを送受信する。また、NANDコントローラ201、NANDフラッシュメモリ202及びバッファ203を制御して、NANDフラッシュメモリ202へのデータの書き込み、又はNANDフラッシュメモリ202からのデータの読出しに係る制御を行う。
NANDフラッシュメモリ202は、不揮発性記憶素子からなる半導体メモリの一種である。バッファ203は、NANDコントローラ201とNANDフラッシュメモリ202との間で一時的にデータを格納するためのバッファメモリであり、揮発性のRAMにより構成される。
図2は、NANDフラッシュメモリ202における記憶領域の構成例を示す模式図である。NANDフラッシュメモリは、一般的に、データを書き込む前に、書き込み先に記録されているデータを一旦消去して、白紙の状態に戻してからデータの書き込みを行わなければならないという特徴がある。データの書き込み及び読み込みは、複数のセクタからなるページという単位でしか行えない。図2に示した例では、アクセスの最小単位であるセクタ(512バイト)が4つ集まって、ページ(2048バイト)を構成している。また、前述したデータを書き込む際の消去は、ブロックと呼ばれる複数ページを単位として一括して行われる。図2に示した例では、1つの消去ブロックは、64ページ(128Kバイト)から構成されている。
本実施の形態において、メモリカード200は、セクタが8388608個、すなわち、2097152ページ、32768ブロック(消去ブロック0〜32767)を持つ、総記憶容量4ギガバイト(4GB)のメモリカードであるとする。
本実施の形態に係るデジタル複合機は、ファクシミリ機能、コピー機能、プリンタ機能を有しており、複数のタスクがメモリカード200へのアクセスを行う。デジタル複合機内部にて実行される各タスクは、メモリカード200にアクセスする際、ある一定以上の帯域性能を維持しなければ、所定の機能を果たせなくなる場合がある。例えば、ファクシミリ受信に係るタスクにおいて、受信したデータを逐次的にメモリカード200へ保存する際、メモリカード200への書き込み帯域が遅い場合、公衆回線を必要以上に占有する可能性があり、場合によってはタイムアウトを起こして回線が途中で切れてしまうことが起こり得る。
また、コピー処理に係るタスクにおいては、スキャナで読み取った画像データを圧縮した後、メモリカード200への書き込みを行うが、スキャナの読み取り速度に相応した帯域で書き込まなければ、所定のコピー性能を出すことができない。
また、メモリカード200に格納された画像データを読み出しながら、データを伸長した後、エンジンによる印字を行う場合、メモリカード200からのデータの読み出し帯域が遅ければ、本来のエンジン性能を出すことができなかったり、場合によってはタイムアウトにより印字不良を引き起こす可能性がある。
そこで、本発明に係るアクセス制御装置として機能するコントローラ10は、メモリカード200に対するデータの転送試験を行い、各タスクが必要とする帯域を満たすように、各タスクが使用する記憶領域を決定するようにしている。このため、コントローラ10は、メモリカード200へのアクセスを伴うタスクに関して、アクセス単位サイズ、アクセス方式、必要帯域、及び必要領域を対応付けて記憶したテーブルを備える。このようなテーブルは、例えば、ROM12に格納される。
図3は、コントローラ10が備えるテーブルの一例を示す模式図である。図3に示した例では、転送方式A〜Fにより識別される6種類のタスクがメモリカード200に対してアクセスを行うことを示している。
アクセス単位サイズは、タスクが書き込み又は読み込みを行う際の最小単位サイズを表す。このサイズは、タスクがメモリカード200に一度にアクセスするコマンドの最小単位サイズである。例えば、あるタスクにより、ある書き込み位置から64KBの書き込みコマンドが発行されたとする。この場合、メモリカード200のNANDコントローラ201は、書き込み位置より64KB分のセクタが含まれるブロック内のデータを全てバッファ203に一時退避させ、退避元のブロックを消去する。次に、NANDコントローラ201は、退避させたデータに対して64KB分書き換えた後、ページ単位でNANDフラッシュメモリ202に対して書き戻す処理を繰り返す。
アクセス方式は、シーケンシャル方式又はランダム方式である。メモリカード200に記憶するデータは、一般的に、ファイルシステムと呼ばれるデータ管理方式を取り、各データをファイルとして管理している。
ここで、シーケンシャル方式とは、ファイルが複数ページ又は複数ブロックに跨がって格納される場合に使用される。メモリカード200がSDカードである場合、書き込みコマンドとしてCMD25(WRITE MULTIPLE BLOCK)が使用される。
また、ランダム方式とは、ある特定の位置に格納されたデータに直接アクセスする場合に使用される。メモリカード200がSDカードである場合、書き込みコマンドとしてCMD24(WRITE SINGLE BLOCK)が使用される。
必要帯域とは、各タスクが必要としている帯域であり、例えば、1秒間当たりに書き込み又は読み込みできるデータサイズで表される。また、必要領域とは、各タスクが必要としているメモリカード200内の領域サイズを表す。
次に、各タスクが使用するメモリカード200の領域を決定する処理の手順について説明する。図4は、メモリカード200の装着時にコントローラ10が実行する処理の手順を示すフローチャートである。この処理は、コントローラ10のCPU11が行う処理を記したプログラムの1つのサブルーチンにより実行される。
CPU11は、装着部20にメモリカード200が装着されたことを検出した場合、装着されたメモリカード200内に、各タスクが使用する領域の情報(使用領域情報)が格納されているか否かを判断する(ステップS11)。本実施の形態では、メモリカード200が装着部20に装着されたことを示す信号をコントローラ10が取得することによって、メモリカード200の存在を検出する。ステップS11の判断は、過去に転送試験が実施され、各タスクが使用する領域が決定されたメモリカード200に対して、再度転送試験を実施することを回避するために行う。
メモリカード200内に使用領域情報が存在すると判断した場合(S11:YES)、CPU11は、後述するステップS19の処理を実行し、既に記憶されている使用領域情報を参照してメモリカード200へのアクセス制御を行う。
メモリカード200内に使用領域情報が存在しないと判断した場合(S11:NO)、CPU11は、メモリカード200内にプログラム領域が存在するか否かを判断する(ステップS12)。メモリカード200には、NANDコントローラ201に実行させるプログラムが書き込まれている場合がある。この場合、プログラム領域の書き込み位置及びサイズを示す情報がプログラムと共に書き込まれるため、CPU11は、この情報を参照することにより、プログラム領域が存在するか否かを判断することができる。
メモリカード200内にプログラム領域が存在しないと判断した場合(S12:NO)、CPU11は、メモリカード200内の全領域に対してデータの転送試験を実行する(ステップS13)。また、メモリカード200内のプログラム領域が存在すると判断した場合(S12:YES)、CPU11は、メモリカード200内のプログラム領域以外の領域に対してデータの転送試験を行う(ステップS14)。
このとき、CPU11は、メモリカード200へのアクセスを伴うタスク毎にデータの転送試験を行う。例えば、図3のテーブルに示す転送方式「A」のタスクは、アクセス単位サイズが64KB、アクセス方式がシーケンシャル方式のタスクであるので、CPU11は、64KBのシーケンシャル方式でメモリカード200へのアクセスを行い、アクセスに要した時間を計測することにより、アクセス帯域を求めることで転送試験を行う。
また、図3に示すように、本実施の形態では、各タスクの必要領域の最小単位が256MBであるため、CPU11は、メモリカード200の4GBの記憶領域を、256MB毎に16個の領域(領域#1〜領域#16とする)に分割し、プログラム領域(領域#1)以外の全ての領域(領域#2〜領域#16)に対して、データの転送試験を実行する。
CPU11は、試験対象の各領域について求めたアクセス帯域を平均し、その平均値を転送試験の結果としてRAM13に保存する(ステップS15)。
次いで、CPU11は、全ての転送方式で転送試験を実行したか否かを判断する(ステップS16)。転送試験が未実行の転送方式が存在する場合(S16:NO)、CPU11は、処理をステップS12へ戻し、全ての転送方式で転送試験が実行されるまでステップS12〜S15の処理を繰り返す。
CPU11は、各転送方式(本実施の形態では、転送方式「A」〜「F」)による転送試験を順次行い、全ての転送方式で転送試験が完了した場合(S16:YES)、転送試験の結果の解析を行う(ステップS17)。
次いで、CPU11は、図3に示すテーブルを参照し、各タスクの必要領域に従って、各タスクの必要帯域を満足している領域の中からどの領域を割り当てるかを決定し、メモリカード200内の予め定めた領域に各タスクが使用する領域の情報(使用領域情報)を格納する(ステップS18)。
CPU11は、メモリカード200内の使用領域情報を参照し、各タスクが使用する領域をRAM13内のワーク領域に設定することによって、各タスクにメモリカード内の使用領域を割り当てる(ステップS19)。実行するタスクがメモリカード200へのアクセスを伴う場合、CPU11は、割り当てた使用領域をタスクが使用するように、メモリカード200へのアクセスを制御する。
図5は、転送試験結果及び使用領域情報を説明する図である。本実施の形態では、図3に示すように、各タスクの必要領域の最小単位が256MBであるため、メモリカードの総記憶容量である4GBを256MB単位で領域#1〜領域#16までの16個の領域に分割し、夫々の領域において転送試験を実行すればよい。ここで、メモリカード200の記憶領域に上述したプログラム領域が設定されている場合、この領域については転送試験から除外すればよい。図5に示す例では、セクタ0より256MB分の領域#1がプログラム領域であるため、領域#1を除く、領域#2〜領域#16(すなわち、セクタ524288より(4GB−256MB)分の領域)が、転送試験の対象となる。
領域#2に対して、転送方式「A」で転送試験を行った結果、転送方式「A」のタスク(本実施の形態では、コピー処理におけるスキャンに係るタスク)が必要とする必要帯域2.5MB/s以上を満たす場合、転送結果として「○」を記録し、満たさない場合、転送結果として「×」を記録する。次いで、領域#3、領域#4、…、領域#16に対して、転送方式「A」の転送試験を順次行い、転送結果を記録する。図5に示した例では、領域#2〜領域#4までは転送方式「A」のタスクが必要とする必要帯域を満たし、領域#5〜領域#16までは必要帯域を満たさなかったことを示している。転送方式「B」〜「F」の各タスクについても、同様に、領域#2〜領域#16に対する転送試験を行い、各領域に対する転送試験の結果を記録する。
CPU11は、各タスクについて実行した転送試験の結果に基づき、各タスクが使用する領域を決定する。例えば、CPU11は、必要帯域を満たす領域が少なかったタスクから順次使用領域を決定することができる。図5に示した例では、必要帯域を満たす領域が最も少ないタスクは、転送方式「A」のタスクであり、転送方式「A」の必要領域は256MBであるので、転送方式「A」のタスクが使用する領域を例えば領域#2に決定する。
次に必要帯域を満たす領域が少ないタスクは、転送方式「D」のタスクであり、転送方式「D」の必要領域は1GBであるので、転送方式「D」のタスクが使用する領域を例えば領域#3〜領域#6に決定する。同様に、他のタスクについても使用領域を決定することにより、例えば、図5に示すように、各タスクに対する使用領域が決定される。
なお、図5に示した例では、領域#8を各タスクが使用しない予備の領域として設定している。
本実施の形態では、プログラム領域以外の全領域に対して転送試験を実施したが、必ずしも全セクタに対して転送試験する必要はないかもしれない。例えば、上述した実施の形態の場合、各256MBの領域の中の先頭の数MBにだけ転送試験を実施し、平均帯域を求めて、その領域全体の帯域としてもほぼ問題とならない。また、より正確に帯域を求めたい場合は、256MB領域の先頭数MB、中間の数MB、及び最後の数MBに対して転送試験を実施し、それぞれで得られる帯域を平均することにより、全セクタに対して転送試験して得られる平均帯域により近づくと考えられる。
メモリカード200からの読み込み性能は、アクセス単位サイズが決まれば、アクセス位置に関係なくほぼ一定となる場合が多いため、書き込み性能に絞って、より詳細に転送試験を行う構成としてもよい。例えば、上記の構成に追加して、アクセスを開始する最初の位置(アドレス・バウンダリ)に着目した転送試験を実施し、アクセスするデータサイズに応じてアドレス調整(アラインメントという)を行うことにより、より最適な書き込みアクセスが可能になる。
以上のように、本発明に係るアクセス制御装置は、コントローラ10側の処理を最適化することにより、メモリカード200に対する高速アクセスを実現することができる。このようなコントローラ10は、メモリカード200を記録媒体として使用するデジタル複合機(MFP)、デジタル家電、デジタルカメラ、携帯電話端末、及び携帯タブレット端末などに利用できる。メモリカード200への転送帯域がその装置の動作性能に直結する場合は、特に好適に機能する。
10 コントローラ
11 CPU
12 ROM
13 RAM
14 メモリカード制御部
20 装着部
30 ファクシミリ処理部
40 コピー処理部
50 プリント処理部
200 メモリカード
201 NANDコントローラ
202 NANDフラッシュメモリ
203 バッファ

Claims (4)

  1. データを記憶する記憶媒体の存在を検出する検出手段を備え、検出した記憶媒体へのアクセスを伴うタスクを実行する際に、実行すべきタスクの種類に応じて規定してあるアクセス方式及びアクセスの最小単位のデータサイズに従って、前記記憶媒体へのアクセスを行うアクセス制御装置において、
    タスクの種類に応じて規定されているアクセス方式及びデータサイズに従って、タスクの種類毎に前記記憶媒体へのデータの転送試験を実行する実行手段と、
    実行した転送試験の結果に基づいて、タスクの種類毎に、タスクを実行する際にアクセスすべき前記記憶媒体内の領域を決定する領域決定手段と
    を備えることを特徴とするアクセス制御装置。
  2. 前記実行手段は、前記記憶媒体が備える記憶領域を複数の領域に分割し、分割した各領域へのデータの転送速度を計測し、計測した転送速度が閾値以上であるか否かを領域毎に判定するようにしてあり、
    前記領域決定手段は、計測した転送速度が閾値以上である領域の中から、アクセスすべき領域を決定するようにしてあることを特徴とする請求項1に記載のアクセス制御装置。
  3. 前記領域決定手段が決定した領域に係る情報を前記記憶媒体に記憶させる手段を更に備えることを特徴とする請求項1又は請求項2に記載のアクセス制御装置。
  4. データを記憶する記憶媒体の存在を検出し、検出した記憶媒体へのアクセスを伴うタスクを実行する際に、実行すべきタスクの種類に応じて規定してあるアクセス方式及びアクセスの最小単位のデータサイズに従って、前記記憶媒体へのアクセスを行うアクセス制御方法において、
    タスクの種類に応じて規定されているアクセス方式及びデータサイズに従って、タスクの種類毎に前記記憶媒体へのデータの転送試験を実行し、
    実行した転送試験の結果に基づいて、タスクの種類毎に、タスクを実行する際にアクセスすべき前記記憶媒体内の領域を決定する
    ことを特徴とするアクセス制御方法。
JP2012115769A 2012-05-21 2012-05-21 アクセス制御装置及びアクセス制御方法 Pending JP2013242716A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012115769A JP2013242716A (ja) 2012-05-21 2012-05-21 アクセス制御装置及びアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012115769A JP2013242716A (ja) 2012-05-21 2012-05-21 アクセス制御装置及びアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2013242716A true JP2013242716A (ja) 2013-12-05

Family

ID=49843544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012115769A Pending JP2013242716A (ja) 2012-05-21 2012-05-21 アクセス制御装置及びアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2013242716A (ja)

Similar Documents

Publication Publication Date Title
JP3825465B2 (ja) メモリカード及びメモリカードシステム
JP4768504B2 (ja) 不揮発性フラッシュメモリを用いる記憶装置
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
JP4758518B2 (ja) 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
US8489850B2 (en) Memory apparatus and memory control method
US8112575B2 (en) Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
JP5641900B2 (ja) 管理装置及びその制御方法、並びにプログラム
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
JP5378197B2 (ja) メモリコントローラ、メモリカード、不揮発性メモリシステム
US20100095051A1 (en) Memory system and a control method thereof
TWI540435B (zh) 記憶體系統
US20080244173A1 (en) Storage device using nonvolatile cache memory and control method thereof
JPWO2009001514A1 (ja) メモリコントローラ、不揮発性記憶装置、ファイルシステム、不揮発性記憶システム、データ書き込み方法及びデータ書き込みプログラム
JP2010086009A (ja) 記憶装置およびメモリ制御方法
US20100017560A1 (en) Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
US20150012691A1 (en) Storage control apparatus, control program, and control method
CN106057246A (zh) 一种非易失性存储器中坏点单元的替换方法
US20220027097A1 (en) Recording apparatus, recording method, storage medium, and memory card
JP2013242716A (ja) アクセス制御装置及びアクセス制御方法
US8503241B2 (en) Electronic apparatus and data reading method
JP5253471B2 (ja) メモリコントローラ
US7330944B2 (en) Method for storing data in a memory, a system, an electronic device and a memory card
US20210303212A1 (en) Data processing method and memory controller utilizing the same
US20090319587A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP4149640B2 (ja) 半導体メモリの書込制御装置及びその方法