JP2013196646A - Memory control device, data storage device, and memory control method - Google Patents

Memory control device, data storage device, and memory control method Download PDF

Info

Publication number
JP2013196646A
JP2013196646A JP2012066239A JP2012066239A JP2013196646A JP 2013196646 A JP2013196646 A JP 2013196646A JP 2012066239 A JP2012066239 A JP 2012066239A JP 2012066239 A JP2012066239 A JP 2012066239A JP 2013196646 A JP2013196646 A JP 2013196646A
Authority
JP
Japan
Prior art keywords
compaction
unit
data
search
processing
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
JP2012066239A
Other languages
Japanese (ja)
Inventor
Yoko Masuo
容子 増尾
Hironobu Miyamoto
博暢 宮本
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 Corp, 株式会社東芝 filed Critical Toshiba Corp
Priority to JP2012066239A priority Critical patent/JP2013196646A/en
Priority claimed from US13/560,486 external-priority patent/US8930614B2/en
Publication of JP2013196646A publication Critical patent/JP2013196646A/en
Application status is Pending legal-status Critical

Links

Images

Abstract

There is provided a memory control device capable of shortening the time until completion of compaction processing and guaranteeing the write latency to a host.
A compaction controller 43 controls compaction processing for a flash memory, and includes a search unit, a search stop determination unit, a compaction read processing unit, and a compaction write processing unit. The retrieval unit retrieves valid data from a compaction source block from which valid data is read by the read / write controller. The search cancellation determination unit stops the search processing of the search unit when the search processing amount by the search unit exceeds the upper limit value. The compaction read processing unit reads the valid data retrieved by the retrieval unit via the read / write controller from the compaction source block. The compaction write processing unit writes the valid data read by the compaction read processing unit to the compaction destination block in a predetermined data amount unit.
[Selection] Figure 1

Description

  Embodiments described herein relate generally to a memory control device, a data storage device, and a memory control method for a nonvolatile memory.

  2. Description of the Related Art In recent years, development of an SSD (solid state drive) using a NAND flash memory (hereinafter sometimes simply referred to as a flash memory), which is a rewritable nonvolatile memory, has been promoted as a data storage device. In the flash memory, the data writing unit is a page unit, whereas the data erasing unit is a block unit. In addition, an erasure process is required before rewriting the storage area to be rewritten.

  Due to such characteristics of the flash memory, in the SSD, when data rewriting with respect to the flash memory proceeds, the proportion of the storage area in which valid data cannot be stored in the block due to invalid data (data that is not the latest) increases. Therefore, the SSD executes a compaction process in order to effectively use the storage area in the block.

JP 2009-211119 A

  In the compaction processing, the search processing time for searching the compaction source block and its valid data (for example, in cluster units) greatly affects the operation performance of the SSD. For this reason, various techniques for shortening the search processing time have been proposed.

  However, in the compaction source block, there may occur a block in which the valid data is extremely small (sparse density state). In such a case, it is difficult to shorten the search processing time, and there is a high possibility that the time until completion of the compaction processing will increase. For this reason, there is a problem that the SSD cannot guarantee the request response upper limit time (write latency) to the host.

  An object of the present invention is to provide a memory control device capable of shortening the time until completion of compaction processing and guaranteeing the write latency for a host.

  According to the embodiment, the memory control device includes a read / write controller and a compaction controller. The read / write controller reads / writes data from / to the flash memory using a block as an erasing unit. The compaction controller controls compaction processing for the flash memory, and includes a search unit, a search stop determination unit, a compaction read processing unit, and a compaction write processing unit. The retrieval unit retrieves valid data from the compaction source block from which valid data is read by the read / write controller. The search cancellation determination unit stops the search processing of the search unit when the amount of search processing by the search unit exceeds the upper limit value. The compaction read processing unit reads the valid data retrieved by the retrieval unit via the read / write controller from the compaction source block. The compaction write processing unit writes the valid data read by the compaction read processing unit to the compaction destination block in a predetermined data amount unit.

The block diagram for demonstrating the structure of SSD regarding embodiment. The figure for demonstrating the outline | summary of the compaction process regarding embodiment. The flowchart for demonstrating the compaction process regarding embodiment. The figure for demonstrating the progress ratio of the compaction process regarding embodiment. The flowchart for demonstrating the compaction process regarding embodiment. The flowchart for demonstrating the compaction process regarding the modification of embodiment.

  Embodiments will be described below with reference to the drawings.

[Configuration of data storage device]
As shown in FIG. 1, the data storage device according to the embodiment is an SSD (solid state drive) 1 and includes a NAND flash memory (hereinafter referred to as a flash memory) 6 which is a nonvolatile memory as a data storage medium. In the flash memory 6, a plurality of memory chips 100 to 131 are grouped in a matrix configuration called channels ch0 to ch7 and banks 0 to 3. Further, each of the memory chips 100 to 131 is composed of a plurality of physical blocks. The physical block is the smallest physical storage area unit that can be independently erased in the flash memory 6. The SSD 1 manages a plurality of physical blocks as logical blocks within the SSD 1. A logical block is a data erase unit of SSD1. In the present embodiment, the logical block is simply referred to as “block”.

  The SSD 1 includes an SSD controller 10 that controls the flash memory 6. The SSD controller 10 includes a host interface unit 2, a data buffer 3, a main control unit 4, and a memory controller 5.

  The host interface unit 2 controls transfer of data, commands, and addresses between the host and the SSD 1. Here, the host is, for example, a computer including an interface of SATA (Serial ATA) standard. The data buffer 3 is a buffer memory made of, for example, a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The host interface unit 2 stores data transferred from the host in the data buffer 3. The host interface unit 2 transfers commands and addresses transferred from the host to the main control unit 4.

  The data buffer 3 has a write buffer area (WB area) 31 and a compaction buffer area (CB area) 32. The WB area 31 stores write data (user data) transferred from the host. The CB area 32 stores write data (valid data) at the time of compaction processing described later. The data buffer 3 may include an area for storing a logical / physical address conversion table.

  The main control unit 4 is composed of, for example, a microprocessor (MPU) and executes overall control of the SSD controller 10. The main control unit 4 includes a write / read controller 41, a block management unit 42, and a compaction controller 43.

  The write / read controller 41 controls the read process and the write process in response to a read / write command from the host interface unit 2 from the host. Further, the write / read controller 41 controls the write processing such as the write order for the flash memory 6 in accordance with the write command for compaction processing from the compaction controller 43. The block management unit 42 includes a table for managing the effective cluster of each block (here, a logical block) of the flash memory 6 and management information for managing a free block (an unused standby state block).

  The compaction controller 43 is a control unit that controls compaction processing, which will be described later. The compaction source block search processing, the valid cluster search processing in the block, the valid cluster search count processing, the valid cluster search processing stop determination processing, and the compaction command Processing such as generating a list of. The compaction controller 43 includes a valid cluster search processing counter 431 and a valid cluster abort determination unit 432. The compaction command is a read command for executing a compaction read process and a write command for performing a compaction write process, as will be described later.

  The memory controller 5 includes a plurality of NAND controllers 50 to 57 for each of the channels ch0 to ch7, and executes a read process or a write process on the flash memory 6 in accordance with a command from the write / read controller 41. Each of the NAND controllers 50 to 57 executes a read process or a write process in parallel on the memory chips 100 to 131 for each of the channels ch0 to ch7. In the present embodiment, the memory controller 5 performs a read process (compact read process) or a write process (compact write process) during the compaction process for the flash memory 6 according to a command from the write / read controller 41 that cooperates with the compaction controller 43. ).

[Compact processing]
First, a basic outline of the compaction process will be described with reference to FIG.

  As described above, the SSD 1 performs the compaction process in order to effectively use the storage area in the block in which the storage area of the effective data is low in each block of the flash memory 6.

  As shown in FIG. 2, the compaction controller 43 performs a compaction source block search process for searching the compaction source blocks 20A and 20B (for convenience, two logical blocks) from the flash memory 6. The compaction source block is a compaction processing target block in which the storage area of valid data (latest data) is reduced in density among the active blocks in which valid data is recorded.

  The compaction controller 43 acquires information for setting candidates for the compaction source block from the block management unit 42 from the list information of the active blocks and the table for managing the effective cluster of each block. In this case, in order to effectively perform the compaction process, it is desirable to search a low-density block with as few effective clusters as possible as a compaction source block.

  Here, the cluster is a minimum access unit when data is read from the flash memory 6. Each block 20A, 20B consists of a plurality of logical pages (P0 to P2). Each logical page is composed of a plurality of clusters. A valid cluster is valid data in units of clusters. The effective cluster number (CN) is the effective data amount in one block.

  As shown in FIG. 2, the compaction controller 43 refers to a table for managing effective clusters, and executes search processing for searching for effective clusters 21A and 21B from the searched compaction source blocks 20A and 20B. In this table, log information for identifying valid clusters and invalid clusters composed of invalid data is set.

  In response to a command from the write / read controller 41 that cooperates with the compaction controller 43, the memory controller 5 executes a compaction read process for reading the valid clusters 21A and 21B from the compaction source blocks 20A and 20B. Further, the memory controller 5 executes a compaction write process for writing the effective clusters 21A and 21B read from the compaction source blocks 20A and 20B to the compaction destination block 20C.

  The compaction destination block 20C is selected from a list of free blocks (writable free blocks) managed by the block management unit 42. Through the compaction process as described above, valid clusters (valid data for each cluster) 21A and 21B are collected from the compaction source blocks 20A and 20B, and rewritten in the compaction destination block 20C. After the rewriting process, the compaction source blocks 20A and 20B can be reused as free blocks by executing an erasing process on the compaction source blocks 20A and 20B.

  Next, the compaction process of the present embodiment will be specifically described with reference to the flowchart of FIG. 3 and FIGS. 4 and 5.

  First, in response to a write request from the host, the SSD 1 secures a free block when a sparse block whose effective data storage area becomes low density increases as user data is written to the flash memory 6. Perform compaction processing.

  In this case, the compaction controller 43 needs to start the compaction process at an appropriate timing and complete the compaction light process. The write / read controller 41 cooperates with the compaction controller 43 to execute compaction write processing between user data write processing (hereinafter referred to as host write processing) by a write command from the host.

  In this case, the compaction controller 43 issues a compaction command to the write / read controller 41 based on the progress rate of compaction processing. The write / read controller 41 issues a write command for executing the compaction write process after scheduling with the write command from the host in accordance with the compaction command from the compaction controller 43, and outputs it to the memory controller 5. The progress rate of the compaction process is the ratio (gear ratio) of the number of logical pages to be processed when the host write process and the compaction write process are paired.

  Specifically, the ratio of the number of logical pages (logical page addresses P0 to P2) is the number of logical pages (1 page) of host write processing for the free block 40A shown in FIG. 4 (A) and FIG. 4 (B). The ratio is the number of logical pages (N pages, here N = 2) in the compaction write process for the free block 40B shown in FIG. In accordance with the compaction command, the write / read controller 41 controls the write order of both the flash memory 6 so that the ratio of the number of logical pages of the host write process and the compaction write process is, for example, 1: 2.

  As shown in FIG. 5, the compaction controller 43 executes a compaction source block search process for searching the compaction source blocks 50A and 50B (for convenience, two logical blocks). In this case, as described above, the compaction controller 43 acquires information for setting candidates for the compaction source block from the block management unit 42 from the list information of the active blocks and the table for managing the effective cluster of each block.

  Next, as shown in FIG. 3, the compaction controller 43 refers to a table for managing effective clusters, and starts a search process for searching for effective clusters 51A and 51B from the searched compaction source blocks 50A and 50B (block). 300).

  At the start of search processing, the compaction controller 43 initializes a valid cluster search processing counter 431 that is a valid cluster search processing counter. The valid cluster search processing counter 431 measures the search processing amount of the valid cluster search process in units of issuing compaction commands. Specifically, the search processing amount is one of the number of compaction source blocks, the number of logical pages, or the search processing time. In this case, the search processing amount for the number of logical pages is an amount obtained by converting the number of valid clusters when searching for valid clusters into the number of logical pages. One logical page corresponds to, for example, two clusters. Here, as described above, the compaction command is issued based on the progress rate of the compaction process.

  The effective cluster abort determination unit 432 of the compaction controller 43 compares the measured search processing amount (counter value) with a preset upper limit value, and determines whether the search processing amount exceeds the upper limit value. (Block 301). Here, the upper limit value is a value set based on, for example, an upper limit time request (write latency) of a command response to the host. The upper limit time for this command response is set on the assumption of the progress rate of the compaction process as described above. When the determination result of the valid cluster abort determination unit 432 does not exceed the upper limit value, the compaction controller 43 proceeds to normal compaction processing (NO in block 301).

  As shown in FIG. 5, the compaction controller 43 refers to a table for managing valid clusters, and retrieves valid clusters 51A and 51B from the retrieved compaction source blocks 50A and 50B (block 302). As described above, log information for identifying valid clusters and invalid clusters composed of invalid data is set in the table. The valid cluster search processing counter 431 of the compaction controller 43 counts the number of searched valid clusters (CN) and holds the count value (CN) in, for example, an internal register (YES in block 303, 304).

  Next, the compaction controller 43 performs a compaction read process for reading the detected valid clusters 51A and 51B from the compaction source blocks 50A and 50B (block 305). Specifically, the compaction controller 43 generates a compaction command for requesting compaction read processing for the detected valid clusters 51A and 51B. The write / read controller 41 issues a read command from the compaction command and outputs it to the memory controller 5. As a result, the memory controller 5 reads the valid clusters 51A and 51B from the compaction source blocks 50A and 50B and stores them in the CB area 32 of the data buffer 3.

  The compaction controller 43 repeats the process up to the compaction read process until the number of valid clusters (CN) of the valid cluster read by the compaction read process is equal to the logical page unit (PN) of the compaction process (CN = PN) (block) 306 NO). When the valid clusters of all the clusters included in the logical page are stored in the CB area 32, the compaction controller 43 generates a compaction command for requesting compaction write processing (YES in block 306).

  The write / read controller 41 issues a write command for each logical page from the compaction command and outputs it to the memory controller 5. As a result, the memory controller 5 executes a compaction write process in which valid clusters of all the clusters included in the logical page read from the CB area 32 of the data buffer 3 are written in the compaction destination block 50C (block 307). Specifically, as shown in FIG. 5, for example, valid clusters of all clusters (logical page address P1) included in the logical page are written in the compaction destination block 50C from within the CB area 32.

  On the other hand, the compaction controller 43 stops the search process when the search processing amount of a series of valid cluster search processes including the compaction read process exceeds the upper limit according to the determination result of the valid cluster abort determination unit 432 (block block) 301 YES, 308). Here, as described above, the search processing amount is, for example, the number of compaction source blocks, the number of logical pages, or the search processing time.

  When the compaction controller 43 stops the search process, if the number of detected effective clusters is less than all the clusters included in the logical page, a compaction command for writing dummy data (for example, all 0) DD (NULL Padding) is issued. Generate (block 310). In response to the compaction command, the write / read controller 41 writes the dummy data DD in the area 53 (logical page address P0) of the CB area 32 that is less than all the clusters included in the logical page, as shown in FIG. Thereafter, the write / read controller 41 issues a write command in units of logical pages and outputs it to the memory controller 5.

  The memory controller 5 executes a compaction write process in which valid clusters of all clusters included in the logical page read from the CB area 32 of the data buffer 3 are written in the compaction destination block 50C (block 307). Specifically, as shown in FIG. 5, for example, valid clusters and dummy data DD of all clusters (logical page address P0) included in the logical page are written from the CB area 32 to the compaction destination block 50C. The compaction controller 43 repeats a series of processing until processing for the number of logical pages to be compacted is completed (block 309).

  As described above, according to the present embodiment, it is possible to execute a compaction process in which valid clusters are collected from a compaction source block and rewritten in a compaction destination block. For this reason, the writable free blocks can be increased by erasing the compaction source block.

  Furthermore, in the case of the compaction process of the present embodiment, when the valid cluster search process is being executed, for example, if the search process time exceeds the upper limit value, the search process is stopped. Since the upper limit value is set based on the command response upper limit time for the host, the request (write latency) can be guaranteed by limiting the search processing time. In this case, when the search process is stopped, a state may occur in which the number of valid clusters read by the compaction read process is less than all the clusters included in the logical page. In the present embodiment, by writing dummy data DD in a capacity less than all the clusters included in the logical page (NULL Padding), the compaction process to be rewritten in the compaction destination block can be reliably completed.

  In this embodiment, when valid data is retrieved from the compaction source block, retrieval processing is performed in units of valid clusters. However, the present invention is not limited to this, and may be in units of logical pages, for example.

[Modification]
FIG. 6 is a flowchart for explaining the compaction process according to the modification of the present embodiment. Also in this modification, the configuration of the SSD 1 is the same as that shown in FIG.

  In this modification, when the search process is stopped, the compaction write process including the process of writing the dummy data DD is not executed, and the number of valid clusters read out by the compaction read process is included in all the clusters included in the logical page. This is a processing method for waiting until data is stored in the CB area 32 of the data buffer 3. Hereinafter, a specific description will be given with reference to the flowchart of FIG.

  First, the processing from blocks 600 to 605 is the same as the processing from 300 to 305 shown in FIG. That is, the compaction controller 43 starts a search process for searching for a valid cluster from the searched compaction source block (block 600). The compaction controller 43 compares the measured search processing amount (counter value) with a preset upper limit value, and determines whether or not the search processing amount exceeds the upper limit value (block 601). If the determination result does not exceed the upper limit value, the compaction controller 43 proceeds to normal compaction processing (NO in block 601).

  The compaction controller 43 retrieves a valid cluster from the retrieved compaction source block (block 602). The compaction controller 43 counts the number of retrieved effective clusters (CN) and holds the count value (CN) in, for example, an internal register (YES in block 603, 604). Next, the compaction controller 43 performs a compaction read process for reading the detected valid cluster from the compaction source block (block 605).

  That is, the memory controller 5 reads the valid cluster from each compaction source block and stores it in the CB area 32 of the data buffer 3 (block 606). The compaction controller 43 repeats the process up to the compaction read process until the number of valid clusters (CN) of the valid cluster read by the compaction read process is equal to the logical page unit (PN) of the compaction process (CN = PN) (block) 607 NO). When the valid clusters of all the clusters included in the logical page are stored in the CB area 32, the compaction controller 43 generates a compaction command for requesting compaction write processing (YES in block 607). The memory controller 5 executes a compaction write process in which valid clusters of all clusters included in the logical page read from the CB area 32 of the data buffer 3 are written in the compaction destination block 50C (block 307).

  On the other hand, the compaction controller 43 stops the search processing when the search processing amount of the valid cluster search processing exceeds the upper limit (YES in block block 601 609). Here, the compaction controller 43 does not execute the compaction write process when the search process is stopped. In this case, the SSD controller 10 executes the host write process in advance. Thereby, it is possible to guarantee the data writing performance of the SSD 1. The compaction controller 43 repeats a series of processing until the processing for the number of logical pages to be compacted is completed (block 610).

  In this case, the read effective cluster is accumulated in the CB area 32 by the compaction read process (block 606). When the valid clusters of all the clusters included in the logical page are stored in the CB area 32, the compaction controller 43 generates a compaction command for requesting compaction write processing (YES in block 607). As a result, the memory controller 5 executes a compaction write process in which valid clusters of all the clusters included in the logical page read from the CB area 32 of the data buffer 3 are written to the compaction destination block. Therefore, when the search process is canceled, the compaction process rewriting to the compaction destination block is surely completed by waiting until all the clusters included in the logical page are stored in the CB area 32 by the compaction read process. be able to.

  Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

DESCRIPTION OF SYMBOLS 1 ... SSD (solid state drive), 2 ... Host interface part 3 ... Data buffer, 4 ... Main control part, 5 ... Memory controller 6 ... NAND type flash memory (flash memory)
31: Write buffer area (WB area)
32 ... Compaction buffer area (CB area)
41 ... Write / read controller 42 ... Block management unit, 43 ... Compaction controller

Claims (13)

  1. A read / write controller that controls the reading and writing of data to the flash memory;
    A compaction controller for controlling compaction processing for the flash memory,
    The compaction controller is
    A search unit for searching valid data from a compaction source block to be compacted,
    A search cancellation determination unit for canceling the search process of the search unit when a search processing amount by the search unit exceeds an upper limit;
    A compaction read processing unit that reads the valid data retrieved by the retrieval unit from the compaction source block via the read / write controller;
    A memory control device comprising: a compaction write processing unit that writes valid data read by the compaction read processing unit to a compaction destination block in a predetermined data amount unit.
  2. The compaction controller is
    Data control processing for executing data control processing so as to satisfy the data amount unit when the search processing is canceled by the search stop determination unit and valid data to be written to the compaction destination block does not satisfy the data amount unit The memory control device according to claim 1, further comprising a unit.
  3. The data control processing unit
    The memory control device according to claim 2, wherein dummy data sufficient to satisfy the data amount unit is added together with valid data read from the compaction source block.
  4. The data control processing unit
    When the search processing is stopped by the search stop determination unit, the compaction write processing to be written to the compaction destination block is interrupted,
    The memory control device according to claim 2, wherein valid data is stored in a buffer memory until valid data read from the compaction source block satisfies the data amount unit.
  5.   The search processing amount is any one of the number of compaction source blocks to be searched, the number of logical pages corresponding to the data amount unit of the effective data to be searched, or the search processing time. The memory control device according to the item.
  6. The compaction controller is
    6. The compaction process according to claim 1, wherein the compaction process is executed based on a progress ratio of a process of pairing the host write process for writing data to the flash memory in response to a write request from a host and the compaction write process. 2. The memory control device according to item 1.
  7. The upper limit is
    The memory control device according to claim 6, wherein the memory control device is a value set based on a response upper limit time for a write request from a host based on the progress ratio.
  8. The valid data is a valid cluster unit,
    5. The memory control device according to claim 1, wherein the data amount unit is a logical page unit.
  9. Flash memory with blocks as erase units,
    A read / write controller for reading and writing data to the flash memory;
    A compaction controller for controlling compaction processing for the flash memory,
    The compaction controller is
    A search unit for searching valid data from a compaction source block to be compacted,
    A search cancellation determination unit for canceling the search process of the search unit when a search processing amount by the search unit exceeds an upper limit;
    A compaction read processing unit that reads the valid data retrieved by the retrieval unit from the compaction source block via the read / write controller;
    A data storage device comprising: a compaction write processing unit that writes valid data read by the compaction read processing unit to a compaction destination block in a predetermined data amount unit.
  10. The compaction controller is
    Data control processing for executing data control processing so as to satisfy the data amount unit when the search processing is canceled by the search stop determination unit and valid data to be written to the compaction destination block does not satisfy the data amount unit The data storage device according to claim 9, further comprising a section.
  11. The data control processing unit
    The data storage device according to claim 10, wherein dummy data sufficient to satisfy the data amount unit is added together with valid data read from the compaction source block.
  12. The data control processing unit
    When the search processing is stopped by the search stop determination unit, the compaction write processing to be written to the compaction destination block is interrupted,
    The data storage device according to claim 10, wherein valid data is accumulated in a buffer memory until valid data read from the compaction source block satisfies the data amount unit.
  13. A memory control method applied to a data storage device having a flash memory with a block as an erasing unit,
    When controlling compaction processing for the flash memory, processing for retrieving valid data from a compaction source block that is a compaction processing target;
    When the search processing amount of the search process exceeds an upper limit value, a process of stopping the search process;
    A compaction read process for reading out the valid data retrieved by the retrieval process from the compaction source block;
    A memory control method for executing a compaction write process in which valid data read by the compaction read process is written in a compaction destination block in a predetermined data amount unit.
JP2012066239A 2012-03-22 2012-03-22 Memory control device, data storage device, and memory control method Pending JP2013196646A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012066239A JP2013196646A (en) 2012-03-22 2012-03-22 Memory control device, data storage device, and memory control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012066239A JP2013196646A (en) 2012-03-22 2012-03-22 Memory control device, data storage device, and memory control method
US13/560,486 US8930614B2 (en) 2011-07-29 2012-07-27 Data storage apparatus and method for compaction processing

Publications (1)

Publication Number Publication Date
JP2013196646A true JP2013196646A (en) 2013-09-30

Family

ID=49395442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012066239A Pending JP2013196646A (en) 2012-03-22 2012-03-22 Memory control device, data storage device, and memory control method

Country Status (1)

Country Link
JP (1) JP2013196646A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017502376A (en) * 2013-12-26 2017-01-19 インテル・コーポレーション Management of transfer buffer for non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017502376A (en) * 2013-12-26 2017-01-19 インテル・コーポレーション Management of transfer buffer for non-volatile memory

Similar Documents

Publication Publication Date Title
US8843691B2 (en) Prioritized erasure of data blocks in a flash storage device
US8832357B2 (en) Memory system having a plurality of writing mode
US8171242B2 (en) Systems and methods for scheduling a memory command for execution based on a history of previously executed memory commands
KR101131560B1 (en) Non-Volitile Memory Device For Performing Wear-Leveling and Method Thereof
JP4844639B2 (en) Memory controller, flash memory system having memory controller, and flash memory control method
US20130073798A1 (en) Flash memory device and data management method
US8769232B2 (en) Non-volatile semiconductor memory module enabling out of order host command chunk media access
TWI446345B (en) Method for performing block management, and associated memory device and controller thereof
KR101861170B1 (en) Memory system including migration manager
TWI398770B (en) Data accessing method for flash memory and storage system and controller using the same
KR101324688B1 (en) Memory system having persistent garbage collection
JP5002201B2 (en) Memory system
US20130205102A1 (en) Storage control system with erase block mechanism and method of operation thereof
JP4829365B1 (en) Data storage device and data writing method
CN102467455A (en) Memory system, data storage device, user device and data management method thereof
CN103425596A (en) Data storage device and method for flash block management
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US20120254520A1 (en) Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices
KR101759811B1 (en) Memory controller, method, and solid state memory system for formatting solid state memory
JP2013061799A (en) Memory device, control method for memory device and controller
JP2008009874A (en) Memory controller, flash memory system equipped with memory controller, and method for controlling flash memory
US8171239B2 (en) Storage management method and system using the same
KR20100037416A (en) Solid state storage system and controlling method thereof
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
JP5646633B2 (en) Storage device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109