(57)【要約】【課題】記憶装置の良好ブロックをより有効に利用すること。【解決手段】記憶領域を複数のメモリブロックに区切られたフラッシュメモリ１４に対して、所定のメモリブロック群ごとにデータの書き込みを行うアクセス制御装置であって、メモリブロックごとに、当該メモリブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶し、この記録可否情報に基づき、当該メモリブロック群の良好ブロックに対してのみデータを書き込む。【選択図】図４
2010204961.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御装置であって、
前記記憶ブロックごとに、当該記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する管理情報記憶部と、
前記記憶ブロック群ごとにデータを書き込む場合に、前記管理情報記憶部に記憶された記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理部と
を備えたことを特徴とするアクセス制御装置。
【請求項２】
前記アクセス処理部は、複数の前記記憶ブロック群のうち、記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする請求項１に記載のアクセス制御装置。
【請求項３】
前記アクセス処理部は、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに対して、前記ダミーデータとして１を書込むことを特徴とする請求項２に記載のアクセス制御装置。
【請求項４】
記憶領域を複数の記憶ブロックに区切られた記憶装置を備え、前記記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行う情報処理装置であって、
前記記憶ブロックごとに、当該記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する管理情報記憶部と、
前記記憶ブロック群ごとにデータを書き込む場合に、前記管理情報記憶部に記憶された記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理部と
を備えたことを特徴とする情報処理装置。
【請求項５】
前記アクセス処理部は、複数の前記記憶ブロック群のうち、属する記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記アクセス処理部は、前記ダミーデータとして、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに１を書込むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御プログラムであって、
前記記憶ブロック群ごとにデータを書き込む場合に、当該記憶ブロック群に含まれる各記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理手順
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
【請求項８】
記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御装置であって、
前記記憶ブロック群ごとにデータを書き込む場合に、当該記憶ブロック群に含まれる各記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理ステップ
を含んだことを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法に関し、例えば、記憶装置の良好ブロックを有効に利用することができるアクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法に関する。
【背景技術】
【０００２】
従来、フラッシュメモリ等の情報処理装置に設けられる不揮発性メモリは、所定のメモリセル単位で形成されるメモリブロックが複数配列されたバンクを複数備える。例えば、図９に示すように、不揮発性メモリ７００には、複数のメモリブロックを有するＮ＋１個のバンク（Bank0〜BankN）が横一列に設けられている。
【０００３】
より具体的には、各バンクには、２つのダイDie0，Die1が横一列に設けられており、各ダイごとに、Ｍ＋２個のメモリブロックBlock0〜BlockM+1および２つのＳＲＡＭ（Static Random Access Memory)SRAM0，SRAM１が設けられている。Block0〜BlockM+1は、各ダイ上において縦二列（Block0、Block2、・・・BlockMの列およびBlock1、Block3、・・・BlockM+1の列）で配置されている。また、SRAM0は、Block0、Block2、・・・BlockMの列（偶数番号の列）に属するメモリブロックに書き込むデータを一時的に記憶し、SRAM1は、Block1、Block3、・・・BlockM+1の列（奇数番号の列）に属するメモリブロックに書き込むデータを一時的に記憶する。そして、各メモリブロックは、ページと呼ばれる複数ビット単位で区切られたメモリセルをＬ＋１個（page0〜pageL）を含む。
【０００４】
このような不揮発性メモリ７００に対してデータを書き込む際、情報処理装置は、各バンクに存在する特定のメモリブロック同士を１つのグループとし、各グループ内の複数のメモリブロックに対してデータの書き込みを一度に行う。具体的には、情報処理装置は、各メモリブロックの列において先頭から同一順番に位置するメモリブロック同士を一つのグループとする。
【０００５】
例えば、情報処理装置は、図９に示すように、各メモリブロックの列において先頭に位置するメモリブロック同士（各ダイにおけるBlock0およびBlock１）を一つのグループとし、当該グループに属する複数のメモリブロックに対しデータの書き込みを一度に行う。このように、情報処理装置は、各バンクに対してデータを並列的に書き込むことによって、処理速度の向上を図っている。なお、不揮発性メモリ７００に含まれるグループを、各メモリブロックの列の先頭から順にそれぞれグループ#１〜グループ#Ｋとする。
【０００６】
ところで、不揮発性メモリには、不良ブロックが存在する場合がある。不良ブロックとは、データを記録できないメモリセルを含んだメモリブロックであり、工場出荷時から存在するものの他、度重なる使用により良好ブロックが劣化して不良ブロックとなるものもある。
【０００７】
従来の不揮発性メモリは、同一グループ内に１つでも不良ブロックが存在する場合、書き込み性能を維持するため、当該不良ブロックを含むグループの全てのメモリブロックに対してデータの書き込みを行わないこととしている。例えば、図９に示すように、ハッチングを施したメモリブロック７１０ａ〜７１０ｄ、すなわち、Bank0,Die0のBlock2（メモリブロック７１０ａ）、Bank0,Die1のBlock2（メモリブロック７１０ｂ）、Bank0,Die1のBlock3（メモリブロック７１０ｃ）、BankN,Die0のBlockM（メモリブロック７１０ｄ）を不良ブロックとする。この場合、情報処理装置は、メモリブロック７１０ａ〜７１０ｃを含むグループおよびメモリブロック７１０ｄを含むグループに対してデータの書き込みを行わない。
【０００８】
なお、情報処理装置は、各グループに対するデータ書き込みの可否をメモリ管理テーブルにより管理する。メモリ管理テーブルは、図１０に示すように、不揮発性メモリ７００に含まれるグループ#１〜グループ#Ｋについて、当該グループに対してデータの書き込みが可能か否か（すなわち、当該グループに不良ブロックが含まれるか否か）を示す書込み可否情報を記憶する。例えば、グループ#Ｋには不良ブロック７１０ｄが含まれるため（図９参照。）、メモリ管理テーブルには、グループ#Ｋに対応する書込み可否情報として、当該グループに対するデータ書き込みができないことを示す「不可」が記憶される。情報処理装置は、データ書き込みを行う際、このメモリ管理テーブルを参照して、データを書込むグループを決定する。
【０００９】
このように、不良ブロックを含むグループの全てのメモリブロックに対してデータの書き込みを行わないこととすると、当該グループに属する良好ブロックまで使用できなくなるため、実質的に使用可能な記憶容量が少なくなるという問題があった。すなわち、図９に示すような場合、良好ブロックである、Bank0,Die0におけるBlockM，Block3，BlockM+1、Bank0,Die1におけるBlockM，BlockM+1、BankN,Die0におけるBlock2，Block3，BlockM+1、BankN,Die1におけるBlock2，Block3，BlockM，BlockM+1に対してデータの書き込みを行うことができなくなる。
【００１０】
このような問題を解決するため、例えば、特許文献１には、不揮発性メモリ内の良好ブロックを有効に利用するためのアクセス制御方法が開示されている。具体的には、特許文献１に記載のアクセス制御方法では、図１１に示すように、複数のバンク（Bank0〜Bank3）に属するメモリブロックを、不良ブロックを回避しつつ１つずつ選択してグループ化させる。すなわち、特許文献１に記載のアクセス制御方法では、各バンクの同一アドレスに属するメモリブロック（従来のグループ）に不良ブロックが含まれる場合、当該不良ブロックと同じバンクに属する他のメモリブロック（すなわち、他のグループに属するメモリブロック）を当該不良ブロックの代わりとして使用する。
【００１１】
例えば、図１１に示すように、各バンクのAddress0に位置するメモリブロックからなるグループにおいて、Bank1のAddress0に位置するメモリブロックが不良ブロックであるとする。この場合、特許文献１に記載のアクセス制御方法では、Bank1のAddress0に位置する不良ブロックの代わりに、Bank1のAddress5に位置するメモリブロックを用いてデータの書き込みを行う。すなわち、この場合、Bank0,Address0のメモリブロック、Bank1,Address5のメモリブロック、Bank2,Address0のメモリブロック、Bank3,Address0のメモリブロック（図１１において番号「１」が付されたメモリブロック）が１つのグループとなる。このように、特許文献１に記載のアクセス制御方法によれば、従来と同様に全てのバンクに対してデータを同時に書き込みつつ、従来の不揮発性メモリにおいて書き込むことのできなかった良好ブロックを使用することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００４−２６５１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１に記載のアクセス制御方法では、データを書き込む際、データの同時書込みを全てのバンクに対して行うため、例えば１つのバンクに不良ブロックが集中した場合、良好ブロックを有効に利用することができないおそれがある。例えば、図１１に示すように、各バンクは、Address0〜Address7で示される８つのメモリブロックをそれぞれ有する。このうち、Bank0,Bank2,Bank3には不良ブロックがそれぞれ１つずつ存在するが、Bank１には５つの不良ブロックが存在するとする。
【００１４】
このような場合、特許文献１に記載のアクセス制御方法を用いてデータの書き込みを行うと、Bank0,Bank2,Bank3には書込み可能な良好ブロックがそれぞれ７つ存在するが、Bank1には良好ブロックが３つしか残っていないため、３つのグループしか作ることができない。そのため、Bank0,Bank2,Bank3に存在する７つの良好ブロックのうちの４つ（Bank0のAddress4〜7のメモリブロック、Bank2のAddress4，5〜7のメモリブロック、Bank3のAddress4〜7のメモリブロック）は、データを書き込むことのできない良好ブロックとなる。
【００１５】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、記憶装置の良好ブロックをより有効に利用することができるアクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本願の開示するアクセス制御装置は、一つの態様において、記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御装置であって、前記記憶ブロックごとに、当該記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する管理情報記憶部と、前記記憶ブロック群ごとにデータを書き込む場合に、前記管理情報記憶部に記憶された記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理部とを備える。
【発明の効果】
【００１７】
本願の開示するアクセス制御装置の一つの態様によれば、不揮発性メモリ内の良好ブロックをより有効に利用することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、本実施例における情報処理装置の構成を示すブロック図である。
【図２】図２は、本実施例におけるフラッシュメモリのメモリ構成の一例を示す図である。
【図３】図３は、本実施例におけるメモリ管理テーブルの一例を示す図である。
【図４】図４は、本実施例におけるアクセス制御方法を説明するための図である。
【図５】図５は、本実施例におけるメモリアドレスのイメージ図である。
【図６】図６は、本実施例におけるデータ書込み処理の処理手順を示すフローチャートである。
【図７】図７は、本実施例におけるデータ読出し処理の処理手順を示すフローチャートである。
【図８】図８は、アクセス制御プログラムを実行するコンピュータを示す図である。
【図９】図９は、従来における不揮発性メモリのメモリ構成の一例を示す図である。
【図１０】図１０は、従来におけるメモリ管理テーブルの一例を示す図である。
【図１１】図１１は、特許文献１に記載のアクセス制御方法を説明するための図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示するアクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、記憶装置として、不揮発性メモリであるフラッシュメモリを用いる場合について説明するが、本願に開示する技術は、例えば、ＤＲＡＭ(Dynamic Random Access Memory)などの揮発性メモリやＨＤＤ(Hard Disk Drive)などのディスク装置に対しても有効である。
【実施例】
【００２０】
本実施例にかかるアクセス制御方法は、フラッシュメモリ内の複数のＳＲＡＭにデータを一時記憶した後、当該フラッシュメモリ内の複数のメモリブロックに対して各ＳＲＡＭからデータを並列的に書き込む場合に、不良ブロックに対応するＳＲＡＭには、ダミーデータを一時記憶させ、ＳＲＡＭから読み出されたダミーデータを不良ブロック以外のブロックに書込ませることにより、不良ブロックが存在する場合におけるメモリ使用効率を高めることができる。
【００２１】
まず、本実施例にかかる情報処理装置の構成について、図面を参照して説明する。図１は本実施例における情報処理装置の構成を示すブロック図、図２は本実施例におけるフラッシュメモリのメモリ構成の一例を示す図、図３は本実施例におけるメモリ管理テーブルの一例を示す図である。なお、本実施例では、情報処理装置の一例として、停電時において、停電時給電ユニットから供給される電力を用いて、キャッシュメモリ内のデータをフラッシュメモリに退避させる機能を有する情報処理装置について説明する。ただし、本願に開示する技術は、このような機能を有しない情報処理装置に対しても適用することができる。
【００２２】
図１に示すように、本実施例にかかる情報処理装置１は、電源供給ユニット２と、停電時給電ユニット３と、給電対象ユニット１０とを含む。電源供給ユニット２は、通常時において給電対象ユニット１０に対して電力の供給を行う。停電時給電ユニット３は、停電によって電源供給ユニット２からの電力供給がなされなくなった場合に、給電対象ユニット１０に対して電力供給を行う大容量のコンデンサまたはバッテリー等である。
【００２３】
給電対象ユニット１０は、ＣＰＵ(Central Processing Unit)１１と、メモリコントローラ１２と、キャッシュメモリ１３と、フラッシュメモリ１４と、フラッシュメモリコントローラ１５とを含む。ＣＰＵ１１は、キャッシュメモリ１３やフラッシュメモリ１４に記憶されたデータの計算・加工を行う演算処理装置である。
【００２４】
メモリコントローラ１２は、ＣＰＵ１１からのキャッシュメモリ１３へのアクセスを制御する装置である。また、メモリコントローラ１２は、PCI-XやPCIeなどのバスによりフラッシュメモリコントローラ１５と接続されており、ＣＰＵ１１からのフラッシュメモリ１４に対するデータの書き込み要求や読み出し要求をフラッシュメモリコントローラ１５へ受け渡す。特に、本実施例にかかるメモリコントローラ１２は、停電時において、停電時給電ユニット３からの電力を用いて、キャッシュメモリ１３に記憶されたデータをフラッシュメモリ１４に書き込む処理を行う。これにより、揮発性メモリであるキャッシュメモリに一時的に保持されているデータの消失を防ぐことができる。
【００２５】
キャッシュメモリ１３は、ＤＤＲ  ＳＤＲＡＭ(Double Date Rate Synchronous DRAM)などの揮発性メモリであり、例えば、フラッシュメモリ１４に書き込むべきデータを一時的に保持する。記憶装置としてのフラッシュメモリ１４は、各種データを記憶する不揮発性メモリである。フラッシュメモリ１４は、所定のメモリセル単位で形成されるメモリブロック（記憶ブロックに相当。）が複数配列されたバンクを複数備える。具体的には、フラッシュメモリ１４には、図２に示すように、複数のメモリブロックを含んだ２個のバンク（Bank0，Bank1）が横一列に設けられている。また、各バンクには、２つのダイ（Die0およびDie1）が横一列に設けられており、ダイごとに、１０個のメモリブロック（Block0〜Block9）および２つのＳＲＡＭ（SRAM0，SRAM1）が設けられている。このように、本実施例にかかるフラッシュメモリ１４は、記憶領域が複数のメモリブロックに区切られている。なお、図２は、フラッシュメモリ１４の論理的な構成を示すものであり、必ずしもバンクやダイが物理的に横一列に並んでいる必要はない。
【００２６】
Block0〜Block9は、各ダイ上において縦二列（Block0、Block2、・・・Block8の列およびBlock1、Block3、・・・Block9の列）で配置されている。また、SRAM0は、Block0、Block2、・・・Block8の列（以下、「偶数ブロック」とする。）に属するメモリブロックに書き込むデータを一時的に記憶し、SRAM1は、Block1、Block3、・・・Block9の列（以下、「奇数ブロック」とする。）に属するメモリブロックに書き込むデータを一時的に記憶する。そして、各メモリブロックは、ページと呼ばれる複数ビット単位で区切られたメモリセルをＮ＋１個（page0〜pageN）を含む。なお、偶数ブロックや奇数ブロックもバンクやダイと同様、必ずしも物理的に縦一列に並んでいる必要はない。
【００２７】
本実施例において、情報処理装置１は、バンクごとに存在する特定のメモリブロック同士を１つのグループとする。ここで、「特定のメモリブロック同士」とは、各メモリブロックの列において同じ位置に存在するメモリブロック同士を意味する。例えば、図２に示すように、各メモリブロックの列においてＳＲＡＭ側を先頭とすると、当該先頭に位置するメモリブロック同士（各ダイに存在するBlock0およびBlock１）を一つのグループとする。以下では、Block0およびBlock1を含むグループをグループ#１、Block2およびBlock3を含むグループをグループ#２、Block4およびBlock5を含むグループをグループ#３、Block6およびBlock7を含むグループをグループ#４、Block8およびBlock9を含むグループをグループ#５とする。
【００２８】
このように、異なるＳＲＡＭからデータを書き込まれるメモリブロック同士をグルーピングすることにより、フラッシュメモリ１４に対してデータを効率的に書き込むことができる。かかる点については、後述する。
【００２９】
アクセス制御装置としてのフラッシュメモリコントローラ１５は、キャッシュメモリ１３に記憶されたデータをフラッシュメモリ１４に書き込んだり、メモリコントローラ１２からのデータ読出し要求に基づきフラッシュメモリ１４からデータを読み出したりする場合に、フラッシュメモリ１４へのアクセスを制御する。フラッシュメモリコントローラ１５は、管理情報記憶部２０と、制御部２１とを含む。管理情報記憶部２０は、フラッシュメモリ１４へのアクセス制御に必要な情報を記憶する。特に、管理情報記憶部２０は、メモリ管理テーブル２００を有する。
【００３０】
図３に示すように、メモリ管理テーブル２００は、フラッシュメモリ１４に含まれる全てのメモリブロックについて、当該メモリブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する。例えば、列がBank0,Die0,偶数ブロック、行がグループ#３の欄は、図２におけるBank0,Die0のBlock4に関する記録可否情報を記憶する欄であり、当該メモリブロックが良好ブロックであることを示す「可」を記憶する。同様に、列がBank1,Die0,奇数ブロック、行がグループ#２の欄は、図２におけるBank1,Die0のBlock3に関する記録可否情報を記憶する欄であり、当該メモリブロックが不良ブロックであることを示す「不可」を記憶する。
【００３１】
また、メモリ管理テーブル２００は、ダミーデータ書込み用グループ識別フラグを記憶する。ここで、ダミーデータ書込み用グループとは、後述するダミーデータが書込まれるメモリブロックが属するグループであり、詳細については、後述する。このダミーデータ書込み用グループ識別フラグがセットされているグループがダミーデータ書込み用グループとなる。
【００３２】
制御部２１は、フラッシュメモリコントローラ１５全体を制御する。制御部２１は、アクセス処理部２１０を有する。なお、本実施例にかかる制御部２１は、ＤＭＡ(Direct Memory Access)によるデータ転送を行うＤＭＡエンジンである。
【００３３】
アクセス処理部２１０は、フラッシュメモリ１４へのデータの書込み処理及びフラッシュメモリ１４からのデータの読出し処理を制御する。ここで、アクセス処理部２１０は、フラッシュメモリ１４にデータを書き込む場合、メモリブロックのグループ（グループ#１〜#５）を所定のメモリブロック群（記憶ブロック群に相当。）として、グループごとにデータの書き込みを行う。
【００３４】
具体的には、アクセス処理部２１０は、フラッシュメモリコントローラ１５にデータを書き込む前に、各メモリブロックに対して書き込むべきデータを、それぞれのメモリブロックに対応するＳＲＡＭに書き込む。例えば、Bank0,Die0のBlock0に書き込むべきデータは、当該メモリブロックに書き込まれる前に、Bank0,Die0のＳＲＡＭ０に書き込まれる。そして、１つのグループに含まれるメモリブロックに書き込むべきデータを、それぞれのメモリブロックに対応するＳＲＡＭに全て書き込むと、アクセス処理部２１０は、各ＳＲＡＭに記憶されたデータを、それぞれのＳＲＡＭに対応するメモリブロックに対して一斉に書き込む。
【００３５】
このように、アクセス処理部２１０は、データを書き込む場合、１つのグループに属するメモリブロックに対して書き込むべきデータを、各メモリブロックに対応するＳＲＡＭに記憶した後、これらメモリブロックに対してＳＲＡＭから一度にデータを書き込む。これにより、データの書き込み速度を上げることができる。なお、以下において、ＳＲＡＭに記憶したデータをメモリブロックに書き込む動作をプログラミングと称する場合がある。
【００３６】
特に、本実施例にかかるアクセス処理部２１０は、各グループに対してデータを書き込む場合、メモリ管理テーブル２００に記憶された記録可否情報に基づき、当該グループに含まれる良好ブロックに対してのみデータを書き込む。以下、本実施例にかかるアクセス制御方法について、図面を参照して具体的に説明する。図４は本実施例におけるアクセス制御方法を説明するための図、図５は本実施例におけるメモリアドレスのイメージ図である。
【００３７】
例えば、図４に示すように、フラッシュメモリ１４に書き込むべきデータとして、Data0〜Data16がキャッシュメモリ１３に記憶されているとする。アクセス処理部２１０は、これらのデータをグループ#１から順にグループ単位で書き込む場合、先ず、グループ#１に属するメモリブロックが良好ブロックであるか否かをメモリ管理テーブル２００に基づき判定する。この結果、グループ#１に属するメモリブロックのうち、Bank0,Die0のBlock0、Bank1,Die0のBlock0、Bank1,Die1のBlock1が良好ブロックであると判定すると、アクセス処理部２１０は、これら３つのメモリブロックに対して、それぞれData0、Data1、Data2を書き込む。すなわち、グループ#１における不良ブロックであるBank0,Die0のBlock1、Bank0,Die1のBlock0、Bank0,Die1のBlock1、Bank1,Die0のBlock1及びBank1,Die1のBlock0（図４においてハッチングが施されたメモリブロック）に対してはデータは書き込まれない。
【００３８】
ところで、上述したように、本実施例にかかるアクセス処理部２１０は、フラッシュメモリ１４にデータを書き込む場合、フラッシュメモリ１４上の全てのＳＲＡＭを使用してメモリブロックへのデータの書き込みを同時に行う。そのため、良好ブロックにのみデータを書き込む場合であっても、プログラミングの際に不良ブロックに対するアクセスも発生してしまう。このような事態に対処するため、本実施例にかかるアクセス処理部２１０は、当該不良ブロックに対応するＳＲＡＭに対してダミーデータの書込み処理を行う。
【００３９】
しかしながら、アクセス処理部２１０は、例えば、データを書き込もうとしたメモリブロックが度重なる使用により劣化して不良ブロックとなっており、データの書き込みに失敗したような場合、書き込みに失敗したデータを他のメモリブロックへ書き移すといった処理を行う。そのため、ダミーデータを不良ブロックへ書き込んだ場合、ダミーデータを他のメモリブロックへ書き写すという無駄な処理が発生してしまう。そこで、本実施例では、フラッシュメモリ１４へのデータ書込みの際に、ＳＲＡＭから不良ブロックへの書き込みが発生することを防ぐために、不良ブロックに対応するＳＲＡＭは、ダミーデータを不良ブロックに書き込むのではなく、当該不良ブロックに対応する良好ブロックに対して書き込む。
【００４０】
具体的には、アクセス処理部２１０は、フラッシュメモリ１４に書き込むべきデータ（例えば、Data0〜Data16。）を各ＳＲＡＭに記憶する際、良好ブロックに対応するＳＲＡＭには正式なデータ（Data0〜Data16の何れか。）を書き込む一方、不良ブロックに対応するＳＲＡＭにはダミーデータを書き込む。
【００４１】
そして、各ＳＲＡＭに記憶されたデータをそれぞれに対応するメモリブロックに一度に書き込む際、アクセス処理部２１０は、正式なデータについては良好ブロックに書き込み、ダミーデータについては不良ブロックに対応する他のメモリブロックに書き込む。ここで、不良ブロックに対応する他のメモリブロックとは、不良ブロックと同じＳＲＡＭに対応する良好ブロックである。
【００４２】
より具体的には、本実施例では、フラッシュメモリ１４に存在するメモリブロックのグループ#１〜#５のうち、全てのメモリブロックが良好ブロックであるグループの少なくとも１つをダミーデータ書込み用のグループとする。したがって、本実施例では、図３に示すようにグループ#５がダミーデータ用のグループとなる。また、グループ＃５に属するメモリブロック（Bank0,Die0のBlock8、Bank0,Die0のBlock9、Bank0,Die1のBlock8、Bank0,Die1のBlock9、Bank1,Die0のBlock8、Bank1,Die0のBlock9、Bank1,Die1のBlock8、Bank1,Die1のBlock9）が、ダミーデータ書込み用のメモリブロックとなる。
【００４３】
ここで、アクセス処理部２１０は、どのグループがダミーデータ書込み用のグループであるかを、メモリ管理テーブル２００に記憶されたダミーデータ書込み用グループ識別フラグを参照することにより判別する。例えば、図３に示すように、グループ＃５に対応する欄にダミーデータ書込み用グループ識別フラグがセットされている場合、アクセス処理部２１０は、グループ＃５がダミーデータ書込み用のグループであると判別する。
【００４４】
そして、アクセス処理部２１０は、ＳＲＡＭからフラッシュメモリ１４にダミーデータを書き込む場合、当該ＳＲＡＭに対応する、ダミーデータ書込み用のグループに属するメモリブロックに対してダミーデータを書き込む。例えば、グループ#１へのデータ書込み処理が行われる場合、Bank0,Die0のＳＲＡＭ１に記憶されたダミーデータは、Bank0,Die0のBlock1ではなく、Bank0,Die0のBlock9に書き込まれる。また、グループ#３へのデータ書込み処理が行われる場合も同様に、Bank0,Die0のＳＲＡＭ１に記憶されたダミーデータは、Bank0,Die0のBlock5ではなく、Bank0,Die0のBlock9に書き込まれる。
【００４５】
このように、本実施例にかかるアクセス処理部２１０は、あるグループに対してデータを書込む場合、正式なデータについては当該グループに属する良好ブロックに書き込み、ダミーデータについては、当該グループ内の不良ブロックに対応する、ダミーデータ書込み用のグループに属するメモリブロックに書き込む。例えば、グループ#１へのデータ書込み処理を行う場合、アクセス処理部２１０は、正式なデータであるData0〜Data2をそれぞれBank0,Die0のBlock0、Bank1,Die0のBlock0及びBank1,Die1のBlock1に書き込むとともに、ダミーデータをそれぞれBank0,Die0のBlock1、Bank0,Die1のBlock0、Bank0,Die1のBlock1、Bank1,Die0のBlock1及びBank1,Die1のBlock0へ書き込む。
【００４６】
ここで、メモリブロックにデータが何も書き込まれていない状態とは、当該メモリブロックに「１」が書き込まれている状態を示す。そして、当該メモリブロックに対するデータの書き込みは、当該メモリブロックに書き込まれている「１」の情報を「０」に書換えることにより行われる。また、既にデータが書き込まれているメモリブロックに対して別のデータを書き込む場合は、当該メモリブロックに記憶されているデータを一旦消去して当該メモリブロックの状態を「１」にした後（この処理をイレース処理をいう。）、当該メモリブロックに「０」を書き込む。このイレース処理は、メモリブロックの劣化の最大の原因となっている。ダミーデータ書込み用のメモリブロックは、他のメモリブロックと比較してデータ（ダミーデータ）が書込まれる回数が多い。そのため、書き込みごとにイレース処理を行うこととすると、すぐに劣化して不良ブロックとなり、ダミーデータ書込み用のメモリブロックとしての機能を果たさなくなるおそれがある。
【００４７】
そこで、本実施例において、アクセス処理部２１０は、ダミーデータ用のグループに属するメモリブロックに対して、ダミーデータとして「１」を書き込む。このように、ダミーデータ書込み用のメモリブロックに対して、ダミーデータとして「１」を上書きしていくことにより、ダミーデータの書き込みごとにイレース処理を行う必要がなくなるため、ダミーデータ書込み用のメモリブロックの劣化を防ぐことができる。
【００４８】
また、アクセス処理部２１０は、フラッシュメモリ１４からデータを読み出す場合、メモリ管理テーブル２００に記憶された記録可否情報に基づき、各メモリブロックからデータを読み出す。具体的には、アクセス処理部２１０は、各メモリブロックの記録可否情報を参照し、当該メモリブロックが良好ブロックであれば、当該メモリブロックに記憶されたデータを読み出す。一方、メモリブロックが不良ブロックであれば、データの読み出しは行わない。
【００４９】
なお、フラッシュメモリ１４へアクセスする場合、アクセス処理部２１０は、データを書き込むべきメモリブロックをメモリアドレスにより指定し、このメモリアドレスをデータとともにＳＲＡＭに記憶する。ここで、メモリアドレスは、図５に示すように、Page番号（アドレス：02〜07bit）と、Block番号（アドレス：08〜18bit）と、Die番号（アドレス：19bit）と、Bank番号（アドレス：20,21bit）とを含む。そして、ＳＲＡＭは、記憶したデータをメモリアドレスにより指定されたメモリブロックに書き込む。
【００５０】
次に、本実施例にかかる情報処理装置１の具体的動作について図面を参照して説明する。先ず、本実施例にかかるデータ書込み処理について説明する。図６は、本実施例におけるデータ書込み処理の処理手順を示すフローチャートである。
【００５１】
図６に示すように、データ書込み処理を開始すると、アクセス処理部２１０は、メモリ管理テーブル２００から１つのグループの記録可否情報を取り出す（ステップＳ１０１）。具体的には、アクセス処理部２１０は、データ書き込みが行われる順に記録可否情報をグループ単位で取り出す。すなわち、アクセス処理部２１０は、図３に示すように、各グループに含まれる８つの記録可否情報をグループ#１→グループ#２→グループ#３→グループ#４→グループ#５の順に取り出す。
【００５２】
続いて、アクセス処理部２１０は、ステップＳ１０１で取り出した複数の記録可否情報の中から１つの記録可否情報を取り出す（ステップＳ１０２）。具体的には、アクセス処理部２１０は、取り出した８つの記録可否情報の中から、１つの記録可否情報をデータの書き込みが行われる順に取り出す。例えば、ステップＳ１０１において、グループ#１に含まれる８つの記録可否情報を取り出した場合、アクセス処理部２１０は、これら８つの記録可否情報の中から、先ず、Bank0,Die0の偶数ブロックに該当する記録可否情報を取り出す。
【００５３】
続いて、アクセス処理部２１０は、ステップＳ１０２において取り出した記録可否情報が「可」であるか否かを判定する（ステップＳ１０３）。なお、メモリ管理テーブル２００には、メモリブロックが良好ブロックである場合（「可」である場合）は、該当する欄に「０」が記憶され、メモリブロックが不良ブロックである場合（「不可」である場合）は、該当する欄に「１」が記憶される。そして、アクセス処理部２１０は、取り出した記録可否情報が「０」である場合は、当該記録可否情報が「可」であると判定する。
【００５４】
この処理において、取り出した記録可否情報が「可」であると判定すると（ステップＳ１０３肯定）、アクセス処理部２１０は、当該記録可否情報に対応するメモリブロックのメモリアドレス及び正式なデータを、当該メモリブロックに対応するＳＲＡＭに書き込む（ステップＳ１０４）。
【００５５】
例えば、ステップＳ１０２において取り出した記録可否情報が、Bank0,Die0の偶数ブロックに該当する記録可否情報であり、図３に示すように、当該記録可否情報が「可」であるとする。この場合、アクセス処理部２１０は、当該記録可否情報に対応するメモリブロックであるBank0,Die0のBlock0のメモリアドレス及び当該メモリブロックに書き込むべき正式なデータ（例えば、図４に示す「Data0」。）を、当該メモリブロックに対応するBank0,Die0のＳＲＡＭ０に書き込む。
【００５６】
一方、ステップＳ１０２において取り出した記録可否情報が「可」でない場合（ステップＳ１０３否定）、アクセス処理部２１０は、該当するメモリブロックに対応するダミーデータ書込み用のメモリブロックのメモリアドレス及びダミーデータを、当該メモリブロックに対応するＳＲＡＭに書き込む（ステップＳ１０５）。
【００５７】
例えば、ステップＳ１０２において取り出した記録可否情報が、Bank0,Die0の奇数ブロックに該当する記録可否情報であり、図３に示すように、当該記録可否情報が「不可」であるとする。この場合、アクセス処理部２１０は、該当するメモリブロック（Bank0,Die0のBlock1）に対応するダミーデータ書込み用のメモリブロック（Bank0,Die0のBlock9）のメモリアドレス及びダミーデータを、当該メモリブロック（Bank0,Die0のBlock9）に対応するBank0,Die0のＳＲＡＭ１に書き込む。
【００５８】
続いて、アクセス処理部２１０は、所定データサイズの書き込みを行ったか否かを判定する（ステップＳ１０６）。具体的には、アクセス処理部２１０は、フラッシュメモリ１４に書き込むべきデータ（例えば、Data0〜Data16。）をＳＲＡＭに全て記憶したか否かを判定する。
【００５９】
より具体的には、アクセス処理部２１０は、データの書き込み要求を受けた場合、該要求に応じて書き込むべきデータのデータサイズに基いて、該データを書き込む記憶ブロックのブロック数（以下、「書込みブロック数」という）を割り出す。そして、アクセス処理部２１０は、割り出した書込みブロック数を所定の記憶領域に記憶する。また、アクセス処理部２１０は、ステップＳ１０２において取り出した記録可否情報が「可」であると判定した回数をカウントし、カウント数を所定の記憶領域に記憶しておく。
【００６０】
そして、アクセス処理部２１０は、所定の記憶領域に記憶した上記カウント数と書込みブロック数とが一致した場合、所定データサイズの書き込みを行ったと判定する。例えば、書き込み要求に応じて書き込むべきデータのデータサイズに基づき割り出した書込みブロック数が１７個であった場合、アクセス処理部２１０は、ステップＳ１０２において取り出した記録可否情報が「可」であると判定した回数のカウント数が１７回に達すると、所定データサイズの書き込みを行ったと判定する。なお、書込みブロック数は、書込み要求を受けるごとにアクセス処理部２１０により更新される。
【００６１】
この処理において、所定データサイズの書き込みがなされたと判定した場合（ステップＳ１０６肯定）、アクセス処理部２１０は、プログラミングを行う（ステップＳ１０７）。すなわち、アクセス処理部２１０は、各ＳＲＡＭに記憶した正式なデータあるいはダミーデータを対応するメモリブロックに一度に書き込む。この際、各ＳＲＡＭは、メモリアドレスより指定されるメモリブロックに対して、正式なデータまたはダミーデータを書き込む。なお、アクセス処理部２１０は、どのグループがダミーデータ書込み用のグループであるかを、メモリ管理テーブル２００に記憶されたダミーデータ書込み用グループ識別フラグを参照することにより判別する。
【００６２】
一方、ステップＳ１０６において所定データサイズの書き込みを行っていないとき（ステップＳ１０６否定）、アクセス処理部２１０は、処理をステップＳ１０８へ移行する。ステップＳ１０８において、アクセス処理部２１０は、未処理の記録可否情報が存在するか否かを判定する。具体的には、アクセス処理部２１０は、ステップＳ１０１において取り出した８つの記録可否情報のうち、ステップＳ１０３〜Ｓ１０６までの処理を行っていない記録可否情報が存在するか否かを判定する。この処理において、未処理の記録可否情報が存在すると判定すると（ステップＳ１０８肯定）、アクセス処理部２１０は、処理をステップＳ１０２へ移行し、次にデータを書き込むべきメモリブロックに対応する記録可否情報を取り出す。
【００６３】
一方、未処理の記録可否情報が存在しない場合（ステップＳ１０８否定）、アクセス処理部２１０は、処理をステップＳ１０９へ移行する。なお、未処理の記録可否情報が存在しない場合とは、換言すると、フラッシュメモリ１４上の全てのＳＲＡＭに対して、正式なデータあるいはダミーデータが記録された場合である。
【００６４】
ステップＳ１０９において、アクセス処理部２１０は、プログラミングを行う。すなわち、アクセス処理部２１０は、各ＳＲＡＭに記憶した正式なデータあるいはダミーデータを対応するメモリブロックに一度に書き込む。この際、各ＳＲＡＭは、メモリアドレスより指定されるメモリブロックに対して、正式なデータまたはダミーデータを書き込む。
【００６５】
続いて、アクセス処理部２１０は、未処理のグループが存在するか否かを判定する（ステップＳ１１０）。すなわち、アクセス処理部２１０は、メモリ管理テーブル２００から記録可否情報を未だ取出していないグループが存在するか否かを判定する。この処理において、未処理のグループが存在すると判定した場合（ステップＳ１１０肯定）、アクセス処理部２１０は、処理をステップＳ１０１へ移行し、次にデータを書き込むべきグループの記録可否情報を取り出す。一方、ステップＳ１１０において未処理のグループが存在しない場合（ステップＳ１１０否定）、あるいは、ステップＳ１０７の処理を終えた場合、アクセス処理部２１０は、データ書込み処理を終了する。
【００６６】
続いて、本実施例にかかるデータ読出し処理について説明する。図７は、本実施例におけるデータ読出し処理の処理手順を示すフローチャートである。
【００６７】
図７に示すように、データ読込み処理を開始すると、アクセス処理部２１０は、メモリ管理テーブル２００から１つのグループの記録可否情報を取り出す（ステップＳ２０１）。具体的には、アクセス処理部２１０は、データ読出しが行われる順に記録可否情報をグループ単位で取り出す。続いて、アクセス処理部２１０は、ステップＳ２０１で取り出した複数の記録可否情報の中から１つの記録可否情報を取り出す（ステップＳ２０２）。具体的には、アクセス処理部２１０は、取り出した８つの記録可否情報の中から、１つの記録可否情報をデータの読出しが行われる順に取り出す。
【００６８】
続いて、アクセス処理部２１０は、ステップＳ２０２において取り出した記録可否情報が「可」であるか否かを判定する（ステップＳ２０３）。この処理において、取り出した記録可否情報が「可」であると判定すると（ステップＳ２０３肯定）、アクセス処理部２１０は、当該記録可否情報に対応するメモリブロックに記憶されているデータを読み出す（ステップＳ２０４）。ステップＳ２０４の処理を終えたとき、あるいは、ステップＳ２０２において取り出した記録可否情報が「可」でない場合（ステップＳ２０３否定）、アクセス処理部２１０は、所定データサイズの読出しを行ったか否かを判定する（ステップＳ２０５）。
【００６９】
具体的には、アクセス処理部２１０は、フラッシュメモリ１４から読出すべきデータ（例えば、Data0〜Data16。）を全て読出したか否かを判定する。より具体的には、アクセス処理部２１０は、データの読み出し要求を受けた場合、該要求に応じて読み出すべきデーを記憶している記憶ブロックのブロック数（以下、「読出しブロック数」という）を所定の記憶領域に記憶する。また、アクセス処理部２１０は、ステップＳ２０２において取り出した記録可否情報が「可」であると判定した回数をカウントし、カウント数を所定の記憶領域に記憶しておく。
【００７０】
そして、アクセス処理部２１０は、所定の記憶領域に記憶した上記カウント数と読出しブロック数とが一致した場合、所定データサイズの読み出しを行ったと判定する。例えば、読出しブロック数が１７個であった場合、アクセス処理部２１０は、ステップＳ２０２において取り出した記録可否情報が「可」であると判定した回数のカウント数が１７回に達すると、所定データサイズの読み出しを行ったと判定する。なお、読出しブロック数は、読出し要求を受けるごとにアクセス処理部２１０により更新される。
【００７１】
ステップＳ２０５の処理において、所定データサイズの読出しを行っていないとき（ステップＳ２０５否定）、アクセス処理部２１０は、未処理の記録可否情報が存在するか否かを判定する（ステップＳ２０６）。この処理において、未処理の記録可否情報が存在すると判定すると（ステップＳ２０６肯定）、アクセス処理部２１０は、処理をステップＳ２０２へ移行し、次にデータを読出すべきメモリブロックに対応する記録可否情報を取り出す。一方、未処理の記録可否情報が存在しない場合（ステップＳ２０６否定）、アクセス処理部２１０は、処理をステップＳ２０１へ移行し、次にデータを読出すべきグループの記録可否情報を取り出す。一方、ステップＳ２０５において所定データサイズの読出しを行ったと判定すると（ステップＳ２０５肯定）、アクセス処理部２１０は、データ読出し処理を終了する。
【００７２】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記実施例に示した制御部２１と同様の機能を有するアクセス制御プログラムを実行するコンピュータの一例を説明する。図８は、アクセス制御プログラムを実行するコンピュータを示す図である。
【００７３】
図８に示すように、コンピュータ６００は、ＨＤＤ６１０、ＣＰＵ６２０、ＲＯＭ６３０及びＲＡＭ６４０をバス６５０で接続して構成される。
【００７４】
ＲＯＭ６３０には、上記の実施例と同様の機能を発揮するアクセス制御プログラム、つまり、アクセス処理プログラム６３１が予め記憶されている。そして、ＣＰＵ６２０が、アクセス処理プログラム６３１をＲＯＭ６３０から読み出して実行することにより、アクセス処理プログラム６３１は、アクセス処理プロセス６２１として機能する。
【００７５】
なお、ＨＤＤ６１０には、アクセス処理プロセス６２１によって利用される各種データが格納されている。ＣＰＵ６２０は、ＨＤＤ６１０に格納された各種データを読み出して、ＲＡＭ６４０に格納し、アクセス処理プロセス６２１が、ＲＡＭ６４０に格納された各種データを利用して、データ書込み処理などの各種処理を実行する。
【００７６】
上述してきたように、本実施例では、メモリブロックごとに、当該メモリブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶し、この記録可否情報に基づき、当該メモリブロック群の良好ブロックに対してのみデータを書き込むこととしたので、不揮発性メモリ内の良好ブロックをより有効に利用することができる。
【００７７】
また、例えば、特許文献１に記載のアクセス制御方法は、あるグループに不良ブロックが含まれる場合、当該不良ブロックの代わりに、本来ならば他のグループに属するメモリブロックを用いてデータを一度に書き込む。そのため、データを順に読み出す場合、不良ブロックに書き込まれるはずだったデータがどのメモリブロックに書き込まれたかを特定する必要があり、処理が煩雑となるおそれがある。一方、本実施例にかかるアクセス制御方法によれば、１つのグループに属するメモリブロックに対してのみデータを一度に書き込むため、読出し処理が煩雑となるおそれがない。
【００７８】
また、本実施例では、不良ブロックを含むグループに対してデータの書込みを行う際、当該グループに含まれる不良ブロックに対応するダミーデータ書込み用のメモリブロックに対してダミーデータを書き込むこととしている。そのため、グループ単位でのデータの一斉書き込みを行うことで書き込み速度の向上を図りつつも、不良ブロックへの書き込みを防止することで、ダミーデータが他のメモリブロックに書き直されるといった自体を防ぐことができる。また、不良ブロックへのアクセスによるエラーの発生も防止できる。
【００７９】
また、本実施例では、ダミーデータを「１」としている。そのため、ダミーデータ書き込み用のメモリブロックにダミーデータを書き込む場合は、「１」が上書きするだけでよく、イレース処理を行う必要がなくなるため、ダミーデータ書込み用のメモリブロックの劣化を防ぐことができる。
【００８０】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御装置であって、前記記憶ブロックごとに、当該記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する管理情報記憶部と、前記記憶ブロック群ごとにデータを書き込む場合に、前記管理情報記憶部に記憶された記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理部とを備えたことを特徴とするアクセス制御装置。
【００８２】
（付記２）前記アクセス処理部は、複数の前記記憶ブロック群のうち、属する記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする付記１に記載のアクセス制御装置。
【００８３】
（付記３）前記アクセス処理部は、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに対して、前記ダミーデータとして１を書込むことを特徴とする付記２に記載のアクセス制御装置。
【００８４】
（付記４）前記アクセス処理部は、書込み要求に応じて書込むべきデータのデータサイズに基づき割り出される書込みブロック数を所定の記憶領域に記憶するとともに、前記管理情報記憶部に記憶された記録可否情報に基づき記憶ブロックが良好ブロックであると判定した回数を所定の記憶領域に記憶し、前記良好ブロックであると判定した回数が前記書込みブロック数と一致した場合、書き込み要求に応じて書込むべきデータの全てを記憶ブロックに書込んだと判定することを特徴とする付記１〜３の何れか１つに記載のアクセス制御装置。
【００８５】
（付記５）前記アクセス処理部は、前記書込みブロック数を、前記書込み要求を受けるごとに更新することを特徴とする付記４に記載のアクセス制御装置。
【００８６】
（付記６）記憶領域を複数の記憶ブロックに区切られた記憶装置を備え、前記記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行う情報処理装置であって、前記記憶ブロックごとに、当該記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報を記憶する管理情報記憶部と、前記記憶ブロック群ごとにデータを書き込む場合に、前記管理情報記憶部に記憶された記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理部とを備えたことを特徴とする情報処理装置。
【００８７】
（付記７）前記アクセス処理部は、複数の前記記憶ブロック群のうち、属する記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする付記６に記載の情報処理装置。
【００８８】
（付記８）前記アクセス処理部は、前記ダミーデータとして、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに１を書込むことを特徴とする付記７に記載の情報処理装置。
【００８９】
（付記９）記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御プログラムであって、前記記憶ブロック群ごとにデータを書き込む場合に、当該記憶ブロック群に含まれる各記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理手順をコンピュータに実行させることを特徴とするアクセス制御プログラム。
【００９０】
（付記１０）前記アクセス処理手順は、複数の前記記憶ブロック群のうち、属する記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする付記９に記載のアクセス制御プログラム。
【００９１】
（付記１１）前記アクセス処理手順は、前記ダミーデータとして、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに１を書込むことを特徴とする付記９に記載のアクセス制御プログラム。
【００９２】
（付記１２）記憶領域を複数の記憶ブロックに区切られた記憶装置に対して、所定の記憶ブロック群ごとにデータの書き込みを行うアクセス制御方法であって、前記記憶ブロック群ごとにデータを書き込む場合に、当該記憶ブロック群に含まれる各記憶ブロックが、データの記録が可能な良好ブロックであるか或いはデータの記録が不可能な不良ブロックであるかを示す記録可否情報に基づき、当該記憶ブロック群の良好ブロックにのみデータを書き込むアクセス処理ステップを含んだことを特徴とするアクセス制御方法。
【００９３】
（付記１３）前記アクセス処理ステップは、複数の前記記憶ブロック群のうち、属する記憶ブロックの全てが良好ブロックである記憶ブロック群の少なくとも１つをダミーデータ書込み用の記憶ブロック群とし、不良ブロックを含む記憶ブロック群に対してデータの書込みを行う場合、当該記憶ブロック群に含まれる不良ブロックに対応する、前記ダミーデータ書込み用の記憶ブロック群に属する記憶ブロックに対してダミーデータを書き込むことを特徴とする付記１２に記載のアクセス制御方法。
【００９４】
（付記１４）前記アクセス処理ステップは、前記ダミーデータとして、前記ダミーデータ用の記憶ブロック群に属する記憶ブロックに１を書込むことを特徴とする付記１３に記載のアクセス制御方法。
【符号の説明】
【００９５】
１  情報処理装置
１１  ＣＰＵ
１２  メモリコントローラ
１３  キャッシュメモリ
１４  フラッシュメモリ（記憶装置）
１５  フラッシュメモリコントローラ（アクセス制御装置）
２０  管理情報記憶部
２１  制御部
２００  メモリ管理テーブル
２１０  アクセス処理部
【図１】
2010204961.tif 000003
【図２】
2010204961.tif 000004
【図３】
2010204961.tif 000005
【図４】
2010204961.tif 000006
【図５】
2010204961.tif 000007
【図６】
2010204961.tif 000008
【図７】
2010204961.tif 000009
【図８】
2010204961.tif 000010
【図９】
2010204961.tif 000011
【図１０】
2010204961.tif 000012
【図１１】
2010204961.tif 000013