JP5607118B2 - Memory system - Google Patents
Memory system Download PDFInfo
- Publication number
- JP5607118B2 JP5607118B2 JP2012168189A JP2012168189A JP5607118B2 JP 5607118 B2 JP5607118 B2 JP 5607118B2 JP 2012168189 A JP2012168189 A JP 2012168189A JP 2012168189 A JP2012168189 A JP 2012168189A JP 5607118 B2 JP5607118 B2 JP 5607118B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- write
- buffer
- memory
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 225
- 239000000872 buffer Substances 0.000 claims description 158
- 238000000034 method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 32
- 238000009825 accumulation Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000003139 buffering effect Effects 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 4
- 238000004904 shortening Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
本発明は、外部からのアクセス要求に応答して外部インタフェースと不揮発性メモリのアクセス制御とを行うメモリシステムにおけるアクセスデータのバッファリング技術に関し、例えばフラッシュメモリカードに適用して有効な技術に関する。 The present invention relates to a buffering technique for access data in a memory system that performs external interface and non-volatile memory access control in response to an external access request, and relates to a technique that is effective when applied to, for example, a flash memory card.
フラッシュメモリカードはフラッシュメモリとコントローラを備え、フラッシュメモリカードに接続するホスト装置の動作速度に比べてフラッシュメモリの動作速度、特に書き込み若しくは書き換え動作速度が遅いため、その動作速度の違いを吸収するためにコントローラはバッファメモリを備える。前記コントローラは外部からの書き込み要求に応答して、外部からの書き込みデータをバッファメモリに入力し、入力したデータをフラッシュメモリに書き込み制御する。また、コントローラは外部からの読み出し要求に応答して、フラッシュメモリから読み出したデータをバッファメモリに一時的に蓄積し、蓄積したデータを外部に出力する。従来のバッファメモリには比較的小容量のSRAM(Static Random Access Memory)若しくはスタティックラッチ等を採用するものが多い。 The flash memory card has a flash memory and a controller, and the flash memory operating speed, especially the writing or rewriting operating speed, is slower than the operating speed of the host device connected to the flash memory card, so as to absorb the difference in operating speed. The controller includes a buffer memory. In response to an external write request, the controller inputs external write data to the buffer memory and controls the input data to be written to the flash memory. In response to a read request from the outside, the controller temporarily accumulates data read from the flash memory in the buffer memory and outputs the accumulated data to the outside. Many conventional buffer memories employ a relatively small capacity SRAM (Static Random Access Memory) or a static latch.
しかしながら、小容量のSRAMを採用したのでは、外部からバッファメモリに入力したデータをフラッシュメモリに書き込みが完了するまでホスト装置からメモリカードへのデータ転送を待たせなければならない。また、フラッシュメモリからバッファメモリに蓄積した読み出しデータを外部に出力するまでフラッシュメモリの新たな読み出し動作を待たせなければならない。特に、フラッシュメモリへの書き込みを失敗した場合、例えば当初の書き込み動作を行ったセクタの不良により代替セクタへの再書き込みを行わなければならないとき、ホスト装置から次の書き込みデータをバッファメモリに受取ることができない。すなわち、フラッシュメモリとコントローラとの間の問題によりホスト装置とコントローラ間のデータ転送を待たせなければならない。これによって、ホスト装置の負担及び処理時間が増えて、データ処理効率が低下するとい問題を生ずる。 However, if a small-capacity SRAM is adopted, it is necessary to wait for data transfer from the host device to the memory card until data input from the outside to the buffer memory is completely written to the flash memory. Further, it is necessary to wait for a new read operation of the flash memory until the read data stored in the buffer memory from the flash memory is output to the outside. In particular, when writing to the flash memory fails, the next write data is received from the host device to the buffer memory, for example, when rewriting to the alternative sector has to be performed due to a defect in the sector in which the initial writing operation was performed. I can't. That is, due to a problem between the flash memory and the controller, it is necessary to wait for data transfer between the host device and the controller. This causes a problem that the burden on the host device and the processing time increase and the data processing efficiency decreases.
本発明者は上記問題点を検討する過程において、公知ではないが、本出願人による特許出願の存在を確認した。特願2001−174978、特願2001−177924、特願2001−213639、特願2001−213640である。これらの出願は揮発性メモリとしてのSDRAMの記憶情報をバックアップするのに不揮発性メモリとしてのフラッシュメモリを用いる技術を提供する。SDRAMはバッファメモリとして位置付けられていない。 In the course of studying the above problems, the present inventor has confirmed the existence of a patent application by the present applicant, although it is not publicly known. They are Japanese Patent Application 2001-174978, Japanese Patent Application 2001-177924, Japanese Patent Application 2001-213639, and Japanese Patent Application 2001-213640. These applications provide a technique that uses a flash memory as a non-volatile memory to back up information stored in an SDRAM as a volatile memory. SDRAM is not positioned as a buffer memory.
本発明の目的は、メモリアクセスを伴うデータ処理即率の向上に寄与するメモリシステムを提供することにある。 An object of the present invention is to provide a memory system that contributes to an improvement in data processing immediate rate with memory access.
本発明の別の目的は、外部からのアクセス要求に応答して外部インタフェースと不揮発性メモリのアクセス制御とを行うメモリシステムにおいて、ホスト装置との間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができるメモリシステムを提供することにある。 Another object of the present invention is to reduce waiting time and processing of a host device related to data transfer with a host device in a memory system that performs access control of an external interface and a nonvolatile memory in response to an access request from the outside. An object of the present invention is to provide a memory system that can contribute to reducing the burden and the processing time.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 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データ転送、前記コントローラと前記不揮発性メモリとの間の第2データ転送、及び前記コントローラと前記バッファメモリとの間の第3データ転送を制御し、前記第3データ転送における前記コントローラから前記バッファメモリへの転送と前記バッファメモリから前記コントローラへの転送とを時分割で制御し、この時分割による転送に並行して前記第1データ転送又は前記第2データ転送を可能にする。 [1] The memory system includes a rewritable nonvolatile memory, a buffer memory, and a controller. In response to an access request from an external device, the controller transmits a first data transfer between the controller and the external device, a second data transfer between the controller and the nonvolatile memory, and the controller. The third data transfer to and from the buffer memory is controlled, and the transfer from the controller to the buffer memory and the transfer from the buffer memory to the controller in the third data transfer are controlled in a time-sharing manner. The first data transfer or the second data transfer is made possible in parallel with the transfer by division.
上記より、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行ない、その書き込みデータ蓄積処理に並行して第2データ転送による不揮発性メモリへの書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第1データ転送による外部装置からの次の書き込みデータの入力を行なうことができる。外部からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行ない、その読み出しデータ蓄積処理に並行して第1データ転送による外部装置への読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第2データ転送による不揮発性メモリからの次の読み出しデータの入力を行なうことができる。 From the above, when responding to a write access request from the outside, the controller performs time-sharing of write data accumulation in the buffer memory and output of the write data accumulated in the buffer memory, and in parallel with the write data accumulation processing The write data can be transferred to the nonvolatile memory by the second data transfer, and the next write data can be input from the external device by the first data transfer in parallel with the write data output processing. it can. When responding to a read access request from the outside, the controller accumulates read data in the buffer memory and outputs the read data accumulated in the buffer memory in a time-sharing manner, and executes the first data in parallel with the read data accumulation processing. The read data can be transferred to the external device by the transfer, and the next read data from the nonvolatile memory can be input by the second data transfer in parallel with the read data output processing.
上記バッファメモリのバッファリング機能により、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置とコントローラとの間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、メモリアクセスを伴うデータ処理即率の向上に寄与する。 Due to the buffering function of the buffer memory, a large waiting time is not required for the supply timing of a plurality of write data by an external device such as a host device, and a long waiting time is required for the acquisition timing of a plurality of read data by the host device. do not need. Therefore, it is possible to contribute to shortening the waiting time of the host device regarding the data transfer between the host device and the controller, reducing the processing load, and reducing the processing time. This contributes to an improvement in data processing immediate rate with memory access.
本発明の望ましい一つの態様として、上記バッファリング機能を最大限発揮させるには前記第3データ転送の動作速度を、前記第1データ転送速度の大凡2倍よりも速くすることが望ましい。理論上ホスト装置の待ち時間がなくなる。 As one desirable mode of the present invention, it is desirable that the operation speed of the third data transfer is higher than about twice the first data transfer speed in order to maximize the buffering function. Theoretically there is no waiting time for the host device.
本発明の望ましい一つの態様として、前記バッファメモリをシングルポートのクロック同期型の揮発性メモリとし、FIFO動作させるのがよい。バッファメモリの高速化とアクセス制御の容易を実現できる。不揮発性メモリは例えばフラッシュメモリである。 As a desirable mode of the present invention, it is preferable that the buffer memory is a single-port clock synchronous volatile memory and performs a FIFO operation. It is possible to increase the speed of the buffer memory and facilitate access control. The nonvolatile memory is, for example, a flash memory.
第1転送と第3転送との間のバッファリング、第2転送と第3転送との間のバッファリングを実現する一つの態様として、前記コントローラは、前記外部装置とバッファメモリとの間に配置されるデュアルポートのデータバッファと、前記バッファメモリと前記不揮発性メモリとの間に配置されるデュアルポートのデータバッファとを有するのが望ましい。第1データ転送と第3データ転送の並列化、第2データ転送と第3データ転送の並列化のための制御が更に容易になる。 As one aspect for realizing buffering between the first transfer and the third transfer and buffering between the second transfer and the third transfer, the controller is arranged between the external device and the buffer memory. Preferably, the dual-port data buffer and a dual-port data buffer disposed between the buffer memory and the nonvolatile memory are provided. Control for parallelization of the first data transfer and the third data transfer and parallelization of the second data transfer and the third data transfer are further facilitated.
[2]本発明の別の観点によるメモリシステムは、書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを有する。前記コントローラは、外部装置に接続される第1データ転送制御部と、前記不揮発性メモリに接続される第2データ転送制御部と、前記バッファメモリに接続され前記第1データ転送制御部からの転送要求及び第2データ転送制御部からの転送要求に応答してバッファメモリとの間のデータ転送を制御する転送調停部とを有する。前記第1データ転送制御部は、デュアルポートのデータバッファを介して外部装置と転送調停部に接続され、転送調停部に転送要求を出力する。前記第2データ転送制御部は、デュアルポートのデータバッファを介して不揮発性メモリと転送調停部に接続され、転送調停部に転送要求を出力する。転送調停部は、第1データ転送制御部からの転送要求と第2データ転送制御部からの転送要求に対し、前記バッファメモリに対する書き込み方向の転送と前記バッファメモリに対する読み出し方向の転送とを時分割で制御する。 [2] A memory system according to another aspect of the present invention includes a rewritable nonvolatile memory, a buffer memory, and a controller. The controller includes a first data transfer control unit connected to an external device, a second data transfer control unit connected to the nonvolatile memory, and a transfer from the first data transfer control unit connected to the buffer memory. And a transfer arbitration unit that controls data transfer to and from the buffer memory in response to the request and a transfer request from the second data transfer control unit. The first data transfer control unit is connected to an external device and a transfer arbitration unit via a dual port data buffer, and outputs a transfer request to the transfer arbitration unit. The second data transfer control unit is connected to the nonvolatile memory and the transfer arbitration unit via a dual-port data buffer, and outputs a transfer request to the transfer arbitration unit. The transfer arbitration unit time-divides transfer in the write direction with respect to the buffer memory and transfer in the read direction with respect to the buffer memory in response to the transfer request from the first data transfer control unit and the transfer request from the second data transfer control unit. To control.
上記より、外部装置とコントローラとの間のデータ転送は第1データ転送制御部におけるデータバッファでバッファリングされ、不揮発性メモリとコントローラとの間のデータ転送は第2データ転送制御部におけるデータバッファでバッファリングされ、双方のデータバッファとバッファメモリとの間のデータ転送を時分割で行なうことができる。よって、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行ない、その書き込みデータ蓄積処理に並行して第2転送制御部のデータバッファから不揮発性メモリに書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第1転送制御部のデータバッファに外部装置からの次の書き込みデータを取り込むことができる。外部装置からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行ない、その読み出しデータ蓄積処理に並行して第1転送制御部のデータバッファから外部装置へ読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第2転送制御部にデータバッファに不揮発性メモリからの次の読み出しデータの取込みを行なうことができる。 As described above, data transfer between the external device and the controller is buffered by the data buffer in the first data transfer control unit, and data transfer between the nonvolatile memory and the controller is performed by the data buffer in the second data transfer control unit. Buffered, data transfer between both data buffers and buffer memory can be performed in a time-sharing manner. Therefore, when responding to a write access request from the outside, the controller performs time-sharing of the accumulation of write data to the buffer memory and the output of the write data accumulated in the buffer memory, and in parallel with the write data accumulation process. 2 Write data can be transferred from the data buffer of the transfer controller to the nonvolatile memory, and the next write data from the external device is transferred to the data buffer of the first transfer controller in parallel with the write data output processing. Can be imported. When responding to a read access request from an external device, the controller performs time-division for storing read data in the buffer memory and outputting read data stored in the buffer memory, and in parallel with the read data storage processing, The read data can be transferred from the data buffer of the transfer control unit to the external device, and in parallel with the read data output process, the second transfer control unit can store the next read data from the nonvolatile memory in the data buffer. Uptake can be performed.
上記バッファリング機能により、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置とコントローラ間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、メモリアクセスを伴うデータ処理即率の向上に寄与する。 The above buffering function does not require a lot of waiting time for the supply timing of a plurality of write data by an external device such as a host device, and does not require a lot of waiting time for the acquisition timing of a plurality of read data by the host device. . Therefore, it is possible to contribute to shortening the waiting time, reducing the processing load, and reducing the processing time of the host device regarding data transfer between the host device and the controller. This contributes to an improvement in data processing immediate rate with memory access.
本発明の具体的な態様として、外部からのライトアクセス要求に応答するとき、前記第1データ転送制御部は外部装置からデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第2データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリからデータバッファに対する読み出しのための転送要求を出力する。また、外部からのリードアクセス要求に応答するとき、前記第2データ転送制御部はバッファメモリからデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第1データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリに対する読み出しのための転送要求を出力する。 As a specific aspect of the present invention, when responding to a write access request from the outside, the first data transfer control unit stores a predetermined amount of data in the data buffer from the external device, and transfers the buffer arbitration unit to the buffer memory. A transfer request for writing is output, and the second data transfer control unit outputs a transfer request for reading from the buffer memory to the data buffer when there is no predetermined amount of data in the data buffer. In response to an external read access request, the second data transfer control unit sends a transfer request for writing to the buffer memory to the transfer arbitration unit when a predetermined amount of data is stored in the data buffer from the buffer memory. The first data transfer control unit outputs a transfer request for reading to the buffer memory to the transfer arbitration unit when there is no predetermined amount of data in the data buffer.
本発明の望ましい一つの態様として、上記バッファリング機能を最大限発揮させるには、前記調停部によるバッファメモリとの間のデータ転送の動作速度を、前記第1転送制御部による外部との間のデータ転送の動作速度に対して大凡2倍よりも速くすることが望ましい。理論上ホスト装置の待ち時間がなくなる。 As a desirable aspect of the present invention, in order to maximize the buffering function, the operation speed of data transfer between the arbitration unit and the buffer memory is set to the outside by the first transfer control unit. It is desirable to make it faster than about twice the operation speed of data transfer. Theoretically there is no waiting time for the host device.
本発明の望ましい一つの態様として、前記バッファメモリをシングルポートのクロック同期型の揮発性メモリで構成し、FIFO動作させるのがよい。バッファメモリの高速化とアクセス制御が容易である。不揮発性メモリは例えばフラッシュメモリである。 As a desirable mode of the present invention, it is preferable that the buffer memory is composed of a single-port clock-synchronous volatile memory and performs a FIFO operation. Faster buffer memory and easier access control. The nonvolatile memory is, for example, a flash memory.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、外部からのライトアクセス要求に応答するときコントローラは、バッファメモリへの書込みデータの蓄積とバッファメモリに蓄積した書込みデータの出力とを時分割で行なうことができる。データバッファをデュアルポート化すれば、その書き込みデータ蓄積処理に並行して第2データ転送による不揮発性メモリへの書込みデータの転送を行なうことができ、また、その書き込みデータ出力処理に並行して第1データ転送による外部装置からの次の書き込みデータの入力を行なうことができる。 That is, when responding to a write access request from the outside, the controller can perform time-division of accumulation of write data in the buffer memory and output of the write data accumulated in the buffer memory. If the data buffer is dual ported, the write data can be transferred to the nonvolatile memory by the second data transfer in parallel with the write data accumulation process, and the second data transfer in parallel with the write data output process. The next write data can be input from the external device by one data transfer.
外部からのリードアクセス要求に応答するときコントローラは、バッファメモリへの読み出しデータの蓄積とバッファメモリに蓄積した読み出しデータの出力とを時分割で行なう。データバッファのデュアルポート化により、その読み出しデータ蓄積処理に並行して第1データ転送による外部装置への読み出しデータの転送を行なうことができ、また、その読み出しデータ出力処理に並行して第2データ転送による不揮発性メモリからの次の読み出しデータの入力を行なうことができる。 When responding to a read access request from the outside, the controller performs time division of accumulation of read data in the buffer memory and output of the read data accumulated in the buffer memory. Due to the dual port of the data buffer, the read data can be transferred to the external device by the first data transfer in parallel with the read data accumulation process, and the second data in parallel with the read data output process. The next read data can be input from the nonvolatile memory by the transfer.
これにより、外部装置例えばホスト装置による複数の書込みデータの供給タイミングに多くの待ち時間を必要とさせず、また、ホスト装置による複数の読み出しデータの取得タイミングに多くの待ち時間を必要とさせない。したがって、ホスト装置とコントローラ間のデータ転送に関するホスト装置の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。メモリアクセスを伴うデータ処理効率を向上させることができる。 Thus, a large waiting time is not required for the supply timing of a plurality of write data by an external device such as a host device, and a long waiting time is not required for the acquisition timing of a plurality of read data by the host device. Therefore, it is possible to contribute to shortening the waiting time, reducing the processing load, and reducing the processing time of the host device regarding data transfer between the host device and the controller. Data processing efficiency with memory access can be improved.
図1には本発明に係るメモリシステムの一例であるフラッシュメモリカードが例示される。同図に示されるフラッシュメモリカード1は、所定のセクタアドレス(物理アドレス)単位にデータ記憶領域とその管理領域とを有するフラッシュメモリ(不揮発性メモリ)2と、メモリシステムの外部に接続される外部情報処理装置例えばホスト装置3からの要求に応答して前記フラッシュメモリ2に対するアクセス制御を行うコントローラ4、前記コントローラ4に接続されたバッファメモリ5とを有する。
FIG. 1 illustrates a flash memory card which is an example of a memory system according to the present invention. The
前記フラッシュメモリ2は、特に図示はしないが、電気的に消去及び書き込み可能なフラッシュッメモリセルをマトリクス配置したメモリセルアレイを有する。フラッシュッメモリセルは、特に制限されないが、チャンネル領域の上に絶縁膜で分離されたフローティングゲートとコントロールゲートを有し、例えば、電子をフローティングゲートにホットエレクトロン注入することでメモリセルの閾値電圧を上げ(例えば書き込みと称する)、また、フローティングゲートに注入されている電子をゲート絶縁膜を介してトンネル電流で放出させることによりメモリセルの閾値電圧を低くする(消去と称する)。フラッシュメモリセルのドレインはビット線に、ソースはソース線に、コントロールゲートはワード線に接続される。例えば、ワード線に割り当てられたアドレスが前記セクタアドレスである。セクタドレス信号によるワード線選択はワード線選択回路で行われる。セクタアドレスで指定された複数のフラッシュメモリセルの一部に対する選択はカラムアドレスを起点にカラムアドレスカウンタで生成されるカラムアドレス信号に基づいて行われる。尚、フラッシュメモリとして例えば特開2001−23383公報に記載の構成を採用することができる。
Although not shown in particular, the
前記フラッシュメモリ2は例えばファイルメモリとして機能され、ローカルなメモリアドレスマッピングは図2に例示されるように、セクタアドレス1〜nの各アドレスに管理領域とユーザデータ記憶領域が割当てられ、管理領域には各セクタの良否(有効性)更には代替先の有無などの情報が記憶される。
The
前記バッファメモリ5は例えばクロック同期型の揮発性メモリであるシングルポートのSDRAM(Synchronous Dynamic Random Access Memory)によって構成される。以下バッファメモリ5を単にSDRAM5とも記す。前記SDRAM5は例えばダイナミック型メモリセルをマトリクス配置したメモリセルアレイを有し、クロック同期でコマンド及びアドレス等を入力し、コマンドで指定されるライトアクセス又はリードアクセスなどをクロック信号に同期して高速に行なうことができる。例えばホスト装置3とコントローラ4との間のバスを介するデータ転送(第1データ転送)の速度を100MB(メガ・バイト)/s(秒)とすると、SDRAM5とコントローラ4との間のバスを介するデータ転送(第3データ転送)の速度はその2倍以上である266MB/sとされる。フラッシュメモリ2とコントローラ4との間のバスを介するデータ転送(第2データ転送)の速度はフラッシュッメモリ2自体のアクセス速度が遅いのでそれに合わせて20MB/s程度である。
The
前記コントローラ4は、ホストデータ転送制御部(第1データ転送制御部)11、フラッシュデータ転送制御部(第2データ転送制御部)12、転送調停部13、CPU14、及び制御レジスタ15から成る。
The
前記制御レジスタ15はコマンドレジスタ(15C)、アドレスレジスタ(15A)及びステータスレジスタ(15S)を有する。ホスト装置3はフラッシュメモリカード1をアクセスするときコマンドレジスタ15Cにリード又はライトなどのコマンドをセットし、アクセスアドレスをアドレスレジスタ15Aにセットする。ホスト装置3とフラッシュメモリカード1との状態はステータスレジスタ15Sを介して相互に認識可能にされる。
The control register 15 includes a command register (15C), an address register (15A), and a status register (15S). When accessing the
CPU14はフラッシュメモリカード1を全体的に制御する。コマンドレジスタ15Cにコマンドがセットされると、CPU14はそのコマンドを解釈し、フラッシュメモリ2に対するメモリインタフェース制御と、ホスト装置3との間のデータインタフェース制御、そして、インタフェース制御されるデータに対するバッファ制御等を行なうことによって、アドレスレジスタ15Aにセットされたアドレスに対応するフラッシュメモリ2のセクタに対するアクセスを完了する。
The
前記ホストデータ転送制御部11はデュアルポートのデータバッファ20を介してホスト装置3と転送調停部13を接続する。転送要求回路21は転送調停部13に対して信号HDRQで転送要求を出し、信号HDACKでアクノリッジを受けることにより転送調停部13との間でデータバッファ20がデータの入力又は出力動作される。この入力又は出力は、ホストデータ転送制御部11が、信号HDIRを使って転送調停部13に指示する。このHDIR信号は、CPU14が転送動作開始前に、ホストデータ転送制御部11に設定する。ホストデータ転送制御部11は信号HDACKによるアクノリッジに応答して開始したデータバッファ20の転送調停部13に対する入力又は出力動作量が規定量に達したとき信号HEND_IRQをCPUにアサートして転送動作を終了する。これによってCPU14は転送調停部13に新たな転送要求を受付可能にする。ホストデータ転送制御部11はホスト装置3にウェイト信号HWAITを出力し、それをアサートすることによってホスト装置3に動作の休止を指示することができる。
The host data transfer
尚、図示はしないが、データバッファ20とホスト装置3側との間の転送動作の可否についてはステータスレジスタ15Sを介するステータスの交換により判断する。ホスト装置3から見るとデータバッファ21はそのアドレス空間にマッピングされている。コントローラ4のホストインタフェース部分のアドレスマッピングを全体的に示すと図3のようになる。
Although not shown, whether or not the transfer operation between the
前記フラッシュデータ転送制御部12はデュアルポートのデータバッファ22を介してフラッシュメモリ2と転送調停部13を接続する。データバッファ22はデュアルポートのFIFOバッファにより構成される。転送要求回路23は転送調停部13に対して信号FDRQで転送要求を出し、信号FDACKでアクノリッジを受けることにより転送調停部13との間でデータバッファ22がデータの入力又は出力動作される。この入力又は出力は、フラッシュデータ転送制御部13が、信号FDIRを使って転送調停部13に指示する。この信号FDIRは、CPU14が転送動作開始前に、フラッシュデータ転送制御部12に設定する。フラッシュデータ転送制御部12は信号FDACKによるアクノリッジに応答して開始したデータバッファ22の転送調停部13に対する入力又は出力動作量が規定量に達したとき信号FEND_IRQをCPUにアサートして転送動作を終了する。これによってCPU14は転送調停部13に新たな転送要求を受付可能にする。尚、図示はしないが、データバッファ22とフラッシュメモリ2側との間の転送動作の可否についてはフラッシュデータ転送制御部12がフラッシュッメモリ2のステータスレジスタを介するステータスの交換により判断する。
The flash data
転送調停部13は、転送許可回路30、ホスト転送用アドレスカウンタ31及びフラッシュ転送用アドレスカウンタ32から成る。前記ホスト転送用アドレスカウンタ31はデータバッファ20とバッファメモリ5との間のデータ転送におけるSDRAM5のアクセスアドレスを生成する。前記フラッシュ転送用アドレスカウンタ32はデータバッファ22とフラッシュメモリ2との間のデータ転送におけるSDRAM5のアクセスアドレスを生成する。前記アドレスカウンタ31,32に対するアドレスプリセットはホスト装置3からのアクセス要求毎にCPU14が行なう。ここでは、SDRAM5は図4に例示されるようにFIFO形式でアクセス制御される。前記ホスト転送用アドレスカウンタ31はデータバッファ20からSDRAM5への書き込みにおいてはライトアドレスポインタとして機能され、SDRAM5からデータバッファ20への読み出しにおいてはリードアドレスポインタとして機能される。前記フラッシュ転送用アドレスカウンタ32はデータバッファ22からSDRAM5への書き込みにおいてはライトアドレスポインタとして機能され、SDRAM5からデータバッファ22への読み出しにおいてはリードアドレスポインタとして機能される。転送許可回路30は転送要求信号HDRQとFDRQとの競合を調停し、調停結果を信号HDACK、FDACKにより転送要求回路21,23に返す。
The
図5には転送調停部13による制御動作が例示される。転送調停部13は信号HDRQによってホスト転送要求があるか(S1)、信号FDRQによってフラッシュ転送要求があるか(S2)、リフレッシュする必要があるか(S3)を順次サイクリックに判定している。信号HDRQによりホスト転送要求がある場合、ホスト装置3からのライトアクセス要求に応答する処理ではアドレスカウンタ31が示すSDRAM5のアドレスへの書き込みを行ない、ホスト装置3からのリードアクセス要求に応答する処理ではアドレスカウンタ31が示すSDRAM5のアドレスに対する読み出しを行なって(S1A)、アドレスカウンタ31をインクリメントする(S1B)。信号FDRQによりフラッシュ転送要求がある場合、ホスト装置3からのライトアクセス要求に応答する処理ではアドレスカウンタ32が示すSDRAM5のアドレスに対する読み出し、ホスト装置3からのリードアクセス要求に応答する処理ではアドレスカウンタ32が示すSDRAM5のアドレス対する書き込みを行なって、アドレスカウンタ32をインクリメントする。リフレッシュを要すると判断されればSDRAM5に対する記憶情報のリフレッシュを行なう。リフレッシュアドレスは転送調停部13が保有する図示しないリフレッシュアドレスカウンタを用いて生成される。
FIG. 5 illustrates a control operation by the
図5より明らかなように、ホスト装置3からのライトアクセス要求に応答する処理では、アドレスカウンタ31が示すSDRAM5のアドレスへの書き込みと、アドレスカウンタ32が示すSDRAM5のアドレスに対する読み出しを、8バイト単位などで時分割即ち交互に行なうことができる。ホスト装置3からのリードアクセス要求に応答する処理ではアドレスカウンタ31が示すSDRAM5のアドレスに対する読み出しと、アドレスカウンタ32が示すSDRAMのアドレス対する書き込みを、8バイト単位などで時分割即ち交互に行なうことができる。
As is apparent from FIG. 5, in the process in response to the write access request from the
図6にはライト転送要求時におけるCPUの制御動作が例示される。CPU14は、ホスト装置3からのライトアクセス要求を検出すると(S10)、ホスト転送用アドレスカウンタ31のセット、即ち、初期化若しくは初期値のプリセットを行なう(S11)。更にCPU14はホストデータ転送制御部11にホスト装置3からデータバッファ20に入力されるデータを転送調停部13に転送制御する指示を与える(S12)。この後、CPU14はステータスレジスタ15Sに転送可能ステータスをセットしてホスト装置3に書き込みデータのデータバッファ20への転送開始を通知する(S13)。これによって転送調停部13は図5で説明した前記ホスト転送要求(S1)があった時の処理を行うことにより、ホスト装置3からデータバッファ20に8バイトのデータが入力される度にそのデータをアドレスカウンタ31で指定されるSDRAM5に格納可能にされる。更にCPU14は、アドレスレジスタ15Aに入力されたアクセスアドレスからフラッシュメモリ2の物理アドレス即ちセクタアドレスを算出し(S14)、算出したセクタアドレスへのライトコマンドをフラッシュデータ転送制御部4を介してフラッシュメモリ2に設定する(S15)。この後、CPU14はフラッシュ転送用アドレスカウンタ32のセット、即ち、初期化若しくは初期値のプリセットを行なう(S16)。そしてCPU14はフラッシュデータ転送制御部12にSDRAM5からデータバッファ22に8バイトのデータが入力される度にそのデータをフラッシュメモリ2に転送可能とする指示を与える(S17)。この間に転送調停部13は図5で説明した前記フラッシュ転送要求(S2)があった時の処理を行うことにより、データバッファ22の保持データが8バイトになるように、SDRAM5の記憶データをアドレスカウンタ32の値に従ってデータバッファ22の転送する。
FIG. 6 illustrates the control operation of the CPU when a write transfer request is made. When detecting a write access request from the host device 3 (S10), the
CPU14は図5のホスト転送要求に応ずる処理とフラッシュ転送要求に応ずる処理が時分割で繰り返されていくいとき、前記信号HEND_IRQ及びFEND_IRQが共にアクティブになる状態を検出して(S18)、ライトアクセス要求待ち状態に入る(S10)。即ち、ホスト装置3から指示されたライトアクセス要求に応答して実行すべきライトデータ数に応ずるデータがSDRAM5に格納されたときHEND_IRQがアクティブにされ、前記実行すべきライトデータ数に応ずるデータがSDRAM5から読み出されたとき信号FEND_IRQがアクティブにされる。
When the process corresponding to the host transfer request and the process corresponding to the flash transfer request in FIG. 5 are repeated in a time-sharing manner, the
図7にはリードアクセス要求時におけるCPUの制御動作が例示される。CPU14は、ホスト装置3からのリードアクセス要求を検出すると(S20)、アドレスレジスタ15Aに入力されたアクセスアドレスからフラッシュメモリ2の物理アドレス即ちセクタアドレスを算出し(S21)、算出したセクタアドレスへのリードコマンドをフラッシュデータ転送制御部4を介してフラッシュメモリ2に設定する(S22)。そしてCPU14はフラッシュ転送用アドレスカウンタ32のセット、即ち、初期化若しくは初期値のプリセットを行なう(S23)。更にCPU14はフラッシュデータ転送制御部12に、フラッシュメモリ2からデータバッファ22に入力されるデータを転送調停部13に転送制御する指示を与える(S24)。これによって転送調停部13は図5で説明した前記フラッシュ転送要求(S2)があった時の処理を行うことにより、フラッシュメモリ2からデータバッファ22に例えば8バイトのデータが入力される度に、そのデータをアドレスカウンタ32で指定されるSDRAM5に格納可能にする。この後、CPU14はホスト転送用アドレスカウンタ31のセット、即ち、初期化若しくは初期値のプリセットを行なう(S25)。そしてCPU14はホストデータ転送制御部11にSDRAM5からデータを読み出してデータバッファ20に供給する指示を与える(S26)。CPU14はステータスレジスタ15に転送可能ステータスをセットしてホスト装置3に読み出しデータの取込みが可能であることを通知し(S13)、転送調停部13は図5で説明した前記ホスト転送要求(S1)があった時の処理を行なって、データバッファ20の保持データが8バイトになるようにSDRAM5の記憶データをアドレスカウンタ31の値に従ってデータバッファ20の転送する。
FIG. 7 illustrates a CPU control operation at the time of a read access request. When the
CPU14は図5のホスト転送要求に応ずる処理とフラッシュ転送要求に応ずる処理が時分割で繰り返されていくいとき、前記信号HEND_IRQ及びFEND_IRQが共にアクティブになる状態を検出して(S28)、リードアクセス要求待ち状態に入る(S20)。即ち、ホスト装置3から指示されたリードアクセス要求に応答して実行すべきリードデータ数に応ずるデータがSDRAM5に格納されたときFEND_IRQがアクティブにされ、前記実行すべきリードデータ数に応ずるデータがSDRAM5から読み出されたとき信号HEND_IRQがアクティブにされる。
When the processing corresponding to the host transfer request and the processing corresponding to the flash transfer request in FIG. 5 are repeated in a time-sharing manner, the
図8にはライトアクセス要求があったときのホスト装置3、SDRAM5及びフラッシュメモリ2のデータ転送動作を相関的に示す。(A)はホスト装置3の動作状態、(B)はSDRAM5の動作状態、(C)はフラッシュメモリ2の動作状態を示す。H_ADRはホスト装置3からコントローラ4に接続するアドレスバス、H_DATはホスト装置3とコントローラ4を接続するデータバス、H_WEはホスト装置3が出力するライトイネーブル信号、H_OEはホスト装置3が出力するアウトプットイネーブル信号である。D_CLKはSDRAM5に供給される同期クロック信号、D_WEはコントローラ4からSDRAM5に供給されるライトイネーブル信号、D_DATはコントローラ4とSDRAM5を接続するデータバスである。F_OEはコントローラ4がフラッシュメモリ2に出力するアウトプットイネーブル信号、F_WEはコントローラ4からフラッシュメモリ2に供給されるライトイネーブル信号、F_CSはコントローラ4からフラッシュメモリ2に出力されるシリアルクロック信号、F_DATはコントローラ4とフラッシュメモリ2を接続するデータバスである。
FIG. 8 correlates the data transfer operations of the
ホスト装置3はコントローラ4に向けて、アドレスレジスタ15Aにアドレス値、コマンドレジスタ15Cにライト転送コマンドを出力し、コントローラ4のステータスレジスタ15Sを読み込む。転送可能を示すステータスを読み込んだ後、データバッファ20のデータレジスタにデータを転送していく。データ転送はブロック単位であり、各ブロック例えば8バイトである。コントローラ4はフラッシュメモリ2に書き込みのセクタアドレス値、ライト転送コマンドを与えておく。コントローラ4はデータブロック1のデータを入力すると、そのデータをSDRAM5に書き込む。このときの書き込みサイクルはTdwで示される。これによって書き込まれたデータブロック1のデータは今度はSDRAM5からコントローラ4に読み出される。このときの読み出しサイクルはTdrで示される。コントローラ4に読み出されたデータブロック1のデータはフラッシュメモリ2に転送される。SDRAM5がデータブロック1のデータに対して書き込みサイクルTdwと読み出しサイクルを行っている最中に、ホスト装置3は、次のデータブロック2のデータをコントローラ4のバッファ20に向けて出力している。フラッシュメモリ2にデータブロック1のデータを転送しているときSDRAM5にはデータブロック2のデータに対するライトサイクルとリードサイクルが時分割で行われる。データブロック4までのデータに対して上記と同様の処理が行なわれる。
The
この例に従えば、コントローラ4が例えばデータバッファ20の転送調停部13側ポートからデータブロック3のデータを読み出してSDRAM5に格納し(Ti〜Tj)、これに続けてSDRAM5に格納したデータをデータバッファ22にその転送調停部13側ポートから格納しているとき(Tj〜Tk)、データバッファ20のホスト装置3側ポートから次のデータブロック4のデータがデータバッファ20に入力されると共に、データバッファ22のフラッシュメモリ2側ポートからその前のデータブロック2のデータがフラッシュメモリ2に転送される。要するに、ホスト装置3からのライトアクセス要求に応答するときコントローラ4は、SDRAM5への書込みデータの蓄積とSDRAM5に蓄積した書込みデータの出力とを時分割で行ない、前記SDRAM5への書き込みデータ蓄積処理に並行してフラッシュメモリ2への書込みデータの転送を行なうことができ、また、SDRAM5からの前記書き込みデータ出力処理に並行してホスト装置3からの次の書き込みデータの入力を行なうことができる。
According to this example, the
図8の例では、フラッシュメモリ2に対するライトコマンド列は、アドレス値(セクタドレス値)、ライト転送コマンド、書き込みデータ(データブロック1〜データブロック4)、及びライトスタートコマンドとされ、フラッシュメモリ2はライトスタートコマンドが入力されること条件に、その直前までに入力された情報を一かたまりのコマンド列と解釈し、その結果にしたがってフラッシュメモリ2の内部で書き込み動作を開始する。図8においてアドレス値入力からライトスタートコマンド入力までのコマンド列供給サイクルはTfwとして図示される。
In the example of FIG. 8, the write command sequence for the
図9にはリードアクセス要求があったときのホスト装置、SDRAM及びフラッシュメモリのデータ転送動作を相関的に示す。(A)はホスト装置3の動作状態、(B)はSDRAM5の動作状態、(C)はフラッシュメモリ2の動作状態を示す。
FIG. 9 correlates the data transfer operations of the host device, SDRAM, and flash memory when there is a read access request. (A) shows the operating state of the
ホスト装置3はコントローラ4に向けて、アドレスレジスタ15Aにアドレス値、コマンドレジスタ15Cにリード転送コマンドを出力する。コントローラ4はそのアドレス値とフラッシュリード転送コマンドをフラッシュメモリ2に与える。これによって、フラッシュメモリ2はクロック信号F_CSに同期してデータブロック1〜データブロック4のデータを順次読み出す。図9においてその読み出しサイクルはTfrとして図示される。最初に読み出されたデータブロック1のデータはデータバッファ22を介してSDRAM5に書き込まれる。この書き込みサイクルはTdwとして図示される。更に書き込まれたデータブロック1のデータはSDRAM5から読み出されてデータバッファ20に供給される。この読み出しサイクルはTdrとして図示される。データバッファ20にデータブロック1のデータが揃ったところで、ステータスレジスタ15Sが転送可能とされる。ホスト装置3はそのステータスを認識することによりデータブロック1のデータを取りこむ。データブロック2〜データブロック4についても上記同様の処理が行なわれる。
The
この例に従えば、コントローラ4が例えばデータバッファ22の転送調停部13側ポートからデータブロック3のデータを読み出してSDRAM5に格納し(Tp〜Tq)、これに続けてSDRAM5に格納したデータをデータバッファ20に格納しているとき(Tq〜Tr)、データバッファ22のフラッシュメモリ2側ポートから次のデータブロック4のデータがデータバッファ22に入力されると共に、データバッファ20のホスト装置3側ポートからその前のデータブロック2のデータがホスト装置3に取り込まれる。要するに、ホスト装置3からのリードアクセス要求に応答するときコントローラ4は、SDRAM5に対する読み出しデータの蓄積とSDRAM5に蓄積した読み出しデータの出力とを時分割で行ない、前記SDRAM5に対する読み出しデータ蓄積処理に並行してホスト装置3がバッファメモリ20から読み出しデータを取り込むことができ、また、SDRAM5から前記読み出しデータを出力する処理に並行してフラッシュメモリ2からの次の読み出しデータをバッファメモリ22に入力する処理を行なうことができる。
According to this example, the
図10には前記SDRAMの書き込みサイクルTdwの一例が示される。CLKは前記D_CLKに対応するクロック信号、CKEはクロックイネーブル信号、CS_Nはチップ選択信号、RAS_Nはロウアドレスストローブ信号、CAS_Nは絡むアドレスストローブ信号、WE_Nは前記D_WEに対応するライトイネーブル信号、A14〜A0はアドレス信号、D15〜D0はデータである。 FIG. 10 shows an example of the write cycle Tdw of the SDRAM. CLK is a clock signal corresponding to the D_CLK, CKE is a clock enable signal, CS_N is a chip selection signal, RAS_N is a row address strobe signal, CAS_N is an address strobe signal, WE_N is a write enable signal corresponding to the D_WE, and A14 to A0 Is an address signal, and D15 to D0 are data.
図11には前記SDRAMの読み出しサイクルTdrの一例が示される。 FIG. 11 shows an example of the read cycle Tdr of the SDRAM.
図12にはフラッシュメモリ2に対する書き込みサイクルTfwの一例が示される。1FHはライト転送コマンド、SA8(1)、SA(2)はアドレス値、40Hはライトスタートコマンドを意味する。書込みデータ(Din)はシリアルクロックSCに同期して入力される。
FIG. 12 shows an example of a write cycle Tfw for the
図13にはフラッシュメモリ2に対する読み出しサイクルTfrの一例が示される。00H/F0Hはリードト転送コマンド、SA8(1)、SA(2)はアドレス値を意味する。読み出しデータ(Dout)はシリアルクロックSCに同期して出力される。
FIG. 13 shows an example of a read cycle Tfr for the
図14にはライトアクセス要求に応答するデータ転送処理フローが例示される。同図の処理フローはフラッシュメモリ2に対する書き込みエラーがない場合を想定する。ホスト装置3からライトアクセス要求が発行されると、コントローラ4はホスト装置3にライト転送準備可能を通知し、フラッシュメモリ2にライト転送要求を出す。これを受けてホスト装置3はコントローラ4に書込みデータのライト転送を行い、コントローラ4はフラッシュメモリ2に書込みデータをライト転送する。フラッシュメモリ2はライト動作を行ない、ここでは、コントローラ4に正常終了を返す。データバッファ20に新たなブロックの書込みデータを蓄積する余裕がないような場合にコントローラ4は信号HWAITをアサートしてライト転送一時中断要求をホスト装置3に出す。コントローラ4は新たなブロックの書込みデータを蓄積可能になると、信号HWAITをネゲートしてライト転送再開をホスト装置3に与える。これによって、ホスト装置3はコントローラ4にライト転送を再開し、コントローラ4はフラッシュメモリ2に書き込みデータの転送を再開する。ライトアクセス要求に応答する全ての処理を終えるとコントローラ4はホスト装置3にライト転送終了通知を与える。
FIG. 14 illustrates a data transfer processing flow in response to a write access request. The processing flow in the figure assumes a case where there is no write error to the
図15にはライトアクセス要求に応答する別のデータ転送処理フローが例示される。同図の処理フローはフラッシュメモリ2に対する書き込みエラーがある場合を想定する。ホスト装置3からライトアクセス要求が発行されると、コントローラ4はホスト装置3にライト転送準備可能を通知し、フラッシュメモリ2にライト転送要求を出す。これを受けてホスト装置3はコントローラ4に書込みデータのライト転送を行い、コントローラ4はフラッシュメモリ2に書込みデータをライト転送する。フラッシュメモリ2はライト動作を行ない、ここでは、書き込みエラーを生じ、コントローラ4に書き込み失敗終了を通知する。これを受けてコントローラ4は信号HWAITをアサートしてライト転送一時中断要求をホスト装置3に出す。その後、コントローラ4は、信号bHWAITをネゲートしてホスト装置3にライト転送再開を通知し、フラッシュメモリ2に代替ブロックライト転送要求を出す。そして、ホスト装置3が書込みデータをコントローラ4にライト転送し、コントローラ4はそのライトデータをフラッシュメモリ2にライト転送する。ここではフラッシュメモリ2は更に書き込み失敗し、書き込み失敗終了をコントローラ4に通知する。その後もコントローラ4は失敗に係る書き込み処理をフラッシュメモリ2に要求する。この間に、ホスト装置3は後続のライトデータをコントローラ4に予め転送しておくことができる。最後にライトアクセス要求に応答する全ての処理を終えるとコントローラ4はホスト装置3にライト転送終了通知を与える。
FIG. 15 illustrates another data transfer processing flow in response to a write access request. The processing flow in the figure assumes a case where there is a write error to the
図16にはリードアクセス要求に応答するデータ転送処理フローが例示される。ホスト装置3からリードアクセス要求が発行されると、コントローラ4はホスト装置3にリード転送準備可能を通知し、フラッシュメモリ2にリード転送要求を出す。これを受けてフラッシュメモリ2は読み出しデータをコントローラ4にリード転送し、コントローラ4はそのリードデータをホスト装置3にリード転送する。ここでは、フラッシュメモリ2はコントローラ4に正常終了を返す。データバッファ20に新たなブロックの読み出しデータを蓄積する余裕がないような場合にコントローラ4は信号HWAITをアサートしてリード転送一時中断要求をホスト装置3に出す。コントローラ4は新たなブロックの読み出しデータを蓄積可能になると、信号HWAITをネゲートしてリード転送再開をホスト装置3に要求し、フラッシュメモリ2にリード転送要求を出す。これにより、上記同様に、フラッシュメモリ2は読み出しデータをコントローラ4にリード転送し、コントローラ4はそのリードデータをホスト装置3にリード転送する。リードアクセス要求に応答する全ての処理を終えるとコントローラ4はホスト装置3にリード転送終了通知を与える。
FIG. 16 illustrates a data transfer processing flow in response to a read access request. When a read access request is issued from the
コントローラ4によるSDRAM5を用いた上記バッファリング機能により、ホスト装置3による複数の書込みデータの供給タイミングに多くの待ち時間を必要とせず、また、ホスト装置3による複数の読み出しデータの取得タイミングに多くの待ち時間を必要としない。したがって、ホスト装置3とコントローラ4間のデータ転送に関するホスト装置3の待ち時間短縮、処理負担低減、処理時間低減に寄与することができる。これは、フラッシュメモリカード1に対するアクセスを伴うデータ処理効率を向上させることができる。
The buffering function using 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.
例えば、不揮発性メモリはフラッシュメモリに限定されず、高誘電体メモリ等その他の記憶形式を採用する書換え可能な不揮発性メモリであってよい。また、1個のメモリセルに対する情報記憶ビット数も1ビットに限定されず、2ビット以上であってもよい。また、メモリシステムはPCカードのようなフラッシュメモリカードに限定されず、データプロセッサを実装したプロセッサボード上において構成することも可能である。また、コントローラにおいてホストインタフェース部分のデータバッファ、不揮発性メモリインタフェース部分のデータバッファはデュアルポートに限定されず、シングルポートのメモリ、若しくはレジスタ或はラッチ回路であってもよい。要するに、バッファメモリに対する前記時分割によるデータ転送に並行してホストインタフェース又はフラッシュインタフェース部分でデータ入出力が可能であればよい。 For example, the non-volatile memory is not limited to a flash memory, and may be a rewritable non-volatile memory that employs another storage format such as a high dielectric memory. Also, the number of information storage bits for one memory cell is not limited to 1 bit, and may be 2 bits or more. Further, the memory system is not limited to a flash memory card such as a PC card, but can be configured on a processor board on which a data processor is mounted. In the controller, the data buffer of the host interface part and the data buffer of the nonvolatile memory interface part are not limited to the dual port, but may be a single port memory, a register, or a latch circuit. In short, it suffices if data can be input / output at the host interface or the flash interface in parallel with the data transfer by the time division to the buffer memory.
以下に、本発明の実施態様を列挙する。 The embodiments of the present invention are listed below.
1.書き換え可能な不揮発性メモリと、バッファメモリと、コントローラとを有し、
前記コントローラは、外部装置に接続される第1データ転送制御部と、前記不揮発性メモリに接続される第2データ転送制御部と、前記バッファメモリに接続され前記第1データ転送制御部からの転送要求及び第2データ転送制御部からの転送要求に応答してバッファメモリとの間のデータ転送を制御する転送調停部とを有し、
前記第1データ転送制御部は、データバッファを介して外部装置と転送調停部に接続され、転送調停部に転送要求を出力し、
前記第2データ転送制御部は、データバッファを介して不揮発性メモリと転送調停部に接続され、転送調停部に転送要求を出力し、
転送調停部は、第1データ転送制御部からの転送要求と第2データ転送制御部からの転送要求に対し、前記バッファメモリに対する書き込み方向の転送と前記バッファメモリに対する読み出し方向の転送とを時分割で制御し、
外部からのライトアクセス要求に応答するとき、前記第1データ転送制御部は外部装置からデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第2データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリからデータバッファに対する読み出しのための転送要求を出力することを特徴とするメモリシステム。
1. A rewritable nonvolatile memory, a buffer memory, and a controller;
The controller includes a first data transfer control unit connected to an external device, a second data transfer control unit connected to the nonvolatile memory, and a transfer from the first data transfer control unit connected to the buffer memory. A transfer arbitration unit that controls data transfer to and from the buffer memory in response to the request and a transfer request from the second data transfer control unit;
The first data transfer control unit is connected to an external device and a transfer arbitration unit via a data buffer, and outputs a transfer request to the transfer arbitration unit,
The second data transfer control unit is connected to the nonvolatile memory and the transfer arbitration unit via a data buffer, and outputs a transfer request to the transfer arbitration unit,
The transfer arbitration unit time-divides transfer in the write direction with respect to the buffer memory and transfer in the read direction with respect to the buffer memory in response to the transfer request from the first data transfer control unit and the transfer request from the second data transfer control unit. Control with
When responding to an external write access request, the first data transfer control unit outputs a transfer request for writing to the buffer memory to the transfer arbitration unit when a predetermined amount of data is accumulated in the data buffer from the external device. The second data transfer control unit outputs a transfer request for reading from the buffer memory to the data buffer to the transfer arbitration unit when there is no predetermined amount of data in the data buffer.
2.外部からのリードアクセス要求に応答するとき、前記第2データ転送制御部はバッファメモリからデータバッファに所定量のデータが蓄積されたとき転送調停部にバッファメモリに対する書き込みのための転送要求を出力し、前記第1データ転送制御部はデータバッファに所定量のデータがないとき転送調停部にバッファメモリに対する読み出しのための転送要求を出力することを特徴とする前項1に記載のメモリシステム。
2. When responding to an external read access request, the second data transfer control unit outputs a transfer request for writing to the buffer memory to the transfer arbitration unit when a predetermined amount of data is accumulated in the data buffer from the buffer memory. 2. The memory system according to
1 ・・・ フラッシュメモリカード
2 ・・・ フラッシュメモリ
3 ・・・ ホスト装置
4 ・・・ コントローラ
5 ・・・ バッファメモリ(SDRAM)
11 ・・・ ホストデータ転送制御部
12 ・・・ フラッシュデータ転送制御部
13 ・・・ 転送調停部
14 ・・・ CPU
15 ・・・ 制御レジスタ(コマンドレジスタ、アドレスレジスタ、ステータスレジスタ)
20 ・・・ データバッファ
21 ・・・ 転送要求回路
22 ・・・ データバッファ
23 ・・・ 転送要求回路
31 ・・・ ホスト転送アドレスカウンタ
32 ・・・ フラッシュ転送アドレスカウンタ
33 ・・・ 転送許可回路
DESCRIPTION OF
11: Host data transfer control unit 12: Flash data transfer control unit 13: Transfer arbitration unit 14: CPU
15 ... Control register (command register, address register, status register)
20 ...
Claims (4)
前記コントローラは、第1のデータバッファを有する第1のデータ転送制御部と、第2のデータバッファを有する第2のデータ転送制御部とを有し、
前記バッファメモリは、前記第1のデータバッファを介して外部装置に接続され、及び、前記第2のデータバッファを介して前記不揮発性メモリに接続され、
前記コントローラは、前記外部装置からのライトアクセス要求に応答して、前記第1のデータバッファから前記バッファメモリへのデータブロックの書き込み処理と、続く前記バッファメモリから前記第2のデータバッファへの該データブロックの読み出し処理とを実施し、さらに、該書き込み処理と該読み出し処理とに並行して、該書き込み処理と該読み出し処理とが実施される前記データブロックの次のデータブロックが前記外部装置から前記第1のデータバッファに転送されることとなるように、かつ、該書き込み処理と該読み出し処理とが実施される前記データブロックの1つ前のデータブロックが前記第2のデータバッファから前記不揮発性メモリに転送されることとなるように時分割方式で制御を行い、
前記時分割方式による制御が繰り返されて、前記第2のデータバッファから前記不揮発性メモリに2以上の所定数の一連のデータブロックが転送された後に、前記不揮発性メモリは、前記コントローラからのコマンドに応答して、該不揮発性メモリへの該一連のデータブロックの書き込み動作を開始し、
前記書き込み動作において書き込みを正常に終了した場合は、前記不揮発性メモリは書き込みの正常終了を前記コントローラに通知し、
前記書き込み動作において書き込みエラーを生じた場合は、前記不揮発性メモリは書き込み失敗を前記コントローラに通知し、
前記コントローラは、前記書き込み失敗が通知されると、前記不揮発性メモリに失敗に係る書き込み処理を要求すると共に、前記外部装置からの後続の書き込みデータの転送を受けることからなる、メモリシステム。 A nonvolatile memory capable rewritten, a memory system comprising a buffer memory, and a controller,
The controller includes a first data transfer control unit having a first data buffer and a second data transfer control unit having a second data buffer,
The buffer memory is connected to an external device via the first data buffer, and is connected to the nonvolatile memory via the second data buffer;
In response to the write access request from the external device, the controller writes the data block from the first data buffer to the buffer memory, and then continues from the buffer memory to the second data buffer. A data block read process, and in parallel with the write process and the read process, a data block next to the data block on which the write process and the read process are executed is received from the external device. The data block immediately before the data block to be transferred to the first data buffer and subjected to the writing process and the reading process is transferred from the second data buffer to the nonvolatile memory. Control in a time-sharing manner to be transferred to the memory,
After the control by the time division method is repeated and a predetermined number of two or more series of data blocks are transferred from the second data buffer to the nonvolatile memory, the nonvolatile memory receives a command from the controller. In response to the write operation of the series of data blocks to the nonvolatile memory,
When the writing is normally terminated in the writing operation, the nonvolatile memory notifies the controller of the normal termination of the writing,
When a write error occurs in the write operation, the nonvolatile memory notifies the controller of a write failure,
When the controller is notified of the write failure, the controller requests the nonvolatile memory to perform a write process related to the failure and receives transfer of subsequent write data from the external device .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012168189A JP5607118B2 (en) | 2012-07-30 | 2012-07-30 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012168189A JP5607118B2 (en) | 2012-07-30 | 2012-07-30 | Memory system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043637A Division JP5095649B2 (en) | 2009-02-26 | 2009-02-26 | Memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012208961A JP2012208961A (en) | 2012-10-25 |
JP5607118B2 true JP5607118B2 (en) | 2014-10-15 |
Family
ID=47188564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012168189A Expired - Fee Related JP5607118B2 (en) | 2012-07-30 | 2012-07-30 | Memory system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5607118B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7413108B2 (en) * | 2020-03-23 | 2024-01-15 | キオクシア株式会社 | semiconductor equipment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2703668B2 (en) * | 1991-03-18 | 1998-01-26 | 株式会社日立製作所 | Data transfer control device and magnetic disk control device |
JPH05265939A (en) * | 1992-03-23 | 1993-10-15 | Toshiba Corp | Data transfer equipment |
JPH06103026A (en) * | 1992-09-18 | 1994-04-15 | Tokyo Electron Ltd | Memory system |
JP3550293B2 (en) * | 1997-12-26 | 2004-08-04 | 株式会社ルネサステクノロジ | High-speed rewritable storage device using nonvolatile memory and data rewriting method of the storage device |
WO2001044957A1 (en) * | 1999-12-17 | 2001-06-21 | Sony Corporation | Device and method for processing information and recorded medium |
JP3871184B2 (en) * | 2000-06-12 | 2007-01-24 | シャープ株式会社 | Semiconductor memory device |
JP2002024081A (en) * | 2000-07-10 | 2002-01-25 | Hitachi Ltd | Semiconductor integrated circuit device |
JP4082913B2 (en) * | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | Memory system |
-
2012
- 2012-07-30 JP JP2012168189A patent/JP5607118B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012208961A (en) | 2012-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4082913B2 (en) | Memory system | |
US9978430B2 (en) | Memory devices providing a refresh request and memory controllers responsive to a refresh request | |
JP5032027B2 (en) | Semiconductor disk control device | |
KR101120305B1 (en) | A method, apparatus, and system for partial memory refresh | |
US5822251A (en) | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers | |
US7441070B2 (en) | Method for accessing a non-volatile memory via a volatile memory interface | |
JP4643729B2 (en) | Interleave control device, interleave control method, and memory system | |
TWI506424B (en) | Methods and memory devices where a host is used to configure the memory devices to perform an automatic background operation | |
KR20180022016A (en) | Semiconductor device | |
CN113467704B (en) | Command optimization through intelligent threshold detection | |
JP4447636B2 (en) | Memory system | |
US6622222B2 (en) | Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations | |
JP5095649B2 (en) | Memory system | |
JP5607118B2 (en) | Memory system | |
JP4598025B2 (en) | Memory system | |
US11734184B2 (en) | Effective avoidance of line cache misses | |
KR20210012818A (en) | Memory device and operating method thereof | |
US11972135B2 (en) | Status polling based on die-generated pulsed signal | |
KR20120069953A (en) | Non-volitile memory device and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140324 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140327 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140424 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140430 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140526 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140709 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140729 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140827 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5607118 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |