JP2016026345A - Temporary stop of memory operation for shortening reading standby time in memory array - Google Patents

Temporary stop of memory operation for shortening reading standby time in memory array Download PDF

Info

Publication number
JP2016026345A
JP2016026345A JP2015173585A JP2015173585A JP2016026345A JP 2016026345 A JP2016026345 A JP 2016026345A JP 2015173585 A JP2015173585 A JP 2015173585A JP 2015173585 A JP2015173585 A JP 2015173585A JP 2016026345 A JP2016026345 A JP 2016026345A
Authority
JP
Japan
Prior art keywords
memory
command
state
host
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.)
Pending
Application number
JP2015173585A
Other languages
Japanese (ja)
Inventor
ファランガ,フランチェスコ
Francesco Falanga
ポリオ,アントニーノ
Pollio Antonino
マウロ,アントーニオ
Mauro Antonio
イアキューロ,マッシモ
Iaculo Massimo
カラッチョ,デニーロ
Caraccio Danilo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to JP2015173585A priority Critical patent/JP2016026345A/en
Publication of JP2016026345A publication Critical patent/JP2016026345A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method for shortening a reading standby time in a memory array.SOLUTION: A memory controller receives a writing multi-block command from a host, and shifts a transfer state 12 to a data reception state 16 in which corresponding data are received from a host, and receives a stop command from the host, and shifts the data reception state to a programming state 18 in which writing control to a memory is performed. The memory controller receives a suspend command from the host during the programming state, and stores the corresponding data, and interrupts the writing control to the memory, and shifts the programming state to the transfer state 12. The memory controller receives a resumption command from the host after interruption, and shifts the transfer state to the programming state 18 without passing through the data reception state, and resumes the writing control to the memory by using the stored write data.SELECTED DRAWING: Figure 1

Description

本発明は、メモリコントローラの制御方法及び装置に関する。   The present invention relates to a memory controller control method and apparatus.

現在、外部および内蔵フラッシュメモリ両方に用いられる最も一般的なインターフェースは、マルチメディアカード(MMC)および対応する埋め込み式のMMC(e−MMC)である。また、内部および外部フラッシュメモリが単一バスを共有するような、ユニバーサルフラッシュ記憶装置(UFS)などの新規の標準規格も開発されている。これらの標準規格は磁気、光学、および相変化を含む、他の種類のメモリにも適応するように意図されている。   Currently, the most common interfaces used for both external and internal flash memory are the multimedia card (MMC) and the corresponding embedded MMC (e-MMC). New standards have also been developed, such as Universal Flash Storage (UFS), where internal and external flash memory share a single bus. These standards are intended to accommodate other types of memory, including magnetic, optical, and phase change.

なお、従来技術として、特許文献1に記載されているようなNANDチップの制御方法が知られている。   As a conventional technique, a NAND chip control method as described in Patent Document 1 is known.

国際公開第2007/110716号International Publication No. 2007/110716

MMCまたはe−MMCインターフェースを簡素化するために、メモリカードコントローラは物理メモリインターフェース(例えば、NANDインターフェース)をMMCバスインターフェースに適応させ、さらには、物理メモリの技術に特有のタスクを管理する。NANDメモリにおけるこれらのタスクはデフラグ、不良ブロック管理、エラー修正および検出、摩耗を均一化するアルゴリズム、安全管理、および論理対物理ブロックの再配置を含み得る。これによりシステムの他の部分の複雑性が軽減されるが、これらの追加的なメモリコントローラタスクの全ては実行に時間を要し、この間メモリが一時的に利用できなくなる場合がある。   In order to simplify the MMC or e-MMC interface, the memory card controller adapts the physical memory interface (eg, NAND interface) to the MMC bus interface, and further manages tasks specific to physical memory technology. These tasks in NAND memory may include defragmentation, bad block management, error correction and detection, algorithms for uniform wear, safety management, and logical versus physical block relocation. This reduces the complexity of other parts of the system, but all of these additional memory controller tasks take time to execute, and memory may be temporarily unavailable during this time.

これにより、例えば、データデフラグまたはガーベジコレクションなどの最新のランニングデータの管理ルーチンに起因してホストコマンドの実行に、メモリカードコントローラが何百ミリ秒よりも長い時間を要する場合がある。この間、カードはビジー状態になり、先のホストコマンドが終了するまで他のホストコマンドを管理できない。この結果、読み出しコマンドへの応答が遅れる。この長くなった待ち時間によりホストの適切な動作が妨げられることがある。   This may cause the memory card controller to take longer than hundreds of milliseconds to execute a host command due to the latest running data management routine such as data defragmentation or garbage collection, for example. During this time, the card is busy and cannot manage other host commands until the previous host command is completed. As a result, the response to the read command is delayed. This increased waiting time may prevent proper host operation.

上記の課題を解決するために、本発明の装置は、コマンドを発行するホストと、メモリと、前記コマンドに応じて自身の状態を遷移させ、遷移された状態に応じて前記メモリを制御するメモリコントローラと、を備える装置であって、前記メモリコントローラは、前記ホストからの書き込み多重ブロックコマンドを受けて転送状態から対応するデータをホストから受信するデータ受信状態へ遷移し、続いて前記ホストからの停止コマンドを受けて前記メモリへの書き込み制御を行うプログラミング状態へ遷移され、且つ、前記プログラミング状態中に前記ホストからのサスペンドコマンドを受けて前記対応するデータを保存すると共に前記メモリへの書き込み制御を中断して前記転送状態へ遷移し、更に、該中断後に前記ホストからの再開コマンドを受けて前記データ受信状態を経ることなく前記プログラミング状態へ遷移して保存された前記書き込みデータを用いて前記メモリへの書き込み制御を再開することを特徴とする。   In order to solve the above problems, an apparatus according to the present invention includes a host that issues a command, a memory, and a memory that changes its own state according to the command and controls the memory according to the changed state. A memory controller that receives a write multiplex block command from the host and transitions from a transfer state to a data reception state in which the corresponding data is received from the host, and subsequently from the host. In response to a stop command, a transition is made to a programming state in which write control to the memory is performed, and during the programming state, a corresponding suspend command is received from the host to save the corresponding data and control to write to the memory. Interrupts and transitions to the transfer state, and then resumes from the host after the interruption. In response to command, characterized in that to resume control of writing to the memory with the write data stored in the transition to the programming state without going through the data reception state.

また、本発明のメモリコントローラの制御方法は、書き込み多重ブロックコマンドを発行して転送状態からデータ受信状態へ遷移させ、前記書き込み多重ブロックコマンドの後に停止コマンドを発行して前記データ受信状態からプログラミング状態へ遷移させ、前記プログラミング状態中にサスペンドコマンドを発行してプログラミングに用いられるデータを保存させると共に前記プログラミング状態から前記転送状態へ遷移させ、前記サスペンドコマンドの後に再開コマンドを発行して前記転送状態から前記データ受信状態を経ることなく前記プログラミング状態へ遷移させることを特徴とする。   Also, the memory controller control method of the present invention issues a write multiplex block command to transition from the transfer state to the data reception state, and issues a stop command after the write multiplex block command to change from the data reception state to the programming state. And transition to the transfer state from the programming state by issuing a suspend command during the programming state, and issue a resume command after the suspend command from the transfer state. A transition is made to the programming state without passing through the data reception state.

本発明に関する主題は、本明細書の結論部において特に示され、明確に主張される。だたし、本発明の対象、特徴および利点に加えて、その構成および操作方法の両方に関しては、添付図面と共に参照される以下の詳細な説明を読みことで最もよく理解され得る。   The subject matter relating to the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. However, in addition to the objects, features and advantages of the present invention, both its construction and method of operation may be best understood by reading the following detailed description, taken in conjunction with the accompanying drawings.

実施形態の態様を示すのに適したe−MMCフラッシュメモリカードコントローラの一部を示す状態図である。FIG. 3 is a state diagram illustrating a portion of an e-MMC flash memory card controller suitable for illustrating aspects of an embodiment. 実施形態に従う、メモリコントローラの一部を示す状態図である。FIG. 4 is a state diagram illustrating a portion of a memory controller, according to an embodiment. 実施形態に従う、書き込み操作のサスペンドおよび再開を示すタイミングチャートである。6 is a timing chart showing suspend and resume of a write operation according to an embodiment. 実施形態に従う、書き込み操作の中断を示すタイミングチャートである。6 is a timing chart showing interruption of a write operation according to the embodiment. 実施形態に従う、書き込み操作のサスペンドおよび再開を説明するプロセスフロー図である。FIG. 6 is a process flow diagram illustrating suspending and resuming a write operation according to an embodiment. 実施形態に従う、書き込み操作の中断を説明するプロセスフロー図である。FIG. 6 is a process flow diagram illustrating interruption of a write operation according to an embodiment. 他の図に関連する処理および装置を実現可能なホストインターフェースを有する管理メモリを示すブロック図である。It is a block diagram which shows the management memory which has a host interface which can implement | achieve the process and apparatus relevant to another figure. 他の図に関連する処理および装置を実現可能なモバイル機器を示すブロック図である。FIG. 10 is a block diagram illustrating a mobile device capable of implementing processes and devices related to other figures.

説明の簡潔さおよび明確さを目的として、図に示す構成要素が必ずしも原寸に比例している訳ではないことが理解される。例えば、一部の構成要素の寸法は、明確さを目的として他の構成要素に対して拡大され得る。さらに、適切に考慮されて、対応するまたは同等の構成要素を示すために複数の図において同じ参照番号が繰り返し用いられる。   It is understood that the components shown in the figures are not necessarily drawn to scale for the sake of brevity and clarity of explanation. For example, the dimensions of some components may be expanded relative to other components for purposes of clarity. Moreover, the same reference numerals are used repeatedly in the figures to indicate corresponding or equivalent components, when considered properly.

物流管理システムおよび多くの他の戦略的な需要、並びに業務上の用途のために、メモリ読み出し操作は十分に速く、そして同一データの書き込み後すぐに利用可能になることが好ましい。したがって、下記するように、ホストはメモリコントローラの状態にかかわらずに管理メモリにアクセス可能である。例えば、書き込み操作の進行中、ホストはその進行中の書き込み操作をサスペンドし得、そして読み出し操作を実行し、その後、サスペンドされた書き込みを再開できる。   For logistics management systems and many other strategic demands, as well as business applications, memory read operations are preferably fast enough and are available immediately after writing the same data. Therefore, as described below, the host can access the management memory regardless of the state of the memory controller. For example, while a write operation is in progress, the host can suspend the write operation that is in progress and can perform a read operation and then resume the suspended write.

例えば、ホストが管理メモリに保存されたファームウェア各々を有し、メモリコントローラがデータの保存に忙しいランタイムにその一部をロードする必要がある場合に、このようなサスペンド操作は有益となり得る。一実施例では、迅速な読み出し操作を実行するために、新規のコマンドシーケンスにより、ホストは長い書き込み操作をサスペンドかつ再開可能になる。   For example, such a suspend operation can be beneficial if the host has each firmware stored in management memory and the memory controller needs to load a portion of it at a runtime that is busy storing data. In one embodiment, a new command sequence allows the host to suspend and resume a long write operation to perform a quick read operation.

書き込み再開コマンドに続く書き込みサスペンドコマンドは、最悪の条件でさえも数ミリ秒の読み出しアクセスタイムをホストが確保するために用いられ得る。これによりホストは、例えば、書き込み操作を少しの間フリーズすることにより、戦略的な要求に応じてページを実行可能になる。任意の他の長期メモリ管理操作が、同じ方法でフリーズし得る。   The write suspend command following the write resume command can be used by the host to ensure a read access time of a few milliseconds even in the worst case. This allows the host to execute the page in response to a strategic request, for example, by freezing the write operation for a short time. Any other long-term memory management operation can freeze in the same way.

説明を簡単にするために、以下の説明はe−MMC4.4JEDEC(電子素子技術連合評議会)の(米国電子工業会により公表された)JESD84−A44標準仕様に関連して記述される。ただし、同じ概念は他のメモリ管理プロトコルおよびメモリインターフェースにも適用され得る。   For ease of explanation, the following description is described in the context of the JESD84-A44 standard specification (published by the American Electronics Industry Association) of e-MMC 4.4JEDEC (Council for Electronic Device Technology). However, the same concept can be applied to other memory management protocols and memory interfaces.

内蔵NANDフラッシュメモリまたは個々のリムーバブルカードにおけるNANDフラッシュメモリのどちらも、いかなるシステムに要求される標準的な読み出し速度を容易に達成し得る。ただし、メモリ管理および書き込みアルゴリズムにより、待ち時間はより長くなる。メモリ管理はe−MMC仕様により、メモリカードコントローラに与えられ、このため、いかなる特定の処理が実行されていたとしてもホストは認識しない。したがって、常に高速のメモリ性能を実現するために、メモリ管理タスクに適応するいくつかの方法が必要となる。   Either the built-in NAND flash memory or the NAND flash memory in an individual removable card can easily achieve the standard read speed required for any system. However, latency is longer due to memory management and write algorithms. Memory management is provided to the memory card controller according to the e-MMC specification, so that the host does not recognize whatever specific processing is being performed. Therefore, in order to always achieve high-speed memory performance, several methods that adapt to memory management tasks are required.

e−MMCが管理NANDフラッシュメモリカードである場合には、内部メモリカードコントローラが、内部NANDメモリ管理操作における全ての実行を管理する。これらのうちのデフラグおよびガーベジコレクションは予測できず、多大な時間を要する。これらのアルゴリズムは、通常、書き込み/消去コマンド中に実行され、それらの継続時間はNANDフラッシュブロックの占有状態、それ故、外部のホストアプリケーションがメモリシステムにどのようにアクセスするかに応じて決まる。他の種類の物理メモリでは、迅速な読み出しサイクルを妨げ得る他のメモリ管理操作が必要となる。   When the e-MMC is a management NAND flash memory card, the internal memory card controller manages all executions in the internal NAND memory management operation. Of these, defragmentation and garbage collection are unpredictable and time consuming. These algorithms are typically executed during a write / erase command, and their duration depends on the occupancy of the NAND flash block and hence how an external host application accesses the memory system. Other types of physical memory require other memory management operations that can hinder rapid read cycles.

任意の管理アルゴリズムの実行により、予測できない手法により書き込みコマンドの実行時間が長くなる場合がある。この結果、その後の優先度の高い読み出し操作が、仕様により許容される時間よりも長い時間遅れることがある。これはとりわけ、ホストの操作を中断させることがある。   Execution of an arbitrary management algorithm may increase the execution time of a write command due to an unpredictable technique. As a result, subsequent high-priority read operations may be delayed for a longer time than allowed by the specifications. This can inter alia interrupt the operation of the host.

本明細書の説明は、e−MMCインターフェースを介してコンピュータ、スマートフォン、メディアプレーヤ、または類似の装置などのホストに連結されるフラッシュメモリカードに関連して記述される。ただし、本発明はこれらに限定されない。メモリの多くの種類はバックグラウンド管理タスクを必要とする。これらのタスクがフラッシュメモリに要求されるものと類似しても、または大きく異なっていても、本発明はこれらのタスクの待ち時間を短縮し得る。本発明は、特有のメモリハードウェア構成に限定されない。メモリは区別可能なカード、区別可能なチップに組み込まれてもよく、または一部の他のデバイスに内蔵されてもよい。メモリがメモリカードとしてパッケージされる場合には、メモリ管理操作はメモリカードコントローラにより実行され得る。ただし、メモリ管理に関与するコントローラは、他の種類のメモリにおいて相違する名前を有し得る。したがって、本発明はメモリとホストとの間に連結されたメモリコントローラと共に、メモリまたは管理メモリに関連して記載される。   The description herein is described in the context of a flash memory card that is coupled to a host, such as a computer, smart phone, media player, or similar device via an e-MMC interface. However, the present invention is not limited to these. Many types of memory require background management tasks. Whether these tasks are similar to or significantly different from those required for flash memory, the present invention can reduce the latency of these tasks. The present invention is not limited to a specific memory hardware configuration. The memory may be built into a distinguishable card, a distinguishable chip, or built into some other device. If the memory is packaged as a memory card, memory management operations can be performed by the memory card controller. However, controllers involved in memory management may have different names in other types of memory. Accordingly, the present invention is described in the context of a memory or management memory, with a memory controller coupled between the memory and the host.

本発明の実施形態は、簡単な例示を示すことにより、より容易に理解され得る。この例では、ホストシステムはメモリコントローラへの書き込み多重ブロックコマンドを処理する。例示の管理メモリはメモリセルアレイを有し、複数のブロックに分類される。メモリコントローラは連結された管理メモリアレイの中央に位置し、データデフラグ操作をし、さらには実際にはメモリの一部でもよい。従来のフラッシュメモリカードでは、メモリカードコントローラはバッファ内のデータを受信し、その後デフラグ操作に戻る。この操作の次は、新規データの書き込みに続く。これらの操作が終了するまで、ホストはいかなる追加のデータも送信せず、またはいかなるデータも読み出さない。さらに、送信されただけのデータは、デフラグ処理が完了するまでは読み出されない。この例としてはデフラグが利用される。メモリを一時的に利用できなくし得るメモリコントローラにより実行されるいくつかの他の処理がある。   Embodiments of the present invention can be more easily understood by providing a simple illustration. In this example, the host system processes a write multiple block command to the memory controller. The exemplary management memory has a memory cell array and is classified into a plurality of blocks. The memory controller is located at the center of the linked management memory array, performs data defragmentation, and may actually be part of the memory. In a conventional flash memory card, the memory card controller receives the data in the buffer and then returns to the defragmentation operation. This operation is followed by writing new data. Until these operations are complete, the host does not send any additional data or read any data. Furthermore, the data just transmitted is not read until the defragmentation process is completed. As an example of this, defragmentation is used. There are several other processes performed by the memory controller that can temporarily make the memory unavailable.

標準仕様のe−MMCについての従来の状態図を参照して、この例はより完全に理解され得る。この状態図は図1として示される。本明細書に記載する操作に関連しない詳細の一部は、標準図から除去される。   This example can be more fully understood with reference to a conventional state diagram for standard e-MMC. This state diagram is shown as FIG. Some details not related to the operations described herein are removed from the standard drawing.

図1に示すように、メモリコントローラの状態はいくつかある。これらは待機状態(stby)10、転送状態(tran)12、データ送信状態(data)14、データ受信状態(rcv)16、プログラミング状態(prg)18、および非接続状態(dis)20を含む。他の状態も規定され得るが、図の簡素化のためにここには示さない。フラッシュメモリにおける、不揮発性記憶装置へのメモリセルの書き込みはプログラミングと呼ばれる。他の種類のメモリにおける、書き込みまたは記憶などのプログラミング状態は異なる名称でもよい。ここに示す特定の状態はe−MMC標準からそのまま参照したものであり、NANDフラッシュに特によく適応するものである。ただし、本発明は他の種類のメモリおよび他の種類の状態機械にも適応し得る。   As shown in FIG. 1, there are several states of the memory controller. These include a standby state (stby) 10, a transfer state (tran) 12, a data transmission state (data) 14, a data reception state (rcv) 16, a programming state (prg) 18, and a disconnected state (dis) 20. Other states may also be defined, but are not shown here for the sake of simplicity. Writing a memory cell to a nonvolatile memory device in flash memory is called programming. In other types of memory, programming states such as write or store may have different names. The specific states shown here are directly referenced from the e-MMC standard and are particularly well adapted to NAND flash. However, the present invention can be applied to other types of memory and other types of state machines.

コントローラはコマンドの受信または生成に基づいて、または多くは無いが「操作完了」イベントの発生に基づいてある状態から別の状態に移行する。全てのコマンドはxxが番号であるCMDxxとして数値により規定される。各コマンドは数値的な定義および引数を有する。ただし、多くのコマンドでは引数は要素引数であり、これはいかなる情報を伝達するのに用いられることを意味する。   The controller transitions from one state to another based on the receipt or generation of a command, or based on the occurrence of an “operation complete” event, but not many. All commands are defined numerically as CMDxx where xx is a number. Each command has a numerical definition and arguments. However, in many commands, the argument is an element argument, which means it can be used to convey any information.

stbyとtranとの間の移行は、CMD7、選択/非選択コマンドを利用してホストにより制御される。同様に、prgとdisとの間の移行、およびdataからstbyへの移行は、CMD7により制御される。コマンドの効果は、コマンド受信時のメモリコントローラの現在の状態に依存する。操作の完了時にdisからstbyへの移行が起こる。   The transition between stby and tran is controlled by the host using CMD7, a select / unselect command. Similarly, the transition between prg and dis and the transition from data to stby are controlled by CMD7. The effect of the command depends on the current state of the memory controller when the command is received. A transition from dis to stby occurs upon completion of the operation.

前述の簡単な例では、ホストは書き込み多重ブロックコマンドをメモリカードにアドレスする。これはCMD25である。図1に示すように、tran12において、CMD25がホストコントローラにより受信され得る。この例では、コントローラ状態はtranであり、ブロック22における書き込みコマンド(CMD25)の受信後にメモリコントローラ状態はtranからrcvになり、データを受信する。記憶するための、ホストからの全てのデータの受信後(「転送終了」)、またはブロック24における停止コマンド(CMD12)の受信後に、メモリコントローラ状態はprgに移行する。   In the simple example described above, the host addresses the write multiple block command to the memory card. This is CMD25. As shown in FIG. 1, in tran 12, CMD25 may be received by the host controller. In this example, the controller state is tran, and after receiving the write command (CMD25) in block 22, the memory controller state changes from tran to rcv to receive data. After receiving all data from the host for storage ("transfer end") or after receiving a stop command (CMD12) in block 24, the memory controller state transitions to prg.

標準仕様に従い、先の書き込みコマンドが完了(ブロック26における「操作完了」)した場合にのみ、メモリコントローラはprgからtranに戻る。ホストはビジー状態では、いかなる他のコマンドもメモリコントローラに送信しない。コントローラがデフラグなどの複雑な操作を実行中の場合には、何ミリ秒間は「プログラミング状態」のままでもよい。   In accordance with the standard specification, the memory controller returns from prg to tran only when the previous write command is complete (“operation complete” in block 26). When the host is busy, it does not send any other command to the memory controller. If the controller is performing a complex operation such as defragmentation, it may remain “programmed” for milliseconds.

標準的な種々の読み出し要求を記載する。これらをCMD8、11、17、18、30、56(r)としてブロック28に示す。これらのコマンドは、メモリコントローラが転送状態にある間にのみ実行され得る。したがって、読み出し要求を迅速に有効にするために、メモリコントローラは現在の状態から転送状態に迅速に移行する。待機状態では、これはCMD7を利用して容易に実行され得る。データ送信状態では、現在の要求が従えばすぐにメモリコントローラはより多くのデータを送信できる。非接続状態では、ブロック36における操作が完了するまでホストは待機し得、その後、待機状態にCMD7を発行するか、CMD7を利用してメモリコントローラをプログラミング状態にするコマンドを出し得る。プログラミング状態はブロック26における操作完了後に転送状態に戻るように移行する。   Lists various standard read requests. These are shown in block 28 as CMD8, 11, 17, 18, 30, 56 (r). These commands can only be executed while the memory controller is in the transfer state. Thus, the memory controller quickly transitions from the current state to the transfer state in order to quickly validate the read request. In the standby state, this can be easily performed using CMD7. In the data transmission state, the memory controller can transmit more data as soon as the current request is followed. In an unconnected state, the host may wait until the operation in block 36 is complete, and then issue a CMD7 to the standby state or issue a command to use the CMD7 to put the memory controller into a programming state. The programming state transitions back to the transfer state after the operation in block 26 is complete.

データ受信状態またはプログラム状態において迅速に読み出し要求を提供を可能にするために、速い「ビジー外」メソッドがホストに提供され得る。このようなメソッドは現在のデフラグ、ガーベジコレクション、またはe−MMCにおいて進行中の他の操作をフリーズするための手段をホストに提供し得、これにより、より優先度の高い読み出し操作を実行するためにメモリコントローラを自由にする。停止した操作は後に再開され得る。前述のように、メモリ管理操作は書き込み多重ブロックコマンド(CMD25)により頻繁にトリガされる。   A fast “out-of-busy” method may be provided to the host to allow quick read requests to be provided in the data receive or program state. Such methods may provide a means for the host to freeze the current defragmentation, garbage collection, or other operations in progress on the e-MMC, thereby performing a higher priority read operation. Free the memory controller. The stopped operation can be resumed later. As described above, memory management operations are frequently triggered by write multiple block commands (CMD25).

簡潔に説明すると、任意のマイクロアクティビティをサスペンドするのに書き込みサスペンドコマンドが用いられ得、これによりDAT0線(ビジー信号)が送信され、デバイスからの読み出しが速くなる。書き込み再開コマンドにより、その後、メモリコントローラがプログラム状態になり得、先にサスペンドされた書き込み操作を完了する。後にマイクロアクティビティを再開させ、かつ書き込み操作を完了させるための少量のデータが保存され得る。書き込みサスペンド後、ホスト側からデバイスに既に入力した全てのこれらのデータブロックは、後の再開のために保存され得る。「ビジー外」または 「サスペンドおよび再開」メソッドを提供するためのいくつかの異なる方法がある。   Briefly, the write suspend command can be used to suspend any micro-activity, which sends the DAT0 line (busy signal) and speeds up reading from the device. The write resume command can then cause the memory controller to enter the programmed state, completing the previously suspended write operation. A small amount of data can be saved for later resuming microactivity and completing the write operation. After a write suspend, all these data blocks already entered into the device from the host side can be saved for later resumption. There are several different ways to provide “out of busy” or “suspend and resume” methods.

一例では、0xF0F0F0F0(16進数)などの固有の引数を利用した標準停止コマンド(CMD12)が用いられる。標準停止コマンドは、常に要素引数と共に送信され、標準のSTOP_TRANSMISSIONをコマンドする。引数を特定の固有の引数に変更することにより、コマンドの操作および機能は変更され得る。この新規のコマンドは「書き込みサスペンド」コマンドとしても考慮され得る。   In one example, a standard stop command (CMD12) using a specific argument such as 0xF0F0F0F0 (hexadecimal number) is used. A standard stop command is always sent with an element argument and commands the standard STOP_TRANSMISION. By changing the argument to a specific unique argument, the operation and function of the command can be changed. This new command can also be considered as a “write suspend” command.

この例に従えば、書き込みサスペンドコマンドの受信後、コントローラはprg18に移行し、その後、全てのステップを完了することなく、可能な限り早く「操作完了」26に移行する。代わりに、全てのコントローラのバックグラウンド書き込み操作はサスペンドされる。コントローラは、後の書き込み操作を再開および完了するのに必要な全ての情報およびデータを保持または保存するように構成され得る。   According to this example, after receiving the write suspend command, the controller shifts to prg 18 and then shifts to “operation complete” 26 as soon as possible without completing all the steps. Instead, all controller background write operations are suspended. The controller may be configured to retain or save all the information and data necessary to resume and complete subsequent write operations.

「操作完了」後、メモリコントローラはtran12に戻る。この状態において、ホストは読み出しコマンド28を管理メモリに送信し得、メモリコントローラは続いてdata14に移行し、そのコマンドを送信する。data状態14において読み出し操作が行われる。読み出し操作がブロック30における「操作完了」に至ると、続いて、メモリコントローラはrev16からprg18まで移行することにより、先の書き込みコマンドを再開し得るtran状態12に戻る。   After “operation completed”, the memory controller returns to tran12. In this state, the host can send a read command 28 to the management memory, and the memory controller then goes to data 14 and sends the command. A read operation is performed in the data state 14. When the read operation reaches “operation complete” in block 30, the memory controller then transitions from rev16 to prg18 to return to the tran state 12 where the previous write command can be resumed.

先の書き込みコマンドが再開されない場合には、続いて、先の書き込みコマンドにおいてホストに送信された全てのデータが消去される。再開シーケンスとは別の任意のコマンドシーケンスにより、先の書き込みコマンドは永久に停止され得る。書き込み操作を再開し、tranからprgに移行するための種々の方法が用いられ得る。一例では、ホストにより以下のコマンドシーケンスが生成され得る。   If the previous write command is not resumed, then all data transmitted to the host in the previous write command is erased. Any command sequence other than the resume sequence may cause the previous write command to be stopped forever. Various methods can be used to resume the write operation and transition from tran to prg. In one example, the following command sequence may be generated by the host:

CMD16(0x00000004)
CMD56(0x00000000)
write 4Byte 0xF0F0F0F0
ブロック32においてセットブロック長コマンドCMD16が引数「0x00000004」と共に送信され得る。引数は、次のコマンドCMD56のデータ転送長を示す。これはメモリコントローラをrev状態にする、ブロック22における業界標準の書き込みコマンド(CMD56)に続く。引数「0x00000000」は、この場合にはメモリアレイに向かうデータの転送方向を示す第1のビット(ビット0)以外のスタッフビットである。データ受信後、データブロックを書き込むために、それをprg状態にする「転送終了」がメモリコントローラに送信される。この状態になると、続いて、メモリコントローラは先にサスペンドされた書き込み操作を完了する。
CMD16 (0x00000004)
CMD56 (0x00000000)
write 4Byte 0xF0F0F0F0
In block 32, the set block length command CMD16 may be sent with the argument “0x00000004”. The argument indicates the data transfer length of the next command CMD56. This follows an industry standard write command (CMD 56) in block 22, which puts the memory controller in the rev state. The argument “0x00000000” is a stuff bit other than the first bit (bit 0) indicating the data transfer direction toward the memory array in this case. After receiving the data, in order to write the data block, “end of transfer” which sets it to the prg state is transmitted to the memory controller. Once in this state, the memory controller then completes the previously suspended write operation.

別の例示では、メモリコントローラを直接「プログラミング」状態にするさらなる目的のために、新規コマンドが用いられ得るか、既存コマンドは追加的な目的を与えられ得る。ブロック34に示すように、CMD6、28、29、38により、メモリコントローラはtranから直接にprgになる。特別な目的に応じてこれらのコマンドは用いられ得る。いずれの場合でも、デバイスを直接にprg状態にするためにコマンドが送信され得、先にサスペンドされた書き込み操作を完了する。この例では、CMD22が用いられる。このコマンドは、現在、e−MMC標準仕様において指定されたアプリケーションにはない。CMD22の代わりに、任意の他の保存してある、または未使用のコマンドが用いられ得るか、このコマンドは所望の処理に応じて変更される。   In another example, a new command can be used for an additional purpose of placing the memory controller directly in a “programming” state, or an existing command can be given additional purposes. As shown in block 34, CMD6, 28, 29, 38 causes the memory controller to prg directly from tran. These commands can be used for specific purposes. In either case, a command may be sent to put the device directly into the prg state, completing the previously suspended write operation. In this example, CMD22 is used. This command is not currently in applications specified in the e-MMC standard specification. Instead of CMD 22, any other stored or unused command can be used or this command can be modified depending on the desired processing.

前述の書き込みサスペンドまたはビジー外の状態である場合に、サスペンド後、ホストが読み出しまたは再開コマンドを送信すると、続いて、メンテナンス操作が再開され得る。ただし、別のコマンドが発行された場合には、メモリコントローラは全ての再開情報を消去し得る。これにより、インタラプトされた書き込みコマンドが完了状態になる。別のリスクとして、サスペンド操作が進行中であり、その上、サスペンドされた書き込みに関与するアドレスに、別の読み出しコマンドが発行された場合に、読み出されたデータが未定義であるというリスクがある。   If the host is in the write suspend or busy state described above and the host sends a read or resume command after suspend, then the maintenance operation can be resumed. However, if another command is issued, the memory controller can erase all the resume information. As a result, the interrupted write command is completed. Another risk is that there is a risk that the read data is undefined if a suspend operation is in progress and another read command is issued to the address involved in the suspended write. is there.

第3の例では、書き込み中断コマンドシーケンスが用いられ得る。書き込みコマンド中にe−MMCコントローラにより起動された進行中の全てのメモリメンテナンス操作に突然に割り込み得る中断コマンドが用いられ得る。割り込みにより、ホストは、迅速に実行され得る優先度の高い読み出しコマンドを発行する。   In a third example, a write abort command sequence can be used. An interrupt command can be used that can abruptly interrupt all ongoing memory maintenance operations initiated by the e-MMC controller during the write command. An interrupt causes the host to issue a high priority read command that can be executed quickly.

書き込み中断コマンドに応答すると、メモリ内の全てのデータの再コピー操作は放棄され得る。この場合には、NANDメモリにおいて関与する物理ブロックは無効であるとみなされる。したがって、メモリに関与する物理ブロックはこの場合でも、新規データの書き込み操作において書き込まれる前に予め消去される。再コピー操作に関係する全てのデータの損失を回避するために、書き込み中断コマンドによりインタラプトされた書き込みコマンドは、その後ホストにより再び発行され得る。これにより、優先度の高い読み出し後に優先度の高い書き込み操作が完了する。   In response to a write abort command, the recopy operation of all data in memory can be abandoned. In this case, the physical block involved in the NAND memory is considered invalid. Therefore, even in this case, the physical block involved in the memory is erased in advance before it is written in the new data write operation. In order to avoid loss of all data related to the recopy operation, the write command interrupted by the write abort command can then be reissued by the host. This completes the high priority write operation after the high priority read.

書き込み操作が完了前に中断された場合には、メモリコントローラは操作が無事に完了しなかったことを示すエラー信号を発行し得る。これに応答して、ホストは対応する書き込みコマンドをその後再発行し得る。前述の例示のようにホストにより中断コマンドが発行された場合には、その後ホストは最後の書き込み要求を自動的に繰り返すように構成され得る。この場合では、ホストは書き込み操作が停止したことを認識するため、メモリコントローラからのエラー信号を必要としない。   If the write operation is interrupted before completion, the memory controller may issue an error signal indicating that the operation did not complete successfully. In response, the host can then reissue the corresponding write command. If a suspend command is issued by the host as in the previous example, then the host can be configured to automatically repeat the last write request. In this case, since the host recognizes that the write operation has stopped, an error signal from the memory controller is not required.

別の方法として、ホストからの優先度の高い読み出し要求の応答において、メモリコントローラにより書き込み中断コマンドが発行され得る。中断した書き込み操作を正常な状態に戻すために読み出し要求が提供されると、メモリコントローラは中断した操作を記憶し、自動的に再開し得る。代替的に、メモリコントローラは中断した操作に関するエラー信号を単に発行し得る。エラー信号を受信すると、ホストは最後の書き込み操作を再発行し得る。   Alternatively, a write interrupt command may be issued by the memory controller in response to a read request with a high priority from the host. When a read request is provided to return an interrupted write operation to a normal state, the memory controller stores the interrupted operation and can automatically resume. Alternatively, the memory controller may simply issue an error signal regarding the interrupted operation. Upon receiving an error signal, the host may reissue the last write operation.

中断コマンドは種々の方法で実施され得る。一実施例では、第1の例示と同様に、「0xF0F0F0F0」などの新規の引数フォーマットを用いて、停止コマンド(CMD12)は変更され得る。停止コマンドの引数全体がスタッフビットにより構成されるため、さらなる機能をコマンドに追加するのに他の引数が用いられ得る。   The suspend command can be implemented in various ways. In one embodiment, similar to the first illustration, the stop command (CMD12) may be modified using a new argument format such as “0xF0F0F0F0”. Since the entire argument of the stop command is composed of stuff bits, other arguments can be used to add further functionality to the command.

前述の方法はメモリコントローラまたはホストにおいて実施され得る。ホストが書き込みサスペンドまたは書き込み中断操作に関与している場合には、続いて、このようなコマンドをどのようにサポート可能かをメモリコントローラはホストに示し得る。e−MMC標準では、各MMCカードはEXT_CSD(増量されたカード特有データ)レジスタを含む。このレジスタはカード性能および選択されたモードについての情報を含む。この情報は開始アドレス、記憶容量、パーティション、ブートコード、有効なコマンドセット、タイミングおよび速度仕様、消去された保護モードなどを含む。カードが起動すると、ホストによりカードのレジスタが読み出される。   The foregoing method can be implemented in a memory controller or host. If the host is involved in a write suspend or write abort operation, the memory controller can then indicate to the host how such a command can be supported. In the e-MMC standard, each MMC card includes an EXT_CSD (increased card specific data) register. This register contains information about card performance and the selected mode. This information includes start address, storage capacity, partition, boot code, valid command set, timing and speed specifications, erased protection mode, and so on. When the card is activated, the register of the card is read by the host.

一実施例では、拡張CSDレジスタの特性領域における専用フィールドは、デバイス上の書き込みサスペンド/再開、もしくは書き込み中断コマンド、またはその両方が利用可能なホストプラットフォームと通信するように設定され得る。例えば、拡張CSDレジスタのセグメント領域が用いられ得、これらのコマンドを有効にするか否かをホストが選択可能になる。一実施例では、ホストにより設定されたセグメント領域にバイトが存在し得る。ホストがバイトを設定すると、その後、デバイスにおける中断およびサスペンド/再開機能が利用可能になる。   In one embodiment, a dedicated field in the extended CSD register characteristics area may be set to communicate with a host platform where a write suspend / resume or write suspend command, or both, is available on the device. For example, the segment area of the extended CSD register can be used, allowing the host to select whether to validate these commands. In one embodiment, there may be bytes in the segment area set by the host. Once the host has set the byte, then the suspend and suspend / resume function in the device is available.

セグメント領域内のバイトは、例示として表1に示す構造体を有し得る。   The bytes in the segment area may have the structure shown in Table 1 as an example.

WRITE_PRE_EMPTION_SUPPORTフィールドは、例示として表2に示す構造体を有し得る。 The WRITE_PRE_EMPTION_SUPPORT field may have the structure shown in Table 2 as an example.

ビット1−WRITE_PRE_EMPTION_RESUME_ENにおいては、書き込み優先再開コマンドが有効であるか否かを示す2つの異なる値が用いられ得る。一例では、これらの値は以下から選択され得る。すなわち、0b0は書き込みサスペンド/再開コマンドがサポートされていないことを示し、0b1は書き込みサスペンド/再開コマンドがサポートされていることを示す。 In bit 1-WRITE_PRE_EMPTION_RESUME_EN, two different values may be used that indicate whether the write priority resume command is valid. In one example, these values can be selected from: That is, 0b0 indicates that the write suspend / resume command is not supported, and 0b1 indicates that the write suspend / resume command is supported.

同様に、ビット0−WRITE_PRE_EMPTION_ABORT_ENにおいては、書き込み優先中断コマンドが有効であるか否かを示す2つの異なる値が用いられ得る。一例では、これらの値は以下から選択され得る。すなわち、0b0は書き込み中断コマンドがサポートされていないことを示し、0b1は書き込み中断コマンドがサポートされていることを示す。   Similarly, in bit 0-WRITE_PRE_EMPTION_ABORT_EN, two different values indicating whether the write priority abort command is valid can be used. In one example, these values can be selected from: That is, 0b0 indicates that the write interruption command is not supported, and 0b1 indicates that the write interruption command is supported.

同様に、WRITE_PRE_EMPTION_MGMTフィールドは、例示として表3に示す構造体を有し得る。   Similarly, the WRITE_PRE_EMPTION_MGMT field may have the structure shown in Table 3 by way of example.

ビット0−WRITE_PRE_EMPTION_ACTは、書き込み優先アクションがサポートされているか否かを示す2つの異なる値を有し得る。これらの値は以下のものでもよい。すなわち、0b0は書き込み中断コマンドがホストにより起動されていないことを示し、0b1は書き込み中断コマンドがホストにより起動されたことを示す。 Bit 0-WRITE_PRE_EMPTION_ACT may have two different values that indicate whether write priority actions are supported. These values may be as follows: That is, 0b0 indicates that the write interruption command is not activated by the host, and 0b1 indicates that the write interruption command is activated by the host.

e−MMC標準のEXT CSDレジスタは、ホストとの通信性能に関して好都合な方法であり、前述の表はどのようにそれが実行されるかの特定の例である。ただし、同一の通信機能の実行には他のレジスタおよび他の制御機構が用いられ得る。他の種類のメモリデバイスおよびメモリプロトコルが、同じまたは異なる方法で用いられ得る。代替的に、いかなる種類の構成もしくは特有データ、または用いられるレジスタがなくとも、ホストおよびカードにより特定のコマンドの使用が可能となる。   The e-MMC standard EXT CSD register is a convenient way for communication performance with the host, and the above table is a specific example of how it is implemented. However, other registers and other control mechanisms may be used to perform the same communication function. Other types of memory devices and memory protocols may be used in the same or different ways. Alternatively, specific commands can be used by the host and card without any kind of configuration or specific data or registers used.

図2はサスペンドおよび再開操作が、メモリシステムの操作にどのように追加され得るかを示す簡易化された状態図である。図2は図1に示す転送状態12、データ受信状態16、およびプログラミング状態18を含む。図を簡単にするために、他の状態およびそれらの移行は示さない。図1に示すように、メモリコントローラはブロック22においてコマンドを受信すると、転送状態からデータ受信状態に移行し得る。メモリコントローラはブロック24におけるデータの受信後、メモリにデータを書き込むためにプログラミング状態に移行する。そして、ブロック26において書き込み操作が完了すると転送状態に戻る。他の操作およびコマンドもまた、図1に記載したように機能する。メモリコントローラがプログラム状態にあり、読み出しコマンドが迅速に有効になる必要がある場合には、図2のブロック38においてサスペンドコマンドを受信し得る。このコマンドはデータ受信状態16をインタラプトするのにも用いられ得る。サスペンドコマンドにより、メモリコントローラは読み出し要求を有効にし得る転送状態に迅速に戻るように移行する(不図示)。この状態でブロック40において再開コマンドを受信し得、メモリコントローラはプログラミング状態に戻り、サスペンドされていた操作を完了する。図3は図2に示すようなサスペンド/再開方法に関するトランザクションタイミングチャートである。図3では、横軸が左から右に経過する時間である。横軸の左端においてメモリコントローラは多重ブロック52を書き込み始める。同時に、ガーベジコレクションまたは他のメモリメンテナンスタスク54が実行される。これらのタスクは、通常、NANDフラッシュメモリカードにおいて、プログラミング状態18で実行される。   FIG. 2 is a simplified state diagram illustrating how suspend and resume operations can be added to the operation of the memory system. FIG. 2 includes the transfer state 12, the data reception state 16, and the programming state 18 shown in FIG. Other states and their transitions are not shown to simplify the figure. As shown in FIG. 1, upon receipt of a command at block 22, the memory controller may transition from a transfer state to a data reception state. After receiving the data in block 24, the memory controller enters a programming state to write data to the memory. When the write operation is completed in block 26, the transfer state is restored. Other operations and commands also function as described in FIG. If the memory controller is in a programmed state and the read command needs to be valid quickly, a suspend command may be received at block 38 of FIG. This command can also be used to interrupt the receive data state 16. The suspend command causes the memory controller to quickly return to a transfer state that can validate the read request (not shown). In this state, a resume command may be received at block 40, and the memory controller returns to the programming state and completes the suspended operation. FIG. 3 is a transaction timing chart regarding the suspend / resume method as shown in FIG. In FIG. 3, the horizontal axis is the time that elapses from left to right. At the left end of the horizontal axis, the memory controller starts writing the multiple block 52. At the same time, garbage collection or other memory maintenance task 54 is performed. These tasks are typically performed in programming state 18 in a NAND flash memory card.

書き込み中のいずれかの時にサスペンドコマンド56を受信する。これは優先度の高い読み出しコマンドを供給するために、メモリコントローラの書き込み操作を停止するコマンドである。このサスペンドコマンドの受信後、停止外ビジータイム58が続く。これは書き込み操作を終了し、その状態および任意の必須のオペランドおよびデータ値を保存し、かつdata状態14へ移行するのに必要な時間である。このビジータイムの終わりに、読み出しコマンドが有効60になる。優先度の高い読み出しコマンドが処理された後、サスペンドされたガーベジコレクションを含む書き込み操作(不図示)にメモリコントローラが戻り得る再開コマンド62が発行される。   The suspend command 56 is received at any time during writing. This is a command for stopping the write operation of the memory controller in order to supply a read command with a high priority. After receiving this suspend command, a non-stop busy time 58 continues. This is the time required to finish the write operation, save its state and any required operands and data values, and transition to the data state 14. At the end of this busy time, the read command becomes valid 60. After the high priority read command has been processed, a resume command 62 is issued that the memory controller can return to a write operation (not shown) that includes suspended garbage collection.

図4はサスペンドコマンドの代わりに中断コマンド64が発行された別の方法を示す。図4に示す例では、メモリコントローラは中断コマンドを受信すると、書き込み52およびガーベジコレクション54を実行する。   FIG. 4 shows another method in which an interrupt command 64 is issued instead of the suspend command. In the example shown in FIG. 4, when the memory controller receives an interruption command, it executes a write 52 and a garbage collection 54.

これらに対応する時間はビジータイム66であり、その後、読み出し60が実行される。この例では、ビジータイムがより短いため、読み出しはより迅速に有効になる。これは中断コマンドの後に再開コマンドが続かないためである。この結果、メモリコントローラは書き込み操作に関して何も記憶する必要がない。別の書き込みコマンドを受信すると、書き込み操作は最初から再び開始される。別の方法として、停止コマンド、または類似の結果をもたらす任意の他のコマンドも利用され得る。   The time corresponding to these is the busy time 66, and then the reading 60 is executed. In this example, the read is valid more quickly because the busy time is shorter. This is because the resume command does not follow the suspend command. As a result, the memory controller need not store anything regarding the write operation. When another write command is received, the write operation is restarted from the beginning. Alternatively, a stop command or any other command that yields similar results may be utilized.

サスペンド/再開コマンドにより、システムの中断時間が短くなり、ホストからのアテンションが軽減され得る。停止または中断により、読み出しはより迅速に有効になるが、書き込み操作中のいかなる変更も失われ、初めから開始される必要がある。前述の方法により種々の他の変更がなされ得、メモリ、コントローラの性質、およびホストシステムの必要性に応じて特定の選択が決定され得る。   Suspend / resume commands can reduce system downtime and reduce host attention. Stopping or interrupting makes the read valid more quickly, but any changes during the write operation are lost and need to be started from the beginning. Various other changes can be made by the methods described above, and specific choices can be determined depending on the memory, the nature of the controller, and the needs of the host system.

本発明はまた、図5に示すフローチャートを用いて説明され得る。図5では、メモリおよびそのホストは操作中であり、ブロック111においてメモリに発行する優先度の高い読み出しコマンドを要求することをホストは決定する。まず、ブロック113においてメモリが書き込み状態にあるか否かをホストは決定する。その状態にない場合には、その後操作は正常に進む。ブロック115においてホストは読み出し要求を発行し、続いて、ブロック117において読み出しデータを受信する。処理はその後スタートに戻る。   The present invention can also be described using the flowchart shown in FIG. In FIG. 5, the memory and its host are in operation, and the host determines to request a high priority read command to be issued to the memory at block 111. First, in block 113, the host determines whether or not the memory is in a write state. If not, then the operation proceeds normally. In block 115, the host issues a read request, and subsequently receives read data in block 117. Processing then returns to the start.

読み出し要求の優先度が低い場合には、同じ処理が続いてもよい。メモリが書き込み操作中であり、読み出し要求が発行された場合には、続いて、メモリは書き込み操作を完了し、その後要求を有効にする。図1に示すe−MMCコンテキストでは、メモリは書き込み操作の完了時に転送状態に移行する。次に、それは読み出しコマンドに応答してdata状態に移行し、要求データを送信する。いかなる操作も中断されないが、読み出し要求への応答は遅れる。   If the priority of the read request is low, the same processing may continue. If the memory is in a write operation and a read request is issued, then the memory completes the write operation and then validates the request. In the e-MMC context shown in FIG. 1, the memory transitions to the transfer state upon completion of the write operation. Next, it transitions to the data state in response to the read command and sends the requested data. No operation is interrupted, but the response to the read request is delayed.

図5において、メモリが現在書き込み状態である場合には、その後ブロック119においてホストはサスペンドコマンドを発行し得る。これはメモリの書き込み操作をサスペンドするコマンドであり、このため、メモリは読み出し要求に応答できる。ブロック121においてサスペンドコマンドの後に、読み出し要求が続く。ブロック123において、要求されたデータを受信するまでホストは待機する。受信後、ブロック127においてホストは再開コマンドを発行する。これにより、メモリはインタラプトされた書き込み操作を再開できる。その後、ホストはスタートに戻る。   In FIG. 5, if the memory is currently in a write state, then at block 119, the host may issue a suspend command. This is a command that suspends the memory write operation, so that the memory can respond to read requests. In block 121, the suspend command is followed by a read request. In block 123, the host waits until the requested data is received. After receipt, the host issues a resume command at block 127. This allows the memory to resume the interrupted write operation. Thereafter, the host returns to the start.

図6は別のプロセスフローを示す。図6に示すように、メモリおよびそのホストは操作中であり、ブロック131においてメモリに発行する優先度の高い読み出しコマンドを要求することをホストは決定する。まず、ブロック133においてメモリが書き込み状態にあるか否かをホストは決定する。その状態にない場合には、その後操作は正常に進む。ブロック135においてホストは読み出し要求を発行し、続いて、ブロック137において読み出しデータを受信する。処理はその後スタートに戻る。ただし、図5とは異なり図6では、メモリが現在書き込み状態であると、続いて、ブロック139においてホストは停止または中断コマンドを発行する。中断コマンドに対応する再開コマンドはない。中断コマンドは、読み出し要求に応答するようにメモリをなおも自由にするコマンドである。中断コマンド後、処理はブロック135に戻る。ホストは読み出し要求を発行する。その後、ホストはブロック137においてデータを受信し、スタートに戻る。図6に示すプロセスフローは、図示しないいくつかの選択的な操作を有する。ホストは停止コマンドの前に発行された最後の書き込みコマンドを追跡できる。読み出しデータの受信後、ホストはその書き込みコマンドを再発行できる。これにより、メモリは書き込み状態に戻り、書き込み処理が停止したときに失われた全てのデータを取り戻す。代替的に、停止コマンドの発行後、ホストはメモリからのエラー信号を待機できる。エラー信号は対応するコマンドを追跡し得、読み出し要求が有効になった後、対応するコマンドがホストによりメモリに再発行され得る。この方法では、停止コマンドにより書き込みがインタラプトされると、メモリはエラーに反応する。   FIG. 6 shows another process flow. As shown in FIG. 6, the memory and its host are in operation, and the host determines to request a high priority read command to be issued to the memory at block 131. First, in block 133, the host determines whether or not the memory is in a write state. If not, then the operation proceeds normally. In block 135, the host issues a read request and subsequently receives read data in block 137. Processing then returns to the start. However, unlike FIG. 5, in FIG. 6, if the memory is currently in a write state, then in block 139, the host issues a stop or abort command. There is no resume command corresponding to the suspend command. An interrupt command is a command that still frees the memory to respond to a read request. After the abort command, processing returns to block 135. The host issues a read request. The host then receives data at block 137 and returns to the start. The process flow shown in FIG. 6 has some optional operations not shown. The host can track the last write command issued before the stop command. After receiving the read data, the host can reissue the write command. As a result, the memory returns to the write state and retrieves all data lost when the write process is stopped. Alternatively, after issuing a stop command, the host can wait for an error signal from the memory. The error signal can track the corresponding command, and after the read request becomes valid, the corresponding command can be reissued to memory by the host. In this method, the memory reacts to an error when a write is interrupted by a stop command.

図5および図6両方に示すフローチャートとさらに異なる例では、メモリ状態を決定する操作は無視され得る。通常、メモリが待機状態、または転送状態である場合に、サスペンドまたは停止コマンドが発行されても、このコマンドはメモリの操作に影響を及ぼさない。一部の例では、これはエラー信号を生じ得るが、ホストはこれをその操作状態におけるメモリからの指示として解釈し得る。メモリがデータ送信状態または非接続状態であるときにも、サスペンドまたは停止コマンドが無効になるようにシステムはさらに構成され得る。この変更はホストの操作を簡単にするが、メモリの操作が多少不確実になる。   In an example different from the flowcharts shown in both FIGS. 5 and 6, the operation of determining the memory state may be ignored. Normally, even when a suspend or stop command is issued when the memory is in a standby state or a transfer state, this command does not affect the operation of the memory. In some examples, this can result in an error signal, which the host can interpret as an indication from the memory in its operational state. The system may be further configured to disable the suspend or stop command even when the memory is in a data transmission state or a disconnected state. This change simplifies host operations, but makes memory operations somewhat uncertain.

図7はeMMCカードの形態である管理フラッシュメモリ223を示す。これは本発明が適用され得るメモリ製品の単なる一例である。ただし、これは前述の具体的な実施形態にも十分に適用される。示すコンポーネントは単一のダイの一部でもよく、いくつかのダイから構成されてもよい。コンポーネントは単一パッケージ、ハウジング、またはリムーバブルカードに含まれてもよく、いくつかの別個のパッケージに含まれてもよい。メモリカードは、フラッシュメモリなどの不揮発性メモリ部201を有するが、揮発性メモリを含む任意の他の種類のメモリが用いられてもよい。メモリは種々の分割スキームを有し、様々な大きさでもよい。一部の例では、これは多重ブロックを有し、各ブロックは多重ページを有する。ただし、他の構成が用いられてもよい。メモリは不揮発性メモリインターフェース203を介してメモリカードコントローラまたはコア論理202に連結する。   FIG. 7 shows a management flash memory 223 in the form of an eMMC card. This is just one example of a memory product to which the present invention can be applied. However, this applies well to the specific embodiments described above. The components shown may be part of a single die or may consist of several dies. The components may be included in a single package, housing, or removable card, and may be included in several separate packages. The memory card includes a nonvolatile memory unit 201 such as a flash memory, but any other type of memory including a volatile memory may be used. The memory has various partitioning schemes and may be of various sizes. In some examples, this has multiple blocks and each block has multiple pages. However, other configurations may be used. The memory is coupled to a memory card controller or core logic 202 via a non-volatile memory interface 203.

インターフェースは、通常、制御バスおよびデータバスを有し、コントローラとメモリセルとの物理層通信を可能にする。コントローラはさらにMMCインターフェース204を有し、ここでカード223はホストメモリ制御ユニット205と連結する。外部MMCインターフェースは管理NANDインターフェースを有し得、これにより、MMC、eMMC、UFS、または他のNANDベースのメモリインターフェースと通信する。このインターフェースはデータ、コマンド、およびクロックタイミングを通信するためのバス接続206を有する。ただし、種々の外部プロトコルを用いた通信に適応する種々のインターフェースがこの代わりに用いられ得る。メモリカードコントローラ202は外部インターフェースを、メモリ201を有する物理インターフェースに変換する。コントローラまたは外部MMCインターフェースはデータバッファを含み得、これは暫定の値を記憶し、内部および外部バスにおける待ち時間に適応する。コントローラは、例えば、前述のデータ処理、メモリメンテナンス、安全管理、並びにエラー検出および修正を含む種々の機能を実行する。   The interface typically has a control bus and a data bus, allowing physical layer communication between the controller and memory cells. The controller further includes an MMC interface 204 where the card 223 is coupled to the host memory control unit 205. The external MMC interface may have a management NAND interface, which communicates with MMC, eMMC, UFS, or other NAND-based memory interfaces. The interface has a bus connection 206 for communicating data, commands, and clock timing. However, various interfaces adapted for communication using various external protocols can be used instead. The memory card controller 202 converts the external interface into a physical interface having the memory 201. The controller or external MMC interface may include a data buffer that stores provisional values and adapts to latency in the internal and external buses. The controller performs various functions including, for example, the aforementioned data processing, memory maintenance, safety management, and error detection and correction.

図8は本発明の実施形態に適用され得る例示のシステム211を示す。示す例では、システムは移動性の、手持ち式の携帯電話であるが、多少変更した広範囲の種々のデバイスでもよい。システムは、チップセットを含んでも含まなくてもよい中央処理装置(CPU)213により駆動される。CPUはオペレーティングシステムを利用してプログラムを実行するアプリケーション部215、および電話機能を操作するベースバンド部217を有する。両方の部ともにメモリインターフェース219に連結されており、これはバスを介してシステムのメモリと通信する。   FIG. 8 illustrates an exemplary system 211 that may be applied to embodiments of the present invention. In the example shown, the system is a mobile, handheld mobile phone, but can be a wide variety of different devices with some modifications. The system is driven by a central processing unit (CPU) 213 that may or may not include a chipset. The CPU has an application unit 215 that executes a program using an operating system, and a baseband unit 217 that operates a telephone function. Both parts are coupled to a memory interface 219, which communicates with the system's memory via a bus.

示す例では、システムメモリは高速アクセス用のランダムアクセスメモリ(RAM)として実装され得る揮発性部221、および電力損失時でもデータが消失しないフラッシュとして実装され得る不揮発性部223を有する。通常、RAMは迅速にアクセスするデータおよび指示のための短期記憶装置として用いられ、一方、オペレーティングシステム、システムパラメータ、およびアプリケーションの記憶にはフラッシュが用いられる。代替的に、メモリはフラッシュ内の完全な単一メモリとして実装され得、フラッシュ部は、PCM(相変化メモリ)、MRM(磁気抵抗メモリ)、FRAM(登録商標)(強誘電体ランダムアクセスメモリ)、これらの組み合わせの一部、または任意の他のメモリタイプなどの他の種類の不揮発性メモリを有して実装され得る。図5および図6に関連する前述の操作は不揮発性メモリにも適用できる。電力損失の場合には、揮発性メモリ内に記憶された全てのデータは消去される。   In the example shown, the system memory includes a volatile unit 221 that can be implemented as a random access memory (RAM) for high-speed access, and a nonvolatile unit 223 that can be implemented as a flash that does not lose data even when power is lost. Typically, RAM is used as a short-term storage for rapidly accessing data and instructions, while flash is used to store operating systems, system parameters, and applications. Alternatively, the memory can be implemented as a complete single memory in flash, the flash part being a PCM (phase change memory), MRM (magnetoresistance memory), FRAM (ferroelectric random access memory). May be implemented with other types of non-volatile memory, such as some of these combinations, or any other memory type. The operations described above in connection with FIGS. 5 and 6 can also be applied to non-volatile memories. In the case of power loss, all data stored in the volatile memory is erased.

CPUのベースバンド部はユーザインターフェースに連結されている。示す例では、ユーザインターフェースはキーパッド225、並びにスピーカおよびマイクロホンを備えるヘッドセット227である。タッチスクリーン、ブルートゥースデバイス、加速度計、近接センサ、および特定の用途に応じた他のインターフェースなどの種々の他のインターフェースが用いられ得る。ベースバンド部はRF(無線周波数)回路229にも連結されており、無線接続を利用してシステムと外部デバイスとが通信する。無線接続は携帯電話、データ、無線ネットワーク、または要求に応じた任意の他のインターフェースでもよい。   The baseband unit of the CPU is connected to the user interface. In the example shown, the user interface is a keypad 225 and a headset 227 with a speaker and microphone. Various other interfaces may be used such as touch screens, Bluetooth devices, accelerometers, proximity sensors, and other interfaces depending on the particular application. The baseband unit is also connected to an RF (Radio Frequency) circuit 229, and the system and an external device communicate with each other using a wireless connection. The wireless connection may be a cell phone, data, wireless network, or any other interface as required.

CPUはさらにカメラ、位置測定システム、ディスプレイ、プリンタ、ブルートゥースデバイス、およびシステム211の任意の追加的な機能を援助するための他の周辺機器などの種々の周辺機器231のいずれかと連結してもよい。図8に種々のコンポーネントの消費電力を制御するバッテリなどの電力供給装置を含み得る電源管理システム233をさらに示す。このデバイスはCPU、自律装置、または両方の組み合わせにより駆動および制御されるソフトウェアでもよい。   The CPU may also be coupled to any of various peripheral devices 231 such as cameras, position measurement systems, displays, printers, Bluetooth devices, and other peripheral devices to assist in any additional functions of the system 211. . FIG. 8 further illustrates a power management system 233 that may include a power supply such as a battery that controls the power consumption of various components. The device may be software driven and controlled by a CPU, autonomous device, or a combination of both.

前の記述では、どのハードウェアエンティティが操作を実行するかを指定することなく、多くの操作を説明した。これらの操作の多くは、特定のメモリ構成に応じて、種々のハードウェアユニットまたはモジュールにより実行され得る。前述のように、現在構成されているeMMCでは、ホストが読み出し、書き込み、および論理アドレスを制御し、一方、メモリコントローラが論理アドレスを物理アドレスにマッピングし、メンテナンス、エラー検出および修正を実行する。したがって、状態図はメモリコントローラの実際の状態を参照するが、この状態はホストからのコマンドにより決定される。   In the previous description, many operations were described without specifying which hardware entity performs the operation. Many of these operations can be performed by various hardware units or modules, depending on the particular memory configuration. As described above, in the currently configured eMMC, the host controls read, write, and logical addresses, while the memory controller maps logical addresses to physical addresses to perform maintenance, error detection, and correction. Thus, the state diagram refers to the actual state of the memory controller, which is determined by a command from the host.

他のシステムでは、メモリはより自律しており、ホストにより発行された前述のコマンドの一部は、メモリコントローラの内部処理により発行される。他方、システムメモリなどの他のシステムでは、ホストはメモリ使用量の全ての態様を制御する。この場合では、状態図はメモリを直接制御するホストの状態をより正確に示す。操作、コマンド、および応答の正確な分配は、種々の業界標準および種々のメモリ利用に適合するように変更され得、本発明はいかなる特定の分配に限定されない。用語「コンピュータ可読媒体」は、プロセッサ、メモリコントローラ、または実行のための他の適切なデバイスへのプログラム命令の供給に関与する適切な媒体でもよい。このような媒体は種々の構造を有し得、不揮発性媒体および揮発性媒体を含むがこれらに限定されない。不揮発性媒体は、例えば、光ディスクまたは磁気ディスク、半導体記憶装置および他のメモリ、ROM(読み出し専用メモリ)などを含み得る。揮発性媒体はシステムメモリなどのダイナミックメモリ、DRAM(ダイナミックRAM)、SRAM(スタティックRAM)、および他の種類の揮発性記憶装置を含み得る。コンピュータ可読媒体の一般的な種類は、例えば、磁気媒体(例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、および他の磁気媒体)、光媒体(例えば、コンパクトディスク読み出し専用メモリ(CD−ROM)および他の光媒体)、パターンを有する物理媒体(例えば、パンチカード、穿孔テープ、任意の他の物理媒体)、メモリチップまたはカートリッジ(例えば、RAM、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM、フラッシュメモリ、および他のメモリチップまたはカートリッジ))、並びにコンピュータ可読の任意の他の媒体を含む。   In other systems, the memory is more autonomous and some of the aforementioned commands issued by the host are issued by internal processing of the memory controller. On the other hand, in other systems such as system memory, the host controls all aspects of memory usage. In this case, the state diagram more accurately shows the state of the host that directly controls the memory. The exact distribution of operations, commands, and responses can be modified to suit different industry standards and different memory utilizations, and the invention is not limited to any particular distribution. The term “computer-readable medium” may be any suitable medium that participates in providing program instructions to a processor, memory controller, or other suitable device for execution. Such media can have a variety of structures, including but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical or magnetic disks, semiconductor storage devices and other memories, ROM (read only memory), and the like. Volatile media can include dynamic memory, such as system memory, DRAM (dynamic RAM), SRAM (static RAM), and other types of volatile storage. Common types of computer readable media include, for example, magnetic media (eg, floppy disks, flexible disks, hard disks, magnetic tapes, and other magnetic media), optical media (eg, compact disk read-only memory ( CD-ROM) and other optical media), physical media with patterns (eg punch cards, punched tape, any other physical media), memory chips or cartridges (eg RAM, programmable read only memory (PROM), Erasable programmable read-only memory (EPROM, flash memory, and other memory chips or cartridges), and any other computer readable medium.

以下の詳細な説明では、本発明の完全な理解のために多くの特定の詳細が説明される。ただし、これらの特定の詳細がなくとも、本発明が実行され得ることを当業者は理解する。他の例示では、本発明を曖昧にしないため、周知の方法、手順、コンポーネント、および回路は詳細には記載しない。   In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, one of ordinary skill in the art appreciates that the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present invention.

詳細な説明の一部は、コンピュータメモリ内のデータビットまたは2値デジタル信号における操作のアルゴリズムおよび記号表示に関して記述される。これらのアルゴリズム的記述および表示は、それらの研究内容を他の当業者に伝えるための、当業者に用いられるデータ処理に関する技術でもよい。   Some portions of the detailed description are directed to algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be data processing techniques used by those skilled in the art to convey their work to others skilled in the art.

ここのアルゴリズムは、通常、所望の結果を導く動作または操作の自己無撞着シーケンスとして考慮される。これらは物理量に関する物理的処置を含む。これらの分量は、通常、これに限定されないが、記憶、転送、一体化、比較、および他の操作が可能な電気または磁気信号の形態である。主に共通使用を目的として、ビット、数値データ、要素、記号、桁、用語、数などにこれらの信号が参照されることが好都合であると証明される場合もある。ただし、これらおよび類似の用語の全ては、適切な物理量に関連し、これらの量に適用される単なる好都合なラベルであると理解されることは言うまでもない。   The algorithm here is usually considered as a self-consistent sequence of actions or operations that lead to the desired result. These include physical treatments related to physical quantities. These quantities are typically in the form of electrical or magnetic signals that can be stored, transferred, integrated, compared, and otherwise manipulated, but are not limited to this. It may prove convenient to refer to these signals for bits, numeric data, elements, symbols, digits, terms, numbers, etc. mainly for common use. It should be understood, however, that all of these and similar terms are to be understood as being associated with the appropriate physical quantities and merely being convenient labels applied to these quantities.

特別な記述がない限り、本明細書全体の記述における、例えば、「処理」、「演算」、「計算」、「決定」などの用語が、演算システムのレジスタおよび/またはメモリ内の量を、演算システムのメモリ、レジスタまたは他のこのような情報記憶装置、送信または表示装置における物理量を表す類似の他のデータ、すなわち電子計算などにより物理的に表されるデータに処理および/または変換するコンピュータ、演算システム、または類似の電子計算装置のアクションおよび/または処理を参照することは以下の記述から明らかである。   Unless otherwise stated, terms such as “processing”, “operation”, “calculation”, “decision”, etc. throughout the description of this specification refer to the amount in the registers and / or memory of the arithmetic system, Computers that process and / or convert into memory, registers or other such information storage devices in computing systems, other similar data representing physical quantities in transmission or display devices, ie data physically represented, such as by electronic calculations Reference to the actions and / or processes of a computing system, or similar electronic computing device will be apparent from the following description.

本発明の実施形態は本明細書の操作を実行するための装置を含み得る。装置は所望の目的のために特別に構成されてもよく、デバイスに記憶されたプログラムにより選択的に起動または再構成される汎用コンピュータ装置を備えてもよい。このようなプログラムは、これらに限定されないが、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスク読み出し専用メモリ(CD−ROM)、光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的にプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能およびプログラム可能な読み出し専用メモリ(EEPROM)、磁気もしくは光カード、または電子的な命令の保存に適した任意の他の種類の媒体を含み、コンピュータ装置のシステムバスに連結可能な任意の種類のディスクなどの記憶装置媒体に記憶され得る。   Embodiments of the present invention may include an apparatus for performing the operations herein. The apparatus may be specially configured for the desired purpose, and may comprise a general purpose computer apparatus that is selectively activated or reconfigured by a program stored on the device. Such programs include, but are not limited to, floppy (registered trademark) disk, optical disk, compact disk read only memory (CD-ROM), magneto-optical disk, read only memory (ROM), random access memory (RAM), Electrically programmable read-only memory (EPROM), electrically erasable and programmable read-only memory (EEPROM), magnetic or optical card, or any other type suitable for electronic instruction storage It can be stored on a storage device medium such as any type of disk that can be coupled to the system bus of a computer device.

本明細書に記載した処理および表示は、任意の特定のコンピュータ装置または他の装置に本質的には関連しない。種々の汎用システムが本明細書の教示に従うプログラムと共に用いられ得るか、またはそれが所望の方法を実行するためにより特殊化された装置を構成することが好都合であることが証明され得る。種々のこれらのシステムに関する所望の構造体は、以下の説明により明らかになる。さらに本発明の実施形態は、任意の特定のプログラミング言語に関連して記述しない。本明細書に記載されたような本発明の教示の実施に種々のプログラミング言語が用いられ得ることが理解される。さらに、本明細書に記載された操作、性能、および特徴が、ハードウェア(ディスクリート回路または集積回路)およびソフトウェアの任意の組み合わせにより実現され得ることが理解されることは言うまでもない。   The processes and displays described herein are not inherently related to any particular computing device or other device. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized device to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Further, it will be appreciated that the operations, performance, and features described herein can be realized by any combination of hardware (discrete or integrated circuit) and software.

用語「連結された」、「接続された」およびそれらの派生語が用いられ、これらの用語が互いに同義語とはみなされないことが当然理解される。むしろ、特に実施形態での「接続された」は、2つ以上の要素が互いに直接に物理的接触または電気接触していることが意図される。「連結された」は、2つ以上の要素が互いに直接または間接的(それらの間に他の介在要素が存在する)に、物理的接触または電気接触するか、かつ/または2つ以上の要素が共に動作するまたは互いに相互作用する(例えば、効果を関連付けるために)ことが意図される。特有の本発明の実施形態を記述したが、本発明はこのような実施形態の詳細に限定されず、以下の請求項およびそれらの妥当な均等物によってのみ限定される。   It will be understood that the terms “linked”, “connected” and their derivatives are used and these terms are not considered synonymous with each other. Rather, in particular embodiments, “connected” is intended that two or more elements are in direct physical or electrical contact with each other. “Coupled” means that two or more elements are in direct or indirect physical contact or electrical contact with each other (with other intervening elements between them) and / or two or more elements Are intended to work together or interact with each other (eg, to associate effects). While specific embodiments of the invention have been described, the invention is not limited to the details of such embodiments, but only by the following claims and their reasonable equivalents.

10 待機状態
12 転送状態
14 データ送信状態
16 データ受信状態
18 プログラミング状態
20 非接続状態
201 不揮発性メモリ部
202 メモリカードコントローラ(コア論理)
203 不揮発性メモリインターフェース
204 MMCインターフェース
205 ホストメモリ制御ユニット
206 バス接続
211 システム
213 中央処理装置(CPU)
215 アプリケーション部
217 ベースバンド部
219 メモリインターフェース
221 揮発性部
223 eMMCカード(管理フラッシュメモリ、不揮発性部)
225 キーパッド
227 ヘッドセット
229 RF回路
231 周辺機器
233 電源管理
DESCRIPTION OF SYMBOLS 10 Standby state 12 Transfer state 14 Data transmission state 16 Data reception state 18 Programming state 20 Non-connection state 201 Non-volatile memory part 202 Memory card controller (core logic)
203 Non-volatile memory interface 204 MMC interface 205 Host memory control unit 206 Bus connection 211 System 213 Central processing unit (CPU)
215 Application unit 217 Baseband unit 219 Memory interface 221 Volatile unit 223 eMMC card (management flash memory, non-volatile unit)
225 Keypad 227 Headset 229 RF circuit 231 Peripheral device 233 Power management

Claims (9)

コマンドを発行するホストと、
メモリと、
前記コマンドに応じて自身の状態を遷移させ、遷移された状態に応じて前記メモリを制御するメモリコントローラと、を備える装置であって、
前記メモリコントローラは、前記ホストからの書き込み多重ブロックコマンドを受けて転送状態から対応するデータをホストから受信するデータ受信状態へ遷移し、続いて前記ホストからの停止コマンドを受けて前記メモリへの書き込み制御を行うプログラミング状態へ遷移され、且つ、前記プログラミング状態中に前記ホストからのサスペンドコマンドを受けて前記対応するデータを保存すると共に前記メモリへの書き込み制御を中断して前記転送状態へ遷移し、更に、該中断後に前記ホストからの再開コマンドを受けて前記データ受信状態を経ることなく前記プログラミング状態へ遷移して保存された前記書き込みデータを用いて前記メモリへの書き込み制御を再開することを特徴とする装置。
The host issuing the command,
Memory,
A memory controller that transitions its own state in response to the command and controls the memory in accordance with the transitioned state,
The memory controller receives a write multiple block command from the host and transitions from a transfer state to a data reception state in which the corresponding data is received from the host, and subsequently receives a stop command from the host and writes to the memory. A transition is made to a programming state in which control is performed, and during the programming state, a corresponding suspend command is received from the host to store the corresponding data and write control to the memory is interrupted to transition to the transfer state. Further, after the interruption, a resume command is received from the host, and the write control to the memory is resumed by using the write data stored in the programming state without passing through the data reception state. Equipment.
前記メモリコントローラは、前記サスペンドコマンドを受けた後の前記転送状態において前記ホストからの読み出しコマンドを受けて前記メモリへの読み出し制御を行い、その後に前記ホストからの再開コマンドを受けることを特徴とする請求項1に記載の装置。   The memory controller receives a read command from the host in the transfer state after receiving the suspend command, performs read control to the memory, and then receives a resume command from the host. The apparatus of claim 1. 前記メモリコントローラは、前記書き込み多重ブロックコマンドと同時にガーベジコレクション制御を行うことを特徴とする請求項1または2に記載の装置。   The apparatus according to claim 1, wherein the memory controller performs garbage collection control simultaneously with the write multiple block command. 前記メモリコントローラは、前記書き込み多重ブロックコマンドと同時にデフラグ制御を行うことを特徴とする請求項1または2に記載の装置。   The apparatus according to claim 1, wherein the memory controller performs defragmentation control simultaneously with the write multiple block command. 前記メモリはNAND型フラッシュメモリであることを特徴とする請求項1乃至4のいずれか一項に記載の装置。   The apparatus according to claim 1, wherein the memory is a NAND flash memory. 書き込み多重ブロックコマンドを発行して転送状態からデータ受信状態へ遷移させ、
前記書き込み多重ブロックコマンドの後に停止コマンドを発行して前記データ受信状態からプログラミング状態へ遷移させ、
前記プログラミング状態中にサスペンドコマンドを発行してプログラミングに用いられるデータを保存させると共に前記プログラミング状態から前記転送状態へ遷移させ、
前記サスペンドコマンドの後に再開コマンドを発行して前記転送状態から前記データ受信状態を経ることなく前記プログラミング状態へ遷移させるメモリコントローラの制御方法。
Issue a write multiple block command to transition from the transfer state to the data receive state,
Issue a stop command after the write multiple block command to transition from the data reception state to the programming state,
Issue a suspend command during the programming state to save data used for programming and transition from the programming state to the transfer state;
A method for controlling a memory controller, wherein a resume command is issued after the suspend command to transition from the transfer state to the programming state without passing through the data reception state.
前記サスペンドコマンドを発行した後の前記転送状態において前記再開コマンドを発行する前に読み出しコマンドを発行してデータ送信状態へ遷移させる請求項6に記載のメモリコントローラの制御方法。   7. The method of controlling a memory controller according to claim 6, wherein a read command is issued to make a transition to a data transmission state before issuing the resume command in the transfer state after issuing the suspend command. 前記書き込み多重ブロックコマンドと同時にガーベジコレクション制御を行うことを特徴とする請求項6または7に記載のメモリコントローラの制御方法。   8. The method of controlling a memory controller according to claim 6, wherein garbage collection control is performed simultaneously with the write multiple block command. 前記書き込み多重ブロックコマンドと同時にデフラグ制御を行うことを特徴とする請求項6または7に記載のメモリコントローラの制御方法。
8. The memory controller control method according to claim 6, wherein defragmentation control is performed simultaneously with the write multiple block command.
JP2015173585A 2015-09-03 2015-09-03 Temporary stop of memory operation for shortening reading standby time in memory array Pending JP2016026345A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015173585A JP2016026345A (en) 2015-09-03 2015-09-03 Temporary stop of memory operation for shortening reading standby time in memory array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015173585A JP2016026345A (en) 2015-09-03 2015-09-03 Temporary stop of memory operation for shortening reading standby time in memory array

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012514597A Division JP2012529692A (en) 2009-06-10 2009-06-10 Pause memory operations to reduce read latency in memory arrays

Publications (1)

Publication Number Publication Date
JP2016026345A true JP2016026345A (en) 2016-02-12

Family

ID=55303622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015173585A Pending JP2016026345A (en) 2015-09-03 2015-09-03 Temporary stop of memory operation for shortening reading standby time in memory array

Country Status (1)

Country Link
JP (1) JP2016026345A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542337A (en) * 2017-09-22 2019-03-29 三星电子株式会社 Store equipment
CN116049045A (en) * 2022-07-19 2023-05-02 荣耀终端有限公司 Command sending method and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058840A (en) * 2005-07-29 2007-03-08 Sony Corp Storage device, computer system, and storage system
US20070150689A1 (en) * 2005-12-22 2007-06-28 Pandit Anil K Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
JP2008123503A (en) * 2006-11-14 2008-05-29 Samsung Electronics Co Ltd Apparatus and method for controlling operation processing in nonvolatile memory
JP2009503738A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Data manipulation in flash memory using direct data file storage
JP2009087028A (en) * 2007-09-28 2009-04-23 Toshiba Corp Memory system and memory read method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058840A (en) * 2005-07-29 2007-03-08 Sony Corp Storage device, computer system, and storage system
JP2009503738A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Data manipulation in flash memory using direct data file storage
US20070150689A1 (en) * 2005-12-22 2007-06-28 Pandit Anil K Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
JP2008123503A (en) * 2006-11-14 2008-05-29 Samsung Electronics Co Ltd Apparatus and method for controlling operation processing in nonvolatile memory
JP2009087028A (en) * 2007-09-28 2009-04-23 Toshiba Corp Memory system and memory read method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542337A (en) * 2017-09-22 2019-03-29 三星电子株式会社 Store equipment
CN109542337B (en) * 2017-09-22 2023-03-28 三星电子株式会社 Storage device
CN116049045A (en) * 2022-07-19 2023-05-02 荣耀终端有限公司 Command sending method and electronic equipment
CN116049045B (en) * 2022-07-19 2023-12-08 荣耀终端有限公司 Command sending method and electronic equipment

Similar Documents

Publication Publication Date Title
JP2012529692A (en) Pause memory operations to reduce read latency in memory arrays
JP6602823B2 (en) Extended usage range for memory devices
US10108373B2 (en) Host, system, and methods for transmitting commands to non-volatile memory card
US9645829B2 (en) Techniques to communicate with a controller for a non-volatile dual in-line memory module
KR101699104B1 (en) Dynamic allocation of power budget for a system having non-volatile memory
KR101078792B1 (en) Method and device for reduced read latency of non-volatile memory
KR100708128B1 (en) An apparatus and method for controlling nand flash memory
JP2011513823A5 (en)
US20130326113A1 (en) Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
EP3161622B1 (en) Accelerating boot time zeroing of memory based on non-volatile memory (nvm) technology
US8285920B2 (en) Memory device with dynamic controllable physical logical mapping table loading
JP5414656B2 (en) Data storage device, memory control device, and memory control method
CN111108488B (en) Memory block recovery method and device
CN103543815A (en) Information processing apparatus and information processing method
TW201432452A (en) Dynamic central cache memory
US9792989B2 (en) Memory system including nonvolatile memory
US20230244394A1 (en) Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
JP2016026345A (en) Temporary stop of memory operation for shortening reading standby time in memory array
JP2014174849A (en) Semiconductor memory device
KR20220036169A (en) Memory system and data processing system
JP2010186497A (en) Semiconductor storage system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170314