JP2010146226A - Information processor - Google Patents

Information processor Download PDF

Info

Publication number
JP2010146226A
JP2010146226A JP2008321831A JP2008321831A JP2010146226A JP 2010146226 A JP2010146226 A JP 2010146226A JP 2008321831 A JP2008321831 A JP 2008321831A JP 2008321831 A JP2008321831 A JP 2008321831A JP 2010146226 A JP2010146226 A JP 2010146226A
Authority
JP
Japan
Prior art keywords
error correction
correction code
volatile memory
information processing
error
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.)
Withdrawn
Application number
JP2008321831A
Other languages
Japanese (ja)
Inventor
Takashi Kobayashi
小林  隆
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data 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 Oki Data Corp filed Critical Oki Data Corp
Priority to JP2008321831A priority Critical patent/JP2010146226A/en
Publication of JP2010146226A publication Critical patent/JP2010146226A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it is not possible to specify which memory causes an error in developing the program of a flash memory to an RAM for use. <P>SOLUTION: An information processor 10 includes: a flash memory 25 for storing a program code and a first error correction code for correcting the reading error of the program code; an RAM 26 for storing the program code and the first correction code read from the memory 25; and a CPU 21 for executing a program code stored in the RAM 26. The CPU 21 includes: an error code calculation function for calculating a second error correction code on the basis of the program code stored in the RAM 26; and a determination function for determining the presence/absence of the storage failure of the memory 25 and the RAM 26 on the basis of the first error correction code stored in the RAM 26 and a second error correction code calculated by the error correction code calculation part. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、フラッシュメモリ等の不揮発性メモリとランダム・アクセス・メモリ(以下「RAM」という。)等の揮発性メモリとを有する画像処理装置等の情報処理装置に関するものである。   The present invention relates to an information processing apparatus such as an image processing apparatus having a nonvolatile memory such as a flash memory and a volatile memory such as a random access memory (hereinafter referred to as “RAM”).

一般に画像処理装置等の情報処理装置におけるメモリシステム部は、揮発性メモリ(例えば、RAM)と不揮発性メモリを組み合わせて構成されている。揮発性メモリは一時的なデータの格納に使用され、不揮発性メモリは恒久的なデータやプログラムの保管に使用される。   In general, a memory system unit in an information processing apparatus such as an image processing apparatus is configured by combining a volatile memory (for example, a RAM) and a nonvolatile memory. Volatile memory is used to store temporary data, and non-volatile memory is used to store permanent data and programs.

以前は不揮発性メモリとして例えばマスク型のリード・オンリ・メモリ(以下「ROM」という。)等を使うことが主流であったが、最近ではビット当たりの単価の安いNAND型FLASH・MEMORY(フラッシュメモリ)(以下「NANDフラッシュ」という。)が使われることが多くなってきた。   Previously, for example, a mask-type read-only memory (hereinafter referred to as “ROM”) or the like was mainly used as a nonvolatile memory, but recently, a NAND-type FLASH MEMORY (flash memory) having a low unit price per bit. ) (Hereinafter referred to as “NAND flash”) has been increasingly used.

NANDフラッシュは、不揮発性メモリであるNOR型フラッシュメモリ(以下「NORフラッシュ」という。)等と比べ、回路規模を小さくすることが可能であり、ビット当たりの単価が安く、大きなサイズのプログラムを格納するのに適している。その反面、読み出し時間が長く、高速動作に向いていない。又、ビット落ちエラーが発生するため、使用に際しては誤り訂正回路やプログラムを使い、一旦揮発性メモリに展開してから使用するのが一般的な使用方法である。   Compared with NOR flash memory (hereinafter referred to as “NOR flash”), which is a non-volatile memory, NAND flash can reduce the circuit scale, has a lower unit price per bit, and stores a large program. Suitable for doing. On the other hand, the reading time is long and not suitable for high-speed operation. In addition, since a bit drop error occurs, it is a general usage method to use an error correction circuit or a program after developing it in a volatile memory.

このようなメモリシステム部にとって特に重要な点は、プログラムの展開に先立ち、揮発性メモリのチェックを行い、プログラムの展開先のメモリを検証することである。もし、展開先のメモリが故障したまま使用すると、装置の動作が停止してしまう等の不具合を引き起こす原因になる。   A particularly important point for such a memory system unit is to check the volatile memory and verify the program development destination memory prior to program development. If the memory at the deployment destination is used with a failure, it causes a malfunction such as the operation of the apparatus being stopped.

このような技術に関連して、例えば、下記の特許文献1に、不揮発性メモリのデータチェック方法が開示されている。   In relation to such a technique, for example, the following Patent Document 1 discloses a data check method for a nonvolatile memory.

特開2000−285032号公報JP 2000-285032 A

しかしながら、従来の情報処理装置では、装置の安定を計るために、揮発性メモリのチェックを行ってから、プログラムの展開を行っているが、そのチェックの際に、不良(エラー)の原因が不揮発性メモリにあるのか、揮発性メモリにあるのか、特定できないので、保守点検等を行う際に不利不便であった。   However, in the conventional information processing apparatus, in order to measure the stability of the apparatus, the volatile memory is checked and then the program is expanded. However, at the time of the check, the cause of the defect (error) is nonvolatile. Since it is not possible to specify whether it is in the volatile memory or in the volatile memory, it is disadvantageous and inconvenient when performing maintenance and inspection.

本発明の情報処理装置は、プログラムコードと前記プログラムコードの読み出し誤りを訂正するための第1の誤り訂正符号とを記憶する不揮発性メモリと、前記不揮発性メモリから読み出された前記プログラムコード及び前記第1の誤り訂正符号を記憶する揮発性メモリと、前記揮発性メモリに記憶された前記プログラムコードを実行する実行ユニットとを備えた情報処理装置であって、前記揮発性メモリに記憶された前記プログラムコードに基づいて第2の誤り訂正符号を算出する誤り訂正符号算出部と、前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とに基づいて前記不揮発性メモリ及び前記揮発性メモリの記憶不良の有無を判定する判定部とを備えたことを特徴とする。   An information processing apparatus according to the present invention includes a nonvolatile memory that stores a program code and a first error correction code for correcting a reading error of the program code, the program code read from the nonvolatile memory, and An information processing apparatus comprising: a volatile memory that stores the first error correction code; and an execution unit that executes the program code stored in the volatile memory, the information processing apparatus being stored in the volatile memory An error correction code calculation unit that calculates a second error correction code based on the program code; the first error correction code stored in the volatile memory; and the error correction code calculation unit that is calculated by the error correction code calculation unit. And a determination unit that determines whether or not there is a storage failure in the nonvolatile memory and the volatile memory based on the error correction code of 2. And butterflies.

本発明の他の情報処理装置は、圧縮されたプログラムコードと前記プログラムコードの読み出し誤りを訂正するための圧縮された第1の誤り訂正符号とを記憶する不揮発性メモリと、前記不揮発性メモリから読み出された前記プログラムコード及び前記第1の誤り訂正符号を伸張する伸張手段と、前記伸張手段により伸張された前記プログラムコード及び前記第1の誤り訂正符号を記憶する揮発性メモリと、前記揮発性メモリに記憶された前記プログラムコードを実行する実行ユニットとを備えた情報処理装置であって、前記揮発性メモリに記憶された前記プログラムコードに基づいて第2の誤り訂正符号を算出する誤り訂正符号算出部と、前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とに基づいて前記不揮発性メモリ及び前記揮発性メモリの記憶不良の有無を判定する判定部とを備えたことを特徴とする。   Another information processing apparatus according to the present invention includes a nonvolatile memory that stores a compressed program code and a compressed first error correction code for correcting a read error of the program code, and the nonvolatile memory. Expansion means for expanding the read program code and the first error correction code; Volatile memory for storing the program code and the first error correction code expanded by the expansion means; And an execution unit that executes the program code stored in the volatile memory, wherein the error correction calculates a second error correction code based on the program code stored in the volatile memory Calculated by a code calculation unit, the first error correction code stored in the volatile memory, and the error correction code calculation unit Serial based on the second error correction code, characterized by comprising a determining unit whether the storage failure of the nonvolatile memory and the volatile memory.

本発明の情報処理装置によれば、揮発性メモリのチェックと不揮発性メモリのチェックを同時に行っているので、従来のように不揮発性メモリのデータを展開する前に揮発性メモリのチェックを行う必要がない。そのため、情報処理装置の起動時間を短縮できる。しかも、不揮発性メモリと揮発性メモリとに記憶されたプログラムの不一致が発生した場合、そのいずれのメモリのエラーなのかを的確に見分けることができる。   According to the information processing apparatus of the present invention, since the volatile memory check and the non-volatile memory check are performed at the same time, it is necessary to check the volatile memory before expanding the data in the non-volatile memory as in the prior art. There is no. Therefore, the startup time of the information processing apparatus can be shortened. Moreover, when a mismatch between the programs stored in the non-volatile memory and the volatile memory occurs, it is possible to accurately identify which memory error has occurred.

本発明の他の情報処理装置によれば、圧縮した状態でプログラムを記憶することができ、前記発明とほぼ同様の効果がある。   According to another information processing apparatus of the present invention, it is possible to store a program in a compressed state, and there are almost the same effects as the above-described invention.

本発明を実施するための最良の形態は、以下の好ましい実施例の説明を添付図面と照らし合わせて読むと、明らかになるであろう。但し、図面はもっぱら解説のためのものであって、本発明の範囲を限定するものではない。   The best mode for carrying out the invention will become apparent from the following description of the preferred embodiments when read in conjunction with the accompanying drawings. However, the drawings are only for explanation and do not limit the scope of the present invention.

(実施例1の構成)
図1は、本発明の実施例1における情報処理装置の概略を示す構成図である。この図1には、情報処理装置の一例として、印刷装置を有する画像処理装置の構成図が示されている。
(Configuration of Example 1)
FIG. 1 is a configuration diagram illustrating an outline of an information processing apparatus according to the first embodiment of the present invention. FIG. 1 shows a configuration diagram of an image processing apparatus having a printing apparatus as an example of an information processing apparatus.

本実施例1の情報処理装置10は、例えば、ホストコンピュータに接続されている。ホストコンピュータは、例えば、USB規格のインタフェース(以下「I/F」という。)やセントロニクスI/F等を装備したパーソナルコンピュータ(以下「PC」という。)1により構成され、このPC1に対し、USBI/Fケーブル等のケーブル2を介して本実施例1の情報処理装置10が接続されている。   The information processing apparatus 10 according to the first embodiment is connected to, for example, a host computer. The host computer is composed of, for example, a USB standard interface (hereinafter referred to as “I / F”), a personal computer (hereinafter referred to as “PC”) 1 equipped with a Centronics I / F, and the like. The information processing apparatus 10 of the first embodiment is connected via a cable 2 such as a / F cable.

情報処理装置10は、PC1の出力する画像情報を受信して画素データを生成し、内部の印刷装置30に出力する装置であり、PC1に接続されたUSB規格等のI/F回路11を有している。I/F回路11にはメモリシステム部20が接続され、このメモリシステム部20に対し、バッファメモリ[例えば、ファーストイン・ファーストアウト・メモリ(以下「FIFO回路」という。)]12を介して、印刷装置30が接続されている。   The information processing device 10 is a device that receives image information output from the PC 1, generates pixel data, and outputs the pixel data to the internal printing device 30, and has an I / F circuit 11 such as a USB standard connected to the PC 1. is doing. A memory system unit 20 is connected to the I / F circuit 11, and a buffer memory [for example, a first-in first-out memory (hereinafter referred to as “FIFO circuit”)] 12 is connected to the memory system unit 20. A printing device 30 is connected.

メモリシステム部20は、I/F回路11に接続された中央処理装置(以下「CPU」という。)21を有している。CPU21は、例えば、32ビット(bit)、500MHzの実行速度を有しており、これにはCPUバス22を介して、メモリコントローラ23が接続されている。メモリコントローラ23は、CPU21からのデータ要求に基づき、指定されたアドレスに対応するデバイス(装置)を選択し、それに適したタイミングシーケンスでデータを取り込み、CPU21に返答するものであり、これには、プログラム等を記憶するメモリ(例えば、不揮発性メモリであるNORフラッシュ)24、データ等を記憶するメモリ(例えば、不揮発性メモリであるNANDフラッシュ)25、及びデータ等を記憶する揮発性メモリ(例えば、RAM)26が接続されている。   The memory system unit 20 includes a central processing unit (hereinafter referred to as “CPU”) 21 connected to the I / F circuit 11. The CPU 21 has, for example, an execution speed of 32 bits (bit) and 500 MHz, and a memory controller 23 is connected to the CPU 21 via the CPU bus 22. The memory controller 23 selects a device (apparatus) corresponding to a designated address based on a data request from the CPU 21, fetches data in a timing sequence suitable for the device, and returns the data to the CPU 21. Memory (for example, NOR flash which is a nonvolatile memory) 24 for storing programs, memory (for example, NAND flash which is nonvolatile memory) 25 for storing data, and volatile memory (for example, NAND flash which is nonvolatile memory) RAM) 26 is connected.

NORフラッシュ24は、指定のアドレスにより直接データを読み出すことができ(即ち、データの読み出しがRAMと同様にアドレス指定によるアクセスができ、コードをRAMにコピーすることなく直接実行することが可能であり)、メモリシステム部20の初期プログラムを格納しており、起動はここからプログラムを実行する。データの書き込みについては、一度ブロック単位で消去した後、書き込む。データの信頼性にも優れ、NANDフラッシュ25では必要なエラー訂正が不要であるが、NANDフラッシュ25に比べて集積度が劣り、書き込みが遅い等の欠点がある。   The NOR flash 24 can directly read data by a specified address (that is, the data can be read by addressing like a RAM, and can be directly executed without copying the code to the RAM. ), An initial program of the memory system unit 20 is stored, and the program is executed from here for activation. Data is written after erasing in units of blocks. Data reliability is also excellent, and the NAND flash 25 does not require necessary error correction. However, the NAND flash 25 has disadvantages such as poor integration and slow writing.

NANDフラッシュ25は、読み出し方法が、ブロック番号を指定してデータを読み出す。即ち、ページと呼ばれる複数ビット単位でデータを読み出す(書き込みも同様である)。消去は、ブロックと呼ばれるページを複数で一まとめにした単位で一括して行われる。又、リテンションエラー(retention、保持エラー)が発生するため、データ書き込み時にページ内の誤り訂正コード(パリティ)を演算して冗長エリアにこの誤り訂正コードを書き込んでおき、データの読み出し時に一旦、揮発性メモリ(例えば、RAM)26に展開し、誤り検出及び訂正(Error Checking and Correction、以下「ECC」という。)を行う必要がある。   The NAND flash 25 reads data by specifying a block number as a read method. That is, data is read in units of a plurality of bits called pages (the same applies to writing). Erasing is performed collectively in units of a plurality of pages called blocks. In addition, since a retention error occurs, the error correction code (parity) in the page is calculated when writing data, and this error correction code is written in the redundant area. It is necessary to develop the error memory and the error (Error Checking and Correction (hereinafter referred to as “ECC”)) in the memory 26 (for example, RAM).

CPUバス22に接続されたRAM26及びFIFO回路12の内、RAM26に記憶されたプログラムコードは、実行ユニットであるCPU21により実行される。FIFO回路12は、ラスタライズ(raster size)された画像データを一旦格納し、印刷装置30の速度に同期して送信するための回路であり、この出力端子に、印刷装置30の露光器が接続されている。   Of the RAM 26 and the FIFO circuit 12 connected to the CPU bus 22, the program code stored in the RAM 26 is executed by the CPU 21, which is an execution unit. The FIFO circuit 12 is a circuit for temporarily storing rasterized image data and transmitting it in synchronism with the speed of the printing apparatus 30. An exposure device of the printing apparatus 30 is connected to this output terminal. ing.

印刷装置30は、FIFO回路12から画像データが入力されると、紙等の印刷媒体上に画像を形成する装置である。この印刷装置30は、電子写真法、インパクト力、インクの噴射等により、トナーやインクを印刷媒体上に転写及び定着させるものであれば、何れの方法であっても良いが、一例として、電子写真法を用いたもので説明する。   The printing apparatus 30 is an apparatus that forms an image on a printing medium such as paper when image data is input from the FIFO circuit 12. The printing apparatus 30 may be any method as long as it can transfer and fix toner and ink on a printing medium by electrophotography, impact force, ink ejection, and the like. This will be explained using the photographic method.

図2は、図1中のメモリシステム部20を示す機能ブロック図である。
NANDフラッシュ25は、複数(#=0〜n)の物理ページ♯25aと、これに付随する複数(0’〜n’)の冗長エリア25bとにより構成されている。例えば、物理ページ#25aは512バイト(byte)、冗長エリア25bは16byteの容量をそれぞれ持つ。NANDフラッシュ25全体では、16384個の物理ページ25aと、これに付随する冗長エリア25bが備わっている。NANDフラッシュ25に記憶されるプログラムは、512byte毎に区切り、若い番号のページから順に書き込まれている。書き込みはROMライタ等を使って行われる。冗長エリア25bには、1ページのECCコードと論理ブロック番号が記録されている。ECCコードは、本来のデータである情報ビットから、誤り訂正に用いるチェックビットを抽出したものである。512byteの情報ビットから誤り2bitの検出と誤り1bitの訂正を行うには、18bit、約3byteが必要となる。これらを物理ページ25aに付随する冗長エリア25bに記憶することによって、誤りの検出だけではなく、誤りの訂正が可能になる。
FIG. 2 is a functional block diagram showing the memory system unit 20 in FIG.
The NAND flash 25 is composed of a plurality (# = 0 to n) physical pages # 25a and a plurality (0 ′ to n ′) redundant areas 25b associated therewith. For example, the physical page # 25a has a capacity of 512 bytes (bytes), and the redundant area 25b has a capacity of 16 bytes. The NAND flash 25 as a whole has 16384 physical pages 25a and a redundant area 25b associated therewith. The program stored in the NAND flash 25 is written every 512 bytes and written in order from the lowest numbered page. Writing is performed using a ROM writer or the like. One page of ECC code and logical block number are recorded in the redundant area 25b. The ECC code is obtained by extracting check bits used for error correction from information bits that are original data. In order to detect 2 bits of error and correct 1 bit of error from 512 bytes of information bits, 18 bits and about 3 bytes are required. By storing these in the redundant area 25b associated with the physical page 25a, not only error detection but also error correction becomes possible.

RAM26は、複数(#=0〜n)の論理ページ♯26aと、ECCテーブル26bとを有し、全体で例えば256Mbyteの容量を持つ。任意の番地にECCコードエリアがある。ECCコードエリアは、展開されたページ毎に冗長エリア25bのECCコード3byteと物理ページ番号2byteが組み合わされて書かれている。この領域(即ち、ECCテーブル)26bは、48Kbyteの容量が確保されている。   The RAM 26 includes a plurality (# = 0 to n) of logical pages # 26a and an ECC table 26b, and has a capacity of, for example, 256 Mbytes as a whole. There is an ECC code area at an arbitrary address. The ECC code area is written by combining the ECC code 3 bytes of the redundant area 25b and the physical page number 2 bytes for each expanded page. The area (ie, ECC table) 26b has a capacity of 48 Kbytes.

RAM26の出力側には、CPU21の機能である誤り訂正符号算出部(例えば、訂正コード計算手段)21a、及び判定部(例えば、訂正コード比較手段)21bが接続されている。訂正コード計算手段21aは、RAM26に記憶されたプログラムコードに基づいて第2の誤り訂正符号(誤り訂正コード)を算出するものであり、CPU21が後述のフローチャートにより論理ページ♯26aの情報ビットからECCコードを計算する機能を表したものである。   On the output side of the RAM 26, an error correction code calculation unit (for example, correction code calculation unit) 21a and a determination unit (for example, correction code comparison unit) 21b, which are functions of the CPU 21, are connected. The correction code calculation means 21a calculates a second error correction code (error correction code) based on the program code stored in the RAM 26. The CPU 21 calculates the ECC from the information bits of the logical page # 26a according to the flowchart described later. It represents the function that calculates the code.

訂正コード比較手段21bは、RAM26に記憶された第1の誤り訂正コードと、訂正コード計算手段21aにより算出された第2の誤り訂正コードとに基づいて、NANDフラッシュ25及びRAM26の記憶不良の有無を判定するものであり、CPU21が後述のフローチャートにより論理ページ♯26aから計算したECCコード3byteと、ECCテーブル26bに記憶されたECCコード3byteとの、数値比較等を行う機能を表したものである。   Based on the first error correction code stored in the RAM 26 and the second error correction code calculated by the correction code calculation means 21a, the correction code comparison means 21b determines whether or not there is a storage defect in the NAND flash 25 and the RAM 26. The CPU 21 represents a function for performing numerical comparison or the like between the ECC code 3 bytes calculated from the logical page # 26a and the ECC code 3 bytes stored in the ECC table 26b according to the flowchart described later. .

図3は、図1中の印刷装置30を示す概略の構成図である。
印刷装置30は、例えば、電子写真法を用いて紙等の印刷媒体31上に印刷する装置であり、感光ドラム32を有している。感光ドラム32の周囲には、帯電器33、露光器34、現像器35、及び転写器36が配置され、更に、転写器36の排出側に、定着器37が配置されている。
FIG. 3 is a schematic configuration diagram showing the printing apparatus 30 in FIG.
The printing apparatus 30 is an apparatus that prints on a printing medium 31 such as paper using electrophotography, and includes a photosensitive drum 32. Around the photosensitive drum 32, a charger 33, an exposure device 34, a developing device 35, and a transfer device 36 are disposed, and a fixing device 37 is disposed on the discharge side of the transfer device 36.

帯電器33は、感光ドラム32の表面を一様に帯電させる装置である。露光器34は、一様に帯電された感光ドラム32の表面を選択的に露光し、感光ドラム32の表面に静電潜像を形成する装置であり、単一の光源を回転するミラー等により走査するレーザスキャナや、複数の光源を備えた発光素子(LED)アレイ等により構成されている。現像器35は、露光器34により形成された静電潜像にトナーを付着させて現像する装置である。転写器36は、現像されたトナー像を紙等の印刷媒体31に転写する装置である。更に、定着器37は、印刷媒体31に転写されたトナー像を熱や圧力により印刷媒体31に定着させる装置である。   The charger 33 is a device that uniformly charges the surface of the photosensitive drum 32. The exposure device 34 is a device that selectively exposes the uniformly charged surface of the photosensitive drum 32 to form an electrostatic latent image on the surface of the photosensitive drum 32, and includes a mirror that rotates a single light source. A scanning laser scanner, a light emitting element (LED) array having a plurality of light sources, and the like are used. The developing device 35 is a device that develops the toner by attaching the toner to the electrostatic latent image formed by the exposure device 34. The transfer device 36 is a device that transfers the developed toner image to a print medium 31 such as paper. Further, the fixing device 37 is a device that fixes the toner image transferred to the printing medium 31 to the printing medium 31 by heat or pressure.

このように構成される印刷装置30では、FIFO回路12から入力された画素データに基づき、帯電器33によって一様に帯電された感光ドラム32の表面を、露光器34により選択的に露光して静電潜像を形成する。その後、現像器35、転写器36、及び定着器37により印刷媒体31上に画像が形成される。   In the printing apparatus 30 configured as described above, the surface of the photosensitive drum 32 uniformly charged by the charger 33 is selectively exposed by the exposure unit 34 based on the pixel data input from the FIFO circuit 12. An electrostatic latent image is formed. Thereafter, an image is formed on the print medium 31 by the developing device 35, the transfer device 36, and the fixing device 37.

図4は、図2中のNANDフラッシュ25内における冗長エリア25bのデータ構造を示す図である。   FIG. 4 is a diagram showing a data structure of the redundant area 25b in the NAND flash 25 in FIG.

冗長エリア25bにおいて、最初の4byteは論理ページ番号が記憶され、次の3byteはECCコードが記憶され、残りの9byteはナル(Null)コードが記憶される。   In the redundant area 25b, a logical page number is stored in the first 4 bytes, an ECC code is stored in the next 3 bytes, and a null code is stored in the remaining 9 bytes.

図5は、図2中のRAM26内におけるECCテーブル26bの1ページ分のデータ構造を示す図である。   FIG. 5 is a diagram showing a data structure for one page of the ECC table 26b in the RAM 26 in FIG.

ECCテーブル26bにおいて、最初の4byteはNANDフラッシュ25の物理ページ番号が記憶され、次の3byteはECCコードが記憶され、残りの9byteはNullコードが記憶される。   In the ECC table 26b, the physical page number of the NAND flash 25 is stored in the first 4 bytes, the ECC code is stored in the next 3 bytes, and the Null code is stored in the remaining 9 bytes.

(情報処理装置10の全体の動作)
図6は、図1の情報処理装置10の全体の動作を示すフローチャートである。図7(a)〜(c)は、図6中における誤り箇所の検出方法を示す図であり、同図(a)は一致する場合の例を示す図、同図(b)は不一致且つ訂正可能な場合の例を示す図、及び、同図(c)は不一致且つ訂正不能な場合の例を示す図である。
(Overall operation of the information processing apparatus 10)
FIG. 6 is a flowchart showing the overall operation of the information processing apparatus 10 of FIG. FIGS. 7A to 7C are diagrams showing an error location detection method in FIG. 6, in which FIG. 7A is a diagram showing an example of matching, and FIG. 7B is a mismatch and correction. The figure which shows the example in the case where it is possible, and the figure (c) are the figures which show the example in the case of mismatch and uncorrectable.

図6のステップS1において、処理が開始され、ステップS2において、図1の情報処理装置10に電源が投入されるか又はリセット信号が入力されると、CPU21は、メモリコントローラ23を介してNORフラッシュ24からプログラムを取り込み開始する。ステップS3において、CPU21は、RAM26の初期設定を実行する。この初期設定では、RAM26をアクセスするために必要なタイミング設定や、RAM26のチップセレクト信号とメモリ空間の関連付けやRAM26の速度グレードに応じてメモリコントローラ23のタイミング設定や、RAM26の列アドレスストローブ信号(CAS)レイテンシー設定等を行う。   In step S1 in FIG. 6, the process is started. In step S2, when the information processing apparatus 10 in FIG. 1 is turned on or a reset signal is input, the CPU 21 performs NOR flash via the memory controller 23. The program is started from 24. In step S <b> 3, the CPU 21 executes initial setting of the RAM 26. In this initial setting, the timing setting required for accessing the RAM 26, the timing setting of the memory controller 23 according to the association between the chip select signal of the RAM 26 and the memory space, the speed grade of the RAM 26, the column address strobe signal ( CAS) Latency setting is performed.

ステップS4において、CPU21は、NANDフラッシュ25に格納されたプログラムを読み出してRAM26へ展開する。ステップS5において、CPU21は、内部の図示しないカウンタの初期化(n=0)を行う。ステップS6において、訂正コード計算手段21aは、RAM26に展開したプログラムのECC計算を行う。   In step S <b> 4, the CPU 21 reads the program stored in the NAND flash 25 and develops it in the RAM 26. In step S5, the CPU 21 initializes an internal counter (not shown) (n = 0). In step S <b> 6, the correction code calculation unit 21 a performs ECC calculation of the program developed in the RAM 26.

ステップS6において、訂正コード比較手段21bは、RAM26のECCテーブル26bに書かれたECCコードと、ステップS6で計算されたECCコードとの比較を行い、両者の一致/不一致の判定(ECC判定)を行う。この判定結果が不一致であれば、ステップS12のNANDフラッシュ/RAM故障個所判定処理へ移行し、判定結果が一致であれば、ステップS8のカウントアップ処理へ移行する。   In step S6, the correction code comparison unit 21b compares the ECC code written in the ECC table 26b of the RAM 26 with the ECC code calculated in step S6, and determines whether or not they match (ECC determination). Do. If this determination result does not match, the process proceeds to a NAND flash / RAM failure location determination process in step S12, and if the determination result matches, the process proceeds to a count-up process in step S8.

図7(a)〜(c)に、誤り個所の検出方法が記載されている。一致する場合は、図7(a)に示すように、ECCコード同士の排他的論理和(以下「EXOR」という。)は全て“0”になり、不一致の場合は、図7(b)、(c)に示すように、“0”以外の数値になる。   FIGS. 7A to 7C describe a method for detecting an error part. When they match, as shown in FIG. 7A, the exclusive OR (hereinafter referred to as “EXOR”) of the ECC codes is all “0”, and when they do not match, FIG. As shown in (c), it is a numerical value other than “0”.

ステップS7のECC判定結果が一致してステップS8へ移行した場合、CPU21は、内部のカウンタのカウントアップ(n=n+1)を行う。ステップS9において、CPU21は、最大ページ数を超えたか否かの判断(n<最大ページ数)を行い、最大ページ数を超えていれば、次の印刷処理のステップS10へ移行し、超えていなければ、ステップS6のECCコード計算処理へ戻る。   When the ECC determination results in step S7 match and the process proceeds to step S8, the CPU 21 counts up an internal counter (n = n + 1). In step S9, the CPU 21 determines whether or not the maximum number of pages has been exceeded (n <maximum number of pages). If the maximum number of pages has been exceeded, the process proceeds to step S10 of the next printing process, which must be exceeded. Then, the process returns to the ECC code calculation process in step S6.

ステップS10の印刷処理において、ステップS10−1の受信処理において、CPU21は、PC1からI/F回路11を介して印刷データを受信したら、メモリコントローラ23を介してRAM26へ格納する。ステップS10−2の編集処理において、CPU21は、RAM26に蓄えられた印刷データを編集し、文字や画像データをビットマップデータに変換するための前処理を行う。ステップS10−3のラスタライジング処理において、CPU21は、ビットマップデータを作成し、FIFO回路12に一時記憶する。そして、ステップS10−4のビデオデータ転送処理において、CPU21は、印刷装置30に対してビットマップデータを転送する。その後、印刷装置30により印刷が行われ、ステップS11にて情報処理装置10の動作を終了する。   In the printing process of step S10, in the reception process of step S10-1, when the CPU 21 receives print data from the PC 1 via the I / F circuit 11, the CPU 21 stores it in the RAM 26 via the memory controller 23. In the editing process in step S10-2, the CPU 21 edits the print data stored in the RAM 26 and performs a pre-process for converting characters and image data into bitmap data. In the rasterizing process at step S10-3, the CPU 21 creates bitmap data and temporarily stores it in the FIFO circuit 12. In the video data transfer process in step S <b> 10-4, the CPU 21 transfers bitmap data to the printing apparatus 30. Thereafter, printing is performed by the printing apparatus 30, and the operation of the information processing apparatus 10 is terminated in step S11.

ステップS7のECC判定結果が不一致のときにステップS12へ移行した場合、訂正コード比較手段21bは、NANDフラッシュ/RAM故障個所判定の処理を行う。この処理において、訂正コード計算手段21aは、エラー発生したページnの該当するNANDフラッシュ25の冗長エリアn25bを読み、RAM26のECCテーブル26bの値と比較する。この比較結果が一致する場合は、NANDフラッシュ25の故障(不良)と判定し、NANDフラッシュ25の訂正可能か否かの判定処理であるステップS13へ移行し、比較結果が不一致の場合は、RAM26の故障(不良)と判定し、RAM故障表示処理のステップS14へ移行する。ステップS12の判定は、図7(a)〜(c)に示すように、ECCコード同士のEXORを取り、図7(a)に示すように、“0”の場合は一致と判定し、それ以外は、図7(b)、(c)に示すように、不一致と判定する。   If the ECC determination result of step S7 is inconsistent and the process proceeds to step S12, the correction code comparison unit 21b performs NAND flash / RAM failure location determination processing. In this process, the correction code calculation means 21a reads the redundant area n25b of the corresponding NAND flash 25 of the page n where the error occurred and compares it with the value of the ECC table 26b of the RAM 26. If the comparison results match, it is determined that the NAND flash 25 has failed (defective), and the process proceeds to step S13, which is a determination process of whether or not the NAND flash 25 can be corrected. If the comparison results do not match, the RAM 26 And the process proceeds to step S14 of the RAM fault display process. As shown in FIGS. 7A to 7C, the determination in step S12 is performed by performing an EXOR between the ECC codes. As shown in FIG. Otherwise, as shown in FIGS. 7B and 7C, it is determined that there is a mismatch.

ステップS13において、訂正コード比較手段21bは、NANDフラッシュ25の故障の訂正が可能か否かの判定を行う。図7(c)に示すように、EXORの偶数ビット、奇数ビット共に“1”の時で、誤り個所が2ビット以上なので、訂正不可能と判定し、NANDフラッシュ故障個所表示処理のステップS16へ移行する。又、訂正可能の場合は、訂正処理のステップS15へ移行する。   In step S13, the correction code comparison unit 21b determines whether or not the failure of the NAND flash 25 can be corrected. As shown in FIG. 7C, when both the even bit and the odd bit of EXOR are “1”, the error location is 2 bits or more, so it is determined that correction is impossible, and the process proceeds to step S16 of NAND flash failure location display processing. Transition. If correction is possible, the process proceeds to step S15 of the correction process.

RAM故障表示処理のステップS14において、CPU21は、エラーの発生したRAM26のアドレスを、図示しない表示器等に表示した後、ステップS11にて情報処理装置10の処理を終了する。   In step S14 of the RAM failure display process, the CPU 21 displays the address of the RAM 26 in which the error has occurred on a display unit (not shown), and then ends the process of the information processing apparatus 10 in step S11.

訂正処理のステップS15において、図7(b)に示すように、誤り個所は、EXORの奇数ビットが何ワード(word)目(1word=32bit)の何ビット目かを表しており、その個所の誤りが訂正され、ステップS8へ移行する。   In step S15 of the correction process, as shown in FIG. 7B, the error part indicates how many words (words) (1 word = 32 bits) the odd bits of EXOR represent. The error is corrected, and the process proceeds to step S8.

NANDフラッシュ故障個所表示処理のステップS16において、CPU21は、エラー発生したnページ目のNANDフラッシュ25のページ番号を、図示しない表示器等に表示した後、ステップS11にて情報処理装置10の処理を終了する。   In step S16 of the NAND flash failure location display process, the CPU 21 displays the page number of the nth page NAND flash 25 in which an error has occurred on a display unit (not shown), and then performs the process of the information processing apparatus 10 in step S11. finish.

(プログラム展開の動作)
図8は、図6中のステップS4におけるプログラム展開処理の動作を示すフローチャートである。
(Program expansion operation)
FIG. 8 is a flowchart showing the operation of the program development process in step S4 in FIG.

CPU21は、ステップS4のプログラム展開処理を、以下のステップS41〜S48にて実行する。   CPU21 performs the program expansion process of step S4 in the following steps S41-S48.

ステップS4において、プログラム展開の動作を開始し、ステップS41において、CPU21内の変数(n)を初期化(n=0)する。ステップS42において、NANDフラッシュ25の物理ページn25aのデータ保管領域を読み出す(リードする)。ステップS43において、NANDフラッシュ25の物理ページn25aの冗長エリア25bをリードする。ステップS44において、ステップS42のデータをRAM26の論理ページn26aへ書き込む。ステップS45において、ステップS43のデータをRAM26のECCテーブル26bへ書き込む。ステップS46において、変数nに1を加える(n=n+1)。ステップS47において、変数nが最大ページ数を上回ったか否か(n<最大ページ数)を判定する。上回った場合は、ステップS48にて処理を終了し、上回らない場合は、ステップS42へ戻る。   In step S4, the program expansion operation is started. In step S41, the variable (n) in the CPU 21 is initialized (n = 0). In step S42, the data storage area of the physical page n25a of the NAND flash 25 is read (read). In step S43, the redundant area 25b of the physical page n25a of the NAND flash 25 is read. In step S44, the data in step S42 is written into the logical page n26a of the RAM 26. In step S45, the data in step S43 is written into the ECC table 26b of the RAM 26. In step S46, 1 is added to the variable n (n = n + 1). In step S47, it is determined whether or not the variable n exceeds the maximum number of pages (n <maximum number of pages). If it exceeds, the process ends in step S48, and if not, the process returns to step S42.

(ECCコード計算の動作)
図9−1及び図9−2は、図6中のステップS6におけるECCコード計算処理の動作を示すフローチャートである。
(ECC code calculation operation)
FIGS. 9A and 9B are flowcharts illustrating the operation of the ECC code calculation process in step S6 in FIG.

図10−1〜図10−4は、図9のECCコード計算処理の動作を説明するための図である。その内、図10−1は1word毎に奇数のビット位置P0からP8の各パリティを計算する例、図10−2は偶数0,2,4,6,8,10,・・・,124,126word目の奇数パリティを計算し、奇数のワード位置WP0(ワードパリティ)へ格納する例、図10−3は奇数1,3,5,7,9,11,・・・,125,127word目の奇数パリティを計算し、奇数のワード位置WP1(ワードパリティ)へ格納する例、及び、図10−4は偶数、奇数0,1,4,5,8,9,12,13,・・・,124,125word目の奇数パリティを計算し、奇数のワード位置WP2(ワードパリティ2)へ格納する例がそれぞれ示されている。   10A to 10D are diagrams for explaining the operation of the ECC code calculation process of FIG. Among them, FIG. 10-1 is an example of calculating each parity of odd bit positions P0 to P8 for each word, and FIG. 10-2 is an even number 0, 2, 4, 6, 8, 10,. An example of calculating the odd parity of the 126th word and storing it in the odd word position WP0 (word parity), FIG. 10-3 shows the odd numbered 1, 3, 5, 7, 9, 11,. An example of calculating odd parity and storing it in an odd word position WP1 (word parity), and FIG. 10-4 are even numbers, odd numbers 0, 1, 4, 5, 8, 9, 12, 13,. An example is shown in which the odd parity of the 124th and 125th words is calculated and stored in the odd word position WP2 (word parity 2).

訂正コード計算手段21aは、ステップS6のECCコード計算処理を、図9−1及び図9−2のフローチャートにおいて以下のステップS61〜S84にて実行する。   The correction code calculation means 21a executes the ECC code calculation process of step S6 in the following steps S61 to S84 in the flowcharts of FIGS. 9-1 and 9-2.

ステップS6において、ECCコード計算の処理を開始し、ステップS61において、L番地目のRAM26から1word読み出し処理を行う。L番地は、上位のプログラムより指定されたnページから、1ページの容量を掛けてアドレスに変換した数値である。RAM26からは32bit単位で読み出す。   In step S6, ECC code calculation processing is started. In step S61, 1-word reading processing is performed from the RAM 26 at the Lth address. The L address is a numerical value obtained by converting the n page designated by the upper program to the address by multiplying the capacity of one page. Read from the RAM 26 in units of 32 bits.

ステップS62において、全てのビットの奇数パリティを取り、奇数の全ビット位置P_ALLへ格納する処理を行う。この処理では、ステップS61で読み出した情報ビットの奇数パリティを取り出す。結果のビットは、奇数の全ビット位置P_ALLへ格納する。奇数の全ビット位置P_ALLは、後の論理計算にて使用する。   In step S62, odd parity of all bits is taken and stored in all odd bit positions P_ALL. In this process, the odd parity of the information bit read in step S61 is extracted. The resulting bits are stored in all odd bit positions P_ALL. The odd all bit positions P_ALL are used in the subsequent logical calculation.

ステップS63〜S72は、18bitあるECCコードのうち、下位10bitの計算方法である。図10−1には、この計算手順をまとめた表が示されている。左枠40は、RAM26からリードした情報ビットである。左枠40の斜線枠部分41は、右枠50の斜線P*枠(但し、P*は奇数のビット位置P1,P3,P5,P7,P9)部分51に対応する。又、左枠40の白枠部分42が右枠50の白P*枠(但し、P*は奇数のビット位置P0,P2,P4,P6,P8)部分52に対応している。右枠50の奇数のビット位置P*は、左枠40の対応する全てEXORで計算した値になる。例えば、右枠50の白枠部分52における奇数のビット位置P0は、左枠40における最上段の情報ビット(0〜31bit)のうち白枠部分42の偶数ビットのみを計算したものである。同様に、右枠50の斜線枠部分51における奇数のビット位置P1は、左枠40における最上段の情報ビット(0〜31bit)のうち斜線枠部分41の奇数ビットのみを計算したものである。   Steps S63 to S72 are calculation methods for the lower 10 bits of the 18-bit ECC code. FIG. 10A shows a table summarizing the calculation procedure. The left frame 40 is information bits read from the RAM 26. A hatched frame portion 41 of the left frame 40 corresponds to a hatched P * frame (where P * is an odd number of bit positions P1, P3, P5, P7, P9) 51 of the right frame 50. The white frame portion 42 of the left frame 40 corresponds to the white P * frame (where P * is an odd number of bit positions P0, P2, P4, P6, P8) 52 of the right frame 50. The odd bit positions P * of the right frame 50 are all the values calculated by EXOR corresponding to the left frame 40. For example, the odd bit position P0 in the white frame portion 52 of the right frame 50 is obtained by calculating only the even bits of the white frame portion 42 among the uppermost information bits (0 to 31 bits) in the left frame 40. Similarly, the odd bit position P1 in the hatched frame portion 51 of the right frame 50 is obtained by calculating only the odd bits of the hatched frame portion 41 among the uppermost information bits (0 to 31 bits) in the left frame 40.

ステップS73〜S80は、18bitのECCコードのうち、上位8bitの計算方法である。図10−2には、奇数のワード位置WPO(ワードパリティ0)の計算方法が示されている。奇数のワード位置WPOは、0word目〜128word目のうち、斜線部分の偶数アドレスのワードのみの奇数パリティである。前記の奇数の全ビット位置P_ALLは、ここで使用する。アドレスLのビット0の時だけ奇数の全ビット位置P_ALLとワード位置WPO(ワードパリティ0)を計算する。以下、WP1は、図10−3に示すように、奇数アドレスのwordのみの奇数パリティであり、WP2は、図10−4に示すように、0word目から2word置きに奇数パリティを計算したものである。WP3は、2word目から2word置きに奇数パリティを計算したものである。   Steps S73 to S80 are the upper 8-bit calculation method of the 18-bit ECC code. FIG. 10-2 shows a method of calculating the odd word position WPO (word parity 0). The odd word position WPO is an odd parity of only the word at the even address in the shaded portion of the 0th to 128th words. The odd all bit positions P_ALL are used here. Only when bit 0 of address L is odd, all odd bit positions P_ALL and word position WPO (word parity 0) are calculated. Hereinafter, as shown in FIG. 10-3, WP1 is the odd parity of only the word of the odd address, and WP2 is the odd parity calculated every 2 words from the 0th word as shown in FIG. 10-4. is there. WP3 is obtained by calculating odd parity every 2 words from the 2nd word.

ステップS81において、アドレスLを加算(L=L+1)する。ステップS82において、アドレスLが128よりも大きいか否か(L>128)を判定し、アドレスLが128より大きくなった場合は、ステップs83へ移行し、小さい場合は、ステップs61へ戻る。   In step S81, the address L is added (L = L + 1). In step S82, it is determined whether or not the address L is greater than 128 (L> 128). If the address L is greater than 128, the process proceeds to step s83, and if it is smaller, the process returns to step s61.

ステップS83において、以下のECC計算を行い、
ECC(L)=[WP7−WP0,P9−PO]
ECCデータECC(L)として、上記で求めたパリティをまとめ、ステップS84で処理を終了する。
In step S83, the following ECC calculation is performed,
ECC (L) = [WP7−WP0, P9−PO]
As the ECC data ECC (L), the parity obtained above is collected, and the process ends in step S84.

(実施例1の効果)
従来、装置の安定を図るために、揮発性メモリのチェックを行ってから、プログラムの展開を行っている。展開するプログラムが十分に小さければ特に問題にはならないが、数十Mbyteを超える大きなプログラムの場合、例えば、20秒〜30秒程度の処理時間が掛かり、起動時間を長引かせる要因になっている。その上、プログラムの展開前に揮発性メモリのチェックを行わなければならず、余計に処理時間が掛かる。しかも、揮発性メモリのチェックの際に、エラーの原因が不揮発性メモリにあるのか、揮発性メモリにあるのか特定できないので、保守点検等を行う際に不利不便である。
(Effect of Example 1)
Conventionally, in order to stabilize the apparatus, the program is expanded after checking the volatile memory. If the program to be developed is sufficiently small, there is no particular problem. However, in the case of a large program exceeding several tens of Mbytes, for example, a processing time of about 20 to 30 seconds is required, which is a factor that prolongs the startup time. In addition, the volatile memory must be checked before program development, which takes extra processing time. In addition, when checking the volatile memory, it cannot be specified whether the cause of the error is the non-volatile memory or the volatile memory, which is inconvenient when performing maintenance and inspection.

そこで、本実施例1では、このようなプログラムの展開先の揮発性メモリのチェックを行うことと、装置の起動時間を削減するという相反する問題、更に、エラーの原因が不揮発性メモリにあるのか、揮発性メモリにあるのか特定できないという問題を解決するために、上述したような構成を採用しているので、従来の装置に比べて以下の(a)〜(c)のような効果がある。   Therefore, in the first embodiment, there is a conflicting problem of checking the volatile memory where the program is deployed and reducing the startup time of the apparatus, and whether the cause of the error is in the nonvolatile memory. In order to solve the problem that the volatile memory cannot be specified, the configuration as described above is adopted, so that the following effects (a) to (c) are obtained as compared with the conventional device. .

(a) 本実施例1によれば、図6中のステップS7,S12において、RAM26のチェックとNANDフラッシュ25のチェックを同時に行っている。そのため、従来のようにNANDフラッシュ25のデータを展開する前にRAM26のチェックを行う必要がないので、情報処理装置10の起動時間を短縮できる。   (A) According to the first embodiment, the RAM 26 and the NAND flash 25 are simultaneously checked in steps S7 and S12 in FIG. Therefore, it is not necessary to check the RAM 26 before expanding the data in the NAND flash 25 as in the prior art, so that the startup time of the information processing apparatus 10 can be shortened.

(b) NANDフラッシュ25とRAM26とのECCコードの不一致が発生した時、図6中のステップS12により、NANDフラッシュ25のエラーなのかRAM26のエラーなのかを的確に見分けることができる。この際、例えば、NANDフラッシュ25のエラーであれば、図6中のステップS15にて故障個所の1ビットを訂正でき、RAM26のエラーであれば、図6中のステップS14にてエラー表示を行うことができる。従って、NANDフラッシュ25を展開する際、一時的に使用するRAM26に故障があってもNANDフラッシュ25の故障であると誤認識してしまい、NANDフラッシュ25の内容を誤って訂正してしまうという従来の問題に対して、極めて有効な解決手段である。   (B) When the ECC code mismatch between the NAND flash 25 and the RAM 26 occurs, it is possible to accurately distinguish whether the error is in the NAND flash 25 or the RAM 26 in step S12 in FIG. At this time, for example, if the error is in the NAND flash 25, 1 bit of the failure part can be corrected in step S15 in FIG. 6, and if the error is in the RAM 26, the error is displayed in step S14 in FIG. be able to. Therefore, when the NAND flash 25 is expanded, even if there is a failure in the RAM 26 that is temporarily used, the NAND flash 25 is mistakenly recognized as a failure, and the contents of the NAND flash 25 are erroneously corrected. This is an extremely effective solution to the above problem.

実施例1において、NANDフラッシュ25に記憶された情報ビットとRAM26に展開した情報ビットが同じならば問題は無いが、RAM26に展開する際にビット圧縮や暗号化等のコード変換が行われていると、RAM26上の情報ビットから計算したECCコードがNANDフラッシュ25の冗長エリア25bに書かれたECCコードと一致しないという不都合が生じる。そこで、本実施例2では、このような不都合を解決している。   In the first embodiment, there is no problem if the information bits stored in the NAND flash 25 and the information bits expanded in the RAM 26 are the same, but code conversion such as bit compression or encryption is performed when the information bits are expanded in the RAM 26. As a result, the ECC code calculated from the information bits on the RAM 26 does not match the ECC code written in the redundant area 25b of the NAND flash 25. Therefore, in the second embodiment, such inconvenience is solved.

(実施例2の構成)
図11は、本発明の実施例2における図1の情報処理装置10中に設けられるメモリシステム部の概略を示す機能ブロック図であり、実施例1を示す図2中の要素と共通の要素には共通の符号が付されている。
(Configuration of Example 2)
FIG. 11 is a functional block diagram showing an outline of a memory system unit provided in the information processing apparatus 10 of FIG. 1 according to the second embodiment of the present invention. In FIG. 11, the elements common to the elements in FIG. Are marked with a common reference.

本実施例2のメモリシステム部20−1では、圧縮されたプログラムコード及び第1の誤り訂正コードが、RAMライタ等によってNANDフラッシュ25に予め書き込まれており、その圧縮されたプログラムコード及び第1の誤り訂正コードを伸張するために、新たに伸張手段27が追加され、この伸張手段27により伸張されたプログラムコード及び第1の誤り訂正コードがRAM26に展開される構成になっている。   In the memory system unit 20-1 of the second embodiment, the compressed program code and the first error correction code are written in advance in the NAND flash 25 by a RAM writer or the like. In order to expand the error correction code, the expansion means 27 is newly added, and the program code and the first error correction code expanded by the expansion means 27 are expanded in the RAM 26.

NANDフラッシュ25は、圧縮されたログラムコード及び第1の誤り訂正コードを記憶するために、複数の物理ページ#25aと、これに付随する容量が例えば16byteの冗長エリア25b−1とを有している。RAM26は、伸張されたログラムコード及び第1の誤り訂正コードを記憶するために、複数の物理ページ#26aとECCテーブル26b−1とを有している。伸張手段27は、例えば、可逆圧縮可能なロスレスタイプのPNGファイル等であり、CPU21のプログラム制御により実行される構成になっている。その他の構成は、実施例1と同様である。   In order to store the compressed program code and the first error correction code, the NAND flash 25 includes a plurality of physical pages # 25a and a redundant area 25b-1 having a capacity of 16 bytes, for example. Yes. The RAM 26 has a plurality of physical pages # 26a and an ECC table 26b-1 for storing the decompressed program code and the first error correction code. The decompression means 27 is, for example, a lossless PNG file that can be reversibly compressed, and is configured to be executed by program control of the CPU 21. Other configurations are the same as those of the first embodiment.

図12は、図11中のNANDフラッシュ25内における冗長エリア25b−1のデータ構造を示す図であり、実施例1の図4に対応している。   FIG. 12 is a diagram illustrating a data structure of the redundant area 25b-1 in the NAND flash 25 in FIG. 11, and corresponds to FIG. 4 of the first embodiment.

冗長エリア25b−1において、最初の4byteは論理ページ番号であり、RAM26に展開する際の順番を示す。次の3byteは、圧縮後のECCコードである。更に、次の2byteは、伸張後のサイズであり、最大は216=64Kbyteまで伸張可能である。その他、3byteのNullコードを有している。 In the redundant area 25 b-1, the first 4 bytes are a logical page number, and indicate the order when they are expanded in the RAM 26. The next 3 bytes are the ECC code after compression. Furthermore, the next 2 bytes are the size after expansion, and the maximum can be expanded to 2 16 = 64 Kbytes. In addition, it has a 3-byte Null code.

図13は、図11中のRAM26内におけるECCテーブル26b−1の1ページ分のデータ構造を示す図であり、実施例1の図5に対応している。   FIG. 13 is a diagram showing a data structure for one page of the ECC table 26b-1 in the RAM 26 in FIG. 11, and corresponds to FIG. 5 of the first embodiment.

ECCテーブル26b−1において、最初の4byteは物理ページ番号であり、エラー発生時のNANDフラッシュ25の故障個所を指標する値である。次の2byteは、伸張後のサイズであり、冗長エリア25b−1から読み取られた値がコピーされている。更に、次の4byteは、伸張後のECCコードである。   In the ECC table 26b-1, the first 4 bytes are a physical page number, which is a value indicating the failure location of the NAND flash 25 when an error occurs. The next 2 bytes are the size after expansion, and the value read from the redundant area 25b-1 is copied. Further, the next 4 bytes are the decompressed ECC code.

(情報処理装置10の全体の動作)
本実施例2における情報処理装置10の全体の動作は、実施例1の図6に示すフローチャートにおいて、ステップS4のプログラム展開処理とステップS6のECCコード計算処理における処理内容が異なっている。本実施例2におけるステップS4のプログラム展開処理では、プログラムを展開する際、圧縮されたデータを伸張する処理が追加され、更に、ステップS6のECCコード計算処理において、ECC計算を行う際に可変訂正コード計算の処理が異なる。その他の処理は、実施例1のフローチャートの処理と同様である。
(Overall operation of the information processing apparatus 10)
The overall operation of the information processing apparatus 10 according to the second embodiment differs from the flowchart shown in FIG. 6 according to the first embodiment in the processing contents in the program development process in step S4 and the ECC code calculation process in step S6. In the program expansion process of step S4 in the second embodiment, a process of expanding the compressed data is added when the program is expanded, and further variable correction is performed when performing ECC calculation in the ECC code calculation process of step S6. The code calculation process is different. Other processes are the same as those in the flowchart of the first embodiment.

(プログラム展開の動作)
図14は、図6中のステップS4における本実施例2のプログラム展開処理の動作を示すフローチャートであり、実施例1を示す図8中の要素と共通の要素には共通の符号が付されている。
(Program expansion operation)
FIG. 14 is a flowchart showing the operation of the program development process of the second embodiment in step S4 in FIG. 6. Elements common to the elements in FIG. 8 showing the first embodiment are denoted by common reference numerals. Yes.

図1中のCPU21は、図6中のステップS4のプログラム展開処理を、以下のステップS41〜S48にて実行する。なお、本実施例2が実施例1と異なる点は、プログラムを展開する際、圧縮されたデータを伸張する処理ステップS43−2が追加され、この前後の処理S43−1,S44−1,S45−1が実施例1の処理S43,S44,S45と僅かに異なっている。   The CPU 21 in FIG. 1 executes the program development process in step S4 in FIG. 6 in the following steps S41 to S48. The second embodiment is different from the first embodiment in that a processing step S43-2 for expanding compressed data is added when the program is expanded, and the processing S43-1, S44-1, and S45 before and after this are added. -1 is slightly different from the processes S43, S44, and S45 of the first embodiment.

先ず、ステップS4において、プログラム展開の処理を開始し、実施例1と同様に、ステップS41において、CPU21の変数の初期化(n=0)を行い、ステップS42において、NANDフラッシュ25における物理ページn25aのデータ保管領域をリードする。ステップS43−1において、NANDフラッシュ25における物理ページn25aの冗長エリア25b−1をリードし、ステップS43−2において、ステップS42のデータを所定の伸張方式により伸張する。   First, in step S4, the program expansion process is started. In the same manner as in the first embodiment, the CPU 21 variables are initialized (n = 0) in step S41. In step S42, the physical page n25a in the NAND flash 25 is initialized. Leading data storage area. In step S43-1, the redundant area 25b-1 of the physical page n25a in the NAND flash 25 is read, and in step S43-2, the data in step S42 is expanded by a predetermined expansion method.

ステップS44−1において、ステップS43−2のデータをRAM26における論理ページn26aへ書き込み、ステップS45−1において、ステップS43−1のデータをRAM26のECCテーブル26b−1へ書き込む。その後、実施例1と同様に、ステップS46において、CPU21の変数nに1を加え(n=n+1)、ステップS47において、変数nが最大ページ数を上回ったか否か(n<最大ページ数)を判定する。上回った場合は、ステップS48にて処理を終了し、上回らない場合は、ステップS42へ戻る。   In step S44-1, the data in step S43-2 is written to the logical page n26a in the RAM 26, and in step S45-1, the data in step S43-1 is written into the ECC table 26b-1 in the RAM 26. Thereafter, in the same manner as in the first embodiment, 1 is added to the variable n of the CPU 21 (n = n + 1) in step S46, and whether or not the variable n exceeds the maximum number of pages (n <maximum number of pages) in step S47. judge. If it exceeds, the process ends in step S48, and if not, the process returns to step S42.

(ECCコード計算の動作)
図15−1及び図15−2は、図6中のステップS6における本実施例2のECCコード計算処理を行う際の可変訂正コード計算の動作を示すフローチャートであり、実施例1を示す図9−1及び図9−2中の要素と共通の要素には共通の符号が付されている。
(ECC code calculation operation)
FIG. 15A and FIG. 15B are flowcharts illustrating the operation of variable correction code calculation when performing the ECC code calculation processing of the second embodiment in step S6 in FIG. -1 and elements common to those in FIG. 9-2 are denoted by common reference numerals.

図11中の訂正コード計算手段21aは、図6中のステップS6のECCコード計算処理を、以下のステップS61〜S84にて実行する。なお、本実施例2が実施例1と基本的に異なる点は、ステップS80−1〜S80−14が追加され、この後のステップS82−1,S83−1が、実施例1のステップS82,S83と異なる。その他のステップS61〜S80,S81,S84は、実施例1の各ステップに類似している。   The correction code calculation means 21a in FIG. 11 executes the ECC code calculation processing in step S6 in FIG. 6 in the following steps S61 to S84. The second embodiment basically differs from the first embodiment in that steps S80-1 to S80-14 are added, and the subsequent steps S82-1 and S83-1 are the same as steps S82 and S82 in the first embodiment. Different from S83. The other steps S61 to S80, S81, and S84 are similar to the steps of the first embodiment.

先ず、ステップS6において、可変長ECCコード計算の処理を開始し、ステップS61において、L番地目のRAM26から1word読み出し処理を行う。L番地は、上位のプログラムより指定されたnページから、1ページの容量を掛けてアドレスに変換した数値である。RAM26からは、32bit単位で読み出す。   First, in step S6, variable length ECC code calculation processing is started, and in step S61, 1 word is read from the RAM 26 at the L address. The L address is a numerical value obtained by converting the n page designated by the upper program to the address by multiplying the capacity of one page. Read from the RAM 26 in units of 32 bits.

ステップS62において、全てのビットの奇数パリティを取り、奇数の全ビット位置P_ALLへ格納する。この処理では、ステップS61で読み出した情報ビットの奇数パリティを取り出す。結果のビットは全ビット位置P_ALLへ格納する。全ビット位置P_ALLは、後の論理計算にて使用する。   In step S62, odd parity of all bits is taken and stored in all odd bit positions P_ALL. In this process, the odd parity of the information bit read in step S61 is extracted. The resulting bits are stored in all bit positions P_ALL. All bit positions P_ALL are used in the subsequent logical calculation.

ステップS63〜S72は、実施例1と同様に、18bitあるECCコードのうち、下位10bitの計算方法である。前記図10−1には、実施例1と同様に、この計算手順をまとめた表が示されている。   Steps S <b> 63 to S <b> 72 are the lower 10-bit calculation method of the 18-bit ECC code as in the first embodiment. FIG. 10A shows a table summarizing the calculation procedure as in the first embodiment.

ステップS73〜S80−14は、ECCコードのうち、上位22ビットの計算方法である。この計算方法が、実施例1と同様に、前記図10−2〜図10−4に示されている。   Steps S73 to S80-14 are a calculation method for the upper 22 bits of the ECC code. This calculation method is shown in FIGS. 10-2 to 10-4 in the same manner as in the first embodiment.

ステップS82−1において、アドレスLを加算(L=L+1)する。ステップS82−1において、伸張後のサイズがアドレスLよりも小さいか否か(L>伸張後のサイズ)が判定される。アドレスLが伸張後のワード数より大きくなった場合は、ステップS83−1へ移行し、小さい場合は、ステップS61へ戻る。ステップS83−1において、次式に従い、
ECC(L)=[WP21−WPO,P9−PO]
から、ECCデータECC(L)として前記で求めたパリティをまとめ、ステップS84にて処理を終了する。
In step S82-1, the address L is added (L = L + 1). In step S82-1, it is determined whether or not the decompressed size is smaller than the address L (L> size after decompression). If the address L is larger than the number of words after expansion, the process proceeds to step S83-1, and if it is smaller, the process returns to step S61. In step S83-1, according to the following equation:
ECC (L) = [WP21−WPO, P9−PO]
From the above, the parity obtained as described above is collected as ECC data ECC (L), and the process is terminated in step S84.

(実施例2の効果)
本実施例2によれば、圧縮した状態でプログラムを記憶することができ、実施例1とほぼ同様の効果がある。
(Effect of Example 2)
According to the second embodiment, the program can be stored in a compressed state, and there are almost the same effects as the first embodiment.

(変形例)
本発明は、上記実施例に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、次の(a)、(b)のようなものがある。
(Modification)
The present invention is not limited to the above-described embodiments, and various usage forms and modifications are possible. For example, the following forms (a) and (b) are used as the usage form and the modified examples.

(a) 図1、図2及び図11に示す情報処理装置10は、図示以外の他の構成に変更しても良い。例えば、NORフラッシュ24及びNANDフラッシュ25として、他の不揮発性メモリを使用したり、RAM26として、他の揮発性メモリを使用してもよい。これらの構成の変更に応じて、それらの動作を示すフローチャートの処理内容を適宜変更すれば良い。   (A) Information processor 10 shown in Drawing 1, Drawing 2, and Drawing 11 may be changed into composition other than illustration. For example, other nonvolatile memories may be used as the NOR flash 24 and the NAND flash 25, and other volatile memories may be used as the RAM 26. In accordance with the change of these configurations, the processing content of the flowchart showing the operation may be changed as appropriate.

(b) 実施例1、2の情報処理装置10として、印刷装置30に応用した画像処理装置について説明したが、本発明の情報処理装置は、ファクシミリ装置、複合機等の他の画像処理装置や、それ以外の携帯電話機や情報家電等への応用も可能である。   (B) Although the image processing apparatus applied to the printing apparatus 30 has been described as the information processing apparatus 10 according to the first and second embodiments, the information processing apparatus according to the present invention may be another image processing apparatus such as a facsimile machine or a multifunction peripheral. Also, it can be applied to other mobile phones and information appliances.

本発明の実施例1における情報処理装置の概略を示す構成図である。It is a block diagram which shows the outline of the information processing apparatus in Example 1 of this invention. 図1中のメモリシステム部20を示す機能ブロック図である。It is a functional block diagram which shows the memory system part 20 in FIG. 図1中の印刷装置30を示す概略の構成図である。It is a schematic block diagram which shows the printing apparatus 30 in FIG. 図2中のNANDフラッシュ25内における冗長エリア25bのデータ構造を示す図である。It is a figure which shows the data structure of the redundant area 25b in the NAND flash 25 in FIG. 図2中のRAM26内におけるECCテーブル26bの1ページ分のデータ構造を示す図である。It is a figure which shows the data structure for 1 page of the ECC table 26b in RAM26 in FIG. 図1の情報処理装置10の全体の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the whole information processing apparatus 10 of FIG. 図6中における誤り箇所の検出方法を示す図である。It is a figure which shows the detection method of the error location in FIG. 図6中のステップS4におけるプログラム展開処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the program expansion | deployment process in step S4 in FIG. 図6中のステップS6におけるECCコード計算処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the ECC code calculation process in step S6 in FIG. 図6中のステップS6におけるECCコード計算処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the ECC code calculation process in step S6 in FIG. 図9のECCコード計算処理の動作を示す図である。It is a figure which shows the operation | movement of the ECC code calculation process of FIG. 図9のECCコード計算処理の動作を示す図である。It is a figure which shows the operation | movement of the ECC code calculation process of FIG. 図9のECCコード計算処理の動作を示す図である。It is a figure which shows the operation | movement of the ECC code calculation process of FIG. 図9のECCコード計算処理の動作を示す図である。It is a figure which shows the operation | movement of the ECC code calculation process of FIG. 本発明の実施例2における情報処理装置中に設けられるメモリシステム部の概略を示す機能ブロック図である。It is a functional block diagram which shows the outline of the memory system part provided in the information processing apparatus in Example 2 of this invention. 図11中のNANDフラッシュ25内における冗長エリア25b−1のデータ構造を示す図である。It is a figure which shows the data structure of the redundant area 25b-1 in the NAND flash 25 in FIG. 図11中のRAM26内におけるECCテーブル26b−1の1ページ分のデータ構造を示す図である。It is a figure which shows the data structure for 1 page of the ECC table 26b-1 in RAM26 in FIG. 図6中のステップS4における本実施例2のプログラム展開処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the program expansion | deployment process of the present Example 2 in step S4 in FIG. 図6中のステップS6における本実施例2のECCコード計算処理を行う際の可変訂正コード計算の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the variable correction code calculation at the time of performing the ECC code calculation process of Example 2 in step S6 in FIG. 図6中のステップS6における本実施例2のECCコード計算処理を行う際の可変訂正コード計算の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the variable correction code calculation at the time of performing the ECC code calculation process of the present Example 2 in step S6 in FIG.

符号の説明Explanation of symbols

10 情報処理装置
20,20−1 メモリシステム部
21 CPU
21a 訂正コード計算手段
21b 訂正コード比較手段
24 NORフラッシュ
25 NANDフラッシュ
26 RAM
27 伸張手段
30 印刷装置
DESCRIPTION OF SYMBOLS 10 Information processing apparatus 20,20-1 Memory system part 21 CPU
21a Correction code calculation means 21b Correction code comparison means 24 NOR flash 25 NAND flash 26 RAM
27 Extension means 30 Printing device

Claims (6)

プログラムコードと前記プログラムコードの読み出し誤りを訂正するための第1の誤り訂正符号とを記憶する不揮発性メモリと、
前記不揮発性メモリから読み出された前記プログラムコード及び前記第1の誤り訂正符号を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記プログラムコードを実行する実行ユニットとを備えた情報処理装置であって、
前記揮発性メモリに記憶された前記プログラムコードに基づいて第2の誤り訂正符号を算出する誤り訂正符号算出部と、
前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とに基づいて前記不揮発性メモリ及び前記揮発性メモリの記憶不良の有無を判定する判定部と、
を備えたことを特徴とする情報処理装置。
A non-volatile memory for storing a program code and a first error correction code for correcting a read error of the program code;
A volatile memory for storing the program code and the first error correction code read from the nonvolatile memory;
An information processing apparatus comprising an execution unit that executes the program code stored in the volatile memory,
An error correction code calculator that calculates a second error correction code based on the program code stored in the volatile memory;
Based on the first error correction code stored in the volatile memory and the second error correction code calculated by the error correction code calculation unit, the non-volatile memory and the volatile memory may have a storage error. A determination unit for determining presence or absence;
An information processing apparatus comprising:
前記判定部は、
前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とを比較し、
前記比較結果が一致の場合は、前記不揮発性メモリ及び前記揮発性メモリが正常と判定し、
前記比較結果が不一致の場合は、前記不揮発性メモリに記憶された前記第1の誤り訂正符号と前記揮発性メモリに記憶された前記第1の誤り訂正符号とを比較し、比較結果が一致の場合は前記不揮発性メモリの不良と判定し、比較結果が不一致の場合は前記揮発性メモリの不良と判定することを特徴とする請求項1記載の情報処理装置。
The determination unit
Comparing the first error correction code stored in the volatile memory with the second error correction code calculated by the error correction code calculation unit;
When the comparison result is coincident, it is determined that the nonvolatile memory and the volatile memory are normal,
If the comparison result does not match, the first error correction code stored in the non-volatile memory is compared with the first error correction code stored in the volatile memory, and the comparison result matches. 2. The information processing apparatus according to claim 1, wherein the information processing apparatus determines that the nonvolatile memory is defective, and determines that the volatile memory is defective if the comparison results do not match.
前記判定部は、前記不揮発性メモリを不良と判定した場合には、前記不揮発性メモリに記憶された前記第1の誤り訂正符号により、正しい状態に回復することを特徴とする請求項2記載の情報処理装置。   The said determination part is recovered | restored to a correct state by the said 1st error correction code memorize | stored in the said non-volatile memory, when it determines with the said non-volatile memory being defective. Information processing device. 圧縮されたプログラムコードと前記プログラムコードの読み出し誤りを訂正するための圧縮された第1の誤り訂正符号とを記憶する不揮発性メモリと、
前記不揮発性メモリから読み出された前記プログラムコード及び前記第1の誤り訂正符号を伸張する伸張手段と、
前記伸張手段により伸張された前記プログラムコード及び前記第1の誤り訂正符号を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記プログラムコードを実行する実行ユニットとを備えた情報処理装置であって、
前記揮発性メモリに記憶された前記プログラムコードに基づいて第2の誤り訂正符号を算出する誤り訂正符号算出部と、
前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とに基づいて前記不揮発性メモリ及び前記揮発性メモリの記憶不良の有無を判定する判定部と、
を備えたことを特徴とする情報処理装置。
A nonvolatile memory for storing the compressed program code and a compressed first error correction code for correcting a read error of the program code;
Decompression means for decompressing the program code and the first error correction code read from the nonvolatile memory;
A volatile memory for storing the program code and the first error correction code expanded by the expansion unit;
An information processing apparatus comprising: an execution unit that executes the program code stored in the volatile memory;
An error correction code calculator that calculates a second error correction code based on the program code stored in the volatile memory;
Based on the first error correction code stored in the volatile memory and the second error correction code calculated by the error correction code calculation unit, the non-volatile memory and the volatile memory may have a storage error. A determination unit for determining presence or absence;
An information processing apparatus comprising:
前記判定部は、
前記揮発性メモリに記憶された前記第1の誤り訂正符号と前記誤り訂正符号算出部により算出された前記第2の誤り訂正符号とを比較し、
前記比較結果が一致の場合は、前記不揮発性メモリ及び前記揮発性メモリが正常と判定し、
前記比較結果が不一致の場合は、前記伸張手段により伸張された前記第1の誤り訂正符号と前記揮発性メモリに記憶された前記第1の誤り訂正符号とを比較し、比較結果が一致の場合は前記不揮発性メモリの不良と判定し、比較結果が不一致の場合は前記揮発性メモリの不良と判定することを特徴とする請求項4記載の情報処理装置。
The determination unit
Comparing the first error correction code stored in the volatile memory with the second error correction code calculated by the error correction code calculation unit;
When the comparison result is coincident, it is determined that the nonvolatile memory and the volatile memory are normal,
When the comparison result does not match, the first error correction code expanded by the expansion unit is compared with the first error correction code stored in the volatile memory, and the comparison result is consistent The information processing apparatus according to claim 4, wherein the information processing apparatus determines that the nonvolatile memory is defective, and determines that the volatile memory is defective when the comparison results do not match.
前記判定部は、前記不揮発性メモリを不良と判定した場合には、前記不揮発性メモリに記憶された前記第1の誤り訂正符号により、正しい状態に回復することを特徴とする請求項5記載の情報処理装置。   6. The determination unit according to claim 5, wherein when the non-volatile memory is determined to be defective, the determination unit recovers to a correct state by the first error correction code stored in the non-volatile memory. Information processing device.
JP2008321831A 2008-12-18 2008-12-18 Information processor Withdrawn JP2010146226A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008321831A JP2010146226A (en) 2008-12-18 2008-12-18 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008321831A JP2010146226A (en) 2008-12-18 2008-12-18 Information processor

Publications (1)

Publication Number Publication Date
JP2010146226A true JP2010146226A (en) 2010-07-01

Family

ID=42566617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008321831A Withdrawn JP2010146226A (en) 2008-12-18 2008-12-18 Information processor

Country Status (1)

Country Link
JP (1) JP2010146226A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4841709B1 (en) * 2010-09-06 2011-12-21 三菱電機株式会社 Memory control device and memory control method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4841709B1 (en) * 2010-09-06 2011-12-21 三菱電機株式会社 Memory control device and memory control method
EP2615556A1 (en) * 2010-09-06 2013-07-17 Mitsubishi Electric Corporation Memory control device and memory control method
EP2615556A4 (en) * 2010-09-06 2014-05-21 Mitsubishi Electric Corp Memory control device and memory control method
US9135107B2 (en) 2010-09-06 2015-09-15 Mitsubishi Electric Corporation Memory control device and memory control method

Similar Documents

Publication Publication Date Title
JP4404625B2 (en) Information processing apparatus and ROM image generation apparatus for the apparatus
JP4842563B2 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND DATA WRITE METHOD
US20060224841A1 (en) Information processing device and information processing method
US8427692B2 (en) Image processing apparatuses and systems for responding to writing errors associated with hard disk devices
JP2008139908A (en) Memory control device, computer system and data reproducing and recording device
US20100174850A1 (en) Data moving method and system utilizing the same
JP2009301194A (en) System for controlling semiconductor memory device
JP5009700B2 (en) Data storage device, program, and data storage method
KR100757128B1 (en) Memory card using flash memory and controlling method thereof
JP4373615B2 (en) Initial bad block marking method
US20120096335A1 (en) Data processing method and semiconductor integrated circuit
JP2007094639A (en) Memory controller and flash memory system
US8638455B2 (en) Program executing apparatus, image processing apparatus and non-transitory computer readable medium for activating an equipment using stored variable
JP2007140920A (en) Image forming apparatus
US20150120683A1 (en) Data compression apparatus, data compression method, and non-transitory computer readable medium
JP2010146226A (en) Information processor
JP7135403B2 (en) Dump processing device and image forming device
JP4863681B2 (en) Semiconductor memory device and memory controller
JP4985781B2 (en) Semiconductor memory device and control method thereof
JP4438739B2 (en) Image forming apparatus
JP7206769B2 (en) Electronic device and method of operation
JP7447668B2 (en) Electronic equipment and control methods for electronic equipment
JP2008165518A (en) Memory controller, flash memory system, and control method of flash memory
JP2006260273A (en) Subsystem module, information processor, and data transfer method in the subsystem module
JP2003334996A (en) Printer

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120306