JP5395163B2 - メモリ管理装置及びメモリ領域設定方法 - Google Patents
メモリ管理装置及びメモリ領域設定方法 Download PDFInfo
- Publication number
- JP5395163B2 JP5395163B2 JP2011503699A JP2011503699A JP5395163B2 JP 5395163 B2 JP5395163 B2 JP 5395163B2 JP 2011503699 A JP2011503699 A JP 2011503699A JP 2011503699 A JP2011503699 A JP 2011503699A JP 5395163 B2 JP5395163 B2 JP 5395163B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- memory
- program data
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 303
- 238000000034 method Methods 0.000 title claims description 30
- 238000007726 management method Methods 0.000 description 60
- 238000010586 diagram Methods 0.000 description 17
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 11
- 230000006378 damage Effects 0.000 description 9
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 5
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 4
- 101150101057 PBA1 gene Proteins 0.000 description 4
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明の実施形態1のデータ記録装置は、音データの録音/再生を行うICレコーダである。データ記録装置は、フラッシュメモリのプログラムデータ領域に格納されたプログラムデータを読み出して実行することにより、ICレコーダとしての動作(録音・再生・USB接続等)を行う。本実施形態のデータ記録装置は、フラッシュメモリのメモリ領域を管理するメモリ管理装置としての機能を含む。このメモリ管理装置が、読み出しのみを行うプログラムデータ領域を、書き換えを行うユーザデータ領域とは別のブロックに設ける。すなわち、プログラムデータ領域とユーザデータ領域との境界がブロック間の境界と一致するようにメモリの領域を管理する。これにより、ユーザデータの書き換えに伴ってプログラムデータが書き換えられることを防ぎ、プログラムデータが破壊されるリスクを低減することを可能にする。
図1に、実施形態1のデータ記録装置の一例であるICレコーダを示す。データ記録装置100は、データ記録装置100内のメモリを管理するメモリ管理部110、表示部104、操作部105、オーディオ処理部106、マイク107、スピーカ108、及び通信部109を有する。オーディオ処理部106は、エンコーダ106e及びデコーダ106dを含む。
このような構成のデータ記録装置100の動作概要について、簡単に説明する。データ記録装置100は、音データの録音/再生を行う機器である。データ記録装置100は、フラッシュメモリ102のプログラムデータ領域102pに格納されたプログラムデータの一部又は全てを読み出して、RAM103に展開して、プログラムを実行する。そのプログラムがフラッシュメモリ102を管理(例えば、データを読み出し/書き込み)することにより、データ記録装置100はICレコーダとして動作する。以下、ICレコーダとしての録音・再生・USB接続の基本動作について説明する。
ユーザが、操作部105の録音キーを押下すると、マイク107は音データを拾う。オーディオ処理部106のエンコーダ106eは、マイク107で拾われた音データをエンコード(例えば、MP3エンコード)する。制御部101は、フラッシュメモリ102のユーザデータ領域102yにエンコードされたデータを記録していく。一方、ユーザが、操作部105の停止キーを押下すると、オーディオ処理部106のエンコーダ106eは、MP3エンコードを停止する。制御部101は、フラッシュメモリ102へのエンコードデータの記録を停止する。
表示部104は、フラッシュメモリ102のユーザデータ領域102yに記録されている音データのリストを表示可能である。ユーザは、表示部104に表示されているリストの中から所望の音データを選択することができる。ユーザが、操作部105に対して音データの選択を行って再生キーを押下すると、制御部101は、所望の音データをフラッシュメモリ102から読み出す。オーディオ処理部106のデコーダ106dは、読み出された音データをデコード(本実施形態では、MP3デコード)し、スピーカ108から音を出力する。なお、スピーカ108の代わりにインナーホンから音を出力する場合も、同様に行う。
制御部101は、通信部109を介して、USB(Universal Serial Bus)やSATA(Serial Advanced Technology Attachment)などの通信インタフェースに準拠してPC等からフラッシュメモリ102のユーザデータ領域102yにMP3データ等を書き込むことが可能である。このとき、書き込まれたMP3データ等を再生することも可能である。
次に、制御部101の動作について説明する。本実施形態の制御部101は、内蔵RAM非搭載、且つ、プログラムデータを格納するための内蔵NORフラッシュメモリ非搭載のマイクロコンピュータである。本実施形態の制御部101は、外付けのRAM103と、プログラムデータ領域102pにプログラムデータを格納したフラッシュメモリ102と、に接続されている。データ記録装置100がICレコーダとして動作するとき(すなわち、録音・再生・USB接続などを行うとき)、制御部101は、フラッシュメモリ102のプログラムデータ領域102pに格納されたプログラムデータの一部又は全てを読み出して、RAM103に展開して、プログラムを実行する。実行されたプログラムが、フラッシュメモリ102のメモリ管理(具体的には、データの読み出し/書き込み)を行うことにより、データ記録装置100は、ICレコーダとして動作する。
図2(a)に、本実施形態におけるメモリ管理部110の一例を示す。図2(b)に、メモリ管理部110の他の例(メモリ管理部110’)を示す。図2(a)及び(b)は、図1のメモリ管理部110のメモリ制御部120を別の形式で記載した図である。具体的には、制御部101にRAM103を組み込んだ形式で、別の形式で簡略化して記載した図である。なお、メモリ管理部110は、種々の形態で表すことができるため、図2(a)及び(b)に限定するものではない。
図3及び図4を用いて、フラッシュメモリにおける一般的な論理アドレスと物理アドレスの変換について説明する。図3(a)及び(b)に、メモリ領域102mの論理ブロック配置と物理ブロック配置の対応付けの一例を示す。なお、図中、PBAは物理ブロックアドレス(Physical Block Address)を示し、LBAは論理ブロックアドレス(Logical Block Address)を示している。図4に、論理物理変換テーブルの一例を示す。図4の論理物理変換テーブル700は、メモリ領域102mの物理アドレスと論理アドレスの対応付けを行う表の一例である。
図5を用いて、一般的なデータの書き換えについて説明する。図5(a)の物理ブロック配置は、図1のメモリ領域102mの物理ブロック配置の一例を示す。図5(b)は、データ書き換え前の物理ブロックアドレス2(PBA2)の物理ブロックを示す。図5(c)は、データ書き換え後の物理ブロックアドレス4094(PBA4094)の物理ブロックを示す。図5(b)及び(c)に示すように、各物理ブロックは128ページにより構成される。ページは、書き込み/読み出しの基本単位であり、ペイロード部(2Kバイト)と冗長部(64バイト)とを含む。
図6〜図8を用いて、メモリ領域の設定及びプログラムデータの書き込み方法(転送方法)について説明する。本実施形態において、プログラムデータは、データ記録装置100であるICレコーダの製造時又は出荷時に書き込まれる。しかし、古いプログラムデータがプログラムデータ領域102pに格納されていて、新しいプログラムデータを書き込む場合、つまり、アップデートの動作の場合も、以下に示す説明を同様に適用できる。
図1のフラッシュメモリ102のメモリ領域102mに、プログラムデータ領域102pを設定し、プログラムデータ領域102pにプログラムデータが格納されていない状態からプログラムデータを書き込む動作について、まず概略を説明する。データ記録装置100用のプログラムデータ(例えば、サイズ=525824バイト)が、データ記録装置100に接続されたパソコン(PC)上にあると、データ記録装置100の制御部101は、通信部109を介して、そのパソコンからプログラムデータをテンポラリユーザデータ領域に取り込む。ここで、テンポラリユーザデータ領域とは、任意の記憶領域であって、制御部101、RAM103、及びフラッシュメモリ102のうち、いずれに存在しても構わない。テンポラリユーザデータ領域は、PCからマスストレージとして見え、PCは、マスストレージの領域に対して、プログラムデータを書き込むことができる。
プログラムデータの転送開始時点で、制御部101は、まず、プログラムデータサイズ(=525824バイト)を計算する(S401)。次に、フラッシュメモリ102のセクタサイズ(=512バイト)、ページサイズ(=2Kバイト)、ブロックサイズ(=256Kバイト)、及びブロック数(=4096個)を計算する(S402)。制御部101は、ステップS401及びS402の結果から、最低限必要なプログラムデータ領域サイズ(=2ブロック+1536バイト分)を計算する(S403)。
システムデータサイズが512バイトであるとする。制御部101は、最低限必要なシステムデータ領域サイズ(=1ページ分)を計算する(S405)。制御部101は、システムデータ領域102sの開始セクタと終了セクタを決定する(S406)。図7(a)の論理ブロック配置の場合、制御部101は、システムデータ領域102sの開始セクタを「LBA3のページ0の1セクタ目(つまり、セクタ1536)」とし、終了セクタを「LBA3の最終ページであるページ127の最終セクタ(つまり、セクタ2047)」として決定する。すなわち、制御部101は、プログラムデータ領域102pと同様に、システムデータ領域102sの終了セクタを、システムデータサイズぎりぎりではなく、ブロックの境界終端まで確保する。なお、本実施の形態では、システムデータを含んであるが、必ずしも必要ではない
制御部101は、ユーザデータサイズを1047265280バイトとして、最低限必要なユーザデータ領域サイズ(=3996ブロック分)を計算する(S407)。ここで、ユーザデータサイズとは、ICレコーダとして音データを録音したり、PCからUSB経由でデータを取り込んで記録しておく領域として確保するサイズである。制御部101は、ユーザデータ領域102yの開始セクタと終了セクタとを決定する(S408)。図7(a)の論理ブロック配置の場合、制御部101は、ユーザデータ領域102yの開始セクタを「LBA4の1セクタ目(つまり、セクタ2048)」とし、終了セクタを「LBA3999の最終ページであるページ127の最終セクタ(つまり、セクタ2047999)」として決定する。なお、説明の簡単化のため、最低限必要なユーザデータ領域サイズをブロックサイズの倍数として説明したが、ブロックサイズの倍数でない場合でも、システムデータと同様に、終了セクタをブロックの境界終端まで確保する。
以上のように各領域が設定されると、制御部101は、プログラムデータの書き込み動作に移る(S409)。制御部101は、プログラムデータ525824バイトをプログラムデータ領域102pに書き込む。具体的には、プログラムデータを、プログラムデータA(262144バイト)、プログラムデータB(262144バイト)、及びプログラムデータC(1536バイト)にわけて、それぞれ、LBA0、LBA1、LBA2に書き込む。LBA2のページ1以降には、何も書かれない。
次に、制御部101はシステムデータの書き込み動作に移る(S410)。制御部101は、システムデータ512バイトをシステムデータ領域102sに書き込む。具体的には、LBA3に書き込む。LBA3のページ1以降は、何も書かれない。
図8に、図7と異なるメモリ領域102mの配置を示す。図8において、制御部101が扱える共通最小単位であるセクタのサイズは512バイト(PCとの親和性も考慮し512バイトとする)、4セクタを1ページとするページのサイズは2Kバイト、64ページを1ブロックとするブロックのサイズは128Kバイト、ブロック数は8192個である。1ブロックは、64×4=256セクタとなる。図8の場合、プログラムデータのサイズは525824バイトである。制御部101は、全ブロックにおけるセクタ番号(セクタ0〜セクタ2097151)を通し番号で管理する。
図7と図8の1ブロックあたりのセクタ数を比較すると、図7の物理ブロック配置では、1ブロックあたり256セクタである。一方、図8の物理ブロック配置では、1ブロックあたり512セクタである。制御部101は、プログラムデータ転送及びICレコーダとしての機器動作において、セクタ単位でフラッシュメモリ102にアクセスする。そのため、複数種類のいずれかのフラッシュメモリを搭載した記憶容量の異なるICレコーダを実現する際、プログラムの共通化のために、プログラムデータ領域102p、システムデータ領域102s、及びユーザデータ領域102yを、セクタ番号レベルで共通化することが得策である。よって、例えば、図7と図8の2種類のフラッシュメモリがある場合、この2種類のフラッシュメモリのそれぞれのブロックサイズの最小公倍数である512セクタ分(すなわち、図8における2ブロック分)を共通ブロックと定義し、制御部101は、共通ブロック(2ブロック分)の単位で領域を決定する。
図6のフローチャートを参照して、図8におけるメモリ領域の決定及びプログラム書き込み方法を説明する。制御部101は、プログラムデータの転送開始時点で、まず、プログラムデータサイズ(=525824バイト)を計算する(S401)。次に、フラッシュメモリ102のセクタサイズ(=512バイト)、ページサイズ(=2Kバイト)、ブロックサイズ(=128Kバイト)、及びブロック数(=8192個)を計算する(S402)。制御部101は、ステップS401及びS402の結果から、最低限必要なプログラムデータ領域サイズ(=4ブロック+1536バイト分)を計算する(S403)。
システムデータサイズが512バイトであるとする。制御部101は、最低限必要なシステムデータ領域サイズ(=1ページ分)を計算する(S405)。制御部101は、システムデータ領域102sの開始セクタと終了セクタを決定する(S406)。図8(a)の論理ブロック配置の場合、制御部101は、システムデータ領域102sの開始セクタを「LBA6のページ0の1セクタ目(つまり、セクタ1536)」とし、終了セクタを「LBA7の最終ページであるページ127の最終セクタ(つまり、セクタ2047)」として決定する(S406)。すなわち、制御部101は、プログラムデータ領域102pと同様に、システムデータ領域102sの終了セクタを、システムデータサイズぎりぎりではなく、且つ、ブロック境界終端ではなく、共通ブロックの境界終端まで確保する。具体的には、LBA6の最終ページであるページ127の最終セクタ(つまり、セクタ1791)ではなく、共通ブロックを配慮し、LBA7の最終ページであるページ127の最終セクタ(つまり、セクタ2047)まで確保する。
次に、ユーザデータサイズを1047265280バイトとして、最低限必要なユーザデータ領域サイズ(=7992ブロック分)を計算する(S407)。制御部101は、ユーザデータ領域102yの開始セクタと終了セクタとを決定する(S408)。図8の論理ブロック配置の場合、制御部101は、ユーザデータ領域202yの開始セクタを「LBA8の1セクタ目(つまり、セクタ2048)」とし、終了セクタを「LBA7999の最終ページであるページ127の最終セクタ(つまり、セクタ2047999)」として決定する。なお、説明の簡単化のため、最低限必要なユーザデータ領域サイズを共通ブロックサイズの倍数として説明したが、共通ブロックサイズの倍数でない場合でも、システムデータと同様に、終了セクタを共通ブロックの境界終端まで確保する。
以上のように各領域が設定されると、制御部101は、プログラムデータの書き込み動作に移る(S409)。制御部101は、プログラムデータ525824バイトをプログラムデータ領域102pに書き込む。具体的には、プログラムデータを、プログラムデータA(131072バイト)、プログラムデータB(131072バイト)、プログラムデータC(131072バイト)、プログラムデータD(131072バイト)、及びプログラムデータE(1536バイト)にわけて、それぞれ、LBA0、LBA1、LBA2、LBA3、LBA4に書き込む。LBA4のページ1以降及びLBA5には、何も書かれない。
次に、制御部101はシステムデータの書き込み動作に移る(S410)。制御部101は、システムデータ512バイトをシステムデータ領域102sに書き込む。具体的には、LBA6に書き込む。LBA6のページ1以降及びLBA7には、何も書かれない。
本実施形態のメモリ管理装置は、工場等に設けられて、プログラムデータが書き込まれたフラッシュメモリを大量に生産する装置(プログラム書き込み装置)である。本実施形態のプログラム書き込み装置は、プログラムデータの書き込み先の物理ブロックを再配置し、再配置済みのフラッシュメモリをマスタとして、そのフラッシュメモリをコピーすることにより、短時間での大量のコピー(すなわち、書き込み済みフラッシュメモリの生産)を可能にする。
図9に、本実施形態におけるメモリ管理装置の一例であるプログラム書き込み装置を示す。プログラム書き込み装置1000は、ROMライタ1001と、パーソナルコンピュータ(PC)1002と、を含む。ROMライタ1001は、PC1002に接続されている。ROMライタ1001は、PC1002に保存されているデータを、ブランクフラッシュメモリ1004、1005等に書き込むことができる。また、ROMライタ1001は、書き込み済みフラッシュメモリ1003に記録されているデータを、書き込み済みフラッシュメモリ1003から読み出して、PC1002に保存することができる。PC1002は、ROMライタ1001からデータを読み出し、読み出したデータを加工し、加工したデータをブランクフラッシュメモリ1004、1005に書き込むことが可能である。本実施形態において、書き込み済みフラッシュメモリ1003及びブランクフラッシュメモリ1004、1005は、NAND型フラッシュメモリである。
プログラム書き込み装置(メモリ管理装置)1000の動作について、図10及び図11を用いて説明する。図10(a)及び(b)は、書き込み済みフラッシュメモリ1003にプログラムデータ及びシステムデータが書き込まれている状態を示している。図10(a)は論理ブロックにおける配置を示し、図10(b)は物理ブロックにおける配置を示している。図10(a)の論理ブロック配置において、プログラムデータ領域には、プログラムデータA、プログラムデータB、プログラムデータC、プログラムデータD、及びプログラムデータEが書き込まれている。システムデータ領域には、システムデータFが書き込まれている。図10(b)の物理ブロック配置は、図10(a)の論理ブロック配置の各ブロックを物理配置に並べ替えたものであり、論理ブロック配置に含まれていたプログラムデータやシステムデータを含む。図10(c)は、本実施形態において、PC1002上で、図10(b)の物理ブロック配置に含まれていたプログラムデータやシステムデータを再配置した後の物理ブロック配置を示している。
まず、従来の一般的なフラッシュメモリのプログラムデータ及びシステムデータのコピーについて説明する。プログラムデータが書き込まれた書き込み済みフラッシュメモリ1003がROMライタ1001に装着されると、従来のメモリ管理装置は、書き込み済みフラッシュメモリ1003からプログラムデータ及びシステムデータを読み出す。ROMライタ1001は、フラッシュメモリに対して、論理アドレスでアクセスを行うのではなく、物理アドレスでアクセスを行う。よって、例えば、プログラムデータ及びシステムデータが格納される可能性のある場所がPBA0〜PBA13と決まっている場合は、その14ブロック分のデータを読み出す。
<4.1 プログラムデータ・システムデータの読み出し>
図11に、実施形態2における、メモリ領域設定(具体的には、プログラムデータの再配置)を含むプログラム格納方法のフローチャートを示す。実施形態1のデータ記録装置100等により、プログラムデータ及びシステムデータが既に格納された書き込み済みフラッシュメモリ1003がROMライタ1001に装着されると、ROMライタ1001は、書き込み済みフラッシュメモリ1003からプログラムデータ及びシステムデータを読み出す(S1101)。
本実施形態において、プログラム書き込み装置1000は、PC1002上で、プログラムデータとシステムデータが書き込まれた物理ブロックの再配置を行う(S1102)。すなわち、図10(b)の物理ブロック配置を図10(c)の物理ブロック配置のように並べ替える。具体的には、PC1002は、物理ブロック配置を仮想作成する。次に、物理ブロック配置をPBA0からサーチしていき、最初に見つかったプログラムデータAが含まれる物理ブロックPBA1を、物理ブロック配置のPBA0に配置する。ここで、データが格納されている物理ブロックには、空きブロックに対して、識別可能となるような仕組みを含んでおく。PC1002は、次に見つかったシステムデータFが含まれる物理ブロックPBA2を、物理ブロック配置のPBA1に配置する。その後、順に、プログラムデータCが含まれる物理ブロックPBA3を物理ブロック配置のPBA2に配置し、プログラムデータBが含まれる物理ブロックPBA6を物理ブロック配置のPBA3に配置し、プログラムデータDが含まれる物理ブロックPBA9を物理ブロック配置のPBA4に配置し、プログラムデータEが含まれる物理ブロックPBA11を、物理ブロック配置のPBA5に配置する。これにより、物理ブロック配置(6ブロック分)が完成する。PC1002は、完成した6ブロック分の物理ブロック配置をROMライタ1001に装着された別のブランクフラッシュメモリに書き込む。論理物理変換テーブル700により、再配置された後の物理アドレスを論理アドレスに対応させる。これにより、プログラムデータ領域102p及びシステムデータ領域102sは、PBA0〜PBA5に設定されることになる。なお、分割されたプログラムデータの順序が予めわかっている場合は、その順序で再配置をおこなってもよい。このフラッシュメモリがマスターフラッシュROMとなる。
プログラムデータ及びシステムデータが書き込まれていないブランクフラッシュメモリ1004がROMライタ1001に装着されると、ROMライタ1001は、プログラムデータ領域102p及びシステムデータ領域102sである物理ブロック配置の6ブロック分のデータを、ブランクフラッシュメモリ1004に書き込む(S1103)。ステップS1102により、プログラムデータ及びシステムデータが書き込まれている物理ブロックを再配置しているため、書き込みに要する時間は、6ブロック分のデータを書き込む(及びベリファイ等)時間となる。これは、従来の手法による8000ブロック以上分の書き込みに要する時間よりも短い。別のブランクフラッシュメモリ1005がROMライタ1001に装着され、プログラムデータ及びシステムデータが書き込まれたフラッシュメモリをさらに生成する場合は(S1104でNo)、ROMライタ1001は物理ブロック配置の6ブロック分のデータを別のブランクフラッシュメモリ1005に書き込む(S1103)。これを繰り返すことにより、プログラムデータ及びシステムデータが書き込まれたフラッシュメモリが大量に生産される。データのコピーを終了する場合(S1104でYes)、ROMライタ1001はデータのコピーを終了する。
101 制御部
102 フラッシュメモリ
102p プログラムデータ領域
102s システムデータ領域
102y ユーザデータ領域
102m メモリ領域
103 RAM
104 表示部
105 操作部
106 オーディオ処理部
106e エンコーダ
106d デコーダ
107 マイク
108 スピーカ
109 通信部
110 メモリ管理部
120 メモリ制御部
700 論理物理変換テーブル
802 アプリケーションプログラム部
803 メモリコントローラ
853 メモリコントローラ
1000 プログラム書き込み装置
1001 ROMライタ
1002 PC
1003 書き込み済みフラッシュメモリ
1004 ブランクフラッシュメモリ
1005 ブランクフラッシュメモリ
Claims (2)
- メモリを制御するメモリ制御部を備えたメモリ管理装置であって、
前記メモリのデータ領域は第1及び第2の管理領域の単位で管理され、前記第1の管理領域はデータの読み出し及び書き込み単位であり、前記第2の管理領域はデータの消去単位であり、前記第2の管理領域は複数の第1の管理領域を含み、
前記メモリのデータ領域は、データの読み出しのみを行うリードオンリーデータ領域と、データの書き込み、消去を行うリードライトデータ領域とを含み、
前記メモリ制御部は、前記リードオンリーデータ領域と前記リードライトデータ領域の境界が、前記第2の管理領域間の境界と一致するように、前記メモリのデータ領域を管理し、
前記メモリ制御部は、前記メモリのサイズが複数種類ある場合には、前記リードオンリーデータ領域と前記リードライトデータ領域の境界が、前記第2の管理領域の前記複数のサイズ間の最小公倍数となる境界に一致するように、前記メモリのデータ領域を管理する、
メモリ管理装置。 - メモリの領域を設定する方法であって、
前記メモリのデータ領域は第1及び第2の管理領域の単位で管理され、前記第1の管理領域はデータの読み出し及び書き込み単位であり、前記第2の管理領域はデータの消去単位であり、前記第2の管理領域は複数の第1の管理領域を含み、
前記メモリのデータ領域において、データの読み出しのみを行うリードオンリーデータ領域と、データの書き込み、消去を行うリードライトデータ領域とを設定し、
前記リードオンリーデータ領域と前記リードライトデータ領域の境界が、前記第2の管理領域間の境界と一致するようにし、
前記メモリのサイズが複数種類ある場合には、前記リードオンリーデータ領域と前記リードライトデータ領域の境界が、前記第2の管理領域の前記複数のサイズ間の最小公倍数となる境界に一致するように、前記メモリのデータ領域を設定する、
メモリ領域設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011503699A JP5395163B2 (ja) | 2009-03-12 | 2010-03-08 | メモリ管理装置及びメモリ領域設定方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009059072 | 2009-03-12 | ||
JP2009059072 | 2009-03-12 | ||
JP2011503699A JP5395163B2 (ja) | 2009-03-12 | 2010-03-08 | メモリ管理装置及びメモリ領域設定方法 |
PCT/JP2010/001593 WO2010103780A1 (ja) | 2009-03-12 | 2010-03-08 | メモリ管理装置、データ記録装置、及びメモリ領域設定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010103780A1 JPWO2010103780A1 (ja) | 2012-09-13 |
JP5395163B2 true JP5395163B2 (ja) | 2014-01-22 |
Family
ID=42728076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011503699A Expired - Fee Related JP5395163B2 (ja) | 2009-03-12 | 2010-03-08 | メモリ管理装置及びメモリ領域設定方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5395163B2 (ja) |
WO (1) | WO2010103780A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996282B2 (en) | 2015-07-27 | 2018-06-12 | Samsung Electronics Co., Ltd. | Method of operating data storage device and method of operating system including the same |
JP7116260B2 (ja) | 2019-07-11 | 2022-08-09 | Primetals Technologies Japan株式会社 | 圧延装置の運転方法並びに圧延装置の制御装置及び圧延設備 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5429891B2 (ja) * | 2011-05-09 | 2014-02-26 | Necアクセステクニカ株式会社 | データ書き込み装置およびデータ書き込み方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006235960A (ja) * | 2005-02-24 | 2006-09-07 | Fujitsu Ltd | ガーベッジコレクション高速化方法 |
JP2007219793A (ja) * | 2006-02-16 | 2007-08-30 | Matsushita Electric Ind Co Ltd | フラッシュメモリの書き込み方法 |
JP2007220101A (ja) * | 2006-02-17 | 2007-08-30 | Samsung Electronics Co Ltd | ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0773098A (ja) * | 1993-09-01 | 1995-03-17 | Toshiba Emi Ltd | データ書き込み方法 |
-
2010
- 2010-03-08 JP JP2011503699A patent/JP5395163B2/ja not_active Expired - Fee Related
- 2010-03-08 WO PCT/JP2010/001593 patent/WO2010103780A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006235960A (ja) * | 2005-02-24 | 2006-09-07 | Fujitsu Ltd | ガーベッジコレクション高速化方法 |
JP2007219793A (ja) * | 2006-02-16 | 2007-08-30 | Matsushita Electric Ind Co Ltd | フラッシュメモリの書き込み方法 |
JP2007220101A (ja) * | 2006-02-17 | 2007-08-30 | Samsung Electronics Co Ltd | ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996282B2 (en) | 2015-07-27 | 2018-06-12 | Samsung Electronics Co., Ltd. | Method of operating data storage device and method of operating system including the same |
JP7116260B2 (ja) | 2019-07-11 | 2022-08-09 | Primetals Technologies Japan株式会社 | 圧延装置の運転方法並びに圧延装置の制御装置及び圧延設備 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2010103780A1 (ja) | 2012-09-13 |
WO2010103780A1 (ja) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5295778B2 (ja) | フラッシュメモリ管理方法 | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US6388908B1 (en) | Recording system, data recording device, memory device, and data recording method | |
US7752412B2 (en) | Methods of managing file allocation table information | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US20080082773A1 (en) | Systems for Managing File Allocation Table Information | |
KR20110107857A (ko) | 솔리드 스테이트 메모리 포멧팅 | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JPWO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
JP4253272B2 (ja) | メモリカード、半導体装置、及び半導体メモリの制御方法 | |
JP2007280108A (ja) | 記憶媒体制御装置、記憶媒体制御方法、プログラム | |
TW201344434A (zh) | 記憶體格式化方法、記憶體控制器及記憶體儲存裝置 | |
JP5592478B2 (ja) | 不揮発性記憶装置及びメモリコントローラ | |
JP5395163B2 (ja) | メモリ管理装置及びメモリ領域設定方法 | |
JPWO2007105688A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP4737223B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005078378A (ja) | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 | |
JP2006252137A (ja) | 不揮発性記憶装置の最適化方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4818453B1 (ja) | 電子機器およびデータ読み出し方法 | |
JP2008299455A (ja) | データ記憶装置及びデータ管理方法 | |
JP2008251063A (ja) | 記憶装置 | |
JP4218406B2 (ja) | 情報記録再生方法 | |
JP5707695B2 (ja) | フラッシュディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130808 |
|
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: 20131008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5395163 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |