JP4776742B1 - Semiconductor memory device and control method thereof - Google Patents
Semiconductor memory device and control method thereof Download PDFInfo
- Publication number
- JP4776742B1 JP4776742B1 JP2011108189A JP2011108189A JP4776742B1 JP 4776742 B1 JP4776742 B1 JP 4776742B1 JP 2011108189 A JP2011108189 A JP 2011108189A JP 2011108189 A JP2011108189 A JP 2011108189A JP 4776742 B1 JP4776742 B1 JP 4776742B1
- Authority
- JP
- Japan
- Prior art keywords
- command
- erase
- request
- address
- write
- 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
Images
Abstract
【課題】 複数CPU間での排他制御を考慮する必要がなく、簡単な制御で、他の動作の割り込み無く複数チャネルの不揮発性メモリの消去動作を実施すること。
【解決手段】 複数のCPUと複数チャネルの不揮発性メモリとを有する半導体記憶装置であって、複数チャネルの不揮発性メモリ毎の消去動作用のアドレスからなるアドレスリストをアドレスキュー(14)に設定する手段()と、いずれかのCPUから発生された単一の消去動作要求に応じて前記アドレスリストに記載の各アドレスについての一連の消去動作コマンドを連続して発生するコマンド制御部(18)と、前記一連の消去動作コマンドを各アドレスに対応したチャネルの不揮発性メモリに与える分配器(24)とを具備する。
【選択図】図1PROBLEM TO BE SOLVED: To perform an erasing operation of a non-volatile memory of a plurality of channels without interruption of other operations by simple control without considering exclusive control among a plurality of CPUs.
A semiconductor memory device having a plurality of CPUs and a plurality of channels of non-volatile memories, wherein an address list including addresses for erase operations for each of the plurality of channels of non-volatile memories is set in an address queue (14). Means (), and a command control unit (18) for continuously generating a series of erase operation commands for each address described in the address list in response to a single erase operation request generated from any of the CPUs. And a distributor (24) for supplying the series of erase operation commands to the nonvolatile memory of the channel corresponding to each address.
[Selection] Figure 1
Description
本発明はNAND型フラッシュメモリ等の不揮発性メモリを含む半導体記憶装置に関し、特に複数のCPUと複数チャネルの不揮発性メモリを有し、消去要求または書き込み要求を複数チャネルの不揮発性メモリに分配し、複数チャネルの消去動作または書き込み動作を並列に実行する半導体記憶装置及びその制御方法に関する。 The present invention relates to a semiconductor memory device including a non-volatile memory such as a NAND flash memory, and in particular, has a plurality of CPUs and a plurality of channels of non-volatile memory, and distributes an erase request or a write request to the plurality of channels of non-volatile memory. The present invention relates to a semiconductor memory device that executes a plurality of channels of erase operation or write operation in parallel and a control method thereof.
不揮発性記憶装置の一例として複数のメモリバンクで並列書き込み動作や並列消去動作が可能なマルチバンクを有する装置が特許文献1に開示されている。一般に不揮発性メモリ、例えばフラッシュメモリはデータの書き込みの際に上書きができないので、データの書き込み動作を実行する前に消去動作を実行する必要がある。
As an example of a non-volatile memory device,
この装置は、不揮発性メモリセルを備え夫々独立にメモリ動作可能な複数個のメモリバンクと、メモリバンクのメモリ動作を制御する制御部を有する。制御部は、一のメモリバンクを指定した動作指示に応答するメモリ動作中でも他のメモリバンクを指定した動作指示に応答してメモリ動作を開始させるインターリーブ動作と、一のメモリバンクを指定した動作指示に応答するメモリ動作の開始前に続けて他のメモリバンクを指定したメモリ動作の指示があるとき双方のメモリバンクのメモリ動作を並列に開始させる並列動作とを制御可能である。このため、複数のメモリバンクを有するマルチバンク形態のフラッシュメモリにおいて、複数のメモリバンクで並列に消去動作あるいは書き込み動作を行うことができ、消去動作または書き込み動作によるビジー状態の期間を短縮することができる。 This device includes a plurality of memory banks each including a nonvolatile memory cell and capable of independently operating a memory, and a control unit that controls the memory operation of the memory bank. The control unit performs an interleave operation for starting a memory operation in response to an operation instruction specifying another memory bank even during a memory operation responding to an operation instruction specifying one memory bank, and an operation instruction specifying one memory bank. It is possible to control a parallel operation in which the memory operations of both memory banks are started in parallel when there is an instruction for a memory operation in which another memory bank is designated before the start of the memory operation responding to. For this reason, in a multi-bank flash memory having a plurality of memory banks, an erasing operation or a writing operation can be performed in parallel in the plurality of memory banks, and a busy state period due to the erasing operation or the writing operation can be shortened. it can.
セクタ消去コマンドにおいて1個のメモリバンクに対するセクタ消去を指示するコマンドは、消去対象セクタアドレスSA1、SA2の後に、消去動作の開始を指示するコマンドコード“B0H”を付加すればよい。2個のメモリバンクに対して並列にセクタ消去を指示するには、第1のセクタアドレス情報SA1、SA2に続けて第2のセクタアドレス情報SA※1、SA※2を配置し、最後にコマンドコード“B0H”を付加すればよい。第2のセクタアドレス情報SA※1、SA※2が指定するメモリバンクは第1のセクタアドレス情報SA1、SA2が指定するメモリバンクとは相違することが必要である。 In the sector erase command, a command for instructing sector erase for one memory bank may be added with a command code “B0H” for instructing start of the erase operation after the sector addresses to be erased SA1 and SA2. In order to instruct sector erasure in parallel to two memory banks, second sector address information SA * 1 and SA * 2 are arranged after the first sector address information SA1 and SA2, and finally the command The code “B0H” may be added. The memory bank specified by the second sector address information SA * 1 and SA * 2 needs to be different from the memory bank specified by the first sector address information SA1 and SA2.
特許文献1の図8に示す2メモリバンク並列消去動作のタイミングチャートにおいては、コマンドコード“20H”に続けて、第1のセクタアドレス情報SA(1)、SA(2)と第2のセクタアドレス情報SA(3)、SA(4)とが入力され、最後にコマンドコード“B0H”が入力される。コマンドデコーダはコマンドコード“20H”の入力を検知した後、セクタアドレスSA(1)、SA(2)に含まれるメモリバンク指定情報Amで指定されるメモリバンクを認識し、そのメモリバンクにセクタアドレスSA(1)、SA(2)を供給する。次に、コマンドデコーダはその後のセクタアドレスSA(3)、SA(4)に含まれるメモリバンク指定情報Amで指定されるメモリバンクを認識し、そのメモリバンクにセクタアドレスSA(3)、SA(4)を供給する。双方のセクタアドレスで指定されるメモリバンクが相異する場合、コマンドコード“B0H”の入力を条件に、夫々のセクタアドレスで指定されるセクタの並列消去動作をCPUに実行させる。CPU21はROMが保有する消去動作プログラムを実行して消去動作を行う(オートイレーズ)。
In the timing chart of the two memory bank parallel erase operation shown in FIG. 8 of
このように特許文献1記載の装置は、複数のメモリバンクを有するマルチバンク形態のフラッシュメモリにおいて、複数のメモリバンクで並列に消去動作あるいは書き込み動作を行うことができる。
As described above, the apparatus disclosed in
特許文献1記載の装置は、消去要求、書き込み要求を発行するCPUは単一であることを前提としている。近年、メモリの集積度が増加し、容量が増大しているので、半導体記憶装置をサーバ用の記憶装置として応用する要望がある。サーバ用の記憶装置では、複数のCPUがマルチバンク形態の多数のフラッシュメモリに接続される。なお、複数のCPUが設けられるが、いずれか1つのCPUのみがメモリ管理を担当する。各バンク毎の消去動作を並列して実行するために、メモリ管理を担当するCPUが一連の消去コマンドを発生する。この一連の消去コマンドは消去動作を並列実行する効率を確保するためには、コマンドキューに連続して取り込まれることが好ましい。しかしながら、メモリ管理を担当するCPU以外のCPUから発行されたコマンドが割り込まれてコマンドキューに取り込まれることがある。
The apparatus described in
他のコマンドの割り込みがあった場合、消去動作を並列実行する効率を確保するためには、複数のCPU同士で排他制御を考慮してセマフォを調停したり、コマンドキューからコマンドを取り出す際に順番を変えて割り込みコマンドを追い越して消去コマンドを取り出したりする必要があり、制御が複雑になり、コストがかかるという問題がある。 If there is an interrupt from another command, in order to ensure the efficiency of executing the erase operation in parallel, multiple CPUs consider the exclusive control and arbitrate the semaphore or take out the command from the command queue. Therefore, it is necessary to overtake the interrupt command and take out the erase command, which causes a problem that the control becomes complicated and the cost is high.
本発明の目的は、消去要求を複数チャネルの不揮発性メモリに分配し、消去動作を並列実行する半導体記憶装置において、複数CPU間での排他制御を考慮する必要がなく、簡単な制御で、他の動作の割り込み無く複数チャネルの不揮発性メモリの消去動作を並列に実施することである。 It is an object of the present invention to distribute exclusive requests to a plurality of channels of non-volatile memories and execute an erase operation in parallel, so that exclusive control among a plurality of CPUs does not need to be taken into account, simple control, The erasure operation of the non-volatile memory of a plurality of channels is performed in parallel without interruption of the operation.
本発明の一態様は、第1のCPUと第2のCPUと複数チャネルの不揮発性メモリとを有する半導体記憶装置であって、前記第1のCPUから発行される前記不揮発性メモリへのコマンド発行要求を格納するコマンドキューと、複数チャネルの不揮発性メモリ毎の消去動作用のアドレスからなる消去用アドレスリストを生成する手段と、前記コマンドキューからコマンド発行要求を取り出す制御部であって、要求されるコマンドが書き込みコマンドの場合は書き込み要求を1つずつ取り出し、消去コマンドの場合は前記消去用アドレスリストに記載のアドレスのチャネル数だけ同じ消去要求を取り出す制御部と、前記制御部により取り出された消去要求に応じて前記消去用アドレスリストに記載の各アドレスについての一連の消去動作コマンドを連続して発生する手段と、前記一連の消去動作コマンドを各アドレスに対応したチャネルの不揮発性メモリに与える手段とを具備する。 One embodiment of the present invention is a semiconductor memory device including a first CPU, a second CPU, and a plurality of channels of a nonvolatile memory, and issuance of commands to the nonvolatile memory issued from the first CPU. A command queue for storing a request; a means for generating an address list for erasing comprising an address for erasing operation for each of a plurality of channels of nonvolatile memory; and a control unit for retrieving a command issuance request from the command queue. When the command to be written is a write command, the write request is fetched one by one, and when the command is an erase command, the control unit fetches the same erase request by the number of channels of the address described in the erase address list, and the control unit fetches A series of erase operation commands for each address described in the erase address list in response to an erase request It means for generating in succession, and means for providing said sequence of erase operation command to the nonvolatile memory of the channel corresponding to each address.
本発明の他の態様は、第1のCPUと第2のCPUと複数チャネルの不揮発性メモリとを有する半導体記憶装置の制御方法であって、前記第1のCPUから発行される前記不揮発性メモリへのコマンド発行要求をコマンドキューに格納することと、複数チャネルの不揮発性メモリ毎の消去動作用のアドレスからなる消去用アドレスリストを生成することと、前記コマンドキューからコマンド発行要求を取り出すことであって、要求されるコマンドが書き込みコマンドの場合は書き込み要求を1つずつ取り出し、消去コマンドの場合は前記消去用アドレスリストに記載のアドレスのチャネル数だけ同じ消去要求を取り出すことと、取り出された消去要求に応じて前記消去用アドレスリストに記載の各アドレスについての一連の消去動作コマンドを連続して発生することと、前記一連の消去動作コマンドを各アドレスに対応したチャネルの不揮発性メモリに与えることとを具備する。 Another aspect of the present invention is a method for controlling a semiconductor memory device having a first CPU, a second CPU, and a plurality of channels of non-volatile memory, wherein the non-volatile memory issued from the first CPU Command issuance requests to the command queue, an erasure address list consisting of addresses for erasing operations for each of the non-volatile memories of a plurality of channels is generated, and command issuance requests are extracted from the command queue. If the requested command is a write command, the write request is taken out one by one, and if it is an erase command, the same erase request is taken out by the number of channels of the address described in the address list for erasure. A series of erase operation commands for each address described in the erase address list in response to an erase request Comprising the fact that continuously generates, and providing said sequence of erase operation command to the nonvolatile memory of the channel corresponding to each address.
本発明の一態様によれば、1つのCPUからの単一の消去動作要求が発生されると、消去用アドレスリストに記載の複数のチャネルに対する複数の消去動作が、他の動作の割り込みがなく、連続して実施される。そのため、複数のCPU同士で排他制御を考慮してセマフォを調停したり、コマンドキューからコマンドを取り出す際に順番を変えて割り込みコマンドを追い越して消去コマンドを取り出したりする必要がなく、複数の消去動作を簡単な制御で低コストに実施できる。 According to one aspect of the present invention, when a single erase operation request is generated from one CPU, a plurality of erase operations for a plurality of channels described in the erase address list can be performed without interrupting other operations. , Carried out continuously. Therefore, there is no need to arbitrate semaphores with multiple CPUs in consideration of exclusive control, or to change the order when taking out commands from the command queue, and to take out erase commands by overtaking interrupt commands. Can be implemented at low cost with simple control.
以下、図面を参照して本発明の実施の形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は本発明による半導体記憶装置の一実施形態の構成をコマンド/データの流れとともに示すブロック図である。本実施形態は複数の不揮発性メモリ、例えば4つのNAND型フラッシュメモリ300、301、302、303を含む。NAND型フラッシュメモリ300、301、302、303は例えば半導体ドライブ(Solid State Drive: SSD)の記憶部のチャネル0、チャネル1、チャネル2、チャネル3を構成する。フラッシュメモリ(チャネル)の個数は実際にはもっと多数であるが、説明の便宜上、4つのみ示す。NAND型フラッシュメモリ300、301、302、303の各々は例えば2〜16個のメモリチップからなる。NAND型フラッシュメモリ300、301、302、303はメモリバス280、281、282、283を介してメモリコントローラ260、261、262、263に接続される。メモリコントローラ260、261、262、263はNAND型フラッシュメモリ300、301、302、303に接続され、アクセスを制御する。
FIG. 1 is a block diagram showing the configuration of an embodiment of a semiconductor memory device according to the present invention together with the flow of commands / data. The present embodiment includes a plurality of nonvolatile memories, for example, four
一方、ホストとして複数、ここでは説明の便宜上2つのCPU100、101が設けられている。CPU100、101は独自にフラッシュメモリ300、301、302、303への動作要求を発行するが、メモリ管理はいずれか1つのCPU、ここではCPU100が担当する。
On the other hand, a plurality of hosts, here two
CPU100、101は共通のCPUバス12に接続される。CPUバス12にはメインメモリ42、ROM44、アドレスリストキュー14、コマンドキュー16、コマンド制御部18、アドレス生成部22が接続される。メインメモリ42は例えばDRAMからなる。ROM44にはファームウェアを含む。ファームウェアはCPU100、101を使用し、メモリコントローラ260、261、262、263内部へのI/OコマンドアクセスによりNAND型フラッシュメモリ300、301、302、303のリード動作、ライト動作等を制御する。
The
コマンドキュー16はCPU100、101から発行されるコマンド発行要求をその発行順に取り込み、取り込んだ順に取り出すFIFO形式のレジスタである。アドレスリストキュー14はコマンドキュー16に取り込まれた要求毎にその要求の処理対象であるチャネル毎のフラッシュメモリのアドレスからなる消去用アドレスリストあるいは書き込み用アドレスリストを取り込むFIFO形式のレジスタである。アドレスリストはファームウェアにより作成される。アドレスリストキュー14はアドレスリスト毎に取り込まれるが、取り出しは個々のアドレス毎になり、その取り出しアドレスを制御するためにチャネルポインタ(chポインタ)20が設けられている。
The
コマンド制御部18はコマンドキュー16から要求を取り出し、その要求の動作を実行するためのコマンドを生成する。なお、コマンド制御部18はその要求が書き込み要求であるか消去要求であるかに応じて取り出し順序を切り替え、書き込み要求については1つずつ要求を取り出すが、消去要求についてはアドレスリストに記載のアドレスのチャネル分だけ同じ要求を繰り返し取り出す。
The
アドレス生成部22はコマンド制御部18で取り出した要求を実現するコマンドにアドレスリストキュー14から読み出したアドレスを追加して消去コマンド、書き込みコマンドを発行する。発行されたコマンドは分配器24を介して所定のチャネルのメモリコントローラ260、261、262、263に供給される。
The
次に実施形態の書き込み処理を説明する。図2はファームウェアの処理ステップの流れを示す。複数チャネル存在するメモリバスを並列に効率よく使用するために、ファームウェアは書き込みコマンド発行に先立って、チャネル毎のアドレスを指し示すアドレスリストを用意する。また、上述したように、フラッシュメモリにおいてはデータの書き込みの際に上書きができないので、データの書き込み動作を実行する前に書き込み対象となるアドレスと同一のアドレスに対して前もって消去動作を実行する必要がある。そのため、ファームウェアは書き込み要求を発行する前に、データを書き込むフラッシュメモリのチャネル毎のアドレスを指し示す書き込み用アドレスリストとデータを消去するフラッシュメモリのチャネル毎のアドレスを指し示す消去用アドレスリストからなるアドレスリスト4000を作成し、アドレスリストキュー14に投入する(ブロック#12)。なお、消去と書き込みは同じアドレスであるので、書き込み用アドレスリストだけを投入し、消去用アドレスリストは書き込み用アドレスリストで兼用してもよい。両方のアドレスリストをキュー14に投入する理由は、ファームウェアにおける書き込み要求とイレース要求の順序の要請によっては独立に持っていた方が好適な場合があるからである。
Next, the writing process of the embodiment will be described. FIG. 2 shows the flow of firmware processing steps. In order to efficiently use memory buses having a plurality of channels in parallel, the firmware prepares an address list indicating addresses for each channel prior to issuing a write command. In addition, as described above, since data cannot be overwritten when data is written in a flash memory, it is necessary to execute an erase operation in advance on the same address as the write target address before executing the data write operation. There is. Therefore, before issuing a write request, the firmware has an address list consisting of a write address list indicating the address for each channel of the flash memory to which data is written and an erase address list indicating the address for each channel of the flash memory from which the data is erased. 4000 is created and put into the address list queue 14 (block # 12). Since erasing and writing have the same address, only the writing address list may be input, and the erasing address list may be used as the writing address list. The reason why both address lists are put into the
ここでは、アドレスリスト4000はチャネル0用ライトアドレス400、チャネル1用ライトアドレス410、チャネル2用ライトアドレス420、チャネル3用ライトアドレス430と、チャネル0用イレースアドレス400、チャネル1用イレースアドレス410、チャネル2用イレースアドレス420、チャネル3用イレースアドレス430からなる。イレースアドレスはライトアドレスの末尾に配置される。
Here, the address list 4000 includes a channel 0 write address 400, a
次に、ブロック#14に示すようにメモリ管理を担当するCPU100から消去要求(イレースコマンド)800を発行させる。消去要求800は消去すべきアドレス(チャネル)が複数であっても、単一の要求でよい。この後、ブロック#16でCPU100、101からチャネル毎の書き込み要求(ライトコマンド)を適宜出力させる。この例では、CPU100からチャネル1、3の書き込み要求を出力させ、CPU101からチャネル0、2の書き込み要求を出力させる。
Then, to issue the erase request (erase command) 800 from
図3はコマンド制御部18の制御フローを示す図である。ブロック#22でコマンド制御部18は消去動作の継続中であるか否か判定する。消去動作中ではない場合は、ブロック#24でコマンドキュー16にコマンド発行要求が存在するか否か判定する。存在しない場合は、終了する。コマンドキュー16にコマンド発行要求が存在する場合は、ブロック#26でコマンドキュー16からコマンド発行要求を読み取る。ブロック#28で読み取った要求の種類(書き込みか消去か)を判定する。
FIG. 3 is a diagram showing a control flow of the
書き込み要求の場合はブロック#34でコマンドリストから書き込みコマンドを取り出し、ブロック#36へ移る。消去要求の場合はブロック#30でコマンドリストから消去コマンドを取り出し、ブロック#32で消去フラグをセットした後、ブロック#36へ移る。図1の例では、先ず消去要求800が取り出され、その後チャネル0、1、2、3に関する書き込み要求101、110、121、130が取り出される。コマンド制御部18は1つの消去要求800に対してチャネル毎の複数の消去コマンドをコマンドリストから取り出すが、書き込み要求に対しては要求毎に対応するチャネルの書き込みコマンドを取り出す。
In the case of a write request, a write command is extracted from the command list at
ブロック#36でアドレスリストキュー14からアドレスを取得し、ブロック#38でコマンドにアドレスを追加して、実際の動作命令(ライト動作、イレース動作)を発行する。アドレスリスト4000を走査するためのチャネルポインタ20は動作命令を発行する度にインクリメントされる。
An address is acquired from the
動作命令発行後にブロック#40でチャネルポインタ20がキュー16の末尾を示しているか否か判定する。末尾でない場合はそのままブロック#44へ移り、末尾である場合はブロック#42で消去フラグをクリアしてからブロック#44へ移る。ブロック#44ではチャネルポインタ20がインクリメントされる。
After the operation command is issued, it is determined whether or not the
このようにコマンドキュー16から受け取った要求の種類(書き込み要求、消去要求)によってアドレスリストキュー14を走査するチャネルポインタ20の加算と、コマンドキュー16からの引き抜き順序を切り替えることによって消去動作命令700、710、720、730が発行される。複数の消去動作命令700、710、720、730は単一の消去要求800から連続して生成されるため、1回の書き込み動作に関する複数のページの消去動作は他の動作(例えば、書き込み動作)が途中に割り込むことなく連続的に実行される。これにより、図2に示したように最小限(1回)の消去コマンド発行要求の出力により、アドレスリスト4000に含まれる各チャネルに対する消去動作700〜730を連続して実行することが可能となり、消去動作を並列実行する効率を向上することができる。
In this way, by adding the
本発明を使用しない場合、ファームウェアは図4に示すようにCPU100からチャネル毎の複数の消去要求800、801、802、803を発生させるため、その期間中に、CPU100以外のCPU101からの要求(図4における書き込み要求101)が発生する可能性がある。この場合、コマンドキュー16には消去要求800、810、820、書き込み要求101、消去要求830、書き込み要求110、…が格納され、一連の消去要求に他の要求が割り込む可能性がある。本発明ではCPU100からは単一の消去要求しか発生させないので、このように一連の消去要求に他の要求が割り込む可能性が無い。
If you do not use the present invention, the firmware to generate a plurality of erase request 800,801,802,803 for each channel from the
このように、本実施形態によれば、1つのCPUからの単一の消去動作要求が発生されると、消去用アドレスリストに記載の複数のチャネルに対する複数の消去動作が、他の動作の割り込みがなく、連続して実施される。そのため、複数のCPU同士で排他制御を考慮してセマフォを調停したり、コマンドキューからコマンドを取り出す際に順番を変えて割り込みコマンドを追い越して消去コマンドを取り出したりする必要がなく、複数の消去動作を簡単な制御で低コストに実施できる。 Thus, according to the present embodiment, when a single erase operation request is generated from one CPU, a plurality of erase operations for a plurality of channels described in the erase address list are interrupted by other operations. It is carried out continuously. Therefore, there is no need to arbitrate semaphores with multiple CPUs in consideration of exclusive control, or to change the order when taking out commands from the command queue, and to take out erase commands by overtaking interrupt commands. Can be implemented at low cost with simple control.
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。例えば、書き込み用アドレスリストと消去用アドレスリストとを独立してそれぞれアドレスリストキュー14に格納したが、両者は同じアドレスを指し示すので、書き込み用と消去用とで同じアドレスリストを共有してもよい。この場合は、アドレスリストキュー14には書き込み用アドレスリストのみを格納する。また、両者を格納する場合でも、ファームウェアが両リストを作成せずに、消去用アドレスリストを書き込み用アドレスリストのキューの末尾に自動的に追加してもよい。
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment. For example, the address list for writing and the address list for erasure are stored in the
10…CPU、12…CPUバス、14…アドレスリストキュー、16…コマンドキュー、18…コマンド制御部、20…チャネルポインタ、22…アドレス生成部、26…メモリコントローラ、42…メインメモリ、44…ROM。
DESCRIPTION OF
Claims (4)
前記第1のCPUから発行される前記不揮発性メモリへのコマンド発行要求を格納するコマンドキューと、
複数チャネルの不揮発性メモリ毎の消去動作用のアドレスからなる消去用アドレスリストを生成する手段と、
前記コマンドキューからコマンド発行要求を取り出す制御部であって、要求されるコマンドが書き込みコマンドの場合は書き込み要求を1つずつ取り出し、消去コマンドの場合は前記消去用アドレスリストに記載のアドレスのチャネル数だけ同じ消去要求を取り出す制御部と、
前記制御部により取り出された消去要求に応じて前記消去用アドレスリストに記載の各アドレスについての一連の消去動作コマンドを連続して発生する手段と、
前記一連の消去動作コマンドを各アドレスに対応したチャネルの不揮発性メモリに与える手段と、
を具備する半導体記憶装置。 A semiconductor memory device having a first CPU, a second CPU, and a non-volatile memory having a plurality of channels,
A command queue for storing a command issuance request to the nonvolatile memory issued from the first CPU;
Means for generating an address list for erasing comprising addresses for erasing operations for each of the plurality of non-volatile memories;
A control unit that extracts a command issuance request from the command queue. When the requested command is a write command, the write request is fetched one by one. Only the control unit to retrieve the same erase request,
Means for continuously generating a series of erase operation commands for each address described in the erase address list in response to an erase request taken out by the control unit;
Means for giving the series of erase operation commands to a nonvolatile memory of a channel corresponding to each address;
A semiconductor memory device comprising:
前記第1のCPUから発行される前記不揮発性メモリへのコマンド発行要求をコマンドキューに格納することと、
複数チャネルの不揮発性メモリ毎の消去動作用のアドレスからなる消去用アドレスリストを生成することと、
前記コマンドキューからコマンド発行要求を取り出すことであって、要求されるコマンドが書き込みコマンドの場合は書き込み要求を1つずつ取り出し、消去コマンドの場合は前記消去用アドレスリストに記載のアドレスのチャネル数だけ同じ消去要求を取り出すことと、
取り出された消去要求に応じて前記消去用アドレスリストに記載の各アドレスについての一連の消去動作コマンドを連続して発生することと、
前記一連の消去動作コマンドを各アドレスに対応したチャネルの不揮発性メモリに与えることと、
を具備する制御方法。 A method of controlling a semiconductor memory device having a first CPU, a second CPU, and a non-volatile memory having a plurality of channels,
Storing a command issuance request to the non-volatile memory issued from the first CPU in a command queue;
Generating an erasure address list composed of addresses for erasure operations for each of the non-volatile memories of a plurality of channels;
The command issue request is taken out from the command queue. When the requested command is a write command, the write request is taken out one by one. Retrieving the same erase request,
Continuously generating a series of erase operation commands for each address described in the address list for erasure in response to the fetched erase request;
Giving the series of erase operation commands to a nonvolatile memory of a channel corresponding to each address;
A control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011108189A JP4776742B1 (en) | 2011-05-13 | 2011-05-13 | Semiconductor memory device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011108189A JP4776742B1 (en) | 2011-05-13 | 2011-05-13 | Semiconductor memory device and control method thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010019546A Division JP4746699B1 (en) | 2010-01-29 | 2010-01-29 | Semiconductor memory device and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4776742B1 true JP4776742B1 (en) | 2011-09-21 |
JP2011187078A JP2011187078A (en) | 2011-09-22 |
Family
ID=44793193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011108189A Expired - Fee Related JP4776742B1 (en) | 2011-05-13 | 2011-05-13 | Semiconductor memory device and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4776742B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597455A (en) * | 2018-06-13 | 2019-12-20 | 三星电子株式会社 | Method for increasing flash memory endurance through improved metadata management |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160569A (en) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | Memory controller |
JP3440032B2 (en) * | 1999-07-15 | 2003-08-25 | パナソニック コミュニケーションズ株式会社 | Memory control device, facsimile device and image forming device |
JP2003036681A (en) * | 2001-07-23 | 2003-02-07 | Hitachi Ltd | Non-volatile memory device |
JP4713143B2 (en) * | 2004-12-15 | 2011-06-29 | 富士通セミコンダクター株式会社 | Semiconductor memory device |
-
2011
- 2011-05-13 JP JP2011108189A patent/JP4776742B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597455A (en) * | 2018-06-13 | 2019-12-20 | 三星电子株式会社 | Method for increasing flash memory endurance through improved metadata management |
CN110597455B (en) * | 2018-06-13 | 2024-01-16 | 三星电子株式会社 | Method for increasing flash endurance through improved metadata management |
Also Published As
Publication number | Publication date |
---|---|
JP2011187078A (en) | 2011-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4746699B1 (en) | Semiconductor memory device and control method thereof | |
JP7320902B2 (en) | Apparatus and method for simultaneously accessing different memory planes of memory | |
US20220075521A1 (en) | Semiconductor memory device including a control circuit and at least two memory cell arrays | |
JP2021168203A (en) | Apparatuses and methods for concurrently accessing multiple partitions of non-volatile memory | |
US10140024B2 (en) | Data storage device and data reading method thereof | |
JP5783809B2 (en) | Information processing apparatus, activation method, and program | |
JP5414656B2 (en) | Data storage device, memory control device, and memory control method | |
US20200110706A1 (en) | Pre-fetching in a memory system configured with synthesized logical blocks | |
US9304952B2 (en) | Memory control device, storage device, and memory control method | |
EP3977256A1 (en) | Predictive data transfer based on availability of media units in memory sub-systems | |
CN108139994B (en) | Memory access method and memory controller | |
JPWO2006051780A1 (en) | Nonvolatile memory device and method of accessing nonvolatile memory device | |
US20100169550A1 (en) | Semiconductor memory device, data transfer device, and method of controlling semiconductor memory device | |
JP2020047325A (en) | Semiconductor storage device | |
JP4776742B1 (en) | Semiconductor memory device and control method thereof | |
JP2013069047A (en) | Memory system | |
KR102391493B1 (en) | Controller couple to semiconductor memory device and operating method thereof | |
JP4929379B2 (en) | Semiconductor memory device and data write / read method | |
JP4382131B2 (en) | Semiconductor disk device | |
JPWO2007023544A1 (en) | Storage device, storage device control method, and storage control device control method | |
JP3793542B2 (en) | Semiconductor memory device | |
JP2010237770A (en) | Information processing apparatus, bridge device, and information processing method | |
JP2002278774A (en) | Method and device for generating instruction word in controlling function unit in processor | |
JP3793540B2 (en) | Semiconductor memory device | |
KR20210054399A (en) | Storage device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110628 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |