JP2011138243A - Storage device and method for controlling storage device - Google Patents
Storage device and method for controlling storage device Download PDFInfo
- Publication number
- JP2011138243A JP2011138243A JP2009296667A JP2009296667A JP2011138243A JP 2011138243 A JP2011138243 A JP 2011138243A JP 2009296667 A JP2009296667 A JP 2009296667A JP 2009296667 A JP2009296667 A JP 2009296667A JP 2011138243 A JP2011138243 A JP 2011138243A
- Authority
- JP
- Japan
- Prior art keywords
- nonvolatile semiconductor
- semiconductor element
- bus
- semiconductor elements
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Abstract
Description
本発明は、記憶装置及び記憶装置の制御方法に係り、特に、不揮発性半導体記憶素子を用いて記憶することに好適な記憶装置、及び記憶装置の制御方法に関する。 The present invention relates to a storage device and a control method for the storage device, and more particularly to a storage device suitable for storing data using a nonvolatile semiconductor storage element, and a control method for the storage device.
計算機には、演算実行に供されるプログラムを保持したり、或いは演算の過程で必要な情報を一時的に格納するため、記憶装置が備えられる。この記憶装置として、固定型ディスクが用いられることが多いが、これと共に、情報の消失に対する耐性が強いとの利点から不揮発性半導体記憶素子が用られるようになった。この不揮発性半導体記憶素子を用いた記憶装置は、不揮発性との利点があるものの、しなしながら、他の種類の記憶装置と同様に、書込命令された情報が正常に保持されないとの記憶異常の可能性が依然として残る。 The computer is provided with a storage device in order to hold a program to be used for calculation execution or to temporarily store information necessary for the calculation process. As this storage device, a fixed disk is often used, and a nonvolatile semiconductor storage element has come to be used together with the advantage that it is highly resistant to information loss. Although a memory device using this nonvolatile semiconductor memory element has an advantage of non-volatility, however, as with other types of memory devices, it is possible to memorize that information instructed to be written is not normally retained. The possibility of anomalies still remains.
そのため、この不揮発性半導体記憶素子を用いた記憶装置でも、多重化して、その多重化の一方の系を主記憶とし、残りの系を補助的記憶とするように併わせ設け、プログラム或いは一時的保持情報を重畳的に記憶させるものが知られている。このようにすれば、例えば、多重化された系のうちの主記憶の装置に異常を呈しても、補助的記憶の装置の記憶内容を用いて演算が継続可能となるのである。このような技術は、例えば、特開2008−123481号公報に知られている。 Therefore, even in a storage device using this nonvolatile semiconductor memory element, multiplexing is performed, and one of the multiplexed systems is used as a main memory, and the remaining system is provided as an auxiliary memory, and a program or temporary There is known a technique for storing retained information in a superimposed manner. In this way, for example, even if an abnormality occurs in the main storage device of the multiplexed system, the calculation can be continued using the storage contents of the auxiliary storage device. Such a technique is known, for example, in Japanese Patent Application Laid-Open No. 2008-123481.
不揮発性半導体素子は、素子特有な特性として書換回数の問題を避けることができない。すなわち、書換回数が制限回数を超えると記憶内容の信頼性が低下する。そのため、多重化された系を有する半導体装置において、いずれかの系において、特定の素子に書き換えが集中すると、その不揮発性半導体素子の信頼性の低下がその系全体に影響を及ぼし、さらに、他の系の不揮発性半導体素子において書換が制限回数までに余裕があっても、多重系としての記憶装置に影響を及ぼしてしまう。 The nonvolatile semiconductor element cannot avoid the problem of the number of rewrites as a characteristic peculiar to the element. That is, when the number of rewrites exceeds the limit number, the reliability of the stored contents is lowered. Therefore, in a semiconductor device having a multiplexed system, if rewriting concentrates on a specific element in any system, a decrease in reliability of the nonvolatile semiconductor element affects the entire system. Even if there is a margin in the number of times of rewriting in the non-volatile semiconductor element of this system, the memory device as a multiplex system is affected.
さらに、素子特有な特性から、データ転送速度の問題も避けることができない。すなわち、記憶素子に書込んだり或いは記憶素子から読出したりする速度(データ転送速度)は、その書込むデータを準備したり或いはその読出したデータを転送したり速度(データ転送速度)よりも低いのが通常である。そのため、多重化された系を有する半導体装置において、いずれかの系において、転送速度の遅れが生じると、他の系での転送が要求通りの速度で行われても、多重系としての記憶装置としてはデータ転送速度不足が生じてしまう。 Furthermore, the problem of data transfer rate cannot be avoided due to the characteristics peculiar to the element. That is, the speed at which data is written to or read from the storage element (data transfer speed) is lower than the speed at which the data to be written is prepared or the read data is transferred (data transfer speed). Is normal. Therefore, in a semiconductor device having a multiplexed system, if a transfer speed delay occurs in any of the systems, the storage device as a multiplexed system can be used even if the transfer in the other system is performed at the required speed. As a result, the data transfer rate is insufficient.
本発明の目的は、冗長系を持つものにおいて、なお且つ、データ転送速度の要求と書換回数に抗した信頼性の維持が可能な、不揮発性半導体記憶素子を用いた記憶装置、及び記憶装置の制御方法を提供することにある。 An object of the present invention is to provide a storage device using a nonvolatile semiconductor memory element and a storage device having a redundant system and capable of maintaining reliability against the requirement of data transfer speed and the number of rewrites. It is to provide a control method.
上記目的を達成するために、本発明では、複数のバスを含む系を複数有し、前記複数のバスの各々に複数の不揮発性半導体素子が接続され、前記複数の系には第1の系と第2の系が含まれるものであって、前記第1の系の不揮発性半導体素子の各々と前記第2の系の不揮発性半導体素子の各々は、前記第1の系の不揮発性半導体素子が接続されるバスが異なると前記第2の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけられ、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第1の系と第2の系の一方の系における不揮発性半導体素子を選択し、前記選択された不揮発性半導体素子に対して前記対応付けに基づいて他方の系における不揮発性半導体素子を選択するように構成した。 To achieve the above object, according to the present invention, a plurality of systems including a plurality of buses are provided, a plurality of nonvolatile semiconductor elements are connected to each of the plurality of buses, and a first system is connected to the plurality of systems. And the second system, each of the first system nonvolatile semiconductor element and each of the second system nonvolatile semiconductor elements is the first system nonvolatile semiconductor element. Are connected to each other so that the buses to which the second non-volatile semiconductor elements are connected are different when the buses to which the second system is connected are different. The nonvolatile semiconductor element in one of the first system and the second system is selected so that a nonvolatile semiconductor element connected to a different bus is selected between the selection of the nonvolatile semiconductor element and the previous selection of the nonvolatile semiconductor element And the selected nonvolatile semiconductor element Configured to select the non-volatile semiconductor device in the other system on the basis of the association with respect.
また、上記において、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第1の系と第2の系の一方の系における不揮発性半導体素子を選択する構成を、書込要求或いは読出要求に対して、同じバスに接続された不揮発性半導体素子が続けて選択されないように第1の系と第2の系の一方の系における不揮発性半導体素子を選択する構成に置き換える。 Further, in the above, in response to a write request or a read request, a non-volatile semiconductor element connected to a different bus is selected in a predetermined number of non-volatile semiconductor element selections and a previous non-volatile semiconductor element selection. In this way, the configuration for selecting the nonvolatile semiconductor element in one of the first system and the second system is such that the nonvolatile semiconductor element connected to the same bus continues in response to a write request or a read request. The configuration is replaced with a configuration in which the nonvolatile semiconductor element in one of the first system and the second system is selected so as not to be selected.
あるいは、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第1の系と第2の系の一方の系における不揮発性半導体素子を選択する構成を、書込要求或いは読出要求に対して、所定の回の選択に係る不揮発性半導体素子の読込み或いは書込みと前回の選択に係る不揮発性半導体素子の読込み或いは書込みとが少なくとも一部の時間が重複するような選択である構成に置き換える。 Alternatively, in response to a write request or a read request, a non-volatile semiconductor element connected to a different bus is selected in a predetermined number of non-volatile semiconductor element selections and a previous non-volatile semiconductor element selection. A configuration for selecting a nonvolatile semiconductor element in one of the first system and the second system is to read or write a nonvolatile semiconductor element according to a predetermined selection in response to a write request or a read request. The nonvolatile semiconductor element read or write related to the previous selection is replaced with a configuration in which the selection overlaps at least part of the time.
本発明によれば、冗長された互いの系のバランスをとって、データ転送速度の要求と書換回数に抗した信頼性の維持が可能になる。 According to the present invention, it is possible to maintain the reliability against the requirement of the data transfer rate and the number of rewrites by balancing the redundant systems.
以下、本発明の実施形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施形態に係わる不揮発性半導体記憶装置の構成の例を示した図である。不揮発性半導体記憶装置2は、ホストCPU1とホスト接続バスで接続される。不揮発性半導体記憶装置2は、論理アドレス/物理アドレス変換処理3と、チップ選択処理4と、バッファメモリ5と、データ転送制御部6と、不揮発性半導体記憶素子の一つであるNAND−Flash7と、バッファ8とで構成される。このNAND−Flash7は、チップあるいは「素子」と総称するが、これは物理的にいくつかの半導体で構成され、あたかも一つのチップ(「素子」)として機能するようなものを含む。NAND−Flash7はA系とB系で2重化構成となっている。NAND−Flash7はバス0からバス2M−1の2M本のデータ転送経路であるバスで接続される。一つのバスには、N個のNAND−Flash7が接続される。不揮発性半導体記憶装置2には、A系とB系で合わせて、M×N×2個のNAND−Flash7がある。図のようにNAND−Flash7の座標はそれぞれチップ(0,0)〜チップ(2M−1,2N−1)のように表現する。バッファメモリ5のデータ転送速度は、ホストCPU1と不揮発性半導体装置2とを接続するホスト接続バスのデータ転送速度より十分はやい。また、ホスト接続バスのデータ転送速度は、NAND−Flash7単体のデータ転送速度より十分はやい。この構成で、ホストから要求されたデータ転送におけるボトルネックは、NAND−Flash7単体のデータ転送である。A系とB系により、データは2重化されており、A系とB系は同じデータを持つミラー構成である。これは、データ転送制御6がホストからのライトデータをA系とB系の両方にライトすることで行う。また、データが欠損した場合は、反対系のデータで補完する。
FIG. 1 is a diagram showing an example of the configuration of a nonvolatile semiconductor memory device according to an embodiment of the present invention. The nonvolatile
次に、NAND−Flash7のアクセスタイミング制約について説明する。図2は、本発明の実施形態に係わる不揮発性半導体素子のアクセスタイミング制約の例を示した図である。NAND−Flash7のアクセスには、データを書き込む際に行うページライトアクセスと、データを読み出す際に行うページリードアクセスと、データを消去する際に行うブロック消去アクセスの3つがある。ページライトアクセスでは、ライトデータの転送時間Tw20の間バスを占有しライトデータをNAND−Flash7に転送した後、NAND−Flash7をチップ単位で占有するプログラム時間Tp21経過後、ライトデータが実際にNAND−Flash7に書き込まれる。ページリードアクセスでは、リードデータの転送時間Tr22の間バスを占有しリードデータをNAND−Flash7から読み出す。ブロック消去アクセスでは、消去時間Te23の間NAND−Flash7をチップ単位で占有し、ブロック単位で消去する。
Next, the access timing constraint of NAND-
次に、データ領域とライトおよび消去の制約について説明する。図3は、本発明の実施形態に係わる不揮発性半導体素子のデータ領域とライトおよび消去の制約の例を示した図である。NAND−Flash7のデータ領域は複数のブロック70で構成される。一つのブロック70は複数のページ71で構成される。ページ71は、一つのブロック内でページの小さい順にしかライトを行うことができない。また、データの消去は一つのブロック毎にしか行うことができない。
Next, the data area and restrictions on writing and erasing will be described. FIG. 3 is a diagram showing an example of the data area and write / erase restrictions of the nonvolatile semiconductor device according to the embodiment of the present invention. The data area of the NAND-
次に、ホストCPUからのライトデータ転送要求に対する処理について説明する。図4は、図1をM=4,N=3にした場合の構成を示した図である。ホストCPUからライトコマンドとして、先頭論理アドレス(Logical Address:LA)=5,データサイズ=8ページを受け付けた場合を例に説明する。図中の太線がデータパスである。 Next, processing for a write data transfer request from the host CPU will be described. FIG. 4 is a diagram showing a configuration when M = 4 and N = 3 in FIG. An example will be described in which a head logical address (Logical Address: LA) = 5 and a data size = 8 pages are received as a write command from the host CPU. The bold line in the figure is the data path.
不揮発性半導体記憶装置2のデータ転送制御部6がライトコマンドを受け付けると、データ転送制御部6は、ライトデータをバッファメモリ5に転送する。
When the data
次に、データ転送制御部6はチップ選択処理4にライトを行うチップを問い合わせる。チップ選択処理4はチップを選択し、選択したチップの座標をデータ転送制御部6に応答する。図4は、データ転送制御部6がチップ選択処理4からA系チップとして(0,0)、B系チップとして(4,0)を応答された場合を示している。
Next, the data
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(x,y)とする。S2でバスを一巡したか判定する。xがM−1に一致していなければ、バスを一巡していないとみなしS3の処理を行う。xがM−1に一致していれば、バスを一巡したとみなしS6の処理を行う。S3ではバスを一巡していないとみなし、xをx+1に更新する。S4にて、A系チップとして(x,y)を選択、B系はA系のミラーであり、B系チップとして(x+M,y)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標を応答する。S6ではバスを一巡したとみなし、xを0に更新する。次にS7で全チップを一巡したか判定する。yがN−1に一致していなければ、全チップを一巡していないとみなしS8の処理を行う。yがN−1に一致していれば、全チップを一巡したとみなしS9の処理を行う。S8では全チップを一巡していないとみなし、yをy+1に更新する。その後、前述のS4,S5の処理を行う。S9では全チップを一巡したとみなし、yを0に更新する。その後、前述のS4,S5の処理を行う。
FIG. 13 shows an example of a flowchart of the
次に、データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。物理アドレスは、チップの座標とNAND−Flash7のブロック(番号)70とページ(番号)71であり、NAND−Flash7の物理的なデータ格納領域を指定するアドレスである。論理アドレス/物理アドレス変換処理3は、論理アドレスと物理アドレスの対応付けを管理する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3から応答された物理アドレスでNAND−Flashへのページライトアクセスを行う。図4は、コマンド要求の8ページのうち、先頭の論理アドレス(LA=5)のデータを(0,0),(4,0)にライトした処理を示している。
Next, the data
先頭論理アドレス+1の論理アドレス(LA=6)のライト処理を図5に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
FIG. 5 shows the write processing of the logical address (LA = 6) of the first
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(0,0)とする。S2でバスを一巡したか判定する。x=0はM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(0,0)を(1,0)に更新する。S4にて、A系チップとして(1,0)を選択、B系はA系のミラーであり、B系チップとして(1+4=5,0)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(1,0)とB系の(5,0)を応答する。
FIG. 13 shows an example of a flowchart of the
データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図5は、コマンド要求の8ページのうち、先頭論理アドレス+1の論理アドレス(LA=6)のデータを(1,0),(5,0)にライトした処理を示している。
The data
先頭論理アドレス+2の論理アドレス(LA=7)のライト処理を図6に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
FIG. 6 shows a write process for the logical address (LA = 7) of the first
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(1,0)とする。S2でバスを一巡したか判定する。x=1がM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(1,0)を(2,0)に更新する。S4にて、A系チップとして(2,0)を選択、B系はA系のミラーであり、B系チップとして(2+4=6,0)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(2,0)とB系の(6,0)を応答する。
FIG. 13 shows an example of a flowchart of the
データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図6は、コマンド要求の8ページのうち、先頭論理アドレス+2の論理アドレス(LA=7)のデータを(2,0),(6,0)にライトした処理を示している。
The data
先頭論理アドレス+3の論理アドレス(LA=8)のライト処理を図7に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
Write processing of the logical address (LA = 8) of the head logical address + 3 is shown in FIG. The data
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(2,0)とする。S2でバスを一巡したか判定する。x=2がM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(2,0)を(3,0)に更新する。S4にて、A系チップとして(3,0)を選択、B系はA系のミラーであり、B系チップとして(3+4=7,0)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(3,0)とB系の(7,0)を応答する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図7は、コマンド要求の8ページのうち、先頭論理アドレス+3の論理アドレス(LA=8)のデータを(3,0),(7,0)にライトした処理を示している。
FIG. 13 shows an example of a flowchart of the
先頭論理アドレス+4の論理アドレス(LA=9)のライト処理を図8に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
Write processing of the logical address (LA = 9) of the head logical address + 4 is shown in FIG. The data
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(3,0)とする。S2でバスを一巡したか判定する。x=3がM−1=3に一致しているので、バスを一巡したとみなしS6の処理を行う。S6ではバスを一巡したとみなし、(3,0)を(0,0)に更新する。次にS7で全チップを一巡したか判定する。y=0がN−1=2に一致しているので、全チップを一巡していないとみなしS8の処理を行う。S8では全チップを一巡していないとみなし、(0,0)を(0,1)に更新する。S4にて、A系チップとして(0,1)を選択、B系はA系のミラーであり、B系チップとして(0+4=4,1)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(0,1)とB系の(4,1)を応答する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図7は、コマンド要求の8ページのうち、先頭論理アドレス+4の論理アドレス(LA=9)のデータを(0,1),(4,1)にライトした処理を示している。
FIG. 13 shows an example of a flowchart of the
先頭論理アドレス+5の論理アドレス(LA=10)のライト処理を図9に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
FIG. 9 shows the write processing of the logical address (LA = 10) of the first
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(0,1)とする。S2でバスを一巡したか判定する。x=0がM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(0,1)を(1,1)に更新する。S4にて、A系チップとして(1,1)を選択、B系はA系のミラーであり、B系チップとして(1+4=5,1)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(1,1)とB系の(5,1)を応答する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図9は、コマンド要求の8ページのうち、先頭論理アドレス+5の論理アドレス(LA=10)のデータを(1,1),(5,1)にライトした処理を示している。
FIG. 13 shows an example of a flowchart of the
先頭論理アドレス+6の論理アドレス(LA=11)のライト処理を図10に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
FIG. 10 shows the write processing of the logical address (LA = 11) of the first
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(1,1)とする。S2でバスを一巡したか判定する。x=1がM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(1,1)を(2,1)に更新する。S4にて、A系チップとして(2,1)を選択、B系はA系のミラーであり、B系チップとして(2+4=6,1)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(2,1)とB系の(6,1)を応答する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図10は、コマンド要求の8ページのうち、先頭論理アドレス+6の論理アドレス(LA=11)のデータを(2,1),(6,1)にライトした処理を示している。
FIG. 13 shows an example of a flowchart of the
先頭論理アドレス+7の論理アドレス(LA=12)のライト処理を図11に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。
FIG. 11 shows a write process of the logical address (LA = 12) of the top
図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(2,1)とする。S2でバスを一巡したか判定する。x=2がM−1=3に一致していないので、バスを一巡していないとみなしS3の処理を行う。S3ではバスを一巡していないとみなし、(2,1)を(3,1)に更新する。S4にて、A系チップとして(3,1)を選択、B系はA系のミラーであり、B系チップとして(3+4=7,1)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(3,1)とB系の(7,1)を応答する。
FIG. 13 shows an example of a flowchart of the
データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図11は、コマンド要求の8ページのうち、先頭論理アドレス+7の論理アドレス(LA=12)のデータを(3,1),(7,1)にライトした処理を示している。この処理でコマンドで要求されたデータサイズ分の転送が完了する。
The data
次のライトコマンドの先頭論理アドレス(LA=LA+X)の処理を図12に示す。データ転送制御部6はホストCPU1からのライトデータをバッファメモリ5に格納しつつ、チップ選択処理4にライトを行うチップを問い合わせる。図13にチップ選択処理4のフローチャートの例を示す。S0でチップ選択を開始する。S1で前回選択したA系チップの座標を(3,1)とする。S2でバスを一巡したか判定する。x=3がM−1=3に一致しているので、バスを一巡したとみなしS6の処理を行う。S6ではバスを一巡したとみなし、(3,1)を(0,1)に更新する。次にS7で全チップを一巡したか判定する。y=1がN−1=2に一致しているので、全チップを一巡していないとみなしS8の処理を行う。S8では全チップを一巡していないとみなし、(0,1)を(0,2)に更新する。S4にて、A系チップとして(0,2)を選択、B系はA系のミラーであり、B系チップとして(0+4=4,2)を選択する。S5でチップ選択を終了し、データ転送制御部6に選択したチップの座標として、A系の(0,2)とB系の(4,2)を応答する。データ転送制御部6は、論理アドレス/物理アドレス変換処理3に選択したA系チップの座標と論理アドレスを出力し、論理アドレス/物理アドレス変換処理3から物理アドレスを応答される。図12は、次のコマンドの先頭論理アドレス(LA=LA+X)のデータを(0,2),(4,2)にライトした処理を示している。
FIG. 12 shows the processing of the start logical address (LA = LA + X) of the next write command. The data
このように、チップ選択処理4は、コマンドの範囲内か否かに係わらず、前回選択したチップの座標に従って、NAND−Flash7を選択する。コマンドの範囲内では論理アドレスは連続しており、連続した論理アドレスの順序と選択したNAND−Flash7の順序は一致する。
In this way, the
図14にチップ選択処理の模式図を示す。前回選択したNAND−Flash7のチップを太矢印の元、選択するNAND−Flash7のチップを太矢印の先で示している。A系とB系はミラーで、ライトでは常にA系チップの座標(x,y)に対しB系チップは(x+M,y)を選択する。つまり、(x,y)と(x+M,y)のデータは一致する。選択するチップは、論理アドレスに係わらず、ライトアクセス毎に更新し均等に一巡させる。
FIG. 14 shows a schematic diagram of the chip selection process. The previously selected NAND-
図15に、論理アドレス/物理アドレス変換処理が認識する論理アドレスと物理アドレスの対応付けを示す。これは、図4から図12までの論理アドレス(LA=5〜8,LA+X)のライトを行った後の状態を示している。論理アドレスに対し、物理アドレスとしてNAND−Flash7チップの座標Xと座標Yとブロック番号とページ番号が対応付けられている。論理アドレス/物理アドレス変換処理3は、ブロックとページの使用状況に応じて、データ転送制御6が出力する論理アドレスとチップ座標に対する、ブロック番号とページ番号を付与する。
FIG. 15 shows the correspondence between logical addresses and physical addresses recognized by the logical address / physical address conversion process. This shows a state after writing logical addresses (LA = 5 to 8, LA + X) from FIG. 4 to FIG. The logical address is associated with coordinates X, coordinates Y, block numbers, and page numbers of the NAND-Flash7 chip as physical addresses. The logical address / physical
引き続き、ホストCPUからのリードデータ転送要求に対する処理について説明する。図16にホストCPUからコマンドとして、先頭論理アドレス(LA=5),データサイズ=8ページを受け付けた場合の処理を示す。図中の太線がデータパスである。 Next, processing for a read data transfer request from the host CPU will be described. FIG. 16 shows processing when a head logical address (LA = 5) and data size = 8 pages are received as commands from the host CPU. The bold line in the figure is the data path.
不揮発性半導体記憶装置2のデータ転送制御部6がリードコマンドを受け付けると、データ転送制御部6は、論理アドレス/物理アドレス変換処理3に、論理アドレスに対応する物理アドレスを問い合わせる。
When the data
データ転送制御部6は、先頭論理アドレス=5の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(0,0),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、この物理アドレスで先頭論理アドレス=5のページリードを要求する。
The data
次に、データ転送制御部6は、先頭論理アドレス+1の論理アドレス=6の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(1,0),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、この物理アドレスで論理アドレス=6のページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+2の論理アドレス=7の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(2,0),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、この物理アドレスで論理アドレス=6のページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+3の論理アドレス=8の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(3,0),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、この物理アドレスで論理アドレス=6のページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+4の論理アドレス=9の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(0,1),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、既にチップ座標(0,0)へのページリードを要求しており、バス0が占有されていることを認識してB系の(4,1)に対しページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+5の論理アドレス=10の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(1,1),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、既にチップ座標(1,0)へのページリードを要求しており、バス1が占有されていることを認識してB系の(5,1)に対しページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+6の論理アドレス=11の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(2,1),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、既にチップ座標(1,0)へのページリードを要求しており、バス2が占有されていることを認識してB系の(6,1)に対しページリードを要求する。
Next, the data
次に、データ転送制御部6は、先頭論理アドレス+7の論理アドレス=12の物理アドレスを論理アドレス/物理アドレス変換処理3に問い合わせる。論理アドレス/物理アドレス変換処理3は、図15の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標(3,1),ブロック番号1,ページ番号1を応答する。データ転送制御部6は、既にチップ座標(3,0)へのページリードを要求しており、バス3が占有されていることを認識してB系の(7,1)に対しページリードを要求する。
Next, the data
このように、ライト時のチップ選択でNAND−Flash7を一巡させることにより、ホストからのライト要求の論理アドレスの範囲内では、2×Mページ分のページリードにおいてバスを待つ必要がなくなる。
Thus, by making a round of NAND-
図20にチップ選択処理のもう一つの形態を示す。図13ではS4の処理にてB系チップは(x+M,y)を選択するが、図20ではS40の処理にてB系チップを(2M−1−x,2N−1−y)を選択するようにしている。このように変更した場合のチップ選択処理の模式図を図21に示す。前回選択したNAND−Flash7のチップを太矢印の元、選択するNAND−Flash7のチップを太矢印の先で示している。A系とB系はミラーで、ライトでは常にA系チップの座標(x,y)に対しB系チップは(2M−1−x,2N−1−y)を選択する。このように一巡させた場合でも、データ転送制御部6がA系とB系の対応づけに従うことで、2×Mページ分のページリードにおいてバスを待つ必要がなくなる。図20のチップ選択処理のもう一つの形態が示すように、NとMの更新の条件を一致させておけば、A系とB系は物理的に完全なミラーである必要はない。
FIG. 20 shows another form of the chip selection process. In FIG. 13, the B system chip selects (x + M, y) in the process of S4, but in FIG. 20, the B system chip is selected (2M-1-x, 2N-1-y) in the process of S40. I am doing so. FIG. 21 shows a schematic diagram of the chip selection process in the case of such changes. The previously selected NAND-
図17に、データ転送制御部6がページリードを要求し読み出したデータをバッファメモリに格納しバッファメモリから読み出す処理を示す。データ転送制御部6は、NAND−Flash7にページリードを要求し読出したデータをバッファメモリ5に転送しつつ、バッファメモリ5からホスト接続バスを経由してホストCPU1に転送する。
FIG. 17 shows a process in which the data
図18にホストからのライトコマンドに対するNAND−Flash7へのライトアクセスのタイムチャートを示す。これは、M=4,N=3の構成で、チップ(0,0)から24ページ分のページライトを行った場合を示している。NAND−Flash7へのライトアクセスには、図2のページライトアクセスのタイミング制約がある。
FIG. 18 shows a time chart of write access to the NAND-
バッファメモリ5を経由するデータ転送遅延時間をTdとすると、バスを占有するライトデータ転送時間Tw20がTd×Mより小さければ、バスを一巡した際にバスを待たなくてよい。不揮発性半導体装置の構成として、MをTw÷Tdより大きくすることがライト性能確保の条件の一つである。
Assuming that the data transfer delay time passing through the
また、チップを占有するプログラム時間Tp21とTw20の和がTd×M×Nより小さければ、チップを一巡した際にチップを待たなくてよい。不揮発性半導体装置の構成として、M×Nを(Tp+Tw)÷Tdより大きくすることがライト性能確保の条件の一つである。 Further, if the sum of the program times Tp21 and Tw20 that occupy the chip is smaller than Td × M × N, it is not necessary to wait for the chip when it makes a round. As a configuration of the nonvolatile semiconductor device, one of the conditions for securing the write performance is to make M × N larger than (Tp + Tw) ÷ Td.
また、上記条件において、ホスト接続バスの転送速度より、ページデータサイズ÷Tdで示すデータ転送速度が大きければ、ブロック消去等の処理を除き、ボトルネックは不揮発性半導体装置ではなくなる。 Further, under the above conditions, if the data transfer rate indicated by page data size / Td is larger than the transfer rate of the host connection bus, the bottleneck is no longer a nonvolatile semiconductor device except for processing such as block erase.
図19にホストからのリードコマンドに対するNAND−Flash7へのリードアクセスのタイムチャートを示す。これは、M=4,N=3の構成で、チップ(0,0)から48ページ分のページライトを行った場合を示している。NAND−Flash7へのリードアクセスには、図2のページリードアクセスのタイミング制約がある。バッファメモリを経由するデータ転送遅延時間をTtとすると、ホストCPU1と不揮発性半導体装置2とを接続するホスト接続バスの転送速度より、2×M×ページデータサイズ÷(Tt+Tr)で示すデータ転送速度が大きければ、最初のリードデータ出力までの時間を除き、ボトルネックは不揮発性半導体装置ではなくなる。
FIG. 19 shows a time chart of read access to the NAND-
1 ホストCPU
2 不揮発性半導体記憶装置
3 論理アドレス/物理アドレス変換処理
4 チップ選択処理
5 バッファメモリ
6 データ転送制御部
7
20 Tw(ライトデータ転送時間)
21 Tp(プログラム時間)
22 Tr(リードデータ転送時間)
23 Te(消去時間)
70 ブロック
71 ページ
1 Host CPU
2 Nonvolatile
20 Tw (write data transfer time)
21 Tp (program time)
22 Tr (read data transfer time)
23 Te (erasing time)
70
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009296667A JP5350211B2 (en) | 2009-12-28 | 2009-12-28 | Storage device and storage device control method |
PCT/JP2010/073339 WO2011081089A1 (en) | 2009-12-28 | 2010-12-24 | Storage device, and method for controlling storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009296667A JP5350211B2 (en) | 2009-12-28 | 2009-12-28 | Storage device and storage device control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011138243A true JP2011138243A (en) | 2011-07-14 |
JP5350211B2 JP5350211B2 (en) | 2013-11-27 |
Family
ID=44226495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009296667A Active JP5350211B2 (en) | 2009-12-28 | 2009-12-28 | Storage device and storage device control method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5350211B2 (en) |
WO (1) | WO2011081089A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006004079A (en) * | 2004-06-16 | 2006-01-05 | Sony Corp | Storage device |
JP2006505864A (en) * | 2002-11-08 | 2006-02-16 | インテル コーポレイション | Interleaved mirror memory system |
-
2009
- 2009-12-28 JP JP2009296667A patent/JP5350211B2/en active Active
-
2010
- 2010-12-24 WO PCT/JP2010/073339 patent/WO2011081089A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006505864A (en) * | 2002-11-08 | 2006-02-16 | インテル コーポレイション | Interleaved mirror memory system |
JP2006004079A (en) * | 2004-06-16 | 2006-01-05 | Sony Corp | Storage device |
Also Published As
Publication number | Publication date |
---|---|
JP5350211B2 (en) | 2013-11-27 |
WO2011081089A1 (en) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3892851B2 (en) | Memory card and semiconductor device | |
JP4406339B2 (en) | Controller, memory card and control method thereof | |
JP4884382B2 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
JP3944496B2 (en) | Increased memory performance in flash memory devices by simultaneous write operations to multiple devices | |
US7698497B2 (en) | Method of controlling card-shaped memory device | |
JP4828816B2 (en) | Memory card, semiconductor device, and memory card control method | |
JP6406707B2 (en) | Semiconductor memory device | |
JP6021759B2 (en) | Memory system and information processing apparatus | |
JPWO2005083573A1 (en) | Semiconductor memory device | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
JP4460967B2 (en) | MEMORY CARD, NONVOLATILE SEMICONDUCTOR MEMORY, AND SEMICONDUCTOR MEMORY CONTROL METHOD | |
JP2010157129A (en) | Semiconductor memory device | |
JP2001266579A (en) | Non-volatile semiconductor memory device and semiconductor disk device | |
JP5350211B2 (en) | Storage device and storage device control method | |
JP2007233838A (en) | Control method for memory system | |
JP4710918B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
KR20180134119A (en) | Nonvolatile memory system and method of operating the same | |
JPH11232213A (en) | Data transfer system for input/output device | |
JP2007249662A (en) | Memory card and control method of memory card | |
JP4273106B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4636046B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP2009176359A (en) | Nonvolatile semiconductor storage device | |
JP2018063491A (en) | Control device, control method, and program | |
JP2015215774A (en) | Memory controller, memory system and memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121120 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130821 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5350211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |