Movatterモバイル変換


[0]ホーム

URL:


JP4738536B1 - Nonvolatile memory controller and nonvolatile memory control method - Google Patents

Nonvolatile memory controller and nonvolatile memory control method
Download PDF

Info

Publication number
JP4738536B1
JP4738536B1JP2010019223AJP2010019223AJP4738536B1JP 4738536 B1JP4738536 B1JP 4738536B1JP 2010019223 AJP2010019223 AJP 2010019223AJP 2010019223 AJP2010019223 AJP 2010019223AJP 4738536 B1JP4738536 B1JP 4738536B1
Authority
JP
Japan
Prior art keywords
data
page
management table
written
valid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010019223A
Other languages
Japanese (ja)
Other versions
JP2011159044A (en
Inventor
健 高宮
能正 青山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba CorpfiledCriticalToshiba Corp
Priority to JP2010019223ApriorityCriticalpatent/JP4738536B1/en
Priority to US13/011,761prioritypatent/US8171254B2/en
Application grantedgrantedCritical
Publication of JP4738536B1publicationCriticalpatent/JP4738536B1/en
Publication of JP2011159044ApublicationCriticalpatent/JP2011159044A/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromJapanese

【課題】コンパクション処理の対象候補となるブロックの検索動作がメインメモリへのアクセス速度に影響しない不揮発性メモリのコントローラを提供する。
【解決手段】不揮発性メモリのコントローラ(1)であって、不揮発性メモリへのデータ書き込み時にデータ書き込みに伴い無効にすべきページが属するブロックの有効ページ数をカウントする手段(5)と、前記カウント手段によりカウントされた有効ページ数が所定数以下の場合、前記ブロックをコンパクション処理の対象とする追加手段(61)とを具備するコントローラ。
【選択図】図1
To provide a controller for a non-volatile memory in which a search operation for a block as a candidate for compaction processing does not affect the access speed to a main memory.
A non-volatile memory controller (1) for counting the number of valid pages of a block to which a page to be invalidated along with data writing when data is written to the non-volatile memory; A controller comprising: adding means (61) for subjecting the block to compaction processing when the number of valid pages counted by the counting means is equal to or less than a predetermined number.
[Selection] Figure 1

Description

Translated fromJapanese

本発明はフラッシュメモリ等の不揮発性メモリのコントローラ及び不揮発性メモリの制御方法に関する。  The present invention relates to a controller for a nonvolatile memory such as a flash memory and a method for controlling the nonvolatile memory.

一般に不揮発性メモリ、例えばフラッシュメモリはデータの書き込みおよび削除の際に既存データを残したまま別の物理領域へ書き込みを行うため、データの書き込みや削除を繰り返すと、分断された不要な領域が削除されずに残り、使用している領域も非連続的に保持されている。この不要な領域を消去し、使用している領域を連続した領域に纏める処理はコンパクション、あるいはガーベジコレクションと呼ばれる。従来の半導体記憶装置のガーベジコレクション処理は例えば、特許文献1に記載されている。  In general, non-volatile memory, for example flash memory, writes to another physical area while leaving existing data at the time of data writing and deletion, so when repeated data writing and deletion, the divided unnecessary area is deleted The area that is used and is being used is also held discontinuously. The process of erasing unnecessary areas and collecting used areas into a continuous area is called compaction or garbage collection. A conventional garbage collection process of a semiconductor memory device is described in Patent Document 1, for example.

データ書き込み処理あるいは無効化処理の後、管理データの更新を行い、フラッシュメモリ内の領域使用率を計算する。領域使用率の計算の結果に応じてガーベジコレクションの必要があるか否かを判断し、必要があればガーベジコレクションを行う。ガーベジコレクション処理は比較的時間が長いため、ガーベジコレクション処理と同時にユーザデータクセスを実行すると、ユーザデータクセス時間が通常状態時よりも遅くなってしまう欠点がある。この問題はフラッシュメモリのユーザデータクセス処理とガーベジコレクション処理を異なるタイミングで実行させることにより解決できる。そのため、特許文献1記載の装置は、ガーベジコレクションのような不要なデータを消去するタイミングを外部に通知可能なフラッシュメモリを提供する手段を具備する。比率計算部はフラグ領域の状態を判定して、ユーザ領域の状態を判定してユーザ領域が無効である比率を算出し、算出した比率を制御部に送る。制御部は比率を受信し、データの書き込み動作または無効化処理の直後に外部に出力する。フラッシュメモリの制御部は書き込み命令を受け取ると、指定されたユーザ領域にデータを書き込む。さらに、対応するフラグ領域に、データが有効であることを示す値を書き込む。その後、比率計算部で、フラグ領域の状態を判定して、ユーザ領域が無効である比率を算出させる。比率計算部で算出された比率を受け取り、これをデータバスに出力して外部に通知する。  After the data write process or invalidation process, the management data is updated and the area usage rate in the flash memory is calculated. It is determined whether or not garbage collection is necessary according to the calculation result of the area usage rate. If necessary, garbage collection is performed. Since the garbage collection process takes a relatively long time, if user data access is executed at the same time as the garbage collection process, there is a drawback that the user data access time becomes slower than in the normal state. This problem can be solved by executing the flash memory user data access process and the garbage collection process at different timings. For this reason, the apparatus described in Patent Document 1 includes means for providing a flash memory that can notify the timing of erasing unnecessary data such as garbage collection to the outside. The ratio calculation unit determines the state of the flag area, determines the state of the user area, calculates the ratio that the user area is invalid, and sends the calculated ratio to the control unit. The control unit receives the ratio and outputs it to the outside immediately after the data write operation or invalidation process. When the control unit of the flash memory receives the write command, it writes data in the designated user area. Further, a value indicating that the data is valid is written in the corresponding flag area. Thereafter, the ratio calculation unit determines the state of the flag area and calculates the ratio that the user area is invalid. The ratio calculated by the ratio calculation unit is received and output to the data bus to notify the outside.

上記した問題以外にもガーベジコレクション処理による動作速度の低下の要因がある。ガーベジコレクション処理の準備のために、ファームウェアはハードウェアに対して、ガーベジコレクションの対象候補となるブロックの検索動作の要求を定期的もしくは一意に実施する必要がある。  In addition to the above problems, there is a factor of a decrease in operation speed due to the garbage collection process. In preparation for the garbage collection process, the firmware needs to periodically or uniquely perform a request for a search operation for blocks that are candidates for garbage collection to the hardware.

従来、該検索のために一時的にメインメモリへのアクセスが増加し、メインメモリの転送帯域を消費してしまうことがあり、フラッシュメモリとメインメモリとの間のユーザデータ転送に係るメインメモリアクセスが阻害され、結果としてユーザから見た速度性能が劣化する場合があった。  Conventionally, access to the main memory temporarily increases due to the search, and the transfer bandwidth of the main memory may be consumed. Main memory access related to user data transfer between the flash memory and the main memory As a result, the speed performance viewed from the user may deteriorate.

特許文献1記載の半導体記憶装置では、チップ内部の有効ブロック数を判断するために使用する「フラグ領域」と呼ばれるテーブル情報を、フラッシュメモリチップメモリセル部に記憶している。ガーベジコレクション候補を検索する際に必ず該テーブルをアクセス(フラッシュメモリへのアクセス)しなければならない。フラッシュメモリチップ単体でガーベジコレクション候補ブロックを判定する方式のため、チップ毎にガーベジコレクションを実施できる。  In the semiconductor memory device described in Patent Document 1, table information called “flag area” used for determining the number of effective blocks in a chip is stored in a flash memory chip memory cell unit. When searching for garbage collection candidates, the table must be accessed (access to the flash memory). Since the flash memory chip alone determines a garbage collection candidate block, garbage collection can be performed for each chip.

再公表特許WO2004/077447Republished patent WO2004 / 077447

従来の不揮発性メモリのコントローラは、コンパクションの対象候補となるブロックの検索動作によりメインメモリへのアクセス速度が低下するという課題がある。  The conventional nonvolatile memory controller has a problem that the access speed to the main memory decreases due to the search operation for the block that is a candidate for compaction.

本発明はコンパクション処理の対象候補となるブロックの検索動作がメインメモリへのアクセス速度に影響しない不揮発性メモリのコントローラ及び不揮発性メモリの制御方法を提供することを目的とする。  It is an object of the present invention to provide a non-volatile memory controller and a non-volatile memory control method in which a search operation for blocks that are candidates for compaction processing does not affect the access speed to the main memory.

本発明の一態様による不揮発性メモリのコントローラは、不揮発性メモリへのデータ書き込み時にデータ書き込みに伴い無効にすべきページが属するブロックの有効ページ数をカウントするカウント手段と、カウント手段によりカウントされた有効ページ数が所定数以下の場合、前記ブロックをコンパクション処理の対象とする追加手段とを具備する。  The controller of the nonvolatile memory according to one aspect of the present invention is configured to count a valid page of a block to which a page to be invalidated along with data writing belongs when the data is written to the nonvolatile memory. When the number of valid pages is equal to or less than a predetermined number, the image processing apparatus includes an adding unit that targets the block for compaction processing.

本発明の他の態様による不揮発性メモリの制御方法は、ライト対象の論理ブロックアドレスを物理ブロックアドレスに変換して不揮発性メモリへデータを書き込むことと、前記不揮発性メモリへのデータ書き込みが終了すると、一定バイトからなるページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルを更新することと、前記更新された有効ページ管理テーブルに基づいて、前記ライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントすることと、カウントした前記有効ページ数が所定数以下の場合、前記旧物理ブロックのアドレスを、所定ページからなるブロック毎にコンパクション処理の候補を管理するコンパクション候補管理テーブルに追加することとを具備する。  According to another aspect of the present invention, there is provided a non-volatile memory control method that converts a logical block address to be written into a physical block address, writes data to the non-volatile memory, and finishes writing data to the non-volatile memory. Updating the valid page management table for managing the validity / invalidity of the data in the nonvolatile memory for each page consisting of a certain number of bytes and, based on the updated valid page management table, to the logical block address to be written Correspondingly, the number of valid pages of the old physical block to which data has been previously written is counted, and when the counted number of valid pages is less than or equal to a predetermined number, the address of the old physical block is set for each block consisting of a predetermined page. Add to the compaction candidate management table for managing compaction processing candidates ; And a thing.

本発明の一態様によれば、通常のデータ書き込み動作に付随してコンパクション候補検索の一部とコンパクション候補設定が自動的に実行される。このため、従来のファームウェアが必要としていた定期的なコンパクションの対象候補となるブロックの検索動作の要求を不要とすることができる。このようにファームウェアによって起動される検索動作の回数を低減させることによって、一時的に増加するメインメモリの帯域消費の比率が低下し、NAND型フラッシュメモリとのユーザデータ転送に係るメインメモリへのアクセスが阻害されにくくなるため、その分速度性能劣化を防止できる。  According to one aspect of the present invention, a part of compaction candidate search and compaction candidate setting are automatically executed in association with a normal data writing operation. For this reason, it is possible to eliminate the need for a search operation for a block that is a candidate for periodic compaction, which is required by conventional firmware. By reducing the number of search operations started by the firmware in this way, the ratio of bandwidth consumption of the main memory that temporarily increases is reduced, and access to the main memory related to user data transfer with the NAND flash memory is reduced. Is less likely to be hindered, and accordingly, speed performance deterioration can be prevented.

本発明の実施の形態に係る半導体記憶装置を示す図。1 is a diagram showing a semiconductor memory device according to an embodiment of the present invention.ブロック内有効ページ管理ビットマップテーブルを示す図。The figure which shows the effective page management bitmap table in a block.コンパクション候補管理テーブルとNAND型フラッシュメモリ内の該当ブロックとの関係を示す図。The figure which shows the relationship between a compaction candidate management table and the applicable block in NAND type flash memory.NANDフラッシュメモリI/Fの詳細な構成を示すブロック図。1 is a block diagram showing a detailed configuration of a NAND flash memory I / F.NANDフラッシュメモリI/Fの動作を示すフローチャート。6 is a flowchart showing the operation of the NAND flash memory I / F.

以下、図面を参照して本発明の実施の形態について詳細に説明する。  Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は一実施形態の構成を示すブロック図である。本実施形態は複数の不揮発性メモリ、例えばNAND型フラッシュメモリ8、8、…8を含む。NAND型フラッシュメモリ8、8、…8は例えば半導体ドライブ(Solid State Drive: SSD)の記憶部を構成する。NAND型フラッシュメモリ8、8…8の各々は例えば2〜16個のメモリチップからなる。NAND型フラッシュメモリ8、8、…8はNANDフラッシュメモリコントローラ1に接続される。NANDフラッシュメモリコントローラ1はメモリアクセスバス2bで互いに接続されたCPU2と、メインメモリ3と、NANDフラッシュメモリインターフェース(I/F)6とを具備する。NANDフラッシュメモリインターフェース(I/F)6はNAND型フラッシュメモリ8、8、…8に接続され、NAND型フラッシュメモリ8、8、…8へのアクセスを制御する。メインメモリ3は例えばdRAMからなり、ブロック内有効ページ管理ビットマップテーブル5とコンパクション候補管理テーブル4を含む。FIG. 1 is a block diagram showing a configuration of an embodiment. The present embodiment includes a plurality of nonvolatile memories, for example, NANDflash memories 81 , 82 ,... 8n . The NANDflash memories 81 , 82 ,... 8n constitute a storage unit of a semiconductor drive (Solid State Drive: SSD), for example. Each of theNAND flash memories 81 , 82 ... 8n is composed of, for example, 2 to 16 memory chips. The NANDflash memories 81 , 82 ,... 8n are connected to the NAND flash memory controller 1. The NAND flash memory controller 1 includes aCPU 2, amain memory 3, and a NAND flash memory interface (I / F) 6 that are connected to each other via amemory access bus 2b. NAND flash memory interface (I / F) 6 is theNAND flash memory81, 82 are connected to ...8 n, NAND-type flash memory81, 82, controls access to ...8 n. Themain memory 3 is made of, for example, dRAM, and includes an in-block valid page management bitmap table 5 and a compaction candidate management table 4.

NANDフラッシュメモリコントローラ1のメモリアクセスバス2bには外付けのROM9も接続される。ROM9はファームウェア7を含む。ファームウェア7はCPU2を使用し、NANDフラッシュメモリI/F6内部へのI/OコマンドアクセスによりNAND型フラッシュメモリ8、8、…8へのリードコマンド、ライトコマンドの発行を行う。An external ROM 9 is also connected to thememory access bus 2 b of the NAND flash memory controller 1. The ROM 9 includesfirmware 7. Thefirmware 7 uses the CPU2 and issues a read command and a write command to theNAND flash memories 81 , 82 ,... 8n by an I / O command access to the inside of the NAND flash memory I /F 6.

NANDフラッシュメモリI/F6はCPU2からの命令を受理し、NAND型フラッシュメモリ8、8、…8とメインメモリ3間のデータ転送を実施する。The NAND flash memory I /F 6 accepts an instruction from the CPU2 and performs data transfer between theNAND flash memories 81 , 82 ,... 8n and themain memory 3.

ファームウェア7はROM9にプログラムされた内容が、システム電源起動時に、CPU2内部の一時記憶部もしくはメインメモリ3に転送されて動作するものとする。ファームウェア7からのNAND型フラッシュメモリ8、8、…8アクセス操作は論理ブロックアドレス(LBA: Logical Block Address)を用いて実施される。Thefirmware 7 operates by transferring the content programmed in the ROM 9 to the temporary storage unit in theCPU 2 or themain memory 3 when the system power is turned on. The NANDflash memories 81 , 82 ,..., 8n from thefirmware 7 are accessed using a logical block address (LBA).

ブロック内有効ページ管理ビットマップテーブル5は、図2に示すように構成されている。NAND型フラッシュメモリ8、8、…8の各ページが有効(Valid)か無効(Invalid)かを示すためのビットマップ構成をとる。所定のバイト、例えば2112バイト毎に1ページを構成し、所定のページ、例えば64ページが1ブロックを構成する。有効とは、当該ページ内に書き込まれたデータが存在し、そのデータは有効であることを示している。無効とは、当該ページ内に何も書き込まれていないか、もしくは当該ページ内に以前書き込まれていたデータが無効になった場合(同一LBAの最新データが書き込まれた場合)を示している。The intra-block valid page management bitmap table 5 is configured as shown in FIG. The NANDtype flash memory 81 , 82 ,... 8n has a bit map configuration for indicating whether each page is valid (Valid) or invalid (Invalid). One page constitutes a predetermined byte, for example, 2112 bytes, and a predetermined page, eg, 64 pages, constitutes one block. Valid indicates that there is data written in the page and that the data is valid. Invalid indicates that nothing has been written in the page or the data previously written in the page has become invalid (the latest data of the same LBA has been written).

ブロック内有効ページ管理ビットマップテーブル5はNAND型フラッシュメモリ8、8、…8への書き込みが発生すると、有効/無効状態が更新される。ファームウェア7からの書き込み操作はLBAを用いて実施される。従って、NAND型フラッシュメモリ8、8、…8に対して実際に書き込む場合は、LBAを物理アドレス(ブロックアドレス、ページアドレス)に変換して、データが書き込まれる。The valid / invalid state of the intra-block valid page management bitmap table 5 is updated when writing to theNAND flash memories 81 , 82 ,... 8n occurs. A write operation from thefirmware 7 is performed using the LBA. Therefore, when data is actually written to the NANDflash memories 81 , 82 ,... 8n , the LBA is converted into a physical address (block address, page address) and data is written.

NAND型フラッシュメモリ8、8、…8は同一セルへの書き込みを実施すると特性上、内部セルの寿命が極端に低下する。それを防ぐため、ファームウェア7とNANDフラッシュメモリI/F6は同じLBAでデータを複数回書き込む場合でも、以前書き込んだ物理アドレスとは異なる物理アドレスのページにデータを新規に書き込み、以前書き込んだ物理アドレスのページに格納されているデータを無効とする処理を行う。この有効/無効管理を実施するためにブロック内有効ページ管理ビットマップテーブル5が存在している。従って、このような書き込み操作を実施しながらシステムが動作しているうちに、いずれは有効ページ数の少ないブロック(すなわち、コンパクション処理の対象となるブロック)が発生してくるのは必須である。When theNAND flash memories 81 , 82 ,... 8n write to the same cell, the lifetime of the internal cell is extremely reduced due to the characteristics. To prevent this, thefirmware 7 and the NAND flash memory I /F 6 write new data to a page with a physical address different from the previously written physical address, even when writing data multiple times with the same LBA, and the previously written physical address Processing to invalidate the data stored in the page. In order to carry out this valid / invalid management, the intra-block valid page management bitmap table 5 exists. Therefore, while the system is operating while performing such a write operation, it is essential that a block with a small number of valid pages (that is, a block to be subjected to compaction processing) is generated.

従来、ファームウェア7はブロック内有効ページ数を一意にカウントし、有効数がある一定数以下であれば、そのブロックをコンパクション対象の一つとしてエントリし、コンパクション処理に適用していた。コンパクション処理とは、複数のブロック内の有効ページデータをかき集めて、別のブロックに移動させ、移動元のページを無効化し、何も書かれていない空きブロックを作り出す操作のことであり、コンパクション候補管理テーブル4はそのために存在する。  Conventionally, thefirmware 7 uniquely counts the number of valid pages in a block, and if the valid number is equal to or smaller than a certain number, the block is entered as one of compaction targets and applied to the compaction process. Compaction processing is an operation that collects valid page data in multiple blocks, moves it to another block, invalidates the source page, and creates an empty block with nothing written. The management table 4 exists for that purpose.

コンパクションの候補となるブロックは複数種類あり、有効ページ比率が低くなったブロック、エラーが頻発するブロック、リードのみを規定回数実施したブロックなどが挙げられる。本実施形態はこの中で有効ページ比率が低下した時のコンパクション処理に関し、その候補の検索を効率化するためのものである。  There are a plurality of types of blocks that are candidates for compaction, such as a block with a low effective page ratio, a block with frequent errors, and a block that has been read only a specified number of times. The present embodiment relates to the compaction process when the effective page ratio is lowered, and is to improve the search for the candidate.

従来、ブロック内有効ページ管理ビットマップテーブル5のブロック内有効ページ数のカウントには専用のハードウェアが用いられ、ファームウェア7は定期的、もしくは一意に該ハードウェアを動作させてコンパクション候補を検索特定し、コンパクション候補管理テーブル4に追加していた。そのため、検索動作に必要なメインメモリ3へのアクセスが一時的に集中することがあり、NAND型フラッシュメモリ8、8、…8とのデータ転送に必要なメモリアクセスを阻害し、ユーザに対するデータ提供速度性能を劣化させる事があった。Conventionally, dedicated hardware is used to count the number of valid pages in a block in the intra-block valid page management bitmap table 5, and thefirmware 7 searches for and specifies a compaction candidate by operating the hardware periodically or uniquely. And added to the compaction candidate management table 4. Therefore, it is possible access to themain memory 3 required for search operation is temporarily centralized, NAND-type flash memory81, 82, to inhibit a memory access required for data transfer between... 8n, the user There was a case where the data provision speed performance for the was degraded.

本実施形態ではデータ書き込み動作終了時にブロック内有効ページ管理ビットマップテーブル5の更新を行うと同時に、無効化する側(同じLBAで以前に書き込んだ物理ブロック)のブロック内有効ページ数カウントを実施し、設定数以下であった場合、以前に書き込んだ物理ブロックをコンパクション候補としてコンパクション候補管理テーブル4に追加する。ファームウェア7が起動するコンパクション候補検索は、コンパクション候補管理テーブル4が保持している候補がある一定量を切った場合に発生する可能性がある。しかし、本実施形態では、データ書き込み動作終了時にハードウェアによってある程度自動的にコンパクション候補管理テーブル4に候補を追加することが可能になるので、ファームウェア7が起動するコンパクション候補の検索動作要求の回数を低減させることができる。そのため、コンパクション候補検索のためのメインメモリ3へのアクセスの集中が緩和され、NAND型フラッシュメモリ8とメインメモリ3との間のユーザデータ転送のためのメインメモリ3へのアクセスが阻害されにくくなり、速度性能劣化を低減することができる。  In this embodiment, at the end of the data write operation, the in-block valid page management bitmap table 5 is updated, and at the same time, the number of in-block valid pages is counted on the invalidation side (physical block previously written with the same LBA) If the number is less than the set number, the previously written physical block is added to the compaction candidate management table 4 as a compaction candidate. The compaction candidate search activated by thefirmware 7 may occur when a certain amount of candidates held in the compaction candidate management table 4 is cut. However, in the present embodiment, it becomes possible to add candidates to the compaction candidate management table 4 to some extent automatically by hardware at the end of the data write operation, so the number of compaction candidate search operation requests activated by thefirmware 7 is reduced. Can be reduced. For this reason, the concentration of access to themain memory 3 for searching for compaction candidates is alleviated, and access to themain memory 3 for transferring user data between theNAND flash memory 8 and themain memory 3 is less likely to be hindered. , Speed performance degradation can be reduced.

図3はコンパクション候補管理テーブル4とNAND型フラッシュメモリ8、8、…8内の該当ブロックとの関係を示す図である。コンパクション候補管理テーブル4は主にファームウェア7が管理しており、図の例ではキュー(FIFO)構造を想定している。従って、NAND型フラッシュメモリ8、8、…8内の物理ブロックアドレス(physical block address)の先頭値をキューのデータとし、リードポインタ(RP)とライトポインタ(WP)をそれぞれ具備している。キューへの書き込みはライトポインタが示すアドレスに対して実施し、コンパクションを実行する場合の対象ブロックアドレスはリードポインタをアドレスとしたキューに保持された物理ブロックアドレスが使用される。各々ポインタ操作については一般的なキュー操作方法と同等である。FIG. 3 is a diagram showing the relationship between the compaction candidate management table 4 and the corresponding blocks in theNAND flash memories 81 , 82 ,... 8n . The compaction candidate management table 4 is mainly managed by thefirmware 7, and a queue (FIFO) structure is assumed in the example of the figure. Therefore, thefirst value of the physical block address in theNAND flash memory 81 , 82 ,... 8n is used as queue data, and a read pointer (RP) and a write pointer (WP) are provided. Yes. Writing to the queue is performed at the address indicated by the write pointer, and the physical block address held in the queue with the read pointer as the address is used as the target block address when performing compaction. Each pointer operation is equivalent to a general queue operation method.

図4はNANDフラッシュメモリI/F6の詳細なブロック図である。メモリアクセスバス2bはCPU2からNANDフラッシュメモリI/F6をアクセスしたり、NANDフラッシュメモリI/F6からメインメモリ3をアクセスするために使用する内部バスである。  FIG. 4 is a detailed block diagram of the NAND flash memory I /F 6. Thememory access bus 2 b is an internal bus used for accessing the NAND flash memory I /F 6 from theCPU 2 and accessing themain memory 3 from the NAND flash memory I /F 6.

NAND型フラッシュメモリ8へのアクセスはI/Oバッファ57を経由して行われる。メモリアクセスバス2bからのライトデータはデータバッファ52、データプロセッサ53を介してI/Oバッファ57に供給され、I/Oバッファ57からのリードデータはデータプロセッサ53、データバッファ52を介してメモリアクセスバス2bに供給される。I/Oバッファ57とNAND型フラッシュメモリ8とはデータ/ステータスと、コマンドにより接続される。  Access to theNAND flash memory 8 is performed via the I /O buffer 57. Write data from thememory access bus 2 b is supplied to the I /O buffer 57 via thedata buffer 52 and thedata processor 53, and read data from the I /O buffer 57 is accessed to the memory via thedata processor 53 and thedata buffer 52. It is supplied to thebus 2b. The I /O buffer 57 and theNAND flash memory 8 are connected by data / status and a command.

CPU2からのリードコマンド、ライトコマンドはメモリアクセスバス2bを介してコマンドキュー54に書き込まれる(ファームウェアによりプッシュされる)。ここでのコマンドフォーマットはNANDフラッシュメモリI/F6が処理しやすいビットフォーマットであればよく、ハードウェア実装に依存している。コマンドキュー54にコマンドが書き込まれると、コマンドプロセッサ55はエントリされたコマンドをコマンドキュー54から取り出し、コマンドシーケンサ56にコマンドを発行して起動をかける。  Read commands and write commands from theCPU 2 are written to thecommand queue 54 via thememory access bus 2b (pushed by firmware). The command format here may be a bit format that can be easily processed by the NAND flash memory I /F 6 and depends on hardware implementation. When a command is written in thecommand queue 54, thecommand processor 55 takes out the entered command from thecommand queue 54, issues a command to thecommand sequencer 56, and activates it.

コマンドシーケンサ56はNAND型フラッシュメモリ8のアクセスを実施する。コマンドシーケンサ56はNAND型フラッシュメモリ8のアクセスの際、データプロセッサ53に対してデータ転送要求を実施し、データプロセッサ53はデータ転送が完了するとコマンドシーケンサ56に終了レスポンスを返す。コマンドシーケンサ56は終了コマンドをコマンドプロセッサ55に通知すると、コマンドプロセッサ55はテーブル更新エンジン61に対して終了コマンドを送付する。  Thecommand sequencer 56 accesses theNAND flash memory 8. Thecommand sequencer 56 makes a data transfer request to thedata processor 53 when accessing theNAND flash memory 8, and thedata processor 53 returns an end response to thecommand sequencer 56 when the data transfer is completed. When thecommand sequencer 56 notifies thecommand processor 55 of the end command, thecommand processor 55 sends the end command to thetable update engine 61.

テーブル更新エンジン61は終了したコマンドに係るメインメモリ3上のテーブル更新を実施するモジュールであり、コンパクション候補ブロックの有効ページ数サーチ機能やライト終了時の有効ページ管理ビットマップテーブル5の更新処理及び、その他の管理テーブルの更新処理を実施する。本実施形態では本質に関係しないので、有効ページ管理ビットマップテーブル5の更新処理以外の更新処理の説明は省略する。テーブル更新エンジン61はすべての処理を終了後、リプライキュー62に終了コマンド情報をプッシュしてハードウェアとしてのコマンド処理が完了する。  Thetable update engine 61 is a module for performing a table update on themain memory 3 related to the completed command, a function for searching the number of valid pages of the compaction candidate block, a process for updating the valid page management bitmap table 5 at the end of writing, Update the other management tables. Since this embodiment is not related to the essence, description of update processing other than the update processing of the valid page management bitmap table 5 is omitted. After completing all processing, thetable update engine 61 pushes end command information to thereply queue 62, and the command processing as hardware is completed.

ファームウェア7はリプライキュー62をリードすることによってコマンド実行結果を確認する。  Thefirmware 7 confirms the command execution result by reading thereply queue 62.

レジスタモジュール59はNANDフラッシュメモリI/F6の各種設定レジスタモジュールであり、CPU2から種々のデータが設定される。レジスタモジュール59はページ有効サーチレジスタ60、コンパクションテーブルエントリライトポインタアドレスレジスタ64を含む。ページ有効サーチレジスタ60はテーブル更新エンジン61に対してライト終了時にページ有効カウントを実施するかどうかを決めるイネーブル(EN)およびコンパクション候補にする場合の有効数閾値(Threshold)を渡す。  Theregister module 59 is various setting register modules of the NAND flash memory I /F 6, and various data are set from theCPU 2. Theregister module 59 includes a pagevalid search register 60 and a compaction table entry writepointer address register 64. The pagevalid search register 60 passes to thetable update engine 61 an enable (EN) for determining whether or not to perform a page valid count at the end of writing, and an effective number threshold (Threshold) for making a compaction candidate.

図5は一実施形態のライトに関する動作を示すフローチャートである。  FIG. 5 is a flowchart showing an operation related to writing according to an embodiment.

ブロック#12でライトコマンドを発行し、ブロック#14でライトコマンドの対象であるLBAを物理アドレス(ブロック/ページ)に変換する。物理アドレスに基づいてブロック#16でNAND型フラッシュメモリ8、8、…8にデータを書き込む。データ書き込み動作が終了すると、ブロック#18でテーブル更新エンジン61はメインメモリ3に配置したブロック内有効ページ管理ビットマップテーブル5をリードする。ブロック#20でビットマップテーブル5を次のように更新する。すなわち、今回の書き込み対象である物理ブロック内の該当ページ部を有効にし、今回の書き込み対象である論理ブロックに対応する以前の書き込み対象の物理ブロックの該当ページ部を無効にする。Inblock # 12, a write command is issued, and inblock # 14, the LBA that is the target of the write command is converted into a physical address (block / page). NAND-type flash memory8 inblock # 16 on the basis of the physicaladdress, 8 2, writing data to ...8 n. When the data writing operation is completed, thetable update engine 61 reads the intra-block valid page management bitmap table 5 arranged in themain memory 3 inblock # 18. In block # 20, the bitmap table 5 is updated as follows. That is, the corresponding page portion in the physical block that is the current write target is validated, and the corresponding page portion of the previous physical block that is the write target corresponding to the logical block that is the current write target is invalidated.

ブロック#22でページ有効サーチレジスタ60のイネーブルがオンか否かを判定し、オンの場合、更新後のブロック内有効ページ管理ビットマップテーブル5に基づいて、ブロック#24で以前の書き込み対象の物理ブロックのページフィールド部の有効ページ数をカウントする。ブロック#26で、カウント値を有効数閾値(Threshold)と比較する。  Inblock # 22, it is determined whether or not the enable of the pagevalid search register 60 is on. If it is on, based on the updated intra-block valid page management bitmap table 5, the previous write target physical inblock # 24 is determined. Count the number of valid pages in the page field part of the block. Inblock # 26, the count value is compared with an effective number threshold (Threshold).

カウント値が有効数閾値(Threshold)以下であった場合、すなわち旧書き込み対象の物理ブロックの有効ページ数が少ない場合、ブロック#28でコンパクション候補管理テーブル4に対して該ブロックをコンパクション候補として追加する。  When the count value is equal to or smaller than the effective number threshold (Threshold), that is, when the number of effective pages of the old write target physical block is small, the block is added as a compaction candidate to the compaction candidate management table 4 inblock # 28. .

なお、上述したように、コンパクション候補管理テーブル4はキュー構造を採用しているので、テーブル4にエントリ(コンパクション候補として追加)するためにはテーブル4のライトポインタ情報をハードウェアが知らなければならない。そのため、そのアドレスを示すコンパクションテーブルエントリライトポインタアドレスレジスタ64をレジスタモジュール59に実装している。ライトポインタアドレスレジスタ64に設定されたアドレスを使用してライトポインタが格納されているメインメモリ3を直接アクセスしてライトポインタ情報を得ることができる。  As described above, since the compaction candidate management table 4 employs a queue structure, the hardware must know the write pointer information of the table 4 in order to enter (add as a compaction candidate) to the table 4. . Therefore, a compaction table entry writepointer address register 64 indicating the address is mounted on theregister module 59. The write pointer information can be obtained by directly accessing themain memory 3 storing the write pointer using the address set in the writepointer address register 64.

以上説明したように、第1の実施の形態によれば、フラッシュメモリ8、81、…81へのデータ書き込み修了時に、ブロック内有効ページ管理ビットマップテーブル5を更新し、更新後のブロック内有効ページ管理ビットマップテーブル5に基づいて、今回のライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントする。カウントした有効ページ数が所定数以下の場合、旧物理ブロックをコンパクション候補としてコンパクション候補管理テーブル4に追加する。As described above, according to the first embodiment, theflash memory81, 81 2,... at the time of data writing completion to 81n, and updates the valid page management bitmap table 5 in a block, the updated Based on the intra-block valid page management bitmap table 5, the number of valid pages of the old physical block in which data has been previously written corresponding to the logical block address to be written this time is counted. If the counted number of valid pages is less than or equal to the predetermined number, the old physical block is added to the compaction candidate management table 4 as a compaction candidate.

このため、通常のデータ書き込み動作に付随してコンパクション候補検索の一部とコンパクション候補設定が自動的に実行される。従って、従来のファームウェアが必要としていた定期的なコンパクションの対象候補となるブロックの検索動作の要求を不要とすることができる。このようにファームウェアによって起動される検索動作の回数を低減させることによって、一時的に増加するメインメモリの帯域消費の比率が低下し、NAND型フラッシュメモリとのユーザデータ転送に係るメインメモリへのアクセスが阻害されにくくなるため、その分速度性能劣化を防止できる。  For this reason, a part of the compaction candidate search and compaction candidate setting are automatically executed along with the normal data writing operation. Therefore, it is possible to eliminate the need for a search operation for a block that is a candidate for periodic compaction, which is required by conventional firmware. By reducing the number of search operations started by the firmware in this way, the ratio of bandwidth consumption of the main memory that temporarily increases is reduced, and access to the main memory related to user data transfer with the NAND flash memory is reduced. Is less likely to be hindered, and accordingly, speed performance deterioration can be prevented.

なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。例えば、コンパクション候補管理テーブル4はキュー構造で限定されない。例えば、データチェーン構造をとっていた場合は、チェーンの最終データが保持しているポインタのアドレスに対して、コンパクション候補データのエントリ追加をすればよい。  Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment. For example, the compaction candidate management table 4 is not limited to a queue structure. For example, when the data chain structure is adopted, an entry of compaction candidate data may be added to the address of the pointer held by the final data of the chain.

本発明はNANDフラッシュメモリコントローラ1を使用するシステムであれば、どのようなシステムにも適用可能である。例えば、半導体ドライブ(Solid State Drive: SSD)と呼ばれる機器や、シリコンオーディオ機器、メモリメディアカードなどに適用することができるが、その際には実施例で示した構成の他に、システム特有のホストバスを追加する必要がある。SSDであれば、SAS/SATAのホストバスインターフェース等を追加する必要がある。  The present invention is applicable to any system that uses the NAND flash memory controller 1. For example, the present invention can be applied to a device called a solid state drive (SSD), a silicon audio device, a memory media card, etc. In this case, in addition to the configuration shown in the embodiment, a host specific to the system is used. It is necessary to add a bus. In the case of SSD, it is necessary to add a SAS / SATA host bus interface or the like.

また、本発明は、コンピュータに所定の手段を実行させるため、コンピュータを所定の手段として機能させるため、コンピュータに所定の機能を実現させるため、あるいはプログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。  The present invention can also be implemented to cause a computer to execute predetermined means, to cause a computer to function as predetermined means, to cause a computer to realize predetermined functions, or as a computer-readable recording medium storing a program. You can also

また、上述の説明は個々の実施例それぞれについて行ったが、複数の実施例を適宜組み合わせてもよい。  Moreover, although the above-mentioned description was performed about each Example, you may combine several Example suitably.

1…NANDフラッシュメモリコントローラ、2…CPU、3…メインメモリ、4…コンパクション候補管理テーブル、5…ブロック内有効ページ管理ビットマップテーブル、6…NANDフラッシュメモリI/F、8…NAND型フラッシュメモリ、9…ROM。  DESCRIPTION OF SYMBOLS 1 ... NAND flash memory controller, 2 ... CPU, 3 ... Main memory, 4 ... Compaction candidate management table, 5 ... In-block effective page management bitmap table, 6 ... NAND flash memory I / F, 8 ... NAND flash memory, 9 ... ROM.

Claims (10)

Translated fromJapanese
不揮発性メモリのコントローラであって、
不揮発性メモリへのデータ書き込み時にデータ書き込みに伴い無効にすべきページが属するブロックの有効ページ数をカウントするカウント手段と、
前記カウント手段によりカウントされた有効ページ数が所定数以下の場合、前記ブロックをコンパクション処理の対象とする追加手段と、
を具備するコントローラ。
A non-volatile memory controller,
Counting means for counting the number of valid pages of a block to which a page to be invalidated along with data writing at the time of data writing to the nonvolatile memory;
When the number of valid pages counted by the counting unit is a predetermined number or less, an adding unit that targets the block for compaction processing;
A controller comprising:
ページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルをさらに具備し、
前記カウント手段はデータ書き込み時に、ライト対象の論理ブロックアドレスに対応して今回書き込みが行われたページを有効とし、該ライト対象の論理ブロックアドレスに対応して以前に書き込みが行われたページを無効とし、前記有効ページ管理テーブルを更新する請求項1記載のコントローラ。
It further comprises an effective page management table for managing the validity / invalidity of the data in the nonvolatile memory for each page,
When the data is written, the counting means validates the page written this time corresponding to the logical block address to be written and invalidates the page previously written corresponding to the logical block address to be written. The controller according to claim 1, wherein the valid page management table is updated.
前記追加手段は、前記所定数を記憶するレジスタを具備する請求項1記載のコントローラ。  The controller according to claim 1, wherein the adding unit includes a register that stores the predetermined number. 前記追加手段によりコンパクション処理の対象とされるブロックを記憶するコンパクション候補管理テーブルをさらに具備し、前記コンパクション候補管理テーブルはハードウェアおよびファームウェアの双方からアクセス可能である請求項1記載のコントローラ。  The controller according to claim 1, further comprising a compaction candidate management table that stores a block that is subjected to compaction processing by the adding unit, and the compaction candidate management table is accessible from both hardware and firmware. 不揮発性メモリのコントローラであって、
一定バイトからなるページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルと、
所定ページからなるブロック毎にコンパクション処理の候補を管理するコンパクション候補管理テーブルと、
ライト対象の論理ブロックアドレスを物理ブロックアドレスに変換して不揮発性メモリへデータを書き込む手段と、
前記不揮発性メモリへのデータ書き込みが終了すると、前記有効ページ管理テーブルを更新する更新手段と、
前記更新された有効ページ管理テーブルに基づいて、前記ライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントする手段と、
カウントした前記有効ページ数が所定数以下の場合、前記旧物理ブロックのアドレスをコンパクション候補管理テーブルに追加する手段と、
を具備するコントローラ。
A non-volatile memory controller,
A valid page management table that manages the validity / invalidity of data in the nonvolatile memory for each page consisting of a certain number of bytes,
A compaction candidate management table for managing candidates for compaction processing for each block of predetermined pages;
Means for converting a logical block address to be written into a physical block address and writing data to a nonvolatile memory;
When data writing to the non-volatile memory is completed, an update unit that updates the valid page management table;
Based on the updated valid page management table, means for counting the number of valid pages of the old physical block in which data has been previously written corresponding to the logical block address to be written;
Means for adding the address of the old physical block to a compaction candidate management table when the counted number of valid pages is less than or equal to a predetermined number;
A controller comprising:
前記更新手段は前記ライト対象の論理ブロックアドレスから変換され今回書き込みが行われた物理ブロックを有効とし、前記ライト対象の論理ブロックアドレスから変換され以前に書き込みが行われた物理ブロックを無効とする請求項5に記載のコントローラ。  The update means validates a physical block converted from the write target logical block address and written this time, and invalidates a physical block converted from the write target logical block address and previously written. Item 6. The controller according to item 5. カウントした前記有効ページ数と比較する前記所定数を記憶するレジスタをさらに具備する請求項5記載のコントローラ。  The controller according to claim 5, further comprising a register that stores the predetermined number to be compared with the counted number of valid pages. 前記コンパクション候補管理テーブルはハードウェアおよびファームウェアの双方からアクセス可能である請求項5記載のコントローラ。  6. The controller according to claim 5, wherein the compaction candidate management table is accessible from both hardware and firmware. 不揮発性メモリの制御方法であって、
ライト対象の論理ブロックアドレスを物理ブロックアドレスに変換して不揮発性メモリへデータを書き込むことと、
前記不揮発性メモリへのデータ書き込みが終了すると、一定バイトからなるページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルを更新することと、
前記更新された有効ページ管理テーブルに基づいて、前記ライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントすることと、
カウントした前記有効ページ数が所定数以下の場合、前記旧物理ブロックのアドレスを、所定ページからなるブロック毎にコンパクション処理の候補を管理するコンパクション候補管理テーブルに追加することと、
を具備する制御方法。
A non-volatile memory control method comprising:
Converting the logical block address to be written into a physical block address and writing the data to the non-volatile memory;
When the data writing to the nonvolatile memory is completed, updating the valid page management table for managing the validity and invalidity of the data in the nonvolatile memory for each page consisting of a fixed byte;
Based on the updated valid page management table, counting the number of valid pages of the old physical block in which data was previously written corresponding to the write target logical block address;
If the counted number of valid pages is less than or equal to a predetermined number, adding the address of the old physical block to a compaction candidate management table for managing a compaction processing candidate for each block consisting of a predetermined page;
A control method comprising:
前記更新することは前記ライト対象の論理ブロックアドレスから変換され今回書き込みが行われた物理ブロックを有効とし、前記ライト対象の論理ブロックアドレスから変換され以前に書き込みが行われた物理ブロックを無効とする請求項9に記載の制御方法。  The update makes the physical block converted from the write target logical block address and written this time valid, and makes the physical block converted from the write target logical block address and previously written invalid. The control method according to claim 9.
JP2010019223A2010-01-292010-01-29 Nonvolatile memory controller and nonvolatile memory control methodExpired - Fee RelatedJP4738536B1 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
JP2010019223AJP4738536B1 (en)2010-01-292010-01-29 Nonvolatile memory controller and nonvolatile memory control method
US13/011,761US8171254B2 (en)2010-01-292011-01-21Memory controller and memory control method

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2010019223AJP4738536B1 (en)2010-01-292010-01-29 Nonvolatile memory controller and nonvolatile memory control method

Publications (2)

Publication NumberPublication Date
JP4738536B1true JP4738536B1 (en)2011-08-03
JP2011159044A JP2011159044A (en)2011-08-18

Family

ID=44342653

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2010019223AExpired - Fee RelatedJP4738536B1 (en)2010-01-292010-01-29 Nonvolatile memory controller and nonvolatile memory control method

Country Status (2)

CountryLink
US (1)US8171254B2 (en)
JP (1)JP4738536B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10296455B2 (en)2017-03-232019-05-21Toshiba Memory CorporationMemory system and control method of nonvolatile memory

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP4802284B2 (en)*2010-01-292011-10-26株式会社東芝 Semiconductor memory device and control method thereof
US8407449B1 (en)2010-02-262013-03-26Western Digital Technologies, Inc.Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US8725931B1 (en)2010-03-262014-05-13Western Digital Technologies, Inc.System and method for managing the execution of memory commands in a solid-state memory
US8782327B1 (en)2010-05-112014-07-15Western Digital Technologies, Inc.System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en)*2010-05-122015-05-05Western Digital Technologies, Inc.System and method for managing garbage collection in solid-state memory
US9164886B1 (en)2010-09-212015-10-20Western Digital Technologies, Inc.System and method for multistage processing in a memory storage subsystem
US9021192B1 (en)2010-09-212015-04-28Western Digital Technologies, Inc.System and method for enhancing processing of memory access requests
US20140013031A1 (en)*2012-07-092014-01-09Yoko MasuoData storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
US20140032820A1 (en)*2012-07-252014-01-30Akinori HarasawaData storage apparatus, memory control method and electronic device with data storage apparatus
US8898548B1 (en)2012-08-242014-11-25Western Digital Technologies, Inc.Methods, data storage devices and systems having variable size ECC page size
US9268682B2 (en)2012-10-052016-02-23Skyera, LlcMethods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en)2012-10-122016-11-29Western Digital Technologies, Inc.Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en)2012-10-172016-11-08Western Digital Technologies, Inc.Methods, devices and systems for hardware-based garbage collection in solid state drives
JP6008325B2 (en)*2013-05-172016-10-19学校法人 中央大学 Data storage system and control method thereof
JP2015001909A (en)*2013-06-172015-01-05富士通株式会社 Information processing apparatus, control circuit, control program, and control method
US9304906B2 (en)2013-09-102016-04-05Kabushiki Kaisha ToshibaMemory system, controller and control method of memory
US9354955B1 (en)2014-03-192016-05-31Western Digital Technologies, Inc.Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9798657B2 (en)2014-10-152017-10-24Samsung Electronics Co., Ltd.Data storage device including nonvolatile memory device and operating method thereof
KR102391678B1 (en)2015-01-222022-04-29삼성전자주식회사Storage device and sustained status accelerating method thereof
KR102671760B1 (en)*2016-12-272024-06-05에스케이하이닉스 주식회사Controller and operating method of controller
US10409692B1 (en)*2017-07-142019-09-10EMC IP Holding Company LLCGarbage collection: timestamp entries and remove reference counts
US11237744B2 (en)*2018-12-282022-02-01Verizon Media Inc.Method and system for configuring a write amplification factor of a storage engine based on a compaction value associated with a data file
KR20220048864A (en)*2020-10-132022-04-20에스케이하이닉스 주식회사Storage device and operating method thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH06175917A (en)1992-12-021994-06-24Hitachi Ltd Flash memory
JPH0736759A (en)1993-07-151995-02-07Hitachi Ltd Semiconductor file system
JP2003058417A (en)2001-08-212003-02-28Matsushita Electric Ind Co Ltd Storage device
WO2004077447A1 (en)*2003-02-282004-09-10Fujitsu LimitedFlash memory and memory control method
JPWO2005029311A1 (en)*2003-09-182006-11-30松下電器産業株式会社 Semiconductor memory card, semiconductor memory control device, and semiconductor memory control method
US7173852B2 (en)*2003-10-032007-02-06Sandisk CorporationCorrected data storage and handling methods
US7552271B2 (en)2005-08-032009-06-23Sandisk CorporationNonvolatile memory with block management
DE602006019263D1 (en)*2005-08-032011-02-10Sandisk Corp NON-VOLATILE MEMORY WITH BLOCK ADMINISTRATION
WO2007019217A1 (en)2005-08-032007-02-15Sandisk CorporationNonvolatile memory with block management
JP2008146253A (en)*2006-12-072008-06-26Sony CorpStorage device, computer system, and data processing method for storage device
JP5224706B2 (en)*2007-03-232013-07-03キヤノン株式会社 Storage device and storage device control method
KR101077339B1 (en)*2007-12-282011-10-26가부시끼가이샤 도시바Semiconductor storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10296455B2 (en)2017-03-232019-05-21Toshiba Memory CorporationMemory system and control method of nonvolatile memory

Also Published As

Publication numberPublication date
US20110191566A1 (en)2011-08-04
US8171254B2 (en)2012-05-01
JP2011159044A (en)2011-08-18

Similar Documents

PublicationPublication DateTitle
JP4738536B1 (en) Nonvolatile memory controller and nonvolatile memory control method
US20230152969A1 (en)Memory system and method of controlling memory system
US9026734B2 (en)Memory system and data deleting method
US9213635B2 (en)Memory system
US8176237B2 (en)Solid state drive with input buffer
JP4643667B2 (en) Memory system
US20180095663A1 (en)Information processing device including host device and semiconductor memory device having a block rearrangement to secure free blocks
KR101067457B1 (en) Memory system
US20120030413A1 (en)Memory management device, information processing device, and memory management method
US20130212319A1 (en)Memory system and method of controlling memory system
US8825946B2 (en)Memory system and data writing method
WO2012081731A1 (en)Semiconductor storage device
US12099735B2 (en)Memory system
US20110191529A1 (en)Semiconductor storage device and method of controlling semiconductor storage device
JP4592774B2 (en) Memory system
US9329994B2 (en)Memory system
JP2010176702A (en)Memory system
KR101353967B1 (en)Data process method for reading/writing data in non-volatile memory cache having ring structure
KR101373613B1 (en)Hybrid storage device including non-volatile memory cache having ring structure

Legal Events

DateCodeTitleDescription
A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20110307

A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20110307

A871Explanation of circumstances concerning accelerated examination

Free format text:JAPANESE INTERMEDIATE CODE: A871

Effective date:20110307

A975Report on accelerated examination

Free format text:JAPANESE INTERMEDIATE CODE: A971005

Effective date:20110323

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20110405

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20110426

R151Written notification of patent or utility model registration

Ref document number:4738536

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R151

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20140513

Year of fee payment:3

S111Request for change of ownership or part of ownership

Free format text:JAPANESE INTERMEDIATE CODE: R313111

R350Written notification of registration of transfer

Free format text:JAPANESE INTERMEDIATE CODE: R350

S111Request for change of ownership or part of ownership

Free format text:JAPANESE INTERMEDIATE CODE: R313111

R350Written notification of registration of transfer

Free format text:JAPANESE INTERMEDIATE CODE: R350

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp