JP2011154572A - Electronic device - Google Patents
Electronic device Download PDFInfo
- Publication number
- JP2011154572A JP2011154572A JP2010016067A JP2010016067A JP2011154572A JP 2011154572 A JP2011154572 A JP 2011154572A JP 2010016067 A JP2010016067 A JP 2010016067A JP 2010016067 A JP2010016067 A JP 2010016067A JP 2011154572 A JP2011154572 A JP 2011154572A
- Authority
- JP
- Japan
- Prior art keywords
- block
- address
- access
- predetermined
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、複数のメモリを有する電子機器に関する。 The present invention relates to an electronic apparatus having a plurality of memories.
近年、例えば、携帯電話等の電子機器は、データを記憶する記憶媒体として、アドレスが付されたブロックという記憶単位でデータの管理を行うフラッシュメモリが使用されることが多い。 2. Description of the Related Art In recent years, for example, electronic devices such as mobile phones often use flash memory that manages data in a storage unit called an addressed block as a storage medium for storing data.
ここで、特許文献1には、どのような種類のフラッシュメモリ(例えば、NANDフラッシュメモリ)に対しても対応可能な制御部を提供する技術が記載されている。 Here, Patent Document 1 describes a technique for providing a control unit that can handle any type of flash memory (for example, a NAND flash memory).
ところで、フラッシュメモリ内には、例えば、ハードウェアの欠陥等によってデータを正常に書き込んだり読み込んだりすることができない、不良ブロック(バッドブロック)と呼ばれるブロックが発生することがある。バッドブロックになってしまったブロックは、二度と正しいアクセス(データの読み込み、書き込み、消去)ができなくなる。 By the way, in the flash memory, for example, a block called a bad block (bad block) in which data cannot be normally written or read due to a hardware defect or the like may occur. Blocks that have become bad blocks can no longer be correctly accessed (reading, writing, and erasing data).
したがって、アプリケーションプログラム等が、バッドブロックを有するフラッシュメモリにアクセスする場合、バッドブロックを避けてデータの書き込みや読み出しを行わなければならないため、当該アプリケーションプログラムによる処理が煩雑になってしまうという問題があった。 Therefore, when an application program or the like accesses a flash memory having a bad block, data must be written or read while avoiding the bad block, so that the processing by the application program becomes complicated. It was.
本発明では、バッドブロックを有する不揮発性メモリにアクセスする場合であっても、アプリケーションプログラム等がバッドブロックを意識せずにデータの書き込みや読み出しを効率的に行うことができる電子機器を提供することを一つの目的とする。 The present invention provides an electronic device that allows an application program or the like to efficiently write and read data without being aware of a bad block even when accessing a nonvolatile memory having a bad block. For one purpose.
本発明に係る電子機器は、上記課題を解決するために、所定の容量で規定される複数のブロックで構成され、前記ブロックには固有のアドレスが付されているデータ記憶部と、それぞれの制御方式にしたがって、アドレスを指定することによって前記データ記憶部の所定のブロックに対してアクセスを行う複数のアクセス制御部と、前記データ記憶部に不良ブロックが存在する場合、当該不良ブロックの先頭アドレスと、当該不良ブロックを代替する正常なブロックの先頭アドレスとが対応付けて構成されるアドレス対を記憶するアドレス記憶部と、前記複数のアクセス制御部のいずれかによって所定のアドレスが指定されて前記データ記憶部の所定のブロックに対してアクセスが行われたときに、当該ブロックが不良ブロックであった場合、前記アドレス対を参照して当該不良ブロックに代替する正常なブロックのアドレスを取得し、取得した当該アドレスが付されているブロックに前記アクセス制御部をアクセスさせるアクセス実行部を備える。 In order to solve the above problems, an electronic device according to the present invention is composed of a plurality of blocks defined by a predetermined capacity, and a data storage unit to which a unique address is assigned to each block, and respective controls In accordance with a method, a plurality of access control units that access a predetermined block of the data storage unit by designating an address, and when there is a defective block in the data storage unit, A predetermined address is specified by any one of the plurality of access control units and an address storage unit that stores an address pair configured by associating with a leading address of a normal block that substitutes for the defective block, and the data When a given block in the storage unit is accessed and that block is a bad block Above with reference to address pair to obtain the address of the normal block to replace the corresponding defective block, it comprises an obtained access execution unit for accessing the access control unit in the block to which the address is assigned.
また、電子機器では、前記アクセス実行部は、前記複数のアクセス制御部のいずれかによって所定のアドレスが指定されて前記データ記憶部の所定のブロックに対してアクセスが行われたときに、当該所定のブロックに対して前記アクセス制御部をアクセスさせ、前記アクセス制御部にアクセスさせてから、所定時間内に応答がないことを条件として、当該所定のブロックを不良ブロックであると判断することが好ましい。 In the electronic device, the access execution unit is configured to execute the predetermined access when a predetermined address is specified by any of the plurality of access control units and a predetermined block of the data storage unit is accessed. It is preferable to determine that the predetermined block is a bad block on the condition that no access is made within a predetermined time after the access control unit is accessed with respect to the block and the access control unit is accessed. .
また、電子機器は、前記データ記憶部は、前記複数のブロックで構成されるデータブロック領域と、当該データブロック領域のブロックが不良ブロックとなった場合に、当該不良ブロックに記憶されていたデータを代替して記憶する複数の予備ブロックで構成される予備ブロック領域とから構成される不揮発性メモリであることが好ましい。 Further, in the electronic device, the data storage unit stores the data block area composed of the plurality of blocks and the data stored in the defective block when the block of the data block area becomes a defective block. It is preferable that the non-volatile memory is constituted by a spare block area constituted by a plurality of spare blocks to be stored instead.
本発明によれば、バッドブロックを有する不揮発性メモリにアクセスする場合であっても、アプリケーションプログラム等がバッドブロックを意識せずにデータの書き込みや読み出しを効率的に行うことができる。 According to the present invention, even when a nonvolatile memory having a bad block is accessed, an application program or the like can efficiently write and read data without being aware of the bad block.
以下、本発明の実施の形態について説明する。図1は、本発明に係る電子機器の一例である携帯電話装置1の外観斜視図を示す。なお、図1は、いわゆる折り畳み型の携帯電話装置の形態を示しているが、本発明に係る携帯電話装置の形態としては特にこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式(ターンタイプ)や、操作部と表示部とが一つの筐体に配置され、連結部を有さない形式(ストレートタイプ)でも良い。 Embodiments of the present invention will be described below. FIG. 1 is an external perspective view of a mobile phone device 1 which is an example of an electronic apparatus according to the present invention. 1 shows a form of a so-called foldable mobile phone device, the form of the mobile phone device according to the present invention is not particularly limited to this. For example, a sliding type in which one casing is slid in one direction from a state in which both casings are overlapped, or a rotary type in which one casing is rotated around an axis along the overlapping direction ( Turn type), or a type (straight type) in which the operation unit and the display unit are arranged in one housing and does not have a connecting unit.
携帯電話装置1は、操作部側筐体部2と、表示部側筐体部3を備えて構成される。操作部側筐体部2は、表面部10に、操作部11と、携帯電話装置1の使用者が通話時に発した音声が入力されるマイク12を備えて構成される。操作部11は、各種設定や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作キー13と、電話番号の数字やメール等の文字等を入力するための入力操作キー14と、各種操作における決定やスクロール等を行う決定操作キー15から構成されている。
また、表示部側筐体部3は、表面部20に、各種情報を表示するためのLCD(Liquid Crystal Display)表示部21と、通話の相手側の音声を出力するスピーカ22を備えて構成されている。
The mobile phone device 1 includes an operation
Further, the display unit
また、操作部側筐体部2の上端部と表示部側筐体部3の下端部とは、ヒンジ機構4を介して連結されている。また、携帯電話装置1は、ヒンジ機構4を介して連結された操作部側筐体部2と表示部側筐体部3とを相対的に回転することにより、操作部側筐体部2と表示部側筐体部3とを互いに開いた状態(開放状態)にしたり、操作部側筐体部2と表示部側筐体部3とを折り畳んだ状態(折畳み状態)にしたりできる。
Further, the upper end of the operation
また、図2は、携帯電話装置1の機能を示す機能ブロック図である。携帯電話装置1は、図2に示すように、操作部11と、マイク12と、メインアンテナ40と、RF回路部41と、LCD制御部42と、音声処理部43と、メモリ44と、制御部45が操作部側筐体部2に備えられ、LCD表示部21と、スピーカ22と、LCDドライバ23が表示部側筐体部3に備えられている。
FIG. 2 is a functional block diagram showing functions of the mobile phone device 1. As shown in FIG. 2, the cellular phone device 1 includes an
メインアンテナ40は、第1の使用周波数帯(例えば、800MHz)で基地局等と通信を行い、GPS通信のための第2の使用周波数帯(例えば、1.5GHz)に対応できるデュアルバンド対応構成である。なお、本実施の形態では、第1の使用周波数帯として、800MHzとしたが、これ以外の周波数帯であっても良い。また、メインアンテナ40は、第1の使用周波数帯で外部装置と通信を行い、GPS通信のための第2の使用周波数帯に対応できるアンテナを別途設けても良い。
The
RF回路部41は、メインアンテナ40によって受信した信号を復調処理し、処理後の信号を制御部45に供給する。そして、制御部45から供給された信号を変調処理し、メインアンテナ40を介して外部装置(基地局)に送信する。また、その一方で、メインアンテナ40によって受信している信号の強度を制御部45に通知する。
The
LCD制御部42は、制御部45の制御にしたがって、所定の画像処理を行い、処理後の画像データをLCDドライバ23に出力する。LCDドライバ23は、LCD制御部42から供給された画像データをフレームメモリに蓄え、所定のタイミングでLCD表示部21又はサブLCD表示部30に出力する。
音声処理部43は、制御部45の制御にしたがって、RF回路部41から供給された信号に対して所定の音声処理を行い、処理後の信号をスピーカ22に出力する。スピーカ22は、音声処理部43から供給された信号を外部に出力する。
The
The sound processing unit 43 performs predetermined sound processing on the signal supplied from the
また、音声処理部43は、制御部45の制御にしたがって、マイク12から入力された信号を処理し、処理後の信号をRF回路部41に出力する。RF回路部41は、音声処理部43から供給された信号に所定の処理を行い、処理後の信号をメインアンテナ40に出力する。
In addition, the audio processing unit 43 processes the signal input from the
メモリ44は、揮発性メモリ44a(例えば、SDRAM(Synchronous DRAM)である。)と、不揮発性メモリ44b(データ記憶部)(例えば、NAND型フラッシュメモリや、NOR型フラッシュメモリである。)を含んで構成されている。また、揮発性メモリ44aは、制御部45による演算処理に利用されるワーキングメモリとしての機能を有する。不揮発性メモリ44bは、複数のアプリケーションや当該アプリケーションが必要とする各種のテーブル等が記憶されている。また、不揮発性メモリ44bには、各種アプリケーションが記憶されている。ここで、各種アプリケーションとは、例えば、地上波デジタル放送を視聴するアプリケーション(以下、ワンセグアプリという。)A1や、メールの作成・送信・受信等を行うメールアプリケーション(以下、メールアプリという。)A2や、ランニングチェンジ等のために利用される保守アプリケーション(以下、保守アプリという。)A3が該当する。
制御部45は、携帯電話装置1の全体を制御しており、中央処理装置(CPU)等を用いて構成される。
The
The
ここで、不揮発性メモリ44bの構造について説明する。不揮発性メモリ44bは、フローティング・ゲートの絶縁部の消耗により、メモリセルの書き込みが規定時間で完了しなくなることがある。このようなブロックは、プログラムの実行を行ってもエラーとなるため、不良ブロック(バッドブロック)として以降のメモリ管理対象から除外される必要がある。また、バッドブロックが発生した時点では、そのブロックの中に有効なデータがまだ格納されている場合がある。この場合には、有効なデータを正常なブロックに移動したうえで、バッドブロックをメモリ管理対象から除外する。
Here, the structure of the
なお、NOR型フラッシュメモリは、NAND型フラッシュメモリと比較して、データ耐久性の信頼性が高いため、バッドブロックに対する対応策を図らなくても良いように思える。しかし、NOR型フラッシュメモリも不慮の事故によって、あるブロックが使用不能になることがある。よって、本実施形態では、NOR型フラッシュメモリに対しても、バッドブロックの対応策を考慮する。 It should be noted that since the NOR flash memory has higher data durability reliability than the NAND flash memory, it seems that no countermeasures against the bad block need be taken. However, a NOR type flash memory may become unusable due to an accident. Therefore, in the present embodiment, a countermeasure against a bad block is considered even for a NOR flash memory.
また、不揮発性メモリ44bに格納されているアプリケーションは、バッドブロックに対する処理も行っている。本実施形態に係る携帯電話装置1では、不揮発性メモリ44bにバッドブロックが発生しても、各アプリケーションのバッドブロックに対する処理負担を軽減しつつ、バッドブロックの発生による不具合を解消することが可能な機能を有している。
The application stored in the
ここで、上述した機能を発揮するための具体的な構成と動作について詳細に説明する。携帯電話装置1は、図2に示すように、アドレス記憶部51と、データ記憶部52と、アクセス制御部45aと、アクセス実行部45bを備える。なお、本実施の形態では、アドレス記憶部51とデータ記憶部52とは、不揮発性メモリ44bとして一体的に構成されているものとする。
Here, a specific configuration and operation for exerting the above-described functions will be described in detail. As shown in FIG. 2, the cellular phone device 1 includes an
不揮発性メモリ44bは、所定の容量で規定されるブロック単位で管理され、ブロックには固有のアドレスが付されており、データが書き込まれる複数のブロックで構成されるデータブロック領域と、当該データブロック領域のブロックが不良ブロックとなった場合に、当該不良ブロックに記憶されていたデータを代わりに記憶する複数の予備ブロックで構成される予備ブロック領域とから構成される。
The
アクセス制御部45aは、アドレスを指定することによって不揮発性メモリ44bの所定のブロックに対してアクセスを行う機能を有する。また、本実施形態では、アクセス制御部45aは、制御方式の異なる複数のアクセス制御部を一括りにした概念である。例えば、アクセス制御部45aは、OS(operation system)が完全に起動した後に利用可能なファイルシステム(file system)100と、OSが完全に起動していなくても利用可能なダウンローダ(downloader)101とにより構成されるものとして説明する。
The
揮発性メモリ44a(アドレス記憶部)は、不揮発性メモリ44bに不良ブロックが存在する場合、当該不良ブロックの先頭アドレスと、当該不良ブロックを代替する正常なブロックの先頭アドレスとが対応付けて構成されるアドレス対(アドレステーブル)ATを記憶する。
The
アクセス実行部45bは、複数のアクセス制御部45aのいずれかによって所定のアドレスが指定されて不揮発性メモリ44bの所定のブロックに対してアクセスが行われたときに、当該ブロックが不良ブロックであった場合、アドレステーブルATを参照して当該ブロックに代替する正常なブロックのアドレスを取得し、取得した当該アドレスが付されているブロックにアクセス制御部45aをアクセスさせる。
The
ここで、アクセス実行部45bの概念について説明する。アクセス実行部45bは、クライアントC(ワンセグアプリA1等の各種のアプリケーションに相当する概念)がバッドブロックを意識することなく不揮発性メモリ44bへのアクセスを実現するためのバッドブロックの管理システムを実現する。
Here, the concept of the
クライアントCは、不揮発性メモリ44bに直接アクセスする場合には、不揮発性メモリ44bのバッドブロックに対する処理を自ら実行する必要がある(図3(a)を参照)。
本実施形態に係る携帯電話装置1は、アクセス実行部45bがクライアントCと不揮発性メモリ44bとの間に介在する構成になっている。アクセス実行部45bは、クライアントCから指示されたアドレスに対応するブロックがバッドブロックの場合には、代替するブロックに対してアクセスするように適宜アドレス変換を行う。よって、クライアントCは、見かけ上、常に正常なブロック(グッドブロック)にアクセスしていると認識するので、自らバッドブロックに対する処理を実行する必要がない(図3(b)を参照)。
このようにして、携帯電話装置1では、クライアントCにバッドブロックを意識させることなく、不揮発性メモリ44bへのアクセスを実現することができる。
When the client C directly accesses the
The cellular phone device 1 according to the present embodiment is configured such that the
In this manner, the cellular phone device 1 can realize access to the
また、携帯電話装置1の構成を物理層L1、ドライバ層L2、サービス層L3及びアプリケーション層L4として表現した場合には、アクセス実行部45bは、図4に示すように、サービス層L3とドライバ層L2の中間位置に相当する。
Further, when the configuration of the cellular phone device 1 is expressed as a physical layer L1, a driver layer L2, a service layer L3, and an application layer L4, the
例えば、所定の操作によって起動されたアプリケーション層L4に属するワンセグアプリA1は、サービス層L3に属するプロトコル103と、ドライバ層L2に属するRFドライバ201を介して、物理層L1に属するメインアンテナ40を利用して地上波デジタル放送の受信を行う。また、ワンセグアプリA1は、サービス層L3に属する描画サービス部102と、ドライバ層L2に属するLCDドライバ23を介して、物理層L1に属するLCD表示部21にチューニングしたチャンネルの表示画像を表示させる。また、ワンセグアプリA1は、サービス層L3に属するファイルシステム100と、アクセス実行部45bと、ドライバ層L2に属するメモリドライバ200を介して、物理層L1に属する不揮発性メモリ44bの所定のブロックに、画像データ等を保存する。
For example, the one-segment application A1 belonging to the application layer L4 activated by a predetermined operation uses the
また、アプリケーション層L4に属する保守アプリA2は、OSの起動状態に応じて、サービス層L3に属するファイルシステム100又はダウンローダ101と、アクセス実行部45bと、ドライバ層L2に属するメモリドライバ200を介して、物理層L1に属する不揮発性メモリ44bの所定のブロックに保守データを記憶する。なお、保守アプリA2は、OSの起動状態に応じて、サービス層L3に属するファイルシステム100又はダウンローダ101を利用する。
In addition, the maintenance application A2 belonging to the application layer L4 passes through the
また、所定の操作によって起動されたアプリケーション層L4に属するメールアプリA3は、サービス層L3に属するプロトコル103と、ドライバ層L2に属するRFドライバ201を介して、物理層L1に属するメインアンテナ40を利用してメールの送受信を行う。また、メールアプリA3は、サービス層L3に属する描画サービス部102と、ドライバ層L2に属するLCDドライバ23を介して、物理層L1に属するLCD表示部21にメールの本文等を表示させる。また、メールアプリA3は、サービス層L3に属するファイルシステム100と、アクセス実行部45bと、ドライバ層L2に属するメモリドライバ200を介して、物理層L1に属する不揮発性メモリ44bの所定のブロックにメールを保存する。
The mail application A3 belonging to the application layer L4 activated by a predetermined operation uses the
また、アクセス実行部45bは、ドライバ層L2に属するメモリドライバ200を介して、不揮発性メモリ44bに格納されているアドレステーブルATを参照することにより、正常なブロックに対してアクセス制御部45aをアクセスさせる。ここで、アドレステーブルATは、例えば、図5に示すように、退避元のアドレス(バッドブロックのアドレス)と、退避先のアドレス(予備ブロックのアドレス)が関連付けられて構成される。なお、本実施形態では、アドレステーブルATは、不揮発性メモリ44bに格納されるものとして説明するが、格納場所はこれに限られない。
Further, the
また、アクセス実行部45bは、図6に示すように、電源が供給されてOSが起動するときに、不揮発性メモリ44bの所定のブロックに格納されているプログラムが揮発性メモリ44aのプログラムエリアに読み出されて展開されることによって、その機能を発揮する。また、同様に、不揮発性メモリ44bの所定のブロックに格納されているアドレステーブルATは、図6に示すように、電源が供給されてOSが起動するときに、揮発性メモリ44aのワーキングエリアにコピーされる。
Further, as shown in FIG. 6, the
また、アクセス実行部45bは、複数のアクセス制御部45aのいずれかによって所定のアドレスが指定されて不揮発性メモリ44bの所定のブロックに対してアクセスが行われたときに、当該所定のブロックに対してアクセス制御部45aをアクセスさせ、所定時間内に応答がないことを条件として、当該所定のブロックを不良ブロックであると判断する。
Further, the
ここで、不揮発性メモリ44bがNAND型フラッシュメモリにより構成される場合には、各ブロックにはデータの誤り検出をし、検出したデータの誤りを訂正する(ECC、Error Check and Correct)ためのスペア領域が存在する。よって、アクセス実行部45bは、アクセスしたブロックに対して、ECCを実行して、データの誤りを発見し、その誤りを訂正できない場合(例えば、2ビット以上の誤りがある場合)には、当該ブロックをバッドブロックと判定することができる。
Here, when the
一方、不揮発性メモリ44bがNOR型フラッシュメモリにより構成される場合には、NAND型フラッシュメモリと異なり、ECCためのスペア領域が存在しない。そこで、アクセス実行部45bは、NOR型フラッシュメモリの所定のブロックに対してアクセスを実行し、所定時間内に応答がなかった場合、すなわち、タイムアウトした場合には、アクセスしたブロックがバッドブロックであると判断する。
On the other hand, when the
このように構成されることにより、携帯電話装置1は、不揮発性メモリ44bがNAND型フラッシュメモリで構成されていても、NOR型フラッシュメモリで構成されていても、バッドブロックの判定を行うことができる。
With this configuration, the cellular phone device 1 can perform bad block determination regardless of whether the
また、携帯電話装置1は、クライアントCから指示されたアドレスに係るブロックがバッドブロックであるか否かの判定をアクセス実行部45bが行い、バッドブロックである場合には、アドレステーブルATを参照し、代替する正常なブロックのアドレスを取得し、取得した当該アドレスが付されているブロックにアクセスを実行する。
In the mobile phone device 1, the
したがって、携帯電話装置1は、クライアントCとしてのアプリケーションがバッドブロックを意識せずに、不揮発性メモリ44bに対して、データの書き込みや読み出しを効率的に行うことができる。
Therefore, the cellular phone device 1 can efficiently write and read data to and from the
次に、不揮発性メモリ44bからデータを読み出す場合及びデータを書き込む場合の処理について、図7に示すフローチャートを用いて説明する。
Next, processing for reading data from and writing data to the
ステップST1において、制御部45は、排他処理(排他ロック)を行う。なお、この処理は、OSが起動されるときのみ実行される。
In step ST1, the
ステップST2において、制御部45は、起動されたOS又はプログラムから特定のアドレスにアクセスしたいという旨の要求を受け付ける。当該要求を受け付けたら、制御部45は、特定のアドレス(ブロックアドレス)が、アドレステーブルATに記憶されているか否かを確認(チェック)する。
In step ST2, the
ステップST3において、制御部45は、ステップST2の工程において、アドレステーブルATが揮発性メモリ44aのワーキングエリアに存在するか否かを確認する。なお、揮発性メモリ44aのワーキングエリアにアドレステーブルATが存在しない場合とは、例えば、アドレステーブルATが不慮の事故等により壊れてしまった場合である。アドレステーブルATが存在しない場合(No)には、異常終了となり、ステップST11に進み、アドレステーブルATが存在する場合(Yes)には、ステップST4に進む。
In step ST3, the
ステップST4において、制御部45は、アドレステーブルATを参照することによってアクセス要求されたアドレスへページ単位でアクセスする。
In step ST4, the
ステップST5において、制御部45は、ステップST4の工程によりアクセス要求されたアドレスに基づいて正しいデータへアクセスできたか否かを確認(チェック)する。正しいデータへアクセスできた場合(Yes)には、ステップST12に進み、正しいデータへアクセスできなかった場合(No)には、ステップST6に進む。
In step ST5, the
ここで、「正しいデータへアクセスできた場合」とは、アクセス要求されたアドレスがバッドブロック上のページアドレスを指し、且つアドレステーブルATに退避先アドレスと退避元のアドレスのアドレス対が記憶されている場合をいう。この場合には、制御部45は、バッドブロックに対応した予備ブロックへ正しくアクセスできるため、正常にアクセス要求されたデータにアクセスできたとして処理を終了し、ステップST12に進む。
Here, “when the correct data is accessed” means that the address requested to access points to the page address on the bad block, and the address table AT stores the address pair of the save destination address and the save source address. If you are. In this case, since the
なお、アクセス要求されたページアドレスが示すページが存在するブロックが、バッドブロックではない正常なブロックである場合には、アドレステーブルATによるアドレス変換を行わずとも、制御部45は、正しいデータへアクセスできるため、「正しいデータへアクセスできた場合」と同様に、正常にアクセス要求されたデータにアクセスできたとして処理を終了し、ステップST12に進む。
If the block in which the page indicated by the page address requested to access is a normal block that is not a bad block, the
また、「正しいデータへアクセスできなかった場合」とは、前述した2つのパターン以外の場合、つまり、正常なブロックのページのアドレスだと思ってアクセスしてみたら、アクセス先のブロックがバッドブロックになっていた場合をいう。また、換言すれば、「正しいデータへアクセスできなかった場合」とは、アクセスしてみたら新たにバッドブロック生じていた場合をいう。 In addition, the case where “correct data could not be accessed” refers to cases other than the two patterns described above, that is, if access is performed assuming that the page address is a normal block, the accessed block is a bad block. This is the case. In other words, “when the correct data could not be accessed” refers to a case where a new bad block has occurred when accessed.
ステップST6において、制御部45は、アクセスしたページがバッドブロックの先頭ページであるかどうかを確認する。アクセスしたページがバッドブロックの先頭ページであった場合(Yes)には、ステップST7に進み、アクセスしたページがバッドブロックの先頭ページではなかった場合(No)には、ステップST8に進む。
In step ST6, the
ステップST7において、制御部45は、新たな予備ブロックを確保する。そして、制御部45は、確保された予備ブロックのアドレスとバッドブロックのアドレスとを、それぞれ退避先アドレスと退避元アドレスとしてアドレス対を作成し、アドレステーブルATに記憶する。
In step ST7, the
また、ステップST8において、制御部45は、新たな予備ブロックを確保する。そして、制御部45は、確保された予備ブロックに、バッドブロックの中身のデータをコピーする。そして、制御部45は、確保された予備ブロックのアドレスとバッドブロックのアドレスとを、それぞれ退避先アドレスと退避元アドレスとしてアドレス対を作成し、アドレステーブルATに記憶する。
In step ST8, the
ここで、ステップST6の工程における「アクセスしたページがバッドブロックの先頭ページではなかった場合」とは、すでにバッドブロックには、いくつかのデータが書き込まれている場合を意味する。したがって、ステップST7の工程のように、バッドブロックのアドレスだけを抽出してアドレステーブルATに加えるだけでは、バッドブロックに既に書き込まれていたデータが使えなくなってしまう。 Here, “when the accessed page is not the first page of the bad block” in the process of step ST6 means that some data has already been written in the bad block. Therefore, if only the address of the bad block is extracted and added to the address table AT as in the step ST7, the data already written in the bad block cannot be used.
よって、アクセスしたページがバッドブロックの先頭ページではなかった場合には、制御部45は、新たな予備ブロックを確保し、確保された予備ブロックに、バッドブロックの中身のデータをコピーし、確保された予備ブロックのアドレスとバッドブロックのアドレスとを、それぞれ退避先アドレスと退避元アドレスとしてアドレス対を作成し、アドレステーブルATに記憶する。
Therefore, when the accessed page is not the first page of the bad block, the
また、ステップST9において、制御部45は、ステップST7の工程又はステップST8の工程の処理が成功(正常に終了)したか否かを確認する。処理が正常に終了していない場合(No)には、ステップST3の工程の「アドレステーブルATが存在しない場合(No)」と同様に、ステップST11に進み、処理が正常に終了した場合(Yes)には、ステップST10に進む。
なお、ステップST5の工程により、正しいデータへアクセスできなかった場合から、後述するステップS10の工程までの一連の処理が、新たにバッドブロックが見つかったときの処理となる。
In step ST9, the
Note that a series of processes from the case where correct data cannot be accessed through the process of step ST5 to the process of step S10 described later is a process when a new bad block is found.
ステップST10において、制御部45は、新たに確保した予備ブロックがバッドブロックであるか否かを判定する。新たに確保した予備ブロックがバッドブロックである場合(Yes)には、ステップST2へ戻り、新たに確保した予備ブロックがバッドブロックではない場合(No)、すなわち、バッドブロックの退避先の予備ブロックが正常なブロックであった場合には、ステップST12に進む。
In step ST10, the
ここで、制御部45は、新たに確保した予備ブロックがバッドブロックであったならば(Yes)、当該予備ブロックの退避先である予備ブロック(すなわち、予備ブロックに対する予備ブロック)を新たに作成しなければならない。よって、制御部45は、ステップST10の工程により新たに確保した予備ブロックがバッドブロックである場合(Yes)には、ステップST2へ戻り、予備ブロックに対する予備ブロックの確保、又はアドレステーブルATへの追記等を行う。なお、この予備ブロックに対する予備ブロックを確保する動作は、際限なく繰り返すのではなく、仕様で最大値(例えば42回)を設定しても良い。
Here, if the newly secured spare block is a bad block (Yes), the
また、ステップST11において、制御部45は、ステップST3の工程により、アドレステーブルATが存在しないと判断された場合、又はステップST9の工程により、処理が正常に終了していないと判断された場合には、異常終了となり、エラーコードを設定して処理を終了する。
In step ST11, the
ステップST12においては、制御部45は、ステップST1の工程により排他ロックが行われていた場合には、当該排他ロックを解除する。
In step ST12, the
ここで、携帯電話装置1により発揮される主な効果について以下に列挙する。
1.携帯電話装置1では、不揮発性メモリ44b(NAND型フラッシュメモリ等)のバッドブロックを擬似的に上位システム(アプリケーション層L4)に対して意識させないようにすることができる。このことにより、上位システム(アプリケーション層L4)は、領域を分ける毎に1領域に全てのバッドブロックが存在することを想定する処理が不要となる。
2.従来の携帯電話装置では、サービス層L3に属するファイルシステムが直接不揮発性メモリにアクセスするため、対応するドライバを包含する必要があったが、本実施形態に係る携帯電話装置1は、アクセス実行部45bを備えるので、サービス層L3に属するファイルシステム自身が直接不揮発性メモリ44bにアクセスしない。よって、携帯電話装置1では、サービス層L3に属するファイルシステムを自由に設計することができる。
3.携帯電話装置1は、NOR型フラッシュメモリでは実現できていたROMライターにおけるファイルシステムのメモリ単体への書き込みを、NAND型フラッシュメモリに対しても可能とした。
Here, the main effects exhibited by the mobile phone device 1 are listed below.
1. In the cellular phone device 1, it is possible to make the bad block of the
2. In the conventional mobile phone device, since the file system belonging to the service layer L3 directly accesses the nonvolatile memory, it is necessary to include a corresponding driver. However, the mobile phone device 1 according to the present embodiment includes an access execution unit. The file system itself belonging to the service layer L3 does not directly access the
3. The cellular phone device 1 enables writing to a single memory of a file system in a ROM writer, which has been realized with a NOR flash memory, also with respect to a NAND flash memory.
1 携帯電話装置
44 メモリ
44a 揮発性メモリ
44b 不揮発性メモリ
45 制御部
45a アクセス制御部
45b アクセス実行部
51 アドレス記憶部
52 データ記憶部
1
Claims (3)
それぞれの制御方式にしたがって、アドレスを指定することによって前記データ記憶部の所定のブロックに対してアクセスを行う複数のアクセス制御部と、
前記データ記憶部に不良ブロックが存在する場合、当該不良ブロックの先頭アドレスと、当該不良ブロックを代替する正常なブロックの先頭アドレスとが対応付けて構成されるアドレス対を記憶するアドレス記憶部と、
前記複数のアクセス制御部のいずれかによって所定のアドレスが指定されて前記データ記憶部の所定のブロックに対してアクセスが行われたときに、当該ブロックが不良ブロックであった場合、前記アドレス対を参照して当該不良ブロックに代替する正常なブロックのアドレスを取得し、取得した当該アドレスが付されているブロックに前記アクセス制御部をアクセスさせるアクセス実行部を備える電子機器。 A data storage unit composed of a plurality of blocks defined by a predetermined capacity, to which a unique address is attached;
According to each control method, a plurality of access control units that access a predetermined block of the data storage unit by designating an address;
When there is a defective block in the data storage unit, an address storage unit that stores an address pair configured by associating a leading address of the defective block with a leading address of a normal block that replaces the defective block;
When a predetermined address is designated by any of the plurality of access control units and a predetermined block of the data storage unit is accessed, if the block is a bad block, the address pair is An electronic apparatus comprising an access execution unit that refers to obtain an address of a normal block that substitutes for the defective block, and causes the access control unit to access the block to which the obtained address is attached.
前記アクセス実行部は、前記複数のアクセス制御部のいずれかによって所定のアドレスが指定されて前記データ記憶部の所定のブロックに対してアクセスが行われたときに、当該所定のブロックに対して前記アクセス制御部をアクセスさせ、前記アクセス制御部にアクセスさせてから、所定時間内に応答がないことを条件として、当該所定のブロックを不良ブロックであると判断する電子機器。 The electronic device according to claim 1,
The access execution unit is configured to access the predetermined block when a predetermined address is specified by any of the plurality of access control units and a predetermined block of the data storage unit is accessed. An electronic device that accesses an access control unit and determines that the predetermined block is a bad block on condition that no response is received within a predetermined time after the access control unit is accessed.
前記データ記憶部は、前記複数のブロックで構成されるデータブロック領域と、当該データブロック領域のブロックが不良ブロックとなった場合に、当該不良ブロックに記憶されていたデータを代替して記憶する複数の予備ブロックで構成される予備ブロック領域とから構成される不揮発性メモリである電子機器。 The electronic device according to claim 1,
The data storage unit stores a data block area composed of the plurality of blocks and data stored in the defective block instead of the data block area when the block in the data block area becomes a defective block. An electronic device which is a non-volatile memory composed of a spare block area composed of spare blocks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016067A JP5474588B2 (en) | 2010-01-27 | 2010-01-27 | Electronics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016067A JP5474588B2 (en) | 2010-01-27 | 2010-01-27 | Electronics |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011154572A true JP2011154572A (en) | 2011-08-11 |
JP5474588B2 JP5474588B2 (en) | 2014-04-16 |
Family
ID=44540475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010016067A Active JP5474588B2 (en) | 2010-01-27 | 2010-01-27 | Electronics |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5474588B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544112A (en) * | 2013-10-17 | 2014-01-29 | Tcl通讯(宁波)有限公司 | Mobile terminal and memory bad-block processing method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0729392A (en) * | 1993-06-24 | 1995-01-31 | Toshiba Corp | Nonvolatile semiconductor memory and semiconductor disk device using the same |
JP2000122935A (en) * | 1998-10-20 | 2000-04-28 | Sanyo Electric Co Ltd | Address converting device for nonvolatile memory |
JP2006048893A (en) * | 2004-08-04 | 2006-02-16 | Samsung Electronics Co Ltd | Flash memory device with defective block managing function and defective block managing method of the same |
JP2008046923A (en) * | 2006-08-17 | 2008-02-28 | Toshiba Corp | Method of controlling semiconductor memory card system |
JP2011154548A (en) * | 2010-01-27 | 2011-08-11 | Kyocera Corp | Storage device |
-
2010
- 2010-01-27 JP JP2010016067A patent/JP5474588B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0729392A (en) * | 1993-06-24 | 1995-01-31 | Toshiba Corp | Nonvolatile semiconductor memory and semiconductor disk device using the same |
JP2000122935A (en) * | 1998-10-20 | 2000-04-28 | Sanyo Electric Co Ltd | Address converting device for nonvolatile memory |
JP2006048893A (en) * | 2004-08-04 | 2006-02-16 | Samsung Electronics Co Ltd | Flash memory device with defective block managing function and defective block managing method of the same |
JP2008046923A (en) * | 2006-08-17 | 2008-02-28 | Toshiba Corp | Method of controlling semiconductor memory card system |
JP2011154548A (en) * | 2010-01-27 | 2011-08-11 | Kyocera Corp | Storage device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544112A (en) * | 2013-10-17 | 2014-01-29 | Tcl通讯(宁波)有限公司 | Mobile terminal and memory bad-block processing method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP5474588B2 (en) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100393619B1 (en) | Memory apparatus and therefor controling method for mobile station | |
US9298444B2 (en) | Software updating method and portable terminal device | |
US7139199B2 (en) | Flash memory file system with transacted operations | |
CN101026848B (en) | Mobile terminal and software update method | |
US20060069849A1 (en) | Methods and apparatus to update information in a memory | |
US20060075284A1 (en) | Method for over-the-air firmware update of NAND flash memory based mobile devices | |
JP2008040701A (en) | Memory management method and portable terminal equipment | |
JP5011738B2 (en) | IC card, program | |
JP2007189332A (en) | Software update method and mobile terminal | |
JP5474588B2 (en) | Electronics | |
JP2009009391A (en) | Updating software self-update method and portable terminal device | |
KR100606052B1 (en) | System and method for recovering data error of mobile terminal | |
JP2011154548A (en) | Storage device | |
US7210002B2 (en) | System and method for operating dual bank read-while-write flash | |
JP2009134672A (en) | Memory management method and portable terminal equipment | |
US8706954B2 (en) | Memory management apparatus and memory management method | |
KR100743253B1 (en) | Method and apparatus for correcting code data error | |
JP2011175428A (en) | Storage device | |
JP5275103B2 (en) | Electronics | |
JP5275105B2 (en) | Electronics | |
JP2012226619A (en) | Portable terminal device, storage control method, and storage control program | |
KR100743252B1 (en) | Method and apparatus for correcting code data error | |
KR100575927B1 (en) | Method for booting the nand flash memory using multi boot loader in mobile station | |
JP5478090B2 (en) | Electronics | |
JP2011175449A (en) | Storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120803 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
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: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5474588 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |