US20100332922A1 - Method for managing device and solid state disk drive utilizing the same - Google Patents

Method for managing device and solid state disk drive utilizing the same Download PDF

Info

Publication number
US20100332922A1
US20100332922A1 US12/721,692 US72169210A US2010332922A1 US 20100332922 A1 US20100332922 A1 US 20100332922A1 US 72169210 A US72169210 A US 72169210A US 2010332922 A1 US2010332922 A1 US 2010332922A1
Authority
US
United States
Prior art keywords
memory
memory block
page
slc
desired data
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.)
Abandoned
Application number
US12/721,692
Inventor
Po-Wei Chang
Kun-Hung Hsieh
Li-Chun Tu
Ting-Chun Chang
Kuo-Hung Wang
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to US12/721,692 priority Critical patent/US20100332922A1/en
Assigned to MEDIATEK INC. reassignment MEDIATEK INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WANG, KUO-HUNG, CHANG, TING-CHUN, HSIEH, KUN-HUNG, TU, LI-CHUN, CHANG, PO-WEI
Priority to TW099113637A priority patent/TWI457937B/en
Priority to CN2010101671467A priority patent/CN101937710A/en
Publication of US20100332922A1 publication Critical patent/US20100332922A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Definitions

  • the invention relates to a method for managing a memory device, and more particularly to a method for managing a memory device that extends the operating lifespan of the memory device.
  • Flash memory is widely used in electronic products today, especially for portable applications, as a result of its non-volatility and in system re-programmability.
  • the basic structure of a flash memory cell includes a control gate, a drain diffusion region and a source diffusion region disposed on a substrate to form a transistor with a floating gate under the control gate serving as an electron storage device.
  • the channel region lies under the floating gate with a tunnel oxide insulation layer therebetween.
  • the energy barrier of the tunnel oxide insulation layer can be overcome by applying a sufficiently high electric field thereacross. This allows electrons to pass through the tunnel oxide insulation layer, which is used to change the amount of electrons stored in the floating gate.
  • the amount of electrons stored in the floating gate determines the threshold voltage (Vt) of the cell. More electrons stored in the floating gate causes the cell to have a higher Vt.
  • the Vt of a cell is used to represent the stored data of the cell.
  • a flash memory which can store one bit of data in a cell
  • SLC Single Level Cell
  • MLC Multiple Level Cell
  • MLC Multiple Level Cell
  • the MLC is more area efficient than the SLC
  • one drawback of using the MLC is its relatively short operating lifespan.
  • the maximum amount of erasing of an MLC memory block is about 10K times, versus about 100K times for an SLC memory block.
  • a method for managing a multiple level cell flash memory device that extends the operating lifespan thereof is highly desired.
  • An embodiment of a solid state disk drive comprises a multiple level cell (MLC) memory device and a controller.
  • the MLC memory device comprises a plurality of memory blocks each comprising a plurality of memory cells capable of storing more than a single bit of data per cell.
  • the controller transforms at least one memory block into a single level cell (SLC)-like memory block, and accesses the memory block in an SLC manner.
  • SLC single level cell
  • An embodiment of a method for managing a memory device comprising a plurality of memory blocks each with a plurality of memory cells capable of storing more than a single bit of data per cell therein, comprises: receiving desired data in accordance with a write operation of the memory device; estimating a failure probability of at least one memory block to be written corresponding to the write operation; and writing the desired data to the memory cells of the memory block in a single level cell (SLC) manner when the estimated failure probability thereof exceeds a predetermined threshold.
  • SLC single level cell
  • a solid state disk drive comprises a multi-channel multiple level cell (MLC) memory device and a controller.
  • the multi-channel MLC memory device comprises a plurality of memory modules each comprising a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages. Each page is grouped into one of a plurality of page groups in accordance with different page properties.
  • the controller receives at least one program command from a host to write desired data to the multi-channel MLC memory device, allocates a predetermined number of empty pages each belonging to different memory modules in accordance with the program command, and writes the desired data in the empty pages, wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
  • Another embodiment of a method for managing a multi-channel memory device comprising a plurality of memory modules each with a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages, comprises: grouping each page into one of a plurality of page groups in accordance with different page properties; receiving at least one program command to write desired data to the multi-channel MLC memory device; allocating a predetermined number of empty pages each belonging to different memory modules in accordance with the program command; and writing the desired data in the empty pages, wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
  • FIG. 1 shows a solid state disk drive configured according to an embodiment of the invention
  • FIG. 2 shows a solid state disk drive configured according to another embodiment of the invention
  • FIG. 3 shows a flow chart of the memory management method for a write operation according to an embodiment of the invention
  • FIG. 4 shows a flow chart of the memory management method for a read operation according to an embodiment of the invention
  • FIG. 5 shows a flow chart of a memory management method according to another embodiment of the invention.
  • FIG. 6 shows a flow chart of a memory management method according to another embodiment of the invention.
  • FIG. 7 shows a timing diagram for writing desired data in a memory cell of each memory channel in accordance with an embodiment of the invention
  • FIG. 8 shows a timing diagram for writing desired data in a memory cell of a portion of memory channels in accordance with another embodiment of the invention.
  • FIG. 9 shows a timing diagram for accessing the memory channels in accordance with another embodiment of the invention.
  • FIG. 1 shows a solid state disk (SSD) drive configured according to an embodiment of the invention.
  • a solid state disk drive 100 comprises a host interface 101 , a controller 102 , a buffer 103 and a memory device 104 .
  • the host interface 101 serves as an interface between the solid state disk drive 100 and a host (not shown).
  • a host is defined as a system or subsystem that stores information in the solid state disk drive 100 .
  • the host interface 101 receives access requests from the host (e.g. read and write operations).
  • the controller 102 is coupled to the host interface 101 , receives commands from the host interface 101 and controls the access operations of the memory device 104 .
  • the controller 102 may comprise an error checking and correcting (ECC) engine 105 to provide error checking and correcting for the data stored in the memory device 104 .
  • ECC error checking and correcting
  • the buffer 103 stores data, including the data transferred from the host interface 101 via the controller 102 during a write operation, prior to transferring the data to the memory device 104 . Also, during a read operation, the buffer 103 temporarily stores data from the memory device 104 via the controller 102 prior to transferring the data to the host interface 101 .
  • the buffer 103 is a random access memory (RAM), such as a dynamic random access memory (DRAM).
  • the memory device 104 may comprise a plurality of memory blocks each with a plurality of memory cells, wherein each memory cell is capable of storing one or more bits. In a preferred embodiment, the memory device may also be configured in an array having a plurality of rows and/or columns of memory modules.
  • FIG. 2 shows a solid state disk drive configured according to another embodiment of the invention.
  • the memory device 204 may comprise a plurality of memory modules, wherein each memory module may be regarded as a memory channel and comprises a plurality of memory blocks.
  • Each memory block may also comprise a plurality of memory cells capable of storing one or more bits of data per cell.
  • no specific arrangement of memory cells, memory blocks and memory modules are required to practice the present invention.
  • the memory devices 104 and 204 may be multi level cell (MLC) flash memories capable of storing more than a single bit of data per cell.
  • MLC multi level cell
  • the memory cells of the MLC memory device may further be transformed into a single level cell (SLC)-like memory cell.
  • the controller 102 may transform a memory block into an SLC-like memory block when the controller 102 determines that the operating lifespan of the memory block, when being operated in an MLC manner, is about to expire or a failure probability thereof exceeds a predetermined threshold.
  • FIG. 3 shows a flow chart of the memory management method for a write operation according to an embodiment of the invention.
  • the processor 102 may obtain an erase count of the corresponding memory block and determine whether the erase count of the memory block has reached a predetermined erase count threshold TH EC (Step S 202 ).
  • the erase count may be maintained by the processor 102 , wherein the processor 102 records the amount of times of the erase operation of the corresponding memory block.
  • the processor 102 may further determine whether the write operation of the corresponding memory block has failed (Step S 203 ).
  • the write operation may be determined as a failed operation when, for example, the data read from the corresponding memory block is different from the original data desired to be stored.
  • the processor 102 when the processor 102 detects that the erase count of the memory block has reached a predetermined erase count threshold TH EC or the write operation of the corresponding memory block has failed, the processor 102 may determine that a failure probability of the corresponding memory block is higher than the predetermined threshold. In other words, the memory block may soon become a defective block.
  • the processor 102 next checks whether the corresponding memory block can be transformed into an SLC-like memory block (Step S 204 ). The information may be stored in the header or redundant section of the memory block.
  • the memory block is transformed into an SLC-like memory block so as to be accessed in an SLC manner (Step S 205 ).
  • the memory block may be marked as an SLC-like memory block in the header or redundant section of the memory block as previously described.
  • the processor 102 may mark the memory block as a defective block (Step S 206 ) so that the memory block may not be further programmed or accessed anymore to avoid undesired errors.
  • Step S 206 the memory block may not be further programmed or accessed anymore to avoid undesired errors.
  • FIG. 4 shows a flow chart of the memory management method for a read operation according to an embodiment of the invention.
  • the processor 102 may determine whether the read operation of the corresponding memory block has failed (Step S 302 ).
  • the read operation may be determined as a failed operation when, for example, the ECC engine 105 is unable to decode the data stored in the memory block.
  • the processor 102 may further determine whether a bit error rate (BER) of the memory block has exceeded a predetermined BER threshold TH BER (Step S 303 ).
  • the BER of the memory block may be obtained, for example, according to the amount of error bits that are detected by the ECC engine 105 .
  • the processor 102 when the processor 102 detects that the read operation of the corresponding memory block has failed or the BER of the memory block has exceeded a predetermined BER threshold TH BER , the processor 102 may determine that a failure probability of the corresponding memory block is higher than the predetermined threshold. In other words, the memory block may soon become a defective block.
  • the processor 102 next checks whether the corresponding memory block can be transformed into an SLC-like memory block (Step S 304 ). The information may be, as previously described, stored in the header or redundant section of the memory block.
  • the memory block is transformed into an SLC-like memory block so as to be accessed in an SLC manner (Step S 305 ).
  • the memory block may be marked as an SLC-like memory block in the header or redundant section of the memory block as previously described.
  • the processor 102 may mark the memory block as a defective block (Step S 306 ) so that the memory block may not be further programmed or accessed to avoid undesired errors.
  • Step S 306 the memory block may mark the memory block as a defective block.
  • FIG. 5 shows a flow chart of a memory management method according to another embodiment of the invention.
  • the controller 102 estimates a failure probability of at least one memory block to be written corresponding to the write operation (Step S 402 ).
  • the failure probability may be estimated according to the amount of erase operations performed, a read failure rate, a write failure rate and/or a bit error rate of the corresponding memory block.
  • the step may also be implemented by checking whether the memory block to be written can be transformed into an SLC-like memory block during a previous access operation, such as in the Steps S 204 and S 304 shown in FIG. 3 and FIG.
  • the controller 102 writes the desired data to the memory cells of the memory block in a single level cell (SLC) manner (Step S 403 ).
  • the corresponding memory block is written in an SLC manner by storing one bit per memory cell.
  • each memory cell may be associated with a plurality of pages.
  • each memory cell may be associated with a pair of pages, including a first page belonging to a page group A and a second page belonging to a page group B.
  • a program speed of pages belonging to the page group A is faster than a program speed of pages belonging to the page group B.
  • the controller 102 determines to access the corresponding memory block in an SLC manner, only one page corresponding to each memory cell is written.
  • the data may be written to the first page belonging to the page group A with a faster program speed.
  • the pages belonging to different page groups may have some other different page properties.
  • an error correcting and checking (ECC) capability of the pages belonging to the page group A may be better than an ECC capability of pages belonging to the page group B.
  • ECC error correcting and checking
  • the controller 102 determines to access the corresponding memory block in an SLC manner, only one page corresponding to each memory cell is written.
  • the data may be written to the first page belonging to the page group A with a better ECC capability.
  • the data may be only written to the least significant page, which is used to store the least significant bit (LSB) of the memory cell.
  • the controller 102 may also program the page belonging to the page group B, the most significant page or the most significant bit (MSB) of the memory cell in the SLC manner, and the invention should not be limited thereto.
  • the memory block may be transformed into and performs like an SLC memory block before being marked as a defective MLC block.
  • the access/program speed and operating lifespan of the memory block become similar to that of an SLC memory block.
  • the operating lifespan of the memory device is greatly extended.
  • the SSD drive 100 as shown in FIG. 1 and the SSD drive 200 as shown in FIG. 2 may also be designed as a hybrid memory device, transforming some MLC memory blocks into SLC-like memory blocks as previously described.
  • a predetermined number of SLC memory modules are integrated with the MLC memory modules to accomplish a hybrid memory device.
  • the price of the SLC memory module is usually much more expensive than the MLC memory module.
  • the ECC requirements and access speed of the SLC memory module are also different from that of the MLC memory module, increasing cost and design complexity. Therefore, a novel method for a hybrid memory device based on the concept of, transforming some MLC memory blocks into SLC-like memory blocks as previously described is proposed.
  • a predetermined SLC/MLC ratio may be determined in advance and the controller 102 may transform a predetermined number of MLC memory blocks into SLC-like memory blocks in accordance with the predetermined SLC/MLC ratio.
  • the predetermined SLC/MLC ratio in the embodiments of invention may be dynamically adjusted by the controller 102 according to system requirements, user behavior, software environment, the amount of overall memory blocks, and the amount of defective memory blocks, or others. Therefore, the predetermined number (of SLC-like memory blocks) may be flexibly and dynamically adjusted by the controller 102 in accordance with a predetermined rule.
  • the predetermined number may be X, where X is a positive integer.
  • Each memory cell of the MLC memory device may be associated with a plurality of pages.
  • Each page may be grouped into one of N page groups in accordance with different page properties, where N is also a positive integer and the page properties may be the program speed, ECC capability, storage bits (MSB or LSB) as previously described, or others.
  • the processor may write desired data in accordance with a write operation corresponding to the memory block in an SLC manner by only writing data to M page group(s), wherein M is also a positive integer and M N.
  • the controller 102 may transform X MLC memory blocks into SLC-like memory blocks, wherein the X SLC-like memory blocks may be accessed in the SLC manner.
  • the controller 102 may transform X MLC memory blocks into SLC-like memory blocks, wherein the X SLC-like memory blocks may be accessed in the SLC manner.
  • the pair of pages may include a first page belonging to a page group A with a program speed faster and/or an ECC capability better than a second page belonging to a page group B.
  • M 1 and either the first page belonging to the page group A or the second page belonging to the page group B may be programmed and accessed after the transformation.
  • the multi-channel MLC memory device 204 as shown in FIG. 2 may further be managed to achieve better performance.
  • an access speed of the plurality of pages may be different.
  • each memory cell may be associated with a pair of pages, including a first page belonging to a page group A and a second page belonging to a page group B.
  • a program speed of pages belonging to the page group A may be faster than a program speed of pages belonging to the page group B.
  • the group of pages is preferably controlled for each access operation.
  • FIG. 6 shows a flow chart of a memory management method according to another embodiment of the invention.
  • the controller 102 may group each page into one of a plurality of page groups in accordance with different page properties.
  • the page properties may comprise a program speed, an ECC capability, or others.
  • the controller 102 may allocate a predetermined number of empty pages each belonging to different memory modules in accordance with the program command (Step S 603 ).
  • the controller 102 may maintain an empty page list comprising information (for example, the physical address) about the pages that have not been written with data, and the controller may allocate the empty pages for this program operation according to the empty page list.
  • the controller 102 may collect the empty pages belonging to a same page group from the empty page list, and allocate those empty pages for the program operation. The reason to collect the empty pages belonging to a same page group is to achieve same access times for each channel during each access operation (which will be described in more detail in the following paragraphs).
  • the controller may write the desired data into the empty pages for the program operation (Step S 604 ).
  • FIG. 7 shows a timing diagram for writing desired data in a memory cell of each memory channel in accordance with an embodiment of the invention.
  • the 8-channel MLC memory device comprises a plurality of memory cells each associated with a pair of pages (e.g. a page A and a page B respectively belongs to a page group A and page group B, where the program speed of page group A is faster than that of page group B) to store data.
  • the controller 102 may collect the empty pages belonging to a same page group from the empty page list, and allocated those empty pages for one program operation.
  • the desired data are written to page A of all of the 8-channels during the first write operation.
  • the first write operation may be quickly finished within the time period T 1 .
  • the controller 102 further writes another desired data to page B, which has a slower program speed than page A, and therefore the time required for the second write operation is longer than the first write operation.
  • the collected empty pages for one write operation may belong to different page groups (for example, some empty pages may belong to page group A some empty pages may belong to page group B) and have different page properties (for example, different program speeds). Therefore, the overall operation time for each write operation can not be less than the time required for writing the page belonging to page B because even if the write operation in the channels for writing the empty pages belong to page group A have finished, the overall write operation cannot be finished until the write operation in the channels for writing the empty pages belong to page group B have finished. Therefore, comparing with the conventional method of random collection of the empty pages, the proposed method can prevent the write operation (for example, the first write operation shown in FIG. 7 ) from being delayed by the waiting time for finish the access process of page B. Thus the overall operation time is greatly reduced.
  • the write operation for example, the first write operation shown in FIG. 7
  • FIG. 8 shows a timing diagram for writing desired data in a memory cell of a portion of memory channels in accordance with another embodiment of the invention.
  • not all of the channels are active. Therefore, only a portion of memory channels are programmed.
  • the controller 102 since the controller 102 has collected the empty pages of the active channels belonging to a same page group from the empty page list, and allocated those empty pages for the active channels, the pages belonging to the same group of the active channels may be programmed in one program operation (such as a single write operation). Therefore, overall operation time is greatly reduced.
  • FIG. 9 shows a timing diagram for accessing the memory channels in accordance with another embodiment of the invention.
  • the time required by a write operation is about several times that of a read operation.
  • the controller 102 may merge these two operations together in a same access operation.
  • the controller 102 is capable of collecting the empty pages belonging to a same page group from the empty page list for the channels to be written, and allocating those empty pages for the channels. Therefore, for an access operation, the pages belonging to the same group may be simultaneously written, and the overall operation time may be greatly reduced. For a example shown in the FIG.
  • the proposed method can prevent the first write operation from being delayed by the waiting time for finish the access process of page B.
  • the proposed method can prevent the first write operation from being delayed by the waiting time for finish the access process of page B.

Abstract

A solid state disk drive is provided. The solid state disk drive includes a multiple level cell (MLC) memory device and a controller. The MLC memory device includes memory blocks each comprising memory cells capable of storing more than a single bit of data per cell. The controller transforms at least one memory block into a single level cell (SLC)-like memory block, and accesses the memory block in an SLC manner.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 61/221,569 filed Jun. 30, 2009, and entitled “Apparatus and Operation Method of Flash Memory System”. The entire contents of which are hereby incorporated by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The invention relates to a method for managing a memory device, and more particularly to a method for managing a memory device that extends the operating lifespan of the memory device.
  • 2. Description of the Related Art
  • Flash memory is widely used in electronic products today, especially for portable applications, as a result of its non-volatility and in system re-programmability. The basic structure of a flash memory cell includes a control gate, a drain diffusion region and a source diffusion region disposed on a substrate to form a transistor with a floating gate under the control gate serving as an electron storage device. The channel region lies under the floating gate with a tunnel oxide insulation layer therebetween. The energy barrier of the tunnel oxide insulation layer can be overcome by applying a sufficiently high electric field thereacross. This allows electrons to pass through the tunnel oxide insulation layer, which is used to change the amount of electrons stored in the floating gate. The amount of electrons stored in the floating gate determines the threshold voltage (Vt) of the cell. More electrons stored in the floating gate causes the cell to have a higher Vt. The Vt of a cell is used to represent the stored data of the cell.
  • Generally, a flash memory, which can store one bit of data in a cell, is called a Single Level Cell (SLC). Meanwhile, a flash memory, which can store more than one bit of data in a cell, is called a Multiple Level Cell (MLC). Multiple Level Cell (MLC) technology has attracted a lot of attention due to its area efficiency. By storing 2N discrete levels of Vt, the MLC can store N bits of data per cell, thus reducing the equivalent cell size to 1/N. Because of the advantage of multiple bits of data per cell, the MLC has become one of the best candidates for mass storage applications that typically require higher and higher densities.
  • Although the MLC is more area efficient than the SLC, one drawback of using the MLC is its relatively short operating lifespan. Generally, the maximum amount of erasing of an MLC memory block is about 10K times, versus about 100K times for an SLC memory block. Thus, a method for managing a multiple level cell flash memory device that extends the operating lifespan thereof is highly desired.
  • BRIEF SUMMARY OF THE INVENTION
  • Solid state disk drives and methods for managing a memory device are provided. An embodiment of a solid state disk drive comprises a multiple level cell (MLC) memory device and a controller. The MLC memory device comprises a plurality of memory blocks each comprising a plurality of memory cells capable of storing more than a single bit of data per cell. The controller transforms at least one memory block into a single level cell (SLC)-like memory block, and accesses the memory block in an SLC manner.
  • An embodiment of a method for managing a memory device, comprising a plurality of memory blocks each with a plurality of memory cells capable of storing more than a single bit of data per cell therein, comprises: receiving desired data in accordance with a write operation of the memory device; estimating a failure probability of at least one memory block to be written corresponding to the write operation; and writing the desired data to the memory cells of the memory block in a single level cell (SLC) manner when the estimated failure probability thereof exceeds a predetermined threshold.
  • Another embodiment of a solid state disk drive comprises a multi-channel multiple level cell (MLC) memory device and a controller. The multi-channel MLC memory device comprises a plurality of memory modules each comprising a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages. Each page is grouped into one of a plurality of page groups in accordance with different page properties. The controller receives at least one program command from a host to write desired data to the multi-channel MLC memory device, allocates a predetermined number of empty pages each belonging to different memory modules in accordance with the program command, and writes the desired data in the empty pages, wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
  • Another embodiment of a method for managing a multi-channel memory device comprising a plurality of memory modules each with a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages, comprises: grouping each page into one of a plurality of page groups in accordance with different page properties; receiving at least one program command to write desired data to the multi-channel MLC memory device; allocating a predetermined number of empty pages each belonging to different memory modules in accordance with the program command; and writing the desired data in the empty pages, wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
  • A detailed description is given in the following embodiments with reference to the accompanying drawings.
  • BRIEF DESCRIPTION OF DRAWINGS
  • The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
  • FIG. 1 shows a solid state disk drive configured according to an embodiment of the invention;
  • FIG. 2 shows a solid state disk drive configured according to another embodiment of the invention;
  • FIG. 3 shows a flow chart of the memory management method for a write operation according to an embodiment of the invention;
  • FIG. 4 shows a flow chart of the memory management method for a read operation according to an embodiment of the invention;
  • FIG. 5 shows a flow chart of a memory management method according to another embodiment of the invention;
  • FIG. 6 shows a flow chart of a memory management method according to another embodiment of the invention;
  • FIG. 7 shows a timing diagram for writing desired data in a memory cell of each memory channel in accordance with an embodiment of the invention;
  • FIG. 8 shows a timing diagram for writing desired data in a memory cell of a portion of memory channels in accordance with another embodiment of the invention; and
  • FIG. 9 shows a timing diagram for accessing the memory channels in accordance with another embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
  • FIG. 1 shows a solid state disk (SSD) drive configured according to an embodiment of the invention. A solid state disk drive 100 comprises a host interface 101, a controller 102, a buffer 103 and a memory device 104. The host interface 101, serves as an interface between the solid state disk drive 100 and a host (not shown). In general, a host is defined as a system or subsystem that stores information in the solid state disk drive 100. The host interface 101 receives access requests from the host (e.g. read and write operations). The controller 102 is coupled to the host interface 101, receives commands from the host interface 101 and controls the access operations of the memory device 104. The controller 102 may comprise an error checking and correcting (ECC) engine 105 to provide error checking and correcting for the data stored in the memory device 104.
  • The buffer 103 stores data, including the data transferred from the host interface 101 via the controller 102 during a write operation, prior to transferring the data to the memory device 104. Also, during a read operation, the buffer 103 temporarily stores data from the memory device 104 via the controller 102 prior to transferring the data to the host interface 101. According to an embodiment of the invention, the buffer 103 is a random access memory (RAM), such as a dynamic random access memory (DRAM). The memory device 104 may comprise a plurality of memory blocks each with a plurality of memory cells, wherein each memory cell is capable of storing one or more bits. In a preferred embodiment, the memory device may also be configured in an array having a plurality of rows and/or columns of memory modules.
  • FIG. 2 shows a solid state disk drive configured according to another embodiment of the invention. As shown in FIG. 2, the memory device 204 may comprise a plurality of memory modules, wherein each memory module may be regarded as a memory channel and comprises a plurality of memory blocks. Each memory block may also comprise a plurality of memory cells capable of storing one or more bits of data per cell. However, it should be noted that no specific arrangement of memory cells, memory blocks and memory modules are required to practice the present invention.
  • The memory devices 104 and 204 may be multi level cell (MLC) flash memories capable of storing more than a single bit of data per cell. According to an embodiment of the invention, in order to maximize the limited operating lifespan of the MLC memory devices (such as 104 or 204), the memory cells of the MLC memory device may further be transformed into a single level cell (SLC)-like memory cell. As an example, the controller 102 may transform a memory block into an SLC-like memory block when the controller 102 determines that the operating lifespan of the memory block, when being operated in an MLC manner, is about to expire or a failure probability thereof exceeds a predetermined threshold.
  • FIG. 3 shows a flow chart of the memory management method for a write operation according to an embodiment of the invention. After a write operation of at least one memory block of the MLC flash memory device 104 (Step S201), the processor 102 may obtain an erase count of the corresponding memory block and determine whether the erase count of the memory block has reached a predetermined erase count threshold THEC (Step S202). The erase count may be maintained by the processor 102, wherein the processor 102 records the amount of times of the erase operation of the corresponding memory block. When the erase count does not reach the predetermined threshold THEC, the processor 102 may further determine whether the write operation of the corresponding memory block has failed (Step S203). According to an embodiment of the invention, the write operation may be determined as a failed operation when, for example, the data read from the corresponding memory block is different from the original data desired to be stored.
  • According to the embodiment of the invention, when the processor 102 detects that the erase count of the memory block has reached a predetermined erase count threshold THEC or the write operation of the corresponding memory block has failed, the processor 102 may determine that a failure probability of the corresponding memory block is higher than the predetermined threshold. In other words, the memory block may soon become a defective block. The processor 102 next checks whether the corresponding memory block can be transformed into an SLC-like memory block (Step S204). The information may be stored in the header or redundant section of the memory block. If the memory block can be transformed into and/or accessed as an SLC-like memory block, in order to maximize the operating lifespan of the MLC memory block, the memory block is transformed into an SLC-like memory block so as to be accessed in an SLC manner (Step S205). As an example, the memory block may be marked as an SLC-like memory block in the header or redundant section of the memory block as previously described. Meanwhile, if the memory block can not be transformed into an SLC-like memory block (for example, the memory block is already an SLC-like memory block, or is designed not to be transformed into an SLC-like memory block, or others), the processor 102 may mark the memory block as a defective block (Step S206) so that the memory block may not be further programmed or accessed anymore to avoid undesired errors. It should be noted that for clear illustration of the invention concept, only the steps involved by the proposed method are illustrated in FIG. 3. Also, the invention is not limited to only the steps involved by the proposed method. For persons with ordinary skill in the art, knowledge of how to derive steps, not presented, for accessing a memory device is reasonably assumed. Thus, various alterations and modifications, without departing from the scope and spirit of the invention, may be applied. The scope of the present invention shall be defined and protected by the following claims and their equivalents.
  • FIG. 4 shows a flow chart of the memory management method for a read operation according to an embodiment of the invention. After a read operation of at least one memory block of the MLC flash memory device 104 (Step S301), the processor 102 may determine whether the read operation of the corresponding memory block has failed (Step S302). According to an embodiment of the invention, the read operation may be determined as a failed operation when, for example, the ECC engine 105 is unable to decode the data stored in the memory block. When the read operation is not a failed operation, the processor 102 may further determine whether a bit error rate (BER) of the memory block has exceeded a predetermined BER threshold THBER (Step S303). According to an embodiment of the invention, the BER of the memory block may be obtained, for example, according to the amount of error bits that are detected by the ECC engine 105.
  • According to the embodiment of the invention, when the processor 102 detects that the read operation of the corresponding memory block has failed or the BER of the memory block has exceeded a predetermined BER threshold THBER, the processor 102 may determine that a failure probability of the corresponding memory block is higher than the predetermined threshold. In other words, the memory block may soon become a defective block. The processor 102 next checks whether the corresponding memory block can be transformed into an SLC-like memory block (Step S304). The information may be, as previously described, stored in the header or redundant section of the memory block. If the memory block can be transformed into and/or accessed as an SLC-like memory block, in order to maximize the operating lifespan of the MLC memory block, the memory block is transformed into an SLC-like memory block so as to be accessed in an SLC manner (Step S305). As an example, the memory block may be marked as an SLC-like memory block in the header or redundant section of the memory block as previously described. Meanwhile, if the memory block can not be transformed into an SLC-like memory block (for example, the memory block is already an SLC-like memory block, or is designed not to be transformed into an SLC-like memory block, or others), the processor 102 may mark the memory block as a defective block (Step S306) so that the memory block may not be further programmed or accessed to avoid undesired errors. It should be noted that for clear illustration of the invention concept, only the steps involved by the proposed method are illustrated in FIG. 4. Also, the invention is not limited to only the steps involved by the proposed method. For persons with ordinary skill in the art, knowledge of how to derive steps, not presented, for accessing a memory device is reasonably assumed. Thus, various alterations and modifications, without departing from the scope and spirit of the invention, may be applied. The scope of the present invention shall be defined and protected by the following claims and their equivalents.
  • FIG. 5 shows a flow chart of a memory management method according to another embodiment of the invention. After receiving desired data in accordance with a write operation of the memory device 104 (Step S401), the controller 102 estimates a failure probability of at least one memory block to be written corresponding to the write operation (Step S402). According to an embodiment of the invention, the failure probability may be estimated according to the amount of erase operations performed, a read failure rate, a write failure rate and/or a bit error rate of the corresponding memory block. It is noted that the step may also be implemented by checking whether the memory block to be written can be transformed into an SLC-like memory block during a previous access operation, such as in the Steps S204 and S304 shown in FIG. 3 and FIG. 4, and the invention should not be limited thereto. When the estimated failure probability of the memory block has exceeded a predetermined threshold, the controller 102 writes the desired data to the memory cells of the memory block in a single level cell (SLC) manner (Step S403). According to an embodiment of the invention, the corresponding memory block is written in an SLC manner by storing one bit per memory cell.
  • For an MLC flash memory device, each memory cell may be associated with a plurality of pages. As an example, each memory cell may be associated with a pair of pages, including a first page belonging to a page group A and a second page belonging to a page group B. According to a predetermined rule, a program speed of pages belonging to the page group A is faster than a program speed of pages belonging to the page group B. In the embodiment of the invention, when the controller 102 determines to access the corresponding memory block in an SLC manner, only one page corresponding to each memory cell is written. As an example, the data may be written to the first page belonging to the page group A with a faster program speed. According to another predetermined rule, the pages belonging to different page groups may have some other different page properties. As an example, an error correcting and checking (ECC) capability of the pages belonging to the page group A may be better than an ECC capability of pages belonging to the page group B. In the embodiment of the invention, when the controller 102 determines to access the corresponding memory block in an SLC manner, only one page corresponding to each memory cell is written. As an example, the data may be written to the first page belonging to the page group A with a better ECC capability. According to yet another embodiment of the invention, the data may be only written to the least significant page, which is used to store the least significant bit (LSB) of the memory cell. However, it is noted that in alternate embodiments, the controller 102 may also program the page belonging to the page group B, the most significant page or the most significant bit (MSB) of the memory cell in the SLC manner, and the invention should not be limited thereto.
  • According to the embodiments of the invention, by estimating the failure probability of the memory device in advance, the memory block may be transformed into and performs like an SLC memory block before being marked as a defective MLC block. By accessing the memory block in an SLC manner, both the access/program speed and operating lifespan of the memory block become similar to that of an SLC memory block. Thus, the operating lifespan of the memory device is greatly extended.
  • According to another embodiment of the invention, the SSD drive 100 as shown in FIG. 1 and the SSD drive 200 as shown in FIG. 2 may also be designed as a hybrid memory device, transforming some MLC memory blocks into SLC-like memory blocks as previously described. Conventionally, a predetermined number of SLC memory modules are integrated with the MLC memory modules to accomplish a hybrid memory device. However, the price of the SLC memory module is usually much more expensive than the MLC memory module. In addition, the ECC requirements and access speed of the SLC memory module are also different from that of the MLC memory module, increasing cost and design complexity. Therefore, a novel method for a hybrid memory device based on the concept of, transforming some MLC memory blocks into SLC-like memory blocks as previously described is proposed.
  • According to the embodiments of invention, a predetermined SLC/MLC ratio may be determined in advance and the controller 102 may transform a predetermined number of MLC memory blocks into SLC-like memory blocks in accordance with the predetermined SLC/MLC ratio. Note that different from the conventional hybrid memory device having an unchangeable fixed SLC/MLC ratio that cannot be changed after leaving the factory, the predetermined SLC/MLC ratio in the embodiments of invention may be dynamically adjusted by the controller 102 according to system requirements, user behavior, software environment, the amount of overall memory blocks, and the amount of defective memory blocks, or others. Therefore, the predetermined number (of SLC-like memory blocks) may be flexibly and dynamically adjusted by the controller 102 in accordance with a predetermined rule.
  • According to the embodiments of the invention, the predetermined number may be X, where X is a positive integer. Each memory cell of the MLC memory device may be associated with a plurality of pages. Each page may be grouped into one of N page groups in accordance with different page properties, where N is also a positive integer and the page properties may be the program speed, ECC capability, storage bits (MSB or LSB) as previously described, or others. When the memory block can be transformed into the SLC-like memory block, the processor may write desired data in accordance with a write operation corresponding to the memory block in an SLC manner by only writing data to M page group(s), wherein M is also a positive integer and M N. In other words, according to an embodiment of the invention, the controller 102 may transform X MLC memory blocks into SLC-like memory blocks, wherein the X SLC-like memory blocks may be accessed in the SLC manner. Thus, for each memory cell in the SLC-like memory block, only the pages belonging to the M page group(s) will be programmed and accessed, and the pages belonging to the (N−M) page group(s) are left to be un-programmable and/or un-accessible.
  • As an example, each memory cell of the MLC memory device may be associated with a pair of pages. Therefore, in this example, N=2. The pair of pages may include a first page belonging to a page group A with a program speed faster and/or an ECC capability better than a second page belonging to a page group B. When the MLC memory blocks are transformed into SLC-like memory blocks, only one page per cell may be programmed and accessed. Therefore, in this example, M=1 and either the first page belonging to the page group A or the second page belonging to the page group B may be programmed and accessed after the transformation.
  • According to yet another embodiment of the invention, the multi-channel MLC memory device 204 as shown in FIG. 2 may further be managed to achieve better performance. For an MLC memory device with each memory cell being associated with a plurality of pages, an access speed of the plurality of pages may be different. As an example, each memory cell may be associated with a pair of pages, including a first page belonging to a page group A and a second page belonging to a page group B. According to different page properties, a program speed of pages belonging to the page group A may be faster than a program speed of pages belonging to the page group B. In order to achieve better performance when accessing a multi-channel MLC memory device, the group of pages is preferably controlled for each access operation.
  • FIG. 6 shows a flow chart of a memory management method according to another embodiment of the invention. First, the controller 102 may group each page into one of a plurality of page groups in accordance with different page properties. According to the embodiments of the invention, the page properties may comprise a program speed, an ECC capability, or others. Next, upon receiving at least one program command to write desired data to the multi-channel MLC memory device (Step S602), the controller 102 may allocate a predetermined number of empty pages each belonging to different memory modules in accordance with the program command (Step S603). According to the embodiment of invention, the controller 102 may maintain an empty page list comprising information (for example, the physical address) about the pages that have not been written with data, and the controller may allocate the empty pages for this program operation according to the empty page list. Note that according to the embodiment of the invention, the controller 102 may collect the empty pages belonging to a same page group from the empty page list, and allocate those empty pages for the program operation. The reason to collect the empty pages belonging to a same page group is to achieve same access times for each channel during each access operation (which will be described in more detail in the following paragraphs). Finally, the controller may write the desired data into the empty pages for the program operation (Step S604).
  • FIG. 7 shows a timing diagram for writing desired data in a memory cell of each memory channel in accordance with an embodiment of the invention. For example, in the embodiment of invention, the 8-channel MLC memory device comprises a plurality of memory cells each associated with a pair of pages (e.g. a page A and a page B respectively belongs to a page group A and page group B, where the program speed of page group A is faster than that of page group B) to store data. As the example shown in FIG. 7, the controller 102 may collect the empty pages belonging to a same page group from the empty page list, and allocated those empty pages for one program operation. The desired data are written to page A of all of the 8-channels during the first write operation. Therefore, the first write operation may be quickly finished within the time period T1. From time period T2 to T4, the controller 102 further writes another desired data to page B, which has a slower program speed than page A, and therefore the time required for the second write operation is longer than the first write operation.
  • Note that in the conventional method of random collection of the empty pages, the collected empty pages for one write operation may belong to different page groups (for example, some empty pages may belong to page group A some empty pages may belong to page group B) and have different page properties (for example, different program speeds). Therefore, the overall operation time for each write operation can not be less than the time required for writing the page belonging to page B because even if the write operation in the channels for writing the empty pages belong to page group A have finished, the overall write operation cannot be finished until the write operation in the channels for writing the empty pages belong to page group B have finished. Therefore, comparing with the conventional method of random collection of the empty pages, the proposed method can prevent the write operation (for example, the first write operation shown in FIG. 7) from being delayed by the waiting time for finish the access process of page B. Thus the overall operation time is greatly reduced.
  • FIG. 8 shows a timing diagram for writing desired data in a memory cell of a portion of memory channels in accordance with another embodiment of the invention. In this embodiment, not all of the channels are active. Therefore, only a portion of memory channels are programmed. Similar to the embodiment shown in FIG. 7, since the controller 102 has collected the empty pages of the active channels belonging to a same page group from the empty page list, and allocated those empty pages for the active channels, the pages belonging to the same group of the active channels may be programmed in one program operation (such as a single write operation). Therefore, overall operation time is greatly reduced.
  • FIG. 9 shows a timing diagram for accessing the memory channels in accordance with another embodiment of the invention. Generally, the time required by a write operation is about several times that of a read operation. However, in some embodiments, when the host requests a write operation and then immediately requests a read operation, the controller 102 may merge these two operations together in a same access operation. According to the embodiments of the invention, the controller 102 is capable of collecting the empty pages belonging to a same page group from the empty page list for the channels to be written, and allocating those empty pages for the channels. Therefore, for an access operation, the pages belonging to the same group may be simultaneously written, and the overall operation time may be greatly reduced. For a example shown in the FIG. 9, the pages being written in the first write operation (within the time period T1) and the second write operation (during the time period from T2 to T4) are respectively belong to individual page group (e.g. page group A and page group B, respectively), thus the proposed method can prevent the first write operation from being delayed by the waiting time for finish the access process of page B. In other words, in either a write operation or a merged access operation for reading data and writing data to the empty page in different channels at the same time, when the collected empty pages belong to the same page group, better performance is achieved because in that write operation or merged access operation, the time required for writing data in different channels are substantially the same. Therefore, overall operation time is greatly reduced.
  • While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.

Claims (28)

1. A solid state disk drive, comprising:
a multiple level cell (MLC) memory device, comprising a plurality of memory blocks each comprising a plurality of memory cells capable of storing more than a single bit of data per cell; and
a controller, transforming at least one memory block into a single level cell (SLC)-like memory block, and accessing the memory block in an SLC manner.
2. The solid state disk drive as claimed in claim 1, wherein the controller further accesses the memory block, estimates a failure probability of the memory block according to the access operation, and transforms the memory block into an SLC-like memory block when the failure probability thereof exceeds a predetermined threshold.
3. The solid state disk drive as claimed in claim 2, wherein the processor estimates the failure probability of the memory block according to an amount of erase operations performed, a read failure rate, a write failure rate and/or a bit error rate of the memory block.
4. The solid state disk drive as claimed in claim 3, wherein the processor further obtains an erase count representing an amount of erase operations performed of the memory block, determines whether the erase count of the memory block has reached a predetermined erase count threshold, and transforms the memory block into the SLC-like memory block when the erase count of the memory block has reached
5. The solid state disk drive as claimed in claim 3, wherein the processor further determines whether the access operation of the memory block has failed, and transforms the memory block into the SLC-like memory block when the access operation of the memory block has failed.
6. The solid state disk drive as claimed in claim 3, wherein the processor further determines whether a bit error rate (BER) of the memory block corresponding to the access operation exceeds a predetermined BER threshold, and transforms the memory block into the SLC-like memory block when the BER of the memory block exceeds the predetermined BER threshold.
7. The solid state disk drive as claimed in claim 1, wherein when the memory block has been transformed into the SLC-like memory block, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner so that each memory cell of the memory block stores a single bit.
8. The solid state disk drive as claimed in claim 1, wherein when the memory block has been transformed into the SLC-like memory block, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner by only writing the desired data to least significant bits of the memory cells of the memory block.
9. The solid state disk drive as claimed in claim 1, wherein each memory cell of the MLC memory device is associated with at least a first page and a second page, a program speed of the first page is faster than a program speed of the second page, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner by only writing the desired data to the first pages of the memory cells of the memory block.
10. The solid state disk drive as claimed in claim 1, wherein each memory cell of the MLC memory device is associated with at least a first page and a second page, an error correcting and checking (ECC) capability of the first page is more efficient than an ECC capability of the second page, and when the memory block has been transformed into the SLC-like memory block, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner by only writing the desired data to the first pages of the memory cells of the memory block.
11. The solid state disk drive as claimed in claim 1, wherein when the memory block has been transformed into the SLC-like memory block, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner by only writing the desired data to least significant pages of the memory cells of the memory block.
12. The solid state disk drive as claimed in claim 1, wherein each memory cell of the MLC memory device is associated with a first number of pages, each page is grouped into one of a second number of page groups in accordance with different page properties, and when the memory block has been transformed into the SLC-like memory block, the processor further writes desired data in accordance with a write operation corresponding to the memory block in the SLC manner by only writing a than the second number, and wherein the second number is a positive integer not less than the third number.
13. The solid state disk drive as claimed in claim 1, wherein the controller further transforms a predetermined number of memory blocks into SLC-like memory blocks, and wherein the predetermined number is dynamically adjusted by the controller in accordance with a predetermined rule.
14. A method for managing a memory device comprising a plurality of memory blocks each with a plurality of memory cells capable of storing more than a single bit of data per cell comprising:
receiving desired data in accordance with a write operation of the memory device;
estimating a failure probability of at least one memory block to be written corresponding to the write operation; and
writing the desired data to the memory cells of the memory block in a single level cell (SLC) manner when the estimated failure probability thereof exceeds a predetermined threshold.
15. The method as claimed in claim 14, further comprising:
transforming a predetermined number of memory blocks into SLC-like memory blocks; and
accessing the predetermined number of memory blocks in the SLC manner,
wherein the predetermined number is adjusted in accordance with a predetermined rule.
16. The method as claimed in claim 14, wherein each of the written memory cells stores a single bit.
17. The method as claimed in claim 14, wherein the desired data is only written to least significant bits of the memory cells.
18. The method as claimed in claim 14, wherein each memory cell is associated with a plurality of pages, including at least a first page and a second page, a program speed of the first page is faster than a program speed of the second page, and the desired data is only written to the first pages of the memory cells.
19. The method as claimed in claim 14, wherein each memory cell is associated with a plurality of pages, including at least a first page and a second page, an error correcting and checking (ECC) capability of the first page is more efficient than an ECC capability of the second page, and the desired data is only written to the first pages of the memory cells.
20. The method as claimed in claim 14, wherein the desired data is only written to least significant pages of the memory cells.
21. The method as claimed in claim 14, wherein the failure probability is estimated according to an amount of erase operations performed, a read failure rate, a
22. The method as claimed in claim 14, further comprising:
determining whether an erase count of the memory block has reached a predetermined erase count threshold; and
writing the desired data to the memory cells of the memory block in the SLC manner when the erase count of the memory block has reached the predetermined erase count threshold.
23. The method as claimed in claim 14, further comprising:
determining whether a previous write operation or a previous read operation of the memory block has failed; and
writing the desired data to the memory cells of the memory block in the SLC manner when the previous write operation or the previous read operation has failed.
24. The method as claimed in claim 14, further comprising:
determining whether a bit error rate (BER) of the memory block has exceeded a predetermined BER threshold; and
writing the desired data to the memory cells of the memory block in the SLC manner when the BER exceeds the predetermined BER threshold.
25. A solid state disk drive, comprising:
a multi-channel multiple level cell (MLC) memory device, comprising a plurality of memory modules each comprising a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages, and each page is grouped into one of a plurality of page groups in accordance with different page properties; and
a controller, receiving at least one program command from a host to write desired data to the multi-channel MLC memory device, allocating a predetermined number of empty pages each belonging to different memory modules in accordance with the program command, and writing the desired data in the empty pages, wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
26. The solid state disk drive as claimed in claim 25, wherein the page property is a program speed.
27. The solid state disk drive as claimed in claim 25, wherein the page property is an error correcting and checking (ECC) capability.
28. A method for managing a multi-channel memory device comprising a plurality of memory modules each with a plurality of memory cells capable of storing more than a single bit of data per cell therein, wherein each memory cell is associated with a plurality of pages, comprising:
grouping each page into one of a plurality of page groups in accordance with different page properties;
receiving at least one program command to write desired data to the multi-channel MLC memory device;
allocating a predetermined number of empty pages each belonging to different memory modules in accordance with the program command; and
writing the desired data in the empty pages,
wherein the empty pages allocated by the controller for an access operation belongs to the same page group.
US12/721,692 2009-06-30 2010-03-11 Method for managing device and solid state disk drive utilizing the same Abandoned US20100332922A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/721,692 US20100332922A1 (en) 2009-06-30 2010-03-11 Method for managing device and solid state disk drive utilizing the same
TW099113637A TWI457937B (en) 2009-06-30 2010-04-29 A solid state disk drive and a method for managing a memory device
CN2010101671467A CN101937710A (en) 2009-06-30 2010-05-10 The method of solid magnetic disc driving and managing storage

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22156909P 2009-06-30 2009-06-30
US12/721,692 US20100332922A1 (en) 2009-06-30 2010-03-11 Method for managing device and solid state disk drive utilizing the same

Publications (1)

Publication Number Publication Date
US20100332922A1 true US20100332922A1 (en) 2010-12-30

Family

ID=43382094

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/721,692 Abandoned US20100332922A1 (en) 2009-06-30 2010-03-11 Method for managing device and solid state disk drive utilizing the same
US12/727,256 Abandoned US20100332887A1 (en) 2009-06-30 2010-03-19 Storage control device having controller operated according to detection signal derived from monitoring power signal and related method thereof
US12/759,822 Active 2031-05-18 US8458566B2 (en) 2009-06-30 2010-04-14 Method for performing copy back operations and flash storage device

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/727,256 Abandoned US20100332887A1 (en) 2009-06-30 2010-03-19 Storage control device having controller operated according to detection signal derived from monitoring power signal and related method thereof
US12/759,822 Active 2031-05-18 US8458566B2 (en) 2009-06-30 2010-04-14 Method for performing copy back operations and flash storage device

Country Status (3)

Country Link
US (3) US20100332922A1 (en)
CN (3) CN101937318A (en)
TW (3) TWI406126B (en)

Cited By (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060129849A1 (en) * 2002-11-25 2006-06-15 Renan Abgrall Secure electronic entity integrating life span management of an object
US20100246266A1 (en) * 2009-03-25 2010-09-30 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US20120221771A1 (en) * 2011-02-25 2012-08-30 Samsung Electronics Co., Ltd. Data storage system and data mapping method of the same
US20120240012A1 (en) * 2010-07-07 2012-09-20 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device
US20120304039A1 (en) * 2011-05-27 2012-11-29 Fusion-Io, Inc. Bit error reduction through varied data positioning
US20120311293A1 (en) * 2011-05-31 2012-12-06 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US20130044542A1 (en) * 2011-08-15 2013-02-21 Skymedi Corporation Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method
US8443259B2 (en) 2009-03-13 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8527841B2 (en) 2009-03-13 2013-09-03 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as reduced-level cell solid-state storage
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US20140101372A1 (en) * 2012-10-05 2014-04-10 Young Woo Jung Memory system and read reclaim method thereof
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US20140281149A1 (en) * 2013-03-15 2014-09-18 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US20140359346A1 (en) * 2013-05-31 2014-12-04 Silicon Motion, Inc. Data storage device and error correction method thereof
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US20150278012A1 (en) * 2014-03-28 2015-10-01 Karsten Gjorup Error correcting (ecc) memory compatibility
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US20160041760A1 (en) * 2014-08-08 2016-02-11 International Business Machines Corporation Multi-Level Cell Flash Memory Control Mechanisms
US20160062665A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Triggering a Process to Reduce Declared Capacity of a Storage Device in a Multi-Storage-Device Storage System
US20160062681A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Process and Apparatus to Reduce Declared Capacity of a Storage Device by Reducing a Range of Logical Addresses
US20160062693A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Notification of Trigger Condition to Reduce Declared Capacity of a Storage Device
US20160062699A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Notification of Trigger Condition to Reduce Declared Capacity of a Storage Device in a Multi-Storage-Device Storage System
US20160141042A1 (en) * 2014-11-19 2016-05-19 SanDisk Technologies, Inc. Configuration parameter management for non-volatile data storage
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9582202B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
TWI578320B (en) * 2014-11-25 2017-04-11 旺宏電子股份有限公司 Memory operating method and memory device using the same
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US20170185463A1 (en) * 2015-12-24 2017-06-29 SK Hynix Inc. Memory system and operating method thereof
US9767053B2 (en) 2012-12-11 2017-09-19 Samsung Electronics Co., Ltd. Memory controller and memory system including the same
US9891844B2 (en) 2015-05-20 2018-02-13 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9898364B2 (en) 2014-05-30 2018-02-20 Sandisk Technologies Llc Method and system for dynamic word line based configuration of a three-dimensional memory device
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US20180122480A1 (en) * 2016-11-01 2018-05-03 Fujitsu Limited Control circuit, semiconductor storage device, and method of controlling semiconductor storage device
US9972393B1 (en) * 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10019355B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10025662B2 (en) 2016-04-27 2018-07-17 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
WO2018187114A1 (en) * 2017-04-07 2018-10-11 Micron Technology, Inc. Memory management
US10110255B2 (en) 2016-04-27 2018-10-23 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10133664B2 (en) 2016-04-27 2018-11-20 Silicon Motion Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10236908B2 (en) * 2016-04-27 2019-03-19 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10310971B2 (en) 2015-01-15 2019-06-04 Huawei Technologies Co., Ltd. Method and apparatus for processing memory page in memory
US10629260B2 (en) * 2015-09-01 2020-04-21 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US10810150B1 (en) * 2017-07-11 2020-10-20 American Megatrends International, Llc Configuration of a solid-state drive dock having local and network interfaces
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891065B2 (en) * 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10983865B2 (en) * 2016-08-01 2021-04-20 Hewlett Packard Enterprise Development Lp Adjusting memory parameters
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11068409B2 (en) 2018-02-07 2021-07-20 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US11209998B2 (en) * 2018-06-11 2021-12-28 Western Digital Technologies, Inc. Adjustment of storage device parameters based on workload characteristics
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11323133B2 (en) 2016-04-27 2022-05-03 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11379127B2 (en) 2019-07-18 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11687290B1 (en) * 2022-01-13 2023-06-27 Silicon Motion, Inc. Method for improve read disturbance phenomenon of flash memory module and associated flash memory controller and electronic device
US20230205459A1 (en) * 2021-12-27 2023-06-29 Giga-Byte Technology Co., Ltd. Control method for dynamically adjusting ratio of single-level cell (slc) blocks and three-level cells (tlc) blocks
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101062755B1 (en) * 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Semiconductor memory system including ECC circuit and control method thereof
KR101663158B1 (en) * 2010-01-29 2016-10-06 삼성전자 주식회사 Semiconductor memory device
JP5651457B2 (en) * 2010-12-15 2015-01-14 株式会社東芝 Semiconductor memory device
CN102693760B (en) * 2011-03-24 2015-07-15 扬智科技股份有限公司 Error correction method for NAND flash memory
CN102890645B (en) * 2011-07-20 2015-11-25 群联电子股份有限公司 Memorizer memory devices, Memory Controller and method for writing data
KR20130052971A (en) 2011-11-14 2013-05-23 삼성전자주식회사 Method of operating non-volatile memory devices
JP5942512B2 (en) * 2012-03-19 2016-06-29 富士通株式会社 Storage control device and storage system
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
TWI477104B (en) * 2012-09-13 2015-03-11 Mstar Semiconductor Inc Apparatus and method for correcting error
CN103116550A (en) * 2013-01-11 2013-05-22 深圳市硅格半导体有限公司 Method and device for switching physical block work mode in flash memory
US9043668B2 (en) * 2013-02-08 2015-05-26 Seagate Technology Llc Using ECC data for write deduplication processing
US8838936B1 (en) * 2013-11-27 2014-09-16 NXGN Data, Inc. System and method for efficient flash translation layer
US20150169406A1 (en) * 2013-12-16 2015-06-18 Sandisk Technologies Inc. Decoding techniques for a data storage device
US9553608B2 (en) 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
CN103927262A (en) * 2014-03-21 2014-07-16 深圳市硅格半导体有限公司 Flash memory physical block control method and flash memory physical block control device
JP6269253B2 (en) * 2014-03-29 2018-01-31 富士通株式会社 Distributed storage system, storage device control method, and storage device control program
CN103942151A (en) * 2014-04-10 2014-07-23 深圳市硅格半导体有限公司 Data storage method and device for flash memory
CN103984506B (en) * 2014-04-30 2017-06-30 深圳市江波龙电子有限公司 The method and system that data of flash memory storage equipment is write
CN105320464B (en) * 2014-07-21 2018-07-31 群联电子股份有限公司 Prevent method, memorizer control circuit unit and the storage device of reading interference
TWI573142B (en) * 2015-02-02 2017-03-01 慧榮科技股份有限公司 Data storage device and data maintenance method thereof
CN105988716A (en) * 2015-02-09 2016-10-05 深圳市硅格半导体有限公司 Storage device and mode conversion method thereof
CN106356093B (en) * 2015-07-17 2019-11-01 旺宏电子股份有限公司 The operating method of memory and the memory device for applying it
WO2017075747A1 (en) * 2015-11-02 2017-05-11 Shine Bright Technology Limited Methods, systems, and media for programming storage device
CN106843744B (en) * 2015-12-03 2020-05-26 群联电子股份有限公司 Data programming method and memory storage device
KR20180101760A (en) * 2017-03-06 2018-09-14 에스케이하이닉스 주식회사 Storage device, data processing system and operating method thereof
CN107689796B (en) * 2017-07-28 2021-03-26 同济大学 Lossless compressed file fault-tolerant decompression method based on prior information
CN109388343B (en) * 2018-09-26 2020-08-28 深圳市德明利技术股份有限公司 Data storage method and memory
CN111324291B (en) * 2018-12-14 2024-02-20 兆易创新科技集团股份有限公司 Memory device
CN111324283B (en) * 2018-12-14 2024-02-20 兆易创新科技集团股份有限公司 Memory device
CN110473586B (en) * 2019-07-31 2021-05-14 珠海博雅科技有限公司 Replacement method, device and equipment for write failure storage unit and storage medium
US11138071B1 (en) 2020-06-22 2021-10-05 Western Digital Technologies, Inc. On-chip parity buffer management for storage block combining in non-volatile memory
CN115686164A (en) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 Power supply terminal device, power supply system and non-transitory computer readable medium
CN115657972B (en) * 2022-12-27 2023-06-06 北京特纳飞电子技术有限公司 Solid state disk writing control method and device and solid state disk

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485422A (en) * 1994-06-02 1996-01-16 Intel Corporation Drain bias multiplexing for multiple bit flash cell
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
US5844841A (en) * 1996-04-19 1998-12-01 Kabushiki Kaisha Toshiba Memory system
US6538923B1 (en) * 2001-02-26 2003-03-25 Advanced Micro Devices, Inc. Staircase program verify for multi-level cell flash memory designs
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
US7259976B2 (en) * 2005-06-30 2007-08-21 Hynix Semiconductor Inc. Program control circuit of flash memory device having MLC and method thereof
US20080049497A1 (en) * 2006-08-24 2008-02-28 Hyun Sun Mo Methods of Programming Multi-Bit Flash Memory Devices and Related Devices
US20080059835A1 (en) * 2006-09-04 2008-03-06 Samsung Electronics Co., Ltd. Method and apparatus for managing bad run-time block in mlc flash memory
US20080068883A1 (en) * 2006-09-15 2008-03-20 Samsung Electronics Co. Ltd. Flash memory devices and programming methods for the same
US7388779B2 (en) * 2005-02-25 2008-06-17 Micron Technology, Inc. Multiple level programming in a non-volatile device
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US20090187700A1 (en) * 2008-01-18 2009-07-23 Spansion Llc Retargeting of a write operation retry in the event of a write operation failure
US20090327590A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Enhanced mlc solid state device
US20090327586A1 (en) * 2008-06-25 2009-12-31 Silicon Motion, Inc. Memory device and data storing method
US20100008140A1 (en) * 2008-07-11 2010-01-14 Chang-Hyun Lee Nonvolatile memory devices supporting memory cells having different bit storage levels and methods of operating the same
US7757153B2 (en) * 2006-03-31 2010-07-13 Samsung Electronics Co., Ltd. Multi-bit memory device and memory system
US20100306580A1 (en) * 2009-05-28 2010-12-02 Lsi Corporation Systems and Methods for Governing the Life Cycle of a Solid State Drive
US20100325342A1 (en) * 2007-07-20 2010-12-23 Panasonic Corporation Memory controller and nonvolatile storage device using same
US7864587B2 (en) * 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
US20110087950A1 (en) * 2009-10-12 2011-04-14 Phison Electronics Corp. Data writing method for a flash memory, and controller and storage system using the same
US8015371B2 (en) * 2008-10-30 2011-09-06 Hitachi, Ltd. Storage apparatus and method of managing data storage area
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US20120240012A1 (en) * 2010-07-07 2012-09-20 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283792A (en) * 1990-10-19 1994-02-01 Benchmarq Microelectronics, Inc. Power up/power down controller and power fail detector for processor
US5315549A (en) * 1991-06-11 1994-05-24 Dallas Semiconductor Corporation Memory controller for nonvolatile RAM operation, systems and methods
US5420798A (en) * 1993-09-30 1995-05-30 Macronix International Co., Ltd. Supply voltage detection circuit
US5438549A (en) * 1994-02-28 1995-08-01 Intel Corporation Nonvolatile memory with volatile memory buffer and a backup power supply system
US7107480B1 (en) * 2000-12-22 2006-09-12 Simpletech, Inc. System and method for preventing data corruption in solid-state memory devices after a power failure
TW594466B (en) * 2002-06-10 2004-06-21 Micro Star Int Co Ltd Power management method for microprocessor
US7072135B2 (en) * 2002-11-12 2006-07-04 Fujitsu Limited Disk apparatus, head retracting method and head actuator control circuit
JP4153802B2 (en) * 2003-02-07 2008-09-24 株式会社ルネサステクノロジ Storage device
JP4073799B2 (en) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ Memory system
JP2004265162A (en) * 2003-03-03 2004-09-24 Renesas Technology Corp Storage device and address management method
US7089461B2 (en) * 2003-03-20 2006-08-08 International Business Machines Corporation Method and apparatus for isolating uncorrectable errors while system continues to run
US6856556B1 (en) * 2003-04-03 2005-02-15 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
JP3878573B2 (en) * 2003-04-16 2007-02-07 株式会社東芝 Nonvolatile semiconductor memory device
TWI231901B (en) * 2003-09-19 2005-05-01 Topro Technology Inc Integration control chip having the power control
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP4170952B2 (en) * 2004-01-30 2008-10-22 株式会社東芝 Semiconductor memory device
JP2006031630A (en) * 2004-07-21 2006-02-02 Hitachi Ltd Storage device and method for controlling power consumption of storage device
KR100574989B1 (en) * 2004-11-04 2006-05-02 삼성전자주식회사 Memory device for improving efficiency of data strobe bus line and memory system including the same, and data strobe signal control method thereof
TWI258074B (en) * 2004-12-24 2006-07-11 Phison Electronics Corp Method for reducing data error when flash memory storage device executing copy back command
US7958430B1 (en) * 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
US7362611B2 (en) * 2005-08-30 2008-04-22 Micron Technology, Inc. Non-volatile memory copy back
KR20070076849A (en) * 2006-01-20 2007-07-25 삼성전자주식회사 Apparatus and method for accomplishing copy-back operation in memory card
JP2007280554A (en) * 2006-04-11 2007-10-25 Hitachi Ltd Power supply unit for storage unit and method for managing storage unit
JP4821426B2 (en) * 2006-05-11 2011-11-24 富士ゼロックス株式会社 Error recovery program, error recovery device, and computer system
US8046660B2 (en) * 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
JP2008090354A (en) * 2006-09-29 2008-04-17 Hitachi Ltd Power failure monitoring method and apparatus therefor
US7692949B2 (en) * 2006-12-04 2010-04-06 Qimonda North America Corp. Multi-bit resistive memory
JP4939234B2 (en) * 2007-01-11 2012-05-23 株式会社日立製作所 Flash memory module, storage device using the flash memory module as a recording medium, and address conversion table verification method for the flash memory module
KR100918707B1 (en) * 2007-03-12 2009-09-23 삼성전자주식회사 Flash memory-based memory system
WO2008118160A2 (en) * 2007-03-23 2008-10-02 Thomson Licensing System and method for preventing errors in a storage medium
US8200885B2 (en) * 2007-07-25 2012-06-12 Agiga Tech Inc. Hybrid memory system with backup power source and multiple backup an restore methodology
US7865679B2 (en) * 2007-07-25 2011-01-04 AgigA Tech Inc., 12700 Power interrupt recovery in a hybrid memory subsystem
JP2009087509A (en) * 2007-10-03 2009-04-23 Toshiba Corp Semiconductor storage device
TWI358068B (en) * 2007-10-19 2012-02-11 Phison Electronics Corp Writing method for non-volatile memory and control
US20090106513A1 (en) * 2007-10-22 2009-04-23 Chuang Cheng Method for copying data in non-volatile memory system
JP2009146499A (en) * 2007-12-13 2009-07-02 Toshiba Corp Nonvolatile memory card
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
US8078918B2 (en) * 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
CN101226774A (en) * 2008-02-15 2008-07-23 祥硕科技股份有限公司 Method for reducing data error in flash memory device when using copy back instruction
TWI473117B (en) * 2008-06-04 2015-02-11 A Data Technology Co Ltd Flash storage device with data correction function
US8074012B2 (en) * 2008-07-02 2011-12-06 Silicon Motion, Inc. Flash memory apparatus and method for securing a flash memory from data damage
TWI381274B (en) * 2008-07-10 2013-01-01 Phison Electronics Corp Block management method and storage system and controller thereof
US8806271B2 (en) * 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
CN101446927B (en) * 2008-12-26 2010-12-01 祥硕科技股份有限公司 Flash memory system and control method thereof
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8504860B2 (en) * 2009-06-26 2013-08-06 Seagate Technology Llc Systems, methods and devices for configurable power control with storage devices
US8261136B2 (en) * 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5485422A (en) * 1994-06-02 1996-01-16 Intel Corporation Drain bias multiplexing for multiple bit flash cell
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
US5844841A (en) * 1996-04-19 1998-12-01 Kabushiki Kaisha Toshiba Memory system
US6538923B1 (en) * 2001-02-26 2003-03-25 Advanced Micro Devices, Inc. Staircase program verify for multi-level cell flash memory designs
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
US7388779B2 (en) * 2005-02-25 2008-06-17 Micron Technology, Inc. Multiple level programming in a non-volatile device
US7259976B2 (en) * 2005-06-30 2007-08-21 Hynix Semiconductor Inc. Program control circuit of flash memory device having MLC and method thereof
US7757153B2 (en) * 2006-03-31 2010-07-13 Samsung Electronics Co., Ltd. Multi-bit memory device and memory system
US20080049497A1 (en) * 2006-08-24 2008-02-28 Hyun Sun Mo Methods of Programming Multi-Bit Flash Memory Devices and Related Devices
US20080059835A1 (en) * 2006-09-04 2008-03-06 Samsung Electronics Co., Ltd. Method and apparatus for managing bad run-time block in mlc flash memory
US20080068883A1 (en) * 2006-09-15 2008-03-20 Samsung Electronics Co. Ltd. Flash memory devices and programming methods for the same
US20100325342A1 (en) * 2007-07-20 2010-12-23 Panasonic Corporation Memory controller and nonvolatile storage device using same
US20090187700A1 (en) * 2008-01-18 2009-07-23 Spansion Llc Retargeting of a write operation retry in the event of a write operation failure
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US20090327586A1 (en) * 2008-06-25 2009-12-31 Silicon Motion, Inc. Memory device and data storing method
US20090327590A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Enhanced mlc solid state device
US20100008140A1 (en) * 2008-07-11 2010-01-14 Chang-Hyun Lee Nonvolatile memory devices supporting memory cells having different bit storage levels and methods of operating the same
US7864587B2 (en) * 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
US8015371B2 (en) * 2008-10-30 2011-09-06 Hitachi, Ltd. Storage apparatus and method of managing data storage area
US20100306580A1 (en) * 2009-05-28 2010-12-02 Lsi Corporation Systems and Methods for Governing the Life Cycle of a Solid State Drive
US20110087950A1 (en) * 2009-10-12 2011-04-14 Phison Electronics Corp. Data writing method for a flash memory, and controller and storage system using the same
US20120240012A1 (en) * 2010-07-07 2012-09-20 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Author: Soojun IM and Dongkun Shin; Title: Storage Architecture and Software Support for SLC/MLC Combined Flash Memory; Date: March 8-12, 2009; ACM 978-1--60558-166-8/09/03; Page 1664-1669 *

Cited By (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060129849A1 (en) * 2002-11-25 2006-06-15 Renan Abgrall Secure electronic entity integrating life span management of an object
US10134217B2 (en) * 2002-11-25 2018-11-20 Idemia France Secure electronic entity integrating life span management of an object
US8443259B2 (en) 2009-03-13 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8527841B2 (en) 2009-03-13 2013-09-03 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as reduced-level cell solid-state storage
US8300463B2 (en) * 2009-03-25 2012-10-30 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US8446766B2 (en) 2009-03-25 2013-05-21 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US20100246266A1 (en) * 2009-03-25 2010-09-30 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US8873286B2 (en) 2010-01-27 2014-10-28 Intelligent Intellectual Property Holdings 2 Llc Managing non-volatile media
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US20120240012A1 (en) * 2010-07-07 2012-09-20 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device
US8656256B2 (en) * 2010-07-07 2014-02-18 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device
US20120221771A1 (en) * 2011-02-25 2012-08-30 Samsung Electronics Co., Ltd. Data storage system and data mapping method of the same
US20120304039A1 (en) * 2011-05-27 2012-11-29 Fusion-Io, Inc. Bit error reduction through varied data positioning
US9176810B2 (en) * 2011-05-27 2015-11-03 SanDisk Technologies, Inc. Bit error reduction through varied data positioning
US9195604B2 (en) 2011-05-31 2015-11-24 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US8886911B2 (en) * 2011-05-31 2014-11-11 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US20120311293A1 (en) * 2011-05-31 2012-12-06 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US8995196B2 (en) * 2011-08-15 2015-03-31 Skymedi Corporation Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method
US20130044542A1 (en) * 2011-08-15 2013-02-21 Skymedi Corporation Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US20140101372A1 (en) * 2012-10-05 2014-04-10 Young Woo Jung Memory system and read reclaim method thereof
JP2014078229A (en) * 2012-10-05 2014-05-01 Samsung Electronics Co Ltd Memory system and read calibration method thereof
US9672104B2 (en) 2012-10-05 2017-06-06 Samsung Electronics Co., Ltd. Memory system and read reclaim method thereof
US9431117B2 (en) * 2012-10-05 2016-08-30 Samsung Electronics Co., Ltd. Memory system and read reclaim method thereof
US9368223B2 (en) 2012-10-05 2016-06-14 Samsung Electronics Co., Ltd. Memory system and read reclaim method thereof
US9767053B2 (en) 2012-12-11 2017-09-19 Samsung Electronics Co., Ltd. Memory controller and memory system including the same
US11625321B2 (en) 2013-03-15 2023-04-11 Micron Technology, Inc. Apparatuses and methods for memory address translation during block migration using depth mapping table based on mapping state
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US20140281149A1 (en) * 2013-03-15 2014-09-18 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US10042750B2 (en) * 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US10817412B2 (en) 2013-03-15 2020-10-27 Micron Technology, Inc. Methods for migrating information stored in memory using an intermediate depth map
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9274893B2 (en) * 2013-05-31 2016-03-01 Silicon Motion, Inc. Data storage device and error correction method thereof
US20140359346A1 (en) * 2013-05-31 2014-12-04 Silicon Motion, Inc. Data storage device and error correction method thereof
US9697076B2 (en) * 2013-05-31 2017-07-04 Silicon Motion, Inc. Data storage device and error correction method thereof
US20160139986A1 (en) * 2013-05-31 2016-05-19 Silicon Motion, Inc. Data storage device and error correction method thereof
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9495232B2 (en) * 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
US20150278012A1 (en) * 2014-03-28 2015-10-01 Karsten Gjorup Error correcting (ecc) memory compatibility
US9898364B2 (en) 2014-05-30 2018-02-20 Sandisk Technologies Llc Method and system for dynamic word line based configuration of a three-dimensional memory device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US9972393B1 (en) * 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US20160041760A1 (en) * 2014-08-08 2016-02-11 International Business Machines Corporation Multi-Level Cell Flash Memory Control Mechanisms
US20160062693A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Notification of Trigger Condition to Reduce Declared Capacity of a Storage Device
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9582212B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9582203B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9582193B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9582202B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US20160062665A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Triggering a Process to Reduce Declared Capacity of a Storage Device in a Multi-Storage-Device Storage System
KR101875414B1 (en) 2014-09-02 2018-08-02 샌디스크 테크놀로지스 엘엘씨 Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
KR20170046767A (en) * 2014-09-02 2017-05-02 샌디스크 테크놀로지스 엘엘씨 Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US20160062699A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Notification of Trigger Condition to Reduce Declared Capacity of a Storage Device in a Multi-Storage-Device Storage System
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9582220B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US20160062681A1 (en) * 2014-09-02 2016-03-03 Sandisk Technologies Inc. Process and Apparatus to Reduce Declared Capacity of a Storage Device by Reducing a Range of Logical Addresses
US10332604B2 (en) 2014-11-19 2019-06-25 Sandisk Technologies Llc Configuration parameter management for non-volatile data storage
US9852799B2 (en) * 2014-11-19 2017-12-26 Sandisk Technologies Llc Configuration parameter management for non-volatile data storage
US20160141042A1 (en) * 2014-11-19 2016-05-19 SanDisk Technologies, Inc. Configuration parameter management for non-volatile data storage
US9740602B2 (en) 2014-11-25 2017-08-22 Macronix International Co., Ltd. Memory orprating method and memory device using the same
TWI578320B (en) * 2014-11-25 2017-04-11 旺宏電子股份有限公司 Memory operating method and memory device using the same
US10310971B2 (en) 2015-01-15 2019-06-04 Huawei Technologies Co., Ltd. Method and apparatus for processing memory page in memory
US9891844B2 (en) 2015-05-20 2018-02-13 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9864525B2 (en) 2015-05-20 2018-01-09 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US10629260B2 (en) * 2015-09-01 2020-04-21 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9983916B2 (en) * 2015-12-24 2018-05-29 SK Hynix Inc. Memory system and operating method thereof
US20170185463A1 (en) * 2015-12-24 2017-06-29 SK Hynix Inc. Memory system and operating method thereof
US11916569B2 (en) 2016-04-27 2024-02-27 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US11847023B2 (en) 2016-04-27 2023-12-19 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10157098B2 (en) 2016-04-27 2018-12-18 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10236908B2 (en) * 2016-04-27 2019-03-19 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10110255B2 (en) 2016-04-27 2018-10-23 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10025662B2 (en) 2016-04-27 2018-07-17 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10019355B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10348332B2 (en) 2016-04-27 2019-07-09 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US11500722B2 (en) 2016-04-27 2022-11-15 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10510430B2 (en) 2016-04-27 2019-12-17 Silicon Motion, Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10643733B2 (en) 2016-04-27 2020-05-05 Silicon Motion, Inc. Method, flashing memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10713115B2 (en) 2016-04-27 2020-07-14 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10771091B2 (en) 2016-04-27 2020-09-08 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US11030042B2 (en) 2016-04-27 2021-06-08 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10133664B2 (en) 2016-04-27 2018-11-20 Silicon Motion Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10846173B2 (en) 2016-04-27 2020-11-24 Silicon Motion, Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US11323133B2 (en) 2016-04-27 2022-05-03 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10983865B2 (en) * 2016-08-01 2021-04-20 Hewlett Packard Enterprise Development Lp Adjusting memory parameters
US10249371B2 (en) * 2016-11-01 2019-04-02 Fujitsu Limited Control circuit, semiconductor storage device, and method of controlling semiconductor storage device
US20180122480A1 (en) * 2016-11-01 2018-05-03 Fujitsu Limited Control circuit, semiconductor storage device, and method of controlling semiconductor storage device
US11586357B2 (en) 2017-04-07 2023-02-21 Micron Technology, Inc. Memory management
WO2018187114A1 (en) * 2017-04-07 2018-10-11 Micron Technology, Inc. Memory management
US10452282B2 (en) 2017-04-07 2019-10-22 Micron Technology, Inc. Memory management
US11042306B2 (en) 2017-04-07 2021-06-22 Micron Technology, Inc. Memory management
US10810150B1 (en) * 2017-07-11 2020-10-20 American Megatrends International, Llc Configuration of a solid-state drive dock having local and network interfaces
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US11068409B2 (en) 2018-02-07 2021-07-20 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11209998B2 (en) * 2018-06-11 2021-12-28 Western Digital Technologies, Inc. Adjustment of storage device parameters based on workload characteristics
US11847330B2 (en) 2018-06-11 2023-12-19 Western Digital Technologies, Inc. Adjustment of storage device parameters based on workload characteristics
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11768709B2 (en) 2019-01-02 2023-09-26 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) * 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11379127B2 (en) 2019-07-18 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US20230205459A1 (en) * 2021-12-27 2023-06-29 Giga-Byte Technology Co., Ltd. Control method for dynamically adjusting ratio of single-level cell (slc) blocks and three-level cells (tlc) blocks
US20230221891A1 (en) * 2022-01-13 2023-07-13 Silicon Motion, Inc. Method for improve read disturbance phenomenon of flash memory module and associated flash memory controller and electronic device
US11687290B1 (en) * 2022-01-13 2023-06-27 Silicon Motion, Inc. Method for improve read disturbance phenomenon of flash memory module and associated flash memory controller and electronic device

Also Published As

Publication number Publication date
US20100332951A1 (en) 2010-12-30
TW201101320A (en) 2011-01-01
TWI449052B (en) 2014-08-11
CN101937318A (en) 2011-01-05
TWI457937B (en) 2014-10-21
TWI406126B (en) 2013-08-21
US8458566B2 (en) 2013-06-04
TW201101026A (en) 2011-01-01
CN101937724A (en) 2011-01-05
CN101937710A (en) 2011-01-05
US20100332887A1 (en) 2010-12-30
CN101937724B (en) 2013-11-06
TW201101309A (en) 2011-01-01

Similar Documents

Publication Publication Date Title
US20100332922A1 (en) Method for managing device and solid state disk drive utilizing the same
US9075740B2 (en) Memory system
KR101014040B1 (en) Appratus and method for managing dram buffer
US11226895B2 (en) Controller and operation method thereof
EP2565792A1 (en) Block management schemes in hybrid SLC/MLC memory
US10719439B2 (en) Garbage collection of a storage device
JP2009503726A (en) Context-sensitive memory performance
JP2011118469A (en) Device and method for managing memory
US10338841B2 (en) Block management for data streams
US20160139814A1 (en) Cache memory device and data processing method of the device
US20210271409A1 (en) Data Storage With Improved Suspend Resume Performance
US9176866B2 (en) Active recycling for solid state drive
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
CN112130749B (en) Data storage device and non-volatile memory control method
CN113590505A (en) Address mapping method, solid state disk controller and solid state disk
KR101070511B1 (en) Solid state drive controller and method for operating of the solid state drive controller
US20190258593A1 (en) Memory controller and operating method thereof
US20200327069A1 (en) Data storage device and operation method thereof, controller using the same
US20160300617A1 (en) Memory device and associated erase method
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
US20210272619A1 (en) Data Storage With Improved Read Performance By Avoiding Line Discharge
KR101027687B1 (en) Solid State Storage System for Controlling Write Operation and Method of Controlling the Same
US11210209B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
JP2023039459A (en) Memory system and method
TWI769100B (en) Method for managing flash memory module and associated flash memory controller and electronic device

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEDIATEK INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, PO-WEI;HSIEH, KUN-HUNG;TU, LI-CHUN;AND OTHERS;SIGNING DATES FROM 20090511 TO 20091119;REEL/FRAME:024064/0314

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION