Movatterモバイル変換


[0]ホーム

URL:


TWI705328B - Data storage device and control method for non-volatile memory - Google Patents

Data storage device and control method for non-volatile memory
Download PDF

Info

Publication number
TWI705328B
TWI705328BTW108112760ATW108112760ATWI705328BTW I705328 BTWI705328 BTW I705328BTW 108112760 ATW108112760 ATW 108112760ATW 108112760 ATW108112760 ATW 108112760ATW I705328 BTWI705328 BTW I705328B
Authority
TW
Taiwan
Prior art keywords
host
data
temporary storage
storage space
controller
Prior art date
Application number
TW108112760A
Other languages
Chinese (zh)
Other versions
TW202013191A (en
Inventor
黃千庭
陳良政
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司filedCritical慧榮科技股份有限公司
Priority to CN201910375972.1ApriorityCriticalpatent/CN110955384B/en
Priority to US16/524,113prioritypatent/US10991422B2/en
Publication of TW202013191ApublicationCriticalpatent/TW202013191A/en
Application grantedgrantedCritical
Publication of TWI705328BpublicationCriticalpatent/TWI705328B/en

Links

Images

Landscapes

Abstract

High-efficiency control technology for non-volatile memory. A non-volatile memory has single level cells (SLCs) and multiple level cells (e.g., MLCs or TLCs) and is controlled by a controller. According to the controller, a host allocates a system memory to provide a host memory buffer. The controller uses the host memory buffer to buffer write data issued by the host. The write data in the host memory buffer is flushed to the multiple level cells by the controller without being temporarily stored in the single level cells.

Description

Translated fromChinese
資料儲存裝置以及非揮發式記憶體控制方法Data storage device and non-volatile memory control method

本發明係有關於非揮發式記憶體之控制。The present invention relates to the control of non-volatile memory.

非揮發式記憶體有多種形式─例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式隨機存取記憶體(Resistive RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,用於長時間資料保存,可做為儲存媒體實現一資料儲存裝置。Non-volatile memory has many forms-for example, flash memory (flash memory), magnetoresistive RAM (Magnetoresistive RAM), ferroelectric random access memory (Ferroelectric RAM), resistive random access Memory (Resistive RAM), Spin Transfer Torque-RAM (STT-RAM), etc., are used for long-term data storage and can be used as storage media to realize a data storage device.

非揮發式記憶體通常有其特殊的儲存特性。本技術領域需要相應非揮發式記憶體的儲存特性發展相應的控制技術。Non-volatile memory usually has its special storage characteristics. The technical field needs to develop corresponding control technology corresponding to the storage characteristics of non-volatile memory.

根據本發明一種實施方式所實現的一資料儲存裝置包括一非揮發式記憶體以及一控制器。該非揮發式記憶體包括單階儲存單元以及多階儲存單元且。該控制器令一主機在該主機的一系統記憶體上規劃一主機端暫存空間。該控制器令該主機要求的寫入資料暫存至該主機端暫存空間。該控制器不使用上述單階儲存單元,即把暫存於該主機端暫存空間的該寫入資料匯至上述多階儲存單元。A data storage device implemented according to an embodiment of the present invention includes a non-volatile memory and a controller. The non-volatile memory includes single-level storage units and multi-level storage units. The controller enables a host to plan a host-side temporary storage space on a system memory of the host. The controller temporarily stores the write data requested by the host in the temporary storage space of the host. The controller does not use the single-level storage unit, that is, the write data temporarily stored in the temporary storage space of the host side is transferred to the multi-level storage unit.

一種實施方式中,該控制器管理一映射表,條列該主機端暫存空間各儲存單元所儲存內容的邏輯位址。根據該寫入資料的邏輯位址,該控制器查詢該映射表。該映射表載有該邏輯位址時,該控制器將該寫入資料覆寫至該主機端暫存空間儲存舊版本內容的位置。該映射表未載有該邏輯位址時,該控制器以該主機端暫存空間的閒置空間暫存該寫入資料,並據以更新該映射表。In one embodiment, the controller manages a mapping table listing the logical addresses of the contents stored in each storage unit of the host-side temporary storage space. According to the logical address of the written data, the controller queries the mapping table. When the mapping table contains the logical address, the controller overwrites the written data to the location of the host-side temporary storage space to store the old version content. When the mapping table does not contain the logical address, the controller temporarily stores the written data in the idle space of the host-side temporary storage space, and updates the mapping table accordingly.

一種實施方式中,該主機端暫存空間上湊齊一定資料量的資料時,該控制器將該定資料量的資料自該主機端暫存空間匯至上述多階儲存單元,其間不使用上述單階儲存單元。該定資料量可為上述多階儲存單元中由同一字線所控制的資料量。In one embodiment, when a certain amount of data is collected in the host-side temporary storage space, the controller transfers the certain amount of data from the host-side temporary storage space to the multi-level storage unit without using the above-mentioned Single-level storage unit. The fixed amount of data can be the amount of data controlled by the same word line in the above-mentioned multi-level storage unit.

一種實施方式中,該控制器具有一讀/寫資料暫存器。該控制器自該主機端暫存空間取得該寫入資料後,將該寫入資料暫存於該讀/寫資料暫存器,再自該讀/寫資料暫存器匯入上述多階儲存單元。In one embodiment, the controller has a read/write data register. After the controller obtains the written data from the host side temporary storage space, it temporarily stores the written data in the read/write data register, and then imports the above-mentioned multi-level storage from the read/write data register unit.

接收到該主機指示該寫入資料的一寫入指令時,該控制器可將該寫入資料暫存至該讀/寫資料暫存器,再自該讀/寫資料暫存器匯至該主機端暫存器。Upon receiving a write command from the host instructing the write data, the controller can temporarily store the written data to the read/write data register, and then import the read/write data register to the Host-side register.

一種實施方式中,根據該主機要求的一讀取指令所指示的邏輯位址,該控制器查詢該主機端暫存空間的映射表。該映射表載有該邏輯位址時,該控制器自該主機端暫存空間取得讀取資料,回應該主機。In one embodiment, the controller queries the mapping table of the temporary storage space of the host according to the logical address indicated by a read command requested by the host. When the mapping table contains the logical address, the controller obtains read data from the host-side temporary storage space and responds to the host.

一種實施方式中,該控制器將取自該主機端暫存空間的該讀取資料暫存至該控制器的讀/寫資料暫存器,以回應該主機。In one embodiment, the controller temporarily stores the read data obtained from the temporary storage space of the host side to the read/write data register of the controller to respond to the host.

本發明更提出非揮發式記憶體控制方法,包括以下步驟:根據一主機之要求操作一非揮發式記憶體,其中,該非揮發式記憶體包括單階儲存單元以及多階儲存單元;令該主機在該主機的一系統記憶體上規劃一主機端暫存空間;令該主機要求的寫入資料暫存至該主機端暫存空間;且不使用上述單階儲存單元,即把暫存於該主機端暫存空間的該寫入資料匯至上述多階儲存單元。The present invention further provides a non-volatile memory control method, which includes the following steps: operating a non-volatile memory according to a host request, wherein the non-volatile memory includes a single-level storage unit and a multi-level storage unit; making the host A host-side temporary storage space is planned on a system memory of the host; the write data requested by the host is temporarily stored in the host-side temporary storage space; and the single-level storage unit is not used, the temporary storage is The written data in the temporary storage space of the host side is transferred to the aforementioned multi-level storage unit.

下文特舉實施例,並配合所附圖示,詳細說明本發明內容。Hereinafter, specific embodiments are given in conjunction with accompanying drawings to illustrate the content of the present invention in detail.

以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。The following description lists various embodiments of the present invention. The following description introduces the basic concept of the present invention, and is not intended to limit the content of the present invention. The actual scope of invention shall be defined in accordance with the scope of patent application.

非揮發式記憶體可以是快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,提供長時間資料保存之儲存媒體。以下特別以快閃記憶體為例進行討論。Non-volatile memory can be flash memory (Flash Memory), magnetoresistive RAM (Magnetoresistive RAM), ferroelectric random access memory (Ferroelectric RAM), resistive RAM (RRAM) ), Spin Transfer Torque-RAM (STT-RAM), etc., provide storage media for long-term data storage. The following discussion takes the flash memory as an example.

現今資料儲存裝置常以快閃記憶體為儲存媒體,實現記憶卡(Memory Card)、通用序列匯流排閃存裝置(USB Flash Device)、固態硬碟(SSD)…等產品。有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起─稱為嵌入式快閃記憶體模組(如eMMC)。Nowadays, data storage devices often use flash memory as storage media to realize products such as Memory Card, USB Flash Device, Solid State Drive (SSD), etc. One application is to use multi-chip packaging to package flash memory and its controller together-called embedded flash memory modules (such as eMMC).

以快閃記憶體為儲存媒體的資料儲存裝置可應用於多種電子裝置中。所述電子裝置包括智慧型手機、穿戴裝置、平板電腦、虛擬實境設備…等。電子裝置的運算模塊可視為一主機(Host),操作所使用的資料儲存裝置,以存取其中快閃記憶體。The data storage device using flash memory as the storage medium can be applied to a variety of electronic devices. The electronic devices include smart phones, wearable devices, tablet computers, virtual reality equipment, etc. The computing module of the electronic device can be regarded as a host, which operates the data storage device used to access the flash memory therein.

以快閃記憶體為儲存媒體的資料儲存裝置也可用於建構資料中心。例如,伺服器可操作固態硬碟(SSD)陣列形成資料中心。伺服器即可視為一主機,操作所連結之固態硬碟,以存取其中快閃記憶體。Data storage devices using flash memory as storage media can also be used to construct data centers. For example, the server can operate a solid state drive (SSD) array to form a data center. The server can be regarded as a host, operating the connected solid-state drive to access the flash memory.

快閃記憶體有其特殊的儲存特性,以下敘述之。Flash memory has its special storage characteristics, which are described below.

主機(Host)端是以邏輯位址(例如,邏輯區塊位址LBA或全域主機頁編號GHP…等)來區別資料(使用者資料)。快閃記憶體之物理空間則是劃分為複數個區塊(Blocks)配置使用。各區塊(Block)包括複數頁(Pages)。各頁包括N個區段(Sectors),N為大於一的整數,如:4。容量16KB的頁可分為四個區段,各區段為4KB,可容儲存一個LBA或GHP的資料。一種實施方式中,一區塊(block)係根據頁編號配置各頁儲存資料,如,由低編號至高編號循序使用該區塊的各頁。The host side uses logical addresses (for example, logical block address LBA or global host page number GHP... etc.) to distinguish data (user data). The physical space of the flash memory is divided into a plurality of blocks (Blocks) for allocation. Each block (Block) includes multiple pages (Pages). Each page includes N sectors (Sectors), N is an integer greater than one, such as: 4. The 16KB page can be divided into four sections, each section is 4KB, can store one LBA or GHP data. In one embodiment, a block is configured to store data in each page according to the page number, for example, each page of the block is used sequentially from low number to high number.

特別是,快閃記憶體的儲存空間需抹除後方能再次使用。一種實施例中,資料抹除(Erase)的最小單位為區塊。使用過的區塊須抹除後方能再次使用。同樣邏輯位址的資料更新並非覆寫至舊資料的儲存空間,新版本的資料須寫入閒置空間(空白的區段)。舊空間的內容則標示為無效。一區塊可能僅零星留存有效資料。閒置區塊數量不足時,垃圾回收(Garbage Collection)需求產生。一區塊留存的零星有效資料經垃圾回收集中到其他空間。徒留無效資料的區塊因而得以被抹除再利用,拉升閒置區塊數量。In particular, the storage space of the flash memory must be erased before it can be used again. In one embodiment, the smallest unit of data erasure (Erase) is a block. The used blocks must be erased before they can be used again. The data update of the same logical address is not overwritten to the storage space of the old data, the data of the new version must be written into the free space (blank section). The content of the old space is marked as invalid. A block may only retain valid data sporadically. When the number of idle blocks is insufficient, garbage collection (garbage collection) demand arises. The scattered valid data stored in one block is collected in other spaces through garbage collection. Blocks with invalid data can therefore be erased and reused, increasing the number of idle blocks.

除了因應閒置區塊數過低而引發的垃圾回收,尚有其他多種操作涉及有效資料搬移。In addition to garbage collection caused by the low number of idle blocks, there are many other operations involving effective data movement.

快閃記憶體的儲存單元不限定為單階儲存單元(Single-Level Cells,SLCs),更有部分空間是提供多階儲存單元(multiple level cells),包括三階儲存單元 (Triple-Level Cells,TLCs)、或四階儲存單元 (Quad-level cells,QLCs)。一個單階儲存單元SLC儲存一個位元的資料,一個三階儲存單元TLC儲存三個位元的資料,以此類推。為了簡化說明,下述中將以三階儲存單元TLC為例,但是不以此為限。Flash memory storage units are not limited to single-level cells (Single-Level Cells, SLCs), and part of the space is to provide multiple level cells (multiple level cells), including triple-level cells (Triple-Level Cells, TLCs), or Quad-level cells (QLCs). A single-level storage cell SLC stores one bit of data, a three-level storage cell TLC stores three bits of data, and so on. To simplify the description, the following will take the three-level storage cell TLC as an example, but it is not limited thereto.

第1A圖與第1B圖分別對應單階儲存單元SLC與三階儲存單元TLC,其中以閘極浮動電子進行劃分,圖解不同邏輯意義下,存儲單元分布概率。如圖所示,一存儲單元的邏輯定義與其閘極浮動電子量相關。單階儲存單元SLC的邏輯分界較三階儲存單元TLC明確;不僅可靠度較高、寫入速度也較快。三階儲存單元TLC則是在儲存容量上有其優勢。若追求準確與速度,單階儲存單元SLC是理想的儲存目標。考量到儲存密度,單階儲存單元SLC收集的內容須伺機搬移到三階儲存單元TLC。單階儲存單元SLC頻繁地被寫入又抹除,相應產生寫入放大問題。SLC區塊的抹除次數會在短時間暴增,快閃記憶體容易損壞。Figures 1A and 1B correspond to single-level storage cells SLC and three-level storage cells TLC, respectively, in which gate floating electrons are used for division to illustrate the distribution probability of storage cells under different logical meanings. As shown in the figure, the logical definition of a memory cell is related to the amount of floating electrons in its gate. The logical boundary of the single-level storage cell SLC is clearer than that of the third-level storage cell TLC; it is not only more reliable, but also faster in writing speed. The third-level storage unit TLC has its advantages in storage capacity. If accuracy and speed are pursued, single-level storage cell SLC is an ideal storage target. Considering the storage density, the content collected by the single-level storage unit SLC must be moved to the third-level storage unit TLC. The single-level storage cell SLC is frequently written and erased, which causes write amplification problems accordingly. The number of erasures of SLC blocks will increase rapidly in a short time, and the flash memory is easily damaged.

在考量快閃記憶體生命週期的前提下,如何最佳化使用單階儲存單元SLC與三階儲存單元TLC為以下討論重點。Considering the life cycle of flash memory, how to optimize the use of single-level storage cell SLC and third-level storage cell TLC is the focus of the following discussion.

第2圖為根據本發明一種實施方式實現的一資料儲存系統200,包括一資料儲存裝置202以及一主機204。資料儲存裝置202具有一快閃記憶體206以及一控制器208,資料儲存裝置202不具有動態隨機存取記憶體(DRAM)或是僅具有一小容量DRAM(或稱為Partial DRAM)。為了簡化說明,以下將以不具有DRAM的資料儲存裝置202為例,但是不以此為限。FIG. 2 shows adata storage system 200 implemented according to an embodiment of the present invention, including adata storage device 202 and ahost 204. Thedata storage device 202 has aflash memory 206 and acontroller 208. Thedata storage device 202 has no dynamic random access memory (DRAM) or only a small-capacity DRAM (also called Partial DRAM). To simplify the description, the following will take thedata storage device 202 without DRAM as an example, but it is not limited thereto.

主機204下達讀、寫要求至控制器208,再由控制器208對快閃記憶體206進行讀、寫的操作。控制器208具有一(讀/寫)資料暫存器210,可為一靜態隨機存取記憶體(SRAM)或其他儲存裝置。快閃記憶體206具有單階儲存單元SLC區塊池212以及三階儲存單元TLC區塊池214,分別提供複數個單階儲存單元SLCs以及多階儲存單元的區塊。另外,單階儲存單元SLC區塊可由三階儲存單元TLC區塊模擬來產生,在此設定下,三階儲存單元TLC區塊以預設模式進行資料編程,單階儲存單元SLC區塊則以SLC模式進行資料編程。另外,單階儲存單元SLC區塊與三階儲存單元TLC亦可分別獨立存在並運作,並依據各自的預設模式進行資料編程。Thehost 204 issues read and write requests to thecontroller 208, and then thecontroller 208 performs read and write operations on theflash memory 206. Thecontroller 208 has a (read/write)data register 210, which can be a static random access memory (SRAM) or other storage devices. Theflash memory 206 has a single-level storage cellSLC block pool 212 and a three-level storage cellTLC block pool 214, which respectively provide a plurality of single-level storage cell SLCs and multi-level storage cell blocks. In addition, the single-level storage cell SLC block can be generated by simulation of the third-level storage cell TLC block. Under this setting, the third-level storage cell TLC block performs data programming in the default mode, and the single-level storage cell SLC block is SLC mode for data programming. In addition, the single-level storage cell SLC block and the third-level storage cell TLC can also exist and operate independently, and perform data programming according to their respective preset modes.

主機204具有一系統記憶體216,可為一DRAM或其他儲存裝置。於資料儲存系統200開機完成後,資料儲存系統200的控制器208向主機204提出主機端暫存空間(host memory buffer,HMB)的請求,主機204依據請求而在主機204的系統記憶體216中規劃一塊資料暫存空間,如主機端暫存空間(host memory buffer,HMB)218所示。Thehost 204 has asystem memory 216, which can be a DRAM or other storage devices. After thedata storage system 200 is booted up, thecontroller 208 of thedata storage system 200 makes a request for host memory buffer (HMB) to thehost 204, and thehost 204 stores the HMB in thesystem memory 216 of thehost 204 according to the request. Plan a data temporary storage space, as shown in host memory buffer (HMB) 218.

一般而言,控制器208會將主機204要求寫入的資料先暫存在資料暫存器210,之後,再寫入至單階儲存單元SLC區塊,之後,再搬移至三階儲存單元TLC區塊。然而,在本發明中,控制器208會將主機204要求寫入的資料暫存在主機端暫存空間218,之後,再寫入至資料暫存器210,之後,再寫入至三階儲存單元TLC區塊。如上所述,本發明略去使用單階儲存單元SLC區塊,因此,單階儲存單元SLC區塊至三階儲存單元TLC區塊的資料搬移機率因而降低,有效解決寫入放大問題。Generally speaking, thecontroller 208 temporarily stores the data requested by thehost 204 in the data register 210, and then writes it to the SLC block of the single-level storage unit, and then moves it to the TLC area of the third-level storage unit Piece. However, in the present invention, thecontroller 208 temporarily stores the data requested by thehost 204 in the host-sidetemporary storage space 218, then writes it to the data register 210, and then writes it to the third-level storage unit TLC block. As described above, the present invention omits the use of the single-level storage cell SLC block. Therefore, the data transfer rate from the single-level storage cell SLC block to the third-level storage cell TLC block is reduced, which effectively solves the write amplification problem.

利用主機端暫存空間218來暫存資料有諸多優點。快閃記憶體206不可將資料覆寫在相同物理位址,本發明可在主機端暫存空間218進行資料的覆寫。資料暫存在主機端暫存空間218而非單階儲存單元SLC區塊或三階儲存單元TLC區塊,因此,也可降低單階儲存單元SLC區塊或三階儲存單元TLC區塊的抹寫次數,增加單階儲存單元SLC區塊或三階儲存單元TLC區塊的使用壽命。主機端暫存空間218亦可提供快取(cache)功能。主機204下達讀取指令以讀取資料時,如果目標資料暫存在主機端暫存空間218,則控制器208可以依據主機端暫存空間218的目標資料回應主機204的讀取指令。Using the host-sidetemporary storage space 218 to temporarily store data has many advantages. Theflash memory 206 cannot overwrite data at the same physical address. The present invention can overwrite data in thetemporary storage space 218 of the host side. Data is temporarily stored in the host-sidetemporary storage space 218 instead of the single-level storage cell SLC block or the third-level storage cell TLC block. Therefore, the erasure of the single-level storage cell SLC block or the third-level storage cell TLC block can also be reduced. Increase the service life of the single-level storage cell SLC block or the third-level storage cell TLC block. The host-sidetemporary storage space 218 may also provide a cache function. When thehost 204 issues a read command to read data, if the target data is temporarily stored in the host-sidetemporary storage space 218, thecontroller 208 can respond to thehost 204's read command according to the target data in the host-sidetemporary storage space 218.

如第3圖所示,控制器208較佳建立主機端暫存空間映射表HMB_Tab以記錄主機端暫存空間218所儲存的資料之物理位址(或稱HMB位址)以及邏輯位址(如,邏輯區塊位址LBA)的映射關係,其中,記錄主機端暫存空間218的HMB位址由主機204所指定,控制器208再利用指定的HMB位址來暫存資料,例如,利用指定的HMB位址來暫存48筆區段大小的資料。主機端暫存空間映射表HMB_Tab可建立在主機端暫存空間218上。當有資料暫存或更新時,控制器208自主機端暫存空間218下載主機端暫存空間映射表HMB_Tab的全部或一部份至資料暫存器210,並予以更新,之後,再將更新後的主機端暫存空間映射表HMB_Tab上傳至主機端暫存空間218。另外,主機端暫存空間映射表HMB_Tab可建立在資料暫存器210,當有資料暫存或更新時,控制器208可直接在系統記憶體216上更新主機端暫存空間映射表HMB_Tab的內容。As shown in Figure 3, thecontroller 208 preferably creates a host-side temporary storage space mapping table HMB_Tab to record the physical address (or HMB address) and logical address (such as the HMB address) of the data stored in the host-sidetemporary storage space 218 , The mapping relationship of the logical block address LBA), where the HMB address that records the host-sidetemporary storage space 218 is specified by thehost 204, and thecontroller 208 uses the specified HMB address to temporarily store data, for example, using the specified The HMB address to temporarily store 48 blocks of data. The host-side temporary storage space mapping table HMB_Tab can be established on the host-sidetemporary storage space 218. When data is temporarily stored or updated, thecontroller 208 downloads all or part of the host-side temporary storage space mapping table HMB_Tab from the host-sidetemporary storage space 218 to the data register 210, and updates it, and then updates it again The subsequent host-side temporary storage space mapping table HMB_Tab is uploaded to the host-sidetemporary storage space 218. In addition, the host-side temporary storage space mapping table HMB_Tab can be established in the data register 210. When there is data temporarily stored or updated, thecontroller 208 can directly update the content of the host-side temporary storage space mapping table HMB_Tab on thesystem memory 216 .

第4圖為流程圖,根據本發明一種實施方式圖解資料寫入方法的流程,本發明資料寫入方法較佳由資料儲存裝置202的控制器208所執行,可有效地延長資料儲存裝置使用壽命。Figure 4 is a flowchart illustrating the flow of a data writing method according to an embodiment of the present invention. The data writing method of the present invention is preferably executed by thecontroller 208 of thedata storage device 202, which can effectively prolong the service life of the data storage device. .

步驟S402,控制器208接收來自主機204的寫入指令,其中,寫入指令指示資料以及資料的邏輯位址。In step S402, thecontroller 208 receives a write command from thehost 204, where the write command indicates data and a logical address of the data.

步驟S404,控制器208依據主機端暫存空間映射表HMB_Tab而判斷資料是否已暫存在主機端暫存空間218,如果是,則執行步驟S412,如果否,則執行步驟S406。控制器208依據資料的邏輯位址來查詢主機端暫存空間映射表HMB_Tab,若資料的邏輯位址尚未載於主機端暫存空間映射表HMB_Tab,這表示資料並未暫存在主機端暫存空間218,接著,應該將資料暫存至主機端暫存空間218;如果已載於主機端暫存空間映射表HMB_Tab,這表示資料已暫存在主機端暫存空間218,可直接以此資料(新資料)更新之前的資料(舊資料)。In step S404, thecontroller 208 determines whether the data has been temporarily stored in the host-sidetemporary storage space 218 according to the host-side temporary storage space mapping table HMB_Tab, if yes, executes step S412, if not, executes step S406. Thecontroller 208 queries the host-side temporary storage space mapping table HMB_Tab according to the logical address of the data. If the logical address of the data has not been stored in the host-side temporary storage space mapping table HMB_Tab, it means that the data is not temporarily stored in the host-side temporary storage space. 218. Next, the data should be temporarily stored in the host-sidetemporary storage space 218; if it has been stored in the host-side temporary storage space mapping table HMB_Tab, this means that the data has been temporarily stored in the host-sidetemporary storage space 218. You can directly use this data (new Data) before updating the data (old data).

步驟S406,控制器208將資料暫存至主機端暫存空間218並更新主機端暫存空間映射表HMB_Tab,例如,將LBA#1046的資料寫入主機端暫存空間218的物理位址0x4002E000,並將LBA#1046記錄(更新)至主機端暫存空間映射表HMB_Tab。In step S406, thecontroller 208 temporarily stores the data in the host-sidetemporary storage space 218 and updates the host-side temporary storage space mapping table HMB_Tab, for example, writes the data ofLBA#1046 into the physical address 0x4002E000 of the host-sidetemporary storage space 218, And record (update)LBA#1046 to the host-side temporary storage space mapping table HMB_Tab.

步驟S408,控制器208判斷主機端暫存空間218的資料量是否滿足匯出(flush)條件,其中,匯出(flush)條件較佳為區段或頁面的正整數倍,例如,48筆區段或12個頁面。一種實施方式係以同一字線的儲存單元為管理單位。若未滿足匯出(flush)條件,則控制器208可結束程序,將資料暫存在主機端暫存空間218。In step S408, thecontroller 208 determines whether the amount of data in the host-sidetemporary storage space 218 meets the flush condition, where the flush condition is preferably a positive integer multiple of the section or page, for example, 48 blocks Segments or 12 pages. One implementation is to use storage units on the same word line as the management unit. If the flush condition is not met, thecontroller 208 may end the procedure and temporarily store the data in thetemporary storage space 218 on the host side.

匯出(flush)條件滿足時,流程進入步驟S410。控制器208將主機端暫存空間218暫存的資料編程至三階儲存單元(TLC)區塊(可經該(讀/寫)資料暫存器210),其中,控制器208以預設模式將主機端暫存空間218暫存的資料編程至三階儲存單元(TLC)區塊,而不是以SLC模式將主機端暫存空間218暫存的資料編程至單階儲存單元(SLC)區塊,如此一來,可減少(避免)單階儲存單元SLC之使用。另外,控制器208可將主機端暫存空間218暫存的全部資料編程至三階儲存單元(TLC)區塊,或者,僅編程預設數量的資料至三階儲存單元(TLC)區塊,例如,僅編程48筆區段中的16筆區段的資料至三階儲存單元(TLC)區塊。一種實施方式係以同一字線的儲存單元為管理單位。另外,此三階儲存單元(TLC)區塊又稱為主動區塊。When the flush condition is satisfied, the flow proceeds to step S410. Thecontroller 208 programs the data temporarily stored in the host-sidetemporary storage space 218 to a third-level storage unit (TLC) block (which can pass through the (read/write) data register 210), wherein thecontroller 208 operates in a preset mode Program the data temporarily stored in the host-sidetemporary storage space 218 to a third-level storage cell (TLC) block, instead of programming the data temporarily stored in the host-sidetemporary storage space 218 to a single-level storage cell (SLC) block in SLC mode In this way, the use of single-level storage cells SLC can be reduced (avoided). In addition, thecontroller 208 can program all the data temporarily stored in the host-sidetemporary storage space 218 to a third-level storage cell (TLC) block, or only program a preset amount of data to a third-level storage cell (TLC) block. For example, only the data of 16 sections of the 48 sections are programmed into the TLC block. One implementation is to use storage units on the same word line as the management unit. In addition, this third-level storage cell (TLC) block is also called an active block.

另外,當主機端暫存空間218暫存的資料編程至三階儲存單元(TLC)區塊之後,控制器208立即或之後再更新邏輯-物理位址映射表(Logical-Physical Mapping Table,L2P Table),其中,L2P映射表記錄資料儲存裝置中的資料的邏輯位址與物理位址的對應關係。In addition, after the data temporarily stored in the host-sidetemporary storage space 218 is programmed to the third-level storage unit (TLC) block, thecontroller 208 immediately or later updates the logical-physical address mapping table (Logical-Physical Mapping Table, L2P Table). ), where the L2P mapping table records the correspondence between the logical address and the physical address of the data in the data storage device.

倘若步驟S404在主機端暫存空間映射表HMB_Tab查詢到主機204指示的寫入邏輯位址,流程進行步驟S412。控制器208依據主機端暫存空間映射表HMB_Tab而將入資料覆寫至主機端暫存空間218。資料記錄在主機端暫存空間映射表HMB_Tab表示資料乃暫存在主機端暫存空間218,因此,控制器208查詢主機端暫存空間映射表HMB_Tab可以得知(舊)資料暫存在主機端暫存空間218的位址,例如,邏輯位址LBA#1001所對應的主機端暫存空間218的物理位址0x40001000,因此,控制器208可將(新)資料寫入(覆寫)此物理位址,完成資料的更新。由於是進行同物理位址的覆寫,控制器208無須調整主機端暫存空間映射表HMB_Tab的內容並結束程序。If, in step S404, the write logical address indicated by thehost 204 is queried in the host-side temporary storage space mapping table HMB_Tab, the flow proceeds to step S412. Thecontroller 208 overwrites the input data to the host-sidetemporary storage space 218 according to the host-side temporary storage space mapping table HMB_Tab. Data recorded in the host-side temporary storage space mapping table HMB_Tab indicates that the data is temporarily stored in the host-sidetemporary storage space 218. Therefore, thecontroller 208 queries the host-side temporary storage space mapping table HMB_Tab to know that the (old) data is temporarily stored in the host-side temporary storage The address of thespace 218, for example, the physical address 0x40001000 of the host-sidetemporary storage space 218 corresponding to the logicaladdress LBA#1001. Therefore, thecontroller 208 can write (overwrite) the (new) data to this physical address , Complete the update of the information. Since the rewriting of the same physical address is performed, thecontroller 208 does not need to adjust the content of the host-side temporary storage space mapping table HMB_Tab and end the program.

第5圖為流程圖,根據本發明一種實施方式圖解資料讀取方法的流程,本發明資料讀取方法較佳由資料儲存裝置的控制器所執行,可有效地延長資料儲存裝置使用壽命。Figure 5 is a flowchart illustrating the flow of the data reading method according to an embodiment of the present invention. The data reading method of the present invention is preferably executed by the controller of the data storage device, which can effectively extend the service life of the data storage device.

步驟S502,控制器208接收來自主機204的讀取指令,其中,讀取指令包含欲讀取資料的邏輯位址。In step S502, thecontroller 208 receives a read command from thehost 204, where the read command includes the logical address of the data to be read.

步驟S504,控制器208判斷邏輯位址是否記錄在主機端暫存空間映射表HMB_Tab中,如果否則進行步驟S506,如果是則進行步驟S510。In step S504, thecontroller 208 determines whether the logical address is recorded in the host-side temporary storage space mapping table HMB_Tab, if otherwise, proceed to step S506, if yes, proceed to step S510.

步驟S506,控制器208依據邏輯位址以及L2P映射表以取得快閃記憶體206的一個物理位址。In step S506, thecontroller 208 obtains a physical address of theflash memory 206 according to the logical address and the L2P mapping table.

步驟S508,控制器208讀取快閃記憶體206的物理位址以取得欲讀取資料,並回傳欲讀取資料至主機204。控制器208讀取快閃記憶體206的物理位址以取得欲讀取資料,並先將欲讀取資料儲存至資料暫存器210,再將欲讀取資料從資料暫存器210上傳至主機204。In step S508, thecontroller 208 reads the physical address of theflash memory 206 to obtain the data to be read, and returns the data to be read to thehost 204. Thecontroller 208 reads the physical address of theflash memory 206 to obtain the data to be read, and first stores the data to be read in the data register 210, and then uploads the data to be read from the data register 210 to Host 204.

倘若步驟S504在主機端暫存空間映射表HMB_Tab查詢到主機204指示讀取的邏輯位址,流程進行步驟S510,控制器208依據邏輯位址以及主機端暫存空間映射表HMB_Tab以取得主機端暫存空間218的一個物理位址。If in step S504, the host-side temporary storage space mapping table HMB_Tab is queried for the logical address that thehost 204 instructs to read, the flow proceeds to step S510, and thecontroller 208 obtains the host-side temporary storage space according to the logical address and the host-side temporary storage space mapping table HMB_Tab A physical address of thestorage space 218.

步驟S512,控制器208讀取主機端暫存空間218的物理位址以取得欲讀取資料,並回傳欲讀取資料至主機204。控制器208讀取主機端暫存空間218的物理位址以取得欲讀取資料,並先將欲讀取資料儲存至資料暫存器210,再將欲讀取資料從資料暫存器210上傳至主機204。In step S512, thecontroller 208 reads the physical address of the host-sidetemporary storage space 218 to obtain the data to be read, and returns the data to be read to thehost 204. Thecontroller 208 reads the physical address of the host-sidetemporary storage space 218 to obtain the data to be read, and first stores the data to be read in the data register 210, and then uploads the data to be read from the data register 210 To thehost 204.

以上應用主機端暫存空間218以替代部份快閃記憶體206的操作,或是應用主機端暫存空間218來匯整主機204發出的寫入資料,再將資料編程至三階儲存單元TLCs區塊等,都屬於本發明欲保護範圍。本發明更可以前述概念實現非揮發式記憶體的控制方法。The above uses the host-sidetemporary storage space 218 to replace part of the operation of theflash memory 206, or the host-sidetemporary storage space 218 is used to aggregate the write data sent by thehost 204, and then program the data to the third-level storage unit TLCs Blocks, etc., all belong to the scope of the present invention. The present invention can further realize the control method of non-volatile memory with the aforementioned concept.

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed as above in the preferred embodiment, it is not intended to limit the present invention. Anyone familiar with the art can make some changes and modifications without departing from the spirit and scope of the present invention. Therefore, the present invention The scope of protection shall be subject to the scope of the attached patent application.

200:資料儲存系統;202:資料儲存裝置;204:主機;206:快閃記憶體;208:控制器;210:(讀/寫)資料暫存器;212:單階儲存單元區塊池;214:三階儲存單元區塊池;216:系統記憶體;218:主機端暫存空間;HMB_Tab:主機端暫存空間映射表;S402…S412、S502…S512:步驟。200: data storage system; 202: data storage device; 204: host; 206: flash memory; 208: controller; 210: (read/write) data register; 212: single-level storage unit block pool; 214: Three-tier storage unit block pool; 216: System memory; 218: Host-side temporary storage space; HMB_Tab: Host-side temporary storage space mapping table; S402...S412, S502...S512: Steps.

第1A圖與第1B圖分別對應單階儲存單元SLC與三階儲存單元TLC,其中以閘極浮動電子進行劃分,圖解不同邏輯意義下,存儲單元分布概率; 第2圖為根據本發明一種實施方式實現的一資料儲存系統200,包括一資料儲存裝置202以及一主機204; 第3圖圖解一主機端暫存空間映射表HMB_Tab,條列主機端暫存空間218的各儲存單元所儲存的資料之邏輯位址; 第4圖為流程圖,根據本發明一種實施方式圖解資料寫入方法的流程;且 第5圖為流程圖,根據本發明一種實施方式圖解資料讀取法的流程。Figures 1A and 1B correspond to single-level storage cells SLC and three-level storage cells TLC, respectively, in which gate floating electrons are used for division to illustrate the distribution probability of storage cells under different logic meanings; Figure 2 is an implementation according to the present invention Adata storage system 200 implemented in this way includes adata storage device 202 and ahost 204; Figure 3 illustrates a host-side temporary storage space mapping table HMB_Tab, which lists the data stored in each storage unit of the host-sidetemporary storage space 218 Figure 4 is a flowchart illustrating the flow of a data writing method according to an embodiment of the present invention; and Figure 5 is a flowchart illustrating the flow of a data reading method according to an embodiment of the present invention.

200:資料儲存系統200: data storage system

202:資料儲存裝置202: data storage device

204:主機204: Host

206:快閃記憶體206: flash memory

208:控制器208: Controller

210:資料暫存器210: Data register

212:單階儲存單元區塊池212: Single-level storage unit block pool

214:三階儲存單元區塊池214: Three-tier storage unit block pool

216:系統記憶體216: System memory

218:主機端暫存空間218: Host-side temporary storage space

Claims (18)

Translated fromChinese
一種資料儲存裝置,包括: 一非揮發式記憶體,包括單階儲存單元以及多階儲存單元;以及 一控制器,根據一主機之要求操作該非揮發式記憶體, 其中: 該控制器令該主機在該主機的一系統記憶體上規劃一主機端暫存空間; 該控制器令該主機要求的寫入資料暫存至該主機端暫存空間;且 該控制器不使用上述單階儲存單元,即把暫存於該主機端暫存空間的該寫入資料匯至上述多階儲存單元。A data storage device includes: a non-volatile memory including a single-level storage unit and a multi-level storage unit; and a controller for operating the non-volatile memory according to a host's request, wherein: the controller makes the host A host-side temporary storage space is planned on a system memory of the host; the controller makes the write data requested by the host be temporarily stored in the host-side temporary storage space; and the controller does not use the aforementioned single-level storage unit, That is, the written data temporarily stored in the temporary storage space of the host side is imported to the above-mentioned multi-level storage unit.如申請專利範圍第1項所述之資料儲存裝置,其中: 該控制器管理一映射表,條列該主機端暫存空間各儲存單元所儲存內容的邏輯位址; 根據該寫入資料的邏輯位址,該控制器查詢該映射表;且 該映射表載有該邏輯位址時,該控制器將該寫入資料覆寫至該主機端暫存空間儲存舊版本內容的位置。For the data storage device described in item 1 of the scope of patent application, wherein: the controller manages a mapping table listing the logical addresses of the contents stored in each storage unit of the host-side temporary storage space; according to the logic of writing data Address, the controller queries the mapping table; and when the mapping table contains the logical address, the controller overwrites the written data to the location of the host side temporary storage space to store the old version content.如申請專利範圍第2項所述之資料儲存裝置,其中: 該映射表未載有該邏輯位址時,該控制器以該主機端暫存空間的閒置空間暫存該寫入資料,並據以更新該映射表。For example, the data storage device described in item 2 of the scope of patent application, wherein: when the mapping table does not contain the logical address, the controller temporarily stores the written data in the idle space of the host-side temporary storage space, and according to To update the mapping table.如申請專利範圍第3項所述之資料儲存裝置,其中: 該主機端暫存空間上湊齊一定資料量的資料時,該控制器將該定資料量的資料自該主機端暫存空間匯至上述多階儲存單元,其間不使用上述單階儲存單元。For example, the data storage device described in item 3 of the scope of patent application, wherein: when a certain amount of data is collected in the host-side temporary storage space, the controller will import the certain amount of data from the host-side temporary storage space To the above-mentioned multi-level storage unit, the above-mentioned single-level storage unit is not used in the meantime.如申請專利範圍第4項所述之資料儲存裝置,其中: 該定資料量即上述多階儲存單元中由同一字線所控制的資料量。The data storage device described in item 4 of the scope of patent application, wherein: the fixed amount of data is the amount of data controlled by the same word line in the above-mentioned multi-level storage unit.如申請專利範圍第1項所述之資料儲存裝置,其中: 該控制器具有一讀/寫資料暫存器;且 該控制器自該主機端暫存空間取得該寫入資料後,將該寫入資料暫存於該讀/寫資料暫存器,再自該讀/寫資料暫存器匯入上述多階儲存單元。For the data storage device described in item 1 of the scope of patent application, wherein: the controller has a read/write data register; and after the controller obtains the written data from the host-side temporary storage space, the write Data is temporarily stored in the read/write data register, and then imported from the read/write data register to the above-mentioned multi-level storage unit.如申請專利範圍第6項所述之資料儲存裝置,其中: 接收到該主機指示該寫入資料的一寫入指令時,該控制器是將該寫入資料暫存至該讀/寫資料暫存器,再自該讀/寫資料暫存器匯至該主機端暫存器。For example, the data storage device described in item 6 of the scope of patent application, wherein: upon receiving a write command from the host instructing the write data, the controller temporarily stores the write data to the read/write data temporary And then import from the read/write data register to the host register.如申請專利範圍第1項所述之資料儲存裝置,其中: 該控制器管理一映射表,條列該主機端暫存空間各儲存單元所儲存內容的邏輯位址; 根據該主機要求的一讀取指令所指示的邏輯位址,該控制器查詢該映射表;且 該映射表載有該邏輯位址時,該控制器自該主機端暫存空間取得讀取資料,回應該主機。For the data storage device described in item 1 of the scope of patent application, wherein: the controller manages a mapping table listing the logical addresses of the contents stored in each storage unit of the host-side temporary storage space; first reading according to the host's request After fetching the logical address indicated by the command, the controller queries the mapping table; and when the mapping table contains the logical address, the controller obtains the read data from the host-side temporary storage space and responds to the host.如申請專利範圍第8項所述之資料儲存裝置,其中: 該控制器具有一讀/寫資料暫存器;且 該控制器將取自該主機端暫存空間的該讀取資料暫存至該讀/寫資料暫存器,以回應該主機。For the data storage device described in item 8 of the scope of patent application, wherein: the controller has a read/write data register; and the controller temporarily stores the read data taken from the host-side temporary storage space to the Read/write data register to respond to the host.一種非揮發式記憶體控制方法,包括: 根據一主機之要求操作一非揮發式記憶體,其中,該非揮發式記憶體包括單階儲存單元以及多階儲存單元; 令該主機在該主機的一系統記憶體上規劃一主機端暫存空間; 令該主機要求的寫入資料暫存至該主機端暫存空間;且 不使用上述單階儲存單元,即把暫存於該主機端暫存空間的該寫入資料匯至上述多階儲存單元。A non-volatile memory control method includes: operating a non-volatile memory according to a host's request, wherein the non-volatile memory includes a single-level storage unit and a multi-level storage unit; making the host be on a side of the host A host-side temporary storage space is planned on the system memory; the write data requested by the host is temporarily stored in the host-side temporary storage space; and the single-level storage unit is not used, the temporary storage is in the host-side temporary storage space The written data of is imported to the above-mentioned multi-level storage unit.如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括: 管理一映射表,條列該主機端暫存空間各儲存單元所儲存內容的邏輯位址; 根據該寫入資料的邏輯位址,查詢該映射表;且 該映射表載有該邏輯位址時,將該寫入資料覆寫至該主機端暫存空間儲存舊版本內容的位置。The non-volatile memory control method described in item 10 of the scope of patent application further includes: managing a mapping table listing the logical addresses of the contents stored in each storage unit of the host-side temporary storage space; according to the written data Query the mapping table; and when the mapping table contains the logical address, overwrite the written data to the location of the host-side temporary storage space to store the old version content.如申請專利範圍第11項所述之非揮發式記憶體控制方法,更包括: 該映射表未載有該邏輯位址時,以該主機端暫存空間的閒置空間暫存該寫入資料,並據以更新該映射表。For example, the non-volatile memory control method described in item 11 of the scope of patent application further includes: when the mapping table does not contain the logical address, temporarily storing the written data in an idle space of the host-side temporary storage space, And update the mapping table accordingly.如申請專利範圍第12項所述之非揮發式記憶體控制方法,更包括: 該主機端暫存空間上湊齊一定資料量的資料時,將該定資料量的資料自該主機端暫存空間匯至上述多階儲存單元,其間不使用上述單階儲存單元。For example, the non-volatile memory control method described in item 12 of the scope of patent application further includes: When a certain amount of data is collected in the temporary storage space of the host, the data of the specified amount of data is temporarily stored from the host The space is transferred to the above-mentioned multi-level storage unit, and the above-mentioned single-level storage unit is not used in the meantime.如申請專利範圍第13項所述之非揮發式記憶體控制方法,其中: 該定資料量即上述多階儲存單元中由同一字線所控制的資料量。The non-volatile memory control method described in item 13 of the scope of patent application, wherein: the fixed amount of data is the amount of data controlled by the same word line in the above-mentioned multi-level storage unit.如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括: 於裝置端提供一讀/寫資料暫存器;且 自該主機端暫存空間取得該寫入資料後,將該寫入資料暫存於該讀/寫資料暫存器,再自該讀/寫資料暫存器匯入上述多階儲存單元。The non-volatile memory control method described in item 10 of the scope of patent application further includes: providing a read/write data register on the device side; and after obtaining the written data from the host side temporary storage space, the The written data is temporarily stored in the read/write data register, and then imported from the read/write data register to the multi-level storage unit.如申請專利範圍第15項所述之非揮發式記憶體控制方法,其中: 根據該主機指示該寫入資料的一寫入指令,該寫入資料先暫存至該讀/寫資料暫存器,再自該讀/寫資料暫存器匯至該主機端暫存器。For example, the non-volatile memory control method described in item 15 of the scope of patent application, wherein: according to a write command of the host instructing the write data, the write data is temporarily stored in the read/write data register , And then import from the read/write data register to the host register.如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括: 管理一映射表,條列該主機端暫存空間各儲存單元所儲存內容的邏輯位址; 根據該主機要求的一讀取指令所指示的邏輯位址,查詢該映射表;且 該映射表載有該邏輯位址時,自該主機端暫存空間取得讀取資料,回應該主機。The non-volatile memory control method described in item 10 of the scope of patent application further includes: managing a mapping table listing the logical addresses of the contents stored in each storage unit of the temporary storage space on the host side; according to the requirements of the host A read command indicates the logical address to query the mapping table; and when the mapping table contains the logical address, the read data is obtained from the host-side temporary storage space and responds to the host.如申請專利範圍第17項所述之非揮發式記憶體控制方法,更包括: 於裝置端提供一讀/寫資料暫存器;且 將取自該主機端暫存空間的該讀取資料暫存至該讀/寫資料暫存器,以回應該主機。For example, the non-volatile memory control method described in item 17 of the scope of patent application further includes: providing a read/write data register on the device side; and temporarily storing the read data taken from the host side temporary storage space Save to the read/write data register to respond to the host.
TW108112760A2018-09-262019-04-11Data storage device and control method for non-volatile memoryTWI705328B (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
CN201910375972.1ACN110955384B (en)2018-09-262019-05-07Data storage device and non-volatile memory control method
US16/524,113US10991422B2 (en)2018-09-262019-07-28Data storage device using a host memory buffer for single-level cell storage and control method for non-volatile memory

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US201862736517P2018-09-262018-09-26
US62/736,5172018-09-26

Publications (2)

Publication NumberPublication Date
TW202013191A TW202013191A (en)2020-04-01
TWI705328Btrue TWI705328B (en)2020-09-21

Family

ID=71130426

Family Applications (2)

Application NumberTitlePriority DateFiling Date
TW108112760ATWI705328B (en)2018-09-262019-04-11Data storage device and control method for non-volatile memory
TW108112761ATWI710893B (en)2018-09-262019-04-11Data storage device and control method for non-volatile memory

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
TW108112761ATWI710893B (en)2018-09-262019-04-11Data storage device and control method for non-volatile memory

Country Status (1)

CountryLink
TW (2)TWI705328B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
TWI841494B (en)*2023-10-022024-05-01慧榮科技股份有限公司Method for performing data access control of memory device, and associated apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101464834A (en)*2007-12-192009-06-24群联电子股份有限公司Flash memory data writing method and controller using same
CN101483067A (en)*2008-01-112009-07-15群联电子股份有限公司Flash memory data writing method and flash memory controller thereof
TW201030521A (en)*2009-02-102010-08-16Phison Electronics CorpMulti level cell NAND flash memory storage system, and controller and accessing method thereof
US20130322169A1 (en)*2012-05-312013-12-05Seagate Technology LlcMulti-level cell (mlc) update with protected mode capability
US20180121128A1 (en)*2016-10-272018-05-03Micron Technology, Inc.Apparatuses and methods for single level cell caching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7633800B2 (en)*2007-08-082009-12-15Atmel CorporationRedundancy scheme in memory
TWI534618B (en)*2015-07-132016-05-21群聯電子股份有限公司Mapping table updating method, memory control circuit unit and memory storage device
TWI584291B (en)*2015-12-282017-05-21群聯電子股份有限公司Memory management method, memory control circuit unit and memory storage device
TWI615711B (en)*2017-03-282018-02-21群聯電子股份有限公司Data writing method, memory control circuit unit and memory storage apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101464834A (en)*2007-12-192009-06-24群联电子股份有限公司Flash memory data writing method and controller using same
CN101483067A (en)*2008-01-112009-07-15群联电子股份有限公司Flash memory data writing method and flash memory controller thereof
TW201030521A (en)*2009-02-102010-08-16Phison Electronics CorpMulti level cell NAND flash memory storage system, and controller and accessing method thereof
US20130322169A1 (en)*2012-05-312013-12-05Seagate Technology LlcMulti-level cell (mlc) update with protected mode capability
US20180121128A1 (en)*2016-10-272018-05-03Micron Technology, Inc.Apparatuses and methods for single level cell caching

Also Published As

Publication numberPublication date
TW202013187A (en)2020-04-01
TWI710893B (en)2020-11-21
TW202013191A (en)2020-04-01

Similar Documents

PublicationPublication DateTitle
CN110955384B (en)Data storage device and non-volatile memory control method
US10761780B2 (en)Memory system
KR102652694B1 (en)Zoned namespace limitation mitigation using sub block mode
TWI711926B (en)Memory system and method of operating the same
US10496334B2 (en)Solid state drive using two-level indirection architecture
US20190220396A1 (en)Data Storage Device
US20150347291A1 (en)Flash memory based storage system and operating method
US20170177469A1 (en)Storage system that performs host-initiated garbage collection
TW201308077A (en) Block management scheme in mixed unit-order memory cell (SLC)/multi-level memory cell (MLC) memory
CN109521944B (en)Data storage device and data storage method
US11556249B2 (en)Delaying random data relocation for reducing write amplification in storage devices
TWI718710B (en)Data storage device and non-volatile memory control method
US11334480B2 (en)Data storage device and non-volatile memory control method
TWI724483B (en)Data storage device and control method for non-volatile memory
CN111610931B (en) Data storage device and non-volatile memory control method
US11080203B2 (en)Data storage device and control method for non-volatile memory
US20220334747A1 (en)Very low sized zone support for storage devices
TWI705328B (en)Data storage device and control method for non-volatile memory
TWI724550B (en)Data storage device and non-volatile memory control method
CN103092771A (en)Solid state storage device and cache control method thereof
US20240370196A1 (en)Storage device and operating method of storage device
TWI766194B (en)Data storage device and non-volatile memory control method
US12254183B2 (en)Storage device including non-volatile memory device and operating method of storage device
KR20230115196A (en)Storage controller deallocating a memory block, method of operating the same, and a method of operating storage device having the same
CN118786417A (en) Generate multi-plane reads for pages to be read to read pages on planes of a storage die

[8]ページ先頭

©2009-2025 Movatter.jp