JP2008181670A - Semiconductor memory device - Google Patents

Semiconductor memory device Download PDF

Info

Publication number
JP2008181670A
JP2008181670A JP2008110346A JP2008110346A JP2008181670A JP 2008181670 A JP2008181670 A JP 2008181670A JP 2008110346 A JP2008110346 A JP 2008110346A JP 2008110346 A JP2008110346 A JP 2008110346A JP 2008181670 A JP2008181670 A JP 2008181670A
Authority
JP
Japan
Prior art keywords
data
block
memory
write
control circuit
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
Application number
JP2008110346A
Other languages
Japanese (ja)
Other versions
JP4762267B2 (en
Inventor
Hisahiro Matsuo
尚浩 松尾
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2008110346A priority Critical patent/JP4762267B2/en
Publication of JP2008181670A publication Critical patent/JP2008181670A/en
Application granted granted Critical
Publication of JP4762267B2 publication Critical patent/JP4762267B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor memory device capable of writing/reading data to/from a nonvolatile memory at a high speed. <P>SOLUTION: A control circuit 15 outputs, upon reception of a control signal indicating a write instruction, data written in an I/O buffer 11 to a write buffer 12, and simultaneously specifies a block in a flash memory which is a nonvolatile memory including data of a designated address as an update block, outputs all data in the update block to a work memory 13 via a high-speed bus 16, and writes the number of the update block in a block number register 18. The control circuit 15 specifies, upon reception of a control signal indicating a read instruction, a block including the data of a designated address, and outputs data as read data in the work memory 13 to the I/O buffer 11 if the number of the block matches the block number stored in the block number register 18. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、半導体記憶装置に関し、特に、ブロック単位でデータの書換えが可能なフラッシュメモリを備えた半導体記憶装置に関する。   The present invention relates to a semiconductor memory device, and more particularly to a semiconductor memory device including a flash memory that can rewrite data in units of blocks.

フラッシュメモリは、電気的にデータの消去および書換えができるROM(Read Only Memory)であり、現在、携帯電話、デジタルスチルカメラなどにおけるデータ記憶用のデバイスとして広く利用されている。フラッシュメモリのデータの書換えでは、通常では、フラッシュメモリ内の書換え対象となるデータを含むブロックが外部メモリに読出される。そして、この読出したブロックに、外部メモリの他の領域にあるデータが書込まれることによりブロックが更新され、その後、フラッシュメモリ内の読出しを行なったブロッックが消去され、消去されたブロックの位置に外部メモリ内の更新されたブロックが書込まれる。   A flash memory is a ROM (Read Only Memory) that can electrically erase and rewrite data, and is currently widely used as a device for storing data in mobile phones, digital still cameras, and the like. In the rewriting of data in the flash memory, normally, a block including data to be rewritten in the flash memory is read to the external memory. The block is updated by writing data in another area of the external memory to the read block, and then the read block in the flash memory is erased, and the erased block is located at the position of the erased block. An updated block in external memory is written.

このような通常のフラッシュメモリのデータの書込みに対して、たとえば、特許文献1では、データの書込みの高速化を図っている。すなわち、特許文献1では、EEPROM(Electrically Erasable Programmable Read Only Memory)を含むメモリカード装置において、バッファメモリを備える。データ書込み時に、外部からのデータがバッファメモリに送られ、その後、EEPROMのブロックがこのバッファメモリに読出される。バッファメモリでブロック内のデータの書換えが行なわれた後、このように更新が行なわれたブロックがEEPROMに戻される。
特開平5−46469号公報
For example, Japanese Patent Application Laid-Open No. 2004-228867 attempts to increase the speed of data writing in contrast to such normal flash memory data writing. That is, Patent Document 1 includes a buffer memory in a memory card device including an EEPROM (Electrically Erasable Programmable Read Only Memory). When data is written, external data is sent to the buffer memory, and then the EEPROM block is read into the buffer memory. After the data in the block is rewritten in the buffer memory, the updated block is returned to the EEPROM.
Japanese Patent Laid-Open No. 5-46469

しかしながら、上述の特許文献1では、外部からのデータがバッファメモリに送られた後、EEPROMのデータがバッファメモリに読出されるので、データの書込みの高速化がまだ十分に達成されない。   However, in Patent Document 1 described above, after data from the outside is sent to the buffer memory, the data in the EEPROM is read out to the buffer memory, so that the speed of data writing is not yet sufficiently achieved.

また、従来では、フラッシュメモリに対してのデータの読出しの高速化もまだ十分に達成されてない。   Conventionally, the speed of data reading from the flash memory has not been sufficiently achieved.

それゆえに、本発明の目的は、不揮発性メモリに対して高速にデータの書込みができる半導体記憶装置を提供することである。   Therefore, an object of the present invention is to provide a semiconductor memory device capable of writing data to a nonvolatile memory at high speed.

また、本発明の他の目的は、不揮発性メモリに対して高速にデータの読出しができる半導体記憶装置を提供することである。   Another object of the present invention is to provide a semiconductor memory device capable of reading data from a nonvolatile memory at high speed.

上記課題を解決するために、この発明に係わる半導体記憶装置は、複数のブロックを含み、ブロック単位でデータの書換えが可能な不揮発性メモリと、外部から送られてくる書込みデータを記憶するためのライトバッファと、少なくとも前記不揮発性メモリの1個分のブロックと同一の大きさのブロックを記憶するためのワークメモリと、前記ワークメモリと前記不揮発性メモリとを接続し、外部データバスよりもビット幅が広い内部データバスと、外部から書込み指示を示す制御信号と、アドレスと、書込みデータとが入力されたときには、前記ライトバッファへ書込みデータを取込ませる取込み制御と、前記取込み制御と並行して、前記アドレスで特定させる不揮発性メモリ内のブロックのすべてのデータを前記内部データバスを介して前記ワークメモリへ出力させ、前記不揮発性メモリ内の前記ブロックのすべてのデータを消去するとともに、前記ライトバッファ内の書込みデータを前記ワークメモリ内の前記ブロック内の前記アドレスに応じた位置に出力させ、その後、前記ワークメモリ内の前記ブロックのすべてのデータを前記内部データバスを介して前記不揮発性メモリ内の前記ブロックの位置へ出力させる書込み制御を行なう制御回路とを備える。   In order to solve the above problems, a semiconductor memory device according to the present invention includes a plurality of blocks, a nonvolatile memory capable of rewriting data in units of blocks, and a memory for storing write data sent from the outside. A write buffer, a work memory for storing at least a block of the same size as the block of the non-volatile memory, the work memory and the non-volatile memory are connected, and a bit more than an external data bus In parallel with the take-in control, a take-in control for taking the write data into the write buffer when a wide internal data bus, a control signal indicating a write instruction from the outside, an address, and write data are input. All the data of the block in the nonvolatile memory specified by the address via the internal data bus Output to the work memory, erase all data of the block in the non-volatile memory, and output write data in the write buffer to a position corresponding to the address in the block in the work memory. And a control circuit for performing write control for outputting all data of the block in the work memory to the position of the block in the nonvolatile memory via the internal data bus.

また、本発明に係わる半導体記憶装置は、複数のブロックを含み、ブロック単位でデータの書換えが可能な不揮発性メモリと、外部から送られてくるデータを記憶するためのライトバッファと、少なくとも前記不揮発性メモリの1個分のブロックと同一の大きさのブロックを記憶するためのワークメモリと、前記ワークメモリと前記不揮発性メモリとを接続し、外部データバスよりもビット幅が広い内部データバスと、不揮発性メモリのブロックのブロック番号を記憶する第1記憶部を含む制御回路とを備え、前記制御回路は、外部から書込み指示を示す制御信号と、アドレスと、書込みデータとが入力されたときには、前記ライトバッファへ書込みデータを取込ませ、前記アドレスで特定させる不揮発性メモリ内のブロックのすべてのデータを前記内部データバスを介して前記ワークメモリへ出力させ、前記不揮発性メモリ内の前記ブロックのすべてのデータを消去するとともに、前記ライトバッファ内の書込みデータを前記ワークメモリ内の前記ブロックの前記アドレスに応じた位置に出力させ、その後前記ワークメモリ内の前記ブロックのすべてのデータを前記内部データバスを介して前記不揮発性メモリ内の前記ブロックの位置へ出力させ、前記第1記憶部に前記ブロックの番号を格納させ、前記制御回路は、外部から読出し指示を示す制御信号とアドレスが入力されたときには、アドレスで特定されるブロックの番号と前記第1記憶部内のブロック番号が同一であるときには、前記ワークメモリ内の前記ブロック内の前記アドレスで特定されるデータを外部へ出力させ、同一でないときには、不揮発性メモリ内の前記アドレスで特定されるデータを外部へ出力させる。   In addition, a semiconductor memory device according to the present invention includes a plurality of blocks, a nonvolatile memory capable of rewriting data in units of blocks, a write buffer for storing data sent from the outside, and at least the nonvolatile memory A work memory for storing a block having the same size as one block of the volatile memory, an internal data bus having a bit width wider than that of the external data bus, the work memory and the nonvolatile memory being connected A control circuit including a first storage unit that stores a block number of a block of the nonvolatile memory, and the control circuit receives a control signal indicating a write instruction, an address, and write data from the outside. The write data is taken into the write buffer and all data in the block in the non-volatile memory specified by the address is specified. To the work memory via the internal data bus, erase all data in the block in the nonvolatile memory, and write data in the write buffer to the address of the block in the work memory. And output all the data of the block in the work memory to the position of the block in the nonvolatile memory via the internal data bus, and the first storage unit The control circuit, when a control signal indicating a read instruction and an address are input from the outside, when the block number specified by the address and the block number in the first storage unit are the same, Outputting the data specified by the address in the block in the work memory to the outside; When not scratch, to output the data specified by the address in the nonvolatile memory to the outside.

この発明に係わる半導体記憶装置によれば、制御回路は、外部から書込み指示を示す制御信号と、アドレスと、書込みデータとが入力されたときには、ライトバッファへ書込みデータを取込ませる取込み制御と、この取込み制御と並行して、アドレスで特定させる不揮発性メモリ内のブロックのすべてのデータを内部データバスを介してワークメモリへ出力させ、不揮発性メモリ内の前記ブロックのすべてのデータを消去するとともに、ライトバッファ内の書込みデータをワークメモリ内の前記ブロック内のアドレスに応じた位置に出力させ、その後、ワークメモリ内の前記ブロックのすべてのデータを内部データバスを介して不揮発性メモリ内の前記ブロックの位置へ出力させる書込み制御を行なうので、書込みデータの不揮発性メモリへの書込みを高速に行なうことができる。   According to the semiconductor memory device of the present invention, the control circuit includes a fetch control for fetching the write data into the write buffer when a control signal indicating a write instruction, an address, and the write data are input from the outside. In parallel with this fetch control, all the data in the block in the nonvolatile memory specified by the address is output to the work memory via the internal data bus, and all the data in the block in the nonvolatile memory is erased. The write data in the write buffer is output to a position corresponding to the address in the block in the work memory, and then all the data in the block in the work memory is sent through the internal data bus to the non-volatile memory. Write control to output to block position, so write data to non-volatile memory It is possible to perform writing at a high speed.

また、この発明に係わる半導体記憶装置によれば、制御回路は、外部から書込み指示を示す制御信号と、アドレスと、書込みデータとが入力されたときには、アドレスで特定させる不揮発性メモリ内のブロックのすべてのデータを内部データバスを介してワークメモリへ出力させ、第1記憶部に前記ブロックの番号を格納させ、制御回路は、外部から読出し指示を示す制御信号とアドレスが入力されたときには、アドレスで特定されるブロックの番号と第1記憶部内のブロック番号が同一であるときには、ワークメモリ内のブロック内のアドレスで特定されるデータを外部へ出力させ、同一でないときには、不揮発性メモリ内のアドレスで特定されるデータを外部へ出力させるので、不揮発性メモリからのデータの読出しを高速に行なうことができる。   Further, according to the semiconductor memory device of the present invention, the control circuit receives a control signal indicating a write instruction, an address, and write data from the outside, and the block of the block in the non-volatile memory that is specified by the address. All data is output to the work memory via the internal data bus, the block number is stored in the first storage unit, and the control circuit receives the address when a control signal indicating a read instruction and an address are input from the outside. If the block number specified in step 1 is the same as the block number in the first storage unit, the data specified by the address in the block in the work memory is output to the outside. If not, the address in the nonvolatile memory is output. Because the data specified by is output to the outside, data can be read from the non-volatile memory at high speed It can be.

以下、本発明の実施の形態について、図面を用いて説明する。
<第1の実施形態>
本実施の形態では、書込みデータのライトバッファへの取込みと並行して、フラッシュメモリ内のブロックのデータをワークメモリへ出力させる半導体記憶装置に関する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<First Embodiment>
The present embodiment relates to a semiconductor memory device that outputs block data in a flash memory to a work memory in parallel with fetching of write data into a write buffer.

(構成)
図1は、本実施の形態に係わる半導体記憶装置の構成を示す。同図を参照して、この半導体記憶装置100は、フラッシュメモリ10と、入出力バッファ11と、ライトバッファ12と、ワークメモリ13と、デコーダ14と、制御回路15と、データバス20と、アドレスバス21と、制御信号バス22と、高速バス16とを有する。
(Constitution)
FIG. 1 shows a configuration of a semiconductor memory device according to this embodiment. Referring to FIG. 1, a semiconductor memory device 100 includes a flash memory 10, an input / output buffer 11, a write buffer 12, a work memory 13, a decoder 14, a control circuit 15, a data bus 20, and an address. A bus 21, a control signal bus 22, and a high-speed bus 16 are included.

フラッシュメモリ10は、複数個のブロックで構成される。1個のブロックの大きさは、32Kワード(1ワードは32ビット)であり、m個のブロックにより、1つのバンクが構成される。   The flash memory 10 is composed of a plurality of blocks. The size of one block is 32K words (one word is 32 bits), and one bank is constituted by m blocks.

データバス20は、外部と入出力バッファ11との間で、書込みデータおよび読出しデータが流れるバスである。データバス20のバス幅は、たとえば32ビット幅である。   The data bus 20 is a bus through which write data and read data flow between the outside and the input / output buffer 11. The bus width of the data bus 20 is, for example, 32 bits wide.

制御信号バス22は、外部と制御回路15との間で制御信号が流れるバスである。
高速バス16は、フラッシュメモリ10と、ワークメモリ13と、入出力バッファ11とをそれぞれ接続し、ライトバッファ12とワークメモリ13とを接続するバスである。高速バス16のバス幅は、たとえば128〜256ビット幅である。
The control signal bus 22 is a bus through which a control signal flows between the outside and the control circuit 15.
The high-speed bus 16 is a bus that connects the flash memory 10, the work memory 13, and the input / output buffer 11, and connects the write buffer 12 and the work memory 13. The bus width of the high-speed bus 16 is, for example, 128 to 256 bits wide.

入出力バッファ11は、データバス20から入力されるデータ(書込みデータ)、またはデータバス20へ出力されるデータ(読出しデータ)を一時的に記憶する。書込みデータおよび読出しデータの大きさは、たとえば32ビットである。   The input / output buffer 11 temporarily stores data input from the data bus 20 (write data) or data output to the data bus 20 (read data). The size of the write data and read data is, for example, 32 bits.

ライトバッファ12は、データバス20から入力されて入出力バッファ11に記憶されているデータ、つまり、書込みデータを記憶する。ライトバッファ12は、1つまたは複数の書込みデータを記憶する容量を有する。   The write buffer 12 stores data input from the data bus 20 and stored in the input / output buffer 11, that is, write data. The write buffer 12 has a capacity for storing one or a plurality of write data.

入出力バッファ11およびライトバッファ12は、FIFO(First In First Out)形式でデータの入出力が行なわれる。   The input / output buffer 11 and the write buffer 12 input / output data in a FIFO (First In First Out) format.

ワークメモリ13は、フラッシュメモリ10の1つのブロックのデータを記憶する容量を有する。ワークメモリ13は、フラッシュメモリ10から送られるブロックのデータを記憶する。ワークメモリ13は、ライトバッファ12から送られたデータを、上記記憶しているブロック内のデコードされたアドレスに応じた位置で記憶する。   The work memory 13 has a capacity for storing data of one block of the flash memory 10. The work memory 13 stores block data sent from the flash memory 10. The work memory 13 stores the data sent from the write buffer 12 at a position corresponding to the decoded address in the stored block.

デコーダ14は、アドレスバス21から入力されるアドレスをデコードする。
制御回路15は、書込み動作フラグ格納部17とブロック番号レジスタ18とを備える。
The decoder 14 decodes an address input from the address bus 21.
The control circuit 15 includes a write operation flag storage unit 17 and a block number register 18.

書込み動作フラグ格納部17は、外部から参照可能な書込み動作フラグを格納する。書込み動作フラグの値が「1」のときには、書込み動作が行なわれていることを示し、書込み動作フラグの値が「0」のときには、書込み動作が行なわれていないことを示す。   The write operation flag storage unit 17 stores a write operation flag that can be referred to from the outside. When the value of the write operation flag is “1”, it indicates that the write operation is being performed, and when the value of the write operation flag is “0”, it indicates that the write operation is not being performed.

ブロック番号レジスタ18は、ワークメモリ13に格納されているブロックの番号を記憶する。   The block number register 18 stores the block number stored in the work memory 13.

ここで、レジスタに格納されている値は、外部から参照および設定することが可能であり、フラグの値は、外部からは参照のみが可能であるものとする。これは、以下の実施形態でも同様であるものとする。   Here, it is assumed that the value stored in the register can be referred to and set from the outside, and the flag value can only be referenced from the outside. This also applies to the following embodiments.

制御回路15は、制御信号バス22から入力される制御データに基づいて制御を行なう。   The control circuit 15 performs control based on control data input from the control signal bus 22.

つまり、制御回路15は、書込み時に以下の制御を行なう。制御回路15は、書込み指示を示す制御信号を受けて、入出力バッファ11内のデータを、ライトバッファ12に出力させる。制御回路15は、このライトバッファへのデータの出力と並行して、デコーダ14によりデコードされたアドレスのデータを含むフラッシュメモリ10内のブロック(更新ブロック)を特定し、そのブロックのすべてのデータをフラッシュメモリ10から高速バス16を介して、ワークメモリ13へ取り出し、その後、この更新ブロックの番号をブロック番号レジスタ18に書込む。さらに、制御回路15は、制御回路15内の書込み動作フラグを「1」に設定し、その後、ライトバッファ12内のデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させ、フラッシュメモリ10内の更新ブロックのすべてのデータを消去する。そして、制御回路15は、ワークメモリ13内のすべてのデータを、高速バス16を介して、フラッシュメモリ10の更新ブロックに出力させる。制御回路15は、データの書込み終了後に、書込み動作フラグを「0」に設定する。   That is, the control circuit 15 performs the following control at the time of writing. The control circuit 15 receives the control signal indicating the write instruction and causes the data in the input / output buffer 11 to be output to the write buffer 12. In parallel with the output of the data to the write buffer, the control circuit 15 specifies a block (update block) in the flash memory 10 including the data of the address decoded by the decoder 14, and all the data of the block is stored. The data is taken out from the flash memory 10 to the work memory 13 via the high-speed bus 16, and then the number of the updated block is written into the block number register 18. Further, the control circuit 15 sets the write operation flag in the control circuit 15 to “1”, and then causes the data in the write buffer 12 to be output to a position corresponding to the decoded address in the work memory 13. All data in the update block in the flash memory 10 is erased. Then, the control circuit 15 causes all data in the work memory 13 to be output to the update block of the flash memory 10 via the high-speed bus 16. The control circuit 15 sets the write operation flag to “0” after the completion of data writing.

制御回路15は、読出し時において、以下の制御を行なう。制御回路15は、読出し指示を示す制御信号を受けて、デコーダ14によりデコードされたアドレスのデータを含むブロックを特定し、そのブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロック番号とを比較する。制御回路15は、比較結果が一致であれば、ワークメモリ13内のデータを読出しデータとして、高速バス16を介して入出力バッファ11に出力させる。制御回路15は、比較結果が不一致であれば、デコードされたアドレスで特定されるフラッシュメモリ10内のブロックのデータを読出しデータとして、高速バス16を介して、入出力バッファ11へ出力させる。   The control circuit 15 performs the following control during reading. The control circuit 15 receives the control signal indicating the read instruction, specifies the block including the data of the address decoded by the decoder 14, the block number of the block, the block number stored in the block number register 18, and Compare If the comparison results match, the control circuit 15 causes the data in the work memory 13 to be output as read data to the input / output buffer 11 via the high-speed bus 16. If the comparison result does not match, the control circuit 15 causes the block data in the flash memory 10 specified by the decoded address to be output as read data to the input / output buffer 11 via the high-speed bus 16.

(書込み処理の動作)
次に、この半導体記憶装置100の書込み処理の動作について説明する。図2は、書込み処理の動作手順を示すフローチャートである。
(Write operation)
Next, the write processing operation of the semiconductor memory device 100 will be described. FIG. 2 is a flowchart showing the operation procedure of the writing process.

まず、外部より、書込み指示を示す制御信号と、書込みデータと、アドレスとが、それぞれ、制御回路15、入出力バッファ11、デコーダ14に入力される(ステップS301)。   First, a control signal indicating a write instruction, write data, and an address are input from the outside to the control circuit 15, the input / output buffer 11, and the decoder 14 (step S301).

制御回路15は、上記制御信号を受けて、入出力バッファ11内の書込みデータを、ライトバッファ12に出力させる。また、これと同時に、制御回路15は、デコーダ14でデコードされたアドレスのデータを含むフラッシュメモリ10内のブロックを更新ブロックとして特定し、更新ブロック内のすべてのデータを高速バス16を介してワークメモリ13へ出力させる。制御回路15は、この更新ブロックの番号をブロック番号レジスタ18に書込む(ステップS302)。   In response to the control signal, the control circuit 15 causes the write buffer 12 to output write data in the input / output buffer 11. At the same time, the control circuit 15 identifies the block in the flash memory 10 including the data of the address decoded by the decoder 14 as an update block, and all the data in the update block is processed via the high-speed bus 16. Output to the memory 13. The control circuit 15 writes the updated block number in the block number register 18 (step S302).

次に、制御回路15は、書込み動作フラグを「1」に設定し(ステップS303)、その後、ライトバッファ12内の書込みデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させる(ステップS304)。   Next, the control circuit 15 sets the write operation flag to “1” (step S303), and then causes the write data in the write buffer 12 to be output to a position corresponding to the decoded address in the work memory 13. (Step S304).

制御回路15は、フラッシュメモリ10内の更新ブロック内のすべてのデータを消去する(ステップS305)。   The control circuit 15 erases all data in the update block in the flash memory 10 (step S305).

次に、制御回路15は、ワークメモリ13に記憶されているすべてのデータを、フラッシュメモリ10の更新ブロックに出力させる(ステップS306)。   Next, the control circuit 15 causes all data stored in the work memory 13 to be output to the update block of the flash memory 10 (step S306).

次に、制御回路15は、書込み動作フラグを「0」に設定する(ステップS307)。
(読出し処理の動作)
次に、この半導体記憶装置100の読出し処理の動作について説明する。図3は、読出し処理の動作手順を示すフローチャートである。
Next, the control circuit 15 sets the write operation flag to “0” (step S307).
(Operation of read processing)
Next, the read processing operation of the semiconductor memory device 100 will be described. FIG. 3 is a flowchart showing the operation procedure of the reading process.

まず、外部より、読出し指示を示す制御信号と、アドレスとが、それぞれ、制御回路15、デコーダ14に入力される(ステップS401)。   First, a control signal indicating a read instruction and an address are input from the outside to the control circuit 15 and the decoder 14 (step S401).

制御回路15は、上記制御信号を受けて、デコーダ14でデコードされたアドレスのデータを含むブロックを特定し、そのブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロックの番号とを比較する(ステップS402)。   In response to the control signal, the control circuit 15 identifies the block containing the address data decoded by the decoder 14 and compares the block number of the block with the block number stored in the block number register 18. (Step S402).

制御回路15は、比較結果が一致であれば、ワークメモリ13に記憶されているデコードされたアドレスのデータを読出しデータとして、高速バス16を介して入出力バッファ11へ出力させる(ステップS403)。   If the comparison results match, the control circuit 15 outputs the decoded address data stored in the work memory 13 as read data to the input / output buffer 11 via the high-speed bus 16 (step S403).

制御回路15は、比較結果が不一致であれば、フラッシュメモリ10内のデコードされたアドレスのデータを、読出しデータとして、高速バス16を介して、入出力バッファ11へ出力させる(ステップS404)。   If the comparison result does not match, the control circuit 15 outputs the decoded address data in the flash memory 10 to the input / output buffer 11 as read data via the high-speed bus 16 (step S404).

入出力バッファ11内の読出しデータは、データバス20を介して外部へ出力される(ステップS405)。   The read data in the input / output buffer 11 is output to the outside via the data bus 20 (step S405).

以上のように、本実施の形態に係わる半導体記憶装置では、制御回路15は、書込み指示を示す制御信号を受けると、入出力バッファ11内の書込みデータをライトバッファ12に出力させるのと同時に、デコードされたアドレスのデータを含むフラッシュメモリ10内のブロックを更新ブロックとして特定し、更新ブロック内のすべてのデータを高速バス16を介してワークメモリ13へ出力させるので、データの書込みを高速に行なうことができる。   As described above, in the semiconductor memory device according to the present embodiment, when receiving the control signal indicating the write instruction, the control circuit 15 simultaneously outputs the write data in the input / output buffer 11 to the write buffer 12. Since the block in the flash memory 10 including the decoded address data is specified as an update block, and all the data in the update block is output to the work memory 13 via the high-speed bus 16, data is written at high speed. be able to.

また、制御回路15は、この更新ブロックの番号をブロック番号レジスタ18に書込み、制御回路15は、読出し指示を示す制御信号を受けて、デコードされたアドレスのデータを含むブロックを特定し、そのブロックのブロック番号とブロック番号レジスタ18に格納されているブロック番号とが一致していれば、ワークメモリ13内のデータを読出しデータとして、高速バス16を介して入出力バッファ11に出力させるので、データの読出しを高速に行なうことができる。   Further, the control circuit 15 writes the number of the updated block in the block number register 18, and the control circuit 15 receives the control signal indicating the read instruction, specifies the block including the data of the decoded address, and If the block number stored in the block number register 18 matches the block number stored in the block number register 18, the data in the work memory 13 is output as read data to the input / output buffer 11 via the high-speed bus 16. Can be read at high speed.

また、制御回路15は、書込みを指示する制御信号を受けると、ワークメモリ13に記憶されているすべてのデータがフラッシュメモリ10の更新ブロックに出力されるまで、書込み動作フラグの値を「1」に設定するので、外部では、この書込み動作フラグを参照して書込み動作フラグの値が「1」のときには、書込みを行なわないようにすることができる。   Further, when the control circuit 15 receives the control signal instructing writing, the control circuit 15 sets the value of the write operation flag to “1” until all the data stored in the work memory 13 is output to the update block of the flash memory 10. Therefore, externally, referring to this write operation flag, when the value of the write operation flag is “1”, it is possible to prevent writing.

<第2の実施形態>
本実施の形態は、データの書込みに際して、フラッシュメモリ内のブロックのうち、有効なデータを含むブロックのみワークメモリへ出力させる半導体記憶装置に関する。
<Second Embodiment>
The present embodiment relates to a semiconductor memory device that outputs, to a work memory, only a block including valid data among blocks in a flash memory when data is written.

図4は、本実施の形態に係わる半導体記憶装置の構成を示す。同図の半導体記憶装置50の構成要素のうち、第1の実施形態に係わる半導体記憶装置100の構成要素と同一のものについては、同一の符号を付す。以下、第1の実施形態に係わる半導体記憶装置100と相違する点について説明する。   FIG. 4 shows the configuration of the semiconductor memory device according to this embodiment. Of the constituent elements of the semiconductor memory device 50 shown in the figure, the same constituent elements as those of the semiconductor memory device 100 according to the first embodiment are denoted by the same reference numerals. Hereinafter, differences from the semiconductor memory device 100 according to the first embodiment will be described.

フラッシュメモリ56は、複数個のブロックを含み、有効性フラグ格納部57を含む。有効性フラグ格納部57は、ブロックごとに有効性フラグを格納する。有効性フラグの値が「1」のときには、対応するブロック内のデータが有効であることを示し、有効性フラグの値が「0」のときには、対応するブロック内のデータがすべて無効であることを示す。ここで、データが有効であるとは、そのデータが将来、使用される可能性のあるデータであることを意味し、データが無効であるとは、そのデータが将来、使用されることのないデータであることを意味し、上書きされてもよいことを意味する。フラッシュメモリ56のどのブロックにも未だ何も書込まれていないときには、すべてのブロックの有効性フラグは、「0」に設定されている。   The flash memory 56 includes a plurality of blocks and includes an validity flag storage unit 57. The validity flag storage unit 57 stores an validity flag for each block. When the value of the validity flag is “1”, this indicates that the data in the corresponding block is valid. When the value of the validity flag is “0”, all the data in the corresponding block is invalid. Indicates. Here, data is valid means that the data may be used in the future, and data is invalid if the data is not used in the future. This means that it is data and may be overwritten. When nothing is written in any block of the flash memory 56, the validity flags of all the blocks are set to “0”.

制御回路55は、フラッシュメモリ56内のブロックにデータを書込んだときに、そのブロックの有効性フラグを「1」に設定する。   When the control circuit 55 writes data to a block in the flash memory 56, the validity flag of the block is set to “1”.

制御回路55は、フラッシュメモリ56内の更新ブロックの有効性フラグの値が「1」のときには、第1の実施形態と同様に書込みデータの書込みを行なう。   When the value of the validity flag of the update block in the flash memory 56 is “1”, the control circuit 55 writes the write data as in the first embodiment.

一方、制御回路55は、フラッシュメモリ56内の更新ブロックの有効性フラグの値が「0」のときには、フラッシュメモリ56内の更新ブロック内のすべてのデータを高速バス16を介してワークメモリ13へ出力させる処理を行なわず、フラッシュメモリ56内の更新ブロック内のすべてのデータを消去する処理を行なわない。   On the other hand, when the value of the validity flag of the update block in the flash memory 56 is “0”, the control circuit 55 transfers all the data in the update block in the flash memory 56 to the work memory 13 via the high-speed bus 16. The process of outputting is not performed, and the process of erasing all the data in the update block in the flash memory 56 is not performed.

(書込み処理の動作)
次に、この半導体記憶装置50の書込み処理の動作について説明する。図5は、書込み処理の動作手順を示すフローチャートである。
(Write operation)
Next, the write processing operation of the semiconductor memory device 50 will be described. FIG. 5 is a flowchart showing an operation procedure of the writing process.

まず、外部より、書込み指示を示す制御信号と、書込みデータと、アドレスとが、それぞれ、制御回路55、入出力バッファ11、デコーダ14に入力される(ステップS501)。   First, a control signal indicating a write instruction, write data, and an address are input from the outside to the control circuit 55, the input / output buffer 11, and the decoder 14 (step S501).

制御回路55は、上記制御信号を受けて、入出力バッファ11内の上記書込みデータを、ライトバッファ12に出力させる(ステップS502)。   In response to the control signal, the control circuit 55 causes the write buffer 12 to output the write data in the input / output buffer 11 (step S502).

制御回路55は、デコーダ14でデコードされたアドレスのデータを含むブロックを更新ブロックとして特定し、その更新ブロックの有効性フラグを調べる(ステップS503)。   The control circuit 55 identifies the block including the data at the address decoded by the decoder 14 as an update block, and checks the validity flag of the update block (step S503).

制御回路55は、有効性フラグの値が「1」であれば、更新ブロック内のすべてのデータをフラッシュメモリ56から高速バス16を介して、ワークメモリ13へ出力させる(ステップS504)。   If the value of the validity flag is “1”, the control circuit 55 causes all data in the update block to be output from the flash memory 56 to the work memory 13 via the high-speed bus 16 (step S504).

制御回路55は、更新ブロックの番号をブロック番号レジスタ18に書込む(ステップS505)。   The control circuit 55 writes the update block number in the block number register 18 (step S505).

次に、制御回路55は、書込み動作フラグを「1」に設定し(ステップS506)、その後、ライトバッファ12内の書込みデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させる(ステップS507)。   Next, the control circuit 55 sets the write operation flag to “1” (step S506), and then causes the write data in the write buffer 12 to be output to a position corresponding to the decoded address in the work memory 13. (Step S507).

制御回路55は、フラッシュメモリ56内の更新ブロック内のすべてのデータを消去する(ステップS508)。   The control circuit 55 erases all the data in the update block in the flash memory 56 (step S508).

次に、制御回路55は、ワークメモリ13に記憶されているすべてのデータを、フラッシュメモリ56の更新ブロックに出力させる(ステップS509)。   Next, the control circuit 55 causes all data stored in the work memory 13 to be output to the update block of the flash memory 56 (step S509).

次に、制御回路55は、書込み動作フラグを「0」に設定する(ステップS510)。
一方、制御回路55は、有効性フラグの値が「0」であれば、更新ブロックの番号をブロック番号レジスタ18に書込む(ステップS511)。
Next, the control circuit 55 sets the write operation flag to “0” (step S510).
On the other hand, if the value of the validity flag is “0”, the control circuit 55 writes the update block number in the block number register 18 (step S511).

次に、制御回路55は、書込み動作フラグを「1」に設定し(ステップS512)、その後、ライトバッファ12内の書込みデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させる(ステップS513)。   Next, the control circuit 55 sets the write operation flag to “1” (step S512), and then causes the write data in the write buffer 12 to be output to a position corresponding to the decoded address in the work memory 13. (Step S513).

次に、制御回路55は、ワークメモリ13に記憶されているすべてのデータを、フラッシュメモリ56の更新ブロックに出力させる(ステップS514)。   Next, the control circuit 55 causes all data stored in the work memory 13 to be output to the update block of the flash memory 56 (step S514).

次に、制御回路55は、書込み動作フラグを「0」に設定する(ステップS515)。
次に、制御回路55は、更新ブロックに対応する有効性フラグを「1」に設定する(ステップS516)。
Next, the control circuit 55 sets the write operation flag to “0” (step S515).
Next, the control circuit 55 sets the validity flag corresponding to the update block to “1” (step S516).

(読出し処理の動作)
この半導体記憶装置50の読出し処理の動作は、第1の実施形態に係わる半導体記憶装置100の読出し処理の動作と同様なので、ここでは、説明は繰返さない。
(Operation of read processing)
Since the read processing operation of the semiconductor memory device 50 is the same as the read processing operation of the semiconductor memory device 100 according to the first embodiment, description thereof will not be repeated here.

以上のように、本実施の形態に係わる半導体記憶装置では、データの書込みに際して、フラッシュメモリ内のブロックのうち、有効なデータを含むブロックのみがワークメモリへ出力させるので、将来使用されることのない無効なデータのみからなるブロックはワークメモリへ出力されないので、データの書込みの高速化を図ることができる。   As described above, in the semiconductor memory device according to the present embodiment, when writing data, only blocks including valid data among the blocks in the flash memory are output to the work memory. Since a block consisting only of invalid data is not output to the work memory, the data writing speed can be increased.

<第3の実施形態>
本実施の形態は、1個以上のブロックのデータを記憶するライトバッファを備えた半導体記憶装置に関する。
<Third Embodiment>
The present embodiment relates to a semiconductor memory device including a write buffer that stores data of one or more blocks.

図6は、本実施の形態に係わる半導体記憶装置の構成を示す。同図の半導体記憶装置200の構成要素のうち、第1の実施形態に係わる半導体記憶装置100の構成要素と同一のものについては、同一の符号を付す。以下、第1の実施形態に係わる半導体記憶装置100と相違する点について説明する。   FIG. 6 shows the configuration of the semiconductor memory device according to this embodiment. Of the constituent elements of the semiconductor memory device 200 shown in FIG. 9, the same constituent elements as those of the semiconductor memory device 100 according to the first embodiment are denoted by the same reference numerals. Hereinafter, differences from the semiconductor memory device 100 according to the first embodiment will be described.

半導体記憶装置200は、複数個のライトバッファ27a〜cを含む。各ライトバッファは、1つのブロックのデータを記憶する容量を有する。ライトバッファ27a〜cは、順序付けられている。ライトバッファ27aは、第1番目、ライトバッファ27bは、第2番目、ライトバッファ27cは、第3番目に順序付けられる。   The semiconductor memory device 200 includes a plurality of write buffers 27a to 27c. Each write buffer has a capacity for storing data of one block. Write buffers 27a-c are ordered. The write buffer 27a is ordered first, the write buffer 27b is ordered second, and the write buffer 27c is ordered third.

制御回路25は、第1の実施形態と同様のブロック番号レジスタ18を含む。
制御回路25は、入出力バッファ11に入力される複数個の書込みデータを、次のようにして、ライトバッファ27a〜cに出力させる。
The control circuit 25 includes the same block number register 18 as in the first embodiment.
The control circuit 25 outputs a plurality of write data input to the input / output buffer 11 to the write buffers 27a to 27c as follows.

制御回路25は、まず、入力バッファ11に入力された書込みデータを第1番目のライトバッファ27aに出力させる。ライトバッファ27a内の先頭の書込みデータの格納位置は、アドレスに応じた位置とする。制御回路25は、ライトバッファ27aの末端の位置まで書込みデータが格納されたときには、書込みデータを第2番目のライトバッファ27bに出力させる。さらに、制御回路25は、ライトバッファ27bの末端まで書込みデータが格納されたときには、書込みデータを3番目のライトバッファ27cに出力させる。   First, the control circuit 25 causes the write data input to the input buffer 11 to be output to the first write buffer 27a. The storage position of the first write data in the write buffer 27a is a position corresponding to the address. When the write data is stored up to the end position of the write buffer 27a, the control circuit 25 outputs the write data to the second write buffer 27b. Further, when the write data is stored up to the end of the write buffer 27b, the control circuit 25 outputs the write data to the third write buffer 27c.

制御回路25は、ライトバッファ27a〜cのうち、書込みデータが格納されているライトバッファであって、順序が先のライトバッファから順次、出力ライトバッファとして特定する。   The control circuit 25 is a write buffer in which write data is stored among the write buffers 27a to 27c, and specifies the output write buffer sequentially from the write buffer in the order.

制御回路25は、デコーダ14でデコードされたアドレスと、特定された出力ライトバッファの順序によって定まるフラッシュメモリ10内のブロックを更新ブロックとして特定する。すなわち、制御回路25は、出力ライトバッファが第1番目のライトバッファ27aのときには、デコードされたアドレスのデータを含むフラッシュメモリ10内のブロックを更新ブロックとして特定し、出力ライトバッファが2番目のライトバッファ27bのときには、デコードされたアドレスのデータを含むフラッシュメモリ10内のブロックに後続する1番目のブロックを更新ブロックとして特定し、出力ライトバッファが3番目のライトバッファ27cのときには、デコードされたアドレスのデータを含むフラッシュメモリ10内のブロックに後続する2番目のブロックを更新ブロックとして特定する。   The control circuit 25 specifies a block in the flash memory 10 determined by the address decoded by the decoder 14 and the order of the specified output write buffer as an update block. That is, when the output write buffer is the first write buffer 27a, the control circuit 25 specifies the block in the flash memory 10 including the data of the decoded address as an update block, and the output write buffer is the second write buffer. In the case of the buffer 27b, the first block subsequent to the block in the flash memory 10 including the data of the decoded address is specified as an update block. When the output write buffer is the third write buffer 27c, the decoded address is specified. The second block following the block in the flash memory 10 including the data is specified as an update block.

制御回路25は、更新ブロックのすべてのデータを高速バス16を介してワークメモリ13へ出力させる。   The control circuit 25 causes all data in the update block to be output to the work memory 13 via the high-speed bus 16.

制御回路25は、出力ライトバッファ内のすべてのデータをワークメモリ13に出力させる。ここで、出力ライトバッファからワークメモリ13へ書込みデータを出力する時点までに、外部からの書込みデータがその出力ライトバッファに取込まれることが保証されているものとする。   The control circuit 25 causes all data in the output write buffer to be output to the work memory 13. Here, it is assumed that the write data from the outside is taken into the output write buffer by the time when the write data is output from the output write buffer to the work memory 13.

制御回路25は、フラッシュメモリ10内の更新ブロック内のすべてのデータを消去する。制御回路25は、ワークメモリ13に記憶されているすべてのデータを、フラッシュメモリ10の更新ブロックに出力させる。   The control circuit 25 erases all data in the update block in the flash memory 10. The control circuit 25 causes all data stored in the work memory 13 to be output to the update block of the flash memory 10.

(書込み処理の動作)
次に、この半導体記憶装置200の書込み処理の動作について説明する。図7は、書込み処理の動作手順を示すフローチャートである。
(Write operation)
Next, the write processing operation of the semiconductor memory device 200 will be described. FIG. 7 is a flowchart showing the operation procedure of the writing process.

まず、外部より、書込み指示を示す制御信号と、アドレスと、複数個の書込みデータとが、それぞれ、制御回路25、デコーダ14、入出力バッファ11に入力される(ステップS601)。   First, a control signal indicating a write instruction, an address, and a plurality of write data are input from the outside to the control circuit 25, the decoder 14, and the input / output buffer 11 (step S601).

制御回路25は、入出力バッファ11へ入力される書込みデータを、順序が先のライトバッファから順次、そのライトバッファへ出力させる(ステップS602)。   The control circuit 25 causes the write data input to the input / output buffer 11 to be sequentially output from the write buffer with the first order to the write buffer (step S602).

次に、制御回路25は、書込みデータが格納されているライトバッファであって、順序が最先のライトバッファを出力ライトバッファとして特定する。また、制御回路25は、デコーダ14でデコードされたアドレスと、特定された出力ライトバッファの順序によって定まるフラッシュメモリ10内のブロックを更新ブロックとして特定する(ステップS603)。   Next, the control circuit 25 identifies the write buffer in which the write data is stored and which has the earliest order as the output write buffer. Further, the control circuit 25 specifies a block in the flash memory 10 determined by the address decoded by the decoder 14 and the order of the specified output write buffer as an update block (step S603).

制御回路25は、更新ブロックのすべてのデータを高速バス16を介して、ワークメモリ13へ出力させる(ステップS604)。   The control circuit 25 causes all data in the update block to be output to the work memory 13 via the high-speed bus 16 (step S604).

制御回路25は、更新ブロックの番号をブロック番号レジスタ18に書込む(ステップS605)。   The control circuit 25 writes the update block number into the block number register 18 (step S605).

制御回路25は、出力ライトバッファ内のすべての書込みデータをワークメモリ13へ出力させる(ステップS606)。   The control circuit 25 outputs all the write data in the output write buffer to the work memory 13 (step S606).

制御回路25は、フラッシュメモリ10内の更新ブロック内のすべてのデータを消去する(ステップS607)。   The control circuit 25 erases all data in the update block in the flash memory 10 (step S607).

次に、制御回路25は、ワークメモリ13に記憶されているすべてのデータを、フラッシュメモリ10の更新ブロックに出力させる(ステップS608)。   Next, the control circuit 25 causes all data stored in the work memory 13 to be output to the update block of the flash memory 10 (step S608).

次に、制御回路25は、いずれかのライトバッファに書込みデータが格納されている場合には、書込み処理を続行し、いずれのライトバッファにも書込みデータが格納されていない場合には、書込み処理を中止する(ステップS609)。   Next, the control circuit 25 continues the writing process when the write data is stored in any of the write buffers, and the write process when the write data is not stored in any of the write buffers. Is canceled (step S609).

(読出し処理の動作)
この半導体記憶装置200の読出し処理の動作は、第1の実施形態に係わる半導体記憶装置100の読出し処理の動作と同様なので、ここでは、説明は繰返さない。
(Operation of read processing)
Since the read processing operation of semiconductor memory device 200 is the same as the read processing operation of semiconductor memory device 100 according to the first embodiment, description thereof will not be repeated here.

以上のように、本実施の形態に係わる半導体記憶装置では、ライトバッファが1個以上のブロックのデータを記憶し、制御回路が順次、ライトバッファ内の各ブロックのデータをフラッシュメモリの対応するブロックへ出力させるので、外部から連続してデータの書込みを行なうことができる。   As described above, in the semiconductor memory device according to the present embodiment, the write buffer stores data of one or more blocks, and the control circuit sequentially transfers the data of each block in the write buffer to the corresponding block of the flash memory. Therefore, data can be written continuously from the outside.

<第4の実施形態>
本実施の形態は、ワークメモリをミラーメモリとして利用する半導体記憶装置に関する。ここで、ミラーメモリとは、外部からのフラッシュメモリへのデータの書込みおよび読込みに対して、フラッシュメモリに代わって外部からのデータ書込みおよび読込みに応じるメモリを意味する。
<Fourth Embodiment>
The present embodiment relates to a semiconductor memory device that uses a work memory as a mirror memory. Here, the mirror memory means a memory that responds to external data writing and reading instead of the flash memory in response to external data writing and reading to the flash memory.

(構成)
図8は、本実施の形態に係わる半導体記憶装置の構成を示す。同図の半導体記憶装置30の構成要素のうち、第1の実施形態に係わる半導体記憶装置100の構成要素と同一のものについては、同一の符号を付す。以下、第1の実施形態に係わる半導体記憶装置100と相違する点について説明する。
(Constitution)
FIG. 8 shows the configuration of the semiconductor memory device according to this embodiment. Of the constituent elements of the semiconductor memory device 30 shown in the figure, the same constituent elements as those of the semiconductor memory device 100 according to the first embodiment are denoted by the same reference numerals. Hereinafter, differences from the semiconductor memory device 100 according to the first embodiment will be described.

制御回路35は、書込み制御レジスタ36と、ワークメモリクリアレジスタ37と、読出し完了フラグ格納部38とを含む。   The control circuit 35 includes a write control register 36, a work memory clear register 37, and a read completion flag storage unit 38.

書込み制御レジスタ36の値が「1」のときには、ワークメモリレジスタ37の値が「0」であれば、ワークメモリ13内のデータのフラッシュメモリ10への出力が許可されている状態を示す。   When the value of the write control register 36 is “1”, if the value of the work memory register 37 is “0”, the output of the data in the work memory 13 to the flash memory 10 is permitted.

書込み制御レジスタ36の値が「0」のときには、ワークメモリ13内のデータのフラッシュメモリ10への出力が禁止されている状態を示す。   When the value of the write control register 36 is “0”, it indicates a state where the output of the data in the work memory 13 to the flash memory 10 is prohibited.

ワークメモリクリアレジスタ37の値が「1」のときには、ワークメモリ13内のすべてのデータが「0」に初期化され、書込み制御レジスタ36の値が「1」であっても、ワークメモリ13内のデータのフラッシュメモリ10への出力が禁止されている状態を示す。   When the value of the work memory clear register 37 is “1”, all data in the work memory 13 is initialized to “0”, and even if the value of the write control register 36 is “1”, the data in the work memory 13 This shows a state in which the output of the data to the flash memory 10 is prohibited.

ワークメモリクリアレジスタ37の値が「0」のときには、書込み制御レジスタ36の値が「1」であれば、ワークメモリ内のデータのフラッシュメモリ10への出力が許可されている状態を示す。   When the value of the work memory clear register 37 is “0”, if the value of the write control register 36 is “1”, it indicates that output of data in the work memory to the flash memory 10 is permitted.

読出し完了フラグ格納部38は、読出し完了フラグを格納する。読出し完了フラグの値が「1」のときには、ミラーメモリ設定が終了した状態、すなわち、フラッシュメモリ10のブロックのデータのワークメモリへの読出しが完了した状態を示す。読出し完了フラグの値が「0」のときには、ミラーメモリ設定が終了していない状態を示す。   The read completion flag storage unit 38 stores a read completion flag. When the value of the read completion flag is “1”, the mirror memory setting is completed, that is, the reading of the block data of the flash memory 10 to the work memory is completed. When the value of the read completion flag is “0”, the mirror memory setting is not completed.

制御回路35は、ミラーメモリ設定指示を示す制御信号が入力されると、デコードされたアドレスのデータを含むフラッシュメモリ10内のブロックを2重化ブロックとして特定し、この2重化ブロックのすべてのデータを高速バス16を介してワークメモリ13へ出力させる。そして、制御回路35は、読出し完了フラグを「1」に設定する。読出し完了フラグの値が「1」になった後に、外部より書込み指示を示す制御信号、または読出し指示を示す制御信号が入力される。制御回路35は、2重化ブロックの番号をブロック番号レジスタ18に書込み、書込み制御レジスタ36の値を「0」に設定する。書込み制御レジスタ36の値が「0」になると、ワークメモリ13からフラッシュメモリ10へのデータの出力が禁止される。   When the control signal indicating the mirror memory setting instruction is input, the control circuit 35 identifies the block in the flash memory 10 including the data of the decoded address as a duplex block, and all of the duplex blocks are specified. Data is output to the work memory 13 via the high-speed bus 16. Then, the control circuit 35 sets the read completion flag to “1”. After the value of the read completion flag becomes “1”, a control signal indicating a write instruction or a control signal indicating a read instruction is input from the outside. The control circuit 35 writes the duplex block number into the block number register 18 and sets the value of the write control register 36 to “0”. When the value of the write control register 36 becomes “0”, data output from the work memory 13 to the flash memory 10 is prohibited.

制御回路35は、書込み指示を示す制御信号が入力されると、入出力バッファ11内のデータを、ライトバッファ12に出力させる。そして、制御回路35は、デコードされたアドレスのデータを含むブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロック番号とを比較し、比較結果が一致しているときのみ、ライトバッファ12内の書込みデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させる。   When a control signal indicating a write instruction is input, the control circuit 35 causes the write buffer 12 to output data in the input / output buffer 11. Then, the control circuit 35 compares the block number of the block including the data of the decoded address with the block number stored in the block number register 18, and only when the comparison result matches, the write buffer 12 The write data is output to a position corresponding to the decoded address in the work memory 13.

制御回路35は、読出し指示を示す制御信号が入力されると、第1の実施形態と同様の処理を行なう。すなわち、制御回路35は、デコーダ14によりデコードされたアドレスのデータを含むブロックを特定し、そのブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロック番号とを比較する。制御回路35は、比較結果が一致であれば、ワークメモリ13内のデータを読出しデータとして、高速バス16を介して入出力バッファ11に出力させる。制御回路35は、比較結果が不一致であれば、デコードされたアドレスで特定されるフラッシュメモリ10内のブロックのデータを読出しデータとして、高速バス16を介して、入出力バッファ11へ出力させる。   When a control signal indicating a read instruction is input, the control circuit 35 performs the same processing as in the first embodiment. That is, the control circuit 35 specifies a block including data at the address decoded by the decoder 14 and compares the block number of the block with the block number stored in the block number register 18. If the comparison results match, the control circuit 35 causes the data in the work memory 13 to be output as read data to the input / output buffer 11 via the high-speed bus 16. If the comparison result does not match, the control circuit 35 causes the block data in the flash memory 10 specified by the decoded address to be output as read data to the input / output buffer 11 via the high-speed bus 16.

制御回路35は、ミラーメモリのクリアを指示する制御信号が入力されると、ワークメモリクリアレジスタ37の値を「1」に設定する。制御回路35は、ワークメモリ内のデータを消去する。   When a control signal instructing clearing of the mirror memory is input, the control circuit 35 sets the value of the work memory clear register 37 to “1”. The control circuit 35 erases data in the work memory.

制御回路35は、バックアップを指示する制御信号が入力されると、書込み制御レジスタ36の値を「1」に設定する。制御回路35は、書込み制御レジスタ36の値が「1」に設定され、かつワークメモリクリアレジスタ37の値が「0」に設定されている場合に、フラッシュメモリ10内の2重化ブロックのデータを消去し、ワークメモリ内のすべてのデータを高速バス16を介してフラッシュメモリ10の2重化ブロックに出力させる。   When a control signal instructing backup is input, the control circuit 35 sets the value of the write control register 36 to “1”. When the value of the write control register 36 is set to “1” and the value of the work memory clear register 37 is set to “0”, the control circuit 35 stores the data of the duplicated block in the flash memory 10. And all the data in the work memory is output to the duplex block of the flash memory 10 via the high-speed bus 16.

(ミラーメモリ設定処理の動作)
次に、この半導体記憶装置30のミラーメモリ設定処理の動作について説明する。図9は、ミラーメモリ設定処理の動作手順を示すフローチャートである。
(Mirror memory setting process operation)
Next, the operation of the mirror memory setting process of the semiconductor memory device 30 will be described. FIG. 9 is a flowchart showing the operation procedure of the mirror memory setting process.

まず、外部より、ミラーメモリ設定指示を示す制御信号と、アドレスとが、それぞれ、制御回路35、デコーダ14に入力される(ステップ701)。   First, a control signal indicating a mirror memory setting instruction and an address are input from the outside to the control circuit 35 and the decoder 14 (step 701).

次に、制御回路35は、上記制御信号を受けて、デコーダ14でデコードされたアドレスのデータを含むフラッシュメモリ10内のブロックを2重化ブロックとして特定し、この2重化ブロックのすべてのデータを高速バス16を介して、ワークメモリ13へ出力させる(ステップS702)。   Next, in response to the control signal, the control circuit 35 specifies a block in the flash memory 10 including the data of the address decoded by the decoder 14 as a duplex block, and all the data of the duplex block. Are output to the work memory 13 via the high-speed bus 16 (step S702).

制御回路35は、読出し完了フラグを「1」に設定する(ステップS703)。
制御回路35は、この2重化ブロックの番号をブロック番号レジスタ18に書込む(ステップS704)。
The control circuit 35 sets the read completion flag to “1” (step S703).
The control circuit 35 writes the duplex block number in the block number register 18 (step S704).

制御回路35は、書込み制御レジスタ36の値を「0」に設定する(ステップS705)。   The control circuit 35 sets the value of the write control register 36 to “0” (step S705).

(読出し処理の動作)
読出し完了フラグが「1」に設定された後、外部より、読出し指示を示す制御信号と、アドレスとが、それぞれ、制御回路35、デコーダ14に入力される。以下の読出し動作は、第1〜第3の実施形態と同様なので、説明は繰返さない。
(Operation of read processing)
After the read completion flag is set to “1”, a control signal indicating a read instruction and an address are input from the outside to the control circuit 35 and the decoder 14, respectively. Since the following read operation is the same as that in the first to third embodiments, description thereof will not be repeated.

(書込み処理の動作)
次に、この半導体記憶装置30の書込み処理の動作について説明する。図10は、書込み処理の動作手順を示すフローチャートである。
(Write operation)
Next, the write processing operation of the semiconductor memory device 30 will be described. FIG. 10 is a flowchart showing the operation procedure of the writing process.

読出し完了フラグが「1」に設定された後、外部より、書込み指示を示す制御信号と、書込みデータと、アドレスとが、それぞれ、制御回路35、入出力バッファ11、デコーダ14に入力される(ステップS801)。   After the read completion flag is set to “1”, a control signal indicating a write instruction, write data, and an address are input from the outside to the control circuit 35, the input / output buffer 11, and the decoder 14 ( Step S801).

制御回路35は、上記制御信号を受けて、入出力バッファ11内のデータを、ライトバッファ12に出力させる(ステップS802)。   In response to the control signal, the control circuit 35 outputs the data in the input / output buffer 11 to the write buffer 12 (step S802).

制御回路35は、上記制御信号を受けて、デコーダ14でデコードされたアドレスのデータを含むブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロック番号とを比較する(ステップS803)。   In response to the control signal, the control circuit 35 compares the block number of the block including the address data decoded by the decoder 14 with the block number stored in the block number register 18 (step S803).

制御回路35は、比較結果が一致しているときのみ、ライトバッファ12内の書込みデータを、ワークメモリ13内のデコードされたアドレスに応じた位置に出力させる(ステップS804)。   The control circuit 35 outputs the write data in the write buffer 12 to a position corresponding to the decoded address in the work memory 13 only when the comparison results match (step S804).

(バックアップ処理の動作)
次に、この半導体記憶装置30のバックアップ処理の動作について説明する。図11は、バックアップ処理の動作手順を示すフローチャートである。
(Operation of backup processing)
Next, the backup processing operation of the semiconductor memory device 30 will be described. FIG. 11 is a flowchart showing an operation procedure of backup processing.

外部より、ミラーメモリのクリアを指示する制御信号が、制御回路35に入力されると(ステップS901)、制御回路35は、ワークメモリクリアレジスタ37の値を「1」に設定する(ステップS902)。   When a control signal instructing to clear the mirror memory is input from the outside to the control circuit 35 (step S901), the control circuit 35 sets the value of the work memory clear register 37 to “1” (step S902). .

制御回路35は、ワークメモリ内のデータを消去する(ステップS903)。
外部より、ワークメモリのフラッシュメモリへのバックアップを指示する制御信号が制御回路35に入力される(ステップS904)。
The control circuit 35 erases the data in the work memory (step S903).
A control signal for instructing backup of the work memory to the flash memory is input to the control circuit 35 from the outside (step S904).

制御回路35は、上記制御信号を受けて、書込み制御レジスタ36の値を「1」に設定する(ステップS905)。   The control circuit 35 receives the control signal and sets the value of the write control register 36 to “1” (step S905).

制御回路35は、書込み制御レジスタ36の値と、ワークメモリクリアレジスタ37の値を調べる(ステップS906)。   The control circuit 35 checks the value of the write control register 36 and the value of the work memory clear register 37 (step S906).

制御回路35は、書込み制御レジスタ36の値が「1」に設定され、かつワークメモリクリアレジスタ37の値が「0」に設定されている場合に、フラッシュメモリ10内の2重化ブロックのデータを消去する(ステップS907)。   When the value of the write control register 36 is set to “1” and the value of the work memory clear register 37 is set to “0”, the control circuit 35 stores the data of the duplicated block in the flash memory 10. Is deleted (step S907).

そして、制御回路35は、ワークメモリ内のすべてのデータを高速バス16を介してフラッシュメモリ10の2重化ブロックに出力させる(ステップS908)。   Then, the control circuit 35 outputs all the data in the work memory to the duplex block of the flash memory 10 via the high-speed bus 16 (step S908).

以上のように、本実施の形態に係わる半導体記憶装置によれば、制御回路35は、ミラーメモリ設定指示を示す制御信号が入力されると、2重化ブロックのすべてのデータをワークメモリ13へ出力させる。制御回路35は、2重化ブロックの番号をブロック番号レジスタ18に書込み、ワークメモリ13からフラッシュメモリ10へのデータの出力が禁止する。   As described above, according to the semiconductor memory device according to the present embodiment, when the control signal indicating the mirror memory setting instruction is input, the control circuit 35 transfers all data in the duplex block to the work memory 13. Output. The control circuit 35 writes the duplex block number into the block number register 18 and prohibits the output of data from the work memory 13 to the flash memory 10.

制御回路35は、書込み指示を示す制御信号が入力されると、デコードされたアドレスのデータを含むブロックのブロック番号と、ブロック番号レジスタ18に格納されているブロック番号とを比較し、比較結果が一致しているときのみ、ライトバッファ12内の書込みデータをワークメモリ13に出力させる。ワークメモリからフラッシュメモリへのデータの出力が常には行なわれることがないので、データの書込みを高速に行なうことができる。   When a control signal indicating a write instruction is input, the control circuit 35 compares the block number of the block including the data of the decoded address with the block number stored in the block number register 18, and the comparison result is Only when they match, the write data in the write buffer 12 is output to the work memory 13. Since data output from the work memory to the flash memory is not always performed, data can be written at high speed.

制御回路35は、読出し指示を示す制御信号が入力されると、第1の実施形態と同様の処理を行なうので、データの読出しを高速に行なうことができる。   When a control signal indicating a read instruction is input, the control circuit 35 performs the same processing as in the first embodiment, so that data can be read at high speed.

また、本実施の形態に係わる半導体記憶装置では、制御回路35は、バックアップを指示する制御信号が入力されると、ワークメモリ内のすべてのデータをフラッシュメモリ10の2重化ブロックに出力させるので、外部からのデータをフラッシュメモリへ書込むことができる。   In the semiconductor memory device according to the present embodiment, the control circuit 35 outputs all data in the work memory to the duplex block of the flash memory 10 when a control signal instructing backup is input. External data can be written to the flash memory.

<第5の実施形態>
本実施の形態では、フラッシュメモリ内のすべてのブロックと対応する複数個のブロックを含むワークメモリをミラーメモリとして利用する半導体記憶装置に関する。
<Fifth Embodiment>
The present embodiment relates to a semiconductor memory device that uses a work memory including a plurality of blocks corresponding to all blocks in a flash memory as a mirror memory.

(構成)
図12は、本実施の形態に係わる半導体記憶装置の構成を示す。同図の半導体記憶装置40の構成要素のうち、第1の実施形態に係わる半導体記憶装置100の構成要素と同一のものについては、同一の符号を付す。以下、第1の実施形態に係わる半導体記憶装置100と相違する点について説明する。
(Constitution)
FIG. 12 shows the configuration of the semiconductor memory device according to this embodiment. Of the constituent elements of the semiconductor memory device 40 shown in FIG. 9, the same constituent elements as those of the semiconductor memory device 100 according to the first embodiment are denoted by the same reference numerals. Hereinafter, differences from the semiconductor memory device 100 according to the first embodiment will be described.

フラッシュメモリ56は、第2の実施形態と同様に、複数個のブロックを含み、有効性フラグ格納部57を含む。   As in the second embodiment, the flash memory 56 includes a plurality of blocks and includes an validity flag storage unit 57.

有効性フラグ格納部57は、ブロックごとに有効性フラグを格納する。有効性フラグの値が「1」のときには、対応するブロック内のデータが有効であることを示し、有効性フラグの値が「0」のときには、対応するブロック内のデータが無効であることを示す。フラッシュメモリ56のどのブロックにも未だ何も書込まれていないときには、すべてのブロックの有効性フラグは、「0」に設定されている。   The validity flag storage unit 57 stores an validity flag for each block. When the value of the validity flag is “1”, it indicates that the data in the corresponding block is valid. When the value of the validity flag is “0”, it indicates that the data in the corresponding block is invalid. Show. When nothing is written in any block of the flash memory 56, the validity flags of all the blocks are set to “0”.

ワークメモリ47は、フラッシュメモリ56内のブロックと同数のブロックを含み、各ブロックは、それぞれフラッシュメモリ56内に対応するブロックを有する。ワークメモリ47は、有効性フラグ格納部48と、更新フラグ格納部49を備える。   The work memory 47 includes the same number of blocks as the blocks in the flash memory 56, and each block has a corresponding block in the flash memory 56. The work memory 47 includes an validity flag storage unit 48 and an update flag storage unit 49.

有効性フラグ格納部48は、ブロックごとに有効性フラグを格納する。有効性フラグの値が「1」のときには、フラッシュメモリ56の対応するブロックから、ワークメモリ47内の対応するブロックにデータが出力されたことを示す。有効性フラグの値が「0」のときには、フラッシュメモリ56の対応するブロックから、ワークメモリ47内の対応するブロックにデータが出力されていないことを示す。   The validity flag storage unit 48 stores an validity flag for each block. When the value of the validity flag is “1”, it indicates that data is output from the corresponding block of the flash memory 56 to the corresponding block in the work memory 47. When the value of the validity flag is “0”, it indicates that data is not output from the corresponding block in the flash memory 56 to the corresponding block in the work memory 47.

更新フラグ格納部49は、ブロックごとに更新フラグを格納する。更新フラグの値が「1」のときには、外部からの書込みデータが対応するブロックに出力されたことを示し、更新フラグの値が「0」のときには、外部からの書込みデータが対応するブロックに出力されていないことを示す。   The update flag storage unit 49 stores an update flag for each block. When the value of the update flag is “1”, it indicates that the external write data is output to the corresponding block. When the value of the update flag is “0”, the external write data is output to the corresponding block. Indicates that it has not been.

制御回路45は、第4の実施形態と同様の読出し完了フラグ格納部38と、第1書込み制御レジスタ43と、第2書込み制御レジスタ41と、第1ワークメモリ設定レジスタ46と、第2ワークメモリ設定レジスタ42とを含む。   The control circuit 45 includes a read completion flag storage unit 38, a first write control register 43, a second write control register 41, a first work memory setting register 46, and a second work memory similar to those in the fourth embodiment. A setting register 42.

第1書込み制御レジスタ43の値が「1」のときには、ワークメモリ47内のデータのフラッシュメモリ56への出力が許可されている状態を示す。第1書込み制御レジスタ43の値が「0」のときには、ワークメモリ47内のデータのフラッシュメモリ56への出力が禁止されている状態を示す。   When the value of the first write control register 43 is “1”, the output of the data in the work memory 47 to the flash memory 56 is permitted. When the value of the first write control register 43 is “0”, this indicates a state where the output of the data in the work memory 47 to the flash memory 56 is prohibited.

第2書込み制御レジスタ41は、複数のビットを格納する。先頭ビットの値が「1」のときには、ワークメモリ47内のデータのフラッシュメモリ56への出力が許可されている状態を示す。そして、先頭ビットの値が「1」のときには、後続するビットの値が、バックアップを行なうように指示されたブロックのブロック番号を示す。先頭ビットの値が「0」のときには、ワークメモリ47内のデータのフラッシュメモリ56への出力が禁止されている状態を示す。   The second write control register 41 stores a plurality of bits. When the value of the first bit is “1”, the output of the data in the work memory 47 to the flash memory 56 is permitted. When the value of the first bit is “1”, the value of the subsequent bit indicates the block number of the block instructed to perform backup. When the value of the first bit is “0”, it indicates a state where output of data in the work memory 47 to the flash memory 56 is prohibited.

第1ワークメモリ設定レジスタ46の値が「1」のときには、ミラーメモリ設定指示を受けた状態を示す。第1ワークメモリ設定レジスタ46の値が「0」のときには、ミラーメモリ設定指示を受けていない状態を示す。   When the value of the first work memory setting register 46 is “1”, the mirror memory setting instruction is received. When the value of the first work memory setting register 46 is “0”, the mirror memory setting instruction is not received.

第2ワークメモリ設定レジスタ42は、複数のビットを格納する。先頭ビットの値が「1」のときには、ミラーメモリ設定指示を受けた状態を示す。そして、先頭ビットの値が「1」のときには、後続するビットの値は、ミラーメモリ設定を行なうように指示されたブロックのブロック番号を示す。先頭ビットの値が「0」のときには、ミラーメモリ設定指示を受けていない状態を示す。   The second work memory setting register 42 stores a plurality of bits. When the value of the first bit is “1”, it indicates that a mirror memory setting instruction has been received. When the value of the first bit is “1”, the value of the subsequent bit indicates the block number of the block instructed to perform mirror memory setting. When the value of the first bit is “0”, this indicates a state where no mirror memory setting instruction is received.

制御回路45は、ミラーメモリ設定指示を示す制御信号を受けると、第1ワークメモリ設定レジスタ46の値を「1」に設定し、フラッシュメモリ56内のブロックのうち、有効性フラグが「1」のブロックを特定する。制御回路45は、特定したフラッシュメモリ56内のブロックのすべてのデータを高速バス16を介してワークメモリ47へ出力させる。その後、制御回路45は、フラッシュメモリ56からデータを受け取ったワークメモリ47内のブロックの有効性フラグを「1」に設定し、読出し完了フラグを「1」に設定する。その後、制御回路45は、第1書込み制御レジスタ43の値および第2書込み制御レジスタ41の先頭ビットの値を「0」に設定する。   Upon receiving the control signal indicating the mirror memory setting instruction, the control circuit 45 sets the value of the first work memory setting register 46 to “1”, and the validity flag of the blocks in the flash memory 56 is “1”. Identify the blocks. The control circuit 45 causes all data of the specified block in the flash memory 56 to be output to the work memory 47 via the high-speed bus 16. Thereafter, the control circuit 45 sets the validity flag of the block in the work memory 47 that has received data from the flash memory 56 to “1”, and sets the read completion flag to “1”. Thereafter, the control circuit 45 sets the value of the first write control register 43 and the value of the first bit of the second write control register 41 to “0”.

制御回路45は、読出し指示を示す制御信号を受けると、ワークメモリ47内のデコーダ14でデコードされたアドレスのデータを、読出しデータとして入出力バッファ11に出力させる。   When receiving a control signal indicating a read instruction, the control circuit 45 causes the input / output buffer 11 to output the address data decoded by the decoder 14 in the work memory 47 as read data.

制御回路45は、書込み指示を示す制御信号を受けると、入出力バッファ11内の書込みデータを、ワークメモリ47内のデコーダ14でデコードされたアドレスに応じた位置に出力させる。その後、制御回路45は、ワークメモリ47内の書込みデータを受け取ったブロックの更新フラグを「1」に設定する。   When receiving a control signal indicating a write instruction, the control circuit 45 outputs the write data in the input / output buffer 11 to a position corresponding to the address decoded by the decoder 14 in the work memory 47. Thereafter, the control circuit 45 sets the update flag of the block that has received the write data in the work memory 47 to “1”.

制御回路45は、ミラーメモリの部分的再設定を指示する制御信号を受けると、第2ワークメモリ設定レジスタ42の先頭ビットの値を「1」にするとともに、後続するビットの値をその指定ブロック番号にする。制御回路45は、指定ブロック番号のフラッシュメモリ56内のブロックの有効性フラグの値が「1」のときには、フラッシュメモリ56内の指定ブロック番号のブロックのすべてのデータを高速バス16を介してワークメモリ47の対応するブロック出力させ、フラッシュメモリ56からデータを受け取ったワークメモリ47内のブロックの有効性フラグを「1」に設定し、読出し完了フラグの値を「1」に設定する。その後、制御回路45は、第1書込み制御レジスタ43の値および第2書込み制御レジスタ41の先頭ビットの値を「0」に設定する。   When the control circuit 45 receives a control signal instructing partial resetting of the mirror memory, the control circuit 45 sets the value of the first bit of the second work memory setting register 42 to “1” and sets the value of the subsequent bit to the designated block. Make a number. When the value of the validity flag of the block in the flash memory 56 of the designated block number is “1”, the control circuit 45 works all the data of the block of the designated block number in the flash memory 56 via the high-speed bus 16. The corresponding block of the memory 47 is output, the validity flag of the block in the work memory 47 that has received data from the flash memory 56 is set to “1”, and the value of the read completion flag is set to “1”. Thereafter, the control circuit 45 sets the value of the first write control register 43 and the value of the first bit of the second write control register 41 to “0”.

制御回路45は、ワークメモリ47のフラッシュメモリ56へのバックアップを指示する制御信号を受けると、第1書込み制御レジスタ43の値を「1」に設定し、ワークメモリ47内のブロックのうち、有効性フラグが「1」で、かつ更新フラグが「1」のブロックを特定する。制御回路45は、ワークメモリ47内の特定したブロックに対応するフラッシュメモリ56内のブロックのすべてのデータを消去し、ワークメモリ47内の特定したブロックのすべてのデータを、フラッシュメモリ56内の対応するブロックに出力させ、データを受け取ったフラッシュメモリ56内の対応するブロックの有効性フラグを「1」に設定する。   When the control circuit 45 receives a control signal instructing backup of the work memory 47 to the flash memory 56, the control circuit 45 sets the value of the first write control register 43 to “1”, and among the blocks in the work memory 47, the control circuit 45 is enabled. A block having a sex flag of “1” and an update flag of “1” is identified. The control circuit 45 erases all the data in the block in the flash memory 56 corresponding to the specified block in the work memory 47, and all the data in the specified block in the work memory 47 is corresponded in the flash memory 56. The validity flag of the corresponding block in the flash memory 56 that has received the data is set to “1”.

制御回路45は、部分的バックアップを指示する制御信号を受けて、第2書込み制御レジスタ41の先頭ビットの値を「1」にするとともに、後続するビットの値を指定ブロック番号にする。制御回路45は、後続するビットで表わされる指定ブロック番号のワークメモリ47内のブロックの有効性フラグの値が「1」で、かつ更新フラグの値が「1」のときには、ワークメモリ47内の指定ブロック番号のブロックに対応するフラッシュメモリ56内のブロックのすべてのデータを消去し、ワークメモリ47内の指定ブロック番号のブロックのすべてのデータを、フラッシュメモリ56内の対応するブロックに出力させる。その後、制御回路45は、フラッシュメモリ56のブロックの有効性フラグを「1」に設定する。   In response to the control signal instructing partial backup, the control circuit 45 sets the value of the first bit of the second write control register 41 to “1” and sets the value of the subsequent bit to the designated block number. When the value of the validity flag of the block in the work memory 47 of the designated block number represented by the subsequent bit is “1” and the value of the update flag is “1”, the control circuit 45 stores the value in the work memory 47. All the data in the block in the flash memory 56 corresponding to the block with the designated block number is erased, and all the data in the block with the designated block number in the work memory 47 is output to the corresponding block in the flash memory 56. Thereafter, the control circuit 45 sets the validity flag of the block of the flash memory 56 to “1”.

(ミラーメモリ設定処理の動作)
次に、この半導体記憶装置40のミラーメモリ設定処理の動作について説明する。図13は、ミラーメモリ設定処理の動作手順を示すフローチャートである。
(Mirror memory setting process operation)
Next, the operation of the mirror memory setting process of the semiconductor memory device 40 will be described. FIG. 13 is a flowchart showing the operation procedure of the mirror memory setting process.

まず、外部より、ミラーメモリ設定指示を示す制御信号が、制御回路45に入力される(ステップS1001)。   First, a control signal indicating a mirror memory setting instruction is input from the outside to the control circuit 45 (step S1001).

制御回路45は、上記制御信号を受けて、第1ワークメモリ設定レジスタ46の値を「1」に設定する(ステップS1002)。   In response to the control signal, the control circuit 45 sets the value of the first work memory setting register 46 to “1” (step S1002).

制御回路45は、第1ワークメモリ設定レジスタ46の値が「1」に設定されている場合に、フラッシュメモリ56内のブロックのうち、有効性フラグが「1」のブロックを特定する(ステップS1003)
制御回路45は、特定したフラッシュメモリ56内のブロックのすべてのデータを高速バス16を介してワークメモリ47へ出力させる(ステップS1004)。
When the value of the first work memory setting register 46 is set to “1”, the control circuit 45 identifies a block with the validity flag “1” among the blocks in the flash memory 56 (step S1003). )
The control circuit 45 outputs all the data of the identified block in the flash memory 56 to the work memory 47 via the high-speed bus 16 (step S1004).

制御回路45は、フラッシュメモリ56からデータを受け取ったワークメモリ47内のブロックの有効性フラグを「1」に設定する(ステップS1005)。   The control circuit 45 sets the validity flag of the block in the work memory 47 that has received the data from the flash memory 56 to “1” (step S1005).

制御回路45は、読出し完了フラグを「1」に設定する(ステップS1006)。
制御回路45は、第1書込み制御レジスタ43の値および第2書込み制御レジスタ41の先頭ビットの値を「0」に設定する(ステップS1007)。
The control circuit 45 sets the read completion flag to “1” (step S1006).
The control circuit 45 sets the value of the first write control register 43 and the value of the first bit of the second write control register 41 to “0” (step S1007).

(読出し処理の動作)
次に、この半導体記憶装置40の読出し処理の動作について説明する。図14は、読出し処理の動作手順を示すフローチャートである。
(Operation of read processing)
Next, the read processing operation of the semiconductor memory device 40 will be described. FIG. 14 is a flowchart showing the operation procedure of the reading process.

読出し完了フラグが「1」に設定された後、外部より、読出し指示を示す制御信号と、アドレスとが、それぞれ、制御回路45、デコーダ14に入力される(ステップS1101)。   After the read completion flag is set to “1”, a control signal indicating a read instruction and an address are externally input to the control circuit 45 and the decoder 14 (step S1101).

制御回路45は、上記制御信号を受けて、ワークメモリ47内のデコーダ14でデコードされたアドレスのデータを、読出しデータとして入出力バッファ11に出力させる(ステップS1102)。   In response to the control signal, the control circuit 45 outputs the address data decoded by the decoder 14 in the work memory 47 to the input / output buffer 11 as read data (step S1102).

入出力バッファ11内の読出しデータは、データバス20を介して外部へ出力される(ステップS1103)。   The read data in the input / output buffer 11 is output to the outside via the data bus 20 (step S1103).

(書込み処理の動作)
次に、この半導体記憶装置40の書込み処理の動作について説明する。図15は、書込み処理の動作手順を示すフローチャートである。
(Write operation)
Next, the write processing operation of the semiconductor memory device 40 will be described. FIG. 15 is a flowchart showing an operation procedure of the writing process.

読出し完了フラグが「1」に設定された後、外部より、書込み指示を示す制御信号と、アドレスと、書込みデータとが、それぞれ、制御回路45、デコーダ14、入出力バッファ11に入力される(ステップS1201)。   After the read completion flag is set to “1”, a control signal indicating a write instruction, an address, and write data are externally input to the control circuit 45, the decoder 14, and the input / output buffer 11, respectively ( Step S1201).

制御回路45は、上記制御信号を受けて、入出力バッファ11内の書込みデータを、ワークメモリ47内のデコーダ14でデコードされたアドレスに応じた位置に出力させる(ステップS1202)。   In response to the control signal, the control circuit 45 outputs the write data in the input / output buffer 11 to a position corresponding to the address decoded by the decoder 14 in the work memory 47 (step S1202).

制御回路45は、ワークメモリ47内の書込みデータを受け取ったブロックの更新フラグを「1」に設定する(ステップS1203)。   The control circuit 45 sets the update flag of the block that has received the write data in the work memory 47 to “1” (step S1203).

(ミラーメモリの部分的再設定処理の動作)
次に、この半導体記憶装置40のミラーメモリ部分的再設定処理の動作について説明する。図16は、ミラーメモリ部分的再設定処理の動作手順を示すフローチャートである。
(Partial resetting operation of mirror memory)
Next, the operation of the mirror memory partial reset process of the semiconductor memory device 40 will be described. FIG. 16 is a flowchart showing the operation procedure of the mirror memory partial resetting process.

まず、外部より、ミラーメモリ部分的再設定を指示する制御信号と、再設定を行なうブロックを示す指定ブロック番号とが、制御回路45に入力される(ステップ1301)。   First, a control signal instructing partial resetting of the mirror memory and a designated block number indicating a block to be reset are input from the outside to the control circuit 45 (step 1301).

制御回路45は、上記制御信号を受けて、第2ワークメモリ設定レジスタ42の先頭ビットの値を「1」にするとともに、後続するビットの値を指定ブロック番号にする(ステップS1302)。   Upon receiving the control signal, the control circuit 45 sets the value of the first bit of the second work memory setting register 42 to “1” and sets the value of the subsequent bit to the designated block number (step S1302).

