JP2010182216A - Memory controller, nonvolatile storage device, nonvolatile storage system and program - Google Patents

Memory controller, nonvolatile storage device, nonvolatile storage system and program Download PDF

Info

Publication number
JP2010182216A
JP2010182216A JP2009026885A JP2009026885A JP2010182216A JP 2010182216 A JP2010182216 A JP 2010182216A JP 2009026885 A JP2009026885 A JP 2009026885A JP 2009026885 A JP2009026885 A JP 2009026885A JP 2010182216 A JP2010182216 A JP 2010182216A
Authority
JP
Japan
Prior art keywords
processing
nonvolatile memory
aggregation
timeout
time
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
JP2009026885A
Other languages
Japanese (ja)
Inventor
Yoshihisa Inagaki
善久 稲垣
Masahiro Nakanishi
雅浩 中西
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009026885A priority Critical patent/JP2010182216A/en
Publication of JP2010182216A publication Critical patent/JP2010182216A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a nonvolatile storage system that observes a timeout rule in consideration of factors determined depending on the type of a nonvolatile memory. <P>SOLUTION: In the nonvolatile storage system 100, a nonvolatile memory control part 214 can interrupt a collection process in response to a collection process stop signal output from a timeout monitoring part 213 to reliably prevent a timeout. The nonvolatile storage system 100 can thus strictly observe a timeout value (timeout rule). <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムおよびプログラムに関する。特に、不揮発性メモリにおいて不要な情報が記憶されている領域を開放し、記憶可能領域を増加させる集約処理に関する。   The present invention relates to a memory controller, a nonvolatile storage device, a nonvolatile storage system, and a program. In particular, the present invention relates to an aggregation process for releasing an area where unnecessary information is stored in a nonvolatile memory and increasing a storable area.

書き換え可能な不揮発性メモリを備える不揮発性記憶モジュールには、主に、非脱着型と脱着型とがある。非着脱型の不揮発性記憶モジュールは、例えば、デジタルスチルカメラやポータブルオーディオ機器本体内に組み込まれて使用される。一方、着脱型の不揮発性記憶モジュールは、半導体メモリカードに用いられることが多く、近年、その需要が高まっている。
半導体メモリカードは、光ディスクやテープメディアなどと比較して非常に高価格なものではあるが、小型・軽量であり、耐震性に優れ、取り扱いも簡便である等のメリットを有している。そのため、半導体メモリカードは、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体として用いられることが多く、その需要が広まっている。また、近年では、半導体メモリカードの大容量化が進んでおり、この大容量の半導体メモリカードを用いて、パーソナルコンピュータのハードディスクの代替装置や、デジタルテレビの録画メディア等を実現させるための応用検討も進んでいる。
Nonvolatile memory modules including a rewritable nonvolatile memory mainly include a non-detachable type and a removable type. The non-detachable nonvolatile memory module is used by being incorporated in, for example, a digital still camera or a portable audio device main body. On the other hand, detachable nonvolatile memory modules are often used for semiconductor memory cards, and in recent years, their demand is increasing.
A semiconductor memory card is very expensive compared to optical disks and tape media, but has advantages such as small size and light weight, excellent earthquake resistance, and easy handling. For this reason, semiconductor memory cards are often used as recording media for portable devices such as digital still cameras and mobile phones, and the demand for such memory cards is increasing. Also, in recent years, the capacity of semiconductor memory cards has been increasing, and application studies to realize a hard disk replacement device for personal computers, recording media for digital televisions, etc. using this large-capacity semiconductor memory card. Is also progressing.

半導体メモリカードは、一般的に、不揮発性の主記憶メモリとして用いられるフラッシュメモリと、それを制御するメモリコントローラを有している。
メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体などのアクセスモジュールからの情報の読み出し/書き込み指示に応じて、フラッシュメモリに対して、情報の読み出し/書き込み制御を行う。
フラッシュメモリは、一般的に、情報の書き込み/読み出しを「ページ」単位で行い、情報の消去を「ブロック」単位で行う。
「ブロック」は、フラッシュメモリが情報の消去を行う単位であり、複数の「ページ」から形成される(ページ単位で形成される)。1ブロック当たりの容量としては、通常、512kByte或いは256kByteが採用されることが多い。
A semiconductor memory card generally has a flash memory used as a nonvolatile main memory and a memory controller for controlling the flash memory.
The memory controller performs information read / write control with respect to the flash memory in response to an information read / write instruction from an access module such as a digital still camera or a personal computer main body.
A flash memory generally performs writing / reading of information in units of “pages” and erasing information in units of “blocks”.
A “block” is a unit in which the flash memory erases information, and is formed from a plurality of “pages” (formed in units of pages). As the capacity per block, 512 kbytes or 256 kbytes are usually used in many cases.

「ページ」は、フラッシュメモリが情報の書き込み/読み出しを行う単位である。「ページ」は、予め定められた数のメモリセルで構成される。1ページ当たりの容量としては、2kByte或いは4kByteが採用されることが多い。
フラッシュメモリは、データ(情報)をオーバーライト(上書き)して更新することができないため、データ(情報)を書き込むのに十分な空き領域が存在するブロックに対して書き込みを行うことでデータ(情報)を記憶する。このとき、一部領域にのみ情報が書き込まれたブロックが順次発生することとなり、データを書き込む際に十分な空き領域を有するブロックが次第に減少する。これに対処するため、「集約処理」と呼ばれる処理が実行される。「集約処理」とは、不揮発性メモリにおいて、不要な情報(例えば、重複している情報)が記憶されている領域を開放し、記憶可能領域を増加させる処理のことをいい、具体的には、以下のように実行される。
(1)まず、一部領域にのみ情報が書き込まれているブロック(これを「ブロックA」とする。)に対し、当該ブロックAに書き込まれている情報のうち、必要な情報のみを、当該必要な情報を書き込みための容量を確保可能な他のブロック(これを「ブロックB」とする。)に移動する。なお、このとき、ブロックAに論理順(論理ページ順)に書き込まれていない情報については、論理順(論理ページ順)に並べ替えた後、またはブロックAからブロックBに移動する際にブロックAから論理順にデータを読み出すことで、論理順(論理ページ順)となった情報をブロックBに書き込み、ブロックAの必要な情報を、ブロックBに移動する。
(2)次に、必要な情報をブロックAからブロックBに移動した後、ブロックA全体に対して消去処理を実行する。
A “page” is a unit for the flash memory to write / read information. A “page” is composed of a predetermined number of memory cells. As a capacity per page, 2 kbytes or 4 kbytes are often adopted.
Since the flash memory cannot be updated by overwriting the data (information), the data (information) can be written by writing to a block that has enough free space to write the data (information). ) Is memorized. At this time, blocks in which information is written in only a partial area are sequentially generated, and the number of blocks having a sufficient free area is gradually reduced when data is written. In order to cope with this, a process called “aggregation process” is executed. “Aggregation processing” refers to processing that frees an area where unnecessary information (for example, overlapping information) is stored in a nonvolatile memory and increases the storable area. Specifically, It is executed as follows.
(1) First, for a block in which information is written only in a partial area (hereinafter referred to as “block A”), only necessary information among the information written in the block A is Move to another block (referred to as “block B”) capable of securing a capacity for writing necessary information. At this time, information that is not written in the logical order (logical page order) in the block A is rearranged in the logical order (logical page order) or when moving from the block A to the block B. By reading the data in the logical order, information in the logical order (logical page order) is written to the block B, and necessary information of the block A is moved to the block B.
(2) Next, after the necessary information is moved from block A to block B, the entire block A is erased.

これにより、不揮発性メモリ(例えば、フラッシュメモリ)において、不要な情報が記憶されている領域を開放し、記憶可能領域を増加させることができる。
集約処理の一例について、図7(a)および(b)を用いて説明する。
図7(a)に示すように、ブロックAにおいて、必要なデータ(情報)が「必要データ2」、「必要データ1」、「必要データ3」、「必要データ0」の順で、ページ単位に書き込まれており、不要なデータ(情報)が、「不要データ0」、「不要データ1」、「不要データ2」、「不要データ3」、「不要データ4」の順で、ページ単位に書き込まれている。そして、「必要データ0」〜「必要データ3」の容量分以上の空き容量を有するブロックB(図7の例では、ブロックBは、消去済みブロックであり、データは一切書き込まれていない状態のブロックである。)を移動先ブロックとする。
As a result, in a non-volatile memory (for example, a flash memory), an area where unnecessary information is stored can be released, and a storable area can be increased.
An example of the aggregation process will be described with reference to FIGS.
As shown in FIG. 7A, in block A, the necessary data (information) is “necessary data 2”, “necessary data 1”, “necessary data 3”, “necessary data 0” in page order. And unnecessary data (information) is written in page units in the order of “unnecessary data 0”, “unnecessary data 1”, “unnecessary data 2”, “unnecessary data 3”, “unnecessary data 4”. Has been written. Then, a block B having a free capacity equal to or larger than the capacity of “necessary data 0” to “necessary data 3” (in the example of FIG. 7, the block B is an erased block and no data is written in it) Block) is the destination block.

ブロックAにおいて、必要データは、論理順(論理ページ順)に書き込まれていないので、必要データを論理順(論理ページ順)に並べ替える。そして、論理順(論理ページ順)に並べ替えられた必要データを消去済みブロックであるブロックBに書き込んでいく。
そして、旧ブロックであるブロックAに対してデータ消去処理を実行する。
これにより、不揮発性メモリのブロックAおよびブロックBは、図7(b)に示す状態となり、ブロックAが解放され、必要なデータのみがブロックBに移動され、論理順にデータが記録される。
なお、集約処理は、常に行われるわけではなく、不揮発性メモリにおいてデータを書き込み時に必要に応じて行われる。この為、集約処理が実行される場合、書き込み処理の時間が、集約処理が実行されない場合に比べ長くなる。
In block A, the necessary data is not written in the logical order (logical page order), so the necessary data is rearranged in the logical order (logical page order). Then, the necessary data rearranged in the logical order (logical page order) is written into the block B which is an erased block.
Then, the data erasure process is executed for the block A which is the old block.
As a result, the blocks A and B of the nonvolatile memory are in the state shown in FIG. 7B, the block A is released, only the necessary data is moved to the block B, and the data is recorded in the logical order.
The aggregation process is not always performed, but is performed as necessary when data is written in the nonvolatile memory. For this reason, when the aggregation process is executed, the write process takes a longer time than when the aggregation process is not executed.

これに対して、集約処理を分割するという方法および当該方法を実行する不揮発性記憶装置の一例が、特許文献1に開示されている。特許文献1に開示されている従来の不揮発性記憶装置の動作について、図8を用いて説明する。
従来の不揮発性記憶装置では、データ書き込み等の消去処理以外の処理(以下、「消去外処理」という。)を実行する際に、不揮発性メモリにおいて空き容量が不足した場合、当該空き容量を確保すべく消去外処理の実行前に集約処理が実行される。
図8は、従来の不揮発性記憶装置の概念的動作フローを示したものである。なお、図8は、消去外処理T1が実行された後、不揮発性メモリにおいて空き容量が確保できなくなった場合の動作フローを示している。
図8に示すように、従来の不揮発性記憶装置は、消去外処理T1を実行した後、不揮発性メモリにおいて空き容量を確保すべく集約処理G1を実行する。このとき、従来の不揮発性記憶装置は、集約処理G1を、データ移動処理Gd1、消去前処理Gr1、消去本処理Ge1、消去後処理Go1の各処理に分割して(以下、この分割した処理を「GC構成処理」という。)、各分割した処理を実行することで集約処理G1を実行する。
On the other hand, Patent Literature 1 discloses an example of a method of dividing the aggregation processing and an example of a nonvolatile storage device that executes the method. The operation of the conventional nonvolatile memory device disclosed in Patent Document 1 will be described with reference to FIG.
In a conventional nonvolatile storage device, when a process other than an erasure process such as data writing (hereinafter referred to as “non-erase process”) is executed, if the vacant capacity is insufficient in the nonvolatile memory, the vacant capacity is secured. As much as possible, the aggregation process is executed before the non-erase process.
FIG. 8 shows a conceptual operation flow of a conventional nonvolatile memory device. FIG. 8 shows an operation flow in the case where free capacity cannot be secured in the nonvolatile memory after the non-erase process T1 is executed.
As shown in FIG. 8, the conventional non-volatile storage device executes the non-erase process T1 and then executes the aggregation process G1 so as to secure a free space in the non-volatile memory. At this time, the conventional nonvolatile memory device divides the aggregation process G1 into the data movement process Gd1, the pre-erase process Gr1, the main erase process Ge1, and the post-erase process Go1 (hereinafter, this divided process is referred to as “divided process G1”). “GC configuration processing”)), the aggregation processing G1 is executed by executing each divided processing.

そして、従来の不揮発性記憶装置は、各GC構成処理が終了した時点で、集約処理を中断して、消去外処理を実行する。即ち、従来の不揮発性記憶装置は、次のように、集約処理G1および消去外処理を実行する。
(1)データ移動処理Gd1を終了後に、消去外処理T2を実行する。
(2)消去外処理T2の終了後に、消去前処理Gr1を実行する。
(3)消去前処理Gr1を終了後に、消去外処理T3を実行する。
(4)消去外処理T3の終了後に、消去本処理Ge1を実行する。
(5)消去本処理Ge1を終了後に、消去外処理T4を実行する。
(6)消去外処理T4の終了後に、消去後処理Go1を実行する。
(7)消去後処理Go1が終了して集約処理G1が完了すると、その後は、空き容量が不足するまで、更に、他の消去外処理T5、T6、…を順次実行する。
Then, the conventional nonvolatile storage device interrupts the aggregation process and executes the non-erase process when each GC configuration process is completed. That is, the conventional nonvolatile memory device executes the aggregation process G1 and the non-erase process as follows.
(1) After ending the data movement process Gd1, the non-erase process T2 is executed.
(2) After the non-erase process T2, the pre-erase process Gr1 is executed.
(3) After the pre-erase process Gr1, the non-erase process T3 is executed.
(4) After the non-erase process T3 ends, the erase main process Ge1 is executed.
(5) Erase After the main process Ge1, the non-erase process T4 is executed.
(6) After the non-erase process T4, the post-erase process Go1 is executed.
(7) When the post-erase process Go1 is completed and the aggregation process G1 is completed, other non-erase processes T5, T6,... Are sequentially executed until the free space becomes insufficient.

従来の不揮発性記憶装置では、このように処理を実行することで、集約処理の実行を伴う書き込み処理の処理時間が、集約処理の実行を伴わない場合に比べて、著しく長くなることを防止している。
特開2008−146341(第7−9頁、第1図)
In the conventional nonvolatile memory device, by executing the processing in this way, it is possible to prevent the processing time of the write processing accompanied by the execution of the aggregation processing from becoming significantly longer than the case where the execution of the aggregation processing is not performed. ing.
JP 2008-146341 (page 7-9, FIG. 1)

ところで、不揮発性記憶装置において、通常、処理命令に対するタイムアウト値が規定されている。つまり、不揮発性記憶装置において、ある一定期間中に、処理命令に対する応答が無かった場合、デッドロックが発生するのを避けるために、タイムアウト規定(タイムアウト値の規定)が設けられている。不揮発性記憶装置では、このタイムアウト規定に適合するように、集約処理を行う必要がある。
また、不揮発性記憶装置に搭載されているフラッシュメモリの種類(品種)によって、Program Busy時間、Erase Busy時間、ページサイズ、ライトサイクルタイム、リードサイクルタイム、1ブロック内のページ数が異なる。不揮発性記憶装置では、これらのフラッシュメモリの種類(品種)により決定される要因を考慮して、タイムアウト規定に適合するように制御する必要がある。
By the way, in a nonvolatile memory device, a timeout value for a processing instruction is normally defined. That is, in the nonvolatile memory device, a timeout rule (time-out value rule) is provided in order to avoid a deadlock when there is no response to a processing command within a certain period. In the non-volatile storage device, it is necessary to perform aggregation processing so as to meet this timeout rule.
Further, the program busy time, erase busy time, page size, write cycle time, read cycle time, and the number of pages in one block differ depending on the type (product type) of the flash memory installed in the nonvolatile storage device. In the nonvolatile memory device, it is necessary to perform control so as to meet the time-out regulations in consideration of factors determined by the type (type) of these flash memories.

しかしながら、従来の不揮発性記憶装置で実行される書き込み方法では、タイムアウト規定を守れない場合が発生するという問題がある。
本発明は上記問題点に鑑み、不揮発性メモリ(例えば、フラッシュメモリ)の種類(品種)により決定される要因を考慮して、タイムアウト規定を守ることができるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムおよびプログラムを提供することを目的とする。
However, the writing method executed in the conventional nonvolatile memory device has a problem that the timeout rule may not be observed.
In view of the above problems, the present invention considers a factor determined by the type (product type) of a nonvolatile memory (for example, a flash memory), a memory controller, a nonvolatile storage device, and a nonvolatile An object is to provide a storage system and a program.

第1の発明は、所定のコマンドに基づいて、不揮発性メモリに対してデータの読み出し/書き込み制御を行うメモリコントローラであって、不揮発性メモリ制御部と、タイムアウト値取得部と、タイムアウト監視部と、を備える。
不揮発性メモリ制御部は、所定のコマンドに基づいて不揮発性メモリに対してデータの読み出し/書き込み処理を行うとともに、不揮発性メモリにおける不要な情報が記憶されている領域を開放し、不揮発性メモリの記憶可能領域を増加させる処理である集約処理を実行する。タイムアウト値取得部は、所定のコマンドに対するタイムアウト値を取得する。タイムアウト監視部は、所定のコマンドに基づいて、不揮発性メモリ制御部により実行される処理が開始された場合、処理の開始時点からの経過時間を測定し、経過時間がタイムアウト値を超える前の時刻において、集約処理停止信号を不揮発性メモリ制御部に出力する。そして、不揮発性メモリ制御部は、タイムアウト監視部から集約処理停止信号が出力された場合であり、かつ、集約処理が終了していない場合、集約処理を中断させる。
A first invention is a memory controller that performs data read / write control on a nonvolatile memory based on a predetermined command, the nonvolatile memory control unit, a timeout value acquisition unit, a timeout monitoring unit, .
The non-volatile memory control unit performs data read / write processing on the non-volatile memory based on a predetermined command, and opens an area where unnecessary information is stored in the non-volatile memory. An aggregation process, which is a process for increasing the storable area, is executed. The timeout value acquisition unit acquires a timeout value for a predetermined command. The time-out monitoring unit measures the elapsed time from the start time of the process when the process executed by the nonvolatile memory control unit is started based on a predetermined command, and the time before the elapsed time exceeds the timeout value. Then, the aggregation processing stop signal is output to the nonvolatile memory control unit. The nonvolatile memory control unit interrupts the aggregation process when the aggregation process stop signal is output from the timeout monitoring unit and the aggregation process has not ended.

このメモリコントローラでは、タイムアウト値取得部により、所定のコマンドに対するタイムアウト値を取得し、所定のコマンドに基づいて、不揮発性メモリ制御部により実行される処理が開始された場合、処理の開始時点からの経過時間を測定し、経過時間がタイムアウト値を超える前の時刻において、集約処理停止信号を不揮発性メモリ制御部に出力する。そして、タイムアウト監視部から出力される集約処理停止信号に基づいて、集約処理が中断されるので、タイムアウトの発生を確実に防止することができる。
第2の発明は、第1の発明であって、不揮発性メモリ制御部は、第1ステップ処理から第Nステップ処理(N:2以上の自然数)の複数のステップ処理を行うことで、集約処理を実行する。また、タイムアウト監視部は、所定のコマンドに基づく処理TA1とし、集約処理の第1ステップ処理から第kステップ処理(kは、k≦N−1を満たす自然数)までの合計処理時間TB(k)とし、集約処理の第1ステップ処理から第(k+1)ステップ処理(kは、k+1≦Nを満たす自然数)までの合計処理時間TB(k+1)とし、所定のコマンドのタイムアウト値に相当する時間をTOとしたとき、
TA1+TB(k)<TO<TA1+TB(k+1)
となる場合、第(k+1)ステップ処理が実行される前の時刻までに、集約処理停止信号を出力する。
In this memory controller, the timeout value acquisition unit acquires a timeout value for a predetermined command, and when the process executed by the nonvolatile memory control unit is started based on the predetermined command, The elapsed time is measured, and an aggregation processing stop signal is output to the nonvolatile memory control unit at a time before the elapsed time exceeds the timeout value. Since the aggregation process is interrupted based on the aggregation process stop signal output from the timeout monitoring unit, it is possible to reliably prevent the occurrence of timeout.
2nd invention is 1st invention, Comprising: A non-volatile memory control part performs the aggregation process by performing the several step process from 1st step process to Nth step process (N: natural number more than 2). Execute. The timeout monitoring unit sets the processing TA1 based on a predetermined command, and the total processing time TB (k) from the first step processing of the aggregation processing to the k-th step processing (k is a natural number satisfying k ≦ N−1). And the total processing time TB (k + 1) from the first step processing of the aggregation processing to the (k + 1) -th step processing (k is a natural number satisfying k + 1 ≦ N), and the time corresponding to the timeout value of a predetermined command is TO When
TA1 + TB (k) <TO <TA1 + TB (k + 1)
In this case, the aggregation process stop signal is output by the time before the (k + 1) th step process is executed.

このメモリコントローラでは、不揮発性メモリ制御部により、第1ステップ処理から第Nステップ処理(N:2以上の自然数)の複数のステップ処理を行うことで、集約処理が実行される。複数のステップ処理は、通常、不揮発性メモリの種類(品種)により決定されるものであるので、このメモリコントローラにより、不揮発性メモリの種類(品種)により決定される要因を考慮して、タイムアウト規定を守ることができる。つまり、このメモリコントローラでは、不揮発性メモリの種類(品種)により決定される各ステップ処理の処理時間を考慮して、集約処理を実行するので、不揮発性メモリの種類(品種)がどのようなものであってもタイムアウトの発生を確実に防止することができる。
第3の発明は、第2の発明であって、不揮発性メモリ制御部は、集約処理の各ステップ処理の処理時間に関する情報を、不揮発性メモリから取得し、タイムアウト監視部は、不揮発性メモリ制御部により取得された集約処理の各ステップ処理の処理時間に関する情報に基づいて、集約処理停止信号を出力する。
In this memory controller, the aggregation process is executed by performing a plurality of step processes from the first step process to the Nth step process (N: natural number of 2 or more) by the nonvolatile memory control unit. Since the multiple step processing is usually determined by the type (type) of nonvolatile memory, this memory controller takes into account the factors determined by the type (type) of nonvolatile memory and specifies the timeout. Can be protected. In other words, in this memory controller, the aggregation process is executed in consideration of the processing time of each step process determined by the type (type) of the nonvolatile memory, so what kind of type (type) the nonvolatile memory is Even so, the occurrence of a timeout can be surely prevented.
3rd invention is 2nd invention, Comprising: A non-volatile memory control part acquires the information regarding the processing time of each step process of an aggregation process from a non-volatile memory, A timeout monitoring part is non-volatile memory control. The aggregation processing stop signal is output based on the information regarding the processing time of each step processing of the aggregation processing acquired by the unit.

第4の発明は、不揮発性メモリと、第1から第3のいずれかの発明であるメモリコントローラと、を備える不揮発性記憶装置である。
これにより、第1から第3のいずれかの発明と同様の効果を奏する不揮発性記憶装置を実現することができる。
第5の発明は、第4の発明である不揮発性記憶装置と、不揮発性記憶装置に対してデータの読み出し/書き込み制御を指示するコマンドを発行する処理命令部と、を備える不揮発性記憶システムである。
これにより、第4の発明と同様の効果を奏する不揮発性記憶システムを実現することができる。
第6の発明は、所定のコマンドに基づいて、不揮発性メモリに対してデータの読み出し/書き込み制御を行うメモリコントローラを制御する制御方法をコンピュータに実行させるプログラムである。メモリコントローラを制御する制御方法は、不揮発性メモリ制御ステップと、タイムアウト値取得ステップと、タイムアウト監視ステップと、を備える。
A fourth invention is a nonvolatile memory device comprising a nonvolatile memory and a memory controller according to any one of the first to third inventions.
Thereby, a non-volatile memory device having the same effect as any of the first to third inventions can be realized.
A fifth invention is a nonvolatile memory system comprising the nonvolatile memory device according to the fourth invention, and a processing instruction unit for issuing a command for instructing the nonvolatile memory device to read / write data. is there.
Thus, a nonvolatile memory system that exhibits the same effect as that of the fourth invention can be realized.
A sixth aspect of the invention is a program that causes a computer to execute a control method for controlling a memory controller that performs data read / write control on a nonvolatile memory based on a predetermined command. A control method for controlling the memory controller includes a nonvolatile memory control step, a timeout value acquisition step, and a timeout monitoring step.

不揮発性メモリ制御ステップでは、所定のコマンドに基づいて不揮発性メモリに対してデータの読み出し/書き込み処理を行うとともに、不揮発性メモリにおける不要な情報が記憶されている領域を開放し、不揮発性メモリの記憶可能領域を増加させる処理である集約処理を実行する。タイムアウト値取得ステップでは、所定のコマンドに対するタイムアウト値を取得する。タイムアウト監視ステップでは、所定のコマンドに基づいて、不揮発性メモリ制御ステップにより実行される処理が開始された場合、処理の開始時点からの経過時間を測定し、経過時間がタイムアウト値を超える前の時刻において、集約処理停止信号を出力する。そして、不揮発性メモリ制御ステップでは、タイムアウト監視ステップにより集約処理停止信号が出力された場合であり、かつ、集約処理が終了していない場合、集約処理を中断させる。   In the nonvolatile memory control step, data read / write processing is performed on the nonvolatile memory based on a predetermined command, and an area where unnecessary information is stored in the nonvolatile memory is released, and the nonvolatile memory An aggregation process, which is a process for increasing the storable area, is executed. In the timeout value acquisition step, a timeout value for a predetermined command is acquired. In the timeout monitoring step, when the process executed by the nonvolatile memory control step is started based on a predetermined command, the elapsed time from the start of the process is measured, and the time before the elapsed time exceeds the timeout value In, an aggregation processing stop signal is output. In the nonvolatile memory control step, the aggregation process is interrupted when the aggregation process stop signal is output in the timeout monitoring step and the aggregation process is not completed.

これにより、第1の発明と同様の効果を奏するメモリコントローラを制御する制御方法をコンピュータに実行させるプログラムを実現することができる。   Thus, it is possible to realize a program that causes a computer to execute a control method for controlling a memory controller that exhibits the same effect as that of the first invention.

本発明によれば、タイムアウト規定を守りながら、集約処理を実行することが可能となる。さらに、不揮発性メモリの品種により決定される要因を考慮して、適応的に集約処理を実行することができる。これにより、メモリコントローラ、不揮発性記憶装置、または不揮発性記憶システムにおいて、使用できる不揮発性メモリ(例えば、フラッシュメモリ)の品種を増やし、用途に合わせた不揮発性メモリ(例えば、フラッシュメモリ)の選定が可能になる。   According to the present invention, it is possible to execute aggregation processing while observing the timeout rule. Furthermore, the aggregation process can be adaptively executed in consideration of factors determined by the type of nonvolatile memory. As a result, in the memory controller, the non-volatile memory device, or the non-volatile memory system, the number of usable non-volatile memories (for example, flash memory) is increased, and the non-volatile memory (for example, flash memory) can be selected according to the application. It becomes possible.

以下、本発明の実施形態について、図面を参照しながら説明する。
[第1実施形態]
<1.1:不揮発性記憶システムの構成>
図1は、第1実施形態に係る不揮発性記憶システム100の概略構成図である。
図1に示すように、不揮発性記憶システム100は、処理命令部1(例えば、不揮発性記憶装置にデータを記録するホスト装置)と、処理命令部1からの命令(コマンド等)により情報(データ)の読み出し/書き込み等を行う不揮発性記憶装置2と、を備える。そして、不揮発性記憶装置2は、情報(データ)を記憶する不揮発性メモリ22(例えば、フラッシュメモリ)と、不揮発性メモリ22に対して、情報(データ)の読み出し/書き込み等の制御を行うメモリコントローラ21と、を備える。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
<1.1: Configuration of Nonvolatile Storage System>
FIG. 1 is a schematic configuration diagram of a nonvolatile memory system 100 according to the first embodiment.
As shown in FIG. 1, the nonvolatile storage system 100 includes information (data) based on a processing command unit 1 (for example, a host device that records data in a nonvolatile storage device) and a command (command or the like) from the processing command unit 1. And a non-volatile storage device 2 that reads / writes data). The nonvolatile memory device 2 includes a nonvolatile memory 22 (for example, a flash memory) that stores information (data), and a memory that controls reading / writing of information (data) with respect to the nonvolatile memory 22 And a controller 21.

メモリコントローラ21は、インターフェース部(以下、IF部)211と、タイムアウト値取得部212と、タイムアウト監視部213と、不揮発性メモリ制御部214と、を備える。
IF部211は、処理命令部1とメモリコントローラとの通信のインターフェース処理を行う。具体的には、IF部211は、処理命令部1から送信された命令(コマンド等)を受信し、受信した命令の内容に応じて、受信した命令(コマンド等)を不揮発性メモリ制御部214またはタイムアウト値取得部212に出力する。IF部211は、タイムアウト値についての情報を含む命令を受信した場合、その受信した命令をタイムアウト値取得部に出力する。
タイムアウト値取得部212は、IF部211から出力された命令(コマンド等)からタイムアウト値を取得する。そして、取得したタイムアウト値をタイムアウト監視部213に出力する。
The memory controller 21 includes an interface unit (hereinafter, IF unit) 211, a timeout value acquisition unit 212, a timeout monitoring unit 213, and a nonvolatile memory control unit 214.
The IF unit 211 performs interface processing for communication between the processing command unit 1 and the memory controller. Specifically, the IF unit 211 receives a command (command or the like) transmitted from the processing command unit 1 and sends the received command (command or the like) to the nonvolatile memory control unit 214 according to the content of the received command. Alternatively, it is output to the timeout value acquisition unit 212. When the IF unit 211 receives an instruction including information on the timeout value, the IF unit 211 outputs the received instruction to the timeout value acquisition unit.
The timeout value acquisition unit 212 acquires a timeout value from an instruction (command or the like) output from the IF unit 211. Then, the acquired timeout value is output to the timeout monitoring unit 213.

タイムアウト監視部213は、タイムアウト値取得部212から出力されたタイムアウト値を保持するとともに、不揮発性メモリ制御部214が実行している処理内容についての情報(任意の処理がどこまで実行されたかを示す情報を含む。)を不揮発性メモリ制御部214から取得する。タイムアウト監視部213は、不揮発性メモリ制御部214の処理を監視し、不揮発性メモリ制御部214の処理時間と、タイムアウト値に基づいて、不揮発性メモリ制御部214が次の処理に移行した場合、タイムアウトが発生するか否かを判定する。そして、タイムアウト監視部213は、タイムアウトが発生すると判定した場合(具体的な判断方法等については後述する)、集約処理停止信号を不揮発性メモリ制御部214に出力する。また、タイムアウト監視部213は、経過時間を計測する機能を有しており、任意のタイミングからの経過時間を計測することができる。   The time-out monitoring unit 213 holds the time-out value output from the time-out value acquisition unit 212 and also information on the processing contents executed by the nonvolatile memory control unit 214 (information indicating how far an arbitrary processing has been executed) Is acquired from the non-volatile memory control unit 214. The timeout monitoring unit 213 monitors the processing of the nonvolatile memory control unit 214, and when the nonvolatile memory control unit 214 shifts to the next processing based on the processing time of the nonvolatile memory control unit 214 and the timeout value, Determine whether a timeout occurs. If the timeout monitoring unit 213 determines that a timeout occurs (a specific determination method will be described later), the timeout monitoring unit 213 outputs an aggregation processing stop signal to the nonvolatile memory control unit 214. The timeout monitoring unit 213 has a function of measuring elapsed time, and can measure elapsed time from an arbitrary timing.

不揮発性メモリ制御部214は、IF部211から出力された命令(コマンド等)に基づいて、不揮発性メモリ22を制御する。また、不揮発性メモリ制御部214は、タイムアウト監視部213に対して、不揮発性メモリ制御部214が実行する処理内容についての情報を出力する。また、不揮発性メモリ制御部214は、タイムアウト監視部213から集約処理停止信号が出力された場合、集約処理を停止する。
<1.2:不揮発性記憶システムの動作>
以上のように構成された不揮発性記憶システムの動作について、説明する。
処理命令部1は、不揮発性メモリ制御部214へ発行予定の命令のタイムアウト値を含むデータ(このデータは、例えば、データパケットやコマンドパケットにより送信される。)をメモリコントローラ21のIF部211に送信する。ここでは、発行予定の命令がWrite命令であるとして、以下説明する。
The non-volatile memory control unit 214 controls the non-volatile memory 22 based on a command (command or the like) output from the IF unit 211. In addition, the nonvolatile memory control unit 214 outputs information about the processing contents executed by the nonvolatile memory control unit 214 to the timeout monitoring unit 213. Further, when the aggregation process stop signal is output from the timeout monitoring unit 213, the nonvolatile memory control unit 214 stops the aggregation process.
<1.2: Operation of nonvolatile storage system>
The operation of the nonvolatile storage system configured as described above will be described.
The processing command unit 1 transmits data including a timeout value of a command scheduled to be issued to the nonvolatile memory control unit 214 (this data is transmitted by, for example, a data packet or a command packet) to the IF unit 211 of the memory controller 21. Send. Here, the following description will be made assuming that the command to be issued is a Write command.

IF部211では、受信したデータを解析し、Write命令のタイムアウト値に関する情報を含むデータであると判定し、当該受信データをタイムアウト値取得部212に出力する。
タイムアウト値取得部212では、入力されたデータからWrite命令のタイムアウト値を取得する。そして、取得されたタイムアウト値は、タイムアウト監視部213に出力される。
また、処理命令部1は、メモリコントローラ21に対して、発行予定の命令(Write命令)を発行する。IF部211は、処理命令部1から送信された発行予定の命令(Write命令)を受信し、受信したWrite命令を不揮発性メモリ制御部214に出力する。
The IF unit 211 analyzes the received data, determines that the data includes information related to the timeout value of the Write command, and outputs the received data to the timeout value acquisition unit 212.
The timeout value acquisition unit 212 acquires the timeout value of the Write command from the input data. The acquired timeout value is output to the timeout monitoring unit 213.
Further, the processing instruction unit 1 issues an instruction to be issued (Write instruction) to the memory controller 21. The IF unit 211 receives a command to be issued (Write command) transmitted from the processing command unit 1, and outputs the received Write command to the nonvolatile memory control unit 214.

不揮発性メモリ制御部214は、Write命令に従い、不揮発性メモリ22に対して、データ書き込み処理(Write処理)を実行する。そして、不揮発性メモリ制御部214は、Write処理の実行後に、集約処理を実行する。
一方、タイムアウト監視部213は、タイムアウトの規定に従い経過時間の測定を開始する。具体的に、図2を用いて説明する。図2は、不揮発性記憶システムにおけるWrite処理および集約処理の処理タイミングを模式的に示した図である。なお、図2において、Write処理1は、集約処理が必要なWrite処理であり、Write処理2は、集約処理を必要としないWrite処理であるものとする。また、集約処理1および集約処理2は、Write処理1に伴う集約処理であるものとする。
図2に示すように、時刻t0において、不揮発性メモリ制御部214によりWrite処理(図2のWrite処理1)が開始される。タイムアウト監視部213は、時刻t0から経過時間の測定を開始し、Write処理および集約処理の処理時間が、タイムアウト値を超えないか監視する。
The nonvolatile memory control unit 214 executes data write processing (Write processing) to the nonvolatile memory 22 in accordance with the Write command. Then, the non-volatile memory control unit 214 executes the aggregation process after executing the write process.
On the other hand, the timeout monitoring unit 213 starts measuring elapsed time in accordance with the timeout rule. This will be specifically described with reference to FIG. FIG. 2 is a diagram schematically showing processing timings of write processing and aggregation processing in the nonvolatile storage system. In FIG. 2, it is assumed that the write process 1 is a write process that requires an aggregation process, and the write process 2 is a write process that does not require an aggregation process. Further, it is assumed that the aggregation process 1 and the aggregation process 2 are aggregation processes associated with the write process 1.
As shown in FIG. 2, the write processing (Write processing 1 in FIG. 2) is started by the nonvolatile memory control unit 214 at time t0. The timeout monitoring unit 213 starts measuring elapsed time from time t0, and monitors whether the processing time of the write processing and the aggregation processing exceeds the timeout value.

なお、不揮発性記憶装置2では、集約処理を以下の3つのステップ処理に分ける。
(1)新規ブロックの取得処理
(2)必要なデータのページ毎の移動・書き込み処理
(3)旧ブロックの消去処理
タイムアウト監視部213は、不揮発性メモリ制御部214の処理を監視し、不揮発性メモリ制御部214の処理時間と、タイムアウト値に基づいて、不揮発性メモリ制御部214が次の処理に移行した場合、タイムアウトが発生するか否かを判定する。そして、タイムアウト監視部213は、タイムアウトが発生すると判定した場合、集約処理停止信号を不揮発性メモリ制御部214に出力する。図2の場合では、時刻tsに、集約処理停止信号が出力されている。
In the nonvolatile memory device 2, the aggregation process is divided into the following three step processes.
(1) New block acquisition process (2) Necessary data move / write process for each page (3) Old block erase process The time-out monitoring unit 213 monitors the process of the non-volatile memory control unit 214 and is non-volatile. Based on the processing time of the memory control unit 214 and the timeout value, when the nonvolatile memory control unit 214 shifts to the next processing, it is determined whether or not a timeout occurs. When the timeout monitoring unit 213 determines that a timeout occurs, the timeout monitoring unit 213 outputs an aggregation processing stop signal to the nonvolatile memory control unit 214. In the case of FIG. 2, the aggregation processing stop signal is output at time ts.

タイムアウト監視部213から集約処理停止信号が出力されると、不揮発性メモリ制御部214は、現在実行中の処理が終了した後、次の処理に移行するのを停止する。なお、集約処理停止信号の出力タイミングは、次の処理(実行するとタイムアウトが発生すると判定された処理)に移行される前の時刻であればよく、必ずしも、不揮発性メモリ制御部214の現在実行中の処理の終了時点と一致させる必要はない。
≪集約処理停止信号を発信する判断方法≫
次に、タイムアウト監視部213が集約処理停止信号を発信する判断方法を、図3を用いて説明する。
図3は、不揮発性記憶システム100における集約処理の各ステップ処理にかかる時間の一例を示している。
When the aggregation process stop signal is output from the timeout monitoring unit 213, the nonvolatile memory control unit 214 stops the transition to the next process after the currently executing process is completed. Note that the output timing of the aggregation processing stop signal may be the time before the transition to the next processing (processing determined to time out when executed), and is not necessarily being executed by the nonvolatile memory control unit 214. It is not necessary to match the end point of the process.
≪Judgment method to send aggregate processing stop signal≫
Next, a determination method in which the timeout monitoring unit 213 transmits an aggregation processing stop signal will be described with reference to FIG.
FIG. 3 shows an example of the time required for each step process of the aggregation process in the nonvolatile storage system 100.

図3に示すように、この例では、(1)新規ブロック取得処理の処理時間は、100[μs]であり、(2)各ページの必要データ移動・書き込み処理の処理時間は、2000[μs]であり、(3)旧ブロック消去処理の処理時間は、3000[μs]である。また、1ブロック内のページ数は、128ページである。
例えば、タイムアウト値を150[ms]とし、Write処理に4000[μs]かかったとすると、
100[μs]+2000[μs]×72<150[ms]−4000[μs]<100[μs]+2000[μs]×(72+1)
であるので、第72ページの移動・書き込み処理の最中に、タイムアウト監視部213は、集約処理停止信号を不揮発性メモリ制御部214に発信し、集約処理において、どこまで処理が完了しているか(この場合は、第72ページの移動・書き込みまで完了していること)を記憶しておく。
As shown in FIG. 3, in this example, (1) the processing time of the new block acquisition processing is 100 [μs], and (2) the processing time of the necessary data movement / write processing of each page is 2000 [μs]. (3) The processing time of the old block erasing process is 3000 [μs]. The number of pages in one block is 128 pages.
For example, if the timeout value is 150 [ms] and the write process takes 4000 [μs],
100 [μs] +2000 [μs] × 72 <150 [ms] −4000 [μs] <100 [μs] +2000 [μs] × (72 + 1)
Therefore, during the move / write process on page 72, the timeout monitoring unit 213 sends an aggregation process stop signal to the nonvolatile memory control unit 214, and to what extent the process is completed in the aggregation process ( In this case, it is stored that the movement and writing of the 72nd page has been completed).

不揮発性メモリ制御部214は、タイムアウト監視部213から出力される集約処理停止信号に基づいて、集約処理を一時的に中断させることで、タイムアウトの発生を防ぐ。
そして、集約処理が再開できる状況になったときに、タイムアウト監視部213が保持している情報(集約処理がどこまで完了しているか示す情報)に基づいて、続きの集約処理を再開させる。例えば、図2の例では、時刻tsで集約処理が中断され、時刻trで集約処理が再開され、そして、時刻teで集約処理が終了している。
以上のように、不揮発性記憶システム100では、不揮発性メモリ制御部214が、タイムアウト監視部213から出力される集約処理停止信号に基づいて、集約処理を中断させ、タイムアウトの発生を確実に防止することができる。その結果、不揮発性記憶システム100では、タイムアウト値(タイムアウト規定)を厳密に守ると同時に、タイムアウト値で定められる時間内において、集約処理を進めることが可能となる。
The non-volatile memory control unit 214 prevents timeout from occurring by temporarily interrupting the aggregation process based on the aggregation process stop signal output from the timeout monitoring unit 213.
Then, when the aggregation process can be resumed, the subsequent aggregation process is resumed based on information held by the timeout monitoring unit 213 (information indicating how far the aggregation process has been completed). For example, in the example of FIG. 2, the aggregation process is interrupted at time ts, the aggregation process is resumed at time tr, and the aggregation process ends at time te.
As described above, in the nonvolatile storage system 100, the nonvolatile memory control unit 214 interrupts the aggregation processing based on the aggregation processing stop signal output from the timeout monitoring unit 213, and reliably prevents the occurrence of timeout. be able to. As a result, in the non-volatile storage system 100, it is possible to proceed with the aggregation process within the time determined by the timeout value while strictly keeping the timeout value (timeout rule).

なお、上記ではタイムアウト値を処理命令部1からメモリコントローラ21に知らせる場合について説明したが、これに限定されることはなく、例えば、製品出荷時等に、タイムアウト値に関する情報を、予め不揮発性メモリ22に記憶しておいても良い。この場合、不揮発性メモリ22から読み出したタイムアウト値に関する情報は、例えば、不揮発性メモリ制御部214からタイムアウト値取得部212に通知されるようにすればよい。なお、タイムアウト値がコマンド毎に異なっている場合は、それらのコマンドとタイムアウトの関係を示すデータを、あるいは一律にタイムアウト値が決まっている場合はそのタイムアウト値のデータを記憶しておくこととなる。
また、集約処理の各ステップ処理の処理時間を不揮発性メモリ制御部214に接続される不揮発性メモリ22に記憶しておき、それを読み出すことで、集約処理の各ステップ処理の処理時間を取得するようにしても良いし、集約処理の各ステップ処理の処理時間が処理命令部1から不揮発性記憶装置2に通知されるものであってもよい。
In the above description, the case where the processing instruction unit 1 notifies the memory controller 21 of the timeout value has been described. However, the present invention is not limited to this. For example, information regarding the timeout value is previously stored in the nonvolatile memory at the time of product shipment. 22 may be stored. In this case, the information regarding the timeout value read from the nonvolatile memory 22 may be notified from the nonvolatile memory control unit 214 to the timeout value acquisition unit 212, for example. If the timeout value is different for each command, the data indicating the relationship between these commands and the timeout is stored, or if the timeout value is uniformly determined, the data of the timeout value is stored. .
In addition, the processing time of each step process of the aggregation process is stored in the nonvolatile memory 22 connected to the nonvolatile memory control unit 214, and the processing time of each step process of the aggregation process is acquired by reading it. Alternatively, the processing time of each step processing of the aggregation processing may be notified from the processing command unit 1 to the nonvolatile storage device 2.

また、上記では、集約処理の各ステップ処理時間に基づいて、集約処理の中断タイミングを決定する場合について説明したが、例えば、以下のようにしてもよい。
タイムアウト監視部213が、メモリコントローラの動作クロックから、(例えば、クロックカウントにより)タイムアウトが発生する直前のタイミングを算出し、当該タイミングで、割込を発生させることで、集約処理を中断させるようにしてもよい。
なお、上記では、不揮発性メモリとして、フラッシュメモリを用いる場合を想定しているが、これに限定されることはなく、例えば、不揮発性メモリとして、フラッシュメモリ以外の他の不揮発性メモリ(例えば、EEPROM等)を用いるようにしてもよい。
[第2実施形態]
図4に、第2実施形態に係る不揮発性記憶システム200の概略構成図を示す。
Moreover, although the case where the interruption timing of the aggregation process is determined based on each step processing time of the aggregation process has been described above, for example, the following may be performed.
The timeout monitoring unit 213 calculates the timing immediately before the timeout occurs (for example, by clock count) from the operation clock of the memory controller, and interrupts the aggregation process by generating an interrupt at the timing. May be.
In the above, it is assumed that a flash memory is used as the nonvolatile memory, but the present invention is not limited to this. For example, as the nonvolatile memory, a nonvolatile memory other than the flash memory (for example, EEPROM may be used.
[Second Embodiment]
FIG. 4 shows a schematic configuration diagram of a nonvolatile memory system 200 according to the second embodiment.

第1実施形態に係る不揮発性記憶システム100は、1つの不揮発性メモリ22を備えるが、第2実施形態に係る不揮発性記憶システム200では、複数の不揮発性メモリ(図4の場合は、3つの不揮発性メモリ(第1不揮発性メモリ22A、第2不揮発性メモリ22Bおよび第3不揮発性メモリ22C))を備えている。また、第2実施形態に係る不揮発性記憶システム200では、第1実施形態に係る不揮発性記憶システム100における不揮発性メモリ制御部214を、複数の不揮発性メモリを制御する不揮発性メモリ制御部214Aに置換した構成となっている。以上の点が、第2実施形態に係る不揮発性記憶システム200と第1実施形態に係る不揮発性記憶システム100との相違点である。
なお、本実施形態において、第1実施形態と同様の部分については、同一符号を付し、説明を省略する。
The nonvolatile storage system 100 according to the first embodiment includes one nonvolatile memory 22, but the nonvolatile storage system 200 according to the second embodiment includes a plurality of nonvolatile memories (in the case of FIG. Nonvolatile memory (first nonvolatile memory 22A, second nonvolatile memory 22B, and third nonvolatile memory 22C)). In the nonvolatile memory system 200 according to the second embodiment, the nonvolatile memory control unit 214 in the nonvolatile memory system 100 according to the first embodiment is replaced with a nonvolatile memory control unit 214A that controls a plurality of nonvolatile memories. It has a replacement configuration. The above points are the differences between the nonvolatile memory system 200 according to the second embodiment and the nonvolatile memory system 100 according to the first embodiment.
In the present embodiment, the same parts as those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.

不揮発性記憶システム200は、複数種類の不揮発性メモリ(図4では、第1不揮発性メモリ22A、第2不揮発性メモリ22Bおよび第3不揮発性メモリ22Cの3つの不揮発性メモリ)を備える。なお、以下では、説明便宜のため、不揮発性メモリが3つ(第1不揮発性メモリ22A、第2不揮発性メモリ22Bおよび第3不揮発性メモリ22C)の場合について説明する。
第1実施形態では、ある1種類の不揮発性メモリ(フラッシュメモリ)の集約処理の各ステップ処理の所要時間のテーブル(図3のテーブル)を用いたが、本実施形態のように、不揮発性記憶システム200において、複数種類の不揮発性メモリ(フラッシュメモリ)が接続される場合は、接続されている不揮発性メモリ(フラッシュメモリ)に応じて、集約処理の処理時間のテーブルを選択する。
The non-volatile storage system 200 includes a plurality of types of non-volatile memories (in FIG. 4, three non-volatile memories including a first non-volatile memory 22A, a second non-volatile memory 22B, and a third non-volatile memory 22C). In the following, for convenience of explanation, a case where there are three nonvolatile memories (first nonvolatile memory 22A, second nonvolatile memory 22B, and third nonvolatile memory 22C) will be described.
In the first embodiment, a table of the time required for each step process of aggregation processing of one kind of nonvolatile memory (flash memory) (table in FIG. 3) is used. However, as in this embodiment, nonvolatile storage is performed. In the system 200, when a plurality of types of non-volatile memories (flash memories) are connected, a table of processing time of aggregation processing is selected according to the connected non-volatile memories (flash memories).

具体的には、不揮発性メモリ制御部214Aは、接続されている第1不揮発性メモリ22A、第2不揮発性メモリ22Bおよび第3不揮発性メモリ22Cのそれぞれに対して、コマンドを発行し、そのレスポンスをタイムアウト監視部213に通知する。タイムアウト監視部213は、通知されたレスポンスから、どのような種類の不揮発性メモリ(フラッシュメモリ)であるかを判別する。
例えば、不揮発性メモリ制御部214Aは、第2不揮発性メモリ22Bに対して、ID READコマンドを発行し、接続されている第2不揮発性メモリ22B(フラッシュメモリB)のレスポンスに含まれるメーカーコードを元に、集約処理の処理時間のテーブルを選択する。例えば、ID READコマンドのレスポンスのメーカーコードと、不揮発性メモリ(フラッシュメモリ)の種類との対応が、図5に示すものであるとする。この場合、不揮発性メモリ制御部214Aは、不揮発性メモリに対して、ID READコマンドを発行し、そのレスポンスによりメーカーコードを取得する。第2不揮発性メモリ22Bに対して発行したID READコマンドのレスポンスにおいて、メーカーコードが“0B”であれば、不揮発性メモリ制御部214Aは、図5に示すテーブルから、接続されている不揮発性メモリ(フラッシュメモリ)が「フラッシュメモリB」であると判定する。
Specifically, the non-volatile memory control unit 214A issues a command to each of the connected first non-volatile memory 22A, second non-volatile memory 22B, and third non-volatile memory 22C, and the response Is notified to the timeout monitoring unit 213. The timeout monitoring unit 213 determines what type of non-volatile memory (flash memory) from the notified response.
For example, the non-volatile memory control unit 214A issues an ID READ command to the second non-volatile memory 22B, and the manufacturer code included in the response of the connected second non-volatile memory 22B (flash memory B). Based on the table, the processing time table of the aggregation processing is selected. For example, it is assumed that the correspondence between the manufacturer code of the response of the ID READ command and the type of the nonvolatile memory (flash memory) is as shown in FIG. In this case, the non-volatile memory control unit 214A issues an ID READ command to the non-volatile memory, and acquires a manufacturer code based on the response. If the manufacturer code is “0B” in the response of the ID READ command issued to the second nonvolatile memory 22B, the nonvolatile memory control unit 214A determines that the nonvolatile memory connected from the table shown in FIG. It is determined that (flash memory) is “flash memory B”.

そして、不揮発性メモリ制御部214Aは、図6に示すテーブルから、品種判定した不揮発性メモリ(フラッシュメモリ)(上記の場合では、「フラッシュメモリB」)に対応する集約処理の各ステップ処理の処理時間を取得する。
そして、不揮発性メモリ制御部214Aは、第2不揮発性メモリ22Bに対して、集約処理を行う場合、図6に示すテーブルの「フラッシュメモリB」のデータを用いて処理を行う。
同様にして、不揮発性記憶システム200において、第1不揮発性メモリ22Aが「フラッシュメモリA」であり、第3不揮発性メモリ22Cが「フラッシュメモリC」であると認識される。そして、不揮発性メモリ制御部214Aは、第1不揮発性メモリ22Aに対して、集約処理を行う場合、図6に示すテーブルの「フラッシュメモリA」のデータを用いて処理を行い、第3不揮発性メモリ22Cに対して、集約処理を行う場合、図6に示すテーブルの「フラッシュメモリC」のデータを用いて処理を行う。なお、集約処理については、第1実施形態と同様であるので、説明は省略する。
Then, the nonvolatile memory control unit 214A performs processing of each step process of the aggregation process corresponding to the nonvolatile memory (flash memory) (“flash memory B” in the above case) whose type has been determined from the table shown in FIG. Get time.
Then, when performing the aggregation process on the second nonvolatile memory 22B, the nonvolatile memory control unit 214A performs the process using the data of the “flash memory B” in the table illustrated in FIG.
Similarly, in the nonvolatile storage system 200, the first nonvolatile memory 22A is recognized as “flash memory A” and the third nonvolatile memory 22C is recognized as “flash memory C”. Then, when performing the aggregation process on the first nonvolatile memory 22A, the nonvolatile memory control unit 214A performs the process using the data of “flash memory A” in the table shown in FIG. When the aggregation process is performed on the memory 22C, the process is performed using the data of “flash memory C” in the table shown in FIG. The aggregation process is the same as that in the first embodiment, and a description thereof will be omitted.

以上により、不揮発性記憶システム200では、複数種類の不揮発性メモリが接続されている場合であっても、不揮発性メモリの種類(品種)により決定される集約処理の各ステップ処理の処理時間を取得し、取得した集約処理の各ステップ処理の処理時間に基づいて、集約処理を実行するので、タイムアウトの発生を確実に防止することができる。その結果、不揮発性記憶システム200では、複数種類の不揮発性メモリが接続されている場合であっても、タイムアウト値(タイムアウト規定)を厳密に守ることができる。
なお、接続されている不揮発性メモリの判別処理において、メーカーコードではなく、デバイスコード等を利用し、接続される不揮発性メモリ(フラッシュメモリ)の判別を行うようにしてもよい。つまり、不揮発性メモリに対してコマンドを発行し、そのレスポンスから、不揮発性メモリの種別を判別できるものであれば、それを利用するようにしてもよい。言い換えれば、不揮発性記憶システムにおいて不揮発性メモリの判別に利用するコマンドは、接続される不揮発性メモリ(フラッシュメモリ)の判別が可能なレスポンスを取得できるものであれば良い。
As described above, in the non-volatile storage system 200, even when a plurality of types of non-volatile memories are connected, the processing time of each step process of the aggregation process determined by the type (type) of the non-volatile memory is acquired. Then, since the aggregation process is executed based on the processing time of each step process of the acquired aggregation process, it is possible to reliably prevent the occurrence of timeout. As a result, in the nonvolatile storage system 200, the timeout value (timeout regulation) can be strictly observed even when a plurality of types of nonvolatile memories are connected.
Note that, in the determination process of the connected nonvolatile memory, the connected nonvolatile memory (flash memory) may be determined using a device code or the like instead of the manufacturer code. That is, if a command can be issued to the nonvolatile memory and the type of the nonvolatile memory can be determined from the response, it may be used. In other words, the command used for determining the non-volatile memory in the non-volatile storage system may be any command that can obtain a response that can determine the connected non-volatile memory (flash memory).

また、図5の不揮発性メモリ(フラッシュメモリ)の品種とレスポンスとのテーブル、図6のフラッシュメモリ品種と集約処理の各ステップ処理にかかる時間とのテーブルは、予め不揮発性メモリに記憶されるものであっても良い。
なお、上記では、不揮発性記憶システム200において、複数の不揮発性メモリが接続される場合について説明したが、これに限定されることはなく、例えば、1つの不揮発性メモリのみが不揮発性メモリ制御部214Aに接続されており、不揮発性メモリに対してコマンドを発行し、そのレスポンスから、接続されている不揮発性メモリの種別を判定し、判定された種別の不揮発性メモリに対応する集約処理の各ステップ処理の処理時間に基づいて、集約処理を行うようにしてもよい。このようにすることで、不揮発性記憶装置2Aに実装される不揮発性メモリの種類が複数であっても、メモリコントローラ21Aを変更する必要がない。言い換えれば、不揮発性記憶装置2Aを製造する場合、実装する不揮発性メモリの種類に関係なく、メモリコントローラ21Aを共用することができる。
The table of nonvolatile memory (flash memory) type and response in FIG. 5 and the table of flash memory type and time taken for each step of the aggregation process in FIG. 6 are stored in advance in the nonvolatile memory. It may be.
In the above description, the case where a plurality of nonvolatile memories are connected in the nonvolatile storage system 200 has been described. However, the present invention is not limited to this. For example, only one nonvolatile memory is a nonvolatile memory control unit. 214 A is connected to 214 A, issues a command to the non-volatile memory, determines the type of the non-volatile memory connected from the response, and each of the aggregation processing corresponding to the determined type non-volatile memory The aggregation process may be performed based on the processing time of the step process. By doing so, it is not necessary to change the memory controller 21A even if there are a plurality of types of nonvolatile memories mounted on the nonvolatile storage device 2A. In other words, when manufacturing the nonvolatile memory device 2A, the memory controller 21A can be shared regardless of the type of nonvolatile memory to be mounted.

[他の実施形態]
なお、上記実施形態で説明した不揮発性記憶システム、不揮発性記憶装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
[Other Embodiments]
In the nonvolatile memory system and nonvolatile memory device described in the above embodiment, each block may be individually integrated into one chip by a semiconductor device such as an LSI, or one chip so as to include a part or all of the blocks. It may be made.
Note that the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
Further, the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.

さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。また、上記実施形態の各機能部を、CPUバス構成(CPU、ROM、RAM、所定の機能部をバス接続した構成)により実現するようにしてもよい。また、上記実施形態の各処理をソフトウェアにより実現する場合、OSを用いて実現するようにしてもよい。
なお、上記実施形態に係る不揮発性記憶システム、不揮発性記憶装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied as a possibility.
Moreover, each process of the said embodiment may be implement | achieved by hardware, and may be implement | achieved by software. Further, it may be realized by mixed processing of software and hardware. In addition, each functional unit of the above embodiment may be realized by a CPU bus configuration (a configuration in which a CPU, a ROM, a RAM, and a predetermined functional unit are connected by a bus). Further, when each process of the above embodiment is realized by software, it may be realized by using an OS.
Needless to say, when the non-volatile storage system and the non-volatile storage device according to the above-described embodiment are realized by hardware, it is necessary to adjust the timing for performing each process. In the above embodiment, for convenience of explanation, details of timing adjustment of various signals generated in actual hardware design are omitted.

なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。   The specific configuration of the present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the scope of the invention.

本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムおよびプログラムは、タイムアウト規定を守りながら、適切に集約処理を実行するものであり、半導体メモリカードなどの不揮発性記憶モジュールを使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話等において有益である。   A memory controller, a nonvolatile storage device, a nonvolatile storage system, and a program according to the present invention execute aggregation processing appropriately while observing a timeout rule, and use a nonvolatile storage module such as a semiconductor memory card. This is useful in an image recording / reproducing apparatus, a moving picture recording / reproducing apparatus, a mobile phone, or the like.

第1実施形態に係る不揮発性記憶システム100の概略構成図1 is a schematic configuration diagram of a nonvolatile storage system 100 according to a first embodiment. 不揮発性記憶システムにおけるWrite処理および集約処理の処理タイミングを模式的に示した図The figure which showed typically the processing timing of Write processing and aggregation processing in a non-volatile storage system 集約処理の各ステップ処理の所要時間の一例を表すテーブルTable showing an example of the time required for each step of the aggregation process 第2実施形態に係る不揮発性記憶システム200の概略構成図Schematic configuration diagram of a nonvolatile memory system 200 according to the second embodiment 不揮発性メモリ(フラッシュメモリ)の品種毎のID READレスポンスのメーカーコードの一例を示すテーブルTable showing an example of manufacturer code of ID READ response for each type of nonvolatile memory (flash memory) 不揮発性メモリ(フラッシュメモリ)の品種毎の集約処理の各ステップ処理の所要時間の一例を示すテーブルTable showing an example of the time required for each step process of the aggregation process for each type of nonvolatile memory (flash memory) CG処理を示す図Diagram showing CG processing 従来例の概念的動作フローを示す図The figure which shows the conceptual operation | movement flow of a prior art example

100、200 不揮発性記憶システム
1 処理命令部
2、2A 不揮発性記憶装置
21、21A メモリコントローラ
22、22A、22B、22C 不揮発性メモリ
211 IF部
212 タイムアウト値取得部
213 タイムアウト監視部
214、214A 不揮発性メモリ制御部
100, 200 Nonvolatile storage system 1 Processing instruction unit 2, 2A Nonvolatile storage device 21, 21A Memory controller 22, 22A, 22B, 22C Nonvolatile memory 211 IF unit 212 Timeout value acquisition unit 213 Timeout monitoring unit 214, 214A Nonvolatile Memory control unit

Claims (6)

所定のコマンドに基づいて、不揮発性メモリに対してデータの読み出し/書き込み制御を行うメモリコントローラであって、
前記所定のコマンドに基づいて前記不揮発性メモリに対してデータの読み出し/書き込み処理を行うとともに、前記不揮発性メモリにおける不要な情報が記憶されている領域を開放し、前記不揮発性メモリの記憶可能領域を増加させる処理である集約処理を実行する不揮発性メモリ制御部と、
前記所定のコマンドに対するタイムアウト値を取得するタイムアウト値取得部と、
前記所定のコマンドに基づいて、前記不揮発性メモリ制御部により実行される処理が開始された場合、前記処理の開始時点からの経過時間を測定し、前記経過時間が前記タイムアウト値を超える前の時刻において、集約処理停止信号を前記不揮発性メモリ制御部に出力するタイムアウト監視部と、
を備え、
前記不揮発性メモリ制御部は、前記タイムアウト監視部から集約処理停止信号が出力された場合であり、かつ、前記集約処理が終了していない場合、前記集約処理を中断させる、
メモリコントローラ。
A memory controller that performs read / write control of data with respect to a nonvolatile memory based on a predetermined command,
Based on the predetermined command, data is read / written from / to the non-volatile memory, and an area where unnecessary information is stored in the non-volatile memory is released, and a non-volatile memory storage area A non-volatile memory control unit that executes aggregation processing that is processing to increase
A timeout value acquisition unit for acquiring a timeout value for the predetermined command;
When a process executed by the nonvolatile memory control unit is started based on the predetermined command, an elapsed time from the start time of the process is measured, and a time before the elapsed time exceeds the timeout value A timeout monitoring unit that outputs an aggregation processing stop signal to the nonvolatile memory control unit;
With
The non-volatile memory control unit is a case where an aggregation process stop signal is output from the timeout monitoring unit, and if the aggregation process is not completed, the aggregation process is interrupted.
Memory controller.
前記不揮発性メモリ制御部は、第1ステップ処理から第Nステップ処理(N:2以上の自然数)の複数のステップ処理を行うことで、前記集約処理を実行し、
前記タイムアウト監視部は、前記所定のコマンドに基づく処理TA1とし、前記集約処理の第1ステップ処理から第kステップ処理(kは、k≦N−1を満たす自然数)までの合計処理時間TB(k)とし、前記集約処理の第1ステップ処理から第(k+1)ステップ処理(kは、k+1≦Nを満たす自然数)までの合計処理時間TB(k+1)とし、前記所定のコマンドの前記タイムアウト値に相当する時間をTOとしたとき、
TA1+TB(k)<TO<TA1+TB(k+1)
となる場合、第(k+1)ステップ処理が実行される前の時刻までに、前記集約処理停止信号を出力する、
請求項1に記載のメモリコントローラ。
The nonvolatile memory control unit performs the aggregation process by performing a plurality of step processes from a first step process to an Nth step process (N: a natural number of 2 or more),
The timeout monitoring unit sets the processing TA1 based on the predetermined command, and the total processing time TB (k from the first step processing of the aggregation processing to the k-th step processing (k is a natural number satisfying k ≦ N−1). ) And the total processing time TB (k + 1) from the first step process of the aggregation process to the (k + 1) -th step process (k is a natural number satisfying k + 1 ≦ N), and corresponds to the timeout value of the predetermined command When the time to do is TO
TA1 + TB (k) <TO <TA1 + TB (k + 1)
If this is the case, the aggregation process stop signal is output by the time before the (k + 1) th step process is executed.
The memory controller according to claim 1.
前記不揮発性メモリ制御部は、前記集約処理の各ステップ処理の処理時間に関する情報を、前記不揮発性メモリから取得し、
前記タイムアウト監視部は、前記不揮発性メモリ制御部により取得された前記集約処理の各ステップ処理の処理時間に関する情報に基づいて、前記集約処理停止信号を出力する、
請求項2に記載するメモリコントローラ。
The nonvolatile memory control unit obtains information on the processing time of each step process of the aggregation process from the nonvolatile memory,
The time-out monitoring unit outputs the aggregation process stop signal based on information on processing time of each step process of the aggregation process acquired by the nonvolatile memory control unit.
The memory controller according to claim 2.
不揮発性メモリと、
請求項1から3のいずれかに記載のメモリコントローラと、
を備える不揮発性記憶装置。
Non-volatile memory;
A memory controller according to any one of claims 1 to 3,
A non-volatile storage device comprising:
請求項4に記載の不揮発性記憶装置と、
前記不揮発性記憶装置に対してデータの読み出し/書き込み制御を指示するコマンドを発行する処理命令部と、
を備える不揮発性記憶システム。
The nonvolatile memory device according to claim 4;
A processing instruction unit for issuing a command for instructing data read / write control to the nonvolatile storage device;
A non-volatile storage system comprising:
所定のコマンドに基づいて、不揮発性メモリに対してデータの読み出し/書き込み制御を行うメモリコントローラを制御するプログラムであって、
前記所定のコマンドに基づいて前記不揮発性メモリに対してデータの読み出し/書き込み処理を行うとともに、前記不揮発性メモリにおける不要な情報が記憶されている領域を開放し、前記不揮発性メモリの記憶可能領域を増加させる処理である集約処理を実行する不揮発性メモリ制御ステップと、
前記所定のコマンドに対するタイムアウト値を取得するタイムアウト値取得ステップと、
前記所定のコマンドに基づいて、前記不揮発性メモリ制御ステップにより実行される処理が開始された場合、前記処理の開始時点からの経過時間を測定し、前記経過時間が前記タイムアウト値を超える前の時刻において、集約処理停止信号を出力するタイムアウト監視ステップと、
を備え、
前記不揮発性メモリ制御ステップでは、前記タイムアウト監視ステップにより集約処理停止信号が出力された場合であり、かつ、前記集約処理が終了していない場合、前記集約処理を中断させる、
メモリコントローラを制御するプログラム。
A program for controlling a memory controller that performs read / write control of data with respect to a nonvolatile memory based on a predetermined command,
Based on the predetermined command, data is read / written from / to the non-volatile memory, and an area where unnecessary information is stored in the non-volatile memory is released, and a non-volatile memory storage area A non-volatile memory control step for executing aggregation processing, which is processing for increasing
A timeout value acquisition step of acquiring a timeout value for the predetermined command;
When the process executed by the nonvolatile memory control step is started based on the predetermined command, the elapsed time from the start time of the process is measured, and the time before the elapsed time exceeds the timeout value A time-out monitoring step for outputting an aggregation processing stop signal;
With
In the non-volatile memory control step, the aggregation process stop signal is output by the timeout monitoring step, and if the aggregation process has not ended, the aggregation process is interrupted.
A program that controls the memory controller.
JP2009026885A 2009-02-09 2009-02-09 Memory controller, nonvolatile storage device, nonvolatile storage system and program Pending JP2010182216A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009026885A JP2010182216A (en) 2009-02-09 2009-02-09 Memory controller, nonvolatile storage device, nonvolatile storage system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009026885A JP2010182216A (en) 2009-02-09 2009-02-09 Memory controller, nonvolatile storage device, nonvolatile storage system and program

Publications (1)

Publication Number Publication Date
JP2010182216A true JP2010182216A (en) 2010-08-19

Family

ID=42763762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009026885A Pending JP2010182216A (en) 2009-02-09 2009-02-09 Memory controller, nonvolatile storage device, nonvolatile storage system and program

Country Status (1)

Country Link
JP (1) JP2010182216A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250932A (en) * 2009-04-14 2010-11-04 John Rudelic Method for writing to and erasing non-volatile memory
JP2013161447A (en) * 2012-02-08 2013-08-19 Toshiba Corp Controller, data storage device and program
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
US10452314B2 (en) 2016-06-29 2019-10-22 Samsung Electronics Co., Ltd. Electronic systems and methods of operating electronic systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250932A (en) * 2009-04-14 2010-11-04 John Rudelic Method for writing to and erasing non-volatile memory
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
JP2013161447A (en) * 2012-02-08 2013-08-19 Toshiba Corp Controller, data storage device and program
US10452314B2 (en) 2016-06-29 2019-10-22 Samsung Electronics Co., Ltd. Electronic systems and methods of operating electronic systems
US10896005B2 (en) 2016-06-29 2021-01-19 Samsung Electronics Co., Ltd. Electronic systems and methods of operating electronic systems

Similar Documents

Publication Publication Date Title
US8341374B2 (en) Solid state drive and related method of scheduling operations
KR101626084B1 (en) Multi-chip memory system and data transfer method thereof
US8429374B2 (en) System and method for read-while-write with NAND memory device
TWI417727B (en) Memory storage device, memory controller thereof, and method for responding instruction sent from host thereof
US8310880B2 (en) Virtual channel support in a nonvolatile memory controller
KR101366960B1 (en) Multi way nand flash controller and method using input/output pins
JP5362010B2 (en) Memory device, host device, and memory system
WO2005096220A1 (en) Memory card and memory card system
TWI446349B (en) Non-volatile memory access method and system, and non-volatile memory controller
JP5414656B2 (en) Data storage device, memory control device, and memory control method
TWI467574B (en) Memory storage device, memory controller thereof, and data transmission method thereof
US20070106834A1 (en) Device and method for monitoring operation of a flash memory
CN111045593A (en) Method for reading acceleration, data storage device and controller thereof
JP2007193448A (en) Information recorder, and control method therefor
JP5378197B2 (en) Memory controller, memory card, nonvolatile memory system
JP2007193865A (en) Information recording device and its control method
TWI507981B (en) Command executing method, connector and memory storage device
US20090307427A1 (en) Memory card and method of writing data
JP2010182216A (en) Memory controller, nonvolatile storage device, nonvolatile storage system and program
TWI596612B (en) Memory management method, memory control circuit unit, and memory storage apparatus
JP2007193866A (en) Information recording device and its control method
JP4841069B2 (en) Storage device
TW201835766A (en) Methods for regular and garbage-collection data access and apparatuses using the same
JP4929379B2 (en) Semiconductor memory device and data write / read method
TWI417889B (en) Write timeout methods for a flash memory and memory device using the same