JP2014174849A - Semiconductor memory device - Google Patents
Semiconductor memory device Download PDFInfo
- Publication number
- JP2014174849A JP2014174849A JP2013048514A JP2013048514A JP2014174849A JP 2014174849 A JP2014174849 A JP 2014174849A JP 2013048514 A JP2013048514 A JP 2013048514A JP 2013048514 A JP2013048514 A JP 2013048514A JP 2014174849 A JP2014174849 A JP 2014174849A
- Authority
- JP
- Japan
- Prior art keywords
- command
- unit
- memory
- buffer
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Abstract
Description
本発明の実施形態は、半導体記憶装置に関する。 Embodiments described herein relate generally to a semiconductor memory device.
NAND型フラッシュメモリが知られている。このNAND型フラッシュメモリのデータ記憶容量を大きくするための技術として、メモリセルの閾値分布を細分化し、メモリセルが複数ビットデータ(多値データ)を記憶可能とする多値記憶方式が用いられる。 A NAND flash memory is known. As a technique for increasing the data storage capacity of the NAND flash memory, a multi-value storage method is used in which the threshold distribution of memory cells is subdivided and the memory cells can store a plurality of bit data (multi-value data).
本発明が解決しようとする課題は、データの読み出しの信頼性向上を図った不揮発性半導体記憶装置を提供する。 The problem to be solved by the present invention is to provide a nonvolatile semiconductor memory device that improves the reliability of data reading.
実施形態の半導体記憶装置は、データを記憶する不揮発性メモリと、前記不揮発性メモリにおけるコマンドによる動作の終了時間を求め、終了時間情報を出力する計測部と、アドレスを取得するアドレス取得部と、コマンドを記憶する第1のバッファと、前記アドレス取得部により取得されたアドレスを受け取り、前記計測部から出力された前記終了時間情報に応じてコマンドを発行するコマンド発行部と、前記コマンド発行部から発行された前記コマンドを記憶し処理するコマンド処理部と、前記コマンド処理部により処理された前記コマンドを前記不揮発性メモリへ出力すると共に、前記不揮発性メモリの動作を制御するメモリコントローラとを備える。 The semiconductor memory device according to the embodiment includes a nonvolatile memory that stores data, an end time of an operation based on a command in the nonvolatile memory, a measurement unit that outputs end time information, an address acquisition unit that acquires an address, A first buffer for storing a command, a command issuing unit for receiving an address acquired by the address acquiring unit, and issuing a command according to the end time information output from the measuring unit; and the command issuing unit A command processing unit that stores and processes the issued command; and a memory controller that outputs the command processed by the command processing unit to the nonvolatile memory and controls an operation of the nonvolatile memory.
以下、図面を参照して実施形態のメモリシステムについて説明する。ここでは、メモリシステムとして、SOlid State Drive(SSD)を例に挙げ説明するが、本実施形態の適用対象はSSDに限定されるものではない。なお、以下の説明において、同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。 Hereinafter, a memory system according to an embodiment will be described with reference to the drawings. Here, a solid state drive (SSD) will be described as an example of the memory system, but the application target of the present embodiment is not limited to the SSD. In the following description, components having the same function and configuration are denoted by the same reference numerals, and redundant description will be given only when necessary.
メモリシステムは、不揮発性メモリ、コマンド管理部、コマンド発行部、データ制御部、及びコマンド監視部を備える。前記不揮発性メモリはデータを記憶する。コマンド管理部はコマンドを受け取り管理する。前記コマンド発行部は、前記コマンド管理部が受け取った前記コマンドを前記不揮発性メモリに発行する。前記データ制御部は、前記不揮発性メモリに対してデータのリード及びライトのいずれかを行う。前記コマンド監視部は、前記コマンド管理部を監視し、前記コマンド管理部がコマンドを受け取ったとき、前記データ制御部に受信信号を出力する。前記データ制御部は、前記コマンド監視部から前記受信信号を受け取ったとき、データのリード及びライトのいずれかを中断させ、前記コマンド発行部から前記不揮発性メモリへ前記コマンドを発行させ、前記コマンドの発行後に、データのリード及びライトの前記いずれかを再開させる。 The memory system includes a nonvolatile memory, a command management unit, a command issuing unit, a data control unit, and a command monitoring unit. The nonvolatile memory stores data. The command management unit receives and manages commands. The command issuing unit issues the command received by the command management unit to the nonvolatile memory. The data control unit performs either reading or writing of data with respect to the nonvolatile memory. The command monitoring unit monitors the command management unit, and outputs a reception signal to the data control unit when the command management unit receives a command. The data control unit, when receiving the reception signal from the command monitoring unit, interrupts either reading or writing of data, causes the command issuing unit to issue the command to the nonvolatile memory, and After the issuance, either the data reading or writing is resumed.
[第1実施形態]
第1実施形態の半導体記憶装置30について説明する。半導体記憶装置30は例えば、a solid state drive(SSD)である。
[First Embodiment]
The
図1は、第1実施形態の半導体記憶装置の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the semiconductor memory device of the first embodiment.
a solid state drive(SSD)10は、ホスト装置(以下、ホストと記す)100、例えばパーソナルコンピュータ、サーバ等とAdvanced Technology Attachment(ATA)規格などの通信インタフェースで接続される。SSD10はホスト100の外部記憶装置として機能する。
The a solid state drive (SSD) 10 is connected to a host device (hereinafter referred to as a host) 100, for example, a personal computer, a server, or the like through a communication interface such as an Advanced Technology Attachment (ATA) standard. The
SSD10は、不揮発性半導体メモリ11、SSDコントローラ12、ホストインタフェース(I/F)13、及び揮発性半導体メモリ(例えば、DRAM)14などを備える。
The SSD 10 includes a
不揮発性半導体メモリ11は、ホスト100からリード/ライトされ、データを記憶する。不揮発性半導体メモリ11は、例えば、NAND型フラッシュメモリ(以下、NANDメモリと記す)、NOR型フラッシュメモリ、Magnetic Random Access Memory(MRAM)、Resistive Random access memory(ReRAM)などを含む。さらに、不揮発性半導体メモリ11は、例えば、単一あるいは複数の半導体チップを含む単一のパッケージであってもよいし、単一あるいは複数の半導体チップをそれぞれ含む複数のパッケージであってもよい。また、単一の半導体チップのフリップチップであってもよい。
The
本実施形態では、不揮発性半導体メモリ11は、複数のNANDメモリ11A,11B,11C,11Dを含み、各々が単一の半導体チップを含むパッケージであるとする。NANDメモリ11Aは、メモリ回路11A1とバッファ11A2を有する。同様に、NANDメモリ11Bはメモリ回路11B1とバッファ11B2を、NANDメモリ11Cはメモリ回路11C1とバッファ11C2を、NANDメモリ11Dはメモリ回路11D1とバッファ11D2をそれぞれ有する。前記メモリ回路は、データを記憶する複数の不揮発性のメモリセルを含む。前記バッファは、メモリ回路に入出力するためのデータを一時的に保持する。
In the present embodiment, the
SSDコントローラ12は、ホスト100からホストインタフェース13を介して入力される信号にしたがって、不揮発性半導体メモリ11、揮発性半導体メモリ14などのSSD全体の動作を制御する。SSDコントローラ12は、バス26によって接続された、CPU21、インタフェース(I/F)回路22、DRAMコントローラ23、データバッファ24、及びNANDコントローラ25を有する。
The
CPU21は、各種プログラム及び演算の処理を行うと共に、SSDコントローラ12内の動作を制御する。インタフェース回路22は、ホストインタフェース13とSSDコントローラ12との間の信号の授受を行う。DRAMコントローラ23は揮発性半導体メモリ(DRAM)14の動作を制御する。データバッファ24は、ホスト100や不揮発性半導体メモリ11に対する転送データを一時的に格納する際などに使用される。さらに、NANDコントローラ25は、不揮発性半導体メモリ11内のNANDメモリ11A,11B,11C,11Dの動作を制御する。
The
ホストインタフェース13は、SSD10とホスト100との間の信号の授受を行う。揮発性半導体メモリ14は、不揮発性半導体メモリ11の管理情報の保管やデータのキャッシュなど、転送データを一時的に格納する際などに使用される。揮発性半導体メモリ14は、例えば、DRAM、SRAMなどを含む。
The
ホスト100からホストインタフェース13へ送信されたデータは、CPU21の制御に従って、一旦データバッファ24に格納される。その後、データバッファ24から転送されて不揮発性半導体メモリ11内のNANDメモリに書き込まれる。一方、NANDメモリから読み出されたデータは、一旦データバッファ24に格納される。その後、データバッファ24からホストインタフェース13を介してホスト100へ送信される。
Data transmitted from the
図2は、第1実施形態のリードにおけるNANDコントローラ25と不揮発性半導体メモリ11の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of the
図示するように、NANDコントローラ25は、コマンドキュー部251(第1のバッファ)、コマンド引き抜き部252、コマンド発行部253、コマンド監視部254、データ制御部255、及びデコーダ256を有する。ホストインタフェース13は、コマンドキュー部251及びデータバッファ24に接続されている。さらに、コマンド発行部253及びデータ制御部255は、デコーダ256を介してNANDメモリ11A,11B,11C,11Dにそれぞれ接続されている。デコーダ256は、アドレスに基づいて不揮発性半導体メモリ11内のNANDメモリ11A,11B,11C,11Dのいずれかを選択する。
As illustrated, the
まず、ホスト100からホストインタフェース13を介してコマンドキュー部251にコマンドが入力される。コマンドキュー部251は、受け取ったコマンドを記憶し管理する。コマンド引き抜き部252は、コマンドキュー部251からコマンドを引き抜き、コマンド発行部253に転送する。コマンド発行部253は、コマンド引き抜き部252から受け取ったコマンドを、デコーダ256を介して不揮発性半導体メモリ11内のNANDメモリへ発行する。デコーダは、コマンド発行部253から発行されたコマンドを、アドレスに基づいて選択したNANDメモリへ出力する。なお、コマンドキュー部251とコマンド引き抜き部252はコマンド管理部を形成している。
First, a command is input from the
図3は、第1実施形態のリードにおける不揮発性半導体メモリの動作を示すタイムダイアグラムである。ここでは、リードにおけるNANDメモリ11A及びNANDメモリ11Bの動作制御を示す。
FIG. 3 is a time diagram showing the operation of the nonvolatile semiconductor memory in the read of the first embodiment. Here, operation control of the
コマンド引き抜き部252はコマンドキュー部251からコマンドを引き抜き、コマンド発行部253は、コマンド引き抜き部252から受け取ったコマンドを、デコーダ256を介してNANDメモリ11Aへ発行する。一方、データ制御部255は各NANDメモリのコマンド投入状況、ビジー状況を監視し、データの引き抜きが可能になったものを発見次第、データ引き抜き動作に移行する。
The
コマンド監視部254は、コマンドキュー部251への新たなコマンドの到着を監視し、コマンド引き抜き部252が引き抜いていない新たなコマンドを発見次第、コマンド引き抜き部252へ通知する。データ制御部255は、データ引き抜き中も含む期間中、一定間隔でコマンド監視部254の通知を確認し、新たなコマンドがあり、かつそのコマンドがNANDメモリへ投入可能であれば、データの引き抜きを中断し、コマンドを発行させる。
The
以下に、図3を参照して、NANDメモリ11A,11BへリードコマンドC0,C1をそれぞれ投入する場合を詳述する。
Hereinafter, the case where the read commands C0 and C1 are input to the
まず、コマンド発行部253は、デコーダ256を介してNANDメモリ11AにリードコマンドC0を発行する。期間C0にて、NANDメモリ11AはリードコマンドC0を受け取る。続いて、NANDメモリ11Aは、期間BUSY0にて、NANDメモリ11A内においてメモリ回路11A1からバッファ11A2にデータを取り出す。次に、期間OUT0にて、NANDメモリ11A内のバッファ11A2のデータがデータ制御部255によって引き抜かれる。
First, the
上記期間中、コマンド監視部254は、コマンドキュー部251への新たなコマンドの到着を監視し、リードコマンドC1の到着を発見すると、コマンド引き抜き部252及びデータ制御部255へ通知する。コマンド引き抜き部252は、コマンド監視部254の通知を受け取ると、コマンドキュー部251からリードコマンドC1を引き抜き、コマンド発行部253へ出力する。
During the period, the
データ制御部255は、コマンド監視部254の通知を確認し、新たなコマンドとしてリードコマンドC1があり、かつそのリードコマンドC1がNANDメモリ11Bへ投入可能であれば、期間OUT0におけるデータの引き抜きを中断する。コマンド発行部253は、データ制御部255によるデータの引き抜きが中断したことを確認すると、リードコマンドC1をNANDメモリ11Bへ発行する。その後、データ制御部255は、コマンド発行部253によるリードコマンドC1の発行が終了したことを確認し、NANDメモリ11A内のバッファ11A2からデータの引き抜きを再開する。
The data control
すなわち、NANDメモリ11Aでは、期間OUT0におけるデータの引き抜きが中断され、期間C1にて、NANDメモリ11BはリードコマンドC1を受け取る。リードコマンドC1の受け取りが終了すると、NANDメモリ11Aでは、期間OUT0におけるデータの引き抜きが再開される。NANDメモリ11Bは、リードコマンドC1を受け取った後、期間BUSY1にて、NANDメモリ11B内でメモリ回路11B1からバッファ11B2にデータを取り出す。
That is, in the
ここで、NANDメモリ11Aでの期間OUT0におけるデータの引き抜きと、NANDメモリ11Bでの期間BUSY1におけるデータの取り出しとが並行して実行される。これにより、リードコマンドC0とC1による、NANDメモリ11A,11BからNANDコントローラ25へのデータの引き抜きを短期間で行うことができる。すなわち、複数のNANDメモリからNANDコントローラへのデータの引き抜きに要する時間を短縮することができる。この結果、リードにおける複数のNANDメモリの使用効率を高めることが可能である。
Here, the extraction of data in the period OUT0 in the
なお、NANDメモリへのコマンドの投入は、NANDメモリ内のバッファからNANDコントローラへのデータ引き抜き時や、別のコマンドの投入時は不可となっている。すなわち、図3において、期間C0や期間OUT0では、NANDコントローラ25とNANDメモリ11A間の配線が使用されているため、NANDメモリ11Bへコマンドを投入することはできない。
Note that it is not possible to input a command to the NAND memory when extracting data from the buffer in the NAND memory to the NAND controller or when inputting another command. That is, in FIG. 3, in the period C0 and the period OUT0, since the wiring between the
次に、図3では別々のNANDメモリ11A,11BへリードコマンドC0,C1を投入する場合を説明したが、以下では1つのNANDメモリ11AへリードコマンドC0,C1を投入する例を説明する。
Next, although the case where the read commands C0 and C1 are input to the
図4は、第1実施形態における不揮発性半導体メモリの他の動作を示すタイムダイアグラムである。ここでは、リードにおけるNANDメモリ11Aの動作制御を示す。
FIG. 4 is a time diagram showing another operation of the nonvolatile semiconductor memory according to the first embodiment. Here, operation control of the
まず、コマンド発行部253は、デコーダ256を介してNANDメモリ11AにリードコマンドC0を発行する。期間C0にて、NANDメモリ11AはリードコマンドC0を受け取る。続いて、NANDメモリ11Aは、期間BUSY0にて、NANDメモリ11A内においてメモリ回路11A1からバッファ11A2にデータを取り出す。次に、期間OUT0にて、NANDメモリ11A内のバッファ11A2のデータがデータ制御部255によって引き抜かれる。
First, the
上記期間中、コマンド監視部254は、コマンドキュー部251への新たなコマンドの到着を監視し、リードコマンドC1の到着を発見すると、コマンド引き抜き部252及びデータ制御部255へ通知する。コマンド引き抜き部255は、コマンド監視部254の通知を受け取ると、コマンドキュー部251からリードコマンドC1を引き抜き、コマンド発行部253へ出力する。
During the period, the
データ制御部255は、コマンド監視部254の通知を確認し、新たなコマンドとしてリードコマンドC1があり、かつそのリードコマンドC1がNANDメモリ11Aへ投入可能であれば、期間OUT0におけるデータの引き抜きを中断する。コマンド発行部253は、データ制御部255によるデータの引き抜きが中断したことを確認すると、リードコマンドC1をNANDメモリ11Aへ発行する。その後、データ制御部255は、コマンド発行部253によるリードコマンドC1の発行が終了したことを確認し、NANDメモリ11A内のバッファ11A2からデータの引き抜きを再開する。
The data control
すなわち、NANDメモリ11Aでは、期間OUT0におけるデータの引き抜きが中断され、期間C1にて、NANDメモリ11AはリードコマンドC1を受け取る。リードコマンドC1の受け取りが終了すると、NANDメモリ11Aでは、期間OUT0におけるデータの引き抜きが再開される。NANDメモリ11Aは、リードコマンドC1を受け取った後、期間BUSY1にて、NANDメモリ11A内でメモリ回路11A1からバッファ11A2にデータを取り出す。
That is, in the
ここで、NANDメモリ11Aにおいて、期間OUT0におけるデータの引き抜きと、期間BUSY1におけるデータの取り出しとが並行して実行される。これにより、リードコマンドC0による、NANDメモリ11AからNANDコントローラ25へのデータの引き抜きと、リードコマンドC1による、NANDメモリ11A内でのメモリ回路11A1からバッファ11A2へのデータ取り出しとを短期間で行うことができる。すなわち、NANDメモリからNANDコントローラへのデータの引き抜きに要する時間を短縮することができる。この結果、リードにおけるNANDメモリの使用効率を高めることが可能である。
Here, in the
次に、図5を参照して、NANDメモリ11AへリードコマンドC0を投入し、NANDメモリ11BへイレーズコマンドC2を投入する例を説明する。
Next, an example in which a read command C0 is input to the
図5は、第1実施形態のリード及びイレーズにおける不揮発性半導体メモリの動作を示すタイムダイアグラムである。ここでは、リード及びイレーズにおけるNANDメモリ11A,11Bの動作制御を示す。
FIG. 5 is a time diagram showing the operation of the nonvolatile semiconductor memory in reading and erasing according to the first embodiment. Here, operation control of the
まず、コマンド発行部253は、デコーダ256を介してNANDメモリ11AにリードコマンドC0を発行する。期間C0にて、NANDメモリ11AはリードコマンドC0を受け取る。続いて、NANDメモリ11Aは、期間BUSY0にて、NANDメモリ11A内においてメモリ回路11A1からバッファ11A2にデータを取り出す。次に、期間OUT0にて、NANDメモリ11A内のバッファ11A2のデータがデータ制御部255によって引き抜かれる。
First, the
上記期間中、コマンド監視部254は、コマンドキュー部251への新たなコマンドの到着を監視し、イレーズコマンドC2の到着を発見すると、コマンド引き抜き部252及びデータ制御部255へ通知する。コマンド引き抜き部255は、コマンド監視部254の通知を受け取ると、コマンドキュー部251からイレーズコマンドC2を引き抜き、コマンド発行部253へ出力する。
During the period, the
データ制御部255は、コマンド監視部254の通知を確認し、新たなコマンドとしてイレーズコマンドC2があり、かつそのイレーズコマンドC2がNANDメモリ11Bへ投入可能であれば、期間OUT0におけるデータの引き抜きを中断する。コマンド発行部253は、データ制御部255によるデータの引き抜きが中断したことを確認すると、イレーズコマンドC2をNANDメモリ11Bへ発行する。その後、データ制御部255は、コマンド発行部253によるイレーズコマンドC2の発行が終了したことを確認し、NANDメモリ11A内のバッファ11A2からデータの引き抜きを再開する。
The data control
すなわち、NANDメモリ11Aでは、期間OUT0におけるデータの引き抜きが中断され、期間C2にて、NANDメモリ11BはイレーズコマンドC2を受け取る。イレーズコマンドC2の受け取りが終了すると、NANDメモリ11Aでは、期間OUT0にてデータの引き抜きが再開される。NANDメモリ11Bでは、イレーズコマンドC2を受け取った後、期間ERASE2にて、メモリ回路11B1内のブロックからデータが消去される。
That is, in the
ここで、NANDメモリ11Aでの期間OUT0におけるデータの引き抜きと、NANDメモリ11Bでの期間ERASE2におけるデータの消去とが並行して実行される。これにより、リードコマンドC0による、NANDメモリ11AからNANDコントローラ25へのデータの引き抜きと、イレーズコマンドC2による、NANDメモリ11B内でのデータの消去を短期間で行うことができる。すなわち、複数のNANDメモリに対するデータの引き抜きと消去に要する時間を短縮することができる。この結果、リード及びイレーズにおける、複数のNANDメモリの使用効率を高めることが可能である。
Here, the data extraction in the period OUT0 in the
次に、図6を参照して、NANDメモリ11AへライトコマンドC3を投入し、NANDメモリ11BへリードコマンドC4を投入する例を説明する。
Next, an example in which a write command C3 is input to the
図6は、第1実施形態のライト及びリードにおける不揮発性半導体メモリの動作を示すタイムダイアグラムである。ここでは、ライト及びリードにおけるNANDメモリ11A,11Bの動作制御を示す。
FIG. 6 is a time diagram illustrating the operation of the nonvolatile semiconductor memory in writing and reading according to the first embodiment. Here, operation control of the
まず、コマンド発行部253は、デコーダ256を介してNANDメモリ11AにライトコマンドC3を発行する。期間C3にて、NANDメモリ11AはライトコマンドC3を受け取る。続いて、NANDメモリ11Aは、期間IN3にて、データ制御部255からNANDメモリ11A内のバッファ11A2にデータを受け取る。次に、NANDメモリ11Aは、期間PROGRAM3にて、NANDメモリ11A内でバッファ11A2からメモリ回路11A1にデータを書き込む。
First, the
上記期間中、コマンド監視部254は、コマンドキュー部251への新たなコマンドの到着を監視し、リードコマンドC4の到着を発見すると、コマンド引き抜き部252及びデータ制御部255へ通知する。コマンド引き抜き部255は、コマンド監視部254の通知を受け取ると、コマンドキュー部251からリードコマンドC4を引き抜き、コマンド発行部253へ出力する。
During the above period, the
データ制御部255は、コマンド監視部254の通知を確認し、新たなコマンドとしてリードコマンドC4があり、かつそのリードコマンドC4がNANDメモリ11Bへ投入可能であれば、期間IN3におけるデータの転送を中断する。コマンド発行部253は、データ制御部255によるデータの転送が中断したことを確認すると、リードコマンドC4をNANDメモリ11Bへ発行する。その後、データ制御部255は、コマンド発行部253によるリードコマンドC4の発行が終了したことを確認し、NANDメモリ11A内のバッファ11A2へデータの転送を再開する。
The data control
すなわち、NANDメモリ11Aでは、期間IN3におけるデータの転送が中断され、期間C4にて、NANDメモリ11BはリードコマンドC4を受け取る。リードコマンドC4の受け取りが終了すると、NANDメモリ11Aでは、期間IN3におけるデータの転送が再開される。NANDメモリ11Bは、リードコマンドC4を受け取った後、期間BUSY4にて、NANDメモリ11B内でメモリ回路11B1からバッファ11B2にデータを取り出す。
That is, in the
ここで、NANDメモリ11Aでの期間IN3におけるデータの転送と、NANDメモリ11Bでの期間BUSY4におけるデータの取り出しとが並行して実行される。これにより、ライトコマンドC3による、NANDコントローラ25からNANDメモリ11Aへのデータ転送と、リードコマンドC4による、NANDメモリ11B内でのメモリ回路11B1からバッファ11B2へのデータ取り出しとを短期間で行うことができる。すなわち、複数のNANDメモリに対するデータのライトとリードに要する時間を短縮することができる。この結果、ライト及びリードにおける、複数のNANDメモリの使用効率を高めることが可能である。
Here, the data transfer in the period IN3 in the
また、図3,4では、NANDメモリ11A内のバッファのデータがデータ制御部255によって引き抜かれている期間に、コマンドC1がホスト100から入力された場合を説明したが、NANDメモリ11Aの動作中で、その動作を中断せずにコマンドを入力できる期間に、ホスト100がコマンドC1を入力するようにしてもよい。例えば、NANDメモリ11A内でメモリ回路11A1からバッファ11A2にデータを取り出している期間に、ホスト100がコマンドC1をコマンドキュー部251に投入するようにしてもよい。
3 and 4, the case where the command C1 is input from the
図7は、第1実施形態のリードにおける不揮発性半導体メモリの他の動作を示すタイムダイアグラムである。ここでは、リードにおけるNANDメモリ11A,11Bの動作制御を示す。
FIG. 7 is a time diagram showing another operation of the nonvolatile semiconductor memory in the read of the first embodiment. Here, operation control of the
まず、コマンド発行部253は、デコーダ256を介してNANDメモリ11AにリードコマンドC0を発行する。期間C0にて、NANDメモリ11AはリードコマンドC0を受け取る。続いて、NANDメモリ11Aは、期間BUSY0にて、NANDメモリ11A内においてメモリ回路11A1からバッファ11A2にデータを取り出す。次に、期間OUT0にて、NANDメモリ11A内のバッファ11A2のデータがデータ制御部255によって引き抜かれる。
First, the
上述したNANDメモリ11Aの動作期間中において、ホスト100は期間BUSY0中にリードコマンドC1を、ホストインタフェース13を介してコマンドキュー部251へ投入する。コマンド監視部252はコマンドキュー部251への新たなコマンドの到着を監視し、リードコマンドC1の到着を発見すると、コマンド引き抜き部252及びデータ制御部255へ通知する。コマンド引き抜き部252は、コマンド監視部254の通知を受け取ると、リードコマンドC1を引き抜き、コマンド発行部253へ出力する。
During the operation period of the
上述したように、期間BUSY0中に、ホスト100からリードコマンドC1がコマンドキュー部251へ入力されるため、コマンド発行部253は受け取ったリードコマンドC1をそのままNANDメモリ11Bへ発行する。その後、データ制御部255は、NANDメモリ11A内のバッファ11A2からデータの引き抜きを開始する。一方、NANDメモリ11Bは、リードコマンドC1を受け取った後、期間BUSY1にて、メモリ回路11B1からバッファ11B2にデータを取り出す。その後、データ制御部255は、NANDメモリ11B内のバッファ11B2からデータの引き抜きを開始する。
As described above, since the read command C1 is input from the
すなわち、NANDメモリ11Aは、コマンドC0を受け取った後、期間BUSY0にて、メモリ回路11A1からバッファ11A2にデータを取り出す。この期間BUSY0中に、NANDメモリ11Bは、ホスト100から入力されたコマンドC1を受け取る。このように、ホスト100が期間BUSY0中にコマンドC1を投入することにより、NANDメモリ11A,11Bにおいて、期間BUSY0の動作と期間BUSY1の動作とが並行して実行され、さらに、期間OUT0の動作と期間BUSY1の動作とが並行して実行される。
That is, after receiving the command C0, the
これにより、リードコマンドC0とC1による、NANDメモリ11A,11BからNANDコントローラ25へのデータの引き抜きを短期間で行うことができる。すなわち、複数のNANDメモリからNANDコントローラへのデータの引き抜きに要する時間を短縮することができる。この結果、リードにおける複数のNANDメモリの使用効率を高めることが可能である。
As a result, the data extraction from the
従来のNANDコントローラは、用意されたデータの引き抜き中に、新規コマンドが投入されたかのチェックを行わないため、新規コマンドが投入された場合、データ引き抜き後に新規コマンドを処理するようになっている。このため、本来、データの引き抜きと並行してNANDメモリに対して処理を進められるような場合も、並行処理が実現せず性能の低下を招いていた。 The conventional NAND controller does not check whether a new command has been input while extracting the prepared data. Therefore, when a new command is input, the new command is processed after the data is extracted. For this reason, originally, even in the case where the processing can be performed on the NAND memory in parallel with the extraction of data, the parallel processing is not realized and the performance is deteriorated.
例えば、2つのNANDチップ、chipAとchipBを用いて並行してリード処理を進める場合、chipAがBusy中にchipBのコマンドが投入可能な時期が訪れたとき、chipAとchipBのリード処理を並行して進めることができる。一方、chipAからデータ引き抜き中にchipBのコマンドが投入可能な時期が訪れたとき、データ引き抜き中はコマンドが投入できないため、コントローラはデータ引き抜きを待ってコマンド投入を行う必要がある。このため、chipBの使用効率がその分落ちてしまう。 For example, in the case where read processing is performed in parallel using two NAND chips, chipA and chipB, when it is time for chipB to input a command of chipB while BusA is busy, read processing of chipA and chipB is performed in parallel. Can proceed. On the other hand, when it is time to input a command of chipB while extracting data from chipA, the command cannot be input during data extraction. Therefore, the controller needs to input the command after waiting for data extraction. For this reason, the usage efficiency of chipB falls by that much.
上述した第1実施形態によれば、期間OUT0においてNANDメモリ11Aからのデータの引き抜きが中断され、NANDメモリ11BにリードコマンドC1が投入される。リードコマンドC1の投入が終了すると、期間OUT0におけるNANDメモリ11Aからのデータの引き抜きが再開される。NANDメモリ11Bは、リードコマンドC1を受け取った後、期間BUSY1にて、NANDメモリ11B内でメモリ回路からバッファにデータを取り出す。
According to the first embodiment described above, the extraction of data from the
ここで、NANDメモリ11Aでの期間OUT0におけるデータの引き抜きと、NANDメモリ11Bでの期間BUSY1におけるデータの取り出しとが並行して実行される。このため、リードコマンドC0とC1による、NANDメモリ11A,11BからNANDコントローラ25へのデータの引き抜きに要する時間を短縮することができる。
Here, the extraction of data in the period OUT0 in the
以上説明したように第1実施形態によれば、不揮発性メモリに対するリード、ライト、及びイレーズの動作性能を高めることができ、SSDの使用効率を向上させることができる。 As described above, according to the first embodiment, it is possible to improve the operation performance of reading, writing, and erasing with respect to the nonvolatile memory, and it is possible to improve the usage efficiency of the SSD.
[第2実施形態]
第2実施形態の半導体記憶装置30について説明する。半導体記憶装置30は例えばSSD30である。図8は、第2実施形態の半導体記憶装置の30構成を示すブロック図である。
[Second Embodiment]
A
図示するように、SSD30は不揮発性半導体メモリ11とSSDコントローラ32を備える。SSDコントローラ32は、リードコマンドアドレス取得部33、ライトコマンドアドレス取得部34、コマンド発行部35、リードコマンド処理部36、ライトコマンド処理部37、コマンドキュー部38、NANDコントローラ39、及びタイマー40(計測部)を備える。不揮発性半導体メモリ11は、例えば、複数のNAND型フラッシュメモリ(以下、NANDメモリと記す)11A,11B,11Cを含む。
As illustrated, the
リードコマンドアドレス取得部33は、ホストから入力された信号に基づいてアドレスを取得する。リードコマンドアドレス取得部33にてアドレスが取得されると、リードコマンドは、コマンド発行部35に入力され、さらにコマンド発行部35からリードコマンド処理部36へ発行される。
The read command
次に、リードコマンドはリードコマンド処理部36にて処理され、コマンドキュー部38に出力される。コマンドキュー部38は、受け取ったリードコマンドを記憶し管理する。さらに、リードコマンドは、コマンドキュー部38からNANDコントローラ39に出力される。
Next, the read command is processed by the read
同様に、ライトコマンドアドレス取得部34は、ホストから入力された信号に基づいてアドレスを取得する。ライトコマンドアドレス取得部34にてアドレスが取得されると、ライトコマンドは、コマンド発行部35に入力され、さらにコマンド発行部35からライトコマンド処理部37へ発行される。
Similarly, the write command
次に、ライトコマンドはライトコマンド処理部37にて処理され、コマンドキュー部38に出力される。コマンドキュー部38は、受け取ったライトコマンドを記憶し管理する。さらに、ライトコマンドは、コマンドキュー部38からNANDコントローラ39に出力される。
Next, the write command is processed by the write
NANDコントローラ39は、コマンドキュー部38から受け取ったコマンドをNANDメモリ11A,11B,11Cのいずれかに発行する。NANDコントローラ39は、また、発行情報として、発行したコマンドと発行先のNANDメモリ情報をタイマー(計測部)40に出力する。
The
タイマー40は、発行情報に基づいて、終了するコマンドとそのNANDメモリを含む先行終了時間情報をコマンド発行部35へ出力する。コマンド発行部35は、先行終了時間情報に従って、コマンドを発行し、コマンド処理部によるコマンド処理を進める。このように、コマンドの終了時間を求め、終了前に次のコマンドの処理を進めることにより、前記コマンドが終了したとき、直ぐに、NANDコントローラ39から次のコマンドがNANDメモリに投入できるようにする。
Based on the issue information, the
図9は、第2実施形態のSSDコントローラ32におけるコマンドの流れとバッファを示すブロック図である。
FIG. 9 is a block diagram illustrating a command flow and a buffer in the
リードコマンドアドレス取得部33にてアドレスが取得されると、リードコマンドR-Comがコマンド発行部35から発行され、リードコマンド処理部36のバッファ36Aに記憶される。リードコマンド処理部36は、リードコマンドを記憶するためのバッファ36Aを1段有している。
When the address is acquired by the read command
次に、リードコマンドR−Comは、バッファ36Aからコマンドキュー部38を介してNANDコントローラ39へ出力され、NANDコントローラ39のバッファ39Aに記憶される。その後、リードコマンドR−Comは、例えばNANDメモリ11Aへ投入される。
Next, the read command R-Com is output from the
同様に、ライトコマンドアドレス取得部34にてアドレスが取得されると、ライトコマンドW-Comがコマンド発行部35から出力され、ライトコマンド処理部37のバッファ37Aに記憶される。これと同時に、ホストからライトデータがライトコマンド処理部37に入力され、ライトコマンド処理部37のバッファ37Aに記憶される。ライトコマンド処理部37は、ライトコマンドR−Com及びライトデータを記憶するためのバッファ37Aを1段有している。
Similarly, when the address is acquired by the write command
次に、ライトコマンドR−Comは、バッファ37Aからコマンドキュー部38を介してNANDコントローラ39へ出力され、NANDコントローラ39のバッファ39Aに記憶される。その後、ライトコマンドR−Comは、例えばNANDメモリ11Aへ投入される。これと共に、ライトデータもNANDメモリ11Aへ出力される。
Next, the write command R-Com is output from the
ここで、アドレス取得部33,34におけるアドレス取得からNANDメモリ11Aへコマンドを発行できるようになるまで、リードコマンド処理とライトコマンド処理にそれぞれ時間t1、t2が掛かるものとする。すなわち、アドレス取得後からNANDメモリ11Aへリードコマンドを投入できるまでの準備時間をt1とし、アドレス取得後からNANDメモリ11Aへライトコマンドを投入できるまでの準備時間をt2とする。さらにここでは、t1<t2とする。
Here, it is assumed that time t1 and time t2 are required for the read command process and the write command process, respectively, from the address acquisition by the
次に、第2実施形態の半導体記憶装置30の動作について説明する。
Next, the operation of the
図10は、第2実施形態のSSDコントローラ32におけるタイマー40の構成を示すブロック図である。
FIG. 10 is a block diagram illustrating a configuration of the
図10に示すように、タイマー40は、対応テーブル401、コマンド毎の準備時間402、及びカウンタ403を備える。
As shown in FIG. 10, the
対応テーブル401は、コマンド(リード、ライト、イレーズ等)と処理時間との対応を示す。対応テーブル401内の処理時間は、リードコマンドでは時間X、ライトコマンドでは時間Y、イレーズでは時間Zである。対応テーブル401には、設定インタフェースにより、コマンド種別と処理時間が予め設定されている。 The correspondence table 401 shows correspondence between commands (read, write, erase, etc.) and processing time. The processing time in the correspondence table 401 is time X for a read command, time Y for a write command, and time Z for erase. In the correspondence table 401, a command type and a processing time are set in advance by a setting interface.
コマンド毎の準備時間402は、上述したように、リードコマンドでは時間t1、ライトコマンドでは時間t2であり、イレーズでは時間t3とする。
As described above, the
カウンタ403は、対応テーブル401と準備時間402から算出した待機時間をカウントして、先行終了情報として終了を迎えるコマンドとNANDメモリ情報(例えば、NANDメモリチップの番号等)を出力する。
The
図11は、第2実施形態のSSDコントローラ32におけるコマンド発行部35の構成を示すブロック図である。
FIG. 11 is a block diagram illustrating a configuration of the
図11に示すように、コマンド発行部35は、チップステータステーブル351、コマンド受信テーブル352、及びスケジューラ353を備える。
As shown in FIG. 11, the
チップステータステーブル351は、NANDメモリ11A,11B,11Cと状態との対応を示す。すなわち、NANDメモリ毎にコマンドが投入可能か投入不可かを示すものである。
The chip status table 351 shows the correspondence between the
コマンド受信テーブル352は、アドレス取得部33,34から出力されるコマンドとその対象のNANDメモリを示すものである。スケジューラ353は、チップステータステーブル351とコマンド受信テーブル352から実行可能なコマンドを求め、そのコマンドをコマンド処理部36,37へ発行する。
The command reception table 352 shows the commands output from the
第2実施形態の半導体記憶装置30の動作は以下のようになる。
The operation of the
まず、NANDコントローラ39は、コマンドキュー部38から受け取ったコマンドをNANDメモリ11Aに発行する。これと共に、NANDコントローラ39は、発行したコマンドと発行先のNANDメモリ情報を発行情報として、タイマー40に出力する。
First, the
タイマー40は、対応テーブル401とコマンド毎の準備時間402を参照して、前記先行情報から待機時間を算出し、カウンタ403を起動する。タイマー40にて算出される待機時間は、コマンドの前記処理時間から準備時間を減算することによって求められる。例えば、リードコマンドの場合、X−t1であり、ライトコマンドの場合、Y−t2、イレーズコマンドの場合、Z−t3である。カウンタ403は、待機時間を計時して待機時間が経過したら、終了を迎えるコマンドとNANDメモリ情報をコマンド発行部35へ出力する。
The
コマンド発行部35は、前記終了を迎えるコマンドとNANDメモリ情報に従って、チップステータステーブル351内の情報を更新する。スケジューラ353は、チップステータステーブル351とコマンド受信テーブル352を参照し、適切なコマンドとNANDメモリ、すなわち実行可能なコマンドとその対象のNANDメモリを選択する。さらに、スケジューラ353は、コマンド種別に応じて、選択したコマンドをリードコマンド処理部36あるいはライトコマンド処理部37へ発行する。
The
従来のSSDコントローラは、NANDメモリがいつ使用可能になるか、すなわち、NANDメモリにおけるコマンドがいつ終了するかが分からないため、動作速度を低下させないために、コマンドを記憶するための少なくとも2段のバッファを配置していた。初段のバッファで即座のコマンド要求に応じつつ、2段目のバッファを用いて次のコマンド要求に備えておく必要があった。第2実施形態の半導体記憶装置30では、不揮発性メモリにおけるコマンドの終了を推定し、コマンド発行部へ先行してコマンドの終了を通知することにより、2段必要だったコマンドバッファを1段に減らすことが可能となる。
The conventional SSD controller does not know when the NAND memory becomes usable, that is, when the command in the NAND memory is finished, so that it does not slow down the operation speed, so that at least two stages for storing the command. A buffer was placed. In response to an immediate command request in the first-stage buffer, it is necessary to prepare for the next command request using the second-stage buffer. In the
上述した第2実施形態では、NANDメモリにおけるコマンドの終了を算出し、事前にコマンド発行部にコマンドの終了を通達することができる。これにより、コマンド発行部がコマンド要求を受信してからコマンドの準備動作に入っても間に合うため、2段目のバッファにコマンドを記憶しておき、次の要求に備えておく必要がない。これにより、2段必要だったコマンドバッファとデータバッファ(ライトデータを記憶するバッファ)を1段に減らすことができる。また、設定インタフェースによって対応テーブル401を書き換えることにより、コマンド毎の処理時間を変更することもできる。 In the second embodiment described above, the end of the command in the NAND memory can be calculated, and the end of the command can be notified to the command issuing unit in advance. As a result, even if the command issuing unit receives the command request and enters the command preparation operation, it is not necessary to store the command in the second-stage buffer and prepare for the next request. As a result, the command buffer and data buffer (buffers for storing write data), which required two stages, can be reduced to one stage. In addition, the processing time for each command can be changed by rewriting the correspondence table 401 using the setting interface.
[第3実施形態]
第3実施形態の半導体記憶装置30について説明する。この第3実施形態では、コマンド毎の処理時間、及びNANDメモリの温度あるいは消費電力の情報に応じたオフセットに基づいて、待機時間を算出する例を述べる。
[Third Embodiment]
A
図12は、第3実施形態のSSDコントローラ32におけるタイマー40の構成を示すブロック図である。
FIG. 12 is a block diagram illustrating a configuration of the
図12に示すように、タイマー40は、対応テーブル404、コマンド毎の準備時間402、及びカウンタ403を備える。対応テーブル404は、コマンド(リード、ライト、イレーズ等)と処理時間、及びコマンドと温度情報あるいは消費電力情報に応じたオフセットとの対応を示す。対応テーブル404には、設定インタフェースにより、コマンド種別、処理時間、温度情報あるいは消費電力情報、及び待機時間オフセットが予め設定されている。
As shown in FIG. 12, the
温度情報あるいは消費電力情報に応じたオフセットは、NANDメモリの温度(例えば、25℃、50℃、85℃等)あるいは消費電力によって、コマンド毎に、例えば3つの条件I、J、Kが設定されている。さらに、コマンド毎の条件I、J、Kに、オフセットL、M、N、O、P、Q、R、S、Pがそれぞれ対応付けられている。オフセットは、コマンド発行間隔に加えられる時間であり、対応するコマンドを発行するとき、発行までの待機時間に加えられる。 For the offset corresponding to the temperature information or power consumption information, for example, three conditions I, J, and K are set for each command depending on the temperature of the NAND memory (for example, 25 ° C., 50 ° C., 85 ° C., etc.) or power consumption. ing. Further, offsets L, M, N, O, P, Q, R, S, and P are associated with the conditions I, J, and K for each command, respectively. The offset is the time added to the command issue interval, and is added to the waiting time until issue when issuing the corresponding command.
第3実施形態の半導体記憶装置30の動作は以下のようになる。
The operation of the
まず、NANDコントローラ39は、コマンドキュー部38から受け取ったコマンドをNANDメモリ11Aに発行する。これと共に、NANDコントローラ39は、発行情報として、発行したコマンドと発行先のNANDメモリ情報、及び温度情報または消費電力情報をタイマー40に出力する。
First, the
タイマー40は、対応テーブル404に記述されたコマンド毎の処理時間と、温度情報または消費電力情報のオフセットと、コマンド毎の準備時間402を参照して、前記先行情報から待機時間を算出する。詳述すると、タイマー40は、コマンドの処理時間と、温度情報または消費電力情報のオフセットとを加算し、この加算値からコマンドの準備時間を減算する。これにより、待機時間を算出する。さらに、算出した待機時間によりカウンタ403を起動する。カウンタ403は、待機時間を計時して待機時間が経過したら、終了を迎えるコマンドとNANDメモリ情報をコマンド発行部35へ出力する。
The
コマンド発行部35は、前記終了を迎えるコマンドとNANDメモリ情報に従って、チップステータステーブル351内の情報を更新する。スケジューラ353は、チップステータステーブル351とコマンド受信テーブル352を参照し、適切なコマンドとNANDメモリ、すなわち実行可能なコマンドとその対象のNANDメモリを選択する。さらに、スケジューラ353は、コマンド種別に応じて、選択したコマンドをリードコマンド処理部36あるいはライトコマンド処理部37へ発行する。
The
第3実施形態では、第2実施形態と同様に、NANDメモリにおけるコマンドの終了を算出し、事前にコマンド発行部にコマンドの終了を通達することができる。これにより、2段必要だったコマンドバッファとデータバッファ(ライトデータを記憶するバッファ)を1段に減らすことができる。 In the third embodiment, as in the second embodiment, the end of the command in the NAND memory can be calculated, and the end of the command can be notified to the command issuing unit in advance. As a result, the command buffer and data buffer (buffers for storing write data), which required two stages, can be reduced to one stage.
さらに、第3実施形態では、温度情報あるいは消費電力情報に応じて、コマンド発行時に待機すべき時間(オフセット)を変更することにより、NANDメモリの動作性能と温度あるいは消費電力とのバランスを取ることが可能となる。また、第3実施形態を用いれば、NANDメモリへ投入するコマンドの間隔を細やかに制御することが可能になるため、状況に応じた動作性能と、消費電力及び温度の制御も可能である。 Furthermore, in the third embodiment, the balance between the operation performance of the NAND memory and the temperature or power consumption is achieved by changing the time (offset) to be waited for when issuing the command according to the temperature information or power consumption information. Is possible. In addition, if the third embodiment is used, it is possible to finely control the interval between commands input to the NAND memory, so that it is possible to control the operation performance, power consumption and temperature according to the situation.
また、設定インタフェースによって対応テーブル404を書き換えることにより、外部環境や顧客要求に応じて動作性能と温度あるいは消費電力のどちらに重きを置くかの設定も可能である。 Also, by rewriting the correspondence table 404 using the setting interface, it is possible to set whether to place emphasis on the operating performance, temperature, or power consumption according to the external environment or customer request.
[第4実施形態]
図13は、第4実施形態の半導体記憶装置30を搭載したパーソナルコンピュータの一例を示す斜視図である。第4実施形態では、上述したSSDを用いた適用例について説明する。
[Fourth Embodiment]
FIG. 13 is a perspective view showing an example of a personal computer on which the
パーソナルコンピュータ200は、本体201、及び表示ユニット202を備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備える。
The
本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205の内部には、メイン回路基板、Optical Disk Device(ODD)ユニット、カードスロット、及びSSD10等が収容されている。
The
カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。
The card slot is provided adjacent to the peripheral wall of the
SSD10は、従来のa hard disk drive(HDD)の置き換えとして、パーソナルコンピュータ200内部に実装された状態として使用してもよいし、パーソナルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
The
図14は、第4実施形態の半導体記憶装置30を搭載したパーソナルコンピュータの構成例を示すブロック図である。
FIG. 14 is a block diagram illustrating a configuration example of a personal computer on which the
パーソナルコンピュータ200は、CPU301、ノースブリッジ302、主メモリ303、ビデオコントローラ304、オーディオコントローラ305、サウスブリッジ309、BIOS−ROM310、SSD10、ODDユニット311、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)312、及びネットワークコントローラ313等を備えている。
The
CPU301は、パーソナルコンピュータ200の動作を制御するために設けられたプロセッサであり、SSD10から主メモリ303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット311が、装填された光ディスクに対してリード処理及びライト処理の少なくとも1つの処理の実行を可能にした場合に、CPU301は、それらの処理を実行する。
The
また、CPU301は、BIOS−ROM310に格納された Basic Input Output System(BIOS)も実行する。なお、BIOSは、パーソナルコンピュータ200内のハードウェア制御のためのプログラムである。
The
ノースブリッジ302は、CPU301のローカルバスとサウスブリッジ309との間を接続するブリッジデバイスである。ノースブリッジ302には、主メモリ303をアクセス制御するメモリコントローラも内蔵されている。
The
また、ノースブリッジ302は、Accelerated Graphics Port(AGP)バス314等を介してビデオコントローラ304との通信、及びオーディオコントローラ305との通信を実行する機能も有している。
The
主メモリ303は、プログラムやデータを一時的に記憶し、CPU301のワークエリアとして機能する。主メモリ303は、例えばRAMから構成される。
The
ビデオコントローラ304は、パーソナルコンピュータ200のディスプレイモニタとして使用される表示ユニット202を制御するビデオ再生コントローラである。
The
オーディオコントローラ305は、パーソナルコンピュータ200のスピーカ306を制御するオーディオ再生コントローラである。
The
サウスブリッジ309は、Low Pin Count(LPC)バス上の各デバイス、及びPeripheral Component Interconnect(PCI)バス315上の各デバイスを制御する。また、サウスブリッジ309は、各種ソフトウェア及びデータを格納する記憶装置であるSSD10を、ATAインタフェースを介して制御する。
The
パーソナルコンピュータ200は、セクタ単位でSSD10へのアクセスを行う。ATAインタフェースを介して、ライトコマンド、リードコマンド、及びキャッシュフラッシュコマンド等がSSD10に入力される。
The
また、サウスブリッジ309は、BIOS−ROM310、及びODDユニット311をアクセス制御するための機能も有している。
The
EC/KBC312は、電力管理のためのエンベデッドコントローラと、キーボード(KB)206及びタッチパッド207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。
The EC /
このEC/KBC312は、ユーザによるパワーボタンの操作に応じてパーソナルコンピュータ200の電源をON/OFFする機能を有している。ネットワークコントローラ313は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
The EC /
図15は、第5実施形態の半導体記憶装置の構成を示すブロック図である。 FIG. 15 is a block diagram showing the configuration of the semiconductor memory device of the fifth embodiment.
本実施形態の半導体記憶装置は、データが格納される不揮発性メモリ409と、コマンド実行部402とコマンド出力部408を有するNANDコントローラ406とを備える。
The semiconductor memory device of this embodiment includes a nonvolatile memory 409 that stores data, and a NAND controller 406 that includes a
コマンド出力部408は、コマンドをコマンド実行部402に出力すると同時に、出力したコマンド毎の処理時間情報と、コマンド毎の準備時間情報を参照して、次にコマンドを出力するまでの待機時間を算出する。
The command output unit 408 outputs a command to the
ここで、リードコマンド処理とライトコマンド処理にそれぞれ時間t1、t2が掛かるものとする。すなわち、アドレス取得後から不揮発性メモリ409へリードコマンドを投入できるまでの準備時間をt1とし、アドレス取得後から不揮発性メモリ409へライトコマンドを投入できるまでの準備時間をt2とする。さらにここでは、t1<t2とする。 Here, it is assumed that time t1 and time t2 are required for the read command process and the write command process, respectively. That is, the preparation time from the acquisition of the address until the read command can be input to the nonvolatile memory 409 is t1, and the preparation time from the acquisition of the address until the write command can be input to the nonvolatile memory 409 is t2. Further, here, t1 <t2.
算出される待機時間は、コマンドの処理時間から準備時間を減算することによって求められる。例えば、リードコマンド、ライトコマンド、イレーズコマンドの準備時間をX、Y及びZとするとリードコマンドの場合、X−t1であり、ライトコマンドの場合、Y−t2、イレーズコマンドの場合、Z−t3である。 The calculated waiting time is obtained by subtracting the preparation time from the command processing time. For example, if the read command, write command, and erase command preparation times are X, Y, and Z, the read command is X-t1, the write command is Y-t2, and the erase command is Z-t3. is there.
算出した待機時間により、待機時間を計時して待機時間が経過したら、次のコマンドをコマンド実行部407に出力する。NANDコントローラ406はこの動作が繰り返し行う。 When the standby time is measured by the calculated standby time and the standby time has elapsed, the next command is output to the command execution unit 407. The NAND controller 406 repeats this operation.
以上説明したように本実施形態によれば、不揮発性メモリに対するリード、ライト、及びイレーズの動作性能を高めることができ、SSDの使用効率を向上させることができる。さらには、ユーザの利便性を高めることができるメモリシステムを提供することが可能である。なお、コマンド出力部408及びコマンド実行部407を備えているのは、NANDコントローラ406に限らない。 As described above, according to the present embodiment, it is possible to improve the performance of reading, writing, and erasing with respect to the nonvolatile memory, and it is possible to improve the usage efficiency of the SSD. Furthermore, it is possible to provide a memory system that can improve user convenience. The command output unit 408 and the command execution unit 407 are not limited to the NAND controller 406.
図12,13に示したパーソナルコンピュータにおいて、第1実施形態のSSDの動作が実行される適用例について説明する。ここでは、SSD10を省電力状態に遷移するデバイススリープについて述べる。
An application example in which the SSD operation of the first embodiment is executed in the personal computer shown in FIGS. Here, device sleep in which the
図16は、パーソナルコンピュータにおいてデバイススリープが実行されるSSDの構成を示すブロック図である。 FIG. 16 is a block diagram showing a configuration of an SSD in which device sleep is executed in a personal computer.
SSD10の電源端子15には、電源電圧VDDが供給されている。さらに、電源電圧VDDは、電源端子15から電源制御回路16と電源スイッチ回路17に供給されている。電源制御回路16は、CPU301から出力される信号に従って、電源スイッチ回路17の動作を制御する制御信号を電源スイッチ回路17へ出力する。電源スイッチ回路17は、前記制御信号によってオン状態あるいはオフ状態に切り換えられる。電源スイッチ回路17は、オン状態にあるとき、電源電圧VDDをSSDコントローラ12及び不揮発性半導体メモリ(例えば、NANDメモリ等)11に供給する。一方、オフ状態にあるとき、SSDコントローラ12及び不揮発性半導体メモリ11への電源電圧VDDの供給を停止する。
A power supply voltage VDD is supplied to the
以下に、デバイススリープが実行される動作の一例を述べる。 Hereinafter, an example of an operation in which device sleep is executed will be described.
パーソナルコンピュータ200内のCPU301から電源制御回路16に省電力状態への遷移要求が出される。省電力状態とは、SSD10内で電源電圧VDDの供給を制御する回路(例えば、電源制御回路16と電源スイッチ回路17)のみに電源電圧が供給され、SSD10内のその他の回路(例えば、SSDコントローラ12や不揮発性半導体メモリ11)には電源電圧が供給されていない状態を指す。
A request for transition to the power saving state is issued from the
省電力状態への遷移要求を受け取ると、電源制御回路16は、電源電圧VDDの供給遮断を指示する制御信号(オフ要求)を電源スイッチ回路17へ出力する。電源スイッチ回路17は、制御信号(オフ要求)を受け取るとオフ状態となり、SSDコントローラ12と不揮発性半導体メモリ11への電源電圧VDDの供給を遮断する。これにより、SSD10は省電力状態に遷移する。
When receiving the request for transition to the power saving state, the power
一方、SSD10を省電力状態から通常状態へ復帰させる場合、CPU301から電源制御回路16に、省電力状態から通常状態への復帰要求が出される。通常状態とは、SSD10内の電源電圧VDDの供給を制御する回路以外の回路(例えば、SSDコントローラ12と不揮発性半導体メモリ11)にも電源電圧が供給され、動作が通常に行われる状態を指す。
On the other hand, when the
通常状態への復帰要求を受け取ると、電源制御回路16は、電源電圧VDDの供給を指示する制御信号(オン要求)を電源スイッチ回路17へ出力する。電源スイッチ回路17は、制御信号(オン要求)を受け取るとオン状態となり、SSDコントローラ12と不揮発性半導体メモリ11への電源電圧VDDの供給を開始する。これにより、SSD10は通常状態に復帰する。
When receiving the request for returning to the normal state, the power
上述したSSD10の省電力状態と通常状態の遷移において、前記第1実施形態が適用されると以下のようになる。例えば、ユーザが図13に示したノート型パーソナルコンピュータ200を使用中に、表示ユニット202を一瞬閉じて、直ぐに開いたとき、上述したデバイススリープが一瞬起動し、直ぐに通常状態に復帰する場合がある。
In the transition between the power saving state and the normal state of the
図17は、リードにおいてデバイススリープが起動した場合の一例を示すタイムダイアグラムである。 FIG. 17 is a time diagram illustrating an example when device sleep is activated in a read.
図17に示すように、期間OUT0にて、不揮発性半導体メモリ11内のバッファに保持されたデータがSSDコントローラ12のデータ制御部によって引き抜かれているとき、デバイススリープが起動してデータの引き抜きが一旦停止する。その後、直ぐデバイススリープから通常状態に復帰する。通常状態への復帰により、バッファのデータの引き抜きが再開される(後部の期間OUT0)。
As shown in FIG. 17, when data held in the buffer in the
上述したように、不揮発性半導体メモリ11内のバッファのデータがSSDコントローラ12へ引き抜かれているときに、省電力状態、例えばデバイススリープに遷移して、直ぐに通常状態に復帰した場合、不揮発性半導体メモリ11内のバッファからのデータ引き抜きを一旦中断して、再開すれば、データ引き抜きを始めからやり直す場合に比べて、リードに要する時間を短縮することができる。これにより、不揮発性半導体メモリの使用効率を向上させることが可能である。
As described above, when the data in the buffer in the
図18は、第4実施形態のSSDを搭載したサーバの使用例を示す概念図である。 FIG. 18 is a conceptual diagram illustrating a usage example of a server equipped with the SSD of the fourth embodiment.
インターネット401にはサーバ400が接続されている。サーバ400には、SSD10が搭載されている。さらに、インターネット401には端末、例えばコンピュータ402が接続されている。ユーザは、コンピュータ402からインターネット401を介してサーバ400内のSSD10にアクセスする。SSD10の構成及び動作については前述した実施形態と同様である。
A
本発明のいくつかの実施例を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several examples of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
10…SSD
11…不揮発性半導体メモリ
12…SSDコントローラ
24…半導体記憶装置
25…NANDコントローラ
30…半導体記憶装置
34…アドレス取得部
39…NANDコントローラ
40…タイマー
100…ホスト
200…パーソナルコンピュータ
202…表示ユニット
204…タッチパッド
251…コマンドキュー部
253…コマンド発行部
254…コマンド監視部
255…コマンド発行部
256…デコーダ
301…CPU
353…スケジューラ
401…不揮発性メモリ
402…コマンド実行部
406…NANDコントローラ
10 ... SSD
DESCRIPTION OF
353 ...
Claims (10)
前記不揮発性メモリにおけるコマンドによる動作の終了時間を求め、終了時間情報を出力する計測部と、
アドレスを取得するアドレス取得部と、
コマンドを記憶する第1のバッファと、
前記アドレス取得部により取得されたアドレスを受け取り、前記計測部から出力された前記終了時間情報に応じてコマンドを発行するコマンド発行部と、
前記コマンド発行部から発行された前記コマンドを記憶し処理するコマンド処理部と、
前記コマンド処理部により処理された前記コマンドを前記不揮発性メモリへ出力すると共に、前記不揮発性メモリの動作を制御するメモリコントローラと、
を備え、
前記第1のバッファに第1のコマンドを記憶させ、前記第1のバッファに記憶された前記第1のコマンドを前記不揮発性メモリへ出力させた後、前記計測部から出力され、前記第1のコマンドの前記終了時間情報に応じて、前記第1のコマンドの次に実行するべき第2のコマンドを前記第1のバッファに記憶させる半導体記憶装置。 Non-volatile memory for storing data;
A measurement unit for obtaining an end time of an operation by a command in the nonvolatile memory and outputting end time information;
An address acquisition unit for acquiring an address;
A first buffer for storing commands;
A command issuing unit that receives an address acquired by the address acquisition unit and issues a command according to the end time information output from the measurement unit;
A command processing unit for storing and processing the command issued from the command issuing unit;
A memory controller that outputs the command processed by the command processing unit to the non-volatile memory and controls the operation of the non-volatile memory;
With
The first command is stored in the first buffer, and the first command stored in the first buffer is output to the nonvolatile memory, and then output from the measurement unit. A semiconductor memory device that stores, in the first buffer, a second command to be executed next to the first command in accordance with the end time information of the command.
前記不揮発性メモリにおけるコマンドによる動作の終了時間を求め、終了時間情報を出力する計測部と、
コマンドを記憶する第1のバッファと、
を備え、
前記第1のバッファに第1のコマンドを記憶させ、前記第1のバッファに記憶された前記第1のコマンドを前記不揮発性メモリへ出力させた後、前記計測部から出力され、前記第1のコマンドの前記終了時間情報に応じて、前記第1のコマンドの次に実行するべき第2のコマンドを前記第1のバッファに記憶させる半導体記憶装置。 Non-volatile memory for storing data;
A measurement unit for obtaining an end time of an operation by a command in the nonvolatile memory and outputting end time information;
A first buffer for storing commands;
With
The first command is stored in the first buffer, and the first command stored in the first buffer is output to the nonvolatile memory, and then output from the measurement unit. A semiconductor memory device that stores, in the first buffer, a second command to be executed next to the first command in accordance with the end time information of the command.
前記不揮発性メモリにおけるコマンドによる動作の終了時間を求め、終了時間情報を出力する計測部と、
コマンドを記憶する第1のバッファを含むコマンド処理部と、
前記不揮発性メモリの動作を制御するメモリコントローラと、
前記メモリコントローラはコマンドを記憶する第2のバッファと、
を備え、
前記第1のバッファに記憶された第1のコマンドを前記第2のバッファに記憶させ、前記第2のバッファに記憶された前記第1のコマンドを前記不揮発性メモリへ出力させた後、前記計測部から出力され、前記第1のコマンドの前記終了時間情報に応じて、前記第1のコマンドの次に実行するべき第2のコマンドを前記第1のバッファに記憶させる半導体記憶装置。 Non-volatile memory for storing data;
A measurement unit for obtaining an end time of an operation by a command in the nonvolatile memory and outputting end time information;
A command processing unit including a first buffer for storing commands;
A memory controller for controlling the operation of the nonvolatile memory;
The memory controller has a second buffer for storing commands;
With
The first command stored in the first buffer is stored in the second buffer, the first command stored in the second buffer is output to the nonvolatile memory, and then the measurement is performed. A semiconductor memory device that stores a second command to be executed next to the first command in the first buffer in accordance with the end time information of the first command output from the unit.
前記温度及び消費電力のいずれかの情報と、
コマンド発行時の待機時間のオフセットとの対応を示す対応情報と、
前記コマンド発行部から前記コマンドが発行されてから、前記コマンドが前記不揮発性メモリに出力されるまでの準備時間を示す準備時間情報と、
を有し、
前記終了情報は、前記処理時間と前記オフセットとを加算し、加算値から前記準備時間を減算して求められる請求項5に記載の半導体記憶装置。 The measuring unit includes the command and processing time information indicating a processing time from when the command is received until the operation according to the command is completed.
Any of the temperature and power consumption information;
Correspondence information indicating the correspondence with the offset of the waiting time when issuing the command,
Preparation time information indicating a preparation time from when the command is issued from the command issuing unit to when the command is output to the nonvolatile memory;
Have
6. The semiconductor memory device according to claim 5, wherein the end information is obtained by adding the processing time and the offset and subtracting the preparation time from the added value.
前記不揮発性メモリにアクセスし、コマンドを実行するコマンド実行部と、
前記コマンド実行部に第1コマンドを出力し、前記第1コマンドに対応したコマンド情報から得た前記第1コマンド実行に要する時間に基づき、第2コマンドを出力するコマンド出力部と、
を備える半導体記憶装置。 Non-volatile memory in which data is stored;
A command execution unit for accessing the nonvolatile memory and executing a command;
A command output unit that outputs a first command to the command execution unit and outputs a second command based on a time required to execute the first command obtained from command information corresponding to the first command;
A semiconductor memory device.
前記不揮発性メモリに出力されたコマンドによる動作の終了時間を求め、終了時間情報をコマンド発行部に出力する計測部と、
前記終了情報に基づいてコマンドを発行するコマンド発行部と、
当該受信した前記コマンドを前記不揮発性メモリに転送するメモリコントローラと、
を備える半導体記憶装置。 Non-volatile memory for storing data;
A measurement unit for obtaining an end time of the operation by the command output to the nonvolatile memory, and outputting end time information to the command issuing unit;
A command issuing unit for issuing a command based on the end information;
A memory controller for transferring the received command to the nonvolatile memory;
A semiconductor memory device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013048514A JP2014174849A (en) | 2013-03-11 | 2013-03-11 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013048514A JP2014174849A (en) | 2013-03-11 | 2013-03-11 | Semiconductor memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014174849A true JP2014174849A (en) | 2014-09-22 |
Family
ID=51695981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013048514A Abandoned JP2014174849A (en) | 2013-03-11 | 2013-03-11 | Semiconductor memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014174849A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016092676A1 (en) * | 2014-12-11 | 2016-06-16 | 株式会社日立製作所 | Storage device and control method therefor |
US10115458B2 (en) | 2016-03-30 | 2018-10-30 | Toshiba Memory Corporation | Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof |
CN112786098A (en) * | 2019-11-07 | 2021-05-11 | 爱思开海力士有限公司 | Memory controller, memory system having the same, and method of operating the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006163711A (en) * | 2004-12-06 | 2006-06-22 | Renesas Technology Corp | Information processing system |
WO2010029830A1 (en) * | 2008-09-12 | 2010-03-18 | 株式会社日立製作所 | Semiconductor device and information processing system |
JP2010176646A (en) * | 2009-02-02 | 2010-08-12 | Toshiba Information Systems (Japan) Corp | Memory system and interleaving control method for memory system |
JP2011065359A (en) * | 2009-09-16 | 2011-03-31 | Canon Inc | Memory system |
-
2013
- 2013-03-11 JP JP2013048514A patent/JP2014174849A/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006163711A (en) * | 2004-12-06 | 2006-06-22 | Renesas Technology Corp | Information processing system |
WO2010029830A1 (en) * | 2008-09-12 | 2010-03-18 | 株式会社日立製作所 | Semiconductor device and information processing system |
US20110145500A1 (en) * | 2008-09-12 | 2011-06-16 | Seiji Miura | Semiconductor device and data processing system |
JP2010176646A (en) * | 2009-02-02 | 2010-08-12 | Toshiba Information Systems (Japan) Corp | Memory system and interleaving control method for memory system |
JP2011065359A (en) * | 2009-09-16 | 2011-03-31 | Canon Inc | Memory system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016092676A1 (en) * | 2014-12-11 | 2016-06-16 | 株式会社日立製作所 | Storage device and control method therefor |
US10115458B2 (en) | 2016-03-30 | 2018-10-30 | Toshiba Memory Corporation | Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof |
CN112786098A (en) * | 2019-11-07 | 2021-05-11 | 爱思开海力士有限公司 | Memory controller, memory system having the same, and method of operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102500661B1 (en) | Cost-optimized single-level cell-mode non-volatile memory for multi-level cell-mode non-volatile memory | |
US9304691B2 (en) | Memory system and bank interleaving method | |
KR101719092B1 (en) | Hybrid memory device | |
KR101862112B1 (en) | Accelerating boot time zeroing of memory based on non-volatile memory (nvm) technology | |
US8677051B2 (en) | Memory system, control method thereof, and information processing apparatus | |
TWI483265B (en) | Hardware dynamic cache power management | |
JP2012529692A (en) | Pause memory operations to reduce read latency in memory arrays | |
CN107408018B (en) | Mechanism for adapting garbage collection resource allocation in solid state drives | |
TWI473099B (en) | Memory storage device, memory controller and controlling method | |
JP2014157603A (en) | System for channel control of non-volatile memory, and control method thereof | |
US9792989B2 (en) | Memory system including nonvolatile memory | |
TWI467513B (en) | Apparatus and method for memory-hierarchy aware producer-consumer instruction | |
KR20170076767A (en) | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture | |
KR20130107070A (en) | A solid state drive controller and a method controlling thereof | |
KR20170078757A (en) | Processor including multiple dissimilar processor cores | |
US11302405B2 (en) | System approach to reduce stable threshold voltage (Vt) read disturb degradation | |
US10467020B2 (en) | Memory device, and information-processing device | |
JP2014174849A (en) | Semiconductor memory device | |
JP2022529873A (en) | Multimode protection memory | |
JP5925549B2 (en) | Memory system and bank interleaving method | |
US20200242040A1 (en) | Apparatus and Method of Optimizing Memory Transactions to Persistent Memory Using an Architectural Data Mover | |
TWI714116B (en) | Memory controller, memory controlling method, and computer system | |
JP2016026345A (en) | Temporary stop of memory operation for shortening reading standby time in memory array | |
JP2009020776A (en) | Swap-out control apparatus | |
US9946656B2 (en) | Completion packet return based on eviction or flush |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20140812 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140902 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150205 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20150216 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160422 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20160511 |