制御回路45は、第2ワークメモリ設定レジスタ42の先頭ビットが「1」のときに、後続するビットの値である指定ブロック番号のフラッシュメモリ56内のブロックの有効性フラグを調べる(ステップS1303)。   When the first bit of the second work memory setting register 42 is “1”, the control circuit 45 checks the validity flag of the block in the flash memory 56 of the designated block number that is the value of the subsequent bit (step S1303). .

制御回路45は、有効性フラグの値が「1」のときには、フラッシュメモリ56内の指定ブロック番号のブロックのすべてのデータを高速バス16を介して、ワークメモリ47の対応するブロックへ出力させる(ステップS1304)。   When the value of the validity flag is “1”, the control circuit 45 outputs all data of the block of the designated block number in the flash memory 56 to the corresponding block of the work memory 47 via the high-speed bus 16 ( Step S1304).

制御回路45は、フラッシュメモリ56からデータを受け取ったワークメモリ47内のブロックの有効性フラグを「1」に設定する(ステップS1305)。   The control circuit 45 sets the validity flag of the block in the work memory 47 that has received data from the flash memory 56 to “1” (step S1305).

制御回路45は、読出し完了フラグの値を「1」に設定する(ステップS1306)。
制御回路45は、第1書込み制御レジスタ43の値および第2書込み制御レジスタ41の先頭ビットの値を「0」に設定する(ステップS1307)。
The control circuit 45 sets the value of the read completion flag to “1” (step S1306).
The control circuit 45 sets the value of the first write control register 43 and the value of the first bit of the second write control register 41 to “0” (step S1307).

(バックアップ処理の動作)
次に、この半導体記憶装置40のバックアップ処理の動作について説明する。図17は、バックアップ処理の動作手順を示すフローチャートである。
(Operation of backup processing)
Next, the backup processing operation of the semiconductor memory device 40 will be described. FIG. 17 is a flowchart showing an operation procedure of backup processing.

外部より、ワークメモリ47のフラッシュメモリ56へのバックアップを指示する制御信号が、制御回路45に入力される(ステップS1401)。   A control signal for instructing backup of the work memory 47 to the flash memory 56 is input to the control circuit 45 from the outside (step S1401).

制御回路45は、上記制御信号を受けて、第1書込み制御レジスタ43の値を「1」に設定する(ステップS1402)。   In response to the control signal, the control circuit 45 sets the value of the first write control register 43 to “1” (step S1402).

制御回路45は、第1書込み制御レジスタ43の値が「1」に設定されている場合に、ワークメモリ47内のブロックのうち、有効性フラグが「1」で、かつ更新フラグが「1」のブロックを特定する(ステップS1403)
制御回路45は、ワークメモリ47内の特定したブロックに対応するフラッシュメモリ56内のブロックのすべてのデータを消去する(ステップS1404)。
When the value of the first write control register 43 is set to “1”, the control circuit 45 has the validity flag “1” and the update flag “1” among the blocks in the work memory 47. Is identified (step S1403).
The control circuit 45 erases all data in the block in the flash memory 56 corresponding to the specified block in the work memory 47 (step S1404).

制御回路45は、ワークメモリ47内の特定したブロックのすべてのデータを、フラッシュメモリ56内の対応するブロックに出力させる(ステップS1405)。   The control circuit 45 causes all data of the specified block in the work memory 47 to be output to the corresponding block in the flash memory 56 (step S1405).

制御回路45は、このようにしてデータを受け取ったフラッシュメモリ56内の対応するブロックの有効性フラグを「1」に設定する(ステップS1406)。   The control circuit 45 sets the validity flag of the corresponding block in the flash memory 56 that has received the data in this way to “1” (step S1406).

(部分的バックアップ処理の動作)
次に、この半導体記憶装置40の部分的バックアップ処理の動作について説明する。図18は、部分的バックアップ処理の動作手順を示すフローチャートである。
(Partial backup processing operation)
Next, the operation of the partial backup process of the semiconductor memory device 40 will be described. FIG. 18 is a flowchart showing the operation procedure of the partial backup process.

外部より、ミラーメモリの部分的バックアップを指示する制御信号と、バックアップを行なうブロックを示す指定ブロック番号とがが、制御回路45に入力される(ステップS1501)。   A control signal instructing partial backup of the mirror memory and a designated block number indicating a block to be backed up are input to the control circuit 45 from the outside (step S1501).

制御回路45は、上記制御信号を受けて、第2書込み制御レジスタ41の先頭ビットの値を「1」にするとともに、後続するビットの値を指定ブロック番号にする(ステップS1502)。   Upon receiving the control signal, the control circuit 45 sets the value of the first bit of the second write control register 41 to “1” and sets the value of the subsequent bit to the designated block number (step S1502).

制御回路45は、第2書込み制御レジスタ41の先頭ビットの値が「1」のときに、後続するビットで表わされる指定ブロック番号のワークメモリ47内のブロックの有効性フラグと更新フラグを調べる(ステップS1503)。   When the value of the first bit of the second write control register 41 is “1”, the control circuit 45 checks the validity flag and update flag of the block in the work memory 47 of the designated block number represented by the subsequent bit ( Step S1503).

制御回路45は、有効性フラグが「1」で、かつ更新フラグが「1」のときには、ワークメモリ47内の指定ブロック番号のブロックに対応するフラッシュメモリ56内のブロックのすべてのデータを消去する(ステップS1504)。   When the validity flag is “1” and the update flag is “1”, the control circuit 45 erases all data in the block in the flash memory 56 corresponding to the block of the designated block number in the work memory 47. (Step S1504).

制御回路45は、ワークメモリ47内の指定ブロック番号のブロックのすべてのデータを、フラッシュメモリ56内の対応するブロックに出力させる(ステップS1505)。   The control circuit 45 outputs all the data of the block having the designated block number in the work memory 47 to the corresponding block in the flash memory 56 (step S1505).

制御回路45は、フラッシュメモリ56のブロックの有効性フラグを「1」に設定する(ステップS1506)。   The control circuit 45 sets the validity flag of the block of the flash memory 56 to “1” (step S1506).

以上のように、本実施の形態に係わる半導体記憶装置では、制御回路45は、ミラーメモリの設定指示を示す制御信号を受けると、フラッシュメモリ56内のブロックのうち、所定のブロックのすべてのデータをワークメモリ47へ出力させ、ワークメモリ47からフラッシュメモリ56へのデータの出力を禁止する。   As described above, in the semiconductor memory device according to the present embodiment, when the control circuit 45 receives the control signal indicating the setting instruction of the mirror memory, all the data of the predetermined block among the blocks in the flash memory 56 is received. Is output to the work memory 47, and data output from the work memory 47 to the flash memory 56 is prohibited.

制御回路45は、読出し指示を示す制御信号を受けると、ワークメモリ47内のデコードされたアドレスのデータを、読出しデータとして入出力バッファ11に出力させるので、データを高速に読み出すことができる。   When receiving a control signal indicating a read instruction, the control circuit 45 outputs the decoded address data in the work memory 47 to the input / output buffer 11 as read data, so that the data can be read at high speed.

制御回路45は、書込み指示を示す制御信号を受けると、書込みデータを、ワークメモリ47内のデコードされたアドレスに応じた位置に出力させるので、データを高速に書込みことができる。   When receiving the control signal indicating the write instruction, the control circuit 45 outputs the write data to a position corresponding to the decoded address in the work memory 47, so that the data can be written at high speed.

また、本実施の形態に係わる半導体記憶装置では、制御回路45は、ワークメモリのフラッシュメモリへのバックアップを指示する制御信号を受けると、ワークメモリ47内のブロックのうち、更新されたデータを含むブロックのみ、そのブロック内のデータをフラッシュメモリ56内の対応するブロックに出力させるので、更新されたデータを含まないブロックのデータをフラッシュメモリへ出力する無駄を防止できる。   In the semiconductor memory device according to the present embodiment, when receiving a control signal instructing backup of the work memory to the flash memory, the control circuit 45 includes the updated data in the blocks in the work memory 47. Since only the block causes the data in the block to be output to the corresponding block in the flash memory 56, waste of outputting the data of the block not including the updated data to the flash memory can be prevented.

(変形例)
本発明は、上記実施の形態に限定されるものではなく、以下の変形例も当然ながら包含する。
(Modification)
The present invention is not limited to the above embodiment, and naturally includes the following modifications.

(1) 不揮発性メモリ
本発明の実施形態におけるフラッシュメモリの代わりに、その他の電子的書換え可能な不揮発性メモリとしてもよい。
(1) Nonvolatile Memory Instead of the flash memory in the embodiment of the present invention, other electronically rewritable nonvolatile memories may be used.

(2) 書込み動作フラグ
第1の実施形態において、制御回路15は、書込みを指示する制御信号を受けた後、更新ブロックの番号をブロック番号レジスタ18に書込みを行なってから、ステップS303において、書込み動作フラグを「1」に設定したが、これに限定するものではない。制御回路15は、書込みを指示する制御信号を受けた後、更新ブロックの番号をブロック番号レジスタ18に書込みを行なうまでの任意の時点で書込み動作フラグを「1」に設定するものとしてもよい。
(2) Write Operation Flag In the first embodiment, the control circuit 15 writes the update block number in the block number register 18 after receiving the control signal instructing the write, and then in step S303, the write operation flag is written. Although the operation flag is set to “1”, the present invention is not limited to this. The control circuit 15 may set the write operation flag to “1” at any time after receiving the control signal instructing writing until the update block number is written to the block number register 18.

(3) フラッシュメモリのブロックの有効性フラグ
第2および第5の実施形態において、フラッシュメモリのブロックの有効性フラグを2ビットの値として、1ビット目で、データが書込まれているブロックか否かを識別し、2ビット目で、データが消去可能か否かを識別するものとしてもよい。
(3) Flash memory block validity flag In the second and fifth embodiments, whether the flash memory block validity flag is a 2-bit value, data is written in the first bit. The second bit may be used to identify whether the data can be erased.

(4) ライトバッファ
第3の実施形態では、半導体記憶装置は、複数個のライトバッファ27a〜cを含み、各ライトバッファは、1つのブロックのデータを記憶するものとしたが、これに限定するものではない。たとえば、1つのライトバッファが、1個または複数個のブロックのデータを記憶するものとしてもよい。
(4) Write Buffer In the third embodiment, the semiconductor memory device includes a plurality of write buffers 27a to 27c, and each write buffer stores one block of data. However, the present invention is limited to this. It is not a thing. For example, one write buffer may store one or a plurality of blocks of data.

(5) ライトバッファから書込みデータを出力させるタイミング
第3の実施形態では、各ライトバッファからワークメモリへ書込みデータを出力する時点までに、外部からの書込みデータがそのライトバッファに取込まれることが保証されているものとした。
(5) Timing for outputting write data from write buffer In the third embodiment, by the time when write data is output from each write buffer to the work memory, the external write data is taken into the write buffer. Assured.

各ライトバッファからワークメモリへ書込みデータを出力する時点までに、外部からの書込みデータがそのライトバッファに取込まれることが保証されていない場合には、次のような制御を行なうことができる。   If it is not guaranteed that external write data is taken into the write buffer by the time when the write data is output from each write buffer to the work memory, the following control can be performed.

すなわち、書込み制御信号がアサートの期間は、外部から書込みデータが入力されている状態を示し、書込み制御信号がネゲートの期間は、外部から書込みデータが入力されていない状態を示すようにすれば、制御回路は、あるライトバッファの末端にまで書込みデータが格納されていないときには、書込み制御信号がネゲートになった後に、そのライトバッファからワークメモリへ書込みデータを出力させるようにすることができる。   That is, when the write control signal is asserted, it indicates a state in which write data is input from the outside, and when the write control signal is in a negate period, it indicates a state in which no write data is input from the outside. The control circuit can output write data from the write buffer to the work memory after the write control signal is negated when the write data is not stored up to the end of the write buffer.

また、書込みデータの入力を開始するときに、外部から制御回路内の所定のレジスタのビットを1に設定し、書込みデータの入力を終了したときには、外部から所定のレジスタのビットを0にすることにすれば、制御回路は、あるライトバッファの末端にまで書込みデータが格納されていないときには、所定のレジスタのビットが0になった後に、そのライトバッファからワークメモリへ書込みデータを出力させるようにすることができる。   When the input of write data is started, the bit of the predetermined register in the control circuit is set to 1 from the outside, and when the input of the write data is finished, the bit of the predetermined register is set to 0 from the outside. Then, when the write data is not stored up to the end of a certain write buffer, the control circuit causes the write buffer to output the write data from the write buffer to the work memory after the bit of the predetermined register becomes 0. can do.

あるいは、入力される書込みデータの個数が固定値のときには、制御回路は、あるライトバッファの末端にまで書込みデータが格納されていないときには、すべてのライトバッファに取込まれた書込みデータの総数がこの固定値になった後に、そのライトバッファからワークメモリへ書込みデータを出力させるようにすることができる。   Alternatively, when the number of input write data is a fixed value, the control circuit determines that the total number of write data fetched into all the write buffers is equal to this number when no write data is stored up to the end of a certain write buffer. After the fixed value is reached, write data can be output from the write buffer to the work memory.

(6) ワークメモリ
第3の実施形態では、ワークメモリは、フラッシュメモリ10の1つのブロックのデータを記憶する容量を有するものとしたが、これに限定するものではない。たとえば、ワークメモリが、ライトバッファ27a〜cに対応する第1〜第3の3個のブロック分の容量を備えるものとしてもよい。
(6) Work Memory In the third embodiment, the work memory has a capacity for storing data of one block of the flash memory 10, but is not limited to this. For example, the work memory may have a capacity corresponding to first to third blocks corresponding to the write buffers 27a to 27c.

この場合には、ライトバッファ27a内の書込みデータは、ワークメモリ内の第1ブロックに出力され、ライトバッファ27b内の書込みデータは、ワークメモリ内の第2ブロックに出力され、ライトバッファ27c内の書込みデータは、ワークメモリの第3ブロックに出力されるものとすることができる。   In this case, the write data in the write buffer 27a is output to the first block in the work memory, the write data in the write buffer 27b is output to the second block in the work memory, and the write buffer 27c The write data can be output to the third block of the work memory.

第3の実施形態では、1つのブロックについて、S603〜S607の処理を連続して行った後、次のブロックについて、同様にS603〜S607の処理を連続して行ったのに対して、ワークメモリが3つのブロックを有する場合には、各ステップの処理を3つのブロックについて連続して行なった後、次のステップの処理を3つのブロックについて連続して行なうようにすることができる。   In the third embodiment, the processing of S603 to S607 is continuously performed for one block, and then the processing of S603 to S607 is similarly performed for the next block. Can have three blocks, the processing of each step is continuously performed for three blocks, and then the processing of the next step is continuously performed for three blocks.

第3の実施形態とこの変形例では、各処理を実行する順序においては相違するが、各ブロックについて、S603の処理と、S604の処理と、S605の処理と、S606の処理と、S607の処理とを行なうという点においては、同一である。   In the third embodiment and this modification, the order of executing each process is different, but for each block, the process in S603, the process in S604, the process in S605, the process in S606, and the process in S607 are performed. Are the same in that

(7) ワークメモリの用途
第4および第5の実施形態では、ワークメモリをミラーメモリとして使用する例について説明したが、これに限定するものではない。ワークメモリを作業用のメモリや別のメモリとして使用するものとしてもよい。
(7) Use of work memory In the fourth and fifth embodiments, the example in which the work memory is used as a mirror memory has been described. However, the present invention is not limited to this. The work memory may be used as a working memory or another memory.

第5の実施形態において、ワークメモリを別のメモリとして使用した場合には、2倍の容量のメモリとなる。   In the fifth embodiment, when the work memory is used as another memory, the memory has twice the capacity.

また、第5の実施形態において、ワークメモリを作業用のメモリとして使用した場合には、ワークメモリ内のブロックに対して移動やコピーなどを行なうことにより、外部メモリを使用せずにブロックに対する操作が可能となる。   Further, in the fifth embodiment, when the work memory is used as a working memory, an operation on the block can be performed without using an external memory by moving or copying the block in the work memory. Is possible.

(8) ワークメモリの容量
第4の実施形態において、ワークメモリは、1つのブロックを含むものとしたが、これに限定するものではなく、ワークメモリは、2以上の任意の数のブロックを含むものとしてもよい。
(8) Capacity of work memory In the fourth embodiment, the work memory includes one block. However, the present invention is not limited to this, and the work memory includes an arbitrary number of blocks of 2 or more. It may be a thing.

(9) 2ポートRAMを用いたワークメモリ
第1〜第5の実施形態において、ワークメモリとして2ポートRAMを用いることにより、ワークメモリへのデータの入力と、ワークメモリからのデータの出力を同時に行なうことができる。
(9) Work memory using 2-port RAM In the first to fifth embodiments, by using a 2-port RAM as a work memory, data input to the work memory and data output from the work memory can be performed simultaneously. Can be done.

(10) 入出力バッファ
第1〜第4の実施形態において、外部からの書込みデータを一旦入出力バッファに取込むものとしたが、これに限定するものではなく、外部からの書込みデータを直接ライトバッファに取込むものとしてもよい。
(10) Input / output buffer In the first to fourth embodiments, write data from outside is once taken into the input / output buffer. However, the present invention is not limited to this, and write data from outside is directly written. It may be taken into a buffer.

(11) ライトバッファへのデータの取込みと、フラッシュメモリからワークメモリへのデータの出力の同時実行
第2〜第4の実施形態においても、第1の実施形態と同様に、制御回路が、書込み指示を示す制御信号を受けると、入出力バッファ11内の書込みデータをライトバッファに出力させるのと同時に、デコードされたアドレスのデータを含むフラッシュメモリのブロックを更新ブロックとして特定し、更新ブロック内のすべてのデータをワークメモリへ出力させるものとしてもよい。
(11) Simultaneous execution of fetching of data into the write buffer and output of data from the flash memory to the work memory In the second to fourth embodiments as well, as in the first embodiment, the control circuit When the control signal indicating the instruction is received, the write data in the input / output buffer 11 is output to the write buffer, and at the same time, the block of the flash memory including the data at the decoded address is specified as the update block, All data may be output to the work memory.

(12) 高速バス16
本発明の実施形態では、フラッシュメモリ10と、ワークメモリ13と、入出力バッファ11との間は、それぞれ高速バス16(128〜256ビット幅)で接続し、ライトバッファ12とワークメモリ13との間は、高速バス16(128〜256ビット幅)で接続するものとしたが、これに限定するものではない。ライトバッファ12とワークメモリ13との間は、フラッシュメモリ10とワークメモリ13との間を接続するバスよりも、低速なバスで接続するものとしてもよい。同様に、入出力バッファ11と、ワークメモリ13およびフラッシュメモリ10との間は、フラッシュメモリ10とワークメモリ13との間を接続するバスよりも、低速なバスで接続するものとしてもよい。
(12) Highway bus 16
In the embodiment of the present invention, the flash memory 10, the work memory 13, and the input / output buffer 11 are respectively connected by a high-speed bus 16 (128 to 256 bits wide). The high-speed bus 16 (128 to 256 bits wide) is connected between them. However, the present invention is not limited to this. The write buffer 12 and the work memory 13 may be connected by a bus that is slower than the bus that connects the flash memory 10 and the work memory 13. Similarly, the input / output buffer 11 and the work memory 13 and the flash memory 10 may be connected by a bus that is slower than the bus that connects the flash memory 10 and the work memory 13.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の第1の実施の形態に係わる半導体記憶装置の構成を示す図である。1 is a diagram showing a configuration of a semiconductor memory device according to a first embodiment of the present invention. 書込み処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a write-in process. 読出し処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a read-out process. 本発明の第2の実施の形態に係わる半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device concerning the 2nd Embodiment of this invention. 書込み処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a write-in process. 本発明の第3の実施の形態に係わる半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device concerning the 3rd Embodiment of this invention. 書込み処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a write-in process. 本発明の第4の実施の形態に係わる半導体記憶装置を示す図である。It is a figure which shows the semiconductor memory device concerning the 4th Embodiment of this invention. ミラーメモリ設定処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a mirror memory setting process. 書込み処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a write-in process. バックアップ処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a backup process. 本発明の第5の実施の形態に係わる半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device concerning the 5th Embodiment of this invention. ミラーメモリ設定処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a mirror memory setting process. 読出し処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a read-out process. 書込み処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a write-in process. ミラーメモリ部分的再設定処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a mirror memory partial reset process. バックアップ処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a backup process. 部分的バックアップ処理の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of a partial backup process.

符号の説明Explanation of symbols

10,56 フラッシュメモリ、11 入出力バッファ、12 ライトバッファ、13,47 ワークメモリ、14 デコーダ、15、55 制御回路、16 高速バス、17 書込み動作フラグ格納部、18 ブロック番号レジスタ、20 データバス、21 アドレスバス、22 制御信号バス、15,25,35,45,55 制御回路、26 ワークメモリ更新レジスタ、36 書込み制御レジスタ、37 ワークメモリクリアレジスタ、38 読出し完了フラグ格納部、41 第2書込み制御レジスタ、42 第2ワークメモリ設定レジスタ、43 第1書込み制御レジスタ、46 第1ワークメモリ設定レジスタ、57 有効性フラグ格納部、30,40,50,100,200 半導体記憶装置。   10, 56 Flash memory, 11 I / O buffer, 12 Write buffer, 13, 47 Work memory, 14 Decoder, 15, 55 Control circuit, 16 High-speed bus, 17 Write operation flag storage, 18 Block number register, 20 Data bus, 21 Address bus, 22 Control signal bus, 15, 25, 35, 45, 55 Control circuit, 26 Work memory update register, 36 Write control register, 37 Work memory clear register, 38 Read completion flag storage unit, 41 Second write control Register, 42 Second work memory setting register, 43 First write control register, 46 First work memory setting register, 57 Validity flag storage unit, 30, 40, 50, 100, 200 Semiconductor memory device.

Claims (2)

複数のブロックを含み、ブロック単位でデータの書換えが可能な不揮発性メモリと、
前記不揮発性メモリの各ブロックに対応する複数のブロックを含むワークメモリと、
前記ワークメモリと前記不揮発性メモリとを接続し、外部データバスよりもビット幅が広い内部データバスと、
制御回路とを備え、
前記制御回路は、ワークメモリをミラーメモリとして使用することを指示する制御信号が入力されたときには、前記不揮発性メモリ内の所定のブロックのデータを前記内部データバスを介して前記ワークメモリ内の対応するブロックへ出力させ、
前記制御回路は、読出しを指示する制御信号とアドレスとが入力されたときには、前記ワークメモリ内の前記アドレスで特定されるブロック内の前記アドレスで特定されるデータを外部へ出力させ、
前記制御回路は、書込みを指示する制御信号と、アドレスと、書込みデータとが入力されたときには、前記書込みデータを前記ワークメモリ内の前記アドレスで特定されるブロック内の前記アドレスに応じた位置に出力させ、
前記制御回路は、ワークメモリ内のデータを不揮発性メモリへバックアップすることを指示する制御信号が入力されたときには、前記不揮発性メモリ内の所定のブロックのデータを消去し、前記不揮発性メモリ内の前記所定のブロックに対応する前記ワークメモリ内のブロックのすべてのデータを、前記不揮発性メモリ内の前記所定のブロックに出力させる、半導体記憶装置。
A non-volatile memory including a plurality of blocks and capable of rewriting data in units of blocks;
A work memory including a plurality of blocks corresponding to each block of the nonvolatile memory;
An internal data bus connecting the work memory and the non-volatile memory and having a bit width wider than an external data bus;
A control circuit,
When a control signal instructing use of the work memory as a mirror memory is input, the control circuit converts data in a predetermined block in the nonvolatile memory through the internal data bus. Output to the block
The control circuit, when a control signal instructing reading and an address are input, causes the data specified by the address in the block specified by the address in the work memory to be output to the outside,
When a control signal for instructing writing, an address, and write data are input, the control circuit places the write data in a position corresponding to the address in the block specified by the address in the work memory. Output
The control circuit erases data in a predetermined block in the non-volatile memory when a control signal instructing to back up the data in the work memory to the non-volatile memory is input. A semiconductor memory device that causes all data in a block in the work memory corresponding to the predetermined block to be output to the predetermined block in the nonvolatile memory.
前記ワークメモリの各ブロックに対応させて、前記ブロック内のデータの更新の有無を示す更新フラグを記憶する記憶部を備え、
前記制御回路は、前記書込みを指示する制御信号が入力されたときに、前記書込みデータを前記ワークメモリ内のブロックに出力させたときには、前記書込みデータを受け取ったブロックに対応する更新フラグを更新有りに設定し、
前記制御回路は、前記ワークメモリ内のデータを不揮発性メモリへバックアップすることを指示する制御信号が入力されたときには、前記ワークメモリのブロックのうち、前記更新フラグが更新有りに設定されているブロックについてのみ、当該ブロックに対応する前記不揮発性メモリ内のブロックのデータを消去し、前記ワークメモリ内の前記ブロックのすべてのデータを前記不揮発性メモリ内の前記ブロックに出力させる、請求項1記載の半導体記憶装置。
Corresponding to each block of the work memory, comprising a storage unit for storing an update flag indicating whether or not the data in the block is updated,
The control circuit updates an update flag corresponding to the block that has received the write data when the write data is output to the block in the work memory when a control signal instructing the write is input. Set to
The control circuit, when a control signal instructing to back up the data in the work memory to the nonvolatile memory is input, the block in which the update flag is set to be updated among the blocks of the work memory 2 only, the data in the block in the nonvolatile memory corresponding to the block is erased, and all the data in the block in the work memory is output to the block in the nonvolatile memory. Semiconductor memory device.
JP2008110346A 2008-04-21 2008-04-21 Semiconductor memory device Expired - Fee Related JP4762267B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008110346A JP4762267B2 (en) 2008-04-21 2008-04-21 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008110346A JP4762267B2 (en) 2008-04-21 2008-04-21 Semiconductor memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003108130A Division JP2004318933A (en) 2003-04-11 2003-04-11 Semiconductor storage device

Publications (2)

Publication Number Publication Date
JP2008181670A true JP2008181670A (en) 2008-08-07
JP4762267B2 JP4762267B2 (en) 2011-08-31

Family

ID=39725410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008110346A Expired - Fee Related JP4762267B2 (en) 2008-04-21 2008-04-21 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP4762267B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281398A (en) * 1988-09-19 1990-03-22 Hitachi Ltd Semiconductor memory
JPH07153257A (en) * 1993-11-29 1995-06-16 Sony Corp Semiconductor memory
JP2001357684A (en) * 2000-06-12 2001-12-26 Sharp Corp Semiconductor storage device
JP2002366429A (en) * 2001-06-11 2002-12-20 Hitachi Ltd Semiconductor memory device
JP2003036201A (en) * 2001-07-24 2003-02-07 Sony Corp Memory access management device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281398A (en) * 1988-09-19 1990-03-22 Hitachi Ltd Semiconductor memory
JPH07153257A (en) * 1993-11-29 1995-06-16 Sony Corp Semiconductor memory
JP2001357684A (en) * 2000-06-12 2001-12-26 Sharp Corp Semiconductor storage device
JP2002366429A (en) * 2001-06-11 2002-12-20 Hitachi Ltd Semiconductor memory device
JP2003036201A (en) * 2001-07-24 2003-02-07 Sony Corp Memory access management device

Also Published As

Publication number Publication date
JP4762267B2 (en) 2011-08-31

Similar Documents

Publication Publication Date Title
JP4455524B2 (en) Method and nonvolatile storage device for storing state information using a plurality of strings
JP5328020B2 (en) Memory device and memory access method
US20080195800A1 (en) Flash Memory Device and Flash Memory System Including a Buffer Memory
KR20040023643A (en) Flash memory apparatus and method for merging data stored in the same
JP2008033788A (en) Nonvolatile storage device, data storage system, and data storage method
JPWO2006129779A1 (en) Semiconductor memory device
KR100625811B1 (en) Method and apparatus for correcting code data error
JP4643315B2 (en) Semiconductor integrated circuit device
JP4254932B2 (en) Memory controller and flash memory system
KR100598907B1 (en) Flash memory capable of performing continuous sequential read/write
US20170300408A1 (en) System and method for reducing stress on memory device
JP2006003966A (en) Write method for flash memory
JP2005182996A (en) Synchronous flash memory system and its operation method
JP2007164355A (en) Non-volatile storage device, data reading method therefor, and data writing method therefor
JP4762267B2 (en) Semiconductor memory device
US8266417B2 (en) Device having shared memory and method for transferring code data
JP2004318933A (en) Semiconductor storage device
JP2007199828A (en) Nonvolatile storage device and address management method
JP4640366B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
KR100743253B1 (en) Method and apparatus for correcting code data error
JP4790334B2 (en) Nonvolatile memory device
JP4645043B2 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, AND NONVOLATILE MEMORY SYSTEM
JP2006048227A (en) Memory device, memory device control method and data processing system
JP4236539B2 (en) Nonvolatile memory device
KR100743252B1 (en) Method and apparatus for correcting code data error

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110607

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees