JP2007011938A - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2007011938A JP2007011938A JP2005194818A JP2005194818A JP2007011938A JP 2007011938 A JP2007011938 A JP 2007011938A JP 2005194818 A JP2005194818 A JP 2005194818A JP 2005194818 A JP2005194818 A JP 2005194818A JP 2007011938 A JP2007011938 A JP 2007011938A
- Authority
- JP
- Japan
- Prior art keywords
- address
- nonvolatile memory
- endian
- bus
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 46
- 230000015654 memory Effects 0.000 claims abstract description 220
- 238000006243 chemical reaction Methods 0.000 claims abstract description 81
- 238000003860 storage Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims description 4
- 238000012546 transfer Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 238000012795 verification Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 239000002784 hot electron Substances 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
Abstract
Description
本発明は、半導体集積回路におけるエンディアン変換技術に関し、例えばフラッシュメモリと中央処理装置とを備えたデータプロセッサに適用して有効な技術に関する。 The present invention relates to an endian conversion technique in a semiconductor integrated circuit, for example, a technique effective when applied to a data processor including a flash memory and a central processing unit.
データ領域に対するアドレス割り当てには二通りの態様がある。その一つは、データ領域の下位側に小さなアドレスを割り当てるリトルエンディアン、もう一つはデータ領域の下位側に大きなアドレスを割り当てるビッグエンディアンである。データバス上におけるアドレス下位側からのデータ転送形態を考えれば、例えば複数バイトのデータを複数回に分けてバス上で転送するとき、リトルエンディアンでは順次下位バイトから転送し、ビッグエンディアンでは順次上位バイトから転送することになる。したがって、バスマスタとバススレーブとの間ではエンディアンの認識が一致しなければ誤動作を生ずる。 There are two modes for address assignment to the data area. One is a little endian that assigns a small address to the lower side of the data area, and the other is a big endian that assigns a large address to the lower side of the data area. Considering the form of data transfer from the lower address side on the data bus, for example, when transferring multiple bytes of data over the bus in multiple batches, little endian sequentially transfers from the lower byte, and big endian sequentially transfers the upper byte. Will be transferred from. Therefore, if the endian recognition does not match between the bus master and the bus slave, a malfunction occurs.
エンディアンの相違に対して特許文献1に記載の技術は、アドレスの下位2ビットをエンディアンモード信号と排他的論理和演算を行ってバス幅32ビット以下のデータバス上におけるデータ転送に対してビッグエンディアンとリトルエンディアンの双方に対応可能とするものである。特許文献2はアドレス下位1ビットに対して同様の手段を講ずることが記載される。双方の記載はマルチチップのメモリとCPUを接続するアドレスバスの途中に配置されるエンディアン変換器として位置付けられている。
With respect to the endian difference, the technique described in
本発明者はデータ転送における転送元と転送先におけるエンディアンの整合だけでなく、フラッシュメモリの記憶領域などのデータ領域に対するエンディアンの整合について広く検討した。例えば、フラッシュメモリの記憶領域に対するCPUの論理アドレスの割り当てに対し、フラッシュメモリの物理アドレスマップがビッグエンディアンであるのかリトルエンディアンであるのかによって、CPUからの同じアクセスアドレスであっても、其れによって指定されるフラッシュメモリの物理エリアが相違することなる。このとき、フラッシュメモリには一括消去単位とされる消去ブロックのサイズがアドレスエリアによって相違されるものがある。そうすると、前記フラッシュメモリの物理アドレスマップのエンディアンが相違するもの同士の間では、消去動作で指定された同じ消去アドレスを含む消去ブロックのサイズが異なる場合がある。これによりエンディアンが相違するCPUとフラッシュメモリの間では、記憶情報の書き換えに際して、不所望に広いアドレス範囲で一括消去が行われる虞がある。その結果として、フラッシュメモリに書き込まれている情報が不所望に消去されてしまう虞がある。逆に、CPUは広いアドレス範囲について一括消去を行う予定であったところ、フラッシュメモリの狭いアドレス範囲の消去ブロックが消去対象とされ、その結果としてフラッシュメモリに書き込まれている情報が消去されずに残ってしまい、その後のフラッシュメモリへの書き込みが保証されない虞がある。そのため複数回の一括消去動作を行うことが必要となる。
これらの問題に対処するには、データバス上でのエンディアンの整合のようなバス幅に合わせた単なる下位側アドレスビットの論理値反転では足りない。
The present inventor has extensively studied not only endian matching at the transfer source and transfer destination in data transfer but also endian matching for the data area such as the storage area of the flash memory. For example, for the allocation of the CPU logical address to the storage area of the flash memory, even if the same access address from the CPU depends on whether the physical address map of the flash memory is big endian or little endian, The physical area of the specified flash memory will be different. At this time, some flash memories have different erase block sizes, which are used as a batch erase unit, depending on the address area. Then, there are cases where the sizes of erase blocks including the same erase address designated in the erase operation are different between those having different endian in the physical address map of the flash memory. As a result, between the CPU and the flash memory having different endians, there is a possibility that batch erasure is performed undesirably in a wide address range when rewriting stored information. As a result, information written in the flash memory may be erased undesirably. Conversely, when the CPU was scheduled to perform batch erasure over a wide address range, the erase block in the narrow address range of the flash memory is targeted for erasure, and as a result, the information written in the flash memory is not erased. There is a possibility that the writing to the flash memory is not guaranteed. Therefore, it is necessary to perform a batch erase operation a plurality of times.
In order to deal with these problems, it is not sufficient to simply invert the logical value of the lower address bits in accordance with the bus width such as endian matching on the data bus.
また、複数の回路モジュールをオンチップさせて半導体集積回路を設計しようとするとき、複数の回路モジュールにおけるエンディアンの相違に対して、エンディアンが相違する少数派回路モジュールに対して、内部データバスのバイト幅を表すのに必要なアドレスビット数分の下位アドレスとの接続をその都度修正して対処することができる。しかしながら、データ転送におけるエンディアン整合のためであっても、そのような対処法では、設計工数や検証工数が増えるばかりでなく、設計部品としての回路モジュールの種類が毎回増え、設計資産としての回路モジュールデータの管理も煩雑になってしまう。 In addition, when designing a semiconductor integrated circuit by putting a plurality of circuit modules on-chip, the byte of the internal data bus is used for a minority circuit module having a different endian in response to a difference in endian in the plurality of circuit modules. Connections with lower addresses corresponding to the number of address bits necessary to express the width can be corrected each time. However, even for endian matching in data transfer, such a countermeasure not only increases the design man-hours and verification man-hours, but also increases the types of circuit modules as design components each time, and circuit modules as design assets. Data management is also complicated.
本発明の目的は、不揮発性メモリに対し不所望に大きなアドレス範囲で一括消去が行われることを防止し、又は不所望に狭いアドレス範囲で一括消去が行われ複数回の一括消去動作を行わなければならなくなることを防止することができる半導体集積回路を提供することになる。 An object of the present invention is to prevent batch erasure of a non-volatile memory from an undesirably large address range, or to perform erasure multiple times in an undesirably narrow address range. A semiconductor integrated circuit capable of preventing the failure to be provided is provided.
本発明の別の目的は、エンディアンの整合のために設計工数や検証工数が増えたり、設計部品としての回路モジュールの種類が増えることを回避するのに資することができる半導体集積回路を提供することにある。 Another object of the present invention is to provide a semiconductor integrated circuit that can contribute to avoiding an increase in design man-hours and verification man-hours due to endian matching and an increase in the types of circuit modules as design parts. It is in.
本発明の更に別の目的は、入出力データの並列ビット数に拘らずエンディアンの変更に対応することができる半導体集積回路を提供することにある。 Still another object of the present invention is to provide a semiconductor integrated circuit that can cope with endian change regardless of the number of parallel bits of input / output data.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
〔1〕本発明に係る半導体集積回路(1)は、電気的に記憶情報の書換えが可能にされる複数個の不揮発性メモリセル(13)を備えた不揮発性メモリ(4)を有する。前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック(EB0〜EB4)単位で行う。前記不揮発性メモリは、そのアドレス入力端子から入力されるアドレス信号の全ビットに対する論理値反転を選択可能なエンディアン変換回路を有する。 [1] A semiconductor integrated circuit (1) according to the present invention includes a nonvolatile memory (4) including a plurality of nonvolatile memory cells (13) that can electrically rewrite stored information. The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks (EB0 to EB4) having different sizes. The non-volatile memory has an endian conversion circuit capable of selecting logical value inversion for all bits of an address signal input from the address input terminal.
上記より、不揮発性メモリのエンディアンとそのアクセス主体のエンディアンとが相違する場合、エンディアン変換回路によって入力アドレス信号の全ビットに対する論理値反転を行えばよい。これにより、不揮発性メモリとそのアクセス主体との双方でデータ領域に対するアドレス割り当て方向が等しくなる。したがって、不揮発性メモリにおいて一括消去単位とされる消去ブロックのサイズがアドレスエリアによって相違されていても、サイズの異なる消去ブロックに対するアドレスマップが不揮発性メモリとそのアクセス主体との間で相違することはない。したがって、不揮発性メモリに対し不所望に大きなアドレス範囲で一括消去が行われることを防止し、又は不所望に狭いアドレス範囲で一括消去が行われ複数回の一括消去動作を行わなければならなくなることを防止することができる。 From the above, when the endian of the nonvolatile memory is different from the endian of the access subject, the logical value inversion for all the bits of the input address signal may be performed by the endian conversion circuit. As a result, the address allocation direction for the data area becomes equal in both the nonvolatile memory and the access subject. Therefore, even if the size of the erase block as a batch erase unit in the nonvolatile memory is different depending on the address area, the address map for the erase block having a different size is different between the nonvolatile memory and the access subject. Absent. Therefore, it is possible to prevent batch erasing from an undesirably large address range to a non-volatile memory, or to perform erasing multiple times in an undesirably narrow address range. Can be prevented.
さらに、複数の回路モジュールをオンチップさせて半導体集積回路を設計しようとするとき、不揮発性メモリが他の回路モジュールのエンディアンと相違する少数派回路モジュールであっても、不揮発性メモリがエンディアン変換回路を保有するから、不揮発性メモリの内部でアドレスの配線パターンを修正してビットの入れ換えを行うことを要しない。不揮発性メモリが保有するエンディアン変換回路に対してアドレス入れ換えの選択を行うだけでよい。エンディアン整合のために設計部品としての不揮発性メモリの種類を増やすことを要しない。 Furthermore, when designing a semiconductor integrated circuit by making a plurality of circuit modules on-chip, even if the nonvolatile memory is a minority circuit module different from the endian of another circuit module, the nonvolatile memory is an endian conversion circuit. Therefore, it is not necessary to modify the address wiring pattern in the nonvolatile memory and replace the bits. It is only necessary to select address replacement for the endian conversion circuit held in the nonvolatile memory. It is not necessary to increase the types of non-volatile memories as design parts for endian matching.
上記では全アドレスビットの論理値反転が可能であるから、下位アドレスで指定する最小データ語を最小消去単位とする場合にも対処することができる。データバス上で複数回に分けて転送されるデータの上位と下位の配置や転送順序もデータバスのビット数に係わらず揃えることができる。 In the above, since the logical values of all address bits can be inverted, it is possible to cope with the case where the minimum data word specified by the lower address is the minimum erase unit. The upper and lower arrangement and transfer order of data transferred in a plurality of times on the data bus can be aligned regardless of the number of bits of the data bus.
上記において、消去単位の最小サイズとデータバス幅とを考慮してエンディアン変換回路による論理値反転対象のアドレスビット数を最小とする場合には次のようにする。即ち、エンディアン変換回路は、前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なビット数分の下位側アドレスよりも上位側の全アドレスビットと、前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち前記不揮発性メモリのデータ入出力端子で入出力される並列データ語数を表すのに必要なビット数分の下位側アドレスの全アドレスビットとに対する論理値反転を選択可能であればよい。 In the above, when the number of address bits to be inverted by the endian conversion circuit is minimized in consideration of the minimum size of the erase unit and the data bus width, the following is performed. That is, the endian conversion circuit generates all address bits higher than the lower address corresponding to the number of bits necessary to represent the minimum number of data words of the erase block in the address signal input from the address input terminal of the nonvolatile memory. And all the lower-order addresses corresponding to the number of bits necessary to represent the number of parallel data words input / output at the data input / output terminal of the nonvolatile memory among the address signals input from the address input terminal of the nonvolatile memory. Any logic inversion with respect to the address bits can be selected.
本発明の一つの具体的な形態として、前記不揮発性メモリにおける所定の不揮発性メモリセルは、前記エンディアン変換回路におけるアドレスビットの論理値反転を選択する制御データの記憶領域とされる。このとき前記不揮発性メモリは、例えばリセットの指示に応答して前記制御データを所定の不揮発性メモリセルから読出して前記エンディアン変換回路にセットすればよい。 As one specific form of the present invention, a predetermined nonvolatile memory cell in the nonvolatile memory serves as a storage area for control data for selecting a logical value inversion of an address bit in the endian conversion circuit. At this time, for example, the non-volatile memory may read the control data from a predetermined non-volatile memory cell in response to a reset instruction and set it in the endian conversion circuit.
またCPUとフラッシュメモリの物理的なエンディアンが一致している場合であっても、CPUで実行するプログラムの論理的なアドレス空間における消去単位のサイズの割り当てが、フラッシュメモリの物理的な消去単位と異なるような場合にも、フラッシュメモリのアドレス入れ替えを行うために前記エンディアン変換回路を有するようにしても良い。これにより、既存のプログラムの修正をすることなく適切な消去単位の割り当てを行うことが可能となる。 Even when the physical endian of the CPU and the flash memory match, the allocation of the erase unit size in the logical address space of the program executed by the CPU is the same as the physical erase unit of the flash memory. Even in different cases, the endian conversion circuit may be provided in order to replace the address of the flash memory. As a result, it is possible to assign an appropriate erasing unit without modifying an existing program.
〔2〕本発明の別の観点による半導体集積回路は、電気的に記憶情報の書換えが可能にされる複数個の不揮発性メモリセルを備えた不揮発性メモリと共に、前記不揮発性メモリをアクセス可能なデータ処理ユニットを有する。前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行う。半導体集積回路は、前記データ処理ユニットから前記不揮発性メモリに内部アドレスバスで伝達されるアドレス信号の全ビットに対する論理値反転を選択可能な前記エンディアン変換回路を有する。 [2] A semiconductor integrated circuit according to another aspect of the present invention can access the non-volatile memory together with a non-volatile memory having a plurality of non-volatile memory cells that can electrically rewrite stored information. It has a data processing unit. The nonvolatile memory erases stored information from the nonvolatile memory cells in units of erase blocks having different sizes. The semiconductor integrated circuit includes the endian conversion circuit capable of selecting logical value inversion for all bits of an address signal transmitted from the data processing unit to the nonvolatile memory via an internal address bus.
上記より、不揮発性メモリのエンディアンとデータ処理ユニットのエンディアンとが相違する場合、エンディアン変換回路によって入力アドレス信号の全ビットに対する論理値反転を行えばよい。これにより、不揮発性メモリとデータ処理ユニットとの双方でデータ領域に対するアドレス割り当て方向が等しくなる。したがって、不揮発性メモリにおいて一括消去単位とされる消去ブロックのサイズがアドレスエリアによって相違されていても、サイズの異なる消去ブロックに対するアドレスマップが不揮発性メモリとデータ処理ユニットとの間で相違することはない。したがって、不揮発性メモリに対し不所望に大きなアドレス範囲で一括消去が行われることを防止することができる。 From the above, when the endian of the nonvolatile memory and the endian of the data processing unit are different, the logic value inversion for all bits of the input address signal may be performed by the endian conversion circuit. As a result, the address allocation direction for the data area is equal in both the nonvolatile memory and the data processing unit. Therefore, even if the size of the erase block as a batch erase unit in the nonvolatile memory is different depending on the address area, the address map for the erase block having a different size is different between the nonvolatile memory and the data processing unit. Absent. Therefore, it is possible to prevent batch erasing from being performed in an undesirably large address range with respect to the nonvolatile memory.
上記では全アドレスビットの論理値反転が可能であるから、下位アドレスで指定する最小データ語を最小消去単位とする場合にも対処することができる。データバス上で複数回に分けて転送されるデータの上位と下位の配置や転送順序もデータバスのビット数に係わらず揃えることができる。 In the above, since the logical values of all address bits can be inverted, it is possible to cope with the case where the minimum data word specified by the lower address is the minimum erase unit. The upper and lower arrangement and transfer order of data transferred in a plurality of times on the data bus can be aligned regardless of the number of bits of the data bus.
上記において、消去単位の最小サイズとデータバス幅とを考慮してエンディアン変換回路による論理値反転対象のアドレスビット数を最小とする場合には次のようにする。即ち、エンディアン変換回路は、前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なビット数分の下位側アドレスよりも上位側の全アドレスビットと、前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち前記不揮発性メモリのデータ入出力端子で入出力される並列データ語数を表すのに必要なビット数分の下位側アドレスの全アドレスビットとに対する論理値反転を選択可能であればよい。 In the above, when the number of address bits to be inverted by the endian conversion circuit is minimized in consideration of the minimum size of the erase unit and the data bus width, the following is performed. That is, the endian conversion circuit generates all address bits higher than the lower address corresponding to the number of bits necessary to represent the minimum number of data words of the erase block in the address signal input from the address input terminal of the nonvolatile memory. And all the lower-order addresses corresponding to the number of bits necessary to represent the number of parallel data words input / output at the data input / output terminal of the nonvolatile memory among the address signals input from the address input terminal of the nonvolatile memory. Any logic inversion with respect to the address bits can be selected.
本発明の一つの具体的な形態として、前記不揮発性メモリにおける所定の不揮発性メモリセルは、前記エンディアン変換回路におけるアドレスビットの論理値反転を選択する制御データの記憶領域とされる。このとき前記不揮発性メモリは、例えばリセットの指示に応答して前記制御データを所定の不揮発性メモリセルから読出して前記エンディアン変換回路にセットすればよい。 As one specific form of the present invention, a predetermined nonvolatile memory cell in the nonvolatile memory serves as a storage area for control data for selecting a logical value inversion of an address bit in the endian conversion circuit. At this time, for example, the non-volatile memory may read the control data from a predetermined non-volatile memory cell in response to a reset instruction and set it in the endian conversion circuit.
本発明の更に具体的な形態として、前記不揮発性メモリ又はデータ処理ユニットが前記エンディアン変換回路を有する。これにより、複数の回路モジュールをオンチップさせて半導体集積回路を設計しようとするとき、エンディアンが相違する少数派回路モジュールに対して、内部データバスのバイト幅を表すのに必要なビット数分の下位側アドレスを配線パターンの修正によって入れ換えることを要しない。不揮発性メモリ又はデータ処理ユニットが保有するエンディアン変換回路に対してアドレスビットの論理値反転の選択を行うだけでよい。エンディアン整合のために設計部品としての不揮発性メモリ及びデータ処理ユニットの種類を増やすことを要しない。 As a more specific form of the present invention, the nonvolatile memory or the data processing unit includes the endian conversion circuit. As a result, when designing a semiconductor integrated circuit by making a plurality of circuit modules on-chip, for the minority circuit modules having different endians, the number of bits required to represent the byte width of the internal data bus is obtained. It is not necessary to replace the lower address by modifying the wiring pattern. It is only necessary to select the logical value inversion of the address bits for the endian conversion circuit possessed by the nonvolatile memory or the data processing unit. It is not necessary to increase the types of nonvolatile memories and data processing units as design parts for endian matching.
〔3〕本発明の更に別の観点による半導体集積回路は、半導体基板上に、内部バスと、前記内部バスに結合されたバスマスタモジュール及びバススレーブモジュールとを有する。バスマスタモジュール又はバススレーブモジュールはエンディアン変換回路を有する。このエンディアン変換回路は、バススレーブモジュールのデータ領域に対するアドレス割り当てに関し、データ領域の下位側に小さなアドレスを割り当てるリトルエンディアンと、データ領域の下位側に大きなアドレスを割り当てるビッグエンディアンとを選択的に切換え可能にする。 [3] A semiconductor integrated circuit according to still another aspect of the present invention includes an internal bus and a bus master module and a bus slave module coupled to the internal bus on a semiconductor substrate. The bus master module or the bus slave module has an endian conversion circuit. This endian conversion circuit can selectively switch between a little endian that assigns a small address to the lower side of the data area and a big endian that assigns a large address to the lower side of the data area for address assignment to the data area of the bus slave module. To.
バスマスタモジュール又はバススレーブモジュールはエンディアン変換回路を有するから、この半導体集積回路を設計しようとするとき、エンディアンが相違する少数派回路モジュールに対して、内部データバスのバイト幅に応じたビット数の下位側アドレスを配線パターンの修正に対して入れ換えることを要しない。不揮発性メモリ又はデータ処理ユニットが保有するエンディアン変換回路に対してエンディアンの切換えを選択するだけでよい。エンディアン整合のために設計部品としてのバスマスタモジュール又はバススレーブモジュールの種類を増やすことを要しない。 Since the bus master module or the bus slave module has an endian conversion circuit, when trying to design this semiconductor integrated circuit, a minority circuit module having a different endian is used to lower the number of bits corresponding to the byte width of the internal data bus. It is not necessary to replace the side address for the correction of the wiring pattern. It is only necessary to select endian switching for the endian conversion circuit held in the nonvolatile memory or the data processing unit. It is not necessary to increase the types of bus master modules or bus slave modules as design parts for endian matching.
本発明の一つの具体的な形態として、前記エンディアン変換回路は、内部バスで伝達されるアドレス信号の全ビットに対する論理値反転を選択可能である。これにより、バスマスタモジュールとバススレーブモジュールとの双方でデータ領域に対するアドレス割り当て方向が等しくなる。 As one specific form of the present invention, the endian conversion circuit can select logical value inversion for all bits of an address signal transmitted through an internal bus. As a result, the address allocation direction for the data area is equal in both the bus master module and the bus slave module.
本発明の別の具体的な形態として、前記エンディアン変換回路は、内部バスで伝達されるアドレス信号のうち、内部バスで伝達される並列データ語数を表すのに必要なアドレスビット数分の下位側アドレスの全アドレスビットの論理値反転を選択可能である。内部バスを介して複数回に分けて転送されるデータの上位と下位の順序が逆転する場合にも簡単に対処することができる。 As another specific form of the present invention, the endian conversion circuit includes, on the lower side, the number of address bits necessary to represent the number of parallel data words transmitted on the internal bus among the address signals transmitted on the internal bus. The logical value inversion of all address bits of the address can be selected. It is possible to easily cope with the case where the upper and lower orders of data transferred in multiple times via the internal bus are reversed.
本発明の更に別の具体的な形態として、前記バススレーブモジュールは電気的に記憶情報の書換えが可能にされる複数個の不揮発性メモリセルを備えた不揮発性メモリである。前記バスマスタモジュールは前記不揮発性メモリをアクセス可能なデータ処理ユニットである。前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行う。前記エンディアン変換回路は、内部バスで伝達されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なビット数分の下位側アドレスよりも上位側の全アドレスビットと、内部バスで伝達されるアドレス信号のうち内部バスで伝達される並列データ語数を表すのに必要なビット数分の下位側アドレスの全アドレスビットとに対する論理値反転を選択可能である。これにより、不揮発性メモリにおいて一括消去単位とされる消去ブロックのサイズがアドレスエリアによって相違されていても、サイズの異なる消去ブロックに対するアドレスマップが不揮発性メモリとそのアクセス主体との間で相違することはない。したがって、不揮発性メモリに対し不所望に大きなアドレス範囲で一括消去が行われることを防止することができる。 As yet another specific form of the present invention, the bus slave module is a non-volatile memory including a plurality of non-volatile memory cells in which stored information can be electrically rewritten. The bus master module is a data processing unit that can access the nonvolatile memory. The nonvolatile memory erases stored information from the nonvolatile memory cells in units of erase blocks having different sizes. The endian conversion circuit transmits all the address bits higher than the lower address corresponding to the number of bits required to represent the minimum number of data words of the erase block among the address signals transmitted on the internal bus, and is transmitted on the internal bus. It is possible to select logical value inversion with respect to all address bits of lower addresses corresponding to the number of bits necessary to represent the number of parallel data words transmitted through the internal bus. As a result, even if the size of the erase block as a batch erase unit in the nonvolatile memory is different depending on the address area, the address map for the erase block having a different size is different between the nonvolatile memory and the access subject. There is no. Therefore, it is possible to prevent batch erasing from being performed in an undesirably large address range with respect to the nonvolatile memory.
本発明の更に具体的な形態として、前記不揮発性メモリにおける所定の不揮発性メモリセルは、前記エンディアン変換回路におけるアドレスビットの論理値反転を選択する制御データの記憶領域とされる。このとき、前記不揮発性メモリはリセットの指示に応答して前記制御データを所定の不揮発性メモリセルから読出して前記エンディアン変換回路にセットすればよい。 As a more specific form of the present invention, a predetermined nonvolatile memory cell in the nonvolatile memory serves as a storage area for control data for selecting logical value inversion of address bits in the endian conversion circuit. At this time, the nonvolatile memory may read the control data from a predetermined nonvolatile memory cell in response to a reset instruction and set it in the endian conversion circuit.
本発明の更に具体的な形態として、ビッグエンディアンとリトルエンディアンが混在した前記バススレーブモジュールとバスマスタモジュールとの中でエンディアンが異なる少数派モジュールが前記エンディアン変換回路を有する。 As a more specific form of the present invention, a minority module having a different endian among the bus slave module and the bus master module in which big endian and little endian are mixed has the endian conversion circuit.
〔4〕本発明の更に別の観点による半導体集積回路は、複数の不揮発性メモリセルを備えた不揮発性メモリ(4)と、前記不揮発性メモリにアドレスバス及びデータバスを介してアクセス可能な複数の回路モジュールとを有する。第1の回路モジュール(2)は、前記データバスを介して第1の不揮発性メモリセルへアクセスするために第1アドレス情報を前記アドレスバスに出力する。第2の回路モジュール(3)は、前記データバスを介して前記第1の不揮発性メモリセルへアクセスするために第2アドレス情報を前記アドレスバスに出力する。そして、第1状態信号に応じて前記第2アドレス情報を前記第1アドレス情報へ変換し、第2状態信号に応じて変換を行わない制御を行う変換器(25A)を有する。 [4] A semiconductor integrated circuit according to still another aspect of the present invention includes a non-volatile memory (4) having a plurality of non-volatile memory cells, and a plurality of non-volatile memories accessible via an address bus and a data bus. Circuit module. The first circuit module (2) outputs first address information to the address bus for accessing the first nonvolatile memory cell via the data bus. The second circuit module (3) outputs second address information to the address bus for accessing the first nonvolatile memory cell via the data bus. And it has a converter (25A) which performs control which converts the 2nd address information into the 1st address information according to the 1st status signal, and does not convert according to the 2nd status signal.
具体的な形態として、前記第1の回路モジュールは前記第2状態信号を出力し、前記第2の回路モジュールは前記第1状態信号を出力する。 As a specific form, the first circuit module outputs the second state signal, and the second circuit module outputs the first state signal.
具体的な形態として、前記不揮発性メモリは、前記第1アドレス情報の入力に応じて、前記第1アドレス情報に含まれる第1ロウアドレス情報と第1カラムアドレス情報とから前記第1の不揮発性メモリセルを選択する。 As a specific form, the non-volatile memory may generate the first non-volatile memory from first row address information and first column address information included in the first address information in response to input of the first address information. Select a memory cell.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、不揮発性メモリに対し不所望に大きなアドレス範囲で一括消去が行われることを防止することができる。 That is, it is possible to prevent the batch erase from being performed in an undesirably large address range with respect to the nonvolatile memory.
エンディアンの整合のために設計工数や検証工数が増えたり、設計部品としての回路モジュールの種類が増えることを回避するのに資することができる。 This can contribute to avoiding an increase in design man-hours and verification man-hours due to endian matching, and an increase in the types of circuit modules as design parts.
アドレス信号の全ビットに対し上位と下位の入れ換えが可能であることにより、入出力データの並列ビット数に拘らずエンディアンの変更に対応することができる。 Since all the bits of the address signal can be exchanged between upper and lower, it is possible to cope with endian changes regardless of the number of parallel bits of input / output data.
図2には半導体集積回路の一例としてデータプロセッサを示す。データプロセッサを構成する回路素子は、公知のCMOS(相補型MOSトランジスタ)やバイポーラトランジスタ等の半導体集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。 FIG. 2 shows a data processor as an example of a semiconductor integrated circuit. The circuit elements constituting the data processor are formed on a single semiconductor substrate such as single crystal silicon by a known semiconductor integrated circuit technology such as a CMOS (complementary MOS transistor) or a bipolar transistor.
データプロセッサ(MPU)1はバスマスタモジュールとして代表的に示された中央処理装置(CPU)2とダイレクトメモリアクセスコントローラ(DMAC)3を有する。データプロセッサ1はバススレーブモジュールとして、代表的に示された不揮発性メモリとしてのフラッシュメモリ(FLASH)4、ランダムアクセスメモリ(RAM)5、タイマ(TMR)6、フェーズロックドループ回路(PLL)7、ポート回路(PRT)8,9を有する。それら回路モジュール2〜9は内部バス10を共有する。内部バス10はアドレス、データ、及びバス制御信号等の信号線の集合とされる。
The data processor (MPU) 1 has a central processing unit (CPU) 2 and a direct memory access controller (DMAC) 3 which are representatively shown as a bus master module. As a bus slave module, the
CPU2は命令実行手順を制御する命令制御部と、命令制御部からの制御信号に基づいてメモリアクセスや演算を行って命令を実行する命令実行部を有する。RAM5はCPU2のワーク領域若しくはデータの一時記憶領域に用いられる。DMAC3はCPU2による初期設定に基づいてメモリアクセス等のためのアクセス制御を行う。PLL7は端子XTAL/EXTALに接続された振動子で生成される原発振に基づいてCPU2等の動作基準クロックを生成する。ポート回路8,9は外部とのインタフェースに用いられる。タイマ6はカウントアップやインプットキャプチャ等によるタイマ動作を行う。フラッシュメモリ4はプログラムやデータの保持に利用される。Vccは外部電源端子、Vssは外部接地端子、STBYはスタンバイ信号、RESはリセット信号である。
The
図3にはフラッシュメモリ4の一例が示される。フラッシュメモリ4は多数の不揮発性メモリセルがマトリクス状に配置されたメモリアレイ(MARY)12を有する。図には代表的に1個の不揮発性メモリセル13が示される。同図に例示される不揮発性メモリセル13は、特に制限されないが、2層ゲート構造の絶縁ゲート型のnチャンネル電界効果トランジスタにより構成されている。この不揮発性メモリセル13は、例えばソースとドレインの間のチャネル形成領域の上にトンネル絶縁膜としての薄いゲート酸化膜を介してフローティングゲートを有し、その上に、絶縁膜を介してコントロールゲートを備える。この不揮発性メモリセル13への情報の書込み動作は、例えばコントロールゲート及びドレインに高圧を印加して、アバランシェ注入によりドレイン側からフローティングゲートに電子を注入することで実現される。この書込み動作により不揮発性メモリセルはそのコントロールゲートからみた閾値電圧が、書込み動作を行わなかった消去状態の閾値電圧に比べて高くされる。一方消去動作は、例えばソースに高圧を印加して、トンネル現象によりフローティングゲートからソース側に電子を引き抜くことによって実現される。消去動作により不揮発性メモリセルはそのコントロールゲートからみた閾値電圧が低くされる。読み出し動作は、消去状態の不揮発性メモリセルの閾値電圧分布と、書込み状態の不揮発性メモリセルの閾値電圧分布との間のワード線選択レベルをコントロールゲートに与えることによって行われる。
FIG. 3 shows an example of the
不揮発性メモリセル13のドレインは列毎にビット線BLに接続され、コントロールゲートは行単位でワード線WLに接続される。不揮発性メモリセルのソースは一括消去単位とされる消去ブロック毎に共通のソース線SLに接続される。図3においてワード線WL、ビット線BL及びソース線SLは各1本図示しあるが、実際にはメモリアレイ12の希望に応じて多数配置されている。
The drain of the
ソース線SL及びワード線WLに対する電圧駆動はドライバ回路(DRV)14が行う。アドレスデコーダ15は内部バス10に含まれるアドレスバスABUSからロウアドレス信号受け、このロウアドレス信号をデコードして、ドライバ回路14によって駆動すべきワード線WLの選択やソース線SLの選択を行う。
The driver circuit (DRV) 14 performs voltage driving for the source line SL and the word line WL. The
前記ビット線BLは一方においてカラムスイッチアレイ(CSWA)16を介してセンスアンプアレイ(SAA)17に接続し、他方において書込みラッチ回路(PLAT)18に接続する。センスアンプアレイ17はデータ入出力回路(DIO)19に接続される。前記アドレスデコーダ15は内部バス10に含まれるアドレスバスABUSからカラムアドレス信号受け、このカラムアドレス信号をデコードして、カラムスイッチアレイ16の選択信号を形成する。カラムスイッチアレイ16はカラム選択信号で選択されたビット線BLをセンスアンプアレイ17に導通させる。センスアンプアレイ17は読出し動作において不揮発性メモリセルからビット線に読み出された記憶情報のうちカラムスイッチアレイ16で選択されたものをセンスして増幅する。センスアンプアレイ17でセンス・増幅された記憶情報はデータ入出力回路19から内部バス10のデータバスDBUSに出力される。データバスDBUSからデータ入出力回路19に入力された書込みデータはカラムスイッチアレイ16で選択されたビット線を介して書き込みラッチ回路18にラッチされる。書込み動作は書込みラッチ回路18にラッチされたデータに基づいてワード線単位で行われる。
The bit line BL is connected to a sense amplifier array (SAA) 17 via a column switch array (CSWA) 16 on one side and to a write latch circuit (PLAT) 18 on the other side. The
電圧生成回路(VPPG)21は電源電圧Vccを昇圧して、消去及び書込みに必要な高電圧を生成する。メモリ制御回路(MCNT)22はデータバスDBUSからアクセスコマンドを受け取り、そのコマンドによる指示に従って、消去、書込み、及び読出しの各々の動作に必要な電源の供給、アドレスデコード、データの入出力、データラッチ等の動作手順を制御する。23はそのための制御信号を総称する。 A voltage generation circuit (VPPG) 21 boosts the power supply voltage Vcc to generate a high voltage necessary for erasing and writing. A memory control circuit (MCNT) 22 receives an access command from the data bus DBUS, and supplies power, address decoding, data input / output, and data latch necessary for each of erase, write, and read operations according to an instruction by the command. The operation procedure is controlled. 23 is a generic name for control signals for that purpose.
ここでエンディアンについて説明する。例えばリトルエンディアンとはデータ領域の物理的な領域の下位側に小さなアドレスを割り当てることである。ビッグエンディアンとはデータ領域の物理的な領域の下位側に大きなアドレスを割り当てることである。例えば図4のデータ領域を想定する。データ領域はメモリ領域のようなストレージ上であっても、バス信号線上であっても、何れを考えてもよい。例えばアドレスH’0000から始まる領域にデータH’01234567を格納する場合を例とする。ビッグエンディアンは下位領域(データH’67)LSBに大きなアドレスH’0003が割り当てられる。リトルエンディアンは上位領域(データH’01)MSBに大きなアドレスH’0003が割り当てられる。 Here, endian will be described. For example, little endian is to assign a small address to the lower side of the physical area of the data area. Big endian is to assign a large address to the lower side of the physical area of the data area. For example, assume the data area of FIG. The data area may be either a storage such as a memory area or a bus signal line. For example, a case where data H′01234567 is stored in an area starting from the address H′0000 is taken as an example. In the big endian, a large address H′0003 is assigned to the lower area (data H′67) LSB. In the little endian, a large address H'0003 is assigned to the upper area (data H'01) MSB.
データ領域に対するアドレス割り当てがビッグエンディアンのとき、図5に例示されるように、そのデータ領域に対するアクセスアドレスの論理値を全ビット反転すると、そのデータ領域に対するアドレス割り当ては見掛け上リトルエンディアンと同じになる。 When the address assignment for the data area is big endian, as shown in FIG. 5, if the logical value of the access address for the data area is inverted for all bits, the address assignment for the data area is apparently the same as little endian. .
フラッシュメモリ4のメモリアレイの記憶領域に対するエンディアンについて説明する。例えば図6のようにフラッシュメモリ4の消去ブロックをEB0〜EB4とする。EB0を下位領域とする。CPU2から見たフラッシュメモリ4の論理アドレスマップを例えばリトルエンディアンとする。要するに、CPU2はデータ領域に対するアドレス割り当てをリトルエンディアンとして認識する。特に図示はしないが、データ領域に対するアドレス割り当ての認識がビッグエンディアンのCPUも当然存在する。このとき、フラッシュメモリ4の物理アドレスマップも同じく、リトルエンディアンであるものもあれば、ビッグエンディアンであるものもある。
The endian for the storage area of the memory array of the
特に、バスマスタとしてのCPU2とバススレーブのフラッシュメモリ4との間では、データバスDBUS上でのデータの並びの他に、消去ブロックのサイズが相違することに注意しなければならない。例えばデータバスDBUSが32ビットのとき、バイトアドレスに対するデータの並びは、ビッグエンディアンとリトルエンディアンでは逆になる。よってデータ転送に伴うデータの順序が転送元と転送先で一致するには双方でエンディアンが統一されていることが必要になる。フラッシュメモリ4に対する書込みや読出しについては、データバス上でのデータの並びに関するエンディアンの認識がバスマスタとバススレーブとの間で一致していれば問題ない。消去ブロックの指定をアドレスで行う場合、消去コマンドや書き換えコマンドに付随するアドレスが含まれる消去ブロックを一括消去対象とする。このとき、CPU2のエンディアンとフラッシュメモリ4のエンディアンが不一致であれば、CPU2が想定する消去範囲よりも広い範囲で消去が行われる虞がある。例えば図6の例では、CPU2のエンディアンとフラッシュメモリ4のエンディアンが不一致の時、CPU2が消去ブロックEB0の消去アドレスを指定しても、その消去アドレスはフラッシュメモリ4上では消去ブロックEB4に対応され、アドレスH’2000〜H’8000の範囲で不所望に消去が行われることになる。
その逆の場合としてCPU2が消去ブロックEB4の消去アドレスを指定しても、その消去アドレスはフラッシュメモリ4上では消去ブロックEB0に対応され、CPU2はアドレスH‘0000〜H’8000を消去する予定が、フラッシュメモリ4上のアドレスH‘0000〜H’2000のみが消去されることとなり、H‘2000〜H’8000が未消去のままとなる。CPU2がアドレスH‘3000が消去済みであると認識してデータの書き込みを行おうとしても、フラッシュメモリ4のアドレスH’3000は未消去であるため、そこにデータを書き込んだとしても書き込まれたデータは保証されないことになる。そのため、CPU2は残りの消去ブロックEB1〜EB3のそれぞれを消去することが必要となる。
またCPU2の論理アドレスマップとフラッシュメモリ4の物理アドレスマップとの不一致の理由がエンディアンの不一致である場合だけでなく、CPU2で実行するプログラムにおける論理的な消去ブロックの割り当てがフラッシュメモリ4の物理アドレスマップと一致していないことも考えられる。これはCPU4の論理アドレス全体のエンディアンとフラッシュメモリ4の物理アドレスのエンディアンが一致していても、CPU4がフラッシュメモリ4に割り当てた論理アドレス局所に限定する限りではエンディアンが一致していないために一括消去ブロックの割り当てに不都合が生じていると見なすことが可能となる。
In particular, it should be noted that the size of the erase block differs between the
In the opposite case, even if the
Further, not only when the reason why the logical address map of the
上記一括消去ブロックのサイズが相違する場合の不都合を解消するために、例えばフラッシュメモリ4は図3に例示されるようにエンディアン変換回路(EDCVT)25を備える。エンディアン変換回路25はアドレスバスからアドレス入力端子に入力されるアドレス信号の全ビットに対し上位と下位の入れ換えを選択可能とする。
In order to eliminate the inconvenience when the sizes of the batch erase blocks are different, for example, the
図1にはエンディアン変換回路25の一例が示される。エンディアン変換回路25はアドレスビットa0〜aiの全ビットにビット対応で設けられた2入力形式の排他的論理和ゲート(EXOR)26を有する。図には代表的にa0〜a2の3ビット分の構成が例示される。排他的論理和ゲート(EXOR)26の一方の入力には対応するアドレスビットが入力され、他方にはエンディアン制御信号φESが共通に入力される。エンディアン制御信号φESが論理値0の時、出力b0〜biはa0〜aiに等しくされる。エンディアン制御信号φESが論理値1の時、出力b0〜biの各ビットはa0〜aiの各ビットの反転信号とされる。図1に示されたアドレスデコーダ15のアドレスデコード論理は例えばビッグエンディアンとされている。X0〜X7はワード線WLであり、データ領域の下位側よりX0が割り当てられている。したがって、フラッシュメモリ4はエンディアン制御信号φESが論理値0の時ビッグエンディアン、論理値1のときリトルエンディアンとされる。図7には図1に則したエンディアン変換回路25の動作形態が例示される。
FIG. 1 shows an example of the
上記エンディアン変換回路25を採用することにより、フラッシュメモリ4のエンディアンとそのアクセス主体であるCPU2のエンディアンとが相違する場合、エンディアン変換回路25によって入力アドレス信号の全ビットに対し上位と下位の入れ換えを行えばよい。これにより、フラッシュメモリ4とCPU2との双方でデータ領域に対するアドレス割り当て方向が等しくなる。したがって、フラッシュメモリ4において一括消去単位とされる消去ブロックのサイズがアドレスエリアによって相違されていても、サイズの異なる消去ブロックに対するアドレスマップがフラッシュメモリ4とCPU2との間で相違することはない。したがって、フラッシュメモリ4に対し不所望に広いアドレス範囲で一括消去が行われ、または不所望に狭いアドレス範囲で一括消去が行われることを防止することができる。
By adopting the
さらに、複数の回路モジュールをオンチップさせてデータプロセッサ1を設計しようとするとき、フラッシュメモリ4が他の回路モジュールのエンディアンと相違する少数派回路モジュールであっても、フラッシュメモリ4がエンディアン変換回路25を保有するから、フラッシュメモリ4の内部でアドレスの配線パターンを修正してアドレスビットの入れ換えを行うことを要しない。フラッシュメモリ4が保有するエンディアン変換回路25に対してアドレスビットの論理値反転の選択を行うだけでよい。エンディアン整合のために設計部品としてのフラッシュメモリの種類を増やすことを要しない。エンディアン変換回路25を採用しない場合には、ビッグエンディアン用には図8のアドレスデコーダを持つフラッシュメモリ、リトルエンディアン用には図9のアドレスデコーダを持つフラッシュメモリを別々に用意しなければならなくなる。
Further, when the
前記エンディアン変換回路25の例では、入力アドレスa0〜aiの全ビットに対する論理値反転が可能であるから、下位アドレスで指定する最小データ語であるバイトを最小消去単位とする場合にも対処することができる。32ビットのデータバスDBUS上におけるバイトデータの上位と下位の配置順に対してもデータバスDBUSのビット数に係わらず揃えることができる。
In the example of the
図10には必要最小限のアドレスビットだけを選択的に反転する場合の例を示す。図10の例は消去ブロックの最小サイズが2キロバイト(KB)、データバス幅が64ビットの例である。アドレスはa0〜a31の32ビットのバイトアドレスとする。消去ブロックの最小サイズである2キロバイト(KB)を表すのに必要なアドレスビットはアドレスのa0〜a10の11ビットである。64ビット(8バイト)のデータバスDBUS上におけるバイトデータを表すのに必要なアドレスは3ビットのアドレスa0〜a2である。この場合に、エンディアン変換に応じて反転すべきアドレスビットは、アドレスa0〜a10よりも上位のアドレスビットa11〜a31と、アドレスビットa0〜a2の全アドレスビットとすればよい。これにより、消去ブロックの最小サイズが2キロバイト(KB)、データバス幅が64ビット以下のフラッシュメモリにおいて、ビッグエンディアンとリトルエンディアンとの間でデータバスDBUS上におけるデータ転送順序が変更されず、また、2KBの最小消去ブロックサイズを超えて誤った消去が行われることを抑制することができる。これを、必要最小限のビット数のアドレス反転で実現することができる。尚、図10において記号〜はそれが付されたアドレス範囲の各アドレスビットの反転を意味する。 FIG. 10 shows an example in which only the minimum necessary address bits are selectively inverted. The example of FIG. 10 is an example in which the minimum size of the erase block is 2 kilobytes (KB) and the data bus width is 64 bits. The address is a 32-bit byte address a0 to a31. Address bits necessary to represent 2 kilobytes (KB), which is the minimum size of the erase block, are 11 bits a0 to a10 of the address. Addresses required to represent byte data on a 64-bit (8-byte) data bus DBUS are 3-bit addresses a0 to a2. In this case, the address bits to be inverted in accordance with the endian conversion may be the address bits a11 to a31 higher than the addresses a0 to a10 and all the address bits a0 to a2. As a result, in a flash memory having a minimum erase block size of 2 kilobytes (KB) and a data bus width of 64 bits or less, the data transfer order on the data bus DBUS is not changed between big endian and little endian. It is possible to suppress erroneous erasure that exceeds the minimum erase block size of 2 KB. This can be realized by address inversion with the minimum number of bits. In FIG. 10, the symbol “˜” means inversion of each address bit in the address range to which it is attached.
図1で説明したエンディアン制御信号φESは図3に示されるようにメモリコントローラ22の制御ラッチ(LAT)30が出力する。制御ラッチ30は所定の不揮発性メモリセル13が保持するエンディアン制御データをラッチする。メモリコントローラ22はリセット信号RESによってリセット動作が指示されると、これに応答して前記所定の不揮発性メモリセル13をリードする動作を開始して、当該所定の不揮発性メモリセル13が保持するエンディアン制御データを制御ラッチ30に内部転送する。内部転送されたエンディアン制御データがエンディアン制御信号φESとしてエンディアン変換回路25に供給される。
The endian control signal φES described with reference to FIG. 1 is output by a control latch (LAT) 30 of the
図11にはエンディアン制御データの書込みフローチャートが例示される。この書込み動作は、例えばEPROMライタのような外部書込み装置をポート回路8に接続し、直接フラッシュメモリ4をアクセスすることによって行う。このとき、書込み装置はフラッシュメモリ4のエンディアンに合わせてコマンドやデータを転送する。先ず、エンディアン制御データとその書き込みアドレスを付随する書込みコマンドが発行されると、フラッシュメモリ4はエンディアン制御データの書き込みアドレスをアドレスデコーダ15にラッチすると共に(S1)、エンディアン制御データを書込みデータラッチ18にラッチする(S2)。この後、メモリ制御回路22は書込みデータに従って書込み高電圧を印加する(S3)。次いで、ベリファイデータを読み出し(S4)、ベリファイデータを元に再書き込みデータの演算を行い(S5)、再書き込みデータが書込みデータと相違するか否かによって書込み完了を判定し(S6)、同じであれば再度ステップS3に戻って高電圧印加を繰り返す。再書き込みデータが書込みデータと不一致になっていれば書き込み完了として処理を終了する。エンディアン制御データは製造段階において初期値を持つ。この初期値がビッグエンディアンを指定する場合には、リトルエンディアンを選択するとき図11のフローチャートに従った書込みを行うことになる。
FIG. 11 illustrates a flowchart for writing endian control data. This writing operation is performed by connecting an external writing device such as an EPROM writer to the port circuit 8 and directly accessing the
図12にはエンディアン制御データの読出しフローチャートが例示される。リセット信号RESが論理値1にされて(RES=1)リセット動作が指示されると(T1)、フラッシュメモリ4は前記所定の不揮発性メモリセル13を選択してその記憶情報を制御ラッチ30に内部転送する(T2)。その後、リセット信号RESが論理値0(RES=0)にされることによって処理を終了する(T3)。
FIG. 12 illustrates a flowchart for reading endian control data. When the reset signal RES is set to the logical value 1 (RES = 1) and the reset operation is instructed (T1), the
図13にはCPU2がエンディアン変換回路25Aを持つ場合の例が示される。CPU2が持つエンディアン変換回路25Aは実行部(EXEC)31から出力されるアドレス信号a0〜anを入力し、エンディアン制御信号φESAによって選択的に反転してアドレス信号b0〜bnをアドレスバスABUSに出力する。
FIG. 13 shows an example in which the
図2に示されるデータプロセッサ1において、いずれのオンチップ回路モジュールもエンディアン変換回路を備えず、ビッグエンディアンとリトルエンディアンが混在した回路モジュールがオンチップされているとする。このとき、オンチップ回路モジュールの中でエンディアンが異なる少数派モジュールが前記エンディアン変換回路を有すればよい。フラッシュメモリのエンディアンがマイナーエンディアンであるとき、エンディアン変換回路25を備えたフラッシュメモリ4を採用してデータプロセッサ1を構成すればよい。CPUのエンディアンがマイナーエンディアンであるとき、エンディアン変換回路25Aを備えたCPU2を採用してデータプロセッサ1を構成すればよい。
In the
予めCPU2とDMAC3の双方が図13のエンディアン変換回路25Aを備える場合について考える。このとき、CPU2のエンディアンがマイナーエンディアンであり、DMAC3のエンディアンがメジャーエンディアンであれば、DMAC3のエンディアン変換回路25Aは変換動作させなくてもよい。従ってCPU2の制御信号φESAを変換イネーブルレベルに、DMAC3の制御信号φESAを変換ディスエーブルレベルにすればよい。
Consider a case where both the
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
例えば、不揮発性メモリセルは2層ゲート構造のフローティングゲート構造に限定されない。シリコンナイトライドのような電荷トラップ膜を電荷蓄積領域に備えた構造、メモリトランジスタと共にアシストゲートを備えたスプリットゲート構造等であってもよい。また、書込み及び消去はアバランシェ注入とソースへのFNトンネルに限定されない。ホットエレクトロン注入によって書込みを行い、ホットホール注入によって消去を行ってよい。或いはホットエレクトロン注入によって書込みを行い、FNトンネルによって基板へ電子を放出させて消去を行ってもよい。 For example, the nonvolatile memory cell is not limited to a floating gate structure having a two-layer gate structure. A structure including a charge trapping film such as silicon nitride in a charge storage region, a split gate structure including an assist gate together with a memory transistor, or the like may be used. Further, writing and erasing are not limited to avalanche injection and FN tunneling to the source. Writing may be performed by hot electron injection and erasure may be performed by hot hole injection. Alternatively, writing may be performed by hot electron injection, and erasing may be performed by emitting electrons to the substrate through an FN tunnel.
エンディアン変換回路を備える回路モジュールはフラッシュメモリ以外のバススレーブモジュール、例えばRAMやタイマ等の周辺回路であってよい。エンディアン変換回路を備えるバスマスタモジュールはCPU以外のDMAC等であってもよい。 The circuit module including the endian conversion circuit may be a bus slave module other than the flash memory, for example, a peripheral circuit such as a RAM or a timer. The bus master module including the endian conversion circuit may be a DMAC other than the CPU.
エンディアン変換回路には排他的論理ゲートを用いる構成に限定されず、排他的負論理和ゲート等その他の構成を採用することは当然可能である。データバスの並列ビット数や消去ブロックサイズは適宜変更可能である。 The endian conversion circuit is not limited to a configuration using an exclusive logic gate, and other configurations such as an exclusive negative OR gate can naturally be adopted. The number of parallel bits and the erase block size of the data bus can be changed as appropriate.
本発明はデータプロセッサに限定されない。フラッシュメモリ単体の半導体集積回路や、CPU単体の半導体集積回路等、種々の半導体集積回路に広く適用することができる。 The present invention is not limited to data processors. The present invention can be widely applied to various semiconductor integrated circuits such as a semiconductor integrated circuit having a single flash memory and a semiconductor integrated circuit having a single CPU.
1 データプロセッサ
2 中央処理装置
3 ダイレクトメモリアクセスコントローラ
4 フラッシュメモリ
8,9 ポート回路
10 内部バス
RES リセット信号
12 メモリアレイ
13 不揮発性メモリセル
SL ソース線
WL ワード線
BL ビット線
14 ドライバ回路
15 アドレスデコーダ
25,25A エンディアン変換回路
φES、φESA エンディアン制御信号
30 制御ラッチ
31 実行部
DESCRIPTION OF
Claims (19)
前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行い、
前記不揮発性メモリは、そのアドレス入力端子から入力されるアドレス信号の全ビットに対する論理値反転を選択可能なエンディアン変換回路を有する半導体集積回路。 A non-volatile memory having a plurality of non-volatile memory cells that can electrically rewrite stored information;
The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks having different sizes,
The nonvolatile memory is a semiconductor integrated circuit having an endian conversion circuit capable of selecting logical value inversion for all bits of an address signal input from an address input terminal.
前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行い、
前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なアドレスビット数分の下位側アドレスよりも上位側の全アドレスビットと、前記不揮発性メモリのアドレス入力端子から入力されるアドレス信号のうち前記不揮発性メモリのデータ入出力端子で入出力される並列データ語数を表すのに必要なアドレスビット数分の下位側アドレスの全アドレスビットとに対する論理値反転を選択可能なエンディアン変換回路を有する半導体集積回路。 A non-volatile memory having a plurality of non-volatile memory cells that can electrically rewrite stored information;
The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks having different sizes,
All address bits higher than lower addresses corresponding to the number of address bits necessary to represent the minimum number of data words of an erase block among address signals input from the address input terminal of the nonvolatile memory, and the nonvolatile memory Logic for all address bits of the lower address for the number of address bits required to represent the number of parallel data words input / output at the data input / output terminal of the non-volatile memory among the address signals input from the address input terminal A semiconductor integrated circuit having an endian conversion circuit capable of selecting value inversion.
前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行い、
前記データ処理ユニットから前記不揮発性メモリに内部アドレスバスで伝達されるアドレス信号の全ビットに対する論理値反転を選択可能な前記エンディアン変換回路を有する半導体集積回路。 A semiconductor integrated circuit comprising: a nonvolatile memory having a plurality of nonvolatile memory cells that can electrically rewrite stored information; and a data processing unit capable of accessing the nonvolatile memory,
The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks having different sizes,
A semiconductor integrated circuit having the endian conversion circuit capable of selecting logical inversion for all bits of an address signal transmitted from the data processing unit to the nonvolatile memory via an internal address bus.
前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行い、
前記データ処理ユニットから前記不揮発性メモリに内部アドレスバスで伝達されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なビット数分の下位側アドレスよりも上位側の全アドレスビットと、前記内部アドレスバスで伝達されるアドレス信号のうち前記データ処理ユニットと前記不揮発性メモリとを接続するに内部データバスで伝達される並列データ語数を表すのに必要なビット数分の下位側アドレスの全アドレスビットとに対する論理値反転を選択可能なエンディアン変換回路を有する半導体集積回路。 A semiconductor integrated circuit comprising: a nonvolatile memory having a plurality of nonvolatile memory cells that can electrically rewrite stored information; and a data processing unit capable of accessing the nonvolatile memory,
The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks having different sizes,
All address bits higher than the lower address corresponding to the number of bits necessary to represent the minimum number of data words of the erase block among the address signals transmitted from the data processing unit to the nonvolatile memory via the internal address bus; Of the address signals transmitted on the internal address bus, lower-order addresses corresponding to the number of bits necessary to represent the number of parallel data words transmitted on the internal data bus to connect the data processing unit and the nonvolatile memory. A semiconductor integrated circuit having an endian conversion circuit capable of selecting logical inversion with respect to all address bits.
前記バスマスタモジュール又はバススレーブモジュールはエンディアン変換回路を有し、
前記エンディアン変換回路は、バススレーブモジュールのデータ領域に対するアドレス割り当てに関し、データ領域の下位側に小さなアドレスを割り当てるリトルエンディアンと、データ領域の下位側に大きなアドレスを割り当てるビッグエンディアンとを選択的に切換え可能にするものである半導体集積回路。 A semiconductor integrated circuit having an internal bus and a bus master module and a bus slave module coupled to the internal bus on a semiconductor substrate,
The bus master module or the bus slave module has an endian conversion circuit,
The endian conversion circuit can selectively switch between a little endian that assigns a small address to the lower side of the data area and a big endian that assigns a large address to the lower side of the data area, with respect to address assignment to the data area of the bus slave module. A semiconductor integrated circuit.
前記バスマスタモジュールは前記不揮発性メモリをアクセス可能なデータ処理ユニットであり、
前記不揮発性メモリは前記不揮発性メモリセルに対する記憶情報の消去をサイズの異なる消去ブロック単位で行い、
前記エンディアン変換回路は、内部バスで伝達されるアドレス信号のうち消去ブロックの最小データ語数を表すのに必要なビット数分の下位側アドレスよりも上位側の全アドレスビットと、内部バスで伝達されるアドレス信号のうち内部バスで伝達される並列データ語数を表すのに必要なビット数分の下位側アドレスの全アドレスビットとの論理値反転を選択可能である請求項10記載の半導体集積回路。 The bus slave module is a non-volatile memory including a plurality of non-volatile memory cells that can rewrite stored information electrically.
The bus master module is a data processing unit capable of accessing the nonvolatile memory;
The nonvolatile memory erases stored information in the nonvolatile memory cells in units of erase blocks having different sizes,
The endian conversion circuit transmits all the address bits higher than the lower address corresponding to the number of bits required to represent the minimum number of data words of the erase block among the address signals transmitted on the internal bus, and is transmitted on the internal bus. 11. The semiconductor integrated circuit according to claim 10, wherein logical value inversion with all address bits of the lower address corresponding to the number of bits necessary to represent the number of parallel data words transmitted through the internal bus can be selected.
第1の回路モジュールは、前記データバスを介して第1の不揮発性メモリセルへアクセスするために第1アドレス情報を前記アドレスバスに出力し、
第2の回路モジュールは、前記データバスを介して前記第1の不揮発性メモリセルへアクセスするために第2アドレス情報を前記アドレスバスに出力し、
第1状態信号に応じて前記第2アドレス情報を前記第1アドレス情報へ変換し、第2状態信号に応じて変換を行わない制御を行う変換器を有する半導体集積回路。 A non-volatile memory including a plurality of non-volatile memory cells, and a plurality of circuit modules accessible to the non-volatile memory via an address bus and a data bus,
The first circuit module outputs first address information to the address bus for accessing the first nonvolatile memory cell via the data bus;
A second circuit module for outputting second address information to the address bus to access the first nonvolatile memory cell via the data bus;
A semiconductor integrated circuit comprising: a converter that converts the second address information into the first address information in response to a first state signal and performs control not to perform conversion in response to a second state signal.
前記第2の回路モジュールは前記第1状態信号を出力する請求項17の半導体集積回路。 The first circuit module outputs the second state signal;
The semiconductor integrated circuit according to claim 17, wherein the second circuit module outputs the first state signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005194818A JP2007011938A (en) | 2005-07-04 | 2005-07-04 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005194818A JP2007011938A (en) | 2005-07-04 | 2005-07-04 | Semiconductor integrated circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007011938A true JP2007011938A (en) | 2007-01-18 |
Family
ID=37750296
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005194818A Withdrawn JP2007011938A (en) | 2005-07-04 | 2005-07-04 | Semiconductor integrated circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2007011938A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010079553A (en) * | 2008-09-25 | 2010-04-08 | Brother Ind Ltd | Wireless tag communication system and wireless tag communication device |
-
2005
- 2005-07-04 JP JP2005194818A patent/JP2007011938A/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010079553A (en) * | 2008-09-25 | 2010-04-08 | Brother Ind Ltd | Wireless tag communication system and wireless tag communication device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5311784B2 (en) | Semiconductor device | |
| US10121546B2 (en) | Semiconductor device, pre-write program, and restoration program | |
| US7440337B2 (en) | Nonvolatile semiconductor memory apparatus having buffer memory for storing a program and buffering work data | |
| KR100320360B1 (en) | Program memory for remote reprogrammable microcontrollers | |
| TWI391936B (en) | Memory device architectures and operation | |
| US10102915B2 (en) | Semiconductor device including nonvolatile memory configured to switch between a reference current reading system and a complimentary reading system | |
| US8359423B2 (en) | Using LPDDR1 bus as transport layer to communicate to flash | |
| US9460793B1 (en) | Semiconductor memory device | |
| CN109841253B (en) | Semiconductor memory device and reset method thereof | |
| JP4955990B2 (en) | Nonvolatile semiconductor memory device | |
| CN104143357A (en) | Memory system, semiconductor memory device and method of operating the same | |
| JP5016841B2 (en) | Nonvolatile semiconductor memory device | |
| CN105518791A (en) | Semiconductor device | |
| US10698617B2 (en) | Memory system | |
| TW201631586A (en) | Nonvolatile memory device, operating method thereof, and data storage device including the same | |
| US8315098B2 (en) | Memory system | |
| JP2007011938A (en) | Semiconductor integrated circuit | |
| JP2004199833A (en) | Control method of nonvolatile semiconductor memory device and nonvolatile semiconductor memory device | |
| US20190369906A1 (en) | Semiconductor device | |
| JP2005317127A (en) | Nonvolatile semiconductor memory device | |
| CN107481761A (en) | Semiconductor device | |
| JPH11185485A (en) | Semiconductor storage device and data processing device | |
| JP2004303416A (en) | Nonvolatile storage device, microcomputer, nonvolatile semiconductor memory device, and data processor | |
| JP2012168719A (en) | Memory system | |
| JP2012064269A (en) | Microcomputer application system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081007 |