[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6471012B2 - 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 - Google Patents

半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 Download PDF

Info

Publication number
JP6471012B2
JP6471012B2 JP2015062270A JP2015062270A JP6471012B2 JP 6471012 B2 JP6471012 B2 JP 6471012B2 JP 2015062270 A JP2015062270 A JP 2015062270A JP 2015062270 A JP2015062270 A JP 2015062270A JP 6471012 B2 JP6471012 B2 JP 6471012B2
Authority
JP
Japan
Prior art keywords
data
compressed
divided data
area
storage
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.)
Active
Application number
JP2015062270A
Other languages
English (en)
Other versions
JP2016181212A (ja
Inventor
裕貴 水上
裕貴 水上
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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2015062270A priority Critical patent/JP6471012B2/ja
Publication of JP2016181212A publication Critical patent/JP2016181212A/ja
Application granted granted Critical
Publication of JP6471012B2 publication Critical patent/JP6471012B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、半導体メモリに関する。
特許文献1及び2に記載されているように、従来から半導体メモリに関して様々な技術が提案されている。
特開平8−339271号公報 特表2011−530777号公報
さて、半導体メモリのデータ書き込み時間は短い方が好ましい。
そこで、本発明は上述の点に鑑みて成されたものであり、半導体メモリのデータ書き込み時間を短くすることが可能な技術を提供することを目的とする。
本発明に係る半導体メモリの一態様は、複数の消去単位領域を有する記憶領域を備え、前記記憶領域は、所定データが複数に分割されて得られる複数の分割データを記憶し、前記複数の分割データは、それぞれが圧縮された分割データである複数の圧縮分割データを含み、前記複数の圧縮分割データのそれぞれのデータ量は、前記消去単位領域の記憶容量以下である。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データに含まれる第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、前記第1消去単位領域は、前記複数の分割データのうち前記第1圧縮分割データのみを記憶する。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データは、前記複数の消去単位領域に含まれる、前記第1消去単位領域を含む複数の第2消去単位領域にそれぞれ記憶される。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データに含まれる複数の第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、前記第1消去単位領域は、前記複数の分割データのうち前記複数の第1圧縮分割データのみを記憶する。
また、本発明に係る半導体メモリの一態様では、前記第1消去単位領域の全領域は、前記圧縮分割データで占められている。
また、本発明に係る半導体メモリの一態様では、前記第1消去単位領域において、前記圧縮分割データで占められていない部分領域の全領域は、ランダムデータで占められている。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データに含まれる少なくとも一つの第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、前記複数の圧縮分割データは、前記複数の消去単位領域に含まれる、前記第1消去単位領域と隣接する第2消去単位領域と、前記第1消去単位領域とにまたがって記憶される第2圧縮分割データを含み、前記第1消去単位領域は、前記第2圧縮分割データの一部及び前記少なくとも一つの第1圧縮分割データのみを記憶し、前記第1消去単位領域の全領域は、前記圧縮分割データで占められている。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データに含まれる少なくとも一つの第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、前記複数の圧縮分割データは、前記複数の消去単位領域に含まれる、前記第1消去単位領域の一方端と隣接する第2消去単位領域と、前記第1消去単位領域とにまたがって記憶される第2圧縮分割データと、前記複数の消去単位領域に含まれる、前記第1消去単位領域の他方端と隣接する第3消去単位領域と、前記第1消去単位領域とにまたがって記憶される第3圧縮分割データとを含み、前記第1消去単位領域は、前記第2圧縮分割データの一部、前記第3圧縮分割データの一部及び前記少なくとも一つの第1圧縮分割データのみを記憶し、前記第1消去単位領域の全領域は、前記圧縮分割データで占められている。
また、本発明に係る半導体メモリの一態様では、前記複数の圧縮分割データのそれぞれは、データ量が前記消去単位領域の記憶容量に一致する分割データが圧縮されて得られる。
また、本発明に係る半導体メモリの一態様では、前記複数の分割データのうち、それを圧縮したときの圧縮率がしきい値よりも小さい分割データは圧縮されずに前記記憶領域に記憶され、前記複数の分割データのうち、それを圧縮したときの圧縮率が前記しきい値よりも大きい分割データは圧縮されて前記圧縮分割データとして前記記憶領域に記憶される。
また、本発明に係る半導体メモリの一態様では、前記複数の分割データのうち、前記所定データにおいて初期に使用されるデータは圧縮されずに前記記憶領域に記憶される。
また、本発明に係るメモリ制御装置の一態様は、上記の半導体メモリを制御するメモリ制御装置であって、前記半導体メモリの前記記憶領域に記憶される前記複数の圧縮分割データを伸張する伸張部と、前記伸張部で得られる伸張データを、前記記憶領域に書き込む制御部とを備え、前記制御部は、前記消去単位領域内のすべての前記前記圧縮分割データが伸張された場合、当該消去単位領域内のデータを消去して、当該消去単位領域を空き領域として使用する。
また、本発明に係るメモリ制御装置の一態様では、前記制御部は、前記記憶領域内でのデータを管理する管理情報に基づいて、前記記憶領域に対するデータ書き込み及びデータ読み出しを行い、前記制御部は、前記消去単位領域内のすべての前記圧縮分割データが伸張されて得られる伸張データを前記記憶領域に書き込んだ後に、前記管理情報を更新し、前記制御部は、前記消去単位領域内のすべての前記圧縮分割データが伸張されて得られる伸張データを前記記憶領域に書き込んだ後に、当該消去単位領域内のデータを消去する。
また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置を制御する上位装置が前記メモリ制御装置にアクセスしていない間に、前記伸張部が前記圧縮分割データを伸張して前記制御部が伸張された前記圧縮分割データを前記記憶領域に書き込む。
また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置を制御する上位装置は、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知し、前記伸張部は、前記伸張優先度に応じて前記圧縮分割データを伸張する。
また、本発明に係る記憶装置の一態様は、上記のメモリ制御装置と、前記メモリ制御装置に制御される半導体メモリとを備える。
また、本発明に係る上位装置の一態様は、前記メモリ制御装置を制御する上位装置であって、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知する。
また、本発明に係るデータ処理システムの一態様は、上記のメモリ制御装置と、前記メモリ制御装置に制御される半導体メモリと、前記メモリ制御装置を制御する上位装置とを備える。
また、本発明に係るデータ書き込み装置の一態様は、上記の半導体メモリにデータを書き込むデータ書き込み装置であって、前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む。
また、本発明に係るデータ書き込みプログラムの一態様は、上記の半導体メモリにデータを書き込むためのデータ書き込みプログラムであって、コンピュータ装置を、前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込むデータ書き込み装置として機能させるためのものである。
また、本発明に係るデータ書き込み装置の一態様は、上記の記憶装置にデータを書き込むデータ書込み装置であって、前記記憶装置の前記メモリ制御装置を通じて、前記記憶装置の前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む。
また、本発明に係るデータ書き込みプログラムの一態様は、上記の記憶装置にデータを書き込むためのデータ書き込みプログラムであって、コンピュータ装置を、前記記憶装置の前記メモリ制御装置を通じて、前記記憶装置の前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込むデータ書き込み装置として機能させるためのものである。
また、本発明に係る制御プログラムの一態様は、上記のメモリ制御装置を制御するコンピュータ装置を、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知する通知部として機能させるためのものである。
また、本発明に係るデータ書き込み方法の一態様は、上記の半導体メモリにデータを書き込むデータ書き込み方法であって、前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む工程を備える。
本発明の一態様によれば、半導体メモリのデータ書き込み時間が短くなる。
データ処理システムの構成を示す図である。 記憶領域の構成を示す図である。 アプリケーションデータを記憶する方法を説明するための図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域にデータを書き込むコンピュータ装置の構成を示す図である。 記憶装置の動作を示すフローチャートである。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 データを記憶するブロックを示す図である。 データを記憶するブロックを示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。 記憶領域がデータを記憶する様子を示す図である。
<データ処理システムの全体構成>
図1はデータ処理システム1の構成を示す図である。データ処理システム1は、ホスト装置2と、記憶装置3とを備えている。ホスト装置2は、記憶装置3を制御する上位装置である。記憶装置3は、半導体メモリの一種であるフラッシュメモリ5を有する。
ホスト装置2は、データ処理システム1全体の動作を統括的に管理する。ホスト装置2は、データ処理システム1の本体装置であると言える。ホスト装置2は、記憶装置3からデータを読み出したり、記憶装置3にデータを書き込んだりする。具体的には、ホスト装置2が記憶装置3に対してデータ送信要求(「送信要求」及び「データ読み出し要求」とも呼ばれる)を出力すると、それを受け取った記憶装置3は、フラッシュメモリ5内のデータを読み出してホスト装置2に出力する。また、ホスト装置2が記憶装置3に対してデータ記録要求(「データ書き込み要求」とも呼ばれる)を出力すると、それを受け取った記憶装置3は、ホスト装置2からのデータをフラッシュメモリ5内に書き込む。
記憶装置3の形状は、例えば、カード型となっている。カード型の記憶装置3がホスト装置2に対して装着されることによって、記憶装置3とホスト装置2とが接続される。記憶装置3はホスト装置2に対して着脱可能となっている。なお、記憶装置3とホスト装置2との接続方法はこれに限られない。また、記憶装置3の形状はカード型に限られない。
フラッシュメモリ5はアプリケーションデータ80を記憶している。後述するように、アプリケーションデータ80は圧縮された状態でフラッシュメモリ5に記憶される。ホスト装置2は、フラッシュメモリ5内のアプリケーションデータ80を記憶装置3から読み出し、読み出したアプリケーションデータ80を処理する。
ここで、アプリケーションデータは、アプリケーションプログラム(アプリケーションソフトウェア)と、当該アプリケーションプログラムの実行で使用される各種データ(当該アプリケーションプログラムに付随する各種データ)とを含む。言い換えれば、アプリケーションデータは、アプリケーションプログラムと、当該アプリケーションプログラムの実行によって実現される所定の処理の進行で用いられる各種データとを含んでいる。アプリケーションデータ80が、例えばゲームデータである場合には、アプリケーションデータ80には、ゲームプログラムと、当該ゲームプログラムの実行によって実現されるゲームの進行で用いられる、キャラクタデータ及びイメージデータ等の各種データとが含まれる。アプリケーションデータ80が、ゲームデータである場合には、記憶装置3が例えばゲームカートリッジとして機能する。そして、ホスト装置2がゲーム機本体として機能する。ホスト装置2が、記憶装置3から読み出したゲームプログラムを実行することによって、データ処理システム1ではゲームが進行する。
<ホスト装置の構成>
ホスト装置2は、一種のコンピュータ装置であって、制御部20、記憶部21及びI/F回路22を備える。制御部20は、CPU(Central Processing Unit)等で構成されており、ホスト装置2の動作を統括的に管理する。記憶部21は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、制御部20(CPU)が読み取り可能な非一時的な記録媒体で構成されている。記憶部21には、ホスト装置2の動作を制御するための制御プログラム210等が記憶されている。ホスト装置2の各種機能は、制御部20のCPUが記憶部21内の制御プログラム210を実行することによって実現される。I/F回路22は、ホスト装置2と記憶装置3と接続するための回路であって、記憶装置3からの信号を制御部20に入力したり、制御部20からの信号を記憶装置3に出力したりする。
なお、記憶部21は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部21は、例えば、小型のハードディスクドライブ及びSSD(Solid State Drive)等を備えていても良い。
制御部20は、データの送信要求を示す送信要求信号、データの記録要求を示す記録要求信号などの各種制御信号を生成する。制御部20で生成された制御信号はI/F回路22から記憶装置3に入力される。また制御部20は、記憶装置3から読み出されたデータに対して各種処理を行う。
<記憶装置の構成>
記憶装置3は、メモリ制御装置(メモリ制御回路)4及びフラッシュメモリ5を備えている。メモリ制御装置4は、一種のコンピュータ装置であって、フラッシュメモリ5を制御する。メモリ制御装置4は、制御部40、伸張部41、I/F回路42及び揮発性メモリ43を備えている。
制御部40は、CPU等で構成されており、記憶装置3の動作を統括的に管理する。制御部40は、メモリ制御装置4の動作を制御するための制御プログラムを記憶している。メモリ制御装置4の各種機能は、制御部40において、CPUが制御プログラムを実行することによって実現される。伸張部41は、フラッシュメモリ5内の圧縮データを伸張する伸張回路である。データの伸張は「データの解凍」とも呼ばれる。I/F回路42は、記憶装置3とホスト装置2とを接続するための回路であって、ホスト装置2からの信号を制御部40に入力したり、制御部40からの信号をホスト装置2に出力したりする。揮発性メモリ43は、例えばSRAM(Static RAM)で構成されており、制御部40がデータ処理する際のワークメモリとして機能する。なお、揮発性メモリ43は、DRAM(Dynamic RAM)であっても良い。
フラッシュメモリ5は、例えばNAND型メモリである。フラッシュメモリ5の記憶領域(メモリセルアレイ)6には、記憶領域6内でのデータを管理する管理情報70、アプリケーションデータ80が記憶されている。
なお、本実施の形態では、伸張部41は、制御部40とは独立したハードウェア回路で構成されているが、制御部40において、CPUが制御プログラムを実行することによって当該制御部40に実現される機能ブロックであっても良い。また、本実施の形態では、制御部40は、CPU等で構成されているが、その機能の実現にソフトウェアを必要としないハードウェア回路で構成されても良い。また、メモリ制御装置4全体が、その機能の実現にソフトウェアを必要としないハードウェア回路で構成されても良い。
<フラッシュメモリの記憶領域の構成>
図2はフラッシュメモリ5の記憶領域6の構成を示す図である。図2に示されるように、記憶領域6は、連続するN(N≧2)個のブロック60で構成されている。例えば、Nは数百以上の値に設定される。各ブロック60は複数のページ61で構成される。フラッシュメモリ5では、記憶領域6内のデータはブロック60単位で消去される。したがって、各ブロック60は、データの消去単位である消去単位領域であると言える。また、フラッシュメモリ5では、記憶領域6に対するデータの書き込み及びデータの読み出しは、ページ61単位で行うことが可能である。本実施の形態では、N個のブロック60を、ブロックアドレスが小さいものから順にブロック60−0〜60−(N−1)と呼ぶことがある。
<フラッシュメモリでのアプリケーションデータの記憶方法>
本実施の形態では、アプリケーションデータ80は、分割及び圧縮された状態でフラッシュメモリ5の記憶領域6に書き込まれる。図3はアプリケーションデータ80が分割及び圧縮される様子を示す図である。
図3に示されるように、アプリケーションデータ80は複数の分割データ81に分割される。そして、各分割データ81は圧縮されて圧縮分割データ82となっている。本実施の形態では、記憶領域6には、アプリケーションデータ80がそのまま書き込まれるのではなく、アプリケーションデータ80から得られる複数の圧縮分割データ82が書き込まれる。
各圧縮分割データ82のデータ量は、一つのブロック60の記憶容量以下となっている。つまり、一つのブロック60の記憶容量をMバイトであるとすると、各圧縮分割データ82のデータ量はMバイト以下となっている。したがって、一つの圧縮分割データ82のすべてを、一つのブロック60に記憶させることができる。本実施の形態では、各分割データ81のデータ量が、例えば、一つのブロック60の記憶容量と一致している。したがって、本実施の形態では、各圧縮分割データ82のデータ量は、一つのブロック60の記憶容量未満となっている。以後、アプリケーションデータ80から得られる複数の圧縮分割データ82をまとめて「圧縮分割データ群820」と呼ぶことがある。
図4は記憶領域6が圧縮分割データ群820を記憶している様子を示す図である。図4に示されるように、複数の圧縮分割データ82は、連続する複数のブロック60−1〜60−nにそれぞれ記憶される。本実施の形態では、一つのブロック60には、一つの圧縮分割データ82が記憶される。圧縮分割データ82がブロック60に記憶される際には、例えば、当該ブロック60内でのページアドレスが最小のページ61から複数のページ61にわたって連続して記憶される。
後述するように、記憶領域6内の各圧縮分割データ82は伸張部41で伸張される。そして、伸張部41で得られた伸張データは記憶領域6の空き領域に記憶される。
また、記憶領域6のブロック60−0には管理情報70が記憶される。管理情報70では、記憶領域6内のどの領域にどのようなデータが記憶されているかが管理されている。したがって、管理情報70を参照することによって、圧縮分割データ82及び伸張データが記憶領域6のどの領域に記憶されているかを特定することができる。また管理情報70では、ブロック60内の各圧縮分割データ82が伸張済みか否かが管理され、さらに、圧縮分割データ82と、それを伸張することによって得られる伸張データとの対応関係も管理されている。
本実施の形態では、分割データ81が圧縮された状態で記憶領域6に書き込まれることから、記憶領域6に対してアプリケーションデータ80を書き込む際の書き込み時間を短縮することができる。また、本実施の形態では、アプリケーションデータ80を構成する複数の分割データ81のそれぞれが圧縮された状態で記憶領域6に書き込まれることから、アプリケーションデータ80の書き込み時間をさらに短縮することができる。
フラッシュメモリ5へのデータの書き込みは、例えば、フラッシュメモリ5の製造工程において実行される。本実施の形態では、図4に示されるように圧縮分割データ群820を記憶領域6に記憶するフラッシュメモリ5が搭載された記憶装置3が製造されて製品出荷される。
図5は、フラッシュメモリ5へのデータの書き込みを説明するための図である。図5に示されるように、フラッシュメモリ5へのデータの書き込みには、コンピュータ装置100が使用される。
コンピュータ装置100は、例えばパーソナルコンピュータ(PC)等で構成されており、制御部110、記憶部120及びI/F回路130を備える。制御部110は、CPU等で構成されており、コンピュータ装置100の動作を統括的に管理する。記憶部120は、ROM及びRAM等の、制御部110(CPU)が読み取り可能な非一時的な記録媒体で構成されている。記憶部120には、コンピュータ装置100の動作を制御するためのデータ書き込みプログラム121が記憶されている。また記憶部120には、フラッシュメモリ5に書き込む管理情報70及び圧縮分割データ群820が記憶されている。I/F回路130は、コンピュータ装置100とフラッシュメモリ5とを接続するための回路であって、制御部110からの各種信号をフラッシュメモリ5に出力する。
なお、記憶部120は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部120は、例えば、小型のハードディスクドライブ及びSSD(Solid State Drive)等を備えていても良い。
コンピュータ装置100は、制御部110のCPUが記憶部120内のデータ書き込みプログラム121を実行することによって、フラッシュメモリ5に対して記憶部120内の圧縮分割データ群820等のデータを書き込むデータ書き込み装置として機能する。制御部110のCPUがデータ書き込みプログラム121を実行すると、制御部110がI/F回路130を通じてフラッシュメモリ5を制御して、記憶部120内の管理情報70及び圧縮分割データ群820をフラッシュメモリ5の記憶領域6に書き込む。このとき、制御部110は、管理情報70及び圧縮分割データ群820を、それらが上述の図4のように記憶されるように記憶領域6に書き込む。圧縮分割データ群820のデータ量は、圧縮されていないアプリケーションデータ80のデータ量よりも小さいことから、コンピュータ装置100は、短時間で圧縮分割データ群820を記憶領域6に書き込むことができる。よって、製造コストを抑えることができる。
以上のようにして、製造工程においてデータが書き込まれたフラッシュメモリ5は、記憶装置3に搭載される。そして、記憶装置3が製品出荷される。
なお、フラッシュメモリ5に書き込む圧縮分割データ群820は、それをフラッシュメモリ5に書き込むコンピュータ装置100が生成しても良いし、他のコンピュータ装置が生成してコンピュータ装置100に入力しても良い。
また、上記の例では、記憶装置3に搭載される前にフラッシュメモリ5に対してデータを書き込んでいるが、記憶装置3に搭載された後にフラッシュメモリ5に対してデータを書き込んでも良い。この場合には、コンピュータ装置100のI/F回路130を、記憶装置3のメモリ制御装置4のI/F回路42に接続できるようにする。そして、記憶装置3の製造工程において、記憶装置3に接続されたコンピュータ装置100が、メモリ制御装置4を通じて、フラッシュメモリ5に対して圧縮分割データ群820等を書き込む。つまり、コンピュータ装置100は、制御部110のCPUが記憶部120内のデータ書き込みプログラム121を実行することによって、記憶装置3のメモリ制御装置4を通じて、フラッシュメモリ5に対して記憶部120内の圧縮分割データ群820等のデータを書き込むデータ書き込み装置として機能する。
また、ホスト装置2が、コンピュータ装置100と同様に、フラッシュメモリ5に対して圧縮分割データ群820等を書き込むデータ書き込み装置として機能しても良い。この場合には、ホスト装置2の記憶部21に対して、コンピュータ装置100が記憶するデータ書き込みプログラム121と同様のデータ書き込みプログラムと、管理情報70と、圧縮分割データ群820とが記憶される。ホスト装置2の制御部20が、記憶部21内のデータ書き込みプログラムを実行すると、制御部20は、I/F回路22を通じて、フラッシュメモリ5を制御するメモリ制御装置4を制御し、フラッシュメモリ5の記憶領域6に対して、管理情報70及び圧縮分割データ群820を書き込む。
このように、ホスト装置2がデータ書き込み装置として機能する場合には、製造が完了したホスト装置2を使用して、記憶装置3の製造工程において、フラッシュメモリ5に対して圧縮分割データ群820等を書き込むことができる。
<記憶装置のデータ読み出し動作>
図6は、記憶装置3がフラッシュメモリ5からデータを読み出す際の当該記憶装置3の実運用中の動作を示すフローチャートである。図6に示されるように、ステップs1において、制御部40は、ホスト装置2からの送信要求信号をI/F回路42を通じて受信すると、ステップs2において、受信した送信要求信号によって送信が要求されるデータ(以後、「送信対象データ」と呼ぶ)が伸張済みかどうかを判定する。ステップs2では、制御部40は、記憶領域6から管理情報70を読み出して揮発性メモリ43に書き込む。そして、制御部40は、揮発性メモリ43内の管理情報70を参照して、送信対象データが伸張済みかどうか、つまり記憶領域6に非圧縮の送信対象データが記憶されているかどうかを判定する。
ステップs2において、送信対象データが伸張済みであると判定されると、ステップs3において、制御部40は記憶領域6から送信対象データを読み出す。そして、ステップs4において、制御部40は、I/F回路42を通じて、読み出した送信対象データ(非圧縮データ)をホスト装置2に送信する。これにより、ホスト装置2は、記憶装置3に対して送信を要求したデータを取得することができる。
一方で、ステップs2において、送信対象データが伸張済みでないと判定されると、ステップs5において、制御部40は、揮発性メモリ43内の管理情報70を参照して、送信対象データが記憶されるブロック60を特定する。そして、制御部40は、特定したブロック60から圧縮分割データ82を読み出して揮発性メモリ43に記憶する。この圧縮分割データ82には送信対象データが含まれている。
次にステップs6において、制御部40は、揮発性メモリ43から圧縮分割データ82を読み出して伸張部41に入力し、伸張部41は入力された圧縮分割データ82を伸張する。これにより、送信対象データは伸張される。つまり、非圧縮の送信対象データが得られる。伸張部41で得られた伸張データ、つまり非圧縮の分割データ81は、制御部40に入力される。制御部40は、入力された伸張データを揮発性メモリ43に記憶する。
次にステップs7において、制御部40は、揮発性メモリ43からステップs6で得られた伸張データを読み出して、読み出した伸張データを、記憶領域6の空きブロック(未使用ブロック)60に書き込む。図7は、圧縮分割データ82が伸張されることによって得られた伸張データ(以後、「伸張分割データ」と呼ぶことがある)が記憶領域6に記憶されている様子の一例を示す図である。図7の例では、ブロック60−1に記憶されている圧縮分割データ82が伸張されることによって得られた伸張分割データ85が、空きブロック60−(n+1)に記憶されている。伸張分割データ85は、非圧縮の分割データ81であることから、伸張分割データ85のデータ量は、ブロック60の記憶容量と一致する。したがって、ブロック60−(n+1)に記憶される伸張分割データ85は、ブロック60−(n+1)の全領域を占める。
ステップs7の後、ステップs8において、制御部40は、圧縮分割データ82の伸張(ステップs6)と、それによって得られた伸張分割データ85の記憶領域6の書き込み(ステップs7)とに応じて、揮発性メモリ43内の管理情報70を更新する。そして、制御部40は、更新後の管理情報70を記憶領域6に書き込む。ステップs8の後、制御部40は、ステップs4において、ステップs6で得られた非圧縮の送信対象データをI/F回路42を通じてホスト装置2に送信する。
記憶装置3は、ホスト装置2からの送信要求信号を受信するたびに(ステップs1)、ステップs2を実行する。ステップs2の後の処理は上記と同様である。
以上の説明から理解できるように、本実施の形態では、メモリ制御装置4は、実運用中において、圧縮分割データ82を記憶するブロック60に対する初めての読み出し処理の際に、当該ブロック60内の圧縮分割データ82を伸張する。したがって、圧縮分割データ82を記憶する各ブロック60に対して読み出し処理が1回でも行われれば、記憶領域6内のすべての圧縮分割データ82が伸張されることになる。
上述のステップs6において、記憶領域6に記憶されている圧縮分割データ82が伸張された後は、当該圧縮分割データ82を記憶領域6から消去することができる。よって、制御部40は、ブロック60内のすべての圧縮分割データ82を伸張した後に、当該ブロック60内のデータを消去することによって、当該ブロック60を空きブロック60(空き領域)として使用することができる。その結果、記憶領域6の有効利用を図ることができる。例えば、圧縮分割データ82を記憶するあるブロック60内のデータを消去した場合、当該あるブロック60に対して、別のブロック60内の圧縮分割データ82を伸張して得られる伸張分割データ85を書き込むことができる。制御部40は、圧縮分割データ82を記憶するブロック60内のデータを消去したときには、それに応じて管理情報70を更新する。
圧縮分割データ82を記憶するブロック60内のデータを消去する消去処理は、当該ブロック60内のすべての圧縮分割データ82が伸張された後であればいつでも実行されて良い。例えば、当該消去処理は、ステップs6の直後に実行されても良いし、ステップs7の直後に実行されても良い。また当該消去処理は、ステップs8の直後に実行されても良いし、ステップs8の後のステップs4の後に実行されても良い。図8は、図7の例において、ブロック60−1内のデータが消去された様子を示す図である。図9は、図8の例において、空きブロックとなったブロック60-1に対して、ブロック60-4内の圧縮分割データ82が伸張されて得られた伸張分割データ85が記憶されている様子を示す図である。
なお、制御部40は、ステップs6の直後に、つまり、ブロック60内の圧縮分割データ82を伸張した直後に、当該ブロック60内のデータを消去する場合には、その伸張によって得られた伸張分割データ85を、データ消去したブロック60に記憶しても良い。
制御部40は、本実施の形態のように、ブロック60内のすべての圧縮分割データ82を伸張することによって得られる伸張データを記憶領域6に書き込んだ後に管理情報70を更新する方が望ましい。さらに、ブロック60内のデータの消去は、当該ブロック60内のすべての圧縮分割データ82が伸張されることによって得られる伸張データが記憶領域6に記憶された後に実行されることが望ましい。以下にこの点について説明する。
伸張分割データ85を記憶領域6に書き込んでいる場合に、記憶装置3の電源が遮断したりして、伸張分割データ85の記憶領域6に対する書き込みが失敗することがある。記憶領域6に対する伸張分割データ85の書き込みが完了する前に、伸張分割データ85の書き込みの完了を見越して管理情報70が更新される場合には、伸張分割データ85の書き込みが失敗したときにも管理情報70が更新されることになる。したがって、この場合には、管理情報70では、伸張分割データ85の書き込みが成功していることになる。そのため、上述のステップs2では、送信対象データを含む伸張分割データ85の書き込み失敗により、非圧縮の送信対象データが記憶領域6に記憶されていないにもかかわらず、送信対象データが伸張済みと判断されて、ステップs3において記憶領域6から誤ったデータが読み出される可能性がある。その結果、ステップs4では、誤ったデータがホスト装置2に送信される可能性がある。
これに対して、制御部40が、伸張分割データ85を記憶領域6に書き込んだ後に管理情報70を更新する場合には、伸張分割データ85の書き込みが失敗した場合に管理情報70が更新されることを抑制することができる。よって、送信対象データを含む伸張分割データ85の書き込みに失敗している場合には、ステップs2においては送信対象データが伸張済みでないと判定される。これにより、送信対象データを含む圧縮分割データ82が記憶領域6内に存在する場合には、当該圧縮分割データ82を再度伸張することが可能となる。その結果、ステップs4において、誤ったデータがホスト装置2に送信されることを抑制することができる。
また、ブロック60内の圧縮分割データ82が伸張されることによって得られる伸張分割データ85が記憶領域6に書き込まれる前に、当該ブロック60内のデータが消去される場合には、当該伸張分割データ85の記憶領域6に対する書き込みが失敗したときに、当該伸張分割データ85の元の圧縮分割データ82が記憶領域6内に存在しなくなる。したがって、この場合には、書き込みに失敗した伸張分割データ85の元の圧縮分割データ82を再度伸張することができない。
これに対して、制御部40が、ブロック60内の圧縮分割データ82を伸張することによって得られる伸張分割データ85を記憶領域6に書き込んだ後に、つまり、ステップs7の後に、当該ブロック60内のデータを消去する場合には、伸張分割データ85の記憶領域6に対する書き込みが失敗したときに、当該伸張分割データ85の元の圧縮分割データ82が記憶領域6から消去されることがない。よって、送信対象データを含む伸張分割データ85の書き込みに失敗したときに、送信対象データを含む圧縮分割データ82が記憶領域6から消去されることがない。これにより、送信対象データを含む伸張分割データ85の書き込みに失敗したとしても、送信対象データを含む圧縮分割データ82を再度伸張することが可能となる。その結果、ステップs4において、誤ったデータがホスト装置2に送信されることを抑制することができる。
また、本実施の形態では、アプリケーションデータ80から得られる複数の圧縮分割データ82を記憶領域6に記憶し、各圧縮分割データ82のデータ量が、ブロック60の記憶容量以下となっていることから、揮発性メモリ43において伸張処理の際に必要な記憶容量を小さくすることができる。以下にこの点について説明する。
図10は、アプリケーションデータ80が分割されずにそのまま圧縮された状態で記憶領域6に記憶されている様子を示す図である。図10に示されるように、アプリケーションデータ80がそのまま圧縮されることによって得られる圧縮データ180は、複数のブロック60−1〜60−(n−1)にわたって記憶されている。
圧縮データ180については、その一部のデータだけを伸張することはできない。したがって、ブロック60内のデータを消去して空きブロック60を生成するためには、記憶領域6から圧縮データ180のすべてを読み出して、圧縮データ180を伸張する必要がある。そのため、揮発性メモリ43には、圧縮データ180のすべてを記憶する必要がある。そして、圧縮データ180を伸張することによって得られる伸張データのすべてを揮発性メモリ43に記憶する必要がある。
これに対して、本実施の形態では、複数の圧縮分割データ82が記憶領域6に記憶されており、各圧縮分割データ82のデータ量が、ブロック60の記憶容量以下となっていることから、当該複数の圧縮分割データ82のすべてを記憶領域6から読み出して伸張することなく、空きブロック60を生成することが可能となる。図4に示されるように、一つブロック60に一つの圧縮分割データ82が記憶される場合には、ブロック60内の一つの圧縮分割データ82を読み出して伸張することによって、当該ブロック60を空きブロック60として使用することが可能となる。よって、揮発性メモリ43において伸張処理に必要な記憶容量を小さくすることができる。
また、本実施の形態では、複数の圧縮分割データ82のすべてを記憶領域6から読み出して伸張することなく、空きブロック60を生成することが可能となることから、記憶領域6の記憶容量を小さくすることができる。以下に、この点について説明する。
まず、図10に示される圧縮データ180を伸張し、それによって得られる伸張データ(非圧縮のアプリケーションデータ80)を記憶領域6に記憶した後に、複数のブロック60−1〜60−(n−1)内のデータを消去する場合を考える。この場合には、複数のブロック60−1〜60−(n−1)内のデータが消去されるまでは、記憶領域6は、圧縮データ180と、それを伸張することによって得られる伸張データとを同時に記憶することになる。つまり、記憶領域6の記憶容量としては、圧縮データ180と、それを伸張することによって得られる伸張データとを同時に記憶することができるだけの記憶容量が必要となる。言い換えれば、記憶領域6の記憶容量としては、非圧縮のアプリケーションデータ80と、当該アプリケーションデータ80の圧縮データとを同時に記憶することができるだけの記憶容量が必要となる。図10の例では、圧縮データ180の伸張の後に、圧縮データ180を記憶する複数のブロック60−1〜60−(n−1)内のデータを消去することになり、圧縮データ180を伸張しつつ、空きブロックを生成することはできない。
これに対して、本実施の形態では、複数の圧縮分割データ82のすべてを記憶領域6から読み出して伸張することなく、空きブロック60を生成することが可能であることから、言い換えれば、伸張されていない圧縮分割データ82が記憶領域6に記憶されている状態において、空きブロック60を生成することができる。したがって、複数の圧縮分割データ82を伸張しつつ、空きブロック60を生成することができる。つまり、圧縮分割データ82の伸張の開始から、すべての圧縮分割データ82の伸張の終了までに、空きブロック60を生成しつつ、それに伸張分割データ85を書き込むことができる。よって、記憶領域6は、アプリケーションデータ80から得られる圧縮分割データ群820と、それを伸張することによって得られる伸張データとを同時に記憶する必要はない。その結果、記憶領域6の記憶容量を小さくすることができる。
また本実施の形態では、一つの圧縮分割データ82は一つのブロック60のみに記憶され、一つのブロック60は、複数の圧縮分割データ82のうちの一つの圧縮分割データ82のみを記憶している。そのため、ブロック60内の一つの圧縮分割データ82を伸張するだけで、当該ブロック60を空きブロックとして使用することが可能となる。よって、圧縮分割データ82を記憶するブロック60をすぐに空きブロックとして使用することが可能になる。その結果、記憶領域6を有効利用することができる。
また本実施の形態では、アプリケーションデータ80が複数に分割されることによって得される複数の分割データ81のそれぞれのデータ量が、ブロック60の記憶容量と一致する。そのため、各圧縮分割データ82のデータ量を容易にブロック60の記憶容量以下とすることができる。よって、各圧縮分割データ82の生成が容易となる。
なお上記の例では、製造工程においてフラッシュメモリ5に圧縮分割データ群820等を書き込んでいるが、記憶装置3が出荷された後、実運用中の記憶装置3のフラッシュメモリ5に圧縮分割データ群820等を書き込んでも良い。この場合には、記憶装置3の実運用中において、フラッシュメモリ5内の圧縮分割データ群820を別のものに書き換えることができる。つまり、フラッシュメモリ5内のアプリケーションデータを他のアプリケーションデータに書き換えることができる。例えば、ホスト装置2がインターネット等を通じて新しい圧縮分割データ群820を受信し、受信した新しい圧縮分割データ群820をフラッシュメモリ5に書き込んでも良い。
<各種変形例>
以下に本実施の形態の各種変形例について説明する。
<データ保持特性の向上>
上述の図4の例では、圧縮分割データ82のデータ量は、ブロック60の記憶容量未満であることから、図11に示されるように、ブロック60には、圧縮分割データ82で占められていない部分領域600が存在する。この部分領域600は未使用領域である。ブロック60内のデータが消去されると、当該ブロック60内のデータは、例えば、すべて“1”となることから、未使用の部分領域600内のデータの値もすべて“1”になることがある。また、製造工程において、未使用の部分領域600には、フラッシュメモリ5の動作確認等のために、“0101”あるいは“1010”といった繰り返しパターンが書き込まれることがある。
このように、あるブロック60内の未使用の部分領域600内のデータパターンが繰り返しパターンである場合には、上記の特許文献2にも記載されているように、当該あるブロック60内の圧縮分割データ82が本来の値から変化することがある。つまり、フラッシュメモリ5のデータ保持特性が劣化することがある。
そこで、以下に、フラッシュメモリ5のデータ保持特性を向上させるためのいくつかの方法について説明する。
<第1変形例>
図12は第1変形例を説明するための図である。図12に示されるように、第1変形例では、ブロック60の部分領域600の全領域にランダムデータ(乱数データ)200を記憶させる。具体的には、圧縮分割データ82を記憶する各ブロック60の部分領域600のすべてにランダムデータ200を記憶させる。
このように、ブロック60の部分領域600の全領域がランダムデータ200で占められることにより、当該ブロック60内の圧縮分割データ82が本来の値から変化することを抑制することができる。その結果、フラッシュメモリ5のデータ保持特性が向上する。
<第2変形例>
図13は第2変形例を説明するための図である。図13に示されるように、第2変形例では、ブロック60の全領域が圧縮分割データ82で占められるようにする。図13の例では、圧縮分割データ82を記憶する各ブロック60は、その全領域を埋めるように、2つの圧縮分割データ82を記憶している。
このように、ブロック60の全領域が圧縮分割データ82で占められることによって、ブロック60内の圧縮分割データ82が本来の値から変化することを抑制することができる。その結果、フラッシュメモリ5のデータ保持特性が向上する。
また、第2変形例では、第1変形例とは異なり、ブロック60にランダムデータ200を書き込む必要がないことから、フラッシュメモリ5に対するデータ書き込み時間が増加することを抑制することができる。
なお、図13の例では、各ブロック60に2つの圧縮分割データ82が記憶されているが、ブロック60に記憶させる複数の圧縮分割データ82の数はこれに限られない。例えば、図14に示されるブロック60−2のように、ブロック60に3つの圧縮分割データ82を記憶させても良い。また、図14に示されるブロック60−4のように、ブロック60に4つの圧縮分割データ82を記憶させても良い。
あるブロック60に対して、その全領域を埋めるように複数の圧縮分割データ82を記憶させる場合には、記憶領域6に記憶する圧縮分割データ群820の中から、データ量の合計がブロック60の記憶容量と一致する複数の圧縮分割データ82の組み合わせを決定する。そして、決定した組み合わせに係る複数の圧縮分割データ82をブロック60に書き込む。分割データ81を圧縮する際の圧縮率は、その分割データ81のデータ内容に応じて変化することから、複数の圧縮分割データ82の間で、データ量が同じであるとは限らない。なお、ブロック60に書き込む複数の圧縮分割データ82の組み合わせの決定は、圧縮分割データ群820をフラッシュメモリ5に書き込むデータ書込み装置(上記のコンピュータ装置100など)が行っても良いし、他のコンピュータ装置が行って、その結果を示す組み合わせ情報をデータ書き込み装置に入力しても良い。
また、図15に示されるブロック60−4のように、圧縮分割データ82でその全領域を占めることができないブロック60が存在する場合には、上記の第1変形例と同様に、当該ブロック60での、圧縮分割データ82で占められない部分領域600にランダムデータ200を記憶させても良い。図15に示されるブロック60−4では、圧縮分割データ群820のうち3つの圧縮分割データ82のみが記憶され、ブロック60−4に記憶される3つの圧縮分割データ82は、ブロック60−4のみに記憶されている。
また、非圧縮の分割データ81のデータ量がブロック60の記憶容量よりも大きく設定される場合であって、ブロック60の記憶容量と一致するデータ量を有する圧縮分割データ82が存在する場合には、図16のブロック60−3に示されるように、ブロック60に当該圧縮分割データ82だけを記憶させても良い。
ブロック60が複数の圧縮分割データ82を記憶する場合には、当該複数の圧縮分割データ82をまとめて伸張する。具体的には、制御部40は、上記のステップs5において、送信対象データを記憶するブロック60に複数の圧縮分割データ82が記憶されている場合には、当該複数の圧縮分割データ82のすべてを当該ブロック60から読み出す。そして、ステップs6において、伸張部41はステップs5で読み出された複数の圧縮分割データ82のそれぞれを伸張して、複数の伸張分割データ85を生成する。その後、ステップs7において、制御部40は、ステップs6で得られた複数の伸張分割データ85を記憶領域6に書き込む。その後、ステップs8で管理情報70が更新される。
このように、ブロック60が複数の圧縮分割データ82を記憶する場合に、当該複数の圧縮分割データ82をまとめて伸張することによって、当該ブロック60をすぐに空きブロック60として使用することが可能となる。よって、本変形例においても、記憶領域6を有効利用することができる。
なお、メモリ制御装置4は、送信対象データを記憶するブロック60に複数の圧縮分割データ82が記憶されている場合であっても、送信対象データを含む圧縮分割データ82だけを読み出して伸張しても良い。一つのブロック60が複数の圧縮分割データ82を記憶する場合には、一つのブロック60が一つの圧縮分割データ82だけを記憶する場合と比較して、記憶領域6には空きブロック60が多く存在する。したがって、メモリ制御装置4が、送信対象データを記憶するブロック60に複数の圧縮分割データ82が記憶されている場合に、送信対象データを含む圧縮分割データ82だけを読み出して伸張し、当該ブロック60がすぐに空きブロック60とならないとしても、空きブロック60が足らなくなることを抑制することができる。
<第3変形例>
上記の第2変形例では、隣接する2つのブロック60にまたがって記憶される圧縮分割データ82は存在していなかったが、存在しても良い。以後、隣接する2つのブロック60にまたがって記憶される圧縮分割データ82を「またがり圧縮データ82」と呼ぶことがある。また、複数のブロック60にまたがって記憶されていない圧縮データ82、つまり、そのすべてが一つのブロック60に記憶されている圧縮分割データ82を「非またがり圧縮データ82」と呼ぶことがある。
図17は第3変形例を説明するための図である。図17に示されるように、第3変形例では、圧縮分割データ82でその全領域が占められるブロック60は、非またがり圧縮データ82と、当該ブロック60に隣接する隣接ブロック60と当該ブロック60とにまがって記憶されるまたがり圧縮データ82の一部とのみを記憶している。
図17の例では、圧縮分割データ82でその全領域が占められるブロック60−1は、非またがり圧縮データ82aと、当該ブロック60−1の隣接ブロック60−2と当該ブロック60−1とにまがって記憶されるまたがり圧縮データ82bの一部とのみを記憶している。また、圧縮分割データ82でその全領域が占められるブロック60−2は、非またがり圧縮データ82cと、当該ブロック60−2の隣接ブロック60−1と当該ブロック60−2とにまがって記憶されるまたがり圧縮データ82bの一部とのみを記憶している。図17の例では、連続する2つのブロック60−1,60−2から成る領域612は、その全領域が埋められるように3つの圧縮分割データ82a.82b,82cのみを記憶している。領域612では、ブロック60間の境界にまたがり圧縮データ82bが記憶されているものの、領域612と、それに隣接する隣接領域とにまたがって記憶される圧縮分割データ82は存在しない。領域612の両端のそれぞれは、当該領域612に含まれる非またがり圧縮データ82の端となっている。
また、圧縮分割データ82でその全領域が占められるブロック60−3は、非またがり圧縮データ82dと、当該ブロック60−3の隣接ブロック60−4と当該ブロック60−3とにまがって記憶されるまたがり圧縮データ82eの一部とのみを記憶している。そして、圧縮分割データ82でその全領域が占められるブロック60−4は、非またがり圧縮データ82fと、当該ブロック60−4の隣接ブロック60−3と当該ブロック60−4とにまがって記憶されるまたがり圧縮データ82eの一部とのみを記憶している。図17の例では、連続する2つのブロック60−3,60−4から成る領域634は、その全領域が埋められるように3つの圧縮分割データ82d.82e,82fのみを記憶している。領域634では、ブロック60間の境界にまたがり圧縮データ82eが記憶されているものの、領域634と、それに隣接する隣接領域とにまたがって記憶される圧縮分割データ82は存在しない。領域634の両端のそれぞれは、当該領域634に含まれる非またがり圧縮データ82の端となっている。
このように、圧縮分割データ82でその全領域が占められるブロック60が、非またがり圧縮データ82と、またがり圧縮データ82の一部とのみを記憶している場合であっても、当該ブロック60内の圧縮分割データ82が本来の値から変化することを抑制することができる。その結果、フラッシュメモリ5のデータ保持特性が向上する。
なお、図17の例では、ブロック60が、一つの非またがり圧縮データ82を記憶しているが、図18に示されるように、複数の非またがり圧縮データ82を記憶しても良い。図18の例では、ブロック60が、2つの非またがり圧縮データ82と、またがり圧縮データ82の一部とを記憶している。
また、ブロック60は、当該ブロック60のブロックアドレスよりも一つ前のブロックアドレスを有する隣接ブロック60(以後、「第1隣接ブロック60」と呼ぶ)と当該ブロック60とにまたがって記憶されるまたがり圧縮データ82(以後、「第1またがり圧縮データ82」と呼ぶことがある)の一部と、当該ブロック60のブロックアドレスよりも一つの後のブロックアドレスを有する隣接ブロック60(以後、「第2隣接ブロック60」と呼ぶ)と当該ブロック60とにまたがって記憶されるまたがり圧縮データ82(以後、「第2またがり圧縮データ82」と呼ぶことがある)の一部とを記憶しても良い。言い換えれば、ブロック60は、当該ブロック60の一端と隣接する隣接ブロック60と当該ブロック60とにまたがって記憶されるまたがり圧縮データ82の一部と、当該ブロック60の他端と隣接する隣接ブロック60と当該ブロック60とにまたがって記憶されるまたがり圧縮データ82の一部とを記憶しても良い。
図19の例では、ブロック60−2は、ブロック60−1と当該ブロック60−2とにまたがって記憶される第1またがり圧縮データ82xの一部と、ブロック60−3と当該ブロック60−2とにまたがって記憶される第2またがり圧縮データ82yの一部とを記憶している。図19の例では、3つのブロック60−1,60−2,60−3から成る領域6123が、その全領域が埋まるように5つの圧縮分割データ82のみを記憶している。領域6123では、ブロック60間の各境界にまたがり圧縮データ82(圧縮データ82x,82y)が記憶されているものの、領域6123と、それに隣接する隣接領域とにまたがって記憶される圧縮分割データ82は存在しない。領域6123の両端のそれぞれは、当該領域6123に含まれる非またがり圧縮データ82の端となっている。
第3変形例では、圧縮分割データ82が2つのブロック60にまたがって記憶されることを許容している。そのため、第2変形例とは異なり、各ブロック60について、圧縮分割データ群820の中から、データ量の合計がブロック60の記憶容量と一致する複数の圧縮分割データ82の組み合わせを決定する必要はない。よって、圧縮分割データ群820をどのように記憶領域6に記憶するかを設計する際の設計自由度が向上する。
第3変形例のように、少なくとも一つの非またがり圧縮データ82と、当該ブロック60に隣接する隣接ブロック60と当該ブロック60とにまがって記憶されるまたがり圧縮データ82の一部とのみを記憶するブロック60内の圧縮分割データ82を伸張する場合には、当該少なくとも一つの非またがり圧縮データ82と、当該またがり圧縮データ82とをまとめて伸張する。例えば、図17に示されるブロック60−1については、当該ブロック60−1に記憶される非またがり圧縮データ82aと、当該ブロック60−1にその一部が記憶されるまたがり圧縮データ82bとをまとめて伸張する。また図18に示されるブロック60−1については、当該ブロック60−1に記憶される2つの非またがり圧縮分割データ82と、当該ブロック60−1にその一部が記憶されるまたがり圧縮データ82とをまとめて伸張する。制御部40は、上記のステップs5において、送信対象データを記憶するブロック60が、少なくとも一つの非またがり圧縮データ82と、またがり圧縮データ82の一部とのみを記憶している場合には、当該少なくとも一つの非またがり圧縮データ82と、当該またがり圧縮データ82とを当該ブロック60から読み出す。そして、ステップs6において、伸張部41はステップs5で読み出された少なくとも一つの非またがり圧縮データ82とまたがり圧縮データ82のそれぞれを伸張して、複数の伸張分割データ85を生成する。その後、ステップs7において、制御部40は、ステップs6で得られた複数の伸張分割データ85を記憶領域6に書き込む。その後、ステップs8で管理情報70が更新される。
このように、ブロック60が、少なくとも一つの非またがり圧縮データ82とまたがり圧縮データ82の一部とのみを記憶している場合に、当該少なくとも一つの非またがり圧縮データ82と当該またがり圧縮データ82とをまとめて伸張することにより、当該ブロック60をすぐに空きブロック60として使用することが可能となる。
これに対して、ブロック60が、少なくとも一つの非またがり圧縮データ82とまたがり圧縮データ82の一部とのみを記憶している場合に、当該またがり圧縮分割データ82のみを伸張した場合には、当該ブロック60には当該少なくとも一つの非またがり圧縮データ82が残るため、当該ブロック60をすぐに空きブロック60として使用することができない。上記のように、少なくとも一つの非またがり圧縮データ82とまたがり圧縮データ82とをまとめて伸張することにより、ブロック60をすぐに空きブロック60として使用することが可能となり、記憶領域6を有効利用することができる。図17,18の例では、領域612内のすべての圧縮分割データ82をまとめて伸張しても良い。
また、少なくとも一つの非またがり圧縮データ82と、当該ブロック60に隣接する第1隣接ブロック60と当該ブロック60とにまがって記憶される第1またがり圧縮データ82の一部と、当該ブロック60に隣接する第2隣接ブロック60と当該ブロック60とにまがって記憶される第2またがり圧縮データ82の一部とのみを記憶するブロック60内の圧縮分割データ82を伸張する場合には、当該少なくとも一つの非またがり圧縮データ82と、当該第1またがり圧縮データ82と、当該第2またがり圧縮データ82とをまとめて伸張する。これより、当該ブロック60をすぐに空きブロックとして使用することができる。よって、このような場合であっても、記憶領域6を有効利用することができる。図19の例では、領域6123内のすべての圧縮分割データ82をまとめて伸張しても良い。
なお、第2変形例と第3変形例とを組み合わせても良い。つまり、複数のブロック60には、複数の非またがり圧縮データ82のみを記憶するブロック60と、少なくとも一つの非またがり圧縮データ82及びまたがり圧縮データ82の一部とのみを記憶するブロック60とが含まれても良い。また、複数のブロック60には、複数の非またがり圧縮データ82のみを記憶するブロック60と、少なくとも一つの非またがり圧縮データ82、第1またがり圧縮データ82の一部及び第2またがり圧縮データ82の一部のみを記憶するブロック60とが含まれても良い。また、複数のブロック60には、複数の非またがり圧縮データ82のみを記憶するブロック60と、少なくとも一つの非またがり圧縮データ82及びまたがり圧縮データ82の一部とのみを記憶するブロック60と、少なくとも一つの非またがり圧縮データ82、第1またがり圧縮データ82の一部及び第2またがり圧縮データ82の一部のみを記憶するブロック60とが含まれても良い。
<ホスト装置からの送信要求に対する応答時間の短縮>
上述の例では、メモリ制御装置4は、送信対象データが伸張されていない場合には、ホスト装置2からの送信要求があったとき、送信対象データを含む圧縮分割データ82を伸張している。そのため、メモリ制御装置4が、ホスト装置2からの送信要求を受けてから、非圧縮の送信対象データをホスト装置2に送信するまで時間がかかることがある。つまり、メモリ制御装置4では、ホスト装置2からの送信要求に対する応答時間が長くなることがある。
そこで、以下に、メモリ制御装置4での、ホスト装置2からの送信要求に対する応答時間を短縮するためのいくつかの方法について説明する。
<第4変形例>
上述のように、分割データ81を圧縮する際の圧縮率は、その分割データ81のデータ内容に応じて変化する。したがって、複数の圧縮分割データ82には、圧縮率が小さい圧縮分割データ82が存在する。製造工程などにおいて、圧縮率が小さい圧縮分割データ82を記憶領域6に書き込む場合には、書き込み時間の短縮効果は比較的小さい。
そこで、第4変形例では、アプリケーションデータ80を分割して得られる複数の分割データ81のうち、それを圧縮した際の圧縮率がしきい値よりも小さい分割データ81は圧縮されずに記憶領域6に書き込まれる。一方で、複数の分割データ81のうち、それを圧縮した際の圧縮率がしきい値よりも大きい分割データ81は、上記の例のように、圧縮されて記憶領域6に書き込まれる。圧縮率がしきい値と一致する分割データ81は、圧縮されずに記憶領域6に書き込まれても良いし、圧縮されて記憶領域6に書き込まれても良い。
図20は、圧縮されていない分割データ81と、圧縮された分割データ81、つまり圧縮分割データ82とが記憶領域6に記憶されている様子を示す図である。図20では、圧縮されていない分割データ81は、非圧縮分割データ81aとして示されている。
このように、圧縮率が小さい分割データ81は圧縮されずに記憶領域6に記憶されることによって、当該分割データ81に含まれる送信対象データについては伸張する必要がない。一方で、圧縮率が大きい分割データ81は圧縮されて記憶領域6に記憶されることから、当該分割データ81の記憶領域6に対する書き込み時間を短縮することができる。よって、アプリケーションデータ80の書き込み時間を短縮しつつ、ホスト装置2からの送信要求に対する応答時間を短縮することができる。
<第5変形例>
記憶装置3がホスト装置2に装着されている場合であっても、ホスト装置2は常に記憶装置3にアクセスしているわけではなく、ホスト装置2が記憶装置3にアクセスしていない状態が存在する。例えば、アプリケーションデータ80がゲームデータであり、データ処理システム1がゲームシステムである場合を考える。この場合には、ホスト装置2に記憶装置3が接続されているものの、ユーザがゲームをしていないとき、ホスト装置2は、フラッシュメモリ5内のアプリケーションデータ80を処理する必要がないことから、記憶装置3に対してアクセスを実行しない。また、ユーザがゲームをしている場合であっても、ホスト装置2は記憶装置3にアクセスしないときがある。例えば、ホスト装置2が、アプリケーションデータ80に含まれる、ゲームのあるステージに関するステージデータをまとめてフラッシュメモリ5から読み出する場合には、ホスト装置2は、当該ステージデータを処理している間は、記憶装置3にアクセスしない。
そこで、第5変形例では、ホスト装置2が記憶装置3にアクセスしていない間に、言い換えれば、ホスト装置2がメモリ制御装置4にアクセスしていない間に、メモリ制御装置4は、圧縮分割データ82の伸張と伸張分割データ85の記憶領域6への書き込みを行う。つまり、メモリ制御装置4は、ホスト装置2にアクセスされていないときに、記憶領域6内の圧縮分割データ82を伸張してそれによって得られた伸張分割データ85を記憶領域6に書き込む伸張書き込み処理を行う。メモリ制御装置4は、ホスト装置2から、データ送信要求等のアクセス要求が所定時間以上無い場合には、ホスト装置2にアクセスされていないと判断して、圧縮分割データ82の伸張書き込み処理を行う。メモリ制御装置4は、ホスト装置2からのアクセス要求を受け取るまで、圧縮分割データ82の伸張書き込み処理を繰り返し行う。そして、メモリ制御装置4は、ホスト装置2からアクセス要求があると、圧縮分割データ82の伸張書き込み処理を中断して、当該アクセス要求に応じた処理を行う。その後、メモリ制御装置4は、再度ホスト装置2にアクセスされていないと判断すると、圧縮分割データ82の伸張書き込み処理を行う。なお、記憶領域6内のすべての圧縮分割データ82について伸張書き込み処理が実行されると、メモリ制御装置4では、伸張書き込み処理が実行されなくなる。
このように、ホスト装置2がメモリ制御装置4にアクセスしていない間に、メモリ制御装置4が、圧縮分割データ82の伸張書き込み処理を行うことによって、メモリ制御装置4は、ホスト装置2からデータ送信要求のあった送信対象データをすぐにホスト装置2に送信することが可能となる。よって、ホスト装置2からの送信要求に対する応答時間を短縮することができる。
<第6変形例>
ホスト装置2は、記憶装置3が装着された直後に、当該記憶装置3に対するアクセスを開始することがある。例えば、データ処理システム1がゲームシステムである場合を考える。この場合には、ユーザは、カード型の記憶装置3をホスト装置2に装着した直後に、ゲームを開始することがある。このとき、ホスト装置2は、記憶装置3が装着された直後に、当該記憶装置3に対するアクセスを開始する。第5変形例のように、ホスト装置2がメモリ制御装置4にアクセスしていない間に、メモリ制御装置4が、圧縮分割データ82の伸張書き込み処理を行う場合であっても、ホスト装置2に記憶装置3が装着された直後に、ホスト装置2が記憶装置3に対するアクセスを開始するときには、アクセス開始時に、アプリケーションデータ80において初期に使用されるデータが伸張されていない可能性がある。そのため、メモリ制御装置4は、ホスト装置2から、アプリケーションデータ80において初期に使用されるデータのデータ送信要求を受け取ったとき、当該データをすぐに送信できない可能性がある。
そこで、第6変形例では、アプリケーションデータ80を複数に分割して得られる複数の分割データ81のうち、当該アプリケーションデータ80において初期に使用されるデータ(以後、「初期使用データ」と呼ぶことがある)は圧縮されずに記憶領域6に書き込まれる。そして、複数の分割データ81のうち、初期使用データ以外のデータは圧縮されて記憶領域6に書き込まれる。上述の図20を用いて説明すると、非圧縮分割データ81aが初期使用データである。アプリケーションデータ80がゲームデータである場合には、ゲームの初期で使用される、ゲームプログラムの一部などのデータが、圧縮されずに記憶領域6に記憶される。これにより、ホスト装置2に記憶装置3が装着された直後に、ホスト装置2が記憶装置3に対するアクセスを開始する場合であっても、メモリ制御装置4は、ホスト装置2から要求される初期使用データをすぐにホスト装置2に送信することが可能となる。よって、ホスト装置2からの送信要求に対する応答時間を短縮することができる。アプリケーションデータ80のうち、初期使用データ以外のデータに相当する複数の圧縮分割データ82は、第5変形例と同様に、ホスト装置2がメモリ制御装置4にアクセスしていない間に伸張される。
<第7変形例>
第5変形例のように、ホスト装置2がメモリ制御装置4にアクセスしていない間に、メモリ制御装置4が、圧縮分割データ82の伸張書き込み処理を行う場合、メモリ制御装置4が任意の順番で圧縮分割データ82の伸張書き込み処理を行うと、ホスト装置2から要求のあった送信対象データが未だ伸張されていないことがある。この場合には、ホスト装置2からのデータ送信要求に対する応答時間が長くなる。
そこで、第7変形例では、メモリ制御装置4は、ホスト装置2から通知される、圧縮分割データ82の伸張優先度に応じて、圧縮分割データ82を伸張する。ホスト装置2は、例えば、記憶装置3がはじめて接続された直後に、圧縮分割データ82の伸張優先度を記憶装置3のメモリ制御装置4に通知する。メモリ制御装置4は、ホスト装置2から通知される伸張優先度を例えばフラッシュメモリ5に記憶する。そして、メモリ制御装置4は、ホスト装置2がメモリ制御装置4にアクセスしていない間に、伸張優先度に応じて圧縮分割データ82の伸張書き込み処理を行う。
記憶領域6に記憶される複数の圧縮分割データ82のそれぞれには、固有の伸張優先度が設定される。ホスト装置2は、複数の圧縮分割データ82のそれぞれに設定された伸張優先度をメモリ制御装置4に通知する。伸張優先度は、例えば、ホスト装置2がアクセスする順番が早い圧縮分割データ82の伸張優先度ほど高く設定される。また、伸張優先度は、ホスト装置2がアクセスする頻度が多い圧縮分割データ82の伸張優先度ほど高く設定されても良い。ホスト装置2がアクセスする頻度が多い圧縮分割データ82は、記憶装置3がホスト装置2に初めて接続された後、早くホスト装置2にアクセスされる可能性が高い。したがって、ホスト装置2がアクセスする頻度が多い圧縮分割データ82の伸張優先度ほど高く設定することによって、ホスト装置2に早くアクセスされる可能性が高い圧縮分割データ82の伸張優先度が高くなる。また、圧縮分割データ82の伸張優先度は、ホスト装置2が当該圧縮分割データ82にアクセスする順番及びアクセスする頻度に基づいて決定されても良い。
ホスト装置2は、自ら伸張優先度を決定しても良い。また、外部装置からホスト装置2に対して伸張優先度を入力しても良い。例えば、ホスト装置2をインターネット等を介して外部装置に接続し、外部装置が、実運用中でのホスト装置2の記憶装置3に対するアクセスを解析する。そして、外部装置は、その解析結果に基づいて、伸張優先度を決定する。外部装置で決定された伸張優先度は、新しく製造されたホスト装置2に対して当該外部装置からインターネット等を通じて入力される。ホスト装置2は、外部装置から入力された伸張優先度を記憶部21に記憶する。そして、ホスト装置2は、記憶装置3がはじめて接続された直後に、記憶部21内の伸張優先度を当該記憶装置3に通知する。
メモリ制御装置4は、ホスト装置2がメモリ制御装置4にアクセスしていない間に、複数の圧縮分割データ82を伸張優先度が高い順に伸張する。これにより、ホスト装置2によるアクセスの順番が早い圧縮分割データ82あるいはホスト装置2によるアクセス頻度が多い圧縮分割データ82が先に伸張される。よって、メモリ制御装置4は、ホスト装置2から要求のあった送信対象データをすぐにホスト装置2に送信することが可能となる。よって、ホスト装置2からのデータ送信要求に対する応答時間を短くすることができる。
なお、上記の第2変形例のように、ブロック60内の複数の圧縮分割データ82をまとめて伸張する場合には、当該複数の圧縮分割データ82には同じ伸張優先度が設定される。また、上記の第3変形例のように、少なくとも一つの非またがり圧縮データ82と、当該ブロック60に隣接する隣接ブロック60と当該ブロック60とにまがって記憶されるまたがり圧縮データ82の一部とのみを記憶するブロック60が存在する場合には、当該少なくとも一つの非またがり圧縮分割データ82及び当該またがり圧縮データ82には同じ伸張優先度が設定される。また、上記の第3変形例のように、少なくとも一つの非またがり圧縮データ82、第1またがり圧縮データ82の一部及び第2またがり圧縮データ82の一部とのみを記憶するブロック60が存在する場合には、当該少なくとも一つの非またがり圧縮分割データ82、当該第1またがり圧縮データ82及び当該第2またがり圧縮データ82には同じ伸張優先度が設定される。
以上のように、データ処理システム1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 データ処理システム
2 ホスト装置
3 記憶装置
4 メモリ制御装置
5 フラッシュメモリ
40 制御部
41 伸張部
70 管理情報
80 アプリケーションデータ
81 分割データ
82 圧縮分割データ
100 コンピュータ装置
121 データ書き込みプログラム
210 制御プログラム

Claims (22)

  1. 複数の消去単位領域を有する記憶領域を備える半導体メモリと
    前記半導体メモリを制御するメモリ制御装置と
    を備え、
    前記記憶領域は、所定データが複数に分割されて得られる複数の分割データを記憶し、
    前記複数の分割データは、それぞれが圧縮された分割データである複数の圧縮分割データを含み、
    前記複数の圧縮分割データのそれぞれのデータ量は、前記消去単位領域の記憶容量以下であり、
    前記メモリ制御装置は、
    前記半導体メモリの前記記憶領域に記憶される前記複数の圧縮分割データを伸張する伸張部と、
    前記伸張部で得られる伸張データを、前記記憶領域に書き込む制御部と
    を備え、
    前記制御部は、前記消去単位領域内のすべての前記圧縮分割データが伸張された場合、当該消去単位領域内のデータを消去して、当該消去単位領域を空き領域として使用する、記憶装置
  2. 請求項1に記載の記憶装置であって、
    前記複数の圧縮分割データに含まれる第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、
    前記第1消去単位領域は、前記複数の分割データのうち前記第1圧縮分割データのみを記憶する、記憶装置
  3. 請求項2に記載の記憶装置であって、
    前記複数の圧縮分割データは、前記複数の消去単位領域に含まれる、前記第1消去単位領域を含む複数の第2消去単位領域にそれぞれ記憶される、記憶装置
  4. 請求項1に記載の記憶装置であって、
    前記複数の圧縮分割データに含まれる複数の第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、
    前記第1消去単位領域は、前記複数の分割データのうち前記複数の第1圧縮分割データのみを記憶する、記憶装置
  5. 請求項2乃至請求項4のいずれか一つに記載の記憶装置であって、
    前記第1消去単位領域の全領域は、前記圧縮分割データで占められている、記憶装置
  6. 請求項2乃至請求項4のいずれか一つに記載の記憶装置であって、
    前記第1消去単位領域において、前記圧縮分割データで占められていない部分領域の全領域は、ランダムデータで占められている、記憶装置
  7. 請求項1乃至請求項のいずれか一つに記載の記憶装置であって、
    前記複数の圧縮分割データのそれぞれは、データ量が前記消去単位領域の記憶容量に一致する分割データが圧縮されて得られる、記憶装置
  8. 請求項1乃至請求項のいずれか一つに記載の記憶装置であって、
    前記複数の分割データのうち、それを圧縮したときの圧縮率がしきい値よりも小さい分割データは圧縮されずに前記記憶領域に記憶され、
    前記複数の分割データのうち、それを圧縮したときの圧縮率が前記しきい値よりも大きい分割データは圧縮されて前記圧縮分割データとして前記記憶領域に記憶される、記憶装置
  9. 請求項1乃至請求項のいずれか一つに記載の記憶装置であって、
    前記複数の分割データのうち、前記所定データにおいて初期に使用されるデータは圧縮されずに前記記憶領域に記憶される、記憶装置
  10. 請求項1乃至請求項9のいずれか一つに記載の記憶装置であって、
    前記制御部は、前記記憶領域内でのデータを管理する管理情報に基づいて、前記記憶領域に対するデータ書き込み及びデータ読み出しを行い、
    前記制御部は、前記消去単位領域内のすべての前記圧縮分割データが伸張されて得られる伸張データを前記記憶領域に書き込んだ後に、前記管理情報を更新し、
    前記制御部は、前記消去単位領域内のすべての前記圧縮分割データが伸張されて得られる伸張データを前記記憶領域に書き込んだ後に、当該消去単位領域内のデータを消去する、記憶装置
  11. 請求項1乃至請求項10のいずれか一つに記載の記憶装置であって、
    前記メモリ制御装置を制御する上位装置が前記メモリ制御装置にアクセスしていない間に、前記伸張部が前記圧縮分割データを伸張して前記制御部が伸張された前記圧縮分割データを前記記憶領域に書き込む、記憶装置
  12. 請求項乃至請求項11のいずれか一つに記載の記憶装置であって、
    前記メモリ制御装置を制御する上位装置は、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知し、
    前記伸張部は、前記伸張優先度に応じて前記圧縮分割データを伸張する、記憶装置
  13. 請求項12に記載の記憶装置の前記メモリ制御装置を制御する上位装置であって、
    前記上位装置は、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知する、上位装置。
  14. 請求項乃至請求項12のいずれか一つに記載の記憶装置と、
    前記記憶装置の前記メモリ制御装置を制御する上位装置と
    を備える、データ処理システム。
  15. 請求項1乃至請求項12のいずれか一つに記載の記憶装置にデータを書き込むデータ書込み装置であって、
    前記データ書き込み装置は、前記記憶装置の前記メモリ制御装置を通じて、前記記憶装置の前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む、データ書き込み装置。
  16. 請求項1乃至請求項12のいずれか一つに記載の記憶装置にデータを書き込むためのデータ書き込みプログラムであって、
    コンピュータ装置を、前記記憶装置の前記メモリ制御装置を通じて、前記記憶装置の前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込むデータ書き込み装置として機能させるためのデータ書き込みプログラム。
  17. 請求項12に記載のメモリ制御装置を制御するコンピュータ装置を、前記圧縮分割データの伸張優先度を前記メモリ制御装置に通知する通知部として機能させるための制御プログラム。
  18. 複数の消去単位領域を有する記憶領域を備え、
    前記記憶領域は、所定データが複数に分割されて得られる複数の分割データを記憶し、
    前記複数の分割データは、それぞれが圧縮された分割データである複数の圧縮分割データを含み、
    前記複数の圧縮分割データのそれぞれのデータ量は、前記消去単位領域の記憶容量以下であり、
    前記複数の圧縮分割データに含まれる少なくとも一つの第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、
    前記複数の圧縮分割データは、前記複数の消去単位領域に含まれる、前記第1消去単位領域と隣接する第2消去単位領域と、前記第1消去単位領域とにまたがって記憶される第2圧縮分割データを含み、
    前記第1消去単位領域は、前記第2圧縮分割データの一部及び前記少なくとも一つの第1圧縮分割データのみを記憶し、
    前記第1消去単位領域の全領域は、前記圧縮分割データで占められている、半導体メモリ。
  19. 複数の消去単位領域を有する記憶領域を備え、
    前記記憶領域は、所定データが複数に分割されて得られる複数の分割データを記憶し、
    前記複数の分割データは、それぞれが圧縮された分割データである複数の圧縮分割データを含み、
    前記複数の圧縮分割データのそれぞれのデータ量は、前記消去単位領域の記憶容量以下であり、
    前記複数の圧縮分割データに含まれる少なくとも一つの第1圧縮分割データは、前記複数の消去単位領域に含まれる第1消去単位領域のみに記憶され、
    前記複数の圧縮分割データは、
    前記複数の消去単位領域に含まれる、前記第1消去単位領域の一方端と隣接する第2消去単位領域と、前記第1消去単位領域とにまたがって記憶される第2圧縮分割データと、
    前記複数の消去単位領域に含まれる、前記第1消去単位領域の他方端と隣接する第3消去単位領域と、前記第1消去単位領域とにまたがって記憶される第3圧縮分割データと
    を含み、
    前記第1消去単位領域は、前記第2圧縮分割データの一部、前記第3圧縮分割データの一部及び前記少なくとも一つの第1圧縮分割データのみを記憶し、
    前記第1消去単位領域の全領域は、前記圧縮分割データで占められている、半導体メモリ。
  20. 請求項18及び請求項19のいずれか一つに記載の半導体メモリにデータを書き込むデータ書き込み装置であって、
    前記データ書き込み装置は、前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む、データ書き込み装置。
  21. 請求項18及び請求項19のいずれか一つに記載の半導体メモリにデータを書き込むためのデータ書き込みプログラムであって、
    コンピュータ装置を、前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込むデータ書き込み装置として機能させるためのデータ書き込みプログラム。
  22. 請求項18及び請求項19のいずれか一つに記載の半導体メモリにデータを書き込むデータ書き込み方法であって、
    前記半導体メモリの前記記憶領域に対して前記複数の分割データを書き込む工程を備える、データ書き込み方法。
JP2015062270A 2015-03-25 2015-03-25 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 Active JP6471012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015062270A JP6471012B2 (ja) 2015-03-25 2015-03-25 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015062270A JP6471012B2 (ja) 2015-03-25 2015-03-25 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法

Publications (2)

Publication Number Publication Date
JP2016181212A JP2016181212A (ja) 2016-10-13
JP6471012B2 true JP6471012B2 (ja) 2019-02-13

Family

ID=57132601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015062270A Active JP6471012B2 (ja) 2015-03-25 2015-03-25 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法

Country Status (1)

Country Link
JP (1) JP6471012B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6841074B2 (ja) * 2017-02-16 2021-03-10 富士通株式会社 情報処理装置、データ圧縮方法及びデータ圧縮プログラム
JP7142562B2 (ja) * 2018-12-25 2022-09-27 ルネサスエレクトロニクス株式会社 半導体装置、および、データのアクセスを制御するための方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63204473A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd 図面入力処理装置
JPH08272654A (ja) * 1995-03-29 1996-10-18 Matsushita Electric Ind Co Ltd ファイル管理装置
JP5526641B2 (ja) * 2009-08-03 2014-06-18 富士通株式会社 メモリコントローラ
KR20130027253A (ko) * 2011-09-07 2013-03-15 삼성전자주식회사 데이터의 압축 방법

Also Published As

Publication number Publication date
JP2016181212A (ja) 2016-10-13

Similar Documents

Publication Publication Date Title
JP6568947B2 (ja) 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
JP6434994B2 (ja) 車載制御装置、プログラム書き込み装置、プログラム生成装置及びプログラム
CN109062827B (zh) 闪存控制装置、闪存控制系统以及闪存控制方法
JP5347657B2 (ja) データ記憶プログラム、方法、及び情報処理装置
CN107632776B (zh) 用于压缩输入数据的数据存储装置
CN110858128B (zh) 数据存储装置及其共享控制器中存储器的方法
JP6139711B2 (ja) 情報処理装置
US10068650B1 (en) Characterizing and operating a non-volatile memory device
CN103425589A (zh) 控制装置、存储装置以及存储控制方法
JP2017174387A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
US9928137B2 (en) Data storage device and error correction method
JP2018169773A (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム
JP6471012B2 (ja) 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法
JP2016184402A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
CN107766067B (zh) 一种提升压缩镜像烧录速度的方法、存储介质及计算机
CN107632779B (zh) 数据处理方法和装置、服务器
CN111966281A (zh) 数据储存装置与数据处理方法
JP4788492B2 (ja) ストレージ装置の容量拡張方法、プログラム、およびストレージ装置
US9779017B2 (en) Data storage device and data accessing method thereof
JP2008278258A (ja) データ展開装置及びデータ展開方法
US20160041759A1 (en) Storage system and data transmitting method thereof
CN113010111A (zh) Ssd访问加速方法、装置、计算机设备及存储介质
JP6401071B2 (ja) プログラマブルコントローラ
US20170270047A1 (en) Data storage device and data maintenance method thereof
JP2019113899A (ja) ストレージシステム、制御装置及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6471012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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