JP2011118922A - Reading/writing method for semiconductor storage device - Google Patents
Reading/writing method for semiconductor storage device Download PDFInfo
- Publication number
- JP2011118922A JP2011118922A JP2011027055A JP2011027055A JP2011118922A JP 2011118922 A JP2011118922 A JP 2011118922A JP 2011027055 A JP2011027055 A JP 2011027055A JP 2011027055 A JP2011027055 A JP 2011027055A JP 2011118922 A JP2011118922 A JP 2011118922A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- sector
- host terminal
- buffer
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は半導体記憶装置に関し、特に、ブロック単位でリード・ライト・イレースされるフラッシュメモリを用いた半導体ディスク装置などの大容量半導体記憶装置に関し、不揮発性半導体メモリとして大容量メモリを用いて高性能でかつ製造コストの低減を実現した半導体記憶装置に関する。 The present invention relates to a semiconductor memory device, and more particularly to a high-capacity semiconductor memory device such as a semiconductor disk device using a flash memory that is read, written, and erased in units of blocks, and uses a large-capacity memory as a non-volatile semiconductor memory. In addition, the present invention relates to a semiconductor memory device that realizes a reduction in manufacturing cost.
従来、不揮発性半導体メモリとして、例えば、三菱電機(株)製の M5M29F25611VP や日立製作所(株)製の HN29W25611 などが使用され、これらは2kバイトのブロック単位でリード、ライト処理を行うフラッシュメモリである。このフラッシュメモリを搭載した半導体記憶装置の場合、ホスト端末とのデータ転送とフラッシュメモリとのデータ転送を並列処理させるために、フラッシュメモリは、図7に示すように、各2kバイトのブロックを複数枚有し、2個のバッファRAM(R1,R2)は各々1ブロックの容量サイズを有するものであった。 Conventionally, for example, M5M29F25611VP manufactured by Mitsubishi Electric Co., Ltd. and HN29W25611 manufactured by Hitachi, Ltd. are used as nonvolatile semiconductor memories, and these are flash memories that perform read / write processing in units of 2 kbyte blocks. . In the case of a semiconductor memory device equipped with this flash memory, in order to perform parallel processing of data transfer with the host terminal and data transfer with the flash memory, the flash memory has a plurality of blocks each having 2 kbytes as shown in FIG. Each of the two buffer RAMs (R1, R2) has a capacity size of one block.
このように、図7に示す従来の半導体記憶装置では、各バッファRAMの容量は1ブロックの容量サイズに相当、即ち、1セクタサイズの複数倍(例えば4セクタサイズ相当)であった。 As described above, in the conventional semiconductor memory device shown in FIG. 7, the capacity of each buffer RAM is equivalent to the capacity size of one block, that is, a multiple of one sector size (for example, equivalent to four sector sizes).
ホスト端末機とバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、2つのバッファRAM(R1,R2)のうちそれぞれ別々のバッファRAMを選択して行い、一方のバッファRAM(例えばR1)がホスト端末機とデータ送受信を行っている際には、もう一方のバッファRAM(例えばR2)はフラッシュメモリとの間でデータ送受信を行うように構成されていた。 Data transfer between the host terminal and the buffer RAM, and data transfer between the flash memory and the buffer RAM are performed by selecting different buffer RAMs from the two buffer RAMs (R1, R2), and one buffer RAM (for example, When R1) is transmitting / receiving data to / from the host terminal, the other buffer RAM (for example, R2) is configured to transmit / receive data to / from the flash memory.
ここで、バッファRAMとホスト端末機間およびバッファRAMとフラッシュメモリ間でのデータ転送は、1ブロック相当の複数セクタ分のデータを一括してデータ転送を行うように構成され、フラッシュメモリに対するコマンドはブロック(4セクタ)単位で実施されている。 Here, the data transfer between the buffer RAM and the host terminal and between the buffer RAM and the flash memory is configured to transfer data for a plurality of sectors corresponding to one block at a time. This is implemented in units of blocks (4 sectors).
図7(a)はフラッシュメモリからホスト端末への従来のデータ読出し動作を示す模式図であり、図7(b)はホスト端末からフラッシュメモリへのデータ書き込み動作を示す模式図であり、フラッシュメモリは1ブロックサイズが2kバイト(4セクタサイズ)で構成された場合を示している。 7A is a schematic diagram showing a conventional data read operation from the flash memory to the host terminal, and FIG. 7B is a schematic diagram showing a data write operation from the host terminal to the flash memory. Indicates a case where one block size is composed of 2 kbytes (4 sector sizes).
図7(a)に示すフラッシュメモリからのデータ読出し動作において、破線矢印で示すデータ転送は、フラッシュメモリから1ブロックのデータが予めバッファRAM(R1)に格納され、次に実線矢印で示した2つのデータ転送を同時に行うことを示している。即ち、バッファRAM(R1)に先に格納されたデータをバッファRAM(R1)から読み出してホストに転送すると同時的に、フラッシュメモリから次のブロックのデータを読み出してもう一方のバッファRAM(R2)に転送し格納する。 In the data reading operation from the flash memory shown in FIG. 7A, in the data transfer indicated by the broken line arrow, one block of data from the flash memory is stored in the buffer RAM (R1) in advance, and then 2 indicated by the solid line arrow. It shows that two data transfers are performed simultaneously. That is, when the data previously stored in the buffer RAM (R1) is read from the buffer RAM (R1) and transferred to the host, the next block of data is read from the flash memory and the other buffer RAM (R2) is read. Transfer to and store.
同様に、図7(b)に示すホスト端末からフラッシュメモリへのデータ書き込み動作において、破線矢印で示すデータ転送は、ホストから1ブロックに対するデータが予めバッファRAM(R1)に格納され、次に実線矢印で示した2つのデータ転送を同時に行うことを示している。即ち、バッファRAM(R1)に先に格納されたデータを読み出してフラッシュメモリに転送するのと同時的に、ホスト端末から次のブロックに対するデータをバッファRAM(R2)に転送し格納する。 Similarly, in the data write operation from the host terminal to the flash memory shown in FIG. 7B, in the data transfer indicated by the broken line arrow, data for one block from the host is stored in the buffer RAM (R1) in advance, and then the solid line Two data transfers indicated by arrows are performed simultaneously. That is, at the same time when the data previously stored in the buffer RAM (R1) is read and transferred to the flash memory, the data for the next block is transferred from the host terminal to the buffer RAM (R2) and stored.
また、特開昭64−74649号公報(特許文献1)では、磁気ディスク装置において、各々複数セクタ分の容量を持った2個のバッファメモリを有し、1セクタ分のデータを読み出して格納し、そのデータを転送している間に、他方のバッファメモリに別の1セクタ分のデータを読み出して格納する技術が開示されている。ここで、各々複数セクタ分の容量を持った2個のバッファメモリを備えることは、転送データの履歴を残すことにより、故障解析を容易にするためである。 In Japanese Patent Laid-Open No. 64-74649 (Patent Document 1), a magnetic disk device has two buffer memories each having a capacity for a plurality of sectors, and reads and stores data for one sector. A technique is disclosed in which another sector of data is read and stored in the other buffer memory while the data is being transferred. Here, the provision of two buffer memories each having a capacity for a plurality of sectors is to facilitate failure analysis by leaving a history of transfer data.
このように、従来技術では各バッファRAMが複数セクタ分の容量を持った構成であるので、バッファメモリの容量が大きくなり、将来、フラッシュメモリの大容量化がさらに進み、ブロックサイズが例えば4kバイト、8kバイト等と大きくなった場合、従来の技術構成ではバッファRAMも同様に大きく構成しなければならない。このため、コントローラ等を含む装置全体のコストも高くなることは避けられなかった。 As described above, since each buffer RAM has a capacity corresponding to a plurality of sectors in the prior art, the capacity of the buffer memory is increased, the capacity of the flash memory is further increased in the future, and the block size is, for example, 4 kbytes. In the conventional technical configuration, the buffer RAM must be configured to be large as well. For this reason, it is inevitable that the cost of the entire apparatus including the controller and the like is also increased.
また、バッファサイズが小さいままで、そのバッファサイズ毎にリードコマンドやライトコマンドを実行すると、コマンド実行のオーバーヘッドが余分に加わるため効率が悪くなり、ホスト端末側から見た書き込み・読出し速度が遅くなるという課題があった。 Also, if a read command or write command is executed for each buffer size while the buffer size is small, the command execution overhead is added, resulting in inefficiency and slow writing / reading speed as viewed from the host terminal side. There was a problem.
本発明は、上記課題を解決するためになされたもので、各バッファRAMのサイズを1セクタサイズ相当に低減し、製造コストが安価で、高速転送が可能であるとともに、書き込み・読出しの高速処理が可能な半導体記憶装置及びその読出し・書き込み方法を提供することを目的とする。 The present invention has been made to solve the above-described problems. The size of each buffer RAM is reduced to one sector size, the manufacturing cost is low, high-speed transfer is possible, and high-speed processing of writing and reading is performed. An object of the present invention is to provide a semiconductor memory device capable of performing the above and a reading / writing method thereof.
また、本発明の他の目的は、上記性能を有するとともに、誤り訂正によりデータの信頼性向上が図れる半導体記憶装置を提供することを目的とする。 Another object of the present invention is to provide a semiconductor memory device having the above-described performance and capable of improving data reliability by error correction.
上記目的を達成するために、本発明による半導体記憶装置は、システムバスを介して外部ホスト端末とデータ転送可能に接続され、
複数個のブロック構成を有する不揮発性半導体メモリであって、各ブロック単位で読出し・書き込みのコマンドが実行処理され、1ブロックの容量サイズは外部ホスト端末がデータ読出し・書き込み単位とする1セクタサイズの複数倍である不揮発性半導体メモリと、
上記外部ホスト端末と上記不揮発性半導体メモリ間のデータ転送を媒介する2個のバッファメモリであって、各々が上記不揮発性半導体メモリの1セクタサイズに相当する容量を有する第1及び第2のバッファメモリと、
上記外部ホスト端末と上記バッファメモリ間のデータ転送および上記不揮発性半導体メモリと上記バッファメモリ間のデータ転送は、それぞれ上記第1及び第2のバッファメモリのうち別々のバッファメモリを選択し、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うように制御する制御手段とを有することを特徴とする。
In order to achieve the above object, a semiconductor memory device according to the present invention is connected to an external host terminal via a system bus so that data can be transferred.
A non-volatile semiconductor memory having a plurality of block configurations, in which read / write commands are executed in units of blocks, and the capacity size of one block is one sector size that an external host terminal uses as a data read / write unit Non-volatile semiconductor memory that is multiple times,
Two buffer memories for mediating data transfer between the external host terminal and the nonvolatile semiconductor memory, each having a capacity corresponding to one sector size of the nonvolatile semiconductor memory Memory,
The data transfer between the external host terminal and the buffer memory and the data transfer between the nonvolatile semiconductor memory and the buffer memory select different buffer memories from the first and second buffer memories, respectively, When the buffer memory exchanges data for one sector with the external host terminal, the other buffer memory exchanges data for another sector with the nonvolatile semiconductor memory. And control means for controlling as described above.
上記制御手段は、外部ホスト端末からのデータ読出し・書き込みの要求に応答して、前記不揮発性半導体メモリのブロックに対する読出し・書き込みのコマンドを印加し、順次セクタデータ毎に前記バッファメモリを介して外部ホスト端末と前記不揮発性半導体メモリ間のデータの授受を行う。 The control means applies a read / write command to the block of the non-volatile semiconductor memory in response to a data read / write request from an external host terminal, and sequentially applies external data via the buffer memory for each sector data. Data is exchanged between the host terminal and the nonvolatile semiconductor memory.
また、上記制御手段は、1つのセクタデータの転送後は次のセクタデータの転送が継続できるように前記不揮発性半導体メモリへの制御レベルを保持し、データ転送の同時並列処理を行う。 Further, the control means holds the control level to the nonvolatile semiconductor memory so that the transfer of the next sector data can be continued after the transfer of one sector data, and performs the simultaneous parallel processing of the data transfer.
上記構成により、バッファメモリの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホスト端末からみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となり、処理時間の短縮を図ることができる。 With the above configuration, the capacity of the buffer memory can be reduced, so that it can be manufactured at low cost and parallel processing of transfer can be performed, so that high-speed transfer can be realized as viewed from the host terminal. Further, since the flash memory is processed in units of blocks, high-speed writing / reading is possible, and the processing time can be shortened.
本発明の他の態様による半導体記憶装置は、上記不揮発性半導体メモリに格納されたデータの誤りを訂正制御する誤り訂正手段を更に有し、誤り訂正のための冗長データは各セクタデータ毎にセクタデータの直後に格納することもできる。
上記誤り訂正手段は、前記不揮発性半導体メモリからバッファメモリへのデータ読出しの際には、これと同時並行して上記誤り訂正手段にセクタデータと冗長データが転送され、訂正可能な誤りが検出された場合には前記バッファメモリ上のデータを訂正し、該バッファメモリから上記不揮発性半導体メモリへの書き込みの際には、これと同時並行して上記誤り訂正手段にセクタデータを転送して冗長データを生成し、生成された冗長データを上記不揮発性半導体メモリに転送することもできる。
A semiconductor memory device according to another aspect of the present invention further includes error correction means for correcting and controlling an error of data stored in the nonvolatile semiconductor memory, and the redundant data for error correction is a sector for each sector data. It can also be stored immediately after the data.
When reading data from the non-volatile semiconductor memory to the buffer memory, the error correction means transfers sector data and redundant data to the error correction means in parallel with this to detect correctable errors. In this case, the data in the buffer memory is corrected, and when writing from the buffer memory to the nonvolatile semiconductor memory, sector data is transferred to the error correction means in parallel with this, and redundant data is transferred. And the generated redundant data can be transferred to the nonvolatile semiconductor memory.
これにより、データの誤りを訂正制御手段が付加されたことにより、前述の効果に加えて、データの信頼性を向上させることができる。 As a result, the data error correction control means is added, so that the reliability of the data can be improved in addition to the above-described effects.
更に、本発明による不揮発性半導体メモリのデータ読出し方法は、
読出し制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
最初のセクタデータを読出してバッファメモリに格納し、ホスト端末への読出し転送を行う工程と、
転送セクタ数を1減算カウントした後、バッファRAMからホスト端末へのデータ転送中か転送完了しているかを判定する工程と、
ホスト端末へのデータ転送完了時に、ホスト端末へのデータ転送要求を発行し、バッファメモリからホスト端末へのデータ転送を開始する工程と、
処理されるべき転送セクタ数が0か否か判定する工程、とを有し、
転送セクタ数が0の場合は、ブロック処理を完了し、転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、対象セクタ番号を1だけインクレメントして次のセクタからの読出しを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
Furthermore, the data reading method of the nonvolatile semiconductor memory according to the present invention includes:
Acquiring a start block address, a start sector number, and a transfer sector number by initialization of read control;
Reading out the first sector data, storing it in the buffer memory, and performing read transfer to the host terminal;
Determining whether data is being transferred from the buffer RAM to the host terminal or the transfer is completed after counting the number of transfer sectors by 1;
A step of issuing a data transfer request to the host terminal upon completion of data transfer to the host terminal, and starting data transfer from the buffer memory to the host terminal;
Determining whether the number of transfer sectors to be processed is 0,
When the number of transfer sectors is 0, block processing is completed. When the number of transfer sectors is greater than 0, the buffer memory is switched, the target sector number is incremented by 1, and reading from the next sector is performed. When one buffer memory is exchanging data for one sector with the external host terminal, the other buffer memory is another sector of data with the nonvolatile semiconductor memory. It is characterized by giving and receiving.
また、本発明による不揮発性半導体メモリへのデータ書き込み方法は、
書き込み制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
ホストからのデータ転送要求を発行し、バッファメモリへのデータ転送を開始する工程と、
フラッシュメモリのプログラム完了時に、ライトコマンド・ブロックアドレス印加処理を行う工程と、
ホスト端末からのデータ転送完了を待って、転送セクタ数を1減算カウントした後、処理されるべき転送セクタ数が0か否か判定する工程と、を有し、
転送セクタ数が0の場合は、ライトセクタ書き込み転送処理した後、ブロック処理を完了し、
転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、ホスト端末からのデータ転送要求を発行し、バッファメモリへのデータ転送を開始し、ライトセクタ書き込み転送を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
In addition, a method for writing data to the nonvolatile semiconductor memory according to the present invention includes:
Obtaining a start block address, a start sector number and a transfer sector number by initializing the write control;
Issuing a data transfer request from the host and starting data transfer to the buffer memory;
A process of applying a write command / block address upon completion of flash memory programming; and
Waiting for completion of data transfer from the host terminal, counting the number of transfer sectors by 1, and determining whether the number of transfer sectors to be processed is 0 or not.
When the number of transfer sectors is 0, after the write sector write transfer process, the block process is completed,
If the number of transfer sectors is greater than 0, the buffer memory is switched, a data transfer request is issued from the host terminal, data transfer to the buffer memory is started, write sector write transfer is performed, and the target sector number is set. When one buffer memory increments by 1 and writes to the next sector, and one buffer memory exchanges data for one sector with the external host terminal, the other buffer memory is non-volatile. It is characterized in that data for another sector is exchanged with a semiconductor memory.
上記不揮発性半導体メモリのデータ読出し・書き込み方法によれば、バッファメモリの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホスト端末からみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となり、処理時間の短縮を図ることができる。 According to the data read / write method of the nonvolatile semiconductor memory described above, the capacity of the buffer memory can be reduced, so that it can be manufactured at a low cost and the parallel processing of the transfer can be performed, so that a high-speed transfer is realized from the viewpoint of the host terminal. it can. Further, since the flash memory is processed in units of blocks, high-speed writing / reading is possible, and the processing time can be shortened.
以上のように、本発明によれば、バッファRAMの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホストからみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となる。さらに、上記効果を損なうことなく、誤り訂正によりデータの信頼性向上が図れる。 As described above, according to the present invention, since the capacity of the buffer RAM can be reduced, manufacturing at low cost is possible, and parallel processing of transfer can be performed, so that high-speed transfer can be realized from the viewpoint of the host. Further, since the flash memory is processed in units of blocks, high-speed writing / reading is possible. Furthermore, data reliability can be improved by error correction without impairing the above effects.
(実施例1)
図1乃至図5を用いて本発明の第1の実施例について説明する。なお、各図において共通する要素には同一の符号を付し、重複する説明については省略している。
Example 1
A first embodiment of the present invention will be described with reference to FIGS. In addition, the same code | symbol is attached | subjected to the element which is common in each figure, and the overlapping description is abbreviate | omitted.
図1は、本発明による不揮発性半導体メモリを用いて構成された半導体記憶装置の1実施例のブロック構成を示す。同図において、半導体記憶装置は、制御信号生成手段としての機能を有する制御信号生成シーケンサ(SEQ)1と、複数のブロック階層構造を有するフラッシュメモリ2と、2つのバッファRAM(R1,R2)と、双方向バッファ3と、4つのセレクタ(S1,S2,S3,S4)とを備える。バッファRAM(R1,R2)は、それぞれホスト端末機からのデータの読出し・書き込みができるように、データバスによってセレクタ(S1,S2,S3)を介してホストインターフェース部4と接続されている。同様に、バッファRAM(R1,R2)は、フラッシュメモリ2に対するデータの読出し・書き込みができるように、データバスによってセレクタ(S2,S3,S4)および双方向バッファ3を介してフラッシュメモリ2と接続され、各セレクタによって接続されるデータバスが選択される。
FIG. 1 shows a block configuration of an embodiment of a semiconductor memory device configured using a nonvolatile semiconductor memory according to the present invention. In the figure, the semiconductor memory device includes a control signal generation sequencer (SEQ) 1 having a function as a control signal generation means, a
ここで、制御信号生成シーケンサ(SEQ)1は、各種のデータ転送を実施するために適切なタイミングで各ブロックに対して制御信号を与え、各セレクタの切替制御、バッファRAM(R1,R2)への制御信号、ブロックアドレス、フラッシュメモリ2への制御信号は全て制御信号生成シーケンサ(SEQ)1によって生成される(図3を用いて後述する)。
Here, the control signal generation sequencer (SEQ) 1 gives a control signal to each block at an appropriate timing to implement various data transfers, and controls the switching of each selector to the buffer RAM (R1, R2). The control signal, block address, and control signal to the
図1に示す半導体記憶装置では、フラッシュメモリのリード、ライト、イレース処理はブロック単位で行われ、この1ブロックの容量サイズはホスト端末機が処理単位とする1セクタサイズの整数倍であり、本実施例では1ブロックサイズが4セクタサイズである構成例を示している。 In the semiconductor memory device shown in FIG. 1, the read, write, and erase processing of the flash memory is performed in units of blocks, and the capacity size of one block is an integral multiple of one sector size that is processed by the host terminal. In the embodiment, a configuration example in which one block size is 4 sector size is shown.
本発明では、ホスト端末機とフラッシュメモリ間のデータ転送を媒介するために設けられた2つのバッファRAM(R1,R2)としては、各々の記憶容量がホスト端末機の処理単位である1セクタサイズと同じ容量サイズのものが使用される。そのため、ホスト端末機とバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、2つのバッファRAM(R1,R2)のうちそれぞれ別々のバッファRAMを選択して行い、一方のバッファRAM(例えばR1)がホスト端末機とデータの送受信を行っている際には、もう一方のバッファRAM(例えばR2)はフラッシュメモリとのデータ送受信を行うように構成されている。 In the present invention, the two buffer RAMs (R1, R2) provided to mediate data transfer between the host terminal and the flash memory have a one-sector size in which each storage capacity is a processing unit of the host terminal. The same capacity size is used. Therefore, data transfer between the host terminal and the buffer RAM, and data transfer between the flash memory and the buffer RAM are performed by selecting different buffer RAMs from the two buffer RAMs (R1, R2). When (for example, R1) is transmitting / receiving data to / from the host terminal, the other buffer RAM (for example, R2) is configured to transmit / receive data to / from the flash memory.
ホスト端末機からの読出し・書き込みの要求に応答して、制御信号生成シーケンサ(SEQ)1は、フラッシュメモリのアドレス指定されたブロックに対するリードコマンド・ライトコマンドを印加し、順次セクタ単位毎にバッファRAMを介してホスト端末機とフラッシュメモリ間のデータの授受を行い、これをブロック単位毎に繰り返してリードコマンド・ライトコマンドを実行する。ここで、1つのセクタデータの転送後は次のセクタデータの転送が継続できるようにフラッシュメモリへの制御信号はそのレベルが保持される。 In response to a read / write request from the host terminal, the control signal generation sequencer (SEQ) 1 applies a read command / write command to the addressed block of the flash memory, and sequentially executes a buffer RAM for each sector unit. Data is exchanged between the host terminal and the flash memory via the terminal, and this is repeated for each block to execute a read command and a write command. Here, the level of the control signal to the flash memory is maintained so that the transfer of the next sector data can be continued after the transfer of one sector data.
図2(a)はフラッシュメモリからホスト端末へのデータ読出し動作を示す模式図であり、図2(b)はホスト端末からフラッシュメモリへのデータ書き込み動作を示す模式図であり、フラッシュメモリは1ブロックサイズが2kバイト(4セクタサイズ)で構成された場合を示している。 FIG. 2A is a schematic diagram showing a data read operation from the flash memory to the host terminal, and FIG. 2B is a schematic diagram showing a data write operation from the host terminal to the flash memory. In this example, the block size is 2 kbytes (4 sector size).
図2(a)に示すフラッシュメモリからのデータ読出し動作において、破線矢印で示すデータ転送Dtr1は、フラッシュメモリから例えばセクタ1のデータが前段階の処理ステップで予めバッファRAM(R1)に格納されていることを示している。次に実線矢印で示した2つのデータ転送Dtr2とDtr3 を同時に行う。即ち、バッファRAM(R1)に先に格納されたセクタ1のデータをバッファRAM(R1)から読み出してホストに転送する(Dtr3)と同時的に、フラッシュメモリから次のセクタ2のデータを読み出してもう一方のバッファRAM(R2)に転送(Dtr2)し格納する。バッファRAM(R2)に格納されたセクタ2のデータを読み出してホストに転送するときは、それと同時に、フラッシュメモリから次のセクタ3のデータを読み出してもう一方のバッファRAM(R1)に転送し格納する。
In the data read operation from the flash memory shown in FIG. 2 (a), the data transfer Dtr1 indicated by the dashed arrow indicates that, for example, data of
同様に、図2(b)に示すホストからフラッシュメモリへのデータ書き込み動作において、破線矢印で示すデータ転送Dtw1は、ホスト端末から例えばセクタ1に対するデータが予めバッファRAM(R1)に格納されていることを示している。次に実線矢印で示した2つのデータ転送Dtw2とDtw3 を同時に行う。即ち、バッファRAM(R1)に先に格納されたセクタ1に対するデータを読み出してフラッシュメモリに転送する(Dtw3)と同時的に、ホスト端末から次のセクタ2に対するデータをバッファRAM(R2)に転送(Dtw2)し格納する。
Similarly, in the data write operation from the host to the flash memory shown in FIG. 2B, in the data transfer Dtw1 indicated by the dashed arrow, for example, data for the
図3(a)はフラッシュメモリからのデータ読出し動作における制御信号生成シーケンサ(SEQ)1からの制御信号のタイミング波形図を示し、図3(b)はフラッシュメモリへのデータ書き込み動作における制御信号のタイミング波形図を示す。 FIG. 3A shows a timing waveform diagram of the control signal from the control signal generation sequencer (SEQ) 1 in the data read operation from the flash memory, and FIG. 3B shows the control signal in the data write operation to the flash memory. A timing waveform diagram is shown.
フラッシュメモリに対するコマンドはブロック(4セクタ)単位で実施されるため、各コマンドの実施は、コマンド・ブロックアドレス印加ステップ(read open, write open)と、セクタ転送(読出し・書き込み)ステップ(read sector, write sector)と、ブロック処理完了ステップ(read close, write close)とに分けて制御する。各ステップ完了後はそのままの制御信号レベルを保持するので、次のステップまで時間間隔があってもそのままフラッシュメモリに対するコマンドを継続することができる。 Since commands to the flash memory are executed in units of blocks (4 sectors), each command is executed in the command block address application step (read open, write open) and sector transfer (read / write) steps (read sector, write sector) and block processing completion step (read close, write Close) and control. Since the control signal level is maintained as it is after each step is completed, the command to the flash memory can be continued as it is even if there is a time interval until the next step.
図3(a)に示すデータ読出し動作における制御タイミングにおいて、/CEはチップイネーブル入力を示し、/CEの立ち上がりでスタンバイ状態に戻る。コマンド・アドレス印加によってチップイネーブル状態が開始され、ブロック処理完了ステップ(read close)までレベル保持される。同図において、上付線を付した信号/CE,/WE,/OEはLOWアクティブ信号であることを示し、tAはアクセス時間を示している。/OEはアウトプットイネーブル信号を示し、/OE=Lレベルの間フラッシュメモリからデータが出力され、コマンド入力前は/OE=Hレベル(出力ディスエーブル)状態から開始されている。 At the control timing in the data read operation shown in FIG. 3A, / CE indicates a chip enable input, and returns to the standby state at the rise of / CE. The chip enable state is started by applying the command and address, and the block processing completion step (read The level is held until close). In the figure, signals / CE, / WE, / OE with superscript lines indicate LOW active signals, and tA indicates access time. / OE indicates an output enable signal. Data is output from the flash memory while / OE = L level, and is started from the / OE = H level (output disabled) state before command input.
コマンド・アドレス印加によって制御イネーブル状態となると、バッファRAMへのライトイネーブル信号/WEは初期化され、フラッシュメモリから1セクタ分のデータを予め一方のバッファRAM(R1)に格納し(WE0)、次に所定時間後に、このバッファRAM(R1)に格納されたセクタのデータを読み出してホストに転送する(OE0)。これと同時的に、フラッシュメモリから次のセクタのデータを読み出してもう一方のバッファRAM(R2)に転送し格納する(WE1)。1セクタ分のデータ転送が終了すると処理は次のセクタに移行し、読出し転送セクタを順次セクタ0からセクタ4までセクタ単位毎に指定(SC)することにより、2つのバッファRAMを介してホスト端末機とフラッシュメモリ間のデータの授受を行い、これをブロック単位毎に繰り返してリードコマンドを実行する。ここで、SCは各セクタ毎の転送データ量を計数し転送セクタを取得するシリアルクロック入力信号を示し、リードデータはSCの立ち上がりでラッチされる。
When the control enable state is established by application of the command address, the write enable signal / WE to the buffer RAM is initialized, data for one sector from the flash memory is stored in advance in one buffer RAM (R1) (WE0), and the next After a predetermined time, the sector data stored in the buffer RAM (R1) is read and transferred to the host (OE0). At the same time, the next sector data is read from the flash memory, transferred to the other buffer RAM (R2), and stored (WE1). When the data transfer for one sector is completed, the process shifts to the next sector, and the read transfer sector is sequentially designated (SC) from
図3(b)に示すデータ書き込み動作における制御タイミングについても、図3(a)に示す制御タイミングとほぼ同様であり、常時/OE=Hレベルの間出力ディスエーブル状態となる。write close時の“確認”は、フラッシュメモリへの書込みを行うに当たって確認コマンドを入れることを示している。その他の動作については図3(a)と同様であるので、ここではその説明は省略する。 The control timing in the data write operation shown in FIG. 3B is almost the same as the control timing shown in FIG. 3A, and the output disable state is always set while / OE = H level. write “Confirmation” at close indicates that a confirmation command is entered when writing to the flash memory. Since other operations are the same as those in FIG. 3A, the description thereof is omitted here.
図4は本実施例の半導体記憶装置の読出し動作についての内部動作のフローチャートを示す。先ず、ステップ#401では、読出し制御の初期化によって開始ブロックアドレス(BA)と開始セクタ番号(i)と転送セクタ数(SC)が取得される。ステップ#402でリードコマンド・ブロックアドレス印加(read open)処理がおこなわれた後、ステップ#403でリードセクタ転送(読出し)(read sector)に移行し、最初のセクタデータの読出し、バッファRAMへの格納およびホスト端末への転送が行われる。ステップ#404で転送セクタ数(SC)が1減算カウントされた後、ステップ#405でバッファRAMからホスト端末へのデータ転送中か転送完了しているかが判定される。ホスト端末へのデータ転送中の場合は、転送完了を待って(ステップ#406)、転送完了の場合は、ステップ#407でホスト端末へのデータ転送要求を発行し、バッファRAMからホストへのデータ転送が開始される(ステップ#408)。
FIG. 4 shows a flowchart of the internal operation for the read operation of the semiconductor memory device of this embodiment. First, in
次にステップ#409で、転送セクタ数(SC)が0(未転送セクタなし)か否か(未転送セクタ有り)が判定され、未転送セクタなしの場合(SC=0)は、ブロック処理完了ステップ(read close) #410に移行する。未転送セクタ有りの場合(SC>0)は、ステップ#411でバッファRAMの切り替えが行われ、対象セクタ番号を1だけインクレメントして次のセクタからの読出しに移行する(ステップ#412)。
Next, in
ステップ#413で対象セクタ番号(i)が上限値か否か判定され、上限値以下の場合はステップ#403の処理工程にもどり、上限値より大の場合は、ブロック処理完了ステップ(read close)#414での処理の後、ステップ#415でブロックアドレス(BA)を次のブロックに移行して対象セクタ番号(i)をi=0に設定し、再びステップ#402からの処理工程を繰り返す。
In
ここで、本実施例ではセクタ番号(i)の上限値を4(セクタ)としているが、本発明はこれに限定されるものではなく、1ブロックのセクタサイズは任意である。 Here, in this embodiment, the upper limit value of the sector number (i) is 4 (sectors), but the present invention is not limited to this, and the sector size of one block is arbitrary.
図5は本実施例の半導体記憶装置の書き込み動作についての内部動作のフローチャートを示す。図4の読出し動作の場合と同様に、先ず、ステップ#501では、書き込み制御の初期化によって開始ブロックアドレス(BA)と開始セクタ番号(i)と転送セクタ数(SC)が取得される。次に、ステップ#502でホストからのデータ転送要求を発行し、バッファRAMへのデータ転送が開始される(ステップ#503)。ステップ#504でフラッシュメモリのプログラム完了待ちを行った後、ステップ#505でライトコマンド・ブロックアドレス印加(write open)処理が行われる。
FIG. 5 shows a flowchart of the internal operation for the write operation of the semiconductor memory device of this embodiment. As in the case of the read operation of FIG. 4, first, in
ホスト端末からのデータ転送完了を待って(ステップ#506)、ステップ#507で転送セクタ数(SC)が1減算カウントされた後、ステップ#508で、転送セクタ数(SC)が0(未転送セクタなし)か否(未転送セクタ有り)か判定される。未転送セクタなしの場合(SC=0)は、ステップ#509のライトセクタ転送(書き込み)(write sector)に移行し、ブロック処理完了ステップ(write close) #510を経て、ステップ#511でフラッシュメモリのプログラム完了待ちを行った後終了する。
Waiting for the completion of data transfer from the host terminal (step # 506), the transfer sector number (SC) is decremented by 1 in
未転送セクタ有りの場合(SC>0)は、ステップ#512でバッファRAMの切り替えが行われ、ステップ#513でホストからのデータ転送要求を発行し、バッファRAMへのデータ転送が開始される(ステップ#514)。次に、ステップ#515でライトセクタ転送(書き込み)(write sector)処理を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みに移行する(ステップ#516)。
If there is an untransferred sector (SC> 0), the buffer RAM is switched in
ステップ#517で対象セクタ番号(i)が上限値か否か判定され、上限値以下の場合はステップ#506の処理工程にもどり、上限値より大の場合は、ブロック処理完了ステップ(write close)#518での処理の後、ステップ#519でブロックアドレス(BA)を次のブロックに移行して対象セクタ番号(i)をi=0に設定し、再びステップ#504からの処理工程を繰り返す。
In
本実施例によれば、バッファRAMの容量を従来技術の複数セクタ分相当と比べて顕著に小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホストからみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となる。 According to the present embodiment, the capacity of the buffer RAM can be remarkably reduced as compared with the equivalent of a plurality of sectors of the prior art, so that it is possible to manufacture at a low cost, and parallel processing of transfer can be performed. Transfer can be realized. Further, since the flash memory is processed in units of blocks, high-speed writing / reading is possible.
(実施例2)
図6を用いて本発明の第2の実施例について説明する。図1に示す実施例1の構成と異なるところは、本実施例2では誤り訂正制御手段(ECC)5を追加したことである。図6に示すように、セレクタS4と双方向バッファ3との間に誤り訂正制御手段(ECC)5を介在接続させることにより、フラッシュメモリ2からバッファRAM(R1,R2)へのデータ読出しの際に、これと並行して誤り訂正制御手段(ECC)5にセクタデータと誤り訂正用の冗長データが転送され、訂正可能な誤りが検出された場合にバッファRAM上のデータを訂正しておくようにする。
(Example 2)
A second embodiment of the present invention will be described with reference to FIG. The difference from the configuration of the first embodiment shown in FIG. 1 is that an error correction control means (ECC) 5 is added in the second embodiment. As shown in FIG. 6, an error correction control means (ECC) 5 is interposed between the selector S4 and the
バッファRAMからフラッシュメモリへのデータ書き込みの際には、これと並行して誤り訂正制御手段(ECC)5にセクタデータを転送して冗長データを生成し、生成された冗長データをフラッシュメモリ2に転送する。誤り訂正のための冗長データは各セクタデータ毎にセクタデータの直後に格納するように構成される。なお、上記以外の要素については実施例1と共通するので、その説明についてはここでは省略する。
In writing data from the buffer RAM to the flash memory, in parallel with this, sector data is transferred to the error correction control means (ECC) 5 to generate redundant data, and the generated redundant data is stored in the
上記構成により、実施例1で得られる効果のほかに、誤り訂正により処理データの信頼性向上が図れるといった効果が得られる。 With the above configuration, in addition to the effect obtained in the first embodiment, the effect that the reliability of the processed data can be improved by error correction can be obtained.
1 制御信号生成シーケンサ
2 フラッシュメモリ
3 双方向バッファ
4 ホストインターフェース
R1,R2 バッファRAM
S1〜S4 セレクタ
5 ECC回路
1 Control
S1 to
Claims (2)
読出し制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
最初のセクタデータを読出してバッファメモリに格納し、ホスト端末への読出し転送を行う工程と、
転送セクタ数を1減算カウントした後、バッファメモリからホスト端末へのデータ転送中か転送完了しているかを判定する工程と、
ホスト端末へのデータ転送完了時に、ホスト端末へのデータ転送要求を発行し、バッファメモリからホスト端末へのデータ転送を開始する工程と、
処理されるべき転送セクタ数が0か否か判定する工程、とを有し、
転送セクタ数が0の場合は、ブロック処理を完了し、転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、対象セクタ番号を1だけインクレメントして次のセクタからの読出しを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする不揮発性半導体メモリのデータ読出し方法。 A method for reading data from a non-volatile semiconductor memory connected to an external host terminal via two buffer memories connected on a system bus so as to be able to transfer data,
Acquiring a start block address, a start sector number, and a transfer sector number by initialization of read control;
Reading out the first sector data, storing it in the buffer memory, and performing read transfer to the host terminal;
Determining the number of transfer sectors by 1 and then determining whether data is being transferred from the buffer memory to the host terminal or transfer is complete;
A step of issuing a data transfer request to the host terminal upon completion of data transfer to the host terminal, and starting data transfer from the buffer memory to the host terminal;
Determining whether the number of transfer sectors to be processed is 0,
When the number of transfer sectors is 0, block processing is completed. When the number of transfer sectors is greater than 0, the buffer memory is switched, the target sector number is incremented by 1, and reading from the next sector is performed. When one buffer memory is exchanging data for one sector with the external host terminal, the other buffer memory is another sector of data with the nonvolatile semiconductor memory. A method for reading data from a nonvolatile semiconductor memory, wherein:
書き込み制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
ホストからのデータ転送要求を発行し、バッファメモリへのデータ転送を開始する工程と、
フラッシュメモリのプログラム完了時に、ライトコマンド・ブロックアドレス印加処理を行う工程と、
ホスト端末からのデータ転送完了を待って、転送セクタ数を1減算カウントした後、処理されるべき転送セクタ数が0か否か判定する工程と、を有し、
転送セクタ数が0の場合は、ライトセクタ書き込み転送処理した後、ブロック処理を完了し、
転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、ホスト端末からのデータ転送要求を発行し、バッファメモリへのデータ転送を開始し、ライトセクタ書き込み転送を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする不揮発性半導体メモリへのデータ書き込み方法。 A method for writing data to a non-volatile semiconductor memory connected to an external host terminal via two buffer memories connected on a system bus so that data can be transferred.
Obtaining a start block address, a start sector number and a transfer sector number by initializing the write control;
Issuing a data transfer request from the host and starting data transfer to the buffer memory;
A process of applying a write command / block address upon completion of flash memory programming; and
Waiting for completion of data transfer from the host terminal, counting the number of transfer sectors by 1, and determining whether the number of transfer sectors to be processed is 0 or not.
When the number of transfer sectors is 0, after the write sector write transfer process, the block process is completed,
If the number of transfer sectors is greater than 0, the buffer memory is switched, a data transfer request is issued from the host terminal, data transfer to the buffer memory is started, write sector write transfer is performed, and the target sector number is set. When one buffer memory increments by 1 and writes to the next sector, and one buffer memory exchanges data for one sector with the external host terminal, the other buffer memory is non-volatile. A method for writing data to a nonvolatile semiconductor memory, wherein data for another sector is exchanged with the semiconductor memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027055A JP2011118922A (en) | 2011-02-10 | 2011-02-10 | Reading/writing method for semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027055A JP2011118922A (en) | 2011-02-10 | 2011-02-10 | Reading/writing method for semiconductor storage device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001084921A Division JP4711531B2 (en) | 2001-03-23 | 2001-03-23 | Semiconductor memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011118922A true JP2011118922A (en) | 2011-06-16 |
Family
ID=44284093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011027055A Pending JP2011118922A (en) | 2011-02-10 | 2011-02-10 | Reading/writing method for semiconductor storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011118922A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013068105A (en) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | Electronic control device for vehicle |
JP2013182456A (en) * | 2012-03-02 | 2013-09-12 | Hitachi Automotive Systems Ltd | Automobile electronic controller |
JP2014207010A (en) * | 2014-07-15 | 2014-10-30 | 日立オートモティブシステムズ株式会社 | Electronic control device for automobile |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175311A (en) * | 1997-12-05 | 1999-07-02 | Tdk Corp | Flash memory system |
-
2011
- 2011-02-10 JP JP2011027055A patent/JP2011118922A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175311A (en) * | 1997-12-05 | 1999-07-02 | Tdk Corp | Flash memory system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013068105A (en) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | Electronic control device for vehicle |
CN103176906A (en) * | 2011-09-21 | 2013-06-26 | 日立汽车系统株式会社 | Electronic control unit for vehicle and method of writing data |
CN103176906B (en) * | 2011-09-21 | 2018-10-02 | 日立汽车系统株式会社 | The wiring method of electronic vehicle control device and data |
US10353594B2 (en) | 2011-09-21 | 2019-07-16 | Hitachi Automotive Systems, Ltd. | Electronic control unit for vehicle and method of writing data |
US11360698B2 (en) | 2011-09-21 | 2022-06-14 | Hitachi Astemo, Ltd. | Electronic control unit for vehicle and method of writing data |
JP2013182456A (en) * | 2012-03-02 | 2013-09-12 | Hitachi Automotive Systems Ltd | Automobile electronic controller |
JP2014207010A (en) * | 2014-07-15 | 2014-10-30 | 日立オートモティブシステムズ株式会社 | Electronic control device for automobile |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4711531B2 (en) | Semiconductor memory device | |
JP5427360B2 (en) | Memory system based on flash memory | |
US8332569B2 (en) | Nonvolatile memory system using data interleaving scheme | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
US8862963B2 (en) | Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program | |
KR101626084B1 (en) | Multi-chip memory system and data transfer method thereof | |
US6721820B2 (en) | Method for improving performance of a flash-based storage system using specialized flash controllers | |
EP1850348B1 (en) | Method and device for writing to a flash memory | |
US8433980B2 (en) | Fast, low-power reading of data in a flash memory | |
JP5368735B2 (en) | Solid state disk controller and data processing method of solid state disk controller | |
TW201025468A (en) | Method of preventing data loss during a solder reflow process and memory device using the same | |
KR20110112420A (en) | Modifying commands | |
KR102240261B1 (en) | Memory management | |
CN106855832A (en) | Data storage device and its operating method | |
US11755509B2 (en) | Deterministic operation of storage class memory | |
US20100195418A1 (en) | Semiconductor memory device and system | |
KR101627322B1 (en) | Apparatus and Method for storing data using non-volatile buffer | |
JP2011118922A (en) | Reading/writing method for semiconductor storage device | |
JP2007310680A (en) | Nonvolatile storage device and its data transfer method | |
JP2008027326A (en) | System controller, flash memory system having system controller, and control method of flash memory module | |
WO2010013437A1 (en) | Controller with error correction function, recording device with error correction function, and system with error correction function | |
JP2010026584A (en) | Memory controller and nonvolatile storage device | |
KR20170029261A (en) | Memory system and operating method thereof | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
US10795589B2 (en) | Memory system and memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130326 |